{"version":3,"sources":["webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/radar.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/Text.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_for-of.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axisPointer/SingleAxisPointer.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_ctx.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/utils.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/core/transformData.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/timeline/TimelineView.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/config.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/core/LRU.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_has.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/cancel/isCancel.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/contain/text.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/helper/RoamController.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/mixin/RectText.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/processor/dataSample.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/graph/adjustEdge.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/shape/Sector.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/geo/Region.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoom/typeDefaulter.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/model/Series.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/visual/symbol.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoom/history.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/timeline/timelineAction.js","webpack:///./node_modules/_echarts-gl@1.1.1@echarts-gl/dist/echarts-gl.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/sunburst/sunburstLayout.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_species-constructor.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/tooltip/TooltipModel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/visual/visualSolution.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/parallelAxis.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/animation/requestAnimationFrame.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/animation/Animation.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/lang.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/core/InterceptorManager.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/lines/linesLayout.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/scatter.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/LinePath.js","webpack:///./node_modules/_is-buffer@2.0.3@is-buffer/index.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/bar.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/parallel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/map/js/china.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/custom.js","webpack:///./node_modules/_lodash@4.17.15@lodash/debounce.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/calendar/CalendarModel.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/helper/image.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/funnel/FunnelView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/LargeLineDraw.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/svg/core.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/labelHelper.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_iterators.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/graph/circularLayoutHelper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/visualMap/ContinuousView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/marker/MarkerModel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/legendScroll.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/marker/MarkLineModel.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/core/Axios.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/constant.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/core/enhanceError.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/helper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/legend/LegendView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/timeline/SliderTimelineView.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/util/component.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/sunburst/SunburstPiece.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/boxplot/BoxplotView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axis/RadiusAxisView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/toolbox/ToolboxModel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/radar/radarLayout.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/brush/BrushView.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/core/log.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/radar/Radar.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_regexp-exec.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/geo/Geo.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/graph/circularLayout.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/Gradient.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axis/AxisView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/markLine.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_object-assign.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/svg/helper/Definable.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/vml/graphic.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/export.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/polar/RadiusAxis.js","webpack:///./node_modules/_echarts@4.2.1@echarts/index.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/cartesian/cartesianAxisHelper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/radar/IndicatorAxis.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_html.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/animation/Animator.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/themeRiver/themeRiverLayout.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/theme/light.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/svg/svg.js","webpack:///./node_modules/_lodash@4.17.15@lodash/_getRawTag.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/core/vector.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/effectScatter.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/helpers/bind.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/cartesian/prepareCustom.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/title.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/model/mixin/areaStyle.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/contain/line.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/SymbolDraw.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/helper/BrushController.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/model/mixin/dataFormat.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/timeline/preprocessor.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/data/OrdinalMeta.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/scale/Ordinal.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/calendar/Calendar.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/data/helper/completeDimensions.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/vml/Painter.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_own-keys.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_string-at.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/helper/smoothBezier.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/core/curve.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/CoordinateSystem.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoom/helper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/treemap/treemapLayout.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/action/createDataSelectAction.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/Style.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/boxplot/boxplotLayout.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoom/SelectZoomModel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/timeline/typeDefaulter.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/graph/categoryVisual.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/lines/LinesView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/effectScatter/EffectScatterSeries.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/parallel/parallelCreator.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/radiusAxis.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axisPointer/CartesianAxisPointer.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/gridSimple.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_global.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/geo/fix/nanhai.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/preprocessor/helper/compatStyle.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/graph/graphAction.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/geo/prepareCustom.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/calendar/prepareCustom.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/stream/task.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/Symbol.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/radar/RadarView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/treeHelper.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_to-iobject.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/axisHelper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/singleAxis.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/toolbox/feature/DataView.js","webpack:///./node_modules/_vue-router@3.0.7@vue-router/dist/vue-router.esm.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/legend/legendAction.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/line.js","webpack:///./node_modules/_layui-src@2.5.4@layui-src/dist/layui.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/config.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/core/util.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/markPoint.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoom/SliderZoomModel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/util/layout.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/tool/path.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/Painter.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/visual/VisualMapping.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/sunburst/SunburstSeries.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/brush/visualEncoding.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/helpers/combineURLs.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/action/roamHelper.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/es6.object.is.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axisPointer/findPointFromSeries.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/parallel/ParallelModel.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/core/matrix.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/radar.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/timeline.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/stream/Scheduler.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/treemap/treemapAction.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/helper/BrushTargetManager.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/parallel/parallelPreprocessor.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/Path.js","webpack:///./node_modules/_lodash@4.17.15@lodash/isObjectLike.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/helper/listComponent.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoom/SliderZoomView.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_object-gpo.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/scale/Log.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/legend/ScrollableLegendModel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/parallel/ParallelView.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_classof.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/radar/RadarView.js","webpack:///./node_modules/_lodash@4.17.15@lodash/_freeGlobal.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/map/MapView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/map/mapDataStatistic.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_same-value.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/calendar.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/contain/quadratic.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/geo/geoJSONLoader.js","webpack:///./node_modules/_process@0.11.10@process/browser.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/createListFromArray.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/core/arrayDiff2.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/bar/PictorialBarView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/whiskerBoxCommon.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/core/timsort.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/radar/RadarSeries.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/data/Source.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/heatmap/HeatmapLayer.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/visualMap/preprocessor.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/tree.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_to-primitive.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/brush/BrushModel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/timeline/TimelineModel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/toolbox/ToolboxView.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_new-promise-capability.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/sankey/SankeyView.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/shape/Circle.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/parallel/Parallel.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/themeRiver.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/layout/barGrid.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/lines/linesVisual.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/radar/RadarModel.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/svg/helper/GradientManager.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/pie/labelLayout.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/ExtensionAPI.js","webpack:///./node_modules/_vuex@3.1.1@vuex/dist/vuex.esm.js","webpack:///./node_modules/_vue-echarts@4.0.3@vue-echarts/components/ECharts.vue?aedc","webpack:///./node_modules/_resize-detector@0.1.10@resize-detector/esm/index.js","webpack:///node_modules/_vue-echarts@4.0.3@vue-echarts/components/ECharts.vue","webpack:///./node_modules/_vue-echarts@4.0.3@vue-echarts/components/ECharts.vue?023a","webpack:///./node_modules/_vue-echarts@4.0.3@vue-echarts/components/ECharts.vue","webpack:///./node_modules/_axios@0.18.1@axios/lib/helpers/cookies.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/polar/polarCreator.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/theme/dark.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/brush/brushAction.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_promise-resolve.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/geo/fix/geoCoord.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_iter-detect.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/core/PathProxy.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axisPointer/AxisPointerView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/gauge/GaugeView.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/contain/cubic.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/geo/GeoModel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/marker/MarkPointModel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/themeRiver/ThemeRiverSeries.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/contain/path.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_to-absolute-index.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/helpers/spread.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/graph/forceLayout.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoom/SelectZoomView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axisPointer/viewHelper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/processor/dataStack.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_fix-re-wks.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/calendar/CalendarView.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_iobject.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_a-function.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoom/roams.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/polar/AngleAxis.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/graph.js","webpack:///./node_modules/_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/marker/MarkLineView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/candlestick.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/Image.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axis/SingleAxisView.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/tool/color.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/bar/BarView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/model/mixin/colorPalette.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/geo/fix/textCoord.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/legend/ScrollableLegendView.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/es6.promise.js","webpack:///./node_modules/_vue@2.6.10@vue/dist/vue.runtime.esm.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/scatter/ScatterSeries.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/dom/HandlerProxy.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/sunburst.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/axisTickLabelBuilder.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_iter-create.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/line/lineAnimationDiff.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/visualMap/typeDefaulter.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/legend/LegendModel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/funnel/funnelLayout.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/es6.function.name.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoomSelect.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/util/graphic.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoom.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_hide.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/IncrementalDisplayable.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/helper/MapDraw.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/candlestick/CandlestickView.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_iter-define.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoom/DataZoomView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axisPointer/PolarAxisPointer.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/model/globalDefault.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/data/helper/dataProvider.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/heatmap.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/pie/PieView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/tree/traversalHelper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/map/backwardCompat.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/Element.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/tooltip/TooltipContent.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/cancel/Cancel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/graph/GraphSeries.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/sankey/sankeyAction.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/funnel.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/shape/Polygon.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/LinearGradient.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_property-desc.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/vml/vml.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/data/DataDiffer.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/markArea.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/visualMapPiecewise.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/Handler.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/bar/BarSeries.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/geo/parseGeoJson.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/marker/MarkerView.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/_lodash@4.17.15@lodash/_root.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/loading/default.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/tooltip/TooltipRichContent.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_user-agent.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/timeline/TimelineAxis.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/geo.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/legend/legendFilter.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/tree/layoutHelper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/map/MapSeries.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/data/helper/dataStackHelper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/graphic.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/pie/pieLayout.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/shape/BezierCurve.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/bar/BaseBarSeries.js","webpack:///./node_modules/_@babel_runtime@7.5.5@@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/_@babel_runtime@7.5.5@@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/_@babel_runtime@7.5.5@@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/_@babel_runtime@7.5.5@@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/map/mapVisual.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_invoke.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/svg/helper/ShadowManager.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/contain/arc.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_is-object.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/data/helper/createDimensions.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/sankey.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/LineDraw.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/themeRiver/themeRiverVisual.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/data/helper/sourceType.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_wks.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/visualMap/PiecewiseView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/cartesian/GridModel.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_iter-call.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/scatter/ScatterView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/model/OptionManager.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/single/SingleAxis.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/pictorialBar.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/visualMap/helper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/bar/PictorialBarSeries.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/model/referHelper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/visual/aria.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/model/Model.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/axisModelCommonMixin.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/scale/Scale.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axisPointer/globalListener.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/candlestick/candlestickLayout.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/shape/Line.js","webpack:///./node_modules/_lodash@4.17.15@lodash/isSymbol.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/mixin/Draggable.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/View.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/bar/barItemStyle.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/toolbox/feature/Restore.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_cof.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/cartesian/Grid.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/Storage.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/core/bbox.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/visualMap/PiecewiseModel.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/es6.object.assign.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/zrender.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axis/CartesianAxisView.js","webpack:///./node_modules/_lodash@4.17.15@lodash/now.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/core/dispatchRequest.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/toolbox/feature/MagicType.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/single/AxisModel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/graph/createView.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/helper/fixShadow.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/data/helper/linkList.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/Line.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axis/AxisBuilder.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/candlestick/CandlestickSeries.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/heatmap/HeatmapView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/visualMap/VisualMapView.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/contain/windingLine.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/gauge/PointerPath.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/svg/graphic.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/bar/helper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/tooltip.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/sunburst/SunburstView.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/helpers/buildURL.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/visual/visualDefault.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/util/clazz.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axisPointer/AxisPointerModel.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_uid.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_microtask.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoom/AxisProxy.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_array-includes.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/helper/sliderMove.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_an-object.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/util/number.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/gauge/GaugeSeries.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/single/singleCreator.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/geo/geoSVGLoader.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/visualMap/visualMapAction.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/contain/util.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/axios.js","webpack:///./node_modules/_lodash@4.17.15@lodash/_objectToString.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axisPointer.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/util/format.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/model/mixin/lineStyle.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/container/Group.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/brush/selector.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/map.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axis.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoom/InsideZoomView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/grid.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axisPointer/BaseAxisPointer.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/defaults.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/visualMap/ContinuousModel.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_core.js","webpack:///./node_modules/_@babel_runtime@7.5.5@@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/sankey/sankeyVisual.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/CompoundPath.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_object-create.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_object-gopn.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/legend.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/sankey/SankeySeries.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataset.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axis/parallelAxisAction.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/treemap/Breadcrumb.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/line/poly.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_object-gopd.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/shape/Ring.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/cartesian/Cartesian2D.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/tree/treeAction.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/shape/Polyline.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/treemap.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_shared.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/Displayable.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/EffectLine.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/scale/Time.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/data/Graph.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoom/DataZoomModel.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_advance-string-index.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_to-length.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/mixin/Transformable.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/themeRiver/ThemeRiverView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/axisModelCreator.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/marker/MarkPointView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/candlestick/preprocessor.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/timeline/SliderTimelineModel.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/helper/poly.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_export.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/model/mixin/makeStyleMapper.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/vml/core.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/model/mixin/itemStyle.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/visualMap/VisualMapModel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/visualMap/visualEncoding.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_fails.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/parallel/parallelVisual.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/geo/geoCreator.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/tool/transformPath.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/graph/simpleLayoutHelper.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/RadialGradient.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axisPointer/modelHelper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/cartesian/AxisModel.js","webpack:///./node_modules/_lodash@4.17.15@lodash/_Symbol.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/parallel/ParallelAxis.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/echarts.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/model/mixin/textStyle.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/brush.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/marker/MarkAreaView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/helper/cursorHelper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/single/Single.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/core/event.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/view/Chart.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/axisDefault.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/tool/parseSVG.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/graph/forceHelper.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_object-dps.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/single/singleAxisHelper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/treemap/TreemapSeries.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/legend/scrollableLegendAction.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/core/guid.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_to-integer.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/helper/interactionMutex.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/mixin/Eventful.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/data/helper/sourceHelper.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_set-species.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/data/Tree.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/geo/GeoView.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/core/GestureMgr.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/scale/helper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/util/symbol.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/util/model.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/Layer.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/boxplot/BoxplotSeries.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_is-array-iter.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/toolbox/feature/SaveAsImage.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/polar/Polar.js","webpack:///./node_modules/_lodash@4.17.15@lodash/_baseGetTag.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/helper/text.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/lines.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_library.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/createRenderPlanner.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/core/settle.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/parallel/AxisModel.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/core/createError.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/visual/dataColor.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/scale/Interval.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/focusNodeAdjacencyAction.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/geo/geoSourceManager.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/core/env.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_object-keys.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/data/List.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/cancel/CancelToken.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/data/helper/dimensionHelper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/processor/dataFilter.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/funnel/FunnelSeries.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/util/throttle.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_task.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_object-pie.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoom/InsideZoomModel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/polar/AxisModel.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/tooltip/TooltipView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/createGraphFromNodeEdge.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/shape/Arc.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/model/mixin/boxLayout.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/lines/LinesSeries.js","webpack:///./node_modules/_vue-echarts@4.0.3@vue-echarts/components/ECharts.vue?f5f1","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/toolbox/featureManager.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/tree/TreeView.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_an-instance.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/polar/prepareCustom.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/contain/polygon.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/polar.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/createListSimply.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/marker/markerHelper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/effectScatter/EffectScatterView.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/es6.array.iterator.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_descriptors.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/brush/preprocessor.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/helper/selectableMixin.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_function-to-string.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/angleAxis.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_to-object.js","webpack:///./node_modules/_lodash@4.17.15@lodash/isObject.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/shape/Ellipse.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/util/animation.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/visualMap.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/candlestick/candlestickVisual.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/tree/treeLayout.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/helper/fixClipWithShadow.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_object-dp.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/treemap/treemapVisual.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/es7.promise.finally.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_shared-key.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/Axis.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/boxplot/boxplotVisual.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/LargeSymbolDraw.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/gauge.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/marker/MarkAreaModel.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/mixin/Animatable.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/model/Global.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/preprocessor/backwardCompat.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/helper/brushHelper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoom/dataZoomAction.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/tree/TreeSeries.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_dom-create.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/radar/backwardCompat.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/helper/smoothSpline.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/Pattern.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/EffectSymbol.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/boxplot.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_perform.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/svg/helper/ClippathManager.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/toolbox.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/cartesian/Axis2D.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_redefine.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_iter-step.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/svg/Painter.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/polar/PolarModel.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/shape/Rect.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/line/LineView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axisPointer/axisTrigger.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/map/mapSymbolLayout.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/line/helper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/layout/points.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/layout/barPolar.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/EffectPolyline.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axis/AngleAxisView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/toolbox/feature/DataZoom.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/sunburst/sunburstAction.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/core/BoundingRect.js","webpack:///./node_modules/_axios@0.18.1@axios/lib/adapters/xhr.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/helper/roamHelper.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/view/Component.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/heatmap/HeatmapSeries.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/cartesian/Cartesian.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_defined.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/graph/simpleLayout.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/animation/easing.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_redefine-all.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/visualMapContinuous.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/sankey/sankeyLayout.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/toolbox/feature/Brush.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_flags.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/geo/mapDataStorage.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/pie.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_create-property.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/line/LineSeries.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/pie/PieSeries.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/action/geoRoam.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/treemap/TreemapView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/graph/GraphView.js","webpack:///./node_modules/_axios@0.18.1@axios/index.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/web.dom.iterable.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_object-gops.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/parallel/ParallelSeries.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/graph/edgeVisual.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/single/prepareCustom.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/animation/Clip.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/parallel.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_object-sap.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/visual/seriesColor.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/es6.object.keys.js","webpack:///./node_modules/_core-js@2.6.9@core-js/modules/_object-keys-internal.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/graph/categoryFilter.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/axis/ParallelAxisView.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/coord/geo/fix/diaoyuIsland.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/model/Component.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/chart/helper/Polyline.js","webpack:///./node_modules/_lodash@4.17.15@lodash/toNumber.js","webpack:///./node_modules/_echarts@4.2.1@echarts/lib/component/dataZoom/dataZoomProcessor.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/helper/subPixelOptimize.js","webpack:///./node_modules/_zrender@4.0.7@zrender/lib/graphic/helper/roundRect.js"],"names":["echarts","__webpack_require__","dataColor","visualSymbol","radarLayout","dataFilter","backwardCompat","registerVisual","registerLayout","registerProcessor","registerPreprocessor","Displayable","zrUtil","textContain","textHelper","_constant","ContextCachedBy","Text","opts","call","this","prototype","constructor","type","brush","ctx","prevEl","style","__dirty","normalizeTextStyle","fill","stroke","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","text","needDrawText","setTransform","renderText","restoreTransform","__attrCachedBy","NONE","getBoundingRect","_rect","rect","font","textAlign","textVerticalAlign","textPadding","textLineHeight","rich","x","y","getStroke","textStroke","textStrokeWidth","w","width","height","inherits","_default","module","exports","isArrayIter","anObject","toLength","getIterFn","BREAK","RETURN","iterable","entries","fn","that","ITERATOR","length","step","iterator","result","iterFn","f","index","TypeError","next","done","value","graphic","BaseAxisPointer","viewHelper","singleAxisHelper","AxisView","XY","WH","SingleAxisPointer","extend","makeElOption","elOption","axisModel","axisPointerModel","api","axis","coordSys","coordinateSystem","otherExtent","getGlobalExtent","getPointDimIndex","pixelValue","dataToPoint","axisPointerType","get","elStyle","buildElStyle","pointerOption","pointerShapeBuilder","graphicKey","pointer","layoutInfo","layout","buildCartesianSingleLabelElOption","getHandleTransform","labelInside","labelMargin","position","getTransformedPosition","rotation","labelDirection","Math","PI","updateHandleTransform","transform","delta","dimIndex","axisExtent","currPosition","min","max","cursorOtherValue","cursorPoint","tooltipOption","verticalAlign","line","targetShape","makeLineShape","subPixelOptimizeLine","shape","shadow","bandWidth","getBandWidth","span","makeRectShape","isHorizontal","getRect","registerAxisPointerClass","aFunction","undefined","a","b","c","apply","arguments","bind","isBuffer","toString","Object","isArray","val","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isObject","isDate","isFile","isBlob","isFunction","isStream","pipe","isURLSearchParams","URLSearchParams","trim","str","replace","isStandardBrowserEnv","navigator","product","window","document","forEach","obj","i","l","key","hasOwnProperty","merge","assignValue","thisArg","utils","data","headers","fns","ComponentView","dpr","devicePixelRatio","debugMode","LinkedList","head","tail","_len","linkedListProto","insert","entry","Entry","insertEntry","prev","remove","len","clear","LRU","maxSize","_list","_map","_maxSize","_lastRemovedEntry","LRUProto","put","list","map","removed","leastUsedEntry","it","__CANCEL__","BoundingRect","imageHelper","_util","getContext","retrieve2","retrieve3","textWidthCache","textWidthCacheCounter","TEXT_CACHE_MAX","STYLE_REG","DEFAULT_FONT","methods","$override","name","getWidth","textLines","split","measureText","truncate","getRichTextRect","getPlainTextRect","contentBlock","parsePlainText","outerWidth","outerHeight","adjustTextX","adjustTextY","lineHeight","parseRichText","adjustTextPositionOnRect","textPosition","distance","halfHeight","truncateText","containerWidth","ellipsis","options","prepareTruncateOptions","truncateSingleLine","join","maxIterations","minChar","cnCharWidth","ascCharWidth","placeholder","contentWidth","ellipsisWidth","textLine","lineWidth","j","subLength","estimateLength","floor","substr","charCode","charCodeAt","getLineHeight","padding","lines","truncOuterHeight","truncOuterWidth","lastIndex","exec","matchedIndex","pushTokens","substring","contentHeight","pendingList","stlPadding","truncateWidth","truncateHeight","tokens","token","tokenStyle","styleName","tokenHeight","textHeight","textWidth","tokenWidth","tokenWidthNotSpecified","charAt","percentWidth","push","textBackgroundColor","bgImg","image","findExistImage","isImageReady","paddingW","remianTruncWidth","parseInt","block","isEmptyStr","strs","isLineHolder","tokensLen","makeFont","fontSize","fontFamily","fontStyle","fontWeight","textFont","Eventful","eventTool","interactionMutex","RoamController","zr","pointerChecker","_zr","_opt","mousedownHandler","mousedown","mousemoveHandler","mousemove","mouseupHandler","mouseup","mousewheelHandler","mousewheel","pinchHandler","pinch","setPointerChecker","enable","controlType","opt","disable","defaults","clone","zoomOnMouseWheel","moveOnMouseMove","moveOnMouseWheel","preventDefaultMouseMove","on","off","dispose","isDragging","_dragging","isPinching","_pinching","e","isMiddleOrRightButtonOnMouseUpDown","target","draggable","offsetX","offsetY","_x","_y","isAvailableBehavior","gestureEvent","isTaken","oldX","oldY","dx","dy","stop","event","trigger","newX","newY","shouldZoom","shouldMove","wheelDelta","absWheelDeltaDelta","abs","originX","originY","factor","scale","checkPointerAndTrigger","absDelta","scrollDelta","pinchScale","pinchX","pinchY","controller","eventName","behaviorToCheck","contollerEvent","settings","setting","mixin","WILL_BE_RESTORED","tmpRect","RectText","drawRectText","textRect","save","transformText","copy","applyTransform","restore","samplers","average","frame","sum","count","isNaN","NaN","Infinity","isFinite","nearest","indexSampler","round","seriesType","modifyOutputEnd","reset","seriesModel","ecModel","getData","sampling","sampler","baseAxis","getBaseAxis","valueAxis","getOtherAxis","extent","getExtent","size","rate","setData","downSample","mapDimension","dim","curveTool","vec2","v1","v2","v3","quadraticAt","v2DistSquare","distSquare","mathAbs","intersectCurveCircle","curvePoints","center","radius","t","p0","p1","p2","d","radiusSquare","interval","_t","diff","nextDiff","graph","tmp0","quadraticSubdivide","pts","pts2","v","getSymbolSize","node","symbolSize","getVisual","Array","eachEdge","edge","idx","linePoints","getLayout","fromSymbol","toSymbol","__original","originalPoints","node1","node2","sub","normalize","scaleAndAdd","Path","fixClipWithShadow","cx","cy","r0","r","startAngle","endAngle","clockwise","buildPath","unitX","cos","unitY","sin","moveTo","lineTo","arc","closePath","bbox","polygonContain","Region","geometries","cp","properties","MAX_NUMBER","Number","MAX_VALUE","min2","max2","exterior","fromPoints","contain","coord","loopGeo","interiors","k","transformTo","aspect","calculateTransform","p","h","cloneShallow","newRegion","Component","registerSubTypeDefaulter","_config","__DEV__","env","_format","formatTime","encodeHTML","addCommas","getTooltipMarker","modelUtil","ComponentModel","colorPaletteMixin","dataFormatMixin","_layout","getLayoutParams","mergeLayoutParam","_task","createTask","_sourceHelper","prepareSource","getSource","_dataProvider","retrieveRawValue","inner","makeInner","SeriesModel","seriesIndex","defaultOption","legendDataProvider","visualColorAccessPath","layoutMode","init","option","parentModel","extraOpt","componentIndex","dataTask","dataTaskCount","dataTaskReset","context","model","mergeDefaultAndTheme","getInitialData","wrapData","dataBeforeProcessed","autoSeriesName","inputPositionParams","themeSubType","subType","hasClass","getTheme","getDefaultOption","defaultEmphasis","fillDataTextStyle","mergeOption","newSeriesOption","dirty","isTypedArray","props","label","appendData","params","getRawData","dataType","task","getCurrentTask","getLinkedData","setOutputEnd","outputData","formatTooltip","dataIndex","multipleSeries","renderMode","series","newLine","isRichText","markers","markerId","formatArrayValue","vertially","reduce","dimItem","getDimensionInfo","tooltip","displayName","setEachItem","dimInfo","otherDims","dimType","markName","dimHead","color","dimHeadStr","content","valStr","tooltipDims","each","formatSingleValue","tooltipDimLen","getRawValue","isValueArr","getItemVisual","colorStops","formattedValue","colorEl","getName","seriesName","isNameSpecified","colorStr","html","isAnimationEnabled","animationEnabled","getShallow","restoreData","getColorFromPalette","scope","requestColorNum","coordDimToDataDim","coordDim","getProgressive","getProgressiveThreshold","getAxisTooltipData","getTooltipPosition","pipeTask","preventIncremental","pipelineContext","getSeriesAutoName","dataDims","nameArr","dataDim","dataTaskProgress","param","end","CHANGABLE_METHODS","methodName","wrapMethod","curry","onDataSelfChange","scheduler","pipeline","getPipeline","uid","currentTask","agentStubMap","defaultSymbolType","legendSymbol","performRawSeries","symbolType","keepAspect","setVisual","symbol","symbolKeepAspect","isSeriesFiltered","hasCallback","dataEach","hasItemOption","rawValue","getDataParams","setItemVisual","itemModel","getItemModel","itemSymbolType","itemSymbolSize","itemSymbolKeepAspect","ATTR","newSnapshot","store","giveStore","batchItem","dataZoomId","snapshot","dataZoomModel","queryComponents","mainType","id","percentRange","getPercentRange","start","pop","registerAction","update","payload","timelineModel","getComponent","currentIndex","setCurrentIndex","isIndexMax","setPlayState","resetOption","playState","root","factory","__WEBPACK_EXTERNAL_MODULE_0__","modules","installedModules","moduleId","m","getter","o","defineProperty","configurable","enumerable","n","__esModule","object","property","s","__webpack_exports__","__WEBPACK_IMPORTED_MODULE_0_claygl_src_Mesh__","__WEBPACK_IMPORTED_MODULE_1_claygl_src_Renderer__","__WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture2D__","__WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__","__WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__","__WEBPACK_IMPORTED_MODULE_5_claygl_src_Material__","__WEBPACK_IMPORTED_MODULE_6_claygl_src_Node__","__WEBPACK_IMPORTED_MODULE_7_claygl_src_Geometry__","__WEBPACK_IMPORTED_MODULE_8_echarts_lib_echarts__","__WEBPACK_IMPORTED_MODULE_8_echarts_lib_echarts___default","__WEBPACK_IMPORTED_MODULE_9_claygl_src_Scene__","__WEBPACK_IMPORTED_MODULE_10_zrender_lib_core_LRU__","__WEBPACK_IMPORTED_MODULE_10_zrender_lib_core_LRU___default","__WEBPACK_IMPORTED_MODULE_11_claygl_src_util_texture__","__WEBPACK_IMPORTED_MODULE_12__EChartsSurface__","__WEBPACK_IMPORTED_MODULE_13_claygl_src_light_AmbientCubemap__","__WEBPACK_IMPORTED_MODULE_14_claygl_src_light_AmbientSH__","__WEBPACK_IMPORTED_MODULE_15_claygl_src_util_sh__","__WEBPACK_IMPORTED_MODULE_16__retrieve__","__WEBPACK_IMPORTED_MODULE_17_claygl_src_geometry_Sphere__","__WEBPACK_IMPORTED_MODULE_18_claygl_src_geometry_Plane__","__WEBPACK_IMPORTED_MODULE_19_claygl_src_geometry_Cube__","__WEBPACK_IMPORTED_MODULE_20_claygl_src_light_Ambient__","__WEBPACK_IMPORTED_MODULE_21_claygl_src_light_Directional__","__WEBPACK_IMPORTED_MODULE_22_claygl_src_light_Point__","__WEBPACK_IMPORTED_MODULE_23_claygl_src_light_Spot__","__WEBPACK_IMPORTED_MODULE_24_claygl_src_camera_Perspective__","__WEBPACK_IMPORTED_MODULE_25_claygl_src_camera_Orthographic__","__WEBPACK_IMPORTED_MODULE_26_claygl_src_math_Vector2__","__WEBPACK_IMPORTED_MODULE_27_claygl_src_math_Vector3__","__WEBPACK_IMPORTED_MODULE_28_claygl_src_math_Vector4__","__WEBPACK_IMPORTED_MODULE_29_claygl_src_math_Quaternion__","__WEBPACK_IMPORTED_MODULE_30_claygl_src_math_Matrix2__","__WEBPACK_IMPORTED_MODULE_31_claygl_src_math_Matrix2d__","__WEBPACK_IMPORTED_MODULE_32_claygl_src_math_Matrix3__","__WEBPACK_IMPORTED_MODULE_33_claygl_src_math_Matrix4__","__WEBPACK_IMPORTED_MODULE_34_claygl_src_math_Plane__","__WEBPACK_IMPORTED_MODULE_35_claygl_src_math_Ray__","__WEBPACK_IMPORTED_MODULE_36_claygl_src_math_BoundingBox__","__WEBPACK_IMPORTED_MODULE_37_claygl_src_math_Frustum__","__WEBPACK_IMPORTED_MODULE_38__animatableMixin__","__WEBPACK_IMPORTED_MODULE_39_claygl_src_shader_source_util_glsl_js__","__WEBPACK_IMPORTED_MODULE_40_claygl_src_shader_source_prez_glsl_js__","__WEBPACK_IMPORTED_MODULE_41__shader_common_glsl_js__","__WEBPACK_IMPORTED_MODULE_42__shader_color_glsl_js__","__WEBPACK_IMPORTED_MODULE_43__shader_lambert_glsl_js__","__WEBPACK_IMPORTED_MODULE_44__shader_realistic_glsl_js__","__WEBPACK_IMPORTED_MODULE_45__shader_hatching_glsl_js__","__WEBPACK_IMPORTED_MODULE_46__shader_shadow_glsl_js__","isValueNone","isValueImage","HTMLCanvasElement","HTMLImageElement","Image","isECharts","getZr","setOption","util","import","oldAddToScene","addToScene","oldRemoveFromScene","removeFromScene","__zr","traverse","child","addAnimatorsToZr","removeAnimatorsFromZr","setTextureImage","textureName","imgValue","textureOpts","shader","texture","material","autoUpdateTextureStatus","disableTexture","graphicGL","loadTexture","enableTexture","refresh","set","Renderer","Node","Mesh","Shader","Material","Texture","Texture2D","Geometry","SphereGeometry","PlaneGeometry","CubeGeometry","AmbientLight","DirectionalLight","PointLight","SpotLight","PerspectiveCamera","OrthographicCamera","Vector2","Vector3","Vector4","Quaternion","Matrix2","Matrix2d","Matrix3","Matrix4","Plane","Ray","BoundingBox","Frustum","blankImage","createBlank","nearestPowerOfTwo","pow","log","LN2","convertTextureToPowerOfTwo","wrapS","REPEAT","wrapT","canvas","createElement","drawImage","cb","keys","sort","prefix","textureCache","__textureCache","__textureid__","textureObj","surface","setECharts","onupdate","getTexture","__uid__","callbacks","match","exposure","fileType","originalImage","onload","src","createAmbientCubemap","renderer","textureUrl","firstNotNull","ambientCubemap","intensity","specularIntensity","ambientSH","diffuseIntensity","coefficients","cubemap","flipY","time","Date","now","prefilter","dTime","console","projectEnvironmentMap","lod","specular","diffuse","createBlankTexture","isImage","additiveBlend","gl","blendEquation","FUNC_ADD","blendFunc","SRC_ALPHA","ONE","parseColor","rgba","parse","directionFromAlphaBeta","alpha","beta","theta","phi","dir","getShadowResolution","shadowQuality","shadowResolution","COMMON_SHADERS","createShader","vertexShaderStr","source","fragmentShaderStr","error","createMaterial","defines","defineName","define","setMaterialFromModel","shading","materialModel","getModel","detailTexture","uvRepeat","uvOffset","repeatParam","CLAMP_TO_EDGE","textureOpt","anisotropic","roughness","metalness","normalTextureVal","detailUvRepeat","detailUvOffset","tams","updateVertexAnimation","mappingAttributes","previousMesh","currentMesh","enableAnimation","duration","easing","shadowDepthMaterial","geometry","vertexCount","ignorePreZ","attributes","__percent","stopAnimation","animate","when","during","undefine","__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__","__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default","retrieve","queryDataIndex","dataIndexInside","indexOfRawIndex","indexOfName","__WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__","z","array","fromValues","_dirty","add","setArray","arr","cross","dist","div","divide","dot","lerp","mul","multiply","negate","random","sqrDist","squaredDistance","sqrLen","squaredLength","subtract","transformMat3","transformMat4","transformQuat","q","applyProjection","eulerFromQuat","order","eulerFromMat3","toArray","slice","proto","clamp","out","atan2","asin","x2","y2","z2","w2","toUpperCase","warn","te","m11","m12","m13","m21","m22","m23","m31","m32","m33","defineProperties","POSITIVE_X","NEGATIVE_X","POSITIVE_Y","NEGATIVE_Y","POSITIVE_Z","NEGATIVE_Z","UP","ZERO","__WEBPACK_IMPORTED_MODULE_0__core_Base__","__WEBPACK_IMPORTED_MODULE_1__core_glenum__","__WEBPACK_IMPORTED_MODULE_2__core_Cache__","UNSIGNED_BYTE","format","RGBA","minFilter","LINEAR_MIPMAP_LINEAR","magFilter","LINEAR","useMipmap","sRGB","unpackAlignment","premultiplyAlpha","dynamic","NPOT","__used","_cache","getWebGLTexture","_gl","cache","use","miss","createTexture","isDirty","fresh","unbind","dirtyAll","updateCommon","pixelStorei","UNPACK_FLIP_Y_WEBGL","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNPACK_ALIGNMENT","DEPTH_COMPONENT","sRGBExt","getGLExtension","SRGB","RGB","SRGB_ALPHA","isPowerOfTwo","getAvailableWrapS","getAvailableWrapT","getAvailableMinFilter","NEAREST_MIPMAP_NEAREST","NEAREST_MIPMAP_LINEAR","NEAREST","LINEAR_MIPMAP_NEAREST","getAvailableMagFilter","nextHighestPowerOfTwo","webglTexture","deleteTexture","deleteContext","isRenderable","_width","_height","BYTE","SHORT","UNSIGNED_SHORT","INT","UNSIGNED_INT","FLOAT","HALF_FLOAT","UNSIGNED_INT_24_8_WEBGL","DEPTH_STENCIL","ALPHA","LUMINANCE","LUMINANCE_ALPHA","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","MIRRORED_REPEAT","__WEBPACK_IMPORTED_MODULE_0__Texture__","__WEBPACK_IMPORTED_MODULE_2__core_vendor__","__WEBPACK_IMPORTED_MODULE_3__math_util__","pixels","mipmaps","convertToPOT","textureType","bindTexture","TEXTURE_2D","glFormat","glType","texParameteri","TEXTURE_WRAP_S","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","anisotropicExt","texParameterf","TEXTURE_MAX_ANISOTROPY_EXT","halfFloatExt","mipmap","_updateTextureData","generateMipmap","level","imgData","_potCanvas","texImage2D","compressedTexImage2D","nodeName","complete","load","crossOrigin","createImage","self","onerror","__WEBPACK_IMPORTED_MODULE_0__glmatrix__","__WEBPACK_IMPORTED_MODULE_0__mixin_extend__","__WEBPACK_IMPORTED_MODULE_1__mixin_notifier__","__WEBPACK_IMPORTED_MODULE_2__util__","Base","genGUID","__initializers__","__WEBPACK_IMPORTED_MODULE_0__core_util__","__WEBPACK_IMPORTED_MODULE_1__core_vendor__","uniformRegex","attributeRegex","defineRegex","uniformTypeMap","bool","int","sampler2D","samplerCube","float","vec3","vec4","ivec2","ivec3","ivec4","mat2","mat3","mat4","createZeroArray","uniformValueConstructor","attributeSemantics","uniformSemantics","matrixSemantics","attributeSizeMap","shaderIDCache","shaderCodeCache","getShaderID","vertex","fragment","removeComment","code","logSyntaxError","parseDeclarations","speratorsRegexp","newTokens","currentDeclaration","TYPE_SYMBOL","TYPE_ASSIGN","TYPE_VEC","TYPE_ARR","TYPE_SEMANTIC","TYPE_NORMAL","opType","declarations","declarationValue","addSymbol","arrResult","arraySize","indexOf","semantic","ignore","parseFloat","Float32Array","_shaderID","_vertexCode","parseImport","_fragmentCode","matrixSemanticKeys","uniformTemplates","textures","vertexDefines","fragmentDefines","_parseAttributes","_parseUniforms","_parseDefines","createUniforms","uniforms","uniformTpl","_parseImport","_addSemanticUniform","uniformType","isTranspose","semanticNoTranspose","_addMaterialUniform","defaultValueFunc","materialUniforms","shaderType","makeDefaultValueFunc","_uniformParser","declaredUniforms","uniformMainStr","uniformInfo","tmpStr","_uniformList","_attributeParser","declaredAttributes","attributeMainStr","Error","_defineParser","importRegex","shaderStr","importSymbol","importName","exportRegex","exportSymbol","exportName","parts","codes","__WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__","__WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__","__WEBPACK_IMPORTED_MODULE_2__glmatrix_quat__","__WEBPACK_IMPORTED_MODULE_3__glmatrix_mat3__","__WEBPACK_IMPORTED_MODULE_4__Vector3__","_axisX","_axisY","_axisZ","create","adjoint","determinant","fromQuat","fromRotationTranslation","fromMat2d","m2d","frustum","left","right","bottom","top","near","far","identity","invert","lookAt","eye","up","mulLeft","multiplyLeft","ortho","perspective","fovy","rotate","rad","rotateX","rotateY","rotateZ","translate","transpose","decomposeMatrix","m3","el","sx","sy","sz","det","fromMat4","fromMat3","m4","__WEBPACK_IMPORTED_MODULE_1__Texture__","__WEBPACK_IMPORTED_MODULE_3__core_glenum__","__WEBPACK_IMPORTED_MODULE_4__core_Cache__","KEY_FRAMEBUFFER","KEY_RENDERBUFFER","KEY_RENDERBUFFER_WIDTH","KEY_RENDERBUFFER_HEIGHT","KEY_RENDERBUFFER_ATTACHED","KEY_DEPTHTEXTURE_ATTACHED","GL_FRAMEBUFFER","FRAMEBUFFER","GL_RENDERBUFFER","RENDERBUFFER","GL_DEPTH_ATTACHMENT","DEPTH_ATTACHMENT","GL_COLOR_ATTACHMENT0","COLOR_ATTACHMENT0","FrameBuffer","depthBuffer","viewport","_textures","_boundRenderer","getTextureWidth","getTextureHeight","__currentFrameBuffer","bindFramebuffer","_getFrameBufferGL","hasTextureAttached","attachment","_doAttach","setViewport","attachedTextures","_doDetach","createRenderbuffer","renderbuffer","bindRenderbuffer","renderbufferStorage","DEPTH_COMPONENT16","framebufferRenderbuffer","updateMipmap","TEXTURE_CUBE_MAP","checkStatus","checkFramebufferStatus","createFramebuffer","attach","boundRenderer","previous","canAttach","DEPTH_STENCIL_ATTACHMENT","extension","deleteRenderbuffer","framebufferTexture2D","detach","renderBuffer","frameBuffer","deleteFramebuffer","STENCIL_ATTACHMENT","DEPTH_BUFFER_BIT","STENCIL_BUFFER_BIT","COLOR_BUFFER_BIT","POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN","SRC_COLOR","ONE_MINUS_SRC_COLOR","ONE_MINUS_SRC_ALPHA","DST_ALPHA","ONE_MINUS_DST_ALPHA","DST_COLOR","ONE_MINUS_DST_COLOR","SRC_ALPHA_SATURATE","BLEND_EQUATION","BLEND_EQUATION_RGB","BLEND_EQUATION_ALPHA","FUNC_SUBTRACT","FUNC_REVERSE_SUBTRACT","BLEND_DST_RGB","BLEND_SRC_RGB","BLEND_DST_ALPHA","BLEND_SRC_ALPHA","CONSTANT_COLOR","ONE_MINUS_CONSTANT_COLOR","CONSTANT_ALPHA","ONE_MINUS_CONSTANT_ALPHA","BLEND_COLOR","ARRAY_BUFFER","ELEMENT_ARRAY_BUFFER","ARRAY_BUFFER_BINDING","ELEMENT_ARRAY_BUFFER_BINDING","STREAM_DRAW","STATIC_DRAW","DYNAMIC_DRAW","BUFFER_SIZE","BUFFER_USAGE","CURRENT_VERTEX_ATTRIB","FRONT","BACK","FRONT_AND_BACK","CULL_FACE","BLEND","DITHER","STENCIL_TEST","DEPTH_TEST","SCISSOR_TEST","POLYGON_OFFSET_FILL","SAMPLE_ALPHA_TO_COVERAGE","SAMPLE_COVERAGE","NO_ERROR","INVALID_ENUM","INVALID_VALUE","INVALID_OPERATION","OUT_OF_MEMORY","CW","CCW","LINE_WIDTH","ALIASED_POINT_SIZE_RANGE","ALIASED_LINE_WIDTH_RANGE","CULL_FACE_MODE","FRONT_FACE","DEPTH_RANGE","DEPTH_WRITEMASK","DEPTH_CLEAR_VALUE","DEPTH_FUNC","STENCIL_CLEAR_VALUE","STENCIL_FUNC","STENCIL_FAIL","STENCIL_PASS_DEPTH_FAIL","STENCIL_PASS_DEPTH_PASS","STENCIL_REF","STENCIL_VALUE_MASK","STENCIL_WRITEMASK","STENCIL_BACK_FUNC","STENCIL_BACK_FAIL","STENCIL_BACK_PASS_DEPTH_FAIL","STENCIL_BACK_PASS_DEPTH_PASS","STENCIL_BACK_REF","STENCIL_BACK_VALUE_MASK","STENCIL_BACK_WRITEMASK","VIEWPORT","SCISSOR_BOX","COLOR_CLEAR_VALUE","COLOR_WRITEMASK","PACK_ALIGNMENT","MAX_TEXTURE_SIZE","MAX_VIEWPORT_DIMS","SUBPIXEL_BITS","RED_BITS","GREEN_BITS","BLUE_BITS","ALPHA_BITS","DEPTH_BITS","STENCIL_BITS","POLYGON_OFFSET_UNITS","POLYGON_OFFSET_FACTOR","TEXTURE_BINDING_2D","SAMPLE_BUFFERS","SAMPLES","SAMPLE_COVERAGE_VALUE","SAMPLE_COVERAGE_INVERT","COMPRESSED_TEXTURE_FORMATS","DONT_CARE","FASTEST","NICEST","GENERATE_MIPMAP_HINT","UNSIGNED_SHORT_4_4_4_4","UNSIGNED_SHORT_5_5_5_1","UNSIGNED_SHORT_5_6_5","FRAGMENT_SHADER","VERTEX_SHADER","MAX_VERTEX_ATTRIBS","MAX_VERTEX_UNIFORM_VECTORS","MAX_VARYING_VECTORS","MAX_COMBINED_TEXTURE_IMAGE_UNITS","MAX_VERTEX_TEXTURE_IMAGE_UNITS","MAX_TEXTURE_IMAGE_UNITS","MAX_FRAGMENT_UNIFORM_VECTORS","SHADER_TYPE","DELETE_STATUS","LINK_STATUS","VALIDATE_STATUS","ATTACHED_SHADERS","ACTIVE_UNIFORMS","ACTIVE_ATTRIBUTES","SHADING_LANGUAGE_VERSION","CURRENT_PROGRAM","NEVER","LESS","EQUAL","LEQUAL","GREATER","NOTEQUAL","GEQUAL","ALWAYS","KEEP","REPLACE","INCR","DECR","INVERT","INCR_WRAP","DECR_WRAP","VENDOR","RENDERER","VERSION","TEXTURE","TEXTURE_BINDING_CUBE_MAP","TEXTURE_CUBE_MAP_POSITIVE_X","TEXTURE_CUBE_MAP_NEGATIVE_X","TEXTURE_CUBE_MAP_POSITIVE_Y","TEXTURE_CUBE_MAP_NEGATIVE_Y","TEXTURE_CUBE_MAP_POSITIVE_Z","TEXTURE_CUBE_MAP_NEGATIVE_Z","MAX_CUBE_MAP_TEXTURE_SIZE","TEXTURE0","TEXTURE1","TEXTURE2","TEXTURE3","TEXTURE4","TEXTURE5","TEXTURE6","TEXTURE7","TEXTURE8","TEXTURE9","TEXTURE10","TEXTURE11","TEXTURE12","TEXTURE13","TEXTURE14","TEXTURE15","TEXTURE16","TEXTURE17","TEXTURE18","TEXTURE19","TEXTURE20","TEXTURE21","TEXTURE22","TEXTURE23","TEXTURE24","TEXTURE25","TEXTURE26","TEXTURE27","TEXTURE28","TEXTURE29","TEXTURE30","TEXTURE31","ACTIVE_TEXTURE","FLOAT_VEC2","FLOAT_VEC3","FLOAT_VEC4","INT_VEC2","INT_VEC3","INT_VEC4","BOOL","BOOL_VEC2","BOOL_VEC3","BOOL_VEC4","FLOAT_MAT2","FLOAT_MAT3","FLOAT_MAT4","SAMPLER_2D","SAMPLER_CUBE","VERTEX_ATTRIB_ARRAY_ENABLED","VERTEX_ATTRIB_ARRAY_SIZE","VERTEX_ATTRIB_ARRAY_STRIDE","VERTEX_ATTRIB_ARRAY_TYPE","VERTEX_ATTRIB_ARRAY_NORMALIZED","VERTEX_ATTRIB_ARRAY_POINTER","VERTEX_ATTRIB_ARRAY_BUFFER_BINDING","COMPILE_STATUS","LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT","RGBA4","RGB5_A1","RGB565","STENCIL_INDEX","STENCIL_INDEX8","RENDERBUFFER_WIDTH","RENDERBUFFER_HEIGHT","RENDERBUFFER_INTERNAL_FORMAT","RENDERBUFFER_RED_SIZE","RENDERBUFFER_GREEN_SIZE","RENDERBUFFER_BLUE_SIZE","RENDERBUFFER_ALPHA_SIZE","RENDERBUFFER_DEPTH_SIZE","RENDERBUFFER_STENCIL_SIZE","FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE","FRAMEBUFFER_ATTACHMENT_OBJECT_NAME","FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL","FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE","FRAMEBUFFER_COMPLETE","FRAMEBUFFER_INCOMPLETE_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_DIMENSIONS","FRAMEBUFFER_UNSUPPORTED","FRAMEBUFFER_BINDING","RENDERBUFFER_BINDING","MAX_RENDERBUFFER_SIZE","INVALID_FRAMEBUFFER_OPERATION","CONTEXT_LOST_WEBGL","UNPACK_COLORSPACE_CONVERSION_WEBGL","BROWSER_DEFAULT_WEBGL","__WEBPACK_IMPORTED_MODULE_0__common__","sqrt","inverse","ax","ay","az","bx","by","bz","zScale","qx","qy","qz","qw","ix","iy","iz","iw","vec","stride","offset","arg","angle","tempA","tempB","cosine","acos","BUILTIN_OBJECT","[object Function]","[object RegExp]","[object Date]","[object Error]","[object CanvasGradient]","[object CanvasPattern]","[object Image]","[object Canvas]","TYPED_ARRAY","[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]","objToString","arrayProto","nativeForEach","nativeFilter","filter","nativeSlice","nativeMap","nativeReduce","_ctx","typeStr","isPrimitive","Ctor","from","isDom","overwrite","targetProp","sourceProp","isBuiltInObject","mergeAll","targetAndSources","overlay","createCanvas","clazz","baseClazz","clazzPrototype","F","prop","superClass","isArrayLike","memo","find","func","args","concat","nodeType","ownerDocument","eqNaN","values","value0","value1","value2","Function","normalizeCssArray","assert","condition","message","primitiveKey","setAsPrimitive","HashMap","isArr","thisMap","visit","createHashMap","concatArray","newArray","noop","removeKey","global","supportWebGL","__WEBPACK_IMPORTED_MODULE_0__request__","vendor","Int8Array","Uint8Array","Uint16Array","Uint32Array","Int16Array","Float64Array","g","requestAnimationFrame","msRequestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","setTimeout","request","__WEBPACK_IMPORTED_MODULE_0__core_vendor__","__WEBPACK_IMPORTED_MODULE_2__glmatrix_mat4__","__WEBPACK_IMPORTED_MODULE_3__math_BoundingBox__","__WEBPACK_IMPORTED_MODULE_4__GeometryBase__","vec3Create","vec3Add","vec3Set","Attribute","texcoord0","texcoord1","normal","tangent","weight","joint","barycentric","boundingBox","mainAttribute","updateBoundingBox","posArr","minArr","maxArr","generateVertexNormals","indices","positions","normals","i1","i2","i3","p3","v21","v32","generateFaceNormals","isUniqueVertex","generateUniqueVertex","generateTangents","nVertex","texcoords","tangents","tan1","tan2","sdir","tdir","st1s","st2s","st3s","st1t","st2t","st3t","p1x","p2x","p3x","p1y","p2y","p3y","p1z","p2z","p3z","x1","y1","z1","s1","s2","t1","t2","tmp","nCrossT","isUseIndices","attributeNameList","getEnabledAttributes","oldAttrValues","cursor","ii","generateBarycentric","matrix","inverseTransposeMatrix","vec3TransformMat4","vec3ForEach","chunks","chunk","attributeBuffers","attribs","deleteBuffer","indicesBuffer","__vaoCache","vaoExt","vao","deleteVertexArrayOES","AttributeBuffer","IndicesBuffer","__WEBPACK_IMPORTED_MODULE_1__camera_Orthographic__","__WEBPACK_IMPORTED_MODULE_2__geometry_Plane__","__WEBPACK_IMPORTED_MODULE_3__Shader__","__WEBPACK_IMPORTED_MODULE_4__Material__","__WEBPACK_IMPORTED_MODULE_5__Mesh__","__WEBPACK_IMPORTED_MODULE_6__core_glenum__","__WEBPACK_IMPORTED_MODULE_7__shader_source_compositor_vertex_glsl_js__","planeGeo","mesh","frustumCulling","camera","Pass","outputs","blendWithPrevious","clearColor","clearDepth","enableTexturesAll","setUniform","getUniform","uniform","attachOutput","detachOutput","render","ext","bufs","drawBuffersEXT","clearBit","depthMask","colorMask","cc","transparent","renderQuad","renderPass","opacityAccessPath","opacity","__WEBPACK_IMPORTED_MODULE_0__Vector3__","vec3Copy","vertices","updateFromVertices","union","intersection","intersectBoundingBox","_min","_max","_min2","_max2","containBoundingBox","containPoint","_p","transformFrom","xa","xb","ya","yb","za","zb","v10","v11","v12","v20","v22","v30","v31","updateVertices","__WEBPACK_IMPORTED_MODULE_1__core_util__","__WEBPACK_IMPORTED_MODULE_2__core_color__","parseToFloat","programKeyCache","getDefineCode","defineKeys","defineStr","getProgramKey","enabledTextures","depthTest","blend","_textureStatus","_enabledUniforms","attachShader","precision","setUniforms","isUniformEnabled","getEnabledUniforms","getTextureUniforms","_textureUniforms","keepStatus","originalUniforms","uniformName","originalVertexDefines","originalFragmentDefines","textureStatus","enabled","_programKey","getEnabledTextures","isDefined","getDefine","status","isEnabled","isDisabled","disableTexturesAll","isTextureEnabled","dirtyDefines","GLMAT_EPSILON","GLMAT_ARRAY_TYPE","GLMAT_RANDOM","a01","a02","a03","a12","a13","a23","a00","a10","a11","a20","a21","a22","a30","a31","a32","a33","b00","b01","b02","b03","b04","b05","b06","b07","b08","b09","b10","b11","b0","b1","b2","b3","multiplyAffine","mulAffine","b12","b20","b21","b22","xx","xy","xz","yy","yz","zz","wx","wy","wz","yx","zx","zy","rl","tb","nf","tan","lr","bt","x0","y0","z0","eyex","eyey","eyez","upx","upy","upz","centerx","centery","centerz","frob","__WEBPACK_IMPORTED_MODULE_1_claygl_src_Scene__","__WEBPACK_IMPORTED_MODULE_2_claygl_src_prePass_ShadowMap__","__WEBPACK_IMPORTED_MODULE_3_claygl_src_camera_Perspective__","__WEBPACK_IMPORTED_MODULE_4_claygl_src_camera_Orthographic__","__WEBPACK_IMPORTED_MODULE_5_claygl_src_math_Matrix4__","__WEBPACK_IMPORTED_MODULE_6_claygl_src_math_Vector3__","__WEBPACK_IMPORTED_MODULE_7_claygl_src_math_Vector2__","__WEBPACK_IMPORTED_MODULE_8_claygl_src_core_mixin_notifier__","__WEBPACK_IMPORTED_MODULE_9__effect_EffectCompositor__","__WEBPACK_IMPORTED_MODULE_10__effect_TemporalSuperSampling__","__WEBPACK_IMPORTED_MODULE_11__effect_halton__","ViewGL","projection","layer","scene","rootNode","setProjection","_compositor","_temporalSS","_shadowMapPass","pcfKernels","pcfKernel","_pcfKernels","needsTemporalSS","jitterProjection","oldCamera","setLocalTransform","localTransform","resize","getHeight","ndc","castRay","oldViewport","screenToNDC","prepareRender","updateLights","renderList","updateRenderList","_needsSortProgressively","renderable","needsSortVerticesProgressively","needsSortTrianglesProgressively","_frame","resetFrame","accumulating","_doRender","needsAccumulate","enableTemporalSS","_enableTemporalSS","_enablePostEffect","hasDOF","_enableDOF","isAccumulateFinished","isFinished","accumFrame","_updateTransparent","kernelPCF","_updateShadowPCFKernel","bgColor","updateNormal","getFrame","_updateSSAO","getSourceFrameBuffer","composite","saveClear","restoreClear","invWorldTransform","cameraWorldPosition","getWorldPosition","transparentList","getRenderList","worldTransform","needsSortTriangles","doSortTriangles","needsSortVertices","doSortVertices","ifEnableSSAO","_enableSSAO","updateSSAO","opaque","renderNormal","getSSAOTexture","opaqueList","receiveShadow","setPostEffect","postEffectModel","compositor","bloomModel","edgeModel","dofModel","ssaoModel","ssrModel","fxaaModel","colorCorrModel","enableBloom","disableBloom","enableDOF","disableDOF","enableSSR","disableSSR","enableColorCorrection","disableColorCorrection","enableEdge","disableEdge","enableFXAA","disableFXAA","enableSSAO","disableSSAO","setBloomIntensity","setEdgeColor","setColorLookupTexture","setExposure","setSSAOParameter","setSSRParameter","setDOFParameter","setColorCorrection","setDOFFocusOnPoint","depth","setTemporalSuperSampling","temporalSuperSamplingModel","isLinearSpace","setRootNode","children","node3D","removeAll","guid","ArrayProto","relative2absolute","path","basePath","pathParts","basePathParts","item","shift","propName","extendWithPropList","propList","defaultsWithPropList","ret","__WEBPACK_IMPORTED_MODULE_0__Node__","__WEBPACK_IMPORTED_MODULE_1__Shader__","__WEBPACK_IMPORTED_MODULE_2__shader_source_header_light__","Light","castShadow","group","light","__WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__","__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__","__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default","__WEBPACK_IMPORTED_MODULE_2__dynamicConvertMixin__","__WEBPACK_IMPORTED_MODULE_3_claygl_src_dep_glmatrix__","sampleLinePoints","LinesGeometry","segmentScale","useNativeLine","positionPrev","positionNext","prevPositionPrev","prevPosition","prevPositionNext","resetOffset","_vertexOffset","_triangleOffset","_itemVertexOffsets","setVertexCount","setTriangleCount","nTriangle","triangleCount","_getCubicCurveApproxStep","getCubicCurveVertexCount","segCount","ceil","getCubicCurveTriangleCount","getLineVertexCount","getPolylineVertexCount","getLineTriangleCount","getPolylineTriangleCount","points","pointsLen","is2DArray","addCubicCurve","x3","y3","z3","step2","step3","pre1","pre2","pre4","pre5","tmp1x","tmp1y","tmp1z","tmp2x","tmp2y","tmp2z","fx","fy","fz","dfx","dfy","dfz","ddfx","ddfy","ddfz","dddfx","dddfy","dddfz","addPolyline","addLine","startOffset","pointsCount","point","pointColor","notSharingColor","positionAttr","positionPrevAttr","positionNextAttr","colorAttr","offsetAttr","vertexOffset","k3","k4","idx3","setItemColor","endOffset","currentTriangleOffset","currentVertexOffset","__WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__","transformMat2","transformMat2d","__WEBPACK_IMPORTED_MODULE_2__core_util__","__WEBPACK_IMPORTED_MODULE_4__core_vendor__","targetList","TextureCube","px","nx","py","ny","pz","nz","img","isImageRenderable","imageList","loading","postEffect","bloom","depthOfField","focalRange","focalDistance","blurRadius","fstop","quality","screenSpaceAmbientOcclusion","screenSpaceReflection","maxRoughness","colorCorrection","brightness","contrast","saturation","lookupTexture","FXAA","temporalSuperSampling","main","ambient","__WEBPACK_IMPORTED_MODULE_0__util_graphicGL__","__WEBPACK_IMPORTED_MODULE_1_claygl_src_plugin_Skybox__","__WEBPACK_IMPORTED_MODULE_2_echarts_lib_echarts__","__WEBPACK_IMPORTED_MODULE_2_echarts_lib_echarts___default","SceneHelper","setScene","_scene","_skybox","attachScene","initLight","_lightRoot","mainLight","shadowBias","ambientLight","updateLight","componentModel","lightModel","mainLightModel","ambientLightModel","updateAmbientCubemap","ambientCubemapModel","_cubemapLightsCache","lights","_isSkyboxFromAmbientCubemap","setEnvironmentMap","_currentCubemapLights","updateSkybox","environmentUrl","getSkybox","skybox","detachScene","Rect","viewGL","srgbDefineMethod","realisticMaterial","textureTiling","textureOffset","lambertMaterial","colorMaterial","hatchingMaterial","paperColor","formatUtil","getFormattedLabel","formatter","formatTpl","normalizeToArray","aw","normalFromMat4","__WEBPACK_IMPORTED_MODULE_1__math_Vector3__","__WEBPACK_IMPORTED_MODULE_2__math_Quaternion__","__WEBPACK_IMPORTED_MODULE_3__math_Matrix4__","__WEBPACK_IMPORTED_MODULE_4__glmatrix_mat4__","__WEBPACK_IMPORTED_MODULE_5__math_BoundingBox__","nameId","autoUpdateLocalTransform","_parent","_needsUpdateWorldTransform","_inIterating","__depth","_children","invisible","isSkinnedMesh","setName","nodeRepository","_nodeRepository","originalParent","_addSelfToScene","splice","_removeSelfFromScene","getScene","getParent","descendant","isAncestor","parent","childAt","getChildByName","getDescendantByName","res","queryNode","pathArr","current","found","getPath","callback","eachChild","decomposeLocalTransform","keepScale","setWorldTransform","decomposeWorldTransform","transformNeedsUpdate","updateLocalTransform","_updateWorldTransformTopDown","updateWorldTransform","rootNodeIsDirty","forceUpdateWorld","getBoundingBox","defaultFilter","tmpBBox","tmpMat4","rotateAround","RTMatrix","__WEBPACK_IMPORTED_MODULE_1__Light__","__WEBPACK_IMPORTED_MODULE_2__Camera__","__WEBPACK_IMPORTED_MODULE_4__core_util__","__WEBPACK_IMPORTED_MODULE_5__glmatrix_mat4__","__WEBPACK_IMPORTED_MODULE_6__core_LRU__","__WEBPACK_IMPORTED_MODULE_7__math_Matrix4__","IDENTITY","WORLDVIEW","lightNumbers","lightTypes","lightType","RenderList","_opaqueCount","_transparentCount","startCount","isTransparent","endCount","Scene","viewBoundingBoxLastFrame","shadowUniforms","_cameraList","_lightUniforms","_previousLightNumber","_lightNumber","_lightProgramKeys","_renderLists","getNode","setMainCamera","unshift","getMainCamera","getLights","lightNumber","groupId","_updateLightUniforms","cloneNode","newNode","clonedNodesMap","buildNodesMap","sNode","tNode","sChild","tChild","newChild","skeleton","updateSceneBoundingBox","sceneMaterialTransparent","_doUpdateRenderList","worldM","viewMatrix","isFrustumCulled","cullingBoundingBox","cullingMatrix","worldViewMat","geoBBox","projectionMatrix","lightSortFunc","lightUniforms","lu","getLightGroups","lightGroups","getNumberChangedLightGroups","isLightNumberChanged","lightGroup","prevLightNumber","currentLightNumber","getLightsNumbers","setLightUniforms","program","hasUniform","texSlots","slot","takeCurrentTextureSlot","_opaqueList","_transparentList","__WEBPACK_IMPORTED_MODULE_0__Camera__","Orthographic","updateProjectionMatrix","decomposeProjectionMatrix","convertToDynamicArray","convertToTypedArray","otherDimToDataDim","otherDim","dimensions","dimName","dimIdx","tooltipName","__WEBPACK_IMPORTED_MODULE_0__Renderable__","joints","useSkinMatricesTexture","Perspective","fov","atan","__WEBPACK_IMPORTED_MODULE_0__Mesh__","__WEBPACK_IMPORTED_MODULE_1__geometry_Cube__","__WEBPACK_IMPORTED_MODULE_2__Shader__","__WEBPACK_IMPORTED_MODULE_3__Material__","__WEBPACK_IMPORTED_MODULE_4__Texture__","__WEBPACK_IMPORTED_MODULE_5__shader_source_skybox_glsl_js__","Skybox","skyboxShader","environmentMap","culling","_beforeRenderScene","envMap","getEnvironmentMap","renderSkybox","__WEBPACK_IMPORTED_MODULE_0__Geometry__","__WEBPACK_IMPORTED_MODULE_1__math_BoundingBox__","widthSegments","heightSegments","build","faces","fromArray","initIndicesFromArray","viewControl","autoRotate","autoRotateDirection","autoRotateSpeed","autoRotateAfterStill","damping","rotateSensitivity","zoomSensitivity","panSensitivity","panMouseButton","rotateMouseButton","minDistance","maxDistance","orthographicSize","maxOrthographicSize","minOrthographicSize","minAlpha","maxAlpha","setView","__WEBPACK_IMPORTED_MODULE_0_claygl_src_core_Base__","__WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector2__","__WEBPACK_IMPORTED_MODULE_2_claygl_src_math_Vector3__","__WEBPACK_IMPORTED_MODULE_4__retrieve__","MOUSE_BUTTON_KEY_MAP","middle","convertToArray","OrbitControl","_center","minBeta","maxBeta","_mode","_camera","_needsUpdate","_rotating","_phi","_theta","_mouseX","_mouseY","_rotateVelocity","_panVelocity","_distance","_zoomSpeed","_stillTimeout","_animators","hdlName","_mouseDownHandler","_mouseUpHandler","_mouseWheelHandler","_pinchHandler","animation","_update","dom","addEventListener","_contextMenuHandler","_mouseMoveHandler","removeEventListener","stopAllAnimation","getDistance","setDistance","getOrthographicSize","_orthoSize","setOrthographicSize","getAlpha","getBeta","getCenter","setAlpha","setBeta","setCenter","centerArr","setViewGL","getCamera","setFromViewControlModel","viewControlModel","extraOpts","baseDistance","baseOrthoSize","_projection","targetDistance","targetOrthographicSize","animationOpts","animationDurationUpdate","_notFirst","animateTo","animationEasingUpdate","_validateProperties","_addAnimator","_isAnimating","deltaTime","radian","_updateDistanceOrSize","_updatePan","_updateRotate","_updateTransform","velocity","_vectorDamping","_setDistance","_setOrthoSize","cameraHeight","cameraWidth","yAxis","xAxis","_startCountingStill","clearTimeout","speed","_decomposeTransform","forward","targetTouches","button","__isGLToZRProxy","preventDefault","detail","_zoomHandler","_isRightMouseButtonUsed","animator","animators","_autoRotate","_number","parsePercent","LOCATION_PARAMS","HV_NAMES","boxLayout","orient","gap","maxWidth","maxHeight","currentLineMaxSize","nextX","nextY","nextChild","nextChildRect","moveX","newline","moveY","box","vbox","hbox","getAvailableSize","positionInfo","containerRect","margin","containerHeight","getLayoutRect","verticalMargin","horizontalMargin","positionElement","hv","boundingMode","needLocalTransform","getLocalTransform","elPos","attr","sizeCalculable","hvIdx","targetOption","newOption","ignoreSize","hResult","vResult","names","newParams","newValueCount","merged","mergedValueCount","enoughParamNumber","hasProp","hasValue","copyLayoutParams","CompositorNode","inputLinks","outputLinks","_prevOutputTextures","_outputTextures","_outputReferences","_rendering","_rendered","updateParameter","outputName","outputInfo","parameters","parametersCopy","_parametersCopy","setParameter","getParameter","setParameters","getOutput","outputLastFrame","allocateTexture","removeReference","keepLastFrame","releaseTexture","link","inputPinName","fromNode","fromPinName","pin","pass","updateReference","inputName","beforeFrame","afterFrame","halton","base","dims","coordSysDimensions","getCoordinateSystemDimensions","helper","createDimensions","dimensionsDefine","encodeDefine","coordDimensions","axis3DModel","getReferringComponents","ordinalMeta","getOrdinalMeta","stackCalculationInfo","dataStack","enableDataStack","byIndex","stackedCoordDimension","List","setCalculationInfo","initData","__WEBPACK_IMPORTED_MODULE_1__core_GLInfo__","__WEBPACK_IMPORTED_MODULE_2__core_glenum__","__WEBPACK_IMPORTED_MODULE_3__core_vendor__","__WEBPACK_IMPORTED_MODULE_5__math_Vector2__","__WEBPACK_IMPORTED_MODULE_6__gpu_ProgramManager__","__WEBPACK_IMPORTED_MODULE_7__Shader__","__WEBPACK_IMPORTED_MODULE_8__shader_source_prez_glsl_js__","__WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__","__WEBPACK_IMPORTED_MODULE_10__glmatrix_vec3__","mat4Create","errorShader","defaultGetMaterial","defaultGetUniform","defaultIsMaterialChanged","renderabled","prevRenderable","prevMaterial","defaultIfRender","attributeBufferTypeMap","byte","ubyte","short","ushort","VertexArrayObject","availableAttributes","availableAttributeSymbols","PlaceHolderTexture","blankCanvas","firstBind","stencil","antialias","premultipliedAlpha","preserveDrawingBuffer","throwError","_viewportStack","_clearStack","_sceneRendering","_glinfo","targetRenderer","_programMgr","_placeholderTexture","getViewportAspect","setDevicePixelRatio","getDevicePixelRatio","getExtension","getGLParameter","saveViewport","restoreViewport","bindSceneRendering","notUpdateScene","preZ","needsScissor","viewportDpr","scissor","sceneMaterial","renderPreZ","depthFunc","posViewSpace","getMaterial","sortCompare","opaqueSortCompare","transparentSortCompare","getProgram","renderMaterial","validateProgram","__error","errorMsg","updatePrograms","passConfig","prevJointsLen","jointsLen","__program","isMaterialChanged","beforeRender","afterRender","ifRenderObject","ifRender","vDpr","viewportUniform","windowDpr","windowSizeUniform","viewportSizeUniform","matrices","VIEW","PROJECTION","VIEWINVERSE","VIEWPROJECTION","PROJECTIONINVERSE","VIEWPROJECTIONINVERSE","prevProgram","cullFace","frontFace","drawID","currentVAO","materialTakesTextureSlot","isSceneNode","currentDrawID","drawIDChanged","bindVertexArrayOES","WORLD","WORLDVIEWPROJECTION","WORLDINVERSE","WORLDINVERSETRANSPOSE","WORLDVIEWINVERSE","WORLDVIEWINVERSETRANSPOSE","WORLDVIEWPROJECTIONINVERSE","WORLDVIEWPROJECTIONINVERSETRANSPOSE","programChanged","setUniformOfSemantic","blendEquationSeparate","blendFuncSeparate","_bindMaterial","semanticInfo","matrixNoTranspose","_updateSkeleton","_bindVAO","_renderObject","getMaxJointNumber","skinMatricesTexture","getSubSkinMatricesTexture","useTextureSlot","skinMatricesArray","getSubSkinMatrices","glDrawMode","mode","uintExt","useUintExt","indicesType","drawElements","drawArrays","getUniformValue","sameProgram","currentTextureSlot","enabledUniforms","textureUniforms","placeholderTexture","u","uniformValue","__slot","isTexture","prevUniformValue","newSlot","resetTextureSlot","isStatic","vaoId","getBufferChunks","attributeBufferInfo","needsBindAttributes","createVertexArrayOES","locationList","enableAttributes","location","bindBuffer","vertexAttribPointer","preZPassMaterial","_prezMaterial","matA","matB","depthMaterial","alphaCutoff","disposeScene","disposeNode","disposeGeometry","disposeTexture","disposedMap","disposeFrameBuffer","renderOrder","WORLDTRANSPOSE","VIEWTRANSPOSE","PROJECTIONTRANSPOSE","WORLDVIEWTRANSPOSE","VIEWPROJECTIONTRANSPOSE","WORLDVIEWPROJECTIONTRANSPOSE","VIEWINVERSETRANSPOSE","PROJECTIONINVERSETRANSPOSE","VIEWPROJECTIONINVERSETRANSPOSE","Handler","action","notifier","__handlers__","hdls","handlers","has","handler","once","wrapper","before","after","success","retains","EPSILON","origin","direction","intersectPlane","plane","pn","ro","rd","divider","mirrorAgainstPlane","distanceToPoint","c2","lenSquared","intersectSphere","d2","r2","t0","tmin","tmax","tymin","tymax","tzmin","tzmax","invdirx","invdiry","invdirz","intersectTriangle","eBA","eCA","AO","vCross","singleSided","barycenteric","ray","__WEBPACK_IMPORTED_MODULE_1__vec3__","__WEBPACK_IMPORTED_MODULE_2__vec4__","__WEBPACK_IMPORTED_MODULE_3__mat3__","quat","rotationTo","tmpvec3","xUnitVec3","yUnitVec3","setAxisAngle","setAxes","matr","view","bw","calculateW","slerp","omega","cosom","sinom","scale0","scale1","a0","a1","a2","a3","invDot","conjugate","fRoot","fTrace","__WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__","__WEBPACK_IMPORTED_MODULE_1__glmatrix_mat3__","fromEuler","c1","c3","s3","DIRTY_PREFIX","Cache","_contextId","_caches","_context","contextId","documentSchema","caches","field","freshAll","delete","clearAll","eachContext","__WEBPACK_IMPORTED_MODULE_1__math_Matrix4__","__WEBPACK_IMPORTED_MODULE_2__math_Frustum__","__WEBPACK_IMPORTED_MODULE_3__math_Ray__","__WEBPACK_IMPORTED_MODULE_4__glmatrix_vec4__","__WEBPACK_IMPORTED_MODULE_5__glmatrix_vec3__","Camera","invProjectionMatrix","force","setFromProjection","setViewMatrix","setProjectionMatrix","v4","__WEBPACK_IMPORTED_MODULE_0__BoundingBox__","__WEBPACK_IMPORTED_MODULE_1__Plane__","__WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__","vec3TranformMat4","mathMin","mathMax","planes","m0","m1","m2","m5","m6","m7","m8","m9","m10","m14","m15","zNear","zFar","farY","nearY","getTransformedBoundingBox","tmpVec3","__WEBPACK_IMPORTED_MODULE_0__Texture2D__","__WEBPACK_IMPORTED_MODULE_1__TextureCube__","__WEBPACK_IMPORTED_MODULE_3__prePass_EnvironmentMap__","__WEBPACK_IMPORTED_MODULE_4__plugin_Skydome__","__WEBPACK_IMPORTED_MODULE_5__Scene__","__WEBPACK_IMPORTED_MODULE_6__dds__","__WEBPACK_IMPORTED_MODULE_7__hdr__","textureUtil","onsuccess","_fetchTexture","parseRGBE","loadPanorama","cubeMap","panoramaToCubeMap","panoramaMap","environmentMapPass","skydome","encodeRGBM","heightToNormal","checkBump","srcData","getImageData","dstData","createImageData","putImageData","isHeightImage","downScaleSize","threshold","url","responseType","createChessboard","unitSize","color1","color2","repeat","fillStyle","fillRect","isFill","__WEBPACK_IMPORTED_MODULE_2__camera_Perspective__","__WEBPACK_IMPORTED_MODULE_3__FrameBuffer__","targets","EnvironmentMapPass","shadowMapPass","cameras","_cameras","_frameBuffer","__WEBPACK_IMPORTED_MODULE_0__graphicGL__","__WEBPACK_IMPORTED_MODULE_1__geometry_Sprites__","__WEBPACK_IMPORTED_MODULE_2__shader_labels_glsl_js__","ignorePicking","__WEBPACK_IMPORTED_MODULE_1__util_graphicGL__","__WEBPACK_IMPORTED_MODULE_2__util_earcut__","__WEBPACK_IMPORTED_MODULE_3__util_geometry_Lines3D__","__WEBPACK_IMPORTED_MODULE_4__util_retrieve__","__WEBPACK_IMPORTED_MODULE_5_claygl_src_dep_glmatrix__","__WEBPACK_IMPORTED_MODULE_6__util_geometry_trianglesSortMixin__","__WEBPACK_IMPORTED_MODULE_7__LabelsBuilder__","__WEBPACK_IMPORTED_MODULE_8__util_shader_lines3D_glsl_js__","Geo3DBuilder","_triangulationResults","_shadersMap","shaderName","_linesShader","groundMaterials","_groundMaterials","_groundMesh","$ignorePicking","_labelsBuilder","getMesh","_initMeshes","_api","extrudeY","_startIndex","_endIndex","_triangulation","_getShader","_prepareMesh","_updateRegionMesh","_updateGroundPlane","updateData","getLabelPosition","positionDesc","region","getRegion","pos","_data","updateLabels","_updateDebugWireframe","_lastHoverDataIndex","createPolygonMesh","lambert","sortTriangles","polygonMesh","linesMesh","_polygonMesh","_linesMesh","__shading","polygonVertexCount","polygonTriangleCount","linesVertexCount","linesTriangleCount","polyInfo","_getRegionPolygonInfo","lineInfo","_getRegionLinesInfo","polygonGeo","attrName","_dataIndexOfVertex","_vertexRangeOfDataIndex","triangleOffset","hasTranparentRegion","regionModel","getRegionModel","itemStyleModel","visualColor","borderColor","regionHeight","newOffsets","_updatePolygonGeometry","hasLine","_updateLinesGeometry","_onmousemove","_onmouseout","debugWireframeModel","triangle","downplay","highlight","geo3D","groundModel","minAll","maxAll","polygons","polygonCoords","getRegionPolygonCoords","holes","startIdx","triangles","points3","off3","_geoBoundingBox","sideVertexCount","sideTriangleCount","projectUVOnGround","normalAttr","texcoordAttr","hasColor","extrudeCoordIndex","sideCoordIndex","maxDimSize","addVertices","polygon","insideOffset","currentPosition","uv","buildTopBottom","startVertexOffset","normalTop","normalBottom","ringVertexCount","quadToTriangle","quadPos","sideLen","isCurrent","coords","convertToPoints3","whiteColor","geo","emphasisItemStyleModel","emphasisColor","emphasisOpacity","lift","colorArr","_setColorOfDataIndex","__WEBPACK_IMPORTED_MODULE_0__ProgressiveQuickSort__","__WEBPACK_IMPORTED_MODULE_1_claygl_src_dep_glmatrix__","cameraPos","posAttr","_triangleZList","_sortedTriangleIndices","_indicesTmp","_triangleZListTmp","firstZ","zMax","sortedTriangleIndices","_simpleSort","_progressiveQuickSort","targetIndices","targetTriangleZList","faceZList","fromIdx3","toIdx3","dirtyIndices","useNativeQuickSort","compare","_quickSort","__WEBPACK_IMPORTED_MODULE_1__util_ZRTextureAtlasSurface__","__WEBPACK_IMPORTED_MODULE_2__util_mesh_LabelsMesh__","__WEBPACK_IMPORTED_MODULE_3__util_retrieve__","LABEL_NORMAL_SHOW_BIT","LABEL_EMPHASIS_SHOW_BIT","LabelsBuilder","_labelsMesh","_labelTextureSurface","getLabelDistance","_labelsVisibilitiesBits","normalLabelVisibilityQuery","emphasisLabelVisibilityQuery","normalVisibility","emphasisVisibility","bit","_start","_end","highlightDataIndices","hasHighlightData","highlightDataIndicesMap","normalLabelQuery","emphasisLabelQuery","hostModel","seriesLabelModel","seriesLabelEmphasisModel","textAlignMap","textVerticalAlignMap","isEmphasis","ifShow","labelModel","textStyleModel","textEl","setTextStyle","textFill","addSprite","getCoordsScale","refreshImmediately","__WEBPACK_IMPORTED_MODULE_2__util_sprite__","__WEBPACK_IMPORTED_MODULE_3__PointsMesh__","__WEBPACK_IMPORTED_MODULE_4__component_common_LabelsBuilder__","__WEBPACK_IMPORTED_MODULE_6__util_retrieve__","SDF_RANGE","Z_2D","isSymbolSizeSame","PointsBuilder","is2D","_spriteImageCanvas","_startDataIndex","_endDataIndex","_sizeScale","highlightOnMouseover","_prevMesh","_mesh","_setPositionTextureToMesh","_positionTexture","symbolInfo","_getSymbolInfo","itemStyle","getItemStyle","largeMode","pointSizeScale","_updateSymbolSprite","rgbaArr","u_Size","_originalOpacity","positionArr","sizeScale","_updateMaterial","_updateLabelBuilder","_updateHandler","_updateAnimation","getPointsMesh","hideLabels","showLabels","_symbolType","_symbolSize","_lineWidth","createSymbolSprite","minMargin","createSDFFromCanvas","strokeColor","sortVertices","grid3DModel","pointsMesh","lastDataIndex","isCartesian3D","vertexIndex","dispatchAction","grid3DIndex","updateLayout","updateView","worldViewProjection","updateNDCPosition","dirtyAttribute","fadeOutAll","fadeOutPercent","fadeOutOpacity","fadeInAll","setPositionTexture","removePositionTexture","setSizeScale","originalSize","maxSymbolSize","symbolAspect","differentSymbolAspect","differentSymbolType","currentSymbolAspect","currentSymbolType","eval","__WEBPACK_IMPORTED_MODULE_0__LinkedList__","setMaxSize","Renderable","_renderInfo","ignoreGBuffer","renderStat","mathUtil","nextPowerOfTwo","__WEBPACK_IMPORTED_MODULE_1__glmatrix_mat4__","__WEBPACK_IMPORTED_MODULE_3__glmatrix_vec4__","projectPoint","invLen","intersectFrustum","onPlane","intersectLine","d0","d1","inverseTranspose","normalv4","pointv4","__WEBPACK_IMPORTED_MODULE_0__Skybox__","__WEBPACK_IMPORTED_MODULE_2__math_Matrix4__","__WEBPACK_IMPORTED_MODULE_3__math_Vector3__","__WEBPACK_IMPORTED_MODULE_4__math_BoundingBox__","__WEBPACK_IMPORTED_MODULE_5__core_vendor__","planeMatrix","Cube","depthSegments","inside","createPlane","attrList","vertexNumber","faceNumber","faceOffset","attrArray","attrSize","isNormal","__WEBPACK_IMPORTED_MODULE_2__Texture__","__WEBPACK_IMPORTED_MODULE_4__compositor_Pass__","__WEBPACK_IMPORTED_MODULE_5__Material__","__WEBPACK_IMPORTED_MODULE_6__Shader__","__WEBPACK_IMPORTED_MODULE_7__plugin_Skybox__","__WEBPACK_IMPORTED_MODULE_8__Scene__","__WEBPACK_IMPORTED_MODULE_9__prePass_EnvironmentMap__","__WEBPACK_IMPORTED_MODULE_10__core_vendor__","__WEBPACK_IMPORTED_MODULE_11__texture__","__WEBPACK_IMPORTED_MODULE_12__shader_integrateBRDF_glsl_js__","__WEBPACK_IMPORTED_MODULE_13__shader_prefilter_glsl_js__","cubemapUtil","prefilterEnvironmentMap","normalDistribution","brdfLookup","generateNormalDistribution","integrateBRDF","prefilteredCubeMap","mipmapNum","prefilterMaterial","decodeRGBM","skyEnv","dummyScene","envCubemap","envMapPass","renderTargetTmp","ArrayCtor","readPixels","maxMipmapLevel","framebuffer","roughnessLevels","sampleSize","cosTheta","sinTheta","v0","LDU","L","D","U","mat2d","aa","ab","ac","ad","atx","aty","a4","a5","b4","b5","__WEBPACK_IMPORTED_MODULE_1_claygl_src_Texture2D__","ZRTextureAtlasSurfaceNode","_rowHeight","ZRTextureAtlasSurface","_canvas","_texture","zrender","oldRefreshImmediately","_dpr","_coords","_gap","_textureAtlasNodes","_nodeWidth","_nodeHeight","_currentNodeIdx","_fitElement","canvasWidth","canvasHeight","coordsOffset","spriteWidth","spriteHeight","scaleX","scaleY","_getCurrentNode","_expand","textureAtlasNodes","nodeLen","getCoords","v2ApplyTransform","other","lt","rb","lb","rt","maxX","maxY","intersect","ax0","ax1","ay0","ay1","bx0","bx1","by0","by1","plain","lenSquare","lengthSquare","distanceSquare","out0","out1","out2","out3","out4","out5","st","ct","vx","vy","RADIAN_EPSILON","_trim","linearMap","domain","range","subDomain","subRange","percent","all","returnStr","toFixed","asc","getPrecision","getPrecisionSafe","eIndex","dotIndex","getPixelPrecision","dataExtent","pixelExtent","LN10","dataQuantity","sizeQuantity","getPercentWithPrecision","valueList","acc","digits","votesPerQuota","targetSeats","seats","votes","currentSum","remainder","NEGATIVE_INFINITY","maxId","MAX_SAFE_INTEGER","remRadian","pi2","isRadianAroundZero","TIME_REG","parseDate","hour","UTC","quantity","quantityExponent","nice","exponent","exp10","reformIntervals","littleThan","curr","currClose","close","lg","isNumeric","TexturePool","_pool","_allocatedTextures","generateKey","defaultParams","defaultParamPropList","fallBack","IPOT","getFilledRegions","regions","mapData","geoJson","regionsArr","getMap","features","dataNameMap","show","zlevel","boxWidth","boxHeight","boxDepth","environment","groundPlane","textStyle","backgroundColor","borderRadius","borderWidth","emphasis","swap","partition","pivot","storeIndex","pivotValue","quickSort","newPivot","ProgressiveQuickSort","_parts","_sorted","_currentSortPartIdx","subdividedParts","__WEBPACK_IMPORTED_MODULE_0__geo3D_Geo3D__","__WEBPACK_IMPORTED_MODULE_2_echarts_lib_util_layout__","__WEBPACK_IMPORTED_MODULE_2_echarts_lib_util_layout___default","__WEBPACK_IMPORTED_MODULE_3__core_ViewGL__","resizeGeo3D","geo3DModel","boxLayoutOption","getBoxLayoutParams","geoRect","getGeoBoundingRect","setSize","altitudeAxis","setExtent","updateGeo3D","altitudeDataExtent","eachSeries","altDims","altDim","getDataExtent","createScale","Axis","mapNotExistsError","idStart","geo3DCreator","geo3DList","createGeo3D","__viewGL","eachComponent","eachSeriesByType","map3DModel","specialAreas","registerCoordinateSystem","__WEBPACK_IMPORTED_MODULE_2_echarts_lib_coord_geo_fix_textCoord__","__WEBPACK_IMPORTED_MODULE_2_echarts_lib_coord_geo_fix_textCoord___default","__WEBPACK_IMPORTED_MODULE_3_echarts_lib_coord_geo_fix_geoCoord__","__WEBPACK_IMPORTED_MODULE_3_echarts_lib_coord_geo_fix_geoCoord___default","geoFixFuncs","Geo3D","nameMap","_nameCoordMap","loadGeoJson","invTransform","parseGeoJSON","parseGeoJson","regionsMap","regionName","addGeoCoord","specialArea","_regionsMap","_geoRect","fixFunc","regionRect","geoCoord","getRegionByCoord","scaleZ","translateX","translateZ","altitudeVal","dataToCoord","pointToData","__WEBPACK_IMPORTED_MODULE_0_claygl_src_dep_glmatrix__","TILE_SIZE","FOV","WORLD_SCALE","MapServiceCoordSys3D","altitudeScale","altitudeExtent","bearing","pitch","_origin","zoom","_initialZoom","maxPitch","zoomOffset","setCameraOption","projectOnTileWithScale","updateTransform","cameraToCenterDistance","halfFov","groundAngle","topHalfSurfaceDistance","furthestDistance","farZ","pt","getScale","invertM","verticalScale","worldSize","projectOnTile","lng","lat","lambda2","phi2","unprojectFromTile","unprojectOnTileWithScale","exp","__WEBPACK_IMPORTED_MODULE_0__util_retrieve__","__WEBPACK_IMPORTED_MODULE_2__core_ViewGL__","serviceComponentType","ServiceCtor","afterCreate","resizeMapService3D","mapService3DModel","updateService3D","mapService3DList","mapService3DCoordSys","__WEBPACK_IMPORTED_MODULE_0_zrender_lib_core_matrix__","__WEBPACK_IMPORTED_MODULE_0_zrender_lib_core_matrix___default","__WEBPACK_IMPORTED_MODULE_1_zrender_lib_core_vector__","__WEBPACK_IMPORTED_MODULE_1_zrender_lib_core_vector___default","GLViewHelper","_updateCamera","_viewTransform","getRoamTransform","_setCameraTransform","viewTransform","removeTransformInPoint","getZoom","dev","_faceOffset","dirA","dirB","nextPoint","prevPoint","arrayOffset","k2","miter","__WEBPACK_IMPORTED_MODULE_1_claygl_src_version__","__WEBPACK_IMPORTED_MODULE_2__core_LayerGL__","__WEBPACK_IMPORTED_MODULE_3__preprocessor_backwardCompat__","__WEBPACK_IMPORTED_MODULE_4__util_graphicGL__","echartsGl","version","dependencies","claygl","deps","versionTooOldMsg","checkVersion","EChartsGL","_layers","removeViewsAll","componentType","getViewOfComponentModel","__ecgl__","layerGL","getLayerGL","addView","setSilent","groupGL","chartView","getViewOfSeriesModel","layers","painter","isSingleCanvas","virtual","silent","__hostImage","insertLayer","setStyle","oldInit","chart","getRenderedCanvas","_singleCanvas","pixelRatio","clearRect","displayList","storage","getDisplayList","findAndDrawOtherLayer","smaller","larger","intermediateLayer","zlevelList","_zlevelList","__builtin__","renderToCanvas","_doPaintEl","registerPostUpdate","egl","__egl","__WEBPACK_IMPORTED_MODULE_2_claygl_src_picking_RayPicking__","__WEBPACK_IMPORTED_MODULE_5_claygl_src_core_mixin_notifier__","__WEBPACK_IMPORTED_MODULE_6_zrender_lib_animation_requestAnimationFrame__","__WEBPACK_IMPORTED_MODULE_6_zrender_lib_animation_requestAnimationFrame___default","LayerGL","cssText","className","innerHTML","onglobalout","views","_picking","_viewsToDispose","_accumulatingId","_zrEventProxy","_backgroundColor","removeFromZr","removeView","needsRefresh","_trackAndClean","_startAccumulating","_stopAccumulating","_accumulatingTimeout","accumulatingId","markUnused","resourceList","__used__","checkAndDispose","updateUsed","resource","collectResources","textureResourceList","geometryResourceList","prevGeometry","immediate","accumulate","textureList","geometriesList","_textureList","_geometriesList","onmousedown","pickObject","_dispatchEvent","_dispatchDataEvent","_downX","_downY","onmousemove","lastHovered","_hovered","relatedTarget","setCursorStyle","onmouseup","_upX","_upY","onclick","dblclick","_clickToSetFocusPoint","pick","output","pickAll","eveName","originalEvent","newEvent","cancelBubble","_dispatchToView","eventData","elChangedInMouseMove","eventProxy","targetInfo","_lastDataIndex","_lastSeriesIndex","dispatchToElement","_lastEventData","derive","makeDefaultOpt","initialize","_super","initializers","__super__","EXTENSION_LIST","PARAMETER_NAMES","GLInfo","extensions","extName","createExtension","xhr","XMLHttpRequest","open","onprogress","lengthComputable","loaded","total","response","send","__WEBPACK_IMPORTED_MODULE_0__core_LRU__","colorUtil","kCSSColorTable","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","clampCssByte","clampCssAngle","clampCssFloat","parseCssInt","parseCssFloat","cssHueToRgb","lerpNumber","setRgba","copyRgba","colorCache","lastRemovedArr","putToCache","hsla2rgba","hsla","rgba2hsla","H","S","R","G","B","vMin","vMax","deltaR","deltaG","deltaB","cached","toLowerCase","op","ep","fname","iv","stringify","toHex","fastLerp","normalizedValue","colors","leftIndex","rightIndex","leftColor","rightColor","dv","fastMapToColor","fullOutput","mapToColor","modifyHSL","modifyAlpha","arrColor","_length","insertAt","insertBeforeEntry","removeAt","getHead","getTail","getAt","isEmpty","haveContext","__WEBPACK_IMPORTED_MODULE_0__GLProgram__","loopRegex","unrollLoop","lightsNumbers","snippet","unroll","lightNumberDefines","getExtensionCode","exts","extensionStr","getPrecisionCode","ProgramManager","_renderer","shaderID","skinDefineCode","skinDefines","SKINNING","JOINT_COUNT","USE_SKIN_MATRICES_TEXTURE","vertexDefineStr","fragmentDefineStr","vertexCode","fragmentCode","finalVertexCode","finalFragmentCode","buildProgram","__WEBPACK_IMPORTED_MODULE_1__core_Base__","SHADER_STATE_TO_ENABLE","SHADER_STATE_KEEP_ENABLE","SHADER_STATE_PENDING","enabledAttributeList","addLineNumbers","string","il","checkShaderErrorMsg","shaderString","getShaderParameter","getShaderInfoLog","tmpFloat32Array16","GLProgram","_locations","_textureSlot","_program","useProgram","activeTexture","textureSlot","locationMap","uniformMatrix4fv","uniform2i","uniform2f","uniform3i","uniform3f","uniform4i","uniform4f","uniform1i","uniform1f","uniform1fv","uniform1iv","uniform2iv","uniform2fv","uniform3iv","uniform3fv","uniform4iv","uniform4fv","uniformMatrix2fv","uniformMatrix3fv","attribList","enabledAttributeListInContext","__enabledAttributeList","getAttribLocation","enableVertexAttribArray","disableVertexAttribArray","vertexShaderCode","fragmentShaderCode","vertexShader","createProgram","shaderSource","compileShader","fragmentShader","msg","bindAttribLocation","linkProgram","getProgramParameter","getProgramInfoLog","uniformSymbol","getUniformLocation","deleteShader","__WEBPACK_IMPORTED_MODULE_1__math_Ray__","__WEBPACK_IMPORTED_MODULE_2__math_Vector2__","__WEBPACK_IMPORTED_MODULE_4__math_Matrix4__","__WEBPACK_IMPORTED_MODULE_5__Renderable__","__WEBPACK_IMPORTED_MODULE_7__glmatrix_vec3__","RayPicking","_ray","_ndc","forcePickAll","_intersectNode","_intersectionCompareFunc","pickByRay","_intersectRenderable","worldInverse","cullBack","weightAttr","jointAttr","skinMatrices","skinnedPos","skinnedPositionAttr","skinnedPosition","createAttribute","finalPosAttr","pointW","Intersection","pointWorld","triangleIndex","getArrayCtorByType","makeAttrKey","idx4","needsRemove","ArrayConstructor","copyValue","GeometryBase","_enabledAttributes","_attributeList","enabledAttributes","getTriangleIndices","setTriangleIndices","attrib","removeAttribute","attributeList","getAttribute","isAttributesDirty","isIndicesDirty","_updateBuffer","firstUpdate","attributeBufferMap","bufferInfo","attribute","createBuffer","bufferData","__WEBPACK_IMPORTED_MODULE_0__calcAmbientSHLight_glsl_js__","uniformVec3Prefix","uniformFloatPrefix","exportHeaderPrefix","exportEnd","unconfigurable","__WEBPACK_IMPORTED_MODULE_1__Texture2D__","DDS_MAGIC","DDSD_MIPMAPCOUNT","DDSCAPS2_CUBEMAP","DDPF_FOURCC","fourCCToInt32","headerLengthInt","FOURCC_DXT1","FOURCC_DXT3","FOURCC_DXT5","off_magic","off_size","off_flags","off_height","off_width","off_mipmapCount","off_pfFlags","off_pfFourCC","off_caps2","arrayBuffer","header","Int32Array","blockBytes","internalFormat","fourCC","isCubeMap","hasMipmap","dataOffset","mipmapCount","dataLength","byteArray","toChar","String","fromCharCode","MINELEN","MAXELEN","rgbe2float","rgbe","uint82string","copyrgbe","oldReadColors","scan","xmax","rshift","readColors","_char","scanline","offset2","parseRGBEFromPNG","png","__WEBPACK_IMPORTED_MODULE_0_claygl_src_Texture2D__","__WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector3__","__WEBPACK_IMPORTED_MODULE_2_claygl_src_math_Vector2__","events","makeHandlerName","EChartsSurface","eveObj","_meshes","dispatchEvent","_chart","getDom","__oldRefreshImmediately","uv0","uv1","uv2","attachedMesh","texcoord","dispatch","zrX","zrY","attachToMesh","detachFromMesh","__WEBPACK_IMPORTED_MODULE_0__Light__","__WEBPACK_IMPORTED_MODULE_1__util_cubemap__","AmbientCubemapLight","_normalDistribution","_brdfLookup","__prefiltered","getBRDFLookup","ambientCubemapLightColor","instance","ambientCubemapLightCubemap","ambientCubemapLightBRDFLookup","AmbientSHLight","_coefficientsTmpArr","ambientSHLightColor","ambientSHLightCoefficients","coefficientsTmpArr","__WEBPACK_IMPORTED_MODULE_1__FrameBuffer__","__WEBPACK_IMPORTED_MODULE_2__Texture2D__","__WEBPACK_IMPORTED_MODULE_5__plugin_Skybox__","__WEBPACK_IMPORTED_MODULE_6__plugin_Skydome__","__WEBPACK_IMPORTED_MODULE_7__prePass_EnvironmentMap__","__WEBPACK_IMPORTED_MODULE_9__glmatrix_vec3__","sh","harmonics","normalTransform","projectEnvironmentMapCPU","cubePixels","coeff","texel","fetchNormal","sideResult","rgbmTexture","Sphere","phiStart","phiLength","thetaStart","thetaLength","i4","IndicesCtor","ambientLightColor","shadowSlopeScale","shadowCascade","cascadeSplitLogFactor","directionalLightDirection","__dir","directionalLightColor","pointLightPosition","pointLightRange","pointLightColor","umbraAngle","penumbraAngle","falloffFactor","spotLightPosition","spotLightRange","spotLightUmbraAngleCosine","spotLightPenumbraAngleCosine","spotLightFalloffFactor","spotLightDirection","spotLightColor","__WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__","__WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__","__WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__","__WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__","__WEBPACK_IMPORTED_MODULE_0_zrender_lib_animation_Animator__","__WEBPACK_IMPORTED_MODULE_0_zrender_lib_animation_Animator___default","animatableMixin","getAnimators","pathSplitted","addAnimator","forwardToLast","removeAnimator","Clip","arraySlice","defaultGetter","defaultSetter","interpolateNumber","interpolateString","interpolateArray","arrDim","len2","fillArr","arr0","arr1","arr0Len","arr1Len","isPreviousLarger","isArraySame","catmullRomInterpolateArray","t3","catmullRomInterpolate","cloneValue","rgba2String","getArrayDim","keyframes","lastValue","createTrackClip","oneTrackDone","forceAnimate","_getter","setter","_setter","useSpline","trackLen","trackMaxTime","firstVal","isValueArray","isValueColor","isValueString","kfPercents","kfValues","prevValue","isAllValueEqual","colorArray","_target","lastFrame","lastFramePercent","onframe","clip","life","loop","_loop","delay","_delay","ondestroy","Animator","_tracks","_clipCount","_doneList","_onframeList","_clipList","tracks","pause","_paused","resume","isPaused","_doneCallback","doneList","lastClip","clipCount","addClip","oldOnFrame","clipList","removeClip","getClips","easingFuncs","_life","_initialized","onrestart","_pausedTime","globalTime","_startTime","easingFunc","schedule","fire","restart","_needsRemove","eventType","linear","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","GL_SERIES","convertNormalEmphasis","optType","normalOpt","emphasisOpt","convertNormalEmphasisForEach","removeTextStyleInAxis","axesOpt","axisOpt","axisLabel","labelOpt","mapbox3D","mapbox","xAxis3D","yAxis3D","zAxis3D","grid3D","__WEBPACK_IMPORTED_MODULE_4_echarts_lib_echarts__","__WEBPACK_IMPORTED_MODULE_4_echarts_lib_echarts___default","query","__WEBPACK_IMPORTED_MODULE_1__createAxis3DModel__","Axis3DModel","extendComponentModel","getCoordSysModel","gridIndex","gridId","getAxisType","axisDim","mixinAxisModelCommonMethods","__WEBPACK_IMPORTED_MODULE_1__axis3DDefault__","__WEBPACK_IMPORTED_MODULE_2_echarts_lib_data_OrdinalMeta__","__WEBPACK_IMPORTED_MODULE_2_echarts_lib_data_OrdinalMeta___default","AXIS_TYPES","BaseAxisModelClass","axisTypeDefaulter","extraDefaultOption","axisType","__ordinalMeta","themeModel","optionUpdated","thisOption","createByAxisModel","getCategories","categories","nameLocation","nameTextStyle","nameGap","axisPointer","axisLine","axisTick","splitArea","categoryAxis","boundaryGap","alignWithLabel","splitNumber","timeAxis","logAxis","logBase","categoryAxis3D","valueAxis3D","timeAxis3D","logAxis3D","OrdinalMeta","_needCollect","needCollect","_deduplication","deduplication","dedplication","getOrCreateMap","getOrdinal","category","parseAndCollect","__WEBPACK_IMPORTED_MODULE_1__common_componentViewControlMixin__","__WEBPACK_IMPORTED_MODULE_2__common_componentPostEffectMixin__","__WEBPACK_IMPORTED_MODULE_3__common_componentLightMixin__","Grid3DModel","lineStyle","splitLine","areaStyle","__WEBPACK_IMPORTED_MODULE_2__util_OrbitControl__","__WEBPACK_IMPORTED_MODULE_5__util_ZRTextureAtlasSurface__","__WEBPACK_IMPORTED_MODULE_6__common_SceneHelper__","__WEBPACK_IMPORTED_MODULE_7__Grid3DFace__","__WEBPACK_IMPORTED_MODULE_8__Grid3DAxis__","__WEBPACK_IMPORTED_MODULE_9__util_mesh_LabelsMesh__","__WEBPACK_IMPORTED_MODULE_10__util_shader_lines3D_glsl_js__","extendComponentView","dimIndicesMap","FACES","DIMS","quadsMaterial","linesMaterial","_control","_faces","faceInfo","face","_axes","_axisLabelSurface","_axisPointerLineMesh","_axisPointerLabelsSurface","_axisPointerLabelsMesh","_sceneHelper","_model","cartesian","control","_onCameraChange","_initMouseHandler","showAxisPointer","grid3dModel","_doShowAxisPointer","_updateAxisPointer","hideAxisPointer","_doHideAxisPointer","_updateAxisPointerOnMousePosition","nearestIntersectPoint","axis0","getAxis","axis1","idx0","idx1","_updateFaceVisibility","_updateAxisLinePosition","grid3DId","viewSpacePos","depths","frontIndex","backFace","zAxis","getExtentMax","getExtentMin","xAxisNode","yAxisNode","zAxisNode","xAxisZOffset","xAxisYOffset","yAxisXOffset","yAxisYOffset","zAxisXOffset","zAxisZOffset","flipped","_updateAxisLabelAlign","axisInfo","lineCoords","axisLineCoords","labelsMesh","setSpriteAlign","axisPointerLineMesh","linesGeo","axisPointerParentModel","ifShowAxisPointer","getAxisColorAndLineWidth","lineStyleModel","otherCoord","otherDimIdx","faceOtherDim","faceOtherAxis","faceOtherDimIdx","colorAndLineWidth","_updateAxisPointerLabelsMesh","axisPointerLabelsMesh","axisPointerLabelsSurface","lineColor","getLabel","number","getTicks","labelColor","otherIdx","__WEBPACK_IMPORTED_MODULE_0__vec2__","__WEBPACK_IMPORTED_MODULE_3__mat2__","__WEBPACK_IMPORTED_MODULE_4__mat2d__","__WEBPACK_IMPORTED_MODULE_5__mat3__","__WEBPACK_IMPORTED_MODULE_6__mat4__","__WEBPACK_IMPORTED_MODULE_7__quat__","__WEBPACK_IMPORTED_MODULE_2__util_retrieve__","__WEBPACK_IMPORTED_MODULE_4__util_geometry_Quads__","updateFacePlane","otherAxis","Grid3DFace","quadsMesh","axes","lineGeometry","quadsGeometry","_updateSplitLines","_udpateSplitAreas","isBlank","splitLineModel","lineColors","ticksCoords","getTicksCoords","tickModel","tickCoord","splitAreaModel","areaStyleModel","prevP0","prevP1","addQuad","QuadsGeometry","setQuadCount","nQuad","getQuadVertexCount","getQuadTriangleCount","__WEBPACK_IMPORTED_MODULE_2__util_geometry_Lines3D__","__WEBPACK_IMPORTED_MODULE_4__util_mesh_LabelsMesh__","Grid3DAxis","axisLabelsMesh","labelElements","axisLabelSurface","labelsGeo","axisLineModel","axisTickModel","axisLabelModel","axisLineColor","axisLineStyleModel","tickLength","categoryData","labels","getViewLabels","tickValue","formattedLabel","rawLabel","itemTextStyleModel","Model","textColor","nameTextStyleModel","__idx","nameLabelElement","labelGeo","labelEl","nameLabelEl","__WEBPACK_IMPORTED_MODULE_1_claygl_src_Geometry__","squareTriangles","SpritesGeometry","setSpriteCount","spriteCount","_spriteCount","spriteOffset","align","leftOffset","topOffset","rightOffset","bottomOffset","screenMargin","setSprite","__WEBPACK_IMPORTED_MODULE_0__grid3D_Cartesian3D__","__WEBPACK_IMPORTED_MODULE_1__grid3D_Axis3D__","__WEBPACK_IMPORTED_MODULE_3_echarts_lib_util_layout__","__WEBPACK_IMPORTED_MODULE_3_echarts_lib_util_layout___default","__WEBPACK_IMPORTED_MODULE_4__core_ViewGL__","__WEBPACK_IMPORTED_MODULE_5__util_retrieve__","resizeCartesian3D","updateCartesian3D","dataExtents","unionDataExtents","cartesian3D","isCategory","onBand","getLabelModel","getTickModel","addAxis","grid3DCreator","cartesian3DList","axesTypes","findAxesModels","firstGridModel","axesModels","__WEBPACK_IMPORTED_MODULE_1_echarts_lib_coord_cartesian_Cartesian__","__WEBPACK_IMPORTED_MODULE_1_echarts_lib_coord_cartesian_Cartesian___default","Cartesian3D","containData","coordToData","dimAxisMapper","Cartesian","_dimList","getAxes","getAxesByScale","scaleType","_dataCoordConvert","input","method","dimList","Axis3D","_extent","calculateCategoryInterval","numberUtil","toCamelCase","upperCaseFirst","group1","replaceReg","replaceMap","&","<",">","\"","'","TPL_VAR_ALIAS","wrapVar","varName","seriesIdx","tpl","paramsList","encode","seriesLen","$vars","alias","formatTplSimple","extraCssText","pad","isUTC","date","utc","M","capitalFirst","getTextRect","globalImageCache","newImageOrSrc","cachedImgObj","createOrUpdateImage","hostEl","cbPayload","__zrImageSrc","pendingWrap","pending","imageOnLoad","__cachedImgObj","__WEBPACK_IMPORTED_MODULE_2__math_Vector3__","__WEBPACK_IMPORTED_MODULE_4__math_Frustum__","__WEBPACK_IMPORTED_MODULE_5__math_Matrix4__","__WEBPACK_IMPORTED_MODULE_6__Renderer__","__WEBPACK_IMPORTED_MODULE_8__Material__","__WEBPACK_IMPORTED_MODULE_9__FrameBuffer__","__WEBPACK_IMPORTED_MODULE_10__Texture__","__WEBPACK_IMPORTED_MODULE_11__Texture2D__","__WEBPACK_IMPORTED_MODULE_12__TextureCube__","__WEBPACK_IMPORTED_MODULE_13__camera_Perspective__","__WEBPACK_IMPORTED_MODULE_14__camera_Orthographic__","__WEBPACK_IMPORTED_MODULE_15__compositor_Pass__","__WEBPACK_IMPORTED_MODULE_16__compositor_TexturePool__","__WEBPACK_IMPORTED_MODULE_17__glmatrix_mat4__","__WEBPACK_IMPORTED_MODULE_18__shader_source_shadowmap_glsl_js__","getDepthMaterialUniform","isDepthMaterialChanged","ShadowMapPass","softShadow","PCF","lightFrustumBias","_lastRenderNotCastShadow","_shadowMapNumber","POINT_LIGHT","DIRECTIONAL_LIGHT","SPOT_LIGHT","_depthMaterials","_distanceMaterials","_receivers","_lightsCastShadow","_lightCameras","_lightMaterials","_texturePool","_gaussianPassH","_gaussianPassV","_outputDepthPass","sceneCamera","_renderShadowPass","renderDebug","VSM","_updateReceivers","dirLightHasCascade","spotLightShadowMaps","spotLightMatrices","directionalLightShadowMaps","directionalLightMatrices","shadowCascadeClips","pointLightShadowMaps","renderDirectionalLightShadow","renderSpotLightShadow","renderPointLightShadow","directionalLightShadowMapSizes","getSize","shadowCascadeClipsNear","shadowCascadeClipsFar","reverse","spotLightShadowMapSizes","splitFrustum","splitProjMatrix","cropBBox","cropMatrix","lightViewMatrix","lightViewProjMatrix","lightProjMatrix","defaultShadowMaterial","_getDepthMaterial","clippedFar","clippedNear","lightCamera","_getDirectionalLightCamera","lvpMat4Arr","clipPlanes","isPerspective","offsetZ","clog","cuni","_getTexture","nearPlane","farPlane","shadowSize","_gaussianFilter","_getSpotLightCamera","renderListEachSide","lightWorldPosition","lightBBox","targetsNeedRender","vtx","absx","absy","absz","_getPointLightCamera","shadowMaterial","isPointLight","shaderPrefix","parameter","tmpTexture","cascade","resolution","sceneViewBoundingBox","lightViewBBox","directional","spot","_meshMaterials","__WEBPACK_IMPORTED_MODULE_0_claygl_src_Shader__","__WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture__","__WEBPACK_IMPORTED_MODULE_3_claygl_src_FrameBuffer__","__WEBPACK_IMPORTED_MODULE_4_claygl_src_compositor_createCompositor__","__WEBPACK_IMPORTED_MODULE_5__SSAOPass__","__WEBPACK_IMPORTED_MODULE_6__SSRPass__","__WEBPACK_IMPORTED_MODULE_7__poissonKernel__","__WEBPACK_IMPORTED_MODULE_8__util_graphicGL__","__WEBPACK_IMPORTED_MODULE_9__NormalPass__","__WEBPACK_IMPORTED_MODULE_10__EdgePass__","__WEBPACK_IMPORTED_MODULE_12__composite_js__","__WEBPACK_IMPORTED_MODULE_13_claygl_src_shader_source_compositor_blur_glsl_js__","__WEBPACK_IMPORTED_MODULE_14_claygl_src_shader_source_compositor_lut_glsl_js__","__WEBPACK_IMPORTED_MODULE_15_claygl_src_shader_source_compositor_output_glsl_js__","__WEBPACK_IMPORTED_MODULE_16_claygl_src_shader_source_compositor_bright_glsl_js__","__WEBPACK_IMPORTED_MODULE_17_claygl_src_shader_source_compositor_downsample_glsl_js__","__WEBPACK_IMPORTED_MODULE_18_claygl_src_shader_source_compositor_upsample_glsl_js__","__WEBPACK_IMPORTED_MODULE_19_claygl_src_shader_source_compositor_hdr_glsl_js__","__WEBPACK_IMPORTED_MODULE_20_claygl_src_shader_source_compositor_blend_glsl_js__","__WEBPACK_IMPORTED_MODULE_21_claygl_src_shader_source_compositor_fxaa_glsl_js__","__WEBPACK_IMPORTED_MODULE_22__DOF_glsl_js__","__WEBPACK_IMPORTED_MODULE_23__edge_glsl_js__","commonOutputs","FINAL_NODES_CHAIN","EffectCompositor","_sourceTexture","_depthTexture","_framebuffer","_normalPass","sourceNode","getNodeByName","cocNode","_sourceNode","_cocNode","_compositeNode","_fxaaNode","_dofBlurNodes","_dofBlurKernel","_dofBlurKernelSize","_finalNodesChain","gBufferObj","normalTexture","getNormalTexture","depthTexture","getDepthTexture","_ssaoPass","_ssrPass","_edgePass","sourceTexture","_ifRenderNormalPass","_enableEdge","_enableSSR","_getPrevNode","prevNode","_getNextNode","nextNode","_addChainNode","inputs","addNode","_removeChainNode","removeNode","getTargetTexture","getSourceTexture","_enableColorCorrection","kernelSize","low","medium","high","ultra","maxIteration","pixelStride","setPhysicallyCorrectSSR","physical","setPhysicallyCorrect","isSSREnabled","targetTexture","setSSAOTexture","blurKernel","blurKernelSize","frameAll","kernelOffset","__WEBPACK_IMPORTED_MODULE_0__createCompositor__","__WEBPACK_IMPORTED_MODULE_1__compositor_Compositor__","__WEBPACK_IMPORTED_MODULE_2__compositor_SceneNode__","__WEBPACK_IMPORTED_MODULE_3__compositor_TextureNode__","__WEBPACK_IMPORTED_MODULE_4__compositor_FilterNode__","__WEBPACK_IMPORTED_MODULE_5__Shader__","__WEBPACK_IMPORTED_MODULE_6__Texture__","__WEBPACK_IMPORTED_MODULE_7__Texture2D__","__WEBPACK_IMPORTED_MODULE_8__TextureCube__","__WEBPACK_IMPORTED_MODULE_9__shader_registerBuiltinCompositor__","shaderSourceReg","createCompositor","json","lib","afterLoad","shaderLib","textureLib","nodes","nodeInfo","createNode","paramInfo","convertParameter","loadTextures","shaderExp","shaders","createSizeSetHandler","tryConvertExpr","defaultWidthFunc","defaultHeightFunc","createSizeParser","cbd","textureRootPath","textureInfo","exprFunc","exprRes","__WEBPACK_IMPORTED_MODULE_0__Graph__","__WEBPACK_IMPORTED_MODULE_1__TexturePool__","__WEBPACK_IMPORTED_MODULE_2__FrameBuffer__","Compositor","_outputs","getFrameBuffer","__WEBPACK_IMPORTED_MODULE_1__CompositorNode__","Graph","fromPinInfo","fromPin","findPin","inputPin","__WEBPACK_IMPORTED_MODULE_0__CompositorNode__","SceneNode","autoUpdateScene","renderInfo","TextureNode","__WEBPACK_IMPORTED_MODULE_0__Pass__","FilterNode","inputTexture","register","__WEBPACK_IMPORTED_MODULE_0__source_compositor_coloradjust_glsl_js__","__WEBPACK_IMPORTED_MODULE_1__source_compositor_blur_glsl_js__","__WEBPACK_IMPORTED_MODULE_2__source_compositor_lum_glsl_js__","__WEBPACK_IMPORTED_MODULE_3__source_compositor_lut_glsl_js__","__WEBPACK_IMPORTED_MODULE_4__source_compositor_vignette_glsl_js__","__WEBPACK_IMPORTED_MODULE_5__source_compositor_output_glsl_js__","__WEBPACK_IMPORTED_MODULE_6__source_compositor_bright_glsl_js__","__WEBPACK_IMPORTED_MODULE_7__source_compositor_downsample_glsl_js__","__WEBPACK_IMPORTED_MODULE_8__source_compositor_upsample_glsl_js__","__WEBPACK_IMPORTED_MODULE_9__source_compositor_hdr_glsl_js__","__WEBPACK_IMPORTED_MODULE_10__source_compositor_lensflare_glsl_js__","__WEBPACK_IMPORTED_MODULE_11__source_compositor_blend_glsl_js__","__WEBPACK_IMPORTED_MODULE_12__source_compositor_fxaa_glsl_js__","__WEBPACK_IMPORTED_MODULE_0_claygl_src_math_Matrix4__","__WEBPACK_IMPORTED_MODULE_4_claygl_src_compositor_Pass__","__WEBPACK_IMPORTED_MODULE_5_claygl_src_Shader__","__WEBPACK_IMPORTED_MODULE_6_claygl_src_FrameBuffer__","__WEBPACK_IMPORTED_MODULE_7__halton__","__WEBPACK_IMPORTED_MODULE_8__SSAO_glsl_js__","generateNoiseData","generateNoiseTexture","generateKernel","hemisphere","kernel","SSAOPass","_blurPass","_ssaoTexture","_blurTexture","_blurTexture2","_depthTex","_normalTex","setNoiseSize","setKernelSize","power","setDepthTexture","depthTex","setNormalTexture","normalTex","_kernelSize","ssaoPass","blurPass","_kernels","viewInverseTranspose","ssaoTexture","blurTexture","blurTexture2","__WEBPACK_IMPORTED_MODULE_8_claygl_src_util_cubemap__","__WEBPACK_IMPORTED_MODULE_9__SSR_glsl_js__","SSRPass","_blurPass1","_blurPass2","_blendPass","_ssrTexture","_texture2","_texture3","_prevTexture","_currentTexture","_totalSamples","_samplePerFrame","_downScale","setAmbientCubemap","specularCubemap","enableSpecularMap","ssrTexture","texture2","texture3","ssrPass","blurPass1","blurPass2","blendPass","toViewSpace","toWorldSpace","_physicallyCorrect","weight1","weight2","isPhysicallyCorrect","__WEBPACK_IMPORTED_MODULE_1_claygl_src_Texture__","__WEBPACK_IMPORTED_MODULE_2_claygl_src_Shader__","__WEBPACK_IMPORTED_MODULE_4_claygl_src_Material__","__WEBPACK_IMPORTED_MODULE_5_claygl_src_compositor_Pass__","__WEBPACK_IMPORTED_MODULE_6_claygl_src_util_texture__","__WEBPACK_IMPORTED_MODULE_7__util_shader_normal_glsl_js__","attachTextureToSlot","getBeforeRenderHook","defaultNormalMap","defaultBumpMap","defaultRoughnessMap","normalMaterial","previousNormalMap","previousBumpMap","previousRoughnessMap","previousRenderable","prevNormalMaterial","normalMap","roughnessMap","bumpMap","useBumpMap","useRoughnessMap","doubleSide","NormalPass","_normalMaterial","_defaultNormalMap","_defaultBumpMap","_defaultRoughessMap","_debugPass","EdgePass","_targetTexture","textureSize","blurSize","blurDir","texture1","focalDist","coc","BLUR_NEARFIELD","BLUR_COC","original","blurred","nearfield","nearcoc","__WEBPACK_IMPORTED_MODULE_0__halton__","__WEBPACK_IMPORTED_MODULE_1_claygl_src_compositor_Pass__","__WEBPACK_IMPORTED_MODULE_2_claygl_src_FrameBuffer__","__WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture2D__","TemporalSuperSampling","frames","haltonSequence","_haltonSequence","_sourceTex","_sourceFb","_prevFrameTex","_outputTex","_blendFb","_outputPass","translationMat","getOutputTexture","sourceTex","notOutput","__WEBPACK_IMPORTED_MODULE_4__common_componentShadingMixin__","__WEBPACK_IMPORTED_MODULE_5__coord_geo3D_geo3DModelMixin__","Geo3DModel","completeDimensions","encodeDef","dimsDef","regionModelMap","_regionModelMap","serName","__WEBPACK_IMPORTED_MODULE_0__common_Geo3DBuilder__","__WEBPACK_IMPORTED_MODULE_2__util_graphicGL__","__WEBPACK_IMPORTED_MODULE_3__util_OrbitControl__","__WEBPACK_IMPORTED_MODULE_4__common_SceneHelper__","_geo3DBuilder","geo3DId","earcut","holeIndices","minX","minY","hasHoles","outerLen","outerNode","linkedList","eliminateHoles","earcutLinked","last","signedArea","insertNode","equals","filterPoints","again","steiner","area","ear","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","intersects","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","mx","my","tanMin","sortLinked","numMerges","pSize","qSize","inSize","leftmost","intersectsPolygon","middleInside","q1","q2","an","bp","deviation","polygonArea","trianglesArea","coordsOffsetMap","南海诸岛","广东","香港","澳门","天津","coordFix","geoCoordMap","Russia","United States","United States of America","defaultId","GlobeModel","superApply","layerOption","defaultLayerOption","oldLayers","createLayerMap","newLayerMap","oldLayerMap","updateDisplacementHash","baseColor","baseTexture","heightTexture","displacementTexture","displacementScale","displacementQuality","globeRadius","globeOuterRadius","targetCoord","setDisplacementData","displacementData","displacementWidth","displacementHeight","getDisplacementTexture","getDisplacemenScale","hasDisplacement","_displacementChanged","_displacementScale","_displacementTexture","isDisplacementChanged","__WEBPACK_IMPORTED_MODULE_3__common_SceneHelper__","__WEBPACK_IMPORTED_MODULE_4__util_sunCalc__","_sphereGeometry","_overlayGeometry","_planeGeometry","_earthMesh","_layerMeshes","globeModel","earthMesh","shadingPrefix","texName","diffuseTexture","bumpTexture","_updateLight","_displaceVertices","_updateViewControl","_updateLayers","lastDistance","layerDiffuseTextures","layerDiffuseIntensity","layerEmissiveTextures","layerEmissionIntensity","layerModel","layerType","blendTo","overlayMesh","__lambertMaterial","__colorMaterial","blankTexture","_blankTexture","earthMaterial","makeAction","globeId","showDebugWireframe","globe","_displacementQuality","_showDebugWireframe","_doDisplaceVertices","uvArr","originalPositionArr","__originalPosition","getPosition","altitude","azimuth","dayMs","J1970","J2000","toJulian","valueOf","toDays","rightAscension","declination","dec","siderealTime","lw","solarMeanAnomaly","eclipticLongitude","C","P","sunCoords","ra","SunCalc","__WEBPACK_IMPORTED_MODULE_0__globe_Globe__","__WEBPACK_IMPORTED_MODULE_5__util_graphicGL__","getDisplacementData","displacementArr","resizeGlobe","outerRadius","updateGlobe","globeCreator","globeList","displacementTextureValue","immediateLoaded","Globe","_getDisplacementScale","altVal","setMapboxCameraOption","__WEBPACK_IMPORTED_MODULE_0__mapbox3D_Mapbox3D__","__WEBPACK_IMPORTED_MODULE_2__mapServiceCommon_createMapService3DCreator__","mapbox3DCreator","mapbox3DList","getMapboxCameraOption","__WEBPACK_IMPORTED_MODULE_0__mapServiceCommon_MapService3D__","Mapbox3D","__WEBPACK_IMPORTED_MODULE_1__common_componentPostEffectMixin__","__WEBPACK_IMPORTED_MODULE_2__common_componentLightMixin__","MAPBOX_CAMERA_OPTION","Mapbox3DModel","getMapbox","_mapbox","setMapbox","__WEBPACK_IMPORTED_MODULE_1__Mapbox3DLayer__","__WEBPACK_IMPORTED_MODULE_2__common_SceneHelper__","__WEBPACK_IMPORTED_MODULE_3__util_graphicGL__","__WEBPACK_IMPORTED_MODULE_4__util_shader_displayShadow_glsl_js__","_zrLayer","dispatchInteractAction","_dispatchInteractAction","eName","mapbox3DModel","styleDesc","styleStr","JSON","_oldStyleStr","setZoom","setPitch","setBearing","_updateGroundMesh","_mapbox3DModel","updateCamera","getPitch","getBearing","mapbox3DId","ray1","ray2","pos0","pos1","delLayer","Mapbox3DLayer","mapboxgl","Map","container","_initEvents","EVENTS","mapboxRoot","getCanvasContainer","_handlers","contextmenu","bubbles","newE","setMaptalksCameraOption","__WEBPACK_IMPORTED_MODULE_0__maptalks3D_Maptalks3D__","maptalks3DCreator","maptalks3DList","maptalks3D","getMaptalksCameraOption","Maptalks3D","MAPTALKS_CAMERA_OPTION","Maptalks3DModel","urlTemplate","attribution","getMaptalks","_maptalks","setMaptalks","maptalks","__WEBPACK_IMPORTED_MODULE_1__Maptalks3DLayer__","_initMaptalksLayer","maptalks3DModel","mtks","baseLayer","getBaseLayer","_oldUrlTemplate","setOptions","TileLayer","subdomains","setBaseLayer","_maptalks3DModel","maptalks3DId","Maptalks3DLayer","defaultCenter","defaultZoom","fog","checkSize","maptalksRoot","firstElementChild","__WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__","filterSelf","__WEBPACK_IMPORTED_MODULE_2_claygl_src_dep_glmatrix__","__WEBPACK_IMPORTED_MODULE_3__cartesian3DLayout__","__WEBPACK_IMPORTED_MODULE_4__evaluateBarSparseness__","isDimensionStacked","globeLayout","barMinHeight","barSize","coordDimName","perimeter","fillRatio","valueDim","getValueDimension","stackedValue","dimension","baseValue","isStacked","setItemLayout","setLayout","geo3DLayout","mapService3DLayout","dimLng","dimLat","dimAlt","xExtent","yExtent","corner0","corner1","getCalculationInfo","coordSysType","ifCrossZero","cartesian3DLayout","barWidth","barDepth","zAxisExtent","ifZAxisCrossZero","dimX","dimY","xSpan","ySpan","dimSize","xIdx","yIdx","filledCount","__WEBPACK_IMPORTED_MODULE_3__util_format__","__WEBPACK_IMPORTED_MODULE_4__util_geometry_Bars3DGeometry__","__WEBPACK_IMPORTED_MODULE_5__component_common_LabelsBuilder__","__WEBPACK_IMPORTED_MODULE_6_claygl_src_dep_glmatrix__","extendChartView","getItemLayout","_prevBarMesh","_barMesh","enableNormal","barMesh","bevelSize","bevelSegments","vertexColors","colorOffset","barCount","hasTransparent","setBarCount","barIndexOfData","_barIndexOfData","addBar","_initHandler","getDataIndexOfVertex","_downplay","_highlight","barIndex","setColor","_toggleStatus","dataIdx","__WEBPACK_IMPORTED_MODULE_1__dynamicConvertMixin__","__WEBPACK_IMPORTED_MODULE_2__trianglesSortMixin__","__WEBPACK_IMPORTED_MODULE_3_claygl_src_Geometry__","__WEBPACK_IMPORTED_MODULE_4_claygl_src_dep_glmatrix__","BarsGeometry","prevNormal","_dataIndices","getBarVertexCount","getBarTriangleCount","_getBevelBarVertexCount","_getBevelBarTriangleCount","v3Create","v3ScaleAndAdd","cubeFaces4","face4To3","cubeFaces3","face4","leftDir","startVertex","_addBevelBar","endVerex","rotateMat","bevelStartSize","xOffsets","zOffsets","yOffsets","rx","ry","rz","endIndices","__WEBPACK_IMPORTED_MODULE_1__component_common_componentShadingMixin__","__WEBPACK_IMPORTED_MODULE_2__util_format__","__WEBPACK_IMPORTED_MODULE_3__common_formatTooltip__","__WEBPACK_IMPORTED_MODULE_4__common_createList__","Bar3DSeries","extendSeriesModel","globeIndex","bevelSmoothness","onGridPlane","minHeight","__WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol__","__WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol___default","coordDims","__WEBPACK_IMPORTED_MODULE_1__common_formatTooltip__","__WEBPACK_IMPORTED_MODULE_2__common_createList__","__WEBPACK_IMPORTED_MODULE_4_claygl_src_math_Matrix4__","__WEBPACK_IMPORTED_MODULE_5_claygl_src_math_Vector3__","__WEBPACK_IMPORTED_MODULE_6_zrender_lib_contain_line__","__WEBPACK_IMPORTED_MODULE_6_zrender_lib_contain_line___default","__WEBPACK_IMPORTED_MODULE_7_claygl_src_dep_glmatrix__","_prevLine3DMesh","_line3DMesh","_pick","_updateNDCPosition","lineMesh","_points","indicesOfNearest","positionNDC","_positionNDC","nPoints","halfWidth","containStroke","dist0","dist1","_l","_a","_b","_s","progress","__WEBPACK_IMPORTED_MODULE_1__util_format__","__WEBPACK_IMPORTED_MODULE_2__common_formatTooltip__","__WEBPACK_IMPORTED_MODULE_3__common_createList__","lastDim","progressive","progressiveThreshold","blendMode","__WEBPACK_IMPORTED_MODULE_4__common_PointsBuilder__","_pointsBuilderList","_currentStep","pointsBuilder","incrementalPrepareRender","incrementalRender","isHighlight","makeSprite","draw","makePath","marginBias","spriteUtil","getMarginByStyle","createSymbol","__size","generateSDF","sourceImageData","sourceWidth","sourceHeight","sign","searchMinDistance","minDistSqr","distSqr","sdfImageData","normalized","shadowBlurSize","outCanvas","outCtx","createSimpleSprite","halfSize","beginPath","gradient","createRadialGradient","addColorStop","__WEBPACK_IMPORTED_MODULE_1__util_geometry_verticesSortMixin__","__WEBPACK_IMPORTED_MODULE_4__sdfSprite_glsl_js__","PointsMesh","prevSize","sdfTexture","ndcScaleX","ndcScaleY","noneCount","_zList","_noneCount","zList","bitangent","halfVector","coord0","coord1","getCubicPointsOnGlobe","projDist","getCubicPointsOnPlane","getPolylinePoints","prepareCoords","coordsList","layoutGlobe","isPolyline","getPointsMethod","layoutOnPlane","__WEBPACK_IMPORTED_MODULE_3__TrailMesh2__","__WEBPACK_IMPORTED_MODULE_4__util_shader_lines3D_glsl_js__","getCoordSysSize","_meshLinesMaterial","_trailMesh","_updateLines","trailMesh","__time","_curveEffectsAnimator","setAnimationTime","pauseEffect","resumeEffect","toggleEffect","expandLine","lineWidthQueryPath","maxLineWidth","__WEBPACK_IMPORTED_MODULE_4__shader_trail2_glsl_js__","lines3DGeometry","effectModel","trailLength","period","useConstantSpeed","extraAttrs","effectColor","effectOpacity","hasEffectColor","hasEffectOpacity","xScale","yScale","posPrev","randomStart","distAll","lineData","dataItem","geo3DIndex","polyline","effect","trailWidth","spotIntensity","__WEBPACK_IMPORTED_MODULE_3__common_opacityVisual__","transformPolygon","poly","Polygons3DSeries","polygonsData","multiPolygon","__WEBPACK_IMPORTED_MODULE_1__component_common_Geo3DBuilder__","_geo3DBuilderList","geo3DBuilder","_updateShaderDefines","SurfaceSeries","validateDimension","dimOpts","parametric","parametricEquation","uOpts","vOpts","uCount","vCount","uPrecision","vPrecision","u2","equation","xOpts","yOpts","xCount","yCount","xPrecision","yPrecision","wireframe","__WEBPACK_IMPORTED_MODULE_4__util_geometry_trianglesSortMixin__","isPointsNaN","_prevSurfaceMesh","_surfaceMesh","_createSurfaceMesh","isParametric","dataShape","_getDataShape","wireframeModel","wireframeLineWidth","showWireframe","_updateSurfaceMesh","surfaceMesh","getNearestPointIdx","nearestDist","nearestIdx","minDist","pointsArr","invalidDataCount","needsSplitQuad","barycentricAttr","row","column","needsNormal","quadBarycentric","getQuadIndices","quadIndices","getFromArray","vertexNormals","farPoints","invisibleQuad","prevX","rowCount","columnCount","prevColumnCount","rowDim","surfaceModel","nanPoint","__WEBPACK_IMPORTED_MODULE_1__component_common_componentViewControlMixin__","__WEBPACK_IMPORTED_MODULE_2__component_common_componentPostEffectMixin__","__WEBPACK_IMPORTED_MODULE_3__component_common_componentLightMixin__","__WEBPACK_IMPORTED_MODULE_4__component_common_componentShadingMixin__","__WEBPACK_IMPORTED_MODULE_6__util_format__","__WEBPACK_IMPORTED_MODULE_7__common_formatTooltip__","__WEBPACK_IMPORTED_MODULE_8__coord_geo3DCreator__","mapbox3DCoordSys","newPoly","Map3DSeries","newOpt","propsNeedToCheck","ignoredProperties","_geo","__WEBPACK_IMPORTED_MODULE_3__component_common_SceneHelper__","__WEBPACK_IMPORTED_MODULE_4__component_common_Geo3DBuilder__","map3DId","createList","large","zoomScale","__WEBPACK_IMPORTED_MODULE_3__common_PointsBuilder__","__WEBPACK_IMPORTED_MODULE_4__common_GLViewHelper__","_glViewHelper","_removeTransformInPoints","paletteScope","categoriesData","getCategoriesData","categoryNameIdxMap","getGraph","edgeData","getEdgeData","colorQuery","opacityQuery","getEdgeByIndex","__WEBPACK_IMPORTED_MODULE_1__createGraphFromNodeEdge__","GraphSeries","_categoriesData","_updateCategoriesData","edges","links","beforeLink","nodeData","categoriesModels","_categoriesModels","categoryIdx","categoryModel","edgeLabelModel","fakeSeriesModel","edgeGetParent","parsePath","customizeGetParent","sourceName","targetName","mapArray","setNodePosition","getRawDataItem","superCall","legendHoverLink","forceAtlas2","initLayout","GPU","steps","maxSteps","repulsionByDegree","linLogMode","strongGravityMode","gravity","edgeWeightInfluence","edgeWeight","nodeWeight","preventOverlap","gravityCenter","focusNodeAdjacency","focusNodeAdjacencyOn","roam","__WEBPACK_IMPORTED_MODULE_1_echarts_lib_data_Graph__","__WEBPACK_IMPORTED_MODULE_1_echarts_lib_data_Graph___default","__WEBPACK_IMPORTED_MODULE_2_echarts_lib_data_helper_linkList__","__WEBPACK_IMPORTED_MODULE_2_echarts_lib_data_helper_linkList___default","directed","linkNameList","validEdges","linkCount","addEdge","dimensionNames","mainData","struct","structAttr","datas","datasAttr","_clazz","enableClassCheck","generateNodeKey","_directed","_nodesMap","_edgesMap","graphProto","inEdges","outEdges","hostGraph","Edge","n1","n2","isDirected","nodesMap","getNodeByIndex","rawIdx","getRawIndex","getNodeById","edgesMap","isInstance","getEdge","eachNode","breadthFirstTraverse","startNode","edgeType","__visited","currentNode","otherNode","degree","inDegree","outDegree","createGraphDataProxyMixin","hostName","dataName","getValue","getDimension","ignoreParent","getGraphicEl","getItemGraphicEl","TYPE_DELIMITER","IS_CONTAINER","parseClassType","checkClassType","test","enableClassExtend","RootClass","mandatoryMethods","$constructor","ExtendedClass","classBase","Clz","classAttr","enableClassManagement","entity","makeContainer","registerClass","Clazz","getClass","componentMainType","throwWhenNotFound","getClassesByMainType","getAllClassMainTypes","types","hasSubTypes","registerWhenExtend","originalExtend","setReadOnly","DATAS","MAIN_DATA","linkList","linkAll","TRANSFERABLE_METHODS","transferInjection","cloneShallowInjection","changeInjection","isMainData","linkSingle","__WEBPACK_IMPORTED_MODULE_1_echarts_lib_util_layout__","__WEBPACK_IMPORTED_MODULE_1_echarts_lib_util_layout___default","__WEBPACK_IMPORTED_MODULE_4__util_geometry_Lines2D__","__WEBPACK_IMPORTED_MODULE_6__ForceAtlas2GPU__","__WEBPACK_IMPORTED_MODULE_7__ForceAtlas2__","__WEBPACK_IMPORTED_MODULE_8_zrender_lib_animation_requestAnimationFrame__","__WEBPACK_IMPORTED_MODULE_8_zrender_lib_animation_requestAnimationFrame___default","__WEBPACK_IMPORTED_MODULE_9_claygl_src_dep_glmatrix__","__WEBPACK_IMPORTED_MODULE_10__util_Roam2DControl__","__WEBPACK_IMPORTED_MODULE_11__common_PointsBuilder__","__WEBPACK_IMPORTED_MODULE_12__util_shader_lines2D_glsl_js__","globalLayoutId","_pointsBuilder","_forceEdgesMesh","_edgesMesh","_layoutId","setTarget","_clickHandler","_initLayout","_forceLayoutInstance","seriesId","getOffset","setOffset","_mousemoveHandler","_mouseOutHandler","_lastMouseOverDataIndex","_layouting","_updateForceEdgesGeometry","layoutInstance","getNodeUV","_updateMeshLinesGeometry","lineWidthQuery","_originalEdgeColors","_edgeIndicesMap","idx2","_updateForceNodesGeometry","stopLayout","beforeLayout","layoutModel","nodeDataExtent","edgeDataExtent","edgeWeightRange","nodeWeightRange","nodesIndicesMap","layoutPoints","mass","isGPU","_forceLayoutInstanceToDispose","updateOption","getEdges","_updatePositionTexture","_updateAfterLayout","positionTex","getNodePositionTexture","startLayout","layoutId","stepsCount","syncStepCount","doLayout","_syncNodePosition","getNodePosition","_downplayAll","focusNodes","_fadeOutEdgesAll","focusEdges","_highlightEdge","_focusNodes","_focusEdges","unfocusNodeAdjacency","_fadeInEdgesAll","_downplayEdge","_getColor","_setEdgeFade","__WEBPACK_IMPORTED_MODULE_2_claygl_src_compositor_Pass__","__WEBPACK_IMPORTED_MODULE_4__forceAtlas2_glsl_js__","defaultConfigs","scaling","jitterTolerence","dissuadeHubs","ForceAtlas2GPU","_positionSourceTex","_positionTex","_positionPrevTex","_forceTex","_forcePrevTex","_weightedSumTex","_globalSpeedTex","_globalSpeedPrevTex","_nodeRepulsionPass","_positionPass","_globalSpeedPass","_copyPass","_edgeForceMesh","depthText","_weightedSumMesh","_dummyCamera","_globalSpeed","nNodes","_nodes","positionBuffer","_updateGravityCenter","_edges","_gravityCenter","textureWidth","textureHeight","_resize","edgeGeometry","edgeLen","weigtedSumGeo","_inited","getNodes","_initFromSource","nodeRepulsionPass","edgeForceMesh","weightedSumMesh","globalSpeedPass","positionPass","_swapTexture","nodeIndex","_positionArr","getTextureData","tex","getTextureSize","__WEBPACK_IMPORTED_MODULE_2__forceAtlas2Worker_js__","workerUrl","lastIndexOf","barnesHutOptimize","barnesHutTheta","ForceAtlas2","_disposed","bb","Blob","blobURL","URL","createObjectURL","_worker","Worker","onmessage","_$onupdate","nEdges","massArr","sizeArr","edgeArr","edgeWeightArr","postMessage","cmd","nodesPosition","nodesMass","nodesSize","edgesWeight","config","_onupdate","globalSpeed","_updateTexture","forceAtlas2Worker","subRegions","nSubRegions","centerOfMass","regionProto","GraphNode","forcePrev","GraphEdge","autoSettings","rootRegion","_massArr","_swingingArr","_sizeArr","beforeUpdate","afterUpdate","_addNodeToSubRegion","_updateCenterOfMass","findSubRegion","setBBox","_newSubRegion","subRegion","xi","yi","forceAtlas2Proto","initNodes","haveSize","initEdges","sIdx","tIdx","updateSettings","updateBBox","na","applyRegionToNodeRepulsion","nb","applyNodeToNodeRepulsion","applyNodeStrongGravity","applyNodeGravity","applyEdgeAttraction","swingWeightedSum","tractionWeightedSum","swing","traction","df","oneWay","getGlobalSpeed","emptyArr","Roam2DControl","minZoom","maxZoom","_dx","_dy","_zoom","_convertPos","newZoom","fixX","fixY","__WEBPACK_IMPORTED_MODULE_4__VectorFieldParticleSurface__","_particleSurface","planeMesh","_planeMesh","particleSurface","setParticleType","setSupersampling","_updateData","particleDensity","setParticleDensity","firstFrame","timeNow","getSurfaceTexture","setColorTextureImage","setParticleSize","particleSpeedScaling","motionBlurFactor","gridWidth","gridHeight","vectorFieldTexture","maxMag","minMag","mag","xPix","yPix","_fillEmptyPixels","_updatePlanePosition","_updateGradientTexture","fetchPixel","rg","addPixel","visualMeta","magExtent","_gradientTexture","gradientTexture","createLinearGradient","stops","setGradientTexture","leftTop","rightBottom","limitedResult","_limitInViewportAndFullFill","setRegion","clearFrame","newLeftTop","newRightBottom","lngRange","isContinuous","newWidth","newHeight","__WEBPACK_IMPORTED_MODULE_0_claygl_src_compositor_Pass__","__WEBPACK_IMPORTED_MODULE_2_claygl_src_Mesh__","__WEBPACK_IMPORTED_MODULE_3_claygl_src_Material__","__WEBPACK_IMPORTED_MODULE_5_claygl_src_Texture2D__","__WEBPACK_IMPORTED_MODULE_6_claygl_src_Texture__","__WEBPACK_IMPORTED_MODULE_7_claygl_src_camera_Orthographic__","__WEBPACK_IMPORTED_MODULE_8_claygl_src_geometry_Plane__","__WEBPACK_IMPORTED_MODULE_9_claygl_src_FrameBuffer__","__WEBPACK_IMPORTED_MODULE_10__Line2D__","__WEBPACK_IMPORTED_MODULE_11__vectorFieldParticle_glsl_js__","createSpriteCanvas","VectorFieldParticleSurface","particleLife","_particleType","_particleSize","particleColor","_thisFrameTexture","_particlePass","_spawnTexture","_particleTexture0","_particleTexture1","_particlePointsMesh","_surfaceFrameBuffer","_elapsedTime","_lastFrameTexture","_supersampling","_downsampleTextures","_downsamplePass","particlePointsMesh","particleLinesMesh","lastFrameFullQuad","_particleLinesMesh","_lastFrameFullQuadMesh","spawnTextureData","lifeRange","_setLineGeometry","_setPointsGeometry","nLine","_getParticleMesh","setLineCount","particleMesh","particlePass","_updateDownsampleTextures","_downsample","downsampleTextures","_spriteTexture","colorTextureImg","supersampling","upScale","particleType","particleSize","particleSpeed","particleTrail","colorTexture","__WEBPACK_IMPORTED_MODULE_1_zrender_lib_core_util__","LinesSeries","streamEnabled","_processFlatCoordsArray","_flatCoords","flatCoords","_flatCoordsOffset","flatCoordsOffset","_getCoordsFromItemModel","getLineCoordsCount","getLineCoords","coordsOffsetAndLenStorage","coordsStorage","coordsCursor","offsetCursor","dataCount","__WEBPACK_IMPORTED_MODULE_3__util_geometry_Lines2D__","_nativeLinesShader","_meshLinesShader","_linesMeshes","_createLinesMesh","_updateLinesMesh","curveness","updateBezierControlPoints","lineCount","RADIAN","minAngle","virtualRoot","tree","treeRoot","getViewRoot","rootDepth","initChildren","validDataCount","unitRadian","renderRollupNode","levels","rPerLevel","stillShowZeroSum","renderNode","rStart","rEnd","siblingAngle","isAsc","sortOrder","SPECIES","O","showContent","triggerOn","alwaysShowContent","displayMode","confine","showDelay","hideDelay","transitionDuration","enterable","crossStyle","VisualMapping","hasKeys","createVisualMappings","stateList","supplementVisualOption","visualMappings","state","mappings","createMappings","visualData","visualType","isValidType","mappingOption","visual","__hidden","__alphaForOpacity","Creater","replaceVisualOption","applyVisual","getValueState","visualTypesMap","eachItem","valueOrIndex","rawDataItem","visualMap","valueState","visualTypes","prepareVisualTypes","incrementalApplyVisual","_event","Dispatcher","Animation","stage","_clips","_running","_time","_pauseStart","clips","getTime","deferredEvents","deferredClips","_startLoop","toolbox","title","lineX","lineY","keep","dataView","lang","dataZoom","back","magicType","bar","stack","tiled","saveAsImage","typeNames","pie","scatter","effectScatter","radar","treemap","boxplot","candlestick","heatmap","parallel","sankey","funnel","gauge","pictorialBar","themeRiver","sunburst","aria","general","withTitle","withoutTitle","single","withName","withoutName","multiple","separator","allData","partialData","InterceptorManager","fulfilled","rejected","eject","createRenderPlanner","plan","isLarge","totalCoordsCount","straightLineProto","Line","bezierCurveProto","BezierCurve","isLine","cpx1","cpy1","extendShape","pointAt","tangentAt","_barGrid","largeLayout","throttleUtil","parallelPreprocessor","CLICK_THRESHOLD","parallelModel","createOrUpdate","_throttledDispatchExpand","_dispatchExpand","checkTrigger","_mouseDownPoint","mouseDownPoint","getSlidedAxisExpandWindow","behavior","axisExpandWindow","debounceNextCall","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","registerMap","coordinates","encodeOffsets","childNum","UTF8Encoding","graphicUtil","_labelHelper","getDefaultLabel","createListFromArray","getLayoutOnAxis","DataDiffer","ChartView","prepareCartesian2d","prepareGeo","prepareSingleAxis","preparePolar","prepareCalendar","ITEM_STYLE_NORMAL_PATH","ITEM_STYLE_EMPHASIS_PATH","LABEL_NORMAL","LABEL_EMPHASIS","GROUP_DIFF_PREFIX","prepareCustoms","cartesian2d","singleAxis","polar","calendar","createEl","graphicType","pathRect","pathData","getPathData","__customPathData","__customImagePath","__customText","__customGraphicType","updateEl","animatableModel","isInit","isRoot","transitionProps","elOptionStyle","targetStyle","prepareStyleTransition","useStyle","targetOpacity","initProps","updateProps","info","styleEmphasis","disableStyleEmphasis","__cusHasEmphStl","setElementHoverStyle","setAsHoverStyleTrigger","oldElStyle","makeRenderItem","customSeries","renderItem","prepareResult","currDataIndexInside","currItemModel","currLabelNormalModel","currLabelEmphasisModel","currVisualColor","userAPI","barLayout","currentSeriesIndices","userParams","dataInsideLength","wrapEncodeDef","currDirty","actionType","updateCache","extra","autoColor","isRectText","getCurrentSeriesIndices","getFont","dataDimIndex","isExtraCoord","coordDimIndex","doCreateOrUpdate","setItemGraphicEl","simplyRemove","elOptionType","elOptionShape","hasOwnPathData","hasOwn","mergeChildren","newChildren","newLen","$mergeChildren","byName","diffChildrenByName","notMerge","diffGroupChildren","oldChildren","getKey","processAddUpdate","processRemove","execute","newIndex","oldIndex","childOption","host","useTransform","oldData","newIdx","oldIdx","setIncrementalAndHoverLayer","isGroup","incremental","useHoverLayer","filterForExposedEvent","targetEl","packedEvent","elementName","element","toNumber","FUNC_ERROR_TEXT","nativeMax","nativeMin","debounce","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","flush","debounced","isInvoking","CalendarModel","cellSize","dayLabel","firstDay","monthLabel","yearLabel","mergeAndNormalizeLayoutParams","raw","FunnelPiece","Group","Polygon","labelLine","Polyline","onEmphasis","hoverIgnore","onNormal","normalIgnore","funnelPieceProto","firstCreate","setShape","lineJoin","hoverStyle","_updateLabel","setHoverStyle","labelText","labelLayout","labelHoverModel","labelLineModel","labelLineHoverModel","setLabelStyle","labelFetcher","labelDataIndex","defaultText","useInsideStyle","getLineStyle","FunnelView","funnelPiece","piePiece","IncrementalDisplayable","lineContain","quadraticContain","LargeLineShape","segs","quadraticCurveTo","findDataIndex","LargeLineDraw","largeLineProto","isPersistent","_incremental","lineEl","rectHover","_setCommon","incrementalPrepareUpdate","_clearIncremental","incrementalUpdate","taskParams","addDisplayable","__startIndex","isIncremental","strokeNoScale","clearDisplaybles","svgURI","createElementNS","labelDims","vals","circularLayout","getSum","unitAngle","cp1","x12","y12","LinearGradient","VisualMapView","sliderMove","HOVER_LINK_SIZE","HOVER_LINK_OUT","ContinuousView","_shapes","_dataInterval","_handleEnds","_orient","_useHandle","_hoverLinkDataIndices","_hovering","doRender","visualMapModel","_buildView","thisGroup","_resetInterval","_renderBar","dataRangeText","_renderEndsText","_updateView","renderBackground","_enableHoverLinkToSeries","_enableHoverLinkFromSeries","positionGroup","endsIndex","textGap","itemSize","barGroup","_applyTransform","getTextColor","targetGroup","shapes","useHandle","itemAlign","getItemAlign","_createBarGroup","outOfRange","createPolygon","inRange","getCursor","_dragHandle","textSize","handleThumbs","handleLabels","handleLabelPoints","_createHandle","_createIndicator","handleIndex","onDrift","onDragEnd","handleThumb","createHandlePoints","handleLabel","drift","ondragend","handleLabelPoint","indicator","indicatorLabel","indicatorLabelPoint","isEnd","_updateInterval","visualMapId","selected","_clearHoverLinkToSeries","useHoverLinkOnHandle","_doHoverLinkToSeries","dataInterval","getSelected","sizeExtent","handleEnds","forSketch","outOfRangeHandleEnds","inRangeHandleEnds","visualInRange","_createBarVisual","visualOutOfRange","barColor","barPoints","_updateHandle","forceState","convertOpacityToAlpha","_makeColorGradient","symbolSizes","getControllerVisual","_createBarPoints","handlesColor","sampleNumber","currValue","textPoint","getTransform","formatValueText","_showIndicator","cursorValue","textValue","rangeSymbol","halfHoverLinkSize","createIndicatorPoints","hoverLink","_hoverLinkFromSeriesMouseOver","_hideIndicator","_clearHoverLinkFromSeries","cursorPos","hoverOnBar","getHalfHoverLinkSize","hoverRange","valueRange","oldBatch","newBatch","findTargetDataIndices","resultBatches","compressBatches","_dispatchHighDown","convertDataIndex","dataModel","getSeriesByIndex","isTargetSeries","getDataDimension","batch","isRange","extentMax","hoverLinkDataSize","hoverLinkOnHandle","fillLabel","MarkerModel","createdBySelf","hostSeries","__hostSeries","modelPropName","markerOpt","markerModel","animationEasing","dispatchRequest","Axios","instanceConfig","interceptors","chain","promise","Promise","resolve","interceptor","then","STYLE_BIND","PLAIN_TEXT","axisHelper","axisModelCommonMixin","_dataStackHelper","getStackedDimension","_completeDimensions","_createDimensions","_symbol","createScaleByModel","niceScaleExtent","_listComponent","makeBackground","layoutUtil","newlineDisabled","_contentGroup","_backgroundEl","_isFirstRender","getContentGroup","legendModel","isFirstRender","resetInner","renderInner","viewportSize","mainRect","layoutInner","layoutRect","contentGroup","legendDrawnMap","selectMode","excludeSeriesId","eachRawSeries","getSeriesByName","legendSymbolType","itemGroup","_createItem","dispatchSelectAction","dispatchHighlightAction","dispatchDownplayAction","itemWidth","itemHeight","inactiveColor","isSelected","itemIcon","tooltipModel","legendGlobalTooltipModel","textX","hitRect","formatterParams","legendIndex","__legendDataIndex","contentRect","TimelineView","TimelineAxis","_axis","_viewRect","_timer","_currentPointer","_mainGroup","_labelGroup","mainGroup","_createGroup","labelGroup","_createAxis","_renderAxisLabel","_position","_doPlayStop","_clearTimer","labelPosOpt","viewRect","getViewRect","horizontal","vertical","playPosition","prevBtnPosition","nextBtnPosition","labelAlignMap","labelBaselineMap","rotationMap","mainLength","controlModel","showControl","controlSize","controlGap","sizePlusGap","labelRotation","controlPosition","showPlayBtn","showPrevBtn","showNextBtn","xLeft","xRight","labelAlign","labelBaseline","rotateOriginX","rotateOriginY","viewBound","getBound","mainBound","labelBound","mainPosition","labelsPosition","mainBoundIdx","toBound","setOrigin","fromPos","to","boundIdx","niceTicks","newGroup","_renderAxisLine","lineCap","_renderAxisTick","ticks","hoverStyleModel","symbolOpt","_changeTimeline","giveSymbol","labelItem","normalLabelModel","hoverLabelModel","_renderControl","getPlayState","makeBtn","iconPath","willRotate","btn","makeIcon","_handlePlayClick","_renderCurrentPointer","getCurrentIndex","pointerModel","me","onCreate","_handlePointerDrag","_handlePointerDragend","pointerMoveTo","onUpdate","nextState","_pointerChangeTimeline","mousePos","toCoord","_toAxisCoord","targetDataIndex","_findNearestTick","handleFrame","trans","axisCoord","nextIndex","objPath","icon","symbolOffset","symbolRotate","noAnimation","dragging","classof","Iterators","getIteratorMethod","getUID","enableSubTypeDefaulter","subTypeDefaulters","defaulter","determineSubType","componentTypeMain","enableTopologicalTravel","dependencyGetter","makeDepndencyGraph","fullNameList","noEntryList","thisItem","createDependencyGraphItem","originalDeps","availableDeps","getAvailableDependencies","entryCount","dependentName","predecessor","thatItem","successor","dep","topologicalTravel","targetNameList","targetNameSet","currComponentType","currVertex","isInTargetNameSet","removeEdgeAndAdd","removeEdge","succComponentType","NodeHighlightPolicy","DESCENDANT","ANCESTOR","SELF","DEFAULT_SECTOR_Z","DEFAULT_TEXT_Z","SunburstPiece","sector","Sector","SunburstPieceProto","piece","_seriesModel","_ecModel","sectorShape","getNodeColor","fillDefaultColor","normalStyle","stateStyle","cursorStyle","highlightPolicy","hostTree","isNodeHighlighted","onHighlight","onDownplay","normalModel","getLabelAttr","labelMinAngle","midAngle","labelPosition","labelPadding","textY","rotateType","stateAttr","visualMetaList","getRootId","ancestor","parentNode","getAncestors","activeNode","policy","isAncestorOf","isDescendantOf","NORMAL_ITEM_STYLE_PATH","EMPHASIS_ITEM_STYLE_PATH","BoxplotView","constDim","itemLayout","symbolEl","createNormalBox","updateNormalBoxData","eachItemGraphicEl","BoxPath","ends","transInit","updateMethod","normalItemStyleModel","initBaseline","AxisBuilder","axisBuilderAttrs","selfBuilderAttrs","axisPointerClass","radiusAxisModel","radiusAxis","angleAxis","getAngleAxis","axisAngle","radiusExtent","layoutAxis","axisBuilder","getGroup","_splitLine","splitLines","colorIndex","Circle","mergePath","_splitArea","areaColors","splitAreas","prevRadius","getAreaStyle","tickDirection","nameDirection","labelRotate","featureManager","ToolboxModel","feature","featureOpt","featureName","Feature","itemGap","showTitle","iconStyle","getIndicatorAxes","pointsConverter","BrushController","_brushController","_onBrush","mount","brushModel","updateController","areas","modelId","brushTargetManager","setOutputRanges","removeOnClick","brushId","$from","setPanels","makePanelOpts","enableBrush","brushOption","updateCovers","IndicatorAxis","IntervalScale","_axisHelper","getScaleExtent","CoordinateSystem","Radar","radarModel","_indicatorAxes","getIndicatorModels","indicatorModel","indicatorAxis","indicatorIndex","coordToPoint","closestAxis","minRadianDiff","closestAxisIdx","coodToData","viewWidth","viewHeight","viewSize","indicatorAxes","radarSeries","unionExtentFromData","increaseInterval","rawExtent","fixedMin","getMin","fixedMax","getMax","getInterval","setInterval","nicedSplitNumber","halfSplitNumber","radarList","regexpFlags","nativeExec","RegExp","nativeReplace","patchedExec","LAST_INDEX","UPDATES_LAST_INDEX_WRONG","re1","re2","NPCG_INCLUDED","PATCH","reCopy","re","View","geoSourceManager","Geo","invertLongitute","nameCoordMap","_invertLongitute","boundingRect","doConvert","finder","geoModel","containCoord","rawTransformable","_rawTransformable","decomposeTransform","getGeoCoord","noRoam","convertToPixel","convertFromPixel","_circularLayoutHelper","Gradient","axisPointerModelHelper","_axisPointer","fixValue","updateAxisPointer","disposeAxisPointer","axisView","forceRender","getAxisPointerClass","getAxisPointerModel","axisPointerClazz","markLine","DESCRIPTORS","getKeys","gOPS","pIE","toObject","IObject","$assign","assign","A","Symbol","K","T","aLen","getSymbols","isEnum","_core","ZImage","ZText","_graphic","svgPath","svgImage","svgText","MARK_UNUSED","MARK_USED","Definable","zrId","svgRoot","tagNames","markLabel","domName","_zrId","_svgRoot","_tagNames","_markLabel","_domName","nextId","getDefs","isForceCreating","defs","getElementsByTagName","insertBefore","firstChild","contains","addDom","appendChild","removeDom","removeChild","getDoms","doms","tagName","tags","markAllUnused","markUsed","removeUnused","getSvgProxy","displayable","getTextSvgElement","__textSvgEl","getSvgElement","__svgEl","$export","ownKeys","toIObject","gOPD","createProperty","getOwnPropertyDescriptors","desc","getDesc","_vector","colorTool","PathProxy","vmlCore","CMD","canvasSupported","comma","imageTransformPrefix","Z","Z2","ZLEVEL_BASE","Z_BASE","initRootElStyle","coordsize","coordorigin","encodeHtmlAttribute","rgb2Str","append","getZIndex","maxValue","setColorAndOpacity","getColorAndAlpha","updateFillNode","zrEl","gradientType","focus","expansion","rectWidth","rectHeight","cs1","cs2","colorAndAlphaList","colorAndAlpha","opacity1","opacity2","focusposition","updateStrokeNode","lineDash","dashstyle","updateFillAndStroke","vmlEl","pathDataToString","nPoint","cmdStr","Q","brushVML","vmlRoot","_vmlEl","needTransform","strokeEl","__dirtyPath","subPixelOptimize","toStatic","zIndex","removeRectText","onRemove","onAdd","appendRectText","ow","oh","_imageSrc","_imageWidth","_imageHeight","imageRuntimeStyle","runtimeStyle","oldRuntimeWidth","oldRuntimeHeight","dw","dh","sw","sWidth","sHeight","hasCrop","doc","vmlElStyle","hasRotation","transformFilter","imageEl","_imageEl","cropEl","_cropEl","imageELStyle","tmpImage","overflow","cropElStyle","filterStr","textMeasureEl","DEFAULT_STYLE_NORMAL","fontStyleCache","fontStyleCacheCount","MAX_FONT_CACHE_SIZE","fontEl","getFontStyle","fontString","variant","fontVariant","family","body","ex","createTextNode","offsetWidth","fromTextEl","textDistance","pathEl","textPathEl","skewEl","textVmlEl","_textVmlEl","nextSibling","textpathok","textVmlElStyle","vector","_throttle","throttle","ecHelper","_List","_Model","_Axis","_env","ecUtil","RadiusAxis","dataToRadius","radiusToData","_echarts","_export","gridModel","grid","otherAxisOnZeroOf","getAxesOnZeroOf","rawAxisPosition","axisPosition","rectBound","onZero","axisOffset","posBound","onZeroCoord","toGlobalCoord","dirMap","labelOffset","documentElement","themeRiverLayout","baseY0","layerSeries","getLayerSeries","timeDim","layerPoints","singleLayer","computeBaseline","baseLine","ky","layerIndex","layerNum","pointNum","sums","temp","colorAll","colorLayer","_zrender","registerPainter","Painter","objectProto","nativeObjectToString","symToStringTag","toStringTag","getRawTag","isOwn","tag","unmasked","dataToCoordSize","dataSize","subtext","subtarget","subtextStyle","titleModel","subtextStyleModel","textBaseline","disableBox","subText","subTextEl","sublink","triggerEvent","groupRect","layoutOption","alignStyle","subPixelOptimizeRect","makeStyleMapper","excludes","includes","SymbolClz","SymbolDraw","symbolCtor","_symbolCtor","symbolDrawProto","symbolNeedsDraw","isIgnore","clipShape","normalizeUpdateOpt","makeSeriesScope","hoverItemStyle","hoverAnimation","SymbolCtor","seriesScope","fadeOut","_seriesScope","updateIncrementalAndHover","mathPow","COVER_Z","UNSELECT_THRESHOLD","MIN_RESIZE_LINE_WIDTH","MUTEX_RESOURCE_KEY","DIRECTION_MAP","CURSOR_MAP","ne","nw","se","DEFAULT_BRUSH_OPT","brushStyle","transformable","brushMode","baseUID","_brushType","_brushOption","_panels","_track","_covers","_creatingCover","_creatingPanel","_enableGlobalPan","_uid","mouseHandlers","doEnableBrush","take","brushType","doDisableBrush","release","createCover","cover","coverRenderers","__brushOption","updateZ","endCreating","creatingCover","coverRenderer","getCoverRenderer","updateCoverShape","updateCoverAfterCreation","getPanelByPoint","localCursorPoint","panel","panels","_transform","isTargetByCursor","getPanelByCover","panelId","clearCovers","covers","originalLength","shouldShowCover","track","getTrackEnds","createBaseRectCover","doDrift","edgeNames","makeStyle","updateBaseRect","localRange","handleSize","x2a","y2a","widtha","heighta","updateRectShape","mainEl","childOfName","globalDir","getGlobalDirection","pointsToRect","clipByPanel","formatRectRange","localDirection","inverseMap","transformDirection","driftRect","toRectRange","fromRectRange","rectRange","localDelta","toLocalDelta","namePart","ind","driftPolygon","localD","transformCoordToLocal","localZero","clipPath","xmin","ymin","ymax","resetCursor","currPanel","rawE","mainShapeContain","updateCoverByMouse","eventParams","thisBrushOption","determineBrushType","coverBrushOption","getCreatingRange","defaultBrushType","panelOpts","enableGlobalPan","eachCover","brushOptionList","tmpIdPrefix","oldCovers","newCovers","oldGetKey","addOrUpdate","newBrushOption","unmount","handleDragEnd","getLineRenderer","localTrack","xyIndex","getLinearBrushOtherExtent","getTooltipRenderMode","DIMENSION_LABEL_REG","rawDataIndex","itemOpt","renderModeOption","isSeries","componentSubType","marker","labelProp","timelineOpt","timeline","compatibleEC2","ec2Types","transferItem","controlStyle","itemStyleEmphasis","labelNormal","excludeLabelAttr","Scale","scaleProto","OrdinalScale","_ordinalMeta","rank","unionExtent","getApproximateExtent","niceExtent","PROXIMATE_ONE_DAY","Calendar","calendarModel","getDimensionsInfo","getRangeInfo","_rangeInfo","getCellWidth","_sw","getCellHeight","_sh","getOrient","getFirstDayOfWeek","_firstDayOfWeek","getDateInfo","getFullYear","getMonth","getDate","day","getDay","formatedDate","getNextNDay","setDate","_getRangeInfo","_initRangeOption","weeks","whNames","layoutParams","cellNumbers","cellSizeSpecified","whGlobal","calendarRect","dayInfo","week","nthWeek","pointToDate","dataToRect","contentShape","tl","tr","br","bl","nthX","nthY","_getDateByWeeksAndDay","setMonth","reversed","allDay","startDateNum","endDateNum","fweek","lweek","rangeInfo","nthDay","calendarList","calendarSeries","guessOrdinal","Source","_dimensionHelper","OTHER_DIMENSIONS","sysDims","seriesDataToSource","dataDimNameMap","coordDimNameMap","dimCount","getDimCount","dimDefItem","userDimName","resultItem","validDataDims","resultDimIdx","applyDim","availDimIdx","sysDimItem","sysDimIndex","sysDimItemDimsDef","sysDimItemOtherDims","sysDimItemDimsDefItem","defaultTooltip","generateCoord","generateCoordCount","fromZero","genName","optDimCount","dimensionsDetectCount","zrLog","parseInt10","VMLPainter","initVML","vmlViewport","_vmlRoot","_vmlViewport","oldDelFromStorage","delFromStorage","oldAddToStorage","addToStorage","_firstPaint","createMethodNotSupport","getType","getViewportRoot","getViewportRootOffset","viewportRoot","offsetLeft","offsetTop","_paintList","__alreadyNotVisible","beforeBrush","afterBrush","_getWidth","_getHeight","vmlViewportStyle","stl","currentStyle","clientWidth","paddingLeft","paddingRight","clientHeight","paddingTop","paddingBottom","gOPN","Reflect","toInteger","defined","TO_STRING","v2Min","v2Max","v2Scale","v2Distance","v2Add","v2Clone","v2Sub","smooth","isLoop","constraint","cps","cp0","v2Create","mathSqrt","EPSILON_NUMERIC","THREE_SQRT","ONE_THIRD","_v0","_v1","_v2","isAroundZero","isNotAroundZero","cubicAt","onet","cubicDerivativeAt","cubicRootAt","roots","disc","discSqrt","Y1","Y2","ASqrt","cubicExtrema","extrema","cubicSubdivide","p01","p12","p23","p012","p123","p0123","cubicProjectPoint","quadraticDerivativeAt","quadraticRootAt","quadraticExtremum","quadraticProjectPoint","coordinateSystemCreators","CoordinateSystemManager","_coordinateSystems","coordinateSystems","creater","getCoordinateSystems","coordinateSystemCreator","AXIS_DIMS","COORDS","isCoordSupported","coordType","createNameEach","attrs","capitalNames","capitalAttrs","nameObj","capital","eachAxisDim","createLinkedNodesFinder","forEachNode","forEachEdgeType","edgeIdGetter","existsLink","records","absorb","processSingleNode","isNodeAbsorded","isLinked","hasLink","edgeId","retrieveValue","PATH_BORDER_WIDTH","PATH_GAP_WIDTH","PATH_UPPER_LABEL_SHOW","PATH_UPPER_LABEL_HEIGHT","ecWidth","ecHeight","seriesOption","payloadType","retrieveTargetInfo","rootRect","viewRoot","viewAbovePath","getPathToRoot","rootSize","estimateRootSize","squareRatio","leafDepth","clearLayouts","viewRootLayout","squarify","childValue","upperHeight","calculateRootPosition","setLayoutInfo","prunning","hideChildren","isRemoved","thisLayout","nodeModel","halfGapWidth","upperLabelHeight","getUpperLabelHeight","layoutOffset","layoutOffsetUpper","totalArea","viewChildren","rowFixedLength","best","score","worst","childrenVisibleMin","orderBy","overLeafDepth","statistic","filterByThreshold","isLeafRoot","orderedChildren","visibleMin","deletePoint","ratio","areaMax","areaMin","squareArea","idx0WhenH","idx1WhenH","wh","rowOtherLength","rowLen","nodeLayout","wh1","remain","modWH","wh0","currNode","defaultSize","viewArea","zoomToNodeRatio","siblings","currNodeValue","defaultPosition","targetNode","targetCenter","clipRect","nodeInViewAbovePath","isAboveViewRoot","isInView","childClipRect","actionInfos","actionInfo","fixShadow","STYLE_COMMON_PROPS","Style","extendFrom","canvasGradient","fillOpacity","strokeOpacity","lineDashOffset","textTag","textOffset","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY","textBoxShadowColor","textBoxShadowBlur","textBoxShadowOffsetX","textBoxShadowOffsetY","textRotation","textOrigin","textBorderColor","textBorderWidth","textBorderRadius","prevStyle","notCheckCache","strokeStyle","globalAlpha","globalCompositeOperation","hasStroke","getLineScale","hasFill","otherStyle","newStyle","getGradient","styleProto","groupResult","groupSeriesByAxis","groupItem","seriesModels","calculateBase","layoutSingleSeries","boxOffsetList","boxWidthList","axisList","seriesCount","boundList","maxDataCount","boxWidthBound","availableWidth","boxGap","cDimIdx","vDimIdx","cDim","vDims","axisDimVal","median","getPoint","end1","end2","end4","end5","addBodyEnd","layEndLine","point1","point2","endCenter","DataZoomModel","LineDraw","EffectLine","EffectPolyline","linesLayout","lineDraw","_updateLineDraw","isSvg","getLayer","_lastZlevel","configLayer","motionBlur","_showEffect","lastFrameAlpha","_finished","_clearLayer","_lineDraw","progressiveRender","hasEffect","isLargeDraw","_hasEffet","_isPolyline","_isLargeDraw","brushSelector","effectType","showEffectOn","rippleEffect","advanceStringIndex","regExpExec","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","$replace","maybeCallNative","searchValue","replaceValue","regexp","functionalReplace","fullUnicode","unicode","results","matchStr","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","groups","replacerArgs","replacement","getSubstitution","tailPos","symbols","ch","capture","Parallel","coordSysList","builtinExec","cartesianAxisHelper","CartesianAxisPointer","getCartesian","tooltipOptions","getAxisDimIndex","__g","mapType","POSSIBLE_STYLES","compatEC2ItemStyle","itemStyleOpt","normalItemStyleOpt","emphasisItemStyleOpt","useExtend","removeEC3NormalStatus","compatTextStyle","labelOptSingle","TEXT_STYLE_OPTIONS","compatEC3CommonStyles","processSeries","seriesOpt","markPoint","markArea","mpData","mlData","breadcrumb","leaves","toArr","toObj","isTheme","axisName","parallelOpt","parallelAxisDefault","calendarOpt","radarOpt","geoOpt","regionObj","toolboxOpt","_roamHelper","updateCenterAndZoom","cellWidth","cellHeight","dayCount","Task","_reset","_plan","_count","_onDirty","onDirty","taskProto","perform","performArgs","planResult","upTask","_upstream","skip","__pipeline","forceFirstProgress","lastModBy","normalizeModBy","_modBy","lastModDataCount","_modDataCount","modBy","modDataCount","_dueEnd","_outputDueEnd","_progress","_dueIndex","doProgress","outputDueEnd","_settedOutputEnd","unfinished","winCount","sStep","sCount","modNext","sequentialNext","taskIns","_callingProgress","downstream","_downstream","downTask","getUpstream","getDownstream","symbolProto","driftSymbol","_createSymbol","symbolPath","stopSymbolAnimation","toLastFrame","getSymbolPath","setZ","setDraggable","_updateCommon","fadeIn","normalStyleAccessPath","emphasisStyleAccessPath","normalLabelAccessPath","emphasisLabelAccessPath","onMouseOver","isInEmphasis","onMouseOut","__symbolOriginalScale","symbolInnerColor","liftZ","z2Origin","__z2Origin","useNameLabel","getLabelDefaultText","keepLabel","symbolUtil","normalizeSymbolSize","updateSymbols","oldPoints","newPoints","symbolGroup","__dimIdx","getInitialPoints","hoverAreaStyleModel","polygonIgnore","hoverPolygonIgnore","itemHoverStyle","labelDimIndex","validPayloadTypes","targetNodeId","aboveViewRoot","viewPath","wrapTreePathInfo","treePathInfo","nodeDataIndex","regexpExec","forced","prepareLayoutBarSeries","makeColumnLayout","retrieveColumnLayout","axisDataLen","fixMin","fixMax","originalExtent","setBlank","getNeedCrossZero","isBaseAxisAndHasBarSeries","barSeriesModels","barWidthAndOffset","adjustedScale","adjustScaleForOverflow","axisLength","barsOnCurrentAxis","minOverflow","maxOverflow","totalOverFlow","oldRange","oldRangePercentOfNew","overflowBuffer","minInterval","maxInterval","ifAxisCrossZero","makeLabelFormatter","labelFormatter","categoryTickStart","getAxisRawValue","tick","estimateLabelUnionRect","realNumberScaleTicks","tickCount","categoryScaleExtent","unrotatedSingleRect","singleRect","rotateTextRect","rotateRadians","beforeWidth","beforeHeight","afterWidth","afterHeight","rotatedRect","getOptionCategoryInterval","shouldShowAllLabels","dataViewLang","BLOCK_SPLITER","ITEM_SPLITER","groupSeries","seriesGroupByCategoryAxis","otherSeries","meta","axisIndex","assembleSeriesWithCategoryAxis","tables","valueAxisDim","columns","items","assembleOtherSeries","argLen","getContentFromModel","isTSVFormat","firstLine","itemSplitRegex","parseTSVContents","tsv","tsvLines","parseListContents","hasName","parseContents","blockMetaList","blocks","blockMeta","axisKey","DataView","_dom","tryMergeDataOption","newData","originalData","newVal","readOnly","optionToContent","contentToOption","textareaColor","textareaBorderColor","buttonColor","buttonTextColor","viewMain","textarea","htmlOrDom","getOption","buttonContainer","buttonStyle","closeButton","refreshButton","keyCode","which","selectionStart","selectionEnd","newSeriesOptList","isError","err","functional","default","_","ref","routerView","$createElement","route","$route","_routerViewCache","inactive","_routerRoot","vnodeData","$vnode","keepAlive","_inactive","$parent","routerViewDepth","component","components","registerRouteInstance","vm","instances","hook","prepatch","vnode","componentInstance","propsToPass","resolveProps","encodeReserveRE","encodeReserveReplacer","commaRE","encodeURIComponent","decode","decodeURIComponent","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","stringifyQuery","val2","trailingSlashRE","createRoute","record","redirectedFrom","router","stringifyQuery$$1","hash","fullPath","getFullPath","formatMatch","freeze","START","_stringifyQuery","isSameRoute","isObjectEqual","aKeys","bKeys","every","aVal","bVal","isIncludedRoute","queryIncludes","_Vue","toTypes","eventTypes","Link","required","exact","Boolean","activeClass","exactActiveClass","this$1","$router","href","classes","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","guardEvent","click","class","findAnchor","$slots","aData","aAttrs","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","currentTarget","install","Vue","installed","isDef","registerInstance","callVal","$options","_parentVnode","beforeCreate","_router","defineReactive","history","destroyed","_route","strats","optionMergeStrategies","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","created","inBrowser","resolvePath","relative","firstChar","segments","segment","hashIndex","queryIndex","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","compile","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","defaultDelimiter","delimiter","escaped","modifier","asterisk","partial","optional","pattern","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","encodeAsterisk","matches","pretty","attachKeys","flags","sensitive","regexpToRegexp","arrayToRegexp","stringToRegexp","strict","endsWithDelimiter","regexpCompileCache","fillParams","routeMsg","filler","pathMatch","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","pathList","pathMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","redirect","beforeEnter","childMatchAs","aliases","aliasRoute","normalizeLocation","_normalized","rawPath","parsedPath","createMatcher","addRoutes","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","resolvedPath","aliasedPath","aliasedMatch","aliasedRecord","positionStore","setupScroll","protocolAndPath","protocol","absolutePath","replaceState","getStateKey","saveScrollPosition","setStateKey","handleScroll","isPop","app","scrollBehavior","$nextTick","getScrollPosition","shouldScroll","scrollToPosition","catch","pageXOffset","pageYOffset","getElementPosition","docEl","docRect","getBoundingClientRect","elRect","isValidPosition","normalizePosition","normalizeOffset","selector","querySelector","scrollTo","supportsPushState","ua","userAgent","Time","performance","_key","genKey","pushState","runQueue","resolveAsyncComponents","hasAsync","flatMapComponents","def","cid","resolvedDef","isESModule","resolved","reject","reason","comp","flatten","hasSymbol","called","History","normalizeBase","ready","readyCbs","readyErrorCbs","errorCbs","baseEl","resolveQueue","updated","activated","deactivated","extractGuards","guards","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","cbs","isValid","bindEnterGuard","poll","_isBeingDestroyed","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","abort","beforeHooks","postEnterCbs","enterGuards","resolveHooks","afterHooks","HTML5History","History$$1","expectScroll","supportsScroll","initLocation","getLocation","__proto__","go","fromRoute","getCurrentLocation","decodeURI","pathname","search","HashHistory","fallback","checkFallback","ensureSlash","setupListeners","getHash","replaceHash","pushHash","searchIndex","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","prototypeAccessors","registerHook","createHref","$once","setupHashListener","beforeEach","beforeResolve","afterEach","getMatchedComponents","normalizedTo","legendSelectActionHandler","selectedMap","isToggleSelect","legendData","isItemSelected","dataSample","PRIORITY","PROCESSOR","STATISTIC","timeout","currentScript","scripts","readyState","opera","laydate","laypage","laytpl","layim","layedit","form","upload","transfer","table","colorpicker","slider","carousel","flow","jquery","mobile","layui.all","layui","platform","srcElement","jQuery","$","async","charset","attachEvent","getStyle","getComputedStyle","getPropertyValue","rel","debug","media","getElementById","addcss","localStorage","sessionData","sessionStorage","device","os","ie","ActiveXObject","weixin","android","ios","hint","stope","stopPropagation","onevent","SliderZoomModel","dataBackground","fillerColor","handleIcon","handleStyle","labelPrecision","showDetail","showDataShadow","realtime","zoomLock","transformPath","mathSin","mathCos","vMag","vRatio","vAngle","processArc","fa","fs","psiDeg","psi","xp","yp","lambda","cxp","cyp","dTheta","addData","commandReg","numberReg","createPathProxyFromString","prevCmd","cpx","cpy","subpathX","subpathY","cmdList","cmdText","pLen","ctlPtx","ctlPty","createPathOptions","pathProxy","rebuildPath","createFromString","extendFromString","pathEls","createPathProxy","pathBundle","appendPath","timsort","Layer","HOVER_LAYER_ZLEVEL","CANVAS_ZLEVEL","EL_AFTER_INCREMENTAL_INC","INCREMENTAL_INC","isLayerValid","isDisplayableCulled","isClipPathChanged","clipPaths","prevClipPaths","doClip","createRoot","domRoot","singleCanvas","_opts","rootStyle","_layerConfig","_needsManuallyCompositing","mainLayer","initContext","_domRoot","_getSize","_hoverlayer","_hoverElements","paintAll","_redrawId","refreshHover","addHover","__hoverMir","elMirror","__from","removeHover","hoverElements","clearHover","hoverLayer","displayableSortFunc","originalEl","__clipPaths","getHoverLayer","redrawId","_updateLayerStatus","finished","_doPaintList","_compositeManually","eachBuiltinLayer","layerList","zi","__drawIndex","useTimer","startTime","__endIndex","firstEl","notClear","__dirtyText","prevElClipPaths","wxa","currentLayer","forcePaint","layersMap","prevLayer","prevDom","eachLayer","eachOtherLayer","getLayers","updatePrevLayer","incrementalLayerCount","getElementCount","setBackgroundColor","layerConfig","_zlevel","display","_progressiveLayers","clearLayer","imageLayer","whIdx","cwh","plt","prb","defaultView","pathToImage","leftMargin","rightMargin","topMargin","bottomMargin","pathTransform","ImageShape","imgShape","zrColor","CATEGORY_DEFAULT_VISUAL_INDEX","mappingMethod","_normalizeData","normalizers","visualHandler","visualHandlers","getColorMapper","_doMap","normalizeVisualRange","preprocessForPiecewise","preprocessForSpecifiedCategory","mapValueToVisual","getNormalizer","makeApplyVisual","isNormalized","doMapCategory","returnRGBArray","parsedVisual","piecewise","getSpecifiedVisual","fixed","doMapFixed","colorHue","makePartialColorVisualHandler","colorSaturation","colorLightness","colorAlpha","makeDoMap","symbolCfg","doMapToArray","pieceList","hasSpecialVisual","originIndex","categoryMap","cate","visualArr","setVisualToOption","doNotNeedPair","applyValue","sourceExtent","pieceIndex","findPieceIndex","listVisualTypes","addVisualHandler","eachVisual","mapVisual","isPrimary","newVisual","retrieveVisuals","hasVisual","type1","type2","dependsOn","visualType1","visualType2","findClosestWhenOutside","possibleI","pieceValue","updatePossible","newAbs","Tree","_treeHelper","_viewRoot","completeTreeValue","treeOption","createTree","resetViewRoot","getNodeByDataIndex","percentPrecision","nodeClick","renderLabelForZeroData","borderType","animationType","animationDuration","dataNode","thisValue","visualSolution","BrushTargetManager","STATE_LIST","DISPATCH_METHOD","DISPATCH_FLAG","PRIORITY_BRUSH","VISUAL","BRUSH","throttleType","throttleDelay","brushSelected","doDispatch","isDisposed","checkInRange","selectorsByBrushType","rangeInfoList","selectors","getSelectorsByBrushType","sels","selectorsByElementType","bSelector","sel","brushModelNotControll","seriesIndices","bindSelector","selFn","elType","setBrushOption","setInputRanges","brushIndex","thisBrushSelected","brushName","brushLink","linkedSeriesMap","selectedDataIndexForLink","rangeInfoBySeries","hasBrushExists","boundingRectBuilders","linkOthers","brushed","stepAParallel","hasAxisBrushed","eachActiveState","activeState","stepAOthers","controlSeries","seriesBrushSelected","getBoundingRectFromMinMax","minMax","baseURL","relativeURL","zoomLimit","previousZoom","zoomMin","zoomMax","is","getValues","parallelAxisIndex","axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandRate","axisExpandDebounce","axisExpandSlideTriggerArea","axisExpandTriggerOn","_initDimensions","parallelIndex","setAxisExpand","axisModels","dependentModels","parallelAxis","preprocessor","_component","GlobalModel","ExtensionAPI","Scheduler","ecInstance","dataProcessorHandlers","_dataProcessorHandlers","_visualHandlers","_allHandlers","_stageTaskMap","performStageTasks","stageHandlers","needSetDirty","setDirty","dirtyMap","stageHandler","stageHandlerRecord","seriesTaskMap","overallTask","overallNeedDirty","stub","updatePayload","getPerformArgs","pipelineId","taskRecord","isBlock","_pipelineMap","pCtx","progressiveEnabled","__idxInPipeline","blockIndex","updateStreamModes","dataLen","restorePipelines","pipelineMap","prepareStageTasks","stageTaskMap","createSeriesStageTask","overallReset","createOverallStageTask","prepareView","renderTask","__block","performDataProcessorTasks","performVisualTasks","performSeriesTasks","getTargetSeries","seriesTaskPlan","seriesTaskReset","seriesTaskCount","useClearVisual","isVisual","isLayout","createOnAllSeries","eachRawSeriesByType","overallTaskReset","overallProgress","createStub","stubReset","stubOnDirty","agent","getSeries","upstreamContext","stubProgress","clearAllVisual","resetDefines","makeSeriesTaskProgress","singleSeriesTaskProgress","resetDefineIdx","resetDefine","detectSeriseType","legacyFunc","ecModelMock","apiMock","wrapStageHandler","mockMethods","cond","actionTypes","handleRootToNode","originViewRoot","brushHelper","COORD_CONVERTS","INCLUDE_FINDER_MAIN_TYPES","targetInfoList","_targetInfoList","foundCpts","parseFinder","targetInfoBuilders","builder","include","formatMinMax","includeMainTypes","matchOutputRanges","coordRange","coordRanges","coordConvert","__rangeOffset","diffProcessor","xyMinMax","findTargetInfo","coordSyses","rangeOffset","getScales","getDefaultBrushType","getPanelRect","makeRectPanelClipPath","makeRectIsTargetByCursor","coordSysModel","makeLinearBrushOtherExtent","areaPanelId","targetInfoMatchers","xAxisModels","yAxisModels","gridModels","gridModelMap","xAxesHas","yAxesHas","cartesians","getCartesians","panelRectBuilder","xAxisDeclared","yAxisDeclared","geoModels","xAxisModel","yAxisModel","axisConvert","rangeOrCoordRange","xminymin","xmaxymax","axisNameIndex","toLocalCoord","axisDiffProcessor","refer","scales","xyMinMaxCurr","xyMinMaxOrigin","sizeCurr","sizeOrigin","createParallelIfNeeded","mergeAxisOptionFromParallel","hasParallelSeries","axisOption","parallelOption","pathContain","Pattern","getCanvasPattern","pathProxyForDraw","strokeContainThreshold","hasFillGradient","hasStrokeGradient","hasFillPattern","hasStrokePattern","_fillGradient","_strokeGradient","ctxLineDash","setLineDash","getGlobalScale","setScale","setLineDashOffset","originalGlobalAlpha","shapeCfg","inBundle","needsUpdateRect","rectWithStroke","_rectWithStroke","lineScale","localPos","dirtyPath","__clipTarget","animateShape","attrKV","Sub","defaultShape","thisShape","isObjectLike","layoutBox","boxLayoutParams","DataZoomView","DEFAULT_LOCATION_EDGE_GAP","DEFAULT_FRAME_BORDER_WIDTH","DEFAULT_FILLER_SIZE","HORIZONTAL","VERTICAL","LABEL_GAP","SHOW_DATA_SHADOW_SERIES_TYPE","SliderZoomView","_displayables","_range","_size","_handleWidth","_handleHeight","_location","_dataShadowInfo","_resetLocation","_renderBackground","_renderHandle","_renderDataShadow","_positionGroup","coordRect","_findCoordRect","ecSize","targetAxisModel","getFirstTargetAxisModel","otherAxisInverse","_getViewExtent","_onClickPanelClick","_prepareDataShadowInfo","getShadowDim","otherDataExtent","otherOffset","lastIsEmpty","otherShadowExtent","thisShadowExtent","areaPoints","thisCoord","eachTargetAxis","dimNames","getAxisProxy","getTargetSeriesModels","thisAxis","getOtherDim","thisDim","displaybles","handles","_onDragMove","ondragstart","_showDataInfo","_onDragEnd","onmouseover","onmouseout","createIcon","bRect","handleColor","viewExtent","viewExtend","minMaxSpan","findRepresentativeAxisProxy","getMinMaxSpan","percentExtent","minSpan","maxSpan","lastRange","nonRealtime","handleInterval","handle","handleHeight","_updateDataInfo","labelTexts","axisProxy","getAxisModel","calculateDataWindow","valueWindow","getDataValueWindow","_formatLabel","orderedHandleEnds","setLabel","barTransform","valueStr","showOrHide","changed","_dispatchZoomAction","localPoint","getTargetCoordInfo","coordInfoList","IE_PROTO","ObjectProto","getPrototypeOf","intervalScaleProto","roundingErrorFix","mathFloor","mathCeil","mathLog","LogScale","_originalScale","originalScale","powVal","__fixMin","fixRoundingError","__fixMax","approxTickNum","_interval","_niceExtent","originalVal","LegendModel","ScrollableLegendModel","setScrollDataIndex","scrollDataIndex","pageButtonItemGap","pageButtonGap","pageButtonPosition","pageFormatter","pageIcons","pageIconColor","pageIconInactiveColor","pageIconSize","pageTextStyle","DEFAULT_SMOOTH","ParallelView","_dataGroup","dataGroup","newDataIndex","addEl","updateElCommon","oldDataIndex","createLinePoints","animationModel","createGridClipShape","removeClipPath","setClipPath","rectEl","isEmptyValue","cof","TAG","ARG","tryGet","callee","_buildAxes","_buildSplitLineAndArea","axisBuilders","showSplitLine","showSplitArea","splitLineColors","splitAreaColors","ticksRadius","getColorIndex","Ring","realSplitNumber","axesTicksPoints","prevPoints","areaOrLine","areaOrLineColorList","freeGlobal","MapDraw","HIGH_DOWN_PROP","RECORD_VERSION_PROP","mapModel","getHostGeoModel","mapDraw","_mapDraw","needsDrawMap","_renderSymbols","originalDataIndex","circle","Z2_EMPHASIS_LIFT","fullData","mainSeries","fullIndex","regionGroup","normalText","emphasisText","highDownRecord","recordVersion","onRegionHighDown","enterRegionHighDown","toHighOrDown","__mapOriginalZ2","dataStatistics","statisticType","mapKey","seriesGroups","hostGeoModel","getMapType","seriesList","seriesGroup","_curve","fixNanhai","fixTextCoord","fixGeoCoord","fixDiaoyuIsland","mapName","mapRecord","parsed","geoJSON","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","run","Item","nextTick","browser","argv","versions","addListener","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","_sourceType","SOURCE_FORMAT_ORIGINAL","getDimensionTypeByAxis","getDataItemValue","_referHelper","getCoordSysDefineBySeries","coordSysDimDefs","coordSysName","registeredCoordSys","coordSysDefine","coordSysDims","axisMap","firstCategoryDimIndex","hasNameEncode","dimInfoList","categoryAxisModel","categoryAxisMap","itemName","dimValueGetter","isNeedCompleteOrdinalData","defaultDimValueGetter","sourceFormat","sampleItem","firstDataNotNull","Diff","buildValues","newArr","oldArr","componentPos","componentLen","newPos","oldPos","added","clonePath","oldLen","editLength","maxEditLength","bestPath","extractCommon","execEditLength","diagonalPath","addPath","removePath","canAdd","canRemove","pushComponent","commonCount","tokenize","arrayDiff","_helper","BAR_BORDER_WIDTH_QUERY","LAYOUT_ATTRS","posDesc","pathForLineWidth","BarView","coordSysRect","coordSysExtent","categoryDim","symbolMeta","getSymbolMeta","createBar","pictorialShapeStr","getShapeStr","__pictorialShapeStr","updateBar","__pictorialSymbolMeta","removeBar","symbolRepeat","symbolClip","symbolPosition","symbolPatternSize","symbolRepeatDirection","prepareBarLength","prepareSymbolSize","boundingLength","pxSign","prepareLineWidth","symbolScale","prepareLayoutInfo","valueLineWidth","repeatCutLength","symbolBoundingData","zeroPx","pxSignIdx","symbolBoundingExtent","convertToCoordOnAxis","categorySize","unitLength","pathLen","absBoundingLength","symbolMargin","hasEndGap","uLenWithMargin","endFix","repeatSpecified","repeatTimes","toIntTimes","mDiff","sizeFix","pathPosition","bundlePosition","barRectShape","createPath","createOrUpdateRepeatSymbols","isUpdate","bundle","__pictorialBundle","unit","eachPath","__pictorialAnimationIndex","__pictorialRepeatTimes","updateAttr","makeTarget","updateHoverAnimation","createOrUpdateSingleSymbol","mainPath","__pictorialMainPath","createOrUpdateBarRect","rectShape","barRect","__pictorialBarRect","createOrUpdateClip","__pictorialClipPath","getAnimationDelayParams","labelRect","pathes","immediateAttrs","animationAttrs","barRectHoverStyle","barPositionOutside","times","roundedTimes","createListSimply","seriesModelMixin","_baseAxisDim","addOrdinal","xAxisType","yAxisType","baseAxisDimIndex","baseAxisDim","otherAxisDim","baseAxisType","otherAxisType","newOptionData","newItem","defaultValueDimensions","dimensionsCount","DEFAULT_MIN_MERGE","DEFAULT_MIN_GALLOPING","minRunLength","makeAscendingRun","lo","hi","runHi","reverseRun","binaryInsertionSort","mid","gallopLeft","lastOffset","maxOffset","gallopRight","TimSort","runStart","runLength","minGallop","stackSize","pushRun","_runStart","_runLength","mergeRuns","mergeAt","forceMergeRuns","start1","length1","start2","length2","mergeLow","mergeHigh","cursor1","cursor2","dest","count1","count2","exit","_minGallop","customCursor","customDest","remaining","ts","minRun","RadarSeries","radarIndex","SERIES_LAYOUT_BY_COLUMN","SOURCE_FORMAT_UNKNOWN","SOURCE_FORMAT_TYPED_ARRAY","SOURCE_FORMAT_KEYED_COLUMNS","fields","fromDataset","seriesLayoutBy","startIndex","GRADIENT_LEVELS","Heatmap","pointSize","maxOpacity","minOpacity","_gradientPixels","colorFunc","isInRange","_getBrush","gradientInRange","_getGradient","gradientOutOfRange","imageData","pixelLen","diffOpacity","gradientOffset","brushCanvas","_brushCanvas","gradientPixels","pixelsSingleState","Uint8ClampedArray","pieces","splitList","treeLayout","DEFAULT_OUT_OF_BRUSH_COLOR","BrushModel","geoIndex","xAxisIndex","yAxisIndex","inBrush","outOfBrush","setAreas","generateBrushOption","TimelineModel","autoPlay","rewind","playInterval","_names","_initData","dataArr","idxArr","listComponentHelper","toolboxModel","featureOpts","_features","featureNames","_featureNames","processFeature","titleText","__title","needPutOnTop","oldName","featureModel","isUserFeatureName","unusable","createIconPaths","setIconStatus","iconName","iconPaths","iconStatus","iconStyleModel","iconStyleEmphasisModel","icons","getIcons","titles","iconStr","PromiseCapability","$$resolve","$$reject","nodeOpacityPath","lineOpacityPath","getItemOpacity","opacityPath","fadeOutItem","opacityRatio","fadeInItem","SankeyShape","cpx2","cpy2","bezierCurveTo","_focusAdjacencyDisabled","sankeyView","curve","curvature","n1Layout","node1Model","dragX1","dragY1","n2Layout","node2Model","dragX2","dragY2","edgeLayout","ty","dragX","dragY","localX","localY","edgeDataIndex","focusNodeAdj","ParallelAxis","_axesMap","_axesLayout","_init","restrict","layoutAxisWithoutExpand","layoutLength","axisCount","axisNameAvailableWidth","axisLabelShow","layoutAxisWithExpand","nameTruncateMaxWidth","axisCollapseWidth","winInnerIndices","axisExpandWindow0Pos","_updateAxesFromSeries","_makeLayoutInfo","axisBase","layoutBase","pixelDimIndex","pAxis","pLayout","_layoutAxes","winSize","layoutExtent","posInfo","positionTable","rotationTable","axisCoordToPoint","axesMap","dataDimensions","hasActiveSet","lenj","getActiveState","axisLayout","getAxisLayout","pointCoord","triggerArea","useJump","themeRiverVisual","STACK_PREFIX","LARGE_BAR_MIN_WIDTH","LargeArr","getSeriesStackId","getAxisKey","stackId","widthAndOffsets","doCalBarWidthAndOffset","offsetCenter","isOnCartesian","isInLargeMode","barSeries","seriesInfoList","barMaxWidth","barGap","barCategoryGap","columnsMap","seriesInfo","columnsOnAxis","remainedWidth","autoWidthCount","categoryGap","stacks","barGapPercent","autoWidth","lastColumn","widthSum","lastStackCoords","lastStackCoordsOrigin","columnLayoutInfo","columnOffset","columnWidth","baseDim","stacked","isValueAxisH","valueAxisStart","getValueAxisStart","baseCoord","valueAxisHorizontal","valueDimIdx","largePoints","valuePair","valueStart","axisDefault","valueAxisDefault","defaultsShow","RadarModel","showName","nameFormatter","indicatorModels","indicatorOpt","iNameTextStyle","indName","GradientManager","addWithoutUpdate","svgElement","fillOrStroke","setAttribute","updateDom","hex","adjustSingleSide","shiftDown","shiftUp","changeX","isDownList","lastDeltaX","deltaY","deltaX","lastY","upList","downList","avoidOverlap","labelLayoutList","leftList","rightList","isPositionCenter","hasLabelRotate","labelLineLen","labelLineLen2","isLabelInside","echartsAPIList","chartInstance","applyMixin","vuexInit","$store","devtoolHook","__VUE_DEVTOOLS_GLOBAL_HOOK__","devtoolPlugin","_devtoolHook","targetState","subscribe","mutation","forEachValue","isPromise","Module","rawModule","runtime","_rawModule","rawState","namespaced","addChild","getChild","actions","mutations","getters","forEachChild","forEachGetter","forEachAction","forEachMutation","ModuleCollection","rawRootModule","targetModule","newModule","getNamespace","namespace","rawChildModule","unregister","Store","plugins","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_watcherVM","commit","installModule","resetStoreVM","plugin","useDevtools","devtools","prototypeAccessors$1","genericSubscribe","subs","resetStore","hot","oldVm","_vm","wrappedGetters","computed","$$state","enableStrictMode","_withCommit","$destroy","rootState","parentState","getNestedState","moduleName","local","makeLocalContext","namespacedType","registerMutation","registerGetter","noNamespace","_type","_payload","_options","unifyObjectStyle","makeLocalGetters","gettersProxy","splitPos","localType","rootGetters","rawGetter","$watch","deep","sync","subscribeAction","watch","registerModule","preserveState","unregisterModule","hotUpdate","newOptions","committing","mapState","normalizeNamespace","states","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","createNamespacedHelpers","index_esm","_h","_c","_self","staticClass","staticRenderFns","raf","caf","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","createStyles","styleText","styleSheet","elem","pseudo","computedStyle","getRenderInfo","detached","rendered","css","__resize_mutation_handler__","handleMutation","__resize_listeners__","ResizeObserver","offsetHeight","__resize_observer_triggered__","runCallbacks","__resize_observer__","observe","__resize_legacy_resize_handler__","initTriggers","__resize_rendered__","MutationObserver","mo","childList","characterData","subtree","__resize_mutation_observer__","detachEvent","unobserve","disconnect","__resize_triggers__","triggers","getUpdatedSize","__resize_last__","resetTriggers","__resize_raf__","__resize_old_position__","expand","expandChild","contract","scrollWidth","csw","scrollHeight","csh","eow","eoh","esw","esh","scrollLeft","scrollTop","INIT_TRIGGERS","REWATCH_TRIGGERS","EChartsvue_type_script_lang_js_","theme","initOptions","autoresize","watchShallow","manualUpdate","lastArea","_group","mergeOptions","lazyUpdate","manualOptions","delegateMethod","containPixel","showLoading","hideLoading","getDataURL","getConnectedDataURL","_this$chart","delegateGet","getArea","$el","_this","echarts_default","$emit","__resizeHandler","debounce_default","computedOptions","initOptionsWatcher","_this2","__unwatchOptions","oldVal","destroy","_this3","mounted","beforeDestroy","connect","disConnect","registerTheme","components_EChartsvue_type_script_lang_js_","componentNormalizer","write","expires","secure","cookie","toGMTString","read","Polar","resizePolar","polarModel","getRadiusAxis","updatePolarScale","setAxis","polarCreator","polarList","findAxisModel","angleAxisModel","contrastColor","axisCommon","colorPalette","legend","color0","borderColor0","newPromiseCapability","promiseCapability","SAFE_CLOSING","riter","skipClosing","safe","iter","hasTypedArray","notSaveData","_saveData","_xi","_yi","_x0","_y0","_ux","_uy","_lineDash","_dashOffset","_dashIdx","_dashSum","exceedUnit","_needsDash","_dashedLineTo","_dashedBezierTo","_dashedQuadraticTo","anticlockwise","arcTo","lineDashSum","appendSize","appendPathData","_expandData","_prevCmd","dash","dashSum","nDash","bezierLen","tmpLen","fromLine","fromCubic","fromQuadratic","fromArc","ux","uy","isEllipse","globalListener","AxisPointerView","globalAxisPointerModel","globalTooltipModel","currTrigger","PointerPath","parsePosition","formatLabel","PI2","GaugeView","colorList","_renderMain","angleRangeSpan","prevEndAngle","axisLineWidth","getColor","_renderTicks","_renderPointer","_renderTitle","_renderDetail","minVal","maxVal","subSplitNumber","splitLineLen","tickLen","subStep","splitLineStyle","tickLineStyle","tickLine","valueExtent","angleExtent","forceRich","detailModel","selectableMixin","geoCreator","GeoModel","_optionModelMap","optionModelMap","regionOpt","updateSelectedMap","aspectScale","boundingCoords","scaleLimit","groupData","DATA_NAME_INDEX","ThemeRiverSeries","fixData","rawDataLength","layData","buckets","dataList","largestLayer","timeValue","keyIndex","singleAxisModel","filterData","nameList","dimensionsInfo","lenCount","indexArr","index1","index2","nestestValue","theValue","dataIndices","htmlName","htmlValue","singleAxisIndex","cubic","quadratic","normalizeRadian","windingLine","isAroundEqual","swapExtrema","windingCubic","nRoots","y0_","y1_","nExtrema","x_","windingQuadratic","y_","windingArc","containPath","isStroke","ignoreDuplicateOf","_forceHelper","forceLayout","_simpleLayoutHelper","simpleLayout","graphSeries","preservedPoints","forceModel","getId","repulsion","edgeLength","rep","forceInstance","oldStep","stopped","styleModel","buildLabelElOption","labelPos","getValueLabel","paddings","confineInContainer","seriesDataIndices","seriesData","idxItem","dataParams","textLayout","innerTextLayout","xDimIndex","makeSectorShape","stackInfoMap","stackInfoList","stackInfo","stackResultDimension","stackedOverDimension","stackedDimension","stackedByDimension","isStackedByIndex","calculateStack","targetStackInfo","idxInStack","resultVal","resultNaN","targetData","byValue","stackedDataRawIndex","stackedOver","rawIndexOf","getByRawIndex","redefine","hide","fails","wks","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","KEY","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","arg2","forceStringMethod","strfn","rxfn","MONTH_TEXT","EN","CN","WEEK_TEXT","_tlpoints","_blpoints","_firstDayOfMonth","_firstDayPoints","rangeData","_renderDayRect","_renderLines","_renderYearText","_renderMonthText","_renderWeekText","itemRectStyleModel","addPoints","_getLinePointsOfOneWeek","_drawSplitline","_getEdgesPoints","rs","poyline","tmpD","_formatterLabel","_yearTextPositionControl","aligns","xc","yc","posPoints","yearText","_monthTextPositionControl","isCenter","vAlign","termPoints","firstDayPoints","yyyy","MM","monthText","_weekTextPositionControl","isStart","firstDayOfWeek","weekText","UNSCOPABLES","propertyIsEnumerable","dataZoomInfo","theDataZoomId","theCoordId","coordId","dataZoomInfos","allCoordIds","cleanStore","createController","controllerParams","mergeControllerParams","containsPoint","generateCoordId","coordModel","newRecord","getRange","typePriority","type_true","type_move","type_false","type_undefined","oneType","AngleAxis","dataToAngle","angleToData","ordinalScale","ordinalExtent","unitSpan","unitH","maxH","lastAutoInterval","lastTickCount","stat","categoryFilter","categoryVisual","edgeVisual","createView","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","_compiled","_scopeId","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","shadowRoot","_injectStyles","originalRender","existing","markerHelper","MarkerView","markLineTransform","mlModel","mlType","valueDataDim","getAxisInfo","numCalculate","valueIndex","baseIndex","mlFrom","mlTo","dataTransform","isInifinity","ifMarkLineHasOnlyDim","fromCoord","otherDimIndex","markLineFilter","updateSingleMarkerEndLayout","isFrom","xPx","yPx","getMarkerPosition","markLineModel","fromData","toData","__to","markerGroupMap","renderSeries","lineDrawMap","updateDataVisualAndLayout","fromSymbolSize","toSymbolSize","__keep","coordDimsInfos","optData","candlestickVisual","candlestickLayout","_image","selfBuilderAttr","SingleAxisView","gridRect","getLineDash","barItemStyle","_updateDrawMode","coordinateSystemType","_renderLarge","_renderNormal","_clear","_incrementalRenderLarge","isHorizontalOrRadial","elementCreator","updateStyle","removeRect","removeSector","createLarge","animateProperty","animateTarget","isRadial","fixedLineWidth","getLineWidth","signX","signY","isPolar","getBarItemStyle","labelPositionOutside","rawLayout","LargePath","startPoint","__startPoint","valueIdx","__valueIdx","setLargeStyle","getNearestColorPalette","paletteNum","clearColorPalette","colorIdx","colorNameMap","scopeFields","defaultColorPalette","layeredColorPalette","LegendView","ScrollableLegendView","_currentIndex","_containerGroup","_controllerGroup","_showController","__rectSize","controllerGroup","createPageButton","pageTextStyleModel","iconIdx","pageDataIndexName","_pageGo","containerGroup","orientIdx","hw","controllerRect","showController","contentPos","containerPos","controllerPos","pageInfo","_getPageInfo","pageIndex","contentPosition","_updatePageInfoView","legendId","canJump","pageText","pageCount","containerRectSize","targetItemIndex","_findTargetItemIndex","targetItem","itemCount","pCount","pagePrevDataIndex","pageNextDataIndex","targetItemInfo","getItemInfo","winStartItemInfo","winEndItemInfo","currItemInfo","itemRect","itemInfo","winStart","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","LIBRARY","anInstance","forOf","speciesConstructor","microtask","newPromiseCapabilityModule","promiseResolve","PROMISE","v8","$Promise","isNode","empty","USE_NATIVE","FakePromise","PromiseRejectionEvent","isThenable","notify","isReject","_n","_v","ok","reaction","exited","fail","onHandleUnhandled","enter","onUnhandled","unhandled","isUnhandled","onunhandledrejection","onrejectionhandled","$reject","_d","_w","$resolve","executor","onFulfilled","onRejected","W","capability","$index","alreadyCalled","race","emptyObject","isUndef","isTrue","isFalse","_toString","isPlainObject","isRegExp","isValidArrayIndex","makeMap","expectsLowerCase","isReservedAttribute","hit","camelizeRE","camelize","capitalize","hyphenateRE","hyphenate","polyfillBind","boundFn","nativeBind","_from","no","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","keysA","keysB","looseIndexOf","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","productionTip","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","_lifecycleHooks","unicodeRegExp","isReserved","writable","bailRE","_isServer","hasProto","inWeex","WXEnvironment","weexPlatform","UA","isIE","isIE9","isEdge","isIOS","isFF","nativeWatch","supportsPassive","isServerRendering","VUE_ENV","isNative","_Set","Set","Dep","addSub","removeSub","depend","addDep","targetStack","pushTarget","popTarget","VNode","elm","componentOptions","asyncFactory","ns","fnContext","fnOptions","fnScopeId","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","createEmptyVNode","createTextVNode","cloneVNode","cloned","arrayMethods","methodsToPatch","inserted","ob","__ob__","observeArray","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","asRootData","isExtensible","_isVue","defineReactive$$1","customSetter","shallow","getOwnPropertyDescriptor","childOb","dependArray","del","mergeData","toVal","fromVal","mergeDataOrFn","parentVal","childVal","instanceData","defaultData","mergeHook","dedupeHooks","hooks","mergeAssets","key$1","inject","provide","defaultStrat","normalizeProps","normalizeInject","normalizeDirectives","dirs","directives","def$$1","_base","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","_props","isSameType","expectedTypes","handleError","cur","errorCaptured","globalHandleError","invokeWithErrorHandling","_handled","logError","timerFunc","isUsingMicroTask","flushCallbacks","copies","setImmediate","counter","observer","textNode","_resolve","seenObjects","_traverse","seen","isA","isFrozen","depId","normalizeEvent","passive","once$$1","createFnInvoker","invoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","old","mergeVNodeHook","hookKey","oldHook","wrappedHook","extractPropsFromVNodeData","checkProp","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","provideDefault","resolveSlots","slots","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderSlot","bindObject","scopedSlotFn","$scopedSlots","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","_renderProxy","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","installRenderHelpers","_o","_q","_i","_m","_f","_k","_e","_u","_g","FunctionalRenderContext","contextVm","_original","isCompiled","needNormalization","injections","scopedSlots","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","componentVNodeHooks","hydrating","_isDestroyed","mountedNode","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","updateChildComponent","_isMounted","callHook","queueActivatedComponent","activateChildComponent","deactivateChildComponent","hooksToMerge","createComponent","baseCtor","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","transformModel","nativeOn","abstract","installComponentHooks","_isComponent","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","pre","applyNS","registerDeepBindings","initRender","_vnode","parentVnode","_renderChildren","parentData","_parentListeners","currentRenderingInstance","renderMixin","_render","ensureCtor","errorComp","owner","owners","loadingComp","timerLoading","timerTimeout","$on","renderCompleted","$forceUpdate","getFirstComponentChild","initEvents","_events","_hasHookEvent","updateComponentListeners","remove$1","$off","onceHandler","oldListeners","eventsMixin","hookRE","i$1","setActiveInstance","prevActiveInstance","initLifecycle","$children","$refs","_watcher","_directInactive","lifecycleMixin","prevVnode","restoreActiveInstance","__patch__","__vue__","teardown","_watchers","mountComponent","updateComponent","Watcher","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","$attrs","$listeners","propKeys","_propKeys","isInInactiveTree","direct","activatedChildren","waiting","flushing","resetSchedulerState","currentFlushTimestamp","getNow","createEvent","timeStamp","flushSchedulerQueue","watcher","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","queueWatcher","uid$2","expOrFn","isRenderWatcher","user","lazy","active","newDeps","depIds","newDepIds","expression","cleanupDeps","oldValue","evaluate","sharedPropertyDefinition","sourceKey","initState","initMethods","initComputed","initWatch","propsOptions","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","stateMixin","dataDef","propsDef","$set","$delete","uid$3","initMixin","initInternalComponent","vnodeComponentOptions","_componentTag","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","modified","latest","sealed","sealedOptions","initUse","installedPlugins","_installedPlugins","initMixin$1","initExtend","Super","SuperId","cachedCtors","_Ctor","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","cached$$1","patternTypes","KeepAlive","exclude","ref$1","builtInComponents","initGlobalAPI","configDef","observable","acceptValue","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","childNode","mergeClassData","renderClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","HTMLUnknownElement","HTMLElement","isTextInputType","createElement$1","createComment","referenceNode","setTextContent","textContent","setStyleScope","nodeOps","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","emptyNodeAt","createRmCb","childElm","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","transition","activate","ref$$1","addVnodes","invokeDestroyHook","removeVnodes","removeAndInvokeRemoveHook","rm","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","childrenMatch","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","_leaveCb","patchable","i$2","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","baseSetAttr","setAttributeNS","__ieph","blocker","stopImmediatePropagation","updateClass","cls","transitionClass","_transitionClasses","_prevClass","target$1","klass","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","normalizeEvents","change","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","updateDOMListeners","svgContainer","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","activeElement","_vModifiers","parseStyleText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","checkChild","styleData","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","vendorNames","capName","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","whitespaceRE","addClass","classList","removeClass","tar","resolveTransition","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","styles","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","toggleDisplay","cancelled","_enterCb","appearClass","appearToClass","appearActiveClass","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","pendingNode","_pending","isValidDuration","leave","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","directive","_vOptions","setSelected","onCompositionStart","onCompositionEnd","prevOptions","curOptions","some","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","selectedIndex","initEvent","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","platformDirectives","getRealChild","compOptions","extractTransitionData","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","c$1","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","moved","WebkitTransform","_moveCb","propertyName","_hasMove","platformComponents","largeThreshold","TOUCH_CLICK_DELAY","mouseHandlerNames","touchHandlerNames","pointerEventNames","pointerdown","pointerup","pointermove","pointerout","pointerHandlerNames","nm","eventNameFix","firefox","setTouchTimer","_touching","_touchTimer","domHandlers","mouseout","toElement","touchstart","zrByTouch","_lastTouchMoment","processGesture","touchmove","touchend","isPointerFromTouch","pointerType","initDomHandler","makeMouseHandler","HandlerDomProxy","mountHandlers","handlerNames","pointerEventsSupported","touchEventsSupported","handlerDomProxyProto","setCursor","sunburstLayout","createAxisLabels","makeCategoryLabels","makeRealNumberLabels","createAxisTicks","makeCategoryTicks","makeCategoryLabelsActually","labelCategoryInterval","numericLabelInterval","labelsCache","getListCache","optionLabelInterval","listCacheGet","makeLabelsByCustomizedCategoryInterval","makeAutoCategoryInterval","makeLabelsByNumericCategoryInterval","listCacheSet","tickCategoryInterval","ticksCache","optionTickInterval","labelsResult","autoInterval","fetchAutoCategoryIntervalCalculationParams","axisRotate","unitW","maxW","getRotate","categoryInterval","onlyTick","startTick","showAllLabel","includeMinLabel","includeMaxLabel","addItem","tVal","descriptor","setToStringTag","IteratorPrototype","Constructor","NAME","prepareDataCoordInfo","getStackedOnPoint","diffData","diffResult","oldStackedOnPoints","newStackedOnPoints","oldCoordSys","newCoordSys","oldValueOrigin","newValueOrigin","currPoints","nextPoints","currStackedPoints","nextStackedPoints","sortedIndices","rawIndices","newDataOldCoordInfo","oldDataNewCoordInfo","diffItem","pointAdded","currentPt","nextPt","dataDimsForPoint","rawIndex","sortedCurrPoints","sortedNextPoints","sortedCurrStackedPoints","sortedNextStackedPoints","sortedStatus","stackedOnCurrent","stackedOnNext","calculable","hasSelected","select","potentialData","availableNames","isPotential","_availableNames","rawData","selectedMode","unSelect","toggleSelected","getSortedIndices","valueArr","isAscending","funnelAlign","getLinePoints","offY","nextIdx","dP","FProto","nameRE","pathTool","Transformable","Arc","CompoundPath","RadialGradient","EMPTY_OBJ","extendPath","centerGraphic","resizePath","makeImage","imageUrl","originWidth","originHeight","positiveOrNegative","doubledPosition","hasFillOrStroke","liftedColorMap","liftedColorCount","liftColor","liftedColor","cacheElementStl","__hoverStlDirty","__hoverStl","__cachedNormalStl","__cachedNormalZ2","doSingleEnterHover","hoverStl","__highlighted","elTarget","rollbackDefaultTextStyle","setDefaultHoverFillStroke","applyDefaultTextStyle","doSingleLeaveHover","highlighted","normalStl","normalZ2","traverseCall","__isEmphasisEntered","onElementMouseOver","__hoverSilentOnTouch","onElementMouseOut","enterEmphasis","leaveEmphasis","hoverSilentOnTouch","__hoverStyleTrigger","emphasisStyle","emphasisModel","normalSpecified","emphasisSpecified","baseText","showNormal","showEmphasis","normalStyleText","emphasisStyleText","specifiedTextStyle","setTextStyleCommon","setText","defaultColor","richResult","globalTextStyle","richItemNames","getRichItemNames","richTextStyle","setTokenTextStyle","richItemNameMap","getAutoColor","insideRawTextPosition","insideRollbackOpt","insideRollback","gTextStyleModel","animateOrSetProps","postfix","animationDelay","mat","hBase","vBase","groupTransition","g1","g2","elMap1","getElMap","anid","oldEl","newProp","getAnimatableProps","elMap","clipPointsByRect","clipRectByRect","targetRect","createDesc","Displayble","IncrementalDisplayble","_temporaryDisplayables","_cursor","notPersistent","addDisplayables","displayables","eachPendingDisplayable","childRect","roamHelper","_cursorHelper","onIrrelevantElement","getFixedItemStyle","areaColor","updateMapSelectHandler","mapOrGeoModel","regionsGroup","fromView","_mouseDownFlag","__regions","updateMapSelected","otherRegionEl","updateGroup","_controller","_controllerHost","_updateGroup","_mapName","_regionsGroup","_backgroundGroup","isGeo","mapSeries","_updateBackground","itemStyleAccessPath","hoverItemStyleAccessPath","labelAccessPath","hoverLabelAccessPath","compoundPath","paths","hoverItemStyleModel","showLabel","hoverShowLabel","isDataNaN","groupRegions","_updateController","removeGraphic","makeGraphic","controllerHost","makeActionBase","updateViewOnPan","updateViewOnZoom","getViewRectAfterRoam","SKIP_PROPS","CandlestickView","_incrementalRenderNormal","isSimpleBox","setBoxCommon","NormalBoxPath","__simpleBox","LargeBoxPath","__sign","elP","elN","suffix","$iterCreate","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","DEFAULT","IS_SET","FORCED","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","coordSysLists","coordIndex","PolarAxisPointer","animationThreshold","coordValue","gradientColor","hoverLayerThreshold","useUTC","isDataItemOption","SOURCE_FORMAT_ARRAY_ROWS","SOURCE_FORMAT_OBJECT_ROWS","DefaultDataProvider","_source","_offset","_dimSize","providerMethods","providerProto","pure","persistent","arrayRows_column","getItem","appendDataSimply","arrayRows_row","objectRows","countSimply","getItemSimply","keyedColumns","col","newCol","oldCol","typedArray","clean","rawValueGetters","arrayRows","getRawValueSimply","defaultDimValueGetters","getDimValueSimply","converDataValue","_dimensionInfos","_rawData","getProvider","retrieveRawAttr","originURL","msie","urlParsingNode","resolveURL","hostname","port","requestURL","updateDataSelected","hasAnimation","selectedOffset","toggleItemSelected","PiePiece","piePieceProto","PieView","sectorGroup","_sectorGroup","onSectorClick","_createClipPath","eachAfter","separation","isExpand","eachBefore","mapLocation","Animatable","Element","addSelfToZr","removeSelfFromZr","eventUtil","vendors","gCssText","assembleTransition","transitionCurve","transitionText","vendorPrefix","assembleFont","assembleCssText","borderName","camelCase","TooltipContent","_container","_show","_hideTimeout","onmouseenter","_enterable","_inContent","onmouseleave","hideLater","_hideDelay","domStyle","pointerEvents","setContent","setEnterable","viewportRootOffset","isShow","getOuterSize","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","Cancel","createGraphFromNodeEdge","emphasisEdgeLabelModel","emphasisFakeSeriesModel","circular","rotateLabel","layoutAnimation","edgeSymbol","edgeSymbolSize","edgeLabel","nodeScaleRatio","funnelLayout","polyHelper","smoothConstraint","globalCoord","bitmap","defaultKeyGetter","oldKeyGetter","newKeyGetter","_old","_new","_oldKeyGetter","_newKeyGetter","initIndexMap","keyArr","keyGetterName","dataDiffer","existence","_add","_remove","oldDataIndexMap","newDataIndexMap","oldDataKeyArr","newDataKeyArr","Draggable","GestureMgr","SILENT","makeEventPacket","eveType","topTarget","zrDelta","stopEvent","EmptyProxy","painterRoot","_lastX","_lastY","_gestureMgr","setHandlerProxy","isHover","isSilent","lastHoveredTarget","findHover","hovered","hoveredTarget","innerDom","eventArgs","eventHandler","eventPacket","hoverCheckResult","gestureMgr","gestureInfo","recognize","_downEl","_downPoint","_upEl","BaseBarSeries","encodeScale","UTF8Scale","coordinate","decodePolygon","prevY","featureObj","markerModelKey","freeSelf","maskColor","mask","TooltipRichContent","markerRich","startId","endId","bounding","coordExtent","legendModels","findComponents","filterSeries","hierNode","defaultAncestor","prelim","thread","firstWalk","subtreeW","executeShifts","midPoint","apportion","secondWalk","nodeX","defaultSeparation","radialCoordinate","radialCoor","subtreeV","nodeOutRight","nodeInRight","nodeOutLeft","nodeInLeft","sumOutRight","sumInRight","sumOutLeft","sumInLeft","nextRight","nextLeft","moveSubtree","nextAncestor","wl","wr","dataSelectableMixin","MapSeries","selectTargetList","toAppendNames","geoSource","appendValues","seriesNames","otherIndex","showLegendSymbol","dataRangeHoverLink","dimensionInfoList","stackedByDimInfo","stackedDimInfo","mayStack","dimensionInfo","createInvertedIndices","stackedDimCoordDim","stackedDimType","stackedDimCoordIndex","isCalculationCoord","stackedDim","targetDim","graphicOption","elements","GraphicModel","parentId","_elOptionsToUpdate","newList","existList","flattenedList","_flatten","mappingResult","mappingToExists","makeIdAndName","elOptionsToUpdate","newElOption","setKeyInfoToNewElOption","mergeNewElOptionToExist","setLayoutInfoToExist","$action","optionList","parentOption","useElOptionsToUpdate","els","targetElParent","__ecGraphicId","removeEl","existEl","existElParent","getCleanedElOption","isSetLoc","isSet","existElOption","exist","keyInfo","newElParentOption","newElOptCopy","existItem","setEventData","graphicModel","_elMap","_lastGraphicModel","_updateElements","_relocate","rootGroup","elOptionCleaned","__ecGraphicWidth","__ecGraphicHeight","elOptions","parentEl","containerInfo","roseType","restAngle","valueSumLargerThanMinAngle","currentAngle","someVectorAt","isTangent","clampData","offsetIndex","barMinAngle","progressiveChunkMode","_arrayWithoutHoles","arr2","_iterableToArray","_nonIterableSpread","_toConsumableArray","un","ShadowManager","hasShadow","_shadowDom","_shadowDomId","domChild","blur","stdDx","stdDy","stdDeviation","sankeyLayout","sankeyVisual","LineGroup","ctor","_ctor","lineDrawProto","doAdd","lineNeedsDraw","doUpdate","oldLineData","newLineData","itemEl","hoverLineStyle","isPointNaN","_lineData","idxMap","SERIES_LAYOUT_BY_ROW","USE_SYMBOL","$exports","PiecewiseVisualMapView","_getItemAlign","viewData","_getViewData","endsText","_onItemClick","_enableHoverLink","indexInModelPieceList","representValue","getRepresentValue","_createItemSymbol","visualState","viewPieceList","onHoverLink","modelOption","getPieceList","shapeParam","newKey","getSelectedMapKey","containLabel","LargeSymbolDraw","pointsLayout","symbolDraw","_updateSymbolDraw","_symbolDraw","QUERY_REG","OptionManager","_timelineOptions","_mediaList","_mediaDefault","_currentMediaIndices","_optionBackup","_newBaseOption","parseRawOption","rawOption","optionPreprocessorFuncs","isNew","mediaDefault","baseOption","timelineOptions","mediaList","singleMedia","preProcess","applyMediaQuery","realMap","aspectratio","applicatable","operator","realAttr","real","indicesEquals","indices1","indices2","oldOption","newCptOpt","oldCptOpt","mapResult","oldOptionBackup","newParsedOption","mountOption","isRecreate","optionBackup","getTimelineOption","getMediaOption","SingleAxis","realIndex","paramsSet","reals","fakeValue","layoutInput","rParam","PictorialBarSeries","fetch","fetchers","ariaModel","seriesCnt","ariaLabel","maxDataCnt","maxSeriesCnt","displaySeriesCnt","getTitle","getConfig","seriesLabels","seriesLabel","seriesTpl","getSeriesTypeName","displayCnt","dataLabels","keyValues","userConfig","lineStyleMixin","areaStyleMixin","textStyleMixin","itemStyleMixin","doGet","getParentMethod","thisParentModel","rangeStart","rangeEnd","setRange","resetRange","clazzUtil","_setting","getSetting","thisExtent","_isBlank","initGlobalListeners","useHandler","dis","makeDispatchAction","dispatchTooltipFinally","pendings","initialized","doEnter","onLeave","actuallyPayload","showLen","showTip","hideLen","hideTip","candleWidth","calculateCandleWidth","openDim","closeDim","lowestDim","highestDim","largeProgress","normalProgress","openVal","closeVal","lowestVal","highestVal","ocLow","ocHigh","ocLowPoint","ocHighPoint","lowestPoint","highestPoint","subPixelOptimizePoint","getSign","brushRect","makeBrushRect","pmin","pmax","tmpIn","tmpOut","barMinWidth","_subPixelOptimize","subPixelOptimizeOutputShape","baseGetTag","symbolTag","isSymbol","_dragStart","_drag","_dragEnd","draggingTarget","_draggingTarget","dropTarget","lastDropTarget","_dropTarget","TransformDummy","_roamTransformable","setBoundingRect","setViewRect","rawTransform","centerCoord","_updateCenterAndZoom","getDefaultCenter","rawRect","rawTransformMatrix","roamTransform","roamTransformable","_rawTransform","getBorderLineDash","restoreLang","Restore","Cartesian2D","Axis2D","isAxisUsedInTheGrid","Grid","_coordsMap","_coordsList","_axesList","_initCartesian","gridProto","fixAxisOnZero","onZeroRecords","otherAxes","onZeroAxisIndex","canOnZeroToAxis","getOnZeroRecordKey","updateAxisTransform","coordBase","axisExtentSum","axisPointerEnabled","_updateScale","ignoreContainLabel","axesList","adjustAxes","labelUnionRect","axesMapOnDim","coordList","_findConvertTarget","axisPositionUsed","axesCount","createAxisCreator","isCartesian2D","getTooltipAxes","baseAxes","grids","shapeCompareFunc","Storage","_roots","_displayList","_displayListLen","includeIgnore","updateDisplayList","_updateAndAddDisplayable","userSetClipPath","currentClipPath","parentClipPath","addRoot","__storage","addChildrenToStorage","delRoot","delChildrenFromStorage","_renderList","extremity","xDim","yDim","tx","vec2Min","vec2Max","VisualMapModel","visualDefault","PiecewiseModel","minOpen","maxOpen","itemSymbol","_pieceList","resetExtent","_determineMode","resetMethods","_resetSelected","resetVisual","completeVisualOption","visualTypesInPieces","exists","hasSel","eachTargetSeries","pIdx","pieceInterval","getVisualMeta","getColorVisual","outerColors","setStop","splitStep","normalizeReverse","pieceListItem","closeList","infinityList","useMinMax","edgeSymbols","HandlerProxy","useVML","painterCtors","ZRender","getInstance","delInstance","rendererType","vml","handerProxy","worker","_needsRefresh","zLevel","triggerRendered","_needsRefreshHover","refreshHoverImmediately","clearAnimation","CartesianAxisView","oldAxisGroup","_axisGroup","_splitAreaColors","areaColorsLen","lastSplitAreaColors","newSplitAreaColors","cIndex","transformData","isCancel","isAbsoluteURL","combineURLs","throwIfCancellationRequested","cancelToken","throwIfRequested","transformRequest","common","adapter","transformResponse","magicTypeLang","MagicType","availableIcons","seriesOptGenreator","radioTypes","generateNewSeriesTypes","newSeriesOpt","radio","currentType","axisModelCreator","AxisModel","viewList","bbWidth","bbHeight","viewCoordSys","SHADOW_PROPS","LinePath","SYMBOL_CATEGORIES","makeSymbolTypeKey","symbolCategory","createLine","setLinePoints","updateSymbolAndLabelBeforeLineUpdate","lineGroup","symbolFrom","symbolTo","invScale","toPos","__position","halfPercent","__verticalAlign","__textAlign","_createLine","lineProto","lineLabelOriginalOpacity","_updateCommonStl","visualOpacity","defaultLabelColor","rawVal","labelStyle","linePath","matrixUtil","makeAxisEventDataBase","dumbGroup","_dumbGroup","hasBuilder","builders","pt1","pt2","arrows","arrowSize","arrowOffset","symbolWidth","symbolHeight","axisTickLabel","tickEls","buildAxisTick","labelEls","buildAxisLabel","fixMinMaxLabelShow","gapSignal","isNameLocationCenter","nameRotation","endTextLayout","truncateOpt","truncatedText","tooltipOpt","__fullText","__truncatedText","targetType","axisRotation","rotationDiff","textRotate","onLeft","showMinLabel","showMaxLabel","firstLabel","nextLabel","lastLabel","prevLabel","firstTick","lastTick","prevTick","ignoreEl","isTwoLabelOverlapped","firstRect","nextRect","mRotationBack","tickEl","rawCategoryData","itemLabelModel","_whiskerBoxCommon","CandlestickSeries","animationUpdate","HeatmapLayer","getIsInPiecewiseRange","dataSpan","getIsInContinuousRange","isGeoCoordSys","visualMapOfThisSeries","targetSeries","_incrementalDisplayable","_renderOnCartesianAndCalendar","_renderOnGeo","itemStyleQuery","hoverItemStyleQuery","labelQuery","hoverLabelQuery","inRangeVisuals","targetVisuals","outOfRangeVisuals","hmLayer","_hmLayer","autoPositionValues","targetValue","visualCluster","visualObj","controllerVisuals","visualMapping","arrayJoin","mathRound","round4","pathHasFill","isText","pathHasStroke","svgEl","attrXLink","bindStyle","strokeWidth","strokeScale","miterLimit","nData","dThetaPositive","isCircle","pathStr","svgTextDrawRectText","__imageSrc","textSvgEl","getVerticalAlignForSvg","transformCoordToGlobal","nTextLines","textAnchor","__text","__textFont","tspanList","__tspanList","tspan","fixPosition","ROOT_TO_NODE_ACTION","SunburstView","newRoot","_oldChildren","dualTravel","renderRollUp","unhighlight","virtualPiece","processNode","newId","oldId","oldNode","doRenderNode","_onclickEvent","_rootToNode","targetFound","linkTarget","paramsSerializer","serializedParams","toISOString","AxisPointerModel","coordSysAxesInfo","snap","triggerTooltip","shadowStyle","macrotask","WebKitMutationObserver","standalone","toggle","AxisProxy","_dimName","_axisIndex","_valueWindow","_percentWindow","_dataExtent","_minMaxSpan","_dataZoomModel","calculateDataExtent","seriesExtent","fixExtentByAxis","isCategoryAxis","setAxisModel","isRestore","percentWindow","useOrigin","setMinMaxSpan","valueSpan","hostedBy","getDataPercentWindow","getOtherAxisModel","coordSysIndexName","foundOtherAxisModel","isCartesian","otherAxisModel","rangePropMode","getRangePropMode","boundValue","boundPercent","dataWindow","filterMode","leftOut","rightOut","thisHasValue","thisLeftOut","thisRightOut","isInWindow","selectRange","setApproximateExtent","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","extentSpan","originalDistSign","getSpanSign","extentMinSpan","realExtent","currDistSign","quantile","ascArr","GaugeSeries","dataOpt","Single","singles","_parseSVG","parseSVG","makeViewBoxTransform","originRoot","buildGraphic","hostKey","rootMap","originRootHostKey","svgXML","ignoreViewBox","ignoreRootClip","svgWidth","svgHeight","viewBoxRect","viewBoxTransform","elRoot","createInstance","defaultConfig","axios","CancelToken","promises","spread","objectToString","axisTrigger","collect","getTextBoundingRect","lineType","dotSize","dashSize","childCount","_doAdd","addBefore","includeChildren","tmpMat","getLineSelectors","lineIntersectPolygon","inLineRange","layoutRange","lx","ly","l2x","l2y","lineIntersect","a1x","a1y","a2x","a2y","b1x","b1y","b2x","b2y","nearZero","namenda","miu","mapSymbolLayout","mapDataStatistic","createDataSelectAction","roams","InsideZoomView","coordInfo","roamHandlers","directionInfo","getDirectionInfo","percentPoint","signal","pixelStart","pixelLength","pixel","pan","makeMover","scrollMove","getPercentDelta","percentDelta","oldPoint","newPoint","pointToCoord","moveAnimation","propsEqual","lastProp","lastProps","newProps","updateLabelShowHide","getHandleTransProps","updateMandatoryProps","_lastGraphicKey","_handle","_lastValue","_lastStatus","_payloadInfo","_axisModel","_axisPointerModel","_moveAnimation","determineAnimation","doUpdateProps","updatePointerEl","updateLabelEl","createPointerEl","createLabelEl","useSnap","seriesDataCount","pointerEl","handleModel","_onHandleDragMove","_onHandleDragEnd","includeStyles","_moveHandleToValue","_doDispatchAxisPointer","payloadInfo","axesInfo","doClear","buildLabel","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","setContentTypeIfUnset","getDefaultAdapter","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","Accept","DEFAULT_BAR_BOUND","ContinuousModel","_resetRange","resetItemSize","auto","oVals","getColorStopValues","iVals","iIdx","oIdx","iLen","oLen","first","stopsLen","stopValues","core","__e","_defineProperty","minValue","nodeValue","mapping","mapValueToColor","customColor","_updatePathDirty","dPs","enumBugKeys","Empty","PROTOTYPE","createDict","iframeDocument","iframe","gt","contentWindow","Properties","$keys","hiddenKeys","legendFilter","SankeySeries","localPosition","rawDataOpt","nodeWidth","nodeGap","layoutIterations","detectSourceFormat","sourceHeader","parallelAxisModel","setActiveIntervals","intervals","TEXT_PADDING","ITEM_GAP","ARRAY_LENGTH","Breadcrumb","makeItemPoints","packEventData","itemNode","selfType","onSelect","normalStyleModel","layoutParam","emptyItemWidth","totalWidth","_prepare","_renderContent","lastX","availableSize","v2Copy","isPointNull","drawSegment","segLen","allLen","smoothMin","smoothMax","smoothMonotone","connectNulls","drawMono","drawNonMono","prevIdx","prevP","ctrlLen","nextP","ratioNextSeg","lenPrevSeg","lenNextSeg","ptMin","ptMax","stackedOnPoints","stackedOnSmooth","stackedOnBBox","toPrimitive","IE8_DOM_DEFINE","axisX","axisY","reserved","xAxisExtent","yAxisExtent","treemapVisual","treemapLayout","SHARED","copyright","globalScaleRatio","rectContain","animateStyle","curveUtil","_updateEffectSymbol","effectLineProto","_updateEffectAnimation","constantSpeed","delayExpr","isDelayFunc","updateAnimationPoints","getLineLength","_period","__t","updateSymbolPosition","__p1","__cp1","__p2","scaleHelper","ONE_SECOND","ONE_MINUTE","ONE_HOUR","ONE_DAY","bisect","TimeScale","stepLvl","_stepLvl","approxInterval","scaleLevelsLen","scaleLevels","yearSpan","yearStep","timezoneOffset","getTimezoneOffset","fixExtent","startValue","endValue","minValueSpan","maxValueSpan","rangeMode","_dataIntervalByAxis","_dataInfo","_axisProxies","_autoThrottle","_rangePropMode","retrieveRaw","doInit","_setDefaultThrottle","updateRangeUse","_resetTarget","_giveAxisProxies","axisProxies","__dzAxisProxy","autoMode","_judgeAutoMode","axisIndexName","_autoSetAxisIndex","_autoSetOrient","hasIndexSpecified","autoAxisIndex","axisIndices","_isSeriesHasAllAxesTypeOf","axisId","seriesAxisIndex","globalOption","firstAxisModel","setRawRange","ignoreUpdateRangeUsg","getValueRange","axisDimName","rangeModeInOption","percentSpecified","valueSpecified","at","mIdentity","transformableProto","scaleTmp","parentHasTransform","relX","relY","tmpTransform","originTransform","_poly","keyGetter","_layersSeries","newLayersGroups","oldLayersGroups","points0","points1","layerGroup","updateMarkerLayout","markPointModel","mpModel","symbolDrawMap","seriesItem","SliderTimelineModel","checkpointStyle","playIcon","stopIcon","nextIcon","prevIcon","smoothSpline","smoothBezier","controlPoints","cp2","own","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","expProto","doCreateNode","urn","win","vmlInited","namespaces","zrvml","styleSheets","createStyleSheet","addRule","replacableOptionKeys","dataBound","contentColor","getTargetSeriesIndices","optionSeriesIndex","isMinMax","optDim","listDimensions","completeSingle","defa","completeInactive","stateExist","stateAbsent","optExist","optAbsent","completeController","symbolExists","symbolSizeExists","visuals","VISUAL_PRIORITY","COMPONENT","resultVisual","concreteDim","globalColors","inactiveOpacity","activeOpacity","opacityMap","itemOpacity","mapDataStorage","resizeGeo","useCenterAndSize","setGeoCoords","geoList","mapRecords","retrieveMap","mapModelGroupBySeries","nameMapList","singleMapSeries","originRegionArr","mathAtan2","simpleLayoutEdge","seriesInvolved","coordSysMap","collectAxesInfo","collectSeriesInfo","linksOption","linkGroups","coordSysKey","makeKey","axesInfoInCoordSys","baseTooltipModel","saveTooltipAxisInfo","triggerAxis","tooltipAxes","fromTooltip","axisPointerShow","isHandleTrigger","makeAxisPointerModel","involveSeries","groupIndex","getLinkGroupIndex","linkGroup","mapper","tooltipAxisPointerModel","volatileOption","labelOption","tooltipAxisPointerLabelShow","seriesTooltipTrigger","seriesTooltipShow","linkOption","checkPropInLink","linkPropValue","axisPropValue","extraOption","seriesColor","loadingDefault","lightTheme","darkTheme","TEST_FRAME_REMAIN_TIME","PRIORITY_PROCESSOR_FILTER","PRIORITY_PROCESSOR_STATISTIC","PRIORITY_VISUAL_LAYOUT","PRIORITY_VISUAL_GLOBAL","PRIORITY_VISUAL_CHART","PRIORITY_VISUAL_COMPONENT","PRIORITY_VISUAL_BRUSH","FILTER","LAYOUT","GLOBAL","CHART","IN_MAIN_PROCESS","OPTION_UPDATED","ACTION_REG","createRegisterEventWithLowercaseName","MessageCenter","ECharts","themeStorage","defaultRenderer","_throttledZrFlush","_theme","_chartsViews","_chartsMap","_componentsViews","_componentsMap","_coordSysMgr","createExtensionAPI","prioritySortFunc","__prio","visualFuncs","dataProcessorFuncs","_scheduler","_ecEventProcessor","EventProcessor","_messageCenter","_pendingActions","_onframe","bindRenderedEvent","one","echartsProto","doConvertPixel","prepare","updateMethods","flushPendingActions","triggerUpdatedEvent","remainTime","optionManager","setTheme","getSvgDataUrl","svgSupported","pathToDataUrl","excludeComponents","excludesComponentViews","__viewId","toDataURL","connectedGroups","canvasList","targetCanvas","models","defaultMainType","prepareAndUpdate","coordSysMgr","performPostUpdateFuncs","ecIns","componentDirtyList","componentView","__alive","seriesDirtyMap","markUpdateMethod","updateVisual","updateDirectly","callView","__model","chartsMap","doDispatchAction","escapeConnect","actionWrap","cptType","payloads","batched","eventObj","eventObjBatch","isHighDown","pendingActions","isComponent","viewMap","doPrepare","viewId","classType","__id","__ecComponentInfo","renderComponents","dirtyList","updateBlend","updateHoverLayerStatus","postUpdateFuncs","_loadingFX","optionChanged","cfg","loadingEffects","makeActionFromEvent","eventActionMap","weChat","MOUSE_EVENT_NAMES","elCount","getComponentByElement","modelInfo","eventInfo","isGlobalOut","zrEventfulCallAtLast","DOM_ATTRIBUTE_KEY","normalizeQuery","cptQuery","dataQuery","otherQuery","condCptType","suffixes","dataKeys","propSuffix","suffixPos","check","propOnHost","afterTrigger","idBase","groupIdBase","enableConnect","STATUS_PENDING","STATUS_UPDATING","STATUS_UPDATED","STATUS_KEY","updateConnectedChartsStatus","charts","otherChart","otherCharts","existInstance","getInstanceByDom","getInstanceById","preprocessorFunc","priority","processor","normalizeRegister","postUpdateFunc","coordSysCreator","layoutTask","visualTask","defaultPriority","__raw","registerLoading","loadingFx","setCanvasCreator","creator","dataTool","___ec_export","PATH_COLOR","markAreaTransform","maModel","ltCoord","rbCoord","markAreaFilter","getSingleMarkerEndPoint","dimPermutations","areaData","markAreaModel","areaGroupMap","polygonGroup","__data","IRRELEVANT_EXCLUDES","targetCoordSysModel","_adjustAxis","_updateAxisTransform","extentSum","isDomLevel2","MOUSE_EVENT_REG","clientToLocal","calculate","defaultGetZrXY","layerX","layerY","clientX","clientY","isTouch","touch","changedTouches","returnValue","notLeftMouse","componentUtil","renderPlanner","Chart","renderTaskPlan","renderTaskReset","toggleHighlight","chartProto","elSetState","progressMethodMap","nameRotate","nameTruncate","Ellipse","_path","DILIMITER_REG","parseXML","parser","DOMParser","parseFromString","SVGParser","_defs","_root","_isDefine","_isText","xml","viewBox","parseAttributes","_parseNode","viewBoxArr","xmlNode","parentGroup","defineParsers","nodeParsers","_parseText","_textX","_textY","inheritStyle","ellipse","parsePoints","lineargradient","_parseGradientColorStops","radialgradient","stopColor","__inheritedStyle","pointsString","attributesMap","stroke-width","fill-opacity","stroke-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","font-family","font-size","font-style","font-weight","text-align","alignment-baseline","onlyInlineStyle","zrStyle","isTextEl","parseTransformAttribute","parseStyleAttribute","svgAttrName","attrValue","elFillProp","elStrokeProp","getPaint","elPropName","urlRegex","urlMatch","transformRegex","transformOps","styleRegex","styleRegResult","styleList","viewBoxScale","viewBoxPosition","pp","friction","warmUp","setFixed","setUnfixed","nLen","repFact","positionMap","directionMap","clipWindow","drillDownIcon","upperLabel","gapWidth","borderColorSaturation","visualDimension","visualMin","visualMax","colorMappingBy","setDefault","mapIdToIndex","idIndexMap","_idIndexMap","_idIndexMapCount","globalColorList","hasColorDefine","levelDefine","modelColor","level0","resourceKey","userKey","getStore","uKey","arrySlice","eventProcessor","_$handlers","_$eventProcessor","eventful","wrap","callAtLast","lastWrap","hItem","triggerWithContext","datasetModel","resetSourceDefaulter","datasetMap","getDatasetModel","datasetOption","completeResult","completeBySourceData","makeDefaultEncode","normalizeDimensionsDefine","findPotentialName","potentialNameDimIndex","arrayRowsTravelFirst","objectRowsCollectDimensions","colArr","maxLoop","firstIndex","encodeItemName","encodeSeriesName","nSeriesMap","cSeriesMap","datasetRecord","categoryWayDim","valueWayDim","firstNotOrdinal","doGuessOrdinal","nameDimIndex","thisData","datasetIndex","sample","detectValue","TreeNode","levelOptions","leavesOption","levelModels","leavesModel","suppressVisitSub","updateDepthAndHeight","includeSelf","ancestors","levelModel","getLevelModel","getLeavesModel","clearItemLayouts","dataRoot","treeOptions","listData","dimMax","buildHierarchy","pointPair","_doTrack","_recognize","touches","trackItem","recognizers","pinchEnd","pinchPre","pinchCenter","roundNumber","intervalScaleNiceTicks","intervalPrecision","getIntervalPrecision","niceTickExtent","intervalScaleGetTicks","safeLimit","Triangle","Diamond","Pin","tanX","tanY","cpLen","cpLen2","Arrow","symbolCtors","roundRect","square","diamond","arrow","symbolShapeMakers","symbolBuildProxies","proxySymbol","symbolPathSetColor","innerColor","symbolStyle","symbolShape","__isEmptyBrush","DUMMY_COMPONENT_NAME_PREFIX","subOpts","subOptName","newCptOptions","cptOption","isIdInner","idMap","existCpt","idNum","batchA","batchB","mapA","mapB","mapToArray","sourceBatch","otherMap","otherDataIndices","isData","innerUniqueIndex","hostObj","parsedKey","queryType","queryParam","domSupported","returnFalse","createDom","newDom","newDomStyle","onselectstart","domBack","ctxBack","createBackBuffer","clearColorGradientOrPattern","haveMotionBLur","__canvasGradient","BoxplotSeries","saveAsImageLang","SaveAsImage","$a","download","MouseEvent","msSaveOrOpenBlob","bstr","atob","u8arr","blob","tab","evt","cancelable","_radiusAxis","_angleAxis","maxAngle","nullTag","undefinedTag","roundRectHelper","VALID_TEXT_ALIGN","VALID_TEXT_VERTICAL_ALIGN","SHADOW_STYLE_COMMON_PROPS","normalizeStyle","renderRichText","renderPlainText","needDrawBg","needDrawBackground","checkCache","cachedByMe","styleFont","computedFont","__computedFont","__styleFont","__textCotentBlock","boxPos","getBoxPosition","baseX","baseY","applyTextRotation","boxY","boxX","drawBackground","getTextXForPadding","propItem","styleProp","ctxProp","textStrokeWidthPrev","strokeWidthChanged","strokeChanged","getFill","strokeText","fillText","drawRichText","lineTop","tokenCount","usedWidth","lineXLeft","lineXRight","placeToken","setCtx","isPlainBg","onBgImageLoaded","blockHeiht","linesVisual","originalLarge","originalProgressive","createError","activeIntervals","getAreaSelectStyle","areaSelectStyle","enhanceError","seiresModelMap","__paletteScope","dataAll","filteredIdx","singleDataColor","_intervalPrecision","expandSize","geoJSONLoader","geoSVGLoader","loaders","singleSource","makeInvoker","getSystemInfoSync","detect","SVGRect","summarizeDimensions","UNDEFINED","INDEX_NOT_FOUND","ID_PREFIX","dataCtors","ordinal","CtorUint32Array","CtorInt32Array","CtorUint16Array","getIndicesCtor","_rawCount","cloneChunk","originalChunk","TRANSFERABLE_PROPERTIES","CLONE_PROPERTIES","transferProperties","__wrappedMethods","_calculationInfo","dimensionInfos","invertedIndicesMap","dimensionName","_indices","_storage","_nameList","_idList","_optionModels","_visual","_itemVisuals","hasItemVisual","_itemLayouts","_graphicEls","_chunkSize","_chunkCount","_rawExtent","_approximateExtent","_dimensionsSummary","_invertedIndicesMap","listProto","prepareChunks","chunkSize","chunkCount","DataCtor","lastChunkIndex","resizeChunkArray","newStore","prepareInvertedIndex","invertedIndices","getRawValueFromStore","chunkIndex","chunkOffset","getRawIndexWithoutIndices","getRawIndexWithIndices","_idDimIdx","normalizeDimensions","cloneListForMapAndSample","excludeDimensions","allDimensions","originalStorage","cloneDimStore","getInitialExtent","originalDimStore","newDimStore","getDimensionsOnCoord","dataDimsOnCoord","dimensionsSummary","encodeFirstDimNotExtra","notProvider","_nameRepeatCount","_dimValueGetter","_dimValueGetterArrayRows","_initDataFromProvider","dimLen","originalChunkCount","emptyDataItem","sourceIdx","dimRawExtent","nameDimIdx","dimensionInfoMap","idList","nameRepeatCount","_nameDimIdx","itemId","dimStorage","nameDim","nameDimChunk","getIndices","thisCount","newIndices","chunkStore","dimStore","_getFast","dimData","initialExtent","dimExtent","currEnd","useRaw","getMedian","dimDataArray","sortedDimDataArray","nearestIndices","minDiff","contextCompat","dim0","originalCount","quickFinished","chunkStorage","dimStorage2","chunkStorage2","dimk","tmpRetValue","retValue","rawExtentOnDim","sampleValue","sampleIndex","targetStorage","frameValues","frameSize","originalChunkIndex","originalChunkOffset","sampleFrameIdx","sampleChunkIndex","sampleChunkOffset","otherList","thisList","itemVisual","setItemDataAndSeriesIndex","injectFunction","originalMethod","resolvePromise","summary","notExtraCoordDimMap","defaultedLabel","defaultedTooltip","coordDimArr","mayLabelDimType","otherDimArr","dimArr","encodeLabel","encodeTooltip","FunnelSeries","_defaultLabelLine","labelLineNormalOpt","labelLineEmphasisOpt","minSize","ORIGIN_METHOD","RATE","THROTTLE_TYPE","currCall","lastCall","lastExec","timer","thisDelay","thisDebounce","debounceDelay","fnAttr","originFn","lastThrottleType","lastRate","defer","channel","invoke","cel","setTask","clearTask","clearImmediate","MessageChannel","Dispatch","ONREADYSTATECHANGE","listener","port2","port1","importScripts","disabled","PolarAxisModel","polarIndex","polarId","polarAxisDefaultExtendedOption","findPointFromSeries","axisPointerViewHelper","proxyRect","tooltipContent","_renderMode","_newLine","_tooltipContent","_tooltipModel","_lastDataByCoordSys","_alwaysShowContent","_initGlobalListener","_keepShow","_tryShow","_hide","_refreshUpdateTimeout","manuallyShowTip","_ticket","dataByCoordSys","_manuallyAxisShowTip","pointInfo","manuallyHideTip","buildTooltipModel","_showAxisTooltip","_showSeriesItemTooltip","_showComponentItemTooltip","_showOrMove","_showTimout","singleDefaultHTML","singleParamsList","singleTooltipModel","itemCoordSys","dataByAxis","axisValue","seriesDefaultHTML","valueLabel","valueLabelOpt","axisValueLabel","seriesTooltip","newMarkers","positionExpr","_updateContentNotChangedOnAxis","_updatePosition","_showTooltipContent","tooltipTrigger","defaultHtml","asyncTicket","subTooltipModel","cbTicket","contentSize","calcTooltipPosition","refixTooltipPosition","isCenterAlign","confineTooltipPosition","lastCoordSys","contentNotChanged","lastItemCoordSys","indexCoordSys","lastDataByAxis","thisItemCoordSys","thisDataByAxis","lastItem","indexAxis","lastIndices","lastIdxItem","newIdxItem","modelCascade","resultModel","gapH","gapV","domWidth","domHeight","coordSysCtor","Uint32Arr","Float64Arr","compatEc2","fromName","toName","_mini_css_extract_plugin_0_6_0_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_css_loader_1_0_1_css_loader_index_js_ref_6_oneOf_1_1_vue_loader_15_7_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_3_0_0_postcss_loader_src_index_js_ref_6_oneOf_1_2_cache_loader_2_0_1_cache_loader_dist_cjs_js_ref_0_0_vue_loader_15_7_1_vue_loader_lib_index_js_vue_loader_options_ECharts_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_mini_css_extract_plugin_0_6_0_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_css_loader_1_0_1_css_loader_index_js_ref_6_oneOf_1_1_vue_loader_15_7_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_3_0_0_postcss_loader_src_index_js_ref_6_oneOf_1_2_cache_loader_2_0_1_cache_loader_dist_cjs_js_ref_0_0_vue_loader_15_7_1_vue_loader_lib_index_js_vue_loader_options_ECharts_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_layoutHelper","_oldTree","_updateViewCoordSys","expandAndCollapse","updateNode","_nodeScaleRatio","_updateNodeAndLinkScale","_viewCoordSys","nodeScale","_getNodeGlobalScale","groupScale","groupZoom","roamZoom","getTreeNodeStyle","sourceSymbolEl","sourceLayout","sourceOldLayout","rawX","__radialOldRawX","rawY","__radialOldRawY","targetLayout","__radialRawX","__radialRawY","isLeft","realRoot","rootLayout","__edge","getEdgeShape","radialCoor1","radialCoor2","radialCoor3","radialCoor4","forbiddenField","barPolar","hasXOrY","hasXAndY","markerTypeCalculatorWithExtent","otherDataDim","targetDataDim","otherCoordIndex","targetCoordIndex","coordArr","calcDataDim","markerTypeCalculator","baseDataDim","dataDimToCoordDim","EffectSymbol","effectSymbolDraw","_updateGroupTransform","addToUnscopables","iterated","Arguments","DEFAULT_TOOLBOX_BTNS","brushComponents","brushComponentSpecifiedBtns","brushOpt","tbs","toolboxFeature","toolboxBrush","brushTypes","removeDuplicate","flag","_targetList","_selectTargetMap","targetMap","ox","oy","createWrap","doneCallback","elExistsMap","positiveBorderColorQuery","negativeBorderColorQuery","positiveColorQuery","negativeColorQuery","isLargeRender","colorP","colorN","borderColorP","getBorderColor","borderColorN","_traversalHelper","sep","commonLayout","kx","coorX","coorY","finalCoor","shadowTemp","orignalBrush","Attributes","ITEM_STYLE_NORMAL","seriesItemStyleModel","levelItemStyles","travelTree","designatedVisual","viewRootAncestors","thisNodeColor","nodeItemStyleModel","levelItemStyle","buildVisuals","calculateColor","calculateBorderColor","buildVisualMapping","childVisual","visualName","getValueVisualDefine","rangeVisual","getRangeVisual","__drColorMappingBy","childVisuals","mappingType","finally","onFinally","shared","_axisTickLabelBuilder","NORMALIZED_EXTENT","fixExtentWithBands","nTick","fixOnBandTicksCoords","ticksLen","ticksItem","borderColorQuery","defaulColor","BOOST_SIZE_THRESHOLD","LargeSymbolPath","symbolProxy","symbolProxyShape","canBoost","largeSymbolProto","endIndex","byteOffset","extrudeShadow","animatable","animateToShallow","objShallow","propertyCount","setAttrByPath","animatingShape","animateFrom","globalDefault","OPTION_INNER_KEY","_optionManager","initBase","timelineOption","mediaOptions","mediaOption","componentsMap","newCptTypes","visitComponent","newCptOptionList","getComponentsByTypes","newCptOption","ComponentModelClass","createSeriesIndices","componentOption","_seriesIndicesMap","_seriesIndices","cpts","isIdArray","cpt","isNameArray","filterBySubType","queryCond","getQueryCond","doFilter","indexAttr","idAttr","nameAttr","queryResult","oneSeries","getSeriesByType","getSeriesCount","assertSeriesInitialized","rawSeriesIndex","filteredSeries","componentTypes","isNotTargetSeries","seiresIndex","mergeTheme","notMergeColorLayer","themeItem","existComponent","compatStyle","compatLayoutProperties","LAYOUT_PROPERTIES","COMPATITABLE_COMPONENTS","clockWise","pointerColor","dataRange","componentName","normalizeRect","localPoints","specifiedXYIndex","brushWidth","targetModel","linkedNodesFinder","effectedModels","treeDepth","expandTreeDepth","initialTreeDepth","collapsed","polarOptArr","polarNotRadar","polarOpt","interpolate","w3","createPattern","EFFECT_RIPPLE_NUMBER","updateRipplePath","rippleGroup","effectCfg","ripplePath","effectSymbolProto","stopEffectAnimation","startEffectAnimation","effectOffset","rippleScale","updateEffectAnimation","oldEffectCfg","_effectCfg","DIFFICULT_PROPS","boxplotVisual","boxplotLayout","ClippathManager","clipPathEl","svgProxy","_textDom","SRC","$toString","TPL","inspectSource","checkParentAvailable","insertAfter","prevSibling","prepend","SVGPainter","gradientManager","clipPathManager","shadowManager","_viewport","_visibleList","background","visibleList","listLen","newVisibleList","prevSvgElement","textSvgElement","_getDefs","viewportStyle","outerHTML","foundAxisModel","lineAnimationDiff","isPointsSame","points2","getSmooth","getAxisExtentWithGap","halfBandWidth","getStackedOnPoints","dataCoordInfo","forSymbol","createPolarClipShape","createClipShape","turnPointsIntoStep","stepTurnAt","stepPoints","stepPt","stepPt2","getVisualGradient","stopLen","tinyExtent","minCoord","maxCoord","coordSpan","getIsIgnoreFunc","showAllSymbol","isAuto","canShowAllSymbolForCategory","categoryDataDim","labelMap","availSize","_lineGroup","isCoordSysPolar","prevCoordSys","_coordSys","_polyline","_polygon","isAreaChart","valueOrigin","showSymbol","isIgnoreFunc","__temp","_step","_newPolygon","_stackedOnPoints","_newPolyline","stackedOnSeries","_valueOrigin","__points","updatedDataInfo","diffStatus","ptIdx","modelHelper","illegalPoint","isIllegalPoint","inputAxesInfo","shouldHide","outputFinder","showValueMap","updaters","showPointer","showTooltip","coordSysContainsPoint","inputAxisInfo","findInputAxisInfo","processOnAxis","linkTriggers","tarAxisInfo","tarKey","srcAxisInfo","srcKey","srcValItem","makeMapperParam","updateModelActually","dispatchTooltipActually","dispatchHighDownActually","newValue","dontSnap","buildPayloadsBySeries","payloadBatch","snapToValue","seriesNestestValue","coordSysItem","coordSysId","coordSysIndex","coordSysMainType","outputAxesInfo","valItem","highDownKey","lastHighlights","newHighlights","toHighlight","toDownplay","processedMapType","mapSymbolOffsets","subMapSeries","getValueStart","baseDataOffset","stackResultDim","stackedData","barLayoutPolar","calRadialBar","radiusSpan","angleSpan","_lastFrame","_lastFramePercent","effectPolylineProto","accLenArr","_offsets","offsets","elementList","getAxisLineShape","rExtent","getRadiusIdx","fixAngleOverlap","firstItem","ticksAngles","_axisLine","_axisTick","tickAngleItem","_axisLabel","commonLabelModel","labelTextAlign","labelTextVerticalAlign","prevAngle","r1","dataZoomLang","DATA_ZOOM_ID_BASE","DataZoom","_isZoomActive","updateZoomBtnStatus","updateBackBtnStatus","nextActive","dataZoomSelectActive","retrieveAxisSetting","zoomActive","setBatch","findDataZoom","dzModel","dataZoomOpts","dataZoomOpt","addForAxis","axisIndicesName","givenAxisIndices","forEachComponent","$fromToolbox","HIGHLIGHT_ACTION","handleHighlight","UNHIGHLIGHT_ACTION","handleUnhighlight","settle","buildURL","parseHeaders","isURLSameOrigin","requestData","requestHeaders","auth","username","password","Authorization","btoa","onreadystatechange","responseURL","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","ontimeout","cookies","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","onUploadProgress","zoomDelta","zoomX","zoomY","componentProto","computeNodeValues","filteredNodes","iterations","layoutSankey","computeNodeBreadths","computeNodeDepths","computeEdgeDepths","getEdgeValue","remainEdges","indegreeArr","zeroIndegrees","oidx","indexEdge","moveSinksRight","scaleNodeBreadths","nodeY","nodesByBreadth","prepareNodesByBreadth","initializeNodeDepth","resolveCollisions","relaxRightToLeft","relaxLeftToRight","keyAttr","kyArray","ky0","nodeDy","edgeDy","weightedTarget","weightedSource","brushLang","Brush","_brushMode","isBrushed","command","ignoreCase","multiline","sticky","rawGeoJson","rawSpecialAreas","parsers","pieLayout","$defineProperty","clipOverflow","PieSeries","_createSelectableList","hoverOffset","avoidLabelOverlap","animationUtil","DRAG_THRESHOLD","PATH_LABEL_NOAMAL","PATH_LABEL_EMPHASIS","PATH_UPPERLABEL_NORMAL","PATH_UPPERLABEL_EMPHASIS","Z_BG","Z_CONTENT","getItemStyleEmphasis","getItemStyleNormal","createStorage","_breadcrumb","_state","thisStorage","reRoot","rootNodeGroup","nodeGroup","_giveContainerGroup","renderResult","renderFinally","_doAnimation","_resetController","_renderBreadcrumb","thisTree","oldTree","lastsForAnimation","oldStorage","willInvisibleEls","willDeleteEls","clearStorage","thisViewChildren","oldViewChildren","sameTree","thisNode","storageName","delEls","__tmWillDelete","animationWrap","__tmNodeWidth","__tmNodeHeight","targetX","targetY","fadein","_onPan","_onZoom","_clearController","mouseX","mouseY","findTarget","_zoomToNode","bgEl","thisWidth","thisHeight","thisInvisible","thisRawIndex","oldRawIndex","isParent","itemStyleNormalModel","itemStyleEmphasisModel","giveGraphic","bg","renderContent","useUpperLabel","visualBorderColor","emphasisBorderColor","upperLabelWidth","prepareText","__tmWillVisible","upperLabelRect","iconChar","emphasisLabelModel","lasts","prepareAnimationWhenHasOld","calculateZ","__tmDepth","__tmStorageName","prepareAnimationWhenNoOld","lastCfg","parentOldX","parentOldY","parentOldBg","zInLevel","adjustEdge","FOCUS_ADJACENCY","UNFOCUS_ADJACENCY","opct","_firstRender","groupNewProp","_layoutTimeout","_startForceLayoutIteration","circularRotateLabel","adjacentEdge","$iterators","TO_STRING_TAG","ArrayValues","DOMIterables","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","Collection","getOwnPropertySymbols","setEncodeAndDimensions","getRawIndicesByActiveState","theActiveState","convertDimNameToNumber","parallelVisual","colorAccessPath","arrayIndexOf","categoryNames","fromAxisAreaSelect","areaWidth","builderOpt","_refreshBrushController","extentLen","getCoverInfoList","coverInfoList","coverInfo","parallelAxisId","boxLayoutMixin","optList","Class","getDependencies","_createPolyline","polylineProto","NAN","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","seriesModelMap","outputShape","inputShape","r3","r4"],"mappings":"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EAAA,GACA82B,EAAA,IAAA92B,EAAA,IACA82B,EAAA,IAAA92B,EAAA,IACA82B,EAAA,IAAA92B,EAAA,IACA82B,EAAA,IAAA92B,EAAA,IACA82B,EAAA,IAAA92B,EAAA,IACA82B,EAAA,IAAA92B,EAAA,IACA82B,GAUAjmB,KAAA,SAAAimB,EAAA92B,GAiBA,OAhBA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,IAAA92B,EAAA,IACA82B,EAAA,IAAA92B,EAAA,IACA82B,EAAA,IAAA92B,EAAA,IACA82B,EAAA,IAAA92B,EAAA,IACA82B,EAAA,IAAA92B,EAAA,IACA82B,EAAA,IAAA92B,EAAA,IACA82B,GASAuQ,SAAA,SAAAvQ,GAiBA,OAhBAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,MACAA,EAAA,MACAA,EAAA,MACAA,EAAA,MACAA,EAAA,MACAA,EAAA,MACAA,GAUAuR,UAAA,SAAAvR,EAAA92B,GAEA,GAAA82B,IAAA92B,EAAA,CACA,IAAA6vD,EAAA7vD,EAAA,GAAA8vD,EAAA9vD,EAAA,GAAA+vD,EAAA/vD,EAAA,GACAgwD,EAAAhwD,EAAA,GAAAiwD,EAAAjwD,EAAA,GACAkwD,EAAAlwD,EAAA,IAEA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,IACA82B,EAAA,GAAA+4B,EACA/4B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,IACA82B,EAAA,GAAAg5B,EACAh5B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A,GAG5D,OAAAt9C,GAzBA,GA6BA2lB,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA8lD,EAAA9lD,EAAA,IA+BAuqC,EAAA,CAOA0F,OAAA,WACA,IAAAzP,EAAA,IAAAslB,EAAA,QAUA,OATAtlB,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,GAUA+R,SAAA,SAAA/R,EAAA92B,GAUA,OATA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,IACA82B,GASA9pB,MAAA,SAAAhN,GACA,IAAA82B,EAAA,IAAAslB,EAAA,QAUA,OATAtlB,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,GAUAjmB,KAAA,SAAAimB,EAAA92B,GAUA,OATA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,GASAuQ,SAAA,SAAAvQ,GAUA,OATAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,GAUAuR,UAAA,SAAAvR,EAAA92B,GAEA,GAAA82B,IAAA92B,EAAA,CACA,IAAA6vD,EAAA7vD,EAAA,GAAA8vD,EAAA9vD,EAAA,GAAAgwD,EAAAhwD,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA+4B,EACA/4B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAAg5B,EACAh5B,EAAA,GAAAk5B,OAEAl5B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GAGA,OAAA82B,GAUAwQ,OAAA,SAAAxQ,EAAA92B,GACA,IAAAmwD,EAAAnwD,EAAA,GAAA6vD,EAAA7vD,EAAA,GAAA8vD,EAAA9vD,EAAA,GACAowD,EAAApwD,EAAA,GAAAqwD,EAAArwD,EAAA,GAAAgwD,EAAAhwD,EAAA,GACAswD,EAAAtwD,EAAA,GAAAuwD,EAAAvwD,EAAA,GAAAwwD,EAAAxwD,EAAA,GAEA8wD,EAAAN,EAAAH,EAAAL,EAAAO,EACAiB,GAAAhB,EAAAJ,EAAAJ,EAAAM,EACA2B,EAAA1B,EAAAH,EAAAC,EAAAC,EAGA1nB,EAAAunB,EAAAW,EAAAjB,EAAA2B,EAAA1B,EAAAmC,EAEA,OAAArpB,GAGAA,EAAA,EAAAA,EAEA9R,EAAA,GAAAg6B,EAAAloB,EACA9R,EAAA,KAAA05B,EAAAX,EAAAC,EAAAS,GAAA3nB,EACA9R,EAAA,IAAAk5B,EAAAH,EAAAC,EAAAO,GAAAznB,EACA9R,EAAA,GAAA06B,EAAA5oB,EACA9R,EAAA,IAAA05B,EAAAL,EAAAL,EAAAQ,GAAA1nB,EACA9R,EAAA,KAAAk5B,EAAAG,EAAAL,EAAAM,GAAAxnB,EACA9R,EAAA,GAAAm7B,EAAArpB,EACA9R,EAAA,KAAAy5B,EAAAJ,EAAAN,EAAAS,GAAA1nB,EACA9R,EAAA,IAAAu5B,EAAAF,EAAAN,EAAAO,GAAAxnB,EACA9R,GAbA,MAuBA0P,QAAA,SAAA1P,EAAA92B,GACA,IAAAmwD,EAAAnwD,EAAA,GAAA6vD,EAAA7vD,EAAA,GAAA8vD,EAAA9vD,EAAA,GACAowD,EAAApwD,EAAA,GAAAqwD,EAAArwD,EAAA,GAAAgwD,EAAAhwD,EAAA,GACAswD,EAAAtwD,EAAA,GAAAuwD,EAAAvwD,EAAA,GAAAwwD,EAAAxwD,EAAA,GAWA,OATA82B,EAAA,GAAAu5B,EAAAG,EAAAR,EAAAO,EACAz5B,EAAA,GAAAg5B,EAAAS,EAAAV,EAAAW,EACA15B,EAAA,GAAA+4B,EAAAG,EAAAF,EAAAO,EACAv5B,EAAA,GAAAk5B,EAAAM,EAAAF,EAAAI,EACA15B,EAAA,GAAAq5B,EAAAK,EAAAV,EAAAQ,EACAx5B,EAAA,GAAAg5B,EAAAM,EAAAD,EAAAH,EACAl5B,EAAA,GAAAs5B,EAAAG,EAAAF,EAAAC,EACAx5B,EAAA,GAAA+4B,EAAAS,EAAAH,EAAAI,EACAz5B,EAAA,GAAAq5B,EAAAE,EAAAR,EAAAO,EACAt5B,GASA2P,YAAA,SAAAzmC,GACA,IAAAmwD,EAAAnwD,EAAA,GAAA6vD,EAAA7vD,EAAA,GAAA8vD,EAAA9vD,EAAA,GACAowD,EAAApwD,EAAA,GAAAqwD,EAAArwD,EAAA,GAAAgwD,EAAAhwD,EAAA,GACAswD,EAAAtwD,EAAA,GAAAuwD,EAAAvwD,EAAA,GAAAwwD,EAAAxwD,EAAA,GAEA,OAAAmwD,GAAAK,EAAAH,EAAAL,EAAAO,GAAAV,IAAAW,EAAAJ,EAAAJ,EAAAM,GAAAR,GAAAS,EAAAH,EAAAC,EAAAC,IAWA56B,SAAA,SAAAoB,EAAA92B,EAAAC,GACA,IAAAkwD,EAAAnwD,EAAA,GAAA6vD,EAAA7vD,EAAA,GAAA8vD,EAAA9vD,EAAA,GACAowD,EAAApwD,EAAA,GAAAqwD,EAAArwD,EAAA,GAAAgwD,EAAAhwD,EAAA,GACAswD,EAAAtwD,EAAA,GAAAuwD,EAAAvwD,EAAA,GAAAwwD,EAAAxwD,EAAA,GAEA6wD,EAAA5wD,EAAA,GAAA6wD,EAAA7wD,EAAA,GAAA8wD,EAAA9wD,EAAA,GACAsxD,EAAAtxD,EAAA,GAAAuxD,EAAAvxD,EAAA,GAAA8xD,EAAA9xD,EAAA,GACA+xD,EAAA/xD,EAAA,GAAAgyD,EAAAhyD,EAAA,GAAAiyD,EAAAjyD,EAAA,GAaA,OAXA62B,EAAA,GAAA+5B,EAAAV,EAAAW,EAAAV,EAAAW,EAAAT,EACAx5B,EAAA,GAAA+5B,EAAAhB,EAAAiB,EAAAT,EAAAU,EAAAR,EACAz5B,EAAA,GAAA+5B,EAAAf,EAAAgB,EAAAd,EAAAe,EAAAP,EAEA15B,EAAA,GAAAy6B,EAAApB,EAAAqB,EAAApB,EAAA2B,EAAAzB,EACAx5B,EAAA,GAAAy6B,EAAA1B,EAAA2B,EAAAnB,EAAA0B,EAAAxB,EACAz5B,EAAA,GAAAy6B,EAAAzB,EAAA0B,EAAAxB,EAAA+B,EAAAvB,EAEA15B,EAAA,GAAAk7B,EAAA7B,EAAA8B,EAAA7B,EAAA8B,EAAA5B,EACAx5B,EAAA,GAAAk7B,EAAAnC,EAAAoC,EAAA5B,EAAA6B,EAAA3B,EACAz5B,EAAA,GAAAk7B,EAAAlC,EAAAmC,EAAAjC,EAAAkC,EAAA1B,EACA15B,IAOA+J,EAAApL,IAAAoL,EAAAnL,SAUAmL,EAAAuH,UAAA,SAAAtR,EAAA92B,EAAA4U,GACA,IAAAu7C,EAAAnwD,EAAA,GAAA6vD,EAAA7vD,EAAA,GAAA8vD,EAAA9vD,EAAA,GACAowD,EAAApwD,EAAA,GAAAqwD,EAAArwD,EAAA,GAAAgwD,EAAAhwD,EAAA,GACAswD,EAAAtwD,EAAA,GAAAuwD,EAAAvwD,EAAA,GAAAwwD,EAAAxwD,EAAA,GACAvG,EAAAmb,EAAA,GAAAlb,EAAAkb,EAAA,GAaA,OAXAkiB,EAAA,GAAAq5B,EACAr5B,EAAA,GAAA+4B,EACA/4B,EAAA,GAAAg5B,EAEAh5B,EAAA,GAAAs5B,EACAt5B,EAAA,GAAAu5B,EACAv5B,EAAA,GAAAk5B,EAEAl5B,EAAA,GAAAr9B,EAAA02D,EAAAz2D,EAAA02D,EAAAE,EACAx5B,EAAA,GAAAr9B,EAAAo2D,EAAAn2D,EAAA22D,EAAAE,EACAz5B,EAAA,GAAAr9B,EAAAq2D,EAAAp2D,EAAAs2D,EAAAQ,EACA15B,GAWA+J,EAAAkH,OAAA,SAAAjR,EAAA92B,EAAAgoC,GACA,IAAAmoB,EAAAnwD,EAAA,GAAA6vD,EAAA7vD,EAAA,GAAA8vD,EAAA9vD,EAAA,GACAowD,EAAApwD,EAAA,GAAAqwD,EAAArwD,EAAA,GAAAgwD,EAAAhwD,EAAA,GACAswD,EAAAtwD,EAAA,GAAAuwD,EAAAvwD,EAAA,GAAAwwD,EAAAxwD,EAAA,GAEA0lB,EAAAvnB,KAAA0Y,IAAAmxB,GACA9nC,EAAA/B,KAAAwY,IAAAqxB,GAaA,OAXAlR,EAAA,GAAA52B,EAAAiwD,EAAAzqC,EAAA0qC,EACAt5B,EAAA,GAAA52B,EAAA2vD,EAAAnqC,EAAA2qC,EACAv5B,EAAA,GAAA52B,EAAA4vD,EAAApqC,EAAAsqC,EAEAl5B,EAAA,GAAA52B,EAAAkwD,EAAA1qC,EAAAyqC,EACAr5B,EAAA,GAAA52B,EAAAmwD,EAAA3qC,EAAAmqC,EACA/4B,EAAA,GAAA52B,EAAA8vD,EAAAtqC,EAAAoqC,EAEAh5B,EAAA,GAAAw5B,EACAx5B,EAAA,GAAAy5B,EACAz5B,EAAA,GAAA05B,EACA15B,GAWA+J,EAAArxB,MAAA,SAAAsnB,EAAA92B,EAAA4U,GACA,IAAAnb,EAAAmb,EAAA,GAAAlb,EAAAkb,EAAA,GAaA,OAXAkiB,EAAA,GAAAr9B,EAAAuG,EAAA,GACA82B,EAAA,GAAAr9B,EAAAuG,EAAA,GACA82B,EAAA,GAAAr9B,EAAAuG,EAAA,GAEA82B,EAAA,GAAAp9B,EAAAsG,EAAA,GACA82B,EAAA,GAAAp9B,EAAAsG,EAAA,GACA82B,EAAA,GAAAp9B,EAAAsG,EAAA,GAEA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,GAUA+J,EAAA+F,UAAA,SAAA9P,EAAA92B,GAYA,OAXA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,KAEAA,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,KAEAA,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,KACAA,GAWA+J,EAAA6F,SAAA,SAAA5P,EAAAT,GACA,IAAA58B,EAAA48B,EAAA,GAAA38B,EAAA28B,EAAA,GAAAzB,EAAAyB,EAAA,GAAAv8B,EAAAu8B,EAAA,GACAY,EAAAx9B,IACAy9B,EAAAx9B,IACAy9B,EAAAvC,IAEAu9B,EAAA14D,EAAAw9B,EACA27B,EAAAl5D,EAAAu9B,EACAq7B,EAAA54D,EAAAw9B,EACA27B,EAAAj+B,EAAAqC,EACA67B,EAAAl+B,EAAAsC,EACAs7B,EAAA59B,EAAAuC,EACAs7B,EAAA34D,EAAAm9B,EACAy7B,EAAA54D,EAAAo9B,EACAy7B,EAAA74D,EAAAq9B,EAcA,OAZAL,EAAA,KAAAw7B,EAAAE,EACA17B,EAAA,GAAA87B,EAAAD,EACA77B,EAAA,GAAA+7B,EAAAH,EAEA57B,EAAA,GAAA87B,EAAAD,EACA77B,EAAA,KAAAq7B,EAAAK,EACA17B,EAAA,GAAAg8B,EAAAL,EAEA37B,EAAA,GAAA+7B,EAAAH,EACA57B,EAAA,GAAAg8B,EAAAL,EACA37B,EAAA,KAAAq7B,EAAAG,EAEAx7B,GAWA+J,EAAA6mC,eAAA,SAAA5wC,EAAA92B,GACA,IAAAmwD,EAAAnwD,EAAA,GAAA6vD,EAAA7vD,EAAA,GAAA8vD,EAAA9vD,EAAA,GAAA+vD,EAAA/vD,EAAA,GACAowD,EAAApwD,EAAA,GAAAqwD,EAAArwD,EAAA,GAAAgwD,EAAAhwD,EAAA,GAAAiwD,EAAAjwD,EAAA,GACAswD,EAAAtwD,EAAA,GAAAuwD,EAAAvwD,EAAA,GAAAwwD,EAAAxwD,EAAA,IAAAkwD,EAAAlwD,EAAA,IACAywD,EAAAzwD,EAAA,IAAA0wD,EAAA1wD,EAAA,IAAA2wD,EAAA3wD,EAAA,IAAA4wD,EAAA5wD,EAAA,IAEA6wD,EAAAV,EAAAE,EAAAR,EAAAO,EACAU,EAAAX,EAAAH,EAAAF,EAAAM,EACAW,EAAAZ,EAAAF,EAAAF,EAAAK,EACAY,EAAAnB,EAAAG,EAAAF,EAAAO,EACAY,EAAApB,EAAAI,EAAAF,EAAAM,EACAa,EAAApB,EAAAG,EAAAF,EAAAC,EACAmB,EAAAb,EAAAI,EAAAH,EAAAE,EACAW,EAAAd,EAAAK,EAAAH,EAAAC,EACAY,EAAAf,EAAAM,EAAAV,EAAAO,EACAa,EAAAf,EAAAI,EAAAH,EAAAE,EACAa,EAAAhB,EAAAK,EAAAV,EAAAQ,EACAc,EAAAhB,EAAAI,EAAAV,EAAAS,EAGA/nB,EAAAioB,EAAAW,EAAAV,EAAAS,EAAAR,EAAAO,EAAAN,EAAAK,EAAAJ,EAAAG,EAAAF,EAAAC,EAEA,OAAAvoB,GAGAA,EAAA,EAAAA,EAEA9R,EAAA,IAAAu5B,EAAAmB,EAAAxB,EAAAuB,EAAAtB,EAAAqB,GAAA1oB,EACA9R,EAAA,IAAAk5B,EAAAqB,EAAAjB,EAAAoB,EAAAvB,EAAAmB,GAAAxoB,EACA9R,EAAA,IAAAs5B,EAAAmB,EAAAlB,EAAAgB,EAAApB,EAAAkB,GAAAvoB,EAEA9R,EAAA,IAAAg5B,EAAAyB,EAAA1B,EAAA2B,EAAAzB,EAAAuB,GAAA1oB,EACA9R,EAAA,IAAAq5B,EAAAqB,EAAA1B,EAAAuB,EAAAtB,EAAAqB,GAAAxoB,EACA9R,EAAA,IAAA+4B,EAAAwB,EAAAlB,EAAAoB,EAAAxB,EAAAoB,GAAAvoB,EAEA9R,EAAA,IAAA45B,EAAAQ,EAAAP,EAAAM,EAAAL,EAAAI,GAAApoB,EACA9R,EAAA,IAAA65B,EAAAI,EAAAN,EAAAS,EAAAN,EAAAE,GAAAloB,EACA9R,EAAA,IAAA25B,EAAAQ,EAAAP,EAAAK,EAAAH,EAAAC,GAAAjoB,EAEA9R,GAhBA,MAyBA+J,EAAAozB,KAAA,SAAAj0D,GACA,OAAA7B,KAAAk+C,KAAAl+C,KAAA2uB,IAAA9sB,EAAA,MAAA7B,KAAA2uB,IAAA9sB,EAAA,MAAA7B,KAAA2uB,IAAA9sB,EAAA,MAAA7B,KAAA2uB,IAAA9sB,EAAA,MAAA7B,KAAA2uB,IAAA9sB,EAAA,MAAA7B,KAAA2uB,IAAA9sB,EAAA,MAAA7B,KAAA2uB,IAAA9sB,EAAA,MAAA7B,KAAA2uB,IAAA9sB,EAAA,MAAA7B,KAAA2uB,IAAA9sB,EAAA,QAIA2lB,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAoiC,EAAApiC,EAAA,GACAqxE,EAAArxE,EAAA,GACAsxE,EAAAtxE,EAAA,IACAuxE,EAAAvxE,EAAA,GACAwxE,EAAAxxE,EAAA,IACAyxE,EAAAzxE,EAAA,IAQA0xE,EAAA,EAMAj9C,EAAA2N,EAAA,KAAAv8B,OAAA,CAKA4J,KAAA,GAMAhI,SAAA,KAMAE,SAAA,KAMAuR,MAAA,KAMAipD,eAAA,KAOA5C,eAAA,KAMAoS,0BAAA,EAOAC,QAAA,KAMAjD,OAAA,KAKAkD,4BAAA,EAKAC,cAAA,EAGAC,QAAA,GAEC,WAED5wE,KAAAsO,OACAtO,KAAAsO,MAAAtO,KAAAG,MAAA,YAAAowE,KAGAvwE,KAAAsG,WACAtG,KAAAsG,SAAA,IAAA4pE,EAAA,MAEAlwE,KAAAwG,WACAxG,KAAAwG,SAAA,IAAA2pE,EAAA,MAEAnwE,KAAA+X,QACA/X,KAAA+X,MAAA,IAAAm4D,EAAA,aAGAlwE,KAAAghE,eAAA,IAAAoP,EAAA,KACApwE,KAAAo+D,eAAA,IAAAgS,EAAA,KAEApwE,KAAA6wE,UAAA,IAIA,CAMAx6D,OAAA,KAMAy6D,WAAA,EAMAC,cAAA,WACA,UAMA1sC,aAAA,WACA,UAOA2sC,QAAA,SAAA1iE,GACA,IAAAivD,EAAAv9D,KAAAwtE,OACA,GAAAjQ,EAAA,CACA,IAAA0T,EAAA1T,EAAA2T,uBACAD,EAAAjxE,KAAAsO,MACA2iE,EAAA3iE,GAAAtO,KAEAA,KAAAsO,QAOAivB,IAAA,SAAAlgB,GACA,IAAA8zD,EAAA9zD,EAAAozD,QACA,GAAAU,IAAAnxE,KAAA,CAGAmxE,GACAA,EAAA3kE,OAAA6Q,GAEAA,EAAAozD,QAAAzwE,KACAA,KAAA6wE,UAAAl+D,KAAA0K,GAEA,IAAAkgD,EAAAv9D,KAAAwtE,OACAjQ,OAAAlgD,EAAAkgD,OACAlgD,EAAA8U,SAAAnyB,KAAAoxE,gBAAApxE,MAIAqd,EAAAqzD,4BAAA,IAOAlkE,OAAA,SAAA6Q,GACA,IAAA8mD,EAAAnkE,KAAA6wE,UACAlzD,EAAAwmD,EAAA/4B,QAAA/tB,GACAM,EAAA,IAIAwmD,EAAAkN,OAAA1zD,EAAA,GACAN,EAAAozD,QAAA,KAEAzwE,KAAAwtE,QACAnwD,EAAA8U,SAAAnyB,KAAAsxE,qBAAAtxE,QAOAqkE,UAAA,WAGA,IAFA,IAAAF,EAAAnkE,KAAA6wE,UAEAlzD,EAAA,EAAyBA,EAAAwmD,EAAA5gE,OAAuBoa,IAChDwmD,EAAAxmD,GAAA8yD,QAAA,KAEAzwE,KAAAwtE,QACArJ,EAAAxmD,GAAAwU,SAAAnyB,KAAAsxE,qBAAAtxE,MAIAA,KAAA6wE,UAAA,IAOAU,SAAA,WACA,OAAAvxE,KAAAwtE,QAOAgE,UAAA,WACA,OAAAxxE,KAAAywE,SAGAa,qBAAA,SAAAG,GACAA,EAAAjE,OAAAv7C,gBAAAw/C,GACAA,EAAAjE,OAAA,MAGA4D,gBAAA,SAAAK,GACAzxE,KAAAwtE,OAAAz7C,WAAA0/C,GACAA,EAAAjE,OAAAxtE,KAAAwtE,QAOAkE,WAAA,SAAAr0D,GACA,IAAAs0D,EAAAt0D,EAAAozD,QACA,MAAAkB,EAAA,CACA,GAAAA,IAAA3xE,KACA,SAEA2xE,IAAAlB,QAEA,UAOAtM,SAAA,WACA,OAAAnkE,KAAA6wE,UAAA3xC,SAQA0yC,QAAA,SAAAj0D,GACA,OAAA3d,KAAA6wE,UAAAlzD,IAQAk0D,eAAA,SAAAvjE,GAEA,IADA,IAAA61D,EAAAnkE,KAAA6wE,UACA9lE,EAAA,EAAuBA,EAAAo5D,EAAA5gE,OAAqBwH,IAC5C,GAAAo5D,EAAAp5D,GAAAuD,SACA,OAAA61D,EAAAp5D,IAUA+mE,oBAAA,SAAAxjE,GAEA,IADA,IAAA61D,EAAAnkE,KAAA6wE,UACA9lE,EAAA,EAAuBA,EAAAo5D,EAAA5gE,OAAqBwH,IAAA,CAC5C,IAAAqnB,EAAA+xC,EAAAp5D,GACA,GAAAqnB,EAAA9jB,SACA,OAAA8jB,EAEA,IAAA2/C,EAAA3/C,EAAA0/C,oBAAAxjE,GACA,GAAAyjE,EACA,OAAAA,IAaAC,UAAA,SAAAvN,GACA,GAAAA,EAAA,CAMA,IAFA,IAAAwN,EAAAxN,EAAAh2D,MAAA,KACAyjE,EAAAlyE,KACA+K,EAAA,EAAuBA,EAAAknE,EAAA1uE,OAAoBwH,IAAA,CAC3C,IAAAuD,EAAA2jE,EAAAlnE,GAEA,GAAAuD,EAAA,CAKA,IAFA,IAAA6jE,GAAA,EACAhO,EAAA+N,EAAArB,UACAngE,EAAA,EAA2BA,EAAAyzD,EAAA5gE,OAAqBmN,IAAA,CAChD,IAAA0hB,EAAA+xC,EAAAzzD,GACA,GAAA0hB,EAAA9jB,SAAA,CACA4jE,EAAA9/C,EACA+/C,GAAA,EACA,OAIA,IAAAA,EACA,QAIA,OAAAD,IAQAE,QAAA,SAAA5U,GACA,IAAAx9D,KAAAywE,QACA,UAGA,IAAAyB,EAAAlyE,KAAAywE,QACAhM,EAAAzkE,KAAAsO,KACA,MAAA4jE,EAAAzB,QAAA,CAEA,GADAhM,EAAAyN,EAAA5jE,KAAA,IAAAm2D,EACAyN,EAAAzB,SAAAjT,EACA,MAEA0U,IAAAzB,QAEA,OAAAyB,EAAAzB,SAAAjT,EACA,KAEAiH,GAUAtyC,SAAA,SAAAkgD,EAAA3uD,GACA2uD,EAAAtyE,KAAA2jB,EAAA1jB,MAEA,IADA,IAAA6wE,EAAA7wE,KAAA6wE,UACA9lE,EAAA,EAAA0B,EAAAokE,EAAAttE,OAA8CwH,EAAA0B,EAAS1B,IACvD8lE,EAAA9lE,GAAAonB,SAAAkgD,EAAA3uD,IAYA4uD,UAAA,SAAAD,EAAA3uD,GAEA,IADA,IAAAmtD,EAAA7wE,KAAA6wE,UACA9lE,EAAA,EAAA0B,EAAAokE,EAAAttE,OAA8CwH,EAAA0B,EAAS1B,IAAA,CACvD,IAAAqnB,EAAAy+C,EAAA9lE,GACAsnE,EAAAtyE,KAAA2jB,EAAA0O,EAAArnB,KAQAozD,kBAAA,SAAAvN,GACAyf,EAAA,KAAAj3D,KAAApZ,KAAAo+D,eAAAhhC,MAAAwzB,EAAAxzB,OACAp9B,KAAAuyE,2BAMAA,wBAAA,SAAAC,GACA,IAAAz6D,EAAAy6D,EAAA,KAAAxyE,KAAA+X,MACA/X,KAAAo+D,eAAAvtB,gBAAA94B,EAAA/X,KAAAwG,SAAAxG,KAAAsG,WAOAmsE,kBAAA,SAAA7hB,GACAyf,EAAA,KAAAj3D,KAAApZ,KAAAghE,eAAA5jC,MAAAwzB,EAAAxzB,OACAp9B,KAAA0yE,2BAOAA,wBAAA,WAEA,IAAAviB,EAAAkgB,EAAA,KAAAvhC,SAEA,gBAAA0jC,GACA,IAAApU,EAAAp+D,KAAAo+D,eACA4C,EAAAhhE,KAAAghE,eAEAhhE,KAAAywE,SACAJ,EAAA,KAAAxgC,OAAAsgB,EAAAnwD,KAAAywE,QAAAzP,eAAA5jC,OACAizC,EAAA,KAAApyC,SAAAmgC,EAAAhhC,MAAA+yB,EAAA6Q,EAAA5jC,QAEAizC,EAAA,KAAAj3D,KAAAglD,EAAAhhC,MAAA4jC,EAAA5jC,OAEA,IAAArlB,EAAAy6D,EAAA,KAAAxyE,KAAA+X,MACAqmD,EAAAvtB,gBAAA94B,EAAA/X,KAAAwG,SAAAxG,KAAAsG,WAfA,GAmBAqsE,qBAAA,WACA,OAAA3yE,KAAAsG,SAAAg3B,QACAt9B,KAAAwG,SAAA82B,QACAt9B,KAAA+X,MAAAulB,QAOAs1C,qBAAA,WACA,IAAAtsE,EAAAtG,KAAAsG,SACAE,EAAAxG,KAAAwG,SACAuR,EAAA/X,KAAA+X,MAEA,GAAA/X,KAAA2yE,uBAAA,CACA,IAAAplD,EAAAvtB,KAAAo+D,eAAAhhC,MAGAizC,EAAA,KAAAnhC,wBAAA3hB,EAAA/mB,EAAA42B,MAAA92B,EAAA82B,OAEAizC,EAAA,KAAAt4D,MAAAwV,IAAAxV,EAAAqlB,OAEA52B,EAAA82B,QAAA,EACAvlB,EAAAulB,QAAA,EACAh3B,EAAAg3B,QAAA,EAEAt9B,KAAA0wE,4BAAA,IAQAmC,6BAAA,WACA,IAAAzU,EAAAp+D,KAAAo+D,eAAAhhC,MACA4jC,EAAAhhE,KAAAghE,eAAA5jC,MACAp9B,KAAAywE,QACAJ,EAAA,KAAAjW,eACA4G,EACAhhE,KAAAywE,QAAAzP,eAAA5jC,MACAghC,GAIAiS,EAAA,KAAAj3D,KAAA4nD,EAAA5C,IAOA0U,qBAAA,WAEA,IAAAC,EAAA/yE,KACA,MAAA+yE,KAAAvB,aACAuB,EAAAvB,YAAAmB,uBAEAI,IAAAvB,YAEAuB,EAAAxmD,UAOAA,OAAA,SAAAymD,GACAhzE,KAAAwwE,yBACAxwE,KAAA4yE,uBAIAI,GAAA,GAGAA,GAAAhzE,KAAA0wE,8BACA1wE,KAAA6yE,+BACAG,GAAA,EACAhzE,KAAA0wE,4BAAA,GAIA,IADA,IAAAvM,EAAAnkE,KAAA6wE,UACA9lE,EAAA,EAAA0B,EAAA03D,EAAA5gE,OAA6CwH,EAAA0B,EAAS1B,IACtDo5D,EAAAp5D,GAAAwhB,OAAAymD,IAWAC,eAAA,WACA,SAAAC,EAAAniC,GACA,OAAAA,EAAA+/B,WAAA//B,EAAA9U,SAEA,IAAAk3C,EAAA,IAAA7C,EAAA,KACA8C,EAAA,IAAAhD,EAAA,KACAzP,EAAA,IAAAyP,EAAA,KACA,gBAAAvoB,EAAAxoB,GAoBA,OAnBAA,KAAA,IAAAixC,EAAA,KACAzoB,KAAAqrB,EAEAlzE,KAAAywE,QACAL,EAAA,KAAAvgC,OAAA8wB,EAAA3gE,KAAAywE,QAAAzP,gBAGAoP,EAAA,KAAAxgC,SAAA+wB,GAGA3gE,KAAAmyB,SAAA,SAAAigC,GACAA,EAAAn2B,UAAAm2B,EAAAn2B,SAAAixB,cACAimB,EAAA/5D,KAAAg5C,EAAAn2B,SAAAixB,aACAkjB,EAAA,KAAAnyC,SAAAm1C,EAAAzS,EAAAvO,EAAA4O,gBACAmS,EAAA95D,eAAA+5D,GACA/zC,EAAA80B,MAAAgf,KAEanzE,KAAAkzE,GAEb7zC,GA3BA,GAoCAwhC,iBAAA,SAAAxhC,GAEAr/B,KAAA2yE,wBACA3yE,KAAA8yE,uBAEA,IAAAvlD,EAAAvtB,KAAAghE,eAAA5jC,MACA,GAAAiC,EAAA,CACA,IAAA5B,EAAA4B,EAAAjC,MAIA,OAHAK,EAAA,GAAAlQ,EAAA,IACAkQ,EAAA,GAAAlQ,EAAA,IACAkQ,EAAA,GAAAlQ,EAAA,IACA8R,EAGA,WAAA6wC,EAAA,KAAA3iD,EAAA,IAAAA,EAAA,IAAAA,EAAA,MAQAhY,MAAA,WACA,IAAA8H,EAAA,IAAArd,KAAAE,YAEAikE,EAAAnkE,KAAA6wE,UAEAxzD,EAAA2zD,QAAAhxE,KAAAsO,MACA+O,EAAA/W,SAAA8S,KAAApZ,KAAAsG,UACA+W,EAAA7W,SAAA4S,KAAApZ,KAAAwG,UACA6W,EAAAtF,MAAAqB,KAAApZ,KAAA+X,OAEA,QAAAhN,EAAA,EAAuBA,EAAAo5D,EAAA5gE,OAAqBwH,IAC5CsS,EAAAkgB,IAAA4mC,EAAAp5D,GAAAwK,SAGA,OAAA8H,GAWAg2D,aAAA,WACA,IAAAl2D,EAAA,IAAA+yD,EAAA,KACAoD,EAAA,IAAAlD,EAAA,KAGA,gBAAAvG,EAAA7kE,EAAAihD,GAEA9oC,EAAA/D,KAAApZ,KAAAsG,UAAAk4B,SAAAqrC,GAEA,IAAAzL,EAAAp+D,KAAAo+D,eACAA,EAAAxuB,WAEAwuB,EAAAztB,UAAAk5B,GACAzL,EAAA9tB,OAAA2V,EAAAjhD,GAEAsuE,EAAApkC,wBAAAlvC,KAAAwG,SAAA2W,GACAihD,EAAAngC,SAAAq1C,GACAlV,EAAArmD,MAAA/X,KAAA+X,OAEA/X,KAAAuyE,0BACAvyE,KAAA0wE,4BAAA,GApBA,GA8BA5gC,OAAA,WACA,IAAAviB,EAAA,IAAA6iD,EAAA,KACA,gBAAA/5D,EAAA25B,GACAziB,EAAAuiB,OAAA9vC,KAAAsG,SAAA+P,EAAA25B,GAAAhwC,KAAAo+D,eAAAn8D,GAAA4tC,SACA7vC,KAAAm+D,kBAAA5wC,GAEAvtB,KAAAqW,UANA,KAWA6X,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAumE,EAAAvmE,EAAA,IACA00E,EAAA10E,EAAA,IACA20E,EAAA30E,EAAA,IACAwtD,EAAAxtD,EAAA,IACA40E,EAAA50E,EAAA,IACA60E,EAAA70E,EAAA,IACA80E,EAAA90E,EAAA,IACA+0E,EAAA/0E,EAAA,GAUAg1E,EAAAH,EAAA,KAAA5kC,SACAglC,EAAAJ,EAAA,KAAA5kC,SAEAinB,EAAA,GAEA,SAAAI,EAAA4d,GACA,IAAA7d,EAAA,GACA8d,EAAAjrE,OAAAitB,KAAA+9C,GACAC,EAAA/9C,OACA,QAAAlrB,EAAA,EAAmBA,EAAAipE,EAAAzwE,OAAuBwH,IAAA,CAC1C,IAAAkpE,EAAAD,EAAAjpE,GACAmrD,EAAAvjD,KAAAshE,EAAA,IAAAF,EAAAE,IAEA,IAAAhpE,EAAAirD,EAAAlmD,KAAA,MAEA,GAAA+lD,EAAA9qD,GACA,OAAA8qD,EAAA9qD,GAGA,IAAAghB,EAAAwnD,EAAA,KAAAxrC,UAEA,OADA8tB,EAAA9qD,GAAAghB,EACAA,EAGA,SAAAioD,IAEAl0E,KAAAwhE,OAAA,GACAxhE,KAAA0zD,YAAA,GAEA1zD,KAAAm0E,aAAA,EACAn0E,KAAAo0E,kBAAA,EAGAF,EAAAj0E,UAAAo0E,WAAA,WACAr0E,KAAAm0E,aAAA,EACAn0E,KAAAo0E,kBAAA,GAGAF,EAAAj0E,UAAAs9B,IAAA,SAAAxP,EAAAumD,GACAA,EACAt0E,KAAA0zD,YAAA1zD,KAAAo0E,qBAAArmD,EAGA/tB,KAAAwhE,OAAAxhE,KAAAm0E,gBAAApmD,GAIAmmD,EAAAj0E,UAAAs0E,SAAA,WACAv0E,KAAA0zD,YAAAnwD,OAAAvD,KAAAo0E,kBACAp0E,KAAAwhE,OAAAj+D,OAAAvD,KAAAm0E,cAaA,IAAAK,EAAApP,EAAA,KAAA1gE,OAAA,WACA,OAKAmuB,SAAA,KAEA27C,OAAA,GAWAiG,yBAAA,IAAApoB,EAAA,KAGAqoB,eAAA,GAEAC,YAAA,GAIAC,eAAA,GAEAC,qBAAA,GAEAC,aAAA,GAUAC,kBAAA,GAEA7D,gBAAA,GAEA8D,aAAA,IAAArB,EAAA,WAGC,WACD3zE,KAAAwtE,OAAAxtE,MAGA,CAGA+xB,WAAA,SAAA1U,GACAA,aAAAm2D,EAAA,MACAxzE,KAAA20E,YAAApxE,OAAA,GACA60B,QAAAyH,KAAA,yDAEA7/B,KAAA20E,YAAAhiE,KAAA0K,IAEAA,aAAAk2D,EAAA,MACAvzE,KAAAwuE,OAAA77D,KAAA0K,GAEAA,EAAA/O,OACAtO,KAAAkxE,gBAAA7zD,EAAA/O,MAAA+O,IAKA4U,gBAAA,SAAA5U,GACA,IAAAM,EACAN,aAAAm2D,EAAA,MACA71D,EAAA3d,KAAA20E,YAAAvpC,QAAA/tB,GACAM,GAAA,GACA3d,KAAA20E,YAAAtD,OAAA1zD,EAAA,IAGAN,aAAAk2D,EAAA,OACA51D,EAAA3d,KAAAwuE,OAAApjC,QAAA/tB,GACAM,GAAA,GACA3d,KAAAwuE,OAAA6C,OAAA1zD,EAAA,IAGAN,EAAA/O,aACAtO,KAAAkxE,gBAAA7zD,EAAA/O,OAUA2mE,QAAA,SAAA3mE,GACA,OAAAtO,KAAAkxE,gBAAA5iE,IAOA4mE,cAAA,SAAA5iB,GACA,IAAA30C,EAAA3d,KAAA20E,YAAAvpC,QAAAknB,GACA30C,GAAA,GACA3d,KAAA20E,YAAAtD,OAAA1zD,EAAA,GAEA3d,KAAA20E,YAAAQ,QAAA7iB,IAKA8iB,cAAA,WACA,OAAAp1E,KAAA20E,YAAA,IAGAU,UAAA,WACA,OAAAr1E,KAAAwuE,QAGA5P,aAAA,WACA,IAAA4P,EAAAxuE,KAAAwuE,OACAxuE,KAAA60E,qBAAA70E,KAAA80E,aAGA,IADA,IAAAQ,EAAA,GACAvqE,EAAA,EAAuBA,EAAAyjE,EAAAjrE,OAAmBwH,IAAA,CAC1C,IAAA26D,EAAA8I,EAAAzjE,GACA,IAAA26D,EAAAoL,UAAA,CAGA,IAAArL,EAAAC,EAAAD,MACA6P,EAAA7P,KACA6P,EAAA7P,GAAA,IAGA6P,EAAA7P,GAAAC,EAAAvlE,MAAAm1E,EAAA7P,GAAAC,EAAAvlE,OAAA,EACAm1E,EAAA7P,GAAAC,EAAAvlE,SAIA,QAAAo1E,KAFAv1E,KAAA80E,aAAAQ,EAEAA,EACAt1E,KAAA+0E,kBAAAQ,GAAApf,EAAAmf,EAAAC,IAGAv1E,KAAAw1E,wBAUAC,UAAA,SAAAp4D,GACA,IAAAq4D,EAAAr4D,EAAA9H,QACAogE,EAAA,GACA,SAAAC,EAAAC,EAAAC,GACAH,EAAAE,EAAAl/C,SAAAm/C,EAEA,QAAA/qE,EAAA,EAA2BA,EAAA8qE,EAAAhF,UAAAttE,OAA4BwH,IAAA,CACvD,IAAAgrE,EAAAF,EAAAhF,UAAA9lE,GACAirE,EAAAF,EAAAjF,UAAA9lE,GACA6qE,EAAAG,EAAAC,IAcA,OAXAJ,EAAAv4D,EAAAq4D,GAEAA,EAAAvjD,SAAA,SAAA8jD,GACAA,EAAAC,WACAD,EAAAC,SAAAD,EAAAC,SAAA3gE,MAAAogE,IAEAM,EAAApjD,WACAojD,EAAApjD,SAAAojD,EAAApjD,SAAAtd,WAIAmgE,GAWA5W,iBAAA,SAAAxM,EAAA6jB,GACA,IAAAlqD,EAAAqmC,EAAA37B,QACAkoC,EAAA7+D,KAAAg1E,aAAAvvE,IAAAwmB,GACA4yC,IACAA,EAAA,IAAAqV,EACAl0E,KAAAg1E,aAAA9nE,IAAA+e,EAAA4yC,IAEAA,EAAAwV,aAEA8B,IACAn2E,KAAAy0E,yBAAAvtE,IAAAksB,IAAAtZ,aACA9Z,KAAAy0E,yBAAAttE,IAAAisB,KAAAtZ,gBAGA,IAAAs8D,EAAAp2E,KAAA6yB,UAAA7yB,KAAA6yB,SAAA6gC,cAAA,EAKA,OAJA1zD,KAAAq2E,oBAAAr2E,KAAAsyD,EAAA8jB,EAAAvX,EAAAsX,GAEAtX,EAAA0V,WAEA1V,GAQAkC,cAAA,SAAAzO,GACA,OAAAtyD,KAAAg1E,aAAAvvE,IAAA6sD,EAAA37B,UAGA0/C,oBAAA,SAAA1E,EAAArf,EAAA8jB,EAAAvX,EAAAsX,GACA,IAAAxE,EAAAb,UAIA,QAAA/lE,EAAA,EAAuBA,EAAA4mE,EAAAd,UAAAttE,OAA6BwH,IAAA,CACpD,IAAAqnB,EAAAu/C,EAAAd,UAAA9lE,GAEA,GAAAqnB,EAAAiS,eAAA,CAEA,IAAAiyC,EAAAlkD,EAAA2+C,gBAAA8C,EAAAzhD,EAAA4uC,eAAA5jC,MACAnB,EAAA7J,EAAA6J,SAEAy3C,EAAA,KAAAtZ,eAAA0Z,EAAAxhB,EAAAikB,WAAAn5C,MAAAk5C,IACAH,IAAAl6C,EAAAixB,cAAAltD,KAAAw2E,gBAAApkD,EAAAkgC,EAAAwhB,KACAjV,EAAAthC,IAAAnL,IAAAS,SAAA6gC,aAAA0iB,GAGAhkD,EAAAy+C,UAAAttE,OAAA,GACAvD,KAAAq2E,oBAAAjkD,EAAAkgC,EAAA8jB,EAAAvX,EAAAsX,KAeAK,gBAAA,WAGA,IAAAC,EAAA,IAAApqB,EAAA,KACAqqB,EAAA,IAAA9C,EAAA,KACA,gBAAA7lD,EAAAukC,EAAAqkB,GAGA,IAAAC,EAAA7oD,EAAAm/B,YAUA,GATA0pB,IAEAA,EADA7oD,EAAAmoD,UAAAnoD,EAAAmoD,SAAAhpB,YACAn/B,EAAAmoD,SAAAhpB,YAGAn/B,EAAAkO,SAAAixB,cAIA0pB,EACA,SAeA,GAZAF,EAAAt5C,MAAAu5C,EACAF,EAAA5hB,cAAA+hB,EAAAF,GAOA3oD,EAAAy3C,YACAxlE,KAAAy0E,yBAAAtgB,MAAAsiB,GAGA1oD,EAAAskC,eAAA,CACA,IAAAokB,EAAApiB,qBAAA/B,EAAAjjB,QAAA6d,aACA,SAGAwpB,EAAAt5C,MAAAk1B,EAAAukB,iBAAAz5C,MAEAq5C,EAAAtvE,IAAAi2B,MAAA,MACAq5C,EAAAvvE,IAAAk2B,MAAA,OAGAq5C,EAAAtvE,IAAAi2B,MAAA,WAGAq5C,EAAA53C,gBAAA63C,GAEA,IAAAxvE,EAAAuvE,EAAAvvE,IAAAk2B,MACAj2B,EAAAsvE,EAAAtvE,IAAAi2B,MAEA,GACAj2B,EAAA,OAAAD,EAAA,MACAC,EAAA,OAAAD,EAAA,MACAC,EAAA,OAAAD,EAAA,KAEA,SAIA,UA9DA,GAkEAsuE,qBAAA,WACA,IAAAhH,EAAAxuE,KAAAwuE,OAEAA,EAAAv4C,KAAA6gD,GAEA,IAAAC,EAAA/2E,KAAA40E,eACA,QAAAnP,KAAAsR,EACA,QAAAtsD,KAAAssD,EAAAtR,GACAsR,EAAAtR,GAAAh7C,GAAAxmB,MAAAV,OAAA,EAGA,QAAAwH,EAAA,EAAuBA,EAAAyjE,EAAAjrE,OAAmBwH,IAAA,CAE1C,IAAA26D,EAAA8I,EAAAzjE,GAEA,IAAA26D,EAAAoL,UAAA,CAIArL,EAAAC,EAAAD,MAEA,QAAAh7C,KAAAi7C,EAAA55B,iBAAA,CACA,IAAAS,EAAAm5B,EAAA55B,iBAAArhB,GACAxmB,EAAAsoC,EAAAtoC,MAAAyhE,GACA,SAAAzhE,EAAA,CAGA8yE,EAAAtR,KACAsR,EAAAtR,GAAA,IAEAsR,EAAAtR,GAAAh7C,KACAssD,EAAAtR,GAAAh7C,GAAA,CACAtqB,KAAA,GACA8D,MAAA,KAGA,IAAA+yE,EAAAD,EAAAtR,GAAAh7C,GAEA,OADAusD,EAAA72E,KAAAosC,EAAApsC,KAAA,IACAosC,EAAApsC,MACA,SACA,SACA,QACA62E,EAAA/yE,MAAA0O,KAAA1O,GACA,MACA,SACA,SACA,SACA,QAAAyM,EAAA,EAAuCA,EAAAzM,EAAAV,OAAkBmN,IACzDsmE,EAAA/yE,MAAA0O,KAAA1O,EAAAyM,IAEA,MACA,QACA0nB,QAAA+B,MAAA,6BAAAoS,EAAApsC,YAMA82E,eAAA,WACA,IAAAC,EAAA,GACA,QAAA3B,KAAAv1E,KAAA80E,aACAoC,EAAAvkE,KAAA4iE,GAEA,OAAA2B,GAGAC,4BAAA,WACA,IAAAD,EAAA,GACA,QAAA3B,KAAAv1E,KAAA80E,aACA90E,KAAAo3E,qBAAA7B,IACA2B,EAAAvkE,KAAA4iE,GAGA,OAAA2B,GAKAE,qBAAA,SAAAC,GACA,IAAAC,EAAAt3E,KAAA60E,qBACA0C,EAAAv3E,KAAA80E,aAEA,QAAA30E,KAAAo3E,EAAAF,GAAA,CACA,IAAAC,EAAAD,GACA,SAEA,GAAAE,EAAAF,GAAAl3E,KAAAm3E,EAAAD,GAAAl3E,GACA,SAGA,QAAAA,KAAAm3E,EAAAD,GAAA,CACA,IAAAE,EAAAF,GACA,SAEA,GAAAE,EAAAF,GAAAl3E,KAAAm3E,EAAAD,GAAAl3E,GACA,SAGA,UAGAq3E,iBAAA,SAAAH,GACA,OAAAr3E,KAAA80E,aAAAuC,IAGAlhB,cAAA,SAAAkhB,GACA,OAAAr3E,KAAA+0E,kBAAAsC,IAGAI,iBAAA,WACA,SAAA9gB,EAAArqB,EAAAorC,EAAAtgD,GACA,QAAA3M,KAAA6hB,EAAA,CACA,IAAA0qC,EAAA1qC,EAAA7hB,GACA,UAAAusD,EAAA72E,KAAA,CACA,IAAAu3E,EAAAC,WAAAltD,GACA,SAGA,IADA,IAAAmtD,EAAA,GACA7sE,EAAA,EAAmCA,EAAAisE,EAAA/yE,MAAAV,OAAqBwH,IAAA,CACxD,IAAA6nB,EAAAokD,EAAA/yE,MAAA8G,GACA8sE,EAAAH,EAAAI,uBAAA1gD,EAAAxE,GACAglD,EAAAjlE,KAAAklE,GAEAH,EAAA7kB,WAAAz7B,EAAAwB,GAAA,MAAAnO,EAAAmtD,QAGAF,EAAA7kB,WAAAz7B,EAAAwB,GAAAo+C,EAAA72E,KAAAsqB,EAAAusD,EAAA/yE,QAKA,gBAAAyzE,EAAAL,EAAAjgD,GACAu/B,EAAA32D,KAAA40E,eAAAyC,GAAAK,EAAAtgD,GAEAu/B,EAAA32D,KAAA00E,eAAAgD,EAAAtgD,IAzBA,GAkCAthB,QAAA,WACA9V,KAAA6yB,SAAA,KACA7yB,KAAA+3E,YAAA,GACA/3E,KAAAg4E,iBAAA,GAEAh4E,KAAAwuE,OAAA,GAEAxuE,KAAA40E,eAAA,GAEA50E,KAAA80E,aAAA,GACA90E,KAAAkxE,gBAAA,MAIA,SAAA4F,EAAAvuE,EAAAC,GACA,GAAAA,EAAAg9D,aAAAj9D,EAAAi9D,WACA,SAIAt3C,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAo5E,EAAAp5E,EAAA,IAMAq5E,EAAAD,EAAA,KAAAvzE,OAEA,CAIA4qC,MAAA,EAIAC,MAAA,EAIAG,MAAA,EAIAC,IAAA,EAIAF,IAAA,EAIAD,QAAA,GAGA,CAEA2oC,uBAAA,WACAn4E,KAAA62E,iBAAA1mC,MAAAnwC,KAAAsvC,KAAAtvC,KAAAuvC,MAAAvvC,KAAAwvC,OAAAxvC,KAAAyvC,IAAAzvC,KAAA0vC,KAAA1vC,KAAA2vC,MAGAyoC,0BAAA,WACA,IAAA7qD,EAAAvtB,KAAA62E,iBAAAz5C,MACAp9B,KAAAsvC,OAAA,EAAA/hB,EAAA,KAAAA,EAAA,GACAvtB,KAAAuvC,OAAA,EAAAhiB,EAAA,KAAAA,EAAA,GACAvtB,KAAAyvC,KAAA,EAAAliB,EAAA,KAAAA,EAAA,GACAvtB,KAAAwvC,SAAA,EAAAjiB,EAAA,KAAAA,EAAA,GACAvtB,KAAA0vC,QAAA,EAAAniB,EAAA,KAAAA,EAAA,IACAvtB,KAAA2vC,MAAA,EAAApiB,EAAA,KAAAA,EAAA,KAKAhY,MAAA,WACA,IAAA+8C,EAAA2lB,EAAA,KAAAh4E,UAAAsV,MAAAxV,KAAAC,MAQA,OAPAsyD,EAAAhjB,KAAAtvC,KAAAsvC,KACAgjB,EAAA/iB,MAAAvvC,KAAAuvC,MACA+iB,EAAA5iB,KAAA1vC,KAAA0vC,KACA4iB,EAAA3iB,IAAA3vC,KAAA2vC,IACA2iB,EAAA7iB,IAAAzvC,KAAAyvC,IACA6iB,EAAA9iB,OAAAxvC,KAAAwvC,OAEA8iB,KAIApkC,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,MACAmqD,sBAAA,SAAA3rE,GACAA,GACA1M,KAAAymE,cAEA,IAAArqC,EAAAp8B,KAAAo8B,WACA,QAAA9tB,KAAA8tB,EACA1vB,IAAA0vB,EAAA9tB,GAAArK,MACAm4B,EAAA9tB,GAAArK,MAAA,GAGAm4B,EAAA9tB,GAAArK,MAAAuZ,MAAAvd,UAAAi/B,MAAAn/B,KAAAq8B,EAAA9tB,GAAArK,OAGAyI,IAAA1M,KAAAytD,QACAztD,KAAAytD,QAAA,GAGAztD,KAAAytD,QAAAjwC,MAAAvd,UAAAi/B,MAAAn/B,KAAAC,KAAAytD,UAIA6qB,oBAAA,WACA,IAAAl8C,EAAAp8B,KAAAo8B,WACA,QAAA9tB,KAAA8tB,EACAA,EAAA9tB,GAAArK,OAAAm4B,EAAA9tB,GAAArK,MAAAV,OAAA,EACA64B,EAAA9tB,GAAArK,MAAA,IAAAunC,aAAApP,EAAA9tB,GAAArK,OAGAm4B,EAAA9tB,GAAArK,MAAA,KAGAjE,KAAAytD,SAAAztD,KAAAytD,QAAAlqD,OAAA,IACAvD,KAAAytD,QAAAztD,KAAAk8B,YAAA,UAAAuvB,YAAAzrD,KAAAytD,SAAA,IAAAjC,YAAAxrD,KAAAytD,UAGAztD,KAAA2kB,WAMA,SAAAjiB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGA,SAAA47C,EAAAhtE,EAAAitE,GACA,IAAApvD,EAAA,GASA,OARAwT,EAAAr0B,EAAAqpB,KAAAzK,KAAA5b,EAAAktE,WAAA,SAAAC,GACA,IAAAtyD,EAAA7a,EAAA8a,iBAAAqyD,GACAhyD,EAAAN,EAAAM,UACA3f,EAAA2f,EAAA8xD,GACA,MAAAzxE,IAAA,IAAAA,IACAqiB,EAAAriB,GAAAqf,EAAA9X,QAGA8a,EAGA8E,EAAA,cAAA5T,EAAAmL,EAAAC,GACA,SAAAO,EAAAhiB,GACA,IAAAiiB,GAAA,EAEAxiB,EAAA,GACAwjB,EAAAqxD,EAAAhtE,EAAA,WASA,SAAAib,EAAAvd,EAAA0vE,GACA,IAAAlyD,EAAAlb,EAAA8a,iBAAAsyD,GAEA,GAAAlyD,IAAA,IAAAA,EAAAC,UAAAJ,QAAA,CAGA,IAAAK,EAAAF,EAAAtmB,KACA8mB,GAAAf,EAAA,MAAAO,EAAAmyD,aAAAnyD,EAAAnY,MAAA,UACA,YAAAqY,EACA1d,EAAA,GACA,SAAA0d,EACAjB,EAAA,GAAAkX,EAAAr0B,EAAA84B,OAAA7f,WAAA,sBAAAvY,GACA2zB,EAAAr0B,EAAA84B,OAAA3f,UAAAzY,IAEAge,GAAAvjB,EAAAiP,KAAAiqB,EAAAr0B,EAAA84B,OAAA5f,WAAAwF,KAGA,OAxBAC,EAAA3jB,OACAq5B,EAAAr0B,EAAAqpB,KAAAzK,KAAAD,EAAA,SAAAyxD,GACAnyD,EAAAjb,EAAA9F,IAAAkzE,EAAAlzD,GAAAkzD,KAGA/7C,EAAAr0B,EAAAqpB,KAAAzK,KAAAljB,EAAAuiB,IAmBAN,EAAA,YAAAxiB,EAAAsM,KAAAkW,EAAA,cAGA,IAAA3a,EAAA+O,EAAAE,UAEAvW,EAAAqW,EAAAgN,YAAA7B,GACAiC,EAAAkV,EAAAr0B,EAAAqpB,KAAA5oB,QAAA/E,GACAgiB,EAAAhiB,GAAA24B,EAAAr0B,EAAA84B,OAAA5f,WAAAmb,EAAAr0B,EAAA84B,OAAA3f,UAAAzd,IACAqK,EAAA/C,EAAAqc,QAAAnC,GAEAqB,EAAAvb,EAAAic,cAAA/B,EAAA,SACAmX,EAAAr0B,EAAAqpB,KAAAhoB,SAAAkd,MAAAW,aACAX,KAAAW,WAAA,QAA0CX,OAE1CA,KAAA,cAEA,IAAAa,EAAAiV,EAAAr0B,EAAA84B,OAAA1f,iBAAAmF,GAEAe,EAAAvN,EAAAhM,KASA,MAPA,QAAAuZ,IAEAA,EAAA,IAEAA,IACA+U,EAAAr0B,EAAA84B,OAAA5f,WAAAoG,IAAAnC,EAAA,cACA,GACAA,EAMAiC,EAAAE,EAAAH,EALAG,EAAAF,GACArZ,EACAsuB,EAAAr0B,EAAA84B,OAAA5f,WAAAnT,GAAA,KAAAoZ,EACAA,KAOA,SAAAhlB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAg6E,EAAAh6E,EAAA,IACAqiC,EAAAriC,EAAA,IAQA00B,EAAAslD,EAAA,KAAAn0E,OAAA,CAKAwxE,SAAA,KAKA4C,OAAA,KAMAC,wBAAA,GAEC,WACD/4E,KAAA84E,SACA94E,KAAA84E,OAAA,KAEC,CAED/H,cAAA,WACA,SAAA/wE,KAAAk2E,UAAAl2E,KAAA84E,QAAA94E,KAAA84E,OAAAv1E,OAAA,IAGAgS,MAAA,WACA,IAAA68C,EAAAymB,EAAA,KAAA54E,UAAAsV,MAAAxV,KAAAC,MAKA,OAJAoyD,EAAA8jB,SAAAl2E,KAAAk2E,SACAl2E,KAAA84E,SACA1mB,EAAA0mB,OAAA94E,KAAA84E,OAAA55C,SAEAkzB,KAKA7+B,EAAA4hB,OAAAjU,EAAA,KAAAiU,OACA5hB,EAAA6hB,MAAAlU,EAAA,KAAAkU,MACA7hB,EAAA8hB,UAAAnU,EAAA,KAAAmU,UACA9hB,EAAA+hB,WAAApU,EAAA,KAAAoU,WACA/hB,EAAAgiB,UAAArU,EAAA,KAAAqU,UACAhiB,EAAAiiB,eAAAtU,EAAA,KAAAsU,eACAjiB,EAAAkiB,aAAAvU,EAAA,KAAAuU,aAEAliB,EAAAokB,KAAAzW,EAAA,KAAAyW,KACApkB,EAAAmkB,MAAAxW,EAAA,KAAAwW,MACAnkB,EAAAqkB,eAAA1W,EAAA,KAAA0W,eACArkB,EAAAolB,GAAAzX,EAAA,KAAAyX,GACAplB,EAAAqlB,IAAA1X,EAAA,KAAA0X,IAEA1qB,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAo5E,EAAAp5E,EAAA,IAOAm6E,EAAAf,EAAA,KAAAvzE,OAAA,CAKAu0E,IAAA,GAKAr4D,OAAA,EAKA8uB,KAAA,GAKAC,IAAA,KAGA,CAEAwoC,uBAAA,WACA,IAAA5nC,EAAAvwC,KAAAi5E,IAAA,IAAAvyE,KAAAC,GACA3G,KAAA62E,iBAAAzmC,YAAAG,EAAAvwC,KAAA4gB,OAAA5gB,KAAA0vC,KAAA1vC,KAAA2vC,MAEAyoC,0BAAA,WACA,IAAA7qD,EAAAvtB,KAAA62E,iBAAAz5C,MACAmT,EAAA,EAAA7pC,KAAAwyE,KAAA,EAAA3rD,EAAA,IACAvtB,KAAAi5E,IAAA1oC,EAAA7pC,KAAAC,GAAA,IACA3G,KAAA4gB,OAAA2M,EAAA,GAAAA,EAAA,GACAvtB,KAAA0vC,KAAAniB,EAAA,KAAAA,EAAA,OACAvtB,KAAA2vC,IAAApiB,EAAA,KAAAA,EAAA,QAKAhY,MAAA,WACA,IAAA+8C,EAAA2lB,EAAA,KAAAh4E,UAAAsV,MAAAxV,KAAAC,MAMA,OALAsyD,EAAA2mB,IAAAj5E,KAAAi5E,IACA3mB,EAAA1xC,OAAA5gB,KAAA4gB,OACA0xC,EAAA5iB,KAAA1vC,KAAA0vC,KACA4iB,EAAA3iB,IAAA3vC,KAAA2vC,IAEA2iB,KAIApkC,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAs6E,EAAAt6E,EAAA,IACAu6E,EAAAv6E,EAAA,IACAw6E,EAAAx6E,EAAA,GACAy6E,EAAAz6E,EAAA,IACA06E,EAAA16E,EAAA,GACA26E,EAAA36E,EAAA,KASAw6E,EAAA,KAAAxnD,OAAA2nD,EAAA,MAmBA,IAAAC,EAAAN,EAAA,KAAAz0E,OAAA,WAEA,IAAAg1E,EAAA,IAAAL,EAAA,MACAtvC,OAAAsvC,EAAA,KAAAp/C,OAAA,sBACA+P,SAAAqvC,EAAA,KAAAp/C,OAAA,0BAEApH,EAAA,IAAAymD,EAAA,MACA3mD,OAAA+mD,EACAnmB,WAAA,IAGA,OAKAgK,MAAA,KAEAthC,SAAA,IAAAm9C,EAAA,KAEAvmD,WAEA8mD,eAAA,KAEAC,SAAA,IAEC,WACD,IAAArc,EAAAv9D,KAAAu9D,MACAA,GACAv9D,KAAA0tE,YAAAnQ,GAEAv9D,KAAA25E,gBACA35E,KAAA0uE,kBAAA1uE,KAAA25E,iBAEC,CAKDjM,YAAA,SAAAnQ,GACAv9D,KAAAu9D,OACAv9D,KAAAgvE,cAEAzR,EAAAwR,OAAA/uE,KAEAA,KAAAu9D,QACAA,EAAA3nD,GAAA,eAAA5V,KAAA65E,mBAAA75E,OAKAgvE,YAAA,WACAhvE,KAAAu9D,QACAv9D,KAAAu9D,MAAA1nD,IAAA,eAAA7V,KAAA65E,oBACA75E,KAAAu9D,MAAAwR,OAAA,MAEA/uE,KAAAu9D,MAAA,MAOAznD,QAAA,SAAAshB,GACAp3B,KAAAgvE,cACAhvE,KAAAi8B,SAAAnmB,QAAAshB,IAMAs3C,kBAAA,SAAAoL,GACA,cAAAA,EAAA/zC,aACA/lC,KAAA6yB,SAAA0H,OAAA,mBAEAu/C,EAAAv4C,UAAAg4C,EAAA,KAAA73C,QAGA1hC,KAAA6yB,SAAA6J,SAAA,mBAEA18B,KAAA6yB,SAAAO,IAAA,iBAAA0mD,IAMAC,kBAAA,WACA,OAAA/5E,KAAA6yB,SAAAptB,IAAA,mBAGAo0E,mBAAA,SAAAziD,EAAAmmC,EAAAjL,GACAtyD,KAAAg6E,aAAA5iD,EAAAk7B,IAGA0nB,aAAA,SAAA5iD,EAAAk7B,GACAtyD,KAAAsG,SAAA8S,KAAAk5C,EAAAuO,oBACA7gE,KAAAusB,SAEA6K,EAAAwB,GAAAvjB,QAAA+hB,EAAAwB,GAAAkf,OACA93C,KAAA6yB,SAAAptB,IAAA,SACAzF,KAAA6yB,SAAA0H,OAAA,kBAGAv6B,KAAA6yB,SAAA6J,SAAA,kBAEAtF,EAAAw8B,WAAA,CAAA5zD,MAAAsyD,MAIApkC,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAo7E,EAAAp7E,EAAA,IACAq7E,EAAAr7E,EAAA,IAWAi2B,EAAAmlD,EAAA,KAAAv1E,OAEA,CACAq9B,SAAA,EAIAo4C,cAAA,EAIAC,eAAA,GACC,WACDp6E,KAAAq6E,SAGA,CAIAA,MAAA,WASA,IARA,IAAAD,EAAAp6E,KAAAo6E,eACAD,EAAAn6E,KAAAm6E,cACA/9C,EAAAp8B,KAAAo8B,WACAsxB,EAAA,GACAa,EAAA,GACAZ,EAAA,GACA2sB,EAAA,GAEAr4E,EAAA,EAAuBA,GAAAm4E,EAAqBn4E,IAE5C,IADA,IAAAma,EAAAna,EAAAm4E,EACAp4E,EAAA,EAA2BA,GAAAm4E,EAAoBn4E,IAAA,CAC/C,IAAAisB,EAAAjsB,EAAAm4E,EASA,GAPAzsB,EAAA/6C,KAAA,GAAAsb,EAAA,IAAA7R,EAAA,MACAmyC,GACAA,EAAA57C,KAAA,CAAAsb,EAAA7R,IAEAuxC,GACAA,EAAAh7C,KAAA,SAEA3Q,EAAAm4E,GAAAl4E,EAAAm4E,EAAA,CACA,IAAArvE,EAAA/I,EAAAC,GAAAk4E,EAAA,GACAG,EAAA3nE,KAAA,CAAA5H,IAAA,EAAAA,EAAAovE,EAAA,IACAG,EAAA3nE,KAAA,CAAA5H,EAAAovE,EAAA,EAAApvE,EAAA,EAAAA,EAAAovE,EAAA,KAKA/9C,EAAA91B,SAAAi0E,UAAA7sB,GACAtxB,EAAAuwB,UAAA4tB,UAAAhsB,GACAnyB,EAAAywB,OAAA0tB,UAAA5sB,GAEA3tD,KAAAw6E,qBAAAF,GAEAt6E,KAAAktD,YAAA,IAAAgtB,EAAA,KACAl6E,KAAAktD,YAAAhmD,IAAAksB,KAAA,QACApzB,KAAAktD,YAAA/lD,IAAAisB,IAAA,UAIAlF,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,MACApL,cAAA,CAEA23D,YAAA,CAGApd,WAAA,cAEAqd,YAAA,EAEAC,oBAAA,KAEAC,gBAAA,GAIAC,qBAAA,EAGAC,QAAA,GAGAC,kBAAA,EACAC,gBAAA,EAEAC,eAAA,EAEAC,eAAA,SACAC,kBAAA,OAIA3rE,SAAA,IAEA4rE,YAAA,GAEAC,YAAA,IAIAC,iBAAA,IACAC,oBAAA,IACAC,oBAAA,GAGAt/D,OAAA,QAGAod,MAAA,EAGAC,KAAA,EAEAkiD,UAAA,GACAC,SAAA,KAOAC,QAAA,SAAA77E,GACAA,KAAA,GACAE,KAAAmjB,OAAAs3D,YAAAz6E,KAAAmjB,OAAAs3D,aAAA,GACA,MAAA36E,EAAAw5B,QACAt5B,KAAAmjB,OAAAs3D,YAAAnhD,MAAAx5B,EAAAw5B,OAEA,MAAAx5B,EAAAy5B,OACAv5B,KAAAmjB,OAAAs3D,YAAAlhD,KAAAz5B,EAAAy5B,MAEA,MAAAz5B,EAAA0P,WACAxP,KAAAmjB,OAAAs3D,YAAAjrE,SAAA1P,EAAA0P,UAEA,MAAA1P,EAAAoc,SACAlc,KAAAmjB,OAAAs3D,YAAAv+D,OAAApc,EAAAoc,WAOA,SAAAxZ,EAAAwrB,EAAArvB,GAEA,aACA,IAAA+8E,EAAA/8E,EAAA,GACAg9E,EAAAh9E,EAAA,IACAi9E,EAAAj9E,EAAA,GAEAk9E,GADAl9E,EAAA,IACAA,EAAA,IAcAy4B,EAAAykD,EAAA,KAAAzkD,aAGA0kD,EAAA,CACA1sC,KAAA,EACA2sC,OAAA,EACA1sC,MAAA,GAGA,SAAA2sC,EAAAjzE,GAIA,OAHAA,aAAAuU,QACAvU,EAAA,CAAAA,MAEAA,EAMA,IAAAkzE,EAAAP,EAAA,KAAAl3E,OAAA,WAEA,OAIAyP,GAAA,KAKA+6D,OAAA,KAKAkN,QAAA,IAAAN,EAAA,KAQAV,YAAA,GAQAC,YAAA,IAKAE,oBAAA,IAKAC,oBAAA,GAKAC,UAAA,GAKAC,SAAA,GAKAW,SAAAviE,IAIAwiE,QAAAxiE,IAKA+gE,qBAAA,EAKAF,oBAAA,KAKAC,gBAAA,GAKAE,QAAA,GAKAC,kBAAA,EAKAC,gBAAA,EAKAC,eAAA,EAEAC,eAAA,SACAC,kBAAA,OAOAoB,MAAA,SAMAC,QAAA,KAEAC,cAAA,EAEAC,WAAA,EAGAC,KAAA,EAEAC,OAAA,EAEAC,QAAA,EACAC,QAAA,EAEAC,gBAAA,IAAAlB,EAAA,KAEAmB,aAAA,IAAAnB,EAAA,KAEAoB,UAAA,IAEAC,WAAA,EAEAC,cAAA,EAEAC,WAAA,KAEC,WAED,gFACA,iDAAAvyE,QAAA,SAAAwyE,GACAr9E,KAAAq9E,GAAAr9E,KAAAq9E,GAAAz0E,KAAA5I,OACKA,OACJ,CAKDkjB,KAAA,WACA,IAAA/O,EAAAnU,KAAAmU,GAEAA,IACAA,EAAAyB,GAAA,YAAA5V,KAAAs9E,mBACAnpE,EAAAyB,GAAA,YAAA5V,KAAAu9E,iBACAppE,EAAAyB,GAAA,aAAA5V,KAAAw9E,oBACArpE,EAAAyB,GAAA,QAAA5V,KAAAy9E,eAEAtpE,EAAAupE,UAAA9nE,GAAA,QAAA5V,KAAA29E,SAEAxpE,EAAAypE,IAAAC,iBAAA,cAAA79E,KAAA89E,uBAQAhoE,QAAA,WACA,IAAA3B,EAAAnU,KAAAmU,GAEAA,IACAA,EAAA0B,IAAA,YAAA7V,KAAAs9E,mBACAnpE,EAAA0B,IAAA,YAAA7V,KAAA+9E,mBACA5pE,EAAA0B,IAAA,UAAA7V,KAAAu9E,iBACAppE,EAAA0B,IAAA,aAAA7V,KAAAw9E,oBACArpE,EAAA0B,IAAA,QAAA7V,KAAAy9E,eACAtpE,EAAA0B,IAAA,YAAA7V,KAAAu9E,iBACAppE,EAAAypE,IAAAI,oBAAA,cAAAh+E,KAAA89E,qBAEA3pE,EAAAupE,UAAA7nE,IAAA,QAAA7V,KAAA29E,UAEA39E,KAAAi+E,oBAOAC,YAAA,WACA,OAAAl+E,KAAAi9E,WAOAkB,YAAA,SAAA3uE,GACAxP,KAAAi9E,UAAAztE,EACAxP,KAAAy8E,cAAA,GAOA2B,oBAAA,WACA,OAAAp+E,KAAAq+E,YAOAC,oBAAA,SAAArjE,GACAjb,KAAAq+E,WAAApjE,EACAjb,KAAAy8E,cAAA,GASA8B,SAAA,WACA,OAAAv+E,KAAA48E,OAAAl2E,KAAAC,GAAA,KASA63E,QAAA,WACA,OAAAx+E,KAAA28E,KAAAj2E,KAAAC,GAAA,KAOA83E,UAAA,WACA,OAAAz+E,KAAAo8E,QAAAn9C,WAOAy/C,SAAA,SAAAplD,GACAA,EAAA5yB,KAAAS,IAAAT,KAAAQ,IAAAlH,KAAA07E,SAAApiD,GAAAt5B,KAAAy7E,UAEAz7E,KAAA48E,OAAAtjD,EAAA,IAAA5yB,KAAAC,GACA3G,KAAAy8E,cAAA,GAOAkC,QAAA,SAAAplD,GACAA,EAAA7yB,KAAAS,IAAAT,KAAAQ,IAAAlH,KAAAs8E,QAAA/iD,GAAAv5B,KAAAq8E,SAEAr8E,KAAA28E,MAAApjD,EAAA,IAAA7yB,KAAAC,GACA3G,KAAAy8E,cAAA,GAOAmC,UAAA,SAAAC,GACA7+E,KAAAo8E,QAAA5+C,SAAAqhD,IAMAC,UAAA,SAAA5P,GACAlvE,KAAAkvE,UAMA6P,UAAA,WACA,OAAA/+E,KAAAkvE,OAAA5c,QAGA0sB,wBAAA,SAAAC,EAAAC,GACAA,KAAA,GACA,IAAAC,EAAAD,EAAAC,cAAA,EACAC,EAAAF,EAAAE,eAAA,EAEA/hB,EAAA4hB,EAAAx5E,IAAA,cACA,gBAAA43D,GAAA,iBAAAA,GAAA,cAAAA,IAEAjlC,QAAA+B,MAAA,iEAAAkjC,GAEAA,EAAA,eAEAr9D,KAAAq/E,YAAAhiB,EACAr9D,KAAAkvE,OAAAzR,cAAAJ,GAEA,IAAAiiB,EAAAL,EAAAx5E,IAAA,YAAA05E,EACAI,EAAAN,EAAAx5E,IAAA,oBAAA25E,EAEA,CACA,eACA,kBACA,2BACA,6BACA,uBACA,mBACA,oBACA,2BACA,4BACA,iBACA,gBACA,YAAAtlE,KACA,WAAAA,KACA,wBACA,sBACA,qBACA,0BACA,gCACAjP,QAAA,SAAAs+C,GACAnpD,KAAAmpD,EAAA,IAAA7xB,EAAA2nD,EAAAx5E,IAAA0jD,EAAA,IAAAA,EAAA,KACSnpD,MAETA,KAAAo7E,aAAA+D,EACAn/E,KAAAq7E,aAAA8D,EACAn/E,KAAAw7E,qBAAA4D,EACAp/E,KAAAu7E,qBAAA6D,EAEA,IAAA7kE,EAAA0kE,EAAA1kE,QAEAilE,EAAA,GACA,gEAAA30E,QAAA,SAAAI,GACAu0E,EAAAv0E,GAAAqsB,EACA2nD,EAAAx5E,IAAAwF,GAAAsP,KAAA9U,IAAAwF,MAIA,IAAAquB,EAAAhC,EAAA4nD,EAAA5lD,MAAA2lD,EAAAx5E,IAAA,aACA8zB,EAAAjC,EAAA4nD,EAAA3lD,KAAA0lD,EAAAx5E,IAAA,YACAyW,EAAAob,EAAA4nD,EAAAhjE,OAAA+iE,EAAAx5E,IAAA,oBACA+5E,EAAA9B,WAAA8B,EAAAC,wBAAA,GAAAz/E,KAAA0/E,UACA1/E,KAAA2/E,UAAA,CACArmD,QACAC,OACArd,SACA1M,SAAA8vE,EACAC,yBACAxjD,OAAAyjD,EAAAI,sBACA9jD,SAAA0jD,EAAAC,2BAIAz/E,KAAAm+E,YAAAmB,GACAt/E,KAAA0+E,SAAAplD,GACAt5B,KAAA2+E,QAAAplD,GACAv5B,KAAA4+E,UAAA1iE,GACAlc,KAAAs+E,oBAAAiB,IAGAv/E,KAAA0/E,WAAA,EAEA1/E,KAAA6/E,uBAGAA,oBAAA,WAEA,MAAA7D,EAAAh8E,KAAAk7E,iBACA9iD,QAAA+B,MAAA,2DAAAn6B,KAAAk7E,gBAEA,MAAAc,EAAAh8E,KAAAm7E,oBACA/iD,QAAA+B,MAAA,8DAAAn6B,KAAAm7E,mBAEA,OAAAn7E,KAAA26E,qBAAA,QAAA36E,KAAA26E,qBACAviD,QAAA+B,MAAA,qDAAAn6B,KAAA26E,sBAcAgF,UAAA,SAAA7/E,GACA,IAAAqU,EAAAnU,KAAAmU,GACAuzB,EAAA1nC,KAEA8K,EAAA,GACAuL,EAAA,GAuBA,OArBA,MAAAvW,EAAA0P,WACA1E,EAAA0E,SAAAxP,KAAAk+E,cACA7nE,EAAA7G,SAAA1P,EAAA0P,UAEA,MAAA1P,EAAAw7E,mBACAxwE,EAAAwwE,iBAAAt7E,KAAAo+E,sBACA/nE,EAAAilE,iBAAAx7E,EAAAw7E,kBAEA,MAAAx7E,EAAAw5B,QACAxuB,EAAAwuB,MAAAt5B,KAAAu+E,WACAloE,EAAAijB,MAAAx5B,EAAAw5B,OAEA,MAAAx5B,EAAAy5B,OACAzuB,EAAAyuB,KAAAv5B,KAAAw+E,UACAnoE,EAAAkjB,KAAAz5B,EAAAy5B,MAEA,MAAAz5B,EAAAoc,SACApR,EAAAoR,OAAAlc,KAAAy+E,YACApoE,EAAA6F,OAAApc,EAAAoc,QAGAlc,KAAA8/E,aACA3rE,EAAAupE,UAAAnhD,QAAAzxB,GACA0xB,KAAA18B,EAAAg8B,UAAA,IAAAzlB,GACAomB,OAAA,WACA,MAAA3xB,EAAAwuB,OACAoO,EAAAg3C,SAAA5zE,EAAAwuB,OAEA,MAAAxuB,EAAAyuB,MACAmO,EAAAi3C,QAAA7zE,EAAAyuB,MAEA,MAAAzuB,EAAA0E,UACAk4B,EAAAy2C,YAAArzE,EAAA0E,UAEA,MAAA1E,EAAAoR,QACAwrB,EAAAk3C,UAAA9zE,EAAAoR,QAEA,MAAApR,EAAAwwE,kBACA5zC,EAAA42C,oBAAAxzE,EAAAwwE,kBAEA5zC,EAAA+0C,cAAA,KAEArwD,MAAAtsB,EAAAi8B,QAAA,WAMAkiD,iBAAA,WACA,QAAAlzE,EAAA,EAAuBA,EAAA/K,KAAAo9E,WAAA75E,OAA4BwH,IACnD/K,KAAAo9E,WAAAryE,GAAAmM,OAEAlX,KAAAo9E,WAAA75E,OAAA,GAGAgpB,OAAA,WACAvsB,KAAAy8E,cAAA,EACAz8E,KAAA29E,QAAA,KAGAoC,aAAA,WACA,OAAA//E,KAAAo9E,WAAA75E,OAAA,GAMAo6E,QAAA,SAAAqC,GAEA,GAAAhgF,KAAA08E,UAAA,CACA,IAAAuD,GAAA,OAAAjgF,KAAA26E,oBAAA,MACA36E,KAAA46E,gBAAA,IAAAl0E,KAAAC,GACA3G,KAAA28E,MAAAsD,EAAAD,EAAA,IACAhgF,KAAAy8E,cAAA,OAEAz8E,KAAA+8E,gBAAAtwE,MAAA,IACAzM,KAAAy8E,cAAA,IAGA/1E,KAAAiR,IAAA3X,KAAAk9E,YAAA,IAAAl9E,KAAAg9E,aAAAvwE,MAAA,KACAzM,KAAAy8E,cAAA,GAGAz8E,KAAAy8E,eAIAuD,EAAAt5E,KAAAQ,IAAA84E,EAAA,IAEAhgF,KAAAkgF,sBAAAF,GAEAhgF,KAAAmgF,WAAAH,GAEAhgF,KAAAogF,cAAAJ,GAEAhgF,KAAAqgF,mBAEArgF,KAAA++E,YAAAxyD,SAEAvsB,KAAAmU,IAAAnU,KAAAmU,GAAAgf,UAEAnzB,KAAAoX,QAAA,UAEApX,KAAAy8E,cAAA,IAGA2D,cAAA,SAAAJ,GACA,IAAAM,EAAAtgF,KAAA+8E,gBACA/8E,KAAA28E,KAAA2D,EAAAr+E,EAAA+9E,EAAA,GAAAhgF,KAAA28E,KACA38E,KAAA48E,OAAA0D,EAAAt+E,EAAAg+E,EAAA,GAAAhgF,KAAA48E,OAEA58E,KAAA0+E,SAAA1+E,KAAAu+E,YACAv+E,KAAA2+E,QAAA3+E,KAAAw+E,WAEAx+E,KAAAugF,eAAAD,EAAA55E,KAAA2uB,IAAAr1B,KAAA86E,QAAAkF,EAAA,MAGAE,sBAAA,SAAAF,GACA,gBAAAhgF,KAAAq/E,YACAr/E,KAAAwgF,aAAAxgF,KAAAi9E,UAAAj9E,KAAAk9E,WAAA8C,EAAA,IAGAhgF,KAAAygF,cAAAzgF,KAAAq+E,WAAAr+E,KAAAk9E,WAAA8C,EAAA,IAGAhgF,KAAAk9E,YAAAx2E,KAAA2uB,IAAAr1B,KAAA86E,QAAAkF,EAAA,KAIAQ,aAAA,SAAAhxE,GACAxP,KAAAi9E,UAAAv2E,KAAAS,IAAAT,KAAAQ,IAAAsI,EAAAxP,KAAAq7E,aAAAr7E,KAAAo7E,cAGAqF,cAAA,SAAAxlE,GACAjb,KAAAq+E,WAAA33E,KAAAS,IAAAT,KAAAQ,IAAA+T,EAAAjb,KAAAu7E,qBAAAv7E,KAAAw7E,qBACA,IAAAlpB,EAAAtyD,KAAA++E,YACA2B,EAAA1gF,KAAAq+E,WACAsC,EAAAD,EAAA1gF,KAAAkvE,OAAAx8B,SAAAnwC,OAAAvC,KAAAkvE,OAAAx8B,SAAApwC,MACAgwD,EAAAhjB,MAAAqxC,EAAA,EACAruB,EAAA/iB,MAAAoxC,EAAA,EACAruB,EAAA7iB,IAAAixC,EAAA,EACApuB,EAAA9iB,QAAAkxC,EAAA,GAGAP,WAAA,SAAAH,GAEA,IAAAM,EAAAtgF,KAAAg9E,aACAvwE,EAAAzM,KAAAi9E,UAEA5mE,EAAArW,KAAA++E,YACA6B,EAAAvqE,EAAA2qD,eAAA/+D,EACA4+E,EAAAxqE,EAAA2qD,eAAAh/D,EAGAhC,KAAAo8E,QACA99D,YAAAuiE,GAAAP,EAAAt+E,EAAAyK,EAAA,KACA6R,YAAAsiE,GAAAN,EAAAr+E,EAAAwK,EAAA,KAEAzM,KAAAugF,eAAAD,EAAA,IAGAD,iBAAA,WACA,IAAA/tB,EAAAtyD,KAAA++E,YAEArlD,EAAA,IAAAoiD,EAAA,KACAtiD,EAAAx5B,KAAA48E,OAAAl2E,KAAAC,GAAA,EACA8yB,EAAAz5B,KAAA28E,KAAAj2E,KAAAC,GAAA,EACAiY,EAAAlY,KAAA0Y,IAAAoa,GAEAE,EAAA13B,EAAA4c,EAAAlY,KAAAwY,IAAAua,GACAC,EAAAz3B,GAAAyE,KAAAwY,IAAAsa,GACAE,EAAAyD,EAAAve,EAAAlY,KAAA0Y,IAAAqa,GAEA64B,EAAAhsD,SAAA8S,KAAApZ,KAAAo8E,SAAA99D,YAAAob,EAAA15B,KAAAi9E,WACA3qB,EAAA9rD,SAAAopC,WAEAa,SAAAzwC,KAAA28E,MACAnsC,SAAAxwC,KAAA48E,SAGAkE,oBAAA,WACAC,aAAA/gF,KAAAm9E,eAEA,IAAAplD,EAAA/3B,KAAA66E,qBACAnzC,EAAA1nC,MACA4Z,MAAAme,MAAA,IACA/3B,KAAAm9E,cAAAlxB,WAAA,WACAvkB,EAAAg1C,WAAA,GACa,IAAA3kD,KAIbwoD,eAAA,SAAApjE,EAAA29D,GACA,IAAAkG,EAAA7jE,EAAA1Q,MACAu0E,GAAAlG,EACAkG,EAAA,OACAA,EAAA,GAEA7jE,EAAAkB,YAAAtG,MAAAipE,IAGAC,oBAAA,WACA,GAAAjhF,KAAA++E,YAAA,CAIA/+E,KAAA++E,YAAAjM,uBAEA,IAAAoO,EAAAlhF,KAAA++E,YAAA/d,eAAA7jC,EACA7D,EAAA5yB,KAAA64B,KAAA2hD,EAAAj/E,GACAs3B,EAAA7yB,KAAA44B,MAAA4hD,EAAAl/E,EAAAk/E,EAAA/jD,GAEAn9B,KAAA48E,OAAAtjD,EACAt5B,KAAA28E,MAAApjD,EAEAv5B,KAAA2+E,QAAA3+E,KAAAw+E,WACAx+E,KAAA0+E,SAAA1+E,KAAAu+E,YAGAv+E,KAAA++E,YAAAn+D,OACA5gB,KAAAwgF,aAAAxgF,KAAA++E,YAAAz4E,SAAAq3B,KAAA39B,KAAAo8E,UAGAp8E,KAAAygF,cAAAzgF,KAAA++E,YAAAtvC,IAAAzvC,KAAA++E,YAAAvvC,UAIA8tC,kBAAA,SAAAnnE,GACA,IAAAA,EAAAE,SAIArW,KAAA+/E,eAAA,CAIA,IAAA/9E,EAAAmU,EAAAI,QACAtU,EAAAkU,EAAAK,QACAxW,KAAAkvE,SAAAlvE,KAAAkvE,OAAAva,aAAA3yD,EAAAC,KAIAjC,KAAAmU,GAAAyB,GAAA,YAAA5V,KAAA+9E,mBACA/9E,KAAAmU,GAAAyB,GAAA,UAAA5V,KAAAu9E,iBAEApnE,EAAAgB,MAAAgqE,cACA,IAAAhrE,EAAAgB,MAAAgqE,cAAA59E,SACAvD,KAAAu8E,MAAA,UAIApmE,EAAAgB,MAAAiqE,SAAApF,EAAAh8E,KAAAm7E,mBACAn7E,KAAAu8E,MAAA,SAEApmE,EAAAgB,MAAAiqE,SAAApF,EAAAh8E,KAAAk7E,gBACAl7E,KAAAu8E,MAAA,MAGAv8E,KAAAu8E,MAAA,GAKAv8E,KAAA+8E,gBAAA3pD,IAAA,KACApzB,KAAA08E,WAAA,EACA18E,KAAA06E,YACA16E,KAAA8gF,sBAGA9gF,KAAA68E,QAAA1mE,EAAAI,QACAvW,KAAA88E,QAAA3mE,EAAAK,WAGAunE,kBAAA,SAAA5nE,GACA,KAAAA,EAAAE,SAAAF,EAAAE,OAAAgrE,mBAIArhF,KAAA+/E,eAAA,CAIA,IAAA9E,EAAAiB,EAAAl8E,KAAAi7E,gBACAF,EAAAmB,EAAAl8E,KAAA+6E,mBAEA,WAAA/6E,KAAAu8E,OACAv8E,KAAA+8E,gBAAA96E,GAAAkU,EAAAI,QAAAvW,KAAA68E,SAAA78E,KAAAmU,GAAAmqD,YAAA,EAAAyc,EAAA,GACA/6E,KAAA+8E,gBAAA/6E,GAAAmU,EAAAK,QAAAxW,KAAA88E,SAAA98E,KAAAmU,GAAA5F,WAAA,EAAAwsE,EAAA,IAEA,QAAA/6E,KAAAu8E,QACAv8E,KAAAg9E,aAAAh7E,GAAAmU,EAAAI,QAAAvW,KAAA68E,SAAA78E,KAAAmU,GAAA5F,WAAA0sE,EAAA,OACAj7E,KAAAg9E,aAAA/6E,IAAAkU,EAAAK,QAAAxW,KAAA88E,SAAA98E,KAAAmU,GAAAmqD,YAAA2c,EAAA,QAIAj7E,KAAA68E,QAAA1mE,EAAAI,QACAvW,KAAA88E,QAAA3mE,EAAAK,QAEAL,EAAAgB,MAAAmqE,mBAGA9D,mBAAA,SAAArnE,GACA,IAAAnW,KAAA+/E,eAAA,CAGA,IAAAj5E,EAAAqP,EAAAgB,MAAAM,aACAtB,EAAAgB,MAAAoqE,OACAvhF,KAAAwhF,aAAArrE,EAAArP,KAGA22E,cAAA,SAAAtnE,GACAnW,KAAA+/E,iBAGA//E,KAAAwhF,aAAArrE,IAAAgC,WAAA,QAEAnY,KAAAu8E,MAAA,KAGAiF,aAAA,SAAArrE,EAAArP,GACA,OAAAA,EAAA,CAIA,IAMAk6E,EANAh/E,EAAAmU,EAAAI,QACAtU,EAAAkU,EAAAK,QACA,IAAAxW,KAAAkvE,QAAAlvE,KAAAkvE,OAAAva,aAAA3yD,EAAAC,GAMA++E,EADA,gBAAAhhF,KAAAq/E,YACA34E,KAAAS,IAAAT,KAAAS,IAAAT,KAAAQ,IACAlH,KAAAi9E,UAAAj9E,KAAAo7E,YACAp7E,KAAAq7E,YAAAr7E,KAAAi9E,YACA,OAGAv2E,KAAAS,IAAAT,KAAAS,IAAAT,KAAAQ,IACAlH,KAAAq+E,WAAAr+E,KAAAw7E,oBACAx7E,KAAAu7E,oBAAAv7E,KAAAq+E,aACA,OAEAr+E,KAAAk9E,YAAAp2E,EAAA,QAAAk6E,EAAAhhF,KAAAg7E,gBAEAh7E,KAAA08E,WAAA,EAEA18E,KAAA06E,YAAA,WAAA16E,KAAAu8E,OACAv8E,KAAA8gF,sBAGA3qE,EAAAgB,MAAAmqE,mBAGA/D,gBAAA,WACAv9E,KAAAmU,GAAA0B,IAAA,YAAA7V,KAAA+9E,mBACA/9E,KAAAmU,GAAA0B,IAAA,UAAA7V,KAAAu9E,kBAGAkE,wBAAA,WACA,gBAAAzhF,KAAAm7E,mBACA,UAAAn7E,KAAAk7E,gBAGA4C,oBAAA,SAAA3nE,GACAnW,KAAAyhF,2BACAtrE,EAAAmrE,kBAIAxB,aAAA,SAAA4B,GACA,IAAAC,EAAA3hF,KAAAo9E,WAQA,OAPAuE,EAAAhvE,KAAA+uE,GACAA,EAAA19E,KAAA,WACA,IAAA2Z,EAAAgkE,EAAAv2C,QAAAs2C,GACA/jE,GAAA,GACAgkE,EAAAtQ,OAAA1zD,EAAA,KAGA+jE,KASA34E,OAAA2kB,eAAAyuD,EAAAl8E,UAAA,cACAwF,IAAA,SAAAwD,GACA,OAAAjJ,KAAA4hF,aAEAxuD,IAAA,SAAAnqB,GACAjJ,KAAA4hF,YAAA34E,EACAjJ,KAAA08E,UAAAzzE,KAKAilB,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,81GAKA,SAAAxrB,EAAAC,EAAA9D,GAEA,IAAAW,EAAAX,EAAA,IAEA4O,EAAA5O,EAAA,IAEAgjF,EAAAhjF,EAAA,IAEAijF,EAAAD,EAAAC,aAEAnS,EAAA9wE,EAAA,KAqBAsoB,EAAA3nB,EAAA2nB,KAKA46D,EAAA,iDAKAC,EAAA,qDAEA,SAAAC,EAAAC,EAAAzc,EAAA0c,EAAAC,EAAAC,GACA,IAAArgF,EAAA,EACAC,EAAA,EAEA,MAAAmgF,IACAA,EAAAtoE,KAGA,MAAAuoE,IACAA,EAAAvoE,KAGA,IAAAwoE,EAAA,EACA7c,EAAA6M,UAAA,SAAAlgD,EAAAzU,GACA,IAIA4kE,EACAC,EALAl8E,EAAA8rB,EAAA9rB,SACA7E,EAAA2wB,EAAA7wB,kBACAkhF,EAAAhd,EAAAmM,QAAAj0D,EAAA,GACA+kE,EAAAD,KAAAlhF,kBAIA,kBAAA2gF,EAAA,CACA,IAAAS,EAAAlhF,EAAAa,OAAAogF,KAAA1gF,EAAAP,EAAAO,EAAA,GACAugF,EAAAvgF,EAAA2gF,EAGAJ,EAAAH,GAAAhwD,EAAAwwD,SACA5gF,EAAA,EACAugF,EAAAI,EACA1gF,GAAAqgF,EAAAH,EACAG,EAAA7gF,EAAAc,QAGA+/E,EAAA57E,KAAAS,IAAAm7E,EAAA7gF,EAAAc,YAEK,CACL,IAAAsgF,EAAAphF,EAAAc,QAAAmgF,KAAAzgF,EAAAR,EAAAQ,EAAA,GACAugF,EAAAvgF,EAAA4gF,EAEAL,EAAAH,GAAAjwD,EAAAwwD,SACA5gF,GAAAsgF,EAAAH,EACAlgF,EAAA,EACAugF,EAAAK,EACAP,EAAA7gF,EAAAa,OAEAggF,EAAA57E,KAAAS,IAAAm7E,EAAA7gF,EAAAa,OAIA8vB,EAAAwwD,UAIAt8E,EAAA,GAAAtE,EACAsE,EAAA,GAAArE,EACA,eAAAigF,EAAAlgF,EAAAugF,EAAAJ,EAAAlgF,EAAAugF,EAAAL,KAaA,IAAAW,EAAAb,EASAc,EAAAvjF,EAAAmqB,MAAAs4D,EAAA,YASAe,EAAAxjF,EAAAmqB,MAAAs4D,EAAA,cAiBA,SAAAgB,EAAAC,EAAAC,EAAAC,GACA,IAAAzzE,EAAAwzE,EAAA7gF,MACA+gF,EAAAF,EAAA5gF,OACAP,EAAA8/E,EAAAoB,EAAAlhF,EAAA2N,GACA1N,EAAA6/E,EAAAoB,EAAAjhF,EAAAohF,GACA7jD,EAAAsiD,EAAAoB,EAAA1jD,GAAA7vB,GACA8vB,EAAAqiD,EAAAoB,EAAAzjD,GAAA4jD,GAMA,OALAzpE,MAAA5X,IAAA4X,MAAA2xB,WAAA23C,EAAAlhF,SAAA,IACA4X,MAAA4lB,IAAA5lB,MAAA2xB,WAAA23C,EAAA1jD,UAAA7vB,IACAiK,MAAA3X,IAAA2X,MAAA2xB,WAAA23C,EAAAjhF,SAAA,IACA2X,MAAA6lB,IAAA7lB,MAAA2xB,WAAA23C,EAAAzjD,UAAA4jD,GACAD,EAAAzT,EAAAxlB,kBAAAi5B,GAAA,GACA,CACA9gF,MAAAoE,KAAAS,IAAAq4B,EAAAx9B,EAAAohF,EAAA,GAAAA,EAAA,MACA7gF,OAAAmE,KAAAS,IAAAs4B,EAAAx9B,EAAAmhF,EAAA,GAAAA,EAAA,OAqBA,SAAAE,EAAAJ,EAAAC,EAAAC,GACAA,EAAAzT,EAAAxlB,kBAAAi5B,GAAA,GACA,IAAAzzE,EAAAwzE,EAAA7gF,MACA+gF,EAAAF,EAAA5gF,OACA+sC,EAAAwyC,EAAAoB,EAAA5zC,KAAA3/B,GACA8/B,EAAAqyC,EAAAoB,EAAAzzC,IAAA4zC,GACA9zC,EAAAuyC,EAAAoB,EAAA3zC,MAAA5/B,GACA6/B,EAAAsyC,EAAAoB,EAAA1zC,OAAA6zC,GACA/gF,EAAAw/E,EAAAoB,EAAA5gF,MAAAqN,GACApN,EAAAu/E,EAAAoB,EAAA3gF,OAAA8gF,GACAE,EAAAH,EAAA,GAAAA,EAAA,GACAI,EAAAJ,EAAA,GAAAA,EAAA,GACAxiE,EAAAsiE,EAAAtiE,OA8CA,OA5CAhH,MAAAtX,KACAA,EAAAqN,EAAA4/B,EAAAi0C,EAAAl0C,GAGA11B,MAAArX,KACAA,EAAA8gF,EAAA7zC,EAAA+zC,EAAA9zC,GAGA,MAAA7uB,IAQAhH,MAAAtX,IAAAsX,MAAArX,KACAqe,EAAAjR,EAAA0zE,EACA/gF,EAAA,GAAAqN,EAEApN,EAAA,GAAA8gF,GAKAzpE,MAAAtX,KACAA,EAAAse,EAAAre,GAGAqX,MAAArX,KACAA,EAAAD,EAAAse,IAKAhH,MAAA01B,KACAA,EAAA3/B,EAAA4/B,EAAAjtC,EAAAkhF,GAGA5pE,MAAA61B,KACAA,EAAA4zC,EAAA7zC,EAAAjtC,EAAAghF,GAIAL,EAAA5zC,MAAA4zC,EAAA3zC,OACA,aACAD,EAAA3/B,EAAA,EAAArN,EAAA,EAAA8gF,EAAA,GACA,MAEA,YACA9zC,EAAA3/B,EAAArN,EAAAkhF,EACA,MAGA,OAAAN,EAAAzzC,KAAAyzC,EAAA1zC,QACA,aACA,aACAC,EAAA4zC,EAAA,EAAA9gF,EAAA,EAAA6gF,EAAA,GACA,MAEA,aACA3zC,EAAA4zC,EAAA9gF,EAAAghF,EACA,MAIAj0C,KAAA,EACAG,KAAA,EAEA71B,MAAAtX,KAEAA,EAAAqN,EAAA6zE,EAAAl0C,GAAAC,GAAA,IAGA31B,MAAArX,KAEAA,EAAA8gF,EAAAE,EAAA9zC,GAAAD,GAAA,IAGA,IAAA/tC,EAAA,IAAAgM,EAAA6hC,EAAA8zC,EAAA,GAAA3zC,EAAA2zC,EAAA,GAAA9gF,EAAAC,GAEA,OADAd,EAAA2hF,SACA3hF,EA0CA,SAAAgiF,EAAA1yC,EAAAmyC,EAAAC,EAAAC,EAAAhuE,GACA,IAAA2L,GAAA3L,MAAAsuE,IAAAtuE,EAAAsuE,GAAA,GACAvmE,GAAA/H,MAAAsuE,IAAAtuE,EAAAsuE,GAAA,GACAC,EAAAvuE,KAAAuuE,cAAA,MAEA,GAAA5iE,GAAA5D,EAAA,CAIA,IAAA1b,EAEA,WAAAkiF,EACAliF,EAAA,UAAAsvC,EAAA5wC,KAAA,IAAAsN,EAAA,KAAAy1E,EAAA5gF,OAAA,GAAA4gF,EAAA3gF,QAAA,GAAAwuC,EAAAxvC,uBAIA,GAFAE,EAAAsvC,EAAAxvC,kBAEAwvC,EAAA6yC,qBAAA,CACA,IAAA/8E,EAAAkqC,EAAA8yC,oBAGApiF,IAAA8T,QACA9T,EAAA4X,eAAAxS,GAKAq8E,EAAAI,EAAA9jF,EAAA8V,SAAA,CACAhT,MAAAb,EAAAa,MACAC,OAAAd,EAAAc,QACG2gF,GAAAC,EAAAC,GAIH,IAAAU,EAAA/yC,EAAAzqC,SACA0Q,EAAA+J,EAAAmiE,EAAAlhF,EAAAP,EAAAO,EAAA,EACAiV,EAAAkG,EAAA+lE,EAAAjhF,EAAAR,EAAAQ,EAAA,EACA8uC,EAAAgzC,KAAA,mBAAAJ,EAAA,CAAA3sE,EAAAC,GAAA,CAAA6sE,EAAA,GAAA9sE,EAAA8sE,EAAA,GAAA7sE,KAQA,SAAA+sE,EAAA7gE,EAAA8gE,GACA,aAAA9gE,EAAA6+D,EAAAiC,GAAA,WAAA9gE,EAAA6+D,EAAAiC,GAAA,WAAA9gE,EAAA6+D,EAAAiC,GAAA,IA6BA,SAAA/hE,EAAAgiE,EAAAC,EAAA/uE,IACA5V,EAAAoK,SAAAwL,OAAA,IACA,IAAAgvE,EAAAhvE,EAAAgvE,YACA5kF,EAAAwJ,QAAAo7E,OAAA,CAAAA,MACA,IAAAC,EAAAl5E,EAAA62E,EAAA,MACAsC,EAAAn5E,EAAA62E,EAAA,MAIA,SAAA72E,EAAAo5E,EAAAN,GACA,IAAAO,EAAA,GACAC,EAAA,EACAC,EAAA,GACAC,EAAA,EACAC,EAAA,EAYA,GAXAz9D,EAAAo9D,EAAA,SAAAj2E,GACAo2E,EAAAp2E,GAAA41E,EAAA51E,KAEA6Y,EAAAo9D,EAAA,SAAAj2E,GAGAu2E,EAAAV,EAAA71E,KAAAk2E,EAAAl2E,GAAAo2E,EAAAp2E,GAAA61E,EAAA71E,IACAw2E,EAAAN,EAAAl2E,IAAAm2E,IACAK,EAAAJ,EAAAp2E,IAAAq2E,MAGAP,EAAAH,GAQA,OANAa,EAAAX,EAAAI,EAAA,IACAG,EAAAH,EAAA,SACOO,EAAAX,EAAAI,EAAA,MACPG,EAAAH,EAAA,UAGAG,EAOA,GAAAC,IAAAC,GAAAH,EAKA,IAAAA,GAAAG,EACA,OAAAJ,EAGA,QAAAz5E,EAAA,EAAuBA,EAAAw5E,EAAAhhF,OAAkBwH,IAAA,CACzC,IAAAuD,EAAAi2E,EAAAx5E,GAEA,IAAA85E,EAAAL,EAAAl2E,IAAAu2E,EAAAX,EAAA51E,GAAA,CACAk2E,EAAAl2E,GAAA41E,EAAA51E,GACA,OAIA,OAAAk2E,EAjBA,OAAAE,EAqBA,SAAAG,EAAA/5E,EAAAwD,GACA,OAAAxD,EAAAI,eAAAoD,GAGA,SAAAw2E,EAAAh6E,EAAAwD,GACA,aAAAxD,EAAAwD,IAAA,SAAAxD,EAAAwD,GAGA,SAAA8K,EAAAmrE,EAAAluE,EAAA4jB,GACA9S,EAAAo9D,EAAA,SAAAj2E,GACA+H,EAAA/H,GAAA2rB,EAAA3rB,KAnEA8K,EAAA4oE,EAAA,GAAAkC,EAAAG,GACAjrE,EAAA4oE,EAAA,GAAAkC,EAAAI,GA6EA,SAAAriE,EAAAgY,GACA,OAAA8qD,EAAA,GAA4B9qD,GAS5B,SAAA8qD,EAAA1uE,EAAA4jB,GAIA,OAHAA,GAAA5jB,GAAA8Q,EAAA46D,EAAA,SAAAzzE,GACA2rB,EAAA/uB,eAAAoD,KAAA+H,EAAA/H,GAAA2rB,EAAA3rB,MAEA+H,EAGA1T,EAAAo/E,kBACAp/E,EAAAq/E,WACAr/E,EAAAmgF,MACAngF,EAAAogF,OACApgF,EAAAqgF,OACArgF,EAAAsgF,mBACAtgF,EAAA2gF,gBACA3gF,EAAA8gF,kBACA9gF,EAAAqhF,iBACArhF,EAAAuf,mBACAvf,EAAAsf,kBACAtf,EAAAoiF,oBAIA,SAAAriF,EAAAwrB,EAAArvB,GAEA,aACA,IAAAoiC,EAAApiC,EAAA,GAaAmmF,EAAA/jD,EAAA,KAAAv8B,OAAA,WACA,OAIA4J,KAAA,GAWA22E,WAAA,GAWAC,YAAA,GAIAC,oBAAA,GACAC,gBAAA,GAGAC,kBAAA,GAEAC,YAAA,EAEAC,WAAA,EAEA7nB,YAAA,OAIA,CAGA8nB,gBAAA,SAAAC,EAAAruD,GACA,IAaA90B,EAAAC,EAbAmjF,EAAA1lF,KAAAwyD,QAAAizB,GACAE,EAAAD,EAAAC,WACAC,EAAAF,EAAAG,gBAIA,GAHAD,IACAA,EAAAF,EAAAG,gBAAA,IAEAF,EACA,QAAA16E,KAAA06E,EACA,UAAA16E,GAAA,WAAAA,IACA26E,EAAA36E,GAAA06E,EAAA16E,IA4BA,OAtBA3I,EADAqjF,EAAArjF,iBAAA4nD,SACAy7B,EAAArjF,MAAAvC,KAAAC,KAAAo3B,GAGAuuD,EAAArjF,MAGAC,EADAojF,EAAApjF,kBAAA2nD,SACAy7B,EAAApjF,OAAAxC,KAAAC,KAAAo3B,GAGAuuD,EAAApjF,OAGAqjF,EAAAtjF,WACAsjF,EAAArjF,YAEAvC,KAAAolF,gBAAAK,IACAzlF,KAAAolF,gBAAAK,GAAA3vE,QAAAshB,EAAAwB,IAGAgtD,EAAAtjF,QACAsjF,EAAArjF,SAEAqjF,GAQAE,aAAA,SAAAx3E,EAAArK,KAMA8hF,aAAA,SAAAz3E,KAKA03E,cAAA,SAAAl7E,GACA,QAAAwD,KAAAxD,EACA9K,KAAA8lF,aAAAx3E,EAAAxD,EAAAwD,KAIA4kD,OAAA,aAEA+yB,UAAA,SAAA7uD,EAAA9oB,GACA,SAAAA,EAGA,OADAA,EAAA8oB,EACAp3B,KAAAolF,gBAAA92E,GAEA,IAAAo3E,EAAA1lF,KAAAwyD,QAAAlkD,GACA,OAAAo3E,EAKA1lF,KAAAulF,UAEAG,EAAAQ,gBACAlmF,KAAAmlF,oBAAA72E,GAGAtO,KAAAolF,gBAAA92E,GAKAtO,KAAAslF,YAEAtlF,KAAAmlF,oBAAA72E,KAEAtO,KAAAmlF,oBAAA72E,GAAAtO,KAAA09D,YAAAyoB,gBAAAT,EAAAC,YAAA,KAEA3lF,KAAAmlF,oBAAA72E,KAGAtO,KAAAkzD,OAAA97B,GAEAp3B,KAAAolF,gBAAA92E,SA3BA,GA8BA83E,gBAAA,SAAAX,GAEA,GADAzlF,KAAAqlF,kBAAAI,KACA,IAAAzlF,KAAAqlF,kBAAAI,GAAA,CACA,IAAAC,EAAA1lF,KAAAwyD,QAAAizB,GACAC,EAAAW,eACArmF,KAAAmlF,oBAAAM,IACAzlF,KAAA09D,YAAA4oB,eAAAtmF,KAAAmlF,oBAAAM,IAEAzlF,KAAAmlF,oBAAAM,GAAAzlF,KAAAolF,gBAAAK,IAKAzlF,KAAA09D,YAAA4oB,eAAAtmF,KAAAolF,gBAAAK,MAKAc,KAAA,SAAAC,EAAAC,EAAAC,GAGA1mF,KAAAilF,WAAAuB,GAAA,CACAnpE,KAAAopE,EACAE,IAAAD,GAEAD,EAAAvB,YAAAwB,KACAD,EAAAvB,YAAAwB,GAAA,IAEAD,EAAAvB,YAAAwB,GAAA/zE,KAAA,CACA0K,KAAArd,KACA2mF,IAAAH,IAIAxmF,KAAA4mF,KAAA/zD,SAAAK,cAAAszD,IAGA95E,MAAA,WACA1M,KAAAilF,WAAA,GACAjlF,KAAAklF,YAAA,IAGA2B,gBAAA,SAAApB,GACA,IAAAzlF,KAAAslF,WAAA,CAEA,QAAAwB,KADA9mF,KAAAslF,YAAA,EACAtlF,KAAAilF,WAAA,CACA,IAAAsB,EAAAvmF,KAAAilF,WAAA6B,GACAP,EAAAlpE,KAAAwpE,gBAAAN,EAAAI,KAEA3mF,KAAAslF,YAAA,EAEAG,GACAzlF,KAAAqlF,kBAAAI,MAIAsB,YAAA,WAGA,QAAAz4E,KAFAtO,KAAAulF,WAAA,EAEAvlF,KAAAklF,YACAllF,KAAAqlF,kBAAA/2E,GAAA,GAIA04E,WAAA,WAEA,QAAA14E,KAAAtO,KAAAklF,YACA,GAAAllF,KAAAqlF,kBAAA/2E,GAAA,GACA,IAAAo3E,EAAA1lF,KAAAwyD,QAAAlkD,GACAo3E,EAAAW,eACArmF,KAAAmlF,oBAAA72E,IACAtO,KAAA09D,YAAA4oB,eAAAtmF,KAAAmlF,oBAAA72E,IAEAtO,KAAAmlF,oBAAA72E,GAAAtO,KAAAolF,gBAAA92E,IAGAtO,KAAA09D,YAAA4oB,eAAAtmF,KAAAolF,gBAAA92E,QAOA4f,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aAIA,SAAAooF,EAAApjF,EAAAqjF,GAEA,IAAAxjF,EAAA,EACAE,EAAA,EAAAsjF,EACAn8E,EAAAlH,EACA,MAAAkH,EAAA,EACArH,GAAAE,GAAAmH,EAAAm8E,GACAn8E,EAAArE,KAAAmK,MAAA9F,EAAAm8E,GACAtjF,GAAAsjF,EAEA,OAAAxjF,EAIAwqB,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGAzO,EAAA,cAAA5T,EAAA6sE,EAAAltD,GACAA,KAAA3f,EAAAiI,YAEA,IAAA6kE,EAAAD,GAAAvqD,EAAAr0B,EAAA8+E,8BAAA/sE,EAAA7U,IAAA,oCAEAgzE,EAAA77C,EAAAr0B,EAAA++E,OAAAC,iBAAAttD,EAAA,CACAutD,iBAAAvtD,EAAAutD,kBAAAltE,EAAA7U,IAAA,cACAgiF,aAAAxtD,EAAAwtD,cAAAntE,EAAA7U,IAAA,UACAiiF,gBAAAN,EAAAh6E,IAAA,SAAAkO,GACA,IAAAqsE,EAAArtE,EAAAstE,uBAAAtsE,EAAA,aACA,OACAnb,KAAAwnF,GAAA,aAAAA,EAAAliF,IAAA,0BACA6I,KAAAgN,OAMA,gBAAAhB,EAAA7U,IAAA,qBACAgzE,EAAA5tE,QAAA,SAAA4b,GACA,GAAA2gE,EAAAh8C,QAAA3kB,EAAAgC,WAAA,GACA,IAAAk/D,EAAArtE,EAAAstE,uBAAAnhE,EAAAgC,SAAA,aACAk/D,GAAA,aAAAA,EAAAliF,IAAA,UACAghB,EAAAohE,YAAAF,EAAAG,qBAMA,IAAAC,EAAAnrD,EAAAr0B,EAAA++E,OAAAU,UAAAC,gBAEA3tE,EAAAm+D,EAAA,CAAkCyP,SAAA,EAAAC,sBAAA,MAGlC58E,EAAA,IAAAqxB,EAAAr0B,EAAA6/E,KAAA3P,EAAAn+D,GAMA,OAJA/O,EAAA88E,mBAAAN,GAEAx8E,EAAA+8E,SAAAruD,GAEA1uB,IAKA,SAAA7I,EAAAC,GAoBA,SAAAF,EAAA0X,EAAAgQ,EAAAC,GAEA,OACAjQ,aAEAkQ,kBAAA,EACAhQ,MAAA,SAAAC,EAAAC,EAAAxV,GACA,IAAAwG,EAAA+O,EAAAE,UACA8P,EAAAhQ,EAAA7U,IAAA,WAAA0kB,EACA7M,EAAAhD,EAAA7U,IAAA,cACA8kB,EAAAjQ,EAAA7U,IAAA,oBAQA,GAPA8F,EAAAif,UAAA,CACAJ,gBAAAE,EACAG,OAAAH,EACAhN,aACAoN,iBAAAH,KAGAhQ,EAAAoQ,iBAAArQ,GAAA,CAIA,IAAAsQ,EAAA,oBAAAtN,EA+BA,OACAuN,SAAAtf,EAAAuf,eAAAF,EAAAC,EAAA,MA9BA,SAAAA,EAAAtf,EAAAoS,GACA,uBAAAL,EAAA,CACA,IAAAyN,EAAAzQ,EAAAgN,YAAA3J,GAEAqH,EAAA1K,EAAA0Q,cAAArN,GACApS,EAAA0f,cAAAtN,EAAA,aAAAL,EAAAyN,EAAA/F,IAGA,GAAAzZ,EAAAuf,cAAA,CACA,IAAAI,EAAA3f,EAAA4f,aAAAxN,GACAyN,EAAAF,EAAA/C,WAAA,aACAkD,EAAAH,EAAA/C,WAAA,iBACAmD,EAAAJ,EAAA/C,WAAA,uBAEA,MAAAiD,GACA7f,EAAA0f,cAAAtN,EAAA,SAAAyN,GAGA,MAAAC,GAEA9f,EAAA0f,cAAAtN,EAAA,aAAA0N,GAGA,MAAAC,GACA/f,EAAA0f,cAAAtN,EAAA,mBAAA2N,OAYA5oB,EAAAC,QAAAF,GAIA,SAAAC,EAAAwrB,EAAArvB,GAEA,aACA,IAAAoiC,EAAApiC,EAAA,GACA0pF,EAAA1pF,EAAA,KACA2pF,EAAA3pF,EAAA,IACA4pF,EAAA5pF,EAAA,IACAkzD,EAAAlzD,EAAA,IACA6pF,EAAA7pF,EAAA,IACA8pF,EAAA9pF,EAAA,KACA+pF,EAAA/pF,EAAA,GACAgqF,EAAAhqF,EAAA,IACAiqF,EAAAjqF,EAAA,IACAkqF,EAAAlqF,EAAA,IAgBA+pF,EAAA,eAAAC,EAAA,MAKA,IAAAG,EAAAF,EAAA,KAAAh6C,OAEAm6C,EAAA,GAEA,SAAAC,EAAAlqB,GACA,OAAAA,EAAAnsC,SAEA,SAAAs2D,EAAAnqB,EAAAnsC,EAAApI,GACA,OAAAoI,EAAAyZ,SAAA7hB,GAAAxmB,MAEA,SAAAmlF,EAAAC,EAAAC,EAAAz2D,EAAA02D,GACA,OAAA12D,IAAA02D,EAEA,SAAAC,EAAAxqB,GACA,SAGA,SAAAhU,KAEA,IAAAy+B,EAAA,CACA5gD,MAAA2/C,EAAA,KAAA3jD,MACA6kD,KAAAlB,EAAA,KAAAhkD,KACAmlD,MAAAnB,EAAA,KAAApnD,cACAwoD,MAAApB,EAAA,KAAA/jD,MACAolD,OAAArB,EAAA,KAAA9jD,gBAGA,SAAAolD,EAAAC,EAAAC,EAAA34B,GACArxD,KAAA+pF,sBACA/pF,KAAAgqF,4BACAhqF,KAAAqxD,gBAEArxD,KAAAwxD,IAAA,KAGA,SAAAy4B,EAAA7yD,GACA,IAAA8yD,EACAhmD,EACAlkC,KAAA4I,KAAA,SAAAwuB,GACA8yD,IAEAA,EAAAzB,EAAA,KAAA3/B,eACAohC,EAAA5nF,MAAA4nF,EAAA3nF,OAAA,EACA2nF,EAAAt8E,WAAA,OAGA,IAAAgrB,EAAAxB,EAAAwB,GACAuxD,GAAAjmD,EACAimD,IACAjmD,EAAAtL,EAAA4J,iBAEA5J,EAAAoN,YAAApN,EAAAqN,WAAA/B,GACAimD,GACAvxD,EAAAuO,WAAAvO,EAAAqN,WAAA,EAAArN,EAAA0I,KAAA1I,EAAA0I,KAAA1I,EAAAwI,cAAA8oD,IAGAlqF,KAAA2iC,OAAA,SAAAvL,GACAA,EAAAwB,GAAAoN,YAAA5O,EAAAwB,GAAAqN,WAAA,OAEAjmC,KAAAqkC,aAAA,WACA,UAOA,IAAAhR,EAAA4N,EAAA,KAAAv8B,OAAA,WACA,OAMAkxB,OAAA,KAOA0O,OAAA,IAOAC,QAAA,IASA34B,iBAAA,qBAAAjB,eAAAiB,kBAAA,EAMA8mD,WAAA,UAOAY,SAAA,MASAh6B,OAAA,EAKAwqC,OAAA,EAKAsmB,SAAA,EAKAC,WAAA,EAKAC,oBAAA,EAKAC,uBAAA,EAKAC,YAAA,EAKA5xD,GAAA,KAKA8Z,SAAA,GAGAK,qBAAA,KAEA03C,eAAA,GACAC,YAAA,GAEAC,gBAAA,OAEC,WAED3qF,KAAA41B,SACA51B,KAAA41B,OAAA6yD,EAAA,KAAA3/B,gBAEA,IAAAlzB,EAAA51B,KAAA41B,OACA,IACA,IAAA91B,EAAA,CACAw5B,MAAAt5B,KAAAs5B,MACAwqC,MAAA9jE,KAAA8jE,MACAsmB,QAAApqF,KAAAoqF,QACAC,UAAArqF,KAAAqqF,UACAC,mBAAAtqF,KAAAsqF,mBACAC,sBAAAvqF,KAAAuqF,uBAMA,GAHAvqF,KAAA44B,GAAAhD,EAAAhoB,WAAA,QAAA9N,IACA81B,EAAAhoB,WAAA,qBAAA9N,IAEAE,KAAA44B,GACA,UAAA+U,MAGA3tC,KAAA4qF,QAAA,IAAArC,EAAA,KAAAvoF,KAAA44B,IAEA54B,KAAA44B,GAAAiyD,gBACAzyD,QAAA+B,MAAA,8BAEAn6B,KAAA44B,GAAAiyD,eAAA7qF,KAEAA,KAAAq+D,SAEA,MAAAloD,GACA,qCAAAA,EAIAnW,KAAA8qF,YAAA,IAAAnC,EAAA,KAAA3oF,MAEAA,KAAA+qF,oBAAA,IAAAd,EAAAjqF,OAGA,CAMAq+D,OAAA,SAAA/7D,EAAAC,GACA,IAAAqzB,EAAA51B,KAAA41B,OAGAjqB,EAAA3L,KAAA4L,iBACA,MAAAtJ,GACAszB,EAAAr1B,MAAA+B,QAAA,KACAszB,EAAAr1B,MAAAgC,SAAA,KAEAqzB,EAAAtzB,QAAAqJ,EACAiqB,EAAArzB,SAAAoJ,EAEA3L,KAAAskC,OAAAhiC,EACAtC,KAAAukC,QAAAhiC,IAGAvC,KAAAskC,OAAA1O,EAAAtzB,MAAAqJ,EACA3L,KAAAukC,QAAA3O,EAAArzB,OAAAoJ,GAGA3L,KAAAqzC,YAAA,IAAArzC,KAAAskC,OAAAtkC,KAAAukC,UAOAh2B,SAAA,WACA,OAAAvO,KAAAskC,QAOAg6B,UAAA,WACA,OAAAt+D,KAAAukC,SAOAymD,kBAAA,WACA,IAAAt4C,EAAA1yC,KAAA0yC,SACA,OAAAA,EAAApwC,MAAAowC,EAAAnwC,QAOA0oF,oBAAA,SAAAr/E,GACA5L,KAAA4L,mBACA5L,KAAAq+D,OAAAr+D,KAAAskC,OAAAtkC,KAAAukC,UAOA2mD,oBAAA,WACA,OAAAlrF,KAAA4L,kBAQAw3B,eAAA,SAAA90B,GACA,OAAAtO,KAAA4qF,QAAAO,aAAA78E,IAQA88E,eAAA,SAAA98E,GACA,OAAAtO,KAAA4qF,QAAA7E,aAAAz3E,IAuBA+kC,YAAA,SAAArxC,EAAAC,EAAAK,EAAAC,EAAAoJ,GAEA,qBAAA3J,EAAA,CACA,IAAA8I,EAAA9I,EAEAA,EAAA8I,EAAA9I,EACAC,EAAA6I,EAAA7I,EACAK,EAAAwI,EAAAxI,MACAC,EAAAuI,EAAAvI,OACAoJ,EAAAb,EAAAc,iBAEAD,KAAA3L,KAAA4L,iBAEA5L,KAAA44B,GAAA8Z,SACA1wC,EAAA2J,EAAA1J,EAAA0J,EAAArJ,EAAAqJ,EAAApJ,EAAAoJ,GAGA3L,KAAA0yC,SAAA,CACA1wC,IACAC,IACAK,QACAC,SACAqJ,iBAAAD,IAOA0/E,aAAA,WACArrF,KAAAyqF,eAAA93E,KAAA3S,KAAA0yC,WAMA44C,gBAAA,WACAtrF,KAAAyqF,eAAAlnF,OAAA,GACAvD,KAAAqzC,YAAArzC,KAAAyqF,eAAAp+D,QAOAo0C,UAAA,WACAzgE,KAAA0qF,YAAA/3E,KAAA,CACA2gD,SAAAtzD,KAAAszD,SACAZ,WAAA1yD,KAAA0yD,cAOAgO,aAAA,WACA,GAAA1gE,KAAA0qF,YAAAnnF,OAAA,GACA,IAAA6R,EAAApV,KAAA0qF,YAAAr+D,MACArsB,KAAA0yD,WAAAt9C,EAAAs9C,WACA1yD,KAAAszD,SAAAl+C,EAAAk+C,WAIAi4B,mBAAA,SAAAhuB,GACAv9D,KAAA2qF,gBAAAptB,GAWArK,OAAA,SAAAqK,EAAAjL,EAAAk5B,EAAAC,GACA,IAAArpD,EAAApiC,KAAA44B,GAEA85B,EAAA1yD,KAAA0yD,WAEA,GAAA1yD,KAAAszD,SAAA,CAGAlxB,EAAAoxB,WAAA,YACApxB,EAAAmxB,WAAA,GACA,IAAA7gB,EAAA1yC,KAAA0yC,SACAg5C,GAAA,EACAC,EAAAj5C,EAAA9mC,kBACA8mC,EAAApwC,QAAAtC,KAAAskC,QAAAoO,EAAAnwC,SAAAvC,KAAAukC,SACAonD,OAAA3rF,KAAA4L,kBACA8mC,EAAA1wC,GAAA0wC,EAAAzwC,KAEAypF,GAAA,EAGAtpD,EAAAltB,OAAAktB,EAAA8V,cACA9V,EAAAwpD,QAAAl5C,EAAA1wC,EAAA2pF,EAAAj5C,EAAAzwC,EAAA0pF,EAAAj5C,EAAApwC,MAAAqpF,EAAAj5C,EAAAnwC,OAAAopF,IAEAvpD,EAAAswB,aAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACAtwB,EAAA11B,MAAA1M,KAAAszD,UACAo4B,GACAtpD,EAAA/sB,QAAA+sB,EAAA8V,cAYA,GANAszC,GACAjuB,EAAAhxC,QAAA,GAEAgxC,EAAAqB,eAEAtM,KAAAiL,EAAA6X,gBACA9iB,EAAA,CAIAA,EAAA/lC,SACA,IAAAsyC,EAAAtB,EAAAuB,iBAAAxM,GAAA,GAEAtyD,KAAA2qF,gBAAAptB,EAEA,IAAAoE,EAAA9C,EAAA2C,OACAV,EAAAjC,EAAAnL,YACAm4B,EAAAtuB,EAAA1qC,SAEA0qC,EAAAnmD,QAAA,eAAApX,KAAAu9D,EAAAjL,EAAAuM,GAGA4sB,GACAzrF,KAAA8rF,WAAAnqB,EAAApE,EAAAjL,GACAlwB,EAAA2pD,UAAA3pD,EAAAmb,SAGAnb,EAAA2pD,UAAA3pD,EAAAib,MAMA,IAFA,IAAAs5B,EAAAqS,IACAgD,EAAAjD,EAAA,KAAAj6C,SACA/jC,EAAA,EAAuBA,EAAA+1D,EAAAv9D,OAA4BwH,IAAA,CACnD,IAAAi0D,EAAA8B,EAAA/1D,GACA+9E,EAAA,KAAA1uB,eAAAuc,EAAArkB,EAAAikB,WAAAn5C,MAAA4hC,EAAAgC,eAAA5jC,OACA2rD,EAAA,KAAArqD,cAAAstD,EAAAhtB,EAAA14D,SAAA82B,MAAAu5C,GACA3X,EAAA4R,QAAAob,EAAA,GAIAhsF,KAAA4zD,WAAA+N,EAAArP,EAAA,CACA25B,YAAA,SAAAjtB,GACA,OAAA6sB,GAAA7sB,EAAAnsC,UAEAq5D,YAAAlsF,KAAAmsF,oBAGAnsF,KAAA4zD,WAAAkN,EAAAxO,EAAA,CACA25B,YAAA,SAAAjtB,GACA,OAAA6sB,GAAA7sB,EAAAnsC,UAEAq5D,YAAAlsF,KAAAosF,yBAGA7uB,EAAAnmD,QAAA,cAAApX,KAAAu9D,EAAAjL,EAAAuM,GAGA7+D,KAAA2qF,gBAAA,UAnDAvyD,QAAA+B,MAAA,oCAsDAkyD,WAAA,SAAArtB,EAAAstB,EAAA/uB,GAEA,OADA+uB,KAAAttB,EAAAnsC,SACA7yB,KAAA8qF,YAAAuB,WAAArtB,EAAAstB,EAAA/uB,IAGAgvB,gBAAA,SAAA7U,GACA,GAAAA,EAAA8U,QAAA,CACA,IAAAC,EAAA/U,EAAA8U,QACA,GAAAvD,EAAAvR,EAAA/gD,SACA,OAIA,GAFAsyD,EAAAvR,EAAA/gD,UAAA,EAEA32B,KAAAwqF,WACA,UAAA78C,MAAA8+C,GAGAzsF,KAAAoX,QAAA,QAAAq1E,KAMAC,eAAA,SAAAv/E,EAAAowD,EAAAovB,GACA,IAAAV,EAAAU,KAAAV,aAAA/C,EACA3rB,KAAA,KACA,QAAAxyD,EAAA,EAAuBA,EAAAoC,EAAA5J,OAAiBwH,IAAA,CACxC,IAAAi0D,EAAA7xD,EAAApC,GACAuhF,EAAAL,EAAAlsF,KAAAC,KAAAg/D,GACA,GAAAj0D,EAAA,GACA,IAAAu+E,EAAAn8E,EAAApC,EAAA,GACA6hF,EAAAtD,EAAAxQ,OAAAwQ,EAAAxQ,OAAAv1E,OAAA,EACAspF,EAAA7tB,EAAA8Z,OAAA9Z,EAAA8Z,OAAAv1E,OAAA,EAEA,GAAAspF,IAAAD,GACA5tB,EAAAnsC,WAAAy2D,EAAAz2D,UACAmsC,EAAAqY,aAAAiS,EAAAjS,WACA,CACArY,EAAA8tB,UAAAxD,EAAAwD,UACA,UAIA,IAAApV,EAAA13E,KAAA8qF,YAAAuB,WAAArtB,EAAAstB,EAAA/uB,GAEAv9D,KAAAusF,gBAAA7U,GAEA1Y,EAAA8tB,UAAApV,IAkBA9jB,WAAA,SAAAzmD,EAAAmlD,EAAAq6B,GACA3sF,KAAAoX,QAAA,mBAAApX,KAAAmN,EAAAmlD,EAAAq6B,GAEAA,KAAA,GACAA,EAAAV,YAAAU,EAAAV,aAAA/C,EACAyD,EAAA75B,WAAA65B,EAAA75B,YAAAq2B,EAEAwD,EAAAI,kBAAAJ,EAAAI,mBAAA3D,EACAuD,EAAAK,aAAAL,EAAAK,cAAAhiC,EACA2hC,EAAAM,YAAAN,EAAAM,aAAAjiC,EAEA,IAAAkiC,EAAAP,EAAAQ,UAAA3D,EAEAxpF,KAAA0sF,eAAAv/E,EAAAnN,KAAA2qF,gBAAAgC,GACAA,EAAAT,aACA/+E,EAAA8oB,KAAA02D,EAAAT,aAIA,IAAAx5C,EAAA1yC,KAAA0yC,SACA06C,EAAA16C,EAAA9mC,iBACAyhF,EAAA,CACA36C,EAAA1wC,EAAAorF,EAAA16C,EAAAzwC,EAAAmrF,EACA16C,EAAApwC,MAAA8qF,EAAA16C,EAAAnwC,OAAA6qF,GAEAE,EAAAttF,KAAA4L,iBACA2hF,EAAAvtF,KAAA+yC,qBACA,CAAA/yC,KAAA+yC,qBAAAF,kBAAA7yC,KAAA+yC,qBAAAD,oBACA,CAAA9yC,KAAAskC,OAAAgpD,EAAAttF,KAAAukC,QAAA+oD,GAEAE,EAAA,CACAH,EAAA,GAAAA,EAAA,IAEAt1D,EAAAC,KAAAC,MAGAq6B,GACAw2B,EAAA,KAAA1vE,KAAAq0E,EAAAC,KAAAp7B,EAAAikB,WAAAn5C,OACA0rD,EAAA,KAAA1vE,KAAAq0E,EAAAE,WAAAr7B,EAAAukB,iBAAAz5C,OACA0rD,EAAA,KAAA1vE,KAAAq0E,EAAAG,YAAAt7B,EAAA0O,eAAA5jC,SAGA0rD,EAAA,KAAAl5C,SAAA69C,EAAAC,MACA5E,EAAA,KAAAl5C,SAAA69C,EAAAE,YACA7E,EAAA,KAAAl5C,SAAA69C,EAAAG,cAEA9E,EAAA,KAAA7qD,SAAAwvD,EAAAI,eAAAJ,EAAAE,WAAAF,EAAAC,MACA5E,EAAA,KAAAj5C,OAAA49C,EAAAK,kBAAAL,EAAAE,YACA7E,EAAA,KAAAj5C,OAAA49C,EAAAM,sBAAAN,EAAAI,gBAmBA,IAjBA,IAGAtE,EACAyE,EACA1E,EAGAjzB,EAAA9C,EACAqmB,EAAAqU,EAAAC,EACAx6B,EACAy6B,EACAC,EACAC,EAbAjsD,EAAApiC,KAAA44B,GACA2kC,EAAAv9D,KAAA2qF,gBAcAp5B,EAAAvxD,KAAAojC,eAAA,2BAEAr4B,EAAA,EAAuBA,EAAAoC,EAAA5J,OAAiBwH,IAAA,CACxC,IAEAurE,EAFAtX,EAAA7xD,EAAApC,GACAujF,EAAA,MAAAtvB,EAAAgC,eAGA,GAAAksB,EAAAluB,GAAA,CAKAsvB,IACAhY,EAAAtX,EAAA+R,eAAA/R,EAAA+R,gBACA0c,EAAA5Z,SAAA7U,EAAAgC,eAAA5jC,OAEA,IAAAnB,EAAA+iC,EAAA/iC,SACApJ,EAAA85D,EAAAV,YAAAlsF,KAAAC,KAAAg/D,GAEA0Y,EAAA1Y,EAAA8tB,UACAn6D,EAAAE,EAAAF,OAEA47D,EAAAtyD,EAAAtF,QAAA,IAAA+gD,EAAA/gD,QACA63D,EAAAD,IAAAJ,EACAA,EAAAI,EACAC,GAAAj9B,GAEAA,EAAAk9B,mBAAA,MAEAH,IACAxF,EAAA,KAAA1vE,KAAAq0E,EAAAiB,MAAApY,GACAwS,EAAA,KAAA7qD,SAAAwvD,EAAAkB,oBAAAlB,EAAAI,eAAAvX,GACAwS,EAAA,KAAA1uB,eAAAqzB,EAAA3Z,UAAA2Z,EAAAC,KAAApX,IACA3jD,EAAA+W,gBAAAklD,cACAj8D,EAAA+W,gBAAAmlD,wBACA/F,EAAA,KAAAj5C,OAAA49C,EAAAmB,aAAAtY,IAEA3jD,EAAA+W,gBAAAolD,kBACAn8D,EAAA+W,gBAAAqlD,4BACAjG,EAAA,KAAAj5C,OAAA49C,EAAAqB,iBAAArB,EAAA3Z,YAEAnhD,EAAA+W,gBAAAslD,4BACAr8D,EAAA+W,gBAAAulD,sCACAnG,EAAA,KAAAj5C,OAAA49C,EAAAuB,2BAAAvB,EAAAkB,sBAKA3vB,EAAAguB,cAAAhuB,EAAAguB,aAAAhtF,MACA2sF,EAAAK,aAAAjtF,KAAAC,KAAAg/D,EAAAnsC,EAAA02D,GAEA,IAAA2F,EAAAxX,IAAAsW,EACAkB,GAEAxX,EAAA9uE,KAAA5I,MAEA03E,EAAAyX,qBAAA/sD,EAAA,WAAAirD,GACA3V,EAAAyX,qBAAA/sD,EAAA,cAAAmrD,GACAj7B,IACAolB,EAAAyX,qBAAA/sD,EAAA,OAAAkwB,EAAA5iB,MACAgoC,EAAAyX,qBAAA/sD,EAAA,MAAAkwB,EAAA3iB,MAEA+nC,EAAAyX,qBAAA/sD,EAAA,mBAAAgrD,GACA1V,EAAAyX,qBAAA/sD,EAAA,OAAArK,GAEA2/C,EAAAyX,qBAAA/sD,EAAA,gBAAAorD,GAIAjwB,GACAA,EAAAka,iBAAAC,EAAA1Y,EAAAqY,WAAAr3E,OAIA03E,EAAAsW,GAIAkB,GAAAvC,EAAAI,kBACA/tB,EAAAsqB,EAAAz2D,EAAA02D,MAEA12D,EAAAwjC,gBACAxjC,EAAAwjC,UAAAj0B,EAAAltB,OAAAktB,EAAA6V,YAAA7V,EAAA/sB,QAAA+sB,EAAA6V,YACAoe,EAAAxjC,EAAAwjC,WAEAxjC,EAAA0gC,gBACAnxB,EAAAmxB,UAAA1gC,EAAA0gC,WACAA,EAAA1gC,EAAA0gC,WAEA1gC,EAAA6gC,kBACA7gC,EAAA6gC,YAAAtxB,EAAAltB,OAAAktB,EAAA0V,OAAA1V,EAAA/sB,QAAA+sB,EAAA0V,OACA4b,EAAA7gC,EAAA6gC,aAGA7gC,EAAA6gC,cACA7gC,EAAAyjC,MACAzjC,EAAAyjC,MAAAl0B,IAIAA,EAAAgtD,sBAAAhtD,EAAAtJ,SAAAsJ,EAAAtJ,UACAsJ,EAAAitD,kBAAAjtD,EAAApJ,UAAAoJ,EAAAwT,oBAAAxT,EAAAnJ,IAAAmJ,EAAAwT,uBAIAy4C,EAAAruF,KAAAsvF,cACAtwB,EAAAnsC,EAAA6kD,EACA4R,GAAA,KAAAC,GAAA,KAAAyE,GAAA,KACArB,EAAA75B,YAEAy2B,EAAA12D,GAGA,IAAAgZ,EAAAlZ,EAAAkZ,mBAEA,GAAAyiD,EACA,QAAA5tE,EAAA,EAA+BA,EAAAmrB,EAAAtoC,OAA+Bmd,IAAA,CAC9D,IAAA2qB,EAAAQ,EAAAnrB,GACA6uE,EAAA58D,EAAA+W,gBAAA2B,GACAulB,EAAA68B,EAAApiD,GACA,GAAAkkD,EAAA5iD,YAAA,CACA,IAAA6iD,EAAA/B,EAAA8B,EAAA3iD,qBACAk8C,EAAA,KAAAl4C,UAAAggB,EAAA4+B,GAEA9X,EAAA7kB,WAAAzwB,EAAAmtD,EAAApvF,KAAAovF,EAAA9kE,OAAAmmC,GAIAoO,EAAAivB,eACAA,EAAAjvB,EAAAivB,SACA7rD,EAAA6rD,aAEAjvB,EAAAkvB,gBACAA,EAAAlvB,EAAAkvB,UACA9rD,EAAA8rD,cAEAlvB,EAAA4a,cACAA,EAAA5a,EAAA4a,QACAA,EAAAx3C,EAAAltB,OAAAktB,EAAAyV,WAAAzV,EAAA/sB,QAAA+sB,EAAAyV,YAGA73C,KAAAyvF,gBAAAzwB,EAAA0Y,EAAA2W,GACAG,IACAJ,EAAApuF,KAAA0vF,SAAAn+B,EAAA5+B,EAAAsJ,EAAAy7C,IAEA13E,KAAA2vF,cAAA3wB,EAAAovB,GAGAzB,EAAAM,YAAAjtF,KAAAg/D,GACAA,EAAAiuB,aAAAjuB,EAAAiuB,YAAAjtF,MAEAguF,EAAAtW,EACA4R,EAAAtqB,GAIAzN,GACAA,EAAAk9B,mBAAA,MAGAzuF,KAAAoX,QAAA,kBAAApX,KAAAmN,EAAAmlD,EAAAq6B,IAGAiD,kBAAA,WACA,OAAA5vF,KAAA4qF,QAAAgF,qBAGAH,gBAAA,SAAA1hE,EAAA2pD,EAAAG,GACA,IAAAz1C,EAAApiC,KAAA44B,GACAs9C,EAAAnoD,EAAAmoD,SAEA,GAAAA,EAGA,GADAA,EAAA3pD,SACAwB,EAAA+qD,OAAAv1E,OAAAvD,KAAA4qF,QAAAgF,oBAAA,CACA,IAAAC,EAAA3Z,EAAA4Z,0BAAA/hE,EAAA4I,QAAA5I,EAAA+qD,QACApB,EAAAqY,eAAA/vF,KAAA6vF,EAAAhY,GACAH,EAAA7kB,WAAAzwB,EAAA,2BAAAy1C,GACAH,EAAA7kB,WAAAzwB,EAAA,+BAAAytD,EAAAvtF,WAEA,CACA,IAAA0tF,EAAA9Z,EAAA+Z,mBAAAliE,EAAA4I,QAAA5I,EAAA+qD,QACApB,EAAAyX,qBAAA/sD,EAAA,cAAA4tD,KAKAL,cAAA,SAAA3wB,EAAAxN,GACA,IAAApvB,EAAApiC,KAAA44B,GACAqD,EAAA+iC,EAAA/iC,SAEAi0D,EAAAlxB,EAAAmxB,KASA,GARA,MAAAD,IACAA,EAAA,GAOA1+B,EAAAH,cAAA,CACA,IAAA++B,EAAApwF,KAAAojC,eAAA,0BACAitD,EAAAD,GAAAn0D,EAAAwxB,mBAAAhC,YACA6kC,EAAAD,EAAAjuD,EAAAwC,aAAAxC,EAAAsC,eAEAtC,EAAAmuD,aAAAL,EAAA1+B,EAAAH,cAAA13C,MAAA22E,EAAA,QAKAluD,EAAAouD,WAAAN,EAAA,EAAAj0D,EAAAC,cAIAozD,cAAA,SAAAtwB,EAAAnsC,EAAA6kD,EAAA4R,EAAAC,EAAAyE,EAAAyC,GAYA,IAXA,IAAAruD,EAAApiC,KAAA44B,GAIA83D,EAAA1C,IAAAtW,EAEAiZ,EAAAjZ,EAAAiZ,qBACAC,EAAA/9D,EAAAgkC,qBACAg6B,EAAAh+D,EAAAikC,qBACAg6B,EAAA9wF,KAAA+qF,oBAEAgG,EAAA,EAAuBA,EAAAF,EAAAttF,OAA4BwtF,IAAA,CACnD,IAAAtmE,EAAAomE,EAAAE,GACAC,EAAAP,EAAAzxB,EAAAnsC,EAAApI,GACAiiB,EAAA7Z,EAAAyZ,SAAA7hB,GAAAtqB,KAIA,SAAAusC,GAAAskD,EAEAA,EAAAC,QAAA,OAEA,UAAAvkD,EACA,QAAA3hC,EAAA,EAA+BA,EAAAimF,EAAAztF,OAAyBwH,IACxDimF,EAAAjmF,KACAimF,EAAAjmF,GAAAkmF,QAAA,GAMAH,EAAAG,QAAA,EAGA,IAAAF,EAAA,EAAuBA,EAAAH,EAAArtF,OAA4BwtF,IAAA,CACnDtmE,EAAAmmE,EAAAG,GAAA,IACAh+B,EAAAlgC,EAAAyZ,SAAA7hB,GAGAymE,GAFAF,EAAAP,EAAAzxB,EAAAnsC,EAAApI,GACAiiB,EAAAqmB,EAAA5yD,KACA,MAAAusC,GAWA,GATAwkD,IACAF,KAAA3sD,iBACA2sD,EAAAF,IAOAvH,GAAAmH,EAAA,CACA,IAAAS,EAAAV,EAAAnH,EAAAC,EAAA9+D,GAOA,GANAymE,IACAC,KAAA9sD,iBACA8sD,EAAAL,IAIAK,IAAAH,EAAA,CACA,GAAAE,EAEAxZ,EAAAI,uBAAA93E,KAAA,WAEA,UAAA0sC,GAAAskD,EACA,IAAAjmF,EAAA,EAAuCA,EAAAimF,EAAAztF,OAAyBwH,IAChE2sE,EAAAI,uBAAA93E,KAAA,MAGA,UAIA,SAAAgxF,EAGA,GAAAE,EACA,GAAAF,EAAAC,OAAA,GACA,IAAApZ,EAAAH,EAAAiZ,qBACA5e,EAAA2F,EAAA7kB,WAAAzwB,EAAA,KAAA3X,EAAAotD,GACA9F,IACA2F,EAAAI,uBAAA93E,KAAAgxF,GACAA,EAAAC,OAAApZ,QAKAH,EAAA7kB,WAAAzwB,EAAA,KAAA3X,EAAAumE,EAAAC,aAGA,GAAAzzE,MAAAxU,QAAAgoF,GAAA,CACA,OAAAA,EAAAztF,OACA,SAGA,UAAAmpC,EAAA,CACA,IAAAgrC,EAAAC,WAAAltD,GACA,SAGA,IAAAgT,EAAA,GACA,IAAA1yB,EAAA,EAAmCA,EAAAimF,EAAAztF,OAAyBwH,IAAA,CAC5D,IAAA6nB,EAAAo+D,EAAAjmF,GAEA,GAAA6nB,EAAAq+D,OAAA,GACApZ,EAAAH,EAAAiZ,qBACAlzD,EAAA9qB,KAAAklE,GACAH,EAAAI,uBAAA93E,KAAA4yB,GACAA,EAAAq+D,OAAApZ,OAGAp6C,EAAA9qB,KAAAigB,EAAAq+D,QAIAvZ,EAAA7kB,WAAAzwB,EAAA,MAAA3X,EAAAgT,QAGAi6C,EAAA7kB,WAAAzwB,EAAA2wB,EAAA5yD,KAAAsqB,EAAAumE,QAIAtZ,EAAA7kB,WAAAzwB,EAAA2wB,EAAA5yD,KAAAsqB,EAAAumE,GAGA,IAAAI,EAAA1Z,EAAAiZ,qBAGA,OADAjZ,EAAA2Z,iBAAAV,GACAS,GAGA1B,SAAA,SAAAn+B,EAAA5+B,EAAAsJ,EAAAy7C,GACA,IAAA4Z,GAAAr1D,EAAA8F,QACAK,EAAApiC,KAAA44B,GAEA24D,EAAAvxF,KAAA22B,QAAA,IAAA+gD,EAAA/gD,QACA66B,EAAAv1B,EAAAq1B,WAAAigC,GACA,IAAA//B,EAAA,CACA,IAAAR,EAAA/0B,EAAAu1D,gBAAAxxF,MACA,IAAAgxD,MAAAztD,OACA,OAQA,IANA,IAAA0tD,EAAAD,EAAA,GACAE,EAAAD,EAAAC,iBACAG,EAAAJ,EAAAI,cAEA04B,EAAA,GACAC,EAAA,GACAzhF,EAAA,EAA2BA,EAAA2oD,EAAA3tD,OAA6BgF,IAAA,CACxD,IAGAkiB,EAHAgnE,EAAAvgC,EAAA3oD,GACA+F,EAAAmjF,EAAAnjF,KACA+8B,EAAAomD,EAAApmD,SAEA,GAAAA,EAAA,CACA,IAAAkkD,EAAA58D,EAAA6W,mBAAA6B,GACA5gB,EAAA8kE,KAAA9kE,YAGAA,EAAAnc,EAEAmc,GAAAitD,EAAAt7C,WAAA3R,KACAs/D,EAAAp3E,KAAA8+E,GACAzH,EAAAr3E,KAAA8X,IAIA+mC,EAAA,IAAAs4B,EACAC,EACAC,EACA34B,GAGAigC,IACAr1D,EAAAq1B,WAAAigC,GAAA//B,GAIA,IAAAkgC,GAAA,EAIAngC,GAAA+/B,IAGA,MAAA9/B,MACAA,MAAAD,EAAAogC,uBAGAD,GAAA,EAEAngC,EAAAk9B,mBAAAj9B,QAGAu4B,EAAAv4B,EAAAu4B,oBACA14B,EAAAG,EAAAH,cAEA,GAAAqgC,EAAA,CACA,IAAAE,EAAAla,EAAAma,iBAAA7xF,KAAAwxD,EAAAw4B,0BAAAz4B,GAAA+/B,GAAA9/B,GAEA,IAAAjpD,EAAA,EAA2BA,EAAAwhF,EAAAxmF,OAAgCgF,IAAA,CAC3D,IAAAupF,EAAAF,EAAArpF,GACA,QAAAupF,EAAA,CAGAL,EAAA1H,EAAAxhF,GAAA,IACAiB,EAAAioF,EAAAjoF,OACAyR,EAAAw2E,EAAAx2E,KACAkrB,EAAAsjD,EAAAgI,EAAAtxF,OAAAiiC,EAAAyC,MAEAzC,EAAA2vD,WAAA3vD,EAAA4U,aAAAxtC,GACA44B,EAAA4vD,oBAAAF,EAAA72E,EAAAkrB,GAAA,QAGAlK,EAAAo0B,gBACAjuB,EAAA2vD,WAAA3vD,EAAA6U,qBAAAoa,EAAA7nD,QAIA,OAAAgoD,GAGAs6B,WAAA,SAAA3+E,EAAAowD,EAAAjL,GACA,IAAAlwB,EAAApiC,KAAA44B,GACAq5D,EAAAjyF,KAAAkyF,eAAA,IAAAngC,EAAA,MACAp/B,OAAA,IAAAi2D,EAAA,KAAAA,EAAA,KAAA3uD,OAAA,oBAAA2uD,EAAA,KAAA3uD,OAAA,yBAEAj6B,KAAAkyF,cAAAD,EAEA7vD,EAAAoxB,WAAA,YACApxB,EAAAmxB,WAAA,GAGAvzD,KAAA4zD,WAAAzmD,EAAAmlD,EAAA,CACA66B,SAAA,SAAAnuB,GACA,OAAAA,EAAA7iC,YAEA4wD,kBAAA,SAAA/tB,EAAAsqB,GACA,IAAA6I,EAAAnzB,EAAAnsC,SACAu/D,EAAA9I,EAAAz2D,SACA,OAAAs/D,EAAA1sF,IAAA,gBAAA2sF,EAAA3sF,IAAA,gBACA0sF,EAAA1sF,IAAA,sBAAA2sF,EAAA3sF,IAAA,oBAEAqtD,WAAA,SAAAkM,EAAAqzB,EAAA5nE,GACA,gBAAAA,EACA,OAAAu0C,EAAAnsC,SAAAptB,IAAA,cAEA,mBAAAglB,EAAA,CACA,GAAAu0C,EAAAnsC,SAAA4kC,UAAA,0BACAuH,EAAAnsC,SAAAptB,IAAA,cACA,CACA,IAAA6sF,EAAAtzB,EAAAnsC,SAAAptB,IAAA,eACA,OAAA6sF,GAAA,EAEA,SAGA,OAAAD,EAAA5sF,IAAAglB,IAGAwhE,YAAA,WACA,OAAAgG,GAEAh8D,KAAAj2B,KAAAmsF,oBAGA/pD,EAAAoxB,WAAA,YACApxB,EAAAmxB,WAAA,IAOAg/B,aAAA,SAAAh1B,GACAv9D,KAAAwyF,YAAAj1B,GAAA,MACAA,EAAAznD,WASA08E,YAAA,SAAAvlE,EAAAwlE,EAAAC,GAEAzlE,EAAAukD,aACAvkD,EAAAukD,YAAAhlE,OAAAygB,GAEA,IAAA0lE,EAAA,GACA1lE,EAAAkF,SAAA,SAAA9U,GACA,IAAAwV,EAAAxV,EAAAwV,SAIA,GAHAxV,EAAA4e,UAAAw2D,GACAp1E,EAAA4e,SAAAnmB,QAAA9V,MAEA0yF,GAAA7/D,IAAA8/D,EAAA9/D,EAAA8D,SAAA,CAEA,IADA,IAAAk6D,EAAAh+D,EAAAikC,qBACAi6B,EAAA,EAA+BA,EAAAF,EAAAttF,OAA4BwtF,IAAA,CAC3D,IAAA75B,EAAA25B,EAAAE,GACA9nF,EAAA4pB,EAAAyZ,SAAA4qB,GAAAjzD,MACAyoC,EAAA7Z,EAAAyZ,SAAA4qB,GAAA/2D,KACA,GAAA8I,EAGA,SAAAyjC,EACAzjC,EAAA6M,SAAA7M,EAAA6M,QAAA9V,WAEA,UAAA0sC,EACA,QAAAhsB,EAAA,EAAuCA,EAAAzX,EAAA1F,OAAgBmd,IACvDzX,EAAAyX,IACAzX,EAAAyX,GAAA5K,SAAA7M,EAAAyX,GAAA5K,QAAA9V,MAKA2yF,EAAA9/D,EAAA8D,UAAA,EAGAtZ,EAAAvH,SACAuH,EAAAvH,QAAA9V,OAESA,OAOTyyF,gBAAA,SAAAx2D,GACAA,EAAAnmB,QAAA9V,OAOA0yF,eAAA,SAAA9/D,GACAA,EAAA9c,QAAA9V,OAOA4yF,mBAAA,SAAA/9C,GACAA,EAAA/+B,QAAA9V,OAMA8V,QAAA,aAYA4oD,YAAA,SAAA18D,EAAAC,EAAAo9B,GACAA,IACAA,EAAA,IAAAqpD,EAAA,MAGAzmF,EAAAjC,KAAAukC,QAAAtiC,EAEA,IAAAywC,EAAA1yC,KAAA0yC,SACAjV,EAAA4B,EAAAjC,MAMA,OALAK,EAAA,IAAAz7B,EAAA0wC,EAAA1wC,GAAA0wC,EAAApwC,MACAm7B,EAAA,KAAAA,EAAA,KACAA,EAAA,IAAAx7B,EAAAywC,EAAAzwC,GAAAywC,EAAAnwC,OACAk7B,EAAA,KAAAA,EAAA,KAEA4B,KAWAhM,EAAA84D,kBAAA94D,EAAApzB,UAAAksF,kBAAA,SAAAnqF,EAAAC,GAEA,OAAAD,EAAA6wF,cAAA5wF,EAAA4wF,YACA7wF,EAAA8qF,YAAA7qF,EAAA6qF,UACA9qF,EAAA6wB,WAAA5wB,EAAA4wB,SACA7wB,EAAAi6B,SAAAtF,QAAA10B,EAAAg6B,SAAAtF,QAEA30B,EAAA6wB,SAAA8D,QAAA10B,EAAA4wB,SAAA8D,QAEA30B,EAAA8qF,WAAA7qF,EAAA6qF,UACA9qF,EAAA8qF,UAAAn2D,QAAA10B,EAAA6qF,UAAAn2D,QAEA,EAEA30B,EAAA6wF,YAAA5wF,EAAA4wF,aAUAx/D,EAAA+4D,uBAAA/4D,EAAApzB,UAAAmsF,uBAAA,SAAApqF,EAAAC,GAGA,OAAAD,EAAA6wF,cAAA5wF,EAAA4wF,YACA7wF,EAAA4uE,UAAA3uE,EAAA2uE,QACA5uE,EAAA8qF,YAAA7qF,EAAA6qF,UACA9qF,EAAA6wB,WAAA5wB,EAAA4wB,SACA7wB,EAAAi6B,SAAAtF,QAAA10B,EAAAg6B,SAAAtF,QAEA30B,EAAA6wB,SAAA8D,QAAA10B,EAAA4wB,SAAA8D,QAEA30B,EAAA8qF,WAAA7qF,EAAA6qF,UACA9qF,EAAA8qF,UAAAn2D,QAAA10B,EAAA6qF,UAAAn2D,QAEA,EAIA30B,EAAA4uE,QAAA3uE,EAAA2uE,QAEA5uE,EAAA6wF,YAAA5wF,EAAA4wF,aAIA,IAAApF,EAAA,CACA5Z,SAAAmV,IAEA0F,MAAA1F,IACA0E,KAAA1E,IACA2E,WAAA3E,IACAlV,UAAAkV,IACA6E,eAAA7E,IACA2F,oBAAA3F,IAEA4F,aAAA5F,IACA4E,YAAA5E,IACA8E,kBAAA9E,IACA8F,iBAAA9F,IACA+E,sBAAA/E,IACAgG,2BAAAhG,IAEA8J,eAAA9J,IACA+J,cAAA/J,IACAgK,oBAAAhK,IACAiK,mBAAAjK,IACAkK,wBAAAlK,IACAmK,6BAAAnK,IACA6F,sBAAA7F,IACAoK,qBAAApK,IACAqK,2BAAArK,IACA+F,0BAAA/F,IACAsK,+BAAAtK,IACAiG,oCAAAjG,KAOA31D,EAAA6hB,iBAAAszC,EAAA,KAAAtzC,iBAKA7hB,EAAA2hB,iBAAAwzC,EAAA,KAAAxzC,iBAKA3hB,EAAA4hB,mBAAAuzC,EAAA,KAAAvzC,mBAEA/mB,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,SAAA00F,EAAAC,EAAA9vE,GACA1jB,KAAAwzF,SACAxzF,KAAA0jB,UAMA,IAAA+vE,EAAA,CAKAr8E,QAAA,SAAA9I,GACA,GAAAtO,KAAAkL,eAAA,iBAGAlL,KAAA0zF,aAAAxoF,eAAAoD,GAAA,CAIA,IAAAqlF,EAAA3zF,KAAA0zF,aAAAplF,GACAtD,EAAA2oF,EAAApwF,OAAAwH,GAAA,EAAA0+C,EAAA9gD,UAEA,OAAA8gD,EAAAlmD,QACA,OACA,QAAAwH,EAAAC,EACA2oF,EAAA5oF,GAAAyoF,OAAAzzF,KAAA4zF,EAAA5oF,GAAA2Y,SAEA,OACA,OACA,QAAA3Y,EAAAC,EACA2oF,EAAA5oF,GAAAyoF,OAAAzzF,KAAA4zF,EAAA5oF,GAAA2Y,QAAA+lC,EAAA,IAEA,OACA,OACA,QAAA1+C,EAAAC,EACA2oF,EAAA5oF,GAAAyoF,OAAAzzF,KAAA4zF,EAAA5oF,GAAA2Y,QAAA+lC,EAAA,GAAAA,EAAA,IAEA,OACA,OACA,QAAA1+C,EAAAC,EACA2oF,EAAA5oF,GAAAyoF,OAAAzzF,KAAA4zF,EAAA5oF,GAAA2Y,QAAA+lC,EAAA,GAAAA,EAAA,GAAAA,EAAA,IAEA,OACA,OACA,QAAA1+C,EAAAC,EACA2oF,EAAA5oF,GAAAyoF,OAAAzzF,KAAA4zF,EAAA5oF,GAAA2Y,QAAA+lC,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IAEA,OACA,QACA,QAAA1+C,EAAAC,EACA2oF,EAAA5oF,GAAAyoF,OAAA9qF,MAAAirF,EAAA5oF,GAAA2Y,QAAAlG,MAAAvd,UAAAi/B,MAAAn/B,KAAA0pD,EAAA,IAEA,UAUA7zC,GAAA,SAAAtH,EAAAklF,EAAA9vE,GACA,GAAApV,GAAAklF,EAAA,CAGA,IAAAI,EAAA5zF,KAAA0zF,eAAA1zF,KAAA0zF,aAAA,IACA,GAAAE,EAAAtlF,IAIA,GAAAtO,KAAA6zF,IAAAvlF,EAAAklF,GACA,YAJAI,EAAAtlF,GAAA,GAOA,IAAAwlF,EAAA,IAAAP,EAAAC,EAAA9vE,GAAA1jB,MAGA,OAFA4zF,EAAAtlF,GAAAqE,KAAAmhF,GAEA9zF,OAUA+zF,KAAA,SAAAzlF,EAAAklF,EAAA9vE,GACA,GAAApV,GAAAklF,EAAA,CAGA,IAAA9rD,EAAA1nC,KAKA,OAAAA,KAAA4V,GAAAtH,EAAA0lF,EAAAtwE,GAJA,SAAAswE,IACAtsD,EAAA7xB,IAAAvH,EAAA0lF,GACAR,EAAA9qF,MAAA1I,KAAA2I,aAYAsrF,OAAA,SAAA3lF,EAAAklF,EAAA9vE,GACA,GAAApV,GAAAklF,EAIA,OADAllF,EAAA,SAAAA,EACAtO,KAAA4V,GAAAtH,EAAAklF,EAAA9vE,IAUAwwE,MAAA,SAAA5lF,EAAAklF,EAAA9vE,GACA,GAAApV,GAAAklF,EAIA,OADAllF,EAAA,QAAAA,EACAtO,KAAA4V,GAAAtH,EAAAklF,EAAA9vE,IASAywE,QAAA,SAAAX,EAAA9vE,GACA,OAAA1jB,KAAA+zF,KAAA,UAAAP,EAAA9vE,IASAyW,MAAA,SAAAq5D,EAAA9vE,GACA,OAAA1jB,KAAA+zF,KAAA,QAAAP,EAAA9vE,IASA7N,IAAA,SAAAvH,EAAAklF,GAEA,IAAAI,EAAA5zF,KAAA0zF,eAAA1zF,KAAA0zF,aAAA,IAEA,GAAAF,EAAA,CAIA,GAAAI,EAAAtlF,GAAA,CAGA,IAFA,IAAAqlF,EAAAC,EAAAtlF,GACA8lF,EAAA,GACArpF,EAAA,EAA2BA,EAAA4oF,EAAApwF,OAAiBwH,IAC5CyoF,GAAAG,EAAA5oF,GAAAyoF,YACAY,EAAAzhF,KAAAghF,EAAA5oF,IAGA6oF,EAAAtlF,GAAA8lF,EAGA,OAAAp0F,KAdA4zF,EAAAtlF,GAAA,IAuBAulF,IAAA,SAAAvlF,EAAAklF,GACA,IAAAI,EAAA5zF,KAAA0zF,aAEA,IAAAE,IACAA,EAAAtlF,GACA,SAGA,IADA,IAAAqlF,EAAAC,EAAAtlF,GACAvD,EAAA,EAAuBA,EAAA4oF,EAAApwF,OAAiBwH,IACxC,GAAA4oF,EAAA5oF,GAAAyoF,WACA,WAMAtlE,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAk1D,EAAAl1D,EAAA,GACA0vC,EAAA1vC,EAAA,IAIAw1F,EAAA,KAQAt/D,EAAA,SAAAu/D,EAAAC,GAIAv0F,KAAAs0F,UAAA,IAAAvgC,EAAA,KAIA/zD,KAAAu0F,aAAA,IAAAxgC,EAAA,MAGAh/B,EAAA90B,UAAA,CAEAC,YAAA60B,EASAy/D,eAAA,SAAAC,EAAAp1D,GACA,IAAAq1D,EAAAD,EAAA5nC,OAAAzvB,MACA5gB,EAAAi4E,EAAAjlF,SACAmlF,EAAA30F,KAAAs0F,OAAAl3D,MACAw3D,EAAA50F,KAAAu0F,UAAAn3D,MAEAy3D,EAAAtmD,EAAA,KAAAzQ,IAAA42D,EAAAE,GAEA,OAAAC,EACA,YAEAx1D,IACAA,EAAA,IAAA00B,EAAA,MAEA,IAAA33C,GAAAmyB,EAAA,KAAAzQ,IAAA42D,EAAAC,GAAAn4E,GAAAq4E,EAGA,OAFAtmD,EAAA,KAAAjwB,YAAA+gB,EAAAjC,MAAAu3D,EAAAC,GAAAx4E,GACAijB,EAAA/B,QAAA,EACA+B,GAOAy1D,mBAAA,SAAAL,GAEA,IAAAj4E,EAAA+xB,EAAA,KAAAzQ,IAAA22D,EAAA5nC,OAAAzvB,MAAAp9B,KAAAu0F,UAAAn3D,OACAmR,EAAA,KAAAjwB,YAAAte,KAAAu0F,UAAAn3D,MAAAp9B,KAAAu0F,UAAAn3D,MAAAq3D,EAAA5nC,OAAAzvB,MAAA,GAAA5gB,GACAxc,KAAAu0F,UAAAj3D,QAAA,GAGAy3D,gBAAA,WACA,IAAA53E,EAAAoxB,EAAA,KAAAO,SACA,gBAAA+6B,GACAt7B,EAAA,KAAAnwB,IAAAjB,EAAA0sD,EAAA7pE,KAAAs0F,OAAAl3D,OAEA,IAAA50B,EAAA+lC,EAAA,KAAAzQ,IAAA3gB,EAAAnd,KAAAu0F,UAAAn3D,OACA,GAAA50B,EAAA,EACA,OAAA+lC,EAAA,KAAA/+B,SAAAxP,KAAAs0F,OAAAl3D,MAAAysC,GAGA,IAAAmrB,EAAAzmD,EAAA,KAAA0mD,WAAA93E,GAEA,OAAAzW,KAAAk+C,KAAAowC,EAAAxsF,MAZA,GAuBA0sF,gBAAA,WACA,IAAA/3E,EAAAoxB,EAAA,KAAAO,SACA,gBAAA5yB,EAAAC,EAAAkjB,GACA,IAAAi1D,EAAAt0F,KAAAs0F,OAAAl3D,MACAm3D,EAAAv0F,KAAAu0F,UAAAn3D,MACAlhB,IAAAkhB,MACAmR,EAAA,KAAAnwB,IAAAjB,EAAAjB,EAAAo4E,GAEA,IAAA9rF,EAAA+lC,EAAA,KAAAzQ,IAAA3gB,EAAAo3E,GAEAS,EAAAzmD,EAAA,KAAAhQ,cAAAphB,GAEAg4E,EAAAH,EAAAxsF,IAEA4sF,EAAAj5E,IAEA,KAAAg5E,EAAAC,GAAA,CAIA,IAAA7sF,EAAA7B,KAAAk+C,KAAAwwC,EAAAD,GAEAE,EAAA7sF,EAAAD,EAEA0nD,EAAAznD,EAAAD,EAKA,OAHA82B,IACAA,EAAA,IAAA00B,EAAA,MAEAshC,EAAA,EACAplC,EAAA,EACA,MAGA1hB,EAAA,KAAAjwB,YAAA+gB,EAAAjC,MAAAk3D,EAAAC,EAAAtkC,GACA5wB,IAIAkP,EAAA,KAAAjwB,YAAA+gB,EAAAjC,MAAAk3D,EAAAC,EAAAc,GACAh2D,KAxCA,GAoDAg1B,qBAAA,SAAA50C,EAAA4f,GACA,IASAi2D,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EATAj8D,EAAA15B,KAAAu0F,UAAAn3D,MACAk3D,EAAAt0F,KAAAs0F,OAAAl3D,MACAl2B,EAAAuY,EAAAvY,IAAAk2B,MACAj2B,EAAAsY,EAAAtY,IAAAi2B,MAEAw4D,EAAA,EAAAl8D,EAAA,GACAm8D,EAAA,EAAAn8D,EAAA,GACAo8D,EAAA,EAAAp8D,EAAA,GAoBA,GAjBAk8D,GAAA,GACAN,GAAApuF,EAAA,GAAAotF,EAAA,IAAAsB,EACAL,GAAApuF,EAAA,GAAAmtF,EAAA,IAAAsB,IAGAL,GAAAruF,EAAA,GAAAotF,EAAA,IAAAsB,EACAN,GAAAnuF,EAAA,GAAAmtF,EAAA,IAAAsB,GAEAC,GAAA,GACAL,GAAAtuF,EAAA,GAAAotF,EAAA,IAAAuB,EACAJ,GAAAtuF,EAAA,GAAAmtF,EAAA,IAAAuB,IAGAJ,GAAAvuF,EAAA,GAAAotF,EAAA,IAAAuB,EACAL,GAAAruF,EAAA,GAAAmtF,EAAA,IAAAuB,GAGAP,EAAAG,GAAAD,EAAAD,EACA,YAmBA,IAhBAC,EAAAF,YACAA,EAAAE,IAEAC,EAAAF,YACAA,EAAAE,GAGAK,GAAA,GACAJ,GAAAxuF,EAAA,GAAAotF,EAAA,IAAAwB,EACAH,GAAAxuF,EAAA,GAAAmtF,EAAA,IAAAwB,IAGAH,GAAAzuF,EAAA,GAAAotF,EAAA,IAAAwB,EACAJ,GAAAvuF,EAAA,GAAAmtF,EAAA,IAAAwB,GAGAR,EAAAK,GAAAD,EAAAH,EACA,YASA,IANAG,EAAAJ,YACAA,EAAAI,IAEAC,EAAAJ,YACAA,EAAAI,GAEAJ,EAAA,EACA,YAGA,IAAAn5E,EAAAk5E,GAAA,EAAAA,EAAAC,EAMA,OAJAl2D,IACAA,EAAA,IAAA00B,EAAA,MAEAxlB,EAAA,KAAAjwB,YAAA+gB,EAAAjC,MAAAk3D,EAAA56D,EAAAtd,GACAijB,GAcA02D,kBAAA,WAEA,IAAAC,EAAAznD,EAAA,KAAAO,SACAmnD,EAAA1nD,EAAA,KAAAO,SACAonD,EAAA3nD,EAAA,KAAAO,SACAqnD,EAAA5nD,EAAA,KAAAO,SAEA,gBAAAvmC,EAAAC,EAAAC,EAAA2tF,EAAA/2D,EAAAg3D,GACA,IAAA38D,EAAA15B,KAAAu0F,UAAAn3D,MACAk3D,EAAAt0F,KAAAs0F,OAAAl3D,MACA70B,IAAA60B,MACA50B,IAAA40B,MACA30B,IAAA20B,MAEAmR,EAAA,KAAAnwB,IAAA43E,EAAAxtF,EAAAD,GACAgmC,EAAA,KAAAnwB,IAAA63E,EAAAxtF,EAAAF,GAEAgmC,EAAA,KAAA7Q,MAAAy4D,EAAAF,EAAAv8D,GAEA,IAAAyX,EAAA5C,EAAA,KAAAzQ,IAAAk4D,EAAAG,GAEA,GAAAC,GACA,GAAAjlD,GAAAkjD,EACA,iBAIA,GAAAljD,GAAAkjD,GAAAljD,EAAAkjD,EACA,YAIA9lD,EAAA,KAAAnwB,IAAA83E,EAAA5B,EAAA/rF,GACA,IAAAwoF,EAAAxiD,EAAA,KAAAzQ,IAAAq4D,EAAAD,GAAA/kD,EACA,GAAA4/C,EAAA,GAAAA,EAAA,EACA,YAGAxiD,EAAA,KAAA7Q,MAAAy4D,EAAAH,EAAAE,GACA,IAAA/4E,EAAAoxB,EAAA,KAAAzQ,IAAApE,EAAAy8D,GAAAhlD,EAEA,GAAAh0B,EAAA,GAAAA,EAAA,GAAA4zE,EAAA5zE,EAAA,EACA,YAGAoxB,EAAA,KAAA7Q,MAAAy4D,EAAAH,EAAAC,GACA,IAAA75E,GAAAmyB,EAAA,KAAAzQ,IAAAo4D,EAAAC,GAAAhlD,EAEA,OAAA/0B,EAAA,EACA,MAGAijB,IACAA,EAAA,IAAA00B,EAAA,MAEAsiC,GACAtiC,EAAA,KAAA3gC,IAAAijE,EAAA,EAAAtF,EAAA5zE,EAAA4zE,EAAA5zE,GAEAoxB,EAAA,KAAAjwB,YAAA+gB,EAAAjC,MAAAk3D,EAAA56D,EAAAtd,GAEAijB,IA5DA,GAoEAhmB,eAAA,SAAAu3C,GACAmD,EAAA,KAAAx2B,IAAAv9B,KAAAu0F,UAAAv0F,KAAAu0F,UAAAv0F,KAAAs0F,QACAvgC,EAAA,KAAAr1B,cAAA1+B,KAAAs0F,OAAAt0F,KAAAs0F,OAAA1jC,GACAmD,EAAA,KAAAr1B,cAAA1+B,KAAAu0F,UAAAv0F,KAAAu0F,UAAA3jC,GAEAmD,EAAA,KAAA31C,IAAApe,KAAAu0F,UAAAv0F,KAAAu0F,UAAAv0F,KAAAs0F,QACAvgC,EAAA,KAAA11C,UAAAre,KAAAu0F,UAAAv0F,KAAAu0F,YAOAn7E,KAAA,SAAAk9E,GACAviC,EAAA,KAAA36C,KAAApZ,KAAAs0F,OAAAgC,EAAAhC,QACAvgC,EAAA,KAAA36C,KAAApZ,KAAAu0F,UAAA+B,EAAA/B,YAOAh/E,MAAA,WACA,IAAA+gF,EAAA,IAAAvhE,EAEA,OADAuhE,EAAAl9E,KAAApZ,MACAs2F,IAIApoE,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA8lD,EAAA9lD,EAAA,IACA03F,EAAA13F,EAAA,IACA23F,EAAA33F,EAAA,IACA43F,EAAA53F,EAAA,IAoCA63F,EAAA,CAOA5nD,OAAA,WACA,IAAAzP,EAAA,IAAAslB,EAAA,QAKA,OAJAtlB,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,IAcAq3D,EAAAC,WAAA,WACA,IAAAC,EAAAL,EAAA,KAAAznD,SACA+nD,EAAAN,EAAA,KAAAl5D,WAAA,OACAy5D,EAAAP,EAAA,KAAAl5D,WAAA,OAEA,gBAAAgC,EAAA92B,EAAAC,GACA,IAAAs1B,EAAAy4D,EAAA,KAAAz4D,IAAAv1B,EAAAC,GACA,OAAAs1B,GAAA,SACAy4D,EAAA,KAAA74D,MAAAk5D,EAAAC,EAAAtuF,GACAguF,EAAA,KAAAhzF,OAAAqzF,GAAA,MACAL,EAAA,KAAA74D,MAAAk5D,EAAAE,EAAAvuF,GACAguF,EAAA,KAAAl4E,UAAAu4E,KACAF,EAAAK,aAAA13D,EAAAu3D,EAAAlwF,KAAAC,IACA04B,GACSvB,EAAA,SACTuB,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,IAEAk3D,EAAA,KAAA74D,MAAAk5D,EAAAruF,EAAAC,GACA62B,EAAA,GAAAu3D,EAAA,GACAv3D,EAAA,GAAAu3D,EAAA,GACAv3D,EAAA,GAAAu3D,EAAA,GACAv3D,EAAA,KAAAvB,EACA44D,EAAAr4E,UAAAghB,OA1BA,GAyCAq3D,EAAAM,QAAA,WACA,IAAAC,EAAAR,EAAA,KAAA3nD,SAEA,gBAAAzP,EAAA63D,EAAA3nD,EAAAS,GAaA,OAZAinD,EAAA,GAAA1nD,EAAA,GACA0nD,EAAA,GAAA1nD,EAAA,GACA0nD,EAAA,GAAA1nD,EAAA,GAEA0nD,EAAA,GAAAjnD,EAAA,GACAinD,EAAA,GAAAjnD,EAAA,GACAinD,EAAA,GAAAjnD,EAAA,GAEAinD,EAAA,IAAAC,EAAA,GACAD,EAAA,IAAAC,EAAA,GACAD,EAAA,IAAAC,EAAA,GAEAR,EAAAr4E,UAAAghB,EAAAq3D,EAAArlD,SAAAhS,EAAA43D,KAhBA,GA2BAP,EAAAnhF,MAAAihF,EAAA,KAAAjhF,MAYAmhF,EAAAr5D,WAAAm5D,EAAA,KAAAn5D,WAUAq5D,EAAAt9E,KAAAo9E,EAAA,KAAAp9E,KAaAs9E,EAAAtjE,IAAAojE,EAAA,KAAApjE,IAQAsjE,EAAA9mD,SAAA,SAAAvQ,GAKA,OAJAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,GAYAq3D,EAAAK,aAAA,SAAA13D,EAAAr6B,EAAAurC,GACAA,GAAA,GACA,IAAAtiB,EAAAvnB,KAAA0Y,IAAAmxB,GAKA,OAJAlR,EAAA,GAAApR,EAAAjpB,EAAA,GACAq6B,EAAA,GAAApR,EAAAjpB,EAAA,GACAq6B,EAAA,GAAApR,EAAAjpB,EAAA,GACAq6B,EAAA,GAAA34B,KAAAwY,IAAAqxB,GACAlR,GAYAq3D,EAAAn5D,IAAAi5D,EAAA,KAAAj5D,IAUAm5D,EAAAz4D,SAAA,SAAAoB,EAAA92B,EAAAC,GACA,IAAAs8C,EAAAv8C,EAAA,GAAAw8C,EAAAx8C,EAAA,GAAAy8C,EAAAz8C,EAAA,GAAAynE,EAAAznE,EAAA,GACA08C,EAAAz8C,EAAA,GAAA08C,EAAA18C,EAAA,GAAA28C,EAAA38C,EAAA,GAAA2uF,EAAA3uF,EAAA,GAMA,OAJA62B,EAAA,GAAAylB,EAAAqyC,EAAAnnB,EAAA/qB,EAAAF,EAAAI,EAAAH,EAAAE,EACA7lB,EAAA,GAAA0lB,EAAAoyC,EAAAnnB,EAAA9qB,EAAAF,EAAAC,EAAAH,EAAAK,EACA9lB,EAAA,GAAA2lB,EAAAmyC,EAAAnnB,EAAA7qB,EAAAL,EAAAI,EAAAH,EAAAE,EACA5lB,EAAA,GAAA2wC,EAAAmnB,EAAAryC,EAAAG,EAAAF,EAAAG,EAAAF,EAAAG,EACA9lB,GAOAq3D,EAAA14D,IAAA04D,EAAAz4D,SAWAy4D,EAAA3+E,MAAAy+E,EAAA,KAAAz+E,MAUA2+E,EAAAlmD,QAAA,SAAAnR,EAAA92B,EAAAgoC,GACAA,GAAA,GAEA,IAAAuU,EAAAv8C,EAAA,GAAAw8C,EAAAx8C,EAAA,GAAAy8C,EAAAz8C,EAAA,GAAAynE,EAAAznE,EAAA,GACA08C,EAAAv+C,KAAA0Y,IAAAmxB,GAAA4mD,EAAAzwF,KAAAwY,IAAAqxB,GAMA,OAJAlR,EAAA,GAAAylB,EAAAqyC,EAAAnnB,EAAA/qB,EACA5lB,EAAA,GAAA0lB,EAAAoyC,EAAAnyC,EAAAC,EACA5lB,EAAA,GAAA2lB,EAAAmyC,EAAApyC,EAAAE,EACA5lB,EAAA,GAAA2wC,EAAAmnB,EAAAryC,EAAAG,EACA5lB,GAWAq3D,EAAAjmD,QAAA,SAAApR,EAAA92B,EAAAgoC,GACAA,GAAA,GAEA,IAAAuU,EAAAv8C,EAAA,GAAAw8C,EAAAx8C,EAAA,GAAAy8C,EAAAz8C,EAAA,GAAAynE,EAAAznE,EAAA,GACA28C,EAAAx+C,KAAA0Y,IAAAmxB,GAAA4mD,EAAAzwF,KAAAwY,IAAAqxB,GAMA,OAJAlR,EAAA,GAAAylB,EAAAqyC,EAAAnyC,EAAAE,EACA7lB,EAAA,GAAA0lB,EAAAoyC,EAAAnnB,EAAA9qB,EACA7lB,EAAA,GAAA2lB,EAAAmyC,EAAAryC,EAAAI,EACA7lB,EAAA,GAAA2wC,EAAAmnB,EAAApyC,EAAAG,EACA7lB,GAWAq3D,EAAAhmD,QAAA,SAAArR,EAAA92B,EAAAgoC,GACAA,GAAA,GAEA,IAAAuU,EAAAv8C,EAAA,GAAAw8C,EAAAx8C,EAAA,GAAAy8C,EAAAz8C,EAAA,GAAAynE,EAAAznE,EAAA,GACA48C,EAAAz+C,KAAA0Y,IAAAmxB,GAAA4mD,EAAAzwF,KAAAwY,IAAAqxB,GAMA,OAJAlR,EAAA,GAAAylB,EAAAqyC,EAAApyC,EAAAI,EACA9lB,EAAA,GAAA0lB,EAAAoyC,EAAAryC,EAAAK,EACA9lB,EAAA,GAAA2lB,EAAAmyC,EAAAnnB,EAAA7qB,EACA9lB,EAAA,GAAA2wC,EAAAmnB,EAAAnyC,EAAAG,EACA9lB,GAYAq3D,EAAAU,WAAA,SAAA/3D,EAAA92B,GACA,IAAAvG,EAAAuG,EAAA,GAAAtG,EAAAsG,EAAA,GAAA40B,EAAA50B,EAAA,GAMA,OAJA82B,EAAA,GAAAr9B,EACAq9B,EAAA,GAAAp9B,EACAo9B,EAAA,GAAAlC,EACAkC,EAAA,GAAA34B,KAAAk+C,KAAAl+C,KAAAiR,IAAA,EAAA3V,IAAAC,IAAAk7B,MACAkC,GAWAq3D,EAAA54D,IAAA04D,EAAA,KAAA14D,IAYA44D,EAAA34D,KAAAy4D,EAAA,KAAAz4D,KAWA24D,EAAAW,MAAA,SAAAh4D,EAAA92B,EAAAC,EAAA4T,GAIA,IAGAk7E,EAAAC,EAAAC,EAAAC,EAAAC,EAHA5yC,EAAAv8C,EAAA,GAAAw8C,EAAAx8C,EAAA,GAAAy8C,EAAAz8C,EAAA,GAAAynE,EAAAznE,EAAA,GACA08C,EAAAz8C,EAAA,GAAA08C,EAAA18C,EAAA,GAAA28C,EAAA38C,EAAA,GAAA2uF,EAAA3uF,EAAA,GAiCA,OA5BA+uF,EAAAzyC,EAAAG,EAAAF,EAAAG,EAAAF,EAAAG,EAAA6qB,EAAAmnB,EAEAI,EAAA,IACAA,KACAtyC,KACAC,KACAC,KACAgyC,MAGA,EAAAI,EAAA,MAEAD,EAAA5wF,KAAA2/C,KAAAkxC,GACAC,EAAA9wF,KAAA0Y,IAAAk4E,GACAG,EAAA/wF,KAAA0Y,KAAA,EAAAhD,GAAAk7E,GAAAE,EACAE,EAAAhxF,KAAA0Y,IAAAhD,EAAAk7E,GAAAE,IAIAC,EAAA,EAAAr7E,EACAs7E,EAAAt7E,GAGAijB,EAAA,GAAAo4D,EAAA3yC,EAAA4yC,EAAAzyC,EACA5lB,EAAA,GAAAo4D,EAAA1yC,EAAA2yC,EAAAxyC,EACA7lB,EAAA,GAAAo4D,EAAAzyC,EAAA0yC,EAAAvyC,EACA9lB,EAAA,GAAAo4D,EAAAznB,EAAA0nB,EAAAP,EAEA93D,GAUAq3D,EAAA7mD,OAAA,SAAAxQ,EAAA92B,GACA,IAAAovF,EAAApvF,EAAA,GAAAqvF,EAAArvF,EAAA,GAAAsvF,EAAAtvF,EAAA,GAAAuvF,EAAAvvF,EAAA,GACAu1B,EAAA65D,IAAAC,IAAAC,IAAAC,IACAC,EAAAj6D,EAAA,EAAAA,EAAA,EAQA,OAJAuB,EAAA,IAAAs4D,EAAAI,EACA14D,EAAA,IAAAu4D,EAAAG,EACA14D,EAAA,IAAAw4D,EAAAE,EACA14D,EAAA,GAAAy4D,EAAAC,EACA14D,GAWAq3D,EAAAsB,UAAA,SAAA34D,EAAA92B,GAKA,OAJA82B,EAAA,IAAA92B,EAAA,GACA82B,EAAA,IAAA92B,EAAA,GACA82B,EAAA,IAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,GAUAq3D,EAAAnzF,OAAAizF,EAAA,KAAAjzF,OAMAmzF,EAAAjqF,IAAAiqF,EAAAnzF,OASAmzF,EAAAn4D,cAAAi4D,EAAA,KAAAj4D,cAMAm4D,EAAAp4D,OAAAo4D,EAAAn4D,cAUAm4D,EAAAr4E,UAAAm4E,EAAA,KAAAn4E,UAaAq4E,EAAArlD,SAAA,SAAAhS,EAAA9R,GAGA,IACA0qE,EADAC,EAAA3qE,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAGA,GAAA2qE,EAAA,EAEAD,EAAAvxF,KAAAk+C,KAAAszC,EAAA,GACA74D,EAAA,MAAA44D,EACAA,EAAA,GAAAA,EACA54D,EAAA,IAAA9R,EAAA,GAAAA,EAAA,IAAA0qE,EACA54D,EAAA,IAAA9R,EAAA,GAAAA,EAAA,IAAA0qE,EACA54D,EAAA,IAAA9R,EAAA,GAAAA,EAAA,IAAA0qE,MACK,CAEL,IAAAltF,EAAA,EACAwiB,EAAA,GAAAA,EAAA,KACAxiB,EAAA,GACAwiB,EAAA,GAAAA,EAAA,EAAAxiB,OACAA,EAAA,GACA,IAAA2F,GAAA3F,EAAA,KACA2V,GAAA3V,EAAA,KAEAktF,EAAAvxF,KAAAk+C,KAAAr3B,EAAA,EAAAxiB,KAAAwiB,EAAA,EAAA7c,KAAA6c,EAAA,EAAA7M,KAAA,GACA2e,EAAAt0B,GAAA,GAAAktF,EACAA,EAAA,GAAAA,EACA54D,EAAA,IAAA9R,EAAA,EAAA7c,EAAAgQ,GAAA6M,EAAA,EAAA7M,EAAAhQ,IAAAunF,EACA54D,EAAA3uB,IAAA6c,EAAA,EAAA7c,EAAA3F,GAAAwiB,EAAA,EAAAxiB,EAAA2F,IAAAunF,EACA54D,EAAA3e,IAAA6M,EAAA,EAAA7M,EAAA3V,GAAAwiB,EAAA,EAAAxiB,EAAA2V,IAAAu3E,EAGA,OAAA54D,GAGAnR,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAs5F,EAAAt5F,EAAA,IACAu5F,EAAAv5F,EAAA,IAYA41B,EAAA,SAAAzyB,EAAAC,EAAAk7B,EAAA96B,GAEAL,KAAA,EACAC,KAAA,EACAk7B,KAAA,EACA96B,OAAAiG,IAAAjG,EAAA,EAAAA,EASArC,KAAAo9B,MAAA+6D,EAAA,KAAA96D,WAAAr7B,EAAAC,EAAAk7B,EAAA96B,GASArC,KAAAs9B,QAAA,GAGA7I,EAAAx0B,UAAA,CAEAC,YAAAu0B,EAOA8I,IAAA,SAAA/0B,GAGA,OAFA2vF,EAAA,KAAA56D,IAAAv9B,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAOAo3F,WAAA,WAGA,OAFAe,EAAA,KAAAf,WAAAp3F,KAAAo9B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAWAozB,IAAA,SAAApxB,EAAAC,EAAAk7B,EAAA96B,GAMA,OALArC,KAAAo9B,MAAA,GAAAp7B,EACAhC,KAAAo9B,MAAA,GAAAn7B,EACAjC,KAAAo9B,MAAA,GAAAD,EACAn9B,KAAAo9B,MAAA,GAAA/6B,EACArC,KAAAs9B,QAAA,EACAt9B,MAQAw9B,SAAA,SAAAC,GAOA,OANAz9B,KAAAo9B,MAAA,GAAAK,EAAA,GACAz9B,KAAAo9B,MAAA,GAAAK,EAAA,GACAz9B,KAAAo9B,MAAA,GAAAK,EAAA,GACAz9B,KAAAo9B,MAAA,GAAAK,EAAA,GAEAz9B,KAAAs9B,QAAA,EACAt9B,MAOAuV,MAAA,WACA,WAAAkf,EAAAz0B,KAAAgC,EAAAhC,KAAAiC,EAAAjC,KAAAm9B,EAAAn9B,KAAAqC,IASA21F,UAAA,WAGA,OAFAG,EAAA,KAAAH,UAAAh4F,KAAAo9B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAoZ,KAAA,SAAA5Q,GAGA,OAFA2vF,EAAA,KAAA/+E,KAAApZ,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQA89B,IAAA,SAAAt1B,GACA,OAAA2vF,EAAA,KAAAr6D,IAAA99B,KAAAo9B,MAAA50B,EAAA40B,QAQAiU,SAAA,SAAA9jB,GAGA,OAFA4qE,EAAA,KAAA9mD,SAAArxC,KAAAo9B,MAAA7P,EAAA6P,OACAp9B,KAAAs9B,QAAA,EACAt9B,MASAoxC,SAAA,WACA,IAAAN,EAAAsnD,EAAA,KAAAtpD,SACA,gBAAAvhB,GAMA,OALA6qE,EAAA,KAAAhnD,SAAAN,EAAAvjB,EAAA6P,OAEAg7D,EAAA,KAAAxnD,UAAAE,KACAqnD,EAAA,KAAA9mD,SAAArxC,KAAAo9B,MAAA0T,GACA9wC,KAAAs9B,QAAA,EACAt9B,MARA,GAgBA4vC,SAAA,WAGA,OAFAuoD,EAAA,KAAAvoD,SAAA5vC,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAMA6vC,OAAA,WAGA,OAFAsoD,EAAA,KAAAtoD,OAAA7vC,KAAAo9B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAMAyM,IAAA,WACA,OAAA0rF,EAAA,KAAA1rF,IAAAzM,KAAAo9B,QAOA75B,OAAA,WACA,OAAA40F,EAAA,KAAA50F,OAAAvD,KAAAo9B,QAUAW,KAAA,SAAAx1B,EAAAC,EAAA4T,GAGA,OAFA+7E,EAAA,KAAAp6D,KAAA/9B,KAAAo9B,MAAA70B,EAAA60B,MAAA50B,EAAA40B,MAAAhhB,GACApc,KAAAs9B,QAAA,EACAt9B,MAQAg+B,IAAA,SAAAx1B,GAGA,OAFA2vF,EAAA,KAAAn6D,IAAAh+B,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAiwC,QAAA,SAAA1nC,GAGA,OAFA4vF,EAAA,KAAAl6D,SAAAj+B,KAAAo9B,MAAA70B,EAAA60B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAi+B,SAAA,SAAAz1B,GAGA,OAFA2vF,EAAA,KAAAl6D,SAAAj+B,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MASAkwC,aAAA,SAAA3nC,GAGA,OAFA4vF,EAAA,KAAAl6D,SAAAj+B,KAAAo9B,MAAA70B,EAAA60B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAOAqe,UAAA,WAGA,OAFA85E,EAAA,KAAA95E,UAAAre,KAAAo9B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAwwC,QAAA,SAAAD,GAGA,OAFA4nD,EAAA,KAAA3nD,QAAAxwC,KAAAo9B,MAAAp9B,KAAAo9B,MAAAmT,GACAvwC,KAAAs9B,QAAA,EACAt9B,MAQAywC,QAAA,SAAAF,GAGA,OAFA4nD,EAAA,KAAA1nD,QAAAzwC,KAAAo9B,MAAAp9B,KAAAo9B,MAAAmT,GACAvwC,KAAAs9B,QAAA,EACAt9B,MAQA0wC,QAAA,SAAAH,GAGA,OAFA4nD,EAAA,KAAAznD,QAAA1wC,KAAAo9B,MAAAp9B,KAAAo9B,MAAAmT,GACAvwC,KAAAs9B,QAAA,EACAt9B,MAUA22F,WAAA,SAAApuF,EAAAC,GAGA,OAFA2vF,EAAA,KAAAxB,WAAA32F,KAAAo9B,MAAA70B,EAAA60B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MASAg3F,QAAA,SAAAE,EAAA3nD,EAAAS,GAGA,OAFAmoD,EAAA,KAAAnB,QAAAh3F,KAAAo9B,MAAA85D,EAAA95D,MAAAmS,EAAAnS,MAAA4S,EAAA5S,OACAp9B,KAAAs9B,QAAA,EACAt9B,MASA+2F,aAAA,SAAA/xF,EAAAurC,GAGA,OAFA4nD,EAAA,KAAApB,aAAA/2F,KAAAo9B,MAAAp4B,EAAAo4B,MAAAmT,GACAvwC,KAAAs9B,QAAA,EACAt9B,MASAq3F,MAAA,SAAA9uF,EAAAC,EAAA4T,GAGA,OAFA+7E,EAAA,KAAAd,MAAAr3F,KAAAo9B,MAAA70B,EAAA60B,MAAA50B,EAAA40B,MAAAhhB,GACApc,KAAAs9B,QAAA,EACAt9B,MAOAs+B,OAAA,WACA,OAAA65D,EAAA,KAAA75D,OAAAt+B,KAAAo9B,QAOAmB,cAAA,WACA,OAAA45D,EAAA,KAAA55D,cAAAv+B,KAAAo9B,QAQAi7D,UAAA,SAAAl7E,EAAA4hB,GACA,OAAAtK,EAAA4jE,UAAAr4F,KAAAmd,EAAA4hB,IAGAj2B,SAAA,WACA,UAAA0U,MAAAvd,UAAA+P,KAAAjQ,KAAAC,KAAAo9B,MAAA,UAGA6B,QAAA,WACA,OAAAzhB,MAAAvd,UAAAi/B,MAAAn/B,KAAAC,KAAAo9B,SAIA,IAAA1P,EAAA3kB,OAAA2kB,eAEA,GAAAA,EAAA,CAEA,IAAAyR,EAAA1K,EAAAx0B,UAOAytB,EAAAyR,EAAA,KACA15B,IAAA,WACA,OAAAzF,KAAAo9B,MAAA,IAEAhK,IAAA,SAAAnvB,GACAjE,KAAAo9B,MAAA,GAAAn5B,EACAjE,KAAAs9B,QAAA,KAUA5P,EAAAyR,EAAA,KACA15B,IAAA,WACA,OAAAzF,KAAAo9B,MAAA,IAEAhK,IAAA,SAAAnvB,GACAjE,KAAAo9B,MAAA,GAAAn5B,EACAjE,KAAAs9B,QAAA,KAUA5P,EAAAyR,EAAA,KACA15B,IAAA,WACA,OAAAzF,KAAAo9B,MAAA,IAEAhK,IAAA,SAAAnvB,GACAjE,KAAAo9B,MAAA,GAAAn5B,EACAjE,KAAAs9B,QAAA,KAUA5P,EAAAyR,EAAA,KACA15B,IAAA,WACA,OAAAzF,KAAAo9B,MAAA,IAEAhK,IAAA,SAAAnvB,GACAjE,KAAAo9B,MAAA,GAAAn5B,EACAjE,KAAAs9B,QAAA,KAaA7I,EAAA8I,IAAA,SAAA8B,EAAA92B,EAAAC,GAGA,OAFA2vF,EAAA,KAAA56D,IAAA8B,EAAAjC,MAAA70B,EAAA60B,MAAA50B,EAAA40B,OACAiC,EAAA/B,QAAA,EACA+B,GAWA5K,EAAArB,IAAA,SAAAiM,EAAAr9B,EAAAC,EAAAk7B,EAAA96B,GACA81F,EAAA,KAAA/kE,IAAAiM,EAAAjC,MAAAp7B,EAAAC,EAAAk7B,EAAA96B,GACAg9B,EAAA/B,QAAA,GAQA7I,EAAArb,KAAA,SAAAimB,EAAA72B,GAGA,OAFA2vF,EAAA,KAAA/+E,KAAAimB,EAAAjC,MAAA50B,EAAA40B,OACAiC,EAAA/B,QAAA,EACA+B,GAQA5K,EAAA2iE,WAAA,SAAA/3D,EAAA92B,GAGA,OAFA4vF,EAAA,KAAAf,WAAA/3D,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GAQA5K,EAAAujE,UAAA,SAAA34D,EAAA92B,GAGA,OAFA4vF,EAAA,KAAAH,UAAA34D,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GAOA5K,EAAAmb,SAAA,SAAAvQ,GAGA,OAFA84D,EAAA,KAAAvoD,SAAAvQ,EAAAjC,OACAiC,EAAA/B,QAAA,EACA+B,GAQA5K,EAAAob,OAAA,SAAAxQ,EAAA92B,GAGA,OAFA4vF,EAAA,KAAAtoD,OAAAxQ,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GAQA5K,EAAAqJ,IAAA,SAAAv1B,EAAAC,GACA,OAAA2vF,EAAA,KAAAr6D,IAAAv1B,EAAA60B,MAAA50B,EAAA40B,QAOA3I,EAAAhoB,IAAA,SAAAlE,GACA,OAAA4vF,EAAA,KAAA50F,OAAAgF,EAAA60B,QAYA3I,EAAAsJ,KAAA,SAAAsB,EAAA92B,EAAAC,EAAA4T,GAGA,OAFA+7E,EAAA,KAAAp6D,KAAAsB,EAAAjC,MAAA70B,EAAA60B,MAAA50B,EAAA40B,MAAAhhB,GACAijB,EAAA/B,QAAA,EACA+B,GAUA5K,EAAA4iE,MAAA,SAAAh4D,EAAA92B,EAAAC,EAAA4T,GAGA,OAFA+7E,EAAA,KAAAd,MAAAh4D,EAAAjC,MAAA70B,EAAA60B,MAAA50B,EAAA40B,MAAAhhB,GACAijB,EAAA/B,QAAA,EACA+B,GASA5K,EAAAuJ,IAAA,SAAAqB,EAAA92B,EAAAC,GAGA,OAFA2vF,EAAA,KAAAl6D,SAAAoB,EAAAjC,MAAA70B,EAAA60B,MAAA50B,EAAA40B,OACAiC,EAAA/B,QAAA,EACA+B,GAUA5K,EAAAwJ,SAAAxJ,EAAAuJ,IAQAvJ,EAAA+b,QAAA,SAAAnR,EAAA92B,EAAAgoC,GAGA,OAFA4nD,EAAA,KAAA3nD,QAAAnR,EAAAjC,MAAA70B,EAAA60B,MAAAmT,GACAlR,EAAA/B,QAAA,EACA+B,GASA5K,EAAAgc,QAAA,SAAApR,EAAA92B,EAAAgoC,GAGA,OAFA4nD,EAAA,KAAA1nD,QAAApR,EAAAjC,MAAA70B,EAAA60B,MAAAmT,GACAlR,EAAA/B,QAAA,EACA+B,GASA5K,EAAAic,QAAA,SAAArR,EAAA92B,EAAAgoC,GAGA,OAFA4nD,EAAA,KAAAznD,QAAArR,EAAAjC,MAAA70B,EAAA60B,MAAAmT,GACAlR,EAAA/B,QAAA,EACA+B,GASA5K,EAAAsiE,aAAA,SAAA13D,EAAAr6B,EAAAurC,GAGA,OAFA4nD,EAAA,KAAApB,aAAA13D,EAAAjC,MAAAp4B,EAAAo4B,MAAAmT,GACAlR,EAAA/B,QAAA,EACA+B,GAQA5K,EAAApW,UAAA,SAAAghB,EAAA92B,GAGA,OAFA4vF,EAAA,KAAA95E,UAAAghB,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GAOA5K,EAAA6J,OAAA,SAAA/1B,GACA,OAAA4vF,EAAA,KAAA75D,OAAA/1B,EAAA60B,QAQA3I,EAAA8J,cAAA9J,EAAA6J,OAOA7J,EAAA4c,SAAA,SAAAhS,EAAA9R,GAGA,OAFA4qE,EAAA,KAAA9mD,SAAAhS,EAAAjC,MAAA7P,EAAA6P,OACAiC,EAAA/B,QAAA,EACA+B,GAUA5K,EAAAuiE,QAAA,SAAA33D,EAAA63D,EAAA3nD,EAAAS,GAGA,OAFAmoD,EAAA,KAAAnB,QAAA33D,EAAAjC,MAAA85D,EAAA95D,MAAAmS,EAAAnS,MAAA4S,EAAA5S,OACAiC,EAAA/B,QAAA,EACA+B,GASA5K,EAAAkiE,WAAA,SAAAt3D,EAAA92B,EAAAC,GAGA,OAFA2vF,EAAA,KAAAxB,WAAAt3D,EAAAjC,MAAA70B,EAAA60B,MAAA50B,EAAA40B,OACAiC,EAAA/B,QAAA,EACA+B,GASA5K,EAAA4jE,UAAA,SAAAh5D,EAAAliB,EAAA4hB,GAEAM,EAAA/B,QAAA,EAEAngB,IAAAigB,MACA,IAAA/mB,EAAAgpB,EAAAjC,MACAk7D,EAAA5xF,KAAAwY,IAAA/B,EAAA,MACA63E,EAAAtuF,KAAAwY,IAAA/B,EAAA,MACAo7E,EAAA7xF,KAAAwY,IAAA/B,EAAA,MACA4yC,EAAArpD,KAAA0Y,IAAAjC,EAAA,MACA6yC,EAAAtpD,KAAA0Y,IAAAjC,EAAA,MACAq7E,EAAA9xF,KAAA0Y,IAAAjC,EAAA,MAEA4hB,MAAA,OAAAa,cAMA,OAAAb,GACA,UACA1oB,EAAA,GAAA05C,EAAAilC,EAAAuD,EAAAD,EAAAtoC,EAAAwoC,EACAniF,EAAA,GAAAiiF,EAAAtoC,EAAAuoC,EAAAxoC,EAAAilC,EAAAwD,EACAniF,EAAA,GAAAiiF,EAAAtD,EAAAwD,EAAAzoC,EAAAC,EAAAuoC,EACAliF,EAAA,GAAAiiF,EAAAtD,EAAAuD,EAAAxoC,EAAAC,EAAAwoC,EACA,MACA,UACAniF,EAAA,GAAA05C,EAAAilC,EAAAuD,EAAAD,EAAAtoC,EAAAwoC,EACAniF,EAAA,GAAAiiF,EAAAtoC,EAAAuoC,EAAAxoC,EAAAilC,EAAAwD,EACAniF,EAAA,GAAAiiF,EAAAtD,EAAAwD,EAAAzoC,EAAAC,EAAAuoC,EACAliF,EAAA,GAAAiiF,EAAAtD,EAAAuD,EAAAxoC,EAAAC,EAAAwoC,EACA,MACA,UACAniF,EAAA,GAAA05C,EAAAilC,EAAAuD,EAAAD,EAAAtoC,EAAAwoC,EACAniF,EAAA,GAAAiiF,EAAAtoC,EAAAuoC,EAAAxoC,EAAAilC,EAAAwD,EACAniF,EAAA,GAAAiiF,EAAAtD,EAAAwD,EAAAzoC,EAAAC,EAAAuoC,EACAliF,EAAA,GAAAiiF,EAAAtD,EAAAuD,EAAAxoC,EAAAC,EAAAwoC,EACA,MACA,UACAniF,EAAA,GAAA05C,EAAAilC,EAAAuD,EAAAD,EAAAtoC,EAAAwoC,EACAniF,EAAA,GAAAiiF,EAAAtoC,EAAAuoC,EAAAxoC,EAAAilC,EAAAwD,EACAniF,EAAA,GAAAiiF,EAAAtD,EAAAwD,EAAAzoC,EAAAC,EAAAuoC,EACAliF,EAAA,GAAAiiF,EAAAtD,EAAAuD,EAAAxoC,EAAAC,EAAAwoC,EACA,MACA,UACAniF,EAAA,GAAA05C,EAAAilC,EAAAuD,EAAAD,EAAAtoC,EAAAwoC,EACAniF,EAAA,GAAAiiF,EAAAtoC,EAAAuoC,EAAAxoC,EAAAilC,EAAAwD,EACAniF,EAAA,GAAAiiF,EAAAtD,EAAAwD,EAAAzoC,EAAAC,EAAAuoC,EACAliF,EAAA,GAAAiiF,EAAAtD,EAAAuD,EAAAxoC,EAAAC,EAAAwoC,EACA,MACA,UACAniF,EAAA,GAAA05C,EAAAilC,EAAAuD,EAAAD,EAAAtoC,EAAAwoC,EACAniF,EAAA,GAAAiiF,EAAAtoC,EAAAuoC,EAAAxoC,EAAAilC,EAAAwD,EACAniF,EAAA,GAAAiiF,EAAAtD,EAAAwD,EAAAzoC,EAAAC,EAAAuoC,EACAliF,EAAA,GAAAiiF,EAAAtD,EAAAuD,EAAAxoC,EAAAC,EAAAwoC,EACA,QAIAtqE,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA45F,EAAA,SAEAC,EAAA,WAEA14F,KAAA24F,WAAA,EAEA34F,KAAA44F,QAAA,GAEA54F,KAAA64F,SAAA,IAGAH,EAAAz4F,UAAA,CAEAqiC,IAAA,SAAAw2D,EAAAC,GACA,IAAAC,EAAAh5F,KAAA44F,QACAI,EAAAF,KACAE,EAAAF,GAAA,GAEAC,IACAC,EAAAF,GAAAC,MAGA/4F,KAAA24F,WAAAG,EAEA94F,KAAA64F,SAAAG,EAAAF,IAGA5rF,IAAA,SAAAjC,EAAAhH,GACAjE,KAAA64F,SAAA5tF,GAAAhH,GAGAwB,IAAA,SAAAwF,GACA,OAAAjL,KAAA64F,SAAA5tF,IAGA0Z,MAAA,SAAAs0E,GACAA,KAAA,GACA,IAAAhuF,EAAAwtF,EAAAQ,EACAj5F,KAAAkN,IAAAjC,GAAA,IAGA23B,SAAA,SAAAq2D,GACAA,KAAA,GAGA,IAFA,IAAAhuF,EAAAwtF,EAAAQ,EACAD,EAAAh5F,KAAA44F,QACA7tF,EAAA,EAAuBA,EAAAiuF,EAAAz1F,OAAmBwH,IAC1CiuF,EAAAjuF,KACAiuF,EAAAjuF,GAAAE,IAAA,IAKAy3B,MAAA,SAAAu2D,GACAA,KAAA,GACA,IAAAhuF,EAAAwtF,EAAAQ,EACAj5F,KAAAkN,IAAAjC,GAAA,IAGAiuF,SAAA,SAAAD,GACAA,KAAA,GAGA,IAFA,IAAAhuF,EAAAwtF,EAAAQ,EACAD,EAAAh5F,KAAA44F,QACA7tF,EAAA,EAAuBA,EAAAiuF,EAAAz1F,OAAmBwH,IAC1CiuF,EAAAjuF,KACAiuF,EAAAjuF,GAAAE,IAAA,IAKAw3B,QAAA,SAAAw2D,GACAA,KAAA,GACA,IAAAhuF,EAAAwtF,EAAAQ,EACAv1E,EAAA1jB,KAAA64F,SACA,OAAAn1E,EAAAxY,eAAAD,KACA,IAAAyY,EAAAzY,IAGAm5B,cAAA,SAAA00D,UACA94F,KAAA44F,QAAAE,GACA94F,KAAA64F,SAAA,IAGAM,OAAA,SAAAluF,UACAjL,KAAA64F,SAAA5tF,IAGAmuF,SAAA,WACAp5F,KAAA44F,QAAA,IAGAhrF,WAAA,WACA,OAAA5N,KAAA64F,UAGAQ,YAAA,SAAAtjE,EAAArS,GACA,IAAAsS,EAAAjtB,OAAAitB,KAAAh2B,KAAA44F,SACA5iE,EAAAnrB,QAAA,SAAAI,GACA8qB,KAAAh2B,KAAA2jB,EAAAzY,MAIAs3B,KAAA,SAAAt3B,GACA,OAAAjL,KAAA64F,SAAA3tF,eAAAD,KAIAytF,EAAAz4F,UAAAC,YAAAw4F,EAEAxqE,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAumE,EAAAvmE,EAAA,IACAy6F,EAAAz6F,EAAA,GACA06F,EAAA16F,EAAA,IACA26F,EAAA36F,EAAA,IACA46F,EAAA56F,EAAA,IACA66F,EAAA76F,EAAA,IAcA86F,EAAAv0B,EAAA,KAAA1gE,OAAA,WACA,OAKAmyE,iBAAA,IAAAyiB,EAAA,KAMAM,oBAAA,IAAAN,EAAA,KAMA/iB,WAAA,IAAA+iB,EAAA,KAMAjqD,QAAA,IAAAkqD,EAAA,OAEC,WACDv5F,KAAAusB,QAAA,IAGA,CAEAA,OAAA,SAAAstE,GACAz0B,EAAA,KAAAnlE,UAAAssB,OAAAxsB,KAAAC,KAAA65F,GACAP,EAAA,KAAAzpD,OAAA7vC,KAAAu2E,WAAAv2E,KAAAghE,gBAEAhhE,KAAAm4E,yBACAmhB,EAAA,KAAAzpD,OAAA7vC,KAAA45F,oBAAA55F,KAAA62E,kBAEA72E,KAAAqvC,QAAAyqD,kBAAA95F,KAAA62E,mBAMAkjB,cAAA,SAAAxjB,GACA+iB,EAAA,KAAAlgF,KAAApZ,KAAAu2E,cACA+iB,EAAA,KAAAzpD,OAAA7vC,KAAAghE,eAAAuV,GACAv2E,KAAA0yE,2BAMA0F,0BAAA,aAMA4hB,oBAAA,SAAAnjB,GACAyiB,EAAA,KAAAlgF,KAAApZ,KAAA62E,oBACAyiB,EAAA,KAAAzpD,OAAA7vC,KAAA45F,oBAAA/iB,GACA72E,KAAAo4E,6BAKAD,uBAAA,aASA3Z,QAAA,WACA,IAAAy7B,EAAAR,EAAA,KAAA3qD,SACA,gBAAAyvB,EAAAl/B,GACA,IAAAi3D,OAAAhuF,IAAA+2B,IAAA,IAAAm6D,EAAA,KACAx3F,EAAAu8D,EAAAnhC,MAAA,GACAn7B,EAAAs8D,EAAAnhC,MAAA,GAgBA,OAfAq8D,EAAA,KAAArmE,IAAA6mE,EAAAj4F,EAAAC,GAAA,KACAw3F,EAAA,KAAA/6D,cAAAu7D,IAAAj6F,KAAA45F,oBAAAx8D,OACAq8D,EAAA,KAAA/6D,cAAAu7D,IAAAj6F,KAAAghE,eAAA5jC,OACAs8D,EAAA,KAAA3hF,MAAAu+E,EAAAhC,OAAAl3D,MAAA68D,EAAA,EAAAA,EAAA,IAEAR,EAAA,KAAArmE,IAAA6mE,EAAAj4F,EAAAC,EAAA,KACAw3F,EAAA,KAAA/6D,cAAAu7D,IAAAj6F,KAAA45F,oBAAAx8D,OACAq8D,EAAA,KAAA/6D,cAAAu7D,IAAAj6F,KAAAghE,eAAA5jC,OACAs8D,EAAA,KAAA3hF,MAAAkiF,IAAA,EAAAA,EAAA,IACAP,EAAA,KAAAt7E,IAAAk4E,EAAA/B,UAAAn3D,MAAA68D,EAAA3D,EAAAhC,OAAAl3D,OAEAs8D,EAAA,KAAAr7E,UAAAi4E,EAAA/B,UAAAn3D,MAAAk5D,EAAA/B,UAAAn3D,OACAk5D,EAAA/B,UAAAj3D,QAAA,EACAg5D,EAAAhC,OAAAh3D,QAAA,EAEAg5D,GArBA,KAiCApoE,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAq7F,EAAAr7F,EAAA,IACAs7F,EAAAt7F,EAAA,IACAu7F,EAAAv7F,EAAA,IAMA4tD,EAAA2tC,EAAA,KAAAhnE,IACA4gC,EAAAomC,EAAA,KAAAhhF,KACAihF,EAAAD,EAAA,KAAA17D,cACA47D,EAAA5zF,KAAAQ,IACAqzF,EAAA7zF,KAAAS,IAKA8tB,EAAA,WAMAj1B,KAAAw6F,OAAA,GAEA,QAAAzvF,EAAA,EAAmBA,EAAA,EAAOA,IAC1B/K,KAAAw6F,OAAA7nF,KAAA,IAAAwnF,EAAA,MAOAn6F,KAAAktD,YAAA,IAAAgtC,EAAA,KAMAl6F,KAAAi0D,SAAA,GACA,IAAAlpD,EAAA,EAAmBA,EAAA,EAAOA,IAC1B/K,KAAAi0D,SAAAlpD,GAAAqvF,EAAA,KAAA/8D,WAAA,QAIApI,EAAAh1B,UAAA,CAOA65F,kBAAA,SAAAjjB,GAEA,IAAA2jB,EAAAx6F,KAAAw6F,OACAjtE,EAAAspD,EAAAz5C,MACAq9D,EAAAltE,EAAA,GAAAmtE,EAAAntE,EAAA,GAAAotE,EAAAptE,EAAA,GAAAujB,EAAAvjB,EAAA,GACA+jB,EAAA/jB,EAAA,GAAAqtE,EAAArtE,EAAA,GAAAstE,EAAAttE,EAAA,GAAAutE,EAAAvtE,EAAA,GACAwtE,EAAAxtE,EAAA,GAAAytE,EAAAztE,EAAA,GAAA0tE,EAAA1tE,EAAA,IAAAwS,EAAAxS,EAAA,IACAyS,EAAAzS,EAAA,IAAA0S,EAAA1S,EAAA,IAAA2tE,EAAA3tE,EAAA,IAAA4tE,EAAA5tE,EAAA,IAGAk/B,EAAA+tC,EAAA,GAAA3tC,OAAAzvB,MAAA0T,EAAA2pD,EAAAK,EAAAxpD,EAAAvR,EAAAg7D,GACAP,EAAA,GAAAhrF,WAAA2rF,EAAAn7D,GACAw6D,EAAA,GAAAn8E,YAEAouC,EAAA+tC,EAAA,GAAA3tC,OAAAzvB,MAAA0T,EAAA2pD,EAAAK,EAAAxpD,EAAAvR,EAAAg7D,GACAP,EAAA,GAAAhrF,WAAA2rF,EAAAn7D,GACAw6D,EAAA,GAAAn8E,YAEAouC,EAAA+tC,EAAA,GAAA3tC,OAAAzvB,MAAA0T,EAAA4pD,EAAAI,EAAAF,EAAA76D,EAAAi7D,GACAR,EAAA,GAAAhrF,WAAA2rF,EAAAl7D,GACAu6D,EAAA,GAAAn8E,YAEAouC,EAAA+tC,EAAA,GAAA3tC,OAAAzvB,MAAA0T,EAAA4pD,EAAAI,EAAAF,EAAA76D,EAAAi7D,GACAR,EAAA,GAAAhrF,WAAA2rF,EAAAl7D,GACAu6D,EAAA,GAAAn8E,YAEAouC,EAAA+tC,EAAA,GAAA3tC,OAAAzvB,MAAA0T,EAAA6pD,EAAAG,EAAAD,EAAA96D,EAAAk7D,GACAT,EAAA,GAAAhrF,WAAA2rF,EAAAD,GACAV,EAAA,GAAAn8E,YAEAouC,EAAA+tC,EAAA,GAAA3tC,OAAAzvB,MAAA0T,EAAA6pD,EAAAG,EAAAD,EAAA96D,EAAAk7D,GACAT,EAAA,GAAAhrF,WAAA2rF,EAAAD,GACAV,EAAA,GAAAn8E,YAGA,IAAA6uC,EAAAltD,KAAAktD,YACA+G,EAAAj0D,KAAAi0D,SACA,OAAAknC,EAAA,CACA,IAAAv6E,EAAAg6E,EAAAH,EACAW,GAAAF,GAAAD,EAAA,GACAI,GAAAH,GAAAD,EAAA,GACAK,GAAAD,EAAAT,EACAW,GAAAH,EAAAR,EAEA1tC,EAAAhmD,IAAAksB,KAAAkoE,EAAA16E,GAAA06E,EAAAD,GACAnuC,EAAA/lD,IAAAisB,IAAAkoE,EAAA16E,EAAA06E,EAAAF,GAIA3uC,EAAAwH,EAAA,IAAAqnC,EAAA16E,GAAA06E,EAAAD,GACA5uC,EAAAwH,EAAA,IAAAqnC,EAAA16E,EAAA06E,EAAAD,GAEA5uC,EAAAwH,EAAA,GAAAqnC,EAAA16E,GAAA06E,EAAAD,GACA5uC,EAAAwH,EAAA,GAAAqnC,EAAA16E,EAAA06E,EAAAD,GAEA5uC,EAAAwH,EAAA,IAAAsnC,EAAA36E,GAAA26E,EAAAH,GACA3uC,EAAAwH,EAAA,IAAAsnC,EAAA36E,EAAA26E,EAAAH,GACA3uC,EAAAwH,EAAA,GAAAsnC,EAAA36E,GAAA26E,EAAAH,GACA3uC,EAAAwH,EAAA,GAAAsnC,EAAA36E,EAAA26E,EAAAH,OAEA,CACA,IAAA9rD,IAAA,EAAAtP,GAAAy6D,EACAlrD,GAAA,EAAAvP,GAAAy6D,EACAhrD,GAAA,EAAAxP,GAAA26D,EACAprD,IAAA,EAAAvP,GAAA26D,EACAlrD,IAAA,EAAAwrD,GAAAD,EACAtrD,GAAA,EAAAurD,GAAAD,EAGA/tC,EAAAhmD,IAAAksB,IAAA1sB,KAAAQ,IAAAooC,EAAAC,GAAA7oC,KAAAQ,IAAAsoC,EAAAC,GAAA/oC,KAAAQ,IAAAyoC,EAAAD,IACAwd,EAAA/lD,IAAAisB,IAAA1sB,KAAAS,IAAAooC,EAAAD,GAAA5oC,KAAAS,IAAAsoC,EAAAD,GAAA9oC,KAAAS,IAAAuoC,EAAAC,IAEA,IAAAzoC,EAAAgmD,EAAAhmD,IAAAk2B,MACAj2B,EAAA+lD,EAAA/lD,IAAAi2B,MAGAqvB,EAAAwH,EAAA,GAAA/sD,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACAulD,EAAAwH,EAAA,GAAA/sD,EAAA,GAAAC,EAAA,GAAAD,EAAA,IAEAulD,EAAAwH,EAAA,GAAA9sD,EAAA,GAAAD,EAAA,GAAAA,EAAA,IACAulD,EAAAwH,EAAA,GAAA9sD,EAAA,GAAAA,EAAA,GAAAD,EAAA,IAEAulD,EAAAwH,EAAA,GAAA/sD,EAAA,GAAAA,EAAA,GAAAC,EAAA,IACAslD,EAAAwH,EAAA,GAAA/sD,EAAA,GAAAC,EAAA,GAAAA,EAAA,IACAslD,EAAAwH,EAAA,GAAA9sD,EAAA,GAAAD,EAAA,GAAAC,EAAA,IACAslD,EAAAwH,EAAA,GAAA9sD,EAAA,GAAAA,EAAA,GAAAA,EAAA,MAWAq0F,0BAAA,WAEA,IAAAC,EAAArB,EAAA,KAAAtrD,SAEA,gBAAArvB,EAAAmxC,GACA,IAAAqD,EAAAj0D,KAAAi0D,SAEA3iB,EAAAsf,EAAAxzB,MACAl2B,EAAAuY,EAAAvY,IACAC,EAAAsY,EAAAtY,IACAmmD,EAAApmD,EAAAk2B,MACAmwB,EAAApmD,EAAAi2B,MACAjgB,EAAA82C,EAAA,GACAomC,EAAAoB,EAAAt+E,EAAAm0B,GACA0iB,EAAA1G,EAAAmuC,GACAznC,EAAAzG,EAAAkuC,GAEA,QAAA1wF,EAAA,EAA2BA,EAAA,EAAOA,IAClCoS,EAAA82C,EAAAlpD,GACAsvF,EAAAoB,EAAAt+E,EAAAm0B,GAEAgc,EAAA,GAAAgtC,EAAAmB,EAAA,GAAAnuC,EAAA,IACAA,EAAA,GAAAgtC,EAAAmB,EAAA,GAAAnuC,EAAA,IACAA,EAAA,GAAAgtC,EAAAmB,EAAA,GAAAnuC,EAAA,IAEAC,EAAA,GAAAgtC,EAAAkB,EAAA,GAAAluC,EAAA,IACAA,EAAA,GAAAgtC,EAAAkB,EAAA,GAAAluC,EAAA,IACAA,EAAA,GAAAgtC,EAAAkB,EAAA,GAAAluC,EAAA,IAMA,OAHArmD,EAAAo2B,QAAA,EACAn2B,EAAAm2B,QAAA,EAEA7d,GAjCA,IAqCAyO,EAAA,QAKA,SAAAxrB,EAAAC,GASA,IAAAmJ,EAAA,WAIA9L,KAAA+L,KAAA,KAKA/L,KAAAgM,KAAA,KACAhM,KAAAiM,KAAA,GAGAC,EAAAJ,EAAA7L,UAOAiM,EAAAC,OAAA,SAAAlD,GACA,IAAAmD,EAAA,IAAAC,EAAApD,GAEA,OADAjJ,KAAAsM,YAAAF,GACAA,GAQAF,EAAAI,YAAA,SAAAF,GACApM,KAAA+L,MAGA/L,KAAAgM,KAAAjI,KAAAqI,EACAA,EAAAG,KAAAvM,KAAAgM,KACAI,EAAArI,KAAA,KACA/D,KAAAgM,KAAAI,GALApM,KAAA+L,KAAA/L,KAAAgM,KAAAI,EAQApM,KAAAiM,QAQAC,EAAAM,OAAA,SAAAJ,GACA,IAAAG,EAAAH,EAAAG,KACAxI,EAAAqI,EAAArI,KAEAwI,EACAA,EAAAxI,OAGA/D,KAAA+L,KAAAhI,EAGAA,EACAA,EAAAwI,OAGAvM,KAAAgM,KAAAO,EAGAH,EAAArI,KAAAqI,EAAAG,KAAA,KACAvM,KAAAiM,QAOAC,EAAAO,IAAA,WACA,OAAAzM,KAAAiM,MAOAC,EAAAQ,MAAA,WACA1M,KAAA+L,KAAA/L,KAAAgM,KAAA,KACAhM,KAAAiM,KAAA,GAQA,IAAAI,EAAA,SAAApD,GAIAjJ,KAAAiE,MAAAgF,EAKAjJ,KAAA+D,KAKA/D,KAAAuM,MASAI,EAAA,SAAAC,GACA5M,KAAA6M,MAAA,IAAAf,EACA9L,KAAA8M,KAAA,GACA9M,KAAA+M,SAAAH,GAAA,GACA5M,KAAAgN,kBAAA,MAGAC,EAAAN,EAAA1M,UAOAgN,EAAAC,IAAA,SAAAjC,EAAAhH,GACA,IAAAkJ,EAAAnN,KAAA6M,MACAO,EAAApN,KAAA8M,KACAO,EAAA,KAEA,SAAAD,EAAAnC,GAAA,CACA,IAAAwB,EAAAU,EAAAV,MAEAL,EAAApM,KAAAgN,kBAEA,GAAAP,GAAAzM,KAAA+M,UAAAN,EAAA,GAEA,IAAAa,EAAAH,EAAApB,KACAoB,EAAAX,OAAAc,UACAF,EAAAE,EAAArC,KACAoC,EAAAC,EAAArJ,MACAjE,KAAAgN,kBAAAM,EAGAlB,EACAA,EAAAnI,QAEAmI,EAAA,IAAAC,EAAApI,GAGAmI,EAAAnB,MACAkC,EAAAb,YAAAF,GACAgB,EAAAnC,GAAAmB,EAGA,OAAAiB,GAQAJ,EAAAxH,IAAA,SAAAwF,GACA,IAAAmB,EAAApM,KAAA8M,KAAA7B,GACAkC,EAAAnN,KAAA6M,MAEA,SAAAT,EAOA,OALAA,IAAAe,EAAAnB,OACAmB,EAAAX,OAAAJ,GACAe,EAAAb,YAAAF,IAGAA,EAAAnI,OAQAgJ,EAAAP,MAAA,WACA1M,KAAA6M,MAAAH,QAEA1M,KAAA8M,KAAA,IAGA,IAAArK,EAAAkK,EACAjK,EAAAC,QAAAF,GAIA,SAAAC,EAAAwrB,EAAArvB,GAEA,aACA,IAAA68F,EAAA78F,EAAA,GACA88F,EAAA98F,EAAA,IACA6mC,EAAA7mC,EAAA,IACA+8F,EAAA/8F,EAAA,IACAg9F,EAAAh9F,EAAA,IACAi9F,EAAAj9F,EAAA,IACAk9F,EAAAl9F,EAAA,KACAm9F,EAAAn9F,EAAA,KAcAo9F,EAAA,CAQAhpE,YAAA,SAAAwxC,EAAAthD,EAAA+4E,EAAAv0D,GACA,IAAA/U,EASA,GARA,uBACAspE,EAAA/4E,EACAwkB,EAAAu0D,EACA/4E,EAAA,IAGAA,KAAA,GAEA,qBACA,GAAAshD,EAAA5tC,MAAA,kBAAA1T,EAAA4T,SAeA,OAdAnE,EAAA,IAAA8oE,EAAA,MACAp5F,MAAA,EACAC,OAAA,EACAq/B,MAAA,IAEAq6D,EAAAE,cACA13B,EACA,SAAAl5D,GACAywF,EAAA,KAAAI,UAAA7wF,EAAAqnB,EAAAzP,EAAA2T,UACAlE,EAAAjO,QACAu3E,KAAAtpE,IAEA+U,GAEA/U,EAEA6xC,EAAA5tC,MAAA,kBAAA1T,EAAA4T,UACAnE,EAAA,IAAA8oE,EAAA,MACAp5F,MAAA,EACAC,OAAA,IAEA05F,EAAAE,cACA13B,EACA,SAAAl5D,GACAwwF,EAAA,KAAA3iE,MAAA7tB,EAAAqnB,GACAA,EAAAjO,QACAu3E,KAAAtpE,IAEA+U,KAIA/U,EAAA,IAAA8oE,EAAA,KACA9oE,EAAA2U,KAAAk9B,GACA7xC,EAAAuhE,QAAA+H,GACAtpE,EAAAuH,MAAAwN,QAGA,kBAAA88B,GAAA,qBAAAA,EAAA,KACA7xC,EAAA,IAAA+oE,EAAA,KACA/oE,EAAA2U,KAAAk9B,GACA7xC,EAAAuhE,QAAA+H,GACAtpE,EAAAuH,MAAAwN,IAEA,OAAA/U,GAcAypE,aAAA,SAAAjlE,EAAAqtC,EAAA63B,EAAAn5E,EAAA+4E,EAAAv0D,GACA,IAAAD,EAAA1nC,KAEA,uBACAk8F,EAAA/4E,EACAwkB,EAAAu0D,EACA/4E,EAAA,IAGAA,KAAA,GAGA84E,EAAAhpE,YAAAwxC,EAAAthD,EAAA,SAAAyP,GAEAA,EAAAkF,MAAA3U,EAAA2U,QAAA,EACA4P,EAAA60D,kBAAAnlE,EAAAxE,EAAA0pE,EAAAn5E,GACAyP,EAAA9c,QAAAshB,GACA8kE,KAAAI,IACS30D,IAWT40D,kBAAA,SAAAnlE,EAAAolE,EAAAF,EAAAn5E,GACA,IAAAs5E,EAAA,IAAAb,EAAA,KACAc,EAAA,IAAAb,EAAA,MACAt+B,MAAA,IAAAu+B,EAAA,OAgBA,OAdAY,EAAAhuB,kBAAA8tB,GAEAr5E,KAAA,GACAA,EAAAw5E,YACAD,EAAA7pE,SAAA0H,OAAA,0BAIA+hE,EAAA16D,KAAA46D,EAAA56D,KAEA66D,EAAA7pE,QAAA0pE,EACAG,EAAAvpC,OAAA97B,EAAAslE,EAAAn/B,OACAk/B,EAAA7pE,QAAA,KACA6pE,EAAA3mF,QAAAshB,GACAklE,GASAM,eAAA,SAAA9pF,EAAA+pF,GACA,IAAAjnE,EAAAhrB,SAAAirB,cAAA,UACAvzB,EAAAszB,EAAAtzB,MAAAwQ,EAAAxQ,MACAC,EAAAqzB,EAAArzB,OAAAuQ,EAAAvQ,OACAlC,EAAAu1B,EAAAhoB,WAAA,MACAvN,EAAAy1B,UAAAhjB,EAAA,IAAAxQ,EAAAC,GACAs6F,MAAA,EAGA,IAFA,IAAAC,EAAAz8F,EAAA08F,aAAA,IAAAz6F,EAAAC,GACAy6F,EAAA38F,EAAA48F,gBAAA36F,EAAAC,GACAwI,EAAA,EAAuBA,EAAA+xF,EAAAvxF,KAAAhI,OAAyBwH,GAAA,GAChD,GAAA8xF,EAAA,CACA,IAAAj+E,EAAAk+E,EAAAvxF,KAAAR,GACA6gD,EAAAkxC,EAAAvxF,KAAAR,EAAA,GACAvC,EAAAs0F,EAAAvxF,KAAAR,EAAA,GACA6R,EAAAlW,KAAAiR,IAAAiH,EAAAgtC,GAAAllD,KAAAiR,IAAAi0C,EAAApjD,GACA,GAAAoU,EAAA,GAEA,OADAwb,QAAAyH,KAAA,mCACA/sB,EAIA,IAAA88C,EAAAC,EAAArwB,EAAAC,EACA10B,GAAA,EAAAzI,KAAA,GAEAstD,EAAAktC,EAAAvxF,KAAAR,GACAy0B,EAAAs9D,EAAAvxF,KAAAR,EAAA,IAEAA,GAAA,EAAAzI,KAAA,GAAAA,EAAA,IAEAstD,EAAAktC,EAAAvxF,KAAAR,EAAA,GACAy0B,EAAAs9D,EAAAvxF,KAAAR,KAGA6kD,EAAAktC,EAAAvxF,KAAAR,EAAA,GACAy0B,EAAAs9D,EAAAvxF,KAAAR,EAAA,IAGAA,EAAA,EAAAzI,GAEAutD,EAAAitC,EAAAvxF,KAAAR,GACA00B,EAAAq9D,EAAAvxF,KAAAR,EAAA,EAAAzI,IAEAyI,EAAAzI,GAAAC,EAAA,MAEAstD,EAAAitC,EAAAvxF,KAAAR,EAAA,EAAAzI,GACAm9B,EAAAq9D,EAAAvxF,KAAAR,KAGA8kD,EAAAitC,EAAAvxF,KAAAR,EAAA,EAAAzI,GACAm9B,EAAAq9D,EAAAvxF,KAAAR,EAAA,EAAAzI,IAGA06F,EAAAzxF,KAAAR,GAAA6kD,EAAApwB,EAAA,IACAw9D,EAAAzxF,KAAAR,EAAA,GAAA8kD,EAAApwB,EAAA,IACAu9D,EAAAzxF,KAAAR,EAAA,OACAiyF,EAAAzxF,KAAAR,EAAA,OAGA,OADA1K,EAAA68F,aAAAF,EAAA,KACApnE,GAUAunE,cAAA,SAAAzxB,EAAA0xB,EAAAC,GACA,IAAA3xB,MAAAppE,QAAAopE,EAAAnpE,OACA,SAGA,IAAAqzB,EAAAhrB,SAAAirB,cAAA,UACAx1B,EAAAu1B,EAAAhoB,WAAA,MACAqN,EAAAmiF,GAAA,GACAC,KAAA,GACAznE,EAAAtzB,MAAAszB,EAAArzB,OAAA0Y,EACA5a,EAAAy1B,UAAA41C,EAAA,IAAAzwD,KAEA,IADA,IAAA6hF,EAAAz8F,EAAA08F,aAAA,IAAA9hF,KACAlQ,EAAA,EAAuBA,EAAA+xF,EAAAvxF,KAAAhI,OAAyBwH,GAAA,GAChD,IAAA6T,EAAAk+E,EAAAvxF,KAAAR,GACA6gD,EAAAkxC,EAAAvxF,KAAAR,EAAA,GACAvC,EAAAs0F,EAAAvxF,KAAAR,EAAA,GACA6R,EAAAlW,KAAAiR,IAAAiH,EAAAgtC,GAAAllD,KAAAiR,IAAAi0C,EAAApjD,GACA,GAAAoU,EAAAygF,EACA,SAGA,UAGAlB,cAAA,SAAA13B,EAAAy3B,EAAAv0D,GACAjC,EAAA,KAAAwmB,QAAAzmD,IAAA,CACA63F,IAAA74B,EACA84B,aAAA,cACAtmE,OAAAilE,EACAv0D,aAYA61D,iBAAA,SAAAviF,EAAAwiF,EAAAC,EAAAC,GACA1iF,KAAA,IACAwiF,KAAA,GACAC,KAAA,QACAC,KAAA,QAEA,IAAAC,EAAAl3F,KAAA0gE,KAAAnsD,EAAAwiF,GAEA7nE,EAAAhrB,SAAAirB,cAAA,UACAD,EAAAtzB,MAAA2Y,EACA2a,EAAArzB,OAAA0Y,EACA,IAAA5a,EAAAu1B,EAAAhoB,WAAA,MACAvN,EAAAw9F,UAAAF,EACAt9F,EAAAy9F,SAAA,IAAA7iF,KAEA5a,EAAAw9F,UAAAH,EACA,QAAA3yF,EAAA,EAAuBA,EAAA6yF,EAAY7yF,IACnC,QAAA2F,EAAA,EAA2BA,EAAAktF,EAAYltF,IAAA,CACvC,IAAAqtF,EAAArtF,EAAA,EAAA3F,EAAA,EAAAA,EAAA,IACAgzF,GACA19F,EAAAy9F,SAAA/yF,EAAA0yF,EAAA/sF,EAAA+sF,OAKA,IAAA7qE,EAAA,IAAA8oE,EAAA,MACA5oF,MAAA8iB,EACAsF,YAAA,IAGA,OAAAtI,GAQAuC,YAAA,SAAArO,GACA,IAAA8O,EAAAhrB,SAAAirB,cAAA,UACAD,EAAAtzB,MAAA,EACAszB,EAAArzB,OAAA,EACA,IAAAlC,EAAAu1B,EAAAhoB,WAAA,MACAvN,EAAAw9F,UAAA/2E,EACAzmB,EAAAy9F,SAAA,SAEA,IAAAlrE,EAAA,IAAA8oE,EAAA,MACA5oF,MAAA8iB,IAGA,OAAAhD,IAIA1E,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAoiC,EAAApiC,EAAA,GACAqxE,EAAArxE,EAAA,GACAm/F,EAAAn/F,EAAA,IACAo/F,EAAAp/F,EAAA,IAMAq/F,EAAA,gCA0BAC,EAAAl9D,EAAA,KAAAv8B,OAAA,WACA,IAAAygE,EAAA,CAMA7+D,SAAA,IAAA4pE,EAAA,KAMAvgC,IAAA,IAMAD,KAAA,GAMA9c,QAAA,KAMAwrE,cAAA,MAEAC,EAAAl5B,EAAAm5B,SAAA,CACAlzB,GAAA,IAAA4yB,EAAA,MAAsF/kB,IAAA,KACtF5N,GAAA,IAAA2yB,EAAA,MAAsF/kB,IAAA,KACtF3N,GAAA,IAAA0yB,EAAA,MAAsF/kB,IAAA,KACtF1N,GAAA,IAAAyyB,EAAA,MAAsF/kB,IAAA,KACtFzN,GAAA,IAAAwyB,EAAA,MAAsF/kB,IAAA,KACtFxN,GAAA,IAAAuyB,EAAA,MAAsF/kB,IAAA,MAYtF,OAVAolB,EAAAjzB,GAAAt7B,OAAAogC,EAAA,KAAAzvC,WAAAyvC,EAAA,KAAAtvC,YACAy9D,EAAAhzB,GAAAv7B,OAAAogC,EAAA,KAAAxvC,WAAAwvC,EAAA,KAAAtvC,YACAy9D,EAAA/yB,GAAAx7B,OAAAogC,EAAA,KAAAvvC,WAAAuvC,EAAA,KAAArvC,YACAw9D,EAAA9yB,GAAAz7B,OAAAogC,EAAA,KAAAtvC,WAAAsvC,EAAA,KAAApvC,YACAu9D,EAAA7yB,GAAA17B,OAAAogC,EAAA,KAAArvC,WAAAqvC,EAAA,KAAAtvC,YACAy9D,EAAA5yB,GAAA37B,OAAAogC,EAAA,KAAApvC,WAAAovC,EAAA,KAAAtvC,YAGAukC,EAAAo5B,aAAA,IAAAN,EAAA,KAEA94B,GACC,CAKD4Z,UAAA,SAAA1oE,GACA,OAAArW,KAAAs+F,SAAAjoF,IAOA68C,OAAA,SAAA97B,EAAAmmC,EAAAiuB,GACA,IAAAppD,EAAAhL,EAAAwB,GACA4yD,GACAjuB,EAAAhxC,SAOA,IAHA,IAAAsB,EAAA7tB,KAAA4yB,QAAAtwB,MACA22E,EAAA,EAAAvyE,KAAAwyE,KAAArrD,KAAA,KAAAnnB,KAAAC,GAAA,IAEAoE,EAAA,EAAuBA,EAAA,EAAOA,IAAA,CAC9B,IAAAsL,EAAA6nF,EAAAnzF,GACAunD,EAAAtyD,KAAAs+F,SAAAjoF,GAOA,GANA65D,EAAA,KAAA92D,KAAAk5C,EAAAhsD,SAAAtG,KAAAsG,UAEAgsD,EAAA3iB,IAAA3vC,KAAA2vC,IACA2iB,EAAA5iB,KAAA1vC,KAAA0vC,KACA4iB,EAAA2mB,MAEAj5E,KAAAo+F,cAAA,CACA9rC,EAAA/lC,SAGA,IAAA9M,EAAA89C,EAAA0V,iBACAxzD,EAAApG,eAAAi5C,EAAAikB,YACAhZ,EAAAkX,yBAAAr7D,KAAAqG,GAEAzf,KAAAo+F,cAAAlrC,OAAA97B,EAAAmmC,EAAAjL,GAAA,GAEAtyD,KAAAu+F,aAAApqD,OACAn0C,KAAA4yB,QAAAwP,EAAAmQ,kBACAnQ,EAAAoc,4BAAAzzC,GAEA/K,KAAAu+F,aAAA31F,KAAAwuB,GACAA,EAAA87B,OAAAqK,EAAAjL,GAAA,GACAtyD,KAAAu+F,aAAA57D,OAAAvL,KAMAthB,QAAA,SAAAshB,GACAp3B,KAAAu+F,aAAAzoF,QAAAshB,MAIAlJ,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA2/F,EAAA3/F,EAAA,GACA4/F,EAAA5/F,EAAA,KACA6/F,EAAA7/F,EAAA,KAKA2/F,EAAA,KAAAhrE,OAAA3B,OAAA6sE,EAAA,MAEAxwE,EAAA,KAAAswE,EAAA,KAAAjrE,KAAA7uB,OAAA,WACA,IAAAu3B,EAAA,IAAAwiE,EAAA,MACA18D,SAAA,IAEAlP,EAAA,IAAA2rE,EAAA,KAAA/qE,SAAA,CACAd,OAAA6rE,EAAA,KAAAzkE,aAAA,eACA25B,aAAA,EACAH,WAAA,IAGA,OACAt3B,WACApJ,WACA+mD,SAAA,EACApU,YAAA,EACAm5B,eAAA,MAMA,SAAAj8F,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAiiE,EAAA//F,EAAA,GACAggG,EAAAhgG,EAAA,KACAigG,EAAAjgG,EAAA,IACAkgG,EAAAlgG,EAAA,GACAmgG,EAAAngG,EAAA,GACAogG,EAAApgG,EAAA,IACAqgG,EAAArgG,EAAA,IACAsgG,EAAAtgG,EAAA,IAWAiqC,EAAAk2D,EAAA,KAAAl2D,KAIA,SAAAs2D,EAAAr6F,GAEA/E,KAAAw9D,SAAA,IAAAohC,EAAA,KAAAtrE,KAGAtzB,KAAAq/F,sBAAA,GAEAr/F,KAAAs/F,YAAAV,EAAA,KAAA9kE,eAAA3T,OAAA,SAAArb,EAAAy0F,GAEA,OADAz0F,EAAAy0F,GAAAX,EAAA,KAAA7kE,aAAA,QAAAwlE,GACAz0F,GACK,IAEL9K,KAAAw/F,aAAAZ,EAAA,KAAA7kE,aAAA,oBAEA,IAAA0lE,EAAA,GACAb,EAAA,KAAA9kE,eAAAjvB,QAAA,SAAA4vB,GACAglE,EAAAhlE,GAAA,IAAAmkE,EAAA,KAAAnrE,SAAA,CACAd,OAAAisE,EAAA,KAAA7kE,aAAA,QAAAU,OAGAz6B,KAAA0/F,iBAAAD,EAEAz/F,KAAA2/F,YAAA,IAAAf,EAAA,KAAArrE,KAAA,CACA0I,SAAA,IAAA2iE,EAAA,KAAA9qE,cAAA,CAAsGiO,SAAA,IACtGyjC,YAAA,EACA/D,cAAA,EACAm+B,gBAAA,IAEA5/F,KAAA2/F,YAAAn5F,SAAAgqC,SAAA9pC,KAAAC,GAAA,GAEA3G,KAAA6/F,eAAA,IAAAX,EAAA,aAAAn6F,GAGA/E,KAAA6/F,eAAAC,UAAAjN,YAAA,IACA7yF,KAAA6/F,eAAAC,UAAAjtE,SAAAwjC,WAAA,EAEAr2D,KAAAw9D,SAAAjgC,IAAAv9B,KAAA6/F,eAAAC,WAEA9/F,KAAA+/F,cAEA//F,KAAAggG,KAAAj7F,EA1CA65F,EAAA,KAAAprE,OAAA3B,OAAAstE,EAAA,MA6CAC,EAAAn/F,UAAA,CAEAC,YAAAk/F,EAGAa,UAAA,EAEA1zE,OAAA,SAAA0hD,EAAA1zD,EAAAxV,EAAAqnB,EAAA7C,GAEA,IAAAhe,EAAA0iE,EAAAzzD,UAEA,MAAA4R,IACAA,EAAA,GAEA,MAAA7C,IACAA,EAAAhe,EAAAoO,SAGA3Z,KAAAkgG,YAAA9zE,EACApsB,KAAAmgG,UAAA52E,EAAA,EAEAvpB,KAAAogG,eAAAnyB,EAAA7hD,EAAA7C,GAEA,IAAAoJ,EAAA3yB,KAAAqgG,WAAApyB,EAAAxoE,IAAA,YAEAzF,KAAAsgG,aAAAryB,EAAAt7C,EAAA5tB,EAAAqnB,EAAA7C,GAEAvpB,KAAAw9D,SAAAsV,uBAEA9yE,KAAAugG,kBAAAtyB,EAAAlpE,EAAAqnB,EAAA7C,GAEA,IAAAtkB,EAAAgpE,EAAA/oE,iBAEA,UAAAD,EAAA9E,MACAH,KAAAwgG,mBAAAvyB,EAAAhpE,EAAAF,GAGA,IAAA2iC,EAAA1nC,KACAA,KAAA6/F,eAAAY,WAAAl1F,EAAA6gB,EAAA7C,GACAvpB,KAAA6/F,eAAAa,iBAAA,SAAAj7E,EAAAk7E,EAAAnxF,GACA,IAAAlB,EAAA/C,EAAAqc,QAAAnC,GAGAljB,EAAAiN,EACA,aAAAvK,EAAA9E,KAAA,CACA,IAAAygG,EAAA37F,EAAA47F,UAAAvyF,GACA,IAAAsyF,EACA,OAAA/mF,aAEAqC,EAAA0kF,EAAA1kF,OACA,IAAA4kF,EAAA77F,EAAAM,YAAA,CAAA2W,EAAA,GAAAA,EAAA,GAAA3Z,IACA,OAAAu+F,EAGA,IAAA3wC,EAAAzoB,EAAA23D,sBAAA55E,EAAAiiB,EAAAw4D,aACAhkF,EAAAwrB,EAAAu4D,SAAA,EACA9vC,EAAAhpD,IAAA,GAAAgpD,EAAAjpD,IAAA,MACAipD,EAAAhpD,IAAA,GAAA5E,GACA4tD,EAAAhpD,IAAA,GAAAgpD,EAAAjpD,IAAA,OACA,EACAipD,EAAAhpD,IAAA,GAAAgpD,EAAAjpD,IAAA,OACAipD,EAAAhpD,IAAA,GAAAgpD,EAAAjpD,IAAA,MACAipD,EAAAhpD,IAAA,GAAA5E,IAKAvC,KAAA+gG,MAAAx1F,EAEAvL,KAAA6/F,eAAAmB,eAEAhhG,KAAAihG,sBAAAhzB,GAGAjuE,KAAAkhG,oBAAA,GAGAnB,YAAA,WACA,IAAAr4D,EAAA1nC,KACA,SAAAmhG,IACA,IAAA/uC,EAAA,IAAAwsC,EAAA,KAAArrE,KAAA,CACAjlB,KAAA,UACAukB,SAAA,IAAA+rE,EAAA,KAAAnrE,SAAA,CACAd,OAAA+U,EAAA43D,YAAA8B,UAEAnlE,SAAA,IAAA2iE,EAAA,KAAAhrE,SAAA,CACAytE,eAAA,EACAt/D,SAAA,IAGA63C,SAAA,EACA+kB,eAAA,EAEAl9B,cAAA,IAGA,OADA7kC,EAAAr0B,EAAAqpB,KAAAltB,OAAA0tD,EAAAn2B,SAAAgjE,EAAA,MACA7sC,EAGA,IAAAkvC,EAAAH,IAEAI,EAAA,IAAA3C,EAAA,KAAArrE,KAAA,CACAV,SAAA,IAAA+rE,EAAA,KAAAnrE,SAAA,CACAd,OAAA3yB,KAAAw/F,eAEAh6B,YAAA,EACAm5B,eAAA,EACAiB,gBAAA,EACA3jE,SAAA,IAAA6iE,EAAA,MACA34B,eAAA,MAIAnmE,KAAAw9D,SAAAjgC,IAAA+jE,GACAthG,KAAAw9D,SAAAjgC,IAAAgkE,GAEAD,EAAAzuE,SAAA0H,OAAA,uBACA+mE,EAAAzuE,SAAA0H,OAAA,2BAEAv6B,KAAAwhG,aAAAF,EACAthG,KAAAyhG,WAAAF,EAEAvhG,KAAAw9D,SAAAjgC,IAAAv9B,KAAA2/F,cAGAU,WAAA,SAAA5lE,GACA,IAAA9H,EAAA3yB,KAAAs/F,YAAA7kE,GASA,OARA9H,IAEAyF,QAAAyH,KAAA,kBAAApF,GAGA9H,EAAA3yB,KAAAs/F,YAAA8B,SAEAzuE,EAAA+uE,UAAAjnE,EACA9H,GAGA2tE,aAAA,SAAAryB,EAAAt7C,EAAA5tB,EAAAqnB,EAAA7C,GAMA,IALA,IAAAo4E,EAAA,EACAC,EAAA,EACAC,EAAA,EACAC,EAAA,EAEAnkF,EAAAyO,EAA6BzO,EAAA4L,EAAW5L,IAAA,CACxC,IAAAokF,EAAA/hG,KAAAgiG,sBAAArkF,GACAskF,EAAAjiG,KAAAkiG,oBAAAvkF,EAAAswD,EAAAjuE,KAAAyhG,WAAAxlE,UACA0lE,GAAAI,EAAA7lE,YACA0lE,GAAAG,EAAA/6B,cACA66B,GAAAI,EAAA/lE,YACA4lE,GAAAG,EAAAj7B,cAGA,IAAAs6B,EAAAthG,KAAAwhG,aACAW,EAAAb,EAAArlE,SACA,0CAAApxB,QAAA,SAAAu3F,GACAD,EAAA/lE,WAAAgmE,GAAAl/E,KAAAy+E,KAEAQ,EAAA10C,QAAAk0C,EAAA,UAAAl2C,YAAA,EAAAm2C,GAAA,IAAAp2C,YAAA,EAAAo2C,GAEAN,EAAAzuE,SAAAF,YACA2uE,EAAAzuE,SAAA4jC,aAAA9jC,GAAA,GAEAisE,EAAA,KAAApkE,qBAAA7H,EAAA+uE,UAAAJ,EAAAzuE,SAAAo7C,EAAAlpE,GAEA88F,EAAA,IACA7hG,KAAAyhG,WAAAxlE,SAAAwqC,cACAzmE,KAAAyhG,WAAAxlE,SAAA4qC,eAAAg7B,GACA7hG,KAAAyhG,WAAAxlE,SAAA6qC,iBAAAg7B,IAIA9hG,KAAAqiG,mBAAA,IAAA52C,YAAAk2C,GAEA3hG,KAAAsiG,wBAAA,IAAA72C,YAAA,GAAAliC,EAAA6C,KAGAm0E,kBAAA,SAAAtyB,EAAAlpE,EAAAqnB,EAAA7C,GAaA,IAXA,IAAAhe,EAAA0iE,EAAAzzD,UAEA6vD,EAAA,EACAk4B,EAAA,EAGAC,GAAA,EAEAlB,EAAAthG,KAAAwhG,aACAD,EAAAvhG,KAAAyhG,WAEAh8E,EAAA2G,EAAmC3G,EAAA8D,EAAiB9D,IAAA,CAEpD,IAAAg9E,EAAAx0B,EAAAy0B,eAAAj9E,GACAk9E,EAAAF,EAAA9nE,SAAA,aACA7T,EAAA67E,EAAAl9F,IAAA,SACAquD,EAAAirC,EAAA,KAAAznE,aAAAqrE,EAAAl9F,IAAA,cAGAm9F,EAAAr3F,EAAAic,cAAA/B,EAAA,YACA,MAAAm9E,GAAAr3F,EAAAu5E,SAAAr/D,KACAqB,EAAA87E,GAGAr3F,EAAA0f,cAAAxF,EAAA,QAAAqB,GACAvb,EAAA0f,cAAAxF,EAAA,UAAAquC,GAEAhtC,EAAA83E,EAAA,KAAA1lE,WAAApS,GACA,IAAA+7E,EAAAjE,EAAA,KAAA1lE,WAAAypE,EAAAl9F,IAAA,gBAEAqhB,EAAA,IAAAgtC,EACA+uC,EAAA,IAAA/uC,EAEA,IAAAwgB,EAAAxtD,EAAA,OAEAw6E,EAAAzuE,SAAAO,IAAA,mBACAovE,KAAAluB,EASA,IAPA,IAAAwuB,EAAA/D,EAAA,KAAAznE,aAAAmrE,EAAAh9F,IAAA,aAAAwoE,EAAAxoE,IAAA,iBAEAs9F,EAAA/iG,KAAAgjG,uBACA/0B,EAAAqzB,EAAArlE,SAAAxW,EAAAq9E,EACAz4B,EAAAk4B,EAAAz7E,GAGA/b,EAAAs/D,EAAsCt/D,EAAAg4F,EAAA14B,aAA6Bt/D,IACnE/K,KAAAqiG,mBAAAt3F,GAAA0a,EAEAzlB,KAAAsiG,wBAAA,GAAA78E,EAAA2G,IAAAi+C,EACArqE,KAAAsiG,wBAAA,GAAA78E,EAAA2G,GAAA,GAAA22E,EAAA14B,aAEAA,EAAA04B,EAAA14B,aACAk4B,EAAAQ,EAAAR,eAGA,IAAA9xF,EAAAkyF,EAAAl9F,IAAA,eACAw9F,EAAAxyF,EAAA,EACAwyF,IACAxyF,GAAA1L,EAAAmmF,sBACAlrF,KAAAkjG,qBACA3B,EAAAtlE,SAAAgyC,EAAAxoD,EAAAq9E,EAAAryF,EACAw9D,EAAA/oE,iBAAA2B,YAGA06F,EAAAzwB,WAAAmyB,EACA1B,EAAA1uE,SAAAO,IAAA,CACAtM,MAAA+7E,IAIAvB,EAAAthG,KAAAwhG,aACAF,EAAAzuE,SAAA6gC,YAAA8uC,EACAlB,EAAAzuE,SAAA0gC,WAAAivC,EACAlB,EAAArlE,SAAAmxB,oBAEAk0C,EAAApT,UAAAluF,KAAAigG,SAAArB,EAAA,KAAArrE,KAAAqlB,IAAAgmD,EAAA,KAAArrE,KAAAolB,GAGA2oD,EAAAzuE,SAAAptB,IAAA,cACA67F,EAAArlE,SAAAoyB,mBAGAizC,EAAAz+E,YAAAorD,EAAAprD,YAEAy+E,EAAA1rF,GAAA,YAAA5V,KAAAmjG,aAAAnjG,MACAshG,EAAA1rF,GAAA,WAAA5V,KAAAojG,YAAApjG,OAGAihG,sBAAA,SAAAhzB,GACA,IAAAo1B,EAAAp1B,EAAAtzC,SAAA,mBAGA,GAAA0oE,EAAA59F,IAAA,SACA,IAAAqhB,EAAA83E,EAAA,KAAA1lE,WACAmqE,EAAA59F,IAAA,uCAEAnD,EAAAy8F,EAAA,KAAAznE,aACA+rE,EAAA59F,IAAA,sBAIA2sD,EAAApyD,KAAAwhG,aACApvC,EAAAn2B,SAAA00B,sBACAyB,EAAAv/B,SAAA0H,OAAA,6BACA63B,EAAAv/B,SAAAO,IAAA,qBAAAtM,GACAsrC,EAAAv/B,SAAAO,IAAA,qBAAA9wB,KAIA6gG,aAAA,SAAAhtF,GACA,IAAAsP,EAAAzlB,KAAAqiG,mBAAAlsF,EAAAmtF,SAAA,IACA,MAAA79E,IACAA,GAAA,GAEAA,IAAAzlB,KAAAkhG,sBACAlhG,KAAAujG,SAAAvjG,KAAAkhG,qBACAlhG,KAAAwjG,UAAA/9E,GACAzlB,KAAA6/F,eAAAmB,aAAA,CAAAv7E,KAEAzlB,KAAAkhG,oBAAAz7E,EACAzlB,KAAAwhG,aAAA/7E,aAGA29E,YAAA,SAAAjtF,GACAA,EAAAE,SACArW,KAAAujG,SAAAvjG,KAAAkhG,qBACAlhG,KAAAkhG,qBAAA,EACAlhG,KAAAwhG,aAAA/7E,WAAA,GAGAzlB,KAAA6/F,eAAAmB,aAAA,KAGAR,mBAAA,SAAAvyB,EAAAw1B,EAAA1+F,GACA,IAAA2+F,EAAAz1B,EAAAtzC,SAAA,cAAAszC,GAEA,GADAjuE,KAAA2/F,YAAA7uB,WAAA4yB,EAAAj+F,IAAA,YACAzF,KAAA2/F,YAAA7uB,UAAA,CAIA,IAAAr2C,EAAAwzC,EAAAxoE,IAAA,WACAotB,EAAA7yB,KAAA0/F,iBAAAjlE,GACA5H,IAEAuF,QAAAyH,KAAA,kBAAApF,GAEA5H,EAAA7yB,KAAA0/F,iBAAA0B,SAGAxC,EAAA,KAAApkE,qBAAAC,EAAA5H,EAAA6wE,EAAA3+F,GACA8tB,EAAAptB,IAAA,cACAzF,KAAA2/F,YAAA1jE,SAAAoyB,mBAGAruD,KAAA2/F,YAAA9sE,WACA7yB,KAAA2/F,YAAA9sE,SAAAO,IAAA,QAAAwrE,EAAA,KAAA1lE,WAAAwqE,EAAAj+F,IAAA,WAEAzF,KAAA2/F,YAAA5nF,MAAAqb,IAAAqwE,EAAAxoF,KAAA,GAAAwoF,EAAAxoF,KAAA,QAGAmlF,eAAA,SAAAnyB,EAAA7hD,EAAA7C,GACAvpB,KAAAq/F,sBAAA,GAOA,IALA,IAAAsE,EAAA,CAAA7pF,aACA8pF,EAAA,EAAA9pF,eAEA7U,EAAAgpE,EAAA/oE,iBAEAyY,EAAAyO,EAA6BzO,EAAA4L,EAAW5L,IAAA,CAGxC,IAFA,IAAAkmF,EAAA,GACAC,EAAA71B,EAAA81B,uBAAApmF,GACA5S,EAAA,EAA2BA,EAAA+4F,EAAAvgG,OAA0BwH,IAAA,CACrD,IAAAqV,EAAA0jF,EAAA/4F,GAAAqV,SACAK,EAAAqjF,EAAA/4F,GAAA0V,UACAinD,EAAA,GACAs8B,EAAA,GACA,KAAA5jF,EAAA7c,OAAA,IAIA,IADA,IAAAwiD,EAAA,EACAr1C,EAAA,EAA+BA,EAAA0P,EAAA7c,OAAqBmN,IAAA,CACpD,IAAAoQ,EAAAV,EAAA1P,GACAg3D,EAAA3hB,KAAAjlC,EAAA,GACA4mD,EAAA3hB,KAAAjlC,EAAA,GAGA,IAAApQ,EAAA,EAA+BA,EAAA+P,EAAAld,OAAsBmN,IACrD,KAAA+P,EAAA/P,GAAAnN,OAAA,IAIA,IADA,IAAA0gG,EAAAv8B,EAAAnkE,OAAA,EACAmd,EAAA,EAAmCA,EAAAD,EAAA/P,GAAAnN,OAAyBmd,IAAA,CAC5DI,EAAAL,EAAA/P,GAAAgQ,GACAgnD,EAAA/0D,KAAAmO,EAAA,IACA4mD,EAAA/0D,KAAAmO,EAAA,IAGAkjF,EAAArxF,KAAAsxF,GAEA,IAAAC,EAAAn7F,OAAA81F,EAAA,KAAA91F,CAAA2+D,EAAAs8B,GAEAG,EAAA,IAAAx4C,aAAA+b,EAAAnkE,OAAA,KACAu9F,EAAA,GACA55F,EAAA,CAAA4S,aACA3S,EAAA,EAAA2S,eACAsqF,EAAA,EACA,IAAA1zF,EAAA,EAA+BA,EAAAg3D,EAAAnkE,QAC/BulC,EAAA1V,IAAA0tE,EAAAp5B,EAAAh3D,KAAA,EAAAg3D,EAAAh3D,MACAzL,KAAA4B,WACAiiC,EAAApK,cAAAoiE,IAAA77F,EAAA4B,WAEAiiC,EAAA5hC,QAAA45F,GACAh4D,EAAA3hC,QAAA25F,GACAqD,EAAAC,KAAAtD,EAAA,GACAqD,EAAAC,KAAAtD,EAAA,GACAqD,EAAAC,KAAAtD,EAAA,GAEAh4D,EAAA5hC,IAAAy8F,IAAAz8F,GACA4hC,EAAA3hC,IAAAy8F,IAAAz8F,GACA08F,EAAAlxF,KAAA,CACA+0D,OAAAy8B,EACA12C,QAAAy2C,EACAh9F,MACAC,SAGAnH,KAAAq/F,sBAAA1sF,KAAAkxF,GAGA7jG,KAAAqkG,gBAAA,CAAAV,EAAAC,IAMA5B,sBAAA,SAAArkF,GAOA,IALA,IAAAkmF,EAAA7jG,KAAAq/F,sBAAA1hF,EAAA3d,KAAAkgG,aAEAoE,EAAA,EACAC,EAAA,EAEAx5F,EAAA,EAAuBA,EAAA84F,EAAAtgG,OAAqBwH,IAC5Cu5F,GAAAT,EAAA94F,GAAA28D,OAAAnkE,OAAA,EACAghG,GAAAV,EAAA94F,GAAA0iD,QAAAlqD,OAAA,EAGA,IAAA24B,EAAA,EAAAooE,EAAA,EAAAA,EACAt9B,EAAA,EAAAu9B,EAAA,EAAAD,EAEA,OACApoE,cACA8qC,kBAIAg8B,uBAAA,SACA/0B,EAAAhyC,EAAAxW,EAAAq9E,EACAz4B,EAAAk4B,EAAAz7E,GAGA,IAAA09E,EAAAv2B,EAAAxoE,IAAA,qBAEAukE,EAAA/tC,EAAAG,WAAA91B,SACAm+F,EAAAxoE,EAAAG,WAAAywB,OACA63C,EAAAzoE,EAAAG,WAAAuwB,UACAwd,EAAAluC,EAAAG,WAAAtV,MACA+8E,EAAA7jG,KAAAq/F,sBAAA55E,EAAAzlB,KAAAkgG,aAEAyE,EAAAx6B,EAAAlmE,OAAA6iB,EAEA2mC,EAAAxxB,EAAAwxB,QAEAm3C,EAAA5kG,KAAAigG,SAAA,IACA4E,EAAA7kG,KAAAigG,SAAA,IAEAloF,EAAA,CACA/X,KAAAw9D,SAAAwD,eAAAh/D,EAAAyK,MACAzM,KAAAw9D,SAAAwD,eAAA/+D,EAAAwK,MACAzM,KAAAw9D,SAAAwD,eAAA7jC,EAAA1wB,OAGAvF,EAAA4hC,EAAA9K,IAAA,GAAAh+B,KAAAqkG,gBAAA,GAAAtsF,GACA5Q,EAAA2hC,EAAA9K,IAAA,GAAAh+B,KAAAqkG,gBAAA,GAAAtsF,GACA+sF,EAAAp+F,KAAAS,MAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,IAEA,SAAA69F,EAAAC,EAAA/iG,EAAAgjG,GAOA,IANA,IAAAv9B,EAAAs9B,EAAAt9B,OAEAC,EAAAD,EAAAnkE,OACA2hG,EAAA,GACAC,EAAA,GAEAzkF,EAAA,EAA2BA,EAAAinD,EAAejnD,GAAA,EAC1CwkF,EAAA,GAAAx9B,EAAAhnD,GACAwkF,EAAAN,GAAA3iG,EACAijG,EAAAL,GAAAn9B,EAAAhnD,EAAA,GAEAykF,EAAA,IAAAz9B,EAAAhnD,GAAA3I,EAAA,GAAA7Q,EAAA,IAAA49F,EACAK,EAAA,IAAAz9B,EAAAhnD,EAAA,GAAA3I,EAAA8sF,GAAA39F,EAAA,IAAA49F,EAEA96B,EAAA52C,IAAAi3C,EAAA66B,GACAP,GACAx6B,EAAA/2C,IAAAi3C,EAAAvjD,GAEA49E,EAAAtxE,IAAAi3C,IAAA86B,GAIA,SAAAC,EAAAJ,EAAA/iG,EAAAgjG,GAEA,IAAAI,EAAAh7B,EAEA06B,EAAAC,EAAA/iG,EAAAgjG,GAGA,IADA,IAAAx4F,EAAAu4F,EAAAv3C,QAAAlqD,OACAmd,EAAA,EAA2BA,EAAAjU,EAASiU,IACpC+sC,EAAA,EAAA80C,EAAA7hF,GAAAskF,EAAAv3C,QAAA/sC,GAAA2kF,EAEA9C,GAAAyC,EAAAv3C,QAAAlqD,OAAA,EAKA,IAFA,IAAA+hG,EAAAtlG,KAAAigG,SAAA,gBACAsF,EAAAz8D,EAAA5K,OAAA,GAAAonE,GACAxkF,EAAA,EAAuBA,EAAA+iF,EAAAtgG,OAAqBud,IAAA,CAC5C,IAAAukF,EAAAh7B,EACA26B,EAAAnB,EAAA/iF,GAEAskF,EAAAJ,EAAA,KAEAI,EAAAJ,EAAAlC,EAAA,GAGA,IADA,IAAA0C,EAAAR,EAAAt9B,OAAAnkE,OAAA,EACA4Z,EAAA,EAA2BA,EAAAqoF,EAAqBroF,IAChDsnF,EAAArxE,IAAAiyE,EAAAloF,EAAAooF,GACAd,EAAArxE,IAAAiyE,EAAAloF,EAAAqoF,EAAAF,GAGA,IAAAG,EAAA,cAEAC,EAAA,cACAn9F,EAAA,GACAC,EAAA,GACAqkD,EAAA,GACAs4C,EAAA,GACA14F,EAAA,EACA,IAAA0Q,EAAA,EAA2BA,EAAAqoF,EAAqBroF,IAAA,CAShD,IARA,IAAApZ,GAAAoZ,EAAA,GAAAqoF,EAEAxuF,GAAAguF,EAAAt9B,OAAA,EAAA3jE,GAAAihG,EAAAt9B,OAAA,EAAAvqD,IAAApF,EAAA,GACAd,GAAA+tF,EAAAt9B,OAAA,EAAA3jE,EAAA,GAAAihG,EAAAt9B,OAAA,EAAAvqD,EAAA,IAAApF,EAAA8sF,GACAc,EAAAj/F,KAAAk+C,KAAA5tC,IAAAC,KAIAyJ,EAAA,EAA+BA,EAAA,EAAOA,IAAA,CACtC,IAAAklF,EAAA,IAAAllF,GAAA,IAAAA,EACA8pD,EAAA,GAAAo7B,EAAAzoF,EAAApZ,GACA2hG,EAAAhlF,GAAA,GAAAskF,EAAAt9B,OAAA8C,GACAk7B,EAAAhlF,GAAAkkF,GAAAlkF,EAAA,EAAAoiF,EAAA,EACA4C,EAAAhlF,GAAAmkF,GAAAG,EAAAt9B,OAAA8C,EAAA,GAEAR,EAAA52C,IAAAi3C,EAAA3pD,EAAAglF,EAAAhlF,IAEA8jF,GACAW,EAAA,IAAAH,EAAAt9B,OAAA8C,GAAAzyD,EAAA,GAAA7Q,EAAA,IAAA49F,EACAK,EAAA,IAAAH,EAAAt9B,OAAA8C,EAAA,GAAAzyD,EAAA8sF,GAAA39F,EAAA29F,IAAAC,IAGAK,EAAA,IAAAS,EAAAn5F,IAAAk5F,GAAAb,EACAK,EAAA,IAAAO,EAAAhlF,GAAAkkF,GAAA7sF,EAAA6sF,GAAA19F,EAAA09F,IAAAE,GAEAJ,EAAAtxE,IAAAi3C,EAAA3pD,EAAAykF,GAEAr8D,EAAA1qB,IAAA7V,EAAAm9F,EAAA,GAAAA,EAAA,IACA58D,EAAA1qB,IAAA5V,EAAAk9F,EAAA,GAAAA,EAAA,IACA58D,EAAApL,MAAAmvB,EAAAtkD,EAAAC,GACAsgC,EAAAzqB,UAAAwuC,KAEA,IAAAnsC,EAAA,EAA+BA,EAAA,EAAOA,IACtC+jF,EAAArxE,IAAAi3C,EAAA3pD,EAAAmsC,GACA83C,GACAx6B,EAAA/2C,IAAAi3C,EAAA3pD,EAAAoG,GAIA,IAAApG,EAAA,EAA+BA,EAAA,EAAOA,IACtC+sC,EAAA,EAAA80C,EAAA7hF,GAAA+kF,EAAA/kF,GAAA2pD,EAGAA,GAAA,EACAk4B,GAAA,EAEA91F,GAAAk5F,GAMA,OAFA1pE,EAAAtX,QAEA,CACA0lD,eACAk4B,mBAIAL,oBAAA,SAAAvkF,EAAAswD,EAAAhyC,GACA,IAAAC,EAAA,EACA8qC,EAAA,EAEAy7B,EAAAx0B,EAAAy0B,eAAA/kF,GACAglF,EAAAF,EAAA9nE,SAAA,aAEAlqB,EAAAkyF,EAAAl9F,IAAA,eACA,GAAAgL,EAAA,GACA,IAAAqzF,EAAA71B,EAAA81B,uBAAApmF,GACAmmF,EAAAj5F,QAAA,SAAAg7F,GACA,IAAAzlF,EAAAylF,EAAAzlF,SACAK,EAAAolF,EAAAplF,UACAyb,GAAAD,EAAAsrC,uBAAAnnD,GACA4mD,GAAA/qC,EAAAwrC,yBAAArnD,GACA,QAAArV,EAAA,EAA+BA,EAAA0V,EAAAld,OAAsBwH,IACrDmxB,GAAAD,EAAAsrC,uBAAA9mD,EAAA1V,IACAi8D,GAAA/qC,EAAAwrC,yBAAAhnD,EAAA1V,KAEa/K,MAGb,OACAk8B,cACA8qC,kBAKAk8B,qBAAA,SAAAjnE,EAAAgyC,EAAAxoD,EAAAq9E,EAAAryF,EAAA5J,GACA,SAAAi/F,EAAAd,GAIA,IAHA,IAAAt9B,EAAA,IAAA/b,aAAA,EAAAq5C,EAAAzhG,QACAwiD,EAAA,EACA+6C,EAAA,GACA/1F,EAAA,EAA2BA,EAAAi6F,EAAAzhG,OAAoBwH,IAC/C+1F,EAAA,GAAAkE,EAAAj6F,GAAA,GAEA+1F,EAAA,GAAAgC,EAAA,GACAhC,EAAA,GAAAkE,EAAAj6F,GAAA,GAEAlE,GACAiiC,EAAApK,cAAAoiE,IAAAj6F,GAGA6gE,EAAA3hB,KAAA+6C,EAAA,GACAp5B,EAAA3hB,KAAA+6C,EAAA,GACAp5B,EAAA3hB,KAAA+6C,EAAA,GAEA,OAAAp5B,EAGA,IAAAq+B,EAAA,UACAF,EAAA53B,EAAA81B,uBAAAt+E,GACAogF,EAAAh7F,QAAA,SAAAm7F,GACA,IAAA5lF,EAAA4lF,EAAA5lF,SACAK,EAAAulF,EAAAvlF,UAEAwb,EAAAwtC,YAAAq8B,EAAA1lF,GAAA2lF,EAAAt1F,GAEA,QAAA1F,EAAA,EAA2BA,EAAA0V,EAAAld,OAAsBwH,IACjDkxB,EAAAwtC,YAAAq8B,EAAArlF,EAAA1V,IAAAg7F,EAAAt1F,MAKA+yF,UAAA,SAAA/9E,GACA,IAAAla,EAAAvL,KAAA+gG,MACA,GAAAx1F,EAAA,CAIA,IAAA2f,EAAA3f,EAAA4f,aAAA1F,GACAwgF,EAAA/6E,EAAAyP,SAAA,sBACAurE,EAAAD,EAAAxgG,IAAA,SACA0gG,EAAApH,EAAA,KAAAznE,aACA2uE,EAAAxgG,IAAA,WACA8F,EAAAic,cAAA/B,EAAA,WACA,GAEA,SAAAygF,EAAA,CACA,IAAAp/E,EAAAvb,EAAAic,cAAA/B,EAAA,SACAygF,EAAAtpE,EAAAr0B,EAAAue,MAAAs/E,KAAAt/E,GAAA,IAEA,MAAAq/E,IACAA,EAAA56F,EAAAic,cAAA/B,EAAA,YAEA,IAAA4gF,EAAAzH,EAAA,KAAA1lE,WAAAgtE,GACAG,EAAA,IAAAF,EAEAnmG,KAAAsmG,qBAAA/6F,EAAAka,EAAA4gF,KAGA9C,SAAA,SAAA99E,GAEA,IAAAla,EAAAvL,KAAA+gG,MACA,GAAAx1F,EAAA,CAIA,IAAAub,EAAAvb,EAAAic,cAAA/B,EAAA,SACAquC,EAAAirC,EAAA,KAAAznE,aAAA/rB,EAAAic,cAAA/B,EAAA,cAEA4gF,EAAAzH,EAAA,KAAA1lE,WAAApS,GACAu/E,EAAA,IAAAvyC,EAEA9zD,KAAAsmG,qBAAA/6F,EAAAka,EAAA4gF,KAGAC,qBAAA,SAAA/6F,EAAAka,EAAA4gF,GACA,KAAA5gF,EAAAzlB,KAAAkgG,aAAAz6E,EAAAzlB,KAAAmgG,WAAA,CAGA16E,GAAAzlB,KAAAkgG,YACA,QAAAn1F,EAAA/K,KAAAsiG,wBAAA,EAAA78E,GAAiE1a,EAAA/K,KAAAsiG,wBAAA,EAAA78E,EAAA,GAAqD1a,IACtH/K,KAAAwhG,aAAAvlE,SAAAG,WAAAtV,MAAAsM,IAAAroB,EAAAs7F,GAEArmG,KAAAwhG,aAAAvlE,SAAAtX,QACA3kB,KAAAggG,KAAAtuE,QAAAyB,aAIAjF,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA0nG,EAAA1nG,EAAA,IACA2nG,EAAA3nG,EAAA,GAGAiqC,EAAA09D,EAAA,KAAA19D,KAEAzsB,EAAAysB,EAAAgG,SACAxyB,EAAAwsB,EAAAgG,SACAvyB,EAAAusB,EAAAgG,SAGA5gB,EAAA,MAEA+yC,mBAAA,WACA,OAAAjhE,KAAAytD,SAAAztD,KAAAqhG,eAGAniC,gCAAA,WACA,OAAAl/D,KAAAihE,sBAAAjhE,KAAAgnE,eAAA,KAGA9F,gBAAA,SAAAulC,EAAAhtF,GACA,IAAAg0C,EAAAztD,KAAAytD,QAEA,OAAAh0C,EAAA,CACA,IAAAitF,EAAA1mG,KAAAo8B,WAAA91B,SACAmgG,IAAArpE,MAEAp9B,KAAA2mG,gBAAA3mG,KAAA2mG,eAAApjG,SAAAvD,KAAAgnE,gBACAhnE,KAAA2mG,eAAA,IAAAn7D,aAAAxrC,KAAAgnE,eACAhnE,KAAA4mG,uBAAA,IAAAn7C,YAAAzrD,KAAAgnE,eAEAhnE,KAAA6mG,YAAA,IAAAp5C,EAAAvtD,YAAAutD,EAAAlqD,QACAvD,KAAA8mG,kBAAA,IAAAt7D,aAAAxrC,KAAAgnE,gBAKA,IAFA,IACA+/B,EADAt2C,EAAA,EAEA1lD,EAAA,EAA2BA,EAAA0iD,EAAAlqD,QAAoB,CAC/CmjG,EAAAjhG,IAAAgoD,EAAA1iD,KAAAsR,GACAqqF,EAAAjhG,IAAAgoD,EAAA1iD,KAAAuR,GACAoqF,EAAAjhG,IAAAgoD,EAAA1iD,KAAAwR,GASA,IAAAu/C,EAAAhzB,EAAA1K,QAAA/hB,EAAAoqF,GACA32C,EAAAhnB,EAAA1K,QAAA9hB,EAAAmqF,GACA/mE,EAAAoJ,EAAA1K,QAAA7hB,EAAAkqF,GACAO,EAAAtgG,KAAAQ,IAAA40D,EAAAhM,GACAk3C,EAAAtgG,KAAAQ,IAAA8/F,EAAAtnE,GACA,IAAA30B,GACAg8F,EAAAC,EACAA,EAAA,GAIAA,GAAAD,EAEA/mG,KAAA2mG,eAAAl2C,KAAAu2C,GAKA,IAAAC,EAAAjnG,KAAA4mG,uBACA,IAAA77F,EAAA,EAAuBA,EAAAk8F,EAAA1jG,OAAkCwH,IACzDk8F,EAAAl8F,KAGA,GAAA/K,KAAAgnE,cAAA,IAEA,IAAAvtD,GAEAzZ,KAAAknG,aAAA,QAIA,IAAAn8F,EAAA,EAA2BA,EAAA,EAAOA,IAClC/K,KAAAmnG,sBAAA,EAAA1tF,EAAA1O,GAIA,IAAAq8F,EAAApnG,KAAA6mG,YACAQ,EAAArnG,KAAA8mG,kBACAQ,EAAAtnG,KAAA2mG,eACA,IAAA57F,EAAA,EAAuBA,EAAA/K,KAAAgnE,cAAwBj8D,IAAA,CAC/C,IAAAw8F,EAAA,EAAAN,EAAAl8F,GACAy8F,EAAA,EAAAz8F,EACAq8F,EAAAI,KAAA/5C,EAAA85C,KACAH,EAAAI,KAAA/5C,EAAA85C,KACAH,EAAAI,GAAA/5C,EAAA85C,GAEAF,EAAAt8F,GAAAu8F,EAAAL,EAAAl8F,IAIA,IAAAolD,EAAAnwD,KAAA6mG,YACA7mG,KAAA6mG,YAAA7mG,KAAAytD,QACAztD,KAAAytD,QAAA0C,EACAA,EAAAnwD,KAAA8mG,kBACA9mG,KAAA8mG,kBAAA9mG,KAAA2mG,eACA3mG,KAAA2mG,eAAAx2C,EAEAnwD,KAAAynG,gBAGAP,YAAA,SAAAQ,GACA,IAAAJ,EAAAtnG,KAAA2mG,eACAM,EAAAjnG,KAAA4mG,uBAEA,SAAAe,EAAAp/F,EAAAC,GAEA,OAAA8+F,EAAA9+F,GAAA8+F,EAAA/+F,GAEAm/F,EACAlqF,MAAAvd,UAAAg2B,KAAAl2B,KAAAknG,EAAAU,GAGApB,EAAA,KAAAtwE,KAAAgxE,EAAAU,EAAA,EAAAV,EAAA1jG,OAAA,IAIA4jG,sBAAA,SAAA1tF,GACA,IAAA6tF,EAAAtnG,KAAA2mG,eACAM,EAAAjnG,KAAA4mG,uBAEA5mG,KAAA4nG,WAAA5nG,KAAA4nG,YAAA,IAAArB,EAAA,KAEAvmG,KAAA4nG,WAAApkG,KAAAyjG,EAAA,SAAA1+F,EAAAC,GACA,OAAA8+F,EAAA9+F,GAAA8+F,EAAA/+F,IACSkR,MAMT,SAAA/W,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAkrE,EAAAhpG,EAAA,IACAipG,EAAAjpG,EAAA,IACAkpG,EAAAlpG,EAAA,GAMAmpG,EAAA,EACAC,EAAA,EAEA,SAAAC,EAAA5lG,EAAAC,EAAAwC,GAEA/E,KAAAmoG,YAAA,IAAAL,EAAA,KAEA9nG,KAAAooG,qBAAA,IAAAP,EAAA,MACAvlG,MAAA,IACAC,OAAA,IACAqJ,iBAAA7G,EAAAmmF,sBACAz0D,SAAA,WACA1xB,EAAA2sB,QAAAyB,aAGAnzB,KAAAggG,KAAAj7F,EAEA/E,KAAAmoG,YAAAt1E,SAAAO,IAAA,eAAApzB,KAAAooG,qBAAA1xE,cAGAwxE,EAAAjoG,UAAAygG,iBAAA,SAAAj7E,EAAAk7E,EAAAnxF,GACA,eAGA04F,EAAAjoG,UAAAooG,iBAAA,SAAA5iF,EAAAk7E,EAAAnxF,GACA,UAGA04F,EAAAjoG,UAAA6/F,QAAA,WACA,OAAA9/F,KAAAmoG,aAGAD,EAAAjoG,UAAAwgG,WAAA,SAAAl1F,EAAA6gB,EAAA7C,GACA,MAAA6C,IACAA,EAAA,GAEA,MAAA7C,IACAA,EAAAhe,EAAAoO,SAGA3Z,KAAAsoG,yBAAAtoG,KAAAsoG,wBAAA/kG,SAAAgmB,EAAA6C,IACApsB,KAAAsoG,wBAAA,IAAA/8C,WAAAhiC,EAAA6C,IAKA,IAHA,IAAAm8E,EAAA,iBACAC,EAAA,4BAEA7qF,EAAAyO,EAAyBzO,EAAA4L,EAAW5L,IAAA,CACpC,IAAAuN,EAAA3f,EAAA4f,aAAAxN,GACA8qF,EAAAv9E,EAAAzlB,IAAA8iG,GACAG,EAAAx9E,EAAAzlB,IAAA+iG,GACA,MAAAE,IACAA,EAAAD,GAEA,IAAAE,GAAAF,EAAAT,EAAA,IACAU,EAAAT,EAAA,GACAjoG,KAAAsoG,wBAAA3qF,EAAAyO,GAAAu8E,EAGA3oG,KAAA4oG,OAAAx8E,EACApsB,KAAA6oG,KAAAt/E,EAEAvpB,KAAA+gG,MAAAx1F,GAGA28F,EAAAjoG,UAAA+gG,aAAA,SAAA8H,GAEA,GAAA9oG,KAAA+gG,MAAA,CAIA+H,KAAA,GAIA,IAFA,IAAAC,EAAAD,EAAAvlG,OAAA,EACAylG,EAAA,GACAj+F,EAAA,EAAmBA,EAAA+9F,EAAAvlG,OAAiCwH,IACpDi+F,EAAAF,EAAA/9F,KAAA,EAGA/K,KAAAmoG,YAAAlsE,SAAAo8C,uBAAA,GACAr4E,KAAAooG,qBAAA17F,QAuBA,IArBA,IAAAu8F,EAAA,UACAC,EAAA,qBACA5uF,EAAAta,KAAA+gG,MAAAoI,UACA59F,EAAAvL,KAAA+gG,MAEAqI,EAAA9uF,EAAAqgB,SAAAsuE,GACAI,EAAA/uF,EAAAqgB,SAAAuuE,EAAAE,GAEAE,EAAA,CACAh6D,KAAA,QACAC,MAAA,OACAE,IAAA,SACAD,OAAA,UAEA+5D,EAAA,CACAj6D,KAAA,SACAC,MAAA,SACAE,IAAA,SACAD,OAAA,OAGA/pB,EAAAzlB,KAAA4oG,OAAqCnjF,EAAAzlB,KAAA6oG,KAAuBpjF,IAAA,CAC5D,IAAA+jF,GAAA,EACAT,GAAAC,EAAAvjF,KACA+jF,GAAA,GAEA,IAAAC,EAAAzpG,KAAAsoG,wBAAA7iF,EAAAzlB,KAAA4oG,SACAY,EAAAvB,EAAAD,GACA,GAAAyB,EAAA,CAIA,IAAAv+E,EAAA3f,EAAA4f,aAAA1F,GACAikF,EAAAx+E,EAAAyP,SACA6uE,EAAAN,EAAAD,EACAO,EAAAH,EAAAD,GAEA55F,EAAAk6F,EAAAjkG,IAAA,eACAa,EAAAojG,EAAAjkG,IAAA,YACAkkG,EAAAD,EAAA/uE,SAAA,aAEAhvB,EAAA3L,KAAAggG,KAAA9U,sBACAlqF,EAAAsZ,EAAAs1D,kBAAAnqD,EAAA+jF,EAAA,qBACA,SAAAxoG,GAAA,KAAAA,EACA,OAIA,IAAA4oG,EAAA,IAAAhtE,EAAAr0B,EAAArE,QAAArE,KACA+8B,EAAAr0B,EAAArE,QAAA2lG,aAAAD,EAAArpG,MAAAopG,EAAA,CACA3oG,OACA8oG,SAAAH,EAAAlkG,IAAA,UAAA8F,EAAAic,cAAA/B,EAAA,iBACA9jB,UAAA,OACAC,kBAAA,MACAkyD,QAAAi0C,EAAA,KAAAzwE,aAAAqyE,EAAAlkG,IAAA,WAAA8F,EAAAic,cAAA/B,EAAA,gBAEA,IAAAhkB,EAAAmoG,EAAAroG,kBACA6N,EAAA,IACA3N,EAAAc,QAAA6M,EAEA,IAAAy2F,EAAA7lG,KAAAooG,qBAAA7qE,IAAAqsE,GAEAjoG,EAAA2nG,EAAAhjG,IAAA,SACA1E,EAAA2nG,EAAAjjG,IAAA,SAEAtG,KAAAmoG,YAAAlsE,SAAA8tE,UACA/pG,KAAA0gG,iBAAAj7E,EAAAnf,EAAAkJ,GACA,CAAA/N,EAAAa,MAAAqJ,EAAAlK,EAAAc,OAAAoJ,GAAAk6F,EACAlkG,EAAAC,EACA5B,KAAAqoG,iBAAA5iF,EAAAnf,EAAAkJ,GAAA7D,IAIA3L,KAAAmoG,YAAAt1E,SAAAO,IAAA,UAAApzB,KAAAooG,qBAAA4B,kBAOAhqG,KAAAooG,qBAAA12E,QAAAu4E,qBACAjqG,KAAAmoG,YAAAlsE,SAAAq8C,sBACAt4E,KAAAmoG,YAAAlsE,SAAAtX,UAGAuJ,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAiiE,EAAA//F,EAAA,GACAqrG,EAAArrG,EAAA,KACAsrG,EAAAtrG,EAAA,KACAurG,EAAAvrG,EAAA,IACAg+D,EAAAh+D,EAAA,GACAwrG,EAAAxrG,EAAA,GASAyrG,EAAA,GAEAC,GAAA,GAEA,SAAAC,EAAAjiG,EAAAC,GACA,OAAAD,GAAAC,GAAAD,EAAA,KAAAC,EAAA,IAAAD,EAAA,KAAAC,EAAA,GAGA,SAAAiiG,EAAAC,EAAA3lG,GACA/E,KAAAw9D,SAAA,IAAAohC,EAAA,KAAAtrE,KAKAtzB,KAAA0qG,OAEA1qG,KAAA6/F,eAAA,IAAAuK,EAAA,aAAArlG,GAGA/E,KAAA6/F,eAAAC,UAAAjN,YAAA,IACA7yF,KAAAw9D,SAAAjgC,IAAAv9B,KAAA6/F,eAAAC,WAEA9/F,KAAAggG,KAAAj7F,EAEA/E,KAAA2qG,mBAAA//F,SAAAirB,cAAA,UAEA71B,KAAA4qG,gBAAA,EACA5qG,KAAA6qG,cAAA,EAEA7qG,KAAA8qG,WAAA,EAGAL,EAAAxqG,UAAA,CAEAC,YAAAuqG,EAKAM,sBAAA,EAEAx+E,OAAA,SAAAjS,EAAAC,EAAAxV,EAAAqnB,EAAA7C,GAEA,IAAA4mC,EAAAnwD,KAAAgrG,UACAhrG,KAAAgrG,UAAAhrG,KAAAirG,MACAjrG,KAAAirG,MAAA96C,EAEA,IAAA5kD,EAAA+O,EAAAE,UAWA,GATA,MAAA4R,IACAA,EAAA,GAEA,MAAA7C,IACAA,EAAAhe,EAAAoO,SAEA3Z,KAAA4qG,gBAAAx+E,EACApsB,KAAA6qG,cAAAthF,EAAA,GAEAvpB,KAAAirG,MAAA,CACA,IAAAp4E,EAAA7yB,KAAAgrG,WAAAhrG,KAAAgrG,UAAAn4E,SACA7yB,KAAAirG,MAAA,IAAAd,EAAA,MAEAtX,YAAA,GAEAxgC,gBAAA,IAEAx/B,IACA7yB,KAAAirG,MAAAp4E,YAGAA,EAAA7yB,KAAAirG,MAAAp4E,SAAA,IACAoJ,EAAAj8B,KAAAirG,MAAAhvE,SACAG,EAAAH,EAAAG,WAEAp8B,KAAAw9D,SAAAhxD,OAAAxM,KAAAgrG,WACAhrG,KAAAw9D,SAAAjgC,IAAAv9B,KAAAirG,OAEAjrG,KAAAkrG,0BAAAlrG,KAAAirG,MAAAjrG,KAAAmrG,kBAEA,IAAAC,EAAAprG,KAAAqrG,eAAA/wF,EAAA8R,EAAA7C,GACA5d,EAAA5G,EAAAmmF,sBAGAogB,EAAAhxF,EAAAqgB,SAAA,aAAA4wE,eACAC,EAAAlxF,EAAA7U,IAAA,SAEAgmG,EAAA,EACAL,EAAAx+F,QAAA,GACA6+F,EAAAzrG,KAAA0rG,oBAAApxF,EAAAgxF,EAAAF,EAAAz/F,GACAknB,EAAAK,cAAA,WAGAL,EAAAE,eAAA,UAGAqJ,EAAA91B,SAAA4c,KAAAqG,EAAA6C,GACA,IAAAu/E,EAAA,GACA,GAAAH,EAAA,CACA34E,EAAA6J,SAAA,eACA7J,EAAA6J,SAAA,gBAEA,IAAA5V,EAAAvb,EAAAgS,UAAA,SACAu2C,EAAAvoD,EAAAgS,UAAA,WACAqhF,EAAA,KAAA1lE,WAAApS,EAAA6kF,GACAA,EAAA,IAAA73C,EAEAjhC,EAAAO,IAAA,CACAtM,MAAA6kF,EACAC,OAAAR,EAAAx+F,QAAA5M,KAAA8qG,kBAIAj4E,EAAAO,IAAA,CACAtM,MAAA,YAEA+L,EAAA0H,OAAA,eACA1H,EAAA0H,OAAA,gBACA6B,EAAAnhB,KAAAiI,KAAAqG,EAAA6C,GACAgQ,EAAAtV,MAAA5D,KAAAqG,EAAA6C,GACApsB,KAAA6rG,iBAAA,IAAArgE,aAAAjiB,EAAA6C,GASA,IANA,IAAAs7C,EAAAn8D,EAAAsS,UAAA,UAEAiuF,EAAA1vE,EAAA91B,SAAArC,MAIA8G,EAAA,EAAuBA,EAAAwe,EAAA6C,EAAiBrhB,IAAA,CACxC,IAAA+iD,EAAA,EAAA/iD,EACA8iD,EAAA,EAAA9iD,EAYA,GAXA/K,KAAA0qG,MACAoB,EAAAh+C,GAAA4Z,EAAA7Z,GACAi+C,EAAAh+C,EAAA,GAAA4Z,EAAA7Z,EAAA,GACAi+C,EAAAh+C,EAAA,GAAAy8C,IAGAuB,EAAAh+C,GAAA4Z,EAAA5Z,GACAg+C,EAAAh+C,EAAA,GAAA4Z,EAAA5Z,EAAA,GACAg+C,EAAAh+C,EAAA,GAAA4Z,EAAA5Z,EAAA,KAGA09C,EAAA,CACA1kF,EAAAvb,EAAAic,cAAAzc,EAAA,SACA+oD,EAAAvoD,EAAAic,cAAAzc,EAAA,WACA6zF,EAAA,KAAA1lE,WAAApS,EAAA6kF,GACAA,EAAA,IAAA73C,EACA13B,EAAAtV,MAAAsM,IAAAroB,EAAA4gG,GACAA,EAAA,SACA,EAEA,IAAAruF,EAAA/R,EAAAic,cAAAzc,EAAA,cACAuS,eAAAE,MACA9W,KAAAS,IAAAmW,EAAA,GAAAA,EAAA,IAAAA,EAGA1D,MAAA0D,KACAA,EAAA,GAGA8e,EAAAnhB,KAAAhX,MAAA8G,GAAAuS,EAAAmuF,EAAAzrG,KAAA8qG,WAGA9qG,KAAA6rG,iBAAA9gG,GAAA4gG,EAAA,IAKA3rG,KAAAirG,MAAAc,UAAAN,EAEAxvE,EAAAmxB,oBACAnxB,EAAAtX,QAGA3kB,KAAAgsG,gBAAA1xF,EAAAgxF,GAEA,IAAArmG,EAAAqV,EAAApV,iBACA,GAAAD,KAAAiqE,OAAA,CACA,IAAAzlD,EAAAxkB,EAAAiqE,OAAAjL,gBAAA,oBACApxC,EAAApJ,GAAA,0BAGA+hF,GACAxrG,KAAAisG,oBAAA3xF,EAAA8R,EAAA7C,GAGAvpB,KAAAksG,eAAA5xF,EAAAC,EAAAxV,GAEA/E,KAAAmsG,iBAAA7xF,GAEAta,KAAAggG,KAAAj7F,GAGAqnG,cAAA,WACA,OAAApsG,KAAAirG,OAGAjK,aAAA,SAAA8H,GACA9oG,KAAA6/F,eAAAmB,aAAA8H,IAGAuD,WAAA,WACArsG,KAAAw9D,SAAAhxD,OAAAxM,KAAA6/F,eAAAC,YAGAwM,WAAA,WACAtsG,KAAAw9D,SAAAjgC,IAAAv9B,KAAA6/F,eAAAC,YAGA4L,oBAAA,SAAApxF,EAAAgxF,EAAAF,EAAAz/F,GACAy/F,EAAAx+F,QAAAlG,KAAAQ,IAAA,EAAAkkG,EAAAx+F,QAAA,KACA,IAAA0Q,EAAA,GAmCA,OAlCA8tF,EAAAxqF,OAAA,GACAtD,EAAA,GAAA8tF,EAAAx+F,QACA0Q,EAAA,GAAA8tF,EAAAx+F,QAAAw+F,EAAAxqF,SAGAtD,EAAA,GAAA8tF,EAAAx+F,QACA0Q,EAAA,GAAA8tF,EAAAx+F,QAAAw+F,EAAAxqF,QAIAtD,EAAA,GAAAA,EAAA,MACAA,EAAA,GAAAA,EAAA,MAEAtd,KAAAusG,cAAAnB,EAAAjrG,MACAqqG,EAAAxqG,KAAAwsG,YAAAlvF,IACAtd,KAAAysG,aAAAnB,EAAA76F,YAEAy5F,EAAA,KAAAwC,mBAAAtB,EAAAjrG,KAAAmd,EAAA,CACA5c,KAAA,OACA+P,UAAA66F,EAAA76F,UACA9P,OAAA,cACAE,YAAA,cACA8rG,UAAAjmG,KAAAQ,IAAAoW,EAAA,UACatd,KAAA2qG,oBAEbT,EAAA,KAAA0C,oBACA5sG,KAAA2qG,mBAAAjkG,KAAAQ,IAAAlH,KAAA2qG,mBAAAroG,MAAA,IAAAgoG,EACAtqG,KAAAirG,MAAAp4E,SAAAptB,IAAA,UAAAqN,OAGA9S,KAAAusG,YAAAnB,EAAAjrG,KACAH,KAAAwsG,YAAAlvF,EACAtd,KAAAysG,WAAAnB,EAAA76F,WAEAzQ,KAAA2qG,mBAAAroG,MAAA8oG,EAAAx+F,QAAAjB,GAIAqgG,gBAAA,SAAA1xF,EAAAgxF,GACA,IAAAvyE,EAAA,YAAAze,EAAA7U,IAAA,aACAm5F,EAAA,KAAAjmE,cAAA,KACA9F,EAAA7yB,KAAAirG,MAAAp4E,SACAA,EAAAyjC,MAAAv9B,EAEAlG,EAAAO,IAAA,YAAAk4E,EAAA76F,UAAA65F,GAEA,IAAAuC,EAAAjO,EAAA,KAAA1lE,WAAAoyE,EAAA3qG,QACAkyB,EAAAO,IAAA,cAAAy5E,GAGAh6E,EAAA6gC,aAAA,EACA7gC,EAAA0gC,WAAA,EACA1gC,EAAAwjC,WAAAr2D,KAAA0qG,KACA73E,EAAAi6E,cAAA9sG,KAAA0qG,MAGAuB,oBAAA,SAAA3xF,EAAA8R,EAAA7C,GACA,IAAAhe,EAAA+O,EAAAE,UACAyhB,EAAAj8B,KAAAirG,MAAAhvE,SACA6vE,EAAA7vE,EAAAG,WAAA91B,SAAArC,MAEAwnG,GADAr/E,EAAApsB,KAAA4qG,gBACA5qG,KAAAirG,MAAAc,WACA/rG,KAAA6/F,eAAAY,WAAAl1F,EAAA6gB,EAAA7C,GAEAvpB,KAAA6/F,eAAAa,iBAAA,SAAAj7E,EAAAk7E,EAAAnxF,GACA,IAAAg7D,EAAA,GAAA/kD,EAAA2G,GACA,OAAA0/E,EAAAthC,GAAAshC,EAAAthC,EAAA,GAAAshC,EAAAthC,EAAA,KAGAxqE,KAAA6/F,eAAAwI,iBAAA,SAAA5iF,EAAAk7E,EAAAnxF,GACA,IAAAyL,EAAAghB,EAAAG,WAAAnhB,KAAAxV,IAAAggB,EAAA2G,GAAAq/E,EACA,OAAAxwF,EAAA,EAAAzL,GAEAxP,KAAA6/F,eAAAmB,gBAIAmL,iBAAA,SAAA7xF,GACAskF,EAAA,KAAAnjE,sBACA,6BACA,qBACAz7B,KAAAgrG,UACAhrG,KAAAirG,MACA3wF,IAIA4xF,eAAA,SAAA5xF,EAAAC,EAAAxV,GACA,IAQAgoG,EARAxhG,EAAA+O,EAAAE,UACAwyF,EAAAhtG,KAAAirG,MACAvjE,EAAA1nC,KAEAitG,GAAA,EACAC,EAAA5yF,EAAApV,kBACA,gBAAAoV,EAAApV,iBAAA/E,KAGA+sG,IACAH,EAAAzyF,EAAApV,iBAAAye,OAGAqpF,EAAAnqF,YAAAvI,EAAAuI,YAEAmqF,EAAAn3F,IAAA,aACAm3F,EAAAn3F,IAAA,YAEAm3F,EAAAp3F,GAAA,qBAAAO,GACA,IAAAsP,EAAAtP,EAAAg3F,YAAAzlE,EAAAkjE,gBACAnlF,IAAAwnF,IACAjtG,KAAA+qG,uBACA/qG,KAAAujG,SAAAh4F,EAAA0hG,GACAjtG,KAAAwjG,UAAAj4F,EAAAka,GACAzlB,KAAA6/F,eAAAmB,aAAA,CAAAv7E,KAGAynF,GACAnoG,EAAAqoG,eAAA,CACAjtG,KAAA,wBACA8D,MAAA,CACAsH,EAAA9F,IAAA6U,EAAAkO,kBAAA,QAAA/C,GACAla,EAAA9F,IAAA6U,EAAAkO,kBAAA,QAAA/C,GACAla,EAAA9F,IAAA6U,EAAAkO,kBAAA,QAAA/C,IAEA4nF,YAAAN,EAAAzpF,kBAKA0pF,EAAAvnF,YACAwnF,EAAAxnF,GACSzlB,MACTgtG,EAAAp3F,GAAA,oBAAAO,GACA,IAAAsP,EAAAtP,EAAAg3F,YAAAzlE,EAAAkjE,gBACA5qG,KAAA+qG,uBACA/qG,KAAAujG,SAAAh4F,EAAAka,GACAzlB,KAAA6/F,eAAAmB,gBAEAiM,GAAA,EACAD,EAAAvnF,WAAA,EAEAynF,GACAnoG,EAAAqoG,eAAA,CACAjtG,KAAA,wBACAktG,YAAAN,EAAAzpF,kBAGStjB,OAGTstG,aAAA,SAAAhzF,EAAAC,EAAAxV,GACA,IAAAwG,EAAA+O,EAAAE,UACA,GAAAxa,KAAAirG,MAAA,CAIA,IAAAa,EAAA9rG,KAAAirG,MAAAhvE,SAAAG,WAAA91B,SAAArC,MACAyjE,EAAAn8D,EAAAsS,UAAA,UACA,GAAA7d,KAAA0qG,KACA,QAAA3/F,EAAA,EAA2BA,EAAA28D,EAAAnkE,OAAA,EAAuBwH,IAAA,CAClD,IAAA+iD,EAAA,EAAA/iD,EACA8iD,EAAA,EAAA9iD,EACA+gG,EAAAh+C,GAAA4Z,EAAA7Z,GACAi+C,EAAAh+C,EAAA,GAAA4Z,EAAA7Z,EAAA,GACAi+C,EAAAh+C,EAAA,GAAAy8C,OAIA,IAAAx/F,EAAA,EAA2BA,EAAA28D,EAAAnkE,OAAmBwH,IAC9C+gG,EAAA/gG,GAAA28D,EAAA38D,GAGA/K,KAAAirG,MAAAhvE,SAAAtX,QAEA5f,EAAA2sB,QAAAyB,YAGAo6E,WAAA,SAAAj7C,GACA,GAAAtyD,KAAAirG,MAAA,CAIA,IAAAuC,EAAA,IAAA3wC,EAAA,KACAA,EAAA,KAAA7+B,IAAAwvE,EAAAl7C,EAAAikB,WAAAv2E,KAAAirG,MAAAjqC,gBACAnE,EAAA,KAAA7+B,IAAAwvE,EAAAl7C,EAAAukB,iBAAA22B,GAEAxtG,KAAAirG,MAAAwC,kBAAAD,EAAAxtG,KAAA0qG,KAAA1qG,KAAAggG,QAGAwD,UAAA,SAAAj4F,EAAAka,GACA,KAAAA,EAAAzlB,KAAA6qG,eAAAplF,EAAAzlB,KAAA4qG,iBAAA,CAGA,IAAA1/E,EAAA3f,EAAA4f,aAAA1F,GACAwgF,EAAA/6E,EAAAyP,SAAA,sBACAurE,EAAAD,EAAAxgG,IAAA,SACA0gG,EAAAF,EAAAxgG,IAAA,WACA,SAAAygG,EAAA,CACA,IAAAp/E,EAAAvb,EAAAic,cAAA/B,EAAA,SACAygF,EAAAtpE,EAAAr0B,EAAAue,MAAAs/E,KAAAt/E,GAAA,IAEA,MAAAq/E,IACAA,EAAA56F,EAAAic,cAAA/B,EAAA,YAEA,IAAA4gF,EAAAzH,EAAA,KAAA1lE,WAAAgtE,GACAG,EAAA,IAAAF,EAEAnmG,KAAAirG,MAAAhvE,SAAAG,WAAAtV,MAAAsM,IAAA3N,EAAAzlB,KAAA4qG,gBAAAvE,GACArmG,KAAAirG,MAAAhvE,SAAAyxE,eAAA,SAEA1tG,KAAAggG,KAAAtuE,QAAAyB,YAGAowE,SAAA,SAAAh4F,EAAAka,GACA,KAAAA,EAAAzlB,KAAA6qG,eAAAplF,EAAAzlB,KAAA4qG,iBAAA,CAGA,IAAA9jF,EAAAvb,EAAAic,cAAA/B,EAAA,SACAquC,EAAAvoD,EAAAic,cAAA/B,EAAA,WAEA4gF,EAAAzH,EAAA,KAAA1lE,WAAApS,GACAu/E,EAAA,IAAAvyC,EAEA9zD,KAAAirG,MAAAhvE,SAAAG,WAAAtV,MAAAsM,IAAA3N,EAAAzlB,KAAA4qG,gBAAAvE,GACArmG,KAAAirG,MAAAhvE,SAAAyxE,eAAA,SAEA1tG,KAAAggG,KAAAtuE,QAAAyB,YAGAw6E,WAAA,SAAAC,GACA,GAAA5tG,KAAA6rG,iBAAA,CAEA,IADA,IAAA7F,EAAAhmG,KAAAirG,MAAAhvE,SACAlxB,EAAA,EAA2BA,EAAAi7F,EAAA9pE,YAAqBnxB,IAAA,CAChD,IAAA8iG,EAAA7tG,KAAA6rG,iBAAA9gG,GAAA6iG,EACA5H,EAAA5pE,WAAAtV,MAAA7iB,MAAA,EAAA8G,EAAA,GAAA8iG,EAEA7H,EAAA0H,eAAA,SAEA1tG,KAAAggG,KAAAtuE,QAAAyB,YAIA26E,UAAA,WACA9tG,KAAA2tG,WAAA,IAGAI,mBAAA,SAAAn7E,GACA5yB,KAAAirG,OACAjrG,KAAAkrG,0BAAAlrG,KAAAirG,MAAAr4E,GAGA5yB,KAAAmrG,iBAAAv4E,GAGAo7E,sBAAA,WACAhuG,KAAAmrG,iBAAA,KACAnrG,KAAAirG,OACAjrG,KAAAkrG,0BAAAlrG,KAAAirG,MAAA,OAIAgD,aAAA,SAAAlC,GACA,GAAAA,IAAA/rG,KAAA8qG,WAAA,CACA,GAAA9qG,KAAAirG,MAAA,CACA,IAAAiD,EAAAluG,KAAAirG,MAAAp4E,SAAAptB,IAAA,UACAzF,KAAAirG,MAAAp4E,SAAAO,IAAA,SAAA86E,EAAAluG,KAAA8qG,WAAAiB,GAEA,IAAA3vE,EAAAp8B,KAAAirG,MAAAhvE,SAAAG,WACA,GAAAA,EAAAnhB,KAAAhX,MACA,QAAA8G,EAAA,EAAmCA,EAAAqxB,EAAAnhB,KAAAhX,MAAAV,OAAkCwH,IACrEqxB,EAAAnhB,KAAAhX,MAAA8G,GAAAqxB,EAAAnhB,KAAAhX,MAAA8G,GAAA/K,KAAA8qG,WAAAiB,EAIA/rG,KAAA8qG,WAAAiB,IAIAb,0BAAA,SAAA94C,EAAAx/B,GACAA,GACAw/B,EAAAv/B,SAAAO,IAAA,kBAAAR,GAEAw/B,EAAAv/B,SACAD,EAAA,kCACA,oBAGAy4E,eAAA,SAAA/wF,EAAA8R,EAAA7C,GACA,GAAAjP,EAAA7U,IAAA,UACA,IAAA6X,EAAA+sF,EAAA,KAAA/yE,aAAAhd,EAAA7U,IAAA,iBAWA,OARA6X,aAAAE,OACA2wF,EAAAznG,KAAAS,IAAAmW,EAAA,GAAAA,EAAA,IACA8wF,EAAA9wF,EAAA,GAAAA,EAAA,KAGA6wF,EAAA7wF,EACA8wF,EAAA,GAEA,CACAxhG,QAAA0Q,EACAnd,KAAAma,EAAA7U,IAAA,UACAmb,OAAAwtF,GAUA,IAPA,IACAA,EADA7iG,EAAA+O,EAAAE,UAEA6zF,GAAA,EACA/jF,EAAA/e,EAAAic,cAAA,sBACA8mF,GAAA,EACAH,EAAA,EAEAxwF,EAAAyO,EAA6BzO,EAAA4L,EAAW5L,IAAA,CACxCL,EAAA/R,EAAAic,cAAA7J,EAAA,kBAEA4wF,EADAC,EAAAjjG,EAAAic,cAAA7J,EAAA,UAEA,GAAAL,aAAAE,MAUA+wF,EAAAjxF,EAAA,GAAAA,EAAA,GACA6wF,EAAAznG,KAAAS,IAAAT,KAAAS,IAAAmW,EAAA,GAAAA,EAAA,IAAA6wF,OAXA,CAEA,GAAAv0F,MAAA0D,GACA,OAGAixF,EAAA,EACAJ,EAAAznG,KAAAS,IAAAmW,EAAA6wF,GAOA,MAAAC,GAAA1nG,KAAAiR,IAAA42F,EAAAH,GAAA,MACAC,GAAA,GAEAG,IAAAlkF,IACAgkF,GAAA,GAGAhkF,EAAAkkF,EACAJ,EAAAG,EAYA,OARAF,GACAj2E,QAAAyH,KAAA,0DAEAyuE,GACAl2E,QAAAyH,KAAA,0CAIA,CACAjzB,QAAAuhG,EACAhuG,KAAAmqB,EACA1J,OAAAwtF,KAKAlgF,EAAA,QAKA,SAAAxrB,EAAAC,GAEA,IAAAipD,EAGAA,EAAA,WACA,OAAA5rD,KADA,GAIA,IAEA4rD,KAAA1B,SAAA,cAAAA,KAAA,EAAAukD,MAAA,QACC,MAAAt4F,GAED,kBAAAxL,SACAihD,EAAAjhD,QAOAjI,EAAAC,QAAAipD,GAKA,SAAAlpD,EAAAwrB,EAAArvB,GAEA,aACA,IAAA6vG,EAAA7vG,EAAA,KAQA8N,EAAA,SAAAC,GAEA5M,KAAA6M,MAAA,IAAA6hG,EAAA,KAEA1uG,KAAA8M,KAAA,GAEA9M,KAAA+M,SAAAH,GAAA,IAOAD,EAAA1M,UAAA0uG,WAAA,SAAA1zF,GACAjb,KAAA+M,SAAAkO,GAOAtO,EAAA1M,UAAAiN,IAAA,SAAAjC,EAAAhH,GACA,IAAAjE,KAAA8M,KAAA5B,eAAAD,GAAA,CACA,IAAAwB,EAAAzM,KAAA6M,MAAAtJ,SACA,GAAAkJ,GAAAzM,KAAA+M,UAAAN,EAAA,GAEA,IAAAa,EAAAtN,KAAA6M,MAAAd,KACA/L,KAAA6M,MAAAL,OAAAc,UACAtN,KAAA8M,KAAAQ,EAAArC,KAGA,IAAAmB,EAAApM,KAAA6M,MAAAV,OAAAlI,GACAmI,EAAAnB,MACAjL,KAAA8M,KAAA7B,GAAAmB,IAQAO,EAAA1M,UAAAwF,IAAA,SAAAwF,GACA,IAAAmB,EAAApM,KAAA8M,KAAA7B,GACA,GAAAjL,KAAA8M,KAAA5B,eAAAD,GAOA,OALAmB,IAAApM,KAAA6M,MAAAb,OACAhM,KAAA6M,MAAAL,OAAAJ,GACApM,KAAA6M,MAAAP,YAAAF,IAGAA,EAAAnI,OAOA0I,EAAA1M,UAAAuM,OAAA,SAAAvB,GACA,IAAAmB,EAAApM,KAAA8M,KAAA7B,GACA,gCACAjL,KAAA8M,KAAA7B,GACAjL,KAAA6M,MAAAL,OAAAJ,KAOAO,EAAA1M,UAAAyM,MAAA,WACA1M,KAAA6M,MAAAH,QACA1M,KAAA8M,KAAA,IAGAohB,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA8lD,EAAA9lD,EAAA,IA+BA2c,EAAA,CAOAszB,OAAA,WACA,IAAAzP,EAAA,IAAAslB,EAAA,QAGA,OAFAtlB,EAAA,KACAA,EAAA,KACAA,GASA9pB,MAAA,SAAAhN,GACA,IAAA82B,EAAA,IAAAslB,EAAA,QAGA,OAFAtlB,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,GAUAhC,WAAA,SAAAr7B,EAAAC,GACA,IAAAo9B,EAAA,IAAAslB,EAAA,QAGA,OAFAtlB,EAAA,GAAAr9B,EACAq9B,EAAA,GAAAp9B,EACAo9B,GAUAjmB,KAAA,SAAAimB,EAAA92B,GAGA,OAFA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,GAWAjM,IAAA,SAAAiM,EAAAr9B,EAAAC,GAGA,OAFAo9B,EAAA,GAAAr9B,EACAq9B,EAAA,GAAAp9B,EACAo9B,GAWA9B,IAAA,SAAA8B,EAAA92B,EAAAC,GAGA,OAFA62B,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GACA62B,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GACA62B,GAWAb,SAAA,SAAAa,EAAA92B,EAAAC,GAGA,OAFA62B,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GACA62B,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GACA62B,IAOA7jB,EAAA4C,IAAA5C,EAAAgjB,SAUAhjB,EAAAyiB,SAAA,SAAAoB,EAAA92B,EAAAC,GAGA,OAFA62B,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GACA62B,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GACA62B,GAOA7jB,EAAAwiB,IAAAxiB,EAAAyiB,SAUAziB,EAAAqiB,OAAA,SAAAwB,EAAA92B,EAAAC,GAGA,OAFA62B,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GACA62B,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GACA62B,GAOA7jB,EAAAoiB,IAAApiB,EAAAqiB,OAUAriB,EAAAtU,IAAA,SAAAm4B,EAAA92B,EAAAC,GAGA,OAFA62B,EAAA,GAAA34B,KAAAQ,IAAAqB,EAAA,GAAAC,EAAA,IACA62B,EAAA,GAAA34B,KAAAQ,IAAAqB,EAAA,GAAAC,EAAA,IACA62B,GAWA7jB,EAAArU,IAAA,SAAAk4B,EAAA92B,EAAAC,GAGA,OAFA62B,EAAA,GAAA34B,KAAAS,IAAAoB,EAAA,GAAAC,EAAA,IACA62B,EAAA,GAAA34B,KAAAS,IAAAoB,EAAA,GAAAC,EAAA,IACA62B,GAWA7jB,EAAAzD,MAAA,SAAAsnB,EAAA92B,EAAAC,GAGA,OAFA62B,EAAA,GAAA92B,EAAA,GAAAC,EACA62B,EAAA,GAAA92B,EAAA,GAAAC,EACA62B,GAYA7jB,EAAA8C,YAAA,SAAA+gB,EAAA92B,EAAAC,EAAAuP,GAGA,OAFAsnB,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GAAAuP,EACAsnB,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GAAAuP,EACAsnB,GAUA7jB,EAAAhM,SAAA,SAAAjH,EAAAC,GACA,IAAAxG,EAAAwG,EAAA,GAAAD,EAAA,GACAtG,EAAAuG,EAAA,GAAAD,EAAA,GACA,OAAA7B,KAAAk+C,KAAA5iD,IAAAC,MAOAuZ,EAAAmiB,KAAAniB,EAAAhM,SASAgM,EAAA6iB,gBAAA,SAAA91B,EAAAC,GACA,IAAAxG,EAAAwG,EAAA,GAAAD,EAAA,GACAtG,EAAAuG,EAAA,GAAAD,EAAA,GACA,OAAAvG,IAAAC,KAOAuZ,EAAA4iB,QAAA5iB,EAAA6iB,gBAQA7iB,EAAAjY,OAAA,SAAAgF,GACA,IAAAvG,EAAAuG,EAAA,GACAtG,EAAAsG,EAAA,GACA,OAAA7B,KAAAk+C,KAAA5iD,IAAAC,MAOAuZ,EAAA/O,IAAA+O,EAAAjY,OAQAiY,EAAA+iB,cAAA,SAAAh2B,GACA,IAAAvG,EAAAuG,EAAA,GACAtG,EAAAsG,EAAA,GACA,OAAAvG,IAAAC,KAOAuZ,EAAA8iB,OAAA9iB,EAAA+iB,cASA/iB,EAAA0iB,OAAA,SAAAmB,EAAA92B,GAGA,OAFA82B,EAAA,IAAA92B,EAAA,GACA82B,EAAA,IAAA92B,EAAA,GACA82B,GAUA7jB,EAAAqpC,QAAA,SAAAxlB,EAAA92B,GAGA,OAFA82B,EAAA,KAAA92B,EAAA,GACA82B,EAAA,KAAA92B,EAAA,GACA82B,GAUA7jB,EAAA6C,UAAA,SAAAghB,EAAA92B,GACA,IAAAvG,EAAAuG,EAAA,GACAtG,EAAAsG,EAAA,GACAkE,EAAAzK,IAAAC,IAOA,OANAwK,EAAA,IAEAA,EAAA,EAAA/F,KAAAk+C,KAAAn4C,GACA4yB,EAAA,GAAA92B,EAAA,GAAAkE,EACA4yB,EAAA,GAAA92B,EAAA,GAAAkE,GAEA4yB,GAUA7jB,EAAAsiB,IAAA,SAAAv1B,EAAAC,GACA,OAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,IAYAgT,EAAAkiB,MAAA,SAAA2B,EAAA92B,EAAAC,GACA,IAAA20B,EAAA50B,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAGA,OAFA62B,EAAA,GAAAA,EAAA,KACAA,EAAA,GAAAlC,EACAkC,GAYA7jB,EAAAuiB,KAAA,SAAAsB,EAAA92B,EAAAC,EAAA4T,GACA,IAAA0oC,EAAAv8C,EAAA,GACAw8C,EAAAx8C,EAAA,GAGA,OAFA82B,EAAA,GAAAylB,EAAA1oC,GAAA5T,EAAA,GAAAs8C,GACAzlB,EAAA,GAAA0lB,EAAA3oC,GAAA5T,EAAA,GAAAu8C,GACA1lB,GAUA7jB,EAAA2iB,OAAA,SAAAkB,EAAAtnB,GACAA,KAAA,EACA,IAAA6G,EAAA,EAAAu5C,eAAAzxD,KAAAC,GAGA,OAFA04B,EAAA,GAAA34B,KAAAwY,IAAAN,GAAA7G,EACAsnB,EAAA,GAAA34B,KAAA0Y,IAAAR,GAAA7G,EACAsnB,GAWA7jB,EAAAsvD,cAAA,SAAAzrC,EAAA92B,EAAAglB,GACA,IAAAvrB,EAAAuG,EAAA,GACAtG,EAAAsG,EAAA,GAGA,OAFA82B,EAAA,GAAA9R,EAAA,GAAAvrB,EAAAurB,EAAA,GAAAtrB,EACAo9B,EAAA,GAAA9R,EAAA,GAAAvrB,EAAAurB,EAAA,GAAAtrB,EACAo9B,GAWA7jB,EAAAuvD,eAAA,SAAA1rC,EAAA92B,EAAAglB,GACA,IAAAvrB,EAAAuG,EAAA,GACAtG,EAAAsG,EAAA,GAGA,OAFA82B,EAAA,GAAA9R,EAAA,GAAAvrB,EAAAurB,EAAA,GAAAtrB,EAAAsrB,EAAA,GACA8R,EAAA,GAAA9R,EAAA,GAAAvrB,EAAAurB,EAAA,GAAAtrB,EAAAsrB,EAAA,GACA8R,GAYA7jB,EAAAijB,cAAA,SAAAY,EAAA92B,EAAAglB,GACA,IAAAvrB,EAAAuG,EAAA,GACAtG,EAAAsG,EAAA,GAGA,OAFA82B,EAAA,GAAA9R,EAAA,GAAAvrB,EAAAurB,EAAA,GAAAtrB,EAAAsrB,EAAA,GACA8R,EAAA,GAAA9R,EAAA,GAAAvrB,EAAAurB,EAAA,GAAAtrB,EAAAsrB,EAAA,GACA8R,GAaA7jB,EAAAkjB,cAAA,SAAAW,EAAA92B,EAAAglB,GACA,IAAAvrB,EAAAuG,EAAA,GACAtG,EAAAsG,EAAA,GAGA,OAFA82B,EAAA,GAAA9R,EAAA,GAAAvrB,EAAAurB,EAAA,GAAAtrB,EAAAsrB,EAAA,IACA8R,EAAA,GAAA9R,EAAA,GAAAvrB,EAAAurB,EAAA,GAAAtrB,EAAAsrB,EAAA,IACA8R,GAeA7jB,EAAA3Q,QAAA,WACA,IAAAg7C,EAAArqC,EAAAszB,SAEA,gBAAAvmC,EAAAu9C,EAAAC,EAAApsC,EAAAvW,EAAA4iD,GACA,IAAAj7C,EAAAC,EAeA,IAdA86C,IACAA,EAAA,GAGAC,IACAA,EAAA,GAIA/6C,EADA2O,EACAjT,KAAAQ,IAAAyS,EAAAmsC,EAAAC,EAAAx9C,EAAAhF,QAEAgF,EAAAhF,OAGAwH,EAAAg7C,EAAuBh7C,EAAAC,EAAOD,GAAA+6C,EAC9BD,EAAA,GAAAt9C,EAAAwC,GAA0B86C,EAAA,GAAAt9C,EAAAwC,EAAA,GAC1B3H,EAAAyiD,IAAAG,GACAz9C,EAAAwC,GAAA86C,EAAA,GAA0Bt9C,EAAAwC,EAAA,GAAA86C,EAAA,GAG1B,OAAAt9C,GAzBA,GA6BA2lB,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,2qBAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAumE,EAAAvmE,EAAA,IACAqiC,EAAAriC,EAAA,IASA+vG,EAAAxpC,EAAA,KAAA1gE,OAAA,CAIAmuB,SAAA,KAKAoJ,SAAA,KAKAk0D,KAAAjvD,EAAA,KAAAqU,UAEAs5D,YAAA,MAGA,CAEA/hB,UAAA,KAKAzV,WAAA,EAKAwb,YAAA,EAYAjZ,SAAA,EAUAqU,SAAA/sD,EAAA,KAAAyW,KASAu2C,UAAAhtD,EAAA,KAAA0X,IAMAyZ,gBAAA,EAIAuP,eAAA,EAIA4D,YAAA,EAIAm5B,eAAA,EAIAxiE,YAAA,EAKA2yE,eAAA,EAKAzqE,aAAA,WAEA,OAAArkC,KAAAi8B,UAAAj8B,KAAA6yB,UAAA7yB,KAAA6yB,SAAAF,SAAA3yB,KAAA8wE,WACA9wE,KAAAi8B,SAAAC,YAAA,GAOA8wD,aAAA,SAAA5qD,KAMA6qD,YAAA,SAAA7qD,EAAA2sE,KAEA97B,eAAA,SAAAprB,EAAAxoB,GAMA,OALAA,EAAA+lC,EAAA,KAAAnlE,UAAAgzE,eAAAlzE,KAAAC,KAAA6nD,EAAAxoB,GACAr/B,KAAAi8B,UAAAj8B,KAAAi8B,SAAAixB,aACA7tB,EAAA80B,MAAAn0D,KAAAi8B,SAAAixB,aAGA7tB,GAQA9pB,MAAA,WACA,IAAAuK,EAAA,CACA,6BACA,wCACA,iBACA,0BACA,8CAEA,kBACA,IAAAk/C,EAAAoG,EAAA,KAAAnlE,UAAAsV,MAAAxV,KAAAC,MAEAg/D,EAAA/iC,SAAAj8B,KAAAi8B,SACA+iC,EAAAnsC,SAAA7yB,KAAA6yB,SAEA,QAAA9nB,EAAA,EAA2BA,EAAA+U,EAAAvc,OAAuBwH,IAAA,CAClD,IAAAuD,EAAAwR,EAAA/U,GAEAi0D,EAAA1wD,KAAAtO,KAAAsO,KACA0wD,EAAA1wD,GAAAtO,KAAAsO,IAIA,OAAA0wD,GAtBA,KA8BA4vC,EAAAz5D,OAAAjU,EAAA,KAAAiU,OAIAy5D,EAAAx5D,MAAAlU,EAAA,KAAAkU,MAIAw5D,EAAAv5D,UAAAnU,EAAA,KAAAmU,UAIAu5D,EAAAt5D,WAAApU,EAAA,KAAAoU,WAIAs5D,EAAAr5D,UAAArU,EAAA,KAAAqU,UAIAq5D,EAAAp5D,eAAAtU,EAAA,KAAAsU,eAIAo5D,EAAAn5D,aAAAvU,EAAA,KAAAuU,aAIAm5D,EAAAj3D,KAAAzW,EAAA,KAAAyW,KAIAi3D,EAAAl3D,MAAAxW,EAAA,KAAAwW,MAIAk3D,EAAAh3D,eAAA1W,EAAA,KAAA0W,eAIAg3D,EAAAj2D,GAAAzX,EAAA,KAAAyX,GAIAi2D,EAAAh2D,IAAA1X,EAAA,KAAA0X,IAEA1qB,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAmwG,EAAA,CAEAxrE,aAAA,SAAAv/B,GACA,YAAAA,IAAA,IAGAgrG,eAAA,SAAAhrG,GASA,OARAA,IACAA,MAAA,EACAA,MAAA,EACAA,MAAA,EACAA,MAAA,EACAA,MAAA,GACAA,IAEAA,GAGAmxB,kBAAA,SAAAnxB,GACA,OAAAyC,KAAA2uB,IAAA,EAAA3uB,KAAAwT,MAAAxT,KAAA4uB,IAAArxB,GAAAyC,KAAA6uB,QAGArH,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAk1D,EAAAl1D,EAAA,GACAqwG,EAAArwG,EAAA,IACAu7F,EAAAv7F,EAAA,IACAswG,EAAAtwG,EAAA,IAYAi2B,EAAA,SAAA+3B,EAAAr9C,GAKAxP,KAAA6sD,UAAA,IAAAkH,EAAA,YAMA/zD,KAAAwP,YAAA,GAGAslB,EAAA70B,UAAA,CAEAC,YAAA40B,EAOAigE,gBAAA,SAAAlrB,GACA,OAAAuwB,EAAA,KAAAt8D,IAAA+rC,EAAAzsC,MAAAp9B,KAAA6sD,OAAAzvB,OAAAp9B,KAAAwP,UASA4/F,aAAA,SAAAvlC,EAAAxqC,GACAA,IACAA,EAAA,IAAA00B,EAAA,MAEA,IAAAv3C,EAAAxc,KAAA+0F,gBAAAlrB,GAGA,OAFAuwB,EAAA,KAAA97E,YAAA+gB,EAAAjC,MAAAysC,EAAAzsC,MAAAp9B,KAAA6sD,OAAAzvB,OAAA5gB,GACA6iB,EAAA/B,QAAA,EACA+B,GAMAhhB,UAAA,WACA,IAAAgxF,EAAA,EAAAjV,EAAA,KAAA3tF,IAAAzM,KAAA6sD,OAAAzvB,OACAg9D,EAAA,KAAAriF,MAAA/X,KAAA6sD,OAAAzvB,MAAAiyE,GACArvG,KAAAwP,UAAA6/F,GAQAC,iBAAA,SAAAjgE,GAKA,IAHA,IAAAw2D,EAAAx2D,EAAA4kB,SACApH,EAAA7sD,KAAA6sD,OAAAzvB,MACAmyE,EAAAnV,EAAA,KAAAt8D,IAAA+nE,EAAA,GAAAzoE,MAAAyvB,GAAA7sD,KAAAwP,SACAzE,EAAA,EAAuBA,EAAA,EAAOA,IAC9B,GAAAqvF,EAAA,KAAAt8D,IAAA+nE,EAAA96F,GAAAqyB,MAAAyvB,GAAA7sD,KAAAwP,UAAA+/F,EACA,UAaAC,cAAA,WACA,IAAA5a,EAAAwF,EAAA,KAAAtrD,SACA,gBAAA1iB,EAAA7C,EAAA8V,GACA,IAAAowE,EAAAzvG,KAAA+0F,gBAAA3oE,GACAsjF,EAAA1vG,KAAA+0F,gBAAAxrE,GACA,GAAAkmF,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,EACA,YAGA,IAAAhb,EAAA10F,KAAA6sD,OAAAzvB,MACA5gB,EAAAxc,KAAAwP,SACAmlF,EAAAvoE,EAAAgR,MAEAg9D,EAAA,KAAAh8E,IAAAw2E,EAAArrE,EAAA6T,MAAAhR,EAAAgR,OACAg9D,EAAA,KAAA/7E,UAAAu2E,KAEA,IAAAC,EAAAuF,EAAA,KAAAt8D,IAAA42D,EAAAE,GAEA,OAAAC,EACA,YAEAx1D,IACAA,EAAA,IAAA00B,EAAA,MAEA,IAAA33C,GAAAg+E,EAAA,KAAAt8D,IAAA42D,EAAAC,GAAAn4E,GAAAq4E,EAGA,OAFAuF,EAAA,KAAA97E,YAAA+gB,EAAAjC,MAAAu3D,EAAAC,GAAAx4E,GACAijB,EAAA/B,QAAA,EACA+B,GA3BA,GAoCAhmB,eAAA,WACA,IAAAs2F,EAAAT,EAAA,KAAApgE,SACA8gE,EAAAT,EAAA,KAAArgE,SACA+gE,EAAAV,EAAA,KAAArgE,SAEA,OADA+gE,EAAA,KACA,SAAAv+D,GACAA,IAAAlU,MAEAg9D,EAAA,KAAAriF,MAAA83F,EAAA7vG,KAAA6sD,OAAAzvB,MAAAp9B,KAAAwP,UACA2/F,EAAA,KAAAzwE,cAAAmxE,IAAAv+D,GACAtxC,KAAAwP,SAAA4qF,EAAA,KAAAt8D,IAAA+xE,EAAA7vG,KAAA6sD,OAAAzvB,OAEA8xE,EAAA,KAAAr/D,OAAA8/D,EAAAr+D,GACA49D,EAAA,KAAAt+D,UAAA++D,KACAC,EAAA,KACAxV,EAAA,KAAAhhF,KAAAw2F,EAAA5vG,KAAA6sD,OAAAzvB,OACA+xE,EAAA,KAAAzwE,cAAAkxE,IAAAD,GACAvV,EAAA,KAAAhhF,KAAApZ,KAAA6sD,OAAAzvB,MAAAwyE,IAjBA,GAyBAx2F,KAAA,SAAAq7E,GACA2F,EAAA,KAAAhhF,KAAApZ,KAAA6sD,OAAAzvB,MAAAq3D,EAAA5nC,OAAAzvB,OACAp9B,KAAA6sD,OAAAvvB,QAAA,EACAt9B,KAAAwP,SAAAilF,EAAAjlF,UAOA+F,MAAA,WACA,IAAAk/E,EAAA,IAAA3/D,EAEA,OADA2/D,EAAAr7E,KAAApZ,MACAy0F,IAIAvmE,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAixG,EAAAjxG,EAAA,IAGAqvB,EAAA,KAAA4hF,EAAA,MAIA,SAAAptG,EAAAwrB,EAAArvB,GAEA,aACA,IAAAo7E,EAAAp7E,EAAA,IACAs7F,EAAAt7F,EAAA,IACAkxG,EAAAlxG,EAAA,GACAmxG,EAAAnxG,EAAA,GACAoxG,EAAApxG,EAAA,IACAqxG,EAAArxG,EAAA,IAQAsxG,EAAA,IAAAJ,EAAA,KAWAK,EAAAn2B,EAAA,KAAAv1E,OAEA,CACAq9B,SAAA,EAIAo4C,cAAA,EAIAC,eAAA,EAIAi2B,cAAA,EAIAC,QAAA,GACC,WACDtwG,KAAAq6E,SAGA,CAIAA,MAAA,WAEA,IAAAmgB,EAAA,CACApvB,GAAAmlC,EAAA,KAAAvwG,KAAAqwG,cAAArwG,KAAAo6E,gBACA/O,GAAAklC,EAAA,KAAAvwG,KAAAqwG,cAAArwG,KAAAo6E,gBACA9O,GAAAilC,EAAA,KAAAvwG,KAAAm6E,cAAAn6E,KAAAqwG,eACA9kC,GAAAglC,EAAA,KAAAvwG,KAAAm6E,cAAAn6E,KAAAqwG,eACA7kC,GAAA+kC,EAAA,KAAAvwG,KAAAm6E,cAAAn6E,KAAAo6E,gBACA3O,GAAA8kC,EAAA,KAAAvwG,KAAAm6E,cAAAn6E,KAAAo6E,iBAGAo2B,EAAA,kCACAC,EAAA,EACAC,EAAA,EACA,QAAA5P,KAAAtG,EACAiW,GAAAjW,EAAAsG,GAAA5kE,YACAw0E,GAAAlW,EAAAsG,GAAArzC,QAAAlqD,OAEA,QAAAmd,EAAA,EAAuBA,EAAA8vF,EAAAjtG,OAAqBmd,IAC5C1gB,KAAAo8B,WAAAo0E,EAAA9vF,IAAAwC,KAAAutF,GAEAzwG,KAAAytD,QAAA,IAAAyiD,EAAA,KAAA1kD,YAAAklD,GACA,IAAAC,EAAA,EACAtmC,EAAA,EACA,QAAAy2B,KAAAtG,EAAA,CACA,IAAA/F,EAAA+F,EAAAsG,GACA,IAAApgF,EAAA,EAA2BA,EAAA8vF,EAAAjtG,OAAqBmd,IAKhD,IAJA,IAAA0hF,EAAAoO,EAAA9vF,GACAkwF,EAAAnc,EAAAr4D,WAAAgmE,GAAAn+F,MACA4sG,EAAApc,EAAAr4D,WAAAgmE,GAAAnnF,KACA61F,EAAA,WAAA1O,EACAr3F,EAAA,EAA+BA,EAAA6lG,EAAArtG,OAAsBwH,IAAA,CACrD,IAAA9G,EAAA2sG,EAAA7lG,GACA/K,KAAAswG,QAAAQ,IACA7sG,MAEAjE,KAAAo8B,WAAAgmE,GAAAn+F,MAAA8G,EAAA8lG,EAAAxmC,GAAApmE,EAGA,IAAAwI,EAAAgoF,EAAAhnC,QAAAlqD,OACA,IAAAwH,EAAA,EAA2BA,EAAA0pF,EAAAhnC,QAAAlqD,OAA0BwH,IACrD/K,KAAAytD,QAAA1iD,EAAA4lG,GAAAtmC,EAAAoqB,EAAAhnC,QAAAztD,KAAAswG,OAAA7jG,EAAA1B,EAAA,EAAAA,GAEA4lG,GAAAlc,EAAAhnC,QAAAlqD,OACA8mE,GAAAoqB,EAAAv4D,YAGAl8B,KAAAktD,YAAA,IAAA+iD,EAAA,KACAjwG,KAAAktD,YAAA/lD,IAAAisB,IAAA,OACApzB,KAAAktD,YAAAhmD,IAAAksB,KAAA,YAIA,SAAAm9E,EAAAzP,EAAA3mB,EAAAC,GAEA+1B,EAAAvgE,WAEA,IAAA6kD,EAAA,IAAA0F,EAAA,MACAhgB,gBACAC,mBAGA,OAAA0mB,GACA,SACAiP,EAAA,KAAAp/D,UAAAw/D,IAAAH,EAAA,KAAAvvE,YACAsvE,EAAA,KAAAt/D,QAAA0/D,IAAAzpG,KAAAC,GAAA,GACA,MACA,SACAopG,EAAA,KAAAp/D,UAAAw/D,IAAAH,EAAA,KAAAtvE,YACAqvE,EAAA,KAAAt/D,QAAA0/D,KAAAzpG,KAAAC,GAAA,GACA,MACA,SACAopG,EAAA,KAAAp/D,UAAAw/D,IAAAH,EAAA,KAAArvE,YACAovE,EAAA,KAAAv/D,QAAA2/D,KAAAzpG,KAAAC,GAAA,GACA,MACA,SACAopG,EAAA,KAAAp/D,UAAAw/D,IAAAH,EAAA,KAAApvE,YACAmvE,EAAA,KAAAv/D,QAAA2/D,IAAAzpG,KAAAC,GAAA,GACA,MACA,SACAopG,EAAA,KAAAp/D,UAAAw/D,IAAAH,EAAA,KAAAnvE,YACA,MACA,SACAkvE,EAAA,KAAAp/D,UAAAw/D,IAAAH,EAAA,KAAAlvE,YACAivE,EAAA,KAAAt/D,QAAA0/D,IAAAzpG,KAAAC,IACA,MAGA,OADA8tF,EAAAp7E,eAAA82F,GACA1b,EAGAvmE,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA68F,EAAA78F,EAAA,GACA88F,EAAA98F,EAAA,IACAkyG,EAAAlyG,EAAA,GACAo/F,EAAAp/F,EAAA,IACAmyG,EAAAnyG,EAAA,IACAoyG,EAAApyG,EAAA,IACAqyG,EAAAryG,EAAA,GACAsyG,EAAAtyG,EAAA,IACAuyG,EAAAvyG,EAAA,IACAwyG,EAAAxyG,EAAA,IACAyyG,EAAAzyG,EAAA,IACA0yG,EAAA1yG,EAAA,IACA2yG,EAAA3yG,EAAA,KACA4yG,EAAA5yG,EAAA,KAoBA6yG,EAAA,GAEAxT,EAAA,gCAgBAwT,EAAAC,wBAAA,SACAv6E,EAAA0iD,EAAApnD,EAAAk/E,EAAAC,GAIAA,GAAAD,IACAA,EAAAF,EAAAI,6BACAD,EAAAH,EAAAK,cAAA36E,EAAAw6E,IAEAl/E,KAAA,GAEA,IAAApwB,EAAAowB,EAAApwB,OAAA,GACAC,EAAAmwB,EAAAnwB,QAAA,GAEAwjC,EAAArT,EAAAvyB,MAAA25E,EAAA35E,KAGA6xG,EAAA,IAAArW,EAAA,MACAr5F,QACAC,SACApC,KAAA4lC,EACAjO,OAAA,EACA+N,QAAA,KAGAmsE,EAAAxuE,gBACApL,QAAAyH,KAAA,2DAGA,IAAA5kB,EAAAvU,KAAAQ,IAAA5E,EAAAC,GACA0vG,EAAAvrG,KAAA4uB,IAAAra,GAAAvU,KAAA4uB,IAAA,KAEA48E,EAAA,IAAAjB,EAAA,MACAt+E,OAAA,IAAAu+E,EAAA,MACAnnE,OAAAmnE,EAAA,KAAAj3E,OAAA,sBACA+P,SAAAynE,EAAA,SAGAS,EAAA9+E,IAAA,qBAAAw+E,GAEAl/E,EAAAiqE,YAAAuV,EAAA33E,OAAA,0BACA7H,EAAAy/E,YAAAD,EAAA33E,OAAA,0BAEA,IACA63E,EADAC,EAAA,IAAAjB,EAAA,KAGA,iBAAAt3B,EAAA/zC,YAAA,CAEA,IAAAusE,EAAA,IAAA3W,EAAA,MACAr5F,QACAC,SAEApC,KAAA4lC,IAAAgrE,EAAA,KAAAlsE,MACAksE,EAAA,KAAAjsE,WAAAiB,IAEAwrE,EAAA,KAAAhV,kBAAAnlE,EAAA0iD,EAAAw4B,EAAA,CAEA3V,WAAAjqE,EAAAy/E,aAEAr4B,EAAAw4B,EAEAF,EAAA,IAAAjB,EAAA,MACA5zC,MAAA80C,EACAx/E,SAAAq/E,IAEAE,EAAAv/E,SAAAO,IAAA,iBAAA0mD,GAEA,IAAAy4B,EAAA,IAAAlB,EAAA,MACAz+E,QAAAo/E,IAIAt/E,EAAAiqE,aACA52D,EAAAisE,EAAA7xG,KAAA4wG,EAAA,KAAA3vE,eAYA,IATA,IAAAoxE,EAAA,IAAA9W,EAAA,MACAp5F,QACAC,SACApC,KAAA4lC,IAEA8O,EAAA,IAAAopD,EAAA,MACAxrD,aAAA,IAEAggE,EAAAnB,EAAA,KAAAvrE,IAAAgrE,EAAA,KAAA3vE,cAAA,6BACAr2B,EAAA,EAAmBA,EAAAknG,EAAelnG,IAAA,CAElCinG,EAAAnsE,QAAA96B,GAAA,CACA66B,OAAA,IAEAwsE,EAAAv/E,SAAAO,IAAA,YAAAroB,GAAAknG,EAAA,IAOA,IAHA,IAAApkF,EAAA2kF,EAAAlwG,MACA22E,EAAA,EAAAvyE,KAAAwyE,KAAArrD,KAAA,KAAAnnB,KAAAC,GAAA,IAEA+J,EAAA,EAAuBA,EAAAwtF,EAAA36F,OAAoBmN,IAAA,CAC3C,IAAAk1B,EAAA,IAAA6sE,EAAAD,EAAAlwG,MAAAkwG,EAAAjwG,OAAA,GACAsyC,EAAAV,OAAAq+D,GACA39D,EAAAjsC,KAAAwuB,GAEA,IAAAk7B,EAAAigD,EAAAxzB,UAAAmf,EAAAxtF,IACA4hD,EAAA2mB,MACA7hD,EAAA87B,OAAAm/C,EAAA//C,GACAl7B,EAAAwB,GAAA85E,WACA,IAAAF,EAAAlwG,MAAAkwG,EAAAjwG,OACAwuG,EAAA,KAAAzvE,KAAAyE,EAAAH,GAcAiP,EAAAlS,OAAAvL,GACA46E,EAAAnsE,QAAA96B,GAAA66B,OAAAs4D,EAAAxtF,IAAAk1B,EAGA4sE,EAAAlwG,OAAA,EACAkwG,EAAAjwG,QAAA,EACAiwG,EAAA7tF,QAYA,OARAkwB,EAAA/+B,QAAAshB,GACAo7E,EAAA18F,QAAAshB,GACAg7E,EAAAt8F,QAAAshB,GAEAw6E,EAAA97F,QAAAshB,GAIA,CACAuiD,eAAAq4B,EACAH,aACAD,qBACAe,eAAAV,IAIAP,EAAAK,cAAA,SAAA36E,EAAAw6E,GACAA,KAAAF,EAAAI,6BACA,IAAAc,EAAA,IAAA3U,EAAA,MACAxrD,aAAA,IAEAm0C,EAAA,IAAAoqB,EAAA,MACAhnE,SAAAwnE,EAAA,OAGA5+E,EAAA,IAAA8oE,EAAA,MACAp5F,MAAA,IACAC,OAAA,IACApC,KAAA4wG,EAAA,KAAAjsE,WACArP,MAAAs7E,EAAA,KAAA/1E,cACArF,MAAAo7E,EAAA,KAAA/1E,cACAuG,UAAAwvE,EAAA,KAAAjtE,QACArC,UAAAsvE,EAAA,KAAAjtE,QACAnC,WAAA,IAqBA,OAnBAilD,EAAA/zB,WAAA,qBAAA++C,GACAhrB,EAAA/zB,WAAA,0BACA+zB,EAAA5zB,aAAApgC,GACAg0D,EAAA1zB,OAAA97B,EAAAw7E,GAcAA,EAAA98F,QAAAshB,GAEAxE,GAGA8+E,EAAAI,2BAAA,SAAAe,EAAAC,GAKAD,KAAA,IACAC,KAAA,KAkBA,IAnBA,IAGAlB,EAAA,IAAAlW,EAAA,MACAp5F,MAAAuwG,EACAtwG,OAAAuwG,EACA3yG,KAAA4wG,EAAA,KAAAlsE,MACAtD,UAAAwvE,EAAA,KAAAjtE,QACArC,UAAAsvE,EAAA,KAAAjtE,QACArO,MAAAs7E,EAAA,KAAA/1E,cACArF,MAAAo7E,EAAA,KAAA/1E,cACA2G,WAAA,IAEAiE,EAAA,IAAA4F,aAAAsnE,EAAAD,EAAA,GACA1iD,EAAA,GAKAz/C,EAAA,EAAmBA,EAAAmiG,EAAqBniG,IAAA,CAIxC,IAHA,IAAAyqB,EAAAzqB,EAAAmiG,EACAtqG,EAAA4yB,IAEApwB,EAAA,EAAuBA,EAAA+nG,EAAgB/nG,IAAA,CAKvC,IAAA9I,GAAA8I,GAAA,GAAAA,IAAA,QACA9I,IAAA,WAAAA,IAAA,cAAAA,KAAA,OACAA,IAAA,UAAAA,IAAA,cAAAA,KAAA,OACAA,IAAA,UAAAA,IAAA,cAAAA,KAAA,OACAA,KAAA,SAAAA,IAAA,cAAAA,KAAA,mBAGA,IAAA8wG,EAAArsG,KAAAk+C,MAAA,EAAA3iD,IAAA,GAAAsG,IAAA,GAAAtG,IACAkuD,EAAAplD,GAAAgoG,EAGA,IAAAhoG,EAAA,EAAuBA,EAAA+nG,EAAgB/nG,IAAA,CACvC,IAAAg7C,EAAA,GAAAh7C,EAAA8nG,EAAAniG,GAEAsiG,GADAD,EAAA5iD,EAAAplD,GACArE,KAAAk+C,KAAA,EAAAmuD,MACA/wG,EAAA+I,EAAA+nG,EACAr5E,EAAA,EAAA/yB,KAAAC,GAAA3E,EACA4jC,EAAAmgB,GAAAitD,EAAAtsG,KAAAwY,IAAAua,GACAmM,EAAAmgB,EAAA,GAAAgtD,EACAntE,EAAAmgB,EAAA,GAAAitD,EAAAtsG,KAAA0Y,IAAAqa,GACAmM,EAAAmgB,EAAA,MAKA,OAFA6rD,EAAAhsE,SAEAgsE,GAGA1jF,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA8lD,EAAA9lD,EAAA,IAgCAsqC,EAAA,CAOA2F,OAAA,WACA,IAAAzP,EAAA,IAAAslB,EAAA,QAKA,OAJAtlB,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,GASA9pB,MAAA,SAAAhN,GACA,IAAA82B,EAAA,IAAAslB,EAAA,QAKA,OAJAtlB,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,GAUAjmB,KAAA,SAAAimB,EAAA92B,GAKA,OAJA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,GASAuQ,SAAA,SAAAvQ,GAKA,OAJAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,GAUAuR,UAAA,SAAAvR,EAAA92B,GAEA,GAAA82B,IAAA92B,EAAA,CACA,IAAAqvF,EAAArvF,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAAu4D,OAEAv4D,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GAGA,OAAA82B,GAUAwQ,OAAA,SAAAxQ,EAAA92B,GACA,IAAAovF,EAAApvF,EAAA,GAAAqvF,EAAArvF,EAAA,GAAAsvF,EAAAtvF,EAAA,GAAAuvF,EAAAvvF,EAAA,GAGA4oC,EAAAwmD,EAAAG,EAAAD,EAAAD,EAEA,OAAAzmD,GAGAA,EAAA,EAAAA,EAEA9R,EAAA,GAAAy4D,EAAA3mD,EACA9R,EAAA,IAAAu4D,EAAAzmD,EACA9R,EAAA,IAAAw4D,EAAA1mD,EACA9R,EAAA,GAAAs4D,EAAAxmD,EAEA9R,GATA,MAmBA0P,QAAA,SAAA1P,EAAA92B,GAEA,IAAAovF,EAAApvF,EAAA,GAMA,OALA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,IAAA92B,EAAA,GACA82B,EAAA,IAAA92B,EAAA,GACA82B,EAAA,GAAAs4D,EAEAt4D,GASA2P,YAAA,SAAAzmC,GACA,OAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IAWA01B,SAAA,SAAAoB,EAAA92B,EAAAC,GACA,IAAAmvF,EAAApvF,EAAA,GAAAqvF,EAAArvF,EAAA,GAAAsvF,EAAAtvF,EAAA,GAAAuvF,EAAAvvF,EAAA,GACAyxD,EAAAxxD,EAAA,GAAAyxD,EAAAzxD,EAAA,GAAA0xD,EAAA1xD,EAAA,GAAA2xD,EAAA3xD,EAAA,GAKA,OAJA62B,EAAA,GAAAs4D,EAAA39B,EAAA69B,EAAA59B,EACA56B,EAAA,GAAAu4D,EAAA59B,EAAA89B,EAAA79B,EACA56B,EAAA,GAAAs4D,EAAAz9B,EAAA29B,EAAA19B,EACA96B,EAAA,GAAAu4D,EAAA19B,EAAA49B,EAAA39B,EACA96B,IAOA8J,EAAAnL,IAAAmL,EAAAlL,SAUAkL,EAAAmH,OAAA,SAAAjR,EAAA92B,EAAAgoC,GACA,IAAAonD,EAAApvF,EAAA,GAAAqvF,EAAArvF,EAAA,GAAAsvF,EAAAtvF,EAAA,GAAAuvF,EAAAvvF,EAAA,GACA0lB,EAAAvnB,KAAA0Y,IAAAmxB,GACA9nC,EAAA/B,KAAAwY,IAAAqxB,GAKA,OAJAlR,EAAA,GAAAs4D,EAAAlvF,EAAAovF,EAAA5pE,EACAoR,EAAA,GAAAu4D,EAAAnvF,EAAAqvF,EAAA7pE,EACAoR,EAAA,GAAAs4D,GAAA1pE,EAAA4pE,EAAApvF,EACA42B,EAAA,GAAAu4D,GAAA3pE,EAAA6pE,EAAArvF,EACA42B,GAWA8J,EAAApxB,MAAA,SAAAsnB,EAAA92B,EAAA4U,GACA,IAAAw6E,EAAApvF,EAAA,GAAAqvF,EAAArvF,EAAA,GAAAsvF,EAAAtvF,EAAA,GAAAuvF,EAAAvvF,EAAA,GACA0qG,EAAA91F,EAAA,GAAA1B,EAAA0B,EAAA,GAKA,OAJAkiB,EAAA,GAAAs4D,EAAAsb,EACA5zE,EAAA,GAAAu4D,EAAAqb,EACA5zE,EAAA,GAAAw4D,EAAAp8E,EACA4jB,EAAA,GAAAy4D,EAAAr8E,EACA4jB,GASA8J,EAAAqzB,KAAA,SAAAj0D,GACA,OAAA7B,KAAAk+C,KAAAl+C,KAAA2uB,IAAA9sB,EAAA,MAAA7B,KAAA2uB,IAAA9sB,EAAA,MAAA7B,KAAA2uB,IAAA9sB,EAAA,MAAA7B,KAAA2uB,IAAA9sB,EAAA,QAWA4gC,EAAA+pE,IAAA,SAAAC,EAAAC,EAAAC,EAAA9qG,GAKA,OAJA4qG,EAAA,GAAA5qG,EAAA,GAAAA,EAAA,GACA8qG,EAAA,GAAA9qG,EAAA,GACA8qG,EAAA,GAAA9qG,EAAA,GACA8qG,EAAA,GAAA9qG,EAAA,GAAA4qG,EAAA,GAAAE,EAAA,GACA,CAAAF,EAAAC,EAAAC,IAIAnlF,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA8lD,EAAA9lD,EAAA,IA6CAy0G,EAAA,CAOAxkE,OAAA,WACA,IAAAzP,EAAA,IAAAslB,EAAA,QAOA,OANAtlB,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,GASA9pB,MAAA,SAAAhN,GACA,IAAA82B,EAAA,IAAAslB,EAAA,QAOA,OANAtlB,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,GAUAjmB,KAAA,SAAAimB,EAAA92B,GAOA,OANA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,GASAuQ,SAAA,SAAAvQ,GAOA,OANAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,GAUAwQ,OAAA,SAAAxQ,EAAA92B,GACA,IAAAgrG,EAAAhrG,EAAA,GAAAirG,EAAAjrG,EAAA,GAAAkrG,EAAAlrG,EAAA,GAAAmrG,EAAAnrG,EAAA,GACAorG,EAAAprG,EAAA,GAAAqrG,EAAArrG,EAAA,GAEA4oC,EAAAoiE,EAAAG,EAAAF,EAAAC,EACA,OAAAtiE,GAGAA,EAAA,EAAAA,EAEA9R,EAAA,GAAAq0E,EAAAviE,EACA9R,EAAA,IAAAm0E,EAAAriE,EACA9R,EAAA,IAAAo0E,EAAAtiE,EACA9R,EAAA,GAAAk0E,EAAApiE,EACA9R,EAAA,IAAAo0E,EAAAG,EAAAF,EAAAC,GAAAxiE,EACA9R,EAAA,IAAAm0E,EAAAG,EAAAJ,EAAAK,GAAAziE,EACA9R,GAVA,MAmBA2P,YAAA,SAAAzmC,GACA,OAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IAWA01B,SAAA,SAAAoB,EAAA92B,EAAAC,GACA,IAAAmvF,EAAApvF,EAAA,GAAAqvF,EAAArvF,EAAA,GAAAsvF,EAAAtvF,EAAA,GAAAuvF,EAAAvvF,EAAA,GAAAsrG,EAAAtrG,EAAA,GAAAurG,EAAAvrG,EAAA,GACAyxD,EAAAxxD,EAAA,GAAAyxD,EAAAzxD,EAAA,GAAA0xD,EAAA1xD,EAAA,GAAA2xD,EAAA3xD,EAAA,GAAAurG,EAAAvrG,EAAA,GAAAwrG,EAAAxrG,EAAA,GAOA,OANA62B,EAAA,GAAAs4D,EAAA39B,EAAA69B,EAAA59B,EACA56B,EAAA,GAAAu4D,EAAA59B,EAAA89B,EAAA79B,EACA56B,EAAA,GAAAs4D,EAAAz9B,EAAA29B,EAAA19B,EACA96B,EAAA,GAAAu4D,EAAA19B,EAAA49B,EAAA39B,EACA96B,EAAA,GAAAs4D,EAAAoc,EAAAlc,EAAAmc,EAAAH,EACAx0E,EAAA,GAAAu4D,EAAAmc,EAAAjc,EAAAkc,EAAAF,EACAz0E,IAOAi0E,EAAAt1E,IAAAs1E,EAAAr1E,SAWAq1E,EAAAhjE,OAAA,SAAAjR,EAAA92B,EAAAgoC,GACA,IAAAonD,EAAApvF,EAAA,GAAAqvF,EAAArvF,EAAA,GAAAsvF,EAAAtvF,EAAA,GAAAuvF,EAAAvvF,EAAA,GAAAsrG,EAAAtrG,EAAA,GAAAurG,EAAAvrG,EAAA,GACA0lB,EAAAvnB,KAAA0Y,IAAAmxB,GACA9nC,EAAA/B,KAAAwY,IAAAqxB,GAOA,OANAlR,EAAA,GAAAs4D,EAAAlvF,EAAAovF,EAAA5pE,EACAoR,EAAA,GAAAu4D,EAAAnvF,EAAAqvF,EAAA7pE,EACAoR,EAAA,GAAAs4D,GAAA1pE,EAAA4pE,EAAApvF,EACA42B,EAAA,GAAAu4D,GAAA3pE,EAAA6pE,EAAArvF,EACA42B,EAAA,GAAAw0E,EACAx0E,EAAA,GAAAy0E,EACAz0E,GAWAi0E,EAAAv7F,MAAA,SAAAsnB,EAAA92B,EAAA4U,GACA,IAAAw6E,EAAApvF,EAAA,GAAAqvF,EAAArvF,EAAA,GAAAsvF,EAAAtvF,EAAA,GAAAuvF,EAAAvvF,EAAA,GAAAsrG,EAAAtrG,EAAA,GAAAurG,EAAAvrG,EAAA,GACA0qG,EAAA91F,EAAA,GAAA1B,EAAA0B,EAAA,GAOA,OANAkiB,EAAA,GAAAs4D,EAAAsb,EACA5zE,EAAA,GAAAu4D,EAAAqb,EACA5zE,EAAA,GAAAw4D,EAAAp8E,EACA4jB,EAAA,GAAAy4D,EAAAr8E,EACA4jB,EAAA,GAAAw0E,EACAx0E,EAAA,GAAAy0E,EACAz0E,GAWAi0E,EAAA3iE,UAAA,SAAAtR,EAAA92B,EAAA4U,GACA,IAAAw6E,EAAApvF,EAAA,GAAAqvF,EAAArvF,EAAA,GAAAsvF,EAAAtvF,EAAA,GAAAuvF,EAAAvvF,EAAA,GAAAsrG,EAAAtrG,EAAA,GAAAurG,EAAAvrG,EAAA,GACA0qG,EAAA91F,EAAA,GAAA1B,EAAA0B,EAAA,GAOA,OANAkiB,EAAA,GAAAs4D,EACAt4D,EAAA,GAAAu4D,EACAv4D,EAAA,GAAAw4D,EACAx4D,EAAA,GAAAy4D,EACAz4D,EAAA,GAAAs4D,EAAAsb,EAAApb,EAAAp8E,EAAAo4F,EACAx0E,EAAA,GAAAu4D,EAAAqb,EAAAnb,EAAAr8E,EAAAq4F,EACAz0E,GASAi0E,EAAA92C,KAAA,SAAAj0D,GACA,OAAA7B,KAAAk+C,KAAAl+C,KAAA2uB,IAAA9sB,EAAA,MAAA7B,KAAA2uB,IAAA9sB,EAAA,MAAA7B,KAAA2uB,IAAA9sB,EAAA,MAAA7B,KAAA2uB,IAAA9sB,EAAA,MAAA7B,KAAA2uB,IAAA9sB,EAAA,MAAA7B,KAAA2uB,IAAA9sB,EAAA,UAIA2lB,EAAA,QAIA,SAAAxrB,EAAAC,GAEA,IAAAF,EAAA,qBAAAkI,gBAAAkhD,uBAAAlhD,OAAAkhD,sBAAAjjD,KAAA+B,SACAA,OAAAmhD,yBAAAnhD,OAAAmhD,wBAAAljD,KAAA+B,gBAAAohD,0BAAAphD,OAAAqhD,8BAAA,SAAAxC,GACAyC,WAAAzC,EAAA,KAGA9mD,EAAAC,QAAAF,GAIA,SAAAC,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAs3E,EAAAp1G,EAAA,GAWA,SAAAq1G,EAAA//F,EAAAoC,EAAAC,EAAAlU,EAAAC,EAAA4/E,EAAAx2E,GACA3L,KAAAqU,IAAAF,EAOAnU,KAAAyW,GAAA,EAMAzW,KAAA0W,GAAA,EAEA1W,KAAAm0G,WAAA,EAMAn0G,KAAAsC,QAOAtC,KAAAuC,SAMAvC,KAAAuW,UAKAvW,KAAAwW,UAEAxW,KAAA2L,MAEA3L,KAAAmiF,MAkHA,SAAAiyB,EAAAh/F,GAEAA,KAAA,GACAA,EAAA9S,MAAA8S,EAAA9S,OAAA,IACA8S,EAAA7S,OAAA6S,EAAA7S,QAAA,IACA6S,EAAAxJ,iBAAAwJ,EAAAxJ,kBAAA,EACAwJ,EAAA+sE,IAAA,MAAA/sE,EAAA+sE,IAAA,EAAA/sE,EAAA+sE,IAEA,IAAAvsD,EAAAhrB,SAAAirB,cAAA,UACAD,EAAAtzB,MAAA8S,EAAA9S,MAAA8S,EAAAxJ,iBACAgqB,EAAArzB,OAAA6S,EAAA7S,OAAA6S,EAAAxJ,iBAEA5L,KAAAq0G,QAAAz+E,EAEA51B,KAAAs0G,SAAA,IAAAL,EAAA,MACAnhG,MAAA8iB,EACAkC,OAAA,IAGA,IAAA4P,EAAA1nC,KAKAA,KAAAqU,IAAAuoB,EAAAr0B,EAAAgsG,QAAArxF,KAAA0S,GACA,IAAA4+E,EAAAx0G,KAAAqU,IAAA41F,mBACAjqG,KAAAqU,IAAA41F,mBAAA,WACAuK,EAAAz0G,KAAAC,MACA0nC,EAAA4sE,SAAA3vF,QACA+iB,EAAAjR,UAAAiR,EAAAjR,YAGAz2B,KAAAy0G,KAAAr/F,EAAAxJ,iBAMA5L,KAAA00G,QAAA,GAEA10G,KAAAy2B,SAAArhB,EAAAqhB,SAEAz2B,KAAA20G,KAAAv/F,EAAA+sE,IAGAniF,KAAA40G,mBAAA,KAAAV,EACAl0G,KAAAqU,IAAA,IAAAe,EAAA9S,MAAA8S,EAAA7S,OAAAvC,KAAA20G,KAAA30G,KAAAy0G,OAGAz0G,KAAA60G,WAAAz/F,EAAA9S,MACAtC,KAAA80G,YAAA1/F,EAAA7S,OAEAvC,KAAA+0G,gBAAA,EAnKAb,EAAAj0G,UAAA,CAEAC,YAAAg0G,EAEAxnG,MAAA,WACA1M,KAAAyW,GAAA,EACAzW,KAAA0W,GAAA,EACA1W,KAAAm0G,WAAA,GAUA52E,IAAA,SAAAwT,EAAAzuC,EAAAC,GAIA,IAAAd,EAAAsvC,EAAAxvC,kBAGA,MAAAe,IACAA,EAAAb,EAAAa,OAEA,MAAAC,IACAA,EAAAd,EAAAc,QAEAD,GAAAtC,KAAA2L,IACApJ,GAAAvC,KAAA2L,IAEA3L,KAAAg1G,YAAAjkE,EAAAzuC,EAAAC,GASA,IAAAP,EAAAhC,KAAAyW,GACAxU,EAAAjC,KAAA0W,GAEAu+F,EAAAj1G,KAAAsC,MAAAtC,KAAA2L,IACAupG,EAAAl1G,KAAAuC,OAAAvC,KAAA2L,IACAw2E,EAAAniF,KAAAmiF,IAeA,GAbAngF,EAAAM,EAAA6/E,EAAA8yB,IAEAjzG,EAAAhC,KAAAyW,GAAA,EACAxU,GAAAjC,KAAAm0G,WAAAhyB,EACAniF,KAAA0W,GAAAzU,EAEAjC,KAAAm0G,WAAA,GAGAn0G,KAAAyW,IAAAnU,EAAA6/E,EAEAniF,KAAAm0G,WAAAztG,KAAAS,IAAAnH,KAAAm0G,WAAA5xG,GAEAN,EAAAM,EAAA4/E,EAAA+yB,EAEA,YAIAnkE,EAAAzqC,SAAA,IAAAtG,KAAAuW,QAAAvW,KAAA2L,IAAA3J,EACA+uC,EAAAzqC,SAAA,IAAAtG,KAAAwW,QAAAxW,KAAA2L,IAAA1J,EAEAjC,KAAAqU,IAAAkpB,IAAAwT,GAEA,IAAAokE,EAAA,CACAn1G,KAAAuW,QAAAvW,KAAAsC,MACAtC,KAAAwW,QAAAxW,KAAAuC,QAEAsjG,EAAA,CACA,CAAA7jG,EAAAizG,EAAAE,EAAA,GAAAlzG,EAAAizG,EAAAC,EAAA,IACA,EAAAnzG,EAAAM,GAAA2yG,EAAAE,EAAA,IAAAlzG,EAAAM,GAAA2yG,EAAAC,EAAA,KAGA,OAAAtP,GASAmP,YAAA,SAAAjkE,EAAAqkE,EAAAC,GAEA,IAAA5zG,EAAAsvC,EAAAxvC,kBAEA+zG,EAAAF,EAAA3zG,EAAAa,MACAizG,EAAAF,EAAA5zG,EAAAc,OACAwuC,EAAAzqC,SAAA,EAAA7E,EAAAO,EAAAszG,GAAA7zG,EAAAQ,EAAAszG,GACAxkE,EAAAh5B,MAAA,CAAAu9F,EAAAC,GACAxkE,EAAAxkB,WAmEA6nF,EAAAn0G,UAAA,CAKAyM,MAAA,WAEA,QAAA3B,EAAA,EAAuBA,EAAA/K,KAAA40G,mBAAArxG,OAAoCwH,IAC3D/K,KAAA40G,mBAAA7pG,GAAA2B,QAGA1M,KAAA+0G,gBAAA,EAEA/0G,KAAAqU,IAAA3H,QACA1M,KAAA00G,QAAA,IAMAnmG,SAAA,WACA,OAAAvO,KAAAskC,QAMAg6B,UAAA,WACA,OAAAt+D,KAAAukC,SAMA7N,WAAA,WACA,OAAA12B,KAAAs0G,UAMAppB,oBAAA,WACA,OAAAlrF,KAAAy0G,MAGA/iF,MAAA,WACA,OAAA1xB,KAAAqU,KAGAmhG,gBAAA,WACA,OAAAx1G,KAAA40G,mBAAA50G,KAAA+0G,kBAGAU,QAAA,WAEA,GADAz1G,KAAA+0G,kBACA/0G,KAAA40G,mBAAA50G,KAAA+0G,iBAEA,OAAA/0G,KAAA40G,mBAAA50G,KAAA+0G,iBAGA,IAAAnoG,EAAA,KAAA5M,KAAAy0G,KACAiB,EAAA11G,KAAA40G,mBACAe,EAAAD,EAAAnyG,OACAgT,EAAAo/F,EAAA31G,KAAA60G,WAAAjoG,EACA4J,EAAA9P,KAAAmK,MAAA8kG,EAAA31G,KAAA60G,WAAAjoG,GAAA5M,KAAA80G,YACA,KAAAt+F,GAAA5J,GAAA,CAQA,IAAAtK,GAAAiU,EAAAvW,KAAA60G,YAAA70G,KAAAy0G,KACAlyG,GAAAiU,EAAAxW,KAAA80G,aAAA90G,KAAAy0G,KACA,IAEAz0G,KAAAqU,IAAAgqD,OAAA,CACA/7D,QACAC,WAGA,MAAA4T,GACAnW,KAAAq0G,QAAA/xG,QACAtC,KAAAq0G,QAAA9xG,SAGA,IAAAmzE,EAAA,IAAAw+B,EACAl0G,KAAAqU,IAAAkC,EAAAC,EAAAxW,KAAA60G,WAAA70G,KAAA80G,YAAA90G,KAAA20G,KAAA30G,KAAAy0G,MAIA,OAFAz0G,KAAA40G,mBAAAjiG,KAAA+iE,GAEAA,EAxBAt9C,QAAA+B,MAAA,2CA2BAoD,IAAA,SAAAwT,EAAAzuC,EAAAC,GACA,GAAAvC,KAAA00G,QAAA3jE,EAAA9kB,IAIA,OAFAmM,QAAAyH,KAAA,4BAEA7/B,KAAA00G,QAAA3jE,EAAA9kB,IAEA,IAAA45E,EAAA7lG,KAAAw1G,kBAAAj4E,IAAAwT,EAAAzuC,EAAAC,GACA,IAAAsjG,EAAA,CACA,IAAAnwB,EAAA11E,KAAAy1G,UACA,IAAA//B,EAEA,OAEAmwB,EAAAnwB,EAAAn4C,IAAAwT,EAAAzuC,EAAAC,GAKA,OAFAvC,KAAA00G,QAAA3jE,EAAA9kB,IAAA45E,EAEAA,GAOAmE,eAAA,WACA,IAAAr+F,EAAA3L,KAAAy0G,KACA,OAAAz0G,KAAA60G,WAAA70G,KAAAq0G,QAAA/xG,MAAAqJ,EAAA3L,KAAA80G,YAAA90G,KAAAq0G,QAAA9xG,OAAAoJ,IAQAiqG,UAAA,SAAA3pF,GACA,OAAAjsB,KAAA00G,QAAAzoF,KAIAiC,EAAA,QAIA,SAAAxrB,EAAAC,EAAA9D,GAEA,IAAA2c,EAAA3c,EAAA,IAEA+xD,EAAA/xD,EAAA,IAKAg3G,EAAAr6F,EAAAnC,eACAihF,EAAA5zF,KAAAQ,IACAqzF,EAAA7zF,KAAAS,IAKA,SAAAsG,EAAAzL,EAAAC,EAAAK,EAAAC,GACAD,EAAA,IACAN,GAAAM,EACAA,MAGAC,EAAA,IACAN,GAAAM,EACAA,MAOAvC,KAAAgC,IAKAhC,KAAAiC,IAKAjC,KAAAsC,QAKAtC,KAAAuC,SAGAkL,EAAAxN,UAAA,CACAC,YAAAuN,EAKA0mD,MAAA,SAAA2hD,GACA,IAAA9zG,EAAAs4F,EAAAwb,EAAA9zG,EAAAhC,KAAAgC,GACAC,EAAAq4F,EAAAwb,EAAA7zG,EAAAjC,KAAAiC,GACAjC,KAAAsC,MAAAi4F,EAAAub,EAAA9zG,EAAA8zG,EAAAxzG,MAAAtC,KAAAgC,EAAAhC,KAAAsC,OAAAN,EACAhC,KAAAuC,OAAAg4F,EAAAub,EAAA7zG,EAAA6zG,EAAAvzG,OAAAvC,KAAAiC,EAAAjC,KAAAuC,QAAAN,EACAjC,KAAAgC,IACAhC,KAAAiC,KAOAoX,eAAA,WACA,IAAA08F,EAAA,GACAC,EAAA,GACAC,EAAA,GACAC,EAAA,GACA,gBAAA3oF,GAIA,GAAAA,EAAA,CAIAwoF,EAAA,GAAAE,EAAA,GAAAj2G,KAAAgC,EACA+zG,EAAA,GAAAG,EAAA,GAAAl2G,KAAAiC,EACA+zG,EAAA,GAAAE,EAAA,GAAAl2G,KAAAgC,EAAAhC,KAAAsC,MACA0zG,EAAA,GAAAC,EAAA,GAAAj2G,KAAAiC,EAAAjC,KAAAuC,OACAszG,EAAAE,IAAAxoF,GACAsoF,EAAAG,IAAAzoF,GACAsoF,EAAAI,IAAA1oF,GACAsoF,EAAAK,IAAA3oF,GACAvtB,KAAAgC,EAAAs4F,EAAAyb,EAAA,GAAAC,EAAA,GAAAC,EAAA,GAAAC,EAAA,IACAl2G,KAAAiC,EAAAq4F,EAAAyb,EAAA,GAAAC,EAAA,GAAAC,EAAA,GAAAC,EAAA,IACA,IAAAC,EAAA5b,EAAAwb,EAAA,GAAAC,EAAA,GAAAC,EAAA,GAAAC,EAAA,IACAE,EAAA7b,EAAAwb,EAAA,GAAAC,EAAA,GAAAC,EAAA,GAAAC,EAAA,IACAl2G,KAAAsC,MAAA6zG,EAAAn2G,KAAAgC,EACAhC,KAAAuC,OAAA6zG,EAAAp2G,KAAAiC,IA1BA,GAmCA4e,mBAAA,SAAArY,GACA,IAAAD,EAAAvI,KACAgxC,EAAAxoC,EAAAlG,MAAAiG,EAAAjG,MACA2uC,EAAAzoC,EAAAjG,OAAAgG,EAAAhG,OACAgrB,EAAAqjC,EAAA9hB,SAKA,OAHA8hB,EAAAjgB,UAAApjB,IAAA,EAAAhlB,EAAAvG,GAAAuG,EAAAtG,IACA2uD,EAAA74C,MAAAwV,IAAA,CAAAyjB,EAAAC,IACA2f,EAAAjgB,UAAApjB,IAAA,CAAA/kB,EAAAxG,EAAAwG,EAAAvG,IACAsrB,GAOA8oF,UAAA,SAAA7tG,GACA,IAAAA,EACA,SAGAA,aAAAiF,IAEAjF,EAAAiF,EAAAqhC,OAAAtmC,IAGA,IAAAD,EAAAvI,KACAs2G,EAAA/tG,EAAAvG,EACAu0G,EAAAhuG,EAAAvG,EAAAuG,EAAAjG,MACAk0G,EAAAjuG,EAAAtG,EACAw0G,EAAAluG,EAAAtG,EAAAsG,EAAAhG,OACAm0G,EAAAluG,EAAAxG,EACA20G,EAAAnuG,EAAAxG,EAAAwG,EAAAlG,MACAs0G,EAAApuG,EAAAvG,EACA40G,EAAAruG,EAAAvG,EAAAuG,EAAAjG,OACA,QAAAg0G,EAAAG,GAAAC,EAAAL,GAAAG,EAAAG,GAAAC,EAAAL,IAEAl2F,QAAA,SAAAte,EAAAC,GACA,IAAAR,EAAAzB,KACA,OAAAgC,GAAAP,EAAAO,MAAAP,EAAAO,EAAAP,EAAAa,OAAAL,GAAAR,EAAAQ,MAAAR,EAAAQ,EAAAR,EAAAc,QAMAgT,MAAA,WACA,WAAA9H,EAAAzN,KAAAgC,EAAAhC,KAAAiC,EAAAjC,KAAAsC,MAAAtC,KAAAuC,SAMA6W,KAAA,SAAA08F,GACA91G,KAAAgC,EAAA8zG,EAAA9zG,EACAhC,KAAAiC,EAAA6zG,EAAA7zG,EACAjC,KAAAsC,MAAAwzG,EAAAxzG,MACAtC,KAAAuC,OAAAuzG,EAAAvzG,QAEAu0G,MAAA,WACA,OACA90G,EAAAhC,KAAAgC,EACAC,EAAAjC,KAAAiC,EACAK,MAAAtC,KAAAsC,MACAC,OAAAvC,KAAAuC,UAaAkL,EAAAqhC,OAAA,SAAArtC,GACA,WAAAgM,EAAAhM,EAAAO,EAAAP,EAAAQ,EAAAR,EAAAa,MAAAb,EAAAc,SAGA,IAAAE,EAAAgL,EACA/K,EAAAC,QAAAF,GAIA,SAAAC,EAAAC,GAEA,IAAA8vG,EAAA,qBAAAjnE,aAAAhuB,MAAAguB,aAQA,SAAAsD,EAAA9sC,EAAAC,GACA,IAAAo9B,EAAA,IAAAozE,EAAA,GAYA,OAVA,MAAAzwG,IACAA,EAAA,GAGA,MAAAC,IACAA,EAAA,GAGAo9B,EAAA,GAAAr9B,EACAq9B,EAAA,GAAAp9B,EACAo9B,EAUA,SAAAjmB,EAAAimB,EAAAliB,GAGA,OAFAkiB,EAAA,GAAAliB,EAAA,GACAkiB,EAAA,GAAAliB,EAAA,GACAkiB,EASA,SAAA9pB,EAAA4H,GACA,IAAAkiB,EAAA,IAAAozE,EAAA,GAGA,OAFApzE,EAAA,GAAAliB,EAAA,GACAkiB,EAAA,GAAAliB,EAAA,GACAkiB,EAWA,SAAAjM,EAAAiM,EAAA92B,EAAAC,GAGA,OAFA62B,EAAA,GAAA92B,EACA82B,EAAA,GAAA72B,EACA62B,EAUA,SAAA9B,EAAA8B,EAAA5jB,EAAAC,GAGA,OAFA2jB,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GACA2jB,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GACA2jB,EAWA,SAAA/gB,EAAA+gB,EAAA5jB,EAAAC,EAAAnT,GAGA,OAFA82B,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GAAAnT,EACA82B,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GAAAnT,EACA82B,EAUA,SAAAjhB,EAAAihB,EAAA5jB,EAAAC,GAGA,OAFA2jB,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GACA2jB,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GACA2jB,EASA,SAAA5yB,EAAA0Q,GACA,OAAAzW,KAAAk+C,KAAAmyD,EAAA55F,IAGA,IAAA5Z,EAAAkJ,EAQA,SAAAsqG,EAAA55F,GACA,OAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAGA,IAAA65F,EAAAD,EAQA,SAAA/4E,EAAAqB,EAAA5jB,EAAAC,GAGA,OAFA2jB,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GACA2jB,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GACA2jB,EAUA,SAAAzB,EAAAyB,EAAA5jB,EAAAC,GAGA,OAFA2jB,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GACA2jB,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GACA2jB,EAUA,SAAAvB,EAAAriB,EAAAC,GACA,OAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAUA,SAAA3D,EAAAsnB,EAAAliB,EAAA8Q,GAGA,OAFAoR,EAAA,GAAAliB,EAAA,GAAA8Q,EACAoR,EAAA,GAAAliB,EAAA,GAAA8Q,EACAoR,EASA,SAAAhhB,EAAAghB,EAAAliB,GACA,IAAAX,EAAA/P,EAAA0Q,GAUA,OARA,IAAAX,GACA6iB,EAAA,KACAA,EAAA,OAEAA,EAAA,GAAAliB,EAAA,GAAAX,EACA6iB,EAAA,GAAAliB,EAAA,GAAAX,GAGA6iB,EAUA,SAAA7vB,EAAAiM,EAAAC,GACA,OAAAhV,KAAAk+C,MAAAnpC,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,KAGA,IAAAiiB,EAAAnuB,EAQA,SAAAynG,EAAAx7F,EAAAC,GACA,OAAAD,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,IAGA,IAAAI,EAAAm7F,EAOA,SAAA/4E,EAAAmB,EAAAliB,GAGA,OAFAkiB,EAAA,IAAAliB,EAAA,GACAkiB,EAAA,IAAAliB,EAAA,GACAkiB,EAWA,SAAAtB,EAAAsB,EAAA5jB,EAAAC,EAAAU,GAGA,OAFAijB,EAAA,GAAA5jB,EAAA,GAAAW,GAAAV,EAAA,GAAAD,EAAA,IACA4jB,EAAA,GAAA5jB,EAAA,GAAAW,GAAAV,EAAA,GAAAD,EAAA,IACA4jB,EAUA,SAAAhmB,EAAAgmB,EAAAliB,EAAAoQ,GACA,IAAAvrB,EAAAmb,EAAA,GACAlb,EAAAkb,EAAA,GAGA,OAFAkiB,EAAA,GAAA9R,EAAA,GAAAvrB,EAAAurB,EAAA,GAAAtrB,EAAAsrB,EAAA,GACA8R,EAAA,GAAA9R,EAAA,GAAAvrB,EAAAurB,EAAA,GAAAtrB,EAAAsrB,EAAA,GACA8R,EAUA,SAAAn4B,EAAAm4B,EAAA5jB,EAAAC,GAGA,OAFA2jB,EAAA,GAAA34B,KAAAQ,IAAAuU,EAAA,GAAAC,EAAA,IACA2jB,EAAA,GAAA34B,KAAAQ,IAAAuU,EAAA,GAAAC,EAAA,IACA2jB,EAUA,SAAAl4B,EAAAk4B,EAAA5jB,EAAAC,GAGA,OAFA2jB,EAAA,GAAA34B,KAAAS,IAAAsU,EAAA,GAAAC,EAAA,IACA2jB,EAAA,GAAA34B,KAAAS,IAAAsU,EAAA,GAAAC,EAAA,IACA2jB,EAGA18B,EAAAmsC,SACAnsC,EAAAyW,OACAzW,EAAA4S,QACA5S,EAAAywB,MACAzwB,EAAA46B,MACA56B,EAAA2b,cACA3b,EAAAyb,MACAzb,EAAA8J,MACA9J,EAAAY,SACAZ,EAAAo0G,YACAp0G,EAAAq0G,eACAr0G,EAAAq7B,MACAr7B,EAAAi7B,MACAj7B,EAAAm7B,MACAn7B,EAAAoV,QACApV,EAAA0b,YACA1b,EAAA6M,WACA7M,EAAAg7B,OACAh7B,EAAAs0G,iBACAt0G,EAAAmZ,aACAnZ,EAAAu7B,SACAv7B,EAAAo7B,OACAp7B,EAAA0W,iBACA1W,EAAAuE,MACAvE,EAAAwE,OAIA,SAAAzE,EAAAC,GAMA,IAAA8vG,EAAA,qBAAAjnE,aAAAhuB,MAAAguB,aAMA,SAAAsD,IACA,IAAAzP,EAAA,IAAAozE,EAAA,GAEA,OADA7iE,EAAAvQ,GACAA,EAQA,SAAAuQ,EAAAvQ,GAOA,OANAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EASA,SAAAjmB,EAAAimB,EAAA9R,GAOA,OANA8R,EAAA,GAAA9R,EAAA,GACA8R,EAAA,GAAA9R,EAAA,GACA8R,EAAA,GAAA9R,EAAA,GACA8R,EAAA,GAAA9R,EAAA,GACA8R,EAAA,GAAA9R,EAAA,GACA8R,EAAA,GAAA9R,EAAA,GACA8R,EAUA,SAAArB,EAAAqB,EAAAq7D,EAAAC,GAIA,IAAAuc,EAAAxc,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GACAwc,EAAAzc,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GACAyc,EAAA1c,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GACA0c,EAAA3c,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GACA2c,EAAA5c,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,GACA6c,EAAA7c,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAOA,OANAr7D,EAAA,GAAA63E,EACA73E,EAAA,GAAA83E,EACA93E,EAAA,GAAA+3E,EACA/3E,EAAA,GAAAg4E,EACAh4E,EAAA,GAAAi4E,EACAj4E,EAAA,GAAAk4E,EACAl4E,EAUA,SAAAsR,EAAAtR,EAAA92B,EAAA4U,GAOA,OANAkiB,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GAAA4U,EAAA,GACAkiB,EAAA,GAAA92B,EAAA,GAAA4U,EAAA,GACAkiB,EAUA,SAAAiR,EAAAjR,EAAA92B,EAAAgoC,GACA,IAAAgjE,EAAAhrG,EAAA,GACAkrG,EAAAlrG,EAAA,GACAorG,EAAAprG,EAAA,GACAirG,EAAAjrG,EAAA,GACAmrG,EAAAnrG,EAAA,GACAqrG,EAAArrG,EAAA,GACAivG,EAAA9wG,KAAA0Y,IAAAmxB,GACAknE,EAAA/wG,KAAAwY,IAAAqxB,GAOA,OANAlR,EAAA,GAAAk0E,EAAAkE,EAAAjE,EAAAgE,EACAn4E,EAAA,IAAAk0E,EAAAiE,EAAAhE,EAAAiE,EACAp4E,EAAA,GAAAo0E,EAAAgE,EAAA/D,EAAA8D,EACAn4E,EAAA,IAAAo0E,EAAA+D,EAAAC,EAAA/D,EACAr0E,EAAA,GAAAo4E,EAAA9D,EAAA6D,EAAA5D,EACAv0E,EAAA,GAAAo4E,EAAA7D,EAAA4D,EAAA7D,EACAt0E,EAUA,SAAAtnB,EAAAsnB,EAAA92B,EAAA4U,GACA,IAAAu6F,EAAAv6F,EAAA,GACAw6F,EAAAx6F,EAAA,GAOA,OANAkiB,EAAA,GAAA92B,EAAA,GAAAmvG,EACAr4E,EAAA,GAAA92B,EAAA,GAAAovG,EACAt4E,EAAA,GAAA92B,EAAA,GAAAmvG,EACAr4E,EAAA,GAAA92B,EAAA,GAAAovG,EACAt4E,EAAA,GAAA92B,EAAA,GAAAmvG,EACAr4E,EAAA,GAAA92B,EAAA,GAAAovG,EACAt4E,EASA,SAAAwQ,EAAAxQ,EAAA92B,GACA,IAAAgrG,EAAAhrG,EAAA,GACAkrG,EAAAlrG,EAAA,GACAorG,EAAAprG,EAAA,GACAirG,EAAAjrG,EAAA,GACAmrG,EAAAnrG,EAAA,GACAqrG,EAAArrG,EAAA,GACA4oC,EAAAoiE,EAAAG,EAAAF,EAAAC,EAEA,OAAAtiE,GAIAA,EAAA,EAAAA,EACA9R,EAAA,GAAAq0E,EAAAviE,EACA9R,EAAA,IAAAm0E,EAAAriE,EACA9R,EAAA,IAAAo0E,EAAAtiE,EACA9R,EAAA,GAAAk0E,EAAApiE,EACA9R,EAAA,IAAAo0E,EAAAG,EAAAF,EAAAC,GAAAxiE,EACA9R,EAAA,IAAAm0E,EAAAG,EAAAJ,EAAAK,GAAAziE,EACA9R,GAVA,KAkBA,SAAA9pB,EAAAhN,GACA,IAAAC,EAAAsmC,IAEA,OADA11B,EAAA5Q,EAAAD,GACAC,EAGA7F,EAAAmsC,SACAnsC,EAAAitC,WACAjtC,EAAAyW,OACAzW,EAAAq7B,MACAr7B,EAAAguC,YACAhuC,EAAA2tC,SACA3tC,EAAAoV,QACApV,EAAAktC,SACAltC,EAAA4S,SAIA,SAAA7S,EAAAC,EAAA9D,GAEA,IAAAW,EAAAX,EAAA,IAoBA+4G,EAAA,KAEA,SAAAC,EAAAvtG,GACA,OAAAA,EAAAC,QAAA,WAAAA,QAAA,WAaA,SAAAutG,EAAA7uG,EAAA8uG,EAAAC,EAAA54E,GACA,IAAA64E,EAAAF,EAAA,GAAAA,EAAA,GACAG,EAAAF,EAAA,GAAAA,EAAA,GAEA,OAAAC,EACA,WAAAC,EAAAF,EAAA,IAAAA,EAAA,GAAAA,EAAA,MAQA,GAAA54E,EACA,GAAA64E,EAAA,GACA,GAAAhvG,GAAA8uG,EAAA,GACA,OAAAC,EAAA,GACO,GAAA/uG,GAAA8uG,EAAA,GACP,OAAAC,EAAA,OAEK,CACL,GAAA/uG,GAAA8uG,EAAA,GACA,OAAAC,EAAA,GACO,GAAA/uG,GAAA8uG,EAAA,GACP,OAAAC,EAAA,OAGG,CACH,GAAA/uG,IAAA8uG,EAAA,GACA,OAAAC,EAAA,GAGA,GAAA/uG,IAAA8uG,EAAA,GACA,OAAAC,EAAA,GAIA,OAAA/uG,EAAA8uG,EAAA,IAAAE,EAAAC,EAAAF,EAAA,GAYA,SAAAl2B,EAAAq2B,EAAAC,GACA,OAAAD,GACA,aACA,aACAA,EAAA,MACA,MAEA,WACA,UACAA,EAAA,KACA,MAEA,YACA,aACAA,EAAA,OACA,MAGA,wBAAAA,EACAN,EAAAM,GAAAthF,MAAA,MACA0U,WAAA4sE,GAAA,IAAAC,EAGA7sE,WAAA4sE,GAGA,MAAAA,EAAAt+F,KAAAs+F,EAaA,SAAAj+F,EAAAlY,EAAA00D,EAAA2hD,GAQA,OAPA,MAAA3hD,IACAA,EAAA,IAIAA,EAAAhwD,KAAAQ,IAAAR,KAAAS,IAAA,EAAAuvD,GAAA,IACA10D,OAAAs2G,QAAA5hD,GACA2hD,EAAAr2G,KAGA,SAAAu2G,EAAA96E,GAIA,OAHAA,EAAAxH,KAAA,SAAA1tB,EAAAC,GACA,OAAAD,EAAAC,IAEAi1B,EAQA,SAAA+6E,EAAAvvG,GAGA,GAFAA,KAEA2Q,MAAA3Q,GACA,SAOA,IAAAkN,EAAA,EACAwD,EAAA,EAEA,MAAAjT,KAAAwT,MAAAjR,EAAAkN,OAAAlN,EACAkN,GAAA,GACAwD,IAGA,OAAAA,EAQA,SAAA8+F,EAAAxvG,GACA,IAAAqB,EAAArB,EAAAH,WAEA4vG,EAAApuG,EAAA8gC,QAAA,KAEA,GAAAstE,EAAA,GACA,IAAAhiD,GAAApsD,EAAA40B,MAAAw5E,EAAA,GACA,OAAAhiD,EAAA,GAAAA,EAAA,EAEA,IAAAiiD,EAAAruG,EAAA8gC,QAAA,KACA,OAAAutE,EAAA,IAAAruG,EAAA/G,OAAA,EAAAo1G,EAYA,SAAAC,EAAAC,EAAAC,GACA,IAAAxjF,EAAA5uB,KAAA4uB,IACAyjF,EAAAryG,KAAAqyG,KACAC,EAAAtyG,KAAAmK,MAAAykB,EAAAujF,EAAA,GAAAA,EAAA,IAAAE,GACAE,EAAAvyG,KAAAwT,MAAAob,EAAA5uB,KAAAiR,IAAAmhG,EAAA,GAAAA,EAAA,KAAAC,GAEAriD,EAAAhwD,KAAAQ,IAAAR,KAAAS,KAAA6xG,EAAAC,EAAA,OACA,OAAAl/F,SAAA28C,KAAA,GAeA,SAAAwiD,EAAAC,EAAAx7F,EAAA+4C,GACA,IAAAyiD,EAAAx7F,GACA,SAGA,IAAAjE,EAAAla,EAAA2mB,OAAAgzF,EAAA,SAAAC,EAAAnwG,GACA,OAAAmwG,GAAAx/F,MAAA3Q,GAAA,EAAAA,IACG,GAEH,OAAAyQ,EACA,SAGA,IAAA2/F,EAAA3yG,KAAA2uB,IAAA,GAAAqhC,GACA4iD,EAAA95G,EAAA4N,IAAA+rG,EAAA,SAAAlwG,GACA,OAAA2Q,MAAA3Q,GAAA,EAAAA,GAAAyQ,EAAA2/F,EAAA,MAEAE,EAAA,IAAAF,EACAG,EAAAh6G,EAAA4N,IAAAksG,EAAA,SAAAG,GAEA,OAAA/yG,KAAAmK,MAAA4oG,KAEAC,EAAAl6G,EAAA2mB,OAAAqzF,EAAA,SAAAJ,EAAAnwG,GACA,OAAAmwG,EAAAnwG,GACG,GACH0wG,EAAAn6G,EAAA4N,IAAAksG,EAAA,SAAAG,EAAA97F,GACA,OAAA87F,EAAAD,EAAA77F,KAGA,MAAA+7F,EAAAH,EAAA,CAKA,IAHA,IAAApyG,EAAA6Y,OAAA45F,kBACAC,EAAA,KAEA9uG,EAAA,EAAA0B,EAAAktG,EAAAp2G,OAA2CwH,EAAA0B,IAAS1B,EACpD4uG,EAAA5uG,GAAA5D,IACAA,EAAAwyG,EAAA5uG,GACA8uG,EAAA9uG,KAKAyuG,EAAAK,GACAF,EAAAE,GAAA,IACAH,EAGA,OAAAF,EAAA77F,GAAA07F,EAIA,IAAAS,EAAA,iBAOA,SAAAC,EAAA95B,GACA,IAAA+5B,EAAA,EAAAtzG,KAAAC,GACA,OAAAs5E,EAAA+5B,OAQA,SAAAC,EAAAhxG,GACA,OAAAA,GAAA2uG,GAAA3uG,EAAA2uG,EAGA,IAAAsC,EAAA,oIAkBA,SAAAC,EAAAl2G,GACA,GAAAA,aAAA+zB,KACA,OAAA/zB,EACG,qBAAAA,EAAA,CAMH,IAAA4yB,EAAAqjF,EAAA3oG,KAAAtN,GAEA,IAAA4yB,EAEA,WAAAmB,KAAAne,KAIA,GAAAgd,EAAA,GAWA,CACA,IAAAujF,GAAAvjF,EAAA,MAMA,MAJA,MAAAA,EAAA,GAAA+I,gBACAw6E,GAAAvjF,EAAA,GAAAqI,MAAA,MAGA,IAAAlH,UAAAqiF,KAAAxjF,EAAA,KAAAA,EAAA,UAAAA,EAAA,MAAAujF,IAAAvjF,EAAA,QAAAA,EAAA,OAAAA,EAAA,QAfA,WAAAmB,MAAAnB,EAAA,KAAAA,EAAA,UAAAA,EAAA,OAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,OAAAA,EAAA,OAiBG,aAAA5yB,EACH,IAAA+zB,KAAAne,KAGA,IAAAme,KAAAtxB,KAAAwT,MAAAjW,IAUA,SAAAq2G,EAAArxG,GACA,OAAAvC,KAAA2uB,IAAA,GAAAklF,EAAAtxG,IAGA,SAAAsxG,EAAAtxG,GACA,OAAAvC,KAAAmK,MAAAnK,KAAA4uB,IAAArsB,GAAAvC,KAAAqyG,MAeA,SAAAyB,EAAAvxG,EAAAiR,GACA,IAIAshD,EAJAi/C,EAAAF,EAAAtxG,GACAyxG,EAAAh0G,KAAA2uB,IAAA,GAAAolF,GACA72G,EAAAqF,EAAAyxG,EAiCA,OA3BAl/C,EAFAthD,EACAtW,EAAA,IACA,EACKA,EAAA,IACL,EACKA,EAAA,EACL,EACKA,EAAA,EACL,EAEA,GAGAA,EAAA,EACA,EACKA,EAAA,EACL,EACKA,EAAA,EACL,EACKA,EAAA,EACL,EAEA,GAIAqF,EAAAuyD,EAAAk/C,EAGAD,IAAA,IAAAxxG,EAAAqvG,QAAAmC,EAAA,GAAAA,EAAA,GAAAxxG,EA0BA,SAAA0xG,EAAAxtG,GACAA,EAAA8oB,KAAA,SAAA1tB,EAAAC,GACA,OAAAoyG,EAAAryG,EAAAC,EAAA,UAKA,IAHA,IAAAqyG,GAAA/gG,IACAghG,EAAA,EAEA/vG,EAAA,EAAiBA,EAAAoC,EAAA5J,QAAiB,CAIlC,IAHA,IAAAmZ,EAAAvP,EAAApC,GAAA2R,SACAq+F,EAAA5tG,EAAApC,GAAAgwG,MAEAC,EAAA,EAAoBA,EAAA,EAAQA,IAC5Bt+F,EAAAs+F,IAAAH,IACAn+F,EAAAs+F,GAAAH,EACAE,EAAAC,KAAA,IAAAF,GAGAD,EAAAn+F,EAAAs+F,GACAF,EAAAC,EAAAC,GAGAt+F,EAAA,KAAAA,EAAA,IAAAq+F,EAAA,GAAAA,EAAA,OACA5tG,EAAAkkE,OAAAtmE,EAAA,GAEAA,IAIA,OAAAoC,EAEA,SAAAytG,EAAAryG,EAAAC,EAAAwyG,GACA,OAAAzyG,EAAAmU,SAAAs+F,GAAAxyG,EAAAkU,SAAAs+F,IAAAzyG,EAAAmU,SAAAs+F,KAAAxyG,EAAAkU,SAAAs+F,KAAAzyG,EAAAwyG,MAAAC,GAAAxyG,EAAAuyG,MAAAC,SAAA,OAAAA,GAAAJ,EAAAryG,EAAAC,EAAA,KAaA,SAAAyyG,EAAA99F,GACA,OAAAA,EAAAouB,WAAApuB,IAAA,EAGAxa,EAAAm1G,YACAn1G,EAAAm/E,eACAn/E,EAAAuX,QACAvX,EAAA41G,MACA51G,EAAA61G,eACA71G,EAAA81G,mBACA91G,EAAAi2G,oBACAj2G,EAAAu2G,0BACAv2G,EAAAm3G,mBACAn3G,EAAAo3G,YACAp3G,EAAAs3G,qBACAt3G,EAAAw3G,YACAx3G,EAAA23G,WACA33G,EAAA63G,OACA73G,EAAAg4G,kBACAh4G,EAAAs4G,aAIA,SAAAv4G,EAAAwrB,EAAArvB,GAEA,aACA,IAAA68F,EAAA78F,EAAA,GACAqiC,EAAAriC,EAAA,IACAmsE,EAAAnsE,EAAA,IAKAq8G,EAAA,WAEAl7G,KAAAm7G,MAAA,GAEAn7G,KAAAo7G,mBAAA,IAGAF,EAAAj7G,UAAA,CAEAC,YAAAg7G,EAEAz1G,IAAA,SAAAkgF,GACA,IAAA16E,EAAAowG,EAAA11B,GACA3lF,KAAAm7G,MAAAjwG,eAAAD,KACAjL,KAAAm7G,MAAAlwG,GAAA,IAEA,IAAAkC,EAAAnN,KAAAm7G,MAAAlwG,GACA,IAAAkC,EAAA5J,OAAA,CACA,IAAAqvB,EAAA,IAAA8oE,EAAA,KAAA/V,GAEA,OADA3lF,KAAAo7G,mBAAAzoG,KAAAigB,GACAA,EAEA,OAAAzlB,EAAAkf,OAGAnf,IAAA,SAAA0lB,GACA,IAAA3nB,EAAAowG,EAAAzoF,GACA5yB,KAAAm7G,MAAAjwG,eAAAD,KACAjL,KAAAm7G,MAAAlwG,GAAA,IAEA,IAAAkC,EAAAnN,KAAAm7G,MAAAlwG,GACAkC,EAAAwF,KAAAigB,IAGAlmB,MAAA,SAAA0qB,GACA,QAAArsB,EAAA,EAAuBA,EAAA/K,KAAAo7G,mBAAA73G,OAAoCwH,IAC3D/K,KAAAo7G,mBAAArwG,GAAA+K,QAAAshB,GAEAp3B,KAAAm7G,MAAA,GACAn7G,KAAAo7G,mBAAA,KAIA,IAAAE,EAAA,CACAh5G,MAAA,IACAC,OAAA,IACApC,KAAA+gC,EAAA,KAAAE,cACAC,OAAAH,EAAA,KAAAI,KACA7L,MAAAyL,EAAA,KAAAlG,cACArF,MAAAuL,EAAA,KAAAlG,cACAuG,UAAAL,EAAA,KAAAM,qBACAC,UAAAP,EAAA,KAAAQ,OACAC,WAAA,EACAzG,YAAA,EACApD,OAAA,EACA+J,gBAAA,EACAC,kBAAA,GAGAy5E,EAAAxyG,OAAAitB,KAAAslF,GAEA,SAAAD,EAAA11B,GACA3a,EAAA,KAAA9F,qBAAAygB,EAAA21B,EAAAC,GACAC,EAAA71B,GAGA,IADA,IAAA16E,EAAA,GACAF,EAAA,EAAmBA,EAAAwwG,EAAAh4G,OAAiCwH,IAAA,CACpD,IAAAuD,EAAAitG,EAAAxwG,GACAkmD,EAAA00B,EAAAr3E,GAAAxF,WACAmC,GAAAgmD,EAEA,OAAAhmD,EAGA,SAAAuwG,EAAAnlG,GAEA,IAAAolG,EAAAj4E,EAAAntB,EAAA/T,MAAA+T,EAAA9T,QAEA8T,EAAAgrB,SAAAH,EAAA,KAAAgC,kBACA7sB,EAAAsrB,WAAA,GAGA85E,GAAAplG,EAAAsrB,YACAtrB,EAAAkrB,WAAAL,EAAA,KAAA0C,wBACAvtB,EAAAkrB,WAAAL,EAAA,KAAA2C,sBACAxtB,EAAAkrB,UAAAL,EAAA,KAAA4C,QAEAztB,EAAAkrB,WAAAL,EAAA,KAAAM,sBACAnrB,EAAAkrB,WAAAL,EAAA,KAAA6C,wBAEA1tB,EAAAkrB,UAAAL,EAAA,KAAAQ,SAGA+5E,IACAplG,EAAAof,MAAAyL,EAAA,KAAAlG,cACA3kB,EAAAsf,MAAAuL,EAAA,KAAAlG,eAIA,SAAAwI,EAAAlhC,EAAAC,GACA,YAAAD,IAAA,IACA,KAAAC,IAAA,GAGA2rB,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,88CAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,48BAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,kcAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,yiCAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,kwCAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,4yCAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,i1HAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,6yCAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,gzEAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGAzO,EAAA,MAEAwtF,iBAAA,SAAAC,EAAAC,GACA,IAEAC,EAFAC,GAAAH,GAAA,IAAAz8E,QAYA,GATA,kBAAA08E,GACAA,EAAAh/E,EAAAr0B,EAAAwzG,OAAAH,GACAC,EAAAD,KAAAC,SAGAD,KAAAI,WACAH,EAAAD,IAGAC,EAOA,OALAzjF,QAAA+B,MAAA,OAAAyhF,EAAA,wFACAC,EAAAG,UACA5jF,QAAA+B,MAAA,6BAGA,GAKA,IAFA,IAAA8hF,EAAA,GACAD,EAAAH,EAAAG,SACAjxG,EAAA,EAAuBA,EAAA+wG,EAAAv4G,OAAuBwH,IAC9CkxG,EAAAH,EAAA/wG,GAAAuD,MAAAwtG,EAAA/wG,GAGA,IAAAA,EAAA,EAAuBA,EAAAixG,EAAAz4G,OAAqBwH,IAAA,CAC5C,IAAAuD,EAAA0tG,EAAAjxG,GAAA+U,WAAAxR,KACA2tG,EAAA3tG,IACAwtG,EAAAnpG,KAAA,CACArE,SAKA,OAAAwtG,GAGAh5F,cAAA,CACAo5F,MAAA,EAEAC,QAAA,GAGA/uG,IAAA,GAGAkiC,KAAA,EACAG,IAAA,EACAntC,MAAA,OACAC,OAAA,OAEA65G,SAAA,IACAC,UAAA,GACAC,SAAA,OAEAxZ,aAAA,EAEAyZ,YAAA,OAEAC,YAAA,CACAN,MAAA,EACAp1F,MAAA,QAGA2T,QAAA,UAEAirC,MAAA,CACAsH,KAAA,CACA1zC,MAAA,GACAC,KAAA,KAIAkhD,YAAA,CACAnhD,MAAA,GACAC,KAAA,EACA/pB,SAAA,IACA8rE,iBAAA,GAEAG,SAAA,EACAY,SAAA,GACAC,QAAA,IAGAx3D,MAAA,CACAo3F,MAAA,EAEA1sG,SAAA,EAEAitG,UAAA,CACA/oG,SAAA,GACAoT,MAAA,OACA41F,gBAAA,wBACAxrG,QAAA,EACAyrG,aAAA,IAmBArR,UAAA,CACAxkF,MAAA,OACA81F,YAAA,EACA/Z,YAAA,QAGAga,SAAA,CACAvR,UAAA,CAEAxkF,MAAA,WAEAhC,MAAA,CACAo3F,MAAA,OAQA,SAAAx5G,EAAAwrB,EAAArvB,GAEA,aAEA,SAAAi+G,EAAAr/E,EAAAl1B,EAAAC,GACA,IAAA2nD,EAAA1yB,EAAAl1B,GACAk1B,EAAAl1B,GAAAk1B,EAAAj1B,GACAi1B,EAAAj1B,GAAA2nD,EAEA,SAAA4sD,EAAAt/E,EAAAu/E,EAAA1tE,EAAAC,EAAAo4D,GACA,IAAAsV,EAAA3tE,EACA4tE,EAAAz/E,EAAAu/E,GAGAF,EAAAr/E,EAAAu/E,EAAAztE,GAGA,QAAApyB,EAAAmyB,EAAqBnyB,EAAAoyB,EAAWpyB,IAChCwqF,EAAAlqE,EAAAtgB,GAAA+/F,GAAA,IACAJ,EAAAr/E,EAAAtgB,EAAA8/F,GACAA,KAOA,OAFAH,EAAAr/E,EAAA8R,EAAA0tE,GAEAA,EAGA,SAAAE,EAAA//E,EAAAuqE,EAAAr4D,EAAAC,GACA,GAAAD,EAAAC,EAAA,CACA,IAAAytE,EAAAt2G,KAAAmK,OAAAy+B,EAAAC,GAAA,GACA6tE,EAAAL,EAAA3/E,EAAA4/E,EAAA1tE,EAAAC,EAAAo4D,GACAwV,EAAA//E,EAAAuqE,EAAAr4D,EAAA8tE,EAAA,GACAD,EAAA//E,EAAAuqE,EAAAyV,EAAA,EAAA7tE,IAMA,SAAA8tE,IAGAr9G,KAAAs9G,OAAA,GAGAD,EAAAp9G,UAAAuD,KAAA,SAAAi6B,EAAAkqE,EAAAluF,GAEA,IAAAhN,EAAAgxB,EAAAl6B,OACA,OAAAkW,EAAA,CACAzZ,KAAAs9G,OAAA,GACAt9G,KAAAu9G,SAAA,EAGA,IAAAP,EAAAt2G,KAAAmK,MAAApE,EAAA,GACAzM,KAAAs9G,OAAA3qG,KAAA,CACAqqG,QACA1tE,KAAA,EACAC,MAAA9iC,EAAA,IAGAzM,KAAAw9G,oBAAA,EAGA,IAAAx9G,KAAAu9G,QAAA,CAIA,IAAAnvE,EAAApuC,KAAAs9G,OACA,OAAAlvE,EAAA7qC,OAGA,OAFAvD,KAAAu9G,SAAA,GAEA,EAEA,GAAAnvE,EAAA7qC,OAAA,KAEA,QAAAwH,EAAA,EAAuBA,EAAAqjC,EAAA7qC,OAAkBwH,IAEzCqjC,EAAArjC,GAAAiyG,MAAAD,EACAt/E,EAAA2Q,EAAArjC,GAAAiyG,MAAA5uE,EAAArjC,GAAAukC,KAAAlB,EAAArjC,GAAAwkC,MAAAo4D,GAIA,IAAA8V,EAAA,GACA,IAAA1yG,EAAA,EAAuBA,EAAAqjC,EAAA7qC,OAAkBwH,IAAA,CAEzC,IAAAukC,EAAAlB,EAAArjC,GAAAukC,KACAC,EAAAnB,EAAArjC,GAAAiyG,MAAA,EACAztE,EAAAD,GACAmuE,EAAA9qG,KAAA,CACAqqG,MAAAt2G,KAAAmK,OAAA0+B,EAAAD,GAAA,GACAA,OAAAC,UAIAD,EAAAlB,EAAArjC,GAAAiyG,MAAA,EACAztE,EAAAnB,EAAArjC,GAAAwkC,MACAA,EAAAD,GACAmuE,EAAA9qG,KAAA,CACAqqG,MAAAt2G,KAAAmK,OAAA0+B,EAAAD,GAAA,GACAA,OAAAC,UAIAnB,EAAApuC,KAAAs9G,OAAAG,OAKA,IAAA1yG,EAAA,EAAuBA,EAAArE,KAAAmK,MAAAu9B,EAAA7qC,OAAA,IAAmCwH,IAAA,CAE1D,IAAA4S,EAAAywB,EAAA7qC,OAAA,EAAAvD,KAAAw9G,oBAKA,GAJAL,EAAA1/E,EAAAkqE,EAAAv5D,EAAAzwB,GAAA2xB,KAAAlB,EAAAzwB,GAAA4xB,OACAvvC,KAAAw9G,sBAGAx9G,KAAAw9G,sBAAApvE,EAAA7qC,OAEA,OADAvD,KAAAu9G,SAAA,GACA,EAOA,WAGAF,EAAApnF,KAAAknF,EAEAjvF,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA6+G,EAAA7+G,EAAA,IACA+mE,EAAA/mE,EAAA,GACAgnE,EAAAhnE,EAAAgvB,EAAA+3C,GACA+3C,EAAA9+G,EAAA,IACA++G,EAAA/+G,EAAAgvB,EAAA8vF,GACAE,EAAAh/G,EAAA,IACAkgG,EAAAlgG,EAAA,GAOA,SAAAi/G,EAAAC,EAAAh5G,GAEA,IAAAi5G,EAAAD,EAAAE,qBAEAvrE,EAAAkrE,EAAAr1G,EAAA+6E,cAAA06B,EAAA,CACA17G,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,cAIA5rB,EAAAzwC,EAAA8C,EAAAu5D,YAAA5rB,EAAAzwC,EAAAywC,EAAAnwC,OAEAvC,KAAAkvE,OAAA77B,YAAAX,EAAA1wC,EAAA0wC,EAAAzwC,EAAAywC,EAAApwC,MAAAowC,EAAAnwC,OAAAwC,EAAAmmF,uBAEA,IAAAgzB,EAAAl+G,KAAAm+G,qBACAv9F,EAAAs9F,EAAA57G,MAAA47G,EAAA37G,QAAAw7G,EAAAt4G,IAAA,qBAEAnD,EAAAy7G,EAAAt4G,IAAA,YACAq+D,EAAAi6C,EAAAt4G,IAAA,YACAlD,EAAAw7G,EAAAt4G,IAAA,aACA,MAAAlD,IACAA,EAAA,GAEAqX,MAAAtX,IAAAsX,MAAAkqD,KAEAxhE,EAAA,KAEAsX,MAAAkqD,GACAA,EAAAxhE,EAAAse,EAEAhH,MAAAtX,KACAA,EAAAwhE,EAAAljD,GAGA5gB,KAAAo+G,QAAA97G,EAAAC,EAAAuhE,GAEA9jE,KAAA8iG,aAAAib,EAAAt4G,IAAA,gBAEAzF,KAAAq+G,cACAr+G,KAAAq+G,aAAAC,UAAA,EAAA53G,KAAAS,IAAA5E,EAAAvC,KAAA8iG,aAAA,IAIA,SAAAyb,EAAAhkG,EAAAxV,GAEA,IAAAy5G,EAAA,CAAA1kG,UAyBA,GAvBAS,EAAAkkG,WAAA,SAAAnkG,GACA,GAAAA,EAAApV,mBAAAlF,MAGA,iBAAAsa,EAAAna,KAAA,CAIA,IAAAoL,EAAA+O,EAAAE,UACAkkG,EAAApkG,EAAAkO,kBAAA,OACAm2F,EAAAD,KAAA,GACA,GAAAC,EAAA,CAEA,IAAA9F,EAAAttG,EAAAqzG,cAAAD,GAAA,GACAH,EAAA,GAAA93G,KAAAQ,IACAs3G,EAAA,GAAA3F,EAAA,IAEA2F,EAAA,GAAA93G,KAAAS,IACAq3G,EAAA,GAAA3F,EAAA,OAGK74G,MAELw+G,GAAAzkG,SAAAykG,EAAA,GAAAA,EAAA,KACA,IAAAzmG,EAAA8tD,EAAAt9D,EAAA++E,OAAAu3B,YACAL,EAAA,CACAr+G,KAAA,QAEA+G,IAAA,UACAC,IAAA,YAGAnH,KAAAq+G,aAAA,IAAAx4C,EAAAt9D,EAAAu2G,KAAA,WAAA/mG,GAEA/X,KAAAq+D,OAAAr+D,KAAA2jB,MAAA5e,IAMA,IAAAg6G,EAAA,SAAAzwG,GACA8pB,QAAA+B,MAAA,OAAA7rB,EAAA,yFAKA0wG,EAAA,EAEAC,EAAA,CAEAxmC,WAAAilC,EAAA,KAAAz9G,UAAAw4E,WAEA3pC,OAAA,SAAAv0B,EAAAxV,GAEA,IAAAm6G,EAAA,GAEA,IAAAr5C,EAAAt9D,EAAAwzG,OACA,UAAApuE,MAAA,4CAGA,SAAAwxE,EAAAlxC,EAAAtwD,GAEA,IAAA8lF,EAAAwb,EAAAE,YAAAlxC,GAGAA,EAAAmxC,SAAAnxC,EAAAmxC,UAAA,IAAAvB,EAAA,KAEApa,EAAAv0B,OAAAjB,EAAAmxC,SAEAnxC,EAAA/oE,iBAAAu+F,EACAA,EAAA9/E,MAAAsqD,EAEAixC,EAAAvsG,KAAA8wF,GAGAA,EAAAplC,OAAAy/C,EACAra,EAAAplC,OAAA4P,EAAAlpE,GAEA0+F,EAAAl3E,OAAAgyF,EAuCA,OApCAhkG,EAAA8kG,cAAA,iBAAAtB,EAAApgG,GACAwhG,EAAApB,EAAApgG,KAGApD,EAAA+kG,iBAAA,iBAAAC,EAAA5hG,GACA,IAAA1Y,EAAAs6G,EAAA95G,IAAA,oBACA,MAAAR,IACAA,EAAA,SAEA,UAAAA,GACAk6G,EAAAI,EAAA5hG,KAIApD,EAAAkkG,WAAA,SAAAnkG,GACA,aAAAA,EAAA7U,IAAA,qBACA,oBAAA6U,EAAAna,KACA,OAEA,IAAA49G,EAAAzjG,EAAAstE,uBAAA,YAKA,GAJAm2B,IACAA,EAAAxjG,EAAAmS,aAAA,WAGAqxF,EACA,UAAApwE,MAAA,QAAAoxD,EAAA,KAAAznE,aACAhd,EAAA7U,IAAA,cACA6U,EAAA7U,IAAA,WACA,GACA,eAGA6U,EAAApV,iBAAA64G,EAAA74G,oBAIAg6G,GAGAC,YAAA,SAAAlxC,GAEA,IACA3/D,EADAstG,EAAA3tC,EAAAxoE,IAAA,OAiBA,GAfA,kBAAAm2G,GACAttG,EAAAstG,EACAA,EAAA/1C,EAAAt9D,EAAAwzG,OAAAH,IAGAA,KAAAI,WACAJ,EAAA,CACAC,QAAAD,IAKAA,GACAmD,EAAAnD,IAEAA,EAAAC,QAAAG,SACA,UAAAruE,MAAA,6BAOA,OAJA,MAAAr/B,IACAA,EAAA,iBAAA0wG,KAGA,IAAAtB,EAAA,KACApvG,EAAA0wG,IAAA1wG,EACAstG,KAAAC,QAAAD,KAAA4D,aACAvxC,EAAAxoE,IAAA,cAKAogE,EAAAt9D,EAAAk3G,yBAAA,QAAAR,GAEA/wF,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA6pE,EAAA3nG,EAAA,GACA6gH,EAAA7gH,EAAA,KACA8gH,EAAA9gH,EAAAgvB,EAAA6xF,GACAE,EAAA/gH,EAAA,KACAghH,EAAAhhH,EAAAgvB,EAAA+xF,GAGA92E,EAAA09D,EAAA,KAAA19D,KACAO,EAAAm9D,EAAA,KAAAn9D,KAKAy2E,EAAA,CAAAH,EAAAp3G,EAAAs3G,EAAAt3G,GAEA,SAAAw3G,EAAAzxG,EAAAlB,EAAAyuG,EAAA2D,EAAAQ,GAEAhgH,KAAAsO,OAEAtO,KAAAoN,MAEApN,KAAA8iG,aAAA,EAEA9iG,KAAA27G,QAAA,GAEA37G,KAAAigH,cAAA,GAEAjgH,KAAAkgH,YAAArE,EAAA2D,EAAAQ,GAEAhgH,KAAA6G,UAAAwiC,EAAAuG,SAAA,IAAA+b,aAAA,KAEA3rD,KAAAmgH,aAAA92E,EAAAuG,SAAA,IAAA+b,aAAA,KAGA3rD,KAAAigG,UAAA,EAEAjgG,KAAAq+G,aAGA0B,EAAA9/G,UAAA,CAEAC,YAAA6/G,EAEA5/G,KAAA,QAEAs4E,WAAA,oBAEA9jB,aAAA,aAEAurD,YAAA,SAAArE,EAAA2D,EAAAQ,GACA,IAAAI,EAAAxjF,EAAAr0B,EAAA63G,cAAAxjF,EAAAr0B,EAAA83G,aACA,IACArgH,KAAA27G,QAAAE,EAAAuE,EAAAvE,GAAA,GAEA,MAAA1lG,GACA,gCAAAA,EAEAqpG,KAAA,GACAQ,KAAA,GAGA,IAFA,IAAArE,EAAA37G,KAAA27G,QACA2E,EAAA,GACAv1G,EAAA,EAAuBA,EAAA4wG,EAAAp4G,OAAoBwH,IAAA,CAC3C,IAAAw1G,EAAA5E,EAAA5wG,GAAAuD,KAEAiyG,EAAAP,EAAAO,MACA5E,EAAA5wG,GAAAuD,KAAAiyG,EAEAD,EAAAC,GAAA5E,EAAA5wG,GAEA/K,KAAAwgH,YAAAD,EAAA5E,EAAA5wG,GAAAmR,QAIA,IAAAukG,EAAAjB,EAAAe,GACAE,GACA9E,EAAA5wG,GAAA4V,YACA8/F,EAAAnxE,KAAAmxE,EAAAhxE,IAAAgxE,EAAAn+G,MAAAm+G,EAAAl+G,QAKAvC,KAAA0gH,YAAAJ,EAEAtgH,KAAA2gH,SAAA,KAEAb,EAAAj1G,QAAA,SAAA+1G,GACAA,EAAA5gH,OACSA,OAGTm+G,mBAAA,WACA,GAAAn+G,KAAA2gH,SACA,OAAA3gH,KAAA2gH,SAKA,IAHA,IAAAl/G,EAEAk6G,EAAA37G,KAAA27G,QACA5wG,EAAA,EAAuBA,EAAA4wG,EAAAp4G,OAAoBwH,IAAA,CAC3C,IAAA81G,EAAAlF,EAAA5wG,GAAAxJ,kBACAE,KAAAo/G,EAAAtrG,QACA9T,EAAA0yD,MAAA0sD,GAGA,OAAA7gH,KAAA2gH,SAAAl/G,GAAA,IAAAm7B,EAAAr0B,EAAArE,QAAAuJ,aAAA,UAQA+yG,YAAA,SAAAlyG,EAAAwyG,GACA9gH,KAAAigH,cAAA3xG,GAAAwyG,GAOAjgB,UAAA,SAAAvyF,GACA,OAAAtO,KAAA0gH,YAAApyG,IAGAyyG,iBAAA,SAAAxgG,GAEA,IADA,IAAAo7F,EAAA37G,KAAA27G,QACA5wG,EAAA,EAAuBA,EAAA4wG,EAAAp4G,OAAoBwH,IAC3C,GAAA4wG,EAAA5wG,GAAAuV,QAAAC,GACA,OAAAo7F,EAAA5wG,IAKAqzG,QAAA,SAAA97G,EAAAC,EAAAuhE,GACA9jE,KAAAib,KAAA,CAAA3Y,EAAAC,EAAAuhE,GAEA,IAAAriE,EAAAzB,KAAAm+G,qBAEA7I,EAAAhzG,EAAAb,EAAAa,MACA0+G,GAAAl9C,EAAAriE,EAAAc,OACA0+G,GAAA3+G,EAAA,EAAAb,EAAAO,EAAAszG,EACA4L,EAAAp9C,EAAA,EAAAriE,EAAAQ,EAAA++G,EAEA16G,EAAAtG,KAAAigG,SAAA,CAAAghB,EAAA,EAAAC,GAAA,CAAAD,EAAAC,EAAA,GACAnpG,EAAA/X,KAAAigG,SAAA,CAAAqV,EAAA,EAAA0L,GAAA,CAAA1L,EAAA0L,EAAA,GAEAzzF,EAAAvtB,KAAA6G,UACAwiC,EAAAuG,SAAAriB,GACA8b,EAAAsH,UAAApjB,IAAAjnB,GACA+iC,EAAAtxB,MAAAwV,IAAAxV,GAEAsxB,EAAAwG,OAAA7vC,KAAAmgH,aAAA5yF,IAGAhoB,YAAA,SAAAgG,EAAA8zB,GACAA,KAAA,GAEA,IAAAulE,EAAA5kG,KAAAigG,SAAA,IACA4E,EAAA7kG,KAAAigG,SAAA,IAEAkhB,EAAA51G,EAAA,GAqBA,OAnBAqO,MAAAunG,KACAA,EAAA,GAGA9hF,EAAA,GAAA9zB,EAAA,GAEA8zB,EAAAwlE,GAAAt5F,EAAA,GAEAvL,KAAAq+G,aACAh/E,EAAAulE,GAAA5kG,KAAAq+G,aAAA+C,YAAAD,GAGA9hF,EAAAulE,GAAA,EAGAvlE,EAAAulE,IAAA5kG,KAAA8iG,aAEAh6D,EAAApK,cAAAW,IAAAr/B,KAAA6G,WAEAw4B,GAGAgiF,YAAA,SAAAx3C,EAAAxqC,MAKAnR,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAyiH,EAAAziH,EAAA,GAEAwqC,EAAAi4E,EAAA,KAAAj4E,KAEAk4E,EAAA,IACAC,EAAA,kBACA76G,EAAAD,KAAAC,GAEA86G,EAAA,GAEA,SAAAC,IAIA1hH,KAAAsC,MAAA,EAIAtC,KAAAuC,OAAA,EAEAvC,KAAA2hH,cAAA,EAGA3hH,KAAAq8G,UAAA,OAGAr8G,KAAA4hH,eAEA5hH,KAAA6hH,QAAA,EACA7hH,KAAA8hH,MAAA,EACA9hH,KAAAkc,OAAA,MAEAlc,KAAA+hH,QAEA/hH,KAAAgiH,KAAA,EACAhiH,KAAAiiH,aAGAjiH,KAAAkiH,SAAA,GACAliH,KAAAmiH,WAAA,EAGAT,EAAAzhH,UAAA,CAEAC,YAAAwhH,EAEAjpC,WAAA,oBAEA9jB,aAAA,aAEAytD,gBAAA,SAAAj/F,GACAnjB,KAAA6hH,QAAA1+F,EAAA0+F,QACA7hH,KAAA8hH,MAAA3+F,EAAA2+F,MAEA9hH,KAAAkc,OAAAiH,EAAAjH,OACAlc,KAAAgiH,KAAA7+F,EAAA6+F,KAEAhiH,KAAA+hH,UACA/hH,KAAA+hH,QAAA/hH,KAAAqiH,uBAAAriH,KAAAkc,OAAAqlG,IAEA,MAAAvhH,KAAAiiH,eACAjiH,KAAAiiH,aAAAjiH,KAAAgiH,MAGAhiH,KAAAsiH,mBAIAA,gBAAA,WACA,GAAAtiH,KAAAuC,OAAA,CAEA,IAAAggH,EAAA,GAAA77G,KAAA+0D,IAAA+lD,EAAA,GAAAxhH,KAAAuC,OAAAk/G,EAEAK,EAAAp7G,KAAAS,IAAAT,KAAAQ,IAAAlH,KAAA8hH,MAAA9hH,KAAAkiH,UAAA,OAAAx7G,KAAAC,GAMA67G,EAAAhB,EAAA,EACAiB,EAAA/7G,KAAAC,GAAA,EAAAm7G,EACAY,EAAAh8G,KAAA0Y,IAAAojG,GAAAD,EAAA77G,KAAA0Y,IAAA1Y,KAAAC,GAAA87G,EAAAD,GAGAG,EAAAj8G,KAAAwY,IAAAxY,KAAAC,GAAA,EAAAm7G,GAAAY,EAAAH,EAEAK,EAAA,IAAAD,EAEA3iH,KAAA8hH,MAAA,KACAc,EAAA,KAIA,IAAAr1F,EAAA,GACA8b,EAAA+G,YAAA7iB,EAAAi0F,EAAAxhH,KAAAsC,MAAAtC,KAAAuC,OAAA,EAAAqgH,GACA5iH,KAAAkvE,OAAA5c,OAAAukB,iBAAAr5C,SAAAjQ,GACAvtB,KAAAkvE,OAAA5c,OAAA8lB,4BAEA7qD,EAAA8b,EAAAuG,SAAA,QACAizE,EAAA7iH,KAAAuF,YAAAvF,KAAAkc,QAEAmtB,EAAAtxB,MAAAwV,IAAA,UAEA8b,EAAAsH,UAAApjB,IAAA,MAAAg1F,IACAl5E,EAAAmH,QAAAjjB,IAAAu0F,GACAz4E,EAAAqH,QAAAnjB,KAAAvtB,KAAA6hH,QAAA,IAAAn7G,KAAAC,IAEA0iC,EAAAsH,UAAApjB,IAAA,EAAAs1F,EAAA,GAAA7iH,KAAA8iH,WAAArB,GAAAoB,EAAA,GAAA7iH,KAAA8iH,WAAArB,EAAA,IAEAzhH,KAAAkvE,OAAA5c,OAAAikB,WAAAn5C,MAAA7P,EACA,IAAAw1F,EAAA,GACA15E,EAAAwG,OAAAkzE,EAAAx1F,GACAvtB,KAAAkvE,OAAA5c,OAAA0O,eAAA5jC,MAAA2lF,EACA/iH,KAAAkvE,OAAA5c,OAAAogB,0BAIA,IACAswC,EADAC,EAAA1B,EAAAvhH,KAAA8iH,WAGA,GAAA9iH,KAAA4hH,iBAAAhoG,MAAA5Z,KAAAq8G,WAAA,CACA,IAAArE,EAAAh4G,KAAA4hH,eAAA,GAAA5hH,KAAA4hH,eAAA,GACAoB,EAAAhjH,KAAAq8G,UAAArE,EAAAh4G,KAAA8iH,WAAAp8G,KAAA2uB,IAAA,EAAAr1B,KAAAiiH,aAAAjiH,KAAAmiH,iBAGAa,EAAAC,GAAA,EAAAv8G,KAAAC,GAAA,OAAAD,KAAAiR,IAAAjR,KAAAwY,IAAAlf,KAAAkc,OAAA,IAAAxV,KAAAC,GAAA,QACA3G,KAAA2hH,cAAAF,EAIAzhH,KAAAkvE,OAAA1R,SAAAzlD,MAAAqb,IACApzB,KAAA8iH,WAAArB,EAAAzhH,KAAA8iH,WAAArB,EAAAuB,KAIAF,SAAA,WACA,OAAAp8G,KAAA2uB,IAAA,EAAAr1B,KAAAgiH,KAAAhiH,KAAAmiH,aAGAe,cAAA,SAAA33G,EAAA8zB,GACA,OAAAr/B,KAAAqiH,uBAAA92G,EAAAvL,KAAA8iH,WAAAvB,EAAAliF,IAGAgjF,uBAAA,SAAA92G,EAAAwM,EAAAsnB,GACA,IAAA8jF,EAAA53G,EAAA,GACA63G,EAAA73G,EAAA,GACA83G,EAAAF,EAAAx8G,EAAA,IACA28G,EAAAF,EAAAz8G,EAAA,IACA3E,EAAA+V,GAAAsrG,EAAA18G,IAAA,EAAAA,GACA1E,EAAA8V,GAAApR,EAAAD,KAAA4uB,IAAA5uB,KAAA+0D,IAAA90D,EAAA,KAAA28G,MAAA,EAAA38G,GAIA,OAHA04B,KAAA,GACAA,EAAA,GAAAr9B,EACAq9B,EAAA,GAAAp9B,EACAo9B,GAGAkkF,kBAAA,SAAA15C,EAAAxqC,GACA,OAAAr/B,KAAAwjH,yBAAA35C,EAAA7pE,KAAA8iH,WAAAvB,EAAAliF,IAGAmkF,yBAAA,SAAA35C,EAAA9xD,EAAAsnB,GACA,IAAAr9B,EAAA6nE,EAAA,GACA5nE,EAAA4nE,EAAA,GACAw5C,EAAArhH,EAAA+V,GAAA,EAAApR,KACA28G,EAAA,GAAA58G,KAAAwyE,KAAAxyE,KAAA+8G,IAAA98G,EAAA1E,EAAA8V,GAAA,EAAApR,OAAA,GAIA,OAHA04B,KAAA,GACAA,EAAA,OAAAgkF,EAAA18G,EACA04B,EAAA,OAAAikF,EAAA38G,EACA04B,GAGA95B,YAAA,SAAAgG,EAAA8zB,GAaA,OAZAA,EAAAr/B,KAAAqiH,uBAAA92G,EAAAg2G,EAAAliF,GAEAA,EAAA,IAAAr/B,KAAA+hH,QAAA,GACA1iF,EAAA,IAAAr/B,KAAA+hH,QAAA,GAEA1iF,EAAA,GAAAzlB,MAAArO,EAAA,MAAAA,EAAA,GACAqO,MAAArO,EAAA,MACA8zB,EAAA,GAAA9zB,EAAA,GACAvL,KAAA4hH,iBACAviF,EAAA,IAAAr/B,KAAA4hH,eAAA,KAGAviF,IAIAnR,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA6kH,EAAA7kH,EAAA,GACA+/F,EAAA//F,EAAA,GACA8kH,EAAA9kH,EAAA,IAKAqvB,EAAA,cAAA01F,EAAAC,EAAAC,GAEA,SAAAC,EAAAC,EAAAj/G,GACA,IAAAzC,EAAAyC,EAAAwJ,WACAhM,EAAAwC,EAAAu5D,YACA3yD,EAAA5G,EAAAmmF,sBACAlrF,KAAAkvE,OAAA77B,YAAA,IAAA/wC,EAAAC,EAAAoJ,GAEA3L,KAAAsC,QACAtC,KAAAuC,SAEAvC,KAAA2hH,cAAAqC,EAAAv+G,IAAA,iBAEAzF,KAAAq8G,UAAA2H,EAAAv+G,IAAA,aAKA,SAAAw+G,EAAA1pG,EAAAxV,GAEA,YAAA/E,KAAA2jB,MAAAle,IAAA,cAIA,IAAA+4G,EAAA,CAAA1kG,UAEAS,EAAAkkG,WAAA,SAAAnkG,GACA,GAAAA,EAAApV,mBAAAlF,KAAA,CAKA,IAAAuL,EAAA+O,EAAAE,UACAmkG,EAAArkG,EAAAkO,kBAAA,UACA,GAAAm2F,EAAA,CAEA,IAAA9F,EAAAttG,EAAAqzG,cAAAD,GAAA,GACAH,EAAA,GAAA93G,KAAAQ,IACAs3G,EAAA,GAAA3F,EAAA,IAEA2F,EAAA,GAAA93G,KAAAS,IACAq3G,EAAA,GAAA3F,EAAA,OAGS74G,MACTw+G,GAAAzkG,SAAAykG,EAAA,GAAAA,EAAA,MACAx+G,KAAA4hH,eAAApD,IAIA,OAGA/lC,WAAAorC,EAAA5jH,UAAAw4E,WAEA3pC,OAAA,SAAAv0B,EAAAxV,GACA,IAAAm/G,EAAA,GA4CA,OA1CA3pG,EAAA8kG,cAAAuE,EAAA,SAAAI,GACA,IAAA90C,EAAA80C,EAAA5E,SACAlwC,IACAA,EAAA80C,EAAA5E,SAAA,IAAAuE,EAAA,KACAz0C,EAAAhL,YAAA,IAAA06B,EAAA,KAAAtrE,OAGA,IAAA6wF,EAAA,IAAAN,EACAM,EAAAj1C,OAAA80C,EAAA5E,SAEA+E,EAAA9lD,OAAA0lD,EACAI,EAAA9lD,OAAA2lD,EAAAj/G,GAEAm/G,EAAAvxG,KAAAwxG,GAEAH,EAAA9+G,iBAAAi/G,EACAA,EAAAxgG,MAAAqgG,EAEAG,EAAA53F,OAAA03F,IAGA1pG,EAAAkkG,WAAA,SAAAnkG,GACA,GAAAA,EAAA7U,IAAA,sBAAAm+G,EAAA,CACA,IAAAI,EAAA1pG,EAAAstE,uBAAAg8B,GAAA,GAKA,GAJAI,IACAA,EAAAzpG,EAAAmS,aAAAk3F,KAGAI,EACA,UAAAr2E,MAAAi2E,EAAA,KAAAF,EAAA,KAAApsF,aACAhd,EAAA7U,IAAAm+G,EAAA,SACAtpG,EAAA7U,IAAAm+G,EAAA,MACA,GACA,eAGAtpG,EAAApV,iBAAA8+G,EAAA9+G,oBAIA4+G,KAAAI,EAAA3pG,EAAAxV,GAEAm/G,MAQA,SAAAxhH,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,80CAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAulH,EAAAvlH,EAAA,IACAwlH,EAAAxlH,EAAAgvB,EAAAu2F,GACAE,EAAAzlH,EAAA,IACA0lH,EAAA1lH,EAAAgvB,EAAAy2F,GAKA,SAAAE,EAAAt1C,GACAlvE,KAAAkvE,SAGAs1C,EAAAvkH,UAAAoa,MAAA,SAAAC,EAAAvV,GACA/E,KAAAykH,cAAA1/G,EAAAwJ,WAAAxJ,EAAAu5D,YAAAv5D,EAAAmmF,uBACAlrF,KAAA0kH,eAAAL,EAAA97G,EAAAumC,SACA9uC,KAAAsiH,gBAAAhoG,EAAAvV,IAGAy/G,EAAAvkH,UAAAqiH,gBAAA,SAAAhoG,EAAAvV,GACA,IAAAG,EAAAoV,EAAApV,iBAEAA,EAAAy/G,mBAEAN,EAAA97G,EAAAsnC,OAAA7vC,KAAA0kH,eAAAx/G,EAAAy/G,oBAEA3kH,KAAA4kH,oBAAA5kH,KAAA0kH,gBAEA3/G,EAAA2sB,QAAAyB,YAMAqxF,EAAAvkH,UAAAsF,YAAA,SAAAN,EAAAsG,EAAAs3G,GACAA,EAAA59G,EAAAM,YAAAgG,EAAA,KAAAs3G,GACA,IAAAgC,EAAA7kH,KAAA0kH,eACAG,GACAN,EAAAh8G,EAAA8Q,eAAAwpG,IAAAgC,IAOAL,EAAAvkH,UAAA6kH,uBAAA,SAAAjC,GAIA,OAHA7iH,KAAA0kH,gBACAH,EAAAh8G,EAAA8Q,eAAAwpG,IAAA7iH,KAAA0kH,gBAEA7B,GAMA2B,EAAAvkH,UAAA8kH,QAAA,WACA,GAAA/kH,KAAA0kH,eAAA,CACA,IAAAn3F,EAAAvtB,KAAA0kH,eACA,SAAAh+G,KAAAS,IACAT,KAAAk+C,KAAAr3B,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA7mB,KAAAk+C,KAAAr3B,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,KAGA,UAGAi3F,EAAAvkH,UAAA2kH,oBAAA,SAAAr3F,GACA,IAAA+kC,EAAAtyD,KAAAkvE,OAAA5c,OACAA,EAAAhsD,SAAA8sB,IAAA7F,EAAA,GAAAA,EAAA,MACA+kC,EAAAv6C,MAAAqb,IACA1sB,KAAAk+C,KAAAr3B,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA7mB,KAAAk+C,KAAAr3B,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA,IAIAi3F,EAAAvkH,UAAAwkH,cAAA,SAAAniH,EAAAC,EAAAoJ,GAEA3L,KAAAkvE,OAAA77B,YAAA,IAAA/wC,EAAAC,EAAAoJ,GACA,IAAA2mD,EAAAtyD,KAAAkvE,OAAA5c,OACAA,EAAAhjB,KAAAgjB,EAAA7iB,IAAA,EACA6iB,EAAA9iB,OAAAjtC,EACA+vD,EAAA/iB,MAAAjtC,EACAgwD,EAAA5iB,KAAA,EACA4iB,EAAA3iB,IAAA,KAGAzhB,EAAA,QAIA,SAAAxrB,EAAAC,EAAA9D,IAEA,SAAAqsD,GAuBA,IAAA85D,EAEA,qBAAAr6G,OACAq6G,EAAAr6G,OAAA0W,QAEA,qBAAA6pC,IACA85D,EAAA95D,EAAA7pC,SAGA,qBAAA2jG,IACAA,GAAA,GAGA,IAAA3jG,EAAA2jG,EACAriH,EAAA0e,YAC4BthB,KAAA4C,EAAA9D,EAAA,MAI5B,SAAA6D,EAAAwrB,EAAArvB,GAEA,aACA,IAAA8mE,EAAA9mE,EAAA,IACA+mE,EAAA/mE,EAAA,GACAgnE,EAAAhnE,EAAAgvB,EAAA+3C,GACAE,EAAAjnE,EAAA,IACAknE,EAAAlnE,EAAA,GAaA2c,EAAAuqD,EAAA,KAAAvqD,KAKAwqD,EAAA,cAOAC,EAAAN,EAAA,KAAAjhE,OAAA,WACA,OAEAwhE,aAAA,EAEAnkC,SAAA,EAIAokC,eAAA,EAEA/pC,WAAA,CACA91B,SAAA,IAAAq/D,EAAA,KAAAjZ,UAAA,iCACAG,OAAA,IAAA8Y,EAAA,KAAAjZ,UAAA,oBACA3G,OAAA,IAAA4f,EAAA,KAAAjZ,UAAA,oBACA5lC,MAAA,IAAA6+C,EAAA,KAAAjZ,UAAA,8BAKA,CAKA+Z,YAAA,WACAzmE,KAAA0mE,cAAA,EACA1mE,KAAAilH,YAAA,EAEAjlH,KAAA4mE,mBAAA,IAMAC,eAAA,SAAAvY,GACA,IAAAlyB,EAAAp8B,KAAAo8B,WACAp8B,KAAAk8B,cAAAoyB,IACAlyB,EAAA91B,SAAA4c,KAAAorC,GACAlyB,EAAAtV,MAAA5D,KAAAorC,GAEAtuD,KAAAmmE,gBACA/pC,EAAA2pB,OAAA7iC,KAAAorC,GACAlyB,EAAAywB,OAAA3pC,KAAAorC,IAGAA,EAAA,MACAtuD,KAAAytD,mBAAAjC,cACAxrD,KAAAytD,QAAA,IAAAhC,YAAAzrD,KAAAytD,UAIAztD,KAAAytD,mBAAAhC,cACAzrD,KAAAytD,QAAA,IAAAjC,YAAAxrD,KAAAytD,YASAqZ,iBAAA,SAAAC,GACA/mE,KAAAgnE,gBAAAD,IAEA/mE,KAAAytD,QADA,IAAAsZ,EACA,KAGA/mE,KAAAk8B,YAAA,UAAAuvB,YAAA,EAAAsb,GAAA,IAAAvb,YAAA,EAAAub,KAKAE,yBAAA,SAAA5qD,EAAAC,EAAAC,EAAAwxC,GACA,IAAAthD,EAAA+O,EAAAmiB,KAAAthB,EAAAC,GAAAd,EAAAmiB,KAAAphB,EAAAD,GAAAd,EAAAmiB,KAAAowB,EAAAxxC,GACA/Y,EAAA,GAAAiJ,EAAA,GAAAzM,KAAAkmE,aACA,OAAA1iE,GAWA0jE,yBAAA,SAAA7qD,EAAAC,EAAAC,EAAAwxC,GACA,IAAAvqD,EAAAxD,KAAAinE,yBAAA5qD,EAAAC,EAAAC,EAAAwxC,GACAoZ,EAAAzgE,KAAA0gE,KAAA,EAAA5jE,GACA,OAAAxD,KAAAmmE,cAIA,EAAAgB,EAHA,EAAAA,EAAA,GAeAE,2BAAA,SAAAhrD,EAAAC,EAAAC,EAAAwxC,GACA,IAAAvqD,EAAAxD,KAAAinE,yBAAA5qD,EAAAC,EAAAC,EAAAwxC,GACAoZ,EAAAzgE,KAAA0gE,KAAA,EAAA5jE,GACA,OAAAxD,KAAAmmE,cAIA,EAHA,EAAAgB,GAWAG,mBAAA,WACA,OAAAtnE,KAAAunE,uBAAAvB,IAOAwB,qBAAA,WACA,OAAAxnE,KAAAynE,yBAAAzB,IAQAuB,uBAAA,SAAAG,GACA,IAAAC,EACA,qBAAAD,EACAC,EAAAD,MAEA,CACA,IAAAE,EAAA,kBAAAF,EAAA,GACAC,EAAAC,EAAAF,EAAAnkE,OAAAmkE,EAAAnkE,OAAA,EAEA,OAAAvD,KAAAmmE,cAAA,GAAAwB,EAAA,MAAAA,EAAA,MAQAF,yBAAA,SAAAC,GACA,IAAAC,EACA,qBAAAD,EACAC,EAAAD,MAEA,CACA,IAAAE,EAAA,kBAAAF,EAAA,GACAC,EAAAC,EAAAF,EAAAnkE,OAAAmkE,EAAAnkE,OAAA,EAEA,OAAAvD,KAAAmmE,cAAA,KAAAwB,EAAA,IAYAE,cAAA,SAAAxrD,EAAAC,EAAAC,EAAAwxC,EAAAjnC,EAAArW,GACA,MAAAA,IACAA,EAAA,GAIA,IAAAmrD,EAAAv/C,EAAA,GAAAw/C,EAAAx/C,EAAA,GACAuzC,EAAAtzC,EAAA,GAAAuzC,EAAAvzC,EAAA,GACAkjB,EAAAjjB,EAAA,GAAAkjB,EAAAljB,EAAA,GACAurD,EAAA/Z,EAAA,GAAAga,EAAAha,EAAA,GAEAvqD,EAAAxD,KAAAinE,yBAAA5qD,EAAAC,EAAAC,EAAAwxC,GAEAka,EAAAzkE,IACA0kE,EAAAD,EAAAzkE,EAEA2kE,EAAA,EAAA3kE,EACA4kE,EAAA,EAAAH,EACAI,EAAA,EAAAJ,EACAK,EAAA,EAAAJ,EAEAK,EAAA3M,EAAA,EAAAhM,EAAApwB,EACAgpC,EAAA3M,EAAA,EAAAhM,EAAApwB,EAEAipC,EAAA,GAAA9Y,EAAApwB,GAAAo8B,EAAAkM,EACAa,EAAA,GAAA9Y,EAAApwB,GAAAo8B,EAAAkM,EAEAc,EAAAjN,EACAkN,EAAAjN,EAEAmN,GAAApZ,EAAAgM,GAAAuM,EAAAI,EAAAH,EAAAM,EAAAR,EACAe,GAAApZ,EAAAgM,GAAAsM,EAAAK,EAAAJ,EAAAO,EAAAT,EAEAiB,EAAAZ,EAAAF,EAAAK,EAAAJ,EACAc,EAAAZ,EAAAH,EAAAM,EAAAL,EAEAgB,EAAAZ,EAAAJ,EACAiB,EAAAZ,EAAAL,EAEAlsD,EAAA,EAEAsE,EAAA,EACAymD,EAAAzgE,KAAA0gE,KAAA,EAAA5jE,GAEAkkE,EAAA,IAAAl8B,aAAA,GAAA27B,EAAA,IAEAphB,GADA2hB,EAAA,GACA,GACA,IAAAhnD,EAAA,EAAuBA,EAAAymD,EAAA,EAAkBzmD,IACzCgnD,EAAA3hB,KAAA8iB,EACAnB,EAAA3hB,KAAA+iB,EAEAD,GAAAG,EAAsBF,GAAAG,EACtBD,GAAAG,EAAwBF,GAAAG,EACxBD,GAAAG,EAA0BF,GAAAG,EAC1BntD,GAAA5Y,EAEA4Y,EAAA,IACAysD,EAAAG,EAAA,EAAAtiE,KAAAQ,IAAA2hE,EAAAf,GAAAphE,KAAAS,IAAA0hE,EAAAf,GACAgB,EAAAG,EAAA,EAAAviE,KAAAQ,IAAA4hE,EAAAf,GAAArhE,KAAAS,IAAA2hE,EAAAf,IAIA/nE,KAAAypE,YAAA/B,EAAA5gD,EAAArW,IAUAi5D,QAAA,SAAArtD,EAAAC,EAAAwK,EAAArW,GACAzQ,KAAAypE,YAAA,CAAAptD,EAAAC,GAAAwK,EAAArW,IAWAg5D,YAAA,WACA,IAAAy7C,EAAA1pG,EAAAszB,SACAq2E,EAAA3pG,EAAAszB,SACA+d,EAAArxC,EAAAszB,SACAge,EAAAtxC,EAAAszB,SACA+6B,EAAA,GAAAu7C,EAAA,GAAAC,EAAA,GACA,gBAAA39C,EAAA5gD,EAAArW,EAAA60G,EAAA17C,GACA,GAAAlC,EAAAnkE,OAAA,CAGA,IAAAqkE,EAAA,kBAAAF,EAAA,GAIA,GAHA,MAAAkC,IACAA,EAAAhC,EAAAF,EAAAnkE,OAAAmkE,EAAAnkE,OAAA,KAEAqmE,EAAA,IAGA,MAAA07C,IACAA,EAAA,GAEA,MAAA70G,IACAA,EAAA,GAGAzQ,KAAA4mE,mBAAAj0D,KAAA3S,KAAA0mE,eAcA,IAZA,IAWAoD,EAXAC,EAAAnC,EACA,kBAAA9gD,EAAA,GACAA,EAAAvjB,OAAA,IAAAqmE,EAEAI,EAAAhqE,KAAAo8B,WAAA91B,SACA6jE,EAAAnqE,KAAAo8B,WAAAtV,MACAsjD,EAAApqE,KAAAo8B,WAAA2pB,OACA0+C,EAAAzkG,KAAAo8B,WAAAywB,OACAY,EAAAztD,KAAAytD,QAEA4c,EAAArqE,KAAA0mE,cAEAhmD,EAAA,EAA2BA,EAAAkpD,EAAiBlpD,IAAA,CAC5C,GAAAknD,EACAiC,EAAAnC,EAAAhnD,EAAA4kG,GAEAx7C,EADAC,EACAjjD,EAAApG,EAAA4kG,GAGAx+F,MAGA,CACA,IAAAy+F,EAAA,EAAA7kG,EAAA4kG,EAKA,GAJAz7C,KAAA,GACAA,EAAA,GAAAnC,EAAA69C,GACA17C,EAAA,GAAAnC,EAAA69C,EAAA,GAEAx7C,EAAA,CACA,IAAAQ,EAAA,EAAA7pD,EAAA4kG,EACAx7C,KAAA,GACAA,EAAA,GAAAhjD,EAAAyjD,GACAT,EAAA,GAAAhjD,EAAAyjD,EAAA,GACAT,EAAA,GAAAhjD,EAAAyjD,EAAA,GACAT,EAAA,GAAAhjD,EAAAyjD,EAAA,QAGAT,EAAAhjD,EAGA,GAAA9mB,KAAAmmE,cA+DAzlD,EAAA,IACAspD,EAAA5wD,KAAAixD,IAAA,GACAF,EAAA/wD,KAAAixD,IAAA,GACAA,SAlEA,CACA,IAAAtkB,EACA,GAAArlC,EAAAkpD,EAAA,GACA,GAAAhC,EACApsD,EAAApC,KAAAgsG,EAAA19C,EAAAhnD,EAAA,QAEA,CACA6kG,EAAA,GAAA7kG,EAAA,GAAA4kG,EACAF,KAAA,GACAA,EAAA,GAAA19C,EAAA69C,GACAH,EAAA,GAAA19C,EAAA69C,EAAA,GAIA,GAAA7kG,EAAA,GACAlF,EAAA4C,IAAA8mG,EAAAr7C,EAAAw7C,GACA7pG,EAAA4C,IAAA+mG,EAAAC,EAAAv7C,GACAruD,EAAA6C,UAAA6mG,KACA1pG,EAAA6C,UAAA8mG,KACA3pG,EAAA+hB,IAAAuvB,EAAAo4D,EAAAC,GACA3pG,EAAA6C,UAAAyuC,KACA,IAAA04D,EAAA/0G,EAAA,EAAA/J,KAAAQ,IAAA,EAAAsU,EAAAsiB,IAAAonF,EAAAp4D,GAAA,GACAD,EAAA,IAAAC,EAAA,GACAD,EAAA,GAAAC,EAAA,GAEA/G,EAAAy/D,OAGAhqG,EAAA4C,IAAA8mG,EAAAE,EAAAv7C,GACAruD,EAAA6C,UAAA6mG,KAEAr4D,EAAA,IAAAq4D,EAAA,GACAr4D,EAAA,GAAAq4D,EAAA,GAEAn/D,EAAAt1C,EAAA,OAKA+K,EAAA4C,IAAA8mG,EAAAr7C,EAAAw7C,GACA7pG,EAAA6C,UAAA6mG,KAEAr4D,EAAA,IAAAq4D,EAAA,GACAr4D,EAAA,GAAAq4D,EAAA,GAEAn/D,EAAAt1C,EAAA,EAEAg0F,EAAArxE,IAAAi3C,EAAAxd,GACA43C,EAAArxE,IAAAi3C,EAAA,EAAAxd,GACAud,EAAAh3C,IAAAi3C,EAAAtkB,GACAqkB,EAAAh3C,IAAAi3C,EAAA,GAAAtkB,GAEAvqC,EAAApC,KAAAisG,EAAAx7C,GAEAG,EAAA52C,IAAAi3C,EAAAR,GACAG,EAAA52C,IAAAi3C,EAAA,EAAAR,GAEAM,EAAA/2C,IAAAi3C,EAAAP,GACAK,EAAA/2C,IAAAi3C,EAAA,EAAAP,GAEAO,GAAA,EAUA,GAAArqE,KAAAmmE,cAmBAgE,EAAA/2C,IAAAi3C,EAAAP,GACAE,EAAA52C,IAAAi3C,EAAAR,GACAQ,SApBA,GAAA3pD,EAAA,GACA,IAAA8pD,EAAA,EAAAxqE,KAAAilH,YACAx3D,EAAAztD,KAAAytD,QAIAA,EAAA+c,GAAAH,EAAA,EACA5c,EAAA+c,EAAA,GAAAH,EAAA,EACA5c,EAAA+c,EAAA,GAAAH,EAAA,EAEA5c,EAAA+c,EAAA,GAAAH,EAAA,EACA5c,EAAA+c,EAAA,GAAAH,EAAA,EACA5c,EAAA+c,EAAA,GAAAH,EAAA,EAEArqE,KAAAilH,aAAA,GAUAjlH,KAAA0mE,cAAA2D,KAjKA,GAwKAI,aAAA,SAAA9sD,EAAAmJ,GAIA,IAHA,IAAA6iD,EAAA3pE,KAAA4mE,mBAAAjpD,GACA+sD,EAAA/sD,EAAA3d,KAAA4mE,mBAAArjE,OAAA,EAAAvD,KAAA4mE,mBAAAjpD,EAAA,GAAA3d,KAAA0mE,cAEA37D,EAAA4+D,EAAiC5+D,EAAA2/D,EAAe3/D,IAChD/K,KAAAo8B,WAAAtV,MAAAsM,IAAAroB,EAAA+b,GAEA9mB,KAAA2kB,MAAA,YAIAkhD,EAAAt9D,EAAAqpB,KAAAtc,SAAA2wD,EAAAhmE,UAAA6lE,EAAA,MAEA53C,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAkK,OAAA2kB,eAAAQ,EAAA,cAA0DjqB,OAAA,IAC1DpF,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,MAwBA,SAAA6D,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA8oF,EAAA5mH,EAAA,KACA6mH,EAAA7mH,EAAA,KACA8mH,EAAA9mH,EAAA,KACA+mH,EAAA/mH,EAAA,GAoCAgnH,EAAA,CACAC,QAAA,QACAC,aAAA,CACAnnH,QAAA,QACAonH,OAAA,UAUAC,EAAAJ,EAAAE,aACA,SAAAG,EAAA53G,GACA,UAAAq/B,MACAr/B,EAAA,8BAAA23G,EAAA33G,GAAA,cAGA,SAAA63G,EAAAL,EAAAx3G,GACAw3G,EAAAv7G,QAAA,UAAA07G,EAAA33G,GAAA/D,QAAA,WACA27G,EAAA53G,GAEA8pB,QAAA9C,IAAA,UAAAhnB,EAAA,aAAAw3G,GAKA,SAAAM,EAAAjyG,GACAnU,KAAAqmH,QAAA,GAEArmH,KAAAqU,IAAAF,EANAgyG,EAAAV,EAAA,eACAU,EAAAvpF,EAAAr0B,EAAAu9G,QAAA,WAQAM,EAAAnmH,UAAAssB,OAAA,SAAAhS,EAAAxV,GACA,IAAA2iC,EAAA1nC,KACAmU,EAAApP,EAAA2sB,QAEA,GAAAvd,EAAA5F,YAAA4F,EAAAmqD,YAAA,CA2DA,QAAA69C,KAAAn8G,KAAAqmH,QACArmH,KAAAqmH,QAAAlK,GAAAmK,iBAGA/rG,EAAA8kG,cAAA,SAAAkH,EAAAt4C,GACA,cAAAs4C,EAAA,CACA,IAAArvB,EAAAnyF,EAAAyhH,wBAAAv4C,GACAhpE,EAAAgpE,EAAA/oE,iBAEA,GAAAgyF,EAAAuvB,SAAA,CAEA,GAAAxhH,EAAA,CACA,IAAAA,EAAAiqE,OAEA,YADA92C,QAAA+B,MAAA,sDAAA8zC,EAAAhiD,IAGAijD,EAAAjqE,EAAAiqE,WAEA,CACA,IAAAjB,EAAAiB,OAEA,YADA92C,QAAA+B,MAAA,kCAAA8zC,EAAAhiD,IAGAijD,EAAAjqE,EAAAiqE,OAGA,IAAAA,EAAAjqE,EAAAiqE,OACAw3C,EAAAC,EAAA14C,GAEAy4C,EAAAE,QAAA13C,GAEAgoB,EAAAjK,aAAAiK,EAAAjK,YACAhf,EAAA1zD,EAAAxV,EAAA2hH,GAGAG,EAAA3vB,EAAA4vB,QAAA74C,EAAAxoE,IAAA,eAKA8U,EAAAkkG,WAAA,SAAAnkG,GACA,IAAAysG,EAAAhiH,EAAAiiH,qBAAA1sG,GACArV,EAAAqV,EAAApV,iBACA,GAAA6hH,EAAAN,SAAA,CACA,GAAAxhH,MAAAiqE,SAAA63C,EAAA73C,OAEA,YADA92C,QAAA+B,MAAA,+BAAA4sF,EAAA96F,IAGA,IAAAijD,EAAAjqE,KAAAiqE,QAAA63C,EAAA73C,OAEAw3C,EAAAC,EAAArsG,GACAosG,EAAAE,QAAA13C,GAEA63C,EAAA95B,aAAA85B,EAAA95B,YACA3yE,EAAAC,EAAAxV,EAAA2hH,GAGAG,EAAAE,EAAAD,QAAAxsG,EAAA7U,IAAA,mBAnHA2yB,QAAAyH,KAAA,8BAIA,SAAA8mF,EAAAhjG,GACA,IAAAw4F,EAGAA,GADAx4F,EAAAze,kBAAAye,EAAAze,iBAAAye,MACAA,EAAAle,IAAA,WAMA,IAAAwhH,EAAAv/E,EAAA2+E,QACAK,EAAAO,EAAA9K,GACA,IAAAuK,EAAA,CAGA,GAFAA,EAAAO,EAAA9K,GAAA,IAAAuJ,EAAA,WAAAvJ,EAAAhoG,GAEAA,EAAA+yG,QAAAC,iBAAA,CACAT,EAAAU,SAAA,EAGA,IAAA17C,EAAA,IAAA9uC,EAAAr0B,EAAArE,QAAAstB,MAAA,CACA2L,EAAA,IACA58B,MAAA,CACAuS,MAAA4zG,EAAAtvF,SAAAxB,QAEAyxF,QAAA,IAEAX,EAAAY,YAAA57C,EAEAv3D,EAAAopB,IAAAmuC,GAGAv3D,EAAA+yG,QAAAK,YAAApL,EAAAuK,GASA,OAPAA,EAAAY,aACAZ,EAAAY,YAAAE,SAAA,CACAllH,MAAAokH,EAAAtvF,SAAA7oB,WACAhM,OAAAmkH,EAAAtvF,SAAAknC,cAIAooD,EAGA,SAAAG,EAAAC,EAAAO,GACAP,GACAA,EAAA30F,SAAA,SAAAigC,GACAA,EAAA/tB,cAAA+tB,EAAA/tB,iBACA+tB,EAAAusC,cAAA,MAAAvsC,EAAAwtC,eACAxtC,EAAAwtC,eAAAynB,OAsEA,IAAAI,EAAA7qF,EAAAr0B,EAAA2a,KACA0Z,EAAAr0B,EAAA2a,KAAA,WACA,IAAAwkG,EAAAD,EAAA/+G,MAAA1I,KAAA2I,WA+DA,OA9DA++G,EAAAh2F,QAAAw1F,QAAAS,kBAAA,SAAA7nH,GAEA,GADAA,KAAA,GACAE,KAAA4nH,cACA,OAAA5nH,KAAAqmH,QAAA,GAAAzoC,IAGA,IAAAhoD,EAAAhrB,SAAAirB,cAAA,UACAlqB,EAAA7L,EAAA+nH,YAAA7nH,KAAA2L,IACAiqB,EAAAtzB,MAAAtC,KAAAuO,WAAA5C,EACAiqB,EAAArzB,OAAAvC,KAAAs+D,YAAA3yD,EACA,IAAAtL,EAAAu1B,EAAAhoB,WAAA,MACAvN,EAAAsL,MAEAtL,EAAAynH,UAAA,IAAAlyF,EAAAtzB,MAAAszB,EAAArzB,QACAzC,EAAA48G,kBACAr8G,EAAAw9F,UAAA/9F,EAAA48G,gBACAr8G,EAAAy9F,SAAA,IAAAloE,EAAAtzB,MAAAszB,EAAArzB,SAGA,IAGA45G,EAHA4L,EAAA/nH,KAAAgoH,QAAAC,gBAAA,GAEA3/F,EAAA,GAGAof,EAAA1nC,KACA,SAAAkoH,EAAAC,EAAAC,GACA,IAIAC,EAJAC,EAAA5gF,EAAA6gF,YACA,MAAAJ,IACAA,GAAAruG,KAGA,QAAA/O,EAAA,EAA2BA,EAAAu9G,EAAA/kH,OAAuBwH,IAAA,CAClD,IAAAoyB,EAAAmrF,EAAAv9G,GACAuyD,EAAA51B,EAAA2+E,QAAAlpF,GACA,IAAAmgC,EAAAkrD,aAAArrF,EAAAgrF,GAAAhrF,EAAAirF,EAAA,CACAC,EAAA/qD,EACA,OAGA+qD,KAAAI,iBACApoH,EAAA6Y,OACAmvG,EAAAI,eAAApoH,GACAA,EAAAiZ,WAMA,IAHA,IAAAgkD,EAAA,CACAj9D,OAEA0K,EAAA,EAAuBA,EAAAg9G,EAAAxkH,OAAwBwH,IAAA,CAC/C,IAAAgmC,EAAAg3E,EAAAh9G,GAEAgmC,EAAAorE,aACA+L,EAAA/L,EAAAprE,EAAAorE,QACAA,EAAAprE,EAAAorE,QAEAn8G,KAAA0oH,WAAA33E,EAAAusB,GAAA,EAAAh1C,GAKA,OAFA4/F,EAAA/L,EAAAriG,KAEA8b,GAEA8xF,GAIA9qF,EAAAr0B,EAAAogH,mBAAA,SAAApuG,EAAAxV,GACA,IAAAoP,EAAApP,EAAA2sB,QAEAk3F,EAAAz0G,EAAA00G,MAAA10G,EAAA00G,OAAA,IAAAzC,EAAAjyG,GAEAy0G,EAAAr8F,OAAAhS,EAAAxV,KAGA63B,EAAAr0B,EAAAjJ,qBAAAqmH,EAAA,MAEA/oF,EAAAr0B,EAAAyqB,UAAA4yF,EAAA,MAMA,SAAAljH,EAAAwrB,EAAArvB,GAEA,aAIAqvB,EAAA,cAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAvO,EAAAvvB,EAAA,IACAiqH,EAAAjqH,EAAA,KACAyvB,EAAAzvB,EAAA,GACA+mH,EAAA/mH,EAAA,GACAkqH,EAAAlqH,EAAA,IACAmqH,EAAAnqH,EAAA,IACAoqH,EAAApqH,EAAAgvB,EAAAm7F,GAiCAE,EAAA,SAAAj9F,EAAA9X,GAMAnU,KAAAisB,KAKAjsB,KAAAmU,KAKA,IACAnU,KAAAo3B,SAAA,IAAAhJ,EAAA,MACAklC,SAAA,EACA1nD,iBAAAuI,EAAA+yG,QAAAv7G,IACA4+E,uBAAA,EAEAD,oBAAA,IAEAtqF,KAAAo3B,SAAAinC,OAAAlqD,EAAA+yG,QAAA34G,WAAA4F,EAAA+yG,QAAA5oD,aAEA,MAAAnoD,GAQA,OAPAnW,KAAAo3B,SAAA,KACAp3B,KAAA49E,IAAAhzE,SAAAirB,cAAA,OACA71B,KAAA49E,IAAAr9E,MAAA4oH,QAAA,2DACAnpH,KAAA49E,IAAAwrC,UAAA,eACAppH,KAAA49E,IAAAyrC,UAAA,kDAEAjxF,QAAA+B,MAAAhkB,GAIAnW,KAAAspH,YAAAtpH,KAAAspH,YAAA1gH,KAAA5I,MACAmU,EAAAyB,GAAA,YAAA5V,KAAAspH,aAMAtpH,KAAA49E,IAAA59E,KAAAo3B,SAAAxB,OACA,IAAAr1B,EAAAP,KAAA49E,IAAAr9E,MACAA,EAAA+F,SAAA,WACA/F,EAAA+uC,KAAA,IACA/uC,EAAAkvC,IAAA,IAKAzvC,KAAAupH,MAAA,GAEAvpH,KAAAwpH,SAAA,IAAAV,EAAA,MACA1xF,SAAAp3B,KAAAo3B,WAGAp3B,KAAAypH,gBAAA,GAKAzpH,KAAA0pH,gBAAA,EAEA1pH,KAAA2pH,cAAA,IAAA/sF,EAAAr0B,EAAArE,QAAA+qE,KAAA,CACArnE,MAAA,CAAgB5F,GAAA,EAAAC,GAAA,EAAAK,MAAA,EAAAC,OAAA,GAEhB8+E,iBAAA,IAGArhF,KAAA4pH,iBAAA,MA6BA,SAAAC,EAAAxsG,GACA,IAAAlJ,EAAAkJ,EAAA6U,KACA7U,EAAA6U,KAAA,KACA/d,GAAAkJ,EAAAiV,uBACAjV,EAAAiV,sBAAAne,GA3BA+0G,EAAAjpH,UAAA2mH,QAAA,SAAA1vB,GACA,GAAAA,EAAA55B,QAAAt9D,KAAA,CAIA,IAAA2d,EAAA3d,KAAAypH,gBAAAr+E,QAAA8rD,GACAv5E,GAAA,GACA3d,KAAAypH,gBAAAp4C,OAAA1zD,EAAA,GAGA3d,KAAAupH,MAAA52G,KAAAukF,GAEAA,EAAA55B,MAAAt9D,KAEA,IAAAmU,EAAAnU,KAAAmU,GACA+iF,EAAA35B,MAAAprC,SAAA,SAAA9U,GACAA,EAAA6U,KAAA/d,EACAkJ,EAAAgV,kBACAhV,EAAAgV,iBAAAle,OAeA+0G,EAAAjpH,UAAA6pH,WAAA,SAAA5yB,GACA,GAAAA,EAAA55B,QAAAt9D,KAAA,CAIA,IAAA2d,EAAA3d,KAAAupH,MAAAn+E,QAAA8rD,GACAv5E,GAAA,IACA3d,KAAAupH,MAAAl4C,OAAA1zD,EAAA,GACAu5E,EAAA35B,MAAAprC,SAAA03F,EAAA7pH,MACAk3F,EAAA55B,MAAA,KAGAt9D,KAAAypH,gBAAA92G,KAAAukF,MAOAgyB,EAAAjpH,UAAAqmH,eAAA,WACAtmH,KAAAupH,MAAA1+G,QAAA,SAAAqsF,GACAA,EAAA35B,MAAAprC,SAAA03F,EAAA7pH,MACAk3F,EAAA55B,MAAA,KAGAt9D,KAAAypH,gBAAA92G,KAAAukF,IACKl3F,MAELA,KAAAupH,MAAAhmH,OAAA,GASA2lH,EAAAjpH,UAAAo+D,OAAA,SAAA/7D,EAAAC,GACA,IAAA60B,EAAAp3B,KAAAo3B,SACAA,EAAAinC,OAAA/7D,EAAAC,IAOA2mH,EAAAjpH,UAAAyM,MAAA,WACA,IAAAksB,EAAA54B,KAAAo3B,SAAAwB,GACA85B,EAAA1yD,KAAA4pH,kBAAA,UACAhxF,EAAA85B,aAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA95B,EAAA26B,WAAA,GACA36B,EAAA46B,WAAA,YACA56B,EAAAlsB,MAAAksB,EAAAoc,iBAAApc,EAAAsc,mBAMAg0E,EAAAjpH,UAAA0yD,WAAA,WACA,IAAA/5B,EAAA54B,KAAAo3B,SAAAwB,GACAA,EAAAlsB,MAAAksB,EAAAoc,mBAMAk0E,EAAAjpH,UAAAyyD,WAAA,WACA,IAAA95B,EAAA54B,KAAAo3B,SAAAwB,GACAA,EAAA85B,WAAA,SACA95B,EAAAlsB,MAAAksB,EAAAsc,mBAMAg0E,EAAAjpH,UAAA8pH,aAAA,WACA/pH,KAAAmU,GAAAgf,WAMA+1F,EAAAjpH,UAAAkzB,QAAA,SAAAgtC,GAEAngE,KAAA4pH,iBAAAzpD,EAAAylD,EAAA,KAAA1sF,WAAAinC,GAAA,UACAngE,KAAAo3B,SAAAs7B,WAAA1yD,KAAA4pH,iBAEA,QAAA7+G,EAAA,EAAmBA,EAAA/K,KAAAupH,MAAAhmH,OAAuBwH,IAC1C/K,KAAAupH,MAAAx+G,GAAA4zD,cAAA3+D,KAAAo3B,UAGAp3B,KAAAs/D,WAAA,GAGAt/D,KAAAgqH,iBAGA,IAAAj/G,EAAA,EAAmBA,EAAA/K,KAAAypH,gBAAAlmH,OAAiCwH,IACpD/K,KAAAypH,gBAAA1+G,GAAA+K,QAAA9V,KAAAo3B,UAEAp3B,KAAAypH,gBAAAlmH,OAAA,EAEAvD,KAAAiqH,sBAIAf,EAAAjpH,UAAAwoH,eAAA,SAAApoH,GAEAL,KAAAiqH,oBAAA,GACA5pH,EAAAy1B,UAAA91B,KAAA49E,IAAA,IAAAv9E,EAAAu1B,OAAAtzB,MAAAjC,EAAAu1B,OAAArzB,SAGA2mH,EAAAjpH,UAAAq/D,UAAA,SAAAD,GACAr/D,KAAA0M,QACA1M,KAAAo3B,SAAAi0D,eACA,QAAAtgF,EAAA,EAAmBA,EAAA/K,KAAAupH,MAAAhmH,OAAuBwH,IAC1C/K,KAAAupH,MAAAx+G,GAAAmoD,OAAAlzD,KAAAo3B,SAAAioC,GAEAr/D,KAAAo3B,SAAAk0D,mBAMA49B,EAAAjpH,UAAAiqH,kBAAA,WACAlqH,KAAA0pH,gBAAA,EACA3oC,aAAA/gF,KAAAmqH,uBAGA,IAAAC,EAAA,EA8EA,SAAAC,EAAAC,GACA,QAAAv/G,EAAA,EAAmBA,EAAAu/G,EAAA/mH,OAAyBwH,IAC5Cu/G,EAAAv/G,GAAAw/G,SAAA,EAGA,SAAAC,EAAApzF,EAAAkzF,GACA,QAAAv/G,EAAA,EAAmBA,EAAAu/G,EAAA/mH,OAAyBwH,IAC5Cu/G,EAAAv/G,GAAAw/G,UACAD,EAAAv/G,GAAA+K,QAAAshB,GAIA,SAAAqzF,EAAAC,EAAAv9G,GACAu9G,EAAAH,SAAAG,EAAAH,UAAA,EACAG,EAAAH,WACA,IAAAG,EAAAH,UAEAp9G,EAAAwF,KAAA+3G,GAGA,SAAAC,EAAAptD,EAAAqtD,EAAAC,GACA,IAAAthC,EACAuhC,EACAvtD,EAAAprC,SAAA,SAAA6sC,GACA,GAAAA,EAAA36B,eAAA,CACA,IAAApI,EAAA+iC,EAAA/iC,SACApJ,EAAAmsC,EAAAnsC,SAGA,GAAAA,IAAA02D,EAEA,IADA,IAAAsH,EAAAh+D,EAAAikC,qBACAi6B,EAAA,EAA+BA,EAAAF,EAAAttF,OAA4BwtF,IAAA,CAC3D,IAAA75B,EAAA25B,EAAAE,GACA9nF,EAAA4pB,EAAAyZ,SAAA4qB,GAAAjzD,MACA,GAAAgF,EAGA,GAAAA,aAAAqlB,EAAA,KACAm8F,EAAAxhH,EAAA2hH,QAEA,GAAA3hH,aAAAuU,MACA,QAAAkD,EAAA,EAAuCA,EAAAzX,EAAA1F,OAAgBmd,IACvDzX,EAAAyX,aAAA4N,EAAA,MACAm8F,EAAAxhH,EAAAyX,GAAAkqG,GAMA3uF,IAAA6uF,GACAL,EAAAxuF,EAAA4uF,GAGAthC,EAAA12D,EACAi4F,EAAA7uF,KAIA,QAAAvb,EAAA,EAAmBA,EAAA68C,EAAAiR,OAAAjrE,OAAyBmd,IAE5C68C,EAAAiR,OAAA9tD,GAAAmX,SACA4yF,EAAAltD,EAAAiR,OAAA9tD,GAAAmX,QAAA+yF,GArIA1B,EAAAjpH,UAAAgqH,mBAAA,SAAAc,GACA,IAAArjF,EAAA1nC,KACAA,KAAAkqH,oBAGA,IADA,IAAA3qD,GAAA,EACAx0D,EAAA,EAAmBA,EAAA/K,KAAAupH,MAAAhmH,OAAuBwH,IAC1Cw0D,EAAAv/D,KAAAupH,MAAAx+G,GAAAw0D,qBAMA,SAAAyrD,EAAA/+F,GACA,GAAAyb,EAAAgiF,iBAAAz9F,IAAAyb,EAAAgiF,gBAAA,CAKA,IADA,IAAA5pD,GAAA,EACA/0D,EAAA,EAAuBA,EAAA28B,EAAA6hF,MAAAhmH,OAAuBwH,IAC9C+0D,EAAAp4B,EAAA6hF,MAAAx+G,GAAA80D,wBAAAN,EAGAO,IACAp4B,EAAA43B,WAAA,GAEAyrD,EACAC,EAAA/+F,GAGAg9F,IAAA,WACA+B,EAAA/+F,OAtBAszC,IA4BAv/D,KAAA0pH,gBAAAU,IAEAW,EACAC,EAAAtjF,EAAAgiF,iBAGA1pH,KAAAmqH,qBAAAl+D,WAAA,WACA++D,EAAAtjF,EAAAgiF,kBACS,MAITR,EAAAjpH,UAAA+pH,eAAA,WACA,IAAAiB,EAAA,GACAC,EAAA,GAGAlrH,KAAAmrH,eACAd,EAAArqH,KAAAmrH,cACAd,EAAArqH,KAAAorH,kBAGA,QAAArgH,EAAA,EAAmBA,EAAA/K,KAAAupH,MAAAhmH,OAAuBwH,IAC1C4/G,EAAA3qH,KAAAupH,MAAAx+G,GAAAwyD,MAAA0tD,EAAAC,GAIAlrH,KAAAmrH,eACAX,EAAAxqH,KAAAo3B,SAAAp3B,KAAAmrH,cACAX,EAAAxqH,KAAAo3B,SAAAp3B,KAAAorH,kBAGAprH,KAAAmrH,aAAAF,EACAjrH,KAAAorH,gBAAAF,GAuEAhC,EAAAjpH,UAAA6V,QAAA,WACA9V,KAAAkqH,oBACAlqH,KAAAo3B,SAAAm7D,aAAAvyF,KAAAu9D,OAEAv9D,KAAAmU,GAAA0B,IAAA,YAAA7V,KAAAspH,cAIAJ,EAAAjpH,UAAAorH,YAAA,SAAAl1G,GACA,IAAAA,EAAAE,SAAAF,EAAAE,OAAAgrE,gBAAA,CAIAlrE,IAAAgB,MACA,IAAArM,EAAA9K,KAAAsrH,WAAAn1G,EAAAI,QAAAJ,EAAAK,SACA1L,IACA9K,KAAAurH,eAAA,YAAAp1G,EAAArL,GACA9K,KAAAwrH,mBAAA,YAAAr1G,EAAArL,IAGA9K,KAAAyrH,OAAAt1G,EAAAI,QACAvW,KAAA0rH,OAAAv1G,EAAAK,UAGA0yG,EAAAjpH,UAAA0rH,YAAA,SAAAx1G,GACA,IAAAA,EAAAE,SAAAF,EAAAE,OAAAgrE,gBAAA,CAIAlrE,IAAAgB,MACA,IAAArM,EAAA9K,KAAAsrH,WAAAn1G,EAAAI,QAAAJ,EAAAK,SAEAH,EAAAvL,KAAAuL,OACAu1G,EAAA5rH,KAAA6rH,SACA7rH,KAAA6rH,SAAA/gH,EAEA8gH,GAAAv1G,IAAAu1G,EAAAv1G,SACAu1G,EAAAE,cAAAz1G,EACArW,KAAAurH,eAAA,WAAAp1G,EAAAy1G,GAGA5rH,KAAAmU,GAAA43G,eAAA,YAGA/rH,KAAAurH,eAAA,YAAAp1G,EAAArL,GAEAA,IACA9K,KAAAmU,GAAA43G,eAAA,WAEAH,GAAAv1G,IAAAu1G,EAAAv1G,QACArW,KAAAurH,eAAA,YAAAp1G,EAAArL,IAKA9K,KAAAwrH,mBAAA,YAAAr1G,EAAArL,KAGAo+G,EAAAjpH,UAAA+rH,UAAA,SAAA71G,GACA,IAAAA,EAAAE,SAAAF,EAAAE,OAAAgrE,gBAAA,CAIAlrE,IAAAgB,MACA,IAAArM,EAAA9K,KAAAsrH,WAAAn1G,EAAAI,QAAAJ,EAAAK,SAEA1L,IACA9K,KAAAurH,eAAA,UAAAp1G,EAAArL,GACA9K,KAAAwrH,mBAAA,UAAAr1G,EAAArL,IAGA9K,KAAAisH,KAAA91G,EAAAI,QACAvW,KAAAksH,KAAA/1G,EAAAK,UAGA0yG,EAAAjpH,UAAAksH,QAAAjD,EAAAjpH,UAAAmsH,SAAA,SAAAj2G,GACA,IAAAA,EAAAE,SAAAF,EAAAE,OAAAgrE,gBAAA,CAKA,IAAArqE,EAAAhX,KAAAisH,KAAAjsH,KAAAyrH,OACAx0G,EAAAjX,KAAAksH,KAAAlsH,KAAA0rH,OACA,KAAAhlH,KAAAk+C,KAAA5tC,IAAAC,KAAA,KAIAd,IAAAgB,MACA,IAAArM,EAAA9K,KAAAsrH,WAAAn1G,EAAAI,QAAAJ,EAAAK,SAEA1L,IACA9K,KAAAurH,eAAAp1G,EAAAhW,KAAAgW,EAAArL,GACA9K,KAAAwrH,mBAAAr1G,EAAAhW,KAAAgW,EAAArL,IAIA,IAAApH,EAAA1D,KAAAqsH,sBAAAl2G,GACA,GAAAzS,EAAA,CACA,IAAAywF,EAAAzwF,EAAAwzF,KAAArzB,mBAAAngE,EAAA8L,UACA2kF,GACAn0F,KAAAmU,GAAAgf,cAKA+1F,EAAAjpH,UAAAosH,sBAAA,SAAAl2G,GAGA,IAFA,IAAAihB,EAAAp3B,KAAAo3B,SACAqnC,EAAArnC,EAAAsb,SACA3nC,EAAA/K,KAAAupH,MAAAhmH,OAAA,EAAuCwH,GAAA,EAAQA,IAAA,CAC/C,IAAAmkE,EAAAlvE,KAAAupH,MAAAx+G,GACA,GAAAmkE,EAAAvP,UAAAuP,EAAAva,aAAAx+C,EAAAI,QAAAJ,EAAAK,SAAA,CACAxW,KAAAwpH,SAAAjsD,MAAA2R,EAAA3R,MACAv9D,KAAAwpH,SAAAl3D,OAAA4c,EAAA5c,OAGAl7B,EAAAsb,SAAAw8B,EAAAx8B,SACA,IAAAhvC,EAAA1D,KAAAwpH,SAAA8C,KAAAn2G,EAAAI,QAAAJ,EAAAK,SAAA,GACA,GAAA9S,EAEA,OADAA,EAAAwzF,KAAAhoB,EACAxrE,GAIA0zB,EAAAsb,SAAA+rB,GAGAyqD,EAAAjpH,UAAAqpH,YAAA,SAAAnzG,GACA,IAAAy1G,EAAA5rH,KAAA6rH,SACAD,GACA5rH,KAAAurH,eAAA,WAAAp1G,EAAA,CACAE,OAAAu1G,EAAAv1G,UAKA6yG,EAAAjpH,UAAAqrH,WAAA,SAAAtpH,EAAAC,GAKA,IAHA,IAAAsqH,EAAA,GACAn1F,EAAAp3B,KAAAo3B,SACAqnC,EAAArnC,EAAAsb,SACA3nC,EAAA,EAAmBA,EAAA/K,KAAAupH,MAAAhmH,OAAuBwH,IAAA,CAC1C,IAAAmkE,EAAAlvE,KAAAupH,MAAAx+G,GACAmkE,EAAAva,aAAA3yD,EAAAC,KACAjC,KAAAwpH,SAAAjsD,MAAA2R,EAAA3R,MACAv9D,KAAAwpH,SAAAl3D,OAAA4c,EAAA5c,OAGAl7B,EAAAsb,SAAAw8B,EAAAx8B,SACA1yC,KAAAwpH,SAAAgD,QAAAxqH,EAAAC,EAAAsqH,IAOA,OAJAn1F,EAAAsb,SAAA+rB,EACA8tD,EAAAt2F,KAAA,SAAA1tB,EAAAC,GACA,OAAAD,EAAAiH,SAAAhH,EAAAgH,WAEA+8G,EAAA,IAGArD,EAAAjpH,UAAAsrH,eAAA,SAAAkB,EAAAC,EAAAC,GACAA,IACAA,EAAA,IAEA,IAAAz6C,EAAAy6C,EAAAt2G,OAEAs2G,EAAAC,cAAA,EACAD,EAAAx1G,MAAAu1G,EACAC,EAAAxsH,KAAAssH,EACAE,EAAAp2G,QAAAm2G,EAAAn2G,QACAo2G,EAAAn2G,QAAAk2G,EAAAl2G,QAEA,MAAA07D,EAIA,GAHAA,EAAA96D,QAAAq1G,EAAAE,GACAz6C,IAAAV,YAEAm7C,EAAAC,aACA,MAIA5sH,KAAA6sH,gBAAAJ,EAAAE,IAGAzD,EAAAjpH,UAAAurH,mBAAA,SAAAiB,EAAAC,EAAAC,GACA,IAAAv6D,EAAAu6D,KAAAt2G,OAEAoP,EAAA2sC,KAAA3sC,UACA5C,EAAAuvC,KAAAvvC,YAEAiqG,EAAA16D,KAAA06D,UACAC,GAAA,EAEAC,EAAAhtH,KAAA2pH,cACAqD,EAAA1mH,SAAA,CAAAomH,EAAAn2G,QAAAm2G,EAAAl2G,SACAw2G,EAAAzgG,SAEA,IAAA0gG,EAAA,CACA52G,OAAA22G,GAEA,cAAAP,IACA,MAAAhnG,EACAA,IAAAzlB,KAAAktH,iBACA/5G,SAAAnT,KAAAktH,eAAA,SACAF,EAAAvnG,UAAAzlB,KAAAktH,eACAF,EAAAnqG,YAAA7iB,KAAAmtH,iBAEAntH,KAAAmU,GAAA2/E,QAAAs5B,kBAAAH,EAAA,WAAAP,IAEAK,GAAA,GAGA,MAAAD,GACAA,IAAA9sH,KAAAqtH,iBACA,MAAArtH,KAAAqtH,iBACAL,EAAAF,UAAA9sH,KAAAqtH,eAEArtH,KAAAmU,GAAA2/E,QAAAs5B,kBAAAH,EAAA,WAAAP,IAEAK,GAAA,GAGA/sH,KAAAqtH,eAAAP,EACA9sH,KAAAktH,eAAAznG,EACAzlB,KAAAmtH,iBAAAtqG,GAGAmqG,EAAAF,YACAE,EAAAvnG,YACAunG,EAAAnqG,eAEA,MAAAiqG,GAAA35G,SAAAsS,EAAA,QAAAtS,SAAA0P,EAAA,UACA7iB,KAAAmU,GAAA2/E,QAAAs5B,kBAAAH,EAAAR,EAAAC,GAEAK,GACA/sH,KAAAmU,GAAA2/E,QAAAs5B,kBAAAH,EAAA,YAAAP,KAKAxD,EAAAjpH,UAAA4sH,gBAAA,SAAAt0G,EAAApC,GACA,QAAApL,EAAA,EAAmBA,EAAA/K,KAAAupH,MAAAhmH,OAAuBwH,IAC1C/K,KAAAupH,MAAAx+G,GAAA4pD,aAAAx+C,EAAAI,QAAAJ,EAAAK,UACAxW,KAAAupH,MAAAx+G,GAAAqM,QAAAmB,EAAApC,IAKAymB,EAAAr0B,EAAAqpB,KAAAltB,OAAAwkH,EAAAjpH,UAAA8oH,EAAA,MAEA76F,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aASA,SAAAyuH,EAAAC,EAAAC,EAAAruF,GAEA,iBAAAquF,IACAruF,EAAAquF,EACAA,EAAA,MAGA,IAEAvoD,EAFAwoD,EAAAztH,KAGA,KAAAutH,aAAArjE,UAGA,QAAA6a,KADAE,EAAA,GACAsoD,EACAA,EAAAriH,eAAA65D,IACAE,EAAAtyD,KAAAoyD,GAKA,IAAA3mD,EAAA,SAAAvO,GAcA,GAXA49G,EAAA/kH,MAAA1I,KAAA2I,WAEA4kH,aAAArjE,SAGAxlD,EAAA1E,KAAAutH,EAAAxtH,KAAAC,KAAA6P,IAGAm1D,EAAAhlE,KAAAutH,EAAAtoD,GAGAjlE,KAAAE,cAAAke,EAGA,IADA,IAAAsvG,EAAAtvG,EAAA8pB,iBACAn9B,EAAA,EAA2BA,EAAA2iH,EAAAnqH,OAAyBwH,IACpD2iH,EAAA3iH,GAAArC,MAAA1I,KAAA2I,YAKAyV,EAAAuvG,UAAAF,EAEAA,EAAAvlF,iBAGA9pB,EAAA8pB,iBAAAulF,EAAAvlF,iBAAAhJ,QAFA9gB,EAAA8pB,iBAAA,GAIAslF,GACApvG,EAAA8pB,iBAAAv1B,KAAA66G,GAGA,IAAAplE,EAAA,aAYA,OAXAA,EAAAnoD,UAAAwtH,EAAAxtH,UACAme,EAAAne,UAAA,IAAAmoD,EACAhqC,EAAAne,UAAAC,YAAAke,EACA1Z,EAAA0Z,EAAAne,UAAAk/B,GAGA/gB,EAAA1Z,OAAA+oH,EAAA/oH,OAGA0Z,EAAAkvG,OAAAG,EAAA/oH,OAEA0Z,EAGA,SAAA1Z,EAAA2R,EAAA4jB,GACA,GAAAA,EAGA,QAAA3rB,KAAA2rB,EACAA,EAAA/uB,eAAAoD,KACA+H,EAAA/H,GAAA2rB,EAAA3rB,IAKA,SAAA02D,EAAA3uD,EAAA4jB,EAAAgrC,GACA,QAAAl6D,EAAA,EAAmBA,EAAAk6D,EAAA1hE,OAAqBwH,IAAA,CACxC,IAAAg6D,EAAAE,EAAAl6D,GACAsL,EAAA0uD,GAAA9qC,EAAA8qC,IAQA72C,EAAA,MAEAxpB,OAAA4oH,EAGAA,WAMA,SAAA5qH,EAAAwrB,EAAArvB,GAEA,aACA,IAAA+uH,EAAA,CACA,oBACA,yBACA,2BACA,gCACA,2BACA,0BACA,yBACA,gCACA,sBACA,iCACA,yBACA,qBACA,iBACA,YAGAC,EAAA,CACA,mBACA,6BAGA,SAAAC,EAAA1rF,GAKA,IAJA,IAAA2rF,EAAA,GACApoC,EAAA,GAGA56E,EAAA,EAAmBA,EAAA6iH,EAAArqH,OAA2BwH,IAAA,CAC9C,IAAAijH,EAAAJ,EAAA7iH,GACAkjH,EAAAD,GAGA,IAAAjjH,EAAA,EAAmBA,EAAA8iH,EAAAtqH,OAA4BwH,IAAA,CAC/C,IAAAuD,EAAAu/G,EAAA9iH,GACA46E,EAAAr3E,GAAA8zB,EAAA2jD,aAAA3jD,EAAA9zB,IAkBA,SAAA2/G,EAAA3/G,GACA,IAAA6kD,EAAA/wB,EAAA+oD,aAAA78E,GACA6kD,IACAA,EAAA/wB,EAAA+oD,aAAA,OAAA78E,IAEA6kD,IACAA,EAAA/wB,EAAA+oD,aAAA,UAAA78E,IAEAy/G,EAAAz/G,GAAA6kD,EAvBAnzD,KAAAmrF,aAAA,SAAA78E,GAIA,OAHAA,KAAAy/G,GACAE,EAAA3/G,GAEAy/G,EAAAz/G,IAGAtO,KAAA+lF,aAAA,SAAAz3E,GACA,OAAAq3E,EAAAr3E,IAGAtO,KAAA4vF,kBAAA,WACA,WAeA1hE,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,SAAA4G,EAAAoK,GAEA,IAAAq+G,EAAA,IAAAC,eAEAD,EAAAE,KAAA,MAAAv+G,EAAAytF,KAKA4wB,EAAA3wB,aAAA1tF,EAAA0tF,cAAA,OAEA1tF,EAAAw+G,aAEAH,EAAAG,WAAA,SAAAl4G,GACA,GAAAA,EAAAm4G,iBAAA,CACA,IAAAnW,EAAAhiG,EAAAo4G,OAAAp4G,EAAAq4G,MACA3+G,EAAAw+G,WAAAlW,EAAAhiG,EAAAo4G,OAAAp4G,EAAAq4G,YAGA3+G,EAAAw+G,WAAA,QAIAH,EAAAj3F,OAAA,SAAA9gB,GACA+3G,EAAAv2D,QAAA,IACA9nD,EAAA83B,SAAA93B,EAAA83B,UAGA93B,EAAAonB,QAAApnB,EAAAonB,OAAAi3F,EAAAO,WAGA5+G,EAAA83B,UACAumF,EAAAvmF,QAAA93B,EAAA83B,SAEAumF,EAAAQ,KAAA,MAGAxgG,EAAA,MACAzoB,QAMA,SAAA/C,EAAAwrB,EAAArvB,GAEA,aACA,IAAA8vH,EAAA9vH,EAAA,IAMA+vH,EAAA,GAEAC,EAAA,CACAn7D,YAAA,UAAAo7D,UAAA,gBACAC,aAAA,gBAAAC,KAAA,cACAC,WAAA,gBAAAC,MAAA,gBACAC,MAAA,gBAAAC,OAAA,gBACAC,MAAA,UAAAC,eAAA,gBACAC,KAAA,YAAAC,WAAA,eACAC,MAAA,cAAAC,UAAA,gBACAC,UAAA,eAAAC,WAAA,cACAC,UAAA,eAAAC,MAAA,eACAC,eAAA,gBAAAC,SAAA,gBACAC,QAAA,cAAAC,KAAA,cACAC,SAAA,YAAAC,SAAA,cACAC,cAAA,eAAAC,SAAA,gBACAC,UAAA,YAAAC,SAAA,gBACAC,UAAA,gBAAAC,YAAA,cACAC,eAAA,cAAAC,WAAA,cACAC,WAAA,eAAAC,QAAA,YACAC,WAAA,gBAAAC,aAAA,gBACAC,cAAA,cAAAC,cAAA,aACAC,cAAA,aAAAC,cAAA,cACAC,WAAA,cAAAC,SAAA,eACAC,YAAA,cAAAC,QAAA,gBACAC,QAAA,gBAAAC,WAAA,eACAC,UAAA,cAAAC,YAAA,gBACAC,YAAA,cAAAC,QAAA,cACAC,UAAA,gBAAAC,WAAA,gBACAC,KAAA,cAAAC,UAAA,eACAC,KAAA,gBAAAC,MAAA,YACAC,YAAA,eAAAC,KAAA,gBACAC,SAAA,gBAAAC,QAAA,gBACAC,UAAA,cAAAC,OAAA,aACAC,MAAA,gBAAAC,MAAA,gBACAC,SAAA,gBAAAC,cAAA,gBACAC,UAAA,cAAAC,aAAA,gBACAC,UAAA,gBAAAC,WAAA,gBACAC,UAAA,gBAAAC,qBAAA,gBACAC,UAAA,gBAAAC,WAAA,gBACAC,UAAA,gBAAAC,UAAA,gBACAC,YAAA,gBAAAC,cAAA,eACAC,aAAA,gBAAAC,eAAA,gBACAC,eAAA,gBAAAC,eAAA,gBACAC,YAAA,gBAAAC,KAAA,YACAC,UAAA,cAAAC,MAAA,gBACAC,QAAA,cAAAC,OAAA,YACAC,iBAAA,gBAAAC,WAAA,YACAC,aAAA,eAAAC,aAAA,gBACAC,eAAA,eAAAC,gBAAA,gBACAC,kBAAA,cAAAC,gBAAA,eACAC,gBAAA,eAAAC,aAAA,cACAC,UAAA,gBAAAC,UAAA,gBACAC,SAAA,gBAAAC,YAAA,gBACAC,KAAA,YAAAC,QAAA,gBACAC,MAAA,cAAAC,UAAA,eACAC,OAAA,cAAAC,UAAA,aACAC,OAAA,gBAAAC,cAAA,gBACAC,UAAA,gBAAAC,cAAA,gBACAC,cAAA,gBAAAC,WAAA,gBACAC,UAAA,gBAAAC,KAAA,eACAC,KAAA,gBAAAC,KAAA,gBACAC,WAAA,gBAAAC,OAAA,cACAC,IAAA,YAAAC,UAAA,gBACAC,UAAA,eAAAC,YAAA,cACAC,OAAA,gBAAAC,WAAA,eACAC,SAAA,cAAAC,SAAA,gBACAC,OAAA,cAAAC,OAAA,gBACAC,QAAA,gBAAAC,UAAA,eACAC,UAAA,gBAAAC,UAAA,gBACAC,KAAA,gBAAAC,YAAA,cACAC,UAAA,eAAA57D,IAAA,gBACA67D,KAAA,cAAAC,QAAA,gBACAC,OAAA,cAAAC,UAAA,eACAC,OAAA,gBAAAC,MAAA,gBACAC,MAAA,gBAAAC,WAAA,gBACAC,OAAA,cAAAC,YAAA,gBAGA,SAAAC,EAAAjtH,GAEA,OADAA,EAAArE,KAAAwT,MAAAnP,GACAA,EAAA,IAAAA,EAAA,QAAAA,EAGA,SAAAktH,EAAAltH,GAEA,OADAA,EAAArE,KAAAwT,MAAAnP,GACAA,EAAA,IAAAA,EAAA,QAAAA,EAGA,SAAAmtH,EAAAt0H,GACA,OAAAA,EAAA,IAAAA,EAAA,IAAAA,EAGA,SAAAu0H,EAAA7tH,GACA,OAAAA,EAAA/G,QAAA,MAAA+G,EAAAmI,OAAAnI,EAAA/G,OAAA,GACAy0H,EAAAzsF,WAAAjhC,GAAA,SAEA0tH,EAAA7kH,SAAA7I,EAAA,KAGA,SAAA8tH,EAAA9tH,GACA,OAAAA,EAAA/G,QAAA,MAAA+G,EAAAmI,OAAAnI,EAAA/G,OAAA,GACA20H,EAAA3sF,WAAAjhC,GAAA,KAEA4tH,EAAA3sF,WAAAjhC,IAGA,SAAA+tH,EAAA39B,EAAAC,EAAA55E,GAQA,OAPAA,EAAA,EACAA,GAAA,EAEAA,EAAA,IACAA,GAAA,GAGA,EAAAA,EAAA,EACA25E,GAAAC,EAAAD,GAAA35E,EAAA,EAEA,EAAAA,EAAA,EACA45E,EAEA,EAAA55E,EAAA,EACA25E,GAAAC,EAAAD,IAAA,IAAA35E,GAAA,EAEA25E,EAGA,SAAA49B,EAAA/vH,EAAAC,EAAAsY,GACA,OAAAvY,GAAAC,EAAAD,GAAAuY,EAGA,SAAAy3G,EAAAl5F,EAAAzgB,EAAAgtC,EAAApjD,EAAAD,GAEA,OADA82B,EAAA,GAAAzgB,EAAeygB,EAAA,GAAAusB,EAAYvsB,EAAA,GAAA72B,EAAY62B,EAAA,GAAA92B,EACvC82B,EAEA,SAAAm5F,EAAAn5F,EAAA92B,GAEA,OADA82B,EAAA,GAAA92B,EAAA,GAAkB82B,EAAA,GAAA92B,EAAA,GAAe82B,EAAA,GAAA92B,EAAA,GAAe82B,EAAA,GAAA92B,EAAA,GAChD82B,EAGA,IAAAo5F,EAAA,IAAA9J,EAAA,SACA+J,EAAA,KAEA,SAAAC,EAAA5wG,EAAA4jF,GAEA+sB,GACAF,EAAAE,EAAA/sB,GAEA+sB,EAAAD,EAAAvrH,IAAA6a,EAAA2wG,GAAA/sB,EAAAzsE,SAwIA,SAAA05F,EAAAC,EAAA1/F,GACA,IAAApY,GAAAwqB,WAAAstF,EAAA,qBAGA5qG,EAAAmqG,EAAAS,EAAA,IACA7tH,EAAAotH,EAAAS,EAAA,IACAl+B,EAAA3vF,GAAA,GAAAA,GAAAijB,EAAA,GAAAjjB,EAAAijB,EAAAjjB,EAAAijB,EACAysE,EAAA,EAAA1vF,EAAA2vF,EAcA,OAZAxhE,KAAA,GACAo/F,EAAAp/F,EACA6+F,EAAA,IAAAK,EAAA39B,EAAAC,EAAA55E,EAAA,MACAi3G,EAAA,IAAAK,EAAA39B,EAAAC,EAAA55E,IACAi3G,EAAA,IAAAK,EAAA39B,EAAAC,EAAA55E,EAAA,MACA,GAGA,IAAA83G,EAAAt1H,SACA41B,EAAA,GAAA0/F,EAAA,IAGA1/F,EAQA,SAAA2/F,EAAA3/F,GACA,GAAAA,EAAA,CAKA,IASA4/F,EACAC,EAVAC,EAAA9/F,EAAA,OACA+/F,EAAA//F,EAAA,OACAggG,EAAAhgG,EAAA,OAEAigG,EAAA1yH,KAAAQ,IAAA+xH,EAAAC,EAAAC,GACAE,EAAA3yH,KAAAS,IAAA8xH,EAAAC,EAAAC,GACAryH,EAAAuyH,EAAAD,EAEAjmB,GAAAkmB,EAAAD,GAAA,EAIA,OAAAtyH,EACAiyH,EAAA,EACAC,EAAA,MAEA,CAEAA,EADA7lB,EAAA,GACArsG,GAAAuyH,EAAAD,GAGAtyH,GAAA,EAAAuyH,EAAAD,GAGA,IAAAE,IAAAD,EAAAJ,GAAA,EAAAnyH,EAAA,GAAAA,EACAyyH,IAAAF,EAAAH,GAAA,EAAApyH,EAAA,GAAAA,EACA0yH,IAAAH,EAAAF,GAAA,EAAAryH,EAAA,GAAAA,EAEAmyH,IAAAI,EACAN,EAAAS,EAAAD,EAEAL,IAAAG,EACAN,EAAA,IAAAO,EAAAE,EAEAL,IAAAE,IACAN,EAAA,IAAAQ,EAAAD,GAGAP,EAAA,IACAA,GAAA,GAGAA,EAAA,IACAA,GAAA,GAIA,IAAAF,EAAA,KAAAE,EAAAC,EAAA7lB,GAMA,OAJA,MAAAh6E,EAAA,IACA0/F,EAAAlmH,KAAAwmB,EAAA,IAGA0/F,GAvNAjK,EAAAx1F,MAAA,SAAArR,EAAA4jF,GACA,GAAA5jF,EAAA,CAGA4jF,KAAA,GAEA,IAAA8tB,EAAAhB,EAAAhzH,IAAAsiB,GACA,GAAA0xG,EACA,OAAAjB,EAAA7sB,EAAA8tB,GAIA1xG,GAAA,GAEA,IAAAzd,EAAAyd,EAAAxd,QAAA,SAAAmvH,cAGA,GAAApvH,KAAAukH,EAGA,OAFA2J,EAAA7sB,EAAAkjB,EAAAvkH,IACAquH,EAAA5wG,EAAA4jF,GACAA,EAIA,SAAArhG,EAAAmI,OAAA,IAkCA,IAAAknH,EAAArvH,EAAA8gC,QAAA,KAAAwuF,EAAAtvH,EAAA8gC,QAAA,KACA,QAAAuuF,GAAAC,EAAA,IAAAtvH,EAAA/G,OAAA,CACA,IAAAs2H,EAAAvvH,EAAAwG,OAAA,EAAA6oH,GACA30G,EAAA1a,EAAAwG,OAAA6oH,EAAA,EAAAC,GAAAD,EAAA,IAAAlrH,MAAA,KACA6qB,EAAA,EACA,OAAAugG,GACA,WACA,OAAA70G,EAAAzhB,OAEA,YADAg1H,EAAA5sB,EAAA,SAGAryE,EAAA8+F,EAAApzG,EAAAqH,OAEA,UACA,WAAArH,EAAAzhB,YACAg1H,EAAA5sB,EAAA,UAGA4sB,EAAA5sB,EACAwsB,EAAAnzG,EAAA,IACAmzG,EAAAnzG,EAAA,IACAmzG,EAAAnzG,EAAA,IACAsU,GAEAq/F,EAAA5wG,EAAA4jF,GACAA,GACA,WACA,WAAA3mF,EAAAzhB,YACAg1H,EAAA5sB,EAAA,UAGA3mF,EAAA,GAAAozG,EAAApzG,EAAA,IACA4zG,EAAA5zG,EAAA2mF,GACAgtB,EAAA5wG,EAAA4jF,GACAA,GACA,UACA,WAAA3mF,EAAAzhB,YACAg1H,EAAA5sB,EAAA,UAGAitB,EAAA5zG,EAAA2mF,GACAgtB,EAAA5wG,EAAA4jF,GACAA,GACA,QACA,QAIA4sB,EAAA5sB,EAAA,aAlFA,CACA,OAAArhG,EAAA/G,OAAA,CACA,IAAAu2H,EAAA3mH,SAAA7I,EAAAwG,OAAA,OACA,OAAAgpH,GAAA,GAAAA,GAAA,MAIAvB,EAAA5sB,GACA,KAAAmuB,IAAA,QAAAA,IAAA,EACA,IAAAA,GAAA,IAAAA,IAAA,EACA,GAAAA,GAAA,GAAAA,IAAA,EACA,GAEAnB,EAAA5wG,EAAA4jF,GACAA,QAVA4sB,EAAA5sB,EAAA,SAYA,OAAArhG,EAAA/G,OAAA,CACAu2H,EAAA3mH,SAAA7I,EAAAwG,OAAA,OACA,OAAAgpH,GAAA,GAAAA,GAAA,UAIAvB,EAAA5sB,GACA,SAAAmuB,IAAA,IACA,MAAAA,IAAA,EACA,IAAAA,EACA,GAEAnB,EAAA5wG,EAAA4jF,GACAA,QAVA4sB,EAAA5sB,EAAA,aAmEAijB,EAAA94D,aAAA,SAAA/tC,EAAA4jF,GAEA,GADAA,EAAAijB,EAAAx1F,MAAArR,EAAA4jF,GACAA,EAMA,OAHAA,EAAA,QACAA,EAAA,QACAA,EAAA,QACAA,GA0GAijB,EAAAxoB,KAAA,SAAAt/E,EAAAkgB,GACA,IAAAq/D,EAAAuoB,EAAAx1F,MAAAtS,GACA,GAAAu/E,EAAA,CACA,QAAAt7F,EAAA,EAAuBA,EAAA,EAAOA,IAE9Bs7F,EAAAt7F,GADAi8B,EAAA,EACAq/D,EAAAt7F,IAAA,EAAAi8B,GAAA,GAGA,IAAAq/D,EAAAt7F,IAAAi8B,EAAAq/D,EAAAt7F,GAAA,EAGA,OAAA6jH,EAAAmL,UAAA1zB,EAAA,IAAAA,EAAA9iG,OAAA,gBASAqrH,EAAAoL,MAAA,SAAAlzG,GACA,IAAAu/E,EAAAuoB,EAAAx1F,MAAAtS,GACA,GAAAu/E,EACA,gBAAAA,EAAA,SAAAA,EAAA,SAAAA,EAAA,IAAAv9F,SAAA,IAAAo2B,MAAA,IAYA0vF,EAAAqL,SAAA,SAAAC,EAAAC,EAAA96F,GACA,GAAA86F,KAAA52H,QACA22H,GAAA,GAAAA,GAAA,EADA,CAMA76F,KAAA,GAEA,IAAAp7B,EAAAi2H,GAAAC,EAAA52H,OAAA,GACA62H,EAAA1zH,KAAAmK,MAAA5M,GACAo2H,EAAA3zH,KAAA0gE,KAAAnjE,GACAq2H,EAAAH,EAAAC,GACAG,EAAAJ,EAAAE,GACAG,EAAAv2H,EAAAm2H,EAMA,OALA/6F,EAAA,GAAA24F,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IACAn7F,EAAA,GAAA24F,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IACAn7F,EAAA,GAAA24F,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IACAn7F,EAAA,GAAA64F,EAAAI,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IAEAn7F,IAGAuvF,EAAA6L,eAAA7L,EAAAqL,SASArL,EAAA7wF,KAAA,SAAAm8F,EAAAC,EAAAO,GACA,GAAAP,KAAA52H,QACA22H,GAAA,GAAAA,GAAA,EADA,CAMA,IAAAj2H,EAAAi2H,GAAAC,EAAA52H,OAAA,GACA62H,EAAA1zH,KAAAmK,MAAA5M,GACAo2H,EAAA3zH,KAAA0gE,KAAAnjE,GACAq2H,EAAA1L,EAAAx1F,MAAA+gG,EAAAC,IACAG,EAAA3L,EAAAx1F,MAAA+gG,EAAAE,IACAG,EAAAv2H,EAAAm2H,EAEAtzG,EAAA8nG,EAAAmL,UACA,CACA/B,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IACAxC,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IACAxC,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IACAtC,EAAAI,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,KAEA,QAGA,OAAAE,EACA,CACA5zG,QACAszG,YACAC,aACAp2H,SAEA6iB,IAMA8nG,EAAA+L,WAAA/L,EAAA7wF,KAUA6wF,EAAAgM,UAAA,SAAA9zG,EAAA/F,EAAAkN,EAAAjjB,GAGA,GAFA8b,EAAA8nG,EAAAx1F,MAAAtS,GAEAA,EAMA,OALAA,EAAAgyG,EAAAhyG,GACA,MAAA/F,IAAA+F,EAAA,GAAAmxG,EAAAl3G,IACA,MAAAkN,IAAAnH,EAAA,GAAAsxG,EAAAnqG,IACA,MAAAjjB,IAAA8b,EAAA,GAAAsxG,EAAAptH,IAEA4jH,EAAAmL,UAAAnB,EAAA9xG,GAAA,SASA8nG,EAAAiM,YAAA,SAAA/zG,EAAAwS,GAGA,GAFAxS,EAAA8nG,EAAAx1F,MAAAtS,GAEAA,GAAA,MAAAwS,EAEA,OADAxS,EAAA,GAAAoxG,EAAA5+F,GACAs1F,EAAAmL,UAAAjzG,EAAA,SASA8nG,EAAAmL,UAAA,SAAAe,EAAA36H,GACA,GAAA26H,KAAAv3H,OAAA,CAGA,IAAAwkB,EAAA+yG,EAAA,OAAAA,EAAA,OAAAA,EAAA,GAIA,MAHA,SAAA36H,GAAA,SAAAA,GAAA,SAAAA,IACA4nB,GAAA,IAAA+yG,EAAA,IAEA36H,EAAA,IAAA4nB,EAAA,MAKAmG,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aAMA,IAAAiN,EAAA,WAKA9L,KAAA+L,KAAA,KAKA/L,KAAAgM,KAAA,KAEAhM,KAAA+6H,QAAA,GAQAjvH,EAAA7L,UAAAkM,OAAA,SAAAlD,GACA,IAAAmD,EAAA,IAAAN,EAAAO,MAAApD,GAEA,OADAjJ,KAAAsM,YAAAF,GACAA,GASAN,EAAA7L,UAAA+6H,SAAA,SAAAr9G,EAAA1U,GACA,KAAA0U,EAAA,IAGA,IAAA5Z,EAAA/D,KAAA+L,KACA0kD,EAAA,EACA,MAAA1sD,GAAA0sD,GAAA9yC,EACA5Z,SACA0sD,IAEA,GAAA1sD,EAAA,CACA,IAAAqI,EAAA,IAAAN,EAAAO,MAAApD,GACAsD,EAAAxI,EAAAwI,KACAA,GAIAA,EAAAxI,KAAAqI,EACAA,EAAAG,QAJAvM,KAAA+L,KAAAK,EAMAA,EAAArI,OACAA,EAAAwI,KAAAH,OAGApM,KAAAmM,OAAAlD,KAIA6C,EAAA7L,UAAAg7H,kBAAA,SAAAhyH,EAAAlF,GACA,IAAAqI,EAAA,IAAAN,EAAAO,MAAApD,GACAsD,EAAAxI,EAAAwI,KACAA,GAIAA,EAAAxI,KAAAqI,EACAA,EAAAG,QAJAvM,KAAA+L,KAAAK,EAMAA,EAAArI,OACAA,EAAAwI,KAAAH,EAEApM,KAAA+6H,WAOAjvH,EAAA7L,UAAAqM,YAAA,SAAAF,GACApM,KAAA+L,MAIA/L,KAAAgM,KAAAjI,KAAAqI,EACAA,EAAAG,KAAAvM,KAAAgM,KACAhM,KAAAgM,KAAAI,GALApM,KAAA+L,KAAA/L,KAAAgM,KAAAI,EAOApM,KAAA+6H,WAOAjvH,EAAA7L,UAAAuM,OAAA,SAAAJ,GACA,IAAAG,EAAAH,EAAAG,KACAxI,EAAAqI,EAAArI,KACAwI,EACAA,EAAAxI,OAIA/D,KAAA+L,KAAAhI,EAEAA,EACAA,EAAAwI,OAIAvM,KAAAgM,KAAAO,EAEAH,EAAArI,KAAAqI,EAAAG,KAAA,KACAvM,KAAA+6H,WAQAjvH,EAAA7L,UAAAi7H,SAAA,SAAAv9G,GACA,KAAAA,EAAA,IAGA,IAAAk9F,EAAA76G,KAAA+L,KACA0kD,EAAA,EACA,MAAAoqD,GAAApqD,GAAA9yC,EACAk9F,IAAA92G,KACA0sD,IAEA,OAAAoqD,GACA76G,KAAAwM,OAAAquG,GACAA,EAAA52G,YAFA,IASA6H,EAAA7L,UAAAk7H,QAAA,WACA,GAAAn7H,KAAA+L,KACA,OAAA/L,KAAA+L,KAAA9H,OAOA6H,EAAA7L,UAAAm7H,QAAA,WACA,GAAAp7H,KAAAgM,KACA,OAAAhM,KAAAgM,KAAA/H,OAQA6H,EAAA7L,UAAAo7H,MAAA,SAAA19G,GACA,KAAAA,EAAA,IAGA,IAAAk9F,EAAA76G,KAAA+L,KACA0kD,EAAA,EACA,MAAAoqD,GAAApqD,GAAA9yC,EACAk9F,IAAA92G,KACA0sD,IAEA,OAAAoqD,EAAA52G,QAOA6H,EAAA7L,UAAAmrC,QAAA,SAAAnnC,GACA,IAAA42G,EAAA76G,KAAA+L,KACA0kD,EAAA,EACA,MAAAoqD,EAAA,CACA,GAAAA,EAAA52G,UACA,OAAAwsD,EAEAoqD,IAAA92G,KACA0sD,MAOA3kD,EAAA7L,UAAAsD,OAAA,WACA,OAAAvD,KAAA+6H,SAMAjvH,EAAA7L,UAAAq7H,QAAA,WACA,WAAAt7H,KAAA+6H,SAOAjvH,EAAA7L,UAAA4K,QAAA,SAAAkrB,EAAArS,GACA,IAAAm3F,EAAA76G,KAAA+L,KACA4R,EAAA,EACA49G,EAAA,sBACA,MAAA1gB,EACA0gB,EACAxlG,EAAAh2B,KAAA2jB,EAAAm3F,EAAA52G,MAAA0Z,GAGAoY,EAAA8kF,EAAA52G,MAAA0Z,GAEAk9F,IAAA92G,KACA4Z,KAOA7R,EAAA7L,UAAAyM,MAAA,WACA1M,KAAAgM,KAAAhM,KAAA+L,KAAA,KACA/L,KAAA+6H,QAAA,GAOAjvH,EAAAO,MAAA,SAAApD,GAIAjJ,KAAAiE,MAAAgF,EAKAjJ,KAAA+D,KAAA,KAKA/D,KAAAuM,KAAA,MAGA2hB,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA28H,EAAA38H,EAAA,KAGA48H,EAAA,oHAEA,SAAAC,EAAA5tF,EAAAzT,EAAAshG,GAUA,SAAApxH,EAAAssB,EAAAzK,EAAA7C,EAAAqyG,GACA,IAAAC,EAAA,GAEAjiH,MAAAwS,KAEAA,EADAA,KAAAiO,EACAA,EAAAjO,GAGA0vG,EAAA1vG,IAGAxS,MAAA2P,KAEAA,EADAA,KAAA8Q,EACAA,EAAA9Q,GAGAuyG,EAAAvyG,IAKA,QAAA5L,EAAAxK,SAAAiZ,GAAuCzO,EAAAxK,SAAAoW,GAAqB5L,IAE5Dk+G,GAAA,IACAD,EACArxH,QAAA,2BAAAoT,EAAA26F,QAAA,IACA/tG,QAAA,SAAAoT,GACA,IAGA,OAAAk+G,EAGA,IAAAC,EAAA,GACA,QAAA7nD,KAAA0nD,EACAG,EAAA7nD,EAAA,UAAA0nD,EAAA1nD,GAEA,OAAAnmC,EAAAvjC,QAAAkxH,EAAAlxH,GAGA,SAAAyrD,EAAA37B,EAAAshG,EAAAvlE,GACA,IAAAF,EAAA,GACA,GAAAylE,EACA,QAAA1nD,KAAA0nD,EAAA,CACA,IAAAhiH,EAAAgiH,EAAA1nD,GACAt6D,EAAA,GACAu8C,EAAAvjD,KAAA,WAAAshE,EAAAr0C,cAAA,UAAAjmB,GAIA,GAAAy8C,EACA,QAAArrD,EAAA,EAAuBA,EAAAqrD,EAAA7yD,OAA4BwH,IAAA,CACnD,IAAA0f,EAAA2rC,EAAArrD,GACAmrD,EAAAvjD,KAAA,WAAA8X,EAAAmV,cAAA,YAIA,QAAAnV,KAAA4P,EAAA,CACA,IAAAp2B,EAAAo2B,EAAA5P,GACA,OAAAxmB,EACAiyD,EAAAvjD,KAAA,WAAA8X,GAGAyrC,EAAAvjD,KAAA,WAAA8X,EAAA,IAAAxmB,EAAA6E,YAGA,OAAAotD,EAAAlmD,KAAA,MAGA,SAAA+rH,EAAAC,GAIA,IADA,IAAAC,EAAA,GACAlxH,EAAA,EAAmBA,EAAAixH,EAAAz4H,OAAiBwH,IACpCkxH,EAAAtpH,KAAA,iBAAAqpH,EAAAjxH,GAAA,aAEA,OAAAkxH,EAAAjsH,KAAA,MAGA,SAAAksH,EAAAxlE,GACA,mBAAAA,EAAA,SAAA1mD,KAAA,WACA,aAAA0mD,EAAA,OAAA1mD,KAAA,WAEA,aAAA0mD,EAAA,aAAA1mD,KAAA,WAGA,SAAAmsH,EAAA/kG,GACAp3B,KAAAo8H,UAAAhlG,EACAp3B,KAAAkiC,OAAA,GAGAi6F,EAAAl8H,UAAAosF,WAAA,SAAArtB,EAAAnsC,EAAA0qC,GACA,IAAAl7B,EAAAriC,KAAAkiC,OAEA6uC,EAAA/R,EAAA+R,eAAA/R,EAAA+R,gBACA9lE,EAAA,IAAA4nB,EAAAF,OAAA0pG,SAAA,IAAAxpG,EAAAsjC,gBACAoH,IACAtyD,GAAA,KAAAsyD,EAAApH,cAAA6I,EAAAqY,aAEAtG,IACA9lE,GAAA,IAAA+zD,EAAA8Z,OAAAv1E,QAEA,IAAAm0E,EAAAr1C,EAAAp3B,GAEA,GAAAysE,EACA,OAAAA,EAGA,IAAAikD,EAAAp+D,IAAAia,iBAAAxY,EAAAqY,YAAA,GACAjgD,EAAAp3B,KAAAo8H,UACAh6F,EAAAhL,EAAAwB,GACAw9B,EAAAvjC,EAAA2kC,qBACA8kE,EAAA,GACA,GAAAvrD,EAAA,CACA,IAAAwrD,EAAA,CACAC,SAAA,KACAC,YAAAz9D,EAAA8Z,OAAAv1E,QAEAy7D,EAAA8Z,OAAAv1E,OAAA6zB,EAAAw4D,sBACA2sC,EAAAG,0BAAA,MAGAJ,EAAA,KAAAtmE,EAAAumE,GAAA,KAIA,IAAAI,EAAAL,EAAAtmE,EAAAnjC,EAAAmZ,cAAA2vF,EAAAvlE,GAEAwmE,EAAAN,EAAAtmE,EAAAnjC,EAAAoZ,gBAAA0vF,EAAAvlE,GAEAymE,EAAAF,EAAA,KAAA9pG,EAAAF,OAAAoX,OAEAgkF,EAAA,CACA,2BACA,0BACAlmE,OAAA,SAAAsL,GACA,aAAA/7B,EAAAgM,eAAA+vB,KAGA46D,EAAA3iF,QAAA,+BACAwxF,GAAA,iCAEA7O,EAAA3iF,QAAA,iCACAwxF,GAAA,0CAGA,IAAAE,EAAAf,EAAAhO,GAAA,KACAmO,EAAArpG,EAAA6jC,WAAA,KACAkmE,EAAA,KACA/pG,EAAAF,OAAAqX,SAEA+yF,EAAArB,EAAAmB,EAAAhqG,EAAAmZ,cAAA2vF,GACAqB,EAAAtB,EAAAoB,EAAAjqG,EAAAoZ,gBAAA0vF,GAEAjkD,EAAA,IAAA8jD,EAAA,KACA9jD,EAAAjuC,iBAAA5W,EAAAF,OAAA8W,iBACAiuC,EAAAt7C,WAAAvJ,EAAAF,OAAAyJ,WACA,IAAAqwD,EAAA/U,EAAAulD,aAAA76F,EAAAvP,EAAAF,OAAAoqG,EAAAC,GAKA,OAJAtlD,EAAA8U,QAAAC,EAEApqD,EAAAp3B,GAAAysE,EAEAA,GAGAxpD,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAstD,EAAAttD,EAAA,IACAq+H,EAAAr+H,EAAA,GAIAs+H,EAAA,EACAC,EAAA,EACAC,EAAA,EAKAC,EAAA,GAGA,SAAAC,EAAAC,GAEA,IADA,IAAAxsE,EAAAwsE,EAAA/uH,MAAA,MACA1D,EAAA,EAAA0yH,EAAAzsE,EAAAztD,OAAuCwH,EAAA0yH,EAAQ1yH,IAG/CimD,EAAAjmD,KAAA,OAAAimD,EAAAjmD,GAEA,OAAAimD,EAAAhhD,KAAA,MAIA,SAAA0tH,EAAAt7F,EAAAzP,EAAAgrG,GACA,IAAAv7F,EAAAw7F,mBAAAjrG,EAAAyP,EAAAkgB,gBACA,OAAAlgB,EAAAy7F,iBAAAlrG,GAAA4qG,EAAAI,IAAA3tH,KAAA,MAIA,IAAA8tH,EAAA,IAAA3xE,EAAA,KAAA3gB,aAAA,IAEAuyF,EAAAb,EAAA,KAAAx4H,OAAA,CAEA+kC,iBAAA,GACArN,WAAA,IAEC,WACDp8B,KAAAg+H,WAAA,GAEAh+H,KAAAi+H,aAAA,EAEAj+H,KAAAk+H,SAAA,MACC,CAEDt1H,KAAA,SAAAwuB,GACAp3B,KAAAi+H,aAAA,EACA7mG,EAAAwB,GAAAulG,WAAAn+H,KAAAk+H,WAGAvmD,WAAA,SAAAltD,GACA,IAAAqnE,EAAA9xF,KAAAg+H,WAAAvzG,GACA,cAAAqnE,QAAAxpF,IAAAwpF,GAGA/B,eAAA,SAAA34D,EAAAxE,EAAAilD,GACAjlD,IACAwE,EAAAwB,GAAAwlG,cAAAhnG,EAAAwB,GAAAmmB,SAAA84B,GAEAjlD,EAAAyR,eACAzR,EAAAhqB,KAAAwuB,GAIAxE,EAAA+P,OAAAvL,KAKAu5D,mBAAA,WACA,OAAA3wF,KAAAi+H,cAGA5sC,iBAAA,SAAAxZ,GACA73E,KAAAi+H,aAAApmD,GAAA,GAGAC,uBAAA,SAAA1gD,EAAAxE,GACA,IAAAyrG,EAAAr+H,KAAAi+H,aAMA,OAJAj+H,KAAA+vF,eAAA34D,EAAAxE,EAAAyrG,GAEAr+H,KAAAi+H,eAEAI,GAGAxrE,WAAA,SAAAzwB,EAAAjiC,EAAAsqB,EAAAxmB,GACA,IAAAq6H,EAAAt+H,KAAAg+H,WACAlsC,EAAAwsC,EAAA7zG,GAEA,UAAAqnE,QAAAxpF,IAAAwpF,EACA,SAGA,OAAA3xF,GACA,SACA,KAAA8D,aAAAunC,cAAA,CAEA,QAAAzgC,EAAA,EAAmCA,EAAA9G,EAAAV,OAAkBwH,IACrD+yH,EAAA/yH,GAAA9G,EAAA8G,GAEA9G,EAAA65H,EAEA17F,EAAAm8F,iBAAAzsC,GAAA,EAAA7tF,GACA,MACA,SACAm+B,EAAAo8F,UAAA1sC,EAAA7tF,EAAA,GAAAA,EAAA,IACA,MACA,SACAm+B,EAAAq8F,UAAA3sC,EAAA7tF,EAAA,GAAAA,EAAA,IACA,MACA,SACAm+B,EAAAs8F,UAAA5sC,EAAA7tF,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA,MACA,SACAm+B,EAAAu8F,UAAA7sC,EAAA7tF,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA,MACA,SACAm+B,EAAAw8F,UAAA9sC,EAAA7tF,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA,MACA,SACAm+B,EAAAy8F,UAAA/sC,EAAA7tF,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA,MACA,SACAm+B,EAAA08F,UAAAhtC,EAAA7tF,GACA,MACA,SACAm+B,EAAA28F,UAAAjtC,EAAA7tF,GACA,MACA,UACAm+B,EAAA48F,WAAAltC,EAAA7tF,GACA,MACA,UACAm+B,EAAA68F,WAAAntC,EAAA7tF,GACA,MACA,UACAm+B,EAAA88F,WAAAptC,EAAA7tF,GACA,MACA,UACAm+B,EAAA+8F,WAAArtC,EAAA7tF,GACA,MACA,UACAm+B,EAAAg9F,WAAAttC,EAAA7tF,GACA,MACA,UACAm+B,EAAAi9F,WAAAvtC,EAAA7tF,GACA,MACA,UACAm+B,EAAAk9F,WAAAxtC,EAAA7tF,GACA,MACA,UACAm+B,EAAAm9F,WAAAztC,EAAA7tF,GACA,MACA,SACA,UACAm+B,EAAAo9F,iBAAA1tC,GAAA,EAAA7tF,GACA,MACA,SACA,UACAm+B,EAAAq9F,iBAAA3tC,GAAA,EAAA7tF,GACA,MACA,UAEA,GAAAuZ,MAAAxU,QAAA/E,IAAAuZ,MAAAxU,QAAA/E,EAAA,KACA,IAAAm5B,EAAA,IAAA+uB,EAAA,KAAA3gB,aAAA,GAAAvnC,EAAAV,QACAktD,EAAA,EACA,IAAA1lD,EAAA,EAAmCA,EAAA9G,EAAAV,OAAkBwH,IAErD,IADA,IAAA85D,EAAA5gE,EAAA8G,GACA2F,EAAA,EAAuCA,EAAA,GAAQA,IAC/C0sB,EAAAqzB,KAAAoU,EAAAn0D,GAGA0xB,EAAAm8F,iBAAAzsC,GAAA,EAAA10D,QAGAgF,EAAAm8F,iBAAAzsC,GAAA,EAAA7tF,GAEA,MAEA,UAGAkrF,qBAAA,SAAA/sD,EAAAiJ,EAAApiC,GACA,IAAAsmF,EAAAvvF,KAAAypC,iBAAA4B,GACA,QAAAkkD,GACAvvF,KAAA6yD,WAAAzwB,EAAAmtD,EAAApvF,KAAAovF,EAAA9kE,OAAAxhB,IASA4oF,iBAAA,SAAAz6D,EAAAsoG,EAAAluE,GACA,IAKAmuE,EALAv9F,EAAAhL,EAAAwB,GACA8+C,EAAA13E,KAAAk+H,SAEAI,EAAAt+H,KAAAg+H,WAIA2B,EADAnuE,EACAA,EAAAouE,uBAGAtC,EAAAlmG,EAAAT,SAEAgpG,IAIAA,EADAnuE,EAEAA,EAAAouE,uBACA,GAIAtC,EAAAlmG,EAAAT,SACA,IAIA,IADA,IAAAi7D,EAAA,GACA7mF,EAAA,EAAuBA,EAAA20H,EAAAn8H,OAAuBwH,IAAA,CAC9C,IAAA0f,EAAAi1G,EAAA30H,GACA,GAAA/K,KAAAo8B,WAAA3R,GAAA,CAIA,IAAAqnE,EAAAwsC,EAAA7zG,GACA,SAAAqnE,EAAA,CAGA,GAFAA,EAAA1vD,EAAAy9F,kBAAAnoD,EAAAjtD,IAEA,IAAAqnE,EAAA,CACAF,EAAA7mF,IAAA,EACA,SAEAuzH,EAAA7zG,GAAAqnE,EAEAF,EAAA7mF,GAAA+mF,EAEA6tC,EAAA7tC,GAIA6tC,EAAA7tC,GAAAsrC,EAHAuC,EAAA7tC,GAAAqrC,OAhBAvrC,EAAA7mF,IAAA,EAuBA,IAAAA,EAAA,EAAuBA,EAAA40H,EAAAp8H,OAA0CwH,IACjE,OAAA40H,EAAA50H,IACA,KAAAoyH,EACA/6F,EAAA09F,wBAAA/0H,GACA40H,EAAA50H,GAAAsyH,EACA,MACA,KAAAD,EACAuC,EAAA50H,GAAAsyH,EACA,MAEA,KAAAA,EACAj7F,EAAA29F,yBAAAh1H,GACA40H,EAAA50H,GAAA,EACA,MAIA,OAAA6mF,GAGAqrC,aAAA,SAAA76F,EAAAzP,EAAAqtG,EAAAC,GACA,IAAAC,EAAA99F,EAAArI,aAAAqI,EAAA+Z,eACAu7B,EAAAt1C,EAAA+9F,gBAEA/9F,EAAAg+F,aAAAF,EAAAF,GACA59F,EAAAi+F,cAAAH,GAEA,IAAAI,EAAAl+F,EAAArI,aAAAqI,EAAA8Z,iBACA9Z,EAAAg+F,aAAAE,EAAAL,GACA79F,EAAAi+F,cAAAC,GAEA,IAAAC,EAAA7C,EAAAt7F,EAAA89F,EAAAF,GACA,GAAAO,EACA,OAAAA,EAGA,GADAA,EAAA7C,EAAAt7F,EAAAk+F,EAAAL,GACAM,EACA,OAAAA,EAMA,GAHAn+F,EAAAq0B,aAAAihB,EAAAwoD,GACA99F,EAAAq0B,aAAAihB,EAAA4oD,GAEA3tG,EAAA6W,mBAAA,YACApH,EAAAo+F,mBAAA9oD,EAAA,EAAA/kD,EAAA6W,mBAAA,YAAA/e,YAEA,CAEA,IAAAuL,EAAAjtB,OAAAitB,KAAAh2B,KAAAo8B,YACAgG,EAAAo+F,mBAAA9oD,EAAA,EAAA1hD,EAAA,IAKA,GAFAoM,EAAAq+F,YAAA/oD,IAEAt1C,EAAAs+F,oBAAAhpD,EAAAt1C,EAAAya,aACA,iCAAAza,EAAAu+F,kBAAAjpD,GAIA,QAAA3sE,EAAA,EAAuBA,EAAA4nB,EAAA2Z,SAAA/oC,OAA4BwH,IAAA,CACnD,IAAA61H,EAAAjuG,EAAA2Z,SAAAvhC,GACA/K,KAAAg+H,WAAA4C,GAAAx+F,EAAAy+F,mBAAAnpD,EAAAkpD,GAGAx+F,EAAA0+F,aAAAZ,GACA99F,EAAA0+F,aAAAR,GAEAtgI,KAAAk+H,SAAAxmD,EAGA13E,KAAA68H,WAAAmD,EACAhgI,KAAA88H,aAAAmD,KAIA/xG,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAoiC,EAAApiC,EAAA,GACAkiI,EAAAliI,EAAA,IACAmiI,EAAAniI,EAAA,IACAmxG,EAAAnxG,EAAA,GACAoiI,EAAApiI,EAAA,GACAqiI,EAAAriI,EAAA,IACAozD,EAAApzD,EAAA,IACAsiI,EAAAtiI,EAAA,IAcAuiI,EAAAngG,EAAA,KAAAv8B,OAAA,CAKA64D,MAAA,KAKAjL,OAAA,KAKAl7B,SAAA,MACC,WACDp3B,KAAAqhI,KAAA,IAAAN,EAAA,KACA/gI,KAAAshI,KAAA,IAAAN,EAAA,MAGA,CASA1U,KAAA,SAAAtqH,EAAAC,EAAAs/H,GACA,IAAAliG,EAAAr/B,KAAAwsH,QAAAxqH,EAAAC,EAAA,GAAAs/H,GACA,OAAAliG,EAAA,UAWAmtF,QAAA,SAAAxqH,EAAAC,EAAAsqH,EAAAgV,GAUA,OATAvhI,KAAAo3B,SAAAsnC,YAAA18D,EAAAC,EAAAjC,KAAAshI,MACAthI,KAAAsyD,OAAAkM,QAAAx+D,KAAAshI,KAAAthI,KAAAqhI,MAEA9U,KAAA,GAEAvsH,KAAAwhI,eAAAxhI,KAAAu9D,MAAAgvD,EAAAgV,IAAA,GAEAhV,EAAAt2F,KAAAj2B,KAAAyhI,0BAEAlV,GAGAiV,eAAA,SAAAnkH,EAAAgiB,EAAAkiG,GACAlkH,aAAA6jH,EAAA,MAAA7jH,EAAAgnB,iBACAhnB,EAAAshF,gBAAA4iC,KAGAlkH,EAAA8yE,OAAAl+B,EAAA,KAAA1c,WAAAl4B,EAAA4e,SAAAo0B,gBAEAhzC,EAAA4e,SAAAylG,WACArkH,EAAA4e,SAAAqwF,OAGAtsH,KAAA2hI,qBAAAtkH,EAAAgiB,IAGA,QAAAt0B,EAAA,EAAuBA,EAAAsS,EAAAwzD,UAAAttE,OAA2BwH,IAClD/K,KAAAwhI,eAAAnkH,EAAAwzD,UAAA9lE,GAAAs0B,EAAAkiG,IAIAI,qBAAA,WAEA,IAAAlmH,EAAA,IAAAu0F,EAAA,KACAt0F,EAAA,IAAAs0F,EAAA,KACAr0F,EAAA,IAAAq0F,EAAA,KACA1Z,EAAA,IAAAyqC,EAAA,KACAa,EAAA,IAAAX,EAAA,KAEA,gBAAAjiE,EAAA3/B,GAEA,IAAA0xC,EAAA/R,EAAA+R,gBACAulB,EAAAl9E,KAAApZ,KAAAqhI,MACAJ,EAAA,KAAApxF,OAAA+xF,EAAA5iE,EAAAgC,gBAGA+P,GACAulB,EAAAj9E,eAAAuoH,GAGA,IAAA3lG,EAAA+iC,EAAA/iC,SAEAxc,EAAAsxD,EAAA/R,EAAAkX,SAAAhpB,YAAAjxB,EAAAixB,YAEA,IAAAztC,GAAA62E,EAAAjiC,qBAAA50C,GAIA,GAAAwc,EAAAqwF,KACArwF,EAAAqwF,KACAtsH,KAAAshI,KAAAt/H,EAAAhC,KAAAshI,KAAAr/H,EACAjC,KAAAo3B,SACAp3B,KAAAsyD,OACA0M,EAAA3/B,QAKA,GAAApD,EAAAylG,UACAzlG,EAAAylG,UAAAprC,EAAAt3B,EAAA3/B,OADA,CAKA,IAGAwqC,EAKAmmB,EARA6xC,EAAA7iE,EAAAivB,WAAAh8B,EAAA,KAAAta,MAAAqnB,EAAAkvB,YAAAj8B,EAAA,KAAArZ,KACAomB,EAAAivB,WAAAh8B,EAAA,KAAAva,OAAAsnB,EAAAkvB,YAAAj8B,EAAA,KAAAtZ,GAGA8U,EAAAxxB,EAAAwxB,QACAuc,EAAA/tC,EAAAG,WAAA91B,SACAw7H,EAAA7lG,EAAAG,WAAA2wB,OACAg1E,EAAA9lG,EAAAG,WAAA4wB,MAEAg1E,EAAA,GAEA,GAAAh4D,KAAA/lE,OAAAwpD,EAAA,CAGA,GAAAsjB,EAAA,CACAif,EAAAhxB,EAAAkX,SAAA+Z,mBAAAjxB,EAAAroC,QAAAqoC,EAAA8Z,QACA,QAAA/tE,EAAA,EAA+BA,EAAAi0D,EAAA8Z,OAAAv1E,OAA8BwH,IAAA,CAC7Di3H,EAAAj3H,GAAAi3H,EAAAj3H,IAAA,GACA,QAAA2V,EAAA,EAAmCA,EAAA,GAAQA,IAC3CshH,EAAAj3H,GAAA2V,GAAAsvE,EAAA,GAAAjlF,EAAA2V,GAGA,IAAAogF,EAAA,GACA/zC,EAAA,GACAC,EAAA,GACAi1E,EAAA,GACA9xE,EAAA,GACA+xE,EAAAjmG,EAAAG,WAAA+lG,gBACAD,KAAAj+H,QACAg4B,EAAAmmG,gBAAA,yBACAF,EAAAjmG,EAAAG,WAAA+lG,gBACAD,EAAAh/G,KAAA+Y,EAAAC,cAEA,IAAAnxB,EAAA,EAA+BA,EAAAkxB,EAAAC,YAA0BnxB,IAAA,CACzDi/D,EAAAvkE,IAAAsF,EAAA+1F,GACAghC,EAAAr8H,IAAAsF,EAAAgiD,GACAg1E,EAAAt8H,IAAAsF,EAAAiiD,GACAD,EAAA,KAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GACAo0E,EAAA,KAAA/tG,IAAA6uG,EAAA,OACA,IAAAvhH,EAAA,EAAmCA,EAAA,EAAOA,IAC1CssC,EAAAtsC,IAAA,GAAAqsC,EAAArsC,GAAA,OACAygH,EAAA,KAAAziG,cAAAyxB,EAAA2wC,EAAAkhC,EAAAh1E,EAAAtsC,KACAygH,EAAA,KAAA7iH,YAAA2jH,IAAA9xE,EAAApD,EAAArsC,KAGAwhH,EAAA9uG,IAAAroB,EAAAk3H,IAIA,IAAAl3H,EAAA,EAA2BA,EAAA0iD,EAAAlqD,OAAoBwH,GAAA,GAC/C,IAAA6iD,EAAAH,EAAA1iD,GACA8iD,EAAAJ,EAAA1iD,EAAA,GACA+iD,EAAAL,EAAA1iD,EAAA,GACAs3H,EAAAtxD,EACA90C,EAAAG,WAAA+lG,gBACAn4D,EAWA,GAVAq4D,EAAA58H,IAAAmoD,EAAAnyC,EAAA2hB,OACAilG,EAAA58H,IAAAooD,EAAAnyC,EAAA0hB,OACAilG,EAAA58H,IAAAqoD,EAAAnyC,EAAAyhB,OAGAysC,EADAg4D,EACAvrC,EAAAP,kBAAAt6E,EAAAC,EAAAC,EAAAqjD,EAAA4a,SAGA0c,EAAAP,kBAAAt6E,EAAAE,EAAAD,EAAAsjD,EAAA4a,SAEA/P,EAAA,CACA,IAAAy4D,EAAA,IAAAtyB,EAAA,KACAj/B,EAKAi/B,EAAA,KAAA52F,KAAAkpH,EAAAz4D,GAJAmmC,EAAA,KAAAtxE,cAAA4jG,EAAAz4D,EAAA7K,EAAAgC,gBAMA3hC,EAAA1sB,KAAA,IAAAyuH,EAAAmB,aACA14D,EAAAy4D,EAAAtjE,EAAA,CAAApR,EAAAC,EAAAC,GAAA/iD,EAAA,EACAilG,EAAA,KAAAryE,KAAA2kG,EAAAtiI,KAAAqhI,KAAA/sC,eAvHA,GA8HAmtC,yBAAA,SAAAl5H,EAAAC,GACA,OAAAD,EAAAiH,SAAAhH,EAAAgH,YAaA4xH,EAAAmB,aAAA,SAAA14D,EAAA24D,EAAAnsH,EAAAitF,EAAAm/B,EAAAjzH,GAKAxP,KAAA6pE,QAKA7pE,KAAAwiI,aAKAxiI,KAAAqW,SAKArW,KAAAsjG,WAIAtjG,KAAAyiI,gBAKAziI,KAAAwP,YAGA0e,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAoiC,EAAApiC,EAAA,GACAqiC,EAAAriC,EAAA,IACAsiC,EAAAtiC,EAAA,IACA4pF,EAAA5pF,EAAA,IAMA,SAAA6jI,EAAAviI,GACA,OACAupF,KAAAjB,EAAA,KAAAn9B,UACAq+B,MAAAlB,EAAA,KAAAl9B,WACAq+B,MAAAnB,EAAA,KAAA/8B,WACAm+B,OAAApB,EAAA,KAAAj9B,aACKrrD,IAAAsoF,EAAA,KAAAj9C,aAGL,SAAAm3F,EAAAvgC,GACA,cAAAA,EAOA,SAAA11C,EAAAp+C,EAAAnO,EAAA8a,EAAAowB,GAoDA,OA/CArrC,KAAAsO,OAWAtO,KAAAG,OAKAH,KAAAib,OAsBAjb,KAAAqrC,YAAA,GAMArrC,KAAAiE,MAAA,KAGAgX,GACA,OACAjb,KAAAyF,IAAA,SAAAkY,GACA,OAAA3d,KAAAiE,MAAA0Z,IAEA3d,KAAAozB,IAAA,SAAAzV,EAAA1Z,GACAjE,KAAAiE,MAAA0Z,GAAA1Z,GAGAjE,KAAAoZ,KAAA,SAAA/C,EAAA4jB,GACAj6B,KAAAiE,MAAAoS,GAAArW,KAAAiE,MAAAoS,IAEA,MACA,OACArW,KAAAyF,IAAA,SAAAkY,EAAA0hB,GACA,IAAA5B,EAAAz9B,KAAAiE,MAGA,OAFAo7B,EAAA,GAAA5B,EAAA,EAAA9f,GACA0hB,EAAA,GAAA5B,EAAA,EAAA9f,EAAA,GACA0hB,GAEAr/B,KAAAozB,IAAA,SAAAzV,EAAA1U,GACA,IAAAw0B,EAAAz9B,KAAAiE,MACAw5B,EAAA,EAAA9f,GAAA1U,EAAA,GACAw0B,EAAA,EAAA9f,EAAA,GAAA1U,EAAA,IAEAjJ,KAAAoZ,KAAA,SAAA/C,EAAA4jB,GACA,IAAAwD,EAAAz9B,KAAAiE,MACAg2B,GAAA,EACA5jB,GAAA,EACAonB,EAAApnB,GAAAonB,EAAAxD,GACAwD,EAAApnB,EAAA,GAAAonB,EAAAxD,EAAA,IAEA,MACA,OACAj6B,KAAAyF,IAAA,SAAAkY,EAAA0hB,GACA,IAAAmrC,EAAA,EAAA7sD,EACA8f,EAAAz9B,KAAAiE,MAIA,OAHAo7B,EAAA,GAAA5B,EAAA+sC,GACAnrC,EAAA,GAAA5B,EAAA+sC,EAAA,GACAnrC,EAAA,GAAA5B,EAAA+sC,EAAA,GACAnrC,GAEAr/B,KAAAozB,IAAA,SAAAzV,EAAA1U,GACA,IAAAuhE,EAAA,EAAA7sD,EACA8f,EAAAz9B,KAAAiE,MACAw5B,EAAA+sC,GAAAvhE,EAAA,GACAw0B,EAAA+sC,EAAA,GAAAvhE,EAAA,GACAw0B,EAAA+sC,EAAA,GAAAvhE,EAAA,IAEAjJ,KAAAoZ,KAAA,SAAA/C,EAAA4jB,GACA,IAAAwD,EAAAz9B,KAAAiE,MACAg2B,GAAA,EACA5jB,GAAA,EACAonB,EAAApnB,GAAAonB,EAAAxD,GACAwD,EAAApnB,EAAA,GAAAonB,EAAAxD,EAAA,GACAwD,EAAApnB,EAAA,GAAAonB,EAAAxD,EAAA,IAEA,MACA,OACAj6B,KAAAyF,IAAA,SAAAkY,EAAA0hB,GACA,IAAA5B,EAAAz9B,KAAAiE,MACA2+H,EAAA,EAAAjlH,EAKA,OAJA0hB,EAAA,GAAA5B,EAAAmlG,GACAvjG,EAAA,GAAA5B,EAAAmlG,EAAA,GACAvjG,EAAA,GAAA5B,EAAAmlG,EAAA,GACAvjG,EAAA,GAAA5B,EAAAmlG,EAAA,GACAvjG,GAEAr/B,KAAAozB,IAAA,SAAAzV,EAAA1U,GACA,IAAAw0B,EAAAz9B,KAAAiE,MACA2+H,EAAA,EAAAjlH,EACA8f,EAAAmlG,GAAA35H,EAAA,GACAw0B,EAAAmlG,EAAA,GAAA35H,EAAA,GACAw0B,EAAAmlG,EAAA,GAAA35H,EAAA,GACAw0B,EAAAmlG,EAAA,GAAA35H,EAAA,IAEAjJ,KAAAoZ,KAAA,SAAA/C,EAAA4jB,GACA,IAAAwD,EAAAz9B,KAAAiE,MACAg2B,GAAA,EACA5jB,GAAA,EAEAonB,EAAApnB,GAAAonB,EAAAxD,GACAwD,EAAApnB,EAAA,GAAAonB,EAAAxD,EAAA,GACAwD,EAAApnB,EAAA,GAAAonB,EAAAxD,EAAA,GACAwD,EAAApnB,EAAA,GAAAonB,EAAAxD,EAAA,KA4EA,SAAAy3B,EAAApjD,EAAAnO,EAAAqJ,EAAAyR,EAAAowB,GACArrC,KAAAsO,OACAtO,KAAAG,OACAH,KAAAwJ,SACAxJ,KAAAib,OACAjb,KAAAqrC,WAIArrC,KAAAyqB,OAAA,GAGAzqB,KAAA6iI,aAAA,EAGA,SAAAlxE,EAAAnoD,GACAxJ,KAAAwJ,SACAxJ,KAAA2Z,MAAA,EAhEA+yC,EAAAzsD,UAAAijB,KAAA,SAAAorC,GACA,IAAAtuD,KAAAiE,OAAAjE,KAAAiE,MAAAV,QAAA+qD,EAAAtuD,KAAAib,KAAA,CACA,IAAA6nH,EAAAJ,EAAA1iI,KAAAG,MACAH,KAAAiE,MAAA,IAAA6+H,EAAAx0E,EAAAtuD,KAAAib,QAeAyxC,EAAAzsD,UAAAs6E,UAAA,SAAAn9C,GACA,IACAn5B,EADA6+H,EAAAJ,EAAA1iI,KAAAG,MAGA,GAAAi9B,EAAA,IAAAA,EAAA,WACA,IAAAvP,EAAA,EACA5S,EAAAjb,KAAAib,KACAhX,EAAA,IAAA6+H,EAAA1lG,EAAA75B,OAAA0X,GACA,QAAAlQ,EAAA,EAAuBA,EAAAqyB,EAAA75B,OAAkBwH,IACzC,QAAA2F,EAAA,EAA2BA,EAAAuK,EAAUvK,IACrCzM,EAAA4pB,KAAAuP,EAAAryB,GAAA2F,QAKAzM,EAAA,IAAA6+H,EAAA1lG,GAEAp9B,KAAAiE,SAGAyoD,EAAAzsD,UAAAsV,MAAA,SAAAwtH,GACA,IAAA59D,EAAA,IAAAzY,EAAA1sD,KAAAsO,KAAAtO,KAAAG,KAAAH,KAAAib,KAAAjb,KAAAqrC,UAKA,OAHA03F,GACA3qG,QAAAyH,KAAA,QAEAslC,GA4BA,IAAA69D,EAAA/hG,EAAA,KAAAv8B,OAAA,WACA,OAKA03B,WAAA,GAMAqxB,QAAA,KAOA1rB,SAAA,EAEAkhG,mBAAA,KAIAhhG,OAAA,IAEC,WAEDjiC,KAAAkiC,OAAA,IAAAf,EAAA,KAEAnhC,KAAAkjI,eAAAn6H,OAAAitB,KAAAh2B,KAAAo8B,YAEAp8B,KAAAsxD,WAAA,IAGA,CAKAnE,cAAA,GAUAm/D,KAAA,KAUAoV,UAAA,KAMA/8G,MAAA,WAEA,IADA,IAAAw+G,EAAAnjI,KAAAuwD,uBACAxlD,EAAA,EAAuBA,EAAAo4H,EAAA5/H,OAA8BwH,IACrD/K,KAAA0tG,eAAAy1B,EAAAp4H,IAEA/K,KAAAynG,eACAznG,KAAAijI,mBAAA,KAEAjjI,KAAAkiC,OAAAvd,MAAA,QAKA8iF,aAAA,WACAznG,KAAAkiC,OAAAU,SAAA,YAMA8qE,eAAA,SAAAtL,GACApiG,KAAAkiC,OAAAU,SAAA+/F,EAAAvgC,IACApiG,KAAAkiC,OAAAU,SAAA,eAQAwgG,mBAAA,SAAAzlH,EAAA0hB,GACA,GAAA1hB,EAAA3d,KAAAgnE,eAAArpD,GAAA,GACA0hB,IACAA,EAAA,IAEA,IAAAouB,EAAAztD,KAAAytD,QAIA,OAHApuB,EAAA,GAAAouB,EAAA,EAAA9vC,GACA0hB,EAAA,GAAAouB,EAAA,EAAA9vC,EAAA,GACA0hB,EAAA,GAAAouB,EAAA,EAAA9vC,EAAA,GACA0hB,IASAgkG,mBAAA,SAAA1lH,EAAA8f,GACA,IAAAgwB,EAAAztD,KAAAytD,QACAA,EAAA,EAAA9vC,GAAA8f,EAAA,GACAgwB,EAAA,EAAA9vC,EAAA,GAAA8f,EAAA,GACAgwB,EAAA,EAAA9vC,EAAA,GAAA8f,EAAA,IAGA4yB,aAAA,WACA,QAAArwD,KAAAytD,SAOA+sB,qBAAA,SAAAp9C,GACA,IAAAn5B,EACA6+H,EAAA9iI,KAAAk8B,YAAA,MACAusD,EAAA,KAAAh9B,YAAAg9B,EAAA,KAAAj9B,YAEA,GAAApuB,EAAA,IAAAA,EAAA,WACA,IAAAvP,EAAA,EACA5S,EAAA,EAEAhX,EAAA,IAAA6+H,EAAA1lG,EAAA75B,OAAA0X,GACA,QAAAlQ,EAAA,EAA2BA,EAAAqyB,EAAA75B,OAAkBwH,IAC7C,QAAA2F,EAAA,EAA+BA,EAAAuK,EAAUvK,IACzCzM,EAAA4pB,KAAAuP,EAAAryB,GAAA2F,QAKAzM,EAAA,IAAA6+H,EAAA1lG,GAGAp9B,KAAAytD,QAAAxpD,GASAm+H,gBAAA,SAAA9zH,EAAAnO,EAAA8a,EAAAowB,GACA,IAAAi4F,EAAA,IAAA52E,EAAAp+C,EAAAnO,EAAA8a,EAAAowB,GAMA,OALArrC,KAAAo8B,WAAA9tB,IACAtO,KAAAujI,gBAAAj1H,GAEAtO,KAAAo8B,WAAA9tB,GAAAg1H,EACAtjI,KAAAkjI,eAAAvwH,KAAArE,GACAg1H,GAMAC,gBAAA,SAAAj1H,GACA,IAAAk1H,EAAAxjI,KAAAkjI,eACAvlH,EAAA6lH,EAAAp4F,QAAA98B,GACA,OAAAqP,GAAA,IACA6lH,EAAAnyD,OAAA1zD,EAAA,UACA3d,KAAAo8B,WAAA9tB,IACA,IAUAm1H,aAAA,SAAAn1H,GACA,OAAAtO,KAAAo8B,WAAA9tB,IAQAiiD,qBAAA,WACA,IAAA4yE,EAAAnjI,KAAAijI,mBACAO,EAAAxjI,KAAAkjI,eAEA,GAAAC,EACA,OAAAA,EAMA,IAHA,IAAAz/H,EAAA,GACA4qD,EAAAtuD,KAAAk8B,YAEAnxB,EAAA,EAAuBA,EAAAy4H,EAAAjgI,OAA0BwH,IAAA,CACjD,IAAAuD,EAAAk1H,EAAAz4H,GACAu4H,EAAAtjI,KAAAo8B,WAAA9tB,GACAg1H,EAAAr/H,OACAq/H,EAAAr/H,MAAAV,SAAA+qD,EAAAg1E,EAAAroH,MACAvX,EAAAiP,KAAArE,GAOA,OAFAtO,KAAAijI,mBAAAv/H,EAEAA,GAGA8tF,gBAAA,SAAAp6D,GACA,IAAAiL,EAAAriC,KAAAkiC,OACAG,EAAAC,IAAAlL,EAAAT,SACA,IAAA+sG,EAAArhG,EAAAI,QAAA,cACAkhG,EAAAthG,EAAAI,QAAA,WACA,GAAAihG,GAAAC,EAAA,CACA3jI,KAAA4jI,cAAAxsG,EAAAwB,GAAA8qG,EAAAC,GAEA,IADA,IAAAR,EAAAnjI,KAAAuwD,uBACAxlD,EAAA,EAA2BA,EAAAo4H,EAAA5/H,OAA8BwH,IACzDs3B,EAAAK,MAAAigG,EAAAQ,EAAAp4H,KAEAs3B,EAAAK,MAAA,cACAL,EAAAK,MAAA,WAGA,OADAL,EAAAK,MAAA,OACAL,EAAA58B,IAAA,WAGAm+H,cAAA,SAAAxhG,EAAAshG,EAAAC,GACA,IAAAthG,EAAAriC,KAAAkiC,OACA8uB,EAAA3uB,EAAA58B,IAAA,UACAo+H,GAAA,EACA7yE,IACAA,EAAA,GAEAA,EAAA,IACAE,iBAAA,GACAG,cAAA,MAEAhvB,EAAAn1B,IAAA,SAAA8jD,GACA6yE,GAAA,GAGA,IAAA5yE,EAAAD,EAAA,GACAE,EAAAD,EAAAC,iBACAG,EAAAJ,EAAAI,cAEA,GAAAqyE,GAAAG,EAAA,CACA,IAAAL,EAAAxjI,KAAAuwD,uBAEAuzE,EAAA,GACA,IAAAD,EACA,QAAA94H,EAAA,EAA+BA,EAAAmmD,EAAA3tD,OAA6BwH,IAC5D+4H,EAAA5yE,EAAAnmD,GAAAuD,MAAA4iD,EAAAnmD,GAIA,QAAA2V,EAAA,EAA2BA,EAAA8iH,EAAAjgI,OAA0Bmd,IAAA,CACrD,IAGAqjH,EAKAv6H,EARA8E,EAAAk1H,EAAA9iH,GACAsjH,EAAAhkI,KAAAo8B,WAAA9tB,GAIAu1H,IACAE,EAAAD,EAAAx1H,IAIA9E,EADAu6H,EACAA,EAAAv6H,OAGA44B,EAAA6hG,eAEA5hG,EAAAI,QAAAkgG,EAAAr0H,MAGA8zB,EAAA2vD,WAAA3vD,EAAA4U,aAAAxtC,GACA44B,EAAA8hG,WAAA9hG,EAAA4U,aAAAgtF,EAAA//H,MAAAjE,KAAA+hC,QAAAb,EAAA,KAAAoW,aAAApW,EAAA,KAAAmW,cAGA6Z,EAAAxwC,GAAA,IAAAgxC,EAAApjD,EAAA01H,EAAA7jI,KAAAqJ,EAAAw6H,EAAA/oH,KAAA+oH,EAAA34F,UAIA,IAAAtgC,EAAA2V,EAA2B3V,EAAAmmD,EAAA3tD,OAA6BwH,IACxDq3B,EAAAgvB,aAAAF,EAAAnmD,GAAAvB,QAEA0nD,EAAA3tD,OAAAmd,EAIA1gB,KAAAqwD,iBAAAszE,GAAAE,KACAxyE,IACAA,EAAA,IAAAM,EAAAvvB,EAAA6hG,gBACAhzE,EAAAI,iBAEAA,EAAA13C,MAAA3Z,KAAAytD,QAAAlqD,OACA6+B,EAAA2vD,WAAA3vD,EAAA6U,qBAAAoa,EAAA7nD,QACA44B,EAAA8hG,WAAA9hG,EAAA6U,qBAAAj3C,KAAAytD,QAAAztD,KAAA+hC,QAAAb,EAAA,KAAAoW,aAAApW,EAAA,KAAAmW,eAQAvhC,QAAA,SAAAshB,GAEA,IAAAiL,EAAAriC,KAAAkiC,OAEAG,EAAAC,IAAAlL,EAAAT,SACA,IAAAq6B,EAAA3uB,EAAA58B,IAAA,UACA,GAAAurD,EACA,QAAAvoD,EAAA,EAA2BA,EAAAuoD,EAAAztD,OAAmBkF,IAAA,CAG9C,IAFA,IAAAwoD,EAAAD,EAAAvoD,GAEAiY,EAAA,EAA+BA,EAAAuwC,EAAAC,iBAAA3tD,OAAmCmd,IAAA,CAClE,IAAAywC,EAAAF,EAAAC,iBAAAxwC,GACA0W,EAAAwB,GAAAw4B,aAAAD,EAAA3nD,QAGAynD,EAAAI,eACAj6B,EAAAwB,GAAAw4B,aAAAH,EAAAI,cAAA7nD,QAIA,GAAAxJ,KAAAsxD,WAAA,CACA,IAAAC,EAAAn6B,EAAAgM,eAAA,2BACA,QAAAnX,KAAAjsB,KAAAsxD,WAAA,CACA,IAAAE,EAAAxxD,KAAAsxD,WAAArlC,GAAAulC,IACAA,GACAD,EAAAE,qBAAAD,IAIAxxD,KAAAsxD,WAAA,GACAjvB,EAAA+B,cAAAhN,EAAAT,YAKA5tB,OAAA2kB,iBAMA3kB,OAAA2kB,eAAAs1G,EAAA/iI,UAAA,eAEA2tB,YAAA,EAEAnoB,IAAA,WAEA,IAAA0nD,EAAAntD,KAAAo8B,WAAAp8B,KAAAmtD,eAMA,OAJAA,IACAA,EAAAntD,KAAAo8B,WAAAp8B,KAAAkjI,eAAA,KAGA/1E,KAAAlpD,MAGAkpD,EAAAlpD,MAAAV,OAAA4pD,EAAAlyC,KAFA,KAUAlS,OAAA2kB,eAAAs1G,EAAA/iI,UAAA,iBAEA2tB,YAAA,EAEAnoB,IAAA,WACA,IAAAgoD,EAAAztD,KAAAytD,QACA,OAAAA,EAIAA,EAAAlqD,OAAA,EAHA,MASAy/H,EAAA3rF,YAAAnW,EAAA,KAAAmW,YACA2rF,EAAA1rF,aAAApW,EAAA,KAAAoW,aACA0rF,EAAA5rF,YAAAlW,EAAA,KAAAkW,YAEA4rF,EAAAtxE,kBACAsxE,EAAArxE,gBAEAqxE,EAAAt2E,YAEAx+B,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAslI,EAAAtlI,EAAA,KAGAulI,EAAA,gBACAC,EAAA,iBACAC,EAAA,uBACAC,EAAA,OACAC,EAAA,mBACAt2G,EAAA,MACAo2G,EAAA,oBACAF,EAAA,qDAAAI,EACAJ,EAAA,iDAAAI,EACAD,EAEAD,EAAA,gBACAF,EAAA,yCAAAI,EACAD,EAEAD,EAAA,mBACAF,EAAA,8CAAAI,EACAJ,EAAA,yDAAAI,EACAL,EAAA,KACAI,EAEAD,EAAA,wBACAF,EAAA,wDAAAI,EACA,8EAAAA,EACA,+EAAAA,EACAD,EAEAD,EAAA,cACAF,EAAA,wCAAAI,EACAH,EAAA,qCAAAG,EACAJ,EAAA,qCAAAI,EACAD,EAEAD,EAAA,aACAF,EAAA,sCAAAI,EACAJ,EAAA,uCAAAI,EACAH,EAAA,mCAAAG,EACAH,EAAA,8CAAAG,EACAH,EAAA,iDAAAG,EACAH,EAAA,2CAAAG,EACAJ,EAAA,mCAAAI,EACAD,GACAv0H,KAAA,OAKA,SAAAtN,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,gfAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,w6CAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA4mC,EAAA5mC,EAAA,GACA4lI,EAAA5lI,EAAA,GAQA6lI,GAPA7lI,EAAA,IAOA,WAOA8lI,EAAA,OAQAC,EAAA,IAWAC,EAAA,EAKA,SAAAC,EAAA7gI,GACA,OAAAA,EAAA+M,WAAA,IACA/M,EAAA+M,WAAA,QACA/M,EAAA+M,WAAA,SACA/M,EAAA+M,WAAA,QAYA,IAAA+zH,EAAA,GAEAC,EAAAF,EAAA,QACAG,EAAAH,EAAA,QACAI,EAAAJ,EAAA,QAEAK,EAAA,EAEAC,EAAA,EACAC,EAAA,EACAC,EAAA,EACAC,EAAA,EAEAC,EAAA,EAEAC,EAAA,GACAC,EAAA,GAGAC,EAAA,GAIAxgE,EAAA,CACA/rC,MAAA,SAAAwsG,EAAAvmG,GACA,IAAAwmG,EAAA,IAAAC,WAAAF,EAAA,EAAAb,GACA,GAAAc,EAAAV,KAAAT,EACA,YAEA,IAAAmB,EAAAJ,GAAAZ,EACA,YAGA,IAKAkB,EAAAC,EALAC,EAAAJ,EAAAH,GACApjI,EAAAujI,EAAAN,GACAhjI,EAAAsjI,EAAAP,GACAY,EAAAL,EAAAF,GAAAf,EACAuB,EAAAN,EAAAR,GAAAV,EAEA,OAAAsB,GACA,KAAAjB,EACAe,EAAA,EACAC,EAAAvgG,EAAA,KAAAL,6BACA,MACA,KAAA6/F,EACAc,EAAA,GACAC,EAAAvgG,EAAA,KAAAH,8BACA,MACA,KAAA4/F,EACAa,EAAA,GACAC,EAAAvgG,EAAA,KAAAF,8BACA,MACA,QACA,YAEA,IAAA6gG,EAAAP,EAAAT,GAAA,EAEA10B,EAAAw1B,EAAA,IACAG,EAAA,EACAF,IACAE,EAAA3/H,KAAAS,IAAA,EAAA0+H,EAAAL,KAIA,IADA,IAAAz5F,EAAA,GACAnoC,EAAA,EAAuBA,EAAA8sG,EAAgB9sG,IAAA,CACvC,IAAA0gC,EAAAhiC,EACAiiC,EAAAhiC,EACAwpC,EAAAnoC,GAAA,IAAA6gI,EAAA,MACAniI,MAAAgiC,EACA/hC,OAAAgiC,EACAlD,OAAA2kG,IAGA,IADA,IAAAngG,EAAA,GACA96B,EAAA,EAA2BA,EAAAs7H,EAAiBt7H,IAAA,CAC5C,IAAAu7H,EAAA5/H,KAAAS,IAAA,EAAAm9B,GAAA,EAAA59B,KAAAS,IAAA,EAAAo9B,GAAA,EAAAwhG,EACAQ,EAAA,IAAAh7E,WAAAq6E,EAAAQ,EAAAE,GAEAF,GAAAE,EACAhiG,GAAA,GACAC,GAAA,GACAsB,EAAA96B,GAAAw7H,EAEAx6F,EAAAnoC,GAAAgiC,OAAAC,EAAA,GACAsgG,IACAp6F,EAAAnoC,GAAAiiC,WAKA,IAAAxG,EAQA,OAAA0M,EAAA,GAPA1M,EAAA/8B,MAAAypC,EAAA,GAAAzpC,MACA+8B,EAAA98B,OAAAwpC,EAAA,GAAAxpC,OACA88B,EAAAgC,OAAA0K,EAAA,GAAA1K,OACAhC,EAAAuG,OAAAmG,EAAA,GAAAnG,OACAvG,EAAAwG,QAAAkG,EAAA,GAAAlG,UAQA3X,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA4mC,EAAA5mC,EAAA,GACA4lI,EAAA5lI,EAAA,GAGA2nI,EAAAC,OAAAC,aAEAC,EAAA,EACAC,EAAA,MACA,SAAAC,EAAAC,EAAAt9H,EAAAu8C,EAAAjvB,GACA,GAAAgwG,EAAA,MACA,IAAAljI,EAAA8C,KAAA2uB,IAAA,EAAAyxG,EAAA,SAAAhwG,GACAttB,EAAAu8C,EAAA,GAAA+gF,EAAA,GAAAljI,EACA4F,EAAAu8C,EAAA,GAAA+gF,EAAA,GAAAljI,EACA4F,EAAAu8C,EAAA,GAAA+gF,EAAA,GAAAljI,OAGA4F,EAAAu8C,EAAA,KACAv8C,EAAAu8C,EAAA,KACAv8C,EAAAu8C,EAAA,KAGA,OADAv8C,EAAAu8C,EAAA,KACAv8C,EAGA,SAAAu9H,EAAA3pG,EAAA2oB,EAAA9qC,GAEA,IADA,IAAA3Q,EAAA,GACAS,EAAAg7C,EAAwBh7C,EAAAkQ,EAAUlQ,IAClCT,GAAAk8H,EAAAppG,EAAAryB,IAEA,OAAAT,EAGA,SAAA08H,EAAA/4G,EAAA7R,GACAA,EAAA,GAAA6R,EAAA,GACA7R,EAAA,GAAA6R,EAAA,GACA7R,EAAA,GAAA6R,EAAA,GACA7R,EAAA,GAAA6R,EAAA,GAIA,SAAAg5G,EAAAC,EAAA19H,EAAAu8C,EAAAohF,GACA,IAAAC,EAAA,EAAAplI,EAAA,EAAAyK,EAAA06H,EACA,MAAA16H,EAAA,EAKA,GAJAy6H,EAAAllI,GAAA,GAAAwH,EAAAu8C,KACAmhF,EAAAllI,GAAA,GAAAwH,EAAAu8C,KACAmhF,EAAAllI,GAAA,GAAAwH,EAAAu8C,KACAmhF,EAAAllI,GAAA,GAAAwH,EAAAu8C,KACA,IAAAmhF,EAAAllI,GAAA,QAAAklI,EAAAllI,GAAA,QAAAklI,EAAAllI,GAAA,IAEA,QAAA+I,EAAAm8H,EAAAllI,GAAA,IAAAolI,IAAA,EAAsDr8H,EAAA,EAAOA,IAC7Di8H,EAAAE,EAAAllI,EAAA,GAAAklI,EAAAllI,IACAA,IACAyK,IAEA26H,GAAA,OAEAplI,IACAyK,IACA26H,EAAA,EAGA,OAAArhF,EAGA,SAAAshF,EAAAH,EAAA19H,EAAAu8C,EAAAohF,GACA,GAAAA,EAAAR,EAAAQ,EAAAP,EACA,OAAAK,EAAAC,EAAA19H,EAAAu8C,EAAAohF,GAEA,IAAAp8H,EAAAvB,EAAAu8C,KACA,MAAAh7C,EACA,OAAAk8H,EAAAC,EAAA19H,EAAAu8C,EAAA,EAAAohF,GAMA,GAJAD,EAAA,MAAA19H,EAAAu8C,KACAmhF,EAAA,MAAA19H,EAAAu8C,KAEAh7C,EAAAvB,EAAAu8C,MACAmhF,EAAA,aAAAn8H,KAAA,IAAAo8H,EACA,YAEA,IAAAp8H,EAAA,EAAmBA,EAAA,EAAOA,IAC1B,QAAA/I,EAAA,EAAuBA,EAAAmlI,GAAU,CACjC,IAAAj9F,EAAA1gC,EAAAu8C,KACA,GAAA7b,EAAA,KACAA,GAAA,IAAAA,KAAA,EACA,IAAAjhC,EAAAO,EAAAu8C,KACA,MAAA7b,IACAg9F,EAAAllI,KAAA+I,GAAA9B,OAGA,MAAAihC,IACAg9F,EAAAllI,KAAA+I,GAAAvB,EAAAu8C,KAKA,OAAAA,EAIA,IAAAof,EAAA,CAIAi3B,UAAA,SAAAwpC,EAAAhzG,EAAAkE,GACA,MAAAA,IACAA,EAAA,GAEA,IAAAvrB,EAAA,IAAAggD,WAAAq6E,GACA3qH,EAAA1P,EAAAhI,OACA,UAAAwjI,EAAAx7H,EAAA,MAIA,QAAAR,EAAA,EAAuBA,EAAAkQ,EAAUlQ,IACjC,UAAAy7H,EAAAj7H,EAAAR,KAAA,OAAAy7H,EAAAj7H,EAAAR,EAAA,IACA,MAGA,KAAAA,GAAAkQ,GAAA,CAIAlQ,GAAA,EAEA,IADA,IAAAT,EAAA,GACcS,EAAAkQ,EAAUlQ,IAAA,CACxB,IAAAu8H,EAAAd,EAAAj7H,EAAAR,IACA,UAAAu8H,EACA,MAEAh9H,GAAAg9H,EAGA,IAAAn3E,EAAA7lD,EAAAmE,MAAA,KACAlM,EAAA4Q,SAAAg9C,EAAA,IACA7tD,EAAA6Q,SAAAg9C,EAAA,IACA,GAAA7tD,GAAAC,EAAA,CAQA,IAHA,IAAAwjD,EAAAh7C,EAAA,EACAw8H,EAAA,GAEAvlI,EAAA,EAAuBA,EAAAM,EAAWN,IAAA,CAClCulI,EAAAvlI,GAAA,GACA,QAAA0O,EAAA,EAA2BA,EAAA,EAAOA,IAClC62H,EAAAvlI,GAAA0O,GAAA,EAKA,IAFA,IAAAk1B,EAAA,IAAA4F,aAAAlpC,EAAAC,EAAA,GACAilI,EAAA,EACAvlI,EAAA,EAAuBA,EAAAM,EAAYN,IAAA,CACnC8jD,EAAAshF,EAAAE,EAAAh8H,EAAAw6C,EAAAzjD,GACA,IAAAyjD,EACA,YAEA,IAAA/jD,EAAA,EAA2BA,EAAAM,EAAWN,IACtC6kI,EAAAU,EAAAvlI,GAAA4jC,EAAA4hG,EAAA1wG,GACA0wG,GAAA,EAYA,OARA50G,IACAA,EAAA,IAAA6xG,EAAA,MAEA7xG,EAAAtwB,QACAswB,EAAArwB,SACAqwB,EAAAgT,SAEAhT,EAAAzyB,KAAAslC,EAAA,KAAAZ,MACAjS,MAGA60G,iBAAA,SAAAC,MAKAx5G,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA8oI,EAAA9oI,EAAA,GACA+oI,EAAA/oI,EAAA,GACAgpI,EAAAhpI,EAAA,IAaAipI,EAAA,4FAEA,SAAAC,EAAAxvH,GACA,YAAAA,EAOA,IAAAyvH,EAAA,SAAAtgB,GACA,IAAAhgF,EAAA1nC,KACAA,KAAAs0G,SAAA,IAAAqzB,EAAA,MACAzsG,YAAA,GACApD,OAAA,EAEAvB,QAAAv2B,KAEA8V,QAAA,SAAAshB,GACAsQ,EAAA5xB,UACA6xH,EAAA,KAAA1nI,UAAA6V,QAAA/V,KAAAC,KAAAo3B,MAIA0wG,EAAAj9H,QAAA,SAAA0N,GACAvY,KAAA+nI,EAAAxvH,IAAA,SAAA0vH,GACAA,EAAA3kC,UAGAtjG,KAAAkoI,QAAAr9H,QAAA,SAAAunD,GACApyD,KAAAmoI,cAAA5vH,EAAA65C,EAAA61E,EAAA3kC,SAAA2kC,EAAAp+D,QACa7pE,QAERA,MAELA,KAAAkoI,QAAA,GAEAxgB,GACA1nH,KAAAw2B,WAAAkxF,GAIA1nH,KAAAy2B,SAAA,MAGAuxG,EAAA/nI,UAAA,CAEAC,YAAA8nI,EAEAtxG,WAAA,WACA,OAAA12B,KAAAs0G,UAGA99E,WAAA,SAAAkxF,GACA1nH,KAAAooI,OAAA1gB,EAEA,IAAA9xF,EAAA8xF,EAAA2gB,SACA,GAAAzyG,aAAAtE,kBAKA,CACA,IAAAoW,EAAA1nC,KAEAmU,EAAAuzG,EAAAh2F,QACA8iF,EAAArgG,EAAAm0H,yBAAAn0H,EAAA81F,mBACA91F,EAAA81F,mBAAA,WACAuK,EAAAz0G,KAAAC,MACA0nC,EAAA4sE,SAAA3vF,QAEA+iB,EAAAjR,UAAAiR,EAAAjR,YAEAtiB,EAAAm0H,wBAAA9zB,OAfAp8E,QAAA+B,MAAA,yDAEAvE,EAAAhrB,SAAAirB,cAAA,UAgBA71B,KAAAs0G,SAAAxhG,MAAA8iB,EACA51B,KAAAs0G,SAAA3vF,QACA3kB,KAAAy2B,UAAAz2B,KAAAy2B,YASA0xG,cAAA,WAEA,IAAA9rH,EAAA,IAAAurH,EAAA,KACAtrH,EAAA,IAAAsrH,EAAA,KACArrH,EAAA,IAAAqrH,EAAA,KACAW,EAAA,IAAAV,EAAA,KACAW,EAAA,IAAAX,EAAA,KACAY,EAAA,IAAAZ,EAAA,KACA1iC,EAAA,IAAA0iC,EAAA,KAEA1xC,EAAA,IAAAyxC,EAAA,KAEA,gBAAArvH,EAAAmwH,EAAAplC,EAAAz5B,GACA,IAAAm8B,EAAA0iC,EAAAzsG,SACA31B,EAAA0/F,EAAA5pE,WAAA91B,SACAqiI,EAAA3iC,EAAA5pE,WAAAuwB,UACA7uB,EAAA8pG,EAAA,KAAA9pG,IACAJ,EAAAkqG,EAAA,KAAAlqG,MAEAp3B,EAAAb,IAAA69F,EAAA,GAAAjnF,EAAA+gB,OACA92B,EAAAb,IAAA69F,EAAA,GAAAhnF,EAAA8gB,OACA92B,EAAAb,IAAA69F,EAAA,GAAA/mF,EAAA6gB,OACAurG,EAAAljI,IAAA69F,EAAA,GAAAilC,EAAAnrG,OACAurG,EAAAljI,IAAA69F,EAAA,GAAAklC,EAAAprG,OACAurG,EAAAljI,IAAA69F,EAAA,GAAAmlC,EAAArrG,OAEAM,EAAAy4D,EAAA75E,EAAAC,GACA,IAAA40B,EAAArT,EAAAzhB,EAAA85E,GACA/5E,EAAA0hB,EAAA+rC,EAAAssB,GAAAhlD,EACAzT,EAAAy4D,EAAA55E,EAAAF,GACA,IAAA00E,EAAAjzD,EAAA+rC,EAAAssB,GAAAhlD,EACAzT,EAAAy4D,EAAA95E,EAAAC,GACA,IAAAa,EAAA2gB,EAAA+rC,EAAAssB,GAAAhlD,EAEA02F,EAAA,KAAA9vH,MAAAotF,EAAAojC,EAAAnsH,GACAyrH,EAAA,KAAAvpH,YAAA6mF,IAAAqjC,EAAAz3C,GACA82C,EAAA,KAAAvpH,YAAA6mF,IAAAsjC,EAAAtrH,GAEA,IAAAnb,EAAAmjG,EAAAnjG,EAAAhC,KAAAooI,OAAA75H,WACAtM,EAAAkjG,EAAAljG,EAAAjC,KAAAooI,OAAA9pE,YACAt+D,KAAAooI,OAAA12G,QAAAoiE,QAAA80C,SAAArwH,EAAA,CACAswH,IAAA7mI,EACA8mI,IAAA7mI,KA1CA,GA+CA8mI,aAAA,SAAA32E,GACApyD,KAAAkoI,QAAA98F,QAAAgnB,IAAA,IAIA01E,EAAAj9H,QAAA,SAAA0N,GACA65C,EAAAx8C,GAAA2C,EAAAvY,KAAA+nI,EAAAxvH,IAAAvY,OACSA,MAETA,KAAAkoI,QAAAv1H,KAAAy/C,KAGA42E,eAAA,SAAA52E,GACA,IAAAz0C,EAAA3d,KAAAkoI,QAAA98F,QAAAgnB,GACAz0C,GAAA,GACA3d,KAAAkoI,QAAA72D,OAAA1zD,EAAA,GAGAmqH,EAAAj9H,QAAA,SAAA0N,GACA65C,EAAAv8C,IAAA0C,EAAAvY,KAAA+nI,EAAAxvH,MACSvY,OAGT8V,QAAA,WACA9V,KAAAkoI,QAAAr9H,QAAA,SAAAunD,GACApyD,KAAAgpI,eAAA52E,IACSpyD,QAITkuB,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAoqI,EAAApqI,EAAA,IACAqqI,EAAArqI,EAAA,IAWAsqI,EAAAF,EAAA,KAAAvkI,OAAA,CAMAmzB,QAAA,KAKA2tC,YAAA,EAEA4jE,oBAAA,KACAC,YAAA,MAEC,CAEDlpI,KAAA,wBAOA+3B,UAAA,SAAAd,EAAAnc,GACA,GAAAmc,EAAAgM,eAAA,2BAIApjC,KAAAqpI,cACArpI,KAAAopI,oBAAAF,EAAA,KAAAp3B,6BACA9xG,KAAAqpI,YAAAH,EAAA,KAAAn3B,cAAA36E,EAAAp3B,KAAAopI,sBAEA,IAAAvxG,EAAA73B,KAAA63B,QACA,IAAAA,EAAAyxG,cAAA,CAIA,IAAA5lI,EAAAwlI,EAAA,KAAAv3B,wBACAv6E,EAAAS,EAAA,CACA8kE,YAAA,EACAr6F,MAAA2Y,EACA1Y,OAAA0Y,GACajb,KAAAopI,oBAAAppI,KAAAqpI,aAEbrpI,KAAA63B,QAAAn0B,EAAAi2E,eACA35E,KAAA63B,QAAAyxG,eAAA,EAEAzxG,EAAA/hB,QAAAshB,SAtBAgB,QAAAyH,KAAA,yCAyBA0pG,cAAA,WACA,OAAAvpI,KAAAqpI,aAGAv9F,iBAAA,CACA09F,yBAAA,CACArpI,KAAA,KACA8D,MAAA,SAAAwlI,GACA,IAAA3iH,EAAA2iH,EAAA3iH,MACA0Q,EAAAiyG,EAAAjyG,UACA,OAAA1Q,EAAA,GAAA0Q,EAAA1Q,EAAA,GAAA0Q,EAAA1Q,EAAA,GAAA0Q,KAIAkyG,2BAAA,CACAvpI,KAAA,IACA8D,MAAA,SAAAwlI,GACA,OAAAA,EAAA5xG,UAIA8xG,8BAAA,CACAxpI,KAAA,IACA8D,MAAA,SAAAwlI,GACA,OAAAA,EAAAJ,iBAYAn7G,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,qTAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,k/CAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,0xCAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAoqI,EAAApqI,EAAA,IACAupC,EAAAvpC,EAAA,IASA+qI,EAAAX,EAAA,KAAAvkI,OAAA,CAEA8gE,YAAA,EAOA5tC,aAAA,IAEC,WACD53B,KAAA6pI,oBAAA,IAAAzhG,EAAA,KAAAoD,aAAA,KACC,CAEDrrC,KAAA,mBAEA2rC,iBAAA,CACAg+F,oBAAA,CACA3pI,KAAA,KACA8D,MAAA,SAAAwlI,GACA,IAAA3iH,EAAA2iH,EAAA3iH,MACA0Q,EAAAiyG,EAAAjyG,UACA,OAAA1Q,EAAA,GAAA0Q,EAAA1Q,EAAA,GAAA0Q,EAAA1Q,EAAA,GAAA0Q,KAIAuyG,2BAAA,CACA5pI,KAAA,KACA8D,MAAA,SAAAwlI,GAEA,IADA,IAAAO,EAAAP,EAAAI,oBACA9+H,EAAA,EAA+BA,EAAA0+H,EAAA7xG,aAAAr0B,OAAkCwH,IACjEi/H,EAAAj/H,GAAA0+H,EAAA7xG,aAAA7sB,GAEA,OAAAi/H,OAYA97G,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA4mC,EAAA5mC,EAAA,GACAorI,EAAAprI,EAAA,IACAqrI,EAAArrI,EAAA,GAEAosE,GADApsE,EAAA,IACAA,EAAA,KACAsrI,EAAAtrI,EAAA,IACAurI,EAAAvrI,EAAA,IACAwrI,EAAAxrI,EAAA,IACAuyG,EAAAvyG,EAAA,IACAyrI,EAAAzrI,EAAA,IAaA0rI,GAZA1rI,EAAA,KAYA,IAIAq/F,EAAA,gCAqCA,SAAAssC,EAAA39E,EAAAhpD,GACA,IAAA7B,EAAA6qD,EAAA,GACA5qD,EAAA4qD,EAAA,GACA1vB,EAAA0vB,EAAA,GAEA,WAAAhpD,EACA,EAEA,IAAAA,EACA7B,EAEA,IAAA6B,EACA5B,EAEA,IAAA4B,EACAs5B,EAEA,IAAAt5B,EACA7B,EAAAm7B,EAEA,IAAAt5B,EACA5B,EAAAk7B,EAEA,IAAAt5B,EACA7B,EAAAC,EAEA,IAAA4B,EACA,EAAAs5B,IAAA,EAGAn7B,IAAAC,IAIA,IAAAwoI,EAAA,CACAr/D,GAAA,gBACAC,GAAA,gBACAC,GAAA,gBACAC,GAAA,cACAC,GAAA,iBACAC,GAAA,gBAIA,SAAAi/D,EAAAtzG,EAAAuzG,EAAAroI,EAAAC,GAKA,IAJA,IAAAqoI,EAAA,IAAA3/D,EAAA,KAAAz/B,aAAA,IACAqhB,EAAAy9E,EAAA,KAAAx7F,SACA+7F,EAAAP,EAAA,KAAAx7F,SACAg8F,EAAAR,EAAA,KAAAx7F,SACAvhB,EAAA,EAAmBA,EAAA,EAAOA,IAAA,CAE1B,IADA,IAAA7pB,EAAA4mI,EAAA,KAAAx7F,SACApuB,EAAA,EAAuBA,EAAAw9E,EAAA36F,OAAoBmd,IAAA,CAO3C,IANA,IAAAklB,EAAA+kG,EAAAzsC,EAAAx9E,IAEAqqH,EAAAT,EAAA,KAAAx7F,SACA+lD,EAAA,EACA9pF,EAAA,EACAlE,EAAA4jI,EAAAvsC,EAAAx9E,IACAze,EAAA,EAA2BA,EAAAM,EAAYN,IACvC,QAAAD,EAAA,EAA+BA,EAAAM,EAAWN,IAAA,CAE1C6qD,EAAA,GAAA7qD,GAAAM,EAAA,OAEAuqD,EAAA,GAAA5qD,GAAAM,EAAA,OACAsqD,EAAA,MACAy9E,EAAA,KAAAjsH,UAAAwuC,KAEAi+E,EAAA,GAAAj+E,EAAAhmD,EAAA,IAAAA,EAAA,GACAikI,EAAA,GAAAj+E,EAAAhmD,EAAA,IAAAA,EAAA,GACAikI,EAAA,GAAAj+E,EAAAhmD,EAAA,IAAAA,EAAA,GAEAgkI,EAAA,GAAAjlG,EAAA76B,KAAA,IACA8/H,EAAA,GAAAjlG,EAAA76B,KAAA,IACA8/H,EAAA,GAAAjlG,EAAA76B,KAAA,IAEA,IAAAgN,EAAA6tB,EAAA76B,KAAA,SACA8/H,EAAA,IAAA9yH,EACA8yH,EAAA,IAAA9yH,EACA8yH,EAAA,IAAA9yH,EAEAuyH,EAAA,KAAAhsH,YAAAysH,IAAAF,EAAAL,EAAAM,EAAAv9G,IAAAs/B,EAAA,IAEAgoC,IAAAhoC,EAAA,GAGAy9E,EAAA,KAAAhsH,YAAA5a,IAAAqnI,EAAA,EAAAl2C,GAGA+1C,EAAA,EAAAr9G,GAAA7pB,EAAA,KACAknI,EAAA,EAAAr9G,EAAA,GAAA7pB,EAAA,KACAknI,EAAA,EAAAr9G,EAAA,GAAA7pB,EAAA,KAEA,OAAAknI,EAUAL,EAAAlyG,sBAAA,SAAAjB,EAAA0iD,EAAAh6E,GAOA,IAAAivE,EAHAjvE,KAAA,GACAA,EAAAw4B,IAAAx4B,EAAAw4B,KAAA,EAGA,IAAA+5E,EAAA,IAAAjB,EAAA,KACAn2F,EAAA,GACA,cAAA6+D,EAAA/zC,YACAgpC,EAAA,IAAAq7D,EAAA,MACA7sE,MAAA80C,EACA14B,eAAAG,KAIA7+D,EAAA6+D,EAAAhnE,OAAAgnE,EAAAhnE,MAAAs4D,GAAA0O,EAAAhnE,MAAAs4D,GAAA9oE,MAAAw3E,EAAAx3E,MACAysE,EAAA,IAAAo7D,EAAA,MACA5sE,MAAA80C,EACA14B,eAAAG,KAIA,IAAAx3E,EAAAoE,KAAA0gE,KAAAnsD,EAAAvU,KAAA2uB,IAAA,EAAAv1B,EAAAw4B,MACA/1B,EAAAmE,KAAA0gE,KAAAnsD,EAAAvU,KAAA2uB,IAAA,EAAAv1B,EAAAw4B,MACA0yG,EAAA,IAAAd,EAAA,MACA5nI,QACAC,WAEAqwG,EAAA,IAAAq3B,EAAA,KACAl7D,EAAAl8C,SAAA0H,OAAA,0BACAz6B,EAAAqyG,YACApjC,EAAAl8C,SAAA0H,OAAA,0BAEAw0C,EAAAl8C,SAAAO,IAAA,MAAAtzB,EAAAw4B,KAKA,IAJA,IAAAi6E,EAAA,IAAA83B,EAAA,MACAz3G,QAAAo4G,IAEAL,EAAA,GACA5/H,EAAA,EAAmBA,EAAAmzF,EAAA36F,OAAoBwH,IAAA,CACvC4/H,EAAAzsC,EAAAnzF,IAAA,IAAAwgD,WAAAjpD,EAAAC,EAAA,GACA,IAAA+vD,EAAAigD,EAAAxzB,UAAAmf,EAAAnzF,IACAunD,EAAA2mB,IAAA,GACA25B,EAAAz+D,OAAA62F,GACAp4B,EAAAhqG,KAAAwuB,GACAA,EAAA87B,OAAAm/C,EAAA//C,GACAl7B,EAAAwB,GAAA85E,WACA,IAAApwG,EAAAC,EACAkjC,EAAA,KAAAnE,KAAAmE,EAAA,KAAArE,cAAAupG,EAAAzsC,EAAAnzF,KAEA6nG,EAAAjwE,OAAAvL,GAOA,OAJA23C,EAAAj5D,QAAAshB,GACAw7E,EAAA98F,QAAAshB,GACA4zG,EAAAl1H,QAAAshB,GAEAszG,EAAAtzG,EAAAuzG,EAAAroI,EAAAC,IAGA2rB,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,iwDAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAo7E,EAAAp7E,EAAA,IACAq7E,EAAAr7E,EAAA,IAgBAosI,EAAAhxD,EAAA,KAAAv1E,OAAA,CACAq9B,SAAA,EAIAo4C,cAAA,GAIAC,eAAA,GAKA8wD,SAAA,EAIAC,UAAA,EAAAzkI,KAAAC,GAKAykI,WAAA,EAIAC,YAAA3kI,KAAAC,GAKAwV,OAAA,GAEC,WACDnc,KAAAq6E,SAGA,CAIAA,MAAA,WACA,IAAAD,EAAAp6E,KAAAo6E,eACAD,EAAAn6E,KAAAm6E,cAEAnQ,EAAAhqE,KAAAo8B,WAAA91B,SACAo+F,EAAA1kG,KAAAo8B,WAAAuwB,UACA83C,EAAAzkG,KAAAo8B,WAAAywB,OAEA3wB,GAAAi+C,EAAA,IAAAC,EAAA,GACApQ,EAAA9mD,KAAAgZ,GACAwoE,EAAAxhF,KAAAgZ,GACAuoE,EAAAvhF,KAAAgZ,GAEA,IAGAl6B,EAAAC,EAAAk7B,EACA4zD,EAAA5zE,EACApS,EAAA2F,EAmCAk9C,EAAAC,EAAAC,EAAAw9E,EAxCAC,EAAArvG,EAAA,MAAAuvB,YAAAD,YACAiC,EAAAztD,KAAAytD,QAAA,IAAA89E,EAAApxD,EAAAC,EAAA,GAMAj+D,EAAAnc,KAAAmc,OACA+uH,EAAAlrI,KAAAkrI,SACAC,EAAAnrI,KAAAmrI,UACAC,EAAAprI,KAAAorI,WACAC,EAAArrI,KAAAqrI,YAGAvqC,GAFA3kF,EAAAnc,KAAAmc,OAEA,IACAgpF,EAAA,GACAp/C,EAAA,EACA8uC,EAAA,EAAA14E,EACA,IAAAzL,EAAA,EAAmBA,GAAA0pE,EAAqB1pE,IACxC,IAAA3F,EAAA,EAAuBA,GAAAovE,EAAoBpvE,IAC3CgmF,EAAAhmF,EAAAovE,EACAh9D,EAAAzM,EAAA0pE,EAGAp4E,GAAAma,EAAAzV,KAAAwY,IAAAgsH,EAAAn6C,EAAAo6C,GAAAzkI,KAAA0Y,IAAAgsH,EAAAjuH,EAAAkuH,GACAppI,EAAAka,EAAAzV,KAAAwY,IAAAksH,EAAAjuH,EAAAkuH,GACAluG,EAAAhhB,EAAAzV,KAAA0Y,IAAA8rH,EAAAn6C,EAAAo6C,GAAAzkI,KAAA0Y,IAAAgsH,EAAAjuH,EAAAkuH,GAEAvqC,EAAA,GAAA9+F,EAA2B8+F,EAAA,GAAA7+F,EAAY6+F,EAAA,GAAA3jE,EACvCgoE,EAAA,GAAApU,EAA0BoU,EAAA,GAAAhoF,EAC1B6sD,EAAA52C,IAAA2yB,EAAA+6C,GACA4D,EAAAtxE,IAAA2yB,EAAAo/C,GACArE,EAAA,IAAAjM,EACAiM,EAAA,IAAAjM,EACAiM,EAAA,IAAAjM,EACA4P,EAAArxE,IAAA2yB,EAAA+6C,GACA/6C,IAMA,IAAAt5C,EAAA0tE,EAAA,EAEAtsD,EAAA,EACA,IAAAnd,EAAA,EAAmBA,EAAA0pE,EAAoB1pE,IACvC,IAAA3F,EAAA,EAAuBA,EAAAovE,EAAmBpvE,IAC1C8iD,EAAAn9C,EAAAjE,EAAA1B,EACA6iD,EAAAl9C,EAAAjE,EAAA1B,EAAA,EACAugI,GAAA56H,EAAA,GAAAjE,EAAA1B,EAAA,EACA+iD,GAAAp9C,EAAA,GAAAjE,EAAA1B,EAEA0iD,EAAA5/B,KAAA+/B,EACAH,EAAA5/B,KAAAggC,EACAJ,EAAA5/B,KAAAy9G,EAEA79E,EAAA5/B,KAAAggC,EACAJ,EAAA5/B,KAAAigC,EACAL,EAAA5/B,KAAAy9G,EAIAtrI,KAAAktD,YAAA,IAAAgtB,EAAA,KACAl6E,KAAAktD,YAAA/lD,IAAAisB,IAAAjX,OACAnc,KAAAktD,YAAAhmD,IAAAksB,KAAAjX,YAIA+R,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAoqI,EAAApqI,EAAA,IAOAm1B,EAAAi1G,EAAA,KAAAvkI,OAAA,CAEA8gE,YAAA,GAEC,CAEDrlE,KAAA,gBAEA2rC,iBAAA,CACA0/F,kBAAA,CACArrI,KAAA,KACA8D,MAAA,SAAAwlI,GACA,IAAA3iH,EAAA2iH,EAAA3iH,MACA0Q,EAAAiyG,EAAAjyG,UACA,OAAA1Q,EAAA,GAAA0Q,EAAA1Q,EAAA,GAAA0Q,EAAA1Q,EAAA,GAAA0Q,QAYAtJ,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAoqI,EAAApqI,EAAA,IACAqxE,EAAArxE,EAAA,GAiBAo1B,EAAAg1G,EAAA,KAAAvkI,OAAA,CAIAopE,WAAA,KAIA29D,iBAAA,EAMAC,cAAA,EAMAC,sBAAA,IACC,CAEDxrI,KAAA,oBAEA2rC,iBAAA,CACA8/F,0BAAA,CACAzrI,KAAA,KACA8D,MAAA,SAAAwlI,GAGA,OAFAA,EAAAoC,MAAApC,EAAAoC,OAAA,IAAA37D,EAAA,KAEAu5D,EAAAoC,MAAAzyH,KAAAqwH,EAAAzoE,eAAA7jC,GAAA9e,YAAA6f,SAAAd,QAGA0uG,sBAAA,CACA3rI,KAAA,KACA8D,MAAA,SAAAwlI,GACA,IAAA3iH,EAAA2iH,EAAA3iH,MACA0Q,EAAAiyG,EAAAjyG,UACA,OAAA1Q,EAAA,GAAA0Q,EAAA1Q,EAAA,GAAA0Q,EAAA1Q,EAAA,GAAA0Q,MAQAjiB,MAAA,WACA,IAAAmwD,EAAAujE,EAAA,KAAAhpI,UAAAsV,MAAAxV,KAAAC,MAGA,OAFA0lE,EAAAoI,WAAA9tE,KAAA8tE,WACApI,EAAA+lE,iBAAAzrI,KAAAyrI,iBACA/lE,KAIAx3C,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAoqI,EAAApqI,EAAA,IAOAq1B,EAAA+0G,EAAA,KAAAvkI,OAAA,CAIAszG,MAAA,IAKAxyC,YAAA,GACC,CAEDrlE,KAAA,cAEA2rC,iBAAA,CACAigG,mBAAA,CACA5rI,KAAA,KACA8D,MAAA,SAAAwlI,GACA,OAAAA,EAAA5oE,mBAAAzjC,QAGA4uG,gBAAA,CACA7rI,KAAA,KACA8D,MAAA,SAAAwlI,GACA,OAAAA,EAAAzxB,QAGAi0B,gBAAA,CACA9rI,KAAA,KACA8D,MAAA,SAAAwlI,GACA,IAAA3iH,EAAA2iH,EAAA3iH,MACA0Q,EAAAiyG,EAAAjyG,UACA,OAAA1Q,EAAA,GAAA0Q,EAAA1Q,EAAA,GAAA0Q,EAAA1Q,EAAA,GAAA0Q,MAQAjiB,MAAA,WACA,IAAAmwD,EAAAujE,EAAA,KAAAhpI,UAAAsV,MAAAxV,KAAAC,MAEA,OADA0lE,EAAAsyC,MAAAh4G,KAAAg4G,MACAtyC,KAIAx3C,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAoqI,EAAApqI,EAAA,IACAqxE,EAAArxE,EAAA,GAQAs1B,EAAA80G,EAAA,KAAAvkI,OAAA,CAIAszG,MAAA,GAIAk0B,WAAA,GAIAC,cAAA,GAIAC,cAAA,EAIAt+D,WAAA,KAIA29D,iBAAA,GACC,CAEDtrI,KAAA,aAEA2rC,iBAAA,CACAugG,kBAAA,CACAlsI,KAAA,KACA8D,MAAA,SAAAwlI,GACA,OAAAA,EAAA5oE,mBAAAzjC,QAGAkvG,eAAA,CACAnsI,KAAA,KACA8D,MAAA,SAAAwlI,GACA,OAAAA,EAAAzxB,QAGAu0B,0BAAA,CACApsI,KAAA,KACA8D,MAAA,SAAAwlI,GACA,OAAA/iI,KAAAwY,IAAAuqH,EAAAyC,WAAAxlI,KAAAC,GAAA,OAGA6lI,6BAAA,CACArsI,KAAA,KACA8D,MAAA,SAAAwlI,GACA,OAAA/iI,KAAAwY,IAAAuqH,EAAA0C,cAAAzlI,KAAAC,GAAA,OAGA8lI,uBAAA,CACAtsI,KAAA,KACA8D,MAAA,SAAAwlI,GACA,OAAAA,EAAA2C,gBAGAM,mBAAA,CACAvsI,KAAA,KACA8D,MAAA,SAAAwlI,GAGA,OAFAA,EAAAoC,MAAApC,EAAAoC,OAAA,IAAA37D,EAAA,KAEAu5D,EAAAoC,MAAAzyH,KAAAqwH,EAAAzoE,eAAA7jC,GAAAe,SAAAd,QAGAuvG,eAAA,CACAxsI,KAAA,KACA8D,MAAA,SAAAwlI,GACA,IAAA3iH,EAAA2iH,EAAA3iH,MACA0Q,EAAAiyG,EAAAjyG,UACA,OAAA1Q,EAAA,GAAA0Q,EAAA1Q,EAAA,GAAA0Q,EAAA1Q,EAAA,GAAA0Q,MAQAjiB,MAAA,WACA,IAAAmwD,EAAAujE,EAAA,KAAAhpI,UAAAsV,MAAAxV,KAAAC,MAOA,OANA0lE,EAAAsyC,MAAAh4G,KAAAg4G,MACAtyC,EAAAwmE,WAAAlsI,KAAAksI,WACAxmE,EAAAymE,cAAAnsI,KAAAmsI,cACAzmE,EAAA0mE,cAAApsI,KAAAosI,cACA1mE,EAAAoI,WAAA9tE,KAAA8tE,WACApI,EAAA+lE,iBAAAzrI,KAAAyrI,iBACA/lE,KAIAx3C,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA+tI,EAAA/tI,EAAA,IAWA21B,EAAA,SAAAxyB,EAAAC,EAAAk7B,EAAA96B,GAEAL,KAAA,EACAC,KAAA,EACAk7B,KAAA,EACA96B,KAAA,EASArC,KAAAo9B,MAAAwvG,EAAA,KAAAvvG,WAAAr7B,EAAAC,EAAAk7B,EAAA96B,GASArC,KAAAs9B,QAAA,GAGA9I,EAAAv0B,UAAA,CAEAC,YAAAs0B,EAOA+I,IAAA,SAAA/0B,GAGA,OAFAokI,EAAA,KAAArvG,IAAAv9B,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAWAozB,IAAA,SAAApxB,EAAAC,EAAAk7B,EAAA96B,GAMA,OALArC,KAAAo9B,MAAA,GAAAp7B,EACAhC,KAAAo9B,MAAA,GAAAn7B,EACAjC,KAAAo9B,MAAA,GAAAD,EACAn9B,KAAAo9B,MAAA,GAAA/6B,EACArC,KAAAs9B,QAAA,EACAt9B,MAQAw9B,SAAA,SAAAC,GAOA,OANAz9B,KAAAo9B,MAAA,GAAAK,EAAA,GACAz9B,KAAAo9B,MAAA,GAAAK,EAAA,GACAz9B,KAAAo9B,MAAA,GAAAK,EAAA,GACAz9B,KAAAo9B,MAAA,GAAAK,EAAA,GAEAz9B,KAAAs9B,QAAA,EACAt9B,MAOAuV,MAAA,WACA,WAAAif,EAAAx0B,KAAAgC,EAAAhC,KAAAiC,EAAAjC,KAAAm9B,EAAAn9B,KAAAqC,IAQA+W,KAAA,SAAA5Q,GAGA,OAFAokI,EAAA,KAAAxzH,KAAApZ,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQA29B,KAAA,SAAAn1B,GACA,OAAAokI,EAAA,KAAAjvG,KAAA39B,KAAAo9B,MAAA50B,EAAA40B,QAQA5tB,SAAA,SAAAhH,GACA,OAAAokI,EAAA,KAAAp9H,SAAAxP,KAAAo9B,MAAA50B,EAAA40B,QAQAQ,IAAA,SAAAp1B,GAGA,OAFAokI,EAAA,KAAAhvG,IAAA59B,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQA69B,OAAA,SAAAr1B,GAGA,OAFAokI,EAAA,KAAA/uG,OAAA79B,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQA89B,IAAA,SAAAt1B,GACA,OAAAokI,EAAA,KAAA9uG,IAAA99B,KAAAo9B,MAAA50B,EAAA40B,QAOA3wB,IAAA,WACA,OAAAmgI,EAAA,KAAAngI,IAAAzM,KAAAo9B,QAOA75B,OAAA,WACA,OAAAqpI,EAAA,KAAArpI,OAAAvD,KAAAo9B,QASAW,KAAA,SAAAx1B,EAAAC,EAAA4T,GAGA,OAFAwwH,EAAA,KAAA7uG,KAAA/9B,KAAAo9B,MAAA70B,EAAA60B,MAAA50B,EAAA40B,MAAAhhB,GACApc,KAAAs9B,QAAA,EACAt9B,MAQAkH,IAAA,SAAAsB,GAGA,OAFAokI,EAAA,KAAA1lI,IAAAlH,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAmH,IAAA,SAAAqB,GAGA,OAFAokI,EAAA,KAAAzlI,IAAAnH,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAg+B,IAAA,SAAAx1B,GAGA,OAFAokI,EAAA,KAAA5uG,IAAAh+B,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAi+B,SAAA,SAAAz1B,GAGA,OAFAokI,EAAA,KAAA3uG,SAAAj+B,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAOAk+B,OAAA,WAGA,OAFA0uG,EAAA,KAAA1uG,OAAAl+B,KAAAo9B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAOAqe,UAAA,WAGA,OAFAuuH,EAAA,KAAAvuH,UAAAre,KAAAo9B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAm+B,OAAA,SAAApmB,GAGA,OAFA60H,EAAA,KAAAzuG,OAAAn+B,KAAAo9B,MAAArlB,GACA/X,KAAAs9B,QAAA,EACAt9B,MAQA+X,MAAA,SAAAkW,GAGA,OAFA2+G,EAAA,KAAA70H,MAAA/X,KAAAo9B,MAAAp9B,KAAAo9B,MAAAnP,GACAjuB,KAAAs9B,QAAA,EACAt9B,MAQAse,YAAA,SAAA9V,EAAAylB,GAGA,OAFA2+G,EAAA,KAAAtuH,YAAAte,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,MAAAnP,GACAjuB,KAAAs9B,QAAA,EACAt9B,MAQAo+B,QAAA,SAAA51B,GACA,OAAAokI,EAAA,KAAAxuG,QAAAp+B,KAAAo9B,MAAA50B,EAAA40B,QAQAiB,gBAAA,SAAA71B,GACA,OAAAokI,EAAA,KAAAvuG,gBAAAr+B,KAAAo9B,MAAA50B,EAAA40B,QAOAkB,OAAA,WACA,OAAAsuG,EAAA,KAAAtuG,OAAAt+B,KAAAo9B,QAOAmB,cAAA,WACA,OAAAquG,EAAA,KAAAruG,cAAAv+B,KAAAo9B,QAQAhf,IAAA,SAAA5V,GAGA,OAFAokI,EAAA,KAAAxuH,IAAApe,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAw+B,SAAA,SAAAh2B,GAGA,OAFAokI,EAAA,KAAApuG,SAAAx+B,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQA0+B,cAAA,SAAAnR,GAGA,OAFAq/G,EAAA,KAAAluG,cAAA1+B,KAAAo9B,MAAAp9B,KAAAo9B,MAAA7P,EAAA6P,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQA2+B,cAAA,SAAAC,GAGA,OAFAguG,EAAA,KAAAjuG,cAAA3+B,KAAAo9B,MAAAp9B,KAAAo9B,MAAAwB,EAAAxB,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAGA8I,SAAA,WACA,UAAA0U,MAAAvd,UAAA+P,KAAAjQ,KAAAC,KAAAo9B,MAAA,UAGA6B,QAAA,WACA,OAAAzhB,MAAAvd,UAAAi/B,MAAAn/B,KAAAC,KAAAo9B,SAIA,IAAA1P,EAAA3kB,OAAA2kB,eAEA,GAAAA,EAAA,CAEA,IAAAyR,EAAA3K,EAAAv0B,UAOAytB,EAAAyR,EAAA,KACA15B,IAAA,WACA,OAAAzF,KAAAo9B,MAAA,IAEAhK,IAAA,SAAAnvB,GACAjE,KAAAo9B,MAAA,GAAAn5B,EACAjE,KAAAs9B,QAAA,KAUA5P,EAAAyR,EAAA,KACA15B,IAAA,WACA,OAAAzF,KAAAo9B,MAAA,IAEAhK,IAAA,SAAAnvB,GACAjE,KAAAo9B,MAAA,GAAAn5B,EACAjE,KAAAs9B,QAAA,KAUA5P,EAAAyR,EAAA,KACA15B,IAAA,WACA,OAAAzF,KAAAo9B,MAAA,IAEAhK,IAAA,SAAAnvB,GACAjE,KAAAo9B,MAAA,GAAAn5B,EACAjE,KAAAs9B,QAAA,KAUA5P,EAAAyR,EAAA,KACA15B,IAAA,WACA,OAAAzF,KAAAo9B,MAAA,IAEAhK,IAAA,SAAAnvB,GACAjE,KAAAo9B,MAAA,GAAAn5B,EACAjE,KAAAs9B,QAAA,KAaA9I,EAAA+I,IAAA,SAAA8B,EAAA92B,EAAAC,GAGA,OAFAokI,EAAA,KAAArvG,IAAA8B,EAAAjC,MAAA70B,EAAA60B,MAAA50B,EAAA40B,OACAiC,EAAA/B,QAAA,EACA+B,GAUA7K,EAAApB,IAAA,SAAAiM,EAAAr9B,EAAAC,EAAAk7B,EAAA96B,GACAuqI,EAAA,KAAAx5G,IAAAiM,EAAAjC,MAAAp7B,EAAAC,EAAAk7B,EAAA96B,GACAg9B,EAAA/B,QAAA,GAQA9I,EAAApb,KAAA,SAAAimB,EAAA72B,GAGA,OAFAokI,EAAA,KAAAxzH,KAAAimB,EAAAjC,MAAA50B,EAAA40B,OACAiC,EAAA/B,QAAA,EACA+B,GAQA7K,EAAAmJ,KAAA,SAAAp1B,EAAAC,GACA,OAAAokI,EAAA,KAAAp9H,SAAAjH,EAAA60B,MAAA50B,EAAA40B,QASA5I,EAAAhlB,SAAAglB,EAAAmJ,KAQAnJ,EAAAoJ,IAAA,SAAAyB,EAAA92B,EAAAC,GAGA,OAFAokI,EAAA,KAAA/uG,OAAAwB,EAAAjC,MAAA70B,EAAA60B,MAAA50B,EAAA40B,OACAiC,EAAA/B,QAAA,EACA+B,GAUA7K,EAAAqJ,OAAArJ,EAAAoJ,IAOApJ,EAAAsJ,IAAA,SAAAv1B,EAAAC,GACA,OAAAokI,EAAA,KAAA9uG,IAAAv1B,EAAA60B,MAAA50B,EAAA40B,QAOA5I,EAAA/nB,IAAA,SAAAjE,GACA,OAAAokI,EAAA,KAAArpI,OAAAiF,EAAA40B,QAYA5I,EAAAuJ,KAAA,SAAAsB,EAAA92B,EAAAC,EAAA4T,GAGA,OAFAwwH,EAAA,KAAA7uG,KAAAsB,EAAAjC,MAAA70B,EAAA60B,MAAA50B,EAAA40B,MAAAhhB,GACAijB,EAAA/B,QAAA,EACA+B,GASA7K,EAAAttB,IAAA,SAAAm4B,EAAA92B,EAAAC,GAGA,OAFAokI,EAAA,KAAA1lI,IAAAm4B,EAAAjC,MAAA70B,EAAA60B,MAAA50B,EAAA40B,OACAiC,EAAA/B,QAAA,EACA+B,GASA7K,EAAArtB,IAAA,SAAAk4B,EAAA92B,EAAAC,GAGA,OAFAokI,EAAA,KAAAzlI,IAAAk4B,EAAAjC,MAAA70B,EAAA60B,MAAA50B,EAAA40B,OACAiC,EAAA/B,QAAA,EACA+B,GASA7K,EAAAwJ,IAAA,SAAAqB,EAAA92B,EAAAC,GAGA,OAFAokI,EAAA,KAAA3uG,SAAAoB,EAAAjC,MAAA70B,EAAA60B,MAAA50B,EAAA40B,OACAiC,EAAA/B,QAAA,EACA+B,GAUA7K,EAAAyJ,SAAAzJ,EAAAwJ,IAOAxJ,EAAA0J,OAAA,SAAAmB,EAAA92B,GAGA,OAFAqkI,EAAA,KAAA1uG,OAAAmB,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GAQA7K,EAAAnW,UAAA,SAAAghB,EAAA92B,GAGA,OAFAqkI,EAAA,KAAAvuH,UAAAghB,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GAQA7K,EAAA2J,OAAA,SAAAkB,EAAAtnB,GAGA,OAFA60H,EAAA,KAAAzuG,OAAAkB,EAAAjC,MAAArlB,GACAsnB,EAAA/B,QAAA,EACA+B,GASA7K,EAAAzc,MAAA,SAAAsnB,EAAA92B,EAAAwP,GAGA,OAFA60H,EAAA,KAAA70H,MAAAsnB,EAAAjC,MAAA70B,EAAA60B,MAAArlB,GACAsnB,EAAA/B,QAAA,EACA+B,GAUA7K,EAAAlW,YAAA,SAAA+gB,EAAA92B,EAAAC,EAAAuP,GAGA,OAFA60H,EAAA,KAAAtuH,YAAA+gB,EAAAjC,MAAA70B,EAAA60B,MAAA50B,EAAA40B,MAAArlB,GACAsnB,EAAA/B,QAAA,EACA+B,GAQA7K,EAAA4J,QAAA,SAAA71B,EAAAC,GACA,OAAAokI,EAAA,KAAAxuG,QAAA71B,EAAA60B,MAAA50B,EAAA40B,QASA5I,EAAA6J,gBAAA7J,EAAA4J,QAMA5J,EAAA8J,OAAA,SAAA/1B,GACA,OAAAqkI,EAAA,KAAAtuG,OAAA/1B,EAAA60B,QAOA5I,EAAA+J,cAAA/J,EAAA8J,OAQA9J,EAAApW,IAAA,SAAAihB,EAAA92B,EAAAC,GAGA,OAFAokI,EAAA,KAAApuG,SAAAa,EAAAjC,MAAA70B,EAAA60B,MAAA50B,EAAA40B,OACAiC,EAAA/B,QAAA,EACA+B,GASA7K,EAAAgK,SAAAhK,EAAApW,IAQAoW,EAAAkK,cAAA,SAAAW,EAAA92B,EAAAglB,GAGA,OAFAq/G,EAAA,KAAAluG,cAAAW,EAAAjC,MAAA70B,EAAA60B,MAAA7P,EAAA6P,OACAiC,EAAA/B,QAAA,EACA+B,GASA7K,EAAAmK,cAAA,SAAAU,EAAA92B,EAAAq2B,GAGA,OAFAguG,EAAA,KAAAjuG,cAAAU,EAAAjC,MAAA70B,EAAA60B,MAAAwB,EAAAxB,OACAiC,EAAA/B,QAAA,EACA+B,GAGAnR,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAguI,EAAAhuI,EAAA,IAOA61B,EAAA,WAQA10B,KAAAo9B,MAAAyvG,EAAA,KAAA/9F,SAOA9uC,KAAAs9B,QAAA,GAGA5I,EAAAz0B,UAAA,CAEAC,YAAAw0B,EAMA8I,SAAA,SAAAC,GACA,QAAA1yB,EAAA,EAAuBA,EAAA/K,KAAAo9B,MAAA75B,OAAuBwH,IAC9C/K,KAAAo9B,MAAAryB,GAAA0yB,EAAA1yB,GAGA,OADA/K,KAAAs9B,QAAA,EACAt9B,MAMAuV,MAAA,WACA,WAAAmf,GAAAtb,KAAApZ,OAQAoZ,KAAA,SAAA5Q,GAGA,OAFAqkI,EAAA,KAAAzzH,KAAApZ,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAOA+uC,QAAA,WAGA,OAFA89F,EAAA,KAAA99F,QAAA/uC,KAAAo9B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAOAgvC,YAAA,WACA,OAAA69F,EAAA,KAAA79F,YAAAhvC,KAAAo9B,QAOAwS,SAAA,WAGA,OAFAi9F,EAAA,KAAAj9F,SAAA5vC,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAOA6vC,OAAA,WAGA,OAFAg9F,EAAA,KAAAh9F,OAAA7vC,KAAAo9B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAg+B,IAAA,SAAAx1B,GAGA,OAFAqkI,EAAA,KAAA7uG,IAAAh+B,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAiwC,QAAA,SAAA1nC,GAGA,OAFAskI,EAAA,KAAA7uG,IAAAh+B,KAAAo9B,MAAA70B,EAAA60B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAi+B,SAAA,SAAAz1B,GAGA,OAFAqkI,EAAA,KAAA5uG,SAAAj+B,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAkwC,aAAA,SAAA3nC,GAGA,OAFAskI,EAAA,KAAA5uG,SAAAj+B,KAAAo9B,MAAA70B,EAAA60B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAswC,OAAA,SAAAC,GAGA,OAFAs8F,EAAA,KAAAv8F,OAAAtwC,KAAAo9B,MAAAp9B,KAAAo9B,MAAAmT,GACAvwC,KAAAs9B,QAAA,EACAt9B,MAQA+X,MAAA,SAAAoF,GAGA,OAFA0vH,EAAA,KAAA90H,MAAA/X,KAAAo9B,MAAAp9B,KAAAo9B,MAAAjgB,EAAAigB,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAMA4wC,UAAA,WAGA,OAFAi8F,EAAA,KAAAj8F,UAAA5wC,KAAAo9B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAGA8I,SAAA,WACA,UAAA0U,MAAAvd,UAAA+P,KAAAjQ,KAAAC,KAAAo9B,MAAA,UAGA6B,QAAA,WACA,OAAAzhB,MAAAvd,UAAAi/B,MAAAn/B,KAAAC,KAAAo9B,SASA1I,EAAAqa,QAAA,SAAA1P,EAAA92B,GAGA,OAFAskI,EAAA,KAAA99F,QAAA1P,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GAQA3K,EAAAtb,KAAA,SAAAimB,EAAA92B,GAGA,OAFAskI,EAAA,KAAAzzH,KAAAimB,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GAOA3K,EAAAsa,YAAA,SAAAzmC,GACA,OAAAskI,EAAA,KAAA79F,YAAAzmC,EAAA60B,QAOA1I,EAAAkb,SAAA,SAAAvQ,GAGA,OAFAwtG,EAAA,KAAAj9F,SAAAvQ,EAAAjC,OACAiC,EAAA/B,QAAA,EACA+B,GAQA3K,EAAAmb,OAAA,SAAAxQ,EAAA92B,GAGA,OAFAskI,EAAA,KAAAh9F,OAAAxQ,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GASA3K,EAAAsJ,IAAA,SAAAqB,EAAA92B,EAAAC,GAGA,OAFAqkI,EAAA,KAAA7uG,IAAAqB,EAAAjC,MAAA70B,EAAA60B,MAAA50B,EAAA40B,OACAiC,EAAA/B,QAAA,EACA+B,GAUA3K,EAAAuJ,SAAAvJ,EAAAsJ,IAQAtJ,EAAA4b,OAAA,SAAAjR,EAAA92B,EAAAgoC,GAGA,OAFAs8F,EAAA,KAAAv8F,OAAAjR,EAAAjC,MAAA70B,EAAA60B,MAAAmT,GACAlR,EAAA/B,QAAA,EACA+B,GASA3K,EAAA3c,MAAA,SAAAsnB,EAAA92B,EAAA4U,GAGA,OAFA0vH,EAAA,KAAA90H,MAAAsnB,EAAAjC,MAAA70B,EAAA60B,MAAAjgB,EAAAigB,OACAiC,EAAA/B,QAAA,EACA+B,GAOA3K,EAAAkc,UAAA,SAAAvR,EAAA92B,GAGA,OAFAskI,EAAA,KAAAj8F,UAAAvR,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GAGAnR,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAiuI,EAAAjuI,EAAA,IAOA81B,EAAA,WAOA30B,KAAAo9B,MAAA0vG,EAAA,KAAAh+F,SAOA9uC,KAAAs9B,QAAA,GAGA3I,EAAA10B,UAAA,CAEAC,YAAAy0B,EAMA6I,SAAA,SAAAC,GACA,QAAA1yB,EAAA,EAAuBA,EAAA/K,KAAAo9B,MAAA75B,OAAuBwH,IAC9C/K,KAAAo9B,MAAAryB,GAAA0yB,EAAA1yB,GAGA,OADA/K,KAAAs9B,QAAA,EACAt9B,MAMAuV,MAAA,WACA,WAAAof,GAAAvb,KAAApZ,OAQAoZ,KAAA,SAAA5Q,GAGA,OAFAskI,EAAA,KAAA1zH,KAAApZ,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAOAgvC,YAAA,WACA,OAAA89F,EAAA,KAAA99F,YAAAhvC,KAAAo9B,QAOAwS,SAAA,WAGA,OAFAk9F,EAAA,KAAAl9F,SAAA5vC,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAOA6vC,OAAA,WAGA,OAFAi9F,EAAA,KAAAj9F,OAAA7vC,KAAAo9B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAg+B,IAAA,SAAAx1B,GAGA,OAFAskI,EAAA,KAAA9uG,IAAAh+B,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAiwC,QAAA,SAAAznC,GAGA,OAFAskI,EAAA,KAAA9uG,IAAAh+B,KAAAo9B,MAAA50B,EAAA40B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAi+B,SAAA,SAAAz1B,GAGA,OAFAskI,EAAA,KAAA7uG,SAAAj+B,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAkwC,aAAA,SAAA1nC,GAGA,OAFAskI,EAAA,KAAA7uG,SAAAj+B,KAAAo9B,MAAA50B,EAAA40B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAswC,OAAA,SAAAC,GAGA,OAFAu8F,EAAA,KAAAx8F,OAAAtwC,KAAAo9B,MAAAp9B,KAAAo9B,MAAAmT,GACAvwC,KAAAs9B,QAAA,EACAt9B,MAQA+X,MAAA,SAAAkW,GAGA,OAFA6+G,EAAA,KAAA/0H,MAAA/X,KAAAo9B,MAAAp9B,KAAAo9B,MAAAnP,EAAAmP,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQA2wC,UAAA,SAAAxzB,GAGA,OAFA2vH,EAAA,KAAAn8F,UAAA3wC,KAAAo9B,MAAAp9B,KAAAo9B,MAAAjgB,EAAAigB,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAGA8I,SAAA,WACA,UAAA0U,MAAAvd,UAAA+P,KAAAjQ,KAAAC,KAAAo9B,MAAA,UAGA6B,QAAA,WACA,OAAAzhB,MAAAvd,UAAAi/B,MAAAn/B,KAAAC,KAAAo9B,SASAzI,EAAAvb,KAAA,SAAAimB,EAAA92B,GAGA,OAFAukI,EAAA,KAAA1zH,KAAAimB,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GAOA1K,EAAAqa,YAAA,SAAAzmC,GACA,OAAAukI,EAAA,KAAA99F,YAAAzmC,EAAA60B,QAOAzI,EAAAib,SAAA,SAAAvQ,GAGA,OAFAytG,EAAA,KAAAl9F,SAAAvQ,EAAAjC,OACAiC,EAAA/B,QAAA,EACA+B,GAQA1K,EAAAkb,OAAA,SAAAxQ,EAAA92B,GAGA,OAFAukI,EAAA,KAAAj9F,OAAAxQ,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GASA1K,EAAAqJ,IAAA,SAAAqB,EAAA92B,EAAAC,GAGA,OAFAskI,EAAA,KAAA9uG,IAAAqB,EAAAjC,MAAA70B,EAAA60B,MAAA50B,EAAA40B,OACAiC,EAAA/B,QAAA,EACA+B,GAUA1K,EAAAsJ,SAAAtJ,EAAAqJ,IAQArJ,EAAA2b,OAAA,SAAAjR,EAAA92B,EAAAgoC,GAGA,OAFAu8F,EAAA,KAAAx8F,OAAAjR,EAAAjC,MAAA70B,EAAA60B,MAAAmT,GACAlR,EAAA/B,QAAA,EACA+B,GASA1K,EAAA5c,MAAA,SAAAsnB,EAAA92B,EAAA4U,GAGA,OAFA2vH,EAAA,KAAA/0H,MAAAsnB,EAAAjC,MAAA70B,EAAA60B,MAAAjgB,EAAAigB,OACAiC,EAAA/B,QAAA,EACA+B,GASA1K,EAAAgc,UAAA,SAAAtR,EAAA92B,EAAA4U,GAGA,OAFA2vH,EAAA,KAAAn8F,UAAAtR,EAAAjC,MAAA70B,EAAA60B,MAAAjgB,EAAAigB,OACAiC,EAAA/B,QAAA,EACA+B,GAGAnR,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAkuI,EAAAluI,EAAA,IAOA+1B,EAAA,WAQA50B,KAAAo9B,MAAA2vG,EAAA,KAAAj+F,SAOA9uC,KAAAs9B,QAAA,GAGA1I,EAAA30B,UAAA,CAEAC,YAAA00B,EAMA4I,SAAA,SAAAC,GACA,QAAA1yB,EAAA,EAAuBA,EAAA/K,KAAAo9B,MAAA75B,OAAuBwH,IAC9C/K,KAAAo9B,MAAAryB,GAAA0yB,EAAA1yB,GAGA,OADA/K,KAAAs9B,QAAA,EACAt9B,MAMA+uC,QAAA,WAGA,OAFAg+F,EAAA,KAAAh+F,QAAA/uC,KAAAo9B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAOAuV,MAAA,WACA,WAAAqf,GAAAxb,KAAApZ,OAQAoZ,KAAA,SAAA5Q,GAGA,OAFAukI,EAAA,KAAA3zH,KAAApZ,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAOAgvC,YAAA,WACA,OAAA+9F,EAAA,KAAA/9F,YAAAhvC,KAAAo9B,QAQA+R,UAAA,SAAA5mC,GAGA,OAFAwkI,EAAA,KAAA59F,UAAAnvC,KAAAo9B,MAAA70B,EAAA60B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAoxC,SAAA,SAAA7oC,GAGA,OAFAwkI,EAAA,KAAA37F,SAAApxC,KAAAo9B,MAAA70B,EAAA60B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAivC,SAAA,SAAArQ,GAGA,OAFAmuG,EAAA,KAAA99F,SAAAjvC,KAAAo9B,MAAAwB,EAAAxB,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAOA4vC,SAAA,WAGA,OAFAm9F,EAAA,KAAAn9F,SAAA5vC,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAOA6vC,OAAA,WAGA,OAFAk9F,EAAA,KAAAl9F,OAAA7vC,KAAAo9B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAg+B,IAAA,SAAAx1B,GAGA,OAFAukI,EAAA,KAAA/uG,IAAAh+B,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAiwC,QAAA,SAAA1nC,GAGA,OAFAwkI,EAAA,KAAA/uG,IAAAh+B,KAAAo9B,MAAA70B,EAAA60B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAi+B,SAAA,SAAAz1B,GAGA,OAFAukI,EAAA,KAAA9uG,SAAAj+B,KAAAo9B,MAAAp9B,KAAAo9B,MAAA50B,EAAA40B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAkwC,aAAA,SAAA3nC,GAGA,OAFAwkI,EAAA,KAAA9uG,SAAAj+B,KAAAo9B,MAAA70B,EAAA60B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQAswC,OAAA,SAAAC,GAGA,OAFAw8F,EAAA,KAAAz8F,OAAAtwC,KAAAo9B,MAAAp9B,KAAAo9B,MAAAmT,GACAvwC,KAAAs9B,QAAA,EACAt9B,MAQA+X,MAAA,SAAAoF,GAGA,OAFA4vH,EAAA,KAAAh1H,MAAA/X,KAAAo9B,MAAAp9B,KAAAo9B,MAAAjgB,EAAAigB,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAQA2wC,UAAA,SAAAxzB,GAGA,OAFA4vH,EAAA,KAAAp8F,UAAA3wC,KAAAo9B,MAAAp9B,KAAAo9B,MAAAjgB,EAAAigB,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAMAiwE,eAAA,SAAA1nE,GAGA,OAFAwkI,EAAA,KAAA98D,eAAAjwE,KAAAo9B,MAAA70B,EAAA60B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAOA4wC,UAAA,WAGA,OAFAm8F,EAAA,KAAAn8F,UAAA5wC,KAAAo9B,MAAAp9B,KAAAo9B,OACAp9B,KAAAs9B,QAAA,EACAt9B,MAGA8I,SAAA,WACA,UAAA0U,MAAAvd,UAAA+P,KAAAjQ,KAAAC,KAAAo9B,MAAA,UAGA6B,QAAA,WACA,OAAAzhB,MAAAvd,UAAAi/B,MAAAn/B,KAAAC,KAAAo9B,SAQAxI,EAAAma,QAAA,SAAA1P,EAAA92B,GAGA,OAFAwkI,EAAA,KAAAh+F,QAAA1P,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GAQAzK,EAAAxb,KAAA,SAAAimB,EAAA92B,GAGA,OAFAwkI,EAAA,KAAA3zH,KAAAimB,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GAOAzK,EAAAoa,YAAA,SAAAzmC,GACA,OAAAwkI,EAAA,KAAA/9F,YAAAzmC,EAAA60B,QAOAxI,EAAAgb,SAAA,SAAAvQ,GAGA,OAFA0tG,EAAA,KAAAn9F,SAAAvQ,EAAAjC,OACAiC,EAAA/B,QAAA,EACA+B,GAQAzK,EAAAib,OAAA,SAAAxQ,EAAA92B,GAEA,OADAwkI,EAAA,KAAAl9F,OAAAxQ,EAAAjC,MAAA70B,EAAA60B,OACAiC,GASAzK,EAAAoJ,IAAA,SAAAqB,EAAA92B,EAAAC,GAGA,OAFAukI,EAAA,KAAA/uG,IAAAqB,EAAAjC,MAAA70B,EAAA60B,MAAA50B,EAAA40B,OACAiC,EAAA/B,QAAA,EACA+B,GAUAzK,EAAAqJ,SAAArJ,EAAAoJ,IAOApJ,EAAAua,UAAA,SAAA9P,EAAA92B,GAGA,OAFAwkI,EAAA,KAAA59F,UAAA9P,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GAQAzK,EAAAwc,SAAA,SAAA/R,EAAA92B,GAGA,OAFAwkI,EAAA,KAAA37F,SAAA/R,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GAQAzK,EAAAqa,SAAA,SAAA5P,EAAAT,GAGA,OAFAmuG,EAAA,KAAA99F,SAAA5P,EAAAjC,MAAAwB,EAAAxB,OACAiC,EAAA/B,QAAA,EACA+B,GAQAzK,EAAAq7C,eAAA,SAAA5wC,EAAA92B,GAGA,OAFAwkI,EAAA,KAAA98D,eAAA5wC,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GASAzK,EAAA0b,OAAA,SAAAjR,EAAA92B,EAAAgoC,GAGA,OAFAw8F,EAAA,KAAAz8F,OAAAjR,EAAAjC,MAAA70B,EAAA60B,MAAAmT,GACAlR,EAAA/B,QAAA,EACA+B,GASAzK,EAAA7c,MAAA,SAAAsnB,EAAA92B,EAAA4U,GAGA,OAFA4vH,EAAA,KAAAh1H,MAAAsnB,EAAAjC,MAAA70B,EAAA60B,MAAAjgB,EAAAigB,OACAiC,EAAA/B,QAAA,EACA+B,GAQAzK,EAAAgc,UAAA,SAAAvR,EAAA92B,GAGA,OAFAwkI,EAAA,KAAAn8F,UAAAvR,EAAAjC,MAAA70B,EAAA60B,OACAiC,EAAA/B,QAAA,EACA+B,GASAzK,EAAA+b,UAAA,SAAAtR,EAAA92B,EAAA4U,GAGA,OAFA4vH,EAAA,KAAAp8F,UAAAtR,EAAAjC,MAAA70B,EAAA60B,MAAAjgB,EAAAigB,OACAiC,EAAA/B,QAAA,EACA+B,GAGAnR,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAmuI,EAAAnuI,EAAA,KACAouI,EAAApuI,EAAAgvB,EAAAm/G,GAGAE,EAAA,CAEA9vD,WAAA,KAEA+vD,aAAA,WAGA,OAFAntI,KAAAo9E,WAAAp9E,KAAAo9E,YAAA,GAEAp9E,KAAAo9E,YAGA7gD,QAAA,SAAAkoC,EAAA3kE,GACAE,KAAAo9E,WAAAp9E,KAAAo9E,YAAA,GAEA,IAEA/mE,EAFA06B,EAAA/wC,KAIA,GAAAykE,EAAA,CAGA,IAFA,IAAA2oE,EAAA3oE,EAAAh2D,MAAA,KACA06C,EAAApY,EACAhmC,EAAA,EAAAC,EAAAoiI,EAAA7pI,OAAoDwH,EAAAC,EAAOD,IAC3Do+C,IAGAA,IAAAikF,EAAAriI,KAEAo+C,IACA9yC,EAAA8yC,QAIA9yC,EAAA06B,EAEA,SAAA16B,EACA,UAAAs3B,MAAA,UAAA82B,EAAA,eAGA,IAAAkd,EAAA3hF,KAAAo9E,WAEAsE,EAAA,IAAAurD,EAAA1kI,EAAA8N,EAAAvW,GACA4nC,EAAA1nC,KAiBA,OAhBA0hF,EAAAjlD,OAAA,WACAiL,EAAAxV,MACAwV,EAAAxV,KAAAiB,YAESnvB,KAAA,WACT,IAAA2Z,EAAAgkE,EAAAv2C,QAAAs2C,GACA/jE,GAAA,GACAgkE,EAAAtQ,OAAA1zD,EAAA,KAGAgkE,EAAAhvE,KAAA+uE,GAEA1hF,KAAAkyB,MACAlyB,KAAAkyB,KAAAwrD,UAAA2vD,YAAA3rD,GAGAA,GAGAplD,cAAA,SAAAgxG,GACAttI,KAAAo9E,WAAAp9E,KAAAo9E,YAAA,GAIA,IAFA,IAAAuE,EAAA3hF,KAAAo9E,WACA3wE,EAAAk1E,EAAAp+E,OACAwH,EAAA,EAAuBA,EAAA0B,EAAS1B,IAChC42E,EAAA52E,GAAAmM,KAAAo2H,GAIA,OAFA3rD,EAAAp+E,OAAA,EAEAvD,MAGAqyB,iBAAA,SAAAle,GACA,GAAAnU,KAAAo9E,WACA,QAAAryE,EAAA,EAA2BA,EAAA/K,KAAAo9E,WAAA75E,OAA4BwH,IACvDoJ,EAAAupE,UAAA2vD,YAAArtI,KAAAo9E,WAAAryE,KAKAunB,sBAAA,SAAAne,GACA,GAAAnU,KAAAo9E,WACA,QAAAryE,EAAA,EAA2BA,EAAA/K,KAAAo9E,WAAA75E,OAA4BwH,IACvDoJ,EAAAupE,UAAA6vD,eAAAvtI,KAAAo9E,WAAAryE,MAMAmjB,EAAA,QAIA,SAAAxrB,EAAAC,EAAA9D,GAEA,IAAA2uI,EAAA3uI,EAAA,KAEAioB,EAAAjoB,EAAA,KAEA8O,EAAA9O,EAAA,IAEAwqD,EAAA17C,EAAA07C,YAKAokF,EAAAjwH,MAAAvd,UAAAi/B,MAEA,SAAAwuG,EAAAr3H,EAAApL,GACA,OAAAoL,EAAApL,GAGA,SAAA0iI,EAAAt3H,EAAApL,EAAAhH,GACAoS,EAAApL,GAAAhH,EAUA,SAAA2pI,EAAAvxH,EAAAC,EAAA67F,GACA,OAAA77F,EAAAD,GAAA87F,EAAA97F,EAUA,SAAAwxH,EAAAxxH,EAAAC,EAAA67F,GACA,OAAAA,EAAA,GAAA77F,EAAAD,EAWA,SAAAyxH,EAAAzxH,EAAAC,EAAA67F,EAAA94E,EAAA0uG,GACA,IAAAthI,EAAA4P,EAAA9Y,OAEA,MAAAwqI,EACA,QAAAhjI,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5Bs0B,EAAAt0B,GAAA6iI,EAAAvxH,EAAAtR,GAAAuR,EAAAvR,GAAAotG,OAGA,KAAA61B,EAAAvhI,GAAA4P,EAAA,GAAA9Y,OAEA,IAAAwH,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5B,QAAA2F,EAAA,EAAqBA,EAAAs9H,EAAUt9H,IAC/B2uB,EAAAt0B,GAAA2F,GAAAk9H,EAAAvxH,EAAAtR,GAAA2F,GAAA4L,EAAAvR,GAAA2F,GAAAynG,IAQA,SAAA81B,EAAAC,EAAAC,EAAAJ,GACA,IAAAK,EAAAF,EAAA3qI,OACA8qI,EAAAF,EAAA5qI,OAEA,GAAA6qI,IAAAC,EAAA,CAEA,IAAAC,EAAAF,EAAAC,EAEA,GAAAC,EAEAJ,EAAA3qI,OAAA8qI,OAGA,QAAAtjI,EAAAqjI,EAA2BrjI,EAAAsjI,EAAatjI,IACxCmjI,EAAAv7H,KAAA,IAAAo7H,EAAAI,EAAApjI,GAAA0iI,EAAA1tI,KAAAouI,EAAApjI,KAMA,IAAAijI,EAAAE,EAAA,IAAAA,EAAA,GAAA3qI,OAEA,IAAAwH,EAAA,EAAiBA,EAAAmjI,EAAA3qI,OAAiBwH,IAClC,OAAAgjI,EACAn0H,MAAAs0H,EAAAnjI,MACAmjI,EAAAnjI,GAAAojI,EAAApjI,SAGA,QAAA2F,EAAA,EAAqBA,EAAAs9H,EAAUt9H,IAC/BkJ,MAAAs0H,EAAAnjI,GAAA2F,MACAw9H,EAAAnjI,GAAA2F,GAAAy9H,EAAApjI,GAAA2F,IAcA,SAAA69H,EAAAL,EAAAC,EAAAJ,GACA,GAAAG,IAAAC,EACA,SAGA,IAAA1hI,EAAAyhI,EAAA3qI,OAEA,GAAAkJ,IAAA0hI,EAAA5qI,OACA,SAGA,OAAAwqI,GACA,QAAAhjI,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5B,GAAAmjI,EAAAnjI,KAAAojI,EAAApjI,GACA,aAIA,KAAAijI,EAAAE,EAAA,GAAA3qI,OAEA,IAAAwH,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5B,QAAA2F,EAAA,EAAqBA,EAAAs9H,EAAUt9H,IAC/B,GAAAw9H,EAAAnjI,GAAA2F,KAAAy9H,EAAApjI,GAAA2F,GACA,SAMA,SAgBA,SAAA89H,EAAAnyH,EAAAC,EAAAC,EAAAwxC,EAAA3xC,EAAA8zC,EAAAu+E,EAAApvG,EAAA0uG,GACA,IAAAthI,EAAA4P,EAAA9Y,OAEA,MAAAwqI,EACA,QAAAhjI,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5Bs0B,EAAAt0B,GAAA2jI,EAAAryH,EAAAtR,GAAAuR,EAAAvR,GAAAwR,EAAAxR,GAAAgjD,EAAAhjD,GAAAqR,EAAA8zC,EAAAu+E,OAGA,KAAAT,EAAA3xH,EAAA,GAAA9Y,OAEA,IAAAwH,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5B,QAAA2F,EAAA,EAAqBA,EAAAs9H,EAAUt9H,IAC/B2uB,EAAAt0B,GAAA2F,GAAAg+H,EAAAryH,EAAAtR,GAAA2F,GAAA4L,EAAAvR,GAAA2F,GAAA6L,EAAAxR,GAAA2F,GAAAq9C,EAAAhjD,GAAA2F,GAAA0L,EAAA8zC,EAAAu+E,IAkBA,SAAAC,EAAAryH,EAAAC,EAAAC,EAAAwxC,EAAA3xC,EAAA8zC,EAAAu+E,GACA,IAAAx7B,EAAA,IAAA12F,EAAAF,GACAZ,EAAA,IAAAsyC,EAAAzxC,GACA,UAAAA,EAAAC,GAAA02F,EAAAx3F,GAAAgzH,IAAA,GAAAnyH,EAAAC,GAAA,EAAA02F,EAAAx3F,GAAAy0C,EAAA+iD,EAAA72F,EAAAE,EAGA,SAAAqyH,EAAA1qI,GACA,GAAAolD,EAAAplD,GAAA,CACA,IAAAwI,EAAAxI,EAAAV,OAEA,GAAA8lD,EAAAplD,EAAA,KAGA,IAFA,IAAAkhE,EAAA,GAEAp6D,EAAA,EAAqBA,EAAA0B,EAAS1B,IAC9Bo6D,EAAAxyD,KAAA86H,EAAA1tI,KAAAkE,EAAA8G,KAGA,OAAAo6D,EAGA,OAAAsoE,EAAA1tI,KAAAkE,GAGA,OAAAA,EAGA,SAAA2qI,EAAAz1G,GAIA,OAHAA,EAAA,GAAAzyB,KAAAmK,MAAAsoB,EAAA,IACAA,EAAA,GAAAzyB,KAAAmK,MAAAsoB,EAAA,IACAA,EAAA,GAAAzyB,KAAAmK,MAAAsoB,EAAA,IACA,QAAAA,EAAAnpB,KAAA,SAGA,SAAA6+H,EAAAC,GACA,IAAAC,EAAAD,IAAAvrI,OAAA,GAAAU,MACA,OAAAolD,EAAA0lF,KAAA,QAGA,SAAAC,EAAAttD,EAAA3lD,EAAAkzG,EAAAH,EAAA/pE,EAAAmqE,GACA,IAAA1hH,EAAAk0D,EAAAytD,QACAC,EAAA1tD,EAAA2tD,QACAC,EAAA,WAAAvzG,EACAwzG,EAAAT,EAAAvrI,OAEA,GAAAgsI,EAAA,CAKA,IAMAC,EANAC,EAAAX,EAAA,GAAA7qI,MACAyrI,EAAArmF,EAAAomF,GACAE,GAAA,EACAC,GAAA,EAEA7B,EAAA2B,EAAAb,EAAAC,GAAA,EAGAA,EAAA74G,KAAA,SAAA1tB,EAAAC,GACA,OAAAD,EAAAwvB,KAAAvvB,EAAAuvB,OAEAy3G,EAAAV,EAAAS,EAAA,GAAAx3G,KAQA,IANA,IAAA83G,EAAA,GAEAC,EAAA,GACAC,EAAAjB,EAAA,GAAA7qI,MACA+rI,GAAA,EAEAjlI,EAAA,EAAiBA,EAAAwkI,EAAcxkI,IAAA,CAC/B8kI,EAAAl9H,KAAAm8H,EAAA/jI,GAAAgtB,KAAAy3G,GAEA,IAAAvrI,EAAA6qI,EAAA/jI,GAAA9G,MAQA,GANAyrI,GAAAnB,EAAAtqI,EAAA8rI,EAAAhC,KAAA2B,GAAAzrI,IAAA8rI,IACAC,GAAA,GAGAD,EAAA9rI,EAEA,iBAAAA,EAAA,CACA,IAAAgsI,EAAAnpH,EAAAsS,MAAAn1B,GAEAgsI,GACAhsI,EAAAgsI,EACAN,GAAA,GAEAC,GAAA,EAIAE,EAAAn9H,KAAA1O,GAGA,GAAAirI,IAAAc,EAAA,CAIA,IAAAjB,EAAAe,EAAAP,EAAA,GAEA,IAAAxkI,EAAA,EAAiBA,EAAAwkI,EAAA,EAAkBxkI,IACnC2kI,EACAzB,EAAA6B,EAAA/kI,GAAAgkI,EAAAhB,IAEAn0H,MAAAk2H,EAAA/kI,KAAA6O,MAAAm1H,IAAAa,GAAAD,IACAG,EAAA/kI,GAAAgkI,GAKAW,GAAAzB,EAAAzgH,EAAAk0D,EAAAwuD,QAAAnrE,GAAAgqE,EAAAhB,GAGA,IAEA3hH,EACA/pB,EACAga,EACAC,EACAC,EACAwxC,EAPAoiF,EAAA,EACAC,EAAA,EAQA,GAAAT,EACA,IAAAx2G,EAAA,UAGA,IAAAk3G,EAAA,SAAAh6H,EAAA8hG,GAIA,IAAA1+F,EAEA,GAAA0+F,EAAA,EACA1+F,EAAA,OACK,GAAA0+F,EAAAi4B,EAAA,CAKL,IAFAhkH,EAAA1lB,KAAAQ,IAAAipI,EAAA,EAAAZ,EAAA,GAEA91H,EAAA2S,EAAyB3S,GAAA,EAAYA,IACrC,GAAAo2H,EAAAp2H,IAAA0+F,EACA,MAKA1+F,EAAA/S,KAAAQ,IAAAuS,EAAA81H,EAAA,OACK,CACL,IAAA91H,EAAA02H,EAA6B12H,EAAA81H,EAAkB91H,IAC/C,GAAAo2H,EAAAp2H,GAAA0+F,EACA,MAIA1+F,EAAA/S,KAAAQ,IAAAuS,EAAA,EAAA81H,EAAA,GAGAY,EAAA12H,EACA22H,EAAAj4B,EACA,IAAAH,EAAA63B,EAAAp2H,EAAA,GAAAo2H,EAAAp2H,GAEA,OAAAu+F,EAMA,GAHA31G,GAAA81G,EAAA03B,EAAAp2H,IAAAu+F,EAGAs3B,EAMA,GALAhzH,EAAAwzH,EAAAr2H,GACA4C,EAAAyzH,EAAA,IAAAr2H,MAAA,GACA8C,EAAAuzH,EAAAr2H,EAAA81H,EAAA,EAAAA,EAAA,EAAA91H,EAAA,GACAs0C,EAAA+hF,EAAAr2H,EAAA81H,EAAA,EAAAA,EAAA,EAAA91H,EAAA,GAEAi2H,EACAlB,EAAAnyH,EAAAC,EAAAC,EAAAwxC,EAAA1rD,YAAAmrB,EAAAnX,EAAA0uD,GAAAgpE,OACO,CAGP,GAAA4B,EACA1rI,EAAAuqI,EAAAnyH,EAAAC,EAAAC,EAAAwxC,EAAA1rD,YAAA82B,EAAA,GACAl1B,EAAA2qI,EAAAz1G,OACS,IAAAy2G,EAET,OAAA/B,EAAAvxH,EAAAC,EAAAla,GAEA4B,EAAAyqI,EAAAryH,EAAAC,EAAAC,EAAAwxC,EAAA1rD,aAGA+sI,EAAA/4H,EAAA0uD,EAAA9gE,QAGA,GAAAyrI,EACA5B,EAAAgC,EAAAr2H,GAAAq2H,EAAAr2H,EAAA,GAAApX,EAAAmrB,EAAAnX,EAAA0uD,GAAAgpE,OACO,CACP,IAAA9pI,EAEA,GAAA0rI,EACA7B,EAAAgC,EAAAr2H,GAAAq2H,EAAAr2H,EAAA,GAAApX,EAAA82B,EAAA,GACAl1B,EAAA2qI,EAAAz1G,OACS,IAAAy2G,EAET,OAAA/B,EAAAiC,EAAAr2H,GAAAq2H,EAAAr2H,EAAA,GAAApX,GAEA4B,EAAA2pI,EAAAkC,EAAAr2H,GAAAq2H,EAAAr2H,EAAA,GAAApX,GAGA+sI,EAAA/4H,EAAA0uD,EAAA9gE,KAKAqsI,EAAA,IAAA9C,EAAA,CACAn3H,OAAAqrE,EAAAwuD,QACAK,KAAAf,EACAgB,KAAA9uD,EAAA+uD,MACAC,MAAAhvD,EAAAivD,OACAN,UACAO,UAAA3B,IAOA,OAJAlzG,GAAA,WAAAA,IACAu0G,EAAAv0G,UAGAu0G,IAYA,IAAAO,EAAA,SAAAx6H,EAAAm6H,EAAAhjH,EAAA4hH,GACApvI,KAAA8wI,QAAA,GACA9wI,KAAAkwI,QAAA75H,EACArW,KAAAywI,MAAAD,IAAA,EACAxwI,KAAAmvI,QAAA3hH,GAAAkgH,EACA1tI,KAAAqvI,QAAAD,GAAAzB,EACA3tI,KAAA+wI,WAAA,EACA/wI,KAAA2wI,OAAA,EACA3wI,KAAAgxI,UAAA,GACAhxI,KAAAixI,aAAA,GACAjxI,KAAAkxI,UAAA,IAGAL,EAAA5wI,UAAA,CAOAu8B,KAAA,SAAAzE,EAEAlT,GACA,IAAAssH,EAAAnxI,KAAA8wI,QAEA,QAAA/rE,KAAAlgD,EACA,GAAAA,EAAA3Z,eAAA65D,GAAA,CAIA,IAAAosE,EAAApsE,GAAA,CACAosE,EAAApsE,GAAA,GAEA,IAAA9gE,EAAAjE,KAAAmvI,QAAAnvI,KAAAkwI,QAAAnrE,GAEA,SAAA9gE,EAEA,SAOA,IAAA8zB,GACAo5G,EAAApsE,GAAApyD,KAAA,CACAolB,KAAA,EACA9zB,MAAA0qI,EAAA1qI,KAKAktI,EAAApsE,GAAApyD,KAAA,CACAolB,OACA9zB,MAAA4gB,EAAAkgD,KAIA,OAAA/kE,MAQAy8B,OAAA,SAAA41C,GAGA,OAFAryE,KAAAixI,aAAAt+H,KAAA0/D,GAEAryE,MAEAoxI,MAAA,WACA,QAAArmI,EAAA,EAAmBA,EAAA/K,KAAAkxI,UAAA3tI,OAA2BwH,IAC9C/K,KAAAkxI,UAAAnmI,GAAAqmI,QAGApxI,KAAAqxI,SAAA,GAEAC,OAAA,WACA,QAAAvmI,EAAA,EAAmBA,EAAA/K,KAAAkxI,UAAA3tI,OAA2BwH,IAC9C/K,KAAAkxI,UAAAnmI,GAAAumI,SAGAtxI,KAAAqxI,SAAA,GAEAE,SAAA,WACA,QAAAvxI,KAAAqxI,SAEAG,cAAA,WAEAxxI,KAAA8wI,QAAA,GAEA9wI,KAAAkxI,UAAA3tI,OAAA,EAIA,IAHA,IAAAkuI,EAAAzxI,KAAAgxI,UACAvkI,EAAAglI,EAAAluI,OAEAwH,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5B0mI,EAAA1mI,GAAAhL,KAAAC,OAWAosB,MAAA,SAAA2P,EAAAmzG,GACA,IAWAwC,EAXAhqG,EAAA1nC,KACA2xI,EAAA,EAEA1C,EAAA,WACA0C,IAEAA,GACAjqG,EAAA8pG,iBAMA,QAAAzsE,KAAA/kE,KAAA8wI,QACA,GAAA9wI,KAAA8wI,QAAA5lI,eAAA65D,GAAA,CAIA,IAAAurE,EAAAtB,EAAAhvI,KAAA+7B,EAAAkzG,EAAAjvI,KAAA8wI,QAAA/rE,KAAAmqE,GAEAoB,IACAtwI,KAAAkxI,UAAAv+H,KAAA29H,GAEAqB,IAEA3xI,KAAA09E,WACA19E,KAAA09E,UAAAk0D,QAAAtB,GAGAoB,EAAApB,GAKA,GAAAoB,EAAA,CACA,IAAAG,EAAAH,EAAArB,QAEAqB,EAAArB,QAAA,SAAAh6H,EAAA8hG,GACA05B,EAAAx7H,EAAA8hG,GAEA,QAAAptG,EAAA,EAAuBA,EAAA28B,EAAAupG,aAAA1tI,OAA8BwH,IACrD28B,EAAAupG,aAAAlmI,GAAAsL,EAAA8hG,IAYA,OAJAw5B,GACA3xI,KAAAwxI,gBAGAxxI,MAOAkX,KAAA,SAAAo2H,GAIA,IAHA,IAAAwE,EAAA9xI,KAAAkxI,UACAxzD,EAAA19E,KAAA09E,UAEA3yE,EAAA,EAAmBA,EAAA+mI,EAAAvuI,OAAqBwH,IAAA,CACxC,IAAAulI,EAAAwB,EAAA/mI,GAEAuiI,GAEAgD,EAAAD,QAAArwI,KAAAkwI,QAAA,GAGAxyD,KAAAq0D,WAAAzB,GAGAwB,EAAAvuI,OAAA,GAQAmtI,MAAA,SAAA34G,GAEA,OADA/3B,KAAA2wI,OAAA54G,EACA/3B,MAQAgE,KAAA,SAAA+xB,GAKA,OAJAA,GACA/1B,KAAAgxI,UAAAr+H,KAAAojB,GAGA/1B,MAMAgyI,SAAA,WACA,OAAAhyI,KAAAkxI,YAGA,IAAAzuI,EAAAouI,EACAnuI,EAAAC,QAAAF,GAIA,SAAAC,EAAAC,EAAA9D,GAEA,IAAAozI,EAAApzI,EAAA,KAgBA,SAAA2uI,EAAA39H,GACA7P,KAAAkwI,QAAArgI,EAAAwG,OAEArW,KAAAkyI,MAAAriI,EAAA0gI,MAAA,IAEAvwI,KAAA2wI,OAAA9gI,EAAA6gI,OAAA,EAGA1wI,KAAAmyI,cAAA,EAEAnyI,KAAAwwI,KAAA,MAAA3gI,EAAA2gI,MAAA3gI,EAAA2gI,KACAxwI,KAAAmiF,IAAAtyE,EAAAsyE,KAAA,EACAniF,KAAA+7B,OAAAlsB,EAAAksB,QAAA,SACA/7B,KAAAqwI,QAAAxgI,EAAAwgI,QACArwI,KAAA4wI,UAAA/gI,EAAA+gI,UACA5wI,KAAAoyI,UAAAviI,EAAAuiI,UACApyI,KAAAqyI,YAAA,EACAryI,KAAAqxI,SAAA,EAGA7D,EAAAvtI,UAAA,CACAC,YAAAstI,EACAhqI,KAAA,SAAA8uI,EAAAtyD,GAQA,GALAhgF,KAAAmyI,eACAnyI,KAAAuyI,WAAAD,EAAAtyI,KAAA2wI,OACA3wI,KAAAmyI,cAAA,GAGAnyI,KAAAqxI,QACArxI,KAAAqyI,aAAAryD,MADA,CAKA,IAAAm4B,GAAAm6B,EAAAtyI,KAAAuyI,WAAAvyI,KAAAqyI,aAAAryI,KAAAkyI,MAEA,KAAA/5B,EAAA,IAIAA,EAAAzxG,KAAAQ,IAAAixG,EAAA,GACA,IAAAp8E,EAAA/7B,KAAA+7B,OACAy2G,EAAA,iBAAAz2G,EAAAk2G,EAAAl2G,KACA02G,EAAA,oBAAAD,IAAAr6B,KAGA,OAFAn4G,KAAA0yI,KAAA,QAAAD,GAEA,GAAAt6B,EACAn4G,KAAAwwI,MACAxwI,KAAA2yI,QAAAL,GAGA,YAKAtyI,KAAA4yI,cAAA,EACA,WAGA,QAEAD,QAAA,SAAAL,GACA,IAAA34B,GAAA24B,EAAAtyI,KAAAuyI,WAAAvyI,KAAAqyI,aAAAryI,KAAAkyI,MACAlyI,KAAAuyI,WAAAD,EAAA34B,EAAA35G,KAAAmiF,IACAniF,KAAAqyI,YAAA,EACAryI,KAAA4yI,cAAA,GAEAF,KAAA,SAAAG,EAAA7sF,GACA6sF,EAAA,KAAAA,EAEA7yI,KAAA6yI,IACA7yI,KAAA6yI,GAAA7yI,KAAAkwI,QAAAlqF,IAGAorF,MAAA,WACApxI,KAAAqxI,SAAA,GAEAC,OAAA,WACAtxI,KAAAqxI,SAAA,IAGA,IAAA5uI,EAAA+qI,EACA9qI,EAAAC,QAAAF,GAIA,SAAAC,EAAAC,GAOA,IAAAo5B,EAAA,CAKA+2G,OAAA,SAAApyH,GACA,OAAAA,GAOAqyH,YAAA,SAAAryH,GACA,OAAAA,KAOAsyH,aAAA,SAAAtyH,GACA,OAAAA,GAAA,EAAAA,IAOAuyH,eAAA,SAAAvyH,GACA,OAAAA,GAAA,KACA,GAAAA,KAGA,MAAAA,KAAA,OAQAwyH,QAAA,SAAAxyH,GACA,OAAAA,OAOAyyH,SAAA,SAAAzyH,GACA,QAAAA,MAAA,GAOA0yH,WAAA,SAAA1yH,GACA,OAAAA,GAAA,KACA,GAAAA,MAGA,KAAAA,GAAA,GAAAA,IAAA,IAQA2yH,UAAA,SAAA3yH,GACA,OAAAA,SAOA4yH,WAAA,SAAA5yH,GACA,YAAAA,SAOA6yH,aAAA,SAAA7yH,GACA,OAAAA,GAAA,KACA,GAAAA,SAGA,KAAAA,GAAA,GAAAA,MAAA,IAQA8yH,UAAA,SAAA9yH,GACA,OAAAA,WAOA+yH,WAAA,SAAA/yH,GACA,QAAAA,UAAA,GAOAgzH,aAAA,SAAAhzH,GACA,OAAAA,GAAA,KACA,GAAAA,UAGA,KAAAA,GAAA,GAAAA,QAAA,IAQAizH,aAAA,SAAAjzH,GACA,SAAAha,KAAAwY,IAAAwB,EAAAha,KAAAC,GAAA,IAOAitI,cAAA,SAAAlzH,GACA,OAAAha,KAAA0Y,IAAAsB,EAAAha,KAAAC,GAAA,IAOAktI,gBAAA,SAAAnzH,GACA,YAAAha,KAAAwY,IAAAxY,KAAAC,GAAA+Z,KAQAozH,cAAA,SAAApzH,GACA,WAAAA,EAAA,EAAAha,KAAA2uB,IAAA,KAAA3U,EAAA,IAOAqzH,eAAA,SAAArzH,GACA,WAAAA,EAAA,IAAAha,KAAA2uB,IAAA,MAAA3U,IAOAszH,iBAAA,SAAAtzH,GACA,WAAAA,EACA,EAGA,IAAAA,EACA,GAGAA,GAAA,KACA,GAAAha,KAAA2uB,IAAA,KAAA3U,EAAA,GAGA,MAAAha,KAAA2uB,IAAA,OAAA3U,EAAA,MAQAuzH,WAAA,SAAAvzH,GACA,SAAAha,KAAAk+C,KAAA,EAAAlkC,MAOAwzH,YAAA,SAAAxzH,GACA,OAAAha,KAAAk+C,KAAA,KAAAlkC,MAOAyzH,cAAA,SAAAzzH,GACA,OAAAA,GAAA,MACA,IAAAha,KAAAk+C,KAAA,EAAAlkC,KAAA,GAGA,IAAAha,KAAAk+C,KAAA,GAAAlkC,GAAA,GAAAA,GAAA,IAQA0zH,UAAA,SAAA1zH,GACA,IAAAuN,EACA1lB,EAAA,GACAuY,EAAA,GAEA,WAAAJ,EACA,EAGA,IAAAA,EACA,IAGAnY,KAAA,GACAA,EAAA,EACA0lB,EAAAnN,EAAA,GAEAmN,EAAAnN,EAAApa,KAAA64B,KAAA,EAAAh3B,IAAA,EAAA7B,KAAAC,KAGA4B,EAAA7B,KAAA2uB,IAAA,MAAA3U,GAAA,IAAAha,KAAA0Y,KAAAsB,EAAAuN,IAAA,EAAAvnB,KAAAC,IAAAma,KAOAuzH,WAAA,SAAA3zH,GACA,IAAAuN,EACA1lB,EAAA,GACAuY,EAAA,GAEA,WAAAJ,EACA,EAGA,IAAAA,EACA,IAGAnY,KAAA,GACAA,EAAA,EACA0lB,EAAAnN,EAAA,GAEAmN,EAAAnN,EAAApa,KAAA64B,KAAA,EAAAh3B,IAAA,EAAA7B,KAAAC,IAGA4B,EAAA7B,KAAA2uB,IAAA,MAAA3U,GAAAha,KAAA0Y,KAAAsB,EAAAuN,IAAA,EAAAvnB,KAAAC,IAAAma,GAAA,IAOAwzH,aAAA,SAAA5zH,GACA,IAAAuN,EACA1lB,EAAA,GACAuY,EAAA,GAEA,WAAAJ,EACA,EAGA,IAAAA,EACA,IAGAnY,KAAA,GACAA,EAAA,EACA0lB,EAAAnN,EAAA,GAEAmN,EAAAnN,EAAApa,KAAA64B,KAAA,EAAAh3B,IAAA,EAAA7B,KAAAC,KAGA+Z,GAAA,KACAnY,EAAA7B,KAAA2uB,IAAA,MAAA3U,GAAA,IAAAha,KAAA0Y,KAAAsB,EAAAuN,IAAA,EAAAvnB,KAAAC,IAAAma,IAAA,GAGAvY,EAAA7B,KAAA2uB,IAAA,OAAA3U,GAAA,IAAAha,KAAA0Y,KAAAsB,EAAAuN,IAAA,EAAAvnB,KAAAC,IAAAma,GAAA,OAQAyzH,OAAA,SAAA7zH,GACA,IAAAuN,EAAA,QACA,OAAAvN,MAAAuN,EAAA,GAAAvN,EAAAuN,IAOAumH,QAAA,SAAA9zH,GACA,IAAAuN,EAAA,QACA,QAAAvN,MAAAuN,EAAA,GAAAvN,EAAAuN,GAAA,GAOAwmH,UAAA,SAAA/zH,GACA,IAAAuN,EAAA,UAEA,OAAAvN,GAAA,KACAA,MAAAuN,EAAA,GAAAvN,EAAAuN,GAAA,GAGA,KAAAvN,GAAA,GAAAA,IAAAuN,EAAA,GAAAvN,EAAAuN,GAAA,IAQAymH,SAAA,SAAAh0H,GACA,SAAAqb,EAAA44G,UAAA,EAAAj0H,IAOAi0H,UAAA,SAAAj0H,GACA,OAAAA,EAAA,OACA,OAAAA,IACKA,EAAA,OACL,QAAAA,GAAA,UAAAA,EAAA,IACKA,EAAA,SACL,QAAAA,GAAA,WAAAA,EAAA,MAEA,QAAAA,GAAA,YAAAA,EAAA,SAQAk0H,YAAA,SAAAl0H,GACA,OAAAA,EAAA,GACA,GAAAqb,EAAA24G,SAAA,EAAAh0H,GAGA,GAAAqb,EAAA44G,UAAA,EAAAj0H,EAAA,QAGAje,EAAAs5B,EACAr5B,EAAAC,QAAAF,GAIA,SAAAC,EAAAC,EAAA9D,GAEA,IAAA8N,EAAA9N,EAAA,IAEAgwH,EAAA,CACAn7D,YAAA,UACAo7D,UAAA,gBACAC,aAAA,gBACAC,KAAA,cACAC,WAAA,gBACAC,MAAA,gBACAC,MAAA,gBACAC,OAAA,gBACAC,MAAA,UACAC,eAAA,gBACAC,KAAA,YACAC,WAAA,eACAC,MAAA,cACAC,UAAA,gBACAC,UAAA,eACAC,WAAA,cACAC,UAAA,eACAC,MAAA,eACAC,eAAA,gBACAC,SAAA,gBACAC,QAAA,cACAC,KAAA,cACAC,SAAA,YACAC,SAAA,cACAC,cAAA,eACAC,SAAA,gBACAC,UAAA,YACAC,SAAA,gBACAC,UAAA,gBACAC,YAAA,cACAC,eAAA,cACAC,WAAA,cACAC,WAAA,eACAC,QAAA,YACAC,WAAA,gBACAC,aAAA,gBACAC,cAAA,cACAC,cAAA,aACAC,cAAA,aACAC,cAAA,cACAC,WAAA,cACAC,SAAA,eACAC,YAAA,cACAC,QAAA,gBACAC,QAAA,gBACAC,WAAA,eACAC,UAAA,cACAC,YAAA,gBACAC,YAAA,cACAC,QAAA,cACAC,UAAA,gBACAC,WAAA,gBACAC,KAAA,cACAC,UAAA,eACAC,KAAA,gBACAC,MAAA,YACAC,YAAA,eACAC,KAAA,gBACAC,SAAA,gBACAC,QAAA,gBACAC,UAAA,cACAC,OAAA,aACAC,MAAA,gBACAC,MAAA,gBACAC,SAAA,gBACAC,cAAA,gBACAC,UAAA,cACAC,aAAA,gBACAC,UAAA,gBACAC,WAAA,gBACAC,UAAA,gBACAC,qBAAA,gBACAC,UAAA,gBACAC,WAAA,gBACAC,UAAA,gBACAC,UAAA,gBACAC,YAAA,gBACAC,cAAA,eACAC,aAAA,gBACAC,eAAA,gBACAC,eAAA,gBACAC,eAAA,gBACAC,YAAA,gBACAC,KAAA,YACAC,UAAA,cACAC,MAAA,gBACAC,QAAA,cACAC,OAAA,YACAC,iBAAA,gBACAC,WAAA,YACAC,aAAA,eACAC,aAAA,gBACAC,eAAA,eACAC,gBAAA,gBACAC,kBAAA,cACAC,gBAAA,eACAC,gBAAA,eACAC,aAAA,cACAC,UAAA,gBACAC,UAAA,gBACAC,SAAA,gBACAC,YAAA,gBACAC,KAAA,YACAC,QAAA,gBACAC,MAAA,cACAC,UAAA,eACAC,OAAA,cACAC,UAAA,aACAC,OAAA,gBACAC,cAAA,gBACAC,UAAA,gBACAC,cAAA,gBACAC,cAAA,gBACAC,WAAA,gBACAC,UAAA,gBACAC,KAAA,eACAC,KAAA,gBACAC,KAAA,gBACAC,WAAA,gBACAC,OAAA,cACAC,IAAA,YACAC,UAAA,gBACAC,UAAA,eACAC,YAAA,cACAC,OAAA,gBACAC,WAAA,eACAC,SAAA,cACAC,SAAA,gBACAC,OAAA,cACAC,OAAA,gBACAC,QAAA,gBACAC,UAAA,eACAC,UAAA,gBACAC,UAAA,gBACAC,KAAA,gBACAC,YAAA,cACAC,UAAA,eACA57D,IAAA,gBACA67D,KAAA,cACAC,QAAA,gBACAC,OAAA,cACAC,UAAA,eACAC,OAAA,gBACAC,MAAA,gBACAC,MAAA,gBACAC,WAAA,gBACAC,OAAA,cACAC,YAAA,gBAGA,SAAAC,EAAAjtH,GAIA,OAFAA,EAAArE,KAAAwT,MAAAnP,GAEAA,EAAA,IAAAA,EAAA,QAAAA,EAGA,SAAAktH,EAAAltH,GAIA,OAFAA,EAAArE,KAAAwT,MAAAnP,GAEAA,EAAA,IAAAA,EAAA,QAAAA,EAGA,SAAAmtH,EAAAt0H,GAEA,OAAAA,EAAA,IAAAA,EAAA,IAAAA,EAGA,SAAAu0H,EAAA7tH,GAEA,OAAAA,EAAA/G,QAAA,MAAA+G,EAAAmI,OAAAnI,EAAA/G,OAAA,GACAy0H,EAAAzsF,WAAAjhC,GAAA,SAGA0tH,EAAA7kH,SAAA7I,EAAA,KAGA,SAAA8tH,EAAA9tH,GAEA,OAAAA,EAAA/G,QAAA,MAAA+G,EAAAmI,OAAAnI,EAAA/G,OAAA,GACA20H,EAAA3sF,WAAAjhC,GAAA,KAGA4tH,EAAA3sF,WAAAjhC,IAGA,SAAA+tH,EAAA39B,EAAAC,EAAA55E,GAOA,OANAA,EAAA,EACAA,GAAA,EACGA,EAAA,IACHA,GAAA,GAGA,EAAAA,EAAA,EACA25E,GAAAC,EAAAD,GAAA35E,EAAA,EAGA,EAAAA,EAAA,EACA45E,EAGA,EAAA55E,EAAA,EACA25E,GAAAC,EAAAD,IAAA,IAAA35E,GAAA,EAGA25E,EAGA,SAAA49B,EAAA/vH,EAAAC,EAAAsY,GACA,OAAAvY,GAAAC,EAAAD,GAAAuY,EAGA,SAAAy3G,EAAAl5F,EAAAzgB,EAAAgtC,EAAApjD,EAAAD,GAKA,OAJA82B,EAAA,GAAAzgB,EACAygB,EAAA,GAAAusB,EACAvsB,EAAA,GAAA72B,EACA62B,EAAA,GAAA92B,EACA82B,EAGA,SAAAm5F,EAAAn5F,EAAA92B,GAKA,OAJA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAGA,IAAAo5F,EAAA,IAAA9rH,EAAA,IACA+rH,EAAA,KAEA,SAAAC,EAAA5wG,EAAA4jF,GAEA+sB,GACAF,EAAAE,EAAA/sB,GAGA+sB,EAAAD,EAAAvrH,IAAA6a,EAAA2wG,GAAA/sB,EAAAzsE,SAUA,SAAA9F,EAAArR,EAAA4jF,GACA,GAAA5jF,EAAA,CAIA4jF,KAAA,GACA,IAAA8tB,EAAAhB,EAAAhzH,IAAAsiB,GAEA,GAAA0xG,EACA,OAAAjB,EAAA7sB,EAAA8tB,GAIA1xG,GAAA,GAEA,IAAAzd,EAAAyd,EAAAxd,QAAA,SAAAmvH,cAEA,GAAApvH,KAAAukH,EAGA,OAFA2J,EAAA7sB,EAAAkjB,EAAAvkH,IACAquH,EAAA5wG,EAAA4jF,GACAA,EAIA,SAAArhG,EAAAmI,OAAA,IA4BA,IAAAknH,EAAArvH,EAAA8gC,QAAA,KACAwuF,EAAAtvH,EAAA8gC,QAAA,KAEA,QAAAuuF,GAAAC,EAAA,IAAAtvH,EAAA/G,OAAA,CACA,IAAAs2H,EAAAvvH,EAAAwG,OAAA,EAAA6oH,GACA30G,EAAA1a,EAAAwG,OAAA6oH,EAAA,EAAAC,GAAAD,EAAA,IAAAlrH,MAAA,KACA6qB,EAAA,EAEA,OAAAugG,GACA,WACA,OAAA70G,EAAAzhB,OAEA,YADAg1H,EAAA5sB,EAAA,SAIAryE,EAAA8+F,EAAApzG,EAAAqH,OAIA,UACA,WAAArH,EAAAzhB,YACAg1H,EAAA5sB,EAAA,UAIA4sB,EAAA5sB,EAAAwsB,EAAAnzG,EAAA,IAAAmzG,EAAAnzG,EAAA,IAAAmzG,EAAAnzG,EAAA,IAAAsU,GACAq/F,EAAA5wG,EAAA4jF,GACAA,GAEA,WACA,WAAA3mF,EAAAzhB,YACAg1H,EAAA5sB,EAAA,UAIA3mF,EAAA,GAAAozG,EAAApzG,EAAA,IACA4zG,EAAA5zG,EAAA2mF,GACAgtB,EAAA5wG,EAAA4jF,GACAA,GAEA,UACA,WAAA3mF,EAAAzhB,YACAg1H,EAAA5sB,EAAA,UAIAitB,EAAA5zG,EAAA2mF,GACAgtB,EAAA5wG,EAAA4jF,GACAA,GAEA,QACA,QAIA4sB,EAAA5sB,EAAA,aAnFA,CACA,OAAArhG,EAAA/G,OAAA,CACA,IAAAu2H,EAAA3mH,SAAA7I,EAAAwG,OAAA,OAEA,OAAAgpH,GAAA,GAAAA,GAAA,MAKAvB,EAAA5sB,GAAA,KAAAmuB,IAAA,QAAAA,IAAA,MAAAA,GAAA,IAAAA,IAAA,KAAAA,GAAA,GAAAA,IAAA,KACAnB,EAAA5wG,EAAA4jF,GACAA,QANA4sB,EAAA5sB,EAAA,SAOK,OAAArhG,EAAA/G,OAAA,CACLu2H,EAAA3mH,SAAA7I,EAAAwG,OAAA,OAEA,OAAAgpH,GAAA,GAAAA,GAAA,UAKAvB,EAAA5sB,GAAA,SAAAmuB,IAAA,UAAAA,IAAA,MAAAA,EAAA,GACAnB,EAAA5wG,EAAA4jF,GACAA,QANA4sB,EAAA5sB,EAAA,YA6EA,SAAAitB,EAAAC,EAAA1/F,GACA,IAAApY,GAAAwqB,WAAAstF,EAAA,qBAIA5qG,EAAAmqG,EAAAS,EAAA,IACA7tH,EAAAotH,EAAAS,EAAA,IACAl+B,EAAA3vF,GAAA,GAAAA,GAAAijB,EAAA,GAAAjjB,EAAAijB,EAAAjjB,EAAAijB,EACAysE,EAAA,EAAA1vF,EAAA2vF,EAQA,OAPAxhE,KAAA,GACAo/F,EAAAp/F,EAAA6+F,EAAA,IAAAK,EAAA39B,EAAAC,EAAA55E,EAAA,MAAAi3G,EAAA,IAAAK,EAAA39B,EAAAC,EAAA55E,IAAAi3G,EAAA,IAAAK,EAAA39B,EAAAC,EAAA55E,EAAA,SAEA,IAAA83G,EAAAt1H,SACA41B,EAAA,GAAA0/F,EAAA,IAGA1/F,EAQA,SAAA2/F,EAAA3/F,GACA,GAAAA,EAAA,CAKA,IAUA4/F,EACAC,EAXAC,EAAA9/F,EAAA,OACA+/F,EAAA//F,EAAA,OACAggG,EAAAhgG,EAAA,OACAigG,EAAA1yH,KAAAQ,IAAA+xH,EAAAC,EAAAC,GAEAE,EAAA3yH,KAAAS,IAAA8xH,EAAAC,EAAAC,GAEAryH,EAAAuyH,EAAAD,EAEAjmB,GAAAkmB,EAAAD,GAAA,EAIA,OAAAtyH,EACAiyH,EAAA,EACAC,EAAA,MACG,CAEHA,EADA7lB,EAAA,GACArsG,GAAAuyH,EAAAD,GAEAtyH,GAAA,EAAAuyH,EAAAD,GAGA,IAAAE,IAAAD,EAAAJ,GAAA,EAAAnyH,EAAA,GAAAA,EACAyyH,IAAAF,EAAAH,GAAA,EAAApyH,EAAA,GAAAA,EACA0yH,IAAAH,EAAAF,GAAA,EAAAryH,EAAA,GAAAA,EAEAmyH,IAAAI,EACAN,EAAAS,EAAAD,EACKL,IAAAG,EACLN,EAAA,IAAAO,EAAAE,EACKL,IAAAE,IACLN,EAAA,IAAAQ,EAAAD,GAGAP,EAAA,IACAA,GAAA,GAGAA,EAAA,IACAA,GAAA,GAIA,IAAAF,EAAA,KAAAE,EAAAC,EAAA7lB,GAMA,OAJA,MAAAh6E,EAAA,IACA0/F,EAAAlmH,KAAAwmB,EAAA,IAGA0/F,GAUA,SAAAzyB,EAAAt/E,EAAAkgB,GACA,IAAAq/D,EAAAjtE,EAAAtS,GAEA,GAAAu/E,EAAA,CACA,QAAAt7F,EAAA,EAAmBA,EAAA,EAAOA,IAE1Bs7F,EAAAt7F,GADAi8B,EAAA,EACAq/D,EAAAt7F,IAAA,EAAAi8B,GAAA,GAEA,IAAAq/D,EAAAt7F,IAAAi8B,EAAAq/D,EAAAt7F,GAAA,EAGAs7F,EAAAt7F,GAAA,IACAs7F,EAAAt7F,GAAA,IACO+b,EAAA/b,GAAA,IACPs7F,EAAAt7F,GAAA,GAIA,OAAAgvH,EAAA1zB,EAAA,IAAAA,EAAA9iG,OAAA,eAUA,SAAAy2H,EAAAlzG,GACA,IAAAu/E,EAAAjtE,EAAAtS,GAEA,GAAAu/E,EACA,gBAAAA,EAAA,SAAAA,EAAA,SAAAA,EAAA,IAAAv9F,SAAA,IAAAo2B,MAAA,GAYA,SAAA+6F,EAAAC,EAAAC,EAAA96F,GACA,GAAA86F,KAAA52H,QAAA22H,GAAA,GAAAA,GAAA,GAIA76F,KAAA,GACA,IAAAp7B,EAAAi2H,GAAAC,EAAA52H,OAAA,GACA62H,EAAA1zH,KAAAmK,MAAA5M,GACAo2H,EAAA3zH,KAAA0gE,KAAAnjE,GACAq2H,EAAAH,EAAAC,GACAG,EAAAJ,EAAAE,GACAG,EAAAv2H,EAAAm2H,EAKA,OAJA/6F,EAAA,GAAA24F,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IACAn7F,EAAA,GAAA24F,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IACAn7F,EAAA,GAAA24F,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IACAn7F,EAAA,GAAA64F,EAAAI,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IACAn7F,GAOA,IAAAo7F,EAAAR,EAUA,SAAAl8F,EAAAm8F,EAAAC,EAAAO,GACA,GAAAP,KAAA52H,QAAA22H,GAAA,GAAAA,GAAA,GAIA,IAAAj2H,EAAAi2H,GAAAC,EAAA52H,OAAA,GACA62H,EAAA1zH,KAAAmK,MAAA5M,GACAo2H,EAAA3zH,KAAA0gE,KAAAnjE,GACAq2H,EAAAlhG,EAAA+gG,EAAAC,IACAG,EAAAnhG,EAAA+gG,EAAAE,IACAG,EAAAv2H,EAAAm2H,EACAtzG,EAAAizG,EAAA,CAAA/B,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IAAAxC,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IAAAxC,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IAAAtC,EAAAI,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,KAAA,QACA,OAAAE,EAAA,CACA5zG,QACAszG,YACAC,aACAp2H,SACG6iB,GAOH,IAAA6zG,EAAA58F,EAUA,SAAA68F,EAAA9zG,EAAA/F,EAAAkN,EAAAjjB,GAGA,GAFA8b,EAAAsS,EAAAtS,GAEAA,EAKA,OAJAA,EAAAgyG,EAAAhyG,GACA,MAAA/F,IAAA+F,EAAA,GAAAmxG,EAAAl3G,IACA,MAAAkN,IAAAnH,EAAA,GAAAsxG,EAAAnqG,IACA,MAAAjjB,IAAA8b,EAAA,GAAAsxG,EAAAptH,IACA+uH,EAAAnB,EAAA9xG,GAAA,QAWA,SAAA+zG,EAAA/zG,EAAAwS,GAGA,GAFAxS,EAAAsS,EAAAtS,GAEAA,GAAA,MAAAwS,EAEA,OADAxS,EAAA,GAAAoxG,EAAA5+F,GACAygG,EAAAjzG,EAAA,QAUA,SAAAizG,EAAAe,EAAA36H,GACA,GAAA26H,KAAAv3H,OAAA,CAIA,IAAAwkB,EAAA+yG,EAAA,OAAAA,EAAA,OAAAA,EAAA,GAMA,MAJA,SAAA36H,GAAA,SAAAA,GAAA,SAAAA,IACA4nB,GAAA,IAAA+yG,EAAA,IAGA36H,EAAA,IAAA4nB,EAAA,KAGAplB,EAAAy2B,QACAz2B,EAAAyjG,OACAzjG,EAAAq3H,QACAr3H,EAAAs3H,WACAt3H,EAAA83H,iBACA93H,EAAAo7B,OACAp7B,EAAAg4H,aACAh4H,EAAAi4H,YACAj4H,EAAAk4H,cACAl4H,EAAAo3H,aAIA,SAAAr3H,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,6iKAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,koNAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,2hDAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,wrHAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,8gMAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,6wHAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,4pBAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGAk4G,EAAA,mFAEA,SAAAC,EAAA3xH,EAAA4xH,GACA,GAAA5xH,KAAA4xH,KAAA5xH,EAAA4xH,GAAAloF,QAAA1pC,EAAA4xH,GAAAl4B,UAAA,CACA,IAAAm4B,EAAA7xH,EAAA4xH,GAAAloF,OACAooF,EAAA9xH,EAAA4xH,GAAAl4B,SAEAm4B,IACA7xH,EAAA4xH,GAAAC,GAEAC,IACA9xH,EAAA05F,SAAA15F,EAAA05F,UAAA,GACA15F,EAAA05F,SAAAk4B,GAAAE,IAKA,SAAAC,EAAA/xH,GACA2xH,EAAA3xH,EAAA,aACA2xH,EAAA3xH,EAAA,aACA2xH,EAAA3xH,EAAA,aACA2xH,EAAA3xH,EAAA,SAGA,SAAAgyH,EAAAC,GACAA,IAGAA,aAAA53H,QACA43H,EAAA,CAAAA,IAEAx4G,EAAAr0B,EAAAqpB,KAAAzK,KAAAiuH,EAAA,SAAAC,GACA,GAAAA,EAAAC,UAAA,CACA,IAAAC,EAAAF,EAAAC,UACA14G,EAAAr0B,EAAAqpB,KAAAltB,OAAA6wI,IAAA94B,WACA84B,EAAA94B,UAAA,SAKAvuF,EAAA,cAAA/K,GACAyZ,EAAAr0B,EAAAqpB,KAAAzK,KAAAhE,EAAAyC,OAAA,SAAAA,GACAgX,EAAAr0B,EAAAqpB,KAAAwZ,QAAAypG,EAAAjvH,EAAAzlB,OAAA,IACA+0I,EAAAtvH,GAGA,WAAAA,EAAA1gB,mBACA0gB,EAAA1gB,iBAAA,WACAie,EAAAqyH,SAAAryH,EAAAsyH,WAKAN,EAAAhyH,EAAAuyH,SACAP,EAAAhyH,EAAAwyH,SACAR,EAAAhyH,EAAAyyH,SACAT,EAAAhyH,EAAA0yH,QAEAf,EAAA3xH,EAAAsgF,SAKA,SAAA/gG,EAAAwrB,EAAArvB,GAEA,aACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KAHA,IAIAi3I,EAAAj3I,EAAA,GACAk3I,EAAAl3I,EAAAgvB,EAAAioH,GAQAC,EAAAxtI,EAAA+jB,eAAA,CACAnsB,KAAA,qBACAgX,MAAA,sBACAoV,OAAA,uBACC,SAAAC,EAAAjS,GACDA,EAAA8kG,cAAA,CACArzF,SAAA,SAAAgqH,MAAAxpH,GACK,SAAAyhD,GACLA,EAAA0N,QAAAnvD,OAIAupH,EAAAxtI,EAAA+jB,eAAA,CACAnsB,KAAA,wBACAgX,MAAA,wBACAoV,OAAA,0BACC,SAAAC,EAAAjS,MAGDw7H,EAAAxtI,EAAA+jB,eAAA,CACAnsB,KAAA,wBACAgX,MAAA,wBACAoV,OAAA,0BACC,SAAAC,EAAAjS,OAKD,SAAA7X,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAs5G,EAAAp3I,EAAA,KAIAq3I,EAAAt5G,EAAAr0B,EAAA4tI,qBAAA,CAEAh2I,KAAA,kBAEA6E,KAAA,KAKAoxI,iBAAA,WACA,OAAAp2I,KAAAua,QAAAwR,gBAAA,CACAC,SAAA,SACAnoB,MAAA7D,KAAAmjB,OAAAkzH,UACApqH,GAAAjsB,KAAAmjB,OAAAmzH,SACS,MAMT,SAAAC,EAAAC,EAAArzH,GAEA,OAAAA,EAAAhjB,OAAAgjB,EAAA5X,KAAA,oBAJAqxB,EAAAr0B,EAAA++E,OAAAmvD,4BAAAP,GAOAntI,OAAAktI,EAAA,KAAAltI,CAAA,IAAAmtI,EAAAK,EAAA,CACAjoI,KAAA,MAEAvF,OAAAktI,EAAA,KAAAltI,CAAA,IAAAmtI,EAAAK,EAAA,CACAjoI,KAAA,MAEAvF,OAAAktI,EAAA,KAAAltI,CAAA,IAAAmtI,EAAAK,EAAA,CACAjoI,KAAA,OAKA,SAAA5L,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA+5G,EAAA73I,EAAA,KACA83I,EAAA93I,EAAA,KACA+3I,EAAA/3I,EAAAgvB,EAAA8oH,GAMAE,EAAA,kCAQA3oH,EAAA,cAAA5S,EAAAw7H,EAAAC,EAAAC,GAEAp6G,EAAAr0B,EAAAqpB,KAAAzK,KAAA0vH,EAAA,SAAAI,GAEAH,EAAApyI,OAAA,CAEAvE,KAAAmb,EAAA,UAAA27H,EAKAC,cAAA,KAEAtzH,qBAAA,SAAAT,EAAA5I,GAEA,IAAA48H,EAAA58H,EAAA8J,WACAuY,EAAAr0B,EAAAqpB,KAAAzmB,MAAAgY,EAAAg0H,EAAA1xI,IAAAwxI,EAAA,WACAr6G,EAAAr0B,EAAAqpB,KAAAzmB,MAAAgY,EAAAnjB,KAAAskB,oBAEAnB,EAAAhjB,KAAA42I,EAAAz7H,EAAA6H,IAMAi0H,cAAA,WACA,IAAAC,EAAAr3I,KAAAmjB,OAEA,aAAAk0H,EAAAl3I,OACAH,KAAAk3I,cAAAN,EAAAruI,EAAA+uI,kBAAAt3I,QAIAu3I,cAAA,WACA,gBAAAv3I,KAAAmjB,OAAAhjB,KACA,OAAAH,KAAAk3I,cAAAM,YAIA1vD,eAAA,WACA,OAAA9nF,KAAAk3I,eAGAp0H,cAAA8Z,EAAAr0B,EAAAqpB,KAAAzmB,MACAyxB,EAAAr0B,EAAAqpB,KAAArc,MAAAmhI,EAAA,KAAAO,EAAA,WACAD,GAAA,IACA,OAMAF,EAAA1tF,WAAAjoC,yBACA7F,EAAA,SACAshB,EAAAr0B,EAAAqpB,KAAAjI,MAAAotH,EAAAz7H,MAMA,SAAA5Y,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGA7Z,EAAA,CACAo5F,MAAA,EAEA7O,YAAA,EAEAxoD,SAAA,EAGAv2C,KAAA,GAEAmpI,aAAA,SAEAC,cAAA,CACAhkI,SAAA,IAGAikI,QAAA,GAEAC,YAAA,GAEAC,SAAA,GAEAC,SAAA,GACAxC,UAAA,GAEAyC,UAAA,IAGAC,EAAAp7G,EAAAr0B,EAAAqpB,KAAAzmB,MAAA,CAEA8sI,aAAA,EAKAH,SAAA,CAGAI,gBAAA,EACAx7H,SAAA,QAGA44H,UAAA,CACA54H,SAAA,QAEAk7H,YAAA,CACA9yH,MAAA,CACAo3F,MAAA,KAGCp5F,GAEDjI,EAAA+hB,EAAAr0B,EAAAqpB,KAAAzmB,MAAA,CAEA8sI,YAAA,MAQAE,YAAA,EAIAP,YAAA,CACA9yH,MAAA,KAGChC,GAGDs1H,EAAAx7G,EAAAr0B,EAAAqpB,KAAAtc,SAAA,CACAyC,OAAA,EACA7Q,IAAA,UACAC,IAAA,WACC0T,GACDw9H,EAAAz7G,EAAAr0B,EAAAqpB,KAAAtc,SAAA,CACAgjI,QAAA,IACCz9H,GACDw9H,EAAAtgI,OAAA,EAEAmW,EAAA,MACAqqH,eAAAP,EACAQ,YAAA39H,EACA49H,WAAAL,EACAM,UAAAL,IAKA,SAAA31I,EAAAC,EAAA9D,GAEA,IAAA8O,EAAA9O,EAAA,IAEAgsD,EAAAl9C,EAAAk9C,cACAjhD,EAAA+D,EAAA/D,SACAwD,EAAAO,EAAAP,IA4BA,SAAAurI,EAAAvjI,GAKApV,KAAAw3I,WAAApiI,EAAAoiI,YAAA,GAMAx3I,KAAA44I,aAAAxjI,EAAAyjI,YAMA74I,KAAA84I,eAAA1jI,EAAA2jI,cAMA/4I,KAAA8M,KAQA6rI,EAAArB,kBAAA,SAAAzyI,GACA,IAAAse,EAAAte,EAAAse,OACA5X,EAAA4X,EAAA5X,KACAisI,EAAAjsI,GAAA6B,EAAA7B,EAAAqc,GACA,WAAA+wH,EAAA,CACAnB,aACAqB,aAAArB,EAEAuB,eAAA,IAAA51H,EAAA61H,gBAIA,IAAA75G,EAAAw5G,EAAA14I,UA0DA,SAAAg5I,EAAApxD,GACA,OAAAA,EAAA/6E,OAAA+6E,EAAA/6E,KAAA+9C,EAAAg9B,EAAA2vD,aAGA,SAAA5vH,EAAA9c,GACA,OAAAlB,EAAAkB,IAAA,MAAAA,EAAA7G,MACA6G,EAAA7G,MAEA6G,EAAA,GA5DAq0B,EAAA+5G,WAAA,SAAAC,GACA,OAAAF,EAAAj5I,MAAAyF,IAAA0zI,IAQAh6G,EAAAi6G,gBAAA,SAAAD,GACA,IAAAt1I,EACAg1I,EAAA74I,KAAA44I,aAMA,qBAAAO,IAAAN,EACA,OAAAM,EAWA,GAAAN,IAAA74I,KAAA84I,eAGA,OAFAj1I,EAAA7D,KAAAw3I,WAAAj0I,OACAvD,KAAAw3I,WAAA3zI,GAAAs1I,EACAt1I,EAGA,IAAAuJ,EAAA6rI,EAAAj5I,MAaA,OAZA6D,EAAAuJ,EAAA3H,IAAA0zI,GAEA,MAAAt1I,IACAg1I,GACAh1I,EAAA7D,KAAAw3I,WAAAj0I,OACAvD,KAAAw3I,WAAA3zI,GAAAs1I,EACA/rI,EAAAgmB,IAAA+lH,EAAAt1I,IAEAA,EAAAgW,KAIAhW,GAgBA,IAAApB,EAAAk2I,EACAj2I,EAAAC,QAAAF,GAIA,SAAAC,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA08G,EAAAx6I,EAAA,IACAy6I,EAAAz6I,EAAA,IACA06I,EAAA16I,EAAA,IAMA26I,EAAA58G,EAAAr0B,EAAA4tI,qBAAA,CAEAh2I,KAAA,SAEA4lH,aAAA,gCAEAjjG,cAAA,CAEAo5F,MAAA,EAEAC,QAAA,GAGA7sE,KAAA,EACAG,IAAA,EACAntC,MAAA,OACAC,OAAA,OAEAg6G,YAAA,OAGAH,SAAA,IACAC,UAAA,IACAC,SAAA,IAGAs7B,YAAA,CACA17B,MAAA,EACAu9B,UAAA,CACA3yH,MAAA,qBACAxkB,MAAA,GAGAwiB,MAAA,CACAo3F,MAAA,EAEArsC,UAAA,KAGAuT,OAAA,EAKAq5B,UAAA,CACA/oG,SAAA,GACAoT,MAAA,OACA41F,gBAAA,kBACAxrG,QAAA,EACAyrG,aAAA,KAKAk7B,SAAA,CACA37B,MAAA,EACAu9B,UAAA,CACA3yH,MAAA,OACAxkB,MAAA,EACAnC,KAAA,UAIA23I,SAAA,CACA57B,MAAA,EACA5L,QAAA,EACA/sG,OAAA,EACAk2I,UAAA,CACAn3I,MAAA,IAGAgzI,UAAA,CACAp5B,MAAA,EACA5L,QAAA,EACAhgE,OAAA,EACA8yC,OAAA,EACAq5B,UAAA,CACA/oG,SAAA,KAGAgmI,UAAA,CACAx9B,MAAA,EACAu9B,UAAA,CACA3yH,MAAA,SACAxkB,MAAA,EACAnC,KAAA,UAGA43I,UAAA,CACA77B,MAAA,EACAy9B,UAAA,CACA7yH,MAAA,oDAKA4+C,MAAA,CACAsH,KAAA,CAGA1zC,MAAA,GAGAC,KAAA,IAEA0zC,QAAA,CACAz1C,UAAA,KAIAijD,YAAA,CAMAnhD,MAAA,GAGAC,KAAA,GAEAmhD,YAAA,EAGAlrE,SAAA,IAGA4rE,YAAA,GAEAC,YAAA,QAKAz+C,EAAAr0B,EAAAqpB,KAAAzmB,MAAAquI,EAAAv5I,UAAAo5I,EAAA,MACAz8G,EAAAr0B,EAAAqpB,KAAAzmB,MAAAquI,EAAAv5I,UAAAq5I,EAAA,MACA18G,EAAAr0B,EAAAqpB,KAAAzmB,MAAAquI,EAAAv5I,UAAAs5I,EAAA,OAQA,SAAA72I,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAiiE,EAAA//F,EAAA,GACA+6I,EAAA/6I,EAAA,IACAigG,EAAAjgG,EAAA,IACAkgG,EAAAlgG,EAAA,GACAg7I,EAAAh7I,EAAA,IACAi7I,EAAAj7I,EAAA,IACAk7I,EAAAl7I,EAAA,KACAm7I,EAAAn7I,EAAA,KACAo7I,EAAAp7I,EAAA,IACAq7I,EAAAr7I,EAAA,IAQAy4B,EAAAynE,EAAA,KAAAznE,aAQAsnE,EAAA,KAAAprE,OAAA3B,OAAAqoH,EAAA,MAEA,cAAArvI,QAAA,SAAAyQ,GACAshB,EAAAr0B,EAAA4xI,oBAAA,CACAh6I,KAAAmb,EAAA,aAIA,IAAA8+H,EAAA,CAEAp4I,EAAA,EAEAC,EAAA,EAEAk7B,EAAA,GAGAP,EAAAr0B,EAAA4xI,oBAAA,CAEAh6I,KAAA,SAEAsmH,UAAA,EAEAvjG,KAAA,SAAA3I,EAAAxV,GAEA,IAAAs1I,EAAA,CAEA,wBACA,wBACA,0BACA,sBACA,uBACA,wBAGAC,EAAA,cAEAC,EAAA,IAAA37C,EAAA,KAAAnrE,SAAA,CAEAd,OAAAisE,EAAA,KAAA7kE,aAAA,cACAw5B,WAAA,EACAG,aAAA,IAEA8mF,EAAA,IAAA57C,EAAA,KAAAnrE,SAAA,CAEAd,OAAAisE,EAAA,KAAA7kE,aAAA,oBACAw5B,WAAA,EACAG,aAAA,IAEA6mF,EAAAhgH,OAAA,2BACAggH,EAAAhgH,OAAA,uBAEAv6B,KAAA8mH,QAAA,IAAAloB,EAAA,KAAAtrE,KAEAtzB,KAAAy6I,SAAA,IAAAb,EAAA,MACAzlI,GAAApP,EAAA2sB,UAEA1xB,KAAAy6I,SAAAv3H,OAGAljB,KAAA06I,OAAAL,EAAAjtI,IAAA,SAAAutI,GACA,IAAAC,EAAA,IAAAb,EAAA,KAAAY,EAAAH,EAAAD,GAEA,OADAv6I,KAAA8mH,QAAAvpF,IAAAq9G,EAAAp9E,UACAo9E,GACS56I,MAGTA,KAAA66I,MAAAP,EAAAltI,IAAA,SAAAkO,GACA,IAAAtW,EAAA,IAAAg1I,EAAA,KAAA1+H,EAAAk/H,GAEA,OADAx6I,KAAA8mH,QAAAvpF,IAAAv4B,EAAAw4D,UACAx4D,GACShF,MAET,IAAA2L,EAAA5G,EAAAmmF,sBAEAlrF,KAAA86I,kBAAA,IAAAjB,EAAA,MACAv3I,MAAA,IAAAC,OAAA,IACAqJ,iBAAAD,IAEA3L,KAAA86I,kBAAArkH,SAAA,WACA1xB,EAAA2sB,QAAAyB,WAGAnzB,KAAA+6I,qBAAA,IAAAn8C,EAAA,KAAArrE,KAAA,CACA0I,SAAA,IAAA6iE,EAAA,MAAmG34B,eAAA,IACnGtzC,SAAA2nH,EACAh1E,YAAA,EAEAm5B,eAAA,EACA9L,YAAA,IAEA7yF,KAAA8mH,QAAAvpF,IAAAv9B,KAAA+6I,sBAEA/6I,KAAAg7I,0BAAA,IAAAnB,EAAA,MACAv3I,MAAA,IAAAC,OAAA,IACAqJ,iBAAAD,IAEA3L,KAAAi7I,uBAAA,IAAAhB,EAAA,MACAt7C,eAAA,EAAA9L,YAAA,EACArtB,YAAA,IAEAxlE,KAAAi7I,uBAAApoH,SAAAO,IAAA,eAAApzB,KAAAg7I,0BAAAtkH,cACA12B,KAAA8mH,QAAAvpF,IAAAv9B,KAAAi7I,wBAEAj7I,KAAA4tE,WAAA,IAAAgxB,EAAA,KAAAtrE,KACAtzB,KAAAk7I,aAAA,IAAApB,EAAA,KACA95I,KAAAk7I,aAAAvtE,UAAA3tE,KAAA4tE,aAGA1a,OAAA,SAAA65C,EAAAxyF,EAAAxV,GAEA/E,KAAAm7I,OAAApuC,EACA/sG,KAAAggG,KAAAj7F,EAEA,IAAAq2I,EAAAruC,EAAA7nG,iBAGAk2I,EAAAlsE,OAAA3xC,IAAAv9B,KAAA4tE,YAEAm/B,EAAAtnG,IAAA,QACA21I,EAAAlsE,OAAA3xC,IAAAv9B,KAAA8mH,SAGAs0B,EAAAlsE,OAAA1iE,OAAAxM,KAAA8mH,SAKA,IAAAu0B,EAAAr7I,KAAAy6I,SACAY,EAAAv8D,UAAAs8D,EAAAlsE,QAEA,IAAA+P,EAAA8tB,EAAApyE,SAAA,eACA0gH,EAAAr8D,wBAAAC,EAAA,GAEAj/E,KAAA86I,kBAAApuI,QAEA2uI,EAAAxlI,IAAA,UACAk3F,EAAAtnG,IAAA,UACAzF,KAAA06I,OAAA7vI,QAAA,SAAA+vI,GACAA,EAAAruH,OAAAwgF,EAAAxyF,EAAAxV,IACa/E,MACbA,KAAA66I,MAAAhwI,QAAA,SAAA7F,GACAA,EAAAunB,OAAAwgF,EAAA/sG,KAAA86I,kBAAA/1I,IACa/E,OAGbq7I,EAAAzlI,GAAA,SAAA5V,KAAAs7I,gBAAA1yI,KAAA5I,KAAA+sG,EAAAhoG,GAAA/E,MAEAA,KAAAk7I,aAAA3tE,SAAA6tE,EAAAlsE,OAAA3R,OACAv9D,KAAAk7I,aAAAltE,YAAA++B,GAGAquC,EAAAlsE,OAAArN,cAAAkrC,EAAApyE,SAAA,cAAA51B,GACAq2I,EAAAlsE,OAAAnL,yBAAAgpC,EAAApyE,SAAA,0BAEA36B,KAAAu7I,kBAAAxuC,IAGA9f,YAAA,SAAA8f,EAAAxyF,EAAAxV,EAAA2hH,GAGA,IAAAtvF,EAAAsvF,EAAAtvF,SAEAp3B,KAAAk7I,aAAA7sE,qBAAAj3C,EAAA21E,EAAAhoG,GAEA/E,KAAAk7I,aAAAtsE,aAAAx3C,EAAA21E,EAAAhoG,IAMAy2I,gBAAA,SAAAC,EAAAlhI,EAAAxV,EAAAynB,GACAxsB,KAAA07I,qBACA17I,KAAA27I,mBAAAnvH,EAAAvoB,QAMA23I,gBAAA,SAAAH,EAAAlhI,EAAAxV,EAAAynB,GACAxsB,KAAA67I,sBAGAN,kBAAA,SAAAxuC,GACA,IAAAquC,EAAAruC,EAAA7nG,iBACAgqE,EAAAksE,EAAAlsE,OAGA69B,EAAAtnG,IAAA,SAAAsnG,EAAAtnG,IAAA,oBACAypE,EAAAt5D,GAAA,YAAA5V,KAAA87I,kCAAA97I,MAGAkvE,EAAAr5D,IAAA,YAAA7V,KAAA87I,oCAQAA,kCAAA,SAAA3lI,GAEA,IAAAA,EAAAE,OAAA,CAUA,IAPA,IAMA0lI,EANAhvC,EAAA/sG,KAAAm7I,OACAC,EAAAruC,EAAA7nG,iBACAgqE,EAAAksE,EAAAlsE,OAEAonB,EAAApnB,EAAA1Q,QAAAroD,EAAAI,QAAAJ,EAAAK,QAAA,IAAAooF,EAAA,KAAA7pE,KAGAhqB,EAAA,EAAuBA,EAAA/K,KAAA06I,OAAAn3I,OAAwBwH,IAAA,CAC/C,IAAA6vI,EAAA56I,KAAA06I,OAAA3vI,GACA,IAAA6vI,EAAAp9E,SAAAsT,UAAA,CAKA8pE,EAAAnmD,MAAA5nC,OAAA/uB,IAAAoxC,EAAA5c,OAAA0O,eAAA7jC,GAAA,GACAy9G,EAAAnmD,MAAA5nC,OAAA3uB,SAGA,IAAA2rC,EAAAysB,EAAA9B,eAAAomD,EAAAnmD,OACA,GAAA5qB,EAAA,CAGA,IAAAmyE,EAAAZ,EAAAa,QAAArB,EAAAD,SAAA,IACAuB,EAAAd,EAAAa,QAAArB,EAAAD,SAAA,IACAwB,EAAA/B,EAAAQ,EAAAD,SAAA,IACAyB,EAAAhC,EAAAQ,EAAAD,SAAA,IACAqB,EAAA17H,QAAAupD,EAAAzsC,MAAA++G,KAAAD,EAAA57H,QAAAupD,EAAAzsC,MAAAg/G,MACAL,EAAAlyE,KAIA,GAAAkyE,EAAA,CACA,IAAAxwI,EAAA6vI,EAAA/5B,YAAA06B,EAAA3+G,MAAA,OACAp9B,KAAA27I,mBAAApwI,GAEAvL,KAAA07I,0BAGA17I,KAAA67I,uBAIAP,gBAAA,SAAAvuC,EAAAhoG,GAEAgoG,EAAAtnG,IAAA,UACAzF,KAAAq8I,wBACAr8I,KAAAs8I,2BAGA,IAAAjB,EAAAr7I,KAAAy6I,SAEA11I,EAAAqoG,eAAA,CACAjtG,KAAA,qBACAm5B,MAAA+hH,EAAA98D,WACAhlD,KAAA8hH,EAAA78D,UACAhvE,SAAA6rI,EAAAn9D,cACAhiE,OAAAm/H,EAAA58D,YACAp2B,KAAAroD,KAAAgqB,IACAuyH,SAAAxvC,EAAA9gF,MAQAowH,sBAAA,WACA,IAAA/pF,EAAAtyD,KAAAy6I,SAAA17D,YACAy9D,EAAA,IAAA59C,EAAA,KAAArqE,QACA+9B,EAAA/lC,SACA,QAAA5O,EAAA,EAAyBA,EAAA3d,KAAA06I,OAAAn3I,OAAA,EAA8Boa,IAAA,CAEvD,IADA,IAAA8+H,EAAA,GACA/7H,EAAA,EAA2BA,EAAA,EAAOA,IAAA,CAClC,IAAAk6H,EAAA56I,KAAA06I,OAAA,EAAA/8H,EAAA+C,GACAk6H,EAAAp9E,SAAAqD,iBAAA27E,GACAA,EAAA99G,cAAA4zB,EAAAikB,YACAkmE,EAAA/7H,GAAA87H,EAAAr/G,EAGA,IAAAu/G,EAAAD,EAAA,GAAAA,EAAA,OACAvuD,EAAAluF,KAAA06I,OAAA,EAAA/8H,EAAA++H,GACAC,EAAA38I,KAAA06I,OAAA,EAAA/8H,EAAA,EAAA++H,GAEAxuD,EAAA1wB,SAAAsT,WAAA,EACA6rE,EAAAn/E,SAAAsT,WAAA,IAQAwrE,wBAAA,WAIA,IAAAlB,EAAAp7I,KAAAm7I,OAAAj2I,iBACA27E,EAAAu6D,EAAAa,QAAA,KACAr7D,EAAAw6D,EAAAa,QAAA,KACAW,EAAAxB,EAAAa,QAAA,KACAxsG,EAAAmtG,EAAAC,eACArtG,EAAAotG,EAAAE,eACAxtG,EAAAuxC,EAAAi8D,eACAvtG,EAAAsxC,EAAAg8D,eACAntG,EAAAkxC,EAAAi8D,eACAltG,EAAAixC,EAAAk8D,eAEAC,EAAA/8I,KAAA66I,MAAA,GAAAr9E,SACAw/E,EAAAh9I,KAAA66I,MAAA,GAAAr9E,SACAy/E,EAAAj9I,KAAA66I,MAAA,GAAAr9E,SAEA8c,EAAAt6E,KAAA06I,OAEAwC,EAAA5iE,EAAA,GAAA9c,SAAAsT,UAAAnhC,EAAAD,EACAytG,EAAA7iE,EAAA,GAAA9c,SAAAsT,UAAArhC,EAAAD,EACA4tG,EAAA9iE,EAAA,GAAA9c,SAAAsT,UAAAxhC,EAAAC,EACA8tG,EAAA/iE,EAAA,GAAA9c,SAAAsT,UAAArhC,EAAAD,EACA8tG,EAAAhjE,EAAA,GAAA9c,SAAAsT,UAAAvhC,EAAAD,EACAiuG,EAAAjjE,EAAA,GAAA9c,SAAAsT,UAAAnhC,EAAAD,EAEAqtG,EAAAv2I,SAAAopC,WACAotG,EAAAx2I,SAAAopC,WACAqtG,EAAAz2I,SAAAopC,WACA0qC,EAAA,GAAA9c,SAAAsT,YACA9wE,KAAA66I,MAAA,GAAA2C,SAAA,EACAT,EAAAv2I,SAAAgqC,QAAA9pC,KAAAC,KAEA2zE,EAAA,GAAA9c,SAAAsT,YACA9wE,KAAA66I,MAAA,GAAA2C,SAAA,EACAR,EAAAx2I,SAAAkqC,QAAAhqC,KAAAC,KAEA2zE,EAAA,GAAA9c,SAAAsT,YACA9wE,KAAA66I,MAAA,GAAA2C,SAAA,EACAP,EAAAz2I,SAAAiqC,QAAA/pC,KAAAC,KAGAo2I,EAAAz2I,SAAA8sB,IAAA,EAAA+pH,EAAAD,GACAF,EAAA12I,SAAA8sB,IAAAgqH,EAAAC,EAAA,GACAJ,EAAA32I,SAAA8sB,IAAAkqH,EAAA,EAAAC,GAEAR,EAAAxwH,SACAywH,EAAAzwH,SACA0wH,EAAA1wH,SAEAvsB,KAAAy9I,yBAOAA,sBAAA,WAEA,IAAAnrF,EAAAtyD,KAAAy6I,SAAA17D,YACA8mB,EAAA,KAAAjH,EAAA,KAAApqE,QAAA,IAAAoqE,EAAA,KAAApqE,SACAtY,EAAA,IAAA0iF,EAAA,KAAApqE,QACAx0B,KAAA8mH,QAAAjmD,iBAAA3kD,GACAA,EAAA7Z,EAAA,EACA6Z,EAAAwiB,cAAA4zB,EAAAikB,YACA73C,cAAA4zB,EAAAukB,kBACA36D,EAAAla,GAAAka,EAAA7Z,EACA6Z,EAAAja,GAAAia,EAAA7Z,EACArC,KAAA66I,MAAAhwI,QAAA,SAAA6yI,GAGA,IAFA,IAAAC,EAAAD,EAAAE,eAEA7yI,GADA2yI,EAAAG,WAAA5hH,SACA,GAA2BlxB,EAAA86F,EAAAtiG,OAAmBwH,IAC9C86F,EAAA96F,GAAAyyB,SAAAmgH,EAAA5yI,IACA86F,EAAA96F,GAAA1I,EAAA,EACAwjG,EAAA96F,GAAA2zB,cAAAg/G,EAAAlgF,SAAAwD,gBACAtiC,cAAA4zB,EAAAikB,YACA73C,cAAA4zB,EAAAukB,kBACAgvB,EAAA96F,GAAA/I,GAAA6jG,EAAA96F,GAAA1I,EACAwjG,EAAA96F,GAAA9I,GAAA4jG,EAAA96F,GAAA1I,EAEA,IAIAV,EACA4F,EALAyP,EAAA6uF,EAAA,GAAA7jG,EAAA6jG,EAAA,GAAA7jG,EACAiV,EAAA4uF,EAAA,GAAA5jG,EAAA4jG,EAAA,GAAA5jG,EACAwc,GAAAonF,EAAA,GAAA7jG,EAAA6jG,EAAA,GAAA7jG,GAAA,EACA0c,GAAAmnF,EAAA,GAAA5jG,EAAA4jG,EAAA,GAAA5jG,GAAA,EAGAyE,KAAAiR,IAAAV,EAAAD,GAAA,IACArV,EAAA,SACA4F,EAAAmX,EAAAxC,EAAAja,EAAA,iBAGAsF,EAAA,SACA5F,EAAA8c,EAAAvC,EAAAla,EAAA,gBAIA07I,EAAAI,eAAAn8I,EAAA4F,EAAAvH,KAAAggG,OACShgG,OAGT07I,mBAAA,WACA17I,KAAA+6I,qBAAAjqE,YAIA9wE,KAAA+6I,qBAAAjqE,WAAA,EACA9wE,KAAAi7I,uBAAAnqE,WAAA,EACA9wE,KAAAggG,KAAAtuE,QAAAyB,YAGA0oH,mBAAA,WACA77I,KAAA+6I,qBAAAjqE,YAIA9wE,KAAA+6I,qBAAAjqE,WAAA,EACA9wE,KAAAi7I,uBAAAnqE,WAAA,EACA9wE,KAAAggG,KAAAtuE,QAAAyB,YAKAwoH,mBAAA,SAAApwI,GACA,IAAA6vI,EAAAp7I,KAAAm7I,OAAAj2I,iBACA2kE,EAAAuxE,EAAA71I,YAAAgG,GAEAwyI,EAAA/9I,KAAA+6I,qBACAiD,EAAAD,EAAA9hH,SAEAgiH,EAAAj+I,KAAAm7I,OAAAxgH,SAAA,eAEAhvB,EAAA3L,KAAAggG,KAAA9U,sBAIA,SAAAgzD,EAAAl5I,GACA,OAAA+5F,EAAA,KAAAznE,aACAtyB,EAAA2e,MAAAle,IAAA,oBACAw4I,EAAAx4I,IAAA,SAGA,SAAA04I,EAAAn5I,GACA,IAAAF,EAAAE,EAAA2e,MAAAgX,SAAA,cAAAsjH,GACAG,EAAAt5I,EAAA61B,SAAA,aAEA7T,EAAA83E,EAAA,KAAA1lE,WAAAklH,EAAA34I,IAAA,UACAgL,EAAA6mB,EAAA8mH,EAAA34I,IAAA,YACAquD,EAAAx8B,EAAA8mH,EAAA34I,IAAA,cAGA,OAFAqhB,EAAA,IAAAgtC,EAEA,CACAhtC,QACArW,aApBAutI,EAAA3lE,uBAAA,GAuBA,QAAA33D,EAAA,EAAuBA,EAAA1gB,KAAA06I,OAAAn3I,OAAwBmd,IAAA,CAC/C,IAAAk6H,EAAA56I,KAAA06I,OAAAh6H,GACA,IAAAk6H,EAAAp9E,SAAAsT,UAAA,CAWA,IAPA,IAAA6pE,EAAAC,EAAAD,SACA0D,EAAA1D,EAAA,KACAS,EAAAa,QAAAtB,EAAA,IAAAmC,eACA1B,EAAAa,QAAAtB,EAAA,IAAAkC,eACAyB,EAAAlE,EAAAO,EAAA,IAGA5vI,EAAA,EAA2BA,EAAA,EAAOA,IAAA,CAClC,IAAAuQ,EAAAq/H,EAAA5vI,GACAwzI,EAAA5D,EAAA,EAAA5vI,GACA/F,EAAAo2I,EAAAa,QAAA3gI,GACAkjI,EAAApD,EAAAa,QAAAsC,GAEA,GAAAL,EAAAl5I,GAAA,CAIA,IAAAqX,EAAA,QAAmCC,EAAA,QACnCq8D,EAAAyhE,EAAA9+H,GACAmjI,EAAArE,EAAAmE,GACAliI,EAAAs8D,GAAAr8D,EAAAq8D,GAAA9O,EAAA8O,GAEAt8D,EAAAiiI,GAAAhiI,EAAAgiI,GAAAD,EACAhiI,EAAAoiI,GAAAD,EAAA1B,eACAxgI,EAAAmiI,GAAAD,EAAA3B,eAEA,IAAA6B,EAAAP,EAAAn5I,GACAg5I,EAAAt0E,QAAArtD,EAAAC,EAAAoiI,EAAA53H,MAAA43H,EAAAjuI,UAAA9E,IAIA,GAAAuyI,EAAA9C,EAAAa,QAAAtB,EAAA,MACAt+H,EAAAwtD,EAAA3qC,QACA5iB,EAAAutD,EAAA3qC,QACA5iB,EAAAgiI,GAAAD,EACAK,EAAAP,EAAA/C,EAAAa,QAAAtB,EAAA,KACAqD,EAAAt0E,QAAArtD,EAAAC,EAAAoiI,EAAA53H,MAAA43H,EAAAjuI,UAAA9E,KAGAqyI,EAAA1lE,sBAEAt4E,KAAA2+I,6BAAApzI,GAEAvL,KAAAggG,KAAAtuE,QAAAyB,WAGAwrH,6BAAA,SAAApzI,GACA,IAAAkwI,EAAAz7I,KAAAm7I,OACAyD,EAAA5+I,KAAAi7I,uBACA4D,EAAA7+I,KAAAg7I,0BACAI,EAAAK,EAAAv2I,iBAEA+4I,EAAAxC,EAAA9gH,SAAA,eAEAikH,EAAA3iH,SAAAo8C,uBAAA,GACAwmE,EAAAnyI,QAEA,IAAA8rE,EAAA,CACAx2E,EAAA,IAAAC,EAAA,IAAAk7B,EAAA,KAEAn9B,KAAA66I,MAAAhwI,QAAA,SAAA6yI,EAAA//H,GACA,IAAA3Y,EAAAo2I,EAAAa,QAAAyB,EAAApiI,KACAzW,EAAAG,EAAA2e,MACA7e,EAAAD,EAAA81B,SAAA,cAAAsjH,GACAv0C,EAAA5kG,EAAA61B,SAAA,SACAmkH,EAAAh6I,EAAAW,IAAA,mBACA,GAAAikG,EAAAjkG,IAAA,SAAAX,EAAAW,IAAA,SAGA,IAAAwD,EAAAsC,EAAAoS,GACAkyD,EAAA65B,EAAAjkG,IAAA,aACAzE,EAAAgE,EAAA+S,MAAAgnI,SAAA91I,GACA,SAAA4mE,EACA7uE,EAAA6uE,EAAA7uE,EAAAuK,QAGA,gBAAAvG,EAAA+S,MAAA5X,MAAA,QAAA6E,EAAA+S,MAAA5X,KAAA,CACA,IAAAu2D,EAAA95B,EAAAr0B,EAAAy2I,OAAAvmC,iBAAAzzG,EAAA+S,MAAAknI,WAAA,IACAj+I,EAAAiI,EAAAqvG,QAAA5hD,EAAA,GAIA,IAAAizC,EAAAD,EAAA/uE,SAAA,aACAukH,EAAAv1C,EAAAlkG,IAAA,SACAmkG,EAAA,IAAAhtE,EAAAr0B,EAAArE,QAAArE,KACA+8B,EAAAr0B,EAAArE,QAAA2lG,aAAAD,EAAArpG,MAAAopG,EAAA,CACA3oG,OACA8oG,SAAAo1C,GAAAJ,EACAn9I,UAAA,OACAC,kBAAA,QAEA,IAAAikG,EAAAg5C,EAAAthH,IAAAqsE,GACAnoG,EAAAmoG,EAAAroG,kBACAoK,EAAA3L,KAAAggG,KAAA9U,sBACA4V,EAAA48C,EAAAlgF,SAAAl3D,SAAA24B,UACAkgH,EAAA/E,EAAA5hE,EAAAklE,EAAApiI,MACAwlF,EAAAq+C,KAAAzB,EAAAF,SAAA,KAAA9zC,EAAAjkG,IAAA,UACAq7F,EAAAs5C,EAAAsD,EAAApiI,MAAAtW,EAAAo8G,YAAA71G,EAAAoS,IAEAihI,EAAA3iH,SAAA8tE,UACAjJ,EAAA,CAAAr/F,EAAAa,MAAAqJ,EAAAlK,EAAAc,OAAAoJ,GAAAk6F,EACA63C,EAAA/7I,UAAA+7I,EAAA97I,qBAES5B,MACT6+I,EAAAntH,QAAAu4E,qBACA20C,EAAA/rH,SAAAO,IAAA,UAAAyrH,EAAA70C,kBACA40C,EAAA3iH,SAAAq8C,uBAGAxiE,QAAA,WACA9V,KAAA8mH,QAAAziD,YACArkE,KAAAy6I,SAAA3kI,cAMA,SAAApT,EAAAwrB,EAAArvB,GAEA,aACA,IAAAugJ,EAAAvgJ,EAAA,IACA03F,EAAA13F,EAAA,IACA23F,EAAA33F,EAAA,IACAwgJ,EAAAxgJ,EAAA,IACAygJ,EAAAzgJ,EAAA,IACA0gJ,EAAA1gJ,EAAA,IACA2gJ,EAAA3gJ,EAAA,IACA4gJ,EAAA5gJ,EAAA,IAuCAqvB,EAAA,MACA1S,KAAA4jI,EAAA,KACAt2G,KAAAytD,EAAA,KACAxtD,KAAAytD,EAAA,KACArtD,KAAAk2G,EAAA,KACA/rC,MAAAgsC,EAAA,KACAl2G,KAAAm2G,EAAA,KACAl2G,KAAAm2G,EAAA,KACA9oD,KAAA+oD,EAAA,OAMA,SAAA/8I,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAiiE,EAAA//F,EAAA,GACA6gJ,EAAA7gJ,EAAA,GACAigG,EAAAjgG,EAAA,IACA8gJ,EAAA9gJ,EAAA,KAMAy4B,EAAAooH,EAAA,KAAApoH,aAEA8iH,EAAA,CAEAp4I,EAAA,EAEAC,EAAA,EAEAk7B,EAAA,GAGA,SAAAyiH,EAAAviI,EAAAo3E,EAAAorD,EAAAnmH,GACA,IAAAnZ,EAAA,QACA/Q,EAAAkqB,EAAA,EAAAmmH,EAAA/C,eAAA+C,EAAAhD,eACAt8H,EAAA65H,EAAAyF,EAAAvkI,MAAA9L,EACA6N,EAAA/W,SAAAk3B,SAAAjd,GACAlD,EAAA7W,SAAAopC,WAGA6kD,EAAAjlF,UAAA9I,KAAAiR,IAAAnI,GACAilF,EAAA5nC,OAAAz5B,IAAA,OACA,MAAAysH,EAAAvkI,KACA+B,EAAA7W,SAAAiqC,QAAA/W,EAAAhzB,KAAAC,GAAA,GACA8tF,EAAA5nC,OAAA7qD,GAAA03B,GAEA,MAAAmmH,EAAAvkI,KACA+B,EAAA7W,SAAAgqC,SAAA9W,EAAAhzB,KAAAC,GAAA,GACA8tF,EAAA5nC,OAAA5qD,GAAAy3B,IAGAA,EAAA,GACArc,EAAA7W,SAAAiqC,QAAA/pC,KAAAC,IAEA8tF,EAAA5nC,OAAA1vB,GAAAzD,GAKA,SAAAomH,EAAAnF,EAAAH,EAAAD,GACAv6I,KAAAw9D,SAAA,IAAAohC,EAAA,KAAAtrE,KAEA,IAAAiuE,EAAA,IAAA3C,EAAA,KAAArrE,KAAA,CACA0I,SAAA,IAAA6iE,EAAA,MAA+F34B,eAAA,IAC/FtzC,SAAA2nH,EACAh1E,YAAA,EACAm5B,eAAA,EACAiB,gBAAA,EACA/M,YAAA,IAEAktD,EAAA,IAAAnhD,EAAA,KAAArrE,KAAA,CACA0I,SAAA,IAAA0jH,EAAA,KACA9sH,SAAA0nH,EACA/0E,YAAA,EACAoU,SAAA,EACA+kB,eAAA,EACAiB,gBAAA,EACA/M,YAAA,IAGA7yF,KAAAw9D,SAAAjgC,IAAAwiH,GACA//I,KAAAw9D,SAAAjgC,IAAAgkE,GAEAvhG,KAAA26I,WACA36I,KAAAy0F,MAAA,IAAAmK,EAAA,KAAA9pE,MACA90B,KAAAuhG,YACAvhG,KAAA+/I,YAGAD,EAAA7/I,UAAAssB,OAAA,SAAAwgF,EAAAxyF,EAAAxV,GACA,IAAAq2I,EAAAruC,EAAA7nG,iBACA86I,EAAA,CACA5E,EAAAa,QAAAj8I,KAAA26I,SAAA,IACAS,EAAAa,QAAAj8I,KAAA26I,SAAA,KAEAsF,EAAAjgJ,KAAAuhG,UAAAtlE,SACAikH,EAAAlgJ,KAAA+/I,UAAA9jH,SAEAgkH,EAAA5nE,uBAAA,GACA6nE,EAAA7nE,uBAAA,GACAr4E,KAAAmgJ,kBAAAF,EAAAD,EAAAjzC,EAAAhoG,GACA/E,KAAAogJ,kBAAAF,EAAAF,EAAAjzC,EAAAhoG,GACAk7I,EAAA3nE,sBACA4nE,EAAA5nE,sBAGA,IAAAunE,EAAAzE,EAAAa,QAAAj8I,KAAA26I,SAAA,IACAiF,EAAA5/I,KAAAw9D,SAAAx9D,KAAAy0F,MAAAorD,EAAA7/I,KAAA26I,SAAA,KAGAmF,EAAA7/I,UAAAkgJ,kBAAA,SAAAlkH,EAAA+jH,EAAAjzC,EAAAhoG,GACA,IAAA4G,EAAA5G,EAAAmmF,sBACA80D,EAAAn1I,QAAA,SAAA7F,EAAA2Y,GACA,IAAA9Y,EAAAG,EAAA2e,MACAxe,EAAA66I,EAAA,EAAAriI,GAAA3C,YAEA,IAAAhW,EAAA+S,MAAAsoI,UAAA,CAIA,IAAAC,EAAAz7I,EAAA81B,SAAA,YAAAoyE,EAAApyE,SAAA,cAEA,GAAA2lH,EAAA76I,IAAA,SACA,IAAA24I,EAAAkC,EAAA3lH,SAAA,aACA4lH,EAAAnC,EAAA34I,IAAA,SACAquD,EAAAx8B,EAAA8mH,EAAA34I,IAAA,cACAgL,EAAA6mB,EAAA8mH,EAAA34I,IAAA,YAEA86I,EAAA3jH,EAAAr0B,EAAAqpB,KAAA5oB,QAAAu3I,KAAA,CAAAA,GAOA,IALA,IAAAC,EAAAx7I,EAAAy7I,eAAA,CACAC,UAAAJ,IAGA3mI,EAAA,EACA5O,EAAA,EAA2BA,EAAAy1I,EAAAj9I,OAAwBwH,IAAA,CACnD,IAAA41I,EAAAH,EAAAz1I,GAAAwV,MACAu+H,EAAAlgD,EAAA,KAAA1lE,WAAAqnH,EAAA5mI,EAAA4mI,EAAAh9I,SACAu7I,EAAA,IAAAhrF,EAEA,IAAAz3C,EAAA,QAAmCC,EAAA,QAEnCD,EAAAsB,GAAArB,EAAAqB,GAAAgjI,EACAtkI,EAAA,EAAAsB,GAAAxY,EAAA,GACAmX,EAAA,EAAAqB,GAAAxY,EAAA,GAEA82B,EAAAytC,QAAArtD,EAAAC,EAAAwiI,EAAAruI,EAAA9E,GAEAgO,UAMAmmI,EAAA7/I,UAAAmgJ,kBAAA,SAAAnkH,EAAA+jH,EAAAjzC,EAAAhoG,GACAi7I,EAAAn1I,QAAA,SAAA7F,EAAA2Y,GACA,IAAA9Y,EAAAG,EAAA2e,MACAxe,EAAA66I,EAAA,EAAAriI,GAAA3C,YAEA,IAAAhW,EAAA+S,MAAAsoI,UAAA,CAIA,IAAAO,EAAA/7I,EAAA81B,SAAA,YAAAoyE,EAAApyE,SAAA,cAEA,GAAAimH,EAAAn7I,IAAA,SACA,IAAAo7I,EAAAD,EAAAjmH,SAAA,aACAw/F,EAAA0mB,EAAAp7I,IAAA,SACAquD,EAAAx8B,EAAAupH,EAAAp7I,IAAA,cAEA00H,EAAAv9F,EAAAr0B,EAAAqpB,KAAA5oB,QAAAmxH,KAAA,CAAAA,GAWA,IATA,IAAAqmB,EAAAx7I,EAAAy7I,eAAA,CACAC,UAAAE,EACAxhH,OAAA,IAGAzlB,EAAA,EACAmnI,EAAA,QACAC,EAAA,QAEAh2I,EAAA,EAA2BA,EAAAy1I,EAAAj9I,OAAwBwH,IAAA,CACnD,IAAA41I,EAAAH,EAAAz1I,GAAAwV,MAEAlE,EAAA,QAAmCC,EAAA,QAMnC,GAJAD,EAAAsB,GAAArB,EAAAqB,GAAAgjI,EACAtkI,EAAA,EAAAsB,GAAAxY,EAAA,GACAmX,EAAA,EAAAqB,GAAAxY,EAAA,GAEA,IAAA4F,EAAA,CAMA,IAAA+b,EAAA83E,EAAA,KAAA1lE,WAAAihG,EAAAxgH,EAAAwgH,EAAA52H,SACAujB,EAAA,IAAAgtC,EACA73B,EAAA+kH,QAAA,CAAAF,EAAAzkI,EAAAC,EAAAykI,GAAAj6H,GAEAg6H,EAAAzkI,EACA0kI,EAAAzkI,EAEA3C,SAZAmnI,EAAAzkI,EACA0kI,EAAAzkI,QAiBA4R,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA8mE,EAAA9mE,EAAA,IACA+mE,EAAA/mE,EAAA,GACAgnE,EAAAhnE,EAAAgvB,EAAA+3C,GACAE,EAAAjnE,EAAA,IACAknE,EAAAlnE,EAAA,GAUAiqC,EAAAi9B,EAAA,KAAAj9B,KAQAm4G,EAAAt7E,EAAA,KAAAjhE,OAAA,WACA,OAEAwhE,aAAA,EAKAC,eAAA,EAEA/pC,WAAA,CACA91B,SAAA,IAAAq/D,EAAA,KAAAjZ,UAAA,iCACAG,OAAA,IAAA8Y,EAAA,KAAAjZ,UAAA,6BACA5lC,MAAA,IAAA6+C,EAAA,KAAAjZ,UAAA,8BAKA,CAKA+Z,YAAA,WACAzmE,KAAA0mE,cAAA,EACA1mE,KAAAilH,YAAA,GAMAi8B,aAAA,SAAAC,GACA,IAAA/kH,EAAAp8B,KAAAo8B,WACAF,EAAAl8B,KAAAohJ,qBAAAD,EACAn6E,EAAAhnE,KAAAqhJ,uBAAAF,EACAnhJ,KAAAk8B,kBACAE,EAAA91B,SAAA4c,KAAAgZ,GACAE,EAAAywB,OAAA3pC,KAAAgZ,GACAE,EAAAtV,MAAA5D,KAAAgZ,IAEAl8B,KAAAgnE,oBACAhnE,KAAAytD,QAAAvxB,EAAA,UAAAuvB,YAAA,EAAAub,GAAA,IAAAxb,YAAA,EAAAwb,KAIAo6E,mBAAA,WACA,UAGAC,qBAAA,WACA,UAQAL,QAAA,WACA,IAAAz4I,EAAAugC,EAAAgG,SACAtmC,EAAAsgC,EAAAgG,SACA+d,EAAA/jB,EAAAgG,SACA2e,EAAA,cACA,gBAAAo4C,EAAA/+E,GACA,IAAAkjD,EAAAhqE,KAAAo8B,WAAA91B,SACAm+F,EAAAzkG,KAAAo8B,WAAAywB,OACAsd,EAAAnqE,KAAAo8B,WAAAtV,MAEAgiB,EAAA1qB,IAAA7V,EAAAs9F,EAAA,GAAAA,EAAA,IACA/8D,EAAA1qB,IAAA5V,EAAAq9F,EAAA,GAAAA,EAAA,IACA/8D,EAAApL,MAAAmvB,EAAAtkD,EAAAC,GACAsgC,EAAAzqB,UAAAwuC,KAEA,QAAA9hD,EAAA,EAA2BA,EAAA,EAAOA,IAClCi/D,EAAA52C,IAAApzB,KAAA0mE,cAAA37D,EAAA86F,EAAA96F,IACAo/D,EAAA/2C,IAAApzB,KAAA0mE,cAAA37D,EAAA+b,GACA29E,EAAArxE,IAAApzB,KAAA0mE,cAAA37D,EAAA8hD,GAEA,IAAAlvC,EAAA,EAAA3d,KAAAilH,YACA,IAAAl6G,EAAA,EAA2BA,EAAA,EAAOA,IAClC/K,KAAAytD,QAAA9vC,EAAA5S,GAAA0iD,EAAA1iD,GAAA/K,KAAA0mE,cAEA1mE,KAAA0mE,eAAA,EACA1mE,KAAAilH,aAAA,GAzBA,KA8BAp/C,EAAAt9D,EAAAqpB,KAAAtc,SAAA2rI,EAAAhhJ,UAAA6lE,EAAA,MAEA53C,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAiiE,EAAA//F,EAAA,GACAyiJ,EAAAziJ,EAAA,IACAkpG,EAAAlpG,EAAA,GACA0iJ,EAAA1iJ,EAAA,IAMAy4B,EAAAywE,EAAA,KAAAzwE,aAEA8iH,EAAA,CAEAp4I,EAAA,EAEAC,EAAA,EAEAk7B,EAAA,GAGA,SAAAqkH,EAAAlmI,EAAAk/H,GACA,IAAAj5C,EAAA,IAAA3C,EAAA,KAAArrE,KAAA,CACA0I,SAAA,IAAAqlH,EAAA,MAA+Fn7E,eAAA,IAC/FtzC,SAAA2nH,EACAh1E,YAAA,EACAm5B,eAAA,EAAA9L,YAAA,IAEA4uD,EAAA,IAAAF,EAAA,KACAE,EAAA5uH,SAAA0gC,WAAA,EAEA,IAAAiK,EAAA,IAAAohC,EAAA,KAAAtrE,KACAkqC,EAAAjgC,IAAAgkE,GACA/jC,EAAAjgC,IAAAkkH,GAEAzhJ,KAAAw9D,WACAx9D,KAAAsb,MAEAtb,KAAAuhG,YACAvhG,KAAA69I,WAAA4D,EACAzhJ,KAAA49I,eAAA,KACA59I,KAAA0hJ,cAAA,GAGA,IAAAlpE,EAAA,CACAx2E,EAAA,IAAAC,EAAA,IAAAk7B,EAAA,KAEAqkH,EAAAvhJ,UAAAssB,OAAA,SACAwgF,EAAA40C,EAAA58I,GAEA,IAAAq2I,EAAAruC,EAAA7nG,iBACAF,EAAAo2I,EAAAa,QAAAj8I,KAAAsb,KAEA0iI,EAAAh+I,KAAAuhG,UAAAtlE,SACA2lH,EAAA5hJ,KAAA69I,WAAA5hH,SACA+hH,EAAA3lE,uBAAA,GACAupE,EAAAvpE,uBAAA,GACA,IAAAxzE,EAAAG,EAAA2e,MACA5I,EAAA/V,EAAAgW,YAEArP,EAAA5G,EAAAmmF,sBACA22D,EAAAh9I,EAAA81B,SAAA,WAAAoyE,EAAApyE,SAAA,aACAmnH,EAAAj9I,EAAA81B,SAAA,WAAAoyE,EAAApyE,SAAA,aACAonH,EAAAl9I,EAAA81B,SAAA,YAAAoyE,EAAApyE,SAAA,cACAqnH,EAAAH,EAAAp8I,IAAA,mBAEA,GAAAo8I,EAAAp8I,IAAA,SACA,IAAAw8I,EAAAJ,EAAAlnH,SAAA,aACAte,EAAA,QAA2BC,EAAA,QAC3BqB,EAAAy8H,EAAAp1I,EAAAsW,KACAe,EAAAsB,GAAA5C,EAAA,GACAuB,EAAAqB,GAAA5C,EAAA,GAGA/a,KAAA49I,eAAA,CAAAvhI,EAAAC,GAEA,IAAAwK,EAAA83E,EAAA,KAAA1lE,WAAA8oH,GACAvxI,EAAA6mB,EAAA2qH,EAAAx8I,IAAA,YACAquD,EAAAx8B,EAAA2qH,EAAAx8I,IAAA,cACAqhB,EAAA,IAAAgtC,EACAkqF,EAAAt0E,QAAArtD,EAAAC,EAAAwK,EAAArW,EAAA9E,GAGA,GAAAm2I,EAAAr8I,IAAA,SACA,IAAA24I,EAAA0D,EAAAnnH,SAAA,aACAmkH,EAAAlgD,EAAA,KAAA1lE,WACA5B,EAAA8mH,EAAA34I,IAAA,SAAAu8I,IAEAvxI,EAAA6mB,EAAA8mH,EAAA34I,IAAA,YACAq5I,EAAA,IAAAxnH,EAAA8mH,EAAA34I,IAAA,cAIA,IAHA,IAAA+6I,EAAAx7I,EAAAy7I,iBACAyB,EAAAJ,EAAAr8I,IAAA,UAEAsF,EAAA,EAAuBA,EAAAy1I,EAAAj9I,OAAwBwH,IAAA,CAC/C,IAAA41I,EAAAH,EAAAz1I,GAAAwV,MAIA4+H,GAFA9iI,EAAA,QAA+BC,EAAA,QAC/BqB,EAAAy8H,EAAAp1I,EAAAsW,KACA8+H,EAAA5hE,EAAAxzE,EAAAsW,OAEAe,EAAAsB,GAAArB,EAAAqB,GAAAgjI,EACArkI,EAAA6iI,GAAA+C,EAEAlE,EAAAt0E,QAAArtD,EAAAC,EAAAwiI,EAAAruI,EAAA9E,IAIA3L,KAAA0hJ,cAAA,GACA/1I,EAAA5G,EAAAmmF,sBACA,GAAA62D,EAAAt8I,IAAA,QACA,CAAA+6I,EAAAx7I,EAAAy7I,iBAAA,IACA0B,EAAAt9I,EAAAY,IAAA,QAEAY,EAAA07I,EAAAt8I,IAAA,UACA28I,EAAAp9I,EAAAq9I,gBAEA,IAAAt3I,EAAA,EAAuBA,EAAAq3I,EAAA7+I,OAAmBwH,IAAA,CAC1C,IAAAu3I,EAAAF,EAAAr3I,GAAAu3I,UACAC,EAAAH,EAAAr3I,GAAAw3I,eACAC,EAAAJ,EAAAr3I,GAAAy3I,SAIA1hI,GAFA6/H,EAAA37I,EAAAo8G,YAAAkhC,GAEA,SACA3kI,EAAAy8H,EAAAp1I,EAAAsW,KACA6jI,EAAA/E,EAAA5hE,EAAAxzE,EAAAsW,MAEAwF,EAAAnD,GAAAmD,EAAAnD,GAAAgjI,EACA7/H,EAAAq+H,GAAA94I,EAEA,IAAAo8I,EAAAV,EACAI,KAAAG,IAAAH,EAAAG,GAAA7lC,YACAgmC,EAAA,IAAA7lH,EAAAr0B,EAAAm6I,MACAP,EAAAG,GAAA7lC,UAAAslC,EAAAl9I,EAAA0V,UAGA,IAAAooI,EAAArrH,EAAAmrH,EAAAh9I,IAAA,SAAAu8I,GAEAp4C,EAAA,IAAAhtE,EAAAr0B,EAAArE,QAAArE,KACA+8B,EAAAr0B,EAAArE,QAAA2lG,aAAAD,EAAArpG,MAAAkiJ,EAAA,CACAzhJ,KAAAuhJ,EACAz4C,SAAA,oBAAA64C,EACAA,EAQA,aAAA39I,EAAA7E,KAAAqiJ,EAAA,UAAAx9I,EAAA7E,KAAAmiJ,EAAA,GAAAA,EACAv3I,GAEA43I,EACA/gJ,kBAAA,MACAD,UAAA,SAEA,IAAAkkG,EAAA87C,EAAApkH,IAAAqsE,GACAnoG,EAAAmoG,EAAAroG,kBACAqgJ,EAAA73C,UAAAjpF,EAAA,CAAArf,EAAAa,MAAAqJ,EAAAlK,EAAAc,OAAAoJ,GAAAk6F,GAEA7lG,KAAA0hJ,cAAA/uI,KAAAi3F,IAIA,GAAA/kG,EAAAY,IAAA,SACA,IAAAm9I,EAAA/9I,EAAA81B,SAAA,iBAIAukH,GAHAp+H,EAAA,QACAnD,EAAAy8H,EAAAp1I,EAAAsW,KACA6jI,EAAA/E,EAAA5hE,EAAAxzE,EAAAsW,MACAgc,EAAAsrH,EAAAn9I,IAAA,SAAAu8I,IACAn1C,EAAA+1C,EAAAn9I,IAAA,eACAgL,EAAAmyI,EAAAn9I,IAAA,eAEAqb,EAAAnD,GAAAmD,EAAAnD,IAAA5C,EAAA,GAAAA,EAAA,MACA+F,EAAAq+H,GAAAt6I,EAAAY,IAAA,WAEAmkG,EAAA,IAAAhtE,EAAAr0B,EAAArE,QAAArE,KACA+8B,EAAAr0B,EAAArE,QAAA2lG,aAAAD,EAAArpG,MAAAqiJ,EAAA,CACA5hJ,KAAA6D,EAAAY,IAAA,QACAqkG,SAAAo1C,EACA/8I,WAAA0qG,EACAp8F,cAEAo1F,EAAA87C,EAAApkH,IAAAqsE,GACAnoG,EAAAmoG,EAAAroG,kBACAqgJ,EAAA73C,UAAAjpF,EAAA,CAAArf,EAAAa,MAAAqJ,EAAAlK,EAAAc,OAAAoJ,GAAAk6F,GAEA+D,EAAAi5C,MAAA7iJ,KAAA0hJ,cAAAn+I,OACAvD,KAAA8iJ,iBAAAl5C,EAGA5pG,KAAA69I,WAAAhrH,SAAAO,IAAA,eAAAuuH,EAAAjrH,cACA12B,KAAA69I,WAAAhrH,SAAAO,IAAA,UAAAuuH,EAAA33C,kBAEAg0C,EAAA1lE,sBACAspE,EAAAtpE,uBAGAkpE,EAAAvhJ,UAAA69I,eAAA,SAAAn8I,EAAAC,EAAAmD,GAGA,IAFA,IAAA4G,EAAA5G,EAAAmmF,sBACA63D,EAAA/iJ,KAAA69I,WAAA5hH,SACAlxB,EAAA,EAAmBA,EAAA/K,KAAA0hJ,cAAAn+I,OAA+BwH,IAAA,CAClD,IAAAi4I,EAAAhjJ,KAAA0hJ,cAAA32I,GACAtJ,EAAAuhJ,EAAAzhJ,kBAEAwhJ,EAAAjF,eAAA/yI,EAAA,CAAAtJ,EAAAa,MAAAqJ,EAAAlK,EAAAc,OAAAoJ,GAAAhK,EAAAC,GAGA,IAAAqhJ,EAAAjjJ,KAAA8iJ,iBACA,GAAAG,EAAA,CACAxhJ,EAAAwhJ,EAAA1hJ,kBACAwhJ,EAAAjF,eAAAmF,EAAAJ,MAAA,CAAAphJ,EAAAa,MAAAqJ,EAAAlK,EAAAc,OAAAoJ,GAAAhK,EAAAC,GACAmhJ,EAAAp+H,QAGA3kB,KAAA2B,YACA3B,KAAA4B,qBAGAssB,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAumH,EAAArkJ,EAAA,IACAinE,EAAAjnE,EAAA,IAWAskJ,EAAA,CACA,aAGAC,EAAAF,EAAA,KAAAx+I,OAAA,WACA,OACA03B,WAAA,CACA91B,SAAA,IAAA48I,EAAA,KAAAx2F,UAAA,iCACAi8E,SAAA,IAAAua,EAAA,KAAAx2F,UAAA,mCACA3G,OAAA,IAAAm9F,EAAA,KAAAx2F,UAAA,oBACA5lC,MAAA,IAAAo8H,EAAA,KAAAx2F,UAAA,8BAGC,CACD+Z,YAAA,WACAzmE,KAAA0mE,cAAA,EACA1mE,KAAAilH,YAAA,GAEAo+B,eAAA,SAAAC,GACAtjJ,KAAAujJ,aAAAD,EAEA,IAAApnH,EAAA,EAAAonH,EACAt8E,EAAA,EAAAs8E,EAEAtjJ,KAAAk8B,kBACAl8B,KAAAo8B,WAAA91B,SAAA4c,KAAAgZ,GACAl8B,KAAAo8B,WAAA2pB,OAAA7iC,KAAAgZ,GACAl8B,KAAAo8B,WAAAtV,MAAA5D,KAAAgZ,IAEAl8B,KAAAgnE,oBACAhnE,KAAAytD,QAAAvxB,EAAA,UAAAuvB,YAAA,EAAAub,GAAA,IAAAxb,YAAA,EAAAwb,KAIA82E,eAAA,SAAA0F,EAAAvoI,EAAAwoI,EAAAl8I,EAAA67E,GAQA,IAAAsgE,EAAAC,EAAAC,EAAAC,EAEA,OATA,MAAAJ,IACAA,EAAA,QAEA,MAAAl8I,IACAA,EAAA,OAIA67E,KAAA,EACAqgE,GACA,WACAC,EAAAtgE,EACAwgE,EAAA3oI,EAAA,GAAAmoE,EACA,MACA,aACA,aACAsgE,GAAAzoI,EAAA,KACA2oI,EAAA3oI,EAAA,KACA,MACA,YACAyoI,GAAAzoI,EAAA,GAAAmoE,EACAwgE,GAAAxgE,EACA,MAEA,OAAA77E,GACA,aACAo8I,EAAAvgE,EACAygE,EAAA5oI,EAAA,GAAAmoE,EACA,MACA,aACAugE,GAAA1oI,EAAA,KACA4oI,EAAA5oI,EAAA,KACA,MACA,UACA0oI,GAAA1oI,EAAA,GAAAmoE,EACAygE,GAAAzgE,EACA,MAIA,IAAA/Y,EAAA,EAAAm5E,EACAp5E,EAAApqE,KAAAo8B,WAAA2pB,OACAqkB,EAAAh3C,IAAAi3C,EAAA,CAAAq5E,EAAAG,IACAz5E,EAAAh3C,IAAAi3C,EAAA,GAAAu5E,EAAAC,IACAz5E,EAAAh3C,IAAAi3C,EAAA,GAAAu5E,EAAAD,IACAv5E,EAAAh3C,IAAAi3C,EAAA,GAAAq5E,EAAAC,KAWA55C,UAAA,SAAAzjG,EAAA2U,EAAA4qF,EAAA49C,EAAAl8I,EAAAu8I,GACA,IAAAz5E,EAAArqE,KAAA0mE,cACA1mE,KAAA+jJ,UACA/jJ,KAAA0mE,cAAA,EAAApgE,EAAA2U,EAAA4qF,EAAA49C,EAAAl8I,EAAAu8I,GAEA,QAAA/4I,EAAA,EAAuBA,EAAAo4I,EAAA5/I,OAA4BwH,IACnD/K,KAAAytD,QAAA,EAAAztD,KAAAilH,YAAAl6G,GAAAo4I,EAAAp4I,GAAAs/D,EAKA,OAHArqE,KAAAilH,aAAA,EACAjlH,KAAA0mE,eAAA,EAEA2D,EAAA,GAGA05E,UAAA,SAAAP,EAAAl9I,EAAA2U,EAAA4qF,EAAA49C,EAAAl8I,EAAAu8I,GAIA,IAHA,IAAAz5E,EAAA,EAAAm5E,EAEApnH,EAAAp8B,KAAAo8B,WACArxB,EAAA,EAAuBA,EAAA,EAAOA,IAC9BqxB,EAAA91B,SAAA8sB,IAAAi3C,EAAAt/D,EAAAzE,GAIA,IAAAo+F,EAAAtoE,EAAAusG,SAEAjkC,EAAAtxE,IAAAi3C,EAAA,CAAAw7B,EAAA,MAAAA,EAAA,QACAnB,EAAAtxE,IAAAi3C,EAAA,GAAAw7B,EAAA,MAAAA,EAAA,QACAnB,EAAAtxE,IAAAi3C,EAAA,GAAAw7B,EAAA,MAAAA,EAAA,QACAnB,EAAAtxE,IAAAi3C,EAAA,GAAAw7B,EAAA,MAAAA,EAAA,QAEA7lG,KAAA89I,eAAA0F,EAAAvoI,EAAAwoI,EAAAl8I,EAAAu8I,MAIAlnH,EAAAr0B,EAAAqpB,KAAAtc,SAAA8tI,EAAAnjJ,UAAA6lE,EAAA,MAEA53C,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,qmCAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAmlJ,EAAAnlJ,EAAA,KACAolJ,EAAAplJ,EAAA,KACAuuE,EAAAvuE,EAAA,GACAwuE,EAAAxuE,EAAAgvB,EAAAu/C,GACA82E,EAAArlJ,EAAA,IACAslJ,EAAAtlJ,EAAAgvB,EAAAq2H,GACAE,EAAAvlJ,EAAA,IACAwlJ,EAAAxlJ,EAAA,GAQA,SAAAylJ,EAAAv3C,EAAAhoG,GAEA,IAAAi5G,EAAAjR,EAAAkR,qBAEAvrE,EAAAyxG,EAAA57I,EAAA+6E,cAAA06B,EAAA,CACA17G,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,cAIA5rB,EAAAzwC,EAAA8C,EAAAu5D,YAAA5rB,EAAAzwC,EAAAywC,EAAAnwC,OAEAvC,KAAAkvE,OAAA77B,YAAAX,EAAA1wC,EAAA0wC,EAAAzwC,EAAAywC,EAAApwC,MAAAowC,EAAAnwC,OAAAwC,EAAAmmF,uBAEA,IAAAkxB,EAAArP,EAAAtnG,IAAA,YACA42G,EAAAtP,EAAAtnG,IAAA,aACA62G,EAAAvP,EAAAtnG,IAAA,YAGA,cAAAoF,QAAA,SAAAyQ,GACA,IAAAtb,KAAAi8I,QAAA3gI,GACA,UAAAqyB,MAAA,OAAAo/D,EAAA9gF,GAAA,eAAA3Q,EAAA,SAEStb,MAETA,KAAAi8I,QAAA,KAAA39B,WAAAlC,EAAA,EAAAA,EAAA,GAEAp8G,KAAAi8I,QAAA,KAAA39B,UAAAhC,EAAA,GAAAA,EAAA,GACAt8G,KAAAi8I,QAAA,KAAA39B,WAAAjC,EAAA,EAAAA,EAAA,GAEAr8G,KAAAib,KAAA,CAAAmhG,EAAAC,EAAAC,GAGA,SAAAioC,EAAAhqI,EAAAxV,GACA,IAAAy/I,EAAA,GACA,SAAAC,EAAAnpI,EAAAP,GACAypI,EAAAlpI,GAAAkpI,EAAAlpI,IAAA,CAAAxB,UACA0qI,EAAAlpI,GAAA,GAAA5U,KAAAQ,IAAA6T,EAAA,GAAAypI,EAAAlpI,GAAA,IACAkpI,EAAAlpI,GAAA,GAAA5U,KAAAS,IAAA4T,EAAA,GAAAypI,EAAAlpI,GAAA,IAGAf,EAAAkkG,WAAA,SAAAnkG,GACA,GAAAA,EAAApV,mBAAAlF,KAAA,CAGA,IAAAuL,EAAA+O,EAAAE,UACA,cAAA3P,QAAA,SAAA4d,GACAld,EAAA8P,aAAAoN,GAAA,GAAA5d,QAAA,SAAAue,GACAq7H,EACAh8H,EAAAld,EAAAqzG,cAAAx1F,GAAA,UAIKppB,MAEL,gCAAA6K,QAAA,SAAAosI,GACA18H,EAAA8kG,cAAA43B,EAAA,SAAApyI,GACA,IAAAyW,EAAA27H,EAAAxkI,OAAA,GACAs6F,EAAAloG,EAAA+iF,uBAAA,aAEA88D,EAAA33C,EAAA7nG,iBACA,GAAAw/I,IAAA1kJ,KAAA,CAIA,IAAAgF,EAAA0/I,EAAAzI,QAAA3gI,GACA,GAAAtW,EAEAozB,QAAAyH,KAAA,kCAAAo3G,OAFA,CAMA,IAAAl/H,EAAAs1D,EAAA9kE,EAAA++E,OAAAu3B,YACA2lC,EAAAlpI,IAAA,CAAAxB,UAAAjV,GAEAG,EAAA,IAAAi/I,EAAA,KAAA3oI,EAAAvD,GACA/S,EAAA7E,KAAA0E,EAAAY,IAAA,QACA,IAAAk/I,EAAA,aAAA3/I,EAAA7E,KACA6E,EAAA4/I,OAAAD,GAAA9/I,EAAAY,IAAA,eACAT,EAAA6/C,QAAAhgD,EAAAY,IAAA,WAEAZ,EAAAG,OACAA,EAAA2e,MAAA9e,EAGAG,EAAA6/I,cAAA,WACA,OAAAhgJ,EAAA81B,SAAA,YAAAoyE,EAAApyE,SAAA,eAGA31B,EAAA8/I,aAAA,WACA,OAAAjgJ,EAAA81B,SAAA,WAAAoyE,EAAApyE,SAAA,cAGA+pH,EAAAK,QAAA//I,MACShF,OACJA,MAELA,KAAAq+D,OAAAr+D,KAAA2jB,MAAA5e,GAGA,IAAAigJ,EAAA,CAEAvsE,WAAAurE,EAAA,KAAA/jJ,UAAAw4E,WAEA3pC,OAAA,SAAAv0B,EAAAxV,GAEA,IAAAkgJ,EAAA,GAEA1qI,EAAA8kG,cAAA,kBAAAtS,GAEAA,EAAAqS,SAAArS,EAAAqS,UAAA,IAAAglC,EAAA,KAEA,IAAAM,EAAA,IAAAV,EAAA,KACAU,EAAA/gI,MAAAopF,EACA23C,EAAAx1E,OAAA69B,EAAAqS,SAEArS,EAAA7nG,iBAAAw/I,EACAO,EAAAtyI,KAAA+xI,GAGAA,EAAArmF,OAAAimF,EAEAI,EAAAn4H,OAAAg4H,IAGA,IAAAW,EAAA,gCACA,SAAAC,EAAA7qI,EAAAC,GACA,OAAA2qI,EAAA93I,IAAA,SAAA6pI,GACA,IAAApyI,EAAAyV,EAAAstE,uBAAAqvD,GAAA,GAKA,GAJA,MAAApyI,IACAA,EAAA0V,EAAAmS,aAAAuqH,KAGApyI,EACA,UAAA8oC,MAAAspG,EAAA,KAAAoN,EAAA,KAAA/sH,aACAhd,EAAA7U,IAAAwxI,EAAA,SACA38H,EAAA7U,IAAAwxI,EAAA,MACA,GACA,eAGA,OAAApyI,IAoCA,OAhCA0V,EAAAkkG,WAAA,SAAAnkG,GACA,mBAAAA,EAAA7U,IAAA,qBAGA,IAAA2/I,EAAA9qI,EAAAstE,uBAAA,aAEA,SAAAw9D,EAAA,CACA,IAAAC,EAAAF,EAAA7qI,EAAAC,GACA6qI,EAAAC,EAAA,GAAAjP,mBACAiP,EAAAx6I,QAAA,SAAAhG,GACA,IAAAkoG,EAAAloG,EAAAuxI,mBAEA,IAAArpC,EACA,UAAAp/D,MACA,WAAA02G,EAAA,KAAA/sH,aACAzyB,EAAAY,IAAA,aACAZ,EAAAY,IAAA,UACA,GACA,eAGA,GAAAsnG,IAAAq4C,EACA,UAAAz3G,MAAA,sDAMA,IAAA1oC,EAAAmgJ,EAAAlgJ,iBACAoV,EAAApV,iBAAAD,KAGAggJ,IAIA53E,EAAA9kE,EAAAk3G,yBAAA,SAAAulC,IAMA,SAAAtiJ,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA2oH,EAAAzmJ,EAAA,KACA0mJ,EAAA1mJ,EAAAgvB,EAAAy3H,GAIA,SAAAE,EAAAl3I,GAEAi3I,EAAAh9I,EAAAxI,KAAAC,KAAAsO,GAEAtO,KAAAib,KAAA,QAGAuqI,EAAAvlJ,UAAA,CAEAC,YAAAslJ,EAEArlJ,KAAA,cAEAs4E,WAAA,cAEA90D,MAAA,KAEAgxC,aAAA,SAAAkV,GACA,OAAA7pE,KAAAi8I,QAAA,KAAA37H,QAAAupD,EAAA,KACA7pE,KAAAi8I,QAAA,KAAA37H,QAAAupD,EAAA,KACA7pE,KAAAi8I,QAAA,KAAA37H,QAAAupD,EAAA,KAGA47E,YAAA,SAAAl6I,GACA,OAAAvL,KAAAi8I,QAAA,KAAAwJ,YAAAl6I,EAAA,KACAvL,KAAAi8I,QAAA,KAAAwJ,YAAAl6I,EAAA,KACAvL,KAAAi8I,QAAA,KAAAwJ,YAAAl6I,EAAA,KAGAhG,YAAA,SAAAgG,EAAA8zB,EAAAD,GAKA,OAJAC,KAAA,GACAA,EAAA,GAAAr/B,KAAAi8I,QAAA,KAAA76B,YAAA71G,EAAA,GAAA6zB,GACAC,EAAA,GAAAr/B,KAAAi8I,QAAA,KAAA76B,YAAA71G,EAAA,GAAA6zB,GACAC,EAAA,GAAAr/B,KAAAi8I,QAAA,KAAA76B,YAAA71G,EAAA,GAAA6zB,GACAC,GAGAgiF,YAAA,SAAAx3C,EAAAxqC,EAAAD,GAKA,OAJAC,KAAA,GACAA,EAAA,GAAAr/B,KAAAi8I,QAAA,KAAAyJ,YAAA77E,EAAA,GAAAzqC,GACAC,EAAA,GAAAr/B,KAAAi8I,QAAA,KAAAyJ,YAAA77E,EAAA,GAAAzqC,GACAC,EAAA,GAAAr/B,KAAAi8I,QAAA,KAAAyJ,YAAA77E,EAAA,GAAAzqC,GACAC,IAIAzC,EAAAr0B,EAAAqpB,KAAApvB,SAAAgjJ,EAAAD,EAAAh9I,GAEA2lB,EAAA,QAIA,SAAAxrB,EAAAC,EAAA9D,GAEA,IAAAW,EAAAX,EAAA,IA0BA,SAAA8mJ,EAAArqI,GACA,OAAAtb,KAAA66I,MAAAv/H,GAQA,IAAAsqI,EAAA,SAAAt3I,GACAtO,KAAA66I,MAAA,GACA76I,KAAA6lJ,SAAA,GAKA7lJ,KAAAsO,QAAA,IAGAs3I,EAAA3lJ,UAAA,CACAC,YAAA0lJ,EACAzlJ,KAAA,YAOA87I,QAAA,SAAA3gI,GACA,OAAAtb,KAAA66I,MAAAv/H,IAOAwqI,QAAA,WACA,OAAAtmJ,EAAA4N,IAAApN,KAAA6lJ,SAAAF,EAAA3lJ,OAMA+lJ,eAAA,SAAAC,GAEA,OADAA,IAAAtsB,cACAl6H,EAAAqoD,OAAA7nD,KAAA8lJ,UAAA,SAAA9gJ,GACA,OAAAA,EAAA+S,MAAA5X,OAAA6lJ,KAQAjB,QAAA,SAAA//I,GACA,IAAAsW,EAAAtW,EAAAsW,IACAtb,KAAA66I,MAAAv/H,GAAAtW,EAEAhF,KAAA6lJ,SAAAlzI,KAAA2I,IAQA8lG,YAAA,SAAAn4G,GACA,OAAAjJ,KAAAimJ,kBAAAh9I,EAAA,gBAQAy8I,YAAA,SAAAz8I,GACA,OAAAjJ,KAAAimJ,kBAAAh9I,EAAA,gBAEAg9I,kBAAA,SAAAC,EAAAC,GAIA,IAHA,IAAAC,EAAApmJ,KAAA6lJ,SACAt5B,EAAA25B,aAAA1oI,MAAA,MAEAzS,EAAA,EAAmBA,EAAAq7I,EAAA7iJ,OAAoBwH,IAAA,CACvC,IAAAuQ,EAAA8qI,EAAAr7I,GACA/F,EAAAhF,KAAA66I,MAAAv/H,GACAixG,EAAAjxG,GAAAtW,EAAAmhJ,GAAAD,EAAA5qI,IAGA,OAAAixG,IAGA,IAAA9pH,EAAAmjJ,EACAljJ,EAAAC,QAAAF,GAIA,SAAAC,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGA,SAAA0pH,EAAA/qI,EAAAvD,EAAAgD,GAEA6hB,EAAAr0B,EAAAu2G,KAAA/+G,KAAAC,KAAAsb,EAAAvD,EAAAgD,GAGAsrI,EAAApmJ,UAAA,CACAC,YAAAmmJ,EAEAvJ,aAAA,WACA,IAAA/hI,EAAA/a,KAAAsmJ,QACA,OAAA5/I,KAAAQ,IAAA6T,EAAA,GAAAA,EAAA,KAGA8hI,aAAA,WACA,IAAA9hI,EAAA/a,KAAAsmJ,QACA,OAAA5/I,KAAAS,IAAA4T,EAAA,GAAAA,EAAA,KAGAwrI,0BAAA,WAEA,OAAA7/I,KAAAmK,MAAA7Q,KAAA+X,MAAA4B,QAAA,KAIAijB,EAAAr0B,EAAAqpB,KAAApvB,SAAA6jJ,EAAAzpH,EAAAr0B,EAAAu2G,MAEA5wF,EAAA,QAIA,SAAAxrB,EAAAC,EAAA9D,GAEA,IAAAW,EAAAX,EAAA,IAEAY,EAAAZ,EAAA,KAEA2nJ,EAAA3nJ,EAAA,IA0BA,SAAA6iB,EAAA1f,GACA,OAAA4X,MAAA5X,GACA,KAGAA,KAAA,IAAAyM,MAAA,KACAzM,EAAA,GAAAuI,QAAA,iCAA2C,QAAAvI,EAAAuB,OAAA,MAAAvB,EAAA,QAS3C,SAAAykJ,EAAAn8I,EAAAo8I,GASA,OARAp8I,MAAA,IAAAovH,cAAAnvH,QAAA,iBAAAssB,EAAA8vH,GACA,OAAAA,EAAA/mH,gBAGA8mH,GAAAp8I,IACAA,IAAAmI,OAAA,GAAAmtB,cAAAt1B,EAAA40B,MAAA,IAGA50B,EAGA,IAAA6/C,EAAA3qD,EAAA2qD,kBACAy8F,EAAA,aACAC,EAAA,CACAC,IAAA,QACAC,IAAA,OACAC,IAAA,OACAC,IAAA,SACAC,IAAA,SAGA,SAAAzlI,EAAAwY,GACA,aAAAA,EAAA,IAAAA,EAAA,IAAA1vB,QAAAq8I,EAAA,SAAAt8I,EAAA7B,GACA,OAAAo+I,EAAAp+I,KAIA,IAAA0+I,EAAA,8BAEAC,EAAA,SAAAC,EAAAC,GACA,UAAWD,GAAA,MAAAC,EAAA,GAAAA,GAAA,KAWX,SAAAx3E,EAAAy3E,EAAAC,EAAAC,GACAjoJ,EAAAwJ,QAAAw+I,KACAA,EAAA,CAAAA,IAGA,IAAAE,EAAAF,EAAAjkJ,OAEA,IAAAmkJ,EACA,SAKA,IAFA,IAAAC,EAAAH,EAAA,GAAAG,OAAA,GAEA58I,EAAA,EAAiBA,EAAA48I,EAAApkJ,OAAkBwH,IAAA,CACnC,IAAA68I,EAAAT,EAAAp8I,GACAw8I,IAAAh9I,QAAA68I,EAAAQ,GAAAR,EAAAQ,EAAA,IAGA,QAAAN,EAAA,EAAyBA,EAAAI,EAAuBJ,IAChD,QAAA5mI,EAAA,EAAmBA,EAAAinI,EAAApkJ,OAAkBmd,IAAA,CACrC,IAAAzX,EAAAu+I,EAAAF,GAAAK,EAAAjnI,IACA6mI,IAAAh9I,QAAA68I,EAAAD,EAAAzmI,GAAA4mI,GAAAG,EAAAhmI,EAAAxY,MAIA,OAAAs+I,EAYA,SAAAM,EAAAN,EAAAj+H,EAAAm+H,GAIA,OAHAjoJ,EAAA2nB,KAAAmC,EAAA,SAAArlB,EAAAgH,GACAs8I,IAAAh9I,QAAA,IAAwBU,EAAA,IAAYw8I,EAAAhmI,EAAAxd,QAEpCsjJ,EAWA,SAAA5lI,EAAAvM,EAAA0yI,GACA1yI,EAAA5V,EAAAiK,SAAA2L,GAAA,CACA0R,MAAA1R,EACA0yI,gBACG1yI,GAAA,GACH,IAAA0R,EAAA1R,EAAA0R,MACA3mB,EAAAiV,EAAAjV,KACA2nJ,EAAA1yI,EAAA0yI,aAEA,OAAAhhI,EAIA,YAAA3mB,EAAA,oJAAoKshB,EAAAqF,GAAA,KAA2CghI,GAAA,iIAA4IrmI,EAAAqF,GAAA,KAA2CghI,GAAA,gBAHtY,GAMA,SAAAC,EAAAz9I,EAAAmC,GAEA,OADAnC,GAAA,GACA,OAAAwG,OAAA,EAAArE,EAAAnC,EAAA/G,QAAA+G,EAaA,SAAAkX,EAAA+lI,EAAAtjJ,EAAA+jJ,GACA,SAAAT,GAAA,UAAAA,GAAA,YAAAA,GAAA,cAAAA,GAAA,SAAAA,IACAA,EAAA,eAGA,IAAAU,EAAAzB,EAAArsC,UAAAl2G,GACAikJ,EAAAF,EAAA,SACA/lJ,EAAAgmJ,EAAA,MAAAC,EAAA,cACAC,EAAAF,EAAA,MAAAC,EAAA,aACA1rI,EAAAyrI,EAAA,MAAAC,EAAA,UACAnnI,EAAAknI,EAAA,MAAAC,EAAA,WACA36H,EAAA06H,EAAA,MAAAC,EAAA,aACAj6H,EAAAg6H,EAAA,MAAAC,EAAA,aACAlvB,EAAAivB,EAAA,MAAAC,EAAA,kBAEA,OADAX,IAAAh9I,QAAA,KAAAw9I,EAAAI,EAAA,IAAA59I,QAAA,IAAA49I,GAAA59I,QAAA,OAAAtI,GAAAsI,QAAA,KAAAtI,EAAA,KAAAsI,QAAA,KAAAw9I,EAAAvrI,EAAA,IAAAjS,QAAA,IAAAiS,GAAAjS,QAAA,KAAAw9I,EAAAhnI,EAAA,IAAAxW,QAAA,IAAAwW,GAAAxW,QAAA,KAAAw9I,EAAAx6H,EAAA,IAAAhjB,QAAA,IAAAgjB,GAAAhjB,QAAA,KAAAw9I,EAAA95H,EAAA,IAAA1jB,QAAA,IAAA0jB,GAAA1jB,QAAA,MAAAw9I,EAAA/uB,EAAA,IACAuuB,EASA,SAAAa,EAAA99I,GACA,OAAAA,IAAAmI,OAAA,GAAAmtB,cAAAt1B,EAAAwG,OAAA,GAAAxG,EAGA,IAAAoF,EAAAjQ,EAAAiQ,aACA24I,EAAA5oJ,EAAA8B,gBACAoB,EAAA+e,YACA/e,EAAA8jJ,cACA9jJ,EAAAwnD,oBACAxnD,EAAA8e,aACA9e,EAAAmtE,YACAntE,EAAAklJ,kBACAllJ,EAAAgf,mBACAhf,EAAA6e,aACA7e,EAAAylJ,eACAzlJ,EAAA+M,eACA/M,EAAA0lJ,eAIA,SAAA3lJ,EAAAC,EAAA9D,GAEA,IAAA4O,EAAA5O,EAAA,IAEA6O,EAAA7O,EAAA,KAEA8O,EAAA9O,EAAA,IAEA+O,EAAAD,EAAAC,WACAlJ,EAAAiJ,EAAAjJ,OACAmJ,EAAAF,EAAAE,UACAC,EAAAH,EAAAG,UACAzD,EAAAsD,EAAAtD,KACA0D,EAAA,GACAC,EAAA,EACAC,EAAA,IACAC,EAAA,gCACAC,EAAA,kBAEAC,EAAA,GAEA,SAAAC,EAAAC,EAAAlL,GACAgL,EAAAE,GAAAlL,EAUA,SAAAmL,EAAAvN,EAAAU,GACAA,KAAAyM,EACA,IAAAlD,EAAAjK,EAAA,IAAAU,EAEA,GAAAqM,EAAA9C,GACA,OAAA8C,EAAA9C,GAMA,IAHA,IAAAuD,GAAAxN,EAAA,IAAAyN,MAAA,MACAnM,EAAA,EAEAyI,EAAA,EAAAC,EAAAwD,EAAAjL,OAAuCwH,EAAAC,EAAOD,IAE9CzI,EAAAoE,KAAAS,IAAAuH,EAAAF,EAAAzD,GAAArJ,GAAAY,SAUA,OAPA0L,EAAAC,IACAD,EAAA,EACAD,EAAA,IAGAC,IACAD,EAAA9C,GAAA3I,EACAA,EAeA,SAAAf,EAAAP,EAAAU,EAAAC,EAAAC,EAAAC,EAAAE,EAAA4M,GACA,OAAA5M,EAAA6M,EAAA5N,EAAAU,EAAAC,EAAAC,EAAAC,EAAAE,EAAA4M,GAAAE,EAAA7N,EAAAU,EAAAC,EAAAC,EAAAC,EAAA8M,GAGA,SAAAE,EAAA7N,EAAAU,EAAAC,EAAAC,EAAAC,EAAA8M,GACA,IAAAG,EAAAC,EAAA/N,EAAAU,EAAAG,EAAA8M,GACAK,EAAAT,EAAAvN,EAAAU,GAEAG,IACAmN,GAAAnN,EAAA,GAAAA,EAAA,IAGA,IAAAoN,EAAAH,EAAAG,YACAjN,EAAAkN,EAAA,EAAAF,EAAArN,GACAM,EAAAkN,EAAA,EAAAF,EAAArN,GACAH,EAAA,IAAAgM,EAAAzL,EAAAC,EAAA+M,EAAAC,GAEA,OADAxN,EAAA2N,WAAAN,EAAAM,WACA3N,EAGA,SAAAmN,EAAA5N,EAAAU,EAAAC,EAAAC,EAAAC,EAAAE,EAAA4M,GACA,IAAAG,EAAAO,EAAArO,EAAA,CACAe,OACA4M,WACAjN,OACAC,YACAE,gBAEAmN,EAAAF,EAAAE,WACAC,EAAAH,EAAAG,YACAjN,EAAAkN,EAAA,EAAAF,EAAArN,GACAM,EAAAkN,EAAA,EAAAF,EAAArN,GACA,WAAA6L,EAAAzL,EAAAC,EAAA+M,EAAAC,GAWA,SAAAC,EAAAlN,EAAAM,EAAAX,GAQA,MANA,UAAAA,EACAK,GAAAM,EACG,WAAAX,IACHK,GAAAM,EAAA,GAGAN,EAWA,SAAAmN,EAAAlN,EAAAM,EAAAX,GAOA,MANA,WAAAA,EACAK,GAAAM,EAAA,EACG,WAAAX,IACHK,GAAAM,GAGAN,EAWA,SAAAqN,EAAAC,EAAA9N,EAAA+N,GACA,IAAAxN,EAAAP,EAAAO,EACAC,EAAAR,EAAAQ,EACAM,EAAAd,EAAAc,OACAD,EAAAb,EAAAa,MACAmN,EAAAlN,EAAA,EACAZ,EAAA,OACAC,EAAA,MAEA,OAAA2N,GACA,WACAvN,GAAAwN,EACAvN,GAAAwN,EACA9N,EAAA,QACAC,EAAA,SACA,MAEA,YACAI,GAAAwN,EAAAlN,EACAL,GAAAwN,EACA7N,EAAA,SACA,MAEA,UACAI,GAAAM,EAAA,EACAL,GAAAuN,EACA7N,EAAA,SACAC,EAAA,SACA,MAEA,aACAI,GAAAM,EAAA,EACAL,GAAAM,EAAAiN,EACA7N,EAAA,SACA,MAEA,aACAK,GAAAM,EAAA,EACAL,GAAAwN,EACA9N,EAAA,SACAC,EAAA,SACA,MAEA,iBACAI,GAAAwN,EACAvN,GAAAwN,EACA7N,EAAA,SACA,MAEA,kBACAI,GAAAM,EAAAkN,EACAvN,GAAAwN,EACA9N,EAAA,QACAC,EAAA,SACA,MAEA,gBACAI,GAAAM,EAAA,EACAL,GAAAuN,EACA7N,EAAA,SACA,MAEA,mBACAK,GAAAM,EAAA,EACAL,GAAAM,EAAAiN,EACA7N,EAAA,SACAC,EAAA,SACA,MAEA,oBACAI,GAAAwN,EACAvN,GAAAuN,EACA,MAEA,qBACAxN,GAAAM,EAAAkN,EACAvN,GAAAuN,EACA7N,EAAA,QACA,MAEA,uBACAK,GAAAwN,EACAvN,GAAAM,EAAAiN,EACA5N,EAAA,SACA,MAEA,wBACAI,GAAAM,EAAAkN,EACAvN,GAAAM,EAAAiN,EACA7N,EAAA,QACAC,EAAA,SACA,MAGA,OACAI,IACAC,IACAN,YACAC,qBAqBA,SAAA8N,EAAA1O,EAAA2O,EAAAjO,EAAAkO,EAAAC,GACA,IAAAF,EACA,SAGA,IAAAnB,GAAAxN,EAAA,IAAAyN,MAAA,MACAoB,EAAAC,EAAAH,EAAAjO,EAAAkO,EAAAC,GAGA,QAAA9E,EAAA,EAAA0B,EAAA+B,EAAAjL,OAAyCwH,EAAA0B,EAAS1B,IAClDyD,EAAAzD,GAAAgF,EAAAvB,EAAAzD,GAAA8E,GAGA,OAAArB,EAAAwB,KAAA,MAGA,SAAAF,EAAAH,EAAAjO,EAAAkO,EAAAC,GACAA,EAAAnL,EAAA,GAAqBmL,GACrBA,EAAAnO,OACAkO,EAAA/B,EAAA+B,EAAA,OACAC,EAAAI,cAAApC,EAAAgC,EAAAI,cAAA,GACA,IAAAC,EAAAL,EAAAK,QAAArC,EAAAgC,EAAAK,QAAA,GAGAL,EAAAM,YAAA5B,EAAA,IAAA7M,GAGA,IAAA0O,EAAAP,EAAAO,aAAA7B,EAAA,IAAA7M,GACAmO,EAAAQ,YAAAxC,EAAAgC,EAAAQ,YAAA,IAKA,IAFA,IAAAC,EAAAX,EAAAjJ,KAAAS,IAAA,EAAAwI,EAAA,GAEA5E,EAAA,EAAiBA,EAAAmF,GAAAI,GAAAF,EAA6CrF,IAC9DuF,GAAAF,EAGA,IAAAG,EAAAhC,EAAAqB,GAYA,OAVAW,EAAAD,IACAV,EAAA,GACAW,EAAA,GAGAD,EAAAX,EAAAY,EACAV,EAAAD,WACAC,EAAAU,gBACAV,EAAAS,eACAT,EAAAF,iBACAE,EAGA,SAAAE,EAAAS,EAAAX,GACA,IAAAF,EAAAE,EAAAF,eACAjO,EAAAmO,EAAAnO,KACA4O,EAAAT,EAAAS,aAEA,IAAAX,EACA,SAGA,IAAAc,EAAAlC,EAAAiC,EAAA9O,GAEA,GAAA+O,GAAAd,EACA,OAAAa,EAGA,QAAAE,EAAA,GAAkBA,IAAA,CAClB,GAAAD,GAAAH,GAAAI,GAAAb,EAAAI,cAAA,CACAO,GAAAX,EAAAD,SACA,MAGA,IAAAe,EAAA,IAAAD,EAAAE,EAAAJ,EAAAF,EAAAT,EAAAO,aAAAP,EAAAM,aAAAM,EAAA,EAAA/J,KAAAmK,MAAAL,EAAAjN,OAAA+M,EAAAG,GAAA,EACAD,IAAAM,OAAA,EAAAH,GACAF,EAAAlC,EAAAiC,EAAA9O,GAOA,MAJA,KAAA8O,IACAA,EAAAX,EAAAQ,aAGAG,EAGA,SAAAI,EAAA5P,EAAAsP,EAAAF,EAAAD,GAIA,IAHA,IAAA7N,EAAA,EACAyI,EAAA,EAEA0B,EAAAzL,EAAAuC,OAA6BwH,EAAA0B,GAAAnK,EAAAgO,EAAiCvF,IAAA,CAC9D,IAAAgG,EAAA/P,EAAAgQ,WAAAjG,GACAzI,GAAA,GAAAyO,MAAA,IAAAX,EAAAD,EAGA,OAAApF,EASA,SAAAkG,EAAAvP,GAEA,OAAA6M,EAAA,IAAA7M,GAUA,SAAAgN,EAAA1N,EAAAU,GACA,OAAA0M,EAAAM,YAAA1N,EAAAU,GAmBA,SAAAqN,EAAA/N,EAAAU,EAAAwP,EAAAvC,GACA,MAAA3N,OAAA,IACA,IAAAoO,EAAA6B,EAAAvP,GACAyP,EAAAnQ,IAAAyN,MAAA,SACAlM,EAAA4O,EAAA5N,OAAA6L,EACAH,EAAA1M,EAMA,GAJA2O,IACAjC,GAAAiC,EAAA,GAAAA,EAAA,IAGAlQ,GAAA2N,EAAA,CACA,IAAAyC,EAAAzC,EAAAM,YACAoC,EAAA1C,EAAAK,WAEA,SAAAoC,GAAAnC,EAAAmC,EACApQ,EAAA,GACAmQ,EAAA,QACK,SAAAE,EAOL,IANA,IAAAxB,EAAAC,EAAAuB,GAAAH,IAAA,GAAAA,EAAA,MAAAxP,EAAAiN,EAAAiB,SAAA,CACAM,QAAAvB,EAAAuB,QACAG,YAAA1B,EAAA0B,cAIAtF,EAAA,EAAA0B,EAAA0E,EAAA5N,OAAyCwH,EAAA0B,EAAS1B,IAClDoG,EAAApG,GAAAgF,EAAAoB,EAAApG,GAAA8E,GAKA,OACAsB,QACA5O,SACA0M,cACAG,cAmCA,SAAAC,EAAArO,EAAAT,GACA,IAAAuO,EAAA,CACAqC,MAAA,GACA7O,MAAA,EACAC,OAAA,GAIA,GAFA,MAAAvB,OAAA,KAEAA,EACA,OAAA8N,EAGA,IACApL,EADA4N,EAAApD,EAAAoD,UAAA,EAGA,aAAA5N,EAAAwK,EAAAqD,KAAAvQ,IAAA,CACA,IAAAwQ,EAAA9N,EAAAG,MAEA2N,EAAAF,GACAG,EAAA3C,EAAA9N,EAAA0Q,UAAAJ,EAAAE,IAGAC,EAAA3C,EAAApL,EAAA,GAAAA,EAAA,IACA4N,EAAApD,EAAAoD,UAGAA,EAAAtQ,EAAAuC,QACAkO,EAAA3C,EAAA9N,EAAA0Q,UAAAJ,EAAAtQ,EAAAuC,SAGA,IAAA4N,EAAArC,EAAAqC,MACAQ,EAAA,EACArB,EAAA,EAEAsB,EAAA,GACAC,EAAAtR,EAAAsB,YACA8M,EAAApO,EAAAoO,SACAmD,EAAAnD,KAAAK,WACA+C,EAAApD,KAAAM,YAEA4C,IACA,MAAAC,OAAAD,EAAA,GAAAA,EAAA,IACA,MAAAE,OAAAF,EAAA,GAAAA,EAAA,KAIA,QAAA9G,EAAA,EAAiBA,EAAAoG,EAAA5N,OAAkBwH,IAAA,CAKnC,IAJA,IAAAvD,EAAA2J,EAAApG,GACAqE,EAAA,EACAqB,EAAA,EAEAC,EAAA,EAAmBA,EAAAlJ,EAAAwK,OAAAzO,OAAwBmN,IAAA,CAC3C,IAAAuB,EAAAzK,EAAAwK,OAAAtB,GACAwB,EAAAD,EAAAE,WAAA5R,EAAAwB,KAAAkQ,EAAAE,YAAA,GAEAtQ,EAAAoQ,EAAApQ,YAAAqQ,EAAArQ,YAEAH,EAAAuQ,EAAAvQ,KAAAwQ,EAAAxQ,MAAAnB,EAAAmB,KAEA0Q,EAAAH,EAAAI,WAAAxE,EAEAqE,EAAAG,WAAApB,EAAAvP,IAOA,GANAG,IAAAuQ,GAAAvQ,EAAA,GAAAA,EAAA,IACAoQ,EAAA1P,OAAA6P,EACAH,EAAA7C,WAAAtB,EAAAoE,EAAApQ,eAAAvB,EAAAuB,eAAAsQ,GACAH,EAAAtQ,UAAAuQ,KAAAvQ,WAAApB,EAAAoB,UACAsQ,EAAArQ,kBAAAsQ,KAAAtQ,mBAAA,SAEA,MAAAmQ,GAAAJ,EAAAM,EAAA7C,WAAA2C,EACA,OACAZ,MAAA,GACA7O,MAAA,EACAC,OAAA,GAIA0P,EAAAK,UAAA/D,EAAA0D,EAAAjR,KAAAU,GACA,IAAA6Q,EAAAL,EAAAI,UACAE,EAAA,MAAAD,GAAA,SAAAA,EAGA,qBAAAA,GAAA,MAAAA,EAAAE,OAAAF,EAAAhP,OAAA,GACA0O,EAAAS,aAAAH,EACAX,EAAAe,KAAAV,GACAM,EAAA,MAEO,CACP,GAAAC,EAAA,CACAD,EAAAN,EAAAK,UAGA,IAAAM,EAAAV,EAAAU,oBACAC,EAAAD,KAAAE,MAWAD,IACAA,EAAAnF,EAAAqF,eAAAF,GAEAnF,EAAAsF,aAAAH,KACAN,EAAA7L,KAAAS,IAAAoL,EAAAM,EAAAvQ,MAAA8P,EAAAS,EAAAtQ,UAKA,IAAA0Q,EAAApR,IAAA,GAAAA,EAAA,KACA0Q,GAAAU,EACA,IAAAC,EAAA,MAAApB,IAAArB,EAAA,KAEA,MAAAyC,KAAAX,KACAC,GAAAU,EAAAD,GACAhB,EAAAjR,KAAA,GACAiR,EAAAK,UAAAC,EAAA,IAEAN,EAAAjR,KAAA0O,EAAAuC,EAAAjR,KAAAkS,EAAAD,EAAAvR,EAAAiN,EAAAiB,SAAA,CACAM,QAAAvB,EAAAuB,UAEA+B,EAAAK,UAAA/D,EAAA0D,EAAAjR,KAAAU,GACA6Q,EAAAN,EAAAK,UAAAW,IAKAxC,GAAAwB,EAAA3P,MAAAiQ,EACAL,IAAA9C,EAAA1I,KAAAS,IAAAiI,EAAA6C,EAAA7C,aAGA5H,EAAAlF,MAAAmO,EACAjJ,EAAA4H,aACAuC,GAAAvC,EACAkB,EAAA5J,KAAAS,IAAAmJ,EAAAG,GAGA3B,EAAAE,WAAAF,EAAAxM,MAAAuL,EAAAtN,EAAA+R,UAAAhC,GACAxB,EAAAG,YAAAH,EAAAvM,OAAAsL,EAAAtN,EAAA8R,WAAAV,GAEAE,IACA/C,EAAAE,YAAA6C,EAAA,GAAAA,EAAA,GACA/C,EAAAG,aAAA4C,EAAA,GAAAA,EAAA,IAGA,IAAA9G,EAAA,EAAiBA,EAAA6G,EAAArO,OAAwBwH,IAAA,CACzCkH,EAAAL,EAAA7G,GAAA,IACA2H,EAAAT,EAAAS,aAEAT,EAAA3P,MAAA6Q,SAAAT,EAAA,QAAApC,EAGA,OAAAxB,EAGA,SAAA2C,EAAA2B,EAAA9I,EAAA6H,GAKA,IAJA,IAAAkB,EAAA,KAAA/I,EACAgJ,EAAAhJ,EAAAmE,MAAA,MACA0C,EAAAiC,EAAAjC,MAEApG,EAAA,EAAiBA,EAAAuI,EAAA/P,OAAiBwH,IAAA,CAClC,IAAA/J,EAAAsS,EAAAvI,GACAkH,EAAA,CACAE,YACAnR,OACAuS,cAAAvS,IAAAqS,GAGA,GAAAtI,EAkBAoG,EAAAwB,KAAA,CACAX,OAAA,CAAAC,SAnBA,CACA,IAAAD,GAAAb,IAAA5N,OAAA,KAAA4N,EAAA,IACAa,OAAA,MACOA,OAQPwB,EAAAxB,EAAAzO,OACA,IAAAiQ,GAAAxB,EAAA,GAAAuB,aAAAvB,EAAA,GAAAC,GAEAjR,IAAAwS,GAAAH,IAAArB,EAAAW,KAAAV,KAWA,SAAAwB,EAAAlT,GAGA,IAAAmB,GAAAnB,EAAAmT,UAAAnT,EAAAoT,aAAA,CAAApT,EAAAqT,UAAArT,EAAAsT,YAAAtT,EAAAmT,UAAA,SACAnT,EAAAoT,YAAA,cAAA3D,KAAA,KACA,OAAAtO,GAAA2I,EAAA3I,IAAAnB,EAAAuT,UAAAvT,EAAAmB,KA9RA0M,EAAAM,YAAA,SAAA1N,EAAAU,GACA,IAAArB,EAAAuN,IAEA,OADAvN,EAAAqB,QAAAyM,EACA9N,EAAAqO,YAAA1N,IA8RA2B,EAAAwL,eACAxL,EAAA0L,YACA1L,EAAA4L,WACA5L,EAAApB,kBACAoB,EAAAuM,cACAvM,EAAAwM,cACAxM,EAAA2M,2BACA3M,EAAA+M,eACA/M,EAAAsO,gBACAtO,EAAA+L,cACA/L,EAAAoM,iBACApM,EAAA0M,gBACA1M,EAAA8Q,YAIA,SAAA/Q,EAAAC,EAAA9D,GAEA,IAAA8N,EAAA9N,EAAA,IAEAypJ,EAAA,IAAA37I,EAAA,IAMA,SAAAoG,EAAAw1I,GACA,qBAAAA,EAAA,CACA,IAAAC,EAAAF,EAAA7iJ,IAAA8iJ,GACA,OAAAC,KAAA11I,MAEA,OAAAy1I,EAgBA,SAAAE,EAAAF,EAAAz1I,EAAA41I,EAAA3yH,EAAA4yH,GACA,GAAAJ,EAEG,sBAAAA,EAAA,CAEH,GAAAz1I,KAAA81I,eAAAL,IAAAG,EACA,OAAA51I,EAKA,IAAA01I,EAAAF,EAAA7iJ,IAAA8iJ,GACAM,EAAA,CACAH,SACA3yH,KACA4yH,aAgBA,OAbAH,GACA11I,EAAA01I,EAAA11I,OACAE,EAAAF,IAAA01I,EAAAM,QAAAn2I,KAAAk2I,MAEA/1I,MAAA,IAAA0e,OACA1e,EAAAmkB,OAAA8xH,EACAT,EAAAp7I,IAAAq7I,EAAAz1I,EAAAk2I,eAAA,CACAl2I,QACAg2I,QAAA,CAAAD,KAEA/1I,EAAAokB,IAAApkB,EAAA81I,aAAAL,GAGAz1I,EAGA,OAAAy1I,EAhCA,OAAAz1I,EAoCA,SAAAi2I,IACA,IAAAP,EAAAxoJ,KAAAgpJ,eACAhpJ,KAAAi3B,OAAAj3B,KAAAgpJ,eAAA,KAEA,QAAAj+I,EAAA,EAAiBA,EAAAy9I,EAAAM,QAAAvlJ,OAAiCwH,IAAA,CAClD,IAAA89I,EAAAL,EAAAM,QAAA/9I,GACAgrB,EAAA8yH,EAAA9yH,GACAA,KAAA/1B,KAAA6oJ,EAAAF,WACAE,EAAAH,OAAA/jI,QAGA6jI,EAAAM,QAAAvlJ,OAAA,EAGA,SAAAyP,EAAAF,GACA,OAAAA,KAAAxQ,OAAAwQ,EAAAvQ,OAGAI,EAAAoQ,iBACApQ,EAAA8lJ,sBACA9lJ,EAAAqQ,gBAIA,SAAAtQ,EAAAwrB,EAAArvB,GAEA,aACA,IAAAoiC,EAAApiC,EAAA,GACAqiC,EAAAriC,EAAA,IACAoqJ,EAAApqJ,EAAA,GACAwtD,EAAAxtD,EAAA,IACAqqJ,EAAArqJ,EAAA,IACAsqJ,EAAAtqJ,EAAA,GACAuqJ,EAAAvqJ,EAAA,IACA+pF,EAAA/pF,EAAA,GACAwqJ,EAAAxqJ,EAAA,IACAyqJ,EAAAzqJ,EAAA,IACA0qJ,EAAA1qJ,EAAA,GACA2qJ,EAAA3qJ,EAAA,GACA4qJ,EAAA5qJ,EAAA,IACA6qJ,EAAA7qJ,EAAA,IACA8qJ,EAAA9qJ,EAAA,IACA+qJ,EAAA/qJ,EAAA,IACAgrJ,EAAAhrJ,EAAA,IACAirJ,EAAAjrJ,EAAA,IACAkrJ,EAAAlrJ,EAAA,KAsBAq/F,EAAA,gCAKA,SAAA8rD,EAAAhrF,EAAAqzB,EAAA5nE,GACA,gBAAAA,EACA,OAAAu0C,EAAAnsC,SAAAptB,IAAA,cAEA,mBAAAglB,EAAA,CACA,GAAAu0C,EAAAnsC,SAAA4kC,UAAA,0BACAuH,EAAAnsC,SAAAptB,IAAA,cACA,CACA,IAAA6sF,EAAAtzB,EAAAnsC,SAAAptB,IAAA,eACA,OAAA6sF,GAAA,EAEA,SAGA,OAAAD,EAAA5sF,IAAAglB,GAIA,SAAAw/H,EAAAjrF,EAAAsqB,GACA,IAAA6I,EAAAnzB,EAAAnsC,SACAu/D,EAAA9I,EAAAz2D,SACA,OAAAs/D,EAAA1sF,IAAA,gBAAA2sF,EAAA3sF,IAAA,gBACA0sF,EAAA1sF,IAAA,sBAAA2sF,EAAA3sF,IAAA,mBAxBAmjF,EAAA,eAAAmhE,EAAA,MA0CA,IAAAG,EAAAjpH,EAAA,KAAAv8B,OAAA,WACA,OAMAylJ,WAAAD,EAAAE,IAMAxpJ,WAAA,EAEAypJ,iBAAA,OAEApqF,UAAA,IAAAz0B,aAAA,CACA,IACA,KACA,IACA,KACA,KACA,KACA,KACA,OAGAkrB,UAAA,QAEA4zF,0BAAA,EAEA/rD,aAAA,IAAA+qD,EAAA,KAEA32G,UAAA,GACA43G,iBAAA,CACAC,YAAA,EACAC,kBAAA,EACAC,WAAA,GAGAC,gBAAA,GACAC,mBAAA,GAEAC,WAAA,GACAC,kBAAA,GAEAC,cAAA,GACAC,gBAAA,GAEAC,aAAA,IAAApB,EAAA,OAEC,WAED7pJ,KAAAkrJ,eAAA,IAAAtB,EAAA,MACA5/G,SAAA4+C,EAAA,KAAA3uD,OAAA,mCAEAj6B,KAAAmrJ,eAAA,IAAAvB,EAAA,MACA5/G,SAAA4+C,EAAA,KAAA3uD,OAAA,mCAEAj6B,KAAAkrJ,eAAAr4F,WAAA,WAAA7yD,KAAAY,YACAZ,KAAAkrJ,eAAAr4F,WAAA,aACA7yD,KAAAmrJ,eAAAt4F,WAAA,WAAA7yD,KAAAY,YACAZ,KAAAmrJ,eAAAt4F,WAAA,aAEA7yD,KAAAorJ,iBAAA,IAAAxB,EAAA,MACA5/G,SAAA4+C,EAAA,KAAA3uD,OAAA,0BAEC,CASDi5B,OAAA,SAAA97B,EAAAmmC,EAAA8tF,EAAA7/D,GACA6/D,IACAA,EAAA9tF,EAAA6X,iBAEAp1E,KAAAoX,QAAA,eAAApX,KAAAo3B,EAAAmmC,EAAA8tF,GACArrJ,KAAAsrJ,kBAAAl0H,EAAAmmC,EAAA8tF,EAAA7/D,GACAxrF,KAAAoX,QAAA,cAAApX,KAAAo3B,EAAAmmC,EAAA8tF,IASAE,YAAA,SAAAn0H,EAAAnc,GACAmc,EAAAqpC,YACA,IAAA/tB,EAAAtb,EAAAsb,SACA1wC,EAAA,EAAAC,EAAA,EACAK,EAAA2Y,GAAAy3B,EAAApwC,MAAA,EACAC,EAAAD,EAOA,QAAAgM,KANAtO,KAAAmqJ,aAAAD,EAAAsB,IACAxrJ,KAAAorJ,iBAAAv4H,SAAA0H,OAAA,sBAGAv6B,KAAAorJ,iBAAAv4H,SAAA6J,SAAA,sBAEA18B,KAAA2yC,UAAA,CACA,IAAA/f,EAAA5yB,KAAA2yC,UAAArkC,GACA8oB,EAAAic,YAAArxC,EAAAC,EAAAK,EAAAswB,EAAAtwB,MAAAswB,EAAArwB,UACAvC,KAAAorJ,iBAAAv4F,WAAA,WAAAjgC,GACA5yB,KAAAorJ,iBAAAl4F,OAAA97B,GACAp1B,GAAAM,EAAAswB,EAAAtwB,MAAAswB,EAAArwB,OAEA60B,EAAAic,YAAAX,GACAtb,EAAAspC,gBAGA+qF,iBAAA,SAAAr0H,EAAAg7B,GAWA,GAVAA,EAAAwP,eACA5hE,KAAA6qJ,WAAAl4I,KAAAy/C,GACAA,EAAAv/B,SAAAO,IAAA,mBAEAg/B,EAAAv/B,SAAAO,IAAA,YAAApzB,KAAAigE,YAGA7N,EAAAv/B,SAAAO,IAAA,mBAGApzB,KAAAmqJ,aAAAD,EAAAsB,IACAp5F,EAAAv/B,SAAA0H,OAAA,sBACA63B,EAAAv/B,SAAA6J,SAAA,kCAEA,CACA01B,EAAAv/B,SAAA6J,SAAA,sBACA,IAAAujC,EAAAjgE,KAAAigE,UACAA,KAAA18D,OACA6uD,EAAAv/B,SAAA0H,OAAA,6BAAA0lC,EAAA18D,OAAA,GAGA6uD,EAAAv/B,SAAA6J,SAAA,gCAKAihD,QAAA,SAAAvmD,EAAAmmC,GACA,IAAA71B,EAAA1nC,KACAu9D,EAAAprC,SAAA,SAAA6sC,GACAA,EAAA36B,gBACAqD,EAAA+jH,iBAAAr0H,EAAA4nC,KAIA,QAAAj0D,EAAA,EAAuBA,EAAAwyD,EAAAiR,OAAAjrE,OAAyBwH,IAAA,CAChD,IAAA26D,EAAAnI,EAAAiR,OAAAzjE,GACA26D,EAAAF,aAAAE,EAAAoL,WACA9wE,KAAA8qJ,kBAAAn4I,KAAA+yD,KAKA4lF,kBAAA,SAAAl0H,EAAAmmC,EAAA8tF,EAAA7/D,GAEA,QAAAl9E,KAAAtO,KAAAuqJ,iBACAvqJ,KAAAuqJ,iBAAAj8I,GAAA,EAEAtO,KAAA8qJ,kBAAAvnJ,OAAA,EACAvD,KAAA6qJ,WAAAtnJ,OAAA,EAEA,IAAA6+B,EAAAhL,EAAAwB,GAaA,GAXA4yD,GACAjuB,EAAAhxC,SAEA8+H,GACAA,EAAA9+H,SAGAgxC,EAAAqB,eACA5+D,KAAA29E,QAAAvmD,EAAAmmC,GAGAv9D,KAAA8qJ,kBAAAvnJ,SAAAvD,KAAAsqJ,yBAAA,CAIAtqJ,KAAAsqJ,yBAAA,IAAAtqJ,KAAA8qJ,kBAEA1oH,EAAAltB,OAAAktB,EAAA6V,YACA7V,EAAAmxB,WAAA,GACAnxB,EAAA/sB,QAAA+sB,EAAA0V,OAKA1V,EAAAswB,WAAA,SAYA,IATA,IAOAg5F,EAPAC,EAAA,GACAC,EAAA,GACAC,EAAA,GACAC,EAAA,GACAC,EAAA,GACAC,EAAA,GAIAjhJ,EAAA,EAAuBA,EAAA/K,KAAA8qJ,kBAAAvnJ,OAAmCwH,IAAA,CAC1D,IAAA26D,EAAA1lE,KAAA8qJ,kBAAA//I,GACA,yBAAA26D,EAAAvlE,KAAA,CAEA,GAAAurJ,EAAA,CACAtzH,QAAAyH,KAAA,6DACA,SAEA,GAAA6lC,EAAAgmE,cAAA,GACAtzG,QAAAyH,KAAA,6BACA,SAEA6lC,EAAAgmE,cAAA,IACAggB,EAAAhmF,GAGA1lE,KAAAisJ,6BACA70H,EACAmmC,EACA8tF,EACA3lF,EACAqmF,EACAD,EACAD,OAGA,eAAAnmF,EAAAvlE,KACAH,KAAAksJ,sBACA90H,EACAmmC,EACAmI,EACAkmF,EACAD,GAGA,gBAAAjmF,EAAAvlE,MACAH,KAAAmsJ,uBACA/0H,EACAmmC,EACAmI,EACAsmF,GAIAhsJ,KAAAuqJ,iBAAA7kF,EAAAvlE,QAGA,QAAA8zE,KAAAj0E,KAAAuqJ,iBACA,KAAAvL,EAAAh/I,KAAAuqJ,iBAAAt2E,GACAhpE,EAAAgpE,EAAA,mBACA,IAAAlpE,EAAA,EAA2BA,EAAA/K,KAAA6qJ,WAAAtnJ,OAA4BwH,IAAA,CACvD,IAAAqnD,EAAApyD,KAAA6qJ,WAAA9/I,GACA8nB,EAAAu/B,EAAAv/B,SACAA,EAAAoZ,gBAAAhhC,KAAA+zI,IACAA,EAAA,EACAnsH,EAAA0H,OAAA,WAAAtvB,EAAA+zI,GAEAnsH,EAAA4kC,UAAA,WAAAxsD,IACA4nB,EAAA6J,SAAA,WAAAzxB,KAKA,IAAAF,EAAA,EAAuBA,EAAA/K,KAAA6qJ,WAAAtnJ,OAA4BwH,IAAA,CACnDqnD,EAAApyD,KAAA6qJ,WAAA9/I,GACA8nB,EAAAu/B,EAAAv/B,SACA64H,EACA74H,EAAA0H,OAAA,4BAAAmxH,EAAAhgB,eAGA74G,EAAA6J,SAAA,6BAIA,IAAAg4C,EAAAnX,EAAAmX,eAKA,GAAAm3E,EAAAtoJ,OAAA,GACA,IAAA6oJ,EAAAP,EAAAz+I,IAAAi/I,GAIA,GAHA33E,EAAAm3E,2BAAA,CAAyD5nJ,MAAA4nJ,EAAA1rJ,KAAA,MACzDu0E,EAAAo3E,yBAAA,CAAuD7nJ,MAAA6nJ,EAAA3rJ,KAAA,OACvDu0E,EAAA03E,+BAAA,CAA6DnoJ,MAAAmoJ,EAAAjsJ,KAAA,OAC7DurJ,EAAA,CACA,IAAAY,EAAAP,EAAA7sH,QACAqtH,EAAAR,EAAA7sH,QACAotH,EAAAjgI,MACAkgI,EAAAznF,QAGAwnF,EAAAE,UACAD,EAAAC,UAEAV,EAAAU,UACA93E,EAAA43E,uBAAA,CAAyDroJ,MAAAqoJ,EAAAnsJ,KAAA,OACzDu0E,EAAA63E,sBAAA,CAAwDtoJ,MAAAsoJ,EAAApsJ,KAAA,QAIxD,GAAAwrJ,EAAApoJ,OAAA,GACA,IAAAkpJ,EAAAd,EAAAv+I,IAAAi/I,GACA33E,EAAAnX,EAAAmX,eACAA,EAAAi3E,oBAAA,CAAkD1nJ,MAAA0nJ,EAAAxrJ,KAAA,MAClDu0E,EAAAk3E,kBAAA,CAAgD3nJ,MAAA2nJ,EAAAzrJ,KAAA,OAChDu0E,EAAA+3E,wBAAA,CAAsDxoJ,MAAAwoJ,EAAAtsJ,KAAA,OAGtD6rJ,EAAAzoJ,OAAA,IACAmxE,EAAAs3E,qBAAA,CAAmD/nJ,MAAA+nJ,EAAA7rJ,KAAA,OAjCnD,SAAAksJ,EAAAz5H,GACA,OAAAA,EAAArwB,SAoCA0pJ,6BAAA,WAEA,IAAAS,EAAA,IAAAxD,EAAA,KACAyD,EAAA,IAAAxD,EAAA,KACAyD,EAAA,IAAAvgG,EAAA,KACAwgG,EAAA,IAAA1D,EAAA,KACA2D,EAAA,IAAA3D,EAAA,KACA4D,EAAA,IAAA5D,EAAA,KACA6D,EAAA,IAAA7D,EAAA,KAEA,gBAAA/xH,EAAAmmC,EAAA8tF,EAAA3lF,EAAAqmF,EAAAD,EAAAD,GAEA,IAAAoB,EAAAjtJ,KAAAktJ,kBAAAxnF,GACAinB,EAAA,CACAV,YAAA,SAAAjtB,GACA,OAAAA,EAAAhjC,qBAAAixH,GAEAlgE,kBAAAk9D,EACAn3F,WAAAk3F,EACA78D,SAAA,SAAAnuB,GACA,OAAAA,EAAAwG,YAEA0mB,YAAAk9D,EAAA,KAAAj9D,mBAIA,IAAA5uB,EAAAkX,yBAAA16D,WAAA,CACA,IAAAmzC,EAAAqQ,EAAA0V,iBACA1V,EAAAkX,yBACAr7D,KAAA8zC,GAAA7zC,eAAAgyI,EAAA90E,YAIA,IAAA42E,EAAAzmJ,KAAAQ,KAAAq2D,EAAAkX,yBAAAvtE,IAAAi2B,EAAAkuH,EAAA17G,KACAy9G,EAAA1mJ,KAAAS,KAAAo2D,EAAAkX,yBAAAttE,IAAAg2B,EAAAkuH,EAAA37G,MAEA29G,EAAArtJ,KAAAstJ,2BAAA5nF,EAAAnI,EAAA8tF,GAEAkC,EAAAR,EAAA3vH,MACA4vH,EAAA5zI,KAAAi0I,EAAAx2E,kBACAizE,EAAA,KAAAj6G,OAAAi9G,EAAA1vH,MAAAiwH,EAAArsF,eAAA5jC,OACA0sH,EAAA,KAAA7rH,SAAA6uH,EAAA1vH,MAAA0vH,EAAA1vH,MAAAiuH,EAAArqF,eAAA5jC,OACA0sH,EAAA,KAAA7rH,SAAAsvH,EAAAP,EAAA5vH,MAAA0vH,EAAA1vH,OAOA,IALA,IAAAowH,EAAA,GACAC,EAAApC,aAAA3B,EAAA,KAEA1oC,GAAAqqC,EAAA37G,KAAA27G,EAAA17G,MAAA07G,EAAA37G,KAAA27G,EAAA17G,KACA+9G,EAAA,EAAArC,EAAA37G,KAAA27G,EAAA17G,KAAA07G,EAAA37G,KAAA27G,EAAA17G,KACA5kC,EAAA,EAA2BA,GAAA26D,EAAAgmE,cAA0B3gI,IAAA,CACrD,IAAA4iJ,EAAAP,EAAA1mJ,KAAA2uB,IAAA83H,EAAAC,EAAAriJ,EAAA26D,EAAAgmE,eACAkiB,EAAAR,GAAAD,EAAAC,GAAAriJ,EAAA26D,EAAAgmE,cACAjjI,EAAAklJ,EAAAjoF,EAAAimE,sBAAAiiB,GAAA,EAAAloF,EAAAimE,uBACA6hB,EAAA76I,KAAAlK,GACAsjJ,EAAAp5I,QAAAlK,EAAAu4G,EAAA0sC,IAAAjlJ,GAEA,IAAAmqB,EAAA5yB,KAAA6tJ,YAAAnoF,IAAAgmE,eACAmgB,EAAAl5I,KAAAigB,GAEA,IAAA8f,EAAAtb,EAAAsb,SAEAtQ,EAAAhL,EAAAwB,GACA54B,KAAAu+F,aAAApqD,OAAAvhB,GACA5yB,KAAAu+F,aAAA31F,KAAAwuB,GACAgL,EAAA11B,MAAA01B,EAAA8S,iBAAA9S,EAAA4S,kBAEA,IAAAjqC,EAAA,EAA2BA,EAAA26D,EAAAgmE,cAAyB3gI,IAAA,CAEpD,IAAA+iJ,EAAAN,EAAAziJ,GACAgjJ,EAAAP,EAAAziJ,EAAA,GACA0iJ,EACA3D,EAAA,KAAA15G,YAAAu8G,EAAAvvH,MAAAiuH,EAAApyE,IAAA,IAAAvyE,KAAAC,GAAA0kJ,EAAAzqI,OAAAktI,EAAAC,GAGAjE,EAAA,KAAA35G,MACAw8G,EAAAvvH,MACAiuH,EAAA/7G,KAAA+7G,EAAA97G,MAAA87G,EAAA77G,OAAA67G,EAAA57G,IACAq+G,EAAAC,GAGArB,EAAA5yD,kBAAA6yD,GACAD,EAAAlxD,0BAAAoxD,EAAAE,GACAF,EAAA/tH,gBAAAmuH,GACA,IAAA14F,EAAAs4F,EAAA1lJ,IAAAk2B,MACAm3B,EAAAq4F,EAAAzlJ,IAAAi2B,MACAk3B,EAAA,GAAA5tD,KAAAS,IAAAmtD,EAAA,OACAA,EAAA,GAAA5tD,KAAAS,IAAAmtD,EAAA,OACAC,EAAA,GAAA7tD,KAAAQ,IAAAqtD,EAAA,MACAA,EAAA,GAAA7tD,KAAAQ,IAAAqtD,EAAA,MACAs4F,EAAA18G,MAAAmkB,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,SACA84F,EAAAx2E,iBAAA3mC,aAAA28G,GAEA,IAAAmB,EAAAtoF,EAAA7rC,kBAAA,IAGAzC,EAAAic,aAAAqyB,EAAAgmE,cAAA3gI,EAAA,GAAAijJ,EAAA,EAAAA,IAAA,GAEA,IAAAnvF,EAAAtB,EAAAuB,iBAAAuuF,GACAj2H,EAAAw8B,WAAAiL,EAAA2C,OAAA6rF,EAAA1gE,GAGA3sF,KAAAmqJ,aAAAD,EAAAsB,KACAxrJ,KAAAiuJ,gBAAA72H,EAAAxE,IAAAtwB,OAGA,IAAAsuD,EAAA,IAAAu4F,EAAA,KACAv4F,EAAAx3C,KAAAi0I,EAAA92E,YACArmC,aAAAm9G,EAAAx2E,kBAEAi1E,EAAAn5I,KAAAi+C,EAAAxzB,OAEAiwH,EAAAx2E,iBAAAz9D,KAAA4zI,GAGAhtJ,KAAAu+F,aAAA57D,OAAAvL,GAEAA,EAAAic,YAAAX,IApHA,GAwHAw5G,sBAAA,SAAA90H,EAAAmmC,EAAAmI,EAAAkmF,EAAAD,GAEA,IAAA/4H,EAAA5yB,KAAA6tJ,YAAAnoF,GACA2nF,EAAArtJ,KAAAkuJ,oBAAAxoF,GACAtjC,EAAAhL,EAAAwB,GAEA54B,KAAAu+F,aAAApqD,OAAAvhB,GACA5yB,KAAAu+F,aAAA31F,KAAAwuB,GAEAgL,EAAA11B,MAAA01B,EAAA8S,iBAAA9S,EAAA4S,kBAEA,IAAAi4G,EAAAjtJ,KAAAktJ,kBAAAxnF,GACAinB,EAAA,CACAV,YAAA,SAAAjtB,GACA,OAAAA,EAAAhjC,qBAAAixH,GAEAlgE,kBAAAk9D,EACAn3F,WAAAk3F,EACA78D,SAAA,SAAAnuB,GACA,OAAAA,EAAAwG,YAEA0mB,YAAAk9D,EAAA,KAAAj9D,mBAGAttB,EAAAtB,EAAAuB,iBAAAuuF,GACAj2H,EAAAw8B,WAAAiL,EAAA2C,OAAA6rF,EAAA1gE,GAEA3sF,KAAAu+F,aAAA57D,OAAAvL,GAGAp3B,KAAAmqJ,aAAAD,EAAAsB,KACAxrJ,KAAAiuJ,gBAAA72H,EAAAxE,IAAAtwB,OAGA,IAAAsuD,EAAA,IAAAu4F,EAAA,KACAv4F,EAAAx3C,KAAAi0I,EAAArsF,gBACAnxB,SACAK,aAAAm9G,EAAAx2E,kBAEA80E,EAAAh5I,KAAAigB,GACAg5H,EAAAj5I,KAAAi+C,EAAAxzB,QAGA+uH,uBAAA,SAAA/0H,EAAAmmC,EAAAmI,EAAAsmF,GACA,IAAAp5H,EAAA5yB,KAAA6tJ,YAAAnoF,GACAtjC,EAAAhL,EAAAwB,GACAozH,EAAAr5I,KAAAigB,GAEA,IAAAq6H,EAAAjtJ,KAAAktJ,kBAAAxnF,GACAinB,EAAA,CACAV,YAAA,SAAAjtB,GACA,OAAAA,EAAAhjC,qBAAAixH,GAEAn6F,WAAAk3F,EACA99D,YAAAk9D,EAAA,KAAAj9D,mBAGAgiE,EAAA,CACA/iF,GAAA,GAAAE,GAAA,GAAAE,GAAA,GAAAH,GAAA,GAAAE,GAAA,GAAAE,GAAA,IAEAhsD,EAAA,IAAA4sC,EAAA,KACA+hG,EAAA1oF,EAAA7E,mBAAAzjC,MACAixH,EAAA,IAAAhiG,EAAA,KACA2rD,EAAAtyC,EAAAsyC,MACAq2C,EAAAnnJ,IAAAs2B,SAAA4wH,GACAC,EAAAlnJ,IAAAq2B,SAAA4wH,GACA,IAAArzI,EAAA,IAAAkuI,EAAA,KAAAjxC,OACAq2C,EAAAlnJ,IAAAo2B,IAAAxiB,GACAszI,EAAAnnJ,IAAAkX,IAAArD,GAEA,IAAAuzI,EAAA,CAAiCljF,IAAA,EAAAE,IAAA,EAAAE,IAAA,EAAAH,IAAA,EAAAE,IAAA,EAAAE,IAAA,GACjClO,EAAAprC,SAAA,SAAA6sC,GACA,GAAAA,EAAA36B,gBAAA26B,EAAAwG,WAAA,CACA,IAAAvpC,EAAA+iC,EAAA/iC,SACA,IAAAA,EAAAixB,YAAA,CACA,QAAAniD,EAAA,EAAmCA,EAAAmzF,EAAA36F,OAAoBwH,IACvDojJ,EAAAjwD,EAAAnzF,IAAA4H,KAAAqsD,GAEA,OAGA,GADAv/C,EAAAo1C,cAAA54B,EAAAixB,YAAA8R,EAAAgC,iBACAvhD,EAAA40C,qBAAAg6F,GACA,OAGA5uI,EAAAk2C,iBACA,IAAA5qD,EAAA,EAA+BA,EAAAmzF,EAAA36F,OAAoBwH,IACnDujJ,EAAApwD,EAAAnzF,KAAA,EAEA,IAAAA,EAAA,EAA+BA,EAAA,EAAOA,IAAA,CACtC,IAAAwjJ,EAAA9uI,EAAAw0C,SAAAlpD,GACA/I,EAAAusJ,EAAA,GAAAH,EAAA,GACAnsJ,EAAAssJ,EAAA,GAAAH,EAAA,GACAjxH,EAAAoxH,EAAA,GAAAH,EAAA,GACAI,EAAA9nJ,KAAAiR,IAAA3V,GACAysJ,EAAA/nJ,KAAAiR,IAAA1V,GACAysJ,EAAAhoJ,KAAAiR,IAAAwlB,GACAqxH,EAAAC,EACAD,EAAAE,EACAJ,EAAAtsJ,EAAA,gBAGAssJ,EAAAnxH,EAAA,gBAIAsxH,EAAAC,EACAJ,EAAArsJ,EAAA,gBAGAqsJ,EAAAnxH,EAAA,gBAIA,IAAApyB,EAAA,EAA+BA,EAAAmzF,EAAA36F,OAAoBwH,IACnDujJ,EAAApwD,EAAAnzF,KACAojJ,EAAAjwD,EAAAnzF,IAAA4H,KAAAqsD,MAMA,QAAAj0D,EAAA,EAAuBA,EAAA,EAAOA,IAAA,CAC9B,IAAAsL,EAAA6nF,EAAAnzF,GACAunD,EAAAtyD,KAAA2uJ,qBAAAjpF,EAAArvD,GAEArW,KAAAu+F,aAAApqD,OAAAvhB,EAAAwP,EAAAmQ,kBAAAnQ,EAAAoc,4BAAAzzC,GACA/K,KAAAu+F,aAAA31F,KAAAwuB,GACAgL,EAAA11B,MAAA01B,EAAA8S,iBAAA9S,EAAA4S,kBAEA5d,EAAAw8B,WAAAu6F,EAAA93I,GAAAi8C,EAAAq6B,GAGA3sF,KAAAu+F,aAAA57D,OAAAvL,IAGA81H,kBAAA,SAAAxnF,GACA,IAAAkpF,EAAA5uJ,KAAAgrJ,gBAAAtlF,EAAA/uC,SACAk4H,EAAA,gBAAAnpF,EAAAvlE,KACA,IAAAyuJ,EAAA,CACA,IAAAE,EAAAD,EAAA,qCACAD,EAAA,IAAAvF,EAAA,MACA3yF,UAAA12D,KAAA02D,UACA/jC,OAAA,IAAAi2D,EAAA,KAAAA,EAAA,KAAA3uD,OAAA60H,EAAA,UAAAlmE,EAAA,KAAA3uD,OAAA60H,EAAA,eAGA9uJ,KAAAgrJ,gBAAAtlF,EAAA/uC,SAAAi4H,EAoBA,OAlBA,MAAAlpF,EAAA+lE,kBACAmjB,EAAA/7F,WAAA,aAAA6S,EAAA+lE,kBAEA,MAAA/lE,EAAAoI,YACA8gF,EAAA/7F,WAAA,OAAA6S,EAAAoI,YAEA9tE,KAAAmqJ,aAAAD,EAAAsB,IACAoD,EAAAr0H,OAAA,sBAGAq0H,EAAAlyH,SAAA,sBAGAmyH,IACAD,EAAAx7H,IAAA,gBAAAsyC,EAAA7E,mBAAAzjC,OACAwxH,EAAAx7H,IAAA,QAAAsyC,EAAAsyC,QAGA42C,GAGAX,gBAAA,SAAA72H,EAAAxE,EAAA3X,GACA,IAAA8zI,EAAA,CACAzsJ,MAAA2Y,EACA1Y,OAAA0Y,EACA9a,KAAAopJ,EAAA,KAAA1kH,OAEAmqH,EAAAhvJ,KAAAirJ,aAAAxlJ,IAAAspJ,GAEA/uJ,KAAAu+F,aAAApqD,OAAA66G,GACAhvJ,KAAAu+F,aAAA31F,KAAAwuB,GACAp3B,KAAAkrJ,eAAAr4F,WAAA,UAAAjgC,GACA5yB,KAAAkrJ,eAAAr4F,WAAA,eAAA53C,GACAjb,KAAAkrJ,eAAAh4F,OAAA97B,GAEAp3B,KAAAu+F,aAAApqD,OAAAvhB,GACA5yB,KAAAmrJ,eAAAt4F,WAAA,UAAAm8F,GACAhvJ,KAAAmrJ,eAAAt4F,WAAA,gBAAA53C,GACAjb,KAAAmrJ,eAAAj4F,OAAA97B,GACAp3B,KAAAu+F,aAAA57D,OAAAvL,GAEAp3B,KAAAirJ,aAAA/9I,IAAA8hJ,IAGAnB,YAAA,SAAAnoF,EAAAupF,GACA,IAAAhkJ,EAAAy6D,EAAA/uC,QACA/D,EAAA5yB,KAAA2yC,UAAA1nC,GACAikJ,EAAAxpF,EAAA7rC,kBAAA,IAyBA,OAxBAo1H,KAAA,EACAr8H,IAEAA,EADA,gBAAA8yC,EAAAvlE,KACA,IAAAspJ,EAAA,KAGA,IAAAD,EAAA,KAIA52H,EAAAtwB,MAAA4sJ,EAAAD,EACAr8H,EAAArwB,OAAA2sJ,EACAlvJ,KAAAmqJ,aAAAD,EAAAsB,KACA54H,EAAAzyB,KAAAopJ,EAAA,KAAA1kH,MACAjS,EAAAsI,YAAA,IAGAtI,EAAA2O,UAAAL,EAAA,KAAA4C,QACAlR,EAAA6O,UAAAP,EAAA,KAAA4C,QACAlR,EAAA+O,WAAA,GAEA3hC,KAAA2yC,UAAA1nC,GAAA2nB,GAGAA,GAGA+7H,qBAAA,SAAAjpF,EAAArvD,GACArW,KAAA+qJ,cAAAlhF,QACA7pE,KAAA+qJ,cAAAlhF,MAAA,CACAuB,GAAA,IAAAs+E,EAAA,KACAr+E,GAAA,IAAAq+E,EAAA,KACAp+E,GAAA,IAAAo+E,EAAA,KACAn+E,GAAA,IAAAm+E,EAAA,KACAl+E,GAAA,IAAAk+E,EAAA,KACAj+E,GAAA,IAAAi+E,EAAA,OAGA,IAAAp3F,EAAAtyD,KAAA+qJ,cAAAlhF,MAAAxzD,GAKA,OAHAi8C,EAAA3iB,IAAA+1B,EAAAsyC,MACA1lD,EAAA2mB,IAAA,GACA3mB,EAAAhsD,SAAA8sB,IAAA,OACA/c,GACA,SACAi8C,EAAAxiB,OAAAm5G,EAAA,KAAAxoH,WAAAwoH,EAAA,KAAAroH,YACA,MACA,SACA0xB,EAAAxiB,OAAAm5G,EAAA,KAAAvoH,WAAAuoH,EAAA,KAAAroH,YACA,MACA,SACA0xB,EAAAxiB,OAAAm5G,EAAA,KAAAtoH,WAAAsoH,EAAA,KAAApoH,YACA,MACA,SACAyxB,EAAAxiB,OAAAm5G,EAAA,KAAAroH,WAAAqoH,EAAA,KAAAnoH,YACA,MACA,SACAwxB,EAAAxiB,OAAAm5G,EAAA,KAAApoH,WAAAooH,EAAA,KAAAroH,YACA,MACA,SACA0xB,EAAAxiB,OAAAm5G,EAAA,KAAAnoH,WAAAmoH,EAAA,KAAAroH,YACA,MAKA,OAHA8kC,EAAA7E,iBAAAvO,EAAAhsD,UACAgsD,EAAA/lC,SAEA+lC,GAGAg7F,2BAAA,WACA,IAAAR,EAAA,IAAA3D,EAAA,KACAgG,EAAA,IAAA9iG,EAAA,KACA+iG,EAAA,IAAA/iG,EAAA,KAGA,gBAAAqZ,EAAAnI,EAAA8tF,GACArrJ,KAAA+qJ,cAAAsE,cACArvJ,KAAA+qJ,cAAAsE,YAAA,IAAA1F,EAAA,MAEA,IAAAr3F,EAAAtyD,KAAA+qJ,cAAAsE,YAEAF,EAAA/1I,KAAAmkD,EAAAkX,0BACA06E,EAAA/6F,aAAAi3F,EAAAh8G,QAAA6d,aAEAoF,EAAAhsD,SACA8S,KAAA+1I,EAAAjoJ,KACAq2B,IAAA4xH,EAAAhoJ,KACA4Q,MAAA,IACA2mB,cAAA2sH,EAAArqF,gBACA1O,EAAA9rD,SAAA4S,KAAAssD,EAAAl/D,UACA8rD,EAAAv6C,MAAAqB,KAAAssD,EAAA3tD,OACAu6C,EAAAwgB,uBAGAq2E,EAAA,KAAAt5G,OAAAi9G,EAAAx6F,EAAA0O,gBACAmoF,EAAA,KAAAlrH,SAAA6uH,IAAAzB,EAAArqF,gBAEAouF,EAAAh2I,KAAA+1I,GAAA91I,eAAAyzI,GAEA,IAAA5lJ,EAAAkoJ,EAAAloJ,IAAAk2B,MACAj2B,EAAAioJ,EAAAjoJ,IAAAi2B,MAoBA,OAjBAk1B,EAAAhsD,SAAA8sB,KAAAlsB,EAAA,GAAAC,EAAA,OAAAD,EAAA,GAAAC,EAAA,MAAAA,EAAA,IACAu3B,cAAA4zB,EAAA0O,gBACA1O,EAAA5iB,KAAA,EACA4iB,EAAA3iB,KAAAzoC,EAAA,GAAAC,EAAA,GAEAyS,MAAA5Z,KAAAqqJ,kBACA/3F,EAAA3iB,KAAA,EAGA2iB,EAAA3iB,KAAA3vC,KAAAqqJ,iBAEA/3F,EAAAhjB,KAAApoC,EAAA,GACAorD,EAAA/iB,MAAApoC,EAAA,GACAmrD,EAAA7iB,IAAAtoC,EAAA,GACAmrD,EAAA9iB,OAAAtoC,EAAA,GACAorD,EAAA/lC,QAAA,GAEA+lC,GAnDA,GAuDA47F,oBAAA,SAAAxoF,GACA1lE,KAAA+qJ,cAAAuE,OACAtvJ,KAAA+qJ,cAAAuE,KAAA,IAAA5F,EAAA,MAEA,IAAAp3F,EAAAtyD,KAAA+qJ,cAAAuE,KAQA,OANAh9F,EAAA2mB,IAAA,EAAAvT,EAAAymE,cACA75E,EAAA3iB,IAAA+1B,EAAAsyC,MACA1lD,EAAA0O,eAAA5nD,KAAAssD,EAAA1E,gBACA1O,EAAA6lB,yBACA2xE,EAAA,KAAAj6G,OAAAyiB,EAAAikB,WAAAn5C,MAAAk1B,EAAA0O,eAAA5jC,OAEAk1B,GAQAx8C,QAAA,SAAAshB,GACA,IAAAgL,EAAAhL,EAAAwB,IAAAxB,EAMA,QAAA9oB,KAJAtO,KAAAu+F,cACAv+F,KAAAu+F,aAAAzoF,QAAAssB,GAGApiC,KAAA2yC,UACA3yC,KAAA2yC,UAAArkC,GAAAwH,QAAAssB,GAGApiC,KAAAirJ,aAAAv+I,MAAA0qB,EAAAwB,IAEA54B,KAAA2qJ,gBAAA,GACA3qJ,KAAA4qJ,mBAAA,GACA5qJ,KAAA2yC,UAAA,GACA3yC,KAAA+qJ,cAAA,GACA/qJ,KAAAuqJ,iBAAA,CACAC,YAAA,EACAC,kBAAA,EACAC,WAAA,GAEA1qJ,KAAAuvJ,eAAA,GAEA,QAAAxkJ,EAAA,EAAuBA,EAAA/K,KAAA6qJ,WAAAtnJ,OAA4BwH,IAAA,CACnD,IAAAqnD,EAAApyD,KAAA6qJ,WAAA9/I,GAEA,GAAAqnD,EAAAv/B,SAAA,CACA,IAAAA,EAAAu/B,EAAAv/B,SACAA,EAAA6J,SAAA,uCACA7J,EAAA6J,SAAA,6CACA7J,EAAA6J,SAAA,yCACA7J,EAAAO,IAAA,oBAIApzB,KAAA6qJ,WAAA,GACA7qJ,KAAA8qJ,kBAAA,MAQAZ,EAAAsB,IAAA,EAMAtB,EAAAE,IAAA,EAEAl8H,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,ykTAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA2wJ,EAAA3wJ,EAAA,GACAo1G,EAAAp1G,EAAA,GACA4wJ,EAAA5wJ,EAAA,GACA6wJ,EAAA7wJ,EAAA,IACA8wJ,EAAA9wJ,EAAA,KACA+wJ,EAAA/wJ,EAAA,KACAgxJ,EAAAhxJ,EAAA,KACAixJ,EAAAjxJ,EAAA,KACAkxJ,EAAAlxJ,EAAA,GACAmxJ,EAAAnxJ,EAAA,KACAoxJ,EAAApxJ,EAAA,KAEAqxJ,GADArxJ,EAAA,GACAA,EAAA,MACAsxJ,EAAAtxJ,EAAA,IACAuxJ,EAAAvxJ,EAAA,IACAwxJ,EAAAxxJ,EAAA,IACAyxJ,EAAAzxJ,EAAA,IACA0xJ,EAAA1xJ,EAAA,IACA2xJ,EAAA3xJ,EAAA,IACA4xJ,EAAA5xJ,EAAA,IACA6xJ,EAAA7xJ,EAAA,IACA8xJ,EAAA9xJ,EAAA,IACA+xJ,EAAA/xJ,EAAA,KACAgyJ,EAAAhyJ,EAAA,KA4BA2wJ,EAAA,eAAAW,EAAA,MACAX,EAAA,eAAAY,EAAA,MACAZ,EAAA,eAAAa,EAAA,MACAb,EAAA,eAAAc,EAAA,MACAd,EAAA,eAAAe,EAAA,MACAf,EAAA,eAAAgB,EAAA,MACAhB,EAAA,eAAAiB,EAAA,MACAjB,EAAA,eAAAkB,EAAA,MACAlB,EAAA,eAAAmB,EAAA,MACAnB,EAAA,eAAAoB,EAAA,MACApB,EAAA,eAAAqB,EAAA,MAGA,IAAAC,EAAA,CACAhqI,MAAA,CACA6+D,WAAA,CACArjF,MAAA,SAAA80B,GACA,OAAAA,EAAA7oB,YAEAhM,OAAA,SAAA60B,GACA,OAAAA,EAAAknC,gBAMAyyF,EAAA,qBAEA,SAAAC,IACAhxJ,KAAAixJ,eAAA,IAAAh9C,EAAA,MACA9zG,KAAAsvJ,EAAA,KAAA3qH,aAEA9kC,KAAAkxJ,cAAA,IAAAj9C,EAAA,MACA5yE,OAAAouH,EAAA,KAAAvsH,gBACA/iC,KAAAsvJ,EAAA,KAAA7qH,eAGA5kC,KAAAmxJ,aAAA,IAAAzB,EAAA,KACA1vJ,KAAAmxJ,aAAAh9G,OAAAn0C,KAAAixJ,gBACAjxJ,KAAAmxJ,aAAAh9G,OAAAn0C,KAAAkxJ,cAAAxB,EAAA,KAAAr9G,kBAEAryC,KAAAoxJ,YAAA,IAAApB,EAAA,KAEAhwJ,KAAA09D,YAAA30D,OAAA4mJ,EAAA,KAAA5mJ,CAAAmnJ,EAAA,MAEA,IAAAmB,EAAArxJ,KAAA09D,YAAA4zF,cAAA,UACAD,EAAAz+H,QAAA5yB,KAAAixJ,eACA,IAAAM,EAAAvxJ,KAAA09D,YAAA4zF,cAAA,OAEAtxJ,KAAAwxJ,YAAAH,EACArxJ,KAAAyxJ,SAAAF,EACAvxJ,KAAA0xJ,eAAA1xJ,KAAA09D,YAAA4zF,cAAA,aACAtxJ,KAAA2xJ,UAAA3xJ,KAAA09D,YAAA4zF,cAAA,QAEAtxJ,KAAA4xJ,cAAA,gDAAAxkJ,IAAA,SAAAkB,GACA,OAAAtO,KAAA09D,YAAA4zF,cAAAhjJ,IACKtO,MAELA,KAAA6xJ,eAAA,EACA7xJ,KAAA8xJ,mBAAA,IAAAtmH,aAAA,GAEAxrC,KAAA+xJ,iBAAAhB,EAAA3jJ,IAAA,SAAAkB,GACA,OAAAtO,KAAA09D,YAAA4zF,cAAAhjJ,IACKtO,MAEL,IAAAgyJ,EAAA,CACAC,cAAAjyJ,KAAAoxJ,YAAAc,mBACAC,aAAAnyJ,KAAAoxJ,YAAAgB,mBAEApyJ,KAAAqyJ,UAAA,IAAAzC,EAAA,KAAAoC,GACAhyJ,KAAAsyJ,SAAA,IAAAzC,EAAA,KAAAmC,GACAhyJ,KAAAuyJ,UAAA,IAAAtC,EAAA,KAAA+B,GAGAhB,EAAA/wJ,UAAAo+D,OAAA,SAAA/7D,EAAAC,EAAAoJ,GACAA,KAAA,EACArJ,GAAAqJ,EACApJ,GAAAoJ,EADA,IAEA6mJ,EAAAxyJ,KAAAixJ,eACAkB,EAAAnyJ,KAAAkxJ,cAEAsB,EAAAlwJ,QACAkwJ,EAAAjwJ,SACA4vJ,EAAA7vJ,QACA6vJ,EAAA5vJ,UAGAyuJ,EAAA/wJ,UAAAwyJ,oBAAA,WACA,OAAAzyJ,KAAAshE,aAAAthE,KAAA0yJ,aAAA1yJ,KAAA2yJ,YAGA3B,EAAA/wJ,UAAA2yJ,aAAA,SAAAv1I,GACA,IAAAM,EAAAozI,EAAA3lH,QAAA/tB,EAAA/O,MAAA,EACAukJ,EAAA7yJ,KAAA+xJ,iBAAAp0I,GACA,MAAAk1I,IAAA7yJ,KAAA09D,YAAA4zF,cAAAuB,EAAAvkJ,MACAqP,GAAA,EACAk1I,EAAA7yJ,KAAA+xJ,iBAAAp0I,GAEA,OAAAk1I,GAEA7B,EAAA/wJ,UAAA6yJ,aAAA,SAAAz1I,GACA,IAAAM,EAAAozI,EAAA3lH,QAAA/tB,EAAA/O,MAAA,EACAykJ,EAAA/yJ,KAAA+xJ,iBAAAp0I,GACA,MAAAo1I,IAAA/yJ,KAAA09D,YAAA4zF,cAAAyB,EAAAzkJ,MACAqP,GAAA,EACAo1I,EAAA/yJ,KAAA+xJ,iBAAAp0I,GAEA,OAAAo1I,GAEA/B,EAAA/wJ,UAAA+yJ,cAAA,SAAA31I,GACA,IAAAw1I,EAAA7yJ,KAAA4yJ,aAAAv1I,GACA01I,EAAA/yJ,KAAA8yJ,aAAAz1I,GACAw1I,IAIAA,EAAArgG,QAAAs+F,EACAzzI,EAAA41I,OAAArgI,QAAAigI,EAAAvkJ,KACAykJ,GACA11I,EAAAm1C,QAAAs+F,EACAiC,EAAAE,OAAArgI,QAAAvV,EAAA/O,MAGA+O,EAAAm1C,QAAA,KAEAxyD,KAAA09D,YAAAw1F,QAAA71I,KAEA2zI,EAAA/wJ,UAAAkzJ,iBAAA,SAAA91I,GACA,IAAAw1I,EAAA7yJ,KAAA4yJ,aAAAv1I,GACA01I,EAAA/yJ,KAAA8yJ,aAAAz1I,GACAw1I,IAIAE,GACAF,EAAArgG,QAAAs+F,EACAiC,EAAAE,OAAArgI,QAAAigI,EAAAvkJ,MAGAukJ,EAAArgG,QAAA,KAEAxyD,KAAA09D,YAAA01F,WAAA/1I,KAKA2zI,EAAA/wJ,UAAAmgE,aAAA,SAAAhpC,EAAAmmC,EAAAjL,EAAA74C,GACAzZ,KAAAyyJ,uBACAzyJ,KAAAoxJ,YAAA7kI,OAAA6K,EAAAmmC,EAAAjL,IAOA0+F,EAAA/wJ,UAAAshE,WAAA,SAAAnqC,EAAAmmC,EAAAjL,EAAA74C,GACAzZ,KAAAqyJ,UAAA9lI,OAAA6K,EAAAk7B,EAAA74C,IAMAu3I,EAAA/wJ,UAAAkjE,WAAA,WACAnjE,KAAAshE,aAAA,GAMA0vF,EAAA/wJ,UAAAmjE,YAAA,WACApjE,KAAAshE,aAAA,GAMA0vF,EAAA/wJ,UAAA0iE,UAAA,WACA3iE,KAAA2yJ,YAAA,GAMA3B,EAAA/wJ,UAAA2iE,WAAA,WACA5iE,KAAA2yJ,YAAA,GAOA3B,EAAA/wJ,UAAAyhE,eAAA,WACA,OAAA1hE,KAAAqyJ,UAAAgB,oBAMArC,EAAA/wJ,UAAAsgE,qBAAA,WACA,OAAAvgE,KAAAmxJ,cAMAH,EAAA/wJ,UAAAqzJ,iBAAA,WACA,OAAAtzJ,KAAAixJ,gBAMAD,EAAA/wJ,UAAAijE,YAAA,WACAljE,KAAAmzJ,iBAAAnzJ,KAAA2xJ,YAMAX,EAAA/wJ,UAAAgjE,WAAA,WACAjjE,KAAAgzJ,cAAAhzJ,KAAA2xJ,YAMAX,EAAA/wJ,UAAAsiE,YAAA,WACAviE,KAAA0xJ,eAAAuB,OAAAlnF,MAAA,kBACA/rE,KAAA09D,YAAA/4C,SAMAqsI,EAAA/wJ,UAAAuiE,aAAA,WACAxiE,KAAA0xJ,eAAAuB,OAAAlnF,MAAA,KACA/rE,KAAA09D,YAAA/4C,SAMAqsI,EAAA/wJ,UAAAwiE,UAAA,WACAziE,KAAA0xJ,eAAAuB,OAAArgI,QAAA,gBACA5yB,KAAA09D,YAAA/4C,SAKAqsI,EAAA/wJ,UAAAyiE,WAAA,WACA1iE,KAAA0xJ,eAAAuB,OAAArgI,QAAA,SACA5yB,KAAA09D,YAAA/4C,SAMAqsI,EAAA/wJ,UAAA4iE,sBAAA,WACA7iE,KAAA0xJ,eAAAn3H,OAAA,oBACAv6B,KAAAuzJ,wBAAA,GAKAvC,EAAA/wJ,UAAA6iE,uBAAA,WACA9iE,KAAA0xJ,eAAAh1H,SAAA,oBACA18B,KAAAuzJ,wBAAA,GAMAvC,EAAA/wJ,UAAA8iE,WAAA,WACA/iE,KAAA0yJ,aAAA,GAMA1B,EAAA/wJ,UAAA+iE,YAAA,WACAhjE,KAAA0yJ,aAAA,GAOA1B,EAAA/wJ,UAAAojE,kBAAA,SAAAp/D,GACAjE,KAAA0xJ,eAAA5rE,aAAA,iBAAA7hF,IAGA+sJ,EAAA/wJ,UAAAwjE,iBAAA,SAAAn1D,EAAArK,GACA,OAAAqK,GACA,cAEA,IAAAklJ,EAAA,CACAC,IAAA,EACAC,OAAA,GACAC,KAAA,GACAC,MAAA,IACa3vJ,IAAA,GACbjE,KAAAqyJ,UAAAvsE,aAAA,aAAA0tE,GACA,MACA,aACAxzJ,KAAAqyJ,UAAAvsE,aAAAx3E,EAAArK,GACAjE,KAAAqyJ,UAAAvsE,aAAA,OAAA7hF,EAAA,KACA,MACA,gBACAjE,KAAAqyJ,UAAAvsE,aAAAx3E,EAAArK,GACA,MACA,QAEAm0B,QAAAyH,KAAA,yBAAAvxB,KAKA0iJ,EAAA/wJ,UAAA0jE,gBAAA,SAAAr1D,EAAArK,GACA,OAAAqK,GACA,oBACA,iBACA,YACAtO,KAAAyxJ,SAAA3rE,aAAAx3E,EAAArK,GACA,MACA,iBACA,QAAA8G,EAAA,EAA2BA,EAAA/K,KAAA4xJ,cAAAruJ,OAA+BwH,IAC1D/K,KAAA4xJ,cAAA7mJ,GAAA+6E,aAAA,aAAA7hF,GAEA,MACA,cACA,IAAAuvJ,EAAA,CACAC,IAAA,EAAAC,OAAA,EAAAC,KAAA,GAAAC,MAAA,IACa3vJ,IAAA,EACbjE,KAAA8xJ,mBAAA0B,EACA,IAAAzoJ,EAAA,EAA2BA,EAAA/K,KAAA4xJ,cAAAruJ,OAA+BwH,IAC1D/K,KAAA4xJ,cAAA7mJ,GAAA67E,KAAA/zD,SAAA0H,OAAA,sBAAAi5H,GAEAxzJ,KAAA6xJ,eAAA,IAAArmH,aAAA,EAAAgoH,GACA,MACA,QAEAp7H,QAAAyH,KAAA,wBAAAvxB,KAKA0iJ,EAAA/wJ,UAAAyjE,gBAAA,SAAAp1D,EAAArK,GACA,SAAAA,EAGA,OAAAqK,GACA,cAEA,IAAAulJ,EAAA,CACAJ,IAAA,GACAC,OAAA,GACAC,KAAA,GACAC,MAAA,IACa3vJ,IAAA,GACb6vJ,EAAA,CACAL,IAAA,GACAC,OAAA,GACAC,KAAA,EACAC,MAAA,GACa3vJ,IAAA,GACbjE,KAAAsyJ,SAAAxsE,aAAA,eAAA+tE,GACA7zJ,KAAAsyJ,SAAAxsE,aAAA,cAAAguE,GACA,MACA,mBACA9zJ,KAAAsyJ,SAAAxsE,aAAA,gBAAAp/E,KAAAS,IAAAT,KAAAQ,IAAA,EAAAjD,EAAA,OACA,MACA,eACAjE,KAAA+zJ,wBAAA9vJ,GACA,MACA,QACAm0B,QAAAyH,KAAA,wBAAAvxB,KAIA0iJ,EAAA/wJ,UAAA8zJ,wBAAA,SAAAC,GACAh0J,KAAAsyJ,SAAA2B,qBAAAD,IAMAhD,EAAA/wJ,UAAAqjE,aAAA,SAAAr/D,GACA,IAAA6iB,EAAAipI,EAAA,KAAA72H,WAAAj1B,GACAjE,KAAAuyJ,UAAAzsE,aAAA,YAAAh/D,IAGAkqI,EAAA/wJ,UAAAujE,YAAA,SAAAv/D,GACAjE,KAAA0xJ,eAAA5rE,aAAA,WAAAp/E,KAAA2uB,IAAA,EAAApxB,KAGA+sJ,EAAA/wJ,UAAAsjE,sBAAA,SAAAzwD,EAAA/N,GACA/E,KAAA0xJ,eAAA9qE,KAAA/zD,SAAAN,gBAAA,MAAAvyB,KAAAuzJ,uBAAAzgJ,EAAA,OAAA/N,EAAA,CACAw8B,UAAAwuH,EAAA,KAAAr8H,QAAAoQ,QACArC,UAAAsuH,EAAA,KAAAr8H,QAAAoQ,QACAhM,OAAA,KAGAk5H,EAAA/wJ,UAAA2jE,mBAAA,SAAAzjE,EAAA8D,GACAjE,KAAA0xJ,eAAA5rE,aAAA3lF,EAAA8D,IAGA+sJ,EAAA/wJ,UAAAi0J,aAAA,WACA,OAAAl0J,KAAA2yJ,YAGA3B,EAAA/wJ,UAAAugE,UAAA,SAAAppC,EAAAmmC,EAAAjL,EAAAsgD,EAAAn5F,GAEA,IAAA+4I,EAAAxyJ,KAAAixJ,eACAkD,EAAA3B,EACAxyJ,KAAA0yJ,cACA1yJ,KAAAuyJ,UAAAhmI,OAAA6K,EAAAk7B,EAAAkgG,EAAA/4I,GACA+4I,EAAA2B,EAAAn0J,KAAAuyJ,UAAAc,oBAEArzJ,KAAA2yJ,aACA3yJ,KAAAsyJ,SAAA/lI,OAAA6K,EAAAk7B,EAAAkgG,EAAA/4I,GACA06I,EAAAn0J,KAAAsyJ,SAAAe,mBAEArzJ,KAAAsyJ,SAAA8B,eACAp0J,KAAAshE,YAAAthE,KAAAqyJ,UAAAgB,mBAAA,OASArzJ,KAAAwxJ,YAAA5+H,QAAAuhI,EAEAn0J,KAAAyxJ,SAAA3rE,aAAA,QAAA9lF,KAAAkxJ,eAOA,IALA,IAAAmD,EAAAr0J,KAAA6xJ,eACAyC,EAAAt0J,KAAA8xJ,mBACAyC,EAAA7tJ,KAAAmK,MAAAi/I,EAAA,KAAAvsJ,OAAA,EAAA+wJ,GACAE,EAAA/6I,EAAA86I,EAEAxpJ,EAAA,EAAmBA,EAAA,EAAAupJ,EAAwBvpJ,IAC3CspJ,EAAAtpJ,GAAA+kJ,EAAA,KAAA/kJ,EAAAypJ,EAAAF,EAAA,GAGA,IAAAvpJ,EAAA,EAAmBA,EAAA/K,KAAA4xJ,cAAAruJ,OAA+BwH,IAClD/K,KAAA4xJ,cAAA7mJ,GAAA+6E,aAAA,UAAArsE,EAAA,IACAzZ,KAAA4xJ,cAAA7mJ,GAAA+6E,aAAA,gBAAAuuE,GAGAr0J,KAAAyxJ,SAAA3rE,aAAA,QAAAxzB,EAAA5iB,MACA1vC,KAAAyxJ,SAAA3rE,aAAA,OAAAxzB,EAAA3iB,KAEA3vC,KAAA09D,YAAAxK,OAAA97B,EAAAw7E,IAGAo+C,EAAA/wJ,UAAA6V,QAAA,SAAAshB,GACAp3B,KAAAixJ,eAAAn7I,QAAAshB,GACAp3B,KAAAkxJ,cAAAp7I,QAAAshB,GACAp3B,KAAAmxJ,aAAAr7I,QAAAshB,GACAp3B,KAAA09D,YAAA5nD,QAAAshB,GAEAp3B,KAAAoxJ,YAAAt7I,QAAAshB,GACAp3B,KAAAqyJ,UAAAv8I,QAAAshB,IAGAlJ,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA41J,EAAA51J,EAAA,KAGAqvB,EAAA,KAAAumI,EAAA,MAIA,SAAA/xJ,EAAAwrB,EAAArvB,GAEA,aACA,IAAAspC,EAAAtpC,EAAA,IACA61J,EAAA71J,EAAA,KACA81J,EAAA91J,EAAA,KACA+1J,EAAA/1J,EAAA,KACAg2J,EAAAh2J,EAAA,KACAi2J,EAAAj2J,EAAA,GACAk2J,EAAAl2J,EAAA,GACAm2J,EAAAn2J,EAAA,GACAo2J,EAAAp2J,EAAA,IACAq2J,EAAAr2J,EAAA,KAaAkK,OAAAmsJ,EAAA,KAAAnsJ,CAAA+rJ,EAAA,MAEA,IAAAK,EAAA,oBASA,SAAAC,EAAAC,EAAAv1J,GACA,IAAAiiE,EAAA,IAAA2yF,EAAA,KACA50J,KAAA,GAEA,IAAAw1J,EAAA,CACAvpH,SAAA,GACA45C,WAAA,IAEA4vE,EAAA,SAAAC,EAAAC,GACA,QAAA1qJ,EAAA,EAAuBA,EAAAsqJ,EAAAK,MAAAnyJ,OAAuBwH,IAAA,CAC9C,IAAA4qJ,EAAAN,EAAAK,MAAA3qJ,GACAsS,EAAAu4I,EAAAD,EAAAL,EAAAx1J,GACAud,GACA0kD,EAAAmxF,QAAA71I,KAKA,QAAA/O,KAAA+mJ,EAAA1vE,WAAA,CACA,IAAAkwE,EAAAR,EAAA1vE,WAAAr3E,GACAgnJ,EAAA3vE,WAAAr3E,GAAAwnJ,EAAAD,GAQA,OALAE,EAAAV,EAAAC,EAAAx1J,EAAA,SAAA21J,GACAH,EAAAvpH,SAAA0pH,EACAF,MAGAxzF,EAGA,SAAA6zF,EAAAD,EAAAL,EAAAx1J,GACA,IACAsgI,EACA6yB,EACAzgG,EAoDAn1C,EAvDAld,EAAAw1J,EAAAx1J,MAAA,SAKA,cAAAA,EAAA,CACA,IAAA61J,EAAAL,EAAAhjI,OAAAtoB,OACA0nE,EAAAojF,EAAA5jJ,KAAAykJ,GAUA,GATAjkF,EACAquD,EAAA00B,EAAA,KAAA76H,OAAA83C,EAAA,GAAA1nE,QAEA,MAAA2rJ,EAAAvjJ,OAAA,KACA2tH,EAAAk1B,EAAAW,QAAAD,EAAAllJ,OAAA,KAEAsvH,IACAA,EAAA41B,IAEA51B,EACA,OAIA,GAAAu1B,EAAA1C,OAEA,QAAA3kJ,KADA2kJ,EAAA,GACA0C,EAAA1C,OACA,kBAAA0C,EAAA1C,OAAA3kJ,GACA2kJ,EAAA3kJ,GAAAqnJ,EAAA1C,OAAA3kJ,GAGA2kJ,EAAA3kJ,GAAA,CACA+O,KAAAs4I,EAAA1C,OAAA3kJ,GAAA+O,KACAspE,IAAAgvE,EAAA1C,OAAA3kJ,GAAAq4E,KAKA,GAAAgvE,EAAAnjG,QAEA,QAAAlkD,KADAkkD,EAAA,GACAmjG,EAAAnjG,QAAA,CACA,IAAAkzB,EAAAiwE,EAAAnjG,QAAAlkD,GACAkkD,EAAAlkD,GAAA,GACA,MAAAo3E,EAAAvyC,aACAqf,EAAAlkD,GAAA6kC,WAAAuyC,EAAAvyC,YAEA,MAAAuyC,EAAAW,gBACA7zB,EAAAlkD,GAAA+3E,cAAAX,EAAAW,eAEA,MAAAX,EAAAQ,kBACA1zB,EAAAlkD,GAAA43E,gBAAAR,EAAAQ,iBAEAR,EAAAC,aACAnzB,EAAAlkD,GAAAq3E,WAAAmwE,EAAApwE,EAAAC,aA4BA,GAtBAtoE,EADA,UAAAld,EACA,IAAAw0J,EAAA,MACArmJ,KAAAqnJ,EAAArnJ,KACAivD,MAAAz9D,EAAAy9D,MACAjL,OAAAxyD,EAAAwyD,OACAE,YAGA,YAAAryD,EACA,IAAAy0J,EAAA,MACAtmJ,KAAAqnJ,EAAArnJ,KACAkkD,YAKA,IAAAqiG,EAAA,MACAvmJ,KAAAqnJ,EAAArnJ,KACAqkB,OAAAytG,EACA6yB,SACAzgG,YAGAn1C,EAAA,CACA,GAAAs4I,EAAAhwE,WACA,QAAAr3E,KAAAqnJ,EAAAhwE,WAAA,CACA,IAAA18E,EAAA0sJ,EAAAhwE,WAAAr3E,GACA,sBACArF,IAAAoB,OACA,MAAApB,EAAAwJ,OAAA,GACAxJ,EAAAqsJ,EAAAvpH,SAAA9iC,EAAA6H,OAAA,IAGAuM,EAAAzH,GACA,eAAAsgJ,EACA5nJ,EAAA6nJ,EAAAltJ,MAKAoU,EAAAyoE,aAAAx3E,EAAArF,GAGA,GAAA0sJ,EAAAt7H,SAAAhd,EAAAupE,KACA,QAAAt4E,KAAAqnJ,EAAAt7H,QAAA,CACApxB,EAAA0sJ,EAAAt7H,QAAA/rB,GACA+O,EAAAupE,KAAA/zD,SAAA0H,OAAA,WAAAjsB,EAAArF,IAIA,OAAAoU,EAGA,SAAA+4I,EAAA9zJ,EAAAC,GACA,OAAAD,EAEA,SAAA+zJ,EAAA/zJ,EAAAC,GACA,OAAAA,EAGA,SAAAuzJ,EAAAD,GACA,IAAAvsI,EAAA,GACA,IAAAusI,EACA,OAAAvsI,EAEA,qEACAze,QAAA,SAAAyD,GACA,IAAArF,EAAA4sJ,EAAAvnJ,GACA,MAAArF,IAEA,kBAAAA,IACAA,EAAA8rJ,EAAA,KAAA9rJ,IAEAqgB,EAAAhb,GAAArF,KAIA,IAAA8iG,EAAA8pD,EAAA99I,OAAA,EA0BA,MAzBA,mBACAlN,QAAA,SAAAyD,GACA,SAAAunJ,EAAAvnJ,GAAA,CACA,IAAArF,EAAA4sJ,EAAAvnJ,GACA,kBAAArF,GACAA,IAAAoB,OACAif,EAAAhb,GAAAgoJ,EACAhoJ,EAAA6nJ,EAAAltJ,GAAA8iG,IAIAziF,EAAAhb,GAAArF,KAIAqgB,EAAAhnB,QACAgnB,EAAAhnB,MAAA8zJ,GAEA9sI,EAAA/mB,SACA+mB,EAAA/mB,OAAA8zJ,GAGA,MAAAR,EAAAl0H,YACArY,EAAAqY,UAAAk0H,EAAAl0H,WAEArY,EAGA,SAAAysI,EAAAV,EAAAC,EAAAx1J,EAAAuyE,GACA,GAAAgjF,EAAAtpH,SAAA,CAIA,IAAAA,EAAA,GACA8/B,EAAA,EAEA0qF,GAAA,EACAC,EAAA12J,EAAA02J,gBACAruH,EAAA,KAAAhhB,KAAAkuI,EAAAtpH,SAAA,SAAA0qH,EAAAnoJ,GACA,IAAAskB,EACA6xC,EAAAgyF,EAAAhyF,KACAkhB,EAAAmwE,EAAAW,EAAA9wE,YACA,GAAAnoE,MAAAxU,QAAAy7D,IAAA,IAAAA,EAAAlhE,OACAizJ,IACA/xF,IAAAr3D,IAAA,SAAAy3D,GACA,OAAA18B,EAAA,KAAAq8B,kBAAAK,EAAA2xF,MAGA5jI,EAAA,IAAAqiI,EAAA,KAAAtvE,OAEA,sBAAAlhB,EAOA,OANA+xF,IACA/xF,EAAAt8B,EAAA,KAAAq8B,kBAAAC,EAAA+xF,IAEA5jI,EAAA,IAAAoiI,EAAA,KAAArvE,GAMA/yD,EAAA2U,KAAAk9B,GACAoH,IACAj5C,EAAAmhE,KAAA,qBACAhoD,EAAAz9B,GAAAskB,EACAi5C,IACA,IAAAA,IACAwG,EAAAtmC,GACAwqH,GAAA,OAKA,IAAA1qF,GAAA0qF,GACAlkF,EAAAtmC,QA3CAsmC,EAAA,IA+CA,SAAA6jF,EAAA5nJ,EAAAooJ,GACA,gBAAAt/H,GAEA,IAAAzrB,EAAAyrB,EAAA8zD,sBAEA5oF,EAAA80B,EAAA7oB,WACAhM,EAAA60B,EAAAknC,YACA56D,EAAAgzJ,EAAAp0J,EAAAC,EAAAoJ,GACA3L,KAAA8lF,aAAAx3E,EAAA5K,IAIA,SAAA4yJ,EAAAhoJ,EAAAooJ,EAAA3+I,GAEA,OADAA,KAAA,EACA,SAAAqf,GACA,IAAAzrB,EAAAyrB,EAAA8zD,sBACA5oF,EAAA80B,EAAA7oB,WAAAwJ,EACAxV,EAAA60B,EAAAknC,YAAAvmD,EACA,OAAA2+I,EAAAp0J,EAAAC,EAAAoJ,IAIA,SAAAwqJ,EAAA34B,GAEA,IAAAm5B,EAAA,iBAAAplJ,KAAAisH,GACA,GAAAm5B,EACA,IACA,IAAAntG,EAAA,IAAAU,SAAA,iCAAAysG,EAAA,IAIA,OAFAntG,EAAA,KAEAA,EAEA,MAAArzC,GACA,UAAAw3B,MAAA,wBAKAzf,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA+3J,EAAA/3J,EAAA,KACAg4J,EAAAh4J,EAAA,IACAi4J,EAAAj4J,EAAA,IAYAk4J,EAAAH,EAAA,KAAAlyJ,OAAA,WACA,OAEAsyJ,SAAA,GAEA/L,aAAA,IAAA4L,EAAA,KAEAt4D,aAAA,IAAAu4D,EAAA,MACArkH,aAAA,MAKA,CACAygH,QAAA,SAAA71I,GACAu5I,EAAA,KAAA32J,UAAAizJ,QAAAnzJ,KAAAC,KAAAqd,GACAA,EAAAqgD,YAAA19D,MAKAkzD,OAAA,SAAA97B,EAAAyd,GACA,GAAA70C,KAAAs9B,OAAA,CACAt9B,KAAAusB,SACAvsB,KAAAs9B,QAAA,EAEAt9B,KAAAg3J,SAAAzzJ,OAAA,EACA,QAAAwH,EAAA,EAA2BA,EAAA/K,KAAA01J,MAAAnyJ,OAAuBwH,IAClD/K,KAAA01J,MAAA3qJ,GAAAynD,SACAxyD,KAAAg3J,SAAArkJ,KAAA3S,KAAA01J,MAAA3qJ,IAKA,IAAAA,EAAA,EAAuBA,EAAA/K,KAAA01J,MAAAnyJ,OAAuBwH,IAE9C/K,KAAA01J,MAAA3qJ,GAAAg8E,cAGA,IAAAh8E,EAAA,EAAuBA,EAAA/K,KAAAg3J,SAAAzzJ,OAA0BwH,IACjD/K,KAAAg3J,SAAAjsJ,GAAA87E,kBAGA,IAAA97E,EAAA,EAAuBA,EAAA/K,KAAAg3J,SAAAzzJ,OAA0BwH,IACjD/K,KAAAg3J,SAAAjsJ,GAAAmoD,OAAA97B,EAAAyd,GAGA,IAAA9pC,EAAA,EAAuBA,EAAA/K,KAAA01J,MAAAnyJ,OAAuBwH,IAE9C/K,KAAA01J,MAAA3qJ,GAAAi8E,cAIAb,gBAAA,SAAAR,GACA,OAAA3lF,KAAAirJ,aAAAxlJ,IAAAkgF,IAGAW,eAAA,SAAAX,GACA3lF,KAAAirJ,aAAA/9I,IAAAy4E,IAGAsxE,eAAA,WACA,OAAAj3J,KAAAu+F,cAOAzoF,QAAA,SAAAshB,GACAp3B,KAAAirJ,aAAAv+I,MAAA0qB,MAIAlJ,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAoiC,EAAApiC,EAAA,GACAq4J,EAAAr4J,EAAA,IAQAs4J,EAAAl2H,EAAA,KAAAv8B,OAAA,WACA,OAIAgxJ,MAAA,KAIA,CAKA/wI,MAAA,WACA3kB,KAAAs9B,QAAA,GAKA41H,QAAA,SAAA71I,GAEArd,KAAA01J,MAAAtqH,QAAA/tB,IAAA,IAIArd,KAAA01J,MAAA/iJ,KAAA0K,GAEArd,KAAAs9B,QAAA,IAKA81H,WAAA,SAAA/1I,GACA,kBAAAA,IACAA,EAAArd,KAAAsxJ,cAAAj0I,IAEA,IAAAM,EAAA3d,KAAA01J,MAAAtqH,QAAA/tB,GACAM,GAAA,IACA3d,KAAA01J,MAAArkF,OAAA1zD,EAAA,GACA3d,KAAAs9B,QAAA,IAOAg0H,cAAA,SAAAhjJ,GACA,QAAAvD,EAAA,EAAuBA,EAAA/K,KAAA01J,MAAAnyJ,OAAuBwH,IAC9C,GAAA/K,KAAA01J,MAAA3qJ,GAAAuD,SACA,OAAAtO,KAAA01J,MAAA3qJ,IAOAwhB,OAAA,WACA,QAAAxhB,EAAA,EAAuBA,EAAA/K,KAAA01J,MAAAnyJ,OAAuBwH,IAC9C/K,KAAA01J,MAAA3qJ,GAAA2B,QAGA,IAAA3B,EAAA,EAAuBA,EAAA/K,KAAA01J,MAAAnyJ,OAAuBwH,IAAA,CAC9C,IAAAsS,EAAArd,KAAA01J,MAAA3qJ,GAEA,GAAAsS,EAAA41I,OAGA,QAAAnsE,KAAAzpE,EAAA41I,OACA,GAAA51I,EAAA41I,OAAAnsE,GAGA,IAAAzpE,EAAAupE,MAAAvpE,EAAAupE,KAAA/zD,SAAA+jC,iBAAAkwB,GAAA,CAIA,IAAAswE,EAAA/5I,EAAA41I,OAAAnsE,GAEAuwE,EAAAr3J,KAAAs3J,QAAAF,GACAC,EACAh6I,EAAAkpE,KAAAO,EAAAuwE,EAAAh6I,KAAAg6I,EAAA1wE,KAGA,kBAAAywE,EACAh/H,QAAAyH,KAAA,QAAAu3H,EAAA,cAGAh/H,QAAAyH,KAAA,UAAAu3H,EAAA/5I,KAAA,IAAA+5I,EAAAzwE,IAAA,mBAdAvuD,QAAAyH,KAAA,OAAAxiB,EAAA/O,KAAA,IAAAw4E,EAAA,gBAqBAwwE,QAAA,SAAApR,GACA,IAAA7oI,EAQA,IANA,kBAAA6oI,gBAAAgR,EAAA,QACAhR,EAAA,CACA7oI,KAAA6oI,IAIA,kBAAAA,EAAA7oI,KACA,QAAAtS,EAAA,EAA2BA,EAAA/K,KAAA01J,MAAAnyJ,OAAuBwH,IAAA,CAClD,IAAAolD,EAAAnwD,KAAA01J,MAAA3qJ,GACAolD,EAAA7hD,OAAA43I,EAAA7oI,OACAA,EAAA8yC,QAKA9yC,EAAA6oI,EAAA7oI,KAEA,GAAAA,EAAA,CACA,IAAAk6I,EAAArR,EAAAv/D,IAOA,GANA4wE,GAEAl6I,EAAAm1C,UACA+kG,EAAAxuJ,OAAAitB,KAAA3Y,EAAAm1C,SAAA,IAGAn1C,EAAAm1C,QAAA+kG,GACA,OACAl6I,OACAspE,IAAA4wE,OAOArpI,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA24J,EAAA34J,EAAA,IACAqiC,EAAAriC,EAAA,IACAi4J,EAAAj4J,EAAA,IASA44J,EAAAD,EAAA,KAAA9yJ,OAEA,CACA4J,KAAA,QAIAivD,MAAA,KAIAjL,OAAA,KAIAolG,iBAAA,EAIAjsE,MAAA,GAEC,WACDzrF,KAAA60C,YAAA,IAAAiiH,EAAA,MACC,CACD5jG,OAAA,SAAA97B,GAEAp3B,KAAAslF,YAAA,EACA,IAIAqyE,EAJAv1H,EAAAhL,EAAAwB,GAMA,GAJA54B,KAAAoX,QAAA,gBAIApX,KAAAwyD,QAKA,CAEA,IAAA3d,EAAA70C,KAAA60C,YACA,QAAAvmC,KAAAtO,KAAAwyD,QAAA,CACA,IAAAmzB,EAAA3lF,KAAAwlF,gBAAAl3E,EAAA8oB,GACAsuD,EAAA1lF,KAAAwyD,QAAAlkD,GACAskB,EAAA5yB,KAAA09D,YAAAyoB,gBAAAR,GACA3lF,KAAAolF,gBAAA92E,GAAAskB,EAEA,IAAAugB,EAAAuyC,EAAAvyC,YAAA/Q,EAAAmQ,kBACA,qBACAY,EAAA/Q,EAAA+Q,IAEA0B,EAAAV,OAAAvhB,EAAAugB,GAEA0B,EAAAjsC,KAAAwuB,GAIA,IAAA+7B,EAAA/7B,EAAAgM,eAAA,oBACA,GAAA+vB,EAAA,CACA,IAAAC,EAAA,GACA,QAAAjgB,KAAAnzC,KAAAwyD,QACArf,EAAAhgC,SAAAggC,GACAA,GAAA/Q,EAAAmQ,mBAAAY,GAAA/Q,EAAAmQ,kBAAA,GACA6gB,EAAAzgD,KAAAwgC,GAGAggB,EAAAE,eAAAD,GAKAh8B,EAAAqpC,YACArpC,EAAAk8B,SAAApyB,EAAA,KAAA8T,iBAAA9T,EAAA,KAAAgU,iBACAyiH,EAAAvgI,EAAA87B,OAAAlzD,KAAAu9D,MAAAv9D,KAAAsyD,QAAAtyD,KAAA03J,gBAAA13J,KAAAyrF,MACAr0D,EAAAspC,eAEA7rB,EAAAlS,OAAAvL,QAzCAugI,EAAAvgI,EAAA87B,OAAAlzD,KAAAu9D,MAAAv9D,KAAAsyD,QAAAtyD,KAAA03J,gBAAA13J,KAAAyrF,MA4CAzrF,KAAAoX,QAAA,cAAAugJ,GAEA33J,KAAAslF,YAAA,EACAtlF,KAAAulF,WAAA,KAIAr3D,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA24J,EAAA34J,EAAA,IAOA+4J,EAAAJ,EAAA,KAAA9yJ,OAAA,WACA,OAIAkuB,QAAA,KAGA4/B,QAAA,CACA1rC,MAAA,MAGC,aACA,CAEDm/D,UAAA,SAAA7uD,EAAA9oB,GACA,OAAAtO,KAAA4yB,SAIAm0D,YAAA,aACAC,WAAA,eAGA94D,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAg5J,EAAAh5J,EAAA,IACAq4J,EAAAr4J,EAAA,IA4CAi5J,EAAAZ,EAAA,KAAAxyJ,OAAA,WACA,OAIA4J,KAAA,GAKA2kJ,OAAA,GAKAzgG,QAAA,KAKA7/B,OAAA,GAWAsyD,WAAA,GAWAC,YAAA,GAKA0B,KAAA,KAIAzB,oBAAA,GACAC,gBAAA,GAGAC,kBAAA,GAEAC,YAAA,EAEAC,WAAA,EAEA7nB,YAAA,OAEC,WAED,IAAAkpB,EAAA,IAAAixE,EAAA,MACA7tH,SAAAhqC,KAAA2yB,SAEA3yB,KAAA4mF,QAGA,CAIA1zB,OAAA,SAAA97B,EAAAyd,GACA70C,KAAAoX,QAAA,eAAAggB,GAEAp3B,KAAAslF,YAAA,EAEA,IAAAljD,EAAAhL,EAAAwB,GAEA,QAAAkuD,KAAA9mF,KAAAilF,WAAA,CACA,IAAAsB,EAAAvmF,KAAAilF,WAAA6B,GACAixE,EAAAxxE,EAAAlpE,KAAA4oE,UAAA7uD,EAAAmvD,EAAAI,KACA3mF,KAAA4mF,KAAA/zB,WAAAi0B,EAAAixE,GAGA,GAAA/3J,KAAAwyD,QAOA,CACAxyD,KAAA4mF,KAAAp0B,QAAA,GAEA,IAAAlf,EAAA,GACA,QAAAhlC,KAAAtO,KAAAwyD,QAAA,CACA,IAAAmzB,EAAA3lF,KAAAwlF,gBAAAl3E,EAAA8oB,GACAxd,MAAA+rE,EAAArjF,QACAtC,KAAAwlF,gBAAAl3E,EAAA8oB,GAEA,IAAAsuD,EAAA1lF,KAAAwyD,QAAAlkD,GACAskB,EAAA5yB,KAAA09D,YAAAyoB,gBAAAR,GACA3lF,KAAAolF,gBAAA92E,GAAAskB,EACA,IAAAugB,EAAAuyC,EAAAvyC,YAAA/Q,EAAAmQ,kBACA,sBACAY,EAAA/Q,EAAA+Q,IAEAG,EAAAH,GAAAvgB,EAIA,QAAAugB,KAFAnzC,KAAA09D,YAAAu5F,iBAAAruJ,KAAAwuB,GAEAkc,EAEAtzC,KAAA09D,YAAAu5F,iBAAA9iH,OACAb,EAAAH,MAIAnzC,KAAA4mF,KAAA1zB,OAAA97B,GAIAp3B,KAAA09D,YAAAu5F,iBAAAnjH,aAAA1c,QArCAp3B,KAAA4mF,KAAAp0B,QAAA,KAEAxyD,KAAA09D,YAAAu5F,iBAAAt0H,OAAAvL,GAEAp3B,KAAA4mF,KAAA1zB,OAAA97B,EAAAyd,GAoCA,QAAAiyC,KAAA9mF,KAAAilF,WAAA,CACAsB,EAAAvmF,KAAAilF,WAAA6B,GACAP,EAAAlpE,KAAA+oE,gBAAAG,EAAAI,KAGA3mF,KAAAslF,YAAA,EACAtlF,KAAAulF,WAAA,EAEAvlF,KAAAoX,QAAA,cAAAggB,IAIAouD,gBAAA,SAAAC,EAAAruD,GACA,IAaA90B,EAAAC,EAbAmjF,EAAA1lF,KAAAwyD,QAAAizB,GACAE,EAAAD,EAAAC,WACAC,EAAAF,EAAAG,gBAIA,GAHAD,IACAA,EAAAF,EAAAG,gBAAA,IAEAF,EACA,QAAA16E,KAAA06E,EACA,UAAA16E,GAAA,WAAAA,IACA26E,EAAA36E,GAAA06E,EAAA16E,IA8BA,OAxBA3I,EADAqjF,EAAArjF,iBAAA4nD,SACAy7B,EAAArjF,MAAAvC,KAAAC,KAAAo3B,GAGAuuD,EAAArjF,MAGAC,EADAojF,EAAApjF,kBAAA2nD,SACAy7B,EAAApjF,OAAAxC,KAAAC,KAAAo3B,GAGAuuD,EAAApjF,OAEAD,EAAAoE,KAAA0gE,KAAA9kE,GACAC,EAAAmE,KAAA0gE,KAAA7kE,GAEAqjF,EAAAtjF,WACAsjF,EAAArjF,YAEAvC,KAAAolF,gBAAAK,IACAzlF,KAAAolF,gBAAAK,GAAA3vE,QAAAshB,GAGAwuD,EAAAtjF,QACAsjF,EAAArjF,SAEAqjF,GAQAE,aAAA,SAAAx3E,EAAArK,GACAjE,KAAA4mF,KAAA/zB,WAAAvkD,EAAArK,IAOA8hF,aAAA,SAAAz3E,GACA,OAAAtO,KAAA4mF,KAAA9zB,WAAAxkD,IAMA03E,cAAA,SAAAl7E,GACA,QAAAwD,KAAAxD,EACA9K,KAAA8lF,aAAAx3E,EAAAxD,EAAAwD,KAiBAisB,OAAA,SAAA9P,EAAAxhB,GACAjJ,KAAA4mF,KAAA/zD,SAAA0H,OAAA,WAAA9P,EAAAxhB,IAOAyzB,SAAA,SAAAjS,GACAzqB,KAAA4mF,KAAA/zD,SAAA6J,SAAA,WAAAjS,IAGA27D,gBAAA,SAAAX,GAEA,GADAzlF,KAAAqlF,kBAAAI,KACA,IAAAzlF,KAAAqlF,kBAAAI,GAAA,CACA,IAAAC,EAAA1lF,KAAAwyD,QAAAizB,GACAC,EAAAW,eACArmF,KAAAmlF,oBAAAM,IACAzlF,KAAA09D,YAAA4oB,eAAAtmF,KAAAmlF,oBAAAM,IAEAzlF,KAAAmlF,oBAAAM,GAAAzlF,KAAAolF,gBAAAK,IAKAzlF,KAAA09D,YAAA4oB,eAAAtmF,KAAAolF,gBAAAK,MAKA/4E,MAAA,WACAwqJ,EAAA,KAAAj3J,UAAAyM,MAAA3M,KAAAC,MAGAA,KAAA4mF,KAAA/zD,SAAAilC,wBAIA5pC,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,KAAA8pI,EACA,IAAAC,EAAAp5J,EAAA,KACAq5J,EAAAr5J,EAAA,IACAs5J,EAAAt5J,EAAA,KACAu5J,EAAAv5J,EAAA,IACAw5J,EAAAx5J,EAAA,KACAy5J,EAAAz5J,EAAA,IACA05J,EAAA15J,EAAA,IACA25J,EAAA35J,EAAA,IACA45J,EAAA55J,EAAA,IACA65J,EAAA75J,EAAA,IACA85J,EAAA95J,EAAA,KACA+5J,EAAA/5J,EAAA,IACAg6J,EAAAh6J,EAAA,IAiBA,SAAAm5J,EAAAxkI,GAEAA,EAAA,UAAAykI,EAAA,MACAzkI,EAAA,UAAA0kI,EAAA,MACA1kI,EAAA,UAAA2kI,EAAA,MACA3kI,EAAA,UAAA4kI,EAAA,MACA5kI,EAAA,UAAA6kI,EAAA,MACA7kI,EAAA,UAAA8kI,EAAA,MACA9kI,EAAA,UAAA+kI,EAAA,MACA/kI,EAAA,UAAAglI,EAAA,MACAhlI,EAAA,UAAAilI,EAAA,MACAjlI,EAAA,UAAAklI,EAAA,MACAllI,EAAA,UAAAmlI,EAAA,MACAnlI,EAAA,UAAAolI,EAAA,MAEAplI,EAAA,UAAAqlI,EAAA,QAMA,SAAAn2J,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,8pEAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,kpCAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,ycAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,ulDAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAi6J,EAAAj6J,EAAA,GACA+oI,EAAA/oI,EAAA,GACAwvB,EAAAxvB,EAAA,GACAyvB,EAAAzvB,EAAA,GACAk6J,EAAAl6J,EAAA,IACAm6J,EAAAn6J,EAAA,GACAo6J,EAAAp6J,EAAA,IACAq6J,EAAAr6J,EAAA,IACAs6J,EAAAt6J,EAAA,KAaA,SAAAu6J,EAAAn+I,GAKA,IAJA,IAAA1P,EAAA,IAAAggD,WAAAtwC,IAAA,GACA4S,EAAA,EACAlS,EAAA,IAAAisH,EAAA,KAEA78H,EAAA,EAAmBA,EAAAkQ,EAAUlQ,IAC7B,QAAA2F,EAAA,EAAuBA,EAAAuK,EAAUvK,IACjCiL,EAAAyX,IAAA,EAAA1sB,KAAAy3B,SAAA,IAAAz3B,KAAAy3B,SAAA,KAAA9f,YACA9S,EAAAsiB,KAAA,QAAAlS,EAAA3Z,EAAA,IACAuJ,EAAAsiB,KAAA,QAAAlS,EAAA1Z,EAAA,IACAsJ,EAAAsiB,KAAA,EACAtiB,EAAAsiB,KAAA,IAGA,OAAAtiB,EAGA,SAAA8tJ,EAAAp+I,GACA,WAAAoT,EAAA,MACAuX,OAAAwzH,EAAAn+I,GACAwa,MAAAnH,EAAA,KAAAoH,OACAC,MAAArH,EAAA,KAAAoH,OACApzB,MAAA2Y,EACA1Y,OAAA0Y,IAIA,SAAAq+I,EAAAr+I,EAAA8qC,EAAAwzG,GACA,IAAAC,EAAA,IAAAhuH,aAAA,EAAAvwB,GACA8qC,KAAA,EACA,QAAAh7C,EAAA,EAAmBA,EAAAkQ,EAAUlQ,IAAA,CAC7B,IAAA0uB,EAAA1wB,OAAAmwJ,EAAA,KAAAnwJ,CAAAgC,EAAAg7C,EAAA,IAAAwzG,EAAA,KAAA7yJ,KAAAC,GACA6yB,EAAAzwB,OAAAmwJ,EAAA,KAAAnwJ,CAAAgC,EAAAg7C,EAAA,GAAAr/C,KAAAC,GACAiY,EAAAlY,KAAAy3B,SACAn8B,EAAA0E,KAAAwY,IAAAua,GAAA/yB,KAAA0Y,IAAAoa,GAAA5a,EACA3c,EAAAyE,KAAAwY,IAAAsa,GAAA5a,EACAue,EAAAz2B,KAAA0Y,IAAAqa,GAAA/yB,KAAA0Y,IAAAoa,GAAA5a,EAEA46I,EAAA,EAAAzuJ,GAAA/I,EACAw3J,EAAA,EAAAzuJ,EAAA,GAAA9I,EACAu3J,EAAA,EAAAzuJ,EAAA,GAAAoyB,EAEA,OAAAq8H,EAcA,SAAAC,EAAArkJ,GACAA,KAAA,GAEApV,KAAAqyJ,UAAA,IAAA0G,EAAA,MACA/uH,SAAAgvH,EAAA,KAAA/+H,OAAA,wBAEAj6B,KAAA05J,UAAA,IAAAX,EAAA,MACA/uH,SAAAgvH,EAAA,KAAA/+H,OAAA,oBAEAj6B,KAAAmxJ,aAAA,IAAA8H,EAAA,MACAxmH,aAAA,IAGAzyC,KAAA25J,aAAA,IAAAtrI,EAAA,KACAruB,KAAA45J,aAAA,IAAAvrI,EAAA,KACAruB,KAAA65J,cAAA,IAAAxrI,EAAA,KAEAruB,KAAA85J,UAAA1kJ,EAAA+8I,aACAnyJ,KAAA+5J,WAAA3kJ,EAAA68I,cAEAjyJ,KAAAg6J,aAAA,GACAh6J,KAAAi6J,cAAA7kJ,EAAAo+I,YAAA,IACA,MAAAp+I,EAAA+G,QACAnc,KAAA8lF,aAAA,SAAA1wE,EAAA+G,QAEA,MAAA/G,EAAA8kJ,OACAl6J,KAAA8lF,aAAA,QAAA1wE,EAAA8kJ,OAGAl6J,KAAA+5J,aACA/5J,KAAAqyJ,UAAAx/H,SAAAE,eAAA,aACA/yB,KAAA05J,UAAA7mI,SAAAE,eAAA,cAEA/yB,KAAA85J,WACA95J,KAAA05J,UAAA7mI,SAAAE,eAAA,YAGA/yB,KAAA05J,UAAA7mI,SAAAggC,WAAA,YAAA7yD,KAAA+5J,YACA/5J,KAAA05J,UAAA7mI,SAAAggC,WAAA,WAAA7yD,KAAA85J,WAhGAd,EAAA,KAAAnnI,OAAAsnI,EAAA,MAmGAM,EAAAx5J,UAAAk6J,gBAAA,SAAAC,GACAp6J,KAAA85J,UAAAM,GAGAX,EAAAx5J,UAAAo6J,iBAAA,SAAAC,GACAt6J,KAAA+5J,WAAAO,EACAt6J,KAAAqyJ,UAAAx/H,SAAAynI,EAAA,+CAEAt6J,KAAAi6J,cAAAj6J,KAAAu6J,cAGAd,EAAAx5J,UAAAssB,OAAA,SAAA6K,EAAAk7B,EAAA74C,GACA,IAAAnX,EAAA80B,EAAA7oB,WACAhM,EAAA60B,EAAAknC,YAEAk8F,EAAAx6J,KAAAqyJ,UACAoI,EAAAz6J,KAAA05J,UAEAc,EAAA3nG,WAAA,SAAA7yD,KAAA06J,SAAAjhJ,EAAAzZ,KAAA06J,SAAAn3J,SACAi3J,EAAA3nG,WAAA,WAAA7yD,KAAA85J,WACA,MAAA95J,KAAA+5J,YACAS,EAAA3nG,WAAA,YAAA7yD,KAAA+5J,YAEAS,EAAA3nG,WAAA,gBAAA7yD,KAAA85J,UAAAx3J,MAAAtC,KAAA85J,UAAAv3J,SAEA,IAAAo4J,EAAA,IAAA7B,EAAA,KACAA,EAAA,KAAAloH,UAAA+pH,EAAAroG,EAAA0O,gBAEAw5F,EAAA3nG,WAAA,aAAAP,EAAAukB,iBAAAz5C,OACAo9H,EAAA3nG,WAAA,gBAAAP,EAAAsnC,oBAAAx8D,OACAo9H,EAAA3nG,WAAA,uBAAA8nG,EAAAv9H,OAEA,IAAAw9H,EAAA56J,KAAA25J,aACAkB,EAAA76J,KAAA45J,aACAkB,EAAA96J,KAAA65J,cAEAe,EAAAt4J,QAAA,EACAs4J,EAAAr4J,SAAA,EACAs4J,EAAAv4J,QACAu4J,EAAAt4J,SACAu4J,EAAAx4J,QACAw4J,EAAAv4J,SAEAvC,KAAAmxJ,aAAAh9G,OAAAymH,GACA56J,KAAAmxJ,aAAAvoJ,KAAAwuB,GACAA,EAAAwB,GAAA85B,WAAA,SACAt7B,EAAAwB,GAAAlsB,MAAA0qB,EAAAwB,GAAAsc,kBACAslH,EAAAtnG,OAAA97B,GAEAqjI,EAAA5nG,WAAA,eAAAvwD,EAAA,EAAAC,EAAA,IACAk4J,EAAA5nG,WAAA,aAAAP,EAAAukB,iBAAAz5C,OACAp9B,KAAAmxJ,aAAAh9G,OAAA0mH,GACAJ,EAAA5nG,WAAA,eACA4nG,EAAA5nG,WAAA,cAAA+nG,GACAH,EAAAvnG,OAAA97B,GAEAp3B,KAAAmxJ,aAAAh9G,OAAA2mH,GACAL,EAAA5nG,WAAA,eAAAvwD,EAAAC,IACAk4J,EAAA5nG,WAAA,eACA4nG,EAAA5nG,WAAA,cAAAgoG,GACAJ,EAAAvnG,OAAA97B,GAEAp3B,KAAAmxJ,aAAAxuH,OAAAvL,GAGA,IAAAs7B,EAAAt7B,EAAAs7B,WACAt7B,EAAAwB,GAAA85B,aAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,KAGA+mG,EAAAx5J,UAAAozJ,iBAAA,WACA,OAAArzJ,KAAA65J,eAGAJ,EAAAx5J,UAAA6lF,aAAA,SAAAx3E,EAAArF,GACA,iBAAAqF,EACAtO,KAAAg6J,aAAA/wJ,GAEA,eAAAqF,EACAtO,KAAAi6J,cAAAhxJ,GAEA,cAAAqF,EACAtO,KAAAqyJ,UAAAx/H,SAAAO,IAAA,YAAAnqB,GAGAjJ,KAAAqyJ,UAAAx/F,WAAAvkD,EAAArF,IAIAwwJ,EAAAx5J,UAAAg6J,cAAA,SAAAh/I,GACAjb,KAAAu6J,YAAAt/I,EACAjb,KAAAqyJ,UAAAx/H,SAAA0H,OAAA,yBAAAtf,GACAjb,KAAA06J,SAAA16J,KAAA06J,UAAA,GACA,QAAA3vJ,EAAA,EAAmBA,EAAA,GAAQA,IAC3B/K,KAAA06J,SAAA3vJ,GAAAuuJ,EAAAr+I,EAAAlQ,EAAAkQ,IAAAjb,KAAA+5J,aAIAN,EAAAx5J,UAAA+5J,aAAA,SAAA/+I,GACA,IAAA2X,EAAA5yB,KAAAqyJ,UAAAv/F,WAAA,YACAlgC,GAKAA,EAAArnB,KAAA6tJ,EAAAn+I,GACA2X,EAAAtwB,MAAAswB,EAAArwB,OAAA0Y,EACA2X,EAAAjO,UANAiO,EAAAymI,EAAAp+I,GACAjb,KAAAqyJ,UAAAx/F,WAAA,WAAAwmG,EAAAp+I,KAQAjb,KAAAqyJ,UAAAx/F,WAAA,gBAAA53C,OAGAw+I,EAAAx5J,UAAA6V,QAAA,SAAAshB,GACAp3B,KAAA45J,aAAA9jJ,QAAAshB,GACAp3B,KAAA25J,aAAA7jJ,QAAAshB,GACAp3B,KAAA65J,cAAA/jJ,QAAAshB,IAGAlJ,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,+pIAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAi6J,EAAAj6J,EAAA,GAEAwvB,GADAxvB,EAAA,GACAA,EAAA,IACAyvB,EAAAzvB,EAAA,GACAk6J,EAAAl6J,EAAA,IACAm6J,EAAAn6J,EAAA,GACAo6J,EAAAp6J,EAAA,IAEAk8J,GADAl8J,EAAA,IACAA,EAAA,KACAm8J,EAAAn8J,EAAA,KAeA,SAAAo8J,EAAA7lJ,GACAA,KAAA,GAEApV,KAAAsyJ,SAAA,IAAAyG,EAAA,MACA/uH,SAAAgvH,EAAA,KAAA/+H,OAAA,iBACAy4B,WAAA,YAEA1yD,KAAAk7J,WAAA,IAAAnC,EAAA,MACA/uH,SAAAgvH,EAAA,KAAA/+H,OAAA,iBACAy4B,WAAA,YAEA1yD,KAAAm7J,WAAA,IAAApC,EAAA,MACA/uH,SAAAgvH,EAAA,KAAA/+H,OAAA,iBACAy4B,WAAA,YAEA1yD,KAAAo7J,WAAA,IAAArC,EAAA,MACA/uH,SAAAgvH,EAAA,KAAA/+H,OAAA,2BAEAj6B,KAAAo7J,WAAAvoI,SAAAilC,qBACA93D,KAAAo7J,WAAAvoI,SAAAK,cAAA,yBAEAlzB,KAAAsyJ,SAAAz/F,WAAA,kBAAAz9C,EAAA68I,eACAjyJ,KAAAsyJ,SAAAz/F,WAAA,kBAAAz9C,EAAA+8I,cAGAnyJ,KAAAk7J,WAAAroG,WAAA,kBAAAz9C,EAAA68I,eACAjyJ,KAAAk7J,WAAAroG,WAAA,kBAAAz9C,EAAA+8I,cAEAnyJ,KAAAm7J,WAAAtoG,WAAA,kBAAAz9C,EAAA68I,eACAjyJ,KAAAm7J,WAAAtoG,WAAA,kBAAAz9C,EAAA+8I,cAEAnyJ,KAAAm7J,WAAAtoI,SAAA0H,OAAA,uBACAv6B,KAAAm7J,WAAAtoI,SAAA0H,OAAA,oBAEAv6B,KAAAq7J,YAAA,IAAAhtI,EAAA,MACAluB,KAAAmuB,EAAA,KAAAwW,aAEA9kC,KAAAs7J,UAAA,IAAAjtI,EAAA,MACAluB,KAAAmuB,EAAA,KAAAwW,aAEA9kC,KAAAu7J,UAAA,IAAAltI,EAAA,MACAluB,KAAAmuB,EAAA,KAAAwW,aAEA9kC,KAAAw7J,aAAA,IAAAntI,EAAA,MACAluB,KAAAmuB,EAAA,KAAAwW,aAEA9kC,KAAAy7J,gBAAA,IAAAptI,EAAA,MACAluB,KAAAmuB,EAAA,KAAAwW,aAGA9kC,KAAAu+F,aAAA,IAAA06D,EAAA,MACAxmH,aAAA,IAGAzyC,KAAAopI,oBAAA,KAEAppI,KAAA07J,cAAA,IACA17J,KAAA27J,gBAAA,EAEA37J,KAAAsyJ,SAAAz/H,SAAA0H,OAAA,8BAAAv6B,KAAA27J,iBACA37J,KAAAsyJ,SAAAz/H,SAAA0H,OAAA,2BAAAv6B,KAAA07J,eAEA17J,KAAA47J,WAAA,EAhEA5C,EAAA,KAAAnnI,OAAAmpI,EAAA,MAmEAC,EAAAh7J,UAAA47J,kBAAA,SAAAC,EAAArkI,GACAz3B,KAAAsyJ,SAAAz/H,SAAAO,IAAA,kBAAA0oI,GACA97J,KAAAsyJ,SAAAz/H,SAAAO,IAAA,oBAAAqE,GAEA,IAAAskI,EAAAD,GAAArkI,EACAz3B,KAAAsyJ,SAAAz/H,SAAAkpI,EAAA,sDAGAd,EAAAh7J,UAAAssB,OAAA,SAAA6K,EAAAk7B,EAAAkgG,EAAA/4I,GACA,IAAAnX,EAAA80B,EAAA7oB,WACAhM,EAAA60B,EAAAknC,YACA09F,EAAAh8J,KAAAq7J,YACAY,EAAAj8J,KAAAs7J,UACAY,EAAAl8J,KAAAu7J,UACAS,EAAA15J,MAAAtC,KAAAw7J,aAAAl5J,MAAAtC,KAAAy7J,gBAAAn5J,QAAAtC,KAAA47J,WACAI,EAAAz5J,OAAAvC,KAAAw7J,aAAAj5J,OAAAvC,KAAAy7J,gBAAAl5J,SAAAvC,KAAA47J,WAEAK,EAAA35J,MAAA45J,EAAA55J,QACA25J,EAAA15J,OAAA25J,EAAA35J,SAEA,IAAAsyC,EAAA70C,KAAAu+F,aAEA49D,EAAAn8J,KAAAsyJ,SACA8J,EAAAp8J,KAAAk7J,WACAmB,EAAAr8J,KAAAm7J,WACAmB,EAAAt8J,KAAAo7J,WAEAmB,EAAA,IAAAzD,EAAA,KACA0D,EAAA,IAAA1D,EAAA,KACAA,EAAA,KAAAloH,UAAA2rH,EAAAjqG,EAAA0O,gBACA83F,EAAA,KAAAloH,UAAA4rH,EAAAlqG,EAAAikB,YAEA4lF,EAAAtpG,WAAA,gBAAA2/F,GACA2J,EAAAtpG,WAAA,aAAAP,EAAAukB,iBAAAz5C,OACA++H,EAAAtpG,WAAA,gBAAAP,EAAAsnC,oBAAAx8D,OACA++H,EAAAtpG,WAAA,cAAA0pG,EAAAn/H,OACA++H,EAAAtpG,WAAA,eAAA2pG,EAAAp/H,OACA++H,EAAAtpG,WAAA,QAAAP,EAAA5iB,MAEA,IAAAyoE,EAAA1+F,EAAAzZ,KAAA07J,cAAA17J,KAAA27J,gBAqCA,GApCAQ,EAAAtpG,WAAA,eAAAslD,GACAgkD,EAAAtpG,WAAA,eAAAp5C,EAAAzZ,KAAA27J,iBAEAS,EAAAvpG,WAAA,eAAAmpG,EAAA15J,MAAA05J,EAAAz5J,SACA85J,EAAAxpG,WAAA,eAAAvwD,EAAAC,IACA85J,EAAAxpG,WAAA,gBAAA2/F,GAEA4J,EAAAvpG,WAAA,aAAAP,EAAAukB,iBAAAz5C,OACAi/H,EAAAxpG,WAAA,aAAAP,EAAAukB,iBAAAz5C,OAEAyX,EAAAV,OAAA6nH,GACAnnH,EAAAjsC,KAAAwuB,GACA+kI,EAAAjpG,OAAA97B,GAEAp3B,KAAAy8J,qBACA5nH,EAAAV,OAAAn0C,KAAAy7J,iBACAa,EAAAzpG,WAAA,WAAA7yD,KAAAw7J,cACAc,EAAAzpG,WAAA,WAAAmpG,GACAM,EAAAzpI,SAAAO,IAAA,CACAspI,QAAAjjJ,GAAA,QACAkjJ,QAAAljJ,GAAA,UAIA6iJ,EAAAppG,OAAA97B,IAGAyd,EAAAV,OAAA8nH,GACAG,EAAAvpG,WAAA,UAAA7yD,KAAAy8J,mBAAAz8J,KAAAy7J,gBAAAO,GACAI,EAAAlpG,OAAA97B,GAEAyd,EAAAV,OAAA+nH,GACAG,EAAAxpG,WAAA,UAAAopG,GACAI,EAAAnpG,OAAA97B,GACAyd,EAAAlS,OAAAvL,GAEAp3B,KAAAy8J,mBAAA,CACA,IAAAtsG,EAAAnwD,KAAAw7J,aACAx7J,KAAAw7J,aAAAx7J,KAAAy7J,gBACAz7J,KAAAy7J,gBAAAtrG,IAIA8qG,EAAAh7J,UAAAozJ,iBAAA,WACA,OAAArzJ,KAAAu7J,WAGAN,EAAAh7J,UAAA6lF,aAAA,SAAAx3E,EAAArF,GACA,iBAAAqF,EACAtO,KAAAsyJ,SAAAz/H,SAAA0H,OAAA,2BAAAtxB,GAGAjJ,KAAAsyJ,SAAAz/F,WAAAvkD,EAAArF,IAIAgyJ,EAAAh7J,UAAAg0J,qBAAA,SAAA2I,GACAA,GACA58J,KAAAopI,sBACAppI,KAAAopI,oBAAA2xB,EAAA,KAAAjpD,2BAAA,GAAA9xG,KAAA07J,gBAEA17J,KAAAsyJ,SAAAz/H,SAAA0H,OAAA,iCACAv6B,KAAAsyJ,SAAAz/H,SAAAO,IAAA,qBAAApzB,KAAAopI,qBACAppI,KAAAsyJ,SAAAz/H,SAAAO,IAAA,6BAAApzB,KAAA07J,iBAGA17J,KAAAsyJ,SAAAz/H,SAAA6J,SAAA,iCAGA18B,KAAAy8J,mBAAAG,GAGA3B,EAAAh7J,UAAAm0J,eAAA,SAAAxhI,GACA,IAAA0pI,EAAAt8J,KAAAm7J,WACAvoI,GACA0pI,EAAAzpI,SAAAK,cAAA,WACAopI,EAAAzpI,SAAAO,IAAA,UAAAR,IAGA0pI,EAAAzpI,SAAAE,eAAA,YAIAkoI,EAAAh7J,UAAA6/D,WAAA,SAAArmD,GACA,OAAAzZ,KAAAy8J,oBACAhjJ,EAAAzZ,KAAA07J,cAAA17J,KAAA27J,iBAOAV,EAAAh7J,UAAA6V,QAAA,SAAAshB,GACAp3B,KAAAq7J,YAAAvlJ,QAAAshB,GACAp3B,KAAAs7J,UAAAxlJ,QAAAshB,GACAp3B,KAAAu7J,UAAAzlJ,QAAAshB,GACAp3B,KAAAw7J,aAAA1lJ,QAAAshB,GACAp3B,KAAAy7J,gBAAA3lJ,QAAAshB,GACAp3B,KAAAu+F,aAAAzoF,QAAAshB,IAGAlJ,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,ypUAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aAGAqvB,EAAA,MACA,KACA,6BACA,4BACA,4BACA,8BACA,6BACA,4BACA,8BACA,6BACA,4BACA,8BACA,6BACA,6BACA,6BACA,8BACA,8BACA,8BACA,6BACA,6BACA,4BACA,6BACA,6BACA,+BACA,4BACA,4BACA,4BACA,8BACA,8BACA,4BACA,4BACA,6BACA,8BAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA8oI,EAAA9oI,EAAA,GACAg+J,EAAAh+J,EAAA,GACAi+J,EAAAj+J,EAAA,GACA6wJ,EAAA7wJ,EAAA,IACAk+J,EAAAl+J,EAAA,IACAm+J,EAAAn+J,EAAA,IACAo+J,EAAAp+J,EAAA,IACAq+J,EAAAr+J,EAAA,KAeA,SAAAs+J,EAAA/lI,EAAAsgD,EAAAjtD,EAAAmI,EAAAilD,GACA,IAAAj/C,EAAAxB,EAAAwB,GACA8+C,EAAA7kB,WAAAj6B,EAAA,KAAAnO,EAAAotD,GAEAj/C,EAAAwlG,cAAAxlG,EAAAmmB,SAAA84B,GAEAjlD,EAAAyR,eACAzR,EAAAhqB,KAAAwuB,GAIAxE,EAAA+P,OAAAvL,GAKA,SAAAgmI,EAAAhmI,EAAAimI,EAAAC,EAAAC,EAAAC,GAEA,IAAAC,EACAC,EACAC,EACAC,EACAhlI,EAAAxB,EAAAwB,GAEA,gBAAAomC,EAAAw+F,EAAAK,GAEA,IAAAD,KAAA/qI,WAAAmsC,EAAAnsC,SAAA,CAIA,IAAAA,EAAAmsC,EAAAnsC,SACA6kD,EAAA1Y,EAAA8tB,UAEA3xD,EAAAtI,EAAAptB,IAAA,aACA,MAAA01B,IACAA,EAAA,GAGA,IAAA2iI,EAAAjrI,EAAAptB,IAAA,cAAA43J,EACAU,EAAAlrI,EAAAptB,IAAA,gBACAu4J,EAAAnrI,EAAAptB,IAAA,WACAo1B,EAAAhI,EAAAptB,IAAA,YACAq1B,EAAAjI,EAAAptB,IAAA,YACA61B,EAAAzI,EAAAptB,IAAA,kBACA81B,EAAA1I,EAAAptB,IAAA,kBAEAw4J,IAAAD,GAAAnrI,EAAAklC,iBAAA,WACAmmG,IAAAH,GAAAlrI,EAAAklC,iBAAA,gBACAomG,EAAAtrI,EAAA4kC,UAAA,2BAEAumG,KAAAV,EACAS,KAAAR,EAEAM,IAAAL,GACAA,EAAApqI,IAAA,YAAA0qI,GACAN,EAAApqI,IAAA,UAAA4qI,GACAR,EAAApqI,IAAA,eAAA2qI,GACAP,EAAApqI,IAAA,aAAA6qI,GACAT,EAAApqI,IAAA,kBAAA8qI,GACAV,EAAApqI,IAAA,aAAA+qI,GACA,MAAAtjI,GAAA2iI,EAAApqI,IAAA,WAAAyH,GACA,MAAAC,GAAA0iI,EAAApqI,IAAA,WAAA0H,GACA,MAAAQ,GAAAkiI,EAAApqI,IAAA,iBAAAkI,GACA,MAAAC,GAAAiiI,EAAApqI,IAAA,iBAAAmI,GAEAiiI,EAAApqI,IAAA,YAAA+H,KAGAu8C,EAAA7kB,WAAAj6B,EAAA,iBAAAuC,GAEAsiI,IAAAK,GACAX,EAAA/lI,EAAAsgD,EAAA,YAAAomF,EAAA,GAEAJ,IAAAM,MACAb,EAAA/lI,EAAAsgD,EAAA,UAAAsmF,EAAA,GAEAL,IAAAI,MACAZ,EAAA/lI,EAAAsgD,EAAA,eAAAqmF,EAAA,GAEA,MAAAljI,GACA68C,EAAA7kB,WAAAj6B,EAAA,gBAAAiC,GAEA,MAAAC,GACA48C,EAAA7kB,WAAAj6B,EAAA,gBAAAkC,GAEA,MAAAQ,GACAo8C,EAAA7kB,WAAAj6B,EAAA,sBAAA0C,GAEA,MAAAC,GACAm8C,EAAA7kB,WAAAj6B,EAAA,sBAAA2C,GAEAm8C,EAAA7kB,WAAAj6B,EAAA,mBAAAqlI,GACAvmF,EAAA7kB,WAAAj6B,EAAA,wBAAAslI,GACAxmF,EAAA7kB,WAAAj6B,EAAA,mBAAAulI,IAGAV,EAAAK,EACAJ,EAAAM,EACAL,EAAAI,EAEAH,EAAA5+F,IAIA,SAAAo/F,EAAAhpJ,GACAA,KAAA,GAEApV,KAAA85J,UAAA,IAAAnyB,EAAA,MACAtmG,OAAAw7H,EAAA,KAAA35H,gBACA/iC,KAAA08J,EAAA,KAAAj4H,eAEA5kC,KAAA+5J,WAAA,IAAApyB,EAAA,MACAxnI,KAAA08J,EAAA,KAAA/3H,aAGA9kC,KAAAmxJ,aAAA,IAAAzB,EAAA,KACA1vJ,KAAAmxJ,aAAAh9G,OAAAn0C,KAAA+5J,YACA/5J,KAAAmxJ,aAAAh9G,OAAAn0C,KAAA85J,UAAApK,EAAA,KAAAr9G,kBAEAryC,KAAAq+J,gBAAA,IAAAtB,EAAA,MACApqI,OAAA,IAAAmqI,EAAA,KACAA,EAAA,KAAA7iI,OAAA,sBACA6iI,EAAA,KAAA7iI,OAAA,2BAGAj6B,KAAAq+J,gBAAAnrI,cAAA,wCAEAlzB,KAAAs+J,kBAAArB,EAAA,KAAA9nI,YAAA,QACAn1B,KAAAu+J,gBAAAtB,EAAA,KAAA9nI,YAAA,QACAn1B,KAAAw+J,oBAAAvB,EAAA,KAAA9nI,YAAA,QAGAn1B,KAAAy+J,WAAA,IAAAzB,EAAA,MACAhzH,SAAA8yH,EAAA,KAAA7iI,OAAA,4BAEAj6B,KAAAy+J,WAAA5rG,WAAA,UAAA7yD,KAAA+5J,YACA/5J,KAAAy+J,WAAA5rI,SAAA6J,SAAA,2BA1IAogI,EAAA,KAAAjrI,OAAAqrI,EAAA,MA6IAkB,EAAAn+J,UAAAmyJ,gBAAA,WACA,OAAApyJ,KAAA85J,WAGAsE,EAAAn+J,UAAAiyJ,iBAAA,WACA,OAAAlyJ,KAAA+5J,YAGAqE,EAAAn+J,UAAAssB,OAAA,SAAA6K,EAAAmmC,EAAAjL,GAEA,IAAAhwD,EAAA80B,EAAA7oB,WACAhM,EAAA60B,EAAAknC,YAEA6zF,EAAAnyJ,KAAA85J,UACA7H,EAAAjyJ,KAAA+5J,WACAyD,EAAAx9J,KAAAq+J,gBAEAlM,EAAA7vJ,QACA6vJ,EAAA5vJ,SACA0vJ,EAAA3vJ,QACA2vJ,EAAA1vJ,SAEA,IAAAo/D,EAAApE,EAAAwD,cAAAzO,GAAAkP,OAEAxhE,KAAAmxJ,aAAAvoJ,KAAAwuB,GACAA,EAAAwB,GAAA85B,WAAA,SACAt7B,EAAAwB,GAAAlsB,MAAA0qB,EAAAwB,GAAAsc,iBAAA9d,EAAAwB,GAAAoc,kBACA5d,EAAAwB,GAAAvjB,QAAA+hB,EAAAwB,GAAAkf,OAEA1gB,EAAAw8B,WAAA+N,EAAArP,EAAA,CACA25B,YAAA,WACA,OAAAuxE,GAEArwE,SAAA,SAAAp/D,GACA,OAAAA,EAAA0zC,cAEAurB,aAAAowE,EACAhmI,EAAAp3B,KAAAs+J,kBAAAt+J,KAAAu+J,gBAAAv+J,KAAAw+J,oBAAAx+J,KAAAq+J,iBAEApoI,KAAAmB,EAAA+0D,oBAEAnsF,KAAAmxJ,aAAAxuH,OAAAvL,IAGAgnI,EAAAn+J,UAAAsrJ,YAAA,SAAAn0H,GACAp3B,KAAAy+J,WAAAvrG,OAAA97B,IAGAgnI,EAAAn+J,UAAA6V,QAAA,SAAAshB,GACAp3B,KAAA85J,UAAAhkJ,QAAAshB,GACAp3B,KAAA+5J,WAAAjkJ,QAAAshB,IAGAlJ,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,+qDAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAA,EAAA,GACAA,EAAA,GADA,IAEAwvB,EAAAxvB,EAAA,GACAyvB,EAAAzvB,EAAA,GACAk6J,EAAAl6J,EAAA,IACAm6J,EAAAn6J,EAAA,GACAo6J,EAAAp6J,EAAA,IASA,SAAA6/J,EAAAtpJ,GACAA,KAAA,GAEApV,KAAAuyJ,UAAA,IAAAwG,EAAA,MACA/uH,SAAAgvH,EAAA,KAAA/+H,OAAA,eAGAj6B,KAAAuyJ,UAAA1/F,WAAA,gBAAAz9C,EAAA68I,eACAjyJ,KAAAuyJ,UAAA1/F,WAAA,eAAAz9C,EAAA+8I,cAEAnyJ,KAAA2+J,eAAA,IAAAtwI,EAAA,MACAluB,KAAAmuB,EAAA,KAAAwW,aAGA9kC,KAAAu+F,aAAA,IAAA06D,EAAA,KACAj5J,KAAAu+F,aAAApqD,OAAAn0C,KAAA2+J,gBAGAD,EAAAz+J,UAAAssB,OAAA,SAAA6K,EAAAk7B,EAAAkgG,EAAA/4I,GACA,IAAAnX,EAAA80B,EAAA7oB,WACAhM,EAAA60B,EAAAknC,YACA1rC,EAAA5yB,KAAA2+J,eACA/rI,EAAAtwB,QACAswB,EAAArwB,SACA,IAAAsyC,EAAA70C,KAAAu+F,aAEA1pD,EAAAjsC,KAAAwuB,GACAp3B,KAAAuyJ,UAAA1/F,WAAA,gBAAAP,EAAAsnC,oBAAAx8D,OACAp9B,KAAAuyJ,UAAA1/F,WAAA,eAAAvwD,EAAAC,IACAvC,KAAAuyJ,UAAA1/F,WAAA,UAAA2/F,GACAxyJ,KAAAuyJ,UAAAr/F,OAAA97B,GAEAyd,EAAAlS,OAAAvL,IAGAsnI,EAAAz+J,UAAAozJ,iBAAA,WACA,OAAArzJ,KAAA2+J,gBAGAD,EAAAz+J,UAAA6lF,aAAA,SAAAx3E,EAAArF,GACAjJ,KAAAuyJ,UAAA1/F,WAAAvkD,EAAArF,IAGAy1J,EAAAz+J,UAAA6V,QAAA,SAAAshB,GACAp3B,KAAA2+J,eAAA7oJ,QAAAshB,GACAp3B,KAAAu+F,aAAAzoF,QAAAshB,IAGAlJ,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,MACA/tB,KAAA,aACAu1J,MAAA,CACA,CACApnJ,KAAA,SACAnO,KAAA,UACAqyD,QAAA,CACA1rC,MAAA,KAGA,CACAxY,KAAA,cACAqkB,OAAA,sCACAsgI,OAAA,CACArgI,QAAA,UAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,wBACAC,OAAA,yBACApC,KAAA,gBAIAwlF,WAAA,CACAi5E,YAAA,wCAKA,CACAtwJ,KAAA,SACAqkB,OAAA,kCACAsgI,OAAA,CACArgI,QAAA,eAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,wBACAC,OAAA,yBACApC,KAAA,gBAIAwlF,WAAA,CACA0X,UAAA,EACAtlF,MAAA,EACA6mJ,YAAA,wCAIA,CACAtwJ,KAAA,sBACAqkB,OAAA,sCACAsgI,OAAA,CACArgI,QAAA,UAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,wBACAC,OAAA,yBACApC,KAAA,gBAIAwlF,WAAA,CACAi5E,YAAA,0CAGA,CACAtwJ,KAAA,sBACAqkB,OAAA,sCACAsgI,OAAA,CACArgI,QAAA,uBAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,wBACAC,OAAA,yBACApC,KAAA,gBAIAwlF,WAAA,CACAi5E,YAAA,0CAGA,CACAtwJ,KAAA,uBACAqkB,OAAA,sCACAsgI,OAAA,CACArgI,QAAA,uBAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,yBACAC,OAAA,0BACApC,KAAA,gBAIAwlF,WAAA,CACAi5E,YAAA,0CAGA,CACAtwJ,KAAA,uBACAqkB,OAAA,sCACAsgI,OAAA,CACArgI,QAAA,wBAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,yBACAC,OAAA,0BACApC,KAAA,gBAIAwlF,WAAA,CACAi5E,YAAA,4CAKA,CACAtwJ,KAAA,4BACAqkB,OAAA,yCACAsgI,OAAA,CACArgI,QAAA,wBAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,yBACAC,OAAA,0BACApC,KAAA,gBAIAwlF,WAAA,CACAk5E,SAAA,EACAC,QAAA,EACAF,YAAA,4CAGA,CACAtwJ,KAAA,4BACAqkB,OAAA,yCACAsgI,OAAA,CACArgI,QAAA,6BAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,yBACAC,OAAA,0BACApC,KAAA,gBAIAwlF,WAAA,CACAk5E,SAAA,EACAC,QAAA,EACAF,YAAA,kDAMA,CACAtwJ,KAAA,2BACAqkB,OAAA,yCACAsgI,OAAA,CACArgI,QAAA,wBAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,wBACAC,OAAA,yBACApC,KAAA,gBAIAwlF,WAAA,CACAk5E,SAAA,EACAC,QAAA,EACAF,YAAA,kDAGA,CACAtwJ,KAAA,2BACAqkB,OAAA,yCACAsgI,OAAA,CACArgI,QAAA,4BAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,wBACAC,OAAA,yBACApC,KAAA,gBAIAwlF,WAAA,CACAk5E,SAAA,EACAC,QAAA,EACAF,YAAA,gDAGA,CACAtwJ,KAAA,0BACAqkB,OAAA,iCACAsgI,OAAA,CACA8L,SAAA,2BACA9C,SAAA,6BAEAzpG,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,wBACAC,OAAA,yBACApC,KAAA,gBAIAwlF,WAAA,CACA+2E,QAAA,GACAC,QAAA,KAKA,CACAruJ,KAAA,2BACAqkB,OAAA,yCACAsgI,OAAA,CACArgI,QAAA,uBAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,wBACAC,OAAA,yBACApC,KAAA,gBAIAwlF,WAAA,CACAk5E,SAAA,EACAC,QAAA,EACAF,YAAA,gDAGA,CACAtwJ,KAAA,2BACAqkB,OAAA,yCACAsgI,OAAA,CACArgI,QAAA,4BAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,wBACAC,OAAA,yBACApC,KAAA,gBAIAwlF,WAAA,CACAk5E,SAAA,EACAC,QAAA,EACAF,YAAA,gDAGA,CACAtwJ,KAAA,0BACAqkB,OAAA,iCACAsgI,OAAA,CACA8L,SAAA,2BACA9C,SAAA,2BAEAzpG,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,wBACAC,OAAA,yBACApC,KAAA,gBAIAwlF,WAAA,CACA+2E,QAAA,GACAC,QAAA,KAQA,CACAruJ,KAAA,2BACAqkB,OAAA,yCACAsgI,OAAA,CACArgI,QAAA,uBAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,wBACAC,OAAA,yBACApC,KAAA,gBAIAwlF,WAAA,CACAk5E,SAAA,EACAC,QAAA,EACAF,YAAA,gDAGA,CACAtwJ,KAAA,2BACAqkB,OAAA,yCACAsgI,OAAA,CACArgI,QAAA,4BAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,wBACAC,OAAA,yBACApC,KAAA,gBAIAwlF,WAAA,CACAk5E,SAAA,EACAC,QAAA,EACAF,YAAA,gDAGA,CACAtwJ,KAAA,0BACAqkB,OAAA,iCACAsgI,OAAA,CACA8L,SAAA,2BACA9C,SAAA,2BAEAzpG,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,wBACAC,OAAA,yBACApC,KAAA,gBAIAwlF,WAAA,CACA+2E,QAAA,GACAC,QAAA,KAMA,CACAruJ,KAAA,8BACAqkB,OAAA,yCACAsgI,OAAA,CACArgI,QAAA,UAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,oBACAC,OAAA,qBACApC,KAAA,gBAIAwlF,WAAA,CACAk5E,SAAA,EACAC,QAAA,EACAF,YAAA,gDAGA,CACAtwJ,KAAA,8BACAqkB,OAAA,yCACAsgI,OAAA,CACArgI,QAAA,+BAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,oBACAC,OAAA,qBACApC,KAAA,gBAIAwlF,WAAA,CACAk5E,SAAA,EACAC,QAAA,EACAF,YAAA,wCAGA,CACAtwJ,KAAA,kBACAqkB,OAAA,iCACAsgI,OAAA,CACA8L,SAAA,8BACA9C,SAAA,2BAEAzpG,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,oBACAC,OAAA,qBACApC,KAAA,gBAIAwlF,WAAA,CACA+2E,QAAA,GACAC,QAAA,KAKA,CACAruJ,KAAA,MACAqkB,OAAA,wBACA6/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACApkD,UAAA,UACAE,UAAA,UACAn/B,MAAA,oBACAC,OAAA,wBAIAojF,WAAA,CACAq5E,UAAA,GACA/yF,WAAA,KAIA,CACA39D,KAAA,eACAqkB,OAAA,6BACAsgI,OAAA,CACArgI,QAAA,SACAqsI,IAAA,OAEAzsG,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,oBACAC,OAAA,qBACApC,KAAA,gBAIAwlF,WAAA,CACAi5E,YAAA,wCAGA,CACAtwJ,KAAA,gBACAqkB,OAAA,6BACAsgI,OAAA,CACArgI,QAAA,SACAqsI,IAAA,OAEAzsG,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,oBACAC,OAAA,qBACApC,KAAA,gBAIAwlF,WAAA,CACAi5E,YAAA,uCAEAvkI,QAAA,CACA6kI,eAAA,OAKA,CACA5wJ,KAAA,eACAqkB,OAAA,6BACAsgI,OAAA,CACArgI,QAAA,OAEA4/B,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACApkD,UAAA,UACAE,UAAA,UACAn/B,MAAA,oBACAC,OAAA,wBAIAojF,WAAA,CACAi5E,YAAA,uCAEAvkI,QAAA,CACA8kI,SAAA,OAIA,CACA7wJ,KAAA,gBACAqkB,OAAA,8BACAsgI,OAAA,CACAmM,SAAA,SACAC,QAAA,eACAC,UAAA,gBACAL,IAAA,MACAM,QAAA,gBAEA/sG,QAAA,CACA1rC,MAAA,CACA6+D,WAAA,CACArjF,MAAA,oBACAC,OAAA,qBACApC,KAAA,iBAKA,CACAmO,KAAA,YACAqkB,OAAA,yCACAsgI,OAAA,CACArgI,QAAA,SACAm5C,MAAA,mBAEA1xC,QAAA,IAMA,CACA/rB,KAAA,OACAqkB,OAAA,gCACAsgI,OAAA,CACArgI,QAAA,iBAQA,SAAAlwB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,kjHAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,w6CAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA2gK,EAAA3gK,EAAA,IACA4gK,EAAA5gK,EAAA,IACA6gK,EAAA7gK,EAAA,IACA8gK,EAAA9gK,EAAA,GACA0vB,EAAA1vB,EAAA,GACAg+D,EAAAh+D,EAAA,GASA,SAAA+gK,EAAAC,GAGA,IAFA,IAAAC,EAAA,GAEA/0J,EAAA,EAAmBA,EAAA,GAAQA,IAC3B+0J,EAAAntJ,KAAA,CAAA5J,OAAAy2J,EAAA,KAAAz2J,CAAAgC,EAAA,GAAAhC,OAAAy2J,EAAA,KAAAz2J,CAAAgC,EAAA,KAGA/K,KAAA+/J,gBAAAD,EAEA9/J,KAAAm/D,OAAA,EAEAn/D,KAAAggK,WAAA,IAAAL,EAAA,KACA3/J,KAAAigK,UAAA,IAAAP,EAAA,KACA1/J,KAAAigK,UAAA9rH,OAAAn0C,KAAAggK,YAGAhgK,KAAAkgK,cAAA,IAAAP,EAAA,KACA3/J,KAAAmgK,WAAA,IAAAR,EAAA,KAEA,IAAArD,EAAAt8J,KAAAo7J,WAAA,IAAAqE,EAAA,MACAz1H,SAAAzb,EAAA,KAAA0L,OAAA,2BAEAqiI,EAAAzpI,SAAAilC,qBACAwkG,EAAAzpI,SAAAK,cAAA,yBAEAlzB,KAAAogK,SAAA,IAAAV,EAAA,MACAjtH,aAAA,IAGAzyC,KAAAqgK,YAAA,IAAAZ,EAAA,MACAz1H,SAAAzb,EAAA,KAAA0L,OAAA,0BAEAw4B,mBAAA,IAEAzyD,KAAAqgK,YAAAxtI,SAAA0H,OAAA,2BACAv6B,KAAAqgK,YAAAxtI,SAAAyjC,MAAA,SAAAl0B,GAIAA,EAAAgtD,sBAAAhtD,EAAAtJ,SAAAsJ,EAAAtJ,UACAsJ,EAAAitD,kBAAAjtD,EAAAnJ,IAAAmJ,EAAAwT,oBAAAxT,EAAAnJ,IAAAmJ,EAAAwT,sBAIAgqH,EAAA3/J,UAAA,CAEAC,YAAA0/J,EAOA3hG,iBAAA,SAAA7mC,EAAAk7B,GACA,IAAA5f,EAAAtb,EAAAsb,SACA/mC,EAAA+mC,EAAA9mC,kBAAAwrB,EAAA8zD,sBACA5oF,EAAAowC,EAAApwC,MAAAqJ,EACApJ,EAAAmwC,EAAAnwC,OAAAoJ,EAEAo6C,EAAA/lD,KAAA+/J,gBAAA//J,KAAAm/D,OAAAn/D,KAAA+/J,gBAAAx8J,QAEA+8J,EAAA,IAAAzjG,EAAA,KACAyjG,EAAAljI,MAAA,OAAA2oB,EAAA,MAAAzjD,EACAg+J,EAAAljI,MAAA,OAAA2oB,EAAA,MAAAxjD,EAEAs6D,EAAA,KAAA7+B,IAAAs0B,EAAAukB,iBAAAypF,EAAAhuG,EAAAukB,kBAEAha,EAAA,KAAAhtB,OAAAyiB,EAAAsnC,oBAAAtnC,EAAAukB,mBAMAzX,WAAA,WACAp/D,KAAAm/D,OAAA,GAMAkB,SAAA,WACA,OAAArgE,KAAAm/D,QAMAoB,qBAAA,WACA,OAAAvgE,KAAAigK,WAGAM,iBAAA,WACA,OAAAvgK,KAAAmgK,YAGA9hG,OAAA,SAAA/7D,EAAAC,GACAvC,KAAAkgK,cAAA59J,QACAtC,KAAAkgK,cAAA39J,SAEAvC,KAAAmgK,WAAA79J,QACAtC,KAAAmgK,WAAA59J,SAEAvC,KAAAggK,WAAA19J,QACAtC,KAAAggK,WAAAz9J,SAEAvC,KAAAkgK,cAAAv7I,QACA3kB,KAAAmgK,WAAAx7I,QACA3kB,KAAAggK,WAAAr7I,SAGAm7C,WAAA,WACA,OAAA9/D,KAAAm/D,QAAAn/D,KAAA+/J,gBAAAx8J,QAGA2vD,OAAA,SAAA97B,EAAAopI,EAAAC,GACA,IAAAnE,EAAAt8J,KAAAo7J,WACA,IAAAp7J,KAAAm/D,QAEAm9F,EAAAzpG,WAAA,aACAypG,EAAAzpG,WAAA,eAGAypG,EAAAzpG,WAAA,cACAypG,EAAAzpG,WAAA,eAEAypG,EAAAzpG,WAAA,WAAA7yD,KAAAkgK,eACA5D,EAAAzpG,WAAA,WAAA2tG,GAAAxgK,KAAAggK,YAEAhgK,KAAAogK,SAAAjsH,OAAAn0C,KAAAmgK,YACAngK,KAAAogK,SAAAx3J,KAAAwuB,GACAklI,EAAAppG,OAAA97B,GACAp3B,KAAAogK,SAAAz9H,OAAAvL,GAEAqpI,IACAzgK,KAAAqgK,YAAAxtG,WAAA,UAAA7yD,KAAAmgK,YACAngK,KAAAqgK,YAAAntG,OAAA97B,IAIA,IAAA+4B,EAAAnwD,KAAAkgK,cACAlgK,KAAAkgK,cAAAlgK,KAAAmgK,WACAngK,KAAAmgK,WAAAhwG,EAEAnwD,KAAAm/D,UAGArpD,QAAA,SAAAshB,GACAp3B,KAAAigK,UAAAnqJ,QAAAshB,GACAp3B,KAAAogK,SAAAtqJ,QAAAshB,GACAp3B,KAAAkgK,cAAApqJ,QAAAshB,GACAp3B,KAAAmgK,WAAArqJ,QAAAshB,GACAp3B,KAAAggK,WAAAlqJ,QAAAshB,GACAp3B,KAAAqgK,YAAAvqJ,QAAAshB,GACAp3B,KAAAo7J,WAAAtlJ,QAAAshB,KAIAlJ,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA99B,EAAA,KACAA,EAAA,KACAA,EAAA,IAQA+9B,EAAAr0B,EAAA+jB,eAAA,CACAnsB,KAAA,oBACAgX,MAAA,qBACAoV,OAAA,uBACC,SAAAC,EAAAjS,GACDA,EAAA8kG,cAAA,CACArzF,SAAA,QAAAgqH,MAAAxpH,GACK,SAAAyhD,GACLA,EAAA0N,QAAAnvD,QAMA,SAAA9pB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA08G,EAAAx6I,EAAA,IACAy6I,EAAAz6I,EAAA,IACA06I,EAAA16I,EAAA,IACA6hK,EAAA7hK,EAAA,IACA8hK,EAAA9hK,EAAA,IAQA+hK,EAAAhkI,EAAAr0B,EAAA4tI,qBAAA,CAEAh2I,KAAA,QAEA8iB,WAAA,MAEA/d,iBAAA,KAEAkyI,cAAA,WACA,IAAAj0H,EAAAnjB,KAAAmjB,OAEAA,EAAAw4F,QAAA37G,KAAA07G,iBAAAv4F,EAAAw4F,QAAAx4F,EAAA/V,KAEA,IAAAqrE,EAAA77C,EAAAr0B,EAAA++E,OAAAu5E,mBAAA,UAAA19I,EAAA5X,KAAA,CACAu1J,UAAA9gK,KAAAyF,IAAA,UACAs7J,QAAA/gK,KAAAyF,IAAA,gBAEA0H,EAAA,IAAAyvB,EAAAr0B,EAAA6/E,KAAA3P,EAAAz4E,MACAmN,EAAAm7E,SAAAnlE,EAAAw4F,SAEA,IAAAqlD,EAAA,GACA7zJ,EAAAga,KAAA,SAAAxJ,GACA,IAAArP,EAAAnB,EAAAya,QAAAjK,GACAuN,EAAA/d,EAAAge,aAAAxN,GACAqjJ,EAAA1yJ,GAAA4c,IAGAlrB,KAAAihK,gBAAAD,EAEAhhK,KAAA+gG,MAAA5zF,GAGAqN,QAAA,WACA,OAAAxa,KAAA+gG,OAGA2B,eAAA,SAAA/kF,GACA,IAAArP,EAAAtO,KAAAwa,UAAAoN,QAAAjK,GACA,OAAA3d,KAAAihK,gBAAA3yJ,IAAA,IAAAsuB,EAAAr0B,EAAAm6I,MAAA,KAAA1iJ,OAGA+jG,uBAAA,SAAApmF,GACA,IAAArP,EAAAtO,KAAAwa,UAAAoN,QAAAjK,GACAijF,EAAA5gG,KAAAkF,iBAAA27F,UAAAvyF,GAEA,OAAAsyF,IAAAhhF,WAAA,IASAgwD,kBAAA,SAAAnqD,EAAAkyC,GACA,IAAArpD,EAAAtO,KAAA+gG,MAAAn5E,QAAAnC,GACAg9E,EAAAziG,KAAA0iG,eAAAp0F,GACAuhE,EAAA4yB,EAAAh9F,IAAA,WAAAkyD,EAAA,wDACA,MAAAkY,IACAA,EAAA4yB,EAAAh9F,IAAA,wBAEA,IAAAuf,EAAA,CACA1W,QAEA,uBAAAuhE,EAEA,OADA7qD,EAAA2yC,SACAkY,EAAA7qD,GAEA,qBAAA6qD,EAAA,CACA,IAAAqxF,EAAAl8I,EAAA6C,WACA,OAAAgoD,EAAAtlE,QAAA,MAAyC,MAAA22J,IAAA,IAGzC,OAAA5yJ,GAIAwU,cAAA,CAMA64F,QAAA,MAIA/+E,EAAAr0B,EAAAqpB,KAAAzmB,MAAAy1J,EAAA3gK,UAAA0gK,EAAA,MAEA/jI,EAAAr0B,EAAAqpB,KAAAzmB,MAAAy1J,EAAA3gK,UAAAo5I,EAAA,MACAz8G,EAAAr0B,EAAAqpB,KAAAzmB,MAAAy1J,EAAA3gK,UAAAq5I,EAAA,MACA18G,EAAAr0B,EAAAqpB,KAAAzmB,MAAAy1J,EAAA3gK,UAAAs5I,EAAA,MACA38G,EAAAr0B,EAAAqpB,KAAAzmB,MAAAy1J,EAAA3gK,UAAAygK,EAAA,OAMA,SAAAh+J,EAAAwrB,EAAArvB,GAEA,aACA,IAAAsiK,EAAAtiK,EAAA,IACA+mE,EAAA/mE,EAAA,GACAgnE,EAAAhnE,EAAAgvB,EAAA+3C,GACAw7F,EAAAviK,EAAA,GACAwiK,EAAAxiK,EAAA,IACAyiK,EAAAziK,EAAA,IAQAgnE,EAAAt9D,EAAA4xI,oBAAA,CAEAh6I,KAAA,QAEAsmH,UAAA,EAEAvjG,KAAA,SAAA3I,EAAAxV,GAEA/E,KAAAuhK,cAAA,IAAAJ,EAAA,KAAAp8J,GACA/E,KAAA8mH,QAAA,IAAAs6C,EAAA,KAAA9tI,KAEAtzB,KAAA4tE,WAAA,IAAAwzF,EAAA,KAAA9tI,KACAtzB,KAAAk7I,aAAA,IAAAomB,EAAA,KAAAthK,KAAA4tE,YACA5tE,KAAAk7I,aAAAvtE,UAAA3tE,KAAA4tE,YAEA5tE,KAAAy6I,SAAA,IAAA4mB,EAAA,MACAltJ,GAAApP,EAAA2sB,UAEA1xB,KAAAy6I,SAAAv3H,QAGAgwC,OAAA,SAAA6qD,EAAAxjG,EAAAxV,GACA/E,KAAA8mH,QAAAvpF,IAAAv9B,KAAAuhK,cAAA/jG,UAEA,IAAAimC,EAAAsa,EAAA74G,iBAEA,GAAAu+F,KAAAv0B,OAAA,CAKAu0B,EAAAv0B,OAAA3xC,IAAAv9B,KAAA4tE,YAEAmwC,EAAAt4G,IAAA,QACAg+F,EAAAv0B,OAAA3xC,IAAAv9B,KAAA8mH,SAGArjB,EAAAv0B,OAAA1iE,OAAAxM,KAAA8mH,SAGA,IAAAu0B,EAAAr7I,KAAAy6I,SACAY,EAAAv8D,UAAA2kB,EAAAv0B,QAEA,IAAA+P,EAAA8+B,EAAApjF,SAAA,eACA0gH,EAAAr8D,wBAAAC,EAAA,GAEAj/E,KAAAk7I,aAAA3tE,SAAAk2B,EAAAv0B,OAAA3R,OACAv9D,KAAAk7I,aAAAltE,YAAA+vC,GAGAta,EAAAv0B,OAAArN,cAAAk8C,EAAApjF,SAAA,cAAA51B,GACA0+F,EAAAv0B,OAAAnL,yBAAAg6C,EAAApjF,SAAA,0BAGA36B,KAAAuhK,cAAAh1I,OAAAwxF,EAAAxjG,EAAAxV,EAAA,EAAAg5G,EAAAvjG,UAAAb,SACA,IAAAw1D,EAAAs0B,EAAAv0B,OAAAjL,gBAAA,oBACAjkE,KAAAuhK,cAAA/jG,SAAArrC,SAAA,SAAAigC,GACAA,EAAAv/B,UACAu/B,EAAAv/B,SAAAs8C,GAAA,4BAIAksE,EAAAxlI,IAAA,UACAwlI,EAAAzlI,GAAA,oBACA7Q,EAAAqoG,eAAA,CACAjtG,KAAA,oBACAm5B,MAAA+hH,EAAA98D,WACAhlD,KAAA8hH,EAAA78D,UACAhvE,SAAA6rI,EAAAn9D,cACAhiE,OAAAm/H,EAAA58D,YACAp2B,KAAAroD,KAAAgqB,IACAw3I,QAAAzjD,EAAA9xF,OAGAovH,EAAA9uH,WAGA0gE,YAAA,SAAA8wB,EAAAxjG,EAAAxV,EAAA2hH,GACA,IAAAtvF,EAAAsvF,EAAAtvF,SACAp3B,KAAAk7I,aAAA7sE,qBAAAj3C,EAAA2mF,EAAAh5G,GAEA/E,KAAAk7I,aAAAtsE,aAAAx3C,EAAA2mF,EAAAh5G,IAGA+Q,QAAA,WACA9V,KAAAy6I,SAAA3kI,cAMA,SAAApT,EAAAwrB,EAAArvB,GAEA,aAKA,SAAA4iK,EAAAl2J,EAAAm2J,EAAApmJ,GAEAA,KAAA,EAEA,IAOAqmJ,EAAAC,EAAAzrD,EAAAC,EAAAp0G,EAAAC,EAAAgZ,EAPA4mJ,EAAAH,KAAAn+J,OACAu+J,EAAAD,EAAAH,EAAA,GAAApmJ,EAAA/P,EAAAhI,OACAw+J,EAAAC,EAAAz2J,EAAA,EAAAu2J,EAAAxmJ,GAAA,GACA4oF,EAAA,GAEA,IAAA69D,EAAA,OAAA79D,EAOA,GAHA29D,IAAAE,EAAAE,EAAA12J,EAAAm2J,EAAAK,EAAAzmJ,IAGA/P,EAAAhI,OAAA,GAAA+X,EAAA,CACAqmJ,EAAAxrD,EAAA5qG,EAAA,GACAq2J,EAAAxrD,EAAA7qG,EAAA,GAEA,QAAAR,EAAAuQ,EAAyBvQ,EAAA+2J,EAAc/2J,GAAAuQ,EACvCtZ,EAAAuJ,EAAAR,GACA9I,EAAAsJ,EAAAR,EAAA,GACA/I,EAAA2/J,MAAA3/J,GACAC,EAAA2/J,MAAA3/J,GACAD,EAAAm0G,MAAAn0G,GACAC,EAAAm0G,MAAAn0G,GAIAgZ,EAAAvU,KAAAS,IAAAgvG,EAAAwrD,EAAAvrD,EAAAwrD,GAKA,OAFAM,EAAAH,EAAA79D,EAAA5oF,EAAAqmJ,EAAAC,EAAA3mJ,GAEAipF,EAIA,SAAA89D,EAAAz2J,EAAA6gB,EAAA7C,EAAAjO,EAAAyD,GACA,IAAAhU,EAAAo3J,EAEA,GAAApjJ,IAAAqjJ,EAAA72J,EAAA6gB,EAAA7C,EAAAjO,GAAA,EACA,IAAAvQ,EAAAqhB,EAAuBrhB,EAAAwe,EAASxe,GAAAuQ,EAAA6mJ,EAAAE,EAAAt3J,EAAAQ,EAAAR,GAAAQ,EAAAR,EAAA,GAAAo3J,QAEhC,IAAAp3J,EAAAwe,EAAAjO,EAA2BvQ,GAAAqhB,EAAYrhB,GAAAuQ,EAAA6mJ,EAAAE,EAAAt3J,EAAAQ,EAAAR,GAAAQ,EAAAR,EAAA,GAAAo3J,GAQvC,OALAA,GAAAG,EAAAH,IAAAp+J,QACAqvJ,EAAA+O,GACAA,IAAAp+J,MAGAo+J,EAIA,SAAAI,EAAAn2I,EAAA7C,GACA,IAAA6C,EAAA,OAAAA,EACA7C,MAAA6C,GAEA,IACAo2I,EADA1hJ,EAAAsL,EAEA,GAGA,GAFAo2I,GAAA,EAEA1hJ,EAAA2hJ,UAAAH,EAAAxhJ,IAAA/c,OAAA,IAAA2+J,EAAA5hJ,EAAAvU,KAAAuU,IAAA/c,MAOA+c,IAAA/c,SAPA,CAGA,GAFAqvJ,EAAAtyI,GACAA,EAAAyI,EAAAzI,EAAAvU,KACAuU,MAAA/c,KAAA,YACAy+J,GAAA,SAKKA,GAAA1hJ,IAAAyI,GAEL,OAAAA,EAIA,SAAA24I,EAAAS,EAAAz+D,EAAA5oF,EAAAqmJ,EAAAC,EAAA3mJ,EAAA2rE,GACA,GAAA+7E,EAAA,EAGA/7E,GAAA3rE,GAAA2nJ,EAAAD,EAAAhB,EAAAC,EAAA3mJ,GAEA,IACA1O,EAAAxI,EADAmT,EAAAyrJ,EAIA,MAAAA,EAAAp2J,OAAAo2J,EAAA5+J,KAIA,GAHAwI,EAAAo2J,EAAAp2J,KACAxI,EAAA4+J,EAAA5+J,KAEAkX,EAAA4nJ,EAAAF,EAAAhB,EAAAC,EAAA3mJ,GAAA6nJ,EAAAH,GAEAz+D,EAAAvxF,KAAApG,EAAAxB,EAAAuQ,GACA4oF,EAAAvxF,KAAAgwJ,EAAA53J,EAAAuQ,GACA4oF,EAAAvxF,KAAA5O,EAAAgH,EAAAuQ,GAEA83I,EAAAuP,GAGAA,EAAA5+J,OACAmT,EAAAnT,YAQA,GAHA4+J,EAAA5+J,EAGA4+J,IAAAzrJ,EAAA,CAEA0vE,EAIa,IAAAA,GACb+7E,EAAAI,EAAAJ,EAAAz+D,EAAA5oF,GACA4mJ,EAAAS,EAAAz+D,EAAA5oF,EAAAqmJ,EAAAC,EAAA3mJ,EAAA,IAGa,IAAA2rE,GACbo8E,EAAAL,EAAAz+D,EAAA5oF,EAAAqmJ,EAAAC,EAAA3mJ,GATAinJ,EAAAK,EAAAI,GAAAz+D,EAAA5oF,EAAAqmJ,EAAAC,EAAA3mJ,EAAA,GAYA,QAMA,SAAA6nJ,EAAAH,GACA,IAAAp6J,EAAAo6J,EAAAp2J,KACA/D,EAAAm6J,EACAl6J,EAAAk6J,EAAA5+J,KAEA,GAAA2+J,EAAAn6J,EAAAC,EAAAC,IAAA,WAGA,IAAAqY,EAAA6hJ,EAAA5+J,UAEA,MAAA+c,IAAA6hJ,EAAAp2J,KAAA,CACA,GAAA02J,EAAA16J,EAAAvG,EAAAuG,EAAAtG,EAAAuG,EAAAxG,EAAAwG,EAAAvG,EAAAwG,EAAAzG,EAAAyG,EAAAxG,EAAA6e,EAAA9e,EAAA8e,EAAA7e,IACAygK,EAAA5hJ,EAAAvU,KAAAuU,IAAA/c,OAAA,WACA+c,IAAA/c,KAGA,SAGA,SAAA8+J,EAAAF,EAAAhB,EAAAC,EAAA3mJ,GACA,IAAA1S,EAAAo6J,EAAAp2J,KACA/D,EAAAm6J,EACAl6J,EAAAk6J,EAAA5+J,KAEA,GAAA2+J,EAAAn6J,EAAAC,EAAAC,IAAA,WAGA,IAAAy6J,EAAA36J,EAAAvG,EAAAwG,EAAAxG,EAAAuG,EAAAvG,EAAAyG,EAAAzG,EAAAuG,EAAAvG,EAAAyG,EAAAzG,EAAAwG,EAAAxG,EAAAyG,EAAAzG,EAAAwG,EAAAxG,EAAAyG,EAAAzG,EACAmhK,EAAA56J,EAAAtG,EAAAuG,EAAAvG,EAAAsG,EAAAtG,EAAAwG,EAAAxG,EAAAsG,EAAAtG,EAAAwG,EAAAxG,EAAAuG,EAAAvG,EAAAwG,EAAAxG,EAAAuG,EAAAvG,EAAAwG,EAAAxG,EACAmhK,EAAA76J,EAAAvG,EAAAwG,EAAAxG,EAAAuG,EAAAvG,EAAAyG,EAAAzG,EAAAuG,EAAAvG,EAAAyG,EAAAzG,EAAAwG,EAAAxG,EAAAyG,EAAAzG,EAAAwG,EAAAxG,EAAAyG,EAAAzG,EACAqhK,EAAA96J,EAAAtG,EAAAuG,EAAAvG,EAAAsG,EAAAtG,EAAAwG,EAAAxG,EAAAsG,EAAAtG,EAAAwG,EAAAxG,EAAAuG,EAAAvG,EAAAwG,EAAAxG,EAAAuG,EAAAvG,EAAAwG,EAAAxG,EAGAqhK,EAAAC,EAAAL,EAAAC,EAAAxB,EAAAC,EAAA3mJ,GACAuoJ,EAAAD,EAAAH,EAAAC,EAAA1B,EAAAC,EAAA3mJ,GAGA6F,EAAA6hJ,EAAAc,MAEA,MAAA3iJ,KAAAqc,GAAAqmI,EAAA,CACA,GAAA1iJ,IAAA6hJ,EAAAp2J,MAAAuU,IAAA6hJ,EAAA5+J,MACAk/J,EAAA16J,EAAAvG,EAAAuG,EAAAtG,EAAAuG,EAAAxG,EAAAwG,EAAAvG,EAAAwG,EAAAzG,EAAAyG,EAAAxG,EAAA6e,EAAA9e,EAAA8e,EAAA7e,IACAygK,EAAA5hJ,EAAAvU,KAAAuU,IAAA/c,OAAA,WACA+c,IAAA2iJ,MAIA3iJ,EAAA6hJ,EAAAe,MAEA,MAAA5iJ,KAAAqc,GAAAmmI,EAAA,CACA,GAAAxiJ,IAAA6hJ,EAAAp2J,MAAAuU,IAAA6hJ,EAAA5+J,MACAk/J,EAAA16J,EAAAvG,EAAAuG,EAAAtG,EAAAuG,EAAAxG,EAAAwG,EAAAvG,EAAAwG,EAAAzG,EAAAyG,EAAAxG,EAAA6e,EAAA9e,EAAA8e,EAAA7e,IACAygK,EAAA5hJ,EAAAvU,KAAAuU,IAAA/c,OAAA,WACA+c,IAAA4iJ,MAGA,SAIA,SAAAX,EAAA32I,EAAA83E,EAAA5oF,GACA,IAAAwF,EAAAsL,EACA,GACA,IAAA7jB,EAAAuY,EAAAvU,KACA/D,EAAAsY,EAAA/c,WAEAu+J,EAAA/5J,EAAAC,IAAAm7J,EAAAp7J,EAAAuY,IAAA/c,KAAAyE,IAAAo7J,EAAAr7J,EAAAC,IAAAo7J,EAAAp7J,EAAAD,KAEA27F,EAAAvxF,KAAApK,EAAAwC,EAAAuQ,GACA4oF,EAAAvxF,KAAAmO,EAAA/V,EAAAuQ,GACA4oF,EAAAvxF,KAAAnK,EAAAuC,EAAAuQ,GAGA83I,EAAAtyI,GACAsyI,EAAAtyI,EAAA/c,MAEA+c,EAAAsL,EAAA5jB,GAEAsY,IAAA/c,WACK+c,IAAAsL,GAEL,OAAAtL,EAIA,SAAAkiJ,EAAA52I,EAAA83E,EAAA5oF,EAAAqmJ,EAAAC,EAAA3mJ,GAEA,IAAA1S,EAAA6jB,EACA,GACA,IAAA5jB,EAAAD,EAAAxE,UACA,MAAAyE,IAAAD,EAAAgE,KAAA,CACA,GAAAhE,EAAAwC,IAAAvC,EAAAuC,GAAA84J,EAAAt7J,EAAAC,GAAA,CAEA,IAAAC,EAAAq7J,EAAAv7J,EAAAC,GASA,OANAD,EAAAg6J,EAAAh6J,IAAAxE,MACA0E,EAAA85J,EAAA95J,IAAA1E,MAGAm+J,EAAA35J,EAAA27F,EAAA5oF,EAAAqmJ,EAAAC,EAAA3mJ,QACAinJ,EAAAz5J,EAAAy7F,EAAA5oF,EAAAqmJ,EAAAC,EAAA3mJ,GAGAzS,IAAAzE,KAEAwE,IAAAxE,WACKwE,IAAA6jB,GAIL,SAAA61I,EAAA12J,EAAAm2J,EAAAK,EAAAzmJ,GACA,IACAvQ,EAAA0B,EAAA2f,EAAA7C,EAAApc,EADA42J,EAAA,GAGA,IAAAh5J,EAAA,EAAA0B,EAAAi1J,EAAAn+J,OAAyCwH,EAAA0B,EAAS1B,IAClDqhB,EAAAs1I,EAAA32J,GAAAuQ,EACAiO,EAAAxe,EAAA0B,EAAA,EAAAi1J,EAAA32J,EAAA,GAAAuQ,EAAA/P,EAAAhI,OACA4J,EAAA60J,EAAAz2J,EAAA6gB,EAAA7C,EAAAjO,GAAA,GACAnO,MAAApJ,OAAAoJ,EAAAs1J,SAAA,GACAsB,EAAApxJ,KAAAqxJ,EAAA72J,IAMA,IAHA42J,EAAA9tI,KAAAguI,GAGAl5J,EAAA,EAAeA,EAAAg5J,EAAAxgK,OAAkBwH,IACjCm5J,EAAAH,EAAAh5J,GAAAg3J,GACAA,EAAAQ,EAAAR,IAAAh+J,MAGA,OAAAg+J,EAGA,SAAAkC,EAAA17J,EAAAC,GACA,OAAAD,EAAAvG,EAAAwG,EAAAxG,EAIA,SAAAkiK,EAAAC,EAAApC,GAEA,GADAA,EAAAqC,EAAAD,EAAApC,GACAA,EAAA,CACA,IAAAv5J,EAAAs7J,EAAA/B,EAAAoC,GACA5B,EAAA/5J,IAAAzE,OAKA,SAAAqgK,EAAAD,EAAApC,GACA,IAIAx0I,EAJAzM,EAAAihJ,EACAsC,EAAAF,EAAAniK,EACAsiK,EAAAH,EAAAliK,EACAojD,GAAAvrC,IAKA,GACA,GAAAwqJ,GAAAxjJ,EAAA7e,GAAAqiK,GAAAxjJ,EAAA/c,KAAA9B,GAAA6e,EAAA/c,KAAA9B,IAAA6e,EAAA7e,EAAA,CACA,IAAAD,EAAA8e,EAAA9e,GAAAsiK,EAAAxjJ,EAAA7e,IAAA6e,EAAA/c,KAAA/B,EAAA8e,EAAA9e,IAAA8e,EAAA/c,KAAA9B,EAAA6e,EAAA7e,GACA,GAAAD,GAAAqiK,GAAAriK,EAAAqjD,EAAA,CAEA,GADAA,EAAArjD,EACAA,IAAAqiK,EAAA,CACA,GAAAC,IAAAxjJ,EAAA7e,EAAA,OAAA6e,EACA,GAAAwjJ,IAAAxjJ,EAAA/c,KAAA9B,EAAA,OAAA6e,EAAA/c,KAEAwpB,EAAAzM,EAAA9e,EAAA8e,EAAA/c,KAAA/B,EAAA8e,IAAA/c,MAGA+c,IAAA/c,WACK+c,IAAAihJ,GAEL,IAAAx0I,EAAA,YAEA,GAAA82I,IAAAh/G,EAAA,OAAA93B,EAAAhhB,KAMA,IAIAkvD,EAJAvkD,EAAAqW,EACAg3I,EAAAh3I,EAAAvrB,EACAwiK,EAAAj3I,EAAAtrB,EACAwiK,EAAA3qJ,IAGAgH,EAAAyM,EAAAxpB,KAEA,MAAA+c,IAAA5J,EACAmtJ,GAAAvjJ,EAAA9e,GAAA8e,EAAA9e,GAAAuiK,GAAAF,IAAAvjJ,EAAA9e,GACAihK,EAAAqB,EAAAE,EAAAH,EAAAh/G,EAAAi/G,EAAAC,EAAAC,EAAAF,EAAAE,EAAAn/G,EAAAg/G,EAAAC,EAAAxjJ,EAAA9e,EAAA8e,EAAA7e,KAEAw5D,EAAA/0D,KAAAiR,IAAA2sJ,EAAAxjJ,EAAA7e,IAAAoiK,EAAAvjJ,EAAA9e,IAEAy5D,EAAAgpG,GAAAhpG,IAAAgpG,GAAA3jJ,EAAA9e,EAAAurB,EAAAvrB,IAAA4hK,EAAA9iJ,EAAAqjJ,KACA52I,EAAAzM,EACA2jJ,EAAAhpG,IAIA36C,IAAA/c,KAGA,OAAAwpB,EAIA,SAAAq1I,EAAAx2I,EAAAu1I,EAAAC,EAAA3mJ,GACA,IAAA6F,EAAAsL,EACA,GACA,OAAAtL,EAAAqc,IAAArc,EAAAqc,EAAAomI,EAAAziJ,EAAA9e,EAAA8e,EAAA7e,EAAA0/J,EAAAC,EAAA3mJ,IACA6F,EAAA4iJ,MAAA5iJ,EAAAvU,KACAuU,EAAA2iJ,MAAA3iJ,EAAA/c,KACA+c,IAAA/c,WACK+c,IAAAsL,GAELtL,EAAA4iJ,MAAAD,MAAA,KACA3iJ,EAAA4iJ,MAAA,KAEAgB,EAAA5jJ,GAKA,SAAA4jJ,EAAAv3J,GACA,IAAApC,EAAA+V,EAAA8d,EAAAzoB,EAAAnK,EAAA24J,EAAAC,EAAAC,EACAC,EAAA,EAEA,GACAhkJ,EAAA3T,EACAA,EAAA,KACAnB,EAAA,KACA24J,EAAA,EAEA,MAAA7jJ,EAAA,CAIA,IAHA6jJ,IACA/lI,EAAA9d,EACA8jJ,EAAA,EACA75J,EAAA,EAAuBA,EAAA+5J,EAAY/5J,IAGnC,GAFA65J,IACAhmI,IAAA6kI,OACA7kI,EAAA,MAEAimI,EAAAC,EAEA,MAAAF,EAAA,GAAAC,EAAA,GAAAjmI,EAEA,IAAAgmI,IAAA,IAAAC,IAAAjmI,GAAA9d,EAAAqc,GAAAyB,EAAAzB,IACAhnB,EAAA2K,EACAA,IAAA2iJ,MACAmB,MAEAzuJ,EAAAyoB,EACAA,IAAA6kI,MACAoB,KAGA74J,IAAAy3J,MAAAttJ,EACAhJ,EAAAgJ,EAEAA,EAAAutJ,MAAA13J,EACAA,EAAAmK,EAGA2K,EAAA8d,EAGA5yB,EAAAy3J,MAAA,KACAqB,GAAA,QAEKH,EAAA,GAEL,OAAAx3J,EAIA,SAAAo2J,EAAAvhK,EAAAC,EAAA0/J,EAAAC,EAAA3mJ,GAeA,OAbAjZ,EAAA,OAAAA,EAAA2/J,GAAA1mJ,EACAhZ,EAAA,OAAAA,EAAA2/J,GAAA3mJ,EAEAjZ,EAAA,UAAAA,KAAA,GACAA,EAAA,WAAAA,KAAA,GACAA,EAAA,WAAAA,KAAA,GACAA,EAAA,YAAAA,KAAA,GAEAC,EAAA,UAAAA,KAAA,GACAA,EAAA,WAAAA,KAAA,GACAA,EAAA,WAAAA,KAAA,GACAA,EAAA,YAAAA,KAAA,GAEAD,EAAAC,GAAA,EAIA,SAAA+hK,EAAA53I,GACA,IAAAtL,EAAAsL,EACA24I,EAAA34I,EACA,GACAtL,EAAA9e,EAAA+iK,EAAA/iK,IAAA+iK,EAAAjkJ,GACAA,IAAA/c,WACK+c,IAAAsL,GAEL,OAAA24I,EAIA,SAAA9B,EAAAn+G,EAAAC,EAAAE,EAAAC,EAAAzmC,EAAAC,EAAA0sD,EAAAE,GACA,OAAA7sD,EAAA2sD,IAAArmB,EAAAumB,IAAAxmB,EAAAsmB,IAAA1sD,EAAA4sD,IAAA,IACAxmB,EAAAsmB,IAAAlmB,EAAAomB,IAAArmB,EAAAmmB,IAAArmB,EAAAumB,IAAA,IACArmB,EAAAmmB,IAAA1sD,EAAA4sD,IAAA7sD,EAAA2sD,IAAAlmB,EAAAomB,IAAA,EAIA,SAAAu4F,EAAAt7J,EAAAC,GACA,OAAAD,EAAAxE,KAAAgH,IAAAvC,EAAAuC,GAAAxC,EAAAgE,KAAAxB,IAAAvC,EAAAuC,IAAAi6J,EAAAz8J,EAAAC,IACAo7J,EAAAr7J,EAAAC,IAAAo7J,EAAAp7J,EAAAD,IAAA08J,EAAA18J,EAAAC,GAIA,SAAAk6J,EAAA5hJ,EAAA8d,EAAAhgB,GACA,OAAAggB,EAAA38B,EAAA6e,EAAA7e,IAAA2c,EAAA5c,EAAA48B,EAAA58B,IAAA48B,EAAA58B,EAAA8e,EAAA9e,IAAA4c,EAAA3c,EAAA28B,EAAA38B,GAIA,SAAAqgK,EAAAhmJ,EAAAC,GACA,OAAAD,EAAAta,IAAAua,EAAAva,GAAAsa,EAAAra,IAAAsa,EAAAta,EAIA,SAAA0hK,EAAArnJ,EAAA4oJ,EAAA3oJ,EAAA4oJ,GACA,SAAA7C,EAAAhmJ,EAAA4oJ,IAAA5C,EAAA/lJ,EAAA4oJ,IACA7C,EAAAhmJ,EAAA6oJ,IAAA7C,EAAA/lJ,EAAA2oJ,KACAxC,EAAApmJ,EAAA4oJ,EAAA3oJ,GAAA,IAAAmmJ,EAAApmJ,EAAA4oJ,EAAAC,GAAA,GACAzC,EAAAnmJ,EAAA4oJ,EAAA7oJ,GAAA,IAAAomJ,EAAAnmJ,EAAA4oJ,EAAAD,GAAA,EAIA,SAAAF,EAAAz8J,EAAAC,GACA,IAAAsY,EAAAvY,EACA,GACA,GAAAuY,EAAA/V,IAAAxC,EAAAwC,GAAA+V,EAAA/c,KAAAgH,IAAAxC,EAAAwC,GAAA+V,EAAA/V,IAAAvC,EAAAuC,GAAA+V,EAAA/c,KAAAgH,IAAAvC,EAAAuC,GACA44J,EAAA7iJ,IAAA/c,KAAAwE,EAAAC,GAAA,SACAsY,IAAA/c,WACK+c,IAAAvY,GAEL,SAIA,SAAAq7J,EAAAr7J,EAAAC,GACA,OAAAk6J,EAAAn6J,EAAAgE,KAAAhE,IAAAxE,MAAA,EACA2+J,EAAAn6J,EAAAC,EAAAD,EAAAxE,OAAA,GAAA2+J,EAAAn6J,IAAAgE,KAAA/D,IAAA,EACAk6J,EAAAn6J,EAAAC,EAAAD,EAAAgE,MAAA,GAAAm2J,EAAAn6J,IAAAxE,KAAAyE,GAAA,EAIA,SAAAy8J,EAAA18J,EAAAC,GACA,IAAAsY,EAAAvY,EACA+nG,GAAA,EACAllC,GAAA7iE,EAAAvG,EAAAwG,EAAAxG,GAAA,EACAspE,GAAA/iE,EAAAtG,EAAAuG,EAAAvG,GAAA,EACA,GACA6e,EAAA7e,EAAAqpE,IAAAxqD,EAAA/c,KAAA9B,EAAAqpE,GAAAxqD,EAAA/c,KAAA9B,IAAA6e,EAAA7e,GACAmpE,GAAAtqD,EAAA/c,KAAA/B,EAAA8e,EAAA9e,IAAAspE,EAAAxqD,EAAA7e,IAAA6e,EAAA/c,KAAA9B,EAAA6e,EAAA7e,GAAA6e,EAAA9e,IACAsuG,MACAxvF,IAAA/c,WACK+c,IAAAvY,GAEL,OAAA+nG,EAKA,SAAAwzD,EAAAv7J,EAAAC,GACA,IAAAqvF,EAAA,IAAAvkE,EAAA/qB,EAAAwC,EAAAxC,EAAAvG,EAAAuG,EAAAtG,GACAi4D,EAAA,IAAA5mC,EAAA9qB,EAAAuC,EAAAvC,EAAAxG,EAAAwG,EAAAvG,GACAmjK,EAAA78J,EAAAxE,KACAshK,EAAA78J,EAAA+D,KAcA,OAZAhE,EAAAxE,KAAAyE,EACAA,EAAA+D,KAAAhE,EAEAsvF,EAAA9zF,KAAAqhK,EACAA,EAAA74J,KAAAsrF,EAEA39B,EAAAn2D,KAAA8zF,EACAA,EAAAtrF,KAAA2tD,EAEAmrG,EAAAthK,KAAAm2D,EACAA,EAAA3tD,KAAA84J,EAEAnrG,EAIA,SAAAmoG,EAAAt3J,EAAA/I,EAAAC,EAAAkgK,GACA,IAAArhJ,EAAA,IAAAwS,EAAAvoB,EAAA/I,EAAAC,GAYA,OAVAkgK,GAKArhJ,EAAA/c,KAAAo+J,EAAAp+J,KACA+c,EAAAvU,KAAA41J,EACAA,EAAAp+J,KAAAwI,KAAAuU,EACAqhJ,EAAAp+J,KAAA+c,IAPAA,EAAAvU,KAAAuU,EACAA,EAAA/c,KAAA+c,GAQAA,EAGA,SAAAsyI,EAAAtyI,GACAA,EAAA/c,KAAAwI,KAAAuU,EAAAvU,KACAuU,EAAAvU,KAAAxI,KAAA+c,EAAA/c,KAEA+c,EAAA4iJ,QAAA5iJ,EAAA4iJ,MAAAD,MAAA3iJ,EAAA2iJ,OACA3iJ,EAAA2iJ,QAAA3iJ,EAAA2iJ,MAAAC,MAAA5iJ,EAAA4iJ,OAGA,SAAApwI,EAAAvoB,EAAA/I,EAAAC,GAEAjC,KAAA+K,IAGA/K,KAAAgC,IACAhC,KAAAiC,IAGAjC,KAAAuM,KAAA,KACAvM,KAAA+D,KAAA,KAGA/D,KAAAm9B,EAAA,KAGAn9B,KAAA0jK,MAAA,KACA1jK,KAAAyjK,MAAA,KAGAzjK,KAAAyiK,SAAA,EAgCA,SAAAL,EAAA72J,EAAA6gB,EAAA7C,EAAAjO,GAEA,IADA,IAAA5B,EAAA,EACA3O,EAAAqhB,EAAA1b,EAAA6Y,EAAAjO,EAAsCvQ,EAAAwe,EAASxe,GAAAuQ,EAC/C5B,IAAAnO,EAAAmF,GAAAnF,EAAAR,KAAAQ,EAAAR,EAAA,GAAAQ,EAAAmF,EAAA,IACAA,EAAA3F,EAEA,OAAA2O,EAtmBAwU,EAAA,OAqkBAuzI,EAAA6D,UAAA,SAAA/5J,EAAAm2J,EAAApmJ,EAAA4oF,GACA,IAAA29D,EAAAH,KAAAn+J,OACAu+J,EAAAD,EAAAH,EAAA,GAAApmJ,EAAA/P,EAAAhI,OAEAgiK,EAAA7+J,KAAAiR,IAAAyqJ,EAAA72J,EAAA,EAAAu2J,EAAAxmJ,IACA,GAAAumJ,EACA,QAAA92J,EAAA,EAAA0B,EAAAi1J,EAAAn+J,OAAiDwH,EAAA0B,EAAS1B,IAAA,CAC1D,IAAAqhB,EAAAs1I,EAAA32J,GAAAuQ,EACAiO,EAAAxe,EAAA0B,EAAA,EAAAi1J,EAAA32J,EAAA,GAAAuQ,EAAA/P,EAAAhI,OACAgiK,GAAA7+J,KAAAiR,IAAAyqJ,EAAA72J,EAAA6gB,EAAA7C,EAAAjO,IAIA,IAAAkqJ,EAAA,EACA,IAAAz6J,EAAA,EAAeA,EAAAm5F,EAAA3gG,OAAsBwH,GAAA,GACrC,IAAAxC,EAAA27F,EAAAn5F,GAAAuQ,EACA9S,EAAA07F,EAAAn5F,EAAA,GAAAuQ,EACA7S,EAAAy7F,EAAAn5F,EAAA,GAAAuQ,EACAkqJ,GAAA9+J,KAAAiR,KACApM,EAAAhD,GAAAgD,EAAA9C,KAAA8C,EAAA/C,EAAA,GAAA+C,EAAAhD,EAAA,KACAgD,EAAAhD,GAAAgD,EAAA/C,KAAA+C,EAAA9C,EAAA,GAAA8C,EAAAhD,EAAA,KAGA,WAAAg9J,GAAA,IAAAC,EAAA,EACA9+J,KAAAiR,KAAA6tJ,EAAAD,QAcA,SAAA7iK,EAAAC,EAAA9D,GAEA,IAAAW,EAAAX,EAAA,IAoBA4mK,EAAA,CACAC,OAAA,QAEAC,KAAA,QACAC,KAAA,OACAC,KAAA,SAEAC,KAAA,OAGA,SAAArjK,EAAAujG,GACAxmG,EAAA2nB,KAAA6+E,EAAA2V,QAAA,SAAA/a,GACA,IAAAmlE,EAAAN,EAAA7kE,EAAAtyF,MAEA,GAAAy3J,EAAA,CACA,IAAAlmJ,EAAA+gF,EAAA1kF,OACA2D,EAAA,IAAAkmJ,EAAA,QACAlmJ,EAAA,KAAAkmJ,EAAA,SAKArjK,EAAAC,QAAAF,GAIA,SAAAC,EAAAC,EAAA9D,GAEA,IAAAW,EAAAX,EAAA,IAoBAmnK,EAAA,CACAC,OAAA,SACAC,gBAAA,SACAC,2BAAA,UAGA,SAAA1jK,EAAAujG,GACAxmG,EAAA2nB,KAAA6+E,EAAA2V,QAAA,SAAA/a,GACA,IAAAkgB,EAAAklD,EAAAplE,EAAAtyF,MAEA,GAAAwyG,EAAA,CACA,IAAAjhG,EAAA+gF,EAAA1kF,OACA2D,EAAA,GAAAihG,EAAA,GACAjhG,EAAA,GAAAihG,EAAA,MAKAp+G,EAAAC,QAAAF,GAIA,SAAAC,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA99B,EAAA,KACAA,EAAA,KACAA,EAAA,KAQA+9B,EAAAr0B,EAAA+jB,eAAA,CACAnsB,KAAA,oBACAgX,MAAA,qBACAoV,OAAA,uBACC,SAAAC,EAAAjS,GACDA,EAAA8kG,cAAA,CACArzF,SAAA,QAAAgqH,MAAAxpH,GACK,SAAAyhD,GACLA,EAAA0N,QAAAnvD,OAIAoQ,EAAAr0B,EAAA+jB,eAAA,CACAnsB,KAAA,yBACAgX,MAAA,2BACAoV,OAAA,UACC,SAAAC,EAAAjS,OAMD,SAAA7X,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA08G,EAAAx6I,EAAA,IACAy6I,EAAAz6I,EAAA,IACA06I,EAAA16I,EAAA,IACA6hK,EAAA7hK,EAAA,IAQA,SAAAunK,EAAAjjJ,EAAAxF,GACAwF,EAAA8I,GAAA9I,EAAA8I,IAAA9I,EAAA7U,MAAAqP,EAAA,GAEA,IAAA0oJ,EAAAzpI,EAAAr0B,EAAA4tI,qBAAA,CAEAh2I,KAAA,QAEA8iB,WAAA,MAEA/d,iBAAA,KAEAge,KAAA,WACAmjJ,EAAAC,WAAAtmK,KAAA,OAAA2I,WAEAi0B,EAAAr0B,EAAAqpB,KAAAzK,KAAAnnB,KAAAmjB,OAAA8jG,OAAA,SAAAs/C,EAAA5oJ,GACAif,EAAAr0B,EAAAqpB,KAAAzmB,MAAAo7J,EAAAvmK,KAAAwmK,oBACAJ,EAAAG,EAAA5oJ,IACS3d,OAGTykB,YAAA,SAAAtB,GAEA,IAAAsjJ,EAAAzmK,KAAAmjB,OAAA8jG,OAIA,SAAAy/C,EAAAz/C,GACA,OAAArqF,EAAAr0B,EAAAqpB,KAAAzL,OAAA8gG,EAAA,SAAAn8G,EAAAy7J,EAAA5oJ,GAGA,OAFAyoJ,EAAAG,EAAA5oJ,GACA7S,EAAAy7J,EAAAt6I,IAAAs6I,EACAz7J,GACa,IAEb,GAVA9K,KAAAmjB,OAAA8jG,OAAA,KACAo/C,EAAAC,WAAAtmK,KAAA,cAAA2I,WASA89J,KAAAljK,OAAA,CACA,IAAAojK,EAAAD,EAAAvjJ,EAAA8jG,QACA2/C,EAAAF,EAAAD,GACA,QAAAx6I,KAAA06I,EACAC,EAAA36I,GACA2Q,EAAAr0B,EAAAqpB,KAAAzmB,MAAAy7J,EAAA36I,GAAA06I,EAAA16I,IAAA,GAGAw6I,EAAA9zJ,KAAAwQ,EAAA8jG,OAAAh7F,IAIAjsB,KAAAmjB,OAAA8jG,OAAAw/C,EAKA7pI,EAAAr0B,EAAAqpB,KAAAzK,KAAAnnB,KAAAmjB,OAAA8jG,OAAA,SAAAs/C,GACA3pI,EAAAr0B,EAAAqpB,KAAAzmB,MAAAo7J,EAAAvmK,KAAAwmK,qBACSxmK,OAGTo3I,cAAA,WACAp3I,KAAA6mK,0BAGAL,mBAAA,CACAtqD,MAAA,EACA/7G,KAAA,WAGA2iB,cAAA,CAEAo5F,MAAA,EAEAC,QAAA,GAGA7sE,KAAA,EACAG,IAAA,EACAntC,MAAA,OACAC,OAAA,OAEAg6G,YAAA,OAEAuqD,UAAA,OAGAC,YAAA,GAGAC,cAAA,GAGAC,oBAAA,GAEAC,kBAAA,EAGAC,oBAAA,SAGAC,YAAA,IAGAC,iBAAA,IAGA5sI,QAAA,UAGAirC,MAAA,CAEAsH,KAAA,CAEAj1C,KAAA,KAQA0iD,YAAA,CACAC,YAAA,EAEAO,eAAA,EAEAqsF,YAAA,MAkBArgD,OAAA,IAGAsgD,oBAAA,SAAAh8J,EAAAjJ,EAAAC,GACAvC,KAAAwnK,iBAAAj8J,EACAvL,KAAAynK,kBAAAnlK,EACAtC,KAAA0nK,mBAAAnlK,GAGAolK,uBAAA,WACA,OAAA3nK,KAAAyF,IAAA,wBAAAzF,KAAAyF,IAAA,kBAGAmiK,oBAAA,WACA,IAAAX,EAAAjnK,KAAA2nK,yBACAT,EAAAlnK,KAAAyF,IAAA,qBAIA,OAHAwhK,GAAA,SAAAA,IACAC,EAAA,GAEAA,GAGAW,gBAAA,WACA,OAAA7nK,KAAA4nK,sBAAA,GAGAE,sBAAA,EAEAC,mBAAA,EAEAlB,uBAAA,WACA,IAAAI,EAAAjnK,KAAA2nK,yBACAT,EAAAlnK,KAAA4nK,sBAEA5nK,KAAA8nK,qBACA9nK,KAAAgoK,uBAAAf,GACAjnK,KAAA+nK,qBAAAb,EAEAlnK,KAAAgoK,qBAAAf,EACAjnK,KAAA+nK,mBAAAb,GAGAe,sBAAA,WACA,OAAAjoK,KAAA8nK,wBAIAlrI,EAAAr0B,EAAAqpB,KAAAzmB,MAAAk7J,EAAApmK,UAAAo5I,EAAA,MACAz8G,EAAAr0B,EAAAqpB,KAAAzmB,MAAAk7J,EAAApmK,UAAAq5I,EAAA,MACA18G,EAAAr0B,EAAAqpB,KAAAzmB,MAAAk7J,EAAApmK,UAAAs5I,EAAA,MACA38G,EAAAr0B,EAAAqpB,KAAAzmB,MAAAk7J,EAAApmK,UAAAygK,EAAA,OAMA,SAAAh+J,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAiiE,EAAA//F,EAAA,GACA+6I,EAAA/6I,EAAA,IACAqpK,EAAArpK,EAAA,IACAspK,EAAAtpK,EAAA,KACAwlJ,EAAAxlJ,EAAA,GAUA+9B,EAAAr0B,EAAA4xI,oBAAA,CAEAh6I,KAAA,QAEAsmH,UAAA,EAEAshD,mBAAA,EAEA7kJ,KAAA,SAAA3I,EAAAxV,GACA/E,KAAA8mH,QAAA,IAAAloB,EAAA,KAAAtrE,KAMAtzB,KAAAooK,gBAAA,IAAAxpE,EAAA,KAAA/qE,eAAA,CACAsmD,cAAA,IACAC,eAAA,IACAr4C,SAAA,IAEA/hC,KAAAqoK,iBAAA,IAAAzpE,EAAA,KAAA/qE,eAAA,CACAsmD,cAAA,GACAC,eAAA,KAMAp6E,KAAAsoK,eAAA,IAAA1pE,EAAA,KAAA9qE,cAKA9zB,KAAAuoK,WAAA,IAAA3pE,EAAA,KAAArrE,KAAA,CACAkuC,cAAA,IAGAzhE,KAAA4tE,WAAA,IAAAgxB,EAAA,KAAAtrE,KACAtzB,KAAAk7I,aAAA,IAAAgtB,EAAA,KACAloK,KAAAk7I,aAAAvtE,UAAA3tE,KAAA4tE,YAEA5tE,KAAA8mH,QAAAvpF,IAAAv9B,KAAAuoK,YAEAvoK,KAAAy6I,SAAA,IAAAb,EAAA,MACAzlI,GAAApP,EAAA2sB,UAGA1xB,KAAAy6I,SAAAv3H,OAEAljB,KAAAwoK,aAAA,IAGAt1G,OAAA,SAAAu1G,EAAAluJ,EAAAxV,GACA,IAAAE,EAAAwjK,EAAAvjK,iBACAu1B,EAAAguI,EAAAhjK,IAAA,WAGAR,EAAAiqE,OAAA3xC,IAAAv9B,KAAA4tE,YAEA66F,EAAAhjK,IAAA,QAEAR,EAAAiqE,OAAA3xC,IAAAv9B,KAAA8mH,SAGA7hH,EAAAiqE,OAAA1iE,OAAAxM,KAAA8mH,SAGA9mH,KAAAk7I,aAAA3tE,SAAAtoE,EAAAiqE,OAAA3R,OAGAt4D,EAAAiqE,OAAArN,cAAA4mG,EAAA9tI,SAAA,cAAA51B,GACAE,EAAAiqE,OAAAnL,yBAAA0kG,EAAA9tI,SAAA,0BAEA,IAAA+tI,EAAA1oK,KAAAuoK,WAEAG,EAAAzsI,SAAAj8B,KAAAooK,gBAEA,IAAAO,EAAA,QAAAluI,EACAiuI,EAAA71I,UAAA61I,EAAA71I,SAAAF,OAAArkB,OAAAq6J,IACAD,EAAA71I,SAAA+rE,EAAA,KAAAxkE,eAAAuuI,IAGA/pE,EAAA,KAAApkE,qBACAC,EAAAiuI,EAAA71I,SAAA41I,EAAA1jK,GAEA,wDAAA8F,QAAA,SAAA+9J,GACA,IAAAh2I,EAAA81I,EAAA71I,SAAAptB,IAAAmjK,GACAh2I,IACAA,EAAAkF,OAAA,KAIA4wI,EAAA71I,SAAAO,IAAA,QAAAwrE,EAAA,KAAA1lE,WACAuvI,EAAAhjK,IAAA,eAIA,IAAAsS,EAAA,IAAA9S,EAAAkX,OACAusJ,EAAA3wJ,MAAAqb,IAAArb,OAEA,IAAA8wJ,EAAAH,EAAA71I,SAAAN,gBAAA,aAAAk2I,EAAAhjK,IAAA,eAAAV,EAAA,CACA+yB,OAAA,EACAoD,YAAA,IAEA2tI,KAAAtyI,SACAsyI,EAAAtyI,QAAAwyG,aAAA2/B,GAIA,IAAAI,EAAAJ,EAAA71I,SAAAN,gBAAA,UAAAk2I,EAAAhjK,IAAA,iBAAAV,EAAA,CACA+yB,OAAA,EACAoD,YAAA,IAEA4tI,KAAAvyI,SACAuyI,EAAAvyI,QAAAwyG,aAAA2/B,GAGAA,EAAA71I,SAAA41I,EAAAhjK,IAAA,oEAEAzF,KAAA+oK,aAAAN,EAAA1jK,GAEA/E,KAAAgpK,kBAAAP,EAAA1jK,GAEA/E,KAAAipK,mBAAAR,EAAA1jK,GAEA/E,KAAAkpK,cAAAT,EAAA1jK,IAGAkoF,YAAA,SAAAw7E,EAAAluJ,EAAAxV,EAAA2hH,GAGA,IAAAtvF,EAAAsvF,EAAAtvF,SAEAp3B,KAAAk7I,aAAA7sE,qBAAAj3C,EAAAqxI,EAAA1jK,GAEA/E,KAAAk7I,aAAAtsE,aAAAx3C,EAAAqxI,EAAA1jK,IAIAmkK,cAAA,SAAAT,EAAA1jK,GACA,IAAAE,EAAAwjK,EAAAvjK,iBACA+hH,EAAAwhD,EAAAhjK,IAAA,UAEA0jK,EAAAlkK,EAAAkX,OACAitJ,EAAA,GACAC,EAAA,GAEAC,EAAA,GACAC,EAAA,GACA3sI,EAAAr0B,EAAAqpB,KAAAzK,KAAA8/F,EAAA,SAAAs/C,GACA,IAAAiD,EAAA,IAAA5sI,EAAAr0B,EAAAm6I,MAAA6jB,GACAkD,EAAAD,EAAA/jK,IAAA,QAEAmtB,EAAAgsE,EAAA,KAAA3rE,YAAAu2I,EAAA/jK,IAAA,WAAAV,EAAA,CACA+yB,OAAA,EACAoD,YAAA,IAMA,GAJAtI,EAAA2D,SACA3D,EAAA2D,QAAAwyG,aAAA/oI,KAAAuoK,YAGA,UAAAkB,EAAA,CACA,IAAAC,EAAAF,EAAA/jK,IAAA,WACA+xB,EAAA6sH,EAAA,KAAA/sH,aAAAkyI,EAAA/jK,IAAA,gBACA,aAAAikK,GACAJ,EAAA32J,KAAAigB,GACA22I,EAAA52J,KAAA6kB,KAGA4xI,EAAAz2J,KAAAigB,GACAy2I,EAAA12J,KAAA6kB,QAGA,CACA,IAAAvL,EAAAu9I,EAAA/jK,IAAA,MACAkkK,EAAA3pK,KAAAwoK,aAAAv8I,GACA09I,IACAA,EAAA3pK,KAAAwoK,aAAAv8I,GAAA,IAAA2yE,EAAA,KAAArrE,KAAA,CACA0I,SAAAj8B,KAAAqoK,iBACA7iG,YAAA,EACAm5B,eAAA,KAGA,IAAAlkE,EAAA+uI,EAAA/jK,IAAA,WAEA,YAAAg1B,GACAkvI,EAAA92I,SAAA82I,EAAAC,mBAAA,IAAAhrE,EAAA,KAAAnrE,SAAA,CACAX,yBAAA,EACAH,OAAAisE,EAAA,KAAA7kE,aAAA,gBACA25B,aAAA,EACAH,WAAA,IAEAo2G,EAAAC,kBAAAD,EAAA92I,WAGA82I,EAAA92I,SAAA82I,EAAAE,iBAAA,IAAAjrE,EAAA,KAAAnrE,SAAA,CACAX,yBAAA,EACAH,OAAAisE,EAAA,KAAA7kE,aAAA,cACA25B,aAAA,EACAH,WAAA,IAEAo2G,EAAAE,gBAAAF,EAAA92I,UAGA82I,EAAA92I,SAAAK,cAAA,cAEA,IAAA1jB,EAAAg6J,EAAA/jK,IAAA,YAEA0W,EAAAgtJ,GAAA,MAAA35J,EAAAvK,EAAAkX,OAAA,IAAA3M,GACAm6J,EAAA5xJ,MAAAqb,IAAAjX,OAEAgtJ,EAAAhtJ,EAGA,IAAA2tJ,EAAA9pK,KAAA+pK,gBAAA/pK,KAAA+pK,cAAAnrE,EAAA,KAAAnmE,mBAAA,2BACAkxI,EAAA92I,SAAAO,IAAA,aAAA02I,GAEAlrE,EAAA,KAAA3rE,YAAAu2I,EAAA/jK,IAAA,WAAAV,EAAA,CACA+yB,OAAA,EACAoD,YAAA,GACiB,SAAAtI,GACjBA,EAAA2D,SACA3D,EAAA2D,QAAAwyG,aAAA4gC,GAEAA,EAAA92I,SAAAO,IAAA,aAAAR,GACA7tB,EAAA2sB,QAAAyB,YAGAq2I,EAAA/jK,IAAA,QAAAzF,KAAA8mH,QAAAvpF,IAAAosI,GAAA3pK,KAAA8mH,QAAAt6G,OAAAm9J,KAES3pK,MAET,IAAAgqK,EAAAhqK,KAAAuoK,WAAA11I,SACAm3I,EAAAzvI,OAAA,oCAAA6uI,EAAA7lK,QACAymK,EAAAzvI,OAAA,qCAAA+uI,EAAA/lK,QAEAymK,EAAA52I,IAAA,kBAAAg2I,GACAY,EAAA52I,IAAA,wBAAAi2I,GACAW,EAAA52I,IAAA,mBAAAk2I,GACAU,EAAA52I,IAAA,yBAAAm2I,GAEA,IAAAlmE,EAAAolE,EAAA9tI,SAAA,mBACA,GAAA0oE,EAAA59F,IAAA,SACAukK,EAAAzvI,OAAA,6BACA,IAAAzT,EAAA83E,EAAA,KAAA1lE,WACAmqE,EAAA59F,IAAA,uCAEAnD,EAAA+hJ,EAAA,KAAA/sH,aACA+rE,EAAA59F,IAAA,sBAEAukK,EAAA52I,IAAA,qBAAA9wB,GACA0nK,EAAA52I,IAAA,qBAAAtM,QAGAkjJ,EAAAttI,SAAA,8BAIAusI,mBAAA,SAAAR,EAAA1jK,GACA,IAAAE,EAAAwjK,EAAAvjK,iBAEA+5E,EAAAwpF,EAAA9tI,SAAA,eAGA+M,GADAziC,EAAAiqE,OAAA5c,OACAtyD,MAEA,SAAAiqK,IACA,OACA9pK,KAAA,oBACAm5B,MAAA+hH,EAAA98D,WACAhlD,KAAA8hH,EAAA78D,UACAhvE,SAAA6rI,EAAAn9D,cAAAj5E,EAAAkX,OACAD,OAAAm/H,EAAA58D,YACAp2B,KAAA3gB,EAAA1d,IACAkgJ,QAAAzB,EAAAx8I,IAKA,IAAAovH,EAAAr7I,KAAAy6I,SACAY,EAAAv8D,UAAA75E,EAAAiqE,QAEA,IACA51C,EAAAC,EADAhZ,EAAA0+D,EAAAx5E,IAAA,eAEA,MAAA8a,IACAgZ,EAAAhZ,EAAA,MACA+Y,EAAA/Y,EAAA,IAGA86H,EAAAr8D,wBAAAC,EAAA,CACAE,aAAAl6E,EAAAkX,OACAmd,QACAC,SAGA8hH,EAAAxlI,IAAA,UACAwlI,EAAAzlI,GAAA,oBACA7Q,EAAAqoG,eAAA68D,QAIAjB,kBAAA,SAAAP,EAAA1jK,GACA,IAAAoiK,EAAAsB,EAAAhjK,IAAA,uBACA0kK,EAAA1B,EAAAhjK,IAAA,wBACA2kK,EAAA3B,EAAAvjK,iBAEA,GAAAujK,EAAAR,yBACAd,IAAAnnK,KAAAqqK,sBACAF,IAAAnqK,KAAAsqK,oBAFA,CAOAtqK,KAAAqqK,qBAAAlD,EACAnnK,KAAAsqK,oBAAAH,EAEA,IAAAluI,EAAAj8B,KAAAooK,gBAEAjuF,EAAA,CACAs5E,IAAA,IACAC,OAAA,IACAC,KAAA,IACAC,MAAA,KACSuT,IAAA,IACT/sF,EAAAD,EAAA,GACAl+C,EAAAk+C,mBAAAgwF,KACAluI,EAAAk+C,gBACAl+C,EAAAm+C,iBACAn+C,EAAAo+C,SAGAr6E,KAAAuqK,oBAAAtuI,EAAAmuI,GAEAD,GACAluI,EAAA00B,wBAIA45G,oBAAA,SAAAtuI,EAAAmuI,GACA,IAAAt+D,EAAA7vE,EAAAG,WAAA91B,SAAArC,MACAumK,EAAAvuI,EAAAG,WAAAuwB,UAAA1oD,MAEAwmK,EAAAxuI,EAAAyuI,mBACAD,KAAAlnK,SAAAuoG,EAAAvoG,SACAknK,EAAA,IAAAj/H,aAAAsgE,EAAAvoG,QACAknK,EAAAr3I,IAAA04E,GACA7vE,EAAAyuI,mBAAAD,GAOA,IAJA,IAAAnoK,EAAA8nK,EAAA3C,kBACAllK,EAAA6nK,EAAA1C,mBACAn8J,EAAA6+J,EAAA5C,iBAEAz8J,EAAA,EAAuBA,EAAAkxB,EAAAC,YAA0BnxB,IAAA,CACjD,IAAA+iD,EAAA,EAAA/iD,EACA8iD,EAAA,EAAA9iD,EACA/I,EAAAyoK,EAAA38G,EAAA,GACA7rD,EAAAwoK,EAAA38G,EAAA,GACA3wB,EAAAstI,EAAA38G,EAAA,GAEAijC,EAAAy5E,EAAA38G,KACA1wC,EAAAqtJ,EAAA38G,KAEAn9C,EAAAhK,KAAAwT,MAAA62E,GAAAzuF,EAAA,IACAoe,EAAAha,KAAAwT,MAAAiD,GAAA5a,EAAA,IACAob,EAAA+C,EAAApe,EAAAoO,EACAqH,EAAAxM,IAAAoS,GAAA,EAEAmuF,EAAAh+C,EAAA,GAAA9rD,IAAA+V,EACA+zF,EAAAh+C,EAAA,GAAA7rD,IAAA8V,EACA+zF,EAAAh+C,EAAA,GAAA3wB,IAAAplB,EAGAkkB,EAAAuxB,wBACAvxB,EAAAtX,QAEAsX,EAAAmxB,qBAGA27G,aAAA,SAAAN,EAAA1jK,GACA,IAAA2jK,EAAA1oK,KAAAuoK,WAEAvoK,KAAAk7I,aAAAltE,YAAAy6F,GACA,IAAA56F,EAAA7tE,KAAAk7I,aAAArtE,UAGA91C,EAAA0wI,EAAAhjK,IAAA,wBAAAuyB,KAGA8oE,EAAAqnE,EAAA,KAAAwC,YAAA/tI,EAAAr0B,EAAAy2I,OAAA7kC,UAAApiF,GAAA,KACApZ,EAAAjY,KAAAwY,IAAA4hF,EAAA8pE,UAEA/8F,EAAAvnE,SAAArE,GAAA0c,EAAAjY,KAAAwY,IAAA4hF,EAAA+pE,SACAh9F,EAAAvnE,SAAAtE,EAAA0E,KAAA0Y,IAAA0hF,EAAA8pE,UACA/8F,EAAAvnE,SAAA62B,EAAAxe,EAAAjY,KAAA0Y,IAAA0hF,EAAA+pE,SACAh9F,EAAA/9B,OAAA44H,EAAA7nG,qBAGA/qD,QAAA,SAAAyE,EAAAxV,GACA/E,KAAA8mH,QAAAziD,YACArkE,KAAAy6I,SAAA3kI,cAMA,SAAApT,EAAAwrB,EAAArvB,GAEA,aASA,IAAA8H,EAAAD,KAAAC,GACAyY,EAAA1Y,KAAA0Y,IACAF,EAAAxY,KAAAwY,IACAu8C,EAAA/0D,KAAA+0D,IACAl8B,EAAA74B,KAAA64B,KACA25C,EAAAxyE,KAAA44B,MACAiR,EAAA5pC,EAAA,IAOAmkK,EAAA,MACAC,EAAA,QACAC,EAAA,QAEA,SAAAC,EAAAhjB,GAA0B,OAAAA,EAAAijB,UAAAJ,EAAA,GAAAC,EAC1B,SAAAI,EAAAljB,GAA0B,OAAAgjB,EAAAhjB,GAAA+iB,EAK1B,IAAA70J,EAAA,QAAAo6B,EAEA,SAAA66H,EAAApgK,EAAAxC,GAA+B,OAAA0wE,EAAA95D,EAAApU,GAAAkU,EAAA/I,GAAAslD,EAAAjzD,GAAA4W,EAAAjJ,GAAA+I,EAAAlU,IAC/B,SAAAqgK,EAAArgK,EAAAxC,GAA+B,OAAA+2B,EAAAngB,EAAA5W,GAAA0W,EAAA/I,GAAA+I,EAAA1W,GAAA4W,EAAAjJ,GAAAiJ,EAAApU,IAE/B,SAAA6/J,EAAA9xC,EAAAt/F,EAAA6xI,GAAgC,OAAApyF,EAAA95D,EAAA25G,GAAA75G,EAAA65G,GAAA35G,EAAAqa,GAAAgiC,EAAA6vG,GAAApsJ,EAAAua,IAChC,SAAAmxI,EAAA7xC,EAAAt/F,EAAA6xI,GAAgC,OAAA/rI,EAAAngB,EAAAqa,GAAAra,EAAAksJ,GAAApsJ,EAAAua,GAAAva,EAAAosJ,GAAApsJ,EAAA65G,IAEhC,SAAAwyC,EAAA/uJ,EAAAgvJ,GAA8B,OAAAj7H,GAAA,mBAAA/zB,GAAAgvJ,EAK9B,SAAAC,EAAAjvJ,GAA8B,OAAA+zB,GAAA,mBAAA/zB,GAE9B,SAAAkvJ,EAAAvjB,GAEA,IAAAwjB,EAAAp7H,GAAA,OAAAnxB,EAAA+oI,GAAA,IAAA/oI,EAAA,EAAA+oI,GAAA,KAAA/oI,EAAA,EAAA+oI,IACAyjB,EAAA,SAAAr7H,EAEA,OAAA43G,EAAAwjB,EAAAC,EAAAjlK,EAGA,SAAAklK,EAAArvJ,GAEA,IAAA2rI,EAAAsjB,EAAAjvJ,GACA22F,EAAAu4D,EAAAvjB,GAEA,OACAmjB,IAAAD,EAAAl4D,EAAA,GACA24D,GAAAV,EAAAj4D,EAAA,IAIA,IAAA44D,EAAA,CAIApB,YAAA,SAAA1iB,EAAA7kC,EAAAD,GAEA,IAAAqoD,EAAAj7H,GAAA4yE,EACA1pF,EAAA8W,EAAA6yE,EACA5mG,EAAA2uJ,EAAAljB,GAEAx/I,EAAAojK,EAAArvJ,GACAu8G,EAAAwyC,EAAA/uJ,EAAAgvJ,GAAA/iK,EAAAqjK,GAEA,OACAjB,UAAA9xC,EAAAt/F,EAAAhxB,EAAA6iK,KACAV,WAAA7xC,EAAAt/F,EAAAhxB,EAAA6iK,QAIAp9I,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAmtK,EAAAntK,EAAA,KACA+mE,EAAA/mE,EAAA,GACAgnE,EAAAhnE,EAAAgvB,EAAA+3C,GACA+3C,EAAA9+G,EAAA,IACA++G,EAAA/+G,EAAAgvB,EAAA8vF,GACAE,EAAAh/G,EAAA,IACAkgG,EAAAlgG,EAAA,GACAotK,EAAAptK,EAAA,GAQA,SAAAqtK,EAAAxgG,EAAAw7F,GACA,IAAAtxI,EAAAhrB,SAAAirB,cAAA,UACAx1B,EAAAu1B,EAAAhoB,WAAA,MACAtL,EAAAopE,EAAAppE,MACAC,EAAAmpE,EAAAnpE,OACAqzB,EAAAtzB,QACAszB,EAAArzB,SACAlC,EAAAy1B,UAAA41C,EAAA,IAAAppE,EAAAC,GAIA,IAHA,IAAAopG,EAAAtrG,EAAA08F,aAAA,IAAAz6F,EAAAC,GAAAgJ,KAEA4gK,EAAA,IAAA3gI,aAAAmgE,EAAApoG,OAAA,GACAwH,EAAA,EAAmBA,EAAA4gG,EAAApoG,OAAA,EAAwBwH,IAAA,CAC3C,IAAA/I,EAAA2pG,EAAA,EAAA5gG,GACAohK,EAAAphK,GAAA/I,EAAA,IAAAklK,EAEA,OACA37J,KAAA4gK,EACA7pK,QACAC,UAIA,SAAA6pK,EAAA3D,EAAA1jK,GAEA,IAAAi5G,EAAAyqD,EAAAxqD,qBAEAvrE,EAAAkrE,EAAAr1G,EAAA+6E,cAAA06B,EAAA,CACA17G,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,cAIA5rB,EAAAzwC,EAAA8C,EAAAu5D,YAAA5rB,EAAAzwC,EAAAywC,EAAAnwC,OAEAvC,KAAAkvE,OAAA77B,YAAAX,EAAA1wC,EAAA0wC,EAAAzwC,EAAAywC,EAAApwC,MAAAowC,EAAAnwC,OAAAwC,EAAAmmF,uBAEAlrF,KAAAmc,OAAAssJ,EAAAhjK,IAAA,eAEA,IAAA4mK,EAAA5D,EAAAhjK,IAAA,oBACAzF,KAAAq+G,cACAr+G,KAAAq+G,aAAAC,UAAA,EAAA+tD,EAAArsK,KAAAmc,QAIA,SAAAmwJ,EAAA/xJ,EAAAxV,GAEA,IAAAy5G,EAAA,CAAA1kG,UAuBA,GArBAS,EAAAkkG,WAAA,SAAAnkG,GACA,GAAAA,EAAApV,mBAAAlF,KAAA,CAKA,IAAAuL,EAAA+O,EAAAE,UACAkkG,EAAApkG,EAAAkO,kBAAA,OACAm2F,EAAAD,KAAA,GACA,GAAAC,EAAA,CAEA,IAAA9F,EAAAttG,EAAAqzG,cAAAD,GAAA,GACAH,EAAA,GAAA93G,KAAAQ,IACAs3G,EAAA,GAAA3F,EAAA,IAEA2F,EAAA,GAAA93G,KAAAS,IACAq3G,EAAA,GAAA3F,EAAA,OAGK74G,MAELw+G,GAAAzkG,SAAAykG,EAAA,GAAAA,EAAA,KACA,IAAAzmG,EAAA8tD,EAAAt9D,EAAA++E,OAAAu3B,YACAL,EAAA,CACAr+G,KAAA,QAEA+G,IAAA,UACAC,IAAA,YAGAnH,KAAAq+G,aAAA,IAAAx4C,EAAAt9D,EAAAu2G,KAAA,WAAA/mG,GAEA/X,KAAAq+D,OAAAr+D,KAAA2jB,MAAA5e,IAIA,IAAAwnK,EAAA,CAEA9zF,WAAAuzF,EAAA,KAAA/rK,UAAAw4E,WAEA3pC,OAAA,SAAAv0B,EAAAxV,GAEA,IAAAynK,EAAA,GA2EA,OAzEAjyJ,EAAA8kG,cAAA,iBAAAopD,GAGAA,EAAArpD,SAAAqpD,EAAArpD,UAAA,IAAAvB,EAAA,KAEA,IAAAusD,EAAA,IAAA4B,EAAA,KACA5B,EAAAl7F,OAAAu5F,EAAArpD,SAEAqpD,EAAAvjK,iBAAAklK,EACAA,EAAAzmJ,MAAA8kJ,EACA+D,EAAA75J,KAAAy3J,GAGAA,EAAA/rG,OAAA+tG,EACAhC,EAAA/rG,OAAAoqG,EAAA1jK,GAEAqlK,EAAA79I,OAAA+/I,IAGA/xJ,EAAAkkG,WAAA,SAAAnkG,GACA,aAAAA,EAAA7U,IAAA,qBACA,IAAAgjK,EAAAnuJ,EAAAstE,uBAAA,YAKA,GAJA6gF,IACAA,EAAAluJ,EAAAmS,aAAA,WAGA+7I,EACA,UAAA96H,MAAA,UAAAoxD,EAAA,KAAAznE,aACAhd,EAAA7U,IAAA,gBACA6U,EAAA7U,IAAA,aACA,GACA,eAGA,IAAAR,EAAAwjK,EAAAvjK,iBAEAoV,EAAApV,iBAAAD,KAIAsV,EAAA8kG,cAAA,iBAAAopD,EAAA9qJ,GACA,IAAAysJ,EAAA3B,EAAAvjK,iBAGAunK,EAAAhE,EAAAd,yBACAT,EAAAuB,EAAAb,sBAEA,GAAAa,EAAAR,wBAAA,CACA,GAAAQ,EAAAZ,kBAAA,CACA,IAAA6E,GAAA,EACAT,EAAA,KAAAh5I,YAAAw5I,EAAA1nK,EAAA,SAAA6tB,GACA,IAAA84C,EAAA94C,EAAA9f,MACA00J,EAAA0E,EAAAxgG,EAAAw7F,GACAuB,EAAAlB,oBAAAC,EAAAj8J,KAAAi8J,EAAAllK,MAAAklK,EAAAjlK,QACAmqK,GAEA3nK,EAAAqoG,eAAA,CACAjtG,KAAA,6BAIAusK,GAAA,OAGAtC,EAAA7C,oBAAA,UAGA6C,EAAA7C,oBACAkB,EAAAjB,iBAAAiB,EAAAhB,kBAAAgB,EAAAf,uBAKA8E,IAIA3mG,EAAAt9D,EAAAk3G,yBAAA,QAAA8sD,IAMA,SAAA7pK,EAAAwrB,EAAArvB,GAEA,aACA,IAAAyiH,EAAAziH,EAAA,GAEAiqC,EAAAw4E,EAAA,KAAAx4E,KAGA,SAAA6jI,EAAAxwJ,GAEAnc,KAAAmc,SAEAnc,KAAAkvE,OAAA,KAEAlvE,KAAAq+G,aAGAr+G,KAAAwnK,iBAAA,KACAxnK,KAAAynK,kBACAznK,KAAA0nK,mBAGAiF,EAAA1sK,UAAA,CAEAC,YAAAysK,EAEAl0F,WAAA,oBAEAt4E,KAAA,QAEAw0D,aAAA,aAEA4yG,oBAAA,SAAAh8J,EAAAjJ,EAAAC,GACAvC,KAAAwnK,iBAAAj8J,EACAvL,KAAAynK,kBAAAnlK,EACAtC,KAAA0nK,mBAAAnlK,GAGAqqK,sBAAA,SAAAzpD,EAAAC,GACA,IAAAr4G,GAAAo4G,EAAA,UAAAnjH,KAAAynK,kBAAA,GACA/2J,GAAA,GAAA0yG,GAAA,KAAApjH,KAAA0nK,mBAAA,GAGA/pJ,EAAAjX,KAAAwT,MAAAnP,GAAArE,KAAAwT,MAAAxJ,GAAA1Q,KAAAynK,kBACA,OAAAznK,KAAAwnK,iBAAA7pJ,IAGApY,YAAA,SAAAgG,EAAA8zB,GACA,IAAA8jF,EAAA53G,EAAA,GACA63G,EAAA73G,EAAA,GAEAshK,EAAAthK,EAAA,MAEAqT,EAAA5e,KAAAmc,OACAnc,KAAAwnK,mBACA5oJ,GAAA,EAAA5e,KAAA4sK,sBAAAzpD,EAAAC,IAEApjH,KAAAq+G,eACAz/F,GAAA5e,KAAAq+G,aAAA+C,YAAAyrD,IAGA1pD,IAAAz8G,KAAAC,GAAA,IACAy8G,IAAA18G,KAAAC,GAAA,IAEA,IAAAgY,EAAAjY,KAAAwY,IAAAkkG,GAAAxkG,EAQA,OANAygB,KAAA,GAEAA,EAAA,IAAA1gB,EAAAjY,KAAAwY,IAAAikG,EAAAz8G,KAAAC,IACA04B,EAAA,GAAA34B,KAAA0Y,IAAAgkG,GAAAxkG,EACAygB,EAAA,GAAA1gB,EAAAjY,KAAA0Y,IAAA+jG,EAAAz8G,KAAAC,IAEA04B,GAGAgiF,YAAA,SAAAx3C,EAAAxqC,GACA,IAAAr9B,EAAA6nE,EAAA,GACA5nE,EAAA4nE,EAAA,GACA1sC,EAAA0sC,EAAA,GACAp9D,EAAAq8B,EAAAr8B,IAAAo9D,GACA7nE,GAAAyK,EACAxK,GAAAwK,EACA0wB,GAAA1wB,EAEA,IAAA+sB,EAAA9yB,KAAA64B,KAAAt9B,GACAw3B,EAAA/yB,KAAA44B,MAAAnC,GAAAn7B,GACAy3B,EAAA,IACAA,EAAA,EAAA/yB,KAAAC,GAAA8yB,GAGA,IAAA2pF,EAAA,IAAA5pF,EAAA9yB,KAAAC,GACAw8G,EAAA,IAAA1pF,EAAA/yB,KAAAC,GAAA,IAUA,OARA04B,KAAA,GACAA,EAAA,GAAA8jF,EACA9jF,EAAA,GAAA+jF,EACA/jF,EAAA,GAAA5yB,EAAAzM,KAAAmc,OACAnc,KAAAq+G,eACAh/E,EAAA,GAAAr/B,KAAAq+G,aAAAqnC,YAAArmH,EAAA,KAGAA,IAIAnR,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA99B,EAAA,KACAA,EAAA,KACAA,EAAA,KASA+9B,EAAAr0B,EAAA+jB,eAAA,CACAnsB,KAAA,uBACAgX,MAAA,wBACAoV,OAAA,yBACC,SAAAC,EAAAjS,GACDA,EAAA8kG,cAAA,CACArzF,SAAA,WAAAgqH,MAAAxpH,GACK,SAAAyhD,GACLA,EAAA6+F,sBAAAtgJ,QAMA,SAAA9pB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAkuK,EAAAluK,EAAA,KACA+mE,EAAA/mE,EAAA,GACAgnE,EAAAhnE,EAAAgvB,EAAA+3C,GACAonG,EAAAnuK,EAAA,KAKAouK,EAAAlkK,OAAAikK,EAAA,KAAAjkK,CAAA,WAAAgkK,EAAA,cAAAG,GACAA,EAAAriK,QAAA,SAAA2qI,GACAA,EAAApzB,gBAAAozB,EAAA7xH,MAAAwpJ,6BAGAtnG,EAAAt9D,EAAAk3G,yBAAA,WAAAwtD,IAMA,SAAAvqK,EAAAwrB,EAAArvB,GAEA,aACA,IAAAuuK,EAAAvuK,EAAA,KAGA,SAAAwuK,IACAD,EAAA,KAAA1kK,MAAA1I,KAAA2I,WAGA0kK,EAAAptK,UAAA,IAAAmtK,EAAA,KACAC,EAAAptK,UAAAC,YAAAmtK,EACAA,EAAAptK,UAAAE,KAAA,WAEA+tB,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA2wI,EAAAzuK,EAAA,IACA0uK,EAAA1uK,EAAA,IAMA2uK,EAAA,oCAEAC,EAAA7wI,EAAAr0B,EAAA4tI,qBAAA,CAEAh2I,KAAA,WAEA8iB,WAAA,MAEA/d,iBAAA,KAEA4d,cAAA,CACAq5F,QAAA,GAEA57G,MAAA,kCAEA2b,OAAA,MAEA8lG,KAAA,EAEAF,MAAA,EAEAD,QAAA,EAEAn8C,MAAA,CACAsH,KAAA,CACA1zC,MAAA,GACAC,KAAA,KAIAooF,cAAA,EAEAtF,UAAA,QAGA8wD,sBAAA,WACA,IAAAzlI,EAAA1nC,KACA,OAAAwtK,EAAArnJ,OAAA,SAAArb,EAAAG,GAEA,OADAH,EAAAG,GAAAy8B,EAAAjiC,IAAAwF,GACAH,GACS,KAGTgiK,sBAAA,SAAA3pJ,GACA,MAAAA,GACAqqJ,EAAA3iK,QAAA,SAAAI,GACA,MAAAkY,EAAAlY,KACAjL,KAAAmjB,OAAAlY,GAAAkY,EAAAlY,KAEajL,OAOb0tK,UAAA,WACA,OAAA1tK,KAAA2tK,SAGAC,UAAA,SAAAn4B,GACAz1I,KAAA2tK,QAAAl4B,KAIA74G,EAAAr0B,EAAAqpB,KAAAzmB,MAAAsiK,EAAAxtK,UAAAqtK,EAAA,MACA1wI,EAAAr0B,EAAAqpB,KAAAzmB,MAAAsiK,EAAAxtK,UAAAstK,EAAA,OAMA,SAAA7qK,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAkxI,EAAAhvK,EAAA,KACAivK,EAAAjvK,EAAA,IACAkvK,EAAAlvK,EAAA,GACAmvK,EAAAnvK,EAAA,KAQAkvK,EAAA,KAAAv6I,OAAA3B,OAAAm8I,EAAA,MAIApxI,EAAAr0B,EAAA4xI,oBAAA,CAEAh6I,KAAA,WAEAsmH,UAAA,EAEAvjG,KAAA,SAAA3I,EAAAxV,GACA,IAAAoP,EAAApP,EAAA2sB,QACA1xB,KAAAiuK,SAAA,IAAAJ,EAAA,gBAAA15J,GACAA,EAAA+yG,QAAAK,aAAA,IAAAvnH,KAAAiuK,UAEAjuK,KAAA4tE,WAAA,IAAAmgG,EAAA,KAAAz6I,KACAtzB,KAAAk7I,aAAA,IAAA4yB,EAAA,KAAA9tK,KAAA4tE,YACA5tE,KAAAk7I,aAAAvtE,UAAA3tE,KAAA4tE,YAEA,IAAA6nE,EAAAz1I,KAAAiuK,SAAAP,YACAQ,EAAAluK,KAAAmuK,wBAAAvlK,KAAA5I,KAAA+E,EAAA0wI,GAGA,iDAAA5qI,QAAA,SAAAujK,GACA34B,EAAA7/H,GAAAw4J,EAAAF,KAGAluK,KAAA2/F,YAAA,IAAAouE,EAAA,KAAAx6I,KAAA,CACA0I,SAAA,IAAA8xI,EAAA,KAAAj6I,cACAjB,SAAA,IAAAk7I,EAAA,KAAAt6I,SAAA,CACAd,OAAA,IAAAo7I,EAAA,KAAAv6I,OAAA,CACAuW,OAAAgkI,EAAA,KAAAv6I,OAAAyG,OAAA,6BACA+P,SAAA+jI,EAAA,KAAAv6I,OAAAyG,OAAA,iCAEAs5B,WAAA,IAGAs/B,aAAA,IACAjZ,SAAA,EACApU,YAAA,EACAo6B,gBAAA,EACAn+B,cAAA,KAIAvO,OAAA,SAAAm7G,EAAA9zJ,EAAAxV,GACA,IAAA0wI,EAAAz1I,KAAAiuK,SAAAP,YACAY,EAAAD,EAAA5oK,IAAA,SAEA8oK,EAAAC,KAAAz0C,UAAAu0C,GACAC,IAAAvuK,KAAAyuK,cACAH,GACA74B,EAAAjuB,SAAA8mD,GAGAtuK,KAAAyuK,aAAAF,EAEA94B,EAAA72D,UAAAyvF,EAAA5oK,IAAA,WACAgwI,EAAAi5B,QAAAL,EAAA5oK,IAAA,SACAgwI,EAAAk5B,SAAAN,EAAA5oK,IAAA,UACAgwI,EAAAm5B,WAAAP,EAAA5oK,IAAA,YAEA4oK,EAAAT,UAAAn4B,GAEA,IAAAxwI,EAAAopK,EAAAnpK,iBAGAD,EAAAiqE,OAAA3R,MAAAhgC,IAAAv9B,KAAA4tE,YACA3oE,EAAAiqE,OAAA3xC,IAAAv9B,KAAA2/F,aAEA3/F,KAAA6uK,oBAGA7uK,KAAAk7I,aAAA3tE,SAAAtoE,EAAAiqE,OAAA3R,OACAv9D,KAAAk7I,aAAAltE,YAAAqgG,GAGAppK,EAAAiqE,OAAArN,cAAAwsG,EAAA1zI,SAAA,cAAA51B,GACAE,EAAAiqE,OAAAnL,yBAAAsqG,EAAA1zI,SAAA,0BAEA36B,KAAA8uK,eAAAT,GAGAphF,YAAA,SAAAohF,EAAA9zJ,EAAAxV,EAAA2hH,GACA,IAAAtvF,EAAAsvF,EAAAtvF,SACAp3B,KAAAk7I,aAAA7sE,qBAAAj3C,EAAAi3I,EAAAtpK,GACA/E,KAAAk7I,aAAAtsE,aAAAx3C,EAAAi3I,EAAAtpK,GAIAspK,EAAAnpK,iBAAAgqE,OAAA3R,MAAAprC,SAAA,SAAAigC,GACAA,EAAAv/B,WACAu/B,EAAAv/B,SAAA0H,OAAA,+BACA63B,EAAAv/B,SAAA0H,OAAA,sCAKAw0I,aAAA,SAAAV,EAAA9zJ,EAAAxV,EAAAynB,GACA6hJ,EAAAnpK,iBAAAk9G,gBAAA51F,GAEAxsB,KAAA6uK,oBAEA9pK,EAAA2sB,QAAAyB,WAGAg7I,wBAAA,SAAAppK,EAAA0wI,EAAA44B,GACAtpK,EAAAqoG,eAAA,CACAjtG,KAAA,uBACA2hH,MAAA2zB,EAAAu5B,WACAhtD,KAAAyzB,EAAA1wB,UACA7oG,OAAAu5H,EAAAh3D,YAAAx/C,UACA4iF,QAAA4zB,EAAAw5B,aACAC,WAAAlvK,KAAA8uK,gBAAA9uK,KAAA8uK,eAAA7iJ,MAIA4iJ,kBAAA,WACA,GAAA7uK,KAAA8uK,eAAA,CACA,IAAA7pK,EAAAjF,KAAA8uK,eAAA5pK,iBACA29G,EAAA59G,EAAAM,YAAAN,EAAAiX,QACAlc,KAAA2/F,YAAAr5F,SAAA8sB,IAAAyvF,EAAA,GAAAA,EAAA,UAEA,IAAApuB,EAAA,IAAAs5E,EAAA,KAAAj5I,MAAA,IAAAi5I,EAAA,KAAAx5I,QAAA,UACA46I,EAAAlqK,EAAAiqE,OAAA5c,OAAAkM,QAAA,IAAAuvG,EAAA,KAAAz5I,SAAA,OACA86I,EAAAnqK,EAAAiqE,OAAA5c,OAAAkM,QAAA,IAAAuvG,EAAA,KAAAz5I,QAAA,MACA+6I,EAAAF,EAAA36E,eAAAC,GACA66E,EAAAF,EAAA56E,eAAAC,GACA18E,EAAAs3J,EAAA1xI,KAAA2xI,GAAArqK,EAAAiqE,OAAA1R,SAAAzlD,MAAA/V,EACAhC,KAAA2/F,YAAA5nF,MAAAqb,IAAArb,IAAA,KAIAjC,QAAA,SAAAyE,EAAAxV,GACA/E,KAAAiuK,UACAjuK,KAAAiuK,SAAAn4J,UAEA/Q,EAAA2sB,QAAAw1F,QAAAqoD,UAAA,SAMA,SAAA7sK,EAAAwrB,EAAArvB,GAEA,aAOA,SAAA2wK,EAAAvjJ,EAAA9X,GAQA,GAPAnU,KAAAisB,KACAjsB,KAAAmU,KAEAnU,KAAA49E,IAAAhzE,SAAAirB,cAAA,OACA71B,KAAA49E,IAAAr9E,MAAA4oH,QAAA,oDAGAsmD,SACA,UAAA9hI,MAAA,oFAGA3tC,KAAA2tK,QAAA,IAAA8B,SAAAC,IAAA,CACAC,UAAA3vK,KAAA49E,MAIA59E,KAAA4vK,cAIAJ,EAAAvvK,UAAAo+D,OAAA,WACAr+D,KAAA2tK,QAAAtvG,UAGAmxG,EAAAvvK,UAAAytK,UAAA,WACA,OAAA1tK,KAAA2tK,SAGA6B,EAAAvvK,UAAAyM,MAAA,aACA8iK,EAAAvvK,UAAAkzB,QAAA,WACAnzB,KAAA2tK,QAAAtvG,UAGA,IAAAwxG,EAAA,sDACA,qBACA,mDAEAL,EAAAvvK,UAAA2vK,YAAA,WAEA,IAAAE,EAAA9vK,KAAA2tK,QAAAoC,qBACA/vK,KAAAgwK,UAAAhwK,KAAAgwK,WAAA,CACAC,YAAA,SAAA95J,GAEA,OADAA,EAAAmrE,kBACA,IAGAuuF,EAAAhlK,QAAA,SAAAujK,GACApuK,KAAAgwK,UAAA5B,GAAA,SAAAj4J,GACA,IAAArL,EAAA,GACA,QAAAwD,KAAA6H,EACArL,EAAAwD,GAAA6H,EAAA7H,GAEAxD,EAAAolK,SAAA,EACA,IAAAC,EAAA,IAAAh6J,EAAAjW,YAAAiW,EAAAhW,KAAA2K,GACAglK,EAAA3nC,cAAAgoC,IAEAnwK,KAAAmU,GAAAypE,IAAAC,iBAAAuwF,EAAApuK,KAAAgwK,UAAA5B,KACKpuK,MAGLA,KAAAmU,GAAAypE,IAAAC,iBAAA,cAAA79E,KAAAgwK,UAAAC,cAGAT,EAAAvvK,UAAA6V,QAAA,WACA+5J,EAAAhlK,QAAA,SAAAujK,GACApuK,KAAAmU,GAAAypE,IAAAI,oBAAAowF,EAAApuK,KAAAgwK,UAAA5B,KACKpuK,OAGLkuB,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA99B,EAAA,KACAA,EAAA,KACAA,EAAA,KAUA+9B,EAAAr0B,EAAA+jB,eAAA,CACAnsB,KAAA,yBACAgX,MAAA,0BACAoV,OAAA,2BACC,SAAAC,EAAAjS,GACDA,EAAA8kG,cAAA,CACArzF,SAAA,aAAAgqH,MAAAxpH,GACK,SAAAyhD,GACLA,EAAAmiG,wBAAA5jJ,QAMA,SAAA9pB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAwxK,EAAAxxK,EAAA,KACA+mE,EAAA/mE,EAAA,GACAgnE,EAAAhnE,EAAAgvB,EAAA+3C,GACAonG,EAAAnuK,EAAA,KAKAyxK,EAAAvnK,OAAAikK,EAAA,KAAAjkK,CAAA,aAAAsnK,EAAA,cAAAE,GACAA,EAAA1lK,QAAA,SAAA2lK,GACAA,EAAApuD,gBAAAouD,EAAA7sJ,MAAA8sJ,+BAGA5qG,EAAAt9D,EAAAk3G,yBAAA,aAAA6wD,IAMA,SAAA5tK,EAAAwrB,EAAArvB,GAEA,aACA,IAAAuuK,EAAAvuK,EAAA,KAGA,SAAA6xK,IACAtD,EAAA,KAAA1kK,MAAA1I,KAAA2I,WAEA3I,KAAAkiH,SAAA,GACAliH,KAAAmiH,WAAA,EAGAuuD,EAAAzwK,UAAA,IAAAmtK,EAAA,KACAsD,EAAAzwK,UAAAC,YAAAwwK,EACAA,EAAAzwK,UAAAE,KAAA,aAEA+tB,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA2wI,EAAAzuK,EAAA,IACA0uK,EAAA1uK,EAAA,IAMA8xK,EAAA,oCAEAC,EAAAh0I,EAAAr0B,EAAA4tI,qBAAA,CAEAh2I,KAAA,aAEA8iB,WAAA,MAEA/d,iBAAA,KAEA4d,cAAA,CACAq5F,QAAA,GAEA00D,YAAA,6DACAC,YAAA,gHAEA50J,OAAA,MAEA8lG,KAAA,EAEAF,MAAA,EAEAD,QAAA,EAEAn8C,MAAA,CACAsH,KAAA,CACA1zC,MAAA,GACAC,KAAA,KAIAooF,cAAA,EAEAtF,UAAA,QAGAo0D,wBAAA,WACA,IAAA/oI,EAAA1nC,KACA,OAAA2wK,EAAAxqJ,OAAA,SAAArb,EAAAG,GAEA,OADAH,EAAAG,GAAAy8B,EAAAjiC,IAAAwF,GACAH,GACS,KAGTslK,wBAAA,SAAAjtJ,GACA,MAAAA,GACAwtJ,EAAA9lK,QAAA,SAAAI,GACA,MAAAkY,EAAAlY,KACAjL,KAAAmjB,OAAAlY,GAAAkY,EAAAlY,KAEajL,OAOb+wK,YAAA,WACA,OAAA/wK,KAAAgxK,WAGAC,YAAA,SAAAC,GACAlxK,KAAAgxK,UAAAE,KAIAt0I,EAAAr0B,EAAAqpB,KAAAzmB,MAAAylK,EAAA3wK,UAAAqtK,EAAA,MACA1wI,EAAAr0B,EAAAqpB,KAAAzmB,MAAAylK,EAAA3wK,UAAAstK,EAAA,OAMA,SAAA7qK,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAw0I,EAAAtyK,EAAA,KACAivK,EAAAjvK,EAAA,IACAkvK,EAAAlvK,EAAA,GACAmvK,EAAAnvK,EAAA,KAQAkvK,EAAA,KAAAv6I,OAAA3B,OAAAm8I,EAAA,MAEApxI,EAAAr0B,EAAA4xI,oBAAA,CAEAh6I,KAAA,aAEAsmH,UAAA,EAEAvjG,KAAA,SAAA3I,EAAAxV,GACA/E,KAAA2/F,YAAA,IAAAouE,EAAA,KAAAx6I,KAAA,CACA0I,SAAA,IAAA8xI,EAAA,KAAAj6I,cACAjB,SAAA,IAAAk7I,EAAA,KAAAt6I,SAAA,CACAd,OAAA,IAAAo7I,EAAA,KAAAv6I,OAAA,CACAuW,OAAAgkI,EAAA,KAAAv6I,OAAAyG,OAAA,6BACA+P,SAAA+jI,EAAA,KAAAv6I,OAAAyG,OAAA,iCAEAs5B,WAAA,IAGAs/B,aAAA,IACAjZ,SAAA,EACApU,YAAA,EACAo6B,gBAAA,EACAn+B,cAAA,KAIA2vG,mBAAA,SAAA/C,EAAAtpK,GACA,IAAAoP,EAAApP,EAAA2sB,QACA1xB,KAAAiuK,SAAA,IAAAkD,EAAA,kBAAAh9J,EAAAk6J,EAAA5oK,IAAA,UAAA4oK,EAAA5oK,IAAA,SACA0O,EAAA+yG,QAAAK,aAAA,IAAAvnH,KAAAiuK,UAEAjuK,KAAA4tE,WAAA,IAAAmgG,EAAA,KAAAz6I,KACAtzB,KAAAk7I,aAAA,IAAA4yB,EAAA,KAAA9tK,KAAA4tE,YACA5tE,KAAAk7I,aAAAvtE,UAAA3tE,KAAA4tE,YAEA,IAAAsjG,EAAAlxK,KAAAiuK,SAAA8C,cACA7C,EAAAluK,KAAAmuK,wBAAAvlK,KAAA5I,KAAA+E,EAAAmsK,GAGA,+EACA,iEAAArmK,QAAA,SAAAujK,GACA8C,EAAAt7J,GAAAw4J,EAAAF,MAKAh7G,OAAA,SAAAm+G,EAAA92J,EAAAxV,GACA/E,KAAAiuK,UACAjuK,KAAAoxK,mBAAAC,EAAAtsK,GAGA,IAAAusK,EAAAtxK,KAAAiuK,SAAA8C,cACAF,EAAAQ,EAAA5rK,IAAA,eAEA8rK,EAAAD,EAAAE,eACAX,IAAA7wK,KAAAyxK,kBACAF,EAWAA,EAAAG,WAAA,CACAb,cACAC,YAAAO,EAAA5rK,IAAA,kBAZA8rK,EAAA,IAAAL,SAAAS,UAAA,iCACAd,cAEAe,WAAA,cACAd,YAAAO,EAAA5rK,IAAA,iBAEA6rK,EAAAO,aAAAN,KAUAvxK,KAAAyxK,gBAAAZ,EAEAS,EAAA1yF,UAAAyyF,EAAA5rK,IAAA,WACA6rK,EAAA5C,QAAA2C,EAAA5rK,IAAA,SAAkDi4E,WAAA,IAClD4zF,EAAA3C,SAAA0C,EAAA5rK,IAAA,UACA6rK,EAAA1C,WAAAyC,EAAA5rK,IAAA,YAEA4rK,EAAAJ,YAAAK,GAEA,IAAArsK,EAAAosK,EAAAnsK,iBAGAD,EAAAiqE,OAAA3R,MAAAhgC,IAAAv9B,KAAA4tE,YACA3oE,EAAAiqE,OAAA3xC,IAAAv9B,KAAA2/F,aAEA3/F,KAAA6uK,oBAGA7uK,KAAAk7I,aAAA3tE,SAAAtoE,EAAAiqE,OAAA3R,OACAv9D,KAAAk7I,aAAAltE,YAAAqjG,GAGApsK,EAAAiqE,OAAArN,cAAAwvG,EAAA12I,SAAA,cAAA51B,GACAE,EAAAiqE,OAAAnL,yBAAAstG,EAAA12I,SAAA,0BAEA36B,KAAA8xK,iBAAAT,GAGApkF,YAAA,SAAAokF,EAAA92J,EAAAxV,EAAA2hH,GACA,IAAAtvF,EAAAsvF,EAAAtvF,SACAp3B,KAAAk7I,aAAA7sE,qBAAAj3C,EAAAi6I,EAAAtsK,GACA/E,KAAAk7I,aAAAtsE,aAAAx3C,EAAAi6I,EAAAtsK,GAIAssK,EAAAnsK,iBAAAgqE,OAAA3R,MAAAprC,SAAA,SAAAigC,GACAA,EAAAv/B,WACAu/B,EAAAv/B,SAAA0H,OAAA,+BACA63B,EAAAv/B,SAAA0H,OAAA,sCAKAw0I,aAAA,SAAAsC,EAAA92J,EAAAxV,EAAAynB,GACA6kJ,EAAAnsK,iBAAAk9G,gBAAA51F,GAEAxsB,KAAA6uK,oBAEA9pK,EAAA2sB,QAAAyB,WAGAg7I,wBAAA,SAAAppK,EAAAmsK,EAAAG,GACAtsK,EAAAqoG,eAAA,CACAjtG,KAAA,yBACA2hH,MAAAovD,EAAAlC,WACAhtD,KAAAkvD,EAAAnsD,UACA7oG,OAAAg1J,EAAAzyF,YAAAx/C,UACA4iF,QAAAqvD,EAAAjC,aACA8C,aAAA/xK,KAAA8xK,kBAAA9xK,KAAA8xK,iBAAA7lJ,MAIA4iJ,kBAAA,WACA,GAAA7uK,KAAA8xK,iBAAA,CACA,IAAA7sK,EAAAjF,KAAA8xK,iBAAA5sK,iBACA29G,EAAA59G,EAAAM,YAAAN,EAAAiX,QACAlc,KAAA2/F,YAAAr5F,SAAA8sB,IAAAyvF,EAAA,GAAAA,EAAA,UAEA,IAAApuB,EAAA,IAAAs5E,EAAA,KAAAj5I,MAAA,IAAAi5I,EAAA,KAAAx5I,QAAA,UACA46I,EAAAlqK,EAAAiqE,OAAA5c,OAAAkM,QAAA,IAAAuvG,EAAA,KAAAz5I,SAAA,OACA86I,EAAAnqK,EAAAiqE,OAAA5c,OAAAkM,QAAA,IAAAuvG,EAAA,KAAAz5I,QAAA,MACA+6I,EAAAF,EAAA36E,eAAAC,GACA66E,EAAAF,EAAA56E,eAAAC,GACA18E,EAAAs3J,EAAA1xI,KAAA2xI,GAAArqK,EAAAiqE,OAAA1R,SAAAzlD,MAAA/V,EACAhC,KAAA2/F,YAAA5nF,MAAAqb,IAAArb,IAAA,KAIAjC,QAAA,SAAAyE,EAAAxV,GACA/E,KAAAiuK,UACAjuK,KAAAiuK,SAAAn4J,UAEA/Q,EAAA2sB,QAAAw1F,QAAAqoD,UAAA,SAMA,SAAA7sK,EAAAwrB,EAAArvB,GAEA,aAOA,SAAAmzK,EAAA/lJ,EAAA9X,EAAA89J,EAAAC,GAQA,GAPAlyK,KAAAisB,KACAjsB,KAAAmU,KAEAnU,KAAA49E,IAAAhzE,SAAAirB,cAAA,OACA71B,KAAA49E,IAAAr9E,MAAA4oH,QAAA,oDAGA+nD,SACA,UAAAvjI,MAAA,+DAGA3tC,KAAAgxK,UAAA,IAAAE,SAAAxB,IAAA1vK,KAAA49E,IAAA,CACA1hE,OAAA+1J,EACAjwD,KAAAkwD,EACAC,KAAA,IAKAnyK,KAAA4vK,cAIAoC,EAAA/xK,UAAAo+D,OAAA,WACAr+D,KAAAgxK,UAAAoB,aAGAJ,EAAA/xK,UAAA8wK,YAAA,WACA,OAAA/wK,KAAAgxK,WAGAgB,EAAA/xK,UAAAyM,MAAA,aACAslK,EAAA/xK,UAAAkzB,QAAA,WACAnzB,KAAAgxK,UAAAoB,aAGA,IAAAvC,EAAA,sDACA,8BACA,mDAEAmC,EAAA/xK,UAAA2vK,YAAA,WAEA,IAAAyC,EAAAryK,KAAA49E,IACA59E,KAAAgwK,UAAAhwK,KAAAgwK,WAAA,CACAC,YAAA,SAAA95J,GAEA,OADAA,EAAAmrE,kBACA,IAGAuuF,EAAAhlK,QAAA,SAAAujK,GACApuK,KAAAgwK,UAAA5B,GAAA,SAAAj4J,GACA,IAAArL,EAAA,GACA,QAAAwD,KAAA6H,EACArL,EAAAwD,GAAA6H,EAAA7H,GAEAxD,EAAAolK,SAAA,EACA,IAAAC,EAAA,IAAAh6J,EAAAjW,YAAAiW,EAAAhW,KAAA2K,GACA,eAAAsjK,GAAA,mBAAAA,EAEAiE,EAAAlqC,cAAAgoC,GAGAkC,EAAAC,kBAAAnqC,cAAAgoC,IAGAnwK,KAAAmU,GAAAypE,IAAAC,iBAAAuwF,EAAApuK,KAAAgwK,UAAA5B,KACKpuK,MAGLA,KAAAmU,GAAAypE,IAAAC,iBAAA,cAAA79E,KAAAgwK,UAAAC,cAGA+B,EAAA/xK,UAAA6V,QAAA,WACA+5J,EAAAhlK,QAAA,SAAAujK,GACApuK,KAAAmU,GAAAypE,IAAAI,oBAAAowF,EAAApuK,KAAAgwK,UAAA5B,KACKpuK,MACLA,KAAAgxK,UAAAxkK,UAGA0hB,EAAA,QAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAIA41I,GAHA1zK,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KAUA+9B,EAAAr0B,EAAApJ,eAAA4J,OAAAwpK,EAAA,KAAAxpK,CAAA,UAEA6zB,EAAAr0B,EAAAlJ,kBAAA,SAAAkb,EAAAxV,GACAwV,EAAA+kG,iBAAA,iBAAAhlG,GACA,IAAA/O,EAAA+O,EAAAE,UACAjP,EAAAinK,WAAA,SAAA70J,GACA,OAAApS,EAAAu5E,SAAAnnE,UAOA,SAAAjb,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAirG,EAAA/oI,EAAA,GACA4zK,EAAA5zK,EAAA,GACA6zK,EAAA7zK,EAAA,KACA8zK,EAAA9zK,EAAA,KAOAiqC,EAAA2pI,EAAA,KAAA3pI,KACA8pI,EAAAh2I,EAAAr0B,EAAA++E,OAAAU,UAAA4qF,mBAEA,SAAAC,EAAAv4J,EAAArV,GACA,IAAAsG,EAAA+O,EAAAE,UACAs4J,EAAAx4J,EAAA7U,IAAA,gBACAstK,EAAAz4J,EAAA7U,IAAA,WACA0hF,EAAA,oBAAA/5E,IAAA,SAAA4lK,GACA,OAAA14J,EAAAkO,kBAAAwqJ,GAAA,KAEA,SAAAD,EAAA,CACA,IAAAE,EAAAhuK,EAAAkX,OAAAzV,KAAAC,GACAusK,EAAAnqK,OAAA4pK,EAAA,KAAA5pK,CAAAwC,EAAA47E,EAAA,GAAAA,EAAA,IACA4rF,EAAA,CACAE,EAAAvsK,KAAAk+C,KAAAr5C,EAAAoO,QAAAu5J,GACAD,EAAAvsK,KAAAk+C,KAAAr5C,EAAAoO,QAAAu5J,SAGAt2I,EAAAr0B,EAAAqpB,KAAA5oB,QAAA+pK,KACAA,EAAA,CAAAA,MAGA,IAAAI,EAAAC,EAAA7nK,EAAA47E,GAEA57E,EAAA4b,KAAAggE,EAAA,SAAAg8B,EAAAC,EAAAn6G,EAAA0U,GACA,IAAA01J,EAAA9nK,EAAA9F,IAAA0tK,EAAAG,UAAA31J,GACA41J,EAAAJ,EAAAK,UAAAH,EAAApqK,EAAAhE,EAAAo5G,aAAAtmG,MAAAiD,YAAA,GAEAzY,EAAAmE,KAAAS,IAAAlC,EAAAo5G,aAAA+C,YAAAn4G,GAAA6pK,GACA1mJ,EAAAnnB,EAAAM,YAAA,CAAA49G,EAAAC,EAAAmwD,IACAhqJ,EAAAtkB,EAAAM,YAAA,CAAA49G,EAAAC,EAAAiwD,IACA35I,EAAAoP,EAAA1qB,IAAA,GAAAmL,EAAA6C,GACA0c,EAAAzqB,UAAAqb,KACA,IAAAze,EAAA,CAAA83J,EAAA,GAAAxwK,EAAAwwK,EAAA,IACAxnK,EAAAkoK,cAAA91J,EAAA,CAAAyO,EAAAsN,EAAAze,MAGA1P,EAAAmoK,UAAA,SAAA9rC,EAAA,KAAA7mG,GAAA3D,OAGA,SAAAu2I,EAAAr5J,EAAArV,GACA,IAAAsG,EAAA+O,EAAAE,UACAu4J,EAAAz4J,EAAA7U,IAAA,WACAqtK,EAAAx4J,EAAA7U,IAAA,gBACA0hF,EAAA,oBAAA/5E,IAAA,SAAA4lK,GACA,OAAA14J,EAAAkO,kBAAAwqJ,GAAA,KAEA,SAAAD,EAAA,CACA,IAAA93J,EAAAvU,KAAAQ,IAAAjC,EAAAgW,KAAA,GAAAhW,EAAAgW,KAAA,IAEAi4J,EAAAnqK,OAAA4pK,EAAA,KAAA5pK,CAAAwC,EAAA47E,EAAA,GAAAA,EAAA,IACA4rF,EAAA,CACA93J,EAAAvU,KAAAk+C,KAAAr5C,EAAAoO,QAAAu5J,GACAj4J,EAAAvU,KAAAk+C,KAAAr5C,EAAAoO,QAAAu5J,SAGAt2I,EAAAr0B,EAAAqpB,KAAA5oB,QAAA+pK,KACAA,EAAA,CAAAA,MAEA,IAAAr5I,EAAA,QAEAy5I,EAAAC,EAAA7nK,EAAA47E,GAEA57E,EAAA4b,KAAAggE,EAAA,SAAAg8B,EAAAC,EAAAn6G,EAAA0U,GACA,IAAA01J,EAAA9nK,EAAA9F,IAAA0tK,EAAAG,UAAA31J,GACA41J,EAAAJ,EAAAK,UAAAH,EAAApqK,EAAAhE,EAAAo5G,aAAAtmG,MAAAiD,YAAA,GAEAzY,EAAAmE,KAAAS,IAAAlC,EAAAo5G,aAAA+C,YAAAn4G,GAAA6pK,GACA1mJ,EAAAnnB,EAAAM,YAAA,CAAA49G,EAAAC,EAAAmwD,IACAt4J,EAAA,CAAA83J,EAAA,GAAAxwK,EAAAwwK,EAAA,IACAxnK,EAAAkoK,cAAA91J,EAAA,CAAAyO,EAAAsN,EAAAze,MAGA1P,EAAAmoK,UAAA,kBAGA,SAAAE,EAAAt5J,EAAArV,GACA,IAAAsG,EAAA+O,EAAAE,UACAq5J,EAAAv5J,EAAAkO,kBAAA,UACAsrJ,EAAAx5J,EAAAkO,kBAAA,UACAurJ,EAAAz5J,EAAAkO,kBAAA,UACAuqJ,EAAAz4J,EAAA7U,IAAA,WACAqtK,EAAAx4J,EAAA7U,IAAA,gBAEA,SAAAstK,EAAA,CACA,IAAAiB,EAAAzoK,EAAAqzG,cAAAi1D,GACAI,EAAA1oK,EAAAqzG,cAAAk1D,GACAI,EAAAjvK,EAAAM,YAAA,CAAAyuK,EAAA,GAAAC,EAAA,KACAE,EAAAlvK,EAAAM,YAAA,CAAAyuK,EAAA,GAAAC,EAAA,KAEAh5J,EAAAvU,KAAAQ,IACAR,KAAAiR,IAAAu8J,EAAA,GAAAC,EAAA,IACAztK,KAAAiR,IAAAu8J,EAAA,GAAAC,EAAA,MACA,EAEAjB,EAAAnqK,OAAA4pK,EAAA,KAAA5pK,CAAAwC,EAAAsoK,EAAAC,GAEAf,EAAA,CACA93J,EAAAvU,KAAAk+C,KAAAr5C,EAAAoO,QAAAu5J,GACAj4J,EAAAvU,KAAAk+C,KAAAr5C,EAAAoO,QAAAu5J,SAIAt2I,EAAAr0B,EAAAqpB,KAAA5oB,QAAA+pK,KACAA,EAAA,CAAAA,MAEAA,EAAA,IAAA9tK,EAAA69G,WAAA,GACAiwD,EAAA,IAAA9tK,EAAA69G,WAAA,GAGA,IAAAppF,EAAA,QACAytD,EAAA,CAAA0sF,EAAAC,EAAAC,GAEAZ,EAAAC,EAAA7nK,EAAA47E,GAEA57E,EAAA4b,KAAAggE,EAAA,SAAAg8B,EAAAC,EAAAn6G,EAAA0U,GACA,IAAA01J,EAAA9nK,EAAA9F,IAAA0tK,EAAAG,UAAA31J,GACA41J,EAAAJ,EAAAK,UAAAH,EAAApqK,EAAA,EAEAmjB,EAAAnnB,EAAAM,YAAA,CAAA49G,EAAAC,EAAAmwD,IACAhqJ,EAAAtkB,EAAAM,YAAA,CAAA49G,EAAAC,EAAAiwD,IACA9wK,EAAAmE,KAAAS,IAAAoiB,EAAA,GAAA6C,EAAA,GAAA0mJ,GACA73J,EAAA,CAAA83J,EAAA,GAAAxwK,EAAAwwK,EAAA,IACAxnK,EAAAkoK,cAAA91J,EAAA,CAAAyO,EAAAsN,EAAAze,MAGA1P,EAAAmoK,UAAA,kBAGA,SAAAN,EAAA7nK,EAAA2d,GACA,IAAAsqJ,EAAAZ,EAAArnK,EAAA2d,EAAA,IACA,OACAoqJ,UAAAE,EACAjoK,EAAA6oK,mBAAA,wBACAlrJ,EAAA,GACAsqJ,aAIA52I,EAAAr0B,EAAAnJ,eAAA,SAAAmb,EAAAxV,GACAwV,EAAA+kG,iBAAA,iBAAAhlG,GACA,IAAArV,EAAAqV,EAAApV,iBACAmvK,EAAApvK,KAAA9E,KACA,aAAAk0K,EACAxB,EAAAv4J,EAAArV,QAEA,mBAAAovK,EACAtrK,OAAA2pK,EAAA,KAAA3pK,CAAAuR,EAAArV,QAEA,aAAAovK,EACAV,EAAAr5J,EAAArV,OAEA,iBAAAovK,GAAA,eAAAA,EAKA,MAAApvK,EAIA,IAAA0oC,MAAA,2CAAA1oC,EAAA9E,MAHA,IAAAwtC,MAAA,yCALAimI,EAAAt5J,EAAArV,SAiBA,SAAAvC,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA6pE,EAAA3nG,EAAA,GAGAiqC,EAAA09D,EAAA,KAAA19D,KACA8pI,EAAAh2I,EAAAr0B,EAAA++E,OAAAU,UAAA4qF,mBAEA,SAAA0B,EAAAv5J,GACA,IAAA7T,EAAA6T,EAAA,GACA5T,EAAA4T,EAAA,GACA,QAAA7T,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAGA,SAAAotK,EAAAj6J,EAAArV,GAEA,IAAAsG,EAAA+O,EAAAE,UAGAu4J,EAAAz4J,EAAA7U,IAAA,WACA,SAAAstK,EAAA,CACA,IACAyB,EACAC,EAFAx5J,EAAAhW,EAAAgW,KAGA4lE,EAAA57E,EAAAg3I,QAAA,KACAr7D,EAAA37E,EAAAg3I,QAAA,KAGAu4B,EADA,aAAA3zF,EAAA1gF,KACA,GAAA0gF,EAAA94E,eAIA,GAAArB,KAAAwT,MAAAe,EAAA,GAAAvU,KAAAk+C,KAAAr5C,EAAAoO,UAGA86J,EADA,aAAA7zF,EAAAzgF,KACA,GAAAygF,EAAA74E,eAGA,GAAArB,KAAAwT,MAAAe,EAAA,GAAAvU,KAAAk+C,KAAAr5C,EAAAoO,UAEAo5J,EAAA,CAAAyB,EAAAC,QAEA73I,EAAAr0B,EAAAqpB,KAAA5oB,QAAA+pK,KACAA,EAAA,CAAAA,MAGA,IAAA2B,EAAAzvK,EAAAg3I,QAAA,KAAAlkI,MAAAiD,YACA25J,EAAAL,EAAAI,GAEAvtF,EAAA,cAAA/5E,IAAA,SAAA4lK,GACA,OAAA14J,EAAAkO,kBAAAwqJ,GAAA,KAGAQ,EAAAZ,EAAArnK,EAAA47E,EAAA,IACAgsF,EAAAK,EACAjoK,EAAA6oK,mBAAA,wBACAjtF,EAAA,GAEA57E,EAAA4b,KAAAggE,EAAA,SAAAnlF,EAAAC,EAAAk7B,EAAAxf,GAGA,IAAA01J,EAAA9nK,EAAA9F,IAAA0tK,EAAAx1J,GAEA41J,EAAAC,EAAAH,EAAAl2I,EACAw3I,EAAA,EAAAD,EAAA,GAEAtoJ,EAAAnnB,EAAAM,YAAA,CAAAvD,EAAAC,EAAAsxK,IACAhqJ,EAAAtkB,EAAAM,YAAA,CAAAvD,EAAAC,EAAAoxK,IACA9wK,EAAAumC,EAAAnL,KAAAvR,EAAA7C,GAEAmQ,EAAA,GAAAnQ,EAAA,GAAA6C,EAAA,WACA,IAAA1lB,KAAAiR,IAAApV,KAEAA,EAAA,IAEA,IAAA0Y,EAAA,CAAA83J,EAAA,GAAAxwK,EAAAwwK,EAAA,IACAxnK,EAAAkoK,cAAA91J,EAAA,CAAAyO,EAAAsN,EAAAze,MAGA1P,EAAAmoK,UAAA,kBAGAxlJ,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,cAAA3iB,EAAAqpK,EAAAC,GASA,IARA,IAAAb,EAAAzoK,EAAAqzG,cAAAg2D,GACAX,EAAA1oK,EAAAqzG,cAAAi2D,GAGAC,EAAAd,EAAA,GAAAA,EAAA,IAAAA,EAAA,GACAe,EAAAd,EAAA,GAAAA,EAAA,IAAAA,EAAA,GACAe,EAAA,GACA7kH,EAAA,IAAA5E,WAAAypH,KACAjqK,EAAA,EAAmBA,EAAAQ,EAAAoO,QAAkB5O,IAAA,CACrC,IAAA/I,EAAAuJ,EAAA9F,IAAAmvK,EAAA7pK,GACA9I,EAAAsJ,EAAA9F,IAAAovK,EAAA9pK,GACAkqK,EAAAvuK,KAAAmK,OAAA7O,EAAAgyK,EAAA,IAAAc,GAAAE,EAAA,IACAE,EAAAxuK,KAAAmK,OAAA5O,EAAAgyK,EAAA,IAAAc,GAAAC,EAAA,IACAr3J,EAAAu3J,EAAAF,EAAAC,EACA9kH,EAAAxyC,GAAAwyC,EAAAxyC,IAAA,EAEA,IAAAw3J,EAAA,EACA,IAAApqK,EAAA,EAAmBA,EAAAolD,EAAA5sD,OAAgBwH,IACnColD,EAAAplD,IACAoqK,IAGA,OAAAA,EAAAhlH,EAAA5sD,SAKA,SAAAb,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAiiE,EAAA//F,EAAA,GACA6gJ,EAAA7gJ,EAAA,GACAu2K,EAAAv2K,EAAA,IACAw2K,EAAAx2K,EAAA,KACAy2K,EAAAz2K,EAAA,IACA02K,EAAA12K,EAAA,GAQAiqC,EAAAysI,EAAA,KAAAzsI,KAEAlM,EAAAr0B,EAAAitK,gBAAA,CAEAr1K,KAAA,QAEAsmH,UAAA,EAEAvjG,KAAA,SAAA3I,EAAAxV,GAEA/E,KAAA8mH,QAAA,IAAAloB,EAAA,KAAAtrE,KAEAtzB,KAAAggG,KAAAj7F,EAEA/E,KAAA6/F,eAAA,IAAAy1E,EAAA,aAAAvwK,GACA,IAAA2iC,EAAA1nC,KACAA,KAAA6/F,eAAAa,iBAAA,SAAAj7E,EAAAnf,EAAAkJ,GACA,GAAAk4B,EAAAq5D,MAAA,CACA,IAAA96F,EAAAyhC,EAAAq5D,MAAA00E,cAAAhwJ,GACA2G,EAAAnmB,EAAA,GACAyzB,EAAAzzB,EAAA,GACA1D,EAAA0D,EAAA,MACA,OAAA6iC,EAAAxqB,YAAA,GAAA8N,EAAAsN,EAAAlqB,EAAAjN,GAGA,aAKAvC,KAAA6/F,eAAAC,UAAAjN,YAAA,KAGA3/B,OAAA,SAAA54C,EAAAC,EAAAxV,GAGA,IAAAorD,EAAAnwD,KAAA01K,aACA11K,KAAA01K,aAAA11K,KAAA21K,SACA31K,KAAA21K,SAAAxlH,EAEAnwD,KAAA21K,WACA31K,KAAA21K,SAAA,IAAA/2E,EAAA,KAAArrE,KAAA,CACA0I,SAAA,IAAAo5I,EAAA,KACAr5I,oBAAA,IAAA4iE,EAAA,KAAAnrE,SAAA,CACAd,OAAA,IAAAisE,EAAA,KAAAprE,OACAorE,EAAA,KAAAprE,OAAAyG,OAAA,wBACA2kE,EAAA,KAAAprE,OAAAyG,OAAA,6BAKA2/C,QAAA,gBAAAt/D,EAAApV,iBAAA/E,KAEA0yF,YAAA,GAEApxB,cAAA,KAIAzhE,KAAA8mH,QAAAt6G,OAAAxM,KAAA01K,cACA11K,KAAA8mH,QAAAvpF,IAAAv9B,KAAA21K,UACA31K,KAAA8mH,QAAAvpF,IAAAv9B,KAAA6/F,eAAAC,WAEA,IAAA76F,EAAAqV,EAAApV,iBAEA,GADAlF,KAAAs/D,UAAAhlD,EAAAvV,GACAE,KAAAiqE,OAAA,CACAjqE,EAAAiqE,OAAA3xC,IAAAv9B,KAAA8mH,SAEA,IAAAr9F,EAAAxkB,EAAAiqE,OAAAjL,gBAAA,oBACAjkE,KAAA21K,SAAA9iJ,SAAApJ,GAAA,0BAGAzpB,KAAA+gG,MAAAzmF,EAAAE,UAEAxa,KAAA6/F,eAAAY,WAAAzgG,KAAA+gG,OAEA/gG,KAAA6/F,eAAAmB,eAEAhhG,KAAAmsG,iBAAA7xF,IAGA6xF,iBAAA,SAAA7xF,GACAskF,EAAA,KAAAnjE,sBACA,6BACA,yBACAz7B,KAAA01K,aACA11K,KAAA21K,SACAr7J,IAIAglD,UAAA,SAAAhlD,EAAAvV,GACA,IAAAwG,EAAA+O,EAAAE,UACAigB,EAAAngB,EAAA7U,IAAA,WACAmwK,EAAA,UAAAn7I,EACAiN,EAAA1nC,KACA61K,EAAA71K,KAAA21K,SAEAhN,EAAA,QAAAluI,EACAo7I,EAAAhjJ,UAAAgjJ,EAAAhjJ,SAAAF,OAAArkB,OAAAq6J,IACAkN,EAAAhjJ,SAAA+rE,EAAA,KAAAxkE,eAAAuuI,EAAA,mBAGA/pE,EAAA,KAAApkE,qBACAC,EAAAo7I,EAAAhjJ,SAAAvY,EAAAvV,GAGA8wK,EAAA55I,SAAA25I,eAEAC,EAAA55I,SAAAwqC,cAGA,IAAAqvG,EAAAx7J,EAAA7U,IAAA,aACAswK,EAAAz7J,EAAA7U,IAAA,mBACAowK,EAAA55I,SAAA85I,gBAEAF,EAAA55I,SAAA65I,YAEA,IAAAzvE,EAAA,GACA2vE,EAAA,IAAAxqI,aAAA,EAAAjgC,EAAAoO,SACAs8J,EAAA,EACAC,EAAA,EACAC,GAAA,EAEA5qK,EAAA4b,KAAA,SAAAxJ,GACA,GAAApS,EAAAu5E,SAAAnnE,GAAA,CAGA,IAAAmJ,EAAAvb,EAAAic,cAAA7J,EAAA,SAEAm2C,EAAAvoD,EAAAic,cAAA7J,EAAA,WACA,MAAAm2C,IACAA,EAAA,GAGA8qC,EAAA,KAAA1lE,WAAApS,EAAAu/E,GACAA,EAAA,IAAAvyC,EACAkiH,EAAAC,KAAA5vE,EAAA,GACA2vE,EAAAC,KAAA5vE,EAAA,GACA2vE,EAAAC,KAAA5vE,EAAA,GACA2vE,EAAAC,KAAA5vE,EAAA,GAEAA,EAAA,OACA6vE,IACA7vE,EAAA,SACA8vE,GAAA,OAKAN,EAAA55I,SAAAm6I,YAAAF,GAEA,IAAAh0F,EAAA32E,EAAAsS,UAAA,UAGAw4J,EAAAr2K,KAAAs2K,gBAAA,IAAAxwC,WAAAv6H,EAAAoO,SACAu8J,EAAA,EACA3qK,EAAA4b,KAAA,SAAAxJ,GACA,GAAApS,EAAAu5E,SAAAnnE,GAAA,CAIA,IAAA1X,EAAAsF,EAAAkqK,cAAA93J,GACAyO,EAAAnmB,EAAA,GACAyzB,EAAAzzB,EAAA,GACAgV,EAAAhV,EAAA,GAEA28H,EAAA,EAAAjlH,EACA0oF,EAAA,GAAA2vE,EAAApzC,KACAv8B,EAAA,GAAA2vE,EAAApzC,KACAv8B,EAAA,GAAA2vE,EAAApzC,KACAv8B,EAAA,GAAA2vE,EAAApzC,KACAv8B,EAAA,OACA3+D,EAAAiuI,SAAA15I,SAAAs6I,OAAAnqJ,EAAAsN,EAAAwoD,EAAAjnE,EAAAorF,EAAA1oF,GACA04J,EAAA14J,GAAAu4J,UAfAG,EAAA14J,IAAA,IAmBAk4J,EAAA55I,SAAAtX,QACAkxJ,EAAA55I,SAAAmxB,oBAEA,IAAAv6B,EAAAgjJ,EAAAhjJ,SACAA,EAAA6gC,YAAAyiH,EACAtjJ,EAAA0gC,WAAA4iH,EACAN,EAAA55I,SAAAolE,cAAA80E,EAEAn2K,KAAAw2K,aAAAl8J,EAAAvV,IAGAyxK,aAAA,SAAAl8J,EAAAvV,GACA,IAAAwG,EAAA+O,EAAAE,UACAq7J,EAAA71K,KAAA21K,SACAzoE,EAAA,gBAAA5yF,EAAApV,iBAAA/E,KAEA01K,EAAAhzJ,YAAAvI,EAAAuI,YAEA,IAAAoqF,GAAA,EACA4oE,EAAAhgK,IAAA,aACAggK,EAAAhgK,IAAA,YACAggK,EAAAjgK,GAAA,qBAAAO,GACA,IAAAsP,EAAAowJ,EAAA55I,SAAAw6I,qBAAAtgK,EAAAmtF,SAAA,IACA79E,IAAAwnF,IACAjtG,KAAA02K,UAAAzpE,GACAjtG,KAAA22K,WAAAlxJ,GACAzlB,KAAA6/F,eAAAmB,aAAA,CAAAv7E,IAEAynF,GACAnoG,EAAAqoG,eAAA,CACAjtG,KAAA,wBACA8D,MAAA,CAAAsH,EAAA9F,IAAA,IAAAggB,GAAAla,EAAA9F,IAAA,IAAAggB,GAAAla,EAAA9F,IAAA,IAAAggB,GAAA,OAKAwnF,EAAAxnF,EACAowJ,EAAApwJ,aACSzlB,MACT61K,EAAAjgK,GAAA,oBAAAO,GACAnW,KAAA02K,UAAAzpE,GACAjtG,KAAA6/F,eAAAmB,eACAiM,GAAA,EACA4oE,EAAApwJ,WAAA,EAEAynF,GACAnoG,EAAAqoG,eAAA,CACAjtG,KAAA,2BAGSH,OAGT22K,WAAA,SAAAlxJ,GACA,IAAAla,EAAAvL,KAAA+gG,MACA,GAAAx1F,EAAA,CAGA,IAAAqrK,EAAA52K,KAAAs2K,gBAAA7wJ,GACA,KAAAmxJ,EAAA,IAIA,IAAA1rJ,EAAA3f,EAAA4f,aAAA1F,GACAwgF,EAAA/6E,EAAAyP,SAAA,sBACAurE,EAAAD,EAAAxgG,IAAA,SACA0gG,EAAAF,EAAAxgG,IAAA,WACA,SAAAygG,EAAA,CACA,IAAAp/E,EAAAvb,EAAAic,cAAA/B,EAAA,SACAygF,EAAAtpE,EAAAr0B,EAAAue,MAAAs/E,KAAAt/E,GAAA,IAEA,MAAAq/E,IACAA,EAAA56F,EAAAic,cAAA/B,EAAA,YAEA,IAAA4gF,EAAAzH,EAAA,KAAA1lE,WAAAgtE,GACAG,EAAA,IAAAF,EAEAnmG,KAAA21K,SAAA15I,SAAA46I,SAAAD,EAAAvwE,GAEArmG,KAAAggG,KAAAtuE,QAAAyB,aAGAujJ,UAAA,SAAAjxJ,GACA,IAAAla,EAAAvL,KAAA+gG,MACA,GAAAx1F,EAAA,CAGA,IAAAqrK,EAAA52K,KAAAs2K,gBAAA7wJ,GACA,KAAAmxJ,EAAA,IAIA,IAAA9vJ,EAAAvb,EAAAic,cAAA/B,EAAA,SACAquC,EAAAvoD,EAAAic,cAAA/B,EAAA,WAEA4gF,EAAAzH,EAAA,KAAA1lE,WAAApS,GACAu/E,EAAA,IAAAvyC,EAEA9zD,KAAA21K,SAAA15I,SAAA46I,SAAAD,EAAAvwE,GAEArmG,KAAAggG,KAAAtuE,QAAAyB,aAGAqwE,UAAA,SAAAlpF,EAAAC,EAAAxV,EAAAynB,GACAxsB,KAAA82K,cAAA,YAAAx8J,EAAAC,EAAAxV,EAAAynB,IAGA+2E,SAAA,SAAAjpF,EAAAC,EAAAxV,EAAAynB,GACAxsB,KAAA82K,cAAA,WAAAx8J,EAAAC,EAAAxV,EAAAynB,IAGAsqJ,cAAA,SAAAn/G,EAAAr9C,EAAAC,EAAAxV,EAAAynB,GACA,IAAAjhB,EAAA+O,EAAAE,UACAiL,EAAAi6H,EAAA,KAAA5iH,eAAAvxB,EAAAihB,GAEAkb,EAAA1nC,KACA,MAAAylB,EACAmX,EAAAr0B,EAAAqpB,KAAAzK,KAAAiuJ,EAAA,KAAArlG,iBAAAtqD,GAAA,SAAAsxJ,GACA,cAAAp/G,EAAA33D,KAAA22K,WAAAI,GAAA/2K,KAAA02K,UAAAK,IACa/2K,MAGbuL,EAAA4b,KAAA,SAAA4vJ,GACA,cAAAp/G,EAAAjwB,EAAAivI,WAAAI,GAAArvI,EAAAgvI,UAAAK,MAKAvqK,OAAA,WACAxM,KAAA8mH,QAAAziD,aAGAvuD,QAAA,WACA9V,KAAA8mH,QAAAziD,gBAMA,SAAA3hE,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAq6I,EAAAn4K,EAAA,IACAo4K,EAAAp4K,EAAA,IACAq4K,EAAAr4K,EAAA,IACAs4K,EAAAt4K,EAAA,GAcAiqC,EAAAquI,EAAA,KAAAruI,KACAM,EAAA+tI,EAAA,KAAA/tI,KAOAguI,EAAAF,EAAA,KAAAxyK,OAAA,WACA,OAEA03B,WAAA,CACA91B,SAAA,IAAA4wK,EAAA,KAAAxqH,UAAA,iCACAG,OAAA,IAAAqqH,EAAA,KAAAxqH,UAAA,6BACA5lC,MAAA,IAAAowJ,EAAA,KAAAxqH,UAAA,2BAEA6Z,aAAA,IAAA2wG,EAAA,KAAAxqH,UAAA,0BACA2qH,WAAA,IAAAH,EAAA,KAAAxqH,UAAA,yBAGA3qB,SAAA,EAEA6zI,cAAA,EAEAE,UAAA,EACAC,cAAA,EAGAuB,aAAA,KAEA5wG,cAAA,EACAC,gBAAA,IAIA,CAEAF,YAAA,WACAzmE,KAAA0mE,cAAA,EACA1mE,KAAA2mE,gBAAA,GAGAyvG,YAAA,SAAAF,GACA,IAAAN,EAAA51K,KAAA41K,aACA15I,EAAAl8B,KAAAu3K,oBAAArB,EACAlvG,EAAAhnE,KAAAw3K,sBAAAtB,EAEAl2K,KAAAk8B,kBACAl8B,KAAAo8B,WAAA91B,SAAA4c,KAAAgZ,GACA05I,EACA51K,KAAAo8B,WAAAywB,OAAA3pC,KAAAgZ,GAGAl8B,KAAAo8B,WAAAywB,OAAA5oD,MAAA,KAEAjE,KAAAo8B,WAAAtV,MAAA5D,KAAAgZ,IAGAl8B,KAAAgnE,oBACAhnE,KAAAytD,QAAAvxB,EAAA,UAAAuvB,YAAA,EAAAub,GAAA,IAAAxb,YAAA,EAAAwb,GAEAhnE,KAAAs3K,aAAA,IAAA7rH,YAAAvvB,KAIAq7I,kBAAA,WACA,IAAAxB,EAAA/1K,KAAA81K,UAAA,EAAA91K,KAAA+1K,cAAA,EACA,OAAAA,EAAA,EAAA/1K,KAAAy3K,wBAAA1B,GACA/1K,KAAA41K,aAAA,MAGA4B,oBAAA,WACA,IAAAzB,EAAA/1K,KAAA81K,UAAA,EAAA91K,KAAA+1K,cAAA,EACA,OAAAA,EAAA,EAAA/1K,KAAA03K,0BAAA3B,GACA,IAGA0B,wBAAA,SAAA1B,GACA,UAAAA,EAAA,IAAAA,EAAA,MAGA2B,0BAAA,SAAA3B,GACA,IAAA57F,EAAA,EAAA47F,EAAA,EACA37F,EAAA,EAAA27F,EAAA,EACA,OAAA57F,EAAA,GAAAC,EAAA,KAGAy8F,SAAA,SAAAl5J,EAAAmJ,GAIA,IAHA,IAAAoV,EAAAl8B,KAAAu3K,oBACAnrJ,EAAA8P,EAAAve,EACA4L,EAAA2S,GAAAve,EAAA,GACA5S,EAAAqhB,EAA2BrhB,EAAAwe,EAASxe,IACpC/K,KAAAo8B,WAAAtV,MAAAsM,IAAAroB,EAAA+b,GAEA9mB,KAAA0tG,eAAA,UAOA+oE,qBAAA,SAAAtpE,GACA,OAAAntG,KAAAs3K,aAAAt3K,KAAAs3K,aAAAnqE,GAAA,MAWAopE,OAAA,WAcA,IAbA,IAAAoB,EAAA7uI,EAAAgG,OACA8oI,EAAA9uI,EAAAxqB,YAEAiL,EAAAouJ,IACAvsG,EAAAusG,IACArsG,EAAAqsG,IACAnsG,EAAAmsG,IACAtsG,EAAAssG,IACApsG,EAAAosG,IACAlsG,EAAAksG,IAEA16J,EAAA,GACA0wC,EAAA,GACA5iD,EAAA,EAAuBA,EAAA,EAAOA,IAC9BkS,EAAAlS,GAAA4sK,IAGA,IAAAE,EAAA,CAEA,UAEA,UAEA,UAEA,UAEA,UAEA,WAEAC,EAAA,CACA,aAEAC,EAAA,GACA,IAAAhtK,EAAA,EAAuBA,EAAA8sK,EAAAt0K,OAAuBwH,IAE9C,IADA,IAAAitK,EAAAH,EAAA9sK,GACA2F,EAAA,EAA2BA,EAAA,EAAOA,IAAA,CAElC,IADA,IAAAkqI,EAAA,GACAl6H,EAAA,EAA+BA,EAAA,EAAOA,IACtCk6H,EAAAjoI,KAAAqlK,EAAAF,EAAA,EAAApnK,EAAAgQ,KAEAq3J,EAAAplK,KAAAioI,GAGA,gBAAAxuH,EAAAsN,EAAAu+I,EAAAh9J,EAAA6L,EAAArB,GAGA,IAAAyyJ,EAAAl4K,KAAA0mE,cAEA,GAAA1mE,KAAA81K,UAAA,GAAA91K,KAAA+1K,cAAA,EACA/1K,KAAAm4K,aAAA/rJ,EAAAsN,EAAAu+I,EAAAh9J,EAAAjb,KAAA81K,UAAA91K,KAAA+1K,cAAAjvJ,OAEA,CACAgiB,EAAA1vB,KAAAkyD,EAAA5xC,GACAoP,EAAAzqB,UAAAitD,KAEAxiC,EAAApL,MAAA8tC,EAAAysG,EAAA3sG,GACAxiC,EAAAzqB,UAAAmtD,KAEA1iC,EAAApL,MAAA0tC,EAAAE,EAAAE,GACA1iC,EAAAzqB,UAAAmtD,KAEA1iC,EAAA5K,OAAAmtC,EAAAD,GACAtiC,EAAA5K,OAAAqtC,EAAAD,GACAxiC,EAAA5K,OAAAutC,EAAAD,GAEAosG,EAAA36J,EAAA,GAAAmP,EAAAg/C,EAAAnwD,EAAA,MACA28J,EAAA36J,EAAA,GAAAA,EAAA,GAAAuuD,EAAAvwD,EAAA,MACA28J,EAAA36J,EAAA,GAAAmP,EAAAg/C,EAAAnwD,EAAA,MACA28J,EAAA36J,EAAA,GAAAA,EAAA,GAAAwuD,EAAAxwD,EAAA,MACA28J,EAAA36J,EAAA,GAAAmP,EAAAi/C,EAAApwD,EAAA,MACA28J,EAAA36J,EAAA,GAAAA,EAAA,GAAAwuD,EAAAxwD,EAAA,MACA28J,EAAA36J,EAAA,GAAAmP,EAAAi/C,EAAApwD,EAAA,MACA28J,EAAA36J,EAAA,GAAAA,EAAA,GAAAuuD,EAAAvwD,EAAA,MAEA28J,EAAAruJ,EAAA6C,EAAAk/C,EAAArwD,EAAA,IAEA28J,EAAA36J,EAAA,GAAAsM,EAAA6hD,EAAAnwD,EAAA,MACA28J,EAAA36J,EAAA,GAAAA,EAAA,GAAAuuD,EAAAvwD,EAAA,MACA28J,EAAA36J,EAAA,GAAAsM,EAAA6hD,EAAAnwD,EAAA,MACA28J,EAAA36J,EAAA,GAAAA,EAAA,GAAAwuD,EAAAxwD,EAAA,MACA28J,EAAA36J,EAAA,GAAAsM,EAAA8hD,EAAApwD,EAAA,MACA28J,EAAA36J,EAAA,GAAAA,EAAA,GAAAwuD,EAAAxwD,EAAA,MACA28J,EAAA36J,EAAA,GAAAsM,EAAA8hD,EAAApwD,EAAA,MACA28J,EAAA36J,EAAA,GAAAA,EAAA,GAAAuuD,EAAAvwD,EAAA,MAEA,IAAAmhB,EAAAp8B,KAAAo8B,WACA,GAAAp8B,KAAA41K,aAAA,CACAjoH,EAAA,GAAAyd,EACAzd,EAAA,GAAA0d,EACA1d,EAAA,GAAA2d,EACA3d,EAAA,GAAA4d,EACA5d,EAAA,GAAA6d,EACA7d,EAAA,GAAA8d,EAGA,IADA,IAAApB,EAAArqE,KAAA0mE,cACA37D,EAAA,EAAmCA,EAAA8sK,EAAAt0K,OAAuBwH,IAAA,CAE1D,IADA,IAAAy/D,EAAA,EAAAxqE,KAAA2mE,gBACAjmD,EAAA,EAAuCA,EAAA,EAAOA,IAC9C1gB,KAAAytD,QAAA+c,KAAAH,EAAAytG,EAAAp3J,GAEA2pD,GAAA,EACArqE,KAAA2mE,iBAAA,EAGA,IAAA57D,EAAA,EAAmCA,EAAA8sK,EAAAt0K,OAAuBwH,IAC1D,KAAA8hD,EAAAc,EAAA5iD,GACA,IAAA2V,EAAA,EAAuCA,EAAA,EAAOA,IAAA,CAC9C,IAAA/C,EAAAk6J,EAAA9sK,GAAA2V,GACA0b,EAAA91B,SAAA8sB,IAAApzB,KAAA0mE,cAAAzpD,EAAAU,IACAye,EAAAywB,OAAAz5B,IAAApzB,KAAA0mE,cAAA7Z,GACAzwB,EAAAtV,MAAAsM,IAAApzB,KAAA0mE,gBAAA5/C,SAIA,CACA,IAAA/b,EAAA,EAAmCA,EAAAgtK,EAAAx0K,OAAuBwH,IAAA,CAE1D,IADAy/D,EAAA,EAAAxqE,KAAA2mE,gBACAjmD,EAAA,EAAuCA,EAAA,EAAOA,IAC9C1gB,KAAAytD,QAAA+c,EAAA9pD,GAAAq3J,EAAAhtK,GAAA2V,GAAA1gB,KAAA0mE,cAEA1mE,KAAA2mE,kBAGA,IAAA57D,EAAA,EAAmCA,EAAAkS,EAAA1Z,OAAgBwH,IACnDqxB,EAAA91B,SAAA8sB,IAAApzB,KAAA0mE,cAAAzpD,EAAAlS,IACAqxB,EAAAtV,MAAAsM,IAAApzB,KAAA0mE,gBAAA5/C,IAKA,IAAAsxJ,EAAAp4K,KAAA0mE,cAEA,IAAA37D,EAAAmtK,EAAqCntK,EAAAqtK,EAAcrtK,IACnD/K,KAAAs3K,aAAAvsK,GAAA0a,GAxIA,GAuJA0yJ,aAAA,WACA,IAAA/sG,EAAAtiC,EAAAgG,SACAw8B,EAAAxiC,EAAAgG,SACA08B,EAAA1iC,EAAAgG,SAEAupI,EAAAjvI,EAAA0F,SAEAwpI,EAAA,GAEAC,EAAA,YACAC,EAAA,YACAC,EAAA,MAEA,gBAAArsJ,EAAAsN,EAAAu+I,EAAAh9J,EAAA66J,EAAAC,EAAAjvJ,GACAgiB,EAAA1vB,KAAAkyD,EAAA5xC,GACAoP,EAAAzqB,UAAAitD,KAEAxiC,EAAApL,MAAA8tC,EAAAysG,EAAA3sG,GACAxiC,EAAAzqB,UAAAmtD,KAEA1iC,EAAApL,MAAA0tC,EAAAE,EAAAE,GACA1iC,EAAAzqB,UAAAmtD,KAEA6sG,EAAA,GAAAjtG,EAAA,GAAiCitG,EAAA,GAAAjtG,EAAA,GAAsBitG,EAAA,GAAAjtG,EAAA,GACvDitG,EAAA,GAAA/sG,EAAA,GAAiC+sG,EAAA,GAAA/sG,EAAA,GAAsB+sG,EAAA,GAAA/sG,EAAA,GACvD+sG,EAAA,GAAA7sG,EAAA,GAAiC6sG,EAAA,GAAA7sG,EAAA,GAAsB6sG,EAAA,GAAA7sG,EAAA,GAEvDsqG,EAAApvK,KAAAQ,IAAA+T,EAAA,GAAAA,EAAA,MAAA66J,EAEA,QAAA/qK,EAAA,EAA2BA,EAAA,EAAOA,IAClCutK,EAAAvtK,GAAArE,KAAAS,IAAA8T,EAAAlQ,GAAA,EAAA+qK,EAAA,GAEA,IAAA4C,GAAAz9J,EAAA,GAAAq9J,EAAA,MACAK,GAAA19J,EAAA,GAAAq9J,EAAA,MACAM,GAAA39J,EAAA,GAAAq9J,EAAA,MAEAx3E,EAAA,GACAj0C,EAAA,GACAwd,EAAArqE,KAAA0mE,cAEAmyG,EAAA,GACA,IAAA9tK,EAAA,EAA2BA,EAAA,EAAOA,IAAA,CAClC8tK,EAAA9tK,GAAA8tK,EAAA9tK,GAAA,GAEA,QAAAwiB,EAAA,EAA+BA,GAAAwoJ,EAAoBxoJ,IACnD,QAAA7c,EAAA,EAAmCA,EAAA,EAAOA,IAAA,EAC1C,IAAA6c,GAAA,IAAAxiB,GAAA,IAAAA,GAAAwiB,IAAAwoJ,IACA8C,EAAA9tK,GAAA4H,KAAA03D,GAEA,QAAAx8C,EAAA,EAAuCA,GAAAkoJ,EAAoBloJ,IAAA,CAE3D,IAAA4L,EAAA5L,EAAAkoJ,EAAArvK,KAAAC,GAAA,EAAAD,KAAAC,GAAA,EAAA+J,EACA8oB,EAAAjM,EAAAwoJ,EAAArvK,KAAAC,GAAA,EAAAD,KAAAC,GAAA,EAAAoE,EAEA8hD,EAAA,GAAA6rH,EAAAhyK,KAAAwY,IAAAua,GAAA/yB,KAAA0Y,IAAAoa,GACAqzB,EAAA,GAAA8rH,EAAAjyK,KAAAwY,IAAAsa,GACAqzB,EAAA,GAAA+rH,EAAAlyK,KAAA0Y,IAAAqa,GAAA/yB,KAAA0Y,IAAAoa,GACAsnE,EAAA,GAAAj0C,EAAA,GAAA0rH,EAAA7nK,GAAA4nK,EAAA,KACAx3E,EAAA,GAAAj0C,EAAA,GAAA8rH,EAAAF,EAAA1tK,GAAAutK,EAAA,KACAx3E,EAAA,GAAAj0C,EAAA,GAAA2rH,EAAA9nK,GAAA4nK,EAAA,KAGA5xK,KAAAiR,IAAA+gK,EAAAC,GAAA,MAAAjyK,KAAAiR,IAAAghK,EAAAC,GAAA,OACA/rH,EAAA,IAAA6rH,IACA7rH,EAAA,IAAA8rH,IACA9rH,EAAA,IAAA+rH,KAEA9vI,EAAAzqB,UAAAwuC,KAEA/jB,EAAArK,cAAAqiE,IAAAu3E,GACAvvI,EAAArK,cAAAouB,IAAAwrH,GACAvvI,EAAAvL,IAAAujE,IAAA10E,GAEApsB,KAAAo8B,WAAA91B,SAAA8sB,IAAAi3C,EAAAy2B,GACA9gG,KAAA41K,cACA51K,KAAAo8B,WAAAywB,OAAAz5B,IAAAi3C,EAAAxd,GAEA7sD,KAAAo8B,WAAAtV,MAAAsM,IAAAi3C,EAAAvjD,GACAujD,MAMA,IAAA8P,EAAA,EAAA47F,EAAA,EACA37F,EAAA,EAAA27F,EAAA,EAEAtpK,EAAA0tE,EAAA,EAEA,IAAAzpE,EAAA,EAA2BA,EAAA0pE,EAAoB1pE,IAC/C,IAAA3F,EAAA,EAA+BA,GAAAovE,EAAoBpvE,IAAA,CACnD,IAAA8iD,EAAAn9C,EAAAjE,EAAA1B,EAAA/K,KAAA0mE,cACA9Y,EAAAl9C,EAAAjE,GAAA1B,EAAA,GAAA0B,EAAAzM,KAAA0mE,cACA4kE,GAAA56H,EAAA,GAAAjE,GAAA1B,EAAA,GAAA0B,EAAAzM,KAAA0mE,cACA5Y,GAAAp9C,EAAA,GAAAjE,EAAA1B,EAAA/K,KAAA0mE,cAEA1mE,KAAAqjI,mBAAArjI,KAAA2mE,kBAAA,CAAA2kE,EAAAz9E,EAAAD,IACA5tD,KAAAqjI,mBAAArjI,KAAA2mE,kBAAA,CAAA2kE,EAAAx9E,EAAAD,IAKA7tD,KAAAqjI,mBAAArjI,KAAA2mE,kBAAA,CAAAkyG,EAAA,MAAAA,EAAA,MAAAA,EAAA,QACA74K,KAAAqjI,mBAAArjI,KAAA2mE,kBAAA,CAAAkyG,EAAA,MAAAA,EAAA,MAAAA,EAAA,QACA74K,KAAAqjI,mBAAArjI,KAAA2mE,kBAAA,CAAAkyG,EAAA,MAAAA,EAAA,MAAAA,EAAA,QACA74K,KAAAqjI,mBAAArjI,KAAA2mE,kBAAA,CAAAkyG,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAEA74K,KAAA0mE,cAAA2D,GA3GA,KAgHAztC,EAAAr0B,EAAAqpB,KAAAtc,SAAA8hK,EAAAn3K,UAAA+2K,EAAA,MACAp6I,EAAAr0B,EAAAqpB,KAAAtc,SAAA8hK,EAAAn3K,UAAAg3K,EAAA,MAEA/oJ,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAm8I,EAAAj6K,EAAA,IACAk6K,EAAAl6K,EAAA,IACAm6K,EAAAn6K,EAAA,IACAo6K,EAAAp6K,EAAA,IAOAq6K,EAAAt8I,EAAAr0B,EAAA4wK,kBAAA,CAEAh5K,KAAA,eAEA4lH,aAAA,UAEA/iG,sBAAA,kBAEAa,eAAA,SAAAV,EAAA5I,GACA,OAAAxR,OAAAkwK,EAAA,KAAAlwK,CAAA/I,OAGA4vE,kBAAA,SAAAnqD,EAAAkyC,EAAAzyC,EAAAne,GACA,IAAA/F,EAAA+3K,EAAA,KAAAnpG,kBAAA5vE,KAAAylB,EAAAkyC,EAAAzyC,EAAAne,GAIA,OAHA,MAAA/F,IACAA,EAAAhB,KAAAwa,UAAA/U,IAAA,IAAAggB,IAEAzkB,GAGAwkB,cAAA,SAAAC,GACA,OAAA1c,OAAAiwK,EAAA,KAAAjwK,CAAA/I,KAAAylB,IAGA3C,cAAA,CAEA5d,iBAAA,cAEAk0K,WAAA,EAEA/rE,YAAA,EAEA8O,QAAA,GAGA25D,UAAA,EAEAuD,gBAAA,EAMAC,YAAA,KAGA7+I,QAAA,QAEA8+I,UAAA,EAEAjuE,UAAA,CACAx3C,QAAA,GAGAhvC,MAAA,CACAo3F,MAAA,EACA1sG,SAAA,EACAitG,UAAA,CACA/oG,SAAA,GACAoT,MAAA,OACA41F,gBAAA,wBACAxrG,QAAA,EACAyrG,aAAA,IAIAE,SAAA,CACA/3F,MAAA,CACAo3F,MAAA,IAIAz8B,wBAAA,OAIA7iD,EAAAr0B,EAAAqpB,KAAAzmB,MAAA+tK,EAAAj5K,UAAA64K,EAAA,OAMA,SAAAp2K,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGA68I,GAFA36K,EAAA,KACAA,EAAA,KACAA,EAAA,KACA46K,EAAA56K,EAAAgvB,EAAA2rJ,GACAjH,EAAA1zK,EAAA,IASA+9B,EAAAr0B,EAAApJ,eAAAs6K,IAAA,yBAEA78I,EAAAr0B,EAAApJ,eAAA4J,OAAAwpK,EAAA,KAAAxpK,CAAA,WAEA6zB,EAAAr0B,EAAAnJ,eAAA,SAAAmb,EAAAxV,GACAwV,EAAA+kG,iBAAA,kBAAAhlG,GACA,IAAA/O,EAAA+O,EAAAE,UACAvV,EAAAqV,EAAApV,iBAEA,GAAAD,EAAA,CACA,mBAAAA,EAAA9E,KAIA,YAFAi4B,QAAA+B,MAAA,6CAIA,IAAAutC,EAAA,IAAAl8B,aAAA,EAAAjgC,EAAAoO,SAEAkrD,EAAA,GACAxlC,EAAA,GAEAq6I,EAAAz0K,EAAAwzE,WACA0O,EAAAuyF,EAAAtsK,IAAA,SAAAqb,GACA,OAAAnO,EAAAkO,kBAAAC,GAAA,KAGAxjB,GACAsG,EAAA4b,KAAAggE,EAAA,SAAAnlF,EAAAC,EAAAk7B,EAAAxf,GACAknD,EAAA,GAAA7iE,EACA6iE,EAAA,GAAA5iE,EACA4iE,EAAA,GAAA1nC,EAEAl4B,EAAAM,YAAAs/D,EAAAxlC,GACAqoC,EAAA,EAAA/pD,GAAA0hB,EAAA,GACAqoC,EAAA,EAAA/pD,EAAA,GAAA0hB,EAAA,GACAqoC,EAAA,EAAA/pD,EAAA,GAAA0hB,EAAA,KAGA9zB,EAAAmoK,UAAA,SAAAhsG,SAOA,SAAAhlE,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAg9I,EAAA96K,EAAA,IACA+6K,EAAA/6K,EAAA,IAKA+9B,EAAAr0B,EAAA4wK,kBAAA,CAEAh5K,KAAA,gBAEA4lH,aAAA,WAEA/iG,sBAAA,kBAEAa,eAAA,SAAAV,EAAA5I,GACA,OAAAxR,OAAA6wK,EAAA,KAAA7wK,CAAA/I,OAGAwlB,cAAA,SAAAC,GACA,OAAA1c,OAAA4wK,EAAA,KAAA5wK,CAAA/I,KAAAylB,IAGA3C,cAAA,CACA5d,iBAAA,cACAi3G,QAAA,GAGA9O,YAAA,EAEAosC,UAAA,CACAn3I,MAAA,GAGAm9E,wBAAA,QAQA,SAAA/8E,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAiiE,EAAA//F,EAAA,GACA6gJ,EAAA7gJ,EAAA,GACAigG,EAAAjgG,EAAA,IACAg7K,EAAAh7K,EAAA,GACAi7K,EAAAj7K,EAAA,GACAk7K,EAAAl7K,EAAA,KACAm7K,EAAAn7K,EAAAgvB,EAAAksJ,GACAE,EAAAp7K,EAAA,GACAsgG,EAAAtgG,EAAA,IAYAiqC,EAAAmxI,EAAA,KAAAnxI,KAEA81D,EAAA,KAAAprE,OAAA3B,OAAAstE,EAAA,MAEAviE,EAAAr0B,EAAAitK,gBAAA,CAEAr1K,KAAA,SAEAsmH,UAAA,EAEAvjG,KAAA,SAAA3I,EAAAxV,GAEA/E,KAAA8mH,QAAA,IAAAloB,EAAA,KAAAtrE,KAEAtzB,KAAAggG,KAAAj7F,GAGAmuD,OAAA,SAAA54C,EAAAC,EAAAxV,GACA,IAAAorD,EAAAnwD,KAAAk6K,gBACAl6K,KAAAk6K,gBAAAl6K,KAAAm6K,YACAn6K,KAAAm6K,YAAAhqH,EAEAnwD,KAAAm6K,cACAn6K,KAAAm6K,YAAA,IAAAv7E,EAAA,KAAArrE,KAAA,CACA0I,SAAA,IAAA6iE,EAAA,MACA34B,eAAA,EACAk7B,eAAA,IAEAxuE,SAAA,IAAA+rE,EAAA,KAAAnrE,SAAA,CACAd,OAAAisE,EAAA,KAAA7kE,aAAA,sBAGA84D,YAAA,KAEA7yF,KAAAm6K,YAAAl+I,SAAAqwF,KAAAtsH,KAAAo6K,MAAAxxK,KAAA5I,OAGAA,KAAA8mH,QAAAt6G,OAAAxM,KAAAk6K,iBACAl6K,KAAA8mH,QAAAvpF,IAAAv9B,KAAAm6K,aAEA,IAAAl1K,EAAAqV,EAAApV,iBACA,GAAAD,KAAAiqE,OAAA,CACAjqE,EAAAiqE,OAAA3xC,IAAAv9B,KAAA8mH,SAEA,IAAAr9F,EAAAxkB,EAAAiqE,OAAAjL,gBAAA,oBACAjkE,KAAAm6K,YAAAtnJ,SAAApJ,GAAA,0BAEAzpB,KAAAs/D,UAAAhlD,EAAAvV,GAEA/E,KAAA+gG,MAAAzmF,EAAAE,UAEAxa,KAAAw8E,QAAAv3E,EAAAiqE,OAAA5c,OAEAtyD,KAAA+uK,eAEA/uK,KAAAmsG,iBAAA7xF,IAGAy0J,aAAA,WACA/uK,KAAAq6K,sBAGA/6G,UAAA,SAAAhlD,EAAAvV,GACA,IAAAwG,EAAA+O,EAAAE,UACA8/J,EAAAt6K,KAAAm6K,YAEAG,EAAAr+I,SAAAwqC,cAEA,IAAAiB,EAAAn8D,EAAAsS,UAAA,UAEAwoF,EAAA,GACA2vE,EAAA,IAAAxqI,aAAAk8B,EAAAnkE,OAAA,KACA0yK,EAAA,EACAE,GAAA,EAEA5qK,EAAA4b,KAAA,SAAAxJ,GACA,IAAAmJ,EAAAvb,EAAAic,cAAA7J,EAAA,SACAm2C,EAAAvoD,EAAAic,cAAA7J,EAAA,WACA,MAAAm2C,IACAA,EAAA,GAGA8qC,EAAA,KAAA1lE,WAAApS,EAAAu/E,GACAA,EAAA,IAAAvyC,EACAkiH,EAAAC,KAAA5vE,EAAA,GACA2vE,EAAAC,KAAA5vE,EAAA,GACA2vE,EAAAC,KAAA5vE,EAAA,GACA2vE,EAAAC,KAAA5vE,EAAA,GAEAA,EAAA,SACA8vE,GAAA,KAIAmE,EAAAr+I,SAAA4qC,eACAyzG,EAAAr+I,SAAAsrC,uBAAAG,IAEA4yG,EAAAr+I,SAAA6qC,iBACAwzG,EAAAr+I,SAAAwrC,yBAAAC,IAGA4yG,EAAAr+I,SAAAwtC,YACA/B,EAAAsuG,EACAt2B,EAAA,KAAApoH,aAAAhd,EAAA7U,IAAA,uBAGA60K,EAAAr+I,SAAAtX,QACA21J,EAAAr+I,SAAAmxB,oBAEA,IAAAv6B,EAAAynJ,EAAAznJ,SACAA,EAAA6gC,YAAAyiH,EACAtjJ,EAAA0gC,WAAA4iH,EAEA,IAAA9yE,EAAA/oF,EAAAqgB,SAAA,mBACA0oE,EAAA59F,IAAA,SACA60K,EAAAr+I,SAAAmmG,gBAAA,yBACAk4C,EAAAr+I,SAAA00B,sBACA2pH,EAAAznJ,SAAAO,IAAA,6BACAknJ,EAAAznJ,SAAAO,IACA,qBAAAwrE,EAAA,KAAA1lE,WACAmqE,EAAA59F,IAAA,wCAGA60K,EAAAznJ,SAAAO,IACA,qBAAAssH,EAAA,KAAApoH,aACA+rE,EAAA59F,IAAA,wBAKA60K,EAAAznJ,SAAAO,IAAA,6BAGApzB,KAAAu6K,QAAA7yG,EAEA1nE,KAAAw2K,aAAAl8J,EAAAvV,IAGAonG,iBAAA,SAAA7xF,GACAskF,EAAA,KAAAnjE,sBACA,6BACA,oCACA,qCACAz7B,KAAAk6K,gBACAl6K,KAAAm6K,YACA7/J,IAIAk8J,aAAA,SAAAl8J,EAAAvV,GACA,IAAAwG,EAAA+O,EAAAE,UACAvV,EAAAqV,EAAApV,iBACAo1K,EAAAt6K,KAAAm6K,YAEAltE,GAAA,EAEAqtE,EAAAz3J,YAAAvI,EAAAuI,YAEAy3J,EAAAzkK,IAAA,aACAykK,EAAAzkK,IAAA,YACAykK,EAAA1kK,GAAA,qBAAAO,GACA,IAAAlS,EAAAgB,EAAAo8G,YAAAlrG,EAAA0zD,MAAAzsC,OACA3X,EAAAla,EAAAivK,iBAAA,IAAAv2K,EAAA,OACAwhB,IAAAwnF,IAIAloG,EAAAqoG,eAAA,CACAjtG,KAAA,wBACA8D,MAAA,CAAAsH,EAAA9F,IAAA,IAAAggB,GAAAla,EAAA9F,IAAA,IAAAggB,GAAAla,EAAA9F,IAAA,IAAAggB,MAGA60J,EAAA70J,aAIAwnF,EAAAxnF,GACSzlB,MACTs6K,EAAA1kK,GAAA,oBAAAO,GAEA82F,GAAA,EACAqtE,EAAA70J,WAAA,EACA1gB,EAAAqoG,eAAA,CACAjtG,KAAA,2BAESH,OAkBTq6K,mBAAA,WAEA,IAAA7sE,EAAA,IAAAqsE,EAAA,KACAvnH,EAAAtyD,KAAAw8E,QACAq9F,EAAA,KAAA57I,SAAAuvE,EAAAl7C,EAAAukB,iBAAAvkB,EAAAikB,YAEA,IAAAkkG,EAAAz6K,KAAA06K,aACAhzG,EAAA1nE,KAAAu6K,QACAI,EAAAjzG,EAAAnkE,OAAA,EACAk3K,KAAAl3K,OAAA,IAAAo3K,IACAF,EAAAz6K,KAAA06K,aAAA,IAAAlvI,aAAA,EAAAmvI,IAGA,IADA,IAAA75E,EAAA,GACA/1F,EAAA,EAAuBA,EAAA4vK,EAAa5vK,IAAA,CACpC,IAAA+iD,EAAA,EAAA/iD,EACA8iD,EAAA,EAAA9iD,EACA+1F,EAAA,GAAAp5B,EAAA5Z,GACAgzC,EAAA,GAAAp5B,EAAA5Z,EAAA,GACAgzC,EAAA,GAAAp5B,EAAA5Z,EAAA,GACAgzC,EAAA,KAEAh4D,EAAApK,cAAAoiE,IAAA0M,EAAApwE,OACAq9I,EAAA5sH,GAAAizC,EAAA,GAAAA,EAAA,GACA25E,EAAA5sH,EAAA,GAAAizC,EAAA,GAAAA,EAAA,KAIAs5E,MAAA,SAAAp4K,EAAAC,EAAAm1B,EAAAk7B,EAAA0M,EAAA3/B,GACA,IAAAo7I,EAAAz6K,KAAA06K,aACApgK,EAAAta,KAAA+gG,MAAAoI,UACA14F,EAAA6J,EAAA7U,IAAA,mBAEAggB,GAAA,EACAnjB,EAAA80B,EAAAsb,SAAApwC,MACAC,EAAA60B,EAAAsb,SAAAnwC,OAEAq4K,EAAA,GAAAt4K,EACAmN,EAAA,GAAAlN,EACAP,KAAA,GAAA44K,EACA34K,KAAA,GAAAwN,EAEA,QAAA1E,EAAA,EAAuBA,EAAA0vK,EAAAl3K,OAAA,EAA4BwH,IAAA,CACnD,IAAA6wD,GAAA6+G,EAAA,GAAA1vK,EAAA,OAAA6vK,EACA/+G,GAAA4+G,EAAA,GAAA1vK,EAAA,SAAA0E,EACAmgD,GAAA6qH,EAAA,EAAA1vK,GAAA,GAAA6vK,EACA/qH,GAAA4qH,EAAA,EAAA1vK,EAAA,MAAA0E,EAEA,GAAAuqK,EAAAzxK,EAAAsyK,cAAAj/G,EAAAC,EAAAjM,EAAAC,EAAAp/C,EAAAzO,EAAAC,GAAA,CACA,IAAA64K,GAAAl/G,EAAA55D,IAAA45D,EAAA55D,IAAA65D,EAAA55D,IAAA45D,EAAA55D,GACA84K,GAAAnrH,EAAA5tD,IAAA4tD,EAAA5tD,IAAA6tD,EAAA5tD,IAAA4tD,EAAA5tD,GAEAwjB,EAAAq1J,EAAAC,EAAAhwK,EAAA,EAAAA,GAIA,GAAA0a,GAAA,GACA,IAAAqoC,EAAA,EAAAroC,EACAokD,EAAA,IAAAiwG,EAAA,KACA95K,KAAAu6K,QAAAzsH,GACA9tD,KAAAu6K,QAAAzsH,EAAA,GACA9tD,KAAAu6K,QAAAzsH,EAAA,IAGAzuB,EAAA1sB,KAAA,CACA8S,YACAokD,QACA24D,WAAA34D,EAAAt0D,QACAc,OAAArW,KAAAm6K,YACA3qK,SAAAxP,KAAAw8E,QAAA3b,mBAAAljC,KAAAksC,OAKAr9D,OAAA,WACAxM,KAAA8mH,QAAAziD,aAGAvuD,QAAA,WACA9V,KAAA8mH,QAAAziD,gBAMA,SAAA3hE,EAAAC,GAaA,SAAAk4K,EAAAj/G,EAAAC,EAAAjM,EAAAC,EAAAp/C,EAAAzO,EAAAC,GACA,OAAAwO,EACA,SAGA,IAAAuqK,EAAAvqK,EACAwqK,EAAA,EACAC,EAAAt/G,EAEA,GAAA35D,EAAA45D,EAAAm/G,GAAA/4K,EAAA4tD,EAAAmrH,GAAA/4K,EAAA45D,EAAAm/G,GAAA/4K,EAAA4tD,EAAAmrH,GAAAh5K,EAAA45D,EAAAo/G,GAAAh5K,EAAA4tD,EAAAorH,GAAAh5K,EAAA45D,EAAAo/G,GAAAh5K,EAAA4tD,EAAAorH,EACA,SAGA,GAAAp/G,IAAAhM,EAIA,OAAAlpD,KAAAiR,IAAA3V,EAAA45D,IAAAo/G,EAAA,EAHAC,GAAAp/G,EAAAhM,IAAA+L,EAAAhM,GACAsrH,GAAAt/G,EAAA/L,EAAAD,EAAAiM,IAAAD,EAAAhM,GAKA,IAAAO,EAAA8qH,EAAAj5K,EAAAC,EAAAi5K,EAEAC,EAAAhrH,KAAA8qH,IAAA,GAEA,OAAAE,GAAAH,EAAA,EAAAA,EAAA,EAGAr4K,EAAAk4K,iBAIA,SAAAn4K,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGA68I,GAFA36K,EAAA,KACAA,EAAA,KACAA,EAAA,KACA46K,EAAA56K,EAAAgvB,EAAA2rJ,GACAjH,EAAA1zK,EAAA,IAQA+9B,EAAAr0B,EAAApJ,eAAAs6K,IAAA,4BAEA78I,EAAAr0B,EAAApJ,eAAA4J,OAAAwpK,EAAA,KAAAxpK,CAAA,cAEA6zB,EAAAr0B,EAAAnJ,eAAA,CACA+a,WAAA,YACAE,MAAA,SAAAC,GACA,IAAArV,EAAAqV,EAAApV,iBAEA,GAAAD,EAAA,CACA,IAAAy0K,EAAAz0K,EAAAwzE,WACA,GAAAihG,EAAAn2K,OAAA,EAIA,YAFA60B,QAAA+B,MAAA,uCAIA,IAAAgtD,EAAAuyF,EAAAtsK,IAAA,SAAAqb,GACA,OAAAnO,EAAAkO,kBAAAC,GAAA,KAGAo8C,EAAA,GACAxlC,EAAA,GAEA,OACA+7I,SAAA,SAAAp2J,EAAAzZ,GAEA,IADA,IAAAm8D,EAAA,IAAAl8B,aAAA,GAAAxmB,EAAAuE,IAAAvE,EAAAoH,QACAzO,EAAAqH,EAAAoH,MAAgDzO,EAAAqH,EAAAuE,IAAkB5L,IAAA,CAClE,IAAA6sD,EAAA,GAAA7sD,EAAAqH,EAAAoH,OACAy4C,EAAA,GAAAt5D,EAAA9F,IAAA0hF,EAAA,GAAAxpE,GACAknD,EAAA,GAAAt5D,EAAA9F,IAAA0hF,EAAA,GAAAxpE,GACAknD,EAAA,GAAAt5D,EAAA9F,IAAA0hF,EAAA,GAAAxpE,GACA1Y,EAAAM,YAAAs/D,EAAAxlC,GACAqoC,EAAA8C,GAAAnrC,EAAA,GACAqoC,EAAA8C,EAAA,GAAAnrC,EAAA,GACAqoC,EAAA8C,EAAA,GAAAnrC,EAAA,GAEA9zB,EAAAmoK,UAAA,SAAAhsG,UASA,SAAAhlE,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA0+I,EAAAx8K,EAAA,IACAy8K,EAAAz8K,EAAA,IACA08K,EAAA18K,EAAA,IAMA+9B,EAAAr0B,EAAA4wK,kBAAA,CAEAh5K,KAAA,mBAEA4lH,aAAA,2BAEA/iG,sBAAA,kBAEAa,eAAA,SAAAV,EAAA5I,GACA,OAAAxR,OAAAwyK,EAAA,KAAAxyK,CAAA/I,OAGA4vE,kBAAA,SAAAnqD,EAAAkyC,EAAAzyC,EAAAne,GACA,IAAA/F,EAAAq6K,EAAA,KAAAzrG,kBAAA5vE,KAAAylB,EAAAkyC,EAAAzyC,EAAAne,GACA,SAAA/F,EAAA,CACA,IAAAuK,EAAAvL,KAAAwa,UACAghK,EAAAjwK,EAAAktE,WAAAltE,EAAAktE,WAAAl1E,OAAA,GACAvC,EAAAuK,EAAA9F,IAAA+1K,EAAA/1J,GAEA,OAAAzkB,GAGAwkB,cAAA,SAAAC,GACA,OAAA1c,OAAAuyK,EAAA,KAAAvyK,CAAA/I,KAAAylB,IAGA3C,cAAA,CACA5d,iBAAA,cACAi3G,QAAA,GAEAs/D,YAAA,IACAC,qBAAA,IAGAruE,YAAA,EAEA+rE,WAAA,EAEA3uJ,OAAA,SACAnN,WAAA,GAGAq+J,UAAA,cAEA72J,MAAA,CACAo3F,MAAA,EACA51G,SAAA,QAEAkJ,SAAA,EAEAitG,UAAA,CACA/oG,SAAA,GACAoT,MAAA,OACA41F,gBAAA,wBACAxrG,QAAA,EACAyrG,aAAA,IAIArR,UAAA,CACAx3C,QAAA,IAGA+oD,SAAA,CACA/3F,MAAA,CACAo3F,MAAA,IAIAz8B,wBAAA,QAMA,SAAA/8E,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAiiE,EAAA//F,EAAA,GACA6gJ,EAAA7gJ,EAAA,GACAu2K,EAAAv2K,EAAA,IACA+8K,EAAA/8K,EAAA,IAQA+9B,EAAAr0B,EAAAitK,gBAAA,CAEAr1K,KAAA,YAEAsmH,UAAA,EAEAvjG,KAAA,SAAA3I,EAAAxV,GAEA/E,KAAA8mH,QAAA,IAAAloB,EAAA,KAAAtrE,KAEAtzB,KAAA67K,mBAAA,GACA77K,KAAA87K,aAAA,GAGA5oH,OAAA,SAAA54C,EAAAC,EAAAxV,GAEA,GADA/E,KAAA8mH,QAAAziD,YACA/pD,EAAAE,UAAAb,QAAA,CAIA,IAAA1U,EAAAqV,EAAApV,iBACA,IAAAD,MAAAiqE,OAgBA,UAAAvhC,MAAA,6BAfA1oC,EAAAiqE,OAAA3xC,IAAAv9B,KAAA8mH,SACA9mH,KAAAw8E,QAAAv3E,EAAAiqE,OAAA5c,OAEA,IAAAypH,EAAA/7K,KAAA67K,mBAAA,GACAE,IACAA,EAAA/7K,KAAA67K,mBAAA,OAAAD,EAAA,QAAA72K,IAEA/E,KAAA67K,mBAAAt4K,OAAA,EAEAvD,KAAA8mH,QAAAvpF,IAAAw+I,EAAAv+G,UACAu+G,EAAAxvJ,OAAAjS,EAAAC,EAAAxV,GACAg3K,EAAAxuE,WAAAtoG,EAAAiqE,OAAA5c,UASA0pH,yBAAA,SAAA1hK,EAAAC,EAAAxV,GACA,IAAAE,EAAAqV,EAAApV,iBACA,IAAAD,MAAAiqE,OAMA,UAAAvhC,MAAA,6BALA1oC,EAAAiqE,OAAA3xC,IAAAv9B,KAAA8mH,SACA9mH,KAAAw8E,QAAAv3E,EAAAiqE,OAAA5c,OAQAtyD,KAAA8mH,QAAAziD,YACArkE,KAAA87K,aAAA,GAGAG,kBAAA,SAAAj3J,EAAA1K,EAAAC,EAAAxV,GAEA,KAAAigB,EAAAuE,KAAAvE,EAAAoH,OAAA,CAGA,IAAA2vJ,EAAA/7K,KAAA67K,mBAAA77K,KAAA87K,cACAC,IACAA,EAAA,IAAAH,EAAA,QAAA72K,GACA/E,KAAA67K,mBAAA77K,KAAA87K,cAAAC,GAEA/7K,KAAA8mH,QAAAvpF,IAAAw+I,EAAAv+G,UAEAu+G,EAAAxvJ,OAAAjS,EAAAC,EAAAxV,EAAAigB,EAAAoH,MAAApH,EAAAuE,KACAwyJ,EAAAxuE,WAAAjzF,EAAApV,iBAAAgqE,OAAA5c,QAEAtyD,KAAA87K,iBAGA/M,aAAA,WACA/uK,KAAA67K,mBAAAhxK,QAAA,SAAAkxK,GACAA,EAAAxuE,WAAAvtG,KAAAw8E,UACSx8E,OAGTwjG,UAAA,SAAAlpF,EAAAC,EAAAxV,EAAAynB,GACAxsB,KAAA82K,cAAA,YAAAx8J,EAAAC,EAAAxV,EAAAynB,IAGA+2E,SAAA,SAAAjpF,EAAAC,EAAAxV,EAAAynB,GACAxsB,KAAA82K,cAAA,WAAAx8J,EAAAC,EAAAxV,EAAAynB,IAGAsqJ,cAAA,SAAAn/G,EAAAr9C,EAAAC,EAAAxV,EAAAynB,GACA,IAAAjhB,EAAA+O,EAAAE,UACAiL,EAAAi6H,EAAA,KAAA5iH,eAAAvxB,EAAAihB,GAEA0vJ,EAAA,cAAAvkH,EACA,MAAAlyC,EACAmX,EAAAr0B,EAAAqpB,KAAAzK,KAAAiuJ,EAAA,KAAArlG,iBAAAtqD,GAAA,SAAAsxJ,GACA,QAAAhsK,EAAA,EAA+BA,EAAA/K,KAAA67K,mBAAAt4K,OAAoCwH,IAAA,CACnE,IAAAgxK,EAAA/7K,KAAA67K,mBAAA9wK,GACAmxK,EAAAH,EAAAv4E,UAAAj4F,EAAAwrK,GAAAgF,EAAAx4E,SAAAh4F,EAAAwrK,KAEa/2K,MAIbuL,EAAA4b,KAAA,SAAA4vJ,GACA,QAAAhsK,EAAA,EAA+BA,EAAA/K,KAAA67K,mBAAAt4K,OAAoCwH,IAAA,CACnE,IAAAgxK,EAAA/7K,KAAA67K,mBAAA9wK,GACAmxK,EAAAH,EAAAv4E,UAAAj4F,EAAAwrK,GAAAgF,EAAAx4E,SAAAh4F,EAAAwrK,OAMAjhK,QAAA,WACA9V,KAAA8mH,QAAAziD,aAGA73D,OAAA,WACAxM,KAAA8mH,QAAAziD,gBAMA,SAAA3hE,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGA,SAAAw/I,EAAAlhK,EAAA2a,EAAAwmJ,GAMAxmJ,KAAAhrB,SAAAirB,cAAA,UACAD,EAAAtzB,MAAA2Y,EACA2a,EAAArzB,OAAA0Y,EACA,IAAA5a,EAAAu1B,EAAAhoB,WAAA,MAIA,OAFAwuK,KAAA/7K,GAEAu1B,EAGA,SAAAymJ,EAAA5xJ,EAAAnN,EAAA/c,EAAA+7K,GACA1/I,EAAAr0B,EAAAqpB,KAAA5oB,QAAAsU,KACAA,EAAA,CAAAA,MAEA,IAAA8lE,EAAAm5F,EAAAC,iBAAAj8K,EAAA+7K,GACAh6K,EAAAgb,EAAA,GAAA8lE,EAAA9zC,KAAA8zC,EAAA7zC,MACAhtC,EAAA+a,EAAA,GAAA8lE,EAAA3zC,IAAA2zC,EAAA5zC,OACAi1B,EAAA7nC,EAAAr0B,EAAA++E,OAAAm1F,aAAAhyJ,EAAA,IAAAnN,EAAA,GAAAA,EAAA,IAEArC,EAAAvU,KAAAS,IAAA7E,EAAAC,GAEAkiE,EAAAn+D,SAAA,CAAA88E,EAAA9zC,KAAA8zC,EAAA3zC,KACAntC,EAAAC,EACAkiE,EAAAn+D,SAAA,KAAA2U,EAAA1Y,GAAA,EAGAkiE,EAAAn+D,SAAA,KAAA2U,EAAA3Y,GAAA,EAGA,IAAAb,EAAAgjE,EAAAljE,kBAUA,OATAkjE,EAAAn+D,SAAA,IAAA7E,EAAAO,EACAyiE,EAAAn+D,SAAA,IAAA7E,EAAAQ,EAEAwiE,EAAA+iD,SAAAjnH,GAEAkkE,EAAAl4C,SAEAk4C,EAAAi4G,OAAAzhK,EAEAwpD,EAIA,SAAAk4G,EAAAt8K,EAAAu8K,EAAA5kE,GAEA,IAAA6kE,EAAAD,EAAAt6K,MACAw6K,EAAAF,EAAAr6K,OAEAD,EAAAjC,EAAAu1B,OAAAtzB,MACAC,EAAAlC,EAAAu1B,OAAArzB,OAEA+yG,EAAAunE,EAAAv6K,EACAizG,EAAAunE,EAAAv6K,EAEA,SAAAw6K,EAAAn+J,GACA,OAAAA,EAAA,SAEA,SAAAo+J,EAAAh7K,EAAAC,GACA,IAAAg7K,EAAAnjK,IACA9X,EAAA0E,KAAAmK,MAAA7O,EAAAszG,GACArzG,EAAAyE,KAAAmK,MAAA5O,EAAAszG,GAKA,IAJA,IAAAxqG,EAAA9I,EAAA46K,EAAA76K,EACA4c,EAAAg+J,EAAArxK,KAAA,EAAAR,GACAxC,EAAAw0K,EAAAn+J,GAEA6gB,EAAA/4B,KAAAS,IAAAlF,EAAA+1G,EAAA,GAA6Cv4E,EAAA/4B,KAAAQ,IAAAjF,EAAA+1G,EAAA8kE,GAAwCr9I,IACrF,QAAAD,EAAA94B,KAAAS,IAAAnF,EAAAg2G,EAAA,GAAiDx4E,EAAA94B,KAAAQ,IAAAlF,EAAAg2G,EAAA6kE,GAAuCr9I,IAAA,CACxFz0B,EAAA00B,EAAAo9I,EAAAr9I,EAAA,IACA41D,EAAAwnF,EAAArxK,KAAA,EAAAR,GACAvC,EAAAu0K,EAAA3nF,GACAp+E,EAAAwoB,EAAAx9B,EACAiV,EAAAwoB,EAAAx9B,EACA,GAAAsG,IAAAC,EAAA,CACA,IAAA00K,EAAAlmK,IAAAC,IACAimK,EAAAD,IACAA,EAAAC,IAKA,OAAA30K,EAAA7B,KAAAk+C,KAAAq4H,GAIA,IADA,IAAAE,EAAA98K,EAAA48F,gBAAA36F,EAAAC,GACAN,EAAA,EAAmBA,EAAAM,EAAYN,IAC/B,QAAAD,EAAA,EAAuBA,EAAAM,EAAWN,IAAA,CAClC,IAAA27B,EAAAq/I,EAAAh7K,EAAAC,GAEAm7K,EAAAz/I,EAAAq6E,EAAA,MACAjtG,EAAA,GAAA9I,EAAAK,EAAAN,GACAm7K,EAAA5xK,KAAAR,KAAA,OAAAqyK,GACAD,EAAA5xK,KAAAR,KAAA,OAAAqyK,GACAD,EAAA5xK,KAAAR,KAAA,OAAAqyK,GACAD,EAAA5xK,KAAAR,KAAA,IAIA,OAAAoyK,EAGA,IAAAZ,EAAA,CAEAC,iBAAA,SAAAj8K,GACA,IAAAosG,EAAApsG,EAAAosG,WAAA,EAEAl8F,EAAA,EACAlQ,EAAAI,QAAA,SAAAJ,EAAAI,SACA8P,EAAA,MAAAlQ,EAAAkQ,UAAA,EAAAlQ,EAAAkQ,WAEA,IAAA4sK,EAAA98K,EAAAK,YAAA,EACAE,EAAAP,EAAAO,eAAA,EACAC,EAAAR,EAAAQ,eAAA,EAEAqiF,EAAA,GAMA,OALAA,EAAA9zC,KAAA5oC,KAAAS,IAAAsJ,EAAA,GAAA3P,EAAAu8K,EAAA1wE,GACAvpB,EAAA7zC,MAAA7oC,KAAAS,IAAAsJ,EAAA,EAAA3P,EAAAu8K,EAAA1wE,GACAvpB,EAAA3zC,IAAA/oC,KAAAS,IAAAsJ,EAAA,GAAA1P,EAAAs8K,EAAA1wE,GACAvpB,EAAA5zC,OAAA9oC,KAAAS,IAAAsJ,EAAA,EAAA1P,EAAAs8K,EAAA1wE,GAEAvpB,GASAspB,mBAAA,SAAAjiF,EAAAnN,EAAA/c,EAAAq1B,GACA,IAAA6uC,EAAA43G,EAAA5xJ,EAAAnN,EAAA/c,GAEA6iF,EAAAm5F,EAAAC,iBAAAj8K,GAEA,OACAuS,MAAAqpK,EAAA13G,EAAAi4G,OAAA9mJ,EAAA,SAAAv1B,GACAokE,EAAArkE,MAAAC,KAEA+iF,WAIAwpB,oBAAA,SAAAh3E,EAAA3a,EAAA+8F,EAAAslE,GAEA,OAAAnB,EAAAlhK,EAAAqiK,EAAA,SAAAC,GACA,IAAAl9K,EAAAu1B,EAAAhoB,WAAA,MACAq5B,EAAA5mC,EAAA08F,aAAA,IAAAnnE,EAAAtzB,MAAAszB,EAAArzB,QAEAg7K,EAAArgF,aAAAy/E,EAAAY,EAAAt2I,EAAA+wE,GAAA,QAIAwlE,mBAAA,SAAAviK,EAAA2a,GACA,OAAAumJ,EAAAlhK,EAAA2a,EAAA,SAAAv1B,GACA,IAAAo9K,EAAAxiK,EAAA,EACA5a,EAAAq9K,YACAr9K,EAAAkf,IAAAk+J,IAAA,OAAA/2K,KAAAC,IAAA,GACAtG,EAAAmf,YAEA,IAAAm+J,EAAAt9K,EAAAu9K,qBACAH,IAAA,EAAAA,OAEAE,EAAAE,aAAA,4BACAF,EAAAE,aAAA,+BACAF,EAAAE,aAAA,4BACAx9K,EAAAw9F,UAAA8/E,EACAt9K,EAAAK,WAKAwtB,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAAquE,EAAAruE,EAAA,GACAi/K,EAAAj/K,EAAA,KACAuuE,EAAAvuE,EAAA,GACAwuE,EAAAxuE,EAAAgvB,EAAAu/C,GACArH,EAAAlnE,EAAA,GACAk/K,EAAAl/K,EAAA,KAKAkqC,EAAAg9B,EAAA,KAAAh9B,KAGAmkC,EAAA,KAAA15C,OAAA3B,OAAAksJ,EAAA,MAEA,IAAAC,EAAA9wG,EAAA,KAAA35C,KAAA7uB,OAAA,WACA,IAAAu3B,EAAA,IAAAixC,EAAA,KAAAt5C,SAAA,CACAmO,SAAA,EACA3F,WAAA,CACAtV,MAAA,IAAAomD,EAAA,KAAAt5C,SAAA84B,UAAA,2BACApmD,SAAA,IAAA4mE,EAAA,KAAAt5C,SAAA84B,UAAA,iCACAzxC,KAAA,IAAAiyD,EAAA,KAAAt5C,SAAA84B,UAAA,kBACA6Z,aAAA,IAAA2G,EAAA,KAAAt5C,SAAA84B,UAAA,0BACAuxH,SAAA,IAAA/wG,EAAA,KAAAt5C,SAAA84B,UAAA,yBAGA2gB,EAAA9kE,EAAAqpB,KAAAltB,OAAAu3B,EAAA6hJ,EAAA,MAEA,IAAAjrJ,EAAA,IAAAq6C,EAAA,KAAAz5C,SAAA,CACAd,OAAAu6C,EAAA,KAAAnzC,aAAA,kBACA25B,aAAA,EACAH,WAAA,IAEA1gC,EAAAK,cAAA,UACAL,EAAA0H,OAAA,uBACA1H,EAAA0H,OAAA,sBAEA,IAAA2jJ,EAAA,IAAAhxG,EAAA,KAAAv5C,UAAA,CACA7gB,MAAAlI,SAAAirB,cAAA,UACAiC,OAAA,IAQA,OALAjF,EAAAO,IAAA,SAAA8qJ,GAGAjiJ,EAAAqwF,KAAAtsH,KAAAo6K,MAAAxxK,KAAA5I,MAEA,CACAi8B,WACApJ,WACAs9D,KAAAjjB,EAAA,KAAA35C,KAAA4hB,OAEA42D,UAAA,IAEC,CAEDquE,MAAA,SAAAp4K,EAAAC,EAAAm1B,EAAAk7B,EAAA0M,EAAA3/B,GACA,IAAAo7I,EAAAz6K,KAAA06K,aACA,GAAAD,EAQA,IAJA,IAAA/nI,EAAAtb,EAAAsb,SACAyrI,EAAA,EAAAzrI,EAAApwC,MACA87K,EAAA,EAAA1rI,EAAAnwC,OAEAwI,EAAA/K,KAAAi8B,SAAAC,YAAA,EAAmDnxB,GAAA,EAAQA,IAAA,CAC3D,IAAA4S,EAKAA,EAJA3d,KAAAi8B,SAAAwxB,QAIAztD,KAAAi8B,SAAAwxB,QAAA1iD,GAHAA,EAMA,IAAA0T,EAAAg8J,EAAA,EAAA98J,GACAe,EAAA+7J,EAAA,EAAA98J,EAAA,GAEA1C,EAAAjb,KAAAi8B,SAAAG,WAAAnhB,KAAAxV,IAAAkY,GAAA3d,KAAA+rG,UACA0xE,EAAAxiK,EAAA,EAEA,GACAjZ,EAAAyc,EAAAg/J,EAAAU,GAAAn8K,EAAAyc,EAAAg/J,EAAAU,GACAl8K,EAAAyc,EAAA++J,EAAAW,GAAAn8K,EAAAyc,EAAA++J,EAAAW,EACA,CACA,IAAAv0G,EAAA,IAAAqD,EAAA,KAAA34C,QACAiuG,EAAA,IAAAt1D,EAAA,KAAA34C,QACAv0B,KAAAi8B,SAAAG,WAAA91B,SAAAb,IAAAkY,EAAAksD,EAAAzsC,OACA8vC,EAAA,KAAA34C,QAAAmK,cAAA8jG,EAAA34D,EAAA7pE,KAAAghE,gBACA3hC,EAAA1sB,KAAA,CACAw6F,YAAAxvF,EACAksD,QACA24D,aACAnsH,OAAArW,KACAwP,SAAAgzH,EAAAhzH,SAAA8iD,EAAAuO,yBAMA4sC,kBAAA,SAAAD,EAAA9C,EAAA3lG,GACA,IAAA01K,EAAAz6K,KAAA06K,aACAz+I,EAAAj8B,KAAAi8B,SACAw+I,KAAAl3K,OAAA,IAAA04B,EAAAC,cACAu+I,EAAAz6K,KAAA06K,aAAA,IAAAlvI,aAAA,EAAAvP,EAAAC,cAIA,IADA,IAAA4kE,EAAA/3D,EAAA+F,SACA/jC,EAAA,EAAuBA,EAAAkxB,EAAAC,YAA0BnxB,IACjDkxB,EAAAG,WAAA91B,SAAAb,IAAAsF,EAAA+1F,GACAA,EAAA,KACA/3D,EAAArK,cAAAoiE,IAAA0M,EAAApwE,OACA2L,EAAAhxB,MAAA+oF,IAAA,EAAAA,EAAA,IAEA25E,EAAA,EAAA1vK,GAAA+1F,EAAA,GACA25E,EAAA,EAAA1vK,EAAA,GAAA+1F,EAAA,MAKA5yE,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA0nG,EAAA1nG,EAAA,IACA2nG,EAAA3nG,EAAA,GAGAiqC,EAAA09D,EAAA,KAAA19D,KAEA5a,EAAA,MAEAizC,kBAAA,WACA,OAAAnhE,KAAA8sG,cAGA7tC,+BAAA,WACA,OAAAj/D,KAAAmhE,qBAAAnhE,KAAAk8B,aAAA,KAGAklC,eAAA,SAAAqlC,EAAAhtF,GACA,IAAAg0C,EAAAztD,KAAAytD,QACA3sC,EAAAgoB,EAAAgG,SAEA,IAAA2e,EAAA,CACAA,EAAAztD,KAAAytD,QAAAztD,KAAAk8B,YAAA,UAAAuvB,YAAAzrD,KAAAk8B,aAAA,IAAAsvB,YAAAxrD,KAAAk8B,aACA,QAAAnxB,EAAA,EAA2BA,EAAA0iD,EAAAlqD,OAAoBwH,IAC/C0iD,EAAA1iD,KAIA,OAAA0O,EAAA,CACA,IAOAstF,EAPAL,EAAA1mG,KAAAo8B,WAAA91B,SAEA+3K,GADA53E,IAAArpE,MACA,GACAp9B,KAAAs+K,QAAAt+K,KAAAs+K,OAAA/6K,SAAAvD,KAAAk8B,cACAl8B,KAAAs+K,OAAA,IAAA9yI,aAAAxrC,KAAAk8B,cAIA,IAAAnxB,EAAA,EAA2BA,EAAA/K,KAAAk8B,YAAsBnxB,IAAA,CACjD27F,EAAAjhG,IAAAsF,EAAA+V,GAEA,IAAAqc,EAAA2L,EAAA1K,QAAAtd,EAAA2lF,GACA7sF,MAAAujB,KAEAA,EAAA,IACAkhJ,KAEA,IAAAtzK,GACAg8F,EAAA5pE,EACAA,EAAA,GAIAA,GAAA4pE,EAEA/mG,KAAAs+K,OAAAvzK,GAAAoyB,EAGAn9B,KAAAu+K,WAAAF,EAGA,GAAAr+K,KAAAk8B,YAAA,IAEA,IAAAziB,GACAzZ,KAAAknG,YAAAlnG,KAAAu+K,WAAAv+K,KAAAk8B,YAAA,UAIA,IAAAnxB,EAAA,EAA2BA,EAAA,EAAOA,IAClC/K,KAAAmnG,sBAAA,EAAA1tF,EAAA1O,GAIA/K,KAAAynG,gBAGAP,YAAA,SAAAQ,GACA,IAAA82E,EAAAx+K,KAAAs+K,OACA7wH,EAAAztD,KAAAytD,QACA,SAAAk6C,EAAAp/F,EAAAC,GAEA,OAAAg2K,EAAAh2K,GAAAg2K,EAAAj2K,GAQAm/F,EACAlqF,MAAAvd,UAAAg2B,KAAAl2B,KAAA0tD,EAAAk6C,GAGApB,EAAA,KAAAtwE,KAAAw3B,EAAAk6C,EAAA,EAAAl6C,EAAAlqD,OAAA,IAIA4jG,sBAAA,SAAA1tF,GACA,IAAA+kK,EAAAx+K,KAAAs+K,OACA7wH,EAAAztD,KAAAytD,QAEAztD,KAAA4nG,WAAA5nG,KAAA4nG,YAAA,IAAArB,EAAA,KAEAvmG,KAAA4nG,WAAApkG,KAAAiqD,EAAA,SAAAllD,EAAAC,GACA,OAAAg2K,EAAAh2K,GAAAg2K,EAAAj2K,IACSkR,MAMT,SAAA/W,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,68EAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAIA41I,GAHA1zK,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KAUA+9B,EAAAr0B,EAAApJ,eAAA4J,OAAAwpK,EAAA,KAAAxpK,CAAA,YAGA6zB,EAAAr0B,EAAA+jB,eAAA,CACAnsB,KAAA,qBACAgX,MAAA,sBACAoV,OAAA,8BACC,cAEDqQ,EAAAr0B,EAAA+jB,eAAA,CACAnsB,KAAA,sBACAgX,MAAA,uBACAoV,OAAA,+BACC,cAEDqQ,EAAAr0B,EAAA+jB,eAAA,CACAnsB,KAAA,sBACAgX,MAAA,uBACAoV,OAAA,+BACC,eAID,SAAA7pB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA6pE,EAAA3nG,EAAA,GAGAiqC,EAAA09D,EAAA,KAAA19D,KACAttB,EAAAgrF,EAAA,KAAAhrF,KACA6C,EAAAyqB,EAAAzqB,UACAqf,EAAAoL,EAAApL,MACAtf,EAAA0qB,EAAA1qB,IACAmf,EAAAuL,EAAAvL,IACAuR,EAAAhG,EAAAgG,OAEA+d,EAAA/d,IACAge,EAAAhe,IACA2vI,EAAA3vI,IACA4vI,EAAA5vI,IAEA6vI,EAAA,GACAC,EAAA,GAEA,SAAAC,EAAAh5E,EAAA5gG,GACAuW,EAAApC,KAAAulK,EAAA94E,EAAA,IACArqF,EAAApC,KAAAwlK,EAAA/4E,EAAA,IAEA,IAAA5oF,EAAA,GACAZ,EAAAY,EAAA,GAAA6xB,IACAxyB,EAAAW,EAAA,GAAA6xB,IACAvyB,EAAAU,EAAA,GAAA6xB,IACAif,EAAA9wC,EAAA,GAAA6xB,IACA7pC,EAAAM,YAAAo5K,EAAAtiK,GACApX,EAAAM,YAAAq5K,EAAA7wH,GAEA1vC,EAAAwuC,EAAAxwC,GAEA+B,EAAA0uC,EAAAiB,EAAA1xC,GACAgC,EAAAyuC,KACApvB,EAAA+gJ,EAAA3xH,EAAAD,GACAxuC,EAAAogK,KACA/gJ,EAAAovB,EAAAD,EAAA4xH,GAEAlhJ,EAAAjhB,EAAAuwC,EAAAC,GACAzuC,EAAA/B,KAGA+B,EAAAwuC,EAAAkB,GACA3vC,EAAA0uC,EAAAzwC,EAAA0xC,GACA1vC,EAAAyuC,KACApvB,EAAA+gJ,EAAA3xH,EAAAD,GACAxuC,EAAAogK,KACA/gJ,EAAAovB,EAAAD,EAAA4xH,GAEAlhJ,EAAAhhB,EAAAswC,EAAAC,GACAzuC,EAAA9B,KAGAghB,EAAAmhJ,EAAAriK,EAAA0xC,GACA1vC,EAAAqgK,KACA,IAAAI,EAAAh2I,EAAAhL,IAAAzhB,EAAAqiK,GAEA3rE,EAAAjqE,EAAAhL,IAAA4gJ,EAAApiK,GAEA7P,GAAA/F,KAAAS,IAAA2hC,EAAAr8B,IAAA4P,GAAAysB,EAAAr8B,IAAAshD,IAAA+wH,GAAA/rE,EAAA,EAKA,OAHAjqE,EAAAxqB,YAAAhC,EAAAD,EAAAC,EAAA7P,GACAq8B,EAAAxqB,YAAA/B,EAAAwxC,EAAAxxC,EAAA9P,GAEAwQ,EAGA,SAAA8hK,EAAAl5E,EAAA5gG,EAAA+qC,GACA,IAAA/yB,EAAA,GACAZ,EAAAY,EAAA,GAAA6rB,EAAAgG,SACAxyB,EAAAW,EAAA,GAAA6rB,EAAAgG,SACAvyB,EAAAU,EAAA,GAAA6rB,EAAAgG,SACAif,EAAA9wC,EAAA,GAAA6rB,EAAAgG,SAEA7pC,EAAAM,YAAAsgG,EAAA,GAAAxpF,GACApX,EAAAM,YAAAsgG,EAAA,GAAA93C,GAEA,IAAAthD,EAAAq8B,EAAAnL,KAAAthB,EAAA0xC,GAOA,OANAjlB,EAAA/K,KAAAzhB,EAAAD,EAAA0xC,EAAA,IACAjlB,EAAA/K,KAAAxhB,EAAAF,EAAA0xC,EAAA,IAEAjlB,EAAAxqB,YAAAhC,IAAA0zB,EAAAtpC,KAAAQ,IAAA,GAAAuF,EAAA,KACAq8B,EAAAxqB,YAAA/B,IAAAyzB,EAAAtpC,KAAAQ,IAAA,GAAAuF,EAAA,KAEAwQ,EAGA,SAAA+hK,EAAAn5E,EAAA5gG,GAIA,IAHA,IAAAgY,EAAA,IAAAuuB,aAAA,EAAAq6D,EAAAtiG,QACAsS,EAAA,EACAgtG,EAAA,GACA93G,EAAA,EAAmBA,EAAA86F,EAAAtiG,OAAmBwH,IACtC9F,EAAAM,YAAAsgG,EAAA96F,GAAA83G,GACA5lG,EAAApH,KAAAgtG,EAAA,GACA5lG,EAAApH,KAAAgtG,EAAA,GACA5lG,EAAApH,KAAAgtG,EAAA,GAEA,OAAA5lG,EAGA,SAAAgiK,EAAA1zK,GACA,IAAA2zK,EAAA,GAeA,OAbA3zK,EAAA4b,KAAA,SAAAxJ,GACA,IAAAuN,EAAA3f,EAAA4f,aAAAxN,GACAkoF,EAAA36E,EAAA/H,kBAAA3F,MACA0N,EAAA/H,OAAA+H,EAAA/C,WAAA,aAGA,KAAA09E,aAAAroF,OAAAqoF,EAAAtiG,OAAA,GAAAsiG,EAAA,aAAAroF,OACA,UAAAmwB,MAAA,kBAAA6gI,KAAAz0C,UAAAl0B,GAAA,mDAGAq5E,EAAAvsK,KAAAkzF,KAGA,CACAq5E,cAIA,SAAAC,EAAA7kK,EAAArV,GACA,IAAAsG,EAAA+O,EAAAE,UACA4kK,EAAA9kK,EAAA7U,IAAA,YAEA8F,EAAAmoK,UAAA,WAAA0L,EAAA,0BAEA,IAAArtG,EAAAktG,EAAA1zK,GAEAA,EAAA4b,KAAA,SAAAxJ,GACA,IAAAkoF,EAAA9zB,EAAAmtG,WAAAvhK,GACA0hK,EAAAD,EAAAJ,EAAAH,EACAtzK,EAAAkoK,cAAA91J,EAAA0hK,EAAAx5E,EAAA5gG,MAIA,SAAAq6K,EAAAhlK,EAAArV,EAAA4nD,GACA,IAAAthD,EAAA+O,EAAAE,UACA4kK,EAAA9kK,EAAA7U,IAAA,YAEAssE,EAAAktG,EAAA1zK,GAEAA,EAAAmoK,UAAA,WAAA0L,EAAA,0BAEA7zK,EAAA4b,KAAA,SAAAxJ,GACA,IAAAkoF,EAAA9zB,EAAAmtG,WAAAvhK,GACAV,EAAAmiK,EAAAJ,EAAAn5E,EAAA5gG,GACA85K,EAAAl5E,EAAA5gG,EAAA4nD,GACAthD,EAAAkoK,cAAA91J,EAAAV,KAIA2f,EAAAr0B,EAAAnJ,eAAA,SAAAmb,EAAAxV,GACAwV,EAAA+kG,iBAAA,mBAAAhlG,GACA,IAAArV,EAAAqV,EAAApV,iBACA,UAAAD,EAAA9E,KACAg/K,EAAA7kK,EAAArV,GAEA,UAAAA,EAAA9E,KACAm/K,EAAAhlK,EAAArV,EAAA,SAEA,aAAAA,EAAA9E,MAAA,eAAA8E,EAAA9E,MACAm/K,EAAAhlK,EAAArV,EAAA,cAOA,SAAAvC,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAiiE,EAAA//F,EAAA,GACAyiJ,EAAAziJ,EAAA,IACA0gL,EAAA1gL,EAAA,KACA2gL,EAAA3gL,EAAA,IAUA,SAAA4gL,EAAAx6K,GACA,aAAAA,EAAAkX,OACAlX,EAAAkX,OAEA,MAAAlX,EAAAgW,KACAvU,KAAAS,IAAAlC,EAAAgW,KAAA,GAAAhW,EAAAgW,KAAA,GAAAhW,EAAAgW,KAAA,IAGA,IAVA2jF,EAAA,KAAAprE,OAAA3B,OAAA2tJ,EAAA,MAcA5iJ,EAAAr0B,EAAAitK,gBAAA,CAEAr1K,KAAA,UAEAsmH,UAAA,EAEAvjG,KAAA,SAAA3I,EAAAxV,GACA/E,KAAA8mH,QAAA,IAAAloB,EAAA,KAAAtrE,KAEAtzB,KAAA0/K,mBAAA,IAAA9gF,EAAA,KAAAnrE,SAAA,CACAd,OAAAisE,EAAA,KAAA7kE,aAAA,oBACA25B,aAAA,EACAH,WAAA,IAEAvzD,KAAAyhG,WAAA,IAAA7C,EAAA,KAAArrE,KAAA,CACA0I,SAAA,IAAAqlH,EAAA,KACAzuH,SAAA7yB,KAAA0/K,mBACA9/E,gBAAA,IAIA5/F,KAAA2/K,WAAA,IAAAJ,EAAA,MAGArsH,OAAA,SAAA54C,EAAAC,EAAAxV,GAEA/E,KAAA8mH,QAAAvpF,IAAAv9B,KAAAyhG,YAEA,IAAAx8F,EAAAqV,EAAApV,iBACAqG,EAAA+O,EAAAE,UAEA,GAAAvV,KAAAiqE,OAAA,CACA,IAAAA,EAAAjqE,EAAAiqE,OACAA,EAAA3xC,IAAAv9B,KAAA8mH,SAEA9mH,KAAA4/K,aAAAtlK,EAAAC,EAAAxV,GAEA,IAAA0kB,EAAAxkB,EAAAiqE,OAAAjL,gBAAA,oBACAjkE,KAAAyhG,WAAA5uE,SAAApJ,GAAA,0BACAzpB,KAAA2/K,WAAA9sJ,SAAApJ,GAAA,0BAGA,IAAAo2J,EAAA7/K,KAAA2/K,WAGA,GAFAE,EAAAvjJ,gBAEAhiB,EAAA7U,IAAA,gBACAzF,KAAA8mH,QAAAvpF,IAAAsiJ,GAEAA,EAAAp/E,WAAAl1F,EAAAxG,EAAA/E,KAAAyhG,WAAAxlE,UAEA4jJ,EAAAC,OAAAD,EAAAC,QAAA,EACA,IAAA/nJ,EAAA,KACA/3B,KAAA+/K,sBAAAF,EAAAtjJ,QAAA,IAAgEi0G,MAAA,IAChEh0G,KAAAzE,EAAA,CACA+nJ,OAAA/nJ,IAEA0E,OAAA,WACAojJ,EAAAG,iBAAAH,EAAAC,UAEA1zJ,aAGApsB,KAAA8mH,QAAAt6G,OAAAqzK,GACA7/K,KAAA+/K,sBAAA,KAGA//K,KAAAyhG,WAAA5uE,SAAAyjC,MAAAt2D,KAAA2/K,WAAA9sJ,SAAAyjC,MACA,YAAAh8C,EAAA7U,IAAA,aACAm5F,EAAA,KAAAjmE,cAAA,MAGAsnJ,YAAA,WACAjgL,KAAA+/K,uBACA//K,KAAA+/K,sBAAA3uC,SAIA8uC,aAAA,WACAlgL,KAAA+/K,uBACA//K,KAAA+/K,sBAAAzuC,UAIA6uC,aAAA,WACA,IAAAz+F,EAAA1hF,KAAA+/K,sBACAr+F,IACAA,EAAA6vD,WAAA7vD,EAAA4vD,SAAA5vD,EAAA0vD,UAIAwuC,aAAA,SAAAtlK,EAAAC,EAAAxV,GACA,IAAAwG,EAAA+O,EAAAE,UACAvV,EAAAqV,EAAApV,iBACA+2B,EAAAj8B,KAAAyhG,WAAAxlE,SACAmjJ,EAAA9kK,EAAA7U,IAAA,YAEAw2B,EAAAmkJ,YAAA,EAEA,IAAAnlK,EAAAwkK,EAAAx6K,GACAg3B,EAAAiqC,aAAAjrD,EAAA,GAEA,IAAAolK,EAAA,kBAAA5xK,MAAA,KACA9C,EAAA5G,EAAAmmF,sBACAo1F,EAAA,EACA/0K,EAAA4b,KAAA,SAAAxJ,GACA,IAAAuN,EAAA3f,EAAA4f,aAAAxN,GACAlN,EAAAya,EAAAzlB,IAAA46K,GACA,MAAA5vK,IACAA,EAAA,GAEAlF,EAAA0f,cAAAtN,EAAA,YAAAlN,GACA6vK,EAAA55K,KAAAS,IAAAsJ,EAAA6vK,KAIArkJ,EAAAkqC,eAAA,EAEA,IAAA7X,EAAA,EACAyY,EAAA,EACAx7D,EAAA4b,KAAA,SAAAxJ,GACA,IAAAV,EAAA1R,EAAAkqK,cAAA93J,GACAyhK,GACA9wH,GAAAryB,EAAAsrC,uBAAAtqD,GACA8pD,GAAA9qC,EAAAwrC,yBAAAxqD,KAGAqxC,GAAAryB,EAAAirC,yBAAAjqD,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA8pD,GAAA9qC,EAAAorC,2BAAApqD,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,OAIAgf,EAAA4qC,eAAAvY,GACAryB,EAAA6qC,iBAAAC,GACA9qC,EAAAwqC,cAEA,IAAA4/B,EAAA,GACA96F,EAAA4b,KAAA,SAAAxJ,GACA,IAAAV,EAAA1R,EAAAkqK,cAAA93J,GACAmJ,EAAAvb,EAAAic,cAAA7J,EAAA,SACAm2C,EAAAvoD,EAAAic,cAAA7J,EAAA,WACAlN,EAAAlF,EAAAic,cAAA7J,EAAA,aAAAhS,EACA,MAAAmoD,IACAA,EAAA,GAGAuyC,EAAAzH,EAAA,KAAA1lE,WAAApS,EAAAu/E,GACAA,EAAA,IAAAvyC,EACAsrH,EACAnjJ,EAAAwtC,YAAAxsD,EAAAopF,EAAA51F,GAGAwrB,EAAA4rC,cAAA5qD,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAopF,EAAA51F,KAIAwrB,EAAAtX,SAGAnY,OAAA,WACAxM,KAAA8mH,QAAAziD,aAGAvuD,QAAA,WACA9V,KAAA8mH,QAAAziD,gBAMA,SAAA3hE,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GAEA+/F,GADA//F,EAAAgvB,EAAA8O,GACA99B,EAAA,IACA4zK,EAAA5zK,EAAA,GACAigG,EAAAjgG,EAAA,IACA0hL,EAAA1hL,EAAA,KAQAiqC,EAAA2pI,EAAA,KAAA3pI,KAEA,SAAAi0I,EAAAx0K,GACA,OAAAA,EAAA,OAGAq2F,EAAA,KAAAprE,OAAA3B,OAAA0uJ,EAAA,MAEAryJ,EAAA,KAAA0wE,EAAA,KAAArrE,KAAA7uB,OAAA,WAEA,IAAAmuB,EAAA,IAAA+rE,EAAA,KAAAnrE,SAAA,CACAd,OAAA,IAAAisE,EAAA,KAAAprE,OACAorE,EAAA,KAAAprE,OAAAyG,OAAA,sBACA2kE,EAAA,KAAAprE,OAAAyG,OAAA,yBAEAy5B,aAAA,EACAH,WAAA,IAGAt3B,EAAA,IAAA6iE,EAAA,MACA/8D,SAAA,IAMA,OAJA9F,EAAAmmG,gBAAA,kBACAnmG,EAAAmmG,gBAAA,qBACAnmG,EAAAmmG,gBAAA,mBAEA,CACAnmG,WACApJ,WACA+mD,SAAA,EACAgmB,gBAAA,IAEC,CAEDa,WAAA,SAAAl1F,EAAAxG,EAAAy7K,GACA,IAAAlmK,EAAA/O,EAAA49F,UACAltE,EAAAj8B,KAAAi8B,SAEAwkJ,EAAAnmK,EAAAqgB,SAAA,UACA1f,EAAAwlK,EAAAh7K,IAAA,cAAAV,EAAAmmF,sBACAw1F,EAAAD,EAAAh7K,IAAA,eAEAu7E,EAAA1mE,EAAA7U,IAAA,wBACAk7K,EAAA,IAAArmK,EAAA7U,IAAA,iBACAm7K,EAAA,MAAA5/F,EAGAhhF,KAAAuxE,YACAn5C,QAAA+B,MAAA,sDAIAymJ,EACA5gL,KAAA6yB,SAAAO,IAAA,QAAA4tD,EAAA,KACAhhF,KAAA6yB,SAAAO,IAAA,SAAAutJ,GAEA3gL,KAAA6yB,SAAA+tJ,EAAA,gDAEA,IAAAxB,EAAA9kK,EAAA7U,IAAA,YAEAw2B,EAAAykJ,cACA1gL,KAAA6yB,SAAAO,IAAA,cAAAstJ,GAEAzkJ,EAAAwqC,cAEA,2CAAA57D,QAAA,SAAAu3F,GACAnmE,EAAAG,WAAAgmE,GAAAn+F,MAAAu8K,EAAApkJ,WAAAgmE,GAAAn+F,QAGA,IAAA48K,EAAA,4CAEAA,EAAAh2K,QAAA,SAAAu3F,GACAnmE,EAAAG,WAAAgmE,GAAAl/E,KAAA+Y,EAAAC,eAEAD,EAAAwxB,QAAA+yH,EAAA/yH,QAEA,IAAA44C,EAAA,GACAy6E,EAAAL,EAAAh7K,IAAA,cACAs7K,EAAAN,EAAAh7K,IAAA,gBACAu7K,EAAA,MAAAF,EACAG,EAAA,MAAAF,EAEA/gL,KAAA8yE,uBACA,IAAAouG,EAAAlhL,KAAAghE,eAAAh/D,EAAAyK,MACA00K,EAAAnhL,KAAAghE,eAAA/+D,EAAAwK,MACA24C,EAAAplD,KAAAghE,eAAA7jC,EAAA1wB,MAEA49D,EAAA,EAEAgR,EAAA,EAEA9vE,EAAA4b,KAAA,SAAAxJ,GACA,IAAAV,EAAA1R,EAAAkqK,cAAA93J,GACAm2C,EAAAmtH,EAAAF,EAAAx1K,EAAAic,cAAA7J,EAAA,WACAmJ,EAAAvb,EAAAic,cAAA7J,EAAA,SAEA,MAAAm2C,IACAA,EAAA,GAEAuyC,EAAAzH,EAAA,KAAA1lE,WAAA8nJ,EAAAF,EAAAh6J,EAAAu/E,GACAA,EAAA,IAAAvyC,EASA,IAPA,IAAA53B,EAAAkjJ,EACAoB,EAAAj5G,uBAAAtqD,GACAujK,EAAAt5G,yBAAAjqD,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IAEA0gB,EAAA,EACAmjE,EAAA,GACAsgF,EAAA,GACAr2K,EAAAs/D,EAAsCt/D,EAAAs/D,EAAAnuC,EAAgCnxB,IACtEkxB,EAAAG,WAAA91B,SAAAb,IAAAsF,EAAA+1F,GACAA,EAAA,IAAAogF,EACApgF,EAAA,IAAAqgF,EACArgF,EAAA,IAAA17C,EACAr6C,EAAAs/D,IACA1sC,GAAAmL,EAAAnL,KAAAmjE,EAAAsgF,IAEAnlJ,EAAAG,WAAAuB,KAAAvK,IAAAroB,EAAA4yB,GACAmL,EAAA1vB,KAAAgoK,EAAAtgF,GAGAzlB,EAAA30E,KAAAS,IAAAk0E,EAAA19C,GAEA,IAAA0jJ,EAAA36K,KAAAy3B,UAAAyiJ,EAAAjjJ,EAAAgjJ,GACA,IAAA51K,EAAAs/D,EAAsCt/D,EAAAs/D,EAAAnuC,EAAgCnxB,IACtEkxB,EAAAG,WAAAklJ,QAAAluJ,IAAAroB,EAAA4yB,GACA1B,EAAAG,WAAAhQ,MAAAgH,IAAAroB,EAAAs2K,GAEAplJ,EAAAG,WAAA2pB,OAAA3yB,IACAroB,EAAAgyK,EAAAyD,EAAApkJ,WAAA2pB,OAAAtgD,IAAAsF,IAAAkQ,EAAA,GAEAghB,EAAAG,WAAAtV,MAAAsM,IAAAroB,EAAAs7F,GAGAh8B,GAAAnuC,IAGAl8B,KAAA6yB,SAAAO,IAAA,cAAAioD,EAAAqlG,GACA1gL,KAAA6yB,SAAAO,IAAA,gBAAAqtJ,EAAAh7K,IAAA,kBAEAw2B,EAAAtX,SAGAq7J,iBAAA,SAAAjoJ,GACA/3B,KAAA6yB,SAAAO,IAAA,OAAA2E,OAMA,SAAAr1B,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,izDAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGAC,EAAAr0B,EAAA4wK,kBAAA,CAEAh5K,KAAA,iBAEA4lH,aAAA,UAEA/iG,sBAAA,kBAEAa,eAAA,SAAAV,EAAA5I,GACA,IAAAgnK,EAAA,IAAA3kJ,EAAAr0B,EAAA6/E,KAAA,UAAApoF,MAgBA,OAfAuhL,EAAAz2J,eAAA,EACAy2J,EAAAj5F,SAAAnlE,EAAA5X,KAAA,YAAAi2K,EAAA9oG,EAAAjzD,EAAA1e,GAEA,GAAAy6K,aAAAhkK,MACA,OAAA3D,IAGA0nK,EAAAz2J,eAAA,EACA,IAAA7mB,EAAAu9K,EAAAv9K,MACA,aAAAA,EACAA,aAAAuZ,MAAAvZ,EAAA8C,GAAA9C,OADA,IAMAs9K,GAGAz+J,cAAA,CAEA5d,iBAAA,QAEAk0K,WAAA,EAEAqI,WAAA,EAEAtlE,QAAA,GAEAulE,UAAA,EAEAC,OAAA,CACAzlE,MAAA,EACAykE,OAAA,EAEAiB,WAAA,EACAlB,YAAA,GAEAmB,cAAA,GAGAx6D,QAAA,EAGAs0D,UAAA,cAEAliC,UAAA,CACAn3I,MAAA,EACAwxD,QAAA,QAQA,SAAApxD,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGAmlJ,GAFAjjL,EAAA,KACAA,EAAA,KACAA,EAAA,KAQA+9B,EAAAr0B,EAAApJ,eAAA4J,OAAA+4K,EAAA,KAAA/4K,CAAA,gBAIA,SAAArG,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAm8I,EAAAj6K,EAAA,IAIA,SAAAkjL,EAAA98K,EAAA+8K,GAEA,IADA,IAAA78G,EAAA,GACAp6D,EAAA,EAAmBA,EAAAi3K,EAAAz+K,OAAiBwH,IACpCo6D,EAAAxyD,KAAA1N,EAAAM,YAAAy8K,EAAAj3K,KAEA,OAAAo6D,EAGA,IAAA88G,EAAArlJ,EAAAr0B,EAAA4wK,kBAAA,CAEAh5K,KAAA,oBAEAuiG,eAAA,SAAA/kF,GACA,OAAA3d,KAAAwa,UAAA2Q,aAAAxN,IAGAomF,uBAAA,SAAApmF,GACA,IAAA1Y,EAAAjF,KAAAkF,iBACAgmB,EAAAlrB,KAAAwa,UAAA2Q,aAAAxN,GACAkoF,EAAA36E,EAAA/H,kBAAA3F,MACA0N,EAAA/H,OAAA+H,EAAA/C,WAAA,UACA+C,EAAAzlB,IAAA,kBACAogG,EAAA,CAAAA,IAIA,IADA,IAAAxmE,EAAA,GACAt0B,EAAA,EAAuBA,EAAA86F,EAAAtiG,OAAmBwH,IAAA,CAG1C,IADA,IAAA0V,EAAA,GACAC,EAAA,EAA2BA,EAAAmlF,EAAA96F,GAAAxH,OAAsBmd,IACjDD,EAAA9N,KAAAovK,EAAA98K,EAAA4gG,EAAA96F,GAAA2V,KAEA2e,EAAA1sB,KAAA,CACAyN,SAAA2hK,EAAA98K,EAAA4gG,EAAA96F,GAAA,IACA0V,cAGA,OAAA4e,GAGAxb,eAAA,SAAAV,GACA,IAAA++J,EAAA,IAAAtlJ,EAAAr0B,EAAA6/E,KAAA,UAAApoF,MAgBA,OAfAkiL,EAAAp3J,eAAA,EACAo3J,EAAA55F,SAAAnlE,EAAA5X,KAAA,YAAAi2K,EAAA9oG,EAAAjzD,EAAA1e,GAEA,GAAAy6K,aAAAhkK,MACA,OAAA3D,IAGAqoK,EAAAp3J,eAAA,EACA,IAAA7mB,EAAAu9K,EAAAv9K,MACA,aAAAA,EACAA,aAAAuZ,MAAAvZ,EAAA8C,GAAA9C,OADA,IAMAi+K,GAGAp/J,cAAA,CAEAo5F,MAAA,EAEA3wG,KAAA,KAEA42K,cAAA,EAEAzG,qBAAA,IACAD,YAAA,IAEAt/D,QAAA,GAEAr3F,MAAA,CACAo3F,MAAA,EAEA1sG,SAAA,EAEAitG,UAAA,CACA/oG,SAAA,GACAoT,MAAA,OACA41F,gBAAA,wBACAxrG,QAAA,EACAyrG,aAAA,IAIArR,UAAA,CACAxkF,MAAA,OACA81F,YAAA,EACA/Z,YAAA,QAGAga,SAAA,CACAvR,UAAA,CACAxkF,MAAA,WAEAhC,MAAA,CACAo3F,MAAA,OAMAt/E,EAAAr0B,EAAAqpB,KAAAzmB,MAAA82K,EAAAhiL,UAAA64K,EAAA,OAMA,SAAAp2K,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAylJ,EAAAvjL,EAAA,IACAuiK,EAAAviK,EAAA,GAKA+9B,EAAAr0B,EAAAitK,gBAAA,CAEAr1K,KAAA,aAEAsmH,UAAA,EAEAvjG,KAAA,SAAA3I,EAAAxV,GACA/E,KAAA8mH,QAAA,IAAAs6C,EAAA,KAAA9tI,KAEAtzB,KAAAqiL,kBAAA,GAEAriL,KAAA87K,aAAA,GAGA5oH,OAAA,SAAA54C,EAAAC,EAAAxV,GACA/E,KAAA8mH,QAAAziD,YAEA,IAAAp/D,EAAAqV,EAAApV,iBACAD,KAAAiqE,QACAjqE,EAAAiqE,OAAA3xC,IAAAv9B,KAAA8mH,SAGA,IAAAw7D,EAAAtiL,KAAAqiL,kBAAA,GACAC,IACAA,EAAA,IAAAF,EAAA,KAAAr9K,GACAu9K,EAAAriF,SAAA,aAAAh7F,EAAA9E,MACA,eAAA8E,EAAA9E,KACAH,KAAAqiL,kBAAA,GAAAC,GAEAtiL,KAAAuiL,qBAAAt9K,EAAAq9K,GAEAA,EAAA/1J,OAAAjS,EAAAC,EAAAxV,GACA/E,KAAAqiL,kBAAA9+K,OAAA,EAEAvD,KAAA8mH,QAAAvpF,IAAA+kJ,EAAA9kH,WAGAw+G,yBAAA,SAAA1hK,EAAAC,EAAAxV,GACA/E,KAAA8mH,QAAAziD,YAEA,IAAAp/D,EAAAqV,EAAApV,iBACAD,KAAAiqE,QACAjqE,EAAAiqE,OAAA3xC,IAAAv9B,KAAA8mH,SAGA9mH,KAAA87K,aAAA,GAGAG,kBAAA,SAAAj3J,EAAA1K,EAAAC,EAAAxV,GACA,IAAAu9K,EAAAtiL,KAAAqiL,kBAAAriL,KAAA87K,cACA72K,EAAAqV,EAAApV,iBACAo9K,IACAA,EAAA,IAAAF,EAAA,KAAAr9K,GACAu9K,EAAAriF,SAAA,aAAAh7F,EAAA9E,MACA,eAAA8E,EAAA9E,KACAH,KAAAqiL,kBAAAriL,KAAA87K,cAAAwG,GAEAA,EAAA/1J,OAAAjS,EAAAC,EAAAxV,EAAAigB,EAAAoH,MAAApH,EAAAuE,KACAvpB,KAAA8mH,QAAAvpF,IAAA+kJ,EAAA9kH,UAEAx9D,KAAAuiL,qBAAAt9K,EAAAq9K,GAEAtiL,KAAA87K,gBAGAyG,qBAAA,SAAAt9K,EAAAq9K,GACA,IAAA74J,EAAAxkB,EAAAiqE,OAAAjL,gBAAA,oBACAq+G,EAAA9kH,SAAArrC,SAAA,SAAAigC,GACAA,EAAAv/B,WACAu/B,EAAAv/B,SAAApJ,GAAA,0BAGA,aAAAxkB,EAAA9E,MAAA,eAAA8E,EAAA9E,OACAiyD,EAAAv/B,SAAA0H,OAAA,+BACA63B,EAAAv/B,SAAA0H,OAAA,uCAMA/tB,OAAA,WACAxM,KAAA8mH,QAAAziD,aAGAvuD,QAAA,WACA9V,KAAA8mH,QAAAziD,gBAMA,SAAA3hE,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAIA41I,GAHA1zK,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KASA+9B,EAAAr0B,EAAApJ,eAAA4J,OAAAwpK,EAAA,KAAAxpK,CAAA,aAKA,SAAArG,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAm8I,EAAAj6K,EAAA,IACAy8K,EAAAz8K,EAAA,IACA08K,EAAA18K,EAAA,IAMA2jL,EAAA5lJ,EAAAr0B,EAAA4wK,kBAAA,CAEAh5K,KAAA,iBAEA4lH,aAAA,2BAEA/iG,sBAAA,kBAEAwC,cAAA,SAAAC,GACA,OAAA1c,OAAAuyK,EAAA,KAAAvyK,CAAA/I,KAAAylB,IAGA5B,eAAA,SAAAV,EAAA5I,GACA,IAAAhP,EAAA4X,EAAA5X,KAEA,SAAAk3K,EAAAC,GACA,QAAA9oK,MAAA8oK,EAAAx7K,MAAA0S,MAAA8oK,EAAAv7K,MAAAyS,MAAA8oK,EAAAl/K,OAGA,SAAAg1G,EAAAkqE,GACA,IAAAlqE,EAAA57E,EAAAr0B,EAAAy2I,OAAAvmC,iBACA,OAAA/xG,KAAAS,IACAqxG,EAAAkqE,EAAAx7K,KAAAsxG,EAAAkqE,EAAAv7K,KAAAqxG,EAAAkqE,EAAAl/K,OACA,EAGA,IAAA+H,EACA,GAAA4X,EAAAw/J,WAyCA,CACA,IAAAC,EAAAz/J,EAAAy/J,oBAAA,GACAC,EAAAD,EAAA7xF,GAAA,GACA+xF,EAAAF,EAAAzlK,GAAA,GAEA,UAAAtS,QAAA,SAAAyQ,GACAmnK,EAAAG,EAAAtnK,KAEA8c,QAAA+B,MAAA,gCAAA7e,KAKA,cAAAzQ,QAAA,SAAAyQ,GACA,oBAAAsnK,EAAAtnK,IAEA8c,QAAA+B,MAAA,6CAAA7e,KAMA,IAAAynK,EAAAr8K,KAAAmK,OAAAgyK,EAAA17K,IAAA07K,EAAAr/K,KAAAq/K,EAAA37K,KAAA27K,EAAAr/K,MACAw/K,EAAAt8K,KAAAmK,OAAAiyK,EAAA37K,IAAA27K,EAAAt/K,KAAAs/K,EAAA57K,KAAA47K,EAAAt/K,MACA+H,EAAA,IAAAigC,aAAAu3I,EAAAC,EAAA,GAGA,IAAAC,EAAAzqE,EAAAqqE,GACAK,EAAA1qE,EAAAsqE,GAEA,IADAjtK,EAAA,EACAnF,EAAA,EAA+BA,EAAAsyK,EAAYtyK,IAC3C,IAAA3F,EAAA,EAAmCA,EAAAg4K,EAAYh4K,IAAA,CAC/C,IAAAgmF,EAAAhmF,EAAA83K,EAAAr/K,KAAAq/K,EAAA37K,IACAiW,EAAAzM,EAAAoyK,EAAAt/K,KAAAs/K,EAAA57K,IACAi8K,EAAAvmJ,EAAAr0B,EAAAy2I,OAAA9kI,MAAAxT,KAAAQ,IAAA6pF,EAAA8xF,EAAA17K,KAAA87K,GACAvnK,EAAAkhB,EAAAr0B,EAAAy2I,OAAA9kI,MAAAxT,KAAAQ,IAAAiW,EAAA2lK,EAAA37K,KAAA+7K,GACAlhL,EAAA4gL,EAAA5gL,EAAAmhL,EAAAznK,GACAzZ,EAAA2gL,EAAA3gL,EAAAkhL,EAAAznK,GACAyhB,EAAAylJ,EAAAzlJ,EAAAgmJ,EAAAznK,GACAnQ,EAAAsK,KAAA7T,EACAuJ,EAAAsK,KAAA5T,EACAsJ,EAAAsK,KAAAsnB,EACA5xB,EAAAsK,KAAAstK,EACA53K,EAAAsK,KAAA6F,OApFA,CAEA,IAAA0nK,EAAAjgK,EAAAigK,UAAA,GACAC,EAAAD,EAAAphL,GAAA,GACAshL,EAAAF,EAAAnhL,GAAA,GAUA,GARA,UAAA4I,QAAA,SAAAyQ,GACAmnK,EAAAW,EAAA9nK,KAEA8c,QAAA+B,MAAA,sBAAA7e,KAKA,oBAAA8nK,EAAAjmJ,EAIA,YAFA/E,QAAA+B,MAAA,mCAIA,IAAAopJ,EAAA78K,KAAAmK,OAAAwyK,EAAAl8K,IAAAk8K,EAAA7/K,KAAA6/K,EAAAn8K,KAAAm8K,EAAA7/K,MACAggL,EAAA98K,KAAAmK,OAAAyyK,EAAAn8K,IAAAm8K,EAAA9/K,KAAA8/K,EAAAp8K,KAAAo8K,EAAA9/K,MACA+H,EAAA,IAAAigC,aAAA+3I,EAAAC,EAAA,GAMA,IAJA,IAAAC,EAAAjrE,EAAA6qE,GACAK,EAAAlrE,EAAA8qE,GAEAztK,EAAA,EACAnF,EAAA,EAA+BA,EAAA8yK,EAAY9yK,IAC3C,QAAA3F,EAAA,EAAmCA,EAAAw4K,EAAYx4K,IAAA,CAC/C,IAAA/I,EAAA+I,EAAAs4K,EAAA7/K,KAAA6/K,EAAAn8K,IACAjF,EAAAyO,EAAA4yK,EAAA9/K,KAAA8/K,EAAAp8K,IACAs4B,EAAA5C,EAAAr0B,EAAAy2I,OAAA9kI,MAAAxT,KAAAQ,IAAAlF,EAAAqhL,EAAAl8K,KAAAs8K,GACAhkJ,EAAA7C,EAAAr0B,EAAAy2I,OAAA9kI,MAAAxT,KAAAQ,IAAAjF,EAAAqhL,EAAAn8K,KAAAu8K,GACAvmJ,EAAAimJ,EAAAjmJ,EAAAqC,EAAAC,GACAl0B,EAAAsK,KAAA2pB,EACAj0B,EAAAsK,KAAA4pB,EACAl0B,EAAAsK,KAAAsnB,GAqDA,IAAAgqD,EAAA,cACAhkE,EAAAw/J,YACAx7F,EAAAx0E,KAAA,SAGA,IAAAxF,EAAApE,OAAAwyK,EAAA,KAAAxyK,CAAA/I,KAAAmnF,EAAA57E,GACA,OAAA4B,GAGA2V,cAAA,CACA5d,iBAAA,cACAi3G,QAAA,GAGA9O,YAAA,EAGA5yE,QAAA,UAGAkoJ,YAAA,EAEAgB,UAAA,CACAznE,MAAA,EAEAu9B,UAAA,CACA3yH,MAAA,kBACAxkB,MAAA,IAMA8gL,SAAA,CAEAphL,EAAA,CACAkF,KAAA,EACAC,IAAA,EACA3D,KAAA,IAEAvB,EAAA,CACAiF,KAAA,EACAC,IAAA,EACA3D,KAAA,IAEA25B,EAAA,MAGAylJ,mBAAA,CAEA7xF,EAAA,CACA7pF,KAAA,EACAC,IAAA,EACA3D,KAAA,IAEA2Z,EAAA,CACAjW,KAAA,EACAC,IAAA,EACA3D,KAAA,IAGAxB,EAAA,KACAC,EAAA,KACAk7B,EAAA,MAGAmuE,UAAA,GAIA7rB,wBAAA,OAIA7iD,EAAAr0B,EAAAqpB,KAAAzmB,MAAAq3K,EAAAviL,UAAA64K,EAAA,OAMA,SAAAp2K,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAiiE,EAAA//F,EAAA,GAEAknE,GADAlnE,EAAA,GACAA,EAAA,IACA+kL,EAAA/kL,EAAA,IAOAiqC,EAAAi9B,EAAA,KAAAj9B,KAEA,SAAA+6I,EAAAhhE,GACA,OAAAjpG,MAAAipG,EAAA,KAAAjpG,MAAAipG,EAAA,KAAAjpG,MAAAipG,EAAA,IAGAjmF,EAAAr0B,EAAAitK,gBAAA,CAEAr1K,KAAA,UAEAsmH,UAAA,EAEAvjG,KAAA,SAAA3I,EAAAxV,GAEA/E,KAAA8mH,QAAA,IAAAloB,EAAA,KAAAtrE,MAGA4/B,OAAA,SAAA54C,EAAAC,EAAAxV,GAEA,IAAAorD,EAAAnwD,KAAA8jL,iBACA9jL,KAAA8jL,iBAAA9jL,KAAA+jL,aACA/jL,KAAA+jL,aAAA5zH,EAEAnwD,KAAA+jL,eACA/jL,KAAA+jL,aAAA/jL,KAAAgkL,sBAGAhkL,KAAA8mH,QAAAt6G,OAAAxM,KAAA8jL,kBACA9jL,KAAA8mH,QAAAvpF,IAAAv9B,KAAA+jL,cAEA,IAAA9+K,EAAAqV,EAAApV,iBACAu1B,EAAAngB,EAAA7U,IAAA,WACA8F,EAAA+O,EAAAE,UAEAmuJ,EAAA,QAAAluI,EASA,GARAz6B,KAAA+jL,aAAAlxJ,UAAA7yB,KAAA+jL,aAAAlxJ,SAAAF,OAAArkB,OAAAq6J,IACA3oK,KAAA+jL,aAAAlxJ,SAAA+rE,EAAA,KAAAxkE,eAAAuuI,EAAA,kCAGA/pE,EAAA,KAAApkE,qBACAC,EAAAz6B,KAAA+jL,aAAAlxJ,SAAAvY,EAAAvV,GAGAE,KAAAiqE,OAAA,CACAjqE,EAAAiqE,OAAA3xC,IAAAv9B,KAAA8mH,SACA,IAAAr9F,EAAAxkB,EAAAiqE,OAAAjL,gBAAA,oBACAjkE,KAAA+jL,aAAAlxJ,SAAApJ,GAAA,0BAGA,IAAAw6J,EAAA3pK,EAAA7U,IAAA,cAEAy+K,EAAAlkL,KAAAmkL,cAAA54K,EAAA04K,GAEAG,EAAA9pK,EAAAqgB,SAAA,aACA0pJ,EAAAD,EAAA3+K,IAAA,mBACA6+K,EAAAF,EAAA3+K,IAAA,SAAA4+K,EAAA,EACArkL,KAAAukL,mBAAAvkL,KAAA+jL,aAAAzpK,EAAA4pK,EAAAI,GAEA,IAAAzxJ,EAAA7yB,KAAA+jL,aAAAlxJ,SACAyxJ,GACAzxJ,EAAA0H,OAAA,kBACA1H,EAAAO,IAAA,qBAAAixJ,GACAxxJ,EAAAO,IAAA,qBAAAwrE,EAAA,KAAA1lE,WAAAkrJ,EAAA3+K,IAAA,sBAGAotB,EAAA6J,SAAA,kBAGA18B,KAAAw2K,aAAAl8J,EAAAvV,GAEA/E,KAAAmsG,iBAAA7xF,IAGA6xF,iBAAA,SAAA7xF,GACAskF,EAAA,KAAAnjE,sBACA,6BACA,yBACAz7B,KAAA8jL,iBACA9jL,KAAA+jL,aACAzpK,IAIA0pK,mBAAA,WACA,IAAA5xH,EAAA,IAAAwsC,EAAA,KAAArrE,KAAA,CACA0I,SAAA,IAAA2iE,EAAA,KAAAhrE,SAAA,CACAmO,SAAA,EACAs/D,eAAA,IAEArlE,oBAAA,IAAA4iE,EAAA,KAAAnrE,SAAA,CACAd,OAAA,IAAAisE,EAAA,KAAAprE,OAAAorE,EAAA,KAAAprE,OAAAyG,OAAA,wBAAA2kE,EAAA,KAAAprE,OAAAyG,OAAA,6BAEA2/C,SAAA,EAEAiZ,YAAA,GAEApxB,cAAA,IAQA,OANArP,EAAAn2B,SAAAmmG,gBAAA,yBACAhwE,EAAAn2B,SAAAmmG,gBAAA,0BACAhwE,EAAAn2B,SAAAmmG,gBAAA,wBAEAxlG,EAAAr0B,EAAAqpB,KAAAltB,OAAA0tD,EAAAn2B,SAAA2nJ,EAAA,MAEAxxH,GAGAokH,aAAA,SAAAl8J,EAAAvV,GACA,IAAAwG,EAAA+O,EAAAE,UACAgqK,EAAAxkL,KAAA+jL,aAEA9+K,EAAAqV,EAAApV,iBAEA,SAAAu/K,EAAAnhF,EAAAz5B,GAIA,IAHA,IAAA66G,EAAA5qK,IACA6qK,GAAA,EACA7jF,EAAA,GACA/1F,EAAA,EAA2BA,EAAAu4F,EAAA//F,OAAqBwH,IAAA,CAChDy5K,EAAAvoJ,SAAAG,WAAA91B,SAAAb,IAAA69F,EAAAv4F,GAAA+1F,GACA,IAAAnjE,EAAAmL,EAAAnL,KAAAksC,EAAAzsC,MAAA0jE,GACAnjE,EAAA+mJ,IACAA,EAAA/mJ,EACAgnJ,EAAArhF,EAAAv4F,IAGA,OAAA45K,EAGAH,EAAA3hK,YAAAvI,EAAAuI,YAEA,IAAAoqF,GAAA,EAEAu3E,EAAA3uK,IAAA,aACA2uK,EAAA3uK,IAAA,YACA2uK,EAAA5uK,GAAA,qBAAAO,GACA,IAAAwH,EAAA8mK,EAAAtuK,EAAAmtF,SAAAntF,EAAA0zD,OACA,GAAAlsD,GAAA,GACA,IAAAksD,EAAA,GACA26G,EAAAvoJ,SAAAG,WAAA91B,SAAAb,IAAAkY,EAAAksD,GAMA,IALA,IAAA5lE,EAAAgB,EAAAo8G,YAAAx3C,GAEA+6G,EAAA9qK,IACA2L,GAAA,EACAo/C,EAAA,GACA95D,EAAA,EAA+BA,EAAAQ,EAAAoO,QAAkB5O,IAAA,CACjD85D,EAAA,GAAAt5D,EAAA9F,IAAA,IAAAsF,GACA85D,EAAA,GAAAt5D,EAAA9F,IAAA,IAAAsF,GACA85D,EAAA,GAAAt5D,EAAA9F,IAAA,IAAAsF,GACA,IAAA4yB,EAAAmL,EAAAzK,gBAAAwmC,EAAA5gE,GACA05B,EAAAinJ,IACAn/J,EAAA1a,EACA65K,EAAAjnJ,GAIAlY,IAAAwnF,GACAloG,EAAAqoG,eAAA,CACAjtG,KAAA,wBACA8D,UAIAgpG,EAAAxnF,EACA++J,EAAA/+J,iBAGA++J,EAAA/+J,WAAA,GAESzlB,MACTwkL,EAAA5uK,GAAA,oBAAAO,GACA82F,GAAA,EACAu3E,EAAA/+J,WAAA,EAEA1gB,EAAAqoG,eAAA,CACAjtG,KAAA,2BAESH,OAGTukL,mBAAA,SAAAC,EAAAlqK,EAAA4pK,EAAAI,GAEA,IAAAroJ,EAAAuoJ,EAAAvoJ,SACA1wB,EAAA+O,EAAAE,UACAqqK,EAAAt5K,EAAAsS,UAAA,UAEAinK,EAAA,EACAv5K,EAAA4b,KAAA,SAAAxJ,GACApS,EAAAu5E,SAAAnnE,IACAmnK,MAGA,IAAAC,EAAAD,GAAAR,EAEAt6G,EAAA/tC,EAAAG,WAAA91B,SACAm+F,EAAAxoE,EAAAG,WAAAywB,OACA63C,EAAAzoE,EAAAG,WAAAuwB,UACAq4H,EAAA/oJ,EAAAG,WAAA6wB,YACAkd,EAAAluC,EAAAG,WAAAtV,MACAm+J,EAAAf,EAAAe,IACAC,EAAAhB,EAAAgB,OACAzqJ,EAAAngB,EAAA7U,IAAA,WACA0/K,EAAA,UAAA1qJ,EAEA,GAAAsqJ,EAAA,CAEA,IAAA7oJ,GAAA+oJ,EAAA,IAAAC,EAAA,KACAl7G,EAAA9mD,KAAAgZ,GACAooJ,GACAU,EAAA9hK,KAAAgZ,QAIA8tC,EAAA/lE,MAAA,IAAAunC,aAAAq5I,GAEA16G,EAAAjnD,KAAA+Y,EAAAC,aACAwoE,EAAAxhF,KAAA+Y,EAAAC,aAEA,IAAAupE,EAAA,cAKA2/E,EAAA,CACA,UACA,UACA,UACA,WAGA33H,EAAAxxB,EAAAwxB,QAAA,IAAAxxB,EAAAC,YAAA,MAAAuvB,YAAAD,cAAAy5H,EAAA,IAAAC,EAAA,MACAG,EAAA,SAAAt6K,EAAA2F,EAAA2uB,GACAA,EAAA,GAAAt0B,EAAAm6K,EAAAx0K,EACA2uB,EAAA,GAAAt0B,EAAAm6K,EAAAx0K,EAAA,EACA2uB,EAAA,IAAAt0B,EAAA,GAAAm6K,EAAAx0K,EAAA,EACA2uB,EAAA,IAAAt0B,EAAA,GAAAm6K,EAAAx0K,GAGA4jE,GAAA,EAEA,GAAAywG,EAAA,CACA,IAAAO,EAAA,GACAxkF,EAAA,GACA6P,EAAA,EAEAw0E,EACA1gF,EAAAvhF,KAAA+Y,EAAAC,aAGAuoE,EAAAxgG,MAAA,KAiBA,IAdA,IAAAgZ,EAAA,WACA+wC,EAAA,GAAAC,EAAA,GACApB,EAAA/jB,EAAAgG,SAEAy2I,EAAA,SAAA9nJ,EAAA9f,EAAA0hB,GACA,IAAAmrC,EAAA,EAAA7sD,EAIA,OAHA0hB,EAAA,GAAA5B,EAAA+sC,GACAnrC,EAAA,GAAA5B,EAAA+sC,EAAA,GACAnrC,EAAA,GAAA5B,EAAA+sC,EAAA,GACAnrC,GAEAmmJ,EAAA,IAAAh6I,aAAAq5I,EAAAthL,QACAyyK,EAAA,IAAAxqI,aAAAq5I,EAAAthL,OAAA,KAEAwH,EAAA,EAA2BA,EAAAQ,EAAAoO,QAAkB5O,IAC7C,GAAAQ,EAAAu5E,SAAA/5E,GAAA,CACA,IAAA4gG,EAAA/M,EAAA,KAAA1lE,WAAA3tB,EAAAic,cAAAzc,EAAA,UACA+oD,EAAAvoD,EAAAic,cAAAzc,EAAA,WACA4gG,EAAA,IAAA73C,EACA63C,EAAA,SACAr3B,GAAA,GAEA,QAAA5zD,EAAA,EAAmCA,EAAA,EAAOA,IAC1Cs1J,EAAA,EAAAjrK,EAAA2V,GAAAirF,EAAAjrF,GAIA,IAAA+kK,EAAA,cACA,IAAA16K,EAAA,EAA2BA,EAAAk6K,EAAA,EAAal6K,IACxC,QAAA2F,EAAA,EAA+BA,EAAAw0K,EAAA,EAAgBx0K,IAAA,CAC/C,IAAA+U,EAAA1a,GAAAm6K,EAAA,GAAAx0K,EACA25D,EAAA,EAAA5kD,EAEA4/J,EAAAt6K,EAAA2F,EAAA40K,GAEA,IAAAI,GAAA,EACA,IAAAhlK,EAAA,EAAmCA,EAAA,EAAOA,IAC1C6kK,EAAAV,EAAAS,EAAA5kK,GAAAogF,GACA+iF,EAAA/iF,KAEA4kF,GAAA,GAIA,IAAAhlK,EAAA,EAAmCA,EAAA,EAAOA,IAC1CglK,EAEA17G,EAAA52C,IAAAi3C,EAAA3pD,EAAA+kK,IAGAF,EAAAV,EAAAS,EAAA5kK,GAAAogF,GACA92B,EAAA52C,IAAAi3C,EAAA3pD,EAAAogF,IAEAwjF,GACAU,EAAA5xJ,IAAAi3C,EAAA3pD,EAAA0kK,EAAA1kK,IAGA,IAAAA,EAAA,EAAmCA,EAAA,EAAOA,IAC1C+sC,EAAAkjD,KAAAlL,EAAA/kF,GAAA2pD,EAGA,GAAA86G,IAAAO,EACA,IAAAhlK,EAAA,EAAuCA,EAAA,EAAOA,IAAA,CAG9C,IAFA,IAAA4pD,EAAA,EAAA5pD,EAEA6M,EAAA,EAA2CA,EAAA,EAAOA,IAAA,CAClD,IAAA5P,EAAA2nK,EAAA7/E,EAAAn7B,GAAA/8C,GACAg4J,EAAAV,EAAAlnK,EAAAV,EAAAsQ,IAGAub,EAAA1qB,IAAA4vC,EAAA/wC,EAAA,GAAAA,EAAA,IACA6rB,EAAA1qB,IAAA6vC,EAAAhxC,EAAA,GAAAA,EAAA,IACA6rB,EAAApL,MAAAmvB,EAAAmB,EAAAC,GAEA,IAAA1gC,EAAA,EAA2CA,EAAA,EAAOA,IAAA,CAClD,IAAAi9C,EAAA,EAAA86G,EAAA7/E,EAAAn7B,GAAA/8C,GACAi4J,EAAAh7G,GAAAg7G,EAAAh7G,GAAA3d,EAAA,GACA24H,EAAAh7G,EAAA,GAAAg7G,EAAAh7G,EAAA,GAAA3d,EAAA,GACA24H,EAAAh7G,EAAA,GAAAg7G,EAAAh7G,EAAA,GAAA3d,EAAA,KAOA,GAAAs4H,EACA,IAAAp6K,EAAA,EAA+BA,EAAAy6K,EAAAjiL,OAAA,EAA8BwH,IAC7Dw6K,EAAAC,EAAAz6K,EAAA8hD,GACA/jB,EAAAzqB,UAAAwuC,KACA24H,EAAA,EAAAz6K,GAAA8hD,EAAA,GACA24H,EAAA,EAAAz6K,EAAA,GAAA8hD,EAAA,GACA24H,EAAA,EAAAz6K,EAAA,GAAA8hD,EAAA,GAIA8+C,EAAA,OACA6+D,EAAA,GACA,IAAAz/J,EAAA,EAA2BA,EAAAk6K,EAAA,EAAal6K,IACxC,IAAA2F,EAAA,EAA+BA,EAAAw0K,EAAA,EAAgBx0K,IAAA,CAC/C+U,EAAA1a,GAAAm6K,EAAA,GAAAx0K,EACA25D,EAAA,EAAA5kD,EAEA4/J,EAAAt6K,EAAA2F,EAAA40K,GACA,IAAA5kK,EAAA,EAAmCA,EAAA,EAAOA,IAAA,CAC1C,IAAA6M,EAAA,EAAuCA,EAAA,EAAOA,IAC9Co+E,EAAAp+E,GAAAyoJ,EAAA,EAAAsP,EAAA5kK,GAAA6M,GAEA48C,EAAA/2C,IAAAi3C,EAAA3pD,EAAAirF,GAEAw5E,IACAI,EAAAC,EAAAF,EAAA5kK,GAAAmsC,GACA43C,EAAArxE,IAAAi3C,EAAA3pD,EAAAmsC,IAGAlvC,EAAA2nK,EAAA5kK,GACA8pJ,EAAA,GAAA7sJ,EAAAunK,KAAA,GACA1a,EAAA,GAAA9jK,KAAAmK,MAAA8M,EAAAunK,IAAAD,EAAA,GACAvgF,EAAAtxE,IAAAi3C,EAAA3pD,EAAA8pJ,GAEA/kJ,SAIA,CAEA,IADA+kJ,EAAA,GACAz/J,EAAA,EAA2BA,EAAAQ,EAAAoO,QAAkB5O,IAAA,CAC7Cy/J,EAAA,GAAAz/J,EAAAm6K,KAAA,GACA1a,EAAA,GAAA9jK,KAAAmK,MAAA9F,EAAAm6K,IAAAD,EAAA,GACAt5E,EAAA/M,EAAA,KAAA1lE,WAAA3tB,EAAAic,cAAAzc,EAAA,UACA+oD,EAAAvoD,EAAAic,cAAAzc,EAAA,WACA4gG,EAAA,IAAA73C,EACA63C,EAAA,SACAr3B,GAAA,GAEAnK,EAAA/2C,IAAAroB,EAAA4gG,GACAjH,EAAAtxE,IAAAroB,EAAAy/J,GAEA8a,EAAA,OAEA70H,EAAA,EACA,IAAA1lD,EAAA,EAA2BA,EAAAk6K,EAAA,EAAal6K,IACxC,IAAA2F,EAAA,EAA+BA,EAAAw0K,EAAA,EAAgBx0K,IAAA,CAE/C20K,EAAAt6K,EAAA2F,EAAA40K,GAEA,IAAA5kK,EAAA,EAAmCA,EAAA,EAAOA,IAC1C+sC,EAAAgD,KAAA60H,EAAA7/E,EAAA/kF,IAIAykK,EACAlpJ,EAAAuxB,wBAGAi3C,EAAAxgG,MAAA,KAGAugL,EAAA3xJ,SAAAptB,IAAA,cACAw2B,EAAAoyB,mBAIApyB,EAAAmxB,oBACAnxB,EAAAtX,QAEA6/J,EAAA3xJ,SAAA6gC,YAAA4gB,EACAkwG,EAAA3xJ,SAAA0gC,WAAA+gB,GAGA6vG,cAAA,SAAA54K,EAAA04K,GAUA,IARA,IAAA0B,GAAA7rK,IACA8rK,EAAA,EACAC,EAAA,EACAC,EAAA,EAEAC,EAAA9B,EAAA,QAGAl5K,EAAA,EAAuBA,EAAAQ,EAAAoO,QAAkB5O,IAAA,CACzC,IAAA/I,EAAAuJ,EAAA9F,IAAAsgL,EAAAh7K,GACA,GAAA/I,EAAA2jL,EAAA,CACA,GAAAG,OAAAD,EAEA,UAAAl4I,MAAA,sDAIAm4I,EAAAD,EACAA,EAAA,EACAD,IAEAD,EAAA3jL,EACA6jL,IAGA,OACAZ,IAAAW,EAAA,EACAV,OAAAW,IAIA/vK,QAAA,WACA9V,KAAA8mH,QAAAziD,aAGA73D,OAAA,WACAxM,KAAA8mH,QAAAziD,gBAMA,SAAA3hE,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGAC,EAAAr0B,EAAAnJ,eAAA,SAAAmb,EAAAxV,GACAwV,EAAA+kG,iBAAA,mBAAA0mE,GACA,IAAA5qC,EAAA4qC,EAAA9gL,iBACAk2I,GAAA,gBAAAA,EAAAj7I,MAEAi4B,QAAA+B,MAAA,2DAGA,IAAA5uB,EAAAy6K,EAAAxrK,UACAktD,EAAA,IAAAl8B,aAAA,EAAAjgC,EAAAoO,SACAssK,EAAA,CAAApsK,aAEA,GAAAuhI,GAAA,gBAAAA,EAAAj7I,KAAA,CACA,IAAAu5K,EAAAt+B,EAAA3iE,WACA0O,EAAAuyF,EAAAtsK,IAAA,SAAAqb,GACA,OAAAu9J,EAAAx9J,kBAAAC,GAAA,KAEAld,EAAA4b,KAAAggE,EAAA,SAAAnlF,EAAAC,EAAAk7B,EAAAxf,GACA,IAAAklG,EAKAA,EAJAt3G,EAAAu5E,SAAAnnE,GAIAy9H,EAAA71I,YAAA,CAAAvD,EAAAC,EAAAk7B,IAHA8oJ,EAKAv+G,EAAA,EAAA/pD,GAAAklG,EAAA,GACAn7C,EAAA,EAAA/pD,EAAA,GAAAklG,EAAA,GACAn7C,EAAA,EAAA/pD,EAAA,GAAAklG,EAAA,KAGAt3G,EAAAmoK,UAAA,SAAAhsG,QAMA,SAAAhlE,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAIA41I,GAHA1zK,EAAA,IACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KASA+9B,EAAAr0B,EAAApJ,eAAA4J,OAAAwpK,EAAA,KAAAxpK,CAAA,UAEA6zB,EAAAr0B,EAAA+jB,eAAA,CACAnsB,KAAA,oBACAgX,MAAA,qBACAoV,OAAA,uBACC,SAAAC,EAAAjS,GACDA,EAAA8kG,cAAA,CACArzF,SAAA,SAAA7H,QAAA,QAAA6xH,MAAAxpH,GACK,SAAAyhD,GACLA,EAAA0N,QAAAnvD,QAMA,SAAA9pB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAupJ,EAAArnL,EAAA,IACAsnL,EAAAtnL,EAAA,IACAunL,EAAAvnL,EAAA,IACAwnL,EAAAxnL,EAAA,IACA8hK,EAAA9hK,EAAA,IACAynL,EAAAznL,EAAA,IACA0nL,EAAA1nL,EAAA,IACA2nL,EAAA3nL,EAAA,IAWA,SAAAkjL,EAAA0E,EAAAzE,GAEA,IADA,IAAA0E,EAAA,GACAhmK,EAAA,EAAmBA,EAAAshK,EAAAz+K,OAAiBmd,IACpCgmK,EAAA/zK,KAAA8zK,EAAAlhL,YAAAy8K,EAAAthK,KAEA,OAAAgmK,EAGA,IAAAC,EAAA/pJ,EAAAr0B,EAAA4wK,kBAAA,CAEAh5K,KAAA,eAEA8iB,WAAA,MAEA/d,iBAAA,KAEA8d,sBAAA,kBAEAo0H,cAAA,SAAAwvC,GACAA,KAAA,GACA,IAAAvS,EAAAr0K,KAAAyF,IAAA,oBACA,SAAA4uK,GAAA,UAAAA,EAAA,CAKA,IAAAwS,EAAA,CACA,8BACA,kCACA,2DACA,6BAEAC,EAAA,GACAD,EAAAh8K,QAAA,SAAAk6D,GACA,MAAA6hH,EAAA7hH,IACA+hH,EAAAn0K,KAAAoyD,KAGA+hH,EAAAvjL,QACA60B,QAAAyH,KACA,yEACAinJ,EAAA92K,KAAA,MAAAqkK,GAKAr0K,KAAAyF,IAAA,sBAEAzF,KAAAmjB,OAAAq5F,YAAAN,MAAA,GAIAl8G,KAAA+mL,KAAA,OAGAljK,eAAA,SAAAV,GACAA,EAAA5X,KAAAvL,KAAA07G,iBAAAv4F,EAAA5X,KAAA4X,EAAA/V,KAEA,IAAAqrE,EAAA77C,EAAAr0B,EAAA++E,OAAAu5E,mBAAA,UAAA19I,EAAA5X,MACA4B,EAAA,IAAAyvB,EAAAr0B,EAAA6/E,KAAA3P,EAAAz4E,MACAmN,EAAAm7E,SAAAnlE,EAAA5X,MAEA,IAAAy1J,EAAA,GASA,OARA7zJ,EAAAga,KAAA,SAAAxJ,GACA,IAAArP,EAAAnB,EAAAya,QAAAjK,GACAuN,EAAA/d,EAAAge,aAAAxN,GACAqjJ,EAAA1yJ,GAAA4c,IAGAlrB,KAAAihK,gBAAAD,EAEA7zJ,GAGAqY,cAAA,SAAAC,GACA,OAAA1c,OAAAw9K,EAAA,KAAAx9K,CAAA/I,KAAAylB,IAGAi9E,eAAA,SAAA/kF,GACA,IAAArP,EAAAtO,KAAAwa,UAAAoN,QAAAjK,GACA,OAAA3d,KAAAihK,gBAAA3yJ,IAAA,IAAAsuB,EAAAr0B,EAAAm6I,MAAA,KAAA1iJ,OAGA+jG,uBAAA,SAAApmF,GACA,IAAA1Y,EAAAjF,KAAAkF,iBACAoJ,EAAAtO,KAAAwa,UAAAoN,QAAAjK,GACA,GAAA1Y,EAAA4B,UAAA,CACA,IAAA+5F,EAAA37F,EAAA47F,UAAAvyF,GACA,OAAAsyF,IAAAhhF,WAAA,GAGA5f,KAAA+mL,OACA/mL,KAAA+mL,KAAAP,EAAA,KAAArnE,YAAAn/G,OAEA4gG,EAAA5gG,KAAA+mL,KAAAlmF,UAAAvyF,GAEA,IAFA,IACA62D,EAAA,GACAzkD,EAAA,EAA2BA,EAAAkgF,EAAAhhF,WAAArc,OAA8Bmd,IAAA,CACzD,IAAAslF,EAAApF,EAAAhhF,WAAAc,GACAD,EAAA,GACAL,EAAA2hK,EAAA98K,EAAA+gG,EAAA5lF,UACA,GAAAK,KAAAld,OACA,QAAAgqB,EAAA,EAAmCA,EAAAy4E,EAAAvlF,UAAAld,OAA0BgqB,IAC7D9M,EAAA9N,KAAAovK,EAAA98K,EAAAwb,EAAA8M,KAGA43C,EAAAxyD,KAAA,CACA8N,YACAL,aAGA,OAAA+kD,GAUAyK,kBAAA,SAAAnqD,EAAAkyC,GACA,IAAA32D,EAAAslL,EAAA,KAAA12G,kBAAA5vE,KAAAylB,EAAAkyC,GAIA,OAHA,MAAA32D,IACAA,EAAAhB,KAAAwa,UAAAoN,QAAAnC,IAEAzkB,GAGA8hB,cAAA,CAEA5d,iBAAA,QAIAqG,KAAA,QAIAqxB,EAAAr0B,EAAAqpB,KAAAzmB,MAAAw7K,EAAA1mL,UAAA0gK,EAAA,MAEA/jI,EAAAr0B,EAAAqpB,KAAAzmB,MAAAw7K,EAAA1mL,UAAAimL,EAAA,MACAtpJ,EAAAr0B,EAAAqpB,KAAAzmB,MAAAw7K,EAAA1mL,UAAAkmL,EAAA,MACAvpJ,EAAAr0B,EAAAqpB,KAAAzmB,MAAAw7K,EAAA1mL,UAAAmmL,EAAA,MACAxpJ,EAAAr0B,EAAAqpB,KAAAzmB,MAAAw7K,EAAA1mL,UAAAomL,EAAA,OAMA,SAAA3jL,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAiiE,EAAA//F,EAAA,GACA+6I,EAAA/6I,EAAA,IACAmoL,EAAAnoL,EAAA,IACAooL,EAAApoL,EAAA,IAQA+9B,EAAAr0B,EAAAitK,gBAAA,CAEAr1K,KAAA,QAEAsmH,UAAA,EAEAvjG,KAAA,SAAA3I,EAAAxV,GACA/E,KAAAuhK,cAAA,IAAA0lB,EAAA,KAAAliL,GACA/E,KAAA8mH,QAAA,IAAAloB,EAAA,KAAAtrE,MAGA4/B,OAAA,SAAAqsD,EAAAhlG,EAAAxV,GAEA,IAAAE,EAAAs6G,EAAAr6G,iBAEA,GAAAD,KAAAiqE,OAAA,CAQA,GAJAlvE,KAAA8mH,QAAAvpF,IAAAv9B,KAAAuhK,cAAA/jG,UACAv4D,EAAAiqE,OAAA3xC,IAAAv9B,KAAA8mH,SAGA,UAAA7hH,EAAA9E,KAAA,CACA8E,EAEAjF,KAAAk7I,eACAl7I,KAAAk7I,aAAA,IAAA8rC,EAAA,KACAhnL,KAAAk7I,aAAAvtE,UAAA3tE,KAAA8mH,UAGA9mH,KAAAk7I,aAAA3tE,SAAAtoE,EAAAiqE,OAAA3R,OACAv9D,KAAAk7I,aAAAltE,YAAAuxC,GAGAt6G,EAAAiqE,OAAArN,cAAA09C,EAAA5kF,SAAA,cAAA51B,GACAE,EAAAiqE,OAAAnL,yBAAAw7C,EAAA5kF,SAAA,0BAEA,IAAA0gH,EAAAr7I,KAAAy6I,SACAY,IACAA,EAAAr7I,KAAAy6I,SAAA,IAAAb,EAAA,MACAzlI,GAAApP,EAAA2sB,UAEA1xB,KAAAy6I,SAAAv3H,QAEA,IAAA+7D,EAAAsgC,EAAA5kF,SAAA,eACA0gH,EAAAv8D,UAAA75E,EAAAiqE,QACAmsE,EAAAr8D,wBAAAC,EAAA,GAEAo8D,EAAAxlI,IAAA,UACAwlI,EAAAzlI,GAAA,oBACA7Q,EAAAqoG,eAAA,CACAjtG,KAAA,oBACAm5B,MAAA+hH,EAAA98D,WACAhlD,KAAA8hH,EAAA78D,UACAhvE,SAAA6rI,EAAAn9D,cACA71B,KAAAroD,KAAAgqB,IACAk9J,QAAA3nE,EAAAtzF,OAIAjsB,KAAAuhK,cAAAthE,UAAA,OAGAjgG,KAAAy6I,WACAz6I,KAAAy6I,SAAA3kI,UACA9V,KAAAy6I,SAAA,MAEAz6I,KAAAk7I,eACAl7I,KAAAk7I,aAAAplI,UACA9V,KAAAk7I,aAAA,MAEA37B,EAAA/kG,UAAAqD,UAAA,SAEA7d,KAAAuhK,cAAAthE,UAAA,EAGAjgG,KAAAuhK,cAAAh1I,OAAAgzF,EAAAhlG,EAAAxV,EAAA,EAAAw6G,EAAA/kG,UAAAb,SAIA,IAAAw1D,EAAAlqE,EAAAiqE,OAAAjL,gBAAA,oBACAjkE,KAAAuhK,cAAA/jG,SAAArrC,SAAA,SAAAigC,GACAA,EAAAv/B,UACAu/B,EAAAv/B,SAAAs8C,GAAA,8BAKA8d,YAAA,SAAAsyB,EAAAhlG,EAAAxV,EAAA2hH,GACA,IAAAtvF,EAAAsvF,EAAAtvF,SACAnyB,EAAAs6G,EAAAr6G,iBACAD,GAAA,UAAAA,EAAA9E,OACAH,KAAAk7I,aAAA7sE,qBAAAj3C,EAAAmoF,EAAAx6G,GACA/E,KAAAk7I,aAAAtsE,aAAAx3C,EAAAmoF,EAAAx6G,KAIA+Q,QAAA,WACA9V,KAAA8mH,QAAAziD,YACArkE,KAAAy6I,SAAA3kI,cAMA,SAAApT,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGA68I,GAFA36K,EAAA,KACAA,EAAA,KACAA,EAAA,KACA46K,EAAA56K,EAAAgvB,EAAA2rJ,GACAjH,EAAA1zK,EAAA,IASA+9B,EAAAr0B,EAAApJ,eAAAs6K,IAAA,4BAEA78I,EAAAr0B,EAAApJ,eAAA4J,OAAAwpK,EAAA,KAAAxpK,CAAA,cAEA6zB,EAAAr0B,EAAAnJ,eAAA,CACA+a,WAAA,YACAE,MAAA,SAAAC,GACA,IAEA8gK,EAFAn2K,EAAAqV,EAAApV,iBAGA,GAAAD,EAAA,CACA,IAAAkiF,EAAAliF,EAAAwzE,WACAoqC,EAAA,GACA,IAAA17B,EAAA5jF,OACA63K,EAAA,SAAAp2J,EAAAzZ,GAEA,IADA,IAAAm8D,EAAA,IAAAl8B,aAAA,GAAAxmB,EAAAuE,IAAAvE,EAAAoH,QACAzO,EAAAqH,EAAAoH,MAAgDzO,EAAAqH,EAAAuE,IAAkB5L,IAAA,CAClE,IAAAooC,EAAA,GAAApoC,EAAAqH,EAAAoH,OACApqB,EAAAuJ,EAAA9F,IAAA0hF,EAAA,GAAAxpE,GACAklG,EAAA59G,EAAAM,YAAAvD,GACA0lE,EAAA3hB,GAAA88D,EAAA,GACAn7C,EAAA3hB,EAAA,GAAA88D,EAAA,GAEAt3G,EAAAmoK,UAAA,SAAAhsG,IAGA,IAAAyf,EAAA5jF,SACA63K,EAAA,SAAAp2J,EAAAzZ,GAEA,IADA,IAAAm8D,EAAA,IAAAl8B,aAAA,GAAAxmB,EAAAuE,IAAAvE,EAAAoH,QACAzO,EAAAqH,EAAAoH,MAAgDzO,EAAAqH,EAAAuE,IAAkB5L,IAAA,CAClE,IAAAooC,EAAA,GAAApoC,EAAAqH,EAAAoH,OACApqB,EAAAuJ,EAAA9F,IAAA0hF,EAAA,GAAAxpE,GACA1b,EAAAsJ,EAAA9F,IAAA0hF,EAAA,GAAAxpE,GACAklG,EAAA,GAAA7gH,EACA6gH,EAAA,GAAA5gH,EAEA4gH,EAAA59G,EAAAM,YAAAs9G,GACAn7C,EAAA3hB,GAAA88D,EAAA,GACAn7C,EAAA3hB,EAAA,GAAA88D,EAAA,GAEAt3G,EAAAmoK,UAAA,SAAAhsG,KAKA,OAAgB0zG,gBAMhB,SAAA14K,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGAC,EAAAr0B,EAAA4wK,kBAAA,CAEAh5K,KAAA,mBAEA4lH,aAAA,oCAEA/iG,sBAAA,kBAEAa,eAAA,WACA,OAAA+Y,EAAAr0B,EAAA++E,OAAA6/F,WAAAnnL,OAGA8iB,cAAA,CACA5d,iBAAA,cACAi3G,OAAA,GAEAs/D,YAAA,IACAC,qBAAA,IAYA0L,OAAA,EAEA38J,OAAA,SACAnN,WAAA,GAGA+pK,UAAA,EAGA1L,UAAA,cAEArwE,UAAA,CACAx3C,QAAA,IAIAgY,WAAA,CACA52D,QAAA,EACAu3D,gBAAA,CACA31C,SAAA,EACA41C,WAAA,EACAC,SAAA,EACAC,WAAA,EACA13D,QAAA,QASA,SAAAxS,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAiiE,EAAA//F,EAAA,GACA8kH,EAAA9kH,EAAA,IACAyoL,EAAAzoL,EAAA,IACA0oL,EAAA1oL,EAAA,KACAA,EAAA,GASA+9B,EAAAr0B,EAAAitK,gBAAA,CAEAr1K,KAAA,YAEAsmH,UAAA,EAEAvjG,KAAA,SAAA3I,EAAAxV,GAEA/E,KAAA8mH,QAAA,IAAAloB,EAAA,KAAAtrE,KACAtzB,KAAAkvE,OAAA,IAAAy0C,EAAA,qBAEA3jH,KAAAkvE,OAAA3xC,IAAAv9B,KAAA8mH,SAEA9mH,KAAA67K,mBAAA,GACA77K,KAAA87K,aAAA,EAEA97K,KAAA8qG,WAAA,EAEA9qG,KAAAwnL,cAAA,IAAAD,EAAA,KAAAvnL,KAAAkvE,SAGAhc,OAAA,SAAA54C,EAAAC,EAAAxV,GAIA,GAHA/E,KAAA8mH,QAAAziD,YACArkE,KAAAwnL,cAAAntK,MAAAC,EAAAvV,GAEAuV,EAAAE,UAAAb,QAAA,CAIA,IAAAoiK,EAAA/7K,KAAA67K,mBAAA,GACAE,IACAA,EAAA/7K,KAAA67K,mBAAA,OAAAyL,EAAA,QAAAviL,IAEA/E,KAAA67K,mBAAAt4K,OAAA,EAEAvD,KAAA8mH,QAAAvpF,IAAAw+I,EAAAv+G,UAEAx9D,KAAAynL,yBAAAntK,EAAAE,UAAAqD,UAAA,WACAk+J,EAAAxvJ,OAAAjS,EAAAC,EAAAxV,GAEA/E,KAAAkvE,OAAArN,cAAAvnD,EAAAqgB,SAAA,cAAA51B,KAGAi3K,yBAAA,SAAA1hK,EAAAC,EAAAxV,GACA/E,KAAA8mH,QAAAziD,YACArkE,KAAAwnL,cAAAntK,MAAAC,EAAAvV,GAEA/E,KAAA87K,aAAA,EAEA97K,KAAAkvE,OAAArN,cAAAvnD,EAAAqgB,SAAA,cAAA51B,IAGAk3K,kBAAA,SAAAj3J,EAAA1K,EAAAC,EAAAxV,GACA,KAAAigB,EAAAuE,KAAAvE,EAAAoH,OAAA,CAIA,IAAA2vJ,EAAA/7K,KAAA67K,mBAAA77K,KAAA87K,cACAC,IACAA,EAAA,IAAAuL,EAAA,QAAAviL,GACA/E,KAAA67K,mBAAA77K,KAAA87K,cAAAC,GAEA/7K,KAAA8mH,QAAAvpF,IAAAw+I,EAAAv+G,UAEAx9D,KAAAynL,yBAAAntK,EAAAE,UAAAqD,UAAA,WAEAk+J,EAAA9tE,aAAAjuG,KAAA8qG,YACAixE,EAAAxvJ,OAAAjS,EAAAC,EAAAxV,EAAAigB,EAAAoH,MAAApH,EAAAuE,KAEAxkB,EAAA2sB,QAAAyB,UAEAnzB,KAAA87K,iBAGAx5D,gBAAA,SAAAhoG,EAAAC,EAAAxV,GACA,GAAAuV,EAAApV,iBAAAy/G,iBAAA,CACA3kH,KAAAwnL,cAAAllE,gBAAAhoG,EAAAvV,GAEA,IAAAi9G,EAAAhiH,KAAAwnL,cAAAziE,UACAhZ,EAAArlG,KAAAS,KAAAmT,EAAA7U,IAAA,kBAAAu8G,EAAA,QACAhiH,KAAA8qG,WAAAiB,EAEA/rG,KAAA67K,mBAAAhxK,QAAA,SAAAkxK,GACAA,EAAA9tE,aAAAlC,OAKA07E,yBAAA,SAAA//G,GACA,GAAAA,EAIA,IADA,IAAAm7C,EAAA,GACA93G,EAAA,EAAuBA,EAAA28D,EAAAnkE,OAAmBwH,GAAA,EAC1C83G,EAAA,GAAAn7C,EAAA38D,GACA83G,EAAA,GAAAn7C,EAAA38D,EAAA,GACA/K,KAAAwnL,cAAA1iE,uBAAAjC,GACAn7C,EAAA38D,GAAA83G,EAAA,GACAn7C,EAAA38D,EAAA,GAAA83G,EAAA,IAKA/sG,QAAA,WACA9V,KAAA8mH,QAAAziD,aAGA73D,OAAA,WACAxM,KAAA8mH,QAAAziD,gBAMA,SAAA3hE,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGA68I,GAFA36K,EAAA,KACAA,EAAA,KACAA,EAAA,KACA46K,EAAA56K,EAAAgvB,EAAA2rJ,GACAjH,EAAA1zK,EAAA,IA+FA,SAAAmsD,KAvFApuB,EAAAr0B,EAAApJ,eAAAs6K,IAAA,0BAEA78I,EAAAr0B,EAAApJ,eAAA4J,OAAAwpK,EAAA,KAAAxpK,CAAA,YAEA6zB,EAAAr0B,EAAApJ,eAAA,SAAAob,GACA,IAAAmtK,EAAA,GACAntK,EAAA+kG,iBAAA,mBAAAhlG,GACA,IAAAqtK,EAAArtK,EAAAstK,oBACAr8K,EAAA+O,EAAAE,UAEAqtK,EAAA,GAEAF,EAAAxgK,KAAA,SAAAxJ,GACA,IAAArP,EAAAq5K,EAAA//J,QAAAjK,GACAkqK,EAAAv5K,GAAAqP,EAEA,IAAAuN,EAAAy8J,EAAAx8J,aAAAxN,GACAmJ,EAAAoE,EAAAzlB,IAAA,oBACA6U,EAAA+N,oBAAA/Z,EAAAo5K,GACAC,EAAA18J,cAAAtN,EAAA,QAAAmJ,KAIA6gK,EAAAhuK,SACApO,EAAA4b,KAAA,SAAAxJ,GACA,IAAAgG,EAAApY,EAAA4f,aAAAxN,GACAw7H,EAAAx1H,EAAAwE,WAAA,YACA,MAAAgxH,IACA,kBAAAA,IACAA,EAAA0uC,EAAA1uC,IAEA5tI,EAAAic,cAAA7J,EAAA,aACApS,EAAA0f,cACAtN,EAAA,QACAgqK,EAAAngK,cAAA2xH,EAAA,iBASAv8G,EAAAr0B,EAAApJ,eAAA,SAAAob,GACAA,EAAA+kG,iBAAA,mBAAAhlG,GACA,IAAAwC,EAAAxC,EAAAwtK,WACAC,EAAAztK,EAAA0tK,cAEAC,EAAA,kBAAAx5K,MAAA,KACAy5K,EAAA,oBAAAz5K,MAAA,KAEAs5K,EAAAv9J,UAAA,QAAAlQ,EAAA7U,IAAAwiL,IACAF,EAAAv9J,UAAA,UAAAlQ,EAAA7U,IAAAyiL,IAEAH,EAAA5gK,KAAA,SAAAxJ,GACA,IAAAuN,EAAA68J,EAAA58J,aAAAxN,GACAD,EAAAZ,EAAAqrK,eAAAxqK,GAEAmJ,EAAAoE,EAAAzlB,IAAAwiL,GACAn0H,EAAA5oC,EAAAzlB,IAAAyiL,GACA,OAAAphK,GACA,aACAA,EAAApJ,EAAAQ,MAAAX,UAAA,SACA,MACA,aACAuJ,EAAApJ,EAAAS,MAAAZ,UAAA,SACA,MAGAG,EAAA8M,UAAA,QAAA1D,GACApJ,EAAA8M,UAAA,UAAAspC,SAKAl3B,EAAAr0B,EAAA+jB,eAAA,CACAnsB,KAAA,cACAgX,MAAA,cACAoV,OAAA,uBACC,SAAAC,EAAAjS,GACDA,EAAA8kG,cAAA,CACArzF,SAAA,SAAAgqH,MAAAxpH,GACK,SAAAyhD,GACLA,EAAA0N,QAAAnvD,OAMAoQ,EAAAr0B,EAAA+jB,eAAA,CACAnsB,KAAA,qBACAgX,MAAA,uBACAoV,OAAA,8BACCy+B,GAEDpuB,EAAAr0B,EAAA+jB,eAAA,CACAnsB,KAAA,oBACAgX,MAAA,uBACAoV,OAAA,6BACCy+B,GAEDpuB,EAAAr0B,EAAA+jB,eAAA,CACAnsB,KAAA,4BACAgX,MAAA,4BACAoV,OAAA,qCACCy+B,GAGDpuB,EAAAr0B,EAAA+jB,eAAA,CACAnsB,KAAA,8BACAgX,MAAA,8BACAoV,OAAA,uCACCy+B,IAID,SAAAtoD,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAyrJ,EAAAvpL,EAAA,KACAk6K,EAAAl6K,EAAA,IAKAwpL,EAAAzrJ,EAAAr0B,EAAA4wK,kBAAA,CAEAh5K,KAAA,iBAEA6iB,sBAAA,kBAEAE,KAAA,SAAAC,GACAklK,EAAA/hB,WAAAtmK,KAAA,OAAA2I,WAGA3I,KAAA+iB,mBAAA,WACA,OAAA/iB,KAAAsoL,iBAGAtoL,KAAAuoL,yBAGA9jK,YAAA,SAAAtB,GACAklK,EAAA/hB,WAAAtmK,KAAA,cAAA2I,WAEA3I,KAAAuoL,yBAGA34G,kBAAA,SAAAnqD,EAAAkyC,EAAAzyC,EAAAne,GACA,IAAA/F,EAAA+3K,EAAA,KAAAnpG,kBAAA5vE,KAAAylB,EAAAkyC,EAAAzyC,EAAAne,GACA,SAAA/F,EAAA,CACA,IAAAuK,EAAAvL,KAAAwa,UACAghK,EAAAjwK,EAAAktE,WAAAltE,EAAAktE,WAAAl1E,OAAA,GACAvC,EAAAuK,EAAA9F,IAAA+1K,EAAA/1J,GAEA,OAAAzkB,GAGA6iB,eAAA,SAAAV,EAAA5I,GACA,IAAAiuK,EAAArlK,EAAAqlK,OAAArlK,EAAAslK,OAAA,GACA/yB,EAAAvyI,EAAA5X,MAAA4X,EAAAuyI,OAAA,GACAhuH,EAAA1nC,KAEA,GAAA01J,GAAA8yB,EACA,OAAAz/K,OAAAq/K,EAAA,KAAAr/K,CAAA2sJ,EAAA8yB,EAAAxoL,MAAA,EAAA0oL,GAAAn9K,KAGA,SAAAm9K,EAAAC,EAAAZ,GAEAY,EAAAj/J,WAAA,wBAAA/F,GACA,IAAAilK,EAAAlhJ,EAAAmhJ,kBACAC,EAAAnlK,EAAAwE,WAAA,YACA4gK,EAAAH,EAAAE,GAKA,OAJAC,IACAA,EAAA3lK,YAAAO,EAAAP,YACAO,EAAAP,YAAA2lK,GAEAplK,IAGA,IAAAqlK,EAAAthJ,EAAA/M,SAAA,aAEAsuJ,EAAA,IAAArsJ,EAAAr0B,EAAAm6I,MACA,CAAiB59H,MAAAkkK,EAAA7lK,QACjB6lK,EAAA5lK,YACA7I,GAQA,SAAA2uK,EAAAzkH,GAEA,OADAA,EAAAzkE,KAAAmpL,UAAA1kH,GACAA,GAAA,UAAAA,EAAA,GACAwkH,EACAjpL,KAAAojB,YATA2kK,EAAAr+J,WAAA,wBAAA/F,GAEA,OADAA,EAAAylK,mBAAAF,GACAvlK,MAeAmkK,SAAA,WACA,OAAA9nL,KAAAwa,UAAAsC,OAMAkrK,YAAA,WACA,OAAAhoL,KAAA8nL,WAAAC,UAMAH,kBAAA,WACA,OAAA5nL,KAAAsoL,iBAMA9iK,cAAA,SAAAC,EAAAC,EAAAR,GACA,YAAAA,EAAA,CACA,IAAAyjK,EAAA3oL,KAAAwa,UACAwK,EAAAhlB,KAAAgrB,cAAAvF,EAAAP,GACAxH,EAAAirK,EAAA7rK,MAAAqrK,eAAA1iK,GACA4jK,EAAAV,EAAA/gK,QAAAlK,EAAAQ,MAAAuH,WACA6jK,EAAAX,EAAA/gK,QAAAlK,EAAAS,MAAAsH,WAEAuC,EAAA,GAQA,OAPA,MAAAqhK,GAAArhK,EAAArV,KAAA02K,GACA,MAAAC,GAAAthK,EAAArV,KAAA22K,GACAthK,EAAA4U,EAAAr0B,EAAA84B,OAAA5f,WAAAuG,EAAAhY,KAAA,QAEAgV,EAAA/gB,QACA+jB,GAAA,MAAA4U,EAAAr0B,EAAA84B,OAAA5f,WAAAuD,EAAA/gB,QAEA+jB,EAGA,OAAAqgK,EAAA/hB,WAAAtmK,KAAA,gBAAA2I,YAIA4/K,sBAAA,WACA,IAAA/wC,GAAAx3I,KAAAmjB,OAAAq0H,YAAA,IAAApqI,IAAA,SAAA+rI,GAEA,aAAAA,EAAAl1I,MAAAk1I,EAAAv8G,EAAAr0B,EAAAqpB,KAAAltB,OAAA,CACAT,MAAA,GACak1I,KAEbwuC,EAAA,IAAA/qJ,EAAAr0B,EAAA6/E,KAAA,UAAApoF,MACA2nL,EAAAr/F,SAAAkvD,GAEAx3I,KAAAsoL,gBAAAX,EAEA3nL,KAAA6oL,kBAAAlB,EAAA4B,SAAA,SAAA5rK,GACA,OAAAgqK,EAAAx8J,aAAAxN,GAAA,MAIAg+D,QAAA,SAAAnvD,GACA,MAAAA,EAAAw1F,OACAhiH,KAAAmjB,OAAA6+F,KAAAx1F,EAAAw1F,MAEA,MAAAx1F,EAAAu5B,SACA/lD,KAAAmjB,OAAA4iC,OAAAv5B,EAAAu5B,SAIAyjI,gBAAA,SAAA9hH,GACA,QAAA38D,EAAA,EAAuBA,EAAA28D,EAAAnkE,OAAA,EAAuBwH,IAAA,CAC9C,IAAA/I,EAAA0lE,EAAA,EAAA38D,GACA9I,EAAAylE,EAAA,EAAA38D,EAAA,GAEAqK,EAAApV,KAAAwa,UAAAivK,eAAA1+K,GACAqK,EAAApT,IACAoT,EAAAnT,MAIAgmB,mBAAA,WACA,OAAAogK,EAAAqB,UAAA1pL,KAAA,yBAEA,UAAAA,KAAAyF,IAAA,WAAAzF,KAAAyF,IAAA,2BAGAqd,cAAA,CACAq5F,OAAA,GACAh/E,EAAA,EAEAwsJ,iBAAA,EAGA1jL,OAAA,cAGA2jL,YAAA,CACAC,WAAA,KAEAC,KAAA,EAEAC,MAAA,EAKAC,SAAA,IAEAC,mBAAA,EACAC,YAAA,EACAC,mBAAA,EACAC,QAAA,EAGAC,oBAAA,EAGAC,WAAA,MAEAC,WAAA,MAGAC,gBAAA,EACAC,cAAA,MAGAC,oBAAA,EAEAC,qBAAA,YAEAr7I,KAAA,SACAG,IAAA,SAMAhlB,OAAA,SACAnN,WAAA,EAEAstK,MAAA,EAGA1uK,OAAA,KAEA8lG,KAAA,EAYAl9F,MAAA,CACAo3F,MAAA,EACArsC,UAAA,MACAvpE,SAAA,QACAkJ,SAAA,EACAitG,UAAA,CACA/oG,SAAA,KAIA43F,UAAA,GAEAmuC,UAAA,CACA3yH,MAAA,OACAxkB,MAAA,EACAwxD,QAAA,IAGA+oD,SAAA,CACA/3F,MAAA,CACAo3F,MAAA,IAIAx+B,WAAA,MAQA,SAAAh7E,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAkuJ,EAAAhsL,EAAA,KACAisL,EAAAjsL,EAAAgvB,EAAAg9J,GACAE,EAAAlsL,EAAA,KACAmsL,EAAAnsL,EAAAgvB,EAAAk9J,GACAhjF,EAAAlpG,EAAA,GAMAqvB,EAAA,cAAAwnI,EAAA8yB,EAAAr/E,EAAA8hF,EAAAvC,GAEA,IADA,IAAA5rK,EAAA,IAAAguK,EAAAviL,EAAA0iL,GACAlgL,EAAA,EAAmBA,EAAA2qJ,EAAAnyJ,OAAkBwH,IACrC+R,EAAAo2I,QAAAnrD,EAAA,KAAAzwE,aAEAo+H,EAAA3qJ,GAAAkhB,GAAAypI,EAAA3qJ,GAAAuD,KAAAvD,GACAA,GAGA,IAeA49K,EAfAuC,EAAA,GACAC,EAAA,GACAC,EAAA,EACA,IAAArgL,EAAA,EAAmBA,EAAAy9K,EAAAjlL,OAAkBwH,IAAA,CACrC,IAAAw7E,EAAAiiG,EAAAz9K,GACAkvB,EAAAssD,EAAAtsD,OACA5jB,EAAAkwE,EAAAlwE,OAEAyG,EAAAuuK,QAAApxJ,EAAA5jB,EAAA+0K,KACAD,EAAAx4K,KAAA4zE,GACA2kG,EAAAv4K,KAAAo1F,EAAA,KAAAzwE,aAAAivD,EAAAt6D,GAAAgO,EAAA,MAAA5jB,IACA+0K,KAOA,IAAAE,EAAA1uJ,EAAAr0B,EAAA++E,OAAAu5E,mBACA,UAAAnL,GAEAizB,EAAA,IAAA/rJ,EAAAr0B,EAAA6/E,KAAAkjG,EAAAniF,GACAw/E,EAAArgG,SAAAotE,GAEA,IAAAqyB,EAAA,IAAAnrJ,EAAAr0B,EAAA6/E,KAAA,UAAA+gB,GAgBA,OAfA4+E,EAAAz/F,SAAA6iG,EAAAD,GAEAxC,KAAAC,EAAAZ,GAEAiD,IAAA,CACAO,SAAA5C,EACA6C,OAAA1uK,EACA2uK,WAAA,QACAC,MAAA,CAAgBruK,KAAAsrK,EAAAjrK,KAAAqqK,GAChB4D,UAAA,CAAoBtuK,KAAA,OAAAK,KAAA,cAIpBZ,EAAAyP,SAEAzP,IAKA,SAAApa,EAAAC,EAAA9D,GAEA,IAAAuiB,EAAAviB,EAAA,KAIAW,GAFA4hB,EAAAC,QAEAxiB,EAAA,KAEA+sL,EAAA/sL,EAAA,KAEAgtL,EAAAD,EAAAC,iBA4BA,SAAAC,EAAA7/J,GACA,aAAAA,EASA,IAAAkrI,EAAA,SAAA8zB,GAMAjrL,KAAA+rL,UAAAd,IAAA,EAMAjrL,KAAA01J,MAAA,GAMA11J,KAAAwoL,MAAA,GAMAxoL,KAAAgsL,UAAA,GAMAhsL,KAAAisL,UAAA,GAMAjsL,KAAAuL,KAMAvL,KAAA+nL,UAGAmE,EAAA/0B,EAAAl3J,UAqSA,SAAAqzB,EAAArH,EAAAxG,GAIAzlB,KAAAisB,GAAA,MAAAA,EAAA,GAAAA,EAKAjsB,KAAAmsL,QAAA,GAKAnsL,KAAAosL,SAAA,GAKApsL,KAAAwoL,MAAA,GAKAxoL,KAAAqsL,UAKArsL,KAAAylB,UAAA,MAAAA,GAAA,EAAAA,EAiDA,SAAA6mK,EAAAC,EAAAC,EAAA/mK,GAKAzlB,KAAAke,MAAAquK,EAMAvsL,KAAAme,MAAAquK,EACAxsL,KAAAylB,UAAA,MAAAA,GAAA,EAAAA,EA1XAymK,EAAA/rL,KAAA,QAMA+rL,EAAAO,WAAA,WACA,OAAAzsL,KAAA+rL,WASAG,EAAAh5B,QAAA,SAAAjnI,EAAAxG,GACAwG,KAAA,GAAAxG,EACA,IAAAinK,EAAA1sL,KAAAgsL,UAEA,IAAAU,EAAAZ,EAAA7/J,IAAA,CAIA,IAAA5O,EAAA,IAAAiW,EAAArH,EAAAxG,GAIA,OAHApI,EAAAgvK,UAAArsL,KACAA,KAAA01J,MAAA/iJ,KAAA0K,GACAqvK,EAAAZ,EAAA7/J,IAAA5O,EACAA,IASA6uK,EAAAS,eAAA,SAAAlnK,GACA,IAAAmnK,EAAA5sL,KAAAuL,KAAAshL,YAAApnK,GACA,OAAAzlB,KAAA01J,MAAAk3B,IASAV,EAAAY,YAAA,SAAA7gK,GACA,OAAAjsB,KAAAgsL,UAAAF,EAAA7/J,KAWAigK,EAAAb,QAAA,SAAAkB,EAAAC,EAAA/mK,GACA,IAAAinK,EAAA1sL,KAAAgsL,UACAe,EAAA/sL,KAAAisL,UAkBA,GAhBA,kBAAAM,IACAA,EAAAvsL,KAAA01J,MAAA62B,IAGA,kBAAAC,IACAA,EAAAxsL,KAAA01J,MAAA82B,IAGAl5J,EAAA05J,WAAAT,KACAA,EAAAG,EAAAZ,EAAAS,KAGAj5J,EAAA05J,WAAAR,KACAA,EAAAE,EAAAZ,EAAAU,KAGAD,GAAAC,EAAA,CAIA,IAAAvhL,EAAAshL,EAAAtgK,GAAA,IAAAugK,EAAAvgK,GAEA,IAAA8gK,EAAA9hL,GAAA,CAIA,IAAAyS,EAAA,IAAA4uK,EAAAC,EAAAC,EAAA/mK,GAgBA,OAfA/H,EAAA2uK,UAAArsL,KAEAA,KAAA+rL,YACAQ,EAAAH,SAAAz5K,KAAA+K,GACA8uK,EAAAL,QAAAx5K,KAAA+K,IAGA6uK,EAAA/D,MAAA71K,KAAA+K,GAEA6uK,IAAAC,GACAA,EAAAhE,MAAA71K,KAAA+K,GAGA1d,KAAAwoL,MAAA71K,KAAA+K,GACAqvK,EAAA9hL,GAAAyS,EACAA,KASAwuK,EAAA/D,eAAA,SAAA1iK,GACA,IAAAmnK,EAAA5sL,KAAA+nL,SAAA8E,YAAApnK,GACA,OAAAzlB,KAAAwoL,MAAAoE,IAUAV,EAAAe,QAAA,SAAAV,EAAAC,GACAl5J,EAAA05J,WAAAT,KACAA,IAAAtgK,IAGAqH,EAAA05J,WAAAR,KACAA,IAAAvgK,IAGA,IAAA8gK,EAAA/sL,KAAAisL,UAEA,OAAAjsL,KAAA+rL,UACAgB,EAAAR,EAAA,IAAAC,GAEAO,EAAAR,EAAA,IAAAC,IAAAO,EAAAP,EAAA,IAAAD,IAUAL,EAAAgB,SAAA,SAAAn3J,EAAArS,GAIA,IAHA,IAAAgyI,EAAA11J,KAAA01J,MACAjpJ,EAAAipJ,EAAAnyJ,OAEAwH,EAAA,EAAiBA,EAAA0B,EAAS1B,IAC1B2qJ,EAAA3qJ,GAAA0a,WAAA,GACAsQ,EAAAh2B,KAAA2jB,EAAAgyI,EAAA3qJ,OAWAmhL,EAAAzuK,SAAA,SAAAsY,EAAArS,GAIA,IAHA,IAAA8kK,EAAAxoL,KAAAwoL,MACA/7K,EAAA+7K,EAAAjlL,OAEAwH,EAAA,EAAiBA,EAAA0B,EAAS1B,IAC1By9K,EAAAz9K,GAAA0a,WAAA,GAAA+iK,EAAAz9K,GAAAmT,MAAAuH,WAAA,GAAA+iK,EAAAz9K,GAAAoT,MAAAsH,WAAA,GACAsQ,EAAAh2B,KAAA2jB,EAAA8kK,EAAAz9K,OAaAmhL,EAAAiB,qBAAA,SAAAp3J,EAAAq3J,EAAA74F,EAAA7wE,GAKA,GAJA4P,EAAA05J,WAAAI,KACAA,EAAAptL,KAAAgsL,UAAAF,EAAAsB,KAGAA,EAAA,CAMA,IAFA,IAAAC,EAAA,QAAA94F,EAAA,kBAAAA,EAAA,kBAEAxpF,EAAA,EAAiBA,EAAA/K,KAAA01J,MAAAnyJ,OAAuBwH,IACxC/K,KAAA01J,MAAA3qJ,GAAAuiL,WAAA,EAGA,IAAAv3J,EAAAh2B,KAAA2jB,EAAA0pK,EAAA,OAIA,IAAArpB,EAAA,CAAAqpB,GAEA,MAAArpB,EAAAxgK,OACA,KAAAgqL,EAAAxpB,EAAAj/F,QACA0jH,EAAA+E,EAAAF,GAEA,IAAAtiL,EAAA,EAAmBA,EAAAy9K,EAAAjlL,OAAkBwH,IAAA,CACrC,IAAAoL,EAAAqyK,EAAAz9K,GACAyiL,EAAAr3K,EAAA+H,QAAAqvK,EAAAp3K,EAAAgI,MAAAhI,EAAA+H,MAEA,IAAAsvK,EAAAF,UAAA,CACA,GAAAv3J,EAAAh2B,KAAA2jB,EAAA8pK,EAAAD,GAEA,OAGAxpB,EAAApxJ,KAAA66K,GACAA,EAAAF,WAAA,QAYApB,EAAA3/J,OAAA,WAMA,IALA,IAAAhhB,EAAAvL,KAAAuL,KACAw8K,EAAA/nL,KAAA+nL,SACAryB,EAAA11J,KAAA01J,MACA8yB,EAAAxoL,KAAAwoL,MAEAz9K,EAAA,EAAA0B,EAAAipJ,EAAAnyJ,OAAqCwH,EAAA0B,EAAS1B,IAC9C2qJ,EAAA3qJ,GAAA0a,WAAA,EAGA,IAAA1a,EAAA,EAAA0B,EAAAlB,EAAAoO,QAAqC5O,EAAA0B,EAAS1B,IAC9C2qJ,EAAAnqJ,EAAAshL,YAAA9hL,IAAA0a,UAAA1a,EAGAg9K,EAAAvV,WAAA,SAAA70J,GACA,IAAAD,EAAA8qK,EAAAT,EAAA8E,YAAAlvK,IACA,OAAAD,EAAAQ,MAAAuH,WAAA,GAAA/H,EAAAS,MAAAsH,WAAA,IAGA,IAAA1a,EAAA,EAAA0B,EAAA+7K,EAAAjlL,OAAqCwH,EAAA0B,EAAS1B,IAC9Cy9K,EAAAz9K,GAAA0a,WAAA,EAGA,IAAA1a,EAAA,EAAA0B,EAAAs7K,EAAApuK,QAAyC5O,EAAA0B,EAAS1B,IAClDy9K,EAAAT,EAAA8E,YAAA9hL,IAAA0a,UAAA1a,GAQAmhL,EAAA32K,MAAA,WAKA,IAJA,IAAAuH,EAAA,IAAAq6I,EAAAn3J,KAAA+rL,WACAr2B,EAAA11J,KAAA01J,MACA8yB,EAAAxoL,KAAAwoL,MAEAz9K,EAAA,EAAiBA,EAAA2qJ,EAAAnyJ,OAAkBwH,IACnC+R,EAAAo2I,QAAAwC,EAAA3qJ,GAAAkhB,GAAAypI,EAAA3qJ,GAAA0a,WAGA,IAAA1a,EAAA,EAAiBA,EAAAy9K,EAAAjlL,OAAkBwH,IAAA,CACnC,IAAAoL,EAAAqyK,EAAAz9K,GACA+R,EAAAuuK,QAAAl1K,EAAA+H,MAAA+N,GAAA9V,EAAAgI,MAAA8N,GAAA9V,EAAAsP,WAGA,OAAA3I,GAuCAwW,EAAArzB,UAAA,CACAC,YAAAozB,EAKAm6J,OAAA,WACA,OAAAztL,KAAAwoL,MAAAjlL,QAMAmqL,SAAA,WACA,OAAA1tL,KAAAmsL,QAAA5oL,QAMAoqL,UAAA,WACA,OAAA3tL,KAAAosL,SAAA7oL,QAOAo3B,SAAA,SAAA8pC,GACA,KAAAzkE,KAAAylB,UAAA,IAIA,IAAA3I,EAAA9c,KAAAqsL,UACAnhK,EAAApO,EAAAvR,KAAA4f,aAAAnrB,KAAAylB,WACA,OAAAyF,EAAAyP,SAAA8pC,MA+BA6nH,EAAArsL,UAAA06B,SAAA,SAAA8pC,GACA,KAAAzkE,KAAAylB,UAAA,IAIA,IAAA3I,EAAA9c,KAAAqsL,UACAnhK,EAAApO,EAAAirK,SAAA58J,aAAAnrB,KAAAylB,WACA,OAAAyF,EAAAyP,SAAA8pC,KAGA,IAAAmpH,EAAA,SAAAC,EAAAC,GACA,OAKAC,SAAA,SAAAza,GACA,IAAA/nK,EAAAvL,KAAA6tL,GAAAC,GACA,OAAAviL,EAAA9F,IAAA8F,EAAAyiL,aAAA1a,GAAA,SAAAtzK,KAAAylB,YAOA+E,UAAA,SAAAvf,EAAAhH,GACAjE,KAAAylB,WAAA,GAAAzlB,KAAA6tL,GAAAC,GAAA7iK,cAAAjrB,KAAAylB,UAAAxa,EAAAhH,IAOAsZ,UAAA,SAAAtS,EAAAgjL,GACA,OAAAjuL,KAAA6tL,GAAAC,GAAAtmK,cAAAxnB,KAAAylB,UAAAxa,EAAAgjL,IAOAva,UAAA,SAAAztK,EAAAkF,GACAnL,KAAAylB,WAAA,GAAAzlB,KAAA6tL,GAAAC,GAAAra,cAAAzzK,KAAAylB,UAAAxf,EAAAkF,IAMA0S,UAAA,WACA,OAAA7d,KAAA6tL,GAAAC,GAAArY,cAAAz1K,KAAAylB,YAMAyoK,aAAA,WACA,OAAAluL,KAAA6tL,GAAAC,GAAAK,iBAAAnuL,KAAAylB,YAMAonK,YAAA,WACA,OAAA7sL,KAAA6tL,GAAAC,GAAAjB,YAAA7sL,KAAAylB,cAKAjmB,EAAAoZ,MAAA0a,EAAAs6J,EAAA,qBACApuL,EAAAoZ,MAAA0zK,EAAAsB,EAAA,yBACAz2B,EAAA7jI,OACA6jI,EAAAm1B,OACAT,EAAAv4J,GACAu4J,EAAAS,GACA,IAAA7pL,EAAA00J,EACAz0J,EAAAC,QAAAF,GAIA,SAAAC,EAAAC,EAAA9D,GAEA,IAAAuiB,EAAAviB,EAAA,KAIAW,GAFA4hB,EAAAC,QAEAxiB,EAAA,KAoBAuvL,EAAA,IACAC,EAAA,iCAMA,SAAAC,EAAA/nE,GACA,IAAAphD,EAAA,CACA6H,KAAA,GACA5uD,IAAA,IASA,OANAmoG,IACAA,IAAA93G,MAAA2/K,GACAjpH,EAAA6H,KAAAu5C,EAAA,OACAphD,EAAA/mD,IAAAmoG,EAAA,QAGAphD,EAOA,SAAAopH,EAAAhoE,GACA/mH,EAAA4qD,OAAA,qCAAAokI,KAAAjoE,GAAA,kBAAAA,EAAA,aAOA,SAAAkoE,EAAAC,EAAAC,GACAD,EAAAE,aAAAF,EAEAA,EAAAhqL,OAAA,SAAAy6B,GACA,IAAAiqB,EAAAppD,KAEA6uL,EAAA,WACA1vJ,EAAAyvJ,aAGAzvJ,EAAAyvJ,aAAAlmL,MAAA1I,KAAA2I,WAFAygD,EAAA1gD,MAAA1I,KAAA2I,YAYA,OANAnJ,EAAAkF,OAAAmqL,EAAA5uL,UAAAk/B,GACA0vJ,EAAAnqL,OAAA1E,KAAA0E,OACAmqL,EAAAnF,YACAmF,EAAAvoB,aACA9mK,EAAAgD,SAAAqsL,EAAA7uL,MACA6uL,EAAAzlI,aACAylI,GAIA,IAAAC,EAAA,EAOA,SAAAjD,EAAAkD,GACA,IAAAC,EAAA,cAAAF,IAAApoL,KAAAy3B,SAAAm6E,QAAA,IAAAtoG,KAAA,KACA++K,EAAA9uL,UAAA+uL,IAAA,EAEAD,EAAA/B,WAAA,SAAAliL,GACA,SAAAA,MAAAkkL,KAUA,SAAAtF,EAAAhmK,EAAA+F,GACA,IAAAggC,EAAAjqD,EAAA0/B,MAAAv2B,UAAA,GACA,OAAA3I,KAAAopD,WAAAnpD,UAAAwpB,GAAA/gB,MAAAgb,EAAA+lC,GAGA,SAAA68G,EAAA5iJ,EAAA+F,EAAAggC,GACA,OAAAzpD,KAAAopD,WAAAnpD,UAAAwpB,GAAA/gB,MAAAgb,EAAA+lC,GAUA,SAAAwlI,EAAAC,EAAAr/K,GACAA,KAAA,GAUA,IAAAm4G,EAAA,GAgFA,SAAAmnE,EAAA5oE,GACA,IAAAopD,EAAA3nD,EAAAzB,EAAAv5C,MAOA,OALA2iG,KAAA0e,KACA1e,EAAA3nD,EAAAzB,EAAAv5C,MAAA,GACA2iG,EAAA0e,IAAA,GAGA1e,EAGA,GAzFAuf,EAAAE,cAAA,SAAAC,EAAA9oE,GACA,GAAAA,EAIA,GAHAgoE,EAAAhoE,GACAA,EAAA+nE,EAAA/nE,GAEAA,EAAAnoG,KAEO,GAAAmoG,EAAAnoG,MAAAiwK,EAAA,CACP,IAAA1e,EAAAwf,EAAA5oE,GACAopD,EAAAppD,EAAAnoG,KAAAixK,QAHArnE,EAAAzB,EAAAv5C,MAAAqiH,EAOA,OAAAA,GAGAH,EAAAI,SAAA,SAAAC,EAAAprK,EAAAqrK,GACA,IAAAH,EAAArnE,EAAAunE,GAMA,GAJAF,KAAAhB,KACAgB,EAAAlrK,EAAAkrK,EAAAlrK,GAAA,MAGAqrK,IAAAH,EACA,UAAA1hJ,MAAAxpB,EAAA,aAAAorK,EAAA,KAAAprK,GAAA,kCAAAorK,EAAA,8BAGA,OAAAF,GAGAH,EAAAO,qBAAA,SAAAlpE,GACAA,EAAA+nE,EAAA/nE,GACA,IAAA7iH,EAAA,GACAoH,EAAAk9G,EAAAzB,EAAAv5C,MAUA,OARAliE,KAAAujL,GACA7uL,EAAA2nB,KAAArc,EAAA,SAAA2iB,EAAAttB,GACAA,IAAAkuL,GAAA3qL,EAAAiP,KAAA8a,KAGA/pB,EAAAiP,KAAA7H,GAGApH,GAGAwrL,EAAA9qK,SAAA,SAAAmiG,GAGA,OADAA,EAAA+nE,EAAA/nE,KACAyB,EAAAzB,EAAAv5C,OAOAkiH,EAAAQ,qBAAA,WACA,IAAAC,EAAA,GAIA,OAHAnwL,EAAA2nB,KAAA6gG,EAAA,SAAAl9G,EAAA3K,GACAwvL,EAAAh9K,KAAAxS,KAEAwvL,GASAT,EAAAU,YAAA,SAAArpE,GACAA,EAAA+nE,EAAA/nE,GACA,IAAAz7G,EAAAk9G,EAAAzB,EAAAv5C,MACA,OAAAliE,KAAAujL,IAGAa,EAAAZ,iBAaAz+K,EAAAggL,mBAAA,CACA,IAAAC,EAAAZ,EAAAxqL,OAEAorL,IACAZ,EAAAxqL,OAAA,SAAAy6B,GACA,IAAA0vJ,EAAAiB,EAAA/vL,KAAAC,KAAAm/B,GACA,OAAA+vJ,EAAAE,cAAAP,EAAA1vJ,EAAAh/B,QAKA,OAAA+uL,EAOA,SAAAa,EAAAjlL,EAAAgV,IAgBAnd,EAAA2rL,iBACA3rL,EAAA8rL,oBACA9rL,EAAAkpL,mBACAlpL,EAAAssL,wBACAtsL,EAAAotL,eAIA,SAAArtL,EAAAC,EAAA9D,GAEA,IAAAW,EAAAX,EAAA,IAwBAsoB,EAAA3nB,EAAA2nB,KACA6oK,EAAA,iBACAC,EAAA,oBAmBA,SAAAC,EAAA96K,GACA,IAAAm2K,EAAAn2K,EAAAm2K,SACAG,EAAAt2K,EAAAs2K,MAEAA,IACAA,EAAA,CACA1+G,KAAAu+G,GAEAn2K,EAAAu2K,UAAA,CACA3+G,KAAA,SAIA53D,EAAAs2K,MAAAt2K,EAAAm2K,SAAA,KACA4E,EAAA5E,EAAAG,EAAAt2K,GAEA+R,EAAAukK,EAAA,SAAAngL,GACA4b,EAAAokK,EAAA6E,qBAAA,SAAA3mK,GACAle,EAAAme,WAAAD,EAAAjqB,EAAAmqB,MAAA0mK,EAAAj7K,QAIAm2K,EAAA7hK,WAAA,eAAAlqB,EAAAmqB,MAAA2mK,EAAAl7K,IAGA+R,EAAAokK,EAAA/hK,kBAAA,SAAAC,GACA8hK,EAAA7hK,WAAAD,EAAAjqB,EAAAmqB,MAAA4mK,EAAAn7K,MAGA5V,EAAA4qD,OAAAshI,EAAAH,EAAArmK,YAAAqmK,GAGA,SAAA8E,EAAAj7K,EAAA28D,GACA,GAAAy+G,EAAAxwL,MAAA,CAEA,IAAA0rL,EAAAlsL,EAAAkF,OAAA,GAAgC1E,KAAAgwL,IAChCtE,EAAA1rL,KAAAklB,UAAA6sD,EACAo+G,EAAAp+G,EAAA25G,EAAAt2K,QAGAq7K,EAAA1+G,EAAA/xE,KAAAklB,SAAAllB,KAAAiwL,GAAA76K,GAGA,OAAA28D,EAGA,SAAAw+G,EAAAn7K,EAAA28D,GAEA,OADA38D,EAAAo2K,QAAAp2K,EAAAo2K,OAAAj/J,OAAAvsB,MACA+xE,EAGA,SAAAu+G,EAAAl7K,EAAA28D,GAQA,OAHA5qD,EAAA4qD,EAAAi+G,GAAA,SAAAzkL,EAAA2Z,GACA3Z,IAAAwmE,GAAA0+G,EAAAllL,EAAAyV,eAAAkE,EAAA6sD,EAAA38D,KAEA28D,EAWA,SAAA1sD,EAAAH,GACA,IAAAqmK,EAAAvrL,KAAAiwL,GACA,aAAA/qK,GAAA,MAAAqmK,MAAAyE,GAAA9qK,GAGA,SAAAsrK,EAAAjlL,GACA,OAAAA,EAAA0kL,KAAA1kL,EAGA,SAAA4kL,EAAA5E,EAAAG,EAAAt2K,GACAm2K,EAAAyE,GAAA,GACA7oK,EAAAukK,EAAA,SAAAngL,EAAA2Z,GACAurK,EAAAllL,EAAA2Z,EAAAqmK,EAAAn2K,KAIA,SAAAq7K,EAAAllL,EAAA2Z,EAAAqmK,EAAAn2K,GACAm2K,EAAAyE,GAAA9qK,GAAA3Z,EACAA,EAAA0kL,GAAA1E,EACAhgL,EAAA2Z,WAEA9P,EAAAo2K,SACAjgL,EAAA6J,EAAAq2K,YAAAr2K,EAAAo2K,OACAp2K,EAAAo2K,OAAAp2K,EAAAu2K,UAAAzmK,IAAA3Z,GAIAA,EAAA8Z,gBAGA,IAAA5iB,EAAAytL,EACAxtL,EAAAC,QAAAF,GAIA,SAAAC,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACA+zJ,EAAA7xL,EAAA,IACA8xL,EAAA9xL,EAAAgvB,EAAA6iK,GACAtvB,EAAAviK,EAAA,GACAg/G,EAAAh/G,EAAA,IACA+xL,EAAA/xL,EAAA,KACAwlJ,EAAAxlJ,EAAA,GACAgyL,EAAAhyL,EAAA,KACAiyL,EAAAjyL,EAAA,KACAkyL,EAAAlyL,EAAA,IACAmyL,EAAAnyL,EAAAgvB,EAAAkjK,GACAE,EAAApyL,EAAA,GACAqyL,EAAAryL,EAAA,KACAsyL,EAAAtyL,EAAA,IACAuyL,EAAAvyL,EAAA,KAYA2c,EAAAy1K,EAAA,KAAAz1K,KAOA4lJ,EAAA,KAAA5tI,OAAA3B,OAAAu/J,EAAA,MAEA,IAAAC,EAAA,EAEAz0J,EAAAr0B,EAAAitK,gBAAA,CAEAr1K,KAAA,UAEAsmH,UAAA,EAEAvjG,KAAA,SAAA3I,EAAAxV,GAEA/E,KAAA8mH,QAAA,IAAAs6C,EAAA,KAAA9tI,KACAtzB,KAAAkvE,OAAA,IAAA2uC,EAAA,qBACA79G,KAAAkvE,OAAA5c,OAAAhjB,KAAAtvC,KAAAkvE,OAAA5c,OAAA/iB,MAAA,EAEAvvC,KAAAkvE,OAAA3xC,IAAAv9B,KAAA8mH,SAEA9mH,KAAAsxL,eAAA,IAAAH,EAAA,QAAApsL,GAGA/E,KAAAuxL,gBAAA,IAAAnwB,EAAA,KAAA7tI,KAAA,CACAV,SAAA,IAAAuuI,EAAA,KAAA3tI,SAAA,CACAd,OAAAyuI,EAAA,KAAArnI,aAAA,0BACA25B,aAAA,EACAH,WAAA,EACA8C,WAAA,IAEAupC,gBAAA,EACA3jE,SAAA,IAAAmlI,EAAA,KAAAxtI,SAAA,CACAwI,WAAA,CACA/e,KAAA,IAAA+jJ,EAAA,KAAAxtI,SAAA84B,UAAA,kBACA5lC,MAAA,IAAAs6I,EAAA,KAAAxtI,SAAA84B,UAAA,4BAEA3qB,SAAA,EACAorB,cAAA,SAEA0lC,aAAA,EACA1C,KAAAixE,EAAA,KAAA7tI,KAAA6hB,QAIAp1C,KAAAwxL,WAAA,IAAApwB,EAAA,KAAA7tI,KAAA,CACAV,SAAA,IAAAuuI,EAAA,KAAA3tI,SAAA,CACAd,OAAAyuI,EAAA,KAAArnI,aAAA,oBACA25B,aAAA,EACAH,WAAA,EACA8C,WAAA,IAEAupC,gBAAA,EACA3jE,SAAA,IAAA20J,EAAA,MACAzqH,eAAA,EACApkC,SAAA,IAEA8wD,aAAA,EACAjZ,SAAA,IAGA55E,KAAAyxL,UAAA,EAEAzxL,KAAAy6I,SAAA,IAAAy2C,EAAA,MACA/8K,GAAApP,EAAA2sB,QACAw9C,OAAAlvE,KAAAkvE,SAEAlvE,KAAAy6I,SAAAi3C,UAAA1xL,KAAA8mH,SACA9mH,KAAAy6I,SAAAv3H,OAGAljB,KAAA2xL,cAAA3xL,KAAA2xL,cAAA/oL,KAAA5I,OAGAkzD,OAAA,SAAA54C,EAAAC,EAAAxV,GACA/E,KAAA8mH,QAAAvpF,IAAAv9B,KAAAsxL,eAAA9zH,UAEAx9D,KAAAm7I,OAAA7gI,EACAta,KAAAggG,KAAAj7F,EAEA/E,KAAA4xL,YAAAt3K,EAAAC,EAAAxV,GAEA/E,KAAAsxL,eAAA/kK,OAAAjS,EAAAC,EAAAxV,GAEA/E,KAAA6xL,gCAAAhB,EAAA,MACA7wL,KAAA8mH,QAAAt6G,OAAAxM,KAAAuxL,iBAGAvxL,KAAAykH,cAAAnqG,EAAAvV,GAEA/E,KAAAy6I,SAAA5kI,IAAA,UACA7V,KAAAy6I,SAAA7kI,GAAA,oBACA7Q,EAAAqoG,eAAA,CACAjtG,KAAA,cACA2xL,SAAAx3K,EAAA2R,GACA+1F,KAAAhiH,KAAAy6I,SAAA11B,UACAh/D,OAAA/lD,KAAAy6I,SAAAs3C,cAGA/xL,KAAAsxL,eAAA/jF,WAAAvtG,KAAAkvE,OAAA5c,SACStyD,MAETA,KAAAy6I,SAAAi0B,QAAArqB,EAAA,KAAA/sH,aAAAhd,EAAA7U,IAAA,YACAzF,KAAAy6I,SAAAu3C,UAAA13K,EAAA7U,IAAA,kBAEA,IAAA2sD,EAAApyD,KAAAsxL,eAAAllF,gBAMA,GALAh6C,EAAAv8C,IAAA,YAAA7V,KAAAiyL,mBACA7/H,EAAAv8C,IAAA,WAAA7V,KAAAkyL,iBAAAlyL,MACA+E,EAAA2sB,QAAA7b,IAAA,QAAA7V,KAAA2xL,eAEA3xL,KAAAsxL,eAAAvmF,sBAAA,EACAzwF,EAAA7U,IAAA,uBACA,IAAAklL,EAAArwK,EAAA7U,IAAA,wBACA,UAAAklL,EAEA5lL,EAAA2sB,QAAA9b,GAAA,QAAA5V,KAAA2xL,eAEA,cAAAhH,GACAv4H,EAAAx8C,GAAA,YAAA5V,KAAAiyL,kBAAAjyL,MACAoyD,EAAAx8C,GAAA,WAAA5V,KAAAkyL,iBAAAlyL,MAEAA,KAAAsxL,eAAAvmF,sBAAA,GAIA3yE,QAAAyH,KAAA,sCAAA8qJ,GAMA3qL,KAAAmyL,yBAAA,GAGAR,cAAA,SAAAx7K,GACA,IAAAnW,KAAAoyL,WAAA,CAGA,IAAA3sK,EAAAzlB,KAAAsxL,eAAAllF,gBAAA3mF,UACAA,GAAA,EACAzlB,KAAAggG,KAAAoN,eAAA,CACAjtG,KAAA,4BACA2xL,SAAA9xL,KAAAm7I,OAAAlvH,GACAxG,cAIAzlB,KAAAggG,KAAAoN,eAAA,CACAjtG,KAAA,8BACA2xL,SAAA9xL,KAAAm7I,OAAAlvH,OAKAgmK,kBAAA,SAAA97K,GACA,IAAAnW,KAAAoyL,WAAA,CAGA,IAAA3sK,EAAAzlB,KAAAsxL,eAAAllF,gBAAA3mF,UACAA,GAAA,EACAA,IAAAzlB,KAAAmyL,yBACAnyL,KAAAggG,KAAAoN,eAAA,CACAjtG,KAAA,4BACA2xL,SAAA9xL,KAAAm7I,OAAAlvH,GACAxG,cAKAzlB,KAAAkyL,iBAAA/7K,GAGAnW,KAAAmyL,wBAAA1sK,IAGAysK,iBAAA,SAAA/7K,GACAnW,KAAAoyL,aAIApyL,KAAAggG,KAAAoN,eAAA,CACAjtG,KAAA,8BACA2xL,SAAA9xL,KAAAm7I,OAAAlvH,KAGAjsB,KAAAmyL,yBAAA,IAGAE,0BAAA,SAAA7J,EAAAluK,GACA,IAAA2hB,EAAAj8B,KAAAuxL,gBAAAt1J,SAEA8rJ,EAAAztK,EAAA0tK,cACAjiI,EAAA,EACAusI,EAAAtyL,KAAA6xL,qBACA31J,EAAA,EAAA6rJ,EAAApuK,QACAsiB,EAAAG,WAAA/e,KAAA6F,KAAAgZ,GACAD,EAAAG,WAAAtV,MAAA5D,KAAAgZ,GACA6rJ,EAAA5gK,KAAA,SAAAxJ,GACA,IAAAD,EAAA8qK,EAAA7qK,GACAse,EAAAG,WAAA/e,KAAA+V,IAAA2yB,EAAAusI,EAAAC,UAAA70K,EAAAQ,QACA+d,EAAAG,WAAA/e,KAAA+V,IAAA2yB,EAAA,EAAAusI,EAAAC,UAAA70K,EAAAS,QAEA,IAAA2I,EAAAihK,EAAAvgK,cAAA9J,EAAA+H,UAAA,SACA4gF,EAAA+6D,EAAA,KAAAloI,WAAApS,GACAu/E,EAAA,IAAAg+C,EAAA,KAAA/sH,aACAywJ,EAAAvgK,cAAA9J,EAAA+H,UAAA,cAEAwW,EAAAG,WAAAtV,MAAAsM,IAAA2yB,EAAAsgD,GACApqE,EAAAG,WAAAtV,MAAAsM,IAAA2yB,EAAA,EAAAsgD,GAEAtgD,GAAA,IAEA9pB,EAAAtX,SAGA6tK,yBAAA,WACA,IAAAzK,EAAA/nL,KAAAm7I,OAAA6sC,cACA/rJ,EAAAj8B,KAAAwxL,WAAAv1J,SAEAyrC,GADAqgH,EAAA/nL,KAAAm7I,OAAA6sC,cACAhoL,KAAAm7I,OAAA3gI,UAAAqD,UAAA,WAEAoe,EAAAwqC,cACAxqC,EAAA4qC,eAAAkhH,EAAApuK,QAAAsiB,EAAAqrC,sBACArrC,EAAA6qC,iBAAAihH,EAAApuK,QAAAsiB,EAAAurC,wBAEA,IAAAnrD,EAAA,GACAC,EAAA,GAEAm2K,EAAA,sBAEAzyL,KAAA0yL,oBAAA,IAAAlnJ,aAAA,EAAAu8I,EAAApuK,SACA3Z,KAAA2yL,gBAAA,IAAAnnJ,aAAAu8I,EAAApuK,SACAouK,EAAA5gK,KAAA,SAAAxJ,GACA,IAAAD,EAAAqqK,EAAAjrK,MAAAqrK,eAAAxqK,GACAy+H,EAAA,EAAA1+H,EAAAQ,MAAAuH,UACAmtK,EAAA,EAAAl1K,EAAAS,MAAAsH,UACApJ,EAAA,GAAAqrD,EAAA00E,GACA//H,EAAA,GAAAqrD,EAAA00E,EAAA,GACA9/H,EAAA,GAAAorD,EAAAkrH,GACAt2K,EAAA,GAAAorD,EAAAkrH,EAAA,GAEA,IAAA9rK,EAAAihK,EAAAvgK,cAAA9J,EAAA+H,UAAA,SACA4gF,EAAA+6D,EAAA,KAAAloI,WAAApS,GACAu/E,EAAA,IAAAg+C,EAAA,KAAA/sH,aAAAywJ,EAAAvgK,cAAA9J,EAAA+H,UAAA,cACA,IAAAyF,EAAA68J,EAAA58J,aAAAzN,EAAA+H,WACAhV,EAAA4zI,EAAA,KAAA/sH,aAAApM,EAAAzlB,IAAAgtL,GAAA,GAAAzyL,KAAAggG,KAAA9U,sBAEAjvD,EAAAytC,QAAArtD,EAAAC,EAAA+pF,EAAA51F,GAEA,QAAAiQ,EAAA,EAA2BA,EAAA,EAAOA,IAClC1gB,KAAA0yL,oBAAA,EAAAh1K,EAAA+H,UAAA/E,GAAA2lF,EAAA3lF,GAEA1gB,KAAA2yL,gBAAAj1K,EAAA+H,WAAA9H,GACS3d,MAETi8B,EAAAtX,SAGAkuK,0BAAA,SAAAlK,GAGA,IAFA,IAAA37E,EAAAhtG,KAAAsxL,eAAAllF,gBACAtL,EAAA,GACA/1F,EAAA,EAAuBA,EAAA49K,EAAAhvK,QAAsB5O,IAC7C/K,KAAA6xL,qBAAAU,UAAAxnL,EAAA+1F,GACAkM,EAAA/wE,SAAAG,WAAA91B,SAAA8sB,IAAAroB,EAAA+1F,GAEAkM,EAAA/wE,SAAAtX,MAAA,aAGAitK,YAAA,SAAAt3K,EAAAC,EAAAxV,GACA,IAAAkB,EAAAqU,EAAA7U,IAAA,UACAqX,EAAAxC,EAAAwtK,WAEA9pE,EAAA1jG,EAAA2jG,qBACAvrE,EAAAi+I,EAAApoL,EAAA+6E,cAAA06B,EAAA,CACA17G,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,cAGA,UAAAr4D,IAEAmyB,QAAAyH,KAAA,gDAEA55B,EAAA,eAGAjG,KAAA8yL,WAAAx4K,EAAAC,EAAAxV,EAAA,CACAguL,cAAA,IAGA,IAAApK,EAAAruK,EAAAE,UACAutK,EAAAztK,EAAAE,UACA,mBAAAvU,EAAA,CACA,IAAA+sL,EAAA14K,EAAAqgB,SAAA,eACA23J,EAAAtyL,KAAA6xL,qBACAn8B,EAAA,GACA8yB,EAAA,GAEAyK,EAAAtK,EAAA/pE,cAAA,SACAs0E,EAAAnL,EAAAnpE,cAAA,SAEAu0E,EAAA9uC,EAAA,KAAA/sH,aAAA07J,EAAAvtL,IAAA,iBACA2tL,EAAA/uC,EAAA,KAAA/sH,aAAA07J,EAAAvtL,IAAA,iBACA,kBAAA0tL,IACAA,EAAA,CAAAA,MAEA,kBAAAC,IACAA,EAAA,CAAAA,MAGA,IAAArtI,EAAA,EACAstI,EAAA,GAEAC,EAAA,IAAA9nJ,aAAA,EAAAm9I,EAAAhvK,SAsDA,GArDAmD,EAAAowK,SAAA,SAAA7vK,GACA,IAEArb,EACAC,EAHAwjB,EAAApI,EAAAoI,UACAxhB,EAAA0kL,EAAAljL,IAAA,QAAAggB,GAGA,GAAAkjK,EAAA79J,cAAA,CACA,IAAAI,EAAAy9J,EAAAx9J,aAAA1F,GACAzjB,EAAAkpB,EAAAzlB,IAAA,KACAxD,EAAAipB,EAAAzlB,IAAA,KAEA,MAAAzD,IAEAA,EAAA0wC,EAAA1wC,EAAA0E,KAAAy3B,SAAAuU,EAAApwC,MACAL,EAAAywC,EAAAzwC,EAAAyE,KAAAy3B,SAAAuU,EAAAnwC,QAEA+wL,EAAA,EAAAvtI,GAAA/jD,EACAsxL,EAAA,EAAAvtI,EAAA,GAAA9jD,EAEAoxL,EAAAh2K,EAAA4O,IAAA85B,IACA,IAAAwtI,EAAA32J,EAAAr0B,EAAAy2I,OAAAlnC,UAAA7zG,EAAAgvL,EAAAG,GACAx5K,MAAA25K,KAKAA,EAJA35K,MAAAw5K,EAAA,IAIA,EAHAA,EAAA,IAMA19B,EAAA/iJ,KAAA,CACA3Q,IAAAC,IAAAsxL,OAAAt4K,KAAA0tK,EAAAnhK,cAAA/B,EAAA,kBAGAkjK,EAAAjV,UAAA,SAAA4f,GAEAx2K,EAAAW,SAAA,SAAAC,GACA,IAAA+H,EAAA/H,EAAA+H,UACAxhB,EAAA0kL,EAAAljL,IAAA,QAAAggB,GACAsnC,EAAAnwB,EAAAr0B,EAAAy2I,OAAAlnC,UAAA7zG,EAAAivL,EAAAC,GACAv5K,MAAAmzC,KAKAA,EAJAnzC,MAAAu5K,EAAA,IAIA,EAHAA,EAAA,IAMA3K,EAAA71K,KAAA,CACAuL,MAAAm1K,EAAA31K,EAAAQ,MAAA+N,IACA9N,MAAAk1K,EAAA31K,EAAAS,MAAA8N,IACA8gC,SACAtnC,iBAGA6sK,EAAA,CACA,IAAAkB,EAAAR,EAAAvtL,IAAA,OACAzF,KAAA6xL,yBACA2B,GAAAxzL,KAAA6xL,gCAAAhB,EAAA,QACA2C,GAAAxzL,KAAA6xL,gCAAAf,EAAA,QAGA9wL,KAAAyzL,8BAAAzzL,KAAA6xL,uBAGAS,EAAAtyL,KAAA6xL,qBAAA2B,EACA,IAAA3C,EAAA,KACA,IAAAC,EAAA,KAEAwB,EAAAhqG,SAAAotE,EAAA8yB,GACA8J,EAAAoB,aAAAV,EAAA7vK,QAGAnjB,KAAAqyL,0BAAAC,EAAAqB,WAAAr5K,GACAta,KAAA4zL,yBAEA7uL,EAAAqoG,eAAA,CACAjtG,KAAA,qBACAkoD,KAAAroD,KAAAgqB,UAGA,CACAspK,EAAA,IAAA9nJ,aAAA,EAAAm9I,EAAAhvK,SACAosC,EAAA,EACAjpC,EAAAowK,SAAA,SAAA7vK,GACA,IACArb,EACAC,EAFAwjB,EAAApI,EAAAoI,UAGA,GAAAkjK,EAAA79J,cAAA,CACA,IAAAI,EAAAy9J,EAAAx9J,aAAA1F,GACAzjB,EAAAkpB,EAAAzlB,IAAA,KACAxD,EAAAipB,EAAAzlB,IAAA,KAEA6tL,EAAAvtI,KAAA/jD,EACAsxL,EAAAvtI,KAAA9jD,IAEA0mL,EAAAjV,UAAA,SAAA4f,GAEAtzL,KAAA6zL,mBAAAv5K,EAAAC,EAAAxV,KAIA6uL,uBAAA,WACA,IAAAE,EAAA9zL,KAAA6xL,qBAAAkC,yBACA/zL,KAAAsxL,eAAAvjF,mBAAA+lF,GACA9zL,KAAAuxL,gBAAA1+J,SAAAO,IAAA,cAAA0gK,IAGAE,YAAA,SAAA15K,EAAAC,EAAAxV,EAAAynB,GACA,IAAAA,GAAA,MAAAA,EAAA67B,MAAA77B,EAAA67B,OAAAroD,KAAAgqB,IAAA,CAIA,IAAAklD,EAAAlvE,KAAAkvE,OAEAojH,GADAvtL,EAAA/E,KAAAggG,KACAhgG,KAAA6xL,sBACAtmL,EAAAvL,KAAAm7I,OAAA3gI,UACAw4K,EAAAhzL,KAAAm7I,OAAAxgH,SAAA,eAEA,GAAA23J,GAUA,GAHAtyL,KAAA8mH,QAAAt6G,OAAAxM,KAAAwxL,YACAxxL,KAAA8mH,QAAAvpF,IAAAv9B,KAAAuxL,iBAEAvxL,KAAA6xL,qBAAA,CAIA7xL,KAAA6yL,0BAAAv4K,EAAAE,WACAxa,KAAAsxL,eAAAjlF,aAEA,IAAA3kE,EAAA1nC,KACAi0L,EAAAj0L,KAAAyxL,UAAAJ,IACArH,EAAAgJ,EAAA7qK,WAAA,YACA4hK,EAAAiJ,EAAA7qK,WAAA,SACA+rK,EAAA,EACAC,EAAAztL,KAAAS,IAAA,EAAA4iL,EAAA,IACAqK,EAAA,SAAAH,GACA,GAAAA,IAAAvsJ,EAAA+pJ,UAGA,OAAAa,EAAAxyH,WAAAkqH,IACAjlL,EAAAqoG,eAAA,CACAjtG,KAAA,oBACAkoD,KAAA3gB,EAAA1d,WAEAjlB,EAAAqoG,eAAA,CACAjtG,KAAA,sBACAunE,OAAAn8D,EAAAsS,UAAA,UACAwqC,KAAA3gB,EAAA1d,YAKAsoK,EAAA/lK,OAAA2iD,EAAA5R,MAAAlmC,SAAA2yJ,EAAA,WACAriJ,EAAAksJ,yBAEAM,GAAAnK,EAEAmK,GAAAC,IACAzsJ,EAAA2sJ,kBAAA/5K,GACA45K,EAAA,GAGAnvL,EAAA2sB,QAAAyB,UAEA69J,IAAA,WACAoD,EAAAH,QAKAjD,IAAA,WACAtpJ,EAAA+rJ,gCACA/rJ,EAAA+rJ,8BAAA39K,QAAAo5D,EAAA5R,MAAAlmC,UACAsQ,EAAA+rJ,8BAAA,MAEAW,EAAAH,KAGAj0L,KAAAoyL,YAAA,QAhEAh6J,QAAA+B,MAAA,+CAmEA24J,WAAA,SAAAx4K,EAAAC,EAAAxV,EAAAynB,GACAA,GAAA,MAAAA,EAAA67B,MAAA77B,EAAA67B,OAAAroD,KAAAgqB,MAIAhqB,KAAAyxL,UAAA,EACAzxL,KAAA8mH,QAAAt6G,OAAAxM,KAAAuxL,iBACAvxL,KAAA8mH,QAAAvpF,IAAAv9B,KAAAwxL,YAEAxxL,KAAA6xL,sBAIA7xL,KAAAkvE,OAAA5R,QAIA9wC,KAAAumK,eACA/yL,KAAAq0L,kBAAA/5K,GACAta,KAAA6zL,mBAAAv5K,EAAAC,EAAAxV,IAGA/E,KAAAggG,KAAAtuE,QAAAyB,UAEAnzB,KAAAoyL,YAAA,KAGAiC,kBAAA,SAAA/5K,GACA,IAAAotD,EAAA1nE,KAAA6xL,qBAAAyC,gBAAAt0L,KAAAkvE,OAAA5R,MAAAlmC,UACA9c,EAAAE,UAAAk5J,UAAA,SAAAhsG,GAEAptD,EAAAkvK,gBAAA9hH,IAGAmsH,mBAAA,SAAAv5K,EAAAC,EAAAxV,GACA/E,KAAAwyL,2BAEAxyL,KAAAsxL,eAAAtjF,wBAEAhuG,KAAAsxL,eAAAhkF,aAAAhzF,EAAAC,EAAAxV,GAEA/E,KAAAsxL,eAAA/jF,WAAAvtG,KAAAkvE,OAAA5c,QAEAtyD,KAAAsxL,eAAAtwF,eAEAhhG,KAAAsxL,eAAAhlF,cAIAo+E,mBAAA,SAAApwK,EAAAC,EAAAxV,EAAAynB,GAEA,IAAAjhB,EAAAvL,KAAAm7I,OAAA3gI,UAEAxa,KAAAu0L,eAEA,IAAA9uK,EAAA+G,EAAA/G,UAEA3I,EAAAvR,EAAAuR,MAEA03K,EAAA,GACAn3K,EAAAP,EAAA6vK,eAAAlnK,GACA+uK,EAAA7hL,KAAA0K,GACAA,EAAAmrK,MAAA39K,QAAA,SAAA6S,GACAA,EAAA+H,UAAA,IAGA/H,EAAAQ,QAAAb,GAAAm3K,EAAA7hL,KAAA+K,EAAAQ,OACAR,EAAAS,QAAAd,GAAAm3K,EAAA7hL,KAAA+K,EAAAS,SACSne,MAETA,KAAAsxL,eAAA3jF,WAAA,KACA3tG,KAAAy0L,iBAAA,KAEAD,EAAA3pL,QAAA,SAAAwS,GACArd,KAAAsxL,eAAA9tF,UAAAj4F,EAAA8R,EAAAoI,YACSzlB,MAETA,KAAAsxL,eAAAtwF,aAAAwzF,EAAApnL,IAAA,SAAAiQ,GACA,OAAAA,EAAAoI,aAGA,IAAAivK,EAAA,GACAr3K,EAAAmrK,MAAA39K,QAAA,SAAA6S,GACAA,EAAA+H,WAAA,IACAzlB,KAAA20L,eAAAj3K,EAAA+H,WACAivK,EAAA/hL,KAAA+K,KAES1d,MAETA,KAAA40L,YAAAJ,EACAx0L,KAAA60L,YAAAH,GAGAI,qBAAA,SAAAx6K,EAAAC,EAAAxV,EAAAynB,GAEAxsB,KAAAu0L,eAEAv0L,KAAAsxL,eAAAxjF,YACA9tG,KAAA+0L,kBAEA/0L,KAAAsxL,eAAAtwF,gBAGA2zF,eAAA,SAAAlvK,GACA,IAAAyF,EAAAlrB,KAAAm7I,OAAA6sC,cAAA78J,aAAA1F,GACAygF,EAAAk7D,EAAA,KAAAloI,WAAAhO,EAAAzlB,IAAA,6BAAAylB,EAAAzlB,IAAA,oBACA0gG,EAAAk+C,EAAA,KAAA/sH,aAAApM,EAAAzlB,IAAA,8BAAAylB,EAAAzlB,IAAA,wBACAygG,EAAA,IAAAC,EAEAnmG,KAAAwxL,WAAAv1J,SAAAwuC,aAAAzqE,KAAA2yL,gBAAAltK,GAAAygF,IAGAquF,aAAA,WACAv0L,KAAA40L,aACA50L,KAAA40L,YAAA/pL,QAAA,SAAAwS,GACArd,KAAAsxL,eAAA/tF,SAAAvjG,KAAAm7I,OAAA3gI,UAAA6C,EAAAoI,YACazlB,MAEbA,KAAA60L,aACA70L,KAAA60L,YAAAhqL,QAAA,SAAA6S,GACA1d,KAAAg1L,cAAAt3K,EAAA+H,YACazlB,OAIbg1L,cAAA,SAAAvvK,GACA,IAAAqB,EAAA9mB,KAAAi1L,UAAAxvK,EAAA,IACAzlB,KAAAwxL,WAAAv1J,SAAAwuC,aAAAzqE,KAAA2yL,gBAAAltK,GAAAqB,IAGAouK,aAAA,WACA,IAAApuK,EAAA,GACA,gBAAArB,EAAA0yF,GACAn4G,KAAAi1L,UAAAxvK,EAAAqB,GACAA,EAAA,IAAAqxF,EACAn4G,KAAAwxL,WAAAv1J,SAAAwuC,aAAAzqE,KAAA2yL,gBAAAltK,GAAAqB,IALA,GASAmuK,UAAA,SAAAxvK,EAAA4Z,GACA,QAAAt0B,EAAA,EAAuBA,EAAA,EAAOA,IAC9Bs0B,EAAAt0B,GAAA/K,KAAA0yL,oBAAA,EAAAjtK,EAAA1a,GAEA,OAAAs0B,GAGAo1J,iBAAA,SAAAt8E,GACA,IAAAr7F,EAAA9c,KAAAm7I,OAAA3gI,UAAAsC,MAEAA,EAAAW,SAAA,SAAAC,GACA1d,KAAAk1L,aAAAx3K,EAAA+H,UAAA0yF,IACSn4G,OAGT+0L,gBAAA,WACA/0L,KAAAy0L,iBAAA,IAGAhwE,cAAA,SAAAnqG,EAAAvV,GACA/E,KAAAkvE,OAAA77B,YAAA,IAAAtuC,EAAAwJ,WAAAxJ,EAAAu5D,YAAAv5D,EAAAmmF,uBAOA,IANA,IAAA54B,EAAAtyD,KAAAkvE,OAAA5c,OACAq2H,EAAAruK,EAAAE,UACAktD,EAAAihH,EAAA9qK,UAAA,UACA3W,EAAAsU,EAAAszB,OAAAh1B,SACA3S,EAAAqU,EAAAszB,QAAAh1B,UACA+oG,EAAA,GACA93G,EAAA,EAAuBA,EAAA28D,EAAAnkE,QACvBs/G,EAAA,GAAAn7C,EAAA38D,KACA83G,EAAA,GAAAn7C,EAAA38D,KACAyQ,EAAAtU,QAAA27G,GACArnG,EAAArU,QAAA07G,GAEA,IAAAnkG,GAAAvX,EAAA,GAAAD,EAAA,MACAuX,GAAAtX,EAAA,GAAAD,EAAA,MAGA,KAAAuX,EAAA6zC,EAAAhjB,MAAA7wB,EAAA6zC,EAAA/iB,OACA7wB,EAAA4zC,EAAA9iB,QAAA9wB,EAAA4zC,EAAA7iB,KADA,CAOA,IAAAntC,EAAAoE,KAAAS,MAAA,GAAAD,EAAA,OAEA3E,EAAAD,EAAAyC,EAAAwJ,WAAAxJ,EAAAu5D,YACAh8D,GAAA,IACAC,GAAA,IACA2E,EAAA,OAAA5E,EAEAgwD,EAAAhjB,KAAApoC,EAAA,GACAorD,EAAA7iB,IAAA/wB,EAAAnc,EAAA,EACA+vD,EAAA9iB,OAAA9wB,EAAAnc,EAAA,EACA+vD,EAAA/iB,MAAAjtC,EAAA4E,EAAA,GACAorD,EAAA5iB,KAAA,EACA4iB,EAAA3iB,IAAA,MAGA75B,QAAA,WACA,IAAAshB,EAAAp3B,KAAAkvE,OAAA5R,MAAAlmC,SACAp3B,KAAA6xL,sBACA7xL,KAAA6xL,qBAAA/7K,QAAAshB,GAEAp3B,KAAA8mH,QAAAziD,YAGArkE,KAAAyxL,WAAA,GAGAjlL,OAAA,WACAxM,KAAA8mH,QAAAziD,YACArkE,KAAAy6I,SAAA3kI,cAMA,SAAApT,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAiiE,EAAA//F,EAAA,GACAs2L,EAAAt2L,EAAA,IACA6wJ,EAAA7wJ,EAAA,IACAu2L,EAAAv2L,EAAA,KAOA+/F,EAAA,KAAAprE,OAAA3B,OAAAujK,EAAA,MAEA,IAAAC,EAAA,CACApL,mBAAA,EACAC,YAAA,EAEAC,mBAAA,EACAC,QAAA,EAEAkL,QAAA,EAEAjL,oBAAA,EAEAkL,gBAAA,GAEA/K,gBAAA,EAEAgL,cAAA,EAEA/K,cAAA,MAGA,SAAAgL,EAAA5lL,GAEA,IAAAorB,EAAA,CACA96B,KAAAy+F,EAAA,KAAAlrE,QAAAmR,MACAtD,UAAAq9D,EAAA,KAAAlrE,QAAAoQ,QACArC,UAAAm9D,EAAA,KAAAlrE,QAAAoQ,SAGA9jC,KAAA01L,mBAAA,IAAA92F,EAAA,KAAAjrE,UAAAsH,GACAj7B,KAAA01L,mBAAA59J,OAAA,EAEA93B,KAAA21L,aAAA,IAAA/2F,EAAA,KAAAjrE,UAAAsH,GACAj7B,KAAA41L,iBAAA,IAAAh3F,EAAA,KAAAjrE,UAAAsH,GACAj7B,KAAA61L,UAAA,IAAAj3F,EAAA,KAAAjrE,UAAAsH,GACAj7B,KAAA81L,cAAA,IAAAl3F,EAAA,KAAAjrE,UAAAsH,GAEAj7B,KAAA+1L,gBAAA,IAAAn3F,EAAA,KAAAjrE,UAAAsH,GACAj7B,KAAA+1L,gBAAAzzL,MAAAtC,KAAA+1L,gBAAAxzL,OAAA,EAEAvC,KAAAg2L,gBAAA,IAAAp3F,EAAA,KAAAjrE,UAAAsH,GACAj7B,KAAAi2L,oBAAA,IAAAr3F,EAAA,KAAAjrE,UAAAsH,GACAj7B,KAAAg2L,gBAAA1zL,MAAAtC,KAAAg2L,gBAAAzzL,OAAA,EACAvC,KAAAi2L,oBAAA3zL,MAAAtC,KAAAi2L,oBAAA1zL,OAAA,EAEAvC,KAAAk2L,mBAAA,IAAAf,EAAA,MACAnrJ,SAAA40D,EAAA,KAAAprE,OAAAyG,OAAA,0CAEAj6B,KAAAm2L,cAAA,IAAAhB,EAAA,MACAnrJ,SAAA40D,EAAA,KAAAprE,OAAAyG,OAAA,qCAEAj6B,KAAAo2L,iBAAA,IAAAjB,EAAA,MACAnrJ,SAAA40D,EAAA,KAAAprE,OAAAyG,OAAA,sCAEAj6B,KAAAq2L,UAAA,IAAAlB,EAAA,MACAnrJ,SAAA40D,EAAA,KAAAprE,OAAAyG,OAAA,4BAGA,IAAAtB,EAAA,SAAAC,GACAA,EAAAC,cAAAD,EAAAE,UACAF,EAAAG,UAAAH,EAAAK,IAAAL,EAAAK,MAEAj5B,KAAAs2L,eAAA,IAAA13F,EAAA,KAAArrE,KAAA,CACA0I,SAAA,IAAA2iE,EAAA,KAAAhrE,SAAA,CACAwI,WAAA,CACAle,MAAA,IAAA0gF,EAAA,KAAAhrE,SAAA84B,UAAA,mBACAvuC,MAAA,IAAAygF,EAAA,KAAAhrE,SAAA84B,UAAA,mBACAK,OAAA,IAAA6xC,EAAA,KAAAhrE,SAAA84B,UAAA,qBAEA3qB,SAAA,EACAorB,cAAA,UAEAt6B,SAAA,IAAA+rE,EAAA,KAAAnrE,SAAA,CACAigC,aAAA,EACA/gC,OAAAisE,EAAA,KAAA7kE,aAAA,yCACAu8B,MAAA39B,EACA46B,WAAA,EACAgjI,WAAA,IAEApmG,KAAAyO,EAAA,KAAArrE,KAAA4hB,SAEAn1C,KAAAw2L,iBAAA,IAAA53F,EAAA,KAAArrE,KAAA,CACA0I,SAAA,IAAA2iE,EAAA,KAAAhrE,SAAA,CACAwI,WAAA,CACA/e,KAAA,IAAAuhF,EAAA,KAAAhrE,SAAA84B,UAAA,mBAEA3qB,SAAA,EACAorB,cAAA,SAEAt6B,SAAA,IAAA+rE,EAAA,KAAAnrE,SAAA,CACAigC,aAAA,EACA/gC,OAAAisE,EAAA,KAAA7kE,aAAA,oCACAu8B,MAAA39B,EACA46B,WAAA,EACAgjI,WAAA,IAEApmG,KAAAyO,EAAA,KAAArrE,KAAA4hB,SAGAn1C,KAAAmxJ,aAAA,IAAAzB,EAAA,MACAj9G,aAAA,IAGAzyC,KAAAy2L,aAAA,IAAA73F,EAAA,KAAAvqE,mBAAA,CACAib,MAAA,EAAAC,MAAA,EACAE,IAAA,EAAAD,QAAA,EACAE,KAAA,EAAAC,IAAA,MAGA3vC,KAAA02L,aAAA,EAGAjB,EAAAx1L,UAAAyzL,aAAA,SAAA7jL,GAGA,QAAAvB,KAAA+mL,EACAr1L,KAAAsO,GAAA+mL,EAAA/mL,GAIA,IAAAqoL,EAAA32L,KAAA42L,OAAArzL,OAqBA,GAnBAvD,KAAAu1L,gBADAoB,EAAA,IACA,GAEAA,EAAA,IACA,EAGA,GAIA32L,KAAAs1L,QADAqB,EAAA,IACA,EAGA,GAMA9mL,EACA,QAAAvB,KAAA+mL,EACA,MAAAxlL,EAAAvB,KACAtO,KAAAsO,GAAAuB,EAAAvB,IAKA,GAAAtO,KAAAiqL,kBAGA,IAFA,IAAA4M,EAAA72L,KAAA01L,mBAAA9vJ,OAEA76B,EAAA,EAAuBA,EAAA/K,KAAA42L,OAAArzL,OAAwBwH,IAC/C8rL,EAAA,EAAA9rL,EAAA,IAAA/K,KAAA42L,OAAA7rL,GAAA0iL,QAAA,MAKAgI,EAAAx1L,UAAA62L,qBAAA,SAAAjnL,GACA,IAAA6lJ,EAAA11J,KAAA42L,OACApO,EAAAxoL,KAAA+2L,OAEA,GAAA/2L,KAAAyqL,cAaAzqL,KAAAg3L,eAAAh3L,KAAAyqL,kBAbA,CAGA,IAFA,IAAAvjL,EAAA,CAAA4S,SACA3S,EAAA,EAAA2S,UACA/O,EAAA,EAAuBA,EAAA2qJ,EAAAnyJ,OAAkBwH,IACzC7D,EAAA,GAAAR,KAAAQ,IAAAwuJ,EAAA3qJ,GAAA/I,EAAAkF,EAAA,IACAA,EAAA,GAAAR,KAAAQ,IAAAwuJ,EAAA3qJ,GAAA9I,EAAAiF,EAAA,IACAC,EAAA,GAAAT,KAAAS,IAAAuuJ,EAAA3qJ,GAAA/I,EAAAmF,EAAA,IACAA,EAAA,GAAAT,KAAAS,IAAAuuJ,EAAA3qJ,GAAA9I,EAAAkF,EAAA,IAGAnH,KAAAg3L,eAAA,KAAA9vL,EAAA,GAAAC,EAAA,QAAAD,EAAA,GAAAC,EAAA,KAMA,IAAA4D,EAAA,EAAmBA,EAAAy9K,EAAAjlL,OAAkBwH,IAAA,CACrC,IAAAmT,EAAAsqK,EAAAz9K,GAAAmT,MACAC,EAAAqqK,EAAAz9K,GAAAoT,MAEAu3I,EAAAx3I,GAAAuvK,QAAA/3B,EAAAx3I,GAAAuvK,QAAA,KACA/3B,EAAAv3I,GAAAsvK,QAAA/3B,EAAAv3I,GAAAsvK,QAAA,OAOAgI,EAAAx1L,UAAAqoF,SAAA,SAAAotE,EAAA8yB,GAEAxoL,KAAA42L,OAAAlhC,EACA11J,KAAA+2L,OAAAvO,EAEAxoL,KAAA82L,uBAEA,IAAAG,EAAAvwL,KAAA0gE,KAAA1gE,KAAAk+C,KAAA8wG,EAAAnyJ,SACA2zL,EAAAD,EACAJ,EAAA,IAAArrJ,aAAAyrJ,EAAAC,EAAA,GAEAl3L,KAAAm3L,QAAAF,EAAAC,GAGA,IADA,IAAAnxI,EAAA,EACAh7C,EAAA,EAAmBA,EAAA2qJ,EAAAnyJ,OAAkBwH,IAAA,CACrC,IAAAsS,EAAAq4I,EAAA3qJ,GACA8rL,EAAA9wI,KAAA1oC,EAAArb,GAAA,EACA60L,EAAA9wI,KAAA1oC,EAAApb,GAAA,EACA40L,EAAA9wI,KAAA1oC,EAAAk2K,MAAA,EACAsD,EAAA9wI,KAAA1oC,EAAApC,MAAA,EAEAjb,KAAA01L,mBAAA9vJ,OAAAixJ,EAEA,IAAAO,EAAAp3L,KAAAs2L,eAAAr6J,SACAo7J,EAAA7O,EAAAjlL,OACA6zL,EAAAh7J,WAAAle,MAAAgF,KAAA,EAAAm0K,GACAD,EAAAh7J,WAAAje,MAAA+E,KAAA,EAAAm0K,GACAD,EAAAh7J,WAAA2wB,OAAA7pC,KAAA,EAAAm0K,GAEA,IAAAlyF,EAAA,GAEA,IAAAp6F,EAAA,EAAmBA,EAAAy9K,EAAAjlL,OAAkBwH,IAAA,CACrC,IAAAqxB,EAAAg7J,EAAAh7J,WACA2wB,EAAAy7H,EAAAz9K,GAAAgiD,OACA,MAAAA,IACAA,EAAA,GAGA3wB,EAAAle,MAAAkV,IAAAroB,EAAA/K,KAAAuyL,UAAA/J,EAAAz9K,GAAAmT,MAAAinF,IACA/oE,EAAAje,MAAAiV,IAAAroB,EAAA/K,KAAAuyL,UAAA/J,EAAAz9K,GAAAoT,MAAAgnF,IACA/oE,EAAA2wB,OAAA35B,IAAAroB,EAAAgiD,GAEA3wB,EAAAle,MAAAkV,IAAAroB,EAAAssL,EAAAr3L,KAAAuyL,UAAA/J,EAAAz9K,GAAAoT,MAAAgnF,IACA/oE,EAAAje,MAAAiV,IAAAroB,EAAAssL,EAAAr3L,KAAAuyL,UAAA/J,EAAAz9K,GAAAmT,MAAAinF,IACA/oE,EAAA2wB,OAAA35B,IAAAroB,EAAAssL,EAAAtqI,GAGA,IAAAuqI,EAAAt3L,KAAAw2L,iBAAAv6J,SACAq7J,EAAAl7J,WAAA/e,KAAA6F,KAAAwyI,EAAAnyJ,QACA,IAAAwH,EAAA,EAAmBA,EAAA2qJ,EAAAnyJ,OAAkBwH,IACrCusL,EAAAl7J,WAAA/e,KAAA+V,IAAAroB,EAAA/K,KAAAuyL,UAAAxnL,EAAAo6F,IAGAiyF,EAAAzyK,QACA2yK,EAAA3yK,QAEA3kB,KAAAk2L,mBAAArjK,SAAA0H,OAAA,wBAAAm7H,EAAAnyJ,QACAvD,KAAAk2L,mBAAArjK,SAAAggC,WAAA,eAAAokI,EAAAC,IAEAl3L,KAAAu3L,SAAA,EAEAv3L,KAAAm/D,OAAA,GAGAs2H,EAAAx1L,UAAAu3L,SAAA,WACA,OAAAx3L,KAAA42L,QAEAnB,EAAAx1L,UAAA0zL,SAAA,WACA,OAAA3zL,KAAA+2L,QAGAtB,EAAAx1L,UAAAuD,KAAA,SAAA4zB,GACAp3B,KAAAu3L,UACAv3L,KAAAy3L,gBAAArgK,GACAp3B,KAAAu3L,SAAA,GAGAv3L,KAAAm/D,SAEAn/D,KAAAmxJ,aAAAh9G,OAAAn0C,KAAA61L,WACA71L,KAAAmxJ,aAAAvoJ,KAAAwuB,GACA,IAAAsgK,EAAA13L,KAAAk2L,mBAEAwB,EAAA7kI,WAAA,oBAAA7yD,KAAAmqL,mBACAuN,EAAA7kI,WAAA,UAAA7yD,KAAAoqL,SACAsN,EAAA7kI,WAAA,gBAAA7yD,KAAAg3L,gBACAU,EAAA7kI,WAAA,UAAA7yD,KAAAs1L,SACAoC,EAAA7kI,WAAA,iBAAA7yD,KAAAwqL,gBACAkN,EAAA7kI,WAAA,cAAA7yD,KAAA41L,kBACA8B,EAAAxkI,OAAA97B,GAGA,IAAAugK,EAAA33L,KAAAs2L,eACAqB,EAAA9kK,SAAAO,IAAA,aAAApzB,KAAAkqL,YACAyN,EAAA9kK,SAAAO,IAAA,sBAAApzB,KAAAqqL,qBACAsN,EAAA9kK,SAAAO,IAAA,iBAAApzB,KAAAwqL,gBACAmN,EAAA9kK,SAAAO,IAAA,cAAApzB,KAAA41L,kBACAx+J,EAAAwB,GAAA1jB,OAAAkiB,EAAAwB,GAAAkf,OACA1gB,EAAAw8B,WAAA,CAAA+jI,GAAA33L,KAAAy2L,cAGAz2L,KAAAmxJ,aAAAh9G,OAAAn0C,KAAA+1L,iBACA3+J,EAAAwB,GAAA85B,WAAA,SACAt7B,EAAAwB,GAAAlsB,MAAA0qB,EAAAwB,GAAAsc,kBACA9d,EAAAwB,GAAA1jB,OAAAkiB,EAAAwB,GAAAkf,OACA,IAAA8/I,EAAA53L,KAAAw2L,iBACAoB,EAAA/kK,SAAAO,IAAA,cAAApzB,KAAA41L,kBACAgC,EAAA/kK,SAAAO,IAAA,WAAApzB,KAAA61L,WACA+B,EAAA/kK,SAAAO,IAAA,eAAApzB,KAAA81L,eACA1+J,EAAAw8B,WAAA,CAAAgkI,GAAA53L,KAAAy2L,cAGAz2L,KAAAmxJ,aAAAh9G,OAAAn0C,KAAAg2L,iBACA,IAAA6B,EAAA73L,KAAAo2L,iBACAyB,EAAAhlI,WAAA,qBAAA7yD,KAAAi2L,qBACA4B,EAAAhlI,WAAA,iBAAA7yD,KAAA+1L,iBACA8B,EAAAhlI,WAAA,kBAAA7yD,KAAAu1L,iBACAn+J,EAAAwB,GAAAvjB,QAAA+hB,EAAAwB,GAAAkf,OACA+/I,EAAA3kI,OAAA97B,GAGA,IAAA0gK,EAAA93L,KAAAm2L,cACAn2L,KAAAmxJ,aAAAh9G,OAAAn0C,KAAA21L,cACAmC,EAAAjlI,WAAA,iBAAA7yD,KAAAg2L,iBACA8B,EAAAjlI,WAAA,cAAA7yD,KAAA41L,kBACAkC,EAAAjlI,WAAA,WAAA7yD,KAAA61L,WACAiC,EAAAjlI,WAAA,eAAA7yD,KAAA81L,eACAgC,EAAA5kI,OAAA97B,GAEAp3B,KAAAmxJ,aAAAxuH,OAAAvL,GAEAp3B,KAAA+3L,gBAGAtC,EAAAx1L,UAAAssB,OAAA,SAAA6K,EAAA2yJ,EAAAh0J,GACA,MAAAg0J,IACAA,EAAA,GAEAA,EAAArjL,KAAAS,IAAA4iL,EAAA,GAEA,QAAAh/K,EAAA,EAAmBA,EAAAg/K,EAAWh/K,IAC9B/K,KAAAwD,KAAA4zB,GAGArB,QAGA0/J,EAAAx1L,UAAA8zL,uBAAA,WACA,OAAA/zL,KAAAu3L,QAEAv3L,KAAA41L,iBACA51L,KAAA01L,oBAGAD,EAAAx1L,UAAAsyL,UAAA,SAAAyF,EAAA7yF,GACAA,KAAA,GACA,IAAA8xF,EAAAj3L,KAAA21L,aAAArzL,MACA40L,EAAAl3L,KAAA21L,aAAApzL,OAGA,OAFA4iG,EAAA,GAAA6yF,EAAAf,KAAA,GACA9xF,EAAA,GAAAz+F,KAAAmK,MAAAmnL,EAAAf,IAAAC,EAAA,MACA/xF,GAGAswF,EAAAx1L,UAAAq0L,gBAAA,SAAAl9J,EAAAiI,GACA,IAAAysE,EAAA9rG,KAAAi4L,aACA31L,EAAAtC,KAAA21L,aAAArzL,MACAC,EAAAvC,KAAA21L,aAAApzL,OACA0Y,EAAA3Y,EAAAC,EACAupG,KAAAvoG,SAAA,EAAA0X,IACA6wF,EAAA9rG,KAAAi4L,aAAA,IAAAzsJ,aAAA,EAAAvwB,IAEAjb,KAAAmxJ,aAAAvoJ,KAAAwuB,GACAp3B,KAAAmxJ,aAAAh9G,OAAAn0C,KAAA41L,kBACAx+J,EAAAwB,GAAA85E,WACA,IAAApwG,EAAAC,EACA60B,EAAAwB,GAAA0I,KAAAlK,EAAAwB,GAAAiM,MACAinE,GAEA9rG,KAAAmxJ,aAAAxuH,OAAAvL,GACAiI,IACAA,EAAA,IAAAmM,aAAA,EAAAxrC,KAAA42L,OAAArzL,SAEA,QAAAwH,EAAA,EAAmBA,EAAA/K,KAAA42L,OAAArzL,OAAwBwH,IAC3Cs0B,EAAA,EAAAt0B,GAAA+gG,EAAA,EAAA/gG,GACAs0B,EAAA,EAAAt0B,EAAA,GAAA+gG,EAAA,EAAA/gG,EAAA,GAEA,OAAAs0B,GAGAo2J,EAAAx1L,UAAAi4L,eAAA,SAAA9gK,EAAA5E,GACA,IAAA2lK,EAAAn4L,KAAA,IAAAwyB,EAAA,OACAlwB,EAAA61L,EAAA71L,MACAC,EAAA41L,EAAA51L,OACAvC,KAAAmxJ,aAAAvoJ,KAAAwuB,GACAp3B,KAAAmxJ,aAAAh9G,OAAAgkJ,GACA,IAAA16J,EAAA,IAAA+N,aAAAlpC,EAAAC,EAAA,GAGA,OAFA60B,EAAAwB,GAAA85E,WAAA,IAAApwG,EAAAC,EAAA60B,EAAAwB,GAAA0I,KAAAlK,EAAAwB,GAAAiM,MAAApH,GACAz9B,KAAAmxJ,aAAAxuH,OAAAvL,GACAqG,GAGAg4J,EAAAx1L,UAAAm4L,eAAA,WACA,OACA91L,MAAAtC,KAAA21L,aAAArzL,MACAC,OAAAvC,KAAA21L,aAAApzL,SAIAkzL,EAAAx1L,UAAA6/D,WAAA,SAAAkqH,GACA,OAAAhqL,KAAAm/D,OAAA6qH,GAGAyL,EAAAx1L,UAAA83L,aAAA,WACA,IAAA5nI,EAAAnwD,KAAA41L,iBACA51L,KAAA41L,iBAAA51L,KAAA21L,aACA31L,KAAA21L,aAAAxlI,EAEAA,EAAAnwD,KAAA81L,cACA91L,KAAA81L,cAAA91L,KAAA61L,UACA71L,KAAA61L,UAAA1lI,EAEAA,EAAAnwD,KAAAi2L,oBACAj2L,KAAAi2L,oBAAAj2L,KAAAg2L,gBACAh2L,KAAAg2L,gBAAA7lI,GAGAslI,EAAAx1L,UAAAw3L,gBAAA,SAAArgK,GACAp3B,KAAAmxJ,aAAAh9G,OAAAn0C,KAAA41L,kBACA51L,KAAAmxJ,aAAAvoJ,KAAAwuB,GACAp3B,KAAAq2L,UAAAxjI,WAAA,UAAA7yD,KAAA01L,oBACA11L,KAAAq2L,UAAAnjI,OAAA97B,GAEAA,EAAAwB,GAAA85B,WAAA,SACA1yD,KAAAmxJ,aAAAh9G,OAAAn0C,KAAA81L,eACA1+J,EAAAwB,GAAAlsB,MAAA0qB,EAAAwB,GAAAsc,kBACAl1C,KAAAmxJ,aAAAh9G,OAAAn0C,KAAAi2L,qBACA7+J,EAAAwB,GAAAlsB,MAAA0qB,EAAAwB,GAAAsc,kBAEAl1C,KAAAmxJ,aAAAxuH,OAAAvL,IAGAq+J,EAAAx1L,UAAAk3L,QAAA,SAAA70L,EAAAC,GACA,qFAAAsI,QAAA,SAAA+9J,GACA5oK,KAAA4oK,GAAAtmK,QACAtC,KAAA4oK,GAAArmK,SACAvC,KAAA4oK,GAAAjkJ,SACK3kB,OAGLy1L,EAAAx1L,UAAA6V,QAAA,SAAAshB,GACAp3B,KAAAmxJ,aAAAr7I,QAAAshB,GAEAp3B,KAAAq2L,UAAAvgL,QAAAshB,GACAp3B,KAAAk2L,mBAAApgL,QAAAshB,GACAp3B,KAAAm2L,cAAArgL,QAAAshB,GACAp3B,KAAAo2L,iBAAAtgL,QAAAshB,GAEAp3B,KAAAs2L,eAAAr6J,SAAAnmB,QAAAshB,GACAp3B,KAAAw2L,iBAAAv6J,SAAAnmB,QAAAshB,GAEAp3B,KAAA01L,mBAAA5/K,QAAAshB,GACAp3B,KAAA21L,aAAA7/K,QAAAshB,GACAp3B,KAAA41L,iBAAA9/K,QAAAshB,GACAp3B,KAAA61L,UAAA//K,QAAAshB,GACAp3B,KAAA81L,cAAAhgL,QAAAshB,GACAp3B,KAAA+1L,gBAAAjgL,QAAAshB,GACAp3B,KAAAg2L,gBAAAlgL,QAAAshB,GACAp3B,KAAAi2L,oBAAAngL,QAAAshB,IAGAwF,EAAAr0B,EAAAktL,iBAEAvnK,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,y+JAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA8oI,EAAA9oI,EAAA,GACAg+J,EAAAh+J,EAAA,GACAw5L,EAAAx5L,EAAA,KAIAy5L,EAAAD,EAAA,KAAAvvL,WACAwvL,IAAAp5J,MAAAo5J,EAAAltJ,QAAA,KAAgD,EAAAktJ,EAAAC,YAAA,MAEhD,IAAAlD,EAAA,CAEAmD,mBAAA,EACAC,eAAA,IAEAxO,mBAAA,EACAC,YAAA,EAEAC,mBAAA,EACAC,QAAA,EAEAkL,QAAA,EAEAjL,oBAAA,EAEAkL,gBAAA,GAEA/K,gBAAA,EAEAgL,cAAA,EAEA/K,cAAA,MAGAiO,EAAA,SAAA7oL,GAEA,QAAAvB,KAAA+mL,EACAr1L,KAAAsO,GAAA+mL,EAAA/mL,GAGA,GAAAuB,EACA,QAAAvB,KAAAuB,EACA7P,KAAAsO,GAAAuB,EAAAvB,GAIAtO,KAAA42L,OAAA,GACA52L,KAAA+2L,OAAA,GAEA/2L,KAAA24L,WAAA,EAEA34L,KAAA21L,aAAA,IAAAhuD,EAAA,MACAxnI,KAAA08J,EAAA,KAAAh4H,MACA/M,OAAA,EACAyJ,UAAAs7H,EAAA,KAAA/4H,QACArC,UAAAo7H,EAAA,KAAA/4H,WAIA40J,EAAAz4L,UAAAqoF,SAAA,SAAAotE,EAAA8yB,GAEA,IAAAoQ,EAAA,IAAAC,KAAA,CAAAP,IACAQ,EAAAnuL,OAAAouL,IAAAC,gBAAAJ,GAEA54L,KAAAi5L,QAAA,IAAAC,OAAAJ,GAEA94L,KAAAi5L,QAAAE,UAAAn5L,KAAAo5L,WAAAxwL,KAAA5I,MAEAA,KAAA42L,OAAAlhC,EACA11J,KAAA+2L,OAAAvO,EACAxoL,KAAAm/D,OAAA,EAYA,IAVA,IAAAw3H,EAAAjhC,EAAAnyJ,OACA81L,EAAA7Q,EAAAjlL,OAEAuoG,EAAA,IAAAtgE,aAAA,EAAAmrJ,GACA2C,EAAA,IAAA9tJ,aAAAmrJ,GACA4C,EAAA,IAAA/tJ,aAAAmrJ,GAEA6C,EAAA,IAAAhuJ,aAAA,EAAA6tJ,GACAI,EAAA,IAAAjuJ,aAAA6tJ,GAEAtuL,EAAA,EAAmBA,EAAA2qJ,EAAAnyJ,OAAkBwH,IAAA,CACrC,IAAAsS,EAAAq4I,EAAA3qJ,GAEA+gG,EAAA,EAAA/gG,GAAAsS,EAAArb,EACA8pG,EAAA,EAAA/gG,EAAA,GAAAsS,EAAApb,EAEAq3L,EAAAvuL,GAAA,MAAAsS,EAAAk2K,KAAA,EAAAl2K,EAAAk2K,KACAgG,EAAAxuL,GAAA,MAAAsS,EAAApC,KAAA,EAAAoC,EAAApC,KAGA,IAAAlQ,EAAA,EAAmBA,EAAAy9K,EAAAjlL,OAAkBwH,IAAA,CACrC,IAAA2S,EAAA8qK,EAAAz9K,GAEAkvB,EAAAvc,EAAAQ,MACA7H,EAAAqH,EAAAS,MAEAq7K,EAAA,EAAAzuL,GAAAkvB,EACAu/J,EAAA,EAAAzuL,EAAA,GAAAsL,EAEAojL,EAAA1uL,GAAA,MAAA2S,EAAAqvC,OAAA,EAAArvC,EAAAqvC,OAIA,IAAAkqI,EAAAvwL,KAAA0gE,KAAA1gE,KAAAk+C,KAAA8wG,EAAAnyJ,SACA2zL,EAAAD,EACArxJ,EAAA,IAAA4F,aAAAyrJ,EAAAC,EAAA,GACApD,EAAA9zL,KAAA21L,aACA7B,EAAAxxL,MAAA20L,EACAnD,EAAAvxL,OAAA20L,EACApD,EAAAluJ,SAEA5lC,KAAAi5L,QAAAS,YAAA,CACAC,IAAA,OACAC,cAAA9tF,EACA+tF,UAAAP,EACAQ,UAAAP,EACA/Q,MAAAgR,EACAO,YAAAN,IAGAz5L,KAAA02L,aAAA58K,KAGA4+K,EAAAz4L,UAAAyzL,aAAA,SAAA7jL,GACA,IAAAmqL,EAAA,GAEA,QAAA1rL,KAAA+mL,EACA2E,EAAA1rL,GAAA+mL,EAAA/mL,GAGA,IAAAonJ,EAAA11J,KAAA42L,OACApO,EAAAxoL,KAAA+2L,OAGAJ,EAAAjhC,EAAAnyJ,OAwBA,GAtBAy2L,EAAAzE,gBADAoB,EAAA,IACA,GAEAA,EAAA,IACA,EAGA,GAIAqD,EAAA1E,QADAqB,EAAA,IACA,EAGA,GAGAqD,EAAAxB,kBADA7B,EAAA,IAOA9mL,EACA,QAAAvB,KAAA+mL,EACA,MAAAxlL,EAAAvB,KACA0rL,EAAA1rL,GAAAuB,EAAAvB,IAKA,IAAA0rL,EAAAvP,cAAA,CAGA,IAFA,IAAAvjL,EAAA,CAAA4S,SACA3S,EAAA,EAAA2S,UACA/O,EAAA,EAAuBA,EAAA2qJ,EAAAnyJ,OAAkBwH,IACzC7D,EAAA,GAAAR,KAAAQ,IAAAwuJ,EAAA3qJ,GAAA/I,EAAAkF,EAAA,IACAA,EAAA,GAAAR,KAAAQ,IAAAwuJ,EAAA3qJ,GAAA9I,EAAAiF,EAAA,IACAC,EAAA,GAAAT,KAAAS,IAAAuuJ,EAAA3qJ,GAAA/I,EAAAmF,EAAA,IACAA,EAAA,GAAAT,KAAAS,IAAAuuJ,EAAA3qJ,GAAA9I,EAAAkF,EAAA,IAGA6yL,EAAAvP,cAAA,KAAAvjL,EAAA,GAAAC,EAAA,QAAAD,EAAA,GAAAC,EAAA,KAIA,IAAA4D,EAAA,EAAmBA,EAAAy9K,EAAAjlL,OAAkBwH,IAAA,CACrC,IAAAmT,EAAAsqK,EAAAz9K,GAAAmT,MACAC,EAAAqqK,EAAAz9K,GAAAoT,MAEAu3I,EAAAx3I,GAAAuvK,QAAA/3B,EAAAx3I,GAAAuvK,QAAA,KACA/3B,EAAAv3I,GAAAsvK,QAAA/3B,EAAAv3I,GAAAsvK,QAAA,KAGAztL,KAAAi5L,SACAj5L,KAAAi5L,QAAAS,YAAA,CACAC,IAAA,eACAK,YAMAtB,EAAAz4L,UAAAssB,OAAA,SAAA6K,EAAA2yJ,EAAAh0J,GACA,MAAAg0J,IACAA,EAAA,GAEAA,EAAArjL,KAAAS,IAAA4iL,EAAA,GAEA/pL,KAAAm/D,QAAA4qH,EACA/pL,KAAAi6L,UAAAlkK,EAEA/1B,KAAAi5L,SACAj5L,KAAAi5L,QAAAS,YAAA,CACAC,IAAA,SACA5P,MAAArjL,KAAAwT,MAAA6vK,MAKA2O,EAAAz4L,UAAAm5L,WAAA,SAAAjjL,GAEA,IAAAnW,KAAA24L,UAAA,CAIA,IAAA7sF,EAAA,IAAAtgE,aAAAr1B,EAAA5K,KAAA/B,QACAxJ,KAAA02L,aAAAvgL,EAAA5K,KAAA2uL,YAEAl6L,KAAAi4L,aAAAnsF,EAEA9rG,KAAAm6L,eAAAruF,GAEA9rG,KAAAi6L,WAAAj6L,KAAAi6L,cAGAvB,EAAAz4L,UAAA8zL,uBAAA,WACA,OAAA/zL,KAAA21L,cAGA+C,EAAAz4L,UAAAsyL,UAAA,SAAAyF,EAAA7yF,GACAA,KAAA,GACA,IAAA8xF,EAAAj3L,KAAA21L,aAAArzL,MACA40L,EAAAl3L,KAAA21L,aAAApzL,OAGA,OAFA4iG,EAAA,GAAA6yF,EAAAf,KAAA,GACA9xF,EAAA,GAAAz+F,KAAAmK,MAAAmnL,EAAAf,IAAAC,EAAA,GACA/xF,GAGAuzF,EAAAz4L,UAAAu3L,SAAA,WACA,OAAAx3L,KAAA42L,QAEA8B,EAAAz4L,UAAA0zL,SAAA,WACA,OAAA3zL,KAAA+2L,QAEA2B,EAAAz4L,UAAA6/D,WAAA,SAAAkqH,GACA,OAAAhqL,KAAAm/D,OAAA6qH,GAGA0O,EAAAz4L,UAAAq0L,gBAAA,SAAAl9J,EAAAiI,GAIA,GAHAA,IACAA,EAAA,IAAAmM,aAAA,EAAAxrC,KAAA42L,OAAArzL,SAEAvD,KAAAi4L,aACA,QAAAltL,EAAA,EAAuBA,EAAA/K,KAAAi4L,aAAA10L,OAA8BwH,IACrDs0B,EAAAt0B,GAAA/K,KAAAi4L,aAAAltL,GAGA,OAAAs0B,GAGAq5J,EAAAz4L,UAAAk6L,eAAA,SAAAruF,GAGA,IAFA,IAAAlmE,EAAA5lC,KAAA21L,aAAA/vJ,OACAmgB,EAAA,EACAh7C,EAAA,EAAmBA,EAAA+gG,EAAAvoG,QACnBqiC,EAAAmgB,KAAA+lD,EAAA/gG,KACA66B,EAAAmgB,KAAA+lD,EAAA/gG,KACA66B,EAAAmgB,KAAA,EACAngB,EAAAmgB,KAAA,EAEA/lD,KAAA21L,aAAAhxK,SAGA+zK,EAAAz4L,UAAA6V,QAAA,SAAAshB,GACAp3B,KAAA24L,WAAA,EACA34L,KAAAi5L,QAAA,MAGA/qK,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aAKA,SAAAu7L,IACA,IAAA5+K,EAAA,CACAszB,OAAA,WACA,WAAAtD,aAAA,IAEA7N,KAAA,SAAAp1B,EAAAC,GACA,IAAAxG,EAAAwG,EAAA,GAAAD,EAAA,GACAtG,EAAAuG,EAAA,GAAAD,EAAA,GACA,OAAA7B,KAAAk+C,KAAA5iD,IAAAC,MAEAwK,IAAA,SAAAlE,GACA,IAAAvG,EAAAuG,EAAA,GACAtG,EAAAsG,EAAA,GACA,OAAA7B,KAAAk+C,KAAA5iD,IAAAC,MAEAqc,YAAA,SAAA+gB,EAAA92B,EAAAC,EAAAuP,GAGA,OAFAsnB,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GAAAuP,EACAsnB,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GAAAuP,EACAsnB,GAEAtnB,MAAA,SAAAsnB,EAAA92B,EAAAC,GAGA,OAFA62B,EAAA,GAAA92B,EAAA,GAAAC,EACA62B,EAAA,GAAA92B,EAAA,GAAAC,EACA62B,GAEA9B,IAAA,SAAA8B,EAAA92B,EAAAC,GAGA,OAFA62B,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GACA62B,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GACA62B,GAEAjhB,IAAA,SAAAihB,EAAA92B,EAAAC,GAGA,OAFA62B,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GACA62B,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GACA62B,GAEAhhB,UAAA,SAAAghB,EAAA92B,GACA,IAAAvG,EAAAuG,EAAA,GACAtG,EAAAsG,EAAA,GACAkE,EAAAzK,IAAAC,IAOA,OANAwK,EAAA,IAEAA,EAAA,EAAA/F,KAAAk+C,KAAAn4C,GACA4yB,EAAA,GAAA92B,EAAA,GAAAkE,EACA4yB,EAAA,GAAA92B,EAAA,GAAAkE,GAEA4yB,GAEAnB,OAAA,SAAAmB,EAAA92B,GAGA,OAFA82B,EAAA,IAAA92B,EAAA,GACA82B,EAAA,IAAA92B,EAAA,GACA82B,GAEAjmB,KAAA,SAAAimB,EAAA92B,GAGA,OAFA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,GAEAjM,IAAA,SAAAiM,EAAAr9B,EAAAC,GAGA,OAFAo9B,EAAA,GAAAr9B,EACAq9B,EAAA,GAAAp9B,EACAo9B,IAQA,SAAA1f,IAEA3f,KAAAq6L,WAAA,GAEAr6L,KAAAs6L,YAAA,EAEAt6L,KAAAqd,KAAA,KAEArd,KAAAuzL,KAAA,EAEAvzL,KAAAu6L,aAAA,KAEAv6L,KAAAyf,KAAA,IAAA+rB,aAAA,GAEAxrC,KAAAib,KAAA,EAGA,IAAAu/K,EAAA76K,EAAA1f,UAyHA,SAAAw6L,IACAz6L,KAAAsG,SAAA,IAAAklC,aAAA,GAEAxrC,KAAA65F,MAAAr+E,EAAAszB,SACA9uC,KAAA06L,UAAAl/K,EAAAszB,SAMA9uC,KAAAuzL,KAAA,EAEAvzL,KAAA0tL,SAAA,EACA1tL,KAAA2tL,UAAA,EASA,SAAAgN,EAAA1gK,EAAA5jB,GACArW,KAAAi6B,SACAj6B,KAAAqW,SAEArW,KAAA+sD,OAAA,EAMA,SAAA2rI,IAYA14L,KAAA46L,cAAA,EAIA56L,KAAAw4L,mBAAA,EACAx4L,KAAAy4L,eAAA,IAGAz4L,KAAAiqL,mBAAA,EAEAjqL,KAAAkqL,YAAA,EAEAlqL,KAAAmqL,mBAAA,EACAnqL,KAAAoqL,QAAA,EAEApqL,KAAAs1L,QAAA,EAEAt1L,KAAAqqL,oBAAA,EACArqL,KAAAu1L,gBAAA,GAGAv1L,KAAAwqL,gBAAA,EACAxqL,KAAAw1L,cAAA,EAGAx1L,KAAA66L,WAAA,IAAAl7K,EACA3f,KAAA66L,WAAAN,aAAA/+K,EAAAszB,SAEA9uC,KAAA01J,MAAA,GAEA11J,KAAAwoL,MAAA,GAEAxoL,KAAAyf,KAAA,IAAA+rB,aAAA,GAEAxrC,KAAAyqL,cAAA,KAEAzqL,KAAA86L,SAAA,KAEA96L,KAAA+6L,aAAA,KAEA/6L,KAAAg7L,SAAA,KAEAh7L,KAAA02L,aAAA,EA5MA8D,EAAAS,aAAA,WACA,QAAAlwL,EAAA,EAAuBA,EAAA/K,KAAAs6L,YAAsBvvL,IAC7C/K,KAAAq6L,WAAAtvL,GAAAkwL,eAEAj7L,KAAAuzL,KAAA,EACAvzL,KAAAu6L,eACAv6L,KAAAu6L,aAAA,KACAv6L,KAAAu6L,aAAA,MAEAv6L,KAAAs6L,YAAA,EACAt6L,KAAAqd,KAAA,MAGAm9K,EAAAU,YAAA,WACAl7L,KAAAq6L,WAAA92L,OAAAvD,KAAAs6L,YACA,QAAAvvL,EAAA,EAAuBA,EAAA/K,KAAAs6L,YAAsBvvL,IAC7C/K,KAAAq6L,WAAAtvL,GAAAmwL,eAIAV,EAAAtnC,QAAA,SAAA71I,GACA,OAAArd,KAAAs6L,YAAA,CACA,SAAAt6L,KAAAqd,KAEA,YADArd,KAAAqd,QAKArd,KAAAm7L,oBAAAn7L,KAAAqd,MACArd,KAAAqd,KAAA,KAGArd,KAAAm7L,oBAAA99K,GAEArd,KAAAo7L,oBAAA/9K,IAGAm9K,EAAAa,cAAA,SAAAr5L,EAAAC,GACA,QAAA8I,EAAA,EAAuBA,EAAA/K,KAAAs6L,YAAsBvvL,IAAA,CAC7C,IAAA61F,EAAA5gG,KAAAq6L,WAAAtvL,GACA,GAAA61F,EAAAtgF,QAAAte,EAAAC,GACA,OAAA2+F,IAKA45F,EAAAl6K,QAAA,SAAAte,EAAAC,GACA,OAAAjC,KAAAyf,KAAA,IAAAzd,GACAhC,KAAAyf,KAAA,IAAAzd,GACAhC,KAAAyf,KAAA,IAAAxd,GACAjC,KAAAyf,KAAA,IAAAxd,GAGAu4L,EAAAc,QAAA,SAAA35B,EAAAC,EAAAzrD,EAAAC,GAEAp2G,KAAAyf,KAAA,GAAAkiJ,EACA3hK,KAAAyf,KAAA,GAAAmiJ,EAEA5hK,KAAAyf,KAAA,GAAA02F,EACAn2G,KAAAyf,KAAA,GAAA22F,EAEAp2G,KAAAib,MAAAk7F,EAAAwrD,EAAAvrD,EAAAwrD,GAAA,GAGA44B,EAAAe,cAAA,WACA,IAAAC,EAAAx7L,KAAAq6L,WAAAr6L,KAAAs6L,aAMA,OALAkB,IACAA,EAAA,IAAA77K,EACA3f,KAAAq6L,WAAAr6L,KAAAs6L,aAAAkB,GAEAx7L,KAAAs6L,cACAkB,GAGAhB,EAAAW,oBAAA,SAAA99K,GACA,IAAAm+K,EAAAx7L,KAAAq7L,cAAAh+K,EAAA/W,SAAA,GAAA+W,EAAA/W,SAAA,IACAmZ,EAAAzf,KAAAyf,KACA,IAAA+7K,EAAA,CACA,IAAA/8K,GAAAgB,EAAA,GAAAA,EAAA,MACAf,GAAAe,EAAA,GAAAA,EAAA,MACApd,GAAAod,EAAA,GAAAA,EAAA,MACAsB,GAAAtB,EAAA,GAAAA,EAAA,MAEAg8K,EAAAp+K,EAAA/W,SAAA,IAAAmY,EAAA,IACAi9K,EAAAr+K,EAAA/W,SAAA,IAAAoY,EAAA,IAEA88K,EAAAx7L,KAAAu7L,gBAEAC,EAAAF,QAEAG,EAAAp5L,EAAAod,EAAA,GACAi8K,EAAA36K,EAAAtB,EAAA,IAEAg8K,EAAA,GAAAp5L,EAAAod,EAAA,IACAi8K,EAAA,GAAA36K,EAAAtB,EAAA,IAIA+7K,EAAAtoC,QAAA71I,IAGAm9K,EAAAY,oBAAA,SAAA/9K,GAEA,MAAArd,KAAAu6L,eACAv6L,KAAAu6L,aAAA,IAAA/uJ,aAAA,IAEA,IAAAxpC,EAAAhC,KAAAu6L,aAAA,GAAAv6L,KAAAuzL,KACAtxL,EAAAjC,KAAAu6L,aAAA,GAAAv6L,KAAAuzL,KACAvxL,GAAAqb,EAAA/W,SAAA,GAAA+W,EAAAk2K,KACAtxL,GAAAob,EAAA/W,SAAA,GAAA+W,EAAAk2K,KACAvzL,KAAAuzL,MAAAl2K,EAAAk2K,KACAvzL,KAAAu6L,aAAA,GAAAv4L,EAAAhC,KAAAuzL,KACAvzL,KAAAu6L,aAAA,GAAAt4L,EAAAjC,KAAAuzL,MA+FA,IAAAoI,EAAAjD,EAAAz4L,UAEA07L,EAAAC,UAAA,SAAA9vF,EAAAwtF,EAAAC,GACA,IAAA5C,EAAA2C,EAAA/1L,OACAvD,KAAA01J,MAAAnyJ,OAAA,EAEA,IADA,IAAAs4L,EAAA,sBACA9wL,EAAA,EAAuBA,EAAA4rL,EAAY5rL,IAAA,CACnC,IAAAsS,EAAA,IAAAo9K,EACAp9K,EAAA/W,SAAA,GAAAwlG,EAAA,EAAA/gG,GACAsS,EAAA/W,SAAA,GAAAwlG,EAAA,EAAA/gG,EAAA,GACAsS,EAAAk2K,KAAA+F,EAAAvuL,GACA8wL,IACAx+K,EAAApC,KAAAs+K,EAAAxuL,IAEA/K,KAAA01J,MAAA/iJ,KAAA0K,GAGArd,KAAA86L,SAAAxB,EACAt5L,KAAA+6L,aAAA,IAAAvvJ,aAAAmrJ,GAEAkF,IACA77L,KAAAg7L,SAAAzB,IAIAoC,EAAAG,UAAA,SAAAtC,EAAAC,GACA,IAAAJ,EAAAG,EAAAj2L,OAAA,EACAvD,KAAAwoL,MAAAjlL,OAAA,EACA,QAAAwH,EAAA,EAAuBA,EAAAsuL,EAAYtuL,IAAA,CACnC,IAAAgxL,EAAAvC,EAAA,EAAAzuL,GACAixL,EAAAxC,EAAA,EAAAzuL,EAAA,GACA8qE,EAAA71E,KAAA01J,MAAAqmC,GACAjmH,EAAA91E,KAAA01J,MAAAsmC,GAEA,IAAAnmH,IAAAC,EAEA,YADA19C,QAAA+B,MAAA,mDAGA07C,EAAA83G,YACA73G,EAAA43G,WACA,IAAAhwK,EAAA,IAAAi9K,EAAA9kH,EAAAC,GAEA2jH,IACA/7K,EAAAqvC,OAAA0sI,EAAA1uL,IAGA/K,KAAAwoL,MAAA71K,KAAA+K,KAIAi+K,EAAAM,eAAA,WACA,GAAAj8L,KAAAiqL,kBACA,QAAAl/K,EAAA,EAA2BA,EAAA/K,KAAA01J,MAAAnyJ,OAAuBwH,IAAA,CAClD,IAAAsS,EAAArd,KAAA01J,MAAA3qJ,GACAsS,EAAAk2K,KAAAl2K,EAAAqwK,SAAArwK,EAAAswK,UAAA,OAIA,IAAA5iL,EAAA,EAA2BA,EAAA/K,KAAA01J,MAAAnyJ,OAAuBwH,IAAA,CAClDsS,EAAArd,KAAA01J,MAAA3qJ,GACAsS,EAAAk2K,KAAAvzL,KAAA86L,SAAA/vL,KAKA4wL,EAAApvK,OAAA,WACA,IAAAoqK,EAAA32L,KAAA01J,MAAAnyJ,OAOA,GALAvD,KAAAi8L,iBAEAj8L,KAAAk8L,aAGAl8L,KAAAw4L,kBAAA,CACAx4L,KAAA66L,WAAAS,QACAt7L,KAAAyf,KAAA,GAAAzf,KAAAyf,KAAA,GACAzf,KAAAyf,KAAA,GAAAzf,KAAAyf,KAAA,IAGAzf,KAAA66L,WAAAI,eACA,QAAAlwL,EAAA,EAA2BA,EAAA4rL,EAAY5rL,IACvC/K,KAAA66L,WAAA3nC,QAAAlzJ,KAAA01J,MAAA3qJ,IAEA/K,KAAA66L,WAAAK,cAIA,IAAAnwL,EAAA,EAAuBA,EAAA4rL,EAAY5rL,IAAA,CACnC,IAAAsS,EAAArd,KAAA01J,MAAA3qJ,GACAyQ,EAAApC,KAAAiE,EAAAq9K,UAAAr9K,EAAAw8E,OACAr+E,EAAA4X,IAAA/V,EAAAw8E,MAAA,KAKA,IAAA9uF,EAAA,EAAuBA,EAAA4rL,EAAY5rL,IAAA,CACnC,IAAAoxL,EAAAn8L,KAAA01J,MAAA3qJ,GACA,GAAA/K,KAAAw4L,kBACAx4L,KAAAo8L,2BAAAp8L,KAAA66L,WAAAsB,QAGA,QAAAzrL,EAAA3F,EAAA,EAAmC2F,EAAAimL,EAAYjmL,IAAA,CAC/C,IAAA2rL,EAAAr8L,KAAA01J,MAAAhlJ,GACA1Q,KAAAs8L,yBAAAH,EAAAE,GAAA,GAKAr8L,KAAAoqL,QAAA,IACApqL,KAAAmqL,kBACAnqL,KAAAu8L,uBAAAJ,GAGAn8L,KAAAw8L,iBAAAL,IAMA,IAAApxL,EAAA,EAAuBA,EAAA/K,KAAAwoL,MAAAjlL,OAAuBwH,IAC9C/K,KAAAy8L,oBAAAz8L,KAAAwoL,MAAAz9K,IAIA,IAAA2xL,EAAA,EACAC,EAAA,EACAxsI,EAAA30C,EAAAszB,SACA,IAAA/jC,EAAA,EAAuBA,EAAA4rL,EAAY5rL,IAAA,CACnCsS,EAAArd,KAAA01J,MAAA3qJ,GAAA,IACA6xL,EAAAphL,EAAAmiB,KAAAtgB,EAAAw8E,MAAAx8E,EAAAq9K,WACAgC,GAAAE,EAAAv/K,EAAAk2K,KAEA/3K,EAAA+hB,IAAA4yB,EAAA9yC,EAAAw8E,MAAAx8E,EAAAq9K,WACA,IAAAmC,EAAA,GAAArhL,EAAA/O,IAAA0jD,GACAwsI,GAAAE,EAAAx/K,EAAAk2K,KAGAvzL,KAAA+6L,aAAAhwL,GAAA6xL,EAEA,IAAA1C,EAAAl6L,KAAAu1L,gBAAAv1L,KAAAu1L,gBACAoH,EAAAD,EAGA18L,KAAA02L,aAAA,IACAwD,EAAAxzL,KAAAQ,IAAAgzL,EAAAl6L,KAAA02L,aAAA,KAAA12L,KAAA02L,cAEA12L,KAAA02L,aAAAwD,EAGA,IAAAnvL,EAAA,EAAuBA,EAAA4rL,EAAY5rL,IAAA,CACnCsS,EAAArd,KAAA01J,MAAA3qJ,GACA6xL,EAAA58L,KAAA+6L,aAAAhwL,GADA,IAGAi2E,EAAA,GAAAk5G,GAAA,EAAAA,EAAAxzL,KAAAk+C,KAAAg4I,IAGAE,EAAAthL,EAAA/O,IAAA4Q,EAAAw8E,OACAijG,EAAA,IACA97G,EAAAt6E,KAAAQ,IAAA41L,EAAA97G,EAAA,IAAA87G,EACAthL,EAAA8C,YAAAjB,EAAA/W,SAAA+W,EAAA/W,SAAA+W,EAAAw8E,MAAA7Y,MAKA26G,EAAAS,2BAAA,WACA,IAAAj/K,EAAA3B,EAAAszB,SACA,gBAAA8xD,EAAAvjF,GACA,GAAAujF,EAAAvjF,KACArd,KAAAs8L,yBAAA17F,EAAAvjF,QAAA,OAEA,CACA7B,EAAA4C,IAAAjB,EAAAE,EAAA/W,SAAAs6F,EAAA25F,cACA,IAAAplG,EAAAh4E,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GACA,GAAAg4E,EAAAn1F,KAAAy4L,eAAA73F,EAAA3lF,KAAA2lF,EAAA3lF,KAAA,CACA,IAAAnD,EAAA9X,KAAAs1L,QAAAj4K,EAAAk2K,KAAA3yF,EAAA2yF,KAAAp+F,EACA35E,EAAA8C,YAAAjB,EAAAw8E,MAAAx8E,EAAAw8E,MAAA18E,EAAArF,QAGA,QAAA/M,EAAA,EAAmCA,EAAA61F,EAAA05F,YAAwBvvL,IAC3D/K,KAAAo8L,2BAAAx7F,EAAAy5F,WAAAtvL,GAAAsS,KAfA,GAsBAs+K,EAAAW,yBAAA,WACA,IAAAn/K,EAAA3B,EAAAszB,SACA,gBAAAqtJ,EAAAE,EAAAU,GACA,GAAAZ,GAAAE,EAAA,CAGA7gL,EAAA4C,IAAAjB,EAAAg/K,EAAA71L,SAAA+1L,EAAA/1L,UACA,IAAA6uF,EAAAh4E,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAGA,OAAAg4E,EAAA,CAIA,IAAAr9E,EACA,GAAA9X,KAAAwqL,eAAA,CACA,IAAAhuK,EAAA9V,KAAAk+C,KAAAuwC,GAEA,GADA34E,IAAA2/K,EAAAlhL,KAAAohL,EAAAphL,KACAuB,EAAA,EACA1E,EAAA9X,KAAAs1L,QAAA6G,EAAA5I,KAAA8I,EAAA9I,MAAA/2K,SAEA,MAAAA,EAAA,GAMA,OAJA1E,EAAA,IAAA9X,KAAAs1L,QAAA6G,EAAA5I,KAAA8I,EAAA9I,WASAz7K,EAAA9X,KAAAs1L,QAAA6G,EAAA5I,KAAA8I,EAAA9I,KAAAp+F,EAGA35E,EAAA8C,YAAA69K,EAAAtiG,MAAAsiG,EAAAtiG,MAAA18E,EAAArF,GACA0D,EAAA8C,YAAA+9K,EAAAxiG,MAAAwiG,EAAAxiG,MAAA18E,GAAArF,MApCA,GAwCA6jL,EAAAc,oBAAA,WACA,IAAAt/K,EAAA3B,EAAAszB,SACA,gBAAApxB,GACA,IAAAy+K,EAAAz+K,EAAAuc,OACAoiK,EAAA3+K,EAAArH,OAEAmF,EAAA4C,IAAAjB,EAAAg/K,EAAA71L,SAAA+1L,EAAA/1L,UACA,IAEAjE,EAWAyV,EAbA0E,EAAAhB,EAAA/O,IAAA0Q,GAIA9a,EADA,IAAArC,KAAAqqL,oBACA,EAEA,IAAArqL,KAAAqqL,oBACA3sK,EAAAqvC,OAGArmD,KAAA2uB,IAAA3X,EAAAqvC,OAAA/sD,KAAAqqL,qBAKArqL,KAAAwqL,iBACAhuK,IAAA2/K,EAAAlhL,KAAAohL,EAAAphL,KACAuB,GAAA,KAQA1E,EAFA9X,KAAAkqL,YAEA7nL,EAAAqE,KAAA4uB,IAAA9Y,EAAA,IAAAA,EAAA,IAGAna,EAEAmZ,EAAA8C,YAAA69K,EAAAtiG,MAAAsiG,EAAAtiG,MAAA18E,EAAArF,GACA0D,EAAA8C,YAAA+9K,EAAAxiG,MAAAwiG,EAAAxiG,MAAA18E,GAAArF,KAtCA,GA0CA6jL,EAAAa,iBAAA,WACA,IAAAr/K,EAAA3B,EAAAszB,SACA,gBAAAzxB,GACA7B,EAAA4C,IAAAjB,EAAAnd,KAAAyqL,cAAAptK,EAAA/W,UACA,IAAAkW,EAAAhB,EAAA/O,IAAA0Q,GACA3B,EAAA8C,YAAAjB,EAAAw8E,MAAAx8E,EAAAw8E,MAAA18E,EAAAnd,KAAAoqL,QAAA/sK,EAAAk2K,MAAA/2K,EAAA,KALA,GASAm/K,EAAAY,uBAAA,WACA,IAAAp/K,EAAA3B,EAAAszB,SACA,gBAAAzxB,GACA7B,EAAA4C,IAAAjB,EAAAnd,KAAAyqL,cAAAptK,EAAA/W,UACAkV,EAAA8C,YAAAjB,EAAAw8E,MAAAx8E,EAAAw8E,MAAA18E,EAAAnd,KAAAoqL,QAAA/sK,EAAAk2K,OAJA,GAQAoI,EAAAO,WAAA,WAKA,IAJA,IAAAv6B,EAAA7nJ,IACA8nJ,EAAA9nJ,IACAq8F,GAAAr8F,IACAs8F,GAAAt8F,IACA/O,EAAA,EAAuBA,EAAA/K,KAAA01J,MAAAnyJ,OAAuBwH,IAAA,CAC9C,IAAA+1F,EAAA9gG,KAAA01J,MAAA3qJ,GAAAzE,SACAq7J,EAAAj7J,KAAAQ,IAAAy6J,EAAA7gE,EAAA,IACA8gE,EAAAl7J,KAAAQ,IAAA06J,EAAA9gE,EAAA,IACAqV,EAAAzvG,KAAAS,IAAAgvG,EAAArV,EAAA,IACAsV,EAAA1vG,KAAAS,IAAAivG,EAAAtV,EAAA,IAEA9gG,KAAAyf,KAAA,GAAAkiJ,EACA3hK,KAAAyf,KAAA,GAAAmiJ,EACA5hK,KAAAyf,KAAA,GAAA02F,EACAn2G,KAAAyf,KAAA,GAAA22F,GAGAulF,EAAAqB,eAAA,WACA,OAAAh9L,KAAA02L,cAOA,IAAA9M,EAAA,KAEAliJ,KAAAyxJ,UAAA,SAAAhjL,GACA,OAAAA,EAAA5K,KAAAouL,KACA,WACA/P,EAAA,IAAA8O,EACA9O,EAAAgS,UAAAzlL,EAAA5K,KAAAquL,cAAAzjL,EAAA5K,KAAAsuL,UAAA1jL,EAAA5K,KAAAuuL,WACAlQ,EAAAkS,UAAA3lL,EAAA5K,KAAAi9K,MAAAryK,EAAA5K,KAAAwuL,aACA,MACA,mBACA,GAAAnQ,EACA,QAAAt7K,KAAA6H,EAAA5K,KAAAyuL,OACApQ,EAAAt7K,GAAA6H,EAAA5K,KAAAyuL,OAAA1rL,GAGA,MACA,aACA,IAAAy7K,EAAA5zK,EAAA5K,KAAAw+K,MACA,GAAAH,EAAA,CACA,QAAA7+K,EAAA,EAAmCA,EAAAg/K,EAAWh/K,IAC9C6+K,EAAAr9J,SAGA,IAAAoqK,EAAA/M,EAAAl0B,MAAAnyJ,OACAuoG,EAAA,IAAAtgE,aAAA,EAAAmrJ,GAEA,IAAA5rL,EAAA,EAAmCA,EAAA4rL,EAAY5rL,IAAA,CAC/C,IAAAsS,EAAAusK,EAAAl0B,MAAA3qJ,GACA+gG,EAAA,EAAA/gG,GAAAsS,EAAA/W,SAAA,GACAwlG,EAAA,EAAA/gG,EAAA,GAAAsS,EAAA/W,SAAA,GAEAohC,KAAAgyJ,YAAA,CACAlwL,OAAAsiG,EAAAtiG,OACA0wL,YAAAtQ,EAAAoT,kBACqB,CAAAlxF,EAAAtiG,aAErB,CAEA,IAAAyzL,EAAA,IAAAzxJ,aAEA9D,KAAAgyJ,YAAA,CACAlwL,OAAAyzL,EAAAzzL,OACA0wL,YAAAtQ,EAAAoT,kBACqB,CAAAC,EAAAzzL,SAErB,QAKA0kB,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA+8E,EAAA/8E,EAAA,GASAq+L,GARAr+L,EAAA,GAQA+8E,EAAA,KAAAl3E,OAAA,WAEA,OAIAyP,GAAA,KAKA+6D,OAAA,KAEAiuH,QAAA,GAEAC,QAAA,EAEA3gH,cAAA,EAEA4gH,IAAA,EACAC,IAAA,EAEAC,MAAA,IAEC,WAEDv9L,KAAAs9E,kBAAAt9E,KAAAs9E,kBAAA10E,KAAA5I,MACAA,KAAAw9E,mBAAAx9E,KAAAw9E,mBAAA50E,KAAA5I,MACAA,KAAA+9E,kBAAA/9E,KAAA+9E,kBAAAn1E,KAAA5I,MACAA,KAAAu9E,gBAAAv9E,KAAAu9E,gBAAA30E,KAAA5I,MACAA,KAAA29E,QAAA39E,KAAA29E,QAAA/0E,KAAA5I,OACC,CAEDkjB,KAAA,WACA,IAAA/O,EAAAnU,KAAAmU,GAEAA,EAAAyB,GAAA,YAAA5V,KAAAs9E,mBACAnpE,EAAAyB,GAAA,aAAA5V,KAAAw9E,oBACArpE,EAAAyB,GAAA,YAAA5V,KAAAu9E,iBAEAppE,EAAAupE,UAAA9nE,GAAA,QAAA5V,KAAA29E,UAGA+zG,UAAA,SAAAr7K,GACArW,KAAAkwI,QAAA75H,GAGAq4J,QAAA,SAAA1sD,GACAhiH,KAAAu9L,MAAA72L,KAAAS,IAAAT,KAAAQ,IACA86G,EAAAhiH,KAAAo9L,SACAp9L,KAAAm9L,SACAn9L,KAAAy8E,cAAA,GAGAu1G,UAAA,SAAAjsI,GACA/lD,KAAAq9L,IAAAt3I,EAAA,GACA/lD,KAAAs9L,IAAAv3I,EAAA,GAEA/lD,KAAAy8E,cAAA,GAGAsoC,QAAA,WACA,OAAA/kH,KAAAu9L,OAGAxL,UAAA,WACA,OAAA/xL,KAAAq9L,IAAAr9L,KAAAs9L,MAGA3/G,QAAA,WACA,GAAA39E,KAAAkwI,SAGAlwI,KAAAy8E,aAAA,CAIA,IAAApmE,EAAArW,KAAAkwI,QAEAn4H,EAAA/X,KAAAu9L,MAEAlnL,EAAA/P,SAAAtE,EAAAhC,KAAAq9L,IACAhnL,EAAA/P,SAAArE,EAAAjC,KAAAs9L,IAEAjnL,EAAA0B,MAAAqb,IAAArb,OAEA/X,KAAAmU,GAAAgf,UAEAnzB,KAAAy8E,cAAA,EAEAz8E,KAAAoX,QAAA,YAGAkmE,kBAAA,SAAAnnE,GACA,IAAAA,EAAAE,OAAA,CAIA,IAAArU,EAAAmU,EAAAI,QACAtU,EAAAkU,EAAAK,QACA,IAAAxW,KAAAkvE,QAAAlvE,KAAAkvE,OAAAva,aAAA3yD,EAAAC,GAAA,CAIAjC,KAAAmU,GAAAyB,GAAA,YAAA5V,KAAA+9E,mBACA/9E,KAAAmU,GAAAyB,GAAA,UAAA5V,KAAAu9E,iBAEA,IAAAujB,EAAA9gG,KAAAw9L,YAAAx7L,EAAAC,GAEAjC,KAAAyW,GAAAqqF,EAAA9+F,EACAhC,KAAA0W,GAAAoqF,EAAA7+F,KAIAu7L,YAAA,SAAAx7L,EAAAC,GAEA,IAAAqwD,EAAAtyD,KAAAkvE,OAAA5c,OACA5f,EAAA1yC,KAAAkvE,OAAAx8B,SAEA,OACA1wC,KAAA0wC,EAAA1wC,GAAA0wC,EAAApwC,OAAAgwD,EAAA/iB,MAAA+iB,EAAAhjB,MAAAgjB,EAAAhjB,KACArtC,KAAAywC,EAAAzwC,GAAAywC,EAAAnwC,QAAA+vD,EAAA9iB,OAAA8iB,EAAA7iB,KAAA6iB,EAAA7iB,MAIAsuC,kBAAA,SAAA5nE,GAEA,IAAA2qF,EAAA9gG,KAAAw9L,YAAArnL,EAAAI,QAAAJ,EAAAK,SAEAxW,KAAAq9L,KAAAv8F,EAAA9+F,EAAAhC,KAAAyW,GACAzW,KAAAs9L,KAAAx8F,EAAA7+F,EAAAjC,KAAA0W,GAEA1W,KAAAyW,GAAAqqF,EAAA9+F,EACAhC,KAAA0W,GAAAoqF,EAAA7+F,EAEAjC,KAAAy8E,cAAA,GAGAc,gBAAA,SAAApnE,GACAnW,KAAAmU,GAAA0B,IAAA,YAAA7V,KAAA+9E,mBACA/9E,KAAAmU,GAAA0B,IAAA,UAAA7V,KAAAu9E,kBAGAC,mBAAA,SAAArnE,GACAA,IAAAgB,MACA,IAAArQ,EAAAqP,EAAAsB,aACAtB,EAAAorE,OACA,OAAAz6E,EAAA,CAIA,IAAA9E,EAAAmU,EAAAI,QACAtU,EAAAkU,EAAAK,QACA,IAAAxW,KAAAkvE,QAAAlvE,KAAAkvE,OAAAva,aAAA3yD,EAAAC,GAAA,CAIA,IAAAolL,EAAAvgL,EAAA,SACA22L,EAAA/2L,KAAAS,IAAAT,KAAAQ,IACAlH,KAAAu9L,MAAAlW,EAAArnL,KAAAo9L,SACAp9L,KAAAm9L,SACA9V,EAAAoW,EAAAz9L,KAAAu9L,MAEA,IAAAz8F,EAAA9gG,KAAAw9L,YAAAx7L,EAAAC,GAEAy7L,GAAA58F,EAAA9+F,EAAAhC,KAAAq9L,MAAAhW,EAAA,GACAsW,GAAA78F,EAAA7+F,EAAAjC,KAAAs9L,MAAAjW,EAAA,GAEArnL,KAAAq9L,KAAAK,EACA19L,KAAAs9L,KAAAK,EAEA39L,KAAAu9L,MAAAE,EAEAz9L,KAAAy8E,cAAA,KAGA3mE,QAAA,WAEA,IAAA3B,EAAAnU,KAAAmU,GACAA,EAAA0B,IAAA,YAAA7V,KAAAs9E,mBACAnpE,EAAA0B,IAAA,YAAA7V,KAAA+9E,mBACA5pE,EAAA0B,IAAA,UAAA7V,KAAAu9E,iBACAppE,EAAA0B,IAAA,aAAA7V,KAAAw9E,oBACArpE,EAAA0B,IAAA,YAAA7V,KAAAu9E,iBAEAppE,EAAAupE,UAAA7nE,IAAA,QAAA7V,KAAA29E,aAIAzvD,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,i5CAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACAA,EAAAgvB,EAAA8O,GACA99B,EAAA,KACAA,EAAA,MASA,SAAA6D,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAiiE,EAAA//F,EAAA,GACA6gJ,EAAA7gJ,EAAA,GACAg/G,EAAAh/G,EAAA,IACA++L,EAAA/+L,EAAA,KAUA+9B,EAAAr0B,EAAAitK,gBAAA,CAEAr1K,KAAA,SAEAsmH,UAAA,EAEAvjG,KAAA,SAAA3I,EAAAxV,GACA/E,KAAAkvE,OAAA,IAAA2uC,EAAA,qBACA79G,KAAA8mH,QAAA,IAAAloB,EAAA,KAAAtrE,KACAtzB,KAAAkvE,OAAA3xC,IAAAv9B,KAAA8mH,SAEA9mH,KAAA69L,iBAAA,IAAAD,EAAA,KAEA,IAAAE,EAAA,IAAAl/F,EAAA,KAAArrE,KAAA,CACA0I,SAAA,IAAA2iE,EAAA,KAAA9qE,cACAjB,SAAA,IAAA+rE,EAAA,KAAAnrE,SAAA,CACAd,OAAA,IAAAisE,EAAA,KAAAprE,OAAA,CACAuW,OAAA60D,EAAA,KAAAprE,OAAAyG,OAAA,qBACA+P,SAAA40D,EAAA,KAAAprE,OAAAyG,OAAA,yBAIAy5B,aAAA,MAGAoqI,EAAAjrK,SAAAK,cAAA,cAEAlzB,KAAA8mH,QAAAvpF,IAAAugK,GAEA99L,KAAA+9L,WAAAD,GAIA5qI,OAAA,SAAA54C,EAAAC,EAAAxV,GACA,IAAAi5L,EAAAh+L,KAAA69L,iBAEAG,EAAAC,gBAAA3jL,EAAA7U,IAAA,iBACAu4L,EAAAE,iBAAA5jL,EAAA7U,IAAA,kBAEAzF,KAAAm+L,YAAA7jL,EAAAvV,GACA/E,KAAAykH,cAAA1/G,EAAAwJ,WAAAxJ,EAAAu5D,YAAAv5D,EAAAmmF,uBAEA,IAAAkzG,EAAA1+C,EAAA,KAAApoH,aAAAhd,EAAA7U,IAAA,wBACAu4L,EAAAK,mBAAAD,KAEA,IAAAN,EAAA99L,KAAA+9L,WAEAhmK,GAAA,IAAAC,KACA0P,EAAA1nC,KACAs+L,GAAA,EACAR,EAAAzhK,UAAA,EACAyhK,EAAAxhK,gBACAwhK,EAAAvhK,QAAA,IAA+Bi0G,MAAA,IAC/Bh0G,KAAA,KACAH,UAAA,IAEAI,OAAA,WACA,IAAA8hK,GAAA,IAAAvmK,KACAG,EAAAzxB,KAAAQ,IAAAq3L,EAAAxmK,EAAA,IACAA,GAAAI,EACAuP,EAAA00F,YACA4hE,EAAAzxK,OAAAmb,EAAA00F,UAAAr3H,EAAAozB,EAAA,IAAAmmK,GACAR,EAAAjrK,SAAAO,IAAA,aAAA4qK,EAAAQ,sBAGAF,GAAA,IAEAlyK,QAEA,IAAAu2E,EAAAroF,EAAAqgB,SAAA,aACA7T,EAAA83E,EAAA,KAAA1lE,WAAAypE,EAAAl9F,IAAA,UACAqhB,EAAA,IAAA44H,EAAA,KAAApoH,aAAAqrE,EAAAl9F,IAAA,cACAq4L,EAAAjrK,SAAAO,IAAA,QAAAtM,GAEAk3K,EAAAS,qBAAAnkL,EAAA7U,IAAA,gBAAAV,GACAi5L,EAAAU,gBAAApkL,EAAA7U,IAAA,iBACAu4L,EAAAW,qBAAArkL,EAAA7U,IAAA,iBACAu4L,EAAAY,iBAAA,EAAAl4L,KAAA2uB,IAAA,GAAA/a,EAAA7U,IAAA,mBAGA68G,gBAAA,SAAAhoG,EAAAC,EAAAxV,GACA/E,KAAAm+L,YAAA7jL,EAAAvV,IAGAkoF,YAAA,SAAAw7E,EAAAluJ,EAAAxV,EAAA2hH,GACA,IAAAtvF,EAAAsvF,EAAAtvF,SACAp3B,KAAAo8H,UAAAhlG,GAGA+mK,YAAA,SAAA7jL,EAAAvV,GACA,IAAAE,EAAAqV,EAAApV,iBACAiiF,EAAAliF,EAAAwzE,WAAArrE,IAAA,SAAAqb,GACA,OAAAnO,EAAAkO,kBAAAC,GAAA,KAGAld,EAAA+O,EAAAE,UACAw5J,EAAAzoK,EAAAqzG,cAAAz3B,EAAA,IACA8sF,EAAA1oK,EAAAqzG,cAAAz3B,EAAA,IAEA03G,EAAAvkL,EAAA7U,IAAA,aACAq5L,EAAAxkL,EAAA7U,IAAA,cAEA,SAAAo5L,GAAA,SAAAA,EAAA,CAEA,IAAAj+K,GAAAozJ,EAAA,GAAAA,EAAA,KAAAC,EAAA,GAAAA,EAAA,IACA4qB,EAAAn4L,KAAAwT,MAAAxT,KAAAk+C,KAAAhkC,EAAArV,EAAAoO,UAEA,MAAAmlL,GAAA,SAAAA,IACAA,EAAAp4L,KAAA0gE,KAAA77D,EAAAoO,QAAAklL,IAGA,IAAAE,EAAA/+L,KAAA69L,iBAAAkB,mBAGAn5J,EAAAm5J,EAAAn5J,OACA,GAAAA,KAAAriC,SAAAu7L,EAAAD,EAAA,EAIA,QAAA9zL,EAAA,EAA2BA,EAAA66B,EAAAriC,OAAmBwH,IAC9C66B,EAAA76B,GAAA,OAJA66B,EAAAm5J,EAAAn5J,OAAA,IAAA4F,aAAAqzJ,EAAAC,EAAA,GAQA,IAAAE,EAAA,EACAC,EAAAnlL,IAEA4tD,EAAA,IAAAl8B,aAAA,EAAAjgC,EAAAoO,SACAosC,EAAA,EACAtmC,EAAA,EAAA3F,SAAA,EAAAA,WAEAvO,EAAA4b,KAAA,CAAAggE,EAAA,GAAAA,EAAA,uBAAAnlF,EAAAC,EAAAy1G,EAAAC,GACA,IAAAkL,EAAA59G,EAAAM,YAAA,CAAAvD,EAAAC,IACAylE,EAAA3hB,KAAA88D,EAAA,GACAn7C,EAAA3hB,KAAA88D,EAAA,GACApjG,EAAA,MAAA/Y,KAAAQ,IAAA27G,EAAA,GAAApjG,EAAA,OACAA,EAAA,MAAA/Y,KAAAQ,IAAA27G,EAAA,GAAApjG,EAAA,OACAA,EAAA,MAAA/Y,KAAAS,IAAA07G,EAAA,GAAApjG,EAAA,OACAA,EAAA,MAAA/Y,KAAAS,IAAA07G,EAAA,GAAApjG,EAAA,OAEA,IAAAy/K,EAAAx4L,KAAAk+C,KAAA8yD,IAAAC,KACAqnF,EAAAt4L,KAAAS,IAAA63L,EAAAE,GACAD,EAAAv4L,KAAAQ,IAAA+3L,EAAAC,KAGA3zL,EAAA4b,KAAA,qBAAAuwF,EAAAC,EAAA5sG,GACA,IAAAo0L,EAAAz4L,KAAAwT,OAAAwtD,EAAA,EAAA38D,GAAA0U,EAAA,QAAAA,EAAA,MAAAA,EAAA,QAAAo/K,EAAA,IACAO,EAAAN,EAAA,EAAAp4L,KAAAwT,OAAAwtD,EAAA,EAAA38D,EAAA,GAAA0U,EAAA,QAAAA,EAAA,MAAAA,EAAA,QAAAq/K,EAAA,IAEAnhL,EAAA,GAAAyhL,EAAAP,EAAAM,GAEAv5J,EAAAjoB,GAAA+5F,EAAAsnF,EAAA,MACAp5J,EAAAjoB,EAAA,GAAAg6F,EAAAqnF,EAAA,MACAp5J,EAAAjoB,EAAA,OAGAohL,EAAAz8L,MAAAu8L,EACAE,EAAAx8L,OAAAu8L,EAEA,SAAAxkL,EAAA7U,IAAA,qBACAzF,KAAAq/L,iBAAAN,GAGAA,EAAAp6K,QAEA3kB,KAAAs/L,qBAAA7/K,EAAA,GAAAA,EAAA,GAAAnF,EAAAvV,GACA/E,KAAAu/L,uBAAAh0L,EAAAgS,UAAA,eAAA0hL,EAAAD,KAIAK,iBAAA,SAAAzsK,GACA,IAAAgT,EAAAhT,EAAAgT,OACAtjC,EAAAswB,EAAAtwB,MACAC,EAAAqwB,EAAArwB,OAEA,SAAAi9L,EAAAx9L,EAAAC,EAAAw9L,GACAz9L,EAAA0E,KAAAS,IAAAT,KAAAQ,IAAAlF,EAAAM,EAAA,MACAL,EAAAyE,KAAAS,IAAAT,KAAAQ,IAAAjF,EAAAM,EAAA,MACA,IAAAob,EAAA,GAAA1b,GAAAK,EAAA,GAAAN,GACA,WAAA4jC,EAAAjoB,EAAA,KAGA8hL,EAAA,GAAA75J,EAAAjoB,GACA8hL,EAAA,GAAA75J,EAAAjoB,EAAA,IACA,GAGA,SAAA+hL,EAAAn3L,EAAAC,EAAA62B,GACAA,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GACA62B,EAAA,GAAA92B,EAAA,GAAAC,EAAA,GAKA,IAFA,IAAA0T,EAAA,GAAAozB,EAAA,GAAAC,EAAA,GAAAE,EAAA,GAAAD,EAAA,GACAud,EAAA,EACA9qD,EAAA,EAAuBA,EAAAM,EAAYN,IACnC,QAAAD,EAAA,EAA2BA,EAAAM,EAAWN,IAAA,CACtC,IAAA2b,EAAA,GAAA1b,GAAAK,EAAA,GAAAN,GACA,IAAA4jC,EAAAjoB,EAAA,KACAovC,EAAA7wC,EAAA,GAAAA,EAAA,KACAsjL,EAAAx9L,EAAA,EAAAC,EAAAqtC,KACAyd,IAAiC2yI,EAAApwJ,EAAApzB,MAEjCsjL,EAAAx9L,EAAA,EAAAC,EAAAstC,KACAwd,IAAiC2yI,EAAAnwJ,EAAArzB,MAEjCsjL,EAAAx9L,EAAAC,EAAA,EAAAwtC,KACAsd,IAAiC2yI,EAAAjwJ,EAAAvzB,MAEjCsjL,EAAAx9L,EAAAC,EAAA,EAAAutC,KACAud,IAAiC2yI,EAAAlwJ,EAAAtzB,MAEjCA,EAAA,IAAA6wC,EACA7wC,EAAA,IAAA6wC,EAEAnnB,EAAAjoB,GAAAzB,EAAA,GACA0pB,EAAAjoB,EAAA,GAAAzB,EAAA,IAEA0pB,EAAAjoB,EAAA,OAKA4hL,uBAAA,SAAAI,EAAAC,GACA,GAAAD,KAAAp8L,OAAA,CAKAvD,KAAA6/L,iBAAA7/L,KAAA6/L,kBAAA,IAAAjhG,EAAA,KAAAjrE,UAAA,CACA7gB,MAAAlI,SAAAirB,cAAA,YAEA,IAAAiqK,EAAA9/L,KAAA6/L,iBACAjqK,EAAAkqK,EAAAhtL,MACA8iB,EAAAtzB,MAAA,IACAszB,EAAArzB,OAAA,EACA,IAAAlC,EAAAu1B,EAAAhoB,WAAA,MACA+vK,EAAAt9K,EAAA0/L,qBAAA,KAAAnqK,EAAAtzB,MAAA,IACAq9L,EAAA,GAAAK,MAAAn1L,QAAA,SAAAqM,GACA,IAAA6uC,EACA65I,EAAA,KAAAA,EAAA,GACA75I,EAAA,GAGAA,EAAA7uC,EAAAjT,MAAA27L,EAAA,GACA75I,EAAAr/C,KAAAQ,IAAAR,KAAAS,IAAA4+C,EAAA,OAGA43H,EAAAE,aAAA93H,EAAA7uC,EAAA4P,SAEAzmB,EAAAw9F,UAAA8/E,EACAt9K,EAAAy9F,SAAA,IAAAloE,EAAAtzB,MAAAszB,EAAArzB,QACAu9L,EAAAn7K,QAEA3kB,KAAA69L,iBAAAoC,mBAAAjgM,KAAA6/L,uBA7BA7/L,KAAA69L,iBAAAoC,mBAAA,OAgCAX,qBAAA,SAAAY,EAAAC,EAAA7lL,EAAAvV,GACA,IAAAq7L,EAAApgM,KAAAqgM,4BAAAH,EAAAC,EAAA7lL,EAAAvV,GACAm7L,EAAAE,EAAAF,QACAC,EAAAC,EAAAD,YACAngM,KAAA69L,iBAAAyC,UAAAF,EAAAx/F,QAEA5gG,KAAA+9L,WAAAz3L,SAAA8sB,KACA8sK,EAAA,GAAAC,EAAA,MACAp7L,EAAAu5D,aAAA4hI,EAAA,GAAAC,EAAA,MACA,GAGA,IAAA79L,EAAA69L,EAAA,GAAAD,EAAA,GACA39L,EAAA49L,EAAA,GAAAD,EAAA,GACAlgM,KAAA+9L,WAAAhmL,MAAAqb,IAAA9wB,EAAA,EAAAC,EAAA,KAEAvC,KAAA69L,iBAAAx/H,OACA33D,KAAAS,IAAAT,KAAAQ,IAAA5E,EAAA,SACAoE,KAAAS,IAAAT,KAAAQ,IAAA3E,EAAA,UAGAvC,KAAAo8H,WACAp8H,KAAA69L,iBAAA0C,WAAAvgM,KAAAo8H,YAIAikE,4BAAA,SAAAH,EAAAC,EAAA7lL,EAAAvV,GACA,IAAAy7L,EAAA,CACA95L,KAAAS,IAAA+4L,EAAA,MACAx5L,KAAAS,IAAA+4L,EAAA,OAEAO,EAAA,CACA/5L,KAAAQ,IAAAi5L,EAAA,GAAAp7L,EAAAwJ,YACA7H,KAAAQ,IAAAi5L,EAAA,GAAAp7L,EAAAu5D,cAGA,YAAAhkD,EAAA7U,IAAA,qBACA,IAAAi7L,EAAApmL,EAAAE,UAAAokG,cAAAtkG,EAAAkO,kBAAA,WAEAm4K,EAAAj6L,KAAAmK,MAAA6vL,EAAA,GAAAA,EAAA,SACAC,IACAH,EAAA,OACAA,EAAA,MAEAC,EAAA,GAAA17L,EAAAwJ,aACAkyL,EAAA,GAAA17L,EAAAwJ,aAKA,IAAAjM,EAAA69L,EAAA,GAAAD,EAAA,GACA39L,EAAA49L,EAAA,GAAAD,EAAA,GACAU,EAAAH,EAAA,GAAAD,EAAA,GACAK,EAAAJ,EAAA,GAAAD,EAAA,GAEA5/F,EAAA,EACA4/F,EAAA,GAAAN,EAAA,IAAA59L,EACA,EAAAu+L,EAAAt+L,GAAAi+L,EAAA,GAAAN,EAAA,IAAA39L,EACAq+L,EAAAt+L,EACAu+L,EAAAt+L,GAGA,OACA29L,QAAAM,EACAL,YAAAM,EACA7/F,WAIA6jB,cAAA,SAAAniH,EAAAC,EAAAoJ,GACA3L,KAAAkvE,OAAA77B,YAAA,IAAA/wC,EAAAC,EAAAoJ,GACA,IAAA2mD,EAAAtyD,KAAAkvE,OAAA5c,OAEAA,EAAAhjB,KAAAgjB,EAAA9iB,OAAA,EACA8iB,EAAA7iB,IAAAltC,EACA+vD,EAAA/iB,MAAAjtC,EACAgwD,EAAA5iB,KAAA,EACA4iB,EAAA3iB,IAAA,IACA2iB,EAAAhsD,SAAA62B,EAAA,IAGA3wB,OAAA,WACAxM,KAAA+9L,WAAAzhK,gBACAt8B,KAAA8mH,QAAAziD,aAGAvuD,QAAA,WACA9V,KAAAo8H,WACAp8H,KAAA69L,iBAAA/nL,QAAA9V,KAAAo8H,WAEAp8H,KAAA8mH,QAAAziD,gBAOA,SAAA3hE,EAAAwrB,EAAArvB,GAEA,aACA,IAAAiiM,EAAAjiM,EAAA,IACAqkJ,EAAArkJ,EAAA,IACAkiM,EAAAliM,EAAA,IACAmiM,EAAAniM,EAAA,IACA0vB,EAAA1vB,EAAA,GACAoiM,EAAApiM,EAAA,GACAqiM,EAAAriM,EAAA,GACAsiM,EAAAtiM,EAAA,IACAuiM,EAAAviM,EAAA,IACAwiM,EAAAxiM,EAAA,IACAyiM,EAAAziM,EAAA,KACA0iM,EAAA1iM,EAAA,KAmBA,SAAA2iM,EAAAvmL,GACA,IAAA2a,EAAAhrB,SAAAirB,cAAA,UACAD,EAAAtzB,MAAAszB,EAAArzB,OAAA0Y,EACA,IAAA5a,EAAAu1B,EAAAhoB,WAAA,MAIA,OAHAvN,EAAAw9F,UAAA,OACAx9F,EAAAkf,IAAAtE,EAAA,EAAAA,EAAA,EAAAA,EAAA,MAAAvU,KAAAC,IACAtG,EAAAK,OACAk1B,EATArH,EAAA,eAAAgzK,EAAA,MAcA,IAAAE,EAAA,WAKAzhM,KAAA4+L,iBAAA,IAKA5+L,KAAA++L,mBAAA,IAAAkC,EAAA,MACA9gM,KAAA+gM,EAAA,KAAAr8J,MAGA/M,OAAA,IAOA93B,KAAA0hM,aAAA,OAEA1hM,KAAA2hM,cAAA,QAKA3hM,KAAA4hM,cAAA,EAKA5hM,KAAA6hM,cAAA,UAKA7hM,KAAA2+L,qBAAA,EAKA3+L,KAAA8hM,kBAAA,KAEA9hM,KAAA+hM,cAAA,KACA/hM,KAAAgiM,cAAA,KACAhiM,KAAAiiM,kBAAA,KACAjiM,KAAAkiM,kBAAA,KAEAliM,KAAAmiM,oBAAA,KAEAniM,KAAAoiM,oBAAA,KAEApiM,KAAAqiM,aAAA,EAEAriM,KAAAwtE,OAAA,KACAxtE,KAAAw8E,QAAA,KAEAx8E,KAAAsiM,kBAAA,KAMAtiM,KAAAuiM,eAAA,EAEAviM,KAAAwiM,oBAAA,GAEAxiM,KAAAskC,OAAA,IACAtkC,KAAAukC,QAAA,IAEAvkC,KAAAkjB,QAGAu+K,EAAAxhM,UAAA,CAEAC,YAAAuhM,EAEAv+K,KAAA,WACA,IAAAyiE,EAAA,CACAxlF,KAAA+gM,EAAA,KAAAr8J,MACAtD,UAAA2/J,EAAA,KAAAp9J,QACArC,UAAAy/J,EAAA,KAAAp9J,QACAnC,WAAA,GAEA3hC,KAAAgiM,cAAA,IAAAf,EAAA,KAAAt7G,GAEA3lF,KAAAiiM,kBAAA,IAAAhB,EAAA,KAAAt7G,GACA3lF,KAAAkiM,kBAAA,IAAAjB,EAAA,KAAAt7G,GAEA3lF,KAAAu+F,aAAA,IAAA8iG,EAAA,MACA5uJ,aAAA,IAEAzyC,KAAA+hM,cAAA,IAAAjB,EAAA,MACA92J,SAAAzb,EAAA,KAAA0L,OAAA,uCAEAj6B,KAAA+hM,cAAAlvI,WAAA,kBAAA7yD,KAAA++L,oBACA/+L,KAAA+hM,cAAAlvI,WAAA,eAAA7yD,KAAAgiM,eAEAhiM,KAAAyiM,gBAAA,IAAA3B,EAAA,MACA92J,SAAAzb,EAAA,KAAA0L,OAAA,gCAGA,IAAAyoK,EAAA,IAAA3B,EAAA,MAEAluG,YAAA,GACAhgE,SAAA,IAAAmuK,EAAA,MACAruK,OAAA,IAAApE,EAAA,KACAA,EAAA,KAAA0L,OAAA,uCACA1L,EAAA,KAAA0L,OAAA,4CAGAk2D,KAAA4wG,EAAA,KAAA5rJ,OACAlZ,SAAA,IAAAinH,EAAA,MACAnhH,SAAA,EACAorB,cAAA,gBAGAw1I,EAAA,IAAA5B,EAAA,MAEAluG,YAAA,GACAhgE,SAAA,IAAAmuK,EAAA,MACAruK,OAAA,IAAApE,EAAA,KACAA,EAAA,KAAA0L,OAAA,sCACA1L,EAAA,KAAA0L,OAAA,2CAGAgC,SAAA,IAAAqlK,EAAA,KACA1nH,SAAA,IAEAgpH,EAAA,IAAA7B,EAAA,MACAluK,SAAA,IAAAmuK,EAAA,MACAruK,OAAA,IAAApE,EAAA,KACAA,EAAA,KAAA0L,OAAA,qBACA1L,EAAA,KAAA0L,OAAA,0BAKAgC,SAAA,IAAAmlK,EAAA,OAEAwB,EAAA/vK,SAAAK,cAAA,cAEAlzB,KAAAmiM,oBAAAO,EACA1iM,KAAA6iM,mBAAAF,EACA3iM,KAAA8iM,uBAAAF,EAEA5iM,KAAAw8E,QAAA,IAAA2kH,EAAA,KACAnhM,KAAA8hM,kBAAA,IAAAb,EAAA,KACAjhM,KAAAsiM,kBAAA,IAAArB,EAAA,MAGA5C,mBAAA,SAAA/7L,EAAAC,GAMA,IALA,IAAA+rD,EAAAhsD,EAAAC,EAEAwgM,EAAA,IAAAv3J,aAAA,EAAA8iB,GACAz4C,EAAA,EACAmtL,EAAAhjM,KAAA0hM,aACA32L,EAAA,EAAuBA,EAAAzI,EAAWyI,IAClC,QAAA2F,EAAA,EAA2BA,EAAAnO,EAAYmO,IAAAmF,IAAA,CAEvCktL,EAAA,EAAAltL,GAAAnP,KAAAy3B,SAEA4kK,EAAA,EAAAltL,EAAA,GAAAnP,KAAAy3B,SAEA4kK,EAAA,EAAAltL,EAAA,GAAAnP,KAAAy3B,SACA,IAAAoyG,GAAAyyD,EAAA,GAAAA,EAAA,IAAAt8L,KAAAy3B,SAAA6kK,EAAA,GAEAD,EAAA,EAAAltL,EAAA,GAAA06H,EAIA,SAAAvwI,KAAA2hM,cACA3hM,KAAAijM,iBAAA3gM,EAAAC,GAGAvC,KAAAkjM,mBAAA5gM,EAAAC,GAGAvC,KAAAgiM,cAAA1/L,QACAtC,KAAAgiM,cAAAz/L,SACAvC,KAAAgiM,cAAAp8J,OAAAm9J,EAEA/iM,KAAAiiM,kBAAA3/L,MAAAtC,KAAAkiM,kBAAA5/L,QACAtC,KAAAiiM,kBAAA1/L,OAAAvC,KAAAkiM,kBAAA3/L,SAEAvC,KAAA+hM,cAAAlvI,WAAA,eAAAvwD,EAAAC,KAGA2gM,mBAAA,SAAA5gM,EAAAC,GACA,IAAA+rD,EAAAhsD,EAAAC,EACA05B,EAAAj8B,KAAAmiM,oBAAAlmK,SACAG,EAAAH,EAAAG,WACAA,EAAAuwB,UAAAzpC,KAAAorC,GAGA,IADA,IAAAz4C,EAAA,EACA9K,EAAA,EAAuBA,EAAAzI,EAAWyI,IAClC,QAAA2F,EAAA,EAA2BA,EAAAnO,EAAYmO,IAAAmF,IACvCumB,EAAAuwB,UAAA1oD,MAAA,EAAA4R,GAAA9K,EAAAzI,EACA85B,EAAAuwB,UAAA1oD,MAAA,EAAA4R,EAAA,GAAAnF,EAAAnO,EAGA05B,EAAAtX,SAGAs+K,iBAAA,SAAA3gM,EAAAC,GACA,IAAA4gM,EAAA7gM,EAAAC,EACA05B,EAAAj8B,KAAAojM,mBAAAnnK,SACAA,EAAAonK,aAAAF,GACAlnK,EAAAwqC,cACA,QAAA17D,EAAA,EAAuBA,EAAAzI,EAAWyI,IAClC,QAAA2F,EAAA,EAA2BA,EAAAnO,EAAYmO,IACvCurB,EAAAytC,QAAA,CAAA3+D,EAAAzI,EAAAoO,EAAAnO,IAGA05B,EAAAtX,SAGAy+K,iBAAA,WACA,eAAApjM,KAAA2hM,cAAA3hM,KAAA6iM,mBAAA7iM,KAAAmiM,qBAGA51K,OAAA,SAAA6K,EAAAryB,EAAAi7E,EAAAs+G,GACA,IAAAgF,EAAAtjM,KAAAojM,mBACAvuJ,EAAA70C,KAAAu+F,aACAglG,EAAAvjM,KAAA+hM,cAEAzD,GACAt+L,KAAAwjM,0BAAApsK,EAAAryB,GAGAu+L,EAAAzwK,SAAAO,IAAA,OAAApzB,KAAA4hM,cAAA5hM,KAAAuiM,gBACAe,EAAAzwK,SAAAO,IAAA,QAAApzB,KAAA6hM,eACA0B,EAAA1wI,WAAA,eAAA7yD,KAAA2+L,sBAEA9pJ,EAAAV,OAAAn0C,KAAAkiM,mBACAqB,EAAA1wI,WAAA,iBAAAyrI,GAAAt+L,KAAA0hM,aAAA,GAAA1hM,KAAA0hM,aAAA,SACA6B,EAAA1wI,WAAA,kBAAA7yD,KAAAiiM,mBACAsB,EAAA1wI,WAAA,YAAAmtB,GACAujH,EAAA1wI,WAAA,cAAA7yD,KAAAqiM,cACAkB,EAAArwI,OAAA97B,EAAAyd,GAEAyuJ,EAAAzwK,SAAAO,IAAA,kBAAApzB,KAAAkiM,mBACAoB,EAAAzwK,SAAAO,IAAA,sBAAApzB,KAAAiiM,mBAEAptJ,EAAAV,OAAAn0C,KAAA8hM,mBACAjtJ,EAAAjsC,KAAAwuB,GACAA,EAAAwB,GAAAlsB,MAAA0qB,EAAAwB,GAAAoc,iBAAA5d,EAAAwB,GAAAsc,kBACA,IAAA0tJ,EAAA5iM,KAAA8iM,uBACAF,EAAA/vK,SAAAO,IAAA,aAAApzB,KAAAsiM,mBACAM,EAAA/vK,SAAAO,IAAA,eAAApzB,KAAA4+L,mBAEA5+L,KAAAw8E,QAAAjwD,QAAA,GACA6K,EAAAw8B,WAAA,CAAAgvI,EAAAU,GAAAtjM,KAAAw8E,SACA3nC,EAAAlS,OAAAvL,GAEAp3B,KAAAyjM,YAAArsK,GAEAp3B,KAAA+3L,eAEA/3L,KAAAqiM,cAAAriH,GAGAyjH,YAAA,SAAArsK,GACA,IAAAssK,EAAA1jM,KAAAwiM,oBACA,OAAAkB,EAAAngM,OAAA,CAGA,IAAA2uE,EAAA,EACAsgF,EAAAxyJ,KAAA8hM,kBACA3tC,EAAAuvC,EAAAxxH,GAEA,MAAAiiF,EACAn0J,KAAAu+F,aAAApqD,OAAAggH,GACAn0J,KAAAyiM,gBAAA5vI,WAAA,UAAA2/F,GACAxyJ,KAAAyiM,gBAAA5vI,WAAA,eAAA2/F,EAAAlwJ,MAAAkwJ,EAAAjwJ,SACAvC,KAAAyiM,gBAAAvvI,OAAA97B,EAAAp3B,KAAAu+F,cAEAi0D,EAAA2B,EACAA,EAAAuvC,IAAAxxH,KAIAssH,kBAAA,WACA,IAAAkF,EAAA1jM,KAAAwiM,oBACA,OAAAkB,EAAAngM,OAAA,EACAmgM,IAAAngM,OAAA,GACAvD,KAAAsiM,mBAGAhC,UAAA,SAAA1/F,GACA5gG,KAAA+hM,cAAAlvI,WAAA,SAAA+tC,IAGAviC,OAAA,SAAA/7D,EAAAC,GACAvC,KAAAsiM,kBAAAhgM,QAAAtC,KAAAuiM,eACAviM,KAAAsiM,kBAAA//L,SAAAvC,KAAAuiM,eACAviM,KAAA8hM,kBAAAx/L,QAAAtC,KAAAuiM,eACAviM,KAAA8hM,kBAAAv/L,SAAAvC,KAAAuiM,eAEAviM,KAAAskC,OAAAhiC,EACAtC,KAAAukC,QAAAhiC,GAGAm8L,gBAAA,SAAAzjL,GACA,IAAAqoL,EAAAtjM,KAAAojM,mBACA,GAAAnoL,GAAA,EAGA,OAFAqoL,EAAAzwK,SAAAE,eAAA,sBACAuwK,EAAAzwK,SAAA6gC,aAAA,GAGA1zD,KAAA2jM,iBACA3jM,KAAA2jM,eAAA,IAAA1C,EAAA,MAEAjhM,KAAA2jM,eAAA7wL,OAAA9S,KAAA2jM,eAAA7wL,MAAAxQ,QAAA2Y,IACAjb,KAAA2jM,eAAA7wL,MAAA0uL,EAAAvmL,GACAjb,KAAA2jM,eAAAh/K,SAEA2+K,EAAAzwK,SAAA6gC,aAAA,EACA4vI,EAAAzwK,SAAAK,cAAA,iBACAowK,EAAAzwK,SAAAO,IAAA,gBAAApzB,KAAA2jM,gBAEA3jM,KAAA4hM,cAAA3mL,GAGAglL,mBAAA,SAAAH,GACA,IAAAjtK,EAAA7yB,KAAAojM,mBAAAvwK,SACAA,EAAAitK,EAAA,qDACAjtK,EAAAggC,WAAA,kBAAAitI,IAGArB,qBAAA,SAAAmF,EAAA7+L,GACA,IAAA8tB,EAAA7yB,KAAAojM,mBAAAvwK,SACAA,EAAAN,gBAAA,eAAAqxK,EAAA7+L,EAAA,CACA+yB,OAAA,KAIAmmK,gBAAA,SAAA99L,GACAH,KAAA2hM,cAAAxhM,GAGAogM,WAAA,SAAAnpK,GACA,IAAAyd,EAAA70C,KAAAu+F,aACA1pD,EAAAV,OAAAn0C,KAAAsiM,mBACAztJ,EAAAjsC,KAAAwuB,GACAA,EAAAwB,GAAAlsB,MAAA0qB,EAAAwB,GAAAoc,iBAAA5d,EAAAwB,GAAAsc,kBACAL,EAAAlS,OAAAvL,IAGA8mK,iBAAA,SAAA2F,GACA7jM,KAAAuiM,eAAAsB,EACA7jM,KAAAq+D,OAAAr+D,KAAAskC,OAAAtkC,KAAAukC,UAGAi/J,0BAAA,SAAApsK,EAAAryB,GAMA,IALA,IAAA2+L,EAAA1jM,KAAAwiM,oBACAsB,EAAAp9L,KAAAS,IAAAT,KAAAmK,MAAAnK,KAAA4uB,IAAAt1B,KAAAuiM,eAAAx9L,EAAAmmF,uBAAAxkF,KAAA4uB,IAAA,OACAvd,EAAA,EACAzV,EAAAtC,KAAAskC,OAAAtkC,KAAAuiM,eACAhgM,EAAAvC,KAAAukC,QAAAvkC,KAAAuiM,eACAx3L,EAAA,EAAuBA,EAAA+4L,EAAa/4L,IACpC24L,EAAA34L,GAAA24L,EAAA34L,IAAA,IAAAk2L,EAAA,KACAyC,EAAA34L,GAAAzI,QAAAyV,EACA2rL,EAAA34L,GAAAxI,SAAAwV,EACAA,GAAA,EAEA,KAAchN,EAAA24L,EAAAngM,OAA8BwH,IAC5C24L,EAAA34L,GAAA+K,QAAAshB,GAEAssK,EAAAngM,OAAAugM,GAGA/L,aAAA,WACA,IAAA5nI,EAAAnwD,KAAAiiM,kBACAjiM,KAAAiiM,kBAAAjiM,KAAAkiM,kBACAliM,KAAAkiM,kBAAA/xI,EAEAA,EAAAnwD,KAAA8hM,kBACA9hM,KAAA8hM,kBAAA9hM,KAAAsiM,kBACAtiM,KAAAsiM,kBAAAnyI,GAGAr6C,QAAA,SAAAshB,GACAA,EAAAw7D,mBAAA5yF,KAAAu+F,cAEAnnE,EAAAs7D,eAAA1yF,KAAA++L,oBACA3nK,EAAAs7D,eAAA1yF,KAAAgiM,eACA5qK,EAAAs7D,eAAA1yF,KAAAiiM,mBACA7qK,EAAAs7D,eAAA1yF,KAAAkiM,mBACA9qK,EAAAs7D,eAAA1yF,KAAA8hM,mBACA1qK,EAAAs7D,eAAA1yF,KAAAsiM,mBAEAlrK,EAAAq7D,gBAAAzyF,KAAA6iM,mBAAA5mK,UACA7E,EAAAq7D,gBAAAzyF,KAAAmiM,oBAAAlmK,UACA7E,EAAAq7D,gBAAAzyF,KAAA8iM,uBAAA7mK,UAEAj8B,KAAA2jM,gBACAvsK,EAAAs7D,eAAA1yF,KAAA2jM,gBAGA3jM,KAAA+hM,cAAAjsL,QAAAshB,GACAp3B,KAAAyiM,gBAAA3sL,QAAAshB,GAEAp3B,KAAAwiM,oBAAA33L,QAAA,SAAA+nB,GACAA,EAAA9c,QAAAshB,OAKAlJ,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA8mE,EAAA9mE,EAAA,IACA+mE,EAAA/mE,EAAA,GAmBAonE,GAlBApnE,EAAAgvB,EAAA+3C,GAkBAD,EAAA,KAAAjhE,OAAA,WACA,OAEAq9B,SAAA,EAEA3F,WAAA,CACA91B,SAAA,IAAAq/D,EAAA,KAAAjZ,UAAA,oCAKA,CAKA+Z,YAAA,WACAzmE,KAAA0mE,cAAA,EACA1mE,KAAAilH,YAAA,GAMAo+E,aAAA,SAAAF,GACA,IAAA/mK,EAAAp8B,KAAAo8B,WACAkyB,EAAA,EAAA60I,EACAp8H,EAAA,EAAAo8H,EACAnjM,KAAAk8B,cAAAoyB,GACAlyB,EAAA91B,SAAA4c,KAAAorC,GAEAtuD,KAAAgnE,gBAAAD,IAEA/mE,KAAAytD,QADA,IAAAsZ,EACA,KAGA/mE,KAAAk8B,YAAA,UAAAuvB,YAAA,EAAAsb,GAAA,IAAAvb,YAAA,EAAAub,KAKA2C,QAAA,SAAA5oD,GACA,IAAAupD,EAAArqE,KAAA0mE,cACA1mE,KAAAo8B,WAAA91B,SAAA8sB,IAAAi3C,EAAA,CAAAvpD,EAAA,GAAAA,EAAA,OACA9gB,KAAAo8B,WAAA91B,SAAA8sB,IAAAi3C,EAAA,GAAAvpD,EAAA,GAAAA,EAAA,QACA9gB,KAAAo8B,WAAA91B,SAAA8sB,IAAAi3C,EAAA,GAAAvpD,EAAA,GAAAA,EAAA,OACA9gB,KAAAo8B,WAAA91B,SAAA8sB,IAAAi3C,EAAA,GAAAvpD,EAAA,GAAAA,EAAA,QAEA9gB,KAAAqjI,mBACArjI,KAAAilH,cAAA,CACA56C,IAAA,EAAAA,EAAA,IAGArqE,KAAAqjI,mBACArjI,KAAAilH,cAAA,CACA56C,EAAA,EAAAA,EAAA,EAAAA,EAAA,IAIArqE,KAAA0mE,eAAA,MAIAx4C,EAAA,QAIA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACAqvB,EAAA,8hHAKA,SAAAxrB,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGAC,EAAAr0B,EAAA4wK,kBAAA,CAEAh5K,KAAA,gBAEA4lH,aAAA,sBAEA/iG,sBAAA,kBAEAa,eAAA,SAAAV,EAAA5I,GACA,IAAA6sE,EAAAxqD,EAAAr0B,EAAA8+E,8BAAArnF,KAAAyF,IAAA,gCAEA,GAAA2hF,EAAA7jF,OAAA,EACA,UAAAoqC,MAAA,qDAGAy5C,EAAAz0E,KAAA,WACA,IAAA8lE,EAAA77C,EAAAr0B,EAAA++E,OAAAu5E,mBAAAz5E,EAAApnF,KAAAuiB,YAAA,CACAu+I,UAAA9gK,KAAAyF,IAAA,UACAs7J,QAAA/gK,KAAAyF,IAAA,gBAEA8F,EAAA,IAAAqxB,EAAAr0B,EAAA6/E,KAAA3P,EAAAz4E,MAEA,OADAuL,EAAA+8E,SAAAtoF,KAAAuiB,aACAhX,GAGAuX,cAAA,CACA5d,iBAAA,cACAi3G,OAAA,GAEA0nF,cAAA,EAEAE,aAAA,QAEA3F,gBAAA,IACA4F,aAAA,EACAC,cAAA,EAEAC,cAAA,EAEAC,aAAA,KAEAtF,UAAA,OACAC,WAAA,OAEAxzF,UAAA,CACAxkF,MAAA,OACAgtC,QAAA,QAOA,SAAApxD,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GAGAmlJ,GAFAjjL,EAAA,KACAA,EAAA,KACAA,EAAA,KAQA+9B,EAAAr0B,EAAApJ,eAAA4J,OAAA+4K,EAAA,KAAA/4K,CAAA,aAIA,SAAArG,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAynK,EAAAvlM,EAAA,IAKAwlM,GAJAxlM,EAAAgvB,EAAAu2K,GAIAxnK,EAAAr0B,EAAA4wK,kBAAA,CAEAh5K,KAAA,iBAEA4lH,aAAA,eAEA/iG,sBAAA,kBAEAshL,eAAA,EAEAphL,KAAA,SAAAC,GACA,IAAAzf,EAAA1D,KAAAukM,wBAAAphL,EAAA5X,MACAvL,KAAAwkM,YAAA9gM,EAAA+gM,WACAzkM,KAAA0kM,kBAAAhhM,EAAAihM,iBACAjhM,EAAA+gM,aACAthL,EAAA5X,KAAA,IAAAigC,aAAA9nC,EAAAiW,QAGA0qL,EAAA/9B,WAAAtmK,KAAA,OAAA2I,YAGA8b,YAAA,SAAAtB,GACA,IAAAzf,EAAA1D,KAAAukM,wBAAAphL,EAAA5X,MACAvL,KAAAwkM,YAAA9gM,EAAA+gM,WACAzkM,KAAA0kM,kBAAAhhM,EAAAihM,iBACAjhM,EAAA+gM,aACAthL,EAAA5X,KAAA,IAAAigC,aAAA9nC,EAAAiW,QAGA0qL,EAAA/9B,WAAAtmK,KAAA,cAAA2I,YAGAoc,WAAA,SAAAC,GACA,IAAAthB,EAAA1D,KAAAukM,wBAAAv/K,EAAAzZ,MACA7H,EAAA+gM,aACAzkM,KAAAwkM,aAKAxkM,KAAAwkM,YAAAz7L,OAAAq7L,EAAA,eAAAr7L,CAAA/I,KAAAwkM,YAAA9gM,EAAA+gM,YACAzkM,KAAA0kM,kBAAA37L,OAAAq7L,EAAA,eAAAr7L,CAAA/I,KAAA0kM,kBAAAhhM,EAAAihM,oBALA3kM,KAAAwkM,YAAA9gM,EAAA+gM,WACAzkM,KAAA0kM,kBAAAhhM,EAAAihM,kBAMA3/K,EAAAzZ,KAAA,IAAAigC,aAAA9nC,EAAAiW,QAGA3Z,KAAAilB,aAAAF,WAAAC,EAAAzZ,OAGAq5L,wBAAA,SAAAjnL,GACA,IAAAuN,EAAAlrB,KAAAwa,UAAA2Q,aAAAxN,GACAkoF,EAAA36E,EAAA/H,kBAAA3F,MACA0N,EAAA/H,OAAA+H,EAAA/C,WAAA,UAGA,KAAA09E,aAAAroF,OAAAqoF,EAAAtiG,OAAA,GAAAsiG,EAAA,aAAAroF,OACA,UAAAmwB,MAAA,kBAAA6gI,KAAAz0C,UAAAl0B,GAAA,mDAGA,OAAAA,GAGAg/F,mBAAA,SAAAlnL,GACA,OAAA3d,KAAA0kM,kBACA1kM,KAAA0kM,kBAAA,EAAA/mL,EAAA,GAGA3d,KAAA4kM,wBAAAjnL,GAAApa,QAIAuhM,cAAA,SAAAnnL,EAAA0hB,GACA,GAAAr/B,KAAA0kM,kBAAA,CAGA,IAFA,IAAA3+I,EAAA/lD,KAAA0kM,kBAAA,EAAA/mL,GACAlR,EAAAzM,KAAA0kM,kBAAA,EAAA/mL,EAAA,GACA5S,EAAA,EAA2BA,EAAA0B,EAAS1B,IACpCs0B,EAAAt0B,GAAAs0B,EAAAt0B,IAAA,GACAs0B,EAAAt0B,GAAA,GAAA/K,KAAAwkM,YAAAz+I,EAAA,EAAAh7C,GACAs0B,EAAAt0B,GAAA,GAAA/K,KAAAwkM,YAAAz+I,EAAA,EAAAh7C,EAAA,GAEA,OAAA0B,EAGA,IAAAo5F,EAAA7lG,KAAA4kM,wBAAAjnL,GACA,IAAA5S,EAAA,EAA2BA,EAAA86F,EAAAtiG,OAAmBwH,IAC9Cs0B,EAAAt0B,GAAAs0B,EAAAt0B,IAAA,GACAs0B,EAAAt0B,GAAA,GAAA86F,EAAA96F,GAAA,GACAs0B,EAAAt0B,GAAA,GAAA86F,EAAA96F,GAAA,GAEA,OAAA86F,EAAAtiG,QAIAghM,wBAAA,SAAAh5L,GACA,IAAAo+D,EAAA,EAMA,GALA3pE,KAAAwkM,cACA76H,EAAA3pE,KAAAwkM,YAAAjhM,QAIA,kBAAAgI,EAAA,IAQA,IAPA,IAAAkB,EAAAlB,EAAAhI,OAEAwhM,EAAA,IAAAt5I,YAAAh/C,GACAu4L,EAAA,IAAAr5I,aAAAl/C,GACAw4L,EAAA,EACAC,EAAA,EACAC,EAAA,EACAp6L,EAAA,EAA2BA,EAAA0B,GAAS,CACpC04L,IACA,IAAAxrL,EAAApO,EAAAR,KAEAg6L,EAAAG,KAAAD,EAAAt7H,EAEAo7H,EAAAG,KAAAvrL,EACA,QAAA+G,EAAA,EAA+BA,EAAA/G,EAAW+G,IAAA,CAC1C,IAAA1e,EAAAuJ,EAAAR,KACA9I,EAAAsJ,EAAAR,KAIA,GAHAi6L,EAAAC,KAAAjjM,EACAgjM,EAAAC,KAAAhjM,EAEA8I,EAAA0B,EAEA,UAAAkhC,MAAA,yBAMA,OACAg3J,iBAAA,IAAAl5I,YAAAs5I,EAAAv7L,OAAA,EAAA07L,GACAT,WAAAO,EACArrL,MAAAwrL,GAIA,OACAR,iBAAA,KACAF,WAAA,KACA9qL,MAAApO,EAAAhI,SAIAsgB,eAAA,SAAAV,EAAA5I,GACA,IAAAgnK,EAAA,IAAA3kJ,EAAAr0B,EAAA6/E,KAAA,UAAApoF,MAiBA,OAhBAuhL,EAAAz2J,eAAA,EAEAy2J,EAAAj5F,SAAAnlE,EAAA5X,KAAA,YAAAi2K,EAAA9oG,EAAAjzD,EAAA1e,GAEA,GAAAy6K,aAAAhkK,MACA,OAAA3D,IAGA0nK,EAAAz2J,eAAA,EACA,IAAA7mB,EAAAu9K,EAAAv9K,MACA,aAAAA,EACAA,aAAAuZ,MAAAvZ,EAAA8C,GAAA9C,OADA,IAMAs9K,GAGAz+J,cAAA,CACA5d,iBAAA,MACAi3G,OAAA,GAEAs/D,YAAA,IACAC,qBAAA,IAUAC,UAAA,cAEAliC,UAAA,CACA3lF,QAAA,IAGAgY,WAAA,CACA52D,QAAA,EACAu3D,gBAAA,CACA31C,SAAA,EACA41C,WAAA,EACAC,SAAA,EACAC,WAAA,EACA13D,QAAA,SAQA,SAAAxS,EAAAwrB,EAAArvB,GAEA,aACA,IAAA89B,EAAA99B,EAAA,GACA+9B,EAAA/9B,EAAAgvB,EAAA8O,GACAiiE,EAAA//F,EAAA,GACA8kH,EAAA9kH,EAAA,IACAumM,EAAAvmM,EAAA,KACA0oL,EAAA1oL,EAAA,KACAwlJ,EAAAxlJ,EAAA,GASA+9B,EAAAr0B,EAAAitK,gBAAA,CAEAr1K,KAAA,UAEAsmH,UAAA,EAEAvjG,KAAA,SAAA3I,EAAAxV,GACA/E,KAAA8mH,QAAA,IAAAloB,EAAA,KAAAtrE,KACAtzB,KAAAkvE,OAAA,IAAAy0C,EAAA,qBACA3jH,KAAAkvE,OAAA3xC,IAAAv9B,KAAA8mH,SAEA9mH,KAAAwnL,cAAA,IAAAD,EAAA,KAAAvnL,KAAAkvE,QAEAlvE,KAAAqlM,mBAAAzmG,EAAA,KAAA7kE,aAAA,gBACA/5B,KAAAslM,iBAAA1mG,EAAA,KAAA7kE,aAAA,oBAEA/5B,KAAAulM,aAAA,GACAvlM,KAAA87K,aAAA,GAGA5oH,OAAA,SAAA54C,EAAAC,EAAAxV,GACA/E,KAAA8mH,QAAAziD,YACArkE,KAAAwnL,cAAAntK,MAAAC,EAAAvV,GAEA,IAAAw8F,EAAAvhG,KAAAulM,aAAA,GACAhkG,IACAA,EAAAvhG,KAAAulM,aAAA,GAAAvlM,KAAAwlM,iBAAAlrL,IAEAta,KAAAulM,aAAAhiM,OAAA,EAEAvD,KAAA8mH,QAAAvpF,IAAAgkE,GACAvhG,KAAAylM,iBAAAnrL,EAAAinF,EAAA,EAAAjnF,EAAAE,UAAAb,SAEA3Z,KAAAkvE,OAAArN,cAAAvnD,EAAAqgB,SAAA,cAAA51B,IAGAi3K,yBAAA,SAAA1hK,EAAAC,EAAAxV,GACA/E,KAAA8mH,QAAAziD,YACArkE,KAAAwnL,cAAAntK,MAAAC,EAAAvV,GAEA/E,KAAA87K,aAAA,EAEA97K,KAAAkvE,OAAArN,cAAAvnD,EAAAqgB,SAAA,cAAA51B,IAGAk3K,kBAAA,SAAAj3J,EAAA1K,EAAAC,EAAAxV,GACA,IAAAw8F,EAAAvhG,KAAAulM,aAAAvlM,KAAA87K,cACAv6E,IACAA,EAAAvhG,KAAAwlM,iBAAAlrL,GACAta,KAAAulM,aAAAvlM,KAAA87K,cAAAv6E,GAEAvhG,KAAAylM,iBAAAnrL,EAAAinF,EAAAv8E,EAAAoH,MAAApH,EAAAuE,KACAvpB,KAAA8mH,QAAAvpF,IAAAgkE,GACAx8F,EAAA2sB,QAAAyB,UAEAnzB,KAAA87K,gBAGAx5D,gBAAA,SAAAhoG,EAAAC,EAAAxV,GACAuV,EAAApV,iBAAAy/G,kBACA3kH,KAAAwnL,cAAAllE,gBAAAhoG,EAAAvV,IAIAygM,iBAAA,SAAAlrL,GACA,IAAAinF,EAAA,IAAA3C,EAAA,KAAArrE,KAAA,CACAqsE,gBAAA,EACA/sE,SAAA,IAAA+rE,EAAA,KAAAnrE,SAAA,CACAd,OAAAisE,EAAA,KAAA7kE,aAAA,gBACA25B,aAAA,EACAH,WAAA,EACA8C,WAAA,IAEAp6B,SAAA,IAAAmpK,EAAA,MACAl/H,aAAA,GACAC,eAAA,EACApkC,SAAA,IAEAouD,KAAAyO,EAAA,KAAArrE,KAAA6hB,MACAwkC,SAAA,IAGA,OAAA2nB,GAGAkkG,iBAAA,SAAAnrL,EAAAinF,EAAAn1E,EAAA7C,GACA,IAAAhe,EAAA+O,EAAAE,UACA+mF,EAAA1uE,SAAAyjC,MAAA,YAAAh8C,EAAA7U,IAAA,aACAm5F,EAAA,KAAAjmE,cAAA,KACA,IAAA+sK,EAAAprL,EAAA7U,IAAA,0BACA25K,EAAA9kK,EAAA7U,IAAA,YACAw2B,EAAAslE,EAAAtlE,SACAh3B,EAAAqV,EAAApV,iBAEAuL,EAAA4zI,EAAA,KAAA/sH,aAAAhd,EAAA7U,IAAA,sBAEAgL,EAAA,GACA8wF,EAAA1uE,SAAAF,SAAA3yB,KAAAslM,kBACA/jG,EAAA1uE,SAAA4jC,aAAAz2D,KAAAslM,kBAEA/jG,EAAApR,KAAAyO,EAAA,KAAArrE,KAAAgiB,YAGAgsD,EAAA1uE,SAAAF,SAAA3yB,KAAAqlM,oBACA9jG,EAAA1uE,SAAA4jC,aAAAz2D,KAAAqlM,oBAEA9jG,EAAApR,KAAAyO,EAAA,KAAArrE,KAAA6hB,OAGAhpB,KAAA,EACA7C,KAAAhe,EAAAoO,QAEAsiB,EAAAwqC,cACA,IAAAvqC,EAAA,EACA8qC,EAAA,EACA3qD,EAAA,GACAC,EAAA,GACAC,EAAA,GACAwxC,EAAA,GAEA4vF,EAAA,GAEAvhI,EAAA,GACA8zC,EAAA,GAEA,SAAAy1I,IACArpL,EAAA,GAAAD,EAAA,GAAA6zC,EAAAnC,EAAA,GAAA3xC,GAAAC,EAAA,GAAA0xC,EAAA,IAAA23I,EACAppL,EAAA,GAAAD,EAAA,GAAA6zC,EAAAnC,EAAA,GAAA3xC,GAAA2xC,EAAA,GAAA1xC,EAAA,IAAAqpL,EACAnpL,EAAA,GAAAF,EAAA,GAAAD,EAAA2xC,EAAA,GAAAmC,GAAA7zC,EAAA,GAAA0xC,EAAA,IAAA23I,EACAnpL,EAAA,GAAAF,EAAA,GAAAD,EAAA2xC,EAAA,GAAAmC,GAAAnC,EAAA,GAAA1xC,EAAA,IAAAqpL,EAEA,GAAAtmB,GAAA,IAAAsmB,EACA,QAAA/nL,EAAAyO,EAAiCzO,EAAA4L,EAAW5L,IAC5C,GAAAyhK,EAAA,CACA,IAAAzlK,EAAAW,EAAAuqL,mBAAAlnL,GACAue,GAAAD,EAAAsrC,uBAAA5tD,GACAqtD,GAAA/qC,EAAAwrC,yBAAA9tD,QAGAW,EAAAwqL,cAAAnnL,EAAAggI,GACA39I,KAAAwnL,cAAAjiL,YAAAN,EAAA04I,EAAA,GAAAthI,GACArc,KAAAwnL,cAAAjiL,YAAAN,EAAA04I,EAAA,GAAA5vF,GACA43I,IAEAzpK,GAAAD,EAAAirC,yBAAA7qD,EAAAC,EAAAC,EAAAwxC,GACAiZ,GAAA/qC,EAAAorC,2BAAAhrD,EAAAC,EAAAC,EAAAwxC,OAIA,CACA,IAAA63I,EAAAr8K,EAAA6C,EACA8P,GAAA0pK,EAAA3pK,EAAAqrC,qBACAN,GAAA4+H,EAAA3pK,EAAAqrC,qBAEArrC,EAAA4qC,eAAA3qC,GACAD,EAAA6qC,iBAAAE,GAEA,IAAAvhD,EAAA2G,EACAi6E,EAAA,GACA,IAAA1oF,EAAAyO,EAA6BzO,EAAA4L,EAAW5L,IAAA,CACxCihF,EAAA,KAAA1lE,WAAA3tB,EAAAic,cAAA/B,EAAA,SAAA4gF,GACA,IAAAvyC,EAAAuwF,EAAA,KAAA/sH,aAAA/rB,EAAAic,cAAA/B,EAAA,cACA4gF,EAAA,IAAAvyC,EAEAn6C,EAAAW,EAAAwqL,cAAAnnL,EAAAggI,GACA,IADA,IACAj9H,EAAA,EAA2BA,EAAA/G,EAAW+G,IACtC1gB,KAAAwnL,cAAAjiL,YAAAN,EAAA04I,EAAAj9H,GAAAi9H,EAAAj9H,IAGA0+J,EACAnjJ,EAAAwtC,YAAAk0E,EAAAt3C,EAAA51F,EAAA,EAAAkJ,GAEA,IAAA+rL,GACArpL,EAAAshI,EAAA,GACA5vF,EAAA4vF,EAAA,GACAgoD,IACA1pK,EAAA4rC,cAAAxrD,EAAAC,EAAAC,EAAAwxC,EAAAs4C,EAAA51F,IAGAwrB,EAAAwtC,YAAAk0E,EAAAt3C,EAAA51F,EAAA,KAEAgV,MAIA3P,QAAA,WACA9V,KAAA8mH,QAAAziD,aAGA73D,OAAA,WACAxM,KAAA8mH,QAAAziD,4CCnovDA,IAAAwd,EAAchjF,EAAQ,QAEtBijF,EAAAD,EAAAC,aAEAtiF,EAAaX,EAAQ,QAqBrBgnM,GADAn/L,KAAAC,GACAD,KAAAC,GAAA,KAEA,SAAAlE,EAAA0X,EAAAI,EAAAxV,EAAAynB,GACAjS,EAAA+kG,iBAAAnlG,EAAA,SAAAG,GACA,IAAA4B,EAAA5B,EAAA7U,IAAA,UACA0W,EAAA7B,EAAA7U,IAAA,UAEAjG,EAAAwJ,QAAAmT,KACAA,EAAA,GAAAA,IAGA3c,EAAAwJ,QAAAkT,KACAA,EAAA,CAAAA,MAGA,IAAA5Z,EAAAyC,EAAAwJ,WACAhM,EAAAwC,EAAAu5D,YACArjD,EAAAvU,KAAAQ,IAAA5E,EAAAC,GACAkc,EAAAqjE,EAAA5lE,EAAA,GAAA5Z,GACAoc,EAAAojE,EAAA5lE,EAAA,GAAA3Z,GACAoc,EAAAmjE,EAAA3lE,EAAA,GAAAlB,EAAA,GACA2D,EAAAkjE,EAAA3lE,EAAA,GAAAlB,EAAA,GACA4D,GAAAvE,EAAA7U,IAAA,cAAAogM,EACAC,EAAAxrL,EAAA7U,IAAA,YAAAogM,EACAE,EAAAzrL,EAAAE,UAAAwrL,KAAA/4K,KACAg5K,EAAA3rL,EAAA4rL,cACAC,EAAAF,EAAAniI,MACA7tC,EAAA3b,EAAA7U,IAAA,QAEA,MAAAwwB,GACAmwK,EAAAH,EAAAhwK,GAGA,IAAAowK,EAAA,EACA7mM,EAAA2nB,KAAA8+K,EAAA9hI,SAAA,SAAA/xC,IACAxY,MAAAwY,EAAA27J,aAAAsY,MAEA,IAAA3sL,EAAAusL,EAAAlY,WAEAuY,EAAA5/L,KAAAC,IAAA+S,GAAA2sL,GAAA,EACAE,EAAAN,EAAAniI,MAAA,EACA0iI,EAAAP,EAAA1jM,QAAAgkM,GAAA,KACAE,GAAA7nL,EAAAD,IAAA6nL,GAAA,GACAznL,EAAAzE,EAAA7U,IAAA,aACAihM,EAAApsL,EAAA7U,IAAA,oBAIAi0B,EAAA3a,EAAA,KAMA4nL,EAAA,SAAAtpL,EAAAwB,GACA,GAAAxB,EAAA,CAIA,IAAAyB,EAAAD,EAEA,GAAAxB,IAAA0oL,EAAA,CAEA,IAAA9hM,EAAAoZ,EAAA0wK,WACA9nI,EAAA,IAAAvsC,GAAAgtL,EAAAJ,EAAAriM,EAAAqiM,EAEArgJ,EAAA6/I,GACA7/I,EAAA6/I,EACAA,GAEA7hM,EAGA6a,EAAAD,EAAA6a,EAAAusB,EACA,IAAA6d,EAAAzmD,EAAAymD,MAAAqiI,GAAAI,GAAA,KACAK,EAAAjoL,EAAA8nL,EAAA3iI,EACA+iI,EAAAloL,EAAA8nL,GAAA3iI,EAAA,GACA54C,EAAA7N,EAAAsd,WAEA,MAAAzP,EAAAzlB,IAAA,QACAmhM,EAAA9kH,EAAA52D,EAAAzlB,IAAA,MAAAwV,EAAA,IAGA,MAAAiQ,EAAAzlB,IAAA,OACAohM,EAAA/kH,EAAA52D,EAAAzlB,IAAA,KAAAwV,EAAA,IAGAoC,EAAAq2J,UAAA,CACAztH,QACApnC,aACAC,WACAC,YACAN,KACAC,KACAC,GAAAioL,EACAhoL,EAAAioL,IAKA,GAAAxpL,EAAA8mD,UAAA9mD,EAAA8mD,SAAA5gE,OAAA,CAEA,IAAAujM,EAAA,EACAtnM,EAAA2nB,KAAA9J,EAAA8mD,SAAA,SAAA9mD,GACAypL,GAAAH,EAAAtpL,EAAAwB,EAAAioL,KAIA,OAAAhoL,EAAAD,IAIA,GAAA0nL,EAAA,CACA,IAAAK,EAAAjoL,EACAkoL,EAAAloL,EAAA8nL,EACAxgJ,EAAA,EAAAv/C,KAAAC,GACAo/L,EAAAryB,UAAA,CACAztH,QACApnC,aACAC,SAAAD,EAAAonC,EACAlnC,YACAN,KACAC,KACAC,GAAAioL,EACAhoL,EAAAioL,IAIAF,EAAAV,EAAApnL,KAWA,SAAAunL,EAAA/oL,EAAA0pL,GACA,IAAA5iI,EAAA9mD,EAAA8mD,UAAA,GACA9mD,EAAA8mD,SAAAluC,EAAAkuC,EAAA4iI,GAEA5iI,EAAA5gE,QACA/D,EAAA2nB,KAAA9J,EAAA8mD,SAAA,SAAA/xC,GACAg0K,EAAAh0K,EAAA20K,KAaA,SAAA9wK,EAAAkuC,EAAA6iI,GACA,uBAAAA,EACA,OAAA7iI,EAAAluC,KAAA+wK,GAEA,IAAAD,EAAA,QAAAC,EACA,OAAA7iI,EAAAluC,KAAA,SAAA1tB,EAAAC,GACA,IAAAoU,GAAArU,EAAAwlL,WAAAvlL,EAAAulL,aAAAgZ,EAAA,MACA,WAAAnqL,GAAArU,EAAAkd,UAAAjd,EAAAid,YAAAshL,GAAA,KAAAnqL,IAKAla,EAAAC,QAAAF,0BCtNA,IAAAI,EAAehE,EAAQ,QACvBwJ,EAAgBxJ,EAAQ,QACxBooM,EAAcpoM,EAAQ,OAARA,CAAgB,WAC9B6D,EAAAC,QAAA,SAAAukM,EAAA9zF,GACA,IACA4lB,EADA2yC,EAAA9oK,EAAAqkM,GAAAhnM,YAEA,YAAAoI,IAAAqjK,QAAArjK,IAAA0wH,EAAAn2H,EAAA8oK,GAAAs7B,IAAA7zF,EAAA/qG,EAAA2wH,4BCaA,IAAAp6H,EAAcC,EAAQ,QAoBtB4D,EAAA7D,EAAAu3I,qBAAA,CACAh2I,KAAA,UACA4lH,aAAA,gBACAjjG,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,GACA++E,MAAA,EAEAirF,aAAA,EAGA/vL,QAAA,OAEAgwL,UAAA,kBACAC,mBAAA,EACAC,YAAA,SAEA3hL,WAAA,OAWA4hL,SAAA,EAGAC,UAAA,EAEAC,UAAA,IAEAC,mBAAA,GACAC,WAAA,EAEAjrF,gBAAA,qBAEA7Z,YAAA,OAEA8Z,aAAA,EAEAC,YAAA,EAGA1rG,QAAA,EAEA42I,aAAA,GAEAlQ,YAAA,CAGAz3I,KAAA,OAKA6E,KAAA,OACA04E,UAAA,OACA+B,wBAAA,IACAG,sBAAA,iBACAgoH,WAAA,CACA9gL,MAAA,OACAxkB,MAAA,EACAnC,KAAA,SAEAs8G,UAAA,KAKAA,UAAA,CACA31F,MAAA,OACApT,SAAA,OAKAhR,EAAAC,QAAAF,0BCpGA,IAAAjD,EAAaX,EAAQ,QAErBgpM,EAAoBhpM,EAAQ,QAwB5BsoB,EAAA3nB,EAAA2nB,KAEA,SAAA2gL,EAAAh9L,GACA,GAAAA,EACA,QAAAwD,KAAAxD,EACA,GAAAA,EAAAI,eAAAoD,GACA,SAaA,SAAAy5L,EAAA5kL,EAAA6kL,EAAAC,GACA,IAAAC,EAAA,GAuBA,OAtBA/gL,EAAA6gL,EAAA,SAAAG,GACA,IAAAC,EAAAF,EAAAC,GAAAE,IACAlhL,EAAAhE,EAAAglL,GAAA,SAAAG,EAAAC,GACA,GAAAV,EAAAW,YAAAD,GAAA,CAIA,IAAAE,EAAA,CACAtoM,KAAAooM,EACAG,OAAAJ,GAEAL,KAAAQ,EAAAN,GACAC,EAAAG,GAAA,IAAAV,EAAAY,GAGA,YAAAF,IACAE,EAAAjpM,EAAA+V,MAAAkzL,GACAA,EAAAtoM,KAAA,aACAioM,EAAAO,SAAAC,kBAAA,IAAAf,EAAAY,SAIAP,EAEA,SAAAG,IACA,IAAAQ,EAAA,aAIAA,EAAA5oM,UAAA0oM,SAAAE,EAAA5oM,UACA,IAAA6K,EAAA,IAAA+9L,EACA,OAAA/9L,GAUA,SAAAg+L,EAAAzxD,EAAAlzD,EAAAnuD,GAKA,IAAA69D,EACAr0F,EAAA2nB,KAAA6O,EAAA,SAAA/qB,GACAk5E,EAAAj5E,eAAAD,IAAA68L,EAAA3jH,EAAAl5E,MACA4oF,GAAA,KAGAA,GAAAr0F,EAAA2nB,KAAA6O,EAAA,SAAA/qB,GACAk5E,EAAAj5E,eAAAD,IAAA68L,EAAA3jH,EAAAl5E,IACAosI,EAAApsI,GAAAzL,EAAA+V,MAAA4uE,EAAAl5E,WAEAosI,EAAApsI,KAeA,SAAA89L,EAAAf,EAAAE,EAAA38L,EAAAy9L,EAAA1gL,EAAAgrJ,GACA,IAKA7tJ,EALAwjL,EAAA,GAOA,SAAA1rL,EAAAtS,GACA,OAAAM,EAAAic,cAAA/B,EAAAxa,GAGA,SAAAuf,EAAAvf,EAAAhH,GACAsH,EAAA0f,cAAAxF,EAAAxa,EAAAhH,GASA,SAAAilM,EAAAC,EAAAtlM,GACA4hB,EAAA,MAAA6tJ,EAAA61B,EAAAtlM,EACA,IAAAulM,EAAA79L,EAAAk+K,eAAAhkK,GAEA,IAAA2jL,IAAA,IAAAA,EAAAC,UAQA,IAJA,IAAAC,EAAAN,EAAAjpM,KAAAuoB,EAAA6gL,GACAf,EAAAF,EAAAoB,GACAC,EAAAN,EAAAK,GAEAv+L,EAAA,EAAA0B,EAAA88L,EAAAhmM,OAA6CwH,EAAA0B,EAAS1B,IAAA,CACtD,IAAA5K,EAAAopM,EAAAx+L,GACAq9L,EAAAjoM,IAAAioM,EAAAjoM,GAAA4oM,YAAAI,EAAA5rL,EAAAiN,IAlCAhrB,EAAA2nB,KAAA6gL,EAAA,SAAAG,GACA,IAAAoB,EAAA1B,EAAA2B,mBAAAtB,EAAAC,IACAc,EAAAd,GAAAoB,IAYA,MAAAj2B,EACA/nK,EAAA4b,KAAA+hL,GAEA39L,EAAA4b,KAAA,CAAAmsJ,GAAA41B,GA8BA,SAAAO,EAAAzB,EAAAE,EAAAc,EAAA1tL,GACA,IAAA2tL,EAAA,GAMA,SAAA7tB,EAAAp2J,EAAAzZ,GAKA,SAAAgS,EAAAtS,GACA,OAAAM,EAAAic,cAAA/B,EAAAxa,GAGA,SAAAuf,EAAAvf,EAAAhH,GACAsH,EAAA0f,cAAAxF,EAAAxa,EAAAhH,GAGA,IAAAwhB,EAZA,MAAAnK,IACAA,EAAA/P,EAAAyiL,aAAA1yK,IAaA,aAAAmK,EAAAT,EAAAjhB,QAAA,CACA,IAAAqlM,EAAA79L,EAAAk+K,eAAAhkK,GAEA,IAAA2jL,IAAA,IAAAA,EAAAC,UASA,IALA,IAAAplM,EAAA,MAAAqX,EAAA/P,EAAA9F,IAAA6V,EAAAmK,GAAA,GAAAA,EACA6jL,EAAAN,EAAA/kM,GACAmkM,EAAAF,EAAAoB,GACAC,EAAAN,EAAAK,GAEAv+L,EAAA,EAAA0B,EAAA88L,EAAAhmM,OAA+CwH,EAAA0B,EAAS1B,IAAA,CACxD,IAAA5K,EAAAopM,EAAAx+L,GACAq9L,EAAAjoM,IAAAioM,EAAAjoM,GAAA4oM,YAAA9kM,EAAAsZ,EAAAiN,KAKA,OAvCAhrB,EAAA2nB,KAAA6gL,EAAA,SAAAG,GACA,IAAAoB,EAAA1B,EAAA2B,mBAAAtB,EAAAC,IACAc,EAAAd,GAAAoB,IAqCA,CACAnuB,YAIAz4K,EAAAolM,uBACAplM,EAAAmmM,sBACAnmM,EAAAomM,cACApmM,EAAA8mM,iDCxNA5qM,EAAQ,QAERA,EAAQ,QAERA,EAAQ,8BCxBR,IAAA4D,EAAA,qBAAAkI,gBAAAkhD,uBAAAlhD,OAAAkhD,sBAAAjjD,KAAA+B,SACAA,OAAAmhD,yBAAAnhD,OAAAmhD,wBAAAljD,KAAA+B,gBAAAohD,0BAAAphD,OAAAqhD,8BAAA,SAAAxC,GACAyC,WAAAzC,EAAA,KAGA9mD,EAAAC,QAAAF,0BCLA,IAAAmvB,EAAW/yB,EAAQ,QAEnB6qM,EAAa7qM,EAAQ,QAErB8qM,EAAAD,EAAAC,WAEA99I,EAA4BhtD,EAAQ,QAEpCgyI,EAAehyI,EAAQ,QAwCvB+qM,EAAA,SAAA/5L,GACAA,KAAA,GACA7P,KAAA6pM,MAAAh6L,EAAAg6L,OAAA,GAEA7pM,KAAAqwI,QAAAxgI,EAAAwgI,SAAA,aAGArwI,KAAA8pM,OAAA,GACA9pM,KAAA+pM,UAAA,EACA/pM,KAAAgqM,MACAhqM,KAAAqyI,YACAryI,KAAAiqM,YACAjqM,KAAAqxI,SAAA,EACAs4D,EAAA5pM,KAAAC,OAGA4pM,EAAA3pM,UAAA,CACAC,YAAA0pM,EAMAh4D,QAAA,SAAAtB,GACAtwI,KAAA8pM,OAAAn3L,KAAA29H,IAOAjD,YAAA,SAAA3rD,GACAA,EAAAhE,UAAA19E,KAGA,IAFA,IAAAkqM,EAAAxoH,EAAAswD,WAEAjnI,EAAA,EAAmBA,EAAAm/L,EAAA3mM,OAAkBwH,IACrC/K,KAAA4xI,QAAAs4D,EAAAn/L,KAQAgnI,WAAA,SAAAzB,GACA,IAAA3yH,EAAAiU,EAAAwZ,QAAAprC,KAAA8pM,OAAAx5D,GAEA3yH,GAAA,GACA3d,KAAA8pM,OAAAz4H,OAAA1zD,EAAA,IAQA4vH,eAAA,SAAA7rD,GAGA,IAFA,IAAAwoH,EAAAxoH,EAAAswD,WAEAjnI,EAAA,EAAmBA,EAAAm/L,EAAA3mM,OAAkBwH,IACrC/K,KAAA+xI,WAAAm4D,EAAAn/L,IAGA22E,EAAAhE,UAAA,MAEAC,QAAA,WASA,IARA,IAAA5lD,GAAA,IAAAC,MAAAmyK,UAAAnqM,KAAAqyI,YAEAvrI,EAAAixB,EAAA/3B,KAAAgqM,MACAE,EAAAlqM,KAAA8pM,OACAr9L,EAAAy9L,EAAA3mM,OACA6mM,EAAA,GACAC,EAAA,GAEAt/L,EAAA,EAAmBA,EAAA0B,EAAS1B,IAAA,CAC5B,IAAAulI,EAAA45D,EAAAn/L,GACAoL,EAAAm6H,EAAA9sI,KAAAu0B,EAAAjxB,GAGAqP,IACAi0L,EAAAz3L,KAAAwD,GACAk0L,EAAA13L,KAAA29H,IAKA,IAAAvlI,EAAA,EAAmBA,EAAA0B,GACnBy9L,EAAAn/L,GAAA6nI,cACAs3D,EAAAn/L,GAAAm/L,EAAAz9L,EAAA,GACAy9L,EAAA79K,MACA5f,KAEA1B,IAIA0B,EAAA29L,EAAA7mM,OAEA,IAAAwH,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5Bs/L,EAAAt/L,GAAA2nI,KAAA03D,EAAAr/L,IAGA/K,KAAAgqM,MAAAjyK,EACA/3B,KAAAqwI,QAAAvpI,GAIA9G,KAAAoX,QAAA,QAAAtQ,GAEA9G,KAAA6pM,MAAAt9K,QACAvsB,KAAA6pM,MAAAt9K,UAGA+9K,WAAA,WACA,IAAA5iK,EAAA1nC,KAGA,SAAAwD,IACAkkC,EAAAqiK,WACAl+I,EAAAroD,IACAkkC,EAAA2pG,SAAA3pG,EAAAi2C,WALA39E,KAAA+pM,UAAA,EASAl+I,EAAAroD,IAMA4oB,MAAA,WACApsB,KAAAgqM,OAAA,IAAAhyK,MAAAmyK,UACAnqM,KAAAqyI,YAAA,EAEAryI,KAAAsqM,cAMApzL,KAAA,WACAlX,KAAA+pM,UAAA,GAMA34D,MAAA,WACApxI,KAAAqxI,UACArxI,KAAAiqM,aAAA,IAAAjyK,MAAAmyK,UACAnqM,KAAAqxI,SAAA,IAOAC,OAAA,WACAtxI,KAAAqxI,UACArxI,KAAAqyI,cAAA,IAAAr6G,MAAAmyK,UAAAnqM,KAAAiqM,YACAjqM,KAAAqxI,SAAA,IAOA3kI,MAAA,WACA1M,KAAA8pM,OAAA,IAMAhqI,WAAA,WACA,OAAA9/D,KAAA8pM,OAAAvmM,QAcAg5B,QAAA,SAAAlmB,EAAAxG,GACAA,KAAA,GACA,IAAA6xE,EAAA,IAAAmvD,EAAAx6H,EAAAxG,EAAA2gI,KAAA3gI,EAAA2d,OAAA3d,EAAAu/H,QAEA,OADApvI,KAAAqtI,YAAA3rD,GACAA,IAGA9vD,EAAAhZ,MAAAgxL,EAAAD,GACA,IAAAlnM,EAAAmnM,EACAlnM,EAAAC,QAAAF,wBChNA,IAAAA,EAAA,CACA8nM,QAAA,CACAnqM,MAAA,CACAoqM,MAAA,CACA/oM,KAAA,OACAujG,QAAA,KACAylG,MAAA,OACAC,MAAA,OACAC,KAAA,OACAj+L,MAAA,SAGAk+L,SAAA,CACAJ,MAAA,OACAK,KAAA,oBAEAC,SAAA,CACAN,MAAA,CACAxoF,KAAA,OACA+oF,KAAA,WAGAC,UAAA,CACAR,MAAA,CACAhjM,KAAA,SACAyjM,IAAA,SACAC,MAAA,QACAC,MAAA,UAGA7xL,QAAA,CACAkxL,MAAA,MAEAY,YAAA,CACAZ,MAAA,QACAK,KAAA,cAGAjlL,OAAA,CACAylL,UAAA,CACAC,IAAA,KACAL,IAAA,MACAzjM,KAAA,MACA+jM,QAAA,MACAC,cAAA,QACAC,MAAA,MACAzF,KAAA,KACA0F,QAAA,OACAC,QAAA,MACAC,YAAA,MACAlrL,EAAA,MACAmrL,QAAA,MACAz+L,IAAA,KACA0+L,SAAA,QACA36L,MAAA,KACA2L,MAAA,MACAivL,OAAA,MACAC,OAAA,MACAC,MAAA,OACAC,aAAA,OACAC,WAAA,QACAC,SAAA,QAGAC,KAAA,CACAC,QAAA,CACAC,UAAA,sBACAC,aAAA,WAEA5mL,OAAA,CACA6mL,OAAA,CACAv2K,OAAA,GACAw2K,SAAA,oCACAC,YAAA,sBAEAC,SAAA,CACA12K,OAAA,0BACAw2K,SAAA,gDACAC,YAAA,iCACAE,UAAA,CACA5wH,OAAA,IACA1yD,IAAA,OAIAhe,KAAA,CACAuhM,QAAA,SACAC,YAAA,uBACAL,SAAA,oBACAC,YAAA,UACAE,UAAA,CACA5wH,OAAA,IACA1yD,IAAA,OAKA7mB,EAAAC,QAAAF,uCCrIA,IAAA6I,EAAYzM,EAAQ,QAEpB,SAAAmuM,IACAhtM,KAAA4zF,SAAA,GAWAo5G,EAAA/sM,UAAAqiC,IAAA,SAAA2qK,EAAAC,GAKA,OAJAltM,KAAA4zF,SAAAjhF,KAAA,CACAs6L,YACAC,aAEAltM,KAAA4zF,SAAArwF,OAAA,GAQAypM,EAAA/sM,UAAAktM,MAAA,SAAAlhL,GACAjsB,KAAA4zF,SAAA3nE,KACAjsB,KAAA4zF,SAAA3nE,GAAA,OAYA+gL,EAAA/sM,UAAA4K,QAAA,SAAAzH,GACAkI,EAAAT,QAAA7K,KAAA4zF,SAAA,SAAA7yE,GACA,OAAAA,GACA3d,EAAA2d,MAKAre,EAAAC,QAAAqqM,0BC/BA,IAAAI,EAA0BvuM,EAAQ,QAsBlC4D,EAAA,CACA0X,WAAA,QACAkzL,KAAAD,IACA/yL,MAAA,SAAAC,GACA,IAAArV,EAAAqV,EAAApV,iBACAk6K,EAAA9kK,EAAA7U,IAAA,YACA6nM,EAAAhzL,EAAA0O,gBAAAo+J,MAEA,SAAAhM,EAAAp2J,EAAAu8J,GACA,IAAA5jC,EAAA,GAEA,GAAA2vD,EAAA,CACA,IAAA5lI,EACAP,EAAAniD,EAAAuE,IAAAvE,EAAAoH,MAEA,GAAAgzJ,EAAA,CAGA,IAFA,IAAAmuB,EAAA,EAEAxiM,EAAAia,EAAAoH,MAAoCrhB,EAAAia,EAAAuE,IAAgBxe,IACpDwiM,GAAAjzL,EAAAuqL,mBAAA95L,GAGA28D,EAAA,IAAAl8B,aAAA27B,EAAA,EAAAomI,QAEA7lI,EAAA,IAAAl8B,aAAA,EAAA27B,GAGA,IAAAphB,EAAA,EACA88D,EAAA,GAEA,IAAA93G,EAAAia,EAAAoH,MAAkCrhB,EAAAia,EAAAuE,IAAgBxe,IAAA,CAClD,IAAA0B,EAAA6N,EAAAwqL,cAAA/5L,EAAA4yI,GAEAyhC,IACA13G,EAAA3hB,KAAAt5C,GAGA,QAAAiU,EAAA,EAAyBA,EAAAjU,EAASiU,IAClCmiG,EAAA59G,EAAAM,YAAAo4I,EAAAj9H,IAAA,EAAAmiG,GACAn7C,EAAA3hB,KAAA88D,EAAA,GACAn7C,EAAA3hB,KAAA88D,EAAA,GAIA0+D,EAAA7N,UAAA,cAAAhsG,QAEA,IAAA38D,EAAAia,EAAAoH,MAAkCrhB,EAAAia,EAAAuE,IAAgBxe,IAAA,CAClD,IAAAmgB,EAAAq2J,EAAAp2J,aAAApgB,GAEAkS,GADAxQ,EAAA6N,EAAAwqL,cAAA/5L,EAAA4yI,GACA,IAEA,GAAAyhC,EACA,QAAA1uK,EAAA,EAA2BA,EAAAjE,EAASiE,IACpCuM,EAAAtK,KAAA1N,EAAAM,YAAAo4I,EAAAjtI,SAEW,CACXuM,EAAA,GAAAhY,EAAAM,YAAAo4I,EAAA,IACA1gI,EAAA,GAAAhY,EAAAM,YAAAo4I,EAAA,IACA,IAAA+nD,EAAAx6K,EAAAzlB,IAAA,wBAEAigM,IACAzoL,EAAA,KAAAA,EAAA,MAAAA,EAAA,UAAAA,EAAA,MAAAA,EAAA,OAAAyoL,GAAAzoL,EAAA,MAAAA,EAAA,UAAAA,EAAA,MAAAA,EAAA,OAAAyoL,IAIAnkB,EAAA9N,cAAA1oK,EAAAkS,IAKA,OACAm+J,cAIA14K,EAAAC,QAAAF,0BCjGA,IAAA7D,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAER,IAAAE,EAAmBF,EAAQ,QAE3By0L,EAAmBz0L,EAAQ,QAE3BA,EAAQ,QAsBRD,EAAAO,eAAAJ,EAAA,qBACAH,EAAAQ,eAAAk0L,EAAA,kCCjCA,IAAApvL,EAAcrF,EAAQ,QAEtB2c,EAAW3c,EAAQ,QAwBnB2uM,EAAAtpM,EAAAupM,KAAAxtM,UACAytM,EAAAxpM,EAAAypM,YAAA1tM,UAEA,SAAA2tM,EAAAhmM,GACA,OAAAgS,OAAAhS,EAAAimM,OAAAj0L,OAAAhS,EAAAkmM,MAGA,IAAArrM,EAAAyB,EAAA6pM,YAAA,CACA5tM,KAAA,UACAI,MAAA,CACAI,OAAA,OACAD,KAAA,MAEAkH,MAAA,CACAgoD,GAAA,EACAC,GAAA,EACArwB,GAAA,EACAC,GAAA,EACA04E,QAAA,EACA01F,KAAA,KACAC,KAAA,MAEA9uL,UAAA,SAAA3e,EAAAuH,IACAgmM,EAAAhmM,GAAA4lM,EAAAE,GAAA1uL,UAAA3e,EAAAuH,IAEAomM,QAAA,SAAA5xL,GACA,OAAAwxL,EAAA5tM,KAAA4H,OAAA4lM,EAAAQ,QAAAjuM,KAAAC,KAAAoc,GAAAsxL,EAAAM,QAAAjuM,KAAAC,KAAAoc,IAEA6xL,UAAA,SAAA7xL,GACA,IAAAxU,EAAA5H,KAAA4H,MACAkZ,EAAA8sL,EAAAhmM,GAAA,CAAAA,EAAA43B,GAAA53B,EAAAgoD,GAAAhoD,EAAA63B,GAAA73B,EAAAioD,IAAA69I,EAAAO,UAAAluM,KAAAC,KAAAoc,GACA,OAAAZ,EAAA6C,UAAAyC,QAIApe,EAAAC,QAAAF;;;;;;;AC1EAC,EAAAC,QAAA,SAAAmI,GACA,aAAAA,GAAA,MAAAA,EAAA5K,aACA,oBAAA4K,EAAA5K,YAAA2I,UAAAiC,EAAA5K,YAAA2I,SAAAiC,4BCWA,IAAAlM,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBqvM,EAAervM,EAAQ,QAEvBoH,EAAAioM,EAAAjoM,OACAkoM,EAAAD,EAAAC,YAEAtvM,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAqBRD,EAAAQ,eAAAI,EAAAmqB,MAAA1jB,EAAA,QAEArH,EAAAQ,eAAA+uM,GACAvvM,EAAAO,eAAA,CACAgb,WAAA,MACAE,MAAA,SAAAC,GAEAA,EAAAE,UAAAgQ,UAAA,uDC3CA,IAAA5rB,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBuvM,EAAmBvvM,EAAQ,QAE3BwvM,EAA2BxvM,EAAQ,QAEnCA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAoBR,IAAAyvM,EAAA,EAGA1vM,EAAAu7I,oBAAA,CACAh6I,KAAA,WACA+yD,OAAA,SAAAq7I,EAAAh0L,EAAAxV,GACA/E,KAAAm7I,OAAAozD,EACAvuM,KAAAggG,KAAAj7F,EAEA/E,KAAAgwK,YACAhwK,KAAAgwK,UAAA,GACAxwK,EAAA2nB,KAAAysE,EAAA,SAAAE,EAAAv7E,GACAxT,EAAA2sB,QAAA9b,GAAA2C,EAAAvY,KAAAgwK,UAAAz3J,GAAA/Y,EAAAoJ,KAAAkrF,EAAA9zF,QACOA,OAGPouM,EAAAI,eAAAxuM,KAAA,2BAAAuuM,EAAA9oM,IAAA,8BAEAqQ,QAAA,SAAAyE,EAAAxV,GACAvF,EAAA2nB,KAAAnnB,KAAAgwK,UAAA,SAAAl8E,EAAAv7E,GACAxT,EAAA2sB,QAAA7b,IAAA0C,EAAAu7E,KAEA9zF,KAAAgwK,UAAA,MAMAy+B,yBAAA,SAAAr5L,GACApV,KAAA0uM,gBAAAt5L,IAEAs5L,gBAAA,SAAAt5L,GACAA,GAAApV,KAAAggG,KAAAoN,eAAA5tG,EAAAkF,OAAA,CACAvE,KAAA,sBACKiV,OAGL,IAAAw+E,EAAA,CACAp/E,UAAA,SAAA2B,GACAw4L,EAAA3uM,KAAA,WACAA,KAAA4uM,gBAAA,CAAAz4L,EAAAI,QAAAJ,EAAAK,WAGA5B,QAAA,SAAAuB,GACA,IAAA04L,EAAA7uM,KAAA4uM,gBAEA,GAAAD,EAAA3uM,KAAA,UAAA6uM,EAAA,CACA,IAAAhlI,EAAA,CAAA1zD,EAAAI,QAAAJ,EAAAK,SACAmnB,EAAAj3B,KAAA2uB,IAAAw5K,EAAA,GAAAhlI,EAAA,MAAAnjE,KAAA2uB,IAAAw5K,EAAA,GAAAhlI,EAAA,MAEA,GAAAlsC,EAAA2wK,EACA,OAGA,IAAA5qM,EAAA1D,KAAAm7I,OAAAj2I,iBAAA4pM,0BAAA,CAAA34L,EAAAI,QAAAJ,EAAAK,UAEA,SAAA9S,EAAAqrM,UAAA/uM,KAAA0uM,gBAAA,CACAM,iBAAAtrM,EAAAsrM,mBAIAhvM,KAAA4uM,gBAAA,MAEAl6L,UAAA,SAAAyB,GAEA,IAAAnW,KAAA4uM,iBAAAD,EAAA3uM,KAAA,cAIA,IAAA2jB,EAAA3jB,KAAAm7I,OACAz3I,EAAAigB,EAAAze,iBAAA4pM,0BAAA,CAAA34L,EAAAI,QAAAJ,EAAAK,UACAu4L,EAAArrM,EAAAqrM,SACA,SAAAA,GAAA/uM,KAAAyuM,yBAAAQ,iBAAAtrL,EAAAle,IAAA,uBAEAzF,KAAAyuM,yBAAA,SAAAM,EAAA,KACA,CACAC,iBAAAtrM,EAAAsrM,iBAEAtxH,UAAA,SAAAqxH,GAAA,UAKA,SAAAJ,EAAAz3G,EAAAkwG,GACA,IAAAzjL,EAAAuzE,EAAAikD,OACA,OAAAx3H,EAAAle,IAAA,mBAAAke,EAAAle,IAAA,yBAAA2hM,EAGAxoM,EAAAU,qBAAA+uM,2BC5IA,IAAAa,EAAAC,EAAAC,GAmBA,SAAAniL,EAAAC,GAGQiiL,EAAO,CAACxsM,EAAW9D,EAAA,SAAUqwM,EAAA,EAASE,EAAA,oBAAAF,IAAAxmM,MAAA/F,EAAAwsM,GAAAD,OAAA5mM,IAAA8mM,IAAA1sM,EAAAC,QAAAysM,IAH9C,CAWCpvM,EAAA,SAAA2C,EAAA/D,GACD,IAAA02B,EAAA,SAAAirG,GACA,qBAAAnoG,SACAA,iBAAA+B,OAAA/B,QAAA+B,MAAAomG,IAGA3hI,EAIAA,EAAAywM,YAIAzwM,EAAAywM,YAAA,SAAkClvM,KAAA,oBAAA67G,SAAA,EAAwC/vF,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,oNAAAC,cAAA,yGAAgXzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,izCAA40CC,cAAA,sDAA8EzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,UAAAmvM,YAAA,ymBAAsiBC,cAAA,kBAAmIzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,0MAAsN,k0EAAg1EC,cAAA,qCAA8DzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,MAAAkhM,SAAA,IAAuD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,8JAA4L,8DAAyD,+7BAA+sBC,cAAA,mRAA6hBzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,KAAuD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,UAAAmvM,YAAA,8qCAA0/BC,cAAA,kBAAoPzvL,WAAA,CAAeD,GAAA,qBAAAvR,KAAA,KAAAkhM,SAAA,IAAoD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,0EAA6D,2hDAA0iDC,cAAA,qCAAsFzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,MAAAkhM,SAAA,IAAuD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,UAAAmvM,YAAA,4oBAAynBC,cAAA,kBAAmFzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,2EAAwG,cAAkB,gBAAe,WAAY,aAAa,sDAAmD,gDAAmD,sJAAiJ,sKAA2K,kEAAiE,4iBAAmb,kBAA0I,sCAAAC,cAAA,+vBAA0zBzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,KAAuD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,u3BAA0tBC,cAAA,sDAAsQzvL,WAAA,CAAeD,GAAA,sBAAAvR,KAAA,KAAAkhM,SAAA,IAAqD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,gDAAgF,6CAA8C,gKAA6J,qyBAA6nBC,cAAA,qTAAkfzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,KAAuD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,UAAAmvM,YAAA,iwBAA6rBC,cAAA,kBAAoIzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,cAA8C,o+BAAs3BC,cAAA,gOAAiWzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,KAAuD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,UAAAmvM,YAAA,o5BAAy3BC,cAAA,kBAA2FzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,g+BAAk8BC,cAAA,qDAAuIzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,mIAAkJ,42BAAm3BC,cAAA,sDAAmFzvL,WAAA,CAAeD,GAAA,sBAAAvR,KAAA,KAAAkhM,SAAA,IAAqD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,yRAA4S,49BAAk8BC,cAAA,2ZAAqdzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,KAAuD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,28BAAg9BC,cAAA,qCAAmFzvL,WAAA,CAAeD,GAAA,sBAAAvR,KAAA,KAAAkhM,SAAA,IAAqD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,UAAAmvM,YAAA,wHAA8FC,cAAA,kBAA0FzvL,WAAA,CAAeD,GAAA,sBAAAvR,KAAA,KAAAkhM,SAAA,IAAqD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,wmDAAooDC,cAAA,qCAA4DzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,ghCAA4iCC,cAAA,sDAA6EzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,UAAAmvM,YAAA,09CAAu+CC,cAAA,kBAAmDzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,UAAAmvM,YAAA,kvDAA2jDC,cAAA,iBAAsPzvL,WAAA,CAAeD,GAAA,sBAAAvR,KAAA,KAAAkhM,SAAA,IAAqD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,UAAAmvM,YAAA,w9BAA63BC,cAAA,kBAA2JzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,stDAAovDC,cAAA,qCAA0DzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,04CAAyuCC,cAAA,oCAAwPzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,4gBAAsc,sBAAAC,cAAA,qCAAoLzvL,WAAA,CAAeD,GAAA,sBAAAvR,KAAA,KAAAkhM,SAAA,IAAqD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,UAAAmvM,YAAA,4hDAAuhDC,cAAA,iBAAoEzvL,WAAA,CAAeD,GAAA,sBAAAvR,KAAA,KAAAkhM,SAAA,IAAqD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,UAAAmvM,YAAA,sQAAkSC,cAAA,kBAAoCzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,UAAAmvM,YAAA,gQAAwMC,cAAA,kBAAwHzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,wLAA2KC,cAAA,yGAAyKzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,s3BAAwpB,cAAAC,cAAA,qCAAoUzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,eAAAmvM,YAAA,mJAA4I,kBAAAC,cAAA,wFAAoKzvL,WAAA,CAAeD,GAAA,uBAAAvR,KAAA,KAAAkhM,SAAA,IAAsD,CAAEvjL,GAAA,SAAA9rB,KAAA,UAAA87B,SAAA,CAA2C97B,KAAA,UAAAmvM,YAAA,eAAAC,cAAA,kBAA+EzvL,WAAA,CAAeD,GAAA,sBAAAvR,KAAA,KAAAkhM,SAAA,KAAqDC,cAAA,IAH50yCn6K,EAAA,6BAJAA,EAAA,mDCjBA,IAAAlU,EAAcviB,EAAQ,QAItBW,GAFA4hB,EAAAC,QAEaxiB,EAAQ,SAErB6wM,EAAkB7wM,EAAQ,QAE1B8wM,EAAmB9wM,EAAQ,QAE3B+wM,EAAAD,EAAAC,gBAEAC,EAA0BhxM,EAAQ,QAElCqvM,EAAervM,EAAQ,QAEvBixM,EAAA5B,EAAA4B,gBAEAC,EAAiBlxM,EAAQ,QAEzB+jB,EAAkB/jB,EAAQ,QAE1BmxM,EAAgBnxM,EAAQ,QAExBoxM,EAAyBpxM,EAAQ,QAEjCqxM,EAAiBrxM,EAAQ,QAEzBsxM,EAAwBtxM,EAAQ,QAEhCuxM,EAAmBvxM,EAAQ,QAE3BwxM,EAAsBxxM,EAAQ,QAoB9ByxM,EAAA,cACAC,EAAA,yBACAC,EAAA,UACAC,EAAA,qBAGAC,EAAA,QAaAC,EAAA,CACAC,YAAAX,EACAjqG,IAAAkqG,EACAW,WAAAV,EACAW,MAAAV,EACAW,SAAAV,GA8HA,SAAAW,EAAApsM,GACA,IACAmsC,EADAkgK,EAAArsM,EAAAzE,KAGA,YAAA8wM,EAAA,CACA,IAAArpM,EAAAhD,EAAAgD,MAEAspM,EAAA,MAAAtpM,EAAAtF,OAAA,MAAAsF,EAAArF,OAAA,CACAP,EAAA4F,EAAA5F,GAAA,EACAC,EAAA2F,EAAA3F,GAAA,EACAK,MAAAsF,EAAAtF,MACAC,OAAAqF,EAAArF,QACK,KACL4uM,EAAAC,EAAAxpM,GAEAmpC,EAAA2+J,EAAArzB,SAAA80B,EAAA,KAAAD,EAAAtpM,EAAA3B,QAAA,UACA8qC,EAAAsgK,iBAAAF,OACG,aAAAF,EACHlgK,EAAA,IAAA2+J,EAAAl+K,MAAA,IACAuf,EAAAugK,kBAAA1sM,EAAArE,MAAAuS,WACG,YAAAm+L,EACHlgK,EAAA,IAAA2+J,EAAA7vM,KAAA,IACAkxC,EAAAwgK,aAAA3sM,EAAArE,MAAAS,SACG,CACH,IAAA+tL,EAAA2gB,EAAAuB,EAAAx+L,OAAA,GAAAmtB,cAAAqxK,EAAA/xK,MAAA,IACA6R,EAAA,IAAAg+I,EAKA,OAFAh+I,EAAAygK,oBAAAP,EACAlgK,EAAAziC,KAAA1J,EAAA0J,KACAyiC,EAGA,SAAA0gK,EAAA1gK,EAAAtrB,EAAA7gB,EAAA8sM,EAAAnmM,EAAAomM,EAAAC,GACA,IAAAC,EAAA,GACAC,EAAAltM,EAAArE,OAAA,GAOA,GANAqE,EAAAgD,QAAAiqM,EAAAjqM,MAAApI,EAAA+V,MAAA3Q,EAAAgD,QACAhD,EAAA0B,WAAAurM,EAAAvrM,SAAA1B,EAAA0B,SAAA44B,SACAt6B,EAAAmT,QAAA85L,EAAA95L,MAAAnT,EAAAmT,MAAAmnB,SACAt6B,EAAA0vF,SAAAu9G,EAAAv9G,OAAA1vF,EAAA0vF,OAAAp1D,SACAt6B,EAAA4B,WAAAqrM,EAAArrM,SAAA5B,EAAA4B,UAEA,UAAAuqC,EAAA5wC,MAAAyE,EAAArE,MAAA,CACA,IAAAwxM,EAAAF,EAAAtxM,MAAA,GACAf,EAAA2nB,KAAA,oCAAAgiC,GACA6oJ,EAAA7oJ,EAAA4oJ,EAAAD,EAAA/gK,EAAAxwC,MAAAoxM,KAIA,YAAA5gK,EAAA5wC,MAAAyE,EAAArE,MAAA,CACAwxM,EAAAF,EAAAtxM,MAAA,GACAf,EAAA2nB,KAAA,mBAAAgiC,GACA6oJ,EAAA7oJ,EAAA4oJ,EAAAD,EAAA/gK,EAAAxwC,MAAAoxM,MAIAG,EAAA5mM,eAAA,aAAA4mM,EAAApxM,OAAAoxM,EAAAhoG,SAAAgoG,EAAApxM,OACAoxM,EAAA5mM,eAAA,eAAA4mM,EAAAnxM,SAAAmxM,EAAA3vM,WAAA2vM,EAAAnxM,QAGA,aAAAowC,EAAA5wC,OACA4wC,EAAAkhK,SAAAH,GAEAH,GAAA,CACA5gK,EAAAxwC,MAAAuzD,QAAA,EACA,IAAAo+I,EAAAJ,EAAAh+I,QACA,MAAAo+I,MAAA,GACAxC,EAAAyC,UAAAphK,EAAA,CACAxwC,MAAA,CACAuzD,QAAAo+I,IAEOR,EAAAjsL,GAIPksL,EACA5gK,EAAAgzC,KAAA8tH,GAEAnC,EAAA0C,YAAArhK,EAAA8gK,EAAAH,EAAAjsL,GAKA7gB,EAAAsG,eAAA,OAAA6lC,EAAAgzC,KAAA,KAAAn/E,EAAA86B,IAAA,GACA96B,EAAAsG,eAAA,WAAA6lC,EAAAgzC,KAAA,SAAAn/E,EAAAyiH,QACAziH,EAAAsG,eAAA,cAAA6lC,EAAAgzC,KAAA,YAAAn/E,EAAAksE,WACAlsE,EAAAsG,eAAA,WAAA6lC,EAAAgzC,KAAA,SAAAn/E,EAAA0mC,QAIA1mC,EAAAsG,eAAA,SAAA6lC,EAAAgzC,KAAA,OAAAn/E,EAAAytM,MAGA,IAAAC,EAAA1tM,EAAA0tM,cACAC,GAAA,IAAAD,EAGAvhK,EAAAyhK,iBAAA,MAAAF,IAAAvhK,EAAAyhK,iBAAAD,IAGA7C,EAAA+C,qBAAA1hK,EAAAuhK,GACAvhK,EAAAyhK,iBAAAD,GAGAX,GAAAlC,EAAAgD,uBAAA3hK,GAAAwhK,GAGA,SAAAP,EAAA7oJ,EAAA4oJ,EAAAD,EAAAa,EAAAhB,GACA,MAAAG,EAAA3oJ,IAAAwoJ,IACAI,EAAA5oJ,GAAA2oJ,EAAA3oJ,GACA2oJ,EAAA3oJ,GAAAwpJ,EAAAxpJ,IAIA,SAAAypJ,EAAAC,EAAAtnM,EAAAgP,EAAAxV,GACA,IAAA+tM,EAAAD,EAAAptM,IAAA,cACAR,EAAA4tM,EAAA3tM,iBACA6tM,EAAA,GAEA9tM,IACA8tM,EAAA9tM,EAAA0rM,eAAA1rM,EAAA0rM,mBAAA1rM,EAAA9E,MAAA8E,IAGA,IA0BA+tM,EAEAC,EACAC,EACAC,EACAC,EA/BAC,EAAA7zM,EAAA8V,SAAA,CACA/G,SAAAxJ,EAAAwJ,SACA+vD,UAAAv5D,EAAAu5D,UACA5sC,MAAA3sB,EAAA2sB,MACAw5D,oBAAAnmF,EAAAmmF,oBACAjnF,QACA1D,QACA+xM,gBACA5J,SACA4K,YACAC,uBACA7xM,QACGqxM,EAAAhuM,KAAA,IACHyuM,EAAA,CAIA9vL,QAAA,GACAouK,SAAA+gB,EAAA5mL,GACApE,WAAAgrL,EAAAvkM,KACAuU,YAAAgwL,EAAAhwL,YACA5d,SAAA8tM,EAAA9tM,SACAwuM,iBAAAloM,EAAAoO,QACA8tI,OAAAisD,EAAAb,EAAAr4L,YAIAm5L,GAAA,EAKA,gBAAA52K,EAAAvQ,GAGA,OAFAwmL,EAAAj2K,EACA42K,GAAA,EACAb,KAAAtzM,EAAA8V,SAAA,CACAynB,kBACAtX,UAAAla,EAAAshL,YAAA9vJ,GAEA62K,WAAApnL,IAAArsB,KAAA,MACKqzM,GAAAH,IAGL,SAAAQ,EAAA92K,GACA,MAAAA,MAAAi2K,GAEAW,IACAV,EAAA1nM,EAAA4f,aAAA4R,GACAm2K,EAAAD,EAAAt4K,SAAA61K,GACA2C,EAAAF,EAAAt4K,SAAA81K,GACA2C,EAAA7nM,EAAAic,cAAAuV,EAAA,SACA42K,GAAA,GAWA,SAAA1vM,EAAAqX,EAAAyhB,GAEA,OADA,MAAAA,MAAAi2K,GACAznM,EAAA9F,IAAA8F,EAAAyiL,aAAA1yK,GAAA,GAAAyhB,GAaA,SAAAx8B,EAAAuzM,EAAA/2K,GACA,MAAAA,MAAAi2K,GACAa,EAAA92K,GACA,IAAAuuE,EAAA2nG,EAAAt4K,SAAA21K,GAAA/kG,eACA,MAAA6nG,IAAA9nG,EAAA5qG,KAAA0yM,GACA,IAAAt/I,EAAAvoD,EAAAic,cAAAuV,EAAA,WAQA,OAPA,MAAA+2B,IAAAw3C,EAAAx3C,WACA47I,EAAA7lG,aAAAyB,EAAA4nG,EAAA,MACAa,UAAAX,EACAY,YAAA,IAEA1oG,EAAAtqG,KAAAkyM,EAAA/qL,WAAA,QAAA3oB,EAAAqO,UAAAglM,EAAAjjI,kBAAA7yC,EAAA,UAAA6yK,EAAArkM,EAAAwxB,IAAA,KACA+2K,GAAAt0M,EAAAkF,OAAA4mG,EAAAwoG,GACAxoG,EASA,SAAAgnG,EAAAwB,EAAA/2K,GACA,MAAAA,MAAAi2K,GACAa,EAAA92K,GACA,IAAAuuE,EAAA2nG,EAAAt4K,SAAA41K,GAAAhlG,eAMA,OALAmkG,EAAA7lG,aAAAyB,EAAA6nG,EAAA,MACAa,YAAA,IACK,GACL1oG,EAAAtqG,KAAAmyM,EAAAhrL,WAAA,QAAA3oB,EAAAsO,UAAA+kM,EAAAjjI,kBAAA7yC,EAAA,YAAA81K,EAAAjjI,kBAAA7yC,EAAA,UAAA6yK,EAAArkM,EAAAwxB,IAAA,KACA+2K,GAAAt0M,EAAAkF,OAAA4mG,EAAAwoG,GACAxoG,EASA,SAAAo9F,EAAAH,EAAAxrK,GAEA,OADA,MAAAA,MAAAi2K,GACAznM,EAAAic,cAAAuV,EAAAwrK,GAaA,SAAA+K,EAAAl+L,GACA,GAAAnQ,EAAA2V,YAAA,CACA,IAAAD,EAAA1V,EAAA2V,cACA,OAAAk1L,EAAAtwM,EAAA8V,SAAA,CACAtQ,KAAA2V,GACOvF,GAAArQ,IASP,SAAAwuM,IACA,OAAAh5L,EAAA05L,0BAaA,SAAAvyM,EAAA0T,GACA,OAAAs6L,EAAAwE,QAAA9+L,EAAAmF,IAIA,SAAAm5L,EAAAnoM,GACA,IAAAu1J,EAAA,GAUA,OATAthK,EAAA2nB,KAAA5b,EAAAktE,WAAA,SAAAC,EAAAy7H,GACA,IAAA1tL,EAAAlb,EAAA8a,iBAAAqyD,GAEA,IAAAjyD,EAAA2tL,aAAA,CACA,IAAA3rL,EAAAhC,EAAAgC,SACAS,EAAA43I,EAAAr4I,GAAAq4I,EAAAr4I,IAAA,GACAS,EAAAzC,EAAA4tL,eAAAF,KAGArzC,EAGA,SAAA0tC,EAAAz9J,EAAAtrB,EAAA7gB,EAAA8sM,EAAAjsI,EAAAl6D,GAGA,OAFAwlC,EAAAujK,EAAAvjK,EAAAtrB,EAAA7gB,EAAA8sM,EAAAjsI,EAAAl6D,GAAA,GACAwlC,GAAAxlC,EAAAgpM,iBAAA9uL,EAAAsrB,GACAA,EAGA,SAAAujK,EAAAvjK,EAAAtrB,EAAA7gB,EAAA8sM,EAAAjsI,EAAAl6D,EAAAqmM,GAUA,IAAA4C,GAAA5vM,EAEAA,KAAA,GACA,IAAA6vM,EAAA7vM,EAAAzE,KACAu0M,EAAA9vM,EAAAgD,MACAkqM,EAAAltM,EAAArE,MAWA,GATAwwC,IAAAyjK,GAEA,MAAAC,OAAA1jK,EAAAygK,qBAAA,SAAAiD,GAAAE,EAAAD,IAAAtD,EAAAsD,KAAA3jK,EAAAsgK,kBAAA,UAAAoD,GAAAG,EAAA9C,EAAA,UAAAA,EAAAh/L,QAAAi+B,EAAAugK,mBACA,SAAAmD,GAAAG,EAAAF,EAAA,SAAA5C,EAAA9wM,OAAA+vC,EAAAwgK,gBACA9rI,EAAAj5D,OAAAukC,GACAA,EAAA,OAIAyjK,EAAA,CAIA,IAAA7C,GAAA5gK,EAUA,OATAA,MAAAigK,EAAApsM,IACA6sM,EAAA1gK,EAAAtrB,EAAA7gB,EAAA8sM,EAAAnmM,EAAAomM,EAAAC,GAEA,UAAA6C,GACAI,EAAA9jK,EAAAtrB,EAAA7gB,EAAA8sM,EAAAnmM,GAIAk6D,EAAAloC,IAAAwT,GACAA,GAmBA,SAAA8jK,EAAA9jK,EAAAtrB,EAAA7gB,EAAA8sM,EAAAnmM,GACA,IAAAupM,EAAAlwM,EAAAu/D,SACA4wI,EAAAD,IAAAvxM,OAAA,EACAsxM,EAAAjwM,EAAAowM,eAEAC,EAAA,WAAAJ,GAAAjwM,EAAAswM,mBACAC,GAAA,IAAAN,EAEA,GAAAE,GAAAE,GAAAE,EAIA,GAAAF,EACAG,EAAA,CACAC,YAAAtkK,EAAAozB,YAAA,GACA2wI,eAAA,GACArvL,YACAisL,kBACAjsI,MAAA10B,EACAxlC,aAPA,CAYA4pM,GAAApkK,EAAAszB,YAKA,IAFA,IAAAxgE,EAAA,EAEQA,EAAAkxM,EAAgBlxM,IACxBixM,EAAAjxM,IAAAywM,EAAAvjK,EAAA6gC,QAAA/tE,GAAA4hB,EAAAqvL,EAAAjxM,GAAA6tM,EAAA3gK,EAAAxlC,IAIA,SAAA6pM,EAAA1xL,GACA,IAAAqsL,EAAArsL,EAAA2xL,YAAA3xL,EAAAoxL,YAAAQ,IAAA5xL,GAAA6Z,IAAAg4K,GAAAhpL,OAAAgpL,GAAA/oM,OAAAgpM,GAAAC,UAGA,SAAAH,EAAAzwI,EAAAlnD,GACA,IAAArP,EAAAu2D,KAAAv2D,KACA,aAAAA,IAAAoiM,EAAA/yL,EAGA,SAAA43L,EAAAG,EAAAC,GACA,IAAAjyL,EAAA1jB,KAAA0jB,QACAkyL,EAAA,MAAAF,EAAAhyL,EAAAoxL,YAAAY,GAAA,KACAtjL,EAAA,MAAAujL,EAAAjyL,EAAA2xL,YAAAM,GAAA,KACArB,EAAAliL,EAAA1O,EAAA+B,UAAAmwL,EAAAlyL,EAAAguL,gBAAAhuL,EAAA+hD,MAAA/hD,EAAAnY,MAGA,SAAAiqM,EAAAG,GACA,IAAAjyL,EAAA1jB,KAAA0jB,QACA0O,EAAA1O,EAAA2xL,YAAAM,GACAvjL,GAAA1O,EAAA+hD,MAAAj5D,OAAA4lB,GAGA,SAAAg/K,EAAAxpM,GAEA,OAAAA,MAAAupM,UAAAvpM,EAAA4U,GAGA,SAAAm4L,EAAA/sM,GACA,OAAAA,MAAAsD,eAAA,aAAAtD,EAAAsD,eAAA,MAGA,SAAA0pM,EAAAiB,EAAA1sJ,GACA,OAAA0sJ,KAAA3qM,eAAAi+C,GA1iBAvmC,EAAAle,OAAA,CACAvE,KAAA,gBACA4lH,aAAA,+CACAjjG,cAAA,CACA5d,iBAAA,cAEAi3G,OAAA,EACAh/E,EAAA,EACAwsJ,iBAAA,EACAmsB,cAAA,GAeAjyL,eAAA,SAAAV,EAAA5I,GACA,OAAAs1L,EAAA7vM,KAAAuiB,YAAAviB,OAMAgrB,cAAA,SAAAvF,EAAAP,EAAA6rB,GACA,IAAA/rB,EAAApC,EAAA3iB,UAAA+qB,cAAAtiB,MAAA1I,KAAA2I,WAEA,OADAooC,IAAA/rB,EAAAqtL,KAAAthK,EAAAshK,MACArtL,KAMAgrL,EAAAtrM,OAAA,CACAvE,KAAA,SAMA4gG,MAAA,KAKA7tC,OAAA,SAAA2/I,EAAAt4L,EAAAxV,EAAAynB,GACA,IAAAupL,EAAA/1M,KAAA+gG,MACAx1F,EAAAsnM,EAAAr4L,UACAirD,EAAAzlE,KAAAylE,MACAqtI,EAAAF,EAAAC,EAAAtnM,EAAAgP,EAAAxV,GAMAwG,EAAAqR,KAAAm5L,GAAAx4K,IAAA,SAAAy4K,GACAxH,EAAA,KAAAwH,EAAAlD,EAAAkD,EAAAxpL,GAAAqmL,EAAAptI,EAAAl6D,KACKghB,OAAA,SAAAypL,EAAAC,GACL,IAAAllK,EAAAglK,EAAA5nB,iBAAA8nB,GACAzH,EAAAz9J,EAAAilK,EAAAlD,EAAAkD,EAAAxpL,GAAAqmL,EAAAptI,EAAAl6D,KACKiB,OAAA,SAAAypM,GACL,IAAAllK,EAAAglK,EAAA5nB,iBAAA8nB,GACAllK,GAAA00B,EAAAj5D,OAAAukC,KACK0kK,UACLz1M,KAAA+gG,MAAAx1F,GAEAywK,yBAAA,SAAA62B,EAAAt4L,EAAAxV,GACA/E,KAAAylE,MAAApB,YACArkE,KAAA+gG,MAAA,MAEAk7E,kBAAA,SAAAj3J,EAAA6tL,EAAAt4L,EAAAxV,EAAAynB,GACA,IAAAjhB,EAAAsnM,EAAAr4L,UACAs4L,EAAAF,EAAAC,EAAAtnM,EAAAgP,EAAAxV,GAEA,SAAAmxM,EAAAnlK,GACAA,EAAAolK,UACAplK,EAAAqlK,aAAA,EACArlK,EAAAslK,eAAA,GAIA,QAAA14L,EAAAqH,EAAAoH,MAAgCzO,EAAAqH,EAAAuE,IAAkB5L,IAAA,CAClD,IAAAozB,EAAAy9J,EAAA,KAAA7wL,EAAAm1L,EAAAn1L,EAAA6O,GAAAqmL,EAAA7yM,KAAAylE,MAAAl6D,GACAwlC,EAAA5e,SAAA+jL,KAOApgM,QAAAtW,EAAAwrD,KAKAsrJ,sBAAA,SAAAzjE,EAAAmD,EAAAugE,EAAAC,GACA,IAAAC,EAAAzgE,EAAA0gE,QAEA,SAAAD,GAAAF,EAAAjoM,OAAAmoM,EACA,SAKA,OAAAF,IAAA5kI,SAAA4kI,IAAAv2M,KAAAylE,MACA,GAAA8wI,EAAAjoM,OAAAmoM,EACA,SAIA,oCC1NA,IAAA7sM,EAAe/K,EAAQ,QACvBo5B,EAAUp5B,EAAQ,QAClB83M,EAAe93M,EAAQ,QAGvB+3M,EAAA,sBAGAC,EAAAnwM,KAAAS,IACA2vM,EAAApwM,KAAAQ,IAwDA,SAAA6vM,EAAAvtJ,EAAAwtJ,EAAAnnM,GACA,IAAAonM,EACAC,EACAC,EACAzzM,EACA0zM,EACAC,EACAC,EAAA,EACAC,GAAA,EACAC,GAAA,EACAC,GAAA,EAEA,sBAAAjuJ,EACA,UAAA1lD,UAAA8yM,GAUA,SAAAc,EAAA3/K,GACA,IAAA0xB,EAAAwtJ,EACA5rM,EAAA6rM,EAKA,OAHAD,EAAAC,OAAA5uM,EACAgvM,EAAAv/K,EACAr0B,EAAA8lD,EAAA9gD,MAAA2C,EAAAo+C,GACA/lD,EAGA,SAAAi0M,EAAA5/K,GAMA,OAJAu/K,EAAAv/K,EAEAq/K,EAAAnrJ,WAAA2rJ,EAAAZ,GAEAO,EAAAG,EAAA3/K,GAAAr0B,EAGA,SAAAm0M,EAAA9/K,GACA,IAAA+/K,EAAA//K,EAAAs/K,EACAU,EAAAhgL,EAAAu/K,EACAU,EAAAhB,EAAAc,EAEA,OAAAN,EACAV,EAAAkB,EAAAb,EAAAY,GACAC,EAGA,SAAAC,EAAAlgL,GACA,IAAA+/K,EAAA//K,EAAAs/K,EACAU,EAAAhgL,EAAAu/K,EAKA,YAAAhvM,IAAA+uM,GAAAS,GAAAd,GACAc,EAAA,GAAAN,GAAAO,GAAAZ,EAGA,SAAAS,IACA,IAAA7/K,EAAAE,IACA,GAAAggL,EAAAlgL,GACA,OAAAmgL,EAAAngL,GAGAq/K,EAAAnrJ,WAAA2rJ,EAAAC,EAAA9/K,IAGA,SAAAmgL,EAAAngL,GAKA,OAJAq/K,OAAA9uM,EAIAmvM,GAAAR,EACAS,EAAA3/K,IAEAk/K,EAAAC,OAAA5uM,EACA5E,GAGA,SAAAy0M,SACA7vM,IAAA8uM,GACAr2H,aAAAq2H,GAEAE,EAAA,EACAL,EAAAI,EAAAH,EAAAE,OAAA9uM,EAGA,SAAA8vM,IACA,YAAA9vM,IAAA8uM,EAAA1zM,EAAAw0M,EAAAjgL,KAGA,SAAAogL,IACA,IAAAtgL,EAAAE,IACAqgL,EAAAL,EAAAlgL,GAMA,GAJAk/K,EAAAtuM,UACAuuM,EAAAl3M,KACAq3M,EAAAt/K,EAEAugL,EAAA,CACA,QAAAhwM,IAAA8uM,EACA,OAAAO,EAAAN,GAEA,GAAAG,EAIA,OAFAz2H,aAAAq2H,GACAA,EAAAnrJ,WAAA2rJ,EAAAZ,GACAU,EAAAL,GAMA,YAHA/uM,IAAA8uM,IACAA,EAAAnrJ,WAAA2rJ,EAAAZ,IAEAtzM,EAIA,OA3GAszM,EAAAL,EAAAK,IAAA,EACAptM,EAAAiG,KACA0nM,IAAA1nM,EAAA0nM,QACAC,EAAA,YAAA3nM,EACAsnM,EAAAK,EAAAX,EAAAF,EAAA9mM,EAAAsnM,UAAA,EAAAH,GAAAG,EACAM,EAAA,aAAA5nM,MAAA4nM,YAoGAY,EAAAF,SACAE,EAAAD,QACAC,EAGA31M,EAAAC,QAAAo0M,0BC1KA,IAAAv3M,EAAaX,EAAQ,QAErBgjB,EAAqBhjB,EAAQ,QAE7BmjB,EAAcnjB,EAAQ,QAEtBojB,EAAAD,EAAAC,gBACA+hE,EAAAhiE,EAAAgiE,eACA9hE,EAAAF,EAAAE,iBAoBAq2L,EAAA12L,EAAAnd,OAAA,CACAvE,KAAA,WAKA+E,iBAAA,KACA4d,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EACAmS,KAAA,GACAG,IAAA,GACA+oK,SAAA,GAEAt2H,OAAA,aAEAw3D,UAAA,CACAx9B,MAAA,EACAu9B,UAAA,CACA3yH,MAAA,OACAxkB,MAAA,EACAnC,KAAA,UAIAmrG,UAAA,CACAxkF,MAAA,OACA81F,YAAA,EACA/Z,YAAA,QAGA41G,SAAA,CACAv8F,MAAA,EAEAw8F,SAAA,EAEApyM,SAAA,QACA88E,OAAA,MAEA48B,QAAA,KACAl5F,MAAA,QAGA6xL,WAAA,CACAz8F,MAAA,EAEA51G,SAAA,QACA88E,OAAA,EAEAqgE,MAAA,SAEAzjC,QAAA,KACAnwC,UAAA,KACA/oD,MAAA,QAGA8xL,UAAA,CACA18F,MAAA,EAEA51G,SAAA,KACA88E,OAAA,GACAvT,UAAA,KACA/oD,MAAA,OACAnT,WAAA,aACAE,WAAA,SACAH,SAAA,KAOAwP,KAAA,SAAAC,EAAAC,EAAA7I,EAAA8I,GACA,IAAAY,EAAAhC,EAAAkB,GACAo1L,EAAAjyC,WAAAtmK,KAAA,OAAA2I,WACAkwM,EAAA11L,EAAAc,IAMAQ,YAAA,SAAAtB,EAAAE,GACAk1L,EAAAjyC,WAAAtmK,KAAA,cAAA2I,WACAkwM,EAAA74M,KAAAmjB,aAIA,SAAA01L,EAAAxiM,EAAAyiM,GAEA,IAAAN,EAAAniM,EAAAmiM,SAEAh5M,EAAAwJ,QAAAwvM,GAEG,IAAAA,EAAAj1M,SACHi1M,EAAA,GAAAA,EAAA,IAFAA,EAAAniM,EAAAmiM,SAAA,CAAAA,KAKA,IAAAp0H,EAAA5kF,EAAA4N,IAAA,eAAA62E,GAQA,OAJAD,EAAA80H,EAAA70H,KACAu0H,EAAAv0H,GAAA,QAGA,MAAAu0H,EAAAv0H,IAAA,SAAAu0H,EAAAv0H,KAEA/hE,EAAA7L,EAAAyiM,EAAA,CACA34M,KAAA,MACAikF,eAIA,IAAA3hF,EAAA81M,EACA71M,EAAAC,QAAAF,wBClKA,IAAAkK,EAAU9N,EAAQ,QAElBypJ,EAAA,IAAA37I,EAAA,IAMA,SAAAoG,EAAAw1I,GACA,qBAAAA,EAAA,CACA,IAAAC,EAAAF,EAAA7iJ,IAAA8iJ,GACA,OAAAC,KAAA11I,MAEA,OAAAy1I,EAgBA,SAAAE,EAAAF,EAAAz1I,EAAA41I,EAAA3yH,EAAA4yH,GACA,GAAAJ,EAEG,sBAAAA,EAAA,CAEH,GAAAz1I,KAAA81I,eAAAL,IAAAG,EACA,OAAA51I,EAKA,IAAA01I,EAAAF,EAAA7iJ,IAAA8iJ,GACAM,EAAA,CACAH,SACA3yH,KACA4yH,aAgBA,OAbAH,GACA11I,EAAA01I,EAAA11I,OACAE,EAAAF,IAAA01I,EAAAM,QAAAn2I,KAAAk2I,KAEA/1I,EAAA,IAAA0e,MACA1e,EAAAmkB,OAAAnkB,EAAA60B,QAAAohH,EACAT,EAAAp7I,IAAAq7I,EAAAz1I,EAAAk2I,eAAA,CACAl2I,QACAg2I,QAAA,CAAAD,KAEA/1I,EAAAokB,IAAApkB,EAAA81I,aAAAL,GAGAz1I,EAGA,OAAAy1I,EAhCA,OAAAz1I,EAoCA,SAAAi2I,IACA,IAAAP,EAAAxoJ,KAAAgpJ,eACAhpJ,KAAAi3B,OAAAj3B,KAAA2nC,QAAA3nC,KAAAgpJ,eAAA,KAEA,QAAAj+I,EAAA,EAAiBA,EAAAy9I,EAAAM,QAAAvlJ,OAAiCwH,IAAA,CAClD,IAAA89I,EAAAL,EAAAM,QAAA/9I,GACAgrB,EAAA8yH,EAAA9yH,GACAA,KAAA/1B,KAAA6oJ,EAAAF,WACAE,EAAAH,OAAA/jI,QAGA6jI,EAAAM,QAAAvlJ,OAAA,EAGA,SAAAyP,EAAAF,GACA,OAAAA,KAAAxQ,OAAAwQ,EAAAvQ,OAGAI,EAAAoQ,iBACApQ,EAAA8lJ,sBACA9lJ,EAAAqQ,uCCnEA,IAAA9O,EAAcrF,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBmxM,EAAgBnxM,EAAQ,QA0BxB,SAAAk6M,EAAAxtM,EAAAoS,GACAzZ,EAAA80M,MAAAj5M,KAAAC,MACA,IAAAglG,EAAA,IAAA9gG,EAAA+0M,QACAC,EAAA,IAAAh1M,EAAAi1M,SACAn4M,EAAA,IAAAkD,EAAArE,KAMA,SAAAu5M,IACAF,EAAA5tK,OAAA4tK,EAAAG,YACAr4M,EAAAsqC,OAAAtqC,EAAAq4M,YAGA,SAAAC,IACAJ,EAAA5tK,OAAA4tK,EAAAK,aACAv4M,EAAAsqC,OAAAtqC,EAAAu4M,aAZAv5M,KAAAu9B,IAAAynE,GACAhlG,KAAAu9B,IAAA27K,GACAl5M,KAAAu9B,IAAAv8B,GACAhB,KAAAygG,WAAAl1F,EAAAoS,GAAA,GAYA3d,KAAA4V,GAAA,WAAAwjM,GAAAxjM,GAAA,SAAA0jM,GAAA1jM,GAAA,YAAAwjM,GAAAxjM,GAAA,WAAA0jM,GAGA,IAAAE,EAAAT,EAAA94M,UACA4zD,EAAA,wBAEA2lJ,EAAA/4G,WAAA,SAAAl1F,EAAAoS,EAAA87L,GACA,IAAAz0G,EAAAhlG,KAAA4xE,QAAA,GACAt3D,EAAA/O,EAAA49F,UACAj+E,EAAA3f,EAAA4f,aAAAxN,GACA1X,EAAAsF,EAAAkqK,cAAA93J,GACAm2C,EAAAvoD,EAAA4f,aAAAxN,GAAAlY,IAAAouD,GACAC,EAAA,MAAAA,EAAA,EAAAA,EAEAkxC,EAAAitG,SAAA,IAEAwH,GACAz0G,EAAA00G,SAAA,CACAhyI,OAAAzhE,EAAAyhE,SAEAs9B,EAAAwiB,SAAA,CACA1zD,QAAA,IAEA5vD,EAAAiuM,UAAAntG,EAAA,CACAzkG,MAAA,CACAuzD,YAEKx5C,EAAAqD,IAELzZ,EAAAkuM,YAAAptG,EAAA,CACAzkG,MAAA,CACAuzD,WAEAlsD,MAAA,CACA8/D,OAAAzhE,EAAAyhE,SAEKptD,EAAAqD,GAIL,IAAAglF,EAAAz3E,EAAAyP,SAAA,aACAioE,EAAAr3F,EAAAic,cAAA7J,EAAA,SACAqnF,EAAAwiB,SAAAhoH,EAAA8V,SAAA,CACAqkM,SAAA,QACAj5M,KAAAkiG,GACGD,EAAA4I,aAAA,eACHvG,EAAA40G,WAAAj3G,EAAAhoE,SAAA,YAAA4wE,eAEAvrG,KAAA65M,aAAAtuM,EAAAoS,GAEAzZ,EAAA41M,cAAA95M,OAGAw5M,EAAAK,aAAA,SAAAtuM,EAAAoS,GACA,IAAAu7L,EAAAl5M,KAAA4xE,QAAA,GACAmoI,EAAA/5M,KAAA4xE,QAAA,GACAt3D,EAAA/O,EAAA49F,UACAj+E,EAAA3f,EAAA4f,aAAAxN,GACA1X,EAAAsF,EAAAkqK,cAAA93J,GACAq8L,EAAA/zM,EAAA6e,MACA89E,EAAAr3F,EAAAic,cAAA7J,EAAA,SACAzZ,EAAAkuM,YAAA8G,EAAA,CACAtxM,MAAA,CACA8/D,OAAAsyI,EAAAp8L,YAAAo8L,EAAAp8L,aAEGtD,EAAAqD,GACHzZ,EAAAkuM,YAAA2H,EAAA,CACAx5M,MAAA,CACAyB,EAAAg4M,EAAAh4M,EACAC,EAAA+3M,EAAA/3M,IAEGqY,EAAAqD,GACHo8L,EAAAh2H,KAAA,CACAv9E,SAAAwzM,EAAAxzM,SACA8tF,OAAA,CAAA0lH,EAAAh4M,EAAAg4M,EAAA/3M,GACAy9B,GAAA,KAEA,IAAAgqE,EAAAx+E,EAAAyP,SAAA,SACAs/K,EAAA/uL,EAAAyP,SAAA,kBACAu/K,EAAAhvL,EAAAyP,SAAA,aACAw/K,EAAAjvL,EAAAyP,SAAA,sBACAioE,EAAAr3F,EAAAic,cAAA7J,EAAA,SACAzZ,EAAAk2M,cAAAL,EAAAx5M,MAAAw5M,EAAAH,WAAA,GAAkElwG,EAAAuwG,EAAA,CAClEI,aAAA9uM,EAAA49F,UACAmxG,eAAA38L,EACA48L,YAAAhvM,EAAAqc,QAAAjK,GACAo2L,UAAAnxG,EACA43G,iBAAAR,EAAA1pG,QACG,CACH3uG,UAAAq4M,EAAAr4M,UACAC,kBAAAo4M,EAAAzyM,gBAEAwyM,EAAAzuK,OAAAyuK,EAAAR,cAAA7vG,EAAAjkG,IAAA,QACAs0M,EAAAV,aAAAY,EAAAx0M,IAAA,QACAyzM,EAAA5tK,OAAA4tK,EAAAK,cAAAW,EAAAz0M,IAAA,QACAyzM,EAAAG,aAAAc,EAAA10M,IAAA,QAEAyzM,EAAA1xF,SAAA,CACA7mH,OAAAiiG,IAEAs2G,EAAA1xF,SAAA0yF,EAAAv/K,SAAA,aAAA8/K,gBACAvB,EAAAU,WAAAO,EAAAx/K,SAAA,aAAA8/K,gBAGAj7M,EAAAgD,SAAAu2M,EAAA70M,EAAA80M,OACA,IAAA0B,EAAA1K,EAAAtrM,OAAA,CACAvE,KAAA,SACA+yD,OAAA,SAAA54C,EAAAC,EAAAxV,GACA,IAAAwG,EAAA+O,EAAAE,UACAu7L,EAAA/1M,KAAA+gG,MACAt7B,EAAAzlE,KAAAylE,MACAl6D,EAAAqR,KAAAm5L,GAAAx4K,IAAA,SAAA5f,GACA,IAAAg9L,EAAA,IAAA5B,EAAAxtM,EAAAoS,GACApS,EAAAgpM,iBAAA52L,EAAAg9L,GACAl1I,EAAAloC,IAAAo9K,KACKpuL,OAAA,SAAAypL,EAAAC,GACL,IAAA2E,EAAA7E,EAAA5nB,iBAAA8nB,GACA2E,EAAAn6G,WAAAl1F,EAAAyqM,GACAvwI,EAAAloC,IAAAq9K,GACArvM,EAAAgpM,iBAAAyB,EAAA4E,KACKpuM,OAAA,SAAAmR,GACL,IAAAi9L,EAAA7E,EAAA5nB,iBAAAxwK,GACA8nD,EAAAj5D,OAAAouM,KACKnF,UACLz1M,KAAA+gG,MAAAx1F,GAEAiB,OAAA,WACAxM,KAAAylE,MAAApB,YACArkE,KAAA+gG,MAAA,MAEAjrF,QAAA,eAEArT,EAAAi4M,EACAh4M,EAAAC,QAAAF,0BCvLA,IAAAyB,EAAcrF,EAAQ,QAEtBg8M,EAA6Bh8M,EAAQ,QAErCi8M,EAAkBj8M,EAAQ,QAE1Bk8M,EAAuBl8M,EAAQ,QAqB/Bm8M,EAAA92M,EAAA6pM,YAAA,CACAnmM,MAAA,CACA85K,UAAA,EACAgkB,UAAA,EACAuV,KAAA,IAEAj8L,UAAA,SAAAylD,EAAA78D,GACA,IAAAqzM,EAAArzM,EAAAqzM,KACAvV,EAAA99L,EAAA89L,UAEA,GAAA99L,EAAA85K,SACA,QAAA32K,EAAA,EAAqBA,EAAAkwM,EAAA13M,QAAiB,CACtC,IAAAoW,EAAAshM,EAAAlwM,KAEA,GAAA4O,EAAA,GACA8qD,EAAAplD,OAAA47L,EAAAlwM,KAAAkwM,EAAAlwM,MAEA,QAAA2V,EAAA,EAAyBA,EAAA/G,EAAW+G,IACpC+jD,EAAAnlD,OAAA27L,EAAAlwM,KAAAkwM,EAAAlwM,YAKA,IAAAA,EAAA,EAAqBA,EAAAkwM,EAAA13M,QAAiB,CACtC,IAAAq4D,EAAAq/I,EAAAlwM,KACA8wD,EAAAo/I,EAAAlwM,KACA6kD,EAAAqrJ,EAAAlwM,KACA8kD,EAAAorJ,EAAAlwM,KAGA,GAFA05D,EAAAplD,OAAAu8C,EAAAC,GAEA6pI,EAAA,GACA,IAAAlmK,GAAAo8B,EAAAhM,GAAA,GAAAiM,EAAAhM,GAAA61I,EACAjmK,GAAAo8B,EAAAhM,GAAA,GAAAD,EAAAgM,GAAA8pI,EACAjhI,EAAAy2I,iBAAA17K,EAAAC,EAAAmwB,EAAAC,QAEA4U,EAAAnlD,OAAAswC,EAAAC,KAKAsrJ,cAAA,SAAAn5M,EAAAC,GACA,IAAA2F,EAAA5H,KAAA4H,MACAqzM,EAAArzM,EAAAqzM,KACAvV,EAAA99L,EAAA89L,UAEA,GAAA99L,EAAA85K,SAGA,IAFA,IAAAj8J,EAAA,EAEA1a,EAAA,EAAqBA,EAAAkwM,EAAA13M,QAAiB,CACtC,IAAAoW,EAAAshM,EAAAlwM,KAEA,GAAA4O,EAAA,EAIA,IAHA,IAAAiiD,EAAAq/I,EAAAlwM,KACA8wD,EAAAo/I,EAAAlwM,KAEA2V,EAAA,EAAyBA,EAAA/G,EAAW+G,IAAA,CACpC,IAAAkvC,EAAAqrJ,EAAAlwM,KACA8kD,EAAAorJ,EAAAlwM,KAEA,GAAA+vM,EAAAjgC,cAAAj/G,EAAAC,EAAAjM,EAAAC,GACA,OAAApqC,EAKAA,SAKA,IAFAA,EAAA,EAEA1a,EAAA,EAAqBA,EAAAkwM,EAAA13M,QAAiB,CACtCq4D,EAAAq/I,EAAAlwM,KACA8wD,EAAAo/I,EAAAlwM,KACA6kD,EAAAqrJ,EAAAlwM,KACA8kD,EAAAorJ,EAAAlwM,KAEA,GAAA26L,EAAA,GACA,IAAAlmK,GAAAo8B,EAAAhM,GAAA,GAAAiM,EAAAhM,GAAA61I,EACAjmK,GAAAo8B,EAAAhM,GAAA,GAAAD,EAAAgM,GAAA8pI,EAEA,GAAAqV,EAAAlgC,cAAAj/G,EAAAC,EAAAr8B,EAAAC,EAAAmwB,EAAAC,GACA,OAAApqC,OAGA,GAAAq1L,EAAAjgC,cAAAj/G,EAAAC,EAAAjM,EAAAC,GACA,OAAApqC,EAIAA,IAIA,YAIA,SAAA21L,IACAp7M,KAAAylE,MAAA,IAAAvhE,EAAA80M,MAGA,IAAAqC,EAAAD,EAAAn7M,UAEAo7M,EAAAC,aAAA,WACA,OAAAt7M,KAAAu7M,cAQAF,EAAA56G,WAAA,SAAAl1F,GACAvL,KAAAylE,MAAApB,YACA,IAAAm3I,EAAA,IAAAR,EAAA,CACAS,WAAA,EACAhrJ,OAAA,YAEA+qJ,EAAA9B,SAAA,CACAuB,KAAA1vM,EAAAsS,UAAA,iBAGA7d,KAAA07M,WAAAF,EAAAjwM,GAGAvL,KAAAylE,MAAAloC,IAAAi+K,GACAx7M,KAAAu7M,aAAA,MAOAF,EAAAM,yBAAA,SAAApwM,GACAvL,KAAAylE,MAAApB,YAEArkE,KAAA47M,oBAEArwM,EAAAoO,QAAA,KACA3Z,KAAAu7M,eACAv7M,KAAAu7M,aAAA,IAAAV,EAAA,CACAxzF,QAAA,KAIArnH,KAAAylE,MAAAloC,IAAAv9B,KAAAu7M,eAEAv7M,KAAAu7M,aAAA,MAQAF,EAAAQ,kBAAA,SAAAC,EAAAvwM,GACA,IAAAiwM,EAAA,IAAAR,EACAQ,EAAA9B,SAAA,CACAuB,KAAA1vM,EAAAsS,UAAA,iBAGA7d,KAAA07M,WAAAF,EAAAjwM,IAAAvL,KAAAu7M,cAEAv7M,KAAAu7M,aAMAv7M,KAAAu7M,aAAAQ,eAAAP,GAAA,IALAA,EAAAC,WAAA,EACAD,EAAA/qJ,OAAA,UACA+qJ,EAAAQ,aAAAF,EAAA1vL,MACApsB,KAAAylE,MAAAloC,IAAAi+K,KAUAH,EAAA7uM,OAAA,WACAxM,KAAA47M,oBAEA57M,KAAAu7M,aAAA,KACAv7M,KAAAylE,MAAApB,aAGAg3I,EAAAK,WAAA,SAAAF,EAAAjwM,EAAA0wM,GACA,IAAA9yG,EAAA59F,EAAA49F,UACAqyG,EAAA9B,SAAA,CACAh4B,SAAAv4E,EAAA1jG,IAAA,YACAigM,UAAAv8F,EAAA1jG,IAAA,yBAEA+1M,EAAAvJ,SAAA9oG,EAAAxuE,SAAA,aAAA8/K,gBACAe,EAAAj7M,MAAA27M,eAAA,EACA,IAAAt5G,EAAAr3F,EAAAgS,UAAA,SAEAqlF,GACA44G,EAAAh0F,SAAA,SAAA5kB,GAGA44G,EAAAh0F,SAAA,QAEAy0F,IAGAT,EAAA34L,YAAAsmF,EAAAtmF,YACA24L,EAAA5lM,GAAA,qBAAAO,GACAqlM,EAAA/1L,UAAA,KACA,IAAAA,EAAA+1L,EAAAL,cAAAhlM,EAAAI,QAAAJ,EAAAK,SAEAiP,EAAA,IAEA+1L,EAAA/1L,YAAA+1L,EAAAQ,kBAMAX,EAAAO,kBAAA,WACA,IAAAxF,EAAAp2M,KAAAu7M,aAEAnF,GACAA,EAAA+F,oBAIA,IAAA15M,EAAA24M,EACA14M,EAAAC,QAAAF,wBChRA,IAAA25M,EAAA,6BAEA,SAAAvmL,EAAAvnB,GACA,OAAA1D,SAAAyxM,gBAAAD,EAAA9tM,GAGA3L,EAAAkzB,wCCcA,IAAArT,EAAoB3jB,EAAQ,QAE5B4jB,EAAAD,EAAAC,iBA0BA,SAAAmtL,EAAArkM,EAAAka,GACA,IAAA62L,EAAA/wM,EAAA8P,aAAA,qBACA5O,EAAA6vM,EAAA/4M,OAEA,OAAAkJ,EACA,OAAAgW,EAAAlX,EAAAka,EAAA62L,EAAA,IACG,GAAA7vM,EAAA,CAGH,IAFA,IAAA8vM,EAAA,GAEAxxM,EAAA,EAAmBA,EAAAuxM,EAAA/4M,OAAsBwH,IAAA,CACzC,IAAA9B,EAAAwZ,EAAAlX,EAAAka,EAAA62L,EAAAvxM,IACAwxM,EAAA5pM,KAAA1J,GAGA,OAAAszM,EAAAvsM,KAAA,MAIArN,EAAAitM,wCClEAltM,EAAAC,QAAA,2BCoBA,IAAA6Y,EAAW3c,EAAQ,QAoBnB,SAAA29M,EAAAliM,GACA,IAAArV,EAAAqV,EAAApV,iBAEA,IAAAD,GAAA,SAAAA,EAAA9E,KAAA,CAIA,IAAAsB,EAAAwD,EAAA1D,kBACAonL,EAAAruK,EAAAE,UACAsC,EAAA6rK,EAAA7rK,MACAmpC,EAAA,EACAvsC,EAAAivK,EAAA8zB,OAAA,SACAC,EAAA,EAAAh2M,KAAAC,IAAA+S,GAAAivK,EAAAhvK,SACA8E,EAAAhd,EAAAa,MAAA,EAAAb,EAAAO,EACA0c,EAAAjd,EAAAc,OAAA,EAAAd,EAAAQ,EACA2c,EAAAlY,KAAAQ,IAAAzF,EAAAa,MAAAb,EAAAc,QAAA,EACAua,EAAAowK,SAAA,SAAA7vK,GACA,IAAApZ,EAAAoZ,EAAA0wK,SAAA,SACA9nI,GAAAy2J,GAAAhjM,EAAAzV,EAAA,KACAoZ,EAAAq2J,UAAA,CAAA90J,EAAAlY,KAAAwY,IAAA+mC,GAAAxnC,EAAAG,EAAAlY,KAAA0Y,IAAA6mC,GAAAvnC,IACAunC,GAAAy2J,GAAAhjM,EAAAzV,EAAA,OAEA0kL,EAAAjV,UAAA,CACAj1J,KACAC,OAEA5B,EAAAW,SAAA,SAAAC,GACA,IAGAi/L,EAHAjX,EAAAhoL,EAAAid,WAAAl1B,IAAA,0BACA6W,EAAAd,EAAAjG,MAAAmI,EAAAQ,MAAAL,aACAtB,EAAAf,EAAAjG,MAAAmI,EAAAS,MAAAN,aAEA++L,GAAAtgM,EAAA,GAAAC,EAAA,MACAsgM,GAAAvgM,EAAA,GAAAC,EAAA,OAEAmpL,IACAA,GAAA,EACAiX,EAAA,CAAAl+L,EAAAinL,EAAAkX,GAAA,EAAAlX,GAAAhnL,EAAAgnL,EAAAmX,GAAA,EAAAnX,KAGAhoL,EAAAg2J,UAAA,CAAAp3J,EAAAC,EAAAogM,OAIAh6M,EAAA65M,yCC/DA,IAAAh9M,EAAaX,EAAQ,QAErBi+M,EAAqBj+M,EAAQ,QAE7BmV,EAAgBnV,EAAQ,QAExBk+M,EAAoBl+M,EAAQ,QAE5BqF,EAAcrF,EAAQ,QAEtB2nJ,EAAiB3nJ,EAAQ,QAEzBm+M,EAAiBn+M,EAAQ,QAEzByoF,EAAazoF,EAAQ,QAErB+iB,EAAgB/iB,EAAQ,QAoBxBi5G,EAAA0uC,EAAA1uC,UACA3wF,EAAA3nB,EAAA2nB,KACAmzE,EAAA5zF,KAAAQ,IACAqzF,EAAA7zF,KAAAS,IAEA81M,EAAA,GACAC,EAAA,EAQAC,EAAAJ,EAAAr4M,OAAA,CACAvE,KAAA,uBAKA+iB,KAAA,WACAi6L,EAAA72C,WAAAtmK,KAAA,OAAA2I,WAKA3I,KAAAo9M,QAAA,GAKAp9M,KAAAq9M,cAAA,GAKAr9M,KAAAs9M,YAAA,GAKAt9M,KAAAu9M,QAKAv9M,KAAAw9M,WAKAx9M,KAAAy9M,sBAAA,GAKAz9M,KAAAgW,UAKAhW,KAAA09M,WAOAC,SAAA,SAAAC,EAAArjM,EAAAxV,EAAAynB,GACAA,GAAA,oBAAAA,EAAArsB,MAAAqsB,EAAA67B,OAAAroD,KAAAgqB,KACAhqB,KAAA69M,cAOAA,WAAA,WACA79M,KAAAylE,MAAApB,YACA,IAAAu5I,EAAA59M,KAAA49M,eACAE,EAAA99M,KAAAylE,MACAzlE,KAAAu9M,QAAAK,EAAAn4M,IAAA,UACAzF,KAAAw9M,WAAAI,EAAAn4M,IAAA,cAEAzF,KAAA+9M,iBAEA/9M,KAAAg+M,WAAAF,GAEA,IAAAG,EAAAL,EAAAn4M,IAAA,QAEAzF,KAAAk+M,gBAAAJ,EAAAG,EAAA,GAEAj+M,KAAAk+M,gBAAAJ,EAAAG,EAAA,GAGAj+M,KAAAm+M,aAAA,GAIAn+M,KAAAo+M,iBAAAN,GAEA99M,KAAAm+M,cAEAn+M,KAAAq+M,2BAEAr+M,KAAAs+M,6BAEAt+M,KAAAu+M,cAAAT,IAMAI,gBAAA,SAAAz4I,EAAAw4I,EAAAO,GACA,GAAAP,EAAA,CAKA,IAAAj9M,EAAAi9M,EAAA,EAAAO,GACAx9M,EAAA,MAAAA,IAAA,MACA,IAAA48M,EAAA59M,KAAA49M,eACAa,EAAAb,EAAAn4M,IAAA,WACAi5M,EAAAd,EAAAc,SACAC,EAAA3+M,KAAAo9M,QAAAuB,SAEAr4M,EAAAtG,KAAA4+M,gBAAA,CAAAF,EAAA,SAAAF,GAAAC,EAAAC,EAAA,GAAAD,GAAAE,GAEAl7D,EAAAzjJ,KAAA4+M,gBAAA,IAAAJ,EAAA,eAAAG,GAEAz8H,EAAAliF,KAAAu9M,QACA5zG,EAAA3pG,KAAA49M,eAAAj0G,eACA3pG,KAAAylE,MAAAloC,IAAA,IAAAr5B,EAAArE,KAAA,CACAU,MAAA,CACAyB,EAAAsE,EAAA,GACArE,EAAAqE,EAAA,GACA1E,kBAAA,eAAAsgF,EAAA,SAAAuhE,EACA9hJ,UAAA,eAAAugF,EAAAuhE,EAAA,SACAziJ,OACA8S,SAAA61F,EAAAuqG,UACApqG,SAAAH,EAAAk1G,qBAQAb,WAAA,SAAAc,GACA,IAAAlB,EAAA59M,KAAA49M,eACAmB,EAAA/+M,KAAAo9M,QACAsB,EAAAd,EAAAc,SACAx8H,EAAAliF,KAAAu9M,QACAyB,EAAAh/M,KAAAw9M,WACAyB,EAAA33H,EAAA43H,aAAAtB,EAAA59M,KAAA+E,IAAA25M,GAEAC,EAAAI,EAAAJ,SAAA3+M,KAAAm/M,gBAAAF,GAGAN,EAAAphL,IAAAwhL,EAAAK,WAAAC,KACAV,EAAAphL,IAAAwhL,EAAAO,QAAAD,EAAA,KAAAL,EAAAO,EAAAv/M,KAAAu9M,SAAA,KAAA/9M,EAAAoJ,KAAA5I,KAAAw/M,YAAAx/M,KAAA,UAAAR,EAAAoJ,KAAA5I,KAAAw/M,YAAAx/M,KAAA,YACA,IAAAiZ,EAAA2kM,EAAAj0G,eAAA0+C,YAAA,KACAo3D,EAAAllH,EAAAthF,EAAA3W,MAAA2W,EAAA1W,QAEAy8M,IACAD,EAAAW,aAAA,GACAX,EAAAY,aAAA,GACAZ,EAAAa,kBAAA,GAEA5/M,KAAA6/M,cAAAlB,EAAA,EAAAD,EAAAe,EAAAv9H,EAAA+8H,GAEAj/M,KAAA6/M,cAAAlB,EAAA,EAAAD,EAAAe,EAAAv9H,EAAA+8H,IAGAj/M,KAAA8/M,iBAAAnB,EAAAD,EAAAe,EAAAv9H,GAEA48H,EAAAvhL,IAAAohL,IAMAkB,cAAA,SAAAlB,EAAAoB,EAAArB,EAAAe,EAAAv9H,GACA,IAAA89H,EAAAxgN,EAAAoJ,KAAA5I,KAAAw/M,YAAAx/M,KAAA+/M,GAAA,GACAE,EAAAzgN,EAAAoJ,KAAA5I,KAAAw/M,YAAAx/M,KAAA+/M,GAAA,GACAG,EAAAb,EAAAc,EAAAJ,EAAAN,GAAAF,EAAAv/M,KAAAu9M,SAAAyC,EAAAC,GACAC,EAAA55M,SAAA,GAAAo4M,EAAA,GACAC,EAAAphL,IAAA2iL,GAKA,IAAAv2G,EAAA3pG,KAAA49M,eAAAj0G,eACAy2G,EAAA,IAAAl8M,EAAArE,KAAA,CACAyW,WAAA,EACA+pM,MAAAL,EACAr0F,YAAA,SAAAx1G,GAEAnC,EAAAkD,KAAAf,EAAAgB,QAEAmpM,UAAAL,EACA1/M,MAAA,CACAyB,EAAA,EACAC,EAAA,EACAjB,KAAA,GACA8S,SAAA61F,EAAAuqG,UACApqG,SAAAH,EAAAk1G,kBAGA7+M,KAAAylE,MAAAloC,IAAA6iL,GACA,IAAAG,EAAA,gBAAAr+H,EAAAu9H,EAAA,MAAAA,EAAA,eAAAv9H,EAAA,IAAA69H,GAAA,IAAAN,EAAA,IAAAA,EAAA,IAAAM,GAAAN,EAAA,EAAAA,EAAA,GACAV,EAAA/+M,KAAAo9M,QACA2B,EAAAW,aAAAK,GAAAG,EACAnB,EAAAa,kBAAAG,GAAAQ,EACAxB,EAAAY,aAAAI,GAAAK,GAMAN,iBAAA,SAAAnB,EAAAD,EAAAe,EAAAv9H,GACA,IAAAs+H,EAAAnB,EAAA,gBACAmB,EAAAl6M,SAAA,GAAAo4M,EAAA,GACA8B,EAAAz8H,KAAA,CACAjT,WAAA,EACAu2C,QAAA,IAEAs3F,EAAAphL,IAAAijL,GACA,IAAA72G,EAAA3pG,KAAA49M,eAAAj0G,eACA82G,EAAA,IAAAv8M,EAAArE,KAAA,CACAwnH,QAAA,EACAv2C,WAAA,EACAvwE,MAAA,CACAyB,EAAA,EACAC,EAAA,EACAjB,KAAA,GACA8S,SAAA61F,EAAAuqG,UACApqG,SAAAH,EAAAk1G,kBAGA7+M,KAAAylE,MAAAloC,IAAAkjL,GACA,IAAAC,EAAA,gBAAAx+H,EAAAu9H,EAAA,EAAAvC,EAAA,KACA6B,EAAA/+M,KAAAo9M,QACA2B,EAAAyB,YACAzB,EAAA0B,iBACA1B,EAAA2B,uBAMAlB,YAAA,SAAAO,EAAAY,EAAA3pM,EAAAC,GACA,GAAAjX,KAAAw9M,WAAA,CAMA,GAFAx9M,KAAAgW,WAAA2qM,GAEAA,EAAA,CAEA,IAAA52K,EAAA/pC,KAAA4+M,gBAAA,CAAA5nM,EAAAC,GAAAjX,KAAAo9M,QAAAuB,UAAA,GAEA3+M,KAAA4gN,gBAAAb,EAAAh2K,EAAA,IAIA/pC,KAAAm+M,cAIAwC,KAAA3gN,KAAA49M,eAAAn4M,IAAA,aAEAzF,KAAA+E,IAAAqoG,eAAA,CACAjtG,KAAA,kBACAkoD,KAAAroD,KAAAgqB,IACA62L,YAAA7gN,KAAA49M,eAAA3xL,GACA60L,SAAA9gN,KAAAq9M,cAAAn+K,UAIAyhL,GACA3gN,KAAA09M,WAAA19M,KAAA+gN,0BACKC,EAAAhhN,KAAA49M,iBACL59M,KAAAihN,qBAAAjhN,KAAAs9M,YAAAyC,IAAA,KAOAhC,eAAA,WACA,IAAAH,EAAA59M,KAAA49M,eACAsD,EAAAlhN,KAAAq9M,cAAAO,EAAAuD,cACAtoG,EAAA+kG,EAAA5iM,YACAomM,EAAA,GAAAxD,EAAAc,SAAA,IACA1+M,KAAAs9M,YAAA,CAAAxlG,EAAAopG,EAAA,GAAAroG,EAAAuoG,GAAA,GAAAtpG,EAAAopG,EAAA,GAAAroG,EAAAuoG,GAAA,KASAR,gBAAA,SAAAb,EAAAj5M,GACAA,KAAA,EACA,IAAA82M,EAAA59M,KAAA49M,eACAyD,EAAArhN,KAAAs9M,YACA8D,EAAA,GAAAxD,EAAAc,SAAA,IACA1B,EAAAl2M,EAAAu6M,EAAAD,EAAArB,EACA,GACA,IAAAlnG,EAAA+kG,EAAA5iM,YAEAhb,KAAAq9M,cAAA,CAAAvlG,EAAAupG,EAAA,GAAAD,EAAAvoG,GAAA,GAAAf,EAAAupG,EAAA,GAAAD,EAAAvoG,GAAA,KAMAslG,YAAA,SAAAmD,GACA,IAAA1D,EAAA59M,KAAA49M,eACA/kG,EAAA+kG,EAAA5iM,YACA+jM,EAAA/+M,KAAAo9M,QACAmE,EAAA,GAAA3D,EAAAc,SAAA,IACA8C,EAAAF,EAAAC,EAAAvhN,KAAAs9M,YAEAmE,EAAAzhN,KAAA0hN,iBAAA1hN,KAAAq9M,cAAAxkG,EAAA2oG,EAAA,WAEAG,EAAA3hN,KAAA0hN,iBAAA7oG,IAAA0oG,EAAA,cAEAxC,EAAAO,QAAA93F,SAAA,CACA9mH,KAAA+gN,EAAAG,SACA9tJ,QAAA2tJ,EAAA3tJ,UACK4lJ,SAAA,SAAA+H,EAAAI,WACL9C,EAAAK,WAAA53F,SAAA,CACA9mH,KAAAihN,EAAAC,SACA9tJ,QAAA6tJ,EAAA7tJ,UACK4lJ,SAAA,SAAAiI,EAAAE,WAEL7hN,KAAA8hN,cAAAN,EAAAC,IAMAC,iBAAA,SAAAR,EAAAroG,EAAAwoG,EAAAU,GACA,IAAAjiN,EAAA,CACAiiN,aACAC,uBAAA,GAGAv6L,EAAAznB,KAAAiiN,mBAAAf,EAAAphN,GAEAoiN,EAAA,CAAAliN,KAAAmiN,oBAAAjB,EAAA,gBAAAphN,GAAAE,KAAAmiN,oBAAAjB,EAAA,gBAAAphN,IAEA+hN,EAAA7hN,KAAAoiN,iBAAAf,EAAAa,GAEA,OACAN,SAAA,IAAA9E,EAAA,QAAAr1L,GACAo6L,YACAQ,aAAA,CAAA56L,EAAA,GAAAX,MAAAW,IAAAlkB,OAAA,GAAAujB,SAOAm7L,mBAAA,SAAAf,EAAAphN,GAIA,IAAAwiN,EAAA,IAEA76L,EAAA,GACAjkB,GAAA09M,EAAA,GAAAA,EAAA,IAAAoB,EACA76L,EAAA9U,KAAA,CACAmU,MAAA9mB,KAAAmiN,oBAAAjB,EAAA,WAAAphN,GACAimD,OAAA,IAGA,QAAAh7C,EAAA,EAAmBA,EAAAu3M,EAAkBv3M,IAAA,CACrC,IAAAw3M,EAAArB,EAAA,GAAA19M,EAAAuH,EAEA,GAAAw3M,EAAArB,EAAA,GACA,MAGAz5L,EAAA9U,KAAA,CACAmU,MAAA9mB,KAAAmiN,oBAAAI,EAAA,QAAAziN,GACAimD,OAAAh7C,EAAAu3M,IAQA,OAJA76L,EAAA9U,KAAA,CACAmU,MAAA9mB,KAAAmiN,oBAAAjB,EAAA,WAAAphN,GACAimD,OAAA,IAEAt+B,GAMA26L,iBAAA,SAAAf,EAAAa,GACA,IAAAxD,EAAA1+M,KAAA49M,eAAAc,SACA,QAAAA,EAAA,GAAAwD,EAAA,GAAAb,EAAA,KAAA3C,EAAA,GAAA2C,EAAA,KAAA3C,EAAA,GAAA2C,EAAA,KAAA3C,EAAA,GAAAwD,EAAA,GAAAb,EAAA,MAMAlC,gBAAA,SAAAF,GACA,IAAA/8H,EAAAliF,KAAAu9M,QACA14J,EAAA7kD,KAAA49M,eAAAn4M,IAAA,WACA,WAAAvB,EAAA80M,MAAA,eAAA92H,GAAAr9B,EAGK,eAAAq9B,GAAAr9B,EAAA,CACL9sC,MAAA,WAAAknM,EAAA,aACAz4M,UAAAE,KAAAC,GAAA,GACK,aAAAu7E,GAAAr9B,EAEA,CACL9sC,MAAA,SAAAknM,EAAA,cAHK,CACLlnM,MAAA,SAAAknM,EAAA,gBAPA,CACAlnM,MAAA,WAAAknM,EAAA,aACAz4M,SAAAE,KAAAC,GAAA,KAcAm7M,cAAA,SAAAT,EAAAI,GACA,GAAAzhN,KAAAw9M,WAAA,CAIA,IAAAuB,EAAA/+M,KAAAo9M,QACAQ,EAAA59M,KAAA49M,eACA8B,EAAAX,EAAAW,aACAC,EAAAZ,EAAAY,aACAx4L,EAAA,eAAA44L,GACA,IAAAG,EAAAR,EAAAK,GACAG,EAAA14F,SAAA,OAAAi6F,EAAAY,aAAAtC,IACAG,EAAA55M,SAAA,GAAA+6M,EAAAtB,GAEA,IAAAyC,EAAAt+M,EAAAmV,eAAA0lM,EAAAa,kBAAAG,GAAA77M,EAAAu+M,aAAAvC,EAAAlgN,KAAAylE,QACAk6I,EAAAI,GAAAv4F,SAAA,CACAxlH,EAAAwgN,EAAA,GACAvgN,EAAAugN,EAAA,GACAxhN,KAAA48M,EAAA8E,gBAAA1iN,KAAAq9M,cAAA0C,IACAn+M,kBAAA,SACAD,UAAA3B,KAAA4+M,gBAAA,eAAA5+M,KAAAu9M,QAAA,IAAAwC,EAAA,sBAAAhB,EAAAJ,aAEK3+M,QAUL2iN,eAAA,SAAAC,EAAAC,EAAAC,EAAAC,GACA,IAAAnF,EAAA59M,KAAA49M,eACA/kG,EAAA+kG,EAAA5iM,YACA0jM,EAAAd,EAAAc,SACA0C,EAAA,GAAA1C,EAAA,IACA59G,EAAAgX,EAAA8qG,EAAA/pG,EAAAuoG,GAAA,GACArC,EAAA/+M,KAAAo9M,QACAoD,EAAAzB,EAAAyB,UAEA,GAAAA,EAAA,CAIAA,EAAAl6M,SAAA,GAAAw6F,EACA0/G,EAAAz8H,KAAA,gBACAy8H,EAAA9G,SAAA,SAAAsJ,IAAAF,EAAAC,EAAAjiH,EAAA49G,EAAA,KACA,IAAA5+M,EAAA,CACAkiN,uBAAA,GAEAl7L,EAAA9mB,KAAAmiN,oBAAAS,EAAA,QAAA9iN,GACA0gN,EAAAh5F,SAAA,OAAA1gG,GAEA,IAAA07L,EAAAt+M,EAAAmV,eAAA0lM,EAAA2B,oBAAAx8M,EAAAu+M,aAAAjC,EAAAxgN,KAAAylE,QACAg7I,EAAA1B,EAAA0B,eACAA,EAAA18H,KAAA,gBAEA,IAAA0/D,EAAAzjJ,KAAA4+M,gBAAA,OAAAG,EAAAJ,UAEAz8H,EAAAliF,KAAAu9M,QACAkD,EAAAj5F,SAAA,CACAxmH,MAAA8hN,GAAA,IAAAlF,EAAA8E,gBAAAG,GACAjhN,kBAAA,eAAAsgF,EAAAuhE,EAAA,SACA9hJ,UAAA,eAAAugF,EAAA,SAAAuhE,EACAzhJ,EAAAwgN,EAAA,GACAvgN,EAAAugN,EAAA,OAOAnE,yBAAA,WACA,IAAA32K,EAAA1nC,KAEAA,KAAAo9M,QAAAuB,SAAA/oM,GAAA,qBAAAO,GAGA,GAFAuxB,EAAAg2K,WAAA,GAEAh2K,EAAA1xB,UAAA,CACA,IAAA0oM,EAAAh3K,EAAAk2K,eAAAc,SAEA59G,EAAAp5D,EAAAk3K,gBAAA,CAAAzoM,EAAAI,QAAAJ,EAAAK,SAAAkxB,EAAA01K,QAAAuB,UAAA,MAIA79G,EAAA,GAAAxG,EAAAC,EAAA,EAAAuG,EAAA,IAAA49G,EAAA,IAEAh3K,EAAAu5K,qBAAAngH,EAAA,MAAAA,EAAA,IAAAA,EAAA,IAAA49G,EAAA,OAEK9oM,GAAA,sBAGL8xB,EAAAg2K,WAAA,GACAh2K,EAAA1xB,WAAA0xB,EAAAq5K,6BAOAzC,2BAAA,WACA,IAAAnqM,EAAAnU,KAAA+E,IAAA2sB,QAEA1xB,KAAA49M,eAAAz6L,OAAA8/L,WACA9uM,EAAAyB,GAAA,YAAA5V,KAAAkjN,8BAAAljN,MACAmU,EAAAyB,GAAA,WAAA5V,KAAAmjN,eAAAnjN,OAEAA,KAAAojN,6BAOAnC,qBAAA,SAAAoC,EAAAC,GACA,IAAA1F,EAAA59M,KAAA49M,eACAc,EAAAd,EAAAc,SAEA,GAAAd,EAAAz6L,OAAA8/L,UAAA,CAIA,IAAA7B,EAAA,GAAA1C,EAAA,IACA7lG,EAAA+kG,EAAA5iM,YAEAqoM,EAAA/oH,EAAAC,EAAA6mH,EAAA,GAAAiC,GAAAjC,EAAA,IACA,IAAA2B,EAAAQ,EAAA3F,EAAA/kG,EAAAuoG,GACAoC,EAAA,CAAAH,EAAAN,EAAAM,EAAAN,GACAH,EAAA9qG,EAAAurG,EAAAjC,EAAAvoG,GAAA,GACA4qG,EAAA,CAAA3rG,EAAA0rG,EAAA,GAAApC,EAAAvoG,GAAA,GAAAf,EAAA0rG,EAAA,GAAApC,EAAAvoG,GAAA,IAGA2qG,EAAA,GAAApC,EAAA,KAAAqC,EAAA,IAAA3pM,KACA0pM,EAAA,GAAApC,EAAA,KAAAqC,EAAA,GAAA3pM,KAGAwpM,IACAG,EAAA,MAAA3pM,IACA9Z,KAAA2iN,eAAAC,EAAAa,EAAA,QAAAV,GACOU,EAAA,KAAA3pM,IACP9Z,KAAA2iN,eAAAC,EAAAa,EAAA,QAAAV,GAEA/iN,KAAA2iN,eAAAC,IAAA,KAAAG,IAUA,IAAAW,EAAA1jN,KAAAy9M,sBACAkG,EAAA,IAEAL,GAAAtC,EAAApD,MACA+F,EAAA3jN,KAAAy9M,sBAAAG,EAAAgG,sBAAAH,IAGA,IAAAI,EAAAjiM,EAAAkiM,gBAAAJ,EAAAC,GAEA3jN,KAAA+jN,kBAAA,WAAAz8H,EAAA08H,iBAAAH,EAAA,KAEA7jN,KAAA+jN,kBAAA,YAAAz8H,EAAA08H,iBAAAH,EAAA,OAMAX,8BAAA,SAAA/sM,GACA,IAAA46B,EAAA56B,EAAAE,OACAunM,EAAA59M,KAAA49M,eAEA,GAAA7sK,GAAA,MAAAA,EAAAtrB,UAAA,CAIA,IAAAw+L,EAAAjkN,KAAAua,QAAA2pM,iBAAAnzK,EAAAluB,aAEA,GAAA+6L,EAAAuG,eAAAF,GAAA,CAIA,IAAA14M,EAAA04M,EAAAzpM,QAAAu2B,EAAA7rB,UACAjhB,EAAAsH,EAAA9F,IAAAm4M,EAAAwG,iBAAA74M,GAAAwlC,EAAAtrB,WAAA,GAEA7L,MAAA3V,IACAjE,KAAA2iN,eAAA1+M,QAOAk/M,eAAA,WACA,IAAApE,EAAA/+M,KAAAo9M,QACA2B,EAAAyB,WAAAzB,EAAAyB,UAAAz8H,KAAA,gBACAg7H,EAAA0B,gBAAA1B,EAAA0B,eAAA18H,KAAA,iBAMAg9H,wBAAA,WACA/gN,KAAAmjN,iBAEA,IAAA11J,EAAAztD,KAAAy9M,sBAEAz9M,KAAA+jN,kBAAA,WAAAz8H,EAAA08H,iBAAAv2J,IAEAA,EAAAlqD,OAAA,GAMA6/M,0BAAA,WACApjN,KAAAmjN,iBAEA,IAAAhvM,EAAAnU,KAAA+E,IAAA2sB,QACAvd,EAAA0B,IAAA,YAAA7V,KAAAkjN,+BACA/uM,EAAA0B,IAAA,WAAA7V,KAAAmjN,iBAMAvE,gBAAA,SAAA70K,EAAA2sK,EAAA7xJ,EAAAqG,GACA,IAAArkD,EAAA3C,EAAAu+M,aAAA/L,EAAAxrJ,EAAA,KAAAlrD,KAAAylE,OACA,OAAAvhE,EAAA1E,EAAAwJ,QAAA+gC,GAAA,uCAAAA,EAAAljC,EAAAg+C,IAMAk/J,kBAAA,SAAA5jN,EAAAkkN,GACAA,KAAA9gN,QAAAvD,KAAA+E,IAAAqoG,eAAA,CACAjtG,OACAkkN,WAOAvuM,QAAA,WACA9V,KAAAojN,4BAEApjN,KAAA+gN,2BAMAv0M,OAAA,WACAxM,KAAAojN,4BAEApjN,KAAA+gN,6BAIA,SAAA1B,EAAA33I,EAAAjX,EAAAuvJ,EAAAC,GACA,WAAA/7M,EAAA+0M,QAAA,CACArxM,MAAA,CACA8/D,UAEApxD,YAAA0pM,EACAvvJ,SACA4vJ,MAAAL,EACAr0F,YAAA,SAAAx1G,GAEAnC,EAAAkD,KAAAf,EAAAgB,QAEAmpM,UAAAL,IAIA,SAAAE,EAAAJ,EAAAN,GACA,WAAAM,EAAA,QAAAN,EAAA,IAAAA,OAAA,QAAAA,EAAA,IAAAA,MAGA,SAAAuD,EAAAsB,EAAAvB,EAAAjiH,EAAAyjH,GACA,OAAAD,EAAA,CACA,IAAAhqH,EAAAyoH,EAAAxoH,EAAAuG,EAAA,MAAAo8G,EAAA,MAAA5iH,EAAAyoH,EAAAxoH,EAAAgqH,EAAAzjH,EAAA,OACA,oBAGA,SAAAyiH,EAAA3F,EAAA/kG,EAAAuoG,GACA,IAAA2B,EAAA9F,EAAA,EACAuH,EAAA5G,EAAAn4M,IAAA,qBAMA,OAJA++M,IACAzB,EAAAjrG,EAAA0sG,EAAA3rG,EAAAuoG,GAAA,MAGA2B,EAGA,SAAA/B,EAAApD,GACA,IAAA6G,EAAA7G,EAAAn4M,IAAA,qBACA,eAAAg/M,EAAA7G,EAAAn4M,IAAA,YAAAg/M,GAGA,SAAAlF,EAAAr9H,GACA,mBAAAA,EAAA,wBAGA,IAAAz/E,EAAA06M,EACAz6M,EAAAC,QAAAF,wBCvwBA,IAAA2e,EAAcviB,EAAQ,QAItBD,GAFAwiB,EAAAC,QAEcxiB,EAAQ,SAEtBW,EAAaX,EAAQ,QAErByiB,EAAUziB,EAAQ,QAElB+iB,EAAgB/iB,EAAQ,QAExB8wE,EAAiB9wE,EAAQ,QAEzBkjB,EAAsBljB,EAAQ,QAoB9B6iB,EAAAiuD,EAAAjuD,UACAD,EAAAkuD,EAAAluD,WAEA,SAAAijM,EAAAtvM,GACAwM,EAAA2C,gBAAAnP,EAAA,kBAGA,IAAAuvM,EAAA/lN,EAAAu3I,qBAAA,CACAh2I,KAAA,SACA4lH,aAAA,gCAKA7iG,KAAA,SAAAC,EAAAC,EAAA7I,EAAA8I,GACArjB,KAAA4jB,qBAAAT,EAAA5I,GACAva,KAAAykB,YAAAtB,EAAA5I,EAAA8I,EAAAuhM,eAAA,IAMA38L,mBAAA,WACA,GAAA3G,EAAAjE,KACA,SAGA,IAAAwnM,EAAA7kN,KAAA8kN,aACA,OAAA9kN,KAAAmoB,WAAA,cAAA08L,KAAA58L,sBAEAxD,YAAA,SAAAmiK,EAAArsK,EAAAqqM,EAAAjT,GACA,IAAAgT,EAAA3kN,KAAAE,YACA6kN,EAAA/kN,KAAAgsB,SAAA,QAEA44L,GACArqM,EAAAkkG,WAAA,SAAAnkG,GACA,IAAA0qM,EAAA1qM,EAAA7U,IAAAzF,KAAAgsB,UAAA,GACAi5L,EAAA3qM,EAAAyqM,GAEAC,KAAAz5M,MAKA05M,EAyBAA,EAAAxgM,YAAAugM,EAAAzqM,GAAA,IAxBAo3L,GAEA+S,EAAAM,GAGAxlN,EAAA2nB,KAAA69L,EAAAz5M,KAAA,SAAAs5D,GAEAA,aAAArnD,OACAknM,EAAA7/I,EAAA,IACA6/I,EAAA7/I,EAAA,KAEA6/I,EAAA7/I,KAGAogJ,EAAA,IAAAN,EAAAK,EAAAhlN,KAAAua,GACA/a,EAAAkF,OAAAugN,EAAA,CACAj5L,SAAAhsB,KAAAgsB,SAEAnJ,YAAAvI,EAAAuI,YACAvU,KAAAgM,EAAAhM,KACAs2M,eAAA,IAEAK,EAAAH,aAAAxqM,GAKAA,EAAAyqM,GAAAE,GAhCA3qM,EAAAyqM,GAAA,MAiCO/kN,OAGPwlB,cAAA,SAAAC,GACA,IAAAla,EAAAvL,KAAAwa,UACAvW,EAAAjE,KAAAsnB,YAAA7B,GACAiC,EAAAloB,EAAAwJ,QAAA/E,GAAAzE,EAAA4N,IAAAnJ,EAAAyd,GAAA1R,KAAA,MAAA0R,EAAAzd,GACAqK,EAAA/C,EAAAqc,QAAAnC,GACAuC,EAAAvG,EAAAzhB,KAAAsO,MAkBA,OAhBA,MAAArK,GAAAqK,KACA0Z,GAAA,UAGA1Z,IACA0Z,GAAAvG,EAAAnT,GAEA,MAAArK,IACA+jB,GAAA,QAIA,MAAA/jB,IACA+jB,GAAAvG,EAAAiG,IAGAM,GAEAxN,QAAA,WACA,OAAAxa,KAAA+gG,OAEA5lF,QAAA,SAAA5P,GACAvL,KAAA+gG,MAAAx1F,KAGA/L,EAAAoZ,MAAA+rM,EAAA5iM,GACA,IAAAtf,EAAAkiN,EACAjiN,EAAAC,QAAAF,0BChJA5D,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,gCCNR,IAAA8lN,EAAkB9lN,EAAQ,QAoB1B4D,EAAAkiN,EAAAjgN,OAAA,CACAvE,KAAA,WACA2iB,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EACA1S,OAAA,mBACAnN,WAAA,OAEAo5C,UAAA,EACApwC,QAAA,CACAlP,QAAA,QAEA0N,MAAA,CACAo3F,MAAA,EACA51G,SAAA,OAEAmzI,UAAA,CACAt5I,KAAA,UAEA08G,SAAA,CACA/3F,MAAA,CACAo3F,MAAA,GAEAu9B,UAAA,CACAn3I,MAAA,IAGA4iN,gBAAA,YAIAxiN,EAAAC,QAAAF,uCCrEA,IAAA6S,EAAezW,EAAQ,QACvByM,EAAYzM,EAAQ,QACpBmuM,EAAyBnuM,EAAQ,QACjCsmN,EAAsBtmN,EAAQ,QAO9B,SAAAumN,EAAAC,GACArlN,KAAAsV,SAAA+vM,EACArlN,KAAAslN,aAAA,CACAp5J,QAAA,IAAA8gJ,EACAv+E,SAAA,IAAAu+E,GASAoY,EAAAnlN,UAAAisD,QAAA,SAAA8tI,GAGA,kBAAAA,IACAA,EAAA1uL,EAAAH,MAAA,CACAmyF,IAAA30F,UAAA,IACKA,UAAA,KAGLqxL,EAAA1uL,EAAAH,MAAAmK,EAAA,CAAkC6wI,OAAA,OAAcnmJ,KAAAsV,SAAA0kL,GAChDA,EAAA7zC,OAAA6zC,EAAA7zC,OAAAzsB,cAGA,IAAA6rF,EAAA,CAAAJ,OAAA78M,GACAk9M,EAAAC,QAAAC,QAAA1rB,GAEAh6L,KAAAslN,aAAAp5J,QAAArhD,QAAA,SAAA86M,GACAJ,EAAApwI,QAAAwwI,EAAA1Y,UAAA0Y,EAAAzY,YAGAltM,KAAAslN,aAAA72F,SAAA5jH,QAAA,SAAA86M,GACAJ,EAAA5yM,KAAAgzM,EAAA1Y,UAAA0Y,EAAAzY,YAGA,MAAAqY,EAAAhiN,OACAiiN,IAAAI,KAAAL,EAAAzgJ,QAAAygJ,EAAAzgJ,SAGA,OAAA0gJ,GAIAl6M,EAAAT,QAAA,2CAAAs7I,GAEAi/D,EAAAnlN,UAAAkmJ,GAAA,SAAA7oD,EAAA08F,GACA,OAAAh6L,KAAAksD,QAAA5gD,EAAAH,MAAA6uL,GAAA,GAAgD,CAChD7zC,SACA7oD,YAKAhyF,EAAAT,QAAA,gCAAAs7I,GAEAi/D,EAAAnlN,UAAAkmJ,GAAA,SAAA7oD,EAAA/xF,EAAAyuL,GACA,OAAAh6L,KAAAksD,QAAA5gD,EAAAH,MAAA6uL,GAAA,GAAgD,CAChD7zC,SACA7oD,MACA/xF,aAKA7I,EAAAC,QAAAyiN,wBC9EA,IAAAxlN,EAAA,CACA0B,KAAA,EACAukN,WAAA,EACAC,WAAA,GAGAjtM,EAAA,EACAlW,EAAA/C,kBACA+C,EAAAkW,wDCIAnW,EAAAC,QAAA,SAAAw3B,EAAA6/J,EAAA9vJ,EAAAgiB,EAAAuiE,GAOA,OANAt0F,EAAA6/J,SACA9vJ,IACA/P,EAAA+P,QAEA/P,EAAA+xB,UACA/xB,EAAAs0F,WACAt0F,2BCCA,IAAA36B,EAAaX,EAAQ,QAErBgxM,EAA0BhxM,EAAQ,QAElCknN,EAAiBlnN,EAAQ,QAEzBmnN,EAA2BnnN,EAAQ,QAEnC6jJ,EAAY7jJ,EAAQ,QAEpBmjB,EAAcnjB,EAAQ,QAEtBmjB,EAAAshE,cACA3gF,EAAA2gF,cAAAthE,EAAAshE,cAEA,IAAA2iI,EAAuBpnN,EAAQ,QAE/BopF,EAAAg+H,EAAAh+H,gBACA2qF,EAAAqzC,EAAArzC,mBACAszC,EAAAD,EAAAC,oBAEAC,EAA0BtnN,EAAQ,QAElC8D,EAAAk+J,mBAAAslD,EAEA,IAAAC,EAAwBvnN,EAAQ,QAEhC8D,EAAA4kF,iBAAA6+H,EAEA,IAAAC,EAAcxnN,EAAQ,QA6BtB,SAAAsoL,EAAA7sK,GACA,OAAAu1L,EAAAv1L,EAAAiI,YAAAjI,GA5BA3X,EAAA85K,aAAA4pC,EAAA5pC,aAoCA,IAAAz0F,EAAA,CACA4qF,qBACA3qF,kBACAi+H,uBAkBA,SAAArnG,EAAAhG,EAAA11F,GACA,IAAAte,EAAAse,EAEAu/H,EAAAsqC,WAAA7pK,KACAte,EAAA,IAAA69I,EAAAv/H,GACA3jB,EAAAoZ,MAAA/T,EAAAmhN,IAGA,IAAAjuM,EAAAguM,EAAAO,mBAAAzhN,GAGA,OAFAkT,EAAAumG,UAAAzF,EAAA,GAAAA,EAAA,IACAktG,EAAAQ,gBAAAxuM,EAAAlT,GACAkT,EAgBA,SAAA0+H,EAAAiM,GACAljJ,EAAAoZ,MAAA8pI,EAAAsjE,GAGArjN,EAAAwkL,aACAxkL,EAAAqlF,YACArlF,EAAAk8G,cACAl8G,EAAA8zI,sDC1HA,IAAAr1H,EAAcviB,EAAQ,QAItBD,GAFAwiB,EAAAC,QAEcxiB,EAAQ,SAEtBW,EAAaX,EAAQ,QAErBwnN,EAAcxnN,EAAQ,QAEtB49K,EAAA4pC,EAAA5pC,aAEAv4K,EAAcrF,EAAQ,QAEtB2nN,EAAqB3nN,EAAQ,QAE7B4nN,EAAAD,EAAAC,eAEAC,EAAiB7nN,EAAQ,QAoBzB8qB,EAAAnqB,EAAAmqB,MACAxC,EAAA3nB,EAAA2nB,KACA6xL,EAAA90M,EAAA80M,MAEAv2M,EAAA7D,EAAAu7I,oBAAA,CACAh6I,KAAA,eACAwmN,iBAAA,EAKAzjM,KAAA,WAKAljB,KAAAylE,MAAAloC,IAAAv9B,KAAA4mN,cAAA,IAAA5N,GAMAh5M,KAAA6mN,cAQA7mN,KAAA8mN,gBAAA,GAMAC,gBAAA,WACA,OAAA/mN,KAAA4mN,eAMA1zJ,OAAA,SAAA8zJ,EAAAzsM,EAAAxV,GACA,IAAAkiN,EAAAjnN,KAAA8mN,eAIA,GAHA9mN,KAAA8mN,gBAAA,EACA9mN,KAAAknN,aAEAF,EAAAvhN,IAAA,YAIA,IAAAw5M,EAAA+H,EAAAvhN,IAAA,SAEAw5M,GAAA,SAAAA,IACAA,EAAA,UAAA+H,EAAAvhN,IAAA,sBAAAuhN,EAAAvhN,IAAA,0BAGAzF,KAAAmnN,YAAAlI,EAAA+H,EAAAzsM,EAAAxV,GAEA,IAAAm+E,EAAA8jI,EAAA/oG,qBACAmpG,EAAA,CACA9kN,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,aAEAptD,EAAA81M,EAAAvhN,IAAA,WACAmH,EAAA85M,EAAApjI,cAAAJ,EAAAkkI,EAAAl2M,GACAm2M,EAAArnN,KAAAsnN,YAAAN,EAAA/H,EAAAryM,EAAAq6M,GAEAM,EAAAb,EAAApjI,cAAA9jF,EAAA8V,SAAA,CACAhT,MAAA+kN,EAAA/kN,MACAC,OAAA8kN,EAAA9kN,QACK2gF,GAAAkkI,EAAAl2M,GACLlR,KAAAylE,MAAAse,KAAA,YAAAwjI,EAAAvlN,EAAAqlN,EAAArlN,EAAAulN,EAAAtlN,EAAAolN,EAAAplN,IAEAjC,KAAAylE,MAAAloC,IAAAv9B,KAAA6mN,cAAAJ,EAAAY,EAAAL,MAMAE,WAAA,WACAlnN,KAAA+mN,kBAAA1iJ,YACArkE,KAAA6mN,eAAA7mN,KAAAylE,MAAAj5D,OAAAxM,KAAA6mN,gBAMAM,YAAA,SAAAlI,EAAA+H,EAAAzsM,EAAAxV,GACA,IAAAyiN,EAAAxnN,KAAA+mN,kBACAU,EAAAjoN,EAAAqrD,gBACA68J,EAAAV,EAAAvhN,IAAA,gBACAkiN,EAAA,GACAptM,EAAAqtM,cAAA,SAAAttM,IACAA,EAAA7U,IAAA,oBAAAkiN,EAAAh1M,KAAA2H,EAAA2R,MAEA9E,EAAA6/L,EAAAxsM,UAAA,SAAA0Q,EAAAzF,GACA,IAAAnX,EAAA4c,EAAAzlB,IAAA,QAEA,GAAAzF,KAAA2mN,iBAAA,KAAAr4M,GAAA,OAAAA,EAAA,CAQA,IAAAgM,EAAAC,EAAAstM,gBAAAv5M,GAAA,GAEA,IAAAm5M,EAAAhiN,IAAA6I,GAMA,GAAAgM,EAAA,CACA,IAAA/O,EAAA+O,EAAAE,UACAsM,EAAAvb,EAAAgS,UAAA,SAEA,oBAAAuJ,IAEAA,IAAAxM,EAAA0Q,cAAA,KAIA,IAAA88L,EAAAv8M,EAAAgS,UAAA,6BACA+M,EAAA/e,EAAAgS,UAAA,UAEAwqM,EAAA/nN,KAAAgoN,YAAA15M,EAAAmX,EAAAyF,EAAA87L,EAAAc,EAAAx9L,EAAA20L,EAAAn4L,EAAA4gM,GAEAK,EAAAnyM,GAAA,QAAA+T,EAAAs+L,EAAA35M,EAAAvJ,IAAA6Q,GAAA,YAAA+T,EAAAu+L,EAAA5tM,EAAAhM,KAAA,KAAAvJ,EAAA4iN,IAAA/xM,GAAA,WAAA+T,EAAAw+L,EAAA7tM,EAAAhM,KAAA,KAAAvJ,EAAA4iN,IACAF,EAAAr0L,IAAA9kB,GAAA,QAGAiM,EAAAqtM,cAAA,SAAAttM,GAEA,IAAAmtM,EAAAhiN,IAAA6I,IAIAgM,EAAAyI,mBAAA,CACA,IAAAxX,EAAA+O,EAAAyI,qBACApF,EAAApS,EAAA0xB,YAAA3uB,GAEA,GAAAqP,EAAA,EACA,OAGA,IAAAmJ,EAAAvb,EAAAic,cAAA7J,EAAA,SACAmqM,EAAA,YAEAC,EAAA/nN,KAAAgoN,YAAA15M,EAAAmX,EAAAyF,EAAA87L,EAAAc,EAAA,KAAA7I,EAAAn4L,EAAA4gM,GAGAK,EAAAnyM,GAAA,QAAA+T,EAAAs+L,EAAA35M,EAAAvJ,IAEA6Q,GAAA,YAAA+T,EAAAu+L,EAAA,KAAA55M,EAAAvJ,EAAA4iN,IAAA/xM,GAAA,WAAA+T,EAAAw+L,EAAA,KAAA75M,EAAAvJ,EAAA4iN,IACAF,EAAAr0L,IAAA9kB,GAAA,KAEStO,WA3DTwnN,EAAAjqL,IAAA,IAAAy7K,EAAA,CACAp2H,SAAA,MA4DK5iF,OAELgoN,YAAA,SAAA15M,EAAAmX,EAAAyF,EAAA87L,EAAAc,EAAAx9L,EAAA20L,EAAAn4L,EAAA4gM,GACA,IAAAU,EAAApB,EAAAvhN,IAAA,aACA4iN,EAAArB,EAAAvhN,IAAA,cACA6iN,EAAAtB,EAAAvhN,IAAA,iBACAilB,EAAAs8L,EAAAvhN,IAAA,oBACA8iN,EAAAvB,EAAAuB,WAAAj6M,GACAy5M,EAAA,IAAA/O,EACArvG,EAAAz+E,EAAAyP,SAAA,aACA6tL,EAAAt9L,EAAAzlB,IAAA,QACAgjN,EAAAv9L,EAAAyP,SAAA,WACA+tL,EAAAD,EAAArlM,YAOA,GALA0kM,EAAAU,GAAAV,EACAC,EAAAxqL,IAAAk/I,EAAAqrC,EAAA,IAAAM,EAAAC,EAAAE,EAAAzhM,EAAAwhM,EACA,MAAA59L,QAGA89L,GAAAl+L,IACAA,IAAAw9L,GAAA,SAAAx9L,GAAA,CACA,IAAArP,EAAA,GAAAotM,EAEA,SAAA/9L,IACAA,EAAA,UAIAy9L,EAAAxqL,IAAAk/I,EAAAnyJ,GAAA89L,EAAAntM,GAAA,GAAAotM,EAAAptM,GAAA,EAAAA,IAAAstM,EAAAzhM,EAAAwhM,EACA,MAAA59L,OAGA,IAAAi+L,EAAA,SAAA1J,EAAAmJ,EAAA,KACAzmN,EAAAs9M,EACApvI,EAAAm3I,EAAAvhN,IAAA,aACAuhB,EAAA1Y,EAEA,kBAAAuhE,KACA7oD,EAAA6oD,EAAAtlE,QAAA,SAAyC,MAAA+D,IAAA,IACpC,oBAAAuhE,IACL7oD,EAAA6oD,EAAAvhE,IAGAy5M,EAAAxqL,IAAA,IAAAr5B,EAAArE,KAAA,CACAU,MAAA2D,EAAA2lG,aAAA,GAAoCF,EAAA,CACpC3oG,KAAAgmB,EACAhlB,EAAA2mN,EACA1mN,EAAAomN,EAAA,EACAv+G,SAAAy+G,EAAA5+G,EAAAk1G,eAAAyJ,EACA3mN,YACAC,kBAAA,cAIA,IAAAgnN,EAAA,IAAA1kN,EAAA+qE,KAAA,CACArnE,MAAAmgN,EAAAxmN,kBACAuvE,WAAA,EACAxqD,QAAAmiM,EAAAhjN,IAAA,QAAAjG,EAAAkF,OAAA,CACAsiB,QAAA1Y,EAEAuhE,UAAA64I,EAAAjjN,IAAA,4BACA,OAAA6I,GAEAu6M,gBAAA,CACAtiG,cAAA,SACAuiG,YAAA9B,EAAA1jM,eACAhV,OACAq5I,MAAA,WAEO8gE,EAAAtlM,QAAA,OAUP,OARA4kM,EAAAxqL,IAAAqrL,GACAb,EAAAz1I,UAAA,SAAAlgD,GACAA,EAAAi1F,QAAA,IAEAuhG,EAAAvhG,QAAAqgG,EACA1nN,KAAA+mN,kBAAAxpL,IAAAwqL,GACA7jN,EAAA41M,cAAAiO,GACAA,EAAAgB,kBAAAtjM,EACAsiM,GAMAT,YAAA,SAAAN,EAAA/H,EAAAryM,GACA,IAAA46M,EAAAxnN,KAAA+mN,kBAEAL,EAAA5jI,IAAAkkI,EAAAvhN,IAAA,UAAA+hN,EAAAR,EAAAvhN,IAAA,WAAAmH,EAAAtK,MAAAsK,EAAArK,QACA,IAAAymN,EAAAxB,EAAAjmN,kBAEA,OADAimN,EAAAzjI,KAAA,aAAAilI,EAAAhnN,GAAAgnN,EAAA/mN,IACAjC,KAAAylE,MAAAlkE,mBAMAiL,OAAA,WACAxM,KAAA+mN,kBAAA1iJ,YACArkE,KAAA8mN,gBAAA,KAIA,SAAAmB,EAAA35M,EAAAvJ,GACAA,EAAAqoG,eAAA,CACAjtG,KAAA,qBACAmO,SAIA,SAAA45M,EAAArgM,EAAAimK,EAAA/oL,EAAA4iN,GAEA,IAAA52K,EAAAhsC,EAAA2sB,QAAAs2F,QAAAC,iBAAA,GAEAl3E,KAAAslK,eACAtxM,EAAAqoG,eAAA,CACAjtG,KAAA,YACA0nB,aACAvZ,KAAAw/K,EACA65B,oBAKA,SAAAQ,EAAAtgM,EAAAimK,EAAA/oL,EAAA4iN,GAEA,IAAA52K,EAAAhsC,EAAA2sB,QAAAs2F,QAAAC,iBAAA,GAEAl3E,KAAAslK,eACAtxM,EAAAqoG,eAAA,CACAjtG,KAAA,WACA0nB,aACAvZ,KAAAw/K,EACA65B,oBAKAjlN,EAAAC,QAAAF,0BClVA,IAAAjD,EAAaX,EAAQ,QAErB4O,EAAmB5O,EAAQ,QAE3B+xD,EAAa/xD,EAAQ,QAErBqF,EAAcrF,EAAQ,QAEtBoH,EAAapH,EAAQ,QAErBoqN,EAAmBpqN,EAAQ,QAE3BqqN,EAAmBrqN,EAAQ,QAE3BwnN,EAAcxnN,EAAQ,QAEtB49K,EAAA4pC,EAAA5pC,aAEAspC,EAAiBlnN,EAAQ,QAEzB2nJ,EAAiB3nJ,EAAQ,QAEzB0iB,EAAc1iB,EAAQ,QAEtB4iB,EAAAF,EAAAE,WAoBA7Y,EAAApJ,EAAAoJ,KACAue,EAAA3nB,EAAA2nB,KACAxgB,EAAAD,KAAAC,GAEAlE,EAAAwmN,EAAAvkN,OAAA,CACAvE,KAAA,kBACA+iB,KAAA,SAAA3I,EAAAxV,GACA/E,KAAA+E,MAMA/E,KAAAmpN,MAMAnpN,KAAAopN,UAKAppN,KAAAqpN,OAKArpN,KAAAspN,gBAKAtpN,KAAAupN,WAKAvpN,KAAAwpN,aAMAt2J,OAAA,SAAAzmC,EAAAlS,EAAAxV,EAAAynB,GAMA,GALAxsB,KAAA2jB,MAAA8I,EACAzsB,KAAA+E,MACA/E,KAAAua,UACAva,KAAAylE,MAAApB,YAEA53C,EAAAhnB,IAAA,YACA,IAAAO,EAAAhG,KAAAgiB,QAAAyK,EAAA1nB,GAEA0kN,EAAAzpN,KAAA0pN,aAAA,aAEAC,EAAA3pN,KAAA0pN,aAAA,cAOA1kN,EAAAhF,KAAAmpN,MAAAnpN,KAAA4pN,YAAA5jN,EAAAymB,GAEAA,EAAAjH,cAAA,SAAAC,GACA,OAAAhE,EAAAzc,EAAA+S,MAAAgnI,SAAAt5H,KAGA0B,EAAA,4DAAA7Y,GACAtO,KAAA,UAAAsO,GAAAtI,EAAAyjN,EAAAzkN,EAAAynB,IACOzsB,MAEPA,KAAA6pN,iBAAA7jN,EAAA2jN,EAAA3kN,EAAAynB,GAEAzsB,KAAA8pN,UAAA9jN,EAAAymB,GAGAzsB,KAAA+pN,eAMAv9M,OAAA,WACAxM,KAAAgqN,cAEAhqN,KAAAylE,MAAApB,aAMAvuD,QAAA,WACA9V,KAAAgqN,eAEAhoM,QAAA,SAAAyK,EAAA1nB,GACA,IAAAklN,EAAAx9L,EAAAhnB,IAAA,kBACAy8E,EAAAz1D,EAAAhnB,IAAA,UACAykN,EAAAC,EAAA19L,EAAA1nB,GAEA,MAAAklN,GAAA,SAAAA,EACAA,EAAA,eAAA/nI,EAAAgoI,EAAAjoN,EAAAioN,EAAA3nN,OAAA,EAAAwC,EAAAu5D,YAAA,UAAA4rJ,EAAAloN,EAAAkoN,EAAA5nN,MAAA,EAAAyC,EAAAwJ,WAAA,UACKqL,MAAAqwM,KACLA,EAAA,CACAG,WAAA,CACA36K,IAAA,IACAD,OAAA,KAEA66K,SAAA,CACA/6K,KAAA,IACAC,MAAA,MAEO2yC,GAAA+nI,IAGP,IAuBAK,EACAC,EACAC,EACAxjN,EA1BAyjN,EAAA,CACAL,WAAA,SACAC,SAAAJ,GAAA,SAAAA,EAAA,gBAEAS,EAAA,CACAN,WAAAH,GAAA,SAAAA,EAAA,eACAI,SAAA,UAEAM,EAAA,CACAP,WAAA,EACAC,SAAA1jN,EAAA,GAGAikN,EAAA,aAAA1oI,EAAAgoI,EAAA3nN,OAAA2nN,EAAA5nN,MACAuoN,EAAAp+L,EAAAkO,SAAA,gBACAmwL,EAAAD,EAAAplN,IAAA,WACAslN,EAAAD,EAAAD,EAAAplN,IAAA,cACAulN,EAAAF,EAAAD,EAAAplN,IAAA,aACAwlN,EAAAF,EAAAC,EAEAE,EAAAz+L,EAAAhnB,IAAA,mBACAylN,IAAAvkN,EAAA,IAMA,IAAAwkN,EAAAN,EAAAplN,IAAA,eACA2lN,EAAAN,GAAAD,EAAAplN,IAAA,kBACA4lN,EAAAP,GAAAD,EAAAplN,IAAA,kBACA6lN,EAAAR,GAAAD,EAAAplN,IAAA,kBACA8lN,EAAA,EACAC,EAAAZ,EAmBA,MAjBA,SAAAO,GAAA,WAAAA,GACAC,IAAAd,EAAA,MAAAiB,GAAAN,GACAI,IAAAd,EAAA,CAAAgB,EAAA,GAAAA,GAAAN,GACAK,IAAAd,EAAA,CAAAgB,EAAAT,EAAA,GAAAS,GAAAP,KAGAG,IAAAd,EAAA,CAAAkB,EAAAT,EAAA,GAAAS,GAAAP,GACAI,IAAAd,EAAA,MAAAgB,GAAAN,GACAK,IAAAd,EAAA,CAAAgB,EAAAT,EAAA,GAAAS,GAAAP,IAGAjkN,EAAA,CAAAukN,EAAAC,GAEA/+L,EAAAhnB,IAAA,YACAuB,EAAAwlJ,UAGA,CACA09D,WACAU,aACA1oI,SACA17E,SAAAmkN,EAAAzoI,GACAgpI,gBACAjB,cACAwB,WAAAh/L,EAAAhnB,IAAA,gBAAAglN,EAAAvoI,GACAwpI,cAAAj/L,EAAAhnB,IAAA,wBAAAgnB,EAAAhnB,IAAA,mBAAAilN,EAAAxoI,GAEAooI,eACAC,kBACAC,kBACAxjN,aACA+jN,cACAC,eAGAlB,UAAA,SAAA9jN,EAAAymB,GAMA,IAAAg9L,EAAAzpN,KAAAupN,WACAI,EAAA3pN,KAAAwpN,YACAU,EAAAlkN,EAAAkkN,SAEA,gBAAAlkN,EAAAk8E,OAAA,CAEA,IAAA30D,EAAAqjC,EAAA9hB,SACA68K,EAAAzB,EAAAloN,EACA4pN,EAAA1B,EAAAjoN,EAAAioN,EAAA3nN,OACAquD,EAAAjgB,UAAApjB,IAAA,EAAAo+L,GAAAC,IACAh7J,EAAAtgB,OAAA/iB,KAAA5mB,EAAA,GACAiqD,EAAAjgB,UAAApjB,IAAA,CAAAo+L,EAAAC,IACA1B,IAAA30M,QACA20M,EAAA7wM,eAAAkU,GAGA,IAAAs+L,EAAAC,EAAA5B,GACA6B,EAAAD,EAAArC,EAAAloN,mBACAyqN,EAAAF,EAAAnC,EAAApoN,mBACA0qN,EAAAxC,EAAAnjN,SACA4lN,EAAAvC,EAAArjN,SACA4lN,EAAA,GAAAD,EAAA,GAAAJ,EAAA,MACA,IAAA5B,EAAAjkN,EAAAikN,YAEA,GAAArwM,MAAAqwM,GAAA,CAEA,IAAAkC,EAAA,MAAAlC,EAAA,IACAmC,EAAAH,EAAAF,EAAAF,EAAA,EAAAM,GACAC,EAAAF,EAAAF,EAAAH,EAAA,IAAAM,OACK,CACLA,EAAAlC,GAAA,MACAmC,EAAAH,EAAAF,EAAAF,EAAA,EAAAM,GACAD,EAAA,GAAAD,EAAA,GAAAhC,EASA,SAAAoC,EAAAvN,GACA,IAAAh+G,EAAAg+G,EAAAx4M,SACAw4M,EAAAxqH,OAAA,CAAAu3H,EAAA,MAAA/qH,EAAA,GAAA+qH,EAAA,MAAA/qH,EAAA,IAGA,SAAAgrH,EAAArqN,GAEA,QAAAA,EAAAO,EAAAP,EAAAO,EAAAP,EAAAa,OAAA,CAAAb,EAAAQ,EAAAR,EAAAQ,EAAAR,EAAAc,SAGA,SAAA6pN,EAAAE,EAAAjkK,EAAAkkK,EAAA5zI,EAAA6zI,GACAF,EAAA3zI,IAAA4zI,EAAA5zI,GAAA6zI,GAAAnkK,EAAAswB,GAAA6zI,GAjBA/C,EAAA1lI,KAAA,WAAAkoI,GACAtC,EAAA5lI,KAAA,WAAAmoI,GACAzC,EAAAjjN,SAAAmjN,EAAAnjN,SAAAR,EAAAQ,SACA6lN,EAAA5C,GACA4C,EAAA1C,IAgBAC,YAAA,SAAA5jN,EAAAymB,GACA,IAAAlhB,EAAAkhB,EAAAjS,UACAy8H,EAAAxqH,EAAAhnB,IAAA,YACAsS,EAAAguM,EAAAO,mBAAA75L,EAAAwqH,GAEAl/H,EAAAknI,SAAA,WACA,OAAA1zI,EAAAg+K,SAAA,mBAAAtlL,GACA,OAAAA,KAIA,IAAA40G,EAAAttG,EAAAqzG,cAAA,SACA7mG,EAAAumG,UAAAzF,EAAA,GAAAA,EAAA,IACA9gG,EAAA00M,YACA,IAAAznN,EAAA,IAAAkkN,EAAA,QAAAnxM,EAAA/R,EAAAgB,WAAAiwI,GAEA,OADAjyI,EAAA2e,MAAA8I,EACAznB,GAEA0kN,aAAA,SAAAp7M,GACA,IAAAo+M,EAAA1sN,KAAA,IAAAsO,GAAA,IAAApK,EAAA80M,MAEA,OADAh5M,KAAAylE,MAAAloC,IAAAmvL,GACAA,GAEAC,gBAAA,SAAA3mN,EAAAy/D,EAAAzgE,EAAAynB,GACA,IAAAzlB,EAAAhC,EAAAgW,YAEAyR,EAAAhnB,IAAA,mBAIAggE,EAAAloC,IAAA,IAAAr5B,EAAAupM,KAAA,CACA7lM,MAAA,CACAgoD,GAAA5oD,EAAA,GACA6oD,GAAA,EACArwB,GAAAx4B,EAAA,GACAy4B,GAAA,GAEAl/B,MAAAf,EAAAkF,OAAA,CACAkoN,QAAA,SACOngM,EAAAkO,SAAA,aAAA8/K,gBACPpzF,QAAA,EACA3nF,GAAA,MAOAmtL,gBAAA,SAAA7mN,EAAAy/D,EAAAzgE,EAAAynB,GACA,IAAAlhB,EAAAkhB,EAAAjS,UAEAsyM,EAAA9nN,EAAA+S,MAAAknI,WAEA93H,EAAA2lM,EAAA,SAAA7oN,GACA,IAAA08I,EAAA37I,EAAAo8G,YAAAn9G,GACAinB,EAAA3f,EAAA4f,aAAAlnB,GACA0+F,EAAAz3E,EAAAyP,SAAA,aACAoyL,EAAA7hM,EAAAyP,SAAA,sBACAqyL,EAAA,CACA1mN,SAAA,CAAAq6I,EAAA,GACAx0B,QAAAvjH,EAAA5I,KAAAitN,gBAAAjtN,KAAAiE,IAEA8sC,EAAAm8K,EAAAhiM,EAAAy3E,EAAAl9B,EAAAunJ,GACA9oN,EAAA41M,cAAA/oK,EAAAg8K,EAAAxhH,gBAEArgF,EAAAzlB,IAAA,YACAsrC,EAAAtrB,UAAAxhB,EACA8sC,EAAAkzK,UAAAx3L,GAEAskB,EAAAtrB,UAAAsrB,EAAAkzK,UAAA,MAEKjkN,OAML6pN,iBAAA,SAAA7jN,EAAAy/D,EAAAzgE,EAAAynB,GACA,IAAAi9E,EAAA1kG,EAAA6/I,gBAEA,GAAAn7C,EAAAjkG,IAAA,SAIA,IAAA8F,EAAAkhB,EAAAjS,UACA4nI,EAAAp9I,EAAAq9I,gBACAl7H,EAAAi7H,EAAA,SAAA+qE,GAEA,IAAA1nM,EAAA0nM,EAAA7qE,UACAp3H,EAAA3f,EAAA4f,aAAA1F,GACA2nM,EAAAliM,EAAAyP,SAAA,SACA0yL,EAAAniM,EAAAyP,SAAA,kBACAgmH,EAAA37I,EAAAo8G,YAAA+rG,EAAA7qE,WACA14C,EAAA,IAAA1lG,EAAArE,KAAA,CACAyG,SAAA,CAAAq6I,EAAA,GACAn6I,SAAAR,EAAAklN,cAAAllN,EAAAQ,SACA2lH,QAAAvjH,EAAA5I,KAAAitN,gBAAAjtN,KAAAylB,GACA4hG,QAAA,IAEAnjH,EAAA2lG,aAAAD,EAAArpG,MAAA6sN,EAAA,CACApsN,KAAAmsN,EAAA5qE,eACA5gJ,UAAAqE,EAAAylN,WACA7pN,kBAAAoE,EAAA0lN,gBAEAjmJ,EAAAloC,IAAAqsE,GACA1lG,EAAA41M,cAAAlwG,EAAA1lG,EAAA2lG,aAAA,GAA2DwjH,KACtDrtN,QAMLstN,eAAA,SAAAtnN,EAAAy/D,EAAAzgE,EAAAynB,GACA,IAAAs+L,EAAA/kN,EAAA+kN,YACAvkN,EAAAR,EAAAQ,SACA8kG,EAAA7+E,EAAAkO,SAAA,gBAAA4wE,eACAquG,EAAAntL,EAAAkO,SAAA,yBAAA4wE,eACA9pG,EAAA,IAAAspN,EAAA,EAAAA,KACA/9L,EAAAP,EAAA8gM,eACA1oK,EAAAp4B,EAAAhnB,IAAA,cAKA,SAAA+nN,EAAAlnN,EAAAmnN,EAAAthG,EAAAuhG,GACA,GAAApnN,EAAA,CAIA,IAAA8O,EAAA,CACA9O,WACAguF,OAAA,CAAAy2H,EAAA,KACAvkN,SAAAknN,GAAAlnN,EAAA,EACAi1M,WAAA,EACAl7M,MAAA+qG,EACA6gB,WAEAwhG,EAAAC,EAAAnhM,EAAAghM,EAAAhsN,EAAA2T,GACAqwD,EAAAloC,IAAAowL,GACAzpN,EAAA41M,cAAA6T,EAAA/T,IAnBA4T,EAAAxnN,EAAAwkN,gBAAA,wBAAA5hN,EAAA5I,KAAAitN,gBAAAjtN,KAAA6kD,EAAA,UACA2oK,EAAAxnN,EAAAukN,gBAAA,wBAAA3hN,EAAA5I,KAAAitN,gBAAAjtN,KAAA6kD,EAAA,UACA2oK,EAAAxnN,EAAAskN,aAAA,iBAAAt9L,EAAA,uBAAApkB,EAAA5I,KAAA6tN,iBAAA7tN,MAAAgtB,IAAA,IAoBA8gM,sBAAA,SAAA9nN,EAAAy/D,EAAAzgE,EAAAynB,GACA,IAAAlhB,EAAAkhB,EAAAjS,UACAmS,EAAAF,EAAAshM,kBACAC,EAAAziN,EAAA4f,aAAAwB,GAAAgO,SAAA,mBACAszL,EAAAjuN,KACAqyE,EAAA,CACA67I,SAAA,SAAAnoN,GACAA,EAAAuQ,WAAA,EACAvQ,EAAAs6M,MAAAz3M,EAAAqlN,EAAAE,mBAAAF,GACAloN,EAAAu6M,UAAA13M,EAAAqlN,EAAAG,sBAAAH,GACAI,EAAAtoN,EAAA4mB,EAAA3nB,EAAAynB,GAAA,IAEA6hM,SAAA,SAAAvoN,GACAsoN,EAAAtoN,EAAA4mB,EAAA3nB,EAAAynB,KAIAzsB,KAAAspN,gBAAA4D,EAAAc,IAAAhuN,KAAAupN,WAAA,GAAqFvpN,KAAAspN,gBAAAj3I,IAErFw7I,iBAAA,SAAAU,GACAvuN,KAAAgqN,cAEAhqN,KAAA+E,IAAAqoG,eAAA,CACAjtG,KAAA,qBACA6sB,UAAAuhM,EACAlmK,KAAAroD,KAAAgqB,OAGAmkM,mBAAA,SAAAn3M,EAAAC,EAAAd,GACAnW,KAAAgqN,cAEAhqN,KAAAwuN,uBAAA,CAAAr4M,EAAAI,QAAAJ,EAAAK,WAEA43M,sBAAA,SAAAj4M,GACAnW,KAAAwuN,uBAAA,CAAAr4M,EAAAI,QAAAJ,EAAAK,UAAA,IAEAg4M,uBAAA,SAAAC,EAAAr3M,GACA,IAAAs3M,EAAA1uN,KAAA2uN,aAAAF,GAAA,GAEAzpN,EAAAhF,KAAAmpN,MACAniN,EAAAw/I,EAAAjuC,IAAAvzG,EAAAgW,YAAAkkB,SACAwvL,EAAA1nN,EAAA,KAAA0nN,EAAA1nN,EAAA,IACA0nN,EAAA1nN,EAAA,KAAA0nN,EAAA1nN,EAAA,IACAhH,KAAAspN,gBAAAhjN,SAAA,GAAAooN,EAEA1uN,KAAAspN,gBAAA3kM,QAEA,IAAAiqM,EAAA5uN,KAAA6uN,iBAAAH,GAEAjiM,EAAAzsB,KAAA2jB,OAEAvM,GAAAw3M,IAAAniM,EAAAshM,mBAAAthM,EAAAhnB,IAAA,cACAzF,KAAAitN,gBAAA2B,IAGA7E,YAAA,WAOA,SAAA+E,IAEA,IAAAriM,EAAAzsB,KAAA2jB,MAEA3jB,KAAAitN,gBAAAxgM,EAAAshM,mBAAAthM,EAAAhnB,IAAA,oBAVAzF,KAAAgqN,cAEAhqN,KAAA2jB,MAAA4pM,iBACAvtN,KAAAqpN,OAAAp9J,WAAArjD,EAAAkmN,EAAA9uN,WAAA2jB,MAAAle,IAAA,mBAUAkpN,aAAA,SAAA5kL,GACA,IAAAglL,EAAA/uN,KAAAupN,WAAA1lI,oBAEA,OAAA3/E,EAAAmV,eAAA0wB,EAAAglL,GAAA,IAEAF,iBAAA,SAAAG,GACA,IAEAJ,EAFArjN,EAAAvL,KAAA2jB,MAAAnJ,UACAmjB,EAAA7jB,IAEA9U,EAAAhF,KAAAmpN,MAUA,OATA59M,EAAA4b,KAAA,mBAAAljB,EAAAwhB,GACA,IAAAlF,EAAAvb,EAAAo8G,YAAAn9G,GACAuY,EAAA9V,KAAAiR,IAAA4I,EAAAyuM,GAEAxyM,EAAAmhB,IACAA,EAAAnhB,EACAoyM,EAAAnpM,KAGAmpM,GAEA5E,YAAA,WACAhqN,KAAAqpN,SACAtoI,aAAA/gF,KAAAqpN,QACArpN,KAAAqpN,OAAA,OAGA4D,gBAAA,SAAAgC,GACA,IAAAtiM,EAAA3sB,KAAA2jB,MAAAoqM,kBAEA,MAAAkB,EACAA,EAAAtiM,EAAA,EACK,MAAAsiM,IACLA,EAAAtiM,EAAA,GAGA3sB,KAAA+E,IAAAqoG,eAAA,CACAjtG,KAAA,iBACAwsB,aAAAsiM,EACA5mK,KAAAroD,KAAAgqB,SAKA,SAAAmgM,EAAAxmM,EAAA5e,GACA,OAAAkB,EAAAq9E,cAAA3/D,EAAAs6F,qBAAA,CACA37G,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,aACG36C,EAAAle,IAAA,YAGH,SAAAmoN,EAAAnhM,EAAAyiM,EAAAztN,EAAA3B,GACA,IAAAqvN,EAAAjrN,EAAAm4K,SAAA5vJ,EAAAhnB,IAAAypN,GAAA3kN,QAAA,iBAAA/K,EAAA+V,MAAAzV,GAAA,IAA2G,IAAA2N,EAAAhM,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,cAC3G,OAAA0tN,EAQA,SAAAjC,EAAA/jH,EAAAxG,EAAAl9B,EAAArwD,EAAAqV,EAAA4nD,GACA,IAAAvrD,EAAA67E,EAAAl9F,IAAA,SAEA,GAAAglB,EAOAA,EAAAosJ,SAAA/vJ,GACA2+C,EAAAloC,IAAA9S,GAEA4nD,KAAAi8I,SAAA7jM,OAVA,CACA,IAAAH,EAAA6+E,EAAA1jG,IAAA,UACAglB,EAAAgyJ,EAAAnyJ,GAAA,SAAAxD,GACA2D,EAAA+8F,SAAA,oBACA/hD,EAAAloC,IAAA9S,GACA4nD,KAAA67I,SAAAzjM,GASA,IAAA6gF,EAAA3I,EAAA4I,aAAA,iCACA9gF,EAAA+8F,SAAAlc,GAEAl2F,EAAA5V,EAAA2L,MAAA,CACAswM,WAAA,EACA/7K,GAAA,KACGtqB,GAAA,GACH,IAAAkI,EAAA6rF,EAAA1jG,IAAA,cACA6X,eAAAE,MAAAF,EAAA4hB,QAAA,EAAA5hB,MACAA,EAAA,MACAA,EAAA,MACAlI,EAAA2C,MAAAuF,EACA,IAAA8xM,EAAAjmH,EAAA1jG,IAAA,gBAEA,GAAA2pN,EAAA,CACA,IAAAtuH,EAAA1rF,EAAA9O,SAAA8O,EAAA9O,UAAA,MACAw6F,EAAA,IAAA0lD,EAAA1kE,aAAAstI,EAAA,GAAA9xM,EAAA,IACAwjF,EAAA,IAAA0lD,EAAA1kE,aAAAstI,EAAA,GAAA9xM,EAAA,IAGA,IAAA+xM,EAAAlmH,EAAA1jG,IAAA,gBAUA,OATA2P,EAAA5O,UAAA6oN,GAAA,GAAA3oN,KAAAC,GAAA,OACA8jB,EAAAs5D,KAAA3uE,GAOAqV,EAAA63F,kBACA73F,EAGA,SAAA4jM,EAAAtoN,EAAA0f,EAAAzgB,EAAAynB,EAAA6iM,GACA,IAAAvpN,EAAAwpN,SAAA,CAIA,IAAAvB,EAAAvhM,EAAAkO,SAAA,mBACA+zL,EAAA1pN,EAAAo8G,YAAA30F,EAAAjS,UAAA/U,IAAA,UAAAggB,IAEA6pM,IAAAtB,EAAAvoN,IAAA,gBACAM,EAAAg+E,KAAA,CACAz9E,SAAA,CAAAooN,EAAA,MAGA3oN,EAAAu2B,eAAA,GACAv2B,EAAA45E,UAAA,CACAr5E,SAAA,CAAAooN,EAAA,IACKV,EAAAvoN,IAAA,wBAAAuoN,EAAAvoN,IAAA,yBAIL/C,EAAAC,QAAAF,0BC5oBA,IAAA+sN,EAAc3wN,EAAQ,QACtByE,EAAezE,EAAQ,OAARA,CAAgB,YAC/B4wN,EAAgB5wN,EAAQ,QACxB6D,EAAAC,QAAiB9D,EAAQ,QAAS6wN,kBAAA,SAAAniN,GAClC,QAAAjF,GAAAiF,EAAA,OAAAA,EAAAjK,IACAiK,EAAA,eACAkiN,EAAAD,EAAAjiN,6BCcA,IAAA/N,EAAaX,EAAQ,QAErB+sL,EAAa/sL,EAAQ,QAErByvL,EAAA1C,EAAA0C,eAoBApnG,EAAA,EAOA,SAAAyoI,EAAAxvN,GAGA,OAAAA,GAAA,GAAA+mF,IAAAxgF,KAAAy3B,SAAAm6E,QAAA,IAAAtoG,KAAA,KAOA,SAAA4/M,EAAA1gC,GACA,IAAA2gC,EAAA,GAqBA,OAnBA3gC,EAAA/tK,yBAAA,SAAAolG,EAAAupG,GACAvpG,EAAA+nE,EAAA/nE,GACAspG,EAAAtpG,EAAAv5C,MAAA8iJ,GAGA5gC,EAAA6gC,iBAAA,SAAAxpG,EAAApjG,GACA,IAAAhjB,EAAAgjB,EAAAhjB,KAEA,IAAAA,EAAA,CACA,IAAA6vN,EAAA1hC,EAAA/nE,GAAAv5C,KAEAkiH,EAAAU,YAAArpE,IAAAspG,EAAAG,KACA7vN,EAAA0vN,EAAAG,GAAA7sM,IAIA,OAAAhjB,GAGA+uL,EAaA,SAAA+gC,EAAA/gC,EAAAghC,GAqEA,SAAAC,EAAAC,GACA,IAAAtzM,EAAA,GACAuzM,EAAA,GAuBA,OAtBA7wN,EAAA2nB,KAAAipM,EAAA,SAAA9hN,GACA,IAAAgiN,EAAAC,EAAAzzM,EAAAxO,GACAkiN,EAAAF,EAAAE,aAAAN,EAAA5hN,GACAmiN,EAAAC,EAAAF,EAAAJ,GACAE,EAAAK,WAAAF,EAAAltN,OAEA,IAAA+sN,EAAAK,YACAN,EAAA19M,KAAArE,GAGA9O,EAAA2nB,KAAAspM,EAAA,SAAAG,GACApxN,EAAA4rC,QAAAklL,EAAAO,YAAAD,GAAA,GACAN,EAAAO,YAAAl+M,KAAAi+M,GAGA,IAAAE,EAAAP,EAAAzzM,EAAA8zM,GAEApxN,EAAA4rC,QAAA0lL,EAAAC,UAAAH,GAAA,GACAE,EAAAC,UAAAp+M,KAAArE,OAIA,CACAwO,QACAuzM,eAIA,SAAAE,EAAAzzM,EAAAxO,GAQA,OAPAwO,EAAAxO,KACAwO,EAAAxO,GAAA,CACAuiN,YAAA,GACAE,UAAA,KAIAj0M,EAAAxO,GAGA,SAAAoiN,EAAAF,EAAAJ,GACA,IAAAK,EAAA,GAIA,OAHAjxN,EAAA2nB,KAAAqpM,EAAA,SAAAQ,GACAxxN,EAAA4rC,QAAAglL,EAAAY,IAAA,GAAAP,EAAA99M,KAAAq+M,KAEAP,EA3GAvhC,EAAA+hC,kBAAA,SAAAC,EAAAd,EAAA/9I,EAAA3uD,GACA,GAAAwtM,EAAA3tN,OAAA,CAIA,IAAAG,EAAAysN,EAAAC,GACAtzM,EAAApZ,EAAAoZ,MACAouL,EAAAxnM,EAAA2sN,YACAc,EAAA,GACA3xN,EAAA2nB,KAAA+pM,EAAA,SAAA5iN,GACA6iN,EAAA7iN,IAAA,IAGA,MAAA48L,EAAA3nM,OAAA,CACA,IAAA6tN,EAAAlmB,EAAA7+K,MACAglM,EAAAv0M,EAAAs0M,GACAE,IAAAH,EAAAC,GAEAE,IACAj/I,EAAAtyE,KAAA2jB,EAAA0tM,EAAAC,EAAAb,aAAAtxL,gBACAiyL,EAAAC,IAGA5xN,EAAA2nB,KAAAkqM,EAAAN,UAAAO,EAAAC,EAAAC,GAGAhyN,EAAA2nB,KAAAgqM,EAAA,WACA,UAAAxjL,MAAA,kCAGA,SAAA6jL,EAAAC,GACA30M,EAAA20M,GAAAd,aAEA,IAAA7zM,EAAA20M,GAAAd,YACAzlB,EAAAv4L,KAAA8+M,GAUA,SAAAF,EAAAE,GACAN,EAAAM,IAAA,EACAD,EAAAC,KAiEA9uN,EAAAgtN,SACAhtN,EAAAitN,yBACAjtN,EAAAstN,kDCtMA,IAAAzwN,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAoBtB6yN,EAAA,CACApwN,KAAA,OAEAqwN,WAAA,aACAC,SAAA,WACAC,KAAA,QAEAC,EAAA,EACAC,EAAA,EAOA,SAAAC,EAAA30M,EAAA/C,EAAAC,GACArW,EAAA80M,MAAAj5M,KAAAC,MACA,IAAAiyN,EAAA,IAAA/tN,EAAAguN,OAAA,CACAxyL,GAAAoyL,IAEAG,EAAApvM,YAAAvI,EAAAuI,YACA,IAAA7hB,EAAA,IAAAkD,EAAArE,KAAA,CACA6/B,GAAAqyL,EACA1qG,OAAAhqG,EAAAsd,SAAA,SAAAl1B,IAAA,YAMA,SAAA2zM,IACAp4M,EAAAsqC,OAAAtqC,EAAAq4M,YAGA,SAAAC,IACAt4M,EAAAsqC,OAAAtqC,EAAAu4M,aATAv5M,KAAAu9B,IAAA00L,GACAjyN,KAAAu9B,IAAAv8B,GACAhB,KAAAygG,YAAA,EAAApjF,EAAA,SAAA/C,EAAAC,GAUAva,KAAA4V,GAAA,WAAAwjM,GAAAxjM,GAAA,SAAA0jM,GAAA1jM,GAAA,YAAAwjM,GAAAxjM,GAAA,WAAA0jM,GAGA,IAAA6Y,EAAAH,EAAA/xN,UAEAkyN,EAAA1xH,WAAA,SAAAg5G,EAAAp8L,EAAA8qL,EAAA7tL,EAAAC,GACAva,KAAAqd,OACAA,EAAA+0M,MAAApyN,KACAsa,KAAAta,KAAAqyN,aACA93M,KAAAva,KAAAsyN,SACA,IAAAL,EAAAjyN,KAAA4xE,QAAA,GACAqgJ,EAAAxsM,UAAApI,EAAAoI,UACA,IAAAyF,EAAA7N,EAAAsd,WACA10B,EAAAoX,EAAAQ,YAIA00M,EAAA/yN,EAAAkF,OAAA,GAAoCuB,GACpCssN,EAAAztM,MAAA,KACA,IAAA89E,EAAA4vH,EAAAn1M,EAAA/C,EAAAC,GACAk4M,EAAAp1M,EAAA/C,EAAAsoF,GACA,IACAriG,EADAmyN,EAAAxnM,EAAAyP,SAAA,aAAA4wE,eAGA,cAAA48F,EACA5nM,EAAAmyN,MACG,CACH,IAAAC,EAAAznM,EAAAyP,SAAAwtK,EAAA,cAAA58F,eACAhrG,EAAAf,EAAA2L,MAAAwnN,EAAAD,GAGAnyN,EAAAf,EAAA8V,SAAA,CACAqkM,SAAA,QACAj5M,KAAAH,EAAAG,MAAAkiG,GACGriG,GAEHk5M,GACAwY,EAAAvY,SAAA6Y,GACAN,EAAArqN,MAAAgX,EAAA3Y,EAAA0Y,GACAza,EAAAkuM,YAAA6f,EAAA,CACArqN,MAAA,CACAgX,EAAA3Y,EAAA2Y,IAEKtE,EAAA+C,EAAAoI,WACLwsM,EAAAhgB,SAAA1xM,IACG,kBAAAA,EAAAG,MAAAH,EAAAG,KAAAP,MAAA,kBAAA8xN,EAAA1xN,MAAAG,MAAAuxN,EAAA1xN,MAAAG,KAAAP,MAGH+D,EAAAkuM,YAAA6f,EAAA,CACArqN,MAAA2qN,GACKj4M,GACL23M,EAAAhgB,SAAA1xM,IAEA2D,EAAAkuM,YAAA6f,EAAA,CACArqN,MAAA2qN,EACAhyN,SACK+Z,GAGLta,KAAA65M,aAAAv/L,EAAAsoF,EAAAulG,GAEA,IAAAyqB,EAAA1nM,EAAA/C,WAAA,UAGA,GAFAyqM,GAAAX,EAAAluI,KAAA,SAAA6uI,GAEAnZ,EAAA,CACA,IAAAoZ,EAAAv4M,EAAA6N,WAAA,mBAEAnoB,KAAA4vK,YAAAqiD,EAAA50M,EAAA/C,EAAAu4M,GAGA7yN,KAAAqyN,aAAA/3M,GAAAta,KAAAqyN,aACAryN,KAAAsyN,SAAA/3M,GAAAva,KAAAsyN,UAGAH,EAAA/Y,WAAA,SAAAyZ,GACA,IAAAxvN,EAAArD,KACAA,KAAAqd,KAAAy1M,SAAA7lM,KAAAigK,SAAA,SAAAr/J,GACAA,EAAAukM,QACA/uN,EAAAga,OAAAwQ,EACAA,EAAAukM,MAAA3xH,YAAA,EAAA5yE,EAAA,YACOklM,EAAAllM,EAAAxqB,EAAAga,KAAAw1M,GACPhlM,EAAAukM,MAAAxgJ,QAAA,GAAAx6D,QAAA,aACOy7M,IAAAnB,EAAApwN,MACPusB,EAAAukM,MAAAxgJ,QAAA,GAAAx6D,QAAA,gBAMA+6M,EAAA7Y,SAAA,WACAt5M,KAAAqd,KAAAy1M,SAAA7lM,KAAAigK,SAAA,SAAAr/J,GACAA,EAAAukM,OACAvkM,EAAAukM,MAAA3xH,YAAA,EAAA5yE,EAAA,aAKAskM,EAAAa,YAAA,WACAhzN,KAAAygG,YAAA,EAAAzgG,KAAAqd,KAAA,cAGA80M,EAAAc,WAAA,WACAjzN,KAAAygG,YAAA,EAAAzgG,KAAAqd,KAAA,aAGA80M,EAAAtY,aAAA,SAAAv/L,EAAAsoF,EAAAulG,GACA,IAAAj9K,EAAAlrB,KAAAqd,KAAAsd,WACAu4L,EAAAhoM,EAAAyP,SAAA,SACA+uE,EAAA,WAAAy+F,GAAA,aAAAA,EAAA+qB,EAAAhoM,EAAAyP,SAAAwtK,EAAA,UACA8R,EAAA/uL,EAAAyP,SAAA,kBACA35B,EAAAxB,EAAAq9B,SAAAviB,EAAAs1D,kBAAA5vE,KAAAqd,KAAAoI,UAAA,4BAAAzlB,KAAAqd,KAAA/O,OAEA,IAAA6kN,EAAA,UACAnyN,EAAA,IAGA,IAAAiF,EAAAjG,KAAAqd,KAAAQ,YACAu1M,EAAA1pH,EAAAjkG,IAAA,YAEA,MAAA2tN,IACAA,EAAAF,EAAAztN,IAAA,aAGA2tN,IAAA,IAAA1sN,KAAAC,GACA,IAAAs/C,EAAAhgD,EAAA6Y,SAAA7Y,EAAA4Y,WAEA,MAAAu0M,GAAA1sN,KAAAiR,IAAAsuC,GAAAmtK,IAEApyN,EAAA,IAGA,IAAA8jB,EAAA9kB,KAAA4xE,QAAA,GACA1tE,EAAAk2M,cAAAt1L,EAAAvkB,MAAAukB,EAAA80L,YAAA,GAA2DsZ,EAAAjZ,EAAA,CAC3DM,YAAA7wG,EAAAvhF,WAAA,QAAAnnB,EAAA,KACA+yM,UAAAnxG,EACA43G,gBAAA,IAEA,IAGA57L,EAHAy0M,GAAAptN,EAAA4Y,WAAA5Y,EAAA6Y,UAAA,EACA9H,EAAAtQ,KAAAwY,IAAAm0M,GACAp8M,EAAAvQ,KAAA0Y,IAAAi0M,GAEAC,EAAAH,EAAA,YACAI,EAAAJ,EAAA,eACAxxN,EAAAwxN,EAAA,SAEA,YAAAG,GACA10M,EAAA3Y,EAAA2Y,EAAA20M,EACA5xN,EAAA0xN,EAAA3sN,KAAAC,GAAA,kBAEAhF,GAAA,WAAAA,EAGK,SAAAA,GACLid,EAAA3Y,EAAA0Y,GAAA40M,EAEAF,EAAA3sN,KAAAC,GAAA,IACAhF,EAAA,UAEK,UAAAA,IACLid,EAAA3Y,EAAA2Y,EAAA20M,EAEAF,EAAA3sN,KAAAC,GAAA,IACAhF,EAAA,UAZAid,GAAA3Y,EAAA2Y,EAAA3Y,EAAA0Y,IAAA,EACAhd,EAAA,UAgBAmjB,EAAAi/D,KAAA,SACA/iF,OACAW,YACAC,kBAAAuxN,EAAA,2BACAr/J,QAAAq/J,EAAA,aAEA,IAAAxK,EAAA/pM,EAAA5H,EAAA/Q,EAAAwY,GACA+0M,EAAA50M,EAAA3H,EAAAhR,EAAAyY,GACAoG,EAAAi/D,KAAA,YAAA4kI,EAAA6K,IACA,IAAAC,EAAAN,EAAA,UACA7iL,EAAA,EAsBA,SAAA6iL,EAAA7kN,GACA,IAAAolN,EAAAhqH,EAAAjkG,IAAA6I,GAEA,aAAAolN,EACAR,EAAAztN,IAAA6I,GAEAolN,EA1BA,WAAAD,GACAnjL,GAAA+iL,EAEA/iL,GAAA5pC,KAAAC,GAAA,IACA2pC,GAAA5pC,KAAAC,KAEG,eAAA8sN,GACHnjL,EAAA5pC,KAAAC,GAAA,EAAA0sN,EAEA/iL,EAAA5pC,KAAAC,GAAA,EACA2pC,GAAA5pC,KAAAC,GACK2pC,GAAA5pC,KAAAC,GAAA,IACL2pC,GAAA5pC,KAAAC,KAEG,kBAAA8sN,IACHnjL,EAAAmjL,EAAA/sN,KAAAC,GAAA,KAGAme,EAAAi/D,KAAA,WAAAzzC,IAaA6hL,EAAAviD,YAAA,SAAAqiD,EAAA50M,EAAA/C,EAAAu4M,GACAZ,EAAAp8M,IAAA,aAAAA,IAAA,YAAAA,IAAA,YAAAA,IAAA,UACA,IAAAxS,EAAArD,KAEAo5M,EAAA,WACA/1M,EAAA+1M,WAAAyZ,IAGAvZ,EAAA,WACAj2M,EAAAi2M,YAGA2Z,EAAA,WACA5vN,EAAA4vN,cAGAD,EAAA,WACA3vN,EAAA2vN,eAGA14M,EAAA2N,sBACAgqM,EAAAr8M,GAAA,YAAAwjM,GAAAxjM,GAAA,WAAA0jM,GAAA1jM,GAAA,WAAAwjM,GAAAxjM,GAAA,SAAA0jM,GAAA1jM,GAAA,WAAAq9M,GAAAr9M,GAAA,YAAAo9M,IAIAxzN,EAAAgD,SAAAwvN,EAAA9tN,EAAA80M,OACA,IAAAv2M,EAAAuvN,EASA,SAAAQ,EAAAn1M,EAAA/C,EAAAC,GAEA,IAAAqoF,EAAAvlF,EAAAE,UAAA,SACAo2M,EAAAt2M,EAAAE,UAAA,cAEAo2M,GAAA,IAAAA,EAAApwN,SAEAq/F,EAAA,MAIA,IAAA97E,EAAAzJ,EAAAsd,SAAA,aAAAl1B,IAAA,SAEA,GAAAqhB,EACA,OAAAA,EACG,GAAA87E,EAEH,OAAAA,EACG,OAAAvlF,EAAAymD,MAEH,OAAAvpD,EAAA4I,OAAA2D,MAAA,GAGA,IAAAvjB,EAAAgX,EAAA4I,OAAA2D,MAAAvjB,OAIA,OAHAujB,EAAAvM,EAAA4I,OAAA2D,MAAA8sM,EAAAv2M,GAAA9Z,GAGAujB,EAUA,SAAA8sM,EAAAv2M,GACA,IAAAw2M,EAAAx2M,EAEA,MAAAw2M,EAAA/vJ,MAAA,EACA+vJ,IAAAC,WAGA,IAAA/tB,EAAA1oL,EAAA02M,eAAA,GACA,OAAAv0N,EAAA4rC,QAAA26J,EAAA5hI,SAAA0vJ,GAGA,SAAAd,EAAA11M,EAAA22M,EAAAC,GACA,OAAAA,IAAAvC,EAAApwN,OAEG2yN,IAAAvC,EAAAG,KACHx0M,IAAA22M,EACGC,IAAAvC,EAAAE,SACHv0M,IAAA22M,GAAA32M,EAAA62M,aAAAF,GAEA32M,IAAA22M,GAAA32M,EAAA82M,eAAAH,IAKA,SAAAvB,EAAAp1M,EAAA/C,EAAAwM,GACA,IAAAvb,EAAA+O,EAAAE,UACAjP,EAAA0f,cAAA5N,EAAAoI,UAAA,QAAAqB,GAGApkB,EAAAC,QAAAF,0BClXA,IAAAjD,EAAaX,EAAQ,QAErBmxM,EAAgBnxM,EAAQ,QAExBqF,EAAcrF,EAAQ,QAEtB0f,EAAW1f,EAAQ,QAqBnBu1N,EAAA,cACAC,EAAA,yBACAC,EAAAtkB,EAAAtrM,OAAA,CACAvE,KAAA,UACA+yD,OAAA,SAAA54C,EAAAC,EAAAxV,GACA,IAAAwG,EAAA+O,EAAAE,UACAirD,EAAAzlE,KAAAylE,MACAswI,EAAA/1M,KAAA+gG,MAGA/gG,KAAA+gG,OACAt7B,EAAApB,YAGA,IAAAkwJ,EAAA,eAAAj6M,EAAA7U,IAAA,cACA8F,EAAAqR,KAAAm5L,GAAAx4K,IAAA,SAAAy4K,GACA,GAAAzqM,EAAAu5E,SAAAkxH,GAAA,CACA,IAAAwe,EAAAjpN,EAAAkqK,cAAAugC,GACAye,EAAAC,EAAAF,EAAAjpN,EAAAyqM,EAAAue,GAAA,GACAhpN,EAAAgpM,iBAAAyB,EAAAye,GACAhvJ,EAAAloC,IAAAk3L,MAEKloM,OAAA,SAAAypL,EAAAC,GACL,IAAAwe,EAAA1e,EAAA5nB,iBAAA8nB,GAEA,GAAA1qM,EAAAu5E,SAAAkxH,GAAA,CAKA,IAAAwe,EAAAjpN,EAAAkqK,cAAAugC,GAEAye,EAGAE,EAAAH,EAAAC,EAAAlpN,EAAAyqM,GAFAye,EAAAC,EAAAF,EAAAjpN,EAAAyqM,EAAAue,GAKA9uJ,EAAAloC,IAAAk3L,GACAlpN,EAAAgpM,iBAAAyB,EAAAye,QAbAhvJ,EAAAj5D,OAAAioN,KAcKjoN,OAAA,SAAAypM,GACL,IAAAllK,EAAAglK,EAAA5nB,iBAAA8nB,GACAllK,GAAA00B,EAAAj5D,OAAAukC,KACK0kK,UACLz1M,KAAA+gG,MAAAx1F,GAEAiB,OAAA,SAAA+N,GACA,IAAAkrD,EAAAzlE,KAAAylE,MACAl6D,EAAAvL,KAAA+gG,MACA/gG,KAAA+gG,MAAA,KACAx1F,KAAAqpN,kBAAA,SAAA7jL,GACAA,GAAA00B,EAAAj5D,OAAAukC,MAGAj7B,QAAAtW,EAAAwrD,OAEA6pK,EAAAt2M,EAAA7Z,OAAA,CACAvE,KAAA,iBACAyH,MAAA,GACAoX,UAAA,SAAA3e,EAAAuH,GACA,IAAAktN,EAAAltN,EAAA8/D,OACA38D,EAAA,EAIA,IAHA1K,EAAAgf,OAAAy1M,EAAA/pN,GAAA,GAAA+pN,EAAA/pN,GAAA,IACAA,IAEUA,EAAA,EAAOA,IACjB1K,EAAAif,OAAAw1M,EAAA/pN,GAAA,GAAA+pN,EAAA/pN,GAAA,IAKA,IAFA1K,EAAAmf,YAEUzU,EAAA+pN,EAAAvxN,OAAiBwH,IAC3B1K,EAAAgf,OAAAy1M,EAAA/pN,GAAA,GAAA+pN,EAAA/pN,GAAA,IACAA,IACA1K,EAAAif,OAAAw1M,EAAA/pN,GAAA,GAAA+pN,EAAA/pN,GAAA,OAKA,SAAA2pN,EAAAF,EAAAjpN,EAAAka,EAAA8uM,EAAA5iB,GACA,IAAAmjB,EAAAN,EAAAM,KACA/jL,EAAA,IAAA8jL,EAAA,CACAjtN,MAAA,CACA8/D,OAAAiqI,EAAAojB,EAAAD,EAAAP,EAAAC,GAAAM,KAIA,OADAH,EAAAH,EAAAzjL,EAAAxlC,EAAAka,EAAAksL,GACA5gK,EAGA,SAAA4jL,EAAAH,EAAAzjL,EAAAxlC,EAAAka,EAAAksL,GACA,IAAAr3L,EAAA/O,EAAA49F,UACA6rH,EAAA9wN,EAAAytM,EAAA,2BACAqjB,EAAAjkL,EAAA,CACAnpC,MAAA,CACA8/D,OAAA8sJ,EAAAM,OAEGx6M,EAAAmL,GACH,IAAAyF,EAAA3f,EAAA4f,aAAA1F,GACAwvM,EAAA/pM,EAAAyP,SAAAy5L,GACAvxH,EAAAt3F,EAAAic,cAAA/B,EAAA,SAEA6lF,EAAA2pH,EAAA1pH,aAAA,iBACAD,EAAA3qG,OAAAkiG,EACAyI,EAAA4wG,eAAA,EACAnrK,EAAAkhK,SAAA3mG,GACAv6D,EAAArR,GAAA,IACA,IAAAk6K,EAAA1uL,EAAAyP,SAAA05L,GAAA9oH,eACArnG,EAAA41M,cAAA/oK,EAAA6oK,GAGA,SAAAmb,EAAArtJ,EAAApsD,EAAAk5M,GACA,OAAAh1N,EAAA4N,IAAAs6D,EAAA,SAAAmC,GAGA,OAFAA,IAAA3qC,QACA2qC,EAAAvuD,GAAAk5M,EAAAU,aACArrJ,IAIA,IAAApnE,EAAA6xN,EACA5xN,EAAAC,QAAAF,0BCnJA,IAAAjD,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAEtBs2N,EAAkBt2N,EAAQ,QAE1ByF,EAAezF,EAAQ,QAoBvBu2N,EAAA,wCACAC,EAAA,0BAEA5yN,EAAA6B,EAAAI,OAAA,CACAvE,KAAA,aACAm1N,iBAAA,mBACApiK,OAAA,SAAAqiK,EAAAh7M,GAGA,GAFAva,KAAAylE,MAAApB,YAEAkxJ,EAAA9vN,IAAA,SAIA,IAAA+vN,EAAAD,EAAAvwN,KACA8rM,EAAA0kB,EAAA1kB,MACA2kB,EAAA3kB,EAAA4kB,eACAl1E,EAAAg1E,EAAA/0E,iBACAk1E,EAAAF,EAAAz6M,YAAA,GACA46M,EAAAJ,EAAAx6M,YACA/U,EAAA4vN,EAAA/kB,EAAAykB,EAAAI,GACAG,EAAA,IAAAX,EAAAI,EAAAtvN,GACAzG,EAAA2nB,KAAAiuM,EAAAU,EAAAv4L,IAAAu4L,GACA91N,KAAAylE,MAAAloC,IAAAu4L,EAAAC,YACAv2N,EAAA2nB,KAAAkuM,EAAA,SAAA/mN,GACAinN,EAAA9vN,IAAA6I,EAAA,WAAAknN,EAAAz9M,MAAAsoI,WACArgJ,KAAA,IAAAsO,GAAAinN,EAAAzkB,EAAA6kB,EAAAC,EAAAp1E,IAEKxgJ,QAMLg2N,WAAA,SAAAT,EAAAzkB,EAAA6kB,EAAAC,EAAAp1E,GACA,IAAAF,EAAAi1E,EAAA56L,SAAA,aACAyjH,EAAAkC,EAAA3lH,SAAA,aACA4lH,EAAAnC,EAAA34I,IAAA,SACAmgM,EAAA,EACArlD,eAAA/iI,MAAA+iI,EAAA,CAAAA,GAGA,IAFA,IAAA01E,EAAA,GAEAlrN,EAAA,EAAmBA,EAAAy1I,EAAAj9I,OAAwBwH,IAAA,CAC3C,IAAAmrN,EAAAtwB,IAAArlD,EAAAh9I,OACA0yN,EAAAC,GAAAD,EAAAC,IAAA,GACAD,EAAAC,GAAAvjN,KAAA,IAAAzO,EAAAiyN,OAAA,CACAvuN,MAAA,CACA6W,GAAAqyL,EAAAryL,GACAC,GAAAoyL,EAAApyL,GACAE,EAAA4hI,EAAAz1I,GAAAwV,OAEA8mG,QAAA,KAMA,IAAAt8G,EAAA,EAAmBA,EAAAkrN,EAAA1yN,OAAuBwH,IAC1C/K,KAAAylE,MAAAloC,IAAAr5B,EAAAkyN,UAAAH,EAAAlrN,GAAA,CACAxK,MAAAf,EAAA8V,SAAA,CACA3U,OAAA4/I,EAAAx1I,EAAAw1I,EAAAh9I,QACA7C,KAAA,MACS09I,EAAAq8D,gBACTpzF,QAAA,MAQAgvG,WAAA,SAAAd,EAAAzkB,EAAA6kB,EAAAC,EAAAp1E,GACA,GAAAA,EAAAj9I,OAAA,CAIA,IAAAq9I,EAAA20E,EAAA56L,SAAA,aACAkmH,EAAAD,EAAAjmH,SAAA,aACA27L,EAAAz1E,EAAAp7I,IAAA,SACAmgM,EAAA,EACA0wB,eAAA94M,MAAA84M,EAAA,CAAAA,GAIA,IAHA,IAAAC,EAAA,GACAC,EAAAh2E,EAAA,GAAAjgI,MAEAxV,EAAA,EAAmBA,EAAAy1I,EAAAj9I,OAAwBwH,IAAA,CAC3C,IAAAmrN,EAAAtwB,IAAA0wB,EAAA/yN,OACAgzN,EAAAL,GAAAK,EAAAL,IAAA,GACAK,EAAAL,GAAAvjN,KAAA,IAAAzO,EAAAguN,OAAA,CACAtqN,MAAA,CACA6W,GAAAqyL,EAAAryL,GACAC,GAAAoyL,EAAApyL,GACAC,GAAA63M,EACA53M,EAAA4hI,EAAAz1I,GAAAwV,MACA1B,WAAA,EACAC,SAAA,EAAApY,KAAAC,IAEA0gH,QAAA,KAEAmvG,EAAAh2E,EAAAz1I,GAAAwV,MAKA,IAAAxV,EAAA,EAAmBA,EAAAwrN,EAAAhzN,OAAuBwH,IAC1C/K,KAAAylE,MAAAloC,IAAAr5B,EAAAkyN,UAAAG,EAAAxrN,GAAA,CACAxK,MAAAf,EAAA8V,SAAA,CACA5U,KAAA41N,EAAAvrN,EAAAurN,EAAA/yN,SACSs9I,EAAA41E,gBACTpvG,QAAA,SAUA,SAAAwuG,EAAA/kB,EAAAykB,EAAAI,GACA,OACArvN,SAAA,CAAAwqM,EAAAryL,GAAAqyL,EAAApyL,IACAlY,SAAAmvN,EAAA,IAAAjvN,KAAAC,GACAF,gBAAA,EACAiwN,eAAA,EACAC,cAAA,EACAC,YAAArB,EAAA56L,SAAA,aAAAl1B,IAAA,UAEAi6B,GAAA,GAIAh9B,EAAAC,QAAAF,0BC5JA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBg4N,EAAqBh4N,EAAQ,QAoB7Bi4N,EAAAl4N,EAAAu3I,qBAAA,CACAh2I,KAAA,UACA8iB,WAAA,CACA9iB,KAAA,MACAikF,YAAA,GAEAgzD,cAAA,WACA0/E,EAAAxwD,WAAAtmK,KAAA,gBAAA2I,WACAnJ,EAAA2nB,KAAAnnB,KAAAmjB,OAAA4zM,QAAA,SAAAC,EAAAC,GACA,IAAAC,EAAAL,EAAApxN,IAAAwxN,GACAC,GAAA13N,EAAA2L,MAAA6rN,EAAAE,EAAAp0M,kBAGAA,cAAA,CACAo5F,MAAA,EACA/+E,EAAA,EACAg/E,OAAA,EACAj6B,OAAA,aACA5yC,KAAA,QACAG,IAAA,MAGAitE,gBAAA,cACA7Z,YAAA,OACA8Z,aAAA,EACAC,YAAA,EACA1rG,QAAA,EACAwtM,SAAA,GACAyY,QAAA,EACAC,WAAA,EACAC,UAAA,CACAx0H,YAAA,OACA/7E,MAAA,QAEA+1F,SAAA,CACAw6G,UAAA,CACAx0H,YAAA,eAOApgG,EAAAq0N,EACAp0N,EAAAC,QAAAF,wBClDA,SAAAA,EAAA8X,GACAA,EAAA+kG,iBAAA,iBAAAhlG,GACA,IAAA/O,EAAA+O,EAAAE,UACAktD,EAAA,GACAziE,EAAAqV,EAAApV,iBAEA,GAAAD,EAAA,CAWA,IAFA,IAAA+6I,EAAA/6I,EAAAqyN,mBAEAvsN,EAAA,EAAmBA,EAAAi1I,EAAAz8I,OAAiBwH,IACpCQ,EAAA4b,KAAA5b,EAAA8P,aAAA2kI,EAAAj1I,GAAAuQ,KAAAi8M,GAGAhsN,EAAA4b,KAAA,SAAAxJ,GAEA+pD,EAAA/pD,GAAA,IAAA+pD,EAAA/pD,GAAAhL,KAAA+0D,EAAA/pD,GAAA,GAAAuhB,SACA3zB,EAAAkoK,cAAA91J,EAAA+pD,EAAA/pD,MAdA,SAAA45M,EAAAtuN,EAAA0U,GACA+pD,EAAA/pD,GAAA+pD,EAAA/pD,IAAA,GACA+pD,EAAA/pD,GAAA5S,GAAA9F,EAAAM,YAAA0D,EAAA8B,MAiBArI,EAAAC,QAAAF,0BC/CA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErB24N,EAAsB34N,EAAQ,QAoB9B4D,EAAA7D,EAAAu7I,oBAAA,CACAh6I,KAAA,QACA+iB,KAAA,SAAA3I,EAAAxV,GAKA/E,KAAAua,UAMAva,KAAA+E,MAMA/E,KAAA2jB,OAMA3jB,KAAAy3N,iBAAA,IAAAD,EAAAzyN,EAAA2sB,UAAA9b,GAAA,QAAApW,EAAAoJ,KAAA5I,KAAA03N,SAAA13N,OAAA23N,SAMAzkK,OAAA,SAAA0kK,GAEA,OADA53N,KAAA2jB,MAAAi0M,EACAC,EAAAnvN,MAAA1I,KAAA2I,YAMA25G,gBAAAu1G,EAKAtqH,WAAAsqH,EAaA/hN,QAAA,WACA9V,KAAAy3N,iBAAA3hN,WAMA4hN,SAAA,SAAAI,EAAA1iN,GACA,IAAA2iN,EAAA/3N,KAAA2jB,MAAAsI,GACAjsB,KAAA2jB,MAAAq0M,mBAAAC,gBAAAH,EAAA93N,KAAAua,WAKAnF,EAAAurM,OAAAvrM,EAAA8iN,gBAAAl4N,KAAA+E,IAAAqoG,eAAA,CACAjtG,KAAA,QACAg4N,QAAAJ,EACAD,MAAAt4N,EAAA+V,MAAAuiN,GACAM,MAAAL,OAKA,SAAAF,EAAAD,EAAAr9M,EAAAxV,EAAAynB,KAEAA,KAAA4rM,QAAAR,EAAA3rM,KAAAjsB,KAAAy3N,iBAAAY,UAAAT,EAAAI,mBAAAM,cAAAvzN,IAAAwzN,YAAAX,EAAAY,aAAAC,aAAAb,EAAAE,MAAA54L,SAGAx8B,EAAAC,QAAAF,0BCjIA,IAAA2e,EAAcviB,EAAQ,QAEtBgN,EAAAuV,EAAAvV,UAEAypB,EAAA,aAEA,IAAAzpB,EACAypB,EAAA,WACA,QAAA5U,KAAA/X,UACA,UAAAglC,MAAAhlC,UAAA+X,KAGC7U,EAAA,IACDypB,EAAA,WACA,QAAA5U,KAAA/X,UACAyvB,QAAA9C,IAAA3sB,UAAA+X,MAKA,IAAAje,EAAA6yB,EACA5yB,EAAAC,QAAAF,0BCDA,IAAAjD,EAAaX,EAAQ,QAErB65N,EAAoB75N,EAAQ,QAE5B85N,EAAoB95N,EAAQ,QAE5B2nJ,EAAiB3nJ,EAAQ,QAEzB+5N,EAAkB/5N,EAAQ,QAE1Bg6N,EAAAD,EAAAC,eACAtS,EAAAqS,EAAArS,gBAEAuS,EAAuBj6N,EAAQ,QAqB/B,SAAAk6N,EAAAC,EAAAz+M,EAAAxV,GACA/E,KAAAm7I,OAAA69E,EAMAh5N,KAAAy4E,WAAA,GACAz4E,KAAAi5N,eAAAz5N,EAAA4N,IAAA4rN,EAAAE,qBAAA,SAAAC,EAAAx7M,GACA,IAAArC,EAAA,aAAAqC,EACAy7M,EAAA,IAAAV,EAAAp9M,EAAA,IAAAq9M,GAMA,OALAS,EAAA9qN,KAAA6qN,EAAA1zN,IAAA,QAEA2zN,EAAAz1M,MAAAw1M,EACAA,EAAAn0N,KAAAo0N,EACAp5N,KAAAy4E,WAAA9lE,KAAA2I,GACA89M,GACGp5N,MACHA,KAAAq+D,OAAA26J,EAAAj0N,GAMA/E,KAAAye,GAMAze,KAAA0e,GAMA1e,KAAA4e,EAMA5e,KAAA2e,GAMA3e,KAAA6e,WAGAk6M,EAAA94N,UAAAq3N,iBAAA,WACA,OAAAt3N,KAAAi5N,gBAGAF,EAAA94N,UAAAsF,YAAA,SAAAtB,EAAAo1N,GACA,IAAAD,EAAAp5N,KAAAi5N,eAAAI,GACA,OAAAr5N,KAAAs5N,aAAAF,EAAAh4G,YAAAn9G,GAAAo1N,IAGAN,EAAA94N,UAAAq5N,aAAA,SAAA/4M,EAAA84M,GACA,IAAAD,EAAAp5N,KAAAi5N,eAAAI,GACApzK,EAAAmzK,EAAAnzK,MACAjkD,EAAAhC,KAAAye,GAAA8B,EAAA7Z,KAAAwY,IAAA+mC,GACAhkD,EAAAjC,KAAA0e,GAAA6B,EAAA7Z,KAAA0Y,IAAA6mC,GACA,OAAAjkD,EAAAC,IAGA82N,EAAA94N,UAAAohH,YAAA,SAAAwB,GACA,IAAA7rG,EAAA6rG,EAAA,GAAA7iH,KAAAye,GACAxH,EAAA4rG,EAAA,GAAA7iH,KAAA0e,GACAvC,EAAAzV,KAAAk+C,KAAA5tC,IAAAC,KACAD,GAAAmF,EACAlF,GAAAkF,EAQA,IAPA,IAIAo9M,EAJAt5I,EAAAv5E,KAAA44B,OAAAroB,EAAAD,GAGAwiN,EAAA1/M,IAEA2/M,GAAA,EAEA1uN,EAAA,EAAiBA,EAAA/K,KAAAi5N,eAAA11N,OAAgCwH,IAAA,CACjD,IAAAquN,EAAAp5N,KAAAi5N,eAAAluN,GACA6R,EAAAlW,KAAAiR,IAAAsoE,EAAAm5I,EAAAnzK,OAEArpC,EAAA48M,IACAD,EAAAH,EACAK,EAAA1uN,EACAyuN,EAAA58M,GAIA,OAAA68M,IAAAF,KAAAG,WAAAv9M,MAGA48M,EAAA94N,UAAAo+D,OAAA,SAAA26J,EAAAj0N,GACA,IAAAmX,EAAA88M,EAAAvzN,IAAA,UACAk0N,EAAA50N,EAAAwJ,WACAqrN,EAAA70N,EAAAu5D,YACAu7J,EAAAnzN,KAAAQ,IAAAyyN,EAAAC,GAAA,EACA55N,KAAAye,GAAA+nI,EAAA1kE,aAAA5lE,EAAA,GAAAy9M,GACA35N,KAAA0e,GAAA8nI,EAAA1kE,aAAA5lE,EAAA,GAAA09M,GACA55N,KAAA6e,WAAAm6M,EAAAvzN,IAAA,cAAAiB,KAAAC,GAAA,IAEA,IAAAwV,EAAA68M,EAAAvzN,IAAA,UAEA,kBAAA0W,GAAA,kBAAAA,IACAA,EAAA,GAAAA,IAGAnc,KAAA2e,GAAA6nI,EAAA1kE,aAAA3lE,EAAA,GAAA09M,GACA75N,KAAA4e,EAAA4nI,EAAA1kE,aAAA3lE,EAAA,GAAA09M,GACAr6N,EAAA2nB,KAAAnnB,KAAAi5N,eAAA,SAAAG,EAAAz7M,GACAy7M,EAAA96G,UAAAt+G,KAAA2e,GAAA3e,KAAA4e,GACA,IAAAqnC,EAAAjmD,KAAA6e,WAAAlB,EAAAjX,KAAAC,GAAA,EAAA3G,KAAAi5N,eAAA11N,OAEA0iD,EAAAv/C,KAAA44B,MAAA54B,KAAA0Y,IAAA6mC,GAAAv/C,KAAAwY,IAAA+mC,IACAmzK,EAAAnzK,SACGjmD,OAGH+4N,EAAA94N,UAAAssB,OAAA,SAAAhS,EAAAxV,GACA,IAAA+0N,EAAA95N,KAAAi5N,eACAD,EAAAh5N,KAAAm7I,OACA37I,EAAA2nB,KAAA2yM,EAAA,SAAAV,GACAA,EAAArhN,MAAAumG,UAAAxkG,YAEAS,EAAA+kG,iBAAA,iBAAAy6G,EAAAp8M,GACA,aAAAo8M,EAAAt0N,IAAA,qBAAA8U,EAAAmS,aAAA,QAAAqtM,EAAAt0N,IAAA,iBAAAuzN,EAAA,CAIA,IAAAztN,EAAAwuN,EAAAv/M,UACAhb,EAAA2nB,KAAA2yM,EAAA,SAAAV,GACAA,EAAArhN,MAAAiiN,oBAAAzuN,IAAA8P,aAAA+9M,EAAA99M,UAEGtb,MACH,IAAAm4I,EAAA6gF,EAAAvzN,IAAA,eAEA,SAAAw0N,EAAAv9M,GACA,IAAAg+F,EAAAh0G,KAAA2uB,IAAA,GAAA3uB,KAAAmK,MAAAnK,KAAA4uB,IAAA5Y,GAAAhW,KAAAqyG,OAEAn1G,EAAA8Y,EAAAg+F,EASA,OAPA,IAAA92G,EACAA,EAAA,EAGAA,GAAA,EAGAA,EAAA82G,EAIAl7G,EAAA2nB,KAAA2yM,EAAA,SAAAV,EAAAz7M,GACA,IAAAu8M,EAAArB,EAAAO,EAAArhN,MAAAqhN,EAAAz1M,OACA4iM,EAAA6S,EAAArhN,MAAAqhN,EAAAz1M,OACA,IAAA9e,EAAAu0N,EAAAz1M,MACA5L,EAAAqhN,EAAArhN,MACAoiN,EAAAt1N,EAAAu1N,SACAC,EAAAx1N,EAAAy1N,SACA59M,EAAA3E,EAAAwiN,cAEA,SAAAJ,GAAA,MAAAE,EAEAtiN,EAAAumG,WAAA67G,GAAAE,GACAtiN,EAAAyiN,aAAAH,EAAAF,GAAAhiF,QACK,SAAAgiF,EAAA,CACL,IAAAhzN,EAEA,GACAA,EAAAgzN,EAAAz9M,EAAAy7H,EACApgI,EAAAumG,WAAA67G,EAAAhzN,GAGA4Q,EAAAyiN,YAAA99M,GACAA,EAAAu9M,EAAAv9M,SACOvV,EAAA+yN,EAAA,IAAAngN,SAAA5S,IAAA4S,SAAAmgN,EAAA,UACF,SAAAG,EAAA,CACL,IAAAnzN,EAEA,GACAA,EAAAmzN,EAAA39M,EAAAy7H,EACApgI,EAAAumG,UAAAp3G,GAAAmzN,GACAtiN,EAAAyiN,YAAA99M,GACAA,EAAAu9M,EAAAv9M,SACOxV,EAAAgzN,EAAA,IAAAngN,SAAA7S,IAAA6S,SAAAmgN,EAAA,SACF,CACL,IAAAO,EAAA1iN,EAAAknI,WAAA17I,OAAA,EAEAk3N,EAAAtiF,IACAz7H,EAAAu9M,EAAAv9M,IAIA,IAAAR,EAAAxV,KAAAwT,OAAAggN,EAAA,GAAAA,EAAA,MAAAx9M,KACAg+M,EAAAh0N,KAAAwT,MAAAi+H,EAAA,GACApgI,EAAAumG,UAAAkoC,EAAAtsI,MAAAgC,EAAAw+M,EAAAh+M,GAAA8pI,EAAAtsI,MAAAgC,GAAAi8H,EAAAuiF,GAAAh+M,IACA3E,EAAAyiN,YAAA99M,OAUAq8M,EAAAtgJ,WAAA,GAEAsgJ,EAAAjqL,OAAA,SAAAv0B,EAAAxV,GACA,IAAA41N,EAAA,GAYA,OAXApgN,EAAA8kG,cAAA,iBAAA25G,GACA,IAAAvtB,EAAA,IAAAstB,EAAAC,EAAAz+M,EAAAxV,GACA41N,EAAAhoN,KAAA84L,GACAutB,EAAA9zN,iBAAAumM,IAEAlxL,EAAA+kG,iBAAA,iBAAAy6G,GACA,UAAAA,EAAAt0N,IAAA,sBAEAs0N,EAAA70N,iBAAAy1N,EAAAZ,EAAAt0N,IAAA,qBAGAk1N,GAGA7B,EAAA9gE,SAAA,QAAA+gE,GACA,IAAAt2N,EAAAs2N,EACAr2N,EAAAC,QAAAF,uCCzRA,IAAAm4N,EAAkB/7N,EAAQ,QAE1Bg8N,EAAAC,OAAA76N,UAAAsR,KAIAwpN,EAAAt0F,OAAAxmI,UAAAsK,QAEAywN,EAAAH,EAEAI,EAAA,YAEAC,EAAA,WACA,IAAAC,EAAA,IACAC,EAAA,MAGA,OAFAP,EAAA96N,KAAAo7N,EAAA,KACAN,EAAA96N,KAAAq7N,EAAA,KACA,IAAAD,EAAAF,IAAA,IAAAG,EAAAH,GALA,GASAI,OAAA/yN,IAAA,OAAAiJ,KAAA,OAEA+pN,EAAAJ,GAAAG,EAEAC,IACAN,EAAA,SAAA1wN,GACA,IACAgH,EAAAiqN,EAAA1kM,EAAA9rB,EADAywN,EAAAx7N,KAwBA,OArBAq7N,IACAE,EAAA,IAAAT,OAAA,IAAAU,EAAAvhM,OAAA,WAAA2gM,EAAA76N,KAAAy7N,KAEAN,IAAA5pN,EAAAkqN,EAAAP,IAEApkM,EAAAgkM,EAAA96N,KAAAy7N,EAAAlxN,GAEA4wN,GAAArkM,IACA2kM,EAAAP,GAAAO,EAAAtwK,OAAAr0B,EAAAhzB,MAAAgzB,EAAA,GAAAtzB,OAAA+N,GAEA+pN,GAAAxkM,KAAAtzB,OAAA,GAIAw3N,EAAAh7N,KAAA82B,EAAA,GAAA0kM,EAAA,WACA,IAAAxwN,EAAA,EAAmBA,EAAApC,UAAApF,OAAA,EAA0BwH,SAC7CzC,IAAAK,UAAAoC,KAAA8rB,EAAA9rB,QAAAzC,KAKAuuB,IAIAn0B,EAAAC,QAAAq4N,wBCrCA,IAAAx7N,EAAaX,EAAQ,QAErB4O,EAAmB5O,EAAQ,QAE3B48N,EAAW58N,EAAQ,QAEnB68N,EAAuB78N,EAAQ,QAiC/B,SAAA88N,EAAArtN,EAAAlB,EAAA4yG,EAAA47G,GACAH,EAAA17N,KAAAC,KAAAsO,GAMAtO,KAAAoN,MACA,IAAA6sB,EAAAyhM,EAAAn0L,KAAAn6B,EAAA4yG,GACAhgH,KAAAigH,cAAAhmF,EAAA4hM,aACA77N,KAAA0gH,YAAAzmF,EAAAqmF,WACAtgH,KAAA87N,iBAAA,MAAAF,KAKA57N,KAAA27G,QAAA1hF,EAAA0hF,QAKA37G,KAAAwB,MAAAy4B,EAAA8hM,aAgIA,SAAAC,EAAAvyM,EAAAlP,EAAA0hN,EAAAh4N,GACA,IAAAi4N,EAAAD,EAAAC,SACA5hN,EAAA2hN,EAAA3hN,YACArV,EAAAi3N,IAAAh3N,iBAAAoV,IAAApV,mBACAoV,EAAAstE,uBAAA,eAAwD1iF,iBAAA,KACxD,OAAAD,IAAAjF,KAAAiF,EAAAwkB,GAAAxlB,GAAA,KAlIA03N,EAAA17N,UAAA,CACAC,YAAAy7N,EACAx7N,KAAA,MAMAs4E,WAAA,cAOA0jJ,aAAA,SAAA57M,GAGA,IAFA,IAAAo7F,EAAA37G,KAAA27G,QAEA5wG,EAAA,EAAmBA,EAAA4wG,EAAAp4G,OAAoBwH,IACvC,GAAA4wG,EAAA5wG,GAAAuV,QAAAC,GACA,SAIA,UAMAI,YAAA,SAAA3e,EAAAC,EAAAK,EAAAC,GACA,IAAAd,EAAAzB,KAAAuB,kBACAq6N,EAAA57N,KAAA87N,iBACAr6N,IAAA8T,QAEAqmN,IAEAn6N,EAAAQ,GAAAR,EAAAQ,EAAAR,EAAAc,QAGA,IAAA65N,EAAAp8N,KAAAq8N,kBAIA,GAHAD,EAAAv1N,UAAApF,EAAAof,mBAAA,IAAApT,EAAAzL,EAAAC,EAAAK,EAAAC,IACA65N,EAAAE,qBAEAV,EAAA,CACA,IAAA7jN,EAAAqkN,EAAArkN,MACAA,EAAA,IAAAA,EAAA,GAGAqkN,EAAA95G,kBAEAtiH,KAAAqgF,oBAOAwgB,UAAA,SAAAvyF,GACA,OAAAtO,KAAA0gH,YAAAj7G,IAAA6I,IAEAyyG,iBAAA,SAAAxgG,GAGA,IAFA,IAAAo7F,EAAA37G,KAAA27G,QAEA5wG,EAAA,EAAmBA,EAAA4wG,EAAAp4G,OAAoBwH,IACvC,GAAA4wG,EAAA5wG,GAAAuV,QAAAC,GACA,OAAAo7F,EAAA5wG,IAUAy1G,YAAA,SAAAlyG,EAAAwyG,GACA9gH,KAAAigH,cAAA7sF,IAAA9kB,EAAAwyG,IAQAy7G,YAAA,SAAAjuN,GACA,OAAAtO,KAAAigH,cAAAx6G,IAAA6I,IAMA/M,gBAAA,WACA,OAAAvB,KAAAwB,OASA+D,YAAA,SAAAgG,EAAAixN,EAAAn9L,GAMA,GALA,kBAAA9zB,IAEAA,EAAAvL,KAAAu8N,YAAAhxN,IAGAA,EACA,OAAAkwN,EAAAx7N,UAAAsF,YAAAxF,KAAAC,KAAAuL,EAAAixN,EAAAn9L,IAOAo9L,eAAAj9N,EAAAmqB,MAAAqyM,EAAA,eAKAU,iBAAAl9N,EAAAmqB,MAAAqyM,EAAA,gBAEAx8N,EAAAoZ,MAAA+iN,EAAAF,GAUA,IAAAh5N,EAAAk5N,EACAj5N,EAAAC,QAAAF,0BCrMA,IAAAk6N,EAA4B99N,EAAQ,QAEpC29M,EAAAmgB,EAAAngB,eAoBA,SAAA/5M,EAAA8X,GACAA,EAAA+kG,iBAAA,iBAAAhlG,GACA,aAAAA,EAAA7U,IAAA,WACA+2M,EAAAliM,KAKA5X,EAAAC,QAAAF,wBC/CA,IAAAm6N,EAAA,SAAAn1M,GACAznB,KAAAynB,cAAA,IAGAm1M,EAAA38N,UAAA,CACAC,YAAA08N,EACA/+C,aAAA,SAAA93H,EAAAj/B,GACA9mB,KAAAynB,WAAA9U,KAAA,CACAozC,SACAj/B,YAIA,IAAArkB,EAAAm6N,EACAl6N,EAAAC,QAAAF,wBCGA,IAAA2e,EAAcviB,EAAQ,QAItBD,GAFAwiB,EAAAC,QAEcxiB,EAAQ,SAEtBg+N,EAA6Bh+N,EAAQ,QAwBrCyF,EAAA1F,EAAAu7I,oBAAA,CACAh6I,KAAA,OAKA28N,aAAA,KAMAxH,iBAAA,KAKApiK,OAAA,SAAAruD,EAAA0V,EAAAxV,EAAAynB,GAMAxsB,KAAAs1N,kBAAAuH,EAAAE,SAAAl4N,GACAP,EAAAgiK,WAAAtmK,KAAA,SAAA2I,WACAq0N,EAAAh9N,KAAA6E,EAAA0V,EAAAxV,EAAAynB,GAAA,IAWAwwM,kBAAA,SAAAn4N,EAAA0V,EAAAxV,EAAAynB,EAAAqtE,GACAmjI,EAAAh9N,KAAA6E,EAAA0V,EAAAxV,EAAAynB,GAAA,IAMAhgB,OAAA,SAAA+N,EAAAxV,GACA,IAAA6yI,EAAA53I,KAAA88N,aACAllF,KAAAprI,OAAAzH,GACAT,EAAAgiK,WAAAtmK,KAAA,SAAA2I,YAMAmN,QAAA,SAAAyE,EAAAxV,GACAk4N,EAAAj9N,KAAA+E,GACAT,EAAAgiK,WAAAtmK,KAAA,UAAA2I,cAIA,SAAAq0N,EAAAE,EAAAr4N,EAAA0V,EAAAxV,EAAAynB,EAAA2wM,GACA,IAAA9tC,EAAA/qL,EAAA84N,oBAAAF,EAAA5H,kBAEA,GAAAjmC,EAAA,CAIA,IAAAvqL,EAAA+3N,EAAAQ,oBAAAx4N,GACAC,GAAAo4N,EAAAJ,eAAAI,EAAAJ,aAAA,IAAAztC,IAAAn8H,OAAAruD,EAAAC,EAAAC,EAAAo4N,GAAAF,EAAAC,EAAAn4N,IAGA,SAAAk4N,EAAAC,EAAA3iN,EAAAxV,GACA,IAAA6yI,EAAAslF,EAAAJ,aACAllF,KAAA9hI,QAAAyE,EAAAxV,GACAm4N,EAAAJ,aAAA,KAGA,IAAAQ,EAAA,GAEAh5N,EAAA8D,yBAAA,SAAAjI,EAAA4oD,GACAu0K,EAAAn9N,GAAA4oD,GAGAzkD,EAAA84N,oBAAA,SAAAj9N,GACA,OAAAA,GAAAm9N,EAAAn9N,IAGA,IAAAsC,EAAA6B,EACA5B,EAAAC,QAAAF,0BCpHA,IAAA7D,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAoBRD,EAAAU,qBAAA,SAAA8V,GAEAA,EAAAmoN,SAAAnoN,EAAAmoN,UAAA,0CC5CA,IAAAC,EAAkB3+N,EAAQ,QAC1B4+N,EAAc5+N,EAAQ,QACtB6+N,EAAW7+N,EAAQ,QACnB8+N,EAAU9+N,EAAQ,QAClB++N,EAAe/+N,EAAQ,QACvBg/N,EAAch/N,EAAQ,QACtBi/N,EAAA/0N,OAAAg1N,OAGAr7N,EAAAC,SAAAm7N,GAA6Bj/N,EAAQ,OAARA,CAAkB,WAC/C,IAAAm/N,EAAA,GACA7kG,EAAA,GAEAH,EAAAilG,SACAC,EAAA,uBAGA,OAFAF,EAAAhlG,GAAA,EACAklG,EAAAzvN,MAAA,IAAA5D,QAAA,SAAA6V,GAAoCy4G,EAAAz4G,OACjB,GAAnBo9M,EAAA,GAAmBE,GAAAhlG,IAAAjwH,OAAAitB,KAAA8nM,EAAA,GAAsC3kG,IAAAnpH,KAAA,KAAAkuN,IACxD,SAAA7nN,EAAA4jB,GACD,IAAAkkM,EAAAP,EAAAvnN,GACA+nN,EAAAz1N,UAAApF,OACAM,EAAA,EACAw6N,EAAAX,EAAA95N,EACA06N,EAAAX,EAAA/5N,EACA,MAAAw6N,EAAAv6N,EAAA,CACA,IAIAoH,EAJA+tH,EAAA6kG,EAAAl1N,UAAA9E,MACAmyB,EAAAqoM,EAAAZ,EAAAzkG,GAAAtvE,OAAA20K,EAAArlG,IAAAykG,EAAAzkG,GACAz1H,EAAAyyB,EAAAzyB,OACAmN,EAAA,EAEA,MAAAnN,EAAAmN,EACAzF,EAAA+qB,EAAAtlB,KACA8sN,IAAAc,EAAAv+N,KAAAi5H,EAAA/tH,KAAAkzN,EAAAlzN,GAAA+tH,EAAA/tH,IAEG,OAAAkzN,GACFL,wBCrCD,IAAAS,EAAY1/N,EAAQ,QAEpBg3B,EAAA0oM,EAAA1oM,cAEAr2B,EAAaX,EAAQ,QAErB0f,EAAW1f,EAAQ,QAEnB2/N,EAAa3/N,EAAQ,QAErB4/N,EAAY5/N,EAAQ,QAEpB6/N,EAAe7/N,EAAQ,QAEvB8/N,EAAAD,EAAAj6J,KACAm6J,EAAAF,EAAA5rN,MACA+rN,EAAAH,EAAA19N,KAOA89N,EAAA,IACAC,EAAA,IAaA,SAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACAr/N,KAAAs/N,MAAAL,EACAj/N,KAAAu/N,SAAAL,EACAl/N,KAAAw/N,UAAA,kBAAAL,EAAA,CAAAA,KACAn/N,KAAAy/N,WAAAL,EACAp/N,KAAA0/N,SAAAL,GAAA,OACAr/N,KAAA2/N,OAAA,EAGAX,EAAA/+N,UAAA41B,gBASAmpM,EAAA/+N,UAAA2/N,QAAA,SAAAC,GACA,IAAAX,EAAAl/N,KAAAu/N,SAEAO,EAAA9/N,KAAAu/N,SAAAQ,qBAAA,QAEA,WAAAD,EAAAv8N,OAEAs8N,GACAC,EAAAZ,EAAAc,aAAAhgO,KAAA61B,cAAA,QACAqpM,EAAAe,YAGAH,EAAAI,WAEAJ,EAAAI,SAAA,SAAAnvL,GACA,IAAAozB,EAAA27J,EAAA37J,SAEA,IAAAA,EACA,SAGA,QAAAp5D,EAAAo5D,EAAA5gE,OAAA,EAA2CwH,GAAA,IAAQA,EACnD,GAAAo5D,EAAAp5D,KAAAgmC,EACA,SAIA,WAIA+uL,GAEA,KAGAA,EAAA,IAYAd,EAAA/+N,UAAAssB,OAAA,SAAAmqL,EAAA4X,GACA,GAAA5X,EAAA,CAIA,IAAAopB,EAAA9/N,KAAA4/N,SAAA,GAEA,GAAAlpB,EAAA12M,KAAA0/N,WAAAI,EAAAI,SAAAxpB,EAAA12M,KAAA0/N,WAEA,oBAAApR,GACAA,EAAA5X,OAEG,CAEH,IAAA94H,EAAA59E,KAAAu9B,IAAAm5K,GAEA94H,IACA84H,EAAA12M,KAAA0/N,UAAA9hJ,MAWAohJ,EAAA/+N,UAAAkgO,OAAA,SAAAviJ,GACA,IAAAkiJ,EAAA9/N,KAAA4/N,SAAA,GACAE,EAAAM,YAAAxiJ,IASAohJ,EAAA/+N,UAAAogO,UAAA,SAAA3pB,GACA,IAAAopB,EAAA9/N,KAAA4/N,SAAA,GAEAE,GAAAppB,EAAA12M,KAAA0/N,YACAI,EAAAQ,YAAA5pB,EAAA12M,KAAA0/N,WACAhpB,EAAA12M,KAAA0/N,UAAA,OAUAV,EAAA/+N,UAAAsgO,QAAA,WACA,IAAAT,EAAA9/N,KAAA4/N,SAAA,GAEA,IAAAE,EAEA,SAGA,IAAAU,EAAA,GAQA,OAPAhhO,EAAA2nB,KAAAnnB,KAAAw/N,UAAA,SAAAiB,GACA,IAAAC,EAAAZ,EAAAC,qBAAAU,GAIAD,IAAA92K,OAAA,GAAAxqB,MAAAn/B,KAAA2gO,MAEAF,GAQAxB,EAAA/+N,UAAA0gO,cAAA,WACA,IAAAH,EAAAxgO,KAAAugO,UACAl9N,EAAArD,KACAR,EAAA2nB,KAAAq5M,EAAA,SAAA5iJ,GACAA,EAAAv6E,EAAAo8N,YAAAX,KAUAE,EAAA/+N,UAAA2gO,SAAA,SAAAhjJ,GACAA,IACAA,EAAA59E,KAAAy/N,YAAAV,IAQAC,EAAA/+N,UAAA4gO,aAAA,WACA,IAAAf,EAAA9/N,KAAA4/N,SAAA,GAEA,GAAAE,EAAA,CAKA,IAAAU,EAAAxgO,KAAAugO,UACAl9N,EAAArD,KACAR,EAAA2nB,KAAAq5M,EAAA,SAAA5iJ,GACAA,EAAAv6E,EAAAo8N,cAAAV,GAEAe,EAAAQ,YAAA1iJ,OAYAohJ,EAAA/+N,UAAA6gO,YAAA,SAAAC,GACA,OAAAA,aAAAxiN,EACAogN,EACGoC,aAAAvC,EACHI,EACGmC,aAAAtC,EACHI,EAEAF,GAWAK,EAAA/+N,UAAA+gO,kBAAA,SAAAD,GACA,OAAAA,EAAAE,aAUAjC,EAAA/+N,UAAAihO,cAAA,SAAAH,GACA,OAAAA,EAAAI,SAGA,IAAA1+N,EAAAu8N,EACAt8N,EAAAC,QAAAF,wBCxQA,IAAA2+N,EAAcviO,EAAQ,QACtBwiO,EAAcxiO,EAAQ,QACtByiO,EAAgBziO,EAAQ,QACxB0iO,EAAW1iO,EAAQ,QACnB2iO,EAAqB3iO,EAAQ,QAE7BuiO,IAAApoG,EAAA,UACAyoG,0BAAA,SAAA1zM,GACA,IAKA9iB,EAAAy2N,EALAx6B,EAAAo6B,EAAAvzM,GACA4zM,EAAAJ,EAAA39N,EACAoyB,EAAAqrM,EAAAn6B,GACAxjM,EAAA,GACAqH,EAAA,EAEA,MAAAirB,EAAAzyB,OAAAwH,EACA22N,EAAAC,EAAAz6B,EAAAj8L,EAAA+qB,EAAAjrB,WACAzC,IAAAo5N,GAAAF,EAAA99N,EAAAuH,EAAAy2N,GAEA,OAAAh+N,8BCnBA,IAAA4d,EAAUziB,EAAQ,QAElB+iO,EAAc/iO,EAAQ,QAEtBwa,EAAAuoN,EAAAvoN,eAEA5L,EAAmB5O,EAAQ,QAE3BgjO,EAAgBhjO,EAAQ,QAExBY,EAAkBZ,EAAQ,QAE1Ba,EAAiBb,EAAQ,QAEzBka,EAAela,EAAQ,QAEvBU,EAAkBV,EAAQ,QAE1B2/N,EAAa3/N,EAAQ,QAErBgB,EAAWhB,EAAQ,QAEnB0f,EAAW1f,EAAQ,QAEnBijO,EAAgBjjO,EAAQ,QAExB+9N,EAAe/9N,EAAQ,QAEvBkjO,EAAcljO,EAAQ,QAItBmjO,EAAAF,EAAAE,IACA9nN,EAAAxT,KAAAwT,MACA0qC,EAAAl+C,KAAAk+C,KACAjtC,EAAAjR,KAAAiR,IACAuH,EAAAxY,KAAAwY,IACAE,EAAA1Y,KAAA0Y,IACAm7E,EAAA7zF,KAAAS,IAEA,IAAAma,EAAA2gN,gBAAA,CACA,IAAAC,EAAA,IACAC,EAAA,oCACAC,EAAA,MACAC,EAAAD,EAAA,EACAE,EAAA,IACAC,EAAA,IAEAC,EAAA,SAAAzxL,GACAA,EAAAxwC,MAAA4oH,QAAA,uDACAp4E,EAAA0xL,UAAAL,EAAA,IAAAA,EACArxL,EAAA2xL,YAAA,OAGAC,EAAA,SAAA10M,GACA,OAAAw4G,OAAAx4G,GAAA1jB,QAAA,cAAyCA,QAAA,gBAGzCq4N,EAAA,SAAAhkN,EAAAgtC,EAAApjD,GACA,cAAAoW,EAAAgtC,EAAApjD,GAAAwH,KAAA,UAGA6yN,EAAA,SAAAlxJ,EAAAv/C,GACAA,GAAAu/C,GAAAv/C,EAAA0hM,aAAAniJ,GACAA,EAAAyuJ,YAAAhuM,IAIA5lB,EAAA,SAAAmlE,EAAAv/C,GACAA,GAAAu/C,GAAAv/C,EAAA0hM,aAAAniJ,GACAA,EAAA2uJ,YAAAluM,IAIA0wM,EAAA,SAAA3mH,EAAAh/E,EAAAuC,GAEA,OAAA6L,WAAA4wE,IAAA,GAAAmmH,GAAA/2L,WAAApO,IAAA,GAAAolM,EAAA7iM,GAGAoiD,EAAA,SAAA79E,EAAA8+N,GACA,wBAAA9+N,EACAA,EAAAs0L,YAAA,QACAhtJ,WAAAtnC,GAAA,IAAA8+N,EAGAx3L,WAAAtnC,GAGAA,GAOA++N,EAAA,SAAAjyL,EAAAjqB,EAAAgtC,GACA,IAAAuyC,EAAAw7H,EAAAzoM,MAAAtS,GACAgtC,KAEAl6C,MAAAk6C,KACAA,EAAA,GAGAuyC,IACAt1D,EAAAjqB,MAAA87M,EAAAv8H,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACAt1D,EAAA+iB,UAAAuyC,EAAA,KAIA48H,EAAA,SAAAn8M,GACA,IAAAu/E,EAAAw7H,EAAAzoM,MAAAtS,GACA,OAAA87M,EAAAv8H,EAAA,GAAAA,EAAA,GAAAA,EAAA,IAAAA,EAAA,KAGA68H,EAAA,SAAAnyL,EAAAxwC,EAAA4iO,GAEA,IAAAziO,EAAAH,EAAAG,KAEA,SAAAA,EAEA,GAAAA,aAAAk8N,EAAA,CACA,IAAAwG,EACAn9K,EAAA,EACAo9K,EAAA,MAEAv+J,EAAA,EAEAw+J,EAAA,EACA7hO,EAAA0hO,EAAA5hO,kBACAgiO,EAAA9hO,EAAAa,MACAkhO,EAAA/hO,EAAAc,OAEA,cAAA7B,EAAAP,KAAA,CACAijO,EAAA,WACA,IAAAv8N,EAAAs8N,EAAAt8N,UACAwV,EAAA,CAAA3b,EAAAsB,EAAAuhO,EAAA7iO,EAAAuB,EAAAuhO,GACAlnN,EAAA,CAAA5b,EAAA8+B,GAAA+jM,EAAA7iO,EAAA++B,GAAA+jM,GAEA38N,IACAwS,EAAAgD,IAAAxV,GACAwS,EAAAiD,IAAAzV,IAGA,IAAAmQ,EAAAsF,EAAA,GAAAD,EAAA,GACApF,EAAAqF,EAAA,GAAAD,EAAA,GACA4pC,EAAA,IAAAv/C,KAAA44B,MAAAtoB,EAAAC,GAAAvQ,KAAAC,GAEAs/C,EAAA,IACAA,GAAA,KAKAA,EAAA,OACAA,EAAA,OAES,CACTm9K,EAAA,iBACA/mN,EAAA,CAAA3b,EAAAsB,EAAAuhO,EAAA7iO,EAAAuB,EAAAuhO,GACA38N,EAAAs8N,EAAAt8N,UADA,IAEAkR,EAAAorN,EAAAprN,MACAzV,EAAAihO,EACAhhO,EAAAihO,EACAH,EAAA,EACAhnN,EAAA,GAAA5a,EAAAO,GAAAM,GAAA+Z,EAAA,GAAA5a,EAAAQ,GAAAM,GAEAsE,GACAwS,EAAAgD,IAAAxV,GAGAvE,GAAAyV,EAAA,GAAAqqN,EACA7/N,GAAAwV,EAAA,GAAAqqN,EACA,IAAA9uD,EAAA/4E,EAAAj4F,EAAAC,GACAuiE,EAAA,EAAAwuG,EACAgwD,EAAA,EAAA5iO,EAAAke,EAAA00J,EAAAxuG,EAKA,IAAAk7H,EAAAt/L,EAAA+mB,WAAAyX,QACA8gK,EAAA/pK,KAAA,SAAAwtM,EAAAC,GACA,OAAAD,EAAA19K,OAAA29K,EAAA39K,SAOA,IALA,IAAAxiD,EAAAy8L,EAAAz8L,OAEAogO,EAAA,GACAxpG,EAAA,GAEApvH,EAAA,EAAuBA,EAAAxH,EAAYwH,IAAA,CACnC,IAAAmM,EAAA8oL,EAAAj1L,GACA64N,EAAAX,EAAA/rN,EAAA4P,OACAqzG,EAAAxnH,KAAAuE,EAAA6uC,OAAAu9K,EAAAx+J,EAAA,IAAA8+J,EAAA,IAEA,IAAA74N,OAAAxH,EAAA,GACAogO,EAAAhxN,KAAAixN,GAIA,GAAArgO,GAAA,GACA,IAAAm6F,EAAAimI,EAAA,MACAhmI,EAAAgmI,EAAA,MACAE,EAAAF,EAAA,MAAApjO,EAAAuzD,QACAgwK,EAAAH,EAAA,MAAApjO,EAAAuzD,QACA/iB,EAAA5wC,KAAAijO,EACAryL,EAAAo1G,OAAA,OACAp1G,EAAAsyL,MAAA,OACAtyL,EAAAkV,QACAlV,EAAAjqB,MAAA42E,EACA3sD,EAAA4sD,SACA5sD,EAAAopF,SAAAnqH,KAAA,KAGA+gC,EAAA+iB,QAAAgwK,EAEA/yL,EAAA+yL,SAAAD,EAGA,WAAAT,IACAryL,EAAAgzL,cAAAV,EAAArzN,KAAA,WAIAgzN,EAAAjyL,EAAArwC,EAAAH,EAAAuzD,UAKAkwK,EAAA,SAAAjzL,EAAAxwC,GAUA,MAAAA,EAAA0jO,WACAlzL,EAAAmzL,UAAA3jO,EAAA0jO,SAAAj0N,KAAA,MAGA,MAAAzP,EAAAI,QAAAJ,EAAAI,kBAAAi8N,GACAoG,EAAAjyL,EAAAxwC,EAAAI,OAAAJ,EAAAuzD,UAIAqwK,EAAA,SAAAC,EAAAjkO,EAAAI,EAAA4iO,GACA,IAAAplI,EAAA,SAAA59F,EACA4wC,EAAAqzL,EAAArE,qBAAA5/N,GAAA,GAEA,MAAAI,EAAAJ,IAAA,SAAAI,EAAAJ,KAAA49F,OAAAx9F,EAAAkQ,YACA2zN,EAAArmI,EAAA,2BAEAx9F,EAAAJ,aAAAy8N,GACApwN,EAAA43N,EAAArzL,GAGAA,IACAA,EAAAgxL,EAAAnsE,WAAAz1J,IAGA49F,EAAAmlI,EAAAnyL,EAAAxwC,EAAA4iO,GAAAa,EAAAjzL,EAAAxwC,GACAsiO,EAAAuB,EAAArzL,KAEAqzL,EAAArmI,EAAA,4BACAvxF,EAAA43N,EAAArzL,KAIA22B,EAAA,WAEA28J,EAAA,SAAA5/J,EAAAl3C,GACA,IAMA+2M,EACAC,EACA5qC,EACA5uL,EACA0wL,EACAC,EAXAvzC,EAAA65E,EAAA75E,EACAwjB,EAAAq2D,EAAAr2D,EACAx4D,EAAA6uH,EAAA7uH,EACA6qH,EAAAgE,EAAAhE,EACAwG,EAAAxC,EAAAwC,EACAl6N,EAAA,GAOAiB,EAAAk5D,EAAAl5D,KACA+6H,EAAA7hE,EAAAh4D,MAEA,IAAA1B,EAAA,EAAeA,EAAAu7H,GAAgB,CAK/B,OAJAqzD,EAAApuL,EAAAR,KACAw5N,EAAA,GACAD,EAAA,EAEA3qC,GACA,KAAAxxC,EACAo8E,EAAA,MACAD,EAAA,EACA7oC,EAAAlwL,EAAAR,KACA2wL,EAAAnwL,EAAAR,KACA28D,EAAA,MAAA+zH,EACA/zH,EAAA,MAAAg0H,EACA,MAEA,KAAAvoF,EACAoxH,EAAA,MACAD,EAAA,EACA7oC,EAAAlwL,EAAAR,KACA2wL,EAAAnwL,EAAAR,KACA28D,EAAA,MAAA+zH,EACA/zH,EAAA,MAAAg0H,EACA,MAEA,KAAA8oC,EACA,KAAA74D,EACA44D,EAAA,MACAD,EAAA,EACA,IAIAx8J,EACAC,EALAnY,EAAArkD,EAAAR,KACA8kD,EAAAtkD,EAAAR,KACAy0B,EAAAj0B,EAAAR,KACA00B,EAAAl0B,EAAAR,KAIA4uL,IAAA6qC,GAEA18J,EAAAtoC,EACAuoC,EAAAtoC,EACAD,KAAA,EAAAowB,GAAA,EACAnwB,KAAA,EAAAowB,GAAA,EACAD,GAAA6rI,EAAA,EAAA7rI,GAAA,EACAC,GAAA6rI,EAAA,EAAA7rI,GAAA,IAEAiY,EAAAv8D,EAAAR,KACAg9D,EAAAx8D,EAAAR,MAGA28D,EAAA,MAAA9X,EACA8X,EAAA,MAAA7X,EACA6X,EAAA,MAAAloC,EACAkoC,EAAA,MAAAjoC,EACAioC,EAAA,MAAAI,EACAJ,EAAA,MAAAK,EACA0zH,EAAA3zH,EACA4zH,EAAA3zH,EACA,MAEA,KAAAi2J,EACA,IAAAh8N,EAAA,EACAC,EAAA,EACA+uC,EAAA,EACAC,EAAA,EACAgV,EAAA,EAEA14B,IAEAvrB,EAAAurB,EAAA,GACAtrB,EAAAsrB,EAAA,GACAyjB,EAAA4T,EAAAr3B,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA0jB,EAAA2T,EAAAr3B,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA04B,EAAAv/C,KAAA44B,OAAA/R,EAAA,GAAA0jB,EAAA1jB,EAAA,GAAAyjB,IAGA,IAAAvyB,EAAAlT,EAAAR,KACA2T,EAAAnT,EAAAR,KACA2tK,EAAAntK,EAAAR,KACA4tK,EAAAptK,EAAAR,KACA8T,EAAAtT,EAAAR,KAAAk7C,EACAnnC,EAAAvT,EAAAR,KAAA8T,EAAAonC,EAGAl7C,IACA,IAAAgU,EAAAxT,EAAAR,KACA6wD,EAAAn9C,EAAAS,EAAAL,GAAA65J,EACA78G,EAAAn9C,EAAAU,EAAAP,GAAA85J,EAGAx4K,GAFAyvD,EAAAnxC,EAAAS,EAAAJ,GAAA45J,EACA7oH,EAAAnxC,EAAAU,EAAAN,GAAA65J,EACA55J,EAAA,eAEArY,KAAAiR,IAAAikD,EAAAhM,GAAA,OAEAlpD,KAAAiR,IAAAmH,EAAAD,GAAA,IAGAE,IACA68C,GAAA,IAAAwmK,GAIA17N,KAAAiR,IAAAkkD,EAAAn9C,GAAA,KACAK,GAAA68C,EAAAn9C,IAAAM,GAAA68C,EAAAn9C,EACAoxC,GAAA,IAAAuyK,EAEAvyK,GAAA,IAAAuyK,EAEerjN,GAAA88C,EAAAn9C,IAAAK,GAAA88C,EAAAn9C,EACfkxC,GAAA,IAAAwyK,EAEAxyK,GAAA,IAAAwyK,GAKA93N,EAAAqI,KAAAxS,EAAA+Z,IAAAuE,EAAAi6J,GAAA1nI,EAAAhvC,GAAAogO,EAAAC,GAAAH,EAAAhoN,IAAAwE,EAAAi6J,GAAA1nI,EAAAhvC,GAAAmgO,EAAAC,GAAAH,EAAAhoN,IAAAuE,EAAAi6J,GAAA1nI,EAAAhvC,GAAAogO,EAAAC,GAAAH,EAAAhoN,IAAAwE,EAAAi6J,GAAA1nI,EAAAhvC,GAAAmgO,EAAAC,GAAAH,EAAAhoN,GAAA0hD,EAAA5qB,EAAAhvC,GAAAogO,EAAAC,GAAAH,EAAAhoN,GAAA2hD,EAAA5qB,EAAAhvC,GAAAmgO,EAAAC,GAAAH,EAAAhoN,GAAA01C,EAAA5e,EAAAhvC,GAAAogO,EAAAC,GAAAH,EAAAhoN,GAAA21C,EAAA5e,EAAAhvC,GAAAmgO,EAAAC,IACA5mC,EAAA7rI,EACA8rI,EAAA7rI,EACA,MAEA,KAAAmyK,EAAA/oG,EACA,IAAA58G,EAAAqrD,EAAA,GACAprD,EAAAorD,EAAA,GAEArrD,EAAA,GAAA9Q,EAAAR,KACAsR,EAAA,GAAA9Q,EAAAR,KAEAuR,EAAA,GAAAD,EAAA,GAAA9Q,EAAAR,KACAuR,EAAA,GAAAD,EAAA,GAAA9Q,EAAAR,KAEAwiB,IACAlU,EAAAgD,IAAAkR,GACAlU,EAAAiD,IAAAiR,IAGAlR,EAAA,GAAAnC,EAAAmC,EAAA,GAAA+lN,EAAAC,GACA/lN,EAAA,GAAApC,EAAAoC,EAAA,GAAA8lN,EAAAC,GACAhmN,EAAA,GAAAnC,EAAAmC,EAAA,GAAA+lN,EAAAC,GACA/lN,EAAA,GAAApC,EAAAoC,EAAA,GAAA8lN,EAAAC,GACA/3N,EAAAqI,KACA,MAAA0J,EAAA,GAAA6lN,EAAA7lN,EAAA,GACA,MAAAC,EAAA,GAAA4lN,EAAA7lN,EAAA,GACA,MAAAC,EAAA,GAAA4lN,EAAA5lN,EAAA,GACA,MAAAD,EAAA,GAAA6lN,EAAA5lN,EAAA,IACA,MAEA,KAAA0lN,EAAAI,EAEA93N,EAAAqI,KAAA,OAGA,GAAA2xN,EAAA,GACAh6N,EAAAqI,KAAA4xN,GAEA,QAAA7jN,EAAA,EAAuBA,EAAA4jN,EAAY5jN,IAAA,CACnC,IAAAI,EAAA4mD,EAAAhnD,GACA6M,GAAAlU,EAAAyH,IAAAyM,GAEAjjB,EAAAqI,KAAAuH,EAAA4G,EAAA,GAAAshN,EAAAC,GAAAH,EAAAhoN,EAAA4G,EAAA,GAAAshN,EAAAC,GAAA3hN,EAAA4jN,EAAA,EAAApC,EAAA,MAKA,OAAA53N,EAAA0F,KAAA,KAIAuO,EAAAte,UAAAwkO,SAAA,SAAAC,GACA,IAAAnkO,EAAAP,KAAAO,MACA6jO,EAAApkO,KAAA2kO,OAEAP,IACAA,EAAArC,EAAAnsE,WAAA,SACA4sE,EAAA4B,GACApkO,KAAA2kO,OAAAP,GAGAD,EAAAC,EAAA,OAAA7jO,EAAAP,MACAmkO,EAAAC,EAAA,SAAA7jO,EAAAP,MACA,IAAAutB,EAAAvtB,KAAA6G,UACA+9N,EAAA,MAAAr3M,EACAs3M,EAAAT,EAAArE,qBAAA,aAEA,GAAA8E,EAAA,CACA,IAAAp0N,EAAAlQ,EAAAkQ,UAKA,GAAAm0N,IAAArkO,EAAA27M,cAAA,CACA,IAAA/qK,EAAA5jB,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GACA9c,GAAAm0C,EAAAjtC,EAAAw5B,IAGA0zL,EAAA93K,OAAAt8C,EAAA,KAGA,IAAAg0D,EAAAzkE,KAAAykE,OAAAzkE,KAAAykE,KAAA,IAAAq9J,GAEA9hO,KAAA8kO,cACArgK,EAAAi5G,YACAj5G,EAAAsgK,kBAAA,EACA/kO,KAAAgf,UAAAylD,EAAAzkE,KAAA4H,OACA68D,EAAAugK,WACAhlO,KAAA8kO,aAAA,GAGAV,EAAA3/J,KAAA4/J,EAAA5/J,EAAAzkE,KAAA6G,WACAu9N,EAAA7jO,MAAA0kO,OAAAnC,EAAA9iO,KAAAm8G,OAAAn8G,KAAAm9B,EAAAn9B,KAAA0/B,IAEAmjM,EAAA6B,EAAAN,GAEA,MAAA7jO,EAAAS,KACAhB,KAAAgZ,aAAA0rN,EAAA1kO,KAAAuB,mBAEAvB,KAAAklO,eAAAR,IAIAnmN,EAAAte,UAAAklO,SAAA,SAAAT,GACAl4N,EAAAk4N,EAAA1kO,KAAA2kO,QACA3kO,KAAAklO,eAAAR,IAGAnmN,EAAAte,UAAAmlO,MAAA,SAAAV,GACA7B,EAAA6B,EAAA1kO,KAAA2kO,QACA3kO,KAAAqlO,eAAAX,IAOA,IAAAhsM,EAAA,SAAAgzC,GAEA,wBAAAA,KAAA+0J,SAAA,QAAA/0J,EAAA+0J,QAAA7gM,eAIA4+L,EAAAv+N,UAAAwkO,SAAA,SAAAC,GACA,IAGAY,EACAC,EAJAhlO,EAAAP,KAAAO,MACAuS,EAAAvS,EAAAuS,MAKA,GAAA4lB,EAAA5lB,GAAA,CACA,IAAAokB,EAAApkB,EAAAokB,IAEA,GAAAA,IAAAl3B,KAAAwlO,UACAF,EAAAtlO,KAAAylO,YACAF,EAAAvlO,KAAA0lO,iBACO,CACP,IAAAC,EAAA7yN,EAAA8yN,aACAC,EAAAF,EAAArjO,MACAwjO,EAAAH,EAAApjO,OACAojO,EAAArjO,MAAA,OACAqjO,EAAApjO,OAAA,OAEA+iO,EAAAxyN,EAAAxQ,MACAijO,EAAAzyN,EAAAvQ,OAEAojO,EAAArjO,MAAAujO,EACAF,EAAApjO,OAAAujO,EAEA9lO,KAAAwlO,UAAAtuM,EACAl3B,KAAAylO,YAAAH,EACAtlO,KAAA0lO,aAAAH,EAGAzyN,EAAAokB,OAEApkB,IAAA9S,KAAAwlO,YACAF,EAAAtlO,KAAAylO,YACAF,EAAAvlO,KAAA0lO,cAIA,GAAA5yN,EAAA,CAIA,IAAA9Q,EAAAzB,EAAAyB,GAAA,EACAC,EAAA1B,EAAA0B,GAAA,EACA8jO,EAAAxlO,EAAA+B,MACA0jO,EAAAzlO,EAAAgC,OACA0jO,EAAA1lO,EAAA2lO,OACA37F,EAAAhqI,EAAA4lO,QACAn1L,EAAAzwC,EAAAywC,IAAA,EACAC,EAAA1wC,EAAA0wC,IAAA,EACAm1L,EAAAH,GAAA17F,EACA65F,EAAApkO,KAAA2kO,OAEAP,IAGAA,EAAArC,EAAAsE,IAAAxwM,cAAA,OACA2sM,EAAA4B,GACApkO,KAAA2kO,OAAAP,GAGA,IAEA72M,EAFA+4M,EAAAlC,EAAA7jO,MACAgmO,GAAA,EAEAjxH,EAAA,EACAC,EAAA,EASA,GAPAv1G,KAAA6G,YACA0mB,EAAAvtB,KAAA6G,UACAyuG,EAAA1wD,EAAAr3B,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACAgoF,EAAA3wD,EAAAr3B,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACAg5M,EAAAh5M,EAAA,IAAAA,EAAA,IAGAg5M,EAAA,CAMA,IAAAlqN,EAAA,CAAAra,EAAAC,GACAqa,EAAA,CAAAta,EAAA+jO,EAAA9jO,GACAsa,EAAA,CAAAva,EAAAC,EAAA+jO,GACAj4K,EAAA,CAAA/rD,EAAA+jO,EAAA9jO,EAAA+jO,GACA3sN,EAAAgD,IAAAkR,GACAlU,EAAAiD,IAAAiR,GACAlU,EAAAkD,IAAAgR,GACAlU,EAAA00C,IAAAxgC,GACA,IAAA4oF,EAAA5b,EAAAl+E,EAAA,GAAAC,EAAA,GAAAC,EAAA,GAAAwxC,EAAA,IACAqoD,EAAA7b,EAAAl+E,EAAA,GAAAC,EAAA,GAAAC,EAAA,GAAAwxC,EAAA,IACAy4K,EAAA,GACAA,EAAA7zN,KAAA,OAAA4a,EAAA,GAAA+nF,EAAA4sH,EAAA,OAAA30M,EAAA,GAAAgoF,EAAA2sH,EAAA,OAAA30M,EAAA,GAAA+nF,EAAA4sH,EAAA,OAAA30M,EAAA,GAAAgoF,EAAA2sH,EAAA,MAAAhoN,EAAAlY,EAAAszG,EAAA/nF,EAAA,IAAA20M,EAAA,MAAAhoN,EAAAjY,EAAAszG,EAAAhoF,EAAA,KACA+4M,EAAAp1N,QAAA,KAAAgJ,EAAAi8F,GAAA,MAAAj8F,EAAAk8F,GAAA,OAEAkwH,EAAAz+K,OAAAs6K,EAAA,WAAAqE,EAAAx2N,KAAA,gCAEAud,IACAvrB,IAAAszG,EAAA/nF,EAAA,GACAtrB,IAAAszG,EAAAhoF,EAAA,IAGA+4M,EAAAz+K,OAAA,GACAy+K,EAAAh3L,KAAAp1B,EAAAlY,GAAA,KACAskO,EAAA72L,IAAAv1B,EAAAjY,GAAA,KAGA,IAAAwkO,EAAAzmO,KAAA0mO,SACAC,EAAA3mO,KAAA4mO,QAEAH,IACAA,EAAA1E,EAAAsE,IAAAxwM,cAAA,OACA71B,KAAA0mO,SAAAD,GAGA,IAAAI,EAAAJ,EAAAlmO,MAEA,GAAA6lO,EAAA,CAEA,GAAAd,GAAAC,EAmBAsB,EAAAvkO,MAAA4X,EAAAo7F,EAAAgwH,EAAAS,EAAAE,GAAA,KACAY,EAAAtkO,OAAA2X,EAAAq7F,EAAAgwH,EAAAS,EAAAz7F,GAAA,SApBA,CACA,IAAAu8F,EAAA,IAAAt1M,MACAkW,EAAA1nC,KAEA8mO,EAAA7vM,OAAA,WACA6vM,EAAA7vM,OAAA,KACAquM,EAAAwB,EAAAxkO,MACAijO,EAAAuB,EAAAvkO,OAEAskO,EAAAvkO,MAAA4X,EAAAo7F,EAAAgwH,EAAAS,EAAAE,GAAA,KACAY,EAAAtkO,OAAA2X,EAAAq7F,EAAAgwH,EAAAS,EAAAz7F,GAAA,KAEA7iG,EAAA+9L,YAAAH,EACA59L,EAAAg+L,aAAAH,EACA79L,EAAA89L,UAAA1yN,GAGAg0N,EAAA5vM,IAAApkB,EAMA6zN,IACAA,EAAA5E,EAAAsE,IAAAxwM,cAAA,OACA8wM,EAAApmO,MAAAwmO,SAAA,SACA/mO,KAAA4mO,QAAAD,GAGA,IAAAK,EAAAL,EAAApmO,MACAymO,EAAA1kO,MAAA4X,GAAA6rN,EAAA/0L,EAAA+0L,EAAAE,GAAA3wH,GACA0xH,EAAAzkO,OAAA2X,GAAA8rN,EAAA/0L,EAAA+0L,EAAAz7F,GAAAh1B,GACAyxH,EAAAn/K,OAAAs6K,EAAA,eAAAnxL,EAAA+0L,EAAAE,EAAA3wH,EAAA,QAAArkE,EAAA+0L,EAAAz7F,EAAAh1B,EAAA,IAEAoxH,EAAA7S,YACAsQ,EAAAhE,YAAAuG,GAGAF,EAAA3S,aAAA6S,GACAA,EAAAvG,YAAAqG,QAGAI,EAAAvkO,MAAA4X,EAAAo7F,EAAAywH,GAAA,KACAc,EAAAtkO,OAAA2X,EAAAq7F,EAAAywH,GAAA,KACA5B,EAAAhE,YAAAqG,GAEAE,KAAA7S,aACAsQ,EAAA9D,YAAAqG,GACA3mO,KAAA4mO,QAAA,MAIA,IAAAK,EAAA,GACA3tM,EAAA/4B,EAAAuzD,QAEAx6B,EAAA,IACA2tM,GAAA,kBAAA/sN,EAAA,IAAAof,GAAA,MAGA2tM,GAAA9E,EAAA,yBAAArvN,EAAA,wBACA+zN,EAAAh/K,OAAAo/K,EACA7C,EAAA7jO,MAAA0kO,OAAAnC,EAAA9iO,KAAAm8G,OAAAn8G,KAAAm9B,EAAAn9B,KAAA0/B,IAEAmjM,EAAA6B,EAAAN,GAEA,MAAA7jO,EAAAS,MACAhB,KAAAgZ,aAAA0rN,EAAA1kO,KAAAuB,qBAIAi9N,EAAAv+N,UAAAklO,SAAA,SAAAT,GACAl4N,EAAAk4N,EAAA1kO,KAAA2kO,QACA3kO,KAAA2kO,OAAA,KACA3kO,KAAA4mO,QAAA,KACA5mO,KAAA0mO,SAAA,KACA1mO,KAAAklO,eAAAR,IAGAlG,EAAAv+N,UAAAmlO,MAAA,SAAAV,GACA7B,EAAA6B,EAAA1kO,KAAA2kO,QACA3kO,KAAAqlO,eAAAX,IAOA,IAsCAwC,EAtCAC,EAAA,SACAC,EAAA,GACAC,EAAA,EACAC,EAAA,IACAC,EAAA38N,SAAAirB,cAAA,OAEA2xM,EAAA,SAAAC,GACA,IAAA7zN,EAAAwzN,EAAAK,GAEA,IAAA7zN,EAAA,CAEAyzN,EAAAC,IACAD,EAAA,EACAD,EAAA,IAGA,IACAzzN,EADApT,EAAAgnO,EAAAhnO,MAGA,IACAA,EAAAmB,KAAA+lO,EACA9zN,EAAApT,EAAAoT,WAAAlF,MAAA,QACO,MAAA0H,IAEPvC,EAAA,CACArT,QAAAqT,WAAAuzN,EACAO,QAAAnnO,EAAAonO,aAAAR,EACAp6K,OAAAxsD,EAAAsT,YAAAszN,EACAlsN,KAAA,EAAAswB,WAAAhrC,EAAAmT,UAAA,IACAk0N,OAAAj0N,GAAA,mBAEAyzN,EAAAK,GAAA7zN,EACAyzN,IAGA,OAAAzzN,GAKAnU,EAAA4O,UAAA,uBAAArN,EAAA8S,GACA,IAAAuyN,EAAAtE,EAAAsE,IAEAa,IACAA,EAAAb,EAAAxwM,cAAA,OACAqxM,EAAA3mO,MAAA4oH,QAAA,wFACA44G,EAAAsE,IAAAwB,KAAAzH,YAAA8G,IAGA,IACAA,EAAA3mO,MAAAmB,KAAAoS,EACK,MAAAg0N,IAML,OAHAZ,EAAA79G,UAAA,GAEA69G,EAAA9G,YAAAiG,EAAA0B,eAAA/mO,IACA,CACAsB,MAAA4kO,EAAAc,eAmMA,IAhMA,IAAAlvN,EAAA,IAAArL,EAEAuL,GAAA,SAAA0rN,EAAAjjO,EAAAwX,EAAAgvN,GACA,IAAA1nO,EAAAP,KAAAO,MAEAP,KAAAQ,SAAAd,EAAAe,mBAAAF,GAAA,GACA,IAAAS,EAAAT,EAAAS,KAIA,GAFA,MAAAA,OAAA,IAEAA,EAAA,CAMA,GAAAT,EAAAwB,KAAA,CACA,IAAA+M,EAAArP,EAAA4P,cAAArO,EAAAT,GACAS,EAAA,GAEA,QAAA+J,EAAA,EAAqBA,EAAA+D,EAAAqC,MAAA5N,OAA+BwH,IAAA,CAIpD,IAHA,IAAAiH,EAAAlD,EAAAqC,MAAApG,GAAAiH,OACAxB,EAAA,GAEAE,EAAA,EAAuBA,EAAAsB,EAAAzO,OAAmBmN,IAC1CF,EAAAmC,KAAAX,EAAAtB,GAAA1P,MAGAA,EAAA2R,KAAAnC,EAAAR,KAAA,KAGAhP,IAAAgP,KAAA,MAGA,IAAAhO,EACAC,EACAwhJ,EAAAljJ,EAAAoB,UACA4F,EAAAhH,EAAAqB,kBACAgS,EAAA4zN,EAAAjnO,EAAAmB,MAEAA,EAAAkS,EAAArT,MAAA,IAAAqT,EAAA8zN,QAAA,IAAA9zN,EAAAm5C,OAAA,IAAAn5C,EAAAqH,KAAA,OAAArH,EAAAg0N,OAAA,IACA3uN,KAAAxZ,EAAA8B,gBAAAP,EAAAU,EAAA+hJ,EAAAl8I,EAAAhH,EAAAsB,YAAAtB,EAAAuB,gBAEA,IAAAyrB,EAAAvtB,KAAA6G,UAQA,GANA0mB,IAAA06M,IACAnvN,EAAAM,KAAA3X,GACAqX,EAAAO,eAAAkU,GACA9rB,EAAAqX,GAGAmvN,EAiBAjmO,EAAAP,EAAAO,EACAC,EAAAR,EAAAQ,MAlBA,CACA,IAAAsN,EAAAhP,EAAAgP,aACAC,EAAAjP,EAAA2nO,aAEA,GAAA34N,aAAAiO,MACAxb,EAAAP,EAAAO,EAAA8/E,EAAAvyE,EAAA,GAAA9N,EAAAa,OACAL,EAAAR,EAAAQ,EAAA6/E,EAAAvyE,EAAA,GAAA9N,EAAAc,QACAkhJ,KAAA,WACO,CACP,IAAA1xE,EAAAtyE,EAAA6P,yBAAAC,EAAA9N,EAAA+N,GACAxN,EAAA+vE,EAAA/vE,EACAC,EAAA8vE,EAAA9vE,EAEAwhJ,KAAA1xE,EAAApwE,UACA4F,KAAAwqE,EAAAnwE,mBAOAI,EAAAvC,EAAAyP,YAAAlN,EAAAiX,EAAA3W,MAAAmhJ,GACAxhJ,EAAAxC,EAAA0P,YAAAlN,EAAAgX,EAAA1W,OAAAgF,GAEAtF,GAAAgX,EAAA1W,OAAA,EAoCA,IAEA4lO,EACAC,EACAC,EAJAzyE,EAAAmsE,EAAAnsE,WACA0yE,EAAAtoO,KAAAuoO,WAKAD,GAmBAD,EAAAC,EAAArI,WACAkI,EAAAE,EAAAG,YACAJ,EAAAD,EAAAK,cApBAF,EAAA1yE,EAAA,QACAuyE,EAAAvyE,EAAA,QACAwyE,EAAAxyE,EAAA,YACAyyE,EAAAzyE,EAAA,QAGAwyE,EAAA7nO,MAAA,uBACAiiO,EAAA8F,GACAH,EAAAM,YAAA,EACAL,EAAAxyN,IAAA,EACA0yN,EAAAjgL,KAAA,MACAigL,EAAA/b,GAAA,YACAsW,EAAAyF,EAAAD,GACAxF,EAAAyF,EAAAH,GACAtF,EAAAyF,EAAAF,GACApoO,KAAAuoO,WAAAD,GAQA,IAAAziI,EAAA,CAAA7jG,EAAAC,GACAymO,EAAAJ,EAAA/nO,MAEAgtB,GAAA06M,GACA5uN,EAAAwsF,IAAAt4E,GACA86M,EAAAzyN,IAAA,EACAyyN,EAAAz3K,OAAArjC,EAAA,GAAA+qF,QAAA,GAAA4pH,EAAA30M,EAAA,GAAA+qF,QAAA,GAAA4pH,EAAA30M,EAAA,GAAA+qF,QAAA,GAAA4pH,EAAA30M,EAAA,GAAA+qF,QAAA,UAEA+vH,EAAAtiL,QAAA7rC,EAAA2rF,EAAA,aAAA3rF,EAAA2rF,EAAA,QAEAwiI,EAAA/zI,OAAA,MACAo0I,EAAAp5L,KAAA,MACAo5L,EAAAj5L,IAAA,QAEA44L,EAAAzyN,IAAA,EACA8yN,EAAAp5L,KAAAp1B,EAAAlY,GAAA,KACA0mO,EAAAj5L,IAAAv1B,EAAAjY,GAAA,MAGAmmO,EAAA5qG,OAAAmlG,EAAA3hO,GAEA,IACAonO,EAAA7nO,MAAAmB,OAEA,MAAAyU,IAEAguN,EAAAmE,EAAA,QACA5nO,KAAAH,EAAAupG,SACAh2C,QAAAvzD,EAAAuzD,SACK9zD,MACLmkO,EAAAmE,EAAA,UACA3nO,OAAAJ,EAAA4B,WACA2xD,QAAAvzD,EAAAuzD,QACAmwK,SAAA1jO,EAAA0jO,UACKjkO,MACLsoO,EAAA/nO,MAAA0kO,OAAAnC,EAAA9iO,KAAAm8G,OAAAn8G,KAAAm9B,EAAAn9B,KAAA0/B,IAEAmjM,EAAA6B,EAAA4D,KAGApD,GAAA,SAAAR,GACAl4N,EAAAk4N,EAAA1kO,KAAAuoO,YACAvoO,KAAAuoO,WAAA,MAGAlD,GAAA,SAAAX,GACA7B,EAAA6B,EAAA1kO,KAAAuoO,aAGAp7N,GAAA,CAAA4L,EAAAxZ,EAAAi/N,EAAAjgN,EAAA1e,GAEAkL,GAAA,EAAiBA,GAAAoC,GAAA5J,OAAiBwH,KAAA,CAClC,IAAAo0B,GAAAhyB,GAAApC,IAAA9K,UACAk/B,GAAAnmB,gBACAmmB,GAAA+lM,kBACA/lM,GAAAkmM,kBAGAxlO,EAAAI,UAAAwkO,SAAA,SAAAC,GACA,IAAAnkO,EAAAP,KAAAO,MAEA,MAAAA,EAAAS,KACAhB,KAAAgZ,aAAA0rN,EAAA,CACA1iO,EAAAzB,EAAAyB,GAAA,EACAC,EAAA1B,EAAA0B,GAAA,EACAK,MAAA,EACAC,OAAA,GACOvC,KAAAuB,mBAAA,GAEPvB,KAAAklO,eAAAR,IAIA7kO,EAAAI,UAAAklO,SAAA,SAAAT,GACA1kO,KAAAklO,eAAAR,IAGA7kO,EAAAI,UAAAmlO,MAAA,SAAAV,GACA1kO,KAAAqlO,eAAAX,2BC/9BA,IAAAnwH,EAAc11G,EAAQ,QAEtB8D,EAAA4xG,UAEA,IAAA3jD,EAAa/xD,EAAQ,QAErB8D,EAAAiuD,SAEA,IAAA+3K,EAAa9pO,EAAQ,QAErB8D,EAAAgmO,SAEA,IAAAnpO,EAAaX,EAAQ,QAErBgjO,EAAgBhjO,EAAQ,QAExB8D,EAAAmkB,MAAA+6M,EAEA,IAAAnyB,EAAkB7wM,EAAQ,QAE1B2nJ,EAAiB3nJ,EAAQ,QAEzB8D,EAAAq8I,OAAAwH,EAEA,IAAA72E,EAAiB9wE,EAAQ,QAEzB8D,EAAA0+B,OAAAsuC,EAEA,IAAAi5J,EAAgB/pO,EAAQ,QAExB+pO,EAAAC,SACAlmO,EAAAkmO,SAAAD,EAAAC,SAEA,IAAAC,EAAejqO,EAAQ,QAEvB8D,EAAA2kF,OAAAwhJ,EAEA,IAAA1oH,EAAmBvhH,EAAQ,QAE3B8D,EAAAy9G,eAEA,IAAA2oH,EAAYlqO,EAAQ,QAEpB8D,EAAAylF,KAAA2gJ,EAEA,IAAAC,EAAanqO,EAAQ,QAErB8D,EAAA+/I,MAAAsmF,EAEA,IAAAC,EAAYpqO,EAAQ,QAEpB8D,EAAAm8G,KAAAmqH,EAEA,IAAAC,EAAWrqO,EAAQ,QAEnB8D,EAAA2e,IAAA4nN,EAwBA,IAAA7oH,EAAAD,EACA+oH,EAAA,GACA3pO,EAAA2nB,KAAA,wKAAA7Y,GACA66N,EAAA76N,GAAA9O,EAAA8O,KAEA,IAAApK,EAAA,GACA1E,EAAA2nB,KAAA,mbAAA7Y,GACApK,EAAAoK,GAAAohM,EAAAphM,KAEA3L,EAAA09G,eACA19G,EAAAivB,KAAAu3M,EACAxmO,EAAAuB,gCC1FA,IAAA1E,EAAaX,EAAQ,QAErBigH,EAAWjgH,EAAQ,QAoBnB,SAAAuqO,EAAArxN,EAAA69M,GACA92G,EAAA/+G,KAAAC,KAAA,SAAA+X,EAAA69M,GAUA51N,KAAAG,KAAA,WAGAipO,EAAAnpO,UAAA,CACAC,YAAAkpO,EAKA/nH,YAAA,SAAAx3C,EAAAzqC,GACA,OAAAp/B,KAAA8wM,MAAAzvF,YAAAx3C,EAAAzqC,GAAA,WAAAp/B,KAAAsb,IAAA,MAEA+tN,aAAAvqH,EAAA7+G,UAAAmhH,YACAkoH,aAAAxqH,EAAA7+G,UAAAylJ,aAEAlmJ,EAAAgD,SAAA4mO,EAAAtqH,GACA,IAAAr8G,EAAA2mO,EACA1mO,EAAAC,QAAAF,0BClDA,IAAA8mO,EAAe1qO,EAAQ,SAEvB,WACA,QAAAoM,KAAAs+N,EAAA,CACA,SAAAA,MAAAr+N,eAAAD,IAAA,YAAAA,GAAA,eAAAA,EAAA,OACAtI,EAAAsI,GAAAs+N,EAAAt+N,KAHA,GAOA,IAAAu+N,EAAc3qO,EAAQ,SAEtB,WACA,QAAAoM,KAAAu+N,EAAA,CACA,SAAAA,MAAAt+N,eAAAD,IAAA,YAAAA,GAAA,eAAAA,EAAA,OACAtI,EAAAsI,GAAAu+N,EAAAv+N,KAHA,GAOApM,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,gCCxGR,IAAAW,EAAaX,EAAQ,QA+BrB,SAAAoH,EAAAwjO,EAAA5kO,EAAAuQ,GACAA,KAAA,GACA,IAAAs0N,EAAAD,EAAAvkO,iBACAF,EAAAH,EAAAG,KACAiB,EAAA,GACA0jO,EAAA3kO,EAAA4kO,kBAAA,GACAC,EAAA7kO,EAAAsB,SACAwjO,EAAAH,EAAA,SAAAE,EACArzF,EAAAxxI,EAAAsW,IACA7Z,EAAAioO,EAAAvhO,UACA4hO,EAAA,CAAAtoO,EAAAO,EAAAP,EAAAO,EAAAP,EAAAa,MAAAb,EAAAQ,EAAAR,EAAAQ,EAAAR,EAAAc,QACAob,EAAA,CACA2xB,KAAA,EACAC,MAAA,EACAE,IAAA,EACAD,OAAA,EACAw6L,OAAA,GAEAC,EAAAplO,EAAAY,IAAA,aACAykO,EAAA,MAAA1zF,EAAA,CAAAuzF,EAAA,GAAAE,EAAAF,EAAA,GAAAE,GAAA,CAAAF,EAAA,GAAAE,EAAAF,EAAA,GAAAE,GAEA,GAAAN,EAAA,CACA,IAAAQ,EAAAR,EAAAS,cAAAT,EAAAvoH,YAAA,IACA8oH,EAAAvsN,EAAAqsN,QAAAtjO,KAAAS,IAAAT,KAAAQ,IAAAijO,EAAAD,EAAA,IAAAA,EAAA,IAIAjkO,EAAAK,SAAA,OAAAkwI,EAAA0zF,EAAAvsN,EAAAmsN,IAAAC,EAAA,SAAAvzF,EAAA0zF,EAAAvsN,EAAAmsN,IAAAC,EAAA,IAEA9jO,EAAAO,SAAAE,KAAAC,GAAA,SAAA6vI,EAAA,KAEA,IAAA6zF,EAAA,CACA56L,KAAA,EACAD,OAAA,EACAF,MAAA,EACAC,MAAA,GAEAtpC,EAAAQ,eAAAR,EAAAywN,cAAAzwN,EAAA0wN,cAAA0T,EAAAR,GACA5jO,EAAAqkO,YAAAX,EAAAO,EAAAvsN,EAAAksN,IAAAK,EAAAvsN,EAAAqsN,QAAA,EAEAnlO,EAAAY,IAAA,qBACAQ,EAAAywN,eAAAzwN,EAAAywN,eAGAl3N,EAAAq9B,SAAAznB,EAAAhP,YAAAvB,EAAAY,IAAA,uBACAQ,EAAAQ,gBAAAR,EAAAQ,gBAIA,IAAAmwN,EAAA/xN,EAAAY,IAAA,oBAIA,OAHAQ,EAAA2wN,YAAA,QAAAkT,GAAAlT,IAEA3wN,EAAAy5B,GAAA,EACAz5B,EAGAtD,EAAAsD,+BCvFA,IAAAzG,EAAaX,EAAQ,QAErBigH,EAAWjgH,EAAQ,QAoBnB,SAAA65N,EAAAp9M,EAAAvD,EAAA69M,GACA92G,EAAA/+G,KAAAC,KAAAsb,EAAAvD,EAAA69M,GAUA51N,KAAAG,KAAA,QACAH,KAAAimD,MAAA,EAMAjmD,KAAAsO,KAAA,GAKAtO,KAAA2jB,MAGAnkB,EAAAgD,SAAAk2N,EAAA55G,GACA,IAAAr8G,EAAAi2N,EACAh2N,EAAAC,QAAAF,0BCtEA,IAAAmI,EAAe/L,EAAQ,QAAW+L,SAClClI,EAAAC,QAAAiI,KAAA2/N,wCCDA,IAAA/8F,EAAW3uI,EAAQ,QAEnBioB,EAAYjoB,EAAQ,QAEpB8O,EAAY9O,EAAQ,QAEpBwqD,EAAA17C,EAAA07C,YAKAokF,EAAAjwH,MAAAvd,UAAAi/B,MAEA,SAAAwuG,EAAAr3H,EAAApL,GACA,OAAAoL,EAAApL,GAGA,SAAA0iI,EAAAt3H,EAAApL,EAAAhH,GACAoS,EAAApL,GAAAhH,EAUA,SAAA2pI,EAAAvxH,EAAAC,EAAA67F,GACA,OAAA77F,EAAAD,GAAA87F,EAAA97F,EAUA,SAAAwxH,EAAAxxH,EAAAC,EAAA67F,GACA,OAAAA,EAAA,GAAA77F,EAAAD,EAWA,SAAAyxH,EAAAzxH,EAAAC,EAAA67F,EAAA94E,EAAA0uG,GACA,IAAAthI,EAAA4P,EAAA9Y,OAEA,OAAAwqI,EACA,QAAAhjI,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5Bs0B,EAAAt0B,GAAA6iI,EAAAvxH,EAAAtR,GAAAuR,EAAAvR,GAAAotG,OAGA,KAAA61B,EAAAvhI,GAAA4P,EAAA,GAAA9Y,OAEA,IAAAwH,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5B,QAAA2F,EAAA,EAAqBA,EAAAs9H,EAAUt9H,IAC/B2uB,EAAAt0B,GAAA2F,GAAAk9H,EAAAvxH,EAAAtR,GAAA2F,GAAA4L,EAAAvR,GAAA2F,GAAAynG,IAQA,SAAA81B,EAAAC,EAAAC,EAAAJ,GACA,IAAAK,EAAAF,EAAA3qI,OACA8qI,EAAAF,EAAA5qI,OAEA,GAAA6qI,IAAAC,EAAA,CAEA,IAAAC,EAAAF,EAAAC,EAEA,GAAAC,EAEAJ,EAAA3qI,OAAA8qI,OAGA,QAAAtjI,EAAAqjI,EAA2BrjI,EAAAsjI,EAAatjI,IACxCmjI,EAAAv7H,KAAA,IAAAo7H,EAAAI,EAAApjI,GAAA0iI,EAAA1tI,KAAAouI,EAAApjI,KAMA,IAAAijI,EAAAE,EAAA,IAAAA,EAAA,GAAA3qI,OAEA,IAAAwH,EAAA,EAAiBA,EAAAmjI,EAAA3qI,OAAiBwH,IAClC,OAAAgjI,EACAn0H,MAAAs0H,EAAAnjI,MACAmjI,EAAAnjI,GAAAojI,EAAApjI,SAGA,QAAA2F,EAAA,EAAqBA,EAAAs9H,EAAUt9H,IAC/BkJ,MAAAs0H,EAAAnjI,GAAA2F,MACAw9H,EAAAnjI,GAAA2F,GAAAy9H,EAAApjI,GAAA2F,IAcA,SAAA69H,EAAAL,EAAAC,EAAAJ,GACA,GAAAG,IAAAC,EACA,SAGA,IAAA1hI,EAAAyhI,EAAA3qI,OAEA,GAAAkJ,IAAA0hI,EAAA5qI,OACA,SAGA,OAAAwqI,GACA,QAAAhjI,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5B,GAAAmjI,EAAAnjI,KAAAojI,EAAApjI,GACA,aAIA,KAAAijI,EAAAE,EAAA,GAAA3qI,OAEA,IAAAwH,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5B,QAAA2F,EAAA,EAAqBA,EAAAs9H,EAAUt9H,IAC/B,GAAAw9H,EAAAnjI,GAAA2F,KAAAy9H,EAAApjI,GAAA2F,GACA,SAMA,SAgBA,SAAA89H,EAAAnyH,EAAAC,EAAAC,EAAAwxC,EAAA3xC,EAAA8zC,EAAAu+E,EAAApvG,EAAA0uG,GACA,IAAAthI,EAAA4P,EAAA9Y,OAEA,OAAAwqI,EACA,QAAAhjI,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5Bs0B,EAAAt0B,GAAA2jI,EAAAryH,EAAAtR,GAAAuR,EAAAvR,GAAAwR,EAAAxR,GAAAgjD,EAAAhjD,GAAAqR,EAAA8zC,EAAAu+E,OAGA,KAAAT,EAAA3xH,EAAA,GAAA9Y,OAEA,IAAAwH,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5B,QAAA2F,EAAA,EAAqBA,EAAAs9H,EAAUt9H,IAC/B2uB,EAAAt0B,GAAA2F,GAAAg+H,EAAAryH,EAAAtR,GAAA2F,GAAA4L,EAAAvR,GAAA2F,GAAA6L,EAAAxR,GAAA2F,GAAAq9C,EAAAhjD,GAAA2F,GAAA0L,EAAA8zC,EAAAu+E,IAkBA,SAAAC,EAAAryH,EAAAC,EAAAC,EAAAwxC,EAAA3xC,EAAA8zC,EAAAu+E,GACA,IAAAx7B,EAAA,IAAA12F,EAAAF,GACAZ,EAAA,IAAAsyC,EAAAzxC,GACA,UAAAA,EAAAC,GAAA02F,EAAAx3F,GAAAgzH,IAAA,GAAAnyH,EAAAC,GAAA,EAAA02F,EAAAx3F,GAAAy0C,EAAA+iD,EAAA72F,EAAAE,EAGA,SAAAqyH,EAAA1qI,GACA,GAAAolD,EAAAplD,GAAA,CACA,IAAAwI,EAAAxI,EAAAV,OAEA,GAAA8lD,EAAAplD,EAAA,KAGA,IAFA,IAAAkhE,EAAA,GAEAp6D,EAAA,EAAqBA,EAAA0B,EAAS1B,IAC9Bo6D,EAAAxyD,KAAA86H,EAAA1tI,KAAAkE,EAAA8G,KAGA,OAAAo6D,EAGA,OAAAsoE,EAAA1tI,KAAAkE,GAGA,OAAAA,EAGA,SAAA2qI,EAAAz1G,GAIA,OAHAA,EAAA,GAAAzyB,KAAAmK,MAAAsoB,EAAA,IACAA,EAAA,GAAAzyB,KAAAmK,MAAAsoB,EAAA,IACAA,EAAA,GAAAzyB,KAAAmK,MAAAsoB,EAAA,IACA,QAAAA,EAAAnpB,KAAA,SAGA,SAAA6+H,EAAAC,GACA,IAAAC,EAAAD,IAAAvrI,OAAA,GAAAU,MACA,OAAAolD,EAAA0lF,KAAA,QAGA,SAAAC,EAAAttD,EAAA3lD,EAAAkzG,EAAAH,EAAA/pE,EAAAmqE,GACA,IAAA1hH,EAAAk0D,EAAAytD,QACAC,EAAA1tD,EAAA2tD,QACAC,EAAA,WAAAvzG,EACAwzG,EAAAT,EAAAvrI,OAEA,GAAAgsI,EAAA,CAKA,IAMAC,EANAC,EAAAX,EAAA,GAAA7qI,MACAyrI,EAAArmF,EAAAomF,GACAE,GAAA,EACAC,GAAA,EAEA7B,EAAA2B,EAAAb,EAAAC,GAAA,EAGAA,EAAA74G,KAAA,SAAA1tB,EAAAC,GACA,OAAAD,EAAAwvB,KAAAvvB,EAAAuvB,OAEAy3G,EAAAV,EAAAS,EAAA,GAAAx3G,KAQA,IANA,IAAA83G,EAAA,GAEAC,EAAA,GACAC,EAAAjB,EAAA,GAAA7qI,MACA+rI,GAAA,EAEAjlI,EAAA,EAAiBA,EAAAwkI,EAAcxkI,IAAA,CAC/B8kI,EAAAl9H,KAAAm8H,EAAA/jI,GAAAgtB,KAAAy3G,GAEA,IAAAvrI,EAAA6qI,EAAA/jI,GAAA9G,MAQA,GANAyrI,GAAAnB,EAAAtqI,EAAA8rI,EAAAhC,KAAA2B,GAAAzrI,IAAA8rI,IACAC,GAAA,GAGAD,EAAA9rI,EAEA,kBAAAA,EAAA,CACA,IAAAgsI,EAAAnpH,EAAAsS,MAAAn1B,GAEAgsI,GACAhsI,EAAAgsI,EACAN,GAAA,GAEAC,GAAA,EAIAE,EAAAn9H,KAAA1O,GAGA,GAAAirI,IAAAc,EAAA,CAIA,IAAAjB,EAAAe,EAAAP,EAAA,GAEA,IAAAxkI,EAAA,EAAiBA,EAAAwkI,EAAA,EAAkBxkI,IACnC2kI,EACAzB,EAAA6B,EAAA/kI,GAAAgkI,EAAAhB,IAEAn0H,MAAAk2H,EAAA/kI,KAAA6O,MAAAm1H,IAAAa,GAAAD,IACAG,EAAA/kI,GAAAgkI,GAKAW,GAAAzB,EAAAzgH,EAAAk0D,EAAAwuD,QAAAnrE,GAAAgqE,EAAAhB,GAGA,IAEA3hH,EACA/pB,EACAga,EACAC,EACAC,EACAwxC,EAPAoiF,EAAA,EACAC,EAAA,EAQA,GAAAT,EACA,IAAAx2G,EAAA,UAGA,IAAAk3G,EAAA,SAAAh6H,EAAA8hG,GAIA,IAAA1+F,EAEA,GAAA0+F,EAAA,EACA1+F,EAAA,OACK,GAAA0+F,EAAAi4B,EAAA,CAKL,IAFAhkH,EAAA1lB,KAAAQ,IAAAipI,EAAA,EAAAZ,EAAA,GAEA91H,EAAA2S,EAAyB3S,GAAA,EAAYA,IACrC,GAAAo2H,EAAAp2H,IAAA0+F,EACA,MAKA1+F,EAAA/S,KAAAQ,IAAAuS,EAAA81H,EAAA,OACK,CACL,IAAA91H,EAAA02H,EAA6B12H,EAAA81H,EAAkB91H,IAC/C,GAAAo2H,EAAAp2H,GAAA0+F,EACA,MAIA1+F,EAAA/S,KAAAQ,IAAAuS,EAAA,EAAA81H,EAAA,GAGAY,EAAA12H,EACA22H,EAAAj4B,EACA,IAAAH,EAAA63B,EAAAp2H,EAAA,GAAAo2H,EAAAp2H,GAEA,OAAAu+F,EAMA,GAHA31G,GAAA81G,EAAA03B,EAAAp2H,IAAAu+F,EAGAs3B,EAMA,GALAhzH,EAAAwzH,EAAAr2H,GACA4C,EAAAyzH,EAAA,IAAAr2H,MAAA,GACA8C,EAAAuzH,EAAAr2H,EAAA81H,EAAA,EAAAA,EAAA,EAAA91H,EAAA,GACAs0C,EAAA+hF,EAAAr2H,EAAA81H,EAAA,EAAAA,EAAA,EAAA91H,EAAA,GAEAi2H,EACAlB,EAAAnyH,EAAAC,EAAAC,EAAAwxC,EAAA1rD,YAAAmrB,EAAAnX,EAAA0uD,GAAAgpE,OACO,CAGP,GAAA4B,EACA1rI,EAAAuqI,EAAAnyH,EAAAC,EAAAC,EAAAwxC,EAAA1rD,YAAA82B,EAAA,GACAl1B,EAAA2qI,EAAAz1G,OACS,IAAAy2G,EAET,OAAA/B,EAAAvxH,EAAAC,EAAAla,GAEA4B,EAAAyqI,EAAAryH,EAAAC,EAAAC,EAAAwxC,EAAA1rD,aAGA+sI,EAAA/4H,EAAA0uD,EAAA9gE,QAGA,GAAAyrI,EACA5B,EAAAgC,EAAAr2H,GAAAq2H,EAAAr2H,EAAA,GAAApX,EAAAmrB,EAAAnX,EAAA0uD,GAAAgpE,OACO,CACP,IAAA9pI,EAEA,GAAA0rI,EACA7B,EAAAgC,EAAAr2H,GAAAq2H,EAAAr2H,EAAA,GAAApX,EAAA82B,EAAA,GACAl1B,EAAA2qI,EAAAz1G,OACS,IAAAy2G,EAET,OAAA/B,EAAAiC,EAAAr2H,GAAAq2H,EAAAr2H,EAAA,GAAApX,GAEA4B,EAAA2pI,EAAAkC,EAAAr2H,GAAAq2H,EAAAr2H,EAAA,GAAApX,GAGA+sI,EAAA/4H,EAAA0uD,EAAA9gE,KAKAqsI,EAAA,IAAA9C,EAAA,CACAn3H,OAAAqrE,EAAAwuD,QACAK,KAAAf,EACAgB,KAAA9uD,EAAA+uD,MACAC,MAAAhvD,EAAAivD,OACAN,UACAO,UAAA3B,IAOA,OAJAlzG,GAAA,WAAAA,IACAu0G,EAAAv0G,UAGAu0G,IAYA,IAAAO,EAAA,SAAAx6H,EAAAm6H,EAAAhjH,EAAA4hH,GACApvI,KAAA8wI,QAAA,GACA9wI,KAAAkwI,QAAA75H,EACArW,KAAAywI,MAAAD,IAAA,EACAxwI,KAAAmvI,QAAA3hH,GAAAkgH,EACA1tI,KAAAqvI,QAAAD,GAAAzB,EACA3tI,KAAA+wI,WAAA,EACA/wI,KAAA2wI,OAAA,EACA3wI,KAAAgxI,UAAA,GACAhxI,KAAAixI,aAAA,GACAjxI,KAAAkxI,UAAA,IAGAL,EAAA5wI,UAAA,CAOAu8B,KAAA,SAAAzE,EAEAlT,GACA,IAAAssH,EAAAnxI,KAAA8wI,QAEA,QAAA/rE,KAAAlgD,EACA,GAAAA,EAAA3Z,eAAA65D,GAAA,CAIA,IAAAosE,EAAApsE,GAAA,CACAosE,EAAApsE,GAAA,GAEA,IAAA9gE,EAAAjE,KAAAmvI,QAAAnvI,KAAAkwI,QAAAnrE,GAEA,SAAA9gE,EAEA,SAOA,IAAA8zB,GACAo5G,EAAApsE,GAAApyD,KAAA,CACAolB,KAAA,EACA9zB,MAAA0qI,EAAA1qI,KAKAktI,EAAApsE,GAAApyD,KAAA,CACAolB,OACA9zB,MAAA4gB,EAAAkgD,KAIA,OAAA/kE,MAQAy8B,OAAA,SAAA41C,GAGA,OAFAryE,KAAAixI,aAAAt+H,KAAA0/D,GAEAryE,MAEAoxI,MAAA,WACA,QAAArmI,EAAA,EAAmBA,EAAA/K,KAAAkxI,UAAA3tI,OAA2BwH,IAC9C/K,KAAAkxI,UAAAnmI,GAAAqmI,QAGApxI,KAAAqxI,SAAA,GAEAC,OAAA,WACA,QAAAvmI,EAAA,EAAmBA,EAAA/K,KAAAkxI,UAAA3tI,OAA2BwH,IAC9C/K,KAAAkxI,UAAAnmI,GAAAumI,SAGAtxI,KAAAqxI,SAAA,GAEAE,SAAA,WACA,QAAAvxI,KAAAqxI,SAEAG,cAAA,WAEAxxI,KAAA8wI,QAAA,GAEA9wI,KAAAkxI,UAAA3tI,OAAA,EAIA,IAHA,IAAAkuI,EAAAzxI,KAAAgxI,UACAvkI,EAAAglI,EAAAluI,OAEAwH,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5B0mI,EAAA1mI,GAAAhL,KAAAC,OAWAosB,MAAA,SAAA2P,EAAAmzG,GACA,IAWAwC,EAXAhqG,EAAA1nC,KACA2xI,EAAA,EAEA1C,EAAA,WACA0C,IAEAA,GACAjqG,EAAA8pG,iBAMA,QAAAzsE,KAAA/kE,KAAA8wI,QACA,GAAA9wI,KAAA8wI,QAAA5lI,eAAA65D,GAAA,CAIA,IAAAurE,EAAAtB,EAAAhvI,KAAA+7B,EAAAkzG,EAAAjvI,KAAA8wI,QAAA/rE,KAAAmqE,GAEAoB,IACAtwI,KAAAkxI,UAAAv+H,KAAA29H,GAEAqB,IAEA3xI,KAAA09E,WACA19E,KAAA09E,UAAAk0D,QAAAtB,GAGAoB,EAAApB,GAKA,GAAAoB,EAAA,CACA,IAAAG,EAAAH,EAAArB,QAEAqB,EAAArB,QAAA,SAAAh6H,EAAA8hG,GACA05B,EAAAx7H,EAAA8hG,GAEA,QAAAptG,EAAA,EAAuBA,EAAA28B,EAAAupG,aAAA1tI,OAA8BwH,IACrD28B,EAAAupG,aAAAlmI,GAAAsL,EAAA8hG,IAYA,OAJAw5B,GACA3xI,KAAAwxI,gBAGAxxI,MAOAkX,KAAA,SAAAo2H,GAIA,IAHA,IAAAwE,EAAA9xI,KAAAkxI,UACAxzD,EAAA19E,KAAA09E,UAEA3yE,EAAA,EAAmBA,EAAA+mI,EAAAvuI,OAAqBwH,IAAA,CACxC,IAAAulI,EAAAwB,EAAA/mI,GAEAuiI,GAEAgD,EAAAD,QAAArwI,KAAAkwI,QAAA,GAGAxyD,KAAAq0D,WAAAzB,GAGAwB,EAAAvuI,OAAA,GAQAmtI,MAAA,SAAA34G,GAEA,OADA/3B,KAAA2wI,OAAA54G,EACA/3B,MAQAgE,KAAA,SAAA+xB,GAKA,OAJAA,GACA/1B,KAAAgxI,UAAAr+H,KAAAojB,GAGA/1B,MAMAgyI,SAAA,WACA,OAAAhyI,KAAAkxI,YAGA,IAAAzuI,EAAAouI,EACAnuI,EAAAC,QAAAF,0BC/mBA,IAAAjD,EAAaX,EAAQ,QAErB2nJ,EAAiB3nJ,EAAQ,QAyBzB,SAAA4D,EAAA8X,EAAAxV,GACAwV,EAAA+kG,iBAAA,sBAAAhlG,GACA,IAAA/O,EAAA+O,EAAAE,UACAiyL,EAAAnyL,EAAApV,iBACAc,EAAA,GAEAvE,EAAAgrM,EAAAtkM,UACAnC,EAAAvE,OACA,IAAAw2I,EAAA39H,EAAA7U,IAAA,eACAT,EAAAynM,EAAAxwD,UAGA,GAFAj2I,EAAAiyI,cAEA,eAAAjzI,EAAAk9E,OAAA,CACA+1D,EAAA,GAAAuO,EAAA1kE,aAAAm2D,EAAA,GAAAx2I,EAAAc,QACA01I,EAAA,GAAAuO,EAAA1kE,aAAAm2D,EAAA,GAAAx2I,EAAAc,QACA,IAAAA,EAAAd,EAAAc,OAAA01I,EAAA,GAAAA,EAAA,GACAuyF,EAAAj/N,EAAA+O,EAAA/X,OACK,CACL01I,EAAA,GAAAuO,EAAA1kE,aAAAm2D,EAAA,GAAAx2I,EAAAa,OACA21I,EAAA,GAAAuO,EAAA1kE,aAAAm2D,EAAA,GAAAx2I,EAAAa,OACA,IAAAA,EAAAb,EAAAa,MAAA21I,EAAA,GAAAA,EAAA,GACAuyF,EAAAj/N,EAAA+O,EAAAhY,GAGAiJ,EAAAmoK,UAAA,aAAA1tK,KAYA,SAAAwkO,EAAAj/N,EAAA+O,EAAA/X,GACA,GAAAgJ,EAAAoO,QAyBA,IArBA,IAmBA8wN,EAnBAxlO,EAAAqV,EAAApV,iBAEAwlO,EAAApwN,EAAAqwN,iBAEAC,EAAAr/N,EAAA8P,aAAA,UACA83J,EAAA5nK,EAAA8P,aAAA,SACAwvN,EAAArrO,EAAA4N,IAAAs9N,EAAA,SAAAI,GACA,OAAAtrO,EAAA4N,IAAA09N,EAAAr9K,QAAA,SAAA9vC,GACA,IAAAklG,EAAA59G,EAAAM,YAAAgG,EAAA9F,IAAAmlO,EAAAjtN,IAEA,OADAklG,EAAA,GAAAt3G,EAAA9F,IAAA0tK,EAAAx1J,GACAklG,MAGA37B,EAAA6jJ,EAAAF,GACAG,EAAA9jJ,EAAArrB,GACAovK,EAAA1oO,EAAA2kF,EAAA//E,IAEA0mB,EAAA68M,EAAAnnO,OACAgqB,EAAAm9M,EAAA,GAAAj9K,QAAAlqD,OAGAmN,EAAA,EAAiBA,EAAA6c,IAAO7c,EAAA,CACxB+5N,EAAAO,EAAAt6N,GAAAu6N,EACA1/N,EAAAkoK,cAAAi3D,EAAA,GAAAj9K,QAAA/8C,GAAA,CACAw6N,WAAA,EACAlpO,EAAA6oO,EAAA,GAAAn6N,GAAA,GACAmrD,GAAA4uK,EACAxoO,EAAA4oO,EAAA,GAAAn6N,GAAA,GAAAu6N,IAGA,QAAAlgO,EAAA,EAAmBA,EAAA8iB,IAAO9iB,EAC1B0/N,GAAAI,EAAA9/N,EAAA,GAAA2F,GAAA,GAAAu6N,EACA1/N,EAAAkoK,cAAAi3D,EAAA3/N,GAAA0iD,QAAA/8C,GAAA,CACAw6N,WAAAngO,EACA/I,EAAA6oO,EAAA9/N,GAAA2F,GAAA,GACAmrD,GAAA4uK,EACAxoO,EAAA4oO,EAAA9/N,GAAA2F,GAAA,GAAAu6N,KAcA,SAAAF,EAAAx/N,GASA,IARA,IAAA4/N,EAAA5/N,EAAAhI,OACA6nO,EAAA7/N,EAAA,GAAAhI,OACA8nO,EAAA,GACAxvK,EAAA,GACA10D,EAAA,EAEA+/E,EAAA,GAEAn8E,EAAA,EAAiBA,EAAAqgO,IAAcrgO,EAAA,CAC/B,QAAA2F,EAAA,EAAA46N,EAAA,EAA6B56N,EAAAy6N,IAAcz6N,EAC3C46N,GAAA//N,EAAAmF,GAAA3F,GAAA,GAGAugO,EAAAnkO,IACAA,EAAAmkO,GAGAD,EAAA14N,KAAA24N,GAGA,QAAA5qN,EAAA,EAAiBA,EAAA0qN,IAAc1qN,EAC/Bm7C,EAAAn7C,IAAAvZ,EAAAkkO,EAAA3qN,IAAA,EAGAvZ,EAAA,EAEA,QAAA6D,EAAA,EAAiBA,EAAAogO,IAAcpgO,EAAA,CAC/B,IAAA0O,EAAA2xN,EAAArgO,GAAA6wD,EAAA7wD,GAEA0O,EAAAvS,IACAA,EAAAuS,GAMA,OAFAwtE,EAAArrB,KACAqrB,EAAA//E,MACA+/E,EAGAxkF,EAAAC,QAAAF,sBC5IA,IAAA8oO,EAAA,oIACA9oO,EAAA,CACAqkB,MAAAykN,EACAC,WAAA,2LAAAD,IAEA7oO,EAAAC,QAAAF,0BC3CA5D,EAAQ,QAER,IAAA4sO,EAAe5sO,EAAQ,QAEvB6sO,EAAAD,EAAAC,gBAEAC,EAAc9sO,EAAQ,QAEtB6sO,EAAA,MAAAC,2BCRA,IAAA1N,EAAap/N,EAAQ,QAGrB+sO,EAAA7iO,OAAA9I,UAGAiL,EAAA0gO,EAAA1gO,eAOA2gO,EAAAD,EAAA9iO,SAGAgjO,EAAA7N,IAAA8N,iBAAAzjO,EASA,SAAA0jO,EAAA/nO,GACA,IAAAgoO,EAAA/gO,EAAAnL,KAAAkE,EAAA6nO,GACAI,EAAAjoO,EAAA6nO,GAEA,IACA7nO,EAAA6nO,QAAAxjO,EACA,IAAA6jO,GAAA,EACG,MAAAh2N,IAEH,IAAAzS,EAAAmoO,EAAA9rO,KAAAkE,GAQA,OAPAkoO,IACAF,EACAhoO,EAAA6nO,GAAAI,SAEAjoO,EAAA6nO,IAGApoO,EAGAhB,EAAAC,QAAAqpO,sBC7CA,IAAAv5H,EAAA,qBAAAjnE,aAAAhuB,MAAAguB,aAQA,SAAAsD,EAAA9sC,EAAAC,GACA,IAAAo9B,EAAA,IAAAozE,EAAA,GAYA,OAVA,MAAAzwG,IACAA,EAAA,GAGA,MAAAC,IACAA,EAAA,GAGAo9B,EAAA,GAAAr9B,EACAq9B,EAAA,GAAAp9B,EACAo9B,EAUA,SAAAjmB,EAAAimB,EAAAliB,GAGA,OAFAkiB,EAAA,GAAAliB,EAAA,GACAkiB,EAAA,GAAAliB,EAAA,GACAkiB,EASA,SAAA9pB,EAAA4H,GACA,IAAAkiB,EAAA,IAAAozE,EAAA,GAGA,OAFApzE,EAAA,GAAAliB,EAAA,GACAkiB,EAAA,GAAAliB,EAAA,GACAkiB,EAWA,SAAAjM,EAAAiM,EAAA92B,EAAAC,GAGA,OAFA62B,EAAA,GAAA92B,EACA82B,EAAA,GAAA72B,EACA62B,EAUA,SAAA9B,EAAA8B,EAAA5jB,EAAAC,GAGA,OAFA2jB,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GACA2jB,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GACA2jB,EAWA,SAAA/gB,EAAA+gB,EAAA5jB,EAAAC,EAAAnT,GAGA,OAFA82B,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GAAAnT,EACA82B,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GAAAnT,EACA82B,EAUA,SAAAjhB,EAAAihB,EAAA5jB,EAAAC,GAGA,OAFA2jB,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GACA2jB,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GACA2jB,EASA,SAAA5yB,EAAA0Q,GACA,OAAAzW,KAAAk+C,KAAAmyD,EAAA55F,IAGA,IAAA5Z,EAAAkJ,EAQA,SAAAsqG,EAAA55F,GACA,OAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAGA,IAAA65F,EAAAD,EAQA,SAAA/4E,EAAAqB,EAAA5jB,EAAAC,GAGA,OAFA2jB,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GACA2jB,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GACA2jB,EAUA,SAAAzB,EAAAyB,EAAA5jB,EAAAC,GAGA,OAFA2jB,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GACA2jB,EAAA,GAAA5jB,EAAA,GAAAC,EAAA,GACA2jB,EAUA,SAAAvB,EAAAriB,EAAAC,GACA,OAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAUA,SAAA3D,EAAAsnB,EAAAliB,EAAA8Q,GAGA,OAFAoR,EAAA,GAAAliB,EAAA,GAAA8Q,EACAoR,EAAA,GAAAliB,EAAA,GAAA8Q,EACAoR,EASA,SAAAhhB,EAAAghB,EAAAliB,GACA,IAAAX,EAAA/P,EAAA0Q,GAUA,OARA,IAAAX,GACA6iB,EAAA,KACAA,EAAA,OAEAA,EAAA,GAAAliB,EAAA,GAAAX,EACA6iB,EAAA,GAAAliB,EAAA,GAAAX,GAGA6iB,EAUA,SAAA7vB,EAAAiM,EAAAC,GACA,OAAAhV,KAAAk+C,MAAAnpC,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,KAGA,IAAAiiB,EAAAnuB,EAQA,SAAAynG,EAAAx7F,EAAAC,GACA,OAAAD,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,IAGA,IAAAI,EAAAm7F,EAOA,SAAA/4E,EAAAmB,EAAAliB,GAGA,OAFAkiB,EAAA,IAAAliB,EAAA,GACAkiB,EAAA,IAAAliB,EAAA,GACAkiB,EAWA,SAAAtB,EAAAsB,EAAA5jB,EAAAC,EAAAU,GAGA,OAFAijB,EAAA,GAAA5jB,EAAA,GAAAW,GAAAV,EAAA,GAAAD,EAAA,IACA4jB,EAAA,GAAA5jB,EAAA,GAAAW,GAAAV,EAAA,GAAAD,EAAA,IACA4jB,EAUA,SAAAhmB,EAAAgmB,EAAAliB,EAAAoQ,GACA,IAAAvrB,EAAAmb,EAAA,GACAlb,EAAAkb,EAAA,GAGA,OAFAkiB,EAAA,GAAA9R,EAAA,GAAAvrB,EAAAurB,EAAA,GAAAtrB,EAAAsrB,EAAA,GACA8R,EAAA,GAAA9R,EAAA,GAAAvrB,EAAAurB,EAAA,GAAAtrB,EAAAsrB,EAAA,GACA8R,EAUA,SAAAn4B,EAAAm4B,EAAA5jB,EAAAC,GAGA,OAFA2jB,EAAA,GAAA34B,KAAAQ,IAAAuU,EAAA,GAAAC,EAAA,IACA2jB,EAAA,GAAA34B,KAAAQ,IAAAuU,EAAA,GAAAC,EAAA,IACA2jB,EAUA,SAAAl4B,EAAAk4B,EAAA5jB,EAAAC,GAGA,OAFA2jB,EAAA,GAAA34B,KAAAS,IAAAsU,EAAA,GAAAC,EAAA,IACA2jB,EAAA,GAAA34B,KAAAS,IAAAsU,EAAA,GAAAC,EAAA,IACA2jB,EAGA18B,EAAAmsC,SACAnsC,EAAAyW,OACAzW,EAAA4S,QACA5S,EAAAywB,MACAzwB,EAAA46B,MACA56B,EAAA2b,cACA3b,EAAAyb,MACAzb,EAAA8J,MACA9J,EAAAY,SACAZ,EAAAo0G,YACAp0G,EAAAq0G,eACAr0G,EAAAq7B,MACAr7B,EAAAi7B,MACAj7B,EAAAm7B,MACAn7B,EAAAoV,QACApV,EAAA0b,YACA1b,EAAA6M,WACA7M,EAAAg7B,OACAh7B,EAAAs0G,iBACAt0G,EAAAmZ,aACAnZ,EAAAu7B,SACAv7B,EAAAo7B,OACAp7B,EAAA0W,iBACA1W,EAAAuE,MACAvE,EAAAwE,8BCpSA,IAAAvI,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAER,IAAAE,EAAmBF,EAAQ,QAE3By0L,EAAmBz0L,EAAQ,QAoB3BD,EAAAO,eAAAJ,EAAA,2BACAH,EAAAQ,eAAAk0L,EAAA,uDC/CA5wL,EAAAC,QAAA,SAAAS,EAAAiI,GACA,kBAEA,IADA,IAAAo+C,EAAA,IAAAjsC,MAAA7U,UAAApF,QACAwH,EAAA,EAAmBA,EAAA0+C,EAAAlmD,OAAiBwH,IACpC0+C,EAAA1+C,GAAApC,UAAAoC,GAEA,OAAA3H,EAAAsF,MAAA2C,EAAAo+C,2BCYA,IAAAjqD,EAAaX,EAAQ,QAoBrB,SAAAutO,EAAAC,EAAA7qD,GAGA,OADAA,KAAA,MACAhiL,EAAA4N,IAAA,mBAAAkO,EAAAq9D,GACA,IAAA3zE,EAAAhF,KAAAi8I,QAAA3gI,GACArS,EAAAu4K,EAAA7oG,GACA8kG,EAAA4uD,EAAA1zJ,GAAA,EACA,mBAAA3zE,EAAA7E,KAAA6E,EAAA+C,eAAArB,KAAAiR,IAAA3S,EAAAo8G,YAAAn4G,EAAAw0K,GAAAz4K,EAAAo8G,YAAAn4G,EAAAw0K,KACGz9K,MAGH,SAAAyC,EAAAwC,GACA,IAAAxD,EAAAwD,EAAAykO,KAAAvhO,UACA,OACAlD,SAAA,CAEA9E,KAAA,cACA6B,EAAAP,EAAAO,EACAC,EAAAR,EAAAQ,EACAK,MAAAb,EAAAa,MACAC,OAAAd,EAAAc,QAEAwC,IAAA,CACAwb,MAAA,SAAAhV,GAEA,OAAAtG,EAAAM,YAAAgG,IAEA0P,KAAAzb,EAAAoJ,KAAAwjO,EAAAnnO,KAKAvC,EAAAC,QAAAF,0BCpDA,IAAA7D,EAAcC,EAAQ,QAEtBqF,EAAcrF,EAAQ,QAEtBmjB,EAAcnjB,EAAQ,QAEtBykF,EAAAthE,EAAAshE,cAqBA1kF,EAAAu3I,qBAAA,CACAh2I,KAAA,QACA8iB,WAAA,CACA9iB,KAAA,MACAikF,YAAA,GAEAthE,cAAA,CAEAq5F,OAAA,EAEAh/E,EAAA,EACA++E,MAAA,EACAl7G,KAAA,GAIAqV,OAAA,QACAi2N,QAAA,GAIAC,UAAA,QAGAj9L,KAAA,EAGAG,IAAA,EAUAitE,gBAAA,gBAEA7Z,YAAA,OAEA+Z,YAAA,EAGA1rG,QAAA,EAEAimN,QAAA,GACA16G,UAAA,CACA/oG,SAAA,GACAG,WAAA,SACAiT,MAAA,QAEA0lN,aAAA,CACA1lN,MAAA,WAKAloB,EAAAu7I,oBAAA,CACAh6I,KAAA,QACA+yD,OAAA,SAAAu5K,EAAAlyN,EAAAxV,GAGA,GAFA/E,KAAAylE,MAAApB,YAEAooK,EAAAhnO,IAAA,SAIA,IAAAggE,EAAAzlE,KAAAylE,MACAkkC,EAAA8iI,EAAA9xM,SAAA,aACA+xM,EAAAD,EAAA9xM,SAAA,gBACAh5B,EAAA8qO,EAAAhnO,IAAA,aACAknO,EAAAF,EAAAhnO,IAAA,gBACAmkG,EAAA,IAAA1lG,EAAArE,KAAA,CACAU,MAAA2D,EAAA2lG,aAAA,GAAoCF,EAAA,CACpC3oG,KAAAyrO,EAAAhnO,IAAA,QACAqkG,SAAAH,EAAAk1G,gBACO,CACP+tB,YAAA,IAEAltM,GAAA,KAEAzmB,EAAA2wF,EAAAroG,kBACAsrO,EAAAJ,EAAAhnO,IAAA,WACAqnO,EAAA,IAAA5oO,EAAArE,KAAA,CACAU,MAAA2D,EAAA2lG,aAAA,GAAoC6iI,EAAA,CACpC1rO,KAAA6rO,EACA/iI,SAAA4iI,EAAA7tB,eACA58M,EAAAgX,EAAA1W,OAAAkqO,EAAAhnO,IAAA,WACA7D,kBAAA,OACO,CACPgrO,YAAA,IAEAltM,GAAA,KAEA6mD,EAAAkmJ,EAAAhnO,IAAA,QACAsnO,EAAAN,EAAAhnO,IAAA,WACAunO,EAAAP,EAAAhnO,IAAA,mBACAmkG,EAAAyd,QAAA9gC,IAAAymJ,EACAF,EAAAzlH,QAAA0lH,IAAAC,EAEAzmJ,GACAqjB,EAAAh0F,GAAA,mBACAjL,OAAAyjH,KAAA7nC,EAAA,IAAAkmJ,EAAAhnO,IAAA,aAIAsnO,GACAD,EAAAl3N,GAAA,mBACAjL,OAAAyjH,KAAA2+G,EAAA,IAAAN,EAAAhnO,IAAA,gBAIAmkG,EAAAkjB,UAAAggH,EAAAhgH,UAAAkgH,EAAA,CACAzmH,cAAA,QACAjjG,eAAAmpN,EAAAnpN,gBACK,KACLmiD,EAAAloC,IAAAqsE,GACAijI,GAAApnK,EAAAloC,IAAAuvM,GAEA,IAAAG,EAAAxnK,EAAAlkE,kBACA2rO,EAAAT,EAAAxuH,qBACAivH,EAAA5qO,MAAA2qO,EAAA3qO,MACA4qO,EAAA3qO,OAAA0qO,EAAA1qO,OACA,IAAAglN,EAAAjkI,EAAA4pJ,EAAA,CACA5qO,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,aACKmuK,EAAAhnO,IAAA,YAEL9D,IAEAA,EAAA8qO,EAAAhnO,IAAA,SAAAgnO,EAAAhnO,IAAA,SAEA,WAAA9D,IACAA,EAAA,UAIA,UAAAA,EACA4lN,EAAAvlN,GAAAulN,EAAAjlN,MACO,WAAAX,IACP4lN,EAAAvlN,GAAAulN,EAAAjlN,MAAA,IAIAqqO,IACAA,EAAAF,EAAAhnO,IAAA,QAAAgnO,EAAAhnO,IAAA,UAEA,WAAAknO,IACAA,EAAA,UAGA,WAAAA,EACAplB,EAAAtlN,GAAAslN,EAAAhlN,OACO,WAAAoqO,IACPplB,EAAAtlN,GAAAslN,EAAAhlN,OAAA,GAGAoqO,KAAA,OAGAlnK,EAAAse,KAAA,YAAAwjI,EAAAvlN,EAAAulN,EAAAtlN,IACA,IAAAkrO,EAAA,CACAxrO,YACAC,kBAAA+qO,GAEA/iI,EAAA4d,SAAA2lH,GACAL,EAAAtlH,SAAA2lH,GAGAF,EAAAxnK,EAAAlkE,kBACA,IAAA2P,EAAAq2M,EAAAnkI,OACA7iF,EAAAksO,EAAAlhI,aAAA,qBACAhrG,EAAAG,KAAA+rO,EAAAhnO,IAAA,mBACA,IAAAhE,EAAA,IAAAyC,EAAA+qE,KAAA,CACArnE,MAAA,CACA5F,EAAAirO,EAAAjrO,EAAAkP,EAAA,GACAjP,EAAAgrO,EAAAhrO,EAAAiP,EAAA,GACA5O,MAAA2qO,EAAA3qO,MAAA4O,EAAA,GAAAA,EAAA,GACA3O,OAAA0qO,EAAA1qO,OAAA2O,EAAA,GAAAA,EAAA,GACA0N,EAAA6tN,EAAAhnO,IAAA,iBAEAlF,QACA8mH,QAAA,IAEAnjH,EAAAkpO,qBAAA3rO,GACAgkE,EAAAloC,IAAA97B,+BCpNA,IAAA4rO,EAAsBxuO,EAAQ,QAoB9B43N,EAAA4W,EAAA,mGACA5qO,EAAA,CACAg0N,aAAA,SAAA6W,EAAAC,GACA,OAAA9W,EAAAz2N,KAAAstO,EAAAC,KAGA7qO,EAAAC,QAAAF,wBCnCA,SAAAo4K,EAAAj/G,EAAAC,EAAAjM,EAAAC,EAAAp/C,EAAAzO,EAAAC,GACA,OAAAwO,EACA,SAGA,IAAAuqK,EAAAvqK,EACAwqK,EAAA,EACAC,EAAAt/G,EAEA,GAAA35D,EAAA45D,EAAAm/G,GAAA/4K,EAAA4tD,EAAAmrH,GAAA/4K,EAAA45D,EAAAm/G,GAAA/4K,EAAA4tD,EAAAmrH,GAAAh5K,EAAA45D,EAAAo/G,GAAAh5K,EAAA4tD,EAAAorH,GAAAh5K,EAAA45D,EAAAo/G,GAAAh5K,EAAA4tD,EAAAorH,EACA,SAGA,GAAAp/G,IAAAhM,EAIA,OAAAlpD,KAAAiR,IAAA3V,EAAA45D,IAAAo/G,EAAA,EAHAC,GAAAp/G,EAAAhM,IAAA+L,EAAAhM,GACAsrH,GAAAt/G,EAAA/L,EAAAD,EAAAiM,IAAAD,EAAAhM,GAKA,IAAAO,EAAA8qH,EAAAj5K,EAAAC,EAAAi5K,EAEAC,EAAAhrH,KAAA8qH,IAAA,GAEA,OAAAE,GAAAH,EAAA,EAAAA,EAAA,EAGAr4K,EAAAk4K,wCClBA,IAAA32K,EAAcrF,EAAQ,QAEtB2uO,EAAgB3uO,EAAQ,QAExB8O,EAAY9O,EAAQ,QAEpB+K,EAAA+D,EAAA/D,SA8BA,SAAA6jO,EAAAC,GACA1tO,KAAAylE,MAAA,IAAAvhE,EAAA80M,MACAh5M,KAAA2tO,YAAAD,GAAAF,EAGA,IAAAI,EAAAH,EAAAxtO,UAEA,SAAA4tO,EAAAtiO,EAAAs+D,EAAAlsD,EAAAvI,GACA,OAAAy0D,IAAAjwD,MAAAiwD,EAAA,MAAAjwD,MAAAiwD,EAAA,OAAAz0D,EAAA04N,UAAA14N,EAAA04N,SAAAnwN,OAGAvI,EAAA24N,YAAA34N,EAAA24N,UAAAztN,QAAAupD,EAAA,GAAAA,EAAA,eAAAt+D,EAAAic,cAAA7J,EAAA,UAoHA,SAAAqwN,EAAA54N,GAOA,OANA,MAAAA,GAAAxL,EAAAwL,KACAA,EAAA,CACA04N,SAAA14N,IAIAA,GAAA,GAkBA,SAAA64N,EAAA1iO,GACA,IAAA+O,EAAA/O,EAAA49F,UACA,OACAmC,UAAAhxF,EAAAqgB,SAAA,aAAA4wE,aAAA,WACA2iI,eAAA5zN,EAAAqgB,SAAA,sBAAA4wE,eACA8jH,aAAA/0M,EAAA7U,IAAA,gBACA2pN,aAAA90M,EAAA7U,IAAA,gBACA0oO,eAAA7zN,EAAA7U,IAAA,kBACAikG,WAAApvF,EAAAqgB,SAAA,SACA0yL,gBAAA/yM,EAAAqgB,SAAA,kBACAi4L,YAAAt4M,EAAA7U,IAAA,WA5IAmoO,EAAAntI,WAAA,SAAAl1F,EAAA6J,GACAA,EAAA44N,EAAA54N,GACA,IAAAqwD,EAAAzlE,KAAAylE,MACAnrD,EAAA/O,EAAA49F,UACA4sG,EAAA/1M,KAAA+gG,MACAqtI,EAAApuO,KAAA2tO,YACAU,EAAAJ,EAAA1iO,GAGAwqM,GACAtwI,EAAApB,YAGA94D,EAAAqR,KAAAm5L,GAAAx4K,IAAA,SAAAy4K,GACA,IAAAnsI,EAAAt+D,EAAAkqK,cAAAugC,GAEA,GAAA63B,EAAAtiO,EAAAs+D,EAAAmsI,EAAA5gM,GAAA,CACA,IAAAq/M,EAAA,IAAA2Z,EAAA7iO,EAAAyqM,EAAAq4B,GACA5Z,EAAA1wI,KAAA,WAAAla,GACAt+D,EAAAgpM,iBAAAyB,EAAAye,GACAhvJ,EAAAloC,IAAAk3L,MAEGloM,OAAA,SAAAypL,EAAAC,GACH,IAAAwe,EAAA1e,EAAA5nB,iBAAA8nB,GACApsI,EAAAt+D,EAAAkqK,cAAAugC,GAEA63B,EAAAtiO,EAAAs+D,EAAAmsI,EAAA5gM,IAKAq/M,GAIAA,EAAAh0H,WAAAl1F,EAAAyqM,EAAAq4B,GACAnqO,EAAAkuM,YAAAqiB,EAAA,CACAnuN,SAAAujE,GACOvvD,KANPm6M,EAAA,IAAA2Z,EAAA7iO,EAAAyqM,GACAye,EAAA1wI,KAAA,WAAAla,IASApE,EAAAloC,IAAAk3L,GACAlpN,EAAAgpM,iBAAAyB,EAAAye,IAhBAhvJ,EAAAj5D,OAAAioN,KAiBGjoN,OAAA,SAAAypM,GACH,IAAAllK,EAAAglK,EAAA5nB,iBAAA8nB,GACAllK,KAAAu9L,QAAA,WACA7oK,EAAAj5D,OAAAukC,OAEG0kK,UACHz1M,KAAA+gG,MAAAx1F,GAGAqiO,EAAAtyB,aAAA,WACA,UAGAsyB,EAAAtgI,aAAA,WACA,IAAA/hG,EAAAvL,KAAA+gG,MAEAx1F,GAEAA,EAAAqpN,kBAAA,SAAA7jL,EAAApzB,GACA,IAAAksD,EAAAt+D,EAAAkqK,cAAA93J,GACAozB,EAAAgzC,KAAA,WAAAla,MAKA+jK,EAAAjyB,yBAAA,SAAApwM,GACAvL,KAAAuuO,aAAAN,EAAA1iO,GACAvL,KAAA+gG,MAAA,KACA/gG,KAAAylE,MAAApB,aAWAupK,EAAA/xB,kBAAA,SAAAC,EAAAvwM,EAAA6J,GAGA,SAAAo5N,EAAAz9L,GACAA,EAAAolK,UACAplK,EAAAqlK,YAAArlK,EAAAslK,eAAA,GAJAjhM,EAAA44N,EAAA54N,GAQA,QAAAuI,EAAAm+L,EAAA1vL,MAAkCzO,EAAAm+L,EAAAvyL,IAAsB5L,IAAA,CACxD,IAAAksD,EAAAt+D,EAAAkqK,cAAA93J,GAEA,GAAAkwN,EAAAtiO,EAAAs+D,EAAAlsD,EAAAvI,GAAA,CACA,IAAA27B,EAAA,IAAA/wC,KAAA2tO,YAAApiO,EAAAoS,EAAA3d,KAAAuuO,cACAx9L,EAAA5e,SAAAq8M,GACAz9L,EAAAgzC,KAAA,WAAAla,GACA7pE,KAAAylE,MAAAloC,IAAAwT,GACAxlC,EAAAgpM,iBAAA52L,EAAAozB,MAeA68L,EAAAphO,OAAA,SAAAqvB,GACA,IAAA4pC,EAAAzlE,KAAAylE,MACAl6D,EAAAvL,KAAA+gG,MAEAx1F,GAAAswB,EACAtwB,EAAAqpN,kBAAA,SAAA7jL,GACAA,EAAAu9L,QAAA,WACA7oK,EAAAj5D,OAAAukC,OAIA00B,EAAApB,aAkBA,IAAA5hE,EAAAgrO,EACA/qO,EAAAC,QAAAF,0BC3MA,IAAA2e,EAAcviB,EAAQ,QAItBW,GAFA4hB,EAAAC,QAEaxiB,EAAQ,SAErBkV,EAAelV,EAAQ,QAEvBqF,EAAcrF,EAAQ,QAEtBoV,EAAuBpV,EAAQ,QAE/BkxM,EAAiBlxM,EAAQ,QAoBzB8qB,EAAAnqB,EAAAmqB,MACAxC,EAAA3nB,EAAA2nB,KACA/Z,EAAA5N,EAAA4N,IACAktF,EAAA5zF,KAAAQ,IACAqzF,EAAA7zF,KAAAS,IACAsnO,EAAA/nO,KAAA2uB,IACAq5M,EAAA,IACAC,EAAA,EACAC,EAAA,EACAC,EAAA,YACAC,EAAA,CACAzsO,EAAA,MACA8T,EAAA,MACA0X,EAAA,MACAI,EAAA,OAEA8gN,EAAA,CACA1sO,EAAA,KACA8T,EAAA,KACA0X,EAAA,KACAI,EAAA,KACA+gN,GAAA,OACA/I,GAAA,OACAgJ,GAAA,OACAC,GAAA,QAEAC,EAAA,CACAC,WAAA,CACA3+N,UAAA,EACA9P,OAAA,kBACAD,KAAA,mBAEA2uO,eAAA,EACAC,UAAA,SACApX,eAAA,GAEAqX,EAAA,EAiBA,SAAA/X,EAAArjN,GACAJ,EAAAhU,KAAAC,MAMAA,KAAAqU,IAAAF,EAMAnU,KAAAylE,MAAA,IAAAvhE,EAAA80M,MAUAh5M,KAAAwvO,WAQAxvO,KAAAyvO,aAMAzvO,KAAA0vO,QAMA1vO,KAAA2vO,OAAA,GAMA3vO,KAAAgW,UAMAhW,KAAA4vO,QAAA,GAMA5vO,KAAA6vO,eAOA7vO,KAAA8vO,eAMA9vO,KAAA+vO,iBAUA/vO,KAAAgwO,KAAA,mBAAAT,IAMAvvO,KAAAgwK,UAAA,GACA7oJ,EAAA8oN,GAAA,SAAAn8I,EAAAv7E,GACAvY,KAAAgwK,UAAAz3J,GAAA/Y,EAAAoJ,KAAAkrF,EAAA9zF,OACGA,MA8IH,SAAAkwO,EAAA53N,EAAAkgN,GACA,IAAArkN,EAAAmE,EAAAjE,IAEAiE,EAAAy3N,kBACA97N,EAAAk8N,KAAAh8N,EAAA06N,EAAAv2N,EAAA03N,MAGA7oN,EAAA7O,EAAA03J,UAAA,SAAAl8E,EAAAv7E,GACApE,EAAAyB,GAAA2C,EAAAu7E,KAEAx7E,EAAAk3N,WAAAhX,EAAA4X,UACA93N,EAAAm3N,aAAAjwO,EAAA2L,MAAA3L,EAAA+V,MAAA45N,GAAA3W,GAAA,GAGA,SAAA6X,EAAA/3N,GACA,IAAAnE,EAAAmE,EAAAjE,IACAJ,EAAAq8N,QAAAn8N,EAAA06N,EAAAv2N,EAAA03N,MACA7oN,EAAA7O,EAAA03J,UAAA,SAAAl8E,EAAAv7E,GACApE,EAAA0B,IAAA0C,EAAAu7E,KAEAx7E,EAAAk3N,WAAAl3N,EAAAm3N,aAAA,KAGA,SAAAc,EAAAj4N,EAAAkgN,GACA,IAAAgY,EAAAC,GAAAjY,EAAA4X,WAAAG,YAAAj4N,EAAAkgN,GAIA,OAHAgY,EAAAE,cAAAlY,EACAmY,EAAAH,EAAAhY,GACAlgN,EAAAmtD,MAAAloC,IAAAizM,GACAA,EAGA,SAAAI,EAAAt4N,EAAAu4N,GACA,IAAAC,EAAAC,EAAAF,GAOA,OALAC,EAAAF,cACAE,EAAAF,YAAAt4N,EAAAu4N,GACAF,EAAAE,IAAAH,gBAGAG,EAGA,SAAAG,EAAA14N,EAAAk4N,GACA,IAAAhY,EAAAgY,EAAAE,cACAK,EAAAP,GAAAQ,iBAAA14N,EAAAk4N,EAAAhY,EAAAxgH,MAAAwgH,GAGA,SAAAmY,EAAAH,EAAAhY,GACA,IAAAr7L,EAAAq7L,EAAAr7L,EACA,MAAAA,MAAAuxM,GACA8B,EAAAr+M,SAAA,SAAA4e,GACAA,EAAA5T,IACA4T,EAAArR,GAAAvC,IAIA,SAAA8zM,EAAA34N,EAAAk4N,GACAO,EAAAP,GAAA3tM,aAAAvqB,EAAAk4N,GACAQ,EAAA14N,EAAAk4N,GAGA,SAAAO,EAAAP,GACA,OAAAC,GAAAD,EAAAE,cAAAN,WAIA,SAAAc,EAAA54N,EAAAnC,EAAAg7N,GACA,IAMAC,EANAC,EAAA/4N,EAAAo3N,QAEA,IAAA2B,EACA,SAIA,IAAAxqO,EAAAyR,EAAAg5N,WAIA,OAHAnqN,EAAAkqN,EAAA,SAAA38I,GACAA,EAAA68I,iBAAAp7N,EAAAg7N,EAAAtqO,KAAAuqO,EAAA18I,KAEA08I,EAIA,SAAAI,EAAAl5N,EAAAk4N,GACA,IAAAa,EAAA/4N,EAAAo3N,QAEA,IAAA2B,EACA,SAGA,IAAAI,EAAAjB,EAAAE,cAAAe,QAGA,aAAAA,GAAAJ,EAAAI,GAGA,SAAAC,EAAAp5N,GACA,IAAAq5N,EAAAr5N,EAAAs3N,QACAgC,EAAAD,EAAApuO,OAKA,OAJA4jB,EAAAwqN,EAAA,SAAAnB,GACAl4N,EAAAmtD,MAAAj5D,OAAAgkO,IACGl4N,GACHq5N,EAAApuO,OAAA,IACAquO,EAGA,SAAAx6N,EAAAkB,EAAAlD,GACA,IAAA0iN,EAAA1qN,EAAAkL,EAAAs3N,QAAA,SAAAY,GACA,IAAAhY,EAAAgY,EAAAE,cACA14H,EAAAx4G,EAAA+V,MAAAijN,EAAAxgH,OACA,OACAo4H,UAAA5X,EAAA4X,UACAqB,QAAAjZ,EAAAiZ,QACAz5H,WAGA1/F,EAAAlB,QAAA,QAAA0gN,EAAA,CACAnX,QAAAvrM,EAAAurM,MACAuX,gBAAA9iN,EAAA8iN,gBAIA,SAAA2Z,EAAAv5N,GACA,IAAAw5N,EAAAx5N,EAAAq3N,OAEA,IAAAmC,EAAAvuO,OACA,SAGA,IAAAgZ,EAAAu1N,IAAAvuO,OAAA,GACA+Y,EAAAw1N,EAAA,GACA96N,EAAAuF,EAAA,GAAAD,EAAA,GACArF,EAAAsF,EAAA,GAAAD,EAAA,GACAqhB,EAAA8wM,EAAAz3N,IAAAC,IAAA,IACA,OAAA0mB,EAAAgxM,EAGA,SAAAoD,EAAAD,GACA,IAAA9lO,EAAA8lO,EAAAvuO,OAAA,EAEA,OADAyI,EAAA,IAAAA,EAAA,GACA,CAAA8lO,EAAA,GAAAA,EAAA9lO,IAGA,SAAAgmO,EAAAC,EAAA35N,EAAAkgN,EAAA0Z,GACA,IAAA1B,EAAA,IAAAtsO,EAAA80M,MA2BA,OA1BAw3B,EAAAjzM,IAAA,IAAAr5B,EAAA+qE,KAAA,CACA3gE,KAAA,OACA/N,MAAA4xO,EAAA3Z,GACAnxG,QAAA,EACA/wG,WAAA,EACAm6C,OAAA,OACA4vJ,MAAA12L,EAAAsoN,EAAA35N,EAAAk4N,EAAA,QACAlwB,UAAA32L,EAAAvS,EAAAkB,EAAA,CACAqoM,OAAA,OAGAx5L,EAAA+qN,EAAA,SAAA5jO,GACAkiO,EAAAjzM,IAAA,IAAAr5B,EAAA+qE,KAAA,CACA3gE,OACA/N,MAAA,CACAuzD,QAAA,GAEAx9C,WAAA,EACA+wG,QAAA,EACAv2C,WAAA,EACAuvI,MAAA12L,EAAAsoN,EAAA35N,EAAAk4N,EAAAliO,GACAgyM,UAAA32L,EAAAvS,EAAAkB,EAAA,CACAqoM,OAAA,SAIA6vB,EAGA,SAAA4B,EAAA95N,EAAAk4N,EAAA6B,EAAA7Z,GACA,IAAA/nN,EAAA+nN,EAAA4W,WAAA3+N,WAAA,EACA6hO,EAAA/3I,EAAA9pF,EAAAm+N,GACA5sO,EAAAqwO,EAAA,MACApwO,EAAAowO,EAAA,MACAv9K,EAAA9yD,EAAAyO,EAAA,EACAukD,EAAA/yD,EAAAwO,EAAA,EACA+uB,EAAA6yM,EAAA,MACA5yM,EAAA4yM,EAAA,MACAE,EAAA/yM,EAAA8yM,EAAA7hO,EAAA,EACA+hO,EAAA/yM,EAAA6yM,EAAA7hO,EAAA,EACAnO,EAAAk9B,EAAAx9B,EACAO,EAAAk9B,EAAAx9B,EACAwwO,EAAAnwO,EAAAmO,EACAiiO,EAAAnwO,EAAAkO,EACAkiO,EAAAr6N,EAAAk4N,EAAA,OAAAxuO,EAAAC,EAAAK,EAAAC,GAEAi2N,EAAA6W,gBACAsD,EAAAr6N,EAAAk4N,EAAA,IAAA17K,EAAAE,EAAAs9K,EAAAI,GACAC,EAAAr6N,EAAAk4N,EAAA,IAAA+B,EAAAv9K,EAAAs9K,EAAAI,GACAC,EAAAr6N,EAAAk4N,EAAA,IAAA17K,EAAAE,EAAAy9K,EAAAH,GACAK,EAAAr6N,EAAAk4N,EAAA,IAAA17K,EAAA09K,EAAAC,EAAAH,GACAK,EAAAr6N,EAAAk4N,EAAA,KAAA17K,EAAAE,EAAAs9K,KACAK,EAAAr6N,EAAAk4N,EAAA,KAAA+B,EAAAv9K,EAAAs9K,KACAK,EAAAr6N,EAAAk4N,EAAA,KAAA17K,EAAA09K,EAAAF,KACAK,EAAAr6N,EAAAk4N,EAAA,KAAA+B,EAAAC,EAAAF,MAIA,SAAAzvM,EAAAvqB,EAAAk4N,GACA,IAAAhY,EAAAgY,EAAAE,cACArB,EAAA7W,EAAA6W,cACAuD,EAAApC,EAAA5+J,QAAA,GACAghK,EAAA3gC,SAAAkgC,EAAA3Z,IACAoa,EAAA7uJ,KAAA,CACAsjC,QAAAgoH,EACA5+K,OAAA4+K,EAAA,mBAEAloN,EAAA,+CAAA7Y,GACA,IAAAyiC,EAAAy/L,EAAAqC,YAAAvkO,GACAwkO,EAAAC,EAAAz6N,EAAAhK,GACAyiC,KAAAgzC,KAAA,CACAsjC,QAAAgoH,EACAv+J,WAAAu+J,EACA5+K,OAAA4+K,EAAAN,EAAA+D,GAAA,mBAKA,SAAAH,EAAAr6N,EAAAk4N,EAAAliO,EAAAtM,EAAAC,EAAAI,EAAA0e,GACA,IAAAgwB,EAAAy/L,EAAAqC,YAAAvkO,GACAyiC,KAAA2oK,SAAAs5B,EAAAC,EAAA36N,EAAAk4N,EAAA,EAAAxuO,EAAAC,GAAA,CAAAD,EAAAK,EAAAJ,EAAA8e,OAGA,SAAAoxN,EAAA3Z,GACA,OAAAh5N,EAAA8V,SAAA,CACA4mM,eAAA,GACGsc,EAAA4W,YAGH,SAAA8D,EAAAlxO,EAAAC,EAAAu9B,EAAAC,GACA,IAAAv4B,EAAA,CAAAozF,EAAAt4F,EAAAw9B,GAAA86D,EAAAr4F,EAAAw9B,IACAt4B,EAAA,CAAAozF,EAAAv4F,EAAAw9B,GAAA+6D,EAAAt4F,EAAAw9B,IACA,QAAAv4B,EAAA,GAAAC,EAAA,IACA,CAAAD,EAAA,GAAAC,EAAA,KAIA,SAAAs7M,EAAAnqM,GACA,OAAApU,EAAAu+M,aAAAnqM,EAAAmtD,OAGA,SAAAstK,EAAAz6N,EAAA66N,GACA,GAAAA,EAAA5vO,OAAA,GACA4vO,IAAA1kO,MAAA,IACA,IAAAqkO,EAAA,CAAAC,EAAAz6N,EAAA66N,EAAA,IAAAJ,EAAAz6N,EAAA66N,EAAA,KAEA,OADA,MAAAL,EAAA,UAAAA,EAAA,KAAAA,EAAAtmF,UACAsmF,EAAA9iO,KAAA,IAEA,IAAA5C,EAAA,CACA/K,EAAA,OACA8T,EAAA,QACA0X,EAAA,MACAI,EAAA,UAEAmlN,EAAA,CACA9jM,KAAA,IACAC,MAAA,IACAE,IAAA,IACAD,OAAA,KAEAsjM,EAAA5uO,EAAAmvO,mBAAAjmO,EAAA+lO,GAAA1wB,EAAAnqM,IACA,OAAA86N,EAAAN,GAIA,SAAAQ,EAAAC,EAAAC,EAAAl7N,EAAAk4N,EAAAliO,EAAA0I,EAAAC,EAAAd,GACA,IAAAqiN,EAAAgY,EAAAE,cACA+C,EAAAF,EAAA/a,EAAAxgH,OACA07H,EAAAC,EAAAr7N,EAAAtB,EAAAC,GACAkQ,EAAA7Y,EAAAG,MAAA,aAAAmlO,GACA,IAAAC,EAAA/E,EAAA8E,GACAH,EAAAI,EAAA,IAAAA,EAAA,KAAAH,EAAAG,EAAA,MAEArb,EAAAxgH,MAAAw7H,EAAAN,EAAAO,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,QACAxC,EAAA34N,EAAAk4N,GACAp5N,EAAAkB,EAAA,CACAqoM,OAAA,IAIA,SAAAmzB,EAAAx7N,EAAAk4N,EAAAx5N,EAAAC,EAAAd,GACA,IAAA6hG,EAAAw4H,EAAAE,cAAA14H,MACA07H,EAAAC,EAAAr7N,EAAAtB,EAAAC,GACAkQ,EAAA6wF,EAAA,SAAAnuC,GACAA,EAAA,IAAA6pK,EAAA,GACA7pK,EAAA,IAAA6pK,EAAA,KAEAzC,EAAA34N,EAAAk4N,GACAp5N,EAAAkB,EAAA,CACAqoM,OAAA,IAIA,SAAAgzB,EAAAr7N,EAAAtB,EAAAC,GACA,IAAA6mM,EAAAxlM,EAAAmtD,MACAsuK,EAAAj2B,EAAAk2B,sBAAAh9N,EAAAC,GACAg9N,EAAAn2B,EAAAk2B,sBAAA,KACA,OAAAD,EAAA,GAAAE,EAAA,GAAAF,EAAA,GAAAE,EAAA,IAGA,SAAAhB,EAAA36N,EAAAk4N,EAAAjlO,GACA,IAAA6lO,EAAAI,EAAAl5N,EAAAk4N,GACA,OAAAY,IAAA,IAAAA,IAAA8C,SAAA3oO,EAAA+M,EAAAg5N,YAAA9xO,EAAA+V,MAAAhK,GAGA,SAAAynO,EAAAtrK,GACA,IAAAysK,EAAA75I,EAAA5yB,EAAA,MAAAA,EAAA,OACA0sK,EAAA95I,EAAA5yB,EAAA,MAAAA,EAAA,OACAy/D,EAAA5sC,EAAA7yB,EAAA,MAAAA,EAAA,OACA2sK,EAAA95I,EAAA7yB,EAAA,MAAAA,EAAA,OACA,OACA1lE,EAAAmyO,EACAlyO,EAAAmyO,EACA9xO,MAAA6kI,EAAAgtG,EACA5xO,OAAA8xO,EAAAD,GAIA,SAAAE,EAAAh8N,EAAAnC,EAAAg7N,GAEA,GAAA74N,EAAAk3N,WAAA,CAIA,IAAAr7N,EAAAmE,EAAAjE,IACAs9N,EAAAr5N,EAAAs3N,QACA2E,EAAArD,EAAA54N,EAAAnC,EAAAg7N,GAEA,IAAA74N,EAAAtC,UACA,QAAAjL,EAAA,EAAmBA,EAAA4mO,EAAApuO,OAAmBwH,IAAA,CACtC,IAAAytN,EAAAmZ,EAAA5mO,GAAA2lO,cAEA,GAAA6D,KAAA,IAAAA,GAAA/b,EAAAiZ,UAAA8C,EAAA9C,UAAAhB,GAAAjY,EAAA4X,WAAA9vN,QAAAqxN,EAAA5mO,GAAAomO,EAAA,GAAAA,EAAA,IAEA,OAKAoD,GAAApgO,EAAA43G,eAAA,cAGA,SAAAzqC,EAAAnrE,GACA,IAAAq+N,EAAAr+N,EAAAgB,MACAq9N,EAAAlzJ,gBAAAkzJ,EAAAlzJ,iBAGA,SAAAmzJ,EAAAjE,EAAAxuO,EAAAC,GACA,OAAAuuO,EAAAqC,YAAA,QAAAvyN,QAAAte,EAAAC,GAGA,SAAAyyO,GAAAp8N,EAAAnC,EAAAg7N,EAAAxwB,GACA,IAGAg0B,EAHA9D,EAAAv4N,EAAAu3N,eACAuB,EAAA94N,EAAAw3N,eACA8E,EAAAt8N,EAAAm3N,aAKA,GAFAn3N,EAAAq3N,OAAAh9N,KAAAw+N,EAAAjyM,SAEA2yM,EAAAv5N,IAAAu4N,EAAA,CACA,GAAAO,IAAAP,EAAA,CACA,WAAA+D,EAAAtF,WAAAoC,EAAAp5N,GACA,IAAAkgN,EAAAh5N,EAAA+V,MAAAq/N,GACApc,EAAA4X,UAAAyE,GAAArc,EAAA4X,UAAAgB,GACA5Y,EAAAiZ,SAAA,IAAAL,EAAA,KAAAA,EAAAK,QACAZ,EAAAv4N,EAAAu3N,eAAAU,EAAAj4N,EAAAkgN,GAEAlgN,EAAAs3N,QAAAj9N,KAAAk+N,GAGA,GAAAA,EAAA,CACA,IAAAC,EAAAL,GAAAoE,GAAAv8N,EAAAk3N,WAAA4B,IACA0D,EAAAjE,EAAAH,cACAoE,EAAA98H,MAAA84H,EAAAiE,iBAAA9B,EAAA36N,EAAAu4N,EAAAv4N,EAAAq3N,SAEAhvB,IACAiwB,EAAAt4N,EAAAu4N,GACAC,EAAAjuM,aAAAvqB,EAAAu4N,IAGAG,EAAA14N,EAAAu4N,GACA8D,EAAA,CACAh0B,eAGGA,GAAA,WAAAi0B,EAAAtF,WAAAsF,EAAA1c,eAMHgZ,EAAA54N,EAAAnC,EAAAg7N,IAAAO,EAAAp5N,KACAq8N,EAAA,CACAh0B,QACAuX,eAAA,IAKA,OAAAyc,EAGA,SAAAE,GAAAzE,EAAAgB,GACA,eAAAhB,EACAgB,EAAA4D,iBAGA5E,EAtiBA5Y,EAAAv3N,UAAA,CACAC,YAAAs3N,EAmBAe,YAAA,SAAAC,GAGA,OAFAx4N,KAAAwvO,YAAAa,EAAArwO,MACAw4N,EAAA4X,WAAAF,EAAAlwO,KAAAw4N,GACAx4N,MAaAq4N,UAAA,SAAA4c,GACA,GAAAA,KAAA1xO,OAAA,CACA,IAAA8tO,EAAArxO,KAAA0vO,QAAA,GACAlwO,EAAA2nB,KAAA8tN,EAAA,SAAAA,GACA5D,EAAA4D,EAAAxD,SAAAjyO,EAAA+V,MAAA0/N,UAGAj1O,KAAA0vO,QAAA,KAGA,OAAA1vO,MAOA23N,MAAA,SAAAviN,GACAA,KAAA,GACApV,KAAA+vO,iBAAA36N,EAAA8/N,gBACA,IAAAp3B,EAAA99M,KAAAylE,MAUA,OARAzlE,KAAAqU,IAAAkpB,IAAAugL,GAEAA,EAAA/5H,KAAA,CACAz9E,SAAA8O,EAAA9O,UAAA,MACAE,SAAA4O,EAAA5O,UAAA,EACAuR,MAAA3C,EAAA2C,OAAA,QAEA/X,KAAAsxO,WAAAxzB,EAAAj6H,oBACA7jF,MAEAm1O,UAAA,SAAAp/M,EAAArS,GACAyD,EAAAnnB,KAAA4vO,QAAA75M,EAAArS,IAgBA+0M,aAAA,SAAA2c,GACAA,EAAA51O,EAAA4N,IAAAgoO,EAAA,SAAA5c,GACA,OAAAh5N,EAAA2L,MAAA3L,EAAA+V,MAAA45N,GAAA3W,GAAA,KAEA,IAAA6c,EAAA,kBACAC,EAAAt1O,KAAA4vO,QACA2F,EAAAv1O,KAAA4vO,QAAA,GACAt3N,EAAAtY,KACA6wO,EAAA7wO,KAAA6vO,eAEA,OADA,IAAA9/B,EAAAulC,EAAAF,EAAAI,EAAAlgC,GAAA/3K,IAAAk4M,GAAAlpN,OAAAkpN,GAAAjpO,UAAAipM,UACAz1M,KAEA,SAAAs1M,EAAAkjB,EAAA30N,GACA,aAAA20N,EAAAvsM,GAAAusM,EAAAvsM,GAAAopN,EAAAxxO,GAAA,IAAA20N,EAAA4X,UAGA,SAAAoF,EAAAhF,EAAA3sO,GACA,OAAAyxM,EAAAk7B,EAAAE,cAAA7sO,GAGA,SAAA4xO,EAAA//B,EAAAC,GACA,IAAA+/B,EAAAN,EAAA1/B,GAGA,SAAAC,GAAA2/B,EAAA3/B,KAAAk7B,EACA0E,EAAA7/B,GAAA4/B,EAAA3/B,OACO,CACP,IAAA66B,EAAA+E,EAAA7/B,GAAA,MAAAC,GAAA2/B,EAAA3/B,GAAA+6B,cAAAgF,EAAAJ,EAAA3/B,IAAAi7B,EAAAt4N,EAAAi4N,EAAAj4N,EAAAo9N,IACAzE,EAAA34N,EAAAk4N,IAIA,SAAAhkO,EAAAmpM,GACA2/B,EAAA3/B,KAAAk7B,GACAv4N,EAAAmtD,MAAAj5D,OAAA8oO,EAAA3/B,MAIAggC,QAAA,WAOA,OANA31O,KAAAu4N,aAAA,GAEAmZ,EAAA1xO,MAEAA,KAAAqU,IAAA7H,OAAAxM,KAAAylE,OAEAzlE,MAEA8V,QAAA,WACA9V,KAAA21O,UACA31O,KAAA6V,QAGArW,EAAAoZ,MAAA4+M,EAAAzjN,GAgaA,IAAAk8N,GAAA,CACAz7N,UAAA,SAAA2B,GACA,GAAAnW,KAAAgW,UAGA4/N,GAAA71O,KAAAC,KAAAmW,QACK,IAAAA,EAAAE,SAAAF,EAAAE,OAAAC,UAAA,CACLgrE,EAAAnrE,GACA,IAAAg7N,EAAAnxO,KAAAylE,MAAAuuK,sBAAA79N,EAAAI,QAAAJ,EAAAK,SACAxW,KAAA6vO,eAAA,KACA,IAAAuB,EAAApxO,KAAA8vO,eAAAoB,EAAAlxO,KAAAmW,EAAAg7N,GAEAC,IACApxO,KAAAgW,WAAA,EACAhW,KAAA2vO,OAAA,CAAAwB,EAAAjyM,YAIAxqB,UAAA,SAAAyB,GACA,IAAAg7N,EAAAnxO,KAAAylE,MAAAuuK,sBAAA79N,EAAAI,QAAAJ,EAAAK,SAGA,GAFA89N,EAAAt0O,KAAAmW,EAAAg7N,GAEAnxO,KAAAgW,UAAA,CACAsrE,EAAAnrE,GACA,IAAAw+N,EAAAD,GAAA10O,KAAAmW,EAAAg7N,GAAA,GACAwD,GAAAv9N,EAAApX,KAAA20O,KAGA//N,QAAAghO,IAOA,SAAAA,GAAAz/N,GACA,GAAAnW,KAAAgW,UAAA,CACAsrE,EAAAnrE,GACA,IAAAg7N,EAAAnxO,KAAAylE,MAAAuuK,sBAAA79N,EAAAI,QAAAJ,EAAAK,SACAm+N,EAAAD,GAAA10O,KAAAmW,EAAAg7N,GAAA,GACAnxO,KAAAgW,WAAA,EACAhW,KAAA2vO,OAAA,GACA3vO,KAAA6vO,eAAA,KAEA8E,GAAAv9N,EAAApX,KAAA20O,IASA,IAAAlE,GAAA,CACAhmC,MAAAorC,GAAA,GACAnrC,MAAAmrC,GAAA,GACAp0O,KAAA,CACA8uO,YAAA,SAAAj4N,EAAAkgN,GACA,OAAAwZ,EAAAroN,EAAA2pN,EAAA,SAAAt7H,GACA,OAAAA,GACO,SAAAA,GACP,OAAAA,IACO1/F,EAAAkgN,EAAA,wCAEPuc,iBAAA,SAAAe,GACA,IAAAhhB,EAAAid,EAAA+D,GACA,OAAA5C,EAAApe,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAEAkc,iBAAA,SAAA14N,EAAAk4N,EAAA6B,EAAA7Z,GACA4Z,EAAA95N,EAAAk4N,EAAA6B,EAAA7Z,IAEA31L,eACAviB,QAAAm0N,GAEAzvI,QAAA,CACAurI,YAAA,SAAAj4N,EAAAkgN,GACA,IAAAgY,EAAA,IAAAtsO,EAAA80M,MAQA,OALAw3B,EAAAjzM,IAAA,IAAAr5B,EAAAi1M,SAAA,CACA7qM,KAAA,OACA/N,MAAA4xO,EAAA3Z,GACAnxG,QAAA,KAEAmpH,GAEAuE,iBAAA,SAAAe,GACA,OAAAA,GAEAlF,YAAA,SAAAt4N,EAAAk4N,GACAA,EAAAhkO,OAAAgkO,EAAA5+J,QAAA,IAEA4+J,EAAAjzM,IAAA,IAAAr5B,EAAA+0M,QAAA,CACA3qM,KAAA,OACAgI,WAAA,EACA+pM,MAAA12L,EAAAmqN,EAAAx7N,EAAAk4N,GACAlwB,UAAA32L,EAAAvS,EAAAkB,EAAA,CACAqoM,OAAA,QAIAqwB,iBAAA,SAAA14N,EAAAk4N,EAAA6B,EAAA7Z,GACAgY,EAAA5+J,QAAA,GAAA8nI,SAAA,CACAhyI,OAAAurK,EAAA36N,EAAAk4N,EAAA6B,MAGAxvM,eACAviB,QAAAm0N,IAIA,SAAAoB,GAAAE,GACA,OACAxF,YAAA,SAAAj4N,EAAAkgN,GACA,OAAAwZ,EAAAroN,EAAA2pN,EAAA,SAAAt7H,GACA,IAAAy7H,EAAA,CAAAz7H,EAAA,SAEA,OADA+9H,GAAAtC,EAAAjnF,UACAinF,GACO,SAAAA,GACP,OAAAA,EAAAsC,KACOz9N,EAAAkgN,EAAA,sBAAAud,KAEPhB,iBAAA,SAAAe,GACA,IAAAhhB,EAAAid,EAAA+D,GACA5uO,EAAAozF,EAAAw6H,EAAA,GAAAihB,GAAAjhB,EAAA,GAAAihB,IACA5uO,EAAAozF,EAAAu6H,EAAA,GAAAihB,GAAAjhB,EAAA,GAAAihB,IACA,OAAA7uO,EAAAC,IAEA6pO,iBAAA,SAAA14N,EAAAk4N,EAAA6B,EAAA7Z,GACA,IAAArzN,EAEAisO,EAAAI,EAAAl5N,EAAAk4N,GAEA,QAAAY,KAAA4E,0BACA7wO,EAAAisO,EAAA4E,0BAAAD,EAAAz9N,EAAAg5N,gBACO,CACP,IAAAn9N,EAAAmE,EAAAjE,IACAlP,EAAA,IAAAgP,EAAA5F,WAAA4F,EAAAmqD,aAAA,EAAAy3K,IAGA,IAAAtC,EAAA,CAAApB,EAAAltO,GACA4wO,GAAAtC,EAAAjnF,UACA4lF,EAAA95N,EAAAk4N,EAAAiD,EAAAjb,IAEA31L,eACAviB,QAAAm0N,GAIA,IAAAhyO,GAAA+0N,EACA90N,EAAAC,QAAAF,2BCp3BA,IAAA+f,EAAoB3jB,EAAQ,QAE5B4jB,EAAAD,EAAAC,iBAEAlB,EAAc1iB,EAAQ,QAEtB8iB,EAAAJ,EAAAI,iBACAmuD,EAAAvuD,EAAAuuD,UAEAqrE,EAAat8I,EAAQ,QAErBo3O,EAAA96F,EAAA86F,qBAoBAC,EAAA,cAEAzzO,EAAA,CAOAuoB,cAAA,SAAAvF,EAAAP,GACA,IAAA3Z,EAAAvL,KAAAwa,QAAA0K,GACA6F,EAAA/qB,KAAAsnB,YAAA7B,EAAAP,GACAixN,EAAA5qO,EAAAshL,YAAApnK,GACAnX,EAAA/C,EAAAqc,QAAAnC,GACA2wN,EAAA7qO,EAAAk+K,eAAAhkK,GACAqB,EAAAvb,EAAAic,cAAA/B,EAAA,SACAgjM,EAAAzoN,KAAAua,QAAAmS,aAAA,WACA2pN,EAAA5tB,KAAAhjN,IAAA,cACAkgB,EAAAswN,EAAAI,GACArqN,EAAAhsB,KAAAgsB,SACAsqN,EAAA,WAAAtqN,EACA,OACAu6F,cAAAv6F,EACAuqN,iBAAAv2O,KAAAmkB,QACAb,eAAAtjB,KAAAsjB,eACAnJ,WAAAm8N,EAAAt2O,KAAAmkB,QAAA,KACAtB,YAAA7iB,KAAA6iB,YACAivK,SAAAwkD,EAAAt2O,KAAAisB,GAAA,KACApE,WAAAyuN,EAAAt2O,KAAAsO,KAAA,KACAA,OACAmX,UAAA0wN,EACA5qO,KAAA6qO,EACAlxN,WACAjhB,MAAA8mB,EACAjE,QACA0vN,OAAA70N,EAAA,CACAmF,QACAnB,eAGAgiI,MAAA,gCAaA/3E,kBAAA,SAAAnqD,EAAAkyC,EAAAzyC,EAAAne,EAAA0vO,GACA9+K,KAAA,SACA,IAAApsD,EAAAvL,KAAAwa,QAAA0K,GACAgG,EAAA3f,EAAA4f,aAAA1F,GACAT,EAAAhlB,KAAAgrB,cAAAvF,EAAAP,GAEA,MAAAne,GAAAie,EAAA/gB,iBAAAuZ,QACAwH,EAAA/gB,MAAA+gB,EAAA/gB,MAAA8C,IAGA,IAAA8oE,EAAA3kD,EAAAzlB,IAAA,WAAAkyD,EAAA,CAAA8+K,GAAA,sBAAA9+K,EAAA8+K,GAAA,sBAEA,uBAAA5mK,EAEA,OADA7qD,EAAA2yC,SACAkY,EAAA7qD,GACK,qBAAA6qD,EAAA,CACL,IAAAvlE,EAAAwlE,EAAAD,EAAA7qD,GAGA,OAAA1a,EAAAC,QAAA2rO,EAAA,SAAA5hJ,EAAAh5E,GACA,IAAA7O,EAAA6O,EAAA/X,OAMA,MAJA,MAAA+X,EAAA7I,OAAA,UAAA6I,EAAA7I,OAAAhG,EAAA,KACA6O,KAAA4jB,MAAA,EAAAzyB,EAAA,IAGAgW,EAAAlX,EAAAka,EAAAnK,OAWAgM,YAAA,SAAA3J,EAAAuH,GACA,OAAAzC,EAAAziB,KAAAwa,QAAA0K,GAAAvH,IAUA6H,cAAA,cAGA9iB,EAAAC,QAAAF,0BCvIA,IAAAjD,EAAaX,EAAQ,QAoBrB,SAAA4D,EAAA0gB,GACA,IAAAuzN,EAAAvzN,KAAAwzN,SAEAn3O,EAAAwJ,QAAA0tO,KACAA,IAAA,CAAAA,GAAA,IAGAl3O,EAAA2nB,KAAAuvN,EAAA,SAAAthO,GACAA,GAIAwhO,EAAAxhO,KAIA,SAAAwhO,EAAAxhO,GACA,IAAAjV,EAAAiV,EAAAjV,KACA02O,EAAA,CACA73F,OAAA,QACAjnH,KAAA,QAUA,GAPA8+M,EAAA12O,KACAiV,EAAA6hI,SAAA4/F,EAAA12O,UACAiV,EAAAjV,MAGA22O,EAAA1hO,GAEAy+E,EAAAz+E,EAAA,oBACA,IAAA2hO,EAAA3hO,EAAA2hO,eAAA3hO,EAAA2hO,aAAA,IAEAljJ,EAAAkjJ,EAAA,cACAA,EAAAzwO,SAAA8O,EAAA+1M,iBAGA,SAAA4rB,EAAAzwO,UAAAutF,EAAAkjJ,EAAA,UACAA,EAAA76H,MAAA,SACA66H,EAAAzwO,iBAGA8O,EAAA+1M,gBAGA3rN,EAAA2nB,KAAA/R,EAAA7J,MAAA,YAAAi2K,GACAhiL,EAAAoK,SAAA43K,KAAAhiL,EAAAwJ,QAAAw4K,MACA3tF,EAAA2tF,EAAA,UAAA3tF,EAAA2tF,EAAA,UAEAA,EAAAv9K,MAAAu9K,EAAAlzK,MAGAwoO,EAAAt1D,MAKA,SAAAs1D,EAAA1hO,GACA,IAAAk2F,EAAAl2F,EAAAk2F,YAAAl2F,EAAAk2F,UAAA,IACA0rI,EAAA1rI,EAAAuR,WAAAvR,EAAAuR,SAAA,IAEA/3F,EAAA1P,EAAA0P,OAAA1P,EAAA0P,OAAA,GACAmyN,EAAAnyN,EAAA+nC,SAAA/nC,EAAA+nC,OAAA,IACAqqL,EAAA,CACArqL,OAAA,EACAgwD,SAAA,GAEAr9G,EAAA2nB,KAAArC,EAAA,SAAA7gB,EAAAqK,GACA4oO,EAAA5oO,IAAAulF,EAAAojJ,EAAA3oO,KACA2oO,EAAA3oO,GAAArK,KAIA+yO,EAAAlyN,QAAA+uE,EAAA/uE,EAAA,cACAA,EAAA+3F,SAAAm6H,EAAAlyN,aACAkyN,EAAAlyN,OAIA,SAAA+uE,EAAA/oF,EAAAi5E,GACA,OAAAj5E,EAAAI,eAAA64E,GAGArhF,EAAAC,QAAAF,0BCvGA,IAAAkL,EAAY9O,EAAQ,QAEpBgsD,EAAAl9C,EAAAk9C,cACAjhD,EAAA+D,EAAA/D,SACAwD,EAAAO,EAAAP,IA4BA,SAAAurI,EAAAvjI,GAKApV,KAAAw3I,WAAApiI,EAAAoiI,YAAA,GAMAx3I,KAAA44I,aAAAxjI,EAAAyjI,YAMA74I,KAAA84I,eAAA1jI,EAAA2jI,cAMA/4I,KAAA8M,KAQA6rI,EAAArB,kBAAA,SAAAzyI,GACA,IAAAse,EAAAte,EAAAse,OACA5X,EAAA4X,EAAA5X,KACAisI,EAAAjsI,GAAA6B,EAAA7B,EAAAqc,GACA,WAAA+wH,EAAA,CACAnB,aACAqB,aAAArB,EAEAuB,eAAA,IAAA51H,EAAA61H,gBAIA,IAAA75G,EAAAw5G,EAAA14I,UA0DA,SAAAg5I,EAAApxD,GACA,OAAAA,EAAA/6E,OAAA+6E,EAAA/6E,KAAA+9C,EAAAg9B,EAAA2vD,aAGA,SAAA5vH,EAAA9c,GACA,OAAAlB,EAAAkB,IAAA,MAAAA,EAAA7G,MACA6G,EAAA7G,MAEA6G,EAAA,GA5DAq0B,EAAA+5G,WAAA,SAAAC,GACA,OAAAF,EAAAj5I,MAAAyF,IAAA0zI,IAQAh6G,EAAAi6G,gBAAA,SAAAD,GACA,IAAAt1I,EACAg1I,EAAA74I,KAAA44I,aAMA,qBAAAO,IAAAN,EACA,OAAAM,EAWA,GAAAN,IAAA74I,KAAA84I,eAGA,OAFAj1I,EAAA7D,KAAAw3I,WAAAj0I,OACAvD,KAAAw3I,WAAA3zI,GAAAs1I,EACAt1I,EAGA,IAAAuJ,EAAA6rI,EAAAj5I,MAaA,OAZA6D,EAAAuJ,EAAA3H,IAAA0zI,GAEA,MAAAt1I,IACAg1I,GACAh1I,EAAA7D,KAAAw3I,WAAAj0I,OACAvD,KAAAw3I,WAAA3zI,GAAAs1I,EACA/rI,EAAAgmB,IAAA+lH,EAAAt1I,IAEAA,EAAAgW,KAIAhW,GAgBA,IAAApB,EAAAk2I,EACAj2I,EAAAC,QAAAF,0BClJA,IAAAjD,EAAaX,EAAQ,QAErBs4O,EAAYt4O,EAAQ,QAEpB85I,EAAkB95I,EAAQ,QA4B1Bu4O,EAAAD,EAAAl3O,UACAo3O,EAAAF,EAAAzyO,OAAA,CACAvE,KAAA,UAKA+iB,KAAA,SAAA2kE,EAAA9sE,GAGA8sE,IAAAroF,EAAAwJ,QAAA6+E,KACAA,EAAA,IAAA8wD,EAAA,CACAnB,WAAA3vD,KAIA7nF,KAAAs3O,aAAAzvJ,EACA7nF,KAAAsmJ,QAAAvrI,GAAA,GAAA8sE,EAAA2vD,WAAAj0I,OAAA,IAEA61B,MAAA,SAAAnwB,GACA,wBAAAA,EAAAjJ,KAAAs3O,aAAAp+F,WAAAjwI,GACAvC,KAAAwT,MAAAjR,IAEAqX,QAAA,SAAAi3N,GAEA,OADAA,EAAAv3O,KAAAo5B,MAAAm+M,GACAH,EAAA92N,QAAAvgB,KAAAC,KAAAu3O,IAAA,MAAAv3O,KAAAs3O,aAAA9/F,WAAA+/F,IAQAl5N,UAAA,SAAApV,GACA,OAAAmuO,EAAA/4N,UAAAte,KAAAC,UAAAo5B,MAAAnwB,KAEA8O,MAAA,SAAA9O,GACA,OAAAvC,KAAAwT,MAAAk9N,EAAAr/N,MAAAhY,KAAAC,KAAAiJ,KAMAg2I,SAAA,WACA,IAAA6tE,EAAA,GACA/xM,EAAA/a,KAAAsmJ,QACAixF,EAAAx8N,EAAA,GAEA,MAAAw8N,GAAAx8N,EAAA,GACA+xM,EAAAn6M,KAAA4kO,GACAA,IAGA,OAAAzqB,GAQA/tE,SAAA,SAAAlxH,GACA,IAAA7tB,KAAAqgJ,UAEA,OAAArgJ,KAAAs3O,aAAA9/F,WAAA3pH,IAOAlU,MAAA,WACA,OAAA3Z,KAAAsmJ,QAAA,GAAAtmJ,KAAAsmJ,QAAA,MAMA0zE,oBAAA,SAAAzuN,EAAA+P,GACAtb,KAAAw3O,YAAAjsO,EAAAksO,qBAAAn8N,KAEAwsE,eAAA,WACA,OAAA9nF,KAAAs3O,cAEA7qB,UAAAjtN,EAAAwrD,KACA0sL,WAAAl4O,EAAAwrD,OAMAqsL,EAAAvoM,OAAA,WACA,WAAAuoM,GAGA,IAAA50O,EAAA40O,EACA30O,EAAAC,QAAAF,0BChIA,IAAAjD,EAAaX,EAAQ,QAErBoH,EAAapH,EAAQ,QAErB2nJ,EAAiB3nJ,EAAQ,QAEzBi6N,EAAuBj6N,EAAQ,QAqB/B84O,EAAA,MAWA,SAAAC,EAAAC,EAAAt9N,EAAAxV,GACA/E,KAAAm7I,OAAA08F,EAuWA,SAAA7b,EAAAvyM,EAAAlP,EAAA0hN,EAAAh4N,GACA,IAAA4zO,EAAA5b,EAAA4b,cACAv9N,EAAA2hN,EAAA3hN,YACArV,EAAA4yO,IAAA3yO,iBAAAoV,IAAApV,iBAAA,KACA,OAAAD,IAAAjF,KAAAiF,EAAAwkB,GAAAxlB,GAAA,KAxWA2zO,EAAA33O,UAAA,CACAC,YAAA03O,EACAz3O,KAAA,WACAs4E,WAAA,iBAEAq/J,kBAAA,WACA,QACAxpO,KAAA,OACAnO,KAAA,QACK,UAEL43O,aAAA,WACA,OAAA/3O,KAAAg4O,YAEAr9M,SAAA,WACA,OAAA36B,KAAAm7I,QAEAhzI,QAAA,WACA,OAAAnI,KAAAwB,OAEAy2O,aAAA,WACA,OAAAj4O,KAAAk4O,KAEAC,cAAA,WACA,OAAAn4O,KAAAo4O,KAEAC,UAAA,WACA,OAAAr4O,KAAAu9M,SAYA+6B,kBAAA,WACA,OAAAt4O,KAAAu4O,iBAkBAC,YAAA,SAAAvwF,GACAA,EAAAzB,EAAArsC,UAAA8tC,GACA,IAAAhmJ,EAAAgmJ,EAAAwwF,cACAlrN,EAAA06H,EAAAywF,WAAA,EACAnrN,IAAA,OAAAA,IACA,IAAA/Q,EAAAyrI,EAAA0wF,UACAn8N,IAAA,OAAAA,IACA,IAAAo8N,EAAA3wF,EAAA4wF,SAEA,OADAD,EAAAlyO,KAAAiR,KAAAihO,EAAA,EAAA54O,KAAAs4O,qBAAA,GACA,CACAr2O,IACAsrB,IACA/Q,IACAo8N,MACA7gN,KAAAkwH,EAAAkiD,UACA2uC,aAAA72O,EAAA,IAAAsrB,EAAA,IAAA/Q,EACAyrI,SAGA8wF,YAAA,SAAA9wF,EAAAp6H,GAGA,OAFAA,KAAA,EAEA,IAAAA,EACA7tB,KAAAw4O,YAAAvwF,IAGAA,EAAA,IAAAjwH,KAAAh4B,KAAAw4O,YAAAvwF,GAAAlwH,MACAkwH,EAAA+wF,QAAA/wF,EAAA0wF,UAAA9qN,GACA7tB,KAAAw4O,YAAAvwF,KAEA17H,OAAA,SAAAhS,EAAAxV,GACA/E,KAAAu4O,iBAAAv4O,KAAAm7I,OAAAxgH,SAAA,YAAAl1B,IAAA,YACAzF,KAAAu9M,QAAAv9M,KAAAm7I,OAAA11I,IAAA,UACAzF,KAAAysG,WAAAzsG,KAAAm7I,OAAAxgH,SAAA,aAAA4wE,eAAA96F,WAAA,EACAzQ,KAAAg4O,WAAAh4O,KAAAi5O,cAAAj5O,KAAAk5O,oBACA,IAAAC,EAAAn5O,KAAAg4O,WAAAmB,OAAA,EACAC,EAAA,mBAEA5gC,EAAAx4M,KAAAm7I,OAAA11I,IAAA,YAAAy5B,QAEAm6M,EAAAr5O,KAAAm7I,OAAAl9B,qBAEAq7H,EAAA,eAAAt5O,KAAAu9M,QAAA,CAAA47B,EAAA,MAAAA,GACA35O,EAAA2nB,KAAA,eAAAxJ,GACA47N,EAAA/gC,EAAA76L,KACA07N,EAAAD,EAAAz7N,IAAA66L,EAAA76L,GAAA27N,EAAA37N,MAGA,IAAA67N,EAAA,CACAl3O,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,aAEAm7K,EAAAz5O,KAAAwB,MAAAyE,EAAAq9E,cAAA+1J,EAAAG,GAOA,SAAAD,EAAA/gC,EAAA76L,GACA,aAAA66L,EAAA76L,IAAA,SAAA66L,EAAA76L,GAPAne,EAAA2nB,KAAA,eAAAxJ,GACA47N,EAAA/gC,EAAA76L,KACA66L,EAAA76L,GAAA87N,EAAAL,EAAAz7N,IAAA27N,EAAA37N,MAQA3d,KAAAk4O,IAAA1/B,EAAA,GACAx4M,KAAAo4O,IAAA5/B,EAAA,IAWAjzM,YAAA,SAAAgG,EAAA6zB,GACA5/B,EAAAwJ,QAAAuC,SAAA,IACA,MAAA6zB,OAAA,GACA,IAAAs6M,EAAA15O,KAAAw4O,YAAAjtO,GACAysG,EAAAh4G,KAAAg4O,WACA/vF,EAAAyxF,EAAAZ,aAEA,GAAA15M,KAAAs6M,EAAA3hN,MAAAigF,EAAA5rF,MAAA2L,MAAA2hN,EAAA3hN,KAAAigF,EAAAzuF,IAAAwO,KAAA4/M,GACA,OAAA99N,SAGA,IAAA8/N,EAAAD,EAAAd,IAEAgB,EAAA55O,KAAAi5O,cAAA,CAAAjhI,EAAA5rF,MAAA2L,KAAAkwH,IAAA2xF,QAEA,mBAAA55O,KAAAu9M,QACA,CAAAv9M,KAAAwB,MAAAQ,EAAA23O,EAAA35O,KAAAk4O,IAAAl4O,KAAAk4O,IAAA,EAAAl4O,KAAAwB,MAAAS,EAAA23O,EAAA55O,KAAAo4O,IAAAp4O,KAAAo4O,IAAA,GAGA,CAAAp4O,KAAAwB,MAAAQ,EAAA43O,EAAA55O,KAAAk4O,IAAAl4O,KAAAk4O,IAAA,EAAAl4O,KAAAwB,MAAAS,EAAA03O,EAAA35O,KAAAo4O,IAAAp4O,KAAAo4O,IAAA,IAUA/2H,YAAA,SAAAx3C,GACA,IAAAo+E,EAAAjoJ,KAAA65O,YAAAhwK,GACA,OAAAo+E,KAAAlwH,MAUA+hN,WAAA,SAAAvuO,EAAA6zB,GACA,IAAAyqC,EAAA7pE,KAAAuF,YAAAgG,EAAA6zB,GACA,OACA26M,aAAA,CACA/3O,EAAA6nE,EAAA,IAAA7pE,KAAAk4O,IAAAl4O,KAAAysG,YAAA,EACAxqG,EAAA4nE,EAAA,IAAA7pE,KAAAo4O,IAAAp4O,KAAAysG,YAAA,EACAnqG,MAAAtC,KAAAk4O,IAAAl4O,KAAAysG,WACAlqG,OAAAvC,KAAAo4O,IAAAp4O,KAAAysG,YAEAvwF,OAAA2tD,EACAmwK,GAAA,CAAAnwK,EAAA,GAAA7pE,KAAAk4O,IAAA,EAAAruK,EAAA,GAAA7pE,KAAAo4O,IAAA,GACA6B,GAAA,CAAApwK,EAAA,GAAA7pE,KAAAk4O,IAAA,EAAAruK,EAAA,GAAA7pE,KAAAo4O,IAAA,GACA8B,GAAA,CAAArwK,EAAA,GAAA7pE,KAAAk4O,IAAA,EAAAruK,EAAA,GAAA7pE,KAAAo4O,IAAA,GACA+B,GAAA,CAAAtwK,EAAA,GAAA7pE,KAAAk4O,IAAA,EAAAruK,EAAA,GAAA7pE,KAAAo4O,IAAA,KAUAyB,YAAA,SAAAhwK,GACA,IAAAuwK,EAAA1zO,KAAAmK,OAAAg5D,EAAA,GAAA7pE,KAAAwB,MAAAQ,GAAAhC,KAAAk4O,KAAA,EACAmC,EAAA3zO,KAAAmK,OAAAg5D,EAAA,GAAA7pE,KAAAwB,MAAAS,GAAAjC,KAAAo4O,KAAA,EACApgI,EAAAh4G,KAAAg4O,WAAAhgI,MAEA,mBAAAh4G,KAAAu9M,QACAv9M,KAAAs6O,sBAAAD,EAAAD,EAAA,EAAApiI,GAGAh4G,KAAAs6O,sBAAAF,EAAAC,EAAA,EAAAriI,IAMAykH,eAAAj9N,EAAAmqB,MAAAqyM,EAAA,eAKAU,iBAAAl9N,EAAAmqB,MAAAqyM,EAAA,eAQAkd,iBAAA,WACA,IAAAlhI,EAAAh4G,KAAAm7I,OAAA11I,IAAA,SAEAg6L,EAAAznF,EAUA,GARAx4G,EAAAwJ,QAAAy2L,IAAA,IAAAA,EAAAl8L,SACAk8L,IAAA,IAGA,UAAejR,KAAAiR,KACfznF,EAAA,CAAAynF,EAAA,SAAAA,EAAA,WAGA,uBAA4BjR,KAAAiR,GAAA,CAC5B,IAAArzK,EAAApsB,KAAAw4O,YAAA/4C,GACAiZ,EAAAtsL,EAAA67H,KACAywD,EAAA6hC,SAAA7hC,EAAAggC,WAAA,GACA,IAAAnvN,EAAAvpB,KAAA+4O,YAAArgC,GAAA,GACA1gG,EAAA,CAAA5rF,EAAA0sN,aAAAvvN,EAAAuvN,cAGA,oCAAyCtqD,KAAAiR,KACzCznF,EAAA,CAAAynF,MAGA,IAAAtvI,EAAAnwD,KAAAi5O,cAAAjhI,GAMA,OAJA7nD,EAAA/jC,MAAA2L,KAAAo4B,EAAA5mC,IAAAwO,MACAigF,EAAAw0C,UAGAx0C,GAWAihI,cAAA,SAAAjhI,GAEA,IAAAwiI,EADAxiI,EAAA,CAAAh4G,KAAAw4O,YAAAxgI,EAAA,IAAAh4G,KAAAw4O,YAAAxgI,EAAA,KAGAA,EAAA,GAAAjgF,KAAAigF,EAAA,GAAAjgF,OACAyiN,GAAA,EACAxiI,EAAAw0C,WAGA,IAAAiuF,EAAA/zO,KAAAmK,MAAAmnG,EAAA,GAAAjgF,KAAA4/M,GAAAjxO,KAAAmK,MAAAmnG,EAAA,GAAAjgF,KAAA4/M,GAAA,EASA1vF,EAAA,IAAAjwH,KAAAggF,EAAA,GAAAjgF,MACA2iN,EAAAzyF,EAAA0wF,UACAgC,EAAA3iI,EAAA,GAAAiwC,KAAA0wF,UAGA,GAFA1wF,EAAA+wF,QAAA0B,EAAAD,EAAA,GAEAxyF,EAAA0wF,YAAAgC,EAAA,CACA,IAAA59D,EAAA90B,EAAAkiD,UAAAnyF,EAAA,GAAAjgF,KAAA,OAEA,MAAAkwH,EAAA0wF,YAAAgC,IAAA1yF,EAAAkiD,UAAAnyF,EAAA,GAAAjgF,MAAAglJ,EAAA,EACA09D,GAAA19D,EACA90B,EAAA+wF,QAAA0B,EAAAD,EAAA,GAIA,IAAAtB,EAAAzyO,KAAAmK,OAAA4pO,EAAAziI,EAAA,GAAA4gI,IAAA,MACAgB,EAAAY,EAAA,EAAArB,IAAA,EAEA,OADAqB,GAAAxiI,EAAAw0C,UACA,CACAx0C,MAAA,CAAAA,EAAA,GAAA8gI,aAAA9gI,EAAA,GAAA8gI,cACA1sN,MAAA4rF,EAAA,GACAzuF,IAAAyuF,EAAA,GACAyiI,SACAtB,QAEAS,UACAgB,MAAA5iI,EAAA,GAAA4gI,IACAiC,MAAA7iI,EAAA,GAAA4gI,MAaA0B,sBAAA,SAAAV,EAAAhB,EAAA5gI,GACA,IAAA8iI,EAAA96O,KAAAi5O,cAAAjhI,GAEA,GAAA4hI,EAAAkB,EAAA3B,OAAA,IAAAS,GAAAhB,EAAAkC,EAAAF,OAAAhB,IAAAkB,EAAA3B,OAAAP,EAAAkC,EAAAD,MACA,SAGA,IAAAE,EAAA,GAAAnB,EAAA,GAAAkB,EAAAF,MAAAhC,EACA3wF,EAAA,IAAAjwH,KAAA8iN,EAAA1uN,MAAA2L,MAEA,OADAkwH,EAAA+wF,QAAA8B,EAAA1uN,MAAA5P,EAAAu+N,GACA/6O,KAAAw4O,YAAAvwF,KAGA2vF,EAAAn/J,WAAAm/J,EAAA33O,UAAAw4E,WACAm/J,EAAAE,kBAAAF,EAAA33O,UAAA63O,kBAEAF,EAAA9oM,OAAA,SAAAv0B,EAAAxV,GACA,IAAAi2O,EAAA,GAYA,OAXAzgO,EAAA8kG,cAAA,oBAAAw4H,GACA,IAAA9mC,EAAA,IAAA6mC,EAAAC,EAAAt9N,EAAAxV,GACAi2O,EAAAroO,KAAAo+L,GACA8mC,EAAA3yO,iBAAA6rM,IAEAx2L,EAAAkkG,WAAA,SAAAw8H,GACA,aAAAA,EAAAx1O,IAAA,sBAEAw1O,EAAA/1O,iBAAA81O,EAAAC,EAAAx1O,IAAA,wBAGAu1O,GAUAliB,EAAA9gE,SAAA,WAAA4/E,GACA,IAAAn1O,EAAAm1O,EACAl1O,EAAAC,QAAAF,0BCvZA,IAAAkL,EAAY9O,EAAQ,QAEpBgsD,EAAAl9C,EAAAk9C,cACA1jC,EAAAxZ,EAAAwZ,KACA1d,EAAAkE,EAAAlE,SACA6L,EAAA3H,EAAA2H,SACA5Q,EAAAiJ,EAAAjJ,OACAkF,EAAA+D,EAAA/D,SACA2L,EAAA5H,EAAA4H,MAEA4lI,EAAat8I,EAAQ,QAErBkxE,EAAAorE,EAAAprE,iBAEA1tD,EAAoBxjB,EAAQ,QAE5Bq8O,EAAA74N,EAAA64N,aAEAC,EAAat8O,EAAQ,QAErBu8O,EAAuBv8O,EAAQ,QAE/Bw8O,EAAAD,EAAAC,iBAyEA,SAAAx6E,EAAAy6E,EAAArhN,EAAA7kB,GACA+lO,EAAAnuD,WAAA/yJ,KACAA,EAAAkhN,EAAAI,mBAAAthN,IAGA7kB,KAAA,GACAkmO,MAAA,IAAAp8M,QASA,IARA,IAAA6hI,GAAA3rJ,EAAA2rJ,SAAA,IAAA7hI,QACA4hI,EAAAj2G,EAAAz1C,EAAA0rJ,WACA06E,EAAA3wL,IACA4wL,EAAA5wL,IAEAnnD,EAAA,GACAg4O,EAAAC,EAAA1hN,EAAAqhN,EAAAv6E,EAAA3rJ,EAAAsmO,UAEA3wO,EAAA,EAAiBA,EAAA2wO,EAAc3wO,IAAA,CAC/B,IAAA6wO,EAAA76E,EAAAh2J,GAAArG,EAAA,GAA2CkF,EAAAm3J,EAAAh2J,IAAAg2J,EAAAh2J,GAAA,CAC3CuD,KAAAyyJ,EAAAh2J,KAEA8wO,EAAAD,EAAAttO,KACAwtO,EAAAp4O,EAAAqH,GAAA,CACA2b,UAAA,IAGA,MAAAm1N,GAAA,MAAAL,EAAA/1O,IAAAo2O,KAIAC,EAAAxtO,KAAAwtO,EAAAv1N,YAAAs1N,EACAL,EAAApoN,IAAAyoN,EAAA9wO,IAGA,MAAA6wO,EAAAz7O,OAAA27O,EAAA37O,KAAAy7O,EAAAz7O,MACA,MAAAy7O,EAAAr1N,cAAAu1N,EAAAv1N,YAAAq1N,EAAAr1N,aAIAu6I,EAAA35I,KAAA,SAAA+B,EAAAT,GAKA,GAJAS,EAAA6mD,EAAA7mD,GAAAgW,QAIA,IAAAhW,EAAA3lB,QAAA2lB,EAAA,KACA43I,EAAA1tI,IAAA3K,GAAA,OADA,CAKA,IAAAszN,EAAAj7E,EAAA1tI,IAAA3K,EAAA,IACAtB,EAAA+B,EAAA,SAAA8yN,EAAAr+N,GAEAlU,EAAAuyO,OAAAR,EAAA/1O,IAAAu2O,IAEA,MAAAA,KAAAN,IACAK,EAAAp+N,GAAAq+N,EACAC,EAAAv4O,EAAAs4O,GAAAvzN,EAAA9K,SAKA,IAAAu+N,EAAA,EA2DA,SAAAD,EAAAH,EAAArzN,EAAA4rL,GACA,MAAAgnC,EAAA51O,IAAAgjB,GACAqzN,EAAAp1N,UAAA+B,GAAA4rL,GAEAynC,EAAArzN,WACAqzN,EAAAznC,gBACAonC,EAAAroN,IAAA3K,GAAA,IAhEAtB,EAAAm0N,EAAA,SAAAa,EAAAC,GACA,IAAA3zN,EAEA4zN,EACAC,EAEA,GAAA7yO,EAAA0yO,GACA1zN,EAAA0zN,EACAA,EAAA,OACK,CACL1zN,EAAA0zN,EAAA7tO,KACA,IAAAu5E,EAAAs0J,EAAAt0J,YACAs0J,EAAAt0J,YAAA,KACAs0J,EAAA5mO,EAAA4mO,GACAA,EAAAt0J,cAEAw0J,EAAAF,EAAAp7E,QACAu7E,EAAAH,EAAAz1N,UACAy1N,EAAA7tO,KAAA6tO,EAAA1zN,SAAA0zN,EAAA9nC,cAAA8nC,EAAAp7E,QAAAo7E,EAAAz1N,UAAA,KAGA,IAAAwC,EAAA43I,EAAAr7J,IAAAgjB,GAEA,QAAAS,EAAA,CAIAA,EAAA6mD,EAAA7mD,GAEA,IAAAA,EAAA3lB,OACA,QAAAwH,EAAA,EAAqBA,GAAAsxO,KAAA94O,QAAA,GAA0DwH,IAAA,CAC/E,MAAAmxO,EAAAx4O,EAAAH,QAAA,MAAAG,EAAAw4O,GAAAzzN,SACAyzN,IAGAA,EAAAx4O,EAAAH,QAAA2lB,EAAAvW,KAAAupO,KAKA/0N,EAAA+B,EAAA,SAAA8yN,EAAA3nC,GACA,IAAAynC,EAAAp4O,EAAAs4O,GAGA,GAFAC,EAAA3mO,EAAAwmO,EAAAK,GAAA1zN,EAAA4rL,GAEA,MAAAynC,EAAAxtO,MAAA+tO,EAAA,CACA,IAAAE,EAAAF,EAAAhoC,IACAzqM,EAAA2yO,OAAA,CACAjuO,KAAAiuO,IAEAT,EAAAxtO,KAAAwtO,EAAAv1N,YAAAg2N,EAAAjuO,KACAwtO,EAAAU,eAAAD,EAAAC,eAIAF,GAAAhnO,EAAAwmO,EAAAp1N,UAAA41N,QAeA,IAAAG,EAAArnO,EAAAqnO,cACAC,EAAAtnO,EAAAsnO,mBACAC,EAAA,MAAAD,EACAA,EAAAD,EAAAC,GAAA,IAGA,IAFA,IAAA5oC,EAAA2oC,GAAA,QAEAT,EAAA,EAA4BA,EAAAN,EAAyBM,IAAA,CACrDF,EAAAp4O,EAAAs4O,GAAAt4O,EAAAs4O,IAAA,OACAvzN,EAAAqzN,EAAArzN,SAEA,MAAAA,IACAqzN,EAAArzN,SAAAm0N,EAAA9oC,EAAA2nC,EAAAkB,GACAb,EAAAznC,cAAA,IAEAooC,GAAAC,GAAA,KACAZ,EAAA1nC,cAAA,GAGAsoC,KAGA,MAAAZ,EAAAxtO,OAAAwtO,EAAAxtO,KAAAsuO,EAAAd,EAAArzN,SAAA+yN,IAEA,MAAAM,EAAA37O,MAAA+6O,EAAAjhN,EAAA+hN,EAAAF,EAAAxtO,QACAwtO,EAAA37O,KAAA,WAIA,OAAAuD,EAaA,SAAAi4O,EAAA1hN,EAAAqhN,EAAAv6E,EAAA87E,GAGA,IAAAnB,EAAAh1O,KAAAS,IAAA8yB,EAAA6iN,uBAAA,EAAAxB,EAAA/3O,OAAAw9J,EAAAx9J,OAAAs5O,GAAA,GAKA,OAJA11N,EAAAm0N,EAAA,SAAAa,GACA,IAAAE,EAAAF,EAAAp7E,QACAs7E,IAAAX,EAAAh1O,KAAAS,IAAAu0O,EAAAW,EAAA94O,WAEAm4O,EAGA,SAAAkB,EAAAtuO,EAAAlB,EAAAuvO,GACA,GAAAA,GAAA,MAAAvvO,EAAA3H,IAAA6I,GAAA,CACA,IAAAvD,EAAA,EAEA,YAAAqC,EAAA3H,IAAA6I,EAAAvD,GACAA,IAGAuD,GAAAvD,EAIA,OADAqC,EAAAgmB,IAAA9kB,GAAA,GACAA,EAGA,IAAA7L,EAAAo+J,EACAn+J,EAAAC,QAAAF,0BCxTA,IAAAs6O,EAAYl+O,EAAQ,QAEpBkjO,EAAcljO,EAAQ,QAEtB8O,EAAY9O,EAAQ,QAEpBsoB,EAAAxZ,EAAAwZ,KAOA,SAAA61N,EAAA/zO,GACA,OAAAkK,SAAAlK,EAAA,IAOA,SAAAg0O,EAAAhwN,EAAA+6F,GACA+5G,EAAAmb,UACAl9O,KAAAitB,OACAjtB,KAAAgoH,UACA,IAAAm1H,EAAAvyO,SAAAirB,cAAA,OACA6uM,EAAA95N,SAAAirB,cAAA,OACAsnN,EAAA58O,MAAA4oH,QAAA,mFACAu7G,EAAAnkO,MAAA4oH,QAAA,kCACAl8F,EAAAmzM,YAAA+c,GACAn9O,KAAAo9O,SAAA1Y,EACA1kO,KAAAq9O,aAAAF,EACAn9O,KAAAq+D,SAEA,IAAAi/K,EAAAt1H,EAAAu1H,eACAC,EAAAx1H,EAAAy1H,aAEAz1H,EAAAu1H,eAAA,SAAAxsM,GACAusM,EAAAv9O,KAAAioH,EAAAj3E,GAEAA,GACAA,EAAAo0L,UAAAp0L,EAAAo0L,SAAAT,IAIA18G,EAAAy1H,aAAA,SAAA1sM,GAEAA,EAAAq0L,OAAAr0L,EAAAq0L,MAAAV,GACA8Y,EAAAz9O,KAAAioH,EAAAj3E,IAGA/wC,KAAA09O,aAAA,EAgHA,SAAAC,EAAAx3F,GACA,kBACA42F,EAAA,iDAAA52F,EAAA,MA/GA82F,EAAAh9O,UAAA,CACAC,YAAA+8O,EACAW,QAAA,WACA,aAMAC,gBAAA,WACA,OAAA79O,KAAAq9O,cAEAS,sBAAA,WACA,IAAAC,EAAA/9O,KAAA69O,kBAEA,GAAAE,EACA,OACAC,WAAAD,EAAAC,YAAA,EACAC,UAAAF,EAAAE,WAAA,IAQA9qN,QAAA,WACA,IAAAhmB,EAAAnN,KAAAgoH,QAAAC,gBAAA,MAEAjoH,KAAAk+O,WAAA/wO,IAEA+wO,WAAA,SAAA/wO,GAGA,IAFA,IAAAu3N,EAAA1kO,KAAAo9O,SAEAryO,EAAA,EAAmBA,EAAAoC,EAAA5J,OAAiBwH,IAAA,CACpC,IAAAgmC,EAAA5jC,EAAApC,GAEAgmC,EAAA+/B,WAAA//B,EAAAzF,QACAyF,EAAAotM,qBACAptM,EAAAo0L,SAAAT,GAIA3zL,EAAAotM,qBAAA,IAEAptM,EAAAotM,qBACAptM,EAAAq0L,MAAAV,GAGA3zL,EAAAotM,qBAAA,EAEAptM,EAAAvwC,UACAuwC,EAAAqtM,aAAArtM,EAAAqtM,eACArtM,EAAA0zL,UAAA1zL,EAAA3wC,OAAAL,KAAAgxC,EAAA2zL,GACA3zL,EAAAstM,YAAAttM,EAAAstM,eAIAttM,EAAAvwC,SAAA,EAGAR,KAAA09O,cAIA19O,KAAAq9O,aAAAjd,YAAAsE,GAEA1kO,KAAA09O,aAAA,IAGAr/K,OAAA,SAAA/7D,EAAAC,GACAD,EAAA,MAAAA,EAAAtC,KAAAs+O,YAAAh8O,EACAC,EAAA,MAAAA,EAAAvC,KAAAu+O,aAAAh8O,EAEA,GAAAvC,KAAAskC,SAAAhiC,GAAAtC,KAAAukC,UAAAhiC,EAAA,CACAvC,KAAAskC,OAAAhiC,EACAtC,KAAAukC,QAAAhiC,EACA,IAAAi8O,EAAAx+O,KAAAq9O,aAAA98O,MACAi+O,EAAAl8O,QAAA,KACAk8O,EAAAj8O,SAAA,OAGAuT,QAAA,WACA9V,KAAAitB,KAAAo8F,UAAA,GACArpH,KAAAo9O,SAAAp9O,KAAAq9O,aAAAr9O,KAAAgoH,QAAA,MAEAz5G,SAAA,WACA,OAAAvO,KAAAskC,QAEAg6B,UAAA,WACA,OAAAt+D,KAAAukC,SAEA73B,MAAA,WACA1M,KAAAq9O,cACAr9O,KAAAitB,KAAAqzM,YAAAtgO,KAAAq9O,eAGAiB,UAAA,WACA,IAAArxN,EAAAjtB,KAAAitB,KACAwxN,EAAAxxN,EAAAyxN,aACA,OAAAzxN,EAAA0xN,aAAA3B,EAAAyB,EAAAn8O,QAAA06O,EAAAyB,EAAAG,aAAA5B,EAAAyB,EAAAI,cAAA,GAEAN,WAAA,WACA,IAAAtxN,EAAAjtB,KAAAitB,KACAwxN,EAAAxxN,EAAAyxN,aACA,OAAAzxN,EAAA6xN,cAAA9B,EAAAyB,EAAAl8O,SAAAy6O,EAAAyB,EAAAM,YAAA/B,EAAAyB,EAAAO,eAAA,IAWA73N,EAAA,6JAAA7Y,GACA2uO,EAAAh9O,UAAAqO,GAAAqvO,EAAArvO,KAEA,IAAA7L,EAAAw6O,EACAv6O,EAAAC,QAAAF,0BC7KA,IAAAw8O,EAAWpgP,EAAQ,QACnB6+N,EAAW7+N,EAAQ,QACnBgE,EAAehE,EAAQ,QACvBqgP,EAAcrgP,EAAQ,QAAWqgP,QACjCx8O,EAAAC,QAAAu8O,KAAA7d,SAAA,SAAA9zN,GACA,IAAAyoB,EAAAipN,EAAAr7O,EAAAf,EAAA0K,IACA8wN,EAAAX,EAAA95N,EACA,OAAAy6N,EAAAroM,EAAA0zB,OAAA20K,EAAA9wN,IAAAyoB,2BCRA,IAAAmpN,EAAgBtgP,EAAQ,QACxBugP,EAAcvgP,EAAQ,QAGtB6D,EAAAC,QAAA,SAAA08O,GACA,gBAAAh8O,EAAAy9F,GACA,IAGAv4F,EAAAC,EAHAylB,EAAAw4G,OAAA24G,EAAA/7O,IACA0H,EAAAo0O,EAAAr+I,GACA91F,EAAAijB,EAAA1qB,OAEA,OAAAwH,EAAA,GAAAA,GAAAC,EAAAq0O,EAAA,QAAA/2O,GACAC,EAAA0lB,EAAAjd,WAAAjG,GACAxC,EAAA,OAAAA,EAAA,OAAAwC,EAAA,IAAAC,IAAAxC,EAAAylB,EAAAjd,WAAAjG,EAAA,WAAAvC,EAAA,MACA62O,EAAApxN,EAAAxb,OAAA1H,GAAAxC,EACA82O,EAAApxN,EAAAiR,MAAAn0B,IAAA,GAAAvC,EAAA,OAAAD,EAAA,0CCdA,IAAAq5N,EAAc/iO,EAAQ,QAEtBygP,EAAA1d,EAAA16N,IACAq4O,EAAA3d,EAAAz6N,IACAq4O,EAAA5d,EAAA7pN,MACA0nO,EAAA7d,EAAApyN,SACAkwO,EAAA9d,EAAArkM,IACAoiN,EAAA/d,EAAArsN,MACAqqO,EAAAhe,EAAAxjN,IAqBA,SAAA3b,EAAAilE,EAAAm4K,EAAAC,EAAAC,GACA,IAIA16H,EACAD,EACAl+G,EACAC,EAPA64O,EAAA,GACA7iO,EAAA,GACA1B,EAAA,GACAC,EAAA,GAMA,GAAAqkO,EAAA,CACA74O,EAAA,CAAA4S,SACA3S,EAAA,EAAA2S,UAEA,QAAA/O,EAAA,EAAA0B,EAAAi7D,EAAAnkE,OAAwCwH,EAAA0B,EAAS1B,IACjDu0O,EAAAp4O,IAAAwgE,EAAA38D,IACAw0O,EAAAp4O,IAAAugE,EAAA38D,IAIAu0O,EAAAp4O,IAAA64O,EAAA,IACAR,EAAAp4O,IAAA44O,EAAA,IAGA,IAAAh1O,EAAA,EAAA0B,EAAAi7D,EAAAnkE,OAAsCwH,EAAA0B,EAAS1B,IAAA,CAC/C,IAAA8+D,EAAAnC,EAAA38D,GAEA,GAAA+0O,EACAz6H,EAAA39C,EAAA38D,IAAA,EAAA0B,EAAA,GACA24G,EAAA19C,GAAA38D,EAAA,GAAA0B,OACK,CACL,OAAA1B,OAAA0B,EAAA,GACAuzO,EAAArtO,KAAAgtO,EAAAj4K,EAAA38D,KACA,SAEAs6G,EAAA39C,EAAA38D,EAAA,GACAq6G,EAAA19C,EAAA38D,EAAA,GAIA60O,EAAAziO,EAAAioG,EAAAC,GAEAm6H,EAAAriO,IAAA0iO,GACA,IAAApwI,EAAAgwI,EAAA51K,EAAAw7C,GACA3V,EAAA+vI,EAAA51K,EAAAu7C,GACA1rG,EAAA+1F,EAAAC,EAEA,IAAAh2F,IACA+1F,GAAA/1F,EACAg2F,GAAAh2F,GAGA8lO,EAAA/jO,EAAA0B,GAAAsyF,GACA+vI,EAAA9jO,EAAAyB,EAAAuyF,GACA,IAAAuwI,EAAAP,EAAA,GAAA71K,EAAApuD,GACAkhM,EAAA+iC,EAAA,GAAA71K,EAAAnuD,GAEAqkO,IACAR,EAAAU,IAAA/4O,GACAo4O,EAAAW,IAAA94O,GACAo4O,EAAA5iC,IAAAz1M,GACAo4O,EAAA3iC,IAAAx1M,IAGA64O,EAAArtO,KAAAstO,GACAD,EAAArtO,KAAAgqM,GAOA,OAJAmjC,GACAE,EAAArtO,KAAAqtO,EAAAl7K,SAGAk7K,EAGAt9O,EAAAC,QAAAF,wBCxGA,IAAAm/N,EAAc/iO,EAAQ,QAEtBqhP,EAAAte,EAAA9yL,OACAjzB,EAAA+lN,EAAA9lN,WAOA2yN,EAAA/nO,KAAA2uB,IACA8qN,EAAAz5O,KAAAk+C,KACAyvC,EAAA,KACA+rJ,EAAA,KACAC,EAAAF,EAAA,GACAG,EAAA,IAEAC,EAAAL,IAEAM,EAAAN,IAEAO,EAAAP,IAEA,SAAAQ,EAAAz3O,GACA,OAAAA,GAAAorF,GAAAprF,EAAAorF,EAGA,SAAAssJ,EAAA13O,GACA,OAAAA,EAAAorF,GAAAprF,GAAAorF,EAcA,SAAAusJ,EAAAvkO,EAAAC,EAAAC,EAAAwxC,EAAA3xC,GACA,IAAAykO,EAAA,EAAAzkO,EACA,OAAAykO,OAAAxkO,EAAA,EAAAD,EAAAE,GAAAF,OAAA2xC,EAAA,EAAA8yL,EAAAtkO,GAcA,SAAAukO,EAAAzkO,EAAAC,EAAAC,EAAAwxC,EAAA3xC,GACA,IAAAykO,EAAA,EAAAzkO,EACA,YAAAE,EAAAD,GAAAwkO,EAAA,GAAAtkO,EAAAD,GAAAF,GAAAykO,GAAA9yL,EAAAxxC,GAAAH,KAeA,SAAA2kO,EAAA1kO,EAAAC,EAAAC,EAAAwxC,EAAA9kD,EAAA+3O,GAEA,IAAAz4O,EAAAwlD,EAAA,GAAAzxC,EAAAC,GAAAF,EACA7T,EAAA,GAAA+T,EAAA,EAAAD,EAAAD,GACA5T,EAAA,GAAA6T,EAAAD,GACAG,EAAAH,EAAApT,EACA+0N,EAAAx1N,IAAA,EAAAD,EAAAE,EACA0wH,EAAA3wH,EAAAC,EAAA,EAAAF,EAAAiU,EACAmvJ,EAAAljK,IAAA,EAAAD,EAAAgU,EACAqR,EAAA,EAEA,GAAA6yN,EAAA1iB,IAAA0iB,EAAAvnH,GACA,GAAAunH,EAAAl4O,GACAw4O,EAAA,SACK,CACL,IAAA/wL,GAAAxnD,EAAAD,EAEAynD,GAAA,GAAAA,GAAA,IACA+wL,EAAAnzN,KAAAoiC,OAGG,CACH,IAAAgxL,EAAA9nH,IAAA,EAAA6kG,EAAAryD,EAEA,GAAA+0E,EAAAO,GAAA,CACA,IAAA/iB,EAAA/kG,EAAA6kG,EAGA9tK,GAFAD,GAAAznD,EAAAD,EAAA21N,GAEAA,EAAA,GAEAjuK,GAAA,GAAAA,GAAA,IACA+wL,EAAAnzN,KAAAoiC,GAGAC,GAAA,GAAAA,GAAA,IACA8wL,EAAAnzN,KAAAqiC,QAEK,GAAA+wL,EAAA,GACL,IAAAC,EAAAf,EAAAc,GACAE,EAAAnjB,EAAAx1N,EAAA,IAAAD,IAAA4wH,EAAA+nH,GACAE,EAAApjB,EAAAx1N,EAAA,IAAAD,IAAA4wH,EAAA+nH,GAGAC,EADAA,EAAA,GACA1S,GAAA0S,EAAAb,GAEA7R,EAAA0S,EAAAb,GAIAc,EADAA,EAAA,GACA3S,GAAA2S,EAAAd,GAEA7R,EAAA2S,EAAAd,GAGArwL,IAAAznD,GAAA24O,EAAAC,KAAA,EAAA74O,GAEA0nD,GAAA,GAAAA,GAAA,IACA+wL,EAAAnzN,KAAAoiC,OAEK,CACL,IAAAkuK,GAAA,EAAAH,EAAAx1N,EAAA,EAAAD,EAAA4wH,IAAA,EAAAgnH,EAAAniB,QACAxkM,EAAA9yB,KAAA2/C,KAAA83K,GAAA,EACAkjB,EAAAlB,EAAAniB,GACA7tK,EAAAzpD,KAAAwY,IAAAsa,GAGAi1G,GAFAx+E,IAAAznD,EAAA,EAAA64O,EAAAlxL,IAAA,EAAA5nD,GACA2nD,IAAA1nD,EAAA64O,GAAAlxL,EAAAkwL,EAAA35O,KAAA0Y,IAAAoa,MAAA,EAAAjxB,KACAC,EAAA64O,GAAAlxL,EAAAkwL,EAAA35O,KAAA0Y,IAAAoa,MAAA,EAAAjxB,IAEA0nD,GAAA,GAAAA,GAAA,IACA+wL,EAAAnzN,KAAAoiC,GAGAC,GAAA,GAAAA,GAAA,IACA8wL,EAAAnzN,KAAAqiC,GAGAu+E,GAAA,GAAAA,GAAA,IACAuyG,EAAAnzN,KAAA4gH,IAKA,OAAA5gH,EAcA,SAAAyzN,EAAAjlO,EAAAC,EAAAC,EAAAwxC,EAAAwzL,GACA,IAAA/4O,EAAA,EAAA+T,EAAA,GAAAD,EAAA,EAAAD,EACA9T,EAAA,EAAA+T,EAAA,EAAAyxC,EAAA,EAAA1xC,EAAA,EAAAE,EACA9T,EAAA,EAAA6T,EAAA,EAAAD,EACAwR,EAAA,EAEA,GAAA6yN,EAAAn4O,IACA,GAAAo4O,EAAAn4O,GAAA,CACA,IAAAynD,GAAAxnD,EAAAD,EAEAynD,GAAA,GAAAA,GAAA,IACAsxL,EAAA1zN,KAAAoiC,QAGG,CACH,IAAAgxL,EAAAz4O,IAAA,EAAAD,EAAAE,EAEA,GAAAi4O,EAAAO,GACAM,EAAA,IAAA/4O,GAAA,EAAAD,QACK,GAAA04O,EAAA,GACL,IAAAC,EAAAf,EAAAc,GAEA/wL,GADAD,IAAAznD,EAAA04O,IAAA,EAAA34O,KACAC,EAAA04O,IAAA,EAAA34O,IAEA0nD,GAAA,GAAAA,GAAA,IACAsxL,EAAA1zN,KAAAoiC,GAGAC,GAAA,GAAAA,GAAA,IACAqxL,EAAA1zN,KAAAqiC,IAKA,OAAAriC,EAcA,SAAA2zN,EAAAnlO,EAAAC,EAAAC,EAAAwxC,EAAA3xC,EAAAijB,GACA,IAAAoiN,GAAAnlO,EAAAD,GAAAD,EAAAC,EACAqlO,GAAAnlO,EAAAD,GAAAF,EAAAE,EACAqlO,GAAA5zL,EAAAxxC,GAAAH,EAAAG,EACAqlO,GAAAF,EAAAD,GAAArlO,EAAAqlO,EACAI,GAAAF,EAAAD,GAAAtlO,EAAAslO,EACAI,GAAAD,EAAAD,GAAAxlO,EAAAwlO,EAEAviN,EAAA,GAAAhjB,EACAgjB,EAAA,GAAAoiN,EACApiN,EAAA,GAAAuiN,EACAviN,EAAA,GAAAyiN,EAEAziN,EAAA,GAAAyiN,EACAziN,EAAA,GAAAwiN,EACAxiN,EAAA,GAAAsiN,EACAtiN,EAAA,GAAA0uB,EAoBA,SAAAg0L,EAAAnmL,EAAAC,EAAAjM,EAAAC,EAAArwB,EAAAC,EAAAqoC,EAAAC,EAAA/lE,EAAAC,EAAAo9B,GAEA,IAAAjjB,EAGA7P,EACAxI,EACA2rG,EACAva,EALAz4E,EAAA,KACAF,EAAA1C,IAKAymO,EAAA,GAAAv+O,EACAu+O,EAAA,GAAAt+O,EAGA,QAAA0a,EAAA,EAAkBA,EAAA,EAAQA,GAAA,IAC1B6jO,EAAA,GAAAI,EAAAhlL,EAAAhM,EAAApwB,EAAAsoC,EAAAnrD,GACA6jO,EAAA,GAAAI,EAAA/kL,EAAAhM,EAAApwB,EAAAsoC,EAAAprD,GACA+yF,EAAA7zF,EAAA0kO,EAAAC,GAEA9wI,EAAAlzF,IACAJ,EAAAO,EACAH,EAAAkzF,GAIAlzF,EAAA1C,IAEA,QAAA/O,EAAA,EAAiBA,EAAA,GAAQA,IAAA,CACzB,GAAA2R,EAAA0jO,EACA,MAGA7zO,EAAA6P,EAAAM,EACA3Y,EAAAqY,EAAAM,EAEA8jO,EAAA,GAAAI,EAAAhlL,EAAAhM,EAAApwB,EAAAsoC,EAAAv7D,GACAi0O,EAAA,GAAAI,EAAA/kL,EAAAhM,EAAApwB,EAAAsoC,EAAAx7D,GACAmjG,EAAA7zF,EAAA2kO,EAAAD,GAEAh0O,GAAA,GAAAmjG,EAAAlzF,GACAJ,EAAA7P,EACAiQ,EAAAkzF,IAGA+wI,EAAA,GAAAG,EAAAhlL,EAAAhM,EAAApwB,EAAAsoC,EAAA/jE,GACA08O,EAAA,GAAAG,EAAA/kL,EAAAhM,EAAApwB,EAAAsoC,EAAAhkE,GACAoxF,EAAAt5E,EAAA4kO,EAAAF,GAEAx8O,GAAA,GAAAoxF,EAAA34E,GACAJ,EAAArY,EACAyY,EAAA24E,GAEAz4E,GAAA,IAYA,OANA2iB,IACAA,EAAA,GAAAuhN,EAAAhlL,EAAAhM,EAAApwB,EAAAsoC,EAAA1rD,GACAijB,EAAA,GAAAuhN,EAAA/kL,EAAAhM,EAAApwB,EAAAsoC,EAAA3rD,IAIA+jO,EAAA3jO,GAYA,SAAAZ,EAAAS,EAAAC,EAAAC,EAAAH,GACA,IAAAykO,EAAA,EAAAzkO,EACA,OAAAykO,KAAAxkO,EAAA,EAAAD,EAAAE,GAAAF,IAAAG,EAYA,SAAAylO,EAAA3lO,EAAAC,EAAAC,EAAAH,GACA,aAAAA,IAAAE,EAAAD,GAAAD,GAAAG,EAAAD,IAaA,SAAA2lO,EAAA5lO,EAAAC,EAAAC,EAAAtT,EAAA+3O,GACA,IAAAz4O,EAAA8T,EAAA,EAAAC,EAAAC,EACA/T,EAAA,GAAA8T,EAAAD,GACA5T,EAAA4T,EAAApT,EACA4kB,EAAA,EAEA,GAAA6yN,EAAAn4O,IACA,GAAAo4O,EAAAn4O,GAAA,CACA,IAAAynD,GAAAxnD,EAAAD,EAEAynD,GAAA,GAAAA,GAAA,IACA+wL,EAAAnzN,KAAAoiC,QAGG,CACH,IAAAgxL,EAAAz4O,IAAA,EAAAD,EAAAE,EAEA,GAAAi4O,EAAAO,GAAA,CACAhxL,GAAAznD,GAAA,EAAAD,GAEA0nD,GAAA,GAAAA,GAAA,IACA+wL,EAAAnzN,KAAAoiC,QAEK,GAAAgxL,EAAA,GACL,IAAAC,EAAAf,EAAAc,GAEA/wL,GADAD,IAAAznD,EAAA04O,IAAA,EAAA34O,KACAC,EAAA04O,IAAA,EAAA34O,IAEA0nD,GAAA,GAAAA,GAAA,IACA+wL,EAAAnzN,KAAAoiC,GAGAC,GAAA,GAAAA,GAAA,IACA8wL,EAAAnzN,KAAAqiC,IAKA,OAAAriC,EAYA,SAAAq0N,EAAA7lO,EAAAC,EAAAC,GACA,IAAAs4E,EAAAx4E,EAAAE,EAAA,EAAAD,EAEA,WAAAu4E,EAEA,IAEAx4E,EAAAC,GAAAu4E,EAcA,SAAA73E,EAAAX,EAAAC,EAAAC,EAAAH,EAAAijB,GACA,IAAAoiN,GAAAnlO,EAAAD,GAAAD,EAAAC,EACAqlO,GAAAnlO,EAAAD,GAAAF,EAAAE,EACAslO,GAAAF,EAAAD,GAAArlO,EAAAqlO,EAEApiN,EAAA,GAAAhjB,EACAgjB,EAAA,GAAAoiN,EACApiN,EAAA,GAAAuiN,EAEAviN,EAAA,GAAAuiN,EACAviN,EAAA,GAAAqiN,EACAriN,EAAA,GAAA9iB,EAkBA,SAAA4lO,EAAAvmL,EAAAC,EAAAjM,EAAAC,EAAArwB,EAAAC,EAAAz9B,EAAAC,EAAAo9B,GAEA,IAAAjjB,EACAM,EAAA,KACAF,EAAA1C,IACAymO,EAAA,GAAAv+O,EACAu+O,EAAA,GAAAt+O,EAGA,QAAA0a,EAAA,EAAkBA,EAAA,EAAQA,GAAA,KAC1B6jO,EAAA,GAAA5kO,EAAAggD,EAAAhM,EAAApwB,EAAA7iB,GACA6jO,EAAA,GAAA5kO,EAAAigD,EAAAhM,EAAApwB,EAAA9iB,GACA,IAAA+yF,EAAA7zF,EAAA0kO,EAAAC,GAEA9wI,EAAAlzF,IACAJ,EAAAO,EACAH,EAAAkzF,GAIAlzF,EAAA1C,IAEA,QAAA/O,EAAA,EAAiBA,EAAA,GAAQA,IAAA,CACzB,GAAA2R,EAAA0jO,EACA,MAGA,IAAA7zO,EAAA6P,EAAAM,EACA3Y,EAAAqY,EAAAM,EAEA8jO,EAAA,GAAA5kO,EAAAggD,EAAAhM,EAAApwB,EAAAjzB,GACAi0O,EAAA,GAAA5kO,EAAAigD,EAAAhM,EAAApwB,EAAAlzB,GACAmjG,EAAA7zF,EAAA2kO,EAAAD,GAEA,GAAAh0O,GAAA,GAAAmjG,EAAAlzF,EACAJ,EAAA7P,EACAiQ,EAAAkzF,MACK,CAEL+wI,EAAA,GAAA7kO,EAAAggD,EAAAhM,EAAApwB,EAAAz7B,GACA08O,EAAA,GAAA7kO,EAAAigD,EAAAhM,EAAApwB,EAAA17B,GACA,IAAAoxF,EAAAt5E,EAAA4kO,EAAAF,GAEAx8O,GAAA,GAAAoxF,EAAA34E,GACAJ,EAAArY,EACAyY,EAAA24E,GAEAz4E,GAAA,IAYA,OANA2iB,IACAA,EAAA,GAAAzjB,EAAAggD,EAAAhM,EAAApwB,EAAApjB,GACAijB,EAAA,GAAAzjB,EAAAigD,EAAAhM,EAAApwB,EAAArjB,IAIA+jO,EAAA3jO,GAGA7Z,EAAAi+O,UACAj+O,EAAAm+O,oBACAn+O,EAAAo+O,cACAp+O,EAAA2+O,eACA3+O,EAAA6+O,iBACA7+O,EAAAo/O,oBACAp/O,EAAAiZ,cACAjZ,EAAAq/O,wBACAr/O,EAAAs/O,kBACAt/O,EAAAu/O,oBACAv/O,EAAAqa,qBACAra,EAAAw/O,gDC/fA,IAAA3iP,EAAaX,EAAQ,QAoBrBujP,EAAA,GAEA,SAAAC,IACAriP,KAAAsiP,mBAAA,GAGAD,EAAApiP,UAAA,CACAC,YAAAmiP,EACAvzM,OAAA,SAAAv0B,EAAAxV,GACA,IAAAw9O,EAAA,GACA/iP,EAAA2nB,KAAAi7N,EAAA,SAAAI,EAAAriP,GACA,IAAAgN,EAAAq1O,EAAA1zM,OAAAv0B,EAAAxV,GACAw9O,IAAA74L,OAAAv8C,GAAA,MAEAnN,KAAAsiP,mBAAAC,GAEAh2N,OAAA,SAAAhS,EAAAxV,GACAvF,EAAA2nB,KAAAnnB,KAAAsiP,mBAAA,SAAAr9O,GACAA,EAAAsnB,QAAAtnB,EAAAsnB,OAAAhS,EAAAxV,MAGA09O,qBAAA,WACA,OAAAziP,KAAAsiP,mBAAApjN,UAIAmjN,EAAArqF,SAAA,SAAA73J,EAAAuiP,GACAN,EAAAjiP,GAAAuiP,GAGAL,EAAA58O,IAAA,SAAAtF,GACA,OAAAiiP,EAAAjiP,IAGA,IAAAsC,EAAA4/O,EACA3/O,EAAAC,QAAAF,0BCvDA,IAAAjD,EAAaX,EAAQ,QAErB8wE,EAAiB9wE,EAAQ,QAoBzB8jP,EAAA,wCAEAC,EAAA,qCAMA,SAAAC,EAAAC,GACA,OAAAtjP,EAAA4rC,QAAAw3M,EAAAE,IAAA,EAYA,SAAAC,EAAAx+J,EAAAy+J,GACAz+J,IAAArlD,QACA,IAAA+jN,EAAAzjP,EAAA4N,IAAAm3E,EAAA5U,EAAAy4E,cACA46F,MAAA,IAAA9jN,QACA,IAAAgkN,EAAA1jP,EAAA4N,IAAA41O,EAAArzK,EAAAy4E,cACA,gBAAA/1E,EAAA3uD,GACAlkB,EAAA2nB,KAAAo9D,EAAA,SAAAj2E,EAAAzK,GAMA,IALA,IAAAs/O,EAAA,CACA70O,OACA80O,QAAAH,EAAAp/O,IAGA6M,EAAA,EAAqBA,EAAAsyO,EAAAz/O,OAAkBmN,IACvCyyO,EAAAH,EAAAtyO,IAAApC,EAAA40O,EAAAxyO,GAGA2hE,EAAAtyE,KAAA2jB,EAAAy/N,MAoBA,IAAAE,EAAAN,EAAAJ,EAAA,mCAaA,SAAAW,EAAAC,EAAAC,EAAAC,GACA,gBAAApyF,GACA,IAcAqyF,EAdAhgP,EAAA,CACAgyJ,MAAA,GACAiuF,QAAA,IAOA,GAJAH,EAAA,SAAAn2D,GACA3pL,EAAAigP,QAAAt2D,EAAA/+K,MAAA,MAGA+iJ,EACA,OAAA3tJ,EAGAkgP,EAAAvyF,EAAA3tJ,GAGA,GACAggP,GAAA,EACAH,EAAAM,SACKH,GAEL,SAAAG,EAAAxmO,IACAymO,EAAAzmO,EAAA3Z,IAAAqgP,EAAA1mO,EAAA3Z,KACAkgP,EAAAvmO,EAAA3Z,GACAggP,GAAA,GAIA,OAAAhgP,GAGA,SAAAogP,EAAAzmO,EAAA3Z,GACA,OAAAlE,EAAA4rC,QAAA1nC,EAAAgyJ,MAAAr4I,IAAA,EAGA,SAAA0mO,EAAA1mO,EAAA3Z,GACA,IAAAsgP,GAAA,EAMA,OALAR,EAAA,SAAAn2D,GACA7tL,EAAA2nB,KAAAs8N,EAAApmO,EAAAgwK,IAAA,YAAA42D,GACAvgP,EAAAigP,QAAAt2D,EAAA/+K,MAAA21O,KAAAD,GAAA,OAGAA,EAGA,SAAAJ,EAAAvmO,EAAA3Z,GACAA,EAAAgyJ,MAAA/iJ,KAAA0K,GACAmmO,EAAA,SAAAn2D,GACA7tL,EAAA2nB,KAAAs8N,EAAApmO,EAAAgwK,IAAA,YAAA42D,GACAvgP,EAAAigP,QAAAt2D,EAAA/+K,MAAA21O,IAAA,OAMAthP,EAAAkgP,mBACAlgP,EAAAogP,iBACApgP,EAAA0gP,cACA1gP,EAAA2gP,gDCxJA,IAAA9jP,EAAaX,EAAQ,QAErB4O,EAAmB5O,EAAQ,QAE3BgjF,EAAchjF,EAAQ,QAEtBijF,EAAAD,EAAAC,aACAg4B,EAAAj4B,EAAAi4B,iBAEA7zG,EAAapH,EAAQ,QAErByoF,EAAazoF,EAAQ,QA8BrB07F,EAAA7zF,KAAAS,IACAmzF,EAAA5zF,KAAAQ,IACAg9O,EAAA1kP,EAAAq9B,SACA1V,EAAA3nB,EAAA2nB,KACAg9N,EAAA,4BACAC,EAAA,yBACAC,EAAA,sBACAC,EAAA,wBAKA7hP,EAAA,CACA0X,WAAA,UACAE,MAAA,SAAAC,EAAAC,EAAAxV,EAAAynB,GAGA,IAAA+3N,EAAAx/O,EAAAwJ,WACAi2O,EAAAz/O,EAAAu5D,YACAmmL,EAAAnqO,EAAA6I,OACAnd,EAAAC,EAAAq9E,cAAAhpE,EAAA2jG,qBAAA,CACA37G,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,cAEArjD,EAAAwpO,EAAAxpO,MAAA,GAEAtL,EAAAmyE,EAAAoiK,EAAAl+O,EAAA1D,MAAA2Y,EAAA,IAAAspO,GACAlhK,EAAAvB,EAAAoiK,EAAAl+O,EAAAzD,OAAA0Y,EAAA,IAAAupO,GAEAE,EAAAl4N,KAAArsB,KACAwvL,EAAA,0CACA1iE,EAAA3lC,EAAAq9J,mBAAAn4N,EAAAmjK,EAAAr1K,GACAsqO,EAAA,kBAAAF,GAAA,gBAAAA,EAAAl4N,EAAAo4N,SAAA,KACAC,EAAAvqO,EAAA4rL,cACA4+C,EAAAx9J,EAAAy9J,cAAAF,GAEA,mBAAAH,EAAA,CACA,IAAAM,EAAA,sBAAAN,EAAAO,EAAA3qO,EAAA2yG,EAAA43H,EAAAl1O,EAAA0zE,GAAAuhK,EAAA,CAAAA,EAAAtiP,MAAAsiP,EAAAriP,QAAA,CAAAoN,EAAA0zE,GACAptD,EAAAwuN,EAAAxuN,KAEAA,GAAA,QAAAA,GAAA,SAAAA,IACAA,EAAA,QAGA,IAAApmB,EAAA,CACAq1O,YAAAT,EAAAS,YACAjvN,OACAkvN,UAAAV,EAAAU,WAGAN,EAAA/xB,SAAAsyB,eAKA,IAAAC,EAAA,CACArjP,EAAA,EACAC,EAAA,EACAK,MAAA0iP,EAAA,GACAziP,OAAAyiP,EAAA,GACAtiF,KAAAsiF,EAAA,GAAAA,EAAA,IAEAH,EAAAnxE,UAAA2xE,GACAC,EAAAT,EAAAh1O,GAAA,KAEAw1O,EAAAR,EAAAhnO,YACAsJ,EAAA29N,EAAA,SAAAznO,EAAAxZ,GACA,IAAA0hP,GAAAT,EAAAjhP,EAAA,IAAAghP,GAAA92D,WACA1wK,EAAAq2J,UAAAl0K,EAAAkF,OAAA,CACAm0G,WAAA,CAAA0sI,KACA3oI,YAAA,EACA4oI,YAAA,GACSH,MAIT,IAAAp/C,EAAA3rL,EAAAE,UAAAwrL,KAAA/4K,KACAg5K,EAAAvyB,UAAA+xE,EAAAz/O,EAAA4+O,EAAA33H,IAAA,GACA3yG,EAAAorO,cAAA1/O,GAGA2/O,EAAA1/C,EACA,IAAAx4L,GAAAzH,EAAAhE,GAAAgE,EAAA/D,EAAAsiP,EAAAC,GAAAM,EAAAD,EAAA,KAsBA,SAAAS,EAAAjoO,EAAAxN,EAAA+1O,EAAA9hL,GACA,IAAAxhE,EACAC,EAEA,IAAA8a,EAAAwoO,YAAA,CAIA,IAAAC,EAAAzoO,EAAAQ,YACAvb,EAAAwjP,EAAAxjP,MACAC,EAAAujP,EAAAvjP,OAEA,IAAAwjP,EAAA1oO,EAAAsd,WACAiiF,EAAAmpI,EAAAtgP,IAAA0+O,GACA6B,EAAAD,EAAAtgP,IAAA2+O,GAAA,EACA6B,EAAAC,EAAAH,GACAP,EAAA9+O,KAAAS,IAAAy1G,EAAAqpI,GACAE,EAAAvpI,EAAAopI,EACAI,EAAAZ,EAAAQ,EACAD,EAAA1oO,EAAAsd,WACAtd,EAAAq2J,UAAA,CACA92D,cACA4oI,cACAS,qBACG,GACH3jP,EAAAi4F,EAAAj4F,EAAA,EAAA6jP,EAAA,GACA5jP,EAAAg4F,EAAAh4F,EAAA4jP,EAAAC,EAAA,GACA,IAAAC,EAAA/jP,EAAAC,EACA+jP,EAAAlgD,EAAA/oL,EAAA0oO,EAAAM,EAAAx2O,EAAA+1O,EAAA9hL,GAEA,GAAAwiL,EAAA/iP,OAAA,CAIA,IAAA9B,EAAA,CACAO,EAAAmkP,EACAlkP,EAAAmkP,EACA9jP,QACAC,UAEAgkP,EAAAjsJ,EAAAh4F,EAAAC,GACAikP,EAAA1sO,IAEAmrK,EAAA,GACAA,EAAAviB,KAAA,EAEA,QAAA33J,EAAA,EAAA0B,EAAA65O,EAAA/iP,OAA4CwH,EAAA0B,GAAS,CACrD,IAAA2lB,EAAAk0N,EAAAv7O,GACAk6K,EAAAtyK,KAAAyf,GACA6yJ,EAAAviB,MAAAtwI,EAAAvU,YAAA6kJ,KACA,IAAA+jF,EAAAC,EAAAzhE,EAAAshE,EAAA12O,EAAAq1O,aAEAuB,GAAAD,GACAz7O,IACAy7O,EAAAC,IAGAxhE,EAAAviB,MAAAuiB,EAAA54J,MAAAxO,YAAA6kJ,KACAp8J,EAAA2+K,EAAAshE,EAAA9kP,EAAAukP,GAAA,GACAO,EAAAjsJ,EAAA74F,EAAAa,MAAAb,EAAAc,QACA0iL,EAAA1hL,OAAA0hL,EAAAviB,KAAA,EACA8jF,EAAA1sO,KAQA,GAJAmrK,EAAA1hL,QACA+C,EAAA2+K,EAAAshE,EAAA9kP,EAAAukP,GAAA,IAGAJ,EAAA,CACA,IAAAe,EAAAZ,EAAAtgP,IAAA,sBAEA,MAAAkhP,GAAAN,EAAAM,IACAf,GAAA,GAIA,IAAA76O,EAAA,EAAA0B,EAAA65O,EAAA/iP,OAA4CwH,EAAA0B,EAAS1B,IACrDu6O,EAAAgB,EAAAv7O,GAAA8E,EAAA+1O,EAAA9hL,EAAA,KAQA,SAAAsiI,EAAA/oL,EAAA0oO,EAAAM,EAAAx2O,EAAA+1O,EAAA9hL,GACA,IAAAwiL,EAAAjpO,EAAA8mD,UAAA,GACAyiL,EAAA/2O,EAAAomB,KACA,QAAA2wN,GAAA,SAAAA,MAAA,MACA,IAAAC,EAAA,MAAAh3O,EAAAs1O,WAAAt1O,EAAAs1O,WAAArhL,EAEA,GAAA8hL,IAAAiB,EACA,OAAAxpO,EAAAipO,aAAA,GAIAA,EAAA9mP,EAAAqoD,OAAAy+L,EAAA,SAAAl0N,GACA,OAAAA,EAAAyzN,cAEA5vN,EAAAqwN,EAAAM,GACA,IAAAv0C,EAAAy0C,EAAAf,EAAAO,EAAAM,GAEA,OAAAv0C,EAAA34L,IACA,OAAA2D,EAAAipO,aAAA,GAKA,GAFAj0C,EAAA34L,IAAAqtO,EAAAhB,EAAAM,EAAAh0C,EAAA34L,IAAAktO,EAAAN,GAEA,IAAAj0C,EAAA34L,IACA,OAAA2D,EAAAipO,aAAA,GAIA,QAAAv7O,EAAA,EAAA0B,EAAA65O,EAAA/iP,OAA4CwH,EAAA0B,EAAS1B,IAAA,CACrD,IAAA23J,EAAA4jF,EAAAv7O,GAAAgjL,WAAAskB,EAAA34L,IAAA2sO,EAEAC,EAAAv7O,GAAA2oK,UAAA,CACAhR,SAeA,OAXAmkF,IACAP,EAAA/iP,QAAA8Z,EAAAq2J,UAAA,CACAszE,YAAA,IACK,GACLV,EAAA/iP,OAAA,GAGA8Z,EAAAipO,eACAjpO,EAAAq2J,UAAA,CACA76D,WAAAw5F,EAAAx5F,aACG,GACHytI,EAOA,SAAAS,EAAAhB,EAAAM,EAAA3sO,EAAAktO,EAAAK,GAEA,IAAAL,EACA,OAAAltO,EAOA,IAJA,IAAAwtO,EAAAnB,EAAAtgP,IAAA,cACAgH,EAAAw6O,EAAA1jP,OACA4jP,EAAA16O,EAEA1B,EAAA0B,EAAA,EAAuB1B,GAAA,EAAQA,IAAA,CAC/B,IAAA9G,EAAAgjP,EAAA,QAAAL,EAAAn6O,EAAA1B,EAAA,EAAAA,GAAAgjL,WAEA9pL,EAAAyV,EAAA2sO,EAAAa,IACAC,EAAAp8O,EACA2O,GAAAzV,GAKA,MADA,QAAA2iP,EAAAK,EAAA51K,OAAA,EAAA5kE,EAAA06O,GAAAF,EAAA51K,OAAA81K,EAAA16O,EAAA06O,GACAztO,EAOA,SAAAuc,EAAAqwN,EAAAM,GAQA,OAPAA,GACAN,EAAArwN,KAAA,SAAA1tB,EAAAC,GACA,IAAAoU,EAAA,QAAAgqO,EAAAr+O,EAAAwlL,WAAAvlL,EAAAulL,WAAAvlL,EAAAulL,WAAAxlL,EAAAwlL,WACA,WAAAnxK,EAAA,QAAAgqO,EAAAr+O,EAAAkd,UAAAjd,EAAAid,UAAAjd,EAAAid,UAAAld,EAAAkd,UAAA7I,IAIA0pO,EAOA,SAAAQ,EAAAf,EAAA5hL,EAAAyiL,GAIA,IAFA,IAAAltO,EAAA,EAEA3O,EAAA,EAAA0B,EAAA03D,EAAA5gE,OAAwCwH,EAAA0B,EAAS1B,IACjD2O,GAAAyqD,EAAAp5D,GAAAgjL,WAOA,IAAAza,EAAAyyE,EAAAtgP,IAAA,mBAGA,GAAA0+D,KAAA5gE,OAEG,aAAA+vK,GAAAszE,EACH/tI,EAAA,CAAA10C,IAAA5gE,OAAA,GAAAwqL,WAAA5pH,EAAA,GAAA4pH,YACA,QAAA64D,GAAA/tI,EAAA2zC,cAEA,CACA,IAAA3zC,EAAA,CAAA/+F,UACAqN,EAAAg9C,EAAA,SAAA/xC,GACA,IAAAnuB,EAAAmuB,EAAA27J,SAAAza,GACArvK,EAAA40G,EAAA,KAAAA,EAAA,GAAA50G,GACAA,EAAA40G,EAAA,KAAAA,EAAA,GAAA50G,UAVA40G,EAAA,CAAAh/F,SAcA,OACAH,MACAm/F,cASA,SAAA6tI,EAAAzhE,EAAAshE,EAAAa,GAIA,IAHA,IAGA1kF,EAHA2kF,EAAA,EACAC,EAAAxtO,IAEA/O,EAAA,EAAA0B,EAAAw4K,EAAA1hL,OAAyCwH,EAAA0B,EAAS1B,IAClD23J,EAAAuiB,EAAAl6K,GAAA8S,YAAA6kJ,KAEAA,IACAA,EAAA4kF,MAAA5kF,GACAA,EAAA2kF,MAAA3kF,IAIA,IAAA6kF,EAAAtiE,EAAAviB,KAAAuiB,EAAAviB,KACA9+J,EAAA2iP,IAAAa,EACA,OAAAG,EAAAhtJ,EAAA32F,EAAAyjP,EAAAE,KAAA3jP,EAAA0jP,IAAAxtO,IAOA,SAAAxT,EAAA2+K,EAAAshE,EAAA9kP,EAAAukP,EAAA5tC,GASA,IAAAovC,EAAAjB,IAAA9kP,EAAAa,MAAA,IACAmlP,EAAA,EAAAD,EACA7sL,EAAA,UACA+sL,EAAA,mBACAvlF,EAAA1gK,EAAAk5D,EAAA6sL,IACAG,EAAApB,EAAAthE,EAAAviB,KAAA6jF,EAAA,GAEAnuC,GAAAuvC,EAAAlmP,EAAAimP,EAAAD,OACAE,EAAAlmP,EAAAimP,EAAAD,KAGA,QAAA18O,EAAA,EAAA68O,EAAA3iE,EAAA1hL,OAAsCwH,EAAA68O,EAAY78O,IAAA,CAClD,IAAAsS,EAAA4nK,EAAAl6K,GACA88O,EAAA,GACArkP,EAAAmkP,EAAAtqO,EAAAQ,YAAA6kJ,KAAAilF,EAAA,EACAG,EAAAD,EAAAH,EAAAD,IAAAltJ,EAAAotJ,EAAA,EAAA3B,EAAA,GAEA+B,EAAAtmP,EAAAk5D,EAAA6sL,IAAA/lP,EAAAimP,EAAAF,IAAArlF,EACA6lF,EAAAj9O,IAAA68O,EAAA,GAAAG,EAAAvkP,EAAAukP,EAAAvkP,EACAykP,EAAAJ,EAAAH,EAAAF,IAAAjtJ,EAAAytJ,EAAA,EAAAhC,EAAA,GACA6B,EAAAltL,EAAA8sL,IAAAhmP,EAAAk5D,EAAA8sL,IAAAntJ,EAAA0rJ,EAAA8B,EAAA,GACAD,EAAAltL,EAAA6sL,IAAArlF,EAAA7nE,EAAA0rJ,EAAAiC,EAAA,GACA9lF,GAAA6lF,EACA3qO,EAAAq2J,UAAAm0E,GAAA,GAGApmP,EAAAk5D,EAAA8sL,KAAAE,EACAlmP,EAAAimP,EAAAD,KAAAE,EAIA,SAAA1C,EAAA3qO,EAAA2yG,EAAA43H,EAAAl1O,EAAA0zE,GAGA,IAOA1R,EAPAu2K,GAAAj7H,GAAA,IAAkC5vG,KAClC8qO,EAAA,CAAAx4O,EAAA0zE,GAEA,IAAA6kK,OAAArD,EACA,OAAAsD,EAIA,IAAAC,EAAAz4O,EAAA0zE,EACAq/E,EAAA0lF,EAAA9tO,EAAA6I,OAAAklO,gBAEA,MAAA12K,EAAAu2K,EAAAp0B,WAAA,CAKA,IAHA,IAAAp6M,EAAA,EACA4uO,EAAA32K,EAAAxN,SAEAp5D,EAAA,EAAA0B,EAAA67O,EAAA/kP,OAA0CwH,EAAA0B,EAAS1B,IACnD2O,GAAA4uO,EAAAv9O,GAAAgjL,WAGA,IAAAw6D,EAAAL,EAAAn6D,WAEA,OAAAw6D,EACA,OAAAJ,EAGAzlF,GAAAhpJ,EAAA6uO,EAEA,IAAAnlO,EAAAuuD,EAAAh3C,WACAiiF,EAAAx5F,EAAA3d,IAAA0+O,GACAqB,EAAA9+O,KAAAS,IAAAy1G,EAAAspI,EAAA9iO,EAAAw5F,IACA8lD,GAAA,EAAA9lD,KAAA,EAAAA,EAAA4oI,GAAA9+O,KAAA2uB,IAAAqtI,EAAA,IACAA,EAAA5oD,IAAA4oD,EAAA5oD,GACAouI,EAAAv2K,EAGA+wF,EAAA0lF,IAAA1lF,EAAA0lF,GACA,IAAArwO,EAAArR,KAAA2uB,IAAAqtI,EAAA0lF,EAAA,IACA,OAAAz4O,EAAAoI,EAAAsrE,EAAAtrE,GAIA,SAAA0tO,EAAAz/O,EAAA4+O,EAAA33H,GACA,GAAA23H,EACA,OACA5iP,EAAA4iP,EAAA5iP,EACAC,EAAA2iP,EAAA3iP,GAIA,IAAAumP,EAAA,CACAxmP,EAAA,EACAC,EAAA,GAGA,IAAAgrH,EACA,OAAAu7H,EAMA,IAAAC,EAAAx7H,EAAA5vG,KACApX,EAAAwiP,EAAA5qO,YAEA,IAAA5X,EACA,OAAAuiP,EAIA,IAAAE,EAAA,CAAAziP,EAAA3D,MAAA,EAAA2D,EAAA1D,OAAA,GACA8a,EAAAorO,EAEA,MAAAprO,EAAA,CACA,IAAAwqO,EAAAxqO,EAAAQ,YACA6qO,EAAA,IAAAb,EAAA7lP,EACA0mP,EAAA,IAAAb,EAAA5lP,EACAob,IAAAy2M,WAGA,OACA9xN,EAAAgE,EAAA1D,MAAA,EAAAomP,EAAA,GACAzmP,EAAA+D,EAAAzD,OAAA,EAAAmmP,EAAA,IAMA,SAAA/C,EAAAtoO,EAAAsrO,EAAA7D,EAAAD,EAAA/gL,GACA,IAAA+jL,EAAAxqO,EAAAQ,YACA+qO,EAAA9D,EAAAhhL,GACA+kL,EAAAD,OAAAvrO,EAEA,KAAAurO,IAAAC,GAAA/kL,IAAAghL,EAAAvhP,QAAA8Z,IAAAwnO,GAAA,CAIAxnO,EAAAq2J,UAAA,CAEAo1E,UAAA,EAGAh4K,WAAA+3K,IAAAF,EAAAtyI,UAAAwxI,GACAgB,oBACG,GAEH,IAAAE,EAAA,IAAAt7O,EAAAk7O,EAAA3mP,EAAA6lP,EAAA7lP,EAAA2mP,EAAA1mP,EAAA4lP,EAAA5lP,EAAA0mP,EAAArmP,MAAAqmP,EAAApmP,QACA4kB,EAAA9J,EAAAipO,cAAA,YAAAl0N,GACAuzN,EAAAvzN,EAAA22N,EAAAjE,EAAAD,EAAA/gL,EAAA,MAIA,SAAAoiL,EAAAviO,GACA,OAAAA,EAAAle,IAAA4+O,GAAA1gO,EAAAle,IAAA6+O,GAAA,EAGA5hP,EAAAC,QAAAF,wBCriBA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAoBrB,SAAA4D,EAAA0X,EAAA6uO,GACAxpP,EAAA2nB,KAAA6hO,EAAA,SAAAC,GACAA,EAAA18N,OAAA,aAOA3tB,EAAA0tB,eAAA28N,EAAA,SAAAz8N,EAAAjS,GACA,IAAAumM,EAAA,GAiBA,OAhBAvmM,EAAA8kG,cAAA,CACArzF,SAAA,SACA7H,QAAAhK,EACA67H,MAAAxpH,GACO,SAAAlS,GACPA,EAAA2uO,EAAA9iG,SACA7rI,EAAA2uO,EAAA9iG,QAAA35H,EAAAle,KAAAke,EAAA/G,WAGA,IAAAla,EAAA+O,EAAAE,UAEAjP,EAAA4b,KAAA,SAAAxJ,GACA,IAAArP,EAAA/C,EAAAqc,QAAAjK,GACAmjM,EAAAxyM,GAAAgM,EAAAiuM,WAAAj6M,KAAA,MAGA,CACAA,KAAAke,EAAAle,KACAwyM,gBAMAp+M,EAAAC,QAAAF,0BC7EA,IAAAymP,EAAgBrqP,EAAQ,QAExBc,EAAgBd,EAAQ,QAExBe,EAAAD,EAAAC,gBACAupP,EAAA,4IAGAC,EAAA,SAAAtpP,GACAE,KAAAqpP,WAAAvpP,GAAA,IAGA,SAAAigM,EAAA1/L,EAAAyK,EAAArJ,GACA,IAAAO,EAAA,MAAA8I,EAAA9I,EAAA,EAAA8I,EAAA9I,EACAw9B,EAAA,MAAA10B,EAAA00B,GAAA,EAAA10B,EAAA00B,GACAv9B,EAAA,MAAA6I,EAAA7I,EAAA,EAAA6I,EAAA7I,EACAw9B,EAAA,MAAA30B,EAAA20B,GAAA,EAAA30B,EAAA20B,GAEA30B,EAAAogD,SACAlpD,IAAAP,EAAAa,MAAAb,EAAAO,EACAw9B,IAAA/9B,EAAAa,MAAAb,EAAAO,EACAC,IAAAR,EAAAc,OAAAd,EAAAQ,EACAw9B,IAAAh+B,EAAAc,OAAAd,EAAAQ,GAIAD,EAAA4X,MAAA5X,GAAA,EAAAA,EACAw9B,EAAA5lB,MAAA4lB,GAAA,EAAAA,EACAv9B,EAAA2X,MAAA3X,GAAA,EAAAA,EACAw9B,EAAA7lB,MAAA6lB,GAAA,EAAAA,EACA,IAAA6pN,EAAAjpP,EAAA0/L,qBAAA/9L,EAAAC,EAAAu9B,EAAAC,GACA,OAAA6pN,EAGA,SAAA1rE,EAAAv9K,EAAAyK,EAAArJ,GACA,IAAAa,EAAAb,EAAAa,MACAC,EAAAd,EAAAc,OACA2E,EAAAR,KAAAQ,IAAA5E,EAAAC,GACAP,EAAA,MAAA8I,EAAA9I,EAAA,GAAA8I,EAAA9I,EACAC,EAAA,MAAA6I,EAAA7I,EAAA,GAAA6I,EAAA7I,EACA2c,EAAA,MAAA9T,EAAA8T,EAAA,GAAA9T,EAAA8T,EAEA9T,EAAAogD,SACAlpD,IAAAM,EAAAb,EAAAO,EACAC,IAAAM,EAAAd,EAAAQ,EACA2c,GAAA1X,GAGA,IAAAoiP,EAAAjpP,EAAAu9K,qBAAA57K,EAAAC,EAAA,EAAAD,EAAAC,EAAA2c,GACA,OAAA0qO,EAGAF,EAAAnpP,UAAA,CACAC,YAAAkpP,EAKA1oP,KAAA,OAKAC,OAAA,KAKAmzD,QAAA,EAKAy1L,YAAA,KAKAC,cAAA,KAKAvlB,SAAA,KAKAwlB,eAAA,EAKA7oP,WAAA,EAKAE,cAAA,EAKAC,cAAA,EAKA0P,UAAA,EAMAyrM,eAAA,EAOAl7M,KAAA,KASAU,KAAA,KAOAoS,SAAA,KAMAF,UAAA,KAMAC,WAAA,KAOAH,SAAA,KAMAC,WAAA,KAMA+1O,QAAA,KAKA5/I,SAAA,OAKA3nG,WAAA,KAKAmQ,UAAA,KAMAD,WAAA,KASAjQ,gBAAA,EAKAN,eAAA,KASAyN,aAAA,SAMA0J,SAAA,KAMA0wO,WAAA,KAKAhoP,UAAA,KAKAC,kBAAA,KAKAsmO,aAAA,EAKA0hB,gBAAA,cAKAC,eAAA,EAKAC,kBAAA,EAKAC,kBAAA,EAKAC,mBAAA,cAKAC,kBAAA,EAKAC,qBAAA,EAKAC,qBAAA,EAOAhxO,eAAA,EAMAixO,aAAA,EAUAC,WAAA,KAKAz3O,oBAAA,KAKA03O,gBAAA,KAKAC,gBAAA,EAKAC,iBAAA,EAMA3oP,YAAA,KAMAE,KAAA,KAMA4M,SAAA,KAMA2nD,MAAA,KAKA1tD,KAAA,SAAAvI,EAAA0wC,EAAAzwC,GACA,IAAAC,EAAAP,KACAyqP,EAAAnqP,KAAAC,MAGAmqP,GAAAD,GAAApqP,EAAAgB,iBAAAzB,EAAAimN,WACAxlN,EAAAgB,eAAAzB,EAAAimN,WAEA,QAAA96M,EAAA,EAAmBA,EAAAo+O,EAAA5lP,OAA+BwH,IAAA,CAClD,IAAAo+C,EAAAggM,EAAAp+O,GACAoH,EAAAg3C,EAAA,IAEAuhM,GAAAnqP,EAAA4R,KAAAs4O,EAAAt4O,MAEA9R,EAAA8R,GAAA+2O,EAAA7oP,EAAA8R,EAAA5R,EAAA4R,IAAAg3C,EAAA,KAoBA,IAhBAuhM,GAAAnqP,EAAAG,OAAA+pP,EAAA/pP,QACAL,EAAAw9F,UAAAt9F,EAAAG,OAGAgqP,GAAAnqP,EAAAI,SAAA8pP,EAAA9pP,UACAN,EAAAsqP,YAAApqP,EAAAI,SAGA+pP,GAAAnqP,EAAAuzD,UAAA22L,EAAA32L,WACAzzD,EAAAuqP,YAAA,MAAArqP,EAAAuzD,QAAA,EAAAvzD,EAAAuzD,UAGA42L,GAAAnqP,EAAA+1D,QAAAm0L,EAAAn0L,SACAj2D,EAAAwqP,yBAAAtqP,EAAA+1D,OAAA,eAGAt2D,KAAA8qP,YAAA,CACA,IAAAr6O,EAAAlQ,EAAAkQ,UACApQ,EAAAoQ,aAAAzQ,KAAAk8M,eAAAnrK,KAAAg6M,aAAAh6M,EAAAg6M,eAAA,KAGAC,QAAA,WACA,IAAAtqP,EAAAV,KAAAU,KACA,aAAAA,GAAA,SAAAA,GAEAoqP,UAAA,WACA,IAAAnqP,EAAAX,KAAAW,OACA,aAAAA,GAAA,SAAAA,GAAAX,KAAAyQ,UAAA,GAUA44O,WAAA,SAAA4B,EAAA1iM,GACA,GAAA0iM,EACA,QAAA38O,KAAA28O,GACAA,EAAA//O,eAAAoD,KAAA,IAAAi6C,KAAA,IAAAA,EAAAvoD,KAAAkL,eAAAoD,GAAA,MAAA28O,EAAA38O,MACAtO,KAAAsO,GAAA28O,EAAA38O,KAWA8kB,IAAA,SAAAtoB,EAAA7G,GACA,kBAAA6G,EACA9K,KAAA8K,GAAA7G,EAEAjE,KAAAqpP,WAAAv+O,GAAA,IAQAyK,MAAA,WACA,IAAA21O,EAAA,IAAAlrP,KAAAE,YAEA,OADAgrP,EAAA7B,WAAArpP,MAAA,GACAkrP,GAEAC,YAAA,SAAA9qP,EAAAyK,EAAArJ,GAKA,IAJA,IAAA0kJ,EAAA,WAAAr7I,EAAA3K,KAAAy9K,EAAAmiB,EACAupD,EAAAnjG,EAAA9lJ,EAAAyK,EAAArJ,GACAgmB,EAAA3c,EAAA2c,WAEA1c,EAAA,EAAmBA,EAAA0c,EAAAlkB,OAAuBwH,IAC1Cu+O,EAAAzrE,aAAAp2J,EAAA1c,GAAAg7C,OAAAt+B,EAAA1c,GAAA+b,OAGA,OAAAwiO,IAKA,IAFA,IAAA8B,EAAAhC,EAAAnpP,UAEA8K,EAAA,EAAeA,EAAAo+O,EAAA5lP,OAA+BwH,IAAA,CAC9C,IAAAo+C,EAAAggM,EAAAp+O,GAEAo+C,EAAA,KAAAiiM,IACAA,EAAAjiM,EAAA,IAAAA,EAAA,IAKAigM,EAAA+B,YAAAC,EAAAD,YACA,IAAA1oP,EAAA2mP,EACA1mP,EAAAC,QAAAF,0BC3bA,IAAAjD,EAAaX,EAAQ,QAErBgjF,EAAchjF,EAAQ,QAEtBijF,EAAAD,EAAAC,aAoBA36D,EAAA3nB,EAAA2nB,KAEA,SAAA1kB,EAAA8X,GACA,IAAA8wO,EAAAC,EAAA/wO,GACA4M,EAAAkkO,EAAA,SAAAE,GACA,IAAAC,EAAAD,EAAAC,aAEAA,EAAAjoP,SAIAkoP,EAAAF,GACApkO,EAAAqkO,EAAA,SAAAlxO,EAAAqD,GACA+tO,EAAApxO,EAAAixO,EAAAI,cAAAhuO,GAAA4tO,EAAAK,aAAAjuO,SASA,SAAA2tO,EAAA/wO,GACA,IAAA7W,EAAA,GACAmoP,EAAA,GAgBA,OAfAtxO,EAAA+kG,iBAAA,mBAAAhlG,GACA,IAAAK,EAAAL,EAAAM,cACA+C,EAAAne,EAAA4rC,QAAAygN,EAAAlxO,GAEAgD,EAAA,IACAA,EAAAkuO,EAAAtoP,OACAsoP,EAAAluO,GAAAhD,EACAjX,EAAAia,GAAA,CACA3Y,KAAA2V,EACA6wO,aAAA,KAIA9nP,EAAAia,GAAA6tO,aAAA74O,KAAA2H,KAEA5W,EAOA,SAAA+nP,EAAAF,GACA,IAAAxwO,EAOAjT,EANA6S,EAAA4wO,EAAAvmP,KACAwmP,EAAAD,EAAAC,aACAM,EAAAN,EAAAjoP,OACAqoP,EAAAL,EAAAK,aAAA,GACAD,EAAAJ,EAAAI,cAAA,GACAI,EAAA,GAGA,gBAAApxO,EAAAxa,KACA2H,EAAA6S,EAAA5S,mBACG,CACH,IAAAikP,EAAA,EACA7kO,EAAAqkO,EAAA,SAAAlxO,GACA0xO,EAAAtlP,KAAAS,IAAA6kP,EAAA1xO,EAAAE,UAAAb,WAEAoB,EAAAJ,EAAAK,YAAAtU,KAAAiR,IAAAoD,EAAA,GAAAA,EAAA,IAGAoM,EAAAqkO,EAAA,SAAAlxO,GACA,IAAA2xO,EAAA3xO,EAAA7U,IAAA,YAEAjG,EAAAwJ,QAAAijP,KACAA,EAAA,CAAAA,MAGAF,EAAAp5O,KAAA,CAAAmvE,EAAAmqK,EAAA,GAAAnkP,IAAA,EAAAg6E,EAAAmqK,EAAA,GAAAnkP,IAAA,MAEA,IAAAokP,EAAA,GAAApkP,EAAA,EACAqkP,EAAAD,EAAAJ,EAAA,GACA1vI,GAAA8vI,EAAAC,GAAAL,EAAA,IAAAA,EACA5kK,EAAAk1B,EAAA,EAAA8vI,EAAA,EACA/kO,EAAAqkO,EAAA,SAAAlxO,EAAAqD,GACAguO,EAAAh5O,KAAAu0E,GACAA,GAAAilK,EAAA/vI,EACAwvI,EAAAj5O,KAAAjM,KAAAQ,IAAAR,KAAAS,IAAAi1G,EAAA2vI,EAAApuO,GAAA,IAAAouO,EAAApuO,GAAA,OAQA,SAAA+tO,EAAApxO,EAAAyrC,EAAAq2D,GACA,IAAAn3G,EAAAqV,EAAApV,iBACAqG,EAAA+O,EAAAE,UACAogK,EAAAx+D,EAAA,EACAgwI,EAAA,eAAA9xO,EAAA7U,IAAA,cACA4mP,EAAA,EAAAD,EACA1yE,EAAA,UACA4yE,EAAA/gP,EAAA8P,aAAAq+J,EAAA0yE,IACAG,EAAAhhP,EAAA8P,aAAAq+J,EAAA2yE,IAAA,GAEA,WAAAC,GAAAC,EAAAhpP,OAAA,GAIA,QAAAkiB,EAAA,EAAyBA,EAAAla,EAAAoO,QAA0B8L,IAAA,CACnD,IAAA+mO,EAAAjhP,EAAA9F,IAAA6mP,EAAA7mO,GACAgnO,EAAAC,EAAAF,EAAAD,EAAA,GAAA9mO,GACAknO,EAAAD,EAAAF,EAAAD,EAAA,GAAA9mO,GACAmnO,EAAAF,EAAAF,EAAAD,EAAA,GAAA9mO,GACAonO,EAAAH,EAAAF,EAAAD,EAAA,GAAA9mO,GACAqnO,EAAAJ,EAAAF,EAAAD,EAAA,GAAA9mO,GACAqvM,EAAA,GACAi4B,EAAAj4B,EAAA83B,EAAA,GACAG,EAAAj4B,EAAA+3B,EAAA,GACA/3B,EAAAniN,KAAAg6O,EAAAC,EAAAE,EAAAD,GACAG,EAAAl4B,EAAA63B,GACAK,EAAAl4B,EAAAg4B,GACAE,EAAAl4B,EAAA23B,GACAlhP,EAAAkoK,cAAAhuJ,EAAA,CACAyvM,aAAAu3B,EAAAJ,GACAv3B,SAIA,SAAA43B,EAAAF,EAAA7zK,EAAAlzD,GACA,IAIAokD,EAJA5gE,EAAAsC,EAAA9F,IAAAkzE,EAAAlzD,GACA3E,EAAA,GAYA,OAXAA,EAAAsrO,GAAAI,EACA1rO,EAAAurO,GAAApjP,EAGA2Q,MAAA4yO,IAAA5yO,MAAA3Q,GACA4gE,EAAA,CAAAhwD,UAEAgwD,EAAA5kE,EAAAM,YAAAub,GACA+oD,EAAAuiL,IAAArmM,GAGA8jB,EAGA,SAAAkjL,EAAAj4B,EAAAjrJ,EAAAz9C,GACA,IAAA6gO,EAAApjL,EAAA3qC,QACAguN,EAAArjL,EAAA3qC,QACA+tN,EAAAb,IAAAxxE,EACAsyE,EAAAd,IAAAxxE,EACAxuJ,EAAA0oM,EAAAniN,KAAAs6O,EAAAC,GAAAp4B,EAAAniN,KAAAu6O,EAAAD,GAGA,SAAAD,EAAAl4B,EAAAq4B,GACA,IAAA9kM,EAAA8kM,EAAAjuN,QACAqtL,EAAA4gC,EAAAjuN,QACAmpB,EAAA+jM,IAAAxxE,EACA2xC,EAAA6/B,IAAAxxE,EACAk6C,EAAAniN,KAAA01C,EAAAkkK,IAIA7pN,EAAAC,QAAAF,0BCvLA,IAAA2qP,EAAoBvuP,EAAQ,QAoB5B4D,EAAA2qP,EAAA1oP,OAAA,CACAvE,KAAA,oBAGAuC,EAAAC,QAAAF,wBCxBA,IAAAye,EAAgBriB,EAAQ,QAoBxBqiB,EAAAC,yBAAA,sBAEA,qCCJA,SAAA1e,EAAA8X,GACA,IAAAmtK,EAAA,GACAntK,EAAA+kG,iBAAA,iBAAAhlG,GACA,IAAAqtK,EAAArtK,EAAAstK,oBACAr8K,EAAA+O,EAAAE,UACAqtK,EAAA,GACAF,EAAAxgK,KAAA,SAAAxJ,GACA,IAAArP,EAAAq5K,EAAA//J,QAAAjK,GAEAkqK,EAAA,MAAAv5K,GAAAqP,EACA,IAAAuN,EAAAy8J,EAAAx8J,aAAAxN,GACAmJ,EAAAoE,EAAAzlB,IAAA,oBAAA6U,EAAA+N,oBAAA/Z,EAAAo5K,GACAC,EAAA18J,cAAAtN,EAAA,QAAAmJ,KAGA6gK,EAAAhuK,SACApO,EAAA4b,KAAA,SAAAxJ,GACA,IAAAgG,EAAApY,EAAA4f,aAAAxN,GACAw7H,EAAAx1H,EAAAwE,WAAA,YAEA,MAAAgxH,IACA,kBAAAA,IACAA,EAAA0uC,EAAA,MAAA1uC,IAGA5tI,EAAAic,cAAA7J,EAAA,aACApS,EAAA0f,cAAAtN,EAAA,QAAAgqK,EAAAngK,cAAA2xH,EAAA,eAQAz2I,EAAAC,QAAAF,wBCpDA,IAAA2e,EAAcviB,EAAQ,QAItBD,GAFAwiB,EAAAC,QAEcxiB,EAAQ,SAEtBwuP,EAAexuP,EAAQ,QAEvByuP,EAAiBzuP,EAAQ,QAEzB4uM,EAAW5uM,EAAQ,QAEnBs6M,EAAet6M,EAAQ,QAEvB0uP,EAAqB1uP,EAAQ,QAE7Bu8M,EAAoBv8M,EAAQ,QAE5B2uP,EAAkB3uP,EAAQ,QAoB1B4D,EAAA7D,EAAA42K,gBAAA,CACAr1K,KAAA,QACA+iB,KAAA,aACAgwC,OAAA,SAAA54C,EAAAC,EAAAxV,GACA,IAAAwG,EAAA+O,EAAAE,UAEAizO,EAAAztP,KAAA0tP,gBAAAniP,EAAA+O,GAEA6hG,EAAA7hG,EAAA7U,IAAA,UACAi7K,EAAApmK,EAAA7U,IAAA,sBACA0O,EAAApP,EAAA2sB,QAIAi8N,EAAA,QAAAx5O,EAAA+yG,QAAA02H,UAEA+P,GACAx5O,EAAA+yG,QAAA0mI,SAAAzxI,GAAAzvG,OAAA,GAIA,MAAA1M,KAAA6tP,aAAAF,GACAx5O,EAAA25O,YAAA9tP,KAAA6tP,YAAA,CACAE,YAAA,IAIA/tP,KAAAguP,YAAA1zO,IAAAomK,IACAitE,GACAx5O,EAAA25O,YAAA3xI,EAAA,CACA4xI,YAAA,EACAE,eAAAvnP,KAAAS,IAAAT,KAAAQ,IAAAw5K,EAAA,eAKA+sE,EAAAhtJ,WAAAl1F,GACAvL,KAAA6tP,YAAA1xI,EACAn8G,KAAAkuP,WAAA,GAEAlyE,yBAAA,SAAA1hK,EAAAC,EAAAxV,GACA,IAAAwG,EAAA+O,EAAAE,UAEAizO,EAAAztP,KAAA0tP,gBAAAniP,EAAA+O,GAEAmzO,EAAA9xC,yBAAApwM,GAEAvL,KAAAmuP,YAAAppP,GAEA/E,KAAAkuP,WAAA,GAEAjyE,kBAAA,SAAA6/B,EAAAxhM,EAAAC,GACAva,KAAAouP,UAAAvyC,kBAAAC,EAAAxhM,EAAAE,WAEAxa,KAAAkuP,UAAApyC,EAAAvyL,MAAAjP,EAAAE,UAAAb,SAEA2oG,gBAAA,SAAAhoG,EAAAC,EAAAxV,GACA,IAAAwG,EAAA+O,EAAAE,UACAwO,EAAA1O,EAAA0O,gBAEA,IAAAhpB,KAAAkuP,WAAAllO,EAAAo+J,OAAAp+J,EAAAqlO,kBAEA,OACA9hO,QAAA,GAKA,IAAAwlD,EAAAy7K,EAAAnzO,MAAAC,GAEAy3D,EAAAqpG,UACArpG,EAAAqpG,SAAA,CACAhvJ,MAAA,EACA7C,IAAAhe,EAAAoO,SACSpO,GAGTvL,KAAAouP,UAAA9gJ,eAEAttG,KAAAmuP,YAAAppP,IAGA2oP,gBAAA,SAAAniP,EAAA+O,GACA,IAAAmzO,EAAAztP,KAAAouP,UAEAE,EAAAtuP,KAAAguP,YAAA1zO,GAEA8kK,IAAA9kK,EAAA7U,IAAA,YACAujB,EAAA1O,EAAA0O,gBACAulO,EAAAvlO,EAAAo+J,MAeA,OAbAqmE,GAAAa,IAAAtuP,KAAAwuP,WAAApvE,IAAAp/K,KAAAyuP,aAAAF,IAAAvuP,KAAA0uP,eACAjB,GACAA,EAAAjhP,SAGAihP,EAAAztP,KAAAouP,UAAAG,EAAA,IAAAnzC,EAAA,IAAAiyC,EAAAjuE,EAAAkvE,EAAAf,EAAAp0C,EAAAm1C,EAAAhB,EAAA7/C,GACAztM,KAAAwuP,UAAAF,EACAtuP,KAAAyuP,YAAArvE,EACAp/K,KAAA0uP,aAAAH,EACAvuP,KAAAylE,MAAApB,aAGArkE,KAAAylE,MAAAloC,IAAAkwN,EAAAhoL,OACAgoL,GAEAO,YAAA,SAAA1zO,GACA,QAAAA,EAAA7U,IAAA,gBAEA0oP,YAAA,SAAAppP,GAEA,IAAAoP,EAAApP,EAAA2sB,QACAi8N,EAAA,QAAAx5O,EAAA+yG,QAAA02H,UAEA+P,GAAA,MAAA3tP,KAAA6tP,aACA15O,EAAA+yG,QAAA0mI,SAAA5tP,KAAA6tP,aAAAnhP,OAAA,IAGAF,OAAA,SAAA+N,EAAAxV,GACA/E,KAAAouP,WAAApuP,KAAAouP,UAAA5hP,SACAxM,KAAAouP,UAAA,KAEApuP,KAAAmuP,YAAAppP,IAEA+Q,QAAA,eAGApT,EAAAC,QAAAF,0BCrKA,IAAAotM,EAA0BhxM,EAAQ,QAElC+jB,EAAkB/jB,EAAQ,QAoB1B4D,EAAAmgB,EAAAle,OAAA,CACAvE,KAAA,uBACA4lH,aAAA,iBACAliG,eAAA,SAAAV,EAAA5I,GACA,OAAAs1L,EAAA7vM,KAAAuiB,YAAAviB,OAEA2uP,cAAA,QACA7rO,cAAA,CACA5d,iBAAA,cACAi3G,OAAA,EACAh/E,EAAA,EACAwsJ,iBAAA,EACAilE,WAAA,SACAnzE,YAAA,EAEAozE,aAAA,SAEAC,aAAA,CACAnuE,OAAA,EAEA5oK,MAAA,IAEAq4N,UAAA,QAUA9yN,WAAA,MAYA5a,EAAAC,QAAAF,uCCpFA,IAAAI,EAAehE,EAAQ,QACvB++N,EAAe/+N,EAAQ,QACvBiE,EAAejE,EAAQ,QACvBsgP,EAAgBtgP,EAAQ,QACxBkwP,EAAyBlwP,EAAQ,QACjCmwP,EAAiBnwP,EAAQ,QACzBsI,EAAAT,KAAAS,IACAD,EAAAR,KAAAQ,IACA2J,EAAAnK,KAAAmK,MACAo+O,EAAA,4BACAC,EAAA,oBAEAC,EAAA,SAAA5hP,GACA,YAAAjF,IAAAiF,IAAAk5H,OAAAl5H,IAIA1O,EAAQ,OAARA,CAAuB,qBAAAugP,EAAAvhM,EAAAuxM,EAAAC,GACvB,OAGA,SAAAC,EAAAC,GACA,IAAAroD,EAAAk4C,EAAAp/O,MACAoD,OAAAkF,GAAAgnP,OAAAhnP,EAAAgnP,EAAAzxM,GACA,YAAAv1C,IAAAlF,EACAA,EAAArD,KAAAuvP,EAAApoD,EAAAqoD,GACAH,EAAArvP,KAAA0mI,OAAAygE,GAAAooD,EAAAC,IAIA,SAAAC,EAAAD,GACA,IAAAx9K,EAAAs9K,EAAAD,EAAAI,EAAAxvP,KAAAuvP,GACA,GAAAx9K,EAAA/tE,KAAA,OAAA+tE,EAAA9tE,MAEA,IAAAy0K,EAAA71K,EAAA2sP,GACAx2H,EAAAyN,OAAAzmI,MACAyvP,EAAA,oBAAAF,EACAE,IAAAF,EAAA9oH,OAAA8oH,IACA,IAAArkM,EAAAwtH,EAAAxtH,OACA,GAAAA,EAAA,CACA,IAAAwkM,EAAAh3E,EAAAi3E,QACAj3E,EAAApnK,UAAA,EAEA,IAAAs+O,EAAA,GACA,SACA,IAAAlsP,EAAAsrP,EAAAt2E,EAAA1/C,GACA,UAAAt1H,EAAA,MAEA,GADAksP,EAAAj9O,KAAAjP,IACAwnD,EAAA,MACA,IAAA2kM,EAAAppH,OAAA/iI,EAAA,IACA,KAAAmsP,IAAAn3E,EAAApnK,UAAAy9O,EAAA/1H,EAAAl2H,EAAA41K,EAAApnK,WAAAo+O,IAIA,IAFA,IAAAI,EAAA,GACAC,EAAA,EACAhlP,EAAA,EAAqBA,EAAA6kP,EAAArsP,OAAoBwH,IAAA,CACzCrH,EAAAksP,EAAA7kP,GASA,IARA,IAAAilP,EAAAvpH,OAAA/iI,EAAA,IACA4C,EAAAa,EAAAD,EAAAi4O,EAAAz7O,EAAAG,OAAAm1H,EAAAz1H,QAAA,GACA0sP,EAAA,GAMAv/O,EAAA,EAAuBA,EAAAhN,EAAAH,OAAmBmN,IAAAu/O,EAAAt9O,KAAAw8O,EAAAzrP,EAAAgN,KAC1C,IAAAw/O,EAAAxsP,EAAAysP,OACA,GAAAV,EAAA,CACA,IAAAW,EAAA,CAAAJ,GAAAtmM,OAAAumM,EAAA3pP,EAAA0yH,QACA1wH,IAAA4nP,GAAAE,EAAAz9O,KAAAu9O,GACA,IAAAG,EAAA5pH,OAAA8oH,EAAA7mP,WAAAJ,EAAA8nP,SAEAC,EAAAC,EAAAN,EAAAh3H,EAAA1yH,EAAA2pP,EAAAC,EAAAX,GAEAjpP,GAAAypP,IACAD,GAAA92H,EAAA95F,MAAA6wN,EAAAzpP,GAAA+pP,EACAN,EAAAzpP,EAAA0pP,EAAAzsP,QAGA,OAAAusP,EAAA92H,EAAA95F,MAAA6wN,KAKA,SAAAO,EAAAN,EAAA1lP,EAAAhE,EAAA2pP,EAAAC,EAAAG,GACA,IAAAE,EAAAjqP,EAAA0pP,EAAAzsP,OACAgqB,EAAA0iO,EAAA1sP,OACAitP,EAAAtB,EAKA,YAJA5mP,IAAA4nP,IACAA,EAAAtyB,EAAAsyB,GACAM,EAAAvB,GAEAG,EAAArvP,KAAAswP,EAAAG,EAAA,SAAA35N,EAAA45N,GACA,IAAAC,EACA,OAAAD,EAAAh+O,OAAA,IACA,kBACA,eAAAu9O,EACA,eAAA1lP,EAAA40B,MAAA,EAAA54B,GACA,eAAAgE,EAAA40B,MAAAqxN,GACA,QACAG,EAAAR,EAAAO,EAAAvxN,MAAA,OACA,MACA,QACA,IAAArR,GAAA4iO,EACA,OAAA5iO,EAAA,OAAAgJ,EACA,GAAAhJ,EAAAN,EAAA,CACA,IAAA3pB,EAAAiN,EAAAgd,EAAA,IACA,WAAAjqB,EAAAizB,EACAjzB,GAAA2pB,OAAAjlB,IAAA2nP,EAAArsP,EAAA,GAAA6sP,EAAAh+O,OAAA,GAAAw9O,EAAArsP,EAAA,GAAA6sP,EAAAh+O,OAAA,GACAokB,EAEA65N,EAAAT,EAAApiO,EAAA,GAEA,YAAAvlB,IAAAooP,EAAA,GAAAA,+BC9FA,IAAAC,EAAe9xP,EAAQ,QAEvBi6N,EAAuBj6N,EAAQ,QAwB/B,SAAAiwC,EAAAv0B,EAAAxV,GACA,IAAA6rP,EAAA,GAoBA,OAnBAr2O,EAAA8kG,cAAA,oBAAAkvF,EAAA5wL,GACA,IAAA1Y,EAAA,IAAA0rP,EAAApiD,EAAAh0L,EAAAxV,GACAE,EAAAqJ,KAAA,YAAAqP,EACA1Y,EAAAo5D,OAAAkwI,EAAAxpM,GACAwpM,EAAArpM,iBAAAD,EACAA,EAAA0e,MAAA4qL,EACAqiD,EAAAj+O,KAAA1N,KAGAsV,EAAAkkG,WAAA,SAAAnkG,GACA,gBAAAA,EAAA7U,IAAA,qBACA,IAAA8oM,EAAAh0L,EAAAwR,gBAAA,CACAC,SAAA,WACAnoB,MAAAyW,EAAA7U,IAAA,iBACAwmB,GAAA3R,EAAA7U,IAAA,gBACO,GACP6U,EAAApV,iBAAAqpM,EAAArpM,oBAGA0rP,EAGA93B,EAAA9gE,SAAA,YACAlpH,mCCnDAjwC,EAAQ,QAERA,EAAQ,6CCpBR,IAAA2wN,EAAc3wN,EAAQ,QACtBgyP,EAAA/1B,OAAA76N,UAAAsR,KAIA7O,EAAAC,QAAA,SAAAs2H,EAAAD,GACA,IAAAznH,EAAA0nH,EAAA1nH,KACA,uBAAAA,EAAA,CACA,IAAA7N,EAAA6N,EAAAxR,KAAAk5H,EAAAD,GACA,qBAAAt1H,EACA,UAAAI,UAAA,sEAEA,OAAAJ,EAEA,cAAA8rN,EAAAv2F,GACA,UAAAn1H,UAAA,+CAEA,OAAA+sP,EAAA9wP,KAAAk5H,EAAAD,4BCCA,IAAA90H,EAAcrF,EAAQ,QAEtBsF,EAAsBtF,EAAQ,QAE9BuF,EAAiBvF,EAAQ,QAEzBiyP,EAA0BjyP,EAAQ,QAElCyF,EAAezF,EAAQ,QAoBvBkyP,EAAA5sP,EAAAO,OAAA,CAIAC,aAAA,SAAAC,EAAAX,EAAAY,EAAAC,EAAAC,GACA,IAAAC,EAAAH,EAAAG,KACA0kO,EAAA1kO,EAAA0kO,KACAlkO,EAAAV,EAAAW,IAAA,QACAN,EAAA6rP,EAAAtnB,EAAA1kO,GAAA8V,aAAA9V,GAAAI,kBACAE,EAAAN,EAAAolO,cAAAplO,EAAAo8G,YAAAn9G,GAAA,IAEA,GAAAuB,GAAA,SAAAA,EAAA,CACA,IAAAE,EAAAtB,EAAAuB,aAAAb,GACAc,EAAAC,EAAAL,GAAAR,EAAAM,EAAAH,EAAAO,GACAE,EAAArF,MAAAmF,EACAd,EAAAkB,WAAAF,EAAAzF,KACAyE,EAAAmB,QAAAH,EAGA,IAAAI,EAAA8qP,EAAA7qP,OAAAyjO,EAAA/lN,MAAA9e,GACAT,EAAA8B,kCAAAjC,EAAAW,EAAAoB,EAAAnB,EAAAC,EAAAC,IAMAoB,mBAAA,SAAAlC,EAAAY,EAAAC,GACA,IAAAkB,EAAA8qP,EAAA7qP,OAAApB,EAAAG,KAAA0kO,KAAA/lN,MAAA9e,EAAA,CACAuB,aAAA,IAGA,OADAJ,EAAAK,YAAAvB,EAAAW,IAAA,iBACA,CACAa,SAAAlC,EAAAmC,uBAAA1B,EAAAG,KAAAf,EAAA+B,GACAQ,SAAAR,EAAAQ,UAAAR,EAAAS,eAAA,EAAAC,KAAAC,GAAA,KAOAC,sBAAA,SAAAC,EAAAC,EAAAjC,EAAAC,GACA,IAAAE,EAAAH,EAAAG,KACA0kO,EAAA1kO,EAAA0kO,KACA1iO,EAAAhC,EAAAI,iBAAA,GACAD,EAAA6rP,EAAAtnB,EAAA1kO,GAAA8V,aAAA9V,GAAAI,kBACA2B,EAAA,MAAA/B,EAAAsW,IAAA,IACArU,EAAAJ,EAAAP,SACAW,EAAAF,IAAAD,EAAAC,GACAE,EAAAF,GAAAL,KAAAQ,IAAAF,EAAA,GAAAC,EAAAF,IACAE,EAAAF,GAAAL,KAAAS,IAAAH,EAAA,GAAAC,EAAAF,IACA,IAAAK,GAAAjC,EAAA,GAAAA,EAAA,MACAkC,EAAA,CAAAD,KACAC,EAAAN,GAAAE,EAAAF,GAEA,IAAAkqP,EAAA,EACA1pP,cAAA,UACK,CACLk8I,MAAA,WAEA,OACAn9I,SAAAW,EACAT,SAAAK,EAAAL,SACAa,cACAC,cAAA2pP,EAAAlqP,OAKA,SAAAiqP,EAAAtnB,EAAA1kO,GACA,IAAAoQ,EAAA,GAEA,OADAA,EAAApQ,EAAAsW,IAAA,aAAAtW,EAAAnB,MACA6lO,EAAAsnB,aAAA57O,GAGA,IAAAvP,EAAA,CACA2B,KAAA,SAAAxC,EAAAM,EAAAH,EAAAO,GACA,IAAA+B,EAAArD,EAAAsD,cAAA,CAAApC,EAAAH,EAAA,KAAAG,EAAAH,EAAA,IAAA+rP,EAAAlsP,IAKA,OAJAd,EAAAyD,qBAAA,CACAC,MAAAH,EACAlH,MAAAmF,IAEA,CACAvF,KAAA,OACAyH,MAAAH,IAGAI,OAAA,SAAA7C,EAAAM,EAAAH,EAAAO,GACA,IAAAoC,EAAApB,KAAAS,IAAA,EAAAnC,EAAA+C,gBACAC,EAAA7C,EAAA,GAAAA,EAAA,GACA,OACAhF,KAAA,OACAyH,MAAAxD,EAAA6D,cAAA,CAAA3C,EAAAwC,EAAA,EAAA3C,EAAA,KAAA2C,EAAAE,GAAAkpP,EAAAlsP,OAKA,SAAAksP,EAAAlsP,GACA,YAAAA,EAAAsW,IAAA,IAGAhX,EAAA8D,yBAAA,uBAAA2oP,GACA,IAAAtuP,EAAAsuP,EACAruP,EAAAC,QAAAF,0BClIA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAqBRD,EAAAu7I,oBAAA,CACAh6I,KAAA,OACA+yD,OAAA,SAAAu2K,EAAAlvN,GACAva,KAAAylE,MAAApB,YAEAolK,EAAAhkO,IAAA,SACAzF,KAAAylE,MAAAloC,IAAA,IAAAr5B,EAAA+qE,KAAA,CACArnE,MAAA6hO,EAAAvkO,iBAAAiD,UACA5H,MAAAf,EAAA8V,SAAA,CACA5U,KAAA+oO,EAAAhkO,IAAA,oBACSgkO,EAAAl+H,gBACT8b,QAAA,EACA3nF,IAAA,QAKA9gC,EAAAU,qBAAA,SAAA6jB,GAEAA,EAAA09D,OAAA19D,EAAAy9D,QAAAz9D,EAAAumN,OACAvmN,EAAAumN,KAAA,0BCpEA,IAAAx+K,EAAAxoD,EAAAC,QAAA,oBAAAgI,eAAAjE,WACAiE,OAAA,oBAAA+8B,WAAAhhC,WAAAghC,KAEAwiB,SAAA,cAAAA,GACA,iBAAAinM,UAAAjmM,2BCyCA,IA1BA,IAAA1rD,EAAaX,EAAQ,QAErB8gB,EAAa9gB,EAAQ,QAqBrBiiH,EAAA,SACAp5C,EAAA,qqBAEA38D,EAAA,EAAeA,EAAA28D,EAAAnkE,OAAmBwH,IAClC,QAAA2V,EAAA,EAAiBA,EAAAgnD,EAAA38D,GAAAxH,OAAsBmd,IACvCgnD,EAAA38D,GAAA2V,GAAA,SACAgnD,EAAA38D,GAAA2V,GAAA,QACAgnD,EAAA38D,GAAA2V,GAAA,IAAAogG,EAAA,GACAp5C,EAAA38D,GAAA2V,GAAA,IAAAogG,EAAA,GAIA,SAAAr+G,EAAA2uP,EAAAz1I,GACA,UAAAy1I,GACAz1I,EAAAhpG,KAAA,IAAAgN,EAAA,OAAAngB,EAAA4N,IAAAs6D,EAAA,SAAAtnD,GACA,OACAjgB,KAAA,UACAigB,cAEK0gG,IAILp+G,EAAAC,QAAAF,0BC9CA,IAAAjD,EAAaX,EAAQ,QAErB+iB,EAAgB/iB,EAAQ,QAoBxBsoB,EAAA3nB,EAAA2nB,KACAvd,EAAApK,EAAAoK,SACAynP,EAAA,mFAEA,SAAAC,EAAAl8O,GACA,IAAAm8O,EAAAn8O,KAAAk2F,UAEA,GAAAimJ,EAIA,QAAAxmP,EAAA,EAAA0B,EAAA4kP,EAAA9tP,OAA+CwH,EAAA0B,EAAS1B,IAAA,CACxD,IAAAoH,EAAAk/O,EAAAtmP,GACAymP,EAAAD,EAAA1kM,OACA4kM,EAAAF,EAAA10I,SAEA20I,KAAAr/O,KACAiD,EAAAjD,GAAAiD,EAAAjD,IAAA,GAEAiD,EAAAjD,GAAA06C,OAGArtD,EAAA2L,MAAAiK,EAAAjD,GAAA06C,OAAA2kM,EAAAr/O,IAFAiD,EAAAjD,GAAA06C,OAAA2kM,EAAAr/O,GAKAq/O,EAAAr/O,GAAA,MAGAs/O,KAAAt/O,KACAiD,EAAAjD,GAAAiD,EAAAjD,IAAA,GAEAiD,EAAAjD,GAAA0qG,SAGAr9G,EAAA2L,MAAAiK,EAAAjD,GAAA0qG,SAAA40I,EAAAt/O,IAFAiD,EAAAjD,GAAA0qG,SAAA40I,EAAAt/O,GAKAs/O,EAAAt/O,GAAA,OAKA,SAAA2iI,EAAA1/H,EAAA2/H,EAAA28G,GACA,GAAAt8O,KAAA2/H,KAAA3/H,EAAA2/H,GAAAloF,QAAAz3C,EAAA2/H,GAAAl4B,UAAA,CACA,IAAAm4B,EAAA5/H,EAAA2/H,GAAAloF,OACAooF,EAAA7/H,EAAA2/H,GAAAl4B,SAEAm4B,IAEA08G,GACAt8O,EAAA2/H,GAAAloF,OAAAz3C,EAAA2/H,GAAAl4B,SAAA,KACAr9G,EAAA8V,SAAAF,EAAA2/H,GAAAC,IAEA5/H,EAAA2/H,GAAAC,GAIAC,IACA7/H,EAAAynG,SAAAznG,EAAAynG,UAAA,GACAznG,EAAAynG,SAAAk4B,GAAAE,IAKA,SAAA08G,EAAAv8O,GACA0/H,EAAA1/H,EAAA,aACA0/H,EAAA1/H,EAAA,aACA0/H,EAAA1/H,EAAA,aACA0/H,EAAA1/H,EAAA,SACA0/H,EAAA1/H,EAAA,aAEA0/H,EAAA1/H,EAAA,cAEA0/H,EAAA1/H,EAAA,aAGA,SAAAw8O,EAAAx8O,EAAA2vD,GAEA,IAAA8sL,EAAAjoP,EAAAwL,MAAA2vD,GACA03C,EAAA7yG,EAAAioP,MAAAp1I,UAEA,GAAAA,EACA,QAAA1xG,EAAA,EAAA0B,EAAAmV,EAAAkwO,mBAAAvuP,OAA8DwH,EAAA0B,EAAS1B,IAAA,CACvEg6D,EAAAnjD,EAAAkwO,mBAAA/mP,GAEA0xG,EAAAvxG,eAAA65D,KACA8sL,EAAA9sL,GAAA03C,EAAA13C,KAMA,SAAAgtL,EAAA38O,GACAA,IACAu8O,EAAAv8O,GACAw8O,EAAAx8O,EAAA,SACAA,EAAAynG,UAAA+0I,EAAAx8O,EAAAynG,SAAA,UAIA,SAAAm1I,EAAAC,GACA,GAAAroP,EAAAqoP,GAAA,CAIAX,EAAAW,GACAN,EAAAM,GACAL,EAAAK,EAAA,SAEAL,EAAAK,EAAA,cAEAL,EAAAK,EAAA,aAEAA,EAAAp1I,WACA+0I,EAAAK,EAAAp1I,SAAA,SAEA+0I,EAAAK,EAAAp1I,SAAA,cAEA+0I,EAAAK,EAAAp1I,SAAA,cAGA,IAAAq1I,EAAAD,EAAAC,UAEAA,IACAZ,EAAAY,GACAH,EAAAG,IAGA,IAAA30B,EAAA00B,EAAA10B,SAEAA,IACA+zB,EAAA/zB,GACAw0B,EAAAx0B,IAGA,IAAA40B,EAAAF,EAAAE,SAEAA,GACAJ,EAAAI,GAGA,IAAA5mP,EAAA0mP,EAAA1mP,KAGA,aAAA0mP,EAAA9xP,KAAA,CACAoL,KAAA0mP,EAAAv8F,MACA,IAAAqyB,EAAAkqE,EAAAxpE,OAAAwpE,EAAAzpE,MAEA,GAAAT,IAAAvoL,EAAAolB,aAAAmjK,GACA,QAAAh9K,EAAA,EAAqBA,EAAAg9K,EAAAxkL,OAAqBwH,IAC1CgnP,EAAAhqE,EAAAh9K,IAIAvL,EAAA2nB,KAAA8qO,EAAAz6G,WAAA,SAAApiI,GACAu8O,EAAAv8O,KAIA,GAAA7J,IAAA/L,EAAAolB,aAAArZ,GACA,IAAAR,EAAA,EAAmBA,EAAAQ,EAAAhI,OAAiBwH,IACpCgnP,EAAAxmP,EAAAR,IAKAmnP,EAAAD,EAAAC,UAEA,GAAAA,KAAA3mP,KACA,KAAA6mP,EAAAF,EAAA3mP,KAEA,IAAAR,EAAA,EAAmBA,EAAAqnP,EAAA7uP,OAAmBwH,IACtCgnP,EAAAK,EAAArnP,IAKAwyN,EAAA00B,EAAA10B,SAEA,GAAAA,KAAAhyN,KACA,KAAA8mP,EAAA90B,EAAAhyN,KAEA,IAAAR,EAAA,EAAmBA,EAAAsnP,EAAA9uP,OAAmBwH,IACtCvL,EAAAwJ,QAAAqpP,EAAAtnP,KACAgnP,EAAAM,EAAAtnP,GAAA,IACAgnP,EAAAM,EAAAtnP,GAAA,KAEAgnP,EAAAM,EAAAtnP,IAMA,UAAAknP,EAAA9xP,MACAyxP,EAAAK,EAAA,aACAL,EAAAK,EAAA,SACAL,EAAAK,EAAA,WACG,YAAAA,EAAA9xP,MACH20I,EAAAm9G,EAAAK,WAAA,aACA9yP,EAAA2nB,KAAA8qO,EAAAzrD,OAAA,SAAApxL,GACAu8O,EAAAv8O,MAEG,SAAA68O,EAAA9xP,MACHwxP,EAAAM,EAAAM,SAKA,SAAAC,EAAA/kO,GACA,OAAAjuB,EAAAwJ,QAAAykB,OAAA,CAAAA,GAAA,GAGA,SAAAglO,EAAAhlO,GACA,OAAAjuB,EAAAwJ,QAAAykB,KAAA,GAAAA,IAAA,GAGA,SAAAhrB,EAAA0gB,EAAAuvO,GACAvrO,EAAAqrO,EAAArvO,EAAAyC,QAAA,SAAAqsO,GACAroP,EAAAqoP,IAAAD,EAAAC,KAEA,IAAAjyG,EAAA,+EACA0yG,GAAA1yG,EAAArtI,KAAA,iDACAwU,EAAA64H,EAAA,SAAA2yG,GACAxrO,EAAAqrO,EAAArvO,EAAAwvO,IAAA,SAAAt9G,GACAA,IACAu8G,EAAAv8G,EAAA,aACAu8G,EAAAv8G,EAAAuC,YAAA,cAIAzwH,EAAAqrO,EAAArvO,EAAA2oL,UAAA,SAAA8mD,GACA,IAAAC,EAAAD,KAAAC,oBACAjB,EAAAiB,EAAA,aACAjB,EAAAiB,KAAAj7G,YAAA,WAEAzwH,EAAAqrO,EAAArvO,EAAA4tL,UAAA,SAAA+hD,GACAh+G,EAAAg+G,EAAA,aACAlB,EAAAkB,EAAA,YACAlB,EAAAkB,EAAA,cACAlB,EAAAkB,EAAA,eAGA3rO,EAAAqrO,EAAArvO,EAAAsoL,OAAA,SAAAsnD,GACAnB,EAAAmB,EAAA,UAEA5rO,EAAAqrO,EAAArvO,EAAA6iF,KAAA,SAAAgtJ,GACAppP,EAAAopP,KACAjB,EAAAiB,GACA7rO,EAAAqrO,EAAAQ,EAAAr3I,SAAA,SAAAs3I,GACAlB,EAAAkB,QAIA9rO,EAAAqrO,EAAArvO,EAAAwzN,UAAA,SAAAD,GACAqb,EAAArb,GACA5hG,EAAA4hG,EAAA,SACA5hG,EAAA4hG,EAAA,aACA5hG,EAAA4hG,EAAA,mBACA,IAAAnrO,EAAAmrO,EAAAnrO,KACA/L,EAAAwJ,QAAAuC,IAAA/L,EAAA2nB,KAAA5b,EAAA,SAAAs5D,GACArlE,EAAAoK,SAAAi7D,KACAiwE,EAAAjwE,EAAA,SACAiwE,EAAAjwE,EAAA,kBAIA19C,EAAAqrO,EAAArvO,EAAAonL,SAAA,SAAA2oD,GACAp+G,EAAAo+G,EAAA,aACA/rO,EAAA+rO,EAAAn8B,QAAA,SAAAC,GACAliF,EAAAkiF,EAAA,iBAGA46B,EAAAa,EAAAtvO,EAAAy0H,aAAA,SACAg6G,EAAAa,EAAAtvO,EAAAmD,SAAAsxH,YAAA,SAGAl1I,EAAAC,QAAAF,0BC1SA,IAAA7D,EAAcC,EAAQ,QAEtBs0P,EAAkBt0P,EAAQ,QAE1Bu0P,EAAAD,EAAAC,oBAEAv0P,EAAQ,QAoBR,IAAAoqP,EAAA,CACA9oP,KAAA,YACAgX,MAAA,YACAoV,OAAA,QAYA3tB,EAAA0tB,eAAA28N,EAAA,SAAAz8N,EAAAjS,GACAA,EAAA8kG,cAAA,CACArzF,SAAA,SACAgqH,MAAAxpH,GACG,SAAAlS,GACH,IAAArV,EAAAqV,EAAApV,iBACA6sE,EAAAqhL,EAAAnuP,EAAAunB,GACAlS,EAAAskE,WAAAtkE,EAAAskE,UAAA7M,EAAA71D,QACA5B,EAAAo0J,SAAAp0J,EAAAo0J,QAAA38F,EAAAiwC,kCCjDA,IAAAxiH,EAAaX,EAAQ,QAoBrB,SAAAutO,EAAAC,EAAA7qD,GAEA,OADAA,KAAA,MACAhiL,EAAA4N,IAAA,eAAAurE,GACA,IAAA1vE,EAAAu4K,EAAA7oG,GACA8kG,EAAA4uD,EAAA1zJ,GAAA,EACAr8D,EAAA,GACAC,EAAA,GAIA,OAHAD,EAAAq8D,GAAA1vE,EAAAw0K,EACAlhK,EAAAo8D,GAAA1vE,EAAAw0K,EACAnhK,EAAA,EAAAq8D,GAAAp8D,EAAA,EAAAo8D,GAAA6oG,EAAA,EAAA7oG,GACAjyE,KAAAiR,IAAA3X,KAAAuF,YAAA+W,GAAAq8D,GAAA34E,KAAAuF,YAAAgX,GAAAo8D,KACG34E,MAGH,SAAAyC,EAAAwC,GACA,IAAAxD,EAAAwD,EAAA1D,kBACA,OACA0D,SAAA,CACA9E,KAAA,MACA6B,EAAAP,EAAAO,EACAC,EAAAR,EAAAQ,EACAK,MAAAb,EAAAa,MACAC,OAAAd,EAAAc,OACAy/G,KAAA/8G,EAAA8/G,WAEAhgH,IAAA,CACAwb,MAAA,SAAAhV,GAIA,OAAAtG,EAAAM,YAAAgG,IAEA0P,KAAAzb,EAAAoJ,KAAAwjO,EAAAnnO,KAKAvC,EAAAC,QAAAF,wBCvCA,SAAAA,EAAAwC,GACA,IAAAxD,EAAAwD,EAAAkD,UACA2yO,EAAA71O,EAAA8yO,eACA,OACA9yO,SAAA,CACA9E,KAAA,WACA6B,EAAAP,EAAAO,EACAC,EAAAR,EAAAQ,EACAK,MAAAb,EAAAa,MACAC,OAAAd,EAAAc,OACA8wP,UAAApuP,EAAAgzO,eACAqb,WAAAruP,EAAAkzO,gBACA2C,UAAA,CACA1uN,MAAA0uN,EAAA1uN,MACA7C,IAAAuxN,EAAAvxN,IACA4vN,MAAA2B,EAAA3B,MACAoa,SAAAzY,EAAAL,SAGA11O,IAAA,CACAwb,MAAA,SAAAhV,EAAA6zB,GACA,OAAAn6B,EAAAM,YAAAgG,EAAA6zB,MAMA18B,EAAAC,QAAAF,wBC7CA,IAAAkL,EAAY9O,EAAQ,QAGpBmK,GADA2E,EAAAy8C,OACAz8C,EAAA3E,SAEAoY,EAAcviB,EAAQ,QAEtBuiB,EAAAC,QAyBA,SAAAe,EAAAmY,GACA,WAAAi5N,EAAAj5N,GAYA,SAAAi5N,EAAAj5N,GACAA,KAAA,GACAv6B,KAAAyzP,OAAAl5N,EAAAlgB,MACAra,KAAA0zP,MAAAn5N,EAAA8yK,KACArtM,KAAA2zP,OAAAp5N,EAAA5gB,MACA3Z,KAAA4zP,SAAAr5N,EAAAs5N,QACA7zP,KAAAs9B,QAAA,EAGAt9B,KAAA0jB,QAGA,IAAAowO,EAAAN,EAAAvzP,UASA6zP,EAAAC,QAAA,SAAAC,GACA,IAcAC,EAdAC,EAAAl0P,KAAAm0P,UACAC,EAAAJ,KAAAI,KAIA,GAAAp0P,KAAAs9B,QAAA42N,EAAA,CACA,IAAAxwO,EAAA1jB,KAAA0jB,QACAA,EAAAnY,KAAAmY,EAAA6B,WAAA2uO,EAAAxwO,QAAA6B,WAGAvlB,KAAAq0P,aACAr0P,KAAAq0P,WAAApqO,YAAAjqB,MAKAA,KAAA0zP,QAAAU,IACAH,EAAAj0P,KAAA0zP,MAAA1zP,KAAA0jB,UAKA,IAeA4wO,EAfAC,EAAAC,EAAAx0P,KAAAy0P,QACAC,EAAA10P,KAAA20P,eAAA,EACAC,EAAAJ,EAAAR,KAAAY,OACAC,EAAAb,KAAAa,cAAA,EAMA,SAAAL,EAAAvrP,GAGA,QAFAA,GAAA,KAAAA,EAAA,GAEAA,EAPAsrP,IAAAK,GAAAF,IAAAG,IACAZ,EAAA,UAWAj0P,KAAAs9B,QAAA,UAAA22N,KACAj0P,KAAAs9B,QAAA,EACAg3N,EAAAj6O,EAAAra,KAAAo0P,IAGAp0P,KAAAy0P,OAAAG,EACA50P,KAAA20P,cAAAE,EACA,IAAArxP,EAAAwwP,KAAAxwP,KAWA,GARAxD,KAAA80P,QADAZ,EACAA,EAAAa,cAGA/0P,KAAA2zP,OAAA3zP,KAAA2zP,OAAA3zP,KAAA0jB,SAAA5J,IAKA9Z,KAAAg1P,UAAA,CACA,IAAA5oO,EAAApsB,KAAAi1P,UACA1rO,EAAA7iB,KAAAQ,IAAA,MAAA1D,EAAAxD,KAAAi1P,UAAAzxP,EAAAsW,IAAA9Z,KAAA80P,SAEA,IAAAV,IAAAE,GAAAloO,EAAA7C,GAAA,CACA,IAAA6xJ,EAAAp7K,KAAAg1P,UAEA,GAAAhsP,EAAAoyK,GACA,QAAArwK,EAAA,EAAuBA,EAAAqwK,EAAA73K,OAAqBwH,IAC5CmqP,EAAAl1P,KAAAo7K,EAAArwK,GAAAqhB,EAAA7C,EAAAqrO,EAAAC,QAGAK,EAAAl1P,KAAAo7K,EAAAhvJ,EAAA7C,EAAAqrO,EAAAC,GAIA70P,KAAAi1P,UAAA1rO,EAGA,IAAA4rO,EAAA,MAAAn1P,KAAAo1P,iBAAAp1P,KAAAo1P,iBAAA7rO,EACAvpB,KAAA+0P,cAAAI,OAKAn1P,KAAAi1P,UAAAj1P,KAAA+0P,cAAA,MAAA/0P,KAAAo1P,iBAAAp1P,KAAAo1P,iBAAAp1P,KAAA80P,QAGA,OAAA90P,KAAAq1P,cAGA,IAAA5xP,EAAA,WACA,IAAA8lB,EACA2oD,EACA0iL,EACAC,EACAS,EACA/nP,EAAA,CACA8M,MAAA,SAAA4T,EAAA9X,EAAAo/O,EAAAC,GACAtjL,EAAAjkD,EACA1E,EAAApT,EACAy+O,EAAAW,EACAV,EAAAW,EACAF,EAAA5uP,KAAA0gE,KAAAytL,EAAAD,GACArnP,EAAAxJ,KAAA6wP,EAAA,GAAAC,EAAA,EAAAY,EAAAC,IAGA,OAAAnoP,EAEA,SAAAmoP,IACA,OAAAxjL,EAAA3oD,EAAA2oD,IAAA,KAGA,SAAAujL,IACA,IAAAhwO,EAAAysD,EAAAojL,EAAAV,EAAAluP,KAAA0gE,KAAA8K,EAAAojL,GACA5xP,EAAAwuE,GAAA3oD,EAAA,KAAA9D,EAAAovO,EAAApvO,EAEAysD,EAEA,OADAA,IACAxuE,GA5BA,GAqCA,SAAAwxP,EAAAS,EAAAv6E,EAAAhvJ,EAAA7C,EAAAqrO,EAAAC,GACApxP,EAAA4W,MAAA+R,EAAA7C,EAAAqrO,EAAAC,GACAc,EAAAC,iBAAAx6E,EAEAu6E,EAAAC,iBAAA,CACAxpO,QACA7C,MACA5P,MAAA4P,EAAA6C,EACAroB,KAAAN,EAAAM,MACG4xP,EAAAjyO,SAGH,SAAArJ,EAAAs7O,EAAAvB,GAGA,IAAAh5E,EACAk5E,EAHAqB,EAAAV,UAAAU,EAAAZ,cAAAY,EAAAb,QAAA,EACAa,EAAAP,iBAAA,MAIAhB,GAAAuB,EAAAlC,SACAr4E,EAAAu6E,EAAAlC,OAAAkC,EAAAjyO,SAEA03J,gBACAk5E,EAAAl5E,EAAAk5E,mBACAl5E,cAIApyK,EAAAoyK,OAAA73K,SACA63K,EAAA,OAIAu6E,EAAAX,UAAA55E,EACAu6E,EAAAlB,OAAAkB,EAAAhB,cAAA,KACA,IAAAkB,EAAAF,EAAAG,YAEA,OADAD,KAAAlxO,QACA2vO,EAzCAR,EAAAnvO,MAAA,WACA3kB,KAAAs9B,QAAA,EACAt9B,KAAA4zP,UAAA5zP,KAAA4zP,SAAA5zP,KAAA0jB,UA8CAowO,EAAAuB,WAAA,WACA,OAAAr1P,KAAAg1P,WAAAh1P,KAAAi1P,UAAAj1P,KAAA80P,SAQAhB,EAAA5pP,KAAA,SAAA6rP,IAEA/1P,KAAA81P,cAAAC,GAAA/1P,KAAAs9B,UACAt9B,KAAA81P,YAAAC,EACAA,EAAA5B,UAAAn0P,KACA+1P,EAAApxO,UAIAmvO,EAAAh+O,QAAA,WACA9V,KAAA24L,YAIA34L,KAAAm0P,YAAAn0P,KAAAm0P,UAAA2B,YAAA,MACA91P,KAAA81P,cAAA91P,KAAA81P,YAAA3B,UAAA,MACAn0P,KAAAs9B,QAAA,EACAt9B,KAAA24L,WAAA,IAGAm7D,EAAAkC,YAAA,WACA,OAAAh2P,KAAAm0P,WAGAL,EAAAmC,cAAA,WACA,OAAAj2P,KAAA81P,aAGAhC,EAAAxuO,aAAA,SAAAiE,GAMAvpB,KAAA+0P,cAAA/0P,KAAAo1P,iBAAA7rO,GA8CA5mB,EAAAyf,mCCpUA,IAAA5iB,EAAaX,EAAQ,QAErBwnN,EAAcxnN,EAAQ,QAEtB49K,EAAA4pC,EAAA5pC,aAEAv4K,EAAcrF,EAAQ,QAEtBgjF,EAAchjF,EAAQ,QAEtBijF,EAAAD,EAAAC,aAEA6tH,EAAmB9wM,EAAQ,QAE3B+wM,EAAAD,EAAAC,gBAgCA,SAAA49B,EAAAjiO,EAAAoS,EAAA0wN,GACAnqO,EAAA80M,MAAAj5M,KAAAC,MACAA,KAAAygG,WAAAl1F,EAAAoS,EAAA0wN,GAGA,IAAA6nB,EAAA1oB,EAAAvtO,UASAmd,EAAAowN,EAAApwN,cAAA,SAAA7R,EAAAoS,GACA,IAAAL,EAAA/R,EAAAic,cAAA7J,EAAA,cACA,OAAAL,aAAAE,MAAAF,EAAA4hB,QAAA,EAAA5hB,OAGA,SAAAwlG,EAAAxlG,GACA,OAAAA,EAAA,KAAAA,EAAA,MAGA,SAAA64O,EAAAn/O,EAAAC,GACAjX,KAAA2xE,OAAA0uI,MAAArpM,EAAAC,GAGAi/O,EAAAE,cAAA,SAAA9rO,EAAA/e,EAAAoS,EAAAL,EAAAiN,GAEAvqB,KAAAqkE,YACA,IAAAv9C,EAAAvb,EAAAic,cAAA7J,EAAA,SAOA04O,EAAA55E,EAAAnyJ,GAAA,SAAAxD,EAAAyD,GACA8rO,EAAAtyK,KAAA,CACArkD,GAAA,IACAk6C,SAAA,EACA7hE,MAAA+qG,EAAAxlG,KAGA+4O,EAAAh2C,MAAA81C,EACAn2P,KAAAusG,YAAAjiF,EACAtqB,KAAAu9B,IAAA84N,IAQAH,EAAAI,oBAAA,SAAAC,GACAv2P,KAAA4xE,QAAA,GAAAt1C,cAAAi6N,IAaAL,EAAAM,cAAA,WACA,OAAAx2P,KAAA4xE,QAAA,IAQAskL,EAAApzI,SAAA,WACA,OAAA9iH,KAAA4xE,QAAA,GAAA75D,OAOAm+O,EAAA1yJ,UAAA,WACAxjG,KAAA4xE,QAAA,GAAAx6D,QAAA,aAOA8+O,EAAA3yJ,SAAA,WACAvjG,KAAA4xE,QAAA,GAAAx6D,QAAA,WAQA8+O,EAAAO,KAAA,SAAAt6I,EAAAh/E,GACA,IAAAk5N,EAAAr2P,KAAA4xE,QAAA,GACAykL,EAAAl6I,SACAk6I,EAAAl5N,KAGA+4N,EAAAQ,aAAA,SAAApgP,GACA,IAAA+/O,EAAAr2P,KAAA4xE,QAAA,GACAykL,EAAA//O,YACA+/O,EAAA5lM,OAAAn6C,EAAA,kBAqBA4/O,EAAAz1J,WAAA,SAAAl1F,EAAAoS,EAAA0wN,GACAruO,KAAAqnH,QAAA,EACA,IAAA/8F,EAAA/e,EAAAic,cAAA7J,EAAA,oBACArD,EAAA/O,EAAA49F,UACA7rF,EAAAF,EAAA7R,EAAAoS,GACAg0L,EAAArnL,IAAAtqB,KAAAusG,YAEA,GAAAolG,EAAA,CACA,IAAApnL,EAAAhf,EAAAic,cAAA7J,EAAA,oBAEA3d,KAAAo2P,cAAA9rO,EAAA/e,EAAAoS,EAAAL,EAAAiN,OACG,CACH,IAAA8rO,EAAAr2P,KAAA4xE,QAAA,GACAykL,EAAAhvI,QAAA,EACAnjH,EAAAkuM,YAAAikD,EAAA,CACAt+O,MAAA+qG,EAAAxlG,IACKhD,EAAAqD,GAKL,GAFA3d,KAAA22P,cAAAprP,EAAAoS,EAAAL,EAAA+wN,GAEA18B,EAAA,CACA0kD,EAAAr2P,KAAA4xE,QAAA,OACAglL,EAAAvoB,KAAAuoB,OACAvgP,EAAA,CACA0B,MAAAs+O,EAAAt+O,MAAAmnB,SAEA03N,IAAAvgP,EAAA9V,MAAA,CACAuzD,QAAAuiM,EAAA91P,MAAAuzD,UAEAuiM,EAAAt+O,MAAA,MACA6+O,IAAAP,EAAA91P,MAAAuzD,QAAA,GACA5vD,EAAAiuM,UAAAkkD,EAAAhgP,EAAAiE,EAAAqD,GAGA3d,KAAAqyN,aAAA/3M,GAIA,IAAAu8O,EAAA,cACAC,EAAA,yBACAC,EAAA,UACAC,EAAA,qBAoGA,SAAAC,KAEA/yP,EAAAgzP,aAAAl3P,OAAAo5M,EAAAr5M,KAAAC,MAGA,SAAAm3P,KAEAjzP,EAAAgzP,aAAAl3P,OAAAs5M,EAAAv5M,KAAAC,MAGA,SAAAo5M,IAGA,IAAAp5M,KAAAo2M,cAAAp2M,KAAAq2M,cAAA,CAIA,IAAAt+L,EAAA/X,KAAAo3P,sBACAhQ,EAAArvO,EAAA,GAAAA,EAAA,GACA/X,KAAA2/E,UAAA,CACA5nE,MAAA,CAAArR,KAAAS,IAAA,IAAA4Q,EAAA,GAAAA,EAAA,MAAArR,KAAAS,IAAA,IAAA4Q,EAAA,GAAAA,EAAA,KAAAqvO,KACG,mBAGH,SAAA9tC,IACAt5M,KAAAo2M,aAAAp2M,KAAAq2M,eAIAr2M,KAAA2/E,UAAA,CACA5nE,MAAA/X,KAAAo3P,uBACG,kBA3HHlB,EAAAS,cAAA,SAAAprP,EAAAoS,EAAAL,EAAA+wN,GACA,IAAAgoB,EAAAr2P,KAAA4xE,QAAA,GACAt3D,EAAA/O,EAAA49F,UACAriF,EAAAvb,EAAAic,cAAA7J,EAAA,SAEA,UAAA04O,EAAAl2P,MACAk2P,EAAApkD,SAAA,CACAiK,eAAA,IAIA,IAAA5wG,EAAA+iI,KAAA/iI,UACA4iI,EAAAG,KAAAH,eACA7e,EAAAgf,KAAAhf,aACAD,EAAAif,KAAAjf,aACA1lH,EAAA2kI,KAAA3kI,WACA2jH,EAAAghB,KAAAhhB,gBACA8gB,EAAAE,KAAAF,eACAvb,EAAAyb,KAAAzb,YAEA,IAAAyb,GAAA9iO,EAAAuf,cAAA,CACA,IAAAI,EAAAmjN,KAAAnjN,UAAAmjN,EAAAnjN,UAAA3f,EAAA4f,aAAAxN,GAGA2tF,EAAApgF,EAAAyP,SAAAk8N,GAAAtrJ,aAAA,WACA2iI,EAAAhjN,EAAAyP,SAAAm8N,GAAAvrJ,eACA8jH,EAAAnkM,EAAA/C,WAAA,gBACAinM,EAAAlkM,EAAA/C,WAAA,gBACAuhF,EAAAx+E,EAAAyP,SAAAo8N,GACA1pC,EAAAniM,EAAAyP,SAAAq8N,GACA7oB,EAAAjjN,EAAA/C,WAAA,kBACAyqM,EAAA1nM,EAAA/C,WAAA,eAEA+lN,EAAA1uO,EAAAkF,OAAA,GAAqCwpO,GAGrC,IAAAxoO,EAAA2wP,EAAA91P,MACA81P,EAAAtyK,KAAA,YAAAsrI,GAAA,GAAA3oN,KAAAC,GAAA,QAEAyoN,GACAinC,EAAAtyK,KAAA,YAAAjC,EAAAstI,EAAA,GAAA9xM,EAAA,IAAAwkE,EAAAstI,EAAA,GAAA9xM,EAAA,MAGAs1M,GAAAyjC,EAAAtyK,KAAA,SAAA6uI,GAEAyjC,EAAAx/E,SAAA/vJ,EAAAunN,KAAAgpB,kBACAhB,EAAA7uI,SAAAlc,GACA,IAAAx3C,EAAAvoD,EAAAic,cAAA7J,EAAA,WAEA,MAAAm2C,IACApuD,EAAAouD,WAGA,IAAAwjM,EAAA/rP,EAAAic,cAAA7J,EAAA,SACA45O,EAAAlB,EAAAmB,WAEA,MAAAF,EACA,MAAAC,IACAlB,EAAAmB,WAAAnB,EAAA32N,GACA22N,EAAA32N,IAAA43N,GAEG,MAAAC,IACHlB,EAAA32N,GAAA63N,EACAlB,EAAAmB,WAAA,MAGA,IAAAC,EAAAppB,KAAAopB,aASA,SAAAC,EAAA/5O,EAAAvI,GACA,OAAAqiP,EAAAlsP,EAAAqc,QAAAjK,GAAAiyL,EAAArkM,EAAAoS,GATAzZ,EAAAk2M,cAAA10M,EAAAwoO,EAAAxkI,EAAA2jH,EAAA,CACAhT,aAAA//L,EACAggM,eAAA38L,EACA48L,YAAAm9C,EACA1jD,YAAA,EACAD,UAAAjtL,IAOAuvO,EAAAxgP,IAAA,aAAAA,IAAA,YAAAA,IAAA,YAAAA,IAAA,UACAwgP,EAAAz8C,WAAAs0B,EAGAhqO,EAAA41M,cAAAu8C,GACAA,EAAAe,sBAAAt0I,EAAAxlG,GAEA6wN,GAAA7zN,EAAA2N,sBAEAouO,EAAAzgP,GAAA,YAAAqhP,GAAArhP,GAAA,WAAAuhP,GAAAvhP,GAAA,WAAAwjM,GAAAxjM,GAAA,SAAA0jM,IA4CA48C,EAAA5nB,QAAA,SAAAv4M,EAAA3gB,GACA,IAAAihP,EAAAr2P,KAAA4xE,QAAA,GAEA5xE,KAAAqnH,OAAAgvI,EAAAhvI,QAAA,IAEAjyG,MAAAuiP,aAAAtB,EAAA91P,MAAAS,KAAA,MACAkD,EAAAkuM,YAAAikD,EAAA,CACA91P,MAAA,CACAuzD,QAAA,GAEA/7C,MAAA,OACG/X,KAAAqyN,aAAAryN,KAAAylB,UAAAsQ,IAGHv2B,EAAAgD,SAAAgrO,EAAAtpO,EAAA80M,OACA,IAAAv2M,EAAA+qO,EACA9qO,EAAAC,QAAAF,0BCxXA,IAAA7D,EAAcC,EAAQ,QAEtBqF,EAAcrF,EAAQ,QAEtBW,EAAaX,EAAQ,QAErB+4P,EAAiB/4P,EAAQ,QAoBzB,SAAAg5P,EAAAv6O,GAKA,OAJA9d,EAAAwJ,QAAAsU,KACAA,EAAA,EAAAA,OAGAA,EAGA,IAAA7a,EAAA7D,EAAA42K,gBAAA,CACAr1K,KAAA,QACA+yD,OAAA,SAAA54C,EAAAC,EAAAxV,GACA,IAAA+rM,EAAAx2L,EAAApV,iBACAugE,EAAAzlE,KAAAylE,MACAl6D,EAAA+O,EAAAE,UACAu7L,EAAA/1M,KAAA+gG,MAEA,SAAA07E,EAAAlxK,EAAAoS,GACA,IAAA2M,EAAA/e,EAAAic,cAAA7J,EAAA,oBACAmJ,EAAAvb,EAAAic,cAAA7J,EAAA,SAEA,YAAA2M,EAAA,CAIA,IAAAhN,EAAAu6O,EAAAtsP,EAAAic,cAAA7J,EAAA,eACA04O,EAAAuB,EAAAn7E,aAAAnyJ,GAAA,SAAAxD,GAQA,OAPAuvO,EAAAtyK,KAAA,CACAxjF,MAAA,CACA27M,eAAA,GAEAx8K,GAAA,IACA3nB,MAAA,CAAAuF,EAAA,KAAAA,EAAA,QAEA+4O,GAGA,SAAAyB,EAAAC,EAAAC,EAAAC,EAAA1sP,EAAAoS,EAAAg0L,GAEAsmD,EAAA5zL,YAEA,QAAAt5D,EAAA,EAAqBA,EAAAitP,EAAAz0P,OAAA,EAA0BwH,IAAA,CAC/C,IAAAsrP,EAAA55E,EAAAlxK,EAAAoS,GAEA04O,IACAA,EAAA6B,SAAAntP,EAEAgtP,EAAAhtP,IACAsrP,EAAAtyK,KAAA,WAAAg0K,EAAAhtP,IACA7G,EAAAytM,EAAA,2BAAA0kD,EAAA,CACA/vP,SAAA0xP,EAAAjtP,IACauP,EAAAqD,IAEb04O,EAAAtyK,KAAA,WAAAi0K,EAAAjtP,IAGAktP,EAAA16N,IAAA84N,KAKA,SAAA8B,EAAAzwL,GACA,OAAAloE,EAAA4N,IAAAs6D,EAAA,SAAAm7C,GACA,OAAAiuF,EAAAryL,GAAAqyL,EAAApyL,MAIAnT,EAAAqR,KAAAm5L,GAAAx4K,IAAA,SAAA5f,GACA,IAAA+pD,EAAAn8D,EAAAkqK,cAAA93J,GAEA,GAAA+pD,EAAA,CAIA,IAAAs9B,EAAA,IAAA9gG,EAAA+0M,QACAv3B,EAAA,IAAAx9K,EAAAi1M,SACA9iM,EAAA,CACAzO,MAAA,CACA8/D,WAGAs9B,EAAAp9F,MAAA8/D,OAAAywL,EAAAzwL,GACAg6G,EAAA95K,MAAA8/D,OAAAywL,EAAAzwL,GACAxjE,EAAAiuM,UAAAntG,EAAA3uF,EAAAiE,EAAAqD,GACAzZ,EAAAiuM,UAAAzwB,EAAArrK,EAAAiE,EAAAqD,GACA,IAAAoqM,EAAA,IAAA7jN,EAAA80M,MACAi/C,EAAA,IAAA/zP,EAAA80M,MACA+O,EAAAxqL,IAAAmkJ,GACAqmC,EAAAxqL,IAAAynE,GACA+iH,EAAAxqL,IAAA06N,GACAH,EAAAp2E,EAAA95K,MAAA8/D,SAAAuwL,EAAA1sP,EAAAoS,GAAA,GACApS,EAAAgpM,iBAAA52L,EAAAoqM,MACKx7L,OAAA,SAAAypL,EAAAC,GACL,IAAA8R,EAAAhS,EAAA5nB,iBAAA8nB,GACAv0B,EAAAqmC,EAAAn2I,QAAA,GACAozB,EAAA+iH,EAAAn2I,QAAA,GACAqmL,EAAAlwC,EAAAn2I,QAAA,GACAv7D,EAAA,CACAzO,MAAA,CACA8/D,OAAAn8D,EAAAkqK,cAAAugC,KAIA3/L,EAAAzO,MAAA8/D,SAIAowL,EAAAp2E,EAAA95K,MAAA8/D,OAAArxD,EAAAzO,MAAA8/D,OAAAuwL,EAAA1sP,EAAAyqM,GAAA,GACA9xM,EAAAkuM,YAAA1wB,EAAArrK,EAAAiE,GACApW,EAAAkuM,YAAAptG,EAAA3uF,EAAAiE,GACA/O,EAAAgpM,iBAAAyB,EAAA+R,MACKv7M,OAAA,SAAAmR,GACL8nD,EAAAj5D,OAAAupM,EAAA5nB,iBAAAxwK,MACK83L,UACLlqM,EAAAqpN,kBAAA,SAAA7M,EAAApqM,GACA,IAAAuN,EAAA3f,EAAA4f,aAAAxN,GACA+jK,EAAAqmC,EAAAn2I,QAAA,GACAozB,EAAA+iH,EAAAn2I,QAAA,GACAqmL,EAAAlwC,EAAAn2I,QAAA,GACA9qD,EAAAvb,EAAAic,cAAA7J,EAAA,SACA8nD,EAAAloC,IAAAwqL,GACArmC,EAAAuwB,SAAAzyM,EAAA8V,SAAA4V,EAAAyP,SAAA,aAAA8/K,eAAA,CACA/5M,KAAA,OACAC,OAAAmmB,KAEA46J,EAAAk4B,WAAA1uL,EAAAyP,SAAA,sBAAA8/K,eACA,IAAA55D,EAAA31H,EAAAyP,SAAA,aACAy9N,EAAAltO,EAAAyP,SAAA,sBACA09N,EAAAx3G,EAAAvlB,WAAAulB,EAAAz9H,YAAAk4G,UACAg9H,EAAAF,EAAA98H,WAAA88H,EAAAh1O,YAAAk4G,UACAg9H,KAAAD,EACArzJ,EAAA15D,OAAA+sN,EACArzJ,EAAAitG,SAAAzyM,EAAA8V,SAAAurI,EAAA41E,eAAA,CACA/1N,KAAAomB,EACAgtC,QAAA,MAEAkxC,EAAA40G,WAAAw+C,EAAA3hC,eACA,IAAAnrH,EAAApgF,EAAAyP,SAAA,aAAA4wE,aAAA,WACAgtJ,EAAArtO,EAAAyP,SAAA,sBAAA4wE,eACA7B,EAAAx+E,EAAAyP,SAAA,SACAs/K,EAAA/uL,EAAAyP,SAAA,kBAcA,SAAAy+K,IACAp0G,EAAAjhB,KAAA,SAAAu0K,GAGA,SAAAh/C,IACAt0G,EAAAjhB,KAAA,SAAAs0K,GAlBAJ,EAAA3lL,UAAA,SAAA+jL,GACAA,EAAA7uI,SAAAlc,GACA+qJ,EAAAz8C,WAAAp6M,EAAA+V,MAAAgjP,GACAr0P,EAAAk2M,cAAAi8C,EAAA91P,MAAA81P,EAAAz8C,WAAAlwG,EAAAuwG,EAAA,CACAI,aAAA9uM,EAAA49F,UACAmxG,eAAA38L,EACA66O,cAAAnC,EAAA6B,SACA39C,YAAAhvM,EAAA9F,IAAA8F,EAAAktE,WAAA49K,EAAA6B,UAAAv6O,GACAo2L,UAAAjtL,EACAktL,YAAA,MAYA+T,EAAAlyM,IAAA,aAAAA,IAAA,YAAAA,IAAA,UAAAA,IAAA,YACAkyM,EAAAnyM,GAAA,WAAAwjM,GAAAxjM,GAAA,YAAAwjM,GAAAxjM,GAAA,SAAA0jM,GAAA1jM,GAAA,WAAA0jM,GACAp1M,EAAA41M,cAAAiO,KAEA/nN,KAAA+gG,MAAAx1F,GAEAiB,OAAA,WACAxM,KAAAylE,MAAApB,YACArkE,KAAA+gG,MAAA,MAEAjrF,QAAA,eAGApT,EAAAC,QAAAF,0BCxMA,IAAAjD,EAAaX,EAAQ,QAoBrB,SAAA8lP,EAAAn4N,EAAAisO,EAAAn+O,GACA,GAAAkS,GAAAhtB,EAAA4rC,QAAAqtN,EAAAjsO,EAAArsB,OAAA,GACA,IAAA8sB,EAAA3S,EAAAE,UAAAwrL,KAAA/4K,KACAw7N,EAAAj8N,EAAAi8N,WAMA,GAJA,kBAAAA,IACAA,EAAAx7N,EAAA6/J,YAAA27D,IAGAA,GAAAx7N,EAAAizM,SAAAuoB,GACA,OACAprO,KAAAorO,GAIA,IAAAiQ,EAAAlsO,EAAAksO,aAEA,SAAAA,IAAAjQ,EAAAx7N,EAAA6/J,YAAA4rE,IACA,OACAr7O,KAAAorO,IAOA,SAAA1D,EAAA1nO,GACA,IAAAonD,EAAA,GAEA,MAAApnD,EACAA,IAAAy2M,WACAz2M,GAAAonD,EAAA9xD,KAAA0K,GAGA,OAAAonD,EAAA+nF,UAGA,SAAAmsG,EAAA9T,EAAAxnO,GACA,IAAAu7O,EAAA7T,EAAAF,GACA,OAAArlP,EAAA4rC,QAAAwtN,EAAAv7O,IAAA,EAIA,SAAAw7O,EAAAx7O,EAAA/C,GACA,IAAAw+O,EAAA,GAEA,MAAAz7O,EAAA,CACA,IAAA07O,EAAA17O,EAAAoI,UACAqzO,EAAAnmP,KAAA,CACArE,KAAA+O,EAAA/O,KACAmX,UAAAszO,EACA90P,MAAAqW,EAAAgN,YAAAyxO,KAEA17O,IAAAy2M,WAIA,OADAglC,EAAAtsG,UACAssG,EAGAn2P,EAAAgiP,qBACAhiP,EAAAoiP,gBACApiP,EAAAg2P,gBACAh2P,EAAAk2P,wDCtGA,IAAAG,EAAiBn6P,EAAQ,QACzBA,EAAQ,OAARA,CAAmB,CACnBwX,OAAA,SACA8oB,OAAA,EACA85N,OAAAD,IAAA,IAAAznP,MACC,CACDA,KAAAynP,4BCNA,IAAAn7B,EAAch/N,EAAQ,QACtBugP,EAAcvgP,EAAQ,QACtB6D,EAAAC,QAAA,SAAA4K,GACA,OAAAswN,EAAAuhB,EAAA7xO,6BCgBA,IAAA6T,EAAcviB,EAAQ,QAItBW,GAFA4hB,EAAAC,QAEaxiB,EAAQ,SAErBw4O,EAAmBx4O,EAAQ,QAE3B85N,EAAoB95N,EAAQ,QAE5Bs4O,EAAYt4O,EAAQ,QAEpB2nJ,EAAiB3nJ,EAAQ,QAEzBqvM,EAAervM,EAAQ,QAEvBq6P,EAAAhrD,EAAAgrD,uBACAC,EAAAjrD,EAAAirD,iBACAC,EAAAlrD,EAAAkrD,qBAEA3rP,EAAmB5O,EAAQ,QA6B3B,SAAAg6N,EAAA9gN,EAAA4L,GACA,IAMA01O,EACAphH,EACAjwI,EARAg+I,EAAAjuI,EAAA5X,KACA+G,EAAAyc,EAAAy2M,SACAjzN,EAAAwc,EAAA22M,SACAg/B,EAAA,MAAApyP,EACAqyP,EAAA,MAAApyP,EACAqyP,EAAAzhP,EAAAiD,YAKA,YAAAgrI,EACAqzG,EAAA11O,EAAA4zH,gBAAAh0I,QAEA00I,EAAAt0H,EAAAle,IAAA,eAEAjG,EAAAwJ,QAAAivI,KACAA,EAAA,CAAAA,GAAA,EAAAA,GAAA,IAGA,mBAAAA,EAAA,KACAA,EAAA,OAGAA,EAAA,GAAAuO,EAAA1kE,aAAAm2D,EAAA,MACAA,EAAA,GAAAuO,EAAA1kE,aAAAm2D,EAAA,MACAjwI,EAAAwxP,EAAA,GAAAA,EAAA,IAAA9yP,KAAAiR,IAAA6hP,EAAA,KAgBA,MAAAtyP,IACAA,EAAA,YAAA8+I,EAAAqzG,EAAA,EAAAx/O,IAAA2/O,EAAA,GAAAvhH,EAAA,GAAAjwI,GAGA,MAAAb,IACAA,EAAA,YAAA6+I,EAAAqzG,IAAA,EAAAx/O,IAAA2/O,EAAA,GAAAvhH,EAAA,GAAAjwI,GAGA,YAAAd,EACAA,EAAAsyP,EAAA,GACG,oBAAAtyP,IACHA,IAAA,CACAA,IAAAsyP,EAAA,GACAryP,IAAAqyP,EAAA,MAIA,YAAAryP,EACAA,EAAAqyP,EAAA,GACG,oBAAAryP,IACHA,IAAA,CACAD,IAAAsyP,EAAA,GACAryP,IAAAqyP,EAAA,OAIA,MAAAtyP,IAAA6S,SAAA7S,QAAA2S,MACA,MAAA1S,IAAA4S,SAAA5S,QAAA0S,KACA9B,EAAA0hP,SAAAj6P,EAAAqqD,MAAA3iD,IAAA1H,EAAAqqD,MAAA1iD,IAAA,YAAA6+I,IAAAjuI,EAAA+vE,iBAAA0vD,WAAAj0I,QAEAogB,EAAA+1O,qBAEAxyP,EAAA,GAAAC,EAAA,IAAAmyP,IACApyP,EAAA,GAIAA,EAAA,GAAAC,EAAA,IAAAoyP,IACApyP,EAAA,IAaA,IAAAoT,EAAAoJ,EAAApJ,QAEA,GAAAA,GAAA,SAAAyrI,EAEA,CACA,IACA2zG,EADAC,EAAAV,EAAA,MAAA3+O,GAMA,GAJA/a,EAAA2nB,KAAAyyO,EAAA,SAAAt/O,GACAq/O,GAAAr/O,EAAAM,gBAAA+I,EAAA3e,OAGA20P,EAAA,CAEA,IAAAE,EAAAV,EAAAS,GAEAE,EAAAC,EAAA7yP,EAAAC,EAAAwc,EAAAk2O,GACA3yP,EAAA4yP,EAAA5yP,IACAC,EAAA2yP,EAAA3yP,KAIA,OAAAD,EAAAC,GAGA,SAAA4yP,EAAA7yP,EAAAC,EAAAwc,EAAAk2O,GAEA,IAAA7yP,EAAA2c,EAAA3e,KAAAgW,YACAg/O,EAAAhzP,EAAA,GAAAA,EAAA,GAEAizP,EAAAb,EAAAS,EAAAl2O,EAAA3e,MAEA,QAAAsD,IAAA2xP,EACA,OACA/yP,MACAC,OAIA,IAAA+yP,EAAApgP,IACAta,EAAA2nB,KAAA8yO,EAAA,SAAAp1L,GACAq1L,EAAAxzP,KAAAQ,IAAA29D,EAAA9e,OAAAm0M,KAEA,IAAAC,GAAArgP,IACAta,EAAA2nB,KAAA8yO,EAAA,SAAAp1L,GACAs1L,EAAAzzP,KAAAS,IAAA09D,EAAA9e,OAAA8e,EAAAviE,MAAA63P,KAEAD,EAAAxzP,KAAAiR,IAAAuiP,GACAC,EAAAzzP,KAAAiR,IAAAwiP,GACA,IAAAC,EAAAF,EAAAC,EAEAE,EAAAlzP,EAAAD,EACAozP,EAAA,GAAAJ,EAAAC,GAAAH,EACAO,EAAAF,EAAAC,EAAAD,EAGA,OAFAlzP,GAAAozP,GAAAJ,EAAAC,GACAlzP,GAAAqzP,GAAAL,EAAAE,GACA,CACAlzP,MACAC,OAIA,SAAAo/M,EAAAxuM,EAAA4L,GACA,IAAA5I,EAAA89M,EAAA9gN,EAAA4L,GACA21O,EAAA,MAAA31O,EAAAy2M,SACAm/B,EAAA,MAAA51O,EAAA22M,SACAniF,EAAAx0H,EAAAle,IAAA,eAEA,QAAAsS,EAAA5X,OACA4X,EAAAmvE,KAAAvjE,EAAAle,IAAA,YAGA,IAAAugJ,EAAAjuI,EAAA5X,KACA4X,EAAAumG,UAAAvjG,EAAA,GAAAA,EAAA,IACAhD,EAAA2/N,WAAA,CACAv/F,cACAmhH,SACAC,SACAiB,YAAA,aAAAx0G,GAAA,SAAAA,EAAAriI,EAAAle,IAAA,oBACAg1P,YAAA,aAAAz0G,GAAA,SAAAA,EAAAriI,EAAAle,IAAA,sBAOA,IAAAiX,EAAAiH,EAAAle,IAAA,YAEA,MAAAiX,GACA3E,EAAAyiN,aAAAziN,EAAAyiN,YAAA99M,GAUA,SAAA4pM,EAAA3iM,EAAAszH,GAGA,GAFAA,KAAAtzH,EAAAle,IAAA,QAEAwxI,EACA,OAAAA,GAEA,eACA,WAAAogG,EAAA1zN,EAAAmkE,eAAAnkE,EAAAmkE,iBAAAnkE,EAAA4zH,gBAAA,CAAAz9H,WAEA,YACA,WAAA6+M,EAGA,QACA,OAAAwe,EAAA7nD,SAAAr4C,IAAA0hF,GAAA7pL,OAAAnrB,IASA,SAAA+2O,EAAA11P,GACA,IAAA6zG,EAAA7zG,EAAA+S,MAAAiD,YACA9T,EAAA2xG,EAAA,GACA1xG,EAAA0xG,EAAA,GACA,QAAA3xG,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAYA,SAAAwzP,EAAA31P,GACA,IAAA41P,EAAA51P,EAAA6/I,gBAAAp/I,IAAA,aACAo1P,EAAA,aAAA71P,EAAA7E,KAAA6E,EAAA+S,MAAAiD,YAAA,QAEA,wBAAA4/O,GACAA,EAAA,SAAArzG,GACA,gBAAAt+I,GAIA,OADAA,EAAAjE,EAAA+S,MAAAgnI,SAAA91I,GACAs+I,EAAAh9I,QAAA,UAAmC,MAAAtB,IAAA,KALnC,CAOK2xP,GAGLA,GACG,oBAAAA,EACH,SAAAt4G,EAAA3kI,GAWA,OAJA,MAAAk9O,IACAl9O,EAAA2kI,EAAAu4G,GAGAD,EAAAE,EAAA91P,EAAAs9I,GAAA3kI,IAGA,SAAAo9O,GACA,OAAA/1P,EAAA+S,MAAAgnI,SAAAg8G,IAKA,SAAAD,EAAA91P,EAAAf,GAIA,mBAAAe,EAAA7E,KAAA6E,EAAA+S,MAAAgnI,SAAA96I,KAQA,SAAA+2P,EAAAh2P,GACA,IAAAH,EAAAG,EAAA2e,MACA5L,EAAA/S,EAAA+S,MAEA,GAAAlT,EAAAY,IAAA,oBAAAsS,EAAAsoI,UAAA,CAIA,IACA46G,EACAC,EAFAv2G,EAAA,aAAA3/I,EAAA7E,KAGAg7P,EAAApjP,EAAAiD,YAEA2pI,EACAu2G,EAAAnjP,EAAA4B,SAEAshP,EAAAljP,EAAAknI,WACAi8G,EAAAD,EAAA13P,QAGA,IAEA9B,EAFAsgJ,EAAA/8I,EAAA6/I,gBACA+1G,EAAAD,EAAA31P,GAEAxB,EAAA,EAEA03P,EAAA,KACA13P,EAAAkD,KAAA0gE,KAAA8zL,EAAA,KAGA,QAAAnwP,EAAA,EAAiBA,EAAAmwP,EAAenwP,GAAAvH,EAAA,CAChC,IAAA8+I,EAAA24G,IAAAlwP,GAAAowP,EAAA,GAAApwP,EACA+Z,EAAA81O,EAAAt4G,GACA84G,EAAAr5G,EAAAsG,YAAAvjI,GACAu2O,EAAAC,EAAAF,EAAAr5G,EAAAt8I,IAAA,cACAhE,IAAA0yD,MAAAknM,GAAA55P,EAAA45P,EAGA,OAAA55P,GAGA,SAAA65P,EAAAriP,EAAAq3B,GACA,IAAAirN,EAAAjrN,EAAA5pC,KAAAC,GAAA,IACAumD,EAAAj0C,EAAA69F,QACA0kJ,EAAAtuM,EAAA5qD,MACAm5P,EAAAvuM,EAAA3qD,OACAm5P,EAAAF,EAAA90P,KAAAwY,IAAAq8O,GAAAE,EAAA/0P,KAAA0Y,IAAAm8O,GACAI,EAAAH,EAAA90P,KAAA0Y,IAAAm8O,GAAAE,EAAA/0P,KAAAwY,IAAAq8O,GACAK,EAAA,IAAAnuP,EAAAy/C,EAAAlrD,EAAAkrD,EAAAjrD,EAAAy5P,EAAAC,GACA,OAAAC,EAQA,SAAAC,EAAAl4O,GACA,IAAAjH,EAAAiH,EAAAle,IAAA,YACA,aAAAiX,EAAA,OAAAA,EAUA,SAAAo/O,EAAA92P,GACA,mBAAAA,EAAA7E,MAAA,IAAA07P,EAAA72P,EAAA6/I,iBAvXAhmJ,EAAQ,QAERA,EAAQ,QAwXR8D,EAAAk2N,iBACAl2N,EAAA4jN,kBACA5jN,EAAA2jN,qBACA3jN,EAAA+3P,kBACA/3P,EAAAg4P,qBACAh4P,EAAAm4P,kBACAn4P,EAAAq4P,yBACAr4P,EAAAk5P,4BACAl5P,EAAAm5P,8CCxZA,IAAAl9P,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAoBRD,EAAAu7I,oBAAA,CACAh6I,KAAA,mCC/BA,IAAAvB,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBmV,EAAgBnV,EAAQ,QAExBgsM,EAAWhsM,EAAQ,QAEnBg4N,EAAqBh4N,EAAQ,QAoB7Bk9P,EAAAlxD,EAAAN,QAAAK,SACAoxD,EAAA,IAAAx+O,MAAA,IAAAxN,KAAA,KACAisP,EAAA,KAUA,SAAAC,EAAA3hP,GACA,IAAA4hP,EAAA,GACAC,EAAA,GACAC,EAAA,GA8BA,OA7BA9hP,EAAAqtM,cAAA,SAAAttM,GACA,IAAArV,EAAAqV,EAAApV,iBAEA,IAAAD,GAAA,gBAAAA,EAAA9E,MAAA,UAAA8E,EAAA9E,KAuBAi8P,EAAAzpP,KAAA2H,OAvBA,CACA,IAAAK,EAAA1V,EAAA2V,cAEA,gBAAAD,EAAAxa,KAAA,CACA,IAAA8K,EAAA0P,EAAAW,IAAA,IAAAX,EAAA9W,MAEAs4P,EAAAlxP,KACAkxP,EAAAlxP,GAAA,CACA+sI,aAAAr9H,EACAE,UAAA5V,EAAA6V,aAAAH,GACAiL,OAAA,IAEAy2O,EAAA1pP,KAAA,CACA6jI,QAAA77H,EAAAW,IACAghP,UAAA3hP,EAAA9W,SAIAs4P,EAAAlxP,GAAA2a,OAAAjT,KAAA2H,QAEA8hP,EAAAzpP,KAAA2H,MAMA,CACA6hP,4BACArmJ,MAAAsmJ,EACAC,QAWA,SAAAE,EAAA32O,GACA,IAAA42O,EAAA,GA6BA,OA5BAh9P,EAAA2nB,KAAAvB,EAAA,SAAA6/C,EAAAx6D,GACA,IAAA+sI,EAAAvyE,EAAAuyE,aACAn9H,EAAA4qD,EAAA5qD,UACA4hP,EAAA5hP,EAAAS,IACA9P,EAAA,MAAAk+C,OAAAlqD,EAAA4N,IAAAq4D,EAAA7/C,OAAA,SAAAA,GACA,OAAAA,EAAAtX,QAEAouP,EAAA,CAAA1kH,EAAAr0H,MAAA4zH,iBACA/3I,EAAA2nB,KAAAs+C,EAAA7/C,OAAA,SAAAA,GACA82O,EAAA/pP,KAAAiT,EAAAX,aAAAskK,SAAAkzE,EAAA,SAAAxzP,GACA,OAAAA,OAMA,IAFA,IAAAkI,EAAA,CAAA3F,EAAAwE,KAAAisP,IAEAlxP,EAAA,EAAmBA,EAAA2xP,EAAA,GAAAn5P,OAAuBwH,IAAA,CAG1C,IAFA,IAAA4xP,EAAA,GAEAjsP,EAAA,EAAqBA,EAAAgsP,EAAAn5P,OAAoBmN,IACzCisP,EAAAhqP,KAAA+pP,EAAAhsP,GAAA3F,IAGAoG,EAAAwB,KAAAgqP,EAAA3sP,KAAAisP,IAGAO,EAAA7pP,KAAAxB,EAAAnB,KAAA,SAEAwsP,EAAAxsP,KAAA,OAAAgsP,EAAA,QAUA,SAAAY,EAAAh3O,GACA,OAAApmB,EAAA4N,IAAAwY,EAAA,SAAAA,GACA,IAAAra,EAAAqa,EAAAX,aACA9T,EAAA,CAAAyU,EAAAtX,MACAiuM,EAAA,GAYA,OAXAhxM,EAAA4b,KAAA5b,EAAAktE,WAAA,WAKA,IAJA,IAAAokL,EAAAl0P,UAAApF,OACAkiB,EAAA9c,UAAAk0P,EAAA,GACAvuP,EAAA/C,EAAAqc,QAAAnC,GAEA1a,EAAA,EAAqBA,EAAA8xP,EAAA,EAAgB9xP,IACrCwxM,EAAAxxM,GAAApC,UAAAoC,GAGAoG,EAAAwB,MAAArE,IAAA2tP,EAAA,IAAA1/C,EAAAvsM,KAAAisP,MAEA9qP,EAAAnB,KAAA,QACGA,KAAA,OAAAgsP,EAAA,QASH,SAAAc,EAAAviP,GACA,IAAA7W,EAAAw4P,EAAA3hP,GACA,OACAtW,MAAAzE,EAAAqoD,OAAA,CAAA00M,EAAA74P,EAAAy4P,2BAAAS,EAAAl5P,EAAAoyG,QAAA,SAAAxrG,GACA,OAAAA,EAAAC,QAAA,kBACKyF,KAAA,OAAAgsP,EAAA,QACLK,KAAA34P,EAAA24P,MAIA,SAAAhyP,EAAAC,GACA,OAAAA,EAAAC,QAAA,aAAAA,QAAA,aAOA,SAAAwyP,EAAA3pP,GAEA,IAAA4pP,EAAA5pP,EAAA8rB,MAAA,EAAA9rB,EAAAg4B,QAAA,OAEA,GAAA4xN,EAAA5xN,QAAA6wN,IAAA,EACA,SAIA,IAAAgB,EAAA,IAAAniC,OAAA,IAAAmhC,EAAA,UAMA,SAAAiB,EAAAC,GAWA,IAVA,IAAAC,EAAAD,EAAA1uP,MAAA,QACAjD,EAAAnB,EAAA+yP,EAAAt4L,SAAAr2D,MAAAwuP,GACAzlH,EAAA,GACA5xH,EAAApmB,EAAA4N,IAAA5B,EAAA,SAAAq6H,GACA,OACAv3H,KAAAu3H,EACAt6H,KAAA,MAIAR,EAAA,EAAiBA,EAAAqyP,EAAA75P,OAAqBwH,IAAA,CACtC,IAAA4xP,EAAAtyP,EAAA+yP,EAAAryP,IAAA0D,MAAAwuP,GACAzlH,EAAA7kI,KAAAgqP,EAAA73L,SAEA,QAAAp0D,EAAA,EAAmBA,EAAAisP,EAAAp5P,OAAkBmN,IACrCkV,EAAAlV,KAAAkV,EAAAlV,GAAAnF,KAAAR,GAAA4xP,EAAAjsP,IAIA,OACAkV,SACA4xH,cAUA,SAAA6lH,EAAA/yP,GAKA,IAJA,IAAA6G,EAAA7G,EAAAmE,MAAA,QACAoZ,EAAAxd,EAAA8G,EAAA2zD,SACAv5D,EAAA,GAEAR,EAAA,EAAiBA,EAAAoG,EAAA5N,OAAkBwH,IAAA,CACnC,IAEA9G,EAFA04P,EAAAtyP,EAAA8G,EAAApG,IAAA0D,MAAAwuP,GACA3uP,EAAA,GAEAgvP,GAAA,EAEA1jP,MAAA+iP,EAAA,KAEAW,GAAA,EACAhvP,EAAAquP,EAAA,GACAA,IAAAz9N,MAAA,GACA3zB,EAAAR,GAAA,CACAuD,OACArK,MAAA,IAEAA,EAAAsH,EAAAR,GAAA9G,OAEAA,EAAAsH,EAAAR,GAAA,GAGA,QAAA2F,EAAA,EAAmBA,EAAAisP,EAAAp5P,OAAkBmN,IACrCzM,EAAA0O,MAAAgqP,EAAAjsP,IAGA,IAAAzM,EAAAV,SACA+5P,EAAA/xP,EAAAR,GAAA9G,QAAA,GAAAsH,EAAAR,GAAA9G,EAAA,IAIA,OACAqK,KAAAuZ,EACAtc,QAWA,SAAAgyP,EAAAjzP,EAAAkzP,GACA,IAAAC,EAAAnzP,EAAAmE,MAAA,IAAAqsN,OAAA,MAAAkhC,EAAA,YACA73K,EAAA,CACAv+D,OAAA,IAoBA,OAlBApmB,EAAA2nB,KAAAs2O,EAAA,SAAArqP,EAAAuK,GACA,GAAAo/O,EAAA3pP,GAAA,CACA,IAAA1P,EAAAw5P,EAAA9pP,GACAsqP,EAAAF,EAAA7/O,GACAggP,EAAAD,EAAAlnH,QAAA,OAEAknH,IACAv5K,EAAAw5K,GAAAx5K,EAAAw5K,IAAA,GACAx5K,EAAAw5K,GAAAD,EAAApB,WAAA,CACA/wP,KAAA7H,EAAA8zI,YAEArzD,EAAAv+D,OAAAu+D,EAAAv+D,OAAA8jC,OAAAhmD,EAAAkiB,aAEK,CACLliB,EAAA25P,EAAAjqP,GACA+wE,EAAAv+D,OAAAjT,KAAAjP,MAGAygF,EASA,SAAAy5K,EAAAj6O,GACA3jB,KAAA69P,KAAA,KACA79P,KAAA2jB,QA8IA,SAAAm6O,EAAAC,EAAAC,GACA,OAAAx+P,EAAA4N,IAAA2wP,EAAA,SAAAE,EAAAtgP,GACA,IAAAyhJ,EAAA4+F,KAAArgP,GAEA,OAAAne,EAAAoK,SAAAw1J,KAAA5/J,EAAAwJ,QAAAo2J,IACA5/J,EAAAoK,SAAAq0P,KAAAz+P,EAAAwJ,QAAAi1P,KACAA,IAAAh6P,OAIAzE,EAAA8V,SAAA,CACArR,MAAAg6P,GACO7+F,IAEP6+F,IAzJAL,EAAA96O,cAAA,CACAo5F,MAAA,EACAgiJ,UAAA,EACAC,gBAAA,KACAC,gBAAA,KACAjvC,KAAA,8GACA3kB,MAAAhrM,EAAA+V,MAAAwmP,EAAAvxD,OACAK,KAAArrM,EAAA+V,MAAAwmP,EAAAlxD,MACAnuF,gBAAA,OACAimC,UAAA,OACA07G,cAAA,OACAC,oBAAA,OACAC,YAAA,UACAC,gBAAA,QAGAZ,EAAA39P,UAAAksH,QAAA,SAAA5xG,EAAAxV,GACA,IAAA4qK,EAAA5qK,EAAAsjI,SACA1kH,EAAA3jB,KAAA2jB,MAEA3jB,KAAA69P,MACAluF,EAAA2wD,YAAAtgO,KAAA69P,MAGA,IAAA5wO,EAAAriB,SAAAirB,cAAA,OACA5I,EAAA1sB,MAAA4oH,QAAA,2DACAl8F,EAAA1sB,MAAAm8G,gBAAA/4F,EAAAle,IAAA,2BAEA,IAAAogI,EAAAj7H,SAAAirB,cAAA,MACAg1K,EAAAlnL,EAAAle,IAAA,YACAogI,EAAAxc,UAAAwhF,EAAA,IAAAlnL,EAAAle,IAAA,SACAogI,EAAAtlI,MAAA4oH,QAAA,qBACA0c,EAAAtlI,MAAAumB,MAAAnD,EAAAle,IAAA,aACA,IAAAg5P,EAAA7zP,SAAAirB,cAAA,OACA6oO,EAAA9zP,SAAAirB,cAAA,YACA4oO,EAAAl+P,MAAA4oH,QAAA,0CACA,IAAAg1I,EAAAx6O,EAAAle,IAAA,mBACA24P,EAAAz6O,EAAAle,IAAA,mBACA/B,EAAAo5P,EAAAviP,GAEA,uBAAA4jP,EAAA,CACA,IAAAQ,EAAAR,EAAAp5P,EAAA65P,aAEA,kBAAAD,EACAF,EAAAp1I,UAAAs1I,EACKn/P,EAAA8oD,MAAAq2M,IACLF,EAAAr+B,YAAAu+B,QAIAF,EAAAr+B,YAAAs+B,GACAA,EAAAR,SAAAv6O,EAAAle,IAAA,YACAi5P,EAAAn+P,MAAA4oH,QAAA,kFACAu1I,EAAAn+P,MAAAumB,MAAAnD,EAAAle,IAAA,aACAi5P,EAAAn+P,MAAAsiG,YAAAl/E,EAAAle,IAAA,uBACAi5P,EAAAn+P,MAAAm8G,gBAAA/4F,EAAAle,IAAA,iBACAi5P,EAAAz6P,MAAAP,EAAAO,MAGA,IAAAu5P,EAAA95P,EAAA24P,KACAwC,EAAAj0P,SAAAirB,cAAA,OACAgpO,EAAAt+P,MAAA4oH,QAAA,6CACA,IAAA21I,EAAA,4GACAC,EAAAn0P,SAAAirB,cAAA,OACAmpO,EAAAp0P,SAAAirB,cAAA,OACAipO,GAAA,qBAAmBn7O,EAAAle,IAAA,eACnBq5P,GAAA,UAAmBn7O,EAAAle,IAAA,mBACnB,IAAAiiC,EAAA1nC,KAEA,SAAA+6G,IACA40D,EAAA2wD,YAAArzM,GACAya,EAAAm2N,KAAA,KAGA7pP,EAAA6pE,iBAAAkhL,EAAA,QAAAhkJ,GACA/mG,EAAA6pE,iBAAAmhL,EAAA,mBACA,IAAA76K,EAEA,IAEAA,EADA,oBAAAi6K,EACAA,EAAAK,EAAA15P,EAAA65P,aAEArB,EAAAmB,EAAAz6P,MAAAu5P,GAEK,MAAArnP,GAEL,MADA4kG,IACA,IAAAptE,MAAA,0BAAAx3B,GAGAguE,GACAp/E,EAAAqoG,eAAA,CACAjtG,KAAA,iBACAgkF,cAIA42B,MAEAgkJ,EAAA11I,UAAAwhF,EAAA,GACAm0D,EAAA31I,UAAAwhF,EAAA,GACAm0D,EAAAz+P,MAAA4oH,QAAA21I,EACAC,EAAAx+P,MAAA4oH,QAAA21I,GACAn7O,EAAAle,IAAA,aAAAo5P,EAAAz+B,YAAA4+B,GACAH,EAAAz+B,YAAA2+B,GAEA/qP,EAAA6pE,iBAAA6gL,EAAA,mBAAAvoP,GACA,QAAAA,EAAA8oP,SAAA9oP,EAAA+oP,OAAA,CAEA,IAAAj2P,EAAAjJ,KAAAiE,MACAmoB,EAAApsB,KAAAm/P,eACA51O,EAAAvpB,KAAAo/P,aAEAp/P,KAAAiE,MAAAgF,EAAAyI,UAAA,EAAA0a,GAAA6vO,EAAAhzP,EAAAyI,UAAA6X,GAEAvpB,KAAAm/P,eAAAn/P,KAAAo/P,aAAAhzO,EAAA,EAEApY,EAAAkD,KAAAf,MAGA8W,EAAAmzM,YAAAv6F,GACA54G,EAAAmzM,YAAAq+B,GACAxxO,EAAAmzM,YAAAy+B,GACAJ,EAAAl+P,MAAAgC,OAAAotK,EAAAmvE,aAAA,QACAnvE,EAAAywD,YAAAnzM,GACAjtB,KAAA69P,KAAA5wO,GAGA2wO,EAAA39P,UAAAuM,OAAA,SAAA+N,EAAAxV,GACA/E,KAAA69P,MAAA94P,EAAAsjI,SAAAi4F,YAAAtgO,KAAA69P,OAGAD,EAAA39P,UAAA6V,QAAA,SAAAyE,EAAAxV,GACA/E,KAAAwM,OAAA+N,EAAAxV,IA0BA8xN,EAAA7+D,SAAA,WAAA4lG,GACAh/P,EAAA0tB,eAAA,CACAnsB,KAAA,iBACAgX,MAAA,kBACAoV,OAAA,oBACC,SAAAC,EAAAjS,GACD,IAAA8kP,EAAA,GACA7/P,EAAA2nB,KAAAqF,EAAA23D,UAAAv+D,OAAA,SAAAqsO,GACA,IAAA33O,EAAAC,EAAAstM,gBAAAoqC,EAAA3jP,MAAA,GAEA,GAAAgM,EAOK,CACL,IAAA0jP,EAAA1jP,EAAA7U,IAAA,QACA45P,EAAA1sP,KAAA,CACArE,KAAA2jP,EAAA3jP,KACA/C,KAAAuyP,EAAA7L,EAAA1mP,KAAAyyP,UARAqB,EAAA1sP,KAAAnT,EAAAkF,OAAA,CAEAvE,KAAA,WACO8xP,MASP13O,EAAAkK,YAAAjlB,EAAA8V,SAAA,CACAsQ,OAAAy5O,GACG7yO,EAAA23D,cAEH,IAAA1hF,EAAAm7P,EACAl7P,EAAAC,QAAAF;;;;;ICjfA,SAAAo9B,EAAAwqB,EAAAC,GACM,EAKN,SAAAg1M,EAAAC,GACA,OAAAx2P,OAAA9I,UAAA6I,SAAA/I,KAAAw/P,GAAAn0N,QAAA,YAGA,SAAA1mC,EAAA6D,EAAAC,GACA,QAAAyC,KAAAzC,EACAD,EAAA0C,GAAAzC,EAAAyC,GAEA,OAAA1C,EAGA,IAAAkzN,EAAA,CACAntN,KAAA,aACAkxP,YAAA,EACA36O,MAAA,CACAvW,KAAA,CACAnO,KAAAsmI,OACAg5H,QAAA,YAGAvsM,OAAA,SAAAwsM,EAAAC,GACA,IAAA96O,EAAA86O,EAAA96O,MACAs/C,EAAAw7L,EAAAx7L,SACAwN,EAAAguL,EAAAhuL,OACApmE,EAAAo0P,EAAAp0P,KAGAA,EAAAq0P,YAAA,EAIA,IAAA7+O,EAAA4wD,EAAAkuL,eACAvxP,EAAAuW,EAAAvW,KACAwxP,EAAAnuL,EAAAouL,OACA19N,EAAAsvC,EAAAquL,mBAAAruL,EAAAquL,iBAAA,IAIAl8L,EAAA,EACAm8L,GAAA,EACA,MAAAtuL,KAAAuuL,cAAAvuL,EAAA,CACA,IAAAwuL,EAAAxuL,EAAAyuL,QAAAzuL,EAAAyuL,OAAA70P,KACA40P,IACAA,EAAAP,YACA97L,IAEAq8L,EAAAE,WAAA1uL,EAAA2uL,YACAL,GAAA,IAGAtuL,IAAA4uL,QAKA,GAHAh1P,EAAAi1P,gBAAA18L,EAGAm8L,EACA,OAAAl/O,EAAAshB,EAAA/zB,GAAA/C,EAAA44D,GAGA,IAAA6rL,EAAA8P,EAAA9P,QAAAlsL,GAEA,IAAAksL,EAEA,OADA3tN,EAAA/zB,GAAA,KACAyS,IAGA,IAAA0/O,EAAAp+N,EAAA/zB,GAAA0hP,EAAA0Q,WAAApyP,GAIA/C,EAAAo1P,sBAAA,SAAAC,EAAA33P,GAEA,IAAAipE,EAAA89K,EAAA6Q,UAAAvyP,IAEArF,GAAAipE,IAAA0uL,IACA33P,GAAAipE,IAAA0uL,KAEA5Q,EAAA6Q,UAAAvyP,GAAArF,KAMKsC,EAAAu1P,OAAAv1P,EAAAu1P,KAAA,KAA6BC,SAAA,SAAArB,EAAAsB,GAClChR,EAAA6Q,UAAAvyP,GAAA0yP,EAAAC,mBAKA11P,EAAAu1P,KAAA59O,KAAA,SAAA89O,GACAA,EAAAz1P,KAAA80P,WACAW,EAAAC,mBACAD,EAAAC,oBAAAjR,EAAA6Q,UAAAvyP,KAEA0hP,EAAA6Q,UAAAvyP,GAAA0yP,EAAAC,oBAKA,IAAAC,EAAA31P,EAAAsZ,MAAAs8O,EAAArB,EAAA9P,EAAAnrO,OAAAmrO,EAAAnrO,MAAAvW,IACA,GAAA4yP,EAAA,CAEAA,EAAA31P,EAAAsZ,MAAAngB,EAAA,GAA0Cw8P,GAE1C,IAAAle,EAAAz3O,EAAAy3O,MAAAz3O,EAAAy3O,OAAA,GACA,QAAA/3O,KAAAi2P,EACAT,EAAA57O,OAAA5Z,KAAAw1P,EAAA57O,QACAm+N,EAAA/3O,GAAAi2P,EAAAj2P,UACAi2P,EAAAj2P,IAKA,OAAA8V,EAAA0/O,EAAAl1P,EAAA44D,KAIA,SAAAg9L,EAAArB,EAAA9lE,GACA,cAAAA,GACA,gBACA,OACA,aACA,OAAAA,EACA,eACA,OAAAA,EAAA8lE,GACA,cACA,OAAA9lE,EAAA8lE,EAAA96O,YAAA1c,EACA,QACU,GAYV,IAAA84P,EAAA,WACAC,EAAA,SAAA54P,GAA0C,UAAAA,EAAAuI,WAAA,GAAAlI,SAAA,KAC1Cw4P,EAAA,OAKA75G,EAAA,SAAAn9I,GAA6B,OAAAi3P,mBAAAj3P,GAC7BC,QAAA62P,EAAAC,GACA92P,QAAA+2P,EAAA,MAEAE,EAAAC,mBAEA,SAAAC,EACA1rH,EACA2rH,EACAC,QAEA,IAAAD,MAAA,IAEA,IACAE,EADAzoO,EAAAwoO,GAAAE,EAEA,IACAD,EAAAzoO,EAAA48G,GAAA,IACG,MAAA7/H,GAEH0rP,EAAA,GAEA,QAAA52P,KAAA02P,EACAE,EAAA52P,GAAA02P,EAAA12P,GAEA,OAAA42P,EAGA,SAAAC,EAAA9rH,GACA,IAAAjkE,EAAA,GAIA,OAFAikE,IAAA3rI,OAAAE,QAAA,gBAEAyrI,GAIAA,EAAAvnI,MAAA,KAAA5D,QAAA,SAAAye,GACA,IAAA8kB,EAAA9kB,EAAA/e,QAAA,WAAAkE,MAAA,KACAxD,EAAAu2P,EAAApzN,EAAA02B,SACA77D,EAAAmlC,EAAA7qC,OAAA,EACAi+P,EAAApzN,EAAAp+B,KAAA,MACA,UAEA1H,IAAAypE,EAAA9mE,GACA8mE,EAAA9mE,GAAAhC,EACKuU,MAAAxU,QAAA+oE,EAAA9mE,IACL8mE,EAAA9mE,GAAA0H,KAAA1J,GAEA8oE,EAAA9mE,GAAA,CAAA8mE,EAAA9mE,GAAAhC,KAIA8oE,GAnBAA,EAsBA,SAAAgwL,EAAAj3P,GACA,IAAAinE,EAAAjnE,EAAA/B,OAAAitB,KAAAlrB,GAAAsC,IAAA,SAAAnC,GACA,IAAAhC,EAAA6B,EAAAG,GAEA,QAAA3C,IAAAW,EACA,SAGA,UAAAA,EACA,OAAAw+I,EAAAx8I,GAGA,GAAAuS,MAAAxU,QAAAC,GAAA,CACA,IAAAvF,EAAA,GAWA,OAVAuF,EAAA4B,QAAA,SAAAm3P,QACA15P,IAAA05P,IAGA,OAAAA,EACAt+P,EAAAiP,KAAA80I,EAAAx8I,IAEAvH,EAAAiP,KAAA80I,EAAAx8I,GAAA,IAAAw8I,EAAAu6G,OAGAt+P,EAAAsM,KAAA,KAGA,OAAAy3I,EAAAx8I,GAAA,IAAAw8I,EAAAx+I,KACG4+C,OAAA,SAAA7lD,GAAuB,OAAAA,EAAAuB,OAAA,IAAuByM,KAAA,UACjD,OAAA+hE,EAAA,IAAAA,EAAA,GAKA,IAAAkwL,EAAA,OAEA,SAAAC,EACAC,EACArwK,EACAswK,EACAC,GAEA,IAAAC,EAAAD,KAAAxyP,QAAAkyP,eAEA/rH,EAAAlkD,EAAAkkD,OAAA,GACA,IACAA,EAAAzgI,EAAAygI,GACG,MAAA7/H,IAEH,IAAA2pP,EAAA,CACAxxP,KAAAwjF,EAAAxjF,MAAA6zP,KAAA7zP,KACA+tP,KAAA8F,KAAA9F,MAAA,GACA53L,KAAAqtB,EAAArtB,MAAA,IACA89L,KAAAzwK,EAAAywK,MAAA,GACAvsH,QACAhxH,OAAA8sE,EAAA9sE,QAAA,GACAw9O,SAAAC,EAAA3wK,EAAAwwK,GACAtS,QAAAmS,EAAAO,EAAAP,GAAA,IAKA,OAHAC,IACAtC,EAAAsC,eAAAK,EAAAL,EAAAE,IAEAv5P,OAAA45P,OAAA7C,GAGA,SAAAvqP,EAAAtR,GACA,GAAAuZ,MAAAxU,QAAA/E,GACA,OAAAA,EAAAmJ,IAAAmI,GACG,GAAAtR,GAAA,kBAAAA,EAAA,CACH,IAAA8tE,EAAA,GACA,QAAA9mE,KAAAhH,EACA8tE,EAAA9mE,GAAAsK,EAAAtR,EAAAgH,IAEA,OAAA8mE,EAEA,OAAA9tE,EAKA,IAAA2+P,EAAAV,EAAA,MACAz9L,KAAA,MAGA,SAAAi+L,EAAAP,GACA,IAAApwL,EAAA,GACA,MAAAowL,EACApwL,EAAAoD,QAAAgtL,GACAA,IAAAxwL,OAEA,OAAAI,EAGA,SAAA0wL,EACA9C,EACAkD,GAEA,IAAAp+L,EAAAk7L,EAAAl7L,KACAuxE,EAAA2pH,EAAA3pH,WAAwB,IAAAA,MAAA,IACxB,IAAAusH,EAAA5C,EAAA4C,UAAsB,IAAAA,MAAA,IAEtB,IAAAxoI,EAAA8oI,GAAAd,EACA,OAAAt9L,GAAA,KAAAs1D,EAAAic,GAAAusH,EAGA,SAAAO,EAAAv6P,EAAAC,GACA,OAAAA,IAAAo6P,EACAr6P,IAAAC,IACGA,IAEAD,EAAAk8D,MAAAj8D,EAAAi8D,KAEHl8D,EAAAk8D,KAAAl6D,QAAA03P,EAAA,MAAAz5P,EAAAi8D,KAAAl6D,QAAA03P,EAAA,KACA15P,EAAAg6P,OAAA/5P,EAAA+5P,MACAQ,EAAAx6P,EAAAytI,MAAAxtI,EAAAwtI,UAEGztI,EAAA+F,OAAA9F,EAAA8F,QAEH/F,EAAA+F,OAAA9F,EAAA8F,MACA/F,EAAAg6P,OAAA/5P,EAAA+5P,MACAQ,EAAAx6P,EAAAytI,MAAAxtI,EAAAwtI,QACA+sH,EAAAx6P,EAAAyc,OAAAxc,EAAAwc,UAOA,SAAA+9O,EAAAx6P,EAAAC,GAKA,QAJA,IAAAD,MAAA,SACA,IAAAC,MAAA,KAGAD,IAAAC,EAAiB,OAAAD,IAAAC,EACjB,IAAAw6P,EAAAj6P,OAAAitB,KAAAztB,GACA06P,EAAAl6P,OAAAitB,KAAAxtB,GACA,OAAAw6P,EAAAz/P,SAAA0/P,EAAA1/P,QAGAy/P,EAAAE,MAAA,SAAAj4P,GACA,IAAAk4P,EAAA56P,EAAA0C,GACAm4P,EAAA56P,EAAAyC,GAEA,wBAAAk4P,GAAA,kBAAAC,EACAL,EAAAI,EAAAC,GAEA38H,OAAA08H,KAAA18H,OAAA28H,KAIA,SAAAC,EAAAnxL,EAAA77D,GACA,OAGA,IAFA67D,EAAAzN,KAAAl6D,QAAA03P,EAAA,KAAA72N,QACA/0B,EAAAouD,KAAAl6D,QAAA03P,EAAA,SAEA5rP,EAAAksP,MAAArwL,EAAAqwL,OAAAlsP,EAAAksP,OACAe,EAAApxL,EAAA8jE,MAAA3/H,EAAA2/H,OAIA,SAAAstH,EAAApxL,EAAA77D,GACA,QAAApL,KAAAoL,EACA,KAAApL,KAAAinE,GACA,SAGA,SAMA,IAyIAqxL,EAzIAC,EAAA,CAAA/8H,OAAA19H,QACA06P,EAAA,CAAAh9H,OAAAjpH,OAEAkmP,EAAA,CACAp1P,KAAA,aACAuW,MAAA,CACA0nM,GAAA,CACApsN,KAAAqjQ,EACAG,UAAA,GAEAz3B,IAAA,CACA/rO,KAAAsmI,OACAg5H,QAAA,KAEAmE,MAAAC,QACAhhC,OAAAghC,QACAt5P,QAAAs5P,QACAC,YAAAr9H,OACAs9H,iBAAAt9H,OACAtvH,MAAA,CACAhX,KAAAsjQ,EACAhE,QAAA,UAGAvsM,OAAA,SAAAnyC,GACA,IAAAijP,EAAAhkQ,KAEAqiQ,EAAAriQ,KAAAikQ,QACA/xL,EAAAlyE,KAAA+/P,OACAJ,EAAA0C,EAAA38C,QAAA1lN,KAAAusN,GAAAr6I,EAAAlyE,KAAA6iO,QACA/wI,EAAA6tK,EAAA7tK,SACAguK,EAAAH,EAAAG,MACAoE,EAAAvE,EAAAuE,KAEAC,EAAA,GACAC,EAAA/B,EAAAxyP,QAAAw0P,gBACAC,EAAAjC,EAAAxyP,QAAA00P,qBAEAC,EAAA,MAAAJ,EACA,qBACAA,EACAK,EAAA,MAAAH,EACA,2BACAA,EACAR,EAAA,MAAA9jQ,KAAA8jQ,YACAU,EACAxkQ,KAAA8jQ,YACAC,EAAA,MAAA/jQ,KAAA+jQ,iBACAU,EACAzkQ,KAAA+jQ,iBACAW,EAAA5yK,EAAArtB,KACAy9L,EAAA,KAAApwK,EAAA,KAAAuwK,GACAvC,EAEAqE,EAAAJ,GAAAjB,EAAA5wL,EAAAwyL,GACAP,EAAAL,GAAA9jQ,KAAA4jQ,MACAO,EAAAJ,GACAV,EAAAnxL,EAAAwyL,GAEA,IAAA5wK,EAAA,SAAA39E,GACAwuP,EAAAxuP,KACA6tP,EAAAz5P,QACA83P,EAAA93P,QAAAunF,GAEAuwK,EAAA1vP,KAAAm/E,KAKAl8E,EAAA,CAAcgvP,MAAAD,GACdnnP,MAAAxU,QAAAhJ,KAAAmX,OACAnX,KAAAmX,MAAAtM,QAAA,SAAAsL,GAAuCP,EAAAO,GAAA29E,IAEvCl+E,EAAA5V,KAAAmX,OAAA28E,EAGA,IAAAvoF,EAAA,CACAs5P,MAAAV,GAGA,SAAAnkQ,KAAAksO,IACA3gO,EAAAqK,KACArK,EAAAy3O,MAAA,CAAoBkhB,YACf,CAEL,IAAA37P,EAAAu8P,EAAA9kQ,KAAA+kQ,OAAAtF,SACA,GAAAl3P,EAAA,CAEAA,EAAA+oF,UAAA,EACA,IAAA0zK,EAAAz8P,EAAAgD,KAAA7G,EAAA,GAAsC6D,EAAAgD,MACtCy5P,EAAApvP,KACA,IAAAqvP,EAAA18P,EAAAgD,KAAAy3O,MAAAt+O,EAAA,GAA6C6D,EAAAgD,KAAAy3O,OAC7CiiB,EAAAf,YAGA34P,EAAAqK,KAIA,OAAAmL,EAAA/gB,KAAAksO,IAAA3gO,EAAAvL,KAAA+kQ,OAAAtF,WAIA,SAAAkF,EAAAxuP,GAEA,KAAAA,EAAA+uP,SAAA/uP,EAAAgvP,QAAAhvP,EAAAivP,SAAAjvP,EAAAkvP,YAEAlvP,EAAAmvP,wBAEAh9P,IAAA6N,EAAAirE,QAAA,IAAAjrE,EAAAirE,QAAA,CAEA,GAAAjrE,EAAAovP,eAAApvP,EAAAovP,cAAA9hI,aAAA,CACA,IAAAptH,EAAAF,EAAAovP,cAAA9hI,aAAA,UACA,iBAAA+qD,KAAAn4K,GAAqC,OAMrC,OAHAF,EAAAmrE,gBACAnrE,EAAAmrE,kBAEA,GAGA,SAAAwjL,EAAA3gM,GACA,GAAAA,EAEA,IADA,IAAA/xC,EACArnB,EAAA,EAAmBA,EAAAo5D,EAAA5gE,OAAqBwH,IAAA,CAExC,GADAqnB,EAAA+xC,EAAAp5D,GACA,MAAAqnB,EAAA85M,IACA,OAAA95M,EAEA,GAAAA,EAAA+xC,WAAA/xC,EAAA0yO,EAAA1yO,EAAA+xC,WACA,OAAA/xC,GAQA,SAAAozO,EAAAC,GACA,IAAAD,EAAAE,WAAAnC,IAAAkC,EAAA,CACAD,EAAAE,WAAA,EAEAnC,EAAAkC,EAEA,IAAAE,EAAA,SAAAxoP,GAA4B,YAAA7U,IAAA6U,GAE5ByoP,EAAA,SAAAhF,EAAAiF,GACA,IAAA96P,EAAA61P,EAAAkF,SAAAC,aACAJ,EAAA56P,IAAA46P,EAAA56P,IAAAQ,OAAAo6P,EAAA56P,IAAA41P,wBACA51P,EAAA61P,EAAAiF,IAIAJ,EAAA7sP,MAAA,CACAotP,aAAA,WACAL,EAAA3lQ,KAAA8lQ,SAAAzD,SACAriQ,KAAAkgQ,YAAAlgQ,KACAA,KAAAimQ,QAAAjmQ,KAAA8lQ,SAAAzD,OACAriQ,KAAAimQ,QAAA/iP,KAAAljB,MACAylQ,EAAA7zO,KAAAs0O,eAAAlmQ,KAAA,SAAAA,KAAAimQ,QAAAE,QAAAj0L,UAEAlyE,KAAAkgQ,YAAAlgQ,KAAAugQ,SAAAvgQ,KAAAugQ,QAAAL,aAAAlgQ,KAEA4lQ,EAAA5lQ,YAEAomQ,UAAA,WACAR,EAAA5lQ,SAIA+I,OAAA2kB,eAAA+3O,EAAAxlQ,UAAA,WACAwF,IAAA,WAA0B,OAAAzF,KAAAkgQ,YAAA+F,WAG1Bl9P,OAAA2kB,eAAA+3O,EAAAxlQ,UAAA,UACAwF,IAAA,WAA0B,OAAAzF,KAAAkgQ,YAAAmG,UAG1BZ,EAAAhF,UAAA,aAAAhlC,GACAgqC,EAAAhF,UAAA,aAAAiD,GAEA,IAAA4C,EAAAb,EAAAzrE,OAAAusE,sBAEAD,EAAAE,iBAAAF,EAAAG,iBAAAH,EAAAI,kBAAAJ,EAAAK,SAKA,IAAAC,EAAA,qBAAAj8P,OAIA,SAAAk8P,EACAC,EACA5/K,EACA27I,GAEA,IAAAkkC,EAAAD,EAAAr0P,OAAA,GACA,SAAAs0P,EACA,OAAAD,EAGA,SAAAC,GAAA,MAAAA,EACA,OAAA7/K,EAAA4/K,EAGA,IAAA57D,EAAAhkH,EAAAz4E,MAAA,KAKAo0N,GAAA33B,IAAA3nM,OAAA,IACA2nM,EAAA7+K,MAKA,IADA,IAAA26O,EAAAF,EAAAv8P,QAAA,UAAAkE,MAAA,KACA1D,EAAA,EAAiBA,EAAAi8P,EAAAzjQ,OAAqBwH,IAAA,CACtC,IAAAk8P,EAAAD,EAAAj8P,GACA,OAAAk8P,EACA/7D,EAAA7+K,MACK,MAAA46O,GACL/7D,EAAAv4L,KAAAs0P,GASA,MAJA,KAAA/7D,EAAA,IACAA,EAAA/1H,QAAA,IAGA+1H,EAAAl7L,KAAA,KAGA,SAAAm5K,EAAA1kH,GACA,IAAA89L,EAAA,GACAvsH,EAAA,GAEAkxH,EAAAziM,EAAAr5B,QAAA,KACA87N,GAAA,IACA3E,EAAA99L,EAAAvlC,MAAAgoO,GACAziM,IAAAvlC,MAAA,EAAAgoO,IAGA,IAAAC,EAAA1iM,EAAAr5B,QAAA,KAMA,OALA+7N,GAAA,IACAnxH,EAAAvxE,EAAAvlC,MAAAioO,EAAA,GACA1iM,IAAAvlC,MAAA,EAAAioO,IAGA,CACA1iM,OACAuxE,QACAusH,QAIA,SAAA6E,EAAA3iM,GACA,OAAAA,EAAAl6D,QAAA,aAGA,IAAA88P,EAAA7pP,MAAAxU,SAAA,SAAAy0B,GACA,wBAAA10B,OAAA9I,UAAA6I,SAAA/I,KAAA09B,IAMA6pO,EAAAC,GACAC,EAAApuO,EACAquO,EAAAC,EACAC,EAAAC,EACAC,EAAAC,GAOAC,EAAA,IAAAjtC,OAAA,CAGA,UAOA,0GACA9qN,KAAA,UASA,SAAAopB,EAAA9uB,EAAAuF,GACA,IAKAkiE,EALA//D,EAAA,GACA/G,EAAA,EACApH,EAAA,EACA4gE,EAAA,GACAujM,EAAAn4P,KAAAo4P,WAAA,IAGA,aAAAl2L,EAAAg2L,EAAAx2P,KAAAjH,IAAA,CACA,IAAAijB,EAAAwkD,EAAA,GACAm2L,EAAAn2L,EAAA,GACAhsB,EAAAgsB,EAAAluE,MAKA,GAJA4gE,GAAAn6D,EAAA40B,MAAAr7B,EAAAkiD,GACAliD,EAAAkiD,EAAAx4B,EAAAhqB,OAGA2kQ,EACAzjM,GAAAyjM,EAAA,OADA,CAKA,IAAAnkQ,EAAAuG,EAAAzG,GACAqyB,EAAA67C,EAAA,GACAzjE,EAAAyjE,EAAA,GACA2+K,EAAA3+K,EAAA,GACAtM,EAAAsM,EAAA,GACAo2L,EAAAp2L,EAAA,GACAq2L,EAAAr2L,EAAA,GAGAtN,IACAzyD,EAAAW,KAAA8xD,GACAA,EAAA,IAGA,IAAA4jM,EAAA,MAAAnyO,GAAA,MAAAnyB,OAAAmyB,EACA0nE,EAAA,MAAAuqK,GAAA,MAAAA,EACAG,EAAA,MAAAH,GAAA,MAAAA,EACAF,EAAAl2L,EAAA,IAAAi2L,EACAO,EAAA7X,GAAAjrL,EAEAzzD,EAAAW,KAAA,CACArE,QAAArD,IACAirB,UAAA,GACA+xO,YACAK,WACA1qK,SACAyqK,UACAD,aACAG,UAAAC,EAAAD,GAAAH,EAAA,UAAAK,EAAAR,GAAA,SAcA,OATApkQ,EAAAyG,EAAA/G,SACAkhE,GAAAn6D,EAAAwG,OAAAjN,IAIA4gE,GACAzyD,EAAAW,KAAA8xD,GAGAzyD,EAUA,SAAA01P,EAAAp9P,EAAAuF,GACA,OAAA+3P,EAAAxuO,EAAA9uB,EAAAuF,IASA,SAAA64P,EAAAp+P,GACA,OAAAq+P,UAAAr+P,GAAAC,QAAA,mBAAA9B,GACA,UAAAA,EAAAuI,WAAA,GAAAlI,SAAA,IAAA82B,gBAUA,SAAAgpO,EAAAt+P,GACA,OAAAq+P,UAAAr+P,GAAAC,QAAA,iBAAA9B,GACA,UAAAA,EAAAuI,WAAA,GAAAlI,SAAA,IAAA82B,gBAOA,SAAAgoO,EAAA51P,GAKA,IAHA,IAAA62P,EAAA,IAAArrP,MAAAxL,EAAAzO,QAGAwH,EAAA,EAAiBA,EAAAiH,EAAAzO,OAAmBwH,IACpC,kBAAAiH,EAAAjH,KACA89P,EAAA99P,GAAA,IAAA+vN,OAAA,OAAA9oN,EAAAjH,GAAAw9P,QAAA,OAIA,gBAAAz9P,EAAAhL,GAMA,IALA,IAAA2kE,EAAA,GACAl5D,EAAAT,GAAA,GACA+E,EAAA/P,GAAA,GACA2nJ,EAAA53I,EAAAi5P,OAAAJ,EAAAnH,mBAEAx2P,EAAA,EAAmBA,EAAAiH,EAAAzO,OAAmBwH,IAAA,CACtC,IAAAkH,EAAAD,EAAAjH,GAEA,qBAAAkH,EAAA,CAMA,IACAg1P,EADAhjQ,EAAAsH,EAAA0G,EAAA3D,MAGA,SAAArK,EAAA,CACA,GAAAgO,EAAAq2P,SAAA,CAEAr2P,EAAAo2P,UACA5jM,GAAAxyD,EAAAikB,QAGA,SAEA,UAAApyB,UAAA,aAAAmO,EAAA3D,KAAA,mBAIA,GAAA+4P,EAAApjQ,GAAA,CACA,IAAAgO,EAAA2rF,OACA,UAAA95F,UAAA,aAAAmO,EAAA3D,KAAA,kCAAAkgK,KAAAz0C,UAAA91H,GAAA,KAGA,OAAAA,EAAAV,OAAA,CACA,GAAA0O,EAAAq2P,SACA,SAEA,UAAAxkQ,UAAA,aAAAmO,EAAA3D,KAAA,qBAIA,QAAAoC,EAAA,EAAuBA,EAAAzM,EAAAV,OAAkBmN,IAAA,CAGzC,GAFAu2P,EAAAx/G,EAAAxjJ,EAAAyM,KAEAm4P,EAAA99P,GAAAyjL,KAAAy4E,GACA,UAAAnjQ,UAAA,iBAAAmO,EAAA3D,KAAA,eAAA2D,EAAAs2P,QAAA,oBAAA/5F,KAAAz0C,UAAAktI,GAAA,KAGAxiM,IAAA,IAAA/zD,EAAAuB,EAAAikB,OAAAjkB,EAAAg2P,WAAAhB,OApBA,CA4BA,GAFAA,EAAAh1P,EAAAm2P,SAAAQ,EAAA3kQ,GAAAwjJ,EAAAxjJ,IAEA4kQ,EAAA99P,GAAAyjL,KAAAy4E,GACA,UAAAnjQ,UAAA,aAAAmO,EAAA3D,KAAA,eAAA2D,EAAAs2P,QAAA,oBAAAtB,EAAA,KAGAxiM,GAAAxyD,EAAAikB,OAAA+wO,QArDAxiM,GAAAxyD,EAwDA,OAAAwyD,GAUA,SAAAgkM,EAAAn+P,GACA,OAAAA,EAAAC,QAAA,6BAAmC,QASnC,SAAAi+P,EAAA/iM,GACA,OAAAA,EAAAl7D,QAAA,wBAUA,SAAAw+P,EAAAvtC,EAAAxlM,GAEA,OADAwlM,EAAAxlM,OACAwlM,EASA,SAAAwtC,EAAAn5P,GACA,OAAAA,EAAAo5P,UAAA,OAUA,SAAAC,EAAAzkM,EAAAzuC,GAEA,IAAAm6N,EAAA1rL,EAAAxqC,OAAApD,MAAA,aAEA,GAAAs5N,EACA,QAAAplP,EAAA,EAAmBA,EAAAolP,EAAA5sP,OAAmBwH,IACtCirB,EAAArjB,KAAA,CACArE,KAAAvD,EACAmrB,OAAA,KACA+xO,UAAA,KACAK,UAAA,EACA1qK,QAAA,EACAyqK,SAAA,EACAD,UAAA,EACAG,QAAA,OAKA,OAAAQ,EAAAtkM,EAAAzuC,GAWA,SAAAmzO,GAAA1kM,EAAAzuC,EAAAnmB,GAGA,IAFA,IAAAu+B,EAAA,GAEArjC,EAAA,EAAiBA,EAAA05D,EAAAlhE,OAAiBwH,IAClCqjC,EAAAz7B,KAAA40P,GAAA9iM,EAAA15D,GAAAirB,EAAAnmB,GAAAoqB,QAGA,IAAAu1N,EAAA,IAAA10B,OAAA,MAAA1sL,EAAAp+B,KAAA,SAAAg5P,EAAAn5P,IAEA,OAAAk5P,EAAAvZ,EAAAx5N,GAWA,SAAAozO,GAAA3kM,EAAAzuC,EAAAnmB,GACA,OAAAi4P,GAAA1uO,EAAAqrC,EAAA50D,GAAAmmB,EAAAnmB,GAWA,SAAAi4P,GAAA91P,EAAAgkB,EAAAnmB,GACAw3P,EAAArxO,KACAnmB,EAAiCmmB,GAAAnmB,EACjCmmB,EAAA,IAGAnmB,KAAA,GAOA,IALA,IAAAw5P,EAAAx5P,EAAAw5P,OACA9/O,GAAA,IAAA1Z,EAAA0Z,IACAu2O,EAAA,GAGA/0P,EAAA,EAAiBA,EAAAiH,EAAAzO,OAAmBwH,IAAA,CACpC,IAAAkH,EAAAD,EAAAjH,GAEA,qBAAAkH,EACA6tP,GAAA2I,EAAAx2P,OACK,CACL,IAAAikB,EAAAuyO,EAAAx2P,EAAAikB,QACAw6N,EAAA,MAAAz+O,EAAAs2P,QAAA,IAEAvyO,EAAArjB,KAAAV,GAEAA,EAAA2rF,SACA8yJ,GAAA,MAAAx6N,EAAAw6N,EAAA,MAOAA,EAJAz+O,EAAAq2P,SACAr2P,EAAAo2P,QAGAnyO,EAAA,IAAAw6N,EAAA,KAFA,MAAAx6N,EAAA,IAAAw6N,EAAA,MAKAx6N,EAAA,IAAAw6N,EAAA,IAGAoP,GAAApP,GAIA,IAAAuX,EAAAQ,EAAA54P,EAAAo4P,WAAA,KACAqB,EAAAxJ,EAAA5gO,OAAA+oO,EAAA1kQ,UAAA0kQ,EAkBA,OAZAoB,IACAvJ,GAAAwJ,EAAAxJ,EAAA5gO,MAAA,GAAA+oO,EAAA1kQ,QAAAu8P,GAAA,MAAAmI,EAAA,WAIAnI,GADAv2O,EACA,IAIA8/O,GAAAC,EAAA,SAAArB,EAAA,MAGAc,EAAA,IAAAjuC,OAAA,IAAAglC,EAAAkJ,EAAAn5P,IAAAmmB,GAeA,SAAAuxO,GAAA9iM,EAAAzuC,EAAAnmB,GAQA,OAPAw3P,EAAArxO,KACAnmB,EAAiCmmB,GAAAnmB,EACjCmmB,EAAA,IAGAnmB,KAAA,GAEA40D,aAAAq2J,OACAouC,EAAAzkM,EAAkD,GAGlD4iM,EAAA5iM,GACA0kM,GAA2C,EAA8B,EAAAt5P,GAGzEu5P,GAA0C,EAA8B,EAAAv5P,GAExEy3P,EAAAluO,MAAAouO,EACAF,EAAAI,QAAAD,EACAH,EAAAM,iBAAAD,EACAL,EAAAQ,eAAAD,EAKA,IAAA0B,GAAAxgQ,OAAA+lC,OAAA,MAEA,SAAA06N,GACA/kM,EACAz/C,EACAykP,GAEAzkP,KAAA,GACA,IACA,IAAA0kP,EACAH,GAAA9kM,KACA8kM,GAAA9kM,GAAA6iM,EAAAI,QAAAjjM,IAKA,OAFAz/C,EAAA2kP,YAA2B3kP,EAAA,GAAAA,EAAA2kP,WAE3BD,EAAA1kP,EAAA,CAA2B8jP,QAAA,IACxB,MAAA3yP,GAIH,SACG,eAEH6O,EAAA,IAMA,SAAA4kP,GACAC,EACAC,EACAC,EACAC,GAGA,IAAAC,EAAAH,GAAA,GAEAI,EAAAH,GAAAhhQ,OAAA+lC,OAAA,MAEAkxE,EAAAgqJ,GAAAjhQ,OAAA+lC,OAAA,MAEA+6N,EAAAh/P,QAAA,SAAAi1P,GACAqK,GAAAF,EAAAC,EAAAlqJ,EAAA8/I,KAIA,QAAA/0P,EAAA,EAAAC,EAAAi/P,EAAA1mQ,OAAsCwH,EAAAC,EAAOD,IAC7C,MAAAk/P,EAAAl/P,KACAk/P,EAAAt3P,KAAAs3P,EAAA54L,OAAAtmE,EAAA,OACAC,IACAD,KAIA,OACAk/P,WACAC,UACAlqJ,WAIA,SAAAmqJ,GACAF,EACAC,EACAlqJ,EACA8/I,EACAnuL,EACAy4L,GAEA,IAAA3lM,EAAAq7L,EAAAr7L,KACAn2D,EAAAwxP,EAAAxxP,KAUA,IAAA+7P,EAAAvK,EAAAuK,qBAAA,GACAC,EAAAC,GACA9lM,EACAkN,EACA04L,EAAAhB,QAGA,mBAAAvJ,EAAA0K,gBACAH,EAAApB,UAAAnJ,EAAA0K,eAGA,IAAArI,EAAA,CACA19L,KAAA6lM,EACAG,MAAAC,GAAAJ,EAAAD,GACA3J,WAAAZ,EAAAY,YAAA,CAAqCjB,QAAAK,EAAAW,WACrCI,UAAA,GACAvyP,OACAqjE,SACAy4L,UACAO,SAAA7K,EAAA6K,SACAC,YAAA9K,EAAA8K,YACAvO,KAAAyD,EAAAzD,MAAA,GACAx3O,MAAA,MAAAi7O,EAAAj7O,MACA,GACAi7O,EAAAY,WACAZ,EAAAj7O,MACA,CAAW46O,QAAAK,EAAAj7O,QA2BX,GAxBAi7O,EAAA37L,UAgBA27L,EAAA37L,SAAAt5D,QAAA,SAAAunB,GACA,IAAAy4O,EAAAT,EACAhD,EAAAgD,EAAA,IAAAh4O,EAAA,WACA9pB,EACA6hQ,GAAAF,EAAAC,EAAAlqJ,EAAA5tF,EAAA+vO,EAAA0I,UAIAviQ,IAAAw3P,EAAAl4G,MAAA,CACA,IAAAkjH,EAAAttP,MAAAxU,QAAA82P,EAAAl4G,OACAk4G,EAAAl4G,MACA,CAAAk4G,EAAAl4G,OAEAkjH,EAAAjgQ,QAAA,SAAA+8I,GACA,IAAAmjH,EAAA,CACAtmM,KAAAmjF,EACAzjF,SAAA27L,EAAA37L,UAEAgmM,GACAF,EACAC,EACAlqJ,EACA+qJ,EACAp5L,EACAwwL,EAAA19L,MAAA,OAKAylM,EAAA/H,EAAA19L,QACAwlM,EAAAt3P,KAAAwvP,EAAA19L,MACAylM,EAAA/H,EAAA19L,MAAA09L,GAGA7zP,IACA0xG,EAAA1xG,KACA0xG,EAAA1xG,GAAA6zP,IAWA,SAAAuI,GAAAjmM,EAAA4lM,GACA,IAAAI,EAAAnD,EAAA7iM,EAAA,GAAA4lM,GAQA,OAAAI,EAGA,SAAAF,GAAA9lM,EAAAkN,EAAA03L,GAEA,OADAA,IAAgB5kM,IAAAl6D,QAAA,WAChB,MAAAk6D,EAAA,GAAwBA,EACxB,MAAAkN,EAAuBlN,EACvB2iM,EAAAz1L,EAAA,SAAAlN,GAKA,SAAAumM,GACAlyD,EACA5mI,EACA2wJ,EACAw/B,GAEA,IAAAt+P,EAAA,kBAAA+0M,EAAA,CAAwCr0I,KAAAq0I,GAAYA,EAEpD,GAAA/0M,EAAAknQ,YACA,OAAAlnQ,EACG,GAAAA,EAAAuK,KACH,OAAA5J,EAAA,GAAoBo0M,GAIpB,IAAA/0M,EAAA0gE,MAAA1gE,EAAAihB,QAAAktD,EAAA,CACAnuE,EAAAW,EAAA,GAAoBX,GACpBA,EAAAknQ,aAAA,EACA,IAAAjmP,EAAAtgB,IAAA,GAAiCwtE,EAAAltD,QAAAjhB,EAAAihB,QACjC,GAAAktD,EAAA5jE,KACAvK,EAAAuK,KAAA4jE,EAAA5jE,KACAvK,EAAAihB,cACK,GAAAktD,EAAA89K,QAAAzsP,OAAA,CACL,IAAA2nQ,EAAAh5L,EAAA89K,QAAA99K,EAAA89K,QAAAzsP,OAAA,GAAAkhE,KACA1gE,EAAA0gE,KAAA+kM,GAAA0B,EAAAlmP,EAAA,QAAAktD,EAAA,WACe,EAGf,OAAAnuE,EAGA,IAAAonQ,EAAAhiF,EAAAplL,EAAA0gE,MAAA,IACAC,EAAAwN,KAAAzN,MAAA,IACAA,EAAA0mM,EAAA1mM,KACAoiM,EAAAsE,EAAA1mM,KAAAC,EAAAm+J,GAAA9+N,EAAA8+N,QACAn+J,EAEAsxE,EAAA0rH,EACAyJ,EAAAn1H,MACAjyI,EAAAiyI,MACAqsH,KAAAxyP,QAAAiyP,YAGAS,EAAAx+P,EAAAw+P,MAAA4I,EAAA5I,KAKA,OAJAA,GAAA,MAAAA,EAAA9vP,OAAA,KACA8vP,EAAA,IAAAA,GAGA,CACA0I,aAAA,EACAxmM,OACAuxE,QACAusH,QAQA,SAAA6I,GACAvB,EACAxH,GAEA,IAAA1C,EAAAiK,GAAAC,GACAI,EAAAtK,EAAAsK,SACAC,EAAAvK,EAAAuK,QACAlqJ,EAAA2/I,EAAA3/I,QAEA,SAAAqrJ,EAAAxB,GACAD,GAAAC,EAAAI,EAAAC,EAAAlqJ,GAGA,SAAAnpF,EACAiiL,EACAwyD,EACAlJ,GAEA,IAAAtwK,EAAAk5K,GAAAlyD,EAAAwyD,GAAA,EAAAjJ,GACA/zP,EAAAwjF,EAAAxjF,KAEA,GAAAA,EAAA,CACA,IAAA6zP,EAAAniJ,EAAA1xG,GAIA,IAAA6zP,EAAoB,OAAAoJ,EAAA,KAAAz5K,GACpB,IAAA05K,EAAArJ,EAAAsI,MAAAz0O,KACA6xB,OAAA,SAAA58C,GAAgC,OAAAA,EAAAq9P,WAChCl7P,IAAA,SAAAnC,GAA6B,OAAAA,EAAAqD,OAM7B,GAJA,kBAAAwjF,EAAA9sE,SACA8sE,EAAA9sE,OAAA,IAGAsmP,GAAA,kBAAAA,EAAAtmP,OACA,QAAA/Z,KAAAqgQ,EAAAtmP,SACA/Z,KAAA6mF,EAAA9sE,SAAAwmP,EAAApgO,QAAAngC,IAAA,IACA6mF,EAAA9sE,OAAA/Z,GAAAqgQ,EAAAtmP,OAAA/Z,IAMA,OADA6mF,EAAArtB,KAAA+kM,GAAArH,EAAA19L,KAAAqtB,EAAA9sE,OAAA,gBAAA1W,EAAA,KACAi9P,EAAApJ,EAAArwK,EAAAswK,GACK,GAAAtwK,EAAArtB,KAAA,CACLqtB,EAAA9sE,OAAA,GACA,QAAAja,EAAA,EAAqBA,EAAAk/P,EAAA1mQ,OAAqBwH,IAAA,CAC1C,IAAA05D,EAAAwlM,EAAAl/P,GACA0gQ,EAAAvB,EAAAzlM,GACA,GAAAinM,GAAAD,EAAAhB,MAAA34K,EAAArtB,KAAAqtB,EAAA9sE,QACA,OAAAumP,EAAAE,EAAA35K,EAAAswK,IAKA,OAAAmJ,EAAA,KAAAz5K,GAGA,SAAA64K,EACAxI,EACArwK,GAEA,IAAA65K,EAAAxJ,EAAAwI,SACAA,EAAA,oBAAAgB,EACAA,EAAAzJ,EAAAC,EAAArwK,EAAA,KAAAuwK,IACAsJ,EAMA,GAJA,kBAAAhB,IACAA,EAAA,CAAkBlmM,KAAAkmM,KAGlBA,GAAA,kBAAAA,EAMA,OAAAY,EAAA,KAAAz5K,GAGA,IAAA0pI,EAAAmvC,EACAr8P,EAAAktN,EAAAltN,KACAm2D,EAAA+2J,EAAA/2J,KACAuxE,EAAAlkD,EAAAkkD,MACAusH,EAAAzwK,EAAAywK,KACAv9O,EAAA8sE,EAAA9sE,OAKA,GAJAgxH,EAAAwlF,EAAAtwN,eAAA,SAAAswN,EAAAxlF,QACAusH,EAAA/mC,EAAAtwN,eAAA,QAAAswN,EAAA+mC,OACAv9O,EAAAw2M,EAAAtwN,eAAA,UAAAswN,EAAAx2M,SAEA1W,EAAA,CAEA0xG,EAAA1xG,GAIA,OAAAuoB,EAAA,CACAo0O,aAAA,EACA38P,OACA0nI,QACAusH,OACAv9O,eACO1c,EAAAwpF,GACF,GAAArtB,EAAA,CAEL,IAAAymM,EAAAU,GAAAnnM,EAAA09L,GAEA0J,EAAArC,GAAA0B,EAAAlmP,EAAA,6BAAAkmP,EAAA,KAEA,OAAAr0O,EAAA,CACAo0O,aAAA,EACAxmM,KAAAonM,EACA71H,QACAusH,aACOj6P,EAAAwpF,GAKP,OAAAy5K,EAAA,KAAAz5K,GAIA,SAAA81D,EACAu6G,EACArwK,EACAs4K,GAEA,IAAA0B,EAAAtC,GAAAY,EAAAt4K,EAAA9sE,OAAA,4BAAAolP,EAAA,KACA2B,EAAAl1O,EAAA,CACAo0O,aAAA,EACAxmM,KAAAqnM,IAEA,GAAAC,EAAA,CACA,IAAA/b,EAAA+b,EAAA/b,QACAgc,EAAAhc,IAAAzsP,OAAA,GAEA,OADAuuF,EAAA9sE,OAAA+mP,EAAA/mP,OACAumP,EAAAS,EAAAl6K,GAEA,OAAAy5K,EAAA,KAAAz5K,GAGA,SAAAy5K,EACApJ,EACArwK,EACAswK,GAEA,OAAAD,KAAAwI,SACAA,EAAAxI,EAAAC,GAAAtwK,GAEAqwK,KAAAiI,QACAxiH,EAAAu6G,EAAArwK,EAAAqwK,EAAAiI,SAEAlI,EAAAC,EAAArwK,EAAAswK,EAAAC,GAGA,OACAxrO,QACAw0O,aAIA,SAAAK,GACAjB,EACAhmM,EACAz/C,GAEA,IAAAuI,EAAAk3C,EAAA5tC,MAAA4zO,GAEA,IAAAl9O,EACA,SACG,IAAAvI,EACH,SAGA,QAAAja,EAAA,EAAA0B,EAAA8gB,EAAAhqB,OAAiCwH,EAAA0B,IAAS1B,EAAA,CAC1C,IAAAE,EAAAw/P,EAAAz0O,KAAAjrB,EAAA,GACA9B,EAAA,kBAAAskB,EAAAxiB,GAAA02P,mBAAAl0O,EAAAxiB,IAAAwiB,EAAAxiB,GACAE,IAEA+Z,EAAA/Z,EAAAqD,MAAA,aAAArF,GAIA,SAGA,SAAA2iQ,GAAAnnM,EAAA09L,GACA,OAAA0E,EAAApiM,EAAA09L,EAAAxwL,OAAAwwL,EAAAxwL,OAAAlN,KAAA,QAKA,IAAAwnM,GAAAljQ,OAAA+lC,OAAA,MAEA,SAAAo9N,KAMA,IAAAC,EAAAxhQ,OAAAmnF,SAAAs6K,SAAA,KAAAzhQ,OAAAmnF,SAAA+jH,KACAw2D,EAAA1hQ,OAAAmnF,SAAAoyK,KAAA35P,QAAA4hQ,EAAA,IACAxhQ,OAAAw7P,QAAAmG,aAAA,CAA+BrhQ,IAAAshQ,MAAqB,GAAAF,GACpD1hQ,OAAAkzE,iBAAA,oBAAA1nE,GACAq2P,KACAr2P,EAAAgyL,OAAAhyL,EAAAgyL,MAAAl9L,KACAwhQ,GAAAt2P,EAAAgyL,MAAAl9L,OAKA,SAAAyhQ,GACArK,EACA91C,EACAlkK,EACAskN,GAEA,GAAAtK,EAAAuK,IAAA,CAIA,IAAA79D,EAAAszD,EAAAxyP,QAAAg9P,eACA99D,GASAszD,EAAAuK,IAAAE,UAAA,WACA,IAAAxmQ,EAAAymQ,KACAC,EAAAj+D,EAAAhvM,KAAAsiQ,EAAA91C,EAAAlkK,EAAAskN,EAAArmQ,EAAA,MAEA0mQ,IAIA,oBAAAA,EAAApnD,KACAonD,EAAApnD,KAAA,SAAAonD,GACAC,GAAA,EAAA3mQ,KACO4mQ,MAAA,SAAA3N,GACK,IAKZ0N,GAAAD,EAAA1mQ,OAKA,SAAAkmQ,KACA,IAAAvhQ,EAAAshQ,KACAthQ,IACAghQ,GAAAhhQ,GAAA,CACAjJ,EAAA2I,OAAAwiQ,YACAlrQ,EAAA0I,OAAAyiQ,cAKA,SAAAL,KACA,IAAA9hQ,EAAAshQ,KACA,GAAAthQ,EACA,OAAAghQ,GAAAhhQ,GAIA,SAAAoiQ,GAAAt8N,EAAAgV,GACA,IAAAunN,EAAA1iQ,SAAA2/N,gBACAgjC,EAAAD,EAAAE,wBACAC,EAAA18N,EAAAy8N,wBACA,OACAxrQ,EAAAyrQ,EAAAn+N,KAAAi+N,EAAAj+N,KAAAyW,EAAA/jD,EACAC,EAAAwrQ,EAAAh+N,IAAA89N,EAAA99N,IAAAsW,EAAA9jD,GAIA,SAAAyrQ,GAAA5iQ,GACA,OAAApB,GAAAoB,EAAA9I,IAAA0H,GAAAoB,EAAA7I,GAGA,SAAA0rQ,GAAA7iQ,GACA,OACA9I,EAAA0H,GAAAoB,EAAA9I,GAAA8I,EAAA9I,EAAA2I,OAAAwiQ,YACAlrQ,EAAAyH,GAAAoB,EAAA7I,GAAA6I,EAAA7I,EAAA0I,OAAAyiQ,aAIA,SAAAQ,GAAA9iQ,GACA,OACA9I,EAAA0H,GAAAoB,EAAA9I,GAAA8I,EAAA9I,EAAA,EACAC,EAAAyH,GAAAoB,EAAA7I,GAAA6I,EAAA7I,EAAA,GAIA,SAAAyH,GAAAyT,GACA,wBAAAA,EAGA,SAAA8vP,GAAAD,EAAA1mQ,GACA,IAAAsD,EAAA,kBAAAojQ,EACA,GAAApjQ,GAAA,kBAAAojQ,EAAAa,SAAA,CACA,IAAA98N,EAAAnmC,SAAAkjQ,cAAAd,EAAAa,UACA,GAAA98N,EAAA,CACA,IAAAgV,EAAAinN,EAAAjnN,QAAA,kBAAAinN,EAAAjnN,OAAAinN,EAAAjnN,OAAA,GACAA,EAAA6nN,GAAA7nN,GACAz/C,EAAA+mQ,GAAAt8N,EAAAgV,QACK2nN,GAAAV,KACL1mQ,EAAAqnQ,GAAAX,SAEGpjQ,GAAA8jQ,GAAAV,KACH1mQ,EAAAqnQ,GAAAX,IAGA1mQ,GACAqE,OAAAojQ,SAAAznQ,EAAAtE,EAAAsE,EAAArE,GAMA,IAAA+rQ,GAAApH,GAAA,WACA,IAAAqH,EAAAtjQ,OAAAF,UAAAyjQ,UAEA,QACA,IAAAD,EAAA7iO,QAAA,oBAAA6iO,EAAA7iO,QAAA,iBACA,IAAA6iO,EAAA7iO,QAAA,mBACA,IAAA6iO,EAAA7iO,QAAA,YACA,IAAA6iO,EAAA7iO,QAAA,oBAKAzgC,OAAAw7P,SAAA,cAAAx7P,OAAAw7P,SAZA,GAgBAgI,GAAAvH,GAAAj8P,OAAAyjQ,aAAAzjQ,OAAAyjQ,YAAAn2O,IACAttB,OAAAyjQ,YACAp2O,KAEAq2O,GAAAC,KAEA,SAAAA,KACA,OAAAH,GAAAl2O,MAAAqgF,QAAA,GAGA,SAAAi0J,KACA,OAAA8B,GAGA,SAAA5B,GAAAxhQ,GACAojQ,GAAApjQ,EAGA,SAAAsjQ,GAAAjxK,EAAA/yF,GACAiiQ,KAGA,IAAArG,EAAAx7P,OAAAw7P,QACA,IACA57P,EACA47P,EAAAmG,aAAA,CAA4BrhQ,IAAAojQ,IAAY,GAAA/wK,IAExC+wK,GAAAC,KACAnI,EAAAoI,UAAA,CAAyBtjQ,IAAAojQ,IAAY,GAAA/wK,IAElC,MAAAnnF,GACHxL,OAAAmnF,SAAAvnF,EAAA,oBAAA+yF,IAIA,SAAAgvK,GAAAhvK,GACAixK,GAAAjxK,GAAA,GAKA,SAAAkxK,GAAAzqG,EAAA3gK,EAAA2yB,GACA,IAAAvyB,EAAA,SAAAK,GACAA,GAAAkgK,EAAAxgK,OACAwyB,IAEAguI,EAAAlgK,GACAT,EAAA2gK,EAAAlgK,GAAA,WACAL,EAAAK,EAAA,KAGAL,EAAAK,EAAA,IAIAL,EAAA,GAKA,SAAAirQ,GAAAze,GACA,gBAAAzjC,EAAAlkK,EAAAtkD,GACA,IAAA2qQ,GAAA,EACA5lH,EAAA,EACA3uH,EAAA,KAEAw0O,GAAA3e,EAAA,SAAA4e,EAAAlP,EAAA7oO,EAAA5rB,GAMA,uBAAA2jQ,QAAAtmQ,IAAAsmQ,EAAAC,IAAA,CACAH,GAAA,EACA5lH,IAEA,IA0BA/2E,EA1BA2zI,EAAA3xH,GAAA,SAAA+6K,GACAC,GAAAD,KACAA,IAAArP,SAGAmP,EAAAI,SAAA,oBAAAF,EACAA,EACAvL,EAAA7+P,OAAAoqQ,GACAj4O,EAAA6pO,WAAAz1P,GAAA6jQ,EACAhmH,IACAA,GAAA,GACA/kJ,MAIAkrQ,EAAAl7K,GAAA,SAAAm7K,GACA,IAAA3uI,EAAA,qCAAAt1H,EAAA,KAAAikQ,EAEA/0O,IACAA,EAAAmlO,EAAA4P,GACAA,EACA,IAAAvhO,MAAA4yF,GACAx8H,EAAAo2B,MAKA,IACA43C,EAAA68L,EAAAlpD,EAAAupD,GACS,MAAA94P,GACT84P,EAAA94P,GAEA,GAAA47D,EACA,uBAAAA,EAAA6zI,KACA7zI,EAAA6zI,KAAAF,EAAAupD,OACW,CAEX,IAAAE,EAAAp9L,EAAA0uL,UACA0O,GAAA,oBAAAA,EAAAvpD,MACAupD,EAAAvpD,KAAAF,EAAAupD,OAOAP,GAAoB3qQ,KAIpB,SAAA4qQ,GACA3e,EACA5sP,GAEA,OAAAgsQ,GAAApf,EAAA5iP,IAAA,SAAAmgB,GACA,OAAAxkB,OAAAitB,KAAAzI,EAAAmzO,YAAAtzP,IAAA,SAAAnC,GAAyD,OAAA7H,EACzDmqB,EAAAmzO,WAAAz1P,GACAsiB,EAAAszO,UAAA51P,GACAsiB,EAAAtiB,QAKA,SAAAmkQ,GAAA3xO,GACA,OAAAjgB,MAAAvd,UAAAypD,OAAAhhD,MAAA,GAAA+0B,GAGA,IAAA4xO,GACA,oBAAApxC,QACA,kBAAAA,OAAA8N,YAEA,SAAAgjC,GAAAjkQ,GACA,OAAAA,EAAAgjB,YAAAuhP,IAAA,WAAAvkQ,EAAAmzN,OAAA8N,aAOA,SAAAh4I,GAAA3wF,GACA,IAAAksQ,GAAA,EACA,kBACA,IAAA7lN,EAAA,GAAAh9C,EAAA9D,UAAApF,OACA,MAAAkJ,IAAAg9C,EAAAh9C,GAAA9D,UAAA8D,GAEA,IAAA6iQ,EAEA,OADAA,GAAA,EACAlsQ,EAAAsF,MAAA1I,KAAAypD,IAMA,IAAA8lN,GAAA,SAAAlN,EAAAn7K,GACAlnF,KAAAqiQ,SACAriQ,KAAAknF,KAAAsoL,GAAAtoL,GAEAlnF,KAAAkyE,QAAA0wL,EACA5iQ,KAAA8oJ,QAAA,KACA9oJ,KAAAyvQ,OAAA,EACAzvQ,KAAA0vQ,SAAA,GACA1vQ,KAAA2vQ,cAAA,GACA3vQ,KAAA4vQ,SAAA,IA2JA,SAAAJ,GAAAtoL,GACA,IAAAA,EACA,GAAA0/K,EAAA,CAEA,IAAAiJ,EAAAjlQ,SAAAkjQ,cAAA,QACA5mL,EAAA2oL,KAAApsI,aAAA,aAEAv8C,IAAA38E,QAAA,8BAEA28E,EAAA,IAQA,MAJA,MAAAA,EAAAz0E,OAAA,KACAy0E,EAAA,IAAAA,GAGAA,EAAA38E,QAAA,UAGA,SAAAulQ,GACA59L,EACAnuE,GAEA,IAAAgH,EACA5D,EAAAT,KAAAS,IAAA+qE,EAAA3uE,OAAAQ,EAAAR,QACA,IAAAwH,EAAA,EAAaA,EAAA5D,EAAS4D,IACtB,GAAAmnE,EAAAnnE,KAAAhH,EAAAgH,GACA,MAGA,OACAglQ,QAAAhsQ,EAAAm7B,MAAA,EAAAn0B,GACAilQ,UAAAjsQ,EAAAm7B,MAAAn0B,GACAklQ,YAAA/9L,EAAAhzC,MAAAn0B,IAIA,SAAAmlQ,GACAvsB,EACAr1O,EACA1F,EACA4jJ,GAEA,IAAA2jH,EAAAxB,GAAAhrB,EAAA,SAAAirB,EAAAnlI,EAAA5yG,EAAA5rB,GACA,IAAAmlQ,EAAAC,GAAAzB,EAAAtgQ,GACA,GAAA8hQ,EACA,OAAA5yP,MAAAxU,QAAAonQ,GACAA,EAAAhjQ,IAAA,SAAAgjQ,GAAsC,OAAAxnQ,EAAAwnQ,EAAA3mI,EAAA5yG,EAAA5rB,KACtCrC,EAAAwnQ,EAAA3mI,EAAA5yG,EAAA5rB,KAGA,OAAAmkQ,GAAA5iH,EAAA2jH,EAAA3jH,UAAA2jH,GAGA,SAAAE,GACAzB,EACA3jQ,GAMA,MAJA,oBAAA2jQ,IAEAA,EAAArL,EAAA7+P,OAAAkqQ,IAEAA,EAAA/+P,QAAA5E,GAGA,SAAAqlQ,GAAAL,GACA,OAAAC,GAAAD,EAAA,mBAAAM,IAAA,GAGA,SAAAC,GAAAT,GACA,OAAAG,GAAAH,EAAA,oBAAAQ,IAGA,SAAAA,GAAAH,EAAA3mI,GACA,GAAAA,EACA,kBACA,OAAA2mI,EAAA1nQ,MAAA+gI,EAAA9gI,YAKA,SAAA8nQ,GACAT,EACAU,EACAC,GAEA,OAAAT,GAAAF,EAAA,4BAAAI,EAAA1Q,EAAA7oO,EAAA5rB,GACA,OAAA2lQ,GAAAR,EAAAv5O,EAAA5rB,EAAAylQ,EAAAC,KAIA,SAAAC,GACAR,EACAv5O,EACA5rB,EACAylQ,EACAC,GAEA,gBAAApkD,EAAAlkK,EAAAtkD,GACA,OAAAqsQ,EAAA7jD,EAAAlkK,EAAA,SAAAtyB,GACA,oBAAAA,GACA26O,EAAA/9P,KAAA,WAMAk+P,GAAA96O,EAAAc,EAAAgqO,UAAA51P,EAAA0lQ,KAGA5sQ,EAAAgyB,MAKA,SAAA86O,GACA96O,EACA8qO,EACA51P,EACA0lQ,GAGA9P,EAAA51P,KACA41P,EAAA51P,GAAA6lQ,kBAEA/6O,EAAA8qO,EAAA51P,IACG0lQ,KACH1kN,WAAA,WACA4kN,GAAA96O,EAAA8qO,EAAA51P,EAAA0lQ,IACK,IA1RLpB,GAAAtvQ,UAAA8wQ,OAAA,SAAAh7O,GACA/1B,KAAA+1B,MAGAw5O,GAAAtvQ,UAAA+wQ,QAAA,SAAAj7O,EAAAk7O,GACAjxQ,KAAAyvQ,MACA15O,KAEA/1B,KAAA0vQ,SAAA/8P,KAAAojB,GACAk7O,GACAjxQ,KAAA2vQ,cAAAh9P,KAAAs+P,KAKA1B,GAAAtvQ,UAAAixQ,QAAA,SAAAD,GACAjxQ,KAAA4vQ,SAAAj9P,KAAAs+P,IAGA1B,GAAAtvQ,UAAAkxQ,aAAA,SAAAr/K,EAAAs/K,EAAAC,GACA,IAAArN,EAAAhkQ,KAEA8/P,EAAA9/P,KAAAqiQ,OAAAxrO,MAAAi7D,EAAA9xF,KAAAkyE,SACAlyE,KAAAsxQ,kBAAAxR,EAAA,WACAkE,EAAAuN,YAAAzR,GACAsR,KAAAtR,GACAkE,EAAAwN,YAGAxN,EAAAyL,QACAzL,EAAAyL,OAAA,EACAzL,EAAA0L,SAAA7kQ,QAAA,SAAAkrB,GAA6CA,EAAA+pO,OAE1C,SAAAP,GACH8R,GACAA,EAAA9R,GAEAA,IAAAyE,EAAAyL,QACAzL,EAAAyL,OAAA,EACAzL,EAAA2L,cAAA9kQ,QAAA,SAAAkrB,GAAkDA,EAAAwpO,SAKlDgQ,GAAAtvQ,UAAAqxQ,kBAAA,SAAAxR,EAAAsR,EAAAC,GACA,IAAArN,EAAAhkQ,KAEAkyE,EAAAlyE,KAAAkyE,QACAu/L,EAAA,SAAAlS,GACAD,EAAAC,KACAyE,EAAA4L,SAAArsQ,OACAygQ,EAAA4L,SAAA/kQ,QAAA,SAAAkrB,GAA+CA,EAAAwpO,MAE/C1/N,GAAA,6CACAzH,QAAA+B,MAAAolO,KAGA8R,KAAA9R,IAEA,GACAuD,EAAAhD,EAAA5tL,IAEA4tL,EAAA9P,QAAAzsP,SAAA2uE,EAAA89K,QAAAzsP,OAGA,OADAvD,KAAAwxQ,YACAC,IAGA,IAAA9R,EAAAmQ,GAAA9vQ,KAAAkyE,QAAA89K,QAAA8P,EAAA9P,SACA+f,EAAApQ,EAAAoQ,QACAE,EAAAtQ,EAAAsQ,YACAD,EAAArQ,EAAAqQ,UAEAjsG,EAAA,GAAAr6G,OAEA4mN,GAAAL,GAEAjwQ,KAAAqiQ,OAAAqP,YAEAlB,GAAAT,GAEAC,EAAA5iQ,IAAA,SAAAmgB,GAAgC,OAAAA,EAAAq9O,cAEhC6D,GAAAuB,IAGAhwQ,KAAA8oJ,QAAAg3G,EACA,IAAAr8P,EAAA,SAAAq9P,EAAA/8P,GACA,GAAAigQ,EAAAl7G,UAAAg3G,EACA,OAAA2R,IAEA,IACA3Q,EAAAhB,EAAA5tL,EAAA,SAAAq6I,IACA,IAAAA,GAAA+yC,EAAA/yC,IAEAy3C,EAAAwN,WAAA,GACAC,EAAAllD,IAEA,kBAAAA,GACA,kBAAAA,IACA,kBAAAA,EAAA9nJ,MACA,kBAAA8nJ,EAAAj+M,OAIAmjQ,IACA,kBAAAllD,KAAAhiN,QACAy5P,EAAAz5P,QAAAgiN,GAEAy3C,EAAArxP,KAAA45M,IAIAxoN,EAAAwoN,KAGK,MAAAp2M,GACLs7P,EAAAt7P,KAIAq4P,GAAAzqG,EAAAtgK,EAAA,WACA,IAAAkuQ,EAAA,GACAhB,EAAA,WAA+B,OAAA3M,EAAA9xL,UAAA4tL,GAG/B8R,EAAAnB,GAAAT,EAAA2B,EAAAhB,GACA5sG,EAAA6tG,EAAAloN,OAAAs6M,EAAA3B,OAAAwP,cACArD,GAAAzqG,EAAAtgK,EAAA,WACA,GAAAugQ,EAAAl7G,UAAAg3G,EACA,OAAA2R,IAEAzN,EAAAl7G,QAAA,KACAsoH,EAAAtR,GACAkE,EAAA3B,OAAAuK,KACA5I,EAAA3B,OAAAuK,IAAAE,UAAA,WACA6E,EAAA9mQ,QAAA,SAAAkrB,GAA8CA,aAO9Cw5O,GAAAtvQ,UAAAsxQ,YAAA,SAAAzR,GACA,IAAAvzP,EAAAvM,KAAAkyE,QACAlyE,KAAAkyE,QAAA4tL,EACA9/P,KAAA+1B,IAAA/1B,KAAA+1B,GAAA+pO,GACA9/P,KAAAqiQ,OAAAyP,WAAAjnQ,QAAA,SAAAi2P,GACAA,KAAAhB,EAAAvzP,MA4IA,IAAAwlQ,GAAA,SAAAC,GACA,SAAAD,EAAA1P,EAAAn7K,GACA,IAAA88K,EAAAhkQ,KAEAgyQ,EAAAjyQ,KAAAC,KAAAqiQ,EAAAn7K,GAEA,IAAA+qL,EAAA5P,EAAAxyP,QAAAg9P,eACAqF,EAAAlE,IAAAiE,EAEAC,GACAhG,KAGA,IAAAiG,EAAAC,GAAApyQ,KAAAknF,MACAv8E,OAAAkzE,iBAAA,oBAAA1nE,GACA,IAAA+7D,EAAA8xL,EAAA9xL,QAIA4f,EAAAsgL,GAAApO,EAAA98K,MACA88K,EAAA9xL,UAAA0wL,GAAA9wK,IAAAqgL,GAIAnO,EAAAmN,aAAAr/K,EAAA,SAAAguK,GACAoS,GACAxF,GAAArK,EAAAvC,EAAA5tL,GAAA,OAiDA,OA3CA8/L,IAAAD,EAAAM,UAAAL,GACAD,EAAA9xQ,UAAA8I,OAAA+lC,OAAAkjO,KAAA/xQ,WACA8xQ,EAAA9xQ,UAAAC,YAAA6xQ,EAEAA,EAAA9xQ,UAAAqyQ,GAAA,SAAAzkP,GACAljB,OAAAw7P,QAAAmM,GAAAzkP,IAGAkkP,EAAA9xQ,UAAA0S,KAAA,SAAAm/E,EAAAs/K,EAAAC,GACA,IAAArN,EAAAhkQ,KAEA2/P,EAAA3/P,KACAuyQ,EAAA5S,EAAAztL,QACAlyE,KAAAmxQ,aAAAr/K,EAAA,SAAAguK,GACAyO,GAAAnH,EAAApD,EAAA98K,KAAA44K,EAAA0C,WACAkK,GAAA1I,EAAA3B,OAAAvC,EAAAyS,GAAA,GACAnB,KAAAtR,IACKuR,IAGLU,EAAA9xQ,UAAAsK,QAAA,SAAAunF,EAAAs/K,EAAAC,GACA,IAAArN,EAAAhkQ,KAEA2/P,EAAA3/P,KACAuyQ,EAAA5S,EAAAztL,QACAlyE,KAAAmxQ,aAAAr/K,EAAA,SAAAguK,GACAwM,GAAAlF,EAAApD,EAAA98K,KAAA44K,EAAA0C,WACAkK,GAAA1I,EAAA3B,OAAAvC,EAAAyS,GAAA,GACAnB,KAAAtR,IACKuR,IAGLU,EAAA9xQ,UAAAuxQ,UAAA,SAAA7+P,GACA,GAAAy/P,GAAApyQ,KAAAknF,QAAAlnF,KAAAkyE,QAAAswL,SAAA,CACA,IAAAtwL,EAAAk1L,EAAApnQ,KAAAknF,KAAAlnF,KAAAkyE,QAAAswL,UACA7vP,EAAA47P,GAAAr8L,GAAAo6L,GAAAp6L,KAIA6/L,EAAA9xQ,UAAAuyQ,mBAAA,WACA,OAAAJ,GAAApyQ,KAAAknF,OAGA6qL,EA3EA,CA4ECxC,IAED,SAAA6C,GAAAlrL,GACA,IAAAziB,EAAAguM,UAAA9nQ,OAAAmnF,SAAA4gL,UAIA,OAHAxrL,GAAA,IAAAziB,EAAAr5B,QAAA87C,KACAziB,IAAAvlC,MAAAgoD,EAAA3jF,UAEAkhE,GAAA,KAAA95D,OAAAmnF,SAAA6gL,OAAAhoQ,OAAAmnF,SAAAywK,KAKA,IAAAqQ,GAAA,SAAAZ,GACA,SAAAY,EAAAvQ,EAAAn7K,EAAA2rL,GACAb,EAAAjyQ,KAAAC,KAAAqiQ,EAAAn7K,GAEA2rL,GAAAC,GAAA9yQ,KAAAknF,OAGA6rL,KA2EA,OAxEAf,IAAAY,EAAAP,UAAAL,GACAY,EAAA3yQ,UAAA8I,OAAA+lC,OAAAkjO,KAAA/xQ,WACA2yQ,EAAA3yQ,UAAAC,YAAA0yQ,EAIAA,EAAA3yQ,UAAA+yQ,eAAA,WACA,IAAAhP,EAAAhkQ,KAEAqiQ,EAAAriQ,KAAAqiQ,OACA4P,EAAA5P,EAAAxyP,QAAAg9P,eACAqF,EAAAlE,IAAAiE,EAEAC,GACAhG,KAGAvhQ,OAAAkzE,iBAAAmwL,GAAA,mCACA,IAAA97L,EAAA8xL,EAAA9xL,QACA6gM,MAGA/O,EAAAmN,aAAA8B,KAAA,SAAAnT,GACAoS,GACAxF,GAAA1I,EAAA3B,OAAAvC,EAAA5tL,GAAA,GAEA87L,IACAkF,GAAApT,EAAA0C,eAMAoQ,EAAA3yQ,UAAA0S,KAAA,SAAAm/E,EAAAs/K,EAAAC,GACA,IAAArN,EAAAhkQ,KAEA2/P,EAAA3/P,KACAuyQ,EAAA5S,EAAAztL,QACAlyE,KAAAmxQ,aAAAr/K,EAAA,SAAAguK,GACAqT,GAAArT,EAAA0C,UACAkK,GAAA1I,EAAA3B,OAAAvC,EAAAyS,GAAA,GACAnB,KAAAtR,IACKuR,IAGLuB,EAAA3yQ,UAAAsK,QAAA,SAAAunF,EAAAs/K,EAAAC,GACA,IAAArN,EAAAhkQ,KAEA2/P,EAAA3/P,KACAuyQ,EAAA5S,EAAAztL,QACAlyE,KAAAmxQ,aAAAr/K,EAAA,SAAAguK,GACAoT,GAAApT,EAAA0C,UACAkK,GAAA1I,EAAA3B,OAAAvC,EAAAyS,GAAA,GACAnB,KAAAtR,IACKuR,IAGLuB,EAAA3yQ,UAAAqyQ,GAAA,SAAAzkP,GACAljB,OAAAw7P,QAAAmM,GAAAzkP,IAGA+kP,EAAA3yQ,UAAAuxQ,UAAA,SAAA7+P,GACA,IAAAu/D,EAAAlyE,KAAAkyE,QAAAswL,SACAyQ,OAAA/gM,IACAv/D,EAAAwgQ,GAAAjhM,GAAAghM,GAAAhhM,KAIA0gM,EAAA3yQ,UAAAuyQ,mBAAA,WACA,OAAAS,MAGAL,EAlFA,CAmFCrD,IAED,SAAAuD,GAAA5rL,GACA,IAAA4K,EAAAsgL,GAAAlrL,GACA,WAAAsnG,KAAA18F,GAIA,OAHAnnF,OAAAmnF,SAAAvnF,QACA68P,EAAAlgL,EAAA,KAAA4K,KAEA,EAIA,SAAAihL,KACA,IAAAtuM,EAAAwuM,KACA,YAAAxuM,EAAAhyD,OAAA,KAGAygQ,GAAA,IAAAzuM,IACA,GAGA,SAAAwuM,KAGA,IAAA/O,EAAAv5P,OAAAmnF,SAAAoyK,KACArgQ,EAAAqgQ,EAAA94N,QAAA,KAEA,GAAAvnC,EAAA,EAAkB,SAElBqgQ,IAAAhlO,MAAAr7B,EAAA,GAIA,IAAAuvQ,EAAAlP,EAAA94N,QAAA,KACA,GAAAgoO,EAAA,GACA,IAAAlM,EAAAhD,EAAA94N,QAAA,KACyB84N,EAAzBgD,GAAA,EAAyBuL,UAAAvO,EAAAhlO,MAAA,EAAAgoO,IAAAhD,EAAAhlO,MAAAgoO,GACfuL,UAAAvO,QAEVkP,GAAA,IAA2BlP,EAAAuO,UAAAvO,EAAAhlO,MAAA,EAAAk0O,IAAAlP,EAAAhlO,MAAAk0O,IAG3B,OAAAlP,EAGA,SAAAmP,GAAA5uM,GACA,IAAAy/L,EAAAv5P,OAAAmnF,SAAAoyK,KACAn5P,EAAAm5P,EAAA94N,QAAA,KACA87C,EAAAn8E,GAAA,EAAAm5P,EAAAhlO,MAAA,EAAAn0B,GAAAm5P,EACA,OAAAh9K,EAAA,IAAAziB,EAGA,SAAA0uM,GAAA1uM,GACAupM,GACAO,GAAA8E,GAAA5uM,IAEA95D,OAAAmnF,SAAAywK,KAAA99L,EAIA,SAAAyuM,GAAAzuM,GACAupM,GACA1B,GAAA+G,GAAA5uM,IAEA95D,OAAAmnF,SAAAvnF,QAAA8oQ,GAAA5uM,IAMA,IAAA6uM,GAAA,SAAAtB,GACA,SAAAsB,EAAAjR,EAAAn7K,GACA8qL,EAAAjyQ,KAAAC,KAAAqiQ,EAAAn7K,GACAlnF,KAAAkrM,MAAA,GACAlrM,KAAA6D,OAAA,EAiDA,OA9CAmuQ,IAAAsB,EAAAjB,UAAAL,GACAsB,EAAArzQ,UAAA8I,OAAA+lC,OAAAkjO,KAAA/xQ,WACAqzQ,EAAArzQ,UAAAC,YAAAozQ,EAEAA,EAAArzQ,UAAA0S,KAAA,SAAAm/E,EAAAs/K,EAAAC,GACA,IAAArN,EAAAhkQ,KAEAA,KAAAmxQ,aAAAr/K,EAAA,SAAAguK,GACAkE,EAAA94D,MAAA84D,EAAA94D,MAAAhsK,MAAA,EAAA8kO,EAAAngQ,MAAA,GAAA6lD,OAAAo2M,GACAkE,EAAAngQ,QACAutQ,KAAAtR,IACKuR,IAGLiC,EAAArzQ,UAAAsK,QAAA,SAAAunF,EAAAs/K,EAAAC,GACA,IAAArN,EAAAhkQ,KAEAA,KAAAmxQ,aAAAr/K,EAAA,SAAAguK,GACAkE,EAAA94D,MAAA84D,EAAA94D,MAAAhsK,MAAA,EAAA8kO,EAAAngQ,OAAA6lD,OAAAo2M,GACAsR,KAAAtR,IACKuR,IAGLiC,EAAArzQ,UAAAqyQ,GAAA,SAAAzkP,GACA,IAAAm2O,EAAAhkQ,KAEAuzQ,EAAAvzQ,KAAA6D,MAAAgqB,EACA,KAAA0lP,EAAA,GAAAA,GAAAvzQ,KAAAkrM,MAAA3nM,QAAA,CAGA,IAAAu8P,EAAA9/P,KAAAkrM,MAAAqoE,GACAvzQ,KAAAsxQ,kBAAAxR,EAAA,WACAkE,EAAAngQ,MAAA0vQ,EACAvP,EAAAuN,YAAAzR,OAIAwT,EAAArzQ,UAAAuyQ,mBAAA,WACA,IAAAtgM,EAAAlyE,KAAAkrM,MAAAlrM,KAAAkrM,MAAA3nM,OAAA,GACA,OAAA2uE,IAAAswL,SAAA,KAGA8Q,EAAArzQ,UAAAuxQ,UAAA,aAIA8B,EArDA,CAsDC/D,IAMDiE,GAAA,SAAA3jQ,QACA,IAAAA,MAAA,IAEA7P,KAAA4sQ,IAAA,KACA5sQ,KAAAyzQ,KAAA,GACAzzQ,KAAA6P,UACA7P,KAAA0xQ,YAAA,GACA1xQ,KAAA6xQ,aAAA,GACA7xQ,KAAA8xQ,WAAA,GACA9xQ,KAAA0zQ,QAAAtI,GAAAv7P,EAAAg6P,QAAA,GAAA7pQ,MAEA,IAAAmwF,EAAAtgF,EAAAsgF,MAAA,OAUA,OATAnwF,KAAA6yQ,SAAA,YAAA1iL,IAAA69K,KAAA,IAAAn+P,EAAAgjQ,SACA7yQ,KAAA6yQ,WACA1iL,EAAA,QAEAy2K,IACAz2K,EAAA,YAEAnwF,KAAAmwF,OAEAA,GACA,cACAnwF,KAAAmmQ,QAAA,IAAA4L,GAAA/xQ,KAAA6P,EAAAq3E,MACA,MACA,WACAlnF,KAAAmmQ,QAAA,IAAAyM,GAAA5yQ,KAAA6P,EAAAq3E,KAAAlnF,KAAA6yQ,UACA,MACA,eACA7yQ,KAAAmmQ,QAAA,IAAAmN,GAAAtzQ,KAAA6P,EAAAq3E,MACA,MACA,QACU,IAMVysL,GAAA,CAA0BrI,aAAA,CAAgB39O,cAAA,IA6J1C,SAAAimP,GAAAzmQ,EAAA/J,GAEA,OADA+J,EAAAwF,KAAAvP,GACA,WACA,IAAA2H,EAAAoC,EAAAi+B,QAAAhoC,GACA2H,GAAA,GAAiBoC,EAAAkkE,OAAAtmE,EAAA,IAIjB,SAAA8oQ,GAAA3sL,EAAAs7K,EAAAryK,GACA,IAAA1rB,EAAA,SAAA0rB,EAAA,IAAAqyK,IACA,OAAAt7K,EAAAkgL,EAAAlgL,EAAA,IAAAziB,KArKA+uM,GAAAvzQ,UAAA42B,MAAA,SACAiiL,EACA5mI,EACAkwL,GAEA,OAAApiQ,KAAA0zQ,QAAA78O,MAAAiiL,EAAA5mI,EAAAkwL,IAGAuR,GAAArI,aAAA7lQ,IAAA,WACA,OAAAzF,KAAAmmQ,SAAAnmQ,KAAAmmQ,QAAAj0L,SAGAshM,GAAAvzQ,UAAAijB,KAAA,SAAA0pP,GACA,IAAA5I,EAAAhkQ,KAuBA,GAfAA,KAAAyzQ,KAAA9gQ,KAAAi6P,GAIAA,EAAAkH,MAAA,4BAEA,IAAAjwQ,EAAAmgQ,EAAAyP,KAAAroO,QAAAwhO,GACA/oQ,GAAA,GAAqBmgQ,EAAAyP,KAAApiM,OAAAxtE,EAAA,GAGrBmgQ,EAAA4I,UAA6B5I,EAAA4I,IAAA5I,EAAAyP,KAAA,aAK7BzzQ,KAAA4sQ,IAAA,CAIA5sQ,KAAA4sQ,MAEA,IAAAzG,EAAAnmQ,KAAAmmQ,QAEA,GAAAA,aAAA4L,GACA5L,EAAAgL,aAAAhL,EAAAqM,2BACG,GAAArM,aAAAyM,GAAA,CACH,IAAAmB,EAAA,WACA5N,EAAA6M,kBAEA7M,EAAAgL,aACAhL,EAAAqM,qBACAuB,EACAA,GAIA5N,EAAA4K,OAAA,SAAAjR,GACAkE,EAAAyP,KAAA5oQ,QAAA,SAAA+hQ,GACAA,EAAAvG,OAAAvG,QAKA0T,GAAAvzQ,UAAA+zQ,WAAA,SAAA5wQ,GACA,OAAAwwQ,GAAA5zQ,KAAA0xQ,YAAAtuQ,IAGAowQ,GAAAvzQ,UAAAg0Q,cAAA,SAAA7wQ,GACA,OAAAwwQ,GAAA5zQ,KAAA6xQ,aAAAzuQ,IAGAowQ,GAAAvzQ,UAAAi0Q,UAAA,SAAA9wQ,GACA,OAAAwwQ,GAAA5zQ,KAAA8xQ,WAAA1uQ,IAGAowQ,GAAAvzQ,UAAA+wQ,QAAA,SAAAj7O,EAAAk7O,GACAjxQ,KAAAmmQ,QAAA6K,QAAAj7O,EAAAk7O,IAGAuC,GAAAvzQ,UAAAixQ,QAAA,SAAAD,GACAjxQ,KAAAmmQ,QAAA+K,QAAAD,IAGAuC,GAAAvzQ,UAAA0S,KAAA,SAAAm/E,EAAAs/K,EAAAC,GACArxQ,KAAAmmQ,QAAAxzP,KAAAm/E,EAAAs/K,EAAAC,IAGAmC,GAAAvzQ,UAAAsK,QAAA,SAAAunF,EAAAs/K,EAAAC,GACArxQ,KAAAmmQ,QAAA57P,QAAAunF,EAAAs/K,EAAAC,IAGAmC,GAAAvzQ,UAAAqyQ,GAAA,SAAAzkP,GACA7tB,KAAAmmQ,QAAAmM,GAAAzkP,IAGA2lP,GAAAvzQ,UAAA8qM,KAAA,WACA/qM,KAAAsyQ,IAAA,IAGAkB,GAAAvzQ,UAAAihF,QAAA,WACAlhF,KAAAsyQ,GAAA,IAGAkB,GAAAvzQ,UAAAk0Q,qBAAA,SAAA5nD,GACA,IAAAuzC,EAAAvzC,EACAA,EAAAyjC,QACAzjC,EACAvsN,KAAA0lN,QAAA6G,GAAAuzC,MACA9/P,KAAAsrQ,aACA,OAAAxL,EAGA,GAAAp2M,OAAAhhD,MAAA,GAAAo3P,EAAA9P,QAAA5iP,IAAA,SAAAmgB,GACA,OAAAxkB,OAAAitB,KAAAzI,EAAAmzO,YAAAtzP,IAAA,SAAAnC,GACA,OAAAsiB,EAAAmzO,WAAAz1P,QAJA,IASAuoQ,GAAAvzQ,UAAAylN,QAAA,SACA6G,EACAr6I,EACA2wJ,GAEA3wJ,KAAAlyE,KAAAmmQ,QAAAj0L,QACA,IAAA4f,EAAAk5K,GACAz+C,EACAr6I,EACA2wJ,EACA7iO,MAEA8/P,EAAA9/P,KAAA62B,MAAAi7D,EAAA5f,GACAswL,EAAA1C,EAAAsC,gBAAAtC,EAAA0C,SACAt7K,EAAAlnF,KAAAmmQ,QAAAj/K,KACAg9K,EAAA2P,GAAA3sL,EAAAs7K,EAAAxiQ,KAAAmwF,MACA,OACA2B,WACAguK,QACAoE,OAEAkQ,aAAAtiL,EACAk9K,SAAAlP,IAIA0T,GAAAvzQ,UAAAorQ,UAAA,SAAAxB,GACA7pQ,KAAA0zQ,QAAArI,UAAAxB,GACA7pQ,KAAAmmQ,QAAAj0L,UAAA0wL,GACA5iQ,KAAAmmQ,QAAAgL,aAAAnxQ,KAAAmmQ,QAAAqM,uBAIAzpQ,OAAAy3B,iBAAAgzO,GAAAvzQ,UAAA0zQ,IAeAH,GAAAhO,UACAgO,GAAA1tJ,QAAA,QAEA8gJ,GAAAj8P,OAAA86P,KACA96P,OAAA86P,IAAAnjO,IAAAkxO,IAGetlP,EAAA,gCC7lFf,IAAAtvB,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAoBrB,SAAAw1Q,EAAA5qP,EAAA+C,EAAAjS,GACA,IAEAguM,EAFA+rD,EAAA,GACAC,EAAA,mBAAA9qP,EAkCA,OA/BAlP,EAAA8kG,cAAA,kBAAA2nG,GACAutD,GAAA,MAAAhsD,EAKAvB,EAAAuB,EAAA,qBAAA/7L,EAAAle,OAEA04M,EAAAv9L,GAAA+C,EAAAle,MACAi6M,EAAAvB,EAAAuB,WAAA/7L,EAAAle,OAGA,IAAAkmQ,EAAAxtD,EAAAxsM,UACAhb,EAAA2nB,KAAAqtP,EAAA,SAAA7wP,GACA,IAAArV,EAAAqV,EAAAle,IAAA,QAEA,UAAA6I,GAAA,KAAAA,EAAA,CAIA,IAAAmmQ,EAAAztD,EAAAuB,WAAAj6M,GAEAgmQ,EAAAppQ,eAAAoD,GAEAgmQ,EAAAhmQ,GAAAgmQ,EAAAhmQ,IAAAmmQ,EAEAH,EAAAhmQ,GAAAmmQ,OAKA,CACAnmQ,KAAAke,EAAAle,KACAwyM,SAAAwzD,GAYA11Q,EAAA0tB,eAAA,2CAAA9sB,EAAAmqB,MAAA0qP,EAAA,mBAQAz1Q,EAAA0tB,eAAA,gCAAA9sB,EAAAmqB,MAAA0qP,EAAA,WAQAz1Q,EAAA0tB,eAAA,oCAAA9sB,EAAAmqB,MAAA0qP,EAAA,qCCxFA,IAAAz1Q,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAER,IAAAE,EAAmBF,EAAQ,QAE3By0L,EAAmBz0L,EAAQ,QAE3B61Q,EAAiB71Q,EAAQ,QAEzBA,EAAQ,QAqBRD,EAAAO,eAAAJ,EAAA,yBACAH,EAAAQ,eAAAk0L,EAAA,SAEA10L,EAAAS,kBAAAT,EAAA+1Q,SAAAC,UAAAC,UAAAH,EAAA,gCCvDE,SAAAv+P,GAAa,aAAa,IAAAiG,EAAAxR,SAAA6iB,EAAA,CAAkBL,QAAA,GAAUuqC,OAAA,GAAUm9M,QAAA,GAAA39P,MAAA,IAAqB0W,EAAA,WAAc7tB,KAAAmd,EAAA,SAAeyB,EAAA,WAAc,IAAAzI,EAAAiG,EAAA24P,cAAA34P,EAAA24P,cAAA79O,IAAA,WAAqD,QAAA/gB,EAAAsX,EAAArR,EAAA44P,QAAAnnP,EAAAJ,EAAAlqB,OAAA,EAAAqb,EAAAiP,EAAuCjP,EAAA,EAAIA,IAAA,mBAAA6O,EAAA7O,GAAAq2P,WAAA,CAAwC9+P,EAAAsX,EAAA7O,GAAAsY,IAAW,MAAM,OAAA/gB,GAAAsX,EAAAI,GAAAqJ,IAAzJ,GAA+K,OAAA/gB,EAAAzE,UAAA,EAAAyE,EAAAoiL,YAAA,QAA7L,GAAwOxtL,EAAA,SAAAqR,GAAiBjG,EAAAiiB,iBAAA+B,OAAA/B,QAAA+B,MAAA,eAAA/d,IAA0D7T,EAAA,oBAAA2sQ,OAAA,mBAAAA,MAAApsQ,WAAAioF,EAAA,CAAqEzzB,MAAA,gBAAA63M,QAAA,kBAAAC,QAAA,kBAAAC,OAAA,iBAAAC,MAAA,gBAAAC,QAAA,kBAAAC,KAAA,eAAAC,OAAA,iBAAAC,SAAA,mBAAA1vE,KAAA,eAAA2vE,MAAA,gBAAAj/D,QAAA,kBAAAx7L,KAAA,eAAA06P,YAAA,sBAAAC,OAAA,iBAAAC,SAAA,mBAAAC,KAAA,eAAAnkP,KAAA,eAAAsY,KAAA,eAAA8rO,OAAA,iBAAAC,OAAA,iBAAAC,YAAA,gBAAghBroP,EAAA5tB,UAAAoiC,MAAA5U,EAAAI,EAAA5tB,UAAAs6B,OAAA,SAAApkB,EAAAiG,GAAqD,IAAAyR,EAAA7tB,KAAA4e,EAAA,mBAAAzI,EAAApL,EAAA,WAA+C,IAAAoL,EAAA,SAAAA,EAAAiG,GAAoB+5P,MAAAhgQ,GAAAiG,EAAAqR,EAAAkqC,OAAAxhD,IAAA,GAA2B,yBAAAiG,KAAA,SAAAyR,EAAAjP,GAA4CzI,EAAA0X,EAAAjP,GAAA6O,EAAA4kD,SAAAxkD,GAAA,WAAgCzR,EAAAjG,MAAMnW,MAAQ,OAAA4e,IAAAxC,EAAAjG,IAAA,KAAAggQ,MAAA,cAAAA,MAAA,gBAAAprQ,EAAAhL,KAAA8tB,MAAAyU,IAAAnsB,EAAApL,GAAA8iB,IAAyFA,EAAA5tB,UAAAqiC,IAAA,SAAAnsB,EAAA0X,EAAA7iB,GAAiC,SAAAijB,EAAA9X,EAAAiG,GAAgB,IAAAyR,EAAA,kBAAApjB,UAAA2rQ,SAAA,oCAA8E,SAAAjgQ,EAAAhW,MAAA0tB,EAAA2gK,MAAAr4K,EAAAovP,eAAApvP,EAAAkgQ,YAAApB,eAAAxnP,EAAAL,QAAAxpB,GAAAwY,EAAAI,EAAA8jN,YAAAnjN,GAAA,SAAAyB,IAAqH,QAAA2O,EAAA,IAAAE,EAAAqnP,QAAA,EAAA/pQ,EAAAnH,EAAA,+BAAA6pB,EAAAkqC,OAAA/zD,GAAA6E,IAAAwjD,WAAArtC,EAAA,IAArH,IAAuN,SAAAnW,IAAauC,EAAA2H,KAAAwjQ,MAAAvyQ,IAAAuS,EAAA5S,OAAA,EAAAtB,EAAAqgC,IAAAnsB,EAAA+oB,MAAA,GAAArR,EAAA7iB,GAAA,mBAAA6iB,KAAAnlB,MAAAytQ,MAAAnrQ,GAAyF,IAAA/I,EAAAjC,KAAA8gB,EAAA2M,EAAAiM,IAAAjM,EAAAiM,IAAAjM,EAAAiM,IAAA9a,EAAApC,EAAAJ,EAAA2jN,qBAAA,WAAqE5pN,EAAA,iBAAAA,EAAA,CAAAA,KAAAxL,OAAA2rQ,eAAAlzQ,GAAAwS,KAAA3T,EAAAklB,KAAAhR,EAAA,SAAAiG,EAAAqR,GAAgF,WAAAA,GAAAtX,EAAAk7D,OAAAj1D,EAAA,KAA4B+5P,MAAAH,OAAAG,MAAAI,EAAAD,QAA+B,IAAA1yQ,EAAAuS,EAAA,GAAAoX,EAAA,EAAe,GAAAviB,KAAA,GAAAyiB,EAAAooL,KAAApoL,EAAAooL,OAAA/0L,EAAA+V,MAAA,2BAAAi7D,SAAA+jH,KAAA,aAAA1/L,EAAA5S,QAAA4yQ,MAAA,cAAAplL,EAAAntF,KAAAuyQ,MAAA,cAAAA,MAAA,iBAAAplL,EAAAntF,GAAA,OAAA6E,IAAAxG,EAA2L,GAAAwrB,EAAAL,QAAAxpB,IAAA,SAAAgoD,IAA8B,QAAAr+B,EAAA,IAAAE,EAAAqnP,QAAA,EAAA/pQ,EAAAnH,EAAA,gDAAA6pB,EAAAL,QAAAxpB,IAAA6pB,EAAAkqC,OAAA/zD,GAAA6E,IAAAwjD,WAAAL,EAAA,IAA9B,OAA8J,CAAK,IAAAzuC,EAAAf,EAAAyZ,cAAA,UAAA9U,GAAAgwE,EAAAntF,GAAAkd,EAAA,iBAAyD0tK,KAAAvsL,EAAAmrB,QAAAxpB,IAAA,GAAA6pB,EAAAy5D,MAAA,KAAAjlF,EAAAmrB,QAAAxpB,OAAA,MAA4Dmd,IAAAxW,QAAA,UAAoB,IAAA4S,EAAAq5P,OAAA,EAAAr5P,EAAAs5P,QAAA,QAAAt5P,EAAA+Z,IAAAnW,EAAA,WAAsD,IAAA5K,GAAA,IAAAsX,EAAAq4F,QAAAr4F,EAAAtQ,IAAA,IAAA6a,MAAAmyK,UAAA18K,EAAAq4F,SAAA,GAA6D,OAAA3vG,EAAA,MAAAA,EAAA,GAAnH,GAAuIqG,EAAA4jN,YAAAjjN,MAAAu5P,aAAAv5P,EAAAu5P,YAAA5tQ,UAAAqU,EAAAu5P,YAAA5tQ,WAAAsiC,QAAA,mBAAA7iC,EAAA4U,EAAA0gE,iBAAA,gBAAA1nE,GAAwJ8X,EAAA9X,EAAA4K,KAAO,GAAA5D,EAAAu5P,YAAA,8BAAAvgQ,GAAoD8X,EAAA9X,EAAA4K,KAAO0M,EAAAL,QAAAxpB,GAAAmd,EAAiB,OAAA9e,GAAS4rB,EAAA5tB,UAAA02Q,SAAA,SAAAv6P,EAAAqR,GAAoC,IAAAI,EAAAzR,EAAAsiO,aAAAtiO,EAAAsiO,aAAAvoO,EAAAygQ,iBAAAx6P,EAAA,MAA+D,OAAAyR,IAAAgpP,iBAAA,mCAAAppP,IAAkEI,EAAA5tB,UAAAsmF,KAAA,SAAApwE,EAAA0X,EAAAjP,GAAkC,IAAArW,EAAAvI,KAAA+wF,EAAA30E,EAAAyZ,cAAA,QAAA7qB,EAAAoR,EAAA2jN,qBAAA,WAAyE,iBAAAlyM,IAAAjP,EAAAiP,GAA0B,IAAAI,GAAArP,GAAAzI,GAAA5L,QAAA,aAAA9B,EAAAsoF,EAAA9kE,GAAA,YAAAgC,EAAAhsB,EAAA,EAA2D,OAAA8uF,EAAA+lL,IAAA,aAAA/lL,EAAAmzK,KAAA/tP,GAAAsX,EAAAspP,MAAA,WAAA/+O,MAAAmyK,UAAA,IAAAp5G,EAAAimL,MAAA,MAAA56P,EAAA66P,eAAAxuQ,IAAAuC,EAAAo1N,YAAArvI,GAAA,mBAAAljE,EAAAtlB,GAAA,SAAAuY,IAAoK,QAAA7e,EAAA,IAAAwrB,EAAAqnP,QAAA,IAAA/pQ,EAAAoL,EAAA,wBAAAhD,SAAA5K,EAAAouQ,SAAAv6P,EAAA66P,eAAAxuQ,GAAA,qBAAqHolB,IAArH,GAAyHo+B,WAAAnrC,EAAA,MAA7R,GAAmTvY,IAAMklB,EAAA4kD,SAAA,GAAcxkD,EAAA5tB,UAAAitB,QAAA,SAAA/W,GAAiC,GAAAggQ,MAAAhgQ,GAAA,yBAAAsX,EAAA4kD,SAAAl8D,GAAAsX,EAAA4kD,SAAAl8D,GAAA,MAAsE0X,EAAA5tB,UAAAi3Q,OAAA,SAAA/gQ,EAAAiG,EAAAyR,GAAoC,OAAAsoP,MAAA5vL,KAAA94D,EAAAiM,IAAA,OAAAvjB,EAAAiG,EAAAyR,IAAsCA,EAAA5tB,UAAAyrE,IAAA,SAAAv1D,EAAAiG,EAAAqR,GAAiC,IAAAI,EAAA,IAAA2D,MAAgB,OAAA3D,EAAAqJ,IAAA/gB,EAAA0X,EAAAyZ,SAAAlrB,EAAAyR,MAAAoJ,OAAA,WAAoDpJ,EAAAoJ,OAAA,wBAAA7a,KAAAyR,SAAyCA,EAAA8Z,QAAA,SAAAxxB,GAA4B0X,EAAA8Z,QAAA,wBAAAla,KAAAtX,OAA6C0X,EAAA5tB,UAAA+5L,OAAA,SAAA7jL,GAAwC,QAAAiG,KAARjG,KAAA,GAAQA,EAAAsX,EAAArR,GAAAjG,EAAAiG,GAAyB,OAAApc,MAAY6tB,EAAA5tB,UAAAmtB,QAAA,WAAgC,IAAAjX,EAAA,GAAS,QAAAiG,KAAA20E,EAAA56E,EAAAiG,GAAA20E,EAAA30E,GAAyB,OAAAjG,EAAlE,GAA2E0X,EAAA5tB,UAAAyE,OAAA,SAAAyR,GAAkC,IAAAiG,EAAApc,KAAmB,QAAAytB,KAARtX,KAAA,GAAQA,EAAAiG,EAAAqR,IAAArR,EAAAgR,QAAAK,GAAA1iB,EAAA,OAAA0iB,EAAA,SAAArR,EAAAgR,QAAAK,GAAAtX,EAAAsX,GAAwE,OAAArR,GAASyR,EAAA5tB,UAAAoiQ,OAAA,SAAAlsP,GAAgC,IAAAiG,EAAApc,KAAAytB,GAAAtX,KAAA27E,SAAAywK,KAAA,CAAiC99L,KAAA,GAAAkuM,OAAA,GAAiBpQ,MAAApsP,EAAA0gB,MAAA,4BAA0C,aAAA23J,KAAAr4K,QAAA5L,QAAA,WAAAkjB,EAAAy2O,KAAA,IAAA/tP,MAAA5L,QAAA,qBAAAkE,MAAA,SAAA2N,EAAA+K,KAAAhR,EAAA,SAAAA,EAAAiG,GAAiI,QAAAoyK,KAAApyK,GAAA,WAA2BA,IAAA3N,MAAA,KAAAgf,EAAAklP,OAAAv2P,EAAA,IAAAA,EAAA,GAA3B,GAA8DqR,EAAAg3C,KAAA9xD,KAAAyJ,KAAkBqR,MAAOI,EAAA5tB,UAAAsL,KAAA,SAAA6Q,EAAAqR,EAAAI,GAAkC,GAAAzR,KAAA,QAAAyR,KAAAspP,aAAAhhQ,EAAAq4J,MAAAr4J,EAAAq4J,KAAAp1I,MAAA,CAAwD,UAAA3L,EAAA,cAAAI,EAAAzR,GAA+BqR,EAAA,iBAAAA,IAAA,CAAwBxiB,IAAAwiB,GAAO,IAAI,IAAA7O,EAAA4vJ,KAAAp1I,MAAAvL,EAAAzR,IAAuB,MAAArR,GAAS6T,EAAA,GAAS,gBAAA6O,IAAA7O,EAAA6O,EAAAxiB,KAAAwiB,EAAAxpB,OAAAwpB,EAAAjhB,eAAAoS,EAAA6O,EAAAxiB,KAAA4iB,EAAAzR,GAAAoyJ,KAAAz0C,UAAAn7G,GAAA6O,EAAAxiB,IAAA2T,EAAA6O,EAAAxiB,KAAA2T,IAAyGiP,EAAA5tB,UAAAm3Q,YAAA,SAAAjhQ,EAAAiG,GAAuC,OAAApc,KAAAuL,KAAA4K,EAAAiG,EAAAi7P,iBAAqCxpP,EAAA5tB,UAAAq3Q,OAAA,SAAAl7P,GAAgC,IAAAqR,EAAAhjB,UAAAyjQ,UAAAx0I,cAAA7rG,EAAA,SAAA1X,GAAsD,IAAAiG,EAAA,IAAA0+M,OAAA3kN,EAAA,oBAAuC,OAAAA,GAAAsX,EAAAoJ,MAAAza,IAAA,OAAAjG,IAAA,GAAmCyI,EAAA,CAAI24P,GAAA,WAAc,gBAAA/oF,KAAA/gK,GAAA,kBAAA+gK,KAAA/gK,GAAA,+BAAA+gK,KAAA/gK,GAAA,YAAA+gK,KAAA/gK,GAAA,aAAd,GAAwI+pP,GAAA,WAAiB,SAAArhQ,EAAAshQ,eAAA,kBAAAthQ,MAAAsX,EAAAoJ,MAAA,8BAAjB,GAAyG6gP,OAAA7pP,EAAA,mBAA+B,OAAAzR,IAAAwC,EAAAxC,KAAAwC,EAAAxC,GAAAyR,EAAAzR,IAAAwC,EAAA+4P,QAAA,UAAAnpF,KAAA/gK,GAAA7O,EAAAg5P,IAAA,QAAAh5P,EAAA24P,GAAA34P,GAA8EiP,EAAA5tB,UAAA43Q,KAAA,WAA6B,OAAO19O,MAAApvB,IAAS8iB,EAAA5tB,UAAAknB,KAAA,SAAAhR,EAAAiG,GAAgC,IAAAqR,EAAAI,EAAA7tB,KAAa,sBAAAoc,EAAA,OAAAyR,EAAiC,GAAA1X,KAAA,GAAAA,EAAAjW,cAAA6I,QAAmC,IAAA0kB,KAAAtX,EAAA,GAAAiG,EAAArc,KAAAoW,EAAAsX,KAAAtX,EAAAsX,IAAA,WAAwC,IAAAA,EAAA,EAAaA,EAAAtX,EAAA5S,SAAA6Y,EAAArc,KAAAoW,EAAAsX,KAAAtX,EAAAsX,IAAiCA,KAAK,OAAAI,GAASA,EAAA5tB,UAAAg2B,KAAA,SAAA9f,EAAAiG,EAAAqR,GAAkC,IAAAI,EAAA2gJ,KAAAp1I,MAAAo1I,KAAAz0C,UAAA5jH,GAAA,KAAwC,OAAAiG,GAAAyR,EAAAoI,KAAA,SAAA9f,EAAAsX,GAA+B,IAAAI,EAAA,UAAAjP,EAAAzI,EAAAiG,GAAArR,EAAA0iB,EAAArR,GAA8B,OAAAyR,EAAA2gK,KAAA5vK,OAAA2sB,WAAA3sB,IAAAiP,EAAA2gK,KAAAzjL,OAAAwgC,WAAAxgC,IAAA6T,IAAA7T,EAAA,GAAA6T,GAAA7T,GAAA,EAAA6T,EAAA7T,EAAA,EAAA6T,EAAA7T,GAAA,MAAiG0iB,GAAAI,EAAA2+H,UAAA3+H,MAAsBA,EAAA5tB,UAAA63Q,MAAA,SAAA17P,GAA+BA,KAAAjG,EAAAgB,MAAa,IAAIiF,EAAA27P,kBAAoB,MAAAtqP,GAASrR,EAAAwwG,cAAA,IAAmB/+F,EAAA5tB,UAAA+3Q,QAAA,SAAA7hQ,EAAAiG,EAAAqR,GAAqC,uBAAAtX,GAAA,mBAAAsX,EAAAztB,KAAA6tB,EAAA1W,MAAAhB,EAAAiG,EAAA,KAAAqR,IAAwEI,EAAA5tB,UAAAkX,MAAA0W,EAAA1W,MAAA,SAAAhB,EAAAiG,EAAAyR,EAAAjP,GAA6C,IAAA7T,EAAA/K,KAAAuI,EAAA,KAAAwoF,EAAA30E,EAAAya,MAAA,iBAAA7rB,GAAAmL,EAAA,IAAAiG,GAAA7R,QAAAwmF,EAAA,OAAA9iE,EAAA8iE,EAAA,OAAAtoF,EAAA,SAAA0N,EAAAiG,GAAqG,IAAAqR,EAAArR,KAAArc,KAAAgL,EAAA8iB,IAAqB,IAAAJ,GAAA,OAAAllB,OAAA,IAA0B,OAAAqW,GAAA6O,EAAAtW,MAAAnM,GAAAyiB,EAAAtW,MAAAnM,IAAA,GAAmCyiB,EAAAtW,MAAAnM,GAAAijB,GAAA,CAAArP,GAAA5e,OAAAm2Q,MAAAhvP,KAAAsG,EAAAtW,MAAAnM,GAAA,SAAAmL,EAAAiG,GAA8D,cAAU6R,OAAAkoP,MAAAhvP,KAAA/K,EAAA3T,IAAA,KAAA0N,GAAAggQ,MAAAhvP,KAAA/K,EAAA3T,QAAAwlB,GAAA9X,IAAA8X,GAAAkoP,MAAAhvP,KAAA/K,EAAA3T,OAAqFF,IAAK4N,EAAAggQ,MAAA,IAAAtoP,EAAl7M,CAAi8MljB,6CC0Cn8M,IAAAq6G,EAEA,qBAAAr6G,OACAq6G,EAAAr6G,OAAA0W,QAEA,qBAAA6pC,IACA85D,EAAA95D,EAAA7pC,SAGA,qBAAA2jG,IACAA,GAAA,GAGA,IAAA3jG,EAAA2jG,EACAriH,EAAA0e,uDCrDA,IAAAilC,EAAA,CACAC,oBAAA,EACAC,kBAAA,EACAC,gBAAA,EACAC,iBAAA,EACAC,0BAAA,EACAC,yBAAA,EAEAC,iBAAA,EACAC,kBAAA,GAEAC,EAAA,CACAC,qBAAA,EACAC,sBAAA,EACAC,6BAAA,EACAC,sBAAA,EACAC,uBAAA,EACAC,sBAAA,EACAC,uBAAA,EACAC,wBAAA,EACAC,wBAAA,GAEAC,EAAA1+C,OAAA9I,UAAA6I,SACA4+C,EAAAlqC,MAAAvd,UACA0nD,EAAAD,EAAA78C,QACA+8C,EAAAF,EAAAG,OACAC,EAAAJ,EAAAxoB,MACA6oB,EAAAL,EAAAt6C,IACA46C,EAAAN,EAAAvhC,OAEA/X,EAAA,GAEA,SAAAC,EAAAC,EAAAlL,GAEA,iBAAAkL,IACA25C,EAAA,MAGA75C,EAAAE,GAAAlL,EAoBA,SAAAmS,EAAA0kB,GACA,SAAAA,GAAA,kBAAAA,EACA,OAAAA,EAGA,IAAAv2B,EAAAu2B,EACAiuB,EAAAT,EAAA1nD,KAAAk6B,GAEA,sBAAAiuB,GACA,IAAAC,EAAAluB,GAAA,CACAv2B,EAAA,GAEA,QAAAqH,EAAA,EAAA0B,EAAAwtB,EAAA12B,OAA0CwH,EAAA0B,EAAS1B,IACnDrH,EAAAqH,GAAAwK,EAAA0kB,EAAAlvB,UAGG,GAAAg8C,EAAAmB,IACH,IAAAC,EAAAluB,GAAA,CACA,IAAAmuB,EAAAnuB,EAAA/5B,YAEA,GAAA+5B,EAAA/5B,YAAAmoD,KACA3kD,EAAA0kD,EAAAC,KAAApuB,OACO,CACPv2B,EAAA,IAAA0kD,EAAAnuB,EAAA12B,QAEA,IAAAwH,EAAA,EAAA0B,EAAAwtB,EAAA12B,OAA4CwH,EAAA0B,EAAS1B,IACrDrH,EAAAqH,GAAAwK,EAAA0kB,EAAAlvB,WAIG,IAAAu7C,EAAA4B,KAAAC,EAAAluB,KAAAquB,EAAAruB,GAGH,QAAAhvB,KAFAvH,EAAA,GAEAu2B,EACAA,EAAA/uB,eAAAD,KACAvH,EAAAuH,GAAAsK,EAAA0kB,EAAAhvB,KAKA,OAAAvH,EAUA,SAAAyH,EAAAkL,EAAA4jB,EAAAsuB,GAGA,IAAA3+C,EAAAqwB,KAAArwB,EAAAyM,GACA,OAAAkyC,EAAAhzC,EAAA0kB,GAAA5jB,EAGA,QAAApL,KAAAgvB,EACA,GAAAA,EAAA/uB,eAAAD,GAAA,CACA,IAAAu9C,EAAAnyC,EAAApL,GACAw9C,EAAAxuB,EAAAhvB,IAEArB,EAAA6+C,KAAA7+C,EAAA4+C,IAAAx/C,EAAAy/C,IAAAz/C,EAAAw/C,IAAAF,EAAAG,IAAAH,EAAAE,IAAAE,EAAAD,IAAAC,EAAAF,IAAAL,EAAAM,IAAAN,EAAAK,IAGOD,GAAAt9C,KAAAoL,IAGPA,EAAApL,GAAAsK,EAAA0kB,EAAAhvB,IAAA,IAJAE,EAAAq9C,EAAAC,EAAAF,GASA,OAAAlyC,EASA,SAAAsyC,EAAAC,EAAAL,GAGA,IAFA,IAAA7kD,EAAAklD,EAAA,GAEA79C,EAAA,EAAA0B,EAAAm8C,EAAArlD,OAAgDwH,EAAA0B,EAAS1B,IACzDrH,EAAAyH,EAAAzH,EAAAklD,EAAA79C,GAAAw9C,GAGA,OAAA7kD,EASA,SAAAgB,EAAA2R,EAAA4jB,GACA,QAAAhvB,KAAAgvB,EACAA,EAAA/uB,eAAAD,KACAoL,EAAApL,GAAAgvB,EAAAhvB,IAIA,OAAAoL,EAUA,SAAAf,EAAAe,EAAA4jB,EAAA4uB,GACA,QAAA59C,KAAAgvB,EACAA,EAAA/uB,eAAAD,KAAA49C,EAAA,MAAA5uB,EAAAhvB,GAAA,MAAAoL,EAAApL,MACAoL,EAAApL,GAAAgvB,EAAAhvB,IAIA,OAAAoL,EAGA,IASA4xC,EATAa,EAAA,WACA,OAAA16C,EAAA06C,gBAUA,SAAAl7C,IAOA,OANAq6C,IAGAA,EAAAa,IAAAl7C,WAAA,OAGAq6C,EAQA,SAAA7c,EAAAhO,EAAAn5B,GACA,GAAAm5B,EAAA,CACA,GAAAA,EAAAgO,QACA,OAAAhO,EAAAgO,QAAAnnC,GAGA,QAAA8G,EAAA,EAAA0B,EAAA2wB,EAAA75B,OAAuCwH,EAAA0B,EAAS1B,IAChD,GAAAqyB,EAAAryB,KAAA9G,EACA,OAAA8G,EAKA,SAWA,SAAAvI,EAAAumD,EAAAC,GACA,IAAAC,EAAAF,EAAA9oD,UAEA,SAAAipD,KAKA,QAAAC,KAHAD,EAAAjpD,UAAA+oD,EAAA/oD,UACA8oD,EAAA9oD,UAAA,IAAAipD,EAEAD,EACAF,EAAA9oD,UAAAkpD,GAAAF,EAAAE,GAGAJ,EAAA9oD,UAAAC,YAAA6oD,EACAA,EAAAK,WAAAJ,EAUA,SAAApwC,EAAAvC,EAAA4jB,EAAA4uB,GACAxyC,EAAA,cAAAA,IAAApW,UAAAoW,EACA4jB,EAAA,cAAAA,IAAAh6B,UAAAg6B,EACA3kB,EAAAe,EAAA4jB,EAAA4uB,GAQA,SAAAQ,EAAA99C,GACA,GAAAA,EAIA,wBAAAA,GAIA,kBAAAA,EAAAhI,OAWA,SAAA4jB,EAAArc,EAAAirB,EAAArS,GACA,GAAA5Y,GAAAirB,EAIA,GAAAjrB,EAAAD,SAAAC,EAAAD,UAAA88C,EACA78C,EAAAD,QAAAkrB,EAAArS,QACG,GAAA5Y,EAAAvH,UAAAuH,EAAAvH,OACH,QAAAwH,EAAA,EAAA0B,EAAA3B,EAAAvH,OAAqCwH,EAAA0B,EAAS1B,IAC9CgrB,EAAAh2B,KAAA2jB,EAAA5Y,EAAAC,KAAAD,QAGA,QAAAG,KAAAH,EACAA,EAAAI,eAAAD,IACA8qB,EAAAh2B,KAAA2jB,EAAA5Y,EAAAG,KAAAH,GAeA,SAAAsC,EAAAtC,EAAAirB,EAAArS,GACA,GAAA5Y,GAAAirB,EAAA,CAIA,GAAAjrB,EAAAsC,KAAAtC,EAAAsC,MAAA26C,EACA,OAAAj9C,EAAAsC,IAAA2oB,EAAArS,GAIA,IAFA,IAAAhgB,EAAA,GAEAqH,EAAA,EAAA0B,EAAA3B,EAAAvH,OAAqCwH,EAAA0B,EAAS1B,IAC9CrH,EAAAiP,KAAAojB,EAAAh2B,KAAA2jB,EAAA5Y,EAAAC,KAAAD,IAGA,OAAApH,GAaA,SAAAyiB,EAAArb,EAAAirB,EAAAuzB,EAAA5lC,GACA,GAAA5Y,GAAAirB,EAAA,CAIA,GAAAjrB,EAAAqb,QAAArb,EAAAqb,SAAA6hC,EACA,OAAAl9C,EAAAqb,OAAA4P,EAAAuzB,EAAA5lC,GAEA,QAAA3Y,EAAA,EAAA0B,EAAA3B,EAAAvH,OAAqCwH,EAAA0B,EAAS1B,IAC9Cu+C,EAAAvzB,EAAAh2B,KAAA2jB,EAAA4lC,EAAAx+C,EAAAC,KAAAD,GAGA,OAAAw+C,GAaA,SAAAzB,EAAA/8C,EAAAirB,EAAArS,GACA,GAAA5Y,GAAAirB,EAAA,CAIA,GAAAjrB,EAAA+8C,QAAA/8C,EAAA+8C,SAAAD,EACA,OAAA98C,EAAA+8C,OAAA9xB,EAAArS,GAIA,IAFA,IAAAhgB,EAAA,GAEAqH,EAAA,EAAA0B,EAAA3B,EAAAvH,OAAqCwH,EAAA0B,EAAS1B,IAC9CgrB,EAAAh2B,KAAA2jB,EAAA5Y,EAAAC,KAAAD,IACApH,EAAAiP,KAAA7H,EAAAC,IAIA,OAAArH,GAaA,SAAA6lD,EAAAz+C,EAAAirB,EAAArS,GACA,GAAA5Y,GAAAirB,EAIA,QAAAhrB,EAAA,EAAA0B,EAAA3B,EAAAvH,OAAmCwH,EAAA0B,EAAS1B,IAC5C,GAAAgrB,EAAAh2B,KAAA2jB,EAAA5Y,EAAAC,KAAAD,GACA,OAAAA,EAAAC,GAYA,SAAAnC,EAAA4gD,EAAA9lC,GACA,IAAA+lC,EAAA3B,EAAA/nD,KAAA4I,UAAA,GACA,kBACA,OAAA6gD,EAAA9gD,MAAAgb,EAAA+lC,EAAAC,OAAA5B,EAAA/nD,KAAA4I,cAUA,SAAAghB,EAAA6/B,GACA,IAAAC,EAAA3B,EAAA/nD,KAAA4I,UAAA,GACA,kBACA,OAAA6gD,EAAA9gD,MAAA1I,KAAAypD,EAAAC,OAAA5B,EAAA/nD,KAAA4I,cAUA,SAAAK,EAAA/E,GACA,yBAAAwjD,EAAA1nD,KAAAkE,GASA,SAAA+F,EAAA/F,GACA,0BAAAA,EASA,SAAAwF,EAAAxF,GACA,0BAAAwjD,EAAA1nD,KAAAkE,GASA,SAAA2F,EAAA3F,GAGA,IAAA9D,SAAA8D,EACA,mBAAA9D,KAAA8D,GAAA,WAAA9D,EASA,SAAAuoD,EAAAzkD,GACA,QAAAqiD,EAAAmB,EAAA1nD,KAAAkE,IASA,SAAA2gB,EAAA3gB,GACA,QAAA8iD,EAAAU,EAAA1nD,KAAAkE,IASA,SAAAqkD,EAAArkD,GACA,wBAAAA,GAAA,kBAAAA,EAAA0lD,UAAA,kBAAA1lD,EAAA2lD,cASA,SAAAC,EAAA5lD,GACA,OAAAA,MAUA,SAAA44B,EAAAitB,GACA,QAAA/+C,EAAA,EAAA0B,EAAA9D,UAAApF,OAAyCwH,EAAA0B,EAAS1B,IAClD,SAAApC,UAAAoC,GACA,OAAApC,UAAAoC,GAKA,SAAA8C,EAAAk8C,EAAAC,GACA,aAAAD,IAAAC,EAGA,SAAAl8C,EAAAi8C,EAAAC,EAAAC,GACA,aAAAF,IAAA,MAAAC,IAAAC,EAWA,SAAA/qB,IACA,OAAAgrB,SAAAnqD,KAAA2I,MAAAo/C,EAAAn/C,WAaA,SAAAwhD,EAAAlhD,GACA,qBAAAA,EACA,OAAAA,SAGA,IAAAwD,EAAAxD,EAAA1F,OAEA,WAAAkJ,EAEA,CAAAxD,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACG,IAAAwD,EAEH,CAAAxD,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IAGAA,EASA,SAAAmhD,EAAAC,EAAAC,GACA,IAAAD,EACA,UAAA1c,MAAA2c,GAUA,SAAAjgD,EAAAC,GACA,aAAAA,EACA,KACG,oBAAAA,EAAAD,KACHC,EAAAD,OAEAC,EAAAC,QAAA,yCAnaA6D,EAAA06C,aAAA,WACA,OAAAl+C,SAAAirB,cAAA,WAsaA,IAAA00B,EAAA,mBAKA,SAAAC,EAAA1/C,GACAA,EAAAy/C,IAAA,EAGA,SAAApC,EAAAr9C,GACA,OAAAA,EAAAy/C,GAQA,SAAAE,EAAA3/C,GACA,IAAA4/C,EAAA1hD,EAAA8B,GAGA9K,KAAAuL,KAAA,GACA,IAAAo/C,EAAA3qD,KAGA,SAAA4qD,EAAA3mD,EAAAgH,GACAy/C,EAAAC,EAAAv3B,IAAAnvB,EAAAgH,GAAA0/C,EAAAv3B,IAAAnoB,EAAAhH,GAHA6G,aAAA2/C,EAAA3/C,EAAAqc,KAAAyjC,GAAA9/C,GAAAqc,EAAArc,EAAA8/C,GAmCA,SAAAC,EAAA//C,GACA,WAAA2/C,EAAA3/C,GAGA,SAAAggD,EAAAviD,EAAAC,GAGA,IAFA,IAAAuiD,EAAA,IAAAxiD,EAAArI,YAAAqI,EAAAhF,OAAAiF,EAAAjF,QAEAwH,EAAA,EAAiBA,EAAAxC,EAAAhF,OAAcwH,IAC/BggD,EAAAhgD,GAAAxC,EAAAwC,GAGA,IAAAg7C,EAAAx9C,EAAAhF,OAEA,IAAAwH,EAAA,EAAaA,EAAAvC,EAAAjF,OAAcwH,IAC3BggD,EAAAhgD,EAAAg7C,GAAAv9C,EAAAuC,GAGA,OAAAggD,EAGA,SAAAC,KAhDAP,EAAAxqD,UAAA,CACAC,YAAAuqD,EAIAhlD,IAAA,SAAAwF,GACA,OAAAjL,KAAAuL,KAAAL,eAAAD,GAAAjL,KAAAuL,KAAAN,GAAA,MAEAmoB,IAAA,SAAAnoB,EAAAhH,GAGA,OAAAjE,KAAAuL,KAAAN,GAAAhH,GAIAkjB,KAAA,SAAA4O,EAAArS,GAGA,QAAAzY,UAFA,IAAAyY,IAAAqS,EAAAntB,EAAAmtB,EAAArS,IAEA1jB,KAAAuL,KACAvL,KAAAuL,KAAAL,eAAAD,IAAA8qB,EAAA/1B,KAAAuL,KAAAN,OAIAggD,UAAA,SAAAhgD,UACAjL,KAAAuL,KAAAN,KA0BAtI,EAAA0L,YACA1L,EAAA4S,QACA5S,EAAAwI,QACAxI,EAAAgmD,WACAhmD,EAAA+B,SACA/B,EAAA2S,WACA3S,EAAAmmD,eACAnmD,EAAAiL,aACAjL,EAAAyoC,UACAzoC,EAAAH,WACAG,EAAAiW,QACAjW,EAAA0mD,cACA1mD,EAAAwkB,OACAxkB,EAAAyK,MACAzK,EAAAwjB,SACAxjB,EAAAklD,SACAllD,EAAA4mD,OACA5mD,EAAAiG,OACAjG,EAAAgnB,QACAhnB,EAAAqG,UACArG,EAAAqH,aACArH,EAAA8G,WACA9G,EAAAiH,WACAjH,EAAA+lD,kBACA/lD,EAAAiiB,eACAjiB,EAAA2lD,QACA3lD,EAAAknD,QACAlnD,EAAAk6B,WACAl6B,EAAAkL,YACAlL,EAAAmL,YACAnL,EAAAu8B,QACAv8B,EAAAwnD,oBACAxnD,EAAAynD,SACAznD,EAAA0H,OACA1H,EAAA6nD,iBACA7nD,EAAAwlD,cACAxlD,EAAAkoD,gBACAloD,EAAAmoD,cACAnoD,EAAAqoD,+BCzsBA,IAAApsD,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAqBRD,EAAAU,qBAAA,SAAA8V,GAEAA,EAAA88O,UAAA98O,EAAA88O,WAAA,6BC3BA,IAAA9E,EAAoBvuP,EAAQ,QAoB5Bo5Q,EAAA7qB,EAAA1oP,OAAA,CACAvE,KAAA,kBACA8iB,WAAA,MAKAH,cAAA,CACAo5F,MAAA,EAGA3sE,MAAA,KAEAE,IAAA,KAEAntC,MAAA,KAEAC,OAAA,KAEA+sC,KAAA,KAEAE,OAAA,KAEAktE,gBAAA,mBAKAw7J,eAAA,CACAz+H,UAAA,CACA3yH,MAAA,UACAxkB,MAAA,GACAwxD,QAAA,IAEA6lF,UAAA,CACA7yH,MAAA,qBACAgtC,QAAA,KAGA+uC,YAAA,OAIAs1K,YAAA,wBAMAC,WAAA,0HAIA9lC,WAAA,OACA+lC,YAAA,CACAvxP,MAAA,WAEAwxP,eAAA,KACA1d,eAAA,KACA2d,YAAA,EACAC,eAAA,OAEAC,UAAA,EACAC,UAAA,EAEAj8J,UAAA,CACA31F,MAAA,WAIArkB,EAAAw1Q,EACAv1Q,EAAAC,QAAAF,0BC3FA,IAAAjD,EAAaX,EAAQ,QAErB4O,EAAmB5O,EAAQ,QAE3BgjF,EAAchjF,EAAQ,QAEtBijF,EAAAD,EAAAC,aAEAnS,EAAiB9wE,EAAQ,QAqBzBsoB,EAAA3nB,EAAA2nB,KAKA46D,EAAA,iDAKAC,EAAA,qDAEA,SAAAC,EAAAC,EAAAzc,EAAA0c,EAAAC,EAAAC,GACA,IAAArgF,EAAA,EACAC,EAAA,EAEA,MAAAmgF,IACAA,EAAAtoE,KAGA,MAAAuoE,IACAA,EAAAvoE,KAGA,IAAAwoE,EAAA,EACA7c,EAAA6M,UAAA,SAAAlgD,EAAAzU,GACA,IAIA4kE,EACAC,EALAl8E,EAAA8rB,EAAA9rB,SACA7E,EAAA2wB,EAAA7wB,kBACAkhF,EAAAhd,EAAAmM,QAAAj0D,EAAA,GACA+kE,EAAAD,KAAAlhF,kBAIA,kBAAA2gF,EAAA,CACA,IAAAS,EAAAlhF,EAAAa,OAAAogF,KAAA1gF,EAAAP,EAAAO,EAAA,GACAugF,EAAAvgF,EAAA2gF,EAGAJ,EAAAH,GAAAhwD,EAAAwwD,SACA5gF,EAAA,EACAugF,EAAAI,EACA1gF,GAAAqgF,EAAAH,EACAG,EAAA7gF,EAAAc,QAGA+/E,EAAA57E,KAAAS,IAAAm7E,EAAA7gF,EAAAc,YAEK,CACL,IAAAsgF,EAAAphF,EAAAc,QAAAmgF,KAAAzgF,EAAAR,EAAAQ,EAAA,GACAugF,EAAAvgF,EAAA4gF,EAEAL,EAAAH,GAAAjwD,EAAAwwD,SACA5gF,GAAAsgF,EAAAH,EACAlgF,EAAA,EACAugF,EAAAK,EACAP,EAAA7gF,EAAAa,OAEAggF,EAAA57E,KAAAS,IAAAm7E,EAAA7gF,EAAAa,OAIA8vB,EAAAwwD,UAIAt8E,EAAA,GAAAtE,EACAsE,EAAA,GAAArE,EACA,eAAAigF,EAAAlgF,EAAAugF,EAAAJ,EAAAlgF,EAAAugF,EAAAL,KAaA,IAAAW,EAAAb,EASAc,EAAAvjF,EAAAmqB,MAAAs4D,EAAA,YASAe,EAAAxjF,EAAAmqB,MAAAs4D,EAAA,cAiBA,SAAAgB,EAAAC,EAAAC,EAAAC,GACA,IAAAzzE,EAAAwzE,EAAA7gF,MACA+gF,EAAAF,EAAA5gF,OACAP,EAAA8/E,EAAAoB,EAAAlhF,EAAA2N,GACA1N,EAAA6/E,EAAAoB,EAAAjhF,EAAAohF,GACA7jD,EAAAsiD,EAAAoB,EAAA1jD,GAAA7vB,GACA8vB,EAAAqiD,EAAAoB,EAAAzjD,GAAA4jD,GAMA,OALAzpE,MAAA5X,IAAA4X,MAAA2xB,WAAA23C,EAAAlhF,SAAA,IACA4X,MAAA4lB,IAAA5lB,MAAA2xB,WAAA23C,EAAA1jD,UAAA7vB,IACAiK,MAAA3X,IAAA2X,MAAA2xB,WAAA23C,EAAAjhF,SAAA,IACA2X,MAAA6lB,IAAA7lB,MAAA2xB,WAAA23C,EAAAzjD,UAAA4jD,GACAD,EAAAzT,EAAAxlB,kBAAAi5B,GAAA,GACA,CACA9gF,MAAAoE,KAAAS,IAAAq4B,EAAAx9B,EAAAohF,EAAA,GAAAA,EAAA,MACA7gF,OAAAmE,KAAAS,IAAAs4B,EAAAx9B,EAAAmhF,EAAA,GAAAA,EAAA,OAqBA,SAAAE,EAAAJ,EAAAC,EAAAC,GACAA,EAAAzT,EAAAxlB,kBAAAi5B,GAAA,GACA,IAAAzzE,EAAAwzE,EAAA7gF,MACA+gF,EAAAF,EAAA5gF,OACA+sC,EAAAwyC,EAAAoB,EAAA5zC,KAAA3/B,GACA8/B,EAAAqyC,EAAAoB,EAAAzzC,IAAA4zC,GACA9zC,EAAAuyC,EAAAoB,EAAA3zC,MAAA5/B,GACA6/B,EAAAsyC,EAAAoB,EAAA1zC,OAAA6zC,GACA/gF,EAAAw/E,EAAAoB,EAAA5gF,MAAAqN,GACApN,EAAAu/E,EAAAoB,EAAA3gF,OAAA8gF,GACAE,EAAAH,EAAA,GAAAA,EAAA,GACAI,EAAAJ,EAAA,GAAAA,EAAA,GACAxiE,EAAAsiE,EAAAtiE,OA8CA,OA5CAhH,MAAAtX,KACAA,EAAAqN,EAAA4/B,EAAAi0C,EAAAl0C,GAGA11B,MAAArX,KACAA,EAAA8gF,EAAA7zC,EAAA+zC,EAAA9zC,GAGA,MAAA7uB,IAQAhH,MAAAtX,IAAAsX,MAAArX,KACAqe,EAAAjR,EAAA0zE,EACA/gF,EAAA,GAAAqN,EAEApN,EAAA,GAAA8gF,GAKAzpE,MAAAtX,KACAA,EAAAse,EAAAre,GAGAqX,MAAArX,KACAA,EAAAD,EAAAse,IAKAhH,MAAA01B,KACAA,EAAA3/B,EAAA4/B,EAAAjtC,EAAAkhF,GAGA5pE,MAAA61B,KACAA,EAAA4zC,EAAA7zC,EAAAjtC,EAAAghF,GAIAL,EAAA5zC,MAAA4zC,EAAA3zC,OACA,aACAD,EAAA3/B,EAAA,EAAArN,EAAA,EAAA8gF,EAAA,GACA,MAEA,YACA9zC,EAAA3/B,EAAArN,EAAAkhF,EACA,MAGA,OAAAN,EAAAzzC,KAAAyzC,EAAA1zC,QACA,aACA,aACAC,EAAA4zC,EAAA,EAAA9gF,EAAA,EAAA6gF,EAAA,GACA,MAEA,aACA3zC,EAAA4zC,EAAA9gF,EAAAghF,EACA,MAIAj0C,KAAA,EACAG,KAAA,EAEA71B,MAAAtX,KAEAA,EAAAqN,EAAA6zE,EAAAl0C,GAAAC,GAAA,IAGA31B,MAAArX,KAEAA,EAAA8gF,EAAAE,EAAA9zC,GAAAD,GAAA,IAGA,IAAA/tC,EAAA,IAAAgM,EAAA6hC,EAAA8zC,EAAA,GAAA3zC,EAAA2zC,EAAA,GAAA9gF,EAAAC,GAEA,OADAd,EAAA2hF,SACA3hF,EA0CA,SAAAgiF,EAAA1yC,EAAAmyC,EAAAC,EAAAC,EAAAhuE,GACA,IAAA2L,GAAA3L,MAAAsuE,IAAAtuE,EAAAsuE,GAAA,GACAvmE,GAAA/H,MAAAsuE,IAAAtuE,EAAAsuE,GAAA,GACAC,EAAAvuE,KAAAuuE,cAAA,MAEA,GAAA5iE,GAAA5D,EAAA,CAIA,IAAA1b,EAEA,WAAAkiF,EACAliF,EAAA,UAAAsvC,EAAA5wC,KAAA,IAAAsN,EAAA,KAAAy1E,EAAA5gF,OAAA,GAAA4gF,EAAA3gF,QAAA,GAAAwuC,EAAAxvC,uBAIA,GAFAE,EAAAsvC,EAAAxvC,kBAEAwvC,EAAA6yC,qBAAA,CACA,IAAA/8E,EAAAkqC,EAAA8yC,oBAGApiF,IAAA8T,QACA9T,EAAA4X,eAAAxS,GAKAq8E,EAAAI,EAAA9jF,EAAA8V,SAAA,CACAhT,MAAAb,EAAAa,MACAC,OAAAd,EAAAc,QACG2gF,GAAAC,EAAAC,GAIH,IAAAU,EAAA/yC,EAAAzqC,SACA0Q,EAAA+J,EAAAmiE,EAAAlhF,EAAAP,EAAAO,EAAA,EACAiV,EAAAkG,EAAA+lE,EAAAjhF,EAAAR,EAAAQ,EAAA,EACA8uC,EAAAgzC,KAAA,mBAAAJ,EAAA,CAAA3sE,EAAAC,GAAA,CAAA6sE,EAAA,GAAA9sE,EAAA8sE,EAAA,GAAA7sE,KAQA,SAAA+sE,EAAA7gE,EAAA8gE,GACA,aAAA9gE,EAAA6+D,EAAAiC,GAAA,WAAA9gE,EAAA6+D,EAAAiC,GAAA,WAAA9gE,EAAA6+D,EAAAiC,GAAA,IA6BA,SAAA/hE,EAAAgiE,EAAAC,EAAA/uE,IACA5V,EAAAoK,SAAAwL,OAAA,IACA,IAAAgvE,EAAAhvE,EAAAgvE,YACA5kF,EAAAwJ,QAAAo7E,OAAA,CAAAA,MACA,IAAAC,EAAAl5E,EAAA62E,EAAA,MACAsC,EAAAn5E,EAAA62E,EAAA,MAIA,SAAA72E,EAAAo5E,EAAAN,GACA,IAAAO,EAAA,GACAC,EAAA,EACAC,EAAA,GACAC,EAAA,EACAC,EAAA,EAYA,GAXAz9D,EAAAo9D,EAAA,SAAAj2E,GACAo2E,EAAAp2E,GAAA41E,EAAA51E,KAEA6Y,EAAAo9D,EAAA,SAAAj2E,GAGAu2E,EAAAV,EAAA71E,KAAAk2E,EAAAl2E,GAAAo2E,EAAAp2E,GAAA61E,EAAA71E,IACAw2E,EAAAN,EAAAl2E,IAAAm2E,IACAK,EAAAJ,EAAAp2E,IAAAq2E,MAGAP,EAAAH,GAQA,OANAa,EAAAX,EAAAI,EAAA,IACAG,EAAAH,EAAA,SACOO,EAAAX,EAAAI,EAAA,MACPG,EAAAH,EAAA,UAGAG,EAOA,GAAAC,IAAAC,GAAAH,EAKA,IAAAA,GAAAG,EACA,OAAAJ,EAGA,QAAAz5E,EAAA,EAAuBA,EAAAw5E,EAAAhhF,OAAkBwH,IAAA,CACzC,IAAAuD,EAAAi2E,EAAAx5E,GAEA,IAAA85E,EAAAL,EAAAl2E,IAAAu2E,EAAAX,EAAA51E,GAAA,CACAk2E,EAAAl2E,GAAA41E,EAAA51E,GACA,OAIA,OAAAk2E,EAjBA,OAAAE,EAqBA,SAAAG,EAAA/5E,EAAAwD,GACA,OAAAxD,EAAAI,eAAAoD,GAGA,SAAAw2E,EAAAh6E,EAAAwD,GACA,aAAAxD,EAAAwD,IAAA,SAAAxD,EAAAwD,GAGA,SAAA8K,EAAAmrE,EAAAluE,EAAA4jB,GACA9S,EAAAo9D,EAAA,SAAAj2E,GACA+H,EAAA/H,GAAA2rB,EAAA3rB,KAnEA8K,EAAA4oE,EAAA,GAAAkC,EAAAG,GACAjrE,EAAA4oE,EAAA,GAAAkC,EAAAI,GA6EA,SAAAriE,EAAAgY,GACA,OAAA8qD,EAAA,GAA4B9qD,GAS5B,SAAA8qD,EAAA1uE,EAAA4jB,GAIA,OAHAA,GAAA5jB,GAAA8Q,EAAA46D,EAAA,SAAAzzE,GACA2rB,EAAA/uB,eAAAoD,KAAA+H,EAAA/H,GAAA2rB,EAAA3rB,MAEA+H,EAGA1T,EAAAo/E,kBACAp/E,EAAAq/E,WACAr/E,EAAAmgF,MACAngF,EAAAogF,OACApgF,EAAAqgF,OACArgF,EAAAsgF,mBACAtgF,EAAA2gF,gBACA3gF,EAAA8gF,kBACA9gF,EAAAqhF,iBACArhF,EAAAuf,mBACAvf,EAAAsf,kBACAtf,EAAAoiF,2CC1gBA,IAAAxmE,EAAW1f,EAAQ,QAEnBijO,EAAgBjjO,EAAQ,QAExB85Q,EAAoB95Q,EAAQ,QAO5BshP,EAAAz5O,KAAAk+C,KACAg0N,EAAAlyQ,KAAA0Y,IACAy5P,EAAAnyQ,KAAAwY,IACAvY,EAAAD,KAAAC,GAEAmyQ,EAAA,SAAA37P,GACA,OAAAzW,KAAAk+C,KAAAznC,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,KAGA47P,EAAA,SAAAhoL,EAAA5zE,GACA,OAAA4zE,EAAA,GAAA5zE,EAAA,GAAA4zE,EAAA,GAAA5zE,EAAA,KAAA27P,EAAA/nL,GAAA+nL,EAAA37P,KAGA67P,EAAA,SAAAjoL,EAAA5zE,GACA,OAAA4zE,EAAA,GAAA5zE,EAAA,GAAA4zE,EAAA,GAAA5zE,EAAA,SAAAzW,KAAA2/C,KAAA0yN,EAAAhoL,EAAA5zE,KAGA,SAAA87P,EAAArpN,EAAAC,EAAArwB,EAAAC,EAAAy5O,EAAAC,EAAAzgG,EAAAC,EAAAygG,EAAAz/E,EAAAl1H,GACA,IAAA40M,EAAAD,GAAAzyQ,EAAA,KACA2yQ,EAAAT,EAAAQ,IAAAzpN,EAAApwB,GAAA,EAAAo5O,EAAAS,IAAAxpN,EAAApwB,GAAA,EACA85O,GAAA,EAAAX,EAAAS,IAAAzpN,EAAApwB,GAAA,EAAAq5O,EAAAQ,IAAAxpN,EAAApwB,GAAA,EACA+5O,EAAAF,KAAA5gG,KAAA6gG,KAAA5gG,KAEA6gG,EAAA,IACA9gG,GAAAynE,EAAAq5B,GACA7gG,GAAAwnE,EAAAq5B,IAGA,IAAA51Q,GAAAs1Q,IAAAC,GAAA,KAAAh5B,GAAAznE,KAAAC,KAAAD,KAAA6gG,KAAA5gG,KAAA2gG,OAAA5gG,KAAA6gG,KAAA5gG,KAAA2gG,QAAA,EACAG,EAAA71Q,EAAA80K,EAAA6gG,EAAA5gG,EACA+gG,EAAA91Q,GAAA+0K,EAAA2gG,EAAA5gG,EACAj6J,GAAAmxC,EAAApwB,GAAA,EAAAq5O,EAAAQ,GAAAI,EAAAb,EAAAS,GAAAK,EACAh7P,GAAAmxC,EAAApwB,GAAA,EAAAm5O,EAAAS,GAAAI,EAAAZ,EAAAQ,GAAAK,EACAlgP,EAAAw/O,EAAA,QAAAM,EAAAG,GAAA/gG,GAAA6gG,EAAAG,GAAA/gG,IACA5nF,EAAA,EAAAuoL,EAAAG,GAAA/gG,GAAA6gG,EAAAG,GAAA/gG,GACAx7J,EAAA,KAAAm8P,EAAAG,GAAA/gG,IAAA,EAAA6gG,EAAAG,GAAA/gG,GACAghG,EAAAX,EAAAjoL,EAAA5zE,GAEA47P,EAAAhoL,EAAA5zE,KAAA,IACAw8P,EAAAhzQ,GAGAoyQ,EAAAhoL,EAAA5zE,IAAA,IACAw8P,EAAA,GAGA,IAAAR,GAAAQ,EAAA,IACAA,GAAA,EAAAhzQ,GAGA,IAAAwyQ,GAAAQ,EAAA,IACAA,GAAA,EAAAhzQ,GAGA89D,EAAAm1M,QAAAjgF,EAAAl7K,EAAAC,EAAAg6J,EAAAC,EAAAn/I,EAAAmgP,EAAAN,EAAAF,GAGA,IAAAU,EAAA,mCAOAC,EAAA,sCAEA,SAAAC,EAAAxuQ,GACA,IAAAA,EACA,WAAAu2N,EA8BA,IAdA,IAIAk4C,EAJAC,EAAA,EACAC,EAAA,EACAC,EAAAF,EACAG,EAAAF,EAEAz1M,EAAA,IAAAq9J,EACAE,EAAAF,EAAAE,IAMAq4C,EAAA9uQ,EAAAsrB,MAAAgjP,GAEA7uQ,EAAA,EAAiBA,EAAAqvQ,EAAA92Q,OAAoByH,IAAA,CAerC,IAdA,IAEA2uL,EAFA2gF,EAAAD,EAAArvQ,GACAu5N,EAAA+1C,EAAA7nQ,OAAA,GAUAqO,EAAAw5P,EAAAzjP,MAAAijP,IAAA,GACAS,EAAAz5P,EAAAvd,OAEAwH,EAAA,EAAmBA,EAAAwvQ,EAAUxvQ,IAC7B+V,EAAA/V,GAAAwgC,WAAAzqB,EAAA/V,IAGA,IAAA8K,EAAA,EAEA,MAAAA,EAAA0kQ,EAAA,CACA,IAAAC,EACAC,EACA/hG,EACAC,EACA0gG,EACAH,EACAC,EACAvpN,EAAAqqN,EACApqN,EAAAqqN,EAEA,OAAA31C,GACA,QACA01C,GAAAn5P,EAAAjL,KACAqkQ,GAAAp5P,EAAAjL,KACA8jL,EAAAqoC,EAAA7uH,EACA1uC,EAAAm1M,QAAAjgF,EAAAsgF,EAAAC,GACA,MAEA,QACAD,EAAAn5P,EAAAjL,KACAqkQ,EAAAp5P,EAAAjL,KACA8jL,EAAAqoC,EAAA7uH,EACA1uC,EAAAm1M,QAAAjgF,EAAAsgF,EAAAC,GACA,MAEA,QACAD,GAAAn5P,EAAAjL,KACAqkQ,GAAAp5P,EAAAjL,KACA8jL,EAAAqoC,EAAA75E,EACA1jF,EAAAm1M,QAAAjgF,EAAAsgF,EAAAC,GACAC,EAAAF,EACAG,EAAAF,EACA31C,EAAA,IACA,MAEA,QACA01C,EAAAn5P,EAAAjL,KACAqkQ,EAAAp5P,EAAAjL,KACA8jL,EAAAqoC,EAAA75E,EACA1jF,EAAAm1M,QAAAjgF,EAAAsgF,EAAAC,GACAC,EAAAF,EACAG,EAAAF,EACA31C,EAAA,IACA,MAEA,QACA01C,GAAAn5P,EAAAjL,KACA8jL,EAAAqoC,EAAA7uH,EACA1uC,EAAAm1M,QAAAjgF,EAAAsgF,EAAAC,GACA,MAEA,QACAD,EAAAn5P,EAAAjL,KACA8jL,EAAAqoC,EAAA7uH,EACA1uC,EAAAm1M,QAAAjgF,EAAAsgF,EAAAC,GACA,MAEA,QACAA,GAAAp5P,EAAAjL,KACA8jL,EAAAqoC,EAAA7uH,EACA1uC,EAAAm1M,QAAAjgF,EAAAsgF,EAAAC,GACA,MAEA,QACAA,EAAAp5P,EAAAjL,KACA8jL,EAAAqoC,EAAA7uH,EACA1uC,EAAAm1M,QAAAjgF,EAAAsgF,EAAAC,GACA,MAEA,QACAvgF,EAAAqoC,EAAAr2D,EACAlnG,EAAAm1M,QAAAjgF,EAAA74K,EAAAjL,KAAAiL,EAAAjL,KAAAiL,EAAAjL,KAAAiL,EAAAjL,KAAAiL,EAAAjL,KAAAiL,EAAAjL,MACAokQ,EAAAn5P,EAAAjL,EAAA,GACAqkQ,EAAAp5P,EAAAjL,EAAA,GACA,MAEA,QACA8jL,EAAAqoC,EAAAr2D,EACAlnG,EAAAm1M,QAAAjgF,EAAA74K,EAAAjL,KAAAokQ,EAAAn5P,EAAAjL,KAAAqkQ,EAAAp5P,EAAAjL,KAAAokQ,EAAAn5P,EAAAjL,KAAAqkQ,EAAAp5P,EAAAjL,KAAAokQ,EAAAn5P,EAAAjL,KAAAqkQ,GACAD,GAAAn5P,EAAAjL,EAAA,GACAqkQ,GAAAp5P,EAAAjL,EAAA,GACA,MAEA,QACA2kQ,EAAAP,EACAQ,EAAAP,EACA,IAAAztQ,EAAAg4D,EAAAh4D,MACA0kM,EAAA1sI,EAAAl5D,KAEAyuQ,IAAAh4C,EAAAr2D,IACA6uG,GAAAP,EAAA9oE,EAAA1kM,EAAA,GACAguQ,GAAAP,EAAA/oE,EAAA1kM,EAAA,IAGAktL,EAAAqoC,EAAAr2D,EACA/7G,EAAA9uC,EAAAjL,KACAg6C,EAAA/uC,EAAAjL,KACAokQ,EAAAn5P,EAAAjL,KACAqkQ,EAAAp5P,EAAAjL,KACA4uD,EAAAm1M,QAAAjgF,EAAA6gF,EAAAC,EAAA7qN,EAAAC,EAAAoqN,EAAAC,GACA,MAEA,QACAM,EAAAP,EACAQ,EAAAP,EACAztQ,EAAAg4D,EAAAh4D,MACA0kM,EAAA1sI,EAAAl5D,KAEAyuQ,IAAAh4C,EAAAr2D,IACA6uG,GAAAP,EAAA9oE,EAAA1kM,EAAA,GACAguQ,GAAAP,EAAA/oE,EAAA1kM,EAAA,IAGAktL,EAAAqoC,EAAAr2D,EACA/7G,EAAAqqN,EAAAn5P,EAAAjL,KACAg6C,EAAAqqN,EAAAp5P,EAAAjL,KACAokQ,GAAAn5P,EAAAjL,KACAqkQ,GAAAp5P,EAAAjL,KACA4uD,EAAAm1M,QAAAjgF,EAAA6gF,EAAAC,EAAA7qN,EAAAC,EAAAoqN,EAAAC,GACA,MAEA,QACAtqN,EAAA9uC,EAAAjL,KACAg6C,EAAA/uC,EAAAjL,KACAokQ,EAAAn5P,EAAAjL,KACAqkQ,EAAAp5P,EAAAjL,KACA8jL,EAAAqoC,EAAAwC,EACA//J,EAAAm1M,QAAAjgF,EAAA/pI,EAAAC,EAAAoqN,EAAAC,GACA,MAEA,QACAtqN,EAAA9uC,EAAAjL,KAAAokQ,EACApqN,EAAA/uC,EAAAjL,KAAAqkQ,EACAD,GAAAn5P,EAAAjL,KACAqkQ,GAAAp5P,EAAAjL,KACA8jL,EAAAqoC,EAAAwC,EACA//J,EAAAm1M,QAAAjgF,EAAA/pI,EAAAC,EAAAoqN,EAAAC,GACA,MAEA,QACAM,EAAAP,EACAQ,EAAAP,EACAztQ,EAAAg4D,EAAAh4D,MACA0kM,EAAA1sI,EAAAl5D,KAEAyuQ,IAAAh4C,EAAAwC,IACAg2C,GAAAP,EAAA9oE,EAAA1kM,EAAA,GACAguQ,GAAAP,EAAA/oE,EAAA1kM,EAAA,IAGAwtQ,EAAAn5P,EAAAjL,KACAqkQ,EAAAp5P,EAAAjL,KACA8jL,EAAAqoC,EAAAwC,EACA//J,EAAAm1M,QAAAjgF,EAAA6gF,EAAAC,EAAAR,EAAAC,GACA,MAEA,QACAM,EAAAP,EACAQ,EAAAP,EACAztQ,EAAAg4D,EAAAh4D,MACA0kM,EAAA1sI,EAAAl5D,KAEAyuQ,IAAAh4C,EAAAwC,IACAg2C,GAAAP,EAAA9oE,EAAA1kM,EAAA,GACAguQ,GAAAP,EAAA/oE,EAAA1kM,EAAA,IAGAwtQ,GAAAn5P,EAAAjL,KACAqkQ,GAAAp5P,EAAAjL,KACA8jL,EAAAqoC,EAAAwC,EACA//J,EAAAm1M,QAAAjgF,EAAA6gF,EAAAC,EAAAR,EAAAC,GACA,MAEA,QACAxhG,EAAA53J,EAAAjL,KACA8iK,EAAA73J,EAAAjL,KACAwjQ,EAAAv4P,EAAAjL,KACAqjQ,EAAAp4P,EAAAjL,KACAsjQ,EAAAr4P,EAAAjL,KACA+5C,EAAAqqN,EAAApqN,EAAAqqN,EACAD,EAAAn5P,EAAAjL,KACAqkQ,EAAAp5P,EAAAjL,KACA8jL,EAAAqoC,EAAAhE,EACAi7C,EAAArpN,EAAAC,EAAAoqN,EAAAC,EAAAhB,EAAAC,EAAAzgG,EAAAC,EAAA0gG,EAAA1/E,EAAAl1H,GACA,MAEA,QACAi0G,EAAA53J,EAAAjL,KACA8iK,EAAA73J,EAAAjL,KACAwjQ,EAAAv4P,EAAAjL,KACAqjQ,EAAAp4P,EAAAjL,KACAsjQ,EAAAr4P,EAAAjL,KACA+5C,EAAAqqN,EAAApqN,EAAAqqN,EACAD,GAAAn5P,EAAAjL,KACAqkQ,GAAAp5P,EAAAjL,KACA8jL,EAAAqoC,EAAAhE,EACAi7C,EAAArpN,EAAAC,EAAAoqN,EAAAC,EAAAhB,EAAAC,EAAAzgG,EAAAC,EAAA0gG,EAAA1/E,EAAAl1H,GACA,OAIA,MAAA8/J,GAAA,MAAAA,IACA5qC,EAAAqoC,EAAAI,EACA39J,EAAAm1M,QAAAjgF,GAEAsgF,EAAAE,EACAD,EAAAE,GAGAJ,EAAArgF,EAIA,OADAl1H,EAAAugK,WACAvgK,EAIA,SAAAi2M,EAAApwQ,EAAAxK,GACA,IAAA66Q,EAAAZ,EAAAzvQ,GAuBA,OAtBAxK,KAAA,GAEAA,EAAAkf,UAAA,SAAAylD,GACA,GAAAA,EAAAtpD,QAAA,CACAspD,EAAAtpD,QAAAw/P,EAAApvQ,MAEA,IAAAlL,EAAAokE,EAAA72D,aAEAvN,GACAokE,EAAAm2M,YAAAv6Q,OAEK,CACLA,EAAAokE,EACAk2M,EAAAC,YAAAv6Q,KAIAP,EAAAuZ,eAAA,SAAAkU,GACAorP,EAAAgC,EAAAptP,GACAvtB,KAAA2kB,OAAA,IAGA7kB,EASA,SAAA+6Q,EAAAvwQ,EAAAxK,GACA,WAAAye,EAAAm8P,EAAApwQ,EAAAxK,IASA,SAAAg7Q,EAAAxwQ,EAAAxK,GACA,OAAAye,EAAA7Z,OAAAg2Q,EAAApwQ,EAAAxK,IAUA,SAAAs2N,EAAA2kD,EAAAj7Q,GAIA,IAHA,IAAAmqQ,EAAA,GACAx9P,EAAAsuQ,EAAAx3Q,OAEAwH,EAAA,EAAiBA,EAAA0B,EAAS1B,IAAA,CAC1B,IAAAo9N,EAAA4yC,EAAAhwQ,GAEAo9N,EAAA1jK,MACA0jK,EAAA6yC,kBAGA7yC,EAAArD,aACAqD,EAAAnpN,UAAAmpN,EAAA1jK,KAAA0jK,EAAAvgO,OAAA,GAGAqiQ,EAAAt3P,KAAAw1N,EAAA1jK,MAGA,IAAAw2M,EAAA,IAAA18P,EAAAze,GAcA,OAZAm7Q,EAAAD,kBAEAC,EAAAj8P,UAAA,SAAAylD,GACAA,EAAAy2M,WAAAjR,GAEA,IAAA5pQ,EAAAokE,EAAA72D,aAEAvN,GACAokE,EAAAm2M,YAAAv6Q,IAIA46Q,EAGAt4Q,EAAAk4Q,mBACAl4Q,EAAAm4Q,mBACAn4Q,EAAAyzN,oCCvbA,IAAAh1M,EAAcviB,EAAQ,QAEtB+M,EAAAwV,EAAAxV,iBAEAgmB,EAAW/yB,EAAQ,QAEnBy2B,EAAUz2B,EAAQ,QAElB4O,EAAmB5O,EAAQ,QAE3Bs8Q,EAAct8Q,EAAQ,QAEtBu8Q,EAAYv8Q,EAAQ,QAEpBgtD,EAA4BhtD,EAAQ,QAEpC2yB,EAAY3yB,EAAQ,QAEpByiB,EAAUziB,EAAQ,QAElBw8Q,EAAA,IACAC,EAAA,OACAC,EAAA,IACAC,EAAA,KAEA,SAAAx+B,EAAA/zO,GACA,OAAAkK,SAAAlK,EAAA,IAGA,SAAAwyQ,EAAAn+M,GACA,QAAAA,MAIAA,EAAAkrD,aAIA,oBAAAlrD,EAAAe,QAAA,oBAAAf,EAAAnqC,SAOA,IAAAra,EAAA,IAAArL,EAAA,SACAy8M,EAAA,IAAAz8M,EAAA,SAEA,SAAAiuQ,EAAA3qO,EAAAzuC,EAAAC,GASA,OARAuW,EAAAM,KAAA23B,EAAAxvC,mBAEAwvC,EAAAlqC,WACAiS,EAAAO,eAAA03B,EAAAlqC,WAGAqjN,EAAA5nN,QACA4nN,EAAA3nN,UACAuW,EAAAu9F,UAAA6zG,GAGA,SAAAyxD,EAAAC,EAAAC,GACA,GAAAD,IAAAC,EAEA,SAGA,IAAAD,IAAAC,GAAAD,EAAAr4Q,SAAAs4Q,EAAAt4Q,OACA,SAGA,QAAAwH,EAAA,EAAiBA,EAAA6wQ,EAAAr4Q,OAAsBwH,IACvC,GAAA6wQ,EAAA7wQ,KAAA8wQ,EAAA9wQ,GACA,SAKA,SAAA+wQ,EAAAF,EAAAv7Q,GACA,QAAA0K,EAAA,EAAiBA,EAAA6wQ,EAAAr4Q,OAAsBwH,IAAA,CACvC,IAAAmpO,EAAA0nC,EAAA7wQ,GACAmpO,EAAAhzO,aAAAb,GACAA,EAAAq9K,YACAw2D,EAAAl1N,UAAA3e,EAAA6zO,EAAAtsO,OACAvH,EAAAiwI,OAEA4jG,EAAA9yO,iBAAAf,IAIA,SAAA07Q,EAAAz5Q,EAAAC,GACA,IAAAy5Q,EAAApxQ,SAAAirB,cAAA,OAGA,OADAmmP,EAAAz7Q,MAAA4oH,QAAA,gDAAA7mH,EAAA,eAAAC,EAAA,8CAAAyN,KAAA,KAAyK,IACzKgsQ,EAWA,IAAArwC,EAAA,SAAA1+M,EAAA+6F,EAAAloH,GACAE,KAAAG,KAAA,SAEA,IAAA87Q,GAAAhvP,EAAAoa,UACA,WAAApa,EAAAoa,SAAAzH,cACA5/B,KAAAk8Q,MAAAp8Q,EAAA8xB,EAAAltB,OAAA,GAAoC5E,GAAA,IAKpCE,KAAA2L,IAAA7L,EAAA8L,oBAMA5L,KAAA4nH,cAAAq0J,EAMAj8Q,KAAAitB,OACA,IAAAkvP,EAAAlvP,EAAA1sB,MAEA47Q,IACAA,EAAA,6CACAA,EAAA,uBAAAA,EAAA,eAAAA,EAAA,gCACAlvP,EAAAo8F,UAAA,IAOArpH,KAAAgoH,UAMA,IAAAM,EAAAtoH,KAAAuoH,YAAA,GAMAtB,EAAAjnH,KAAAqmH,QAAA,GAaA,GAPArmH,KAAAo8Q,aAAA,GAKAp8Q,KAAAq8Q,2BAAA,EAEAJ,EAKG,CACH,IAAA35Q,EAAA2qB,EAAA3qB,MACAC,EAAA0qB,EAAA1qB,OAEA,MAAAzC,EAAAwC,QACAA,EAAAxC,EAAAwC,OAGA,MAAAxC,EAAAyC,SACAA,EAAAzC,EAAAyC,QAGAvC,KAAA2L,IAAA7L,EAAA8L,kBAAA,EAEAqhB,EAAA3qB,QAAAtC,KAAA2L,IACAshB,EAAA1qB,SAAAvC,KAAA2L,IACA3L,KAAAskC,OAAAhiC,EACAtC,KAAAukC,QAAAhiC,EAGA,IAAA+5Q,EAAA,IAAAlB,EAAAnuP,EAAAjtB,UAAA2L,KACA2wQ,EAAA9zJ,aAAA,EACA8zJ,EAAAC,cAGAt1J,EAAAq0J,GAAAgB,EACAA,EAAAngK,OAAAm/J,EAEAhzJ,EAAA31G,KAAA2oQ,GACAt7Q,KAAAw8Q,SAAAvvP,MAlCA,CACAjtB,KAAAskC,OAAAtkC,KAAAy8Q,SAAA,GACAz8Q,KAAAukC,QAAAvkC,KAAAy8Q,SAAA,GACA,IAAAT,EAAAh8Q,KAAAw8Q,SAAAT,EAAA/7Q,KAAAskC,OAAAtkC,KAAAukC,SACAtX,EAAAmzM,YAAA47C,GAsCAh8Q,KAAA08Q,YAAA,KACA18Q,KAAA28Q,eAAA,IAGAhxC,EAAA1rO,UAAA,CACAC,YAAAyrO,EACAiS,QAAA,WACA,gBAOAz2H,eAAA,WACA,OAAAnnH,KAAA4nH,eAMAi2H,gBAAA,WACA,OAAA79O,KAAAw8Q,UAEA1+B,sBAAA,WACA,IAAAC,EAAA/9O,KAAA69O,kBAEA,GAAAE,EACA,OACAC,WAAAD,EAAAC,YAAA,EACAC,UAAAF,EAAAE,WAAA,IASA9qN,QAAA,SAAAypP,GACA,IAAAzvQ,EAAAnN,KAAAgoH,QAAAC,gBAAA,GACAK,EAAAtoH,KAAAuoH,YACAvoH,KAAA68Q,UAAAn2Q,KAAAy3B,SAEAn+B,KAAAk+O,WAAA/wO,EAAAyvQ,EAAA58Q,KAAA68Q,WAGA,QAAA9xQ,EAAA,EAAmBA,EAAAu9G,EAAA/kH,OAAuBwH,IAAA,CAC1C,IAAAoyB,EAAAmrF,EAAAv9G,GACAuyD,EAAAt9D,KAAAqmH,QAAAlpF,GAEA,IAAAmgC,EAAAkrD,aAAAlrD,EAAAnqC,QAAA,CACA,IAAAu/B,EAAA,IAAA3nD,EAAA/K,KAAA4pH,iBAAA,KACAtsD,EAAAnqC,QAAAu/B,IAKA,OADA1yD,KAAA88Q,eACA98Q,MAEA+8Q,SAAA,SAAAhsO,EAAA6oK,GACA,IAAA7oK,EAAAisO,WAAA,CAIA,IAAAC,EAAA,IAAAlsO,EAAA7wC,YAAA,CACAK,MAAAwwC,EAAAxwC,MACAqH,MAAAmpC,EAAAnpC,MACAu1B,EAAA4T,EAAA5T,EACAuC,GAAAqR,EAAArR,GACA2nF,OAAAt2E,EAAAs2E,SAQA,OANA41J,EAAAC,OAAAnsO,EACAA,EAAAisO,WAAAC,EACArjE,GAAAqjE,EAAAz1J,SAAAoyF,GAEA55M,KAAA28Q,eAAAhqQ,KAAAsqQ,GAEAA,IAEAE,YAAA,SAAApsO,GACA,IAAAksO,EAAAlsO,EAAAisO,WACAI,EAAAp9Q,KAAA28Q,eACAh/P,EAAAiU,EAAAwZ,QAAAgyO,EAAAH,GAEAt/P,GAAA,GACAy/P,EAAA/rM,OAAA1zD,EAAA,GAGAozB,EAAAisO,WAAA,MAEAK,WAAA,SAAAtsO,GAGA,IAFA,IAAAqsO,EAAAp9Q,KAAA28Q,eAEA5xQ,EAAA,EAAmBA,EAAAqyQ,EAAA75Q,OAA0BwH,IAAA,CAC7C,IAAAs9C,EAAA+0N,EAAAryQ,GAAAmyQ,OAEA70N,IACAA,EAAA20N,WAAA,MAIAI,EAAA75Q,OAAA,GAEAu5Q,aAAA,WACA,IAAAM,EAAAp9Q,KAAA28Q,eACAlwQ,EAAA2wQ,EAAA75Q,OACA+5Q,EAAAt9Q,KAAA08Q,YAGA,GAFAY,KAAA5wQ,QAEAD,EAAA,CAIA0uQ,EAAAiC,EAAAp9Q,KAAAgoH,QAAAu1J,qBAGAD,IACAA,EAAAt9Q,KAAA08Q,YAAA18Q,KAAA4tP,SAAAytB,IAGA,IAAA/yP,EAAA,GACAg1P,EAAAj9Q,IAAA6Y,OAEA,QAAAnO,EAAA,EAAmBA,EAAA0B,GAAS,CAC5B,IAAAskC,EAAAqsO,EAAAryQ,GACAyyQ,EAAAzsO,EAAAmsO,OAGAM,KAAAtrP,MAOAnnB,IAGAyyQ,EAAA1sM,YACA//B,EAAAlqC,UAAA22Q,EAAA32Q,UACAkqC,EAAAovE,aAAAq9J,EAAAr9J,aACApvE,EAAA0sO,YAAAD,EAAAC,YAEAz9Q,KAAA0oH,WAAA33E,EAAAusO,GAAA,EAAAh1P,MAdA80P,EAAA/rM,OAAAtmE,EAAA,GACAyyQ,EAAAR,WAAA,KACAvwQ,KAgBA6wQ,EAAAj9Q,IAAAiZ,YAEAokQ,cAAA,WACA,OAAA19Q,KAAA4tP,SAAAytB,IAEAn9B,WAAA,SAAA/wO,EAAAyvQ,EAAAe,GACA,GAAA39Q,KAAA68Q,YAAAc,EAAA,CAIAf,MAAA,EAEA58Q,KAAA49Q,mBAAAzwQ,GAEA,IAAA0wQ,EAAA79Q,KAAA89Q,aAAA3wQ,EAAAyvQ,GAMA,GAJA58Q,KAAAq8Q,2BACAr8Q,KAAA+9Q,sBAGAF,EAAA,CACA,IAAAn2O,EAAA1nC,KACA6rD,EAAA,WACAnkB,EAAAw2M,WAAA/wO,EAAAyvQ,EAAAe,QAIAI,mBAAA,WACA,IAAA19Q,EAAAL,KAAA4tP,SAAA0tB,GAAAj7Q,IACAiC,EAAAtC,KAAAw8Q,SAAAl6Q,MACAC,EAAAvC,KAAAw8Q,SAAAj6Q,OACAlC,EAAAynH,UAAA,IAAAxlH,EAAAC,GAEAvC,KAAAg+Q,iBAAA,SAAA1gN,GACAA,EAAA8pD,SACA/mH,EAAAy1B,UAAAwnC,EAAAsgB,IAAA,IAAAt7E,EAAAC,MAIAu7Q,aAAA,SAAA3wQ,EAAAyvQ,GAGA,IAFA,IAAAqB,EAAA,GAEAC,EAAA,EAAoBA,EAAAl+Q,KAAAuoH,YAAAhlH,OAA8B26Q,IAAA,CAClD,IAAA/hK,EAAAn8G,KAAAuoH,YAAA21J,GACA5gN,EAAAt9D,KAAAqmH,QAAAlK,GAEA7+C,EAAAkrD,aAAAlrD,IAAAt9D,KAAA08Q,cAAAp/M,EAAA98D,SAAAo8Q,IACAqB,EAAAtrQ,KAAA2qD,GAMA,IAFA,IAAAugN,GAAA,EAEAn9P,EAAA,EAAmBA,EAAAu9P,EAAA16Q,OAAsBmd,IAAA,CACzC48C,EAAA2gN,EAAAv9P,GAAA,IACArgB,EAAAi9D,EAAAj9D,IACAioB,EAAA,GACAjoB,EAAA6Y,OACA,IAAAkT,EAAAwwP,EAAAt/M,EAAA0+I,aAAA1+I,EAAA6gN,YACAC,GAAAxB,GAAAt/M,EAAA84I,aAAAp+K,KAAAC,IACAomP,EAAAD,GAAApmP,KAAAC,MACAy6B,EAAA4K,EAAA6+C,SAAAn8G,KAAAuoH,YAAA,GAAAvoH,KAAA4pH,iBAAA,KAEA,GAAAtsD,EAAA0+I,eAAA1+I,EAAAghN,WACAhhN,EAAA5wD,OAAA,EAAAgmD,QACO,GAAAtmC,IAAAkxC,EAAA0+I,aAAA,CACP,IAAAuiE,EAAApxQ,EAAAif,GAEAmyP,EAAAnoE,aAAAmoE,EAAAC,WAAA5B,GACAt/M,EAAA5wD,OAAA,EAAAgmD,IAIA,IAAAtmC,IACAgM,QAAA+B,MAAA,4CACA/N,EAAAkxC,EAAA0+I,cAGA,QAAAjxM,EAAAqhB,EAAyBrhB,EAAAuyD,EAAAghN,WAAsBvzQ,IAAA,CAC/C,IAAAgmC,EAAA5jC,EAAApC,GAMA,GAJA/K,KAAA0oH,WAAA33E,EAAAusB,EAAAs/M,EAAAt0P,GAEAyoB,EAAAvwC,QAAAuwC,EAAA0tO,aAAA,EAEAL,EAAA,CAEA,IAAAjmP,EAAAH,KAAAC,MAAAomP,EAGA,GAAAlmP,EAAA,GACA,OAKAmlC,EAAA6gN,YAAApzQ,EAEAuyD,EAAA6gN,YAAA7gN,EAAAghN,aACAT,GAAA,GAGAv1P,EAAAo2P,iBAEAr+Q,EAAAiZ,UAGAjZ,EAAAiZ,UAYA,OATAgI,EAAAq9P,KAEA/sP,EAAAzK,KAAAnnB,KAAAqmH,QAAA,SAAA/oD,GACAA,KAAAj9D,KAAAi9D,EAAAj9D,IAAA+7K,MACA9+G,EAAAj9D,IAAA+7K,SAKAyhG,GAEAn1J,WAAA,SAAA33E,EAAA6tO,EAAAC,EAAAv2P,GACA,IAAAjoB,EAAAu+Q,EAAAv+Q,IACAktB,EAAAwjB,EAAAlqC,UAEA,IAAA+3Q,EAAAp+Q,SAAAq+Q,KACA9tO,EAAA+/B,WACA,IAAA//B,EAAAxwC,MAAAuzD,WAGAvmC,KAAA,IAAAA,EAAA,OACAwjB,EAAA6oC,UAAA8hM,EAAA3qO,EAAA/wC,KAAAskC,OAAAtkC,KAAAukC,UAAA,CACA,IAAAq3O,EAAA7qO,EAAA0sO,YAEAn1P,EAAAo2P,kBAAA/C,EAAAC,EAAAtzP,EAAAo2P,mBAEAp2P,EAAAo2P,kBACAE,EAAAv+Q,IAAAiZ,UACAgP,EAAAo2P,gBAAA,KAEAp2P,EAAAhoB,OAAA,MAIAs7Q,IACAv7Q,EAAA6Y,OACA4iQ,EAAAF,EAAAv7Q,GACAioB,EAAAo2P,gBAAA9C,IAIA7qO,EAAAqtM,aAAArtM,EAAAqtM,YAAA/9O,GACA0wC,EAAA3wC,MAAAC,EAAAioB,EAAAhoB,QAAA,MACAgoB,EAAAhoB,OAAAywC,EACAA,EAAAstM,YAAAttM,EAAAstM,WAAAh+O,KAUAutP,SAAA,SAAAzxI,EAAAiL,GACApnH,KAAA4nH,gBAAA5nH,KAAAq8Q,4BACAlgK,EAAAm/J,GAGA,IAAAh+M,EAAAt9D,KAAAqmH,QAAAlK,GAsBA,OApBA7+C,IAEAA,EAAA,IAAA89M,EAAA,MAAAj/J,EAAAn8G,UAAA2L,KACA2xD,EAAA6+C,SACA7+C,EAAAkrD,aAAA,EAEAxoH,KAAAo8Q,aAAAjgK,IACAvqF,EAAAzmB,MAAAmyD,EAAAt9D,KAAAo8Q,aAAAjgK,IAAA,GAGAiL,IACA9pD,EAAA8pD,WAGApnH,KAAAunH,YAAApL,EAAA7+C,GAGAA,EAAAi/M,eAGAj/M,GAEAiqD,YAAA,SAAApL,EAAA7+C,GACA,IAAAwhN,EAAA9+Q,KAAAqmH,QACAiC,EAAAtoH,KAAAuoH,YACA97G,EAAA67G,EAAA/kH,OACAw7Q,EAAA,KACAh0Q,GAAA,EACAixQ,EAAAh8Q,KAAAw8Q,SAEA,GAAAsC,EAAA3iK,GACA7mF,EAAA,UAAA6mF,EAAA,+BAKA,GAAAs/J,EAAAn+M,GAAA,CAKA,GAAA7wD,EAAA,GAAA0vG,EAAAmM,EAAA,IACA,IAAAv9G,EAAA,EAAiBA,EAAA0B,EAAA,EAAa1B,IAC9B,GAAAu9G,EAAAv9G,GAAAoxG,GAAAmM,EAAAv9G,EAAA,GAAAoxG,EACA,MAIA4iK,EAAAD,EAAAx2J,EAAAv9G,IAQA,GALAu9G,EAAAj3C,OAAAtmE,EAAA,IAAAoxG,GACA2iK,EAAA3iK,GAAA7+C,GAIAA,EAAA8pD,QACA,GAAA23J,EAAA,CACA,IAAAC,EAAAD,EAAAnhM,IAEAohM,EAAAx2C,YACAwzC,EAAAh8C,aAAA1iK,EAAAsgB,IAAAohM,EAAAx2C,aAEAwzC,EAAA57C,YAAA9iK,EAAAsgB,UAGAo+L,EAAA/7C,WACA+7C,EAAAh8C,aAAA1iK,EAAAsgB,IAAAo+L,EAAA/7C,YAEA+7C,EAAA57C,YAAA9iK,EAAAsgB,UAhCAtoD,EAAA,mBAAA6mF,EAAA,kBAsCA8iK,UAAA,SAAAlpP,EAAArS,GACA,IACAyZ,EACApyB,EAFAu9G,EAAAtoH,KAAAuoH,YAIA,IAAAx9G,EAAA,EAAeA,EAAAu9G,EAAA/kH,OAAuBwH,IACtCoyB,EAAAmrF,EAAAv9G,GACAgrB,EAAAh2B,KAAA2jB,EAAA1jB,KAAAqmH,QAAAlpF,OAIA6gP,iBAAA,SAAAjoP,EAAArS,GACA,IACA45C,EACAngC,EACApyB,EAHAu9G,EAAAtoH,KAAAuoH,YAKA,IAAAx9G,EAAA,EAAeA,EAAAu9G,EAAA/kH,OAAuBwH,IACtCoyB,EAAAmrF,EAAAv9G,GACAuyD,EAAAt9D,KAAAqmH,QAAAlpF,GAEAmgC,EAAAkrD,aACAzyF,EAAAh2B,KAAA2jB,EAAA45C,EAAAngC,IAKA+hP,eAAA,SAAAnpP,EAAArS,GACA,IACA45C,EACAngC,EACApyB,EAHAu9G,EAAAtoH,KAAAuoH,YAKA,IAAAx9G,EAAA,EAAeA,EAAAu9G,EAAA/kH,OAAuBwH,IACtCoyB,EAAAmrF,EAAAv9G,GACAuyD,EAAAt9D,KAAAqmH,QAAAlpF,GAEAmgC,EAAAkrD,aACAzyF,EAAAh2B,KAAA2jB,EAAA45C,EAAAngC,IASAgiP,UAAA,WACA,OAAAn/Q,KAAAqmH,SAEAu3J,mBAAA,SAAAzwQ,GAKA,SAAAiyQ,EAAAzhQ,GACAohQ,IACAA,EAAAT,aAAA3gQ,IACAohQ,EAAAv+Q,SAAA,GAGAu+Q,EAAAT,WAAA3gQ,GAIA,GAdA3d,KAAAg+Q,iBAAA,SAAA1gN,EAAAngC,GACAmgC,EAAA98D,QAAA88D,EAAAr7B,QAAA,IAaAjiC,KAAA4nH,cACA,QAAA78G,EAAA,EAAqBA,EAAAoC,EAAA5J,OAAiBwH,IAAA,CACtC,IAAAgmC,EAAA5jC,EAAApC,GAEA,GAAAgmC,EAAAorE,SAAAhvG,EAAApC,EAAA,GAAAoxG,QAAAprE,EAAAqlK,YAAA,CACAp2M,KAAAq8Q,2BAAA,EACA,OAKA,IAAA0C,EAAA,KACAM,EAAA,EAEA,IAAAt0Q,EAAA,EAAmBA,EAAAoC,EAAA5J,OAAiBwH,IAAA,CACpCgmC,EAAA5jC,EAAApC,GAAA,IAEAuyD,EADA6+C,EAAAprE,EAAAorE,OAIAprE,EAAAqlK,aACA94I,EAAAt9D,KAAA4tP,SAAAzxI,EAAAq/J,EAAAx7Q,KAAAq8Q,2BACA/+M,EAAA84I,aAAA,EACAipE,EAAA,GAEA/hN,EAAAt9D,KAAA4tP,SAAAzxI,GAAAkjK,EAAA,EAAA9D,EAAA,GAAAv7Q,KAAAq8Q,2BAGA/+M,EAAAkrD,aACAlzF,EAAA,UAAA6mF,EAAA,kCAAA7+C,EAAArxC,IAGAqxC,IAAAyhN,IACAzhN,EAAAr7B,QAAA,EAEAq7B,EAAA0+I,eAAAjxM,IACAuyD,EAAA98D,SAAA,GAGA88D,EAAA0+I,aAAAjxM,EAEAuyD,EAAA84I,YAIA94I,EAAA6gN,aAAA,EAHA7gN,EAAA6gN,YAAApzQ,EAMAq0Q,EAAAr0Q,GACAg0Q,EAAAzhN,GAGAvsB,EAAAvwC,UACA88D,EAAA98D,SAAA,EAEA88D,EAAA84I,aAAA94I,EAAA6gN,YAAA,IAEA7gN,EAAA6gN,YAAApzQ,IAKAq0Q,EAAAr0Q,GACA/K,KAAAg+Q,iBAAA,SAAA1gN,EAAAngC,IAEAmgC,EAAAr7B,QAAAq7B,EAAAgiN,kBAAA,IACAhiN,EAAA98D,SAAA,EACA88D,EAAA0+I,aAAA1+I,EAAAghN,WAAAhhN,EAAA6gN,YAAA,GAIA7gN,EAAA98D,SAAA88D,EAAA6gN,YAAA,IACA7gN,EAAA6gN,YAAA7gN,EAAA0+I,iBAQAtvM,MAAA,WAEA,OADA1M,KAAAg+Q,iBAAAh+Q,KAAAmuP,aACAnuP,MAEAmuP,YAAA,SAAA7wL,GACAA,EAAA5wD,SAEA6yQ,mBAAA,SAAA7iK,GACA18G,KAAA4pH,iBAAAlN,GAaAoxI,YAAA,SAAA3xI,EAAA69E,GACA,GAAAA,EAAA,CACA,IAAAwlF,EAAAx/Q,KAAAo8Q,aAEAoD,EAAArjK,GAGAvqF,EAAAzmB,MAAAq0Q,EAAArjK,GAAA69E,GAAA,GAFAwlF,EAAArjK,GAAA69E,EAKA,QAAAjvL,EAAA,EAAqBA,EAAA/K,KAAAuoH,YAAAhlH,OAA6BwH,IAAA,CAClD,IAAA00Q,EAAAz/Q,KAAAuoH,YAAAx9G,GAEA,GAAA00Q,IAAAtjK,GAAAsjK,IAAAtjK,EAAAo/J,EAAA,CACA,IAAAj+M,EAAAt9D,KAAAqmH,QAAAo5J,GACA7tP,EAAAzmB,MAAAmyD,EAAAkiN,EAAArjK,IAAA,OAUAozD,SAAA,SAAApzD,GACA,IAAA8K,EAAAjnH,KAAAqmH,QACAiC,EAAAtoH,KAAAuoH,YACAjrD,EAAA2pD,EAAA9K,GAEA7+C,IAIAA,EAAAsgB,IAAAk2I,WAAAwM,YAAAhjK,EAAAsgB,YACAqpC,EAAA9K,GACAmM,EAAAj3C,OAAAz/C,EAAAwZ,QAAAk9E,EAAAnM,GAAA,KAMA99C,OAAA,SAAA/7D,EAAAC,GACA,GAAAvC,KAAAw8Q,SAAAj8Q,MASK,CACL,IAAAy7Q,EAAAh8Q,KAAAw8Q,SAEAR,EAAAz7Q,MAAAm/Q,QAAA,OAEA,IAAA5/Q,EAAAE,KAAAk8Q,MAOA,GANA,MAAA55Q,IAAAxC,EAAAwC,SACA,MAAAC,IAAAzC,EAAAyC,UACAD,EAAAtC,KAAAy8Q,SAAA,GACAl6Q,EAAAvC,KAAAy8Q,SAAA,GACAT,EAAAz7Q,MAAAm/Q,QAAA,GAEA1/Q,KAAAskC,SAAAhiC,GAAAC,IAAAvC,KAAAukC,QAAA,CAIA,QAAAtY,KAHA+vP,EAAAz7Q,MAAA+B,QAAA,KACA05Q,EAAAz7Q,MAAAgC,SAAA,KAEAvC,KAAAqmH,QACArmH,KAAAqmH,QAAAn7G,eAAA+gB,IACAjsB,KAAAqmH,QAAAp6F,GAAAoyC,OAAA/7D,EAAAC,GAIAqvB,EAAAzK,KAAAnnB,KAAA2/Q,mBAAA,SAAAriN,GACAA,EAAAe,OAAA/7D,EAAAC,KAEAvC,KAAAmzB,SAAA,GAGAnzB,KAAAskC,OAAAhiC,EACAtC,KAAAukC,QAAAhiC,MAtCA,CAEA,SAAAD,GAAA,MAAAC,EACA,OAGAvC,KAAAskC,OAAAhiC,EACAtC,KAAAukC,QAAAhiC,EACAvC,KAAA4tP,SAAA0tB,GAAAj9M,OAAA/7D,EAAAC,GAiCA,OAAAvC,MAOA4/Q,WAAA,SAAAzjK,GACA,IAAA7+C,EAAAt9D,KAAAqmH,QAAAlK,GAEA7+C,GACAA,EAAA5wD,SAOAoJ,QAAA,WACA9V,KAAAitB,KAAAo8F,UAAA,GACArpH,KAAAitB,KAAAjtB,KAAAgoH,QAAAhoH,KAAAw8Q,SAAAx8Q,KAAAqmH,QAAA,MASAsB,kBAAA,SAAA7nH,GAGA,GAFAA,KAAA,GAEAE,KAAA4nH,gBAAA5nH,KAAA+9Q,mBACA,OAAA/9Q,KAAAqmH,QAAAi1J,GAAA19L,IAGA,IAAAiiM,EAAA,IAAAzE,EAAA,QAAAp7Q,KAAAF,EAAA+nH,YAAA7nH,KAAA2L,KAIA,GAHAk0Q,EAAAtD,cACAsD,EAAAnzQ,OAAA,EAAA5M,EAAA48G,iBAAA18G,KAAA4pH,kBAEA9pH,EAAA+nH,YAAA7nH,KAAA2L,IAAA,CACA3L,KAAAmzB,UACA,IAAA7wB,EAAAu9Q,EAAAjiM,IAAAt7E,MACAC,EAAAs9Q,EAAAjiM,IAAAr7E,OACAlC,EAAAw/Q,EAAAx/Q,IACAL,KAAAi/Q,UAAA,SAAA3hN,GACAA,EAAAkrD,YACAnoH,EAAAy1B,UAAAwnC,EAAAsgB,IAAA,IAAAt7E,EAAAC,GACS+6D,EAAAmrD,iBACTo3J,EAAAx/Q,IAAA6Y,OACAokD,EAAAmrD,eAAAo3J,EAAAx/Q,KACAw/Q,EAAAx/Q,IAAAiZ,kBAQA,IAHA,IAAAgP,EAAA,GACAy/F,EAAA/nH,KAAAgoH,QAAAC,gBAAA,GAEAl9G,EAAA,EAAqBA,EAAAg9G,EAAAxkH,OAAwBwH,IAAA,CAC7C,IAAAgmC,EAAAg3E,EAAAh9G,GAEA/K,KAAA0oH,WAAA33E,EAAA8uO,GAAA,EAAAv3P,GAIA,OAAAu3P,EAAAjiM,KAMArvE,SAAA,WACA,OAAAvO,KAAAskC,QAMAg6B,UAAA,WACA,OAAAt+D,KAAAukC,SAEAk4O,SAAA,SAAAqD,GACA,IAAAhgR,EAAAE,KAAAk8Q,MACAx0B,EAAA,mBAAAo4B,GACAC,EAAA,+BAAAD,GACAE,EAAA,6BAAAF,GACAG,EAAA,iCAAAH,GAEA,SAAAhgR,EAAA4nP,IAAA,SAAA5nP,EAAA4nP,GACA,OAAAn8M,WAAAzrC,EAAA4nP,IAGA,IAAAz6N,EAAAjtB,KAAAitB,KAEAwxN,EAAA7zO,SAAAs1Q,YAAAtJ,iBAAA3pP,GACA,OAAAA,EAAA8yP,IAAA/iC,EAAAyB,EAAAiJ,KAAA1K,EAAA/vN,EAAA1sB,MAAAmnP,MAAA1K,EAAAyB,EAAAuhC,KAAA,IAAAhjC,EAAAyB,EAAAwhC,KAAA,MAEAE,YAAA,SAAA17M,EAAA94D,GACAA,KAAA3L,KAAA2L,IACA,IAAAiqB,EAAAhrB,SAAAirB,cAAA,UACAx1B,EAAAu1B,EAAAhoB,WAAA,MACAnM,EAAAgjE,EAAAljE,kBACAhB,EAAAkkE,EAAAlkE,MACA88K,EAAA98K,EAAAK,WAAA+K,EACA7K,EAAAP,EAAAO,cAAA6K,EACA5K,EAAAR,EAAAQ,cAAA4K,EACA8E,EAAAlQ,EAAAuqP,YAAAvqP,EAAAkQ,UAAA,EACA2vQ,EAAA15Q,KAAAS,IAAAsJ,EAAA,GAAA3P,EAAAu8K,GACAgjG,EAAA35Q,KAAAS,IAAAsJ,EAAA,EAAA3P,EAAAu8K,GACAijG,EAAA55Q,KAAAS,IAAAsJ,EAAA,GAAA1P,EAAAs8K,GACAkjG,EAAA75Q,KAAAS,IAAAsJ,EAAA,EAAA1P,EAAAs8K,GACA/6K,EAAAb,EAAAa,MAAA89Q,EAAAC,EACA99Q,EAAAd,EAAAc,OAAA+9Q,EAAAC,EACA3qP,EAAAtzB,QAAAqJ,EACAiqB,EAAArzB,SAAAoJ,EACAtL,EAAA0X,MAAApM,KACAtL,EAAAynH,UAAA,IAAAxlH,EAAAC,GACAlC,EAAAsL,MACA,IAAA60Q,EAAA,CACAl6Q,SAAAm+D,EAAAn+D,SACAE,SAAAi+D,EAAAj+D,SACAuR,MAAA0sD,EAAA1sD,OAEA0sD,EAAAn+D,SAAA,CAAA85Q,EAAA3+Q,EAAAO,EAAAs+Q,EAAA7+Q,EAAAQ,GACAwiE,EAAAj+D,SAAA,EACAi+D,EAAA1sD,MAAA,MACA0sD,EAAA69C,kBAEA79C,GACAA,EAAArkE,MAAAC,GAGA,IAAAogR,EAAAjvP,EACAkvP,EAAA,IAAAD,EAAA,CACAlgR,MAAA,CACAyB,EAAA,EACAC,EAAA,EACA6Q,MAAA8iB,KAgBA,OAZA,MAAA4qP,EAAAl6Q,WACAo6Q,EAAAp6Q,SAAAm+D,EAAAn+D,SAAAk6Q,EAAAl6Q,UAGA,MAAAk6Q,EAAAh6Q,WACAk6Q,EAAAl6Q,SAAAi+D,EAAAj+D,SAAAg6Q,EAAAh6Q,UAGA,MAAAg6Q,EAAAzoQ,QACA2oQ,EAAA3oQ,MAAA0sD,EAAA1sD,MAAAyoQ,EAAAzoQ,OAGA2oQ,IAGA,IAAAj+Q,EAAAkpO,EACAjpO,EAAAC,QAAAF,0BC59BA,IAAAjD,EAAaX,EAAQ,QAErB8hR,EAAc9hR,EAAQ,QAEtBgjF,EAAchjF,EAAQ,QAEtBi5G,EAAAj2B,EAAAi2B,UAoBA3wF,EAAA3nB,EAAA2nB,KACAvd,EAAApK,EAAAoK,SACAg3Q,GAAA,EA8BA/4E,EAAA,SAAA1kL,GACA,IAAA09P,EAAA19P,EAAA09P,cACAt4E,EAAAplL,EAAAhjB,KAMAk3I,EAAAr3I,KAAAmjB,OAAA3jB,EAAA+V,MAAA4N,GAMAnjB,KAAAG,KAAAooM,EAMAvoM,KAAA6gR,gBAMA7gR,KAAA8gR,eAAAC,EAAAF,GACA,IAAAG,EAAAC,EAAA14E,GAMAvoM,KAAA+oM,YAAAi4E,EAAAj4E,YAMA/oM,KAAAkhR,eAAAF,EAAAE,eAMAlhR,KAAAmhR,OAAAH,EAAAG,OAAAN,GAEA,cAAAA,GACAO,EAAA/pI,GACAgqI,EAAAhqI,IACG,aAAAwpI,EACHxpI,EAAAG,WAAA8pI,EAAAjqI,GAEA+pI,EAAA/pI,GAAA,IAGA73I,EAAA4qD,OAAA,WAAAy2N,GAAAxpI,EAAAx+B,YACAuoK,EAAA/pI,KAIAwwD,EAAA5nM,UAAA,CACAC,YAAA2nM,EACA05E,iBAAA,SAAAt9Q,GACA,IAAAm5K,EAAAp9K,KAAA8gR,eAAA78Q,GAEA,OAAAjE,KAAAmhR,OAAA/jG,EAAAn5K,IAEAu9Q,cAAA,WACA,OAAAhiR,EAAAoJ,KAAA5I,KAAA8gR,eAAA9gR,QAGA,IAAAihR,EAAAp5E,EAAAo5E,eAAA,CACAn6P,MAAA,CACAiiL,YAAA04E,EAAA,SAMAP,eAAA,WACA,IAAA7pI,EAAAr3I,KAAAmjB,OACA,OAAA3jB,EAAAoJ,KAAA,aAAAyuI,EAAAwpI,cAAA,SAAA58Q,EAAAy9Q,GAEA,OADAA,IAAAz9Q,EAAAjE,KAAA8gR,eAAA78Q,IACA09Q,EAAA5hR,KAAAC,KAAAiE,IACO,SAAAA,EAAAy9Q,EAAAriP,GAGP,IAAAuiP,IAAAviP,EAGA,OAFAqiP,IAAAz9Q,EAAAjE,KAAA8gR,eAAA78Q,IACAo7B,EAAAshP,EAAA1mJ,SAAAh2H,EAAAozI,EAAAwqI,aAAAxiP,GACAuiP,EAAAviP,EAAAshP,EAAA5mJ,UAAA16F,EAAA,SACOr/B,OAEPmhR,OAAA,CACAruI,OAAA,SAAAsqC,GACA,OAAAujG,EAAA5mJ,UAAA4mJ,EAAA1mJ,SAAAmjD,EAAAp9K,KAAAmjB,OAAA0+P,cAAA,SAEA1oI,SAAAwoI,EACAG,UAAA,SAAA1kG,EAAAn5K,GACA,IAAAP,EAAAq+Q,EAAAhiR,KAAAC,KAAAiE,GAMA,OAJA,MAAAP,IACAA,EAAAi9Q,EAAA5mJ,UAAA4mJ,EAAA1mJ,SAAAmjD,EAAAp9K,KAAAmjB,OAAA0+P,cAAA,SAGAn+Q,GAEAs+Q,MAAAC,IAGAC,SAAAC,EAAA,SAAAr7P,EAAA7iB,GACA,OAAA08Q,EAAA/lJ,UAAA9zG,EAAA7iB,KAEAm+Q,gBAAAD,EAAA,SAAAr7P,EAAA7iB,GACA,OAAA08Q,EAAA/lJ,UAAA9zG,EAAA,KAAA7iB,KAEAo+Q,eAAAF,EAAA,SAAAr7P,EAAA7iB,GACA,OAAA08Q,EAAA/lJ,UAAA9zG,EAAA,UAAA7iB,KAEAq+Q,WAAAH,EAAA,SAAAr7P,EAAA7iB,GACA,OAAA08Q,EAAA9lJ,YAAA/zG,EAAA7iB,KAEA6vD,QAAA,CACAi1I,YAAA04E,EAAA,WACAN,OAAAoB,EAAA,QAEAjrB,MAAA,CACAvuD,YAAA04E,EAAA,SACAN,OAAA,CACAruI,OAAAmvI,EACA9oI,SAAA8oI,EACAH,UAAAG,EACAD,MAAAC,IAGAx3P,OAAA,CACAs+K,YAAA,SAAA9kM,EAAAupB,EAAA4hH,GACA,IAAAozI,EAAAxiR,KAAAuhR,iBAAAt9Q,GAEA,GAAAzE,EAAAiK,SAAA+4Q,GACApzI,EAAA,SAAAozI,QACO,GAAA54Q,EAAA44Q,GACP,QAAAl0Q,KAAAk0Q,EACAA,EAAAt3Q,eAAAoD,IACA8gI,EAAA9gI,EAAAk0Q,EAAAl0Q,KAKA6yQ,OAAA,CACAruI,OAAA2vI,EACAtpI,SAAAwoI,EACAG,UAAA,SAAA1kG,EAAAn5K,GACA,IAAAP,EAAAq+Q,EAAAhiR,KAAAC,KAAAiE,GAMA,OAJA,MAAAP,IACAA,EAAA++Q,EAAA1iR,KAAAC,KAAAo9K,IAGA15K,GAEAs+Q,MAAAC,IAGA3kQ,WAAA,CACAyrL,YAAA04E,EAAA,cACAN,OAAAoB,EAAA,SAIA,SAAAlB,EAAAhqI,GACA,IAAAqrI,EAAArrI,EAAAqrI,UACArrI,EAAAsrI,kBAAA,EACAnjR,EAAA2nB,KAAAu7P,EAAA,SAAAtwD,EAAAvuN,GACAuuN,EAAAwwD,YAAA/+Q,EAGA,MAAAuuN,EAAA1pB,SACArxD,EAAAsrI,kBAAA,KAKA,SAAArB,EAAAjqI,GAEA,IAAAG,EAAAH,EAAAG,WACAkxD,EAAArxD,EAAAqxD,OACAm6E,EAAAxrI,EAAAwrI,YAAA,GAKA,GAJA17P,EAAAqwH,EAAA,SAAAsrI,EAAAj/Q,GACAg/Q,EAAAC,GAAAj/Q,KAGArE,EAAAwJ,QAAA0/L,GAAA,CACA,IAAAq6E,EAAA,GAEAvjR,EAAAoK,SAAA8+L,GACAvhL,EAAAuhL,EAAA,SAAAvrL,EAAA2lQ,GACA,IAAAj/Q,EAAAg/Q,EAAAC,GACAC,EAAA,MAAAl/Q,IAAA+8Q,GAAAzjQ,IAIA4lQ,EAAAnC,GAAAl4E,EAGAA,EAAAs6E,EAAA3rI,EAAA0rI,GAKA,QAAAh4Q,EAAAysI,EAAAj0I,OAAA,EAAqCwH,GAAA,EAAQA,IAC7C,MAAA29L,EAAA39L,YACA83Q,EAAArrI,EAAAzsI,IACAysI,EAAAnrH,OAKA,SAAA+0P,EAAA/pI,EAAAsN,GACA,IAAA+jD,EAAArxD,EAAAqxD,OACAq6E,EAAA,GAEAvjR,EAAAoK,SAAA8+L,GACAvhL,EAAAuhL,EAAA,SAAAvrL,GACA4lQ,EAAApwQ,KAAAwK,KAEG,MAAAurL,GACHq6E,EAAApwQ,KAAA+1L,GAGA,IAAAu6E,EAAA,CACAn8P,MAAA,EACA2D,OAAA,GAGAk6H,GAAA,IAAAo+H,EAAAx/Q,QAAA0/Q,EAAA/3Q,eAAAmsI,EAAAl3I,QAEA4iR,EAAA,GAAAA,EAAA,IAGAC,EAAA3rI,EAAA0rI,GAGA,SAAAZ,EAAAe,GACA,OACAn6E,YAAA,SAAA9kM,EAAAupB,EAAA4hH,GACAnrI,EAAAjE,KAAAuhR,iBAAAt9Q,GAEAmrI,EAAA,QAAA8zI,EAAA11P,EAAA,SAAAvpB,KAEAk9Q,OAAAoB,EAAA,QAIA,SAAAE,EAAArlG,GACA,IAAAsrB,EAAA1oM,KAAAmjB,OAAAulL,OACA,OAAAA,EAAAhiM,KAAAwT,MAAA49F,EAAAslE,EAAA,SAAAsrB,EAAAnlM,OAAA,aAGA,SAAAk+Q,EAAAl5E,GACA,gBAAAtkM,EAAAupB,EAAA4hH,GACAA,EAAAm5D,EAAAvoM,KAAAuhR,iBAAAt9Q,KAIA,SAAA09Q,EAAAvkG,GACA,IAAAsrB,EAAA1oM,KAAAmjB,OAAAulL,OACA,OAAAA,EAAA1oM,KAAAmjB,OAAAqtH,MAAA4sC,IAAAwjG,EAAAxjG,EAAAsrB,EAAAnlM,OAAA65K,GAGA,SAAA6kG,IACA,OAAAjiR,KAAAmjB,OAAAulL,OAAA,GAGA,SAAA65E,EAAAY,GACA,OACArwI,OAAA,SAAAsqC,GACA,OAAAtlE,EAAAslE,EAAA+lG,EAAAnjR,KAAAmjB,OAAAulL,QAAA,IAEAvvD,SAAAwoI,EACAG,UAAA,SAAA1kG,EAAAn5K,GACA,IAAAP,EAAAq+Q,EAAAhiR,KAAAC,KAAAiE,GAMA,OAJA,MAAAP,IACAA,EAAAo0G,EAAAslE,EAAA+lG,EAAAnjR,KAAAmjB,OAAAulL,QAAA,IAGAhlM,GAEAs+Q,MAAAC,GAIA,SAAAF,EAAA99Q,GACA,IAAAozI,EAAAr3I,KAAAmjB,OACAu/P,EAAArrI,EAAAqrI,UAEA,GAAArrI,EAAAsrI,iBAAA,CACA,IAAAS,EAAAv7E,EAAAw7E,eAAAp/Q,EAAAy+Q,GACAtwD,EAAAswD,EAAAU,GAEA,GAAAhxD,KAAA1pB,OACA,OAAA0pB,EAAA1pB,OAAA1oM,KAAAG,OAKA,SAAA6iR,EAAA3rI,EAAA0rI,GASA,OARA1rI,EAAAqxD,OAAAq6E,EAEA,UAAA1rI,EAAAl3I,OACAk3I,EAAAwqI,aAAAriR,EAAA4N,IAAA21Q,EAAA,SAAAl+M,GACA,OAAA87M,EAAAvnP,MAAAyrC,MAIAk+M,EAOA,IAAAhC,EAAA,CACAjuI,OAAA,SAAA7uI,GACA,OAAA6zG,EAAA7zG,EAAAjE,KAAAmjB,OAAA01F,WAAA,WAEAipK,UAAA,SAAA79Q,GACA,IAAAy+Q,EAAA1iR,KAAAmjB,OAAAu/P,UACAU,EAAAv7E,EAAAw7E,eAAAp/Q,EAAAy+Q,GAAA,GAEA,SAAAU,EACA,OAAAtrK,EAAAsrK,EAAA,GAAAV,EAAAn/Q,OAAA,cAGA41I,SAAA,SAAAl1I,GACA,IAAAJ,EAAA7D,KAAAmjB,OAAAq0H,WAAAx3I,KAAAmjB,OAAA0/P,YAAA5+Q,KAEA,aAAAJ,EAAA+8Q,EAAA/8Q,GAEAm+Q,MAAAxiR,EAAAwrD,MA2LA,SAAA4vD,EAAAG,EAAAxyG,EAAAC,GACA,OAAAuyG,EAAAxyG,GAAAC,EAAAD,EAAAC,EAnLAq/L,EAAAy7E,gBAAA,WACA,IAAA/5E,EAAA,GAIA,OAHA/pM,EAAA2nB,KAAA85P,EAAA,SAAAntL,EAAA7oF,GACAs+L,EAAA52L,KAAA1H,KAEAs+L,GAOA1B,EAAA07E,iBAAA,SAAAj1Q,EAAAwlF,GACAmtL,EAAA3yQ,GAAAwlF,GAOA+zG,EAAAW,YAAA,SAAAD,GACA,OAAA04E,EAAA/1Q,eAAAq9L,IAUAV,EAAA27E,WAAA,SAAA96E,EAAAr2H,EAAA3uD,GACAlkB,EAAAoK,SAAA8+L,GACAlpM,EAAA2nB,KAAAuhL,EAAAr2H,EAAA3uD,GAEA2uD,EAAAtyE,KAAA2jB,EAAAglL,IAIAb,EAAA47E,UAAA,SAAA/6E,EAAAr2H,EAAA3uD,GACA,IAAAggQ,EACAC,EAAAnkR,EAAAwJ,QAAA0/L,GAAA,GAAAlpM,EAAAoK,SAAA8+L,GAAA,IAA4Eg7E,GAAA,QAK5E,OAJA77E,EAAA27E,WAAA96E,EAAA,SAAAvrL,EAAAlS,GACA,IAAAgzP,EAAA5rL,EAAAtyE,KAAA2jB,EAAAvG,EAAAlS,GACAy4Q,EAAAC,EAAA1lB,EAAA0lB,EAAA14Q,GAAAgzP,IAEA0lB,GAUA97E,EAAA+7E,gBAAA,SAAA94Q,GACA,IACA+4Q,EADA1+M,EAAA,GAQA,OANAr6D,GAAAqc,EAAA85P,EAAA,SAAAlgQ,EAAAwnL,GACAz9L,EAAAI,eAAAq9L,KACApjI,EAAAojI,GAAAz9L,EAAAy9L,GACAs7E,GAAA,KAGAA,EAAA1+M,EAAA,MAYA0iI,EAAA2B,mBAAA,SAAAD,GACA,GAAA3/L,EAAA2/L,GAAA,CACA,IAAA5Z,EAAA,GACAxoK,EAAAoiL,EAAA,SAAA1kI,EAAA1kE,GACAwvL,EAAAh9K,KAAAxS,KAEAopM,EAAA5Z,MACG,KAAAnwL,EAAAwJ,QAAAugM,GAGH,SAFAA,IAAArqK,QAUA,OALAqqK,EAAAtzK,KAAA,SAAA6tP,EAAAC,GAGA,gBAAAA,GAAA,UAAAD,GAAA,IAAAA,EAAA14O,QAAA,gBAEAm+J,GAaA1B,EAAAm8E,UAAA,SAAAC,EAAAC,GACA,gBAAAA,KAAAD,GAAA,IAAAA,EAAA74O,QAAA84O,IAAAD,IAAAC,GAWAr8E,EAAAw7E,eAAA,SAAAp/Q,EAAAy+Q,EAAAyB,GAIA,IAHA,IAAAC,EACAzsQ,EAAAmC,IAEA/O,EAAA,EAAA0B,EAAAi2Q,EAAAn/Q,OAAyCwH,EAAA0B,EAAS1B,IAAA,CAClD,IAAAs5Q,EAAA3B,EAAA33Q,GAAA9G,MAEA,SAAAogR,EAAA,CACA,GAAAA,IAAApgR,GAKA,kBAAAogR,OAAApgR,EAAA,GACA,OAAA8G,EAGAo5Q,GAAAG,EAAAD,EAAAt5Q,IAIA,IAAAA,EAAA,EAAA0B,EAAAi2Q,EAAAn/Q,OAAyCwH,EAAA0B,EAAS1B,IAAA,CAClD,IAAAqnN,EAAAswD,EAAA33Q,GACA2R,EAAA01M,EAAA11M,SACAq+F,EAAAq3G,EAAAr3G,MAEA,GAAAr+F,EAAA,CACA,GAAAA,EAAA,MAAA5C,KACA,GAAA8gG,EAAAG,EAAA,GAAA92G,EAAAyY,EAAA,IACA,OAAA3R,OAEO,GAAA2R,EAAA,KAAA5C,KACP,GAAA8gG,EAAAG,EAAA,GAAAr+F,EAAA,GAAAzY,GACA,OAAA8G,OAEO,GAAA6vG,EAAAG,EAAA,GAAAr+F,EAAA,GAAAzY,IAAA22G,EAAAG,EAAA,GAAA92G,EAAAyY,EAAA,IACP,OAAA3R,EAGAo5Q,GAAAG,EAAA5nQ,EAAA,GAAA3R,GACAo5Q,GAAAG,EAAA5nQ,EAAA,GAAA3R,IAIA,GAAAo5Q,EACA,OAAAlgR,IAAA6V,IAAA4oQ,EAAAn/Q,OAAA,EAAAU,KAAA6V,IAAA,EAAAsqQ,EAGA,SAAAE,EAAAr7Q,EAAApF,GACA,IAAA0gR,EAAA79Q,KAAAiR,IAAA1O,EAAAhF,GAEAsgR,EAAA5sQ,IACAA,EAAA4sQ,EACAH,EAAAvgR,KASA,IAAApB,EAAAolM,EACAnlM,EAAAC,QAAAF,0BC/kBA,IAAAjD,EAAaX,EAAQ,QAErB+jB,EAAkB/jB,EAAQ,QAE1B2lR,EAAW3lR,EAAQ,QAEnB4lR,EAAkB5lR,EAAQ,QAE1Bg6P,EAAA4rB,EAAA5rB,iBAoBAp2P,EAAAmgB,EAAAle,OAAA,CACAvE,KAAA,kBAKAukR,UAAA,KACA7gQ,eAAA,SAAAV,EAAA5I,GAEA,IAAA0S,EAAA,CACA3e,KAAA6U,EAAA7U,KACA61D,SAAAhhD,EAAA5X,MAEAo5Q,EAAA13P,GACA,IAAAu5K,EAAArjL,EAAAqjL,QAAA,GAEAo+E,EAAA,GAKA,OAJAA,EAAAp+E,SAIAg+E,EAAAK,WAAA53P,EAAAjtB,KAAA4kR,GAAAr5Q,MAEA6rI,cAAA,WACAp3I,KAAA8kR,iBAMA95P,cAAA,SAAAvF,GACA,IAAAT,EAAApC,EAAA3iB,UAAA+qB,cAAAtiB,MAAA1I,KAAA2I,WACA0U,EAAArd,KAAAwa,UAAAwrL,KAAA++E,mBAAAt/P,GAEA,OADAT,EAAA8zO,aAAAD,EAAAx7O,EAAArd,MACAglB,GAEAlC,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EAEAjhB,OAAA,cACAC,OAAA,UAEA4C,WAAA,EACAF,WAAA,GAEAinL,SAAA,EACAk/E,iBAAA,EAEAt+E,kBAAA,EAIAmsB,gBAAA,aAEAoyD,UAAA,aACAC,wBAAA,EACApgQ,MAAA,CAEAwrB,OAAA,SACA4rE,MAAA,EACApoD,QAAA,EAGA2vF,MAAA,SACAn9I,SAAA,SACAkJ,SAAA,EACA63G,QAAA,EACAxK,SAAA,IAEAvR,UAAA,CACAsR,YAAA,EACA/Z,YAAA,QACAsiL,WAAA,QACAvkR,WAAA,EACAC,YAAA,qBACAC,cAAA,EACAC,cAAA,EACA+yD,QAAA,EACA+oD,SAAA,GACArZ,UAAA,CACA1vC,QAAA,GAEAyvC,SAAA,CACAzvC,QAAA,KAIAsxN,cAAA,YACAC,kBAAA,IACA5lM,wBAAA,IACAylI,gBAAA,WACA35M,KAAA,GACAi7L,OAAA,GAaAvwK,KAAA,QAEAiwK,YAAA,WACA,OAAAlmM,KAAA0kR,WAMAI,cAAA,SAAAjgC,GACAA,EAAA7kP,KAAA0kR,UAAA7/B,IAAA7kP,KAAA0kR,UACA,IAAAz3P,EAAAjtB,KAAAilB,aAAA+gL,KAAA/4K,KAEA43N,QAAA53N,KAAAizM,SAAA2kB,MACA7kP,KAAA0kR,UAAAz3P,MASA,SAAA03P,EAAAW,GAIA,IAAA5rQ,EAAA,EACAla,EAAA2nB,KAAAm+P,EAAAnhN,SAAA,SAAA/xC,GACAuyP,EAAAvyP,GACA,IAAAmzN,EAAAnzN,EAAAnuB,MACAzE,EAAAwJ,QAAAu8O,SAAA,IACA7rO,GAAA6rO,IAEA,IAAAggC,EAAAD,EAAArhR,MAEAzE,EAAAwJ,QAAAu8Q,KACAA,IAAA,KAGA,MAAAA,GAAA3rQ,MAAA2rQ,MACAA,EAAA7rQ,GAIA6rQ,EAAA,IACAA,EAAA,GAGA/lR,EAAAwJ,QAAAs8Q,EAAArhR,OAAAqhR,EAAArhR,MAAA,GAAAshR,EAAAD,EAAArhR,MAAAshR,EAGA7iR,EAAAC,QAAAF,0BC1LA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErB4O,EAAmB5O,EAAQ,QAE3B2mR,EAAqB3mR,EAAQ,QAE7BgvQ,EAAehvQ,EAAQ,QAEvBuvM,EAAmBvvM,EAAQ,QAE3B4mR,EAAyB5mR,EAAQ,QAoBjC6mR,EAAA,yBACAC,EAAA,kBACAC,EAAA,yBACAC,EAAAjnR,EAAA+1Q,SAAAmR,OAAAC,MAoJA,SAAA34K,EAAAroG,EAAAihR,EAAAC,EAAAC,EAAA15P,GASA,GAAAA,EAAA,CAIA,IAAArY,EAAApP,EAAA2sB,QAEA,IAAAvd,EAAAyxQ,GAAA,CAIAzxQ,EAAAwxQ,KACAxxQ,EAAAwxQ,GAAAQ,GAGA,IAAA/iR,EAAAgrM,EAAAI,eAAAr6L,EAAAwxQ,EAAAM,EAAAD,GACA5iR,EAAA2B,EAAAmhR,KAGA,SAAAC,EAAAphR,EAAAmhR,GACA,IAAAnhR,EAAAqhR,aAAA,CACA,IAAAjyQ,EAAApP,EAAA2sB,QACAvd,EAAAyxQ,IAAA,EACA7gR,EAAAqoG,eAAA,CACAjtG,KAAA,cACAkkN,MAAA6hE,IAEA/xQ,EAAAyxQ,IAAA,GAIA,SAAAS,EAAAC,EAAAC,EAAAh7Q,EAAAka,GACA,QAAA1a,EAAA,EAAA0B,EAAA85Q,EAAAhjR,OAA6CwH,EAAA0B,EAAS1B,IAAA,CACtD,IAAA23J,EAAA6jH,EAAAx7Q,GAEA,GAAAu7Q,EAAA5jH,EAAA0tE,WAAA3qN,EAAAla,EAAAm3J,EAAA8jH,UAAA9jH,GACA,UAKA,SAAA+jH,EAAAnsQ,GACA,IAAAq0O,EAAAr0O,EAAAq0O,cAEA,GAAAnvP,EAAAiK,SAAAklP,GAAA,CACA,IAAA+3B,EAAA,GAOA,OANAlnR,EAAA2nB,KAAA0mP,EAAA,SAAA8Y,EAAAv2C,GACAs2C,EAAAt2C,GAAA,SAAA3qN,EAAAla,EAAAi7Q,EAAA9jH,GACA,IAAA8xD,EAAAjpN,EAAAkqK,cAAAhwJ,GACA,OAAAkhQ,EAAAh4B,GAAAn6B,EAAAgyD,EAAA9jH,MAGAgkH,EACG,GAAAlnR,EAAAwK,WAAA2kP,GAAA,CACH,IAAAi4B,EAAA,GAIA,OAHApnR,EAAA2nB,KAAA0mP,EAAA,SAAAgZ,EAAAz2C,GACAw2C,EAAAx2C,GAAAue,IAEAi4B,EAGA,OAAAj4B,EAGA,SAAAm4B,EAAAlvD,EAAA/0M,GACA,IAAAkkQ,EAAAnvD,EAAAz0M,OAAAN,YACA,aAAAkkQ,GAAA,QAAAA,IAAAvnR,EAAAwJ,QAAA+9Q,GAAAvnR,EAAA4rC,QAAA27O,EAAAlkQ,GAAA,EAAAA,IAAAkkQ,GAGA,SAAAC,EAAAtkH,GACA,IAAA8jH,EAAA9jH,EAAA8jH,UAAA,GAOA,OANAhnR,EAAA2nB,KAAA0mP,EAAAnrG,EAAA0tE,WAAA,SAAA62C,EAAAC,GAEAV,EAAAU,GAAA,SAAA1yD,GACA,OAAAyyD,EAAAzyD,EAAAgyD,EAAA9jH,MAGAA,EApOA9jK,EAAAQ,eAAAymR,EAAA,SAAAtrQ,EAAAxV,EAAAynB,GACAjS,EAAA8kG,cAAA,CACArzF,SAAA,SACG,SAAA4rM,GACHprM,GAAA,qBAAAA,EAAArsB,MAAAy3N,EAAAuvD,eAAA,UAAA36P,EAAAvhB,IAAAuhB,EAAAgsM,YAAA,CACA4X,WAAA,IAEA,IAAApY,EAAAJ,EAAAI,mBAAA,IAAAytD,EAAA7tD,EAAAz0M,OAAA5I,GACAy9M,EAAAovD,eAAAxvD,EAAAE,MAAAv9M,OAOA3b,EAAAO,eAAA0mR,EAAA,SAAAtrQ,EAAAxV,EAAAynB,GACA,IACAw5P,EACAC,EAFAC,EAAA,GAGA3rQ,EAAA8kG,cAAA,CACArzF,SAAA,SACG,SAAA4rM,EAAAyvD,GACH,IAAAC,EAAA,CACAnvD,QAAAP,EAAA3rM,GACAo7P,aACAE,UAAA3vD,EAAAtpN,KACAwpN,MAAAt4N,EAAA+V,MAAAqiN,EAAAE,OACAhX,SAAA,IAIAolE,EAAAvzQ,KAAA20Q,GACA,IAAA9uD,EAAAZ,EAAAz0M,OACAqkQ,EAAAhvD,EAAAgvD,UACAC,EAAA,GACAC,EAAA,GACAC,EAAA,GACAC,EAAA,EAEAP,IAEArB,EAAAxtD,EAAAwtD,aACAC,EAAAztD,EAAAytD,eAIA,IAAAnuD,EAAAt4N,EAAA4N,IAAAwqN,EAAAE,MAAA,SAAAp1D,GACA,OAAAskH,EAAAxnR,EAAA8V,SAAA,CACAymN,aAAA8rD,EAAAnlH,EAAA0tE,WAAA1tE,IACOA,MAEPwlC,EAAAs9E,EAAAz9E,qBAAA6vB,EAAAz0M,OAAAuiQ,EAAA,SAAAj9E,GACAA,EAAAo4E,cAAA,UAMA,SAAAiH,EAAAjlQ,GACA,cAAA2kQ,GAAAC,EAAA5kQ,GAKA,SAAAklQ,EAAAxB,GACA,QAAAA,EAAAhjR,OAsBA,SAAAykR,EAAA1tQ,EAAAuI,GACA,IAAA5d,EAAAqV,EAAApV,iBACA0iR,GAAA3iR,EAAAgjR,iBACAH,EAAAjlQ,IAAA5d,EAAAijR,gBAAA5tQ,EAAAE,UAAA,SAAA2tQ,EAAA1iQ,GACA,WAAA0iQ,IAAAT,EAAAjiQ,GAAA,KAIA,SAAA2iQ,EAAA9tQ,EAAAuI,EAAA0jQ,GACA,IAAAD,EAAAG,EAAAnsQ,GAEA,GAAAgsQ,IAAAQ,EAAAlvD,EAAA/0M,KAIArjB,EAAA2nB,KAAA2wM,EAAA,SAAAp1D,GACA4jH,EAAA5jH,EAAA0tE,YAAAxY,EAAAI,mBAAAqwD,cAAA3lH,EAAApoJ,EAAAC,IAAAgsQ,EAAA5zQ,KAAA+vJ,GACAklH,GAAAG,EAAAxB,KAGAuB,EAAAjlQ,IAAAklQ,EAAAxB,IAAA,CACA,IAAAh7Q,EAAA+O,EAAAE,UACAjP,EAAA4b,KAAA,SAAA1B,GACA4gQ,EAAAC,EAAAC,EAAAh7Q,EAAAka,KACAiiQ,EAAAjiQ,GAAA,MAzDAjmB,EAAAwJ,QAAAw+Q,IAAAhoR,EAAA2nB,KAAAqgQ,EAAA,SAAA3kQ,GACA4kQ,EAAA5kQ,GAAA,IA2BAtI,EAAAkkG,WAAA,SAAAnkG,EAAAuI,GACA,IAAA0jQ,EAAAoB,EAAA9kQ,GAAA,GACA,aAAAvI,EAAA6J,QAAA6jQ,EAAA1tQ,EAAAuI,EAAA0jQ,GAAA6B,EAAA9tQ,EAAAuI,EAAA0jQ,KAkCAhsQ,EAAAkkG,WAAA,SAAAnkG,EAAAuI,GACA,IAAAylQ,EAAA,CACAx2F,SAAAx3K,EAAA2R,GACApJ,cACAgF,WAAAvN,EAAAhM,KACAmX,UAAA,IAIA6hQ,EAAAxmE,SAAAnuM,KAAA21Q,GACA,IAAAhC,EAAAG,EAAAnsQ,GACAisQ,EAAAoB,EAAA9kQ,GACAtX,EAAA+O,EAAAE,UACAwuL,EAAA8+E,EAAAjlQ,GAAA,SAAA4C,GACA,OAAAiiQ,EAAAjiQ,IAAA6iQ,EAAA7iQ,UAAA9S,KAAApH,EAAAshL,YAAApnK,IAAA,yBACO,SAAAA,GACP,OAAA4gQ,EAAAC,EAAAC,EAAAh7Q,EAAAka,IAAA6iQ,EAAA7iQ,UAAA9S,KAAApH,EAAAshL,YAAApnK,IAAA,0BAGAqiQ,EAAAjlQ,GAAA+kQ,EAAAG,EAAAxB,KAAAf,EAAAz8E,YAAA28E,EAAAx9E,EAAA38L,EAAAy9L,OAGA57F,EAAAroG,EAAAihR,EAAAC,EAAAC,EAAA15P,KA2FA,IAAAq7P,EAAA,CACAp9E,MAAAjrM,EAAAwrD,KACA0/I,MAAAlrM,EAAAwrD,KACAvpD,KAAA,SAAAihK,GACA,OAAA6lH,EAAA7lH,EAAA1qD,QAEAhT,QAAA,SAAA09D,GAIA,IAHA,IAAA8lH,EACAxwK,EAAA0qD,EAAA1qD,MAEAjtG,EAAA,EAAA0B,EAAAurG,EAAAz0G,OAAuCwH,EAAA0B,EAAS1B,IAAA,CAChDy9Q,KAAA,EAAA1uQ,UAAA,CAAAA,WACA,IAAA2lL,EAAAznF,EAAAjtG,GACA00L,EAAA,GAAA+oF,EAAA,QAAAA,EAAA,MAAA/oF,EAAA,IACAA,EAAA,GAAA+oF,EAAA,QAAAA,EAAA,MAAA/oF,EAAA,IACAA,EAAA,GAAA+oF,EAAA,QAAAA,EAAA,MAAA/oF,EAAA,IACAA,EAAA,GAAA+oF,EAAA,QAAAA,EAAA,MAAA/oF,EAAA,IAGA,OAAA+oF,GAAAD,EAAAC,KAIA,SAAAD,EAAAC,GACA,WAAA/6Q,EAAA+6Q,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,6CClTA9lR,EAAAC,QAAA,SAAA8lR,EAAAC,GACA,OAAAA,EACAD,EAAAl+Q,QAAA,eAAAm+Q,EAAAn+Q,QAAA,WACAk+Q,yBCgCA,SAAAr1B,EAAAl8J,EAAA1qE,EAAAm8P,GACA,IAAAC,EAAA1xL,EAAA6tB,UACA7oG,EAAAg7E,EAAAzY,YACAujC,EAAAx1F,EAAAw1F,KACAn4C,EAAAqtB,EAAA3xF,YAAA2W,GAEA,SAAAsQ,EAAAxV,IAAA,MAAAwV,EAAAvV,GAAA,CACA4yD,EAAA,IAAAr9C,EAAAxV,GACA6yD,EAAA,IAAAr9C,EAAAvV,GACAiF,EAAAg7E,EAAAmqB,YAAAx3C,GACAqtB,EAAAtY,UAAA1iE,GAGA,SAAA8lG,EAAA,CACA,GAAA2mK,EAAA,CACA,IAAAE,EAAAF,EAAAzhR,KAAA,EACA4hR,EAAAH,EAAAxhR,KAAA2S,IACAkoG,EAAAt7G,KAAAS,IAAAT,KAAAQ,IAAA0hR,EAAA5mK,EAAA8mK,GAAAD,GAAAD,EAIA1xL,EAAAn/E,MAAA,IAAAiqG,EACA9qB,EAAAn/E,MAAA,IAAAiqG,EACA,IAAA17G,EAAA4wF,EAAA5wF,SACAo3L,GAAAlxK,EAAA5U,QAAAtR,EAAA,KAAA07G,EAAA,GACA27E,GAAAnxK,EAAA3U,QAAAvR,EAAA,KAAA07G,EAAA,GACA17G,EAAA,IAAAo3L,EACAp3L,EAAA,IAAAq3L,EACAzmG,EAAAorB,kBAEApmG,EAAAg7E,EAAAmqB,YAAAx3C,GACAqtB,EAAAtY,UAAA1iE,GACAg7E,EAAAw3E,QAAA1sD,EAAA4mK,GAGA,OACA1sQ,OAAAg7E,EAAAzY,YACAujC,KAAA9qB,EAAA6tB,WAIApiH,EAAAywP,4CCpFA,IAAAhyB,EAAcviO,EAAQ,QACtBuiO,IAAApoG,EAAA,UAA8B+vJ,GAAKlqR,EAAQ,gCCkB3C,IAAAW,EAAaX,EAAQ,QAErB+iB,EAAgB/iB,EAAQ,QA0BxB,SAAA4D,EAAAw5N,EAAA1hN,GACA,IAEAD,EAFAuvD,EAAA,GACAhnD,EAAAo5M,EAAAp5M,YAGA,SAAAA,KAAAvI,EAAAC,EAAA2pM,iBAAArhM,IACA,OACAgnD,MAAA,IAIA,IAAAt+D,EAAA+O,EAAAE,UACAiL,EAAA7D,EAAAkb,eAAAvxB,EAAA0wN,GAEA,SAAAx2M,KAAA,GAAAjmB,EAAAwJ,QAAAyc,GACA,OACAokD,MAAA,IAIA,IAAA94B,EAAAxlC,EAAA4iL,iBAAA1oK,GACAxgB,EAAAqV,EAAApV,iBAEA,GAAAoV,EAAAuO,mBACAghD,EAAAvvD,EAAAuO,mBAAApD,IAAA,QACG,GAAAxgB,KAAAM,YACHskE,EAAA5kE,EAAAM,YAAAgG,EAAAy9Q,UAAAxpR,EAAA4N,IAAAnI,EAAAwzE,WAAA,SAAAn9D,GACA,OAAA/P,EAAA8P,aAAAC,KACKmK,GAAA,aACF,GAAAsrB,EAAA,CAEH,IAAAtvC,EAAAsvC,EAAAxvC,kBAAAgU,QACA9T,EAAA4X,eAAA03B,EAAAlqC,WACAgjE,EAAA,CAAApoE,EAAAO,EAAAP,EAAAa,MAAA,EAAAb,EAAAQ,EAAAR,EAAAc,OAAA,GAGA,OACAsnE,QACA94B,MAIAruC,EAAAC,QAAAF,0BCtEA,IAAAjD,EAAaX,EAAQ,QAErBqiB,EAAgBriB,EAAQ,QAExBA,EAAQ,QAoBR,IAAA4D,EAAAye,EAAAxc,OAAA,CACAvE,KAAA,WACA4lH,aAAA,iBAKA7gH,iBAAA,KAOAuzE,WAAA,KAOAwwM,kBAAA,KACAhmQ,WAAA,MACAH,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EACAmS,KAAA,GACAG,IAAA,GACAF,MAAA,GACAC,OAAA,GAGAvpC,OAAA,aAIAijR,gBAAA,EACAC,iBAAA,KACAC,gBAAA,EACAC,gBAAA,GAEAC,eAAA,GACAC,mBAAA,GAGAC,2BAAA,cACAC,oBAAA,QAEA52B,oBAAA,MAMA3vO,KAAA,WACAhC,EAAAjhB,UAAAijB,KAAAxa,MAAA1I,KAAA2I,WACA3I,KAAAykB,YAAA,KAMAA,YAAA,SAAA0/D,GACA,IAAAkzD,EAAAr3I,KAAAmjB,OACAghE,GAAA3kF,EAAA2L,MAAAksI,EAAAlzD,GAAA,GAEAnkF,KAAA0pR,mBAQAxpD,SAAA,SAAAv8M,EAAApJ,GACA,IAAAovQ,EAAAhmQ,EAAAle,IAAA,iBACA,aAAAkkR,GAAApvQ,EAAAmS,aAAA,WAAAi9P,KAAA3pR,MAEA4pR,cAAA,SAAAx0Q,GACA5V,EAAA2nB,KAAA,sGAAA7Y,GACA8G,EAAAlK,eAAAoD,KACAtO,KAAAmjB,OAAA7U,GAAA8G,EAAA9G,KAEKtO,OAML0pR,gBAAA,WACA,IAAAjxM,EAAAz4E,KAAAy4E,WAAA,GACAwwM,EAAAjpR,KAAAipR,kBAAA,GACAY,EAAArqR,EAAAqoD,OAAA7nD,KAAA8pR,gBAAAC,aAAA,SAAAllR,GAGA,OAAAA,EAAAY,IAAA,uBAAAzF,KAAAsjB,gBACKtjB,MACLR,EAAA2nB,KAAA0iQ,EAAA,SAAAhlR,GACA4zE,EAAA9lE,KAAA,MAAA9N,EAAAY,IAAA,QACAwjR,EAAAt2Q,KAAA9N,EAAAye,qBAKA5gB,EAAAC,QAAAF,sBChJA,IAAAgwG,EAAA,qBAAAjnE,aAAAhuB,MAAAguB,aAMA,SAAAsD,IACA,IAAAzP,EAAA,IAAAozE,EAAA,GAEA,OADA7iE,EAAAvQ,GACAA,EAQA,SAAAuQ,EAAAvQ,GAOA,OANAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EASA,SAAAjmB,EAAAimB,EAAA9R,GAOA,OANA8R,EAAA,GAAA9R,EAAA,GACA8R,EAAA,GAAA9R,EAAA,GACA8R,EAAA,GAAA9R,EAAA,GACA8R,EAAA,GAAA9R,EAAA,GACA8R,EAAA,GAAA9R,EAAA,GACA8R,EAAA,GAAA9R,EAAA,GACA8R,EAUA,SAAArB,EAAAqB,EAAAq7D,EAAAC,GAIA,IAAAuc,EAAAxc,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GACAwc,EAAAzc,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GACAyc,EAAA1c,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GACA0c,EAAA3c,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GACA2c,EAAA5c,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,GACA6c,EAAA7c,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAOA,OANAr7D,EAAA,GAAA63E,EACA73E,EAAA,GAAA83E,EACA93E,EAAA,GAAA+3E,EACA/3E,EAAA,GAAAg4E,EACAh4E,EAAA,GAAAi4E,EACAj4E,EAAA,GAAAk4E,EACAl4E,EAUA,SAAAsR,EAAAtR,EAAA92B,EAAA4U,GAOA,OANAkiB,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GAAA4U,EAAA,GACAkiB,EAAA,GAAA92B,EAAA,GAAA4U,EAAA,GACAkiB,EAUA,SAAAiR,EAAAjR,EAAA92B,EAAAgoC,GACA,IAAAgjE,EAAAhrG,EAAA,GACAkrG,EAAAlrG,EAAA,GACAorG,EAAAprG,EAAA,GACAirG,EAAAjrG,EAAA,GACAmrG,EAAAnrG,EAAA,GACAqrG,EAAArrG,EAAA,GACAivG,EAAA9wG,KAAA0Y,IAAAmxB,GACAknE,EAAA/wG,KAAAwY,IAAAqxB,GAOA,OANAlR,EAAA,GAAAk0E,EAAAkE,EAAAjE,EAAAgE,EACAn4E,EAAA,IAAAk0E,EAAAiE,EAAAhE,EAAAiE,EACAp4E,EAAA,GAAAo0E,EAAAgE,EAAA/D,EAAA8D,EACAn4E,EAAA,IAAAo0E,EAAA+D,EAAAC,EAAA/D,EACAr0E,EAAA,GAAAo4E,EAAA9D,EAAA6D,EAAA5D,EACAv0E,EAAA,GAAAo4E,EAAA7D,EAAA4D,EAAA7D,EACAt0E,EAUA,SAAAtnB,EAAAsnB,EAAA92B,EAAA4U,GACA,IAAAu6F,EAAAv6F,EAAA,GACAw6F,EAAAx6F,EAAA,GAOA,OANAkiB,EAAA,GAAA92B,EAAA,GAAAmvG,EACAr4E,EAAA,GAAA92B,EAAA,GAAAovG,EACAt4E,EAAA,GAAA92B,EAAA,GAAAmvG,EACAr4E,EAAA,GAAA92B,EAAA,GAAAovG,EACAt4E,EAAA,GAAA92B,EAAA,GAAAmvG,EACAr4E,EAAA,GAAA92B,EAAA,GAAAovG,EACAt4E,EASA,SAAAwQ,EAAAxQ,EAAA92B,GACA,IAAAgrG,EAAAhrG,EAAA,GACAkrG,EAAAlrG,EAAA,GACAorG,EAAAprG,EAAA,GACAirG,EAAAjrG,EAAA,GACAmrG,EAAAnrG,EAAA,GACAqrG,EAAArrG,EAAA,GACA4oC,EAAAoiE,EAAAG,EAAAF,EAAAC,EAEA,OAAAtiE,GAIAA,EAAA,EAAAA,EACA9R,EAAA,GAAAq0E,EAAAviE,EACA9R,EAAA,IAAAm0E,EAAAriE,EACA9R,EAAA,IAAAo0E,EAAAtiE,EACA9R,EAAA,GAAAk0E,EAAApiE,EACA9R,EAAA,IAAAo0E,EAAAG,EAAAF,EAAAC,GAAAxiE,EACA9R,EAAA,IAAAm0E,EAAAG,EAAAJ,EAAAK,GAAAziE,EACA9R,GAVA,KAkBA,SAAA9pB,EAAAhN,GACA,IAAAC,EAAAsmC,IAEA,OADA11B,EAAA5Q,EAAAD,GACAC,EAGA7F,EAAAmsC,SACAnsC,EAAAitC,WACAjtC,EAAAyW,OACAzW,EAAAq7B,MACAr7B,EAAAguC,YACAhuC,EAAA2tC,SACA3tC,EAAAoV,QACApV,EAAAktC,SACAltC,EAAA4S,gCClKA1W,EAAQ,QAERA,EAAQ,QAERA,EAAQ,8BCJR,IAAAD,EAAcC,EAAQ,QAEtBmrR,EAAmBnrR,EAAQ,QAE3BA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAwBRD,EAAAU,qBAAA0qR,yBClCA,IAAAr8Q,EAAY9O,EAAQ,QAEpBsoB,EAAAxZ,EAAAwZ,KACA/Z,EAAAO,EAAAP,IACApD,EAAA2D,EAAA3D,WACA6gD,EAAAl9C,EAAAk9C,cACAG,EAAAr9C,EAAAq9C,KAEA7oC,EAAYtjB,EAAQ,QAEpBujB,EAAAD,EAAAC,WAEA6nQ,EAAiBprR,EAAQ,QAEzB8wN,EAAAs6D,EAAAt6D,OAEAu6D,EAAkBrrR,EAAQ,QAE1BsrR,EAAmBtrR,EAAQ,QAE3Bs8I,EAAat8I,EAAQ,QAErBkxE,EAAAorE,EAAAprE,iBA4BA,SAAAq6M,EAAAC,EAAAtlR,EAAAulR,EAAArJ,GACAjhR,KAAAqqR,aACArqR,KAAA+E,MACA/E,KAAAq1P,WAKAi1B,EAAAtqR,KAAAuqR,uBAAAD,EAAAprP,QACA+hP,EAAAjhR,KAAAwqR,gBAAAvJ,EAAA/hP,QACAl/B,KAAAyqR,aAAAH,EAAA5gO,OAAAu3N,GAaAjhR,KAAA0qR,cAAA7/N,IAGA,IAAA1rB,EAAAirP,EAAAnqR,UAmJA,SAAA0qR,EAAA9gQ,EAAA+gQ,EAAArwQ,EAAAiS,EAAApX,GAEA,IAAAigP,EA6CA,SAAAw1B,EAAAz1Q,EAAA+P,GACA,OAAA/P,EAAA01Q,YAAA11Q,EAAA21Q,UAAA31Q,EAAA21Q,SAAAtlR,IAAA0f,EAAAkvO,WAAApoO,KA/CA7W,KAAA,GAEA+R,EAAAyjQ,EAAA,SAAAI,EAAArtQ,GACA,IAAAvI,EAAAmzL,YAAAnzL,EAAAmzL,aAAAyiF,EAAAziF,WAAA,CAIA,IAAA0iF,EAAAphQ,EAAA6gQ,cAAAjlR,IAAAulR,EAAAhhQ,KAEAkhQ,EAAAD,EAAAC,cACAC,EAAAF,EAAAE,YAEA,GAAAA,EAAA,CACA,IAAAC,EACAlhQ,EAAAihQ,EAAAjhQ,aACAA,EAAA/C,KAAA,SAAAkkQ,GACAR,EAAAz1Q,EAAAi2Q,KACAA,EAAA1mQ,QACAymQ,GAAA,KAGAA,GAAAD,EAAAxmQ,QACA2mQ,EAAAH,EAAA3+P,GACA,IAAAwnO,EAAAnqO,EAAA0hQ,eAAAJ,EAAA/1Q,EAAAhC,OAKA8W,EAAA/C,KAAA,SAAAkkQ,GACAA,EAAAt3B,QAAAC,KAEAqB,GAAA81B,EAAAp3B,QAAAC,QACKk3B,GACLA,EAAA/jQ,KAAA,SAAAhC,EAAAqmQ,GACAX,EAAAz1Q,EAAA+P,IACAA,EAAAR,QAGA,IAAAqvO,EAAAnqO,EAAA0hQ,eAAApmQ,EAAA/P,EAAAhC,OACA4gP,EAAAI,MAAA42B,EAAA3gQ,kBAAA9P,EAAAoQ,iBAAAxF,EAAAzB,QAAAC,OACA2nQ,EAAAnmQ,EAAAqH,GACA6oO,GAAAlwO,EAAA4uO,QAAAC,QASAnqO,EAAAwrO,cAhMAl2N,EAAA/W,YAAA,SAAA7N,EAAAiS,GAiBAjS,EAAA6N,YAAAoE,GAQAxsB,KAAA0qR,cAAAvjQ,KAAA,SAAAskQ,GACA,IAAAN,EAAAM,EAAAN,YACAA,KAAAxmQ,WAKAwa,EAAAosP,eAAA,SAAApmQ,EAAAumQ,GAEA,GAAAvmQ,EAAAkvO,WAAA,CAIA,IAAAvqO,EAAA9pB,KAAA2rR,aAAAlmR,IAAA0f,EAAAkvO,WAAApoO,IAEA2/P,EAAA9hQ,EAAApG,QACA0yL,GAAAs1E,GAAA5hQ,EAAA+hQ,sBAAAD,KAAAv9B,oBAAAlpO,EAAA2mQ,gBAAAhiQ,EAAAiiQ,WACAvoR,EAAA4yM,EAAAtsL,EAAAtmB,KAAA,KACAqxP,EAAA+2B,KAAA/2B,aACAD,EAAA,MAAAC,EAAAnuP,KAAA0gE,KAAAytL,EAAArxP,GAAA,KACA,OACAA,OACAoxP,QACAC,kBAIA11N,EAAApV,YAAA,SAAAyhQ,GACA,OAAAxrR,KAAA2rR,aAAAlmR,IAAA+lR,IAWArsP,EAAA6sP,kBAAA,SAAA1xQ,EAAA48E,GACA,IAAAptE,EAAA9pB,KAAA2rR,aAAAlmR,IAAA6U,EAAA0P,KAEAze,EAAA+O,EAAAE,UACAyxQ,EAAA1gR,EAAAoO,QAMA00O,EAAAvkO,EAAA+hQ,oBAAA30L,EAAA8kF,0BAAAiwG,GAAAniQ,EAAAuzE,UACA+pF,EAAA9sK,EAAA7U,IAAA,UAAAwmR,GAAA3xQ,EAAA7U,IAAA,kBAGAovP,EAAA,QAAAv6O,EAAA7U,IAAA,wBAAAwmR,EAAA,KACA3xQ,EAAA0O,gBAAAc,EAAApG,QAAA,CACA2qO,oBACAwG,eACAztE,UAIAjoJ,EAAA+sP,iBAAA,SAAA3xQ,GACA,IAAAsP,EAAA7pB,KACAmsR,EAAAtiQ,EAAA8hQ,aAAA9gO,IACAtwC,EAAAkkG,WAAA,SAAAnkG,GACA,IAAAmhK,EAAAnhK,EAAAoO,iBACA8iQ,EAAAlxQ,EAAA0P,IACAmiQ,EAAA/4P,IAAAo4P,EAAA,CACAv/P,GAAAu/P,EACAz/Q,KAAA,KACAC,KAAA,KACAqxF,UAAA/iF,EAAAqO,0BACAkjQ,mBAAApwG,KAAAnhK,EAAAyO,oBAAAzO,EAAAyO,sBACAgjQ,YAAA,EACAvoR,KAAAkD,KAAAwT,MAAAuhK,GAAA,KACA9hK,MAAA,IAEAzP,EAAA2f,EAAAvP,IAAAiJ,aAIA4b,EAAAitP,kBAAA,WACA,IAAAC,EAAArsR,KAAA0qR,cACAnwQ,EAAAva,KAAAqqR,WAAA1vP,WACA51B,EAAA/E,KAAA+E,IACAoiB,EAAAnnB,KAAAyqR,aAAA,SAAA32L,GACA,IAAAquK,EAAAkqB,EAAA5mR,IAAAquF,EAAA9pE,MAAAqiQ,EAAAj5P,IAAA0gE,EAAA9pE,IAAA,IACA8pE,EAAAz5E,OAAAiyQ,EAAAtsR,KAAA8zF,EAAAquK,EAAA5nP,EAAAxV,GACA+uF,EAAAy4L,cAAAC,EAAAxsR,KAAA8zF,EAAAquK,EAAA5nP,EAAAxV,IACG/E,OAGHm/B,EAAAstP,YAAA,SAAAv1L,EAAAvzE,EAAApJ,EAAAxV,GACA,IAAA2nR,EAAAx1L,EAAAw1L,WACAhpQ,EAAAgpQ,EAAAhpQ,QACAA,EAAAC,QACAD,EAAAnJ,UACAmJ,EAAA3e,MACA2nR,EAAAC,SAAAz1L,EAAA8kF,yBACA9xK,EAAAlK,KAAA2jB,EAAA+oQ,IAGAvtP,EAAAytP,0BAAA,SAAAryQ,EAAAiS,GAEAm+P,EAAA3qR,UAAAuqR,uBAAAhwQ,EAAAiS,EAAA,CACApZ,OAAA,KAOA+rB,EAAA0tP,mBAAA,SAAAtyQ,EAAAiS,EAAApX,GACAu1Q,EAAA3qR,UAAAwqR,gBAAAjwQ,EAAAiS,EAAApX,IAyDA+pB,EAAA2tP,mBAAA,SAAAvyQ,GACA,IAAA86O,EACA96O,EAAAkkG,WAAA,SAAAnkG,GAEA+6O,GAAA/6O,EAAAiJ,SAAAwwO,YAEA/zP,KAAAq1P,eAGAl2N,EAAAkuK,KAAA,WAEArtM,KAAA2rR,aAAAxkQ,KAAA,SAAA2C,GACA,IAAA3E,EAAA2E,EAAA9d,KAEA,GACA,GAAAmZ,EAAAwnQ,QAAA,CACA7iQ,EAAAiiQ,WAAA5mQ,EAAA2mQ,gBACA,MAGA3mQ,IAAA6wO,oBACK7wO,MAIL,IAAAmmQ,EAAAnsP,EAAAmsP,cAAA,SAAAnmQ,EAAAqH,GACA,WAAAA,IAAArH,EAAAzB,QAAA8I,YAGA,SAAA8/P,EAAAziQ,EAAAmhQ,EAAAC,EAAA1wQ,EAAAxV,GACA,IAAAmmR,EAAAD,EAAAC,gBAAAD,EAAAC,cAAArgO,KACA1wC,EAAA6wQ,EAAA7wQ,WACA4yQ,EAAA/B,EAAA+B,gBAYA,SAAAj+O,EAAAx0B,GACA,IAAAkxQ,EAAAlxQ,EAAA0P,IAGA7E,EAAA+lQ,EAAAzlR,IAAA+lR,IAAAN,EAAA93P,IAAAo4P,EAAAppQ,EAAA,CACAirL,KAAA2/E,EACA3yQ,MAAA4yQ,EACAtzQ,MAAAuzQ,KAEA/nQ,EAAAzB,QAAA,CACAC,MAAArJ,EACAC,UACAxV,MACAooR,eAAAnC,EAAAoC,WAAApC,EAAAqC,SACAhgF,KAAA29E,EAAA39E,KACAhzL,MAAA2wQ,EAAA3wQ,MACAwP,aAEA3f,EAAA2f,EAAAvP,EAAA6K,GA1BA6lQ,EAAAsC,kBACA/yQ,EAAAqtM,cAAA94K,GACG30B,EACHI,EAAAgzQ,oBAAApzQ,EAAA20B,GACGi+O,GACHA,EAAAxyQ,EAAAxV,GAAAoiB,KAAA2nB,GAyBA,IAAAq9O,EAAAtiQ,EAAA8hQ,aACAT,EAAA/jQ,KAAA,SAAAhC,EAAAqmQ,GACAW,EAAA1mR,IAAA+lR,KACArmQ,EAAArP,UACAo1Q,EAAAjgO,UAAAugO,MAKA,SAAAgB,EAAA3iQ,EAAAmhQ,EAAAC,EAAA1wQ,EAAAxV,GACA,IAAAomR,EAAAF,EAAAE,YAAAF,EAAAE,aACA/oQ,EAAA,CACA/H,MAAAmzQ,IAEArC,EAAAznQ,QAAA,CACAnJ,UACAxV,MACAwnR,aAAAvB,EAAAuB,aACA1iQ,aAGA,IAAAK,EAAAihQ,EAAAjhQ,aAAAihQ,EAAAjhQ,cAAA2gC,IACA1wC,EAAA6wQ,EAAA7wQ,WACA4yQ,EAAA/B,EAAA+B,gBACAU,GAAA,EACArzQ,EAAA4wQ,EAAA5wQ,gBAkBA,SAAAszQ,EAAApzQ,GACA,IAAAkxQ,EAAAlxQ,EAAA0P,IACAqhQ,EAAAnhQ,EAAAzkB,IAAA+lR,GAEAH,IACAA,EAAAnhQ,EAAAkJ,IAAAo4P,EAAAppQ,EAAA,CACA/H,MAAAszQ,EACA95B,QAAA+5B,KAIAzC,EAAAxmQ,SAGA0mQ,EAAA3nQ,QAAA,CACAC,MAAArJ,EACAmzQ,kBACArzQ,mBAEAixQ,EAAAwC,MAAA1C,EACAE,EAAAsB,QAAAc,EACAvjR,EAAA2f,EAAAvP,EAAA+wQ,GAlCAlxQ,EACAI,EAAAgzQ,oBAAApzQ,EAAAuzQ,GACGX,EACHA,EAAAxyQ,EAAAxV,GAAAoiB,KAAAumQ,IAMAD,GAAA,EACAtmQ,EAAA5M,EAAAuzQ,YAAAJ,IA4BA,IAAAvB,EAAAtiQ,EAAA8hQ,aACAzhQ,EAAA/C,KAAA,SAAAkkQ,EAAAG,GACAW,EAAA1mR,IAAA+lR,KACAH,EAAAv1Q,UAGAq1Q,EAAAxmQ,QACAuF,EAAA+gC,UAAAugO,MAKA,SAAAgC,EAAA9pQ,GACAA,EAAA6oQ,aAAA7oQ,EAAAnJ,QAAAmJ,EAAA3e,IAAA2e,EAAA8I,SAGA,SAAAmhQ,EAAAjqQ,EAAAqqQ,GACA,OAAArqQ,EAAA+pQ,iBAAAO,EAGA,SAAAA,IACAhuR,KAAA6tR,MAAAlpQ,QACA3kB,KAAAi2P,gBAAAtxO,QAGA,SAAAipQ,IACA5tR,KAAA6tR,OAAA7tR,KAAA6tR,MAAAlpQ,QAGA,SAAAqoQ,EAAAtpQ,GACA,OAAAA,EAAA2pL,MAAA3pL,EAAA2pL,KAAA3pL,EAAAC,MAAAD,EAAAnJ,QAAAmJ,EAAA3e,IAAA2e,EAAA8I,SAGA,SAAAygQ,EAAAvpQ,GACAA,EAAAypQ,gBACAzpQ,EAAAnY,KAAA0iR,iBAGA,IAAAC,EAAAxqQ,EAAAwqQ,aAAAn+M,EAAArsD,EAAArJ,MAAAqJ,EAAAC,MAAAD,EAAAnJ,QAAAmJ,EAAA3e,IAAA2e,EAAA8I,UACA,OAAA0hQ,EAAA3qR,OAAA,EAAA6J,EAAA8gR,EAAA,SAAA/wQ,EAAAQ,GACA,OAAAwwQ,EAAAxwQ,KACGywQ,EAGH,IAAAA,EAAAD,EAAA,GAEA,SAAAA,EAAAE,GACA,gBAAArpQ,EAAAtB,GACA,IAAAnY,EAAAmY,EAAAnY,KACA+iR,EAAA5qQ,EAAAwqQ,aAAAG,GAEA,GAAAC,KAAAzjQ,SACA,QAAA9f,EAAAia,EAAAoH,MAAgCrhB,EAAAia,EAAAuE,IAAgBxe,IAChDujR,EAAAzjQ,SAAAtf,EAAAR,QAEKujR,KAAAlzG,UACLkzG,EAAAlzG,SAAAp2J,EAAAzZ,IAKA,SAAA2hR,EAAAxpQ,GACA,OAAAA,EAAAnY,KAAAoO,QAGA,SAAAzP,EAAA2f,EAAAvP,EAAA6K,GACA,IAAAqmQ,EAAAlxQ,EAAA0P,IAEAF,EAAAD,EAAA8hQ,aAAAlmR,IAAA+lR,IAEA1hQ,EAAA/d,OAAA+d,EAAA/d,KAAAoZ,GACA2E,EAAA9d,MAAA8d,EAAA9d,KAAA9B,KAAAib,GACA2E,EAAA9d,KAAAmZ,EACAA,EAAA2mQ,gBAAAhiQ,EAAAnQ,QACAwL,EAAAkvO,WAAAvqO,EAwBA,SAAAykQ,EAAAC,GACAr0Q,EAAA,KAEA,IAEAq0Q,EAAAC,EAAAC,GACG,MAAAv4Q,IAEH,OAAAgE,EA7BAiwQ,EAAAuE,iBAAA,SAAA3D,EAAAziF,GAUA,OATAv+L,EAAAghR,KACAA,EAAA,CACAuB,aAAAvB,EACA7wQ,WAAAo0Q,EAAAvD,KAIAA,EAAAhhQ,IAAA2lM,EAAA,gBACApnB,IAAAyiF,EAAAziF,cACAyiF,GAsBA,IAEA7wQ,EAFAs0Q,EAAA,GACAC,EAAA,GAeA,SAAAE,EAAAv4Q,EAAA04K,GAEA,QAAAzgL,KAAAygL,EAAA9uL,UAEAoW,EAAA/H,GAAA08C,EAjBA4jO,EAAAH,EAAAvE,GACA0E,EAAAF,EAAAvE,GAEAsE,EAAAnvK,iBAAAmvK,EAAAlB,oBAAA,SAAAptR,GACAga,EAAAha,GAGAsuR,EAAApvK,cAAA,SAAAwvK,GACA,WAAAA,EAAA7iQ,UAAA6iQ,EAAA1qQ,UACAhK,EAAA00Q,EAAA1qQ,UAcA,IAAA1hB,EAAA2nR,EACA1nR,EAAAC,QAAAF,0BCrgBA,IA9BA,IAAA7D,EAAcC,EAAQ,QAEtByoF,EAAazoF,EAAQ,QAwBrBmsD,EAAA,aAEA8jO,EAAA,oDAEA/jR,EAAA,EAAeA,EAAA+jR,EAAAvrR,OAAwBwH,IACvCnM,EAAA0tB,eAAA,CACAnsB,KAAA2uR,EAAA/jR,GACAwhB,OAAA,cACGy+B,GAGHpsD,EAAA0tB,eAAA,CACAnsB,KAAA,oBACAosB,OAAA,cACC,SAAAC,EAAAjS,GAOD,SAAAw0Q,EAAAprQ,EAAA9f,GACA,IAAA8rL,EAAA,0CACA1iE,EAAA3lC,EAAAq9J,mBAAAn4N,EAAAmjK,EAAAhsK,GAEA,GAAAspG,EAAA,CACA,IAAA+hK,EAAArrQ,EAAAuiL,cAEA8oF,IACAxiQ,EAAA+nE,UAAAjN,EAAAqxK,cAAAq2B,EAAA/hK,EAAA5vG,MAAA,sBAGAsG,EAAAmhQ,cAAA73J,EAAA5vG,OAjBA9C,EAAA8kG,cAAA,CACArzF,SAAA,SACA7H,QAAA,UACA6xH,MAAAxpH,GACGuiQ,2BC7CH,IAAA3tQ,EAAcviB,EAAQ,QAItBW,GAFA4hB,EAAAC,QAEaxiB,EAAQ,SAErBqF,EAAcrF,EAAQ,QAEtB+iB,EAAgB/iB,EAAQ,QAExBowR,EAAkBpwR,EAAQ,QAoB1BsoB,EAAA3nB,EAAA2nB,KACAikB,EAAA5rC,EAAA4rC,QACAzhB,EAAAnqB,EAAAmqB,MACAulQ,EAAA,8BAGAC,EAAA,+EA4DA,SAAA1J,EAAAtiQ,EAAA5I,EAAAnF,GAKA,IAAAg6Q,EAAApvR,KAAAqvR,gBAAA,GACAh9E,EAAA,GACAi9E,EAAAC,EAAAh1Q,EAAA4I,GACAgE,EAAAqoQ,EAAA,SAAAC,EAAAtvR,KACAiV,MAAAs6Q,SAAAtkP,EAAAh2B,EAAAs6Q,QAAAvvR,IAAA,IACAsvR,EAAAH,EAAAF,EAAA/8E,KAKA,IAAAlzK,EAAAsmP,EAAAxlR,UA6GA,SAAA0vR,EAAAnH,GAEA,OADAA,EAAA,GAAAA,EAAA,IAAAA,EAAAh8H,UACAg8H,EAGA,SAAA+G,EAAAh1Q,EAAA4I,GACA,OAAAvB,EAAA2tQ,YAAAh1Q,EAAA4I,EAAA,CACAysQ,iBAAAT,IAlHAhwP,EAAA84L,gBAAA,SAAAH,EAAAv9M,GACAva,KAAA6vR,kBAAA/3D,EAAAv9M,EAAA,SAAAmoJ,EAAAotH,EAAA7qR,GAGA,IAFAy9J,EAAAqtH,cAAArtH,EAAAqtH,YAAA,KAAAp9Q,KAAAm9Q,IAEAptH,EAAAotH,WAAA,CACAptH,EAAAotH,aAMA,IAAApsR,EAAAssR,EAAAttH,EAAA0tE,WAAA,EAAAnrO,EAAA6qR,GACAptH,EAAAutH,cAAA,CACAlqO,OAAAmqO,EAAAxtH,EAAA0tE,WAAA1sO,EAAAomD,OAAA44G,EAAA1qD,MAAA,OACAm4K,SAAAzsR,EAAAysR,cAMAhxP,EAAA0wP,kBAAA,SAAA/3D,EAAAv9M,EAAAwb,GACA5O,EAAA2wM,EAAA,SAAAp1D,GACA,IAAAz1C,EAAAjtH,KAAAowR,eAAA1tH,EAAAnoJ,GAEA0yG,IAAA,IAAAA,GACAztH,EAAA2nB,KAAA8lG,EAAAojK,WAAA,SAAAprR,GACA,IAAAvB,EAAAssR,EAAAttH,EAAA0tE,WAAA,EAAAnrO,EAAAy9J,EAAA1qD,OACAjiF,EAAA2sI,EAAAh/J,EAAAomD,OAAA7kD,EAAAsV,MAGGva,OAGHm/B,EAAAioP,eAAA,SAAAtvD,EAAAv9M,GACA4M,EAAA2wM,EAAA,SAAAp1D,GACA,IAAAz1C,EAAAjtH,KAAAowR,eAAA1tH,EAAAnoJ,GAGA,GAFAmoJ,EAAA1qD,MAAA0qD,EAAA1qD,OAAA,GAEAiV,IAAA,IAAAA,EAAA,CACAy1C,EAAA+uE,QAAAxkH,EAAAwkH,QAOA,IAAA/tO,EAAAssR,EAAAttH,EAAA0tE,WAAA,EAAAnjH,EAAAhoH,SAAAy9J,EAAAotH,YACAQ,EAAA5tH,EAAAutH,cACAvtH,EAAA1qD,MAAAs4K,EAAAJ,EAAAxtH,EAAA0tE,WAAA1sO,EAAAomD,OAAAwmO,EAAAvqO,OAAAwqO,EAAA7sR,EAAAysR,SAAAG,EAAAH,WAAAzsR,EAAAomD,SAEG9pD,OAGHm/B,EAAAm5L,cAAA,SAAAvzN,EAAAyrR,GACA,OAAAhxR,EAAA4N,IAAApN,KAAAqvR,gBAAA,SAAApiK,GACA,IAAAxrH,EAAAwrH,EAAAwjK,eACA,OACAh/C,QAAAxkH,EAAAwkH,QACAuD,iBAAAw7C,KAAAvjK,GACAinH,SAAA+6C,EAAAyB,sBAAAjvR,GACA8vO,iBAAA09C,EAAA0B,yBAAAlvR,EAAAsD,EAAAkoH,EAAA2jK,eACA56C,0BAAAi5C,EAAA4B,2BAAApvR,OAKA09B,EAAAkpP,cAAA,SAAA3lH,EAAApoJ,EAAAC,GAGA,IAAA0yG,EAAAjtH,KAAAowR,eAAA1tH,EAAAnoJ,GACA,WAAA0yG,MAAA7hF,EAAA6hF,EAAAojK,WAAA/1Q,EAAApV,mBAAA,GAaAi6B,EAAAixP,eAAA,SAAA1tH,EAAAnoJ,GAIA,IAHA,IAAA60Q,EAAApvR,KAAAqvR,gBACAC,EAAAC,EAAAh1Q,EAAAmoJ,GAEA33J,EAAA,EAAiBA,EAAAqkR,EAAA7rR,OAA2BwH,IAAA,CAC5C,IAAAkiH,EAAAmiK,EAAArkR,GACA+lR,EAAApuH,EAAA+uE,QAEA,GAAAq/C,GACA,GAAA7jK,EAAAwkH,UAAAq/C,EACA,OAAA7jK,OAGA,IAAAliH,EAAA,EAAqBA,EAAAgmR,EAAAxtR,OAA+BwH,IACpD,GAAAgmR,EAAAhmR,GAAAukR,EAAAriK,GACA,OAAAA,EAMA,UAcA,IAAAuiK,EAAA,CACA9lD,KAAA,SAAA4lD,EAAAF,GACA,IAAA4B,EAAA1B,EAAA0B,YACAC,EAAA3B,EAAA2B,YACAC,EAAA5B,EAAA4B,WAEAC,EAAA3xR,EAAAqrD,gBACAumO,EAAA,GACAC,EAAA,IAEAL,GAAAC,GAAAC,KAIA/pQ,EAAA6pQ,EAAA,SAAAnsR,GACA,IAAA4kO,EAAA5kO,EAAAG,KAAA0kO,KAAA/lN,MACAwtQ,EAAA/9P,IAAAq2M,EAAAx9M,GAAAw9M,GACA2nD,EAAA3nD,EAAAx9M,KAAA,IAEA9E,EAAA8pQ,EAAA,SAAApsR,GACA,IAAA4kO,EAAA5kO,EAAAG,KAAA0kO,KAAA/lN,MACAwtQ,EAAA/9P,IAAAq2M,EAAAx9M,GAAAw9M,GACA4nD,EAAA5nD,EAAAx9M,KAAA,IAEA9E,EAAA+pQ,EAAA,SAAAznD,GACA0nD,EAAA/9P,IAAAq2M,EAAAx9M,GAAAw9M,GACA2nD,EAAA3nD,EAAAx9M,KAAA,EACAolQ,EAAA5nD,EAAAx9M,KAAA,IAEAklQ,EAAAhqQ,KAAA,SAAAsiN,GACA,IAAAC,EAAAD,EAAAvkO,iBACAosR,EAAA,GACAnqQ,EAAAuiN,EAAA6nD,gBAAA,SAAAn2I,EAAAv3I,IACAunC,EAAA4lP,EAAA51I,EAAAa,QAAA,KAAAt4H,QAAA,GAAAynB,EAAA6lP,EAAA71I,EAAAa,QAAA,KAAAt4H,QAAA,IACA2tQ,EAAA3+Q,KAAAyoI,KAGAg0I,EAAAz8Q,KAAA,CACA8+N,QAAA,SAAAhI,EAAAx9M,GACAw9M,YACAmnD,cAAAnnD,EAEAxkO,SAAAqsR,EAAA,GACAjB,WAAAiB,EACAb,aAAAe,EAAA9nD,KACA+nD,cAAAL,EAAA3nD,EAAAx9M,IACAylQ,cAAAL,EAAA5nD,EAAAx9M,UAIA+5E,IAAA,SAAAspL,EAAAF,GACAjoQ,EAAAmoQ,EAAAqC,UAAA,SAAAz1D,GACA,IAAAj3N,EAAAi3N,EAAAh3N,iBACAkqR,EAAAz8Q,KAAA,CACA8+N,QAAA,QAAAvV,EAAAjwM,GACAiwM,WACA00D,cAAA10D,EACAj3N,WACAorR,WAAA,CAAAprR,GACAwrR,aAAAe,EAAAxrL,UAKA+qL,EAAA,CACA,SAAAzB,EAAAriK,GACA,IAAA2kK,EAAAtC,EAAAsC,WACAC,EAAAvC,EAAAuC,WACApoD,EAAA6lD,EAAA7lD,UAGA,OAFAA,GAAAmoD,IAAAnoD,EAAAmoD,EAAA5sR,KAAA0kO,KAAA/lN,QACA8lN,GAAAooD,IAAApoD,EAAAooD,EAAA7sR,KAAA0kO,KAAA/lN,OACA8lN,OAAAx8G,EAAAw8G,WAEA,SAAA6lD,EAAAriK,GACA,IAAAivG,EAAAozD,EAAApzD,SACA,OAAAA,OAAAjvG,EAAAivG,WAEAs1D,EAAA,CACA9nD,KAAA,WAEA,OAAA1pO,KAAAiF,SAAAykO,KAAAvhO,UAAAoN,SAEAywF,IAAA,WACA,IAAA/gG,EAAAjF,KAAAiF,SACAxD,EAAAwD,EAAA1D,kBAAAgU,QAGA,OADA9T,EAAA4X,eAAAnV,EAAAu+M,aAAAx9M,IACAxD,IAGAuuR,EAAA,CACAvlF,MAAA9gL,EAAAmoQ,EAAA,GACApnF,MAAA/gL,EAAAmoQ,EAAA,GACArwR,KAAA,SAAA8qN,EAAAtnN,EAAA8sR,GACA,IAAAC,EAAA/sR,EAAAiqR,EAAA3iE,IAAA,CAAAwlE,EAAA,MAAAA,EAAA,QACAE,EAAAhtR,EAAAiqR,EAAA3iE,IAAA,CAAAwlE,EAAA,MAAAA,EAAA,QACAjoO,EAAA,CAAA6lO,EAAA,CAAAqC,EAAA,GAAAC,EAAA,KAAAtC,EAAA,CAAAqC,EAAA,GAAAC,EAAA,MACA,OACAnoO,SACAqmO,SAAArmO,IAGAk7C,QAAA,SAAAunH,EAAAtnN,EAAA8sR,GACA,IAAA5B,EAAA,EAAAr2Q,UAAA,CAAAA,WACAgwC,EAAAtqD,EAAA4N,IAAA2kR,EAAA,SAAAltN,GACA,IAAA/jD,EAAA7b,EAAAiqR,EAAA3iE,IAAA1nJ,GAKA,OAJAsrN,EAAA,MAAAzpR,KAAAQ,IAAAipR,EAAA,MAAArvQ,EAAA,IACAqvQ,EAAA,MAAAzpR,KAAAQ,IAAAipR,EAAA,MAAArvQ,EAAA,IACAqvQ,EAAA,MAAAzpR,KAAAS,IAAAgpR,EAAA,MAAArvQ,EAAA,IACAqvQ,EAAA,MAAAzpR,KAAAS,IAAAgpR,EAAA,MAAArvQ,EAAA,IACAA,IAEA,OACAgpC,SACAqmO,cAKA,SAAA2B,EAAAI,EAAA3lE,EAAAtnN,EAAA8sR,GACA,IAAA/sR,EAAAC,EAAAg3I,QAAA,UAAAi2I,IACApoO,EAAA6lO,EAAAnwR,EAAA4N,IAAA,eAAArC,GACA,OAAAwhN,EAAAvnN,EAAA0gJ,YAAA1gJ,EAAAmtR,aAAAJ,EAAAhnR,KAAA/F,EAAAolO,cAAAplO,EAAAo8G,YAAA2wK,EAAAhnR,QAEAolR,EAAA,GAGA,OAFAA,EAAA+B,GAAApoO,EACAqmO,EAAA,EAAA+B,GAAA,CAAAr4Q,SACA,CACAiwC,SACAqmO,YAIA,IAAAD,EAAA,CACAzlF,MAAA9gL,EAAAyoQ,EAAA,GACA1nF,MAAA/gL,EAAAyoQ,EAAA,GACA3wR,KAAA,SAAAqoD,EAAAuoO,EAAAC,GACA,QAAAxoO,EAAA,MAAAwoO,EAAA,GAAAD,EAAA,MAAAvoO,EAAA,MAAAwoO,EAAA,GAAAD,EAAA,QAAAvoO,EAAA,MAAAwoO,EAAA,GAAAD,EAAA,MAAAvoO,EAAA,MAAAwoO,EAAA,GAAAD,EAAA,SAEArtL,QAAA,SAAAl7C,EAAAuoO,EAAAC,GACA,OAAA9yR,EAAA4N,IAAA08C,EAAA,SAAA+a,EAAAlnD,GACA,OAAAknD,EAAA,GAAAytN,EAAA,GAAAD,EAAA10Q,GAAA,GAAAknD,EAAA,GAAAytN,EAAA,GAAAD,EAAA10Q,GAAA,QAKA,SAAAy0Q,EAAAF,EAAApoO,EAAAuoO,EAAAC,GACA,OAAAxoO,EAAA,GAAAwoO,EAAAJ,GAAAG,EAAA,GAAAvoO,EAAA,GAAAwoO,EAAAJ,GAAAG,EAAA,IAKA,SAAA9B,EAAAgC,EAAAC,GACA,IAAAC,EAAApmI,EAAAkmI,GACAG,EAAArmI,EAAAmmI,GACAF,EAAA,CAAAG,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,IAGA,OAFA94Q,MAAA04Q,EAAA,MAAAA,EAAA,MACA14Q,MAAA04Q,EAAA,MAAAA,EAAA,MACAA,EAGA,SAAAjmI,EAAA8jI,GACA,OAAAA,EAAA,CAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAt2Q,SAGA,IAAApX,EAAAgjR,EACA/iR,EAAAC,QAAAF,0BC7YA,IAAAjD,EAAaX,EAAQ,QAErB+iB,EAAgB/iB,EAAQ,QAoBxB,SAAA4D,EAAA0gB,GACAwvQ,EAAAxvQ,GACAyvQ,EAAAzvQ,GAQA,SAAAwvQ,EAAAxvQ,GACA,IAAAA,EAAA2oL,SAAA,CAIA,IAAA+mF,GAAA,EACArzR,EAAA2nB,KAAAhE,EAAAyC,OAAA,SAAAqsO,GACAA,GAAA,aAAAA,EAAA9xP,OACA0yR,GAAA,KAIAA,IACA1vQ,EAAA2oL,SAAA,OASA,SAAA8mF,EAAAzvQ,GACA,IAAA68H,EAAAp+H,EAAAmuD,iBAAA5sD,EAAA4mQ,cACAvqR,EAAA2nB,KAAA64H,EAAA,SAAA8yI,GACA,GAAAtzR,EAAAoK,SAAAkpR,GAAA,CAIA,IAAAnJ,EAAAmJ,EAAAnJ,eAAA,EACAoJ,EAAAnxQ,EAAAmuD,iBAAA5sD,EAAA2oL,UAAA69E,GAEAoJ,KAAAlgC,qBACArzP,EAAA2L,MAAA2nR,EAAAC,EAAAlgC,qBAAA,MAKAnwP,EAAAC,QAAAF,0BC1FA,IAAAlD,EAAkBV,EAAQ,QAE1BW,EAAaX,EAAQ,QAErBijO,EAAgBjjO,EAAQ,QAExBm0R,EAAkBn0R,EAAQ,QAE1Bo0R,EAAcp0R,EAAQ,QAEtBq0R,EAAAD,EAAAhzR,UAAAizR,iBACAv7Q,EAAAjR,KAAAiR,IACAw7Q,EAAA,IAAArxD,GAAA,GAQA,SAAAvjN,EAAAze,GACAP,EAAAQ,KAAAC,KAAAF,GAMAE,KAAAykE,KAAA,KAGAlmD,EAAAte,UAAA,CACAC,YAAAqe,EACApe,KAAA,OACA2kO,aAAA,EACAsuD,uBAAA,EAMAruD,kBAAA,EACA3kO,MAAA,SAAAC,EAAAC,GACA,IAcAmB,EAdAlB,EAAAP,KAAAO,MACAkkE,EAAAzkE,KAAAykE,MAAA0uN,EACAroC,EAAAvqP,EAAAuqP,YACAE,EAAAzqP,EAAAyqP,UACAtqP,EAAAH,EAAAG,KACAC,EAAAJ,EAAAI,OACA0yR,EAAAroC,KAAAtqP,EAAA+mB,WACA6rQ,EAAAxoC,KAAAnqP,EAAA8mB,WACA8rQ,EAAAvoC,KAAAtqP,EAAAoS,MACA0gR,EAAA1oC,KAAAnqP,EAAAmS,OACAvS,EAAAqI,KAAAvI,EAAAL,KAAAM,GACAN,KAAAkB,aAAAb,GAEAL,KAAAQ,WAGA6yR,IACA5xR,KAAAzB,KAAAuB,kBACAvB,KAAAyzR,cAAAlzR,EAAA4qP,YAAA9qP,EAAAK,EAAAe,IAGA6xR,IACA7xR,KAAAzB,KAAAuB,kBACAvB,KAAA0zR,gBAAAnzR,EAAA4qP,YAAA9qP,EAAAM,EAAAc,KAKA4xR,EAEAhzR,EAAAw9F,UAAA79F,KAAAyzR,cACKF,IACLlzR,EAAAw9F,UAAAq1L,EAAAnzR,KAAAW,EAAAL,IAGAizR,EACAjzR,EAAAsqP,YAAA3qP,KAAA0zR,gBACKF,IACLnzR,EAAAsqP,YAAAuoC,EAAAnzR,KAAAY,EAAAN,IAGA,IAAA4jO,EAAA1jO,EAAA0jO,SACAwlB,EAAAlpP,EAAAkpP,eACAkqC,IAAAtzR,EAAAuzR,YAEA77Q,EAAA/X,KAAA6zR,iBA0BA,GAzBApvN,EAAAqvN,SAAA/7Q,EAAA,GAAAA,EAAA,IAMA/X,KAAA8kO,aAAAb,IAAA0vD,GAAA7oC,GACArmL,EAAAi5G,UAAAr9K,GAEA4jO,IAAA0vD,IACAlvN,EAAAmvN,YAAA3vD,GACAx/J,EAAAsvN,kBAAAtqC,IAGAzpP,KAAAgf,UAAAylD,EAAAzkE,KAAA4H,OAAA,GAEA5H,KAAAykE,OACAzkE,KAAA8kO,aAAA,KAIAzkO,EAAAq9K,YACA19K,KAAAykE,KAAAm2M,YAAAv6Q,IAGA2qP,EACA,SAAAzqP,EAAAgpP,YAAA,CACA,IAAAyqC,EAAA3zR,EAAAuqP,YACAvqP,EAAAuqP,YAAArqP,EAAAgpP,YAAAhpP,EAAAuzD,QACA2Q,EAAA/jE,KAAAL,GACAA,EAAAuqP,YAAAopC,OAEAvvN,EAAA/jE,KAAAL,GASA,GALA4jO,GAAA0vD,IACAtzR,EAAAuzR,YAAA3vD,GACA5jO,EAAAopP,kBAGAqB,EACA,SAAAvqP,EAAAipP,cAAA,CACAwqC,EAAA3zR,EAAAuqP,YACAvqP,EAAAuqP,YAAArqP,EAAAipP,cAAAjpP,EAAAuzD,QACA2Q,EAAA9jE,OAAAN,GACAA,EAAAuqP,YAAAopC,OAEAvvN,EAAA9jE,OAAAN,GAIA4jO,GAAA0vD,GAGAtzR,EAAAuzR,YAAA,IAIA,MAAArzR,EAAAS,OAEAhB,KAAAoB,iBAAAf,GACAL,KAAAgZ,aAAA3Y,EAAAL,KAAAuB,qBAKAyd,UAAA,SAAA3e,EAAA4zR,EAAAC,KACAlZ,gBAAA,WACAh7Q,KAAAykE,KAAA,IAAAq9J,GAEAvgO,gBAAA,WACA,IAAAE,EAAAzB,KAAAwB,MACAjB,EAAAP,KAAAO,MACA4zR,GAAA1yR,EAEA,GAAA0yR,EAAA,CACA,IAAA1vN,EAAAzkE,KAAAykE,KAEAA,IAEAA,EAAAzkE,KAAAykE,KAAA,IAAAq9J,GAGA9hO,KAAA8kO,cACArgK,EAAAi5G,YACA19K,KAAAgf,UAAAylD,EAAAzkE,KAAA4H,OAAA,IAGAnG,EAAAgjE,EAAAljE,kBAKA,GAFAvB,KAAAwB,MAAAC,EAEAlB,EAAAuqP,YAAA,CAIA,IAAAspC,EAAAp0R,KAAAq0R,kBAAAr0R,KAAAq0R,gBAAA5yR,EAAA8T,SAEA,GAAAvV,KAAAQ,SAAA2zR,EAAA,CACAC,EAAAh7Q,KAAA3X,GAEA,IAAAY,EAAA9B,EAAAkQ,UAEA6jR,EAAA/zR,EAAA27M,cAAAl8M,KAAA+qP,eAAA,EAEAxqP,EAAAyqP,YACA3oP,EAAAqE,KAAAS,IAAA9E,EAAArC,KAAAozR,wBAAA,IAKAkB,EAAA,QACAF,EAAA9xR,OAAAD,EAAAiyR,EACAF,EAAA7xR,QAAAF,EAAAiyR,EACAF,EAAApyR,GAAAK,EAAAiyR,EAAA,EACAF,EAAAnyR,GAAAI,EAAAiyR,EAAA,GAKA,OAAAF,EAGA,OAAA3yR,GAEA6e,QAAA,SAAAte,EAAAC,GACA,IAAAsyR,EAAAv0R,KAAAg0O,sBAAAhyO,EAAAC,GACAR,EAAAzB,KAAAuB,kBACAhB,EAAAP,KAAAO,MAIA,GAHAyB,EAAAuyR,EAAA,GACAtyR,EAAAsyR,EAAA,GAEA9yR,EAAA6e,QAAAte,EAAAC,GAAA,CACA,IAAAkvM,EAAAnxM,KAAAykE,KAAAl5D,KAEA,GAAAhL,EAAAuqP,YAAA,CACA,IAAAr6O,EAAAlQ,EAAAkQ,UACA6jR,EAAA/zR,EAAA27M,cAAAl8M,KAAA+qP,eAAA,EAEA,GAAAupC,EAAA,QAEA/zR,EAAAyqP,YACAv6O,EAAA/J,KAAAS,IAAAsJ,EAAAzQ,KAAAozR,yBAGAJ,EAAAn4G,cAAAs2B,EAAA1gM,EAAA6jR,EAAAtyR,EAAAC,IACA,SAKA,GAAA1B,EAAAyqP,UACA,OAAAgoC,EAAA1yQ,QAAA6wL,EAAAnvM,EAAAC,GAIA,UAMA0iB,MAAA,SAAA6vQ,GACA,MAAAA,IACAA,GAAA,GAIAA,IACAx0R,KAAA8kO,YAAA0vD,EACAx0R,KAAAwB,MAAA,MAGAxB,KAAAQ,QAAAR,KAAAy+Q,aAAA,EACAz+Q,KAAAkyB,MAAAlyB,KAAAkyB,KAAAiB,UAEAnzB,KAAAy0R,cACAz0R,KAAAy0R,aAAA9vQ,SAQA+vQ,aAAA,SAAAlkJ,GACA,OAAAxwI,KAAAu8B,QAAA,QAAAi0G,IAGAmkJ,OAAA,SAAA1pR,EAAAhH,GAEA,UAAAgH,GACAjL,KAAA05M,SAAAz1M,GACAjE,KAAA8kO,aAAA,EACA9kO,KAAAwB,MAAA,MAEAjC,EAAAU,UAAA00R,OAAA50R,KAAAC,KAAAiL,EAAAhH,IAQAy1M,SAAA,SAAAzuM,EAAAhH,GACA,IAAA2D,EAAA5H,KAAA4H,MAEA,GAAAA,EAAA,CACA,GAAApI,EAAAoK,SAAAqB,GACA,QAAAqD,KAAArD,EACAA,EAAAC,eAAAoD,KACA1G,EAAA0G,GAAArD,EAAAqD,SAIA1G,EAAAqD,GAAAhH,EAGAjE,KAAA2kB,OAAA,GAGA,OAAA3kB,MAEA+qP,aAAA,WACA,IAAAx9N,EAAAvtB,KAAA6G,UAKA,OAAA0mB,GAAA5V,EAAA4V,EAAA,aAAA5V,EAAA4V,EAAA,YAAA7mB,KAAAk+C,KAAAjtC,EAAA4V,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,SAcAhP,EAAA7Z,OAAA,SAAA4Q,GACA,IAAAs/Q,EAAA,SAAA90R,GACAye,EAAAxe,KAAAC,KAAAF,GAEAwV,EAAA/U,OAEAP,KAAAO,MAAA8oP,WAAA/zO,EAAA/U,OAAA,GAIA,IAAAs0R,EAAAv/Q,EAAA1N,MAEA,GAAAitR,EAAA,CACA70R,KAAA4H,MAAA5H,KAAA4H,OAAA,GACA,IAAAktR,EAAA90R,KAAA4H,MAEA,QAAA0G,KAAAumR,GACAC,EAAA5pR,eAAAoD,IAAAumR,EAAA3pR,eAAAoD,KACAwmR,EAAAxmR,GAAAumR,EAAAvmR,IAKAgH,EAAA4N,MAAA5N,EAAA4N,KAAAnjB,KAAAC,KAAAF,IAKA,QAAAwO,KAFA9O,EAAAgD,SAAAoyR,EAAAr2Q,GAEAjJ,EAEA,UAAAhH,GAAA,UAAAA,IACAsmR,EAAA30R,UAAAqO,GAAAgH,EAAAhH,IAIA,OAAAsmR,GAGAp1R,EAAAgD,SAAA+b,EAAAhf,GACA,IAAAkD,EAAA8b,EACA7b,EAAAC,QAAAF,wBC7VA,SAAAsyR,EAAA9wR,GACA,aAAAA,GAAA,iBAAAA,EAGAvB,EAAAC,QAAAoyR,0BCRA,IAAA/yQ,EAAcnjB,EAAQ,QAEtBykF,EAAAthE,EAAAshE,cACA0xM,EAAAhzQ,EAAA8gE,IACAW,EAAAzhE,EAAAyhE,gBAEA9T,EAAiB9wE,EAAQ,QAEzBqF,EAAcrF,EAAQ,QA4BtB,SAAAoH,EAAAw/D,EAAAwI,EAAAlpE,GACA,IAAAkwR,EAAAhnN,EAAAgwC,qBACA/sG,EAAA+8D,EAAAxoE,IAAA,WACA2hN,EAAA,CACA9kN,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,aAEA78D,EAAA6hF,EAAA2xM,EAAA7tE,EAAAl2M,GACA8jR,EAAA/mN,EAAAxoE,IAAA,UAAAggE,EAAAwI,EAAAxoE,IAAA,WAAAhE,EAAAa,MAAAb,EAAAc,QACAkhF,EAAAhe,EAAAwvN,EAAA7tE,EAAAl2M,GAGA,SAAAu1M,EAAAhlN,EAAAwsE,GACA,IAAA/8D,EAAAy+D,EAAAxlB,kBAAA8jB,EAAAxoE,IAAA,YACAlF,EAAA0tE,EAAAs9B,aAAA,qBACAhrG,EAAAG,KAAAutE,EAAAxoE,IAAA,mBACAhE,EAAA,IAAAyC,EAAA+qE,KAAA,CACArnE,MAAA,CACA5F,EAAAP,EAAAO,EAAAkP,EAAA,GACAjP,EAAAR,EAAAQ,EAAAiP,EAAA,GACA5O,MAAAb,EAAAa,MAAA4O,EAAA,GAAAA,EAAA,GACA3O,OAAAd,EAAAc,OAAA2O,EAAA,GAAAA,EAAA,GACA0N,EAAAqvD,EAAAxoE,IAAA,iBAEAlF,QACA8mH,QAAA,EACA3nF,IAAA,IAMA,OAAAj+B,EAGAkB,EAAAsD,SACAtD,EAAA8jN,uCCxEA,IAAAjnN,EAAaX,EAAQ,QAErBmV,EAAgBnV,EAAQ,QAExBqF,EAAcrF,EAAQ,QAEtBgqO,EAAehqO,EAAQ,QAEvBq2R,EAAmBr2R,EAAQ,QAE3B2nJ,EAAiB3nJ,EAAQ,QAEzBoH,EAAapH,EAAQ,QAErBm+M,EAAiBn+M,EAAQ,QAoBzBowE,EAAA/qE,EAAA+qE,KACA6oC,EAAA0uC,EAAA1uC,UACAS,EAAAiuC,EAAAjuC,IACA3vG,EAAApJ,EAAAoJ,KACAue,EAAA3nB,EAAA2nB,KAEAguQ,EAAA,EACAC,EAAA,EACAC,EAAA,GACAC,EAAA,aACAC,EAAA,WACAC,EAAA,EACAC,EAAA,uCACAC,EAAAR,EAAAxwR,OAAA,CACAvE,KAAA,kBACA+iB,KAAA,SAAA3I,EAAAxV,GAKA/E,KAAA21R,cAAA,GAMA31R,KAAAu9M,QAMAv9M,KAAA41R,OAMA51R,KAAAs9M,YAOAt9M,KAAA61R,MAMA71R,KAAA81R,aAMA91R,KAAA+1R,cAKA/1R,KAAAg2R,UAKAh2R,KAAAgW,UAKAhW,KAAAi2R,gBACAj2R,KAAA+E,OAMAmuD,OAAA,SAAApnC,EAAAvR,EAAAxV,EAAAynB,GACAkpQ,EAAApvH,WAAAtmK,KAAA,SAAA2I,WACAkgO,EAAAr6B,eAAAxuM,KAAA,sBAAAA,KAAA8rB,cAAArmB,IAAA,uBACAzF,KAAAu9M,QAAAzxL,EAAArmB,IAAA,WAEA,IAAAzF,KAAA8rB,cAAArmB,IAAA,SAQA+mB,GAAA,aAAAA,EAAArsB,MAAAqsB,EAAA67B,OAAAroD,KAAAgqB,KACAhqB,KAAA69M,aAGA79M,KAAAm+M,eAXAn+M,KAAAylE,MAAApB,aAiBA73D,OAAA,WACAkpR,EAAApvH,WAAAtmK,KAAA,SAAA2I,WACAkgO,EAAAn8N,MAAA1M,KAAA,wBAMA8V,QAAA,WACA4/Q,EAAApvH,WAAAtmK,KAAA,UAAA2I,WACAkgO,EAAAn8N,MAAA1M,KAAA,wBAEA69M,WAAA,WACA,IAAAC,EAAA99M,KAAAylE,MACAq4I,EAAAz5I,YAEArkE,KAAAk2R,iBAEAl2R,KAAA+9M,iBAEA,IAAAY,EAAA3+M,KAAA21R,cAAAh3E,SAAA,IAAAz6M,EAAA80M,MAEAh5M,KAAAm2R,oBAEAn2R,KAAAo2R,gBAEAp2R,KAAAq2R,oBAEAv4E,EAAAvgL,IAAAohL,GAEA3+M,KAAAs2R,kBAMAJ,eAAA,WACA,IAAApqQ,EAAA9rB,KAAA8rB,cACA/mB,EAAA/E,KAAA+E,IAGAwxR,EAAAv2R,KAAAw2R,iBAEAC,EAAA,CACAn0R,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,aAGA4kB,EAAAljF,KAAAu9M,UAAA+3E,EAAA,CAGA/lP,MAAAknP,EAAAn0R,MAAAi0R,EAAAv0R,EAAAu0R,EAAAj0R,MACAmtC,IAAAgnP,EAAAl0R,OAAA8yR,EAAAF,EACA7yR,MAAAi0R,EAAAj0R,MACAC,OAAA8yR,GACK,CAEL9lP,MAAA4lP,EACA1lP,IAAA8mP,EAAAt0R,EACAK,MAAA+yR,EACA9yR,OAAAg0R,EAAAh0R,QAIA82O,EAAApzO,EAAAgc,gBAAA6J,EAAA3I,QAEA3jB,EAAA2nB,KAAA,0CAAA7Y,GACA,OAAA+qO,EAAA/qO,KACA+qO,EAAA/qO,GAAA40E,EAAA50E,MAGA,IAAAi5M,EAAAthN,EAAAq9E,cAAA+1J,EAAAo9C,EAAA3qQ,EAAA5a,SACAlR,KAAAg2R,UAAA,CACAh0R,EAAAulN,EAAAvlN,EACAC,EAAAslN,EAAAtlN,GAEAjC,KAAA61R,MAAA,CAAAtuE,EAAAjlN,MAAAilN,EAAAhlN,QACAvC,KAAAu9M,UAAAg4E,GAAAv1R,KAAA61R,MAAArpI,WAMA8pI,eAAA,WACA,IAAAx4E,EAAA99M,KAAAylE,MACAqsB,EAAA9xF,KAAAg2R,UACA9zM,EAAAliF,KAAAu9M,QAEAm5E,EAAA12R,KAAA8rB,cAAA6qQ,0BACA9xO,EAAA6xO,KAAAjxR,IAAA,WACAk5M,EAAA3+M,KAAA21R,cAAAh3E,SACAi4E,GAAA52R,KAAAi2R,iBAAA,IAAsDW,iBAEtDj4E,EAAA56H,KAAA7B,IAAAozM,GAAAzwO,EAEKq9B,IAAAozM,GAAAzwO,EAAA,CACL9sC,MAAA6+Q,EAAA,gBACK10M,IAAAqzM,GAAA1wO,EAIA,CACL9sC,MAAA6+Q,EAAA,eACApwR,SAAAE,KAAAC,GAAA,GANK,CACLoR,MAAA6+Q,EAAA,aACApwR,SAAAE,KAAAC,GAAA,GANA,CACAoR,MAAA6+Q,EAAA,eAYA,IAAAn1R,EAAAq8M,EAAAv8M,gBAAA,CAAAo9M,IACAb,EAAA/5H,KAAA,YAAA+N,EAAA9vF,EAAAP,EAAAO,EAAA8vF,EAAA7vF,EAAAR,EAAAQ,KAMA40R,eAAA,WACA,SAAA72R,KAAA61R,MAAA,KAEAM,kBAAA,WACA,IAAArqQ,EAAA9rB,KAAA8rB,cACA7Q,EAAAjb,KAAA61R,MACAl3E,EAAA3+M,KAAA21R,cAAAh3E,SACAA,EAAAphL,IAAA,IAAA0xC,EAAA,CACAo4C,QAAA,EACAz/G,MAAA,CACA5F,EAAA,EACAC,EAAA,EACAK,MAAA2Y,EAAA,GACA1Y,OAAA0Y,EAAA,IAEA1a,MAAA,CACAG,KAAAorB,EAAArmB,IAAA,oBAEAi6B,IAAA,MAGAi/K,EAAAphL,IAAA,IAAA0xC,EAAA,CACArnE,MAAA,CACA5F,EAAA,EACAC,EAAA,EACAK,MAAA2Y,EAAA,GACA1Y,OAAA0Y,EAAA,IAEA1a,MAAA,CACAG,KAAA,eAEAg/B,GAAA,EACAysF,QAAA3sH,EAAAoJ,KAAA5I,KAAA82R,mBAAA92R,UAGAq2R,kBAAA,WACA,IAAAhkF,EAAAryM,KAAAi2R,gBAAAj2R,KAAA+2R,yBAEA,GAAA1kF,EAAA,CAIA,IAAAp3L,EAAAjb,KAAA61R,MACAv7Q,EAAA+3L,EAAAzsL,OACAra,EAAA+O,EAAA2K,aACAuzD,EAAAl+D,EAAA08Q,aAAA18Q,EAAA08Q,eACA3kF,EAAA75H,SAEA,SAAAA,EAAA,CAIA,IAAAy+M,EAAA1rR,EAAAqzG,cAAApmC,GAEA0+M,EAAA,IAAAD,EAAA,GAAAA,EAAA,IACAA,EAAA,CAAAA,EAAA,GAAAC,EAAAD,EAAA,GAAAC,GACA,IAQAC,EARAC,EAAA,GAAAn8Q,EAAA,IACAo8Q,EAAA,GAAAp8Q,EAAA,IACAq8Q,EAAA,EAAAr8Q,EAAA,aACA2C,EAAA,GACApa,EAAA6zR,EAAA,IAAA9rR,EAAAoO,QAAA,GACA49Q,EAAA,EAEAzxO,EAAAp/C,KAAAwT,MAAA3O,EAAAoO,QAAAsB,EAAA,IAEA1P,EAAA4b,KAAA,CAAAqxD,GAAA,SAAAv0E,EAAAJ,GACA,GAAAiiD,EAAA,GAAAjiD,EAAAiiD,EACAyxO,GAAA/zR,MADA,CASA,IAAA83H,EAAA,MAAAr3H,GAAA2V,MAAA3V,IAAA,KAAAA,EAEAo6I,EAAA/iB,EAAA,EAAAxjB,EAAA7zG,EAAAgzR,EAAAG,GAAA,GAEA97J,IAAA67J,GAAAtzR,GACAyzR,EAAA3kR,KAAA,CAAA2kR,IAAA/zR,OAAA,UACAqa,EAAAjL,KAAA,CAAAiL,IAAAra,OAAA,YACO+3H,GAAA67J,IACPG,EAAA3kR,KAAA,CAAA4kR,EAAA,IACA35Q,EAAAjL,KAAA,CAAA4kR,EAAA,KAGAD,EAAA3kR,KAAA,CAAA4kR,EAAAl5I,IACAzgI,EAAAjL,KAAA,CAAA4kR,EAAAl5I,IACAk5I,GAAA/zR,EACA2zR,EAAA77J,KAEA,IAAAxvG,EAAA9rB,KAAA8rB,cAEA9rB,KAAA21R,cAAAh3E,SAAAphL,IAAA,IAAAr5B,EAAA+0M,QAAA,CACArxM,MAAA,CACA8/D,OAAA4vN,GAEA/2R,MAAAf,EAAA8V,SAAA,CACA5U,KAAAorB,EAAArmB,IAAA,wBACOqmB,EAAA6O,SAAA,4BAAA87L,gBACPpvG,QAAA,EACA3nF,IAAA,MAGA1/B,KAAA21R,cAAAh3E,SAAAphL,IAAA,IAAAr5B,EAAAi1M,SAAA,CACAvxM,MAAA,CACA8/D,OAAA9pD,GAEArd,MAAAurB,EAAA6O,SAAA,4BAAA8/K,eACApzF,QAAA,EACA3nF,IAAA,SAGAq3P,uBAAA,WACA,IAAAjrQ,EAAA9rB,KAAA8rB,cACA0sP,EAAA1sP,EAAArmB,IAAA,kBAEA,QAAA+yQ,EAAA,CAKA,IAAA90Q,EACA6W,EAAAva,KAAAua,QA+BA,OA9BAuR,EAAA0rQ,eAAA,SAAAC,EAAAn7B,GACA,IAAA9Q,EAAA1/N,EAAA4rQ,aAAAD,EAAAnpR,KAAAguP,GAAAq7B,wBACAn4R,EAAA2nB,KAAAqkO,EAAA,SAAAlxO,GACA,IAAA5W,MAIA,IAAA80Q,GAAAh5Q,EAAA4rC,QAAAqqP,EAAAn7Q,EAAA7U,IAAA,aAIA,IAEAmxR,EAFAgB,EAAAr9Q,EAAAmS,aAAA+qQ,EAAAzyR,KAAAs3P,GAAAt3P,KACAwzE,EAAAq/M,EAAAJ,EAAAnpR,MAEArJ,EAAAqV,EAAApV,iBAEA,MAAAszE,GAAAvzE,EAAA6V,eACA87Q,EAAA3xR,EAAA6V,aAAA88Q,GAAA/yO,SAGA2zB,EAAAl+D,EAAAE,UAAAa,aAAAm9D,GACA90E,EAAA,CACAk0R,WACAhyQ,OAAAtL,EACAw9Q,QAAAL,EAAAnpR,KACAkqE,WACAo+M,sBAEO52R,OACFA,MACL0D,IAEA0yR,cAAA,WACA,IAAA2B,EAAA/3R,KAAA21R,cACAqC,EAAAD,EAAAC,QAAA,GACAr4E,EAAAo4E,EAAAp4E,aAAA,GACAhB,EAAA3+M,KAAA21R,cAAAh3E,SACA1jM,EAAAjb,KAAA61R,MACA/pQ,EAAA9rB,KAAA8rB,cACA6yL,EAAAphL,IAAAw6P,EAAAruB,OAAA,IAAAz6L,EAAA,CACA34D,WAAA,EACAm6C,OAAA8uJ,EAAAv/M,KAAAu9M,SACA8C,MAAAz3M,EAAA5I,KAAAi4R,YAAAj4R,KAAA,OACA2rH,YAAA,SAAAx1G,GAEAnC,EAAAkD,KAAAf,EAAAgB,QAEA+gR,YAAAtvR,EAAA5I,KAAAm4R,cAAAn4R,MAAA,GACAsgN,UAAA13M,EAAA5I,KAAAo4R,WAAAp4R,MACAq4R,YAAAzvR,EAAA5I,KAAAm4R,cAAAn4R,MAAA,GACAs4R,WAAA1vR,EAAA5I,KAAAm4R,cAAAn4R,MAAA,GACAO,MAAA,CACAG,KAAAorB,EAAArmB,IAAA,eACA8J,aAAA,aAIAovM,EAAAphL,IAAA,IAAA0xC,EAAA/qE,EAAAkpO,qBAAA,CACA/lH,QAAA,EACAz/G,MAAA,CACA5F,EAAA,EACAC,EAAA,EACAK,MAAA2Y,EAAA,GACA1Y,OAAA0Y,EAAA,IAEA1a,MAAA,CACAI,OAAAmrB,EAAArmB,IAAA,wBAAAqmB,EAAArmB,IAAA,eACAgL,UAAA2kR,EACA10R,KAAA,qBAGAymB,EAAA,eAAA44L,GACA,IAAAt7I,EAAAvgE,EAAAq0R,WAAAzsQ,EAAArmB,IAAA,eACAgrD,OAAA8uJ,EAAAv/M,KAAAu9M,SACAjnM,WAAA,EACA+pM,MAAAz3M,EAAA5I,KAAAi4R,YAAAj4R,KAAA+/M,GACAp0F,YAAA,SAAAx1G,GAEAnC,EAAAkD,KAAAf,EAAAgB,QAEAmpM,UAAA13M,EAAA5I,KAAAo4R,WAAAp4R,MACAq4R,YAAAzvR,EAAA5I,KAAAm4R,cAAAn4R,MAAA,GACAs4R,WAAA1vR,EAAA5I,KAAAm4R,cAAAn4R,MAAA,IACO,CACPgC,GAAA,EACAC,EAAA,EACAK,MAAA,EACAC,OAAA,IAEAi2R,EAAA/zN,EAAAljE,kBACAvB,KAAA+1R,cAAAvvI,EAAA1kE,aAAAh2D,EAAArmB,IAAA,cAAAzF,KAAA61R,MAAA,IACA71R,KAAA81R,aAAA0C,EAAAl2R,MAAAk2R,EAAAj2R,OAAAvC,KAAA+1R,cACAtxN,EAAA+iD,SAAA17F,EAAA6O,SAAA,eAAA4wE,gBACA,IAAAktL,EAAA3sQ,EAAArmB,IAAA,eAEA,MAAAgzR,IACAh0N,EAAAlkE,MAAAG,KAAA+3R,GAGA95E,EAAAphL,IAAAy6P,EAAAj4E,GAAAt7I,GACA,IAAAklC,EAAA79E,EAAA69E,eACA3pG,KAAAylE,MAAAloC,IAAAoiL,EAAAI,GAAA,IAAA77M,EAAArE,KAAA,CACAwnH,QAAA,EACAv2C,WAAA,EACAvwE,MAAA,CACAyB,EAAA,EACAC,EAAA,EACAjB,KAAA,GACAY,kBAAA,SACAD,UAAA,SACAmoG,SAAAH,EAAAk1G,eACA/qM,SAAA61F,EAAAuqG,WAEAx0K,GAAA,OAEK1/B,OAML+9M,eAAA,WACA,IAAA/lG,EAAAh4G,KAAA41R,OAAA51R,KAAA8rB,cAAAK,kBAEAusQ,EAAA14R,KAAA62R,iBAEA72R,KAAAs9M,YAAA,CAAAxlG,EAAAE,EAAA,WAAA0gL,GAAA,GAAA5gL,EAAAE,EAAA,WAAA0gL,GAAA,KASA93E,gBAAA,SAAAb,EAAAj5M,GACA,IAAAglB,EAAA9rB,KAAA8rB,cACAu1L,EAAArhN,KAAAs9M,YAEAq7E,EAAA34R,KAAA62R,iBAEA+B,EAAA9sQ,EAAA+sQ,8BAAAC,gBACAC,EAAA,QACA/7E,EAAAl2M,EAAAu6M,EAAAs3E,EAAA7sQ,EAAArmB,IAAA,kBAAAs6M,EAAA,MAAA64E,EAAAI,QAAAlhL,EAAA8gL,EAAAI,QAAAD,EAAAJ,GAAA,cAAAC,EAAAK,QAAAnhL,EAAA8gL,EAAAK,QAAAF,EAAAJ,GAAA,SACA,IAAAO,EAAAl5R,KAAA41R,OACA59K,EAAAh4G,KAAA41R,OAAAr9K,EAAA,CAAAT,EAAAupG,EAAA,GAAAs3E,EAAAI,GAAA,GAAAjhL,EAAAupG,EAAA,GAAAs3E,EAAAI,GAAA,KACA,OAAAG,KAAA,KAAAlhL,EAAA,IAAAkhL,EAAA,KAAAlhL,EAAA,IAMAmmG,YAAA,SAAAg7E,GACA,IAAApB,EAAA/3R,KAAA21R,cACAt0E,EAAArhN,KAAAs9M,YACA87E,EAAA7gL,EAAA8oG,EAAAniL,SACAjkB,EAAAjb,KAAA61R,MACA1uQ,EAAA,eAAA44L,GAEA,IAAAs5E,EAAAtB,EAAAC,QAAAj4E,GACAu5E,EAAAt5R,KAAA+1R,cACAsD,EAAAt1M,KAAA,CACAhsE,MAAA,CAAAuhR,EAAA,EAAAA,EAAA,GACAhzR,SAAA,CAAA+6M,EAAAtB,GAAA9kM,EAAA,KAAAq+Q,EAAA,MAEKt5R,MAEL+3R,EAAAruB,OAAAhwD,SAAA,CACA13M,EAAAo3R,EAAA,GACAn3R,EAAA,EACAK,MAAA82R,EAAA,GAAAA,EAAA,GACA72R,OAAA0Y,EAAA,KAGAjb,KAAAu5R,gBAAAJ,IAMAI,gBAAA,SAAAJ,GACA,IAAArtQ,EAAA9rB,KAAA8rB,cACAisQ,EAAA/3R,KAAA21R,cACAh2E,EAAAo4E,EAAAp4E,aACAz9H,EAAAliF,KAAAu9M,QACAi8E,EAAA,QAGA,GAAA1tQ,EAAArmB,IAAA,eACA,IAAAg0R,EAAA3tQ,EAAA+sQ,8BAEA,GAAAY,EAAA,CACA,IAAAz0R,EAAAy0R,EAAAC,eAAA10R,KACAgzG,EAAAh4G,KAAA41R,OACA10E,EAAAi4E,EACAM,EAAAE,oBAAA,CACAvtQ,MAAA4rF,EAAA,GACAzuF,IAAAyuF,EAAA,KACS4hL,YAAAH,EAAAI,qBACTL,EAAA,CAAAx5R,KAAA85R,aAAA54E,EAAA,GAAAl8M,GAAAhF,KAAA85R,aAAA54E,EAAA,GAAAl8M,KAIA,IAAA+0R,EAAAxhL,EAAAv4G,KAAAs9M,YAAAp+K,SAIA,SAAA86P,EAAAj6E,GAIA,IAAAk6E,EAAA/1R,EAAAu+M,aAAAs1E,EAAAC,QAAAj4E,GAAApuI,OAAA3xE,KAAAylE,OACA8uB,EAAArwF,EAAAmvO,mBAAA,IAAAtzB,EAAA,eAAAk6E,GACAl0O,EAAA/lD,KAAA81R,aAAA,EAAAN,EACAhzE,EAAAt+M,EAAAmV,eAAA,CAAA0gR,EAAAh6E,IAAA,IAAAA,GAAAh6J,KAAA/lD,KAAA61R,MAAA,MAAAoE,GACAt6E,EAAAI,GAAAv4F,SAAA,CACAxlH,EAAAwgN,EAAA,GACAvgN,EAAAugN,EAAA,GACA5gN,kBAAAsgF,IAAAozM,EAAA,SAAA/gM,EACA5yF,UAAAugF,IAAAozM,EAAA/gM,EAAA,SACAvzF,KAAAw4R,EAAAz5E,KAhBAi6E,EAAAj6R,KAAAC,KAAA,GACAg6R,EAAAj6R,KAAAC,KAAA,IAuBA85R,aAAA,SAAA71R,EAAAe,GACA,IAAA8mB,EAAA9rB,KAAA8rB,cACA8uO,EAAA9uO,EAAArmB,IAAA,kBACA6yQ,EAAAxsP,EAAArmB,IAAA,kBAEA,MAAA6yQ,GAAA,SAAAA,IACAA,EAAAtzQ,EAAA4zG,qBAGA,IAAAshL,EAAA,MAAAj2R,GAAA2V,MAAA3V,GAAA,GACA,aAAAe,EAAA7E,MAAA,SAAA6E,EAAA7E,KAAA6E,EAAA+S,MAAAgnI,SAAAr4I,KAAAwT,MAAAjW,IACAA,EAAAq0G,QAAA5xG,KAAAQ,IAAAoxQ,EAAA,KACA,OAAA94Q,EAAAwK,WAAA4wP,KAAA32P,EAAAi2R,GAAA16R,EAAAiK,SAAAmxP,KAAArwP,QAAA,UAAkJ2vR,MAOlJ/B,cAAA,SAAAgC,GAEAA,EAAAn6R,KAAAgW,WAAAmkR,EACA,IAAAx6E,EAAA3/M,KAAA21R,cAAAh2E,aACAA,EAAA,GAAA57H,KAAA,aAAAo2M,GACAx6E,EAAA,GAAA57H,KAAA,aAAAo2M,IAEAlC,YAAA,SAAAl4E,EAAA/oM,EAAAC,GACAjX,KAAAgW,WAAA,EAEA,IAAAikR,EAAAj6R,KAAA21R,cAAAh3E,SAAA96H,oBAEA95C,EAAA7lC,EAAAmV,eAAA,CAAArC,EAAAC,GAAAgjR,GAAA,GAEAG,EAAAp6R,KAAA4gN,gBAAAb,EAAAh2K,EAAA,IAEA0uO,EAAAz4Q,KAAA8rB,cAAArmB,IAAA,YAEAzF,KAAAm+M,aAAAs6D,GAIA2hB,GAAA3hB,GAAAz4Q,KAAAq6R,uBAEAjC,WAAA,WACAp4R,KAAAgW,WAAA,EAEAhW,KAAAm4R,eAAA,GAIA,IAAA1f,EAAAz4Q,KAAA8rB,cAAArmB,IAAA,aACAgzQ,GAAAz4Q,KAAAq6R,uBAEAvD,mBAAA,SAAA3gR,GACA,IAAA8E,EAAAjb,KAAA61R,MAEAyE,EAAAt6R,KAAA21R,cAAAh3E,SAAAq1B,sBAAA79N,EAAAI,QAAAJ,EAAAK,SAEA,KAAA8jR,EAAA,MAAAA,EAAA,GAAAr/Q,EAAA,IAAAq/Q,EAAA,MAAAA,EAAA,GAAAr/Q,EAAA,KAIA,IAAAomM,EAAArhN,KAAAs9M,YACAphM,GAAAmlM,EAAA,GAAAA,EAAA,MAEA+4E,EAAAp6R,KAAA4gN,gBAAA,MAAA05E,EAAA,GAAAp+Q,GAEAlc,KAAAm+M,cAEAi8E,GAAAp6R,KAAAq6R,wBAOAA,oBAAA,WACA,IAAAriL,EAAAh4G,KAAA41R,OACA51R,KAAA+E,IAAAqoG,eAAA,CACAjtG,KAAA,WACAkoD,KAAAroD,KAAAgqB,IACA4B,WAAA5rB,KAAA8rB,cAAAG,GACAG,MAAA4rF,EAAA,GACAzuF,IAAAyuF,EAAA,MAOAw+K,eAAA,WAEA,IAAA/0R,EAQA,GAPA0lB,EAAAnnB,KAAAu6R,qBAAA,SAAAC,GACA,IAAA/4R,GAAA+4R,EAAAj3R,OAAA,CACA,IAAA0B,EAAAu1R,EAAA,GAAA72Q,MAAAze,iBACAzD,EAAAwD,EAAAkD,SAAAlD,EAAAkD,cAIA1G,EAAA,CACA,IAAAa,EAAAtC,KAAA+E,IAAAwJ,WACAhM,EAAAvC,KAAA+E,IAAAu5D,YACA78D,EAAA,CACAO,EAAA,GAAAM,EACAL,EAAA,GAAAM,EACAD,MAAA,GAAAA,EACAC,OAAA,GAAAA,GAIA,OAAAd,KAIA,SAAAo2R,EAAAC,GAGA,IAAA1qR,EAAA,CACApL,EAAA,IACAC,EAAA,IACAka,OAAA,QACA8pC,MAAA,UAEA,OAAA74C,EAAA0qR,GAGA,SAAAv4E,EAAAr9H,GACA,mBAAAA,EAAA,wBAGA,IAAAz/E,EAAAizR,EACAhzR,EAAAC,QAAAF,wBCjvBA,IAAAoxF,EAAUh1F,EAAQ,QAClB++N,EAAe/+N,EAAQ,QACvB47R,EAAe57R,EAAQ,OAARA,CAAuB,YACtC67R,EAAA3xR,OAAA9I,UAEAyC,EAAAC,QAAAoG,OAAA4xR,gBAAA,SAAAzzF,GAEA,OADAA,EAAA02B,EAAA12B,GACArzG,EAAAqzG,EAAAuzF,GAAAvzF,EAAAuzF,GACA,mBAAAvzF,EAAAhnM,aAAAgnM,eAAAhnM,YACAgnM,EAAAhnM,YAAAD,UACGinM,aAAAn+L,OAAA2xR,EAAA,8BCSH,IAAAl7R,EAAaX,EAAQ,QAErBs4O,EAAYt4O,EAAQ,QAEpB2nJ,EAAiB3nJ,EAAQ,QAEzB85N,EAAoB95N,EAAQ,QA0B5Bu4O,EAAAD,EAAAl3O,UACA26R,EAAAjiE,EAAA14N,UACAw4G,EAAA+tC,EAAA/tC,iBACAoiL,EAAAr0I,EAAAtsI,MACA4gR,EAAAp0R,KAAAmK,MACAkqR,EAAAr0R,KAAA0gE,KACAqnK,EAAA/nO,KAAA2uB,IACA2lQ,EAAAt0R,KAAA4uB,IACA2lQ,EAAA9jD,EAAAzyO,OAAA,CACAvE,KAAA,MACA+mF,KAAA,GACA0nG,aAAA,WACAuoD,EAAAzuO,MAAA1I,KAAA2I,WACA3I,KAAAk7R,eAAA,IAAAviE,GAMA15E,SAAA,WACA,IAAAk8I,EAAAn7R,KAAAk7R,eACAngR,EAAA/a,KAAAsmJ,QACAkzG,EAAA2hC,EAAAngR,YACA,OAAAxb,EAAA4N,IAAAwtR,EAAA37I,SAAAl/I,KAAAC,MAAA,SAAAiJ,GACA,IAAAmyR,EAAA50I,EAAAtsI,MAAAu0N,EAAAzuO,KAAAknF,KAAAj+E,IAIA,OAFAmyR,EAAAnyR,IAAA8R,EAAA,IAAAogR,EAAAE,SAAAC,EAAAF,EAAA5hC,EAAA,IAAA4hC,EACAA,EAAAnyR,IAAA8R,EAAA,IAAAogR,EAAAI,SAAAD,EAAAF,EAAA5hC,EAAA,IAAA4hC,EACAA,GACKp7R,OAOL++I,SAAA67I,EAAA77I,SAMAhnI,MAAA,SAAA9O,GAEA,OADAA,EAAAmuO,EAAAr/N,MAAAhY,KAAAC,KAAAiJ,GACAwlO,EAAAzuO,KAAAknF,KAAAj+E,IAOAq1G,UAAA,SAAAlyF,EAAA7C,GACA,IAAA29D,EAAAlnF,KAAAknF,KACA96D,EAAA4uQ,EAAA5uQ,GAAA4uQ,EAAA9zM,GACA39D,EAAAyxQ,EAAAzxQ,GAAAyxQ,EAAA9zM,GACA0zM,EAAAt8K,UAAAv+G,KAAAC,KAAAosB,EAAA7C,IAMAvO,UAAA,WACA,IAAAksE,EAAAlnF,KAAAknF,KACAnsE,EAAAq8N,EAAAp8N,UAAAjb,KAAAC,MACA+a,EAAA,GAAA0zN,EAAAvnJ,EAAAnsE,EAAA,IACAA,EAAA,GAAA0zN,EAAAvnJ,EAAAnsE,EAAA,IAEA,IAAAogR,EAAAn7R,KAAAk7R,eACA1hC,EAAA2hC,EAAAngR,YAGA,OAFAmgR,EAAAE,WAAAtgR,EAAA,GAAAugR,EAAAvgR,EAAA,GAAAy+O,EAAA,KACA2hC,EAAAI,WAAAxgR,EAAA,GAAAugR,EAAAvgR,EAAA,GAAAy+O,EAAA,KACAz+O,GAMAy8N,YAAA,SAAAz8N,GACA/a,KAAAk7R,eAAA1jD,YAAAz8N,GAEA,IAAAmsE,EAAAlnF,KAAAknF,KACAnsE,EAAA,GAAAigR,EAAAjgR,EAAA,IAAAigR,EAAA9zM,GACAnsE,EAAA,GAAAigR,EAAAjgR,EAAA,IAAAigR,EAAA9zM,GACAkwJ,EAAAI,YAAAz3O,KAAAC,KAAA+a,IAMAi/M,oBAAA,SAAAzuN,EAAA+P,GAGAtb,KAAAw3O,YAAAjsO,EAAAksO,qBAAAn8N,KAOAmxM,UAAA,SAAA+uE,GACAA,KAAA,GACA,IAAAzgR,EAAA/a,KAAAsmJ,QACAt+I,EAAA+S,EAAA,GAAAA,EAAA,GAEA,KAAA/S,IAAA8R,KAAA9R,GAAA,IAIA,IAAA0U,EAAA8pI,EAAAlsC,SAAAtyG,GACAu3P,EAAAi8B,EAAAxzR,EAAA0U,EAEA6iP,GAAA,KACA7iP,GAAA,IAIA,OAAA9C,MAAA8C,IAAAhW,KAAAiR,IAAA+E,GAAA,GAAAhW,KAAAiR,IAAA+E,GAAA,EACAA,GAAA,GAGA,IAAAg7N,EAAA,CAAAlxF,EAAAtsI,MAAA6gR,EAAAhgR,EAAA,GAAA2B,MAAA8pI,EAAAtsI,MAAA4gR,EAAA//Q,EAAA,GAAA2B,OACA1c,KAAAy7R,UAAA/+Q,EACA1c,KAAA07R,YAAAhkD,IAOAA,WAAA,SAAAtiO,GACAwlR,EAAAljD,WAAA33O,KAAAC,KAAAoV,GACA,IAAA+lR,EAAAn7R,KAAAk7R,eACAC,EAAAE,SAAAjmR,EAAAkkP,OACA6hC,EAAAI,SAAAnmR,EAAAmkP,UAcA,SAAA+hC,EAAAryR,EAAA0yR,GACA,OAAAd,EAAA5xR,EAAAwvG,EAAAkjL,IAZAn8R,EAAA2nB,KAAA,iCAAAsC,GACAwxQ,EAAAh7R,UAAAwpB,GAAA,SAAAxgB,GAEA,OADAA,EAAA+xR,EAAA/xR,GAAA+xR,EAAAh7R,KAAAknF,MACAkwJ,EAAA3tN,GAAA1pB,KAAAC,KAAAiJ,MAIAgyR,EAAAnsP,OAAA,WACA,WAAAmsP,GAOA,IAAAx4R,EAAAw4R,EACAv4R,EAAAC,QAAAF,0BCxLA,IAAAm5R,EAAkB/8R,EAAQ,QAE1BmjB,EAAcnjB,EAAQ,QAEtBqjB,EAAAF,EAAAE,iBACAD,EAAAD,EAAAC,gBAoBA45Q,EAAAD,EAAAl3R,OAAA,CACAvE,KAAA,gBAKA27R,mBAAA,SAAAC,GACA/7R,KAAAmjB,OAAA44Q,mBAEAj5Q,cAAA,CACAi5Q,gBAAA,EACAC,kBAAA,EACAC,cAAA,KACAC,mBAAA,MAEAC,cAAA,oBAEAC,UAAA,CACAhyE,WAAA,8CACAC,SAAA,0CAEAgyE,cAAA,UACAC,sBAAA,OACAC,aAAA,GAEAC,cAAA,CACA11Q,MAAA,QAEA24D,wBAAA,KAMAv8D,KAAA,SAAAC,EAAAC,EAAA7I,EAAA8I,GACA,IAAAY,EAAAhC,EAAAkB,GACA04Q,EAAAnyG,UAAA1pL,KAAA,OAAAmjB,EAAAC,EAAA7I,EAAA8I,GACAw1L,EAAA74M,KAAAmjB,EAAAc,IAMAQ,YAAA,SAAAtB,EAAAE,GACAw4Q,EAAAnyG,UAAA1pL,KAAA,cAAAmjB,EAAAE,GACAw1L,EAAA74M,UAAAmjB,WAEAk1N,UAAA,WACA,mBAAAr4O,KAAAyF,IAAA,WACA5B,MAAA,EACAyK,KAAA,YACK,CACLzK,MAAA,EACAyK,KAAA,iBAKA,SAAAuqM,EAAAmO,EAAA3wM,EAAAyiM,GACA,IAAA52H,EAAA8kI,EAAAqxB,YACAj0J,EAAA,MACAA,EAAAlC,EAAAr+E,OAAA,EACAqe,EAAA7L,EAAAyiM,EAAA,CACA34M,KAAA,MACAikF,eAIA,IAAA3hF,EAAAo5R,EACAn5R,EAAAC,QAAAF,wBC9FA,IAAAyB,EAAcrF,EAAQ,QAEtBmxM,EAAgBnxM,EAAQ,QAoBxB49R,EAAA,GACAC,EAAA1sF,EAAAtrM,OAAA,CACAvE,KAAA,WACA+iB,KAAA,WAKAljB,KAAA28R,WAAA,IAAAz4R,EAAA80M,MACAh5M,KAAAylE,MAAAloC,IAAAv9B,KAAA28R,YAKA38R,KAAA+gG,MAKA/gG,KAAAmyI,cAMAj/E,OAAA,SAAA54C,EAAAC,EAAAxV,EAAAynB,GACA,IAAAowQ,EAAA58R,KAAA28R,WACApxR,EAAA+O,EAAAE,UACAu7L,EAAA/1M,KAAA+gG,MACA97F,EAAAqV,EAAApV,iBACAuzE,EAAAxzE,EAAAwzE,WACA41J,EAAAJ,EAAA3zN,GAGA,SAAAijB,EAAAs/P,GACA,IAAAr1R,EAAAs1R,EAAAvxR,EAAAqxR,EAAAC,EAAApkN,EAAAxzE,GACA83R,EAAAv1R,EAAA+D,EAAAsxR,EAAAxuD,GAGA,SAAA9hN,EAAAswQ,EAAAG,GACA,IAAAx1R,EAAAuuM,EAAA5nB,iBAAA6uG,GACAt1N,EAAAu1N,EAAA1xR,EAAAsxR,EAAApkN,EAAAxzE,GACAsG,EAAAgpM,iBAAAsoF,EAAAr1R,GACA,IAAA01R,EAAA1wQ,IAAA,IAAAA,EAAAkxD,UAAA,KAAApjE,EACApW,EAAAkuM,YAAA5qM,EAAA,CACAI,MAAA,CACA8/D,WAEOw1N,EAAAL,GACPE,EAAAv1R,EAAA+D,EAAAsxR,EAAAxuD,GAGA,SAAA7hO,EAAAwwR,GACA,IAAAx1R,EAAAuuM,EAAA5nB,iBAAA6uG,GACAJ,EAAApwR,OAAAhF,GAIA,GA1BA+D,EAAAqR,KAAAm5L,GAAAx4K,OAAAhR,UAAA/f,UAAAipM,WA0BAz1M,KAAAmyI,aAAA,CACAnyI,KAAAmyI,cAAA,EACA,IAAA+hG,EAAAipD,EAAAl4R,EAAAqV,EAAA,WAEA2xC,WAAA,WACA2wO,EAAAQ,qBAGAR,EAAAS,YAAAnpD,GAGAl0O,KAAA+gG,MAAAx1F,GAEAywK,yBAAA,SAAA1hK,EAAAC,EAAAxV,GACA/E,KAAAmyI,cAAA,EACAnyI,KAAA+gG,MAAA,KAEA/gG,KAAA28R,WAAAt4N,aAEA43G,kBAAA,SAAA6/B,EAAAxhM,EAAAC,GAMA,IALA,IAAAhP,EAAA+O,EAAAE,UACAvV,EAAAqV,EAAApV,iBACAuzE,EAAAxzE,EAAAwzE,WACA41J,EAAAJ,EAAA3zN,GAEAmL,EAAAq2L,EAAA1vL,MAA0C3G,EAAAq2L,EAAAvyL,IAA4B9D,IAAA,CACtE,IAAAje,EAAAs1R,EAAAvxR,EAAAvL,KAAA28R,WAAAl3Q,EAAAgzD,EAAAxzE,GACAuC,EAAA4uM,aAAA,EACA2mF,EAAAv1R,EAAA+D,EAAAka,EAAA4oN,KAGAv4N,QAAA,aA8BAtJ,OAAA,WACAxM,KAAA28R,YAAA38R,KAAA28R,WAAAt4N,YACArkE,KAAA+gG,MAAA,QAIA,SAAAo8L,EAAAl4R,EAAAqV,EAAAyb,GACA,IAAAw4K,EAAAtpM,EAAA0e,MACAliB,EAAAwD,EAAAkD,UACAm1R,EAAA,IAAAp5R,EAAA+qE,KAAA,CACArnE,MAAA,CACA5F,EAAAP,EAAAO,EACAC,EAAAR,EAAAQ,EACAK,MAAAb,EAAAa,MACAC,OAAAd,EAAAc,UAGA+Y,EAAA,eAAAizL,EAAA9oM,IAAA,2BAQA,OAPA63R,EAAA5jF,SAAAp+L,EAAA,GACApX,EAAAiuM,UAAAmrF,EAAA,CACA11R,MAAA,CACAtF,MAAAb,EAAAa,MACAC,OAAAd,EAAAc,SAEG+X,EAAAyb,GACHunQ,EAGA,SAAAL,EAAA1xR,EAAAka,EAAAgzD,EAAAxzE,GAGA,IAFA,IAAAyiE,EAAA,GAEA38D,EAAA,EAAiBA,EAAA0tE,EAAAl1E,OAAuBwH,IAAA,CACxC,IAAA2tE,EAAAD,EAAA1tE,GACA9G,EAAAsH,EAAA9F,IAAA8F,EAAA8P,aAAAq9D,GAAAjzD,GAEA83Q,EAAAt5R,EAAAgB,EAAAg3I,QAAAvjE,GAAAv4E,OACAunE,EAAA/0D,KAAA1N,EAAAM,YAAAtB,EAAAy0E,IAIA,OAAAhR,EAGA,SAAAo1N,EAAAvxR,EAAAqxR,EAAAn3Q,EAAAgzD,EAAAxzE,GACA,IAAAyiE,EAAAu1N,EAAA1xR,EAAAka,EAAAgzD,EAAAxzE,GACAuC,EAAA,IAAAtD,EAAAi1M,SAAA,CACAvxM,MAAA,CACA8/D,UAEA2/C,QAAA,EACA3nF,GAAA,KAIA,OAFAk9P,EAAAr/P,IAAA/1B,GACA+D,EAAAgpM,iBAAA9uL,EAAAje,GACAA,EAGA,SAAAymO,EAAA3zN,GACA,IAAAulO,EAAAvlO,EAAA7U,IAAA,aAEA,OADA,IAAAo6O,MAAA48C,GACA,CACAhjJ,UAAAn/H,EAAAqgB,SAAA,aAAA8/K,eACAolC,OAAA,MAAAA,IAAA48C,GAIA,SAAAM,EAAAhsP,EAAAxlC,EAAAka,EAAA4oN,GACA,IAAA50F,EAAA40F,EAAA50F,UAEA,GAAAluI,EAAAuf,cAAA,CACA,IAAAszH,EAAA7yI,EAAA4f,aAAA1F,GAAAkV,SAAA,aACA8+G,EAAA2E,EAAAq8D,eAGA1pK,EAAAkhK,SAAAx4D,GACA,IAAA/zI,EAAAqrC,EAAAxwC,MACAmF,EAAAhF,KAAA,KAEAgF,EAAA/E,OAAA4K,EAAAic,cAAA/B,EAAA,SAEA/f,EAAAouD,QAAAvoD,EAAAic,cAAA/B,EAAA,WACA4oN,EAAAwR,SAAA9uM,EAAAnpC,MAAAi4O,OAAAxR,EAAAwR,QAuBA,SAAA09C,EAAAt0R,EAAAguI,GACA,mBAAAA,EAAA,MAAAhuI,EAAA,MAAAA,GAAA2Q,MAAA3Q,GAGA,IAAAxG,EAAAi6R,EACAh6R,EAAAC,QAAAF,wBC7QA,IAAA+6R,EAAU3+R,EAAQ,QAClB4+R,EAAU5+R,EAAQ,OAARA,CAAgB,eAE1B6+R,EAA+C,aAA/CF,EAAA,WAA2B,OAAA70R,UAA3B,IAGAg1R,EAAA,SAAApwR,EAAAtC,GACA,IACA,OAAAsC,EAAAtC,GACG,MAAAkL,MAGHzT,EAAAC,QAAA,SAAA4K,GACA,IAAA25L,EAAAi3B,EAAAhlG,EACA,YAAA7wH,IAAAiF,EAAA,mBAAAA,EAAA,OAEA,iBAAA4wN,EAAAw/D,EAAAz2F,EAAAn+L,OAAAwE,GAAAkwR,IAAAt/D,EAEAu/D,EAAAF,EAAAt2F,GAEA,WAAA/tE,EAAAqkK,EAAAt2F,KAAA,mBAAAA,EAAA02F,OAAA,YAAAzkK,yBCDA,IAAA/3G,EAAcviB,EAAQ,QAItBD,GAFAwiB,EAAAC,QAEcxiB,EAAQ,SAEtBW,EAAaX,EAAQ,QAErBs2N,EAAkBt2N,EAAQ,QAE1BqF,EAAcrF,EAAQ,QAoBtBu2N,EAAA,wCAEA3yN,EAAA7D,EAAAu7I,oBAAA,CACAh6I,KAAA,QACA+yD,OAAA,SAAA8lK,EAAAz+M,EAAAxV,GACA,IAAA0gE,EAAAzlE,KAAAylE,MACAA,EAAApB,YAEArkE,KAAA69R,WAAA7kE,GAEAh5N,KAAA89R,uBAAA9kE,IAEA6kE,WAAA,SAAA7kE,GACA,IAAAvtB,EAAAutB,EAAA9zN,iBACA40N,EAAAruB,EAAA6rB,mBACAymE,EAAAv+R,EAAA4N,IAAA0sN,EAAA,SAAAV,GACA,IAAAtD,EAAA,IAAAX,EAAAiE,EAAAz1M,MAAA,CACArd,SAAA,CAAAmlM,EAAAhtL,GAAAgtL,EAAA/sL,IACAlY,SAAA4yN,EAAAnzK,MACAx/C,gBAAA,EACAiwN,eAAA,EACAC,cAAA,IAEA,OAAAb,IAEAt2N,EAAA2nB,KAAA42Q,EAAA,SAAAjoE,GACAt2N,EAAA2nB,KAAAiuM,EAAAU,EAAAv4L,IAAAu4L,GACA91N,KAAAylE,MAAAloC,IAAAu4L,EAAAC,aACK/1N,OAEL89R,uBAAA,SAAA9kE,GACA,IAAAvtB,EAAAutB,EAAA9zN,iBACA40N,EAAAruB,EAAA6rB,mBAEA,GAAAwC,EAAAv2N,OAAA,CAIA,IAAAqE,EAAAoxN,EAAAvzN,IAAA,SACA66I,EAAA04E,EAAAr+L,SAAA,aACAimH,EAAAo4E,EAAAr+L,SAAA,aACAyjH,EAAAkC,EAAA3lH,SAAA,aACAkmH,EAAAD,EAAAjmH,SAAA,aACAqjQ,EAAA19I,EAAA76I,IAAA,QACAw4R,EAAAr9I,EAAAn7I,IAAA,QACAy4R,EAAA9/I,EAAA34I,IAAA,SACA04R,EAAAt9I,EAAAp7I,IAAA,SACAy4R,EAAA1+R,EAAAwJ,QAAAk1R,KAAA,CAAAA,GACAC,EAAA3+R,EAAAwJ,QAAAm1R,KAAA,CAAAA,GACA,IAAAloE,EAAA,GACAM,EAAA,GAQA,cAAA3uN,EAKA,IAJA,IAAAw2R,EAAAtkE,EAAA,GAAAr5E,iBACAhiI,EAAAgtL,EAAAhtL,GACAC,EAAA+sL,EAAA/sL,GAEA3T,EAAA,EAAqBA,EAAAqzR,EAAA76R,OAAwBwH,IAAA,CAC7C,GAAAizR,EAAA,CACA,IAAA9nE,EAAAmoE,EAAApoE,EAAAioE,EAAAnzR,GACAkrN,EAAAC,GAAAvjN,KAAA,IAAAzO,EAAAiyN,OAAA,CACAvuN,MAAA,CACA6W,KACAC,KACAE,EAAAw/Q,EAAArzR,GAAAwV,UAKA,GAAA09Q,GAAAlzR,EAAAqzR,EAAA76R,OAAA,GACA2yN,EAAAmoE,EAAA9nE,EAAA4nE,EAAApzR,GACAwrN,EAAAL,GAAAvjN,KAAA,IAAAzO,EAAAo6R,KAAA,CACA12R,MAAA,CACA6W,KACAC,KACAC,GAAAy/Q,EAAArzR,GAAAwV,MACA3B,EAAAw/Q,EAAArzR,EAAA,GAAAwV,eAOA,KAAAg+Q,EACAC,EAAAh/R,EAAA4N,IAAA0sN,EAAA,SAAAV,EAAAz7M,GACA,IAAA6iI,EAAA44E,EAAA34E,iBAEA,OADA89I,EAAA,MAAAA,EAAA/9I,EAAAj9I,OAAA,EAAAmD,KAAAQ,IAAAs5I,EAAAj9I,OAAA,EAAAg7R,GACA/+R,EAAA4N,IAAAozI,EAAA,SAAAG,GACA,OAAA8qD,EAAA6tB,aAAA34E,EAAApgI,MAAA5C,OAGA8gR,EAAA,GAEA,IAAA1zR,EAAA,EAAuBA,GAAAwzR,EAAsBxzR,IAAA,CAG7C,IAFA,IAAA28D,EAAA,GAEAh3D,EAAA,EAAyBA,EAAAopN,EAAAv2N,OAA0BmN,IACnDg3D,EAAA/0D,KAAA6rR,EAAA9tR,GAAA3F,IAQA,GAJA28D,EAAA,IACAA,EAAA/0D,KAAA+0D,EAAA,GAAAxoC,SAGA8+P,EAAA,CACA9nE,EAAAmoE,EAAApoE,EAAAioE,EAAAnzR,GACAkrN,EAAAC,GAAAvjN,KAAA,IAAAzO,EAAAi1M,SAAA,CACAvxM,MAAA,CACA8/D,aAKA,GAAAu2N,GAAAQ,EAAA,CACAvoE,EAAAmoE,EAAA9nE,EAAA4nE,EAAApzR,EAAA,GACAwrN,EAAAL,GAAAvjN,KAAA,IAAAzO,EAAA+0M,QAAA,CACArxM,MAAA,CACA8/D,SAAAhe,OAAA+0O,OAKAA,EAAA/2N,EAAAxoC,QAAAstH,WAIA,IAAA/S,EAAA2E,EAAAq8D,eACA9gE,EAAAkH,EAAA41E,eAEAj3N,EAAA2nB,KAAAovM,EAAA,SAAAA,EAAA54M,GACA3d,KAAAylE,MAAAloC,IAAAr5B,EAAAkyN,UAAAG,EAAA,CACAh2N,MAAAf,EAAA8V,SAAA,CACA3U,OAAA,OACAD,KAAAy9R,EAAAxgR,EAAAwgR,EAAA56R,SACSo2I,GACTtyB,QAAA,MAEKrnH,MACLR,EAAA2nB,KAAA8uM,EAAA,SAAAA,EAAAt4M,GACA3d,KAAAylE,MAAAloC,IAAAr5B,EAAAkyN,UAAAH,EAAA,CACA11N,MAAAf,EAAA8V,SAAA,CACA5U,KAAA,OACAC,OAAAu9R,EAAAvgR,EAAAugR,EAAA36R,SACSk2I,GACTpyB,QAAA,MAEKrnH,MArGL,SAAAq+R,EAAAK,EAAAC,EAAAhhR,GACA,IAAAu4M,EAAAv4M,EAAAghR,EAAAp7R,OAEA,OADAm7R,EAAAxoE,GAAAwoE,EAAAxoE,IAAA,GACAA,MAsGAxzN,EAAAC,QAAAF,2BC/MA,SAAAyoD,GACA,IAAA0zO,EAAA,iBAAA1zO,QAAAniD,iBAAAmiD,EAEAxoD,EAAAC,QAAAi8R,+CCiBA,IAAAhgS,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAEtBggS,EAAchgS,EAAQ,QAoBtBigS,EAAA,sBACAC,EAAA,qBAEAt8R,EAAA7D,EAAA42K,gBAAA,CACAr1K,KAAA,MACA+yD,OAAA,SAAA8rO,EAAAzkR,EAAAxV,EAAAynB,GAEA,IAAAA,GAAA,oBAAAA,EAAArsB,MAAAqsB,EAAA67B,OAAAroD,KAAAgqB,IAAA,CAIA,IAAAy7C,EAAAzlE,KAAAylE,MAGA,GAFAA,EAAApB,aAEA26N,EAAAC,kBAAA,CAKA,GAAAzyQ,GAAA,YAAAA,EAAArsB,MAAA,WAAAqsB,EAAA+5F,eAAA/5F,EAAAslK,WAAAktG,EAAA/yQ,GAWK,CACLizQ,EAAAl/R,KAAAm/R,SACAD,GAAAz5N,EAAAloC,IAAA2hQ,EAAAz5N,YAZA,GAAAu5N,EAAAI,aAAA,CACA,IAAAF,EAAAl/R,KAAAm/R,UAAA,IAAAN,EAAA95R,GAAA,GACA0gE,EAAAloC,IAAA2hQ,EAAAz5N,OACAy5N,EAAA9iH,KAAA4iH,EAAAzkR,EAAAxV,EAAA/E,KAAAwsB,GACAxsB,KAAAm/R,SAAAD,OAGAl/R,KAAAm/R,UAAAn/R,KAAAm/R,SAAA3yR,SACAxM,KAAAm/R,SAAA,KAOAH,EAAAv5R,IAAA,qBAAA8U,EAAAmS,aAAA,WAAA1sB,KAAAq/R,eAAAL,EAAAzkR,EAAAxV,MAEAyH,OAAA,WACAxM,KAAAm/R,UAAAn/R,KAAAm/R,SAAA3yR,SACAxM,KAAAm/R,SAAA,KACAn/R,KAAAylE,MAAApB,aAEAvuD,QAAA,WACA9V,KAAAm/R,UAAAn/R,KAAAm/R,SAAA3yR,SACAxM,KAAAm/R,SAAA,MAEAE,eAAA,SAAAL,EAAAzkR,EAAAxV,GACA,IAAAi5P,EAAAghC,EAAAhhC,aACAv4L,EAAAzlE,KAAAylE,MACAu4L,EAAA72O,KAAA62O,EAAA3iP,aAAA,kBAAApX,EAAAq7R,GACA,IAAA1lR,MAAA3V,GAAA,CAIA,IAAAgC,EAAA+3P,EAAAvoF,cAAA6pH,GAEA,GAAAr5R,KAAA4jE,MAAA,CAKA,IAAAA,EAAA5jE,EAAA4jE,MACA9jB,EAAA9/C,EAAA8/C,OACAw5O,EAAA,IAAAr7R,EAAAiyN,OAAA,CACA51N,MAAA,CAMAG,KAAAs+R,EAAAxkR,UAAA+C,UAAA,UAEA3V,MAAA,CACA6W,GAAAorD,EAAA,KAAA9jB,EACArnC,GAAAmrD,EAAA,GACAjrD,EAAA,GAEAyoG,QAAA,EAEA3nF,GAAA,GAAAqmB,EAAA,EAAA7hD,EAAAs7R,iBAAA,KAWA,IAAAz5O,EAAA,CACA,IAAA05O,EAAAT,EAAAU,WAAAllR,UACAlM,EAAA0vP,EAAAp2O,QAAA03Q,GACAK,EAAAF,EAAAxiQ,YAAA3uB,GACA4c,EAAA8yO,EAAA7yO,aAAAm0Q,GACA51L,EAAAx+E,EAAAyP,SAAA,SACA0yL,EAAAniM,EAAAyP,SAAA,kBACAilQ,EAAAH,EAAAtxG,iBAAAwxG,GAQAE,EAAArgS,EAAAqO,UAAAmxR,EAAApvN,kBAAA+vN,EAAA,UAAArxR,GACAwxR,EAAAtgS,EAAAqO,UAAAmxR,EAAApvN,kBAAA+vN,EAAA,YAAAE,GACAE,EAAAH,EAAAd,GACAkB,EAAAt5R,KAAAy3B,SAEA,IAAA4hQ,EAAA,CACAA,EAAAH,EAAAd,GAAA,GACA,IAAA1lF,EAAA55M,EAAAmqB,MAAAs2Q,GAAA,GACA3mF,EAAA95M,EAAAmqB,MAAAs2Q,GAAA,GACAL,EAAAhqR,GAAA,YAAAwjM,GAAAxjM,GAAA,WAAA0jM,GAAA1jM,GAAA,WAAAwjM,GAAAxjM,GAAA,SAAA0jM,GAIAsmF,EAAAb,GAAAiB,EACAxgS,EAAAkF,OAAAq7R,EAAA,CACAC,gBACAT,SACA71L,aACA2jH,kBACAyyE,eACAD,eAIAK,EAAAH,GAAA,GAGAt6N,EAAAloC,IAAAgiQ,UAKA,SAAAU,EAAAE,GACA,IAAAJ,EAAA//R,KAAA8+R,GAEAiB,KAAAC,gBAAAhgS,KAAA++R,IACAmB,EAAAH,EAAAI,GAIA,SAAAD,EAAAH,EAAAI,GACA,IAAAZ,EAAAQ,EAAAR,OACA71L,EAAAq2L,EAAAr2L,WACA2jH,EAAA0yE,EAAA1yE,gBACAyyE,EAAAC,EAAAD,aACAD,EAAAE,EAAAF,WAEAM,GACAZ,EAAAh/R,MAAA8oP,WAAAnlP,EAAA2lG,aAAA,GAAmDwjH,EAAA,CACnDrsN,KAAAqsN,EAAA5nN,IAAA,QAAAq6R,EAAA,MACK,CACL9rF,YAAA,EACAwG,gBAAA,IACK,IAEL+kF,EAAAa,gBAAAb,EAAA7/P,GACA6/P,EAAA7/P,IAAAx7B,EAAAs7R,mBAEAt7R,EAAA2lG,aAAA01L,EAAAh/R,MAAAmpG,EAAA,CACA1oG,KAAA0oG,EAAAjkG,IAAA,QAAAo6R,EAAA,KACAtwR,aAAAm6F,EAAAvhF,WAAA,uBACK,CACL6rL,YAAA,EACAwG,gBAAA,IAGA+kF,EAAA56Q,OAAA,GAEA,MAAA46Q,EAAAa,kBACAb,EAAA7/P,GAAA6/P,EAAAa,gBACAb,EAAAa,gBAAA,OAKA19R,EAAAC,QAAAF,0BC9MA,IAAAjD,EAAaX,EAAQ,QA2BrB,SAAAwhS,EAAA30G,EAAA40G,GACA,IAAArkL,EAAA,GAYA,OAXAz8G,EAAA2nB,KAAAukK,EAAA,SAAAngL,GACAA,EAAA4b,KAAA5b,EAAA8P,aAAA,kBAAApX,EAAA0Z,GAEA,IAAA4iR,EAAA,MAAAh1R,EAAAqc,QAAAjK,GACAs+F,EAAAskL,GAAAtkL,EAAAskL,IAAA,GAEA3mR,MAAA3V,IACAg4G,EAAAskL,GAAA5tR,KAAA1O,OAIAynL,EAAA,GAAAt+K,IAAAs+K,EAAA,GAAArwK,aAAA,kBAAApX,EAAA0Z,GAOA,IANA,IAYAja,EAZA68R,EAAA,MAAA70G,EAAA,GAAA9jK,QAAAjK,GACAjE,EAAA,EACAxS,EAAA4S,IACA3S,GAAA2S,IACArN,EAAAwvG,EAAAskL,GAAAh9R,OAEAwH,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5B7D,EAAAR,KAAAQ,MAAA+0G,EAAAskL,GAAAx1R,IACA5D,EAAAT,KAAAS,MAAA80G,EAAAskL,GAAAx1R,IACA2O,GAAAuiG,EAAAskL,GAAAx1R,GAeA,OATArH,EADA,QAAA48R,EACAp5R,EACK,QAAAo5R,EACLn5R,EACK,YAAAm5R,EACL5mR,EAAAjN,EAEAiN,EAGA,IAAAjN,EAAAoN,IAAAnW,IAIA,SAAAjB,EAAA8X,GACA,IAAAimR,EAAA,GACAjmR,EAAA+kG,iBAAA,eAAAhlG,GACA,IAAAmmR,EAAAnmR,EAAA2kR,kBACAh0R,EAAAw1R,EAAA,IAAAA,EAAAx0Q,GAAA,IAAA3R,EAAAomR,cACAF,EAAAv1R,GAAAu1R,EAAAv1R,IAAA,IAAA0H,KAAA2H,KAEA9a,EAAA2nB,KAAAq5Q,EAAA,SAAAG,EAAA11R,GAKA,IAJA,IAAAM,EAAA80R,EAAA7gS,EAAA4N,IAAAuzR,EAAA,SAAArmR,GACA,OAAAA,EAAAE,YACKmmR,EAAA,GAAAl7R,IAAA,wBAELsF,EAAA,EAAmBA,EAAA41R,EAAAp9R,OAAuBwH,IAC1C41R,EAAA51R,GAAAizP,aAAA2iC,EAAA51R,GAAAyP,UAIA,IAAAzP,EAAA,EAAmBA,EAAA41R,EAAAp9R,OAAuBwH,IAC1C41R,EAAA51R,GAAA61R,YAAAD,EACAA,EAAA51R,GAAAq0R,aAAA,IAAAr0R,IAAA41R,EAAA51R,GAAAk0R,kBACA0B,EAAA51R,GAAAoQ,QAAA5P,EAAAyV,gBACA2/Q,EAAA51R,GAAA20R,WAAAiB,EAAA,KAKAj+R,EAAAC,QAAAF,wBClHAC,EAAAC,QAAAoG,OAAAggR,IAAA,SAAA/mR,EAAAC,GAEA,OAAAD,IAAAC,EAAA,IAAAD,GAAA,EAAAA,IAAA,EAAAC,EAAAD,MAAAC,8BCiBApD,EAAQ,QAERA,EAAQ,QAERA,EAAQ,gCCxBR,IAAAgiS,EAAahiS,EAAQ,QAErBsjP,EAAA0+C,EAAA1+C,sBAeA,SAAAtnE,EAAAj/G,EAAAC,EAAAjM,EAAAC,EAAArwB,EAAAC,EAAAhvB,EAAAzO,EAAAC,GACA,OAAAwO,EACA,SAGA,IAAAuqK,EAAAvqK,EAEA,GAAAxO,EAAA45D,EAAAm/G,GAAA/4K,EAAA4tD,EAAAmrH,GAAA/4K,EAAAw9B,EAAAu7I,GAAA/4K,EAAA45D,EAAAm/G,GAAA/4K,EAAA4tD,EAAAmrH,GAAA/4K,EAAAw9B,EAAAu7I,GAAAh5K,EAAA45D,EAAAo/G,GAAAh5K,EAAA4tD,EAAAorH,GAAAh5K,EAAAw9B,EAAAw7I,GAAAh5K,EAAA45D,EAAAo/G,GAAAh5K,EAAA4tD,EAAAorH,GAAAh5K,EAAAw9B,EAAAw7I,EACA,SAGA,IAAAx+J,EAAA2lO,EAAAvmL,EAAAC,EAAAjM,EAAAC,EAAArwB,EAAAC,EAAAz9B,EAAAC,EAAA,MACA,OAAAua,GAAAw+J,EAAA,EAGAr4K,EAAAk4K,wCCZA,IAAAltK,EAAY9O,EAAQ,QAEpBsoB,EAAAxZ,EAAAwZ,KAEAk5F,EAAmBxhH,EAAQ,QAE3Bs8I,EAAat8I,EAAQ,QAErB8jB,EAAAw4H,EAAAx4H,UAEAm+Q,EAAgBjiS,EAAQ,QAExBkiS,EAAmBliS,EAAQ,QAE3BmiS,EAAkBniS,EAAQ,QAE1BoiS,EAAsBpiS,EAAQ,QAqB9B6jB,EAAAC,IACAlgB,EAAA,CAMA8kC,KAAA,SAAA25P,EAAAC,GACA,IAAAC,EAAA1+Q,EAAAy+Q,GAAAC,OAEA,GAAAA,EACA,OAAAA,EAGA,IAEAzlL,EAFA6D,EAAA2hL,EAAA3hL,cAAA,GACA6hL,EAAAF,EAAAE,QAGA,IACA1lL,EAAA0lL,EAAAhhL,EAAAghL,GAAA,GACK,MAAAlrR,GACL,UAAAw3B,MAAA,2BAAAx3B,EAAAm0C,SAiBA,OAdAnjC,EAAAw0F,EAAA,SAAA/a,GACA,IAAA2f,EAAA3f,EAAAtyF,KACAyyR,EAAAG,EAAAtgM,GACAogM,EAAAE,EAAAtgM,GACAqgM,EAAAC,EAAAtgM,GAGA,IAAA6f,EAAAjB,EAAAe,GAEAE,GACA7f,EAAAjgF,YAAA8/F,EAAAnxE,KAAAmxE,EAAAhxE,IAAAgxE,EAAAn+G,MAAAm+G,EAAAl+G,UAGAu+R,EAAAI,EAAAvlL,GACAj5F,EAAAy+Q,GAAAC,OAAA,CACAzlL,UACAogH,aAAAx6N,EAAAo6G,MAKA,SAAAp6G,EAAAo6G,GAGA,IAFA,IAAAl6G,EAEAsJ,EAAA,EAAiBA,EAAA4wG,EAAAp4G,OAAoBwH,IAAA,CACrC,IAAA81G,EAAAlF,EAAA5wG,GAAAxJ,kBACAE,KAAAo/G,EAAAtrG,QACA9T,EAAA0yD,MAAA0sD,GAGA,OAAAp/G,EAGAiB,EAAAC,QAAAF,wBCjHA,IAOA6+R,EACAC,EARAC,EAAA9+R,EAAAC,QAAA,GAUA,SAAA8+R,IACA,UAAA9zP,MAAA,mCAEA,SAAA+zP,IACA,UAAA/zP,MAAA,qCAsBA,SAAAg0P,EAAAC,GACA,GAAAN,IAAAr1O,WAEA,OAAAA,WAAA21O,EAAA,GAGA,IAAAN,IAAAG,IAAAH,IAAAr1O,WAEA,OADAq1O,EAAAr1O,WACAA,WAAA21O,EAAA,GAEA,IAEA,OAAAN,EAAAM,EAAA,GACK,MAAAzrR,GACL,IAEA,OAAAmrR,EAAAvhS,KAAA,KAAA6hS,EAAA,GACS,MAAAzrR,GAET,OAAAmrR,EAAAvhS,KAAAC,KAAA4hS,EAAA,KAMA,SAAAC,EAAArrD,GACA,GAAA+qD,IAAAxgN,aAEA,OAAAA,aAAAy1J,GAGA,IAAA+qD,IAAAG,IAAAH,IAAAxgN,aAEA,OADAwgN,EAAAxgN,aACAA,aAAAy1J,GAEA,IAEA,OAAA+qD,EAAA/qD,GACK,MAAArgO,GACL,IAEA,OAAAorR,EAAAxhS,KAAA,KAAAy2O,GACS,MAAArgO,GAGT,OAAAorR,EAAAxhS,KAAAC,KAAAw2O,MAjEA,WACA,IAEA8qD,EADA,oBAAAr1O,WACAA,WAEAw1O,EAEK,MAAAtrR,GACLmrR,EAAAG,EAEA,IAEAF,EADA,oBAAAxgN,aACAA,aAEA2gN,EAEK,MAAAvrR,GACLorR,EAAAG,IAjBA,GAwEA,IAEAI,EAFA/9H,EAAA,GACAg+H,GAAA,EAEAC,GAAA,EAEA,SAAAC,IACAF,GAAAD,IAGAC,GAAA,EACAD,EAAAv+R,OACAwgK,EAAA+9H,EAAAp4O,OAAAq6G,GAEAi+H,GAAA,EAEAj+H,EAAAxgK,QACA2+R,KAIA,SAAAA,IACA,IAAAH,EAAA,CAGA,IAAAjtB,EAAA6sB,EAAAM,GACAF,GAAA,EAEA,IAAAt1R,EAAAs3J,EAAAxgK,OACA,MAAAkJ,EAAA,CACAq1R,EAAA/9H,EACAA,EAAA,GACA,QAAAi+H,EAAAv1R,EACAq1R,GACAA,EAAAE,GAAAG,MAGAH,GAAA,EACAv1R,EAAAs3J,EAAAxgK,OAEAu+R,EAAA,KACAC,GAAA,EACAF,EAAA/sB,IAiBA,SAAAstB,EAAAR,EAAAxkQ,GACAp9B,KAAA4hS,MACA5hS,KAAAo9B,QAYA,SAAA4tB,KA5BAw2O,EAAAa,SAAA,SAAAT,GACA,IAAAn4O,EAAA,IAAAjsC,MAAA7U,UAAApF,OAAA,GACA,GAAAoF,UAAApF,OAAA,EACA,QAAAwH,EAAA,EAAuBA,EAAApC,UAAApF,OAAsBwH,IAC7C0+C,EAAA1+C,EAAA,GAAApC,UAAAoC,GAGAg5J,EAAApxJ,KAAA,IAAAyvR,EAAAR,EAAAn4O,IACA,IAAAs6G,EAAAxgK,QAAAw+R,GACAJ,EAAAO,IASAE,EAAAniS,UAAAkiS,IAAA,WACAniS,KAAA4hS,IAAAl5R,MAAA,KAAA1I,KAAAo9B,QAEAokQ,EAAAh3F,MAAA,UACAg3F,EAAAc,SAAA,EACAd,EAAAlgR,IAAA,GACAkgR,EAAAe,KAAA,GACAf,EAAA17K,QAAA,GACA07K,EAAAgB,SAAA,GAIAhB,EAAA5rR,GAAAo1C,EACAw2O,EAAAiB,YAAAz3O,EACAw2O,EAAAztM,KAAA/oC,EACAw2O,EAAA3rR,IAAAm1C,EACAw2O,EAAAkB,eAAA13O,EACAw2O,EAAAmB,mBAAA33O,EACAw2O,EAAAoB,KAAA53O,EACAw2O,EAAAqB,gBAAA73O,EACAw2O,EAAAsB,oBAAA93O,EAEAw2O,EAAAuB,UAAA,SAAAz0R,GAAqC,UAErCkzR,EAAAwB,QAAA,SAAA10R,GACA,UAAAq/B,MAAA,qCAGA6zP,EAAAyB,IAAA,WAA2B,WAC3BzB,EAAA0B,MAAA,SAAAxpQ,GACA,UAAAiU,MAAA,mCAEA6zP,EAAA2B,MAAA,WAA4B,kCCnK5B,IAAA3jS,EAAaX,EAAQ,QAErBupF,EAAWvpF,EAAQ,QAEnB0oF,EAAuB1oF,EAAQ,QAE/BukS,EAAkBvkS,EAAQ,QAE1BwkS,EAAAD,EAAAC,uBAEAjoD,EAAuBv8O,EAAQ,QAE/BykS,EAAAloD,EAAAkoD,uBAEAnoJ,EAAat8I,EAAQ,QAErB0kS,EAAApoJ,EAAAooJ,iBAEAzqE,EAAuBj6N,EAAQ,QAE/B2kS,EAAmB3kS,EAAQ,QAE3B4kS,EAAAD,EAAAC,0BAEAtoD,EAAat8O,EAAQ,QAErBonN,EAAuBpnN,EAAQ,QAE/BopF,EAAAg+H,EAAAh+H,gBA2BA,SAAA4nH,EAAA51K,EAAA3f,EAAAlF,GACAA,KAAA,GAEA+lO,EAAAnuD,WAAA/yJ,KACAA,EAAAkhN,EAAAI,mBAAAthN,IAGA,IAGAypQ,EAHAC,EAAArpR,EAAA7U,IAAA,oBACAm+R,EAAA9qE,EAAArzN,IAAAk+R,GACAE,EAAAJ,EAAAnpR,GAGAupR,IACAH,EAAAlkS,EAAA4N,IAAAy2R,EAAAC,aAAA,SAAAxoR,GACA,IAAAmL,EAAA,CACAnY,KAAAgN,GAEAzW,EAAAg/R,EAAAE,QAAAt+R,IAAA6V,GAEA,GAAAzW,EAAA,CACA,IAAAoyI,EAAApyI,EAAAY,IAAA,QACAghB,EAAAtmB,KAAAmjS,EAAArsJ,GAGA,OAAAxwH,KAIAi9Q,IAEAA,EAAAE,MAAA9rD,kBAAA8rD,EAAA9rD,oBAAA8rD,EAAAnrN,WAAAv5C,UAAA,WAGA,IAIA8kQ,EACAC,EALAC,EAAA38M,EAAAttD,EAAA,CACAytD,gBAAAg8M,EACAjnD,cAAArnO,EAAAqnO,gBAIAonD,GAAArkS,EAAA2nB,KAAA+8Q,EAAA,SAAAz9Q,EAAA1f,GACA,IAAA0hB,EAAAhC,EAAAgC,SACA07Q,EAAAN,EAAAO,gBAAA3+R,IAAAgjB,GAEA07Q,IACA,MAAAH,IACAA,EAAAj9R,GAGA0f,EAAAohE,YAAAs8M,EAAAr8M,kBAGA,MAAArhE,EAAAC,UAAA29Q,WACAJ,GAAA,KAIAA,GAAA,MAAAD,IACAE,EAAAF,GAAAt9Q,UAAA29Q,SAAA,GAGA,IAAAt8M,EAAAE,EAAA3tE,EAAA4pR,GACA/2R,EAAA,IAAAi7E,EAAA87M,EAAA5pR,GACAnN,EAAAk7E,mBAAAN,GACA,IAAAu8M,EAAA,MAAAN,GAAAO,EAAAtqQ,GAAA,SAAAm8M,EAAA19J,EAAAjzD,EAAA1e,GAEA,OAAAA,IAAAi9R,EAAAv+Q,EAAAzlB,KAAAwkS,sBAAApuD,EAAA19J,EAAAjzD,EAAA1e,IACG,KAGH,OAFAoG,EAAA2d,eAAA,EACA3d,EAAAm7E,SAAAruD,EAAA,KAAAqqQ,GACAn3R,EAGA,SAAAo3R,EAAAtqQ,GACA,GAAAA,EAAAwqQ,eAAApB,EAAA,CACA,IAAAqB,EAAAC,EAAA1qQ,EAAA1uB,MAAA,IACA,aAAAm5R,IAAAllS,EAAAwJ,QAAAu6R,EAAAmB,KAIA,SAAAC,EAAAp5R,GACA,IAAAR,EAAA,EAEA,MAAAA,EAAAQ,EAAAhI,QAAA,MAAAgI,EAAAR,GACAA,IAGA,OAAAQ,EAAAR,GAGA,IAAAtI,EAAAotM,EACAntM,EAAAC,QAAAF,wBCnKA,SAAAmiS,KAiJA,SAAAC,EAAAjoR,EAAA8jP,EAAAokC,EAAAC,GAMA,IALA,IAAAC,EAAA,EACAC,EAAAvkC,EAAAn9P,OACA2hS,EAAA,EACAC,EAAA,EAEQH,EAAAC,EAA6BD,IAAA,CACrC,IAAAvkC,EAAAC,EAAAskC,GAEA,GAAAvkC,EAAApzP,QAaK,CAGL,IAFAogD,EAAA,GAEA1iD,EAAAo6R,EAA0Bp6R,EAAAo6R,EAAA1kC,EAAA9mP,MAA8B5O,IACxD0iD,EAAA96C,KAAA5H,GAGA01P,EAAAhzM,UACA03O,GAAA1kC,EAAA9mP,UArBA,CAGA,IAFA,IAAA8zC,EAAA,GAEA1iD,EAAAm6R,EAA0Bn6R,EAAAm6R,EAAAzkC,EAAA9mP,MAA8B5O,IACxD0iD,EAAA96C,KAAA5H,GAGA01P,EAAAhzM,UACAy3O,GAAAzkC,EAAA9mP,MAEA8mP,EAAA2kC,QACAD,GAAA1kC,EAAA9mP,QAcA,OAAA+mP,EAGA,SAAA2kC,EAAA5gO,GACA,OACAygO,OAAAzgO,EAAAygO,OACAxkC,WAAAj8L,EAAAi8L,WAAAxhO,MAAA,IAvLA0lQ,EAAA3kS,UAAA,CACA2c,KAAA,SAAAmoR,EAAAD,EAAAxiI,GACAA,IACAA,EAAA,SAAA/5J,EAAAC,GACA,OAAAD,IAAAC,IAIAxI,KAAAsiK,SACA,IAAA56H,EAAA1nC,KACA+kS,IAAA7lQ,QACA4lQ,IAAA5lQ,QAEA,IAAA61K,EAAA+vF,EAAAvhS,OACA+hS,EAAAP,EAAAxhS,OACAgiS,EAAA,EACAC,EAAAzwF,EAAAuwF,EACAG,EAAA,EACAP,QAAA,EACAxkC,WAAA,KAGAykC,EAAAnlS,KAAA0lS,cAAAD,EAAA,GAAAX,EAAAC,EAAA,GAEA,GAAAU,EAAA,GAAAP,OAAA,GAAAnwF,GAAAowF,EAAA,GAAAG,EAAA,CAGA,IAFA,IAAA73O,EAAA,GAEA1iD,EAAA,EAAqBA,EAAA+5R,EAAAvhS,OAAmBwH,IACxC0iD,EAAA96C,KAAA5H,GAIA,QACA0iD,UACA9zC,MAAAmrR,EAAAvhS,SAKA,SAAAoiS,IACA,QAAAC,GAAA,EAAAL,EAA8CK,GAAAL,EAA4BK,GAAA,GAC1E,IAAAlhO,EACAmhO,EAAAJ,EAAAG,EAAA,GACAE,EAAAL,EAAAG,EAAA,GACAT,GAAAW,IAAAZ,OAAA,GAAAU,EAEAC,IAEAJ,EAAAG,EAAA,QAAAt9R,GAGA,IAAAy9R,EAAAF,KAAAX,OAAA,EAAAnwF,EACAixF,EAAAF,GAAA,GAAAX,KAAAG,EAEA,GAAAS,GAAAC,EAAA,CAqBA,IAZAD,GAAAC,GAAAH,EAAAX,OAAAY,EAAAZ,QACAxgO,EAAA2gO,EAAAS,GACAp+P,EAAAu+P,cAAAvhO,EAAAg8L,gBAAAp4P,GAAA,KAEAo8D,EAAAmhO,EAEAnhO,EAAAwgO,SACAx9P,EAAAu+P,cAAAvhO,EAAAg8L,YAAA,OAAAp4P,IAGA68R,EAAAz9P,EAAAg+P,cAAAhhO,EAAAogO,EAAAC,EAAAa,GAEAlhO,EAAAwgO,OAAA,GAAAnwF,GAAAowF,EAAA,GAAAG,EACA,OAAAT,EAAAn9P,EAAAg9B,EAAAg8L,WAAAokC,EAAAC,GAGAU,EAAAG,GAAAlhO,OAvBA+gO,EAAAG,QAAAt9R,EA2BAi9R,IAGA,MAAAA,GAAAC,EAAA,CACA,IAAArgO,EAAAwgO,IAEA,GAAAxgO,EACA,OAAAA,IAIA8gO,cAAA,SAAAvlC,EAAA0kC,EAAA/3R,GACA,IAAA80J,EAAAu+F,IAAAn9P,OAAA,GAEA4+J,KAAAijI,WAAAjjI,EAAA90J,YAGAqzP,IAAAn9P,OAAA,IACAoW,MAAAwoJ,EAAAxoJ,MAAA,EACAyrR,QACA/3R,WAGAqzP,EAAA/tP,KAAA,CACAgH,MAAA,EACAyrR,QACA/3R,aAIAq4R,cAAA,SAAAhhO,EAAAogO,EAAAC,EAAAa,GACA,IAAA7wF,EAAA+vF,EAAAvhS,OACA+hS,EAAAP,EAAAxhS,OACA2hS,EAAAxgO,EAAAwgO,OACAC,EAAAD,EAAAU,EACAM,EAAA,EAEA,MAAAhB,EAAA,EAAAnwF,GAAAowF,EAAA,EAAAG,GAAAtlS,KAAAsiK,OAAAwiI,EAAAI,EAAA,GAAAH,EAAAI,EAAA,IACAD,IACAC,IACAe,IAUA,OAPAA,GACAxhO,EAAAg8L,WAAA/tP,KAAA,CACAgH,MAAAusR,IAIAxhO,EAAAwgO,SACAC,GAEAgB,SAAA,SAAAliS,GACA,OAAAA,EAAAi7B,SAEAlvB,KAAA,SAAA/L,GACA,OAAAA,EAAAi7B,UAgDA,IAAAknQ,EAAA,IAAAxB,EAEA,SAAAniS,EAAAsiS,EAAAD,EAAAzyN,GACA,OAAA+zN,EAAAxpR,KAAAmoR,EAAAD,EAAAzyN,GAGA3vE,EAAAC,QAAAF,0BCjLA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAEtBwnN,EAAcxnN,EAAQ,QAEtB49K,EAAA4pC,EAAA5pC,aAEA56F,EAAchjF,EAAQ,QAEtBijF,EAAAD,EAAAC,aACAm5B,EAAAp5B,EAAAo5B,UAEAorL,EAAcxnS,EAAQ,QAEtBm7R,EAAAqM,EAAArM,SAoBAsM,EAAA,4BAEAC,EAAA,EACA5rO,GAAA,IACA+sL,GAAA,QACA7jP,MAAA,EACA2iS,QAAA,kBACC,CACD7rO,GAAA,IACA+sL,GAAA,SACA7jP,MAAA,EACA2iS,QAAA,mBAEAC,EAAA,IAAAviS,EAAAiyN,OACAuwE,EAAA9nS,EAAA42K,gBAAA,CACAr1K,KAAA,eACA+yD,OAAA,SAAA54C,EAAAC,EAAAxV,GACA,IAAA0gE,EAAAzlE,KAAAylE,MACAl6D,EAAA+O,EAAAE,UACAu7L,EAAA/1M,KAAA+gG,MACAq6C,EAAA9gI,EAAApV,iBACAyV,EAAAygI,EAAAxgI,cACA1S,IAAAyS,EAAAzS,eACAy+R,EAAAvrJ,EAAAsuF,KAAAvhO,UACAiN,EAAA,CACAqhR,OAAA,CACAn0R,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,aAEAhkD,cACArV,SAAAm2I,EACAwrJ,eAAA,EAAAD,EAAA3kS,EAAA2kS,EAAA3kS,EAAA2kS,EAAArkS,OAAA,CAAAqkS,EAAA1kS,EAAA0kS,EAAA1kS,EAAA0kS,EAAApkS,SACA2F,eACAirK,SAAAozH,GAAAr+R,GACA2+R,YAAAN,EAAA,EAAAr+R,IA+CA,OA7CAqD,EAAAqR,KAAAm5L,GAAAx4K,IAAA,SAAA9X,GACA,GAAAla,EAAAu5E,SAAAr/D,GAAA,CAIA,IAAAyF,EAAAC,EAAA5f,EAAAka,GACAqhR,EAAAC,EAAAx7R,EAAAka,EAAAyF,EAAA9V,GACA61L,EAAA+7F,EAAAz7R,EAAA6J,EAAA0xR,GACAv7R,EAAAgpM,iBAAA9uL,EAAAwlL,GACAxlI,EAAAloC,IAAA0tK,GACApoK,EAAAooK,EAAA71L,EAAA0xR,MACKv6Q,OAAA,SAAAmpL,EAAAC,GACL,IAAA1K,EAAA8K,EAAA5nB,iBAAAwnB,GAEA,GAAApqM,EAAAu5E,SAAA4wH,GAAA,CAKA,IAAAxqL,EAAAC,EAAA5f,EAAAmqM,GACAoxF,EAAAC,EAAAx7R,EAAAmqM,EAAAxqL,EAAA9V,GACA6xR,EAAAC,EAAA37R,EAAAu7R,GAEA77F,GAAAg8F,IAAAh8F,EAAAk8F,sBACA1hO,EAAAj5D,OAAAy+L,GACA1/L,EAAAgpM,iBAAAmB,EAAA,MACAzK,EAAA,MAGAA,EACAm8F,EAAAn8F,EAAA71L,EAAA0xR,GAEA77F,EAAA+7F,EAAAz7R,EAAA6J,EAAA0xR,GAAA,GAGAv7R,EAAAgpM,iBAAAmB,EAAAzK,GACAA,EAAAo8F,sBAAAP,EAEArhO,EAAAloC,IAAA0tK,GACApoK,EAAAooK,EAAA71L,EAAA0xR,QAxBArhO,EAAAj5D,OAAAy+L,KAyBKz+L,OAAA,SAAAiZ,GACL,IAAAwlL,EAAA8K,EAAA5nB,iBAAA1oK,GACAwlL,GAAAq8F,EAAAvxF,EAAAtwL,EAAAwlL,EAAAo8F,sBAAAnK,eAAAjyF,KACKwK,UACLz1M,KAAA+gG,MAAAx1F,EACAvL,KAAAylE,OAEA3vD,QAAAtW,EAAAwrD,KACAx+C,OAAA,SAAA+N,EAAAxV,GACA,IAAA0gE,EAAAzlE,KAAAylE,MACAl6D,EAAAvL,KAAA+gG,MAEAxmF,EAAA9U,IAAA,aACA8F,GACAA,EAAAqpN,kBAAA,SAAA3pB,GACAq8F,EAAA/7R,EAAA0/L,EAAAxlL,UAAAlL,EAAA0wL,KAIAxlI,EAAApB,eAKA,SAAA0iO,EAAAx7R,EAAAka,EAAAyF,EAAA9V,GACA,IAAAnP,EAAAsF,EAAAkqK,cAAAhwJ,GACA8hR,EAAAr8Q,EAAAzlB,IAAA,gBACA+hS,EAAAt8Q,EAAAzlB,IAAA,cACAgiS,EAAAv8Q,EAAAzlB,IAAA,2BACA4pN,EAAAnkM,EAAAzlB,IAAA,gBACAe,GAAA6oN,GAAA,GAAA3oN,KAAAC,GAAA,OACA+gS,EAAAx8Q,EAAAzlB,IAAA,wBACAwiB,EAAAiD,EAAAjD,qBACA6+Q,EAAA,CACArhR,YACAxf,SACAilB,YACAZ,WAAA/e,EAAAic,cAAA/B,EAAA,oBACAqB,MAAAvb,EAAAic,cAAA/B,EAAA,SACA+hR,aACAD,eACAI,sBAAAz8Q,EAAAzlB,IAAA,yBACAiiS,oBACAlhS,WACA02R,eAAAj1Q,EAAAiD,EAAA,KACAijN,eAAAlmN,GAAAiD,EAAAzlB,IAAA,kBACAi6B,GAAAxU,EAAA/C,WAAA,YAEAy/Q,EAAA18Q,EAAAq8Q,EAAAthS,EAAAmP,EAAA0xR,GACAe,EAAAt8R,EAAAka,EAAAxf,EAAAshS,EAAAC,EAAAV,EAAAgB,eAAAhB,EAAAiB,OAAAL,EAAAtyR,EAAA0xR,GACAkB,EAAA98Q,EAAA47Q,EAAAmB,YAAAzhS,EAAA4O,EAAA0xR,GACA,IAAAxpR,EAAAwpR,EAAAxpR,WACA8xM,EAAAlkM,EAAAzlB,IAAA,gBAOA,OALAjG,EAAAwJ,QAAAomN,KACAA,EAAA,CAAAttI,EAAAstI,EAAA,GAAA9xM,EAAA,IAAAwkE,EAAAstI,EAAA,GAAA9xM,EAAA,MAGA4qR,EAAAh9Q,EAAA5N,EAAArX,EAAAshS,EAAAC,EAAAp4E,EAAAq4E,EAAAX,EAAAqB,eAAArB,EAAAgB,eAAAhB,EAAAsB,gBAAAhzR,EAAA0xR,GACAA,EAIA,SAAAc,EAAA18Q,EAAAq8Q,EAAAthS,EAAAmP,EAAAm3G,GACA,IAKAu7K,EALA30H,EAAA/9J,EAAA+9J,SACAk1H,EAAAn9Q,EAAAzlB,IAAA,sBACAoV,EAAAzF,EAAAnQ,SAAA6V,aAAA1F,EAAAnQ,SAAA2V,eACA0tR,EAAAztR,EAAAuvN,cAAAvvN,EAAAumG,YAAA,IACAmnL,EAAA,IAAAtiS,EAAAktK,EAAAu0E,KAAA,GAGA,GAAAloP,EAAAwJ,QAAAq/R,GAAA,CACA,IAAAG,EAAA,CAAAC,EAAA5tR,EAAAwtR,EAAA,IAAAC,EAAAG,EAAA5tR,EAAAwtR,EAAA,IAAAC,GACAE,EAAA,GAAAA,EAAA,IAAAA,EAAAh8I,UACAs7I,EAAAU,EAAAD,QAEAT,EADG,MAAAO,EACHI,EAAA5tR,EAAAwtR,GAAAC,EACGf,EACHnyR,EAAAwxR,eAAAzzH,EAAAtvK,OAAA0kS,GAAAD,EAEAriS,EAAAktK,EAAAu0E,IAGAn7H,EAAAu7K,iBAEAP,IACAh7K,EAAA67K,gBAAAniS,EAAAktK,EAAAu0E,KAGAn7H,EAAAw7K,OAAAD,EAAA,IAAAA,EAAA,OAGA,SAAAW,EAAAzjS,EAAAf,GACA,OAAAe,EAAAolO,cAAAplO,EAAAo8G,YAAAp8G,EAAA+S,MAAAqhB,MAAAn1B,KAIA,SAAA4jS,EAAAt8R,EAAAka,EAAAxf,EAAAshS,EAAAC,EAAAM,EAAAC,EAAAL,EAAAtyR,EAAAm3G,GACA,IAAA4mD,EAAA/9J,EAAA+9J,SACA0zH,EAAAzxR,EAAAyxR,YACA6B,EAAAhiS,KAAAiR,IAAA1R,EAAA4gS,EAAAn/C,KACApqO,EAAA/R,EAAAic,cAAA/B,EAAA,cAEAjmB,EAAAwJ,QAAAsU,GACAA,IAAA4hB,SAEA,MAAA5hB,IACAA,EAAA,QAGAA,EAAA,CAAAA,MAOAA,EAAAupR,EAAAhjS,OAAAi+E,EAAAxkE,EAAAupR,EAAAhjS,OAAA6kS,GACAprR,EAAA61J,EAAAtvK,OAAAi+E,EAAAxkE,EAAA61J,EAAAtvK,OAAA0jS,EAAAmB,EAAAhiS,KAAAiR,IAAAmwR,IACAv7K,EAAAjvG,aAEA,IAAA2qR,EAAA17K,EAAA07K,YAAA,CAAA3qR,EAAA,GAAAoqR,EAAApqR,EAAA,GAAAoqR,GAEAO,EAAA90H,EAAAtvK,SAAAuR,EAAAlN,cAAA,KAAA6/R,EAGA,SAAAC,EAAA98Q,EAAA+8Q,EAAAzhS,EAAA4O,EAAAm3G,GAIA,IAAA47K,EAAAj9Q,EAAAzlB,IAAA6gS,IAAA,EAEA6B,IACA1B,EAAA1iN,KAAA,CACAhsE,MAAAkwR,EAAA/oQ,QACA14B,aAEAigS,EAAAnkL,kBACA6lL,GAAA1B,EAAA17C,eACAo9C,GAAAF,EAAA7yR,EAAA+9J,SAAAtvK,QAGA0oH,EAAA47K,iBAGA,SAAAD,EAAAh9Q,EAAA5N,EAAArX,EAAAshS,EAAAC,EAAAp4E,EAAAq4E,EAAAU,EAAAL,EAAAM,EAAAhzR,EAAAm3G,GACA,IAAAs6K,EAAAzxR,EAAAyxR,YACA1zH,EAAA/9J,EAAA+9J,SACA40H,EAAAx7K,EAAAw7K,OACAY,EAAAjiS,KAAAS,IAAAmW,EAAA61J,EAAAtvK,OAAAskS,EAAA,GACAS,EAAAD,EAIA,GAAApB,EAAA,CACA,IAAAsB,EAAAniS,KAAAiR,IAAAmwR,GACAgB,EAAAtpS,EAAAq9B,SAAA3R,EAAAzlB,IAAA,0BACAsjS,GAAA,EAEAD,EAAAvwG,YAAA,OAAAuwG,EAAAvlS,OAAA,IACAwlS,GAAA,EACAD,IAAA5pQ,MAAA,EAAA4pQ,EAAAvlS,OAAA,IAGAulS,EAAAhnN,EAAAgnN,EAAAxrR,EAAA61J,EAAAtvK,QACA,IAAAmlS,EAAAtiS,KAAAS,IAAAwhS,EAAA,EAAAG,EAAA,GAGAG,EAAAF,EAAA,IAAAD,EAGAI,EAAAjuL,EAAAssL,GACA4B,EAAAD,EAAA3B,EAAA6B,GAAAP,EAAAI,GAAAD,GAGAK,EAAAR,EAAAM,EAAAR,EACAG,EAAAO,EAAA,GAAAN,EAAAI,IAAA,GACAH,EAAAL,EAAA,EAAAG,EACAG,EAAAF,EAAA,IAAAD,EAEAI,GAAA,UAAA3B,IACA4B,EAAAf,EAAAgB,GAAA1iS,KAAAiR,IAAAywR,GAAAa,GAAAD,GAAA,GAGAJ,EAAAO,EAAAH,EAAAC,EACA18K,EAAA48K,cACA58K,EAAAu8K,eAGA,IAAAQ,EAAAvB,GAAAa,EAAA,GACAW,EAAAh9K,EAAAg9K,aAAA,GACAA,EAAA1C,EAAAhjS,OAAAoC,EAAA4gS,EAAAn/C,IAAA,EACA6hD,EAAAp2H,EAAAtvK,OAAA,UAAA4jS,EAAA6B,EAAA,QAAA7B,EAAAK,EAAAwB,EAAAxB,EAAA,EAEA14E,IACAm6E,EAAA,IAAAn6E,EAAA,GACAm6E,EAAA,IAAAn6E,EAAA,IAGA,IAAAo6E,EAAAj9K,EAAAi9K,eAAA,GACAA,EAAA3C,EAAAhjS,OAAAoC,EAAA4gS,EAAAlsO,IACA6uO,EAAAr2H,EAAAtvK,OAAAoC,EAAAktK,EAAAx4G,IACA,IAAA8uO,EAAAl9K,EAAAk9K,aAAAjqS,EAAAkF,OAAA,GAA2DuB,GAC3DwjS,EAAAt2H,EAAAu0E,IAAAqgD,EAAArhS,KAAAS,IAAAT,KAAAiR,IAAA1R,EAAAktK,EAAAu0E,KAAAhhP,KAAAiR,IAAA4xR,EAAAp2H,EAAAtvK,OAAAylS,IACAG,EAAA5C,EAAAn/C,IAAAzhP,EAAA4gS,EAAAn/C,IACA,IAAA3Z,EAAAxhH,EAAAwhH,UAAA,GAEAA,EAAA84D,EAAAlsO,KAAA10D,EAAA4gS,EAAAlsO,IACAozK,EAAA84D,EAAAn/C,IAAAtyO,EAAAqhR,OAAAoQ,EAAAn/C,IACA3Z,EAAA56D,EAAAx4G,IAAA,EACAozK,EAAA56D,EAAAu0E,IAAAzhP,EAAAktK,EAAAu0E,IAGA,SAAAgiD,EAAA5C,GACA,IAAAY,EAAAZ,EAAAY,kBACAjjO,EAAAg4G,EACAqqH,EAAAx8Q,YAAAo9Q,EAAA,GAAAA,EAAA,EAAAA,IAAAZ,EAAAhgR,OAOA,OANA29C,EAAAsf,KAAA,CACAnK,SAAA,IAEA,UAAAnV,EAAAtkE,MAAAskE,EAAA+iD,SAAA,CACA00F,eAAA,IAEAz3I,EAGA,SAAAklO,EAAA1+F,EAAA71L,EAAA0xR,EAAA8C,GACA,IAAAC,EAAA5+F,EAAA6+F,kBACAxsR,EAAAwpR,EAAAxpR,WACA6qR,EAAArB,EAAAqB,eACAoB,EAAAzC,EAAAyC,aACAp2H,EAAA/9J,EAAA+9J,SACAg2H,EAAArC,EAAAqC,aAAA,EACAtlS,EAAA,EACAkmS,EAAAzsR,EAAAlI,EAAA+9J,SAAAtvK,OAAAskS,EAAA,EAAArB,EAAAgC,aAmBA,IAlBAkB,EAAA/+F,EAAA,SAAAxmI,GACAA,EAAAwlO,0BAAApmS,EACA4gE,EAAAylO,uBAAAf,EAEAtlS,EAAAslS,EACAgB,EAAA1lO,EAAA,KAAA2lO,EAAAvmS,GAAAijS,EAAA8C,GAEAO,EAAA1lO,EAAA,MACA1sD,MAAA,OACO+uR,EAAA8C,EAAA,WACPC,EAAAr9R,OAAAi4D,KAIA4lO,EAAA5lO,EAAAqiO,GACAjjS,MAGQA,EAAAslS,EAAqBtlS,IAAA,CAC7B,IAAA4gE,EAAAilO,EAAA5C,GACAriO,EAAAwlO,0BAAApmS,EACA4gE,EAAAylO,uBAAAf,EACAU,EAAAtsQ,IAAAknC,GACA,IAAApuD,EAAA+zR,EAAAvmS,GACAsmS,EAAA1lO,EAAA,CACAn+D,SAAA+P,EAAA/P,SACAyR,MAAA,OACK,CACLA,MAAA1B,EAAA0B,MACAvR,SAAA6P,EAAA7P,UACKsgS,EAAA8C,GAGLnlO,EAAA7uD,GAAA,YAAAqhP,GAAArhP,GAAA,WAAAuhP,GACAkzC,EAAA5lO,EAAAqiO,GAGA,SAAAsD,EAAAvmS,GACA,IAAAyC,EAAAijS,EAAArqQ,QAGA6oQ,EAAAjB,EAAAiB,OACAh9R,EAAAlH,EAOA,OALA,UAAAijS,EAAAa,sBAAAI,EAAA,EAAAA,EAAA,KACAh9R,EAAAo+R,EAAA,EAAAtlS,GAGAyC,EAAA6sK,EAAAtvK,OAAAkmS,GAAAh/R,EAAAo+R,EAAA,MAAAI,EAAAp2H,EAAAtvK,OACA,CACAyC,WACAyR,MAAA+uR,EAAAmB,YAAA/oQ,QACA14B,SAAAsgS,EAAAtgS,UAIA,SAAAywP,IACA+yC,EAAA/+F,EAAA,SAAAxmI,GACAA,EAAArtD,QAAA,cAIA,SAAA+/O,IACA6yC,EAAA/+F,EAAA,SAAAxmI,GACAA,EAAArtD,QAAA,aAKA,SAAAkzR,EAAAr/F,EAAA71L,EAAA0xR,EAAA8C,GACA,IAAAC,EAAA5+F,EAAA6+F,kBACAS,EAAAt/F,EAAAu/F,oBAuBA,SAAAvzC,IACAj3P,KAAAoX,QAAA,YAGA,SAAA+/O,IACAn3P,KAAAoX,QAAA,UA1BAmzR,EAYAJ,EAAAI,EAAA,MACAjkS,SAAAwgS,EAAAyC,aAAArqQ,QACAnnB,MAAA+uR,EAAAmB,YAAA/oQ,QACA14B,SAAAsgS,EAAAtgS,UACKsgS,EAAA8C,IAfLW,EAAAt/F,EAAAu/F,oBAAAd,EAAA5C,GACA+C,EAAAtsQ,IAAAgtQ,GACAJ,EAAAI,EAAA,CACAjkS,SAAAwgS,EAAAyC,aAAArqQ,QACAnnB,MAAA,MACAvR,SAAAsgS,EAAAtgS,UACK,CACLuR,MAAA+uR,EAAAmB,YAAA/oQ,SACK4nQ,EAAA8C,GACLW,EAAA30R,GAAA,YAAAqhP,GAAArhP,GAAA,WAAAuhP,IASAkzC,EAAAE,EAAAzD,GAYA,SAAA2D,EAAAx/F,EAAA67F,EAAA8C,GACA,IAAAc,EAAAlrS,EAAAkF,OAAA,GAAkCoiS,EAAA2C,cAClCkB,EAAA1/F,EAAA2/F,mBAEAD,EAaAR,EAAAQ,EAAA,MACA/iS,MAAA8iS,GACK5D,EAAA8C,IAdLe,EAAA1/F,EAAA2/F,mBAAA,IAAA1mS,EAAA+qE,KAAA,CACAvvC,GAAA,EACA93B,MAAA8iS,EACArjL,QAAA,EACA9mH,MAAA,CACAI,OAAA,cACAD,KAAA,cACA+P,UAAA,KAGAw6L,EAAA1tK,IAAAotQ,IAQA,SAAAE,EAAA5/F,EAAA71L,EAAA0xR,EAAA8C,GAEA,GAAA9C,EAAAU,WAAA,CACA,IAAAtzD,EAAAjpC,EAAA6/F,oBACA/8D,EAAAvuO,EAAAkF,OAAA,GAAoCoiS,EAAA/4D,WACpC56D,EAAA/9J,EAAA+9J,SACA+pH,EAAA4J,EAAA5J,eACAz3Q,EAAAqhR,EAAArhR,UAEA,GAAAyuN,EACAhwO,EAAAkuM,YAAA8hC,EAAA,CACAtsO,MAAAmmO,GACOmvD,EAAAz3Q,OACF,CACLsoN,EAAA56D,EAAAu0E,IAAA,EACAxT,EAAA,IAAAhwO,EAAA+qE,KAAA,CACArnE,MAAAmmO,IAGA9iC,EAAA6+F,kBAAAzM,YAAAnpD,GAEAjpC,EAAA6/F,oBAAA52D,EACA,IAAA79N,EAAA,GACAA,EAAA88J,EAAAu0E,IAAAo/C,EAAA/4D,UAAA56D,EAAAu0E,IACAxjP,EAAA0lS,EAAA,2BAAA11D,EAAA,CACAtsO,MAAAyO,GACO6mR,EAAAz3Q,KAKP,SAAA0F,EAAA5f,EAAAka,GACA,IAAAyF,EAAA3f,EAAA4f,aAAA1F,GAGA,OAFAyF,EAAA6/Q,0BACA7/Q,EAAAjD,qBACAiD,EAGA,SAAA6/Q,EAAAtmO,GAEA,OACA5gE,MAAA4gE,EAAAwlO,0BACAtwR,MAAA8qD,EAAAylO,wBAIA,SAAAjiR,IAEA,OAAAjoB,KAAAojB,YAAA6E,wBAAAjoB,KAAAmoB,WAAA,aAGA,SAAAkiR,EAAA5lO,EAAAqiO,GACAriO,EAAA5uD,IAAA,YAAAA,IAAA,UACA,IAAAkC,EAAA+uR,EAAAmB,YAAA/oQ,QACA4nQ,EAAA34D,gBAAA1pK,EAAA7uD,GAAA,sBACA5V,KAAA2/E,UAAA,CACA5nE,MAAA,KAAAA,EAAA,OAAAA,EAAA,KACK,oBACFnC,GAAA,oBACH5V,KAAA2/E,UAAA,CACA5nE,QAAAmnB,SACK,oBAIL,SAAA8nQ,EAAAz7R,EAAA6J,EAAA0xR,EAAA8C,GAEA,IAAA3+F,EAAA,IAAA/mM,EAAA80M,MAEA6wF,EAAA,IAAA3lS,EAAA80M,MAeA,OAdA/N,EAAA1tK,IAAAssQ,GACA5+F,EAAA6+F,kBAAAD,EACAA,EAAA9lN,KAAA,WAAA+iN,EAAA0C,eAAAtqQ,SAEA4nQ,EAAAS,aACAoC,EAAA1+F,EAAA71L,EAAA0xR,GAEAwD,EAAAr/F,EAAA71L,EAAA0xR,GAGA2D,EAAAx/F,EAAA67F,EAAA8C,GACAiB,EAAA5/F,EAAA71L,EAAA0xR,EAAA8C,GACA3+F,EAAAk8F,oBAAAD,EAAA37R,EAAAu7R,GACA77F,EAAAo8F,sBAAAP,EACA77F,EAGA,SAAAm8F,EAAAn8F,EAAA71L,EAAA0xR,GACA,IAAA5J,EAAA4J,EAAA5J,eACAz3Q,EAAAqhR,EAAArhR,UACAokR,EAAA5+F,EAAA6+F,kBACA5lS,EAAAkuM,YAAAy3F,EAAA,CACAvjS,SAAAwgS,EAAA0C,eAAAtqQ,SACGg+P,EAAAz3Q,GAEHqhR,EAAAS,aACAoC,EAAA1+F,EAAA71L,EAAA0xR,GAAA,GAEAwD,EAAAr/F,EAAA71L,EAAA0xR,GAAA,GAGA2D,EAAAx/F,EAAA67F,GAAA,GACA+D,EAAA5/F,EAAA71L,EAAA0xR,GAAA,GAGA,SAAAQ,EAAA/7R,EAAAka,EAAAy3Q,EAAAjyF,GAEA,IAAA+/F,EAAA//F,EAAA2/F,mBACAI,MAAAzqS,MAAAS,KAAA,MACA,IAAAiqS,EAAA,GACAjB,EAAA/+F,EAAA,SAAAxmI,GACAwmO,EAAAt4R,KAAA8xD,KAEAwmI,EAAAu/F,qBAAAS,EAAAt4R,KAAAs4L,EAAAu/F,qBAEAv/F,EAAA6/F,sBAAA5N,EAAA,MACA19R,EAAA2nB,KAAA8jR,EAAA,SAAAxmO,GACAvgE,EAAAkuM,YAAA3tI,EAAA,CACA1sD,MAAA,OACKmlR,EAAAz3Q,EAAA,WACLwlL,EAAAt5H,QAAAs5H,EAAAt5H,OAAAnlE,OAAAy+L,OAGA1/L,EAAAgpM,iBAAA9uL,EAAA,MAGA,SAAAyhR,EAAA37R,EAAAu7R,GACA,OAAAv7R,EAAAic,cAAAs/Q,EAAArhR,UAAA,oBAAAqhR,EAAAS,eAAAT,EAAAU,YAAAx3R,KAAA,KAGA,SAAAg6R,EAAA/+F,EAAAl1K,EAAArS,GAEAlkB,EAAA2nB,KAAA8jL,EAAA6+F,kBAAA3lO,WAAA,SAAApzB,GACAA,IAAAk6J,EAAA2/F,oBAAA70Q,EAAAh2B,KAAA2jB,EAAAqtB,KAIA,SAAAo5P,EAAAp5P,EAAAm6P,EAAAC,EAAArE,EAAA8C,EAAA7zQ,GACAm1Q,GAAAn6P,EAAAgzC,KAAAmnN,GAEApE,EAAAU,aAAAoC,EACAuB,GAAAp6P,EAAAgzC,KAAAonN,GAEAA,GAAAjnS,EAAA0lS,EAAA,2BAAA74P,EAAAo6P,EAAArE,EAAA5J,eAAA4J,EAAArhR,UAAAsQ,GAIA,SAAA8M,EAAAooK,EAAA71L,EAAA0xR,GACA,IAAAhgR,EAAAggR,EAAAhgR,MACArB,EAAAqhR,EAAArhR,UACAyF,EAAA47Q,EAAA57Q,UAGAwnM,EAAAxnM,EAAAyP,SAAA,aAAA4wE,aAAA,WACAquG,EAAA1uL,EAAAyP,SAAA,sBAAA4wE,eACAqnH,EAAA1nM,EAAA/C,WAAA,UACA6hR,EAAA/+F,EAAA,SAAAxmI,GAEAA,EAAAoyG,SAAA/vJ,GACA29C,EAAA+iD,SAAAhoH,EAAA8V,SAAA,CACA5U,KAAAomB,EACAgtC,QAAAgzO,EAAAhzO,SACK4+J,IACLxuN,EAAA41M,cAAAr1I,EAAAm1I,GACAgZ,IAAAnuJ,EAAAhU,OAAAmiK,GACAnuJ,EAAA/kC,GAAAonQ,EAAApnQ,KAEA,IAAA0rQ,EAAA,GACAC,EAAAj2R,EAAA+9J,SAAAqzH,UAAAM,EAAAgB,eAAA,IACA6C,EAAA1/F,EAAA2/F,mBACA5Q,EAAA2Q,EAAApqS,MAAA6qS,EAAAlgR,EAAApE,EAAA1R,EAAAkF,YAAAmL,EAAA4lR,GACAnnS,EAAA41M,cAAA6wF,EAAAS,GAGA,SAAAhC,EAAAkC,GACA,IAAAC,EAAA7kS,KAAAwT,MAAAoxR,GAEA,OAAA5kS,KAAAiR,IAAA2zR,EAAAC,GAAA,KAAAA,EAAA7kS,KAAA0gE,KAAAkkO,GAGA,IAAA7oS,EAAAikS,EACAhkS,EAAAC,QAAAF,0BChpBA,IAAA+oS,EAAuB3sS,EAAQ,QAE/BW,EAAaX,EAAQ,QAErBu8O,EAAuBv8O,EAAQ,QAE/BykS,EAAAloD,EAAAkoD,uBAoBAmI,EAAA,CAKAC,aAAA,KAKA7nR,eAAA,SAAAV,EAAA5I,GAIA,IAAAstE,EAKA8jN,EAJA/Z,EAAAr3Q,EAAAmS,aAAA,QAAA1sB,KAAAyF,IAAA,eACAosR,EAAAt3Q,EAAAmS,aAAA,QAAA1sB,KAAAyF,IAAA,eACAmmS,EAAAha,EAAAnsR,IAAA,QACAomS,EAAAha,EAAApsR,IAAA,QAIA,aAAAmmS,GACAzoR,EAAAld,OAAA,aACA4hF,EAAA+pM,EAAA9pM,iBACA6jN,GAAA,GACK,aAAAE,GACL1oR,EAAAld,OAAA,WACA4hF,EAAAgqM,EAAA/pM,iBACA6jN,GAAA,GAEAxoR,EAAAld,OAAAkd,EAAAld,QAAA,aAGA,IAAAyzK,EAAA,UACAoyH,EAAA,eAAA3oR,EAAAld,OAAA,IACA8lS,EAAA/rS,KAAA0rS,aAAAhyH,EAAAoyH,GACAE,EAAAtyH,EAAA,EAAAoyH,GACAjiB,EAAA,CAAA+H,EAAAC,GACAoa,EAAApiB,EAAAiiB,GAAArmS,IAAA,QACAymS,EAAAriB,EAAA,EAAAiiB,GAAArmS,IAAA,QACA8F,EAAA4X,EAAA5X,KAGA,GAAAA,GAAAogS,EAAA,CACA,IAAAQ,EAAA,GACA3sS,EAAA2nB,KAAA5b,EAAA,SAAAs5D,EAAAhhE,GACA,IAAAuoS,EAEAvnO,EAAA5gE,OAAAzE,EAAAwJ,QAAA67D,EAAA5gE,QACAmoS,EAAAvnO,EAAA5gE,MAAAi7B,QACA2lC,EAAA5gE,MAAAkxE,QAAAtxE,IACSrE,EAAAwJ,QAAA67D,IACTunO,EAAAvnO,EAAA3lC,QACA2lC,EAAAsQ,QAAAtxE,IAEAuoS,EAAAvnO,EAGAsnO,EAAAx5R,KAAAy5R,KAEAjpR,EAAA5X,KAAA4gS,EAGA,IAAAE,EAAArsS,KAAAqsS,uBACA,OAAAb,EAAAxrS,KAAA,CACA0nF,gBAAA,EACAp5E,KAAAy9R,EACA5rS,KAAAmjS,EAAA2I,GACApkN,cACAnhE,UAAA,CACAJ,SAAA,EACA+9Q,SAAA,GAEAtjI,QAAA,UACO,CACPzyJ,KAAA09R,EACA7rS,KAAAmjS,EAAA4I,GACAnrI,QAAAsrI,EAAAntQ,UAEAotQ,gBAAAD,EAAA9oS,OAAA,KAQAqX,YAAA,WACA,IAAAU,EAAAtb,KAAA0rS,aACA,OAAA1rS,KAAAua,QAAAmS,aAAApR,EAAA,OAAAtb,KAAAyF,IAAA6V,EAAA,cAAAtW,OAGArC,EAAA8oS,yCC1IA,IAAAc,EAAA,GACAC,EAAA,EAGA,SAAAC,EAAA5+Q,GACA,IAAAjP,EAAA,EAEA,MAAAiP,GAAA0+Q,EACA3tR,GAAA,EAAAiP,EACAA,IAAA,EAGA,OAAAA,EAAAjP,EAGA,SAAA8tR,EAAAtvQ,EAAAuvQ,EAAAC,EAAAjlM,GACA,IAAAklM,EAAAF,EAAA,EAEA,GAAAE,IAAAD,EACA,SAGA,GAAAjlM,EAAAvqE,EAAAyvQ,KAAAzvQ,EAAAuvQ,IAAA,GACA,MAAAE,EAAAD,GAAAjlM,EAAAvqE,EAAAyvQ,GAAAzvQ,EAAAyvQ,EAAA,MACAA,IAGAC,EAAA1vQ,EAAAuvQ,EAAAE,QAEA,MAAAA,EAAAD,GAAAjlM,EAAAvqE,EAAAyvQ,GAAAzvQ,EAAAyvQ,EAAA,OACAA,IAIA,OAAAA,EAAAF,EAGA,SAAAG,EAAA1vQ,EAAAuvQ,EAAAC,GACAA,IAEA,MAAAD,EAAAC,EAAA,CACA,IAAAxwR,EAAAghB,EAAAuvQ,GACAvvQ,EAAAuvQ,KAAAvvQ,EAAAwvQ,GACAxvQ,EAAAwvQ,KAAAxwR,GAIA,SAAA2wR,EAAA3vQ,EAAAuvQ,EAAAC,EAAAxgR,EAAAu7E,GAKA,IAJAv7E,IAAAugR,GACAvgR,IAGQA,EAAAwgR,EAAYxgR,IAAA,CACpB,IAGA4gR,EAHAhwL,EAAA5/E,EAAAhR,GACAkjB,EAAAq9P,EACAp9P,EAAAnjB,EAGA,MAAAkjB,EAAAC,EACAy9P,EAAA19P,EAAAC,IAAA,EAEAo4D,EAAAqV,EAAA5/E,EAAA4vQ,IAAA,EACAz9P,EAAAy9P,EAEA19P,EAAA09P,EAAA,EAIA,IAAAn/Q,EAAAzB,EAAAkjB,EAEA,OAAAzhB,GACA,OACAuP,EAAAkS,EAAA,GAAAlS,EAAAkS,EAAA,GAEA,OACAlS,EAAAkS,EAAA,GAAAlS,EAAAkS,EAAA,GAEA,OACAlS,EAAAkS,EAAA,GAAAlS,EAAAkS,GACA,MAEA,QACA,MAAAzhB,EAAA,EACAuP,EAAAkS,EAAAzhB,GAAAuP,EAAAkS,EAAAzhB,EAAA,GACAA,IAKAuP,EAAAkS,GAAA0tE,GAIA,SAAAiwL,EAAAhpS,EAAAm5B,EAAAhR,EAAA7oB,EAAAs0Q,EAAAlwK,GACA,IAAAulM,EAAA,EACAC,EAAA,EACApnP,EAAA,EAEA,GAAA4hD,EAAA1jG,EAAAm5B,EAAAhR,EAAAyrP,IAAA,GACAs1B,EAAA5pS,EAAAs0Q,EAEA,MAAA9xN,EAAAonP,GAAAxlM,EAAA1jG,EAAAm5B,EAAAhR,EAAAyrP,EAAA9xN,IAAA,EACAmnP,EAAAnnP,EACAA,EAAA,GAAAA,GAAA,GAEAA,GAAA,IACAA,EAAAonP,GAIApnP,EAAAonP,IACApnP,EAAAonP,GAGAD,GAAAr1B,EACA9xN,GAAA8xN,MACG,CACHs1B,EAAAt1B,EAAA,EAEA,MAAA9xN,EAAAonP,GAAAxlM,EAAA1jG,EAAAm5B,EAAAhR,EAAAyrP,EAAA9xN,KAAA,EACAmnP,EAAAnnP,EACAA,EAAA,GAAAA,GAAA,GAEAA,GAAA,IACAA,EAAAonP,GAIApnP,EAAAonP,IACApnP,EAAAonP,GAGA,IAAAh9O,EAAA+8O,EACAA,EAAAr1B,EAAA9xN,EACAA,EAAA8xN,EAAA1nN,EAGA+8O,IAEA,MAAAA,EAAAnnP,EAAA,CACA,IAAAx4B,EAAA2/Q,GAAAnnP,EAAAmnP,IAAA,GAEAvlM,EAAA1jG,EAAAm5B,EAAAhR,EAAAmB,IAAA,EACA2/Q,EAAA3/Q,EAAA,EAEAw4B,EAAAx4B,EAIA,OAAAw4B,EAGA,SAAAqnP,EAAAnpS,EAAAm5B,EAAAhR,EAAA7oB,EAAAs0Q,EAAAlwK,GACA,IAAAulM,EAAA,EACAC,EAAA,EACApnP,EAAA,EAEA,GAAA4hD,EAAA1jG,EAAAm5B,EAAAhR,EAAAyrP,IAAA,GACAs1B,EAAAt1B,EAAA,EAEA,MAAA9xN,EAAAonP,GAAAxlM,EAAA1jG,EAAAm5B,EAAAhR,EAAAyrP,EAAA9xN,IAAA,EACAmnP,EAAAnnP,EACAA,EAAA,GAAAA,GAAA,GAEAA,GAAA,IACAA,EAAAonP,GAIApnP,EAAAonP,IACApnP,EAAAonP,GAGA,IAAAh9O,EAAA+8O,EACAA,EAAAr1B,EAAA9xN,EACAA,EAAA8xN,EAAA1nN,MACG,CACHg9O,EAAA5pS,EAAAs0Q,EAEA,MAAA9xN,EAAAonP,GAAAxlM,EAAA1jG,EAAAm5B,EAAAhR,EAAAyrP,EAAA9xN,KAAA,EACAmnP,EAAAnnP,EACAA,EAAA,GAAAA,GAAA,GAEAA,GAAA,IACAA,EAAAonP,GAIApnP,EAAAonP,IACApnP,EAAAonP,GAGAD,GAAAr1B,EACA9xN,GAAA8xN,EAGAq1B,IAEA,MAAAA,EAAAnnP,EAAA,CACA,IAAAx4B,EAAA2/Q,GAAAnnP,EAAAmnP,IAAA,GAEAvlM,EAAA1jG,EAAAm5B,EAAAhR,EAAAmB,IAAA,EACAw4B,EAAAx4B,EAEA2/Q,EAAA3/Q,EAAA,EAIA,OAAAw4B,EAGA,SAAAsnP,EAAAjwQ,EAAAuqE,GACA,IAIA2lM,EACAC,EALAC,EAAAhB,EACAjpS,EAAA,EAKAkqS,EAAA,EACAlqS,EAAA65B,EAAA75B,OAMA,IAAA4sD,EAAA,GAKA,SAAAu9O,EAAAC,EAAAC,GACAN,EAAAG,GAAAE,EACAJ,EAAAE,GAAAG,EACAH,GAAA,EAGA,SAAAI,IACA,MAAAJ,EAAA,GACA,IAAA5/Q,EAAA4/Q,EAAA,EAEA,GAAA5/Q,GAAA,GAAA0/Q,EAAA1/Q,EAAA,IAAA0/Q,EAAA1/Q,GAAA0/Q,EAAA1/Q,EAAA,IAAAA,GAAA,GAAA0/Q,EAAA1/Q,EAAA,IAAA0/Q,EAAA1/Q,GAAA0/Q,EAAA1/Q,EAAA,GACA0/Q,EAAA1/Q,EAAA,GAAA0/Q,EAAA1/Q,EAAA,IACAA,SAEO,GAAA0/Q,EAAA1/Q,GAAA0/Q,EAAA1/Q,EAAA,GACP,MAGAigR,EAAAjgR,IAIA,SAAAkgR,IACA,MAAAN,EAAA,GACA,IAAA5/Q,EAAA4/Q,EAAA,EAEA5/Q,EAAA,GAAA0/Q,EAAA1/Q,EAAA,GAAA0/Q,EAAA1/Q,EAAA,IACAA,IAGAigR,EAAAjgR,IAIA,SAAAigR,EAAA/iS,GACA,IAAAijS,EAAAV,EAAAviS,GACAkjS,EAAAV,EAAAxiS,GACAmjS,EAAAZ,EAAAviS,EAAA,GACAojS,EAAAZ,EAAAxiS,EAAA,GACAwiS,EAAAxiS,GAAAkjS,EAAAE,EAEApjS,IAAA0iS,EAAA,IACAH,EAAAviS,EAAA,GAAAuiS,EAAAviS,EAAA,GACAwiS,EAAAxiS,EAAA,GAAAwiS,EAAAxiS,EAAA,IAGA0iS,IACA,IAAA/sR,EAAA0sR,EAAAhwQ,EAAA8wQ,GAAA9wQ,EAAA4wQ,EAAAC,EAAA,EAAAtmM,GACAqmM,GAAAttR,EACAutR,GAAAvtR,EAEA,IAAAutR,IAIAE,EAAAlB,EAAA7vQ,EAAA4wQ,EAAAC,EAAA,GAAA7wQ,EAAA8wQ,EAAAC,IAAA,EAAAxmM,GAEA,IAAAwmM,IAIAF,GAAAE,EACAC,EAAAJ,EAAAC,EAAAC,EAAAC,GAEAE,EAAAL,EAAAC,EAAAC,EAAAC,KAIA,SAAAC,EAAAJ,EAAAC,EAAAC,EAAAC,GACA,IAAApjS,EAAA,EAEA,IAAAA,EAAA,EAAeA,EAAAkjS,EAAaljS,IAC5BolD,EAAAplD,GAAAqyB,EAAA4wQ,EAAAjjS,GAGA,IAAAujS,EAAA,EACAC,EAAAL,EACAM,EAAAR,EAGA,GAFA5wQ,EAAAoxQ,KAAApxQ,EAAAmxQ,KAEA,MAAAJ,EAQA,OAAAF,EAAA,CASA,IACAQ,EAAAC,EAAAC,EADAC,EAAApB,EAGA,SACAiB,EAAA,EACAC,EAAA,EACAC,GAAA,EAEA,GACA,GAAAhnM,EAAAvqE,EAAAmxQ,GAAAp+O,EAAAm+O,IAAA,GAKA,GAJAlxQ,EAAAoxQ,KAAApxQ,EAAAmxQ,KACAG,IACAD,EAAA,EAEA,MAAAN,EAAA,CACAQ,GAAA,EACA,YAOA,GAJAvxQ,EAAAoxQ,KAAAr+O,EAAAm+O,KACAG,IACAC,EAAA,EAEA,MAAAT,EAAA,CACAU,GAAA,EACA,cAGOF,EAAAC,GAAAE,GAEP,GAAAD,EACA,MAGA,GAGA,GAFAF,EAAArB,EAAAhwQ,EAAAmxQ,GAAAp+O,EAAAm+O,EAAAL,EAAA,EAAAtmM,GAEA,IAAA8mM,EAAA,CACA,IAAA1jS,EAAA,EAAqBA,EAAA0jS,EAAY1jS,IACjCqyB,EAAAoxQ,EAAAzjS,GAAAolD,EAAAm+O,EAAAvjS,GAOA,GAJAyjS,GAAAC,EACAH,GAAAG,EACAR,GAAAQ,EAEAR,GAAA,GACAU,GAAA,EACA,OAMA,GAFAvxQ,EAAAoxQ,KAAApxQ,EAAAmxQ,KAEA,MAAAJ,EAAA,CACAQ,GAAA,EACA,MAKA,GAFAD,EAAAzB,EAAA98O,EAAAm+O,GAAAlxQ,EAAAmxQ,EAAAJ,EAAA,EAAAxmM,GAEA,IAAA+mM,EAAA,CACA,IAAA3jS,EAAA,EAAqBA,EAAA2jS,EAAY3jS,IACjCqyB,EAAAoxQ,EAAAzjS,GAAAqyB,EAAAmxQ,EAAAxjS,GAOA,GAJAyjS,GAAAE,EACAH,GAAAG,EACAP,GAAAO,EAEA,IAAAP,EAAA,CACAQ,GAAA,EACA,OAMA,GAFAvxQ,EAAAoxQ,KAAAr+O,EAAAm+O,KAEA,MAAAL,EAAA,CACAU,GAAA,EACA,MAGAC,UACOH,GAAAjC,GAAAkC,GAAAlC,GAEP,GAAAmC,EACA,MAGAC,EAAA,IACAA,EAAA,GAGAA,GAAA,EAMA,GAHApB,EAAAoB,EACApB,EAAA,IAAAA,EAAA,GAEA,IAAAS,EAAA,CACA,IAAAljS,EAAA,EAAiBA,EAAAojS,EAAapjS,IAC9BqyB,EAAAoxQ,EAAAzjS,GAAAqyB,EAAAmxQ,EAAAxjS,GAGAqyB,EAAAoxQ,EAAAL,GAAAh+O,EAAAm+O,OACK,QAAAL,EACL,UAAAtgQ,MAEA,IAAA5iC,EAAA,EAAiBA,EAAAkjS,EAAaljS,IAC9BqyB,EAAAoxQ,EAAAzjS,GAAAolD,EAAAm+O,EAAAvjS,QAvHA,CACA,IAAAA,EAAA,EAAiBA,EAAAojS,EAAapjS,IAC9BqyB,EAAAoxQ,EAAAzjS,GAAAqyB,EAAAmxQ,EAAAxjS,GAGAqyB,EAAAoxQ,EAAAL,GAAAh+O,EAAAm+O,QAZA,IAAAvjS,EAAA,EAAiBA,EAAAkjS,EAAaljS,IAC9BqyB,EAAAoxQ,EAAAzjS,GAAAolD,EAAAm+O,EAAAvjS,GAkIA,SAAAsjS,EAAAL,EAAAC,EAAAC,EAAAC,GACA,IAAApjS,EAAA,EAEA,IAAAA,EAAA,EAAeA,EAAAojS,EAAapjS,IAC5BolD,EAAAplD,GAAAqyB,EAAA8wQ,EAAAnjS,GAGA,IAAAujS,EAAAN,EAAAC,EAAA,EACAM,EAAAJ,EAAA,EACAK,EAAAN,EAAAC,EAAA,EACAU,EAAA,EACAC,EAAA,EAGA,GAFA1xQ,EAAAoxQ,KAAApxQ,EAAAkxQ,KAEA,MAAAL,EAUA,OAAAE,EAAA,CAcA,IAAAS,EAAApB,EAEA,SACA,IAAAiB,EAAA,EACAC,EAAA,EACAC,GAAA,EAEA,GACA,GAAAhnM,EAAAx3C,EAAAo+O,GAAAnxQ,EAAAkxQ,IAAA,GAKA,GAJAlxQ,EAAAoxQ,KAAApxQ,EAAAkxQ,KACAG,IACAC,EAAA,EAEA,MAAAT,EAAA,CACAU,GAAA,EACA,YAOA,GAJAvxQ,EAAAoxQ,KAAAr+O,EAAAo+O,KACAG,IACAD,EAAA,EAEA,MAAAN,EAAA,CACAQ,GAAA,EACA,cAGOF,EAAAC,GAAAE,GAEP,GAAAD,EACA,MAGA,GAGA,GAFAF,EAAAR,EAAAb,EAAAj9O,EAAAo+O,GAAAnxQ,EAAA4wQ,EAAAC,IAAA,EAAAtmM,GAEA,IAAA8mM,EAAA,CAOA,IANAD,GAAAC,EACAH,GAAAG,EACAR,GAAAQ,EACAK,EAAAN,EAAA,EACAK,EAAAP,EAAA,EAEAvjS,EAAA0jS,EAAA,EAA8B1jS,GAAA,EAAQA,IACtCqyB,EAAA0xQ,EAAA/jS,GAAAqyB,EAAAyxQ,EAAA9jS,GAGA,OAAAkjS,EAAA,CACAU,GAAA,EACA,OAMA,GAFAvxQ,EAAAoxQ,KAAAr+O,EAAAo+O,KAEA,MAAAJ,EAAA,CACAQ,GAAA,EACA,MAKA,GAFAD,EAAAP,EAAAlB,EAAA7vQ,EAAAkxQ,GAAAn+O,EAAA,EAAAg+O,IAAA,EAAAxmM,GAEA,IAAA+mM,EAAA,CAOA,IANAF,GAAAE,EACAH,GAAAG,EACAP,GAAAO,EACAI,EAAAN,EAAA,EACAK,EAAAN,EAAA,EAEAxjS,EAAA,EAAqBA,EAAA2jS,EAAY3jS,IACjCqyB,EAAA0xQ,EAAA/jS,GAAAolD,EAAA0+O,EAAA9jS,GAGA,GAAAojS,GAAA,GACAQ,GAAA,EACA,OAMA,GAFAvxQ,EAAAoxQ,KAAApxQ,EAAAkxQ,KAEA,MAAAL,EAAA,CACAU,GAAA,EACA,MAGAC,UACOH,GAAAjC,GAAAkC,GAAAlC,GAEP,GAAAmC,EACA,MAGAC,EAAA,IACAA,EAAA,GAGAA,GAAA,EASA,GANApB,EAAAoB,EAEApB,EAAA,IACAA,EAAA,GAGA,IAAAW,EAAA,CAMA,IALAK,GAAAP,EACAK,GAAAL,EACAa,EAAAN,EAAA,EACAK,EAAAP,EAAA,EAEAvjS,EAAAkjS,EAAA,EAA2BljS,GAAA,EAAQA,IACnCqyB,EAAA0xQ,EAAA/jS,GAAAqyB,EAAAyxQ,EAAA9jS,GAGAqyB,EAAAoxQ,GAAAr+O,EAAAo+O,OACK,QAAAJ,EACL,UAAAxgQ,MAIA,IAFAkhQ,EAAAL,GAAAL,EAAA,GAEApjS,EAAA,EAAiBA,EAAAojS,EAAapjS,IAC9BqyB,EAAAyxQ,EAAA9jS,GAAAolD,EAAAplD,QAzIA,CAMA,IALAyjS,GAAAP,EACAK,GAAAL,EACAa,EAAAN,EAAA,EACAK,EAAAP,EAAA,EAEAvjS,EAAAkjS,EAAA,EAA2BljS,GAAA,EAAQA,IACnCqyB,EAAA0xQ,EAAA/jS,GAAAqyB,EAAAyxQ,EAAA9jS,GAGAqyB,EAAAoxQ,GAAAr+O,EAAAo+O,QAjBA,IAFAM,EAAAL,GAAAL,EAAA,GAEApjS,EAAA,EAAiBA,EAAAojS,EAAapjS,IAC9BqyB,EAAAyxQ,EAAA9jS,GAAAolD,EAAAplD,GAzOAuiS,EAAA,GACAC,EAAA,GA4XAvtS,KAAA6tS,YACA7tS,KAAA+tS,iBACA/tS,KAAA0tS,UAGA,SAAAz3Q,EAAAmH,EAAAuqE,EAAAglM,EAAAC,GACAD,IACAA,EAAA,GAGAC,IACAA,EAAAxvQ,EAAA75B,QAGA,IAAAwrS,EAAAnC,EAAAD,EAEA,KAAAoC,EAAA,IAIA,IAAAxB,EAAA,EAEA,GAAAwB,EAAAxC,EAGA,OAFAgB,EAAAb,EAAAtvQ,EAAAuvQ,EAAAC,EAAAjlM,QACAolM,EAAA3vQ,EAAAuvQ,EAAAC,EAAAD,EAAAY,EAAA5lM,GAIA,IAAAqnM,EAAA,IAAA3B,EAAAjwQ,EAAAuqE,GACAsnM,EAAAxC,EAAAsC,GAEA,GAGA,GAFAxB,EAAAb,EAAAtvQ,EAAAuvQ,EAAAC,EAAAjlM,GAEA4lM,EAAA0B,EAAA,CACA,IAAAp1M,EAAAk1M,EAEAl1M,EAAAo1M,IACAp1M,EAAAo1M,GAGAlC,EAAA3vQ,EAAAuvQ,IAAA9yM,EAAA8yM,EAAAY,EAAA5lM,GACA4lM,EAAA1zM,EAGAm1M,EAAAtB,QAAAf,EAAAY,GACAyB,EAAAnB,YACAkB,GAAAxB,EACAZ,GAAAY,QACG,IAAAwB,GAEHC,EAAAjB,kBAGArrS,EAAAC,QAAAszB,0BCnoBA,IAAArT,EAAkB/jB,EAAQ,QAE1B2sS,EAAuB3sS,EAAQ,QAE/BW,EAAaX,EAAQ,QAErB0iB,EAAc1iB,EAAQ,QAEtB4iB,EAAAF,EAAAE,WAoBAytR,EAAAtsR,EAAAle,OAAA,CACAvE,KAAA,eACA4lH,aAAA,UAEA7iG,KAAA,SAAAC,GACA+rR,EAAA5oI,WAAAtmK,KAAA,OAAA2I,WAGA3I,KAAA+iB,mBAAA,WACA,OAAA/iB,KAAAilB,eAGApB,eAAA,SAAAV,EAAA5I,GACA,OAAAixR,EAAAxrS,KAAA,CACAy8O,cAAA,aACAC,mBAAA5iO,OAGA0L,cAAA,SAAAC,GACA,IAAAla,EAAAvL,KAAAwa,UACAvV,EAAAjF,KAAAkF,iBACA40N,EAAA70N,EAAAqyN,mBACAhpN,EAAAtO,KAAAwa,UAAAoN,QAAAnC,GACA,OAAAhE,EAAA,KAAAnT,EAAAtO,KAAAsO,QAAA,QAAA9O,EAAA4N,IAAA0sN,EAAA,SAAA90N,EAAA2Y,GACA,IAAA1U,EAAAsC,EAAA9F,IAAA8F,EAAA8P,aAAArW,EAAAsW,KAAAmK,GACA,OAAAhE,EAAAzc,EAAAsJ,KAAA,MAAArF,KACK+G,KAAA,WAEL8S,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EACAj4B,iBAAA,QACAykL,iBAAA,EACAwlH,WAAA,EACA11J,UAAA,CACAn3I,MAAA,EACAnC,KAAA,SAEA2kB,MAAA,CACAxe,SAAA,OAKAmkB,OAAA,cACAnN,WAAA,KAIA7a,EAAAysS,EACAxsS,EAAAC,QAAAF,wBC9EA,IAAAkL,EAAY9O,EAAQ,QAEpBgsD,EAAAl9C,EAAAk9C,cACAjmC,EAAAjX,EAAAiX,aAEAgnK,EAAa/sL,EAAQ,QAErBgtL,EAAAD,EAAAC,iBAEAu3G,EAAkBvkS,EAAQ,QAE1BwkS,EAAAD,EAAAC,uBACA+L,EAAAhM,EAAAgM,wBACAC,EAAAjM,EAAAiM,sBACAC,EAAAlM,EAAAkM,0BACAC,EAAAnM,EAAAmM,4BAqEA,SAAAp0D,EAAAq0D,GAIAxvS,KAAAyvS,YAAAD,EAAAC,YAMAzvS,KAAAuL,KAAAikS,EAAAjkS,OAAAikS,EAAA/K,eAAA8K,EAAA,GAAsF,IAOtFvvS,KAAAykS,aAAA+K,EAAA/K,cAAA4K,EAOArvS,KAAA0vS,eAAAF,EAAAE,gBAAAN,EAOApvS,KAAAwnF,iBAAAgoN,EAAAhoN,iBAOAxnF,KAAAynF,aAAA+nN,EAAA/nN,cAAA58B,EAAA2kP,EAAA/nN,cAMAznF,KAAA2vS,WAAAH,EAAAG,YAAA,EAMA3vS,KAAA88O,sBAAA0yD,EAAA1yD,sBAOA3B,EAAAI,mBAAA,SAAAhwO,GACA,WAAA4vO,EAAA,CACA5vO,OACAk5R,aAAA7/Q,EAAArZ,GAAA+jS,EAAAjM,EACAoM,aAAA,KAIA5jH,EAAAsvD,GACA,IAAA14O,EAAA04O,EACAz4O,EAAAC,QAAAF,0BCvJA,IAAAjD,EAAaX,EAAQ,QA8BrB+wS,EAAA,IAOA,SAAAC,IACA,IAAAj6Q,EAAAp2B,EAAAspD,eACA9oD,KAAA41B,SACA51B,KAAA6+J,SAAA,GACA7+J,KAAA8vS,UAAA,GACA9vS,KAAA+vS,WAAA,EACA/vS,KAAAgwS,WAAA,EACAhwS,KAAAiwS,gBAAA,GAGAJ,EAAA5vS,UAAA,CAOAssB,OAAA,SAAAhhB,EAAAjJ,EAAAC,EAAA8b,EAAA6xR,EAAAC,GACA,IAAA/vS,EAAAJ,KAAAowS,YAEAC,EAAArwS,KAAAswS,aAAA/kS,EAAA2kS,EAAA,WAEAK,EAAAvwS,KAAAswS,aAAA/kS,EAAA2kS,EAAA,cAEAtxR,EAAA5e,KAAA8vS,UAAA9vS,KAAA6+J,SACAjpI,EAAA51B,KAAA41B,OACAv1B,EAAAu1B,EAAAhoB,WAAA,MACAnB,EAAAlB,EAAAhI,OACAqyB,EAAAtzB,QACAszB,EAAArzB,SAEA,QAAAwI,EAAA,EAAmBA,EAAA0B,IAAS1B,EAAA,CAC5B,IAAA+V,EAAAvV,EAAAR,GACA/I,EAAA8e,EAAA,GACA7e,EAAA6e,EAAA,GACA7c,EAAA6c,EAAA,GAEAwY,EAAAjb,EAAApa,GAEA5D,EAAAuqP,YAAAtxN,EACAj5B,EAAAy1B,UAAA11B,EAAA4B,EAAA4c,EAAA3c,EAAA2c,GAGA,IAAAgX,EAAAtzB,QAAAszB,EAAArzB,OAGA,OAAAqzB,EAIA,IAAA46Q,EAAAnwS,EAAA08F,aAAA,IAAAnnE,EAAAtzB,MAAAszB,EAAArzB,QACAqjC,EAAA4qQ,EAAAjlS,KACAw6C,EAAA,EACA0qP,EAAA7qQ,EAAAriC,OACAysS,EAAAhwS,KAAAgwS,WACAD,EAAA/vS,KAAA+vS,WACAW,EAAAX,EAAAC,EAEA,MAAAjqP,EAAA0qP,EAAA,CACAn3Q,EAAAsM,EAAAmgB,EAAA,WACA4qP,EAAA,EAAAjqS,KAAAmK,MAAAyoB,GAAAs2Q,EAAA,IAEA,GAAAt2Q,EAAA,GACA,IAAAqkJ,EAAAwyH,EAAA72Q,GAAA+2Q,EAAAE,EAEAj3Q,EAAA,IAAAA,IAAAo3Q,EAAAV,GACApqQ,EAAAmgB,KAAA43H,EAAAgzH,GACA/qQ,EAAAmgB,KAAA43H,EAAAgzH,EAAA,GACA/qQ,EAAAmgB,KAAA43H,EAAAgzH,EAAA,GACA/qQ,EAAAmgB,KAAA43H,EAAAgzH,EAAA,GAAAr3Q,EAAA,SAEAysB,GAAA,EAKA,OADA1lD,EAAA68F,aAAAszM,EAAA,KACA56Q,GAQAw6Q,UAAA,WACA,IAAAQ,EAAA5wS,KAAA6wS,eAAA7wS,KAAA6wS,aAAArxS,EAAAspD,gBAEAlqC,EAAA5e,KAAA8vS,UAAA9vS,KAAA6+J,SACAriJ,EAAA,EAAAoC,EACAgyR,EAAAtuS,MAAAka,EACAo0R,EAAAruS,OAAAia,EACA,IAAAnc,EAAAuwS,EAAAhjS,WAAA,MAeA,OAdAvN,EAAAynH,UAAA,IAAAtrG,KAIAnc,EAAAS,cAAA0b,EACAnc,EAAAO,WAAAZ,KAAA6+J,SAGAx+J,EAAAQ,YAAA,OAEAR,EAAAq9K,YACAr9K,EAAAkf,KAAAX,IAAA5e,KAAA8vS,UAAA,IAAAppS,KAAAC,IAAA,GACAtG,EAAAmf,YACAnf,EAAAK,OACAkwS,GAOAN,aAAA,SAAA/kS,EAAA2kS,EAAA/nG,GAMA,IALA,IAAA2oG,EAAA9wS,KAAAiwS,gBACAc,EAAAD,EAAA3oG,KAAA2oG,EAAA3oG,GAAA,IAAA6oG,kBAAA,OACAlqR,EAAA,UACAjR,EAAA,EAEA9K,EAAA,EAAmBA,EAAA,IAASA,IAC5BmlS,EAAA/nG,GAAAp9L,EAAA,OAAA+b,GACAiqR,EAAAl7R,KAAAiR,EAAA,GACAiqR,EAAAl7R,KAAAiR,EAAA,GACAiqR,EAAAl7R,KAAAiR,EAAA,GACAiqR,EAAAl7R,KAAAiR,EAAA,GAGA,OAAAiqR,IAGA,IAAAtuS,EAAAotS,EACAntS,EAAAC,QAAAF,wBCxKA,IAAAjD,EAAaX,EAAQ,QAoBrBsoB,EAAA3nB,EAAA2nB,KAEA,SAAA1kB,EAAA0gB,GACA,IAAAkmL,EAAAlmL,KAAAkmL,UAEA7pM,EAAAwJ,QAAAqgM,KACAA,IAAA,CAAAA,GAAA,IAGAliL,EAAAkiL,EAAA,SAAAj0L,GACA,GAAAA,EAAA,CAKAy+E,EAAAz+E,EAAA,eAAAy+E,EAAAz+E,EAAA,YACAA,EAAA67R,OAAA77R,EAAA87R,iBACA97R,EAAA87R,WAGA,IAAAD,EAAA77R,EAAA67R,OAEAA,GAAAzxS,EAAAwJ,QAAAioS,IACA9pR,EAAA8pR,EAAA,SAAA7+E,GACA5yN,EAAAoK,SAAAwoN,KACAv+H,EAAAu+H,EAAA,WAAAv+H,EAAAu+H,EAAA,SACAA,EAAAlrN,IAAAkrN,EAAAhmM,OAGAynE,EAAAu+H,EAAA,SAAAv+H,EAAAu+H,EAAA,SACAA,EAAAjrN,IAAAirN,EAAA7oM,WAQA,SAAAsqE,EAAA/oF,EAAAwD,GACA,OAAAxD,KAAAI,gBAAAJ,EAAAI,eAAAoD,GAGA5L,EAAAC,QAAAF,0BC9DA,IAAA7D,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAER,IAAAE,EAAmBF,EAAQ,QAE3BsyS,EAAiBtyS,EAAQ,QAoBzBD,EAAAO,eAAAJ,EAAA,kBACAH,EAAAQ,eAAA+xS,yBClDA,IAAAvnS,EAAe/K,EAAQ,QAGvB6D,EAAAC,QAAA,SAAA4K,EAAAyrH,GACA,IAAApvH,EAAA2D,GAAA,OAAAA,EACA,IAAAnK,EAAA6F,EACA,GAAA+vH,GAAA,mBAAA51H,EAAAmK,EAAAzE,YAAAc,EAAAX,EAAA7F,EAAArD,KAAAwN,IAAA,OAAAtE,EACA,sBAAA7F,EAAAmK,EAAA29J,WAAAthK,EAAAX,EAAA7F,EAAArD,KAAAwN,IAAA,OAAAtE,EACA,IAAA+vH,GAAA,mBAAA51H,EAAAmK,EAAAzE,YAAAc,EAAAX,EAAA7F,EAAArD,KAAAwN,IAAA,OAAAtE,EACA,MAAAnF,UAAA,oECUA,IAAAsd,EAAcviB,EAAQ,QAItBD,GAFAwiB,EAAAC,QAEcxiB,EAAQ,SAEtBW,EAAaX,EAAQ,QAErB2mR,EAAqB3mR,EAAQ,QAE7B6jJ,EAAY7jJ,EAAQ,QAoBpBuyS,EAAA,SACAC,EAAAzyS,EAAAu3I,qBAAA,CACAh2I,KAAA,QACA4lH,aAAA,mDAKAjjG,cAAA,CAGAynL,QAAA,KAEAi9E,UAAA,KAGA3kQ,YAAA,MAEAyuR,SAAA,KAEAC,WAAA,KACAC,WAAA,KACAphE,UAAA,OAEAd,UAAA,SAEAD,eAAA,EAEAD,WAAA,CAEAxyH,YAAA,EACA91F,MAAA,wBACA+7E,YAAA,yBAEAmjL,aAAA,UAGAC,cAAA,EAIA/tD,eAAA,EACA/6L,EAAA,KAOA26L,MAAA,GASAsY,UAAA,KAQA5X,YAAA,GAMAgiE,cAAA,GACApjJ,cAAA,SAAAjzD,EAAAwtH,GACA,IAAAt6D,EAAAr3I,KAAAmjB,QACAwuL,GAAA6zE,EAAA18E,oBAAAzxD,EAAAlzD,EAAA,0BACA,IAAAstN,EAAAp6J,EAAAo6J,QAAAp6J,EAAAo6J,SAAA,GAEAp6J,EAAAq6J,WAAAr6J,EAAAq6J,YAAA,CACA5qR,MAAAsqR,GAGAK,EAAAvmS,eAAA,WAGAumS,EAAAn6C,MAAA,IASAq6C,SAAA,SAAA75E,GAIAA,IAIA93N,KAAA83N,MAAAt4N,EAAA4N,IAAA0qN,EAAA,SAAAp1D,GACA,OAAAkvI,EAAA5xS,KAAAmjB,OAAAu/I,IACK1iK,QAOLmnR,eAAA,SAAA3uD,GACAx4N,KAAAw4N,YAAAo5E,EAAA5xS,KAAAmjB,OAAAq1M,GACAx4N,KAAAowO,UAAApwO,KAAAw4N,YAAA4X,aAIA,SAAAwhE,EAAAzuR,EAAAq1M,GACA,OAAAh5N,EAAA2L,MAAA,CACAilO,UAAAjtN,EAAAitN,UACAd,UAAAnsN,EAAAmsN,UACAD,cAAAlsN,EAAAksN,cACAD,WAAA,IAAA1sF,EAAAv/H,EAAAisN,YAAA7jI,eACA2sH,cAAA/0M,EAAA+0M,cACA/6L,EAAAha,EAAAga,GACGq7L,GAAA,GAGH,IAAA/1N,EAAA4uS,EACA3uS,EAAAC,QAAAF,0BC/JA,IAAAjD,EAAaX,EAAQ,QAErBgjB,EAAqBhjB,EAAQ,QAE7BupF,EAAWvpF,EAAQ,QAEnB+iB,EAAgB/iB,EAAQ,QAoBxBgzS,EAAAhwR,EAAAnd,OAAA,CACAvE,KAAA,WACA8iB,WAAA,MAKAH,cAAA,CACAq5F,OAAA,EAEAh/E,EAAA,EAEA++E,MAAA,EACA+6B,SAAA,OAEAwhI,UAAA,EACAnpO,KAAA,MACAG,IAAA,KACAF,MAAA,MACAC,OAAA,EACAltC,MAAA,KACAC,OAAA,GACA2O,QAAA,EACAi6M,gBAAA,OAEA2mF,UAAA,EACAC,QAAA,EAEAvhK,MAAA,EACAwhK,aAAA,IAEArlR,aAAA,EACA2+E,UAAA,GACAxmF,MAAA,CACAgC,MAAA,QAEAvb,KAAA,IAMA2X,KAAA,SAAAC,EAAAC,EAAA7I,GAKAva,KAAA+gG,MAMA/gG,KAAAiyS,OACAjyS,KAAA4jB,qBAAAT,EAAA5I,GAEAva,KAAAkyS,aAMAztR,YAAA,SAAAtB,GACA0uR,EAAAvrI,WAAAtmK,KAAA,cAAA2I,WAEA3I,KAAAkyS,aAMAtlR,gBAAA,SAAAD,GACA,MAAAA,IACAA,EAAA3sB,KAAAmjB,OAAAwJ,cAGA,IAAAhT,EAAA3Z,KAAA+gG,MAAApnF,QAEA3Z,KAAAmjB,OAAAqtH,KACA7jH,KAAAhT,QAEAgT,GAAAhT,IAAAgT,EAAAhT,EAAA,GACAgT,EAAA,IAAAA,EAAA,IAGA3sB,KAAAmjB,OAAAwJ,gBAMAohM,gBAAA,WACA,OAAA/tN,KAAAmjB,OAAAwJ,cAMAE,WAAA,WACA,OAAA7sB,KAAA+tN,mBAAA/tN,KAAA+gG,MAAApnF,QAAA,GAMAmT,aAAA,SAAAq7K,GACAnoM,KAAAmjB,OAAA2uR,WAAA3pG,GAMAolB,aAAA,WACA,QAAAvtN,KAAAmjB,OAAA2uR,UAMAI,UAAA,WACA,IAAA76J,EAAAr3I,KAAAmjB,OACAgvR,EAAA96J,EAAA9rI,MAAA,GACA0rI,EAAAI,EAAAJ,SACA1yD,EAAAvkF,KAAAiyS,OAAA,GAEA,gBAAAh7J,EAAA,CACA,IAAAm7J,EAAA,GACA5yS,EAAA2nB,KAAAgrR,EAAA,SAAAttO,EAAAhhE,GACA,IACAuoS,EADAnoS,EAAA2d,EAAA2hR,iBAAA1+N,GAGArlE,EAAAoK,SAAAi7D,IACAunO,EAAA5sS,EAAA+V,MAAAsvD,GACAunO,EAAAnoS,MAAAJ,GAEAuoS,EAAAvoS,EAGAuuS,EAAAz/R,KAAAy5R,GAEA5sS,EAAAiK,SAAAxF,IAAA,MAAAA,IAAA2V,MAAA3V,KACAA,EAAA,IAGAsgF,EAAA5xE,KAAA1O,EAAA,MAEAkuS,EAAAC,EAGA,IAAAzrR,EAAA,CACAwyH,SAAA,UACAphH,KAAA,QACKk/G,IAAA,SACL1rI,EAAAvL,KAAA+gG,MAAA,IAAA3Y,EAAA,EACA95E,KAAA,QACAnO,KAAAwmB,IACK3mB,MACLuL,EAAA+8E,SAAA6pN,EAAA5tN,IAEA/pE,QAAA,WACA,OAAAxa,KAAA+gG,OAOAw2C,cAAA,WACA,gBAAAv3I,KAAAyF,IAAA,YACA,OAAAzF,KAAAiyS,OAAA/yQ,WAIAz8B,EAAAovS,EACAnvS,EAAAC,QAAAF,iDCxMA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBY,EAAkBZ,EAAQ,QAE1Bg4N,EAAqBh4N,EAAQ,QAE7BqF,EAAcrF,EAAQ,QAEtB6jJ,EAAY7jJ,EAAQ,QAEpBkxM,EAAiBlxM,EAAQ,QAEzBwzS,EAA0BxzS,EAAQ,QAoBlC4D,EAAA7D,EAAAu7I,oBAAA,CACAh6I,KAAA,UACA+yD,OAAA,SAAAo/O,EAAA/3R,EAAAxV,EAAAynB,GACA,IAAAi5C,EAAAzlE,KAAAylE,MAGA,GAFAA,EAAApB,YAEAiuO,EAAA7sS,IAAA,SAIA,IAAAi5M,GAAA4zF,EAAA7sS,IAAA,YACA8sS,EAAAD,EAAA7sS,IAAA,eACAu2G,EAAAh8G,KAAAwyS,YAAAxyS,KAAAwyS,UAAA,IACAC,EAAA,GACAjzS,EAAA2nB,KAAAorR,EAAA,SAAAn9R,EAAA9G,GACAmkS,EAAA9/R,KAAArE,KAEA,IAAAyhM,EAAA/vM,KAAA0yS,eAAA,GAAAD,GAAAl1Q,IAAAo1Q,GAAApmR,OAAAomR,GAAAnmS,OAAAhN,EAAAmqB,MAAAgpR,EAAA,OAAAl9F,UAEAz1M,KAAA0yS,cAAAD,EAiIAJ,EAAApsS,OAAAw/D,EAAA6sO,EAAAvtS,GAGA0gE,EAAAloC,IAAA80Q,EAAA5rF,eAAAhhJ,EAAAlkE,kBAAA+wS,IAEA7sO,EAAA6M,UAAA,SAAA68I,GACA,IAAAyjF,EAAAzjF,EAAA0jF,QACAj5F,EAAAuV,EAAAvV,WAEA,GAAAA,GAAAg5F,EAAA,CACA,IAAAnxS,EAAAhC,EAAA8B,gBAAAqxS,EAAAnzS,EAAAgU,SAAAmmM,IACArjM,EAAA44M,EAAA7oN,SAAA,GAAAm/D,EAAAn/D,SAAA,GACAkQ,EAAA24M,EAAA7oN,SAAA,GAAAm/D,EAAAn/D,SAAA,GAAAo4M,EACAo0F,GAAA,EAEAt8R,EAAA/U,EAAAc,OAAAwC,EAAAu5D,cACAs7I,EAAArqM,aAAA,MACAujS,GAAA,GAGA,IAAAnvJ,EAAAmvJ,GAAA,EAAArxS,EAAAc,OAAAm8M,EAAA,EAEAnoM,EAAA9U,EAAAa,MAAA,EAAAyC,EAAAwJ,YACAqrM,EAAArqM,aAAA,QAAAo0I,GACAi2D,EAAAj4M,UAAA,SACS4U,EAAA9U,EAAAa,MAAA,MACTs3M,EAAArqM,aAAA,GAAAo0I,GACAi2D,EAAAj4M,UAAA,WA1JA,SAAAgxS,EAAAj9F,EAAAC,GACA,IAIAohB,EAJAE,EAAAw7E,EAAA/8F,GACAq9F,EAAAN,EAAA98F,GACAqhB,EAAAu7E,EAAAt7E,GACA+7E,EAAA,IAAAtwJ,EAAAs0E,EAAAs7E,IAAA/3R,SAGA,GAAA08M,IAAA87E,EAAA,CAEA,GAAAE,EAAAh8E,GACAF,EAAA,CACApzM,MAAAqvR,EACA7mL,QAAA6mL,EAAA7vR,OAAAgpG,QACA8qG,mBAES,CACT,IAAAC,EAAAL,EAAApxN,IAAAwxN,GAEA,IAAAC,EACA,OAGAH,EAAA,IAAAG,EAAA87E,EAAAz4R,EAAAxV,GAGAi3G,EAAAi7G,GAAAF,MACO,CAGP,GAFAA,EAAA/6G,EAAA+2L,IAEAh8E,EACA,OAGAA,EAAApzM,MAAAqvR,EACAj8E,EAAAx8M,UACAw8M,EAAAhyN,MAGAkyN,IAAA87E,EAKAC,EAAAvtS,IAAA,UAAAsxN,EAAAm8E,UAKAC,EAAAH,EAAAj8E,EAAAE,GAEA+7E,EAAAI,cAAA,SAAAC,EAAA17O,GACA,IAAAx0C,EAAAnjB,KAAAmjB,OACAmwR,EAAAtzS,KAAAszS,UACAnwR,EAAAowR,WAAApwR,EAAAowR,YAAA,GACApwR,EAAAowR,WAAAF,GAAA17O,EAEA27O,EAAAD,IAAAC,EAAAD,GAAAj8R,QAAAugD,IAGAo/J,EAAA7jK,QACA6jK,EAAA7jK,OAAA8/O,EAAAz4R,EAAAxV,EAAAynB,IAhBAuqM,EAAAvqN,QAAAuqN,EAAAvqN,OAAA+N,EAAAxV,GALAgyN,EAAAjhN,SAAAihN,EAAAjhN,QAAAyE,EAAAxV,GAyBA,SAAAouS,EAAAH,EAAAj8E,EAAAE,GACA,IAAAu8E,EAAAR,EAAAr4Q,SAAA,aACA84Q,EAAAT,EAAAr4Q,SAAA,sBAYA+4Q,EAAA38E,EAAA48E,SAAA58E,EAAA48E,WAAAX,EAAAvtS,IAAA,QACAmuS,EAAAZ,EAAAvtS,IAAA,aAEA,qBAAAiuS,EAAA,CACA,IAAAvkF,EAAAukF,EACAlpG,EAAAopG,EACAF,EAAA,GACAE,EAAA,GACAF,EAAAz8E,GAAA9H,EACAykF,EAAA38E,GAAAzsB,EAGA,IAAA8oG,EAAAN,EAAAM,UAAA,GACA9zS,EAAA2nB,KAAAusR,EAAA,SAAAG,EAAAR,GACA,IAAA5uO,EAAAvgE,EAAAq0R,WAAAsb,EAAA,GAAiD,CACjD7xS,GAAA08M,EAAA,EACAz8M,GAAAy8M,EAAA,EACAp8M,MAAAo8M,EACAn8M,OAAAm8M,IAEAj6I,EAAA+iD,SAAAgsL,EAAAjoM,gBACA9mC,EAAAm1I,WAAA65F,EAAAloM,eACArnG,EAAA41M,cAAAr1I,GAEA6tO,EAAA7sS,IAAA,eACAg/D,EAAAouO,QAAAe,EAAAP,GACA5uO,EAAA7uD,GAAA,uBAEA,IAAAgkM,EAAA65F,EAAAloM,eACA9mC,EAAA+iD,SAAA,CACAxmH,KAAA4yS,EAAAP,GACA9jS,aAAAqqM,EAAArqM,cAAA,SACAu6F,SAAA8vG,EAAAl5M,MAAAk5M,EAAAj5M,QAAA,OACAgB,UAAAi4M,EAAAj4M,WAAA,aAEWiU,GAAA,sBACX6uD,EAAA+iD,SAAA,CACA1d,SAAA,UAKArlC,EAAArtD,QAAA47R,EAAAvtS,IAAA,cAAA4tS,IAAA,UACA5tO,EAAAloC,IAAAknC,GACAA,EAAA7uD,GAAA,QAAApW,EAAAoJ,KAAAmuN,EAAA5qG,QAAA4qG,EAAAx8M,EAAAxV,EAAAsuS,IACAC,EAAAD,GAAA5uO,MAoCA8oC,WAAA,SAAA+kM,EAAA/3R,EAAAxV,EAAAynB,GACAhtB,EAAA2nB,KAAAnnB,KAAAwyS,UAAA,SAAAz7E,GACAA,EAAAxpH,YAAAwpH,EAAAxpH,WAAAwpH,EAAApzM,MAAApJ,EAAAxV,EAAAynB,MAQAhgB,OAAA,SAAA+N,EAAAxV,GACAvF,EAAA2nB,KAAAnnB,KAAAwyS,UAAA,SAAAz7E,GACAA,EAAAvqN,QAAAuqN,EAAAvqN,OAAA+N,EAAAxV,KAEA/E,KAAAylE,MAAApB,aAEAvuD,QAAA,SAAAyE,EAAAxV,GACAvF,EAAA2nB,KAAAnnB,KAAAwyS,UAAA,SAAAz7E,GACAA,EAAAjhN,SAAAihN,EAAAjhN,QAAAyE,EAAAxV,QAKA,SAAAkuS,EAAAh8E,GACA,WAAAA,EAAA7rL,QAAA,MAGA1oC,EAAAC,QAAAF,uCCnQA,IAAA4F,EAAgBxJ,EAAQ,QAExB,SAAAi1S,EAAAnoI,GACA,IAAA+5C,EAAAupD,EACAjvQ,KAAAwlN,QAAA,IAAA75C,EAAA,SAAAooI,EAAAC,GACA,QAAA1rS,IAAAo9M,QAAAp9M,IAAA2mQ,EAAA,MAAAnrQ,UAAA,2BACA4hN,EAAAquF,EACA9kC,EAAA+kC,IAEAh0S,KAAA0lN,QAAAr9M,EAAAq9M,GACA1lN,KAAAivQ,OAAA5mQ,EAAA4mQ,GAGAvsQ,EAAAC,QAAAiB,EAAA,SAAA+nK,GACA,WAAAmoI,EAAAnoI,0BCIA,IAAAznK,EAAcrF,EAAQ,QAEtBD,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAyBrBo1S,EAAA,wBACAC,EAAA,wBAEA,SAAAC,EAAAtvO,EAAAuvO,GACA,OAAAvvO,EAAAtnD,UAAA,YAAAsnD,EAAAlqC,WAAAl1B,IAAA2uS,GAGA,SAAAC,EAAAxvO,EAAAuvO,EAAAE,GACA,IAAAvjQ,EAAA8zB,EAAAqpH,eACAp6H,EAAAqgP,EAAAtvO,EAAAuvO,GAEA,MAAAE,IACA,MAAAxgP,MAAA,GACAA,GAAAwgP,GAGAvjQ,EAAAwyD,UAAAxyD,EAAAwyD,WACAxyD,EAAA5e,SAAA,SAAAC,GACA,UAAAA,EAAAjyB,MACAiyB,EAAAo1F,SAAA,UAAA1zD,KAKA,SAAAygP,EAAA1vO,EAAAuvO,GACA,IAAAtgP,EAAAqgP,EAAAtvO,EAAAuvO,GACArjQ,EAAA8zB,EAAAqpH,eACAn9I,EAAAyyD,WAAAzyD,EAAAyyD,YACAzyD,EAAA5e,SAAA,SAAAC,GACA,UAAAA,EAAAjyB,MACAiyB,EAAAo1F,SAAA,UAAA1zD,KAKA,IAAA0gP,EAAAtwS,EAAA6pM,YAAA,CACAnmM,MAAA,CACAgoD,GAAA,EACAC,GAAA,EACArwB,GAAA,EACAC,GAAA,EACAouK,KAAA,EACAC,KAAA,EACA2mG,KAAA,EACAC,KAAA,EACA35R,OAAA,EACAmnE,OAAA,IAEAljE,UAAA,SAAA3e,EAAAuH,GACA,IAAAmT,EAAAnT,EAAAmT,OACAmnE,EAAAt6E,EAAAs6E,OAEA,aAAAA,GACA7hF,EAAAgf,OAAAzX,EAAAgoD,GAAAhoD,EAAAioD,IACAxvD,EAAAs0S,cAAA/sS,EAAAimM,KAAAjmM,EAAAkmM,KAAAlmM,EAAA6sS,KAAA7sS,EAAA8sS,KAAA9sS,EAAA43B,GAAA53B,EAAA63B,IACAp/B,EAAAif,OAAA1X,EAAA43B,GAAAzkB,EAAAnT,EAAA63B,IACAp/B,EAAAs0S,cAAA/sS,EAAA6sS,KAAA15R,EAAAnT,EAAA8sS,KAAA9sS,EAAAimM,KAAA9yL,EAAAnT,EAAAkmM,KAAAlmM,EAAAgoD,GAAA70C,EAAAnT,EAAAioD,MAEAxvD,EAAAgf,OAAAzX,EAAAgoD,GAAAhoD,EAAAioD,IACAxvD,EAAAs0S,cAAA/sS,EAAAimM,KAAAjmM,EAAAkmM,KAAAlmM,EAAA6sS,KAAA7sS,EAAA8sS,KAAA9sS,EAAA43B,GAAA53B,EAAA63B,IACAp/B,EAAAif,OAAA1X,EAAA43B,GAAA53B,EAAA63B,GAAA1kB,GACA1a,EAAAs0S,cAAA/sS,EAAA6sS,KAAA7sS,EAAA8sS,KAAA35R,EAAAnT,EAAAimM,KAAAjmM,EAAAkmM,KAAA/yL,EAAAnT,EAAAgoD,GAAAhoD,EAAAioD,GAAA90C,IAGA1a,EAAAmf,eAIA/c,EAAA7D,EAAA42K,gBAAA,CACAr1K,KAAA,SAMAg7I,OAAA,KAMAy5J,yBAAA,EACA1hP,OAAA,SAAA54C,EAAAC,EAAAxV,GACA,IAAA8vS,EAAA70S,KACA8c,EAAAxC,EAAAwtK,WACAriH,EAAAzlE,KAAAylE,MACAz/D,EAAAsU,EAAAtU,WAEA1D,EAAA0D,EAAA1D,MAEAC,EAAAyD,EAAAzD,OACAomL,EAAAruK,EAAAE,UACAutK,EAAAztK,EAAAE,QAAA,QACA0nE,EAAA5nE,EAAA7U,IAAA,UACAzF,KAAAm7I,OAAA7gI,EACAmrD,EAAApB,YACAoB,EAAAse,KAAA,YAAA/9E,EAAAhE,EAAAgE,EAAA/D,IAEA6a,EAAAW,SAAA,SAAAC,GACA,IAAAo3R,EAAA,IAAAN,EACAM,EAAArvR,UAAA/H,EAAA+H,UACAqvR,EAAAjyR,YAAAvI,EAAAuI,YACAiyR,EAAA5vR,SAAA,OACA,IAWA0qC,EACAC,EACArwB,EACAC,EACAouK,EACAC,EACA2mG,EACAC,EAlBAt2J,EAAA1gI,EAAAid,SAAA,aACAo6Q,EAAA32J,EAAA34I,IAAA,aACAuvS,EAAAt3R,EAAAQ,MAAAL,YACAo3R,EAAAv3R,EAAAQ,MAAAyc,WACAu6Q,EAAAD,EAAAxvS,IAAA,UACA0vS,EAAAF,EAAAxvS,IAAA,UACA2vS,EAAA13R,EAAAS,MAAAN,YACAw3R,EAAA33R,EAAAS,MAAAwc,WACA26Q,EAAAD,EAAA5vS,IAAA,UACA8vS,EAAAF,EAAA5vS,IAAA,UACA+vS,EAAA93R,EAAAG,YA4CA,OAnCAi3R,EAAAltS,MAAAmT,OAAArU,KAAAS,IAAA,EAAAquS,EAAAv+R,IACA69R,EAAAltS,MAAAs6E,SAEA,aAAAA,GACAtyB,GAAA,MAAAslP,IAAA5yS,EAAA0yS,EAAAhzS,GAAAwzS,EAAAvkQ,GACA4e,GAAA,MAAAslP,IAAA5yS,EAAAyyS,EAAA/yS,GAAA+yS,EAAA/9R,GACAuoB,GAAA,MAAA81Q,IAAAhzS,EAAA8yS,EAAApzS,GAAAwzS,EAAAC,GACAh2Q,EAAA,MAAA81Q,IAAAhzS,EAAA6yS,EAAAnzS,EACA4rM,EAAAj+I,EACAk+I,EAAAj+I,GAAA,EAAAklP,GAAAt1Q,EAAAs1Q,EACAN,EAAAj1Q,EACAk1Q,EAAA7kP,EAAAklP,EAAAt1Q,GAAA,EAAAs1Q,KAEAnlP,GAAA,MAAAslP,IAAA5yS,EAAA0yS,EAAAhzS,GAAAgzS,EAAAh+R,GACA64C,GAAA,MAAAslP,IAAA5yS,EAAAyyS,EAAA/yS,GAAAuzS,EAAAvkQ,GACAzR,EAAA,MAAA81Q,IAAAhzS,EAAA8yS,EAAApzS,EACAy9B,GAAA,MAAA81Q,IAAAhzS,EAAA6yS,EAAAnzS,GAAAuzS,EAAAC,GACA5nG,EAAAj+I,GAAA,EAAAmlP,GAAAv1Q,EAAAu1Q,EACAjnG,EAAAj+I,EACA4kP,EAAA7kP,EAAAmlP,EAAAv1Q,GAAA,EAAAu1Q,GACAL,EAAAj1Q,GAGAq1Q,EAAAp7F,SAAA,CACA9pJ,KACAC,KACArwB,KACAC,KACAouK,OACAC,OACA2mG,OACAC,SAEAI,EAAAttL,SAAA42B,EAAA7yC,gBAEAupM,EAAAv0S,MAAAG,MACA,aACAo0S,EAAAv0S,MAAAG,KAAAgd,EAAAQ,MAAAX,UAAA,SACA,MAEA,aACAu3R,EAAAv0S,MAAAG,KAAAgd,EAAAS,MAAAZ,UAAA,SACA,MAGArZ,EAAA41M,cAAAg7F,EAAAp3R,EAAAid,SAAA,sBAAA4wE,gBACA9lC,EAAAloC,IAAAu3Q,GACA/sH,EAAAwsB,iBAAA72L,EAAA+H,UAAAqvR,KAGAh4R,EAAAowK,SAAA,SAAA7vK,GACA,IAAApX,EAAAoX,EAAAQ,YACAqN,EAAA7N,EAAAsd,WACA+6Q,EAAAxqR,EAAAzlB,IAAA,UACAkwS,EAAAzqR,EAAAzlB,IAAA,UACAikG,EAAAx+E,EAAAyP,SAAA,SACAs/K,EAAA/uL,EAAAyP,SAAA,kBACAl5B,EAAA,IAAAyC,EAAA+qE,KAAA,CACArnE,MAAA,CACA5F,EAAA,MAAA0zS,IAAApzS,EAAA2D,EAAAjE,EACAC,EAAA,MAAA0zS,IAAApzS,EAAA0D,EAAAhE,EACAK,MAAA2D,EAAA+Q,GACAzU,OAAA0D,EAAAgR,IAEA1W,MAAA2qB,EAAAyP,SAAA,aAAA4wE,iBAEAquG,EAAAv8L,EAAAsd,SAAA,sBAAA4wE,eACArnG,EAAAk2M,cAAA34M,EAAAlB,MAAAq5M,EAAAlwG,EAAAuwG,EAAA,CACAI,aAAA//L,EACAggM,eAAAj9L,EAAAoI,UACA80L,YAAAl9L,EAAA4O,GACA+nL,YAAA,IAEAvyM,EAAA+lH,SAAA,OAAAnqG,EAAAE,UAAA,UACArZ,EAAA41M,cAAAr4M,EAAAm4M,GACAn0I,EAAAloC,IAAA97B,GACAknL,EAAA4rB,iBAAAl3L,EAAAoI,UAAAhkB,GACAA,EAAAyjB,SAAA,SAEAyjK,EAAAisC,kBAAA,SAAA7jL,EAAAtrB,GACA,IAAAyF,EAAAy9J,EAAAx9J,aAAA1F,GAEAyF,EAAAzlB,IAAA,eACAsrC,EAAAsvK,MAAA,SAAArpM,EAAAC,GACA49R,EAAAD,yBAAA,EACA50S,KAAA4H,MAAA5F,GAAAgV,EACAhX,KAAA4H,MAAA3F,GAAAgV,EACAjX,KAAA2kB,QACA5f,EAAAqoG,eAAA,CACAjtG,KAAA,WACA2xL,SAAAx3K,EAAA2R,GACAxG,UAAAkjK,EAAAkE,YAAApnK,GACAmwR,OAAA51S,KAAA4H,MAAA5F,EAAAM,EACAuzS,OAAA71S,KAAA4H,MAAA3F,EAAAM,KAIAwuC,EAAAuvK,UAAA,WACAu0F,EAAAD,yBAAA,GAGA7jQ,EAAAz6B,WAAA,EACAy6B,EAAA0f,OAAA,QAGAvlC,EAAAzlB,IAAA,wBACAsrC,EAAAl7B,IAAA,aAAAD,GAAA,uBACAi/R,EAAAD,yBACA7vS,EAAAqoG,eAAA,CACAjtG,KAAA,qBACA2xL,SAAAx3K,EAAA2R,GACAxG,UAAAsrB,EAAAtrB,cAIAsrB,EAAAl7B,IAAA,YAAAD,GAAA,sBACAi/R,EAAAD,yBACA7vS,EAAAqoG,eAAA,CACAjtG,KAAA,uBACA2xL,SAAAx3K,EAAA2R,UAMA87J,EAAA6sC,kBAAA,SAAA7jL,EAAAtrB,GACA,IAAAw8C,EAAA8lH,EAAA58J,aAAA1F,GAEAw8C,EAAAx8D,IAAA,wBACAsrC,EAAAl7B,IAAA,aAAAD,GAAA,uBACAi/R,EAAAD,yBACA7vS,EAAAqoG,eAAA,CACAjtG,KAAA,qBACA2xL,SAAAx3K,EAAA2R,GACA6pR,cAAA/kQ,EAAAtrB,cAIAsrB,EAAAl7B,IAAA,YAAAD,GAAA,sBACAi/R,EAAAD,yBACA7vS,EAAAqoG,eAAA,CACAjtG,KAAA,uBACA2xL,SAAAx3K,EAAA2R,WAOAjsB,KAAA+gG,OAAAzmF,EAAA7U,IAAA,cACAggE,EAAA43N,YAAAF,EAAA13N,EAAAlkE,kBAAA+Y,EAAA,WACAmrD,EAAA23N,oBAIAp9R,KAAA+gG,MAAAzmF,EAAAE,WAEA1E,QAAA,aACA40K,mBAAA,SAAApwK,EAAAC,EAAAxV,EAAAynB,GACA,IAAAjhB,EAAAvL,KAAAm7I,OAAA3gI,UAEAsC,EAAAvR,EAAAuR,MACA2I,EAAA+G,EAAA/G,UACAyF,EAAA3f,EAAA4f,aAAA1F,GACAqwR,EAAAtpR,EAAAspR,cAEA,SAAArwR,GAAA,MAAAqwR,EAAA,CAIA,IAAAz4R,EAAAP,EAAA6vK,eAAAlnK,GACA/H,EAAAZ,EAAAqrK,eAAA2tH,GAQA,GAPAh5R,EAAAowK,SAAA,SAAA7vK,GACAg3R,EAAAh3R,EAAA42R,EAAA,MAEAn3R,EAAAW,SAAA,SAAAC,GACA22R,EAAA32R,EAAAw2R,EAAA,MAGA72R,EAAA,CACAk3R,EAAAl3R,EAAA42R,GACA,IAAA8B,EAAA7qR,EAAAzlB,IAAA,sBAEA,aAAAswS,EACAv2S,EAAA2nB,KAAA9J,EAAA+uK,SAAA,SAAA1uK,GACAA,EAAA+H,UAAA,IAIA8uR,EAAA72R,EAAAw2R,GACAK,EAAA72R,EAAAS,MAAA81R,MAEO,YAAA8B,EACPv2S,EAAA2nB,KAAA9J,EAAA8uK,QAAA,SAAAzuK,GACAA,EAAA+H,UAAA,IAIA8uR,EAAA72R,EAAAw2R,GACAK,EAAA72R,EAAAQ,MAAA+1R,MAEO,aAAA8B,GACPv2S,EAAA2nB,KAAA9J,EAAAmrK,MAAA,SAAA9qK,GACAA,EAAA+H,UAAA,IAIA8uR,EAAA72R,EAAAw2R,GACAK,EAAA72R,EAAAQ,MAAA+1R,GACAM,EAAA72R,EAAAS,MAAA81R,MAKAv2R,IACA62R,EAAA72R,EAAAw2R,GACAK,EAAA72R,EAAAQ,MAAA+1R,GACAM,EAAA72R,EAAAS,MAAA81R,MAGAn/G,qBAAA,SAAAx6K,EAAAC,EAAAxV,EAAAynB,GACA,IAAA1P,EAAA9c,KAAAm7I,OAAA2sC,WAEAhrK,EAAAowK,SAAA,SAAA7vK,GACAg3R,EAAAh3R,EAAA42R,KAEAn3R,EAAAW,SAAA,SAAAC,GACA22R,EAAA32R,EAAAw2R,QAMA,SAAA/W,EAAA17R,EAAA6Y,EAAAyb,GACA,IAAAunQ,EAAA,IAAAp5R,EAAA+qE,KAAA,CACArnE,MAAA,CACA5F,EAAAP,EAAAO,EAAA,GACAC,EAAAR,EAAAQ,EAAA,GACAK,MAAA,EACAC,OAAAd,EAAAc,OAAA,MASA,OANA2B,EAAAiuM,UAAAmrF,EAAA,CACA11R,MAAA,CACAtF,MAAAb,EAAAa,MAAA,GACAC,OAAAd,EAAAc,OAAA,KAEG+X,EAAAyb,GACHunQ,EAGA56R,EAAAC,QAAAF,0BCtaA,IAAA8b,EAAW1f,EAAQ,QAMnB4D,EAAA8b,EAAA7Z,OAAA,CACAvE,KAAA,SACAyH,MAAA,CACA6W,GAAA,EACAC,GAAA,EACAE,EAAA,GAEAI,UAAA,SAAA3e,EAAAuH,EAAAssR,GAGAA,GACA7zR,EAAAgf,OAAAzX,EAAA6W,GAAA7W,EAAAgX,EAAAhX,EAAA8W,IAUAre,EAAAkf,IAAA3X,EAAA6W,GAAA7W,EAAA8W,GAAA9W,EAAAgX,EAAA,IAAAlY,KAAAC,IAAA,MAIAjE,EAAAC,QAAAF,0BCXA,IAAAjD,EAAaX,EAAQ,QAErB+xD,EAAa/xD,EAAQ,QAErB6nN,EAAiB7nN,EAAQ,QAEzBknN,EAAiBlnN,EAAQ,QAEzBm3S,EAAmBn3S,EAAQ,QAE3BqF,EAAcrF,EAAQ,QAEtB2nJ,EAAiB3nJ,EAAQ,QAEzBm+M,EAAiBn+M,EAAQ,QAyBzBsoB,EAAA3nB,EAAA2nB,KACAmzE,EAAA5zF,KAAAQ,IACAqzF,EAAA7zF,KAAAS,IACA2zR,EAAAp0R,KAAAmK,MACAkqR,EAAAr0R,KAAA0gE,KACAltD,EAAAssI,EAAAtsI,MACAvT,EAAAD,KAAAC,GAEA,SAAAgqP,EAAApiD,EAAAh0L,EAAAxV,GAMA/E,KAAAi2S,SAAAz2S,EAAAqrD,gBAQA7qD,KAAAk2S,YAAA,GAOAl2S,KAAAy4E,WAAA81H,EAAA91H,WAKAz4E,KAAAwB,MAKAxB,KAAAm7I,OAAAozD,EAEAvuM,KAAAm2S,MAAA5nG,EAAAh0L,EAAAxV,GAiXA,SAAAqxS,EAAA3pS,EAAAsO,GACA,OAAAu/E,EAAAC,EAAA9tF,EAAAsO,EAAA,IAAAA,EAAA,IAGA,SAAAs7R,EAAA/5C,EAAAt2P,GACA,IAAAxC,EAAAwC,EAAAswS,cAAAtwS,EAAAuwS,UAAA,GACA,OACAjwS,SAAA9C,EAAA84P,EACAk6C,uBAAAhzS,EACAizS,eAAA,GAIA,SAAAC,EAAAp6C,EAAAt2P,GACA,IAKAM,EAGAqwS,EARAL,EAAAtwS,EAAAswS,aACAjtB,EAAArjR,EAAAqjR,gBACAktB,EAAAvwS,EAAAuwS,UACAK,EAAA5wS,EAAA4wS,kBACAC,EAAA7wS,EAAA6wS,gBAEAL,EAAAI,EACAH,GAAA,EAeA,OAZAn6C,EAAAu6C,EAAA,IACAvwS,EAAAg2P,EAAAs6C,EACAD,EAAAC,GACGt6C,GAAAu6C,EAAA,IACHvwS,EAAAN,EAAA8wS,qBAAAx6C,EAAA+sB,EAAArjR,EAAAgpM,iBAAA,GACAwnG,EAAAntB,EACAotB,GAAA,IAEAnwS,EAAAgwS,GAAAC,EAAA,EAAAj6C,GAAAs6C,EACAD,EAAAC,GAGA,CACAtwS,WACAkwS,yBACAC,gBACAE,wBAtZAhmD,EAAA1wP,UAAA,CACAE,KAAA,WACAD,YAAAywP,EAMAwlD,MAAA,SAAA5nG,EAAAh0L,EAAAxV,GACA,IAAA0zE,EAAA81H,EAAA91H,WACAwwM,EAAA16E,EAAA06E,kBACA9hQ,EAAAsxD,EAAA,SAAAn9D,EAAAqC,GACA,IAAA2+O,EAAA2sB,EAAAtrQ,GACA9Y,EAAA0V,EAAAmS,aAAA,eAAA4vO,GAEAt3P,EAAAhF,KAAAi2S,SAAA7iR,IAAA9X,EAAA,IAAA06R,EAAA16R,EAAAyqM,EAAAO,mBAAAzhN,GAAA,MAAAA,EAAAY,IAAA,QAAA62P,IAEA33G,EAAA,aAAA3/I,EAAA7E,KACA6E,EAAA4/I,OAAAD,GAAA9/I,EAAAY,IAAA,eACAT,EAAA6/C,QAAAhgD,EAAAY,IAAA,WAEAZ,EAAAG,OACAA,EAAA2e,MAAA9e,EACAG,EAAAE,iBAAAL,EAAAK,iBAAAlF,MACKA,OAQLusB,OAAA,SAAAhS,EAAAxV,GACA/E,KAAA+2S,sBAAA/2S,KAAAm7I,OAAA5gI,IAMAo6C,aAAA,SAAAkV,GACA,IAAA7jE,EAAAhG,KAAAg3S,kBAEAC,EAAAjxS,EAAAixS,SACAC,EAAAlxS,EAAAkxS,WACAC,EAAAnxS,EAAAmxS,cACAC,EAAAvtO,EAAA,EAAAstO,GACAE,EAAAxtO,EAAAstO,GACA,OAAAC,GAAAH,GAAAG,GAAAH,EAAAjxS,EAAAg0P,YAAAq9C,GAAAH,GAAAG,GAAAH,EAAAlxS,EAAAswS,cAEA37Q,SAAA,WACA,OAAA36B,KAAAm7I,QAOA47J,sBAAA,SAAAxoG,EAAAh0L,GACAA,EAAAkkG,WAAA,SAAAnkG,GACA,GAAAi0L,EAAA2xB,SAAA5lN,EAAAC,GAAA,CAIA,IAAAhP,EAAA+O,EAAAE,UACA2M,EAAAnnB,KAAAy4E,WAAA,SAAAn9D,GACA,IAAAtW,EAAAhF,KAAAi2S,SAAAxwS,IAAA6V,GAEAtW,EAAA+S,MAAAiiN,oBAAAzuN,IAAA8P,aAAAC,IACAyqM,EAAAQ,gBAAAvhN,EAAA+S,MAAA/S,EAAA2e,QACO3jB,QACFA,OAQLq+D,OAAA,SAAAkwI,EAAAxpM,GACA/E,KAAAwB,MAAAklN,EAAApjI,cAAAirH,EAAAtwF,qBAAA,CACA37G,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,cAGAt+D,KAAAs3S,eAMAnvS,QAAA,WACA,OAAAnI,KAAAwB,OAMAw1S,gBAAA,WACA,IAgBAO,EAhBAhpG,EAAAvuM,KAAAm7I,OACA15I,EAAAzB,KAAAwB,MACAm5D,EAAA,UACA+sL,EAAA,mBACAzhP,EAAAsoM,EAAA9oM,IAAA,UACA0xS,EAAA,eAAAlxS,EAAA,IACAqwS,EAAA70S,EAAAimP,EAAAyvD,IACAK,EAAA,GAAAlB,GACAC,EAAAv2S,KAAAy4E,WAAAl1E,OACA8lR,EAAA+sB,EAAA7nG,EAAA9oM,IAAA,mBAAA+xS,GACApuB,EAAAgtB,EAAA7nG,EAAA9oM,IAAA,yBAAA8wS,IACArtB,EAAA36E,EAAA9oM,IAAA,mBAAA8wS,EAAA,GAAAA,EAAAntB,KAAA,GAAAC,EAAA,GAAAitB,EAAA,EAIAtnG,EAAAT,EAAA9oM,IAAA,oBAGA,GAAAupM,EAMAuoG,EAAAnB,EAAApnG,EAAA,GAAAA,EAAA,GAAAwoG,GACAxoG,EAAA,GAAAA,EAAA,GAAAuoG,MAPA,CACAA,EAAAnB,EAAA/sB,GAAAD,EAAA,GAAAouB,GACA,IAAAruB,EAAA56E,EAAA9oM,IAAA,qBAAAq1R,EAAAyb,EAAA,GACAvnG,EAAA,CAAAq6E,EAAAF,EAAAouB,EAAA,GACAvoG,EAAA,GAAAA,EAAA,GAAAuoG,EAMA,IAAAX,GAAAN,EAAAiB,IAAAhB,EAAAntB,GAEAwtB,EAAA,IAAAA,EAAA,GAEA,IAAAC,EAAA,CAAA/b,EAAA5gR,EAAA80L,EAAA,GAAAq6E,EAAA,MAAA0R,EAAA7gR,EAAA80L,EAAA,GAAAq6E,EAAA,OAEAytB,EAAAF,EAAAvtB,EAAAr6E,EAAA,GACA,OACA/oM,SACAkxS,gBACAD,WAAAz1S,EAAAk5D,EAAAw8O,IACAb,eACAW,SAAAx1S,EAAAk5D,EAAA,EAAAw8O,IACAn9C,WAAAv4P,EAAAimP,EAAA,EAAAyvD,IACAjuB,iBACAG,kBACAutB,oBACA5nG,mBACAunG,YACAM,kBACAC,yBAOAQ,YAAA,WACA,IAAA71S,EAAAzB,KAAAwB,MACAw+I,EAAAhgJ,KAAAi2S,SACAx9N,EAAAz4E,KAAAy4E,WAEAzyE,EAAAhG,KAAAg3S,kBAEA/wS,EAAAD,EAAAC,OACA+5I,EAAA74H,KAAA,SAAAniB,GACA,IAAAgC,EAAA,GAAAhB,EAAAg0P,YACAr8O,EAAA3Y,EAAA6/C,QAAA,IACA7/C,EAAAs5G,UAAAt3G,EAAA2W,GAAA3W,EAAA,EAAA2W,MAEAwJ,EAAAsxD,EAAA,SAAAn9D,EAAAqC,GACA,IAAA85R,GAAAzxS,EAAAkjR,eAAAwtB,EAAAL,GAAA14R,EAAA3X,GACA0xS,EAAA,CACAttF,WAAA,CACApoN,EAAAy1S,EAAAnxS,SACArE,EAAA+D,EAAAg0P,YAEA3vC,SAAA,CACAroN,EAAA,EACAC,EAAAw1S,EAAAnxS,WAGAqxS,EAAA,CACAvtF,WAAAzjN,EAAA,EACA0jN,SAAA,GAEA/jN,EAAA,CAAAoxS,EAAAzxS,GAAAjE,EAAAP,EAAAO,EAAA01S,EAAAzxS,GAAAhE,EAAAR,EAAAQ,GACAuE,EAAAmxS,EAAA1xS,GACAY,EAAA+pD,EAAA9hB,SACA8hB,EAAAtgB,OAAAzpC,IAAAL,GACAoqD,EAAAjgB,UAAA9pC,IAAAP,GAKAtG,KAAAk2S,YAAA56R,GAAA,CACAhV,WACAE,WACAK,YACA2vS,uBAAAiB,EAAAjB,uBACAC,cAAAgB,EAAAhB,cACAE,qBAAAc,EAAAd,qBACAjgF,cAAA,EACAjwN,eAAA,IAEKzG,OAQLi8I,QAAA,SAAA3gI,GACA,OAAAtb,KAAAi2S,SAAAxwS,IAAA6V,IASA/V,YAAA,SAAAtB,EAAAqX,GACA,OAAAtb,KAAA43S,iBAAA53S,KAAAi2S,SAAAxwS,IAAA6V,GAAA8lG,YAAAn9G,GAAAqX,IAWA4sQ,gBAAA,SAAA38Q,EAAA8mE,EAAAjmD,EAAA7C,GACA,MAAA6C,MAAA,GACA,MAAA7C,MAAAhe,EAAAoO,SACA,IAAAk+R,EAAA73S,KAAAi2S,SACAx9N,EAAAz4E,KAAAy4E,WACAq/N,EAAA,GACAjuB,EAAA,GACArqR,EAAA2nB,KAAAsxD,EAAA,SAAA+9D,GACAshK,EAAAnlS,KAAApH,EAAA8P,aAAAm7H,IACAqzI,EAAAl3Q,KAAAklS,EAAApyS,IAAA+wI,GAAA7yH,SAIA,IAFA,IAAAo0R,EAAA/3S,KAAAioR,iBAEAxiQ,EAAA2G,EAA+B3G,EAAA8D,EAAiB9D,IAAA,CAChD,IAAA0iQ,EAEA,GAAA4vB,EAEO,CACP5vB,EAAA,SAGA,IAFA,IAAAr+N,EAAAv+C,EAAAy9Q,UAAA8uB,EAAAryR,GAEA/U,EAAA,EAAAsnS,EAAAv/N,EAAAl1E,OAAiDmN,EAAAsnS,EAAUtnS,IAAA,CAC3D,IAAAy3L,EAAA0hF,EAAAn5Q,GAAAunS,eAAAnuP,EAAAp5C,IAEA,gBAAAy3L,EAAA,CACAggF,EAAA,WACA,aAVAA,EAAA,SAeA91M,EAAA81M,EAAA1iQ,KAQAwiQ,eAAA,WAKA,IAJA,IAAAxvM,EAAAz4E,KAAAy4E,WACAo/N,EAAA73S,KAAAi2S,SACA8B,GAAA,EAEArnS,EAAA,EAAAsnS,EAAAv/N,EAAAl1E,OAA6CmN,EAAAsnS,EAAUtnS,IACvD,WAAAmnS,EAAApyS,IAAAgzE,EAAA/nE,IAAAiT,MAAAs0R,mBACAF,GAAA,GAIA,OAAAA,GAUAH,iBAAA,SAAAr3R,EAAAjF,GACA,IAAA48R,EAAAl4S,KAAAk2S,YAAA56R,GACA,OAAApX,EAAAmV,eAAA,CAAAkH,EAAA,GAAA23R,EAAArxS,YAMAsxS,cAAA,SAAA78R,GACA,OAAA9b,EAAA+V,MAAAvV,KAAAk2S,YAAA56R,KAOAwzL,0BAAA,SAAAjlI,GACA,IAAA7jE,EAAAhG,KAAAg3S,kBAEAG,EAAAnxS,EAAAmxS,cACAnoG,EAAAhpM,EAAAgpM,iBAAA9vK,QACAq4Q,EAAAvoG,EAAA,GAAAA,EAAA,GACAj0L,EAAA,GAAA/U,EAAAqjR,iBAAArjR,EAAAuwS,UAAA,IAEA,IAAAv2S,KAAA20D,aAAAkV,GACA,OACAklI,SAAA,OACAC,oBAKA,IAGAloM,EAHAsxS,EAAAvuO,EAAAstO,GAAAnxS,EAAAkxS,WAAAlxS,EAAA8wS,qBAIA/nG,EAAA,QACA6nG,EAAA5wS,EAAA4wS,kBAEAyB,EAAAr4S,KAAAm7I,OAAA11I,IAAA,8BAGA6yS,EAAA,MAAAD,EAAA,GAEA,GAAAzB,EACA0B,GAAA1B,GAAAwB,EAAAb,EAAAc,EAAA,IACAtpG,EAAA,OACAjoM,EAAAsxS,EAAAb,EAAAc,EAAA,IACOC,GAAA1B,GAAAwB,EAAAb,GAAA,EAAAc,EAAA,KACPtpG,EAAA,OACAjoM,EAAAsxS,EAAAb,GAAA,EAAAc,EAAA,MAEAvxS,EAAAsxS,EAAAb,EAAAc,EAAA,SAAAvxS,EAAAsxS,EAAAb,GAAA,EAAAc,EAAA,UAAAvxS,EAAA,GAGAA,GAAAd,EAAAqjR,gBAAAutB,EACA9vS,EAAAk2M,EAAAl2M,EAAAkoM,EAAAj0L,EAAA,OACAg0L,EAAA,WAEA,CACAwoG,EAAAvoG,EAAA,GAAAA,EAAA,OACAluG,EAAA/lF,EAAA,GAAAq9R,EAAAb,EACAvoG,EAAA,CAAAz0G,EAAA,EAAAuG,EAAAy2M,EAAA,IACAvoG,EAAA,GAAA10G,EAAAv/E,EAAA,GAAAi0L,EAAA,GAAAuoG,GACAvoG,EAAA,GAAAA,EAAA,GAAAuoG,EAGA,OACAvoG,mBACAD,cAiDA,IAAAtsM,EAAAkuP,EACAjuP,EAAAC,QAAAF,0BClgBAC,EAAAC,SAAkB9D,EAAQ,UAAsBA,EAAQ,OAARA,CAAkB,WAClE,OAAuG,GAAvGkK,OAAA2kB,eAA+B7uB,EAAQ,OAARA,CAAuB,YAAgB4G,IAAA,WAAmB,YAAc8C,0BCmBvG,IAAA3J,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAER,IAAA2rO,EAAuB3rO,EAAQ,QAE/B05S,EAAuB15S,EAAQ,QAE/BI,EAAiBJ,EAAQ,QAoBzBD,EAAAQ,eAAAorO,GACA5rO,EAAAO,eAAAo5S,GACA35S,EAAAS,kBAAAJ,EAAA,qCClCA,IAAAO,EAAaX,EAAQ,QAErBgjF,EAAchjF,EAAQ,QAEtBijF,EAAAD,EAAAC,aAEAmkI,EAAuBpnN,EAAQ,QAE/B+zK,EAAAqzC,EAAArzC,mBAEAw6B,EAA0BvuM,EAAQ,QAsBlC25S,EAAA,cACAC,EAAA,GACAC,EAAA,qBAAAltQ,0BAAAhuB,MAEA,SAAAm7R,EAAAr+R,GACA,OAAAA,EAAA7U,IAAA,UAAA+yS,EAAAl+R,EAAAuI,YAGA,SAAA+1R,EAAA5zS,GACA,OAAAA,EAAAsW,IAAAtW,EAAAnB,MAcA,SAAAisM,EAAA16L,GACA,IAAA4P,EAAA,GACArK,EAAAvF,EAAApQ,KACA24P,EAAA,QAEA,gBAAAhjP,EAAAxa,KAAA,CAMA,IAFA,IAAA2H,EAAA6S,EAAA5S,eAEAgD,EAAA,EAAiBA,EAAAqK,EAAAuE,MAAoB5O,IACrCia,EAAArS,KAAAnT,EAAA8V,SAAA,CACAxN,YACA61P,UACAk7C,QAAAL,EAAAztS,GACKqK,IAGL,IAAA0jS,EAAAC,EAAA/zR,GACAthB,EAAA,GAEA,IAAAqH,EAAA,EAAiBA,EAAAqK,EAAAuE,MAAe5O,IAAA,CAChC,IAAA85D,EAAAi0O,EAAAn7C,GAAA66C,EAAAztS,GACA85D,EAAAm0O,aAAAn0O,EAAA9e,OAAA8e,EAAAviE,MAAA,EACAoB,EAAAiP,KAAAkyD,GAGA,OAAAnhE,GAGA,SAAAw1P,EAAA/+O,EAAAI,GACA,IAAAixO,EAAA,GAOA,OANAjxO,EAAA+kG,iBAAAnlG,EAAA,SAAAG,GAEA2+R,EAAA3+R,KAAA4+R,EAAA5+R,IACAkxO,EAAA74O,KAAA2H,KAGAkxO,EAGA,SAAA2N,EAAAggD,GACA,IAAAC,EAAA,GAqBA,OApBA55S,EAAA2nB,KAAAgyR,EAAA,SAAA7+R,GACA,IAAA/O,EAAA+O,EAAAE,UACA4gI,EAAA9gI,EAAApV,iBACAyV,EAAAygI,EAAAxgI,cACA5T,EAAA2T,EAAAK,YACAlT,EAAA,aAAA6S,EAAAxa,KAAAwa,EAAA5S,eAAArB,KAAAiR,IAAA3Q,EAAA,GAAAA,EAAA,IAAAuE,EAAAoO,QACA66J,EAAA1yF,EAAAxnE,EAAA7U,IAAA,YAAAqC,GACAuxS,EAAAv3N,EAAAxnE,EAAA7U,IAAA,eAAAqC,GACAwxS,EAAAh/R,EAAA7U,IAAA,UACA8zS,EAAAj/R,EAAA7U,IAAA,kBACA2zS,EAAAzmS,KAAA,CACA7K,YACA0sK,WACA6kI,cACAC,SACAC,iBACA57C,QAAAi7C,EAAAj+R,GACAk+R,QAAAF,EAAAr+R,OAGAy+R,EAAAK,GAGA,SAAAL,EAAAK,GAEA,IAAAI,EAAA,GACAh6S,EAAA2nB,KAAAiyR,EAAA,SAAAK,EAAA97R,GACA,IAAAggP,EAAA87C,EAAA97C,QACA71P,EAAA2xS,EAAA3xS,UACA4xS,EAAAF,EAAA77C,IAAA,CACA71P,YACA6xS,cAAA7xS,EACA8xS,eAAA,EACAC,YAAA,MACA13N,IAAA,MACA23N,OAAA,IAEAA,EAAAJ,EAAAI,OACAN,EAAA77C,GAAA+7C,EACA,IAAAb,EAAAY,EAAAZ,QAEAiB,EAAAjB,IACAa,EAAAE,iBAGAE,EAAAjB,GAAAiB,EAAAjB,IAAA,CACAv2S,MAAA,EACA8/E,SAAA,GAOA,IAAAoyF,EAAAilI,EAAAjlI,SAEAA,IAAAslI,EAAAjB,GAAAv2S,QAEAw3S,EAAAjB,GAAAv2S,MAAAkyK,EACAA,EAAA9tK,KAAAQ,IAAAwyS,EAAAC,cAAAnlI,GACAklI,EAAAC,eAAAnlI,GAGA,IAAA6kI,EAAAI,EAAAJ,YACAA,IAAAS,EAAAjB,GAAAz2N,SAAAi3N,GACA,IAAAC,EAAAG,EAAAH,OACA,MAAAA,IAAAI,EAAAv3N,IAAAm3N,GACA,IAAAC,EAAAE,EAAAF,eACA,MAAAA,IAAAG,EAAAG,YAAAN,KAEA,IAAA71S,EAAA,GAsDA,OArDAlE,EAAA2nB,KAAAqyR,EAAA,SAAAE,EAAA/V,GACAjgS,EAAAigS,GAAA,GACA,IAAAmW,EAAAJ,EAAAI,OACAhyS,EAAA4xS,EAAA5xS,UACA+xS,EAAA/3N,EAAA43N,EAAAG,YAAA/xS,GACAiyS,EAAAj4N,EAAA43N,EAAAv3N,IAAA,GACAw3N,EAAAD,EAAAC,cACAC,EAAAF,EAAAE,eACAI,GAAAL,EAAAE,IAAAD,KAAA,GAAAG,GACAC,EAAAtzS,KAAAS,IAAA6yS,EAAA,GAEAx6S,EAAA2nB,KAAA2yR,EAAA,SAAA50H,EAAAgmB,GACA,IAAA9oH,EAAA8iG,EAAA9iG,SAEAA,KAAA43N,IACA53N,EAAA17E,KAAAQ,IAAAk7E,EAAAu3N,GAEAz0H,EAAA5iL,QACA8/E,EAAA17E,KAAAQ,IAAAk7E,EAAA8iG,EAAA5iL,QAGAq3S,GAAAv3N,EACA8iG,EAAA5iL,MAAA8/E,EACAw3N,OAIAI,GAAAL,EAAAE,IAAAD,KAAA,GAAAG,GACAC,EAAAtzS,KAAAS,IAAA6yS,EAAA,GACA,IACAC,EADAC,EAAA,EAEA16S,EAAA2nB,KAAA2yR,EAAA,SAAA50H,EAAAvnK,GACAunK,EAAA5iL,QACA4iL,EAAA5iL,MAAA03S,GAGAC,EAAA/0H,EACAg1H,GAAAh1H,EAAA5iL,OAAA,EAAAy3S,KAGAE,IACAC,GAAAD,EAAA33S,MAAAy3S,GAGA,IAAAh0P,GAAAm0P,EAAA,EACA16S,EAAA2nB,KAAA2yR,EAAA,SAAA50H,EAAA2zH,GACAn1S,EAAAigS,GAAAkV,GAAAn1S,EAAAigS,GAAAkV,IAAA,CACA9yP,SACAzjD,MAAA4iL,EAAA5iL,OAEAyjD,GAAAm/H,EAAA5iL,OAAA,EAAAy3S,OAGAr2S,EAUA,SAAA01P,EAAAS,EAAA70P,EAAAsV,GACA,GAAAu/O,GAAA70P,EAAA,CACA,IAAAtB,EAAAm2P,EAAA++C,EAAA5zS,IAMA,OAJA,MAAAtB,GAAA,MAAA4W,IACA5W,IAAAi1S,EAAAr+R,KAGA5W,GASA,SAAAuC,EAAAkU,EAAAI,GACA,IAAAixO,EAAA0N,EAAA/+O,EAAAI,GACAs/O,EAAAV,EAAA3N,GACA2uD,EAAA,GACAC,EAAA,GACA56S,EAAA2nB,KAAAqkO,EAAA,SAAAlxO,GACA,IAAA/O,EAAA+O,EAAAE,UACA4gI,EAAA9gI,EAAApV,iBACAyV,EAAAygI,EAAAxgI,cACAi+R,EAAAF,EAAAr+R,GACA+/R,EAAAxgD,EAAA++C,EAAAj+R,IAAAk+R,GACAyB,EAAAD,EAAAt0P,OACAw0P,EAAAF,EAAA/3S,MACAuY,EAAAugI,EAAAtgI,aAAAH,GACAm4J,EAAAx4J,EAAA7U,IAAA,mBACA00S,EAAAtB,GAAAsB,EAAAtB,IAAA,GACAuB,EAAAvB,GAAAuB,EAAAvB,IAAA,GAEAttS,EAAAmoK,UAAA,CACA3tH,OAAAu0P,EACAr/R,KAAAs/R,IAUA,IARA,IAAApnI,EAAA5nK,EAAA8P,aAAAR,EAAAS,KACAk/R,EAAAjvS,EAAA8P,aAAAV,EAAAW,KACAm/R,EAAA7nI,EAAArnK,EAAA4nK,GAGAunI,EAAA7/R,EAAA3S,eACAyyS,EAAAC,EAAAjgS,EAAAE,EAAA4/R,GAEA98R,EAAA,EAAAlR,EAAAlB,EAAAoO,QAAyCgE,EAAAlR,EAAWkR,IAAA,CACpD,IAAA1Z,EAAAsH,EAAA9F,IAAA0tK,EAAAx1J,GACA41J,EAAAhoK,EAAA9F,IAAA+0S,EAAA78R,GAEA,IAAA/D,MAAA3V,GAAA,CAIA,IAmBAjC,EACAC,EACAK,EACAC,EAtBAw6K,EAAA94K,GAAA,UACA42S,EAAAF,EAuBA,GApBAF,IAEAN,EAAAtB,GAAAtlI,KACA4mI,EAAAtB,GAAAtlI,GAAA,CACAzyJ,EAAA65R,EAEA9sR,EAAA8sR,IAMAE,EAAAV,EAAAtB,GAAAtlI,GAAAwJ,IAQA29H,EAAA,CACA,IAAAn6R,EAAA66H,EAAA71I,YAAA,CAAAtB,EAAAsvK,IACAvxK,EAAA64S,EACA54S,EAAAse,EAAA,GAAA+5R,EACAh4S,EAAAie,EAAA,GAAAo6R,EACAp4S,EAAAg4S,EAEA7zS,KAAAiR,IAAArV,GAAAwwK,IACAxwK,KAAA,QAAAwwK,GAGA2nI,IAAAN,EAAAtB,GAAAtlI,GAAAwJ,IAAAz6K,OACO,CACPie,EAAA66H,EAAA71I,YAAA,CAAAguK,EAAAtvK,IACAjC,EAAAue,EAAA,GAAA+5R,EACAr4S,EAAA44S,EACAv4S,EAAAi4S,EACAh4S,EAAAge,EAAA,GAAAo6R,EAEAj0S,KAAAiR,IAAApV,GAAAuwK,IAEAvwK,MAAA,QAAAuwK,GAGA2nI,IAAAN,EAAAtB,GAAAtlI,GAAAwJ,IAAAx6K,GAGAgJ,EAAAkoK,cAAA91J,EAAA,CACA3b,IACAC,IACAK,QACAC,cAGGvC,MAIH,IAAAmuM,EAAA,CACAh0L,WAAA,MACAkzL,KAAAD,IACA/yL,MAAA,SAAAC,GACA,GAAA2+R,EAAA3+R,IAAA4+R,EAAA5+R,GAAA,CAIA,IAAA/O,EAAA+O,EAAAE,UACA4gI,EAAA9gI,EAAApV,iBACAyV,EAAAygI,EAAAxgI,cACAC,EAAAugI,EAAAtgI,aAAAH,GACAw4J,EAAA5nK,EAAA8P,aAAAR,EAAAS,KACAk/R,EAAAjvS,EAAA8P,aAAAV,EAAAW,KACAw/R,EAAAjgS,EAAA3S,eACA6yS,EAAAD,EAAA,IACAtmI,EAAA4kF,EAAAD,EAAA,CAAA7+O,IAAAK,EAAAL,GAAAhY,MAOA,OALAkyK,EAAAikI,IAEAjkI,EAAAikI,GAGA,CACAr9H,YAGA,SAAAA,EAAAp2J,EAAAzZ,GACA,IACAka,EADAu1R,EAAA,IAAAtC,EAAA,EAAA1zR,EAAArL,OAEA4G,EAAA,GACA06R,EAAA,GACAl1P,EAAA,EAEA,aAAAtgC,EAAAT,EAAAjhB,QACAk3S,EAAAF,GAAAxvS,EAAA9F,IAAA0tK,EAAA1tJ,GACAw1R,EAAA,EAAAF,GAAAxvS,EAAA9F,IAAA+0S,EAAA/0R,GACAlF,EAAA66H,EAAA71I,YAAA01S,EAAA,KAAA16R,GACAy6R,EAAAj1P,KAAAxlC,EAAA,GACAy6R,EAAAj1P,KAAAxlC,EAAA,GAGAhV,EAAAmoK,UAAA,CACAsnI,cACAxmI,WACAmmI,eAAAC,EAAAjgS,EAAAE,GAAA,GACAigS,2BAMA,SAAA7B,EAAA3+R,GACA,OAAAA,EAAApV,kBAAA,gBAAAoV,EAAApV,iBAAA/E,KAGA,SAAA+4S,EAAA5+R,GACA,OAAAA,EAAA0O,iBAAA1O,EAAA0O,gBAAAo+J,MAIA,SAAAwzH,EAAAjgS,EAAAE,EAAA4/R,GACA,IACAvzS,EACAC,EAFA4T,EAAAF,EAAAzV,kBAIA2V,EAAA,GAAAA,EAAA,IACA7T,EAAA6T,EAAA,GACA5T,EAAA4T,EAAA,KAEA7T,EAAA6T,EAAA,GACA5T,EAAA4T,EAAA,IAGA,IAAAmgS,EAAArgS,EAAAuvN,cAAAvvN,EAAAumG,YAAA,IAGA,OAFA85L,EAAAh0S,IAAAg0S,EAAAh0S,GACAg0S,EAAA/zS,IAAA+zS,EAAA/zS,GACA+zS,EAGAv4S,EAAAmtM,kBACAntM,EAAAu2P,yBACAv2P,EAAAw2P,mBACAx2P,EAAAy2P,uBACAz2P,EAAAsD,SACAtD,EAAAwrM,kCCjaA,SAAA9vL,EAAA9V,GAKA,OAJAA,aAAAiV,QACAjV,EAAA,CAAAA,MAGAA,EAGA,IAAA2/K,EAAA,oBAAAz5K,MAAA,KACAhM,EAAA,CACA0X,WAAA,QACAE,MAAA,SAAAC,EAAAC,EAAAxV,GACA,IAAAulB,EAAAjM,EAAA/D,EAAA7U,IAAA,WACA6X,EAAAe,EAAA/D,EAAA7U,IAAA,eACA8F,EAAA+O,EAAAE,UAOA,SAAAqQ,EAAAtf,EAAAoS,GACA,IAAAuN,EAAA3f,EAAA4f,aAAAxN,GACA2M,EAAAjM,EAAA6M,EAAA/C,WAAA,cACA7K,EAAAe,EAAA6M,EAAA/C,WAAA,kBACA2rC,EAAA5oC,EAAAzlB,IAAAyiL,GACA59J,EAAA,IAAA/e,EAAA0f,cAAAtN,EAAA,aAAA2M,EAAA,IACAA,EAAA,IAAA/e,EAAA0f,cAAAtN,EAAA,WAAA2M,EAAA,IACAhN,EAAA,IAAA/R,EAAA0f,cAAAtN,EAAA,iBAAAL,EAAA,IACAA,EAAA,IAAA/R,EAAA0f,cAAAtN,EAAA,eAAAL,EAAA,IACA/R,EAAA0f,cAAAtN,EAAA,UAAAm2C,GAGA,OAlBAvoD,EAAAif,UAAA,aAAAF,KAAA,IACA/e,EAAAif,UAAA,WAAAF,KAAA,IACA/e,EAAAif,UAAA,iBAAAlN,KAAA,IACA/R,EAAAif,UAAA,eAAAlN,KAAA,IACA/R,EAAAif,UAAA,UAAAlQ,EAAA7U,IAAAyiL,IAcA,CACAr9J,SAAAtf,EAAAuf,cAAAD,EAAA,QAIAnoB,EAAAC,QAAAF,0BCxDA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBs8S,EAAkBt8S,EAAQ,QAE1B6jJ,EAAY7jJ,EAAQ,QAEpBmnN,EAA2BnnN,EAAQ,QAoBnCu8S,EAAAD,EAAAtgS,UAEA,SAAAwgS,EAAAjmS,EAAA8mG,GACA,OAAA18G,EAAA8V,SAAA,CACA4mG,QACG9mG,GAGH,IAAAkmS,EAAA18S,EAAAu3I,qBAAA,CACAh2I,KAAA,QACAi3I,cAAA,WACA,IAAAa,EAAAj4I,KAAAyF,IAAA,eACA0yI,EAAAn4I,KAAAyF,IAAA,eACAsS,EAAA/X,KAAAyF,IAAA,SACAoyI,EAAA73I,KAAAyF,IAAA,YACAqyI,EAAA93I,KAAAyF,IAAA,YACA6vI,EAAAt1I,KAAAyF,IAAA,aACAiyI,EAAA13I,KAAAyF,IAAA,QACA81S,EAAAv7S,KAAAyF,IAAA,aACA+1S,EAAAx7S,KAAAyF,IAAA,kBACAkyI,EAAA33I,KAAAyF,IAAA,WACAunO,EAAAhtO,KAAAyF,IAAA,gBACAg2S,EAAAj8S,EAAA4N,IAAApN,KAAAyF,IAAA,0BAAAi2S,GAEA,MAAAA,EAAAv0S,KAAAu0S,EAAAv0S,IAAA,IAAAu0S,EAAAx0S,IACAw0S,EAAAx0S,IAAA,EACO,MAAAw0S,EAAAx0S,KAAAw0S,EAAAx0S,IAAA,IAAAw0S,EAAAv0S,MACPu0S,EAAAv0S,IAAA,GAGA,IAAAw0S,EAAAjkK,EA6BA,GA3BA,MAAAgkK,EAAA50R,QACA60R,EAAAn8S,EAAA8V,SAAA,CACAwR,MAAA40R,EAAA50R,OACS4wH,IAITgkK,EAAAl8S,EAAA2L,MAAA3L,EAAA+V,MAAAmmS,GAAA,CACAzjK,cACAE,cACApgI,QACA8/H,WACAC,WACAxC,YAEAhnI,KAAAotS,EAAA16S,KACAy2I,aAAA,MACAE,UAEAD,cAAAikK,EACA3uE,iBACO,GAEPuuE,IACAG,EAAAptS,KAAA,IAGA,kBAAAktS,EAAA,CACA,IAAAI,EAAAF,EAAAptS,KACAotS,EAAAptS,KAAAktS,EAAAjxS,QAAA,UAA0D,MAAAqxS,IAAA,QACnD,oBAAAJ,IACPE,EAAAptS,KAAAktS,EAAAE,EAAAptS,KAAAotS,IAGA,IAAA/3R,EAAAnkB,EAAAkF,OAAA,IAAAg+I,EAAAg5J,EAAA,KAAA17S,KAAAua,SAAAyrM,GAIA,OAFAriM,EAAAqI,SAAA,QACArI,EAAAL,eAAAtjB,KAAAsjB,eACAK,GACK3jB,MAELA,KAAAk5N,mBAAA,WACA,OAAAuiF,IAGA34R,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EACAjhB,OAAA,cACAC,OAAA,MACA0C,WAAA,GACAvQ,KAAA,CACA4tG,MAAA,GAIA+7B,YAAA,MACAE,YAAA,EACAR,QAAA,GACA5/H,OAAA,EAEAnQ,MAAA,UACAiwI,SAAAr4I,EAAA2L,MAAA,CACAsuI,UAAA,CACA3yH,MAAA,SAEKs0R,EAAAvjK,UACLvC,UAAA+lK,EAAAD,EAAA9lK,WAAA,GACAwC,SAAAujK,EAAAD,EAAAtjK,UAAA,GACA4B,UAAA2hK,EAAAD,EAAA1hK,WAAA,GACA3B,UAAAsjK,EAAAD,EAAArjK,WAAA,GAEAyoE,UAAA,MAGA/9M,EAAA64S,EACA54S,EAAAC,QAAAF,0BC5JA,IAAAu8N,EAAgBngO,EAAQ,QAExBW,EAAaX,EAAQ,QAErBk+O,EAAYl+O,EAAQ,QAEpBgjO,EAAgBhjO,EAAQ,QAexB,SAAAg9S,EAAA58E,EAAAC,GACAF,EAAAj/N,KAAAC,KAAAi/N,EAAAC,EAAA,2DAGA1/N,EAAAgD,SAAAq5S,EAAA78E,GASA68E,EAAA57S,UAAA67S,iBAAA,SAAAC,EAAAh7E,GACA,GAAAA,KAAAxgO,MAAA,CACA,IAAA8C,EAAArD,KACAR,EAAA2nB,KAAA,2BAAA60R,GACA,GAAAj7E,EAAAxgO,MAAAy7S,KAAA,WAAAj7E,EAAAxgO,MAAAy7S,GAAA77S,MAAA,WAAA4gO,EAAAxgO,MAAAy7S,GAAA77S,MAAA,CACA,IAGAy9E,EAHA+/F,EAAAojD,EAAAxgO,MAAAy7S,GACAl8E,EAAAz8N,EAAAu8N,SAAA,GAIAjiD,EAAAkgF,MAEAjgL,EAAA+/F,EAAAkgF,KAEA/9B,EAAAI,SAAAviD,EAAAkgF,OAEAx6P,EAAA88N,OAAAviJ,IAIAA,EAAAv6E,EAAAk6B,IAAAogJ,GAGAt6K,EAAAu9N,SAAAG,GACA,IAAA90M,EAAA2xD,EAAA6lD,aAAA,MACAs4K,EAAAE,aAAAD,EAAA,QAAA/vR,EAAA,UAcA4vR,EAAA57S,UAAAs9B,IAAA,SAAAogJ,GACA,IAAA//F,EAEA,cAAA+/F,EAAAx9K,KACAy9E,EAAA59E,KAAA61B,cAAA,sBACG,eAAA8nJ,EAAAx9K,KAIH,OADA48O,EAAA,0BACA,KAHAn/J,EAAA59E,KAAA61B,cAAA,kBAeA,OAJA8nJ,EAAA1xJ,GAAA0xJ,EAAA1xJ,IAAAjsB,KAAA2/N,SACA/hJ,EAAAq+N,aAAA,UAAAj8S,KAAAs/N,MAAA,aAAA3hD,EAAA1xJ,IACAjsB,KAAAk8S,UAAAv+H,EAAA//F,GACA59E,KAAAmgO,OAAAviJ,GACAA,GASAi+N,EAAA57S,UAAAssB,OAAA,SAAAoxJ,GACA,IAAAt6K,EAAArD,KACAg/N,EAAA/+N,UAAAssB,OAAAxsB,KAAAC,KAAA29K,EAAA,WACA,IAAAx9K,EAAAw9K,EAAAx9K,KACAsgO,EAAA9iD,EAAAkgF,KAAAp9B,QAEA,WAAAtgO,GAAA,mBAAAsgO,GAAA,WAAAtgO,GAAA,mBAAAsgO,EAEAp9N,EAAA64S,UAAAv+H,IAAAkgF,OAGAx6P,EAAAg9N,UAAA1iD,GACAt6K,EAAAk6B,IAAAogJ,OAaAk+H,EAAA57S,UAAAi8S,UAAA,SAAAv+H,EAAA//F,GACA,cAAA+/F,EAAAx9K,KACAy9E,EAAAq+N,aAAA,KAAAt+H,EAAA37K,GACA47E,EAAAq+N,aAAA,KAAAt+H,EAAA17K,GACA27E,EAAAq+N,aAAA,KAAAt+H,EAAAn+I,IACAo+C,EAAAq+N,aAAA,KAAAt+H,EAAAl+I,QACG,eAAAk+I,EAAAx9K,KAMH,YADA48O,EAAA,0BAJAn/J,EAAAq+N,aAAA,KAAAt+H,EAAA37K,GACA47E,EAAAq+N,aAAA,KAAAt+H,EAAA17K,GACA27E,EAAAq+N,aAAA,IAAAt+H,EAAA/+J,GAMA++J,EAAAzyH,OAEA0yB,EAAAq+N,aAAA,kCAGAr+N,EAAAq+N,aAAA,qCAIAr+N,EAAAyrC,UAAA,GAIA,IAFA,IAAA8Q,EAAAwjD,EAAAl2J,WAEA1c,EAAA,EAAA0B,EAAA0tH,EAAA52H,OAAsCwH,EAAA0B,IAAS1B,EAAA,CAC/C,IAAAmM,EAAAlX,KAAA61B,cAAA,QACA3e,EAAA+kS,aAAA,aAAA9hL,EAAApvH,GAAAg7C,OAAA,KACA,IAAAj/B,EAAAqzG,EAAApvH,GAAA+b,MAEA,GAAAA,EAAAskB,SAAA,IAEA,IAAA0oB,EAAA+tK,EAAAzoM,MAAAtS,GAAA,GACAq1R,EAAAt6E,EAAA7nG,MAAAlzG,GAMA5P,EAAA+kS,aAAA,iBAAAE,GACAjlS,EAAA+kS,aAAA,eAAAnoP,QAEA58C,EAAA+kS,aAAA,aAAA9hL,EAAApvH,GAAA+b,OAGA82D,EAAAwiJ,YAAAlpN,GAKAymK,EAAAkgF,KAAAjgL,GASAi+N,EAAA57S,UAAA2gO,SAAA,SAAAG,GACA,GAAAA,EAAAxgO,MAAA,CACA,IAAAo9K,EAAAojD,EAAAxgO,MAAAG,KAEAi9K,KAAAkgF,MACA7+B,EAAA/+N,UAAA2gO,SAAA7gO,KAAAC,KAAA29K,EAAAkgF,MAGAlgF,EAAAojD,EAAAxgO,MAAAI,OAEAg9K,KAAAkgF,MACA7+B,EAAA/+N,UAAA2gO,SAAA7gO,KAAAC,KAAA29K,EAAAkgF,QAKA,IAAAp7P,EAAAo5S,EACAn5S,EAAAC,QAAAF,0BC3LA,IAAAhD,EAAkBZ,EAAQ,QAqB1B,SAAAu9S,EAAAjvS,EAAAsR,EAAAC,EAAAE,EAAA8a,EAAAigM,EAAAC,GAKA,SAAAyiF,EAAAjwR,EAAA7C,EAAAziB,EAAA4yB,GACA,QAAAhpB,EAAA0b,EAAuB1b,EAAA6Y,EAAS7Y,IAGhC,GAFAvD,EAAAuD,GAAAzO,GAAA6E,EAEA4J,EAAA0b,GAAA1b,EAAA,EAAA6Y,GAAApc,EAAAuD,EAAA,GAAAzO,EAAAkL,EAAAuD,GAAAzO,EAAAkL,EAAAuD,GAAAnO,OAEA,YADA+5S,EAAA5rS,EAAA5J,EAAA,GAKAw1S,EAAA/yR,EAAA,EAAAziB,EAAA,GAGA,SAAAw1S,EAAA/yR,EAAAziB,GACA,QAAA4J,EAAA6Y,EAAqB7Y,GAAA,EAAQA,IAG7B,GAFAvD,EAAAuD,GAAAzO,GAAA6E,EAEA4J,EAAA,GAAAvD,EAAAuD,GAAAzO,EAAAkL,EAAAuD,EAAA,GAAAzO,EAAAkL,EAAAuD,EAAA,GAAAnO,OACA,MAKA,SAAAg6S,EAAApvS,EAAAqvS,EAAA/9R,EAAAC,EAAAE,EAAA8a,GAQA,IAPA,IAAA+iR,EAAAD,EACAx8R,OAAAC,UACA,EAKAlV,EAAA,EAAAC,EAAAmC,EAAA5J,OAAoCwH,EAAAC,EAAOD,IAAA,CAC3C,IAAA2xS,EAAAh2S,KAAAiR,IAAAxK,EAAApC,GAAA9I,EAAAyc,GACAnb,EAAA4J,EAAApC,GAAA0B,IACA0hS,EAAAhhS,EAAApC,GAAAijI,KACA2uK,EAAAD,EAAA99R,EAAArb,EAAAmD,KAAAk+C,MAAAhmC,EAAArb,EAAA4qS,IAAAvvR,EAAArb,EAAA4qS,GAAAuO,KAAAh2S,KAAAiR,IAAAxK,EAAApC,GAAA/I,EAAAyc,GAEA+9R,GAAAG,GAAAF,IAEAE,EAAAF,EAAA,KAGAD,GAAAG,GAAAF,IAEAE,EAAAF,EAAA,IAGAtvS,EAAApC,GAAA/I,EAAAyc,EAAAk+R,EAAAjjR,EACA+iR,EAAAE,GApDAxvS,EAAA8oB,KAAA,SAAA1tB,EAAAC,GACA,OAAAD,EAAAtG,EAAAuG,EAAAvG,IA6DA,IANA,IACA6E,EADA81S,EAAA,EAEAnwS,EAAAU,EAAA5J,OACAs5S,EAAA,GACAC,EAAA,GAEA/xS,EAAA,EAAiBA,EAAA0B,EAAS1B,IAC1BjE,EAAAqG,EAAApC,GAAA9I,EAAA26S,EAEA91S,EAAA,GACAu1S,EAAAtxS,EAAA0B,GAAA3F,EAAA4yB,GAGAkjR,EAAAzvS,EAAApC,GAAA9I,EAAAkL,EAAApC,GAAAxI,OAGAq3N,EAAAgjF,EAAA,GACAN,EAAA7vS,EAAA,EAAAmwS,EAAAhjF,GAGA,IAAA7uN,EAAA,EAAiBA,EAAA0B,EAAS1B,IAC1BoC,EAAApC,GAAA9I,GAAAyc,EACAo+R,EAAAnqS,KAAAxF,EAAApC,IAEA8xS,EAAAlqS,KAAAxF,EAAApC,IAIAwxS,EAAAM,GAAA,EAAAp+R,EAAAC,EAAAE,EAAA8a,GACA6iR,EAAAO,GAAA,EAAAr+R,EAAAC,EAAAE,EAAA8a,GAGA,SAAAqjR,EAAAC,EAAAv+R,EAAAC,EAAAE,EAAA+6M,EAAAC,GAIA,IAHA,IAAAqjF,EAAA,GACAC,EAAA,GAEAnyS,EAAA,EAAiBA,EAAAiyS,EAAAz5S,OAA4BwH,IAC7CoyS,EAAAH,EAAAjyS,MAIAiyS,EAAAjyS,GAAA/I,EAAAyc,EACAw+R,EAAAtqS,KAAAqqS,EAAAjyS,IAEAmyS,EAAAvqS,KAAAqqS,EAAAjyS,KAIAqxS,EAAAc,EAAAz+R,EAAAC,EAAAE,EAAA,EAAA+6M,EAAAC,GACAwiF,EAAAa,EAAAx+R,EAAAC,EAAAE,GAAA,EAAA+6M,EAAAC,GAEA,IAAA7uN,EAAA,EAAiBA,EAAAiyS,EAAAz5S,OAA4BwH,IAC7C,IAAAoyS,EAAAH,EAAAjyS,IAAA,CAIA,IAAA6S,EAAAo/R,EAAAjyS,GAAA6S,WAEA,GAAAA,EAAA,CACA,IAAA+f,EAAA/f,EAAA,MAAAA,EAAA,MAEAo/R,EAAAjyS,GAAA/I,EAAAyc,EACAb,EAAA,MAAAo/R,EAAAjyS,GAAA/I,EAAA,EAEA4b,EAAA,MAAAo/R,EAAAjyS,GAAA/I,EAAA,EAGA4b,EAAA,MAAAA,EAAA,MAAAo/R,EAAAjyS,GAAA9I,EACA2b,EAAA,MAAAA,EAAA,MAAA+f,IAKA,SAAAw/Q,EAAAl3S,GAEA,iBAAAA,EAAAK,SAGA,SAAA7D,EAAA6X,EAAAsE,EAAA+6M,EAAAC,GACA,IAEAn7M,EACAC,EAHAnT,EAAA+O,EAAAE,UACAwiS,EAAA,GAGAI,GAAA,EACA7xS,EAAA4b,KAAA,SAAAxJ,GACA,IAWAgrM,EACA6K,EACA51M,EACAjc,EAdAsE,EAAAsF,EAAAkqK,cAAA93J,GACAuN,EAAA3f,EAAA4f,aAAAxN,GACA+rF,EAAAx+E,EAAAyP,SAAA,SAEA24L,EAAA5pH,EAAAjkG,IAAA,aAAAylB,EAAAzlB,IAAA,2BACAy0M,EAAAhvL,EAAAyP,SAAA,aACA0iR,EAAAnjG,EAAAz0M,IAAA,UACA63S,EAAApjG,EAAAz0M,IAAA,WACA4tN,GAAAptN,EAAA4Y,WAAA5Y,EAAA6Y,UAAA,EACA9H,EAAAtQ,KAAAwY,IAAAm0M,GACAp8M,EAAAvQ,KAAA0Y,IAAAi0M,GAKA50M,EAAAxY,EAAAwY,GACAC,EAAAzY,EAAAyY,GACA,IAAA6+R,EAAA,WAAAjqF,GAAA,UAAAA,EAEA,cAAAA,EACA3K,EAAA1iN,EAAAwY,GACA+0M,EAAAvtN,EAAAyY,GACA/c,EAAA,aACK,CACL,IAAAiuD,GAAA2tP,GAAAt3S,EAAA2Y,EAAA3Y,EAAA0Y,IAAA,EAAA3H,EAAA/Q,EAAA2Y,EAAA5H,GAAAyH,EACAoxC,GAAA0tP,GAAAt3S,EAAA2Y,EAAA3Y,EAAA0Y,IAAA,EAAA1H,EAAAhR,EAAA2Y,EAAA3H,GAAAyH,EAIA,GAHAiqM,EAAA/4J,EAAA,EAAA54C,EACAw8M,EAAA3jK,EAAA,EAAA54C,GAEAsmS,EAAA,CAEA,IAAA/9Q,EAAAowB,EAAA54C,GAAAqmS,EAAAz+R,EAAA3Y,EAAA2Y,GACA6gB,EAAAowB,EAAA54C,GAAAomS,EAAAz+R,EAAA3Y,EAAA2Y,GACAkpD,EAAAtoC,GAAAxoB,EAAA,QAAAsmS,EACAv1O,EAAAtoC,EACAkpL,EAAA7gJ,GAAA9wD,EAAA,QACAw8M,EAAAzrJ,EACAnqD,EAAA,EAAAgyC,EAAAC,GAAA,CAAArwB,EAAAC,GAAA,CAAAqoC,EAAAC,IAGApmE,EAAA47S,EAAA,SAAAvmS,EAAA,iBAGA,IAAAtV,EAAAgoG,EAAAwqG,UACA0iB,EAAAltH,EAAAjkG,IAAA,UAAAuR,EAAA,GAAAq8M,EAAA3sN,KAAAC,IAAA0sN,EAAA,EACAryN,EAAAsZ,EAAAs1D,kBAAAjyD,EAAA,WAAApS,EAAAqc,QAAAjK,GACA1E,EAAAxZ,EAAA8B,gBAAAP,EAAAU,EAAAC,EAAA,OACAy7S,IAAAxmF,EACA3wN,EAAA6e,MAAA,CACA9iB,EAAA2mN,EACA1mN,EAAAuxN,EACAltN,SAAAgtN,EACA/wN,OAAA0W,EAAA1W,OACAkK,IAAA4wS,EACArvK,KAAAsvK,EACA1/R,aACAjc,YACA4F,cAAA,SACAf,SAAAowN,EACAtmH,OAAAitM,GAGAA,GACAP,EAAArqS,KAAA1M,EAAA6e,UAIAs4R,GAAA9iS,EAAA7U,IAAA,sBACAs3S,EAAAC,EAAAv+R,EAAAC,EAAAE,EAAA+6M,EAAAC,GAIAl3N,EAAAC,QAAAF,wBC3OA,IAAAjD,EAAaX,EAAQ,QAoBrB2+S,EAAA,oNAEA,SAAArzB,EAAAszB,GACAj+S,EAAA2nB,KAAAq2R,EAAA,SAAAlvS,GACAtO,KAAAsO,GAAA9O,EAAAoJ,KAAA60S,EAAAnvS,GAAAmvS,IACGz9S,MAGH,IAAAyC,EAAA0nR,EACAznR,EAAAC,QAAAF,wCCjDA,SAAAyoD;;;;;;AAKA,SAAAwyP,EAAAj4C,GACA,IAAA3/I,EAAA9lG,OAAAylP,EAAA3/I,QAAAr3G,MAAA,SAEA,GAAAq3G,GAAA,EACA2/I,EAAA7sP,MAAA,CAAeotP,aAAA23C,QACZ,CAGH,IAAAxH,EAAA1wC,EAAAxlQ,UAAAk2S,MACA1wC,EAAAxlQ,UAAAk2S,MAAA,SAAAtmS,QACA,IAAAA,MAAA,IAEAA,EAAAqT,KAAArT,EAAAqT,KACA,CAAAy6R,GAAAj0P,OAAA75C,EAAAqT,MACAy6R,EACAxH,EAAAp2S,KAAAC,KAAA6P,IAQA,SAAA8tS,IACA,IAAA9tS,EAAA7P,KAAA8lQ,SAEAj2P,EAAA4b,MACAzrB,KAAA49S,OAAA,oBAAA/tS,EAAA4b,MACA5b,EAAA4b,QACA5b,EAAA4b,MACK5b,EAAA8hE,QAAA9hE,EAAA8hE,OAAAisO,SACL59S,KAAA49S,OAAA/tS,EAAA8hE,OAAAisO,SAKA,IAAAvnS,EAAA,qBAAA1L,OACAA,OACA,qBAAAugD,EACAA,EACA,GACA2yP,EAAAxnS,EAAAynS,6BAEA,SAAAC,EAAAtyR,GACAoyR,IAEApyR,EAAAuyR,aAAAH,EAEAA,EAAAjb,KAAA,YAAAn3Q,GAEAoyR,EAAAjoS,GAAA,gCAAAqoS,GACAxyR,EAAA6gP,aAAA2xC,KAGAxyR,EAAAyyR,UAAA,SAAAC,EAAAh2G,GACA01G,EAAAjb,KAAA,gBAAAub,EAAAh2G,MAgBA,SAAAi2G,EAAAtzS,EAAA1H,GACA2F,OAAAitB,KAAAlrB,GAAAD,QAAA,SAAAI,GAA2C,OAAA7H,EAAA0H,EAAAG,QAG3C,SAAArB,EAAAkB,GACA,cAAAA,GAAA,kBAAAA,EAGA,SAAAuzS,EAAAp1S,GACA,OAAAA,GAAA,oBAAAA,EAAA28M,KAOA,SAAAyiD,EAAAjlQ,EAAA4iD,GACA,kBACA,OAAA5iD,EAAA4iD,IAKA,IAAAs4P,EAAA,SAAAC,EAAAC,GACAx+S,KAAAw+S,UAEAx+S,KAAA6wE,UAAA9nE,OAAA+lC,OAAA,MAEA9uC,KAAAy+S,WAAAF,EACA,IAAAG,EAAAH,EAAAp2G,MAGAnoM,KAAAmoM,OAAA,oBAAAu2G,UAAA,IAGA/qC,EAAA,CAA0BgrC,WAAA,CAAchxR,cAAA,IAExCgmP,EAAAgrC,WAAAl5S,IAAA,WACA,QAAAzF,KAAAy+S,WAAAE,YAGAL,EAAAr+S,UAAA2+S,SAAA,SAAA3zS,EAAAvI,GACA1C,KAAA6wE,UAAA5lE,GAAAvI,GAGA47S,EAAAr+S,UAAAqgO,YAAA,SAAAr1N,UACAjL,KAAA6wE,UAAA5lE,IAGAqzS,EAAAr+S,UAAA4+S,SAAA,SAAA5zS,GACA,OAAAjL,KAAA6wE,UAAA5lE,IAGAqzS,EAAAr+S,UAAAssB,OAAA,SAAAgyR,GACAv+S,KAAAy+S,WAAAE,WAAAJ,EAAAI,WACAJ,EAAAO,UACA9+S,KAAAy+S,WAAAK,QAAAP,EAAAO,SAEAP,EAAAQ,YACA/+S,KAAAy+S,WAAAM,UAAAR,EAAAQ,WAEAR,EAAAS,UACAh/S,KAAAy+S,WAAAO,QAAAT,EAAAS,UAIAV,EAAAr+S,UAAAg/S,aAAA,SAAA77S,GACAg7S,EAAAp+S,KAAA6wE,UAAAztE,IAGAk7S,EAAAr+S,UAAAi/S,cAAA,SAAA97S,GACApD,KAAAy+S,WAAAO,SACAZ,EAAAp+S,KAAAy+S,WAAAO,QAAA57S,IAIAk7S,EAAAr+S,UAAAk/S,cAAA,SAAA/7S,GACApD,KAAAy+S,WAAAK,SACAV,EAAAp+S,KAAAy+S,WAAAK,QAAA17S,IAIAk7S,EAAAr+S,UAAAm/S,gBAAA,SAAAh8S,GACApD,KAAAy+S,WAAAM,WACAX,EAAAp+S,KAAAy+S,WAAAM,UAAA37S,IAIA2F,OAAAy3B,iBAAA89Q,EAAAr+S,UAAA0zQ,GAEA,IAAA0rC,EAAA,SAAAC,GAEAt/S,KAAAg4J,SAAA,GAAAsnJ,GAAA,IAqDA,SAAA/yR,EAAAk4C,EAAA86O,EAAAC,GASA,GAHAD,EAAAhzR,OAAAizR,GAGAA,EAAApyR,QACA,QAAAniB,KAAAu0S,EAAApyR,QAAA,CACA,IAAAmyR,EAAAV,SAAA5zS,GAOA,cAEAshB,EACAk4C,EAAA/a,OAAAz+C,GACAs0S,EAAAV,SAAA5zS,GACAu0S,EAAApyR,QAAAniB,KAzEAo0S,EAAAp/S,UAAAwF,IAAA,SAAAg/D,GACA,OAAAA,EAAAt+C,OAAA,SAAAzjB,EAAAuI,GACA,OAAAvI,EAAAm8S,SAAA5zS,IACGjL,KAAAitB,OAGHoyR,EAAAp/S,UAAAw/S,aAAA,SAAAh7O,GACA,IAAA/hE,EAAA1C,KAAAitB,KACA,OAAAw3C,EAAAt+C,OAAA,SAAAu5R,EAAAz0S,GAEA,OADAvI,IAAAm8S,SAAA5zS,GACAy0S,GAAAh9S,EAAAi8S,WAAA1zS,EAAA,SACG,KAGHo0S,EAAAp/S,UAAAssB,OAAA,SAAA+yR,GACA/yR,EAAA,GAAAvsB,KAAAitB,KAAAqyR,IAGAD,EAAAp/S,UAAA+3J,SAAA,SAAAvzF,EAAA85O,EAAAC,GACA,IAAAx6C,EAAAhkQ,UACA,IAAAw+S,OAAA,GAMA,IAAAgB,EAAA,IAAAlB,EAAAC,EAAAC,GACA,OAAA/5O,EAAAlhE,OACAvD,KAAAitB,KAAAuyR,MACG,CACH,IAAA7tO,EAAA3xE,KAAAyF,IAAAg/D,EAAAvlC,MAAA,OACAyyC,EAAAitO,SAAAn6O,IAAAlhE,OAAA,GAAAi8S,GAIAjB,EAAAnxR,SACAgxR,EAAAG,EAAAnxR,QAAA,SAAAuyR,EAAA10S,GACA+4P,EAAAhsG,SAAAvzF,EAAA/a,OAAAz+C,GAAA00S,EAAAnB,MAKAa,EAAAp/S,UAAA2/S,WAAA,SAAAn7O,GACA,IAAAkN,EAAA3xE,KAAAyF,IAAAg/D,EAAAvlC,MAAA,OACAj0B,EAAAw5D,IAAAlhE,OAAA,GACAouE,EAAAktO,SAAA5zS,GAAAuzS,SAEA7sO,EAAA2uJ,YAAAr1N,IAgCA,IAyCAw6P,EAEA,IAAAo6C,EAAA,SAAAhwS,GACA,IAAAm0P,EAAAhkQ,UACA,IAAA6P,MAAA,KAKA41P,GAAA,qBAAA96P,eAAA86P,KACAD,EAAA76P,OAAA86P,KASA,IAAAq6C,EAAAjwS,EAAAiwS,aAAgC,IAAAA,MAAA,IAChC,IAAAz2C,EAAAx5P,EAAAw5P,YAA8B,IAAAA,OAAA,GAG9BrpQ,KAAA+/S,aAAA,EACA//S,KAAAggT,SAAAj3S,OAAA+lC,OAAA,MACA9uC,KAAAigT,mBAAA,GACAjgT,KAAAkgT,WAAAn3S,OAAA+lC,OAAA,MACA9uC,KAAAmgT,gBAAAp3S,OAAA+lC,OAAA,MACA9uC,KAAAogT,SAAA,IAAAf,EAAAxvS,GACA7P,KAAAqgT,qBAAAt3S,OAAA+lC,OAAA,MACA9uC,KAAAsgT,aAAA,GACAtgT,KAAAugT,WAAA,IAAA96C,EAGA,IAAAh6O,EAAAzrB,KACA2/P,EAAA3/P,KACA4oI,EAAA+2H,EAAA/2H,SACA43K,EAAA7gD,EAAA6gD,OACAxgT,KAAA4oI,SAAA,SAAAzoI,EAAAqsB,GACA,OAAAo8G,EAAA7oI,KAAA0rB,EAAAtrB,EAAAqsB,IAEAxsB,KAAAwgT,OAAA,SAAArgT,EAAAqsB,EAAA3c,GACA,OAAA2wS,EAAAzgT,KAAA0rB,EAAAtrB,EAAAqsB,EAAA3c,IAIA7P,KAAAqpQ,SAEA,IAAAlhE,EAAAnoM,KAAAogT,SAAAnzR,KAAAk7K,MAKAs4G,EAAAzgT,KAAAmoM,EAAA,GAAAnoM,KAAAogT,SAAAnzR,MAIAyzR,EAAA1gT,KAAAmoM,GAGA23G,EAAAj1S,QAAA,SAAA81S,GAAqC,OAAAA,EAAA38C,KAErC,IAAA48C,OAAAt4S,IAAAuH,EAAAgxS,SAAAhxS,EAAAgxS,SAAAp7C,EAAAzrE,OAAA6mH,SACAD,GACA7C,EAAA/9S,OAIA8gT,EAAA,CAA4B34G,MAAA,CAASx6K,cAAA,IAuKrC,SAAAozR,EAAA39S,EAAA49S,GAIA,OAHAA,EAAA51Q,QAAAhoC,GAAA,GACA49S,EAAAruS,KAAAvP,GAEA,WACA,IAAA2H,EAAAi2S,EAAA51Q,QAAAhoC,GACA2H,GAAA,GACAi2S,EAAA3vO,OAAAtmE,EAAA,IAKA,SAAAk2S,EAAAx1R,EAAAy1R,GACAz1R,EAAAu0R,SAAAj3S,OAAA+lC,OAAA,MACArjB,EAAAy0R,WAAAn3S,OAAA+lC,OAAA,MACArjB,EAAA00R,gBAAAp3S,OAAA+lC,OAAA,MACArjB,EAAA40R,qBAAAt3S,OAAA+lC,OAAA,MACA,IAAAq5J,EAAA18K,EAAA08K,MAEAs4G,EAAAh1R,EAAA08K,EAAA,GAAA18K,EAAA20R,SAAAnzR,MAAA,GAEAyzR,EAAAj1R,EAAA08K,EAAA+4G,GAGA,SAAAR,EAAAj1R,EAAA08K,EAAA+4G,GACA,IAAAC,EAAA11R,EAAA21R,IAGA31R,EAAAuzR,QAAA,GACA,IAAAqC,EAAA51R,EAAA00R,gBACAmB,EAAA,GACAlD,EAAAiD,EAAA,SAAAj+S,EAAA6H,GAIAq2S,EAAAr2S,GAAAo9P,EAAAjlQ,EAAAqoB,GACA1iB,OAAA2kB,eAAAjC,EAAAuzR,QAAA/zS,EAAA,CACAxF,IAAA,WAAwB,OAAAgmB,EAAA21R,IAAAn2S,IACxB2iB,YAAA,MAOA,IAAAy5F,EAAAo+I,EAAAzrE,OAAA3yE,OACAo+I,EAAAzrE,OAAA3yE,QAAA,EACA57F,EAAA21R,IAAA,IAAA37C,EAAA,CACAl6P,KAAA,CACAg2S,QAAAp5G,GAEAm5G,aAEA77C,EAAAzrE,OAAA3yE,SAGA57F,EAAA49O,QACAm4C,EAAA/1R,GAGA01R,IACAD,GAGAz1R,EAAAg2R,YAAA,WACAN,EAAApgN,MAAAwgN,QAAA,OAGA97C,EAAA48B,SAAA,WAA8B,OAAA8e,EAAAO,cAI9B,SAAAjB,EAAAh1R,EAAAk2R,EAAAl9O,EAAA/hE,EAAAw+S,GACA,IAAAtvG,GAAAntI,EAAAlhE,OACAm8S,EAAAj0R,EAAA20R,SAAAX,aAAAh7O,GAQA,GALA/hE,EAAAi8S,aACAlzR,EAAA40R,qBAAAX,GAAAh9S,IAIAkvM,IAAAsvG,EAAA,CACA,IAAAU,EAAAC,EAAAF,EAAAl9O,EAAAvlC,MAAA,OACA4iR,EAAAr9O,IAAAlhE,OAAA,GACAkoB,EAAAg2R,YAAA,WACAh8C,EAAAryO,IAAAwuR,EAAAE,EAAAp/S,EAAAylM,SAIA,IAAA45G,EAAAr/S,EAAAghB,QAAAs+R,EAAAv2R,EAAAi0R,EAAAj7O,GAEA/hE,EAAA08S,gBAAA,SAAAjB,EAAAlzS,GACA,IAAAg3S,EAAAvC,EAAAz0S,EACAi3S,EAAAz2R,EAAAw2R,EAAA9D,EAAA4D,KAGAr/S,EAAAy8S,cAAA,SAAA3rN,EAAAvoF,GACA,IAAA9K,EAAAqzF,EAAAvmE,KAAAhiB,EAAAy0S,EAAAz0S,EACA6oF,EAAAN,EAAAM,SAAAN,EACAlnE,EAAAb,EAAAtrB,EAAA2zF,EAAAiuN,KAGAr/S,EAAAw8S,cAAA,SAAA1xR,EAAAviB,GACA,IAAAg3S,EAAAvC,EAAAz0S,EACAk3S,EAAA12R,EAAAw2R,EAAAz0R,EAAAu0R,KAGAr/S,EAAAu8S,aAAA,SAAA7sR,EAAAnnB,GACAw1S,EAAAh1R,EAAAk2R,EAAAl9O,EAAA/a,OAAAz+C,GAAAmnB,EAAA8uR,KAQA,SAAAc,EAAAv2R,EAAAi0R,EAAAj7O,GACA,IAAA29O,EAAA,KAAA1C,EAEAqC,EAAA,CACAn5K,SAAAw5K,EAAA32R,EAAAm9G,SAAA,SAAAy5K,EAAAC,EAAAC,GACA,IAAA94P,EAAA+4P,EAAAH,EAAAC,EAAAC,GACA/1R,EAAAi9B,EAAAj9B,QACA3c,EAAA45C,EAAA55C,QACA1P,EAAAspD,EAAAtpD,KAUA,OARA0P,KAAAod,OACA9sB,EAAAu/S,EAAAv/S,GAOAsrB,EAAAm9G,SAAAzoI,EAAAqsB,IAGAg0R,OAAA4B,EAAA32R,EAAA+0R,OAAA,SAAA6B,EAAAC,EAAAC,GACA,IAAA94P,EAAA+4P,EAAAH,EAAAC,EAAAC,GACA/1R,EAAAi9B,EAAAj9B,QACA3c,EAAA45C,EAAA55C,QACA1P,EAAAspD,EAAAtpD,KAEA0P,KAAAod,OACA9sB,EAAAu/S,EAAAv/S,GAOAsrB,EAAA+0R,OAAArgT,EAAAqsB,EAAA3c,KAiBA,OAXA9G,OAAAy3B,iBAAAuhR,EAAA,CACA/C,QAAA,CACAv5S,IAAA28S,EACA,WAAuB,OAAA32R,EAAAuzR,SACvB,WAAuB,OAAAyD,EAAAh3R,EAAAi0R,KAEvBv3G,MAAA,CACA1iM,IAAA,WAAwB,OAAAo8S,EAAAp2R,EAAA08K,MAAA1jI,OAIxBs9O,EAGA,SAAAU,EAAAh3R,EAAAi0R,GACA,IAAAgD,EAAA,GAEAC,EAAAjD,EAAAn8S,OAiBA,OAhBAwF,OAAAitB,KAAAvK,EAAAuzR,SAAAn0S,QAAA,SAAA1K,GAEA,GAAAA,EAAA++B,MAAA,EAAAyjR,KAAAjD,EAAA,CAGA,IAAAkD,EAAAziT,EAAA++B,MAAAyjR,GAKA55S,OAAA2kB,eAAAg1R,EAAAE,EAAA,CACAn9S,IAAA,WAAwB,OAAAgmB,EAAAuzR,QAAA7+S,IACxBytB,YAAA,OAIA80R,EAGA,SAAAR,EAAAz2R,EAAAtrB,EAAA2zF,EAAAiuN,GACA,IAAA31S,EAAAqf,EAAAy0R,WAAA//S,KAAAsrB,EAAAy0R,WAAA//S,GAAA,IACAiM,EAAAuG,KAAA,SAAA6Z,GACAsnE,EAAA/zF,KAAA0rB,EAAAs2R,EAAA55G,MAAA37K,KAIA,SAAAF,EAAAb,EAAAtrB,EAAA2zF,EAAAiuN,GACA,IAAA31S,EAAAqf,EAAAu0R,SAAA7/S,KAAAsrB,EAAAu0R,SAAA7/S,GAAA,IACAiM,EAAAuG,KAAA,SAAA6Z,EAAAuJ,GACA,IAAAg8C,EAAA+hB,EAAA/zF,KAAA0rB,EAAA,CACAm9G,SAAAm5K,EAAAn5K,SACA43K,OAAAuB,EAAAvB,OACAxB,QAAA+C,EAAA/C,QACA72G,MAAA45G,EAAA55G,MACA06G,YAAAp3R,EAAAuzR,QACA2C,UAAAl2R,EAAA08K,OACK37K,EAAAuJ,GAIL,OAHAsoR,EAAAtsO,KACAA,EAAA0zI,QAAAC,QAAA3zI,IAEAtmD,EAAAuyR,aACAjsO,EAAAm7L,MAAA,SAAA3N,GAEA,MADA9zO,EAAAuyR,aAAApb,KAAA,aAAArjC,GACAA,IAGAxtL,IAKA,SAAAowO,EAAA12R,EAAAtrB,EAAA2iT,EAAAf,GACAt2R,EAAA00R,gBAAAhgT,KAMAsrB,EAAA00R,gBAAAhgT,GAAA,SAAAsrB,GACA,OAAAq3R,EACAf,EAAA55G,MACA45G,EAAA/C,QACAvzR,EAAA08K,MACA18K,EAAAuzR,WAKA,SAAAwC,EAAA/1R,GACAA,EAAA21R,IAAA2B,OAAA,WAAgC,OAAA/iT,KAAA+gG,MAAAwgN,SAA4B,WACpD,GAGL,CAAGyB,MAAA,EAAAC,MAAA,IAGN,SAAApB,EAAA15G,EAAA1jI,GACA,OAAAA,EAAAlhE,OACAkhE,EAAAt+C,OAAA,SAAAgiL,EAAAl9L,GAAyC,OAAAk9L,EAAAl9L,IAAqBk9L,GAC9DA,EAGA,SAAAq6G,EAAAriT,EAAAqsB,EAAA3c,GAWA,OAVAjG,EAAAzJ,aACA0P,EAAA2c,EACAA,EAAArsB,EACAA,UAOA,CAAUA,OAAAqsB,UAAA3c,WAGV,SAAA21P,EAAAjC,GACAkC,GAAAlC,IAAAkC,IAQAA,EAAAlC,EACAm6C,EAAAj4C,IA/bAq7C,EAAA34G,MAAA1iM,IAAA,WACA,OAAAzF,KAAAohT,IAAArgN,MAAAwgN,SAGAT,EAAA34G,MAAA/0K,IAAA,SAAAjW,GACM,GAKN0iS,EAAA5/S,UAAAugT,OAAA,SAAA6B,EAAAC,EAAAC,GACA,IAAAv+C,EAAAhkQ,KAGA2/P,EAAA6iD,EAAAH,EAAAC,EAAAC,GACApiT,EAAAw/P,EAAAx/P,KACAqsB,EAAAmzO,EAAAnzO,QAGA2xR,GAFAx+C,EAAA9vP,QAEA,CAAkB1P,OAAAqsB,YAClBpgB,EAAApM,KAAAkgT,WAAA//S,GACAiM,IAMApM,KAAAyhT,YAAA,WACAr1S,EAAAvB,QAAA,SAAAipF,GACAA,EAAAtnE,OAGAxsB,KAAAsgT,aAAAz1S,QAAA,SAAAuT,GAA4C,OAAAA,EAAA+/R,EAAAn6C,EAAA77D,WAa5C03G,EAAA5/S,UAAA2oI,SAAA,SAAAy5K,EAAAC,GACA,IAAAt+C,EAAAhkQ,KAGA2/P,EAAA6iD,EAAAH,EAAAC,GACAniT,EAAAw/P,EAAAx/P,KACAqsB,EAAAmzO,EAAAnzO,QAEAgnE,EAAA,CAAgBrzF,OAAAqsB,WAChBpgB,EAAApM,KAAAggT,SAAA7/S,GACA,GAAAiM,EAAA,CAOA,IACApM,KAAAigT,mBACAp4P,OAAA,SAAAzpC,GAA8B,OAAAA,EAAA61E,SAC9BppF,QAAA,SAAAuT,GAA+B,OAAAA,EAAA61E,OAAAT,EAAAwwK,EAAA77D,SAC5B,MAAAhyL,GACK,EAMR,IAAAzS,EAAA0I,EAAA7I,OAAA,EACAkiN,QAAArtG,IAAAhsG,EAAAgB,IAAA,SAAA0mF,GAAgD,OAAAA,EAAAtnE,MAChDpgB,EAAA,GAAAogB,GAEA,OAAA9oB,EAAAkiN,KAAA,SAAA7zI,GACA,IACAiyL,EAAAi8C,mBACAp4P,OAAA,SAAAzpC,GAAgC,OAAAA,EAAA81E,QAChCrpF,QAAA,SAAAuT,GAAiC,OAAAA,EAAA81E,MAAAV,EAAAwwK,EAAA77D,SAC5B,MAAAhyL,GACK,EAKV,OAAA47D,MAIA8tO,EAAA5/S,UAAAi+S,UAAA,SAAA96S,GACA,OAAA29S,EAAA39S,EAAApD,KAAAsgT,eAGAT,EAAA5/S,UAAAijT,gBAAA,SAAA9/S,GACA,IAAA49S,EAAA,oBAAA59S,EAAA,CAAyC6wF,OAAA7wF,GAAaA,EACtD,OAAA29S,EAAAC,EAAAhhT,KAAAigT,qBAGAJ,EAAA5/S,UAAAkjT,MAAA,SAAA31R,EAAAuI,EAAAlmB,GACA,IAAAm0P,EAAAhkQ,KAKA,OAAAA,KAAAugT,WAAAwC,OAAA,WAA6C,OAAAv1R,EAAAw2O,EAAA77D,MAAA67D,EAAAg7C,UAA+CjpR,EAAAlmB,IAG5FgwS,EAAA5/S,UAAAqsQ,aAAA,SAAAnkE,GACA,IAAA67D,EAAAhkQ,KAEAA,KAAAyhT,YAAA,WACAz9C,EAAAo9C,IAAArgN,MAAAwgN,QAAAp5G,KAIA03G,EAAA5/S,UAAAmjT,eAAA,SAAA3+O,EAAA85O,EAAA1uS,QACA,IAAAA,MAAA,IAEA,kBAAA40D,IAAiCA,EAAA,CAAAA,IAOjCzkE,KAAAogT,SAAApoJ,SAAAvzF,EAAA85O,GACAkC,EAAAzgT,UAAAmoM,MAAA1jI,EAAAzkE,KAAAogT,SAAA36S,IAAAg/D,GAAA50D,EAAAwzS,eAEA3C,EAAA1gT,UAAAmoM,QAGA03G,EAAA5/S,UAAAqjT,iBAAA,SAAA7+O,GACA,IAAAu/L,EAAAhkQ,KAEA,kBAAAykE,IAAiCA,EAAA,CAAAA,IAMjCzkE,KAAAogT,SAAAR,WAAAn7O,GACAzkE,KAAAyhT,YAAA,WACA,IAAAG,EAAAC,EAAA79C,EAAA77D,MAAA1jI,EAAAvlC,MAAA,OACAumO,EAAAtsK,OAAAyoN,EAAAn9O,IAAAlhE,OAAA,MAEA09S,EAAAjhT,OAGA6/S,EAAA5/S,UAAAsjT,UAAA,SAAAC,GACAxjT,KAAAogT,SAAA7zR,OAAAi3R,GACAvC,EAAAjhT,MAAA,IAGA6/S,EAAA5/S,UAAAwhT,YAAA,SAAAr+S,GACA,IAAAqgT,EAAAzjT,KAAA+/S,YACA//S,KAAA+/S,aAAA,EACA38S,IACApD,KAAA+/S,YAAA0D,GAGA16S,OAAAy3B,iBAAAq/Q,EAAA5/S,UAAA6gT,GAqSA,IAAA4C,EAAAC,EAAA,SAAAjE,EAAAkE,GACA,IAAA7xO,EAAA,GAuBA,OAtBA8xO,EAAAD,GAAA/4S,QAAA,SAAA80P,GACA,IAAA10P,EAAA00P,EAAA10P,IACAhC,EAAA02P,EAAA12P,IAEA8oE,EAAA9mE,GAAA,WACA,IAAAk9L,EAAAnoM,KAAA49S,OAAAz1G,MACA62G,EAAAh/S,KAAA49S,OAAAoB,QACA,GAAAU,EAAA,CACA,IAAAh9S,EAAAohT,EAAA9jT,KAAA49S,OAAA,WAAA8B,GACA,IAAAh9S,EACA,OAEAylM,EAAAzlM,EAAAghB,QAAAykL,MACA62G,EAAAt8S,EAAAghB,QAAAs7R,QAEA,0BAAA/1S,EACAA,EAAAlJ,KAAAC,KAAAmoM,EAAA62G,GACA72G,EAAAl/L,IAGA8oE,EAAA9mE,GAAA84S,MAAA,IAEAhyO,IASAiyO,EAAAL,EAAA,SAAAjE,EAAAX,GACA,IAAAhtO,EAAA,GAuBA,OAtBA8xO,EAAA9E,GAAAl0S,QAAA,SAAA80P,GACA,IAAA10P,EAAA00P,EAAA10P,IACAhC,EAAA02P,EAAA12P,IAEA8oE,EAAA9mE,GAAA,WACA,IAAAw+C,EAAA,GAAAh9C,EAAA9D,UAAApF,OACA,MAAAkJ,IAAAg9C,EAAAh9C,GAAA9D,UAAA8D,GAGA,IAAA+zS,EAAAxgT,KAAA49S,OAAA4C,OACA,GAAAd,EAAA,CACA,IAAAh9S,EAAAohT,EAAA9jT,KAAA49S,OAAA,eAAA8B,GACA,IAAAh9S,EACA,OAEA89S,EAAA99S,EAAAghB,QAAA88R,OAEA,0BAAAv3S,EACAA,EAAAP,MAAA1I,KAAA,CAAAwgT,GAAA92P,OAAAD,IACA+2P,EAAA93S,MAAA1I,KAAA49S,OAAA,CAAA30S,GAAAygD,OAAAD,OAGAsoB,IASAkyO,EAAAN,EAAA,SAAAjE,EAAAV,GACA,IAAAjtO,EAAA,GAoBA,OAnBA8xO,EAAA7E,GAAAn0S,QAAA,SAAA80P,GACA,IAAA10P,EAAA00P,EAAA10P,IACAhC,EAAA02P,EAAA12P,IAGAA,EAAAy2S,EAAAz2S,EACA8oE,EAAA9mE,GAAA,WACA,IAAAy0S,GAAAoE,EAAA9jT,KAAA49S,OAAA,aAAA8B,GAOA,OAAA1/S,KAAA49S,OAAAoB,QAAA/1S,IAGA8oE,EAAA9mE,GAAA84S,MAAA,IAEAhyO,IASAmyO,EAAAP,EAAA,SAAAjE,EAAAZ,GACA,IAAA/sO,EAAA,GAuBA,OAtBA8xO,EAAA/E,GAAAj0S,QAAA,SAAA80P,GACA,IAAA10P,EAAA00P,EAAA10P,IACAhC,EAAA02P,EAAA12P,IAEA8oE,EAAA9mE,GAAA,WACA,IAAAw+C,EAAA,GAAAh9C,EAAA9D,UAAApF,OACA,MAAAkJ,IAAAg9C,EAAAh9C,GAAA9D,UAAA8D,GAGA,IAAAm8H,EAAA5oI,KAAA49S,OAAAh1K,SACA,GAAA82K,EAAA,CACA,IAAAh9S,EAAAohT,EAAA9jT,KAAA49S,OAAA,aAAA8B,GACA,IAAAh9S,EACA,OAEAkmI,EAAAlmI,EAAAghB,QAAAklH,SAEA,0BAAA3/H,EACAA,EAAAP,MAAA1I,KAAA,CAAA4oI,GAAAl/E,OAAAD,IACAm/E,EAAAlgI,MAAA1I,KAAA49S,OAAA,CAAA30S,GAAAygD,OAAAD,OAGAsoB,IAQAoyO,EAAA,SAAAzE,GAAoD,OACpDgE,WAAA96S,KAAA,KAAA82S,GACAuE,aAAAr7S,KAAA,KAAA82S,GACAsE,eAAAp7S,KAAA,KAAA82S,GACAwE,aAAAt7S,KAAA,KAAA82S,KAUA,SAAAmE,EAAAz2S,GACA,OAAAoQ,MAAAxU,QAAAoE,GACAA,MAAA,SAAAnC,GAA8B,OAAUA,MAAAhC,IAAAgC,KACxClC,OAAAitB,KAAA5oB,OAAA,SAAAnC,GAA2C,OAAUA,MAAAhC,IAAAmE,EAAAnC,MAQrD,SAAA04S,EAAAvgT,GACA,gBAAAs8S,EAAAtyS,GAOA,MANA,kBAAAsyS,GACAtyS,EAAAsyS,EACAA,EAAA,IACK,MAAAA,EAAAjtS,OAAAitS,EAAAn8S,OAAA,KACLm8S,GAAA,KAEAt8S,EAAAs8S,EAAAtyS,IAWA,SAAA02S,EAAAr4R,EAAA67D,EAAAo4N,GACA,IAAAh9S,EAAA+oB,EAAA40R,qBAAAX,GAIA,OAAAh9S,EAGA,IAAA0hT,EAAA,CACAvE,QACAr6C,UACA1/I,QAAA,QACA49L,WACAM,eACAC,aACAC,aACAC,2BAGej2R,EAAA,mECh/Bf,IAAAglC,EAAA,WAA0B,IAAAkuP,EAAAphT,KAAaqkT,EAAAjD,EAAAvhD,eAA0BykD,EAAAlD,EAAAmD,MAAAD,IAAAD,EAAwB,OAAAC,EAAA,OAAiBE,YAAA,aAC1GC,EAAA,yDCDA,IAAAC,EAAA,KACA,SAAA74P,EAAAwmB,GAWA,OAVAqyO,IACAA,GACA/5S,OAAAkhD,uBACAlhD,OAAAqhD,6BACArhD,OAAAohD,0BACA,SAAAsmB,GACA,OAAApmB,WAAAomB,EAAA,MAEAzpE,KAAA+B,SAEA+5S,EAAAryO,GAGA,IAAAsyO,EAAA,KACA,SAAAC,EAAA34R,GACA04R,IACAA,GACAh6S,OAAAi6S,sBACAj6S,OAAAk6S,4BACAl6S,OAAAm6S,yBACA,SAAA74R,GACA80D,aAAA90D,KAEArjB,KAAA+B,SAGAg6S,EAAA14R,GAGA,SAAA84R,EAAAC,GACA,IAAAzkT,EAAAqK,SAAAirB,cAAA,SASA,OARAt1B,EAAAJ,KAAA,WAEAI,EAAA0kT,WACA1kT,EAAA0kT,WAAA97L,QAAA67L,EAEAzkT,EAAA6/N,YAAAx1N,SAAAm9N,eAAAi9E,KAEAp6S,SAAAkjQ,cAAA,SAAAljQ,SAAAi9N,MAAAzH,YAAA7/N,GACAA,EAGA,SAAAs1B,EAAA4qM,EAAA57M,EAAA,IACA,IAAAqgS,EAAAt6S,SAAAirB,cAAA4qM,GAIA,OAHA13N,OAAAitB,KAAAnR,GAAAha,QAAAI,IACAi6S,EAAAj6S,GAAA4Z,EAAA5Z,KAEAi6S,EAGA,SAAAtuC,EAAAsuC,EAAA/7P,EAAAg8P,GAIA,IAAAC,EAAAz6S,OAAAisQ,iBAAAsuC,EAAAC,GAAA,QACAzlC,QAAA,QAGA,OAAA0lC,EAAAj8P,GAGA,SAAAk8P,EAAAH,GACA,IAAAt6S,SAAA2/N,gBAAArK,SAAAglF,GACA,OACAI,UAAA,EACAC,UAAA,GAIA,IAAArzO,EAAAgzO,EACA,MAAAhzO,IAAAtnE,SAAA,CACA,YAAAgsQ,EAAA1kM,EAAA,WACA,OACAozO,UAAA,EACAC,UAAA,GAGArzO,IAAA4hJ,WAGA,OACAwxF,UAAA,EACAC,UAAA,GAIA,IAAAC,EAAA,uWAEA,IAAAh3L,EAAA,EACAjuH,EAAA,KAEA,SAAAkiS,EAAAyiB,EAAA7yO,GACA6yO,EAAAO,8BACAP,EAAAO,4BAAAC,EAAA98S,KAAAs8S,IAGA,IAAAniB,EAAAmiB,EAAAS,qBAEA,IAAA5iB,EAEA,GADAmiB,EAAAS,qBAAA,GACAh7S,OAAAi7S,eAAA,CACA,IAAA59E,YAAWA,EAAA69E,gBAA4BX,EACvCvwN,EAAA,IAAAixN,eAAA,MACAV,EAAAY,gCACAZ,EAAAY,+BAAA,EACAZ,EAAAl9E,iBAAAk9E,EAAAW,oBAIAE,EAAAb,MAIAI,SAAWA,EAAAC,YAAqBF,EAAAH,GAChCA,EAAAY,+BAAA,IAAAR,IAAA,IAAAC,EACAL,EAAAc,oBAAArxN,EACAA,EAAAsxN,QAAAf,QACK,GAAAA,EAAAxuC,aAAAwuC,EAAArnO,iBAELqnO,EAAAgB,iCAAA,WACAH,EAAAb,IAEAA,EAAAxuC,YAAA,WAAAwuC,EAAAgB,kCACAt7S,SAAAizE,iBAAA,qBAAAqnO,EAAAO,kCAQA,GANAj3L,IACAjuH,EAAAwkT,EAAAS,IAEAW,EAAAjB,GAEAA,EAAAkB,oBAAAf,EAAAH,GAAAK,SACA56S,OAAA07S,iBAAA,CACA,IAAAC,EAAA,IAAAD,iBAAAnB,EAAAO,6BACAa,EAAAL,QAAAr7S,SAAA,CACAwxB,YAAA,EACAmqR,WAAA,EACAC,eAAA,EACAC,SAAA,IAEAvB,EAAAwB,6BAAAJ,EAKApB,EAAAS,qBAAAhzS,KAAA0/D,GACAm8C,IAGA,SAAAk0K,EAAAwiB,EAAA7yO,GAEA,GAAA6yO,EAAAyB,aAAAzB,EAAAlnO,oBAGA,OAFAknO,EAAAyB,YAAA,WAAAzB,EAAAgB,uCACAt7S,SAAAozE,oBAAA,qBAAAknO,EAAAO,6BAIA,IAAA1iB,EAAAmiB,EAAAS,qBACA5iB,IAGAA,EAAA1xN,OAAA0xN,EAAA33P,QAAAinC,GAAA,GAEA0wN,EAAAx/R,SACA2hT,EAAAc,qBACAd,EAAAc,oBAAAY,UAAA1B,GACAA,EAAAc,oBAAAa,aACA3B,EAAAc,oBAAA,OAEAd,EAAAwB,+BACAxB,EAAAwB,6BAAAG,aACA3B,EAAAwB,6BAAA,MAEAxB,EAAAlnO,oBAAA,SAAA0uL,GACAw4C,EAAA5kF,YAAA4kF,EAAA4B,oBAAAC,UACA7B,EAAA4B,oBAAA,MAEA5B,EAAAS,qBAAA,SAGAn3L,GAAAjuH,GACAA,EAAAuzN,WAAAwM,YAAA//N,IAIA,SAAAymT,EAAA9B,GACA,IAAA5iT,MAAOA,EAAAC,UAAgB2iT,EAAA+B,iBACvBj/E,YAAOA,EAAA69E,gBAA4BX,EACnC,OAAAl9E,IAAA1lO,GAAAujT,IAAAtjT,EACA,CACAD,MAAA0lO,EACAzlO,OAAAsjT,GAGA,KAGA,SAAAH,IAEA,IAAAH,SAAOA,EAAAD,YAAqBD,EAAArlT,MAC5BulT,IAAAvlT,KAAAomT,uBACAd,GAAAtlT,KAAA8mT,sBACAI,EAAAlnT,MACAA,KAAA69E,iBAAA,SAAA6uL,GAAA,IAEA1sQ,KAAAomT,oBAAAb,EACAQ,EAAA/lT,OAIA,SAAA0sQ,IAEAw6C,EAAAlnT,MACAA,KAAAmnT,gBACAvC,EAAA5kT,KAAAmnT,gBAEAnnT,KAAAmnT,eAAAt7P,EAAA,KACA,IAAAkkN,EAAAi3C,EAAAhnT,MACA+vQ,IACA/vQ,KAAAinT,gBAAAl3C,EACAg2C,EAAA/lT,SAKA,SAAA+lT,EAAAb,GACAA,KAAAS,sBAGAT,EAAAS,qBAAA96S,QAAAwnE,IACAA,EAAAtyE,KAAAmlT,KAIA,SAAAiB,EAAAjB,GACA,IAAA5+S,EAAAswQ,EAAAsuC,EAAA,YACA5+S,GAAA,WAAAA,IACA4+S,EAAA3kT,MAAA+F,SAAA,YAGA4+S,EAAAkC,wBAAA9gT,EACA4+S,EAAA+B,gBAAA,GAEA,IAAAF,EAAAlxR,EAAA,OACAuzF,UAAA,oBAEAi+L,EAAAxxR,EAAA,OACAuzF,UAAA,0BAEAk+L,EAAAzxR,EAAA,OACA0xR,EAAA1xR,EAAA,OACAuzF,UAAA,4BAEAi+L,EAAAjnF,YAAAknF,GACAP,EAAA3mF,YAAAinF,GACAN,EAAA3mF,YAAAmnF,GACArC,EAAA9kF,YAAA2mF,GAEA7B,EAAA4B,oBAAA,CACAC,WACAM,SACAC,cACAC,YAGAL,EAAAhC,GACAA,EAAArnO,iBAAA,SAAA6uL,GAAA,GAEAw4C,EAAA+B,gBAAA,CACA3kT,MAAA4iT,EAAAl9E,YACAzlO,OAAA2iT,EAAAW,cAIA,SAAAqB,EAAAhC,GACA,IAAAmC,OAAOA,EAAAC,cAAAC,YAAgCrC,EAAA4B,qBAGhCU,YAAAC,EAAAC,aAAAC,GAAsCJ,GACtCv/E,YAAA4/E,EAAA/B,aAAAgC,EAAAL,YAAAM,EAAAJ,aAAAK,GAA2EV,EAGlFE,EAAAS,WAAAP,EACAF,EAAAU,UAAAN,EACAL,EAAA/mT,MAAA+B,MAAAslT,EAAA,OACAN,EAAA/mT,MAAAgC,OAAAslT,EAAA,OACAR,EAAAW,WAAAF,EACAT,EAAAY,UAAAF,EC/QA,IAAAl4I,EAAA,CACA,sBACA,iBACA,mBACA,eACA,WACA,oBACA,kBACA,sBACA,UACA,kBACA,mBACA,mBACA,cACA,gBACA,mBACA,cACA,gBACA,mBACA,cACA,gBACA,mBACA,qBACA,uBACA,QACA,gBACA,WACA,WACA,QACA,WACA,YACA,WACA,YACA,YACA,UACA,YACA,eAGAq4I,EAAA,qCACAC,EAAA,gCAEAC,EAAA,CACAvjS,MAAA,CACAhV,QAAA9G,OACAs/S,MAAA,CAAA5hL,OAAA19H,QACAu/S,YAAAv/S,OACA08D,MAAAghE,OACA8hL,WAAA1kD,QACA2kD,aAAA3kD,QACA4kD,aAAA5kD,SAEAt4P,KAVA,WAWA,OACAm9S,SAAA,IAGAvF,MAAA,CACA19O,MADA,SACAkjP,GACA3oT,KAAA0nH,MAAAjiD,MAAAkjP,IAGAv6S,QAAA,CAEAw6S,aAFA,SAEA/4S,EAAAslM,EAAA0zG,GACA7oT,KAAAyoT,eACAzoT,KAAA8oT,cAAAj5S,GAGA7P,KAAA0nH,MAGA1nH,KAAA+oT,eAAA,YAAAl5S,EAAAslM,EAAA0zG,GAFA7oT,KAAAkjB,QAOA6B,WAfA,SAeAC,GACAhlB,KAAA+oT,eAAA,aAAA/jS,IAEAq5C,OAlBA,SAkBAxuD,GACA7P,KAAA+oT,eAAA,SAAAl5S,IAEAu9F,eArBA,SAqBA5gF,GACAxsB,KAAA+oT,eAAA,iBAAAv8R,IAEAiwM,eAxBA,SAwBAR,EAAAh4N,GACA,OAAAjE,KAAA+oT,eAAA,iBAAA9sF,EAAAh4N,IAEAy4N,iBA3BA,SA2BAT,EAAAh4N,GACA,OAAAjE,KAAA+oT,eAAA,mBAAA9sF,EAAAh4N,IAEA+kT,aA9BA,SA8BA/sF,EAAAh4N,GACA,OAAAjE,KAAA+oT,eAAA,eAAA9sF,EAAAh4N,IAEAglT,YAjCA,SAiCA9oT,EAAA0P,GACA7P,KAAA+oT,eAAA,cAAA5oT,EAAA0P,IAEAq5S,YApCA,WAqCAlpT,KAAA+oT,eAAA,gBAEAI,WAvCA,SAuCAt5S,GACA,OAAA7P,KAAA+oT,eAAA,aAAAl5S,IAEAu5S,oBA1CA,SA0CAv5S,GACA,OAAA7P,KAAA+oT,eAAA,sBAAAl5S,IAEAnD,MA7CA,WA8CA1M,KAAA+oT,eAAA,UAEAjzS,QAhDA,WAiDA9V,KAAA+oT,eAAA,YAEAA,eAnDA,SAmDAz6S,GAAA,IAAA+6S,EACArpT,KAAA0nH,OACA1nH,KAAAkjB,OAFA,QAAAjX,EAAAtD,UAAApF,OAAAkmD,EAAA,IAAAjsC,MAAAvR,EAAA,EAAAA,EAAA,KAAAoiQ,EAAA,EAAAA,EAAApiQ,EAAAoiQ,IAAA5kN,EAAA4kN,EAAA,GAAA1lQ,UAAA0lQ,GAIA,OAAAg7C,EAAArpT,KAAA0nH,OAAAp5G,GAAA5F,MAAA2gT,EAAA5/P,IAEA6/P,YAzDA,SAyDA7/R,GAIA,OAHAzpB,KAAA0nH,OACA1nH,KAAAkjB,OAEAljB,KAAA0nH,MAAAj+F,MAEA8/R,QA/DA,WAgEA,OAAAvpT,KAAAwpT,IAAAxhF,YAAAhoO,KAAAwpT,IAAA3D,cAEA3iS,KAlEA,WAkEA,IAAAumS,EAAAzpT,KACA,IAAAA,KAAA0nH,MAAA,CAIA,IAAAA,EAAAgiM,EAAAnhT,EAAA2a,KAAAljB,KAAAwpT,IAAAxpT,KAAAqoT,MAAAroT,KAAAsoT,aAEAtoT,KAAAylE,QACAiiD,EAAAjiD,MAAAzlE,KAAAylE,OAGAiiD,EAAA/1F,UAAA3xB,KAAA8oT,eAAA9oT,KAAA6P,SAAA,OAGAggK,EAAAhlK,QAAA,SAAAsM,GACAuwG,EAAA9xG,GAAAuB,EAAA,SAAA6N,GACAykS,EAAAE,MAAAxyS,EAAA6N,OAIAhlB,KAAAuoT,aACAvoT,KAAA0oT,SAAA1oT,KAAAupT,UACAvpT,KAAA4pT,gBAAAC,IAAA,WACA,IAAAJ,EAAAf,UAEAe,EAAAb,aAAA,OACAa,EAAAprP,SACAorP,EAAAb,aAAAa,EAAA55S,SAAA45S,EAAAX,eAAA,QAEAW,EAAAprP,SAEAorP,EAAAf,SAAAe,EAAAF,WACA,KAAAhyG,SAAA,IACAkrF,EAAAziS,KAAAwpT,IAAAxpT,KAAA4pT,kBAGA7gT,OAAAy3B,iBAAAxgC,KAAA,CAIAsC,MAAA,CACAqrB,cAAA,EACAloB,IAAA,WACA,OAAAgkT,EAAAH,YAAA,cAGA/mT,OAAA,CACAorB,cAAA,EACAloB,IAAA,WACA,OAAAgkT,EAAAH,YAAA,eAGAljC,WAAA,CACAz4P,cAAA,EACAloB,IAAA,WACA,QAAAgkT,EAAAH,YAAA,gBAGAQ,gBAAA,CACAn8R,cAAA,EACAloB,IAAA,WACA,OAAAgkT,EAAAH,YAAA,iBAKAtpT,KAAA0nH,UAEAqiM,mBAtIA,WAsIA,IAAAC,EAAAhqT,KACAA,KAAAiqT,mBACAjqT,KAAAiqT,mBACAjqT,KAAAiqT,iBAAA,MAGAjqT,KAAAyoT,eACAzoT,KAAAiqT,iBAAAjqT,KAAA+iT,OAAA,mBAAA95S,EAAAihT,IACAF,EAAAtiM,OAAAz+G,EACA+gT,EAAA9mS,OASA8mS,EAAAtiM,MAAA/1F,UAAA1oB,MAAAihT,IAEA,CAAAlH,MAAAhjT,KAAAwoT,iBAGA2B,QA7JA,WA8JAnqT,KAAAuoT,YACA7lB,EAAA1iS,KAAAwpT,IAAAxpT,KAAA4pT,iBAEA5pT,KAAA8V,UACA9V,KAAA0nH,MAAA,MAEAv0F,QApKA,WAqKAnzB,KAAA0nH,QACA1nH,KAAAmqT,UACAnqT,KAAAkjB,UAIAyjP,QA/LA,WA+LA,IAAAyjD,EAAApqT,KACAA,KAAA+pT,qBAEA7B,EAAAr9S,QAAA,SAAAs+C,GACAihQ,EAAArH,OAAA55P,EAAA,WACAihQ,EAAAj3R,WACA,CAAA6vR,MAAA,MAGAmF,EAAAt9S,QAAA,SAAAs+C,GACAihQ,EAAArH,OAAA55P,EAAA,WACAihQ,EAAAL,qBACAK,EAAAj3R,eAIAk3R,QA/MA,WAiNArqT,KAAA6P,SACA7P,KAAAkjB,QAGA8sP,UArNA,WAsNAhwQ,KAAAuoT,YACAvoT,KAAA0nH,OAAA1nH,KAAA0nH,MAAArpD,UAGAisP,cA1NA,WA2NAtqT,KAAA0nH,OAGA1nH,KAAAmqT,WAEAI,QAhOA,SAgOA9kP,GACA,kBAAAA,IACAA,IAAAr4D,IAAA,SAAAs6G,GAAA,OAAAA,WAEAgiM,EAAAnhT,EAAAgiT,QAAA9kP,IAEAohP,WAtOA,SAsOAphP,GACAikP,EAAAnhT,EAAAiiT,WAAA/kP,IAEA4pI,YAzOA,SAyOA6xF,EAAAG,EAAA7hL,GACAkqM,EAAAnhT,EAAA8mM,YAAA6xF,EAAAG,EAAA7hL,IAEAirM,cA5OA,SA4OAn8S,EAAA+5S,GACAqB,EAAAnhT,EAAAkiT,cAAAn8S,EAAA+5S,IAEAnkT,QAAAwlT,EAAAnhT,EAAArE,SC1SoXwmT,EAAA,0BCQpXjqD,EAAgB13P,OAAA4hT,EAAA,KAAA5hT,CACd2hT,EACAx3P,EACAuxP,GACF,EACA,KACA,KACA,MAIev2R,EAAA,KAAAuyO,+CCjBf,IAAAn1P,EAAYzM,EAAQ,QAEpB6D,EAAAC,QACA2I,EAAAd,uBAGA,WACA,OACAogT,MAAA,SAAAt8S,EAAArK,EAAA4mT,EAAApmP,EAAAszC,EAAA+yM,GACA,IAAAC,EAAA,GACAA,EAAAp4S,KAAArE,EAAA,IAAAizP,mBAAAt9P,IAEAqH,EAAA5B,SAAAmhT,IACAE,EAAAp4S,KAAA,eAAAqlB,KAAA6yR,GAAAG,eAGA1/S,EAAA7B,SAAAg7D,IACAsmP,EAAAp4S,KAAA,QAAA8xD,GAGAn5D,EAAA7B,SAAAsuG,IACAgzM,EAAAp4S,KAAA,UAAAolG,IAGA,IAAA+yM,GACAC,EAAAp4S,KAAA,UAGA/H,SAAAmgT,SAAA/6S,KAAA,OAGAi7S,KAAA,SAAA38S,GACA,IAAAuoB,EAAAjsB,SAAAmgT,OAAAl0R,MAAA,IAAAikM,OAAA,aAA0DxsN,EAAA,cAC1D,OAAAuoB,EAAA4qO,mBAAA5qO,EAAA,UAGArqB,OAAA,SAAA8B,GACAtO,KAAA4qT,MAAAt8S,EAAA,GAAA0pB,KAAAC,MAAA,SA/BA,GAqCA,WACA,OACA2yR,MAAA,aACAK,KAAA,WAA6B,aAC7Bz+S,OAAA,cAJA,2BCzBA,IAAA4U,EAAcviB,EAAQ,QAItBW,GAFA4hB,EAAAC,QAEaxiB,EAAQ,SAErBqsT,EAAYrsT,EAAQ,QAEpBgjF,EAAchjF,EAAQ,QAEtBijF,EAAAD,EAAAC,aAEA82I,EAAkB/5N,EAAQ,QAE1BynN,EAAAsS,EAAAtS,mBACAC,EAAAqS,EAAArS,gBAEAuS,EAAuBj6N,EAAQ,QAE/BonN,EAAuBpnN,EAAQ,QAE/BqnN,EAAAD,EAAAC,oBA6BA,SAAAilG,EAAAr6G,EAAAs6G,EAAArmT,GACA,IAAAmX,EAAAkvS,EAAA3lT,IAAA,UACAnD,EAAAyC,EAAAwJ,WACAhM,EAAAwC,EAAAu5D,YACAwyI,EAAAryL,GAAAqjE,EAAA5lE,EAAA,GAAA5Z,GACAwuM,EAAApyL,GAAAojE,EAAA5lE,EAAA,GAAA3Z,GACA,IAAAizN,EAAA1kB,EAAAu6G,gBACApwS,EAAAvU,KAAAQ,IAAA5E,EAAAC,GAAA,EACA4Z,EAAA2lE,EAAAspO,EAAA3lT,IAAA,UAAAwV,GACAu6M,EAAA3wK,QAAA2wK,EAAAl3G,UAAAniG,EAAA,GAAAq5M,EAAAl3G,UAAA,EAAAniG,GAOA,SAAAmvS,EAAA/wS,EAAAxV,GACA,IAAA+rM,EAAA9wM,KACAy1N,EAAA3kB,EAAA4kB,eACAF,EAAA1kB,EAAAu6G,gBAkBA,GAhBA51F,EAAA19M,MAAAumG,UAAAxkG,UACA07M,EAAAz9M,MAAAumG,UAAAxkG,UACAS,EAAAkkG,WAAA,SAAAnkG,GACA,GAAAA,EAAApV,mBAAA4rM,EAAA,CACA,IAAAvlM,EAAA+O,EAAAE,UACAhb,EAAA2nB,KAAA5b,EAAA8P,aAAA,sBAAAC,GACAk6M,EAAAz9M,MAAAiiN,oBAAAzuN,EAAA26M,EAAA36M,EAAA+P,MAEA9b,EAAA2nB,KAAA5b,EAAA8P,aAAA,qBAAAC,GACAm6M,EAAA19M,MAAAiiN,oBAAAzuN,EAAA26M,EAAA36M,EAAA+P,SAIAirM,EAAAkP,EAAA19M,MAAA09M,EAAA9xM,OACA4iM,EAAAiP,EAAAz9M,MAAAy9M,EAAA7xM,OAEA,aAAA8xM,EAAAt1N,OAAAs1N,EAAA7wE,OAAA,CACA,IAAA7pI,EAAA06M,EAAAz6M,YACA4B,EAAA,IAAA64M,EAAA19M,MAAA4B,QACA87M,EAAA5wK,QAAA9pC,EAAA,IAAA6B,EAAA7B,EAAA,IAAA6B,EACA64M,EAAAn3G,UAAAvjG,EAAA,GAAAA,EAAA,KAWA,SAAAwwS,EAAAvmT,EAAAH,GAMA,GALAG,EAAA7E,KAAA0E,EAAAY,IAAA,QACAT,EAAA+S,MAAAuuM,EAAAzhN,GACAG,EAAA4/I,OAAA//I,EAAAY,IAAA,6BAAAT,EAAA7E,KACA6E,EAAA6/C,QAAAhgD,EAAAY,IAAA,WAEA,cAAAZ,EAAAmnB,SAAA,CACAhnB,EAAA6/C,SAAAhgD,EAAAY,IAAA,aACA,IAAAoZ,EAAAha,EAAAY,IAAA,cACAT,EAAAs5G,UAAAz/F,KAAA7Z,EAAA6/C,SAAA,UAIAhgD,EAAAG,OACAA,EAAA2e,MAAA9e,EA7FAhG,EAAQ,QAgGR,IAAA2sT,EAAA,CACA/yO,WAAAyyO,EAAAjrT,UAAAw4E,WACA3pC,OAAA,SAAAv0B,EAAAxV,GACA,IAAA0mT,EAAA,GA2BA,OA1BAlxS,EAAA8kG,cAAA,iBAAA+rM,EAAAztS,GACA,IAAAmzL,EAAA,IAAAo6G,EAAAvtS,GAEAmzL,EAAAvkL,OAAA++R,EACA,IAAA91F,EAAA1kB,EAAAu6G,gBACA51F,EAAA3kB,EAAA4kB,eACAH,EAAA61F,EAAAM,cAAA,cACAC,EAAAP,EAAAM,cAAA,aACAH,EAAA/1F,EAAAD,GACAg2F,EAAA91F,EAAAk2F,GACAR,EAAAr6G,EAAAs6G,EAAArmT,GACA0mT,EAAA94S,KAAAm+L,GACAs6G,EAAAlmT,iBAAA4rM,EACAA,EAAAntL,MAAAynS,IAGA7wS,EAAAkkG,WAAA,SAAAnkG,GACA,aAAAA,EAAA7U,IAAA,qBACA,IAAA2lT,EAAA7wS,EAAAwR,gBAAA,CACAC,SAAA,QACAnoB,MAAAyW,EAAA7U,IAAA,cACAwmB,GAAA3R,EAAA7U,IAAA,aACS,GACT6U,EAAApV,iBAAAkmT,EAAAlmT,oBAGAumT,IAGA3yF,EAAA9gE,SAAA,QAAAwzJ,yBCtIA,IAAAI,EAAA,OAEAC,EAAA,WACA,OACAh0K,SAAA,CACA4B,UAAA,CACA3yH,MAAA8kS,IAGA9zK,SAAA,CACA2B,UAAA,CACA3yH,MAAA8kS,IAGAt2K,UAAA,CACA74B,UAAA,CACA31F,MAAA8kS,IAGAlyK,UAAA,CACAD,UAAA,CACAt5I,KAAA,SACA2mB,MAAA,SAGAixH,UAAA,CACA4B,UAAA,CACA7yH,MAAA8kS,MAMAE,EAAA,gHACAzD,EAAA,CACAvhS,MAAAglS,EACApvM,gBAAA,OACAp2F,QAAA,CACAsxH,YAAA,CACA6B,UAAA,CACA3yH,MAAA8kS,GAEAhkH,WAAA,CACA9gL,MAAA8kS,KAIAG,OAAA,CACAtvM,UAAA,CACA31F,MAAA8kS,IAGAnvM,UAAA,CACA31F,MAAA8kS,GAEAphH,MAAA,CACA/tF,UAAA,CACA31F,MAAA8kS,IAGArhH,QAAA,CACA8sB,UAAA,CACAxqK,OAAA,CACAg2C,YAAA+oN,KAIA9gH,SAAA,CACAruF,UAAA,CACA31F,MAAA8kS,IAGAviH,UAAA,CACA5sF,UAAA,CACA31F,MAAA8kS,IAGAj1E,SAAA,CACAl9F,UAAA,CACA3yH,MAAA8kS,GAEAtgN,UAAA,CACAz+C,OAAA,CACA/lC,MAAAglS,EAAA,KAGAhnS,MAAA,CACA+nC,OAAA,CACA4vD,UAAA,CACA31F,MAAA8kS,KAIA70E,aAAA,CACAlqL,OAAA,CACA/lC,MAAA8kS,EACA/oN,YAAA+oN,KAIAxzK,SAAAyzK,IACAxzK,QAAAwzK,IACAhxS,UAAAgxS,IACA7zK,aAAA6zK,IACArkT,KAAA,CACAijB,OAAA,UAEA3N,MAAA,CACAgK,MAAAglS,GAEA7/G,MAAA,CACAzB,MAAA,CACA/tF,UAAA,CACA31F,MAAA8kS,KAIAhgH,YAAA,CACAtgG,UAAA,CACAz+C,OAAA,CACA/lC,MAAA,UACAklS,OAAA,UACAnpN,YAAA,UACAopN,aAAA,cAKA5D,EAAArwK,aAAA0B,UAAAx9B,MAAA,EACA,IAAAz5G,EAAA4lT,EACA3lT,EAAAC,QAAAF,0BCpJA,IAAA7D,EAAcC,EAAQ,QA6BtBD,EAAA0tB,eAAA,CACAnsB,KAAA,QACAgX,MAAA,SAGC,SAAAqV,EAAAjS,GACDA,EAAA8kG,cAAA,CACArzF,SAAA,QACAgqH,MAAAxpH,GACG,SAAAorM,GACHA,EAAA+5E,SAAAnlR,EAAAsrM,WAyBAl5N,EAAA0tB,eAAA,CACAnsB,KAAA,cACAgX,MAAA,gBACAoV,OAAA,QACC,sCCxFD,IAAA1pB,EAAehE,EAAQ,QACvB+K,EAAe/K,EAAQ,QACvBqtT,EAA2BrtT,EAAQ,QAEnC6D,EAAAC,QAAA,SAAAgpK,EAAA3pK,GAEA,GADAa,EAAA8oK,GACA/hK,EAAA5H,MAAA9B,cAAAyrK,EAAA,OAAA3pK,EACA,IAAAmqT,EAAAD,EAAAtoT,EAAA+nK,GACA+5C,EAAAymG,EAAAzmG,QAEA,OADAA,EAAA1jN,GACAmqT,EAAA3mG,+BC4BA,IAAAx/C,EAAA,CACAC,OAAA,SACAC,gBAAA,SACAC,2BAAA,UAGA,SAAA1jK,EAAA2uP,EAAAxwJ,GACA,aAAAwwJ,EAAA,CACA,IAAAtwI,EAAAklD,EAAAplE,EAAAtyF,MAEA,GAAAwyG,EAAA,CACA,IAAAjhG,EAAA+gF,EAAA1kF,OACA2D,EAAA,GAAAihG,EAAA,GACAjhG,EAAA,GAAAihG,EAAA,KAKAp+G,EAAAC,QAAAF,0BCxDA,IAAAa,EAAezE,EAAQ,OAARA,CAAgB,YAC/ButT,GAAA,EAEA,IACA,IAAAC,EAAA,IAAA/oT,KACA+oT,EAAA,qBAAiCD,GAAA,GAEjC5uS,MAAA6qC,KAAAgkQ,EAAA,WAAiC,UAChC,MAAAl2S,IAEDzT,EAAAC,QAAA,SAAA4O,EAAA+6S,GACA,IAAAA,IAAAF,EAAA,SACA,IAAAG,GAAA,EACA,IACA,IAAA9uR,EAAA,IACA+uR,EAAA/uR,EAAAn6B,KACAkpT,EAAAzoT,KAAA,WAA6B,OAASC,KAAAuoT,GAAA,IACtC9uR,EAAAn6B,GAAA,WAAiC,OAAAkpT,GACjCj7S,EAAAksB,GACG,MAAAtnB,IACH,OAAAo2S,2BCpBA,IAAAzX,EAAYj2S,EAAQ,QAEpB2c,EAAW3c,EAAQ,QAEnB4gB,EAAW5gB,EAAQ,QAEnB4O,EAAmB5O,EAAQ,QAE3BuiB,EAAcviB,EAAQ,QAEtB8M,EAAAyV,EAAAxV,iBAUAo2N,EAAA,CACA75E,EAAA,EACAh1C,EAAA,EACAw4D,EAAA,EACA64D,EAAA,EACAxG,EAAA,EACAoE,EAAA,EAEAnpG,EAAA,GAWA/xH,EAAA,GACAC,EAAA,GACA+Y,EAAA,GACAC,EAAA,GACAm6E,EAAA5zF,KAAAQ,IACAqzF,EAAA7zF,KAAAS,IACA0xQ,EAAAnyQ,KAAAwY,IACA05P,EAAAlyQ,KAAA0Y,IACA+gO,EAAAz5O,KAAAk+C,KACA7oC,EAAArV,KAAAiR,IACA80S,EAAA,qBAAAjhR,aAMAs2L,EAAA,SAAA4qF,GACA1sT,KAAA2sT,WAAAD,EAEA1sT,KAAA2sT,YAKA3sT,KAAAuL,KAAA,IAGAvL,KAAAioD,KAAA,MAQA65K,EAAA7hO,UAAA,CACAC,YAAA4hO,EACA8qF,IAAA,EACAC,IAAA,EACAC,IAAA,EACAC,IAAA,EAEAC,IAAA,EACAC,IAAA,EACAhhT,KAAA,EACAihT,UAAA,KACAC,YAAA,EACAC,SAAA,EACAC,SAAA,EAKAv5B,SAAA,SAAA9iP,EAAAC,GACAjxC,KAAAgtT,IAAAjxS,EAAA,EAAApQ,EAAAqlC,IAAA,EACAhxC,KAAAitT,IAAAlxS,EAAA,EAAApQ,EAAAslC,IAAA,GAEArjC,WAAA,WACA,OAAA5N,KAAAioD,MAOAy1H,UAAA,SAAAr9K,GAcA,OAbAL,KAAAioD,KAAA5nD,EACAA,KAAAq9K,YACAr9K,IAAAL,KAAA2L,IAAAtL,EAAAsL,KAEA3L,KAAA2sT,YACA3sT,KAAAiM,KAAA,GAGAjM,KAAAktT,YACAltT,KAAAktT,UAAA,KACAltT,KAAAmtT,YAAA,GAGAntT,MAQAqf,OAAA,SAAArd,EAAAC,GAWA,OAVAjC,KAAA45Q,QAAA53C,EAAA75E,EAAAnmJ,EAAAC,GACAjC,KAAAioD,MAAAjoD,KAAAioD,KAAA5oC,OAAArd,EAAAC,GAKAjC,KAAA8sT,IAAA9qT,EACAhC,KAAA+sT,IAAA9qT,EACAjC,KAAA4sT,IAAA5qT,EACAhC,KAAA6sT,IAAA5qT,EACAjC,MAQAsf,OAAA,SAAAtd,EAAAC,GACA,IAAAqrT,EAAAvxS,EAAA/Z,EAAAhC,KAAA4sT,KAAA5sT,KAAAgtT,KAAAjxS,EAAA9Z,EAAAjC,KAAA6sT,KAAA7sT,KAAAitT,KACAjtT,KAAAiM,KAAA,EAYA,OAXAjM,KAAA45Q,QAAA53C,EAAA7uH,EAAAnxG,EAAAC,GAEAjC,KAAAioD,MAAAqlQ,IACAttT,KAAAutT,aAAAvtT,KAAAwtT,cAAAxrT,EAAAC,GAAAjC,KAAAioD,KAAA3oC,OAAAtd,EAAAC,IAGAqrT,IACAttT,KAAA4sT,IAAA5qT,EACAhC,KAAA6sT,IAAA5qT,GAGAjC,MAYA20S,cAAA,SAAA/kP,EAAAC,EAAArwB,EAAAC,EAAAqoC,EAAAC,GASA,OARA/nE,KAAA45Q,QAAA53C,EAAAr2D,EAAA/7G,EAAAC,EAAArwB,EAAAC,EAAAqoC,EAAAC,GAEA/nE,KAAAioD,OACAjoD,KAAAutT,aAAAvtT,KAAAytT,gBAAA79P,EAAAC,EAAArwB,EAAAC,EAAAqoC,EAAAC,GAAA/nE,KAAAioD,KAAA0sP,cAAA/kP,EAAAC,EAAArwB,EAAAC,EAAAqoC,EAAAC,IAGA/nE,KAAA4sT,IAAA9kP,EACA9nE,KAAA6sT,IAAA9kP,EACA/nE,MAUAk7M,iBAAA,SAAAtrJ,EAAAC,EAAArwB,EAAAC,GASA,OARAz/B,KAAA45Q,QAAA53C,EAAAwC,EAAA50K,EAAAC,EAAArwB,EAAAC,GAEAz/B,KAAAioD,OACAjoD,KAAAutT,aAAAvtT,KAAA0tT,mBAAA99P,EAAAC,EAAArwB,EAAAC,GAAAz/B,KAAAioD,KAAAizJ,iBAAAtrJ,EAAAC,EAAArwB,EAAAC,IAGAz/B,KAAA4sT,IAAAptR,EACAx/B,KAAA6sT,IAAAptR,EACAz/B,MAYAuf,IAAA,SAAAd,EAAAC,EAAAE,EAAAC,EAAAC,EAAA6uS,GAKA,OAJA3tT,KAAA45Q,QAAA53C,EAAAhE,EAAAv/M,EAAAC,EAAAE,IAAAC,EAAAC,EAAAD,EAAA,EAAA8uS,EAAA,KACA3tT,KAAAioD,MAAAjoD,KAAAioD,KAAA1oC,IAAAd,EAAAC,EAAAE,EAAAC,EAAAC,EAAA6uS,GACA3tT,KAAA4sT,IAAA/zC,EAAA/5P,GAAAF,EAAAH,EACAze,KAAA6sT,IAAAj0C,EAAA95P,GAAAF,EAAAF,EACA1e,MAGA4tT,MAAA,SAAAh+P,EAAAC,EAAArwB,EAAAC,EAAAtjB,GAKA,OAJAnc,KAAAioD,MACAjoD,KAAAioD,KAAA2lQ,MAAAh+P,EAAAC,EAAArwB,EAAAC,EAAAtjB,GAGAnc,MAGAyB,KAAA,SAAAO,EAAAC,EAAAI,EAAA0e,GAGA,OAFA/gB,KAAAioD,MAAAjoD,KAAAioD,KAAAxmD,KAAAO,EAAAC,EAAAI,EAAA0e,GACA/gB,KAAA45Q,QAAA53C,EAAA/oG,EAAAj3H,EAAAC,EAAAI,EAAA0e,GACA/gB,MAMAwf,UAAA,WACAxf,KAAA45Q,QAAA53C,EAAAI,GACA,IAAA/hO,EAAAL,KAAAioD,KACA2T,EAAA57D,KAAA8sT,IACAjxP,EAAA77D,KAAA+sT,IASA,OAPA1sT,IACAL,KAAAutT,cAAAvtT,KAAAwtT,cAAA5xP,EAAAC,GACAx7D,EAAAmf,aAGAxf,KAAA4sT,IAAAhxP,EACA57D,KAAA6sT,IAAAhxP,EACA77D,MASAU,KAAA,SAAAL,GACAA,KAAAK,OACAV,KAAAglO,YAOArkO,OAAA,SAAAN,GACAA,KAAAM,SACAX,KAAAglO,YAQA4uD,YAAA,SAAA3vD,GACA,GAAAA,aAAAzmN,MAAA,CACAxd,KAAAktT,UAAAjpF,EACAjkO,KAAAotT,SAAA,EAGA,IAFA,IAAAS,EAAA,EAEA9iT,EAAA,EAAqBA,EAAAk5N,EAAA1gO,OAAqBwH,IAC1C8iT,GAAA5pF,EAAAl5N,GAGA/K,KAAAqtT,SAAAQ,EAGA,OAAA7tT,MAQA+zR,kBAAA,SAAAhuO,GAEA,OADA/lD,KAAAmtT,YAAApnQ,EACA/lD,MAOAyM,IAAA,WACA,OAAAzM,KAAAiM,MAMAkP,QAAA,SAAA5P,GACA,IAAAkB,EAAAlB,EAAAhI,OAEAvD,KAAAuL,MAAAvL,KAAAuL,KAAAhI,SAAAkJ,IAAAggT,IACAzsT,KAAAuL,KAAA,IAAAigC,aAAA/+B,IAGA,QAAA1B,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5B/K,KAAAuL,KAAAR,GAAAQ,EAAAR,GAGA/K,KAAAiM,KAAAQ,GAOAyuQ,WAAA,SAAAz2M,GACAA,aAAAjnD,QACAinD,EAAA,CAAAA,IAOA,IAJA,IAAAh4D,EAAAg4D,EAAAlhE,OACAuqT,EAAA,EACA/nQ,EAAA/lD,KAAAiM,KAEAlB,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5B+iT,GAAArpP,EAAA15D,GAAA0B,MAGAggT,GAAAzsT,KAAAuL,gBAAAigC,eACAxrC,KAAAuL,KAAA,IAAAigC,aAAAua,EAAA+nQ,IAGA,IAAA/iT,EAAA,EAAmBA,EAAA0B,EAAS1B,IAG5B,IAFA,IAAAgjT,EAAAtpP,EAAA15D,GAAAQ,KAEAmV,EAAA,EAAqBA,EAAAqtS,EAAAxqT,OAA2Bmd,IAChD1gB,KAAAuL,KAAAw6C,KAAAgoQ,EAAArtS,GAIA1gB,KAAAiM,KAAA85C,GAOA6zN,QAAA,SAAAjgF,GACA,GAAA35L,KAAA2sT,UAAA,CAIA,IAAAphT,EAAAvL,KAAAuL,KAEAvL,KAAAiM,KAAAtD,UAAApF,OAAAgI,EAAAhI,SAGAvD,KAAAguT,cAEAziT,EAAAvL,KAAAuL,MAGA,QAAAR,EAAA,EAAmBA,EAAApC,UAAApF,OAAsBwH,IACzCQ,EAAAvL,KAAAiM,QAAAtD,UAAAoC,GAGA/K,KAAAiuT,SAAAt0H,IAEAq0H,YAAA,WAEA,KAAAhuT,KAAAuL,gBAAAiS,OAAA,CAGA,IAFA,IAAAugP,EAAA,GAEAhzP,EAAA,EAAqBA,EAAA/K,KAAAiM,KAAelB,IACpCgzP,EAAAhzP,GAAA/K,KAAAuL,KAAAR,GAGA/K,KAAAuL,KAAAwyP,IASAwvD,WAAA,WACA,OAAAvtT,KAAAktT,WAEAM,cAAA,SAAA59P,EAAAC,GACA,IAWAq+P,EAEAvwS,EAbAwwS,EAAAnuT,KAAAqtT,SACAtnQ,EAAA/lD,KAAAmtT,YACAlpF,EAAAjkO,KAAAktT,UACA7sT,EAAAL,KAAAioD,KACA2T,EAAA57D,KAAA4sT,IACA/wP,EAAA77D,KAAA6sT,IACA71S,EAAA44C,EAAAgM,EACA3kD,EAAA44C,EAAAgM,EACAl+B,EAAAwiN,EAAAnpO,IAAAC,KACAjV,EAAA45D,EACA35D,EAAA45D,EAEAuyP,EAAAnqF,EAAA1gO,OAEAyT,GAAA2mB,EACA1mB,GAAA0mB,EAEAooB,EAAA,IAEAA,EAAAooQ,EAAApoQ,GAGAA,GAAAooQ,EACAnsT,GAAA+jD,EAAA/uC,EACA/U,GAAA8jD,EAAA9uC,EAEA,MAAAD,EAAA,GAAAhV,GAAA4tD,GAAA54C,EAAA,GAAAhV,GAAA4tD,GAAA,IAAA54C,IAAAC,EAAA,GAAAhV,GAAA4tD,GAAA54C,EAAA,GAAAhV,GAAA4tD,GACAlyC,EAAA3d,KAAAotT,SACAc,EAAAjqF,EAAAtmN,GACA3b,GAAAgV,EAAAk3S,EACAjsT,GAAAgV,EAAAi3S,EACAluT,KAAAotT,UAAAzvS,EAAA,GAAAywS,EAEAp3S,EAAA,GAAAhV,EAAA45D,GAAA5kD,EAAA,GAAAhV,EAAA45D,GAAA3kD,EAAA,GAAAhV,EAAA45D,GAAA5kD,EAAA,GAAAhV,EAAA45D,GAIAx7D,EAAAsd,EAAA,qBAAA3G,GAAA,EAAAsjF,EAAAt4F,EAAA4tD,GAAA2qC,EAAAv4F,EAAA4tD,GAAA34C,GAAA,EAAAqjF,EAAAr4F,EAAA4tD,GAAA0qC,EAAAt4F,EAAA4tD,IAIA74C,EAAAhV,EAAA4tD,EACA34C,EAAAhV,EAAA4tD,EACA7vD,KAAAmtT,aAAAhtE,EAAAnpO,IAAAC,MAGAw2S,gBAAA,SAAA79P,EAAAC,EAAArwB,EAAAC,EAAAqoC,EAAAC,GACA,IAMA3rD,EACApF,EACAC,EAKAjV,EACAC,EAdAksT,EAAAnuT,KAAAqtT,SACAtnQ,EAAA/lD,KAAAmtT,YACAlpF,EAAAjkO,KAAAktT,UACA7sT,EAAAL,KAAAioD,KACA2T,EAAA57D,KAAA4sT,IACA/wP,EAAA77D,KAAA6sT,IAIAjsE,EAAAk0D,EAAAl0D,QACAytE,EAAA,EACA1wS,EAAA3d,KAAAotT,SACAgB,EAAAnqF,EAAA1gO,OAGA+qT,EAAA,EASA,IAPAvoQ,EAAA,IAEAA,EAAAooQ,EAAApoQ,GAGAA,GAAAooQ,EAEA/xS,EAAA,EAAeA,EAAA,EAAOA,GAAA,GACtBpF,EAAA4pO,EAAAhlL,EAAAhM,EAAApwB,EAAAsoC,EAAA1rD,EAAA,IAAAwkO,EAAAhlL,EAAAhM,EAAApwB,EAAAsoC,EAAA1rD,GACAnF,EAAA2pO,EAAA/kL,EAAAhM,EAAApwB,EAAAsoC,EAAA3rD,EAAA,IAAAwkO,EAAA/kL,EAAAhM,EAAApwB,EAAAsoC,EAAA3rD,GACAiyS,GAAAluE,EAAAnpO,IAAAC,KAIA,KAAU0G,EAAAywS,EAAazwS,IAGvB,GAFA2wS,GAAArqF,EAAAtmN,GAEA2wS,EAAAvoQ,EACA,MAIA3pC,GAAAkyS,EAAAvoQ,GAAAsoQ,EAEA,MAAAjyS,GAAA,EACApa,EAAA4+O,EAAAhlL,EAAAhM,EAAApwB,EAAAsoC,EAAA1rD,GACAna,EAAA2+O,EAAA/kL,EAAAhM,EAAApwB,EAAAsoC,EAAA3rD,GAGAuB,EAAA,EAAAtd,EAAAgf,OAAArd,EAAAC,GAAA5B,EAAAif,OAAAtd,EAAAC,GACAma,GAAA6nN,EAAAtmN,GAAA0wS,EACA1wS,KAAA,GAAAywS,EAIAzwS,EAAA,OAAAtd,EAAAif,OAAAwoD,EAAAC,GACA/wD,EAAA8wD,EAAA9lE,EACAiV,EAAA8wD,EAAA9lE,EACAjC,KAAAmtT,aAAAhtE,EAAAnpO,IAAAC,MAEAy2S,mBAAA,SAAA99P,EAAAC,EAAArwB,EAAAC,GAEA,IAAAqoC,EAAAtoC,EACAuoC,EAAAtoC,EACAD,KAAA,EAAAowB,GAAA,EACAnwB,KAAA,EAAAowB,GAAA,EACAD,GAAA5vD,KAAA4sT,IAAA,EAAAh9P,GAAA,EACAC,GAAA7vD,KAAA6sT,IAAA,EAAAh9P,GAAA,EAEA7vD,KAAAytT,gBAAA79P,EAAAC,EAAArwB,EAAAC,EAAAqoC,EAAAC,IAOAi9J,SAAA,WACA,IAAAz5N,EAAAvL,KAAAuL,KAEAA,aAAAiS,QACAjS,EAAAhI,OAAAvD,KAAAiM,KAEAwgT,IACAzsT,KAAAuL,KAAA,IAAAigC,aAAAjgC,MAQAhK,gBAAA,WACA2F,EAAA,GAAAA,EAAA,GAAAgZ,EAAA,GAAAA,EAAA,GAAAF,OAAAC,UACA9Y,EAAA,GAAAA,EAAA,GAAAgZ,EAAA,GAAAA,EAAA,IAAAH,OAAAC,UAOA,IANA,IAAA1U,EAAAvL,KAAAuL,KACAkwL,EAAA,EACAC,EAAA,EACA9/H,EAAA,EACAC,EAAA,EAEA9wD,EAAA,EAAmBA,EAAAQ,EAAAhI,QAAiB,CACpC,IAAAo2L,EAAApuL,EAAAR,KAaA,OAXA,IAAAA,IAKA0wL,EAAAlwL,EAAAR,GACA2wL,EAAAnwL,EAAAR,EAAA,GACA6wD,EAAA6/H,EACA5/H,EAAA6/H,GAGA/B,GACA,KAAAqoC,EAAA75E,EAGAvsF,EAAArwD,EAAAR,KACA8wD,EAAAtwD,EAAAR,KACA0wL,EAAA7/H,EACA8/H,EAAA7/H,EACA37C,EAAA,GAAA07C,EACA17C,EAAA,GAAA27C,EACA17C,EAAA,GAAAy7C,EACAz7C,EAAA,GAAA07C,EACA,MAEA,KAAAmmK,EAAA7uH,EACA1zF,EAAA8uS,SAAA9yH,EAAAC,EAAAnwL,EAAAR,GAAAQ,EAAAR,EAAA,GAAAmV,EAAAC,GACAs7K,EAAAlwL,EAAAR,KACA2wL,EAAAnwL,EAAAR,KACA,MAEA,KAAAi3N,EAAAr2D,EACAlsJ,EAAA+uS,UAAA/yH,EAAAC,EAAAnwL,EAAAR,KAAAQ,EAAAR,KAAAQ,EAAAR,KAAAQ,EAAAR,KAAAQ,EAAAR,GAAAQ,EAAAR,EAAA,GAAAmV,EAAAC,GACAs7K,EAAAlwL,EAAAR,KACA2wL,EAAAnwL,EAAAR,KACA,MAEA,KAAAi3N,EAAAwC,EACA/kN,EAAAgvS,cAAAhzH,EAAAC,EAAAnwL,EAAAR,KAAAQ,EAAAR,KAAAQ,EAAAR,GAAAQ,EAAAR,EAAA,GAAAmV,EAAAC,GACAs7K,EAAAlwL,EAAAR,KACA2wL,EAAAnwL,EAAAR,KACA,MAEA,KAAAi3N,EAAAhE,EAEA,IAAAv/M,EAAAlT,EAAAR,KACA2T,EAAAnT,EAAAR,KACA2tK,EAAAntK,EAAAR,KACA4tK,EAAAptK,EAAAR,KACA8T,EAAAtT,EAAAR,KACA+T,EAAAvT,EAAAR,KAAA8T,EAEA9T,GAAA,EACA,IAAA4iT,EAAA,EAAApiT,EAAAR,KAEA,IAAAA,IAGA6wD,EAAAi9M,EAAAh6P,GAAA65J,EAAAj6J,EACAo9C,EAAA+8M,EAAA/5P,GAAA85J,EAAAj6J,GAGAe,EAAAivS,QAAAjwS,EAAAC,EAAAg6J,EAAAC,EAAA95J,EAAAC,EAAA6uS,EAAAztS,EAAAC,GACAs7K,EAAAo9E,EAAA/5P,GAAA45J,EAAAj6J,EACAi9K,EAAAk9E,EAAA95P,GAAA65J,EAAAj6J,EACA,MAEA,KAAAsjN,EAAA/oG,EACAr9D,EAAA6/H,EAAAlwL,EAAAR,KACA8wD,EAAA6/H,EAAAnwL,EAAAR,KACA,IAAAzI,EAAAiJ,EAAAR,KACAxI,EAAAgJ,EAAAR,KAEA0U,EAAA8uS,SAAA3yP,EAAAC,EAAAD,EAAAt5D,EAAAu5D,EAAAt5D,EAAA2d,EAAAC,GACA,MAEA,KAAA6hN,EAAAI,EACA3mC,EAAA7/H,EACA8/H,EAAA7/H,EACA,MAIArgD,EAAAtU,QAAAgZ,GACA1E,EAAArU,QAAAgZ,GAQA,OAJA,IAAApV,IACA7D,EAAA,GAAAA,EAAA,GAAAC,EAAA,GAAAA,EAAA,MAGA,IAAAsG,EAAAvG,EAAA,GAAAA,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,KAQA0zQ,YAAA,SAAAv6Q,GASA,IARA,IACAu7D,EAAAC,EACA4/H,EAAAC,EACA15L,EAAAC,EAHAua,EAAAxc,KAAAuL,KAIAojT,EAAA3uT,KAAAgtT,IACA4B,EAAA5uT,KAAAitT,IACAxgT,EAAAzM,KAAAiM,KAEAlB,EAAA,EAAmBA,EAAA0B,GAAS,CAC5B,IAAAktL,EAAAn9K,EAAAzR,KAaA,OAXA,IAAAA,IAKA0wL,EAAAj/K,EAAAzR,GACA2wL,EAAAl/K,EAAAzR,EAAA,GACA6wD,EAAA6/H,EACA5/H,EAAA6/H,GAGA/B,GACA,KAAAqoC,EAAA75E,EACAvsF,EAAA6/H,EAAAj/K,EAAAzR,KACA8wD,EAAA6/H,EAAAl/K,EAAAzR,KACA1K,EAAAgf,OAAAo8K,EAAAC,GACA,MAEA,KAAAsmC,EAAA7uH,EACAnxG,EAAAwa,EAAAzR,KACA9I,EAAAua,EAAAzR,MAEAgR,EAAA/Z,EAAAy5L,GAAAkzH,GAAA5yS,EAAA9Z,EAAAy5L,GAAAkzH,GAAA7jT,IAAA0B,EAAA,KACApM,EAAAif,OAAAtd,EAAAC,GACAw5L,EAAAz5L,EACA05L,EAAAz5L,GAGA,MAEA,KAAA+/N,EAAAr2D,EACAtrK,EAAAs0S,cAAAn4R,EAAAzR,KAAAyR,EAAAzR,KAAAyR,EAAAzR,KAAAyR,EAAAzR,KAAAyR,EAAAzR,KAAAyR,EAAAzR,MACA0wL,EAAAj/K,EAAAzR,EAAA,GACA2wL,EAAAl/K,EAAAzR,EAAA,GACA,MAEA,KAAAi3N,EAAAwC,EACAnkO,EAAA66M,iBAAA1+L,EAAAzR,KAAAyR,EAAAzR,KAAAyR,EAAAzR,KAAAyR,EAAAzR,MACA0wL,EAAAj/K,EAAAzR,EAAA,GACA2wL,EAAAl/K,EAAAzR,EAAA,GACA,MAEA,KAAAi3N,EAAAhE,EACA,IAAAv/M,EAAAjC,EAAAzR,KACA2T,EAAAlC,EAAAzR,KACA2tK,EAAAl8J,EAAAzR,KACA4tK,EAAAn8J,EAAAzR,KACAyuB,EAAAhd,EAAAzR,KACA4uQ,EAAAn9P,EAAAzR,KACAsuQ,EAAA78P,EAAAzR,KACAouQ,EAAA38P,EAAAzR,KACA6T,EAAA85J,EAAAC,EAAAD,EAAAC,EACArjE,EAAAojE,EAAAC,EAAA,EAAAD,EAAAC,EACApjE,EAAAmjE,EAAAC,IAAAD,EAAA,EACAm2I,EAAAnoT,KAAAiR,IAAA+gK,EAAAC,GAAA,KACA75J,EAAA0a,EAAAmgP,EAEAk1C,GACAxuT,EAAAswC,UAAAlyB,EAAAC,GACAre,EAAAiwC,OAAA+oO,GACAh5Q,EAAA0X,MAAAu9F,EAAAC,GACAl1G,EAAAkf,IAAA,IAAAX,EAAA4a,EAAA1a,EAAA,EAAAq6P,GACA94Q,EAAA0X,MAAA,EAAAu9F,EAAA,EAAAC,GACAl1G,EAAAiwC,QAAA+oO,GACAh5Q,EAAAswC,WAAAlyB,GAAAC,IAEAre,EAAAkf,IAAAd,EAAAC,EAAAE,EAAA4a,EAAA1a,EAAA,EAAAq6P,GAGA,IAAApuQ,IAGA6wD,EAAAi9M,EAAAr/O,GAAAk/I,EAAAj6J,EACAo9C,EAAA+8M,EAAAp/O,GAAAm/I,EAAAj6J,GAGA+8K,EAAAo9E,EAAA/5P,GAAA45J,EAAAj6J,EACAi9K,EAAAk9E,EAAA95P,GAAA65J,EAAAj6J,EACA,MAEA,KAAAsjN,EAAA/oG,EACAr9D,EAAA6/H,EAAAj/K,EAAAzR,GACA8wD,EAAA6/H,EAAAl/K,EAAAzR,EAAA,GACA1K,EAAAoB,KAAA+a,EAAAzR,KAAAyR,EAAAzR,KAAAyR,EAAAzR,KAAAyR,EAAAzR,MACA,MAEA,KAAAi3N,EAAAI,EACA/hO,EAAAmf,YACAi8K,EAAA7/H,EACA8/H,EAAA7/H,MAKAimK,EAAAE,MACA,IAAAv/N,EAAAq/N,EACAp/N,EAAAC,QAAAF,0BCtuBA,IAAA7D,EAAcC,EAAQ,QAEtBiwT,EAAqBjwT,EAAQ,QAoB7BkwT,EAAAnwT,EAAAu7I,oBAAA,CACAh6I,KAAA,cACA+yD,OAAA,SAAA87P,EAAAz0S,EAAAxV,GACA,IAAAkqT,EAAA10S,EAAAmS,aAAA,WACA06K,EAAA4nH,EAAAvpT,IAAA,cAAAwpT,KAAAxpT,IAAA,gCAGAqpT,EAAA92J,SAAA,cAAAjzJ,EAAA,SAAAmqT,EAAA/4S,EAAAi3F,GAEA,SAAAg6F,IAAA,UAAA8nH,GAAA9nH,EAAAh8J,QAAA8jR,IAAA,IACA9hN,EAAA,CACAjtG,KAAA,oBACA+uT,cACAltT,EAAAmU,KAAAI,QACAtU,EAAAkU,KAAAK,aASAhK,OAAA,SAAA+N,EAAAxV,GACA+pT,EAAAlP,WAAA76S,EAAA2sB,QAAA,eACAq9R,EAAAzoJ,WAAAtmK,KAAAm7I,OAAA,SAAAxyI,YAMAmN,QAAA,SAAAyE,EAAAxV,GACA+pT,EAAAlP,WAAA,cAAA76S,GACAgqT,EAAAzoJ,WAAAtmK,KAAAm7I,OAAA,UAAAxyI,cAGAlG,EAAAssT,EACArsT,EAAAC,QAAAF,0BC3DA,IAAA0sT,EAAkBtwT,EAAQ,QAE1BqF,EAAcrF,EAAQ,QAEtBmxM,EAAgBnxM,EAAQ,QAExBgjF,EAAchjF,EAAQ,QAEtBijF,EAAAD,EAAAC,aACA5nE,EAAA2nE,EAAA3nE,MACA49F,EAAAj2B,EAAAi2B,UAoBA,SAAAs3M,EAAA90S,EAAAvV,GACA,IAAAmX,EAAA5B,EAAA7U,IAAA,UACAnD,EAAAyC,EAAAwJ,WACAhM,EAAAwC,EAAAu5D,YACArjD,EAAAvU,KAAAQ,IAAA5E,EAAAC,GACAkc,EAAAqjE,EAAA5lE,EAAA,GAAAnX,EAAAwJ,YACAmQ,EAAAojE,EAAA5lE,EAAA,GAAAnX,EAAAu5D,aACA1/C,EAAAkjE,EAAAxnE,EAAA7U,IAAA,UAAAwV,EAAA,GACA,OACAwD,KACAC,KACAE,KAIA,SAAAywS,EAAAvqS,EAAA81O,GASA,OARAA,IACA,kBAAAA,EACA91O,EAAA81O,EAAArwP,QAAA,UAA6C,MAAAua,IAAA,IACxC,oBAAA81O,IACL91O,EAAA81O,EAAA91O,KAIAA,EAGA,IAAAwqS,EAAA,EAAA5oT,KAAAC,GACA4oT,EAAAv/G,EAAAtrM,OAAA,CACAvE,KAAA,QACA+yD,OAAA,SAAA54C,EAAAC,EAAAxV,GACA/E,KAAAylE,MAAApB,YACA,IAAAmrP,EAAAl1S,EAAA7U,IAAA,4BACAgyS,EAAA2X,EAAA90S,EAAAvV,GAEA/E,KAAAyvT,YAAAn1S,EAAAC,EAAAxV,EAAAyqT,EAAA/X,IAEA3hS,QAAA,aACA25S,YAAA,SAAAn1S,EAAAC,EAAAxV,EAAAyqT,EAAA/X,GAWA,IAVA,IAAAhyO,EAAAzlE,KAAAylE,MACAo8E,EAAAvnI,EAAAqgB,SAAA,YACAyjH,EAAAyD,EAAAlnH,SAAA,aACA5b,EAAAzE,EAAA7U,IAAA,aACAoZ,GAAAvE,EAAA7U,IAAA,kBAAAiB,KAAAC,GACAmY,GAAAxE,EAAA7U,IAAA,gBAAAiB,KAAAC,GACA+oT,GAAA5wS,EAAAD,GAAAywS,EACAK,EAAA9wS,EACA+wS,EAAAxxK,EAAA34I,IAAA,SAEAsF,EAAA,EAAmBA,EAAAykT,EAAAjsT,OAAsBwH,IAAA,CAEzC,IAAAotG,EAAAzxG,KAAAQ,IAAAR,KAAAS,IAAAqoT,EAAAzkT,GAAA,SAEAknN,GADAnzM,EAAAD,EAAA6wS,EAAAv3M,EACA,IAAAj0G,EAAAguN,OAAA,CACAtqN,MAAA,CACAiX,WAAA8wS,EACA7wS,WACAL,GAAAg5R,EAAAh5R,GACAC,GAAA+4R,EAAA/4R,GACAK,YACAJ,GAAA84R,EAAA74R,EAAAgxS,EACAhxS,EAAA64R,EAAA74R,GAEAyoG,QAAA,KAEA4qG,EAAAzqG,SAAA,CACA9mH,KAAA8uT,EAAAzkT,GAAA,KAEAknN,EAAAzqG,SAAA42B,EAAAq8D,aAEA,wCACAh1I,EAAAloC,IAAA00L,GACA09F,EAAA7wS,EAGA,IAAA+wS,EAAA,SAAA13M,GAEA,GAAAA,GAAA,EACA,OAAAq3M,EAAA,MAGA,QAAAzkT,EAAA,EAAqBA,EAAAykT,EAAAjsT,OAAsBwH,IAC3C,GAAAykT,EAAAzkT,GAAA,IAAAotG,IAAA,IAAAptG,EAAA,EAAAykT,EAAAzkT,EAAA,OAAAotG,EACA,OAAAq3M,EAAAzkT,GAAA,GAKA,OAAAykT,EAAAzkT,EAAA,OAGA,IAAAgU,EAAA,CACA,IAAAoxC,EAAAtxC,EACAA,EAAAC,EACAA,EAAAqxC,EAGAnwD,KAAA8vT,aAAAx1S,EAAAC,EAAAxV,EAAA8qT,EAAApY,EAAA54R,EAAAC,EAAAC,GAEA/e,KAAA+vT,eAAAz1S,EAAAC,EAAAxV,EAAA8qT,EAAApY,EAAA54R,EAAAC,EAAAC,GAEA/e,KAAAgwT,aAAA11S,EAAAC,EAAAxV,EAAA8qT,EAAApY,GAEAz3S,KAAAiwT,cAAA31S,EAAAC,EAAAxV,EAAA8qT,EAAApY,IAEAqY,aAAA,SAAAx1S,EAAAC,EAAAxV,EAAA8qT,EAAApY,EAAA54R,EAAAC,EAAAC,GAoBA,IAnBA,IAAA0mD,EAAAzlE,KAAAylE,MACAhnD,EAAAg5R,EAAAh5R,GACAC,EAAA+4R,EAAA/4R,GACAE,EAAA64R,EAAA74R,EACAsxS,GAAA51S,EAAA7U,IAAA,OACA0qT,GAAA71S,EAAA7U,IAAA,OACA66I,EAAAhmI,EAAAqgB,SAAA,aACA+lH,EAAApmI,EAAAqgB,SAAA,YACA+uE,EAAApvF,EAAAqgB,SAAA,aACAw9G,EAAA79H,EAAA7U,IAAA,eACA2qT,EAAA1vK,EAAAj7I,IAAA,eACA4qT,EAAAvuO,EAAAw+D,EAAA76I,IAAA,UAAAmZ,GACA0xS,EAAAxuO,EAAA4+D,EAAAj7I,IAAA,UAAAmZ,GACAqnC,EAAApnC,EACArb,GAAAsb,EAAAD,GAAAs5H,EACAo4K,EAAA/sT,EAAA4sT,EACAI,EAAAlwK,EAAA3lH,SAAA,aAAA8/K,eACAg2G,EAAA/vK,EAAA/lH,SAAA,aAAA8/K,eAEA1vM,EAAA,EAAmBA,GAAAotI,EAAkBptI,IAAA,CACrC,IAAAkU,EAAAvY,KAAAwY,IAAA+mC,GACA9mC,EAAAzY,KAAA0Y,IAAA6mC,GAEA,GAAAq6F,EAAA76I,IAAA,SACA,IAAAi0I,EAAA,IAAAx1I,EAAAupM,KAAA,CACA7lM,MAAA,CACAgoD,GAAA3wC,EAAAL,EAAAH,EACAoxC,GAAA1wC,EAAAP,EAAAF,EACA8gB,GAAAvgB,GAAAL,EAAAyxS,GAAA5xS,EACAghB,GAAAtgB,GAAAP,EAAAyxS,GAAA3xS,GAEAne,MAAAiwT,EACAnpM,QAAA,IAGA,SAAAmpM,EAAA7vT,QACA+4I,EAAAlyB,SAAA,CACA7mH,OAAAkvT,EAAA9kT,EAAAotI,KAIA1yE,EAAAloC,IAAAm8G,GAIA,GAAAhwC,EAAAjkG,IAAA,SACA,IAAAqf,EAAAuqS,EAAAn1S,EAAAnP,EAAAotI,GAAAg4K,EAAAD,MAAAxmN,EAAAjkG,IAAA,cACA+J,EAAAk6F,EAAAjkG,IAAA,YACAsuM,EAAA87G,EAAA9kT,EAAAotI,GACA1yE,EAAAloC,IAAA,IAAAr5B,EAAArE,KAAA,CACAU,MAAA2D,EAAA2lG,aAAA,GAAwCH,EAAA,CACxC1oG,KAAA8jB,EACA9iB,EAAAid,GAAAL,EAAAyxS,EAAA7gT,GAAAiP,EACAxc,EAAAkd,GAAAP,EAAAyxS,EAAA7gT,GAAAkP,EACA9c,kBAAAud,GAAA,SAAAA,EAAA,qBACAxd,UAAAsd,GAAA,UAAAA,EAAA,qBACW,CACX80L,cAEA1sF,QAAA,KAKA,GAAAq5B,EAAAj7I,IAAA,SAAAsF,IAAAotI,EAAA,CACA,QAAAznI,EAAA,EAAuBA,GAAA0/S,EAAqB1/S,IAAA,CAC5CuO,EAAAvY,KAAAwY,IAAA+mC,GACA9mC,EAAAzY,KAAA0Y,IAAA6mC,GADA,IAEAyqQ,EAAA,IAAAxsT,EAAAupM,KAAA,CACA7lM,MAAA,CACAgoD,GAAA3wC,EAAAL,EAAAH,EACAoxC,GAAA1wC,EAAAP,EAAAF,EACA8gB,GAAAvgB,GAAAL,EAAA0xS,GAAA7xS,EACAghB,GAAAtgB,GAAAP,EAAA0xS,GAAA5xS,GAEA2oG,QAAA,EACA9mH,MAAAkwT,IAGA,SAAAA,EAAA9vT,QACA+vT,EAAAlpM,SAAA,CACA7mH,OAAAkvT,GAAA9kT,EAAA2F,EAAA0/S,GAAAj4K,KAIA1yE,EAAAloC,IAAAmzR,GACAzqQ,GAAAsqQ,EAGAtqQ,GAAAsqQ,OAEAtqQ,GAAAziD,IAIAusT,eAAA,SAAAz1S,EAAAC,EAAAxV,EAAA8qT,EAAApY,EAAA54R,EAAAC,EAAAC,GACA,IAAA0mD,EAAAzlE,KAAAylE,MACAswI,EAAA/1M,KAAA+gG,MAEA,GAAAzmF,EAAA7U,IAAA,iBAQA,IAAAkrT,EAAA,EAAAr2S,EAAA7U,IAAA,QAAA6U,EAAA7U,IAAA,QACAmrT,EAAA,CAAA/xS,EAAAC,GACAvT,EAAA+O,EAAAE,UACA24J,EAAA5nK,EAAA8P,aAAA,SACA9P,EAAAqR,KAAAm5L,GAAAx4K,IAAA,SAAA5f,GACA,IAAA5X,EAAA,IAAAopT,EAAA,CACAvnT,MAAA,CACAq+C,MAAApnC,KAGA3a,EAAAiuM,UAAApsM,EAAA,CACA6B,MAAA,CACAq+C,MAAA6xD,EAAAvsG,EAAA9F,IAAA0tK,EAAAx1J,GAAAgzS,EAAAC,GAAA,KAEOt2S,GACPmrD,EAAAloC,IAAAx3B,GACAwF,EAAAgpM,iBAAA52L,EAAA5X,KACKwmB,OAAA,SAAAypL,EAAAC,GACL,IAAAlwM,EAAAgwM,EAAA5nB,iBAAA8nB,GACA/xM,EAAAkuM,YAAArsM,EAAA,CACA6B,MAAA,CACAq+C,MAAA6xD,EAAAvsG,EAAA9F,IAAA0tK,EAAA6iC,GAAA26G,EAAAC,GAAA,KAEOt2S,GACPmrD,EAAAloC,IAAAx3B,GACAwF,EAAAgpM,iBAAAyB,EAAAjwM,KACKyG,OAAA,SAAAmR,GACL,IAAA5X,EAAAgwM,EAAA5nB,iBAAAxwK,GACA8nD,EAAAj5D,OAAAzG,KACK0vM,UACLlqM,EAAAqpN,kBAAA,SAAA7uN,EAAA4X,GACA,IAAAuN,EAAA3f,EAAA4f,aAAAxN,GACAqwM,EAAA9iM,EAAAyP,SAAA,WACA50B,EAAA2zM,SAAA,CACA13M,EAAAy1S,EAAAh5R,GACAxc,EAAAw1S,EAAA/4R,GACApc,MAAAw/E,EAAAksI,EAAAvoN,IAAA,SAAAgyS,EAAA74R,GACAA,EAAAkjE,EAAAksI,EAAAvoN,IAAA,UAAAgyS,EAAA74R,KAEA7Y,EAAAksM,SAAA/mL,EAAAyP,SAAA,aAAA4wE,gBAEA,SAAAxlG,EAAAxF,MAAAG,MACAqF,EAAAyhH,SAAA,OAAAqoM,EAAA/3M,EAAAvsG,EAAA9F,IAAA0tK,EAAAx1J,GAAAgzS,EAAA,YAGAzsT,EAAA41M,cAAA/zM,EAAAmlB,EAAAyP,SAAA,sBAAA4wE,kBAEAvrG,KAAA+gG,MAAAx1F,OArDAwqM,KAAA6e,kBAAA,SAAA7jL,GACA00B,EAAAj5D,OAAAukC,MAsDAi/Q,aAAA,SAAA11S,EAAAC,EAAAxV,EAAA8qT,EAAApY,GACA,IAAAlsS,EAAA+O,EAAAE,UACA24J,EAAA5nK,EAAA8P,aAAA,SACAoxN,EAAAnyN,EAAAqgB,SAAA,SAEA,GAAA8xM,EAAAhnO,IAAA,SACA,IAAAuzS,EAAAvsE,EAAAhnO,IAAA,gBACAzD,EAAAy1S,EAAAh5R,GAAAqjE,EAAAk3N,EAAA,GAAAvB,EAAA74R,GACA3c,EAAAw1S,EAAA/4R,GAAAojE,EAAAk3N,EAAA,GAAAvB,EAAA74R,GACAsxS,GAAA51S,EAAA7U,IAAA,OACA0qT,GAAA71S,EAAA7U,IAAA,OACAxB,EAAAqW,EAAAE,UAAA/U,IAAA0tK,EAAA,GACA4gC,EAAA87G,EAAA/3M,EAAA7zG,EAAA,CAAAisT,EAAAC,GAAA,WACAnwT,KAAAylE,MAAAloC,IAAA,IAAAr5B,EAAArE,KAAA,CACAwnH,QAAA,EACA9mH,MAAA2D,EAAA2lG,aAAA,GAAsC4iI,EAAA,CACtCzqO,IACAC,IAEAjB,KAAAuK,EAAAqc,QAAA,GACAjmB,UAAA,SACAC,kBAAA,UACS,CACTmyM,YACA88G,WAAA,SAKAZ,cAAA,SAAA31S,EAAAC,EAAAxV,EAAA8qT,EAAApY,GACA,IAAAqZ,EAAAx2S,EAAAqgB,SAAA,UACAu1R,GAAA51S,EAAA7U,IAAA,OACA0qT,GAAA71S,EAAA7U,IAAA,OAEA,GAAAqrT,EAAArrT,IAAA,SACA,IAAAuzS,EAAA8X,EAAArrT,IAAA,gBACAzD,EAAAy1S,EAAAh5R,GAAAqjE,EAAAk3N,EAAA,GAAAvB,EAAA74R,GACA3c,EAAAw1S,EAAA/4R,GAAAojE,EAAAk3N,EAAA,GAAAvB,EAAA74R,GACAtc,EAAAw/E,EAAAgvO,EAAArrT,IAAA,SAAAgyS,EAAA74R,GACArc,EAAAu/E,EAAAgvO,EAAArrT,IAAA,UAAAgyS,EAAA74R,GACArT,EAAA+O,EAAAE,UACAvW,EAAAsH,EAAA9F,IAAA8F,EAAA8P,aAAA,YACA04L,EAAA87G,EAAA/3M,EAAA7zG,EAAA,CAAAisT,EAAAC,GAAA,WACAnwT,KAAAylE,MAAAloC,IAAA,IAAAr5B,EAAArE,KAAA,CACAwnH,QAAA,EACA9mH,MAAA2D,EAAA2lG,aAAA,GAAsCinN,EAAA,CACtC9uT,IACAC,IACAjB,KAAAquT,EACAprT,EAAA6sT,EAAArrT,IAAA,cACA6M,UAAAsH,MAAAtX,GAAA,KAAAA,EACA+P,WAAAuH,MAAArX,GAAA,KAAAA,EACAZ,UAAA,SACAC,kBAAA,UACS,CACTmyM,YACA88G,WAAA,WAMApuT,EAAA8sT,EACA7sT,EAAAC,QAAAF,0BCvXA,IAAAqyS,EAAYj2S,EAAQ,QAiBpB,SAAAg8K,EAAAj/G,EAAAC,EAAAjM,EAAAC,EAAArwB,EAAAC,EAAAqoC,EAAAC,EAAAt3D,EAAAzO,EAAAC,GACA,OAAAwO,EACA,SAGA,IAAAuqK,EAAAvqK,EAEA,GAAAxO,EAAA45D,EAAAm/G,GAAA/4K,EAAA4tD,EAAAmrH,GAAA/4K,EAAAw9B,EAAAu7I,GAAA/4K,EAAA8lE,EAAAizG,GAAA/4K,EAAA45D,EAAAm/G,GAAA/4K,EAAA4tD,EAAAmrH,GAAA/4K,EAAAw9B,EAAAu7I,GAAA/4K,EAAA8lE,EAAAizG,GAAAh5K,EAAA45D,EAAAo/G,GAAAh5K,EAAA4tD,EAAAorH,GAAAh5K,EAAAw9B,EAAAw7I,GAAAh5K,EAAA8lE,EAAAkzG,GAAAh5K,EAAA45D,EAAAo/G,GAAAh5K,EAAA4tD,EAAAorH,GAAAh5K,EAAAw9B,EAAAw7I,GAAAh5K,EAAA8lE,EAAAkzG,EACA,SAGA,IAAAx+J,EAAAs4R,EAAA/yD,kBAAAnmL,EAAAC,EAAAjM,EAAAC,EAAArwB,EAAAC,EAAAqoC,EAAAC,EAAA/lE,EAAAC,EAAA,MACA,OAAAua,GAAAw+J,EAAA,EAGAr4K,EAAAk4K,wCCZA,IAAAr7K,EAAaX,EAAQ,QAErB+iB,EAAgB/iB,EAAQ,QAExBgjB,EAAqBhjB,EAAQ,QAE7B6jJ,EAAY7jJ,EAAQ,QAEpBkyT,EAAsBlyT,EAAQ,QAE9BmyT,EAAiBnyT,EAAQ,QAoBzBoyT,EAAApvS,EAAAnd,OAAA,CACAvE,KAAA,MAKA+E,iBAAA,KACA+d,WAAA,MACAC,KAAA,SAAAC,GACAtB,EAAA5hB,UAAAijB,KAAAxa,MAAA1I,KAAA2I,WAEAiZ,EAAA2C,gBAAApB,EAAA,mBAEAi0H,cAAA,WACA,IAAAj0H,EAAAnjB,KAAAmjB,OACAukB,EAAA1nC,KACAmjB,EAAAw4F,QAAAq1M,EAAAt1M,iBAAAv4F,EAAAw4F,QAAAx4F,EAAA/V,IAAA+V,EAAA68F,SACAhgH,KAAAkxT,gBAAA1xT,EAAA2mB,OAAAhD,EAAAw4F,SAAA,YAAAw1M,EAAAC,GAKA,OAJAA,EAAA9iT,MACA6iT,EAAA/9R,IAAAg+R,EAAA9iT,KAAA,IAAAo0I,EAAA0uK,EAAA1pR,IAGAypR,GACK3xT,EAAAqrD,iBACL7qD,KAAAqxT,kBAAAluS,EAAAw4F,UAEA74F,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EACA++E,MAAA,EACA5sE,KAAA,SACAG,IAAA,SASA6hR,YAAA,KAMAjqM,QAAA,EAEAj6G,IAAA,GAGAmkT,eAAA,KAEAr1S,OAAA,KACA8lG,KAAA,EACAwvM,WAAA,KAEA1sS,MAAA,CACAo3F,MAAA,EACAp1F,MAAA,QAEAwkF,UAAA,CAEAsR,YAAA,GACA/Z,YAAA,OACA/7E,MAAA,QAEA+1F,SAAA,CACA/3F,MAAA,CACAo3F,MAAA,EACAp1F,MAAA,gBAEAwkF,UAAA,CACAxkF,MAAA,wBAGA60F,QAAA,IAQAjZ,eAAA,SAAAp0F,GACA,OAAAtO,KAAAkxT,gBAAAzrT,IAAA6I,IAAA,IAAAo0I,EAAA,KAAA1iJ,UAAAua,UASAq1D,kBAAA,SAAAthE,EAAAqpD,GACA,IAAA8qC,EAAAziG,KAAA0iG,eAAAp0F,GACAuhE,EAAA4yB,EAAAh9F,IAAA,SAAAkyD,EAAA,cACA3yC,EAAA,CACA1W,QAGA,0BAAAuhE,GACA7qD,EAAA2yC,SACAkY,EAAA7qD,IACK,kBAAA6qD,EACLA,EAAAtlE,QAAA,MAAmC,MAAA+D,IAAA,SAD9B,GAILogK,QAAA,SAAA1sD,GACAhiH,KAAAmjB,OAAA6+F,QAEApjC,UAAA,SAAA1iE,GACAlc,KAAAmjB,OAAAjH,YAGA1c,EAAAoZ,MAAAq4S,EAAAF,GACA,IAAAtuT,EAAAwuT,EACAvuT,EAAAC,QAAAF,0BCnJA,IAAAkiN,EAAkB9lN,EAAQ,QAoB1B4D,EAAAkiN,EAAAjgN,OAAA,CACAvE,KAAA,YACA2iB,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EACA1S,OAAA,MACAnN,WAAA,GAGAgJ,QAAA,CACAlP,QAAA,QAEA0N,MAAA,CACAo3F,MAAA,EACA51G,SAAA,UAEAglG,UAAA,CACAsR,YAAA,GAEAC,SAAA,CACA/3F,MAAA,CACAo3F,MAAA,OAMAx5G,EAAAC,QAAAF,0BC/CA,IAAAmgB,EAAkB/jB,EAAQ,QAE1B0oF,EAAuB1oF,EAAQ,QAE/Bu8O,EAAuBv8O,EAAQ,QAE/BykS,EAAAloD,EAAAkoD,uBAEAl7M,EAAWvpF,EAAQ,QAEnBW,EAAaX,EAAQ,QAErBs8I,EAAat8I,EAAQ,QAErB4yT,EAAAt2K,EAAAs2K,UAEAlwS,EAAc1iB,EAAQ,QAEtB4iB,EAAAF,EAAAE,WAyBAiwS,EAAA,EACAC,EAAA/uS,EAAAle,OAAA,CACAvE,KAAA,oBACA4lH,aAAA,eAMA/F,QAAA,KAKA98F,KAAA,SAAAC,GAEAwuS,EAAArrJ,WAAAtmK,KAAA,OAAA2I,WAIA3I,KAAA+iB,mBAAA,WACA,OAAA/iB,KAAAilB,eAUA2sS,QAAA,SAAArmT,GACA,IAAAsmT,EAAAtmT,EAAAhI,OAEA8nP,EAAAomE,EAAAlmT,EAAA,SAAAs5D,GACA,OAAAA,EAAA,KAEAitP,EAAA,GACAzmE,EAAA0mE,QAAA5qS,KAAA,SAAAw1O,EAAA1xP,GACA6mT,EAAAn/S,KAAA,CACArE,KAAArD,EACA+mT,SAAAr1D,MAOA,IAJA,IAAAxxB,EAAA2mF,EAAAvuT,OACA0uT,GAAA,EACApuT,GAAA,EAEAkH,EAAA,EAAmBA,EAAAogO,IAAcpgO,EAAA,CACjC,IAAA0B,EAAAqlT,EAAA/mT,GAAAinT,SAAAzuT,OAEAkJ,EAAAwlT,IACAA,EAAAxlT,EACA5I,EAAAkH,GAIA,QAAA2V,EAAA,EAAmBA,EAAAyqN,IAAczqN,EACjC,GAAAA,IAAA7c,EAMA,IAFA,IAAAyK,EAAAwjT,EAAApxS,GAAApS,KAEAoC,EAAA,EAAqBA,EAAAuhT,IAAkBvhT,EAAA,CAKvC,IAJA,IAAAwhT,EAAAJ,EAAAjuT,GAAAmuT,SAAAthT,GAAA,GACAnN,EAAAuuT,EAAApxS,GAAAsxS,SAAAzuT,OACA4uT,GAAA,EAEAnnT,EAAA,EAAuBA,EAAAzH,IAAYyH,EAAA,CACnC,IAAA/G,EAAA6tT,EAAApxS,GAAAsxS,SAAAhnT,GAAA,GAEA,GAAA/G,IAAAiuT,EAAA,CACAC,EAAAnnT,EACA,QAIA,IAAAmnT,IACA5mT,EAAAsmT,GAAA,GACAtmT,EAAAsmT,GAAA,GAAAK,EACA3mT,EAAAsmT,GAAA,KACAtmT,EAAAsmT,GAAA,GAAAvjT,EACAujT,KAKA,OAAAtmT,GASAsY,eAAA,SAAAV,EAAA5I,GAiBA,IAhBA,IAAA63S,EAAA73S,EAAAwR,gBAAA,CACAC,SAAA,aACAnoB,MAAA7D,KAAAyF,IAAA,mBACAwmB,GAAAjsB,KAAAyF,IAAA,kBACK,GACLwxI,EAAAm7K,EAAA3sT,IAAA,QAEA4sT,EAAA7yT,EAAAqoD,OAAA1kC,EAAA5X,KAAA,SAAAi2K,GACA,YAAAl5K,IAAAk5K,EAAA,KAGAj2K,EAAAvL,KAAA4xT,QAAAS,GAAA,IACAC,EAAA,GACAtyM,EAAAhgH,KAAAggH,QAAAxgH,EAAAqrD,gBACAlxC,EAAA,EAEA5O,EAAA,EAAmBA,EAAAQ,EAAAhI,SAAiBwH,EACpCunT,EAAA3/S,KAAApH,EAAAR,GAAA2mT,IAEA1xM,EAAAv6G,IAAA8F,EAAAR,GAAA2mT,MACA1xM,EAAA5sF,IAAA7nB,EAAAR,GAAA2mT,GAAA/3S,GACAA,KAIA,IAAA44S,EAAAhrO,EAAAh8E,EAAA,CACAm8E,gBAAA,WACAF,iBAAA,EACAl5E,KAAA,OACAnO,KAAAmjS,EAAArsJ,IACO,CACP3oI,KAAA,QACAnO,KAAA,SACO,CACPmO,KAAA,OACAnO,KAAA,YAEAsnF,aAAA,CACAglH,OAAA,EACAxoM,MAAA,EACAogS,SAAA,KAGAl3R,EAAA,IAAAi7E,EAAAmqO,EAAAvyT,MAEA,OADAmN,EAAAm7E,SAAA/8E,GACA4B,GASAw9N,eAAA,WAKA,IAJA,IAAAp/N,EAAAvL,KAAAwa,UACAg4S,EAAAjnT,EAAAoO,QACA84S,EAAA,GAEA1nT,EAAA,EAAmBA,EAAAynT,IAAcznT,EACjC0nT,EAAA1nT,KAGA,IAAA6/N,EAAAr/N,EAAA8P,aAAA,UAEAgwO,EAAAomE,EAAAgB,EAAA,SAAA5uT,GACA,OAAA0H,EAAA9F,IAAA,OAAA5B,KAEA6mO,EAAA,GAUA,OATA2gB,EAAA0mE,QAAA5qS,KAAA,SAAAw1O,EAAA1xP,GACA0xP,EAAA1mO,KAAA,SAAAy8R,EAAAC,GACA,OAAApnT,EAAA9F,IAAAmlO,EAAA8nF,GAAAnnT,EAAA9F,IAAAmlO,EAAA+nF,KAEAjoF,EAAA/3N,KAAA,CACArE,KAAArD,EACAwiD,QAAAkvM,MAGAjyB,GAYA9hN,mBAAA,SAAAtN,EAAArX,EAAA0W,GACAnb,EAAAwJ,QAAAsS,KACAA,IAAA,CAAAA,GAAA,IASA,IANA,IAIAs3S,EAJArnT,EAAAvL,KAAAwa,UACAkwN,EAAA1qO,KAAA2qO,iBACAl9K,EAAA,GACA09K,EAAAT,EAAAnnO,OAGAwH,EAAA,EAAmBA,EAAAogO,IAAcpgO,EAAA,CAKjC,IAJA,IAAA65K,EAAA5kK,OAAAC,UACA0kK,GAAA,EACAymD,EAAAV,EAAA3/N,GAAA0iD,QAAAlqD,OAEAmN,EAAA,EAAqBA,EAAA06N,IAAc16N,EAAA,CACnC,IAAAmiT,EAAAtnT,EAAA9F,IAAA6V,EAAA,GAAAovN,EAAA3/N,GAAA0iD,QAAA/8C,IACAitB,EAAAj3B,KAAAiR,IAAAk7S,EAAA5uT,GAEA05B,GAAAinJ,IACAguI,EAAAC,EACAjuI,EAAAjnJ,EACAgnJ,EAAA+lD,EAAA3/N,GAAA0iD,QAAA/8C,IAIA+8C,EAAA96C,KAAAgyK,GAGA,OACAmuI,YAAArlQ,EACAmlQ,iBAQAptS,cAAA,SAAAC,GACA,IAAAla,EAAAvL,KAAAwa,UACAu4S,EAAAxnT,EAAAqc,QAAAnC,GACAutS,EAAAznT,EAAA9F,IAAA8F,EAAA8P,aAAA,SAAAoK,GAMA,OAJA7L,MAAAo5S,IAAA,MAAAA,KACAA,EAAA,KAGAvxS,EAAAsxS,EAAA,MAAAC,IAEAlwS,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EACAj4B,iBAAA,aAEA+yI,YAAA,cAEAg7K,gBAAA,EACA/tG,gBAAA,SACApgM,MAAA,CACAs+D,OAAA,EACA84B,MAAA,EACA51G,SAAA,OACAwgB,MAAA,OACApT,SAAA,IAEAmpG,SAAA,CACA/3F,MAAA,CACAo3F,MAAA,OAKAz5G,EAAAkvT,EACAjvT,EAAAC,QAAAF,0BCtUA,IAAAq/N,EAAgBjjO,EAAQ,QAExB2I,EAAW3I,EAAQ,QAEnBq0T,EAAYr0T,EAAQ,QAEpBs0T,EAAgBt0T,EAAQ,QAExB0gB,EAAU1gB,EAAQ,QAElB8O,EAAY9O,EAAQ,QAEpBu0T,EAAAzlT,EAAAylT,gBAEAte,EAAYj2S,EAAQ,QAEpBw0T,EAAkBx0T,EAAQ,QAE1BmjO,EAAAF,EAAAE,IACAstF,EAAA,EAAA5oT,KAAAC,GACA0tF,EAAA,KAEA,SAAAi/N,EAAA/qT,EAAAC,GACA,OAAA9B,KAAAiR,IAAApP,EAAAC,GAAA6rF,EAIA,IAAA2sJ,EAAA,WACAO,EAAA,QAEA,SAAAgyE,IACA,IAAApjQ,EAAAoxL,EAAA,GACAA,EAAA,GAAAA,EAAA,GACAA,EAAA,GAAApxL,EAGA,SAAAqjQ,EAAA53P,EAAAC,EAAAjM,EAAAC,EAAArwB,EAAAC,EAAAqoC,EAAAC,EAAA/lE,EAAAC,GAEA,GAAAA,EAAA45D,GAAA55D,EAAA4tD,GAAA5tD,EAAAw9B,GAAAx9B,EAAA8lE,GAAA9lE,EAAA45D,GAAA55D,EAAA4tD,GAAA5tD,EAAAw9B,GAAAx9B,EAAA8lE,EACA,SAGA,IAAA0rP,EAAA3e,EAAA/zD,YAAAllL,EAAAhM,EAAApwB,EAAAsoC,EAAA9lE,EAAA++O,GAEA,OAAAyyE,EACA,SAOA,IALA,IAEAC,EACAC,EAHAtxT,EAAA,EACAuxT,GAAA,EAIA7oT,EAAA,EAAmBA,EAAA0oT,EAAY1oT,IAAA,CAC/B,IAAAqR,EAAA4kO,EAAAj2O,GAEAg/R,EAAA,IAAA3tR,GAAA,IAAAA,EAAA,KACAy3S,EAAA/e,EAAAl0D,QAAAhlL,EAAAhM,EAAApwB,EAAAsoC,EAAA1rD,GAEAy3S,EAAA7xT,IAKA4xT,EAAA,IACAA,EAAA9e,EAAAxzD,aAAAzlL,EAAAhM,EAAApwB,EAAAsoC,EAAAw5K,GAEAA,EAAA,GAAAA,EAAA,IAAAqyE,EAAA,GACAL,IAGAG,EAAA5e,EAAAl0D,QAAA/kL,EAAAhM,EAAApwB,EAAAsoC,EAAAw5K,EAAA,IAEAqyE,EAAA,IACAD,EAAA7e,EAAAl0D,QAAA/kL,EAAAhM,EAAApwB,EAAAsoC,EAAAw5K,EAAA,MAIA,IAAAqyE,EAEAx3S,EAAAmlO,EAAA,GACAl/O,GAAAqxT,EAAA73P,EAAAkuO,KACS3tR,EAAAmlO,EAAA,GACTl/O,GAAAsxT,EAAAD,EAAA3pB,KAEA1nS,GAAA0lE,EAAA4rP,EAAA5pB,KAIA3tR,EAAAmlO,EAAA,GACAl/O,GAAAqxT,EAAA73P,EAAAkuO,KAEA1nS,GAAA0lE,EAAA2rP,EAAA3pB,MAKA,OAAA1nS,EAIA,SAAAyxT,EAAAl4P,EAAAC,EAAAjM,EAAAC,EAAArwB,EAAAC,EAAAz9B,EAAAC,GAEA,GAAAA,EAAA45D,GAAA55D,EAAA4tD,GAAA5tD,EAAAw9B,GAAAx9B,EAAA45D,GAAA55D,EAAA4tD,GAAA5tD,EAAAw9B,EACA,SAGA,IAAAg0R,EAAA3e,EAAA7yD,gBAAApmL,EAAAhM,EAAApwB,EAAAx9B,EAAA++O,GAEA,OAAAyyE,EACA,SAEA,IAAAr3S,EAAA04R,EAAA5yD,kBAAArmL,EAAAhM,EAAApwB,GAEA,GAAArjB,GAAA,GAAAA,GAAA,GAIA,IAHA,IAAA/Z,EAAA,EACA0xT,EAAAjf,EAAAl5R,YAAAigD,EAAAhM,EAAApwB,EAAArjB,GAEArR,EAAA,EAAqBA,EAAA0oT,EAAY1oT,IAAA,CAEjC,IAAAg/R,EAAA,IAAA/oD,EAAAj2O,IAAA,IAAAi2O,EAAAj2O,GAAA,KACA8oT,EAAA/e,EAAAl5R,YAAAggD,EAAAhM,EAAApwB,EAAAwhN,EAAAj2O,IAEA8oT,EAAA7xT,IAKAg/O,EAAAj2O,GAAAqR,EACA/Z,GAAA0xT,EAAAl4P,EAAAkuO,KAEA1nS,GAAAo9B,EAAAs0R,EAAAhqB,MAIA,OAAA1nS,EAGA0nS,EAAA,IAAA/oD,EAAA,QAAAA,EAAA,QACA6yE,EAAA/e,EAAAl5R,YAAAggD,EAAAhM,EAAApwB,EAAAwhN,EAAA,IAEA,OAAA6yE,EAAA7xT,EAEA,EAGAy9B,EAAAo8B,EAAAkuO,KAOA,SAAAiqB,EAAAv1S,EAAAC,EAAAE,EAAAC,EAAAC,EAAA6uS,EAAA3rT,EAAAC,GAGA,GAFAA,GAAAyc,EAEAzc,EAAA2c,GAAA3c,GAAA2c,EACA,SAGA,IAAAuxC,EAAAzpD,KAAAk+C,KAAAhmC,IAAA3c,KACA++O,EAAA,IAAA7wL,EACA6wL,EAAA,GAAA7wL,EACA,IAAAvzC,EAAAlW,KAAAiR,IAAAkH,EAAAC,GAEA,GAAAlC,EAAA,KACA,SAGA,GAAAA,EAAA0yS,EAAA,MAEAzwS,EAAA,EACAC,EAAAwwS,EACA,IAAA51R,EAAAi0R,EAAA,KAEA,OAAA3rT,GAAAg/O,EAAA,GAAAviO,GAAAzc,GAAAg/O,EAAA,GAAAviO,EACAib,EAEA,EAIA,GAAAi0R,EAAA,CACAx9P,EAAAtxC,EACAA,EAAAu0S,EAAAt0S,GACAA,EAAAs0S,EAAAjjQ,QAEAtxC,EAAAu0S,EAAAv0S,GACAC,EAAAs0S,EAAAt0S,GAGAD,EAAAC,IACAA,GAAAwwS,GAKA,IAFA,IAAAjtT,EAAA,EAEA0I,EAAA,EAAiBA,EAAA,EAAOA,IAAA,CACxB,IAAA8oT,EAAA7yE,EAAAj2O,GAEA,GAAA8oT,EAAAp1S,EAAAzc,EAAA,CACA,IAAAikD,EAAAv/C,KAAA44B,MAAAr9B,EAAA4xT,GACAn6R,EAAAi0R,EAAA,KAEA1nQ,EAAA,IACAA,EAAAqpQ,EAAArpQ,IAGAA,GAAApnC,GAAAonC,GAAAnnC,GAAAmnC,EAAAqpQ,GAAAzwS,GAAAonC,EAAAqpQ,GAAAxwS,KACAmnC,EAAAv/C,KAAAC,GAAA,GAAAs/C,EAAA,IAAAv/C,KAAAC,KACA+yB,MAGAr3B,GAAAq3B,IAKA,OAAAr3B,EAGA,SAAA4xT,EAAA1oT,EAAAkF,EAAAyjT,EAAAlyT,EAAAC,GAOA,IANA,IAAAI,EAAA,EACAo5L,EAAA,EACAC,EAAA,EACA9/H,EAAA,EACAC,EAAA,EAEA9wD,EAAA,EAAiBA,EAAAQ,EAAAhI,QAAiB,CAClC,IAAAo2L,EAAApuL,EAAAR,KAwBA,OAtBA4uL,IAAAqoC,EAAA75E,GAAAp9I,EAAA,IAEAmpT,IACA7xT,GAAAgxT,EAAA53H,EAAAC,EAAA9/H,EAAAC,EAAA75D,EAAAC,KAQA,IAAA8I,IAKA0wL,EAAAlwL,EAAAR,GACA2wL,EAAAnwL,EAAAR,EAAA,GACA6wD,EAAA6/H,EACA5/H,EAAA6/H,GAGA/B,GACA,KAAAqoC,EAAA75E,EAGAvsF,EAAArwD,EAAAR,KACA8wD,EAAAtwD,EAAAR,KACA0wL,EAAA7/H,EACA8/H,EAAA7/H,EACA,MAEA,KAAAmmK,EAAA7uH,EACA,GAAA+gN,GACA,GAAA1sT,EAAAqzK,cAAA4gB,EAAAC,EAAAnwL,EAAAR,GAAAQ,EAAAR,EAAA,GAAA0F,EAAAzO,EAAAC,GACA,cAIAI,GAAAgxT,EAAA53H,EAAAC,EAAAnwL,EAAAR,GAAAQ,EAAAR,EAAA,GAAA/I,EAAAC,IAAA,EAGAw5L,EAAAlwL,EAAAR,KACA2wL,EAAAnwL,EAAAR,KACA,MAEA,KAAAi3N,EAAAr2D,EACA,GAAAuoJ,GACA,GAAAhB,EAAAr4I,cAAA4gB,EAAAC,EAAAnwL,EAAAR,KAAAQ,EAAAR,KAAAQ,EAAAR,KAAAQ,EAAAR,KAAAQ,EAAAR,GAAAQ,EAAAR,EAAA,GAAA0F,EAAAzO,EAAAC,GACA,cAGAI,GAAAmxT,EAAA/3H,EAAAC,EAAAnwL,EAAAR,KAAAQ,EAAAR,KAAAQ,EAAAR,KAAAQ,EAAAR,KAAAQ,EAAAR,GAAAQ,EAAAR,EAAA,GAAA/I,EAAAC,IAAA,EAGAw5L,EAAAlwL,EAAAR,KACA2wL,EAAAnwL,EAAAR,KACA,MAEA,KAAAi3N,EAAAwC,EACA,GAAA0vF,GACA,GAAAf,EAAAt4I,cAAA4gB,EAAAC,EAAAnwL,EAAAR,KAAAQ,EAAAR,KAAAQ,EAAAR,GAAAQ,EAAAR,EAAA,GAAA0F,EAAAzO,EAAAC,GACA,cAGAI,GAAAyxT,EAAAr4H,EAAAC,EAAAnwL,EAAAR,KAAAQ,EAAAR,KAAAQ,EAAAR,GAAAQ,EAAAR,EAAA,GAAA/I,EAAAC,IAAA,EAGAw5L,EAAAlwL,EAAAR,KACA2wL,EAAAnwL,EAAAR,KACA,MAEA,KAAAi3N,EAAAhE,EAEA,IAAAv/M,EAAAlT,EAAAR,KACA2T,EAAAnT,EAAAR,KACA2tK,EAAAntK,EAAAR,KACA4tK,EAAAptK,EAAAR,KACAyuB,EAAAjuB,EAAAR,KACA4uQ,EAAApuQ,EAAAR,KAEAA,GAAA,EACA,IAAA4iT,EAAA,EAAApiT,EAAAR,KACA6kD,EAAAlpD,KAAAwY,IAAAsa,GAAAk/I,EAAAj6J,EACAoxC,EAAAnpD,KAAA0Y,IAAAoa,GAAAm/I,EAAAj6J,EAEA3T,EAAA,EACA1I,GAAAgxT,EAAA53H,EAAAC,EAAA9rI,EAAAC,EAAA7tD,EAAAC,IAGA25D,EAAAhM,EACAiM,EAAAhM,GAIA,IAAAp5C,GAAAzU,EAAAyc,GAAAk6J,EAAAD,EAAAj6J,EAEA,GAAAy1S,GACA,GAAA30S,EAAAs7J,cAAAp8J,EAAAC,EAAAi6J,EAAAn/I,IAAAmgP,EAAAg0C,EAAAl9S,EAAAgG,EAAAxU,GACA,cAGAI,GAAA2xT,EAAAv1S,EAAAC,EAAAi6J,EAAAn/I,IAAAmgP,EAAAg0C,EAAAl3S,EAAAxU,GAGAw5L,EAAA/0L,KAAAwY,IAAAsa,EAAAmgP,GAAAjhG,EAAAj6J,EACAi9K,EAAAh1L,KAAA0Y,IAAAoa,EAAAmgP,GAAAhhG,EAAAj6J,EACA,MAEA,KAAAsjN,EAAA/oG,EACAr9D,EAAA6/H,EAAAlwL,EAAAR,KACA8wD,EAAA6/H,EAAAnwL,EAAAR,KACA,IAAAzI,EAAAiJ,EAAAR,KACAxI,EAAAgJ,EAAAR,KACA6kD,EAAAgM,EAAAt5D,EACAutD,EAAAgM,EAAAt5D,EAEA,GAAA2xT,GACA,GAAA1sT,EAAAqzK,cAAAj/G,EAAAC,EAAAjM,EAAAiM,EAAAprD,EAAAzO,EAAAC,IAAAuF,EAAAqzK,cAAAjrH,EAAAiM,EAAAjM,EAAAC,EAAAp/C,EAAAzO,EAAAC,IAAAuF,EAAAqzK,cAAAjrH,EAAAC,EAAA+L,EAAA/L,EAAAp/C,EAAAzO,EAAAC,IAAAuF,EAAAqzK,cAAAj/G,EAAA/L,EAAA+L,EAAAC,EAAAprD,EAAAzO,EAAAC,GACA,cAIAI,GAAAgxT,EAAAzjQ,EAAAiM,EAAAjM,EAAAC,EAAA7tD,EAAAC,GACAI,GAAAgxT,EAAAz3P,EAAA/L,EAAA+L,EAAAC,EAAA75D,EAAAC,GAGA,MAEA,KAAA+/N,EAAAI,EACA,GAAA8xF,GACA,GAAA1sT,EAAAqzK,cAAA4gB,EAAAC,EAAA9/H,EAAAC,EAAAprD,EAAAzO,EAAAC,GACA,cAIAI,GAAAgxT,EAAA53H,EAAAC,EAAA9/H,EAAAC,EAAA75D,EAAAC,GAOAw5L,EAAA7/H,EACA8/H,EAAA7/H,EACA,OAQA,OAJAq4P,GAAAZ,EAAA53H,EAAA7/H,KACAx5D,GAAAgxT,EAAA53H,EAAAC,EAAA9/H,EAAAC,EAAA75D,EAAAC,IAAA,GAGA,IAAAI,EAGA,SAAAie,EAAA6wL,EAAAnvM,EAAAC,GACA,OAAAgyT,EAAA9iH,EAAA,KAAAnvM,EAAAC,GAGA,SAAA44K,EAAAs2B,EAAA1gM,EAAAzO,EAAAC,GACA,OAAAgyT,EAAA9iH,EAAA1gM,GAAA,EAAAzO,EAAAC,GAGAU,EAAA2d,UACA3d,EAAAk4K,qDCzYA,IAAAvvK,EAAYzM,EAAQ,QAIpBs1T,EAAA,CACA,6DACA,kEACA,gEACA,sCAgBAzxT,EAAAC,QAAA,SAAA6I,GACA,IACAP,EACAhC,EACA8B,EAHAq2R,EAAA,GAKA,OAAA51R,GAEAF,EAAAT,QAAAW,EAAAiD,MAAA,eAAAjH,GAKA,GAJAuD,EAAAvD,EAAA4jC,QAAA,KACAngC,EAAAK,EAAAjB,KAAA7C,EAAAsJ,OAAA,EAAA/F,IAAA2uH,cACAzwH,EAAAqC,EAAAjB,KAAA7C,EAAAsJ,OAAA/F,EAAA,IAEAE,EAAA,CACA,GAAAm2R,EAAAn2R,IAAAkpT,EAAA/oR,QAAAngC,IAAA,EACA,OAGAm2R,EAAAn2R,GADA,eAAAA,GACAm2R,EAAAn2R,GAAAm2R,EAAAn2R,GAAA,IAAAy+C,OAAA,CAAAzgD,IAEAm4R,EAAAn2R,GAAAm2R,EAAAn2R,GAAA,KAAAhC,OAKAm4R,GAnBiBA,2BChCjB,IAAAjiD,EAAgBtgP,EAAQ,QACxBsI,EAAAT,KAAAS,IACAD,EAAAR,KAAAQ,IACAxE,EAAAC,QAAA,SAAAkB,EAAAN,GAEA,OADAM,EAAAs7O,EAAAt7O,GACAA,EAAA,EAAAsD,EAAAtD,EAAAN,EAAA,GAAA2D,EAAArD,EAAAN,uCCiBAb,EAAAC,QAAA,SAAA0vE,GACA,gBAAA50C,GACA,OAAA40C,EAAA3pE,MAAA,KAAA+0B,6BCJA,IAAA22R,EAAmBv1T,EAAQ,QAE3Bw1T,EAAAD,EAAAC,YAEAC,EAA0Bz1T,EAAQ,QAElC01T,EAAAD,EAAAC,aAEA53F,EAA4B99N,EAAQ,QAEpC29M,EAAAmgB,EAAAngB,eAEA36H,EAAchjF,EAAQ,QAEtBi5G,EAAAj2B,EAAAi2B,UAEAt8F,EAAW3c,EAAQ,QAEnBW,EAAaX,EAAQ,QAoBrB,SAAA4D,EAAA8X,GACAA,EAAA+kG,iBAAA,iBAAAk1M,GACA,IAAAvvT,EAAAuvT,EAAAtvT,iBAEA,IAAAD,GAAA,SAAAA,EAAA9E,KAIA,aAAAq0T,EAAA/uT,IAAA,WACA,IAAAgvT,EAAAD,EAAAC,iBAAA,GACA33S,EAAA03S,EAAA1sI,WACAa,EAAA7rK,EAAAvR,KACAw8K,EAAAjrK,EAAAirK,SACA2sI,EAAAF,EAAA75R,SAAA,SACAkvJ,EAAA6qI,EAAAjvT,IAAA,cAEA+uT,EAAAC,gBACA9rI,EAAAxhK,KAAA,SAAAxJ,GACA,IAAAsO,EAAA08J,EAAAgsI,MAAAh3S,GACAgrK,EAAAlV,cAAA91J,EAAA82S,EAAAxoS,IAAA,CAAApS,YAEOgwK,GAAA,SAAAA,EAEA,aAAAA,GACP2yB,EAAAg4G,GAFAD,EAAAC,GAKA,IAAAvhI,EAAAtK,EAAA/pE,cAAA,SACAs0E,EAAAnL,EAAAnpE,cAAA,SAEAg2M,EAAAF,EAAAjvT,IAAA,aACAovT,EAAAH,EAAAjvT,IAAA,cAEAjG,EAAAwJ,QAAA4rT,KACAA,EAAA,CAAAA,MAGAp1T,EAAAwJ,QAAA6rT,KACAA,EAAA,CAAAA,MAIAA,EAAA,CAAAA,EAAA,GAAAA,EAAA,IACA,IAAAn/J,EAAAizB,EAAAY,SAAA,iBAAAtlL,EAAA0Z,GACA,IAAAksD,EAAA8+G,EAAAlT,cAAA93J,GACAm3S,EAAAh9M,EAAA7zG,EAAAgvL,EAAA2hI,GAMA,OAJAh7S,MAAAk7S,KACAA,GAAAF,EAAA,GAAAA,EAAA,OAGA,CACAvyT,EAAAyyT,EACAA,MACA9yC,MAAAr5F,EAAAx9J,aAAAxN,GAAAlY,IAAA,SACAqb,GAAA+oD,GAAAjwD,MAAAiwD,EAAA,KAAAjwD,MAAAiwD,EAAA,SAAAA,KAGA2+G,EAAAT,EAAAwB,SAAA,iBAAAtlL,EAAA0Z,GACA,IAAAD,EAAAZ,EAAAqrK,eAAAxqK,GACAnB,EAAAs7F,EAAA7zG,EAAAivL,EAAA2hI,GAMA,OAJAj7S,MAAA4C,KACAA,GAAAq4S,EAAA,GAAAA,EAAA,OAGA,CACAtoI,GAAA72B,EAAAh4I,EAAAQ,MAAAuH,WACA+mK,GAAA92B,EAAAh4I,EAAAS,MAAAsH,WACAjJ,IACAkpL,UAAAhoL,EAAAid,WAAAl1B,IAAA,6BAIAhE,GADAwD,EAAAuvT,EAAAtvT,iBACAD,EAAA1D,mBACAwzT,EAAAV,EAAA3+J,EAAA8yB,EAAA,CACA/mL,OACA2oL,QAAAsqI,EAAAjvT,IAAA,aAEAuvT,EAAAD,EAAAvxT,KAEAuxT,EAAAvxT,KAAA,SAAAuyB,GACA,QAAAhrB,EAAA,EAAAC,EAAA0qJ,EAAAnyJ,OAAyCwH,EAAAC,EAAOD,IAChD2qJ,EAAA3qJ,GAAAi3Q,OAEAxmQ,EAAApC,KAAAs8I,EAAA3qJ,GAAA+V,EAAAhE,EAAA6vK,eAAA5hL,GAAA8S,aAIAm3S,EAAA,SAAAt/J,EAAA8yB,EAAAysI,GACA,QAAAlqT,EAAA,EAAAC,EAAA0qJ,EAAAnyJ,OAA2CwH,EAAAC,EAAOD,IAClD2qJ,EAAA3qJ,GAAAi3Q,OACAllQ,EAAA6vK,eAAA5hL,GAAA2oK,UAAAhe,EAAA3qJ,GAAA+V,GAGA2zS,EAAA9rI,EAAAgsI,MAAA5pT,IAAA2qJ,EAAA3qJ,GAAA+V,EAGA,IAAA/V,EAAA,EAAAC,EAAAw9K,EAAAjlL,OAA2CwH,EAAAC,EAAOD,IAAA,CAClD,IAAAoL,EAAAqyK,EAAAz9K,GACA2S,EAAAZ,EAAAqrK,eAAAp9K,GACAuR,EAAAnG,EAAAo2K,GAAAzrK,EACAvE,EAAApG,EAAAq2K,GAAA1rK,EACA4mD,EAAAhqD,EAAAG,YACA6pD,MAAAxoC,QAAA,GACAwoC,EAAA,GAAAA,EAAA,OACAA,EAAA,GAAAA,EAAA,OACAlsD,EAAApC,KAAAsuD,EAAA,GAAAprD,GACAd,EAAApC,KAAAsuD,EAAA,GAAAnrD,IAEApG,EAAAuvL,YACAh+H,EAAA,KAAAprD,EAAA,GAAAC,EAAA,OAAAD,EAAA,GAAAC,EAAA,IAAApG,EAAAuvL,WAAAppL,EAAA,GAAAC,EAAA,OAAAA,EAAA,GAAAD,EAAA,IAAAnG,EAAAuvL,YAGAhoL,EAAAg2J,UAAAhsG,GAIA3xC,KAAAk/R,MAIAT,EAAAH,YAAAU,EACAP,EAAAC,kBAEAM,EAAAvxT,YAGAgxT,EAAAH,YAAA,OAKA3xT,EAAAC,QAAAF,0BC3KA,IAAAyyR,EAAmBr2R,EAAQ,QAoB3B4D,EAAAyyR,EAAAxwR,OAAA,CACAvE,KAAA,oBAGAuC,EAAAC,QAAAF,0BCxBA,IAAAjD,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAEtBY,EAAkBZ,EAAQ,QAE1B8wE,EAAiB9wE,EAAQ,QAEzB+xD,EAAa/xD,EAAQ,QAErBknN,EAAiBlnN,EAAQ,QAEzBs2N,EAAkBt2N,EAAQ,QAwB1B,SAAA8G,EAAAb,GACA,IAEAvE,EAFAiF,EAAAV,EAAAW,IAAA,QACAyvT,EAAApwT,EAAA61B,SAAAn1B,EAAA,SAWA,MARA,SAAAA,GACAjF,EAAA20T,EAAAz6G,eACAl6M,EAAAG,KAAA,MACG,WAAA8E,IACHjF,EAAA20T,EAAAz+F,eACAl2N,EAAAI,OAAA,MAGAJ,EAOA,SAAA40T,EAAAvwT,EAAAC,EAAAC,EAAAC,EAAAqwT,GACA,IAAAnxT,EAAAa,EAAAW,IAAA,SACAzE,EAAAq0T,EAAApxT,EAAAY,EAAAG,KAAAH,EAAA0V,QAAAzV,EAAAW,IAAA,sBACAixD,UAAA5xD,EAAAW,IAAA,mBACAoqE,UAAA/qE,EAAAW,IAAA,qBAEAikG,EAAA5kG,EAAA61B,SAAA,SACA26R,EAAA3lP,EAAAxlB,kBAAAu/C,EAAAjkG,IAAA,eACA/D,EAAAgoG,EAAAwqG,UACAj7L,EAAAxZ,EAAA8B,gBAAAP,EAAAU,GACA4E,EAAA8uT,EAAA9uT,SACAhE,EAAA2W,EAAA3W,MAAAgzT,EAAA,GAAAA,EAAA,GACA/yT,EAAA0W,EAAA1W,OAAA+yT,EAAA,GAAAA,EAAA,GAEA7xK,EAAA2xK,EAAA3xK,MACA,UAAAA,IAAAn9I,EAAA,IAAAhE,GACA,WAAAmhJ,IAAAn9I,EAAA,IAAAhE,EAAA,GACA,IAAAiF,EAAA6tT,EAAA7tT,cACA,WAAAA,IAAAjB,EAAA,IAAA/D,GACA,WAAAgF,IAAAjB,EAAA,IAAA/D,EAAA,GAEAgzT,EAAAjvT,EAAAhE,EAAAC,EAAAwC,GACA,IAAAo7D,EAAAupC,EAAAjkG,IAAA,mBAEA06D,GAAA,SAAAA,IACAA,EAAAt7D,EAAAY,IAAA,6BAGAb,EAAAkgB,MAAA,CACAld,MAAA,CACA5F,EAAA,EACAC,EAAA,EACAK,QACAC,SACAqc,EAAA8qF,EAAAjkG,IAAA,iBAEAa,WAAA44B,QAEA3+B,MAAA,CACAS,OACA8S,SAAApS,EACAooG,SAAAJ,EAAAm1G,eACAtvM,aAAA,SACA7O,KAAAy/D,EACAx/D,OAAA+oG,EAAAjkG,IAAA,8BACAgL,UAAAi5F,EAAAjkG,IAAA,kBACA7E,WAAA8oG,EAAAjkG,IAAA,cACA5E,YAAA6oG,EAAAjkG,IAAA,eACA3E,cAAA4oG,EAAAjkG,IAAA,iBACA1E,cAAA2oG,EAAAjkG,IAAA,kBAGAi6B,GAAA,IAKA,SAAA61R,EAAAjvT,EAAAhE,EAAAC,EAAAwC,GACA,IAAA40N,EAAA50N,EAAAwJ,WACAqrN,EAAA70N,EAAAu5D,YACAh4D,EAAA,GAAAI,KAAAQ,IAAAZ,EAAA,GAAAhE,EAAAq3N,GAAAr3N,EACAgE,EAAA,GAAAI,KAAAQ,IAAAZ,EAAA,GAAA/D,EAAAq3N,GAAAr3N,EACA+D,EAAA,GAAAI,KAAAS,IAAAb,EAAA,MACAA,EAAA,GAAAI,KAAAS,IAAAb,EAAA,MAaA,SAAA+uT,EAAApxT,EAAAe,EAAAuV,EAAAi7S,EAAApgT,GACAnR,EAAAe,EAAA+S,MAAAqhB,MAAAn1B,GACA,IAAAjD,EAAAgE,EAAA+S,MAAAgnI,SAEA96I,EAAA,CACAyyD,UAAAthD,EAAAshD,YAEAmZ,EAAAz6D,EAAAy6D,UAEA,GAAAA,EAAA,CACA,IAAA7qD,EAAA,CACA/gB,MAAA8hN,EAAA+0C,gBAAA91P,EAAAf,GACAwxT,WAAA,IAEAj2T,EAAA2nB,KAAAquS,EAAA,SAAAE,GACA,IAAA9vS,EAAArL,EAAA2pM,iBAAAwxG,EAAA7yS,aACA4C,EAAAiwS,EAAA34R,gBACA44R,EAAA/vS,KAAAoF,cAAAvF,GACAkwS,GAAA3wS,EAAAywS,WAAA9iT,KAAAgjT,KAGAn2T,EAAAiK,SAAAomE,GACA7uE,EAAA6uE,EAAAtlE,QAAA,UAAuCvJ,GAClCxB,EAAAwK,WAAA6lE,KACL7uE,EAAA6uE,EAAA7qD,IAIA,OAAAhkB,EAWA,SAAAuF,EAAAvB,EAAAf,EAAA+B,GACA,IAAAa,EAAA+pD,EAAA9hB,SAGA,OAFA8hB,EAAAtgB,OAAAzpC,IAAAb,EAAAQ,UACAoqD,EAAAjgB,UAAA9pC,IAAAb,EAAAM,UACApC,EAAAmV,eAAA,CAAArU,EAAAo8G,YAAAn9G,IAAA+B,EAAAskO,aAAA,IAAAtkO,EAAAS,gBAAA,IAAAT,EAAAK,aAAA,IAAAQ,GAGA,SAAAX,EAAAjC,EAAAW,EAAAoB,EAAAnB,EAAAC,EAAAC,GACA,IAAA6wT,EAAAzgG,EAAA0gG,gBAAA7vT,EAAAQ,SAAA,EAAAR,EAAAS,gBACAT,EAAAK,YAAAvB,EAAAW,IAAA,gBACA0vT,EAAAvwT,EAAAC,EAAAC,EAAAC,EAAA,CACAuB,SAAAC,EAAA1B,EAAAG,KAAAf,EAAA+B,GACAy9I,MAAAmyK,EAAAj0T,UACA4F,cAAAquT,EAAAh0T,oBAUA,SAAA8F,EAAA4U,EAAAC,EAAAu5S,GAEA,OADAA,KAAA,EACA,CACAlmQ,GAAAtzC,EAAAw5S,GACAjmQ,GAAAvzC,EAAA,EAAAw5S,GACAt2R,GAAAjjB,EAAAu5S,GACAr2R,GAAAljB,EAAA,EAAAu5S,IAUA,SAAA7tT,EAAA0yD,EAAA+sL,EAAAouE,GAEA,OADAA,KAAA,EACA,CACA9zT,EAAA24D,EAAAm7P,GACA7zT,EAAA04D,EAAA,EAAAm7P,GACAxzT,MAAAolP,EAAAouE,GACAvzT,OAAAmlP,EAAA,EAAAouE,IAIA,SAAAC,EAAAt3S,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACA,OACAL,KACAC,KACAC,KACAC,IACAC,aACAC,WACAC,WAAA,GAIApc,EAAAgD,eACAhD,EAAAwyT,qBACAxyT,EAAA0yT,gBACA1yT,EAAA4D,yBACA5D,EAAAuD,oCACAvD,EAAA+E,gBACA/E,EAAAsF,gBACAtF,EAAAozT,wCC/OA,IAAApoT,EAAY9O,EAAQ,QAEpBgsD,EAAAl9C,EAAAk9C,cACA1jC,EAAAxZ,EAAAwZ,KAyBA,SAAA1kB,EAAA8X,GACA,IAAAy7S,EAAAnrQ,IACAtwC,EAAAkkG,WAAA,SAAAnkG,GACA,IAAA4wL,EAAA5wL,EAAA7U,IAAA,SAEA,GAAAylM,EAAA,CACA,IAAA+qH,EAAAD,EAAAvwT,IAAAylM,IAAA8qH,EAAA5iS,IAAA83K,EAAA,IACA3/L,EAAA+O,EAAAE,UACA07S,EAAA,CAEAC,qBAAA5qT,EAAA6oK,mBAAA,wBACAgiJ,qBAAA7qT,EAAA6oK,mBAAA,wBACAiiJ,iBAAA9qT,EAAA6oK,mBAAA,oBACAkiJ,mBAAA/qT,EAAA6oK,mBAAA,sBACAmiJ,iBAAAhrT,EAAA6oK,mBAAA,oBACA7oK,OACA+O,eAGA,IAAA47S,EAAAG,mBAAAH,EAAAK,mBAAAL,EAAAI,mBACA,OAGAL,EAAA1yT,QAAAgI,EAAA88E,mBAAA,kBAAA4tO,IAAA1yT,OAAA,GAAA+W,aACA27S,EAAAtjT,KAAAujT,MAGAF,EAAA7uS,KAAAqvS,GAGA,SAAAA,EAAAP,GACA9uS,EAAA8uS,EAAA,SAAAQ,EAAAC,GACA,IAAAC,EAAA,GACAC,EAAA,CAAA/8S,SACAstE,EAAA,CAAAsvO,EAAAN,qBAAAM,EAAAL,sBACAS,EAAAJ,EAAAlrT,KACAgrT,EAAAE,EAAAF,iBAGAx4D,EAAA84D,EAAAzpT,IAAA+5E,EAAA,SAAA8rB,EAAAx3F,EAAAgK,GACA,IAOAqxS,EACAC,EARAr9S,EAAAm9S,EAAApxT,IAAAgxT,EAAAJ,iBAAA5wS,GAGA,GAAA7L,MAAAF,GACA,OAAAk9S,EAMAL,EACAQ,EAAAF,EAAAhqI,YAAApnK,GAEAqxS,EAAAD,EAAApxT,IAAAgxT,EAAAH,mBAAA7wS,GAMA,IAFA,IAAAuxS,EAAAn9S,IAEAnJ,EAAAgmT,EAAA,EAAkChmT,GAAA,EAAQA,IAAA,CAC1C,IAAAwlT,EAAAD,EAAAvlT,GAMA,GAJA6lT,IACAQ,EAAAb,EAAA3qT,KAAA0rT,WAAAf,EAAAI,mBAAAQ,IAGAC,GAAA,GACA,IAAA9tT,EAAAitT,EAAA3qT,KAAA2rT,cAAAhB,EAAAC,qBAAAY,GAEA,GAAAr9S,GAAA,GAAAzQ,EAAA,GACAyQ,GAAA,GAAAzQ,EAAA,EACA,CACAyQ,GAAAzQ,EACA+tT,EAAA/tT,EACA,QAOA,OAFA0tT,EAAA,GAAAj9S,EACAi9S,EAAA,GAAAK,EACAL,IAEAE,EAAA1tN,UAAAhuF,QAAA4iP,GAEA04D,EAAAlrT,KAAAwyP,IAIAr7P,EAAAC,QAAAF,uCCxIA5D,EAAQ,QACR,IAAAs4T,EAAet4T,EAAQ,QACvBu4T,EAAWv4T,EAAQ,QACnBw4T,EAAYx4T,EAAQ,QACpBugP,EAAcvgP,EAAQ,QACtBy4T,EAAUz4T,EAAQ,QAClBm6P,EAAiBn6P,EAAQ,QAEzBooM,EAAAqwH,EAAA,WAEAC,GAAAF,EAAA,WAIA,IAAA77F,EAAA,IAMA,OALAA,EAAAjqN,KAAA,WACA,IAAA7N,EAAA,GAEA,OADAA,EAAAysP,OAAA,CAAqB5nP,EAAA,KACrB7E,GAEA,SAAA6G,QAAAixN,EAAA,UAGAg8F,EAAA,WAEA,IAAAh8F,EAAA,OACAi8F,EAAAj8F,EAAAjqN,KACAiqN,EAAAjqN,KAAA,WAAyB,OAAAkmT,EAAA/uT,MAAA1I,KAAA2I,YACzB,IAAAjF,EAAA,KAAA+K,MAAA+sN,GACA,WAAA93N,EAAAH,QAAA,MAAAG,EAAA,UAAAA,EAAA,GANA,GASAhB,EAAAC,QAAA,SAAA+0T,EAAAn0T,EAAAgO,GACA,IAAAomT,EAAAL,EAAAI,GAEAE,GAAAP,EAAA,WAEA,IAAAnwH,EAAA,GAEA,OADAA,EAAAywH,GAAA,WAA6B,UAC7B,MAAAD,GAAAxwH,KAGA2wH,EAAAD,GAAAP,EAAA,WAEA,IAAAS,GAAA,EACAt8F,EAAA,IASA,OARAA,EAAAjqN,KAAA,WAA8C,OAAnBumT,GAAA,EAAmB,MAC9C,UAAAJ,IAGAl8F,EAAAt7N,YAAA,GACAs7N,EAAAt7N,YAAA+mM,GAAA,WAA6C,OAAAu0B,IAE7CA,EAAAm8F,GAAA,KACAG,SACGxvT,EAEH,IACAsvT,IACAC,GACA,YAAAH,IAAAH,GACA,UAAAG,IAAAF,EACA,CACA,IAAAO,EAAA,IAAAJ,GACAlsT,EAAA8F,EACA6tO,EACAu4E,EACA,GAAAD,GACA,SAAAM,EAAAxoE,EAAAllP,EAAA2tT,EAAAC,GACA,OAAA1oE,EAAAj+O,OAAAynP,EACA4+D,IAAAM,EAIA,CAAoBl0T,MAAA,EAAAC,MAAA8zT,EAAAh4T,KAAAyvP,EAAAllP,EAAA2tT,IAEpB,CAAkBj0T,MAAA,EAAAC,MAAA+zT,EAAAj4T,KAAAuK,EAAAklP,EAAAyoE,IAElB,CAAgBj0T,MAAA,KAGhBm0T,EAAA1sT,EAAA,GACA2sT,EAAA3sT,EAAA,GAEA0rT,EAAA1wL,OAAAxmI,UAAAy3T,EAAAS,GACAf,EAAAt8F,OAAA76N,UAAA03T,EAAA,GAAAp0T,EAGA,SAAAi6H,EAAAx3E,GAAgC,OAAAoyQ,EAAAr4T,KAAAy9H,EAAAx9H,KAAAgmD,IAGhC,SAAAw3E,GAA2B,OAAA46L,EAAAr4T,KAAAy9H,EAAAx9H,gCCxE3B,IAAApB,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAEtB8wE,EAAiB9wE,EAAQ,QAEzB2nJ,EAAiB3nJ,EAAQ,QAoBzBw5T,EAAA,CACAC,GAAA,0EACAC,GAAA,iEAEAC,EAAA,CACAF,GAAA,8BACAC,GAAA,+BAGA91T,EAAA7D,EAAAu7I,oBAAA,CACAh6I,KAAA,WAMAs4T,UAAA,KAMAC,UAAA,KAMAC,iBAAA,KAMAC,gBAAA,KACA1lQ,OAAA,SAAA2kL,EAAAt9N,EAAAxV,GACA,IAAA0gE,EAAAzlE,KAAAylE,MACAA,EAAApB,YACA,IAAAp/D,EAAA4yO,EAAA3yO,iBAEA2zT,EAAA5zT,EAAA8yO,eACA71J,EAAAj9E,EAAAozO,YAEAr4O,KAAA84T,eAAAjhF,EAAAghF,EAAApzP,GAGAzlE,KAAA+4T,aAAAlhF,EAAAghF,EAAA32O,EAAAzc,GAEAzlE,KAAAg5T,gBAAAnhF,EAAAghF,EAAA32O,EAAAzc,GAEAzlE,KAAAi5T,iBAAAphF,EAAA31J,EAAAzc,GAEAzlE,KAAAk5T,gBAAArhF,EAAAghF,EAAA32O,EAAAzc,IAGAqzP,eAAA,SAAAjhF,EAAAghF,EAAApzP,GAMA,IALA,IAAAxgE,EAAA4yO,EAAA3yO,iBACAi0T,EAAAthF,EAAAl9M,SAAA,aAAA4wE,eACA06H,EAAAhhO,EAAAgzO,eACA1tG,EAAAtlI,EAAAkzO,gBAEAptO,EAAA8tT,EAAAzsS,MAAA2L,KAAsChtB,GAAA8tT,EAAAtvS,IAAAwO,KAAyBhtB,EAAA9F,EAAA8zO,YAAAhuO,EAAA,GAAAgtB,KAAA,CAC/D,IAAA8xC,EAAA5kE,EAAA60O,WAAA,CAAA/uO,IAAA,GAAAivO,GAEAv4O,EAAA,IAAAyC,EAAA+qE,KAAA,CACArnE,MAAA,CACA5F,EAAA6nE,EAAA,GACA5nE,EAAA4nE,EAAA,GACAvnE,MAAA2jO,EACA1jO,OAAAgoI,GAEA95E,OAAA,UACAlwD,MAAA44T,IAEA1zP,EAAAloC,IAAA97B,KAIAs3T,aAAA,SAAAlhF,EAAAghF,EAAA32O,EAAAzc,GACA,IAAA/9B,EAAA1nC,KACAiF,EAAA4yO,EAAA3yO,iBACAk5I,EAAAy5F,EAAAl9M,SAAA,uBAAA8/K,eACAv+F,EAAA27H,EAAApyO,IAAA,kBACAgL,EAAA2tI,EAAA3tI,UACAzQ,KAAAy4T,UAAA,GACAz4T,KAAA04T,UAAA,GACA14T,KAAA24T,iBAAA,GACA34T,KAAA44T,gBAAA,GAGA,IAFA,IAAAlgH,EAAAmgH,EAAAzsS,MAEArhB,EAAA,EAAmB2tM,EAAA3gL,MAAA8gS,EAAAtvS,IAAAwO,KAAqChtB,IAAA,CACxDquT,EAAA1gH,EAAAogC,cAEA,IAAA/tO,IACA2tM,EAAAzzM,EAAAuzO,YAAAqgF,EAAAzsS,MAAAnqB,EAAA,IAAA42T,EAAAzsS,MAAAmB,IAGA,IAAA06H,EAAAywD,EAAAzwD,KACAA,EAAAsyF,SAAAtyF,EAAAywF,WAAA,GACAhgC,EAAAzzM,EAAAuzO,YAAAvwF,GAKA,SAAAmxK,EAAAnxK,GACAvgH,EAAAixR,iBAAAhmT,KAAA1N,EAAAuzO,YAAAvwF,IAEAvgH,EAAAkxR,gBAAAjmT,KAAA1N,EAAA60O,WAAA,CAAA7xF,IAAA,GAAA+xF,IAEA,IAAAtyK,EAAAhgC,EAAA2xR,wBAAAxhF,EAAA5vF,EAAA/lE,GAEAx6C,EAAA+wR,UAAA9lT,KAAA+0D,EAAA,IAEAhgC,EAAAgxR,UAAA/lT,KAAA+0D,IAAAnkE,OAAA,IAEA24G,GAAAx0E,EAAA4xR,eAAA5xP,EAAA02E,EAAA34E,GAbA2zP,EAAAn0T,EAAA8zO,YAAA8/E,EAAAtvS,IAAAwO,KAAA,GAAA+gN,cAiBA58H,GAAAl8G,KAAAs5T,eAAA5xR,EAAA6xR,gBAAA7xR,EAAA+wR,UAAAhoT,EAAAyxE,GAAAk8D,EAAA34E,GAEAy2C,GAAAl8G,KAAAs5T,eAAA5xR,EAAA6xR,gBAAA7xR,EAAAgxR,UAAAjoT,EAAAyxE,GAAAk8D,EAAA34E,IAGA8zP,gBAAA,SAAA7xP,EAAAj3D,EAAAyxE,GACA,IAAAs3O,EAAA,CAAA9xP,EAAA,GAAAxoC,QAAAwoC,IAAAnkE,OAAA,GAAA27B,SACAvhB,EAAA,eAAAukE,EAAA,IAIA,OAFAs3O,EAAA,GAAA77S,GAAA67S,EAAA,GAAA77S,GAAAlN,EAAA,EACA+oT,EAAA,GAAA77S,GAAA67S,EAAA,GAAA77S,GAAAlN,EAAA,EACA+oT,GAGAF,eAAA,SAAA5xP,EAAA02E,EAAA34E,GACA,IAAAg0P,EAAA,IAAAv1T,EAAAi1M,SAAA,CACAz5K,GAAA,GACA93B,MAAA,CACA8/D,UAEAnnE,MAAA69I,IAEA34E,EAAAloC,IAAAk8R,IAGAJ,wBAAA,SAAAxhF,EAAA5vF,EAAA/lE,GACA,IAAAj9E,EAAA4yO,EAAA3yO,iBACA+iJ,EAAAhjJ,EAAAuzO,YAAAvwF,GAGA,IAFA,IAAAvgF,EAAA,GAEA38D,EAAA,EAAmBA,EAAA,EAAOA,IAAA,CAC1B,IAAA2uT,EAAAz0T,EAAA8zO,YAAA9wF,EAAAlwH,KAAAhtB,GACA8+D,EAAA5kE,EAAA60O,WAAA,CAAA4/E,EAAA3hS,OAAA,GACA2vC,EAAA,EAAAgyP,EAAA9gF,KAAA/uK,EAAAmwK,GACAtyK,EAAA,EAAAgyP,EAAA9gF,IAAA,GAAA/uK,EAAA,eAAAqY,EAAA,WAGA,OAAAxa,GAEAiyP,gBAAA,SAAA9pP,EAAA7qD,GACA,wBAAA6qD,KACAF,EAAAk4E,gBAAAh4E,EAAA7qD,GAGA,oBAAA6qD,EACAA,EAAA7qD,GAGAA,EAAAg7F,SAEA45M,yBAAA,SAAAhwN,EAAA//B,EAAAqY,EAAA57E,EAAA88E,GACAvZ,IAAA3qC,QACA,IAAA26R,EAAA,oBAEA,WAAAvzT,GACAujE,EAAA,IAAAuZ,EACAy2O,EAAA,kBACK,SAAAvzT,EACLujE,EAAA,IAAAuZ,EACK,UAAA98E,GACLujE,EAAA,IAAAuZ,EACAy2O,EAAA,kBAGAhwP,EAAA,IAAAuZ,EAGA,IAAA9yC,EAAA,EAMA,MAJA,SAAAhqC,GAAA,UAAAA,IACAgqC,EAAA5pC,KAAAC,GAAA,GAGA,CACAH,SAAA8pC,EACAhqC,SAAAujE,EACAtpE,MAAA,CACAoB,UAAAk4T,EAAA,GACAj4T,kBAAAi4T,EAAA,MAKAb,gBAAA,SAAAnhF,EAAAghF,EAAA32O,EAAAzc,GACA,IAAAmzI,EAAAi/B,EAAAl9M,SAAA,aAEA,GAAAi+K,EAAAnzM,IAAA,SAIA,IAAA29E,EAAAw1H,EAAAnzM,IAAA,UACAq7F,EAAA83G,EAAAnzM,IAAA,YAEAq7F,IACAA,EAAA,eAAA5e,EAAA,cAGA,IAAAxa,EAAA,CAAA1nE,KAAAy4T,UAAAz4T,KAAAy4T,UAAAl1T,OAAA,GAAAvD,KAAA04T,UAAA,IACAoB,GAAApyP,EAAA,MAAAA,EAAA,SACAqyP,GAAAryP,EAAA,MAAAA,EAAA,SACA/pD,EAAA,eAAAukE,EAAA,IACA83O,EAAA,CACAvqR,IAAA,CAAAqqR,EAAApyP,EAAA/pD,GAAA,IACA6xB,OAAA,CAAAsqR,EAAApyP,EAAA,EAAA/pD,GAAA,IACA2xB,KAAA,CAAAo4B,EAAA,EAAA/pD,GAAA,GAAAo8S,GACAxqR,MAAA,CAAAm4B,EAAA/pD,GAAA,GAAAo8S,IAEAzrT,EAAAuqT,EAAAzsS,MAAAnqB,GAEA42T,EAAAtvS,IAAAtnB,GAAA42T,EAAAzsS,MAAAnqB,IACAqM,IAAA,IAAAuqT,EAAAtvS,IAAAtnB,GAGA,IAAA4tE,EAAA+oI,EAAAnzM,IAAA,aACAuf,EAAA,CACAoH,MAAAysS,EAAAzsS,MAAAnqB,EACAsnB,IAAAsvS,EAAAtvS,IAAAtnB,EACA+9G,QAAA1xG,GAGA0Y,EAAAhnB,KAAA25T,gBAAA9pP,EAAA7qD,GAEAi1S,EAAA,IAAA/1T,EAAArE,KAAA,CACA6/B,GAAA,KAEAx7B,EAAA2lG,aAAAowN,EAAA15T,MAAAq4M,EAAA,CACA53M,KAAAgmB,IACKizS,EAAAl2O,KAAA/jF,KAAA45T,yBAAAK,EAAAD,EAAAl5N,GAAA5e,EAAA4e,EAAA1d,IACL3d,EAAAloC,IAAA08R,KAEAC,0BAAA,SAAArwP,EAAAswP,EAAAj4O,EAAA57E,EAAA88E,GACA,IAAAqgE,EAAA,OACA22K,EAAA,MACAp4T,EAAA6nE,EAAA,GACA5nE,EAAA4nE,EAAA,GAwBA,MAtBA,eAAAqY,GACAjgF,GAAAmhF,EAEA+2O,IACA12K,EAAA,UAGA,UAAAn9I,IACA8zT,EAAA,YAGAp4T,GAAAohF,EAEA+2O,IACAC,EAAA,UAGA,UAAA9zT,IACAm9I,EAAA,UAIA,CACAzhJ,IACAC,IACAN,UAAA8hJ,EACA7hJ,kBAAAw4T,IAIAnB,iBAAA,SAAAphF,EAAA31J,EAAAzc,GACA,IAAAkzI,EAAAk/B,EAAAl9M,SAAA,cAEA,GAAAg+K,EAAAlzM,IAAA,SAIA,IAAAu6G,EAAA24F,EAAAlzM,IAAA,WACA29E,EAAAu1H,EAAAlzM,IAAA,UACAq7F,EAAA63G,EAAAlzM,IAAA,YACAg+I,EAAAk1D,EAAAlzM,IAAA,SACA40T,EAAA,CAAAr6T,KAAAy4T,UAAAz4T,KAAA04T,WAEAl5T,EAAAiK,SAAAu2G,KACAA,EAAAq4M,EAAAr4M,EAAApgF,gBAAA,IAGA,IAAAjiB,EAAA,UAAAmjF,EAAA,IACA97F,EAAA,eAAAk9E,EAAA,IACAkB,EAAA,UAAA0d,GAAA1d,IAGA,IAFA,IAAA+2O,EAAA,WAAA12K,EAEA14I,EAAA,EAAmBA,EAAAsvT,EAAA18S,GAAApa,OAAA,EAAgCwH,IAAA,CACnD,IAAAolD,EAAAkqQ,EAAA18S,GAAA5S,GAAAm0B,QACAw5K,EAAA14M,KAAA24T,iBAAA5tT,GAEA,GAAAovT,EAAA,CACA,IAAAG,EAAAt6T,KAAA44T,gBAAA7tT,GACAolD,EAAAnrD,IAAAs1T,EAAAt1T,GAAAq1T,EAAA,GAAAtvT,EAAA,GAAA/F,IAAA,EAGA,IAAA6qE,EAAA8oI,EAAAlzM,IAAA,aACA6I,EAAA0xG,GAAA04F,EAAAnrL,EAAA,GACAvI,EAAA,CACAu1S,KAAA7hH,EAAAz2M,EACA44D,IAAA69I,EAAAz2M,EAAA,IAAAi9B,MAAA,GACAs7R,GAAA9hH,EAAAnrL,EACA46H,GAAAuwD,EAAAnrL,EACAyyF,QAAA1xG,GAGA0Y,EAAAhnB,KAAA25T,gBAAA9pP,EAAA7qD,GAEAy1S,EAAA,IAAAv2T,EAAArE,KAAA,CACA6/B,GAAA,KAEAlgC,EAAAkF,OAAAR,EAAA2lG,aAAA4wN,EAAAl6T,MAAAo4M,EAAA,CACA33M,KAAAgmB,IACOhnB,KAAAk6T,0BAAA/pQ,EAAAgqQ,EAAAj4O,EAAA4e,EAAA1d,IACP3d,EAAAloC,IAAAk9R,MAGAC,yBAAA,SAAA7wP,EAAAqY,EAAA57E,EAAA88E,EAAAo1H,GACA,IAAA/0D,EAAA,SACA22K,EAAA,SACAp4T,EAAA6nE,EAAA,GACA5nE,EAAA4nE,EAAA,GACA8wP,EAAA,UAAAr0T,EAUA,MARA,eAAA47E,GACAlgF,IAAAohF,GAAAu3O,EAAA,MAAAniH,EAAA,KACA/0D,EAAAk3K,EAAA,iBAEA14T,IAAAmhF,GAAAu3O,EAAA,MAAAniH,EAAA,KACA4hH,EAAAO,EAAA,gBAGA,CACA34T,IACAC,IACAN,UAAA8hJ,EACA7hJ,kBAAAw4T,IAIAlB,gBAAA,SAAArhF,EAAAghF,EAAA32O,EAAAzc,GACA,IAAAgzI,EAAAo/B,EAAAl9M,SAAA,YAEA,GAAA89K,EAAAhzM,IAAA,SAIA,IAAAR,EAAA4yO,EAAA3yO,iBACA47F,EAAA23G,EAAAhzM,IAAA,YACAu6G,EAAAy4F,EAAAhzM,IAAA,WACA29E,EAAAq1H,EAAAhzM,IAAA,UACAm1T,EAAA31T,EAAAqzO,oBAEA94O,EAAAiK,SAAAu2G,KACAA,EAAAw4M,EAAAx4M,EAAApgF,gBAAA,IAGA,IAAAxT,EAAAnnB,EAAA8zO,YAAA8/E,EAAAtvS,IAAAwO,KAAA,EAAA8gS,EAAAh+E,OAAA9iN,KACAygL,EAAA,CAAAvzM,EAAAgzO,eAAAhzO,EAAAkzO,iBACA/0J,EAAAojE,EAAA1kE,aAAAsB,EAAAo1H,EAAA,eAAAt2H,EAAA,MAEA,UAAA4e,IACA10E,EAAAnnB,EAAA8zO,YAAA8/E,EAAAzsS,MAAA2L,OAAA,EAAA8gS,EAAAj+E,QAAA7iN,KACAqrD,MAGA,QAAAr4E,EAAA,EAAmBA,EAAA,EAAOA,IAAA,CAC1B,IAAA2uT,EAAAz0T,EAAA8zO,YAAA3sN,EAAArhB,GACA8+D,EAAA5kE,EAAA60O,WAAA,CAAA4/E,EAAA3hS,OAAA,GAAA7b,OACA08N,EAAA7tO,EACA6tO,EAAAlyO,KAAAiR,KAAA5M,EAAA6vT,GAAA,GACA,IAAAC,EAAA,IAAA32T,EAAArE,KAAA,CACA6/B,GAAA,KAEAlgC,EAAAkF,OAAAR,EAAA2lG,aAAAgxN,EAAAt6T,MAAAk4M,EAAA,CACAz3M,KAAAg/G,EAAA44H,KACO54O,KAAA06T,yBAAA7wP,EAAAqY,EAAA4e,EAAA1d,EAAAo1H,IACP/yI,EAAAloC,IAAAs9R,QAKAn4T,EAAAC,QAAAF,0BCjcA,IAAAq4T,EAAkBj8T,EAAQ,OAARA,CAAgB,eAClC0lE,EAAA/mD,MAAAvd,eACAqI,GAAAi8D,EAAAu2P,IAA0Cj8T,EAAQ,OAARA,CAAiB0lE,EAAAu2P,EAAA,IAC3Dp4T,EAAAC,QAAA,SAAAsI,GACAs5D,EAAAu2P,GAAA7vT,IAAA,yBCJA,IAAAuyR,EAAU3+R,EAAQ,QAElB6D,EAAAC,QAAAoG,OAAA,KAAAgyT,qBAAA,GAAAhyT,OAAA,SAAAwE,GACA,gBAAAiwR,EAAAjwR,KAAAkB,MAAA,IAAA1F,OAAAwE,0BCJA7K,EAAAC,QAAA,SAAA4K,GACA,sBAAAA,EAAA,MAAAzJ,UAAAyJ,EAAA,uBACA,OAAAA,2BCkBA,IAAA/N,EAAaX,EAAQ,QAErBqV,EAAqBrV,EAAQ,QAE7BuvM,EAAmBvvM,EAAQ,QAyB3B0sB,EAAA,uBAgBA,SAAAysI,EAAAjzJ,EAAAi2T,GACA,IAAAvvS,EAAAC,EAAA3mB,GACAk2T,EAAAD,EAAApvS,WACAsvS,EAAAF,EAAAG,QAGA37T,EAAA2nB,KAAAsE,EAAA,SAAA02O,EAAAg5D,GACA,IAAAC,EAAAj5D,EAAAi5D,cAEAA,EAAAH,IAAAz7T,EAAA4rC,QAAA4vR,EAAAK,YAAAH,GAAA,WACAE,EAAAH,GACA94D,EAAAxoP,WAGA2hT,EAAA7vS,GACA,IAAA02O,EAAA12O,EAAAyvS,GAEA/4D,IACAA,EAAA12O,EAAAyvS,GAAA,CACAC,QAAAD,EACAE,cAAA,GACAzhT,MAAA,GAEAwoP,EAAA7pP,WAAAijT,EAAAx2T,EAAAo9P,GACAA,EAAA/0J,eAAA5tG,EAAAmqB,MAAAyjF,EAAAroG,KAIAo9P,EAAAi5D,cAAAH,IAAA94D,EAAAxoP,QACAwoP,EAAAi5D,cAAAH,GAAAD,EACA,IAAAQ,EAAAC,EAAAt5D,EAAAi5D,eACAj5D,EAAA7pP,WAAApD,OAAAsmT,EAAArmT,YAAAqmT,EAAApmT,KAEA+sP,EAAA7pP,WAAArD,kBAAA+lT,EAAAU,eAEAttH,EAAAI,eAAA2zD,EAAA,iBAAA64D,EAAAlvS,cAAArmB,IAAA,0BASA,SAAAm6S,EAAA76S,EAAA6mB,GACA,IAAAH,EAAAC,EAAA3mB,GACAvF,EAAA2nB,KAAAsE,EAAA,SAAA02O,GACAA,EAAA7pP,WAAAxC,UACA,IAAAslT,EAAAj5D,EAAAi5D,cAEAA,EAAAxvS,YACAwvS,EAAAxvS,GACAu2O,EAAAxoP,WAGA2hT,EAAA7vS,GAOA,SAAAkwS,EAAAC,GACA,OAAAA,EAAAz7T,KAAA,MAAAy7T,EAAA3vS,GAQA,SAAAP,EAAA3mB,GAGA,IAAAoP,EAAApP,EAAA2sB,QACA,OAAAvd,EAAAoX,KAAApX,EAAAoX,GAAA,IAGA,SAAAgwS,EAAAx2T,EAAA82T,GACA,IAAAvjT,EAAA,IAAApE,EAAAnP,EAAA2sB,SAsBA,OArBAlyB,EAAA2nB,KAAA,qCAAA5O,GACAD,EAAA1C,GAAA2C,EAAA,SAAApB,GACA,IAAAktM,EAAA,GACA7kN,EAAA2nB,KAAA00S,EAAAT,cAAA,SAAA/oH,GAGA,GAAAl7L,EAAAR,oBAAA07L,EAAAvmL,cAAA3I,QAAA,CAIA,IAAAgjI,GAAAksD,EAAAypH,UAAA,IAAyCvjT,GACzCy/F,EAAAmuC,KAAA01K,EAAAvjT,WAAAnB,IACAk7L,EAAAvmL,cAAArmB,IAAA,gBAAAuyG,GAAAqsG,EAAA1xM,KAAA,CACAiZ,WAAAymL,EAAAzmL,WACAQ,MAAA4rF,EAAA,GACAzuF,IAAAyuF,EAAA,QAGAqsG,EAAA9gN,QAAAs4T,EAAAzuN,eAAAi3G,OAGA/rM,EAGA,SAAAgjT,EAAA7vS,GACAjsB,EAAA2nB,KAAAsE,EAAA,SAAA02O,EAAAg5D,GACAh5D,EAAAxoP,QACAwoP,EAAA7pP,WAAAxC,iBACA2V,EAAA0vS,MASA,SAAA/tN,EAAAroG,EAAAs/M,GACAt/M,EAAAqoG,eAAA,CACAjtG,KAAA,WACAkkN,UAQA,SAAAo3G,EAAAL,GACA,IAAAjmT,EAGA+gB,EAAA,QACA6lS,EAAA,CACAC,UAAA,EACAC,UAAA,EACAC,WAAA,EACAC,gBAAA,GAEAxmT,GAAA,EAaA,OAZAnW,EAAA2nB,KAAAi0S,EAAA,SAAAJ,GACA,IAAAlvS,EAAAkvS,EAAAlvS,cACAswS,GAAAtwS,EAAArmB,IAAA,kBAAAqmB,EAAArmB,IAAA,wBAEAs2T,EAAA7lS,EAAAkmS,GAAAL,EAAA7lS,EAAA/gB,KACAA,EAAAinT,GAKAzmT,GAAAmW,EAAArmB,IAAA,gCAEA,CACA0P,cACAC,IAAA,CAIAI,kBAAA,EACAC,iBAAA,EACAC,kBAAA,EACAC,8BAKAhT,EAAAq1J,WACAr1J,EAAAi9S,aACAj9S,EAAAg5T,0CCrNA,IAAAn8T,EAAaX,EAAQ,QAErBY,EAAkBZ,EAAQ,QAE1BigH,EAAWjgH,EAAQ,QAEnBs8I,EAAat8I,EAAQ,QAErB8jB,EAAAw4H,EAAAx4H,UAoBAD,EAAAC,IAEA,SAAA05S,EAAAtkT,EAAA64S,GACAA,KAAA,QACA9xM,EAAA/+G,KAAAC,KAAA,QAAA+X,EAAA64S,GAUA5wT,KAAAG,KAAA,WAGAk8T,EAAAp8T,UAAA,CACAC,YAAAm8T,EAKAh7M,YAAA,SAAAx3C,EAAAzqC,GACA,OAAAp/B,KAAA8wM,MAAAzvF,YAAAx3C,EAAAzqC,GAAA,WAAAp/B,KAAAsb,IAAA,MAEAghT,YAAAx9M,EAAA7+G,UAAAmhH,YACAm7M,YAAAz9M,EAAA7+G,UAAAylJ,YASAa,0BAAA,WACA,IAAAvhJ,EAAAhF,KACA0pG,EAAA1kG,EAAA6/I,gBACA23K,EAAAx3T,EAAA+S,MACA0kT,EAAAD,EAAAxhT,YAIAkgP,EAAAshE,EAAA7iT,QAEA,GAAA8iT,EAAA,GAAAA,EAAA,KACA,SAGA,IAAAn6K,EAAAm6K,EAAA,GACAC,EAAA13T,EAAAo8G,YAAAkhC,EAAA,GAAAt9I,EAAAo8G,YAAAkhC,GACAq6K,EAAAj2T,KAAAiR,IAAA+kT,GAGAj7T,EAAAhC,EAAA8B,gBAAA+gJ,EAAA54C,EAAAwqG,UAAA,gBACA0oH,EAAAl2T,KAAAS,IAAA1F,EAAAc,OAAA,GACAyjO,EAAA42F,EAAAD,EAEA/iT,MAAAosN,OAAAlsN,KACA,IAAA4C,EAAAhW,KAAAS,IAAA,EAAAT,KAAAmK,MAAAm1N,IACA3jM,EAAA3f,EAAA1d,EAAA2e,OACAk5S,EAAAx6R,EAAAw6R,iBACAC,EAAAz6R,EAAAy6R,cAeA,OAXA,MAAAD,GAAA,MAAAC,GAAAp2T,KAAAiR,IAAAklT,EAAAngT,IAAA,GAAAhW,KAAAiR,IAAAmlT,EAAA5hE,IAAA,GAEA2hE,EAAAngT,EACAA,EAAAmgT,GAIAx6R,EAAAy6R,cAAA5hE,EACA74N,EAAAw6R,iBAAAngT,GAGAA,IAGAld,EAAAgD,SAAA65T,EAAAv9M,GACA,IAAAr8G,EAAA45T,EACA35T,EAAAC,QAAAF,wBCnIA,IAAAmsQ,EAAU/vQ,EAAQ,QAAc+E,EAChCiwF,EAAUh1F,EAAQ,QAClB4+R,EAAU5+R,EAAQ,OAARA,CAAgB,eAE1B6D,EAAAC,QAAA,SAAA4K,EAAA2+N,EAAA6wF,GACAxvT,IAAAsmF,EAAAtmF,EAAAwvT,EAAAxvT,IAAAtN,UAAAw9R,IAAA7uB,EAAArhQ,EAAAkwR,EAAA,CAAoE9vQ,cAAA,EAAA1pB,MAAAioO,2BCepE,IAAAttO,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAER,IAAAm+T,EAAqBn+T,EAAQ,QAE7BE,EAAmBF,EAAQ,QAE3Bo+T,EAAqBp+T,EAAQ,QAE7Bq+T,EAAiBr+T,EAAQ,QAEzB01T,EAAmB11T,EAAQ,QAE3B29M,EAAqB39M,EAAQ,QAE7Bw1T,EAAkBx1T,EAAQ,QAE1Bs+T,EAAiBt+T,EAAQ,QAoBzBD,EAAAS,kBAAA29T,GACAp+T,EAAAO,eAAAJ,EAAA,wBACAH,EAAAO,eAAA89T,GACAr+T,EAAAO,eAAA+9T,GACAt+T,EAAAQ,eAAAm1T,GACA31T,EAAAQ,eAAAo9M,GACA59M,EAAAQ,eAAAi1T,GAEAz1T,EAAA6gH,yBAAA,aACA3wE,OAAAquR,uCCjEe,SAAAC,EACfC,EACAnqQ,EACAuxP,EACA6Y,EACAC,EACAC,EACAC,EACAC,GAGA,IAqBA58D,EArBAjxP,EAAA,oBAAAwtT,EACAA,EAAAxtT,QACAwtT,EAiDA,GA9CAnqQ,IACArjD,EAAAqjD,SACArjD,EAAA40S,kBACA50S,EAAA8tT,WAAA,GAIAL,IACAztT,EAAA2vP,YAAA,GAIAg+D,IACA3tT,EAAA+tT,SAAA,UAAAJ,GAIAC,GACA38D,EAAA,SAAAp9O,GAEAA,EACAA,GACA1jB,KAAAogQ,QAAApgQ,KAAAogQ,OAAAy9D,YACA79T,KAAA2xE,QAAA3xE,KAAA2xE,OAAAyuL,QAAApgQ,KAAA2xE,OAAAyuL,OAAAy9D,WAEAn6S,GAAA,qBAAAo6S,sBACAp6S,EAAAo6S,qBAGAP,GACAA,EAAAx9T,KAAAC,KAAA0jB,GAGAA,KAAAq6S,uBACAr6S,EAAAq6S,sBAAAxgS,IAAAkgS,IAKA5tT,EAAAmuT,aAAAl9D,GACGy8D,IACHz8D,EAAA48D,EACA,WAAqBH,EAAAx9T,KAAAC,UAAAi+T,MAAAn4D,SAAAo4D,aACrBX,GAGAz8D,EACA,GAAAjxP,EAAA2vP,WAAA,CAGA3vP,EAAAsuT,cAAAr9D,EAEA,IAAAs9D,EAAAvuT,EAAAqjD,OACArjD,EAAAqjD,OAAA,SAAAnyC,EAAA2C,GAEA,OADAo9O,EAAA/gQ,KAAA2jB,GACA06S,EAAAr9S,EAAA2C,QAEK,CAEL,IAAA26S,EAAAxuT,EAAAm2P,aACAn2P,EAAAm2P,aAAAq4D,EACA,GAAA30Q,OAAA20Q,EAAAv9D,GACA,CAAAA,GAIA,OACAn+P,QAAA06T,EACAxtT,WA1FAhR,EAAA2d,EAAA0R,EAAA,sBAAAkvS,0BCAA,IAAAxxQ,EAGAA,EAAA,WACA,OAAA5rD,KADA,GAIA,IAEA4rD,KAAA,IAAA1B,SAAA,iBACC,MAAA/zC,GAED,kBAAAxL,SAAAihD,EAAAjhD,QAOAjI,EAAAC,QAAAipD,0BCCA,IAAApsD,EAAaX,EAAQ,QAErBupF,EAAWvpF,EAAQ,QAEnB2nJ,EAAiB3nJ,EAAQ,QAEzBy/T,EAAmBz/T,EAAQ,QAE3BwuP,EAAexuP,EAAQ,QAEvB0/T,EAAiB1/T,EAAQ,QAoBzB2/T,EAAA,SAAAlkT,EAAArV,EAAAw5T,EAAA55P,GACA,IAAAt5D,EAAA+O,EAAAE,UAEAkkT,EAAA75P,EAAA1kE,KAEA,IAAAX,EAAAwJ,QAAA67D,KAAA,QAAA65P,GAAA,QAAAA,GAAA,YAAAA,GAAA,WAAAA,GAIA,MAAA75P,EAAAgc,OAAA,MAAAhc,EAAA+b,OAAA,CACA,IACA+9O,EACA16T,EAEA,SAAA4gE,EAAA+b,OAAA,MAAA/b,EAAAgc,MACA89O,EAAA,MAAA95P,EAAA+b,MAAA,QACA37E,EAAAg3I,QAAA0iL,GACA16T,EAAAzE,EAAAq9B,SAAAgoC,EAAA+b,MAAA/b,EAAAgc,WACK,CACL,IAAA68D,EAAA4gL,EAAAM,YAAA/5P,EAAAt5D,EAAAtG,EAAAqV,GACAqkT,EAAAjhL,EAAAihL,aACAjhL,EAAA7iI,UACA5W,EAAAq6T,EAAAO,aAAAtzT,EAAAozT,EAAAD,GAGA,IAAAI,EAAA,MAAAH,EAAA,IACAI,EAAA,EAAAD,EACAE,EAAAx/T,EAAA+V,MAAAsvD,GACAo6P,EAAA,GACAD,EAAA7+T,KAAA,KACA6+T,EAAAz+S,MAAA,GACA0+S,EAAA1+S,MAAA,GACAy+S,EAAAz+S,MAAAw+S,IAAAjlT,IACAmlT,EAAA1+S,MAAAw+S,GAAAjlT,IACA,IAAA48C,EAAA+nQ,EAAAh5T,IAAA,aAEAixD,GAAA,qBAAAzyD,IACAA,KAAAq0G,QAAA5xG,KAAAQ,IAAAwvD,EAAA,MAGAsoQ,EAAAz+S,MAAAu+S,GAAAG,EAAA1+S,MAAAu+S,GAAA76T,EACA4gE,EAAA,CAAAm6P,EAAAC,EAAA,CAEA9+T,KAAAu+T,EACAI,WAAAj6P,EAAAi6P,WAEA76T,UAUA,OANA4gE,EAAA,CAAAy5P,EAAAY,cAAA5kT,EAAAuqD,EAAA,IAAAy5P,EAAAY,cAAA5kT,EAAAuqD,EAAA,IAAArlE,EAAAkF,OAAA,GAA8HmgE,EAAA,KAE9HA,EAAA,GAAA1kE,KAAA0kE,EAAA,GAAA1kE,MAAA,GAEAX,EAAA2L,MAAA05D,EAAA,GAAAA,EAAA,IACArlE,EAAA2L,MAAA05D,EAAA,GAAAA,EAAA,IACAA,GAGA,SAAAs6P,EAAAl2T,GACA,OAAA2Q,MAAA3Q,KAAA8Q,SAAA9Q,GAIA,SAAAm2T,EAAAr4T,EAAAs4T,EAAA3wG,EAAAzpN,GACA,IAAAq6T,EAAA,EAAAv4T,EACA2xE,EAAAzzE,EAAAwzE,WAAA1xE,GACA,OAAAo4T,EAAAE,EAAAC,KAAAH,EAAAzwG,EAAA4wG,KAAAD,EAAAt4T,KAAA2nN,EAAA3nN,IAAA9B,EAAAg3I,QAAAvjE,GAAA+sE,YAAA45K,EAAAt4T,IAGA,SAAAw4T,EAAAt6T,EAAA4/D,GACA,mBAAA5/D,EAAA9E,KAAA,CACA,IAAAk/T,EAAAx6P,EAAA,GAAAtkD,MACAmuM,EAAA7pJ,EAAA,GAAAtkD,MAOA,GAAA8+S,GAAA3wG,IAAA0wG,EAAA,EAAAC,EAAA3wG,EAAAzpN,IAAAm6T,EAAA,EAAAC,EAAA3wG,EAAAzpN,IACA,SAIA,OAAAq5T,EAAAr/T,WAAAgG,EAAA4/D,EAAA,KAAAy5P,EAAAr/T,WAAAgG,EAAA4/D,EAAA,IAGA,SAAA26P,EAAAj0T,EAAAoS,EAAA8hT,EAAAnlT,EAAAvV,GACA,IAEA8kE,EAFA5kE,EAAAqV,EAAApV,iBACAgmB,EAAA3f,EAAA4f,aAAAxN,GAEA+hT,EAAAl5K,EAAA1kE,aAAA52D,EAAAzlB,IAAA,KAAAV,EAAAwJ,YACAoxT,EAAAn5K,EAAA1kE,aAAA52D,EAAAzlB,IAAA,KAAAV,EAAAu5D,aAEA,GAAA1kD,MAAA8lT,IAAA9lT,MAAA+lT,GAEG,CAEH,GAAArlT,EAAAslT,kBAEA/1P,EAAAvvD,EAAAslT,kBAAAr0T,EAAAy9Q,UAAAz9Q,EAAAktE,WAAA96D,QACK,CACL,IAAAwpE,EAAAliF,EAAAwzE,WACAz2E,EAAAuJ,EAAA9F,IAAA0hF,EAAA,GAAAxpE,GACA1b,EAAAsJ,EAAA9F,IAAA0hF,EAAA,GAAAxpE,GACAksD,EAAA5kE,EAAAM,YAAA,CAAAvD,EAAAC,IAYA,mBAAAgD,EAAA9E,KAAA,CACA,IAAA0gF,EAAA57E,EAAAg3I,QAAA,KACAr7D,EAAA37E,EAAAg3I,QAAA,KACA90D,EAAAliF,EAAAwzE,WAEA0mP,EAAA5zT,EAAA9F,IAAA0hF,EAAA,GAAAxpE,IACAksD,EAAA,GAAAgX,EAAAupJ,cAAAvpJ,EAAA7lE,YAAAykT,EAAA,MACON,EAAA5zT,EAAA9F,IAAA0hF,EAAA,GAAAxpE,MACPksD,EAAA,GAAA+W,EAAAwpJ,cAAAxpJ,EAAA5lE,YAAAykT,EAAA,OAKA7lT,MAAA8lT,KACA71P,EAAA,GAAA61P,GAGA9lT,MAAA+lT,KACA91P,EAAA,GAAA81P,QAxCA91P,EAAA,CAAA61P,EAAAC,GA4CAp0T,EAAAkoK,cAAA91J,EAAAksD,GAGA,IAAApnE,EAAA87T,EAAA75T,OAAA,CACAvE,KAAA,WAwBAmiH,gBAAA,SAAAu9M,EAAAtlT,EAAAxV,GACAwV,EAAAkkG,WAAA,SAAAnkG,GACA,IAAAmkT,EAAAnkT,EAAAulT,cAEA,GAAApB,EAAA,CACA,IAAApsE,EAAAosE,EAAAjkT,UACAslT,EAAArB,EAAAvhD,OACA6iD,EAAAtB,EAAAuB,KAEAF,EAAA34S,KAAA,SAAAxJ,GACA6hT,EAAAM,EAAAniT,GAAA,EAAArD,EAAAvV,GACAy6T,EAAAO,EAAApiT,GAAA,EAAArD,EAAAvV,KAGAstP,EAAAlrO,KAAA,SAAAxJ,GACA00O,EAAA5+E,cAAA91J,EAAA,CAAAmiT,EAAArqJ,cAAA93J,GAAAoiT,EAAAtqJ,cAAA93J,OAEA3d,KAAAigU,eAAAx6T,IAAA6U,EAAA2R,IAAAqhF,iBAEKttG,OAELkgU,aAAA,SAAA5lT,EAAAmkT,EAAAlkT,EAAAxV,GACA,IAAAE,EAAAqV,EAAApV,iBACA4sL,EAAAx3K,EAAA2R,GACAwpS,EAAAn7S,EAAAE,UACA2lT,EAAAngU,KAAAigU,eACAxyE,EAAA0yE,EAAA16T,IAAAqsL,IAAAquI,EAAA/sS,IAAA0+J,EAAA,IAAAu7D,GACArtP,KAAAylE,MAAAloC,IAAAkwN,EAAAhoL,OACA,IAAA4sL,EAAAlrE,EAAAliL,EAAAqV,EAAAmkT,GACAqB,EAAAztE,EAAAhqM,KACA03Q,EAAA1tE,EAAA9lC,GACAhrC,EAAA8wE,EAAA7qP,KACAi3T,EAAAvhD,OAAA4iD,EACArB,EAAAuB,KAAAD,EAEAtB,EAAAtjT,QAAAomK,GACA,IAAAj3J,EAAAm0S,EAAAh5T,IAAA,UACA6X,EAAAmhT,EAAAh5T,IAAA,cAsCA,SAAA26T,EAAA70T,EAAAoS,EAAA8hT,GACA,IAAAv0S,EAAA3f,EAAA4f,aAAAxN,GACA6hT,EAAAj0T,EAAAoS,EAAA8hT,EAAAnlT,EAAAvV,GACAwG,EAAA0f,cAAAtN,EAAA,CACAL,WAAA4N,EAAAzlB,IAAA,eAAA6X,EAAAmiT,EAAA,KACAh1S,OAAAS,EAAAzlB,IAAA,cAAA6kB,EAAAm1S,EAAA,KACA34S,MAAAoE,EAAAzlB,IAAA,oBAAAgwT,EAAAl4S,UAAA,WA1CA/d,EAAAwJ,QAAAshB,KACAA,EAAA,CAAAA,MAGA,kBAAAhN,IACAA,EAAA,CAAAA,MAIA+0O,EAAAhqM,KAAAlhC,KAAA,SAAAxJ,GACAyiT,EAAAN,EAAAniT,GAAA,GACAyiT,EAAAL,EAAApiT,GAAA,KAGA4jK,EAAAp6J,KAAA,SAAAxJ,GACA,IAAAmhI,EAAAyiC,EAAAp2J,aAAAxN,GAAAlY,IAAA,mBACA87K,EAAAt2J,cAAAtN,EAAA,CACAmJ,MAAAg4H,GAAAghL,EAAAt4S,cAAA7J,EAAA,WAEA4jK,EAAA9N,cAAA91J,EAAA,CAAAmiT,EAAArqJ,cAAA93J,GAAAoiT,EAAAtqJ,cAAA93J,KACA4jK,EAAAt2J,cAAAtN,EAAA,CACA0iT,eAAAP,EAAAt4S,cAAA7J,EAAA,cACAG,WAAAgiT,EAAAt4S,cAAA7J,EAAA,UACA2iT,aAAAP,EAAAv4S,cAAA7J,EAAA,cACAI,SAAAgiT,EAAAv4S,cAAA7J,EAAA,cAGA8vO,EAAAhtJ,WAAA8gF,GAGA8wE,EAAA7qP,KAAAotN,kBAAA,SAAA7jL,EAAApzB,GACAozB,EAAA5e,SAAA,SAAAC,GACAA,EAAA6xL,UAAAw6G,MAcAhxE,EAAA8yE,QAAA,EACA9yE,EAAAhoL,MAAA4hD,OAAAo3M,EAAAh5T,IAAA,WAAA6U,EAAA7U,IAAA,aAWA,SAAA0hL,EAAAliL,EAAAqV,EAAAmkT,GACA,IAAA+B,EAGAA,EADAv7T,EACAzF,EAAA4N,IAAAnI,KAAAwzE,WAAA,SAAAhwD,GACA,IAAA4pL,EAAA/3L,EAAAE,UAAA6L,iBAAA/L,EAAAE,UAAAa,aAAAoN,KAAA,GAEA,OAAAjpB,EAAA8V,SAAA,CACAhH,KAAAma,GACO4pL,KAGP,EACA/jM,KAAA,QACAnO,KAAA,UAIA,IAAA2/T,EAAA,IAAA13O,EAAAo4O,EAAA/B,GACAsB,EAAA,IAAA33O,EAAAo4O,EAAA/B,GAEAl9I,EAAA,IAAAn5F,EAAA,GAAAq2O,GACAgC,EAAAjhU,EAAA4N,IAAAqxT,EAAAh5T,IAAA,QAAAjG,EAAAmqB,MAAA60S,EAAAlkT,EAAArV,EAAAw5T,IAEAx5T,IACAw7T,EAAAjhU,EAAAqoD,OAAA44Q,EAAAjhU,EAAAmqB,MAAA41S,EAAAt6T,KAGA,IAAAq/R,EAAAr/R,EAAAq5T,EAAAh6B,eAAA,SAAAz/N,GACA,OAAAA,EAAA5gE,OAYA,OAVA67T,EAAAx3O,SAAA9oF,EAAA4N,IAAAqzT,EAAA,SAAA57P,GACA,OAAAA,EAAA,KACG,KAAAy/N,GACHy7B,EAAAz3O,SAAA9oF,EAAA4N,IAAAqzT,EAAA,SAAA57P,GACA,OAAAA,EAAA,KACG,KAAAy/N,GACH/iH,EAAAj5F,SAAA9oF,EAAA4N,IAAAqzT,EAAA,SAAA57P,GACA,OAAAA,EAAA,MAEA08G,EAAAz2J,eAAA,EACA,CACAu9B,KAAAy3Q,EACAvzG,GAAAwzG,EACAv4T,KAAA+5K,GAIA7+K,EAAAC,QAAAF,0BCvVA,IAAA7D,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAER,IAAAmrR,EAAmBnrR,EAAQ,QAE3B6hU,EAAwB7hU,EAAQ,QAEhC8hU,EAAwB9hU,EAAQ,QAoBhCD,EAAAU,qBAAA0qR,GACAprR,EAAAO,eAAAuhU,GACA9hU,EAAAQ,eAAAuhU,2BCpDA,IAAAphU,EAAkBV,EAAQ,QAE1B4O,EAAmB5O,EAAQ,QAE3BW,EAAaX,EAAQ,QAErB6O,EAAkB7O,EAAQ,QAQ1B,SAAA2/N,EAAA1+N,GACAP,EAAAQ,KAAAC,KAAAF,GAGA0+N,EAAAv+N,UAAA,CACAC,YAAAs+N,EACAr+N,KAAA,QACAC,MAAA,SAAAC,EAAAC,GACA,IAAAC,EAAAP,KAAAO,MACA22B,EAAA32B,EAAAuS,MAEAvS,EAAAqI,KAAAvI,EAAAL,KAAAM,GACA,IAAAwS,EAAA9S,KAAA4gU,OAAAlzT,EAAA+6I,oBAAAvxH,EAAAl3B,KAAA4gU,OAAA5gU,UAAAi3B,QAEA,GAAAnkB,GAAApF,EAAAsF,aAAAF,GAAA,CAWA,IAAA9Q,EAAAzB,EAAAyB,GAAA,EACAC,EAAA1B,EAAA0B,GAAA,EACAK,EAAA/B,EAAA+B,MACAC,EAAAhC,EAAAgC,OACAqe,EAAA9N,EAAAxQ,MAAAwQ,EAAAvQ,OAeA,GAbA,MAAAD,GAAA,MAAAC,EAEAD,EAAAC,EAAAqe,EACK,MAAAre,GAAA,MAAAD,EACLC,EAAAD,EAAAse,EACK,MAAAte,GAAA,MAAAC,IACLD,EAAAwQ,EAAAxQ,MACAC,EAAAuQ,EAAAvQ,QAIAvC,KAAAkB,aAAAb,GAEAE,EAAA2lO,QAAA3lO,EAAA4lO,QAAA,CACA,IAAAn1L,EAAAzwC,EAAAywC,IAAA,EACAC,EAAA1wC,EAAA0wC,IAAA,EACA5wC,EAAAy1B,UAAAhjB,EAAAk+B,EAAAC,EAAA1wC,EAAA2lO,OAAA3lO,EAAA4lO,QAAAnkO,EAAAC,EAAAK,EAAAC,QACK,GAAAhC,EAAAywC,IAAAzwC,EAAA0wC,GAAA,CACLD,EAAAzwC,EAAAywC,GACAC,EAAA1wC,EAAA0wC,GADA,IAEAi1L,EAAA5jO,EAAA0uC,EACAm1L,EAAA5jO,EAAA0uC,EACA5wC,EAAAy1B,UAAAhjB,EAAAk+B,EAAAC,EAAAi1L,EAAAC,EAAAnkO,EAAAC,EAAAK,EAAAC,QAEAlC,EAAAy1B,UAAAhjB,EAAA9Q,EAAAC,EAAAK,EAAAC,GAIA,MAAAhC,EAAAS,OAEAhB,KAAAoB,iBAAAf,GACAL,KAAAgZ,aAAA3Y,EAAAL,KAAAuB,sBAGAA,gBAAA,WACA,IAAAhB,EAAAP,KAAAO,MAMA,OAJAP,KAAAwB,QACAxB,KAAAwB,MAAA,IAAAiM,EAAAlN,EAAAyB,GAAA,EAAAzB,EAAA0B,GAAA,EAAA1B,EAAA+B,OAAA,EAAA/B,EAAAgC,QAAA,IAGAvC,KAAAwB,QAGAhC,EAAAgD,SAAAg8N,EAAAj/N,GACA,IAAAkD,EAAA+7N,EACA97N,EAAAC,QAAAF,0BCvEA,IAAAjD,EAAaX,EAAQ,QAErBs2N,EAAkBt2N,EAAQ,QAE1BqF,EAAcrF,EAAQ,QAEtBwF,EAAuBxF,EAAQ,QAE/ByF,EAAezF,EAAQ,QAoBvBu2N,EAAA,wCACAyrG,EAAA,YACAC,EAAAx8T,EAAAI,OAAA,CACAvE,KAAA,aACAm1N,iBAAA,oBACApiK,OAAA,SAAAruD,EAAA0V,EAAAxV,EAAAynB,GACA,IAAAi5C,EAAAzlE,KAAAylE,MACAA,EAAApB,YACA,IAAAp+D,EAAA5B,EAAA4B,OAAApB,GACAixN,EAAA,IAAAX,EAAAtwN,EAAAoB,GACAzG,EAAA2nB,KAAAiuM,EAAAU,EAAAv4L,IAAAu4L,GACArwJ,EAAAloC,IAAAu4L,EAAAC,YAEAlxN,EAAAY,IAAAo7T,EAAA,UACA7gU,KAAA,IAAA6gU,GAAAh8T,GAGAi8T,EAAAp3I,UAAA1pL,KAAA,SAAA6E,EAAA0V,EAAAxV,EAAAynB,IAEAwpM,WAAA,SAAAnxN,GACA,IAAAG,EAAAH,EAAAG,KAEA,IAAAA,EAAA+S,MAAAsoI,UAAA,CAIA,IAAAC,EAAAz7I,EAAA81B,SAAA,aACAyjH,EAAAkC,EAAA3lH,SAAA,aACAlqB,EAAA2tI,EAAA34I,IAAA,SACA86I,EAAAnC,EAAA34I,IAAA,SACA86I,eAAA/iI,MAAA+iI,EAAA,CAAAA,GAWA,IAVA,IAAAwgL,EAAAl8T,EAAAK,iBAAAiD,UACAD,EAAAlD,EAAAkD,eACA+tN,EAAA,GACArwB,EAAA,EACAplD,EAAAx7I,EAAAy7I,eAAA,CACAC,UAAAJ,IAEAhkI,EAAA,GACAC,EAAA,GAEAxR,EAAA,EAAmBA,EAAAy1I,EAAAj9I,SAAwBwH,EAAA,CAC3C,IAAA41I,EAAA37I,EAAAolO,cAAA5pF,EAAAz1I,GAAAwV,OAEArY,GACAoU,EAAA,GAAAqkI,EACArkI,EAAA,GAAAykT,EAAA9+T,EACAsa,EAAA,GAAAokI,EACApkI,EAAA,GAAAwkT,EAAA9+T,EAAA8+T,EAAAx+T,SAEA+Z,EAAA,GAAAykT,EAAA/+T,EACAsa,EAAA,GAAAqkI,EACApkI,EAAA,GAAAwkT,EAAA/+T,EAAA++T,EAAAz+T,MACAia,EAAA,GAAAokI,GAGA,IAAAu1E,EAAAtwB,IAAArlD,EAAAh9I,OACA0yN,EAAAC,GAAAD,EAAAC,IAAA,GACAD,EAAAC,GAAAvjN,KAAA,IAAAzO,EAAAupM,KAAAvpM,EAAAyD,qBAAA,CACAC,MAAA,CACAgoD,GAAAtzC,EAAA,GACAuzC,GAAAvzC,EAAA,GACAkjB,GAAAjjB,EAAA,GACAkjB,GAAAljB,EAAA,IAEAhc,MAAA,CACAkQ,aAEA42G,QAAA,MAIA,IAAAt8G,EAAA,EAAmBA,EAAAkrN,EAAA1yN,SAAuBwH,EAC1C/K,KAAAylE,MAAAloC,IAAAr5B,EAAAkyN,UAAAH,EAAAlrN,GAAA,CACAxK,MAAA,CACAI,OAAA4/I,EAAAx1I,EAAAw1I,EAAAh9I,QACA0gO,SAAA7lF,EAAA4iL,YAAAvwT,GACAA,aAEA42G,QAAA,SAKA5kH,EAAAq+T,EACAp+T,EAAAC,QAAAF,0BCrIA,IAAAkK,EAAU9N,EAAQ,QAElBgwH,EAAA,CACAn7D,YAAA,UACAo7D,UAAA,gBACAC,aAAA,gBACAC,KAAA,cACAC,WAAA,gBACAC,MAAA,gBACAC,MAAA,gBACAC,OAAA,gBACAC,MAAA,UACAC,eAAA,gBACAC,KAAA,YACAC,WAAA,eACAC,MAAA,cACAC,UAAA,gBACAC,UAAA,eACAC,WAAA,cACAC,UAAA,eACAC,MAAA,eACAC,eAAA,gBACAC,SAAA,gBACAC,QAAA,cACAC,KAAA,cACAC,SAAA,YACAC,SAAA,cACAC,cAAA,eACAC,SAAA,gBACAC,UAAA,YACAC,SAAA,gBACAC,UAAA,gBACAC,YAAA,cACAC,eAAA,cACAC,WAAA,cACAC,WAAA,eACAC,QAAA,YACAC,WAAA,gBACAC,aAAA,gBACAC,cAAA,cACAC,cAAA,aACAC,cAAA,aACAC,cAAA,cACAC,WAAA,cACAC,SAAA,eACAC,YAAA,cACAC,QAAA,gBACAC,QAAA,gBACAC,WAAA,eACAC,UAAA,cACAC,YAAA,gBACAC,YAAA,cACAC,QAAA,cACAC,UAAA,gBACAC,WAAA,gBACAC,KAAA,cACAC,UAAA,eACAC,KAAA,gBACAC,MAAA,YACAC,YAAA,eACAC,KAAA,gBACAC,SAAA,gBACAC,QAAA,gBACAC,UAAA,cACAC,OAAA,aACAC,MAAA,gBACAC,MAAA,gBACAC,SAAA,gBACAC,cAAA,gBACAC,UAAA,cACAC,aAAA,gBACAC,UAAA,gBACAC,WAAA,gBACAC,UAAA,gBACAC,qBAAA,gBACAC,UAAA,gBACAC,WAAA,gBACAC,UAAA,gBACAC,UAAA,gBACAC,YAAA,gBACAC,cAAA,eACAC,aAAA,gBACAC,eAAA,gBACAC,eAAA,gBACAC,eAAA,gBACAC,YAAA,gBACAC,KAAA,YACAC,UAAA,cACAC,MAAA,gBACAC,QAAA,cACAC,OAAA,YACAC,iBAAA,gBACAC,WAAA,YACAC,aAAA,eACAC,aAAA,gBACAC,eAAA,eACAC,gBAAA,gBACAC,kBAAA,cACAC,gBAAA,eACAC,gBAAA,eACAC,aAAA,cACAC,UAAA,gBACAC,UAAA,gBACAC,SAAA,gBACAC,YAAA,gBACAC,KAAA,YACAC,QAAA,gBACAC,MAAA,cACAC,UAAA,eACAC,OAAA,cACAC,UAAA,aACAC,OAAA,gBACAC,cAAA,gBACAC,UAAA,gBACAC,cAAA,gBACAC,cAAA,gBACAC,WAAA,gBACAC,UAAA,gBACAC,KAAA,eACAC,KAAA,gBACAC,KAAA,gBACAC,WAAA,gBACAC,OAAA,cACAC,IAAA,YACAC,UAAA,gBACAC,UAAA,eACAC,YAAA,cACAC,OAAA,gBACAC,WAAA,eACAC,SAAA,cACAC,SAAA,gBACAC,OAAA,cACAC,OAAA,gBACAC,QAAA,gBACAC,UAAA,eACAC,UAAA,gBACAC,UAAA,gBACAC,KAAA,gBACAC,YAAA,cACAC,UAAA,eACA57D,IAAA,gBACA67D,KAAA,cACAC,QAAA,gBACAC,OAAA,cACAC,UAAA,eACAC,OAAA,gBACAC,MAAA,gBACAC,MAAA,gBACAC,WAAA,gBACAC,OAAA,cACAC,YAAA,gBAGA,SAAAC,EAAAjtH,GAIA,OAFAA,EAAArE,KAAAwT,MAAAnP,GAEAA,EAAA,IAAAA,EAAA,QAAAA,EAGA,SAAAktH,EAAAltH,GAIA,OAFAA,EAAArE,KAAAwT,MAAAnP,GAEAA,EAAA,IAAAA,EAAA,QAAAA,EAGA,SAAAmtH,EAAAt0H,GAEA,OAAAA,EAAA,IAAAA,EAAA,IAAAA,EAGA,SAAAu0H,EAAA7tH,GAEA,OAAAA,EAAA/G,QAAA,MAAA+G,EAAAmI,OAAAnI,EAAA/G,OAAA,GACAy0H,EAAAzsF,WAAAjhC,GAAA,SAGA0tH,EAAA7kH,SAAA7I,EAAA,KAGA,SAAA8tH,EAAA9tH,GAEA,OAAAA,EAAA/G,QAAA,MAAA+G,EAAAmI,OAAAnI,EAAA/G,OAAA,GACA20H,EAAA3sF,WAAAjhC,GAAA,KAGA4tH,EAAA3sF,WAAAjhC,IAGA,SAAA+tH,EAAA39B,EAAAC,EAAA55E,GAOA,OANAA,EAAA,EACAA,GAAA,EACGA,EAAA,IACHA,GAAA,GAGA,EAAAA,EAAA,EACA25E,GAAAC,EAAAD,GAAA35E,EAAA,EAGA,EAAAA,EAAA,EACA45E,EAGA,EAAA55E,EAAA,EACA25E,GAAAC,EAAAD,IAAA,IAAA35E,GAAA,EAGA25E,EAGA,SAAA49B,EAAA/vH,EAAAC,EAAAsY,GACA,OAAAvY,GAAAC,EAAAD,GAAAuY,EAGA,SAAAy3G,EAAAl5F,EAAAzgB,EAAAgtC,EAAApjD,EAAAD,GAKA,OAJA82B,EAAA,GAAAzgB,EACAygB,EAAA,GAAAusB,EACAvsB,EAAA,GAAA72B,EACA62B,EAAA,GAAA92B,EACA82B,EAGA,SAAAm5F,EAAAn5F,EAAA92B,GAKA,OAJA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAAA,GAAA92B,EAAA,GACA82B,EAGA,IAAAo5F,EAAA,IAAA9rH,EAAA,IACA+rH,EAAA,KAEA,SAAAC,EAAA5wG,EAAA4jF,GAEA+sB,GACAF,EAAAE,EAAA/sB,GAGA+sB,EAAAD,EAAAvrH,IAAA6a,EAAA2wG,GAAA/sB,EAAAzsE,SAUA,SAAA9F,EAAArR,EAAA4jF,GACA,GAAA5jF,EAAA,CAIA4jF,KAAA,GACA,IAAA8tB,EAAAhB,EAAAhzH,IAAAsiB,GAEA,GAAA0xG,EACA,OAAAjB,EAAA7sB,EAAA8tB,GAIA1xG,GAAA,GAEA,IAAAzd,EAAAyd,EAAAxd,QAAA,SAAAmvH,cAEA,GAAApvH,KAAAukH,EAGA,OAFA2J,EAAA7sB,EAAAkjB,EAAAvkH,IACAquH,EAAA5wG,EAAA4jF,GACAA,EAIA,SAAArhG,EAAAmI,OAAA,IA4BA,IAAAknH,EAAArvH,EAAA8gC,QAAA,KACAwuF,EAAAtvH,EAAA8gC,QAAA,KAEA,QAAAuuF,GAAAC,EAAA,IAAAtvH,EAAA/G,OAAA,CACA,IAAAs2H,EAAAvvH,EAAAwG,OAAA,EAAA6oH,GACA30G,EAAA1a,EAAAwG,OAAA6oH,EAAA,EAAAC,GAAAD,EAAA,IAAAlrH,MAAA,KACA6qB,EAAA,EAEA,OAAAugG,GACA,WACA,OAAA70G,EAAAzhB,OAEA,YADAg1H,EAAA5sB,EAAA,SAIAryE,EAAA8+F,EAAApzG,EAAAqH,OAIA,UACA,WAAArH,EAAAzhB,YACAg1H,EAAA5sB,EAAA,UAIA4sB,EAAA5sB,EAAAwsB,EAAAnzG,EAAA,IAAAmzG,EAAAnzG,EAAA,IAAAmzG,EAAAnzG,EAAA,IAAAsU,GACAq/F,EAAA5wG,EAAA4jF,GACAA,GAEA,WACA,WAAA3mF,EAAAzhB,YACAg1H,EAAA5sB,EAAA,UAIA3mF,EAAA,GAAAozG,EAAApzG,EAAA,IACA4zG,EAAA5zG,EAAA2mF,GACAgtB,EAAA5wG,EAAA4jF,GACAA,GAEA,UACA,WAAA3mF,EAAAzhB,YACAg1H,EAAA5sB,EAAA,UAIAitB,EAAA5zG,EAAA2mF,GACAgtB,EAAA5wG,EAAA4jF,GACAA,GAEA,QACA,QAIA4sB,EAAA5sB,EAAA,aAnFA,CACA,OAAArhG,EAAA/G,OAAA,CACA,IAAAu2H,EAAA3mH,SAAA7I,EAAAwG,OAAA,OAEA,OAAAgpH,GAAA,GAAAA,GAAA,MAKAvB,EAAA5sB,GAAA,KAAAmuB,IAAA,QAAAA,IAAA,MAAAA,GAAA,IAAAA,IAAA,KAAAA,GAAA,GAAAA,IAAA,KACAnB,EAAA5wG,EAAA4jF,GACAA,QANA4sB,EAAA5sB,EAAA,SAOK,OAAArhG,EAAA/G,OAAA,CACLu2H,EAAA3mH,SAAA7I,EAAAwG,OAAA,OAEA,OAAAgpH,GAAA,GAAAA,GAAA,UAKAvB,EAAA5sB,GAAA,SAAAmuB,IAAA,UAAAA,IAAA,MAAAA,EAAA,GACAnB,EAAA5wG,EAAA4jF,GACAA,QANA4sB,EAAA5sB,EAAA,YA6EA,SAAAitB,EAAAC,EAAA1/F,GACA,IAAApY,GAAAwqB,WAAAstF,EAAA,qBAIA5qG,EAAAmqG,EAAAS,EAAA,IACA7tH,EAAAotH,EAAAS,EAAA,IACAl+B,EAAA3vF,GAAA,GAAAA,GAAAijB,EAAA,GAAAjjB,EAAAijB,EAAAjjB,EAAAijB,EACAysE,EAAA,EAAA1vF,EAAA2vF,EAQA,OAPAxhE,KAAA,GACAo/F,EAAAp/F,EAAA6+F,EAAA,IAAAK,EAAA39B,EAAAC,EAAA55E,EAAA,MAAAi3G,EAAA,IAAAK,EAAA39B,EAAAC,EAAA55E,IAAAi3G,EAAA,IAAAK,EAAA39B,EAAAC,EAAA55E,EAAA,SAEA,IAAA83G,EAAAt1H,SACA41B,EAAA,GAAA0/F,EAAA,IAGA1/F,EAQA,SAAA2/F,EAAA3/F,GACA,GAAAA,EAAA,CAKA,IAUA4/F,EACAC,EAXAC,EAAA9/F,EAAA,OACA+/F,EAAA//F,EAAA,OACAggG,EAAAhgG,EAAA,OACAigG,EAAA1yH,KAAAQ,IAAA+xH,EAAAC,EAAAC,GAEAE,EAAA3yH,KAAAS,IAAA8xH,EAAAC,EAAAC,GAEAryH,EAAAuyH,EAAAD,EAEAjmB,GAAAkmB,EAAAD,GAAA,EAIA,OAAAtyH,EACAiyH,EAAA,EACAC,EAAA,MACG,CAEHA,EADA7lB,EAAA,GACArsG,GAAAuyH,EAAAD,GAEAtyH,GAAA,EAAAuyH,EAAAD,GAGA,IAAAE,IAAAD,EAAAJ,GAAA,EAAAnyH,EAAA,GAAAA,EACAyyH,IAAAF,EAAAH,GAAA,EAAApyH,EAAA,GAAAA,EACA0yH,IAAAH,EAAAF,GAAA,EAAAryH,EAAA,GAAAA,EAEAmyH,IAAAI,EACAN,EAAAS,EAAAD,EACKL,IAAAG,EACLN,EAAA,IAAAO,EAAAE,EACKL,IAAAE,IACLN,EAAA,IAAAQ,EAAAD,GAGAP,EAAA,IACAA,GAAA,GAGAA,EAAA,IACAA,GAAA,GAIA,IAAAF,EAAA,KAAAE,EAAAC,EAAA7lB,GAMA,OAJA,MAAAh6E,EAAA,IACA0/F,EAAAlmH,KAAAwmB,EAAA,IAGA0/F,GAUA,SAAAzyB,EAAAt/E,EAAAkgB,GACA,IAAAq/D,EAAAjtE,EAAAtS,GAEA,GAAAu/E,EAAA,CACA,QAAAt7F,EAAA,EAAmBA,EAAA,EAAOA,IAE1Bs7F,EAAAt7F,GADAi8B,EAAA,EACAq/D,EAAAt7F,IAAA,EAAAi8B,GAAA,GAEA,IAAAq/D,EAAAt7F,IAAAi8B,EAAAq/D,EAAAt7F,GAAA,EAGAs7F,EAAAt7F,GAAA,IACAs7F,EAAAt7F,GAAA,IACO+b,EAAA/b,GAAA,IACPs7F,EAAAt7F,GAAA,GAIA,OAAAgvH,EAAA1zB,EAAA,IAAAA,EAAA9iG,OAAA,eAUA,SAAAy2H,EAAAlzG,GACA,IAAAu/E,EAAAjtE,EAAAtS,GAEA,GAAAu/E,EACA,gBAAAA,EAAA,SAAAA,EAAA,SAAAA,EAAA,IAAAv9F,SAAA,IAAAo2B,MAAA,GAYA,SAAA+6F,EAAAC,EAAAC,EAAA96F,GACA,GAAA86F,KAAA52H,QAAA22H,GAAA,GAAAA,GAAA,GAIA76F,KAAA,GACA,IAAAp7B,EAAAi2H,GAAAC,EAAA52H,OAAA,GACA62H,EAAA1zH,KAAAmK,MAAA5M,GACAo2H,EAAA3zH,KAAA0gE,KAAAnjE,GACAq2H,EAAAH,EAAAC,GACAG,EAAAJ,EAAAE,GACAG,EAAAv2H,EAAAm2H,EAKA,OAJA/6F,EAAA,GAAA24F,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IACAn7F,EAAA,GAAA24F,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IACAn7F,EAAA,GAAA24F,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IACAn7F,EAAA,GAAA64F,EAAAI,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IACAn7F,GAOA,IAAAo7F,EAAAR,EAUA,SAAAl8F,EAAAm8F,EAAAC,EAAAO,GACA,GAAAP,KAAA52H,QAAA22H,GAAA,GAAAA,GAAA,GAIA,IAAAj2H,EAAAi2H,GAAAC,EAAA52H,OAAA,GACA62H,EAAA1zH,KAAAmK,MAAA5M,GACAo2H,EAAA3zH,KAAA0gE,KAAAnjE,GACAq2H,EAAAlhG,EAAA+gG,EAAAC,IACAG,EAAAnhG,EAAA+gG,EAAAE,IACAG,EAAAv2H,EAAAm2H,EACAtzG,EAAAizG,EAAA,CAAA/B,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IAAAxC,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IAAAxC,EAAAM,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,IAAAtC,EAAAI,EAAAgC,EAAA,GAAAC,EAAA,GAAAC,KAAA,QACA,OAAAE,EAAA,CACA5zG,QACAszG,YACAC,aACAp2H,SACG6iB,GAOH,IAAA6zG,EAAA58F,EAUA,SAAA68F,EAAA9zG,EAAA/F,EAAAkN,EAAAjjB,GAGA,GAFA8b,EAAAsS,EAAAtS,GAEAA,EAKA,OAJAA,EAAAgyG,EAAAhyG,GACA,MAAA/F,IAAA+F,EAAA,GAAAmxG,EAAAl3G,IACA,MAAAkN,IAAAnH,EAAA,GAAAsxG,EAAAnqG,IACA,MAAAjjB,IAAA8b,EAAA,GAAAsxG,EAAAptH,IACA+uH,EAAAnB,EAAA9xG,GAAA,QAWA,SAAA+zG,EAAA/zG,EAAAwS,GAGA,GAFAxS,EAAAsS,EAAAtS,GAEAA,GAAA,MAAAwS,EAEA,OADAxS,EAAA,GAAAoxG,EAAA5+F,GACAygG,EAAAjzG,EAAA,QAUA,SAAAizG,EAAAe,EAAA36H,GACA,GAAA26H,KAAAv3H,OAAA,CAIA,IAAAwkB,EAAA+yG,EAAA,OAAAA,EAAA,OAAAA,EAAA,GAMA,MAJA,SAAA36H,GAAA,SAAAA,GAAA,SAAAA,IACA4nB,GAAA,IAAA+yG,EAAA,IAGA36H,EAAA,IAAA4nB,EAAA,KAGAplB,EAAAy2B,QACAz2B,EAAAyjG,OACAzjG,EAAAq3H,QACAr3H,EAAAs3H,WACAt3H,EAAA83H,iBACA93H,EAAAo7B,OACAp7B,EAAAg4H,aACAh4H,EAAAi4H,YACAj4H,EAAAk4H,cACAl4H,EAAAo3H,oCC9lBA,IAAA34G,EAAcviB,EAAQ,QAItBD,GAFAwiB,EAAAC,QAEcxiB,EAAQ,SAEtBW,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAEtBwnS,EAAcxnS,EAAQ,QAEtBm7R,EAAAqM,EAAArM,SAEAt3I,EAAY7jJ,EAAQ,QAEpBoiU,EAAmBpiU,EAAQ,QAE3B0f,EAAW1f,EAAQ,QAoBnBynS,EAAA,+BAGA9mS,EAAAkF,OAAAg+I,EAAAziJ,UAAAghU,GAEA,IAAAx+T,EAAA7D,EAAA42K,gBAAA,CACAr1K,KAAA,MACA+yD,OAAA,SAAA54C,EAAAC,EAAAxV,GACA/E,KAAAkhU,gBAAA5mT,GAEA,IAAA6mT,EAAA7mT,EAAA7U,IAAA,oBAMA,MAJA,gBAAA07T,GAAA,UAAAA,IACAnhU,KAAA0uP,aAAA1uP,KAAAohU,aAAA9mT,EAAAC,EAAAxV,GAAA/E,KAAAqhU,cAAA/mT,EAAAC,EAAAxV,IAGA/E,KAAAylE,OAEAu2G,yBAAA,SAAA1hK,EAAAC,EAAAxV,GACA/E,KAAAshU,SAEAthU,KAAAkhU,gBAAA5mT,IAEA2hK,kBAAA,SAAAj3J,EAAA1K,EAAAC,EAAAxV,GAEA/E,KAAAuhU,wBAAAv8S,EAAA1K,IAEA4mT,gBAAA,SAAA5mT,GACA,IAAAi0O,EAAAj0O,EAAA0O,gBAAAo+J,OAEA,MAAApnL,KAAA0uP,cAAAH,EAAAvuP,KAAA0uP,gBACA1uP,KAAA0uP,aAAAH,EAEAvuP,KAAAshU,WAGAD,cAAA,SAAA/mT,EAAAC,EAAAxV,GACA,IAKAy8T,EALA/7P,EAAAzlE,KAAAylE,MACAl6D,EAAA+O,EAAAE,UACAu7L,EAAA/1M,KAAA+gG,MACAxgF,EAAAjG,EAAApV,iBACAyV,EAAA4F,EAAA3F,cAGA,gBAAA2F,EAAApgB,KACAqhU,EAAA7mT,EAAAzS,eACK,UAAAqY,EAAApgB,OACLqhU,EAAA,UAAA7mT,EAAAW,KAGA,IAAA4hR,EAAA5iR,EAAA2N,qBAAA3N,EAAA,KACA/O,EAAAqR,KAAAm5L,GAAAx4K,IAAA,SAAA9X,GACA,GAAAla,EAAAu5E,SAAAr/D,GAAA,CAIA,IAAAyF,EAAA3f,EAAA4f,aAAA1F,GACAxf,EAAA4X,EAAA0C,EAAApgB,MAAAoL,EAAAka,EAAAyF,GACA6lB,EAAA0wR,EAAAlhT,EAAApgB,MAAAoL,EAAAka,EAAAyF,EAAAjlB,EAAAu7T,EAAAtkC,GACA3xR,EAAAgpM,iBAAA9uL,EAAAsrB,GACA00B,EAAAloC,IAAAwT,GACA2wR,EAAA3wR,EAAAxlC,EAAAka,EAAAyF,EAAAjlB,EAAAqU,EAAAknT,EAAA,UAAAjhT,EAAApgB,SACKosB,OAAA,SAAAmpL,EAAAC,GACL,IAAA5kK,EAAAglK,EAAA5nB,iBAAAwnB,GAEA,GAAApqM,EAAAu5E,SAAA4wH,GAAA,CAKA,IAAAxqL,EAAA3f,EAAA4f,aAAAuqL,GACAzvM,EAAA4X,EAAA0C,EAAApgB,MAAAoL,EAAAmqM,EAAAxqL,GAEA6lB,EACA7sC,EAAAkuM,YAAArhK,EAAA,CACAnpC,MAAA3B,GACSi3R,EAAAxnF,GAET3kK,EAAA0wR,EAAAlhT,EAAApgB,MAAAoL,EAAAmqM,EAAAxqL,EAAAjlB,EAAAu7T,EAAAtkC,GAAA,GAGA3xR,EAAAgpM,iBAAAmB,EAAA3kK,GAEA00B,EAAAloC,IAAAwT,GACA2wR,EAAA3wR,EAAAxlC,EAAAmqM,EAAAxqL,EAAAjlB,EAAAqU,EAAAknT,EAAA,UAAAjhT,EAAApgB,WAlBAslE,EAAAj5D,OAAAukC,KAmBKvkC,OAAA,SAAAiZ,GACL,IAAAsrB,EAAAglK,EAAA5nB,iBAAA1oK,GAEA,gBAAAlF,EAAApgB,KACA4wC,GAAA4wR,EAAAl8S,EAAAy3Q,EAAAnsP,GAEAA,GAAA6wR,EAAAn8S,EAAAy3Q,EAAAnsP,KAEK0kK,UACLz1M,KAAA+gG,MAAAx1F,GAEA61T,aAAA,SAAA9mT,EAAAC,EAAAxV,GACA/E,KAAAshU,SAEAO,EAAAvnT,EAAAta,KAAAylE,QAEA87P,wBAAA,SAAAv8S,EAAA1K,GACAunT,EAAAvnT,EAAAta,KAAAylE,OAAA,IAEA3vD,QAAAtW,EAAAwrD,KACAx+C,OAAA,SAAA+N,GACAva,KAAAshU,OAAA/mT,IAEA+mT,OAAA,SAAA/mT,GACA,IAAAkrD,EAAAzlE,KAAAylE,MACAl6D,EAAAvL,KAAA+gG,MAEAxmF,KAAA9U,IAAA,cAAA8F,IAAAvL,KAAA0uP,aACAnjP,EAAAqpN,kBAAA,SAAA7jL,GACA,WAAAA,EAAA5wC,KACAyhU,EAAA7wR,EAAAtrB,UAAAlL,EAAAw2B,GAEA4wR,EAAA5wR,EAAAtrB,UAAAlL,EAAAw2B,KAIA00B,EAAApB,YAGArkE,KAAA+gG,MAAA,QAIA0gO,EAAA,CACA7wH,YAAA,SAAArlM,EAAAka,EAAAyF,EAAAjlB,EAAAiC,EAAAg1R,EAAA0M,GACA,IAAAnoS,EAAA,IAAAyC,EAAA+qE,KAAA,CACArnE,MAAApI,EAAAkF,OAAA,GAA6BuB,KAG7B,GAAAi3R,EAAA,CACA,IAAAwN,EAAAjpS,EAAAmG,MACAk6T,EAAA55T,EAAA,iBACA65T,EAAA,GACAr3B,EAAAo3B,GAAA,EACAC,EAAAD,GAAA77T,EAAA67T,GACA59T,EAAA0lS,EAAA,2BAAAnoS,EAAA,CACAmG,MAAAm6T,GACO7kC,EAAAz3Q,GAGP,OAAAhkB,GAEAqvM,MAAA,SAAAvlM,EAAAka,EAAAyF,EAAAjlB,EAAA+7T,EAAA9kC,EAAA0M,GAKA,IAAA7qR,EAAA9Y,EAAA4Y,WAAA5Y,EAAA6Y,SACAmzM,EAAA,IAAA/tN,EAAAguN,OAAA,CACAtqN,MAAApI,EAAA8V,SAAA,CACAyJ,aACO9Y,KAGP,GAAAi3R,EAAA,CACA,IAAA3qE,EAAAN,EAAArqN,MACAk6T,EAAAE,EAAA,eACAD,EAAA,GACAxvG,EAAAuvG,GAAAE,EAAA,EAAA/7T,EAAA4Y,WACAkjT,EAAAD,GAAA77T,EAAA67T,GACA59T,EAAA0lS,EAAA,2BAAA33E,EAAA,CACArqN,MAAAm6T,GACO7kC,EAAAz3Q,GAGP,OAAAwsM,IAIA,SAAA0vG,EAAAl8S,EAAAy3Q,EAAAnsP,GAEAA,EAAAxwC,MAAAS,KAAA,KACAkD,EAAAkuM,YAAArhK,EAAA,CACAnpC,MAAA,CACAtF,MAAA,IAEG46R,EAAAz3Q,EAAA,WACHsrB,EAAA4gC,QAAA5gC,EAAA4gC,OAAAnlE,OAAAukC,KAIA,SAAA6wR,EAAAn8S,EAAAy3Q,EAAAnsP,GAEAA,EAAAxwC,MAAAS,KAAA,KACAkD,EAAAkuM,YAAArhK,EAAA,CACAnpC,MAAA,CACAgX,EAAAmyB,EAAAnpC,MAAA+W,KAEGu+Q,EAAAz3Q,EAAA,WACHsrB,EAAA4gC,QAAA5gC,EAAA4gC,OAAAnlE,OAAAukC,KAIA,IAAAlzB,EAAA,CACA+yL,YAAA,SAAArlM,EAAAka,EAAAyF,GACA,IAAAjlB,EAAAsF,EAAAkqK,cAAAhwJ,GACAw8S,EAAAC,EAAAh3S,EAAAjlB,GAEAk8T,EAAAl8T,EAAA3D,MAAA,OACA8/T,EAAAn8T,EAAA1D,OAAA,OACA,OACAP,EAAAiE,EAAAjE,EAAAmgU,EAAAF,EAAA,EACAhgU,EAAAgE,EAAAhE,EAAAmgU,EAAAH,EAAA,EACA3/T,MAAA2D,EAAA3D,MAAA6/T,EAAAF,EACA1/T,OAAA0D,EAAA1D,OAAA6/T,EAAAH,IAGAnxH,MAAA,SAAAvlM,EAAAka,EAAAyF,GACA,IAAAjlB,EAAAsF,EAAAkqK,cAAAhwJ,GACA,OACAhH,GAAAxY,EAAAwY,GACAC,GAAAzY,EAAAyY,GACAC,GAAA1Y,EAAA0Y,GACAC,EAAA3Y,EAAA2Y,EACAC,WAAA5Y,EAAA4Y,WACAC,SAAA7Y,EAAA6Y,YAKA,SAAA4iT,EAAA3wR,EAAAxlC,EAAAka,EAAAyF,EAAAjlB,EAAAqU,EAAApS,EAAAm6T,GACA,IAAAv7S,EAAAvb,EAAAic,cAAA/B,EAAA,SACAquC,EAAAvoD,EAAAic,cAAA/B,EAAA,WACAk9E,EAAAz3E,EAAAyP,SAAA,aACAi/K,EAAA1uL,EAAAyP,SAAA,sBAAA2nS,kBAEAD,GACAtxR,EAAA2oK,SAAA,IAAA/2G,EAAAl9F,IAAA,uBAGAsrC,EAAAkhK,SAAAzyM,EAAA8V,SAAA,CACA5U,KAAAomB,EACAgtC,WACG6uC,EAAA2/N,oBACH,IAAA1vG,EAAA1nM,EAAA/C,WAAA,UACAyqM,GAAA7hL,EAAAgzC,KAAA,SAAA6uI,GACA,IAAA2vG,EAAAr6T,EAAAjC,EAAA1D,OAAA,iBAAA0D,EAAA3D,MAAA,iBAEA+/T,GACAroC,EAAAjpP,EAAAxwC,MAAAq5M,EAAA1uL,EAAApE,EAAAxM,EAAAmL,EAAA88S,GAGAr+T,EAAA41M,cAAA/oK,EAAA6oK,GAIA,SAAAsoH,EAAAh3S,EAAAs3S,GACA,IAAA/xT,EAAAya,EAAAzlB,IAAA6gS,IAAA,EACA,OAAA5/R,KAAAQ,IAAAuJ,EAAA/J,KAAAiR,IAAA6qT,EAAAlgU,OAAAoE,KAAAiR,IAAA6qT,EAAAjgU,SAGA,IAAAkgU,EAAAlkT,EAAA7Z,OAAA,CACAvE,KAAA,WACAyH,MAAA,CACA8/D,OAAA,IAEA1oD,UAAA,SAAA3e,EAAAuH,GAOA,IAJA,IAAA8/D,EAAA9/D,EAAA8/D,OACAg7P,EAAA1iU,KAAA2iU,aACAC,EAAA5iU,KAAA6iU,WAEA93T,EAAA,EAAmBA,EAAA28D,EAAAnkE,OAAmBwH,GAAA,EACtC23T,EAAA1iU,KAAA6iU,YAAAn7P,EAAA38D,EAAA63T,GACAviU,EAAAgf,OAAAqjT,EAAA,GAAAA,EAAA,IACAriU,EAAAif,OAAAooD,EAAA38D,GAAA28D,EAAA38D,EAAA,OAKA,SAAA82T,EAAAvnT,EAAAmrD,EAAA2wI,GAEA,IAAA7qM,EAAA+O,EAAAE,UACAkoT,EAAA,GACAE,EAAAr3T,EAAAsS,UAAA,2BACA6kT,EAAA,EAAAE,GAAAr3T,EAAAsS,UAAA,kBACA,IAAAkzB,EAAA,IAAA0xR,EAAA,CACA76T,MAAA,CACA8/D,OAAAn8D,EAAAsS,UAAA,gBAEAu4L,gBACAusH,aAAAD,EACAG,WAAAD,IAEAn9P,EAAAloC,IAAAwT,GACA+xR,EAAA/xR,EAAAz2B,EAAA/O,GAGA,SAAAu3T,EAAA/xR,EAAAz2B,EAAA/O,GACA,IAAAs3F,EAAAt3F,EAAAgS,UAAA,gBAAAhS,EAAAgS,UAAA,SACA+tF,EAAAhxF,EAAAqgB,SAAA,aAAA4wE,aAAA,yBACAx6D,EAAAkhK,SAAA3mG,GACAv6D,EAAAxwC,MAAAG,KAAA,KACAqwC,EAAAxwC,MAAAI,OAAAkiG,EACA9xD,EAAAxwC,MAAAkQ,UAAAlF,EAAAsS,UAAA,YAGAnb,EAAAC,QAAAF,0BCrVA,IAAA04I,EAAat8I,EAAQ,QAErB8jB,EAAAw4H,EAAAx4H,UACAotD,EAAAorE,EAAAprE,iBAoBArtD,EAAAC,IAEA,SAAAogT,EAAA5oM,EAAA5xG,GAGA,IAFA,IAAAy6S,EAAA7oM,EAAA52H,OAEAwH,EAAA,EAAiBA,EAAAi4T,EAAgBj4T,IACjC,GAAAovH,EAAApvH,GAAAxH,OAAAglB,EACA,OAAA4xG,EAAApvH,GAIA,OAAAovH,EAAA6oM,EAAA,GAGA,IAAAvgU,EAAA,CACAwgU,kBAAA,WACAvgT,EAAA1iB,MAAAkjU,SAAA,EACAxgT,EAAA1iB,MAAAmjU,aAAA,IAUA96S,oBAAA,SAAA/Z,EAAAga,EAAAC,GACAD,KAAAtoB,KACA,IAAAojU,EAAA1gT,EAAA4F,GACA46S,EAAAE,EAAAF,UAAA,EACAC,EAAAC,EAAAD,aAAAC,EAAAD,cAAA,GAEA,GAAAA,EAAAj4T,eAAAoD,GACA,OAAA60T,EAAA70T,GAGA,IAAA+0T,EAAAtzP,EAAA/vE,KAAAyF,IAAA,aACA69T,EAAAtjU,KAAAyF,IAAA,iBACAqmT,EAAA,MAAAvjS,GAAA+6S,EAAAP,EAAAO,EAAA/6S,GAAA86S,EAIA,GAFAvX,KAAAuX,EAEAvX,KAAAvoT,OAAA,CAIA,IAAAujB,EAAAglS,EAAAoX,GAOA,OALA50T,IACA60T,EAAA70T,GAAAwY,GAGAs8S,EAAAF,YAAA,GAAApX,EAAAvoT,OACAujB,KAGApkB,EAAAC,QAAAF,wBC9DA,IAAAgjK,EAAA,CACAC,OAAA,QAEAC,KAAA,QACAC,KAAA,OACAC,KAAA,SAEAC,KAAA,OAGA,SAAArjK,EAAA2uP,EAAAxwJ,GACA,aAAAwwJ,EAAA,CACA,IAAArrF,EAAAN,EAAA7kE,EAAAtyF,MAEA,GAAAy3J,EAAA,CACA,IAAAlmJ,EAAA+gF,EAAA1kF,OACA2D,EAAA,IAAAkmJ,EAAA,QACAlmJ,EAAA,KAAAkmJ,EAAA,QAKArjK,EAAAC,QAAAF,0BCxCA,IAAAjD,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAEtB6nN,EAAiB7nN,EAAQ,QAEzB0kU,EAAiB1kU,EAAQ,QAwBzBm6M,EAAA90M,EAAA80M,MACAx0M,EAAA,mBACAD,EAAA,UACAi/T,EAAAD,EAAA7+T,OAAA,CACAvE,KAAA,gBACAwmN,iBAAA,EACAzjM,KAAA,WACAsgT,EAAA95I,UAAA1pL,KAAA,QAMAA,KAAAyjU,cAAA,EAMAzjU,KAAAylE,MAAAloC,IAAAv9B,KAAA0jU,gBAAA,IAAA1qH,GAEAh5M,KAAA0jU,gBAAAnmS,IAAAv9B,KAAA+mN,mBAOA/mN,KAAAylE,MAAAloC,IAAAv9B,KAAA2jU,iBAAA,IAAA3qH,GAMAh5M,KAAA4jU,iBAMA18G,WAAA,WACAs8G,EAAA95I,UAAA1pL,KAAA,cAEAA,KAAA2jU,iBAAAt/P,YAEArkE,KAAA0jU,gBAAAtmC,iBAEAp9R,KAAA0jU,gBAAAG,WAAA,MAMA18G,YAAA,SAAAlI,EAAA+H,EAAAzsM,EAAAxV,GACA,IAAAkpN,EAAAjuN,KAEAwjU,EAAA95I,UAAA1pL,KAAA,cAAAi/M,EAAA+H,EAAAzsM,EAAAxV,GACA,IAAA++T,EAAA9jU,KAAA2jU,iBAGApnC,EAAAv1E,EAAAvhN,IAAA,mBAEAjG,EAAAwJ,QAAAuzR,KACAA,EAAA,CAAAA,MAGAwnC,EAAA,cACA,IAAAC,EAAAh9G,EAAArsL,SAAA,iBAaA,SAAAopS,EAAAz1T,EAAA21T,GACA,IAAAC,EAAA51T,EAAA,YACA6gN,EAAAjrN,EAAAq0R,WAAAvxE,EAAAvhN,IAAA,gBAAAuhN,EAAAqxB,YAAA/pO,MAAA21T,GAAA,CAGA93M,QAAA3sH,EAAAoJ,KAAAqlN,EAAAk2G,QAAAl2G,EAAAi2G,EAAAl9G,EAAAjiN,IACO,CACP/C,GAAAu6R,EAAA,KACAt6R,GAAAs6R,EAAA,KACAj6R,MAAAi6R,EAAA,GACAh6R,OAAAg6R,EAAA,KAEAptE,EAAA7gN,OACAw1T,EAAAvmS,IAAA4xL,GAzBA20G,EAAAvmS,IAAA,IAAAr5B,EAAArE,KAAA,CACAyO,KAAA,WACA/N,MAAA,CACAupG,SAAAk6N,EAAAnlH,eACAn9M,KAAAsiU,EAAA9vH,UACAtyM,kBAAA,SACAD,UAAA,UAEA0lH,QAAA,KAEA08M,EAAA,eAsBAz8G,YAAA,SAAAN,EAAA/H,EAAAryM,EAAAq6M,GACA,IAAAO,EAAAxnN,KAAA+mN,kBACAq9G,EAAApkU,KAAA0jU,gBACAI,EAAA9jU,KAAA2jU,iBACAU,EAAAr9G,EAAAqxB,YAAAx0O,MACA6jP,EAAAljP,EAAA6/T,GACAC,EAAA9/T,EAAA,EAAA6/T,GACAlpQ,EAAA52D,EAAA,EAAA8/T,GAEA39G,EAAA5jI,IAAAkkI,EAAAvhN,IAAA,UAAA+hN,EAAAR,EAAAvhN,IAAA,WAAA4+T,EAAAz3T,EAAAtK,MAAA,KAAA+hU,EAAA,KAAAz3T,EAAArK,QACAmkN,EAAA5jI,IACA,aAAAghP,EAAA98G,EAAAvhN,IAAA,yBACA,IAAAujN,EAAAxB,EAAAjmN,kBACAgjU,EAAAT,EAAAviU,kBACAijU,EAAAxkU,KAAA4jU,gBAAA56G,EAAA0+B,GAAA96O,EAAA86O,GACA+8E,EAAA,EAAAz7G,EAAAhnN,GAAAgnN,EAAA/mN,GAIAglN,IACAw9G,EAAAJ,GAAA78G,EAAAlhN,SAAA+9T,IAIA,IAAAK,EAAA,MACAC,EAAA,EAAAJ,EAAAviU,GAAAuiU,EAAAtiU,GACAg6R,EAAAz8R,EAAAqO,UAAAm5M,EAAAvhN,IAAA,oBAAAuhN,EAAAvhN,IAAA,eAEA,GAAA++T,EAAA,CACA,IAAAtoC,EAAAl1E,EAAAvhN,IAAA,yBAEA,QAAAy2R,EACAyoC,EAAAN,IAAAz3T,EAAA86O,GAAA68E,EAAA78E,GAGAg9E,EAAAL,IAAAE,EAAA78E,GAAAu0C,EAKA0oC,EAAA,EAAAN,IAAAr7G,EAAAs7G,GAAA,EAAAC,EAAAD,GAAA,EACA98G,EAAAzjI,KAAA,WAAA0gP,GACAL,EAAArgP,KAAA,WAAA2gP,GACAZ,EAAA//O,KAAA,WAAA4gP,GAIA,IAAAt9G,EAAArnN,KAAAylE,MAAAlkE,kBACA8lN,EAAA,CACArlN,EAAA,EACAC,EAAA,GASA,GANAolN,EAAAqgC,GAAA88E,EAAA53T,EAAA86O,GAAA1+B,EAAA0+B,GACArgC,EAAAi9G,GAAA59T,KAAAS,IAAA6hN,EAAAs7G,GAAAC,EAAAD,IAEAj9G,EAAAlsJ,GAAAz0D,KAAAQ,IAAA,EAAAq9T,EAAAppQ,GAAAwpQ,EAAA,EAAAN,IACAD,EAAAP,WAAAj3T,EAAA86O,GAEA88E,EAAA,CACA,IAAAz2F,EAAA,CACA/rO,EAAA,EACAC,EAAA,GAEA8rO,EAAA2Z,GAAAhhP,KAAAS,IAAAyF,EAAA86O,GAAA68E,EAAA78E,GAAAu0C,EAAA,GACAluD,EAAAu2F,GAAAj9G,EAAAi9G,GACAF,EAAA/mC,YAAA,IAAAn5R,EAAA+qE,KAAA,CACArnE,MAAAmmO,KAIAq2F,EAAAP,WAAA91F,EAAA2Z,QAGAo8E,EAAAxxP,UAAA,SAAAlgD,GACAA,EAAA2xD,KAAA,CACAjT,WAAA,EACAu2C,QAAA,MAMA,IAAAu9M,EAAA5kU,KAAA6kU,aAAA79G,GAUA,OARA,MAAA49G,EAAAE,WAAA5gU,EAAAkuM,YAAAoV,EAAA,CACAlhN,SAAAs+T,EAAAG,mBAGAP,GAAAx9G,GAEAhnN,KAAAglU,oBAAAh+G,EAAA49G,GAEAv9G,GAEA88G,QAAA,SAAA53G,EAAAvF,EAAAjiN,GACA,IAAAg3R,EAAA/7R,KAAA6kU,aAAA79G,GAAAuF,GAEA,MAAAwvE,GAAAh3R,EAAAqoG,eAAA,CACAjtG,KAAA,eACA47R,kBACAkpC,SAAAj+G,EAAA/6L,MAGA+4S,oBAAA,SAAAh+G,EAAA49G,GACA,IAAAd,EAAA9jU,KAAA2jU,iBACAnkU,EAAA2nB,KAAA,iCAAA7Y,GACA,IAAA42T,EAAA,MAAAN,EAAAt2T,EAAA,aACA6gN,EAAA20G,EAAAjxF,YAAAvkO,GAEA6gN,IACAA,EAAA3nG,SAAA,OAAA09M,EAAAl+G,EAAAvhN,IAAA,oBAAAuhN,EAAAvhN,IAAA,6BACA0pN,EAAA1+J,OAAAy0Q,EAAA,uBAGA,IAAAC,EAAArB,EAAAjxF,YAAA,YACAspD,EAAAn1E,EAAAvhN,IAAA,iBACAq/T,EAAAF,EAAAE,UACA5yP,EAAA,MAAA4yP,IAAA,IACAt2M,EAAAo2M,EAAAQ,UACAD,GAAAhpC,GAAAgpC,EAAA39M,SAAA,OAAAhoH,EAAAiK,SAAA0yR,KAAA5xR,QAAA,YAA4H2nE,GAAA3nE,QAAA,UAA4BikH,GAAA2tK,EAAA,CACxJjqN,UACAs8C,YAcAq2M,aAAA,SAAA79G,GACA,IAAA+0E,EAAA/0E,EAAAvhN,IAAA,sBACA+hN,EAAAxnN,KAAA+mN,kBACAs+G,EAAArlU,KAAA0jU,gBAAAG,WACAQ,EAAAr9G,EAAAqxB,YAAAx0O,MACA6jP,EAAAljP,EAAA6/T,GACA1pQ,EAAAp2D,EAAA8/T,GAEAiB,EAAAtlU,KAAAulU,qBAAAxpC,GAEA53N,EAAAqjJ,EAAArjJ,WACAqhQ,EAAArhQ,EAAAmhQ,GACAG,EAAAthQ,EAAA5gE,OACAmiU,EAAAD,EAAA,IACA/hU,EAAA,CACAqhU,gBAAAv9G,EAAAlhN,SAAA44B,QACAkmS,UAAAM,EACAZ,UAAAY,EAAA,EACAC,kBAAA,KACAC,kBAAA,MAGA,IAAAJ,EACA,OAAA9hU,EAGA,IAAAmiU,EAAAC,EAAAN,GACA9hU,EAAAqhU,gBAAAV,IAAAwB,EAAA53S,EAYA,QAAAljB,EAAAu6T,EAAA,EAAAS,EAAAF,EAAAG,EAAAH,EAAAI,EAAA,KAA8Hl7T,GAAA06T,IAAgB16T,EAC9Ik7T,EAAAH,EAAA3hQ,EAAAp5D,MAGAk7T,GAAAD,EAAA7vT,EAAA4vT,EAAA93S,EAAAo3S,GAEAY,IAAA5vN,EAAA4vN,EAAAF,EAAA93S,MAEA83S,EADAC,EAAAj7T,EAAAg7T,EAAAh7T,EACAi7T,EAGAC,EAGAF,IACA,MAAAriU,EAAAkiU,oBACAliU,EAAAkiU,kBAAAG,EAAAh7T,KAGArH,EAAA0hU,YAIAY,EAAAC,EAGA,IAAAl7T,EAAAu6T,EAAA,EAAAS,EAAAF,EAAAG,EAAAH,EAAAI,EAAA,KAA8Hl7T,IAAA,IAASA,EACvIk7T,EAAAH,EAAA3hQ,EAAAp5D,IAIAk7T,GAAA5vN,EAAA2vN,EAAAC,EAAAh4S,MACA83S,EAAAh7T,EAAAi7T,EAAAj7T,KACAi7T,EAAAD,EAEA,MAAAriU,EAAAiiU,oBACAjiU,EAAAiiU,kBAAAI,EAAAh7T,KAGArH,EAAA0hU,YACA1hU,EAAAohU,WAGAiB,EAAAE,EAGA,OAAAviU,EAEA,SAAAoiU,EAAA/0R,GACA,GAAAA,EAAA,CACA,IAAAm1R,EAAAn1R,EAAAxvC,kBACA6qB,EAAA85S,EAAAvrQ,GAAA5pB,EAAAzqC,SAAA+9T,GACA,OACAp2S,EAAA7B,EACAjW,EAAAiW,EAAA85S,EAAAx+E,GACA38O,EAAAgmC,EAAAg4K,oBAKA,SAAA1yG,EAAA8vN,EAAAC,GACA,OAAAD,EAAAhwT,GAAAiwT,GAAAD,EAAAl4S,GAAAm4S,EAAAf,IAGAE,qBAAA,SAAA32G,GACA,IAAA/qN,EACA2jN,EAAAxnN,KAAA+mN,kBAYA,OAVA/mN,KAAA4jU,gBACAp8G,EAAAl1I,UAAA,SAAAlgD,EAAAzU,GACAyU,EAAA22L,oBAAA6F,IACA/qN,EAAA8Z,KAIA9Z,EAAA,EAGAA,KAGApB,EAAA+gU,EACA9gU,EAAAC,QAAAF,uCCtZA,IAwBA4jU,EAAAC,EAAAC,EAAAC,EAxBAC,EAAc5nU,EAAQ,QACtBqsD,EAAarsD,EAAQ,QACrBwB,EAAUxB,EAAQ,QAClB2wN,EAAc3wN,EAAQ,QACtBuiO,EAAcviO,EAAQ,QACtB+K,EAAe/K,EAAQ,QACvBwJ,EAAgBxJ,EAAQ,QACxB6nU,EAAiB7nU,EAAQ,QACzB8nU,EAAY9nU,EAAQ,QACpB+nU,EAAyB/nU,EAAQ,QACjCsmB,EAAWtmB,EAAQ,QAASu0B,IAC5ByzS,EAAgBhoU,EAAQ,OAARA,GAChBioU,EAAiCjoU,EAAQ,QACzCk1P,EAAcl1P,EAAQ,QACtBqvQ,EAAgBrvQ,EAAQ,QACxBkoU,EAAqBloU,EAAQ,QAC7BmoU,EAAA,UACAljU,EAAAonD,EAAApnD,UACA09R,EAAAt2O,EAAAs2O,QACAgB,EAAAhB,KAAAgB,SACAykC,EAAAzkC,KAAAykC,IAAA,GACAC,EAAAh8Q,EAAA87Q,GACAG,EAAA,WAAA33G,EAAAgyE,GACA4lC,EAAA,aAEAlb,EAAAoa,EAAAQ,EAAAljU,EAEAyjU,IAAA,WACA,IAEA,IAAA7hH,EAAA0hH,EAAAxhH,QAAA,GACA4hH,GAAA9hH,EAAAtlN,YAAA,IAAiDrB,EAAQ,OAARA,CAAgB,qBAAA0S,GACjEA,EAAA61T,MAGA,OAAAD,GAAA,mBAAAI,wBACA/hH,EAAAI,KAAAwhH,aAAAE,GAIA,IAAAL,EAAA77R,QAAA,SACA,IAAA8iO,EAAA9iO,QAAA,aACG,MAAAj1B,KAfH,GAmBAqxT,EAAA,SAAAj6T,GACA,IAAAq4M,EACA,SAAAh8M,EAAA2D,IAAA,mBAAAq4M,EAAAr4M,EAAAq4M,WAEA6hH,EAAA,SAAAjiH,EAAAkiH,GACA,IAAAliH,EAAAmiH,GAAA,CACAniH,EAAAmiH,IAAA,EACA,IAAApiH,EAAAC,EAAA8+F,GACAuiB,EAAA,WACA,IAAA5iU,EAAAuhN,EAAAoiH,GACAC,EAAA,GAAAriH,EAAArqC,GACApwK,EAAA,EACAo3R,EAAA,SAAA2lC,GACA,IAIApkU,EAAAkiN,EAAAmiH,EAJAj0O,EAAA+zO,EAAAC,EAAAD,GAAAC,EAAAE,KACAtiH,EAAAoiH,EAAApiH,QACAupD,EAAA64D,EAAA74D,OACAl3J,EAAA+vN,EAAA/vN,OAEA,IACAjkB,GACA+zO,IACA,GAAAriH,EAAA6+F,IAAA4jB,EAAAziH,GACAA,EAAA6+F,GAAA,IAEA,IAAAvwN,EAAApwF,EAAAO,GAEA8zG,KAAAmwN,QACAxkU,EAAAowF,EAAA7vF,GACA8zG,IACAA,EAAA42L,OACAo5B,GAAA,IAGArkU,IAAAokU,EAAAtiH,QACAypD,EAAAnrQ,EAAA,yBACW8hN,EAAA4hH,EAAA9jU,IACXkiN,EAAA7lN,KAAA2D,EAAAgiN,EAAAupD,GACWvpD,EAAAhiN,IACFurQ,EAAAhrQ,GACF,MAAAkS,GACP4hG,IAAAgwN,GAAAhwN,EAAA42L,OACA1/B,EAAA94P,KAGA,MAAAovM,EAAAhiN,OAAAwH,EAAAo3R,EAAA58E,EAAAx6M,MACAy6M,EAAA8+F,GAAA,GACA9+F,EAAAmiH,IAAA,EACAD,IAAAliH,EAAA6+F,IAAA8jB,EAAA3iH,OAGA2iH,EAAA,SAAA3iH,GACArgM,EAAAplB,KAAAmrD,EAAA,WACA,IAEAxnD,EAAAowF,EAAA17D,EAFAn0B,EAAAuhN,EAAAoiH,GACAQ,EAAAC,EAAA7iH,GAeA,GAbA4iH,IACA1kU,EAAAqwP,EAAA,WACAozE,EACA3lC,EAAAoB,KAAA,qBAAA3+R,EAAAuhN,IACS1xH,EAAA5oC,EAAAo9Q,sBACTx0O,EAAA,CAAmB0xH,UAAA0pD,OAAAjrQ,KACVm0B,EAAA8yB,EAAA9yB,YAAA+B,OACT/B,EAAA+B,MAAA,8BAAAl2B,KAIAuhN,EAAA6+F,GAAA8iB,GAAAkB,EAAA7iH,GAAA,KACKA,EAAAvqC,QAAA3yK,EACL8/T,GAAA1kU,EAAAyS,EAAA,MAAAzS,EAAAyZ,KAGAkrT,EAAA,SAAA7iH,GACA,WAAAA,EAAA6+F,IAAA,KAAA7+F,EAAAvqC,IAAAuqC,EAAA8+F,IAAA/gT,QAEA0kU,EAAA,SAAAziH,GACArgM,EAAAplB,KAAAmrD,EAAA,WACA,IAAA4oC,EACAqzO,EACA3lC,EAAAoB,KAAA,mBAAAp9E,IACK1xH,EAAA5oC,EAAAq9Q,qBACLz0O,EAAA,CAAe0xH,UAAA0pD,OAAA1pD,EAAAoiH,QAIfY,EAAA,SAAAvkU,GACA,IAAAuhN,EAAAxlN,KACAwlN,EAAAijH,KACAjjH,EAAAijH,IAAA,EACAjjH,IAAAkjH,IAAAljH,EACAA,EAAAoiH,GAAA3jU,EACAuhN,EAAArqC,GAAA,EACAqqC,EAAAvqC,KAAAuqC,EAAAvqC,GAAAuqC,EAAA8+F,GAAAplR,SACAuoS,EAAAjiH,GAAA,KAEAmjH,EAAA,SAAA1kU,GACA,IACA2hN,EADAJ,EAAAxlN,KAEA,IAAAwlN,EAAAijH,GAAA,CACAjjH,EAAAijH,IAAA,EACAjjH,IAAAkjH,IAAAljH,EACA,IACA,GAAAA,IAAAvhN,EAAA,MAAAH,EAAA,qCACA8hN,EAAA4hH,EAAAvjU,IACA4iU,EAAA,WACA,IAAA7yO,EAAA,CAAuB00O,GAAAljH,EAAAijH,IAAA,GACvB,IACA7iH,EAAA7lN,KAAAkE,EAAA5D,EAAAsoU,EAAA30O,EAAA,GAAA3zF,EAAAmoU,EAAAx0O,EAAA,IACS,MAAA79E,GACTqyT,EAAAzoU,KAAAi0F,EAAA79E,OAIAqvM,EAAAoiH,GAAA3jU,EACAuhN,EAAArqC,GAAA,EACAssJ,EAAAjiH,GAAA,IAEG,MAAArvM,GACHqyT,EAAAzoU,KAAA,CAAkB2oU,GAAAljH,EAAAijH,IAAA,GAAyBtyT,MAK3CkxT,IAEAH,EAAA,SAAA0B,GACAlC,EAAA1mU,KAAAknU,EAAAF,EAAA,MACA3+T,EAAAugU,GACAvC,EAAAtmU,KAAAC,MACA,IACA4oU,EAAAvoU,EAAAsoU,EAAA3oU,KAAA,GAAAK,EAAAmoU,EAAAxoU,KAAA,IACK,MAAAu/P,GACLipE,EAAAzoU,KAAAC,KAAAu/P,KAIA8mE,EAAA,SAAAuC,GACA5oU,KAAAskT,GAAA,GACAtkT,KAAAi7K,QAAA3yK,EACAtI,KAAAm7K,GAAA,EACAn7K,KAAAyoU,IAAA,EACAzoU,KAAA4nU,QAAAt/T,EACAtI,KAAAqkT,GAAA,EACArkT,KAAA2nU,IAAA,GAEAtB,EAAApmU,UAAuBpB,EAAQ,OAARA,CAAyBqoU,EAAAjnU,UAAA,CAEhD2lN,KAAA,SAAAijH,EAAAC,GACA,IAAAhB,EAAA5b,EAAA0a,EAAA5mU,KAAAknU,IAOA,OANAY,EAAAD,GAAA,mBAAAgB,KACAf,EAAAE,KAAA,mBAAAc,KACAhB,EAAA/vN,OAAAovN,EAAA3lC,EAAAzpL,YAAAzvG,EACAtI,KAAAskT,GAAA3xS,KAAAm1T,GACA9nU,KAAAi7K,IAAAj7K,KAAAi7K,GAAAtoK,KAAAm1T,GACA9nU,KAAAm7K,IAAAssJ,EAAAznU,MAAA,GACA8nU,EAAAtiH,SAGA0nD,MAAA,SAAA47D,GACA,OAAA9oU,KAAA4lN,UAAAt9M,EAAAwgU,MAGAvC,EAAA,WACA,IAAA/gH,EAAA,IAAA6gH,EACArmU,KAAAwlN,UACAxlN,KAAA0lN,QAAArlN,EAAAsoU,EAAAnjH,EAAA,GACAxlN,KAAAivQ,OAAA5uQ,EAAAmoU,EAAAhjH,EAAA,IAEAshH,EAAAljU,EAAAsoT,EAAA,SAAAvgJ,GACA,OAAAA,IAAAu7J,GAAAv7J,IAAA66J,EACA,IAAAD,EAAA56J,GACA26J,EAAA36J,KAIAy1D,IAAAloG,EAAAkoG,EAAA2nG,EAAA3nG,EAAAl4K,GAAAm+Q,EAAA,CAA0D5hH,QAAAyhH,IAC1DroU,EAAQ,OAARA,CAA8BqoU,EAAAF,GAC9BnoU,EAAQ,OAARA,CAAwBmoU,GACxBR,EAAU3nU,EAAQ,QAASmoU,GAG3B5lG,IAAApoG,EAAAooG,EAAAl4K,GAAAm+Q,EAAAL,EAAA,CAEA/3D,OAAA,SAAArwP,GACA,IAAAoqT,EAAA9c,EAAAlsT,MACAg0S,EAAAg1B,EAAA/5D,OAEA,OADA+kC,EAAAp1R,GACAoqT,EAAAxjH,WAGA4b,IAAApoG,EAAAooG,EAAAl4K,GAAAu9Q,IAAAY,GAAAL,EAAA,CAEAthH,QAAA,SAAA1jN,GACA,OAAA+kU,EAAAN,GAAAzmU,OAAAwmU,EAAAU,EAAAlnU,KAAAgC,MAGAo/N,IAAApoG,EAAAooG,EAAAl4K,IAAAm+Q,GAAgDxoU,EAAQ,OAARA,CAAwB,SAAA2tT,GACxE0a,EAAA9uN,IAAAo0M,GAAA,SAAA4a,MACCJ,EAAA,CAED5uN,IAAA,SAAAl1G,GACA,IAAAyoK,EAAA3rK,KACAgpU,EAAA9c,EAAAvgJ,GACA+5C,EAAAsjH,EAAAtjH,QACAupD,EAAA+5D,EAAA/5D,OACAvrQ,EAAAqwP,EAAA,WACA,IAAAjqM,EAAA,GACAjmD,EAAA,EACAkrS,EAAA,EACA43B,EAAAzjU,GAAA,WAAAsiN,GACA,IAAAyjH,EAAAplU,IACAqlU,GAAA,EACAp/Q,EAAAn3C,UAAArK,GACAymS,IACApjI,EAAA+5C,QAAAF,GAAAI,KAAA,SAAA3hN,GACAilU,IACAA,GAAA,EACAp/Q,EAAAm/Q,GAAAhlU,IACA8qS,GAAArpF,EAAA57J,KACSmlN,OAET8/B,GAAArpF,EAAA57J,KAGA,OADApmD,EAAAyS,GAAA84P,EAAAvrQ,EAAAyZ,GACA6rT,EAAAxjH,SAGA2jH,KAAA,SAAAjmU,GACA,IAAAyoK,EAAA3rK,KACAgpU,EAAA9c,EAAAvgJ,GACAsjG,EAAA+5D,EAAA/5D,OACAvrQ,EAAAqwP,EAAA,WACA4yE,EAAAzjU,GAAA,WAAAsiN,GACA75C,EAAA+5C,QAAAF,GAAAI,KAAAojH,EAAAtjH,QAAAupD,OAIA,OADAvrQ,EAAAyS,GAAA84P,EAAAvrQ,EAAAyZ,GACA6rT,EAAAxjH,iDC3RA,SAAAt6J;;;;;;AAOA,IAAAk+Q,EAAArgU,OAAA45P,OAAA,IAIA,SAAA0mE,EAAAlsT,GACA,YAAA7U,IAAA6U,GAAA,OAAAA,EAGA,SAAAwoP,EAAAxoP,GACA,YAAA7U,IAAA6U,GAAA,OAAAA,EAGA,SAAAmsT,EAAAnsT,GACA,WAAAA,EAGA,SAAAosT,EAAApsT,GACA,WAAAA,EAMA,SAAAgrC,EAAAlkD,GACA,MACA,kBAAAA,GACA,kBAAAA,GAEA,kBAAAA,GACA,mBAAAA,EASA,SAAA2F,EAAAkB,GACA,cAAAA,GAAA,kBAAAA,EAMA,IAAA0+T,EAAAzgU,OAAA9I,UAAA6I,SAUA,SAAA2gU,EAAA3+T,GACA,0BAAA0+T,EAAAzpU,KAAA+K,GAGA,SAAA4+T,EAAAvsT,GACA,0BAAAqsT,EAAAzpU,KAAAod,GAMA,SAAAwsT,EAAA1gU,GACA,IAAA4kB,EAAA0d,WAAAk7F,OAAAx9H,IACA,OAAA4kB,GAAA,GAAAnnB,KAAAmK,MAAAgd,QAAA9T,SAAA9Q,GAGA,SAAAo1S,EAAAp1S,GACA,OACA08P,EAAA18P,IACA,oBAAAA,EAAA28M,MACA,oBAAA38M,EAAAikQ,MAOA,SAAApkQ,EAAAG,GACA,aAAAA,EACA,GACAuU,MAAAxU,QAAAC,IAAAwgU,EAAAxgU,MAAAH,WAAA0gU,EACAh7J,KAAAz0C,UAAA9wH,EAAA,QACAw9H,OAAAx9H,GAOA,SAAA0tM,EAAA1tM,GACA,IAAA4kB,EAAA0d,WAAAtiC,GACA,OAAA2Q,MAAAiU,GAAA5kB,EAAA4kB,EAOA,SAAA+7S,EACAt/T,EACAu/T,GAIA,IAFA,IAAAz8T,EAAArE,OAAA+lC,OAAA,MACA3hC,EAAA7C,EAAAmE,MAAA,KACA1D,EAAA,EAAiBA,EAAAoC,EAAA5J,OAAiBwH,IAClCqC,EAAAD,EAAApC,KAAA,EAEA,OAAA8+T,EACA,SAAA5gU,GAAsB,OAAAmE,EAAAnE,EAAAywH,gBACtB,SAAAzwH,GAAsB,OAAAmE,EAAAnE,IAMtB2gU,EAAA,yBAKAE,EAAAF,EAAA,8BAKA,SAAAp9T,EAAAixB,EAAAonC,GACA,GAAApnC,EAAAl6B,OAAA,CACA,IAAAM,EAAA45B,EAAA2N,QAAAy5B,GACA,GAAAhhE,GAAA,EACA,OAAA45B,EAAA4zC,OAAAxtE,EAAA,IAQA,IAAAqH,EAAAnC,OAAA9I,UAAAiL,eACA,SAAA0pM,EAAA9pM,EAAAG,GACA,OAAAC,EAAAnL,KAAA+K,EAAAG,GAMA,SAAAwuH,EAAAr2H,GACA,IAAAi/B,EAAAt5B,OAAA+lC,OAAA,MACA,gBAAAxkC,GACA,IAAAy/T,EAAA1nS,EAAA/3B,GACA,OAAAy/T,IAAA1nS,EAAA/3B,GAAAlH,EAAAkH,KAOA,IAAA0/T,EAAA,SACAC,EAAAxwM,EAAA,SAAAnvH,GACA,OAAAA,EAAAC,QAAAy/T,EAAA,SAAAtqE,EAAAj3P,GAAkD,OAAAA,IAAAm3B,cAAA,OAMlDsqS,EAAAzwM,EAAA,SAAAnvH,GACA,OAAAA,EAAAmI,OAAA,GAAAmtB,cAAAt1B,EAAA40B,MAAA,KAMAirS,EAAA,aACAC,EAAA3wM,EAAA,SAAAnvH,GACA,OAAAA,EAAAC,QAAA4/T,EAAA,OAAAzwM,gBAYA,SAAA2wM,EAAAjnU,EAAA/C,GACA,SAAAiqU,EAAA/hU,GACA,IAAAyC,EAAArC,UAAApF,OACA,OAAAyH,EACAA,EAAA,EACA5H,EAAAsF,MAAArI,EAAAsI,WACAvF,EAAArD,KAAAM,EAAAkI,GACAnF,EAAArD,KAAAM,GAIA,OADAiqU,EAAAvvM,QAAA33H,EAAAG,OACA+mU,EAGA,SAAAC,EAAAnnU,EAAA/C,GACA,OAAA+C,EAAAwF,KAAAvI,GAGA,IAAAuI,EAAAshD,SAAAjqD,UAAA2I,KACA2hU,EACAF,EAKA,SAAAprS,EAAA9xB,EAAAif,GACAA,KAAA,EACA,IAAArhB,EAAAoC,EAAA5J,OAAA6oB,EACA+4C,EAAA,IAAA3nD,MAAAzS,GACA,MAAAA,IACAo6D,EAAAp6D,GAAAoC,EAAApC,EAAAqhB,GAEA,OAAA+4C,EAMA,SAAAzgE,EAAA6nN,EAAAi+G,GACA,QAAAv/T,KAAAu/T,EACAj+G,EAAAthN,GAAAu/T,EAAAv/T,GAEA,OAAAshN,EAMA,SAAAqR,EAAAngM,GAEA,IADA,IAAAs0C,EAAA,GACAhnE,EAAA,EAAiBA,EAAA0yB,EAAAl6B,OAAgBwH,IACjC0yB,EAAA1yB,IACArG,EAAAqtE,EAAAt0C,EAAA1yB,IAGA,OAAAgnE,EAUA,SAAA/mB,EAAAziD,EAAAC,EAAAC,IAKA,IAAAgiU,EAAA,SAAAliU,EAAAC,EAAAC,GAA6B,UAO7BmnC,EAAA,SAAA8vN,GAA6B,OAAAA,GAM7B,SAAAgrE,EAAAniU,EAAAC,GACA,GAAAD,IAAAC,EAAgB,SAChB,IAAAmiU,EAAA/gU,EAAArB,GACAqiU,EAAAhhU,EAAApB,GACA,IAAAmiU,IAAAC,EAwBG,OAAAD,IAAAC,GACHnkM,OAAAl+H,KAAAk+H,OAAAj+H,GAxBA,IACA,IAAAqiU,EAAArtT,MAAAxU,QAAAT,GACAuiU,EAAAttT,MAAAxU,QAAAR,GACA,GAAAqiU,GAAAC,EACA,OAAAviU,EAAAhF,SAAAiF,EAAAjF,QAAAgF,EAAA26P,MAAA,SAAA/sP,EAAApL,GACA,OAAA2/T,EAAAv0T,EAAA3N,EAAAuC,MAEO,GAAAxC,aAAAyvB,MAAAxvB,aAAAwvB,KACP,OAAAzvB,EAAA4hM,YAAA3hM,EAAA2hM,UACO,GAAA0gI,GAAAC,EAQP,SAPA,IAAAC,EAAAhiU,OAAAitB,KAAAztB,GACAyiU,EAAAjiU,OAAAitB,KAAAxtB,GACA,OAAAuiU,EAAAxnU,SAAAynU,EAAAznU,QAAAwnU,EAAA7nE,MAAA,SAAAj4P,GACA,OAAAy/T,EAAAniU,EAAA0C,GAAAzC,EAAAyC,MAMK,MAAAkL,GAEL,UAcA,SAAA80T,EAAAxtS,EAAAx0B,GACA,QAAA8B,EAAA,EAAiBA,EAAA0yB,EAAAl6B,OAAgBwH,IACjC,GAAA2/T,EAAAjtS,EAAA1yB,GAAA9B,GAAkC,OAAA8B,EAElC,SAMA,SAAAgpF,EAAA3wF,GACA,IAAAksQ,GAAA,EACA,kBACAA,IACAA,GAAA,EACAlsQ,EAAAsF,MAAA1I,KAAA2I,aAKA,IAAAuiU,EAAA,uBAEAC,EAAA,CACA,YACA,YACA,UAGAC,EAAA,CACA,eACA,UACA,cACA,UACA,eACA,UACA,gBACA,YACA,YACA,cACA,gBACA,kBAOApxI,EAAA,CAKAusE,sBAAAx9P,OAAA+lC,OAAA,MAKAu4E,QAAA,EAKAgkN,eAAiB,EAKjBxqB,UAAY,EAKZzyC,aAAA,EAKAk9D,aAAA,KAKAC,YAAA,KAKAC,gBAAA,GAMAC,SAAA1iU,OAAA+lC,OAAA,MAMA48R,cAAAjB,EAMAkB,eAAAlB,EAMAmB,iBAAAnB,EAKAoB,gBAAA7gR,EAKA8gR,qBAAAl8R,EAMAm8R,YAAAtB,EAMAj0D,OAAA,EAKAw1D,gBAAAZ,GAUAa,EAAA,8JAKA,SAAAC,EAAA5hU,GACA,IAAA7B,GAAA6B,EAAA,IAAA0G,WAAA,GACA,YAAAvI,GAAA,KAAAA,EAMA,SAAAmmQ,EAAA9jQ,EAAAG,EAAAhC,EAAA2kB,GACA7kB,OAAA2kB,eAAA5iB,EAAAG,EAAA,CACAhH,MAAAgF,EACA2kB,eACAu+S,UAAA,EACAx+S,cAAA,IAOA,IAAAy+S,EAAA,IAAAtxG,OAAA,KAAAmxG,EAAA,kBACA,SAAA9iJ,EAAA1kH,GACA,IAAA2nQ,EAAA59I,KAAA/pH,GAAA,CAGA,IAAAuiM,EAAAviM,EAAAh2D,MAAA,KACA,gBAAA3D,GACA,QAAAC,EAAA,EAAmBA,EAAAi8P,EAAAzjQ,OAAqBwH,IAAA,CACxC,IAAAD,EAAiB,OACjBA,IAAAk8P,EAAAj8P,IAEA,OAAAD,IAOA,IAmCAuhU,EAnCAC,EAAA,gBAGA1lE,EAAA,qBAAAj8P,OACA4hU,EAAA,qBAAAC,+BAAAp2D,SACAq2D,EAAAF,GAAAC,cAAAp2D,SAAA18I,cACAgzM,EAAA9lE,GAAAj8P,OAAAF,UAAAyjQ,UAAAx0I,cACAizM,GAAAD,GAAA,eAAAl+I,KAAAk+I,GACAE,GAAAF,KAAAthS,QAAA,cACAyhS,GAAAH,KAAAthS,QAAA,WAEA0hS,IADAJ,KAAAthS,QAAA,WACAshS,GAAA,uBAAAl+I,KAAAk+I,IAAA,QAAAD,GAGAM,IAFAL,GAAA,cAAAl+I,KAAAk+I,GACAA,GAAA,YAAAl+I,KAAAk+I,GACAA,KAAA71S,MAAA,mBAGAm2S,GAAA,GAAqB7pB,MAErB8pB,IAAA,EACA,GAAArmE,EACA,IACA,IAAA9mQ,GAAA,GACAiJ,OAAA2kB,eAAA5tB,GAAA,WACA2F,IAAA,WAEAwnU,IAAA,KAGAtiU,OAAAkzE,iBAAA,oBAAA/9E,IACG,MAAAqW,KAMH,IAAA+2T,GAAA,WAWA,YAVA5kU,IAAA+jU,IAOAA,GALAzlE,IAAA2lE,GAAA,qBAAArhR,IAGAA,EAAA,uBAAAA,EAAA,WAAA5pC,IAAA6rT,UAKAd,GAIAxrB,GAAAj6C,GAAAj8P,OAAAmzS,6BAGA,SAAAsvB,GAAAhlR,GACA,0BAAAA,GAAA,cAAAomI,KAAApmI,EAAAt/C,YAGA,IAIAukU,GAJAh+D,GACA,qBAAApxC,QAAAmvG,GAAAnvG,SACA,qBAAAihB,SAAAkuF,GAAAluF,QAAA7d,SAMAgsG,GAFA,qBAAAC,KAAAF,GAAAE,KAEAA,IAGA,WACA,SAAAA,IACAttU,KAAAozB,IAAArqB,OAAA+lC,OAAA,MAYA,OAVAw+R,EAAArtU,UAAA4zF,IAAA,SAAA5oF,GACA,WAAAjL,KAAAozB,IAAAnoB,IAEAqiU,EAAArtU,UAAAs9B,IAAA,SAAAtyB,GACAjL,KAAAozB,IAAAnoB,IAAA,GAEAqiU,EAAArtU,UAAAyM,MAAA,WACA1M,KAAAozB,IAAArqB,OAAA+lC,OAAA,OAGAw+R,EAdA,GAoBA,IAAAztS,GAAAmrB,EA8FAhhC,GAAA,EAMAujT,GAAA,WACAvtU,KAAAisB,GAAAjC,KACAhqB,KAAAghT,KAAA,IAGAusB,GAAAttU,UAAAutU,OAAA,SAAApvT,GACApe,KAAAghT,KAAAruS,KAAAyL,IAGAmvT,GAAAttU,UAAAwtU,UAAA,SAAArvT,GACA5R,EAAAxM,KAAAghT,KAAA5iS,IAGAmvT,GAAAttU,UAAAytU,OAAA,WACAH,GAAAl3T,QACAk3T,GAAAl3T,OAAAs3T,OAAA3tU,OAIAutU,GAAAttU,UAAAwnU,OAAA,WAEA,IAAAzmB,EAAAhhT,KAAAghT,KAAA9hR,QAOA,QAAAn0B,EAAA,EAAAC,EAAAg2S,EAAAz9S,OAAkCwH,EAAAC,EAAOD,IACzCi2S,EAAAj2S,GAAAwhB,UAOAghT,GAAAl3T,OAAA,KACA,IAAAu3T,GAAA,GAEA,SAAAC,GAAAx3T,GACAu3T,GAAAj7T,KAAA0D,GACAk3T,GAAAl3T,SAGA,SAAAy3T,KACAF,GAAAvhT,MACAkhT,GAAAl3T,OAAAu3T,MAAArqU,OAAA,GAKA,IAAAwqU,GAAA,SACA7hG,EACA3gO,EACA44D,EACAnjE,EACAgtU,EACAtqT,EACAuqT,EACAC,GAEAluU,KAAAksO,MACAlsO,KAAAuL,OACAvL,KAAAmkE,WACAnkE,KAAAgB,OACAhB,KAAAguU,MACAhuU,KAAAmuU,QAAA7lU,EACAtI,KAAA0jB,UACA1jB,KAAAouU,eAAA9lU,EACAtI,KAAAquU,eAAA/lU,EACAtI,KAAAsuU,eAAAhmU,EACAtI,KAAAiL,IAAAM,KAAAN,IACAjL,KAAAiuU,mBACAjuU,KAAAihQ,uBAAA34P,EACAtI,KAAA2xE,YAAArpE,EACAtI,KAAA84M,KAAA,EACA94M,KAAAsxF,UAAA,EACAtxF,KAAAuuU,cAAA,EACAvuU,KAAAwuU,WAAA,EACAxuU,KAAAyuU,UAAA,EACAzuU,KAAA0uU,QAAA,EACA1uU,KAAAkuU,eACAluU,KAAA2uU,eAAArmU,EACAtI,KAAA4uU,oBAAA,GAGAj7D,GAAA,CAA0BvhP,MAAA,CAASzE,cAAA,IAInCgmP,GAAAvhP,MAAA3sB,IAAA,WACA,OAAAzF,KAAAihQ,mBAGAl4P,OAAAy3B,iBAAAutS,GAAA9tU,UAAA0zQ,IAEA,IAAAk7D,GAAA,SAAA7tU,QACA,IAAAA,MAAA,IAEA,IAAAqc,EAAA,IAAA0wT,GAGA,OAFA1wT,EAAArc,OACAqc,EAAAmxT,WAAA,EACAnxT,GAGA,SAAAyxT,GAAA7lU,GACA,WAAA8kU,QAAAzlU,gBAAAm+H,OAAAx9H,IAOA,SAAA8lU,GAAA/tE,GACA,IAAAguE,EAAA,IAAAjB,GACA/sE,EAAA90B,IACA80B,EAAAz1P,KAIAy1P,EAAA78L,UAAA68L,EAAA78L,SAAAjlC,QACA8hO,EAAAhgQ,KACAggQ,EAAAgtE,IACAhtE,EAAAt9O,QACAs9O,EAAAitE,iBACAjtE,EAAAktE,cAWA,OATAc,EAAAb,GAAAntE,EAAAmtE,GACAa,EAAA19O,SAAA0vK,EAAA1vK,SACA09O,EAAA/jU,IAAA+1P,EAAA/1P,IACA+jU,EAAAR,UAAAxtE,EAAAwtE,UACAQ,EAAAZ,UAAAptE,EAAAotE,UACAY,EAAAX,UAAArtE,EAAAqtE,UACAW,EAAAV,UAAAttE,EAAAstE,UACAU,EAAAL,UAAA3tE,EAAA2tE,UACAK,EAAAP,UAAA,EACAO,EAQA,IAAAtnR,GAAAlqC,MAAAvd,UACAgvU,GAAAlmU,OAAA+lC,OAAA4Y,IAEAwnR,GAAA,CACA,OACA,MACA,QACA,UACA,SACA,OACA,WAMAA,GAAArkU,QAAA,SAAAs7I,GAEA,IAAAiZ,EAAA13G,GAAAy+F,GACAyoH,EAAAqgE,GAAA9oL,EAAA,WACA,IAAA18F,EAAA,GAAAh9C,EAAA9D,UAAApF,OACA,MAAAkJ,IAAAg9C,EAAAh9C,GAAA9D,UAAA8D,GAEA,IAEA0iU,EAFAzrU,EAAA07J,EAAA12J,MAAA1I,KAAAypD,GACA2lR,EAAApvU,KAAAqvU,OAEA,OAAAlpL,GACA,WACA,cACAgpL,EAAA1lR,EACA,MACA,aACA0lR,EAAA1lR,EAAAvqB,MAAA,GACA,MAKA,OAHAiwS,GAAmBC,EAAAE,aAAAH,GAEnBC,EAAAp+G,IAAAy2G,SACA/jU,MAMA,IAAA6rU,GAAAxmU,OAAAymU,oBAAAP,IAMAQ,IAAA,EAEA,SAAAC,GAAAzrU,GACAwrU,GAAAxrU,EASA,IAAA0rU,GAAA,SAAA1rU,GACAjE,KAAAiE,QACAjE,KAAAgxN,IAAA,IAAAu8G,GACAvtU,KAAA4vU,QAAA,EACAhhE,EAAA3qQ,EAAA,SAAAjE,MACAwd,MAAAxU,QAAA/E,IACAqoU,EACAuD,GAAA5rU,EAAAgrU,IAEAa,GAAA7rU,EAAAgrU,GAAAM,IAEAvvU,KAAAsvU,aAAArrU,IAEAjE,KAAA+vU,KAAA9rU,IA+BA,SAAA4rU,GAAAx5T,EAAA6gB,GAEA7gB,EAAAg8P,UAAAn7O,EASA,SAAA44S,GAAAz5T,EAAA6gB,EAAAlB,GACA,QAAAjrB,EAAA,EAAAC,EAAAgrB,EAAAzyB,OAAkCwH,EAAAC,EAAOD,IAAA,CACzC,IAAAE,EAAA+qB,EAAAjrB,GACA6jQ,EAAAv4P,EAAApL,EAAAisB,EAAAjsB,KASA,SAAAg7S,GAAAhiT,EAAA+rU,GAIA,IAAAZ,EAHA,GAAAxlU,EAAA3F,mBAAA8pU,IAkBA,OAdAn5H,EAAA3wM,EAAA,WAAAA,EAAAorU,kBAAAM,GACAP,EAAAnrU,EAAAorU,OAEAI,KACAvC,OACA1vT,MAAAxU,QAAA/E,IAAAwlU,EAAAxlU,KACA8E,OAAAknU,aAAAhsU,KACAA,EAAAisU,SAEAd,EAAA,IAAAO,GAAA1rU,IAEA+rU,GAAAZ,GACAA,EAAAQ,UAEAR,EAMA,SAAAe,GACArlU,EACAG,EACAhC,EACAmnU,EACAC,GAEA,IAAAr/G,EAAA,IAAAu8G,GAEAv/S,EAAAjlB,OAAAunU,yBAAAxlU,EAAAG,GACA,IAAA+iB,IAAA,IAAAA,EAAAL,aAAA,CAKA,IAAAH,EAAAQ,KAAAvoB,IACA2pI,EAAAphH,KAAAoF,IACA5F,IAAA4hH,GAAA,IAAAzmI,UAAApF,SACA0F,EAAA6B,EAAAG,IAGA,IAAAslU,GAAAF,GAAApqB,GAAAh9S,GACAF,OAAA2kB,eAAA5iB,EAAAG,EAAA,CACA2iB,YAAA,EACAD,cAAA,EACAloB,IAAA,WACA,IAAAxB,EAAAupB,IAAAztB,KAAA+K,GAAA7B,EAUA,OATAskU,GAAAl3T,SACA26M,EAAA08G,SACA6C,IACAA,EAAAv/G,IAAA08G,SACAlwT,MAAAxU,QAAA/E,IACAusU,GAAAvsU,KAIAA,GAEAmvB,IAAA,SAAA6qO,GACA,IAAAh6P,EAAAupB,IAAAztB,KAAA+K,GAAA7B,EAEAg1P,IAAAh6P,GAAAg6P,OAAAh6P,OAQAupB,IAAA4hH,IACAA,EACAA,EAAArvI,KAAA+K,EAAAmzP,GAEAh1P,EAAAg1P,EAEAsyE,GAAAF,GAAApqB,GAAAhoD,GACAjtC,EAAAy2G,cAUA,SAAAr0S,GAAA/c,EAAApL,EAAAhC,GAMA,GAAAuU,MAAAxU,QAAAqN,IAAAszT,EAAA1+T,GAGA,OAFAoL,EAAA9S,OAAAmD,KAAAS,IAAAkP,EAAA9S,OAAA0H,GACAoL,EAAAg7D,OAAApmE,EAAA,EAAAhC,GACAA,EAEA,GAAAgC,KAAAoL,KAAApL,KAAAlC,OAAA9I,WAEA,OADAoW,EAAApL,GAAAhC,EACAA,EAEA,IAAAmmU,EAAA,EAAAC,OACA,OAAAh5T,EAAA65T,QAAAd,KAAAQ,QAKA3mU,EAEAmmU,GAIAe,GAAAf,EAAAnrU,MAAAgH,EAAAhC,GACAmmU,EAAAp+G,IAAAy2G,SACAx+T,IALAoN,EAAApL,GAAAhC,EACAA,GAUA,SAAAwnU,GAAAp6T,EAAApL,GAMA,GAAAuS,MAAAxU,QAAAqN,IAAAszT,EAAA1+T,GACAoL,EAAAg7D,OAAApmE,EAAA,OADA,CAIA,IAAAmkU,EAAA,EAAAC,OACAh5T,EAAA65T,QAAAd,KAAAQ,SAOAh7H,EAAAv+L,EAAApL,YAGAoL,EAAApL,GACAmkU,GAGAA,EAAAp+G,IAAAy2G,WAOA,SAAA+I,GAAAvsU,GACA,QAAAkS,OAAA,EAAApL,EAAA,EAAAC,EAAA/G,EAAAV,OAAiDwH,EAAAC,EAAOD,IACxDoL,EAAAlS,EAAA8G,GACAoL,KAAAk5T,QAAAl5T,EAAAk5T,OAAAr+G,IAAA08G,SACAlwT,MAAAxU,QAAAmN,IACAq6T,GAAAr6T,GAhNAw5T,GAAA1vU,UAAA8vU,KAAA,SAAAjlU,GAEA,IADA,IAAAkrB,EAAAjtB,OAAAitB,KAAAlrB,GACAC,EAAA,EAAiBA,EAAAirB,EAAAzyB,OAAiBwH,IAClColU,GAAArlU,EAAAkrB,EAAAjrB,KAOA4kU,GAAA1vU,UAAAqvU,aAAA,SAAA3yE,GACA,QAAA5xP,EAAA,EAAAC,EAAA2xP,EAAAp5P,OAAmCwH,EAAAC,EAAOD,IAC1Ck7S,GAAAtpD,EAAA5xP,KAgNA,IAAAu7P,GAAAtsE,EAAAusE,sBAoBA,SAAAmqE,GAAAnkH,EAAAlkK,GACA,IAAAA,EAAc,OAAAkkK,EAOd,IANA,IAAAthN,EAAA0lU,EAAAC,EAEA56S,EAAAq5O,GACAnwB,QAAA7d,QAAAh5K,GACAt/C,OAAAitB,KAAAqyB,GAEAt9C,EAAA,EAAiBA,EAAAirB,EAAAzyB,OAAiBwH,IAClCE,EAAA+qB,EAAAjrB,GAEA,WAAAE,IACA0lU,EAAApkH,EAAAthN,GACA2lU,EAAAvoR,EAAAp9C,GACA2pM,EAAA2X,EAAAthN,GAGA0lU,IAAAC,GACAnH,EAAAkH,IACAlH,EAAAmH,IAEAF,GAAAC,EAAAC,GANAx9S,GAAAm5L,EAAAthN,EAAA2lU,IASA,OAAArkH,EAMA,SAAAskH,GACAC,EACAC,EACAnwE,GAEA,OAAAA,EAoBA,WAEA,IAAAowE,EAAA,oBAAAD,EACAA,EAAAhxU,KAAA6gQ,KACAmwE,EACAE,EAAA,oBAAAH,EACAA,EAAA/wU,KAAA6gQ,KACAkwE,EACA,OAAAE,EACAN,GAAAM,EAAAC,GAEAA,GA7BAF,EAGAD,EAQA,WACA,OAAAJ,GACA,oBAAAK,IAAAhxU,KAAAC,WAAA+wU,EACA,oBAAAD,IAAA/wU,KAAAC,WAAA8wU,IAVAC,EAHAD,EA2DA,SAAAI,GACAJ,EACAC,GAEA,IAAAh/P,EAAAg/P,EACAD,EACAA,EAAApnR,OAAAqnR,GACAvzT,MAAAxU,QAAA+nU,GACAA,EACA,CAAAA,GACAD,EACA,OAAA/+P,EACAo/P,GAAAp/P,GACAA,EAGA,SAAAo/P,GAAAC,GAEA,IADA,IAAAr/P,EAAA,GACAhnE,EAAA,EAAiBA,EAAAqmU,EAAA7tU,OAAkBwH,KACnC,IAAAgnE,EAAA3mC,QAAAgmS,EAAArmU,KACAgnE,EAAAp/D,KAAAy+T,EAAArmU,IAGA,OAAAgnE,EAcA,SAAAs/P,GACAP,EACAC,EACAnwE,EACA31P,GAEA,IAAA8mE,EAAAhpE,OAAA+lC,OAAAgiS,GAAA,MACA,OAAAC,EAEArsU,EAAAqtE,EAAAg/P,GAEAh/P,EAzEAu0L,GAAA/6P,KAAA,SACAulU,EACAC,EACAnwE,GAEA,OAAAA,EAcAiwE,GAAAC,EAAAC,EAAAnwE,GAbAmwE,GAAA,oBAAAA,EAQAD,EAEAD,GAAAC,EAAAC,IAmCA3F,EAAAvgU,QAAA,SAAAi2P,GACAwF,GAAAxF,GAAAowE,KAyBA/F,EAAAtgU,QAAA,SAAA1K,GACAmmQ,GAAAnmQ,EAAA,KAAAkxU,KASA/qE,GAAA68C,MAAA,SACA2tB,EACAC,EACAnwE,EACA31P,GAMA,GAHA6lU,IAAA9D,KAAkC8D,OAAAxoU,GAClCyoU,IAAA/D,KAAiC+D,OAAAzoU,IAEjCyoU,EAAkB,OAAAhoU,OAAA+lC,OAAAgiS,GAAA,MAIlB,IAAAA,EAAmB,OAAAC,EACnB,IAAA5rQ,EAAA,GAEA,QAAAmsQ,KADA5sU,EAAAygE,EAAA2rQ,GACAC,EAAA,CACA,IAAAp/P,EAAAxM,EAAAmsQ,GACAl/S,EAAA2+S,EAAAO,GACA3/P,IAAAn0D,MAAAxU,QAAA2oE,KACAA,EAAA,CAAAA,IAEAxM,EAAAmsQ,GAAA3/P,EACAA,EAAAjoB,OAAAt3B,GACA5U,MAAAxU,QAAAopB,KAAA,CAAAA,GAEA,OAAA+yC,GAMAmhM,GAAAzhP,MACAyhP,GAAAl4P,QACAk4P,GAAAirE,OACAjrE,GAAAg7C,SAAA,SACAwvB,EACAC,EACAnwE,EACA31P,GAKA,IAAA6lU,EAAmB,OAAAC,EACnB,IAAA5rQ,EAAAp8D,OAAA+lC,OAAA,MAGA,OAFApqC,EAAAygE,EAAA2rQ,GACAC,GAAiBrsU,EAAAygE,EAAA4rQ,GACjB5rQ,GAEAmhM,GAAAkrE,QAAAX,GAKA,IAAAY,GAAA,SAAAX,EAAAC,GACA,YAAAzoU,IAAAyoU,EACAD,EACAC,GA+BA,SAAAW,GAAA7hU,EAAA+wP,GACA,IAAA/7O,EAAAhV,EAAAgV,MACA,GAAAA,EAAA,CACA,IACA9Z,EAAA9B,EAAAqF,EADAyjE,EAAA,GAEA,GAAAv0D,MAAAxU,QAAA6b,GAAA,CACA9Z,EAAA8Z,EAAAthB,OACA,MAAAwH,IACA9B,EAAA4b,EAAA9Z,GACA,kBAAA9B,IACAqF,EAAA27T,EAAAhhU,GACA8oE,EAAAzjE,GAAA,CAAqBnO,KAAA,YAKlB,GAAAspU,EAAA5kT,GACH,QAAA5Z,KAAA4Z,EACA5b,EAAA4b,EAAA5Z,GACAqD,EAAA27T,EAAAh/T,GACA8mE,EAAAzjE,GAAAm7T,EAAAxgU,GACAA,EACA,CAAW9I,KAAA8I,QAEE,EAOb4G,EAAAgV,MAAAktD,GAMA,SAAA4/P,GAAA9hU,EAAA+wP,GACA,IAAA2wE,EAAA1hU,EAAA0hU,OACA,GAAAA,EAAA,CACA,IAAAn0J,EAAAvtK,EAAA0hU,OAAA,GACA,GAAA/zT,MAAAxU,QAAAuoU,GACA,QAAAxmU,EAAA,EAAmBA,EAAAwmU,EAAAhuU,OAAmBwH,IACtCqyK,EAAAm0J,EAAAxmU,IAAA,CAA+Bs9C,KAAAkpR,EAAAxmU,SAE5B,GAAA0+T,EAAA8H,GACH,QAAAtmU,KAAAsmU,EAAA,CACA,IAAAtoU,EAAAsoU,EAAAtmU,GACAmyK,EAAAnyK,GAAAw+T,EAAAxgU,GACAvE,EAAA,CAAkB2jD,KAAAp9C,GAAYhC,GAC9B,CAAWo/C,KAAAp/C,QAEE,GAYb,SAAA2oU,GAAA/hU,GACA,IAAAgiU,EAAAhiU,EAAAiiU,WACA,GAAAD,EACA,QAAA5mU,KAAA4mU,EAAA,CACA,IAAAE,EAAAF,EAAA5mU,GACA,oBAAA8mU,IACAF,EAAA5mU,GAAA,CAAqBrC,KAAAmpU,EAAAxlT,OAAAwlT,KAoBrB,SAAAnpB,GACAj3O,EACAv/C,EACAwuO,GAkBA,GAZA,oBAAAxuO,IACAA,IAAAviB,SAGA6hU,GAAAt/S,EAAAwuO,GACA+wE,GAAAv/S,EAAAwuO,GACAgxE,GAAAx/S,IAMAA,EAAA4/S,QACA5/S,EAAA6/S,UACAtgQ,EAAAi3O,GAAAj3O,EAAAv/C,EAAA6/S,QAAArxE,IAEAxuO,EAAA8/S,QACA,QAAAnnU,EAAA,EAAAC,EAAAonB,EAAA8/S,OAAA3uU,OAA8CwH,EAAAC,EAAOD,IACrD4mE,EAAAi3O,GAAAj3O,EAAAv/C,EAAA8/S,OAAAnnU,GAAA61P,GAKA,IACA31P,EADA4E,EAAA,GAEA,IAAA5E,KAAA0mE,EACAwgQ,EAAAlnU,GAEA,IAAAA,KAAAmnB,EACAwiL,EAAAjjI,EAAA1mE,IACAknU,EAAAlnU,GAGA,SAAAknU,EAAAlnU,GACA,IAAAmnU,EAAA9rE,GAAAr7P,IAAAwmU,GACA5hU,EAAA5E,GAAAmnU,EAAAzgQ,EAAA1mE,GAAAmnB,EAAAnnB,GAAA21P,EAAA31P,GAEA,OAAA4E,EAQA,SAAAwiU,GACAxiU,EACA1P,EACA8rB,EACAqmT,GAGA,qBAAArmT,EAAA,CAGA,IAAAsmT,EAAA1iU,EAAA1P,GAEA,GAAAy0M,EAAA29H,EAAAtmT,GAA2B,OAAAsmT,EAAAtmT,GAC3B,IAAAumT,EAAAvI,EAAAh+S,GACA,GAAA2oL,EAAA29H,EAAAC,GAAoC,OAAAD,EAAAC,GACpC,IAAAC,EAAAvI,EAAAsI,GACA,GAAA59H,EAAA29H,EAAAE,GAAqC,OAAAF,EAAAE,GAErC,IAAA1gQ,EAAAwgQ,EAAAtmT,IAAAsmT,EAAAC,IAAAD,EAAAE,GAOA,OAAA1gQ,GAOA,SAAA2gQ,GACAznU,EACA0nU,EACAC,EACAhyE,GAEA,IAAAz3M,EAAAwpR,EAAA1nU,GACA4nU,GAAAj+H,EAAAg+H,EAAA3nU,GACAhH,EAAA2uU,EAAA3nU,GAEA6nU,EAAAC,GAAAlvE,QAAA16M,EAAAhpD,MACA,GAAA2yU,GAAA,EACA,GAAAD,IAAAj+H,EAAAzrJ,EAAA,WACAllD,GAAA,OACK,QAAAA,OAAAmmU,EAAAn/T,GAAA,CAGL,IAAA+nU,EAAAD,GAAAtsM,OAAAt9E,EAAAhpD,OACA6yU,EAAA,GAAAF,EAAAE,KACA/uU,GAAA,GAKA,QAAAqE,IAAArE,EAAA,CACAA,EAAAgvU,GAAAryE,EAAAz3M,EAAAl+C,GAGA,IAAAioU,EAAAzD,GACAC,IAAA,GACAzpB,GAAAhiT,GACAyrU,GAAAwD,GASA,OAAAjvU,EAMA,SAAAgvU,GAAAryE,EAAAz3M,EAAAl+C,GAEA,GAAA2pM,EAAAzrJ,EAAA,YAGA,IAAAylN,EAAAzlN,EAAAs2M,QAYA,OAAAmB,KAAAkF,SAAA8sE,gBACAtqU,IAAAs4P,EAAAkF,SAAA8sE,UAAA3nU,SACA3C,IAAAs4P,EAAAuyE,OAAAloU,GAEA21P,EAAAuyE,OAAAloU,GAIA,oBAAA2jQ,GAAA,aAAAhxB,GAAAz0L,EAAAhpD,MACAyuQ,EAAA7uQ,KAAA6gQ,GACAgO,GAqFA,SAAAhxB,GAAAx6O,GACA,IAAAyzB,EAAAzzB,KAAA0F,WAAA+tB,MAAA,sBACA,OAAAA,IAAA,MAGA,SAAAu8S,GAAA7qU,EAAAC,GACA,OAAAo1O,GAAAr1O,KAAAq1O,GAAAp1O,GAGA,SAAAuqU,GAAA5yU,EAAAkzU,GACA,IAAA71T,MAAAxU,QAAAqqU,GACA,OAAAD,GAAAC,EAAAlzU,GAAA,KAEA,QAAA4K,EAAA,EAAA0B,EAAA4mU,EAAA9vU,OAA6CwH,EAAA0B,EAAS1B,IACtD,GAAAqoU,GAAAC,EAAAtoU,GAAA5K,GACA,OAAA4K,EAGA,SAgDA,SAAAuoU,GAAA/zE,EAAAqB,EAAAvuD,GAGAw7H,KACA,IACA,GAAAjtE,EAAA,CACA,IAAA2yE,EAAA3yE,EACA,MAAA2yE,IAAAhzE,QAAA,CACA,IAAA6wE,EAAAmC,EAAAztE,SAAA0tE,cACA,GAAApC,EACA,QAAArmU,EAAA,EAAyBA,EAAAqmU,EAAA7tU,OAAkBwH,IAC3C,IACA,IAAA2lP,GAAA,IAAA0gF,EAAArmU,GAAAhL,KAAAwzU,EAAAh0E,EAAAqB,EAAAvuD,GACA,GAAAq+C,EAA4B,OACf,MAAAv6O,IACbs9T,GAAAt9T,GAAAo9T,EAAA,wBAMAE,GAAAl0E,EAAAqB,EAAAvuD,GACG,QACHy7H,MAIA,SAAA4F,GACA5/O,EACApwE,EACA+lC,EACAm3M,EACAvuD,GAEA,IAAAtgI,EACA,IACAA,EAAAtoB,EAAAqqC,EAAAprF,MAAAgb,EAAA+lC,GAAAqqC,EAAA/zF,KAAA2jB,GACAquD,MAAAm+P,QAAA7xB,EAAAtsO,OAAA4hQ,WACA5hQ,EAAAm7L,MAAA,SAAA/2P,GAA8B,OAAAm9T,GAAAn9T,EAAAyqP,EAAAvuD,EAAA,sBAG9BtgI,EAAA4hQ,UAAA,GAEG,MAAAx9T,IACHm9T,GAAAn9T,GAAAyqP,EAAAvuD,GAEA,OAAAtgI,EAGA,SAAA0hQ,GAAAl0E,EAAAqB,EAAAvuD,GACA,GAAArY,EAAAsxI,aACA,IACA,OAAAtxI,EAAAsxI,aAAAvrU,KAAA,KAAAw/P,EAAAqB,EAAAvuD,GACK,MAAAl8L,IAGLA,KAAAopP,GACAq0E,GAAAz9T,GAAA,4BAIAy9T,GAAAr0E,EAAAqB,EAAAvuD,GAGA,SAAAuhI,GAAAr0E,EAAAqB,EAAAvuD,GAKA,IAAAu0D,IAAA2lE,GAAA,qBAAAn0S,QAGA,MAAAmnO,EAFAnnO,QAAA+B,MAAAolO,GAQA,IAyBAs0E,GAzBAC,IAAA,EAEAl9S,GAAA,GACAkyH,IAAA,EAEA,SAAAirL,KACAjrL,IAAA,EACA,IAAAkrL,EAAAp9S,GAAAsI,MAAA,GACAtI,GAAArzB,OAAA,EACA,QAAAwH,EAAA,EAAiBA,EAAAipU,EAAAzwU,OAAmBwH,IACpCipU,EAAAjpU,KAwBA,wBAAA06M,SAAA2nH,GAAA3nH,SAAA,CACA,IAAA3kM,GAAA2kM,QAAAC,UACAmuH,GAAA,WACA/yT,GAAA8kM,KAAAmuH,IAMAjH,IAAgB7gR,WAAAjB,IAEhB8oR,IAAA,OACC,GAAAnH,IAAA,qBAAAtmB,mBACD+mB,GAAA/mB,mBAEA,yCAAAA,iBAAAv9S,WAoBA+qU,GAJC,qBAAAI,cAAA7G,GAAA6G,cAID,WACAA,aAAAF,KAIA,WACA9nR,WAAA8nR,GAAA,QAzBA,CAIA,IAAAG,GAAA,EACAC,GAAA,IAAA9tB,iBAAA0tB,IACAK,GAAAxpU,SAAAm9N,eAAAthG,OAAAytM,KACAC,GAAAluB,QAAAmuB,GAAA,CACA5tB,eAAA,IAEAqtB,GAAA,WACAK,OAAA,KACAE,GAAA7oU,KAAAk7H,OAAAytM,KAEAJ,IAAA,EAeA,SAAAzxC,GAAAtsQ,EAAA11B,GACA,IAAAg0U,EAiBA,GAhBAz9S,GAAAjkB,KAAA,WACA,GAAAojB,EACA,IACAA,EAAAh2B,KAAAM,GACO,MAAA8V,IACPm9T,GAAAn9T,GAAA9V,EAAA,iBAEKg0U,GACLA,EAAAh0U,KAGAyoJ,KACAA,IAAA,EACA+qL,OAGA99S,GAAA,qBAAA0vL,QACA,WAAAA,QAAA,SAAAC,GACA2uH,EAAA3uH,IAiGA,IAAA4uH,GAAA,IAAAjH,GAOA,SAAAl7S,GAAAlpB,GACAsrU,GAAAtrU,EAAAqrU,IACAA,GAAA5nU,QAGA,SAAA6nU,GAAAtrU,EAAAurU,GACA,IAAAzpU,EAAAirB,EACAy+S,EAAAj3T,MAAAxU,QAAAC,GACA,MAAAwrU,IAAA7qU,EAAAX,IAAAF,OAAA2rU,SAAAzrU,iBAAA8kU,IAAA,CAGA,GAAA9kU,EAAAomU,OAAA,CACA,IAAAsF,EAAA1rU,EAAAomU,OAAAr+G,IAAA/kM,GACA,GAAAuoT,EAAA3gP,IAAA8gP,GACA,OAEAH,EAAAj3S,IAAAo3S,GAEA,GAAAF,EAAA,CACA1pU,EAAA9B,EAAA1F,OACA,MAAAwH,IAAiBwpU,GAAAtrU,EAAA8B,GAAAypU,OACd,CACHx+S,EAAAjtB,OAAAitB,KAAA/sB,GACA8B,EAAAirB,EAAAzyB,OACA,MAAAwH,IAAiBwpU,GAAAtrU,EAAA+sB,EAAAjrB,IAAAypU,KA6BjB,IAAAI,GAAAn7M,EAAA,SAAAnrH,GACA,IAAAumU,EAAA,MAAAvmU,EAAAmE,OAAA,GACAnE,EAAAumU,EAAAvmU,EAAA4wB,MAAA,GAAA5wB,EACA,IAAAwmU,EAAA,MAAAxmU,EAAAmE,OAAA,GACAnE,EAAAwmU,EAAAxmU,EAAA4wB,MAAA,GAAA5wB,EACA,IAAAoiP,EAAA,MAAApiP,EAAAmE,OAAA,GAEA,OADAnE,EAAAoiP,EAAApiP,EAAA4wB,MAAA,GAAA5wB,EACA,CACAA,OACAylF,KAAA+gP,EACApkF,UACAmkF,aAIA,SAAAE,GAAAtpU,EAAAm1P,GACA,SAAAo0E,IACA,IAAAC,EAAAtsU,UAEA8C,EAAAupU,EAAAvpU,IACA,IAAA+R,MAAAxU,QAAAyC,GAOA,OAAAioU,GAAAjoU,EAAA,KAAA9C,UAAAi4P,EAAA,gBALA,IADA,IAAAouE,EAAAvjU,EAAAyzB,QACAn0B,EAAA,EAAqBA,EAAAikU,EAAAzrU,OAAmBwH,IACxC2oU,GAAA1E,EAAAjkU,GAAA,KAAAkqU,EAAAr0E,EAAA,gBAQA,OADAo0E,EAAAvpU,MACAupU,EAGA,SAAAE,GACAt/T,EACAu/T,EACA53S,EACA63S,EACAC,EACAz0E,GAEA,IAAAtyP,EAAAilU,EAAA+B,EAAAn+T,EACA,IAAA7I,KAAAsH,EACA29T,EAAA39T,EAAAtH,GACAgnU,EAAAH,EAAA7mU,GACA6I,EAAAy9T,GAAAtmU,GACA+6T,EAAAkK,KAKKlK,EAAAiM,IACLjM,EAAAkK,EAAA9nU,OACA8nU,EAAA39T,EAAAtH,GAAAymU,GAAAxB,EAAA3yE,IAEA0oE,EAAAnyT,EAAA48E,QACAw/O,EAAA39T,EAAAtH,GAAA+mU,EAAAl+T,EAAA7I,KAAAilU,EAAAp8T,EAAAu5O,UAEAnzN,EAAApmB,EAAA7I,KAAAilU,EAAAp8T,EAAAu5O,QAAAv5O,EAAA09T,QAAA19T,EAAA6N,SACKuuT,IAAA+B,IACLA,EAAA7pU,IAAA8nU,EACA39T,EAAAtH,GAAAgnU,IAGA,IAAAhnU,KAAA6mU,EACA9L,EAAAzzT,EAAAtH,MACA6I,EAAAy9T,GAAAtmU,GACA8mU,EAAAj+T,EAAA7I,KAAA6mU,EAAA7mU,GAAA6I,EAAAu5O,UAOA,SAAA6kF,GAAA3mE,EAAA4mE,EAAA10E,GAIA,IAAAk0E,EAHApmE,aAAAm/D,KACAn/D,IAAArjQ,KAAAu1P,OAAA8N,EAAArjQ,KAAAu1P,KAAA,KAGA,IAAA20E,EAAA7mE,EAAA4mE,GAEA,SAAAE,IACA50E,EAAAp4P,MAAA1I,KAAA2I,WAGA6D,EAAAwoU,EAAAvpU,IAAAiqU,GAGArM,EAAAoM,GAEAT,EAAAD,GAAA,CAAAW,IAGA/vE,EAAA8vE,EAAAhqU,MAAA69T,EAAAmM,EAAA/wP,SAEAswP,EAAAS,EACAT,EAAAvpU,IAAAkH,KAAA+iU,IAGAV,EAAAD,GAAA,CAAAU,EAAAC,IAIAV,EAAAtwP,QAAA,EACAkqL,EAAA4mE,GAAAR,EAKA,SAAAW,GACApqU,EACA68C,EACA8jL,GAKA,IAAAymG,EAAAvqR,EAAAv4C,QAAAgV,MACA,IAAAwkT,EAAAsJ,GAAA,CAGA,IAAA5gQ,EAAA,GACAixK,EAAAz3O,EAAAy3O,MACAn+N,EAAAtZ,EAAAsZ,MACA,GAAA8gP,EAAA3iB,IAAA2iB,EAAA9gP,GACA,QAAA5Z,KAAA0nU,EAAA,CACA,IAAAxtE,EAAAilE,EAAAn/T,GAiBA2qU,GAAA7jQ,EAAAltD,EAAA5Z,EAAAk6P,GAAA,IACAywE,GAAA7jQ,EAAAixK,EAAA/3O,EAAAk6P,GAAA,GAGA,OAAApzL,GAGA,SAAA6jQ,GACA7jQ,EACAwwL,EACAt3P,EACAk6P,EACA0wE,GAEA,GAAAlwE,EAAApD,GAAA,CACA,GAAA3tD,EAAA2tD,EAAAt3P,GAKA,OAJA8mE,EAAA9mE,GAAAs3P,EAAAt3P,GACA4qU,UACAtzE,EAAAt3P,IAEA,EACK,GAAA2pM,EAAA2tD,EAAA4C,GAKL,OAJApzL,EAAA9mE,GAAAs3P,EAAA4C,GACA0wE,UACAtzE,EAAA4C,IAEA,EAGA,SAiBA,SAAA2wE,GAAA3xQ,GACA,QAAAp5D,EAAA,EAAiBA,EAAAo5D,EAAA5gE,OAAqBwH,IACtC,GAAAyS,MAAAxU,QAAAm7D,EAAAp5D,IACA,OAAAyS,MAAAvd,UAAAypD,OAAAhhD,MAAA,GAAAy7D,GAGA,OAAAA,EAOA,SAAA4xQ,GAAA5xQ,GACA,OAAAhc,EAAAgc,GACA,CAAA2qQ,GAAA3qQ,IACA3mD,MAAAxU,QAAAm7D,GACA6xQ,GAAA7xQ,QACA77D,EAGA,SAAA2tU,GAAA54T,GACA,OAAAsoP,EAAAtoP,IAAAsoP,EAAAtoP,EAAArc,OAAAuoU,EAAAlsT,EAAAmxT,WAGA,SAAAwH,GAAA7xQ,EAAA+xQ,GACA,IACAnrU,EAAAtC,EAAA6I,EAAA6wJ,EADApwF,EAAA,GAEA,IAAAhnE,EAAA,EAAaA,EAAAo5D,EAAA5gE,OAAqBwH,IAClCtC,EAAA07D,EAAAp5D,GACAs+T,EAAA5gU,IAAA,mBAAAA,IACA6I,EAAAygE,EAAAxuE,OAAA,EACA4+J,EAAApwF,EAAAzgE,GAEAkM,MAAAxU,QAAAP,GACAA,EAAAlF,OAAA,IACAkF,EAAAutU,GAAAvtU,GAAAytU,GAAA,QAAAnrU,GAEAkrU,GAAAxtU,EAAA,KAAAwtU,GAAA9zK,KACApwF,EAAAzgE,GAAAw9T,GAAA3sK,EAAAnhK,KAAAyH,EAAA,GAAAzH,MACAyH,EAAAq8D,SAEAiN,EAAAp/D,KAAAjK,MAAAqpE,EAAAtpE,IAEK0/C,EAAA1/C,GACLwtU,GAAA9zK,GAIApwF,EAAAzgE,GAAAw9T,GAAA3sK,EAAAnhK,KAAAyH,GACO,KAAAA,GAEPspE,EAAAp/D,KAAAm8T,GAAArmU,IAGAwtU,GAAAxtU,IAAAwtU,GAAA9zK,GAEApwF,EAAAzgE,GAAAw9T,GAAA3sK,EAAAnhK,KAAAyH,EAAAzH,OAGAsoU,EAAAnlQ,EAAAgyQ,WACAxwE,EAAAl9P,EAAAyjO,MACAm9F,EAAA5gU,EAAAwC,MACA06P,EAAAuwE,KACAztU,EAAAwC,IAAA,UAAAirU,EAAA,IAAAnrU,EAAA,MAEAgnE,EAAAp/D,KAAAlK,KAIA,OAAAspE,EAKA,SAAAqkQ,GAAAx1E,GACA,IAAA4wE,EAAA5wE,EAAAkF,SAAA0rE,QACAA,IACA5wE,EAAAy1E,UAAA,oBAAA7E,EACAA,EAAAzxU,KAAA6gQ,GACA4wE,GAIA,SAAA8E,GAAA11E,GACA,IAAAl9P,EAAA6yU,GAAA31E,EAAAkF,SAAAyrE,OAAA3wE,GACAl9P,IACAgsU,IAAA,GACA3mU,OAAAitB,KAAAtyB,GAAAmH,QAAA,SAAAI,GAYAklU,GAAAvvE,EAAA31P,EAAAvH,EAAAuH,MAGAykU,IAAA,IAIA,SAAA6G,GAAAhF,EAAA3wE,GACA,GAAA2wE,EAAA,CAOA,IALA,IAAA7tU,EAAAqF,OAAA+lC,OAAA,MACA9Y,EAAAq5O,GACAnwB,QAAA7d,QAAAkwG,GACAxoU,OAAAitB,KAAAu7S,GAEAxmU,EAAA,EAAmBA,EAAAirB,EAAAzyB,OAAiBwH,IAAA,CACpC,IAAAE,EAAA+qB,EAAAjrB,GAEA,cAAAE,EAAA,CACA,IAAAurU,EAAAjF,EAAAtmU,GAAAo9C,KACApuB,EAAA2mO,EACA,MAAA3mO,EAAA,CACA,GAAAA,EAAAo8S,WAAAzhI,EAAA36K,EAAAo8S,UAAAG,GAAA,CACA9yU,EAAAuH,GAAAgvB,EAAAo8S,UAAAG,GACA,MAEAv8S,IAAAsmO,QAEA,IAAAtmO,EACA,eAAAs3S,EAAAtmU,GAAA,CACA,IAAAwrU,EAAAlF,EAAAtmU,GAAAw0P,QACA/7P,EAAAuH,GAAA,oBAAAwrU,EACAA,EAAA12U,KAAA6gQ,GACA61E,OACmB,GAKnB,OAAA/yU,GAWA,SAAAgzU,GACAvyQ,EACAzgD,GAEA,IAAAygD,MAAA5gE,OACA,SAGA,IADA,IAAAozU,EAAA,GACA5rU,EAAA,EAAAC,EAAAm5D,EAAA5gE,OAAsCwH,EAAAC,EAAOD,IAAA,CAC7C,IAAAqnB,EAAA+xC,EAAAp5D,GACAQ,EAAA6mB,EAAA7mB,KAOA,GALAA,KAAAy3O,OAAAz3O,EAAAy3O,MAAAnrK,aACAtsE,EAAAy3O,MAAAnrK,KAIAzlD,EAAA1O,aAAA0O,EAAAg8S,YAAA1qT,IACAnY,GAAA,MAAAA,EAAAssE,MAUA8+P,EAAAl3E,UAAAk3E,EAAAl3E,QAAA,KAAA9sP,KAAAyf,OATA,CACA,IAAA9jB,EAAA/C,EAAAssE,KACAA,EAAA8+P,EAAAroU,KAAAqoU,EAAAroU,GAAA,IACA,aAAA8jB,EAAA85M,IACAr0J,EAAAllE,KAAAjK,MAAAmvE,EAAAzlD,EAAA+xC,UAAA,IAEA0T,EAAAllE,KAAAyf,IAOA,QAAAwkT,KAAAD,EACAA,EAAAC,GAAA1zE,MAAA2zE,YACAF,EAAAC,GAGA,OAAAD,EAGA,SAAAE,GAAAx5T,GACA,OAAAA,EAAAmxT,YAAAnxT,EAAA6wT,cAAA,MAAA7wT,EAAArc,KAKA,SAAA81U,GACAH,EACAI,EACAC,GAEA,IAAAjlQ,EACAklQ,EAAAluU,OAAAitB,KAAA+gT,GAAAxzU,OAAA,EACA2zU,EAAAP,MAAAQ,SAAAF,EACAhsU,EAAA0rU,KAAAS,KACA,GAAAT,EAEG,IAAAA,EAAA1rE,YAEH,OAAA0rE,EAAA1rE,YACG,GACHisE,GACAF,GACAA,IAAA5N,GACAn+T,IAAA+rU,EAAAI,OACAH,IACAD,EAAAK,WAIA,OAAAL,EAGA,QAAA1F,KADAv/P,EAAA,GACA4kQ,EACAA,EAAArF,IAAA,MAAAA,EAAA,KACAv/P,EAAAu/P,GAAAgG,GAAAP,EAAAzF,EAAAqF,EAAArF,UAnBAv/P,EAAA,GAwBA,QAAAwlQ,KAAAR,EACAQ,KAAAxlQ,IACAA,EAAAwlQ,GAAAC,GAAAT,EAAAQ,IAWA,OANAZ,GAAA5tU,OAAAknU,aAAA0G,KACA,EAAA1rE,YAAAl5L,GAEA68L,EAAA78L,EAAA,UAAAmlQ,GACAtoE,EAAA78L,EAAA,OAAA9mE,GACA2jQ,EAAA78L,EAAA,aAAAklQ,GACAllQ,EAGA,SAAAulQ,GAAAP,EAAA9rU,EAAA7H,GACA,IAAAg6K,EAAA,WACA,IAAArrG,EAAAppE,UAAApF,OAAAH,EAAAsF,MAAA,KAAAC,WAAAvF,EAAA,IAIA,OAHA2uE,KAAA,kBAAAA,IAAAv0D,MAAAxU,QAAA+oE,GACA,CAAAA,GACAgkQ,GAAAhkQ,GACAA,IACA,IAAAA,EAAAxuE,QACA,IAAAwuE,EAAAxuE,QAAAwuE,EAAA,GAAAy8P,gBACAlmU,EACAypE,GAYA,OAPA3uE,EAAAq0U,OACA1uU,OAAA2kB,eAAAqpT,EAAA9rU,EAAA,CACAxF,IAAA23K,EACAxvJ,YAAA,EACAD,cAAA,IAGAyvJ,EAGA,SAAAo6J,GAAAb,EAAA1rU,GACA,kBAAsB,OAAA0rU,EAAA1rU,IAQtB,SAAA4zD,GACA51D,EACAiqD,GAEA,IAAAiS,EAAAp6D,EAAAC,EAAAgrB,EAAA/qB,EACA,GAAAuS,MAAAxU,QAAAC,IAAA,kBAAAA,EAEA,IADAk8D,EAAA,IAAA3nD,MAAAvU,EAAA1F,QACAwH,EAAA,EAAAC,EAAA/B,EAAA1F,OAA+BwH,EAAAC,EAAOD,IACtCo6D,EAAAp6D,GAAAmoD,EAAAjqD,EAAA8B,WAEG,qBAAA9B,EAEH,IADAk8D,EAAA,IAAA3nD,MAAAvU,GACA8B,EAAA,EAAeA,EAAA9B,EAAS8B,IACxBo6D,EAAAp6D,GAAAmoD,EAAAnoD,EAAA,EAAAA,QAEG,GAAAnB,EAAAX,GACH,GAAAomQ,IAAApmQ,EAAAg1N,OAAAx6N,UAAA,CACA0hE,EAAA,GACA,IAAA1hE,EAAAwF,EAAAg1N,OAAAx6N,YACAC,EAAAD,EAAAM,OACA,OAAAL,EAAAM,KACAmhE,EAAAxyD,KAAAugD,EAAAxvD,EAAAO,MAAAkhE,EAAA5hE,SACAG,EAAAD,EAAAM,YAKA,IAFAiyB,EAAAjtB,OAAAitB,KAAA/sB,GACAk8D,EAAA,IAAA3nD,MAAAwY,EAAAzyB,QACAwH,EAAA,EAAAC,EAAAgrB,EAAAzyB,OAAkCwH,EAAAC,EAAOD,IACzCE,EAAA+qB,EAAAjrB,GACAo6D,EAAAp6D,GAAAmoD,EAAAjqD,EAAAgC,KAAAF,GAQA,OAJA46P,EAAAxgM,KACAA,EAAA,IAEA,EAAAgxQ,UAAA,EACAhxQ,EAQA,SAAAuyQ,GACAppU,EACAukQ,EACAhuP,EACA8yT,GAEA,IACAjiL,EADAkiL,EAAA53U,KAAA63U,aAAAvpU,GAEAspU,GACA/yT,KAAA,GACA8yT,IAOA9yT,EAAAngB,IAAA,GAA8BizU,GAAA9yT,IAE9B6wI,EAAAkiL,EAAA/yT,IAAAguP,GAEAn9G,EAAA11J,KAAA+kQ,OAAAz2P,IAAAukQ,EAGA,IAAAx8P,EAAAwO,KAAAgzD,KACA,OAAAxhE,EACArW,KAAA6/P,eAAA,YAA4ChoL,KAAAxhE,GAAeq/I,GAE3DA,EASA,SAAAoiL,GAAA7rT,GACA,OAAAomT,GAAAryU,KAAA8lQ,SAAA,UAAA75O,GAAA,IAAA2jB,EAKA,SAAAmoS,GAAAC,EAAAC,GACA,OAAAz6T,MAAAxU,QAAAgvU,IACA,IAAAA,EAAA5sS,QAAA6sS,GAEAD,IAAAC,EASA,SAAAC,GACAC,EACAltU,EACAmtU,EACAC,EACAC,GAEA,IAAAC,EAAAv+I,EAAAyxI,SAAAxgU,IAAAmtU,EACA,OAAAE,GAAAD,IAAAr+I,EAAAyxI,SAAAxgU,GACA8sU,GAAAO,EAAAD,GACGE,EACHR,GAAAQ,EAAAJ,GACGE,EACHjO,EAAAiO,KAAAptU,OADG,EAUH,SAAAutU,GACAjtU,EACA2gO,EACAjoO,EACAw0U,EACAC,GAEA,GAAAz0U,EACA,GAAA2F,EAAA3F,GAKK,CAIL,IAAAs+P,EAHA/kP,MAAAxU,QAAA/E,KACAA,EAAA25N,EAAA35N,IAGA,IAAAusI,EAAA,SAAAvlI,GACA,GACA,UAAAA,GACA,UAAAA,GACA6+T,EAAA7+T,GAEAs3P,EAAAh3P,MACS,CACT,IAAApL,EAAAoL,EAAAy3O,OAAAz3O,EAAAy3O,MAAA7iP,KACAoiQ,EAAAk2E,GAAAz+I,EAAA+xI,YAAA7/F,EAAA/rO,EAAA8K,GACAM,EAAAotU,WAAAptU,EAAAotU,SAAA,IACAptU,EAAAy3O,QAAAz3O,EAAAy3O,MAAA,IAEA,IAAA41F,EAAA3O,EAAAh/T,GACA4tU,EAAAzO,EAAAn/T,GACA,KAAA2tU,KAAAr2E,MAAAs2E,KAAAt2E,KACAA,EAAAt3P,GAAAhH,EAAAgH,GAEAytU,GAAA,CACA,IAAA9iU,EAAArK,EAAAqK,KAAArK,EAAAqK,GAAA,IACAA,EAAA,UAAA3K,GAAA,SAAA6tU,GACA70U,EAAAgH,GAAA6tU,KAMA,QAAA7tU,KAAAhH,EAAAusI,EAAAvlI,QAGA,OAAAM,EAQA,SAAAwtU,GACAl1U,EACAm1U,GAEA,IAAAv/M,EAAAz5H,KAAAi5U,eAAAj5U,KAAAi5U,aAAA,IACAjzI,EAAAvsE,EAAA51H,GAGA,OAAAmiM,IAAAgzI,EACAhzI,GAGAA,EAAAvsE,EAAA51H,GAAA7D,KAAA8lQ,SAAA2+C,gBAAA5gT,GAAA9D,KACAC,KAAAk5U,aACA,KACAl5U,MAEAm5U,GAAAnzI,EAAA,aAAAniM,GAAA,GACAmiM,GAOA,SAAAozI,GACApzI,EACAniM,EACAoH,GAGA,OADAkuU,GAAAnzI,EAAA,WAAAniM,GAAAoH,EAAA,IAAAA,EAAA,QACA+6L,EAGA,SAAAmzI,GACAnzI,EACA/6L,EACAyjU,GAEA,GAAAlxT,MAAAxU,QAAAg9L,GACA,QAAAj7L,EAAA,EAAmBA,EAAAi7L,EAAAziM,OAAiBwH,IACpCi7L,EAAAj7L,IAAA,kBAAAi7L,EAAAj7L,IACAsuU,GAAArzI,EAAAj7L,GAAAE,EAAA,IAAAF,EAAA2jU,QAIA2K,GAAArzI,EAAA/6L,EAAAyjU,GAIA,SAAA2K,GAAAh8T,EAAApS,EAAAyjU,GACArxT,EAAAi0E,UAAA,EACAj0E,EAAApS,MACAoS,EAAAqxT,SAKA,SAAA4K,GAAA/tU,EAAAtH,GACA,GAAAA,EACA,GAAAwlU,EAAAxlU,GAKK,CACL,IAAA2R,EAAArK,EAAAqK,GAAArK,EAAAqK,GAAAlR,EAAA,GAA4C6G,EAAAqK,IAAA,GAC5C,QAAA3K,KAAAhH,EAAA,CACA,IAAAo6T,EAAAzoT,EAAA3K,GACAsuU,EAAAt1U,EAAAgH,GACA2K,EAAA3K,GAAAozT,EAAA,GAAA30Q,OAAA20Q,EAAAkb,WAIA,OAAAhuU,EAKA,SAAAiuU,GACA/tU,EACAsmE,EAEA0nQ,EACAC,GAEA3nQ,KAAA,CAAgBolQ,SAAAsC,GAChB,QAAA1uU,EAAA,EAAiBA,EAAAU,EAAAlI,OAAgBwH,IAAA,CACjC,IAAA8sE,EAAApsE,EAAAV,GACAyS,MAAAxU,QAAA6uE,GACA2hQ,GAAA3hQ,EAAA9F,EAAA0nQ,GACK5hQ,IAELA,EAAA4/P,QACA5/P,EAAAz0E,GAAAq0U,OAAA,GAEA1lQ,EAAA8F,EAAA5sE,KAAA4sE,EAAAz0E,IAMA,OAHAs2U,IACA,EAAAtC,KAAAsC,GAEA3nQ,EAKA,SAAA4nQ,GAAAC,EAAA9vR,GACA,QAAA/+C,EAAA,EAAiBA,EAAA++C,EAAAvmD,OAAmBwH,GAAA,GACpC,IAAAE,EAAA6+C,EAAA/+C,GACA,kBAAAE,OACA2uU,EAAA9vR,EAAA/+C,IAAA++C,EAAA/+C,EAAA,IASA,OAAA6uU,EAMA,SAAAC,GAAA51U,EAAAwmB,GACA,wBAAAxmB,EAAAwmB,EAAAxmB,IAKA,SAAA61U,GAAAzjU,GACAA,EAAA0jU,GAAAX,GACA/iU,EAAAsxT,GAAAhxH,EACAtgM,EAAA8kK,GAAAryK,EACAuN,EAAA2kK,GAAAn8G,GACAxoD,EAAAsG,GAAA+6T,GACArhU,EAAA2jU,GAAAtP,EACAr0T,EAAA4jU,GAAAhP,EACA50T,EAAA6jU,GAAAnB,GACA1iU,EAAA8jU,GAAArC,GACAzhU,EAAA+jU,GAAAlC,GACA7hU,EAAA6kK,GAAAs9J,GACAniU,EAAAuxT,GAAAkH,GACAz4T,EAAAgkU,GAAAxL,GACAx4T,EAAAikU,GAAAd,GACAnjU,EAAAkkU,GAAAjB,GACAjjU,EAAAoyT,GAAAkR,GACAtjU,EAAAu+C,GAAAilR,GAKA,SAAAW,GACAjvU,EACAsZ,EACAs/C,EACAwN,EACAvpB,GAEA,IAKAqyR,EALAz2E,EAAAhkQ,KAEA6P,EAAAu4C,EAAAv4C,QAIA+kM,EAAAjjI,EAAA,SACA8oQ,EAAA1xU,OAAA+lC,OAAA6iC,GAEA8oQ,EAAAC,UAAA/oQ,IAKA8oQ,EAAA9oQ,EAEAA,IAAA+oQ,WAEA,IAAAC,EAAArR,EAAAz5T,EAAA8tT,WACAid,GAAAD,EAEA36U,KAAAuL,OACAvL,KAAA6kB,QACA7kB,KAAAmkE,WACAnkE,KAAA2xE,SACA3xE,KAAA+iS,UAAAx3R,EAAAqK,IAAAwzT,EACAppU,KAAA66U,WAAAtE,GAAA1mU,EAAA0hU,OAAA5/P,GACA3xE,KAAA22U,MAAA,WAOA,OANA3yE,EAAAe,QACA+xE,GACAvrU,EAAAuvU,YACA92E,EAAAe,OAAA2xE,GAAAvyQ,EAAAwN,IAGAqyL,EAAAe,QAGAh8P,OAAA2kB,eAAA1tB,KAAA,eACA4tB,YAAA,EACAnoB,IAAA,WACA,OAAAqxU,GAAAvrU,EAAAuvU,YAAA96U,KAAA22U,YAKAgE,IAEA36U,KAAA8lQ,SAAAj2P,EAEA7P,KAAA+kQ,OAAA/kQ,KAAA22U,QACA32U,KAAA63U,aAAAf,GAAAvrU,EAAAuvU,YAAA96U,KAAA+kQ,SAGAl1P,EAAA+tT,SACA59T,KAAAskT,GAAA,SAAA/7S,EAAAC,EAAAC,EAAA+T,GACA,IAAAwkP,EAAAnrO,GAAA4kT,EAAAlyU,EAAAC,EAAAC,EAAA+T,EAAAo+T,GAKA,OAJA55E,IAAAxjP,MAAAxU,QAAAg4P,KACAA,EAAAstE,UAAAz+T,EAAA+tT,SACA58D,EAAAotE,UAAAz8P,GAEAqvL,GAGAhhQ,KAAAskT,GAAA,SAAA/7S,EAAAC,EAAAC,EAAA+T,GAAqC,OAAAqZ,GAAA4kT,EAAAlyU,EAAAC,EAAAC,EAAA+T,EAAAo+T,IAMrC,SAAAG,GACA3yR,EACAwqR,EACArnU,EACAkvU,EACAt2Q,GAEA,IAAAt0D,EAAAu4C,EAAAv4C,QACAgV,EAAA,GACA8tT,EAAA9iU,EAAAgV,MACA,GAAA8gP,EAAAgtE,GACA,QAAA1nU,KAAA0nU,EACA9tT,EAAA5Z,GAAAynU,GAAAznU,EAAA0nU,EAAAC,GAAAxJ,QAGAzjE,EAAAp6P,EAAAy3O,QAA4Bg4F,GAAAn2T,EAAAtZ,EAAAy3O,OAC5B2iB,EAAAp6P,EAAAsZ,QAA4Bm2T,GAAAn2T,EAAAtZ,EAAAsZ,OAG5B,IAAAo2T,EAAA,IAAAT,GACAjvU,EACAsZ,EACAs/C,EACAs2Q,EACAryR,GAGA44M,EAAAnxP,EAAAqjD,OAAAnzD,KAAA,KAAAk7U,EAAA32B,GAAA22B,GAEA,GAAAj6E,aAAA+sE,GACA,OAAAmN,GAAAl6E,EAAAz1P,EAAA0vU,EAAAtpQ,OAAA9hE,EAAAorU,GACG,GAAAz9T,MAAAxU,QAAAg4P,GAAA,CAGH,IAFA,IAAAm6E,EAAApF,GAAA/0E,IAAA,GACAjvL,EAAA,IAAAv0D,MAAA29T,EAAA53U,QACAwH,EAAA,EAAmBA,EAAAowU,EAAA53U,OAAmBwH,IACtCgnE,EAAAhnE,GAAAmwU,GAAAC,EAAApwU,GAAAQ,EAAA0vU,EAAAtpQ,OAAA9hE,EAAAorU,GAEA,OAAAlpQ,GAIA,SAAAmpQ,GAAAl6E,EAAAz1P,EAAAkvU,EAAA5qU,EAAAorU,GAIA,IAAA1lU,EAAAw5T,GAAA/tE,GASA,OARAzrP,EAAA64T,UAAAqM,EACAllU,EAAA84T,UAAAx+T,EAIAtE,EAAAssE,QACAtiE,EAAAhK,OAAAgK,EAAAhK,KAAA,KAAmCssE,KAAAtsE,EAAAssE,MAEnCtiE,EAGA,SAAAylU,GAAAzuH,EAAAlkK,GACA,QAAAp9C,KAAAo9C,EACAkkK,EAAA09G,EAAAh/T,IAAAo9C,EAAAp9C,GA7DA6uU,GAAAU,GAAAv6U,WA0EA,IAAAm7U,GAAA,CACAl4T,KAAA,SAAA89O,EAAAq6E,GACA,GACAr6E,EAAAC,oBACAD,EAAAC,kBAAAq6E,cACAt6E,EAAAz1P,KAAA80P,UACA,CAEA,IAAAk7E,EAAAv6E,EACAo6E,GAAAr6E,SAAAw6E,SACK,CACL,IAAAnpT,EAAA4uO,EAAAC,kBAAAu6E,GACAx6E,EACAy6E,IAEArpT,EAAAspT,OAAAL,EAAAr6E,EAAAgtE,SAAA1lU,EAAA+yU,KAIAt6E,SAAA,SAAA46E,EAAA36E,GACA,IAAAnxP,EAAAmxP,EAAAitE,iBACA77S,EAAA4uO,EAAAC,kBAAA06E,EAAA16E,kBACA26E,GACAxpT,EACAviB,EAAA+iU,UACA/iU,EAAAkzR,UACA/hC,EACAnxP,EAAAs0D,WAIAh4D,OAAA,SAAA60P,GACA,IAAAt9O,EAAAs9O,EAAAt9O,QACAu9O,EAAAD,EAAAC,kBACAA,EAAA46E,aACA56E,EAAA46E,YAAA,EACAC,GAAA76E,EAAA,YAEAD,EAAAz1P,KAAA80P,YACA38O,EAAAm4T,WAMAE,GAAA96E,GAEA+6E,GAAA/6E,GAAA,KAKAkpD,QAAA,SAAAnpD,GACA,IAAAC,EAAAD,EAAAC,kBACAA,EAAAq6E,eACAt6E,EAAAz1P,KAAA80P,UAGA47E,GAAAh7E,GAAA,GAFAA,EAAAygD,cAQAw6B,GAAAnzU,OAAAitB,KAAAolT,IAEA,SAAAe,GACA/zR,EACA78C,EACAmY,EACAygD,EACA+nK,GAEA,IAAAm9F,EAAAjhR,GAAA,CAIA,IAAAg0R,EAAA14T,EAAAoiP,SAAAksE,MASA,GANApoU,EAAAw+C,KACAA,EAAAg0R,EAAA13U,OAAA0jD,IAKA,oBAAAA,EAAA,CAQA,IAAA8lR,EACA,GAAA7E,EAAAjhR,EAAAymN,OACAq/D,EAAA9lR,EACAA,EAAAi0R,GAAAnO,EAAAkO,QACA9zU,IAAA8/C,GAIA,OAAAk0R,GACApO,EACA3iU,EACAmY,EACAygD,EACA+nK,GAKA3gO,KAAA,GAIAgxU,GAAAn0R,GAGAu9M,EAAAp6P,EAAAoY,QACA64T,GAAAp0R,EAAAv4C,QAAAtE,GAIA,IAAAqnU,EAAA+C,GAAApqU,EAAA68C,EAAA8jL,GAGA,GAAAo9F,EAAAlhR,EAAAv4C,QAAA2vP,YACA,OAAAu7E,GAAA3yR,EAAAwqR,EAAArnU,EAAAmY,EAAAygD,GAKA,IAAA4+N,EAAAx3R,EAAAqK,GAKA,GAFArK,EAAAqK,GAAArK,EAAAkxU,SAEAnT,EAAAlhR,EAAAv4C,QAAA6sU,UAAA,CAKA,IAAA7kQ,EAAAtsE,EAAAssE,KACAtsE,EAAA,GACAssE,IACAtsE,EAAAssE,QAKA8kQ,GAAApxU,GAGA,IAAA+C,EAAA85C,EAAAv4C,QAAAvB,MAAA49N,EACA80B,EAAA,IAAA+sE,GACA,iBAAA3lR,EAAA,KAAA95C,EAAA,IAAAA,EAAA,IACA/C,OAAAjD,gBAAAob,EACA,CAAK0kC,OAAAwqR,YAAA7vC,YAAA72D,MAAA/nK,YACL+pQ,GAGA,OAAAltE,IAGA,SAAAw6E,GACAx6E,EACArvL,GAEA,IAAA9hE,EAAA,CACA+sU,cAAA,EACA72E,aAAA/E,EACArvL,UAGAkrQ,EAAA77E,EAAAz1P,KAAAsxU,eAKA,OAJAl3E,EAAAk3E,KACAhtU,EAAAqjD,OAAA2pR,EAAA3pR,OACArjD,EAAA40S,gBAAAo4B,EAAAp4B,iBAEA,IAAAzjD,EAAAitE,iBAAA7lR,KAAAv4C,GAGA,SAAA8sU,GAAApxU,GAEA,IADA,IAAA6lU,EAAA7lU,EAAAu1P,OAAAv1P,EAAAu1P,KAAA,IACA/1P,EAAA,EAAiBA,EAAAmxU,GAAA34U,OAAyBwH,IAAA,CAC1C,IAAAE,EAAAixU,GAAAnxU,GACAszT,EAAA+S,EAAAnmU,GACA6xU,EAAA1B,GAAAnwU,GACAozT,IAAAye,GAAAze,KAAA0e,UACA3L,EAAAnmU,GAAAozT,EAAA2e,GAAAF,EAAAze,GAAAye,IAKA,SAAAE,GAAAC,EAAAC,GACA,IAAAx4P,EAAA,SAAAn8E,EAAAC,GAEAy0U,EAAA10U,EAAAC,GACA00U,EAAA30U,EAAAC,IAGA,OADAk8E,EAAAq4P,SAAA,EACAr4P,EAKA,SAAA83P,GAAA3sU,EAAAtE,GACA,IAAA49C,EAAAt5C,EAAA8T,OAAA9T,EAAA8T,MAAAwlC,MAAA,QACAhyC,EAAAtH,EAAA8T,OAAA9T,EAAA8T,MAAAxM,OAAA,SACG5L,EAAAy3O,QAAAz3O,EAAAy3O,MAAA,KAA+B75L,GAAA59C,EAAAoY,MAAA1f,MAClC,IAAA2R,EAAArK,EAAAqK,KAAArK,EAAAqK,GAAA,IACAyoT,EAAAzoT,EAAAuB,GACAk7D,EAAA9mE,EAAAoY,MAAA0uD,SACAszL,EAAA04D,IAEA7gT,MAAAxU,QAAAq1T,IACA,IAAAA,EAAAjzR,QAAAinC,GACAgsP,IAAAhsP,KAEAz8D,EAAAuB,GAAA,CAAAk7D,GAAA3oB,OAAA20Q,IAGAzoT,EAAAuB,GAAAk7D,EAMA,IAAA8qQ,GAAA,EACAC,GAAA,EAIA,SAAAvnT,GACAnS,EACAwoN,EACA3gO,EACA44D,EACAk5Q,EACAC,GAUA,OARA9/T,MAAAxU,QAAAuC,IAAA48C,EAAA58C,MACA8xU,EAAAl5Q,EACAA,EAAA54D,EACAA,OAAAjD,GAEAghU,EAAAgU,KACAD,EAAAD,IAEAG,GAAA75T,EAAAwoN,EAAA3gO,EAAA44D,EAAAk5Q,GAGA,SAAAE,GACA75T,EACAwoN,EACA3gO,EACA44D,EACAk5Q,GAEA,GAAA13E,EAAAp6P,IAAAo6P,EAAA,EAAA0pE,QAMA,OAAAR,KAMA,GAHAlpE,EAAAp6P,IAAAo6P,EAAAp6P,EAAAw9Q,MACA78C,EAAA3gO,EAAAw9Q,KAEA78C,EAEA,OAAA2iG,KA2BA,IAAA7tE,EAAAmtE,EAEA/lR,GAdA5qC,MAAAxU,QAAAm7D,IACA,oBAAAA,EAAA,KAEA54D,KAAA,GACAA,EAAAuvU,YAAA,CAAwBr7E,QAAAt7L,EAAA,IACxBA,EAAA5gE,OAAA,GAEA85U,IAAAD,GACAj5Q,EAAA4xQ,GAAA5xQ,GACGk5Q,IAAAF,KACHh5Q,EAAA2xQ,GAAA3xQ,IAGA,kBAAA+nK,IAEAiiG,EAAAzqT,EAAA08O,QAAA18O,EAAA08O,OAAA+tE,IAAAn0I,EAAA6xI,gBAAA3/F,GAGA80B,EAFAhnE,EAAA0xI,cAAAx/F,GAEA,IAAA6hG,GACA/zI,EAAA8xI,qBAAA5/F,GAAA3gO,EAAA44D,OACA77D,SAAAob,GAEKnY,KAAAiyU,MAAA73E,EAAAv9M,EAAAiqR,GAAA3uT,EAAAoiP,SAAA,aAAA55B,IAOL,IAAA6hG,GACA7hG,EAAA3gO,EAAA44D,OACA77D,SAAAob,GAPAy4T,GAAA/zR,EAAA78C,EAAAmY,EAAAygD,EAAA+nK,IAYA80B,EAAAm7E,GAAAjwG,EAAA3gO,EAAAmY,EAAAygD,GAEA,OAAA3mD,MAAAxU,QAAAg4P,GACAA,EACG2E,EAAA3E,IACH2E,EAAAwoE,IAAoBsP,GAAAz8E,EAAAmtE,GACpBxoE,EAAAp6P,IAAsBmyU,GAAAnyU,GACtBy1P,GAEA6tE,KAIA,SAAA4O,GAAAz8E,EAAAmtE,EAAAt0O,GAOA,GANAmnK,EAAAmtE,KACA,kBAAAntE,EAAA90B,MAEAiiG,OAAA7lU,EACAuxF,GAAA,GAEA8rK,EAAA3E,EAAA78L,UACA,QAAAp5D,EAAA,EAAAC,EAAAg2P,EAAA78L,SAAA5gE,OAA8CwH,EAAAC,EAAOD,IAAA,CACrD,IAAAqnB,EAAA4uO,EAAA78L,SAAAp5D,GACA46P,EAAAvzO,EAAA85M,OACAm9F,EAAAj3S,EAAA+7S,KAAA7E,EAAAzvO,IAAA,QAAAznE,EAAA85M,MACAuxG,GAAArrT,EAAA+7S,EAAAt0O,IASA,SAAA6jP,GAAAnyU,GACA3B,EAAA2B,EAAAhL,QACA4xB,GAAA5mB,EAAAhL,OAEAqJ,EAAA2B,EAAAs5P,QACA1yO,GAAA5mB,EAAAs5P,OAMA,SAAA84E,GAAA/8E,GACAA,EAAAg9E,OAAA,KACAh9E,EAAAq4E,aAAA,KACA,IAAAppU,EAAA+wP,EAAAkF,SACA+3E,EAAAj9E,EAAAR,OAAAvwP,EAAAk2P,aACAk1E,EAAA4C,KAAAn6T,QACAk9O,EAAAmE,OAAA2xE,GAAA7mU,EAAAiuU,gBAAA7C,GACAr6E,EAAAi3E,aAAAzO,EAKAxoE,EAAA0jD,GAAA,SAAA/7S,EAAAC,EAAAC,EAAA+T,GAAiC,OAAAqZ,GAAA+qO,EAAAr4P,EAAAC,EAAAC,EAAA+T,GAAA,IAGjCokP,EAAAf,eAAA,SAAAt3P,EAAAC,EAAAC,EAAA+T,GAA6C,OAAAqZ,GAAA+qO,EAAAr4P,EAAAC,EAAAC,EAAA+T,GAAA,IAI7C,IAAAuhU,EAAAF,KAAAtyU,KAWA4kU,GAAAvvE,EAAA,SAAAm9E,KAAA/6F,OAAAomF,EAAA,SACA+G,GAAAvvE,EAAA,aAAA/wP,EAAAmuU,kBAAA5U,EAAA,SAIA,IAkQA/yT,GAlQA4nU,GAAA,KAEA,SAAAC,GAAAz4E,GAEAq0E,GAAAr0E,EAAAxlQ,WAEAwlQ,EAAAxlQ,UAAA6sQ,UAAA,SAAA1pQ,GACA,OAAAi/R,GAAAj/R,EAAApD,OAGAylQ,EAAAxlQ,UAAAk+U,QAAA,WACA,IAiBAn9E,EAjBAJ,EAAA5gQ,KACA2/P,EAAAiB,EAAAkF,SACA5yM,EAAAysM,EAAAzsM,OACA6yM,EAAApG,EAAAoG,aAEAA,IACAnF,EAAAi3E,aAAAf,GACA/wE,EAAAx6P,KAAAuvU,YACAl6E,EAAAmE,OACAnE,EAAAi3E,eAMAj3E,EAAAR,OAAA2F,EAGA,IAIAk4E,GAAAr9E,EACAI,EAAA9tM,EAAAnzD,KAAA6gQ,EAAAs4E,aAAAt4E,EAAAf,gBACK,MAAA1pP,IACLm9T,GAAAn9T,GAAAyqP,EAAA,UAYAI,EAAAJ,EAAAg9E,OAEK,QACLK,GAAA,KAmBA,OAhBAzgU,MAAAxU,QAAAg4P,IAAA,IAAAA,EAAAz9P,SACAy9P,IAAA,IAGAA,aAAA+sE,KAQA/sE,EAAA6tE,MAGA7tE,EAAArvL,OAAAo0L,EACA/E,GAMA,SAAAo9E,GAAAjvE,EAAAjoL,GAOA,OALAioL,EAAArhP,YACAuhP,IAAA,WAAAF,EAAAlxC,OAAA8N,gBAEAojC,IAAA1P,SAEA71P,EAAAulQ,GACAjoL,EAAAxiF,OAAAyqQ,GACAA,EAGA,SAAAmtE,GACApvT,EACA3hB,EACAmY,EACAygD,EACA+nK,GAEA,IAAA7uN,EAAAwxT,KAGA,OAFAxxT,EAAA6wT,aAAAhhT,EACA7P,EAAAsxT,UAAA,CAAoBpjU,OAAAmY,UAAAygD,WAAA+nK,OACpB7uN,EAGA,SAAAg/T,GACAnvT,EACAkvT,GAEA,GAAA9S,EAAAp8S,EAAAiN,QAAAwrO,EAAAz4O,EAAAmxT,WACA,OAAAnxT,EAAAmxT,UAGA,GAAA14E,EAAAz4O,EAAA8hP,UACA,OAAA9hP,EAAA8hP,SAGA,IAAAsvE,EAAAL,GAMA,GALAK,GAAA34E,EAAAz4O,EAAAqxT,UAAA,IAAArxT,EAAAqxT,OAAAnzS,QAAAkzS,IAEApxT,EAAAqxT,OAAA5rU,KAAA2rU,GAGAhV,EAAAp8S,EAAA2+C,UAAA85L,EAAAz4O,EAAAsxT,aACA,OAAAtxT,EAAAsxT,YAGA,GAAAF,IAAA34E,EAAAz4O,EAAAqxT,QAAA,CACA,IAAAA,EAAArxT,EAAAqxT,OAAA,CAAAD,GACAr7B,GAAA,EACAw7B,EAAA,KACAC,EAAA,KAEK,EAAAC,IAAA,4BAA2C,OAAAnyU,EAAA+xU,EAAAD,KAEhD,IAAAnhH,EAAA,SAAAyhH,GACA,QAAA7zU,EAAA,EAAAC,EAAAuzU,EAAAh7U,OAAwCwH,EAAAC,EAAOD,IAC/CwzU,EAAAxzU,GAAA8zU,eAGAD,IACAL,EAAAh7U,OAAA,EACA,OAAAk7U,IACA19P,aAAA09P,GACAA,EAAA,MAEA,OAAAC,IACA39P,aAAA29P,GACAA,EAAA,QAKAh5H,EAAA3xH,EAAA,SAAAhiB,GAEA7kD,EAAA8hP,SAAAovE,GAAArsQ,EAAAqqQ,GAGAn5B,EAGAs7B,EAAAh7U,OAAA,EAFA45N,GAAA,KAMA8xC,EAAAl7K,EAAA,SAAAm7K,GAKAvJ,EAAAz4O,EAAAmxT,aACAnxT,EAAAiN,OAAA,EACAgjM,GAAA,MAIAprJ,EAAA7kD,EAAAw4L,EAAAupD,GA+CA,OA7CArlQ,EAAAmoE,KACAssO,EAAAtsO,GAEAs3P,EAAAn8S,EAAA8hP,WACAj9L,EAAA6zI,KAAAF,EAAAupD,GAEOovC,EAAAtsO,EAAA0uL,aACP1uL,EAAA0uL,UAAA76C,KAAAF,EAAAupD,GAEAtJ,EAAA5zL,EAAA53C,SACAjN,EAAAmxT,UAAAD,GAAArsQ,EAAA53C,MAAAiiT,IAGAz2E,EAAA5zL,EAAAlG,WACA3+C,EAAAsxT,YAAAJ,GAAArsQ,EAAAlG,QAAAuwQ,GACA,IAAArqQ,EAAA2+D,MACAxjH,EAAA2+C,SAAA,EAEA4yQ,EAAAxyR,WAAA,WACAwyR,EAAA,KACApV,EAAAn8S,EAAA8hP,WAAAq6D,EAAAn8S,EAAAiN,SACAjN,EAAA2+C,SAAA,EACAsxJ,GAAA,KAEaprJ,EAAA2+D,OAAA,MAIbi1H,EAAA5zL,EAAA+iM,WACA4pE,EAAAzyR,WAAA,WACAyyR,EAAA,KACArV,EAAAn8S,EAAA8hP,WACAC,EAGA,OAGWl9L,EAAA+iM,YAKXmuC,GAAA,EAEA/1R,EAAA2+C,QACA3+C,EAAAsxT,YACAtxT,EAAA8hP,UAMA,SAAA4/D,GAAAvxT,GACA,OAAAA,EAAAmxT,WAAAnxT,EAAA6wT,aAKA,SAAA4Q,GAAA36Q,GACA,GAAA3mD,MAAAxU,QAAAm7D,GACA,QAAAp5D,EAAA,EAAmBA,EAAAo5D,EAAA5gE,OAAqBwH,IAAA,CACxC,IAAAtC,EAAA07D,EAAAp5D,GACA,GAAA46P,EAAAl9P,KAAAk9P,EAAAl9P,EAAAwlU,mBAAAW,GAAAnmU,IACA,OAAAA,GAUA,SAAAs2U,GAAAn+E,GACAA,EAAAo+E,QAAAj2U,OAAA+lC,OAAA,MACA8xN,EAAAq+E,eAAA,EAEA,IAAAl8C,EAAAniC,EAAAkF,SAAAk4E,iBACAj7C,GACAm8C,GAAAt+E,EAAAmiC,GAMA,SAAAxlQ,GAAApmB,EAAA/T,GACAiT,GAAAsoU,IAAAxnU,EAAA/T,GAGA,SAAA+7U,GAAAhoU,EAAA/T,GACAiT,GAAA+oU,KAAAjoU,EAAA/T,GAGA,SAAAiyU,GAAAl+T,EAAA/T,GACA,IAAA8sI,EAAA75H,GACA,gBAAAgpU,IACA,IAAAttQ,EAAA3uE,EAAAsF,MAAA,KAAAC,WACA,OAAAopE,GACAm+D,EAAAkvM,KAAAjoU,EAAAkoU,IAKA,SAAAH,GACAt+E,EACAmiC,EACAu8C,GAEAjpU,GAAAuqP,EACAs0E,GAAAnyC,EAAAu8C,GAAA,GAA+C/hT,GAAA4hT,GAAA9J,GAAAz0E,GAC/CvqP,QAAA/N,EAGA,SAAAi3U,GAAA95E,GACA,IAAA+5E,EAAA,SACA/5E,EAAAxlQ,UAAA0+U,IAAA,SAAAxnU,EAAA/T,GACA,IAAAw9P,EAAA5gQ,KACA,GAAAwd,MAAAxU,QAAAmO,GACA,QAAApM,EAAA,EAAAC,EAAAmM,EAAA5T,OAAuCwH,EAAAC,EAAOD,IAC9C61P,EAAA+9E,IAAAxnU,EAAApM,GAAA3H,QAGAw9P,EAAAo+E,QAAA7nU,KAAAypP,EAAAo+E,QAAA7nU,GAAA,KAAAxE,KAAAvP,GAGAo8U,EAAAhxJ,KAAAr3K,KACAypP,EAAAq+E,eAAA,GAGA,OAAAr+E,GAGA6E,EAAAxlQ,UAAA6zQ,MAAA,SAAA38P,EAAA/T,GACA,IAAAw9P,EAAA5gQ,KACA,SAAA4V,IACAgrP,EAAAw+E,KAAAjoU,EAAAvB,GACAxS,EAAAsF,MAAAk4P,EAAAj4P,WAIA,OAFAiN,EAAAxS,KACAw9P,EAAA+9E,IAAAxnU,EAAAvB,GACAgrP,GAGA6E,EAAAxlQ,UAAAm/U,KAAA,SAAAjoU,EAAA/T,GACA,IAAAw9P,EAAA5gQ,KAEA,IAAA2I,UAAApF,OAEA,OADAq9P,EAAAo+E,QAAAj2U,OAAA+lC,OAAA,MACA8xN,EAGA,GAAApjP,MAAAxU,QAAAmO,GAAA,CACA,QAAAsoU,EAAA,EAAAz0U,EAAAmM,EAAA5T,OAAyCk8U,EAAAz0U,EAASy0U,IAClD7+E,EAAAw+E,KAAAjoU,EAAAsoU,GAAAr8U,GAEA,OAAAw9P,EAGA,IASA7qO,EATA26O,EAAA9P,EAAAo+E,QAAA7nU,GACA,IAAAu5P,EACA,OAAA9P,EAEA,IAAAx9P,EAEA,OADAw9P,EAAAo+E,QAAA7nU,GAAA,KACAypP,EAIA,IAAA71P,EAAA2lQ,EAAAntQ,OACA,MAAAwH,IAEA,GADAgrB,EAAA26O,EAAA3lQ,GACAgrB,IAAA3yB,GAAA2yB,EAAA3yB,OAAA,CACAstQ,EAAAr/L,OAAAtmE,EAAA,GACA,MAGA,OAAA61P,GAGA6E,EAAAxlQ,UAAA0pT,MAAA,SAAAxyS,GACA,IAAAypP,EAAA5gQ,KAaA0wQ,EAAA9P,EAAAo+E,QAAA7nU,GACA,GAAAu5P,EAAA,CACAA,IAAAntQ,OAAA,EAAA07B,EAAAyxO,KAGA,IAFA,IAAAjnN,EAAAxqB,EAAAt2B,UAAA,GACA0pM,EAAA,sBAAAl7L,EAAA,IACApM,EAAA,EAAAC,EAAA0lQ,EAAAntQ,OAAqCwH,EAAAC,EAAOD,IAC5C2oU,GAAAhjE,EAAA3lQ,GAAA61P,EAAAn3M,EAAAm3M,EAAAvuD,GAGA,OAAAuuD,GAMA,IAAA66E,GAAA,KAGA,SAAAiE,GAAA9+E,GACA,IAAA++E,EAAAlE,GAEA,OADAA,GAAA76E,EACA,WACA66E,GAAAkE,GAIA,SAAAC,GAAAh/E,GACA,IAAA/wP,EAAA+wP,EAAAkF,SAGAn0L,EAAA9hE,EAAA8hE,OACA,GAAAA,IAAA9hE,EAAA6sU,SAAA,CACA,MAAA/qQ,EAAAm0L,SAAA42E,UAAA/qQ,EAAA4uL,QACA5uL,IAAA4uL,QAEA5uL,EAAAkuQ,UAAAltU,KAAAiuP,GAGAA,EAAAL,QAAA5uL,EACAivL,EAAAq9D,MAAAtsP,IAAAssP,MAAAr9D,EAEAA,EAAAi/E,UAAA,GACAj/E,EAAAk/E,MAAA,GAEAl/E,EAAAm/E,SAAA,KACAn/E,EAAAN,UAAA,KACAM,EAAAo/E,iBAAA,EACAp/E,EAAAi7E,YAAA,EACAj7E,EAAA06E,cAAA,EACA16E,EAAAkQ,mBAAA,EAGA,SAAAmvE,GAAAx6E,GACAA,EAAAxlQ,UAAA09E,QAAA,SAAAqjL,EAAAq6E,GACA,IAAAz6E,EAAA5gQ,KACAM,EAAAsgQ,EAAA4oD,IACA02B,EAAAt/E,EAAAg9E,OACAuC,EAAAT,GAAA9+E,GACAA,EAAAg9E,OAAA58E,EAQAJ,EAAA4oD,IALA02B,EAKAt/E,EAAAw/E,UAAAF,EAAAl/E,GAHAJ,EAAAw/E,UAAAx/E,EAAA4oD,IAAAxoD,EAAAq6E,GAAA,GAKA8E,IAEA7/U,IACAA,EAAA+/U,QAAA,MAEAz/E,EAAA4oD,MACA5oD,EAAA4oD,IAAA62B,QAAAz/E,GAGAA,EAAAR,QAAAQ,EAAAL,SAAAK,EAAAR,SAAAQ,EAAAL,QAAAq9E,SACAh9E,EAAAL,QAAAipD,IAAA5oD,EAAA4oD,MAMA/jD,EAAAxlQ,UAAA4+U,aAAA,WACA,IAAAj+E,EAAA5gQ,KACA4gQ,EAAAm/E,UACAn/E,EAAAm/E,SAAAxzT,UAIAk5O,EAAAxlQ,UAAAyhT,SAAA,WACA,IAAA9gD,EAAA5gQ,KACA,IAAA4gQ,EAAAkQ,kBAAA,CAGAgrE,GAAAl7E,EAAA,iBACAA,EAAAkQ,mBAAA,EAEA,IAAAn/L,EAAAivL,EAAAL,SACA5uL,KAAAm/L,mBAAAlQ,EAAAkF,SAAA42E,UACAlwU,EAAAmlE,EAAAkuQ,UAAAj/E,GAGAA,EAAAm/E,UACAn/E,EAAAm/E,SAAAO,WAEA,IAAAv1U,EAAA61P,EAAA2/E,UAAAh9U,OACA,MAAAwH,IACA61P,EAAA2/E,UAAAx1U,GAAAu1U,WAIA1/E,EAAA7/J,MAAAsuO,QACAzuE,EAAA7/J,MAAAsuO,OAAAO,UAGAhvE,EAAA06E,cAAA,EAEA16E,EAAAw/E,UAAAx/E,EAAAg9E,OAAA,MAEA9B,GAAAl7E,EAAA,aAEAA,EAAAw+E,OAEAx+E,EAAA4oD,MACA5oD,EAAA4oD,IAAA62B,QAAA,MAGAz/E,EAAAR,SACAQ,EAAAR,OAAAzuL,OAAA,QAKA,SAAA6uQ,GACA5/E,EACA7vN,EACAsqS,GAyBA,IAAAoF,EA2CA,OAlEA7/E,EAAA4oD,IAAAz4Q,EACA6vN,EAAAkF,SAAA5yM,SACA0tM,EAAAkF,SAAA5yM,OAAA27Q,IAmBAiN,GAAAl7E,EAAA,eAsBA6/E,EAAA,WACA7/E,EAAAjjL,QAAAijL,EAAAu9E,UAAA9C,IAOA,IAAAqF,GAAA9/E,EAAA6/E,EAAAz1R,EAAA,CACAipC,OAAA,WACA2sK,EAAAi7E,aAAAj7E,EAAA06E,cACAQ,GAAAl7E,EAAA,mBAGG,GACHy6E,GAAA,EAIA,MAAAz6E,EAAAR,SACAQ,EAAAi7E,YAAA,EACAC,GAAAl7E,EAAA,YAEAA,EAGA,SAAAg7E,GACAh7E,EACAgyE,EACA7vC,EACA86C,EACA8C,GAYA,IAAAC,EAAA/C,EAAAtyU,KAAAuvU,YACA+F,EAAAjgF,EAAAi3E,aACAiJ,KACAF,MAAAzJ,SACA0J,IAAAzX,IAAAyX,EAAA1J,SACAyJ,GAAAhgF,EAAAi3E,aAAAT,OAAAwJ,EAAAxJ,MAMA2J,KACAJ,GACA//E,EAAAkF,SAAAg4E,iBACAgD,GAkBA,GAfAlgF,EAAAkF,SAAAC,aAAA83E,EACAj9E,EAAAR,OAAAy9E,EAEAj9E,EAAAg9E,SACAh9E,EAAAg9E,OAAAjsQ,OAAAksQ,GAEAj9E,EAAAkF,SAAAg4E,gBAAA6C,EAKA//E,EAAAogF,OAAAnD,EAAAtyU,KAAAy3O,OAAAomF,EACAxoE,EAAAqgF,WAAAl+C,GAAAqmC,EAGAwJ,GAAAhyE,EAAAkF,SAAAjhP,MAAA,CACA6qT,IAAA,GAGA,IAFA,IAAA7qT,EAAA+7O,EAAAuyE,OACA+N,EAAAtgF,EAAAkF,SAAAq7E,WAAA,GACAp2U,EAAA,EAAmBA,EAAAm2U,EAAA39U,OAAqBwH,IAAA,CACxC,IAAAE,EAAAi2U,EAAAn2U,GACA4nU,EAAA/xE,EAAAkF,SAAAjhP,MACAA,EAAA5Z,GAAAynU,GAAAznU,EAAA0nU,EAAAC,EAAAhyE,GAEA8uE,IAAA,GAEA9uE,EAAAkF,SAAA8sE,YAIA7vC,KAAAqmC,EACA,IAAAkW,EAAA1+E,EAAAkF,SAAAk4E,iBACAp9E,EAAAkF,SAAAk4E,iBAAAj7C,EACAm8C,GAAAt+E,EAAAmiC,EAAAu8C,GAGAyB,IACAngF,EAAAmE,OAAA2xE,GAAAiK,EAAA9C,EAAAn6T,SACAk9O,EAAAi+E,gBAQA,SAAAuC,GAAAxgF,GACA,MAAAA,QAAAL,SACA,GAAAK,EAAAN,UAAuB,SAEvB,SAGA,SAAA07E,GAAAp7E,EAAAygF,GACA,GAAAA,GAEA,GADAzgF,EAAAo/E,iBAAA,EACAoB,GAAAxgF,GACA,YAEG,GAAAA,EAAAo/E,gBACH,OAEA,GAAAp/E,EAAAN,WAAA,OAAAM,EAAAN,UAAA,CACAM,EAAAN,WAAA,EACA,QAAAv1P,EAAA,EAAmBA,EAAA61P,EAAAi/E,UAAAt8U,OAAyBwH,IAC5CixU,GAAAp7E,EAAAi/E,UAAA90U,IAEA+wU,GAAAl7E,EAAA,cAIA,SAAAq7E,GAAAr7E,EAAAygF,GACA,KAAAA,IACAzgF,EAAAo/E,iBAAA,GACAoB,GAAAxgF,OAIAA,EAAAN,UAAA,CACAM,EAAAN,WAAA,EACA,QAAAv1P,EAAA,EAAmBA,EAAA61P,EAAAi/E,UAAAt8U,OAAyBwH,IAC5CkxU,GAAAr7E,EAAAi/E,UAAA90U,IAEA+wU,GAAAl7E,EAAA,gBAIA,SAAAk7E,GAAAl7E,EAAAE,GAEA+sE,KACA,IAAAj6O,EAAAgtK,EAAAkF,SAAAhF,GACAzuD,EAAAyuD,EAAA,QACA,GAAAltK,EACA,QAAA7oF,EAAA,EAAA2F,EAAAkjF,EAAArwF,OAAwCwH,EAAA2F,EAAO3F,IAC/C2oU,GAAA9/O,EAAA7oF,GAAA61P,EAAA,KAAAA,EAAAvuD,GAGAuuD,EAAAq+E,eACAr+E,EAAA+oD,MAAA,QAAA7oD,GAEAgtE,KAKA,IAEA/pK,GAAA,GACAu9K,GAAA,GACAztP,GAAA,GAEA0tP,IAAA,EACAC,IAAA,EACA39U,GAAA,EAKA,SAAA49U,KACA59U,GAAAkgK,GAAAxgK,OAAA+9U,GAAA/9U,OAAA,EACAswF,GAAA,GAIA0tP,GAAAC,IAAA,EAQA,IAAAE,GAAA,EAGAC,GAAA3pT,KAAAC,IAQA,GAAA2uO,IAAA+lE,GAAA,CACA,IAAAv+D,GAAAzjQ,OAAAyjQ,YAEAA,IACA,oBAAAA,GAAAn2O,KACA0pT,KAAA/2U,SAAAg3U,YAAA,SAAAC,YAMAF,GAAA,WAA0B,OAAAvzE,GAAAn2O,QAO1B,SAAA6pT,KAGA,IAAAC,EAAA91T,EAcA,IAhBAy1T,GAAAC,KACAH,IAAA,EAWAz9K,GAAA9tI,KAAA,SAAA1tB,EAAAC,GAA8B,OAAAD,EAAA0jB,GAAAzjB,EAAAyjB,KAI9BpoB,GAAA,EAAiBA,GAAAkgK,GAAAxgK,OAAsBM,KACvCk+U,EAAAh+K,GAAAlgK,IACAk+U,EAAA9tP,QACA8tP,EAAA9tP,SAEAhoE,EAAA81T,EAAA91T,GACA4nE,GAAA5nE,GAAA,KACA81T,EAAA5/C,MAmBA,IAAA6/C,EAAAV,GAAApiT,QACA+iT,EAAAl+K,GAAA7kI,QAEAuiT,KAGAS,GAAAF,GACAG,GAAAF,GAIAphC,IAAA7mH,EAAA6mH,UACAA,GAAAje,KAAA,SAIA,SAAAu/C,GAAAp+K,GACA,IAAAh5J,EAAAg5J,EAAAxgK,OACA,MAAAwH,IAAA,CACA,IAAAg3U,EAAAh+K,EAAAh5J,GACA61P,EAAAmhF,EAAAnhF,GACAA,EAAAm/E,WAAAgC,GAAAnhF,EAAAi7E,aAAAj7E,EAAA06E,cACAQ,GAAAl7E,EAAA,YASA,SAAAm7E,GAAAn7E,GAGAA,EAAAN,WAAA,EACAghF,GAAA3uU,KAAAiuP,GAGA,SAAAshF,GAAAn+K,GACA,QAAAh5J,EAAA,EAAiBA,EAAAg5J,EAAAxgK,OAAkBwH,IACnCg5J,EAAAh5J,GAAAu1P,WAAA,EACA07E,GAAAj4K,EAAAh5J,IAAA,GASA,SAAAq3U,GAAAL,GACA,IAAA91T,EAAA81T,EAAA91T,GACA,SAAA4nE,GAAA5nE,GAAA,CAEA,GADA4nE,GAAA5nE,IAAA,EACAu1T,GAEK,CAGL,IAAAz2U,EAAAg5J,GAAAxgK,OAAA,EACA,MAAAwH,EAAAlH,IAAAkgK,GAAAh5J,GAAAkhB,GAAA81T,EAAA91T,GACAlhB,IAEAg5J,GAAA1yF,OAAAtmE,EAAA,IAAAg3U,QARAh+K,GAAApxJ,KAAAovU,GAWAR,KACAA,IAAA,EAMAl/C,GAAAy/C,MASA,IAAAO,GAAA,EAOA3B,GAAA,SACA9/E,EACA0hF,EACAvsT,EACAlmB,EACA0yU,GAEAviV,KAAA4gQ,KACA2hF,IACA3hF,EAAAm/E,SAAA//U,MAEA4gQ,EAAA2/E,UAAA5tU,KAAA3S,MAEA6P,GACA7P,KAAAgjT,OAAAnzS,EAAAmzS,KACAhjT,KAAAwiV,OAAA3yU,EAAA2yU,KACAxiV,KAAAyiV,OAAA5yU,EAAA4yU,KACAziV,KAAAijT,OAAApzS,EAAAozS,KACAjjT,KAAAi0F,OAAApkF,EAAAokF,QAEAj0F,KAAAgjT,KAAAhjT,KAAAwiV,KAAAxiV,KAAAyiV,KAAAziV,KAAAijT,MAAA,EAEAjjT,KAAA+1B,KACA/1B,KAAAisB,KAAAo2T,GACAriV,KAAA0iV,QAAA,EACA1iV,KAAA2kB,MAAA3kB,KAAAyiV,KACAziV,KAAAimH,KAAA,GACAjmH,KAAA2iV,QAAA,GACA3iV,KAAA4iV,OAAA,IAAAvV,GACArtU,KAAA6iV,UAAA,IAAAxV,GACArtU,KAAA8iV,WAEA,GAEA,oBAAAR,EACAtiV,KAAAwtB,OAAA80T,GAEAtiV,KAAAwtB,OAAA27J,EAAAm5J,GACAtiV,KAAAwtB,SACAxtB,KAAAwtB,OAAAw9B,IASAhrD,KAAAiE,MAAAjE,KAAAyiV,UACAn6U,EACAtI,KAAAyF,OAMAi7U,GAAAzgV,UAAAwF,IAAA,WAEA,IAAAxB,EADA4pU,GAAA7tU,MAEA,IAAA4gQ,EAAA5gQ,KAAA4gQ,GACA,IACA38P,EAAAjE,KAAAwtB,OAAAztB,KAAA6gQ,KACG,MAAAzqP,IACH,IAAAnW,KAAAwiV,KAGA,MAAArsU,GAFAm9T,GAAAn9T,GAAAyqP,EAAA,uBAAA5gQ,KAAA,gBAIG,QAGHA,KAAAgjT,MACA7wR,GAAAluB,GAEA6pU,KACA9tU,KAAA+iV,cAEA,OAAA9+U,GAMAy8U,GAAAzgV,UAAA0tU,OAAA,SAAA38G,GACA,IAAA/kM,EAAA+kM,EAAA/kM,GACAjsB,KAAA6iV,UAAAhvP,IAAA5nE,KACAjsB,KAAA6iV,UAAAtlT,IAAAtR,GACAjsB,KAAA2iV,QAAAhwU,KAAAq+M,GACAhxN,KAAA4iV,OAAA/uP,IAAA5nE,IACA+kM,EAAAw8G,OAAAxtU,QAQA0gV,GAAAzgV,UAAA8iV,YAAA,WACA,IAAAh4U,EAAA/K,KAAAimH,KAAA1iH,OACA,MAAAwH,IAAA,CACA,IAAAimN,EAAAhxN,KAAAimH,KAAAl7G,GACA/K,KAAA6iV,UAAAhvP,IAAAm9H,EAAA/kM,KACA+kM,EAAAy8G,UAAAztU,MAGA,IAAAmwD,EAAAnwD,KAAA4iV,OACA5iV,KAAA4iV,OAAA5iV,KAAA6iV,UACA7iV,KAAA6iV,UAAA1yR,EACAnwD,KAAA6iV,UAAAn2U,QACAyjD,EAAAnwD,KAAAimH,KACAjmH,KAAAimH,KAAAjmH,KAAA2iV,QACA3iV,KAAA2iV,QAAAxyR,EACAnwD,KAAA2iV,QAAAp/U,OAAA,GAOAm9U,GAAAzgV,UAAAssB,OAAA,WAEAvsB,KAAAyiV,KACAziV,KAAA2kB,OAAA,EACG3kB,KAAAijT,KACHjjT,KAAAmiS,MAEAigD,GAAApiV,OAQA0gV,GAAAzgV,UAAAkiS,IAAA,WACA,GAAAniS,KAAA0iV,OAAA,CACA,IAAAz+U,EAAAjE,KAAAyF,MACA,GACAxB,IAAAjE,KAAAiE,OAIA2F,EAAA3F,IACAjE,KAAAgjT,KACA,CAEA,IAAAggC,EAAAhjV,KAAAiE,MAEA,GADAjE,KAAAiE,QACAjE,KAAAwiV,KACA,IACAxiV,KAAA+1B,GAAAh2B,KAAAC,KAAA4gQ,GAAA38P,EAAA++U,GACS,MAAA7sU,IACTm9T,GAAAn9T,GAAAnW,KAAA4gQ,GAAA,yBAAA5gQ,KAAA,qBAGAA,KAAA+1B,GAAAh2B,KAAAC,KAAA4gQ,GAAA38P,EAAA++U,MAUAtC,GAAAzgV,UAAAgjV,SAAA,WACAjjV,KAAAiE,MAAAjE,KAAAyF,MACAzF,KAAA2kB,OAAA,GAMA+7T,GAAAzgV,UAAAytU,OAAA,WACA,IAAA3iU,EAAA/K,KAAAimH,KAAA1iH,OACA,MAAAwH,IACA/K,KAAAimH,KAAAl7G,GAAA2iU,UAOAgT,GAAAzgV,UAAAqgV,SAAA,WACA,GAAAtgV,KAAA0iV,OAAA,CAIA1iV,KAAA4gQ,GAAAkQ,mBACAtkQ,EAAAxM,KAAA4gQ,GAAA2/E,UAAAvgV,MAEA,IAAA+K,EAAA/K,KAAAimH,KAAA1iH,OACA,MAAAwH,IACA/K,KAAAimH,KAAAl7G,GAAA0iU,UAAAztU,MAEAA,KAAA0iV,QAAA,IAMA,IAAAQ,GAAA,CACAt1T,YAAA,EACAD,cAAA,EACAloB,IAAAulD,EACA53B,IAAA43B,GAGA,SAAAysR,GAAAphU,EAAA8sU,EAAAl4U,GACAi4U,GAAAz9U,IAAA,WACA,OAAAzF,KAAAmjV,GAAAl4U,IAEAi4U,GAAA9vT,IAAA,SAAAnqB,GACAjJ,KAAAmjV,GAAAl4U,GAAAhC,GAEAF,OAAA2kB,eAAArX,EAAApL,EAAAi4U,IAGA,SAAAE,GAAAxiF,GACAA,EAAA2/E,UAAA,GACA,IAAAzgV,EAAA8gQ,EAAAkF,SACAhmQ,EAAA+kB,OAAmBstL,GAAAyuD,EAAA9gQ,EAAA+kB,OACnB/kB,EAAAsO,SAAqBi1U,GAAAziF,EAAA9gQ,EAAAsO,SACrBtO,EAAAyL,KACA+8E,GAAAs4K,GAEAqlD,GAAArlD,EAAA7/J,MAAA,IAAyB,GAEzBjhG,EAAAwhT,UAAsBgiC,GAAA1iF,EAAA9gQ,EAAAwhT,UACtBxhT,EAAAqjT,OAAArjT,EAAAqjT,QAAA6pB,IACAuW,GAAA3iF,EAAA9gQ,EAAAqjT,OAIA,SAAAhxG,GAAAyuD,EAAA4iF,GACA,IAAA5Q,EAAAhyE,EAAAkF,SAAA8sE,WAAA,GACA/tT,EAAA+7O,EAAAuyE,OAAA,GAGAn9S,EAAA4qO,EAAAkF,SAAAq7E,UAAA,GACAvvI,GAAAgvD,EAAAL,QAEA3uD,GACA89H,IAAA,GAEA,IAAAl/L,EAAA,SAAAvlI,GACA+qB,EAAArjB,KAAA1H,GACA,IAAAhH,EAAAyuU,GAAAznU,EAAAu4U,EAAA5Q,EAAAhyE,GAuBAuvE,GAAAtrT,EAAA5Z,EAAAhH,GAKAgH,KAAA21P,GACA62E,GAAA72E,EAAA,SAAA31P,IAIA,QAAAA,KAAAu4U,EAAAhzM,EAAAvlI,GACAykU,IAAA,GAGA,SAAApnP,GAAAs4K,GACA,IAAAr1P,EAAAq1P,EAAAkF,SAAAv6P,KACAA,EAAAq1P,EAAA7/J,MAAA,oBAAAx1F,EACAiP,GAAAjP,EAAAq1P,GACAr1P,GAAA,GACAk+T,EAAAl+T,KACAA,EAAA,IAQA,IAAAyqB,EAAAjtB,OAAAitB,KAAAzqB,GACAsZ,EAAA+7O,EAAAkF,SAAAjhP,MAEA9Z,GADA61P,EAAAkF,SAAA13P,QACA4nB,EAAAzyB,QACA,MAAAwH,IAAA,CACA,IAAAE,EAAA+qB,EAAAjrB,GACQ,EAQR8Z,GAAA+vL,EAAA/vL,EAAA5Z,IAMKihU,EAAAjhU,IACLwsU,GAAA72E,EAAA,QAAA31P,GAIAg7S,GAAA16S,GAAA,GAGA,SAAAiP,GAAAjP,EAAAq1P,GAEAitE,KACA,IACA,OAAAtiU,EAAAxL,KAAA6gQ,KACG,MAAAzqP,IAEH,OADAm9T,GAAAn9T,GAAAyqP,EAAA,UACA,GACG,QACHktE,MAIA,IAAA2V,GAAA,CAA8BhB,MAAA,GAE9B,SAAAa,GAAA1iF,EAAA0gD,GAEA,IAAAoiC,EAAA9iF,EAAA+iF,kBAAA56U,OAAA+lC,OAAA,MAEA80S,EAAA1W,KAEA,QAAAjiU,KAAAq2S,EAAA,CACA,IAAAuiC,EAAAviC,EAAAr2S,GACAuiB,EAAA,oBAAAq2T,MAAAp+U,IACQ,EAORm+U,IAEAF,EAAAz4U,GAAA,IAAAy1U,GACA9/E,EACApzO,GAAAw9B,EACAA,EACAy4R,KAOAx4U,KAAA21P,GACAkjF,GAAAljF,EAAA31P,EAAA44U,IAWA,SAAAC,GACAztU,EACApL,EACA44U,GAEA,IAAAE,GAAA7W,KACA,oBAAA2W,GACAX,GAAAz9U,IAAAs+U,EACAC,GAAA/4U,GACAg5U,GAAAJ,GACAX,GAAA9vT,IAAA43B,IAEAk4R,GAAAz9U,IAAAo+U,EAAAp+U,IACAs+U,IAAA,IAAAF,EAAAxhT,MACA2hT,GAAA/4U,GACAg5U,GAAAJ,EAAAp+U,KACAulD,EACAk4R,GAAA9vT,IAAAywT,EAAAzwT,KAAA43B,GAWAjiD,OAAA2kB,eAAArX,EAAApL,EAAAi4U,IAGA,SAAAc,GAAA/4U,GACA,kBACA,IAAA82U,EAAA/hV,KAAA2jV,mBAAA3jV,KAAA2jV,kBAAA14U,GACA,GAAA82U,EAOA,OANAA,EAAAp9T,OACAo9T,EAAAkB,WAEA1V,GAAAl3T,QACA0rU,EAAArU,SAEAqU,EAAA99U,OAKA,SAAAggV,GAAA7gV,GACA,kBACA,OAAAA,EAAArD,KAAAC,YAIA,SAAAqjV,GAAAziF,EAAAxyP,GACAwyP,EAAAkF,SAAAjhP,MACA,QAAA5Z,KAAAmD,EAsBAwyP,EAAA31P,GAAA,oBAAAmD,EAAAnD,GAAA+/C,EAAApiD,EAAAwF,EAAAnD,GAAA21P,GAIA,SAAA2iF,GAAA3iF,EAAAuiD,GACA,QAAAl4S,KAAAk4S,EAAA,CACA,IAAArvN,EAAAqvN,EAAAl4S,GACA,GAAAuS,MAAAxU,QAAA8qF,GACA,QAAA/oF,EAAA,EAAqBA,EAAA+oF,EAAAvwF,OAAoBwH,IACzCm5U,GAAAtjF,EAAA31P,EAAA6oF,EAAA/oF,SAGAm5U,GAAAtjF,EAAA31P,EAAA6oF,IAKA,SAAAowP,GACAtjF,EACA0hF,EACAxuP,EACAjkF,GASA,OAPA45T,EAAA31O,KACAjkF,EAAAikF,EACAA,aAEA,kBAAAA,IACAA,EAAA8sK,EAAA9sK,IAEA8sK,EAAAmiD,OAAAu/B,EAAAxuP,EAAAjkF,GAGA,SAAAs0U,GAAA1+E,GAIA,IAAA2+E,EAAA,CACA3+U,IAAA,WAA6B,OAAAzF,KAAA+gG,QAC7BsjP,EAAA,CACA5+U,IAAA,WAA8B,OAAAzF,KAAAmzU,SAa9BpqU,OAAA2kB,eAAA+3O,EAAAxlQ,UAAA,QAAAmkV,GACAr7U,OAAA2kB,eAAA+3O,EAAAxlQ,UAAA,SAAAokV,GAEA5+E,EAAAxlQ,UAAAqkV,KAAAlxT,GACAqyO,EAAAxlQ,UAAAskV,QAAA9T,GAEAhrE,EAAAxlQ,UAAA8iT,OAAA,SACAu/B,EACAvsT,EACAlmB,GAEA,IAAA+wP,EAAA5gQ,KACA,GAAAypU,EAAA1zS,GACA,OAAAmuT,GAAAtjF,EAAA0hF,EAAAvsT,EAAAlmB,GAEAA,KAAA,GACAA,EAAA2yU,MAAA,EACA,IAAAT,EAAA,IAAArB,GAAA9/E,EAAA0hF,EAAAvsT,EAAAlmB,GACA,GAAAA,EAAAk7G,UACA,IACAh1F,EAAAh2B,KAAA6gQ,EAAAmhF,EAAA99U,OACO,MAAAk2B,GACPm5S,GAAAn5S,EAAAymO,EAAA,mCAAAmhF,EAAA,gBAGA,kBACAA,EAAAzB,aAOA,IAAAkE,GAAA,EAEA,SAAAC,GAAAh/E,GACAA,EAAAxlQ,UAAAk2S,MAAA,SAAAtmS,GACA,IAAA+wP,EAAA5gQ,KAEA4gQ,EAAA5wB,KAAAw0G,KAWA5jF,EAAAsvE,QAAA,EAEArgU,KAAA+sU,aAIA8H,GAAA9jF,EAAA/wP,GAEA+wP,EAAAkF,SAAA8iD,GACA2zB,GAAA37E,EAAA1gQ,aACA2P,GAAA,GACA+wP,GAOAA,EAAAs4E,aAAAt4E,EAGAA,EAAA2jD,MAAA3jD,EACAg/E,GAAAh/E,GACAm+E,GAAAn+E,GACA+8E,GAAA/8E,GACAk7E,GAAAl7E,EAAA,gBACA01E,GAAA11E,GACAwiF,GAAAxiF,GACAw1E,GAAAx1E,GACAk7E,GAAAl7E,EAAA,WASAA,EAAAkF,SAAA/0N,IACA6vN,EAAA86E,OAAA96E,EAAAkF,SAAA/0N,KAKA,SAAA2zS,GAAA9jF,EAAA/wP,GACA,IAAA/P,EAAA8gQ,EAAAkF,SAAA/8P,OAAA+lC,OAAA8xN,EAAA1gQ,YAAA2P,SAEAguU,EAAAhuU,EAAAk2P,aACAjmQ,EAAA6xE,OAAA9hE,EAAA8hE,OACA7xE,EAAAimQ,aAAA83E,EAEA,IAAA8G,EAAA9G,EAAA5P,iBACAnuU,EAAA8yU,UAAA+R,EAAA/R,UACA9yU,EAAAk+U,iBAAA2G,EAAA5hD,UACAjjS,EAAAg+U,gBAAA6G,EAAAxgR,SACArkE,EAAA8kV,cAAAD,EAAAz4G,IAEAr8N,EAAAqjD,SACApzD,EAAAozD,OAAArjD,EAAAqjD,OACApzD,EAAA2kT,gBAAA50S,EAAA40S,iBAIA,SAAA83B,GAAAn0R,GACA,IAAAv4C,EAAAu4C,EAAAv4C,QACA,GAAAu4C,EAAAy8R,MAAA,CACA,IAAAC,EAAAvI,GAAAn0R,EAAAy8R,OACAE,EAAA38R,EAAA08R,aACA,GAAAA,IAAAC,EAAA,CAGA38R,EAAA08R,eAEA,IAAAE,EAAAC,GAAA78R,GAEA48R,GACAtgV,EAAA0jD,EAAA88R,cAAAF,GAEAn1U,EAAAu4C,EAAAv4C,QAAA+4S,GAAAk8B,EAAA18R,EAAA88R,eACAr1U,EAAAvB,OACAuB,EAAA6wP,WAAA7wP,EAAAvB,MAAA85C,IAIA,OAAAv4C,EAGA,SAAAo1U,GAAA78R,GACA,IAAA+8R,EACAC,EAAAh9R,EAAAv4C,QACAw1U,EAAAj9R,EAAAk9R,cACA,QAAAr6U,KAAAm6U,EACAA,EAAAn6U,KAAAo6U,EAAAp6U,KACAk6U,IAAsBA,EAAA,IACtBA,EAAAl6U,GAAAm6U,EAAAn6U,IAGA,OAAAk6U,EAGA,SAAA1/E,GAAA51P,GAMA7P,KAAAm2S,MAAAtmS,GAWA,SAAA01U,GAAA9/E,GACAA,EAAAnjO,IAAA,SAAAq+Q,GACA,IAAA6kC,EAAAxlV,KAAAylV,oBAAAzlV,KAAAylV,kBAAA,IACA,GAAAD,EAAAp6S,QAAAu1Q,IAAA,EACA,OAAA3gT,KAIA,IAAAypD,EAAAxqB,EAAAt2B,UAAA,GAQA,OAPA8gD,EAAA0rB,QAAAn1E,MACA,oBAAA2gT,EAAAn7C,QACAm7C,EAAAn7C,QAAA98P,MAAAi4S,EAAAl3P,GACK,oBAAAk3P,GACLA,EAAAj4S,MAAA,KAAA+gD,GAEA+7R,EAAA7yU,KAAAguS,GACA3gT,MAMA,SAAA0lV,GAAAjgF,GACAA,EAAA7sP,MAAA,SAAAA,GAEA,OADA5Y,KAAA6P,QAAA+4S,GAAA5oT,KAAA6P,QAAA+I,GACA5Y,MAMA,SAAA2lV,GAAAlgF,GAMAA,EAAAoJ,IAAA,EACA,IAAAA,EAAA,EAKApJ,EAAA/gQ,OAAA,SAAAwgV,GACAA,KAAA,GACA,IAAAU,EAAA5lV,KACA6lV,EAAAD,EAAA/2E,IACAi3E,EAAAZ,EAAAa,QAAAb,EAAAa,MAAA,IACA,GAAAD,EAAAD,GACA,OAAAC,EAAAD,GAGA,IAAAv3U,EAAA42U,EAAA52U,MAAAs3U,EAAA/1U,QAAAvB,KAKA,IAAAsmR,EAAA,SAAA/kR,GACA7P,KAAAm2S,MAAAtmS,IA6CA,OA3CA+kR,EAAA30R,UAAA8I,OAAA+lC,OAAA82S,EAAA3lV,WACA20R,EAAA30R,UAAAC,YAAA00R,EACAA,EAAA/lB,QACA+lB,EAAA/kR,QAAA+4S,GACAg9B,EAAA/1U,QACAq1U,GAEAtwD,EAAA,SAAAgxD,EAKAhxD,EAAA/kR,QAAAgV,OACAmhU,GAAApxD,GAEAA,EAAA/kR,QAAAyxS,UACA2kC,GAAArxD,GAIAA,EAAAlwR,OAAAkhV,EAAAlhV,OACAkwR,EAAAh8Q,MAAAgtU,EAAAhtU,MACAg8Q,EAAAtyP,IAAAsjT,EAAAtjT,IAIA6oS,EAAAtgU,QAAA,SAAA1K,GACAy0R,EAAAz0R,GAAAylV,EAAAzlV,KAGAmO,IACAsmR,EAAA/kR,QAAA6wP,WAAApyP,GAAAsmR,GAMAA,EAAAkwD,aAAAc,EAAA/1U,QACA+kR,EAAAswD,gBACAtwD,EAAA0wD,cAAA5gV,EAAA,GAAiCkwR,EAAA/kR,SAGjCi2U,EAAAD,GAAAjxD,EACAA,GAIA,SAAAoxD,GAAAE,GACA,IAAArhU,EAAAqhU,EAAAr2U,QAAAgV,MACA,QAAA5Z,KAAA4Z,EACA4yT,GAAAyO,EAAAjmV,UAAA,SAAAgL,GAIA,SAAAg7U,GAAAC,GACA,IAAA5kC,EAAA4kC,EAAAr2U,QAAAyxS,SACA,QAAAr2S,KAAAq2S,EACAwiC,GAAAoC,EAAAjmV,UAAAgL,EAAAq2S,EAAAr2S,IAMA,SAAAk7U,GAAA1gF,GAIA0lE,EAAAtgU,QAAA,SAAA1K,GACAslQ,EAAAtlQ,GAAA,SACA8rB,EACAm6T,GAEA,OAAAA,GAOA,cAAAjmV,GAAAspU,EAAA2c,KACAA,EAAA93U,KAAA83U,EAAA93U,MAAA2d,EACAm6T,EAAApmV,KAAA6P,QAAAmiU,MAAAttU,OAAA0hV,IAEA,cAAAjmV,GAAA,oBAAAimV,IACAA,EAAA,CAAwBx9U,KAAAw9U,EAAA75T,OAAA65T,IAExBpmV,KAAA6P,QAAA1P,EAAA,KAAA8rB,GAAAm6T,EACAA,GAdApmV,KAAA6P,QAAA1P,EAAA,KAAA8rB,MAwBA,SAAAo6T,GAAAvmV,GACA,OAAAA,MAAAsoD,KAAAv4C,QAAAvB,MAAAxO,EAAAosO,KAGA,SAAA28B,GAAAN,EAAAj6P,GACA,OAAAkP,MAAAxU,QAAAu/P,GACAA,EAAAn9N,QAAA98B,IAAA,EACG,kBAAAi6P,EACHA,EAAA95P,MAAA,KAAA28B,QAAA98B,IAAA,IACGo7T,EAAAnhE,IACHA,EAAA/5E,KAAAlgL,GAMA,SAAAg4U,GAAAC,EAAA1+R,GACA,IAAAxlB,EAAAkkT,EAAAlkT,MACArM,EAAAuwT,EAAAvwT,KACA4nT,EAAA2I,EAAA3I,OACA,QAAA3yU,KAAAo3B,EAAA,CACA,IAAAmkT,EAAAnkT,EAAAp3B,GACA,GAAAu7U,EAAA,CACA,IAAAl4U,EAAA+3U,GAAAG,EAAAvY,kBACA3/T,IAAAu5C,EAAAv5C,IACAm4U,GAAApkT,EAAAp3B,EAAA+qB,EAAA4nT,KAMA,SAAA6I,GACApkT,EACAp3B,EACA+qB,EACAk8C,GAEA,IAAAw0Q,EAAArkT,EAAAp3B,IACAy7U,GAAAx0Q,GAAAw0Q,EAAAx6G,MAAAh6J,EAAAg6J,KACAw6G,EAAAzlF,kBAAAygD,WAEAr/Q,EAAAp3B,GAAA,KACAuB,EAAAwpB,EAAA/qB,GA/MAw5U,GAAAh/E,IACA0+E,GAAA1+E,IACA85E,GAAA95E,IACAw6E,GAAAx6E,IACAy4E,GAAAz4E,IA8MA,IAAAkhF,GAAA,CAAAlgN,OAAAq0F,OAAAt9M,OAEAopU,GAAA,CACAt4U,KAAA,aACAouU,UAAA,EAEA73T,MAAA,CACA6qQ,QAAAi3D,GACAE,QAAAF,GACAx/U,IAAA,CAAAs/H,OAAAzmH,SAGA2mP,QAAA,WACA3mQ,KAAAqiC,MAAAt5B,OAAA+lC,OAAA,MACA9uC,KAAAg2B,KAAA,IAGAowO,UAAA,WACA,QAAAn7P,KAAAjL,KAAAqiC,MACAokT,GAAAzmV,KAAAqiC,MAAAp3B,EAAAjL,KAAAg2B,OAIAq0R,QAAA,WACA,IAAArmD,EAAAhkQ,KAEAA,KAAA+iT,OAAA,mBAAA95S,GACAq9U,GAAAtiF,EAAA,SAAA11P,GAA0C,OAAAu6P,GAAA5/P,EAAAqF,OAE1CtO,KAAA+iT,OAAA,mBAAA95S,GACAq9U,GAAAtiF,EAAA,SAAA11P,GAA0C,OAAAu6P,GAAA5/P,EAAAqF,QAI1C4kD,OAAA,WACA,IAAA2kB,EAAA73E,KAAA+kQ,OAAAtF,QACAuB,EAAA89E,GAAAjnQ,GACAo2P,EAAAjtE,KAAAitE,iBACA,GAAAA,EAAA,CAEA,IAAA3/T,EAAA+3U,GAAApY,GACAtuE,EAAA3/P,KACA0vR,EAAA/vB,EAAA+vB,QACAm3D,EAAAlnF,EAAAknF,QACA,GAEAn3D,KAAAphR,IAAAu6P,GAAA6mB,EAAAphR,KAEAu4U,GAAAv4U,GAAAu6P,GAAAg+E,EAAAv4U,GAEA,OAAA0yP,EAGA,IAAA8lF,EAAA9mV,KACAqiC,EAAAykT,EAAAzkT,MACArM,EAAA8wT,EAAA9wT,KACA/qB,EAAA,MAAA+1P,EAAA/1P,IAGAgjU,EAAA7lR,KAAAymN,KAAAo/D,EAAA/hG,IAAA,KAAA+hG,EAAA,QACAjtE,EAAA/1P,IACAo3B,EAAAp3B,IACA+1P,EAAAC,kBAAA5+N,EAAAp3B,GAAAg2P,kBAEAz0P,EAAAwpB,EAAA/qB,GACA+qB,EAAArjB,KAAA1H,KAEAo3B,EAAAp3B,GAAA+1P,EACAhrO,EAAArjB,KAAA1H,GAEAjL,KAAAmH,KAAA6uB,EAAAzyB,OAAA4P,SAAAnT,KAAAmH,MACAs/U,GAAApkT,EAAArM,EAAA,GAAAA,EAAAh2B,KAAA49U,SAIA58E,EAAAz1P,KAAA80P,WAAA,EAEA,OAAAW,GAAAnpL,KAAA,KAIAkvQ,GAAA,CACAH,cAKA,SAAAI,GAAAvhF,GAEA,IAAAwhF,EAAA,CACAxhV,IAAA,WAA+B,OAAAu0L,IAQ/BjxL,OAAA2kB,eAAA+3O,EAAA,SAAAwhF,GAKAxhF,EAAA7zO,KAAA,CACAiO,QACAn7B,SACAkkT,gBACA1iD,eAAAiqE,IAGA1qE,EAAAryO,OACAqyO,EAAAtsK,OAAAs3O,GACAhrE,EAAA48B,YAGA58B,EAAAyhF,WAAA,SAAAp8U,GAEA,OADAm7S,GAAAn7S,GACAA,GAGA26P,EAAA51P,QAAA9G,OAAA+lC,OAAA,MACAq8R,EAAAtgU,QAAA,SAAA1K,GACAslQ,EAAA51P,QAAA1P,EAAA,KAAA4I,OAAA+lC,OAAA,QAKA22N,EAAA51P,QAAAmiU,MAAAvsE,EAEA/gQ,EAAA+gQ,EAAA51P,QAAA6wP,WAAAqmF,IAEAxB,GAAA9/E,GACAigF,GAAAjgF,GACAkgF,GAAAlgF,GACA0gF,GAAA1gF,GAGAuhF,GAAAvhF,IAEA18P,OAAA2kB,eAAA+3O,GAAAxlQ,UAAA,aACAwF,IAAAynU,KAGAnkU,OAAA2kB,eAAA+3O,GAAAxlQ,UAAA,eACAwF,IAAA,WAEA,OAAAzF,KAAAogQ,QAAApgQ,KAAAogQ,OAAAy9D,cAKA90T,OAAA2kB,eAAA+3O,GAAA,2BACAxhQ,MAAAu2U,KAGA/0E,GAAA3/I,QAAA,SAMA,IAAA6lN,GAAA/B,EAAA,eAGAud,GAAAvd,EAAA,yCACAmC,GAAA,SAAA7/F,EAAA/rO,EAAA4jF,GACA,MACA,UAAAA,GAAAojQ,GAAAj7G,IAAA,WAAA/rO,GACA,aAAA4jF,GAAA,WAAAmoJ,GACA,YAAAnoJ,GAAA,UAAAmoJ,GACA,UAAAnoJ,GAAA,UAAAmoJ,GAIAk7G,GAAAxd,EAAA,wCAEAyd,GAAAzd,EAAA,sCAEA0d,GAAA,SAAAr8U,EAAAhH,GACA,OAAAsjV,GAAAtjV,IAAA,UAAAA,EACA,QAEA,oBAAAgH,GAAAo8U,GAAApjV,GACAA,EACA,QAGAujV,GAAA5d,EACA,wYAQA6d,GAAA,+BAEAC,GAAA,SAAAp5U,GACA,YAAAA,EAAAmE,OAAA,cAAAnE,EAAA4wB,MAAA,MAGAyoT,GAAA,SAAAr5U,GACA,OAAAo5U,GAAAp5U,KAAA4wB,MAAA,EAAA5wB,EAAA/K,QAAA,IAGAgkV,GAAA,SAAAt+U,GACA,aAAAA,IAAA,IAAAA,GAKA,SAAA2+U,GAAA5mF,GACA,IAAAz1P,EAAAy1P,EAAAz1P,KACAuoN,EAAAktC,EACA6mF,EAAA7mF,EACA,MAAA2E,EAAAkiF,EAAA5mF,mBACA4mF,IAAA5mF,kBAAA28E,OACAiK,KAAAt8U,OACAA,EAAAu8U,GAAAD,EAAAt8U,SAGA,MAAAo6P,EAAA7xC,IAAAniJ,QACAmiJ,KAAAvoN,OACAA,EAAAu8U,GAAAv8U,EAAAuoN,EAAAvoN,OAGA,OAAAw8U,GAAAx8U,EAAAi5S,YAAAj5S,EAAAs5P,OAGA,SAAAijF,GAAA11T,EAAAu/C,GACA,OACA6yO,YAAA96P,GAAAt3B,EAAAoyR,YAAA7yO,EAAA6yO,aACA3/C,MAAAc,EAAAvzO,EAAAyyO,OACA,CAAAzyO,EAAAyyO,MAAAlzL,EAAAkzL,OACAlzL,EAAAkzL,OAIA,SAAAkjF,GACAvjC,EACAwjC,GAEA,OAAAriF,EAAA6+C,IAAA7+C,EAAAqiF,GACAt+R,GAAA86P,EAAAyjC,GAAAD,IAGA,GAGA,SAAAt+R,GAAAnhD,EAAAC,GACA,OAAAD,EAAAC,EAAAD,EAAA,IAAAC,EAAAD,EAAAC,GAAA,GAGA,SAAAy/U,GAAAhkV,GACA,OAAAuZ,MAAAxU,QAAA/E,GACAikV,GAAAjkV,GAEA2F,EAAA3F,GACAkkV,GAAAlkV,GAEA,kBAAAA,EACAA,EAGA,GAGA,SAAAikV,GAAAjkV,GAGA,IAFA,IACAmkV,EADAr2Q,EAAA,GAEAhnE,EAAA,EAAAC,EAAA/G,EAAAV,OAAmCwH,EAAAC,EAAOD,IAC1C46P,EAAAyiF,EAAAH,GAAAhkV,EAAA8G,MAAA,KAAAq9U,IACAr2Q,IAAgBA,GAAA,KAChBA,GAAAq2Q,GAGA,OAAAr2Q,EAGA,SAAAo2Q,GAAAlkV,GACA,IAAA8tE,EAAA,GACA,QAAA9mE,KAAAhH,EACAA,EAAAgH,KACA8mE,IAAgBA,GAAA,KAChBA,GAAA9mE,GAGA,OAAA8mE,EAKA,IAAAs2Q,GAAA,CACAC,IAAA,6BACAC,KAAA,sCAGAC,GAAA5e,EACA,snBAeA6e,GAAA7e,EACA,kNAGA,GAGA8B,GAAA,SAAAx/F,GACA,OAAAs8G,GAAAt8G,IAAAu8G,GAAAv8G,IAGA,SAAA2/F,GAAA3/F,GACA,OAAAu8G,GAAAv8G,GACA,MAIA,SAAAA,EACA,YADA,EAKA,IAAAw8G,GAAA3/U,OAAA+lC,OAAA,MACA,SAAA88R,GAAA1/F,GAEA,IAAA06B,EACA,SAEA,GAAA8kE,GAAAx/F,GACA,SAIA,GAFAA,IAAAxyG,cAEA,MAAAgvN,GAAAx8G,GACA,OAAAw8G,GAAAx8G,GAEA,IAAAn7L,EAAAnmC,SAAAirB,cAAAq2M,GACA,OAAAA,EAAA9gM,QAAA,QAEAs9S,GAAAx8G,GACAn7L,EAAA7wC,cAAAyK,OAAAg+U,oBACA53S,EAAA7wC,cAAAyK,OAAAi+U,YAGAF,GAAAx8G,GAAA,qBAAA19C,KAAAz9I,EAAAjoC,YAIA,IAAA+/U,GAAAjf,EAAA,6CAOA,SAAA5zL,GAAAjlG,GACA,qBAAAA,EAAA,CACA,IAAA+vK,EAAAl2M,SAAAkjQ,cAAA/8N,GACA,OAAA+vK,GAIAl2M,SAAAirB,cAAA,OAIA,OAAAkb,EAMA,SAAA+3S,GAAAroH,EAAAugC,GACA,IAAAgtE,EAAApjU,SAAAirB,cAAA4qM,GACA,iBAAAA,EACAutG,GAGAhtE,EAAAz1P,MAAAy1P,EAAAz1P,KAAAy3O,YAAA16O,IAAA04P,EAAAz1P,KAAAy3O,MAAAp2C,UACAohI,EAAA/xB,aAAA,uBAEA+xB,GAGA,SAAA3xH,GAAAqjG,EAAAj/E,GACA,OAAA71N,SAAAyxM,gBAAAgsI,GAAA3oC,GAAAj/E,GAGA,SAAAsH,GAAA/mO,GACA,OAAA4J,SAAAm9N,eAAA/mO,GAGA,SAAA+nV,GAAA/nV,GACA,OAAA4J,SAAAm+U,cAAA/nV,GAGA,SAAAg/N,GAAAlM,EAAAp+I,EAAAszQ,GACAl1H,EAAAkM,aAAAtqJ,EAAAszQ,GAGA,SAAA1oH,GAAAjjN,EAAA+U,GACA/U,EAAAijN,YAAAluM,GAGA,SAAAguM,GAAA/iN,EAAA+U,GACA/U,EAAA+iN,YAAAhuM,GAGA,SAAA0hM,GAAAz2M,GACA,OAAAA,EAAAy2M,WAGA,SAAA0U,GAAAnrN,GACA,OAAAA,EAAAmrN,YAGA,SAAA/H,GAAApjN,GACA,OAAAA,EAAAojN,QAGA,SAAAwoH,GAAA5rU,EAAArc,GACAqc,EAAA6rU,YAAAloV,EAGA,SAAAmoV,GAAA9rU,EAAAmgT,GACAngT,EAAA4+R,aAAAuhB,EAAA,IAGA,IAAA4rB,GAAArgV,OAAA45P,OAAA,CACA9sO,cAAAizT,GACAzsI,mBACA0rB,kBACAghH,iBACA/oH,gBACAM,eACAF,eACAtM,cACA0U,eACA/H,WACAwoH,kBACAE,mBAKAxpF,GAAA,CACA7wN,OAAA,SAAA4wN,EAAAsB,GACAqoF,GAAAroF,IAEAz0O,OAAA,SAAAovT,EAAA36E,GACA26E,EAAApwU,KAAAo0P,MAAAqB,EAAAz1P,KAAAo0P,MACA0pF,GAAA1N,GAAA,GACA0N,GAAAroF,KAGAmpD,QAAA,SAAAnpD,GACAqoF,GAAAroF,GAAA,KAIA,SAAAqoF,GAAAroF,EAAAsoF,GACA,IAAAr+U,EAAA+1P,EAAAz1P,KAAAo0P,IACA,GAAAgG,EAAA16P,GAAA,CAEA,IAAA21P,EAAAI,EAAAt9O,QACAi8O,EAAAqB,EAAAC,mBAAAD,EAAAgtE,IACAub,EAAA3oF,EAAAk/E,MACAwJ,EACA9rU,MAAAxU,QAAAugV,EAAAt+U,IACAuB,EAAA+8U,EAAAt+U,GAAA00P,GACK4pF,EAAAt+U,KAAA00P,IACL4pF,EAAAt+U,QAAA3C,GAGA04P,EAAAz1P,KAAAi+U,SACAhsU,MAAAxU,QAAAugV,EAAAt+U,IAEOs+U,EAAAt+U,GAAAmgC,QAAAu0N,GAAA,GAEP4pF,EAAAt+U,GAAA0H,KAAAgtP,GAHA4pF,EAAAt+U,GAAA,CAAA00P,GAMA4pF,EAAAt+U,GAAA00P,GAiBA,IAAA8pF,GAAA,IAAA1b,GAAA,MAAgC,IAEhCqD,GAAA,kDAEA,SAAAsY,GAAAnhV,EAAAC,GACA,OACAD,EAAA0C,MAAAzC,EAAAyC,MAEA1C,EAAA2jO,MAAA1jO,EAAA0jO,KACA3jO,EAAAimU,YAAAhmU,EAAAgmU,WACA7oE,EAAAp9P,EAAAgD,QAAAo6P,EAAAn9P,EAAA+C,OACAo+U,GAAAphV,EAAAC,IAEA8gU,EAAA/gU,EAAAqmU,qBACArmU,EAAA2lU,eAAA1lU,EAAA0lU,cACA7E,EAAA7gU,EAAA0lU,aAAA/zS,QAMA,SAAAwvT,GAAAphV,EAAAC,GACA,aAAAD,EAAA2jO,IAA0B,SAC1B,IAAAnhO,EACA6+U,EAAAjkF,EAAA56P,EAAAxC,EAAAgD,OAAAo6P,EAAA56P,IAAAi4O,QAAAj4O,EAAA5K,KACA0pV,EAAAlkF,EAAA56P,EAAAvC,EAAA+C,OAAAo6P,EAAA56P,IAAAi4O,QAAAj4O,EAAA5K,KACA,OAAAypV,IAAAC,GAAAhB,GAAAe,IAAAf,GAAAgB,GAGA,SAAAC,GAAA3lR,EAAA4lR,EAAAC,GACA,IAAAj/U,EAAAE,EACAmC,EAAA,GACA,IAAArC,EAAAg/U,EAAoBh/U,GAAAi/U,IAAaj/U,EACjCE,EAAAk5D,EAAAp5D,GAAAE,IACA06P,EAAA16P,KAAqBmC,EAAAnC,GAAAF,GAErB,OAAAqC,EAGA,SAAA68U,GAAAC,GACA,IAAAn/U,EAAA2F,EACAggQ,EAAA,GAEAtjP,EAAA88T,EAAA98T,QACAg8T,EAAAc,EAAAd,QAEA,IAAAr+U,EAAA,EAAaA,EAAAqmU,GAAA7tU,SAAkBwH,EAE/B,IADA2lQ,EAAA0gE,GAAArmU,IAAA,GACA2F,EAAA,EAAeA,EAAA0c,EAAA7pB,SAAoBmN,EACnCi1P,EAAAv4O,EAAA1c,GAAA0gU,GAAArmU,MACA2lQ,EAAA0gE,GAAArmU,IAAA4H,KAAAya,EAAA1c,GAAA0gU,GAAArmU,KAKA,SAAAo/U,EAAAnc,GACA,WAAAD,GAAAqb,EAAA3oH,QAAAutG,GAAAt0M,cAAA,GAA2D,QAAApxH,EAAA0lU,GAG3D,SAAAoc,EAAAC,EAAAtnD,GACA,SAAAqyC,IACA,MAAAA,EAAAryC,WACA3vI,EAAAi3L,GAIA,OADAjV,EAAAryC,YACAqyC,EAGA,SAAAhiL,EAAAriH,GACA,IAAA4gC,EAAAy3Q,EAAAt1H,WAAA/iL,GAEA40N,EAAAh0L,IACAy3Q,EAAA9oH,YAAA3uJ,EAAA5gC,GAsBA,SAAAu5S,EACAtpF,EACAupF,EACAC,EACAC,EACAC,EACAC,EACA9mV,GAYA,GAVA8hQ,EAAA3E,EAAAgtE,MAAAroE,EAAAglF,KAMA3pF,EAAA2pF,EAAA9mV,GAAAkrU,GAAA/tE,IAGAA,EAAAutE,cAAAmc,GACAvO,EAAAn7E,EAAAupF,EAAAC,EAAAC,GAAA,CAIA,IAAAl/U,EAAAy1P,EAAAz1P,KACA44D,EAAA68L,EAAA78L,SACA+nK,EAAA80B,EAAA90B,IACAy5B,EAAAz5B,IAeA80B,EAAAgtE,IAAAhtE,EAAAmtE,GACAib,EAAA/sI,gBAAA2kD,EAAAmtE,GAAAjiG,GACAk9G,EAAAvzT,cAAAq2M,EAAA80B,GACA4pF,EAAA5pF,GAIA6pF,EAAA7pF,EAAA78L,EAAAomR,GACA5kF,EAAAp6P,IACAu/U,EAAA9pF,EAAAupF,GAEAp+U,EAAAq+U,EAAAxpF,EAAAgtE,IAAAyc,IAMKnhB,EAAAtoE,EAAAwtE,YACLxtE,EAAAgtE,IAAAob,EAAAL,cAAA/nF,EAAAhgQ,MACAmL,EAAAq+U,EAAAxpF,EAAAgtE,IAAAyc,KAEAzpF,EAAAgtE,IAAAob,EAAArhH,eAAAi5B,EAAAhgQ,MACAmL,EAAAq+U,EAAAxpF,EAAAgtE,IAAAyc,KAIA,SAAAtO,EAAAn7E,EAAAupF,EAAAC,EAAAC,GACA,IAAA1/U,EAAAi2P,EAAAz1P,KACA,GAAAo6P,EAAA56P,GAAA,CACA,IAAAggV,EAAAplF,EAAA3E,EAAAC,oBAAAl2P,EAAAs1P,UAQA,GAPAsF,EAAA56P,IAAA+1P,OAAA6E,EAAA56P,IAAAmY,OACAnY,EAAAi2P,GAAA,GAMA2E,EAAA3E,EAAAC,mBAMA,OALA+pF,EAAAhqF,EAAAupF,GACAp+U,EAAAq+U,EAAAxpF,EAAAgtE,IAAAyc,GACAnhB,EAAAyhB,IACAE,EAAAjqF,EAAAupF,EAAAC,EAAAC,IAEA,GAKA,SAAAO,EAAAhqF,EAAAupF,GACA5kF,EAAA3E,EAAAz1P,KAAA2/U,iBACAX,EAAA53U,KAAAjK,MAAA6hV,EAAAvpF,EAAAz1P,KAAA2/U,eACAlqF,EAAAz1P,KAAA2/U,cAAA,MAEAlqF,EAAAgtE,IAAAhtE,EAAAC,kBAAAuoD,IACA2hC,EAAAnqF,IACA8pF,EAAA9pF,EAAAupF,GACAK,EAAA5pF,KAIAqoF,GAAAroF,GAEAupF,EAAA53U,KAAAquP,IAIA,SAAAiqF,EAAAjqF,EAAAupF,EAAAC,EAAAC,GACA,IAAA1/U,EAKAqgV,EAAApqF,EACA,MAAAoqF,EAAAnqF,kBAEA,GADAmqF,IAAAnqF,kBAAA28E,OACAj4E,EAAA56P,EAAAqgV,EAAA7/U,OAAAo6P,EAAA56P,IAAAsgV,YAAA,CACA,IAAAtgV,EAAA,EAAmBA,EAAA2lQ,EAAA46E,SAAA/nV,SAAyBwH,EAC5C2lQ,EAAA46E,SAAAvgV,GAAA0+U,GAAA2B,GAEAb,EAAA53U,KAAAy4U,GACA,MAKAj/U,EAAAq+U,EAAAxpF,EAAAgtE,IAAAyc,GAGA,SAAAt+U,EAAAwlE,EAAAq8P,EAAAud,GACA5lF,EAAAh0L,KACAg0L,EAAA4lF,GACAnC,EAAAt1H,WAAAy3H,KAAA55Q,GACAy3Q,EAAAppH,aAAAruJ,EAAAq8P,EAAAud,GAGAnC,EAAAhpH,YAAAzuJ,EAAAq8P,IAKA,SAAA6c,EAAA7pF,EAAA78L,EAAAomR,GACA,GAAA/sU,MAAAxU,QAAAm7D,GAAA,CACU,EAGV,QAAAp5D,EAAA,EAAqBA,EAAAo5D,EAAA5gE,SAAqBwH,EAC1Cu/U,EAAAnmR,EAAAp5D,GAAAw/U,EAAAvpF,EAAAgtE,IAAA,QAAA7pQ,EAAAp5D,QAEKo9C,EAAA64M,EAAAhgQ,OACLooV,EAAAhpH,YAAA4gC,EAAAgtE,IAAAob,EAAArhH,eAAAthG,OAAAu6H,EAAAhgQ,QAIA,SAAAmqV,EAAAnqF,GACA,MAAAA,EAAAC,kBACAD,IAAAC,kBAAA28E,OAEA,OAAAj4E,EAAA3E,EAAA90B,KAGA,SAAA4+G,EAAA9pF,EAAAupF,GACA,QAAA9K,EAAA,EAAqBA,EAAA/uE,EAAA5hO,OAAAvrC,SAAyBk8U,EAC9C/uE,EAAA5hO,OAAA2wS,GAAAgK,GAAAzoF,GAEAj2P,EAAAi2P,EAAAz1P,KAAAu1P,KACA6E,EAAA56P,KACA46P,EAAA56P,EAAA+jC,SAA4B/jC,EAAA+jC,OAAA26S,GAAAzoF,GAC5B2E,EAAA56P,EAAAoB,SAA4Bo+U,EAAA53U,KAAAquP,IAO5B,SAAA4pF,EAAA5pF,GACA,IAAAj2P,EACA,GAAA46P,EAAA56P,EAAAi2P,EAAAstE,WACA8a,EAAAD,cAAAnoF,EAAAgtE,IAAAjjU,OACK,CACL,IAAA8oN,EAAAmtC,EACA,MAAAntC,EACA8xC,EAAA56P,EAAA8oN,EAAAnwM,UAAAiiP,EAAA56P,IAAA+6P,SAAA83D,WACAwrB,EAAAD,cAAAnoF,EAAAgtE,IAAAjjU,GAEA8oN,IAAAliJ,OAIAg0L,EAAA56P,EAAA0wU,KACA1wU,IAAAi2P,EAAAt9O,SACA3Y,IAAAi2P,EAAAotE,WACAzoE,EAAA56P,IAAA+6P,SAAA83D,WAEAwrB,EAAAD,cAAAnoF,EAAAgtE,IAAAjjU,GAIA,SAAAygV,EAAAhB,EAAAC,EAAAtP,EAAAl3O,EAAA+lP,EAAAO,GACA,KAAUtmP,GAAA+lP,IAAoB/lP,EAC9BqmP,EAAAnP,EAAAl3O,GAAAsmP,EAAAC,EAAAC,GAAA,EAAAtP,EAAAl3O,GAIA,SAAAwnP,EAAAzqF,GACA,IAAAj2P,EAAA2F,EACAnF,EAAAy1P,EAAAz1P,KACA,GAAAo6P,EAAAp6P,GAEA,IADAo6P,EAAA56P,EAAAQ,EAAAu1P,OAAA6E,EAAA56P,IAAAo/S,UAAyDp/S,EAAAi2P,GACzDj2P,EAAA,EAAiBA,EAAA2lQ,EAAAy5C,QAAA5mT,SAAwBwH,EAAO2lQ,EAAAy5C,QAAAp/S,GAAAi2P,GAEhD,GAAA2E,EAAA56P,EAAAi2P,EAAA78L,UACA,IAAAzzD,EAAA,EAAiBA,EAAAswP,EAAA78L,SAAA5gE,SAA2BmN,EAC5C+6U,EAAAzqF,EAAA78L,SAAAzzD,IAKA,SAAAg7U,EAAAlB,EAAArP,EAAAl3O,EAAA+lP,GACA,KAAU/lP,GAAA+lP,IAAoB/lP,EAAA,CAC9B,IAAAwsJ,EAAA0qF,EAAAl3O,GACA0hK,EAAAlV,KACAkV,EAAAlV,EAAAvkB,MACAy/G,EAAAl7F,GACAg7F,EAAAh7F,IAEAr9F,EAAAq9F,EAAAu9E,OAMA,SAAA2d,EAAA3qF,EAAA4qF,GACA,GAAAjmF,EAAAimF,IAAAjmF,EAAA3E,EAAAz1P,MAAA,CACA,IAAAR,EACAg4R,EAAAryB,EAAAlkQ,OAAAjJ,OAAA,EAaA,IAZAoiQ,EAAAimF,GAGAA,EAAA7oD,aAGA6oD,EAAAxB,EAAAppF,EAAAgtE,IAAAjrC,GAGAp9B,EAAA56P,EAAAi2P,EAAAC,oBAAA0E,EAAA56P,IAAA6yU,SAAAj4E,EAAA56P,EAAAQ,OACAogV,EAAA5gV,EAAA6gV,GAEA7gV,EAAA,EAAiBA,EAAA2lQ,EAAAlkQ,OAAAjJ,SAAuBwH,EACxC2lQ,EAAAlkQ,OAAAzB,GAAAi2P,EAAA4qF,GAEAjmF,EAAA56P,EAAAi2P,EAAAz1P,KAAAu1P,OAAA6E,EAAA56P,IAAAyB,QACAzB,EAAAi2P,EAAA4qF,GAEAA,SAGAx4L,EAAA4tG,EAAAgtE,KAIA,SAAA6d,EAAArB,EAAAsB,EAAAC,EAAAxB,EAAAyB,GACA,IAQAC,EAAAC,EAAAC,EAAA1B,EARA2B,EAAA,EACAC,EAAA,EACAC,EAAAR,EAAAvoV,OAAA,EACAgpV,EAAAT,EAAA,GACAU,EAAAV,EAAAQ,GACAG,EAAAV,EAAAxoV,OAAA,EACAmpV,EAAAX,EAAA,GACAY,EAAAZ,EAAAU,GAMAG,GAAAZ,EAMA,MAAAI,GAAAE,GAAAD,GAAAI,EACApjB,EAAAkjB,GACAA,EAAAT,IAAAM,GACO/iB,EAAAmjB,GACPA,EAAAV,IAAAQ,GACO5C,GAAA6C,EAAAG,IACPG,EAAAN,EAAAG,EAAAnC,EAAAwB,EAAAM,GACAE,EAAAT,IAAAM,GACAM,EAAAX,IAAAM,IACO3C,GAAA8C,EAAAG,IACPE,EAAAL,EAAAG,EAAApC,EAAAwB,EAAAU,GACAD,EAAAV,IAAAQ,GACAK,EAAAZ,IAAAU,IACO/C,GAAA6C,EAAAI,IACPE,EAAAN,EAAAI,EAAApC,EAAAwB,EAAAU,GACAG,GAAAxD,EAAAppH,aAAAwqH,EAAA+B,EAAAve,IAAAob,EAAA5gH,YAAAgkH,EAAAxe,MACAue,EAAAT,IAAAM,GACAO,EAAAZ,IAAAU,IACO/C,GAAA8C,EAAAE,IACPG,EAAAL,EAAAE,EAAAnC,EAAAwB,EAAAM,GACAO,GAAAxD,EAAAppH,aAAAwqH,EAAAgC,EAAAxe,IAAAue,EAAAve,KACAwe,EAAAV,IAAAQ,GACAI,EAAAX,IAAAM,KAEAhjB,EAAA4iB,KAAmCA,EAAAnC,GAAAgC,EAAAM,EAAAE,IACnCJ,EAAAvmF,EAAA+mF,EAAAzhV,KACAghV,EAAAS,EAAAzhV,KACA6hV,EAAAJ,EAAAZ,EAAAM,EAAAE,GACAjjB,EAAA6iB,GACA5B,EAAAoC,EAAAnC,EAAAC,EAAA+B,EAAAve,KAAA,EAAA+d,EAAAM,IAEAF,EAAAL,EAAAI,GACAxC,GAAAyC,EAAAO,IACAG,EAAAV,EAAAO,EAAAnC,EAAAwB,EAAAM,GACAP,EAAAI,QAAA5jV,EACAskV,GAAAxD,EAAAppH,aAAAwqH,EAAA2B,EAAAne,IAAAue,EAAAve,MAGAsc,EAAAoC,EAAAnC,EAAAC,EAAA+B,EAAAve,KAAA,EAAA+d,EAAAM,IAGAK,EAAAX,IAAAM,IAGAD,EAAAE,GACA7B,EAAAphB,EAAA0iB,EAAAU,EAAA,SAAAV,EAAAU,EAAA,GAAAze,IACAwd,EAAAhB,EAAAC,EAAAsB,EAAAM,EAAAI,EAAAlC,IACK8B,EAAAI,GACLf,EAAAlB,EAAAsB,EAAAM,EAAAE,GAsBA,SAAAQ,EAAAzvU,EAAAyuU,EAAA1/T,EAAA7C,GACA,QAAAxe,EAAAqhB,EAAuBrhB,EAAAwe,EAASxe,IAAA,CAChC,IAAAtC,EAAAqjV,EAAA/gV,GACA,GAAA46P,EAAAl9P,IAAAihV,GAAArsU,EAAA5U,GAA2C,OAAAsC,GAI3C,SAAA8hV,EACAlR,EACA36E,EACAupF,EACAI,EACA9mV,EACAmoV,GAEA,GAAArQ,IAAA36E,EAAA,CAIA2E,EAAA3E,EAAAgtE,MAAAroE,EAAAglF,KAEA3pF,EAAA2pF,EAAA9mV,GAAAkrU,GAAA/tE,IAGA,IAAAgtE,EAAAhtE,EAAAgtE,IAAA2N,EAAA3N,IAEA,GAAA1E,EAAAqS,EAAA/M,oBACAjpE,EAAA3E,EAAAktE,aAAAl/D,UACA+9E,EAAApR,EAAA3N,IAAAhtE,EAAAupF,GAEAvpF,EAAA4tE,oBAAA,OASA,GAAAtF,EAAAtoE,EAAA1vK,WACAg4O,EAAAqS,EAAArqP,WACA0vK,EAAA/1P,MAAA0wU,EAAA1wU,MACAq+T,EAAAtoE,EAAAytE,WAAAnF,EAAAtoE,EAAA0tE,SAEA1tE,EAAAC,kBAAA06E,EAAA16E,sBALA,CASA,IAAAl2P,EACAQ,EAAAy1P,EAAAz1P,KACAo6P,EAAAp6P,IAAAo6P,EAAA56P,EAAAQ,EAAAu1P,OAAA6E,EAAA56P,IAAAg2P,WACAh2P,EAAA4wU,EAAA36E,GAGA,IAAA8qF,EAAAnQ,EAAAx3Q,SACAssL,EAAAuQ,EAAA78L,SACA,GAAAwhM,EAAAp6P,IAAA4/U,EAAAnqF,GAAA,CACA,IAAAj2P,EAAA,EAAiBA,EAAA2lQ,EAAAnkP,OAAAhpB,SAAuBwH,EAAO2lQ,EAAAnkP,OAAAxhB,GAAA4wU,EAAA36E,GAC/C2E,EAAA56P,EAAAQ,EAAAu1P,OAAA6E,EAAA56P,IAAAwhB,SAAwDxhB,EAAA4wU,EAAA36E,GAExDqoE,EAAAroE,EAAAhgQ,MACA2kQ,EAAAmmF,IAAAnmF,EAAAlV,GACAq7F,IAAAr7F,GAA2Bo7F,EAAA7d,EAAA8d,EAAAr7F,EAAA85F,EAAAyB,GACpBrmF,EAAAlV,IAIPkV,EAAAg2E,EAAA36U,OAAmCooV,EAAAH,eAAAjb,EAAA,IACnCwd,EAAAxd,EAAA,KAAAv9E,EAAA,EAAAA,EAAAltP,OAAA,EAAAgnV,IACO5kF,EAAAmmF,GACPJ,EAAA1d,EAAA8d,EAAA,EAAAA,EAAAvoV,OAAA,GACOoiQ,EAAAg2E,EAAA36U,OACPooV,EAAAH,eAAAjb,EAAA,IAEK2N,EAAA36U,OAAAggQ,EAAAhgQ,MACLooV,EAAAH,eAAAjb,EAAAhtE,EAAAhgQ,MAEA2kQ,EAAAp6P,IACAo6P,EAAA56P,EAAAQ,EAAAu1P,OAAA6E,EAAA56P,IAAAiiV,YAA2DjiV,EAAA4wU,EAAA36E,KAI3D,SAAAisF,EAAAjsF,EAAAj9F,EAAAmpL,GAGA,GAAA5jB,EAAA4jB,IAAAvnF,EAAA3E,EAAArvL,QACAqvL,EAAArvL,OAAApmE,KAAA2/U,cAAAnnL,OAEA,QAAAh5J,EAAA,EAAqBA,EAAAg5J,EAAAxgK,SAAkBwH,EACvCg5J,EAAAh5J,GAAAQ,KAAAu1P,KAAA30P,OAAA43J,EAAAh5J,IAKA,IAKAoiV,EAAAvjB,EAAA,2CAGA,SAAAmjB,EAAA/e,EAAAhtE,EAAAupF,EAAA6C,GACA,IAAAriV,EACAmhO,EAAA80B,EAAA90B,IACA3gO,EAAAy1P,EAAAz1P,KACA44D,EAAA68L,EAAA78L,SAIA,GAHAipR,KAAA7hV,KAAAiyU,IACAx8E,EAAAgtE,MAEA1E,EAAAtoE,EAAAwtE,YAAA7oE,EAAA3E,EAAAktE,cAEA,OADAltE,EAAA4tE,oBAAA,GACA,EAQA,GAAAjpE,EAAAp6P,KACAo6P,EAAA56P,EAAAQ,EAAAu1P,OAAA6E,EAAA56P,IAAAmY,OAAsDnY,EAAAi2P,GAAA,GACtD2E,EAAA56P,EAAAi2P,EAAAC,oBAGA,OADA+pF,EAAAhqF,EAAAupF,IACA,EAGA,GAAA5kF,EAAAz5B,GAAA,CACA,GAAAy5B,EAAAxhM,GAEA,GAAA6pQ,EAAAqf,gBAIA,GAAA1nF,EAAA56P,EAAAQ,IAAAo6P,EAAA56P,IAAA4tU,WAAAhzE,EAAA56P,IAAAs+G,YACA,GAAAt+G,IAAAijU,EAAA3kN,UAWA,aAEW,CAIX,IAFA,IAAAikO,GAAA,EACAzF,EAAA7Z,EAAA/tG,WACAw/G,EAAA,EAA6BA,EAAAt7Q,EAAA5gE,OAAuBk8U,IAAA,CACpD,IAAAoI,IAAAkF,EAAAlF,EAAA1jR,EAAAs7Q,GAAA8K,EAAA6C,GAAA,CACAE,GAAA,EACA,MAEAzF,IAAAr/G,YAIA,IAAA8kH,GAAAzF,EAUA,cAxCAgD,EAAA7pF,EAAA78L,EAAAomR,GA6CA,GAAA5kF,EAAAp6P,GAAA,CACA,IAAAgiV,GAAA,EACA,QAAAtiV,KAAAM,EACA,IAAA4hV,EAAAliV,GAAA,CACAsiV,GAAA,EACAzC,EAAA9pF,EAAAupF,GACA,OAGAgD,GAAAhiV,EAAA,UAEA4mB,GAAA5mB,EAAA,gBAGKyiU,EAAAziU,OAAAy1P,EAAAhgQ,OACLgtU,EAAAziU,KAAAy1P,EAAAhgQ,MAEA,SAcA,gBAAA26U,EAAA36E,EAAAq6E,EAAA2Q,GACA,IAAA3iB,EAAAroE,GAAA,CAKA,IAAAwsF,GAAA,EACAjD,EAAA,GAEA,GAAAlhB,EAAAsS,GAEA6R,GAAA,EACAlD,EAAAtpF,EAAAupF,OACK,CACL,IAAAkD,EAAA9nF,EAAAg2E,EAAAhyR,UACA,IAAA8jS,GAAA/D,GAAA/N,EAAA36E,GAEA6rF,EAAAlR,EAAA36E,EAAAupF,EAAA,UAAAyB,OACO,CACP,GAAAyB,EAAA,CAQA,GAJA,IAAA9R,EAAAhyR,UAAAgyR,EAAA+R,aAAAxiB,KACAyQ,EAAAp4M,gBAAA2nM,GACAmQ,GAAA,GAEA/R,EAAA+R,IACA0R,EAAApR,EAAA36E,EAAAupF,GAEA,OADA0C,EAAAjsF,EAAAupF,GAAA,GACA5O,EAaAA,EAAAwO,EAAAxO,GAIA,IAAAgS,EAAAhS,EAAA3N,IACAwc,EAAApB,EAAAt1H,WAAA65H,GAcA,GAXArD,EACAtpF,EACAupF,EAIAoD,EAAAC,SAAA,KAAApD,EACApB,EAAA5gH,YAAAmlH,IAIAhoF,EAAA3E,EAAArvL,QAAA,CACA,IAAAkiJ,EAAAmtC,EAAArvL,OACAk8Q,EAAA1C,EAAAnqF,GACA,MAAAntC,EAAA,CACA,QAAA9oN,EAAA,EAA2BA,EAAA2lQ,EAAAy5C,QAAA5mT,SAAwBwH,EACnD2lQ,EAAAy5C,QAAAp/S,GAAA8oN,GAGA,GADAA,EAAAm6G,IAAAhtE,EAAAgtE,IACA6f,EAAA,CACA,QAAApO,EAAA,EAA+BA,EAAA/uE,EAAA5hO,OAAAvrC,SAAyBk8U,EACxD/uE,EAAA5hO,OAAA2wS,GAAAgK,GAAA51H,GAKA,IAAA1nN,EAAA0nN,EAAAtoN,KAAAu1P,KAAA30P,OACA,GAAAA,EAAAu4E,OAEA,QAAAopQ,EAAA,EAAiCA,EAAA3hV,EAAAV,IAAAlI,OAAyBuqV,IAC1D3hV,EAAAV,IAAAqiV,UAIAzE,GAAAx1H,GAEAA,IAAAliJ,QAKAg0L,EAAA6kF,GACAkB,EAAAlB,EAAA,CAAA7O,GAAA,KACSh2E,EAAAg2E,EAAAzvG,MACTu/G,EAAA9P,IAMA,OADAsR,EAAAjsF,EAAAupF,EAAAiD,GACAxsF,EAAAgtE,IAnGAroE,EAAAg2E,IAA4B8P,EAAA9P,IAyG5B,IAAA7J,GAAA,CACAhjS,OAAAi/S,GACAxhU,OAAAwhU,GACA5jC,QAAA,SAAAnpD,GACA+sF,GAAA/sF,EAAAyoF,MAIA,SAAAsE,GAAApS,EAAA36E,IACA26E,EAAApwU,KAAAumU,YAAA9wE,EAAAz1P,KAAAumU,aACAn0P,GAAAg+P,EAAA36E,GAIA,SAAArjL,GAAAg+P,EAAA36E,GACA,IAQA/1P,EAAA+iV,EAAAt0T,EARAu0T,EAAAtS,IAAA8N,GACAyE,EAAAltF,IAAAyoF,GACA0E,EAAAC,GAAAzS,EAAApwU,KAAAumU,WAAA6J,EAAAj4T,SACA2qU,EAAAD,GAAAptF,EAAAz1P,KAAAumU,WAAA9wE,EAAAt9O,SAEA4qU,EAAA,GACAC,EAAA,GAGA,IAAAtjV,KAAAojV,EACAL,EAAAG,EAAAljV,GACAyuB,EAAA20T,EAAApjV,GACA+iV,GAQAt0T,EAAAspT,SAAAgL,EAAA/pV,MACAy1B,EAAA80T,OAAAR,EAAAhoS,IACAyoS,GAAA/0T,EAAA,SAAAsnO,EAAA26E,GACAjiT,EAAAk1O,KAAAl1O,EAAAk1O,IAAA8/E,kBACAH,EAAA57U,KAAA+mB,KAVA+0T,GAAA/0T,EAAA,OAAAsnO,EAAA26E,GACAjiT,EAAAk1O,KAAAl1O,EAAAk1O,IAAAugE,UACAmf,EAAA37U,KAAA+mB,IAaA,GAAA40T,EAAA/qV,OAAA,CACA,IAAAorV,EAAA,WACA,QAAA5jV,EAAA,EAAqBA,EAAAujV,EAAA/qV,OAA2BwH,IAChD0jV,GAAAH,EAAAvjV,GAAA,WAAAi2P,EAAA26E,IAGAsS,EACA1Y,GAAAv0E,EAAA,SAAA2tF,GAEAA,IAYA,GARAJ,EAAAhrV,QACAgyU,GAAAv0E,EAAA,uBACA,QAAAj2P,EAAA,EAAqBA,EAAAwjV,EAAAhrV,OAA8BwH,IACnD0jV,GAAAF,EAAAxjV,GAAA,mBAAAi2P,EAAA26E,MAKAsS,EACA,IAAAhjV,KAAAkjV,EACAE,EAAApjV,IAEAwjV,GAAAN,EAAAljV,GAAA,SAAA0wU,IAAAuS,GAMA,IAAAU,GAAA7lV,OAAA+lC,OAAA,MAEA,SAAAs/S,GACAvc,EACAjxE,GAEA,IAKA71P,EAAA2uB,EALAq4C,EAAAhpE,OAAA+lC,OAAA,MACA,IAAA+iS,EAEA,OAAA9/P,EAGA,IAAAhnE,EAAA,EAAaA,EAAA8mU,EAAAtuU,OAAiBwH,IAC9B2uB,EAAAm4S,EAAA9mU,GACA2uB,EAAAm1T,YAEAn1T,EAAAm1T,UAAAD,IAEA78Q,EAAA+8Q,GAAAp1T,MACAA,EAAAk1O,IAAAyjE,GAAAzxE,EAAAkF,SAAA,aAAApsO,EAAAprB,MAAA,GAGA,OAAAyjE,EAGA,SAAA+8Q,GAAAp1T,GACA,OAAAA,EAAAq1T,SAAAr1T,EAAA,SAAA3wB,OAAAitB,KAAA0D,EAAAm1T,WAAA,IAA4E7+U,KAAA,KAG5E,SAAAy+U,GAAA/0T,EAAAonO,EAAAE,EAAA26E,EAAAuS,GACA,IAAA9qV,EAAAs2B,EAAAk1O,KAAAl1O,EAAAk1O,IAAA9N,GACA,GAAA19P,EACA,IACAA,EAAA49P,EAAAgtE,IAAAt0S,EAAAsnO,EAAA26E,EAAAuS,GACK,MAAA/3U,IACLm9T,GAAAn9T,GAAA6qP,EAAAt9O,QAAA,aAAAgW,EAAA,SAAAonO,EAAA,UAKA,IAAAkuF,GAAA,CACArvF,GACAmyE,IAKA,SAAAmd,GAAAtT,EAAA36E,GACA,IAAAlhQ,EAAAkhQ,EAAAitE,iBACA,KAAAtoE,EAAA7lQ,KAAA,IAAAA,EAAAsoD,KAAAv4C,QAAAq/U,iBAGA7lB,EAAAsS,EAAApwU,KAAAy3O,SAAAqmF,EAAAroE,EAAAz1P,KAAAy3O,QAAA,CAGA,IAAA/3O,EAAAsoU,EAAA+B,EACAtH,EAAAhtE,EAAAgtE,IACAmhB,EAAAxT,EAAApwU,KAAAy3O,OAAA,GACAA,EAAAge,EAAAz1P,KAAAy3O,OAAA,GAMA,IAAA/3O,KAJA06P,EAAA3iB,EAAAqsF,UACArsF,EAAAge,EAAAz1P,KAAAy3O,MAAAt+O,EAAA,GAAwCs+O,IAGxCA,EACAuwF,EAAAvwF,EAAA/3O,GACAqqU,EAAA6Z,EAAAlkV,GACAqqU,IAAA/B,GACA6b,GAAAphB,EAAA/iU,EAAAsoU,GASA,IAAAtoU,KAHA0hU,IAAAE,KAAA7pF,EAAA/+O,QAAAkrV,EAAAlrV,OACAmrV,GAAAphB,EAAA,QAAAhrF,EAAA/+O,OAEAkrV,EACA9lB,EAAArmF,EAAA/3O,MACAy8U,GAAAz8U,GACA+iU,EAAAqhB,kBAAA5H,GAAAE,GAAA18U,IACOm8U,GAAAn8U,IACP+iU,EAAAzqM,gBAAAt4H,KAMA,SAAAmkV,GAAAr+S,EAAA9lC,EAAAhH,GACA8sC,EAAA0vL,QAAAr1L,QAAA,QACAkkT,GAAAv+S,EAAA9lC,EAAAhH,GACGujV,GAAAv8U,GAGHs8U,GAAAtjV,GACA8sC,EAAAwyF,gBAAAt4H,IAIAhH,EAAA,oBAAAgH,GAAA,UAAA8lC,EAAA0vL,QACA,OACAx1N,EACA8lC,EAAAkrQ,aAAAhxS,EAAAhH,IAEGmjV,GAAAn8U,GACH8lC,EAAAkrQ,aAAAhxS,EAAAq8U,GAAAr8U,EAAAhH,IACGyjV,GAAAz8U,GACHs8U,GAAAtjV,GACA8sC,EAAAs+S,kBAAA5H,GAAAE,GAAA18U,IAEA8lC,EAAAw+S,eAAA9H,GAAAx8U,EAAAhH,GAGAqrV,GAAAv+S,EAAA9lC,EAAAhH,GAIA,SAAAqrV,GAAAv+S,EAAA9lC,EAAAhH,GACA,GAAAsjV,GAAAtjV,GACA8sC,EAAAwyF,gBAAAt4H,OACG,CAKH,GACA0hU,KAAAC,IACA,aAAA77R,EAAA0vL,SACA,gBAAAx1N,GAAA,KAAAhH,IAAA8sC,EAAAy+S,OACA,CACA,IAAAC,EAAA,SAAAt5U,GACAA,EAAAu5U,2BACA3+S,EAAAitC,oBAAA,QAAAyxQ,IAEA1+S,EAAA8sC,iBAAA,QAAA4xQ,GAEA1+S,EAAAy+S,QAAA,EAEAz+S,EAAAkrQ,aAAAhxS,EAAAhH,IAIA,IAAA++O,GAAA,CACAl0M,OAAAmgT,GACA1iU,OAAA0iU,IAKA,SAAAU,GAAAhU,EAAA36E,GACA,IAAAjwN,EAAAiwN,EAAAgtE,IACAziU,EAAAy1P,EAAAz1P,KACAwqM,EAAA4lI,EAAApwU,KACA,KACA89T,EAAA99T,EAAAi5S,cACA6kB,EAAA99T,EAAAs5P,SACAwkE,EAAAtzH,IACAszH,EAAAtzH,EAAAyuG,cACA6kB,EAAAtzH,EAAA8uD,SALA,CAYA,IAAA+qF,EAAAhI,GAAA5mF,GAGA6uF,EAAA9+S,EAAA++S,mBACAnqF,EAAAkqF,KACAD,EAAAlmS,GAAAkmS,EAAA3H,GAAA4H,KAIAD,IAAA7+S,EAAAg/S,aACAh/S,EAAAkrQ,aAAA,QAAA2zC,GACA7+S,EAAAg/S,WAAAH,IAIA,IAyCAI,GAzCAC,GAAA,CACAnhT,OAAA6gT,GACApjU,OAAAojU,IAaAO,GAAA,MACAC,GAAA,MAQA,SAAAC,GAAAx6U,GAEA,GAAA+vP,EAAA/vP,EAAAs6U,KAAA,CAEA,IAAA/4U,EAAAw1T,GAAA,iBACA/2T,EAAAuB,GAAA,GAAAuyC,OAAA9zC,EAAAs6U,IAAAt6U,EAAAuB,IAAA,WACAvB,EAAAs6U,IAKAvqF,EAAA/vP,EAAAu6U,OACAv6U,EAAAy6U,OAAA,GAAA3mS,OAAA9zC,EAAAu6U,IAAAv6U,EAAAy6U,QAAA,WACAz6U,EAAAu6U,KAMA,SAAAG,GAAAn5U,EAAA28E,EAAA48J,GACA,IAAAxgH,EAAA8/M,GACA,gBAAA3Q,IACA,IAAAttQ,EAAA+hB,EAAAprF,MAAA,KAAAC,WACA,OAAAopE,GACAw+Q,GAAAp5U,EAAAkoU,EAAA3uF,EAAAxgH,IAQA,IAAAsgN,GAAA1c,MAAA/G,IAAA/sT,OAAA+sT,GAAA,SAEA,SAAA0jB,GACAniV,EACAwlF,EACA48J,EACAmkF,GAQA,GAAA2b,GAAA,CACA,IAAAE,EAAAhP,GACAtiL,EAAAtrE,EACAA,EAAAsrE,EAAAuxL,SAAA,SAAAx6U,GACA,GAIAA,EAAAE,SAAAF,EAAAovP,eAEApvP,EAAA0rU,WAAA6O,GAIAv6U,EAAA0rU,WAAA,GAIA1rU,EAAAE,OAAAuzC,gBAAAh/C,SAEA,OAAAw0J,EAAA12J,MAAA1I,KAAA2I,YAIAqnV,GAAAnyQ,iBACAvvE,EACAwlF,EACAm5O,GACA,CAASv8E,UAAAmkF,WACTnkF,GAIA,SAAA6/F,GACAjiV,EACAwlF,EACA48J,EACAxgH,IAEAA,GAAA8/M,IAAAhyQ,oBACA1vE,EACAwlF,EAAA68P,UAAA78P,EACA48J,GAIA,SAAAkgG,GAAAjV,EAAA36E,GACA,IAAAqoE,EAAAsS,EAAApwU,KAAAqK,MAAAyzT,EAAAroE,EAAAz1P,KAAAqK,IAAA,CAGA,IAAAA,EAAAorP,EAAAz1P,KAAAqK,IAAA,GACAu/T,EAAAwG,EAAApwU,KAAAqK,IAAA,GACAo6U,GAAAhvF,EAAAgtE,IACAoiB,GAAAx6U,GACAs/T,GAAAt/T,EAAAu/T,EAAAsb,GAAAF,GAAAD,GAAAtvF,EAAAt9O,SACAssU,QAAA1nV,GAGA,IAOAuoV,GAPA/oN,GAAA,CACAh5F,OAAA8hT,GACArkU,OAAAqkU,IAOA,SAAAE,GAAAnV,EAAA36E,GACA,IAAAqoE,EAAAsS,EAAApwU,KAAAotU,YAAAtP,EAAAroE,EAAAz1P,KAAAotU,UAAA,CAGA,IAAA1tU,EAAAsoU,EACAvF,EAAAhtE,EAAAgtE,IACA+iB,EAAApV,EAAApwU,KAAAotU,UAAA,GACA9zT,EAAAm8O,EAAAz1P,KAAAotU,UAAA,GAMA,IAAA1tU,KAJA06P,EAAA9gP,EAAAwqT,UACAxqT,EAAAm8O,EAAAz1P,KAAAotU,SAAAj0U,EAAA,GAA2CmgB,IAG3CksU,EACA9lV,KAAA4Z,IACAmpT,EAAA/iU,GAAA,IAIA,IAAAA,KAAA4Z,EAAA,CAKA,GAJA0uT,EAAA1uT,EAAA5Z,GAIA,gBAAAA,GAAA,cAAAA,EAAA,CAEA,GADA+1P,EAAA78L,WAA2B68L,EAAA78L,SAAA5gE,OAAA,GAC3BgwU,IAAAwd,EAAA9lV,GAAkC,SAGlC,IAAA+iU,EAAAgjB,WAAAztV,QACAyqU,EAAA1tG,YAAA0tG,EAAAgjB,WAAA,IAIA,aAAA/lV,GAAA,aAAA+iU,EAAAvtG,QAAA,CAGAutG,EAAAijB,OAAA1d,EAEA,IAAA2d,EAAA7nB,EAAAkK,GAAA,GAAA9sM,OAAA8sM,GACA4d,GAAAnjB,EAAAkjB,KACAljB,EAAA/pU,MAAAitV,QAEK,iBAAAjmV,GAAAw9U,GAAAza,EAAAvtG,UAAA4oG,EAAA2E,EAAA3kN,WAAA,CAELwnO,OAAAjmV,SAAAirB,cAAA,OACAg7T,GAAAxnO,UAAA,QAAAkqN,EAAA,SACA,IAAA+U,EAAAuI,GAAA5wH,WACA,MAAA+tG,EAAA/tG,WACA+tG,EAAA1tG,YAAA0tG,EAAA/tG,YAEA,MAAAqoH,EAAAroH,WACA+tG,EAAA5tG,YAAAkoH,EAAAroH,iBAEK,GAKLszG,IAAAwd,EAAA9lV,GAIA,IACA+iU,EAAA/iU,GAAAsoU,EACO,MAAAp9T,QAQP,SAAAg7U,GAAAnjB,EAAAojB,GACA,OAAApjB,EAAAqjB,YACA,WAAArjB,EAAAvtG,SACA6wH,GAAAtjB,EAAAojB,IACAG,GAAAvjB,EAAAojB,IAIA,SAAAE,GAAAtjB,EAAAojB,GAGA,IAAAI,GAAA,EAGA,IAAOA,EAAA5mV,SAAA6mV,gBAAAzjB,EAA+C,MAAA73T,KACtD,OAAAq7U,GAAAxjB,EAAA/pU,QAAAmtV,EAGA,SAAAG,GAAAvjB,EAAA/vE,GACA,IAAAh6P,EAAA+pU,EAAA/pU,MACA4qV,EAAA7gB,EAAA0jB,YACA,GAAA/rF,EAAAkpF,GAAA,CACA,GAAAA,EAAA7vM,OACA,OAAA23D,EAAA1yM,KAAA0yM,EAAAsnD,GAEA,GAAA4wF,EAAAxkV,KACA,OAAApG,EAAAoG,SAAA4zP,EAAA5zP,OAGA,OAAApG,IAAAg6P,EAGA,IAAA06E,GAAA,CACA7pS,OAAAgiT,GACAvkU,OAAAukU,IAKAa,GAAAl4N,EAAA,SAAAtQ,GACA,IAAAp3C,EAAA,GACA6/Q,EAAA,gBACAC,EAAA,QAOA,OANA1oO,EAAA16G,MAAAmjV,GAAA/mV,QAAA,SAAAg6D,GACA,GAAAA,EAAA,CACA,IAAA1U,EAAA0U,EAAAp2D,MAAAojV,GACA1hS,EAAA5sD,OAAA,IAAAwuE,EAAA5hB,EAAA,GAAA9lD,QAAA8lD,EAAA,GAAA9lD,WAGA0nE,IAIA,SAAA+/Q,GAAAvmV,GACA,IAAAhL,EAAAwxV,GAAAxmV,EAAAhL,OAGA,OAAAgL,EAAAymV,YACAttV,EAAA6G,EAAAymV,YAAAzxV,GACAA,EAIA,SAAAwxV,GAAAE,GACA,OAAAz0U,MAAAxU,QAAAipV,GACAr0H,EAAAq0H,GAEA,kBAAAA,EACAN,GAAAM,GAEAA,EAOA,SAAAt7E,GAAA3V,EAAAkxF,GACA,IACAC,EADApgR,EAAA,GAGA,GAAAmgR,EAAA,CACA,IAAArK,EAAA7mF,EACA,MAAA6mF,EAAA5mF,kBACA4mF,IAAA5mF,kBAAA28E,OAEAiK,KAAAt8U,OACA4mV,EAAAL,GAAAjK,EAAAt8U,QAEA7G,EAAAqtE,EAAAogR,IAKAA,EAAAL,GAAA9wF,EAAAz1P,QACA7G,EAAAqtE,EAAAogR,GAGA,IAAAr+H,EAAAktC,EACA,MAAAltC,IAAAniJ,OACAmiJ,EAAAvoN,OAAA4mV,EAAAL,GAAAh+H,EAAAvoN,QACA7G,EAAAqtE,EAAAogR,GAGA,OAAApgR,EAKA,IAyBAqgR,GAzBAC,GAAA,MACAC,GAAA,iBACAC,GAAA,SAAAxhT,EAAAziC,EAAArF,GAEA,GAAAopV,GAAA7jK,KAAAlgL,GACAyiC,EAAAxwC,MAAAiyV,YAAAlkV,EAAArF,QACG,GAAAqpV,GAAA9jK,KAAAvlL,GACH8nC,EAAAxwC,MAAAiyV,YAAApoB,EAAA97T,GAAArF,EAAAsB,QAAA+nV,GAAA,qBACG,CACH,IAAAG,EAAAp0U,GAAA/P,GACA,GAAAkP,MAAAxU,QAAAC,GAIA,QAAA8B,EAAA,EAAA0B,EAAAxD,EAAA1F,OAAuCwH,EAAA0B,EAAS1B,IAChDgmC,EAAAxwC,MAAAkyV,GAAAxpV,EAAA8B,QAGAgmC,EAAAxwC,MAAAkyV,GAAAxpV,IAKAypV,GAAA,sBAGAr0U,GAAAo7G,EAAA,SAAAtwE,GAGA,GAFAipS,OAAAxnV,SAAAirB,cAAA,OAAAt1B,MACA4oD,EAAA8gR,EAAA9gR,GACA,WAAAA,QAAAipS,GACA,OAAAjpS,EAGA,IADA,IAAAwpS,EAAAxpS,EAAA12C,OAAA,GAAAmtB,cAAAupB,EAAAjqB,MAAA,GACAn0B,EAAA,EAAiBA,EAAA2nV,GAAAnvV,OAAwBwH,IAAA,CACzC,IAAAuD,EAAAokV,GAAA3nV,GAAA4nV,EACA,GAAArkV,KAAA8jV,GACA,OAAA9jV,KAKA,SAAAozT,GAAAia,EAAA36E,GACA,IAAAz1P,EAAAy1P,EAAAz1P,KACAwqM,EAAA4lI,EAAApwU,KAEA,KAAA89T,EAAA99T,EAAAymV,cAAA3oB,EAAA99T,EAAAhL,QACA8oU,EAAAtzH,EAAAi8I,cAAA3oB,EAAAtzH,EAAAx1M,QADA,CAMA,IAAAgzU,EAAAjlU,EACAyiC,EAAAiwN,EAAAgtE,IACA4kB,EAAA78I,EAAAi8I,YACAa,EAAA98I,EAAA+8I,iBAAA/8I,EAAAx1M,OAAA,GAGAwyV,EAAAH,GAAAC,EAEAtyV,EAAAwxV,GAAA/wF,EAAAz1P,KAAAhL,QAAA,GAKAygQ,EAAAz1P,KAAAunV,gBAAAntF,EAAAplQ,EAAA8uU,QACA3qU,EAAA,GAAenE,GACfA,EAEA,IAAA2qP,EAAAyrB,GAAA3V,GAAA,GAEA,IAAA1yP,KAAAykV,EACA1pB,EAAAn+E,EAAA58O,KACAikV,GAAAxhT,EAAAziC,EAAA,IAGA,IAAAA,KAAA48O,EACAqoF,EAAAroF,EAAA58O,GACAilU,IAAAwf,EAAAzkV,IAEAikV,GAAAxhT,EAAAziC,EAAA,MAAAilU,EAAA,GAAAA,IAKA,IAAAhzU,GAAA,CACAuuC,OAAA4yR,GACAn1S,OAAAm1S,IAKAsxB,GAAA,MAMA,SAAAC,GAAAliT,EAAA6+S,GAEA,GAAAA,QAAAvlV,QAKA,GAAA0mC,EAAAmiT,UACAtD,EAAAxkT,QAAA,QACAwkT,EAAAnhV,MAAAukV,IAAAnoV,QAAA,SAAApC,GAAoD,OAAAsoC,EAAAmiT,UAAA31T,IAAA90B,KAEpDsoC,EAAAmiT,UAAA31T,IAAAqyT,OAEG,CACH,IAAArc,EAAA,KAAAxiS,EAAA0yF,aAAA,kBACA8vM,EAAAnoS,QAAA,IAAAwkT,EAAA,QACA7+S,EAAAkrQ,aAAA,SAAAs3B,EAAAqc,GAAAvlV,SASA,SAAA8oV,GAAApiT,EAAA6+S,GAEA,GAAAA,QAAAvlV,QAKA,GAAA0mC,EAAAmiT,UACAtD,EAAAxkT,QAAA,QACAwkT,EAAAnhV,MAAAukV,IAAAnoV,QAAA,SAAApC,GAAoD,OAAAsoC,EAAAmiT,UAAA1mV,OAAA/D,KAEpDsoC,EAAAmiT,UAAA1mV,OAAAojV,GAEA7+S,EAAAmiT,UAAA3vV,QACAwtC,EAAAwyF,gBAAA,aAEG,CACH,IAAAgwM,EAAA,KAAAxiS,EAAA0yF,aAAA,kBACA2vN,EAAA,IAAAxD,EAAA,IACA,MAAArc,EAAAnoS,QAAAgoT,IAAA,EACA7f,IAAAhpU,QAAA6oV,EAAA,KAEA7f,IAAAlpU,OACAkpU,EACAxiS,EAAAkrQ,aAAA,QAAAs3B,GAEAxiS,EAAAwyF,gBAAA,UAOA,SAAA8vN,GAAAthB,GACA,GAAAA,EAAA,CAIA,qBAAAA,EAAA,CACA,IAAAhgQ,EAAA,GAKA,OAJA,IAAAggQ,EAAAvsB,KACA9gT,EAAAqtE,EAAAuhR,GAAAvhB,EAAAzjU,MAAA,MAEA5J,EAAAqtE,EAAAggQ,GACAhgQ,EACG,wBAAAggQ,EACHuhB,GAAAvhB,QADG,GAKH,IAAAuhB,GAAA75N,EAAA,SAAAnrH,GACA,OACAilV,WAAAjlV,EAAA,SACAklV,aAAAllV,EAAA,YACAmlV,iBAAAnlV,EAAA,gBACAolV,WAAAplV,EAAA,SACAqlV,aAAArlV,EAAA,YACAslV,iBAAAtlV,EAAA,mBAIAulV,GAAAjtF,IAAAgmE,GACAknB,GAAA,aACAC,GAAA,YAGAC,GAAA,aACAC,GAAA,gBACAC,GAAA,YACAC,GAAA,eACAN,UAEAvrV,IAAAqC,OAAAypV,sBACA9rV,IAAAqC,OAAA0pV,wBAEAL,GAAA,mBACAC,GAAA,4BAEA3rV,IAAAqC,OAAA2pV,qBACAhsV,IAAAqC,OAAA4pV,uBAEAL,GAAA,kBACAC,GAAA,uBAKA,IAAAzvC,GAAA99C,EACAj8P,OAAAkhD,sBACAlhD,OAAAkhD,sBAAAjjD,KAAA+B,QACAshD,WACA,SAAA7oD,GAA8C,OAAAA,KAE9C,SAAAoxV,GAAApxV,GACAshT,GAAA,WACAA,GAAAthT,KAIA,SAAAqxV,GAAA1jT,EAAA6+S,GACA,IAAA8E,EAAA3jT,EAAA++S,qBAAA/+S,EAAA++S,mBAAA,IACA4E,EAAAtpT,QAAAwkT,GAAA,IACA8E,EAAA/hV,KAAAi9U,GACAqD,GAAAliT,EAAA6+S,IAIA,SAAA+E,GAAA5jT,EAAA6+S,GACA7+S,EAAA++S,oBACAtjV,EAAAukC,EAAA++S,mBAAAF,GAEAuD,GAAApiT,EAAA6+S,GAGA,SAAAgF,GACA7jT,EACA8jT,EACA9+T,GAEA,IAAA4pO,EAAAm1F,GAAA/jT,EAAA8jT,GACA10V,EAAAw/P,EAAAx/P,KACA20Q,EAAAnV,EAAAmV,QACAigF,EAAAp1F,EAAAo1F,UACA,IAAA50V,EAAc,OAAA41B,IACd,IAAA5e,EAAAhX,IAAA2zV,GAAAG,GAAAE,GACAa,EAAA,EACAzrU,EAAA,WACAwnB,EAAAitC,oBAAA7mE,EAAA89U,GACAl/T,KAEAk/T,EAAA,SAAA9+U,GACAA,EAAAE,SAAA06B,KACAikT,GAAAD,GACAxrU,KAIA0iC,WAAA,WACA+oS,EAAAD,GACAxrU,KAEGurP,EAAA,GACH/jO,EAAA8sC,iBAAA1mE,EAAA89U,GAGA,IAAAC,GAAA,yBAEA,SAAAJ,GAAA/jT,EAAA8jT,GACA,IASA10V,EATAg1V,EAAAxqV,OAAAisQ,iBAAA7lO,GAEAqkT,GAAAD,EAAAnB,GAAA,cAAAvlV,MAAA,MACA4mV,GAAAF,EAAAnB,GAAA,iBAAAvlV,MAAA,MACA6mV,EAAAC,GAAAH,EAAAC,GACAG,GAAAL,EAAAjB,GAAA,cAAAzlV,MAAA,MACAgnV,GAAAN,EAAAjB,GAAA,iBAAAzlV,MAAA,MACAinV,EAAAH,GAAAC,EAAAC,GAGA3gF,EAAA,EACAigF,EAAA,EAEAF,IAAAf,GACAwB,EAAA,IACAn1V,EAAA2zV,GACAh/E,EAAAwgF,EACAP,EAAAM,EAAA9xV,QAEGsxV,IAAAd,GACH2B,EAAA,IACAv1V,EAAA4zV,GACAj/E,EAAA4gF,EACAX,EAAAU,EAAAlyV,SAGAuxQ,EAAApuQ,KAAAS,IAAAmuV,EAAAI,GACAv1V,EAAA20Q,EAAA,EACAwgF,EAAAI,EACA5B,GACAC,GACA,KACAgB,EAAA50V,EACAA,IAAA2zV,GACAuB,EAAA9xV,OACAkyV,EAAAlyV,OACA,GAEA,IAAAoyV,EACAx1V,IAAA2zV,IACAoB,GAAA1mK,KAAA2mK,EAAAnB,GAAA,aACA,OACA7zV,OACA20Q,UACAigF,YACAY,gBAIA,SAAAJ,GAAAK,EAAAC,GAEA,MAAAD,EAAAryV,OAAAsyV,EAAAtyV,OACAqyV,IAAAlsS,OAAAksS,GAGA,OAAAlvV,KAAAS,IAAAuB,MAAA,KAAAmtV,EAAAzoV,IAAA,SAAAoP,EAAAzR,GACA,OAAA+qV,GAAAt5U,GAAAs5U,GAAAF,EAAA7qV,OAQA,SAAA+qV,GAAA7nU,GACA,WAAAjO,OAAAiO,EAAAiR,MAAA,MAAA30B,QAAA,UAKA,SAAA29T,GAAAlnE,EAAA+0F,GACA,IAAAhlT,EAAAiwN,EAAAgtE,IAGAroE,EAAA50N,EAAA68S,YACA78S,EAAA68S,SAAAoI,WAAA,EACAjlT,EAAA68S,YAGA,IAAAriV,EAAA8nV,GAAAryF,EAAAz1P,KAAA8/U,YACA,IAAAhiB,EAAA99T,KAKAo6P,EAAA50N,EAAAklT,WAAA,IAAAllT,EAAA4Y,SAAA,CAIA,IAAA67P,EAAAj6S,EAAAi6S,IACArlT,EAAAoL,EAAApL,KACAozV,EAAAhoV,EAAAgoV,WACAC,EAAAjoV,EAAAioV,aACAC,EAAAloV,EAAAkoV,iBACAyC,EAAA3qV,EAAA2qV,YACAC,EAAA5qV,EAAA4qV,cACAC,EAAA7qV,EAAA6qV,kBACAxrF,EAAAr/P,EAAAq/P,YACAs9D,EAAA38T,EAAA28T,MACAmuB,EAAA9qV,EAAA8qV,WACAC,EAAA/qV,EAAA+qV,eACAC,EAAAhrV,EAAAgrV,aACAC,EAAAjrV,EAAAirV,OACAC,EAAAlrV,EAAAkrV,YACAC,EAAAnrV,EAAAmrV,gBACA56T,EAAAvwB,EAAAuwB,SAMApY,EAAA+3T,GACAkb,EAAAlb,GAAAr7E,OACA,MAAAu2F,KAAAhlR,OACAjuD,EAAAizU,EAAAjzU,QACAizU,IAAAhlR,OAGA,IAAAilR,GAAAlzU,EAAAm4T,aAAA76E,EAAAutE,aAEA,IAAAqoB,GAAAJ,GAAA,KAAAA,EAAA,CAIA,IAAAK,EAAAD,GAAAV,EACAA,EACA3C,EACAzvF,EAAA8yF,GAAAR,EACAA,EACA3C,EACAqD,EAAAF,GAAAT,EACAA,EACA3C,EAEAuD,EAAAH,GACAL,GACA3rF,EACAosF,EAAAJ,GACA,oBAAAJ,IACAtuB,EACA+uB,EAAAL,GACAH,GACAJ,EACAa,EAAAN,GACAF,GACAJ,EAEAa,EAAAxgJ,EACA/sM,EAAAkyB,GACAA,EAAAosS,MACApsS,GAGM,EAIN,IAAAs7T,GAAA,IAAA5xC,IAAAonB,GACAyqB,EAAAC,GAAAN,GAEAjhU,EAAAgb,EAAAklT,SAAAliQ,EAAA,WACAqjQ,IACAzC,GAAA5jT,EAAA+lT,GACAnC,GAAA5jT,EAAA+yN,IAEA/tO,EAAAigU,WACAoB,GACAzC,GAAA5jT,EAAA8lT,GAEAK,KAAAnmT,IAEAkmT,KAAAlmT,GAEAA,EAAAklT,SAAA,OAGAj1F,EAAAz1P,KAAA2wG,MAEAq5N,GAAAv0E,EAAA,oBACA,IAAArvL,EAAA5gC,EAAA+iL,WACAyjI,EAAA5lR,KAAA6lR,UAAA7lR,EAAA6lR,SAAAx2F,EAAA/1P,KACAssV,GACAA,EAAArrH,MAAA80B,EAAA90B,KACAqrH,EAAAvpB,IAAA4f,UAEA2J,EAAAvpB,IAAA4f,WAEAoJ,KAAAjmT,EAAAhb,KAKAghU,KAAAhmT,GACAqmT,IACA3C,GAAA1jT,EAAA8lT,GACApC,GAAA1jT,EAAA+yN,GACA0wF,GAAA,WACAG,GAAA5jT,EAAA8lT,GACA9gU,EAAAigU,YACAvB,GAAA1jT,EAAA+lT,GACAO,IACAI,GAAAN,GACAlrS,WAAAl2B,EAAAohU,GAEAvC,GAAA7jT,EAAA5wC,EAAA41B,QAOAirO,EAAAz1P,KAAA2wG,OACA65O,OACAiB,KAAAjmT,EAAAhb,IAGAqhU,GAAAC,GACAthU,MAIA,SAAA2hU,GAAA12F,EAAA4qF,GACA,IAAA76S,EAAAiwN,EAAAgtE,IAGAroE,EAAA50N,EAAAklT,YACAllT,EAAAklT,SAAAD,WAAA,EACAjlT,EAAAklT,YAGA,IAAA1qV,EAAA8nV,GAAAryF,EAAAz1P,KAAA8/U,YACA,GAAAhiB,EAAA99T,IAAA,IAAAwlC,EAAA4Y,SACA,OAAAiiS,IAIA,IAAAjmF,EAAA50N,EAAA68S,UAAA,CAIA,IAAApoC,EAAAj6S,EAAAi6S,IACArlT,EAAAoL,EAAApL,KACAuzV,EAAAnoV,EAAAmoV,WACAC,EAAApoV,EAAAooV,aACAC,EAAAroV,EAAAqoV,iBACA+D,EAAApsV,EAAAosV,YACAD,EAAAnsV,EAAAmsV,MACAE,EAAArsV,EAAAqsV,WACAC,EAAAtsV,EAAAssV,eACAC,EAAAvsV,EAAAusV,WACAh8T,EAAAvwB,EAAAuwB,SAEAs7T,GAAA,IAAA5xC,IAAAonB,GACAyqB,EAAAC,GAAAI,GAEAK,EAAAphJ,EACA/sM,EAAAkyB,GACAA,EAAA47T,MACA57T,GAGM,EAIN,IAAA/F,EAAAgb,EAAA68S,SAAA75P,EAAA,WACAhjD,EAAA+iL,YAAA/iL,EAAA+iL,WAAA0jI,WACAzmT,EAAA+iL,WAAA0jI,SAAAx2F,EAAA/1P,KAAA,MAEAmsV,IACAzC,GAAA5jT,EAAA4iT,GACAgB,GAAA5jT,EAAA6iT,IAEA79T,EAAAigU,WACAoB,GACAzC,GAAA5jT,EAAA2iT,GAEAmE,KAAA9mT,KAEA66S,IACAgM,KAAA7mT,IAEAA,EAAA68S,SAAA,OAGAkK,EACAA,EAAAE,GAEAA,IAGA,SAAAA,IAEAjiU,EAAAigU,aAIAh1F,EAAAz1P,KAAA2wG,MAAAnrE,EAAA+iL,cACA/iL,EAAA+iL,WAAA0jI,WAAAzmT,EAAA+iL,WAAA0jI,SAAA,KAA6Dx2F,EAAA,KAAAA,GAE7D22F,KAAA5mT,GACAqmT,IACA3C,GAAA1jT,EAAA2iT,GACAe,GAAA1jT,EAAA6iT,GACAY,GAAA,WACAG,GAAA5jT,EAAA2iT,GACA39T,EAAAigU,YACAvB,GAAA1jT,EAAA4iT,GACA0D,IACAI,GAAAM,GACA9rS,WAAAl2B,EAAAgiU,GAEAnD,GAAA7jT,EAAA5wC,EAAA41B,QAMA2hU,KAAA3mT,EAAAhb,GACAqhU,GAAAC,GACAthU,MAsBA,SAAA0hU,GAAAxuV,GACA,wBAAAA,IAAA2Q,MAAA3Q,GASA,SAAAquV,GAAAl0V,GACA,GAAAimU,EAAAjmU,GACA,SAEA,IAAA60V,EAAA70V,EAAAqI,IACA,OAAAk6P,EAAAsyF,GAEAX,GACA95U,MAAAxU,QAAAivV,GACAA,EAAA,GACAA,IAGA70V,EAAA23H,SAAA33H,EAAAG,QAAA,EAIA,SAAA20V,GAAAx4F,EAAAsB,IACA,IAAAA,EAAAz1P,KAAA2wG,MACAgsN,GAAAlnE,GAIA,IAAAqqF,GAAAzkF,EAAA,CACA93N,OAAAopT,GACA5M,SAAA4M,GACA1rV,OAAA,SAAAw0P,EAAA4qF,IAEA,IAAA5qF,EAAAz1P,KAAA2wG,KACAw7O,GAAA12F,EAAA4qF,GAEAA,MAGC,GAEDuM,GAAA,CACAn1G,GACAitG,GACAnoN,GACA6wM,GACAp4U,GACA8qV,IAOAj+T,GAAA+qU,GAAAzuS,OAAAslS,IAEAoJ,GAAAnO,GAAA,CAAiCb,WAAAh8T,aAQjCw/S,IAEAhiU,SAAAizE,iBAAA,6BACA,IAAA9sC,EAAAnmC,SAAA6mV,cACA1gT,KAAAsnT,QACAjhV,GAAA25B,EAAA,WAKA,IAAAunT,GAAA,CACAnpB,SAAA,SAAAp+R,EAAAiyP,EAAAhiC,EAAA26E,GACA,WAAA36E,EAAA90B,KAEAyvG,EAAA3N,MAAA2N,EAAA3N,IAAAuqB,UACAhjB,GAAAv0E,EAAA,uBACAs3F,GAAA5J,iBAAA39S,EAAAiyP,EAAAhiC,KAGAw3F,GAAAznT,EAAAiyP,EAAAhiC,EAAAt9O,SAEAqtB,EAAAwnT,UAAA,GAAAnrV,IAAArN,KAAAgxC,EAAAlhC,QAAAk+K,MACK,aAAAizE,EAAA90B,KAAA28G,GAAA93S,EAAA5wC,SACL4wC,EAAA2gT,YAAA1uD,EAAA6rD,UACA7rD,EAAA6rD,UAAApM,OACA1xS,EAAA8sC,iBAAA,mBAAA46Q,IACA1nT,EAAA8sC,iBAAA,iBAAA66Q,IAKA3nT,EAAA8sC,iBAAA,SAAA66Q,IAEA9rB,KACA77R,EAAAsnT,QAAA,MAMA3J,iBAAA,SAAA39S,EAAAiyP,EAAAhiC,GACA,cAAAA,EAAA90B,IAAA,CACAssH,GAAAznT,EAAAiyP,EAAAhiC,EAAAt9O,SAKA,IAAAi1U,EAAA5nT,EAAAwnT,UACAK,EAAA7nT,EAAAwnT,UAAA,GAAAnrV,IAAArN,KAAAgxC,EAAAlhC,QAAAk+K,IACA,GAAA6qK,EAAAC,KAAA,SAAAprU,EAAA1iB,GAA2C,OAAA2/T,EAAAj9S,EAAAkrU,EAAA5tV,MAAyC,CAGpF,IAAA+tV,EAAA/nT,EAAA67J,SACAo2F,EAAA/+R,MAAA40V,KAAA,SAAA17U,GAA6C,OAAA47U,GAAA57U,EAAAy7U,KAC7C51D,EAAA/+R,QAAA++R,EAAAggD,UAAA+V,GAAA/1D,EAAA/+R,MAAA20V,GACAE,GACA1hV,GAAA25B,EAAA,cAOA,SAAAynT,GAAAznT,EAAAiyP,EAAApiC,GACAo4F,GAAAjoT,EAAAiyP,EAAApiC,IAEA+rE,IAAAE,KACA5gR,WAAA,WACA+sS,GAAAjoT,EAAAiyP,EAAApiC,IACK,GAIL,SAAAo4F,GAAAjoT,EAAAiyP,EAAApiC,GACA,IAAA38P,EAAA++R,EAAA/+R,MACAg1V,EAAAloT,EAAA67J,SACA,IAAAqsJ,GAAAz7U,MAAAxU,QAAA/E,GAAA,CASA,IADA,IAAA68M,EAAA39L,EACApY,EAAA,EAAAC,EAAA+lC,EAAAlhC,QAAAtM,OAAwCwH,EAAAC,EAAOD,IAE/C,GADAoY,EAAA4tB,EAAAlhC,QAAA9E,GACAkuV,EACAn4I,EAAAmqH,EAAAhnU,EAAA8pL,GAAA5qK,KAAA,EACAA,EAAA29L,eACA39L,EAAA29L,iBAGA,GAAA4pH,EAAA38I,GAAA5qK,GAAAlf,GAIA,YAHA8sC,EAAAmoT,gBAAAnuV,IACAgmC,EAAAmoT,cAAAnuV,IAMAkuV,IACAloT,EAAAmoT,eAAA,IAIA,SAAAH,GAAA90V,EAAA4L,GACA,OAAAA,EAAAqzP,MAAA,SAAAz1O,GAAqC,OAAAi9S,EAAAj9S,EAAAxpB,KAGrC,SAAA8pL,GAAA5qK,GACA,iBAAAA,EACAA,EAAA8tU,OACA9tU,EAAAlf,MAGA,SAAAw0V,GAAAtiV,GACAA,EAAAE,OAAAg7U,WAAA,EAGA,SAAAqH,GAAAviV,GAEAA,EAAAE,OAAAg7U,YACAl7U,EAAAE,OAAAg7U,WAAA,EACAj6U,GAAAjB,EAAAE,OAAA,UAGA,SAAAe,GAAA25B,EAAA5wC,GACA,IAAAgW,EAAAvL,SAAAg3U,YAAA,cACAzrU,EAAAgjV,UAAAh5V,GAAA,MACA4wC,EAAAo3F,cAAAhyH,GAMA,SAAAijV,GAAAp4F,GACA,OAAAA,EAAAC,mBAAAD,EAAAz1P,MAAAy1P,EAAAz1P,KAAA8/U,WAEArqF,EADAo4F,GAAAp4F,EAAAC,kBAAA28E,QAIA,IAAA1hO,GAAA,CACAtzG,KAAA,SAAAmoC,EAAA4uN,EAAAqB,GACA,IAAA/8P,EAAA07P,EAAA17P,MAEA+8P,EAAAo4F,GAAAp4F,GACA,IAAAq4F,EAAAr4F,EAAAz1P,MAAAy1P,EAAAz1P,KAAA8/U,WACAiO,EAAAvoT,EAAAwoT,mBACA,SAAAxoT,EAAAxwC,MAAAm/Q,QAAA,GAAA3uO,EAAAxwC,MAAAm/Q,QACAz7Q,GAAAo1V,GACAr4F,EAAAz1P,KAAA2wG,MAAA,EACAgsN,GAAAlnE,EAAA,WACAjwN,EAAAxwC,MAAAm/Q,QAAA45E,KAGAvoT,EAAAxwC,MAAAm/Q,QAAAz7Q,EAAAq1V,EAAA,QAIA/sU,OAAA,SAAAwkB,EAAA4uN,EAAAqB,GACA,IAAA/8P,EAAA07P,EAAA17P,MACA++U,EAAArjF,EAAAqjF,SAGA,IAAA/+U,KAAA++U,EAAA,CACAhiF,EAAAo4F,GAAAp4F,GACA,IAAAq4F,EAAAr4F,EAAAz1P,MAAAy1P,EAAAz1P,KAAA8/U,WACAgO,GACAr4F,EAAAz1P,KAAA2wG,MAAA,EACAj4G,EACAikU,GAAAlnE,EAAA,WACAjwN,EAAAxwC,MAAAm/Q,QAAA3uO,EAAAwoT,qBAGA7B,GAAA12F,EAAA,WACAjwN,EAAAxwC,MAAAm/Q,QAAA,UAIA3uO,EAAAxwC,MAAAm/Q,QAAAz7Q,EAAA8sC,EAAAwoT,mBAAA,SAIA52T,OAAA,SACAoO,EACAiyP,EACAhiC,EACA26E,EACAuS,GAEAA,IACAn9S,EAAAxwC,MAAAm/Q,QAAA3uO,EAAAwoT,sBAKAC,GAAA,CACA71U,MAAA20U,GACAp8O,SAKA21F,GAAA,CACAvjM,KAAAm4H,OACA+vN,OAAA3yF,QACA2hD,IAAA3hD,QACA1zK,KAAAs2C,OACAtmI,KAAAsmI,OACA8sN,WAAA9sN,OACAitN,WAAAjtN,OACA+sN,aAAA/sN,OACAktN,aAAAltN,OACAgtN,iBAAAhtN,OACAmtN,iBAAAntN,OACAyvN,YAAAzvN,OACA2vN,kBAAA3vN,OACA0vN,cAAA1vN,OACA3qG,SAAA,CAAA9b,OAAAymH,OAAA19H,SAKA,SAAA0wV,GAAAz4F,GACA,IAAA04F,EAAA14F,KAAAitE,iBACA,OAAAyrB,KAAAtxS,KAAAv4C,QAAA6sU,SACA+c,GAAA3a,GAAA4a,EAAAv1R,WAEA68L,EAIA,SAAA24F,GAAAxqF,GACA,IAAA5jQ,EAAA,GACAsE,EAAAs/P,EAAArJ,SAEA,QAAA76P,KAAA4E,EAAA+iU,UACArnU,EAAAN,GAAAkkQ,EAAAlkQ,GAIA,IAAA83R,EAAAlzR,EAAAmuU,iBACA,QAAA1M,KAAAvuC,EACAx3R,EAAA0+T,EAAAqH,IAAAvuC,EAAAuuC,GAEA,OAAA/lU,EAGA,SAAA8E,GAAA0Q,EAAA64U,GACA,oBAAAprK,KAAAorK,EAAA1tH,KACA,OAAAnrN,EAAA,cACA8D,MAAA+0U,EAAA3rB,iBAAA2E,YAKA,SAAAinB,GAAA74F,GACA,MAAAA,IAAArvL,OACA,GAAAqvL,EAAAz1P,KAAA8/U,WACA,SAKA,SAAAyO,GAAA1nU,EAAA2nU,GACA,OAAAA,EAAA9uV,MAAAmnB,EAAAnnB,KAAA8uV,EAAA7tH,MAAA95M,EAAA85M,IAGA,IAAA8tH,GAAA,SAAAvxV,GAAkC,OAAAA,EAAAyjO,KAAA0iG,GAAAnmU,IAElCwxV,GAAA,SAAAz9U,GAAqC,eAAAA,EAAAlO,MAErC4rV,GAAA,CACA5rV,KAAA,aACAuW,MAAAgtL,GACA6qI,UAAA,EAEAxpR,OAAA,SAAAnyC,GACA,IAAAijP,EAAAhkQ,KAEAmkE,EAAAnkE,KAAA+kQ,OAAAtF,QACA,GAAAt7L,IAKAA,IAAAtc,OAAAmyS,IAEA71R,EAAA5gE,QAAA,CAKQ,EAQR,IAAA4sF,EAAAnwF,KAAAmwF,KAGQ,EASR,IAAAypQ,EAAAz1R,EAAA,GAIA,GAAA01R,GAAA75V,KAAAogQ,QACA,OAAAw5F,EAKA,IAAAxnU,EAAAqnU,GAAAG,GAEA,IAAAxnU,EACA,OAAAwnU,EAGA,GAAA55V,KAAAm6V,SACA,OAAA9pV,GAAA0Q,EAAA64U,GAMA,IAAA3tU,EAAA,gBAAAjsB,KAAA,SACAoyB,EAAAnnB,IAAA,MAAAmnB,EAAAnnB,IACAmnB,EAAAo8S,UACAviT,EAAA,UACAA,EAAAmG,EAAA85M,IACA/jL,EAAA/1B,EAAAnnB,KACA,IAAAw7H,OAAAr0G,EAAAnnB,KAAAmgC,QAAAnf,GAAAmG,EAAAnnB,IAAAghB,EAAAmG,EAAAnnB,IACAmnB,EAAAnnB,IAEA,IAAAM,GAAA6mB,EAAA7mB,OAAA6mB,EAAA7mB,KAAA,KAA8C8/U,WAAAsO,GAAA35V,MAC9Co6V,EAAAp6V,KAAA49U,OACAmc,EAAAN,GAAAW,GAQA,GAJAhoU,EAAA7mB,KAAAumU,YAAA1/S,EAAA7mB,KAAAumU,WAAA+mB,KAAAoB,MACA7nU,EAAA7mB,KAAA2wG,MAAA,GAIA69O,GACAA,EAAAxuV,OACAuuV,GAAA1nU,EAAA2nU,KACAnrB,GAAAmrB,MAEAA,EAAA94F,oBAAA84F,EAAA94F,kBAAA28E,OAAApP,WACA,CAGA,IAAAz4H,EAAAgkJ,EAAAxuV,KAAA8/U,WAAA3mV,EAAA,GAAwD6G,GAExD,cAAA4kF,EAOA,OALAnwF,KAAAm6V,UAAA,EACA5kB,GAAAx/H,EAAA,wBACAiuD,EAAAm2F,UAAA,EACAn2F,EAAA66E,iBAEAxuU,GAAA0Q,EAAA64U,GACO,cAAAzpQ,EAAA,CACP,GAAAy+O,GAAAx8S,GACA,OAAAgoU,EAEA,IAAAC,EACArC,EAAA,WAAwCqC,KACxC9kB,GAAAhqU,EAAA,aAAAysV,GACAziB,GAAAhqU,EAAA,iBAAAysV,GACAziB,GAAAx/H,EAAA,sBAAA2hJ,GAAgE2C,EAAA3C,KAIhE,OAAAkC,KAMA/0U,GAAAngB,EAAA,CACAwnO,IAAAzlG,OACA6zN,UAAA7zN,QACCorE,WAEDhtL,GAAAsrE,KAEA,IAAAoqQ,GAAA,CACA11U,SAEA21U,YAAA,WACA,IAAAx2F,EAAAhkQ,KAEAusB,EAAAvsB,KAAA29E,QACA39E,KAAA29E,QAAA,SAAAqjL,EAAAq6E,GACA,IAAA8E,EAAAT,GAAA17E,GAEAA,EAAAo8E,UACAp8E,EAAA45E,OACA55E,EAAAy2F,MACA,GACA,GAEAz2F,EAAA45E,OAAA55E,EAAAy2F,KACAta,IACA5zT,EAAAxsB,KAAAikQ,EAAAhD,EAAAq6E,KAIAnoR,OAAA,SAAAnyC,GAQA,IAPA,IAAAmrN,EAAAlsO,KAAAksO,KAAAlsO,KAAAogQ,OAAA70P,KAAA2gO,KAAA,OACA9+N,EAAArE,OAAA+lC,OAAA,MACA4rT,EAAA16V,KAAA06V,aAAA16V,KAAAmkE,SACAw2R,EAAA36V,KAAA+kQ,OAAAtF,SAAA,GACAt7L,EAAAnkE,KAAAmkE,SAAA,GACAy2R,EAAAjB,GAAA35V,MAEA+K,EAAA,EAAmBA,EAAA4vV,EAAAp3V,OAAwBwH,IAAA,CAC3C,IAAAtC,EAAAkyV,EAAA5vV,GACA,GAAAtC,EAAAyjO,IACA,SAAAzjO,EAAAwC,KAAA,IAAAw7H,OAAAh+H,EAAAwC,KAAAmgC,QAAA,WACA+4B,EAAAxxD,KAAAlK,GACA2E,EAAA3E,EAAAwC,KAAAxC,GACWA,EAAA8C,OAAA9C,EAAA8C,KAAA,KAAuB8/U,WAAAuP,QASlC,GAAAF,EAAA,CAGA,IAFA,IAAAD,EAAA,GACAptV,EAAA,GACAoyU,EAAA,EAAuBA,EAAAib,EAAAn3V,OAA2Bk8U,IAAA,CAClD,IAAAob,EAAAH,EAAAjb,GACAob,EAAAtvV,KAAA8/U,WAAAuP,EACAC,EAAAtvV,KAAAu1F,IAAA+5P,EAAA7sB,IAAAxgE,wBACApgQ,EAAAytV,EAAA5vV,KACAwvV,EAAA9nV,KAAAkoV,GAEAxtV,EAAAsF,KAAAkoV,GAGA76V,KAAAy6V,KAAA15U,EAAAmrN,EAAA,KAAAuuH,GACAz6V,KAAAqN,UAGA,OAAA0T,EAAAmrN,EAAA,KAAA/nK,IAGA4rM,QAAA,WACA,IAAA5rM,EAAAnkE,KAAA06V,aACAJ,EAAAt6V,KAAAs6V,YAAAt6V,KAAAsO,MAAA,aACA61D,EAAA5gE,QAAAvD,KAAA86V,QAAA32R,EAAA,GAAA6pQ,IAAAssB,KAMAn2R,EAAAt5D,QAAAkwV,IACA52R,EAAAt5D,QAAAmwV,IACA72R,EAAAt5D,QAAAowV,IAKAj7V,KAAAk7V,QAAAtwV,SAAAi9N,KAAAg+E,aAEA1hP,EAAAt5D,QAAA,SAAApC,GACA,GAAAA,EAAA8C,KAAA4vV,MAAA,CACA,IAAApqT,EAAAtoC,EAAAulU,IACA//S,EAAA8iB,EAAAxwC,MACAk0V,GAAA1jT,EAAAupT,GACArsU,EAAApnB,UAAAonB,EAAAmtU,gBAAAntU,EAAAy5K,mBAAA,GACA32J,EAAA8sC,iBAAAo2Q,GAAAljT,EAAAsqT,QAAA,SAAAtlU,EAAA5f,GACAA,KAAAE,SAAA06B,GAGA56B,IAAA,aAAAq4K,KAAAr4K,EAAAmlV,gBACAvqT,EAAAitC,oBAAAi2Q,GAAAl+T,GACAgb,EAAAsqT,QAAA,KACA1G,GAAA5jT,EAAAupT,WAOAlsV,QAAA,CACA0sV,QAAA,SAAA/pT,EAAAupT,GAEA,IAAAzG,GACA,SAGA,GAAA7zV,KAAAu7V,SACA,OAAAv7V,KAAAu7V,SAOA,IAAAhmV,EAAAw7B,EAAA0kC,YACA1kC,EAAA++S,oBACA/+S,EAAA++S,mBAAAjlV,QAAA,SAAA+kV,GAAsDuD,GAAA59U,EAAAq6U,KAEtDqD,GAAA19U,EAAA+kV,GACA/kV,EAAAhV,MAAAm/Q,QAAA,OACA1/Q,KAAAwpT,IAAAppF,YAAA7qN,GACA,IAAA88L,EAAAyiJ,GAAAv/U,GAEA,OADAvV,KAAAwpT,IAAAlpF,YAAA/qN,GACAvV,KAAAu7V,SAAAlpJ,EAAAsjJ,gBAKA,SAAAoF,GAAAtyV,GAEAA,EAAAulU,IAAAqtB,SACA5yV,EAAAulU,IAAAqtB,UAGA5yV,EAAAulU,IAAAioB,UACAxtV,EAAAulU,IAAAioB,WAIA,SAAA+E,GAAAvyV,GACAA,EAAA8C,KAAA25R,OAAAz8R,EAAAulU,IAAAxgE,wBAGA,SAAAytF,GAAAxyV,GACA,IAAA08R,EAAA18R,EAAA8C,KAAAu1F,IACAokM,EAAAz8R,EAAA8C,KAAA25R,OACAluR,EAAAmuR,EAAA71P,KAAA41P,EAAA51P,KACAr4B,EAAAkuR,EAAA11P,IAAAy1P,EAAAz1P,IACA,GAAAz4B,GAAAC,EAAA,CACAxO,EAAA8C,KAAA4vV,OAAA,EACA,IAAAltU,EAAAxlB,EAAAulU,IAAAztU,MACA0tB,EAAApnB,UAAAonB,EAAAmtU,gBAAA,aAAApkV,EAAA,MAAAC,EAAA,MACAgX,EAAAy5K,mBAAA,MAIA,IAAA8zJ,GAAA,CACAtB,cACAK,oBAMA90F,GAAAzrE,OAAA+xI,eACAtmE,GAAAzrE,OAAA0xI,iBACAjmE,GAAAzrE,OAAA2xI,kBACAlmE,GAAAzrE,OAAA6xI,mBACApmE,GAAAzrE,OAAA4xI,oBAGAlnU,EAAA+gQ,GAAA51P,QAAAiiU,WAAA0nB,IACA90V,EAAA+gQ,GAAA51P,QAAA6wP,WAAA86F,IAGA/1F,GAAAxlQ,UAAAmgV,UAAAx5E,EAAAwxF,GAAAptS,EAGAy6M,GAAAxlQ,UAAAy7U,OAAA,SACA3qS,EACAsqS,GAGA,OADAtqS,KAAA61N,EAAA5wH,GAAAjlG,QAAAzoC,EACAk4U,GAAAxgV,KAAA+wC,EAAAsqS,IAKAz0E,GACA36M,WAAA,WACA+tI,EAAA6mH,UACAA,IACAA,GAAAje,KAAA,OAAAn9B,KAsBG,GAKYv3O,EAAA,uDCxuQf,IAAA2hL,EAA0BhxM,EAAQ,QAElC+jB,EAAkB/jB,EAAQ,QAoB1B4D,EAAAmgB,EAAAle,OAAA,CACAvE,KAAA,iBACA4lH,aAAA,+CACAliG,eAAA,SAAAV,EAAA5I,GACA,OAAAs1L,EAAA7vM,KAAAuiB,YAAAviB,OAEA2uP,cAAA,QACAjmO,eAAA,WACA,IAAA+yJ,EAAAz7K,KAAAmjB,OAAAs4J,YAEA,aAAAA,EAEAz7K,KAAAmjB,OAAAikK,MAAA,IAAApnL,KAAAyF,IAAA,eAGAg2K,GAEA9yJ,wBAAA,WACA,IAAA+yJ,EAAA17K,KAAAmjB,OAAAu4J,qBAEA,aAAAA,EAEA17K,KAAAmjB,OAAAikK,MAAA,IAAApnL,KAAAyF,IAAA,wBAGAi2K,GAEA54J,cAAA,CACA5d,iBAAA,cACAi3G,OAAA,EACAh/E,EAAA,EACAwsJ,iBAAA,EACAwkD,gBAAA,EASA7wN,WAAA,GAGA8pK,OAAA,EAEAq0K,eAAA,IAUAnwP,UAAA,CACAx3C,QAAA,OAOApxD,EAAAC,QAAAF,0BC1GA,IAAAinM,EAAa7qM,EAAQ,QAErBg/E,EAAA6rH,EAAA7rH,iBACAG,EAAA0rH,EAAA1rH,oBACA42P,EAAAlrI,EAAAkrI,eAEAp1U,EAAaX,EAAQ,QAErBkV,EAAelV,EAAQ,QAEvByiB,EAAUziB,EAAQ,QAElB68V,EAAA,IACAC,EAAA,6FACAC,EAAA,sCACAC,EAAA,CACAC,YAAA,EACAC,UAAA,EACAC,YAAA,EACAC,WAAA,GAEAC,EAAA18V,EAAA4N,IAAAuuV,EAAA,SAAArtV,GACA,IAAA6tV,EAAA7tV,EAAA/D,QAAA,mBACA,OAAAsxV,EAAAM,KAAA7tV,IAGA,SAAA8tV,EAAA9tV,GACA,qBAAAA,GAAAgT,EAAAghR,QAAA+5D,QAAA,iBAAA/tV,EAuBA,SAAAguV,EAAA7yN,GACAA,EAAA8yN,WAAA,EACAx7Q,aAAA0oD,EAAA+yN,aACA/yN,EAAA+yN,YAAAvwS,WAAA,WACAw9E,EAAA8yN,WAAA,GACG,KAGH,IAAAE,EAAA,CAMA/nV,UAAA,SAAAyC,GACAA,EAAAy9T,EAAA50U,KAAA49E,IAAAzmE,GACAnX,KAAAoX,QAAA,YAAAD,IAQAulV,SAAA,SAAAvlV,GACAA,EAAAy9T,EAAA50U,KAAA49E,IAAAzmE,GACA,IAAAu/L,EAAAv/L,EAAAwlV,WAAAxlV,EAAA20G,cAEA,GAAA4qF,IAAA12M,KAAA49E,IACA,MAAA84H,GAAA,IAAAA,EAAA/sJ,SAAA,CAEA,GAAA+sJ,IAAA12M,KAAA49E,IACA,OAGA84H,IAAAod,WAIA9zN,KAAAoX,QAAA,WAAAD,IAQAylV,WAAA,SAAAzlV,GAGAA,EAAAy9T,EAAA50U,KAAA49E,IAAAzmE,GAGAA,EAAA0lV,WAAA,EACA78V,KAAA88V,iBAAA,IAAA9kU,KACAh4B,KAAA8zF,QAAAipQ,eAAA/8V,KAAAmX,EAAA,SAGAslV,EAAA/nV,UAAA3U,KAAAC,KAAAmX,GACAslV,EAAAjoV,UAAAzU,KAAAC,KAAAmX,GACAmlV,EAAAt8V,OAQAg9V,UAAA,SAAA7lV,GACAA,EAAAy9T,EAAA50U,KAAA49E,IAAAzmE,GAGAA,EAAA0lV,WAAA,EACA78V,KAAA8zF,QAAAipQ,eAAA/8V,KAAAmX,EAAA,UAIAslV,EAAA/nV,UAAA3U,KAAAC,KAAAmX,GACAmlV,EAAAt8V,OAQAi9V,SAAA,SAAA9lV,GACAA,EAAAy9T,EAAA50U,KAAA49E,IAAAzmE,GAGAA,EAAA0lV,WAAA,EACA78V,KAAA8zF,QAAAipQ,eAAA/8V,KAAAmX,EAAA,OACAslV,EAAA7nV,QAAA7U,KAAAC,KAAAmX,IAUA,IAAA6gB,KAAAh4B,KAAA88V,iBAAApB,GACAe,EAAA73F,MAAA7kQ,KAAAC,KAAAmX,GAGAmlV,EAAAt8V,OAEA87V,YAAA,SAAA3kV,GACAslV,EAAAjoV,UAAAzU,KAAAC,KAAAmX,IAIA6kV,YAAA,SAAA7kV,GAMA+lV,EAAA/lV,IACAslV,EAAA/nV,UAAA3U,KAAAC,KAAAmX,IAGA4kV,UAAA,SAAA5kV,GACAslV,EAAA7nV,QAAA7U,KAAAC,KAAAmX,IAEA8kV,WAAA,SAAA9kV,GAMA+lV,EAAA/lV,IACAslV,EAAAC,SAAA38V,KAAAC,KAAAmX,KAKA,SAAA+lV,EAAA/lV,GACA,IAAAgmV,EAAAhmV,EAAAgmV,YACA,cAAAA,GAAA,UAAAA,EAoBA,SAAAC,EAAA3zN,GAWA,SAAA4zN,EAAAj6V,EAAAqmI,GACA,kBACA,IAAAA,EAAA8yN,UAIA,OAAAn5V,EAAAsF,MAAA+gI,EAAA9gI,YAhBAnJ,EAAA2nB,KAAAy0U,EAAA,SAAAttV,GACAm7H,EAAAumC,UAAA1hK,GAAA9O,EAAAoJ,KAAA6zV,EAAAnuV,GAAAm7H,KAEAjqI,EAAA2nB,KAAA+0U,EAAA,SAAA5tV,GACAm7H,EAAAumC,UAAA1hK,GAAA9O,EAAAoJ,KAAA6zV,EAAAnuV,GAAAm7H,KAEAjqI,EAAA2nB,KAAAw0U,EAAA,SAAArtV,GACAm7H,EAAAumC,UAAA1hK,GAAA+uV,EAAAZ,EAAAnuV,GAAAm7H,KAcA,SAAA6zN,EAAA1/Q,GAqDA,SAAA2/Q,EAAAC,EAAA/zN,GACAjqI,EAAA2nB,KAAAq2U,EAAA,SAAAlvV,GACAuvE,EAAAD,EAAAw+Q,EAAA9tV,GAAAm7H,EAAAumC,UAAA1hK,KACKm7H,GAvDL11H,EAAAhU,KAAAC,MACAA,KAAA49E,MAMA59E,KAAAu8V,WAAA,EAMAv8V,KAAAw8V,YACAx8V,KAAAgwK,UAAA,GACAotL,EAAAp9V,MAEAshB,EAAAm8U,uBAQAF,EAAArB,EAAAl8V,OAcAshB,EAAAo8U,sBACAH,EAAA3B,EAAA57V,MASAu9V,EAAA5B,EAAA37V,OArFAR,EAAA2nB,KAAA,+EAAA7Y,GACAmuV,EAAAnuV,GAAA,SAAA6I,GACAA,EAAAy9T,EAAA50U,KAAA49E,IAAAzmE,GACAnX,KAAAoX,QAAA9I,EAAA6I,MA4FA,IAAAwmV,EAAAL,EAAAr9V,UAEA09V,EAAA7nV,QAAA,WAGA,IAFA,IAAA0nV,EAAA7B,EAAAjyS,OAAAkyS,GAEA7wV,EAAA,EAAiBA,EAAAyyV,EAAAj6V,OAAyBwH,IAAA,CAC1C,IAAAuD,EAAAkvV,EAAAzyV,GACAizE,EAAAh+E,KAAA49E,IAAAw+Q,EAAA9tV,GAAAtO,KAAAgwK,UAAA1hK,MAIAqvV,EAAAC,UAAA,SAAAhrI,GACA5yN,KAAA49E,IAAAr9E,QAAAP,KAAA49E,IAAAr9E,MAAAkwD,OAAAmiK,GAAA,YAGApzN,EAAAoZ,MAAA0kV,EAAAvpV,GACA,IAAAtR,EAAA66V,EACA56V,EAAAC,QAAAF,0BCjSA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAER,IAAAC,EAAgBD,EAAQ,QAExBg/V,EAAqBh/V,EAAQ,QAE7BI,EAAiBJ,EAAQ,QAoBzBD,EAAAO,eAAAK,EAAAmqB,MAAA7qB,EAAA,aACAF,EAAAQ,eAAAI,EAAAmqB,MAAAk0U,EAAA,aACAj/V,EAAAS,kBAAAG,EAAAmqB,MAAA1qB,EAAA,qCCpCA,IAAAO,EAAaX,EAAQ,QAErBY,EAAkBZ,EAAQ,QAE1Bs8I,EAAat8I,EAAQ,QAErB8jB,EAAAw4H,EAAAx4H,UAEAi2M,EAAkB/5N,EAAQ,QAE1B87P,EAAA/hC,EAAA+hC,mBACAkB,EAAAjjC,EAAAijC,0BACAC,EAAAljC,EAAAkjC,oBAoBAp5O,EAAAC,IAaA,SAAAm7U,EAAA94V,GAEA,mBAAAA,EAAA7E,KAAA49V,EAAA/4V,GAAAg5V,EAAAh5V,GAYA,SAAAi5V,EAAAj5V,EAAA07I,GAEA,mBAAA17I,EAAA7E,KAAA+9V,EAAAl5V,EAAA07I,GAAA,CACAosE,MAAA9nN,EAAA+S,MAAAknI,YAIA,SAAA8+M,EAAA/4V,GACA,IAAA0kG,EAAA1kG,EAAA6/I,gBACAnhJ,EAAAy6V,EAAAn5V,EAAA0kG,GACA,OAAAA,EAAAjkG,IAAA,SAAAT,EAAA+S,MAAAsoI,UAAA,CACA+B,OAAA,GACAg8M,sBAAA16V,EAAA06V,uBACG16V,EAGH,SAAAy6V,EAAAn5V,EAAA0kG,GACA,IAQA04C,EACAi8M,EATAC,EAAAC,EAAAv5V,EAAA,UACAw5V,EAAA3iG,EAAAnyJ,GACAhmG,EAAA+6V,EAAAH,EAAAE,GAEA,OAAA96V,IAOAlE,EAAAwK,WAAAw0V,GACAp8M,EAAAs8M,EAAA15V,EAAAw5V,IAEAH,EAAA,SAAAG,EAAAG,EAAA35V,GAAAw5V,EACAp8M,EAAAw8M,EAAA55V,EAAAq5V,IAIAQ,EAAAP,EAAAE,EAAA,CACAp8M,SACAg8M,sBAAAC,KAIA,SAAAH,EAAAl5V,EAAA07I,GACA,IAQAosE,EACAgyI,EATAC,EAAAR,EAAAv5V,EAAA,SACAg6V,EAAAnjG,EAAAn7G,GACAh9I,EAAA+6V,EAAAM,EAAAC,GAEA,GAAAt7V,EACA,OAAAA,EAWA,GAJAg9I,EAAAj7I,IAAA,UAAAT,EAAA+S,MAAAsoI,YACAysE,EAAA,IAGAttN,EAAAwK,WAAAg1V,GACAlyI,EAAA4xI,EAAA15V,EAAAg6V,GAAA,QAIA,YAAAA,EAAA,CACA,IAAAC,EAAAd,EAAAn5V,IAAA6/I,iBACAi6M,EAAAG,EAAAb,sBACAtxI,EAAAttN,EAAA4N,IAAA6xV,EAAA78M,OAAA,SAAA+qE,GACA,OAAAA,EAAA7qE,iBAGAw8M,EAAAE,EACAlyI,EAAA8xI,EAAA55V,EAAA85V,GAAA,GAIA,OAAAD,EAAAE,EAAAC,EAAA,CACAlyI,QACAgyI,yBAIA,SAAAd,EAAAh5V,GACA,IAAA8nN,EAAA9nN,EAAA+S,MAAAknI,WACA27G,EAAAD,EAAA31P,GACA,OACAo9I,OAAA5iJ,EAAA4N,IAAA0/M,EAAA,SAAAxqE,EAAA3kI,GACA,OACA4kI,eAAAq4G,EAAAt4G,EAAA3kI,GACA6kI,SAAAx9I,EAAA+S,MAAAgnI,SAAAuD,GACAA,gBASA,SAAAi8M,EAAAv5V,EAAAmkD,GAEA,OAAAzmC,EAAA1d,GAAAmkD,KAAAzmC,EAAA1d,GAAAmkD,GAAA,IAGA,SAAAs1S,EAAAp8T,EAAAp3B,GACA,QAAAF,EAAA,EAAiBA,EAAAs3B,EAAA9+B,OAAkBwH,IACnC,GAAAs3B,EAAAt3B,GAAAE,QACA,OAAAo3B,EAAAt3B,GAAA9G,MAKA,SAAA46V,EAAAx8T,EAAAp3B,EAAAhH,GAKA,OAJAo+B,EAAA1vB,KAAA,CACA1H,MACAhH,UAEAA,EAGA,SAAA06V,EAAA35V,GACA,IAAAtB,EAAAgf,EAAA1d,GAAAk6V,aACA,aAAAx7V,IAAAgf,EAAA1d,GAAAk6V,aAAAl6V,EAAAuhJ,4BASA,SAAAA,EAAAvhJ,GACA,IAAAggB,EAAAm6U,EAAAn6V,GACA41P,EAAAD,EAAA31P,GACAwB,GAAAwe,EAAAo6U,WAAAp6U,EAAA4xM,aAAA,IAAAlwN,KAAAC,GACA61T,EAAAx3T,EAAA+S,MACA0kT,EAAAD,EAAAxhT,YAIAkgP,EAAAshE,EAAA7iT,QAEA,GAAA8iT,EAAA,GAAAA,EAAA,KACA,SAGA,IAAAj5T,EAAA,EAEA03P,EAAA,KACA13P,EAAAkD,KAAAS,IAAA,EAAAT,KAAAmK,MAAAqqP,EAAA,MAWA,IARA,IAAA54G,EAAAm6K,EAAA,GACAC,EAAA13T,EAAAo8G,YAAAkhC,EAAA,GAAAt9I,EAAAo8G,YAAAkhC,GACA+8M,EAAA34V,KAAAiR,IAAA+kT,EAAAh2T,KAAAwY,IAAA1Y,IACAm2T,EAAAj2T,KAAAiR,IAAA+kT,EAAAh2T,KAAA0Y,IAAA5Y,IACA84V,EAAA,EACA1iC,EAAA,EAGQt6K,GAAAm6K,EAAA,GAA+Bn6K,GAAA9+I,EAAA,CACvC,IAAAlB,EAAA,EACAC,EAAA,EAGAd,EAAAhC,EAAA8B,gBAAAq5P,EAAAt4G,GAAAt9H,EAAAtjB,KAAA,gBAEAY,EAAA,IAAAb,EAAAa,MACAC,EAAA,IAAAd,EAAAc,OAEA+8V,EAAA54V,KAAAS,IAAAm4V,EAAAh9V,EAAA,GACAs6T,EAAAl2T,KAAAS,IAAAy1T,EAAAr6T,EAAA,GAGA,IAAAwjO,EAAAu5H,EAAAD,EACAr5H,EAAA42F,EAAAD,EAEA/iT,MAAAmsN,OAAAjsN,KACAF,MAAAosN,OAAAlsN,KACA,IAAA4C,EAAAhW,KAAAS,IAAA,EAAAT,KAAAmK,MAAAnK,KAAAQ,IAAA6+N,EAAAC,KACA3jM,EAAA3f,EAAA1d,EAAA2e,OACAk5S,EAAAx6R,EAAAw6R,iBACAC,EAAAz6R,EAAAy6R,cAeA,OAXA,MAAAD,GAAA,MAAAC,GAAAp2T,KAAAiR,IAAAklT,EAAAngT,IAAA,GAAAhW,KAAAiR,IAAAmlT,EAAA5hE,IAAA,GAEA2hE,EAAAngT,EACAA,EAAAmgT,GAIAx6R,EAAAy6R,cAAA5hE,EACA74N,EAAAw6R,iBAAAngT,GAGAA,EAGA,SAAAyiV,EAAAn6V,GACA,IAAA0kG,EAAA1kG,EAAA6/I,gBACA,OACAu6M,WAAAp6V,EAAAu6V,UAAAv6V,EAAAu6V,YAAAv6V,EAAAkD,eAAAlD,EAAAkD,eAAA,KACA0uN,YAAAltH,EAAAjkG,IAAA,aACA/D,KAAAgoG,EAAAwqG,WAIA,SAAA0qJ,EAAA55V,EAAAw6V,EAAAC,GACA,IAAA7kG,EAAAD,EAAA31P,GACAw3T,EAAAx3T,EAAA+S,MACA0kT,EAAAD,EAAAxhT,YACA0uF,EAAA1kG,EAAA6/I,gBACAnhJ,EAAA,GAEAF,EAAAkD,KAAAS,KAAAq4V,GAAA,QACAE,EAAAjjC,EAAA,GACAvhE,EAAAshE,EAAA7iT,QAKA,IAAA+lV,GAAAl8V,EAAA,GAAA03P,EAAA13P,EAAA,IACAk8V,EAAAh5V,KAAAwT,MAAAxT,KAAA0gE,KAAAs4R,EAAAl8V,OAQA,IAAAm8V,EAAA7jG,EAAA92P,GACA46V,EAAAl2P,EAAAjkG,IAAA,iBAAAk6V,EACAE,EAAAn2P,EAAAjkG,IAAA,iBAAAk6V,EAEAC,GAAAF,IAAAjjC,EAAA,IACAqjC,EAAArjC,EAAA,IAMA,IAFA,IAAAn6K,EAAAo9M,EAEQp9M,GAAAm6K,EAAA,GAA+Bn6K,GAAA9+I,EACvCs8V,EAAAx9M,GAOA,SAAAw9M,EAAAC,GACAr8V,EAAAiP,KAAA8sV,EAAAM,EAAA,CACAx9M,eAAAq4G,EAAAmlG,GACAv9M,SAAAg6K,EAAAz9K,SAAAghN,GACAz9M,UAAAy9M,IAIA,OAZAF,GAAAv9M,IAAAm6K,EAAA,IACAqjC,EAAArjC,EAAA,IAWA/4T,EAKA,SAAAg7V,EAAA15V,EAAAw6V,EAAAC,GACA,IAAAjjC,EAAAx3T,EAAA+S,MACA6iP,EAAAD,EAAA31P,GACAtB,EAAA,GAYA,OAXAlE,EAAA2nB,KAAAq1S,EAAAv9K,WAAA,SAAAqD,GACA,IAAAE,EAAAg6K,EAAAz9K,SAAAuD,GAEAk9M,EAAAl9M,EAAAE,IACA9+I,EAAAiP,KAAA8sV,EAAAn9M,EAAA,CACAC,eAAAq4G,EAAAt4G,GACAE,WACAF,gBAIA5+I,EAGAf,EAAAm7V,mBACAn7V,EAAAs7V,kBACAt7V,EAAA4jJ,+DC1WA,IAAAz3G,EAAajwC,EAAQ,QACrBmhW,EAAiBnhW,EAAQ,QACzBohW,EAAqBphW,EAAQ,QAC7BqhW,EAAA,GAGArhW,EAAQ,OAARA,CAAiBqhW,EAAqBrhW,EAAQ,OAARA,CAAgB,uBAA4B,OAAAmB,OAElF0C,EAAAC,QAAA,SAAAw9V,EAAAC,EAAAr8V,GACAo8V,EAAAlgW,UAAA6uC,EAAAoxT,EAAA,CAAqDn8V,KAAAi8V,EAAA,EAAAj8V,KACrDk8V,EAAAE,EAAAC,EAAA,oCCSA,IAAA/5D,EAAcxnS,EAAQ,QAEtBwhW,EAAAh6D,EAAAg6D,qBACAC,EAAAj6D,EAAAi6D,kBA4CA,SAAAC,EAAAxqJ,EAAAgoD,GACA,IAAAyiG,EAAA,GAkBA,OAjBAziG,EAAAnhP,KAAAm5L,GAAAx4K,IAAA,SAAA5f,GACA6iV,EAAA7tV,KAAA,CACAgnL,IAAA,IACAh8K,UAEG4O,OAAA,SAAAypL,EAAAC,GACHuqJ,EAAA7tV,KAAA,CACAgnL,IAAA,IACAh8K,IAAAs4L,EACA75D,KAAA45D,MAEGxpM,OAAA,SAAAmR,GACH6iV,EAAA7tV,KAAA,CACAgnL,IAAA,IACAh8K,UAEG83L,UACH+qJ,EAGA,SAAA/9V,EAAAszM,EAAAgoD,EAAA0iG,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAkBA,IAjBA,IAAAlkV,EAAA2jV,EAAAxqJ,EAAAgoD,GAMAgjG,EAAA,GACAC,EAAA,GAEAC,EAAA,GACAC,EAAA,GACAvpS,EAAA,GACAwpS,EAAA,GACAC,EAAA,GACAC,EAAAhB,EAAAM,EAAA5iG,EAAA8iG,GACAS,EAAAjB,EAAAO,EAAA7qJ,EAAA+qJ,GAEA/1V,EAAA,EAAiBA,EAAA6R,EAAArZ,OAAiBwH,IAAA,CAClC,IAAAw2V,EAAA3kV,EAAA7R,GACAy2V,GAAA,EAGA,OAAAD,EAAA5nK,KACA,QACA,IAAA8nK,EAAA1rJ,EAAAtgC,cAAA8rL,EAAA5jV,KACA+jV,EAAA3jG,EAAAtoF,cAAA8rL,EAAAnlN,OAEAxiI,MAAA6nV,EAAA,KAAA7nV,MAAA6nV,EAAA,OACAA,EAAAC,EAAAxiU,SAGA6hU,EAAApuV,KAAA8uV,GACAT,EAAAruV,KAAA+uV,GACAT,EAAAtuV,KAAA8tV,EAAAc,EAAA5jV,MACAujV,EAAAvuV,KAAA+tV,EAAAa,EAAAnlN,OACAglN,EAAAzuV,KAAAorP,EAAAlxE,YAAA00K,EAAAnlN,OACA,MAEA,QACA,IAAAz+H,EAAA4jV,EAAA5jV,IACAojV,EAAApuV,KAAAguV,EAAAp7V,YAAA,CAAAw4P,EAAAt4P,IAAA47V,EAAAM,iBAAA,GAAAhkV,GAAAogP,EAAAt4P,IAAA47V,EAAAM,iBAAA,GAAAhkV,MACAqjV,EAAAruV,KAAAorP,EAAAtoF,cAAA93J,GAAAuhB,SACA+hU,EAAAtuV,KAAA2tV,EAAAe,EAAAV,EAAA5iG,EAAApgP,IACAujV,EAAAvuV,KAAA+tV,EAAA/iV,IACAyjV,EAAAzuV,KAAAorP,EAAAlxE,YAAAlvK,IACA,MAEA,QACAA,EAAA4jV,EAAA5jV,IAAA,IACAikV,EAAA7rJ,EAAAlpB,YAAAlvK,GAGAikV,IAAAjkV,GACAojV,EAAApuV,KAAAojM,EAAAtgC,cAAA93J,IACAqjV,EAAAruV,KAAAiuV,EAAAr7V,YAAA,CAAAwwM,EAAAtwM,IAAA67V,EAAAK,iBAAA,GAAAhkV,GAAAo4L,EAAAtwM,IAAA67V,EAAAK,iBAAA,GAAAhkV,MACAsjV,EAAAtuV,KAAA8tV,EAAA9iV,IACAujV,EAAAvuV,KAAA2tV,EAAAgB,EAAAV,EAAA7qJ,EAAAp4L,IACAyjV,EAAAzuV,KAAAivV,IAEAJ,GAAA,EAMAA,IACA7pS,EAAAhlD,KAAA4uV,GACAJ,EAAAxuV,KAAAwuV,EAAA59V,SAMA49V,EAAAlrU,KAAA,SAAA1tB,EAAAC,GACA,OAAA44V,EAAA74V,GAAA64V,EAAA54V,KAEA,IAAAq5V,EAAA,GACAC,EAAA,GACAC,EAAA,GACAC,EAAA,GACAC,EAAA,GAEA,IAAAl3V,EAAA,EAAiBA,EAAAo2V,EAAA59V,OAA0BwH,IAAA,CAC3C4S,EAAAwjV,EAAAp2V,GACA82V,EAAA92V,GAAAg2V,EAAApjV,GACAmkV,EAAA/2V,GAAAi2V,EAAArjV,GACAokV,EAAAh3V,GAAAk2V,EAAAtjV,GACAqkV,EAAAj3V,GAAAm2V,EAAAvjV,GACAskV,EAAAl3V,GAAA4sD,EAAAh6C,GAGA,OACAu0D,QAAA2vR,EACA99V,KAAA+9V,EACAI,iBAAAH,EACAI,cAAAH,EACArqS,OAAAsqS,GAIAv/V,EAAAC,QAAAF,0BC1KA,IAAAye,EAAgBriB,EAAQ,QAoBxBqiB,EAAAC,yBAAA,qBAAAgC,GAEA,OAAAA,EAAAq0H,aAAAr0H,EAAA8tR,OAAA9tR,EAAA8tR,OAAA1tS,OAAA,EAAA4f,EAAAg1H,YAAA,KAAAh1H,EAAAi/U,WAAA,iDCtBA,IAAAxjW,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErB6jJ,EAAY7jJ,EAAQ,QAEpBs8I,EAAat8I,EAAQ,QAErBipB,EAAAqzH,EAAArzH,gBAoBA8zQ,EAAAh9R,EAAAu3I,qBAAA,CACAh2I,KAAA,eACA4lH,aAAA,WACA9iG,WAAA,CACA9iB,KAAA,MAQAikF,YAAA,GAEAlhE,KAAA,SAAAC,EAAAC,EAAA7I,GACAva,KAAA4jB,qBAAAT,EAAA5I,GACA4I,EAAA29L,SAAA39L,EAAA29L,UAAA,IAEAr8L,YAAA,SAAAtB,GACAy4Q,EAAAlyG,UAAA1pL,KAAA,cAAAmjB,IAEAi0H,cAAA,WACAp3I,KAAAm+L,YAAAn+L,KAAAua,SAEA,IAAAi6P,EAAAx0Q,KAAA+gG,MAEA,GAAAyzK,EAAA,eAAAx0Q,KAAAyF,IAAA,iBAGA,IAFA,IAAA48V,GAAA,EAEAt3V,EAAA,EAAqBA,EAAAypQ,EAAAjxQ,OAAuBwH,IAAA,CAC5C,IAAAuD,EAAAkmQ,EAAAzpQ,GAAAtF,IAAA,QAEA,GAAAzF,KAAAuoN,WAAAj6M,GAAA,CAEAtO,KAAAsiW,OAAAh0V,GACA+zV,GAAA,EACA,QAKAA,GAAAriW,KAAAsiW,OAAA9tF,EAAA,GAAA/uQ,IAAA,WAGA04L,YAAA,SAAA5jL,GACA,IAAAgoV,EAAA,GACAC,EAAA,GACAjoV,EAAAqtM,cAAA,SAAAttM,GACA,IAEAmoV,EAFA56U,EAAAvN,EAAAhM,KAIA,GAHAk0V,EAAA7vV,KAAAkV,GAGAvN,EAAAyI,mBAAA,CACA,IAAAxX,EAAA+O,EAAAyI,qBACAwhE,EAAAh5E,EAAAg+K,SAAAh+K,EAAAqc,SAEArN,EAAAoQ,iBAAArQ,KACAkoV,IAAA94S,OAAA66B,IAGAA,EAAAhhF,OACAg/V,IAAA74S,OAAA66B,GAEAk+Q,GAAA,OAGAA,GAAA,EAGAA,GAAA36U,EAAAxN,IACAioV,EAAA5vV,KAAA2H,EAAAhM,QAQAtO,KAAA0iW,gBAAAF,EAGA,IAAAG,EAAA3iW,KAAAyF,IAAA,SAAA88V,EACA/tF,EAAAh1Q,EAAA4N,IAAAu1V,EAAA,SAAAnhL,GAQA,MANA,kBAAAA,GAAA,kBAAAA,IACAA,EAAA,CACAlzK,KAAAkzK,IAIA,IAAA9+B,EAAA8+B,EAAAxhL,UAAAua,UACKva,MAMLA,KAAA+gG,MAAAyzK,GAMAh6P,QAAA,WACA,OAAAxa,KAAA+gG,OAMAuhQ,OAAA,SAAAh0V,GACA,IAAAwyM,EAAA9gN,KAAAmjB,OAAA29L,SACA8hJ,EAAA5iW,KAAAyF,IAAA,gBAEA,cAAAm9V,EAAA,CACA,IAAAr3V,EAAAvL,KAAA+gG,MACAvhG,EAAA2nB,KAAA5b,EAAA,SAAAi2K,GACAs/B,EAAAt/B,EAAA/7K,IAAA,cAIAq7M,EAAAxyM,IAAA,GAMAu0V,SAAA,SAAAv0V,GACA,WAAAtO,KAAAyF,IAAA,kBACAzF,KAAAmjB,OAAA29L,SAAAxyM,IAAA,IAOAw0V,eAAA,SAAAx0V,GACA,IAAAwyM,EAAA9gN,KAAAmjB,OAAA29L,SAEAA,EAAA51M,eAAAoD,KACAwyM,EAAAxyM,IAAA,GAGAtO,KAAA8gN,EAAAxyM,GAAA,qBAAAA,IAMAi6M,WAAA,SAAAj6M,GACA,IAAAwyM,EAAA9gN,KAAAmjB,OAAA29L,SACA,QAAAA,EAAA51M,eAAAoD,KAAAwyM,EAAAxyM,KAAA9O,EAAA4rC,QAAAprC,KAAA0iW,gBAAAp0V,IAAA,GAEAwU,cAAA,CAEAq5F,OAAA,EAEAh/E,EAAA,EACA++E,MAAA,EAGAh6B,OAAA,aACA5yC,KAAA,SAEAG,IAAA,EAKAg0G,MAAA,OACA/mC,gBAAA,gBAEA7Z,YAAA,OACA8Z,aAAA,EAEAC,YAAA,EAGA1rG,QAAA,EAGAimN,QAAA,GAEA/O,UAAA,GAEAC,WAAA,GAEAC,cAAA,OACA7rG,UAAA,CAEA31F,MAAA,QAIA87U,cAAA,EAMAt8U,QAAA,CACA41F,MAAA,MAIAz5G,EAAAm5R,EACAl5R,EAAAC,QAAAF,wBC1OA,IAAAwD,EAAapH,EAAQ,QAErBgjF,EAAchjF,EAAQ,QAEtBijF,EAAAD,EAAAC,aACAg2B,EAAAj2B,EAAAi2B,UAoBA,SAAAqyG,EAAA7vM,EAAAvV,GACA,OAAAkB,EAAAq9E,cAAAhpE,EAAA2jG,qBAAA,CACA37G,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,cAIA,SAAAykS,EAAAx3V,EAAA0qB,GAQA,IAPA,IAAAk9I,EAAA5nK,EAAA8P,aAAA,SACA2nV,EAAAz3V,EAAAg+K,SAAApW,EAAA,SAAAlqK,GACA,OAAAA,IAEAwkD,EAAA,GACAw1S,EAAA,cAAAhtU,EAEAlrB,EAAA,EAAA0B,EAAAlB,EAAAoO,QAAqC5O,EAAA0B,EAAS1B,IAC9C0iD,EAAA1iD,KAYA,MARA,oBAAAkrB,EACAw3B,EAAAx3B,QACG,SAAAA,GACHw3B,EAAAx3B,KAAA,SAAA1tB,EAAAC,GACA,OAAAy6V,EAAAD,EAAAz6V,GAAAy6V,EAAAx6V,GAAAw6V,EAAAx6V,GAAAw6V,EAAAz6V,KAIAklD,EAGA,SAAAusJ,EAAAzuM,GACAA,EAAA4b,KAAA,SAAAxJ,GACA,IAOAhc,EACAgnN,EACA6K,EACA51M,EAVAsN,EAAA3f,EAAA4f,aAAAxN,GACA+rF,EAAAx+E,EAAAyP,SAAA,SACA24L,EAAA5pH,EAAAjkG,IAAA,YACAy0M,EAAAhvL,EAAAyP,SAAA,aACA10B,EAAAsF,EAAAkqK,cAAA93J,GACA+pD,EAAAzhE,EAAAyhE,OACA61O,EAAA,UAAAjqF,GAAA,WAAAA,GAAA,WAAAA,EAMA,GAAAiqF,EACA50F,GAAAjhJ,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,SACA8rJ,GAAA9rJ,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,SACA/lE,EAAA,SACAic,EAAA,EAAA+qM,EAAA6K,GAAA,CAAA7K,EAAA6K,QACK,CACL,IAAA5jK,EACAC,EACArwB,EACA69Q,EAAAnjG,EAAAz0M,IAAA,UAEA,SAAA6tN,GAEA1jK,GAAA8X,EAAA,MAAAA,EAAA,SACA7X,GAAA6X,EAAA,MAAAA,EAAA,SACAloC,EAAAowB,EAAAytP,EACA10F,EAAAnpL,EAAA,EACA79B,EAAA,UAGAiuD,GAAA8X,EAAA,MAAAA,EAAA,SACA7X,GAAA6X,EAAA,MAAAA,EAAA,SACAloC,EAAAowB,EAAAytP,EACA10F,EAAAnpL,EAAA,EACA79B,EAAA,QAGA,IAAA89B,EAAAowB,EACAjyC,EAAA,EAAAgyC,EAAAC,GAAA,CAAArwB,EAAAC,IACA+zL,EAAA/zL,EAGAx5B,EAAA6e,MAAA,CACAlH,aACA5b,EAAA2mN,EACA1mN,EAAAuxN,EACAjsN,cAAA,SACA5F,YACA2uG,OAAAitM,KAKA,SAAA96S,EAAA8X,EAAAxV,EAAAynB,GACAjS,EAAA+kG,iBAAA,kBAAAhlG,GACA,IAAA/O,EAAA+O,EAAAE,UACA24J,EAAA5nK,EAAA8P,aAAA,SACA4a,EAAA3b,EAAA7U,IAAA,QACAykN,EAAAC,EAAA7vM,EAAAvV,GACA0oD,EAAAs1S,EAAAx3V,EAAA0qB,GACAmrL,EAAA,CAAAt/H,EAAAxnE,EAAA7U,IAAA,WAAAykN,EAAA5nN,OAAAw/E,EAAAxnE,EAAA7U,IAAA,WAAAykN,EAAA5nN,QACAu2G,EAAAttG,EAAAqzG,cAAAu0D,GACAjsK,EAAAoT,EAAA7U,IAAA,OACA0B,EAAAmT,EAAA7U,IAAA,OAEA,MAAAyB,IACAA,EAAAR,KAAAQ,IAAA2xG,EAAA,OAGA,MAAA1xG,IACAA,EAAA0xG,EAAA,IAGA,IAAAqqP,EAAA5oV,EAAA7U,IAAA,eACA08E,EAAA7nE,EAAA7U,IAAA,OACA4iN,GAAA6B,EAAA3nN,OAAA4/E,GAAA52E,EAAAoO,QAAA,IAAApO,EAAAoO,QACA1X,EAAAioN,EAAAjoN,EAEAkhW,EAAA,SAAAxlV,EAAAylV,GAEA,IAEAxnS,EAFA3yD,EAAAsC,EAAA9F,IAAA0tK,EAAAx1J,IAAA,EACAyqM,EAAAtwG,EAAA7uG,EAAA,CAAA/B,EAAAC,GAAAi6M,GAAA,GAGA,OAAA8hJ,GACA,WACAtnS,EAAAsuJ,EAAAloN,EACA,MAEA,aACA45D,EAAAsuJ,EAAAloN,GAAAkoN,EAAA5nN,MAAA8lN,GAAA,EACA,MAEA,YACAxsJ,EAAAsuJ,EAAAloN,EAAAkoN,EAAA5nN,MAAA8lN,EACA,MAGA,QAAAxsJ,EAAAwnS,GAAA,CAAAxnS,EAAAwsJ,EAAAg7I,KAGA,cAAAntU,IAEAoyL,KACAlmI,KACAlgF,GAAAioN,EAAA3nN,OACAkrD,IAAA++F,WAGA,QAAAzhJ,EAAA,EAAmBA,EAAA0iD,EAAAlqD,OAAoBwH,IAAA,CACvC,IAAA4S,EAAA8vC,EAAA1iD,GACAs4V,EAAA51S,EAAA1iD,EAAA,GACAmgB,EAAA3f,EAAA4f,aAAAxN,GACApb,EAAA2oB,EAAAzlB,IAAA,oBAEA,MAAAlD,EACAA,EAAA8lN,GAEA9lN,EAAAu/E,EAAAv/E,EAAA2nN,EAAA3nN,QAEA,cAAA0zB,IACA1zB,OAIA,IAAA6pB,EAAA+2U,EAAAxlV,EAAA1b,GACAsnB,EAAA45U,EAAAE,EAAAphW,EAAAM,GACAN,GAAAM,EAAA4/E,EACA52E,EAAAkoK,cAAA91J,EAAA,CACA+pD,OAAAt7C,EAAAs9B,OAAAngC,EAAA2V,QAAAstH,aAIAwtD,EAAAzuM,KAIA7I,EAAAC,QAAAF,wBCzNA,IAAA6gW,EAASzkW,EAAQ,QAAc+E,EAC/B2/V,EAAAr5S,SAAAjqD,UACAujW,EAAA,wBACApD,EAAA,OAGAA,KAAAmD,GAAkB1kW,EAAQ,SAAgBykW,EAAAC,EAAAnD,EAAA,CAC1CzyU,cAAA,EACAloB,IAAA,WACA,IACA,UAAAzF,MAAA62B,MAAA2sU,GAAA,GACK,MAAArtV,GACL,qCCQAtX,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,gCCZR,IAAAW,EAAaX,EAAQ,QAErB4kW,EAAe5kW,EAAQ,QAEvBgjO,EAAgBhjO,EAAQ,QAExB+xD,EAAa/xD,EAAQ,QAErB8pO,EAAa9pO,EAAQ,QAErB0f,EAAW1f,EAAQ,QAEnB6kW,EAAoB7kW,EAAQ,QAE5B2/N,EAAa3/N,EAAQ,QAErB8D,EAAA6uB,MAAAgtM,EAEA,IAAAxlB,EAAYn6M,EAAQ,QAEpB8D,EAAAq2M,QAEA,IAAAn5M,EAAWhB,EAAQ,QAEnB8D,EAAA9C,OAEA,IAAAs2N,EAAat3N,EAAQ,QAErB8D,EAAAwzN,SAEA,IAAAjE,EAAarzN,EAAQ,QAErB8D,EAAAuvN,SAEA,IAAAosE,EAAWz/R,EAAQ,QAEnB8D,EAAA27R,OAEA,IAAArlF,EAAcp6M,EAAQ,QAEtB8D,EAAAs2M,UAEA,IAAAE,EAAet6M,EAAQ,QAEvB8D,EAAAw2M,WAEA,IAAAlqI,EAAWpwE,EAAQ,QAEnB8D,EAAAssE,OAEA,IAAAw+H,EAAW5uM,EAAQ,QAEnB8D,EAAA8qM,OAEA,IAAAE,EAAkB9uM,EAAQ,QAE1B8D,EAAAgrM,cAEA,IAAAg2J,EAAU9kW,EAAQ,QAElB8D,EAAAghW,MAEA,IAAAC,EAAmB/kW,EAAQ,QAE3B8D,EAAAihW,eAEA,IAAA9mJ,EAAqBj+M,EAAQ,QAE7B8D,EAAAm6M,iBAEA,IAAA+mJ,EAAqBhlW,EAAQ,QAE7B8D,EAAAkhW,iBAEA,IAAAp2V,EAAmB5O,EAAQ,QAE3B8D,EAAA8K,eAEA,IAAAotM,EAA6Bh8M,EAAQ,QAErC8D,EAAAk4M,yBAoBA,IAAA3gM,EAAAxT,KAAAwT,MACAqgF,EAAA7zF,KAAAS,IACAmzF,EAAA5zF,KAAAQ,IACA48V,EAAA,GACAtkE,EAAA,EAKA,SAAAzxF,EAAAjuM,GACA,OAAAye,EAAA7Z,OAAA5E,GAOA,SAAAikW,EAAA5yJ,EAAArxM,GACA,OAAA2jW,EAAA3oF,iBAAA3pE,EAAArxM,GAWA,SAAAu8K,EAAA80B,EAAArxM,EAAA2B,EAAAwE,GACA,IAAAw+D,EAAAg/R,EAAA5oF,iBAAA1pE,EAAArxM,GAUA,OARA2B,IACA,WAAAwE,IACAxE,EAAAuiW,EAAAviW,EAAAgjE,EAAAljE,oBAGA0iW,EAAAx/R,EAAAhjE,IAGAgjE,EAWA,SAAAy/R,EAAAC,EAAA1iW,EAAAwE,GACA,IAAAw+D,EAAA,IAAA+5J,EAAA,CACAj+N,MAAA,CACAuS,MAAAqxV,EACAniW,EAAAP,EAAAO,EACAC,EAAAR,EAAAQ,EACAK,MAAAb,EAAAa,MACAC,OAAAd,EAAAc,QAEA00B,OAAA,SAAAy0C,GACA,cAAAzlE,EAAA,CACA,IAAA81N,EAAA,CACAz5N,MAAAopE,EAAAppE,MACAC,OAAAmpE,EAAAnpE,QAEAkiE,EAAA+iD,SAAAw8O,EAAAviW,EAAAs6N,QAIA,OAAAt3J,EAWA,SAAAu/R,EAAAviW,EAAAs6N,GAEA,IAEAx5N,EAFAqe,EAAAm7M,EAAAz5N,MAAAy5N,EAAAx5N,OACAD,EAAAb,EAAAc,OAAAqe,EAGAte,GAAAb,EAAAa,MACAC,EAAAd,EAAAc,QAEAD,EAAAb,EAAAa,MACAC,EAAAD,EAAAse,GAGA,IAAAnC,EAAAhd,EAAAO,EAAAP,EAAAa,MAAA,EACAoc,EAAAjd,EAAAQ,EAAAR,EAAAc,OAAA,EACA,OACAP,EAAAyc,EAAAnc,EAAA,EACAL,EAAAyc,EAAAnc,EAAA,EACAD,QACAC,UAIA,IAAA6zN,EAAAqtI,EAAArtI,UAOA,SAAA6tI,EAAAx/R,EAAAhjE,GACA,GAAAgjE,EAAAprD,eAAA,CAIA,IAAA63L,EAAAzsI,EAAAljE,kBACAgsB,EAAA2jL,EAAArwL,mBAAApf,GACAgjE,EAAAprD,eAAAkU,IAiBA,SAAA5lB,EAAA2hB,GACA,IAAA1hB,EAAA0hB,EAAA1hB,MACA6I,EAAA6Y,EAAA/oB,MAAAkQ,UAUA,OARAyJ,EAAA,EAAAtS,EAAAgoD,MAAA11C,EAAA,EAAAtS,EAAA43B,MACA53B,EAAAgoD,GAAAhoD,EAAA43B,GAAAulM,EAAAn9N,EAAAgoD,GAAAn/C,GAAA,IAGAyJ,EAAA,EAAAtS,EAAAioD,MAAA31C,EAAA,EAAAtS,EAAA63B,MACA73B,EAAAioD,GAAAjoD,EAAA63B,GAAAslM,EAAAn9N,EAAAioD,GAAAp/C,GAAA,IAGA6Y,EAiBA,SAAA8jN,EAAA9jN,GACA,IAAA1hB,EAAA0hB,EAAA1hB,MACA6I,EAAA6Y,EAAA/oB,MAAAkQ,UACAmH,EAAAhQ,EAAA5F,EACA6V,EAAAjQ,EAAA3F,EACAmiW,EAAAx8V,EAAAtF,MACA+hW,EAAAz8V,EAAArF,OAKA,OAJAqF,EAAA5F,EAAA+iO,EAAAn9N,EAAA5F,EAAAyO,GAAA,GACA7I,EAAA3F,EAAA8iO,EAAAn9N,EAAA3F,EAAAwO,GAAA,GACA7I,EAAAtF,MAAAoE,KAAAS,IAAA49N,EAAAntN,EAAAwsV,EAAA3zV,GAAA,GAAA7I,EAAA5F,EAAA,IAAAoiW,EAAA,KACAx8V,EAAArF,OAAAmE,KAAAS,IAAA49N,EAAAltN,EAAAwsV,EAAA5zV,GAAA,GAAA7I,EAAA3F,EAAA,IAAAoiW,EAAA,KACA/6U,EAYA,SAAAy7M,EAAAz+N,EAAAmK,EAAA6zV,GAGA,IAAAC,EAAArqV,EAAA,EAAA5T,GACA,OAAAi+V,EAAArqV,EAAAzJ,IAAA,MAAA8zV,EAAA,GAAAA,GAAAD,EAAA,SAGA,SAAAE,EAAAxoD,GACA,aAAAA,GAAA,SAAAA,EAIA,IAAAyoD,EAAAjlW,EAAAqrD,gBACA65S,EAAA,EAEA,SAAAC,EAAA79U,GACA,qBAAAA,EACA,OAAAA,EAGA,IAAA89U,EAAAH,EAAAh/V,IAAAqhB,GAWA,OATA89U,IACAA,EAAA/iI,EAAAz7H,KAAAt/E,GAAA,IAEA49U,EAAA,MACAD,EAAArxU,IAAAtM,EAAA89U,GACAF,MAIAE,EAGA,SAAAC,EAAA9zT,GACA,GAAAA,EAAA+zT,gBAAA,CAIA/zT,EAAA+zT,iBAAA,EACA,IAAAlrJ,EAAA7oK,EAAAg0T,WAEA,GAAAnrJ,EAAA,CAKA,IAAA8Y,EAAA3hL,EAAAi0T,kBAAA,GACAj0T,EAAAk0T,iBAAAl0T,EAAArR,GACA,IAAAh6B,EAAAqrC,EAAAxwC,MAEA,QAAA+N,KAAAsrM,EAEA,MAAAA,EAAAtrM,KACAokN,EAAApkN,GAAA5I,EAAA4I,IAKAokN,EAAAhyN,KAAAgF,EAAAhF,KACAgyN,EAAA/xN,OAAA+E,EAAA/E,YAjBAowC,EAAAi0T,kBAAAj0T,EAAAk0T,iBAAA,MAoBA,SAAAC,EAAAn0T,GACA,IAAAo0T,EAAAp0T,EAAAg0T,WAEA,GAAAI,IAAAp0T,EAAAq0T,cAAA,CAIA,IAAA/uJ,EAAAtlK,EAAAslK,cACAtlK,EAAAq0T,cAAA/uJ,EAAA,gBACA,IAAAliM,EAAA48B,EAAA7e,KAEA,GAAA/d,IAAAkiM,EAAA,CAIA,IAAAgvJ,EAAAt0T,EACAghK,EAAAhhK,EAAAxwC,MAEA81M,IACAgvJ,EAAAlxV,EAAA4oQ,SAAAhsO,GACAghK,EAAAszJ,EAAA9kW,OAGA+kW,GAAAvzJ,GAEAsE,GACAwuJ,EAAAQ,GAsBAtzJ,EAAAs3C,WAAA87G,GACAI,EAAAxzJ,EAAAozJ,EAAA,QACAI,EAAAxzJ,EAAAozJ,EAAA,UACAK,GAAAzzJ,GAEAsE,IACAtlK,EAAApsB,OAAA,GACAosB,EAAArR,IAAA8/P,KAIA,SAAA+lE,EAAAxzJ,EAAA6H,EAAAzwJ,IACAq7S,EAAA5qJ,EAAAzwJ,KAAAq7S,EAAAzyJ,EAAA5oJ,MACA4oJ,EAAA5oJ,GAAAw7S,EAAA5yJ,EAAA5oJ,KAIA,SAAAs8S,EAAA10T,GACA,IAAA20T,EAAA30T,EAAAq0T,cAEA,GAAAM,EAMA,GAFA30T,EAAAq0T,eAAA,EAEA,UAAAM,EACA30T,EAAA7e,MAAA6e,EAAA7e,KAAAirP,YAAApsO,QACG,GAAA20T,EAAA,CACH,IAAAnlW,EAAAwwC,EAAAxwC,MACAolW,EAAA50T,EAAAi0T,kBAEAW,IACAL,GAAA/kW,GAGAwwC,EAAAy2E,SAAAm+O,GACAH,GAAAjlW,IAMA,IAAAqlW,EAAA70T,EAAAk0T,iBAEA,MAAAW,GAAA70T,EAAArR,GAAAkmU,IAAApmE,IACAzuP,EAAArR,GAAAkmU,IAKA,SAAAC,EAAA90T,EAAAo1G,GACAp1G,EAAAolK,QAAAplK,EAAA5e,SAAA,SAAAC,IACAA,EAAA+jL,SAAAhwD,EAAA/zH,KACG+zH,EAAAp1G,GAmBH,SAAA0hK,EAAA1hK,EAAAo0T,GAGAA,EAAAp0T,EAAAg0T,YAAA,IAAAI,OAAA,IACAp0T,EAAA+zT,iBAAA,EAOA/zT,EAAAq0T,gBAKAr0T,EAAAi0T,kBAAA,KAKAS,EAAA10T,GACAm0T,EAAAn0T,IAgBA,SAAAmmN,EAAAnmN,GACA,OAAAA,KAAA+0T,oBAGA,SAAAC,EAAA5vV,GACAnW,KAAAgmW,sBAAA7vV,EAAA0mV,YAKA78V,KAAA8lW,qBAAAD,EAAA7lW,KAAAklW,GAGA,SAAAe,GAAA9vV,GACAnW,KAAAgmW,sBAAA7vV,EAAA0mV,YAKA78V,KAAA8lW,qBAAAD,EAAA7lW,KAAAylW,GAGA,SAAAS,KACAlmW,KAAA8lW,qBAAA,EACAD,EAAA7lW,KAAAklW,GAGA,SAAAiB,KACAnmW,KAAA8lW,qBAAA,EACAD,EAAA7lW,KAAAylW,GAsCA,SAAA3rJ,GAAA/oK,EAAA6oK,EAAAxkM,GACA27B,EAAAolK,QAAAplK,EAAA5e,SAAA,SAAAC,IAGAA,EAAA+jL,SAAA1D,EAAArgL,IAAAwnL,iBACGnH,EAAA1hK,IAAA6oK,eACHlH,GAAA3hK,EAAA37B,GAiBA,SAAAs9L,GAAA3hK,EAAA37B,GACA,IAAAC,GAAA,IAAAD,EAIA,GAHA27B,EAAAi1T,qBAAA,MAAA5wV,KAAAgxV,oBAGA/wV,GAAA07B,EAAAs1T,oBAAA,CACA,IAAAlgN,EAAA9wI,EAAA,WAEA07B,EAAAo1G,GAAA,YAAA4/M,GAAA5/M,GAAA,WAAA8/M,IAEAl1T,EAAAo1G,GAAA,WAAA+/M,IAAA//M,GAAA,SAAAggN,IACAp1T,EAAAs1T,qBAAAhxV,GAsBA,SAAA+kM,GAAAsY,EAAA4zI,EAAApzI,EAAAqzI,EAAAnxV,EAAAoxV,EAAAC,GACArxV,KAAA0uV,EACA,IAUA4C,EAVArsJ,EAAAjlM,EAAAilM,aACAC,EAAAllM,EAAAklM,eACAk+C,EAAApjP,EAAAojP,cAGAmuG,EAAAzzI,EAAA/qM,WAAA,QACAy+U,EAAAL,EAAAp+U,WAAA,SAMAw+U,GAAAC,KACAvsJ,IACAqsJ,EAAArsJ,EAAAzqI,kBAAA0qI,EAAA,cAAAk+C,IAGA,MAAAkuG,IACAA,EAAAlnW,EAAAwK,WAAAoL,EAAAmlM,aAAAnlM,EAAAmlM,YAAAD,EAAAllM,KAAAmlM,cAIA,IAAAssJ,EAAAF,EAAAD,EAAA,KACAI,EAAAF,EAAApnW,EAAAqO,UAAAwsM,IAAAzqI,kBAAA0qI,EAAA,gBAAAk+C,GAAA,KAAAkuG,GAAA,KAEA,MAAAG,GAAA,MAAAC,IAOAj9P,GAAA6oH,EAAAQ,EAAAszI,EAAApxV,GACAy0F,GAAAy8P,EAAAC,EAAAE,EAAArxV,GAAA,IAGAs9M,EAAA1xN,KAAA6lW,EACAP,EAAAtlW,KAAA8lW,EAaA,SAAAj9P,GAAA4S,EAAA9S,EAAAo9P,EAAA3xV,EAAAo0F,GAIA,OAHAw9P,GAAAvqP,EAAA9S,EAAAv0F,EAAAo0F,GACAu9P,GAAAvnW,EAAAkF,OAAA+3G,EAAAsqP,GAEAtqP,EAaA,SAAAwqP,GAAAxqP,EAAA/S,EAAAw9P,GACA,IAGA19P,EAHAp0F,EAAA,CACA4+L,YAAA,IAIA,IAAAkzJ,EACA19P,GAAA,EAGAp0F,EAAA2+L,UAAAmzJ,EAGAF,GAAAvqP,EAAA/S,EAAAt0F,EAAAo0F,GAoCA,SAAAw9P,GAAAvqP,EAAA9S,EAAAv0F,EAAAo0F,GAIA,GAFAp0F,KAAA0uV,EAEA1uV,EAAA4+L,WAAA,CACA,IAAAzkM,EAAAo6F,EAAAxhF,WAAA,cAAAqhF,EAAA,eAGA,YAAAj6F,MAAA,OACAktG,EAAAltG,eACAktG,EAAAktI,WAAAhgJ,EAAAxhF,WAAA,UACA,IAAAyuM,EAAAjtH,EAAAxhF,WAAA,UACA,MAAAyuM,OAAAlwN,KAAAC,GAAA,KACA81G,EAAA2tI,aAAAxzB,EACAn6G,EAAAyrH,aAAA1oO,EAAAqO,UAAA87F,EAAAxhF,WAAA,YAAAqhF,EAAA,QAGA,IAiBA29P,EAjBA5sV,EAAAovF,EAAApvF,QACA6sV,EAAA7sV,KAAA4I,OAAAs5F,UAeA4qP,EAAAC,GAAA39P,GAGA,GAAA09P,EAGA,QAAA/4V,KAFA64V,EAAA,GAEAE,EACA,GAAAA,EAAAn8V,eAAAoD,GAAA,CAEA,IAAAi5V,EAAA59P,EAAAhvE,SAAA,QAAArsB,IAEAk5V,GAAAL,EAAA74V,GAAA,GAA+Ci5V,EAAAH,EAAAhyV,EAAAo0F,GAY/C,OAPAiT,EAAA16G,KAAAolW,EACAK,GAAA/qP,EAAA9S,EAAAy9P,EAAAhyV,EAAAo0F,GAAA,GAEAp0F,EAAAy7S,YAAAz7S,EAAAqnG,YACArnG,EAAAqnG,UAAA,IAGAA,EAiBA,SAAA6qP,GAAA39P,GAEA,IAAA89P,EAEA,MAAA99P,SAAApvF,QAAA,CACA,IAAAxY,GAAA4nG,EAAAxmF,QAAA2gV,GAAA/hW,KAEA,GAAAA,EAGA,QAAAuM,KAFAm5V,KAAA,GAEA1lW,EACAA,EAAAmJ,eAAAoD,KACAm5V,EAAAn5V,GAAA,GAKAq7F,IAAAvmF,YAGA,OAAAqkV,EAGA,SAAAD,GAAA/qP,EAAA9S,EAAAy9P,EAAAhyV,EAAAo0F,EAAAkiL,GAEA07E,GAAA59P,GAAA49P,GAAAtD,EACArnP,EAAA3S,SAAA49P,GAAA/9P,EAAAxhF,WAAA,SAAA/S,IAAAgyV,EAAAtgV,MACA21F,EAAAt6G,WAAAulW,GAAA/9P,EAAAxhF,WAAA,mBAAA/S,IAAAgyV,EAAA98G,gBACA7tI,EAAAr6G,gBAAA5C,EAAAqO,UAAA87F,EAAAxhF,WAAA,mBAAAi/U,EAAA78G,iBAGA9tI,EAAAkrP,sBAAAlrP,EAAAltG,aAEAi6F,IACAkiL,IACAjvK,EAAAmrP,kBAAAxyV,EACAowV,GAAA/oP,IAIA,MAAAA,EAAA3S,WACA2S,EAAA3S,SAAA10F,EAAA2+L,YAOAt3F,EAAA7oG,UAAA+1F,EAAAxhF,WAAA,cAAAi/U,EAAAxzV,UACA6oG,EAAA5oG,WAAA81F,EAAAxhF,WAAA,eAAAi/U,EAAAvzV,WACA4oG,EAAA/oG,SAAAi2F,EAAAxhF,WAAA,aAAAi/U,EAAA1zV,SACA+oG,EAAA9oG,WAAAg2F,EAAAxhF,WAAA,eAAAi/U,EAAAzzV,WACA8oG,EAAA96G,UAAAgoG,EAAAxhF,WAAA,SACAs0F,EAAA76G,kBAAA+nG,EAAAxhF,WAAA,kBAAAwhF,EAAAxhF,WAAA,YACAs0F,EAAA36G,eAAA6nG,EAAAxhF,WAAA,cACAs0F,EAAAnqG,UAAAq3F,EAAAxhF,WAAA,SACAs0F,EAAApqG,WAAAs3F,EAAAxhF,WAAA,UACAs0F,EAAAitI,QAAA//I,EAAAxhF,WAAA,OAEAujQ,GAAAt2Q,EAAAw3N,aACAnwH,EAAA7pG,oBAAA80V,GAAA/9P,EAAAxhF,WAAA,mBAAA/S,GACAqnG,EAAA56G,YAAA8nG,EAAAxhF,WAAA,WACAs0F,EAAA6tI,gBAAAo9G,GAAA/9P,EAAAxhF,WAAA,eAAA/S,GACAqnG,EAAA8tI,gBAAA5gJ,EAAAxhF,WAAA,eACAs0F,EAAA+tI,iBAAA7gJ,EAAAxhF,WAAA,gBACAs0F,EAAAutI,mBAAArgJ,EAAAxhF,WAAA,eACAs0F,EAAAwtI,kBAAAtgJ,EAAAxhF,WAAA,cACAs0F,EAAAytI,qBAAAvgJ,EAAAxhF,WAAA,iBACAs0F,EAAA0tI,qBAAAxgJ,EAAAxhF,WAAA,kBAGAs0F,EAAAmtI,gBAAAjgJ,EAAAxhF,WAAA,oBAAAi/U,EAAAx9G,gBACAntI,EAAAotI,eAAAlgJ,EAAAxhF,WAAA,mBAAAi/U,EAAAv9G,eACAptI,EAAAqtI,kBAAAngJ,EAAAxhF,WAAA,sBAAAi/U,EAAAt9G,kBACArtI,EAAAstI,kBAAApgJ,EAAAxhF,WAAA,sBAAAi/U,EAAAr9G,kBAGA,SAAA29G,GAAA5gV,EAAA1R,GACA,eAAA0R,IAAA1R,KAAA2+L,UAAA3+L,EAAA2+L,UAAA,KAqBA,SAAAyxJ,GAAA/oP,GACA,IAAArnG,EAAAqnG,EAAAmrP,kBAGA,GAAAxyV,GAAA,MAAAqnG,EAAA3S,SAAA,CAIA,IAEA+9P,EAFArtJ,EAAAplM,EAAAolM,eACAjrM,EAAAktG,EAAAkrP,sBAEA5zJ,EAAA3+L,EAAA2+L,WAEA,IAAAyG,KAAA,IAAAA,GAAAplM,EAAA4+L,YAAAzkM,GACA,kBAAAA,KAAA67B,QAAA,eACAy8T,EAAA,CACA/9P,SAAA,KACA3nG,WAAAs6G,EAAAt6G,WACAC,gBAAAq6G,EAAAr6G,iBAEAq6G,EAAA3S,SAAA,OAEA,MAAA2S,EAAAt6G,aACAs6G,EAAAt6G,WAAA4xM,EACA,MAAAt3F,EAAAr6G,kBAAAq6G,EAAAr6G,gBAAA,KAEG,MAAA2xM,IACH8zJ,EAAA,CACA/9P,SAAA,MAEA2S,EAAA3S,SAAAiqG,GAIA8zJ,IACAprP,EAAAorP,mBAeA,SAAAvC,GAAA/kW,GACA,IAAAsnW,EAAAtnW,EAAAsnW,eAEAA,IACAtnW,EAAAupG,SAAA+9P,EAAA/9P,SACAvpG,EAAA4B,WAAA0lW,EAAA1lW,WACA5B,EAAA6B,gBAAAylW,EAAAzlW,gBACA7B,EAAAsnW,eAAA,MAIA,SAAA3zJ,GAAA9+L,EAAAmF,GAEA,IAAAutV,EAAAvtV,KAAAogB,SAAA,aACA,OAAAn7B,EAAA6K,KAAA,CACA+K,EAAAxB,WAAAk0V,KAAA3/U,WAAA,iBAAA/S,EAAAvB,YAAAi0V,KAAA3/U,WAAA,mBAAA/S,EAAA1B,UAAAo0V,KAAA3/U,WAAA,sBAAA/S,EAAAzB,YAAAm0V,KAAA3/U,WAAA,6BAAAnY,KAAA,MAGA,SAAA+3V,GAAAn+D,EAAA74P,EAAAlsB,EAAA6sL,EAAAjsL,EAAAsQ,GACA,oBAAAtQ,IACAsQ,EAAAtQ,EACAA,EAAA,MAMA,IAAAyC,EAAAwpL,KAAAzpL,qBAEA,GAAAC,EAAA,CACA,IAAA8/U,EAAAp+D,EAAA,YACA9tQ,EAAA41K,EAAAvpL,WAAA,oBAAA6/U,GACA9iJ,EAAAxT,EAAAvpL,WAAA,kBAAA6/U,GACAC,EAAAv2J,EAAAvpL,WAAA,iBAAA6/U,GAEA,oBAAAC,IACAA,IAAAxiV,EAAAisL,EAAAq5F,wBAAAr5F,EAAAq5F,wBAAAh6P,EAAAtrB,GAAA,OAGA,oBAAAqW,IACAA,IAAArW,IAGAqW,EAAA,EAAAiV,EAAA4uC,UAAA96D,EAAAiX,EAAAmsU,GAAA,EAAA/iJ,EAAAnvL,QAAAgb,EAAAzU,gBAAAyU,EAAAgzC,KAAAl/D,GAAAkR,aAEAgb,EAAAzU,gBACAyU,EAAAgzC,KAAAl/D,GACAkR,OA2BA,SAAAq8K,GAAArhK,EAAAlsB,EAAA6sL,EAAAjsL,EAAAsQ,GACAgyU,IAAA,EAAAh3T,EAAAlsB,EAAA6sL,EAAAjsL,EAAAsQ,GAkBA,SAAAo8K,GAAAphK,EAAAlsB,EAAA6sL,EAAAjsL,EAAAsQ,GACAgyU,IAAA,EAAAh3T,EAAAlsB,EAAA6sL,EAAAjsL,EAAAsQ,GAWA,SAAA0sL,GAAApsM,EAAAw9M,GACA,IAAAq0I,EAAAt3S,EAAAhhB,SAAA,IAEA,MAAAv5B,OAAAw9M,EACAjjK,EAAA5yB,IAAAkqU,EAAA7xV,EAAAwtE,oBAAAqkR,GACA7xV,IAAAs7D,OAGA,OAAAu2R,EAaA,SAAA7uV,GAAAhD,EAAAxP,EAAAgpC,GASA,OARAhpC,IAAArH,EAAA6pD,YAAAxiD,KACAA,EAAA68V,EAAA7/Q,kBAAAh9E,IAGAgpC,IACAhpC,EAAA+pD,EAAA/gB,OAAA,GAAAhpC,IAGA8hO,EAAAtvN,eAAA,GAAAhD,EAAAxP,GAUA,SAAAwsO,GAAA9+I,EAAA1tF,EAAAgpC,GAEA,IAAAs4T,EAAA,IAAAthW,EAAA,QAAAA,EAAA,QAAAA,EAAA,KAAAH,KAAAiR,IAAA,EAAA9Q,EAAA,GAAAA,EAAA,IACAuhW,EAAA,IAAAvhW,EAAA,QAAAA,EAAA,QAAAA,EAAA,KAAAH,KAAAiR,IAAA,EAAA9Q,EAAA,GAAAA,EAAA,IACAkjC,EAAA,UAAAwqD,GAAA4zQ,EAAA,UAAA5zQ,EAAA4zQ,EAAA,UAAA5zQ,GAAA6zQ,EAAA,WAAA7zQ,EAAA6zQ,EAAA,GAEA,OADAr+T,EAAA1wB,GAAA0wB,EAAAljC,EAAAgpC,GACAnpC,KAAAiR,IAAAoyB,EAAA,IAAArjC,KAAAiR,IAAAoyB,EAAA,IAAAA,EAAA,oBAAAA,EAAA,oBAQA,SAAAs+T,GAAAC,EAAAC,EAAA72J,EAAA37K,GACA,GAAAuyU,GAAAC,EAAA,CA2BA,IAAAC,EAAAC,EAAAH,GACAC,EAAAp2U,SAAA,SAAA4e,GACA,IAAAA,EAAAolK,SAAAplK,EAAA23T,KAAA,CACA,IAAAC,EAAAH,EAAAz3T,EAAA23T,MAEA,GAAAC,EAAA,CACA,IAAAC,EAAAC,EAAA93T,GACAA,EAAAgzC,KAAA8kR,EAAAF,IACAv2J,GAAArhK,EAAA63T,EAAAl3J,EAAA3gK,EAAAtrB,eA/BA,SAAAgjV,EAAA78S,GACA,IAAAk9S,EAAA,GAMA,OALAl9S,EAAAz5B,SAAA,SAAA4e,IACAA,EAAAolK,SAAAplK,EAAA23T,OACAI,EAAA/3T,EAAA23T,MAAA33T,KAGA+3T,EAGA,SAAAD,EAAA93T,GACA,IAAAjmC,EAAA,CACAxE,SAAAqiO,EAAApzN,MAAAw7B,EAAAzqC,UACAE,SAAAuqC,EAAAvqC,UAOA,OAJAuqC,EAAAnpC,QACAkD,EAAAlD,MAAApI,EAAAkF,OAAA,GAAkCqsC,EAAAnpC,QAGlCkD,GA4BA,SAAAi+V,GAAArhS,EAAAjmE,GAGA,OAAAjC,EAAA4N,IAAAs6D,EAAA,SAAAmC,GACA,IAAA7nE,EAAA6nE,EAAA,GACA7nE,EAAAu4F,EAAAv4F,EAAAP,EAAAO,GACAA,EAAAs4F,EAAAt4F,EAAAP,EAAAO,EAAAP,EAAAa,OACA,IAAAL,EAAA4nE,EAAA,GAGA,OAFA5nE,EAAAs4F,EAAAt4F,EAAAR,EAAAQ,GACAA,EAAAq4F,EAAAr4F,EAAAR,EAAAQ,EAAAR,EAAAc,QACA,CAAAP,EAAAC,KAUA,SAAA+mW,GAAAC,EAAAxnW,GACA,IAAAO,EAAAu4F,EAAA0uQ,EAAAjnW,EAAAP,EAAAO,GACAw9B,EAAA86D,EAAA2uQ,EAAAjnW,EAAAinW,EAAA3mW,MAAAb,EAAAO,EAAAP,EAAAa,OACAL,EAAAs4F,EAAA0uQ,EAAAhnW,EAAAR,EAAAQ,GACAw9B,EAAA66D,EAAA2uQ,EAAAhnW,EAAAgnW,EAAA1mW,OAAAd,EAAAQ,EAAAR,EAAAc,QAGA,GAAAi9B,GAAAx9B,GAAAy9B,GAAAx9B,EACA,OACAD,IACAC,IACAK,MAAAk9B,EAAAx9B,EACAO,OAAAk9B,EAAAx9B,GAYA,SAAAs2R,GAAAsb,EAAAz+R,EAAA3T,GACA2T,EAAA5V,EAAAkF,OAAA,CACA+2M,WAAA,GACGrmM,GACH,IAAA7U,EAAA6U,EAAA7U,MAAA,CACA27M,eAAA,GASA,GAPAz6M,KAAA,CACAO,GAAA,EACAC,GAAA,EACAK,MAAA,EACAC,OAAA,GAGAsxS,EACA,WAAAA,EAAAzoQ,QAAA,aAAA7qC,EAAAuS,MAAA+gS,EAAA30Q,MAAA,GAAA1/B,EAAA8V,SAAA/U,EAAAkB,GAAA,IAAA+8N,EAAAppN,IAAAinK,EAAAw3H,EAAAtpS,QAAA,cAAA6K,EAAA3T,EAAA,UAIAkB,EAAA68R,mBACA78R,EAAAorM,cACAprM,EAAAohW,aACAphW,EAAA05K,WACA15K,EAAAuhW,YACAvhW,EAAAyzN,YACAzzN,EAAAshW,aACAthW,EAAAgF,uBACAhF,EAAAyqO,uBACAzqO,EAAAoiO,mBACApiO,EAAA8vM,uBACA9vM,EAAAu0P,eACAv0P,EAAAm3M,iBACAn3M,EAAA+vM,0BACA/vM,EAAAy3M,iBACAz3M,EAAAknG,gBACAlnG,EAAAskW,WACAtkW,EAAAuxM,WACAvxM,EAAAyvM,eACAzvM,EAAAwvM,aACAxvM,EAAA8/M,gBACA9/M,EAAA0W,kBACA1W,EAAA0wO,sBACA1wO,EAAA0lW,mBACA1lW,EAAAomW,oBACApmW,EAAAqmW,kBACArmW,EAAA41R,sCCzvCA15R,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,gCCpCR,IAAAykW,EAASzkW,EAAQ,QACjBqqW,EAAiBrqW,EAAQ,QACzB6D,EAAAC,QAAiB9D,EAAQ,QAAgB,SAAAkvB,EAAA9iB,EAAAhH,GACzC,OAAAq/V,EAAA1/V,EAAAmqB,EAAA9iB,EAAAi+V,EAAA,EAAAjlW,KACC,SAAA8pB,EAAA9iB,EAAAhH,GAED,OADA8pB,EAAA9iB,GAAAhH,EACA8pB,2BCNA,IAAApgB,EAAY9O,EAAQ,QAEpB2D,EAAAmL,EAAAnL,SAEA2mW,EAAiBtqW,EAAQ,QAEzB4O,EAAmB5O,EAAQ,QAU3B,SAAAuqW,EAAAtpW,GACAqpW,EAAAppW,KAAAC,KAAAF,GACAE,KAAA21R,cAAA,GACA31R,KAAAqpW,uBAAA,GACArpW,KAAAspW,QAAA,EACAtpW,KAAAw+Q,UAAA,EAGA4qF,EAAAnpW,UAAAm2M,aAAA,EAEAgzJ,EAAAnpW,UAAAk8M,iBAAA,WACAn8M,KAAA21R,cAAA,GACA31R,KAAAqpW,uBAAA,GACArpW,KAAAspW,QAAA,EACAtpW,KAAA2kB,QACA3kB,KAAAw+Q,UAAA,GAGA4qF,EAAAnpW,UAAA87M,eAAA,SAAAglB,EAAAwoI,GACAA,EACAvpW,KAAAqpW,uBAAA12V,KAAAouN,GAEA/gO,KAAA21R,cAAAhjR,KAAAouN,GAGA/gO,KAAA2kB,SAGAykV,EAAAnpW,UAAAupW,gBAAA,SAAAC,EAAAF,GACAA,MAAA,EAEA,QAAAx+V,EAAA,EAAiBA,EAAA0+V,EAAAlmW,OAAyBwH,IAC1C/K,KAAA+7M,eAAA0tJ,EAAA1+V,GAAAw+V,IAIAH,EAAAnpW,UAAAypW,uBAAA,SAAA3zU,GACA,QAAAhrB,EAAA/K,KAAAspW,QAA4Bv+V,EAAA/K,KAAA21R,cAAApyR,OAA+BwH,IAC3DgrB,KAAA/1B,KAAA21R,cAAA5qR,IAGA,IAAAA,EAAA,EAAiBA,EAAA/K,KAAAqpW,uBAAA9lW,OAAwCwH,IACzDgrB,KAAA/1B,KAAAqpW,uBAAAt+V,KAIAq+V,EAAAnpW,UAAAssB,OAAA,WACAvsB,KAAAsiH,kBAEA,QAAAv3G,EAAA/K,KAAAspW,QAA4Bv+V,EAAA/K,KAAA21R,cAAApyR,OAA+BwH,IAAA,CAC3D,IAAAg2N,EAAA/gO,KAAA21R,cAAA5qR,GAEAg2N,EAAApvJ,OAAA3xE,KACA+gO,EAAAx0M,SACAw0M,EAAApvJ,OAAA,KAGA,IAAA5mE,EAAA,EAAiBA,EAAA/K,KAAAqpW,uBAAA9lW,OAAwCwH,IAAA,CACzDg2N,EAAA/gO,KAAAqpW,uBAAAt+V,GAEAg2N,EAAApvJ,OAAA3xE,KACA+gO,EAAAx0M,SACAw0M,EAAApvJ,OAAA,OAIAy3R,EAAAnpW,UAAAG,MAAA,SAAAC,EAAAC,GAEA,QAAAyK,EAAA/K,KAAAspW,QAA4Bv+V,EAAA/K,KAAA21R,cAAApyR,OAA+BwH,IAAA,CAC3D,IAAAg2N,EAAA/gO,KAAA21R,cAAA5qR,GACAg2N,EAAAqd,aAAArd,EAAAqd,YAAA/9O,GACA0gO,EAAA3gO,MAAAC,EAAA0K,IAAA/K,KAAAspW,QAAA,KAAAtpW,KAAA21R,cAAA5qR,EAAA,IACAg2N,EAAAsd,YAAAtd,EAAAsd,WAAAh+O,GAGAL,KAAAspW,QAAAv+V,EAEA,IAAAA,EAAA,EAAiBA,EAAA/K,KAAAqpW,uBAAA9lW,OAAwCwH,IAAA,CACzDg2N,EAAA/gO,KAAAqpW,uBAAAt+V,GACAg2N,EAAAqd,aAAArd,EAAAqd,YAAA/9O,GACA0gO,EAAA3gO,MAAAC,EAAA,IAAA0K,EAAA,KAAA/K,KAAAqpW,uBAAAt+V,EAAA,IACAg2N,EAAAsd,YAAAtd,EAAAsd,WAAAh+O,GAGAL,KAAAqpW,uBAAA,GACArpW,KAAAw+Q,UAAA,GAGA,IAAAjxP,EAAA,GAEA67U,EAAAnpW,UAAAsB,gBAAA,WACA,IAAAvB,KAAAwB,MAAA,CAGA,IAFA,IAAAC,EAAA,IAAAgM,EAAAqM,mBAEA/O,EAAA,EAAmBA,EAAA/K,KAAA21R,cAAApyR,OAA+BwH,IAAA,CAClD,IAAAg2N,EAAA/gO,KAAA21R,cAAA5qR,GACA4+V,EAAA5oI,EAAAx/N,kBAAAgU,QAEAwrN,EAAAn9I,sBACA+lR,EAAAtwV,eAAA0nN,EAAAl9I,kBAAAt2D,IAGA9rB,EAAA0yD,MAAAw1S,GAGA3pW,KAAAwB,MAAAC,EAGA,OAAAzB,KAAAwB,OAGA4nW,EAAAnpW,UAAAqgB,QAAA,SAAAte,EAAAC,GACA,IAAAsyR,EAAAv0R,KAAAg0O,sBAAAhyO,EAAAC,GACAR,EAAAzB,KAAAuB,kBAEA,GAAAE,EAAA6e,QAAAi0Q,EAAA,GAAAA,EAAA,IACA,QAAAxpR,EAAA,EAAmBA,EAAA/K,KAAA21R,cAAApyR,OAA+BwH,IAAA,CAClD,IAAAg2N,EAAA/gO,KAAA21R,cAAA5qR,GAEA,GAAAg2N,EAAAzgN,QAAAte,EAAAC,GACA,SAKA,UAGAO,EAAA4mW,EAAAD,GACA,IAAA1mW,EAAA2mW,EACA1mW,EAAAC,QAAAF,wBC9HA,IAAAjD,EAAaX,EAAQ,QAErBqV,EAAqBrV,EAAQ,QAE7B+qW,EAAiB/qW,EAAQ,QAEzBgrW,EAAoBhrW,EAAQ,QAE5BirW,EAAAD,EAAAC,oBAEA5lW,EAAcrF,EAAQ,QAEtB68N,EAAuB78N,EAAQ,QAE/BorR,EAAiBprR,EAAQ,QAEzB8wN,EAAAs6D,EAAAt6D,OAoBA,SAAAo6I,EAAApmV,EAAA5L,GACA,IAAAuzF,EAAA3nF,EAAA4nF,eACAy+P,EAAArmV,EAAAle,IAAA,aAOA,OAJA,MAAAukW,IACA1+P,EAAA5qG,KAAAspW,GAGA1+P,EAGA,SAAA2+P,EAAA/qE,EAAAgrE,EAAAC,EAAAplW,EAAAqlW,GACAD,EAAAt0V,IAAA,SACAs0V,EAAAt0V,IAAA,aAEAq0V,EAAAzkW,IAAA,kBACA0kW,EAAAv0V,GAAA,uBACAspR,EAAAmrE,gBAAA,IAEAF,EAAAv0V,GAAA,iBAAAO,GACA,GAAA+oR,EAAAmrE,eAAA,CAIAnrE,EAAAmrE,gBAAA,EACA,IAAAt5T,EAAA56B,EAAAE,OAEA,OAAA06B,EAAAu5T,UACAv5T,IAAA4gC,OAGA,GAAA5gC,EAAA,CAIA,IAAAyiD,EAAA,CACArzF,MAAA,QAAA+pW,EAAAl+U,SAAA,4BACAq4L,MAAA7kN,EAAA4N,IAAA2jC,EAAAu5T,UAAA,SAAA1pQ,GACA,OACAtyF,KAAAsyF,EAAAtyF,KACA+5C,KAAA+hT,EAAApgV,QAIAwpE,EAAA02Q,EAAAl+U,SAAA,MAAAk+U,EAAAj+U,GACAlnB,EAAAqoG,eAAA5Z,GACA+2Q,EAAAL,EAAAC,QAKA,SAAAI,EAAAL,EAAAC,GAEAA,EAAA73R,UAAA,SAAAk4R,GACAhrW,EAAA2nB,KAAAqjV,EAAAF,UAAA,SAAA1pQ,GACA4pQ,EAAApzV,QAAA8yV,EAAA3hJ,WAAA3nH,EAAAtyF,MAAA,yBAWA,SAAAuwR,EAAA95R,EAAA0lW,GACA,IAAAhlS,EAAA,IAAAvhE,EAAA80M,MAMAh5M,KAAAgqB,IAAA2lM,EAAA,eAMA3vN,KAAA0qW,YAAA,IAAAx2V,EAAAnP,EAAA2sB,SAMA1xB,KAAA2qW,gBAAA,CACAt0V,OAAAo0V,EAAAhlS,EAAA,MAOAzlE,KAAAylE,QAMAzlE,KAAA4qW,aAAAH,EAQAzqW,KAAAqqW,eAKArqW,KAAA6qW,SAKA7qW,KAAAmyI,aAKA1sE,EAAAloC,IAAAv9B,KAAA8qW,cAAA,IAAA5mW,EAAA80M,OAKAvzI,EAAAloC,IAAAv9B,KAAA+qW,iBAAA,IAAA7mW,EAAA80M,OAGA6lF,EAAA5+R,UAAA,CACAC,YAAA2+R,EACAziH,KAAA,SAAA8tL,EAAA3vV,EAAAxV,EAAAqlW,EAAA59U,GACA,IAAAw+U,EAAA,QAAAd,EAAAl+U,SAGAzgB,EAAA2+V,EAAA1vV,SAAA0vV,EAAA1vV,UACAwwV,GAAAzwV,EAAA8kG,cAAA,CACArzF,SAAA,SACA7H,QAAA,OACK,SAAA8mV,GACL1/V,GAAA0/V,EAAAhsE,oBAAAirE,IACA3+V,EAAA0/V,EAAAzwV,aAGA,IAAAwrF,EAAAkkQ,EAAAhlW,iBAEAlF,KAAAkrW,kBAAAllQ,GAEA,IAAAmkQ,EAAAnqW,KAAA8qW,cACArlS,EAAAzlE,KAAAylE,MACA1tD,EAAAiuF,EAAAjuF,MACAlR,EAAA,CACAP,SAAA0/F,EAAA1/F,SACAyR,UAGAoyV,EAAAv4R,QAAA,IAAAplD,EACAi5C,EAAAse,KAAAl9E,GAEA3C,EAAAkuM,YAAA3sI,EAAA5+D,EAAAqjW,GAGAC,EAAA9lS,YACA,IAAA8mS,EAAA,cACAC,EAAA,yBACAC,EAAA,UACAC,EAAA,qBACAtrP,EAAAxgH,EAAAqrD,gBACArrD,EAAA2nB,KAAA6+E,EAAA2V,QAAA,SAAA/a,GAMA,IAAAg/L,EAAA5/K,EAAAv6G,IAAAm7F,EAAAtyF,OAAA0xG,EAAA5sF,IAAAwtE,EAAAtyF,KAAA,IAAApK,EAAA80M,OACAuyJ,EAAA,IAAArnW,EAAA0/V,aAAA,CACAh8V,MAAA,CACA4jW,MAAA,MAGA5rE,EAAAriQ,IAAAguU,GACA,IAOAx0L,EAPAt0E,EAAAynQ,EAAAxnQ,eAAA9B,EAAAtyF,OAAA47V,EACAvnQ,EAAAF,EAAA9nE,SAAAwwU,GACAM,EAAAhpQ,EAAA9nE,SAAAywU,GACA9/P,EAAAy+P,EAAApnQ,EAAA5qF,GACAm2N,EAAA67H,EAAA0B,EAAA1zV,GACA2xF,EAAAjH,EAAA9nE,SAAA0wU,GACAh+I,EAAA5qH,EAAA9nE,SAAA2wU,GAGA,GAAA//V,EAAA,CACAwrK,EAAAxrK,EAAA0xB,YAAA2jE,EAAAtyF,MAKA,IAAAs0F,EAAAr3F,EAAAic,cAAAuvJ,EAAA,YAEAn0E,IACA0I,EAAA5qG,KAAAkiG,GAIApjG,EAAA2nB,KAAAy5E,EAAAhhF,WAAA,SAAAqc,GACA,eAAAA,EAAA97B,KAAA,CAIAorW,EAAA3jW,MAAA4jW,MAAA74V,KAAA,IAAAzO,EAAA+0M,QAAA,CACArxM,MAAA,CACA8/D,OAAAzrC,EAAA7b,aAIA,QAAArV,EAAA,EAAuBA,GAAAkxB,EAAAxb,UAAAwb,EAAAxb,UAAAld,OAAA,GAA0DwH,IACjFwgW,EAAA3jW,MAAA4jW,MAAA74V,KAAA,IAAAzO,EAAA+0M,QAAA,CACArxM,MAAA,CACA8/D,OAAAzrC,EAAAxb,UAAA1V,UAKAwgW,EAAA/jP,SAAAlc,GACAigQ,EAAAhrW,MAAA27M,eAAA,EACAqvJ,EAAA3xR,SAAA,EAEA,IAAA8xR,EAAAhiQ,EAAAjkG,IAAA,QACAkmW,EAAAt+I,EAAA5nN,IAAA,QACAmmW,EAAArgW,GAAAqO,MAAArO,EAAA9F,IAAA8F,EAAA8P,aAAA,SAAA07J,IACAy9C,EAAAjpN,KAAAkqK,cAAAsB,GAKA,GAAAi0L,GAAAY,IAAAF,GAAAC,IAAAn3I,KAAAk3I,UAAA,CACA,IACArxJ,EADArkE,EAAAg1N,EAAApqQ,EAAAtyF,KAAAyoK,IAGAxrK,GAAAwrK,GAAA,KACAsjC,EAAA6vJ,GAGA,IAAAtgQ,EAAA,IAAA1lG,EAAArE,KAAA,CACAyG,SAAAs6F,EAAA1kF,OAAAgjB,QAKAnnB,MAAA,GAAAA,EAAA,KAAAA,EAAA,IACA2nB,GAAA,GACA2nF,QAAA,IAEAnjH,EAAAk2M,cAAAxwG,EAAArpG,MAAAqpG,EAAAgwG,WAAA,GAAkElwG,EAAA2jH,EAAA,CAClEhT,eACAC,eAAAtkE,EACAukE,YAAA35G,EAAAtyF,KACAksM,gBAAA,GACS,CACT74M,UAAA,SACAC,kBAAA,WAEAg+R,EAAAriQ,IAAAqsE,GAKA,GAAAr+F,EACAA,EAAAgpM,iBAAAx9B,EAAA6oH,OACO,CACPn9L,EAAAynQ,EAAAxnQ,eAAA9B,EAAAtyF,MAEAi9V,EAAAz+O,UAAA,CACAvG,cAAA,MACAjjG,eAAA4mV,EAAA5mV,eACAguR,SAAA44D,EAAA5mV,eACAhV,KAAAsyF,EAAAtyF,KACAsyF,OAAA6B,KAAAt/E,QAAA,IAIA,IAAA0oV,EAAAjsE,EAAA0qE,YAAA1qE,EAAA0qE,UAAA,IACAuB,EAAAl5V,KAAAiuF,GACA18F,EAAA41M,cAAA8lF,EAAA1xD,EAAA,CACAk4H,qBAAA8D,EAAAzkW,IAAA,kBAEA0kW,EAAA5sU,IAAAqiQ,KAGA5/R,KAAA8rW,kBAAA5B,EAAA3vV,EAAAxV,GAEAklW,EAAAjqW,KAAAkqW,EAAAC,EAAAplW,EAAAqlW,GACAG,EAAAL,EAAAC,IAEA39V,OAAA,WACAxM,KAAA8qW,cAAAzmS,YAEArkE,KAAA+qW,iBAAA1mS,YAEArkE,KAAA0qW,YAAA50V,UAEA9V,KAAA6qW,UAAAnvI,EAAAqwI,cAAA/rW,KAAA6qW,SAAA7qW,KAAAgqB,KACAhqB,KAAA6qW,SAAA,KACA7qW,KAAA2qW,gBAAA,IAEAO,kBAAA,SAAAllQ,GACA,IAAAk7L,EAAAl7L,EAAA54F,IAEApN,KAAA6qW,WAAA3pE,GACA1hS,EAAA2nB,KAAAu0M,EAAAswI,YAAA9qE,EAAAlhS,KAAAgqB,KAAA,SAAAiD,GACAjtB,KAAA+qW,iBAAAxtU,IAAAtQ,IACOjtB,MAGPA,KAAA6qW,SAAA3pE,GAEA4qE,kBAAA,SAAA5B,EAAA3vV,EAAAxV,GACA,IAAAihG,EAAAkkQ,EAAAhlW,iBACAoT,EAAAtY,KAAA0qW,YACAuB,EAAAjsW,KAAA2qW,gBACAsB,EAAAtjF,UAAAuhF,EAAAzkW,IAAA,cACAwmW,EAAAjqP,KAAAhc,EAAA+e,UAEAzsG,EAAApD,OAAAg1V,EAAAzkW,IAAA,aACA,IAAAumB,EAAAk+U,EAAAl+U,SAEA,SAAAkgV,IACA,IAAA14Q,EAAA,CACArzF,KAAA,UACAomH,cAAAv6F,GAGA,OADAwnE,EAAAxnE,EAAA,MAAAk+U,EAAAj+U,GACAunE,EAGAl7E,EAAAzC,IAAA,OAAAD,GAAA,eAAAO,GACAnW,KAAAqqW,gBAAA,EACAT,EAAAuC,gBAAAF,EAAA91V,EAAAa,GAAAb,EAAAc,IACAlS,EAAAqoG,eAAA5tG,EAAAkF,OAAAwnW,IAAA,CACAl1V,GAAAb,EAAAa,GACAC,GAAAd,EAAAc,OAEKjX,MACLsY,EAAAzC,IAAA,QAAAD,GAAA,gBAAAO,GASA,GARAnW,KAAAqqW,gBAAA,EACAT,EAAAwC,iBAAAH,EAAA91V,EAAA4B,MAAA5B,EAAAyB,QAAAzB,EAAA0B,SACA9S,EAAAqoG,eAAA5tG,EAAAkF,OAAAwnW,IAAA,CACAlqP,KAAA7rG,EAAA4B,MACAH,QAAAzB,EAAAyB,QACAC,QAAA1B,EAAA0B,WAGA7X,KAAA4qW,aAAA,CACA,IAAA7yV,EAAA/X,KAAAylE,MAAA1tD,MAEA/X,KAAA8qW,cAAA34U,SAAA,SAAA4e,GACA,SAAAA,EAAA5wC,MACA4wC,EAAAgzC,KAAA,WAAAhsE,EAAA,KAAAA,EAAA,SAIK/X,MACLsY,EAAArD,kBAAA,SAAAkB,EAAAnU,EAAAC,GACA,OAAA+jG,EAAAqmQ,uBAAA/rV,QAAAte,EAAAC,KAAA6nW,EAAA3zV,EAAApR,EAAAmlW,OAIA,IAAAznW,EAAAo8R,EACAn8R,EAAAC,QAAAF,0BCrZA,IAAAjD,EAAaX,EAAQ,QAErBmxM,EAAgBnxM,EAAQ,QAExBqF,EAAcrF,EAAQ,QAEtB0f,EAAW1f,EAAQ,QAoBnBu1N,EAAA,cACAC,EAAA,yBACAi4I,EAAA,gDACAC,EAAAv8J,EAAAtrM,OAAA,CACAvE,KAAA,cACA+yD,OAAA,SAAA54C,EAAAC,EAAAxV,GACA/E,KAAAkhU,gBAAA5mT,GAEAta,KAAA0uP,aAAA1uP,KAAAohU,aAAA9mT,GAAAta,KAAAqhU,cAAA/mT,IAEA0hK,yBAAA,SAAA1hK,EAAAC,EAAAxV,GACA/E,KAAAshU,SAEAthU,KAAAkhU,gBAAA5mT,IAEA2hK,kBAAA,SAAAj3J,EAAA1K,EAAAC,EAAAxV,GACA/E,KAAA0uP,aAAA1uP,KAAAuhU,wBAAAv8S,EAAA1K,GAAAta,KAAAwsW,yBAAAxnV,EAAA1K,IAEA4mT,gBAAA,SAAA5mT,GACA,IAAAi0O,EAAAj0O,EAAA0O,gBAAAo+J,OAEA,MAAApnL,KAAA0uP,cAAAH,EAAAvuP,KAAA0uP,gBACA1uP,KAAA0uP,aAAAH,EAEAvuP,KAAAshU,WAGAD,cAAA,SAAA/mT,GACA,IAAA/O,EAAA+O,EAAAE,UACAu7L,EAAA/1M,KAAA+gG,MACAt7B,EAAAzlE,KAAAylE,MACAgnS,EAAAlhW,EAAAsS,UAAA,eAGA7d,KAAA+gG,OACAt7B,EAAApB,YAGA94D,EAAAqR,KAAAm5L,GAAAx4K,IAAA,SAAAy4K,GACA,GAAAzqM,EAAAu5E,SAAAkxH,GAAA,CACA,IAAAjlK,EACAyjL,EAAAjpN,EAAAkqK,cAAAugC,GACAjlK,EAAA2jL,EAAAF,EAAAxe,GAAA,GACA9xM,EAAAiuM,UAAAphK,EAAA,CACAnpC,MAAA,CACA8/D,OAAA8sJ,EAAAM,OAESx6M,EAAA07L,GACT02J,EAAA37T,EAAAxlC,EAAAyqM,EAAAy2J,GACAhnS,EAAAloC,IAAAwT,GACAxlC,EAAAgpM,iBAAAyB,EAAAjlK,MAEKxkB,OAAA,SAAAypL,EAAAC,GACL,IAAAllK,EAAAglK,EAAA5nB,iBAAA8nB,GAEA,GAAA1qM,EAAAu5E,SAAAkxH,GAAA,CAKA,IAAAwe,EAAAjpN,EAAAkqK,cAAAugC,GAEAjlK,EAGA7sC,EAAAkuM,YAAArhK,EAAA,CACAnpC,MAAA,CACA8/D,OAAA8sJ,EAAAM,OAESx6M,EAAA07L,GANTjlK,EAAA2jL,EAAAF,EAAAxe,GASA02J,EAAA37T,EAAAxlC,EAAAyqM,EAAAy2J,GACAhnS,EAAAloC,IAAAwT,GACAxlC,EAAAgpM,iBAAAyB,EAAAjlK,QAlBA00B,EAAAj5D,OAAAukC,KAmBKvkC,OAAA,SAAAypM,GACL,IAAAllK,EAAAglK,EAAA5nB,iBAAA8nB,GACAllK,GAAA00B,EAAAj5D,OAAAukC,KACK0kK,UACLz1M,KAAA+gG,MAAAx1F,GAEA61T,aAAA,SAAA9mT,GACAta,KAAAshU,SAEAO,EAAAvnT,EAAAta,KAAAylE,QAEA+mS,yBAAA,SAAAxnV,EAAA1K,GACA,IAEAmL,EAFAla,EAAA+O,EAAAE,UACAiyV,EAAAlhW,EAAAsS,UAAA,eAGA,aAAA4H,EAAAT,EAAAjhB,QAAA,CACA,IAAAgtC,EACAyjL,EAAAjpN,EAAAkqK,cAAAhwJ,GACAsrB,EAAA2jL,EAAAF,EAAA/uM,GACAinV,EAAA37T,EAAAxlC,EAAAka,EAAAgnV,GACA17T,EAAAqlK,aAAA,EACAp2M,KAAAylE,MAAAloC,IAAAwT,KAGAwwR,wBAAA,SAAAv8S,EAAA1K,GACAunT,EAAAvnT,EAAAta,KAAAylE,OAAA,IAEAj5D,OAAA,SAAA+N,GACAva,KAAAshU,UAEAA,OAAA,WACAthU,KAAAylE,MAAApB,YACArkE,KAAA+gG,MAAA,MAEAjrF,QAAAtW,EAAAwrD,OAEA2hT,EAAApuV,EAAA7Z,OAAA,CACAvE,KAAA,uBACAyH,MAAA,GACAoX,UAAA,SAAA3e,EAAAuH,GACA,IAAAktN,EAAAltN,EAAA8/D,OAEA1nE,KAAA4sW,aACAvsW,EAAAgf,OAAAy1M,EAAA,MAAAA,EAAA,OACAz0N,EAAAif,OAAAw1M,EAAA,MAAAA,EAAA,SAEAz0N,EAAAgf,OAAAy1M,EAAA,MAAAA,EAAA,OACAz0N,EAAAif,OAAAw1M,EAAA,MAAAA,EAAA,OACAz0N,EAAAif,OAAAw1M,EAAA,MAAAA,EAAA,OACAz0N,EAAAif,OAAAw1M,EAAA,MAAAA,EAAA,OACAz0N,EAAAmf,YACAnf,EAAAgf,OAAAy1M,EAAA,MAAAA,EAAA,OACAz0N,EAAAif,OAAAw1M,EAAA,MAAAA,EAAA,OACAz0N,EAAAgf,OAAAy1M,EAAA,MAAAA,EAAA,OACAz0N,EAAAif,OAAAw1M,EAAA,MAAAA,EAAA,WAKA,SAAAJ,EAAAF,EAAA/uM,EAAAksL,GACA,IAAAmjB,EAAAN,EAAAM,KACA,WAAA63I,EAAA,CACA/kW,MAAA,CACA8/D,OAAAiqI,EAAAojB,EAAAD,EAAAN,GAAAM,GAEAp1L,GAAA,MAIA,SAAAgtU,EAAA37T,EAAAxlC,EAAAka,EAAAgnV,GACA,IAAAvhV,EAAA3f,EAAA4f,aAAA1F,GACAwvM,EAAA/pM,EAAAyP,SAAAy5L,GACAttM,EAAAvb,EAAAic,cAAA/B,EAAA,SACAo9E,EAAAt3F,EAAAic,cAAA/B,EAAA,gBAAAqB,EAGAwkF,EAAA2pH,EAAA1pH,aAAA+gQ,GACAv7T,EAAAkhK,SAAA3mG,GACAv6D,EAAAxwC,MAAA27M,eAAA,EACAnrK,EAAAxwC,MAAAG,KAAAomB,EACAiqB,EAAAxwC,MAAAI,OAAAkiG,EACA9xD,EAAA67T,YAAAH,EACA,IAAA7yJ,EAAA1uL,EAAAyP,SAAA05L,GAAA9oH,eACArnG,EAAA41M,cAAA/oK,EAAA6oK,GAGA,SAAAmb,EAAArtJ,EAAA8sJ,GACA,OAAAh1N,EAAA4N,IAAAs6D,EAAA,SAAAmC,GAGA,OAFAA,IAAA3qC,QACA2qC,EAAA,GAAA2qJ,EAAAU,aACArrJ,IAIA,IAAAgjS,EAAAtuV,EAAA7Z,OAAA,CACAvE,KAAA,sBACAyH,MAAA,GACAoX,UAAA,SAAA3e,EAAAuH,GAKA,IAFA,IAAA8/D,EAAA9/D,EAAA8/D,OAEA38D,EAAA,EAAmBA,EAAA28D,EAAAnkE,QACnB,GAAAvD,KAAA8sW,SAAAplS,EAAA38D,KAAA,CACA,IAAA/I,EAAA0lE,EAAA38D,KACA1K,EAAAgf,OAAArd,EAAA0lE,EAAA38D,MACA1K,EAAAif,OAAAtd,EAAA0lE,EAAA38D,WAEAA,GAAA,KAMA,SAAA82T,EAAAvnT,EAAAmrD,EAAA2wI,GACA,IAAA7qM,EAAA+O,EAAAE,UACAwgS,EAAAzvS,EAAAsS,UAAA,eACAkvV,EAAA,IAAAF,EAAA,CACAjlW,MAAA,CACA8/D,OAAAszO,GAEA8xD,OAAA,IAEArnS,EAAAloC,IAAAwvU,GACA,IAAAC,EAAA,IAAAH,EAAA,CACAjlW,MAAA,CACA8/D,OAAAszO,GAEA8xD,QAAA,IAEArnS,EAAAloC,IAAAyvU,GACAlqC,EAAA,EAAAiqC,EAAAzyV,EAAA/O,GACAu3T,GAAA,EAAAkqC,EAAA1yV,EAAA/O,GAEA6qM,IACA22J,EAAA32J,aAAA,EACA42J,EAAA52J,aAAA,GAIA,SAAA0sH,EAAA/lJ,EAAAhsI,EAAAz2B,EAAA/O,GACA,IAAA0hW,EAAAlwL,EAAA,UACAl6E,EAAAt3F,EAAAgS,UAAA,cAAA0vV,IAAA1hW,EAAAgS,UAAA,QAAA0vV,GAGA3hQ,EAAAhxF,EAAAqgB,SAAAy5L,GAAA7oH,aAAA+gQ,GACAv7T,EAAAkhK,SAAA3mG,GACAv6D,EAAAxwC,MAAAG,KAAA,KACAqwC,EAAAxwC,MAAAI,OAAAkiG,EAIA,IAAApgG,EAAA8pW,EACA7pW,EAAAC,QAAAF,qCClRA,IAAAgkU,EAAc5nU,EAAQ,QACtBuiO,EAAcviO,EAAQ,QACtBs4T,EAAet4T,EAAQ,QACvBu4T,EAAWv4T,EAAQ,QACnB4wN,EAAgB5wN,EAAQ,QACxBquW,EAAkBruW,EAAQ,QAC1BohW,EAAqBphW,EAAQ,QAC7B87R,EAAqB97R,EAAQ,QAC7ByE,EAAezE,EAAQ,OAARA,CAAgB,YAC/BsuW,IAAA,GAAAn3U,MAAA,WAAAA,QACAo3U,EAAA,aACAC,EAAA,OACAC,EAAA,SAEAC,EAAA,WAA8B,OAAAvtW,MAE9B0C,EAAAC,QAAA,SAAAqlC,EAAAo4T,EAAAD,EAAAp8V,EAAAypW,EAAAC,EAAAC,GACAR,EAAA/M,EAAAC,EAAAr8V,GACA,IAeAqK,EAAAnD,EAAAi1V,EAfAyN,EAAA,SAAAC,GACA,IAAAT,GAAAS,KAAAzuU,EAAA,OAAAA,EAAAyuU,GACA,OAAAA,GACA,KAAAP,EAAA,kBAAyC,WAAAlN,EAAAngW,KAAA4tW,IACzC,KAAAN,EAAA,kBAA6C,WAAAnN,EAAAngW,KAAA4tW,IACxC,kBAA4B,WAAAzN,EAAAngW,KAAA4tW,KAEjCnwE,EAAA2iE,EAAA,YACAyN,EAAAL,GAAAF,EACAQ,GAAA,EACA3uU,EAAA6I,EAAA/nC,UACA8tW,EAAA5uU,EAAA77B,IAAA67B,EAAAiuU,IAAAI,GAAAruU,EAAAquU,GACAQ,EAAAD,GAAAJ,EAAAH,GACAS,EAAAT,EAAAK,EAAAF,EAAA,WAAAK,OAAA1lW,EACA4lW,EAAA,SAAA9N,GAAAjhU,EAAAh8B,SAAA4qW,EAwBA,GArBAG,IACAhO,EAAAvlE,EAAAuzE,EAAAnuW,KAAA,IAAAioC,IACAk4T,IAAAn3V,OAAA9I,WAAAigW,EAAAn8V,OAEAk8V,EAAAC,EAAAziE,GAAA,GAEAgpC,GAAA,mBAAAy5B,EAAA58V,IAAA8zT,EAAA8oC,EAAA58V,EAAAiqW,KAIAM,GAAAE,KAAAz/V,OAAAg/V,IACAQ,GAAA,EACAE,EAAA,WAAkC,OAAAD,EAAAhuW,KAAAC,QAGlCymU,IAAAinC,IAAAP,IAAAW,GAAA3uU,EAAA77B,IACA8zT,EAAAj4R,EAAA77B,EAAA0qW,GAGAv+I,EAAA2wI,GAAA4N,EACAv+I,EAAAguE,GAAA8vE,EACAC,EAMA,GALAp/V,EAAA,CACA07C,OAAA+jT,EAAAG,EAAAL,EAAAL,GACAt3U,KAAAy3U,EAAAO,EAAAL,EAAAN,GACAlqW,QAAA8qW,GAEAP,EAAA,IAAAziW,KAAAmD,EACAnD,KAAAk0B,GAAAg4R,EAAAh4R,EAAAl0B,EAAAmD,EAAAnD,SACKm2N,IAAAx1D,EAAAw1D,EAAAl4K,GAAAikT,GAAAW,GAAA1N,EAAAhyV,GAEL,OAAAA,yBC/CA,IAAA1C,EAAoB7M,EAAQ,QAoB5B4D,EAAAiJ,EAAAhH,OAAA,CACAvE,KAAA,WACA+yD,OAAA,SAAApnC,EAAAvR,EAAAxV,EAAAynB,GACAxsB,KAAA8rB,gBACA9rB,KAAAua,UACAva,KAAA+E,OAqBAw1R,mBAAA,WACA,IAAAzuQ,EAAA9rB,KAAA8rB,cACAvR,EAAAva,KAAAua,QACA4zV,EAAA,GAUA,SAAAj1V,EAAA0iT,EAAA/2T,EAAA4mB,EAAA2iV,GAGA,IAFA,IAAAvpS,EAEA95D,EAAA,EAAqBA,EAAA0gB,EAAAloB,OAAkBwH,IACvC,GAAA0gB,EAAA1gB,GAAA4Y,QAAAi4S,EAAA,CACA/2P,EAAAp5C,EAAA1gB,GACA,MAIA85D,GACAp5C,EAAA9Y,KAAAkyD,EAAA,CACAlhD,MAAAi4S,EACA/xC,WAAA,GACAukF,eAIAvpS,EAAAglN,WAAAl3Q,KAAA9N,GAGA,OA9BAinB,EAAA0rQ,eAAA,SAAAC,EAAAn7B,GACA,IAAAz3P,EAAA0V,EAAAmS,aAAA+qQ,EAAAzyR,KAAAs3P,GAEA,GAAAz3P,EAAA,CACA,IAAA+2T,EAAA/2T,EAAAuxI,mBACAwlL,GAAA1iT,EAAA0iT,EAAA/2T,EAAAspW,EAAAvyC,EAAA5vS,YAAAmiV,EAAAvyC,EAAA5vS,UAAA,IAAA4vS,EAAAt4S,kBAEKtjB,MAuBLmuW,KAIAzrW,EAAAC,QAAAF,0BCpFA,IAAAktE,EAAiB9wE,EAAQ,QAEzBsF,EAAsBtF,EAAQ,QAE9BqF,EAAcrF,EAAQ,QAEtBuF,EAAiBvF,EAAQ,QAEzB+xD,EAAa/xD,EAAQ,QAErBs2N,EAAkBt2N,EAAQ,QAE1ByF,EAAezF,EAAQ,QAoBvBwvW,EAAAlqW,EAAAO,OAAA,CAIAC,aAAA,SAAAC,EAAAX,EAAAY,EAAAC,EAAAC,GACA,IAAAC,EAAAH,EAAAG,KAEA,UAAAA,EAAAsW,MACAtb,KAAAsuW,mBAAA5nW,KAAAC,GAAA,IAGA,IAGA4nW,EAHAz9J,EAAA9rM,EAAA8rM,MACAjxD,EAAAixD,EAAAh2L,aAAA9V,GACAG,EAAA06I,EAAA7kI,YAEAuzV,EAAAvpW,EAAA,SAAA2qE,EAAAy4E,aAAApjJ,EAAAsW,MAAArX,GACA,IAAAuB,EAAAV,EAAAW,IAAA,QAEA,GAAAD,GAAA,SAAAA,EAAA,CACA,IAAAE,EAAAtB,EAAAuB,aAAAb,GACAc,EAAAC,EAAAL,GAAAR,EAAA8rM,EAAAy9J,EAAAppW,EAAAO,GACAE,EAAArF,MAAAmF,EACAd,EAAAkB,WAAAF,EAAAzF,KACAyE,EAAAmB,QAAAH,EAGA,IAAAS,EAAAvB,EAAAW,IAAA,gBACA2vT,EAAA10N,EAAAz8F,EAAAY,EAAAC,EAAAgsM,EAAAzqM,GACAjC,EAAA+wT,mBAAAvwT,EAAAC,EAAAC,EAAAC,EAAAqwT,MAKA,SAAA10N,EAAAz8F,EAAAY,EAAAC,EAAAgsM,EAAAzqM,GACA,IAAArB,EAAAH,EAAAG,KACAub,EAAAvb,EAAAo8G,YAAAn9G,GACA0xN,EAAA7kB,EAAA4kB,eAAA16M,YAAA,GACA26M,IAAA,IAAAjvN,KAAAC,GACA,IACAL,EACAm9I,EACAl8I,EAHAquN,EAAA9kB,EAAAu6G,gBAAArwS,YAKA,cAAAhW,EAAAsW,IAAA,CACA,IAAAzU,EAAA+pD,EAAA9hB,SACA8hB,EAAAtgB,OAAAzpC,IAAA8uN,GACA/kK,EAAAjgB,UAAA9pC,IAAA,CAAAiqM,EAAAryL,GAAAqyL,EAAApyL,KACApY,EAAApC,EAAAmV,eAAA,CAAAkH,GAAAla,GAAAQ,GACA,IAAAqkN,EAAArmN,EAAA81B,SAAA,aAAAl1B,IAAA,aACAu0M,EAAAmb,EAAA0gG,gBAAAlgG,EAAAzK,EAAAxkN,KAAAC,GAAA,QACA88I,EAAAu2D,EAAAr4M,UACA4F,EAAAyyM,EAAAp4M,sBACG,CAEH,IAAAgd,EAAAg3M,EAAA,GACAtvN,EAAAwqM,EAAAwoB,aAAA,CAAA16M,EAAAvY,EAAAka,IACA,IAAA9B,EAAAqyL,EAAAryL,GACAC,EAAAoyL,EAAApyL,GACA+kI,EAAA/8I,KAAAiR,IAAArR,EAAA,GAAAmY,GAAAG,EAAA,YAAAtY,EAAA,GAAAmY,EAAA,eACAlX,EAAAb,KAAAiR,IAAArR,EAAA,GAAAoY,GAAAE,EAAA,YAAAtY,EAAA,GAAAoY,EAAA,eAGA,OACApY,WACAm9I,QACAl8I,iBAIA,IAAA1B,EAAA,CACA2B,KAAA,SAAAxC,EAAA8rM,EAAAy9J,EAAAppW,EAAAO,GACA,gBAAAV,EAAAsW,IAAA,CACAnb,KAAA,OACAyH,MAAAxD,EAAAsD,cAAAopM,EAAAwoB,aAAA,CAAAn0N,EAAA,GAAAopW,IAAAz9J,EAAAwoB,aAAA,CAAAn0N,EAAA,GAAAopW,MACK,CACLpuW,KAAA,SACAyH,MAAA,CACA6W,GAAAqyL,EAAAryL,GACAC,GAAAoyL,EAAApyL,GACAE,EAAA2vV,KAIA1mW,OAAA,SAAA7C,EAAA8rM,EAAAy9J,EAAAppW,EAAAO,GACA,IAAAoC,EAAApB,KAAAS,IAAA,EAAAnC,EAAA+C,gBACAk4E,EAAAv5E,KAAAC,GAAA,IACA,gBAAA3B,EAAAsW,IAAA,CACAnb,KAAA,SACAyH,MAAAxD,EAAA2xT,gBAAAjlH,EAAAryL,GAAAqyL,EAAApyL,GAAAvZ,EAAA,GAAAA,EAAA,KACAopW,EAAAzmW,EAAA,GAAAm4E,GAAAn4E,EAAA,EAAAymW,GAAAtuR,IACK,CACL9/E,KAAA,SACAyH,MAAAxD,EAAA2xT,gBAAAjlH,EAAAryL,GAAAqyL,EAAApyL,GAAA6vV,EAAAzmW,EAAA,EAAAymW,EAAAzmW,EAAA,MAAApB,KAAAC,OAIArC,EAAA8D,yBAAA,mBAAAimW,GACA,IAAA5rW,EAAA4rW,EACA3rW,EAAAC,QAAAF,wBChHA,IAAA2zQ,EAAA,GAEA,qBAAA3rQ,YACA2rQ,EAAA3rQ,UAAA2rQ,UAAA,IAGA,IAAA3zQ,EAAA,CAQAqkB,MAAA,gHACA0nV,cAAA,gCAGA/xP,UAAA,CAIA9oG,WAAAyiQ,EAAAv/O,MAAA,uCAEAnjB,SAAA,GACAE,UAAA,SACAC,WAAA,UAKA8nK,UAAA,KACAj+F,UAAA,OACA2nM,kBAAA,IACA5lM,wBAAA,IACAylI,gBAAA,iBACAtlI,sBAAA,WACA0uR,mBAAA,IAEA5yL,qBAAA,IACAD,YAAA,IAMAgzL,oBAAA,IAEAC,QAAA,GAEAhsW,EAAAC,QAAAF,0BCpEA,IAAA2e,EAAcviB,EAAQ,QAItB8O,GAFAyT,EAAAC,QAEYxiB,EAAQ,SAGpB6F,GADAiJ,EAAAiX,aACAjX,EAAAjJ,QAEAyiB,GADAxZ,EAAAy8C,OACAz8C,EAAAwZ,MACAvd,EAAA+D,EAAA/D,SAEAuxI,EAAat8I,EAAQ,QAErB0kS,EAAApoJ,EAAAooJ,iBACAorE,EAAAxzN,EAAAwzN,iBAEA9sR,EAAchjF,EAAQ,QAEtBs7G,EAAAt4B,EAAAs4B,UAEAghI,EAAat8O,EAAQ,QAErBukS,EAAkBvkS,EAAQ,QAE1BywS,EAAAlM,EAAAkM,0BACAs/D,EAAAxrE,EAAAwrE,yBACAvrE,EAAAD,EAAAC,uBACAwrE,EAAAzrE,EAAAyrE,0BA4BA,SAAAC,EAAA70U,EAAA+6I,GACAmmE,EAAAnuD,WAAA/yJ,KACAA,EAAAkhN,EAAAI,mBAAAthN,IAGAj6B,KAAA+uW,QAAA90U,EACA,IAAA1uB,EAAAvL,KAAA+gG,MAAA9mE,EAAA1uB,KACAk5R,EAAAxqQ,EAAAwqQ,aAEAA,IAAA6K,IACAtvS,KAAAgvW,QAAA,EACAhvW,KAAAivW,SAAAj6L,EACAh1K,KAAA+gG,MAAAx1F,GAGA,IAAA6C,EAAA8gW,EAAAzqE,IAAAmqE,EAAAnqE,EAAA,IAAAxqQ,EAAAy1Q,eAAAjL,GACA//R,EAAA1E,KAAAoO,GAGA,IAAA+gW,EAAAL,EAAA7uW,UAEAkvW,EAAAC,MAAA,EAEAD,EAAAE,YAAA,EAEAF,EAAA5sV,UAAA,WACA,OAAAviB,KAAA+uW,SAGA,IAAAG,EAAA,CACAI,iBAAA,CACAF,MAAA,EACAz1V,MAAA,WACA,OAAAjT,KAAAS,IAAA,EAAAnH,KAAA+gG,MAAAx9F,OAAAvD,KAAA+uW,QAAAp/D,aAEA4/D,QAAA,SAAA5xV,GACA,OAAA3d,KAAA+gG,MAAApjF,EAAA3d,KAAA+uW,QAAAp/D,aAEA5qR,WAAAyqV,GAEAC,cAAA,CACAL,MAAA,EACAz1V,MAAA,WACA,IAAAsrK,EAAAjlL,KAAA+gG,MAAA,GACA,OAAAkkF,EAAAv+K,KAAAS,IAAA,EAAA89K,EAAA1hL,OAAAvD,KAAA+uW,QAAAp/D,YAAA,GAEA4/D,QAAA,SAAA5xV,GACAA,GAAA3d,KAAA+uW,QAAAp/D,WAIA,IAHA,IAAA9qO,EAAA,GACAt5D,EAAAvL,KAAA+gG,MAEAh2F,EAAA,EAAqBA,EAAAQ,EAAAhI,OAAiBwH,IAAA,CACtC,IAAAk6K,EAAA15K,EAAAR,GACA85D,EAAAlyD,KAAAsyK,IAAAtnK,GAAA,MAGA,OAAAknD,GAEA9/C,WAAA,WACA,UAAA4oB,MAAA,+DAGA+hU,WAAA,CACAN,MAAA,EACAz1V,MAAAg2V,EACAJ,QAAAK,EACA7qV,WAAAyqV,GAEAK,aAAA,CACAT,MAAA,EACAz1V,MAAA,WACA,IAAA++D,EAAA14E,KAAA+uW,QAAAvnR,iBAAA,GAAAl5E,KACAwhW,EAAA9vW,KAAA+gG,MAAAroB,GACA,OAAAo3R,IAAAvsW,OAAA,GAEAgsW,QAAA,SAAA5xV,GAIA,IAHA,IAAAknD,EAAA,GACAsiB,EAAAnnF,KAAA+uW,QAAAvnR,iBAEAz8E,EAAA,EAAqBA,EAAAo8E,EAAA5jF,OAAiBwH,IAAA,CACtC,IAAA+kW,EAAA9vW,KAAA+gG,MAAA5Z,EAAAp8E,GAAAuD,MACAu2D,EAAAlyD,KAAAm9V,IAAAnyV,GAAA,MAGA,OAAAknD,GAEA9/C,WAAA,SAAAg5O,GACA,IAAAxyP,EAAAvL,KAAA+gG,MACA55E,EAAA42O,EAAA,SAAAgyG,EAAA9kW,GAGA,IAFA,IAAA+kW,EAAAzkW,EAAAN,KAAAM,EAAAN,GAAA,IAEAF,EAAA,EAAuBA,GAAAglW,GAAA,IAAAxsW,OAA2BwH,IAClDilW,EAAAr9V,KAAAo9V,EAAAhlW,QAKAq0J,SAAA,CACAzlJ,MAAAg2V,EACAJ,QAAAK,EACA7qV,WAAAyqV,GAEAS,WAAA,CACAZ,YAAA,EACAD,MAAA,EACAz1V,MAAA,WACA,OAAA3Z,KAAA+gG,MAAA/gG,KAAA+gG,MAAAx9F,OAAAvD,KAAAivW,SAAA,GAEAM,QAAA,SAAA5xV,EAAA0hB,GACA1hB,GAAA3d,KAAAgvW,QACA3vU,KAAA,GAGA,IAFA,IAAA0mB,EAAA/lD,KAAAivW,SAAAtxV,EAEA5S,EAAA,EAAqBA,EAAA/K,KAAAivW,SAAmBlkW,IACxCs0B,EAAAt0B,GAAA/K,KAAA+gG,MAAAh7C,EAAAh7C,GAGA,OAAAs0B,GAEAta,WAAA,SAAAg5O,GACA/9P,KAAA+gG,MAAAg9J,GAGAmyG,MAAA,WAEAlwW,KAAAgvW,SAAAhvW,KAAA2Z,QACA3Z,KAAA+gG,MAAA,QAKA,SAAA4uQ,IACA,OAAA3vW,KAAA+gG,MAAAx9F,OAGA,SAAAqsW,EAAAjyV,GACA,OAAA3d,KAAA+gG,MAAApjF,GAGA,SAAA6xV,EAAAzxG,GACA,QAAAhzP,EAAA,EAAiBA,EAAAgzP,EAAAx6P,OAAoBwH,IACrC/K,KAAA+gG,MAAApuF,KAAAorP,EAAAhzP,IAIA,IAAAolW,EAAA,CACAC,UAAAC,EACAX,WAAA,SAAAluL,EAAA/7J,EAAA1e,EAAA2xE,GACA,aAAA3xE,EAAAy6K,EAAA9oG,GAAA8oG,GAEAquL,aAAAQ,EACAjxM,SAAA,SAAAoiB,EAAA/7J,EAAA1e,EAAA2xE,GAIA,IAAAz0E,EAAAs/R,EAAA/hH,GACA,aAAAz6K,GAAA9C,aAAAuZ,MAAAvZ,EAAA8C,GAAA9C,GAEAgsW,WAAAI,GAGA,SAAAA,EAAA7uL,EAAA/7J,EAAA1e,EAAA2xE,GACA,aAAA3xE,EAAAy6K,EAAAz6K,GAAAy6K,EAGA,IAAA8uL,EAAA,CACAF,UAAAG,EACAb,WAAA,SAAAluL,EAAA9oG,EAAAjzD,EAAA1e,GACA,OAAAypW,EAAAhvL,EAAA9oG,GAAA14E,KAAAywW,gBAAA/3R,KAEAm3R,aAAAU,EACAnxM,SAAA,SAAAoiB,EAAA9oG,EAAAjzD,EAAA1e,GAKA,IAAA9C,EAAAu9K,IAAA,MAAAA,EAAAv9K,MAAAu9K,IAAAv9K,OAMA,OAJAjE,KAAA0wW,SAAAtB,MAAAT,EAAAntL,KACAxhL,KAAA8qB,eAAA,GAGA0lV,EAAAvsW,aAAAuZ,MAAAvZ,EAAA8C,GACA9C,EAAAjE,KAAAywW,gBAAA/3R,KAEAu3R,WAAA,SAAAzuL,EAAA9oG,EAAAjzD,EAAA1e,GACA,OAAAy6K,EAAAz6K,KAIA,SAAAwpW,EAAA/uL,EAAA9oG,EAAAjzD,EAAA1e,GACA,OAAAypW,EAAAhvL,EAAAz6K,GAAA/G,KAAAywW,gBAAA/3R,IAUA,SAAA83R,EAAAvsW,EAAAwiB,GAEA,IAAAE,EAAAF,KAAAtmB,KAEA,eAAAwmB,EAAA,CAEA,IAAAkhE,EAAAphE,KAAAohE,YACA,OAAAA,IAAAuxD,gBAAAn1I,KAWA,MARA,SAAA0iB,GACA,kBAAA1iB,GAAA,MAAAA,GAAA,MAAAA,IACAA,GAAAk2G,EAAAl2G,IAMA,MAAAA,GAAA,KAAAA,EAAA4V,KAEA5V,EAiBA,SAAAwe,EAAAlX,EAAAka,EAAAnK,GACA,GAAA/P,EAAA,CAKA,IAAAi2K,EAAAj2K,EAAAk+K,eAAAhkK,GAEA,SAAA+7J,EAAA,CAIA,IACA9oG,EACA3xE,EAFA09R,EAAAl5R,EAAAolW,cAAApuV,YAAAkiR,aAGAh+Q,EAAAlb,EAAA8a,iBAAA/K,GAOA,OALAmL,IACAiyD,EAAAjyD,EAAAnY,KACAvH,EAAA0f,EAAA5iB,OAGAssW,EAAA1rE,GAAAjjH,EAAA/7J,EAAA1e,EAAA2xE,KAgBA,SAAAk4R,EAAArlW,EAAAka,EAAAs+D,GACA,GAAAx4E,EAAA,CAIA,IAAAk5R,EAAAl5R,EAAAolW,cAAApuV,YAAAkiR,aAEA,GAAAA,IAAApB,GAAAoB,IAAAoqE,EAAA,CAIA,IAAArtL,EAAAj2K,EAAAk+K,eAAAhkK,GAMA,OAJAg/Q,IAAApB,GAAAz5R,EAAA43K,KACAA,EAAA,MAGAA,EACAA,EAAAz9F,QADA,IAKAphF,EAAAmsW,sBACAnsW,EAAA2tW,yBACA3tW,EAAA8f,mBACA9f,EAAAiuW,0CCrWA/xW,EAAQ,QAERA,EAAQ,2CCpBR,IAAAyM,EAAYzM,EAAQ,QAEpB6D,EAAAC,QACA2I,EAAAd,uBAIA,WACA,IAEAqmW,EAFAC,EAAA,kBAAAtiL,KAAA/jL,UAAAyjQ,WACA6iG,EAAAnmW,SAAAirB,cAAA,KASA,SAAAm7U,EAAA1zQ,GACA,IAAA4mK,EAAA5mK,EAWA,OATAwzQ,IAEAC,EAAA90D,aAAA,OAAA/3C,GACAA,EAAA6sG,EAAA7sG,MAGA6sG,EAAA90D,aAAA,OAAA/3C,GAGA,CACAA,KAAA6sG,EAAA7sG,KACAkI,SAAA2kG,EAAA3kG,SAAA2kG,EAAA3kG,SAAA7hQ,QAAA,YACAsrM,KAAAk7J,EAAAl7J,KACA88D,OAAAo+F,EAAAp+F,OAAAo+F,EAAAp+F,OAAApoQ,QAAA,aACAg4P,KAAAwuG,EAAAxuG,KAAAwuG,EAAAxuG,KAAAh4P,QAAA,YACA0mW,SAAAF,EAAAE,SACAC,KAAAH,EAAAG,KACAx+F,SAAA,MAAAq+F,EAAAr+F,SAAAjgQ,OAAA,GACAs+V,EAAAr+F,SACA,IAAAq+F,EAAAr+F,UAYA,OARAm+F,EAAAG,EAAArmW,OAAAmnF,SAAAoyK,MAQA,SAAAitG,GACA,IAAA/vE,EAAA91R,EAAA7B,SAAA0nW,GAAAH,EAAAG,KACA,OAAA/vE,EAAAh1B,WAAAykG,EAAAzkG,UACAg1B,EAAAvrF,OAAAg7J,EAAAh7J,MAhDA,GAqDA,WACA,kBACA,UAFA,2BC1CA,IAAAr2M,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAEtBmxM,EAAgBnxM,EAAQ,QA0BxB,SAAAuyW,EAAApnV,EAAA1P,EAAA+2V,EAAAtsW,GACA,IAAAwG,EAAA+O,EAAAE,UACAiL,EAAAzlB,KAAAylB,UACAnX,EAAA/C,EAAAqc,QAAAnC,GACA6rV,EAAAh3V,EAAA7U,IAAA,kBACAV,EAAAqoG,eAAA,CACAjtG,KAAA,kBACAkoD,KAAAr+B,EACA1b,OACAwjL,SAAAx3K,EAAA2R,KAEA1gB,EAAA4b,KAAA,SAAAxJ,GACA4zV,EAAAhmW,EAAA4iL,iBAAAxwK,GAAApS,EAAAkqK,cAAA93J,GAAArD,EAAAiuM,WAAAh9M,EAAAqc,QAAAjK,IAAA2zV,EAAAD,KAaA,SAAAE,EAAAxgU,EAAA9qC,EAAAsiN,EAAA+oJ,EAAAD,GACA,IAAAh+I,GAAAptN,EAAA4Y,WAAA5Y,EAAA6Y,UAAA,EACA9H,EAAAtQ,KAAAwY,IAAAm0M,GACAp8M,EAAAvQ,KAAA0Y,IAAAi0M,GACAttK,EAAAwiK,EAAA+oJ,EAAA,EACAhrW,EAAA,CAAA0Q,EAAA+uC,EAAA9uC,EAAA8uC,GACAsrT,EACAtgU,EAAAxU,UAAAC,KAAA,KACAl2B,aACG8lB,MAAA,aAAA2kB,EAAAgzC,KAAA,WAAAz9E,GASH,SAAAkrW,EAAAjmW,EAAAoS,GACAzZ,EAAA80M,MAAAj5M,KAAAC,MACA,IAAAiyN,EAAA,IAAA/tN,EAAAguN,OAAA,CACAxyL,GAAA,IAEAgiJ,EAAA,IAAAx9K,EAAAi1M,SACAn4M,EAAA,IAAAkD,EAAArE,KAMA,SAAAu5M,IACA13B,EAAAp2I,OAAAo2I,EAAA23B,YACAr4M,EAAAsqC,OAAAtqC,EAAAq4M,YAGA,SAAAC,IACA53B,EAAAp2I,OAAAo2I,EAAA63B,aACAv4M,EAAAsqC,OAAAtqC,EAAAu4M,aAZAv5M,KAAAu9B,IAAA00L,GACAjyN,KAAAu9B,IAAAmkJ,GACA1hL,KAAAu9B,IAAAv8B,GACAhB,KAAAygG,WAAAl1F,EAAAoS,GAAA,GAYA3d,KAAA4V,GAAA,WAAAwjM,GAAAxjM,GAAA,SAAA0jM,GAAA1jM,GAAA,YAAAwjM,GAAAxjM,GAAA,WAAA0jM,GAGA,IAAAm4J,EAAAD,EAAAvxW,UAEAwxW,EAAAhxQ,WAAA,SAAAl1F,EAAAoS,EAAA87L,GACA,IAAAwY,EAAAjyN,KAAA4xE,QAAA,GACAt3D,EAAA/O,EAAA49F,UACAj+E,EAAA3f,EAAA4f,aAAAxN,GACA1X,EAAAsF,EAAAkqK,cAAA93J,GACA40M,EAAA/yN,EAAAkF,OAAA,GAAoCuB,GAGpC,GAFAssN,EAAAztM,MAAA,KAEA20L,EAAA,CACAwY,EAAAvY,SAAA6Y,GACA,IAAA6yD,EAAA9qQ,EAAA6N,WAAA,iBAEA,UAAAi9P,GACAnzD,EAAArqN,MAAAgX,EAAA3Y,EAAA0Y,GACAza,EAAAiuM,UAAA8f,EAAA,CACArqN,MAAA,CACAgX,EAAA3Y,EAAA2Y,IAEOtE,EAAAqD,KAGPs0M,EAAArqN,MAAAkX,SAAA7Y,EAAA4Y,WACA3a,EAAAkuM,YAAA6f,EAAA,CACArqN,MAAA,CACAkX,SAAA7Y,EAAA6Y,WAESxE,EAAAqD,SAGTzZ,EAAAkuM,YAAA6f,EAAA,CACArqN,MAAA2qN,GACKj4M,EAAAqD,GAIL,IAAAilF,EAAAr3F,EAAAic,cAAA7J,EAAA,SACAs0M,EAAAhgB,SAAAzyM,EAAA8V,SAAA,CACAqkM,SAAA,QACAj5M,KAAAkiG,GACG13E,EAAAyP,SAAA,aAAA4wE,iBACH0mH,EAAArY,WAAA1uL,EAAAyP,SAAA,sBAAA4wE,eACA,IAAAqnH,EAAA1nM,EAAA/C,WAAA,UAKA,SAAAixL,IAGA6Y,EAAA31L,eAAA,GACA21L,EAAAtyI,UAAA,CACA/3E,MAAA,CACAgX,EAAA3Y,EAAA2Y,EAAAtE,EAAA7U,IAAA,iBAEK,kBAGL,SAAA6zM,IACA2Y,EAAA31L,eAAA,GACA21L,EAAAtyI,UAAA,CACA/3E,MAAA,CACAgX,EAAA3Y,EAAA2Y,IAEK,kBArBLg0M,GAAAX,EAAAluI,KAAA,SAAA6uI,GAEA2+I,EAAAvxW,KAAAuL,EAAAkqK,cAAA93J,GAAArD,EAAAiuM,WAAA,KAAA5qM,GAAArD,EAAA7U,IAAA,kBAAA6U,EAAA7U,IAAA,cAsBAwsN,EAAAp8M,IAAA,aAAAA,IAAA,YAAAA,IAAA,YAAAA,IAAA,UAEAqV,EAAAzlB,IAAA,mBAAA6U,EAAA2N,sBACAgqM,EAAAr8M,GAAA,YAAAwjM,GAAAxjM,GAAA,WAAA0jM,GAAA1jM,GAAA,WAAAwjM,GAAAxjM,GAAA,SAAA0jM,GAGAt5M,KAAA65M,aAAAtuM,EAAAoS,GAEAzZ,EAAA41M,cAAA95M,OAGAyxW,EAAA53J,aAAA,SAAAtuM,EAAAoS,GACA,IAAAu7L,EAAAl5M,KAAA4xE,QAAA,GACAmoI,EAAA/5M,KAAA4xE,QAAA,GACAt3D,EAAA/O,EAAA49F,UACAj+E,EAAA3f,EAAA4f,aAAAxN,GACA1X,EAAAsF,EAAAkqK,cAAA93J,GACAq8L,EAAA/zM,EAAA6e,MACA89E,EAAAr3F,EAAAic,cAAA7J,EAAA,SACAzZ,EAAAkuM,YAAA8G,EAAA,CACAtxM,MAAA,CACA8/D,OAAAsyI,EAAAp8L,YAAA,EAAAo8L,EAAAh4M,EAAAg4M,EAAA/3M,GAAA,CAAA+3M,EAAAh4M,EAAAg4M,EAAA/3M,GAAA,CAAA+3M,EAAAh4M,EAAAg4M,EAAA/3M,MAEGqY,EAAAqD,GACHzZ,EAAAkuM,YAAA2H,EAAA,CACAx5M,MAAA,CACAyB,EAAAg4M,EAAAh4M,EACAC,EAAA+3M,EAAA/3M,IAEGqY,EAAAqD,GACHo8L,EAAAh2H,KAAA,CACAv9E,SAAAwzM,EAAAxzM,SACA8tF,OAAA,CAAA0lH,EAAAh4M,EAAAg4M,EAAA/3M,GACAy9B,GAAA,KAEA,IAAAgqE,EAAAx+E,EAAAyP,SAAA,SACAs/K,EAAA/uL,EAAAyP,SAAA,kBACAu/K,EAAAhvL,EAAAyP,SAAA,aACAw/K,EAAAjvL,EAAAyP,SAAA,sBACAioE,EAAAr3F,EAAAic,cAAA7J,EAAA,SACAzZ,EAAAk2M,cAAAL,EAAAx5M,MAAAw5M,EAAAH,WAAA,GAAkElwG,EAAAuwG,EAAA,CAClEI,aAAA9uM,EAAA49F,UACAmxG,eAAA38L,EACA48L,YAAAhvM,EAAAqc,QAAAjK,GACAo2L,UAAAnxG,EACA43G,iBAAAR,EAAA1pG,QACG,CACH3uG,UAAAq4M,EAAAr4M,UACAC,kBAAAo4M,EAAAzyM,cACAusD,QAAAvoD,EAAAic,cAAA7J,EAAA,aAEAo8L,EAAAzuK,OAAAyuK,EAAAR,cAAA7vG,EAAAjkG,IAAA,QACAs0M,EAAAV,aAAAY,EAAAx0M,IAAA,QACAyzM,EAAA5tK,OAAA4tK,EAAAK,cAAAW,EAAAz0M,IAAA,QACAyzM,EAAAG,aAAAc,EAAA10M,IAAA,QAEAyzM,EAAA1xF,SAAA,CACA7mH,OAAAiiG,EACA9uC,QAAAvoD,EAAAic,cAAA7J,EAAA,aAEAu7L,EAAA1xF,SAAA0yF,EAAAv/K,SAAA,aAAA8/K,gBACAvB,EAAAU,WAAAO,EAAAx/K,SAAA,aAAA8/K,eACA,IAAAolC,EAAA3lC,EAAAz0M,IAAA,UAEAo6O,IAAA,IAAAA,IACAA,EAAA,IAGA3mC,EAAAQ,SAAA,CACAmmC,YAIArgP,EAAAgD,SAAAgvW,EAAAttW,EAAA80M,OAEA,IAAA04J,EAAA1hK,EAAAtrM,OAAA,CACAvE,KAAA,MACA+iB,KAAA,WACA,IAAAyuV,EAAA,IAAAztW,EAAA80M,MACAh5M,KAAA4xW,aAAAD,GAEAz+S,OAAA,SAAA54C,EAAAC,EAAAxV,EAAAynB,GACA,IAAAA,KAAA67B,OAAAroD,KAAAgqB,IAAA,CAIA,IAAAze,EAAA+O,EAAAE,UACAu7L,EAAA/1M,KAAA+gG,MACAt7B,EAAAzlE,KAAAylE,MACA4rS,EAAA92V,EAAA9U,IAAA,aACAwhN,GAAAlR,EACAqvE,EAAA9qQ,EAAA7U,IAAA,iBACAosW,EAAAryW,EAAAmqB,MAAAynV,EAAApxW,KAAAgqB,IAAA1P,EAAA+2V,EAAAtsW,GACA69V,EAAAtoV,EAAA7U,IAAA,gBAyBA,GAxBA8F,EAAAqR,KAAAm5L,GAAAx4K,IAAA,SAAA5f,GACA,IAAAi9L,EAAA,IAAA42J,EAAAjmW,EAAAoS,GAEAspM,GAAA,UAAAm+D,GACAxqE,EAAAtoI,UAAA,SAAAlgD,GACAA,EAAAkK,eAAA,KAIAsmU,GAAAhoJ,EAAAhlM,GAAA,QAAAi8V,GACAtmW,EAAAgpM,iBAAA52L,EAAAi9L,GACAn1I,EAAAloC,IAAAq9K,KACKruL,OAAA,SAAAypL,EAAAC,GACL,IAAA2E,EAAA7E,EAAA5nB,iBAAA8nB,GACA2E,EAAAn6G,WAAAl1F,EAAAyqM,GACA4E,EAAA/kM,IAAA,SACA+sV,GAAAhoJ,EAAAhlM,GAAA,QAAAi8V,GACApsS,EAAAloC,IAAAq9K,GACArvM,EAAAgpM,iBAAAyB,EAAA4E,KACKpuM,OAAA,SAAAmR,GACL,IAAAi9L,EAAA7E,EAAA5nB,iBAAAxwK,GACA8nD,EAAAj5D,OAAAouM,KACKnF,UAEL47J,GAAApqJ,GAAA17M,EAAAoO,QAAA,GACA,UAAAyrQ,EAAA,CACA,IAAAx9Q,EAAA2D,EAAAkqK,cAAA,GACA72J,EAAAlY,KAAAS,IAAApC,EAAAwJ,WAAAxJ,EAAAu5D,aAAA,EACA8+N,EAAA59R,EAAAoJ,KAAA68D,EAAA23N,eAAA33N,GACAA,EAAA43N,YAAAr9R,KAAA8xW,gBAAAlqW,EAAA6W,GAAA7W,EAAA8W,GAAAE,EAAAhX,EAAAiX,WAAAjX,EAAAmX,UAAAq+Q,EAAA9iR,SAGAmrD,EAAA23N,iBAGAp9R,KAAA+gG,MAAAx1F,IAEAuK,QAAA,aACAg8V,gBAAA,SAAArzV,EAAAC,EAAAE,EAAAC,EAAAE,EAAAgX,EAAAzb,GACA,IAAA45N,EAAA,IAAAhwO,EAAAguN,OAAA,CACAtqN,MAAA,CACA6W,KACAC,KACAC,GAAA,EACAC,IACAC,aACAC,SAAAD,EACAE,eAQA,OALA7a,EAAAiuM,UAAA+hC,EAAA,CACAtsO,MAAA,CACAkX,SAAAD,GAAAE,EAAA,MAAArY,KAAAC,GAAA,IAEK2T,EAAAyb,GACLm+M,GAMAv/K,aAAA,SAAAkV,EAAAvvD,GACA,IAAA/O,EAAA+O,EAAAE,UACAg6M,EAAAjpN,EAAAkqK,cAAA,GAEA,GAAA++C,EAAA,CACA,IAAAx9M,EAAA6yD,EAAA,GAAA2qJ,EAAA/1M,GACAxH,EAAA4yD,EAAA,GAAA2qJ,EAAA91M,GACAvC,EAAAzV,KAAAk+C,KAAA5tC,IAAAC,KACA,OAAAkF,GAAAq4M,EAAA51M,GAAAzC,GAAAq4M,EAAA71M,OAIAlc,EAAAivW,EACAhvW,EAAAC,QAAAF,sBCtTA,SAAAsvW,EAAA9kV,EAAAolD,EAAA2/R,GACA,IAEA30V,EAFAq4I,EAAA,CAAAzoI,GACAlpB,EAAA,GAGA,MAAAsZ,EAAAq4I,EAAArpI,MAIA,GAFAtoB,EAAA4O,KAAA0K,GAEAA,EAAA40V,SAAA,CACA,IAAA9tS,EAAA9mD,EAAA8mD,SAEA,GAAAA,EAAA5gE,OACA,QAAAwH,EAAA,EAAuBA,EAAAo5D,EAAA5gE,OAAqBwH,IAC5C2qJ,EAAA/iJ,KAAAwxD,EAAAp5D,IAMA,MAAAsS,EAAAtZ,EAAAsoB,MAEAgmD,EAAAh1D,EAAA20V,GAUA,SAAAE,EAAAjlV,EAAAolD,GACA,IACAh1D,EADAq4I,EAAA,CAAAzoI,GAGA,MAAA5P,EAAAq4I,EAAArpI,MAIA,GAFAgmD,EAAAh1D,GAEAA,EAAA40V,SAAA,CACA,IAAA9tS,EAAA9mD,EAAA8mD,SAEA,GAAAA,EAAA5gE,OACA,QAAAwH,EAAAo5D,EAAA5gE,OAAA,EAAyCwH,GAAA,EAAQA,IACjD2qJ,EAAA/iJ,KAAAwxD,EAAAp5D,KAOApI,EAAAovW,YACApvW,EAAAuvW,qCC7EA,IAAA1yW,EAAaX,EAAQ,QAoBrB,SAAA4D,EAAA0gB,GAEA,IAAA8nV,EAAA,GACAzrW,EAAA2nB,KAAAhE,EAAAyC,OAAA,SAAAqsO,GACAA,GAAA,QAAAA,EAAA9xP,OACA8qW,EAAAt4V,KAAAs/O,GACAA,EAAA7kP,IAAA6kP,EAAA7kP,KAAA6kP,EAAAb,QAEA5xP,EAAA8V,SAAA28O,IAAAkgH,gBAKAzvW,EAAAC,QAAAF,0BCrDA,IAAA6hE,EAAWzlE,EAAQ,QAEnBkV,EAAelV,EAAQ,QAEvB6kW,EAAoB7kW,EAAQ,QAE5BuzW,EAAiBvzW,EAAQ,QAEzBW,EAAaX,EAAQ,QASrBwzW,EAAA,SAAAvyW,GAEA4jW,EAAA3jW,KAAAC,KAAAF,GACAiU,EAAAhU,KAAAC,KAAAF,GACAsyW,EAAAryW,KAAAC,KAAAF,GAMAE,KAAAisB,GAAAnsB,EAAAmsB,IAAAq4C,KAGA+tS,EAAApyW,UAAA,CAMAE,KAAA,UAOAmO,KAAA,GAQA4jB,KAAA,KASAoZ,QAAA,EASA4oM,SAAA,KAMA/9B,SAAA,EAOAkK,MAAA,SAAArpM,EAAAC,GACA,OAAAjX,KAAAsW,WACA,iBACAW,EAAA,EACA,MAEA,eACAD,EAAA,EACA,MAGA,IAAAuW,EAAAvtB,KAAA6G,UAEA0mB,IACAA,EAAAvtB,KAAA6G,UAAA,eAGA0mB,EAAA,IAAAvW,EACAuW,EAAA,IAAAtW,EACAjX,KAAAs8N,qBACAt8N,KAAA2kB,OAAA,IAMAs2K,aAAA,aAKAC,YAAA,aAKA3uK,OAAA,WACAvsB,KAAAsiH,mBAOAnwF,SAAA,SAAA4D,EAAArS,KAKAixQ,OAAA,SAAA1pR,EAAAhH,GACA,gBAAAgH,GAAA,UAAAA,GAAA,WAAAA,GAEA,GAAAhH,EAAA,CACA,IAAAoS,EAAArW,KAAAiL,GAEAoL,IACAA,EAAArW,KAAAiL,GAAA,IAGAoL,EAAA,GAAApS,EAAA,GACAoS,EAAA,GAAApS,EAAA,SAGAjE,KAAAiL,GAAAhH,GAOAmzT,KAAA,WACAp3T,KAAAsrC,QAAA,EACAtrC,KAAAkyB,MAAAlyB,KAAAkyB,KAAAiB,WAMA+oF,KAAA,WACAl8G,KAAAsrC,QAAA,EACAtrC,KAAAkyB,MAAAlyB,KAAAkyB,KAAAiB,WAOA4wD,KAAA,SAAA94E,EAAAhH,GACA,qBAAAgH,EACAjL,KAAA20R,OAAA1pR,EAAAhH,QACK,GAAAzE,EAAAoK,SAAAqB,GACL,QAAAqD,KAAArD,EACAA,EAAAC,eAAAoD,IACAtO,KAAA20R,OAAArmR,EAAArD,EAAAqD,IAMA,OADAtO,KAAA2kB,OAAA,GACA3kB,MAMAq9R,YAAA,SAAAnpD,GACA,IAAA//N,EAAAnU,KAAAkyB,KAEA/d,GACA+/N,EAAAo+H,YAAAn+V,GAIAnU,KAAAk0O,UAAAl0O,KAAAk0O,cACAl0O,KAAAo9R,iBAGAp9R,KAAAk0O,WACAA,EAAAhiN,KAAA/d,EACA+/N,EAAAugD,aAAAz0R,KACAA,KAAA2kB,OAAA,IAKAy4Q,eAAA,WACA,IAAAlpD,EAAAl0O,KAAAk0O,SAEAA,IACAA,EAAAhiN,MACAgiN,EAAAq+H,iBAAAr+H,EAAAhiN,MAGAgiN,EAAAhiN,KAAA,KACAgiN,EAAAugD,aAAA,KACAz0R,KAAAk0O,SAAA,KACAl0O,KAAA2kB,OAAA,KASA2tV,YAAA,SAAAn+V,GACAnU,KAAAkyB,KAAA/d,EAEA,IAAAwtE,EAAA3hF,KAAA2hF,UAEA,GAAAA,EACA,QAAA52E,EAAA,EAAqBA,EAAA42E,EAAAp+E,OAAsBwH,IAC3CoJ,EAAAupE,UAAA2vD,YAAA1rD,EAAA52E,IAIA/K,KAAAk0O,UACAl0O,KAAAk0O,SAAAo+H,YAAAn+V,IASAo+V,iBAAA,SAAAp+V,GACAnU,KAAAkyB,KAAA,KAEA,IAAAyvD,EAAA3hF,KAAA2hF,UAEA,GAAAA,EACA,QAAA52E,EAAA,EAAqBA,EAAA42E,EAAAp+E,OAAsBwH,IAC3CoJ,EAAAupE,UAAA6vD,eAAA5rD,EAAA52E,IAIA/K,KAAAk0O,UACAl0O,KAAAk0O,SAAAq+H,iBAAAp+V,KAIA3U,EAAAoZ,MAAAy5V,EAAAD,GACA5yW,EAAAoZ,MAAAy5V,EAAA3O,GACAlkW,EAAAoZ,MAAAy5V,EAAAt+V,GACA,IAAAtR,EAAA4vW,EACA3vW,EAAAC,QAAAF,0BCxPA,IAAAjD,EAAaX,EAAQ,QAErB8hR,EAAc9hR,EAAQ,QAEtB2zW,EAAgB3zW,EAAQ,QAExByiB,EAAUziB,EAAQ,QAElB8wE,EAAiB9wE,EAAQ,QAoBzBsoB,EAAA3nB,EAAA2nB,KACAs/H,EAAA92E,EAAA82E,YACAgsN,EAAA,8BACAC,EAAA,yFAOA,SAAAC,EAAA72U,GACA,IAAA82U,EAAA,iCACAC,EAAA,QAAA/2U,EAAA,KAAA82U,EAAA,QAAA92U,EAAA,KAAA82U,EACA,OAAApzW,EAAA4N,IAAAqlW,EAAA,SAAAK,GACA,OAAAA,EAAA,cAAAD,IACG7iW,KAAA,KASH,SAAA+iW,EAAAppQ,GACA,IAAAwf,EAAA,GACAz1G,EAAAi2F,EAAAlkG,IAAA,YACAqhB,EAAA6iF,EAAAk1G,eAQA,OAPA/3L,GAAAqiG,EAAAx2G,KAAA,SAAAmU,GACAqiG,EAAAx2G,KAAA,QAAAg3F,EAAAuqG,WACAxgM,GAAAy1G,EAAAx2G,KAAA,eAAAjM,KAAAwT,MAAA,EAAAxG,EAAA,SACAyT,EAAA,gCAAA7Y,GACA,IAAArF,EAAA0gG,EAAAlkG,IAAA6I,GACArF,GAAAkgH,EAAAx2G,KAAA,QAAArE,EAAA,IAAArF,KAEAkgH,EAAAn5G,KAAA,KASA,SAAAgjW,EAAAvqJ,GACA,IAAAt/F,EAAA,GACAu+E,EAAA+gB,EAAAhjN,IAAA,sBACAi3G,EAAA+rG,EAAAhjN,IAAA,mBACAkkG,EAAA8+G,EAAA9tL,SAAA,aACAzpB,EAAAu3M,EAAAhjN,IAAA,WA4BA,OA1BAiiM,GAAAv+E,EAAAx2G,KAAAggW,EAAAjrK,IAEAhrF,IACAp7F,EAAA2gN,gBACA94G,EAAAx2G,KAAA,oBAAA+pG,IAGAyM,EAAAx2G,KAAA,qBAAAguQ,EAAA3mJ,MAAAtd,IACAyM,EAAAx2G,KAAA,8BAKAwU,EAAA,oCAAA7Y,GACA,IAAA2kW,EAAA,UAAA3kW,EACA4kW,EAAAzsN,EAAAwsN,GACAhqW,EAAAw/M,EAAAhjN,IAAAytW,GACA,MAAAjqW,GAAAkgH,EAAAx2G,KAAAsgW,EAAA,IAAAhqW,GAAA,UAAAqF,EAAA,YAGA66G,EAAAx2G,KAAAogW,EAAAppQ,IAEA,MAAAz4F,GACAi4G,EAAAx2G,KAAA,WAAAg9D,EAAAxlB,kBAAAj5C,GAAAlB,KAAA,aAGAm5G,EAAAn5G,KAAA,KAAwB,IAQxB,SAAAmjW,EAAAxjM,EAAA5qK,GACA,GAAAuc,EAAAq9P,IACA,YAGA,IAAA5tO,EAAAnmC,SAAAirB,cAAA,OACA1hB,EAAAnU,KAAAqU,IAAAtP,EAAA2sB,QACA1xB,KAAA+wC,KACA/wC,KAAAyW,GAAA1R,EAAAwJ,WAAA,EACAvO,KAAA0W,GAAA3R,EAAAu5D,YAAA,EACAqxG,EAAAywD,YAAArvL,GACA/wC,KAAAozW,WAAAzjM,EACA3vK,KAAAqzW,OAAA,EAKArzW,KAAAszW,aACA,IAAA5rU,EAAA1nC,KAEA+wC,EAAAwiU,aAAA,WAEA7rU,EAAA8rU,aACAzyR,aAAAr5C,EAAA4rU,cACA5rU,EAAA2rU,OAAA,GAGA3rU,EAAA+rU,YAAA,GAGA1iU,EAAA46E,YAAA,SAAAx1G,GAGA,GAFAA,KAAAxL,OAAAwM,OAEAuwB,EAAA8rU,WAAA,CAGA,IAAA1/Q,EAAA3/E,EAAA2/E,QACA0+Q,EAAA59B,eAAAjlK,EAAAx5J,GAAA,GACA29E,EAAA80C,SAAA,YAAAzyH,KAIA46B,EAAA2iU,aAAA,WACAhsU,EAAA8rU,YACA9rU,EAAA2rU,OACA3rU,EAAAisU,UAAAjsU,EAAAksU,YAIAlsU,EAAA+rU,YAAA,GAIAN,EAAAlzW,UAAA,CACAC,YAAAizW,EAMAK,YAAA,EAKAjnV,OAAA,WAGA,IAAAojJ,EAAA3vK,KAAAozW,WACA30H,EAAA9uE,EAAA+uE,cAAA9zO,SAAAs1Q,YAAAtJ,iBAAAjnG,GACAkkM,EAAAlkM,EAAApvK,MAEA,aAAAszW,EAAAvtW,UAAA,aAAAm4O,EAAAn4O,WACAutW,EAAAvtW,SAAA,aAMA41G,KAAA,SAAAusG,GACA1nI,aAAA/gF,KAAAszW,cACA,IAAAviU,EAAA/wC,KAAA+wC,GACAA,EAAAxwC,MAAA4oH,QAAAupP,EAAAM,EAAAvqJ,GACA,SAAQzoN,KAAAyW,GAAA,UAAuBzW,KAAA0W,GAAA,OAAsB+xM,EAAAhjN,IAAA,qBACrDsrC,EAAAxwC,MAAAm/Q,QAAA3uO,EAAAs4E,UAAA,eAMAt4E,EAAAxwC,MAAAuzW,cAAA9zW,KAAAwzW,WAAA,cACAxzW,KAAAqzW,OAAA,GAEAU,WAAA,SAAA/sV,GACAhnB,KAAA+wC,GAAAs4E,UAAA,MAAAriG,EAAA,GAAAA,GAEAgtV,aAAA,SAAArsK,GACA3nM,KAAAwzW,WAAA7rK,GAEAt7C,QAAA,WACA,IAAAt7G,EAAA/wC,KAAA+wC,GACA,OAAAA,EAAA4tM,YAAA5tM,EAAA+tM,eAEAz/N,OAAA,SAAArd,EAAAC,GAIA,IACAgyW,EADA9/V,EAAAnU,KAAAqU,IAGAF,KAAA+yG,UAAA+sP,EAAA9/V,EAAA+yG,QAAA42H,2BACA97O,GAAAiyW,EAAAj2H,WACA/7O,GAAAgyW,EAAAh2H,WAGA,IAAA19O,EAAAP,KAAA+wC,GAAAxwC,MACAA,EAAA+uC,KAAAttC,EAAA,KACAzB,EAAAkvC,IAAAxtC,EAAA,KACAjC,KAAAyW,GAAAzU,EACAhC,KAAA0W,GAAAzU,GAEAm1T,KAAA,WACAp3T,KAAA+wC,GAAAxwC,MAAAm/Q,QAAA,OACA1/Q,KAAAqzW,OAAA,GAEAM,UAAA,SAAA57U,IACA/3B,KAAAqzW,OAAArzW,KAAAyzW,YAAAzzW,KAAAwzW,aACAz7U,GACA/3B,KAAA4zW,WAAA77U,EAEA/3B,KAAAqzW,OAAA,EACArzW,KAAAszW,aAAArnT,WAAAzsD,EAAAoJ,KAAA5I,KAAAo3T,KAAAp3T,MAAA+3B,IAEA/3B,KAAAo3T,SAIA88C,OAAA,WACA,OAAAl0W,KAAAqzW,OAEAc,aAAA,WACA,IAAA7xW,EAAAtC,KAAA+wC,GAAA4tM,YACAp8O,EAAAvC,KAAA+wC,GAAA+tM,aAGA,GAAAl0O,SAAAs1Q,aAAAt1Q,SAAAs1Q,YAAAtJ,iBAAA,CACA,IAAAn4B,EAAA7zO,SAAAs1Q,YAAAtJ,iBAAA52Q,KAAA+wC,IAEA0tM,IACAn8O,GAAA6Q,SAAAsrO,EAAAG,YAAA,IAAAzrO,SAAAsrO,EAAAI,aAAA,IAAA1rO,SAAAsrO,EAAA21H,gBAAA,IAAAjhW,SAAAsrO,EAAA41H,iBAAA,IACA9xW,GAAA4Q,SAAAsrO,EAAAM,WAAA,IAAA5rO,SAAAsrO,EAAAO,cAAA,IAAA7rO,SAAAsrO,EAAA61H,eAAA,IAAAnhW,SAAAsrO,EAAA81H,kBAAA,KAIA,OACAjyW,QACAC,YAIA,IAAAE,EAAA0wW,EACAzwW,EAAAC,QAAAF,uCC9RA,SAAA+xW,EAAAlqT,GACAtqD,KAAAsqD,UAGAkqT,EAAAv0W,UAAA6I,SAAA,WACA,gBAAA9I,KAAAsqD,QAAA,KAAAtqD,KAAAsqD,QAAA,KAGAkqT,EAAAv0W,UAAAuN,YAAA,EAEA9K,EAAAC,QAAA6xW,0BCEA,IAAA51W,EAAcC,EAAQ,QAEtBupF,EAAWvpF,EAAQ,QAEnBW,EAAaX,EAAQ,QAErBs8I,EAAat8I,EAAQ,QAErB0lB,EAAA42H,EAAA52H,gBAEAm+H,EAAY7jJ,EAAQ,QAEpB0iB,EAAc1iB,EAAQ,QAEtB4iB,EAAAF,EAAAE,WAEAgzV,EAA8B51W,EAAQ,QAoBtCwpL,EAAAzpL,EAAAu6K,kBAAA,CACAh5K,KAAA,eACA+iB,KAAA,SAAAC,GACAklK,EAAA/hB,WAAAtmK,KAAA,OAAA2I,WAEA3I,KAAA+iB,mBAAA,WACA,OAAA/iB,KAAAsoL,iBAGAtoL,KAAAwkB,kBAAArB,EAAAqlK,OAAArlK,EAAAslK,OAEAzoL,KAAAuoL,yBAEA9jK,YAAA,SAAAtB,GACAklK,EAAA/hB,WAAAtmK,KAAA,cAAA2I,WACA3I,KAAAwkB,kBAAArB,EAAAqlK,OAAArlK,EAAAslK,OAEAzoL,KAAAuoL,yBAEA3kK,qBAAA,SAAAT,GACAklK,EAAA/hB,WAAAtmK,KAAA,uBAAA2I,WACA4b,EAAApB,EAAA,yBAEAU,eAAA,SAAAV,EAAA5I,GACA,IAAAiuK,EAAArlK,EAAAqlK,OAAArlK,EAAAslK,OAAA,GACA/yB,EAAAvyI,EAAA5X,MAAA4X,EAAAuyI,OAAA,GACAhuH,EAAA1nC,KAEA,GAAA01J,GAAA8yB,EACA,OAAAisL,EAAA/+M,EAAA8yB,EAAAxoL,MAAA,EAAA0oL,GAAAn9K,KAGA,SAAAm9K,EAAAC,EAAAZ,GAEAY,EAAAj/J,WAAA,wBAAA/F,GACA,IAAAilK,EAAAlhJ,EAAAmhJ,kBACAC,EAAAnlK,EAAAwE,WAAA,YACA4gK,EAAAH,EAAAE,GAOA,OALAC,IACAA,EAAA3lK,YAAAO,EAAAP,YACAO,EAAAP,YAAA2lK,GAGAplK,IAEA,IAAAqlK,EAAAthJ,EAAA/M,SAAA,aAEAsuJ,EAAA,IAAAvmC,EAAA,CACA59H,MAAAkkK,EAAA7lK,QACO6lK,EAAA5lK,YAAA7I,GACPm6V,EAAAhtU,EAAA/M,SAAA,sBACAg6U,EAAA,IAAAjyN,EAAA,CACA7lC,SAAA,CACA/3F,MAAA4vV,EAAAvxV,SAEOuxV,EAAAtxV,YAAA7I,GAMP,SAAA2uK,EAAAzkH,GAEA,OADAA,EAAAzkE,KAAAmpL,UAAA1kH,GACAA,GAAA,UAAAA,EAAA,GAAAwkH,EAAAxkH,GAAA,aAAAA,EAAA,cAAAA,EAAA,GAAAkwS,EAAA30W,KAAAojB,YAPA2kK,EAAAr+J,WAAA,wBAAA/F,GAEA,OADAA,EAAAylK,mBAAAF,GACAvlK,MAaAmkK,SAAA,WACA,OAAA9nL,KAAAwa,UAAAsC,OAMAkrK,YAAA,WACA,OAAAhoL,KAAA8nL,WAAAC,UAMAH,kBAAA,WACA,OAAA5nL,KAAAsoL,iBAMA9iK,cAAA,SAAAC,EAAAC,EAAAR,GACA,YAAAA,EAAA,CACA,IAAAyjK,EAAA3oL,KAAAwa,UACAwK,EAAAhlB,KAAAgrB,cAAAvF,EAAAP,GACAxH,EAAAirK,EAAA7rK,MAAAqrK,eAAA1iK,GACA4jK,EAAAV,EAAA/gK,QAAAlK,EAAAQ,MAAAuH,WACA6jK,EAAAX,EAAA/gK,QAAAlK,EAAAS,MAAAsH,WACAuC,EAAA,GASA,OARA,MAAAqhK,GAAArhK,EAAArV,KAAA02K,GACA,MAAAC,GAAAthK,EAAArV,KAAA22K,GACAthK,EAAAvG,EAAAuG,EAAAhY,KAAA,QAEAgV,EAAA/gB,QACA+jB,GAAA,MAAAvG,EAAAuD,EAAA/gB,QAGA+jB,EAGA,OAAAqgK,EAAA/hB,WAAAtmK,KAAA,gBAAA2I,YAGA4/K,sBAAA,WACA,IAAA/wC,EAAAh4I,EAAA4N,IAAApN,KAAAmjB,OAAAq0H,YAAA,YAAA2B,GAEA,aAAAA,EAAAl1I,MAAAk1I,EAAA35I,EAAAkF,OAAA,CACAT,MAAA,GACOk1I,KAEPwuC,EAAA,IAAAv/F,EAAA,UAAApoF,MACA2nL,EAAAr/F,SAAAkvD,GACAx3I,KAAAsoL,gBAAAX,EACA3nL,KAAA6oL,kBAAAlB,EAAA4B,SAAA,SAAA5rK,GACA,OAAAgqK,EAAAx8J,aAAAxN,GAAA,MAGA+wJ,QAAA,SAAA1sD,GACAhiH,KAAAmjB,OAAA6+F,QAEApjC,UAAA,SAAA1iE,GACAlc,KAAAmjB,OAAAjH,UAEA+L,mBAAA,WACA,OAAAogK,EAAAqB,UAAA1pL,KAAA,yBACA,UAAAA,KAAAyF,IAAA,WAAAzF,KAAAyF,IAAA,2BAEAqd,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EACAj4B,iBAAA,OAMAykL,iBAAA,EACAwkD,gBAAA,EACAloO,OAAA,KACAykL,oBAAA,EAEAkqL,SAAA,CACAC,aAAA,GAGAh7Q,MAAA,CACAgwF,WAAA,KAEA+qI,UAAA,OACAxqI,QAAA,GAEAyqI,WAAA,GACAigD,iBAAA,GAEAxlU,KAAA,SACAG,IAAA,SAKAhlB,OAAA,SACAnN,WAAA,GACAy3V,WAAA,gBACAC,eAAA,GACAC,UAAA,CACA3uW,SAAA,UAEAgQ,WAAA,EACAs0K,MAAA,EAEA1uK,OAAA,KACA8lG,KAAA,EAEAkzP,eAAA,GAUApwV,MAAA,CACAo3F,MAAA,EACArsC,UAAA,OAEAy7B,UAAA,GACAmuC,UAAA,CACA3yH,MAAA,OACAxkB,MAAA,EACAojM,UAAA,EACA5xI,QAAA,IAEA+oD,SAAA,CACA/3F,MAAA,CACAo3F,MAAA,OAKAz5G,EAAA4lL,EACA3lL,EAAAC,QAAAF,0BC1PA,IAAA7D,EAAcC,EAAQ,QAEtBA,EAAQ,QAyBRD,EAAA0tB,eAAA,CACAnsB,KAAA,WACAgX,MAAA,WAEAoV,OAAA,UACC,SAAAC,EAAAjS,GACDA,EAAA8kG,cAAA,CACArzF,SAAA,SACA7H,QAAA,SACA6xH,MAAAxpH,GACG,SAAAlS,GACHA,EAAAkvK,gBAAAh9J,EAAA/G,UAAA,CAAA+G,EAAAopR,OAAAppR,EAAAqpR,qCCtCA,IAAAj3S,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAER,IAAAC,EAAgBD,EAAQ,QAExBs2W,EAAmBt2W,EAAQ,QAE3BI,EAAiBJ,EAAQ,QAoBzBD,EAAAO,eAAAL,EAAA,WACAF,EAAAQ,eAAA+1W,GACAv2W,EAAAS,kBAAAJ,EAAA,mCCpDA,IAAAsf,EAAW1f,EAAQ,QAEnBu2W,EAAiBv2W,EAAQ,QAMzB4D,EAAA8b,EAAA7Z,OAAA,CACAvE,KAAA,UACAyH,MAAA,CACA8/D,OAAA,KACAm4K,QAAA,EACAw1H,iBAAA,MAEAr2V,UAAA,SAAA3e,EAAAuH,GACAwtW,EAAAp2V,UAAA3e,EAAAuH,GAAA,MAIAlF,EAAAC,QAAAF,0BCpBA,IAAAjD,EAAaX,EAAQ,QAErB+9N,EAAe/9N,EAAQ,QAWvBi+M,EAAA,SAAA96M,EAAAC,EAAAu9B,EAAAC,EAAAhY,EAAA6tV,GAIAt1W,KAAAgC,EAAA,MAAAA,EAAA,EAAAA,EACAhC,KAAAiC,EAAA,MAAAA,EAAA,EAAAA,EACAjC,KAAAw/B,GAAA,MAAAA,EAAA,EAAAA,EACAx/B,KAAAy/B,GAAA,MAAAA,EAAA,EAAAA,EAEAz/B,KAAAG,KAAA,SAEAH,KAAAkrD,OAAAoqT,IAAA,EACA14I,EAAA78N,KAAAC,KAAAynB,IAGAq1L,EAAA78M,UAAA,CACAC,YAAA48M,GAEAt9M,EAAAgD,SAAAs6M,EAAA8f,GACA,IAAAn6N,EAAAq6M,EACAp6M,EAAAC,QAAAF,wBCjCAC,EAAAC,QAAA,SAAA4yW,EAAAtxW,GACA,OACA2pB,aAAA,EAAA2nV,GACA5nV,eAAA,EAAA4nV,GACAppC,WAAA,EAAAopC,GACAtxW,kCCLApF,EAAQ,SAER,IAAA4sO,EAAe5sO,EAAQ,QAEvB6sO,EAAAD,EAAAC,gBAEAC,EAAc9sO,EAAQ,QAEtB6sO,EAAA,MAAAC,yBC8BA,SAAA6pI,EAAA3wS,GACA,OAAAA,EAWA,SAAAkrI,EAAAg1F,EAAAD,EAAA2wE,EAAAC,EAAAhyV,GACA1jB,KAAA21W,KAAA5wE,EACA/kS,KAAA41W,KAAA9wE,EACA9kS,KAAA61W,cAAAJ,GAAAD,EACAx1W,KAAA81W,cAAAJ,GAAAF,EACAx1W,KAAA0jB,UAuFA,SAAAqyV,EAAAt4U,EAAArwB,EAAA4oW,EAAAC,EAAAC,GACA,QAAAnrW,EAAA,EAAiBA,EAAA0yB,EAAAl6B,OAAgBwH,IAAA,CAEjC,IAAAE,EAAA,OAAAirW,EAAAD,GAAAx4U,EAAA1yB,MACAorW,EAAA/oW,EAAAnC,GAEA,MAAAkrW,GACAH,EAAArjW,KAAA1H,GACAmC,EAAAnC,GAAAF,IAEAorW,EAAA5yW,SACA6J,EAAAnC,GAAAkrW,EAAA,CAAAA,IAGAA,EAAAxjW,KAAA5H,KAlGAglM,EAAA9vM,UAAA,CACAC,YAAA6vM,EAKAxyK,IAAA,SAAAisB,GAEA,OADAxpD,KAAAo2W,KAAA5sT,EACAxpD,MAMAusB,OAAA,SAAAi9B,GAEA,OADAxpD,KAAA29E,QAAAn0B,EACAxpD,MAMAwM,OAAA,SAAAg9C,GAEA,OADAxpD,KAAAq2W,QAAA7sT,EACAxpD,MAEAy1M,QAAA,WACA,IAAAsvF,EAAA/kS,KAAA21W,KACA7wE,EAAA9kS,KAAA41W,KACAU,EAAA,GACAC,EAAA,GACAC,EAAA,GACAC,EAAA,GAOA,IALAV,EAAAhxE,EAAAuxE,EAAAE,EAAA,gBAAAx2W,MACA+1W,EAAAjxE,EAAAyxE,EAAAE,EAAA,gBAAAz2W,MAIA+K,EAAA,EAAeA,EAAAg6R,EAAAxhS,OAAmBwH,IAAA,CAClC,IAAAE,EAAAurW,EAAAzrW,GACA4S,EAAA44V,EAAAtrW,GAEA,SAAA0S,EAAA,CAGA,IAAAlR,EAAAkR,EAAApa,OAEAkJ,GACA,IAAAA,IAAA8pW,EAAAtrW,GAAA,MACA0S,IAAAw3D,WAEAohS,EAAAtrW,GAAA,KAGAjL,KAAA29E,SAAA39E,KAAA29E,QAAAhgE,EAAA5S,QAEA/K,KAAAq2W,SAAAr2W,KAAAq2W,QAAAtrW,GAIA,QAAAA,EAAA,EAAmBA,EAAA0rW,EAAAlzW,OAA0BwH,IAAA,CAC7CE,EAAAwrW,EAAA1rW,GAEA,GAAAwrW,EAAArrW,eAAAD,GAAA,CACA0S,EAAA44V,EAAAtrW,GAEA,SAAA0S,EACA,SAIA,GAAAA,EAAApa,OAGA,KAAAmN,EAAA,MAAAjE,EAAAkR,EAAApa,OAA2CmN,EAAAjE,EAASiE,IACpD1Q,KAAAo2W,MAAAp2W,KAAAo2W,KAAAz4V,EAAAjN,SAHA1Q,KAAAo2W,MAAAp2W,KAAAo2W,KAAAz4V,OA8BA,IAAAlb,EAAAstM,EACArtM,EAAAC,QAAAF,0BC9IA,IAAA7D,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAoBRD,EAAAU,qBAAA,SAAA8V,GAEAA,EAAA+8O,SAAA/8O,EAAA+8O,UAAA,6BC1BA,IAAAvzP,EAAcC,EAAQ,QAEtBmrR,EAAmBnrR,EAAQ,QAE3BA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,SAERA,EAAQ,QAwBRD,EAAAU,qBAAA0qR,2BCxDA,IAAAp4P,EAAW/yB,EAAQ,QAEnB2c,EAAW3c,EAAQ,QAEnB63W,EAAgB73W,EAAQ,QAExBkV,EAAelV,EAAQ,QAEvBmV,EAAgBnV,EAAQ,QAExB83W,EAAiB93W,EAAQ,QAEzB+3W,EAAA,SAEA,SAAAC,EAAAC,EAAA7pP,EAAA91G,GACA,OACAhX,KAAA22W,EACA3/V,QAEAd,OAAA42G,EAAA52G,OAEA0gW,UAAA9pP,EAAA8pP,UACAnqP,cAAA,EACAr2G,QAAAY,EAAA0xH,IACAryH,QAAAW,EAAA2xH,IACAlyH,aAAAO,EAAAP,aACAwB,OAAAjB,EAAAiB,OACAC,OAAAlB,EAAAkB,OACAF,WAAAhB,EAAAgB,WACAV,WAAAN,EAAA6/V,QACAna,UAAA1lV,EAAA0lV,UACA39F,MAAA/nP,EAAA+nP,MACAhoP,KAAA+/V,GAIA,SAAAA,EAAA9/V,GACAnD,EAAAkD,KAAAlX,KAAAmX,OAGA,SAAA+/V,KAEAA,EAAAj3W,UAAA6V,QAAA,aAEA,IAAA0nV,EAAA,6FAWAjqQ,EAAA,SAAAy0B,EAAAd,EAAAuwN,EAAA0/B,GACApjW,EAAAhU,KAAAC,MACAA,KAAAgoH,UACAhoH,KAAAknH,UACAlnH,KAAAm3W,cACA1/B,KAAA,IAAAy/B,EAKAl3W,KAAAy3U,MAAA,KAOAz3U,KAAA6rH,SAAA,GAMA7rH,KAAA88V,iBAMA98V,KAAAo3W,OAMAp3W,KAAAq3W,OAMAr3W,KAAAs3W,YACAZ,EAAA32W,KAAAC,MACAA,KAAAu3W,gBAAA9/B,IAsOA,SAAA+/B,EAAAz2I,EAAA/+N,EAAAC,GACA,GAAA8+N,IAAAtlB,UAAA,yBAAAz5M,EAAAC,GAAA,CACA,IACAw1W,EADA1mU,EAAAgwL,EAGA,MAAAhwL,EAAA,CAIA,GAAAA,EAAAmjM,WAAAnjM,EAAAmjM,SAAA5zN,QAAAte,EAAAC,GACA,SAGA8uC,EAAAs2E,SACAowP,GAAA,GAGA1mU,IAAA4gC,OAGA,OAAA8lS,GAAAb,EAGA,SA1PArjR,EAAAtzF,UAAA,CACAC,YAAAqzF,EACAgkR,gBAAA,SAAA9/B,GACAz3U,KAAAy3U,OACAz3U,KAAAy3U,MAAA3hU,UAGA2hU,IACA7lT,EAAAzK,KAAAq2U,EAAA,SAAAlvV,GACAmpU,EAAA7hU,IAAA6hU,EAAA7hU,GAAAtH,EAAAtO,KAAAsO,GAAAtO,OACOA,MAEPy3U,EAAA3jP,QAAA9zF,MAGAA,KAAAy3U,SAEA/iU,UAAA,SAAAyC,GACA,IAAAnV,EAAAmV,EAAA0xH,IACA5mI,EAAAkV,EAAA2xH,IACAld,EAAA5rH,KAAA6rH,SACA6rP,EAAA9rP,EAAAv1G,OAKAqhW,MAAAxlV,OACA05F,EAAA5rH,KAAA23W,UAAA/rP,EAAA5pH,EAAA4pH,EAAA3pH,GACAy1W,EAAA9rP,EAAAv1G,QAGA,IAAAuhW,EAAA53W,KAAA6rH,SAAA7rH,KAAA23W,UAAA31W,EAAAC,GACA41W,EAAAD,EAAAvhW,OACAohU,EAAAz3U,KAAAy3U,MACAA,EAAAmmB,WAAAnmB,EAAAmmB,UAAAia,IAAApnT,OAAA,WAEAinT,GAAAG,IAAAH,GACA13W,KAAAotH,kBAAAxB,EAAA,WAAAz0G,GAIAnX,KAAAotH,kBAAAwqP,EAAA,YAAAzgW,GAEA0gW,OAAAH,GACA13W,KAAAotH,kBAAAwqP,EAAA,YAAAzgW,IAGAulV,SAAA,SAAAvlV,GACAnX,KAAAotH,kBAAAptH,KAAA6rH,SAAA,WAAA10G,GAMA,IACA2gW,EADAphK,EAAAv/L,EAAAwlV,WAAAxlV,EAAA20G,cAGA,GACA4qF,OAAAod,iBACKpd,GAAA,IAAAA,EAAA/sJ,YAAAmuT,EAAAphK,IAAA12M,KAAAm3W,eAELW,GAAA93W,KAAAoX,QAAA,aACAD,WAOAknD,OAAA,SAAAlnD,GACAnX,KAAA6rH,SAAA,IAQA+c,SAAA,SAAArwH,EAAAw/V,GACA,IAAAjkR,EAAA9zF,KAAAuY,GACAu7E,KAAA/zF,KAAAC,KAAA+3W,IAMAjiW,QAAA,WACA9V,KAAAy3U,MAAA3hU,UACA9V,KAAAgoH,QAAAhoH,KAAAy3U,MAAAz3U,KAAAknH,QAAA,MAOA6E,eAAA,SAAA6mG,GACA,IAAA6kH,EAAAz3U,KAAAy3U,MACAA,EAAAmmB,WAAAnmB,EAAAmmB,UAAAhrI,IAWAxlG,kBAAA,SAAAH,EAAA10G,EAAApB,GACA81G,KAAA,GACA,IAAAl8E,EAAAk8E,EAAA52G,OAEA,IAAA06B,MAAAs2E,OAAA,CAIA,IAAA2wP,EAAA,KAAAz/V,EACA0/V,EAAApB,EAAAt+V,EAAA00G,EAAA91G,GAEA,MAAA45B,EAKA,GAJAA,EAAAinU,KAAAC,EAAArrP,aAAA77E,EAAAinU,GAAAj4W,KAAAgxC,EAAAknU,IACAlnU,EAAA35B,QAAAmB,EAAA0/V,GACAlnU,IAAA4gC,OAEAsmS,EAAArrP,aACA,MAIAqrP,EAAArrP,eAEA5sH,KAAAoX,QAAAmB,EAAA0/V,GAGAj4W,KAAAknH,SAAAlnH,KAAAknH,QAAAg4J,eAAA,SAAA5hN,GACA,oBAAAA,EAAA06S,IACA16S,EAAA06S,GAAAj4W,KAAAu9D,EAAA26S,GAGA36S,EAAAlmD,SACAkmD,EAAAlmD,QAAAmB,EAAA0/V,QAcAN,UAAA,SAAA31W,EAAAC,EAAA4kV,GAOA,IANA,IAAA15U,EAAAnN,KAAAgoH,QAAAC,iBACA5oF,EAAA,CACAr9B,IACAC,KAGA8I,EAAAoC,EAAA5J,OAAA,EAAiCwH,GAAA,EAAQA,IAAA,CACzC,IAAAmtW,EAEA,GAAA/qW,EAAApC,KAAA87U,IACA15U,EAAApC,GAAAugC,SAAA4sU,EAAAV,EAAArqW,EAAApC,GAAA/I,EAAAC,OACAo9B,EAAA03U,YAAA13U,EAAA03U,UAAA5pW,EAAApC,IAEAmtW,IAAAtB,GAAA,CACAv3U,EAAAhpB,OAAAlJ,EAAApC,GACA,OAKA,OAAAs0B,GAEA09T,eAAA,SAAA5lV,EAAA0yL,GACA7pM,KAAAs3W,cACAt3W,KAAAs3W,YAAA,IAAAX,GAGA,IAAAwB,EAAAn4W,KAAAs3W,YACA,UAAAztK,GAAAsuK,EAAAzrW,QACA,IAAA0rW,EAAAD,EAAAE,UAAAlhW,EAAAnX,KAAA23W,UAAAxgW,EAAA0xH,IAAA1xH,EAAA2xH,IAAA,MAAAzyH,OAAArW,KAAAy3U,MAAA75P,KAGA,GAFA,QAAAisH,GAAAsuK,EAAAzrW,QAEA0rW,EAAA,CACA,IAAAj4W,EAAAi4W,EAAAj4W,KACAgX,EAAAP,aAAAzW,EACAH,KAAAotH,kBAAA,CACA/2G,OAAA+hW,EAAA/hW,QACOlW,EAAAi4W,EAAAjhW,UAKPya,EAAAzK,KAAA,+EAAA7Y,GACAilF,EAAAtzF,UAAAqO,GAAA,SAAA6I,GAEA,IAAAygW,EAAA53W,KAAA23W,UAAAxgW,EAAA0xH,IAAA1xH,EAAA2xH,KACA+uO,EAAAD,EAAAvhW,OAEA,iBAAA/H,EACAtO,KAAAs4W,QAAAT,EACA73W,KAAAu4W,WAAA,CAAAphW,EAAA0xH,IAAA1xH,EAAA2xH,KAEA9oI,KAAAw4W,MAAAX,OACK,eAAAvpW,EACLtO,KAAAw4W,MAAAX,OACK,aAAAvpW,EAAA,CACL,GAAAtO,KAAAs4W,UAAAt4W,KAAAw4W,QAIAx4W,KAAAu4W,YACA/8V,EAAAmiB,KAAA39B,KAAAu4W,WAAA,CAAAphW,EAAA0xH,IAAA1xH,EAAA2xH,MAAA,EACA,OAGA9oI,KAAAu4W,WAAA,KAGAv4W,KAAAotH,kBAAAwqP,EAAAtpW,EAAA6I,MA8BAya,EAAAhZ,MAAA26E,EAAAx/E,GACA6d,EAAAhZ,MAAA26E,EAAAmjR,GACA,IAAAj0W,EAAA8wF,EACA7wF,EAAAC,QAAAF,0BCjVA,IAAAg2W,EAAoB55W,EAAQ,QAoB5B4D,EAAAg2W,EAAA/zW,OAAA,CACAvE,KAAA,aACA4lH,aAAA,iBACA4oI,cAAA,OAKAjmO,eAAA,WAEA,QAAA1oB,KAAAyF,IAAA,UAAAzF,KAAAyF,IAAA,gBAMAkjB,wBAAA,WAEA,IAAA+yJ,EAAA17K,KAAAyF,IAAA,wBACAg2V,EAAAz7V,KAAAyF,IAAA,kBAMA,OAJAg2V,EAAA//K,IACAA,EAAA+/K,GAGA//K,KAIAh5K,EAAAC,QAAAF,0BCjDA,IAAAjD,EAAaX,EAAQ,QAErB8gB,EAAa9gB,EAAQ,QAyBrB,SAAA2iQ,EAAAnsG,GACA,IAAAA,EAAAo6C,aACA,OAAAp6C,EAGA,IAAAqjN,EAAArjN,EAAAsjN,UAEA,MAAAD,IACAA,EAAA,MAKA,IAFA,IAAA18P,EAAAq5C,EAAAr5C,SAEAp4G,EAAA,EAAiBA,EAAAo4G,EAAAz4G,OAAqBK,IAMtC,IALA,IAAAmzN,EAAA/6G,EAAAp4G,GACAq4B,EAAA86L,EAAA96L,SACAqzK,EAAArzK,EAAAqzK,YACAC,EAAAtzK,EAAAszK,cAEA9mM,EAAA,EAAmBA,EAAA6mM,EAAA/rM,OAAwBkF,IAAA,CAC3C,IAAAmwW,EAAAtpK,EAAA7mM,GAEA,eAAAwzB,EAAA97B,KACAmvM,EAAA7mM,GAAAowW,EAAAD,EAAArpK,EAAA9mM,GAAAiwW,QACO,oBAAAz8U,EAAA97B,KACP,QAAA60F,EAAA,EAAwBA,EAAA4jR,EAAAr1W,OAAwByxF,IAAA,CAChD,IAAAgQ,EAAA4zQ,EAAA5jR,GACA4jR,EAAA5jR,GAAA6jR,EAAA7zQ,EAAAuqG,EAAA9mM,GAAAusF,GAAA0jR,IAQA,OADArjN,EAAAo6C,cAAA,EACAp6C,EAGA,SAAAwjN,EAAAD,EAAArpK,EAAAmpK,GAKA,IAJA,IAAAh1W,EAAA,GACAiiL,EAAA4pB,EAAA,GACAupK,EAAAvpK,EAAA,GAEAxkM,EAAA,EAAiBA,EAAA6tW,EAAAr1W,OAAuBwH,GAAA,GACxC,IAAA/I,EAAA42W,EAAA5nW,WAAAjG,GAAA,GACA9I,EAAA22W,EAAA5nW,WAAAjG,EAAA,MAEA/I,KAAA,MAAAA,GACAC,KAAA,MAAAA,GAEAD,GAAA2jL,EACA1jL,GAAA62W,EACAnzL,EAAA3jL,EACA82W,EAAA72W,EAEAyB,EAAAiP,KAAA,CAAA3Q,EAAA02W,EAAAz2W,EAAAy2W,IAGA,OAAAh1W,EASA,SAAAjB,EAAAo5G,GAEA,OADA2lJ,EAAA3lJ,GACAr8G,EAAA4N,IAAA5N,EAAAqoD,OAAAg0D,EAAAG,SAAA,SAAA+8P,GAEA,OAAAA,EAAA98U,UAAA88U,EAAAj5V,YAAAi5V,EAAA98U,SAAAqzK,YAAA/rM,OAAA,IACG,SAAAw1W,GACH,IAAAj5V,EAAAi5V,EAAAj5V,WACAkmF,EAAA+yQ,EAAA98U,SACAqzK,EAAAtpG,EAAAspG,YACA1vL,EAAA,GAEA,YAAAomF,EAAA7lG,MACAyf,EAAAjN,KAAA,CACAxS,KAAA,UAGAigB,SAAAkvL,EAAA,GACA7uL,UAAA6uL,EAAApwK,MAAA,KAIA,iBAAA8mE,EAAA7lG,MACAX,EAAA2nB,KAAAmoL,EAAA,SAAAzqI,GACAA,EAAA,IACAjlD,EAAAjN,KAAA,CACAxS,KAAA,UACAigB,SAAAykD,EAAA,GACApkD,UAAAokD,EAAA3lC,MAAA,OAMA,IAAA0hE,EAAA,IAAAjhF,EAAAG,EAAAxR,KAAAsR,EAAAE,EAAAD,IAEA,OADA+gF,EAAA9gF,aACA8gF,IAIAl+F,EAAAC,QAAAF,wBCrIA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAoBrB4D,EAAA7D,EAAAu7I,oBAAA,CACAh6I,KAAA,SACA+iB,KAAA,WAMAljB,KAAAigU,eAAAzgU,EAAAqrD,iBAEAqI,OAAA,SAAA+xJ,EAAA1qM,EAAAxV,GACA,IAAAk7T,EAAAjgU,KAAAigU,eACAA,EAAA94S,KAAA,SAAA09C,GACAA,EAAA07P,QAAA,IAEA,IAAAy4C,EAAAh5W,KAAAG,KAAA,QACAoa,EAAAkkG,WAAA,SAAAnkG,GACA,IAAA2qM,EAAA3qM,EAAA0+V,GACA/zJ,GAAAjlN,KAAAkgU,aAAA5lT,EAAA2qM,EAAA1qM,EAAAxV,IACK/E,MACLigU,EAAA94S,KAAA,SAAA09C,IACAA,EAAA07P,QAAAvgU,KAAAylE,MAAAj5D,OAAAq4D,EAAAY,QACKzlE,OAELkgU,aAAA,eAGAx9T,EAAAC,QAAAF,qCC7DAC,EAAAC,QAAA,SAAA26F,GAIA,sCAAAkxF,KAAAlxF,0BCZA,IAAAshM,EAAiB//R,EAAQ,QAGzBo6W,EAAA,iBAAAvxU,iBAAA3+B,iBAAA2+B,KAGAza,EAAA2xQ,GAAAq6E,GAAA/uT,SAAA,cAAAA,GAEAxnD,EAAAC,QAAAsqB,0BCYA,IAAAztB,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAoBtB8H,EAAAD,KAAAC,GAUA,SAAAlE,EAAAsC,EAAAjF,GACAA,KAAA,GACAN,EAAA8V,SAAAxV,EAAA,CACAkB,KAAA,UACA8lB,MAAA,UACA67H,UAAA,OACAu2N,UAAA,2BACA/8P,OAAA,IAEA,IAAAg9P,EAAA,IAAAj1W,EAAA+qE,KAAA,CACA1uE,MAAA,CACAG,KAAAZ,EAAAo5W,WAEA/8P,OAAAr8G,EAAAq8G,OACAh/E,EAAA,MAEA5d,EAAA,IAAArb,EAAAy/V,IAAA,CACA/7V,MAAA,CACAiX,YAAAlY,EAAA,EACAmY,UAAAnY,EAAA,KACAiY,EAAA,IAEAre,MAAA,CACAI,OAAAb,EAAAgnB,MACA8lM,QAAA,QACAn8M,UAAA,GAEA0rG,OAAAr8G,EAAAq8G,OACAh/E,EAAA,QAEA6tQ,EAAA,IAAA9mS,EAAA+qE,KAAA,CACA1uE,MAAA,CACAG,KAAA,OACAM,KAAAlB,EAAAkB,KACAuO,aAAA,QACA24N,aAAA,GACAp+H,SAAAhqG,EAAA6iJ,WAEAxmC,OAAAr8G,EAAAq8G,OACAh/E,EAAA,QAEA5d,EAAAm1Q,cAAA,GAAAl4P,KAAA,KACA1d,SAAA,EAAAnY,EAAA,IACGylB,MAAA,iBACH7M,EAAAm1Q,cAAA,GAAAl4P,KAAA,KACA3d,WAAA,EAAAlY,EAAA,IACG+pI,MAAA,KAAAtkH,MAAA,iBACH,IAAAq5C,EAAA,IAAAvhE,EAAA80M,MA4BA,OA3BAvzI,EAAAloC,IAAAhe,GACAkmD,EAAAloC,IAAAytQ,GACAvlO,EAAAloC,IAAA47U,GAEA1zS,EAAApH,OAAA,WACA,IAAA5/C,EAAA1Z,EAAAwJ,WAAA,EACAmQ,EAAA3Z,EAAAu5D,YAAA,EACA/+C,EAAAm6L,SAAA,CACAj7L,KACAC,OAEA,IAAAE,EAAAW,EAAA3X,MAAAgX,EACAosR,EAAAtxF,SAAA,CACA13M,EAAAyc,EAAAG,EACA3c,EAAAyc,EAAAE,EACAtc,MAAA,EAAAsc,EACArc,OAAA,EAAAqc,IAEAu6V,EAAAz/J,SAAA,CACA13M,EAAA,EACAC,EAAA,EACAK,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,eAIAmH,EAAApH,SACAoH,EAGA/iE,EAAAC,QAAAF,0BC9GA,IAAAjD,EAAaX,EAAQ,QAErBgB,EAAWhB,EAAQ,QA0BnB,SAAAu6W,EAAAr0W,GACA/E,KAAAqU,IAAAtP,EAAA2sB,QACA1xB,KAAAqzW,OAAA,EAKArzW,KAAAszW,aAGA8F,EAAAn5W,UAAA,CACAC,YAAAk5W,EAMA5F,YAAA,EAKAjnV,OAAA,aAEA2vF,KAAA,SAAAusG,GACAzoN,KAAAszW,cACAvyR,aAAA/gF,KAAAszW,cAGAtzW,KAAA+wC,GAAAgzC,KAAA,WACA/jF,KAAAqzW,OAAA,GAUAU,WAAA,SAAA/sV,EAAAqyV,EAAA5wJ,GACAzoN,KAAA+wC,IACA/wC,KAAAqU,IAAA7H,OAAAxM,KAAA+wC,IAGA,IAAAhrB,EAAA,GACA/kB,EAAAgmB,EACAkP,EAAA,UACA+2U,EAAA,KACAqM,EAAAt4W,EAAAoqC,QAAAlV,GAEA,MAAAojV,GAAA,GACA,IAAAC,EAAAv4W,EAAAoqC,QAAA6hU,GACA3+V,EAAAtN,EAAA8P,OAAAwoW,EAAApjV,EAAA3yB,OAAAg2W,EAAAD,EAAApjV,EAAA3yB,QAEA+K,EAAA88B,QAAA,UACArlB,EAAA,SAAAzX,GAAA,CACAgE,UAAA,EACAD,WAAA,EACAm4O,iBAAA,EACA53O,oBAAAymW,EAAA/qW,GAEAq7O,WAAA,OAGA5jO,EAAA,SAAAzX,GAAA,CACAgE,UAAA,GACAD,WAAA,GACAm4O,iBAAA,EACA53O,oBAAAymW,EAAA/qW,IAIAtN,IAAA8P,OAAAyoW,EAAA,GACAD,EAAAt4W,EAAAoqC,QAAA,WAGAprC,KAAA+wC,GAAA,IAAAlxC,EAAA,CACAU,MAAA,CACAwB,KAAAgkB,EACA/kB,KAAAgmB,EACAllB,eAAA,GACA8Q,oBAAA61M,EAAAhjN,IAAA,mBACA+kP,iBAAA/hC,EAAAhjN,IAAA,gBACAqkG,SAAA2+G,EAAAhjN,IAAA,mBACA5D,YAAA4mN,EAAAhjN,IAAA,YAEA03B,EAAAsrL,EAAAhjN,IAAA,OAGAzF,KAAAqU,IAAAkpB,IAAAv9B,KAAA+wC,IAEA,IAAArJ,EAAA1nC,KACAA,KAAA+wC,GAAAn7B,GAAA,uBAEA8xB,EAAA8rU,aACAzyR,aAAAr5C,EAAA4rU,cACA5rU,EAAA2rU,OAAA,GAGA3rU,EAAA+rU,YAAA,IAEAzzW,KAAA+wC,GAAAn7B,GAAA,sBACA8xB,EAAA8rU,YACA9rU,EAAA2rU,OACA3rU,EAAAisU,UAAAjsU,EAAAksU,YAIAlsU,EAAA+rU,YAAA,KAGAO,aAAA,SAAArsK,GACA3nM,KAAAwzW,WAAA7rK,GAEAt7C,QAAA,WACA,IAAAmtN,EAAAx5W,KAAA+wC,GAAAxvC,kBACA,OAAAi4W,EAAAl3W,MAAAk3W,EAAAj3W,SAEA8c,OAAA,SAAArd,EAAAC,GACAjC,KAAA+wC,IACA/wC,KAAA+wC,GAAAgzC,KAAA,YAAA/hF,EAAAC,KAGAm1T,KAAA,WACAp3T,KAAA+wC,GAAAqmR,OACAp3T,KAAAqzW,OAAA,GAEAM,UAAA,SAAA57U,IACA/3B,KAAAqzW,OAAArzW,KAAAyzW,YAAAzzW,KAAAwzW,aACAz7U,GACA/3B,KAAA4zW,WAAA77U,EAEA/3B,KAAAqzW,OAAA,EACArzW,KAAAszW,aAAArnT,WAAAzsD,EAAAoJ,KAAA5I,KAAAo3T,KAAAp3T,MAAA+3B,IAEA/3B,KAAAo3T,SAIA88C,OAAA,WACA,OAAAl0W,KAAAqzW,OAEAc,aAAA,WACA,OAAAn0W,KAAAqsJ,YAGA,IAAA5pJ,EAAA22W,EACA12W,EAAAC,QAAAF,0BCpMA,IAAAyoD,EAAarsD,EAAQ,QACrB4L,EAAAygD,EAAAzgD,UAEA/H,EAAAC,QAAA8H,KAAAyjQ,WAAA,2BCiBA,IAAA1uQ,EAAaX,EAAQ,QAErBigH,EAAWjgH,EAAQ,QA+BnBqqN,EAAA,SAAA5tM,EAAAvD,EAAA0hW,EAAAxiO,GACAn4B,EAAA/+G,KAAAC,KAAAsb,EAAAvD,EAAA0hW,GAUAz5W,KAAAG,KAAA82I,GAAA,QAMAj3I,KAAA2jB,MAAA,MAGAulM,EAAAjpN,UAAA,CACAC,YAAAgpN,EAKArkE,cAAA,WACA,OAAA7kJ,KAAA2jB,MAAAgX,SAAA,UAMAzyB,aAAA,WACA,qBAAAlI,KAAA2jB,MAAAle,IAAA,YAGAjG,EAAAgD,SAAA0mN,EAAApqG,GACA,IAAAr8G,EAAAymN,EACAxmN,EAAAC,QAAAF,0BCxEA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QA4BrB,SAAAorK,EAAA9jB,EAAA8iG,GACAA,EAAA18N,OAAA,aACA3tB,EAAA0tB,eAAA28N,EAAA,SAAAz8N,EAAAjS,GACA,IAAAumM,EAAA,GAWA,OAVAvmM,EAAA8kG,cAAA,CACArzF,SAAA,MACAgqH,MAAAxpH,GACK,SAAA0vM,GACLA,EAAA/1E,GAAA35H,EAAAle,MACA,IAAA03F,EAAAk2H,EAAAh3N,iBACA1F,EAAA2nB,KAAA6+E,EAAA2V,QAAA,SAAA/a,GACAkgH,EAAAlgH,EAAAtyF,MAAA4tN,EAAA3T,WAAA3nH,EAAAtyF,QAAA,MAGA,CACAwyM,WACAxyM,KAAAke,EAAAle,QA1CAzP,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAyCRorK,EAAA,kBACA9pK,KAAA,kBACAgX,MAAA,qBAEA8yJ,EAAA,UACA9pK,KAAA,YACAgX,MAAA,gBAEA8yJ,EAAA,YACA9pK,KAAA,cACAgX,MAAA,wCC3CA,SAAA1U,EAAA8X,GACA,IAAAm/V,EAAAn/V,EAAAo/V,eAAA,CACA3tV,SAAA,WAGA0tV,KAAAn2W,QACAgX,EAAAq/V,aAAA,SAAAh0V,GAGA,QAAA7a,EAAA,EAAqBA,EAAA2uW,EAAAn2W,OAAyBwH,IAC9C,IAAA2uW,EAAA3uW,GAAAw9M,WAAA3iM,EAAAtX,MACA,SAIA,WAKA5L,EAAAC,QAAAF,0BCtCA,IAAAwD,EAAapH,EAAQ,QA0CrB,SAAAqkB,EAAA+J,GACAA,EAAA4sV,SAAA,CACAC,gBAAA,KACAjmJ,SAAA5mM,EACA8sV,OAAA,EACA5xG,SAAA,EACAkoF,OAAA,EACAvrR,MAAA,EACA/5D,EAAA,EACAivW,OAAA,MAEA,IACA38V,EACA8mD,EAFAuxF,EAAA,CAAAzoI,GAIA,MAAA5P,EAAAq4I,EAAArpI,MAIA,GAFA83C,EAAA9mD,EAAA8mD,SAEA9mD,EAAA40V,UAAA9tS,EAAA5gE,OAGA,IAFA,IAAAsqB,EAAAs2C,EAAA5gE,OAEAwH,EAAA8iB,EAAA,EAAyB9iB,GAAA,EAAQA,IAAA,CACjC,IAAAqnB,EAAA+xC,EAAAp5D,GACAqnB,EAAAynV,SAAA,CACAC,gBAAA,KACAjmJ,SAAAzhM,EACA2nV,OAAA,EACA5xG,SAAA,EACAkoF,OAAA,EACAvrR,MAAA,EACA/5D,IACAivW,OAAA,MAEAtkN,EAAA/iJ,KAAAyf,IAqBA,SAAA6nV,EAAA58V,EAAA20V,GACA,IAAA7tS,EAAA9mD,EAAA40V,SAAA50V,EAAA8mD,SAAA,GACAmkL,EAAAjrO,EAAAy2M,WAAA3vJ,SACA+1S,EAAA78V,EAAAw8V,SAAA9uW,EAAAu9O,EAAAjrO,EAAAw8V,SAAA9uW,EAAA,QAEA,GAAAo5D,EAAA5gE,OAAA,CACA42W,EAAA98V,GACA,IAAA+8V,GAAAj2S,EAAA,GAAA01S,SAAAE,OAAA51S,IAAA5gE,OAAA,GAAAs2W,SAAAE,QAAA,EAEAG,GACA78V,EAAAw8V,SAAAE,OAAAG,EAAAL,SAAAE,OAAA/H,EAAA30V,EAAA68V,GACA78V,EAAAw8V,SAAA1xG,SAAA9qP,EAAAw8V,SAAAE,OAAAK,GAEA/8V,EAAAw8V,SAAAE,OAAAK,OAEGF,IACH78V,EAAAw8V,SAAAE,OAAAG,EAAAL,SAAAE,OAAA/H,EAAA30V,EAAA68V,IAGA78V,EAAAy2M,WAAA+lJ,SAAAC,gBAAAO,EAAAh9V,EAAA68V,EAAA78V,EAAAy2M,WAAA+lJ,SAAAC,iBAAAxxH,EAAA,GAAA0pH,GAcA,SAAAsI,EAAAj9V,GACA,IAAAk9V,EAAAl9V,EAAAw8V,SAAAE,OAAA18V,EAAAy2M,WAAA+lJ,SAAA1xG,SACA9qP,EAAAq2J,UAAA,CACA1xK,EAAAu4W,IACG,GACHl9V,EAAAw8V,SAAA1xG,UAAA9qP,EAAAy2M,WAAA+lJ,SAAA1xG,SAGA,SAAA6pG,EAAAj8U,GACA,OAAAptB,UAAApF,OAAAwyB,EAAAykV,EAWA,SAAAC,EAAAz4W,EAAAC,GACA,IAAAy4W,EAAA,GAIA,OAHA14W,GAAA0E,KAAAC,GAAA,EACA+zW,EAAA14W,EAAAC,EAAAyE,KAAAwY,IAAAld,GACA04W,EAAAz4W,IAAAyE,KAAA0Y,IAAApd,GACA04W,EAWA,SAAAvwJ,EAAA7vM,EAAAvV,GACA,OAAAkB,EAAAq9E,cAAAhpE,EAAA2jG,qBAAA,CACA37G,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,cAgBA,SAAA67S,EAAA98V,GACA,IAAA8mD,EAAA9mD,EAAA8mD,SACAt2C,EAAAs2C,EAAA5gE,OACAuhE,EAAA,EACAurR,EAAA,EAEA,QAAAxiU,GAAA,GACA,IAAAuE,EAAA+xC,EAAAt2C,GACAuE,EAAAynV,SAAAE,QAAAj1S,EACA1yC,EAAAynV,SAAA1xG,UAAArjM,EACAurR,GAAAj+T,EAAAynV,SAAAxpB,OACAvrR,GAAA1yC,EAAAynV,SAAA/0S,MAAAurR,GAyBA,SAAAgqB,EAAAM,EAAAT,EAAArmJ,EAAAm+I,GACA,GAAAkI,EAAA,CACA,IAAAU,EAAAD,EACAE,EAAAF,EACAG,EAAAD,EAAA/mJ,WAAA3vJ,SAAA,GACA42S,EAAAb,EACAc,EAAAJ,EAAAf,SAAA1xG,SACA8yG,EAAAJ,EAAAhB,SAAA1xG,SACA+yG,EAAAJ,EAAAjB,SAAA1xG,SACAgzG,EAAAJ,EAAAlB,SAAA1xG,SAEA,MAAA4yG,EAAAK,EAAAL,GAAAF,EAAAQ,EAAAR,GAAAE,GAAAF,EAAA,CACAD,EAAAQ,EAAAR,GACAE,EAAAO,EAAAP,GACAF,EAAAf,SAAAhmJ,SAAA8mJ,EACA,IAAA71S,EAAAi2S,EAAAlB,SAAAE,OAAAoB,EAAAN,EAAAhB,SAAAE,OAAAkB,EAAAjJ,EAAA+I,EAAAF,GAEA/1S,EAAA,IACAw2S,EAAAC,EAAAR,EAAAJ,EAAA9mJ,GAAA8mJ,EAAA71S,GACAm2S,GAAAn2S,EACAk2S,GAAAl2S,GAGAq2S,GAAAJ,EAAAlB,SAAA1xG,SACA8yG,GAAAJ,EAAAhB,SAAA1xG,SACA6yG,GAAAJ,EAAAf,SAAA1xG,SACA+yG,GAAAJ,EAAAjB,SAAA1xG,SAGA4yG,IAAAK,EAAAR,KACAA,EAAAf,SAAAG,OAAAe,EACAH,EAAAf,SAAA1xG,UAAAgzG,EAAAH,GAGAH,IAAAQ,EAAAP,KACAA,EAAAjB,SAAAG,OAAAa,EACAC,EAAAjB,SAAA1xG,UAAA8yG,EAAAC,EACArnJ,EAAA8mJ,GAIA,OAAA9mJ,EAYA,SAAAunJ,EAAA/9V,GACA,IAAA8mD,EAAA9mD,EAAA8mD,SACA,OAAAA,EAAA5gE,QAAA8Z,EAAA40V,SAAA9tS,IAAA5gE,OAAA,GAAA8Z,EAAAw8V,SAAAG,OAYA,SAAAqB,EAAAh+V,GACA,IAAA8mD,EAAA9mD,EAAA8mD,SACA,OAAAA,EAAA5gE,QAAA8Z,EAAA40V,SAAA9tS,EAAA,GAAA9mD,EAAAw8V,SAAAG,OAaA,SAAAuB,EAAAR,EAAA19V,EAAAw2M,GACA,OAAAknJ,EAAAlB,SAAAhmJ,SAAAC,aAAAz2M,EAAAy2M,WAAAinJ,EAAAlB,SAAAhmJ,WAiBA,SAAAynJ,EAAAE,EAAAC,EAAA32S,GACA,IAAAurR,EAAAvrR,GAAA22S,EAAA5B,SAAA9uW,EAAAywW,EAAA3B,SAAA9uW,GACA0wW,EAAA5B,SAAAxpB,UACAorB,EAAA5B,SAAA/0S,SACA22S,EAAA5B,SAAA1xG,UAAArjM,EACA22S,EAAA5B,SAAAE,QAAAj1S,EACA02S,EAAA3B,SAAAxpB,UAUA,SAAAmqB,EAAAt8V,EAAAC,GACA,OAAAD,EAAA41M,aAAA31M,EAAA21M,WAAA,IAGAnxN,EAAAugB,OACAvgB,EAAAs3W,YACAt3W,EAAA23W,aACA33W,EAAAqvW,aACArvW,EAAA83W,mBACA93W,EAAAwnN,sCC1VA,IAAA3qN,EAAaX,EAAQ,QAErB2sS,EAAuB3sS,EAAQ,QAE/B+jB,EAAkB/jB,EAAQ,QAE1B0iB,EAAc1iB,EAAQ,QAEtB4iB,EAAAF,EAAAE,WACAC,EAAAH,EAAAG,UAEAg6V,EAA0B78W,EAAQ,QAElC2jB,EAAoB3jB,EAAQ,QAE5B+xW,EAAApuV,EAAAouV,gBAEAl1I,EAAuB78N,EAAQ,QAoB/B88W,EAAA/4V,EAAAle,OAAA,CACAvE,KAAA,aACA4lH,aAAA,QACA9iG,WAAA,MAMAm8Q,cAAA,EAMAwB,YAAA,GACA/8Q,eAAA,SAAAV,GAOA,IANA,IAAA5X,EAAAigS,EAAAxrS,KAAA,WACAmzK,EAAA5nK,EAAA8P,aAAA,SACA4gG,EAAAz8G,EAAAqrD,gBACA+wT,EAAA,GACAC,EAAA,GAEA9wW,EAAA,EAAA0B,EAAAlB,EAAAoO,QAAuC5O,EAAA0B,EAAS1B,IAAA,CAChD,IAAAuD,EAAA/C,EAAAqc,QAAA7c,GACAkxG,EAAA7oF,IAAA9kB,GAAA,GACAstW,EAAAjpW,KAAA,CACArE,OACArK,MAAAsH,EAAA9F,IAAA0tK,EAAApoK,GACA+1M,SAAA8vJ,EAAArlW,EAAAR,EAAA,cAIA,IAAA+wW,EAAApgJ,EAAAn0L,KAAAvnC,KAAA0gS,aAAA1gS,KAAAmjB,OAAA68F,SAgBA,OAfAxgH,EAAA2nB,KAAA20V,EAAAngQ,QAAA,SAAA/a,GACA,IAAAtyF,EAAAsyF,EAAAtyF,KAEA2tG,EAAAx2G,IAAA6I,KACAstW,EAAAjpW,KAAA,CACArE,SAEAutW,EAAAlpW,KAAArE,MAGAtO,KAAAqxT,kBAAAuqD,GAIArwW,EAAAwwW,aAAA,GAAAF,GACAtwW,GAOA0zR,gBAAA,WACA,IAAAqS,EAAAtxS,KAAAmjB,OAAAmuR,SACA,aAAAA,EAAAtxS,KAAA8pR,gBAAA9jL,IAAAsrM,GAAA,MAEA5Q,WAAA,WACA,OAAA1gS,KAAAi/R,mBAAAj/R,MAAAmjB,OAAA/V,KAQAka,YAAA,SAAA7B,GAGA,IAAAla,EAAAvL,KAAAwa,UACA,OAAAjP,EAAA9F,IAAA8F,EAAA8P,aAAA,SAAAoK,IAQAi9E,eAAA,SAAA6d,GACA,IAAAh1G,EAAAvL,KAAAwa,UACA,OAAAjP,EAAA4f,aAAA5f,EAAA0xB,YAAAsjF,KAQA/6F,cAAA,SAAAC,GAQA,IANA,IAAAla,EAAAvL,KAAAwa,UACAkN,EAAAhG,EAAA1hB,KAAAsnB,YAAA7B,IACAnX,EAAA/C,EAAAqc,QAAAnC,GACAm7Q,EAAA5gS,KAAA4gS,YACAo7E,EAAA,GAEAjxW,EAAA,EAAmBA,EAAA61R,EAAAr9R,OAAwBwH,IAAA,CAC3C,IAAAkxW,EAAAr7E,EAAA71R,GAAAizP,aAAA/gO,YAAA3uB,GACA6kK,EAAA5nK,EAAA8P,aAAA,SAEAzB,MAAAgnR,EAAA71R,GAAAizP,aAAAv4P,IAAA0tK,EAAA8oM,KACAD,EAAArpW,KAAA8O,EAAAm/Q,EAAA71R,GAAAuD,OAIA,OAAA0tW,EAAAhsW,KAAA,eAAAyR,EAAAnT,EAAA,MAAAoZ,IAMAmB,mBAAA,SAAApD,GACA,SAAAA,EAAA,CACA,IAAAnX,EAAAtO,KAAAwa,UAAAoN,QAAAnC,GACAugF,EAAAhmG,KAAAkF,iBACA07F,EAAAoF,EAAAnF,UAAAvyF,GACA,OAAAsyF,GAAAoF,EAAAzgG,YAAAq7F,EAAA1kF,UAGAwyJ,QAAA,SAAA1sD,GACAhiH,KAAAmjB,OAAA6+F,QAEApjC,UAAA,SAAA1iE,GACAlc,KAAAmjB,OAAAjH,UAEA4G,cAAA,CAEAq5F,OAAA,EAEAh/E,EAAA,EACAj4B,iBAAA,MAEAkI,IAAA,GAMAkiC,KAAA,SAEAG,IAAA,SAOA6hR,YAAA,IAYA4qD,kBAAA,EAGAC,oBAAA,EAMA5qD,eAAA,KAEAr1S,OAAA,KACA8lG,KAAA,EACAwvM,WAAA,KACA1sS,MAAA,CACAo3F,MAAA,EACAp1F,MAAA,QAGAwkF,UAAA,CACAsR,YAAA,GACA/Z,YAAA,OACAmnQ,UAAA,QAEAntP,SAAA,CACA/3F,MAAA,CACAo3F,MAAA,EACAp1F,MAAA,gBAEAwkF,UAAA,CACA0+P,UAAA,2BAKAxqW,EAAAoZ,MAAA+iW,EAAAD,GACA,IAAAj5W,EAAAk5W,EACAj5W,EAAAC,QAAAF,0BC5OA,IAAAkL,EAAY9O,EAAQ,QAEpBsoB,EAAAxZ,EAAAwZ,KACA1d,EAAAkE,EAAAlE,SAyCA,SAAAw+E,EAAA3tE,EAAA8hW,EAAAhnW,GACAA,KAAA,GACA,IAIAinW,EACAC,EACAnmD,EACAC,EAPAluO,EAAA9yE,EAAA8yE,QACAC,EAAA/yE,EAAA+yE,sBAEAo0R,KAAAjiW,MAAA7U,IAAA,UAkCA,GA7BA0hB,EAAAi1V,EAAA,SAAAI,EAAA34W,GACA4F,EAAA+yW,KACAJ,EAAAv4W,GAAA24W,EAAA,CACAluW,KAAAkuW,IAIAD,IAAAC,EAAApoK,eAEAlsH,GAAAm0R,IAAAG,EAAA30R,cACAw0R,EAAAG,GAIAF,GAAA,YAAAE,EAAAr8W,MAAA,SAAAq8W,EAAAr8W,MAAAgoF,OAAAq0R,EAAA/zV,WACA6zV,EAAAE,OAKAF,GAAAp0R,GAAAm0R,IAGAn0R,GAAA,GAMAo0R,EAAA,CAEAnmD,EAAA,oBACAC,EAAA,oBAEAimD,IACAA,EAAAI,uBAAA,GAGA,IAAAC,EAAAJ,EAAA7zV,SACAk0V,EAAAL,EAAAn8W,KACAy8W,EAAA,EACAz1V,EAAAi1V,EAAA,SAAAI,GACAA,EAAA/zV,WAAAi0V,GACAE,MAGAR,EAAAzpW,KAAA,CACArE,KAAA6nT,EACA1tS,SAAAi0V,EACAroK,cAAAuoK,EACAz8W,KAAAw8W,EACAvoK,cAAA,EACAyoK,oBAAA,IAEAD,IACAR,EAAAzpW,KAAA,CACArE,KAAA8nT,EAGA3tS,SAAA2tS,EACA/hH,cAAAuoK,EACAz8W,KAAAw8W,EACAvoK,cAAA,EACAyoK,oBAAA,IAIA,OACAxmD,iBAAAimD,KAAAhuW,KACAgoT,mBAAA+lD,KAAA/tW,KACAioT,iBAAAruO,EACAkuO,uBACAD,wBASA,SAAAvjJ,EAAArnK,EAAAuxW,GAKA,QAAAA,OAAAvxW,EAAA6oK,mBAAA,oBAeA,SAAA8xC,EAAA36M,EAAAwxW,GACA,OAAAnqM,EAAArnK,EAAAwxW,GAAAxxW,EAAA6oK,mBAAA,wBAAA2oM,EAGAp6W,EAAAslF,kBACAtlF,EAAAiwK,qBACAjwK,EAAAujN,4CCjKA,IAAA9kM,EAAcviB,EAAQ,QAItBD,GAFAwiB,EAAAC,QAEcxiB,EAAQ,SAEtBW,EAAaX,EAAQ,QAErB+iB,EAAgB/iB,EAAQ,QAExB6wM,EAAkB7wM,EAAQ,QAE1B6nN,EAAiB7nN,EAAQ,QAuBzBD,EAAAU,qBAAA,SAAA6jB,GACA,IAAA65V,EAAA75V,EAAAjf,QAOA1E,EAAAwJ,QAAAg0W,GACAA,EAAA,IAAAA,EAAA,GAAAC,SAOA95V,EAAAjf,QAAA,CAAAif,EAAAjf,QAAA,IANAif,EAAAjf,QAAA,EACA+4W,SAAAD,IAOGA,MAAAC,WACH95V,EAAAjf,QAAA,EACA+4W,SAAA,CAAAD,QAOA,IAAAE,EAAAt+W,EAAAu3I,qBAAA,CACAh2I,KAAA,UACA2iB,cAAA,CA2BAm6V,SAAA,GACAE,SAAA,MAUAC,mBAAA,KAKA34V,YAAA,SAAAtB,GAEA,IAAA85V,EAAAj9W,KAAAmjB,OAAA85V,SACAj9W,KAAAmjB,OAAA85V,SAAA,KACAC,EAAA52M,WAAAtmK,KAAA,cAAA2I,WACA3I,KAAAmjB,OAAA85V,YAMA7lO,cAAA,SAAAjzD,EAAAwtH,GACA,IAAAt6D,EAAAr3I,KAAAmjB,OACAk6V,GAAA1rK,EAAAt6D,EAAAlzD,GAAA84R,SACAK,EAAAjmO,EAAA4lO,SAAAtrK,EAAA,GAAAt6D,EAAA4lO,SACAM,EAAA,GAEAv9W,KAAAw9W,SAAAH,EAAAE,GAEA,IAAAE,EAAA77V,EAAA87V,gBAAAJ,EAAAC,GACA37V,EAAA+7V,cAAAF,GAEA,IAAAG,EAAA59W,KAAAo9W,mBAAA,GACA59W,EAAA2nB,KAAAs2V,EAAA,SAAA3hI,EAAAj4O,GACA,IAAAg6W,EAAA/hI,EAAA34N,OAEA06V,IAIAD,EAAAjrW,KAAAkrW,GACAC,EAAAhiI,EAAA+hI,GACAE,EAAAT,EAAAz5W,EAAAg6W,GACAG,EAAAV,EAAAz5W,GAAAg6W,KACK79W,MAEL,QAAA+K,EAAAuyW,EAAA/5W,OAAA,EAAsCwH,GAAA,EAAQA,IAC9C,MAAAuyW,EAAAvyW,GACAuyW,EAAAjsS,OAAAtmE,EAAA,UAIAuyW,EAAAvyW,GAAAkzW,SAwBAT,SAAA,SAAAU,EAAAx6W,EAAAy6W,GACA3+W,EAAA2nB,KAAA+2V,EAAA,SAAA/6V,GACA,GAAAA,EAAA,CAIAg7V,IACAh7V,EAAAg7V,gBAGAz6W,EAAAiP,KAAAwQ,GACA,IAAAghD,EAAAhhD,EAAAghD,SAEA,UAAAhhD,EAAAhjB,MAAAgkE,GACAnkE,KAAAw9W,SAAAr5S,EAAAzgE,EAAAyf,UAIAA,EAAAghD,WACKnkE,OAILo+W,qBAAA,WACA,IAAAC,EAAAr+W,KAAAo9W,mBAGA,OADAp9W,KAAAo9W,mBAAA,KACAiB,KAsKA,SAAArtK,EAAA/kL,EAAAqyV,EAAA15W,EAAAkkW,GACA,IAAA73J,EAAArsM,EAAAzE,KACA4uL,EAAA2gB,EAAAuB,EAAAx+L,OAAA,GAAAmtB,cAAAqxK,EAAA/xK,MAAA,IACA6R,EAAA,IAAAg+I,EAAAnqL,GACA05W,EAAA/gV,IAAAwT,GACA+3T,EAAA11U,IAAAnH,EAAA8kB,GACAA,EAAAwtU,cAAAtyV,EAGA,SAAAuyV,EAAAC,EAAA3V,GACA,IAAA4V,EAAAD,KAAA9sS,OAEA+sS,IACA,UAAAD,EAAAt+W,MAAAs+W,EAAAtsV,SAAA,SAAA4e,GACAytU,EAAAztU,EAAA+3T,KAEAA,EAAA79S,UAAAwzT,EAAAF,eACAG,EAAAlyW,OAAAiyW,IAKA,SAAAE,EAAA/5W,GAKA,OAJAA,EAAApF,EAAAkF,OAAA,GAA6BE,GAC7BpF,EAAA2nB,KAAA,4CAAAuiC,OAAAg9J,EAAA3kI,iBAAA,SAAAzzE,UACA1J,EAAA0J,KAEA1J,EAGA,SAAAg6W,EAAA9zW,EAAA+Z,GACA,IAAAg6V,EAIA,OAHAr/W,EAAA2nB,KAAAtC,EAAA,SAAAskC,GACA,MAAAr+C,EAAAq+C,IAAA,SAAAr+C,EAAAq+C,KAAA01T,GAAA,KAEAA,EAGA,SAAAf,EAAAhiI,EAAA+hI,GACA,IAAAiB,EAAAhjI,EAAAijI,MAKA,GAHAlB,EAAA5xV,GAAA6vN,EAAAkjI,QAAA/yV,IACA4xV,EAAA19W,MAAA2+W,IAAAjB,EAAA19W,KAAA2+W,EAAA3+W,MAEA,MAAA09W,EAAAV,SAAA,CACA,IAAA8B,EAAApB,EAAAM,aAEAc,EACApB,EAAAV,SAAA8B,EAAAhzV,GACK6yV,IACLjB,EAAAV,SAAA2B,EAAA3B,UAKAU,EAAAM,aAAA,KAGA,SAAAJ,EAAAT,EAAAz5W,EAAAg6W,GAEA,IAAAqB,EAAA1/W,EAAAkF,OAAA,GAAqCm5W,GACrCiB,EAAAxB,EAAAz5W,GACAo6W,EAAAJ,EAAAI,SAAA,QAEA,UAAAA,EACAa,GAGAt/W,EAAA2L,MAAA2zW,EAAAI,GAAA,GAEAx4J,EAAAxkM,iBAAA48V,EAAAI,EAAA,CACA96R,YAAA,IAGAsiI,EAAA3hI,iBAAA84R,EAAAiB,IAEAxB,EAAAz5W,GAAAq7W,EAEG,YAAAjB,EACHX,EAAAz5W,GAAAq7W,EACG,WAAAjB,GAEHa,IAAAxB,EAAAz5W,GAAA,MAIA,SAAAm6W,EAAAmB,EAAAtB,GACAsB,IAIAA,EAAAz7R,GAAAm6R,EAAAn6R,GAAA,CACAk7R,EAAAf,EAAA,kBACAe,EAAAf,EAAA,mBAEA,UAAAsB,EAAAh/W,OACA,MAAAg/W,EAAA78W,QAAA68W,EAAA78W,MAAAu7W,EAAAv7W,MAAA,GACA,MAAA68W,EAAA58W,SAAA48W,EAAA58W,OAAAs7W,EAAAt7W,OAAA,KAIA,SAAA68W,EAAAruU,EAAAsuU,EAAAz6W,GACA,IAAAkoH,EAAA/7E,EAAA+7E,UAEA/7E,EAAAs2E,QAAAt2E,EAAAzF,QAAAwhF,IACAA,EAAA/7E,EAAA+7E,UAAA,CACAvG,cAAA,UACAjjG,eAAA+7V,EAAA/7V,eACAhV,KAAAyiC,EAAAziC,OAMAw+G,IACAA,EAAAulF,KAAAthK,EAAAshK,MAnRAzzM,EAAAu7I,oBAAA,CACAh6I,KAAA,UAKA+iB,KAAA,SAAA3I,EAAAxV,GAKA/E,KAAAs/W,OAAA9/W,EAAAqrD,gBAMA7qD,KAAAu/W,mBAMArsT,OAAA,SAAAmsT,EAAA9kW,EAAAxV,GAUAs6W,IAAAr/W,KAAAu/W,mBACAv/W,KAAAshU,SAGAthU,KAAAu/W,kBAAAF,EAEAr/W,KAAAw/W,gBAAAH,GAEAr/W,KAAAy/W,UAAAJ,EAAAt6W,IASAy6W,gBAAA,SAAAH,GACA,IAAAzB,EAAAyB,EAAAjB,uBAEA,GAAAR,EAAA,CAIA,IAAA9U,EAAA9oW,KAAAs/W,OACAI,EAAA1/W,KAAAylE,MAEAjmE,EAAA2nB,KAAAy2V,EAAA,SAAAh5W,GACA,IAAAq5W,EAAAr5W,EAAAq5W,QACAhyV,EAAArnB,EAAAqnB,GACAwyV,EAAA3V,EAAArjW,IAAAwmB,GACAkxV,EAAAv4W,EAAAu4W,SACAmB,EAAA,MAAAnB,EAAArU,EAAArjW,IAAA03W,GAAAuC,EACA5tK,EAAAltM,EAAArE,MAEA,SAAAqE,EAAAzE,MAAA2xM,IAGAltM,EAAA8+E,IAAA9+E,EAAA8+E,GAAA,KACAouH,EAAAlwM,kBAAAkwM,EAAA66B,aAAA,OAKA76B,EAAA5mM,eAAA,aAAA4mM,EAAApxM,OAAAoxM,EAAAhoG,SAAAgoG,EAAApxM,OACAoxM,EAAA5mM,eAAA,eAAA4mM,EAAAnxM,SAAAmxM,EAAA3vM,WAAA2vM,EAAAnxM,SAIA,IAAAg/W,EAAAhB,EAAA/5W,GAEAq5W,GAAA,UAAAA,EAEO,YAAAA,GACPO,EAAAC,EAAA3V,GACA93J,EAAA/kL,EAAAqyV,EAAAqB,EAAA7W,IACO,WAAAmV,GACPO,EAAAC,EAAA3V,GALA2V,IAAA16R,KAAA47R,GAAA3uK,EAAA/kL,EAAAqyV,EAAAqB,EAAA7W,GAQA,IAAA/3T,EAAA+3T,EAAArjW,IAAAwmB,GAEA8kB,IACAA,EAAA6uU,iBAAAh7W,EAAAtC,MACAyuC,EAAA8uU,kBAAAj7W,EAAArC,OACA68W,EAAAruU,EAAAsuU,EAAAz6W,QAYA66W,UAAA,SAAAJ,EAAAt6W,GAKA,IAJA,IAAA+6W,EAAAT,EAAAl8V,OAAA85V,SACAyC,EAAA1/W,KAAAylE,MACAqjS,EAAA9oW,KAAAs/W,OAEAv0W,EAAA+0W,EAAAv8W,OAAA,EAAsCwH,GAAA,EAAQA,IAAA,CAC9C,IAAAnG,EAAAk7W,EAAA/0W,GACAgmC,EAAA+3T,EAAArjW,IAAAb,EAAAqnB,IAEA,GAAA8kB,EAAA,CAIA,IAAAgvU,EAAAhvU,EAAA4gC,OACAquS,EAAAD,IAAAL,EAAA,CACAp9W,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,aACO,CAEPh8D,MAAAy9W,EAAAH,kBAAA,EACAr9W,OAAAw9W,EAAAF,mBAAA,GAEAn5J,EAAAjjI,gBAAA1yC,EAAAnsC,EAAAo7W,EAAA,MACAt8R,GAAA9+E,EAAA8+E,GACAC,aAAA/+E,EAAA40W,cAUAl4C,OAAA,WACA,IAAAwnC,EAAA9oW,KAAAs/W,OACAxW,EAAA3hV,KAAA,SAAA4pB,GACAytU,EAAAztU,EAAA+3T,KAEA9oW,KAAAs/W,OAAA9/W,EAAAqrD,iBAMA/0C,QAAA,WACA9V,KAAAshU,oCC1WA,IAAAz/O,EAAchjF,EAAQ,QAEtBijF,EAAAD,EAAAC,aACAg2B,EAAAj2B,EAAAi2B,UAEAkiG,EAAkBn7M,EAAQ,QAE1BW,EAAaX,EAAQ,QAoBrBywT,EAAA,EAAA5oT,KAAAC,GACAk/L,EAAAn/L,KAAAC,GAAA,IAEA,SAAAlE,EAAA0X,EAAAI,EAAAxV,EAAAynB,GACAjS,EAAA+kG,iBAAAnlG,EAAA,SAAAG,GACA,IAAA/O,EAAA+O,EAAAE,UACA24J,EAAA5nK,EAAA8P,aAAA,SACAa,EAAA5B,EAAA7U,IAAA,UACA0W,EAAA7B,EAAA7U,IAAA,UAEAjG,EAAAwJ,QAAAmT,KACAA,EAAA,GAAAA,IAGA3c,EAAAwJ,QAAAkT,KACAA,EAAA,CAAAA,MAGA,IAAA5Z,EAAAyC,EAAAwJ,WACAhM,EAAAwC,EAAAu5D,YACArjD,EAAAvU,KAAAQ,IAAA5E,EAAAC,GACAkc,EAAAqjE,EAAA5lE,EAAA,GAAA5Z,GACAoc,EAAAojE,EAAA5lE,EAAA,GAAA3Z,GACAoc,EAAAmjE,EAAA3lE,EAAA,GAAAlB,EAAA,GACA2D,EAAAkjE,EAAA3lE,EAAA,GAAAlB,EAAA,GACA4D,GAAAvE,EAAA7U,IAAA,cAAAogM,EACAC,EAAAxrL,EAAA7U,IAAA,YAAAogM,EACAQ,EAAA,EACA96L,EAAA4b,KAAAgsJ,EAAA,SAAAlvK,IACA2V,MAAA3V,IAAAoiM,MAEA,IAAA3sL,EAAAnO,EAAAkxM,OAAAtpC,GAEAmzB,EAAA5/L,KAAAC,IAAA+S,GAAA2sL,GAAA,EACAtnL,EAAAzE,EAAA7U,IAAA,aACAw6W,EAAA3lW,EAAA7U,IAAA,YACAihM,EAAApsL,EAAA7U,IAAA,oBAEAsV,EAAAxP,EAAAqzG,cAAAu0D,GACAp4J,EAAA,KAEA,IAAAmlW,EAAA5wD,EACA6wD,EAAA,EACAC,EAAAvhW,EACA6a,EAAA3a,EAAA,KA+CA,GA9CAxT,EAAA4b,KAAAgsJ,EAAA,SAAAlvK,EAAA0Z,GACA,IAAAsoC,EAEA,GAAArsC,MAAA3V,GACAsH,EAAAkoK,cAAA91J,EAAA,CACAsoC,MAAApsC,IACAgF,WAAAhF,IACAiF,SAAAjF,IACAkF,YACAN,KACAC,KACAC,KACAC,EAAAqhW,EAAApmW,IAAA+E,QATA,CAgBAqnC,EADA,SAAAg6T,EACA,IAAAvmW,GAAAgtL,EAAAJ,EAAAriM,EAAAqiM,EAEAgpH,EAAAjpH,EAGApgJ,EAAA6/I,GACA7/I,EAAA6/I,EACAo6K,GAAAp6K,GAEAq6K,GAAAl8W,EAGA,IAAA6a,EAAAshW,EAAA1mV,EAAAusB,EACA16C,EAAAkoK,cAAA91J,EAAA,CACAsoC,QACApnC,WAAAuhW,EACAthW,WACAC,YACAN,KACAC,KACAC,KACAC,EAAAqhW,EAAAnoQ,EAAA7zG,EAAA8W,EAAA,CAAA4D,EAAAC,QAEAwhW,EAAAthW,KAIAohW,EAAA5wD,GAAAjpH,EAGA,GAAA65K,GAAA,MACA,IAAAj6T,EAAAqpQ,EAAAjpH,EACA96L,EAAA4b,KAAAgsJ,EAAA,SAAAlvK,EAAA0Z,GACA,IAAA/D,MAAA3V,GAAA,CACA,IAAAgC,EAAAsF,EAAAkqK,cAAA93J,GACA1X,EAAAggD,QACAhgD,EAAA4Y,aAAA6a,EAAA/b,EAAAsoC,EACAhgD,EAAA6Y,SAAAD,EAAA6a,GAAA/b,EAAA,GAAAsoC,UAIAqgJ,EAAA45K,EAAAC,EACAC,EAAAvhW,EACAtT,EAAA4b,KAAAgsJ,EAAA,SAAAlvK,EAAA0Z,GACA,IAAA/D,MAAA3V,GAAA,CACA,IAAAgC,EAAAsF,EAAAkqK,cAAA93J,GACAsoC,EAAAhgD,EAAAggD,QAAA6/I,IAAA7hM,EAAAqiM,EACArgM,EAAA4Y,WAAAuhW,EACAn6W,EAAA6Y,SAAAshW,EAAA1mV,EAAAusB,EACAm6T,GAAA1mV,EAAAusB,KAMA+zJ,EAAA1/L,EAAAsE,EAAAtc,EAAAC,KAIAG,EAAAC,QAAAF,0BC1KA,IAAA8b,EAAW1f,EAAQ,QAEnB2c,EAAW3c,EAAQ,QAEnBgiS,EAAahiS,EAAQ,QAErBme,EAAA6jR,EAAA7jR,mBACAwkO,EAAAq/C,EAAAr/C,eACA5lO,EAAAilR,EAAAjlR,YACAglO,EAAAigD,EAAAjgD,QACAoB,EAAA6+C,EAAA7+C,sBACAlB,EAAA+/C,EAAA//C,kBAMAzhN,EAAA,GAEA,SAAAghV,EAAAz4W,EAAAwU,EAAAkkW,GACA,IAAA7rE,EAAA7sS,EAAA6sS,KACAC,EAAA9sS,EAAA8sS,KAEA,cAAAD,GAAA,OAAAC,EACA,EAAA4rE,EAAAx/H,EAAAF,GAAAh5O,EAAAgoD,GAAAhoD,EAAAimM,KAAAjmM,EAAA6sS,KAAA7sS,EAAA43B,GAAApjB,IAAAkkW,EAAAx/H,EAAAF,GAAAh5O,EAAAioD,GAAAjoD,EAAAkmM,KAAAlmM,EAAA8sS,KAAA9sS,EAAA63B,GAAArjB,IAEA,EAAAkkW,EAAAt+H,EAAApmO,GAAAhU,EAAAgoD,GAAAhoD,EAAAimM,KAAAjmM,EAAA43B,GAAApjB,IAAAkkW,EAAAt+H,EAAApmO,GAAAhU,EAAAioD,GAAAjoD,EAAAkmM,KAAAlmM,EAAA63B,GAAArjB,IAIA,IAAA3Z,EAAA8b,EAAA7Z,OAAA,CACAvE,KAAA,eACAyH,MAAA,CACAgoD,GAAA,EACAC,GAAA,EACArwB,GAAA,EACAC,GAAA,EACAouK,KAAA,EACAC,KAAA,EAIA31F,QAAA,GAEA53G,MAAA,CACAI,OAAA,OACAD,KAAA,MAEAse,UAAA,SAAA3e,EAAAuH,GACA,IAAAgoD,EAAAhoD,EAAAgoD,GACAC,EAAAjoD,EAAAioD,GACArwB,EAAA53B,EAAA43B,GACAC,EAAA73B,EAAA63B,GACAouK,EAAAjmM,EAAAimM,KACAC,EAAAlmM,EAAAkmM,KACA2mG,EAAA7sS,EAAA6sS,KACAC,EAAA9sS,EAAA8sS,KACAv8L,EAAAvwG,EAAAuwG,QAEA,IAAAA,IAIA93G,EAAAgf,OAAAuwC,EAAAC,GAEA,MAAA4kP,GAAA,MAAAC,GACAv8L,EAAA,IACAn7F,EAAA4yC,EAAAi+I,EAAAruK,EAAA24E,EAAA94E,GACAwuK,EAAAxuK,EAAA,GACAG,EAAAH,EAAA,GACAriB,EAAA6yC,EAAAi+I,EAAAruK,EAAA04E,EAAA94E,GACAyuK,EAAAzuK,EAAA,GACAI,EAAAJ,EAAA,IAGAh/B,EAAA66M,iBAAArN,EAAAC,EAAAtuK,EAAAC,KAEA04E,EAAA,IACAqpI,EAAA5xL,EAAAi+I,EAAA4mG,EAAAj1Q,EAAA24E,EAAA94E,GACAwuK,EAAAxuK,EAAA,GACAo1Q,EAAAp1Q,EAAA,GACAG,EAAAH,EAAA,GACAmiN,EAAA3xL,EAAAi+I,EAAA4mG,EAAAj1Q,EAAA04E,EAAA94E,GACAyuK,EAAAzuK,EAAA,GACAq1Q,EAAAr1Q,EAAA,GACAI,EAAAJ,EAAA,IAGAh/B,EAAAs0S,cAAA9mG,EAAAC,EAAA2mG,EAAAC,EAAAl1Q,EAAAC,MASAuuK,QAAA,SAAA5xL,GACA,OAAAikW,EAAArgX,KAAA4H,MAAAwU,GAAA,IAQA6xL,UAAA,SAAA7xL,GACA,IAAA0E,EAAAu/V,EAAArgX,KAAA4H,MAAAwU,GAAA,GACA,OAAAZ,EAAA6C,UAAAyC,QAIApe,EAAAC,QAAAF,0BC5FA,IAAAmgB,EAAkB/jB,EAAQ,QAE1BgxM,EAA0BhxM,EAAQ,QAoBlC4D,EAAAmgB,EAAAle,OAAA,CACAvE,KAAA,sBACA0jB,eAAA,SAAAV,EAAA5I,GACA,OAAAs1L,EAAA7vM,KAAAuiB,YAAAviB,OAEA4/T,kBAAA,SAAA37T,GACA,IAAAgB,EAAAjF,KAAAkF,iBAEA,GAAAD,EAAA,CAEA,IAAA49G,EAAA59G,EAAAM,YAAAN,EAAAs7W,UAAAt8W,IACAsH,EAAAvL,KAAAwa,UACAurC,EAAAx6C,EAAAsS,UAAA,UACA5C,EAAA1P,EAAAsS,UAAA,QACA2iW,EAAAv7W,EAAA2V,cAAA1S,eAAA,IAEA,OADA26G,EAAA29P,IAAAz6T,EAAA9qC,EAAA,EACA4nG,EAGA,OAAAhpG,UAEAiJ,cAAA,CACAq5F,OAAA,EAEAh/E,EAAA,EAEAj4B,iBAAA,cACAykL,iBAAA,EAMA7W,aAAA,EAEA2tM,YAAA,EAEAr5L,OAAA,EACAq0K,eAAA,IACAhgL,YAAA,IACAilM,qBAAA,MAWAp1Q,UAAA,GACAuR,SAAA,MAIAn6G,EAAAC,QAAAF,uCClGe,SAAAk+W,EAAAljV,GACf,GAAAjgB,MAAAxU,QAAAy0B,GAAA,CACA,QAAA1yB,EAAA,EAAA61W,EAAA,IAAApjW,MAAAigB,EAAAl6B,QAAiDwH,EAAA0yB,EAAAl6B,OAAgBwH,IACjE61W,EAAA71W,GAAA0yB,EAAA1yB,GAGA,OAAA61W,GCNe,SAAAC,EAAAr0D,GACf,GAAAvuF,OAAAx6N,YAAAsF,OAAAyjT,IAAA,uBAAAzjT,OAAA9I,UAAA6I,SAAA/I,KAAAysT,GAAA,OAAAhvS,MAAA6qC,KAAAmkQ,GCDe,SAAAs0D,IACf,UAAAh9W,UAAA,mDCEe,SAAAi9W,EAAAtjV,GACf,OAASkjV,EAAiBljV,IAASojV,EAAepjV,IAASqjV,IAJ3DjiX,EAAA2d,EAAA0R,EAAA,sBAAA6yV,0BCsCA,SAAAt+W,EAAA8X,GACAA,EAAA+kG,iBAAA,eAAAhlG,GACA,IAAAk1S,EAAAl1S,EAAA7U,IAAA,SACAk9F,EAAAroF,EAAAqgB,SAAA,aACAqvU,EAAArnQ,EAAAl9F,IAAA,aACAqhB,EAAA67E,EAAAl9F,IAAA,UAAA+pT,EAAAl1S,EAAAuI,YAAA2sS,EAAAjsT,QACA+W,EAAAE,UAAAgQ,UAAA,CACAw/U,YACAljV,YAKApkB,EAAAC,QAAAF,sBClDAC,EAAAC,QAAA,SAAAS,EAAAqmD,EAAApmD,GACA,IAAA29W,OAAA14W,IAAAjF,EACA,OAAAomD,EAAAlmD,QACA,cAAAy9W,EAAA59W,IACAA,EAAArD,KAAAsD,GACA,cAAA29W,EAAA59W,EAAAqmD,EAAA,IACArmD,EAAArD,KAAAsD,EAAAomD,EAAA,IACA,cAAAu3T,EAAA59W,EAAAqmD,EAAA,GAAAA,EAAA,IACArmD,EAAArD,KAAAsD,EAAAomD,EAAA,GAAAA,EAAA,IACA,cAAAu3T,EAAA59W,EAAAqmD,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACArmD,EAAArD,KAAAsD,EAAAomD,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA,cAAAu3T,EAAA59W,EAAAqmD,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACArmD,EAAArD,KAAAsD,EAAAomD,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACG,OAAArmD,EAAAsF,MAAArF,EAAAomD,4BCdH,IAAAu1K,EAAgBngO,EAAQ,QAExBW,EAAaX,EAAQ,QAerB,SAAAoiX,EAAAhiJ,EAAAC,GACAF,EAAAj/N,KAAAC,KAAAi/N,EAAAC,EAAA,6CAmKA,SAAAgiJ,EAAA3gX,GAEA,OAAAA,MAAAK,YAAAL,EAAAO,eAAAP,EAAAQ,eAAAR,EAAAspP,gBAAAtpP,EAAAupP,mBAAAvpP,EAAAwpP,mBAlKAvqP,EAAAgD,SAAAy+W,EAAAjiJ,GASAiiJ,EAAAhhX,UAAA67S,iBAAA,SAAAC,EAAAh7E,GACA,GAAAA,GAAAmgJ,EAAAngJ,EAAAxgO,OAAA,CACA,IAEAq9E,EAFAr9E,EAAAwgO,EAAAxgO,MAIA,GAAAA,EAAA4gX,WAAA,CAEAvjS,EAAAr9E,EAAA4gX,WACA,IAAArhJ,EAAA9/N,KAAA4/N,SAAA,GAEAE,EAAAI,SAAA3/N,EAAA4gX,aAEAnhX,KAAAmgO,OAAAviJ,QAIAA,EAAA59E,KAAAu9B,IAAAwjM,GAGA/gO,KAAA4gO,SAAAG,GACA,IAAA90M,EAAA2xD,EAAA6lD,aAAA,MACAs4K,EAAAx7S,MAAAsnD,OAAA,QAAA57B,EAAA,MAWAg1V,EAAAhhX,UAAAs9B,IAAA,SAAAwjM,GACA,IAAAnjJ,EAAA59E,KAAA61B,cAAA,UACAt1B,EAAAwgO,EAAAxgO,MAUA,OAJAA,EAAA6gX,aAAA7gX,EAAA6gX,cAAAphX,KAAA2/N,SACA/hJ,EAAAq+N,aAAA,UAAAj8S,KAAAs/N,MAAA,WAAA/+N,EAAA6gX,cACAphX,KAAAk8S,UAAAn7E,EAAAnjJ,GACA59E,KAAAmgO,OAAAviJ,GACAA,GASAqjS,EAAAhhX,UAAAssB,OAAA,SAAAwvR,EAAAh7E,GACA,IAAAxgO,EAAAwgO,EAAAxgO,MAEA,GAAA2gX,EAAA3gX,GAAA,CACA,IAAA8C,EAAArD,KACAg/N,EAAA/+N,UAAAssB,OAAAxsB,KAAAC,KAAA+gO,EAAA,SAAAxgO,GACA8C,EAAA64S,UAAAn7E,EAAAxgO,EAAA4gX,mBAIAnhX,KAAAwM,OAAAuvS,EAAAx7S,IAQA0gX,EAAAhhX,UAAAuM,OAAA,SAAAuvS,EAAAx7S,GACA,MAAAA,EAAA6gX,eACAphX,KAAAqgO,UAAA9/N,GACAw7S,EAAAx7S,MAAAsnD,OAAA,KAWAo5T,EAAAhhX,UAAAi8S,UAAA,SAAAn7E,EAAAnjJ,GACA,IAAAyjS,EAAAzjS,EAAAmiJ,qBAAA,gBAGAshJ,EADA,IAAAA,EAAA99W,OACAvD,KAAA61B,cAAA,gBAEAwrV,EAAA,GAGA,IAIA9qW,EAAAC,EAAA8qW,EAAAx6V,EAJAvmB,EAAAwgO,EAAAxgO,MACA+0G,EAAAyrH,EAAAhpN,OAAAgpN,EAAAhpN,MAAA,MACAw9F,EAAAwrH,EAAAhpN,OAAAgpN,EAAAhpN,MAAA,MAIA,GAAAxX,EAAAK,YAAAL,EAAAO,eAAAP,EAAAQ,cACAwV,EAAAhW,EAAAO,eAAA,EACA0V,EAAAjW,EAAAQ,eAAA,EACAugX,EAAA/gX,EAAAK,WACAkmB,EAAAvmB,EAAAM,gBACG,KAAAN,EAAAspP,eAQH,YADA7pP,KAAAqgO,UAAAziJ,EAAAr9E,GANAgW,EAAAhW,EAAAupP,mBAAA,EACAtzO,EAAAjW,EAAAwpP,mBAAA,EACAu3H,EAAA/gX,EAAAspP,eACA/iO,EAAAvmB,EAAAqpP,gBAOAy3H,EAAAplE,aAAA,KAAA1lS,EAAA++F,GACA+rQ,EAAAplE,aAAA,KAAAzlS,EAAA++F,GACA8rQ,EAAAplE,aAAA,cAAAn1R,GAGA,IAAAy6V,EAAAD,EAAA,EAAAhsQ,EACAksQ,EAAAF,EAAA,EAAA/rQ,EACAksQ,EAAAF,EAAA,IAAAC,EACAH,EAAAplE,aAAA,eAAAwlE,GAEA7jS,EAAAq+N,aAAA,aACAr+N,EAAAq+N,aAAA,aACAr+N,EAAAq+N,aAAA,QAAAv1S,KAAA0gE,KAAAk6S,EAAA,YACA1jS,EAAAq+N,aAAA,SAAAv1S,KAAA0gE,KAAAk6S,EAAA,YACA1jS,EAAAwiJ,YAAAihJ,GAGA9gX,EAAA4gX,WAAAvjS,GASAqjS,EAAAhhX,UAAA2gO,SAAA,SAAAG,GACA,IAAAxgO,EAAAwgO,EAAAxgO,MAEAA,KAAA4gX,YACAniJ,EAAA/+N,UAAA2gO,SAAA7gO,KAAAC,KAAAO,EAAA4gX,aASA,IAAA1+W,EAAAw+W,EACAv+W,EAAAC,QAAAF,wBC3LA,IAAAkL,EAAY9O,EAAQ,QAEpBu0T,EAAAzlT,EAAAylT,gBACA9D,EAAA,EAAA5oT,KAAAC,GAeA,SAAAk0K,EAAAp8J,EAAAC,EAAAE,EAAAC,EAAAC,EAAA6uS,EAAAl9S,EAAAzO,EAAAC,GACA,OAAAwO,EACA,SAGA,IAAAuqK,EAAAvqK,EACAzO,GAAAyc,EACAxc,GAAAyc,EACA,IAAAlC,EAAA9V,KAAAk+C,KAAA5iD,IAAAC,KAEA,GAAAua,EAAAw+J,EAAAp8J,GAAApC,EAAAw+J,EAAAp8J,EACA,SAGA,GAAAlY,KAAAiR,IAAAkH,EAAAC,GAAAwwS,EAAA,KAEA,SAGA,GAAA3B,EAAA,CACA,IAAAx9P,EAAAtxC,EACAA,EAAAu0S,EAAAt0S,GACAA,EAAAs0S,EAAAjjQ,QAEAtxC,EAAAu0S,EAAAv0S,GACAC,EAAAs0S,EAAAt0S,GAGAD,EAAAC,IACAA,GAAAwwS,GAGA,IAAArpQ,EAAAv/C,KAAA44B,MAAAr9B,EAAAD,GAMA,OAJAikD,EAAA,IACAA,GAAAqpQ,GAGArpQ,GAAApnC,GAAAonC,GAAAnnC,GAAAmnC,EAAAqpQ,GAAAzwS,GAAAonC,EAAAqpQ,GAAAxwS,EAGAnc,EAAAk4K,sCC3DAn4K,EAAAC,QAAA,SAAA4K,GACA,wBAAAA,EAAA,OAAAA,EAAA,oBAAAA,2BCmBA,IAAAszJ,EAAyBhiK,EAAQ,QAqCjC,SAAA4D,EAAAw3B,EAAA7kB,GAEA,OADAA,KAAA,GACAyrJ,EAAAzrJ,EAAAsyE,iBAAA,GAAAztD,EAAA,CACA8mI,QAAA3rJ,EAAAoyE,kBAAAvtD,EAAAutD,iBACAs5E,UAAA1rJ,EAAAqyE,cAAAxtD,EAAAwtD,aACAi0J,SAAAtmO,EAAAk3R,gBACA7vD,cAAArnO,EAAAqnO,cACAC,mBAAAtnO,EAAAsnO,qBAIAh6O,EAAAC,QAAAF,0BChDA,IAAA7D,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAER,IAAA6iX,EAAmB7iX,EAAQ,QAE3B8iX,EAAmB9iX,EAAQ,QAoB3BD,EAAAQ,eAAAsiX,GACA9iX,EAAAO,eAAAwiX,2BC/BA,IAAAz9W,EAAcrF,EAAQ,QAEtB+iX,EAAgB/iX,EAAQ,QA8BxB,SAAAwuP,EAAAw0H,GACA7hX,KAAA8hX,MAAAD,GAAAD,EACA5hX,KAAAylE,MAAA,IAAAvhE,EAAA80M,MAGA,IAAA+oK,EAAA10H,EAAAptP,UA+BA,SAAA+hX,EAAAv0H,EAAAlsE,EAAA5jK,EAAA0wN,GACA,IAAA7Z,EAAAjzC,EAAA9L,cAAA93J,GAEA,GAAAskW,EAAAztJ,GAAA,CAIA,IAAAzjL,EAAA,IAAA08M,EAAAq0H,MAAAvgM,EAAA5jK,EAAA0wN,GACA9sD,EAAAgzB,iBAAA52L,EAAAozB,GACA08M,EAAAhoL,MAAAloC,IAAAwT,IAGA,SAAAmxU,EAAAz0H,EAAA00H,EAAAC,EAAAnsK,EAAAD,EAAAq4B,GACA,IAAAg0I,EAAAF,EAAAh0L,iBAAA8nB,GAEAgsK,EAAAG,EAAA3sM,cAAAugC,KAKAqsK,EAGAA,EAAA5hR,WAAA2hR,EAAApsK,EAAAq4B,GAFAg0I,EAAA,IAAA50H,EAAAq0H,MAAAM,EAAApsK,EAAAq4B,GAKA+zI,EAAA7tK,iBAAAyB,EAAAqsK,GACA50H,EAAAhoL,MAAAloC,IAAA8kV,IAXA50H,EAAAhoL,MAAAj5D,OAAA61W,GAmDA,SAAAp0I,EAAA1sD,GACA,IAAAp4E,EAAAo4E,EAAAp4E,UACA,OACAswC,UAAAtwC,EAAAxuE,SAAA,aAAA8/K,eACA6nK,eAAAn5Q,EAAAxuE,SAAA,sBAAA8/K,eACA/wG,WAAAP,EAAAxuE,SAAA,SACA0yL,gBAAAlkH,EAAAxuE,SAAA,mBAmBA,SAAA4nV,EAAA1/P,GACA,OAAAjpG,MAAAipG,EAAA,KAAAjpG,MAAAipG,EAAA,IAGA,SAAAo/P,EAAAhlW,GACA,OAAAslW,EAAAtlW,EAAA,MAAAslW,EAAAtlW,EAAA,IA9HA8kW,EAAAzmK,aAAA,WACA,UAOAymK,EAAAthR,WAAA,SAAA8gF,GACA,IAAAksE,EAAAztP,KACAylE,EAAAgoL,EAAAhoL,MACA08S,EAAA10H,EAAA+0H,UACA/0H,EAAA+0H,UAAAjhM,EAGA4gM,GACA18S,EAAApB,YAGA,IAAAgqK,EAAAJ,EAAA1sD,GACAA,EAAA3kK,KAAAulW,GAAA5kV,IAAA,SAAA5f,GACAqkW,EAAAv0H,EAAAlsE,EAAA5jK,EAAA0wN,KACG9hN,OAAA,SAAAypL,EAAAC,GACHisK,EAAAz0H,EAAA00H,EAAA5gM,EAAA00B,EAAAD,EAAAq4B,KACG7hO,OAAA,SAAAmR,GACH8nD,EAAAj5D,OAAA21W,EAAAh0L,iBAAAxwK,MACG83L,WAiCHssK,EAAAz0Q,aAAA,WACA,IAAAi0E,EAAAvhL,KAAAwiX,UAEAjhM,GAIAA,EAAAqzC,kBAAA,SAAA7jL,EAAApzB,GACAozB,EAAAu8D,aAAAi0E,EAAA5jK,IACG3d,OAGH+hX,EAAApmK,yBAAA,SAAAp6B,GACAvhL,KAAAuuO,aAAAN,EAAA1sD,GACAvhL,KAAAwiX,UAAA,KACAxiX,KAAAylE,MAAApB,aAGA09S,EAAAlmK,kBAAA,SAAAC,EAAAv6B,GACA,SAAAitD,EAAAz9L,GACAA,EAAAolK,UACAplK,EAAAqlK,YAAArlK,EAAAslK,eAAA,GAIA,QAAA14L,EAAAm+L,EAAA1vL,MAAkCzO,EAAAm+L,EAAAvyL,IAAsB5L,IAAA,CACxD,IAAA62M,EAAAjzC,EAAA9L,cAAA93J,GAEA,GAAAskW,EAAAztJ,GAAA,CACA,IAAAzjL,EAAA,IAAA/wC,KAAA8hX,MAAAvgM,EAAA5jK,EAAA3d,KAAAuuO,cACAx9L,EAAA5e,SAAAq8M,GACAxuO,KAAAylE,MAAAloC,IAAAwT,GACAwwI,EAAAgzB,iBAAA52L,EAAAozB,MAeAgxU,EAAAv1W,OAAA,WACAxM,KAAA47M,oBAEA57M,KAAAu7M,aAAA,KACAv7M,KAAAylE,MAAApB,aAGA09S,EAAAnmK,kBAAA,WACA,IAAAxF,EAAAp2M,KAAAu7M,aAEAnF,GACAA,EAAA+F,oBAYA,IAAA15M,EAAA4qP,EACA3qP,EAAAC,QAAAF,0BCzKA,IAAAkL,EAAY9O,EAAQ,QAEpBgsD,EAAAl9C,EAAAk9C,cAyBA,SAAApoD,EAAA8X,GACAA,EAAA+kG,iBAAA,sBAAAhlG,GACA,IAAA/O,EAAA+O,EAAAE,UACAmoV,EAAAroV,EAAA2K,aACAuqS,EAAAl1S,EAAA7U,IAAA,SACAg9W,EAAA53T,IACAt/C,EAAA4b,KAAA,SAAAxJ,GACA8kW,EAAArvV,IAAA7nB,EAAAshL,YAAAlvK,QAEAglV,EAAAx7U,KAAA,SAAAy6U,GACA,IAAAtzV,EAAAq0V,EAAA/6U,QAAAg6U,GACA96U,EAAA0oS,GAAAl1S,EAAA0lG,QAAAv6G,IAAA6I,GAAA,GAAAkhT,EAAAjsT,QACAo/V,EAAA13U,cAAA22U,EAAA,QAAA96U,GACA,IAAAnJ,EAAA8kW,EAAAh9W,IAAAm8V,GAEA,MAAAjkV,GACApS,EAAA0f,cAAAtN,EAAA,QAAAmJ,OAMApkB,EAAAC,QAAAF,wBC9BA,IAAA4gS,EAAA,WACAurE,EAAA,YACAC,EAAA,aACAt/D,EAAA,eACAF,EAAA,UAEAC,EAAA,aACAF,EAAA,SACAszE,EAAA,MACA//W,EAAA0gS,yBACA1gS,EAAAisW,2BACAjsW,EAAAksW,4BACAlsW,EAAA4sS,8BACA5sS,EAAA0sS,wBACA1sS,EAAA2sS,4BACA3sS,EAAAysS,0BACAzsS,EAAA+/W,+CCvDA,IAAAj3V,EAAY5sB,EAAQ,OAARA,CAAmB,OAC/BmrB,EAAUnrB,EAAQ,QAClBo/N,EAAap/N,EAAQ,QAAWo/N,OAChC0kJ,EAAA,mBAAA1kJ,EAEA2kJ,EAAAlgX,EAAAC,QAAA,SAAA2L,GACA,OAAAmd,EAAAnd,KAAAmd,EAAAnd,GACAq0W,GAAA1kJ,EAAA3vN,KAAAq0W,EAAA1kJ,EAAAj0M,GAAA,UAAA1b,KAGAs0W,EAAAn3V,iCCUA,IAAAjsB,EAAaX,EAAQ,QAErBk+M,EAAoBl+M,EAAQ,QAE5BqF,EAAcrF,EAAQ,QAEtBwnN,EAAcxnN,EAAQ,QAEtB49K,EAAA4pC,EAAA5pC,aAEAx2K,EAAapH,EAAQ,QAErByoF,EAAazoF,EAAQ,QAoBrBgkX,EAAA9lK,EAAAr4M,OAAA,CACAvE,KAAA,sBAMAw9M,SAAA,WACA,IAAAG,EAAA99M,KAAAylE,MACAq4I,EAAAz5I,YACA,IAAAu5I,EAAA59M,KAAA49M,eACAa,EAAAb,EAAAn4M,IAAA,WACAkkG,EAAAi0G,EAAAj0G,eACA71F,EAAA61F,EAAAuqG,UACApqG,EAAAH,EAAAk1G,eAEAI,EAAAj/M,KAAA8iX,gBAEApkK,EAAAd,EAAAc,SAEAqkK,EAAA/iX,KAAAgjX,eAEAC,EAAAF,EAAAE,SACAvX,EAAAlsW,EAAAq9B,SAAA+gL,EAAAn4M,IAAA,iBAAAw9W,GAQA,SAAAnwK,EAAAjuI,GACA,IAAAutJ,EAAAvtJ,EAAAutJ,MACArK,EAAA,IAAA7jN,EAAA80M,MACA+O,EAAA57F,QAAA3sH,EAAAoJ,KAAA5I,KAAAkjX,aAAAljX,KAAAoyN,GAEApyN,KAAAmjX,iBAAAp7J,EAAAljJ,EAAAu+S,uBAEA,IAAAC,EAAAzlK,EAAA0lK,kBAAAlxJ,GAIA,GAFApyN,KAAAujX,kBAAAx7J,EAAAs7J,EAAA,KAAA3kK,EAAA,GAAAA,EAAA,KAEAgtJ,EAAA,CACA,IAAA8X,EAAAxjX,KAAA49M,eAAA5U,cAAAq6K,GACAt7J,EAAAxqL,IAAA,IAAAr5B,EAAArE,KAAA,CACAU,MAAA,CACAyB,EAAA,UAAAi9M,GAAAR,EAAAC,EAAA,GAAAD,EACAx8M,EAAAy8M,EAAA,KACA19M,KAAAoxN,EAAApxN,KACAY,kBAAA,SACAD,UAAAs9M,EACAnrM,WACAg2F,WACAh2C,QAAA,eAAA0vT,EAAA,SAKA1lK,EAAAvgL,IAAAwqL,GAlCAk7J,GAAAjjX,KAAAk+M,gBAAAJ,EAAAmlK,EAAA,GAAAvkK,EAAAgtJ,EAAAzsJ,GACAz/M,EAAA2nB,KAAA47V,EAAAU,cAAA3wK,EAAA9yM,MACAijX,GAAAjjX,KAAAk+M,gBAAAJ,EAAAmlK,EAAA,GAAAvkK,EAAAgtJ,EAAAzsJ,GACAh5M,EAAA68E,IAAA86H,EAAAn4M,IAAA,UAAAq4M,EAAAF,EAAAn4M,IAAA,YACAzF,KAAAo+M,iBAAAN,GACA99M,KAAAu+M,cAAAT,IAoCAqlK,iBAAA,SAAAp7J,EAAAq7D,GAGA,SAAAsgG,EAAAv9N,GACA,IAAAy3D,EAAA59M,KAAA49M,eACAA,EAAAz6L,OAAA8/L,WAAAjjN,KAAA+E,IAAAqoG,eAAA,CACAjtG,KAAAgmJ,EACAk+D,MAAA/8H,EAAA08H,iBAAApG,EAAAgG,sBAAAw/D,MANAr7D,EAAAnyM,GAAA,YAAApW,EAAAoJ,KAAA86W,EAAA1jX,KAAA,cAAA4V,GAAA,WAAApW,EAAAoJ,KAAA86W,EAAA1jX,KAAA,cAcA8iX,cAAA,WACA,IAAAllK,EAAA59M,KAAA49M,eACA+lK,EAAA/lK,EAAAz6L,OAEA,gBAAAwgW,EAAAzhS,OACA,OAAAoF,EAAA43H,aAAAtB,EAAA59M,KAAA+E,IAAA64M,EAAAc,UAGA,IAAAj7D,EAAAkgO,EAAAlgO,MAMA,OAJAA,GAAA,SAAAA,IACAA,EAAA,QAGAA,GAOAy6D,gBAAA,SAAAz4I,EAAAzkE,EAAA09M,EAAAgtJ,EAAAzsJ,GACA,GAAAj+M,EAAA,CAIA,IAAA+mN,EAAA,IAAA7jN,EAAA80M,MACArvG,EAAA3pG,KAAA49M,eAAAj0G,eACAo+G,EAAAxqL,IAAA,IAAAr5B,EAAArE,KAAA,CACAU,MAAA,CACAyB,EAAA0pW,EAAA,UAAAzsJ,EAAAP,EAAA,KAAAA,EAAA,KACAz8M,EAAAy8M,EAAA,KACA98M,kBAAA,SACAD,UAAA+pW,EAAAzsJ,EAAA,SACAj+M,OACA8S,SAAA61F,EAAAuqG,UACApqG,SAAAH,EAAAk1G,mBAGAp5I,EAAAloC,IAAAwqL,KAOAi7J,aAAA,WACA,IAAAplK,EAAA59M,KAAA49M,eACA6lK,EAAAjkX,EAAA4N,IAAAwwM,EAAAgmK,eAAA,SAAAxxJ,EAAAvuN,GACA,OACAuuN,QACAgxJ,sBAAAv/W,KAGAo/W,EAAArlK,EAAAn4M,IAAA,QAEAy8E,EAAA07H,EAAAn4M,IAAA,UACAo/C,EAAA+4J,EAAAn4M,IAAA,WASA,OAPA,eAAAy8E,EAAAr9B,MACA4+T,EAAAj3N,UAEAy2N,IACAA,IAAA/jV,QAAAstH,WAGA,CACAi3N,gBACAR,aAOAM,kBAAA,SAAA99S,EAAA49S,EAAAQ,GACAp+S,EAAAloC,IAAAk/I,EAAAz8K,KAAAmiN,oBAAAkhK,EAAA,UAAAQ,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAA7jX,KAAAmiN,oBAAAkhK,EAAA,YAMAH,aAAA,SAAA9wJ,GACA,IAAAxU,EAAA59M,KAAA49M,eACAz6L,EAAAy6L,EAAAz6L,OACA29L,EAAAthN,EAAA+V,MAAA4N,EAAA29L,UACAgjK,EAAAlmK,EAAAmmK,kBAAA3xJ,GAEA,WAAAjvM,EAAAy/U,cACA9hJ,EAAAgjK,IAAA,EACAtkX,EAAA2nB,KAAA25L,EAAA,SAAArzL,EAAAxiB,GACA61M,EAAA71M,OAAA64W,KAGAhjK,EAAAgjK,IAAAhjK,EAAAgjK,GAGA9jX,KAAA+E,IAAAqoG,eAAA,CACAjtG,KAAA,kBACAkoD,KAAAroD,KAAAgqB,IACA62L,YAAA7gN,KAAA49M,eAAA3xL,GACA60L,gBAIAr+M,EAAAogX,EACAngX,EAAAC,QAAAF,0BC1NA5D,EAAQ,QAER,IAAAgjB,EAAqBhjB,EAAQ,QAsB7B4D,EAAAof,EAAAnd,OAAA,CACAvE,KAAA,OACA4lH,aAAA,kBACA9iG,WAAA,MAKA/d,iBAAA,KACA4d,cAAA,CACAo5F,MAAA,EACAC,OAAA,EACAh/E,EAAA,EACAmS,KAAA,MACAG,IAAA,GACAF,MAAA,MACAC,OAAA,GAEAw0U,cAAA,EAGAtnQ,gBAAA,gBACAE,YAAA,EACA/Z,YAAA,UAIAngG,EAAAC,QAAAF,0BCtEA,IAAAI,EAAehE,EAAQ,QACvB6D,EAAAC,QAAA,SAAAc,EAAAL,EAAAa,EAAAd,GACA,IACA,OAAAA,EAAAC,EAAAP,EAAAoB,GAAA,GAAAA,EAAA,IAAAb,EAAAa,GAEG,MAAAkS,GACH,IAAAgvD,EAAA1hE,EAAA,UAEA,WADA6E,IAAA68D,GAAAtiE,EAAAsiE,EAAAplE,KAAA0D,IACA0S,4BCWA,IAAAvX,EAAcC,EAAQ,QAEtB4uO,EAAiB5uO,EAAQ,QAEzBolX,EAAsBplX,EAAQ,QAE9BqlX,EAAmBrlX,EAAQ,QAoB3BD,EAAA42K,gBAAA,CACAr1K,KAAA,UACA+yD,OAAA,SAAA54C,EAAAC,EAAAxV,GACA,IAAAwG,EAAA+O,EAAAE,UAEA2pW,EAAAnkX,KAAAokX,kBAAA74W,EAAA+O,GAEA6pW,EAAA1jR,WAAAl1F,GACAvL,KAAAkuP,WAAA,GAEAlyE,yBAAA,SAAA1hK,EAAAC,EAAAxV,GACA,IAAAwG,EAAA+O,EAAAE,UAEA2pW,EAAAnkX,KAAAokX,kBAAA74W,EAAA+O,GAEA6pW,EAAAxoK,yBAAApwM,GACAvL,KAAAkuP,WAAA,GAEAjyE,kBAAA,SAAA6/B,EAAAxhM,EAAAC,GACAva,KAAAqkX,YAAAxoK,kBAAAC,EAAAxhM,EAAAE,WAEAxa,KAAAkuP,UAAApyC,EAAAvyL,MAAAjP,EAAAE,UAAAb,SAEA2oG,gBAAA,SAAAhoG,EAAAC,EAAAxV,GACA,IAAAwG,EAAA+O,EAAAE,UAKA,GAFAxa,KAAAylE,MAAA9gD,SAEA3kB,KAAAkuP,WAAA3iP,EAAAoO,QAAA,MAAA3Z,KAAAqkX,YAAA/oK,eACA,OACA/uL,QAAA,GAGA,IAAAwlD,EAAAmyS,IAAA7pW,MAAAC,GAEAy3D,EAAAqpG,UACArpG,EAAAqpG,SAAA,CACAhvJ,MAAA,EACA7C,IAAAhe,EAAAoO,SACSpO,GAGTvL,KAAAqkX,YAAA/2Q,aAAA/hG,IAGA64W,kBAAA,SAAA74W,EAAA+O,GACA,IAAA6pW,EAAAnkX,KAAAqkX,YACAr7V,EAAA1O,EAAA0O,gBACAulO,EAAAvlO,EAAAo+J,MAUA,OARA+8L,GAAA51H,IAAAvuP,KAAA0uP,eACAy1H,KAAA33W,SACA23W,EAAAnkX,KAAAqkX,YAAA91H,EAAA,IAAA01H,EAAA,IAAAx2I,EACAztO,KAAA0uP,aAAAH,EACAvuP,KAAAylE,MAAApB,aAGArkE,KAAAylE,MAAAloC,IAAA4mV,EAAA1+S,OACA0+S,GAEA33W,OAAA,SAAA+N,EAAAxV,GACA/E,KAAAqkX,aAAArkX,KAAAqkX,YAAA73W,QAAA,GACAxM,KAAAqkX,YAAA,MAEAvuW,QAAA,uCC3FA,IAAAtW,EAAaX,EAAQ,QAErB+iB,EAAgB/iB,EAAQ,QAExBgjB,EAAqBhjB,EAAQ,QA0B7BsoB,EAAA3nB,EAAA2nB,KACA5R,EAAA/V,EAAA+V,MACAnI,EAAA5N,EAAA4N,IACAjC,EAAA3L,EAAA2L,MACAm5W,EAAA,mBAyDA,SAAAC,EAAAx/W,GAKA/E,KAAAggG,KAAAj7F,EAMA/E,KAAAwkX,iBAAA,GAMAxkX,KAAAykX,WAAA,GAMAzkX,KAAA0kX,cAQA1kX,KAAA2kX,qBAAA,GAMA3kX,KAAA4kX,cAMA5kX,KAAA6kX,eAiJA,SAAAC,EAAAC,EAAAC,EAAAC,GACA,IAEAC,EACAC,EAHAC,EAAA,GACAC,EAAA,GAIA3uI,EAAAquI,EAAApuI,SAaA,GAXAouI,EAAAI,aACAA,EAAAJ,EAAAI,aAIAzuI,GAAAquI,EAAAl1W,WACAs1W,KAAA,GACAC,GAAAL,EAAAl1W,SAAA,IAAAqvB,SAIA6lV,EAAA/tG,MAAA,CACAmuG,KAAA,GACA,IAAAnuG,EAAA+tG,EAAA/tG,MACA7vP,EAAA6vP,EAAA,SAAAsuG,GACAA,KAAAniW,SACAmiW,EAAAtvO,MACAqvO,EAAA1yW,KAAA2yW,GACSJ,IAETA,EAAAI,MAyBA,OAlBAH,IACAA,EAAAJ,GAKAI,EAAAxuI,WACAwuI,EAAAxuI,SAAAD,GAIAvvN,EAAA,CAAAg+V,GAAAz7T,OAAA07T,GAAA17T,OAAAlqD,EAAA4N,IAAAi4W,EAAA,SAAAruG,GACA,OAAAA,EAAA7zP,UACG,SAAAA,GACHgE,EAAA69V,EAAA,SAAAO,GACAA,EAAApiW,EAAA8hW,OAGA,CACAE,aACAC,kBACAF,eACAG,aAUA,SAAAG,EAAAxvO,EAAAuuG,EAAAC,GACA,IAAAihI,EAAA,CACAnjX,MAAAiiP,EACAhiP,OAAAiiP,EACAkhI,YAAAnhI,EAAAC,GAGAmhI,GAAA,EAeA,OAdAnmX,EAAA2nB,KAAA6uH,EAAA,SAAA/xI,EAAA8/E,GACA,IAAAisK,EAAAjsK,EAAAltD,MAAAytV,GAEA,GAAAt0H,KAAA,IAAAA,EAAA,IAIA,IAAA41H,EAAA51H,EAAA,GACA61H,EAAA71H,EAAA,GAAAt2H,cAEA/xB,EAAA89Q,EAAAI,GAAA5hX,EAAA2hX,KACAD,GAAA,MAGAA,EAGA,SAAAh+Q,EAAAm+Q,EAAA9tC,EAAA4tC,GACA,cAAAA,EACAE,GAAA9tC,EACG,QAAA4tC,EACHE,GAAA9tC,EAGA8tC,IAAA9tC,EAIA,SAAA+tC,EAAAC,EAAAC,GAEA,OAAAD,EAAAh2W,KAAA,OAAAi2W,EAAAj2W,KAAA,KAyBA,SAAAyU,EAAAyhW,EAAA/hS,GACAA,KAAA,GACAh9D,EAAAg9D,EAAA,SAAAgiS,EAAAn6V,GACA,SAAAm6V,EAAA,CAIA,IAAAC,EAAAF,EAAAl6V,GAEA,GAAAnK,EAAAuC,SAAA4H,GAEK,CACLm6V,EAAAvkW,EAAAmuD,iBAAAo2S,GACAC,EAAAxkW,EAAAmuD,iBAAAq2S,GACA,IAAAC,EAAAzkW,EAAA87V,gBAAA0I,EAAAD,GACAD,EAAAl6V,GAAA5e,EAAAi5W,EAAA,SAAAxhT,GACA,OAAAA,EAAA1hD,QAAA0hD,EAAAk6S,MAAA5zW,EAAA05D,EAAAk6S,MAAAl6S,EAAA1hD,QAAA,GAAA0hD,EAAAk6S,OAAAl6S,EAAA1hD,cANA+iW,EAAAl6V,GAAA7gB,EAAAi7W,EAAAD,GAAA,MAlRA5B,EAAAtkX,UAAA,CACAC,YAAAqkX,EASA5yV,UAAA,SAAAozV,EAAAC,GACAD,GAEAvlX,EAAA2nB,KAAAvF,EAAAmuD,iBAAAg1S,EAAAn/V,QAAA,SAAAA,GACAA,KAAAra,MAAA/L,EAAAolB,aAAAgB,EAAAra,OAAA/L,EAAAgrD,eAAA5kC,EAAAra,QAOAw5W,EAAAxvW,EAAAwvW,GAAA,GAGA,IAAAuB,EAAAtmX,KAAA4kX,cACA2B,EAAAzB,EAAA/kX,KAAAC,KAAA+kX,EAAAC,GAAAsB,GACAtmX,KAAA6kX,eAAA0B,EAAApB,WAEAmB,GAEA7hW,EAAA6hW,EAAAnB,WAAAoB,EAAApB,YAIAoB,EAAAnB,gBAAA7hX,SACA+iX,EAAAlB,gBAAAmB,EAAAnB,iBAGAmB,EAAAlB,UAAA9hX,SACA+iX,EAAAjB,UAAAkB,EAAAlB,WAGAkB,EAAArB,eACAoB,EAAApB,aAAAqB,EAAArB,eAGAllX,KAAA4kX,cAAA2B,GAQAC,YAAA,SAAAC,GACA,IAAAC,EAAA1mX,KAAA4kX,cAOA,OAJA5kX,KAAAwkX,iBAAAp3W,EAAAs5W,EAAAtB,gBAAA7vW,GACAvV,KAAAykX,WAAAr3W,EAAAs5W,EAAArB,UAAA9vW,GACAvV,KAAA0kX,cAAAnvW,EAAAmxW,EAAAxB,cACAllX,KAAA2kX,qBAAA,GACApvW,EAAAkxW,EAKAC,EAAAvB,WAAAnlX,KAAA6kX,iBAOA8B,kBAAA,SAAApsW,GACA,IAAA4I,EACAiiW,EAAAplX,KAAAwkX,iBAEA,GAAAY,EAAA7hX,OAAA,CAGA,IAAAkpB,EAAAlS,EAAAmS,aAAA,YAEAD,IACAtJ,EAAA5N,EAAA6vW,EAAA34V,EAAAshM,oBAAA,IAIA,OAAA5qM,GAOAyjW,eAAA,SAAArsW,GACA,IAAAgqO,EAAAvkP,KAAAggG,KAAAzxF,WAEAi2O,EAAAxkP,KAAAggG,KAAA1hC,YAEA+mT,EAAArlX,KAAAykX,WACAS,EAAAllX,KAAA0kX,cACAj3T,EAAA,GACA/pD,EAAA,GAEA,IAAA2hX,EAAA9hX,SAAA2hX,EACA,OAAAxhX,EAIA,QAAAqH,EAAA,EAAA0B,EAAA44W,EAAA9hX,OAA2CwH,EAAA0B,EAAS1B,IACpDy6W,EAAAH,EAAAt6W,GAAAirI,MAAAuuG,EAAAC,IACA/2L,EAAA96C,KAAA5H,GAkBA,OAZA0iD,EAAAlqD,QAAA2hX,IACAz3T,EAAA,MAGAA,EAAAlqD,SAAAwiX,EAAAt4T,EAAAztD,KAAA2kX,wBACAjhX,EAAA0J,EAAAqgD,EAAA,SAAA5pD,GACA,OAAA0R,GAAA,IAAA1R,EAAAqhX,EAAA/hW,OAAAkiW,EAAAxhX,GAAAsf,WAKAnjB,KAAA2kX,qBAAAl3T,EACA/pD,IA4JA,IAAAjB,EAAA8hX,EACA7hX,EAAAC,QAAAF,0BChbA,IAAAjD,EAAaX,EAAQ,QAErBigH,EAAWjgH,EAAQ,QA8BnBgoX,EAAA,SAAAvrW,EAAAvD,EAAA0hW,EAAAxiO,EAAA3wI,GACAw4G,EAAA/+G,KAAAC,KAAAsb,EAAAvD,EAAA0hW,GAUAz5W,KAAAG,KAAA82I,GAAA,QAUAj3I,KAAAsG,YAAA,SAQAtG,KAAAkiF,OAAA,MAGA2kS,EAAA5mX,UAAA,CACAC,YAAA2mX,EAMAljW,MAAA,KAMAzb,aAAA,WACA,IAAA5B,EAAAtG,KAAAsG,SACA,cAAAA,GAAA,WAAAA,GAMA+6G,YAAA,SAAAx3C,EAAAzqC,GACA,OAAAp/B,KAAAkF,iBAAAm8G,YAAAx3C,EAAAzqC,GAAA,IASAgrM,cAAA,KAOA+nD,aAAA,MAEA3yR,EAAAgD,SAAAqkX,EAAA/nQ,GACA,IAAAr8G,EAAAokX,EACAnkX,EAAAC,QAAAF,0BC1GA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAER,IAAAqvM,EAAervM,EAAQ,QAEvBoH,EAAAioM,EAAAjoM,OAEAlH,EAAmBF,EAAQ,QAE3BA,EAAQ,QAqBRD,EAAAQ,eAAAI,EAAAmqB,MAAA1jB,EAAA,iBACArH,EAAAO,eAAAJ,EAAA,qDCtCA,IAAAS,EAAaX,EAAQ,QAErBmjB,EAAcnjB,EAAQ,QAEtBykF,EAAAthE,EAAAshE,cA2BA,SAAA47H,EAAAtB,EAAA74M,EAAA25M,GACA,IAAAilK,EAAA/lK,EAAAz6L,OACA87L,EAAA0kK,EAAAlgO,MAEA,SAAAw7D,GAAA,SAAAA,EACA,OAAAA,EAcA,IAVA,IAAAw3E,EAAA,CACAn0R,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,aAEAwoT,EAAA,eAAAnD,EAAAzhS,OAAA,IACA6kS,EAAA,qDACAC,EAAAD,EAAAD,GACAG,EAAA,YACAC,EAAA,GAEAn8W,EAAA,EAAiBA,EAAA,EAAOA,IACxBm8W,EAAAH,EAAA,EAAAD,GAAA/7W,IAAAk8W,EAAAl8W,GACAm8W,EAAAF,EAAAj8W,IAAA,IAAAA,EAAA2zM,EAAA,GAAAilK,EAAAqD,EAAAj8W,IAGA,IAAAo8W,EAAA,mCAAAL,GACArlX,EAAA6hF,EAAA4jS,EAAAzwF,EAAAktF,EAAAzyW,SACA,OAAA81W,GAAAvlX,EAAA2hF,OAAA+jS,EAAA,QAAA1lX,EAAA0lX,EAAA,OAAA1lX,EAAA0lX,EAAA,OAAA1wF,EAAA0wF,EAAA,SAQA,SAAAnjK,EAAAK,GAOA,OANA7kN,EAAA2nB,KAAAk9L,GAAA,YAAA14L,GACA,MAAA04L,EAAA5+L,YACA4+L,EAAAtnL,gBAAAsnL,EAAA5+L,UACA4+L,EAAA5+L,UAAA,QAGA4+L,EAGA1hN,EAAAu8M,eACAv8M,EAAAqhN,2CC5EA,IAAAy0J,EAAoB55W,EAAQ,QAoB5BuoX,EAAA3O,EAAA/zW,OAAA,CACAvE,KAAA,sBACA4lH,aAAA,SACAjjG,cAAA,CACA2H,OAAA,SAEAnN,WAAA,KAEA+xM,aAAA,KACAo4E,eAAA,KAEAr4E,aAAA,KACA05E,aAAA,KAGAvB,cAAA,EAKAI,sBAAA,MAEAH,YAAA,EACAa,mBAAA,KAEAX,kBAAA,IAEA4R,OAAA,QAIA79H,YAAA,EACA0yD,gBAAA,GAGAtqN,eAAA,SAAAV,GAGA,OADAA,EAAA+nL,MAAA,KACAk8K,EAAA9gN,WAAAtmK,KAAA,iBAAA2I,cAGAlG,EAAA2kX,EACA1kX,EAAAC,QAAAF,0BC9DA,IAAA2e,EAAcviB,EAAQ,QAItB8O,GAFAyT,EAAAC,QAEYxiB,EAAQ,SAEpBgsD,EAAAl9C,EAAAk9C,cAEA1jC,GADAxZ,EAAAkvB,SACAlvB,EAAAwZ,MA+CA,SAAAs8Q,EAAAnpR,GACA,IAAAqpR,EAAArpR,EAAA7U,IAAA,oBACA/B,EAAA,CACAigS,eACAG,aAAA,GACAC,QAAAl5O,IACAu5O,gBAAAv5O,KAEAw8T,EAAAC,EAAA3jF,GAEA,GAAA0jF,EAEA,OADAA,EAAA/sW,EAAA5W,IAAAqgS,QAAArgS,EAAA0gS,iBACA1gS,EAIA,IAAA4jX,EAAA,CACA12K,YAAA,SAAAt2L,EAAA5W,EAAAqgS,EAAAK,GACA,IAAAxS,EAAAt3Q,EAAAstE,uBAAA,YACAiqM,EAAAv3Q,EAAAstE,uBAAA,YACAlkF,EAAAogS,aAAA,UACAC,EAAA3wQ,IAAA,IAAAw+P,GACAmS,EAAA3wQ,IAAA,IAAAy+P,GAEAltI,EAAAitI,KACAwS,EAAAhxQ,IAAA,IAAAw+P,GACAluR,EAAAsgS,sBAAA,GAGAr/I,EAAAktI,KACAuS,EAAAhxQ,IAAA,IAAAy+P,GACAnuR,EAAAsgS,sBAAA,IAGAnzF,WAAA,SAAAv2L,EAAA5W,EAAAqgS,EAAAK,GACA,IAAAguB,EAAA93S,EAAAstE,uBAAA,iBACAlkF,EAAAogS,aAAA,WACAC,EAAA3wQ,IAAA,SAAAg/R,GAEAztK,EAAAytK,KACAhuB,EAAAhxQ,IAAA,SAAAg/R,GACA1uT,EAAAsgS,sBAAA,IAGAlzF,MAAA,SAAAx2L,EAAA5W,EAAAqgS,EAAAK,GACA,IAAAgnB,EAAA9wS,EAAAstE,uBAAA,YACA2tI,EAAA61F,EAAAM,cAAA,cACAC,EAAAP,EAAAM,cAAA,aACAhoT,EAAAogS,aAAA,mBACAC,EAAA3wQ,IAAA,SAAAmiM,GACAwuE,EAAA3wQ,IAAA,QAAAu4R,GAEAhnK,EAAA4wE,KACA6uE,EAAAhxQ,IAAA,SAAAmiM,GACA7xN,EAAAsgS,sBAAA,GAGAr/I,EAAAgnK,KACAvnB,EAAAhxQ,IAAA,QAAAu4R,GACAjoT,EAAAsgS,sBAAA,IAGAh+L,IAAA,SAAA1rF,EAAA5W,EAAAqgS,EAAAK,GACA1gS,EAAAogS,aAAA,eAEAh4F,SAAA,SAAAxxL,EAAA5W,EAAAqgS,EAAAK,GACA,IAAA7pR,EAAAD,EAAAC,QACAg0L,EAAAh0L,EAAAmS,aAAA,WAAApS,EAAA7U,IAAA,kBACAq+R,EAAApgS,EAAAogS,aAAAv1F,EAAA91H,WAAAv5C,QACA/X,EAAAonL,EAAA06E,kBAAA,SAAA3sB,EAAAz4P,GACA,IAAAgB,EAAA0V,EAAAmS,aAAA,eAAA4vO,GACA9lH,EAAAstJ,EAAAjgS,GACAkgS,EAAA3wQ,IAAAojH,EAAA3xI,GAEA8/I,EAAA9/I,IAAA,MAAAnB,EAAAsgS,wBACAI,EAAAhxQ,IAAAojH,EAAA3xI,GACAnB,EAAAsgS,sBAAAngS,OAMA,SAAA8gJ,EAAA9/I,GACA,mBAAAA,EAAAY,IAAA,QAGA9C,EAAA8gS,oDC7IA,IAAAjkS,EAAaX,EAAQ,QAErBgsM,EAAWhsM,EAAQ,QAEnB2jB,EAAoB3jB,EAAQ,QAE5B4jB,EAAAD,EAAAC,iBAoBA,SAAAhgB,EAAAm7E,EAAArjE,GACA,IAAAgtW,EAAAhtW,EAAAogB,SAAA,QAEA,GAAA4sV,EAAA9hX,IAAA,QAEG,GAAA8hX,EAAA9hX,IAAA,eACHm4E,EAAAq+N,aAAA,aAAAsrE,EAAA9hX,IAAA,oBADG,CAKH,IAAA+hX,EAAA,EACAjtW,EAAAkkG,WAAA,SAAAnkG,EAAAqD,KACA6pW,GACGxnX,MACH,IAGAynX,EAHAC,EAAAH,EAAA9hX,IAAA,qBACAkiX,EAAAJ,EAAA9hX,IAAA,uBACAmiX,EAAAlhX,KAAAQ,IAAAsgX,EAAAG,GAGA,KAAAH,EAAA,IAIA,IAAAh9K,EAAAq9K,IAGAJ,EADAj9K,EACAjgM,EAAAu9W,EAAA,sBACAt9K,UAGAs9K,EAAA,wBAGA,IAAAC,EAAA,GACA7xV,EAAAsxV,EAAA,kDACAC,GAAAl9W,EAAAu9W,EAAA5xV,GAAA,CACA41N,YAAA07H,IAEAjtW,EAAAkkG,WAAA,SAAAnkG,EAAAqD,GACA,GAAAA,EAAAiqW,EAAA,CACA,IAAAI,EACAngW,EAAAvN,EAAA7U,IAAA,QACAwiX,EAAA,WAAAT,EAAA,2BACAQ,EAAAF,EAAAjgW,EAAAogW,EAAA,WAAAA,EAAA,eACAD,EAAAz9W,EAAAy9W,EAAA,CACAl2L,SAAAx3K,EAAAuI,YACAgF,WAAAvN,EAAA7U,IAAA,QACA0U,WAAA+tW,EAAA5tW,EAAA6J,WAEA,IAAA5Y,EAAA+O,EAAAE,UACA7P,OAAAY,OAEAA,EAAAoO,QAAA+tW,EAEAM,GAAAz9W,EAAAu9W,EAAA,qBACAK,WAAAT,IAGAM,GAAAF,EAAA,gBAKA,IAFA,IAAAM,EAAA,GAEAr9W,EAAA,EAAuBA,EAAAQ,EAAAoO,QAAkB5O,IACzC,GAAAA,EAAA28W,EAAA,CACA,IAAAp5W,EAAA/C,EAAAqc,QAAA7c,GACA9G,EAAAwe,EAAAlX,EAAAR,GACAq9W,EAAAz1W,KAAApI,EAAAu9W,EAAAx5W,EAAA,qCACAA,OACArK,WAKA+jX,GAAAI,EAAAp4W,KAAA83W,EAAA,0BAAAA,EAAA,sBACAC,EAAAp1W,KAAAq1W,MAGAP,GAAAM,EAAA/3W,KAAA83W,EAAA,qCAAAA,EAAA,iCACAlqS,EAAAq+N,aAAA,aAAAwrE,IAGA,SAAAl9W,EAAAD,EAAA+9W,GACA,qBAAA/9W,EACA,OAAAA,EAGA,IAAA5G,EAAA4G,EAIA,OAHA9K,EAAA2nB,KAAAkhW,EAAA,SAAApkX,EAAAgH,GACAvH,IAAA6G,QAAA,IAAAuwN,OAAA,UAA6C7vN,EAAA,UAAsB,KAAAhH,KAEnEP,EAGA,SAAAokX,EAAArjT,GACA,IAAA6jT,EAAAf,EAAA9hX,IAAAg/D,GAEA,SAAA6jT,EAAA,CAIA,IAHA,IAAAr2S,EAAAxN,EAAAh2D,MAAA,KACA/K,EAAAmnM,EAAAwB,KAEAthM,EAAA,EAAqBA,EAAAknE,EAAA1uE,SAAoBwH,EACzCrH,IAAAuuE,EAAAlnE,IAGA,OAAArH,EAEA,OAAA4kX,EAIA,SAAAT,IACA,IAAAr9K,EAAAjwL,EAAAogB,SAAA,SAAAxX,OAMA,OAJAqnL,KAAAjnM,SACAinM,IAAA,IAGAA,KAAAxpM,KAGA,SAAAknX,EAAA/nX,GACA,OAAA0qM,EAAAjlL,OAAAylL,UAAAlrM,IAAA,QAIAuC,EAAAC,QAAAF,wBCxJA,IAAAjD,EAAaX,EAAQ,QAErByiB,EAAUziB,EAAQ,QAElBs8I,EAAat8I,EAAQ,QAErB8jB,EAAAw4H,EAAAx4H,UAEAipK,EAAa/sL,EAAQ,QAErB4vL,EAAA7C,EAAA6C,kBACA5C,EAAAD,EAAAC,iBAEA08L,EAAqB1pX,EAAQ,QAE7B2pX,EAAqB3pX,EAAQ,QAE7B4pX,EAAqB5pX,EAAQ,QAE7B6pX,EAAqB7pX,EAAQ,QAwB7B+Z,EAAApZ,EAAAoZ,MACA8J,EAAAC,IASA,SAAA+/H,EAAAv/H,EAAAC,EAAA7I,GAKAva,KAAAojB,cAMApjB,KAAAua,UAMAva,KAAAmjB,SA+GA,SAAAwlW,EAAA79W,EAAAmnE,EAAA7uD,GACA,QAAArY,EAAA,EAAiBA,EAAAknE,EAAA1uE,OAAoBwH,IAErC,GAAAknE,EAAAlnE,KAKAD,KAAA,kBAAAA,IAAAmnE,EAAAlnE,IAAA,KAEA,MAAAD,GACA,MAQA,OAJA,MAAAA,GAAAsY,IACAtY,EAAAsY,EAAA3d,IAAAwsE,IAGAnnE,EAIA,SAAA0mE,EAAA7tD,EAAA8gD,GACA,IAAAmkT,EAAAlmW,EAAAiB,GAAA6tD,UACA,OAAAo3S,IAAA7oX,KAAA4jB,EAAA8gD,GAAA9gD,EAAAP,YA7HAs/H,EAAAziJ,UAAA,CACAC,YAAAwiJ,EAMAx/H,KAAA,KAKAuB,YAAA,SAAAtB,GACA3jB,EAAA2L,MAAAnL,KAAAmjB,UAAA,IAQA1d,IAAA,SAAAg/D,EAAAwpH,GACA,aAAAxpH,EACAzkE,KAAAmjB,OAGAwlW,EAAA3oX,KAAAmjB,OAAAnjB,KAAAmpL,UAAA1kH,IAAAwpH,GAAAz8G,EAAAxxE,KAAAykE,KAQAt8C,WAAA,SAAAld,EAAAgjL,GACA,IAAA9qK,EAAAnjB,KAAAmjB,OACAla,EAAA,MAAAka,MAAAlY,GACAmY,GAAA6qK,GAAAz8G,EAAAxxE,KAAAiL,GAMA,OAJA,MAAAhC,GAAAma,IACAna,EAAAma,EAAA+E,WAAAld,IAGAhC,GAQA0xB,SAAA,SAAA8pC,EAAArhD,GACA,IACAylW,EADA/9W,EAAA,MAAA25D,EAAAzkE,KAAAmjB,OAAAwlW,EAAA3oX,KAAAmjB,OAAAshD,EAAAzkE,KAAAmpL,UAAA1kH,IAGA,OADArhD,MAAAylW,EAAAr3S,EAAAxxE,KAAAykE,KAAAokT,EAAAluV,SAAA8pC,GACA,IAAAi+E,EAAA53I,EAAAsY,EAAApjB,KAAAua,UAMA+gH,QAAA,WACA,aAAAt7H,KAAAmjB,QAEAiF,YAAA,aAEA7S,MAAA,WACA,IAAA6yC,EAAApoD,KAAAE,YACA,WAAAkoD,EAAA5oD,EAAA+V,MAAAvV,KAAAmjB,UAEA4sK,YAAA,SAAAjwK,KAGAqpK,UAAA,SAAA1kH,GAKA,MAJA,kBAAAA,IACAA,IAAAh2D,MAAA,MAGAg2D,GAQA2kH,mBAAA,SAAAw/L,GACAlmW,EAAA1iB,MAAAwxE,UAAAo3S,GAEA3gW,mBAAA,WACA,IAAA3G,EAAAjE,KAAA,CACA,SAAArd,KAAAmjB,OAAAu6D,UACA,QAAA19E,KAAAmjB,OAAAu6D,UACO,GAAA19E,KAAAojB,YACP,OAAApjB,KAAAojB,YAAA6E,wBAmCAwmK,EAAA/rC,GACAmpC,EAAAnpC,GACA9pI,EAAA8pI,EAAA6lO,GACA3vW,EAAA8pI,EAAA8lO,GACA5vW,EAAA8pI,EAAA+lO,GACA7vW,EAAA8pI,EAAAgmO,GACA,IAAAjmX,EAAAigJ,EACAhgJ,EAAAC,QAAAF,wBCzNA,IAAAjD,EAAaX,EAAQ,QAqBrB4D,EAAA,CAKA23N,OAAA,SAAA9lI,GACA,IAAAnxE,EAAAnjB,KAAAmjB,OACAjc,EAAAotF,GAAA,MAAAnxE,EAAA2lW,WAAA3lW,EAAAjc,IAAAic,EAAA2lW,WAMA,OAJA9oX,KAAAgF,MAAA,MAAAkC,GAAA,YAAAA,GAAA,oBAAAA,IAAA1H,EAAAqqD,MAAA3iD,KACAA,EAAAlH,KAAAgF,KAAA+S,MAAAqhB,MAAAlyB,IAGAA,GAOAozN,OAAA,SAAAhmI,GACA,IAAAnxE,EAAAnjB,KAAAmjB,OACAhc,EAAAmtF,GAAA,MAAAnxE,EAAA4lW,SAAA5lW,EAAAhc,IAAAgc,EAAA4lW,SAMA,OAJA/oX,KAAAgF,MAAA,MAAAmC,GAAA,YAAAA,GAAA,oBAAAA,IAAA3H,EAAAqqD,MAAA1iD,KACAA,EAAAnH,KAAAgF,KAAA+S,MAAAqhB,MAAAjyB,IAGAA,GAMAuyP,iBAAA,WACA,IAAAv2O,EAAAnjB,KAAAmjB,OACA,aAAAA,EAAA2lW,YAAA,MAAA3lW,EAAA4lW,WAAA5lW,EAAApL,OAOAq+H,iBAAA52I,EAAAwrD,KAMAg+T,SAAA,SAAAF,EAAAC,GACA/oX,KAAAmjB,OAAA2lW,aACA9oX,KAAAmjB,OAAA4lW,YAMAE,WAAA,WAEAjpX,KAAAmjB,OAAA2lW,WAAA9oX,KAAAmjB,OAAA4lW,SAAA,OAGArmX,EAAAC,QAAAF,wBCnFA,IAAAymX,EAAgBrqX,EAAQ,QA6BxB,SAAAs4O,EAAAx+N,GACA3Y,KAAAmpX,SAAAxwW,GAAA,GAOA3Y,KAAAsmJ,QAAA,CAAAxsI,UAOA9Z,KAAAy7R,UAAA,EACAz7R,KAAAkjB,MAAAljB,KAAAkjB,KAAAxa,MAAA1I,KAAA2I,WASAwuO,EAAAl3O,UAAAm5B,MAAA,SAAAnwB,GAKA,OAAAA,GAGAkuO,EAAAl3O,UAAAmpX,WAAA,SAAA96W,GACA,OAAAtO,KAAAmpX,SAAA76W,IAGA6oO,EAAAl3O,UAAAqgB,QAAA,SAAArX,GACA,IAAA8R,EAAA/a,KAAAsmJ,QACA,OAAAr9I,GAAA8R,EAAA,IAAA9R,GAAA8R,EAAA,IASAo8N,EAAAl3O,UAAAoe,UAAA,SAAApV,GACA,IAAA8R,EAAA/a,KAAAsmJ,QAEA,OAAAvrI,EAAA,KAAAA,EAAA,GACA,IAGA9R,EAAA8R,EAAA,KAAAA,EAAA,GAAAA,EAAA,KASAo8N,EAAAl3O,UAAA8X,MAAA,SAAA9O,GACA,IAAA8R,EAAA/a,KAAAsmJ,QACA,OAAAr9I,GAAA8R,EAAA,GAAAA,EAAA,IAAAA,EAAA,IAQAo8N,EAAAl3O,UAAAu3O,YAAA,SAAA1hI,GACA,IAAA/6F,EAAA/a,KAAAsmJ,QACAxwC,EAAA,GAAA/6F,EAAA,KAAAA,EAAA,GAAA+6F,EAAA,IACAA,EAAA,GAAA/6F,EAAA,KAAAA,EAAA,GAAA+6F,EAAA,KAUAqhI,EAAAl3O,UAAA+5N,oBAAA,SAAAzuN,EAAA+P,GACAtb,KAAAw3O,YAAAjsO,EAAAksO,qBAAAn8N,KAQA67N,EAAAl3O,UAAA+a,UAAA,WACA,OAAAhb,KAAAsmJ,QAAApnH,SASAi4M,EAAAl3O,UAAAq+G,UAAA,SAAAlyF,EAAA7C,GACA,IAAA8/V,EAAArpX,KAAAsmJ,QAEA1sI,MAAAwS,KACAi9V,EAAA,GAAAj9V,GAGAxS,MAAA2P,KACA8/V,EAAA,GAAA9/V,IASA4tN,EAAAl3O,UAAAogJ,QAAA,WACA,OAAArgJ,KAAAspX,UAMAnyI,EAAAl3O,UAAAw5P,SAAA,SAAAp5G,GACArgJ,KAAAspX,SAAAjpO,GAQA82F,EAAAl3O,UAAA8+I,SAAA,KACAmqO,EAAAz6L,kBAAA0oD,GACA+xI,EAAAj6L,sBAAAkoD,EAAA,CACAtnD,oBAAA,IAEA,IAAAptL,EAAA00O,EACAz0O,EAAAC,QAAAF,wBC9KA,IAAAjD,EAAaX,EAAQ,QAErByiB,EAAUziB,EAAQ,QAElBs8I,EAAat8I,EAAQ,QAErB8jB,EAAAw4H,EAAAx4H,UAoBAD,EAAAC,IACAwE,EAAA3nB,EAAA2nB,KASA,SAAA6wI,EAAA/sJ,EAAAlG,EAAA+uF,GACA,IAAAxyE,EAAAjE,KAAA,CAIA,IAAAlJ,EAAApP,EAAA2sB,QACAhP,EAAAvO,GAAAwvO,UAAAjhO,EAAAvO,GAAAwvO,QAAA,IACA4lI,EAAAp1W,EAAApP,GACA,IAAAo9P,EAAAz/O,EAAAvO,GAAAwvO,QAAA14O,KAAAyX,EAAAvO,GAAAwvO,QAAA14O,GAAA,IACAk3P,EAAAruK,WAGA,SAAAy1R,EAAAp1W,EAAApP,GAWA,SAAAykX,EAAA32O,EAAA98G,GACA5hB,EAAAyB,GAAAi9H,EAAA,SAAA18H,GACA,IAAAszW,EAAAC,EAAA3kX,GACAoiB,EAAAzE,EAAAvO,GAAAwvO,QAAA,SAAAwe,GACAA,GAAApsO,EAAAosO,EAAAhsP,EAAAszW,EAAAr8Q,kBAEAu8Q,EAAAF,EAAAG,SAAA7kX,KAhBA2d,EAAAvO,GAAA01W,cAIAnnW,EAAAvO,GAAA01W,aAAA,EACAL,EAAA,QAAAhqX,EAAAmqB,MAAAmgW,EAAA,UACAN,EAAA,YAAAhqX,EAAAmqB,MAAAmgW,EAAA,cAEAN,EAAA,YAAAO,IAaA,SAAAJ,EAAAC,EAAA7kX,GACA,IAEAilX,EAFAC,EAAAL,EAAAM,QAAA3mX,OACA4mX,EAAAP,EAAAQ,QAAA7mX,OAGA0mX,EACAD,EAAAJ,EAAAM,QAAAD,EAAA,GACGE,IACHH,EAAAJ,EAAAQ,QAAAD,EAAA,IAGAH,IACAA,EAAA58Q,eAAA,KACAroG,EAAAqoG,eAAA48Q,IAIA,SAAAD,EAAA5nH,EAAAhsP,EAAAi3F,GACA+0J,EAAAruK,QAAA,aAAAsZ,GAGA,SAAA08Q,EAAA56D,EAAA/sD,EAAAhsP,EAAAi3F,GACA+0J,EAAAruK,QAAAo7N,EAAA/4S,EAAAi3F,GAGA,SAAAs8Q,EAAA3kX,GACA,IAAA6kX,EAAA,CACAM,QAAA,GACAE,QAAA,IAOAh9Q,EAAA,SAAA5gF,GACA,IAAA5a,EAAAg4W,EAAAp9V,EAAArsB,MAEAyR,EACAA,EAAAe,KAAA6Z,IAEAA,EAAA4gF,iBACAroG,EAAAqoG,eAAA5gF,KAIA,OACA4gF,iBACAw8Q,YASA,SAAAhqE,EAAA30S,EAAAlG,GACA,IAAAuc,EAAAjE,KAAA,CAIA,IAAAlJ,EAAApP,EAAA2sB,QACAywO,GAAAz/O,EAAAvO,GAAAwvO,SAAA,IAAuC14O,GAEvCk3P,IACAz/O,EAAAvO,GAAAwvO,QAAA14O,GAAA,OAIAtI,EAAAq1J,WACAr1J,EAAAi9S,qCC7IA,IAAAlhF,EAAe7/N,EAAQ,QAEvBkmO,EAAArG,EAAAqG,iBAEA33B,EAA0BvuM,EAAQ,QAElCgjF,EAAchjF,EAAQ,QAEtBijF,EAAAD,EAAAC,aAEAn0E,EAAY9O,EAAQ,QAEpBgP,EAAAF,EAAAE,UAsBA6qS,EAAA,qBAAAltQ,0BAAAhuB,MACA/a,EAAA,CACA0X,WAAA,cACAkzL,KAAAD,IACA/yL,MAAA,SAAAC,GACA,IAAArV,EAAAqV,EAAApV,iBACAqG,EAAA+O,EAAAE,UACA6vW,EAAAC,EAAAhwW,EAAA/O,GACA6gP,EAAA,EACAC,EAAA,EACA3yE,EAAA,UACA4yE,EAAA/gP,EAAA8P,aAAAq+J,EAAA0yE,IACAG,EAAAhhP,EAAA8P,aAAAq+J,EAAA2yE,IAAA,GACAk+H,EAAAh+H,EAAA,GACAi+H,EAAAj+H,EAAA,GACAk+H,EAAAl+H,EAAA,GACAm+H,EAAAn+H,EAAA,GAOA,GANAhhP,EAAAmoK,UAAA,CACA22M,cAEA5d,YAAA4d,GAAA,QAGA,MAAA/9H,GAAAC,EAAAhpP,OAAA,GAIA,OACA63K,SAAA9gK,EAAA0O,gBAAAo+J,MAAAujM,EAAAC,GAGA,SAAAA,EAAA5lW,EAAAzZ,GACA,IAAAka,EAEA,aAAAA,EAAAT,EAAAjhB,QAAA,CACA,IAAAyoP,EAAAjhP,EAAA9F,IAAA6mP,EAAA7mO,GACAolW,EAAAt/W,EAAA9F,IAAA8kX,EAAA9kW,GACAqlW,EAAAv/W,EAAA9F,IAAA+kX,EAAA/kW,GACAslW,EAAAx/W,EAAA9F,IAAAglX,EAAAhlW,GACAulW,EAAAz/W,EAAA9F,IAAAilX,EAAAjlW,GACAwlW,EAAAvkX,KAAAQ,IAAA2jX,EAAAC,GACAI,EAAAxkX,KAAAS,IAAA0jX,EAAAC,GACAK,EAAAz+H,EAAAu+H,EAAAz+H,GACA4+H,EAAA1+H,EAAAw+H,EAAA1+H,GACA6+H,EAAA3+H,EAAAq+H,EAAAv+H,GACA8+H,EAAA5+H,EAAAs+H,EAAAx+H,GACA13B,EAAA,GACAi4B,EAAAj4B,EAAAs2J,EAAA,GACAr+H,EAAAj4B,EAAAq2J,EAAA,GACAr2J,EAAAniN,KAAA44W,EAAAD,GAAAC,EAAAH,GAAAG,EAAAF,GAAAE,EAAAJ,IACA5/W,EAAAkoK,cAAAhuJ,EAAA,CACAs3J,KAAAyuM,EAAAjgX,EAAAka,EAAAolW,EAAAC,EAAAN,GACAt1J,aAAA21J,EAAAC,EAAAM,EAAA/+H,GAAA8+H,EAAA9+H,GAEAv3B,OACA22J,UAAAC,EAAAX,EAAAC,EAAAx+H,KAIA,SAAAE,EAAAzjP,EAAAujP,GACA,IAAA1rO,EAAA,GAGA,OAFAA,EAAAsrO,GAAAI,EACA1rO,EAAAurO,GAAApjP,EACA2Q,MAAA4yO,IAAA5yO,MAAA3Q,GAAA,CAAA4Q,SAAA5U,EAAAM,YAAAub,GAGA,SAAAisO,EAAAj4B,EAAAjrJ,EAAAz9C,GACA,IAAA6gO,EAAApjL,EAAA3qC,QACAguN,EAAArjL,EAAA3qC,QACA+tN,EAAAb,GAAArnB,EAAAkoB,EAAAb,GAAAi+H,EAAA,QACAn9H,EAAAd,GAAArnB,EAAAmoB,EAAAd,GAAAi+H,EAAA,QACAj+V,EAAA0oM,EAAAniN,KAAAs6O,EAAAC,GAAAp4B,EAAAniN,KAAAu6O,EAAAD,GAGA,SAAAy+H,EAAAX,EAAAC,EAAAx+H,GACA,IAAAm/H,EAAAj/H,EAAAq+H,EAAAv+H,GACAo/H,EAAAl/H,EAAAs+H,EAAAx+H,GAGA,OAFAm/H,EAAAv/H,IAAAi+H,EAAA,EACAuB,EAAAx/H,IAAAi+H,EAAA,EACA,CACAroX,EAAA2pX,EAAA,GACA1pX,EAAA0pX,EAAA,GACArpX,MAAA+pP,EAAAg+H,EAAAuB,EAAA,GAAAD,EAAA,GACAppX,OAAA8pP,EAAAu/H,EAAA,GAAAD,EAAA,GAAAtB,GAIA,SAAAkB,EAAA1hT,GAEA,OADAA,EAAAuiL,GAAArnB,EAAAl7J,EAAAuiL,GAAA,GACAviL,GAIA,SAAA8gT,EAAA3lW,EAAAzZ,GAEA,IAEAs+D,EAGApkD,EALAiiD,EAAA,IAAAgxO,EAAA,EAAA1zR,EAAArL,OACAosC,EAAA,EAEA8lU,EAAA,GACAC,EAAA,GAGA,aAAArmW,EAAAT,EAAAjhB,QAAA,CACA,IAAAyoP,EAAAjhP,EAAA9F,IAAA6mP,EAAA7mO,GACAolW,EAAAt/W,EAAA9F,IAAA8kX,EAAA9kW,GACAqlW,EAAAv/W,EAAA9F,IAAA+kX,EAAA/kW,GACAslW,EAAAx/W,EAAA9F,IAAAglX,EAAAhlW,GACAulW,EAAAz/W,EAAA9F,IAAAilX,EAAAjlW,GAEA7L,MAAA4yO,IAAA5yO,MAAAmxW,IAAAnxW,MAAAoxW,IACAtjT,EAAA3hB,KAAAlsC,IACAksC,GAAA,IAIA2hB,EAAA3hB,KAAAylU,EAAAjgX,EAAAka,EAAAolW,EAAAC,EAAAN,GACAqB,EAAAz/H,GAAAI,EACAq/H,EAAAx/H,GAAA0+H,EACAlhT,EAAA5kE,EAAAM,YAAAsmX,EAAA,KAAAC,GACApkT,EAAA3hB,KAAA8jB,IAAA,GAAAhwD,IACA6tD,EAAA3hB,KAAA8jB,IAAA,GAAAhwD,IACAgyW,EAAAx/H,GAAA2+H,EACAnhT,EAAA5kE,EAAAM,YAAAsmX,EAAA,KAAAC,GACApkT,EAAA3hB,KAAA8jB,IAAA,GAAAhwD,KAGAtO,EAAAmoK,UAAA,cAAAhsG,MAKA,SAAA8jT,EAAAjgX,EAAAka,EAAAolW,EAAAC,EAAAN,GACA,IAAAztM,EAYA,OATAA,EADA8tM,EAAAC,GACA,EACGD,EAAAC,EACH,EAEArlW,EAAA,EACAla,EAAA9F,IAAA+kX,EAAA/kW,EAAA,IAAAqlW,EAAA,KACA,EAGA/tM,EAGA,SAAAutM,EAAAhwW,EAAA/O,GACA,IACAwP,EADAJ,EAAAL,EAAAM,cAEA9S,EAAA,aAAA6S,EAAAxa,KAAAwa,EAAA5S,gBAAAgT,EAAAJ,EAAAK,YAAAtU,KAAAiR,IAAAoD,EAAA,GAAAA,EAAA,IAAAxP,EAAAoO,SACA0/R,EAAAv3N,EAAAj0E,EAAAyM,EAAA7U,IAAA,eAAAqC,MACAikX,EAAAjqS,EAAAj0E,EAAAyM,EAAA7U,IAAA,kBAAAqC,GACA0sK,EAAAl6J,EAAA7U,IAAA,YACA,aAAA+uK,EAAA1yF,EAAA0yF,EAAA1sK,GACApB,KAAAS,IAAAT,KAAAQ,IAAAY,EAAA,EAAAuxS,GAAA0yE,GAGArpX,EAAAC,QAAAF,0BCpNA,IAAA8b,EAAW1f,EAAQ,QAEnBmtX,EAAwBntX,EAAQ,QAEhC8I,EAAAqkX,EAAArkX,qBAOAskX,EAAA,GAEAxpX,EAAA8b,EAAA7Z,OAAA,CACAvE,KAAA,OACAyH,MAAA,CAEAgoD,GAAA,EACAC,GAAA,EAEArwB,GAAA,EACAC,GAAA,EACA04E,QAAA,GAEA53G,MAAA,CACAI,OAAA,OACAD,KAAA,MAEAse,UAAA,SAAA3e,EAAAuH,GACA,IAAAgoD,EACAC,EACArwB,EACAC,EAEAz/B,KAAA+kO,kBACAp9N,EAAAskX,EAAArkX,EAAA5H,KAAAO,OACAqvD,EAAAq8T,EAAAr8T,GACAC,EAAAo8T,EAAAp8T,GACArwB,EAAAysV,EAAAzsV,GACAC,EAAAwsV,EAAAxsV,KAEAmwB,EAAAhoD,EAAAgoD,GACAC,EAAAjoD,EAAAioD,GACArwB,EAAA53B,EAAA43B,GACAC,EAAA73B,EAAA63B,IAGA,IAAA04E,EAAAvwG,EAAAuwG,QAEA,IAAAA,IAIA93G,EAAAgf,OAAAuwC,EAAAC,GAEAsoD,EAAA,IACA34E,EAAAowB,GAAA,EAAAuoD,GAAA34E,EAAA24E,EACA14E,EAAAowB,GAAA,EAAAsoD,GAAA14E,EAAA04E,GAGA93G,EAAAif,OAAAkgB,EAAAC,KAQAuuK,QAAA,SAAAltL,GACA,IAAAlZ,EAAA5H,KAAA4H,MACA,OAAAA,EAAAgoD,IAAA,EAAA9uC,GAAAlZ,EAAA43B,GAAA1e,EAAAlZ,EAAAioD,IAAA,EAAA/uC,GAAAlZ,EAAA63B,GAAA3e,MAIApe,EAAAC,QAAAF,0BC1EA,IAAAypX,EAAiBrtX,EAAQ,QACzBk2R,EAAmBl2R,EAAQ,QAG3BstX,EAAA,kBAmBA,SAAAC,EAAAnoX,GACA,uBAAAA,GACA8wR,EAAA9wR,IAAAioX,EAAAjoX,IAAAkoX,EAGAzpX,EAAAC,QAAAypX,wBC1BA,SAAA1V,IACA12W,KAAA4V,GAAA,YAAA5V,KAAAqsX,WAAArsX,MACAA,KAAA4V,GAAA,YAAA5V,KAAAssX,MAAAtsX,MACAA,KAAA4V,GAAA,UAAA5V,KAAAusX,SAAAvsX,MACAA,KAAA4V,GAAA,YAAA5V,KAAAusX,SAAAvsX,MAgEA,SAAAspB,EAAAjT,EAAAF,GACA,OACAE,SACA0gW,UAAA5gW,KAAA4gW,WA7DAL,EAAAz2W,UAAA,CACAC,YAAAw2W,EACA2V,WAAA,SAAAl2W,GACA,IAAAq2W,EAAAr2W,EAAAE,OAEAm2W,KAAAl2W,YACAtW,KAAAysX,gBAAAD,EACAA,EAAAj9J,UAAA,EACAvvN,KAAAyW,GAAAN,EAAAI,QACAvW,KAAA0W,GAAAP,EAAAK,QACAxW,KAAAotH,kBAAA9jG,EAAAkjW,EAAAr2W,GAAA,YAAAA,EAAAgB,SAGAm1W,MAAA,SAAAn2W,GACA,IAAAq2W,EAAAxsX,KAAAysX,gBAEA,GAAAD,EAAA,CACA,IAAAxqX,EAAAmU,EAAAI,QACAtU,EAAAkU,EAAAK,QACAQ,EAAAhV,EAAAhC,KAAAyW,GACAQ,EAAAhV,EAAAjC,KAAA0W,GACA1W,KAAAyW,GAAAzU,EACAhC,KAAA0W,GAAAzU,EACAuqX,EAAAnsK,MAAArpM,EAAAC,EAAAd,GACAnW,KAAAotH,kBAAA9jG,EAAAkjW,EAAAr2W,GAAA,OAAAA,EAAAgB,OACA,IAAAu1W,EAAA1sX,KAAA23W,UAAA31W,EAAAC,EAAAuqX,GAAAn2W,OACAs2W,EAAA3sX,KAAA4sX,YACA5sX,KAAA4sX,YAAAF,EAEAF,IAAAE,IACAC,GAAAD,IAAAC,GACA3sX,KAAAotH,kBAAA9jG,EAAAqjW,EAAAx2W,GAAA,YAAAA,EAAAgB,OAGAu1W,OAAAC,GACA3sX,KAAAotH,kBAAA9jG,EAAAojW,EAAAv2W,GAAA,YAAAA,EAAAgB,UAKAo1W,SAAA,SAAAp2W,GACA,IAAAq2W,EAAAxsX,KAAAysX,gBAEAD,IACAA,EAAAj9J,UAAA,GAGAvvN,KAAAotH,kBAAA9jG,EAAAkjW,EAAAr2W,GAAA,UAAAA,EAAAgB,OAEAnX,KAAA4sX,aACA5sX,KAAAotH,kBAAA9jG,EAAAtpB,KAAA4sX,YAAAz2W,GAAA,OAAAA,EAAAgB,OAGAnX,KAAAysX,gBAAA,KACAzsX,KAAA4sX,YAAA,OAWA,IAAAnqX,EAAAi0W,EACAh0W,EAAAC,QAAAF,0BC1DA,IAAAjD,EAAaX,EAAQ,QAErB8pO,EAAa9pO,EAAQ,QAErB+xD,EAAa/xD,EAAQ,QAErB4O,EAAmB5O,EAAQ,QAE3B6kW,EAAoB7kW,EAAQ,QAyB5Bg3G,EAAA8yH,EAAAtvN,eAEA,SAAAwzW,IACAnpB,EAAA3jW,KAAAC,MAKA,SAAAy7N,EAAAntN,GAIAtO,KAAAsO,OAKAtO,KAAA2oR,UACA+6E,EAAA3jW,KAAAC,MACAA,KAAA8sX,mBAAA,IAAAD,EACA7sX,KAAAq8N,kBAAA,IAAAwwJ,EACA7sX,KAAAo8E,QACAp8E,KAAAu9L,MAsOA,SAAAy+B,EAAAvyM,EAAAlP,EAAA0hN,EAAAh4N,GACA,IAAAqW,EAAA2hN,EAAA3hN,YACArV,EAAAqV,IAAApV,iBAAA,KAEA,OAAAD,IAAAjF,KAAAiF,EAAAwkB,GAAAxlB,GAAA,KA1PAzE,EAAAoZ,MAAAi0W,EAAAnpB,GAmBAjoI,EAAAx7N,UAAA,CACAC,YAAAu7N,EACAt7N,KAAA,OAMAs4E,WAAA,UAUAs0S,gBAAA,SAAA/qX,EAAAC,EAAAK,EAAAC,GAEA,OADAvC,KAAAwB,MAAA,IAAAiM,EAAAzL,EAAAC,EAAAK,EAAAC,GACAvC,KAAAwB,OAOAD,gBAAA,WACA,OAAAvB,KAAAwB,OASAwrX,YAAA,SAAAhrX,EAAAC,EAAAK,EAAAC,GACAvC,KAAA2gB,YAAA3e,EAAAC,EAAAK,EAAAC,GACAvC,KAAAopN,UAAA,IAAA37M,EAAAzL,EAAAC,EAAAK,EAAAC,IAUAoe,YAAA,SAAA3e,EAAAC,EAAAK,EAAAC,GACA,IAAAd,EAAAzB,KAAAuB,kBACA0rX,EAAAjtX,KAAAq8N,kBACA4wJ,EAAApmX,UAAApF,EAAAof,mBAAA,IAAApT,EAAAzL,EAAAC,EAAAK,EAAAC,IACA0qX,EAAA3wJ,qBAEAt8N,KAAAqgF,oBAOAzB,UAAA,SAAAsuS,GACAA,IAIAltX,KAAAo8E,QAAA8wS,EAEAltX,KAAAmtX,yBAMAz+M,QAAA,SAAA1sD,GACAA,KAAA,EACA,IAAA2mK,EAAA3oR,KAAA2oR,UAEAA,IACA,MAAAA,EAAAxhR,MACA66G,EAAAt7G,KAAAQ,IAAAyhR,EAAAxhR,IAAA66G,IAGA,MAAA2mK,EAAAzhR,MACA86G,EAAAt7G,KAAAS,IAAAwhR,EAAAzhR,IAAA86G,KAIAhiH,KAAAu9L,MAAAv7E,EAEAhiH,KAAAmtX,wBAMAC,iBAAA,WAEA,IAAAC,EAAArtX,KAAAuB,kBACAkd,EAAA4uW,EAAArrX,EAAAqrX,EAAA/qX,MAAA,EACAoc,EAAA2uW,EAAAprX,EAAAorX,EAAA9qX,OAAA,EACA,OAAAkc,EAAAC,IAEA+/D,UAAA,WACA,OAAAz+E,KAAAo8E,SAAAp8E,KAAAotX,oBAEAroQ,QAAA,WACA,OAAA/kH,KAAAu9L,OAAA,GAMA54E,iBAAA,WACA,OAAA3kH,KAAA8sX,mBAAAjpS,qBAMAspS,qBAAA,WAEA,IAAAG,EAAAttX,KAAAq8N,kBAAAx4I,oBAEA0pS,EAAAvtX,KAAA8sX,mBACA76M,EAAAjyK,KAAAotX,mBACAlxW,EAAAlc,KAAAy+E,YACAujC,EAAAhiH,KAAA+kH,UACA7oG,EAAAysN,EAAAtvN,eAAA,GAAA6C,EAAAoxW,GACAr7M,EAAA02D,EAAAtvN,eAAA,GAAA44J,EAAAq7M,GACAC,EAAAj5R,OAAAp4E,EACAqxW,EAAAjnX,SAAA,CAAA2rK,EAAA,GAAA/1J,EAAA,GAAA+1J,EAAA,GAAA/1J,EAAA,IACAqxW,EAAAx1W,MAAA,CAAAiqG,KAEAhiH,KAAAqgF,oBAOAA,iBAAA,WACA,IAAAmtS,EAAAxtX,KAAA8sX,mBACA1wJ,EAAAp8N,KAAAq8N,kBACAD,EAAAzqJ,OAAA67S,EACAA,EAAAlrQ,kBACA85G,EAAA95G,kBACA1xD,EAAAx3C,KAAApZ,KAAA6G,YAAA7G,KAAA6G,UAAA,IAAAu1N,EAAAv1N,WAAA+pD,EAAA9hB,UACA9uC,KAAAytX,cAAArxJ,EAAAv4I,oBACA7jF,KAAAmgH,aAAAngH,KAAAmgH,cAAA,GACAvvD,EAAA/gB,OAAA7vC,KAAAmgH,aAAAngH,KAAA6G,WACA7G,KAAAs8N,sBAMAnS,YAAA,WACA,OAAAnqN,KAAAopN,WAOAijJ,qBAAA,WACA,IAAA5qW,EAAAzB,KAAAuB,kBAAAgU,QAEA,OADA9T,EAAA4X,eAAArZ,KAAA6G,WACApF,GAUA8D,YAAA,SAAAgG,EAAAixN,EAAAn9L,GACA,IAAAx4B,EAAA21N,EAAAx8N,KAAAytX,cAAAztX,KAAA6G,UAEA,OADAw4B,KAAA,GACAx4B,EAAAgvG,EAAAx2E,EAAA9zB,EAAA1E,GAAA8hO,EAAAvvN,KAAAimB,EAAA9zB,IAQA81G,YAAA,SAAAx3C,GACA,IAAAs2C,EAAAngH,KAAAmgH,aACA,OAAAA,EAAAtK,EAAA,GAAAhsC,EAAAs2C,GAAA,CAAAt2C,EAAA,GAAAA,EAAA,KAOA4yJ,eAAAj9N,EAAAmqB,MAAAqyM,EAAA,eAMAU,iBAAAl9N,EAAAmqB,MAAAqyM,EAAA,eAMArnK,aAAA,SAAAkV,GACA,OAAA7pE,KAAAqsW,uBAAA/rV,QAAAupD,EAAA,GAAAA,EAAA,MAaArqE,EAAAoZ,MAAA6iN,EAAAioI,GASA,IAAAjhW,EAAAg5N,EACA/4N,EAAAC,QAAAF,0BCrSA,IAAA4qO,EAAsBxuO,EAAQ,QAoB9ByjU,EAAAj1F,EAAA,uEACA,4IACA5qO,EAAA,CACA6/T,gBAAA,SAAAh1F,GACA,IAAA/sO,EAAA+hU,EAAAtiU,KAAAstO,GAEA,GAAAttO,KAAA0tX,kBAAA,CACA,IAAAzpJ,EAAAjkO,KAAA0tX,oBACAzpJ,IAAA1jO,EAAA0jO,YAGA,OAAA1jO,IAGAmC,EAAAC,QAAAF,wBClCA,IAAA7D,EAAcC,EAAQ,QAEtBsnQ,EAActnQ,EAAQ,QAEtBgsM,EAAWhsM,EAAQ,QAEnBg4N,EAAqBh4N,EAAQ,QAoB7B8uX,EAAA9iL,EAAAN,QAAAjxL,QAEA,SAAAs0W,EAAAjqW,GACA3jB,KAAA2jB,QAGAiqW,EAAA9qW,cAAA,CACAo5F,MAAA,EAGAizG,KAAA,kLAGA3kB,MAAAmjL,EAAAnjL,OAEA,IAAArrK,EAAAyuV,EAAA3tX,UAEAk/B,EAAAgtF,QAAA,SAAA5xG,EAAAxV,EAAA5E,GACAgmQ,EAAAz5P,MAAA6N,GACAxV,EAAAqoG,eAAA,CACAjtG,KAAA,UACAkoD,KAAAroD,KAAAgqB,OAIA6sM,EAAA7+D,SAAA,UAAA41N,GACAhvX,EAAA0tB,eAAA,CACAnsB,KAAA,UACAgX,MAAA,UACAoV,OAAA,oBACC,SAAAC,EAAAjS,GACDA,EAAAwS,YAAA,cAEA,IAAAtqB,EAAAmrX,EACAlrX,EAAAC,QAAAF,wBChFA,IAAAqG,EAAA,GAAiBA,SAEjBpG,EAAAC,QAAA,SAAA4K,GACA,OAAAzE,EAAA/I,KAAAwN,GAAA2xB,MAAA,+BCiBA,IAAA9d,EAAcviB,EAAQ,QAItB8O,GAFAyT,EAAAC,QAEYxiB,EAAQ,SAEpB+K,EAAA+D,EAAA/D,SACAud,EAAAxZ,EAAAwZ,KACA/Z,EAAAO,EAAAP,IACAg+B,EAAAz9B,EAAAy9B,QAGAppB,GAFArU,EAAAkvB,SAEch+B,EAAQ,SAEtBykF,EAAAthE,EAAAshE,cAEAs1I,EAAkB/5N,EAAQ,QAE1BynN,EAAAsS,EAAAtS,mBACAo0C,EAAA9hC,EAAA8hC,gBACAn0C,EAAAqS,EAAArS,gBACAy0C,EAAApiC,EAAAoiC,uBAEA6yH,EAAkBhvX,EAAQ,QAE1BivX,EAAajvX,EAAQ,QAErBi6N,EAAuBj6N,EAAQ,QAE/BonN,EAAuBpnN,EAAQ,QAE/BqnN,EAAAD,EAAAC,oBAkCA,SAAA6nK,EAAAlpX,EAAA4kO,EAAAlvN,GACA,OAAA1V,EAAAuxI,qBAAAqzF,EAGA,SAAAukJ,EAAAvkJ,EAAAlvN,EAAAxV,GAKA/E,KAAAiuX,WAAA,GAMAjuX,KAAAkuX,YAAA,GAMAluX,KAAAi2S,SAAA,GAMAj2S,KAAAmuX,UAAA,GAEAnuX,KAAAouX,eAAA3kJ,EAAAlvN,EAAAxV,GAEA/E,KAAA2jB,MAAA8lN,EA/DA5qO,EAAQ,QAkER,IAAAwvX,EAAAL,EAAA/tX,UAgCA,SAAAquX,EAAAz2E,EAAA7L,EAAAhnS,EAAAupX,GACAvpX,EAAA4kO,gBAAA,WAEA,OAAAD,EAAA,CAAAA,GAAA,IAMA,IACAA,EADA6kJ,EAAA32E,EAAA7L,GAEAnnS,EAAAG,EAAA2e,MACAqmN,EAAAnlO,EAAAY,IAAA,mBACAgpX,EAAA5pX,EAAAY,IAAA,4BAEA,GAAAukO,EAAA,CAKA,SAAAykJ,EACAC,EAAAF,EAAAC,MACA9kJ,EAAA6kJ,EAAAC,SAIA,QAAA9wW,KAAA6wW,EACA,GAAAA,EAAAtjX,eAAAyS,IAAA+wW,EAAAF,EAAA7wW,MAEA4wW,EAAAI,EAAAH,EAAA7wW,KAAA,CACAgsN,EAAA6kJ,EAAA7wW,GACA,MAKAgsN,IACA4kJ,EAAAI,EAAAhlJ,KAAA,GAGA,SAAAglJ,EAAA3pX,GACA,OAAAA,EAAAsW,IAAA,IAAAtW,EAAAnB,OAIA,SAAA6qX,EAAA1pX,GACA,OAAAA,GAAA,aAAAA,EAAA7E,MAAA,SAAA6E,EAAA7E,MAAAu6P,EAAA11P,GAiWA,SAAA4pX,EAAA5pX,EAAA6pX,GACA,IAAA7nX,EAAAhC,EAAAgW,YACA8zW,EAAA9nX,EAAA,GAAAA,EAAA,GAEAhC,EAAAolO,cAAA,MAAAplO,EAAAsW,IAAA,SAAAiF,GACA,OAAAA,EAAAsuW,GACG,SAAAtuW,GACH,OAAAuuW,EAAAvuW,EAAAsuW,GAEA7pX,EAAAmtR,aAAA,MAAAntR,EAAAsW,IAAA,SAAAiF,GACA,OAAAA,EAAAsuW,GACG,SAAAtuW,GACH,OAAAuuW,EAAAvuW,EAAAsuW,GA1bAR,EAAAluX,KAAA,OACAkuX,EAAAU,oBAAA,EAEAV,EAAAlmX,QAAA,WACA,OAAAnI,KAAAwB,OAGA6sX,EAAA9hW,OAAA,SAAAhS,EAAAxV,GACA,IAAA8yS,EAAA73S,KAAAi2S,SAEAj2S,KAAAgvX,aAAAz0W,EAAAva,KAAA2jB,OAEAwD,EAAA0wR,EAAA71S,EAAA,SAAA6+E,GACA0lI,EAAA1lI,EAAA9oE,MAAA8oE,EAAAl9D,SAEAwD,EAAA0wR,EAAA51S,EAAA,SAAA2+E,GACA2lI,EAAA3lI,EAAA7oE,MAAA6oE,EAAAj9D,SAGA,IAAA4qW,EAAA,GACApnW,EAAA0wR,EAAA71S,EAAA,SAAA6+E,GACAytS,EAAAz2E,EAAA,IAAAh3N,EAAA0tS,KAEApnW,EAAA0wR,EAAA51S,EAAA,SAAA2+E,GACA0tS,EAAAz2E,EAAA,IAAAj3N,EAAA2tS,KAIAvuX,KAAAq+D,OAAAr+D,KAAA2jB,MAAA5e,IA0DAspX,EAAAhwT,OAAA,SAAAorK,EAAA1kO,EAAAkqX,GACA,IAAAluD,EAAAz9O,EAAAmmJ,EAAAxrH,qBAAA,CACA37G,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,cAEAt+D,KAAAwB,MAAAu/T,EACA,IAAAmuD,EAAAlvX,KAAAmuX,UAwBA,SAAAgB,IACAhoW,EAAA+nW,EAAA,SAAAlqX,GACA,IAAAkD,EAAAlD,EAAAkD,eACA6S,EAAA7S,EAAA,GAAA64T,EAAAz+T,OAAA,GAAAy+T,EAAAx+T,QACAob,EAAA3Y,EAAA6/C,QAAA,IACA7/C,EAAAs5G,UAAAvjG,EAAA4C,GAAA5C,EAAA,EAAA4C,IACAixW,EAAA5pX,EAAAkD,EAAA64T,EAAA/+T,EAAA++T,EAAA9+T,KA7BAktX,KAEAF,GAAAxlJ,EAAAhkO,IAAA,kBACA0hB,EAAA+nW,EAAA,SAAAlqX,GACA,IAAAA,EAAA2e,MAAAle,IAAA,qBACA,IAAA2pX,EAAAp0H,EAAAh2P,GAEA,GAAAoqX,EAAA,CACA,IAAA9zW,EAAAtW,EAAAkD,eAAA,iBACAk7E,EAAAp+E,EAAA2e,MAAAle,IAAA,oBACAs7T,EAAAzlT,IAAA8zW,EAAA9zW,GAAA8nE,EAEA,QAAAp+E,EAAAsB,SACAy6T,EAAA9+T,GAAAmtX,EAAA7sX,OAAA6gF,EACW,SAAAp+E,EAAAsB,WACXy6T,EAAA/+T,GAAAotX,EAAA9sX,MAAA8gF,OAKA+rS,MAmBAd,EAAApyO,QAAA,SAAAhF,EAAAqlH,GACA,IAAA+yH,EAAArvX,KAAAi2S,SAAAh/J,GAEA,SAAAo4O,EAAA,CACA,SAAA/yH,EAEA,QAAAhuP,KAAA+gX,EACA,GAAAA,EAAAnkX,eAAAoD,GACA,OAAA+gX,EAAA/gX,GAKA,OAAA+gX,EAAA/yH,KAQA+xH,EAAAvoO,QAAA,WACA,OAAA9lJ,KAAAmuX,UAAAjvV,SAcAmvV,EAAAr9H,aAAA,SAAAugD,EAAAC,GACA,SAAAD,GAAA,MAAAC,EAAA,CACA,IAAAvmS,EAAA,IAAAsmS,EAAA,IAAAC,EACA,OAAAxxS,KAAAiuX,WAAAhjX,GAGArB,EAAA2nS,KACAC,EAAAD,EAAAC,WACAD,gBAIA,QAAAxmS,EAAA,EAAAukX,EAAAtvX,KAAAkuX,YAA+CnjX,EAAAukX,EAAA/rX,OAAsBwH,IACrE,GAAAukX,EAAAvkX,GAAAkxI,QAAA,KAAAp4I,QAAA0tS,GAAA+9E,EAAAvkX,GAAAkxI,QAAA,KAAAp4I,QAAA2tS,EACA,OAAA89E,EAAAvkX,IAKAsjX,EAAA98F,cAAA,WACA,OAAAvxR,KAAAkuX,YAAAhvV,SAQAmvV,EAAA5xJ,eAAA,SAAAliN,EAAA0hN,EAAAh4N,GACA,IAAAoS,EAAArW,KAAAuvX,mBAAAh1W,EAAA0hN,GAEA,OAAA5lN,EAAA+kI,UAAA/kI,EAAA+kI,UAAA71I,YAAAtB,GAAAoS,EAAArR,KAAAqR,EAAArR,KAAAolO,cAAA/zN,EAAArR,KAAAo8G,YAAAn9G,IAAA,MAQAoqX,EAAA3xJ,iBAAA,SAAAniN,EAAA0hN,EAAAh4N,GACA,IAAAoS,EAAArW,KAAAuvX,mBAAAh1W,EAAA0hN,GAEA,OAAA5lN,EAAA+kI,UAAA/kI,EAAA+kI,UAAA/5B,YAAAp9G,GAAAoS,EAAArR,KAAAqR,EAAArR,KAAA0gJ,YAAArvI,EAAArR,KAAAmtR,aAAAluR,IAAA,MAOAoqX,EAAAkB,mBAAA,SAAAh1W,EAAA0hN,GACA,IAKA7gF,EACAp2I,EANAsV,EAAA2hN,EAAA3hN,YACAs3Q,EAAA31D,EAAA21D,YAAAt3Q,KAAAstE,uBAAA,YACAiqM,EAAA51D,EAAA41D,YAAAv3Q,KAAAstE,uBAAA,YACA6hJ,EAAAxN,EAAAwN,UACAvqD,EAAAl/K,KAAAkuX,YAIA,GAAA5zW,EACA8gI,EAAA9gI,EAAApV,iBACAkmC,EAAA8zI,EAAA9jC,GAAA,IAAAA,EAAA,WACG,GAAAw2I,GAAAC,EACHz2I,EAAAp7I,KAAAgxP,aAAA4gC,EAAAtuQ,eAAAuuQ,EAAAvuQ,qBACG,GAAAsuQ,EACH5sR,EAAAhF,KAAAi8I,QAAA,IAAA21I,EAAAtuQ,qBACG,GAAAuuQ,EACH7sR,EAAAhF,KAAAi8I,QAAA,IAAA41I,EAAAvuQ,qBAEA,GAAAmmN,EAAA,CACA,IAAAC,EAAAD,EAAAvkO,iBAEAwkO,IAAA1pO,OACAo7I,EAAAp7I,KAAAkuX,YAAA,IAIA,OACA9yO,YACAp2I,SASAqpX,EAAA15T,aAAA,SAAAkV,GACA,IAAAtpD,EAAAvgB,KAAAkuX,YAAA,GAEA,GAAA3tW,EACA,OAAAA,EAAAo0C,aAAAkV,IASAwkT,EAAAD,eAAA,SAAA3kJ,EAAAlvN,EAAAxV,GACA,IAAAyqX,EAAA,CACAlgV,MAAA,EACAC,OAAA,EACAE,KAAA,EACAD,QAAA,GAEAqoQ,EAAA,CACA71S,EAAA,GACAC,EAAA,IAEAwtX,EAAA,CACAztX,EAAA,EACAC,EAAA,GAMA,GAHAsY,EAAA8kG,cAAA,QAAAqwQ,EAAA,KAAA1vX,MACAua,EAAA8kG,cAAA,QAAAqwQ,EAAA,KAAA1vX,OAEAyvX,EAAAztX,IAAAytX,EAAAxtX,EAIA,OAFAjC,KAAAi2S,SAAA,QACAj2S,KAAAmuX,UAAA,IAqBA,SAAAuB,EAAAz4O,GACA,gBAAApyI,EAAA8Y,GACA,GAAAowW,EAAAlpX,EAAA4kO,EAAAlvN,GAAA,CAIA,IAAAuvN,EAAAjlO,EAAAY,IAAA,YAEA,MAAAwxI,EAEA,QAAA6yF,GAAA,WAAAA,IAEAA,EAAA,SAEA0lJ,EAAA1lJ,KACAA,EAAA,QAAAA,EAAA,iBAKA,SAAAA,GAAA,UAAAA,IAEAA,EAAA,OAEA0lJ,EAAA1lJ,KACAA,EAAA,SAAAA,EAAA,iBAKA0lJ,EAAA1lJ,IAAA,EACA,IAAA9kO,EAAA,IAAA8oX,EAAA72O,EAAAqvE,EAAAzhN,GAAA,MAAAA,EAAAY,IAAA,QAAAqkO,GACAnlF,EAAA,aAAA3/I,EAAA7E,KACA6E,EAAA4/I,OAAAD,GAAA9/I,EAAAY,IAAA,eACAT,EAAA6/C,QAAAhgD,EAAAY,IAAA,WAEAZ,EAAAG,OAEAA,EAAA2e,MAAA9e,EAEAG,EAAA0kO,KAAA1pO,KAEAgF,EAAAnB,MAAA8Z,EAEA3d,KAAAmuX,UAAAx7W,KAAA3N,GAEA6yS,EAAA5gK,GAAAt5H,GAAA3Y,EACAyqX,EAAAx4O,OAhEAj3I,KAAAi2S,SAAA4B,EAEA1wR,EAAA0wR,EAAA71S,EAAA,SAAA6+E,EAAA0wN,GACApqR,EAAA0wR,EAAA51S,EAAA,SAAA2+E,EAAA4wN,GACA,IAAAvmS,EAAA,IAAAsmS,EAAA,IAAAC,EACAp2J,EAAA,IAAAyyO,EAAA5iX,GACAmwI,EAAAsuF,KAAA1pO,KACAo7I,EAAAz3H,MAAA8lN,EACAzpO,KAAAiuX,WAAAhjX,GAAAmwI,EAEAp7I,KAAAkuX,YAAAv7W,KAAAyoI,GAEAA,EAAA2J,QAAAlkE,GACAu6D,EAAA2J,QAAAnkE,IACK5gF,OACFA,OA4DHquX,EAAAW,aAAA,SAAAz0W,EAAAkvN,GA2BA,SAAA+N,EAAAjsO,EAAAvG,EAAAsV,GACA6M,EAAA5b,EAAA8P,aAAArW,EAAAsW,KAAA,YAAAA,GACAtW,EAAA+S,MAAAiiN,oBAGAzuN,EAAA26M,EAAA36M,EAAA+P,MA9BA6L,EAAAnnB,KAAAmuX,UAAA,SAAAnpX,GACAA,EAAA+S,MAAAumG,UAAAxkG,YAEAS,EAAAkkG,WAAA,SAAAnkG,GACA,GAAAq1W,EAAAr1W,GAAA,CACA,IAAA+qI,EAAAF,EAAA7qI,EAAAC,GACAq3Q,EAAAvsI,EAAA,GACAwsI,EAAAxsI,EAAA,GAEA,IAAA0oO,EAAAn8F,EAAAnoD,EAAAlvN,KAAAwzW,EAAAl8F,EAAApoD,EAAAlvN,GACA,OAGA,IAAA6gI,EAAAp7I,KAAAgxP,aAAA4gC,EAAAtuQ,eAAAuuQ,EAAAvuQ,gBACA/X,EAAA+O,EAAAE,UACAqmE,EAAAu6D,EAAAa,QAAA,KACAr7D,EAAAw6D,EAAAa,QAAA,KAEA,SAAA1wI,EAAApL,OACAq3O,EAAAjsO,EAAAs1E,EAAAvmE,GACAk9N,EAAAjsO,EAAAq1E,EAAAtmE,MAGGta,OAiBHquX,EAAAuB,eAAA,SAAAt0W,GACA,IAAAu0W,EAAA,GACArB,EAAA,GAOA,OANArnW,EAAAnnB,KAAAuxR,gBAAA,SAAAn2I,GACA,IAAAzgI,EAAA,MAAAW,GAAA,SAAAA,EAAA8/H,EAAAa,QAAA3gI,GAAA8/H,EAAAxgI,cACAilI,EAAAzE,EAAAtgI,aAAAH,GACAywB,EAAAykV,EAAAl1W,GAAA,GAAAk1W,EAAAl9W,KAAAgI,GACAywB,EAAAojV,EAAA3uO,GAAA,GAAA2uO,EAAA77W,KAAAktI,KAEA,CACAgwO,WACArB,cAwBA,IAAAtpO,EAAA,kBAKA,SAAAC,EAAA7qI,EAAAC,GACA,OAAAnN,EAAA83I,EAAA,SAAAjO,GACA,IAAApyI,EAAAyV,EAAAstE,uBAAAqvD,GAAA,GACA,OAAApyI,IAQA,SAAA8qX,EAAAr1W,GACA,sBAAAA,EAAA7U,IAAA,oBAGAuoX,EAAAl/U,OAAA,SAAAv0B,EAAAxV,GACA,IAAA+qX,EAAA,GAuBA,OAtBAv1W,EAAA8kG,cAAA,gBAAAoqH,EAAA9rN,GACA,IAAA+rN,EAAA,IAAAskJ,EAAAvkJ,EAAAlvN,EAAAxV,GACA2kO,EAAAp7N,KAAA,QAAAqP,EAGA+rN,EAAArrK,OAAAorK,EAAA1kO,GAAA,GACA0kO,EAAAvkO,iBAAAwkO,EACAomJ,EAAAn9W,KAAA+2N,KAGAnvN,EAAAkkG,WAAA,SAAAnkG,GACA,GAAAq1W,EAAAr1W,GAAA,CAIA,IAAA+qI,EAAAF,EAAA7qI,EAAAC,GACAq3Q,EAAAvsI,EAAA,GACAwsI,EAAAxsI,EAAA,GACAokF,EAAAmoD,EAAAx7I,mBACAszF,EAAAD,EAAAvkO,iBACAoV,EAAApV,iBAAAwkO,EAAAsnB,aAAA4gC,EAAAtuQ,eAAAuuQ,EAAAvuQ,mBAEAwsW,GAIA9B,EAAAv1S,WAAAu1S,EAAA/tX,UAAAw4E,WAAAo1S,EAAA5tX,UAAAw4E,WACAqgJ,EAAA9gE,SAAA,cAAAg2N,GACA,IAAAvrX,EAAAurX,EACAtrX,EAAAC,QAAAF,0BCzmBA,IAAAmvB,EAAW/yB,EAAQ,QAEnByiB,EAAUziB,EAAQ,QAElBm6M,EAAYn6M,EAAQ,QAEpBs8Q,EAAct8Q,EAAQ,QAItB,SAAAkxX,EAAAxnX,EAAAC,GACA,OAAAD,EAAA4zG,SAAA3zG,EAAA2zG,OACA5zG,EAAA40B,IAAA30B,EAAA20B,EAOA50B,EAAAm3B,GAAAl3B,EAAAk3B,GAGAn3B,EAAA40B,EAAA30B,EAAA20B,EAGA50B,EAAA4zG,OAAA3zG,EAAA2zG,OASA,IAAA6zQ,EAAA,WAEAhwX,KAAAiwX,OAAA,GACAjwX,KAAAkwX,aAAA,GACAlwX,KAAAmwX,gBAAA,GAGAH,EAAA/vX,UAAA,CACAC,YAAA8vX,EAMA79V,SAAA,SAAA4D,EAAArS,GACA,QAAA3Y,EAAA,EAAmBA,EAAA/K,KAAAiwX,OAAA1sX,OAAwBwH,IAC3C/K,KAAAiwX,OAAAllX,GAAAonB,SAAA4D,EAAArS,IAYAukG,eAAA,SAAA17F,EAAA6jW,GAOA,OANAA,MAAA,EAEA7jW,GACAvsB,KAAAqwX,kBAAAD,GAGApwX,KAAAkwX,cASAG,kBAAA,SAAAD,GACApwX,KAAAmwX,gBAAA,EAIA,IAHA,IAAAnvI,EAAAhhP,KAAAiwX,OACAloQ,EAAA/nH,KAAAkwX,aAEAnlX,EAAA,EAAA0B,EAAAu0O,EAAAz9O,OAAuCwH,EAAA0B,EAAS1B,IAChD/K,KAAAswX,yBAAAtvI,EAAAj2O,GAAA,KAAAqlX,GAGAroQ,EAAAxkH,OAAAvD,KAAAmwX,gBACA7uW,EAAA2gN,iBAAAk5C,EAAApzJ,EAAAgoQ,IAEAO,yBAAA,SAAAv/U,EAAA6qO,EAAAw0G,GACA,IAAAr/U,EAAAzF,QAAA8kV,EAAA,CAIAr/U,EAAAkqJ,eAEAlqJ,EAAAvwC,SACAuwC,EAAAxkB,SAGAwkB,EAAAmqJ,cACA,IAAAq1L,EAAAx/U,EAAAmjM,SAEA,GAAAq8I,EAAA,CAGA30G,EADAA,EACAA,EAAA18O,QAEA,GAGA,IAAAsxV,EAAAD,EACAE,EAAA1/U,EAEA,MAAAy/U,EAEAA,EAAA7+S,OAAA8+S,EACAD,EAAAluQ,kBACAs5J,EAAAjpQ,KAAA69W,GACAC,EAAAD,EACAA,IAAAt8I,SAIA,GAAAnjM,EAAAolK,QAAA,CAGA,IAFA,IAAAhyI,EAAApzB,EAAA8/B,UAEA9lE,EAAA,EAAqBA,EAAAo5D,EAAA5gE,OAAqBwH,IAAA,CAC1C,IAAAqnB,EAAA+xC,EAAAp5D,GAGAgmC,EAAAvwC,UACA4xB,EAAA5xB,SAAA,GAGAR,KAAAswX,yBAAAl+V,EAAAwpP,EAAAw0G,GAIAr/U,EAAAvwC,SAAA,OAEAuwC,EAAA0sO,YAAA7B,EACA57Q,KAAAkwX,aAAAlwX,KAAAmwX,mBAAAp/U,IAQA2/U,QAAA,SAAA3/U,GACAA,EAAA4/U,YAAA3wX,OAIA+wC,aAAAioK,GACAjoK,EAAA6/U,qBAAA5wX,MAGAA,KAAAy9O,aAAA1sM,GAEA/wC,KAAAiwX,OAAAt9W,KAAAo+B,KAOA8/U,QAAA,SAAA9/U,GACA,SAAAA,EAAA,CAEA,QAAAhmC,EAAA,EAAqBA,EAAA/K,KAAAiwX,OAAA1sX,OAAwBwH,IAAA,CAC7C,IAAAkiB,EAAAjtB,KAAAiwX,OAAAllX,GAEAkiB,aAAA+rL,GACA/rL,EAAA6jW,uBAAA9wX,MAOA,OAHAA,KAAAiwX,OAAA,GACAjwX,KAAAkwX,aAAA,QACAlwX,KAAAmwX,gBAAA,GAIA,GAAAp/U,aAAAvzB,MACA,CAAAzS,EAAA,UAAAC,EAAA+lC,EAAAxtC,OAAoCwH,EAAAC,EAAOD,IAC3C/K,KAAA6wX,QAAA9/U,EAAAhmC,QAFA,CAQA,IAAA4S,EAAAiU,EAAAwZ,QAAAprC,KAAAiwX,OAAAl/U,GAEApzB,GAAA,IACA3d,KAAAu9O,eAAAxsM,GAEA/wC,KAAAiwX,OAAA5+S,OAAA1zD,EAAA,GAEAozB,aAAAioK,GACAjoK,EAAA+/U,uBAAA9wX,SAIAy9O,aAAA,SAAA1sM,GAMA,OALAA,IACAA,EAAA4/U,UAAA3wX,KACA+wC,EAAApsB,OAAA,IAGA3kB,MAEAu9O,eAAA,SAAAxsM,GAKA,OAJAA,IACAA,EAAA4/U,UAAA,MAGA3wX,MAMA8V,QAAA,WACA9V,KAAA+wX,YAAA/wX,KAAAiwX,OAAA,MAEA1yG,oBAAAwyG,GAEA,IAAAttX,EAAAutX,EACAttX,EAAAC,QAAAF,0BCvOA,IAAA+Y,EAAW3c,EAAQ,QAEnBi2S,EAAYj2S,EAAQ,QAKpBy7F,EAAA5zF,KAAAQ,IACAqzF,EAAA7zF,KAAAS,IACAyxQ,EAAAlyQ,KAAA0Y,IACAy5P,EAAAnyQ,KAAAwY,IACAowS,EAAA,EAAA5oT,KAAAC,GACAylB,EAAA5Q,EAAAszB,SACAvlB,EAAA/N,EAAAszB,SACAkiV,EAAAx1W,EAAAszB,SASA,SAAAzuB,EAAAqnD,EAAAxgE,EAAAC,GACA,OAAAugE,EAAAnkE,OAAA,CAIA,IAKAwH,EALA+V,EAAA4mD,EAAA,GACAp4B,EAAAxuB,EAAA,GACAyuB,EAAAzuB,EAAA,GACA2uB,EAAA3uB,EAAA,GACA0uB,EAAA1uB,EAAA,GAGA,IAAA/V,EAAA,EAAaA,EAAA28D,EAAAnkE,OAAmBwH,IAChC+V,EAAA4mD,EAAA38D,GACAukC,EAAAgrD,EAAAhrD,EAAAxuB,EAAA,IACAyuB,EAAAgrD,EAAAhrD,EAAAzuB,EAAA,IACA2uB,EAAA6qD,EAAA7qD,EAAA3uB,EAAA,IACA0uB,EAAA+qD,EAAA/qD,EAAA1uB,EAAA,IAGA5Z,EAAA,GAAAooC,EACApoC,EAAA,GAAAuoC,EACAtoC,EAAA,GAAAooC,EACApoC,EAAA,GAAAqoC,GAaA,SAAA++Q,EAAA3yP,EAAAC,EAAAjM,EAAAC,EAAA3oD,EAAAC,GACAD,EAAA,GAAAozF,EAAA1+B,EAAAhM,GACA1oD,EAAA,GAAAozF,EAAAz+B,EAAAhM,GACA1oD,EAAA,GAAAozF,EAAA3+B,EAAAhM,GACAzoD,EAAA,GAAAozF,EAAA1+B,EAAAhM,GAGA,IAAAohU,EAAA,GACAC,EAAA,GAgBA,SAAA1iE,EAAA5yP,EAAAC,EAAAjM,EAAAC,EAAArwB,EAAAC,EAAAqoC,EAAAC,EAAA7gE,EAAAC,GACA,IAEA4D,EAFAu2O,EAAAwzD,EAAAxzD,aACAV,EAAAk0D,EAAAl0D,QAEA/yN,EAAAyzN,EAAA1lL,EAAAhM,EAAApwB,EAAAsoC,EAAAmpT,GAMA,IALA/pX,EAAA,GAAA4S,IACA5S,EAAA,GAAA4S,IACA3S,EAAA,IAAA2S,IACA3S,EAAA,IAAA2S,IAEA/O,EAAA,EAAaA,EAAA8iB,EAAO9iB,IAAA,CACpB,IAAA/I,EAAA4+O,EAAAhlL,EAAAhM,EAAApwB,EAAAsoC,EAAAmpT,EAAAlmX,IACA7D,EAAA,GAAAozF,EAAAt4F,EAAAkF,EAAA,IACAC,EAAA,GAAAozF,EAAAv4F,EAAAmF,EAAA,IAKA,IAFA0mB,EAAAyzN,EAAAzlL,EAAAhM,EAAApwB,EAAAsoC,EAAAmpT,GAEAnmX,EAAA,EAAaA,EAAA8iB,EAAO9iB,IAAA,CACpB,IAAA9I,EAAA2+O,EAAA/kL,EAAAhM,EAAApwB,EAAAsoC,EAAAmpT,EAAAnmX,IACA7D,EAAA,GAAAozF,EAAAr4F,EAAAiF,EAAA,IACAC,EAAA,GAAAozF,EAAAt4F,EAAAkF,EAAA,IAGAD,EAAA,GAAAozF,EAAA1+B,EAAA10D,EAAA,IACAC,EAAA,GAAAozF,EAAA3+B,EAAAz0D,EAAA,IACAD,EAAA,GAAAozF,EAAAxyB,EAAA5gE,EAAA,IACAC,EAAA,GAAAozF,EAAAzyB,EAAA3gE,EAAA,IACAD,EAAA,GAAAozF,EAAAz+B,EAAA30D,EAAA,IACAC,EAAA,GAAAozF,EAAA1+B,EAAA10D,EAAA,IACAD,EAAA,GAAAozF,EAAAvyB,EAAA7gE,EAAA,IACAC,EAAA,GAAAozF,EAAAxyB,EAAA5gE,EAAA,IAgBA,SAAAsnT,EAAA7yP,EAAAC,EAAAjM,EAAAC,EAAArwB,EAAAC,EAAAv4B,EAAAC,GACA,IAAA+6O,EAAA4yD,EAAA5yD,kBACAtmO,EAAAk5R,EAAAl5R,YAEAu1W,EAAA52R,EAAAD,EAAA4nJ,EAAAtmL,EAAAhM,EAAApwB,GAAA,MACAi2Q,EAAAl7M,EAAAD,EAAA4nJ,EAAArmL,EAAAhM,EAAApwB,GAAA,MACAz9B,EAAA4Z,EAAAggD,EAAAhM,EAAApwB,EAAA2xV,GACAlvX,EAAA2Z,EAAAigD,EAAAhM,EAAApwB,EAAAg2Q,GACAvuS,EAAA,GAAAozF,EAAA1+B,EAAAp8B,EAAAx9B,GACAkF,EAAA,GAAAozF,EAAAz+B,EAAAp8B,EAAAx9B,GACAkF,EAAA,GAAAozF,EAAA3+B,EAAAp8B,EAAAx9B,GACAmF,EAAA,GAAAozF,EAAA1+B,EAAAp8B,EAAAx9B,GAkBA,SAAAysT,EAAA1sT,EAAAC,EAAAy2K,EAAAC,EAAA95J,EAAAC,EAAA6uS,EAAAzmT,EAAAC,GACA,IAAAiqX,EAAA51W,EAAAtU,IACAmqX,EAAA71W,EAAArU,IACAyV,EAAAlW,KAAAiR,IAAAkH,EAAAC,GAEA,GAAAlC,EAAA0yS,EAAA,MAAA1yS,EAAA,KAMA,OAJA1V,EAAA,GAAAlF,EAAA02K,EACAxxK,EAAA,GAAAjF,EAAA02K,EACAxxK,EAAA,GAAAnF,EAAA02K,OACAvxK,EAAA,GAAAlF,EAAA02K,GA6BA,GAzBAvsJ,EAAA,GAAAysP,EAAAh6P,GAAA65J,EAAA12K,EACAoqB,EAAA,GAAAwsP,EAAA/5P,GAAA85J,EAAA12K,EACAsnB,EAAA,GAAAsvP,EAAA/5P,GAAA45J,EAAA12K,EACAunB,EAAA,GAAAqvP,EAAA95P,GAAA65J,EAAA12K,EACAmvX,EAAAlqX,EAAAklB,EAAA7C,GACA8nW,EAAAlqX,EAAAilB,EAAA7C,GAEA1K,GAAAywS,EAEAzwS,EAAA,IACAA,GAAAywS,GAGAxwS,GAAAwwS,EAEAxwS,EAAA,IACAA,GAAAwwS,GAGAzwS,EAAAC,IAAA6uS,EACA7uS,GAAAwwS,EACGzwS,EAAAC,GAAA6uS,IACH9uS,GAAAywS,GAGA3B,EAAA,CACA,IAAAx9P,EAAArxC,EACAA,EAAAD,EACAA,EAAAsxC,EAKA,QAAAlK,EAAA,EAAqBA,EAAAnnC,EAAkBmnC,GAAAv/C,KAAAC,GAAA,EACvCs/C,EAAApnC,IACAmyW,EAAA,GAAAn4G,EAAA5yN,GAAAyyH,EAAA12K,EACAgvX,EAAA,GAAAp4G,EAAA3yN,GAAA0yH,EAAA12K,EACAmvX,EAAAlqX,EAAA8pX,EAAA9pX,GACAmqX,EAAAlqX,EAAA6pX,EAAA7pX,IAKAxE,EAAA0d,aACA1d,EAAA4rT,WACA5rT,EAAA6rT,YACA7rT,EAAA8rT,gBACA9rT,EAAA+rT,kCCxMA,IAAAttS,EAAcviB,EAAQ,QAItBW,GAFA4hB,EAAAC,QAEaxiB,EAAQ,SAErByyX,EAAqBzyX,EAAQ,QAE7BgpM,EAAoBhpM,EAAQ,QAE5B0yX,EAAoB1yX,EAAQ,QAE5BgjF,EAAchjF,EAAQ,QAEtB87G,EAAA94B,EAAA84B,gBAoBA62Q,EAAAF,EAAA5sX,OAAA,CACAvE,KAAA,sBAyBA2iB,cAAA,CACAg+L,SAAA,KAKA2wK,SAAA,EAEAC,SAAA,EAEAjuO,MAAA,OAEA2kE,UAAA,GAGAC,WAAA,GAGAspK,WAAA,YACAjvG,UAAA,KAMAlrI,WAAA,KAGAW,YAAA,EAKAyqN,aAAA,WAEAzrI,QAAA,GAEAlU,WAAA,EAEAyoJ,UAAA,MAQAt0N,cAAA,SAAAjzD,EAAAwtH,GACA6/K,EAAAlrN,WAAAtmK,KAAA,gBAAA2I,WAQA3I,KAAA4xX,WAAA,GACA5xX,KAAA6xX,cAMA,IAAA1hS,EAAAnwF,KAAAu8E,MAAAv8E,KAAA8xX,iBAEAC,EAAA/xX,KAAAu8E,OAAAx8E,KAAAC,MAEAA,KAAAgyX,eAAA7tS,EAAAwtH,GAEA,IAAAn6D,EAAAx3I,KAAAmjB,OAAAq0H,WACAx3I,KAAAiyX,YAAA,SAAAxpL,EAAAN,GACA,eAAAh4G,GACAs4G,EAAAo4E,cAAA,WACAp4E,EAAAjxD,WAAAh4I,EAAA+V,MAAAiiI,KAEAixD,EAAA5vF,WAAA74G,KAAAgb,YACAytL,EAAAo4E,cAAA,YACAp4E,EAAAi6E,UAAAljR,EAAA4N,IAAApN,KAAA4xX,WAAA,SAAAx/J,GACAA,EAAA5yN,EAAA+V,MAAA68M,GAQA,MANA,YAAAjqB,IAGAiqB,EAAA1pB,OAAA,MAGA0pB,QAUA8/J,qBAAA,WAQA,IAAA/uW,EAAAnjB,KAAAmjB,OACAgvW,EAAA,GACA5oL,EAAA1B,EAAAy7E,kBACA3+H,EAAA3kJ,KAAA2kJ,aAkBA,SAAA9wD,EAAA/oF,EAAAq9L,EAAAI,GACA,OAAAz9L,KAAAq9L,KAAA3oM,EAAAoK,SAAAkB,EAAAq9L,IAAAr9L,EAAAq9L,GAAAj9L,eAAAq9L,GAAAz9L,EAAAq9L,KAAAI,GAlBA/oM,EAAA2nB,KAAAhE,EAAA8tR,OAAA,SAAA7+E,GACA5yN,EAAA2nB,KAAAoiL,EAAA,SAAAhB,GACA6pB,EAAAlnN,eAAAq9L,KACA4pL,EAAA5pL,GAAA,OAIA/oM,EAAA2nB,KAAAgrW,EAAA,SAAAh1W,EAAAorL,GACA,IAAA6pL,EAAA,EACA5yX,EAAA2nB,KAAAnnB,KAAAgoM,UAAA,SAAAG,GACAiqL,GAAAv+R,EAAA1wE,EAAAglL,EAAAI,IAAA10G,EAAA1wE,EAAA9M,OAAA8xL,EAAAI,IACOvoM,OACPoyX,GAAA5yX,EAAA2nB,KAAAnnB,KAAAgoM,UAAA,SAAAG,IACAhlL,EAAAglL,KAAAhlL,EAAAglL,GAAA,KAA6CI,GAAAgpL,EAAA9rX,IAAA8iM,EAAA,YAAAJ,EAAA,oBAAAxjD,MAExC3kJ,MAOLsxX,EAAArxX,UAAAiyX,qBAAAxpX,MAAA1I,KAAA2I,YAEAqpX,eAAA,SAAA7tS,EAAAwtH,GACA,IAAAt6D,EAAAr3I,KAAAmjB,OACAu/P,EAAA1iR,KAAA4xX,WAEA9wK,GAAAnP,EAAAt6D,EAAAlzD,GAAA28H,UAAA,GAWA,GAVAzpE,EAAAypE,WAEAthN,EAAA2nB,KAAAu7P,EAAA,SAAAtwD,EAAAvuN,GACA,IAAAoH,EAAAjL,KAAA+jX,kBAAA3xJ,GAEAtR,EAAA51M,eAAAD,KACA61M,EAAA71M,IAAA,IAEKjL,MAEL,WAAAq3I,EAAAurN,aAAA,CAEA,IAAAyvB,GAAA,EACA7yX,EAAA2nB,KAAAu7P,EAAA,SAAAtwD,EAAAvuN,GACA,IAAAoH,EAAAjL,KAAA+jX,kBAAA3xJ,GAEAtR,EAAA71M,KACAonX,EAAAvxK,EAAA71M,IAAA,EAAAonX,GAAA,IAEOryX,QAQP+jX,kBAAA,SAAA3xJ,GACA,qBAAApyN,KAAAu8E,MAAA61I,EAAAnuN,MAAA,GAAAmuN,EAAAvuN,MAAA,IAMA+/W,aAAA,WACA,OAAA5jX,KAAA4xX,YAOAE,eAAA,WACA,IAAA3uW,EAAAnjB,KAAAmjB,OACA,OAAAA,EAAA8tR,QAAA9tR,EAAA8tR,OAAA1tS,OAAA,WAAAvD,KAAAmjB,OAAAq0H,WAAA,4BAOAghN,YAAA,SAAA13I,GACA9gN,KAAAmjB,OAAA29L,SAAAthN,EAAA+V,MAAAurM,IAOA9X,cAAA,SAAA/kM,GACA,IAAAJ,EAAAgkM,EAAAw7E,eAAAp/Q,EAAAjE,KAAA4xX,YACA,aAAA/tX,GAAA7D,KAAAmjB,OAAA29L,SAAA9gN,KAAA+jX,kBAAA/jX,KAAA4xX,WAAA/tX,KAAA,wBAQA+/M,sBAAA,SAAAw/D,GACA,IAAA1/Q,EAAA,GAcA,OAbA1D,KAAAsyX,iBAAA,SAAAh4W,GACA,IAAAw4S,EAAA,GACAvnT,EAAA+O,EAAAE,UACAjP,EAAA4b,KAAAnnB,KAAAokN,iBAAA74M,GAAA,SAAAtH,EAAAwhB,GAEA,IAAA8sW,EAAA1qL,EAAAw7E,eAAAp/Q,EAAAjE,KAAA4xX,YACAW,IAAAnvG,GAAA0vC,EAAAngT,KAAA8S,IACOzlB,MACP0D,EAAAiP,KAAA,CACAm/K,SAAAx3K,EAAA2R,GACAxG,UAAAqtS,KAEK9yT,MACL0D,GAQA4/W,kBAAA,SAAAlxJ,GACA,IAAAixJ,EAEA,GAAArjX,KAAA2kJ,aACA0+N,EAAAjxJ,EAAAnuN,WAEA,SAAAmuN,EAAAnuN,MACAo/W,EAAAjxJ,EAAAnuN,UACO,CACP,IAAAuuX,EAAApgK,EAAA11M,UAAA,GACA2mW,EAAAmP,EAAA,MAAA14W,KAAA04W,EAAA,KAAA14W,IAAA,GAAA04W,EAAA,GAAAA,EAAA,MAIA,OAAAnP,GAEAoP,cAAA,SAAAC,GAEA,IAAA1yX,KAAA2kJ,aAAA,CAIA,IAAAq7C,EAAA,GACA2yL,EAAA,GACA/0K,EAAA59M,KA6BA0iR,EAAA1iR,KAAA4xX,WAAA1yV,QAEA,GAAAwjP,EAAAn/Q,OAIK,CACL,IAAAma,EAAAglQ,EAAA,GAAAhmQ,SAAA,GACAgB,KAAA5D,KAAA4oQ,EAAAvtM,QAAA,CACAz4D,SAAA,EAAA5C,IAAA4D,KAEAA,EAAAglQ,IAAAn/Q,OAAA,GAAAmZ,SAAA,GACAgB,IAAA5D,KAAA4oQ,EAAA/vQ,KAAA,CACA+J,SAAA,CAAAgB,EAAA5D,YAVA4oQ,EAAA/vQ,KAAA,CACA+J,SAAA,EAAA5C,WAaA,IAAA+gG,GAAA/gG,IAWA,OAVAta,EAAA2nB,KAAAu7P,EAAA,SAAAtwD,GACA,IAAA11M,EAAA01M,EAAA11M,SAEAA,IAEAA,EAAA,GAAAm+F,GAAA+3Q,EAAA,CAAA/3Q,EAAAn+F,EAAA,kBACAk2W,EAAAl2W,EAAAwiB,SACA27E,EAAAn+F,EAAA,KAEK1c,MACL,CACAggM,QACA2yL,eAzDA,SAAAC,EAAAl2W,EAAA4sL,GACA,IAAA+5K,EAAAzlK,EAAA0lK,kBAAA,CACA5mW,aAGA4sL,IACAA,EAAAsU,EAAA5U,cAAAq6K,IAGA,IAAAv8V,EAAA4rW,EAAArP,EAAA/5K,GAEA5sL,EAAA,MAAA5C,IACA64W,EAAA,GAAA7rW,EACOpK,EAAA,KAAA5C,IACP64W,EAAA,GAAA7rW,EAEAk5K,EAAArtL,KAAA,CACA1O,MAAAyY,EAAA,GACAoK,SACS,CACT7iB,MAAAyY,EAAA,GACAoK,cA8CAirW,EAAA,CACA55O,YAAA,WACA,IAAAd,EAAAr3I,KAAAmjB,OACAu/P,EAAA1iR,KAAA4xX,WACAl7T,EAAAhwD,KAAAQ,IAAAmwI,EAAA3gF,UAAA,IACAmiD,EAAA74G,KAAAgb,YACAm9H,EAAAd,EAAAc,YACAA,EAAAzxI,KAAAS,IAAAgM,SAAAglI,EAAA,OACAd,EAAAc,cACA,IAAA06O,GAAAh6Q,EAAA,GAAAA,EAAA,IAAAs/B,EAEA,OAAA06O,EAAAv6Q,QAAA5hD,KAAAm8T,GAAAn8T,EAAA,EACAA,IAGA2gF,EAAA3gF,YACAm8T,KAAAv6Q,QAAA5hD,GACA,IAAA7yD,EAAA,EAEAwzI,EAAAo6O,SACA/uG,EAAA/vQ,KAAA,CACA9O,UACA6Y,SAAA,EAAA5C,IAAA++F,EAAA,IACAkC,MAAA,QAIA,QAAAF,EAAAhC,EAAA,GAAApsG,EAAA5I,EAAAs0I,EAA6Dt0I,EAAA4I,EAAaouG,GAAAg4Q,EAAA,CAC1E,IAAA1rX,EAAAtD,IAAAs0I,EAAA,EAAAt/B,EAAA,GAAAgC,EAAAg4Q,EACAnwG,EAAA/vQ,KAAA,CACA9O,UACA6Y,SAAA,CAAAm+F,EAAA1zG,GACA4zG,MAAA,QAIAs8B,EAAAq6O,SACAhvG,EAAA/vQ,KAAA,CACA9O,UACA6Y,SAAA,CAAAm8F,EAAA,GAAA/+F,KACAihG,MAAA,QAIAJ,EAAA+nK,GACAljR,EAAA2nB,KAAAu7P,EAAA,SAAAtwD,GACAA,EAAApxN,KAAAhB,KAAA0iN,gBAAA0P,EAAA11M,WACK1c,OAELw3I,WAAA,WACA,IAAAH,EAAAr3I,KAAAmjB,OACA3jB,EAAA2nB,KAAAkwH,EAAAG,WAAA,SAAAsrI,GAGA9iR,KAAA4xX,WAAAj/W,KAAA,CACA3R,KAAAhB,KAAA0iN,gBAAAogE,GAAA,GACA7+Q,MAAA6+Q,KAEK9iR,MAEL8yX,EAAAz7O,EAAAr3I,KAAA4xX,aAEA3gF,OAAA,WACA,IAAA55J,EAAAr3I,KAAAmjB,OACAu/P,EAAA1iR,KAAA4xX,WACApyX,EAAA2nB,KAAAkwH,EAAA45J,OAAA,SAAA8hF,EAAAlvX,GACArE,EAAAoK,SAAAmpX,KACAA,EAAA,CACA9uX,MAAA8uX,IAIA,IAAAluT,EAAA,CACA7jE,KAAA,GACA6C,SAOA,GAJA,MAAAkvX,EAAAjuW,QACA+/C,EAAA7jE,KAAA+xX,EAAAjuW,OAGAiuW,EAAA7nX,eAAA,UACA,IAAAjH,EAAA4gE,EAAA5gE,MAAA8uX,EAAA9uX,MACA4gE,EAAAnoD,SAAA,CAAAzY,KACA4gE,EAAAk2C,MAAA,UACO,CASP,IANA,IAAAr+F,EAAAmoD,EAAAnoD,SAAA,GACAq+F,EAAAl2C,EAAAk2C,MAAA,MACAi4Q,EAAA,QACAC,EAAA,EAAAn5W,SACAo5W,EAAA,GAEAl4Q,EAAA,EAAwBA,EAAA,EAAQA,IAAA,CAGhC,IAFA,IAAAz2B,EAAA,wCAAAy2B,GAEAjwG,EAAA,EAAyBA,EAAA,SAAA2R,EAAAs+F,GAA+BjwG,IACxD2R,EAAAs+F,GAAA+3Q,EAAAxuS,EAAAx5E,IACAgwG,EAAAC,GAAAg4Q,EAAAjoX,GACAmoX,EAAAl4Q,GAAA,IAAAjwG,EAGA,MAAA2R,EAAAs+F,KAAAt+F,EAAAs+F,GAAAi4Q,EAAAj4Q,IAGAk4Q,EAAA,IAAAx2W,EAAA,KAAA5C,MAAAihG,EAAA,MACAm4Q,EAAA,IAAAx2W,EAAA,MAAA5C,MAAAihG,EAAA,MAEAr+F,EAAA,KAAAA,EAAA,IAAAq+F,EAAA,IAAAA,EAAA,KAGAl2C,EAAA5gE,MAAAyY,EAAA,IAIAmoD,EAAA6jI,OAAAb,EAAA+7E,gBAAAmvG,GACArwG,EAAA/vQ,KAAAkyD,IACK7kE,MAEL8yX,EAAAz7O,EAAAqrI,GAEA/nK,EAAA+nK,GACAljR,EAAA2nB,KAAAu7P,EAAA,SAAAtwD,GACA,IAAAr3G,EAAAq3G,EAAAr3G,MACAo4Q,EAAA,WAAAp4Q,EAAA,cAAAA,EAAA,KACAq3G,EAAApxN,KAAAoxN,EAAApxN,MAAAhB,KAAA0iN,gBAAA,MAAA0P,EAAAnuN,MAAAmuN,EAAAnuN,MAAAmuN,EAAA11M,UAAA,EAAAy2W,IACKnzX,QAIL,SAAA8yX,EAAAz7O,EAAAqrI,GACA,IAAA79N,EAAAwyF,EAAAxyF,SAEA,aAAAwyF,EAAAn1D,QAAAr9B,MACA69N,EAAAl2H,UAIA,IAAA/pJ,EAAA+uX,EACA9uX,EAAAC,QAAAF,wBC7hBA,IAAA2+N,EAAcviO,EAAQ,QAEtBuiO,IAAApoG,EAAAooG,EAAAl4K,EAAA,UAA0C60K,OAASl/N,EAAQ,kCCH3D,IAAAylE,EAAWzlE,EAAQ,QAEnByiB,EAAUziB,EAAQ,QAElBW,EAAaX,EAAQ,QAErB00F,EAAc10F,EAAQ,QAEtBmxX,EAAcnxX,EAAQ,QAEtB8sO,EAAc9sO,EAAQ,QAEtB+qM,EAAgB/qM,EAAQ,QAExBu0X,EAAmBv0X,EAAQ,QAW3Bw0X,GAAA/xW,EAAA2gN,gBACAqxJ,EAAA,CACA19V,OAAA+1M,GAEAk1B,EAAA,GAMA/6I,EAAA,QAYA,SAAA5iG,EAAA06D,EAAA99E,GACA,IAAAqU,EAAA,IAAAo/W,EAAAjvT,IAAAsZ,EAAA99E,GAEA,OADA+gQ,EAAA1sP,EAAA8X,IAAA9X,EACAA,EAQA,SAAA2B,EAAA3B,GACA,GAAAA,EACAA,EAAA2B,cACG,CACH,QAAA7K,KAAA41P,EACAA,EAAA31P,eAAAD,IACA41P,EAAA51P,GAAA6K,UAIA+qP,EAAA,GAGA,OAAA7gQ,KASA,SAAAwzX,EAAAvnW,GACA,OAAA40O,EAAA50O,GAGA,SAAAy/M,EAAAp9N,EAAA85C,GACAkrU,EAAAhlX,GAAA85C,EAGA,SAAAqrU,EAAAxnW,UACA40O,EAAA50O,GAmBA,IAAAsnW,EAAA,SAAAtnW,EAAA2xD,EAAA99E,GACAA,KAAA,GAKAE,KAAA49E,MAKA59E,KAAAisB,KACA,IAAAyb,EAAA1nC,KACAgoH,EAAA,IAAAgoQ,EACA0D,EAAA5zX,EAAAs3B,SAEA,GAAAi8V,EAAA,CACA,IAAAC,EAAAK,IACA,UAAAhmV,MAAA,wDAGA+lV,EAAA,WACGA,GAAAJ,EAAAI,KACHA,EAAA,UAGA,IAAAxsQ,EAAA,IAAAosQ,EAAAI,GAAA91S,EAAAoqC,EAAAloH,EAAAmsB,GACAjsB,KAAAgoH,UACAhoH,KAAAknH,UACA,IAAA0sQ,EAAAtyW,EAAAjE,MAAAiE,EAAAuyW,OAAA,SAAAT,EAAAlsQ,EAAA22H,mBACA79O,KAAA8zF,QAAA,IAAAP,EAAAy0B,EAAAd,EAAA0sQ,EAAA1sQ,EAAAj6F,MAKAjtB,KAAA09E,UAAA,IAAAksH,EAAA,CACAC,MAAA,CACAt9K,OAAA/sB,EAAAoJ,KAAA5I,KAAAo4M,MAAAp4M,SAGAA,KAAA09E,UAAAtxD,QAMApsB,KAAA8zX,cAGA,IAAAx2I,EAAAt1H,EAAAu1H,eACAC,EAAAx1H,EAAAy1H,aAEAz1H,EAAAu1H,eAAA,SAAAxsM,GACAusM,EAAAv9O,KAAAioH,EAAAj3E,GACAA,KAAAwhU,iBAAA7qU,IAGAsgF,EAAAy1H,aAAA,SAAA1sM,GACAysM,EAAAz9O,KAAAioH,EAAAj3E,GACAA,EAAAuhU,YAAA5qU,KAIA6rV,EAAAtzX,UAAA,CACAC,YAAAqzX,EAMA5+D,MAAA,WACA,OAAA30T,KAAAisB,IAOAsR,IAAA,SAAAwT,GACA/wC,KAAAgoH,QAAA0oQ,QAAA3/U,GACA/wC,KAAA8zX,eAAA,GAOAtnX,OAAA,SAAAukC,GACA/wC,KAAAgoH,QAAA6oQ,QAAA9/U,GACA/wC,KAAA8zX,eAAA,GAWAhmI,YAAA,SAAAimI,EAAA/5L,GACAh6L,KAAAknH,QAAA4mI,aACA9tP,KAAAknH,QAAA4mI,YAAAimI,EAAA/5L,GAGAh6L,KAAA8zX,eAAA,GAOAv0G,mBAAA,SAAA7iK,GACA18G,KAAAknH,QAAAq4J,oBACAv/Q,KAAAknH,QAAAq4J,mBAAA7iK,GAGA18G,KAAA8zX,eAAA,GAMA7pR,mBAAA,WAIAjqG,KAAA8zX,eAAA,EACA9zX,KAAAknH,QAAA/zF,UAKAnzB,KAAA8zX,eAAA,GAUA3gW,QAAA,WACAnzB,KAAA8zX,eAAA,GAMA17K,MAAA,WACA,IAAA47K,EAEAh0X,KAAA8zX,gBACAE,GAAA,EACAh0X,KAAAiqG,sBAGAjqG,KAAAi0X,qBACAD,GAAA,EACAh0X,KAAAk0X,2BAGAF,GAAAh0X,KAAAoX,QAAA,aAQA2lQ,SAAA,SAAAhsO,EAAAxwC,GACA,GAAAP,KAAAknH,QAAA61J,SAAA,CACA,IAAAE,EAAAj9Q,KAAAknH,QAAA61J,SAAAhsO,EAAAxwC,GAEA,OADAP,KAAA88Q,eACAG,IAQAE,YAAA,SAAApsO,GACA/wC,KAAAknH,QAAAi2J,cACAn9Q,KAAAknH,QAAAi2J,YAAApsO,GACA/wC,KAAA88Q,iBAQAO,WAAA,WACAr9Q,KAAAknH,QAAAm2J,aACAr9Q,KAAAknH,QAAAm2J,aACAr9Q,KAAA88Q,iBAOAA,aAAA,WACA98Q,KAAAi0X,oBAAA,GAMAC,wBAAA,WACAl0X,KAAAi0X,oBAAA,EACAj0X,KAAAknH,QAAA41J,cAAA98Q,KAAAknH,QAAA41J,gBAUAz+M,OAAA,SAAAv+D,GACAA,KAAA,GACAE,KAAAknH,QAAA7oD,OAAAv+D,EAAAwC,MAAAxC,EAAAyC,QACAvC,KAAA8zF,QAAAz1B,UAMA81T,eAAA,WACAn0X,KAAA09E,UAAAhxE,SAMA6B,SAAA,WACA,OAAAvO,KAAAknH,QAAA34G,YAMA+vD,UAAA,WACA,OAAAt+D,KAAAknH,QAAA5oD,aAsBA6hN,YAAA,SAAAhqQ,EAAAxK,GACA,OAAA3L,KAAAknH,QAAAi5J,YAAAhqQ,EAAAxK,IAOAogH,eAAA,SAAA6mG,GACA5yN,KAAA8zF,QAAAi4B,eAAA6mG,IASA+kJ,UAAA,SAAA31W,EAAAC,GACA,OAAAjC,KAAA8zF,QAAA6jR,UAAA31W,EAAAC,IAUA2T,GAAA,SAAA2C,EAAAy/V,EAAAt0V,GACA1jB,KAAA8zF,QAAAl+E,GAAA2C,EAAAy/V,EAAAt0V,IAQA7N,IAAA,SAAA0C,EAAAy/V,GACAh4W,KAAA8zF,QAAAj+E,IAAA0C,EAAAy/V,IASA5gW,QAAA,SAAAmB,EAAApB,GACAnX,KAAA8zF,QAAA18E,QAAAmB,EAAApB,IAMAzK,MAAA,WACA1M,KAAAgoH,QAAA6oQ,UACA7wX,KAAAknH,QAAAx6G,SAMAoJ,QAAA,WACA9V,KAAA09E,UAAAxmE,OACAlX,KAAA0M,QACA1M,KAAAgoH,QAAAlyG,UACA9V,KAAAknH,QAAApxG,UACA9V,KAAA8zF,QAAAh+E,UACA9V,KAAA09E,UAAA19E,KAAAgoH,QAAAhoH,KAAAknH,QAAAlnH,KAAA8zF,QAAA,KACA2/R,EAAAzzX,KAAAisB,MAGAtpB,EAAAmjH,UACAnjH,EAAAugB,OACAvgB,EAAAmT,UACAnT,EAAA6wX,cACA7wX,EAAA+oO,0CClbA,IAAAlsO,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAEtBs2N,EAAkBt2N,EAAQ,QAE1ByF,EAAezF,EAAQ,QAEvBiyP,EAA0BjyP,EAAQ,QAoBlCu2N,EAAA,wCACAC,EAAA,0BAQA++J,EAAA9vX,EAAAI,OAAA,CACAvE,KAAA,gBACAm1N,iBAAA,uBAKApiK,OAAA,SAAAruD,EAAA0V,EAAAxV,EAAAynB,GACAxsB,KAAAylE,MAAApB,YACA,IAAAgwT,EAAAr0X,KAAAs0X,WAIA,GAHAt0X,KAAAs0X,WAAA,IAAApwX,EAAA80M,MACAh5M,KAAAylE,MAAAloC,IAAAv9B,KAAAs0X,YAEAzvX,EAAAY,IAAA,SAIA,IAAAgkO,EAAA5kO,EAAAuxI,mBACAnwI,EAAA6qP,EAAA7qP,OAAAwjO,EAAA5kO,GACAixN,EAAA,IAAAX,EAAAtwN,EAAAoB,GACAzG,EAAA2nB,KAAAiuM,EAAAU,EAAAv4L,IAAAu4L,GAEA91N,KAAAs0X,WAAA/2V,IAAAu4L,EAAAC,YAEAv2N,EAAA2nB,KAAAkuM,EAAA,SAAA/mN,GACAzJ,EAAAY,IAAA6I,EAAA,UACAtO,KAAA,IAAAsO,GAAAzJ,EAAA4kO,IAEKzpO,MACLkE,EAAAmkW,gBAAAgsB,EAAAr0X,KAAAs0X,WAAAzvX,GACAuvX,EAAA1qM,UAAA1pL,KAAA,SAAA6E,EAAA0V,EAAAxV,EAAAynB,KAEAhgB,OAAA,WACAxM,KAAAu0X,iBAAA,MAQAv+J,WAAA,SAAAnxN,EAAA4kO,GACA,IAAAzkO,EAAAH,EAAAG,KAEA,IAAAA,EAAA+S,MAAAsoI,UAAA,CAIA,IAAAC,EAAAz7I,EAAA81B,SAAA,aACAyjH,EAAAkC,EAAA3lH,SAAA,aACA4lH,EAAAnC,EAAA34I,IAAA,SACA86I,EAAA/gJ,EAAAwJ,QAAAu3I,KAAA,CAAAA,GAaA,IAZA,IAAAwgL,EAAAt3F,EAAAvkO,iBAAAiD,UACAD,EAAAlD,EAAAkD,eACA09L,EAAA,EACAplD,EAAAx7I,EAAAy7I,eAAA,CACAC,UAAAJ,IAEAhkI,EAAA,GACAC,EAAA,GAGAk9H,EAAA2E,EAAAq8D,eAEA1vM,EAAA,EAAmBA,EAAAy1I,EAAAj9I,OAAwBwH,IAAA,CAC3C,IAAA41I,EAAA37I,EAAAolO,cAAA5pF,EAAAz1I,GAAAwV,OAEArY,GACAoU,EAAA,GAAAqkI,EACArkI,EAAA,GAAAykT,EAAA9+T,EACAsa,EAAA,GAAAokI,EACApkI,EAAA,GAAAwkT,EAAA9+T,EAAA8+T,EAAAx+T,SAEA+Z,EAAA,GAAAykT,EAAA/+T,EACAsa,EAAA,GAAAqkI,EACApkI,EAAA,GAAAwkT,EAAA/+T,EAAA++T,EAAAz+T,MACAia,EAAA,GAAAokI,GAGA,IAAAu1E,EAAAtwB,IAAArlD,EAAAh9I,OACA++I,EAAA9B,EAAAz1I,GAAAu3I,UAEAtiJ,KAAAs0X,WAAA/2V,IAAA,IAAAr5B,EAAAupM,KAAAvpM,EAAAyD,qBAAA,CACA+gW,KAAA,MAAApmN,EAAA,QAAA9B,EAAAz1I,GAAAu3I,UAAA,KACA16I,MAAA,CACAgoD,GAAAtzC,EAAA,GACAuzC,GAAAvzC,EAAA,GACAkjB,GAAAjjB,EAAA,GACAkjB,GAAAljB,EAAA,IAEAhc,MAAAf,EAAA8V,SAAA,CACA3U,OAAA4/I,EAAA21E,IACSz8E,GACTpyB,QAAA,SAUAgvG,WAAA,SAAAxxN,EAAA4kO,GACA,IAAAzkO,EAAAH,EAAAG,KAEA,IAAAA,EAAA+S,MAAAsoI,UAAA,CAIA,IAAAO,EAAA/7I,EAAA81B,SAAA,aACAkmH,EAAAD,EAAAjmH,SAAA,aACA27L,EAAAz1E,EAAAp7I,IAAA,SACAs7T,EAAAt3F,EAAAvkO,iBAAAiD,UACAq4I,EAAAx7I,EAAAy7I,eAAA,CACAC,UAAAE,EACAxhH,OAAA,IAGA,GAAAohH,EAAAj9I,OAAA,CAMA,IAAAixX,EAAAl+J,EAAA/yN,OACAkxX,EAAAz0X,KAAAu0X,iBACAG,EAAAl1X,EAAAqrD,gBACAqrK,EAAA,EAEA,GAAAu+J,EACA,QAAA1pX,EAAA,EAAqBA,EAAAy1I,EAAAj9I,OAAwBwH,IAAA,CAC7C,IAAA4pX,EAAAF,EAAAhvX,IAAA+6I,EAAAz1I,GAAAu3I,WAEA,SAAAqyO,EAAA,CACAz+J,GAAAy+J,GAAAH,EAAA,GAAAzpX,GAAAypX,EACA,OAKA,IAAAjoX,EAAAvH,EAAAolO,cAAA5pF,EAAA,GAAAjgI,OACAo5H,EAAAkH,EAAA41E,eACAH,EAAA92N,EAAAwJ,QAAAstN,KAAA,CAAAA,GAEA,IAAAvrN,EAAA,EAAmBA,EAAAy1I,EAAAj9I,OAAwBwH,IAAA,CAC3C,IACA/I,EACAC,EACAK,EACAC,EAJAo+I,EAAA37I,EAAAolO,cAAA5pF,EAAAz1I,GAAAwV,OAMAvb,EAAAkD,gBACAlG,EAAAuK,EACAtK,EAAA8+T,EAAA9+T,EACAK,EAAAq+I,EAAA3+I,EACAO,EAAAw+T,EAAAx+T,OACAgK,EAAAvK,EAAAM,IAEAN,EAAA++T,EAAA/+T,EACAC,EAAAsK,EACAjK,EAAAy+T,EAAAz+T,MACAC,EAAAo+I,EAAA1+I,EACAsK,EAAAtK,EAAAM,GAGA,IAAA+/I,EAAA9B,EAAAz1I,EAAA,GAAAu3I,UACA,MAAAA,GAAAoyO,EAAAthW,IAAAkvH,EAAA4zE,GAEAl2N,KAAAs0X,WAAA/2V,IAAA,IAAAr5B,EAAA+qE,KAAA,CACAy5R,KAAA,MAAApmN,EAAA,QAAAA,EAAA,KACA16I,MAAA,CACA5F,IACAC,IACAK,QACAC,UAEAhC,MAAAf,EAAA8V,SAAA,CACA5U,KAAA41N,EAAAJ,IACSv8E,GACTtyB,QAAA,KAGA6uG,KAAA,GAAAs+J,EAGAx0X,KAAAu0X,iBAAAG,OAGAN,EAAA1vX,OAAA,CACAvE,KAAA,UAEAi0X,EAAA1vX,OAAA,CACAvE,KAAA,gCC1PA,IAAA8sB,EAAWpuB,EAAQ,QAkBnBo5B,EAAA,WACA,OAAAhL,EAAA+K,KAAAC,OAGAv1B,EAAAC,QAAAs1B,uCCpBA,IAAA3sB,EAAYzM,EAAQ,QAEpB6D,EAAAC,QAAA,SAAA6I,EAAAinV,GACAnnV,EAAAT,QAAAW,EAAA,SAAAvH,EAAAqK,GACAA,IAAAmkV,GAAAnkV,EAAAsxB,gBAAA6yT,EAAA7yT,gBACAp0B,EAAAinV,GAAAxuV,SACAuH,EAAA8C,4CCNA,IAAAhD,EAAYzM,EAAQ,QACpB+1X,EAAoB/1X,EAAQ,QAC5Bg2X,EAAeh2X,EAAQ,QACvByW,EAAezW,EAAQ,QACvBi2X,EAAoBj2X,EAAQ,QAC5Bk2X,EAAkBl2X,EAAQ,QAK1B,SAAAm2X,EAAAh7L,GACAA,EAAAi7L,aACAj7L,EAAAi7L,YAAAC,mBAUAxyX,EAAAC,QAAA,SAAAq3L,GACAg7L,EAAAh7L,GAGAA,EAAAyuF,UAAAqsG,EAAA96L,EAAA18F,OACA08F,EAAA18F,IAAAy3R,EAAA/6L,EAAAyuF,QAAAzuF,EAAA18F,MAIA08F,EAAAxuL,QAAAwuL,EAAAxuL,SAAA,GAGAwuL,EAAAzuL,KAAAqpX,EACA56L,EAAAzuL,KACAyuL,EAAAxuL,QACAwuL,EAAAm7L,kBAIAn7L,EAAAxuL,QAAAF,EAAAH,MACA6uL,EAAAxuL,QAAA4pX,QAAA,GACAp7L,EAAAxuL,QAAAwuL,EAAA7zC,SAAA,GACA6zC,EAAAxuL,SAAA,IAGAF,EAAAT,QACA,sDACA,SAAAs7I,UACA6zC,EAAAxuL,QAAA26I,KAIA,IAAAkvO,EAAAr7L,EAAAq7L,SAAA//W,EAAA+/W,QAEA,OAAAA,EAAAr7L,GAAA4rB,KAAA,SAAAn3F,GAUA,OATAumQ,EAAAh7L,GAGAvrE,EAAAljH,KAAAqpX,EACAnmQ,EAAAljH,KACAkjH,EAAAjjH,QACAwuL,EAAAs7L,mBAGA7mQ,GACG,SAAAygJ,GAcH,OAbA2lH,EAAA3lH,KACA8lH,EAAAh7L,GAGAk1E,KAAAzgJ,WACAygJ,EAAAzgJ,SAAAljH,KAAAqpX,EACA1lH,EAAAzgJ,SAAAljH,KACA2jQ,EAAAzgJ,SAAAjjH,QACAwuL,EAAAs7L,qBAKA7vK,QAAAwpD,OAAAC,4BC/DA,IAAAtwQ,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBgsM,EAAWhsM,EAAQ,QAEnBg4N,EAAqBh4N,EAAQ,QAoB7B02X,EAAA1qL,EAAAN,QAAAS,UAEA,SAAAwqL,EAAA7xW,GACA3jB,KAAA2jB,QAGA6xW,EAAA1yW,cAAA,CACAo5F,MAAA,EACA/7G,KAAA,GAEAgvN,KAAA,CAEA3nN,KAAA,+DACAyjM,IAAA,kFACAC,MAAA,mYAEAC,MAAA,sGAKAX,MAAAhrM,EAAA+V,MAAAggX,EAAA/qL,OACArnL,OAAA,GACAN,YAAA,IAEA,IAAAsc,EAAAq2V,EAAAv1X,UAEAk/B,EAAAw0Q,SAAA,WACA,IAAAhwR,EAAA3jB,KAAA2jB,MACA8xW,EAAA9xW,EAAAle,IAAA,QACAiuS,EAAA,GAMA,OALAl0S,EAAA2nB,KAAAxD,EAAAle,IAAA,iBAAAtF,GACAs1X,EAAAt1X,KACAuzS,EAAAvzS,GAAAs1X,EAAAt1X,MAGAuzS,GAGA,IAAAgiF,EAAA,CACAluX,KAAA,SAAA2S,EAAA23K,EAAAx3K,EAAAqJ,GACA,WAAAxJ,EACA,OAAA3a,EAAA2L,MAAA,CACA8gB,GAAA6lK,EACA3xL,KAAA,OAEAoL,KAAA+O,EAAA7U,IAAA,QACAylM,MAAA5wL,EAAA7U,IAAA,SACAysP,UAAA53O,EAAA7U,IAAA,aACA83N,SAAAjjN,EAAA7U,IAAA,aACOke,EAAAle,IAAA,oBAAgC,IAGvCwlM,IAAA,SAAA9wL,EAAA23K,EAAAx3K,EAAAqJ,GACA,YAAAxJ,EACA,OAAA3a,EAAA2L,MAAA,CACA8gB,GAAA6lK,EACA3xL,KAAA,MAEAoL,KAAA+O,EAAA7U,IAAA,QACAylM,MAAA5wL,EAAA7U,IAAA,SACAysP,UAAA53O,EAAA7U,IAAA,aACA83N,SAAAjjN,EAAA7U,IAAA,aACOke,EAAAle,IAAA,mBAA+B,IAGtCylM,MAAA,SAAA/wL,EAAA23K,EAAAx3K,EAAAqJ,GACA,YAAAxJ,GAAA,QAAAA,EACA,OAAA3a,EAAA2L,MAAA,CACA8gB,GAAA6lK,EACAoZ,MAAA,0BACOvnL,EAAAle,IAAA,qBAAiC,IAGxC0lM,MAAA,SAAAhxL,EAAA23K,EAAAx3K,EAAAqJ,GACA,YAAAxJ,GAAA,QAAAA,EACA,OAAA3a,EAAA2L,MAAA,CACA8gB,GAAA6lK,EACAoZ,MAAA,IACOvnL,EAAAle,IAAA,qBAAiC,KAIxCkwX,EAAA,mCAEAx2V,EAAAgtF,QAAA,SAAA5xG,EAAAxV,EAAA5E,GACA,IAAAwjB,EAAA3jB,KAAA2jB,MACAd,EAAAc,EAAAle,IAAA,eAAAtF,GAEA,GAAAu1X,EAAAv1X,GAAA,CAIA,IAAAgkF,EAAA,CACAv+D,OAAA,IAGAgwW,EAAA,SAAAt7W,GACA,IAAAH,EAAAG,EAAA6J,QACA2tK,EAAAx3K,EAAA2R,GACA4pW,EAAAH,EAAAv1X,GAAAga,EAAA23K,EAAAx3K,EAAAqJ,GAEAkyW,IAEAr2X,EAAA8V,SAAAugX,EAAAv7W,EAAA6I,QACAghE,EAAAv+D,OAAAjT,KAAAkjX,IAIA,IAAA5wX,EAAAqV,EAAApV,iBAEA,GAAAD,GAAA,gBAAAA,EAAA9E,OAAA,SAAAA,GAAA,QAAAA,GAAA,CACA,IAAA63I,EAAA/yI,EAAA8gJ,eAAA,cAEA,GAAA/N,EAAA,CACA,IAAAxB,EAAAwB,EAAA18H,IACA27H,EAAAT,EAAA,OACA3xI,EAAA0V,EAAAwR,gBAAA,CACAC,SAAAirH,EACApzI,MAAAyW,EAAA7U,IAAA6I,KAAA,SACA2d,GAAA3R,EAAA7U,IAAA6I,KAAA,QACS,GACTguP,EAAAz3P,EAAAye,eACA6gE,EAAA8yD,GAAA9yD,EAAA8yD,IAAA,GAEA,QAAAlsI,EAAA,EAAuBA,GAAAuxP,EAAgBvxP,IACvCo5E,EAAA8yD,GAAAqlH,GAAAn4K,EAAA8yD,GAAAqlH,IAAA,GAGAn4K,EAAA8yD,GAAAqlH,GAAArkH,YAAA,QAAA93I,KAKAX,EAAA2nB,KAAAwuW,EAAA,SAAAG,GACAt2X,EAAA4rC,QAAA0qV,EAAA31X,IAAA,GACAX,EAAA2nB,KAAA2uW,EAAA,SAAAjxT,GACAlhD,EAAAyvR,cAAAvuO,EAAA,cAIAlhD,EAAAyvR,cAAAjzS,EAAA,YACAoa,EAAA8kG,cAAA,CACArzF,SAAA,SACAgqH,MAAA,MAAAnzH,EAAA,MACAA,gBAEG+yW,GACH7wX,EAAAqoG,eAAA,CACAjtG,KAAA,kBACA41X,YAAA51X,EACAgkF,gBAIAvlF,EAAA0tB,eAAA,CACAnsB,KAAA,kBACAgX,MAAA,mBACAoV,OAAA,oBACC,SAAAC,EAAAjS,GACDA,EAAAkK,YAAA+H,EAAA23D,aAEA0yI,EAAA7+D,SAAA,YAAAw9N,GACA,IAAA/yX,EAAA+yX,EACA9yX,EAAAC,QAAAF,wBC9LA,IAAAjD,EAAaX,EAAQ,QAErBgjB,EAAqBhjB,EAAQ,QAE7Bm3X,EAAuBn3X,EAAQ,QAE/BmnN,EAA2BnnN,EAAQ,QAoBnCo3X,EAAAp0W,EAAAnd,OAAA,CACAvE,KAAA,aACA8iB,WAAA,MAKAje,KAAA,KAKAE,iBAAA,KAKAkxI,iBAAA,WACA,OAAAp2I,QAGA8iB,EAAA,CACAwsB,KAAA,KACAG,IAAA,KACAF,MAAA,KACAC,OAAA,KACArvC,KAAA,QACAmG,SAAA,SACA47E,OAAA,aACA21D,SAAA,CACA37B,MAAA,EACAu9B,UAAA,CACAn3I,MAAA,EACAnC,KAAA,UAMAmmB,QAAA,CACA41F,MAAA,GAEA47B,SAAA,CACA57B,MAAA,EACA34G,OAAA,EACAk2I,UAAA,CACAn3I,MAAA,IAGAgzI,UAAA,CACAp5B,MAAA,EACAx/F,SAAA,QAEAg9H,UAAA,CACAx9B,MAAA,EACAu9B,UAAA,CACAt5I,KAAA,SACA2zD,QAAA,MAKA,SAAAyiF,EAAAo8G,EAAAxvO,GACA,OAAAA,EAAAhjB,OAAAgjB,EAAA5X,KAAA,oBAGA/L,EAAA2L,MAAA8qX,EAAAh2X,UAAA+lN,GACAgwK,EAAA,SAAAC,EAAA1/O,EAAAzzH,GACA,IAAArgB,EAAAwzX,EACAvzX,EAAAC,QAAAF,wBC/FA,IAAAg5N,EAAW58N,EAAQ,QAEnBmjB,EAAcnjB,EAAQ,QAEtBykF,EAAAthE,EAAAshE,cAEA7jE,EAAW5gB,EAAQ,QAqBnB,SAAAsrN,EAAA7vM,EAAAvV,EAAA6b,GACA,IAAAuC,EAAA7I,EAAA2jG,qBAEA,OADA96F,EAAAvC,SACA0iE,EAAAngE,EAAA,CACA7gB,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,cAIA,SAAA77D,EAAA8X,EAAAxV,GACA,IAAAmxX,EAAA,GA+CA,OA9CA37W,EAAA+kG,iBAAA,iBAAAhlG,GACA,IAAA+5J,EAAA/5J,EAAA7U,IAAA,oBAEA,IAAA4uK,GAAA,SAAAA,EAAA,CACA,IAAA9oK,EAAA+O,EAAAE,UACAkzC,EAAAniD,EAAAg+K,SAAA,SAAA5rK,GACA,IAAAuN,EAAA3f,EAAA4f,aAAAxN,GACA,QAAAuN,EAAAzlB,IAAA,MAAAylB,EAAAzlB,IAAA,QAEAyB,EAAA,GACAC,EAAA,GACAsY,EAAAY,WAAAqtC,EAAAxmD,EAAAC,GAEAA,EAAA,GAAAD,EAAA,SACAC,EAAA,MACAD,EAAA,OAGAC,EAAA,GAAAD,EAAA,SACAC,EAAA,MACAD,EAAA,OAGA,IAAA0Z,GAAAzZ,EAAA,GAAAD,EAAA,KAAAC,EAAA,GAAAD,EAAA,IAEAgjN,EAAAC,EAAA7vM,EAAAvV,EAAA6b,GAEAhH,MAAAgH,KACA1Z,EAAA,CAAAgjN,EAAAloN,EAAAkoN,EAAAjoN,GACAkF,EAAA,CAAA+iN,EAAAloN,EAAAkoN,EAAA5nN,MAAA4nN,EAAAjoN,EAAAioN,EAAA3nN,SAGA,IAAA4zX,EAAAhvX,EAAA,GAAAD,EAAA,GACAkvX,EAAAjvX,EAAA,GAAAD,EAAA,GACAyyN,EAAAzP,EAAA5nN,MACAs3N,EAAA1P,EAAA3nN,OACA8zX,EAAA/7W,EAAApV,iBAAA,IAAAu2N,EACA46J,EAAA1tG,UAAAruQ,EAAA7U,IAAA,cACA4wX,EAAAtJ,gBAAA7lX,EAAA,GAAAA,EAAA,GAAAivX,EAAAC,GACAC,EAAArJ,YAAA9iK,EAAAloN,EAAAkoN,EAAAjoN,EAAA03N,EAAAC,GAEAy8J,EAAAz3S,UAAAtkE,EAAA7U,IAAA,WACA4wX,EAAA3nN,QAAAp0J,EAAA7U,IAAA,SACAywX,EAAAvjX,KAAA0jX,MAGAH,EAGAxzX,EAAAC,QAAAF,sBC3GA,IAAA6zX,EAAA,CACA11X,WAAA,EACAE,cAAA,EACAC,cAAA,EACA8oP,eAAA,EACAC,kBAAA,EACAC,kBAAA,EACAE,kBAAA,EACAC,qBAAA,EACAC,qBAAA,GAGA,SAAA1nP,EAAApC,EAAA0kE,EAAA9gE,GACA,OAAAqyX,EAAAprX,eAAA65D,GACA9gE,EAAA5D,EAAAsL,IAGA1H,EAGAvB,EAAAC,QAAAF,0BCAA,IAAAjD,EAAaX,EAAQ,QAwBrBsoB,EAAA3nB,EAAA2nB,KACA6oK,EAAA,iBACAC,EAAA,oBAmBA,SAAAC,EAAA96K,GACA,IAAAm2K,EAAAn2K,EAAAm2K,SACAG,EAAAt2K,EAAAs2K,MAEAA,IACAA,EAAA,CACA1+G,KAAAu+G,GAEAn2K,EAAAu2K,UAAA,CACA3+G,KAAA,SAIA53D,EAAAs2K,MAAAt2K,EAAAm2K,SAAA,KACA4E,EAAA5E,EAAAG,EAAAt2K,GAEA+R,EAAAukK,EAAA,SAAAngL,GACA4b,EAAAokK,EAAA6E,qBAAA,SAAA3mK,GACAle,EAAAme,WAAAD,EAAAjqB,EAAAmqB,MAAA0mK,EAAAj7K,QAIAm2K,EAAA7hK,WAAA,eAAAlqB,EAAAmqB,MAAA2mK,EAAAl7K,IAGA+R,EAAAokK,EAAA/hK,kBAAA,SAAAC,GACA8hK,EAAA7hK,WAAAD,EAAAjqB,EAAAmqB,MAAA4mK,EAAAn7K,MAGA5V,EAAA4qD,OAAAshI,EAAAH,EAAArmK,YAAAqmK,GAGA,SAAA8E,EAAAj7K,EAAA28D,GACA,GAAAy+G,EAAAxwL,MAAA,CAEA,IAAA0rL,EAAAlsL,EAAAkF,OAAA,GAAgC1E,KAAAgwL,IAChCtE,EAAA1rL,KAAAklB,UAAA6sD,EACAo+G,EAAAp+G,EAAA25G,EAAAt2K,QAGAq7K,EAAA1+G,EAAA/xE,KAAAklB,SAAAllB,KAAAiwL,GAAA76K,GAGA,OAAA28D,EAGA,SAAAw+G,EAAAn7K,EAAA28D,GAEA,OADA38D,EAAAo2K,QAAAp2K,EAAAo2K,OAAAj/J,OAAAvsB,MACA+xE,EAGA,SAAAu+G,EAAAl7K,EAAA28D,GAQA,OAHA5qD,EAAA4qD,EAAAi+G,GAAA,SAAAzkL,EAAA2Z,GACA3Z,IAAAwmE,GAAA0+G,EAAAllL,EAAAyV,eAAAkE,EAAA6sD,EAAA38D,KAEA28D,EAWA,SAAA1sD,EAAAH,GACA,IAAAqmK,EAAAvrL,KAAAiwL,GACA,aAAA/qK,GAAA,MAAAqmK,MAAAyE,GAAA9qK,GAGA,SAAAsrK,EAAAjlL,GACA,OAAAA,EAAA0kL,KAAA1kL,EAGA,SAAA4kL,EAAA5E,EAAAG,EAAAt2K,GACAm2K,EAAAyE,GAAA,GACA7oK,EAAAukK,EAAA,SAAAngL,EAAA2Z,GACAurK,EAAAllL,EAAA2Z,EAAAqmK,EAAAn2K,KAIA,SAAAq7K,EAAAllL,EAAA2Z,EAAAqmK,EAAAn2K,GACAm2K,EAAAyE,GAAA9qK,GAAA3Z,EACAA,EAAA0kL,GAAA1E,EACAhgL,EAAA2Z,WAEA9P,EAAAo2K,SACAjgL,EAAA6J,EAAAq2K,YAAAr2K,EAAAo2K,OACAp2K,EAAAo2K,OAAAp2K,EAAAu2K,UAAAzmK,IAAA3Z,GAIAA,EAAA8Z,gBAGA,IAAA5iB,EAAAytL,EACAxtL,EAAAC,QAAAF,wBClJA,IAAAjD,EAAaX,EAAQ,QAErB8pO,EAAa9pO,EAAQ,QAErB+4P,EAAiB/4P,EAAQ,QAEzB03X,EAAe13X,EAAQ,QAEvBqF,EAAcrF,EAAQ,QAEtBgjF,EAAchjF,EAAQ,QAEtBqb,EAAA2nE,EAAA3nE,MAwBAs8W,EAAA,0BAEA,SAAAC,EAAAC,GACA,UAAAA,EAAA,OAOA,SAAAj6M,EAAAnuK,EAAAizK,EAAA5jK,GACA,IAAAmJ,EAAAy6J,EAAA/5J,cAAA7J,EAAA,SACA2M,EAAAi3J,EAAA/5J,cAAA7J,EAAArP,GACAgP,EAAAikK,EAAA/5J,cAAA7J,EAAArP,EAAA,QAEA,GAAAgc,GAAA,SAAAA,EAAA,CAIA9qB,EAAAwJ,QAAAsU,KACAA,EAAA,CAAAA,MAGA,IAAA+4O,EAAAuB,EAAAn7E,aAAAnyJ,GAAAhN,EAAA,MAAAA,EAAA,KAAAA,EAAA,GAAAA,EAAA,GAAAwJ,GAEA,OADAuvO,EAAA/nP,OACA+nP,GAGA,SAAAsgI,EAAAjvT,GACA,IAAAlgE,EAAA,IAAA+uX,EAAA,CACAjoX,KAAA,SAGA,OADAsoX,EAAApvX,EAAAI,MAAA8/D,GACAlgE,EAGA,SAAAovX,EAAAnvX,EAAAigE,GACA,IAAAprD,EAAAorD,EAAA,GACAnrD,EAAAmrD,EAAA,GACAi1I,EAAAj1I,EAAA,GACAjgE,EAAAmoD,GAAAtzC,EAAA,GACA7U,EAAAooD,GAAAvzC,EAAA,GACA7U,EAAA+3B,GAAAjjB,EAAA,GACA9U,EAAAg4B,GAAAljB,EAAA,GACA9U,EAAA0wG,QAAA,EAEAwkG,GACAl1M,EAAAomM,KAAA8O,EAAA,GACAl1M,EAAAqmM,KAAA6O,EAAA,KAEAl1M,EAAAomM,KAAAh0L,IACApS,EAAAqmM,KAAAj0L,KAIA,SAAAg9W,IACA,IAAAC,EAAA92X,KACA+2X,EAAAD,EAAAjkJ,YAAA,cACAmkJ,EAAAF,EAAAjkJ,YAAA,YACA/tN,EAAAgyW,EAAAjkJ,YAAA,SAEA,GAAAkkJ,GAAAC,IAAAlyW,EAAAwmB,OAAA,CAIA,IAAA2rV,EAAA,EACAnjK,EAAA9zN,KAAA2xE,OAEA,MAAAmiJ,EACAA,EAAA/7M,QACAk/W,GAAAnjK,EAAA/7M,MAAA,IAGA+7M,IAAAniJ,OAGA,IAAAnqE,EAAAsvX,EAAAjkJ,YAAA,QAGA,GAAA7yO,KAAAQ,SAAAgH,EAAAhH,QAAA,CAIA,IAAA23G,EAAA3wG,EAAAI,MAAAuwG,QACAm0G,EAAA9kN,EAAAwmM,QAAA,GACAkpL,EAAA1vX,EAAAwmM,QAAA71F,GACA37F,EAAAmsN,EAAAvqN,IAAA,GAAA84W,EAAA5qK,GAGA,GAFAqc,EAAAtqN,UAAA7B,KAEAu6W,EAAA,CACAA,EAAAhzS,KAAA,WAAAuoI,GACA,IAAAx/J,EAAAtlD,EAAAymM,UAAA,GACA8oL,EAAAhzS,KAAA,WAAAr9E,KAAAC,GAAA,EAAAD,KAAA44B,MAAAwtB,EAAA,GAAAA,EAAA,KACAiqU,EAAAhzS,KAAA,SAAAkzS,EAAA9+Q,EAAA8+Q,EAAA9+Q,IAGA,GAAA6+Q,EAAA,CACAA,EAAAjzS,KAAA,WAAAmzS,GACApqU,EAAAtlD,EAAAymM,UAAA,GACA+oL,EAAAjzS,KAAA,YAAAr9E,KAAAC,GAAA,EAAAD,KAAA44B,MAAAwtB,EAAA,GAAAA,EAAA,KACAkqU,EAAAjzS,KAAA,SAAAkzS,EAAA9+Q,EAAA8+Q,EAAA9+Q,IAGA,IAAArzF,EAAAwmB,OAAA,CAEA,IAAA/7B,EACA5N,EACAC,EAHAkjB,EAAAi/D,KAAA,WAAAmzS,GAIA,IAAA1nX,EAAA,EAAAynX,EAEA,WAAAnyW,EAAAqyW,WACA5nX,EAAA,CAAAiN,EAAA,GAAAhN,EAAA0nX,EAAA,GAAA16W,EAAA,GAAAhN,EAAA0nX,EAAA,IACAv1X,EAAA6a,EAAA,aAAAA,EAAA,wBACA5a,EAAA4a,EAAA,YAAAA,EAAA,8BAEA,cAAAsI,EAAAqyW,WAAA,CACA,IAAAC,EAAAj/Q,EAAA,EAEAtqF,GADAi/B,EAAAtlD,EAAAymM,UAAAmpL,GACA,CAAAtqU,EAAA,IAAAA,EAAA,KACAjtC,EAAArY,EAAAwmM,QAAAopL,GAEAvpW,EAAA,OACAA,EAAA,IAAAA,EAAA,GACAA,EAAA,IAAAA,EAAA,IAGAte,EAAA,CAAAsQ,EAAA,GAAAgO,EAAA,GAAAre,EAAAqQ,EAAA,GAAAgO,EAAA,GAAAre,GACA7N,EAAA,SACAC,EAAA,SACA,IAAA4E,GAAAE,KAAA44B,MAAAwtB,EAAA,GAAAA,EAAA,IAEAoqU,EAAA,GAAA5qK,EAAA,KACA9lN,EAAAE,KAAAC,GAAAH,GAGAse,EAAAi/D,KAAA,WAAAv9E,QAGA+I,EAAA,EAAAiN,EAAA,GAAAhN,EAAA88M,EAAA,IAAA9vM,EAAA,GAAAhN,EAAA88M,EAAA,IACA3qN,EAAA6a,EAAA,cAAAA,EAAA,uBACA5a,EAAA4a,EAAA,eAAAA,EAAA,sBAGAsI,EAAAi/D,KAAA,CACAxjF,MAAA,CAEAqB,kBAAAkjB,EAAAuyW,iBAAAz1X,EACAD,UAAAmjB,EAAAwyW,aAAA31X,GAEA2E,SAAAiJ,EACAwI,MAAA,CAAAk/W,UAWA,SAAAxpL,EAAAlsB,EAAA5jK,EAAA0wN,GACAnqO,EAAA80M,MAAAj5M,KAAAC,MAEAA,KAAAu3X,YAAAh2M,EAAA5jK,EAAA0wN,GAGA,IAAAmpJ,EAAA/pL,EAAAxtM,UAEAu3X,EAAAv8L,aAAA47L,EAEAW,EAAAD,YAAA,SAAAh2M,EAAA5jK,EAAA0wN,GACA,IAAA/zN,EAAAinK,EAAAp4E,UACAvrF,EAAA2jK,EAAA9L,cAAA93J,GACAnW,EAAAmvX,EAAA/4W,GACApW,EAAAI,MAAAuwG,QAAA,EACAj0G,EAAAiuM,UAAA3qM,EAAA,CACAI,MAAA,CACAuwG,QAAA,IAEG79F,EAAAqD,GACH3d,KAAAu9B,IAAA/1B,GACA,IAAAsd,EAAA,IAAA5gB,EAAArE,KAAA,CACAyO,KAAA,QAIAmpX,yBAAA,IAEAz3X,KAAAu9B,IAAAzY,GACAtlB,EAAA2nB,KAAAqvW,EAAA,SAAAE,GACA,IAAAjsW,EAAAgyJ,EAAAi6M,EAAAn1M,EAAA5jK,GAIA3d,KAAAu9B,IAAA9S,GACAzqB,KAAAy2X,EAAAC,IAAAn1M,EAAA/5J,cAAA7J,EAAA+4W,IACG12X,MAEHA,KAAA03X,iBAAAn2M,EAAA5jK,EAAA0wN,IAGAmpJ,EAAA/2R,WAAA,SAAA8gF,EAAA5jK,EAAA0wN,GACA,IAAA/zN,EAAAinK,EAAAp4E,UACA3hG,EAAAxH,KAAA6yO,YAAA,QACAj1N,EAAA2jK,EAAA9L,cAAA93J,GACAtH,EAAA,CACAzO,MAAA,IAEAgvX,EAAAvgX,EAAAzO,MAAAgW,GACA1Z,EAAAkuM,YAAA5qM,EAAA6O,EAAAiE,EAAAqD,GACAne,EAAA2nB,KAAAqvW,EAAA,SAAAE,GACA,IAAApsW,EAAAi3J,EAAA/5J,cAAA7J,EAAA+4W,GACAzrX,EAAAwrX,EAAAC,GAEA,GAAA12X,KAAAiL,KAAAqf,EAAA,CACAtqB,KAAAwM,OAAAxM,KAAA6yO,YAAA6jJ,IACA,IAAAjsW,EAAAgyJ,EAAAi6M,EAAAn1M,EAAA5jK,GACA3d,KAAAu9B,IAAA9S,GAGAzqB,KAAAiL,GAAAqf,GACGtqB,MAEHA,KAAA03X,iBAAAn2M,EAAA5jK,EAAA0wN,IAGAmpJ,EAAAE,iBAAA,SAAAn2M,EAAA5jK,EAAA0wN,GACA,IAAA/zN,EAAAinK,EAAAp4E,UACA3hG,EAAAxH,KAAA6yO,YAAA,QACAp5F,EAAA40F,KAAA50F,UACA6oO,EAAAj0I,KAAAi0I,eACA54Q,EAAA2kI,KAAA3kI,WACA2jH,EAAAghB,KAAAhhB,gBAEA,IAAAghB,GAAA9sD,EAAAz2J,cAAA,CACA,IAAAI,EAAAq2J,EAAAp2J,aAAAxN,GACA87H,EAAAvuH,EAAAyP,SAAA,aAAA8/K,eACA6nK,EAAAp3V,EAAAyP,SAAA,sBAAA8/K,eACA/wG,EAAAx+E,EAAAyP,SAAA,SACA0yL,EAAAniM,EAAAyP,SAAA,kBAGA,IAAAioE,EAAA2+E,EAAA/5J,cAAA7J,EAAA,SACAg6W,EAAAn4X,EAAAsO,UAAAyzK,EAAA/5J,cAAA7J,EAAA,WAAA87H,EAAA3lF,QAAA,GACAtsD,EAAAyqM,SAAAzyM,EAAA8V,SAAA,CACA4mM,eAAA,EACAx7M,KAAA,OACAC,OAAAiiG,EACA9uC,QAAA6jU,GACGl+O,IACHjyI,EAAAoyM,WAAA0oK,EAEA9iX,EAAA2nB,KAAAqvW,EAAA,SAAAE,GACA,IAAAjsW,EAAAzqB,KAAA6yO,YAAA6jJ,GAEAjsW,IACAA,EAAAosJ,SAAAj0E,GACAn4E,EAAA+8F,SAAA,CACA1zD,QAAA6jU,MAGG33X,MACH,IAGA43X,EACAlxB,EAJAgF,EAAAhiQ,EAAAvhF,WAAA,QACAwjV,EAAAt+I,EAAAllM,WAAA,QACArD,EAAA9kB,KAAA6yO,YAAA,SAIA,IAAA64H,GAAAC,KACAisB,EAAAh1R,GAAA,OACA8jQ,EAAApsV,EAAAs1D,kBAAAjyD,EAAA,SAAA4jK,EAAAr8J,UAEA,MAAAwhV,GAAA,CACA,IAAAmxB,EAAAv9W,EAAAgN,YAAA3J,GACA+oV,EAAA,MAAAmxB,EAAAt2M,EAAA35J,QAAAjK,GAAA5D,SAAA89W,GAAA39W,EAAA29W,KAIA,IAAAh4F,EAAA6rE,EAAAhF,EAAA,KACA5mE,EAAA6rE,EAAAnsW,EAAAqO,UAAAyM,EAAAs1D,kBAAAjyD,EAAA,WAAA4jK,EAAAr8J,UAAAwhV,GAAA,KACAoxB,EAAAhzW,EAAAvkB,MAGA,MAAAs/R,GAAA,MAAAC,IACA57R,EAAA2lG,aAAA/kF,EAAAvkB,MAAAmpG,EAAA,CACA1oG,KAAA6+R,GACK,CACL9rF,UAAA6jL,IAEA9yW,EAAAwyW,YAAAQ,EAAAn2X,UACAmjB,EAAAuyW,gBAAAS,EAAAl2X,kBAEAkjB,EAAAqyW,WAAAztR,EAAAjkG,IAAA,uBAKAqf,EAAA80L,WAFA,MAAAkmF,EAEA,CACA9+R,KAAA8+R,EACAh2L,SAAAujH,EAAAxO,cAAA,GAGAjrM,UAAAy5M,EAAAllM,WAAA,aACAtU,WAAAw5M,EAAAllM,WAAA,cACAzU,SAAA25M,EAAAllM,WAAA,YACAxU,WAAA05M,EAAAllM,WAAA,eAGA,CACAnnB,KAAA,MAIA8jB,EAAAwmB,QAAAogU,IAAAC,EACAznW,EAAA41M,cAAA95M,OAGAw3X,EAAAh0R,UAAA,WACAxjG,KAAAoX,QAAA,aAGAogX,EAAAj0R,SAAA,WACAvjG,KAAAoX,QAAA,WAGAogX,EAAAlqR,aAAA,SAAAi0E,EAAA5jK,GACA3d,KAAA42X,cAAAr1M,EAAA9L,cAAA93J,KAGA65W,EAAAZ,cAAA,SAAAlvT,GACA,IAAAqwT,EAAA/3X,KAAA6yO,YAAA,QACA+jJ,EAAAmB,EAAAnwX,MAAA8/D,GACAqwT,EAAApzW,SAGAnlB,EAAAgD,SAAAirM,EAAAvpM,EAAA80M,OACA,IAAAv2M,EAAAgrM,EACA/qM,EAAAC,QAAAF,0BCtXA,IAAAkL,EAAY9O,EAAQ,QAEpBg+B,EAAAlvB,EAAAkvB,SACAvnB,EAAA3H,EAAA2H,SACA5Q,EAAAiJ,EAAAjJ,OACAyiB,EAAAxZ,EAAAwZ,KAEAwoD,EAAiB9wE,EAAQ,QAEzBqF,EAAcrF,EAAQ,QAEtB6jJ,EAAY7jJ,EAAQ,QAEpBgjF,EAAchjF,EAAQ,QAEtBo7G,EAAAp4B,EAAAo4B,mBACAF,EAAAl4B,EAAAk4B,UAEAssG,EAAcxnN,EAAQ,QAEtB49K,EAAA4pC,EAAA5pC,aAEAu7M,EAAiBn5X,EAAQ,QAEzB+iO,EAAc/iO,EAAQ,QAEtBg3G,EAAA+rH,EAAAvoN,eAEAu/M,EAAkB/5N,EAAQ,QAE1Bi9P,EAAAljC,EAAAkjC,oBAoBAn1P,EAAAD,KAAAC,GAEA,SAAAsxX,EAAApzX,GACA,IAAAioH,EAAA,CACAvG,cAAA1hH,EAAAmnB,SACA1I,eAAAze,EAAAye,gBAGA,OADAwpG,EAAAjoH,EAAAmnB,SAAA,SAAAnnB,EAAAye,eACAwpG,EA0CA,IAAAqoG,EAAA,SAAAtwN,EAAAuQ,GAIApV,KAAAoV,MAKApV,KAAA6E,YAEAyQ,EAAAF,EAAA,CACAk1N,YAAA,EACA3T,cAAA,EACAD,cAAA,EACAjwN,eAAA,EACA4gH,QAAA,IAMArnH,KAAAylE,MAAA,IAAAvhE,EAAA80M,MAEA,IAAAk/K,EAAA,IAAAh0X,EAAA80M,MAAA,CACA1yM,SAAA8O,EAAA9O,SAAA44B,QACA14B,SAAA4O,EAAA5O,WAIA0xX,EAAA51Q,kBACAtiH,KAAAsxO,WAAA4mJ,EAAArxX,UACA7G,KAAAm4X,WAAAD,GAGA/iK,EAAAl1N,UAAA,CACAC,YAAAi1N,EACAijK,WAAA,SAAA9pX,GACA,QAAA+pX,EAAA/pX,IAEAivB,IAAA,SAAAjvB,GACA+pX,EAAA/pX,GAAAvO,KAAAC,OAEA+1N,SAAA,WACA,OAAA/1N,KAAAylE,QAGA,IAAA4yT,EAAA,CAIAxgP,SAAA,WACA,IAAAziI,EAAApV,KAAAoV,IACAvQ,EAAA7E,KAAA6E,UAEA,GAAAA,EAAAY,IAAA,kBAIA,IAAAsV,EAAA/a,KAAA6E,UAAAG,KAAAgW,YACA41C,EAAA5wD,KAAAsxO,WACAgnJ,EAAA,CAAAv9W,EAAA,MACAw9W,EAAA,CAAAx9W,EAAA,MAEA61C,IACAilD,EAAAyiR,IAAA1nU,GACAilD,EAAA0iR,IAAA3nU,IAGA,IAAA6oF,EAAA/0I,EAAA,CACAkoN,QAAA,SACK/nN,EAAA81B,SAAA,sBAAA8/K,gBACLz6M,KAAAylE,MAAAloC,IAAA,IAAAr5B,EAAAupM,KAAAvpM,EAAAyD,qBAAA,CAEA+gW,KAAA,OACA9gW,MAAA,CACAgoD,GAAA0oU,EAAA,GACAzoU,GAAAyoU,EAAA,GACA94V,GAAA+4V,EAAA,GACA94V,GAAA84V,EAAA,IAEAh4X,MAAAk5I,EACA25I,uBAAAh+Q,EAAAg+Q,wBAAA,EACA/rK,QAAA,EACA3nF,GAAA,MAEA,IAAA84V,EAAA3zX,EAAAY,IAAA,mBACAgzX,EAAA5zX,EAAAY,IAAA,uBACAizX,EAAA7zX,EAAAY,IAAA,4BAMA,GAJA,kBAAAizX,IACAA,EAAA,CAAAA,MAGA,MAAAF,EAAA,CACA,kBAAAA,IAEAA,EAAA,CAAAA,MAGA,kBAAAC,GAAA,kBAAAA,IAEAA,EAAA,CAAAA,MAGA,IAAAE,EAAAF,EAAA,GACAG,EAAAH,EAAA,GACAtxW,EAAA,EACAmpB,OAAAl7B,EAAA5O,SAAAE,KAAAC,GAAA,EACAo/C,OAAA2yU,EAAA,GACA95W,EAAA,GACO,CACP0xB,OAAAl7B,EAAA5O,SAAAE,KAAAC,GAAA,EACAo/C,OAAA2yU,EAAA,GACA95W,EAAAlY,KAAAk+C,MAAA0zU,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,OACO,SAAA1uT,EAAAhmE,GACP,YAAA20X,EAAA30X,IAAA,MAAA20X,EAAA30X,GAAA,CACA,IAAA4mB,EAAAgyJ,EAAA+7M,EAAA30X,IAAA80X,EAAA,GAAAC,EAAA,EAAAD,EAAAC,EAAAn/O,EAAA94I,QAAA,GAEAie,EAAAirD,EAAAjrD,EAAAirD,EAAA9jB,OACA+6C,EAAA,CAAAw3R,EAAA,GAAA15W,EAAAlY,KAAAwY,IAAA9J,EAAA5O,UAAA8xX,EAAA,GAAA15W,EAAAlY,KAAA0Y,IAAAhK,EAAA5O,WACAikB,EAAAs5D,KAAA,CACAv9E,SAAAqjE,EAAAv5B,OACAhqC,SAAAw6F,EACAumB,QAAA,EACA3nF,GAAA,KAEA1/B,KAAAylE,MAAAloC,IAAA9S,KAEOzqB,SAOP64X,cAAA,WACA,IAAAh0X,EAAA7E,KAAA6E,UACAuQ,EAAApV,KAAAoV,IACA0jX,EAAAC,EAAA/4X,KAAA6E,EAAAuQ,GACA4jX,EAAAC,EAAAj5X,KAAA6E,EAAAuQ,GACA8jX,EAAAr0X,EAAAm0X,EAAAF,IAMAnmI,SAAA,WACA,IAAAv9O,EAAApV,KAAAoV,IACAvQ,EAAA7E,KAAA6E,UACAyJ,EAAAuuB,EAAAznB,EAAAu9O,SAAA9tP,EAAAY,IAAA,SAEA,GAAA6I,EAAA,CAIA,IASA0rM,EAOAw8F,EAhBA/+J,EAAA5yI,EAAAY,IAAA,gBACAkxN,EAAAvhN,EAAAuhN,cACAhtH,EAAA9kG,EAAA81B,SAAA,iBACAwnD,EAAAt9E,EAAAY,IAAA,cACAsV,EAAA/a,KAAA6E,UAAAG,KAAAgW,YACAm+W,EAAAp+W,EAAA,GAAAA,EAAA,QACA+lF,EAAA,WAAA22C,EAAA18H,EAAA,GAAAo+W,EAAAh3S,EAAA,QAAAs1D,EAAA18H,EAAA,GAAAo+W,EAAAh3S,GAAApnE,EAAA,GAAAA,EAAA,MAEAq+W,EAAA3hP,GAAAriI,EAAAk1N,YAAA3T,EAAAx0I,EAAA,GAEAk3S,EAAAx0X,EAAAY,IAAA,cAEA,MAAA4zX,IACAA,IAAA1yX,EAAA,KAKAyyX,EAAA3hP,GACAuiE,EAAA67G,EAAAzgT,EAAA5O,SAAA,MAAA6yX,IAAAjkX,EAAA5O,SACAmwN,IAEA3c,EAAAs/K,EAAAlkX,EAAAqiI,EAAA4hP,GAAA,EAAAt+W,GACAy7R,EAAAphS,EAAAohS,uBAEA,MAAAA,IACAA,EAAA9vS,KAAAiR,IAAA6+R,EAAA9vS,KAAA0Y,IAAA46L,EAAAxzM,YACAuT,SAAAy8R,OAAA,QAIA,IAAA1iS,EAAA61F,EAAAuqG,UACAqlL,EAAA10X,EAAAY,IAAA,uBACAmK,EAAA2pX,EAAA3pX,SACAwyE,EAAAvlD,EAAAznB,EAAAuhS,qBAAA4iF,EAAAn3S,SAAAo0N,GAGAgjF,EAAA,MAAA5pX,GAAA,MAAAwyE,EAAAzS,EAAAjgE,aAAApB,EAAA8zE,EAAAtuE,EAAAlE,EAAA,CACAM,QAAA,EACAG,YAAAkpX,EAAAlpX,cACK/B,EACLmrX,EAAA50X,EAAAY,IAAA,cACAumB,EAAAnnB,EAAAmnB,SACA68L,EAAA,CACAtiG,cAAAv6F,EACA1d,OACAq5I,MAAA,UAEAkhE,EAAA78L,EAAA,SAAAnnB,EAAAye,eACA,IAAAsmF,EAAA,IAAA1lG,EAAArE,KAAA,CAEA6oW,KAAA,OACAgxB,WAAAprX,EACAqrX,gBAAAH,EACAlzX,SAAAw6F,EACAt6F,SAAAwzM,EAAAxzM,SACA6gH,OAAAowP,EAAA5yW,GACA66B,GAAA,EACApZ,QAAAmzW,KAAAv9Q,KAAAx3G,EAAA,CACAsiB,QAAA1Y,EACAuhE,UAAA,WACA,OAAAvhE,GAEAu6M,mBACO4wK,GAAA,OAEPv1X,EAAA2lG,aAAAD,EAAArpG,MAAAopG,EAAA,CACA3oG,KAAAw4X,EACA1lX,WACAg2F,SAAAH,EAAAk1G,gBAAAh6M,EAAAY,IAAA,4BACA9D,UAAAq4M,EAAAr4M,UACAC,kBAAAo4M,EAAAp4M,oBAGAiD,EAAAY,IAAA,kBACAmkG,EAAAkjB,UAAAmrQ,EAAApzX,GACA+kG,EAAAkjB,UAAA8sQ,WAAA,WACAhwR,EAAAkjB,UAAAx+G,QAIAtO,KAAAm4X,WAAA56V,IAAAqsE,GAEAA,EAAA0Y,kBACAtiH,KAAAylE,MAAAloC,IAAAqsE,GACAA,EAAA0yH,wBAiBAu5F,EAAA1gG,EAAA0gG,gBAAA,SAAAgkE,EAAAzvI,EAAA71J,GACA,IACA5yF,EACAC,EAFAk4X,EAAA//Q,EAAAqwI,EAAAyvI,GAsBA,OAlBA5/Q,EAAA6/Q,IAEAl4X,EAAA2yF,EAAA,iBACA5yF,EAAA,UACGs4G,EAAA6/Q,EAAAnzX,IAEH/E,EAAA2yF,EAAA,iBACA5yF,EAAA,WAEAC,EAAA,SAGAD,EADAm4X,EAAA,GAAAA,EAAAnzX,EACA4tF,EAAA,iBAEAA,EAAA,kBAIA,CACA/tF,SAAAszX,EACAn4X,YACAC,sBAIA,SAAA03X,EAAAlkX,EAAA7F,EAAAwqX,EAAAh/W,GACA,IACApZ,EACAC,EAFAk4X,EAAA//Q,EAAAggR,EAAA3kX,EAAA5O,UAGAq+C,EAAA9pC,EAAA,GAAAA,EAAA,GACAi/W,EAAA,UAAAzqX,IAAAs1C,GAAA,UAAAt1C,GAAAs1C,EAkBA,OAhBAo1D,EAAA6/Q,EAAAnzX,EAAA,IACA/E,EAAAo4X,EAAA,eACAr4X,EAAA,UACGs4G,EAAA6/Q,EAAA,IAAAnzX,IACH/E,EAAAo4X,EAAA,eACAr4X,EAAA,WAEAC,EAAA,SAGAD,EADAm4X,EAAA,IAAAnzX,GAAAmzX,EAAAnzX,EAAA,EACAqzX,EAAA,eAEAA,EAAA,gBAIA,CACAxzX,SAAAszX,EACAn4X,YACAC,qBAIA,SAAA61W,EAAA5yW,GACA,IAAA40X,EAAA50X,EAAAY,IAAA,WACA,OAAAZ,EAAAY,IAAA,aACAZ,EAAAY,IAAA,iBAAAg0X,KAAAv9Q,MAGA,SAAAg9Q,EAAAr0X,EAAAm0X,EAAAF,GACA,IAAAh9H,EAAAj3P,EAAAG,MAAA,CAOA,IAAAi1X,EAAAp1X,EAAAY,IAAA,0BACAy0X,EAAAr1X,EAAAY,IAAA,0BAGAuzX,KAAA,GACAF,KAAA,GACA,IAAAqB,EAAAnB,EAAA,GACAoB,EAAApB,EAAA,GACAqB,EAAArB,IAAAz1X,OAAA,GACA+2X,EAAAtB,IAAAz1X,OAAA,GACAg3X,EAAAzB,EAAA,GACAz2F,EAAAy2F,EAAA,GACA0B,EAAA1B,IAAAv1X,OAAA,GACAk3X,EAAA3B,IAAAv1X,OAAA,IAEA,IAAA02X,GACAS,EAAAP,GACAO,EAAAH,IACGI,EAAAR,EAAAC,KACHH,GACAS,EAAAN,GACAM,EAAAr4F,KAEAq4F,EAAAP,GACAO,EAAAH,MAIA,IAAAL,GACAQ,EAAAL,GACAK,EAAAF,IACGG,EAAAL,EAAAD,KACHH,GACAQ,EAAAJ,GACAI,EAAAD,KAEAC,EAAAL,GACAK,EAAAF,MAKA,SAAAE,EAAA3pV,GACAA,MAAAzF,QAAA,GAGA,SAAAqvV,EAAAzoT,EAAAnuE,EAAAi2M,GAEA,IAAA4gL,EAAA1oT,KAAA3wE,kBAAAgU,QACAslX,EAAA92X,KAAAxC,kBAAAgU,QAEA,GAAAqlX,GAAAC,EAAA,CAMA,IAAAC,EAAA9C,EAAApoV,SAAA,IAIA,OAHAooV,EAAA1nV,OAAAwqV,KAAA5oT,EAAA1rE,UACAo0X,EAAAvhX,eAAA2+W,EAAAh6V,IAAA,GAAA88V,EAAA5oT,EAAA2R,sBACAg3S,EAAAxhX,eAAA2+W,EAAAh6V,IAAA,GAAA88V,EAAA/2X,EAAA8/E,sBACA+2S,EAAAvkR,UAAAwkR,IAGA,SAAAzB,EAAA3hP,GACA,iBAAAA,GAAA,WAAAA,EAGA,SAAAshP,EAAAjjK,EAAAjxN,EAAAuQ,GACA,IAAApQ,EAAAH,EAAAG,KAEA,GAAAH,EAAAY,IAAA,mBAAAT,EAAA+S,MAAAsoI,UAAA,CAaA,IATA,IAAAK,EAAA77I,EAAA81B,SAAA,YACAyjH,EAAAsC,EAAA/lH,SAAA,aACA21R,EAAA5vK,EAAAj7I,IAAA,UACA+6I,EAAAx7I,EAAAy7I,iBACA63O,EAAA,GACAC,EAAA,GACA3nU,EAAAklK,EAAAwb,WACAwnJ,EAAA,GAEA/tX,EAAA,EAAiBA,EAAAy1I,EAAAj9I,OAAwBwH,IAAA,CACzC,IAAA41I,EAAAH,EAAAz1I,GAAAwV,MACA+3W,EAAA,GAAA33O,EACA23O,EAAA,KACAC,EAAA,GAAA53O,EACA43O,EAAA,GAAAnjX,EAAAshN,cAAA45F,EAEA1/P,IACAilD,EAAAyiR,IAAA1nU,GACAilD,EAAA0iR,IAAA3nU,IAIA,IAAAmqU,EAAA,IAAA72X,EAAAupM,KAAAvpM,EAAAyD,qBAAA,CAEA+gW,KAAA,QAAAloN,EAAAz1I,GAAAu3I,UACA16I,MAAA,CACAgoD,GAAA0oU,EAAA,GACAzoU,GAAAyoU,EAAA,GACA94V,GAAA+4V,EAAA,GACA94V,GAAA84V,EAAA,IAEAh4X,MAAA+U,EAAA8oI,EAAAq8D,eAAA,CACA95M,OAAAkE,EAAAY,IAAA,8BAEAi6B,GAAA,EACA2nF,QAAA,KAEAyuG,EAAArwJ,MAAAloC,IAAAw9V,GACAjC,EAAAnmX,KAAAooX,GAGA,OAAAjC,GAGA,SAAAG,EAAAnjK,EAAAjxN,EAAAuQ,GACA,IAAApQ,EAAAH,EAAAG,KACAk3G,EAAAr/E,EAAAznB,EAAAqhS,cAAA5xS,EAAAY,IAAA,mBAEA,GAAAy2G,IAAAl3G,EAAA+S,MAAAsoI,UAAA,CAIA,IAAA32C,EAAA7kG,EAAA81B,SAAA,aACAt0B,EAAAqjG,EAAAjkG,IAAA,UACA28I,EAAAp9I,EAAAq9I,gBAEA6oE,GAAAruL,EAAAznB,EAAAwhN,YAAAltH,EAAAjkG,IAAA,eAAAkB,EAAA,IACAqzM,EAAA67G,EAAAzgT,EAAA5O,SAAA0kN,EAAA91M,EAAA3O,gBACAu0X,EAAAn2X,EAAA0yI,eAAA,GACAyhP,EAAA,GACA3xQ,EAAAowP,EAAA5yW,GACAmoO,EAAAnoO,EAAAY,IAAA,gBAkDA,OAjDA0hB,EAAAi7H,EAAA,SAAA+qE,EAAAtpN,GACA,IAAAy+I,EAAA6qE,EAAA7qE,UACAC,EAAA4qE,EAAA5qE,eACAC,EAAA2qE,EAAA3qE,SACAy4O,EAAAvxR,EAEAsxR,KAAA14O,IAAA04O,EAAA14O,GAAA7lC,YACAw+Q,EAAA,IAAAv4O,EAAAs4O,EAAA14O,GAAA7lC,UAAA/S,EAAA7kG,EAAA0V,UAGA,IAAAooI,EAAAs4O,EAAAp8K,gBAAAh6M,EAAAY,IAAA,4BACAk7I,EAAA37I,EAAAo8G,YAAAkhC,GACAxhD,EAAA,CAAA6/C,EAAAvrI,EAAAk1N,YAAAl1N,EAAA3O,eAAAJ,GACAujG,EAAA,IAAA1lG,EAAArE,KAAA,CAEA6oW,KAAA,SAAApmN,EACAh8I,SAAAw6F,EACAt6F,SAAAwzM,EAAAxzM,SACA6gH,SACA3nF,GAAA,KAEAx7B,EAAA2lG,aAAAD,EAAArpG,MAAA06X,EAAA,CACAj6X,KAAAuhJ,EACA5gJ,UAAAs5X,EAAA9yW,WAAA,aAAA6xL,EAAAr4M,UACAC,kBAAAq5X,EAAA9yW,WAAA,qBAAA8yW,EAAA9yW,WAAA,gBAAA6xL,EAAAp4M,kBACAkoG,SAAA,oBAAA64C,IAOA,aAAA39I,EAAA7E,KAAAqiJ,EAAA,UAAAx9I,EAAA7E,KAAAmiJ,EAAA,GAAAA,EAAAz+I,GAAA8+I,IAGAqqF,IACApjI,EAAAkjB,UAAAmrQ,EAAApzX,GACA+kG,EAAAkjB,UAAA8sQ,WAAA,YACAhwR,EAAAkjB,UAAA7oH,MAAAu+I,GAIAszE,EAAAqiK,WAAA56V,IAAAqsE,GAEAA,EAAA0Y,kBACA02Q,EAAArmX,KAAAi3F,GACAksH,EAAArwJ,MAAAloC,IAAAqsE,GACAA,EAAA0yH,uBAEA08J,GAGA,IAAAv2X,EAAA0yN,EACAzyN,EAAAC,QAAAF,wBC9mBA,IAAAjD,EAAaX,EAAQ,QAErB+jB,EAAkB/jB,EAAQ,QAE1Bq8X,EAAwBr8X,EAAQ,QAEhC4sS,EAAAyvF,EAAAzvF,iBAoBA0vF,EAAAv4W,EAAAle,OAAA,CACAvE,KAAA,qBACA4lH,aAAA,yBAKAsmL,uBAAA,EACA/9R,KAAA,OACAkuO,gBAAA,GACG,CACHluO,KAAA,QACAkuO,gBAAA,GACG,CACHluO,KAAA,SACAkuO,gBAAA,GACG,CACHluO,KAAA,UACAkuO,gBAAA,IAOA/jK,WAAA,KAKA31D,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EACAj4B,iBAAA,cACAykL,iBAAA,EACAwkD,gBAAA,EAGAloO,OAAA,KAEAqlG,UAAA,CACAxkF,MAAA,UAEAklS,OAAA,UAEApvM,YAAA,EAGA/Z,YAAA,UACAopN,aAAA,WAEApvM,SAAA,CACAvR,UAAA,CACAsR,YAAA,IAGAy8L,YAAA,KACA0yE,YAAA,KACAv3M,SAAA,KACA4S,OAAA,EACAq0K,eAAA,IACAhgL,YAAA,IACAC,qBAAA,IACAglM,qBAAA,MACA0a,iBAAA,EACAl2K,gBAAA,SACAmgE,kBAAA,KAOA2R,aAAA,WACA,cAEAroC,cAAA,SAAAlpO,EAAAla,EAAAi7Q,GACA,IAAAhyD,EAAAjpN,EAAAkqK,cAAAhwJ,GACA,OAAA+uM,GAAAgyD,EAAA/kR,KAAA+yN,EAAAi3J,cAGAjsX,EAAAoZ,MAAAuiX,EAAA1vF,GAAA,GACA,IAAAhpS,EAAA04X,EACAz4X,EAAAC,QAAAF,0BC7GA,IAAA2e,EAAcviB,EAAQ,QAItBD,GAFAwiB,EAAAC,QAEcxiB,EAAQ,SAEtBqF,EAAcrF,EAAQ,QAEtBw8X,EAAmBx8X,EAAQ,QAE3BW,EAAaX,EAAQ,QAoBrB,SAAAy8X,EAAAziR,EAAA6pK,EAAA5hE,GACA,IAAAy6K,EAAA1iR,EAAA,GAAAA,EAAA,GACA6pK,EAAAljR,EAAA4N,IAAAs1Q,EAAA,SAAAtwD,GACA,OACA11M,SAAA,EAAA01M,EAAA11M,SAAA,GAAAm8F,EAAA,IAAA0iR,GAAAnpK,EAAA11M,SAAA,GAAAm8F,EAAA,IAAA0iR,MAGA,IAAA9uX,EAAAi2Q,EAAAn/Q,OACA+N,EAAA,EACA,gBAAArI,GAEA,QAAA8B,EAAAuG,EAA2BvG,EAAA0B,EAAS1B,IAAA,CACpC,IAAA2R,EAAAgmQ,EAAA33Q,GAAA2R,SAEA,GAAAA,EAAA,IAAAzT,MAAAyT,EAAA,IACApL,EAAAvG,EACA,OAIA,GAAAA,IAAA0B,EAEA,IAAA1B,EAAAuG,EAAA,EAAiCvG,GAAA,EAAQA,IAAA,CACzC2R,EAAAgmQ,EAAA33Q,GAAA2R,SAEA,GAAAA,EAAA,IAAAzT,MAAAyT,EAAA,IACApL,EAAAvG,EACA,OAKA,OAAAA,GAAA,GAAAA,EAAA0B,GAAAq0M,EAAA/1M,IAIA,SAAAywX,EAAA3iR,EAAAb,GACA,IAAAujR,EAAA1iR,EAAA,GAAAA,EAAA,GAEA,OADAb,EAAA,EAAAA,EAAA,GAAAa,EAAA,IAAA0iR,GAAAvjR,EAAA,GAAAa,EAAA,IAAA0iR,GACA,SAAAtyX,GACA,OAAAA,GAAA+uG,EAAA,IAAA/uG,GAAA+uG,EAAA,IAIA,SAAAyjR,EAAAx2X,GACA,IAAAwzE,EAAAxzE,EAAAwzE,WAEA,cAAAA,EAAA,YAAAA,EAAA,GAGA,IAAAh2E,EAAA7D,EAAA42K,gBAAA,CACAr1K,KAAA,UACA+yD,OAAA,SAAA54C,EAAAC,EAAAxV,GACA,IAAA22X,EACAnhX,EAAA8kG,cAAA,qBAAAgqF,GACAA,EAAAipL,iBAAA,SAAAqJ,GACAA,IAAArhX,IACAohX,EAAAryL,OAIArpM,KAAAylE,MAAApB,YACArkE,KAAA47X,wBAAA,KACA,IAAA32X,EAAAqV,EAAApV,iBAEA,gBAAAD,EAAA9E,MAAA,aAAA8E,EAAA9E,KACAH,KAAA67X,8BAAAvhX,EAAAvV,EAAA,EAAAuV,EAAAE,UAAAb,SACK8hX,EAAAx2X,IACLjF,KAAA87X,aAAA72X,EAAAqV,EAAAohX,EAAA32X,IAGAi3K,yBAAA,SAAA1hK,EAAAC,EAAAxV,GACA/E,KAAAylE,MAAApB,aAEA43G,kBAAA,SAAAj3J,EAAA1K,EAAAC,EAAAxV,GACA,IAAAE,EAAAqV,EAAApV,iBAEAD,GACAjF,KAAA67X,8BAAAvhX,EAAAvV,EAAAigB,EAAAoH,MAAApH,EAAAuE,KAAA,IAGAsyW,8BAAA,SAAAvhX,EAAAvV,EAAAqnB,EAAA7C,EAAA6sL,GACA,IACA9zM,EACAC,EAFA0C,EAAAqV,EAAApV,iBAIA,mBAAAD,EAAA9E,KAAA,CACA,IAAA0gF,EAAA57E,EAAAg3I,QAAA,KACAr7D,EAAA37E,EAAAg3I,QAAA,KACA35I,EAAAu+E,EAAA94E,eACAxF,EAAAq+E,EAAA74E,eAgBA,IAbA,IAAA09D,EAAAzlE,KAAAylE,MACAl6D,EAAA+O,EAAAE,UACAuhX,EAAA,YACAC,EAAA,qBACAC,EAAA,QACAC,EAAA,iBACA37X,EAAA+Z,EAAAqgB,SAAAohW,GAAAxwR,aAAA,WACA45P,EAAA7qV,EAAAqgB,SAAAqhW,GAAAzwR,eACA7B,EAAApvF,EAAAqgB,SAAAshW,GACA5uK,EAAA/yM,EAAAqgB,SAAAuhW,GACA7nN,EAAApvK,EAAA9E,KACA+oB,EAAA,gBAAAmrJ,EAAA,CAAA9oK,EAAA8P,aAAA,KAAA9P,EAAA8P,aAAA,KAAA9P,EAAA8P,aAAA,WAAA9P,EAAA8P,aAAA,QAAA9P,EAAA8P,aAAA,UAEAsC,EAAAyO,EAAyBzO,EAAA4L,EAAW5L,IAAA,CACpC,IAAAlc,EAEA,mBAAA4yK,EAAA,CAEA,GAAAz6J,MAAArO,EAAA9F,IAAAyjB,EAAA,GAAAvL,IACA,SAGA,IAAAksD,EAAA5kE,EAAAM,YAAA,CAAAgG,EAAA9F,IAAAyjB,EAAA,GAAAvL,GAAApS,EAAA9F,IAAAyjB,EAAA,GAAAvL,KACAlc,EAAA,IAAAyC,EAAA+qE,KAAA,CACArnE,MAAA,CACA5F,EAAA6nE,EAAA,GAAAvnE,EAAA,EACAL,EAAA4nE,EAAA,GAAAtnE,EAAA,EACAD,QACAC,UAEAhC,MAAA,CACAG,KAAA6K,EAAAic,cAAA7J,EAAA,SACAm2C,QAAAvoD,EAAAic,cAAA7J,EAAA,kBAGO,CAEP,GAAA/D,MAAArO,EAAA9F,IAAAyjB,EAAA,GAAAvL,IACA,SAGAlc,EAAA,IAAAyC,EAAA+qE,KAAA,CACAvvC,GAAA,EACA93B,MAAA3C,EAAA60O,WAAA,CAAAvuO,EAAA9F,IAAAyjB,EAAA,GAAAvL,KAAAo8N,aACAx5O,MAAA,CACAG,KAAA6K,EAAAic,cAAA7J,EAAA,SACAm2C,QAAAvoD,EAAAic,cAAA7J,EAAA,cAKA,IAAAuN,EAAA3f,EAAA4f,aAAAxN,GAEApS,EAAAuf,gBACAvqB,EAAA2qB,EAAAyP,SAAAohW,GAAAxwR,aAAA,WACA45P,EAAAj6U,EAAAyP,SAAAqhW,GAAAzwR,eACA7B,EAAAx+E,EAAAyP,SAAAshW,GACA5uK,EAAAniM,EAAAyP,SAAAuhW,IAGA,IAAAnxW,EAAAzQ,EAAAgN,YAAA3J,GACA48L,EAAA,IAEAxvL,GAAA,MAAAA,EAAA,KACAwvL,EAAAxvL,EAAA,IAGA7mB,EAAAk2M,cAAA75M,EAAA4kW,EAAAz7P,EAAA2jH,EAAA,CACAhT,aAAA//L,EACAggM,eAAA38L,EACA48L,cACAvG,YAAA,IAEAvyM,EAAA+lH,SAAAjnH,GACA2D,EAAA41M,cAAAr4M,EAAA8J,EAAAuf,cAAAq6U,EAAA3lW,EAAAkF,OAAA,GAAkFygW,IAClF1jW,EAAA20M,cAEAA,IAEA30M,EAAA40M,eAAA,GAGA5wI,EAAAloC,IAAA97B,GACA8J,EAAAgpM,iBAAA52L,EAAAlc,KAGAq6X,aAAA,SAAA91R,EAAA1rF,EAAAsjM,EAAA74M,GACA,IAAAo3X,EAAAv+K,EAAAw+K,cAAA98K,QACA+8K,EAAAz+K,EAAAw+K,cAAAh9K,WAIA7zM,EAAA+O,EAAAE,UACA8hX,EAAAt8X,KAAAu8X,UAAAv8X,KAAAu8X,UAAA,IAAAlB,EACAiB,EAAAz9N,SAAAvkJ,EAAA7U,IAAA,YACA62X,EAAAxsF,UAAAx1R,EAAA7U,IAAA,aACA62X,EAAAtsF,WAAA11R,EAAA7U,IAAA,cACA62X,EAAAvsF,WAAAz1R,EAAA7U,IAAA,cACA,IAAAhE,EAAAukG,EAAAmkH,cAAA50M,QACAg4W,EAAAvnR,EAAA2e,mBACAljH,EAAA4X,eAAAk0W,GAEA,IAAAvrX,EAAA0E,KAAAS,IAAA1F,EAAAO,EAAA,GACAC,EAAAyE,KAAAS,IAAA1F,EAAAQ,EAAA,GACAu9B,EAAA94B,KAAAQ,IAAAzF,EAAAa,MAAAb,EAAAO,EAAA+C,EAAAwJ,YACAkxB,EAAA/4B,KAAAQ,IAAAzF,EAAAc,OAAAd,EAAAQ,EAAA8C,EAAAu5D,aACAh8D,EAAAk9B,EAAAx9B,EACAO,EAAAk9B,EAAAx9B,EACAklF,EAAA,CAAA57E,EAAA8P,aAAA,OAAA9P,EAAA8P,aAAA,OAAA9P,EAAA8P,aAAA,UACAqsD,EAAAn8D,EAAAg+K,SAAApiG,EAAA,SAAAg8B,EAAAC,EAAAn/G,GACA,IAAA4+G,EAAA7c,EAAAzgG,YAAA,CAAA49G,EAAAC,IAIA,OAHAP,EAAA,IAAA7gH,EACA6gH,EAAA,IAAA5gH,EACA4gH,EAAAlwG,KAAA1O,GACA4+G,IAEAhK,EAAA+kG,EAAA5iM,YACAm1R,EAAA,yBAAAvyF,EAAAz9M,KAAAq7X,EAAA3iR,EAAA+kG,EAAAz6L,OAAA60F,OAAAsjR,EAAAziR,EAAA+kG,EAAAgmK,eAAAhmK,EAAAz6L,OAAA29L,UACAw7K,EAAA/vW,OAAAm7C,EAAAplE,EAAAC,EAAA45X,EAAAr1W,MAAA06P,gBAAA,CACAliE,QAAA68K,EAAAr1W,MAAAo6P,iBACA9hE,WAAAi9K,EAAAv1W,MAAAo6P,kBACKivB,GACL,IAAAzkO,EAAA,IAAAxnE,EAAAstB,MAAA,CACAjxB,MAAA,CACA+B,QACAC,SACAP,IACAC,IACA6Q,MAAAwpX,EAAA1mW,QAEAyxF,QAAA,IAEArnH,KAAAylE,MAAAloC,IAAAmuC,IAEA51D,QAAA,eAGApT,EAAAC,QAAAF,0BCpQA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAEtB8wE,EAAiB9wE,EAAQ,QAEzBoH,EAAapH,EAAQ,QAErBgpM,EAAoBhpM,EAAQ,QAoB5B4D,EAAA7D,EAAAu7I,oBAAA,CACAh6I,KAAA,YAMAq8X,mBAAA,CACAltV,KAAA,EACAC,MAAA,EACAE,IAAA,EACAD,OAAA,GAEAtsB,KAAA,SAAA3I,EAAAxV,GAKA/E,KAAAua,UAMAva,KAAA+E,MAMA/E,KAAA49M,gBAMA1qJ,OAAA,SAAA0qJ,EAAArjM,EAAAxV,EAAAynB,GACAxsB,KAAA49M,kBAEA,IAAAA,EAAAn4M,IAAA,QAKAzF,KAAA29M,SAAAj1M,MAAA1I,KAAA2I,WAJA3I,KAAAylE,MAAApB,aAUA+5I,iBAAA,SAAA34I,GACA,IAAAm4I,EAAA59M,KAAA49M,eACA1sM,EAAAy+D,EAAAxlB,kBAAAyzJ,EAAAn4M,IAAA,eACAhE,EAAAgkE,EAAAlkE,kBACAkkE,EAAAloC,IAAA,IAAAr5B,EAAA+qE,KAAA,CACAvvC,IAAA,EAEA2nF,QAAA,EACAz/G,MAAA,CACA5F,EAAAP,EAAAO,EAAAkP,EAAA,GACAjP,EAAAR,EAAAQ,EAAAiP,EAAA,GACA5O,MAAAb,EAAAa,MAAA4O,EAAA,GAAAA,EAAA,GACA3O,OAAAd,EAAAc,OAAA2O,EAAA,GAAAA,EAAA,IAEA3Q,MAAA,CACAG,KAAAk9M,EAAAn4M,IAAA,mBACA9E,OAAAi9M,EAAAn4M,IAAA,eACAgL,UAAAmtM,EAAAn4M,IAAA,oBAcA08M,oBAAA,SAAAs6K,EAAAC,EAAA58X,GACAA,KAAA,GACA,IAAAiiN,EAAAjiN,EAAAiiN,WACAnE,EAAA59M,KAAA49M,eACA++K,EAAA,GAMA,GAJA,WAAAD,IACAC,EAAAlyW,OAAAmzL,EAAAn4M,IAAA,eAGA,UAAAi3X,EAAA,CACA,IAAAx1B,EAAAtpJ,EAAAn4M,IAAA,gBACAk3X,EAAA71W,MAAAogV,EAGA,SAAA15U,EAAAviB,GACA,OAAA0xX,EAAA1xX,GAGA,SAAAmkI,EAAAnkI,EAAAhH,GACA04X,EAAA1xX,GAAAhH,EAGA,IAAAmkM,EAAAwV,EAAAg/K,kBAAA76K,GAAAnE,EAAA5U,cAAAyzL,IACAlzL,EAAA1B,EAAA2B,mBAAApB,GAaA,OAZA5oM,EAAA2nB,KAAAoiL,EAAA,SAAAppM,GACA,IAAA08X,EAAAz0L,EAAAjoM,GAEAL,EAAAkiN,uBAAA,YAAA7hN,IACAA,EAAA,aACA08X,EAAAz0L,EAAAQ,mBAGAf,EAAAm8E,UAAA7jR,EAAAu8X,IACAG,KAAA9zL,YAAA0zL,EAAAjvW,EAAA4hH,KAGAutP,EAAAD,IAMAn+K,cAAA,SAAA94I,GACA,IAAA9hD,EAAA3jB,KAAA49M,eACA74M,EAAA/E,KAAA+E,IACAkB,EAAAw9E,gBAAAhe,EAAA9hD,EAAAs6F,qBAAA,CACA37G,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,eAQAq/I,SAAAn+M,EAAAwrD,OAGAtoD,EAAAC,QAAAF,wBC9LA,SAAA4wT,EAAAz3P,EAAAC,EAAAjM,EAAAC,EAAA7tD,EAAAC,GACA,GAAAA,EAAA45D,GAAA55D,EAAA4tD,GAAA5tD,EAAA45D,GAAA55D,EAAA4tD,EACA,SAIA,GAAAA,IAAAgM,EACA,SAGA,IAAAniC,EAAAm2B,EAAAgM,EAAA,KACAz/C,GAAAna,EAAA45D,IAAAhM,EAAAgM,GAEA,IAAAz/C,GAAA,IAAAA,IACAsd,EAAAm2B,EAAAgM,EAAA,QAGA,IAAAg4P,EAAAz3S,GAAAwzC,EAAAgM,KAEA,OAAAi4P,IAAA7xT,EAAA8X,IAAA+5S,EAAA7xT,EAAA03B,EAAA,EAGAh3B,EAAAC,QAAA0wT,0BCFA,IAAA90S,EAAW1f,EAAQ,QAoBnB4D,EAAA8b,EAAA7Z,OAAA,CACAvE,KAAA,sBACAyH,MAAA,CACAq+C,MAAA,EACA3jD,MAAA,GACAsc,EAAA,GACA5c,EAAA,EACAC,EAAA,GAEA+c,UAAA,SAAA3e,EAAAuH,GACA,IAAAixQ,EAAAnyQ,KAAAwY,IACA05P,EAAAlyQ,KAAA0Y,IACAR,EAAAhX,EAAAgX,EACAtc,EAAAsF,EAAAtF,MACA2jD,EAAAr+C,EAAAq+C,MACAjkD,EAAA4F,EAAA5F,EAAA62Q,EAAA5yN,GAAA3jD,MAAAsc,EAAA,OACA3c,EAAA2F,EAAA3F,EAAA22Q,EAAA3yN,GAAA3jD,MAAAsc,EAAA,OACAqnC,EAAAr+C,EAAAq+C,MAAAv/C,KAAAC,GAAA,EACAtG,EAAAgf,OAAArd,EAAAC,GACA5B,EAAAif,OAAA1X,EAAA5F,EAAA62Q,EAAA5yN,GAAA3jD,EAAAsF,EAAA3F,EAAA22Q,EAAA3yN,GAAA3jD,GACAjC,EAAAif,OAAA1X,EAAA5F,EAAA62Q,EAAAjxQ,EAAAq+C,OAAArnC,EAAAhX,EAAA3F,EAAA22Q,EAAAhxQ,EAAAq+C,OAAArnC,GACAve,EAAAif,OAAA1X,EAAA5F,EAAA62Q,EAAA5yN,GAAA3jD,EAAAsF,EAAA3F,EAAA22Q,EAAA3yN,GAAA3jD,GACAjC,EAAAif,OAAAtd,EAAAC,MAKAS,EAAAC,QAAAF,0BCnEA,IAAA87N,EAAY1/N,EAAQ,QAEpBg3B,EAAA0oM,EAAA1oM,cAEAisM,EAAgBjjO,EAAQ,QAExB4O,EAAmB5O,EAAQ,QAE3B+xD,EAAa/xD,EAAQ,QAErBY,EAAkBZ,EAAQ,QAE1Ba,EAAiBb,EAAQ,QAEzBgB,EAAWhB,EAAQ,QAKnBmjO,EAAAF,EAAAE,IACA86J,EAAAt/W,MAAAvd,UAAA+P,KACA1O,EAAA,OACAy7X,EAAAr2X,KAAAwT,MACA0+P,EAAAlyQ,KAAA0Y,IACAy5P,EAAAnyQ,KAAAwY,IACAvY,EAAAD,KAAAC,GACA2oT,EAAA,EAAA5oT,KAAAC,GACA8mL,EAAA,IAAA9mL,EACA0tF,EAAA,KAEA,SAAA2oS,EAAA/zX,GACA,OAAA8zX,EAAA,IAAA9zX,GAAA,IAGA,SAAAy3O,EAAAz3O,GACA,OAAAA,EAAAorF,GAAAprF,GAAAorF,EAGA,SAAA4oS,EAAA18X,EAAA28X,GACA,IAAAx8X,EAAAw8X,EAAA38X,EAAAupG,SAAAvpG,EAAAG,KACA,aAAAA,OAAAY,EAGA,SAAA67X,EAAA58X,EAAA28X,GACA,IAAAv8X,EAAAu8X,EAAA38X,EAAA4B,WAAA5B,EAAAI,OACA,aAAAA,OAAAW,EAGA,SAAAJ,EAAAk8X,EAAA7vW,GACAA,GACAw2D,EAAAq5S,EAAA,sBAAAN,EAAA/8X,KAAAwtB,EAAA,UAIA,SAAAw2D,EAAAhzC,EAAA9lC,EAAAhC,KACAA,GAAA,WAAAA,EAAA9I,MAAA,WAAA8I,EAAA9I,OAEA4wC,EAAAkrQ,aAAAhxS,EAAAhC,GAIA,SAAAo0X,EAAAtsV,EAAA9lC,EAAAhC,GACA8nC,EAAAw+S,eAAA,+BAAAtkV,EAAAhC,GAGA,SAAAq0X,EAAAF,EAAA78X,EAAA28X,EAAAnsV,GACA,GAAAksV,EAAA18X,EAAA28X,GAAA,CACA,IAAAx8X,EAAAw8X,EAAA38X,EAAAupG,SAAAvpG,EAAAG,KACAA,EAAA,gBAAAA,EAAAY,EAAAZ,EAiBA,SAAA08X,EAAA35P,aAAA,cAAA/iI,IAAAY,IACAZ,EAAA,wBAGAqjF,EAAAq5S,EAAA,OAAA18X,GACAqjF,EAAAq5S,EAAA,qBAAA78X,EAAAgpP,YAAAhpP,EAAAgpP,YAAAhpP,EAAAuzD,QAAAvzD,EAAAuzD,cAEAiwB,EAAAq5S,EAAA,OAAA97X,GAGA,GAAA67X,EAAA58X,EAAA28X,GAAA,CACA,IAAAv8X,EAAAu8X,EAAA38X,EAAA4B,WAAA5B,EAAAI,OACAA,EAAA,gBAAAA,EAAAW,EAAAX,EACAojF,EAAAq5S,EAAA,SAAAz8X,GACA,IAAA48X,EAAAL,EAAA38X,EAAA6B,gBAAA7B,EAAAkQ,UACA+sX,GAAAN,GAAA38X,EAAA27M,cAAAnrK,EAAAg6M,eAAA,EACAhnK,EAAAq5S,EAAA,eAAAG,EAAAC,GAEAz5S,EAAAq5S,EAAA,cAAAF,EAAA,iBACAn5S,EAAAq5S,EAAA,uBAAA78X,EAAAipP,cAAAjpP,EAAAipP,cAAAjpP,EAAAuzD,SACA,IAAAmwK,EAAA1jO,EAAA0jO,SAEAA,GACAlgJ,EAAAq5S,EAAA,mBAAA78X,EAAA0jO,SAAAj0N,KAAA,MACA+zE,EAAAq5S,EAAA,oBAAAL,EAAAx8X,EAAAkpP,gBAAA,KAEA1lK,EAAAq5S,EAAA,uBAIA78X,EAAAqsN,SAAA7oI,EAAAq5S,EAAA,iBAAA78X,EAAAqsN,SACArsN,EAAAo5M,UAAA51H,EAAAq5S,EAAA,kBAAA78X,EAAAo5M,UACAp5M,EAAAk9X,YAAA15S,EAAAq5S,EAAA,oBAAA78X,EAAAk9X,iBAEA15S,EAAAq5S,EAAA,SAAA97X,GAQA,SAAA+iO,EAAA5/J,GAKA,IAJA,IAAAn6D,EAAA,GACAiB,EAAAk5D,EAAAl5D,KACA+6H,EAAA7hE,EAAAh4D,MAEA1B,EAAA,EAAiBA,EAAAu7H,GAAgB,CACjC,IAAAqzD,EAAApuL,EAAAR,KACAw5N,EAAA,GACAm5J,EAAA,EAEA,OAAA/jM,GACA,KAAAqoC,EAAA75E,EACAo8E,EAAA,IACAm5J,EAAA,EACA,MAEA,KAAA17J,EAAA7uH,EACAoxH,EAAA,IACAm5J,EAAA,EACA,MAEA,KAAA17J,EAAAwC,EACAD,EAAA,IACAm5J,EAAA,EACA,MAEA,KAAA17J,EAAAr2D,EACA44D,EAAA,IACAm5J,EAAA,EACA,MAEA,KAAA17J,EAAAhE,EACA,IAAAv/M,EAAAlT,EAAAR,KACA2T,EAAAnT,EAAAR,KACA2tK,EAAAntK,EAAAR,KACA4tK,EAAAptK,EAAAR,KACAyuB,EAAAjuB,EAAAR,KACA4uQ,EAAApuQ,EAAAR,KACAsuQ,EAAA9tQ,EAAAR,KACAgU,EAAAxT,EAAAR,KACA4yX,EAAAj3X,KAAAiR,IAAAgiQ,GACAikH,EAAAl9I,EAAAi9I,EAAAruE,KAAA5uE,EAAAi9I,GACAv2M,GAAA,EAGAA,EADAu2M,GAAAruE,IAES5uE,EAAAi9I,KAGThkH,GAAAhzQ,GAAAgzQ,EAAA,GAAAA,EAAAhzQ,OAAAoY,EAGA,IAAA68C,EAAAohU,EAAAv+W,EAAAi6J,EAAAmgG,EAAAr/O,IACAqiC,EAAAmhU,EAAAt+W,EAAAi6J,EAAAigG,EAAAp/O,IAIAokW,IAEAjkH,EADA56P,EACAuwS,EAAA,KAEA,KAAAA,EAGAloI,GAAA,EAEA,IAAAr8K,GAMAT,EAAAqI,KAAA,IAAAipD,EAAAC,IAIA,IAAA75D,EAAAg7X,EAAAv+W,EAAAi6J,EAAAmgG,EAAAr/O,EAAAmgP,IACA13Q,EAAA+6X,EAAAt+W,EAAAi6J,EAAAigG,EAAAp/O,EAAAmgP,IAEArvQ,EAAAqI,KAAA,IAAAqqX,EAAAtkN,GAAAskN,EAAArkN,GAAAokN,EAAA1jH,EAAA5rF,IAAArG,GAAAroK,EAAA/c,EAAAC,GACA,MAEA,KAAA+/N,EAAAI,EACAmC,EAAA,IACA,MAEA,KAAAvC,EAAA/oG,EACAj3H,EAAAg7X,EAAAzxX,EAAAR,MACA9I,EAAA+6X,EAAAzxX,EAAAR,MADA,IAEA1I,EAAA26X,EAAAzxX,EAAAR,MACAgW,EAAAi8W,EAAAzxX,EAAAR,MACAT,EAAAqI,KAAA,IAAA3Q,EAAAC,EAAA,IAAAD,EAAAK,EAAAJ,EAAA,IAAAD,EAAAK,EAAAJ,EAAA8e,EAAA,IAAA/e,EAAAC,EAAA8e,EAAA,IAAA/e,EAAAC,GACA,MAGAsiO,GAAAj6N,EAAAqI,KAAA4xN,GAEA,QAAA7zN,EAAA,EAAmBA,EAAAgtX,EAAWhtX,IAE9BpG,EAAAqI,KAAAqqX,EAAAzxX,EAAAR,OAIA,OAAAT,EAAA0F,KAAA,KAGA,IAAA2uN,EAAA,CAEAv+N,MAAA,SAAA2wC,GACA,IAAAxwC,EAAAwwC,EAAAxwC,MACA68X,EAAArsV,EAAAowL,QAEAi8J,IACAA,EAAAvnW,EAAA,QACAkb,EAAAowL,QAAAi8J,GAGArsV,EAAA0zB,MACA1zB,EAAAiqO,kBAGA,IAAAv2M,EAAA1zB,EAAA0zB,KAEA,GAAA1zB,EAAA+zL,YAAA,CACArgK,EAAAi5G,YACAj5G,EAAAsgK,kBAAA,EACAh0L,EAAA/xB,UAAAylD,EAAA1zB,EAAAnpC,OACAmpC,EAAA+zL,aAAA,EACA,IAAA+4J,EAAAx5J,EAAA5/J,GAEAo5T,EAAAzyV,QAAA,UAGA24C,EAAAq5S,EAAA,IAAAS,GAIAP,EAAAF,EAAA78X,GAAA,EAAAwwC,GACA7vC,EAAAk8X,EAAArsV,EAAAlqC,WAEA,MAAAtG,EAAAS,MACA88X,EAAA/sV,IAAAxvC,qBAQAq9N,EAAA,CAEAx+N,MAAA,SAAA2wC,GACA,IAAAxwC,EAAAwwC,EAAAxwC,MACAuS,EAAAvS,EAAAuS,MAEA,GAAAA,aAAAye,iBAAA,CACA,IAAA2F,EAAApkB,EAAAokB,IACApkB,EAAAokB,EAGA,GAAApkB,EAAA,CAIA,IAAA9Q,EAAAzB,EAAAyB,GAAA,EACAC,EAAA1B,EAAA0B,GAAA,EACA8jO,EAAAxlO,EAAA+B,MACA0jO,EAAAzlO,EAAAgC,OACA66X,EAAArsV,EAAAowL,QAEAi8J,IACAA,EAAAvnW,EAAA,SACAkb,EAAAowL,QAAAi8J,GAGAtqX,IAAAi+B,EAAAgtV,aACAV,EAAAD,EAAA,OAAAtqX,GAEAi+B,EAAAgtV,WAAAjrX,GAGAixE,EAAAq5S,EAAA,QAAAr3J,GACAhiJ,EAAAq5S,EAAA,SAAAp3J,GACAjiJ,EAAAq5S,EAAA,IAAAp7X,GACA+hF,EAAAq5S,EAAA,IAAAn7X,GACAf,EAAAk8X,EAAArsV,EAAAlqC,WAEA,MAAAtG,EAAAS,MACA88X,EAAA/sV,IAAAxvC,sBAQAs9N,EAAA,GACA/lN,EAAA,IAAArL,EAEAqwX,EAAA,SAAA/sV,EAAAtvC,EAAAwX,GACA,IAAA1Y,EAAAwwC,EAAAxwC,MACAwwC,EAAAvwC,SAAAd,EAAAe,mBAAAF,GAAA,GACA,IAAAS,EAAAT,EAAAS,KAEA,SAAAA,EAAA,CAIAA,GAAA,GAGA,IAOAgB,EACAC,EARA+7X,EAAAjtV,EAAAkwL,YAEA+8J,IACAA,EAAAnoW,EAAA,QACAkb,EAAAkwL,YAAA+8J,GAKA,IAAAzuX,EAAAhP,EAAAgP,aACAC,EAAAjP,EAAA2nO,aACAzkF,EAAAljJ,EAAAoB,WAAA,OAEA,kBAAApB,EAAAmT,WACAnT,EAAAmT,UAAA,MAGA,IAAAhS,EAAAnB,EAAAmB,MAAA,CAAAnB,EAAAqT,WAAA,GAAArT,EAAAsT,YAAA,GAAAtT,EAAAmT,UAAA,GAAAnT,EAAAoT,YAAA,IAAA3D,KAAA,MAAAvQ,EAAA0O,aACA5G,EAAA02X,EAAA19X,EAAAqB,mBACAqX,EAAAxZ,EAAA8B,gBAAAP,EAAAU,EAAA+hJ,EAAAl8I,EAAAhH,EAAAsB,YAAAtB,EAAAuB,gBACA,IAAAsN,EAAA6J,EAAA7J,WAEA,GAAAG,aAAAiO,MACAxb,EAAAP,EAAAO,EAAAuN,EAAA,GACAtN,EAAAR,EAAAQ,EAAAsN,EAAA,OACG,CACH,IAAA21R,EAAAzlS,EAAA6P,yBAAAC,EAAA9N,EAAA+N,GACAxN,EAAAkjS,EAAAljS,EACAC,EAAAijS,EAAAjjS,EACAsF,EAAA02X,EAAA/4F,EAAAtjS,mBACA6hJ,EAAAyhJ,EAAAvjS,UAGAoiF,EAAAi6S,EAAA,qBAAAz2X,GAEA7F,IACAs8X,EAAAz9X,MAAAmB,QAGA,IAAAG,EAAAtB,EAAAsB,YAMA,GAJAkiF,EAAAi6S,EAAA,IAAAh8X,GACA+hF,EAAAi6S,EAAA,IAAA/7X,GACAq7X,EAAAU,EAAAz9X,GAAA,EAAAwwC,GAEAA,aAAAlxC,GAAAkxC,EAAAxwC,MAAA4Y,cAEAjY,EAAA88X,EAAAjtV,EAAAlqC,eACG,CACH,GAAAkqC,EAAAlqC,UACAiS,EAAAM,KAAA3X,GACAqX,EAAAO,eAAA03B,EAAAlqC,WACApF,EAAAqX,MACK,CACL,IAAAgoF,EAAA/vD,EAAAmtV,uBAAAz8X,EAAAO,EAAAP,EAAAQ,GACAR,EAAAO,EAAA8+F,EAAA,GACAr/F,EAAAQ,EAAA6+F,EAAA,GACA/vD,EAAAlqC,UAAA+pD,EAAAhhB,SAAAghB,EAAA9hB,UAIA,IAAAwlD,EAAA/zF,EAAA8pP,WAEA,WAAA/1J,GACAtyF,EAAAiX,EAAA3W,MAAA,EAAAN,EACAC,EAAAgX,EAAA1W,OAAA,EAAAN,GACKqyF,IACLtyF,EAAAsyF,EAAA,GAAAtyF,EACAC,EAAAqyF,EAAA,GAAAryF,GAGA,IAAAquC,GAAA/vC,EAAA6pP,cAAA,EACAvjP,EAAA+pD,EAAA9hB,SAEA8hB,EAAAtgB,OAAAzpC,IAAAypC,GACAwwD,EAAA,CAAA/vD,EAAAlqC,UAAA,GAAAkqC,EAAAlqC,UAAA,IACA+pD,EAAAjgB,UAAA9pC,IAAAi6F,GACA5/F,EAAA88X,EAAAn3X,GAGA,IAAA2H,EAAAxN,EAAAyN,MAAA,MACA0vX,EAAA3vX,EAAAjL,OACA66X,EAAA36O,EAEA,SAAA26O,GACAA,EAAA,QACAv8X,IAAAG,GAAAH,EAAA,KACG,UAAAu8X,GACHA,EAAA,MACAv8X,IAAAG,GAAAH,EAAA,KACG,WAAAu8X,IACHA,EAAA,SACAv8X,IAAAG,IAAAH,EAAA,GAAAA,EAAA,QAGA,IAAAoV,EAAA,EAaA,GAXA,eAAA1P,GACA0P,GAAAgC,EAAA1W,OAAA6M,EACAvN,IAAAoV,GAAApV,EAAA,KACG,WAAA0F,GACH0P,IAAAgC,EAAA1W,OAAA6M,GAAA,EACAvN,IAAAI,IAAAJ,EAAA,GAAAA,EAAA,QAEAA,IAAAoV,GAAApV,EAAA,IAIAkvC,EAAAstV,SAAAr9X,GAAA+vC,EAAAutV,aAAA58X,EAAA,CACA,IAAA68X,EAAAxtV,EAAAytV,aAAA,GACAztV,EAAAytV,YAAAD,EAEA,QAAAxzX,EAAA,EAAmBA,EAAAozX,EAAgBpzX,IAAA,CAEnC,IAAA0zX,EAAAF,EAAAxzX,GAEA0zX,EAMAA,EAAAp1Q,UAAA,IALAo1Q,EAAAF,EAAAxzX,GAAA8qB,EAAA,SACAmoW,EAAA59J,YAAAq+J,GACA16S,EAAA06S,EAAA,qBAAAl3X,GACAw8E,EAAA06S,EAAA,cAAAL,IAKAr6S,EAAA06S,EAAA,IAAAz8X,GACA+hF,EAAA06S,EAAA,IAAAx8X,EAAA8I,EAAAqE,EAAA6H,GACAwnX,EAAAr+J,YAAAx1N,SAAAm9N,eAAAv5N,EAAAzD,KAIA,KAAUA,EAAAwzX,EAAAh7X,OAAsBwH,IAChCizX,EAAA19J,YAAAi+J,EAAAxzX,IAGAwzX,EAAAh7X,OAAA46X,EACAptV,EAAAstV,OAAAr9X,EACA+vC,EAAAutV,WAAA58X,OACG,GAAAqvC,EAAAytV,YAAAj7X,OAEH,KAAAkJ,EAAAskC,EAAAytV,YAAAj7X,OAEA,IAAAwH,EAAA,EAAmBA,EAAA0B,IAAS1B,EAAA,CAC5B0zX,EAAA1tV,EAAAytV,YAAAzzX,GAEA0zX,IACA16S,EAAA06S,EAAA,IAAAz8X,GACA+hF,EAAA06S,EAAA,IAAAx8X,EAAA8I,EAAAqE,EAAA6H,QAMA,SAAAgnX,EAAA12X,GACA,iBAAAA,EACA,SACG,WAAAA,EACH,aAEA,UAIAs3N,EAAA7lN,aAAA8kX,EAEAj/J,EAAAz+N,MAAA,SAAA2wC,GACA,IAAAxwC,EAAAwwC,EAAAxwC,MAEA,MAAAA,EAAAS,OAEAT,EAAAgP,aAAA,MACAuuX,EAAA/sV,EAAA,CACA/uC,EAAAzB,EAAAyB,GAAA,EACAC,EAAA1B,EAAA0B,GAAA,EACAK,MAAA,EACAC,OAAA,GACKwuC,EAAAxvC,qBAILoB,EAAA8hE,KAAAk6J,EACAh8N,EAAAmQ,MAAA8rN,EACAj8N,EAAA3B,KAAA69N,0BCpfA,IAAA36N,EAAcrF,EAAQ,QAEtB8wM,EAAmB9wM,EAAQ,QAE3B+wM,EAAAD,EAAAC,gBAoBA,SAAAoqF,EAAAtnE,EAAA9Y,EAAA1uL,EAAApE,EAAAxM,EAAAmL,EAAA88S,GACA,IAAA74N,EAAAx+E,EAAAyP,SAAA,SACA0yL,EAAAniM,EAAAyP,SAAA,kBACAz2B,EAAAk2M,cAAAsY,EAAA9Y,EAAAlwG,EAAA2jH,EAAA,CACAhT,aAAA//L,EACAggM,eAAA70L,EACA80L,YAAA3K,EAAAt1L,EAAAE,UAAAiL,GACAuuL,YAAA,EACAD,UAAAjtL,IAEA43W,EAAAhsK,GACAgsK,EAAA9kL,GAGA,SAAA8kL,EAAAn+X,EAAAgiU,GACA,YAAAhiU,EAAAgP,eACAhP,EAAAgP,aAAAgzT,GAIA5/T,EAAAq3R,mCC5CA,IAAAp7R,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QA8BRD,EAAA0tB,eAAA,CACAnsB,KAAA,UACAgX,MAAA,UACAoV,OAAA,2BAEA,cACA3tB,EAAA0tB,eAAA,CACAnsB,KAAA,UACAgX,MAAA,UACAoV,OAAA,2BAEA,sCC/CA,IAAA/sB,EAAaX,EAAQ,QAErBmxM,EAAgBnxM,EAAQ,QAExBmzN,EAAoBnzN,EAAQ,QAE5BkxM,EAAiBlxM,EAAQ,QAoBzB8/X,EAAA,qBACAC,EAAA5uL,EAAAtrM,OAAA,CACAvE,KAAA,WACA+iB,KAAA,aACAgwC,OAAA,SAAA54C,EAAAC,EAAAxV,EAAAynB,GACA,IAAAnpB,EAAArD,KACAA,KAAAsa,cACAta,KAAA+E,MACA/E,KAAAua,UACA,IAAAhP,EAAA+O,EAAAE,UACAurL,EAAAx6L,EAAAy6L,KAAA/4K,KACA4xW,EAAAvkX,EAAA4rL,cACAzgI,EAAAzlE,KAAAylE,MACAy/M,EAAA5qQ,EAAA7U,IAAA,0BACAqvM,EAAA,GACA+pL,EAAA3xM,SAAA,SAAA7vK,GACAy3L,EAAAniM,KAAA0K,KAEA,IAAAg4L,EAAAr1M,KAAA8+X,cAAA,GAIA,GAHAC,EAAAjqL,EAAAO,GACA2pL,EAAAj5L,EAAA84L,GAEAryW,KAAAg3E,WAAAh3E,EAAAg3E,UAAA4uH,MAAA,CACA,IAAAS,EAAAv4M,EAAA6N,WAAA,mBACAqE,EAAAg3E,UAAA4uH,MAAAhZ,WAAAyZ,QACK,GAAArmM,KAAAyyW,YAAA,CACL,IAAA7sK,EAAApyN,KAAAk/X,cAEA9sK,GAAArsB,EAAA5hI,SAAA5gE,SACA6uN,EAAArsB,EAAA5hI,SAAA,GAAAiuJ,OAGAA,GACAA,EAAA9Y,WAQA,SAAAylL,EAAAjqL,EAAAO,GAOA,SAAAC,EAAAj4L,GACA,OAAAA,EAAAs3S,QAGA,SAAAwqE,EAAAC,EAAAC,GACA,IAAA3pT,EAAA,MAAA0pT,EAAA,KAAAtqL,EAAAsqL,GACAE,EAAA,MAAAD,EAAA,KAAAhqL,EAAAgqL,GACAE,EAAA7pT,EAAA4pT,GAbA,IAAAxqL,EAAAvxM,QAAA,IAAA8xM,EAAA9xM,QAIA,IAAAwsM,EAAAsF,EAAAP,EAAAQ,KAAA/3K,IAAA4hW,GAAA5yW,OAAA4yW,GAAA3yX,OAAAhN,EAAAmqB,MAAAw1W,EAAA,OAAA1pL,UAaA,SAAA8pL,EAAA7pT,EAAA4pT,GAMA,GALAp6G,IAAAxvM,KAAAq4G,aAEAr4G,EAAA,MAGAA,IAAAqwH,GAAAu5L,IAAAv5L,EACA,GAAAu5L,KAAAltK,MACA18I,GAEA4pT,EAAAltK,MAAA3xH,YAAA,EAAA/qB,EAAA,SAAAp7D,EAAAC,GAEAhP,EAAAgpM,iBAAA7+H,EAAAjwD,UAAA65W,EAAAltK,QAGAh/D,EAAAksO,QAES,GAAA5pT,EAAA,CAET,IAAA08I,EAAA,IAAAJ,EAAAt8I,EAAAp7D,EAAAC,GACAkrD,EAAAloC,IAAA60L,GAEA7mN,EAAAgpM,iBAAA7+H,EAAAjwD,UAAA2sM,IAKA,SAAAh/D,EAAA/1I,GACAA,GAIAA,EAAA+0M,QACA3sJ,EAAAj5D,OAAA6Q,EAAA+0M,OACA/0M,EAAA+0M,MAAA,MAIA,SAAA4sK,EAAAj5L,EAAA8+C,GACA,GAAAA,EAAA/gL,MAAA,GAEAzgE,EAAA67X,aAEA77X,EAAA67X,aAAAz+R,YAAA,EAAAslG,EAAA,SAAAzrL,EAAAC,IAGAlX,EAAA67X,aAAA,IAAAltK,EAAAjsB,EAAAzrL,EAAAC,GACAkrD,EAAAloC,IAAAl6B,EAAA67X,eAGAr6I,EAAAzyB,MAAAotK,eACA36I,EAAAzyB,MAAAv8M,IAAA,QAAAgvO,EAAAzyB,MAAAotK,eAGA,IAAAroX,EAAA,SAAAhB,GACA9S,EAAAo8X,YAAA56I,EAAA/wB,aAGA+wB,EAAAzyB,MAAAotK,cAAAroX,EACA9T,EAAA67X,aAAAtpX,GAAA,QAAAuB,QACO9T,EAAA67X,eAEPz5T,EAAAj5D,OAAAnJ,EAAA67X,cACA77X,EAAA67X,aAAA,MArFAl/X,KAAA4vK,cAEA5vK,KAAA8+X,aAAAhqL,GAuFAh/L,QAAA,aAKA85J,YAAA,WACA,IAAAvsK,EAAArD,KAEAmX,EAAA,SAAAhB,GACA,IAAAupX,GAAA,EACA76I,EAAAxhP,EAAAiX,YAAA4rL,cACA2+C,EAAA33D,SAAA,SAAA7vK,GACA,IAAAqiX,GAAAriX,EAAA+0M,OAAA/0M,EAAA+0M,MAAAxgJ,QAAA,KAAAz7D,EAAAE,OAAA,CACA,IAAA4uQ,EAAA5nQ,EAAAsd,WAAAl1B,IAAA,aAEA,kBAAAw/Q,EACA5hR,EAAAo8X,YAAApiX,QACW,YAAA4nQ,EAAA,CACX,IAAA/5P,EAAA7N,EAAAsd,WACA4rD,EAAAr7D,EAAAzlB,IAAA,QAEA,GAAA8gF,EAAA,CACA,IAAAo5S,EAAAz0W,EAAAzlB,IAAA,uBACAkF,OAAAyjH,KAAA7nC,EAAAo5S,IAIAD,GAAA,MAKA1/X,KAAAylE,MAAA+5T,eACAx/X,KAAAylE,MAAA5vD,IAAA,QAAA7V,KAAAylE,MAAA+5T,eAGAx/X,KAAAylE,MAAA7vD,GAAA,QAAAuB,GACAnX,KAAAylE,MAAA+5T,cAAAroX,GAMAsoX,YAAA,SAAApiX,GACAA,IAAArd,KAAAsa,YAAA4rL,eACAlmM,KAAA+E,IAAAqoG,eAAA,CACAjtG,KAAAw+X,EACAt2U,KAAAroD,KAAAgqB,IACA8nK,SAAA9xL,KAAAsa,YAAA2R,GACAw8N,WAAAprO,KAQAs3C,aAAA,SAAAkV,EAAAvvD,GACA,IAAA2rL,EAAA3rL,EAAAE,UACAg6M,EAAAvuB,EAAAxwB,cAAA,GAEA,GAAA++C,EAAA,CACA,IAAAx9M,EAAA6yD,EAAA,GAAA2qJ,EAAA/1M,GACAxH,EAAA4yD,EAAA,GAAA2qJ,EAAA91M,GACAvC,EAAAzV,KAAAk+C,KAAA5tC,IAAAC,KACA,OAAAkF,GAAAq4M,EAAA51M,GAAAzC,GAAAq4M,EAAA71M,OAIAlc,EAAAm8X,EACAl8X,EAAAC,QAAAF,uCChPA,IAAA6I,EAAYzM,EAAQ,QAEpB,SAAA4oJ,EAAAx+I,GACA,OAAAs4P,mBAAAt4P,GACAsB,QAAA,aACAA,QAAA,aACAA,QAAA,YACAA,QAAA,aACAA,QAAA,YACAA,QAAA,aACAA,QAAA,aAUA7H,EAAAC,QAAA,SAAA26F,EAAAt4E,EAAA46W,GAEA,IAAA56W,EACA,OAAAs4E,EAGA,IAAAuiS,EACA,GAAAD,EACAC,EAAAD,EAAA56W,QACG,GAAA1Z,EAAAnB,kBAAA6a,GACH66W,EAAA76W,EAAAlc,eACG,CACH,IAAAslC,EAAA,GAEA9iC,EAAAT,QAAAma,EAAA,SAAA/b,EAAAgC,GACA,OAAAhC,GAAA,qBAAAA,IAIAqC,EAAAtC,QAAAC,GACAgC,GAAA,KAEAhC,EAAA,CAAAA,GAGAqC,EAAAT,QAAA5B,EAAA,SAAAkU,GACA7R,EAAAzB,OAAAsT,GACAA,IAAA2iX,cACSx0X,EAAA1B,SAAAuT,KACTA,EAAAqxJ,KAAAz0C,UAAA58G,IAEAixB,EAAAz7B,KAAA80I,EAAAx8I,GAAA,IAAAw8I,EAAAtqI,SAIA0iX,EAAAzxV,EAAAp+B,KAAA,KAOA,OAJA6vX,IACAviS,KAAA,IAAAA,EAAAlyD,QAAA,cAAAy0V,GAGAviS,2BC5CA,IAAA99F,EAAaX,EAAQ,QAwBrB0yX,EAAA,CAIA9rX,IAAA,SAAA8iM,EAAAt9L,EAAA05I,GACA,IAAA1gJ,EAAAzE,EAAA+V,OAAAuN,EAAAylL,IAAA,IAA6Dt9L,IAC7D,OAAA05I,GAAAnlJ,EAAAwJ,QAAA/E,OAAAV,OAAA,GAAAU,IAGA6e,EAAA,CACAgE,MAAA,CACA47T,OAAA,sBACAziF,SAAA,mBAEAiiB,SAAA,CACAwgE,OAAA,QACAziF,SAAA,OAEAmiB,gBAAA,CACAsgE,OAAA,OACAziF,SAAA,OAEAoiB,eAAA,CACAqgE,OAAA,QACAziF,SAAA,OAEAqiB,WAAA,CACAogE,OAAA,OACAziF,SAAA,OAEAnsM,QAAA,CACA4uR,OAAA,OACAziF,SAAA,OAEAx1O,OAAA,CACAi4T,OAAA,iCACAziF,SAAA,UAEA3iP,WAAA,CACAolU,OAAA,QACAziF,SAAA,QAGAx9P,EAAA8uX,EACA7uX,EAAAC,QAAAF,0BCpEA,IAAA2e,EAAcviB,EAAQ,QAItBW,GAFA4hB,EAAAC,QAEaxiB,EAAQ,SAoBrBuvL,EAAA,IACAC,EAAA,iCAMA,SAAAC,EAAA/nE,GACA,IAAAphD,EAAA,CACA6H,KAAA,GACA5uD,IAAA,IASA,OANAmoG,IACAA,IAAA93G,MAAA2/K,GACAjpH,EAAA6H,KAAAu5C,EAAA,OACAphD,EAAA/mD,IAAAmoG,EAAA,QAGAphD,EAOA,SAAAopH,EAAAhoE,GACA/mH,EAAA4qD,OAAA,qCAAAokI,KAAAjoE,GAAA,kBAAAA,EAAA,aAOA,SAAAkoE,EAAAC,EAAAC,GACAD,EAAAE,aAAAF,EAEAA,EAAAhqL,OAAA,SAAAy6B,GACA,IAAAiqB,EAAAppD,KAEA6uL,EAAA,WACA1vJ,EAAAyvJ,aAGAzvJ,EAAAyvJ,aAAAlmL,MAAA1I,KAAA2I,WAFAygD,EAAA1gD,MAAA1I,KAAA2I,YAYA,OANAnJ,EAAAkF,OAAAmqL,EAAA5uL,UAAAk/B,GACA0vJ,EAAAnqL,OAAA1E,KAAA0E,OACAmqL,EAAAnF,YACAmF,EAAAvoB,aACA9mK,EAAAgD,SAAAqsL,EAAA7uL,MACA6uL,EAAAzlI,aACAylI,GAIA,IAAAC,EAAA,EAOA,SAAAjD,EAAAkD,GACA,IAAAC,EAAA,cAAAF,IAAApoL,KAAAy3B,SAAAm6E,QAAA,IAAAtoG,KAAA,KACA++K,EAAA9uL,UAAA+uL,IAAA,EAEAD,EAAA/B,WAAA,SAAAliL,GACA,SAAAA,MAAAkkL,KAUA,SAAAtF,EAAAhmK,EAAA+F,GACA,IAAAggC,EAAAjqD,EAAA0/B,MAAAv2B,UAAA,GACA,OAAA3I,KAAAopD,WAAAnpD,UAAAwpB,GAAA/gB,MAAAgb,EAAA+lC,GAGA,SAAA68G,EAAA5iJ,EAAA+F,EAAAggC,GACA,OAAAzpD,KAAAopD,WAAAnpD,UAAAwpB,GAAA/gB,MAAAgb,EAAA+lC,GAUA,SAAAwlI,EAAAC,EAAAr/K,GACAA,KAAA,GAUA,IAAAm4G,EAAA,GAgFA,SAAAmnE,EAAA5oE,GACA,IAAAopD,EAAA3nD,EAAAzB,EAAAv5C,MAOA,OALA2iG,KAAA0e,KACA1e,EAAA3nD,EAAAzB,EAAAv5C,MAAA,GACA2iG,EAAA0e,IAAA,GAGA1e,EAGA,GAzFAuf,EAAAE,cAAA,SAAAC,EAAA9oE,GACA,GAAAA,EAIA,GAHAgoE,EAAAhoE,GACAA,EAAA+nE,EAAA/nE,GAEAA,EAAAnoG,KAEO,GAAAmoG,EAAAnoG,MAAAiwK,EAAA,CACP,IAAA1e,EAAAwf,EAAA5oE,GACAopD,EAAAppD,EAAAnoG,KAAAixK,QAHArnE,EAAAzB,EAAAv5C,MAAAqiH,EAOA,OAAAA,GAGAH,EAAAI,SAAA,SAAAC,EAAAprK,EAAAqrK,GACA,IAAAH,EAAArnE,EAAAunE,GAMA,GAJAF,KAAAhB,KACAgB,EAAAlrK,EAAAkrK,EAAAlrK,GAAA,MAGAqrK,IAAAH,EACA,UAAA1hJ,MAAAxpB,EAAA,aAAAorK,EAAA,KAAAprK,GAAA,kCAAAorK,EAAA,8BAGA,OAAAF,GAGAH,EAAAO,qBAAA,SAAAlpE,GACAA,EAAA+nE,EAAA/nE,GACA,IAAA7iH,EAAA,GACAoH,EAAAk9G,EAAAzB,EAAAv5C,MAUA,OARAliE,KAAAujL,GACA7uL,EAAA2nB,KAAArc,EAAA,SAAA2iB,EAAAttB,GACAA,IAAAkuL,GAAA3qL,EAAAiP,KAAA8a,KAGA/pB,EAAAiP,KAAA7H,GAGApH,GAGAwrL,EAAA9qK,SAAA,SAAAmiG,GAGA,OADAA,EAAA+nE,EAAA/nE,KACAyB,EAAAzB,EAAAv5C,OAOAkiH,EAAAQ,qBAAA,WACA,IAAAC,EAAA,GAIA,OAHAnwL,EAAA2nB,KAAA6gG,EAAA,SAAAl9G,EAAA3K,GACAwvL,EAAAh9K,KAAAxS,KAEAwvL,GASAT,EAAAU,YAAA,SAAArpE,GACAA,EAAA+nE,EAAA/nE,GACA,IAAAz7G,EAAAk9G,EAAAzB,EAAAv5C,MACA,OAAAliE,KAAAujL,IAGAa,EAAAZ,iBAaAz+K,EAAAggL,mBAAA,CACA,IAAAC,EAAAZ,EAAAxqL,OAEAorL,IACAZ,EAAAxqL,OAAA,SAAAy6B,GACA,IAAA0vJ,EAAAiB,EAAA/vL,KAAAC,KAAAm/B,GACA,OAAA+vJ,EAAAE,cAAAP,EAAA1vJ,EAAAh/B,QAKA,OAAA+uL,EAOA,SAAAa,EAAAjlL,EAAAgV,IAgBAnd,EAAA2rL,iBACA3rL,EAAA8rL,oBACA9rL,EAAAkpL,mBACAlpL,EAAAssL,wBACAtsL,EAAAotL,sCCpQA,IAAAnxL,EAAcC,EAAQ,QAoBtBkhY,EAAAnhY,EAAAu3I,qBAAA,CACAh2I,KAAA,cACA6/X,iBAAA,KACAl9W,cAAA,CAEAo5F,KAAA,OAEAkrF,UAAA,KAEAjrF,OAAA,EACAh/E,EAAA,GACAh9B,KAAA,OAIA8/X,MAAA,EACAC,gBAAA,EACAj8X,MAAA,KACA0zD,OAAA,KAaA4uB,KAAA,GAGA7I,UAAA,KACA+B,wBAAA,IACAg6D,UAAA,CACA3yH,MAAA,OACAxkB,MAAA,EACAnC,KAAA,SAEAggY,YAAA,CACAr5W,MAAA,yBAEAhC,MAAA,CACAo3F,MAAA,EACArsC,UAAA,KAEAnZ,UAAA,OAEA0sB,OAAA,EACAt8D,MAAA,OACA5V,QAAA,UACAwrG,gBAAA,OAEA7Z,YAAA,KACA+Z,YAAA,EACAh8G,WAAA,EACAC,YAAA,QAMAw4R,OAAA,CACAn9K,MAAA,EAGAizG,KAAA,2MAIAl0M,KAAA,GAEAmoE,OAAA,GAGAt8D,MAAA,OACAlmB,WAAA,EACAC,YAAA,OACAC,cAAA,EACAC,cAAA,EAEA8nO,SAAA,OAIApmO,EAAAs9X,EACAr9X,EAAAC,QAAAF,wBChIA,IAAAwpB,EAAA,EACAm/C,EAAA1kE,KAAAy3B,SACAz7B,EAAAC,QAAA,SAAAsI,GACA,gBAAAy+C,YAAAphD,IAAA2C,EAAA,GAAAA,EAAA,QAAAghB,EAAAm/C,GAAAtiE,SAAA,8BCHA,IAAAoiD,EAAarsD,EAAQ,QACrBuhY,EAAgBvhY,EAAQ,QAASu0B,IACjCu8S,EAAAzkR,EAAAm7P,kBAAAn7P,EAAAm1U,uBACA7+F,EAAAt2O,EAAAs2O,QACA/7E,EAAAv6J,EAAAu6J,QACA0hH,EAA6B,WAAhBtoU,EAAQ,OAARA,CAAgB2iS,GAE7B9+R,EAAAC,QAAA,WACA,IAAAoJ,EAAAo2J,EAAAslK,EAEArvH,EAAA,WACA,IAAAzmI,EAAAvuE,EACA+jU,IAAAx1P,EAAA6vN,EAAAzpL,SAAApmC,EAAAg9N,OACA,MAAA5iS,EAAA,CACA3I,EAAA2I,EAAA3I,GACA2I,IAAAhI,KACA,IACAX,IACO,MAAA+S,GAGP,MAFApK,EAAA07T,IACAtlK,OAAA75J,EACA6N,GAEKgsJ,OAAA75J,EACLqpE,KAAAu2P,SAIA,GAAAf,EACAM,EAAA,WACAjmC,EAAAa,SAAAjqF,SAGG,IAAAu3H,GAAAzkR,EAAAzgD,WAAAygD,EAAAzgD,UAAA61X,WAQA,GAAA76K,KAAAC,QAAA,CAEH,IAAAF,EAAAC,EAAAC,aAAAp9M,GACAm/T,EAAA,WACAjiH,EAAAI,KAAAxN,SASAqvH,EAAA,WAEA24D,EAAArgY,KAAAmrD,EAAAktJ,QAvBG,CACH,IAAAmoL,GAAA,EACAljX,EAAAzS,SAAAm9N,eAAA,IACA,IAAA4nG,EAAAv3H,GAAA6tG,QAAA5oS,EAAA,CAAuCmpS,eAAA,IACvCihB,EAAA,WACApqT,EAAA9R,KAAAg1X,MAsBA,gBAAAn9X,GACA,IAAA+hB,EAAA,CAAgB/hB,KAAAW,UAAAuE,GAChB65J,MAAAp+J,KAAAohB,GACApZ,IACAA,EAAAoZ,EACAsiT,KACKtlK,EAAAh9I,4BC9CL,IAAA3lB,EAAaX,EAAQ,QAErB2nJ,EAAiB3nJ,EAAQ,QAEzByoF,EAAazoF,EAAQ,QAoBrBsoB,EAAA3nB,EAAA2nB,KACAoxF,EAAAiuC,EAAAjuC,IAWAioR,EAAA,SAAA9nT,EAAA4jL,EAAAxwO,EAAAvR,GAKAva,KAAAygY,SAAA/nT,EAKA14E,KAAA0gY,WAAApkI,EAMAt8P,KAAA2gY,aAMA3gY,KAAA4gY,eAMA5gY,KAAA6gY,YAOA7gY,KAAA8gY,YAMA9gY,KAAAua,UAMAva,KAAA+gY,eAAAj1W,GAkSA,SAAAk1W,EAAAvnG,EAAAjjJ,EAAAg1G,GACA,IAAA3yI,EAAA,CAAA/+F,UA2BA,OA1BAqN,EAAAqkO,EAAA,SAAAlxO,GACA,IAAAm7S,EAAAn7S,EAAAE,UAEAi7S,GACAtuS,EAAAsuS,EAAAp6S,aAAAm7H,GAAA,YAAAl7H,GACA,IAAA2lX,EAAAxrE,EAAAh+E,qBAAAn8N,GACA2lX,EAAA,GAAApoR,EAAA,KAAAA,EAAA,GAAAooR,EAAA,IACAA,EAAA,GAAApoR,EAAA,KAAAA,EAAA,GAAAooR,EAAA,QAKApoR,EAAA,GAAAA,EAAA,KACAA,EAAA,CAAAh/F,UAYAqnX,EAAAznG,EAAA5gL,GACAA,EAGA,SAAAqoR,EAAAznG,EAAA5gL,GACA,IAAAh0G,EAAA40R,EAAAC,eACAxyR,EAAArC,EAAAu1N,QAAA,GAGA+mK,EAAA,aAAAt8X,EAAAY,IAAA,QACA4zP,EAAA8nI,GAAAt8X,EAAA0yI,gBAAAh0I,OAEA,MAAA2D,GAAA,YAAAA,GAAA,oBAAAA,EACA2xG,EAAA,GAAA3xG,EACGi6X,IACHtoR,EAAA,GAAAwgJ,EAAA,IAAAx/O,KAGA,IAAA1S,EAAAtC,EAAAy1N,QAAA,GAiBA,OAfA,MAAAnzN,GAAA,YAAAA,GAAA,oBAAAA,EACA0xG,EAAA,GAAA1xG,EACGg6X,IACHtoR,EAAA,GAAAwgJ,EAAA,EAAAA,EAAA,EAAAx/O,KAGAhV,EAAAY,IAAA,cACAozG,EAAA,OAAAA,EAAA,MACAA,EAAA,OAAAA,EAAA,OAOAA,EAGA,SAAAuoR,EAAA3nG,EAAA4nG,GACA,IAAAx8X,EAAA40R,EAAAC,eACA4nG,EAAA7nG,EAAAmnG,eACAhnG,EAAAH,EAAAknG,aAEA,GAAAW,EAAA,CAKA,IAAA5qU,EAAA8vF,EAAA5tC,kBAAAghL,EAAA,SACAljO,EAAAhwD,KAAAQ,IAAAwvD,EAAA,IAEA,IAAA6qU,EAAAF,GAAA,IAAAC,EAAA,UAAAA,EAAA,GACAz8X,EAAAmkX,SAAAuY,EAAA,MAAA3nG,EAAA,GAAAthL,QAAA5hD,GAAA6qU,EAAA,MAAA3nG,EAAA,GAAAthL,QAAA5hD,KAGA,SAAA8qU,EAAA/nG,GACA,IAAAb,EAAAa,EAAAqnG,YAAA,GACAh1W,EAAA2tQ,EAAAsnG,eACA55W,EAAA,uBAAAqhQ,GACAoQ,EAAApQ,EAAA,QAAA18P,EAAArmB,IAAA+iR,EAAA,QAEA,IAAAi5G,EAAA31W,EAAArmB,IAAA+iR,EAAA,aAEA,SAAAi5G,IACA7oG,EAAApQ,EAAA,aAAAi5G,EACAA,EAAAhoG,EAAAC,eAAA10R,KAAA+S,MAAAqhB,MAAAqoW,GAEA,MAAAA,GAAA,CACA,IAAA5oR,EAAA4gL,EAAAonG,YACAjoG,EAAApQ,EAAA,QAAAhiI,EAAA1uC,UAAAe,EAAA,GAAA4oR,EAAA5oR,EAAA,eA3XA2nR,EAAAvgY,UAAA,CACAC,YAAAsgY,EASAkB,SAAA,SAAA51W,GACA,OAAA9rB,KAAA+gY,iBAAAj1W,GAMA+tQ,mBAAA,WACA,OAAA75R,KAAA2gY,aAAAzhW,SAMAyiW,qBAAA,WACA,OAAA3hY,KAAA4gY,eAAA1hW,SAQAy4P,sBAAA,WACA,IAAAnsC,EAAA,GACAjxO,EAAAva,KAAAua,QAeA,OAdAA,EAAAkkG,WAAA,SAAAnkG,GACA,GAAAgtE,EAAAu7J,iBAAAvoO,EAAA7U,IAAA,sBACA,IAAAizE,EAAA14E,KAAAygY,SACA57X,EAAA0V,EAAAwR,gBAAA,CACAC,SAAA0sD,EAAA,OACA70E,MAAAyW,EAAA7U,IAAAizE,EAAA,aACAzsD,GAAA3R,EAAA7U,IAAAizE,EAAA,YACS,GAET14E,KAAA0gY,cAAA77X,KAAAye,iBACAkoO,EAAA74O,KAAA2H,KAGKta,MACLwrP,GAEAkuC,aAAA,WACA,OAAA15R,KAAAua,QAAAmS,aAAA1sB,KAAAygY,SAAA,OAAAzgY,KAAA0gY,aAEAkB,kBAAA,WACA,IAIA51F,EACA61F,EAUAC,EAfAtrP,EAAAx2I,KAAAygY,SACAlmX,EAAAva,KAAAua,QACA1V,EAAA7E,KAAA05R,eACAqoG,EAAA,MAAAvrP,GAAA,MAAAA,EAkBA,OAdAurP,GACAF,EAAA,YACA71F,EAAA,MAAAx1J,EAAA,UAEAqrP,EAAA,aACA71F,EAAA,UAAAx1J,EAAA,kBAIAj8H,EAAA8kG,cAAA2sL,EAAA,gBAAAg2F,IACAA,EAAAv8X,IAAAo8X,IAAA,MAAAh9X,EAAAY,IAAAo8X,IAAA,KACAC,EAAAE,KAGAF,GAEAhpG,cAAA,WACA,OAAAt5R,EAAA+V,MAAAvV,KAAA8gY,cAYAnnG,oBAAA,SAAAvkR,GACA,IAAAyjG,EAAA74G,KAAA6gY,YACAh8X,EAAA7E,KAAA05R,eACA3hR,EAAAlT,EAAAG,KAAA+S,MAEAkqX,EAAAjiY,KAAA+gY,eAAAmB,mBAEAnpG,EAAA,QACAuoG,EAAA,CAAAlsX,EAAAgX,MAAAhX,EAAAmU,KACAqwQ,EAAA,GAsCA,OArCAzyQ,EAAA,mCAAAgiC,GACAywO,EAAAjnR,KAAA,MAAAyC,EAAA+zC,GAAApxC,EAAAqhB,MAAAhkB,EAAA+zC,IAAA,QAGAhiC,EAAA,eAAAxJ,GACA,IAAAwkX,EAAAvoG,EAAAj8Q,GACAykX,EAAAd,EAAA3jX,GAYA,YAAAskX,EAAAtkX,IACA,MAAAykX,IACAA,EAAArpG,EAAAp7Q,IAIAwkX,EAAApqX,EAAAqhB,MAAAotH,EAAA1uC,UAAAsqR,EAAArpG,EAAAlgL,GAAA,KAKAupR,EAAA57O,EAAA1uC,UAAAqqR,EAAAtpR,EAAAkgL,GAAA,GAKAa,EAAAj8Q,GAAAwkX,EACAb,EAAA3jX,GAAAykX,IAEA,CACAxoG,YAAArhL,EAAAqhL,GACA0nG,cAAA/oR,EAAA+oR,KAWAjnX,MAAA,SAAAyR,GACA,GAAAA,IAAA9rB,KAAA+gY,eAAA,CAIA,IAAApF,EAAA37X,KAAA23R,wBAEA33R,KAAA6gY,YAAAG,EAAAhhY,UAAAygY,SAAA9E,GAUA,IAAA0G,EAAAriY,KAAA25R,oBAAA7tQ,EAAA3I,QACAnjB,KAAA2gY,aAAA0B,EAAAzoG,YACA55R,KAAA4gY,eAAAyB,EAAAf,cACAE,EAAAxhY,MAEAohY,EAAAphY,QAMAsZ,QAAA,SAAAwS,GACAA,IAAA9rB,KAAA+gY,iBAIA/gY,KAAA2gY,aAAA3gY,KAAA4gY,eAAA,KACAQ,EAAAphY,MAAA,KAMAqyT,WAAA,SAAAvmS,EAAA/mB,GACA,GAAA+mB,IAAA9rB,KAAA+gY,eAAA,CAIA,IAAAvqP,EAAAx2I,KAAAygY,SACAj1I,EAAAxrP,KAAA23R,wBACA2qG,EAAAx2W,EAAArmB,IAAA,cACAm0R,EAAA55R,KAAA2gY,aAEA,SAAA2B,GAuBAn7W,EAAAqkO,EAAA,SAAAlxO,GACA,IAAAm7S,EAAAn7S,EAAAE,UACA0O,EAAAusS,EAAAp6S,aAAAm7H,GAAA,GAEAttH,EAAA3lB,SAIA,eAAA++X,EACA7sE,EAAAjjJ,WAAA,SAAA/sJ,GAKA,IAJA,IAAA88W,EACAC,EACA19S,EAEA/5E,EAAA,EAAyBA,EAAAme,EAAA3lB,OAAqBwH,IAAA,CAC9C,IAAA9G,EAAAwxT,EAAAhwT,IAAAyjB,EAAAne,GAAA0a,GACAg9W,GAAA7oX,MAAA3V,GACAy+X,EAAAz+X,EAAA21R,EAAA,GACA+oG,EAAA1+X,EAAA21R,EAAA,GAEA,GAAA6oG,IAAAC,IAAAC,EACA,SAGAF,IAAA39S,GAAA,GACA49S,IAAAH,GAAA,GACAI,IAAAH,GAAA,GAIA,OAAA19S,GAAAy9S,GAAAC,IAGAr7W,EAAA+B,EAAA,SAAA5N,GACA,aAAAgnX,EACAhoX,EAAAa,QAAAs6S,EAAAroT,IAAAkO,EAAA,SAAArX,GACA,OAAA2+X,EAAA3+X,KAAA4V,WAEW,CACX,IAAAm+F,EAAA,GACAA,EAAA18F,GAAAs+Q,EAEA67B,EAAAotE,YAAA7qR,MAKA7wF,EAAA+B,EAAA,SAAA5N,GACAm6S,EAAAqtE,qBAAAlpG,EAAAt+Q,QAIA,SAAAsnX,EAAA3+X,GACA,OAAAA,GAAA21R,EAAA,IAAA31R,GAAA21R,EAAA,MA2GA,IAAAn3R,EAAA+9X,EACA99X,EAAAC,QAAAF,0BC9eA,IAAA6+N,EAAgBziO,EAAQ,QACxBiE,EAAejE,EAAQ,QACvBkkY,EAAsBlkY,EAAQ,QAC9B6D,EAAAC,QAAA,SAAAqgY,GACA,gBAAAC,EAAAlyV,EAAAmyV,GACA,IAGAj/X,EAHAijM,EAAAo6B,EAAA2hK,GACA1/X,EAAAT,EAAAokM,EAAA3jM,QACAM,EAAAk/X,EAAAG,EAAA3/X,GAIA,GAAAy/X,GAAAjyV,MAAA,MAAAxtC,EAAAM,EAGA,GAFAI,EAAAijM,EAAArjM,KAEAI,KAAA,cAEK,KAAYV,EAAAM,EAAeA,IAAA,IAAAm/X,GAAAn/X,KAAAqjM,IAChCA,EAAArjM,KAAAktC,EAAA,OAAAiyV,GAAAn/X,GAAA,EACK,OAAAm/X,IAAA,0BCwCL,SAAAvgY,EAAAqE,EAAAu6M,EAAAtmM,EAAAglM,EAAAi5E,EAAAC,GAEA53E,EAAA,GAAA+0F,EAAA/0F,EAAA,GAAAtmM,GACAsmM,EAAA,GAAA+0F,EAAA/0F,EAAA,GAAAtmM,GACAjU,KAAA,EACA,IAAAq8X,EAAApoX,EAAA,GAAAA,EAAA,GAEA,MAAAi+Q,IACAA,EAAAod,EAAApd,EAAA,GAAAmqG,KAGA,MAAAlqG,IACAA,EAAAvyR,KAAAS,IAAA8xR,EAAA,MAAAD,IAAA,IAGA,QAAAj5E,IACAi5E,EAAAC,EAAAvyR,KAAAiR,IAAA0pM,EAAA,GAAAA,EAAA,IACAtB,EAAA,GAGA,IAAAqjL,EAAAC,EAAAhiL,EAAAtB,GACAsB,EAAAtB,IAAAj5M,EAEA,IAAAw8X,EAAAtqG,GAAA,EACAuqG,EAAAxoX,EAAAmkB,QACAkkW,EAAArmN,KAAA,EAAAwmN,EAAA,IAAAD,EAAAC,EAAA,IAAAD,EACAjiL,EAAAtB,GAAAq2F,EAAA/0F,EAAAtB,GAAAwjL,GAEA,IAAAC,EAAAH,EAAAhiL,EAAAtB,GAEA,MAAAi5E,IAAAwqG,EAAAzmN,OAAAqmN,EAAArmN,MAAAymN,EAAAx7X,KAAAgxR,KAEA33E,EAAA,EAAAtB,GAAAsB,EAAAtB,GAAAqjL,EAAArmN,KAAAi8G,GAIAwqG,EAAAH,EAAAhiL,EAAAtB,GAMA,OAJA,MAAAk5E,GAAAuqG,EAAAx7X,KAAAixR,IACA53E,EAAA,EAAAtB,GAAAsB,EAAAtB,GAAAyjL,EAAAzmN,KAAAk8G,GAGA53E,EAGA,SAAAgiL,EAAAhiL,EAAAtB,GACA,IAAApiL,EAAA0jL,EAAAtB,GAAAsB,EAAA,EAAAtB,GAGA,OACA/3M,KAAAtB,KAAAiR,IAAAgmB,GACAo/I,KAAAp/I,EAAA,KAAAA,EAAA,IAAAoiL,GAAA,KAIA,SAAAq2F,EAAAnyS,EAAAS,GACA,OAAAgC,KAAAQ,IAAAxC,EAAA,GAAAgC,KAAAS,IAAAzC,EAAA,GAAAT,IAGAvB,EAAAC,QAAAF,wBCvHA,IAAAmH,EAAe/K,EAAQ,QACvB6D,EAAAC,QAAA,SAAA4K,GACA,IAAA3D,EAAA2D,GAAA,MAAAzJ,UAAAyJ,EAAA,sBACA,OAAAA,yBCiBA,IAAA/N,EAAaX,EAAQ,QA6BrB+4G,EAAA,KAEA,SAAAC,EAAAvtG,GACA,OAAAA,EAAAC,QAAA,WAAAA,QAAA,WAaA,SAAAutG,EAAA7uG,EAAA8uG,EAAAC,EAAA54E,GACA,IAAA64E,EAAAF,EAAA,GAAAA,EAAA,GACAG,EAAAF,EAAA,GAAAA,EAAA,GAEA,OAAAC,EACA,WAAAC,EAAAF,EAAA,IAAAA,EAAA,GAAAA,EAAA,MAQA,GAAA54E,EACA,GAAA64E,EAAA,GACA,GAAAhvG,GAAA8uG,EAAA,GACA,OAAAC,EAAA,GACO,GAAA/uG,GAAA8uG,EAAA,GACP,OAAAC,EAAA,OAEK,CACL,GAAA/uG,GAAA8uG,EAAA,GACA,OAAAC,EAAA,GACO,GAAA/uG,GAAA8uG,EAAA,GACP,OAAAC,EAAA,OAGG,CACH,GAAA/uG,IAAA8uG,EAAA,GACA,OAAAC,EAAA,GAGA,GAAA/uG,IAAA8uG,EAAA,GACA,OAAAC,EAAA,GAIA,OAAA/uG,EAAA8uG,EAAA,IAAAE,EAAAC,EAAAF,EAAA,GAYA,SAAAl2B,EAAAq2B,EAAAC,GACA,OAAAD,GACA,aACA,aACAA,EAAA,MACA,MAEA,WACA,UACAA,EAAA,KACA,MAEA,YACA,aACAA,EAAA,OACA,MAGA,wBAAAA,EACAN,EAAAM,GAAAthF,MAAA,MACA0U,WAAA4sE,GAAA,IAAAC,EAGA7sE,WAAA4sE,GAGA,MAAAA,EAAAt+F,KAAAs+F,EAaA,SAAAj+F,EAAAlY,EAAA00D,EAAA2hD,GAQA,OAPA,MAAA3hD,IACAA,EAAA,IAIAA,EAAAhwD,KAAAQ,IAAAR,KAAAS,IAAA,EAAAuvD,GAAA,IACA10D,OAAAs2G,QAAA5hD,GACA2hD,EAAAr2G,KAGA,SAAAu2G,EAAA96E,GAIA,OAHAA,EAAAxH,KAAA,SAAA1tB,EAAAC,GACA,OAAAD,EAAAC,IAEAi1B,EAQA,SAAA+6E,EAAAvvG,GAGA,GAFAA,KAEA2Q,MAAA3Q,GACA,SAOA,IAAAkN,EAAA,EACAwD,EAAA,EAEA,MAAAjT,KAAAwT,MAAAjR,EAAAkN,OAAAlN,EACAkN,GAAA,GACAwD,IAGA,OAAAA,EAQA,SAAA8+F,EAAAxvG,GACA,IAAAqB,EAAArB,EAAAH,WAEA4vG,EAAApuG,EAAA8gC,QAAA,KAEA,GAAAstE,EAAA,GACA,IAAAhiD,GAAApsD,EAAA40B,MAAAw5E,EAAA,GACA,OAAAhiD,EAAA,GAAAA,EAAA,EAEA,IAAAiiD,EAAAruG,EAAA8gC,QAAA,KACA,OAAAutE,EAAA,IAAAruG,EAAA/G,OAAA,EAAAo1G,EAYA,SAAAC,EAAAC,EAAAC,GACA,IAAAxjF,EAAA5uB,KAAA4uB,IACAyjF,EAAAryG,KAAAqyG,KACAC,EAAAtyG,KAAAmK,MAAAykB,EAAAujF,EAAA,GAAAA,EAAA,IAAAE,GACAE,EAAAvyG,KAAAwT,MAAAob,EAAA5uB,KAAAiR,IAAAmhG,EAAA,GAAAA,EAAA,KAAAC,GAEAriD,EAAAhwD,KAAAQ,IAAAR,KAAAS,KAAA6xG,EAAAC,EAAA,OACA,OAAAl/F,SAAA28C,KAAA,GAeA,SAAAwiD,EAAAC,EAAAx7F,EAAA+4C,GACA,IAAAyiD,EAAAx7F,GACA,SAGA,IAAAjE,EAAAla,EAAA2mB,OAAAgzF,EAAA,SAAAC,EAAAnwG,GACA,OAAAmwG,GAAAx/F,MAAA3Q,GAAA,EAAAA,IACG,GAEH,OAAAyQ,EACA,SAGA,IAAA2/F,EAAA3yG,KAAA2uB,IAAA,GAAAqhC,GACA4iD,EAAA95G,EAAA4N,IAAA+rG,EAAA,SAAAlwG,GACA,OAAA2Q,MAAA3Q,GAAA,EAAAA,GAAAyQ,EAAA2/F,EAAA,MAEAE,EAAA,IAAAF,EACAG,EAAAh6G,EAAA4N,IAAAksG,EAAA,SAAAG,GAEA,OAAA/yG,KAAAmK,MAAA4oG,KAEAC,EAAAl6G,EAAA2mB,OAAAqzF,EAAA,SAAAJ,EAAAnwG,GACA,OAAAmwG,EAAAnwG,GACG,GACH0wG,EAAAn6G,EAAA4N,IAAAksG,EAAA,SAAAG,EAAA97F,GACA,OAAA87F,EAAAD,EAAA77F,KAGA,MAAA+7F,EAAAH,EAAA,CAKA,IAHA,IAAApyG,EAAA6Y,OAAA45F,kBACAC,EAAA,KAEA9uG,EAAA,EAAA0B,EAAAktG,EAAAp2G,OAA2CwH,EAAA0B,IAAS1B,EACpD4uG,EAAA5uG,GAAA5D,IACAA,EAAAwyG,EAAA5uG,GACA8uG,EAAA9uG,KAKAyuG,EAAAK,GACAF,EAAAE,GAAA,IACAH,EAGA,OAAAF,EAAA77F,GAAA07F,EAIA,IAAAS,EAAA,iBAOA,SAAAC,EAAA95B,GACA,IAAA+5B,EAAA,EAAAtzG,KAAAC,GACA,OAAAs5E,EAAA+5B,OAQA,SAAAC,EAAAhxG,GACA,OAAAA,GAAA2uG,GAAA3uG,EAAA2uG,EAKA,IAAAsC,EAAA,oIAoBA,SAAAC,EAAAl2G,GACA,GAAAA,aAAA+zB,KACA,OAAA/zB,EACG,qBAAAA,EAAA,CAMH,IAAA4yB,EAAAqjF,EAAA3oG,KAAAtN,GAEA,IAAA4yB,EAEA,WAAAmB,KAAAne,KAIA,GAAAgd,EAAA,GAWA,CACA,IAAAujF,GAAAvjF,EAAA,MAMA,MAJA,MAAAA,EAAA,GAAA+I,gBACAw6E,GAAAvjF,EAAA,GAAAqI,MAAA,MAGA,IAAAlH,UAAAqiF,KAAAxjF,EAAA,KAAAA,EAAA,UAAAA,EAAA,MAAAujF,IAAAvjF,EAAA,QAAAA,EAAA,OAAAA,EAAA,QAfA,WAAAmB,MAAAnB,EAAA,KAAAA,EAAA,UAAAA,EAAA,OAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,OAAAA,EAAA,OAiBG,aAAA5yB,EACH,IAAA+zB,KAAAne,KAGA,IAAAme,KAAAtxB,KAAAwT,MAAAjW,IAUA,SAAAq2G,EAAArxG,GACA,OAAAvC,KAAA2uB,IAAA,GAAAklF,EAAAtxG,IAGA,SAAAsxG,EAAAtxG,GACA,OAAAvC,KAAAmK,MAAAnK,KAAA4uB,IAAArsB,GAAAvC,KAAAqyG,MAeA,SAAAyB,EAAAvxG,EAAAiR,GACA,IAIAshD,EAJAi/C,EAAAF,EAAAtxG,GACAyxG,EAAAh0G,KAAA2uB,IAAA,GAAAolF,GACA72G,EAAAqF,EAAAyxG,EAiCA,OA3BAl/C,EAFAthD,EACAtW,EAAA,IACA,EACKA,EAAA,IACL,EACKA,EAAA,EACL,EACKA,EAAA,EACL,EAEA,GAGAA,EAAA,EACA,EACKA,EAAA,EACL,EACKA,EAAA,EACL,EACKA,EAAA,EACL,EAEA,GAIAqF,EAAAuyD,EAAAk/C,EAGAD,IAAA,IAAAxxG,EAAAqvG,QAAAmC,EAAA,GAAAA,EAAA,GAAAxxG,EAUA,SAAAw6X,EAAAC,EAAA5iX,GACA,IAAAi4G,GAAA2qQ,EAAAngY,OAAA,GAAAud,EAAA,EACAC,EAAAra,KAAAmK,MAAAkoH,GACA57G,GAAAumX,EAAA3iX,EAAA,GACA5K,EAAA4iH,EAAAh4G,EACA,OAAA5K,EAAAgH,EAAAhH,GAAAutX,EAAA3iX,GAAA5D,KA0BA,SAAAw9F,EAAAxtG,GACAA,EAAA8oB,KAAA,SAAA1tB,EAAAC,GACA,OAAAoyG,EAAAryG,EAAAC,EAAA,UAKA,IAHA,IAAAqyG,GAAA/gG,IACAghG,EAAA,EAEA/vG,EAAA,EAAiBA,EAAAoC,EAAA5J,QAAiB,CAIlC,IAHA,IAAAmZ,EAAAvP,EAAApC,GAAA2R,SACAq+F,EAAA5tG,EAAApC,GAAAgwG,MAEAC,EAAA,EAAoBA,EAAA,EAAQA,IAC5Bt+F,EAAAs+F,IAAAH,IACAn+F,EAAAs+F,GAAAH,EACAE,EAAAC,KAAA,IAAAF,GAGAD,EAAAn+F,EAAAs+F,GACAF,EAAAC,EAAAC,GAGAt+F,EAAA,KAAAA,EAAA,IAAAq+F,EAAA,GAAAA,EAAA,OACA5tG,EAAAkkE,OAAAtmE,EAAA,GAEAA,IAIA,OAAAoC,EAEA,SAAAytG,EAAAryG,EAAAC,EAAAwyG,GACA,OAAAzyG,EAAAmU,SAAAs+F,GAAAxyG,EAAAkU,SAAAs+F,IAAAzyG,EAAAmU,SAAAs+F,KAAAxyG,EAAAkU,SAAAs+F,KAAAzyG,EAAAwyG,MAAAC,GAAAxyG,EAAAuyG,MAAAC,SAAA,OAAAA,GAAAJ,EAAAryG,EAAAC,EAAA,KAaA,SAAAyyG,EAAA99F,GACA,OAAAA,EAAAouB,WAAApuB,IAAA,EAGAxa,EAAAm1G,YACAn1G,EAAAm/E,eACAn/E,EAAAuX,QACAvX,EAAA41G,MACA51G,EAAA61G,eACA71G,EAAA81G,mBACA91G,EAAAi2G,oBACAj2G,EAAAu2G,0BACAv2G,EAAAm3G,mBACAn3G,EAAAo3G,YACAp3G,EAAAs3G,qBACAt3G,EAAAw3G,YACAx3G,EAAA23G,WACA33G,EAAA63G,OACA73G,EAAA8gY,WACA9gY,EAAAg4G,kBACAh4G,EAAAs4G,kCCrhBA,IAAAuwL,EAAuB3sS,EAAQ,QAE/B+jB,EAAkB/jB,EAAQ,QAE1BW,EAAaX,EAAQ,QAoBrB8kY,EAAA/gX,EAAAle,OAAA,CACAvE,KAAA,eACA0jB,eAAA,SAAAV,EAAA5I,GACA,IAAAqpX,EAAAzgX,EAAA5X,MAAA,GAOA,OALA/L,EAAAwJ,QAAA46X,KACAA,EAAA,CAAAA,IAGAzgX,EAAA5X,KAAAq4X,EACAp4F,EAAAxrS,KAAA,YAEA8iB,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EAEAjhB,OAAA,cACAytK,iBAAA,EACAxtK,OAAA,MACA0C,WAAA,IACAC,UAAA,GACAC,WAAA,EAEA7X,IAAA,EAEAC,IAAA,IAEAgxI,YAAA,GAEAN,SAAA,CAEA37B,MAAA,EACAu9B,UAAA,CAEA3yH,MAAA,8CACAxkB,MAAA,KAIAo3I,UAAA,CAEAx9B,MAAA,EAEA34G,OAAA,GAEAk2I,UAAA,CACA3yH,MAAA,OACAxkB,MAAA,EACAnC,KAAA,UAIA23I,SAAA,CAEA57B,MAAA,EAEAi8B,YAAA,EAEA50I,OAAA,EAEAk2I,UAAA,CACA3yH,MAAA,OACAxkB,MAAA,EACAnC,KAAA,UAGAm1I,UAAA,CACAp5B,MAAA,EACA1sG,SAAA,EAEAsX,MAAA,QAEA/gB,QAAA,CACAm2G,MAAA,EACA34G,OAAA,MACAjB,MAAA,GAEAgpG,UAAA,CACAxkF,MAAA,QAEA0jL,MAAA,CACAtuF,MAAA,EAEA88L,aAAA,WAEAlyR,MAAA,OACApT,SAAA,IAEA6tE,OAAA,CACA26B,MAAA,EACAQ,gBAAA,gBACAE,YAAA,EACA/Z,YAAA,OACAvgG,MAAA,IACAC,OAAA,KAEA2O,QAAA,OAEA8nS,aAAA,UAGAlyR,MAAA,OACApT,SAAA,OAIAjR,EAAAkhY,EACAjhY,EAAAC,QAAAF,wBCnIA,IAAAohY,EAAahlY,EAAQ,QAErBi6N,EAAuBj6N,EAAQ,QAgC/B,SAAAiwC,EAAAv0B,EAAAxV,GACA,IAAA++X,EAAA,GAkBA,OAjBAvpX,EAAA8kG,cAAA,sBAAAx6G,EAAA8Y,GACA,IAAA8uL,EAAA,IAAAo3L,EAAAh/X,EAAA0V,EAAAxV,GACA0nM,EAAAn+L,KAAA,UAAAqP,EACA8uL,EAAApuI,OAAAx5D,EAAAE,GACAF,EAAAK,iBAAAunM,EACAq3L,EAAAnxX,KAAA85L,KAEAlyL,EAAAkkG,WAAA,SAAAnkG,GACA,kBAAAA,EAAA7U,IAAA,qBACA,IAAA2sT,EAAA73S,EAAAwR,gBAAA,CACAC,SAAA,aACAnoB,MAAAyW,EAAA7U,IAAA,mBACAwmB,GAAA3R,EAAA7U,IAAA,kBACO,GACP6U,EAAApV,iBAAAktT,KAAAltT,oBAGA4+X,EAGAhrK,EAAA9gE,SAAA,UACAlpH,SACA2pC,WAAAorT,EAAA5jY,UAAAw4E,mCC1DA,IAAAsrT,EAAgBllY,EAAQ,QAExBmlY,EAAAD,EAAAC,SACAC,EAAAF,EAAAE,qBAEAjrL,EAAYn6M,EAAQ,QAEpBowE,EAAWpwE,EAAQ,QAEnB8O,EAAY9O,EAAQ,QAEpBurD,EAAAz8C,EAAAy8C,OACAS,EAAAl9C,EAAAk9C,cAEAp9C,EAAmB5O,EAAQ,QAE3Bs8I,EAAat8I,EAAQ,QAErB8jB,EAAAw4H,EAAAx4H,UAoBAD,EAAAC,IACAlgB,EAAA,CAMA8kC,KAAA,SAAA25P,EAAAC,GACA,IAAA+iG,EAAAxhX,EAAAy+Q,GAAA+iG,WAEA,GAAAA,EACA,OACAj3W,KAAAi3W,EACAnoK,aAAAr5M,EAAAy+Q,GAAAplE,cAIA,IAAA73N,EAAAigY,EAAAhjG,GAGA,OAFAz+Q,EAAAy+Q,GAAA+iG,WAAAhgY,EAAA+oB,KACAvK,EAAAy+Q,GAAAplE,aAAA73N,EAAA63N,aACA73N,GAEA8nW,YAAA,SAAA9qE,EAAAC,EAAAijG,GAGA,IAAAnrS,EAAAv2E,EAAAy+Q,GACAkjG,EAAAprS,EAAAorS,UAAAprS,EAAAorS,QAAAx5U,KACA59B,EAAAo3W,EAAA5+X,IAAA2+X,GAEA,GAAAn3W,EACA,OAAAA,EAGA,IAAAi3W,EAAAjrS,EAAAirS,WACAnoK,EAAA9iI,EAAA8iI,aAUA,OAPA9iI,EAAAqrS,kBAIAr3W,EAAAk3W,EAAAhjG,EAAAplE,GAAA9uM,MAHAgsE,EAAAqrS,kBAAAF,EACAn3W,EAAAi3W,GAKAG,EAAAjxW,IAAAgxW,EAAAn3W,IAEA8+U,cAAA,SAAA7qE,EAAAC,EAAAijG,GACA,IAAAnrS,EAAAv2E,EAAAy+Q,GACAkjG,EAAAprS,EAAAorS,QACAA,KAAAp5U,UAAAm5U,GAEAA,IAAAnrS,EAAAqrS,oBACArrS,EAAAqrS,kBAAA,QAKA,SAAAH,EAAAhjG,EAAAplE,GACA,IACAr4N,EACAupB,EAFAs3W,EAAApjG,EAAAojG,OAIA,IACA7gY,EAAA6gY,GAAAP,EAAAO,EAAA,CACAC,eAAA,EACAC,gBAAA,KACK,GACLx3W,EAAAvpB,EAAAupB,KACAm9B,EAAA,MAAAn9B,GACG,MAAA9W,GACH,UAAAw3B,MAAA,uBAAAx3B,EAAAm0C,SAGA,IAAAo6U,EAAAhhY,EAAApB,MACAqiY,EAAAjhY,EAAAnB,OACAqiY,EAAAlhY,EAAAkhY,YAgBA,GAdA7oK,IACAA,EAAA,MAAA2oK,GAAA,MAAAC,EAEA13W,EAAA1rB,kBAAA,IAAAkM,EAAA,SAEA,MAAAi3X,IACA3oK,EAAAz5N,MAAAoiY,GAGA,MAAAC,IACA5oK,EAAAx5N,OAAAoiY,IAIAC,EAAA,CACA,IAAAC,EAAAZ,EAAAW,EAAA7oK,EAAAz5N,MAAAy5N,EAAAx5N,QACAuiY,EAAA73W,EACAA,EAAA,IAAA+rL,EACA/rL,EAAAsQ,IAAAunW,GACAA,EAAA/sX,MAAA8sX,EAAA9sX,MACA+sX,EAAAx+X,SAAAu+X,EAAAv+X,SAMA,OAHA2mB,EAAAowQ,YAAA,IAAApuN,EAAA,CACArnE,MAAAm0N,EAAAjlH,WAEA,CACA7pF,OACA8uM,gBAIAr5N,EAAAC,QAAAF,wBCnJA,IAAA7D,EAAcC,EAAQ,QAoBtBoqP,EAAA,CACA9oP,KAAA,kBACAgX,MAAA,oBAEAoV,OAAA,UAEA3tB,EAAA0tB,eAAA28N,EAAA,SAAAz8N,EAAAjS,GACAA,EAAA8kG,cAAA,CACArzF,SAAA,YACAgqH,MAAAxpH,GACG,SAAA7I,GACHA,EAAA60U,YAAAhsU,EAAAs0L,kCCnDA,IAAAwuG,EAAA,EAAA5oT,KAAAC,GAEA,SAAAysT,EAAAntQ,GAOA,OANAA,GAAAqpQ,EAEArpQ,EAAA,IACAA,GAAAqpQ,GAGArpQ,EAGAtjD,EAAAywT,qDCVA,IAAA9nT,EAAYzM,EAAQ,QACpB+J,EAAW/J,EAAQ,QACnBumN,EAAYvmN,EAAQ,QACpByW,EAAezW,EAAQ,QAQvB,SAAAkmY,EAAAC,GACA,IAAAthX,EAAA,IAAA0hM,EAAA4/K,GACAv7P,EAAA7gI,EAAAw8M,EAAAnlN,UAAAisD,QAAAxoC,GAQA,OALApY,EAAA5G,OAAA+kI,EAAA27E,EAAAnlN,UAAAyjB,GAGApY,EAAA5G,OAAA+kI,EAAA/lH,GAEA+lH,EAIA,IAAAw7P,EAAAF,EAAAzvX,GAGA2vX,EAAA7/K,QAGA6/K,EAAAn2V,OAAA,SAAAu2K,GACA,OAAA0/K,EAAAz5X,EAAAH,MAAAmK,EAAA+vM,KAIA4/K,EAAAzwB,OAAe31W,EAAQ,QACvBomY,EAAAC,YAAoBrmY,EAAQ,QAC5BomY,EAAApQ,SAAiBh2X,EAAQ,QAGzBomY,EAAA7sR,IAAA,SAAA+sR,GACA,OAAA1/K,QAAArtG,IAAA+sR,IAEAF,EAAAG,OAAevmY,EAAQ,QAEvB6D,EAAAC,QAAAsiY,EAGAviY,EAAAC,QAAA88P,QAAAwlI,sBClDA,IAAAr5J,EAAA7iO,OAAA9I,UAOA4rO,EAAAD,EAAA9iO,SASA,SAAAu8X,EAAAphY,GACA,OAAA4nO,EAAA9rO,KAAAkE,GAGAvB,EAAAC,QAAA0iY,wBCDA,IAAAzmY,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBg+N,EAA6Bh+N,EAAQ,QAErCymY,EAAkBzmY,EAAQ,QAE1BA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAuBRD,EAAAU,qBAAA,SAAA6jB,GAEA,GAAAA,EAAA,GACAA,EAAAy0H,aAAA,IAAAz0H,EAAAy0H,YAAAr0I,UAAA4f,EAAAy0H,YAAA,IACA,IAAArxD,EAAApjE,EAAAy0H,YAAArxD,KAIAA,IAAA/mF,EAAAwJ,QAAAu9E,KACApjE,EAAAy0H,YAAArxD,KAAA,CAAAA,OAMA3nF,EAAAS,kBAAAT,EAAA+1Q,SAAAC,UAAAC,UAAA,SAAAt6P,EAAAxV,GAGAwV,EAAAmS,aAAA,eAAAszW,iBAAAnjK,EAAA0oK,QAAAhrX,EAAAxV,KAGAnG,EAAA0tB,eAAA,CACAnsB,KAAA,oBACAgX,MAAA,oBACAoV,OAAA,sBACC+4W,yBC5DD,IAAA9lY,EAAaX,EAAQ,QAErBY,EAAkBZ,EAAQ,QAE1B2nJ,EAAiB3nJ,EAAQ,QA2BzB,SAAA6iB,EAAA1f,GACA,OAAA4X,MAAA5X,GACA,KAGAA,KAAA,IAAAyM,MAAA,KACAzM,EAAA,GAAAuI,QAAA,iCAA2C,QAAAvI,EAAAuB,OAAA,MAAAvB,EAAA,QAS3C,SAAAykJ,EAAAn8I,EAAAo8I,GASA,OARAp8I,MAAA,IAAAovH,cAAAnvH,QAAA,iBAAAssB,EAAA8vH,GACA,OAAAA,EAAA/mH,gBAGA8mH,GAAAp8I,IACAA,IAAAmI,OAAA,GAAAmtB,cAAAt1B,EAAA40B,MAAA,IAGA50B,EAGA,IAAA6/C,EAAA3qD,EAAA2qD,kBACAy8F,EAAA,aACAC,EAAA,CACAC,IAAA,QACAC,IAAA,OACAC,IAAA,OACAC,IAAA,SACAC,IAAA,SAGA,SAAAzlI,EAAAwY,GACA,aAAAA,EAAA,IAAAA,EAAA,IAAA1vB,QAAAq8I,EAAA,SAAAt8I,EAAA7B,GACA,OAAAo+I,EAAAp+I,KAIA,IAAA0+I,EAAA,8BAEAC,EAAA,SAAAC,EAAAC,GACA,UAAWD,GAAA,MAAAC,EAAA,GAAAA,GAAA,KAWX,SAAAx3E,EAAAy3E,EAAAC,EAAAC,GACAjoJ,EAAAwJ,QAAAw+I,KACAA,EAAA,CAAAA,IAGA,IAAAE,EAAAF,EAAAjkJ,OAEA,IAAAmkJ,EACA,SAKA,IAFA,IAAAC,EAAAH,EAAA,GAAAG,OAAA,GAEA58I,EAAA,EAAiBA,EAAA48I,EAAApkJ,OAAkBwH,IAAA,CACnC,IAAA68I,EAAAT,EAAAp8I,GACAw8I,IAAAh9I,QAAA68I,EAAAQ,GAAAR,EAAAQ,EAAA,IAGA,QAAAN,EAAA,EAAyBA,EAAAI,EAAuBJ,IAChD,QAAA5mI,EAAA,EAAmBA,EAAAinI,EAAApkJ,OAAkBmd,IAAA,CACrC,IAAAzX,EAAAu+I,EAAAF,GAAAK,EAAAjnI,IACA6mI,IAAAh9I,QAAA68I,EAAAD,EAAAzmI,GAAA4mI,GAAAG,EAAAhmI,EAAAxY,MAIA,OAAAs+I,EAYA,SAAAM,EAAAN,EAAAj+H,EAAAm+H,GAIA,OAHAjoJ,EAAA2nB,KAAAmC,EAAA,SAAArlB,EAAAgH,GACAs8I,IAAAh9I,QAAA,IAAwBU,EAAA,IAAYw8I,EAAAhmI,EAAAxd,QAEpCsjJ,EAaA,SAAA5lI,EAAAvM,EAAA0yI,GACA1yI,EAAA5V,EAAAiK,SAAA2L,GAAA,CACA0R,MAAA1R,EACA0yI,gBACG1yI,GAAA,GACH,IAAA0R,EAAA1R,EAAA0R,MACA3mB,EAAAiV,EAAAjV,KAEAwlB,GADAmiI,EAAA1yI,EAAA0yI,aACA1yI,EAAAuQ,YAAA,QACAK,EAAA5Q,EAAA4Q,UAAA,IAEA,OAAAc,EAIA,SAAAnB,EACA,YAAAxlB,EAAA,oJAAsKshB,EAAAqF,GAAA,KAA2CghI,GAAA,iIAA4IrmI,EAAAqF,GAAA,KAA2CghI,GAAA,gBAGxY,CACAniI,aACAqB,QAAA,UAAiBhB,EAAA,OACjBzlB,MAAA,CACAumB,UAXA,GAiBA,SAAAihI,EAAAz9I,EAAAmC,GAEA,OADAnC,GAAA,GACA,OAAAwG,OAAA,EAAArE,EAAAnC,EAAA/G,QAAA+G,EAaA,SAAAkX,EAAA+lI,EAAAtjJ,EAAA+jJ,GACA,SAAAT,GAAA,UAAAA,GAAA,YAAAA,GAAA,cAAAA,GAAA,SAAAA,IACAA,EAAA,eAGA,IAAAU,EAAAzB,EAAArsC,UAAAl2G,GACAikJ,EAAAF,EAAA,SACA/lJ,EAAAgmJ,EAAA,MAAAC,EAAA,cACAC,EAAAF,EAAA,MAAAC,EAAA,aACA1rI,EAAAyrI,EAAA,MAAAC,EAAA,UACAnnI,EAAAknI,EAAA,MAAAC,EAAA,WACA36H,EAAA06H,EAAA,MAAAC,EAAA,aACAj6H,EAAAg6H,EAAA,MAAAC,EAAA,aACAlvB,EAAAivB,EAAA,MAAAC,EAAA,kBAEA,OADAX,IAAAh9I,QAAA,KAAAw9I,EAAAI,EAAA,IAAA59I,QAAA,IAAA49I,GAAA59I,QAAA,OAAAtI,GAAAsI,QAAA,KAAAtI,EAAA,KAAAsI,QAAA,KAAAw9I,EAAAvrI,EAAA,IAAAjS,QAAA,IAAAiS,GAAAjS,QAAA,KAAAw9I,EAAAhnI,EAAA,IAAAxW,QAAA,IAAAwW,GAAAxW,QAAA,KAAAw9I,EAAAx6H,EAAA,IAAAhjB,QAAA,IAAAgjB,GAAAhjB,QAAA,KAAAw9I,EAAA95H,EAAA,IAAA1jB,QAAA,IAAA0jB,GAAA1jB,QAAA,MAAAw9I,EAAA/uB,EAAA,IACAuuB,EASA,SAAAa,EAAA99I,GACA,OAAAA,IAAAmI,OAAA,GAAAmtB,cAAAt1B,EAAAwG,OAAA,GAAAxG,EAGA,IAAAoF,EAAAjQ,EAAAiQ,aAeA,SAAA81X,EAAApwX,GACA,OAAA3V,EAAA8B,gBAAA6T,EAAApU,KAAAoU,EAAA1T,KAAA0T,EAAAzT,UAAAyT,EAAAxT,kBAAAwT,EAAAvT,YAAAuT,EAAAtT,eAAAsT,EAAArT,KAAAqT,EAAAzG,UAUA,SAAA05I,EAAArnJ,EAAAU,EAAAC,EAAAC,EAAAC,EAAAE,EAAA4M,EAAA7M,GACA,OAAArC,EAAA8B,gBAAAP,EAAAU,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA4M,GAGAhM,EAAA+e,YACA/e,EAAA8jJ,cACA9jJ,EAAAwnD,oBACAxnD,EAAA8e,aACA9e,EAAAmtE,YACAntE,EAAAklJ,kBACAllJ,EAAAgf,mBACAhf,EAAA6e,aACA7e,EAAAylJ,eACAzlJ,EAAA+M,eACA/M,EAAA6iY,sBACA7iY,EAAA0lJ,oCC/PA,IAAAglF,EAAsBxuO,EAAQ,QAoB9B47M,EAAA4yB,EAAA,2HACA5qO,EAAA,CACAg4M,aAAA,SAAA6yB,GACA,IAAA/sO,EAAAk6M,EAAAz6M,KAAAstO,GACArJ,EAAAjkO,KAAAghU,YAAAzgU,EAAAkQ,WAEA,OADAwzN,IAAA1jO,EAAA0jO,YACA1jO,GAEAygU,YAAA,SAAAvwT,GACA,MAAAA,IACAA,EAAA,GAGA,IAAAg1X,EAAAzlY,KAAAyF,IAAA,QACAigY,EAAAh/X,KAAAS,IAAAsJ,EAAA,GACAk1X,EAAA,EAAAl1X,EACA,gBAAAg1X,GAAA,MAAAA,EAAA,gBAAAA,EAAA,CAAAE,KAAA,CAAAD,OAGAhjY,EAAAC,QAAAF,wBC3DA,IAAAjD,EAAaX,EAAQ,QAErBwzW,EAAcxzW,EAAQ,QAEtB4O,EAAmB5O,EAAQ,QA2B3Bm6M,EAAA,SAAAl5M,GAIA,QAAAmL,KAHAnL,KAAA,GACAuyW,EAAAtyW,KAAAC,KAAAF,GAEAA,EACAA,EAAAoL,eAAAD,KACAjL,KAAAiL,GAAAnL,EAAAmL,IAIAjL,KAAA6wE,UAAA,GACA7wE,KAAA2wX,UAAA,KACA3wX,KAAAQ,SAAA,GAGAw4M,EAAA/4M,UAAA,CACAC,YAAA84M,EACA7C,SAAA,EAKAh2M,KAAA,QAQAknH,QAAA,EAKAljD,SAAA,WACA,OAAAnkE,KAAA6wE,UAAA3xC,SAQA0yC,QAAA,SAAAj0D,GACA,OAAA3d,KAAA6wE,UAAAlzD,IAQAk1N,YAAA,SAAAvkO,GAGA,IAFA,IAAA61D,EAAAnkE,KAAA6wE,UAEA9lE,EAAA,EAAmBA,EAAAo5D,EAAA5gE,OAAqBwH,IACxC,GAAAo5D,EAAAp5D,GAAAuD,SACA,OAAA61D,EAAAp5D,IAQA66X,WAAA,WACA,OAAA5lY,KAAA6wE,UAAAttE,QAOAg6B,IAAA,SAAAnL,GAOA,OANAA,OAAApyB,MAAAoyB,EAAAu/C,SAAA3xE,OACAA,KAAA6wE,UAAAl+D,KAAAyf,GAEApyB,KAAA6lY,OAAAzzW,IAGApyB,MAQA8lY,UAAA,SAAA1zW,EAAAo2M,GACA,GAAAp2M,OAAApyB,MAAAoyB,EAAAu/C,SAAA3xE,MAAAwoO,KAAA72J,SAAA3xE,KAAA,CACA,IAAAmkE,EAAAnkE,KAAA6wE,UACAlzD,EAAAwmD,EAAA/4B,QAAAo9L,GAEA7qN,GAAA,IACAwmD,EAAAkN,OAAA1zD,EAAA,EAAAyU,GAEApyB,KAAA6lY,OAAAzzW,IAIA,OAAApyB,MAEA6lY,OAAA,SAAAzzW,GACAA,EAAAu/C,QACAv/C,EAAAu/C,OAAAnlE,OAAA4lB,GAGAA,EAAAu/C,OAAA3xE,KACA,IAAAgoH,EAAAhoH,KAAA2wX,UACAx8W,EAAAnU,KAAAkyB,KAEA81F,OAAA51F,EAAAu+V,YACA3oQ,EAAAy1H,aAAArrN,GAEAA,aAAA4mL,GACA5mL,EAAAw+V,qBAAA5oQ,IAIA7zG,KAAAgf,WAOA3mB,OAAA,SAAA4lB,GACA,IAAAje,EAAAnU,KAAAkyB,KACA81F,EAAAhoH,KAAA2wX,UACAxsT,EAAAnkE,KAAA6wE,UACAlzD,EAAAne,EAAA4rC,QAAA+4B,EAAA/xC,GAEA,OAAAzU,EAAA,EACA3d,MAGAmkE,EAAAkN,OAAA1zD,EAAA,GACAyU,EAAAu/C,OAAA,KAEAq2C,IACAA,EAAAu1H,eAAAnrN,GAEAA,aAAA4mL,GACA5mL,EAAA0+V,uBAAA9oQ,IAIA7zG,KAAAgf,UACAnzB,OAMAqkE,UAAA,WACA,IAEAjyC,EACArnB,EAHAo5D,EAAAnkE,KAAA6wE,UACAm3C,EAAAhoH,KAAA2wX,UAIA,IAAA5lX,EAAA,EAAeA,EAAAo5D,EAAA5gE,OAAqBwH,IACpCqnB,EAAA+xC,EAAAp5D,GAEAi9G,IACAA,EAAAu1H,eAAAnrN,GAEAA,aAAA4mL,GACA5mL,EAAA0+V,uBAAA9oQ,IAIA51F,EAAAu/C,OAAA,KAIA,OADAxN,EAAA5gE,OAAA,EACAvD,MAQAsyE,UAAA,SAAAv8C,EAAArS,GAGA,IAFA,IAAAygD,EAAAnkE,KAAA6wE,UAEA9lE,EAAA,EAAmBA,EAAAo5D,EAAA5gE,OAAqBwH,IAAA,CACxC,IAAAqnB,EAAA+xC,EAAAp5D,GACAgrB,EAAAh2B,KAAA2jB,EAAA0O,EAAArnB,GAGA,OAAA/K,MAQAmyB,SAAA,SAAA4D,EAAArS,GACA,QAAA3Y,EAAA,EAAmBA,EAAA/K,KAAA6wE,UAAAttE,OAA2BwH,IAAA,CAC9C,IAAAqnB,EAAApyB,KAAA6wE,UAAA9lE,GACAgrB,EAAAh2B,KAAA2jB,EAAA0O,GAEA,UAAAA,EAAAjyB,MACAiyB,EAAAD,SAAA4D,EAAArS,GAIA,OAAA1jB,MAEA4wX,qBAAA,SAAA5oQ,GACA,QAAAj9G,EAAA,EAAmBA,EAAA/K,KAAA6wE,UAAAttE,OAA2BwH,IAAA,CAC9C,IAAAqnB,EAAApyB,KAAA6wE,UAAA9lE,GACAi9G,EAAAy1H,aAAArrN,GAEAA,aAAA4mL,GACA5mL,EAAAw+V,qBAAA5oQ,KAIA8oQ,uBAAA,SAAA9oQ,GACA,QAAAj9G,EAAA,EAAmBA,EAAA/K,KAAA6wE,UAAAttE,OAA2BwH,IAAA,CAC9C,IAAAqnB,EAAApyB,KAAA6wE,UAAA9lE,GACAi9G,EAAAu1H,eAAAnrN,GAEAA,aAAA4mL,GACA5mL,EAAA0+V,uBAAA9oQ,KAIArjG,MAAA,WAGA,OAFA3kB,KAAAQ,SAAA,EACAR,KAAAkyB,MAAAlyB,KAAAkyB,KAAAiB,UACAnzB,MAMAuB,gBAAA,SAAAwkY,GAOA,IALA,IAAAtkY,EAAA,KACAqX,EAAA,IAAArL,EAAA,SACA02D,EAAA4hU,GAAA/lY,KAAA6wE,UACAm1T,EAAA,GAEAj7X,EAAA,EAAmBA,EAAAo5D,EAAA5gE,OAAqBwH,IAAA,CACxC,IAAAqnB,EAAA+xC,EAAAp5D,GAEA,IAAAqnB,EAAAkZ,SAAAlZ,EAAA0+C,UAAA,CAIA,IAAA64R,EAAAv3U,EAAA7wB,kBACAsF,EAAAurB,EAAAyxD,kBAAAmiT,GAQAn/X,GACAiS,EAAAM,KAAAuwV,GACA7wV,EAAAO,eAAAxS,GACApF,KAAAqX,EAAAvD,QACA9T,EAAA0yD,MAAAr7C,KAEArX,KAAAkoW,EAAAp0V,QACA9T,EAAA0yD,MAAAw1S,KAIA,OAAAloW,GAAAqX,IAGAtZ,EAAAgD,SAAAw2M,EAAAq5J,GACA,IAAA5vW,EAAAu2M,EACAt2M,EAAAC,QAAAF,wBCnSA,IAAAid,EAAqB7gB,EAAQ,QAE7B4O,EAAmB5O,EAAQ,QA6B3BgvQ,EAAA,CACApjE,MAAAw7L,EAAA,GACAv7L,MAAAu7L,EAAA,GACAxkY,KAAA,CACAooE,MAAA,SAAA2qJ,EAAAgyD,EAAA9jH,GACA,OAAA8xD,GAAA9xD,EAAAq5D,aAAAz7M,QAAAk0M,EAAA,GAAAA,EAAA,KAEA/yN,KAAA,SAAA+yN,EAAAgyD,EAAA9jH,GACA,OAAA8xD,GAAA9xD,EAAAq5D,aAAA1lH,UAAAm+G,KAGAxvH,QAAA,CACAn7B,MAAA,SAAA2qJ,EAAAgyD,EAAA9jH,GACA,OAAA8xD,GAAA9xD,EAAAq5D,aAAAz7M,QAAAk0M,EAAA,GAAAA,EAAA,KAAA90M,EAAAY,QAAAoiJ,EAAA1qD,MAAAw8G,EAAA,GAAAA,EAAA,KAEA/yN,KAAA,SAAA+yN,EAAAgyD,EAAA9jH,GACA,IAAAh7F,EAAAg7F,EAAA1qD,MAEA,IAAAw8G,GAAA9sJ,EAAAnkE,QAAA,EACA,SAGA,IAAAvB,EAAAwyN,EAAAxyN,EACAC,EAAAuyN,EAAAvyN,EACAK,EAAAkyN,EAAAlyN,MACAC,EAAAiyN,EAAAjyN,OACAue,EAAA4mD,EAAA,GAEA,SAAAhoD,EAAAY,QAAAonD,EAAA1lE,EAAAC,IAAAyd,EAAAY,QAAAonD,EAAA1lE,EAAAM,EAAAL,IAAAyd,EAAAY,QAAAonD,EAAA1lE,EAAAC,EAAAM,IAAAmd,EAAAY,QAAAonD,EAAA1lE,EAAAM,EAAAL,EAAAM,IAAAkL,EAAAqhC,OAAA0lL,GAAAl0M,QAAAQ,EAAA,GAAAA,EAAA,KAAAolX,EAAAlkY,EAAAC,EAAAD,EAAAM,EAAAL,EAAAylE,IAAAw+T,EAAAlkY,EAAAC,EAAAD,EAAAC,EAAAM,EAAAmlE,IAAAw+T,EAAAlkY,EAAAM,EAAAL,EAAAD,EAAAM,EAAAL,EAAAM,EAAAmlE,IAAAw+T,EAAAlkY,EAAAC,EAAAM,EAAAP,EAAAM,EAAAL,EAAAM,EAAAmlE,UAAA,KAOA,SAAAu+T,EAAAlwJ,GACA,IAAAp7K,EAAA,UACA+sL,EAAA,mBACA,OACA79K,MAAA,SAAA2qJ,EAAAgyD,EAAA9jH,GACA,GAAA8xD,EAAA,CACA,IAAAx8G,EAAA0qD,EAAA1qD,MACAl3F,EAAA0zM,EAAAuhB,GACA,OAAAowJ,EAAArlX,EAAAk3F,KAGAv2G,KAAA,SAAA+yN,EAAAgyD,EAAA9jH,GACA,GAAA8xD,EAAA,CACA,IAAAx8G,EAAA0qD,EAAA1qD,MACAouR,EAAA,CAAA5xK,EAAA75J,EAAAo7K,IAAAvhB,EAAA75J,EAAAo7K,IAAAvhB,EAAAkzB,EAAA3R,KAEA,OADAqwJ,EAAA,GAAAA,EAAA,IAAAA,EAAA55O,UACA25O,EAAAC,EAAA,GAAApuR,IAAAmuR,EAAAC,EAAA,GAAApuR,IAAAmuR,EAAAnuR,EAAA,GAAAouR,IAAAD,EAAAnuR,EAAA,GAAAouR,MAMA,SAAAD,EAAArlX,EAAAk3F,GACA,OAAAA,EAAA,IAAAl3F,MAAAk3F,EAAA,GAGA,SAAAkuR,EAAAG,EAAAC,EAAAC,EAAAC,EAAA9+T,GACA,QAAA38D,EAAA,EAAAwR,EAAAmrD,IAAAnkE,OAAA,GAAiDwH,EAAA28D,EAAAnkE,OAAmBwH,IAAA,CACpE,IAAA+V,EAAA4mD,EAAA38D,GAEA,GAAA07X,EAAAJ,EAAAC,EAAAC,EAAAC,EAAA1lX,EAAA,GAAAA,EAAA,GAAAvE,EAAA,GAAAA,EAAA,IACA,SAGAA,EAAAuE,GAMA,SAAA2lX,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACA,IAAAngY,EAAAkoC,EAAA43V,EAAAF,EAAAI,EAAAE,EAAAH,EAAAF,EAAAI,EAAAE,GAEA,GAAAC,EAAApgY,GAEA,SAGA,IAAAqgY,EAAAn4V,EAAA83V,EAAAJ,EAAAI,EAAAE,EAAAD,EAAAJ,EAAAI,EAAAE,GAAAngY,EAEA,GAAAqgY,EAAA,GAAAA,EAAA,EACA,SAGA,IAAAC,EAAAp4V,EAAA43V,EAAAF,EAAAI,EAAAJ,EAAAG,EAAAF,EAAAI,EAAAJ,GAAA7/X,EAEA,QAAAsgY,EAAA,GAAAA,EAAA,GAOA,SAAAF,EAAAj+X,GACA,OAAAA,GAAA,MAAAA,IAAA,KAGA,SAAA+lC,EAAAvzB,EAAAC,EAAAC,EAAAs+E,GACA,OAAAx+E,EAAAw+E,EAAAv+E,EAAAC,EAGA,IAAAlZ,EAAAorQ,EACAnrQ,EAAAC,QAAAF,wBC1IA,IAAA7D,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAER,IAAAwoY,EAAsBxoY,EAAQ,QAE9B4kR,EAAgB5kR,EAAQ,QAExByoY,EAAuBzoY,EAAQ,QAE/BK,EAAqBL,EAAQ,QAE7B0oY,EAA6B1oY,EAAQ,QAoBrCD,EAAAQ,eAAAioY,GACAzoY,EAAAO,eAAAskR,GACA7kR,EAAAS,kBAAAT,EAAA+1Q,SAAAC,UAAAC,UAAAyyH,GACA1oY,EAAAU,qBAAAJ,GACAqoY,EAAA,QACApnY,KAAA,kBACAgX,MAAA,mBACAgvI,OAAA,kBACC,CACDhmJ,KAAA,YACAgX,MAAA,cACAgvI,OAAA,UACC,CACDhmJ,KAAA,cACAgX,MAAA,gBACAgvI,OAAA,oCCrDAtnJ,EAAQ,QAERA,EAAQ,8BCFR,IAAAW,EAAaX,EAAQ,QAErBq2R,EAAmBr2R,EAAQ,QAE3Bm+M,EAAiBn+M,EAAQ,QAEzB2oY,EAAY3oY,EAAQ,QAoBpB+J,EAAApJ,EAAAoJ,KACA6+X,EAAAvyG,EAAAxwR,OAAA,CACAvE,KAAA,kBAKA+iB,KAAA,SAAA3I,EAAAxV,GAOA/E,KAAA41R,QAMA1iO,OAAA,SAAApnC,EAAAvR,EAAAxV,EAAAynB,GACAi7W,EAAAnhO,WAAAtmK,KAAA,SAAA2I,WAIA3I,KAAA41R,OAAA9pQ,EAAAK,kBAEA3sB,EAAA2nB,KAAAnnB,KAAAu6R,qBAAA,SAAAC,EAAAmJ,GACA,IAAA03B,EAAA77T,EAAA4N,IAAAotR,EAAA,SAAAktG,GACA,OAAAF,EAAA7rE,gBAAA+rE,EAAA/jX,SAEAnkB,EAAA2nB,KAAAqzQ,EAAA,SAAAktG,GACA,IAAA9rE,EAAA8rE,EAAA/jX,MACAm4S,EAAA,GACAt8T,EAAA2nB,KAAA,qCAAA5O,GACAujT,EAAAvjT,GAAA3P,EAAA++X,EAAApvX,GAAAvY,KAAA0nY,EAAA/jG,IACS3jS,MACTwnY,EAAAxvO,SAAAjzJ,EAAA,CACAo2T,QAAAqsE,EAAA7rE,gBAAAC,GACAP,cACAK,cAAA,SAAAvlT,EAAAnU,EAAAC,GACA,OAAA25T,EAAA12T,iBAAAyvD,aAAA,CAAA3yD,EAAAC,KAEA2pB,WAAAE,EAAAG,GACAH,gBACAgwS,cAEO97T,OACFA,OAML8V,QAAA,WACA0xX,EAAA5nF,WAAA5/S,KAAA+E,IAAA/E,KAAA8rB,cAAAG,IACAw7W,EAAAnhO,WAAAtmK,KAAA,UAAA2I,WACA3I,KAAA41R,OAAA,QAGA+xG,EAAA,CAIA3lR,KAAA,SAAA0lR,EAAA/jG,EAAArrR,EAAAnC,GACA,IAAA+iR,EAAAl5R,KAAA41R,OACA59K,EAAAkhL,EAAAh6P,QAEAr6B,EAAA6iY,EAAA79G,WAAA,GAEA,GAAAhlR,EAAA,CAIA,IAAA+iY,EAAAC,EAAAlkG,GAAA,MAAAxtR,EAAAyB,QAAAzB,EAAA0B,SAAAhT,EAAAyT,EAAAovX,GACAI,GAAAF,EAAAG,OAAA,EAAAH,EAAAI,WAAAJ,EAAAK,YAAAL,EAAAM,MAAAN,EAAAM,MAAAN,EAAAI,YAAAJ,EAAAK,aAAAjwR,EAAA,GAAAA,EAAA,IAAAA,EAAA,GACAjgG,EAAArR,KAAAS,IAAA,EAAAgP,EAAA4B,MAAA,GACAigG,EAAA,IAAAA,EAAA,GAAA8vR,GAAA/vX,EAAA+vX,EACA9vR,EAAA,IAAAA,EAAA,GAAA8vR,GAAA/vX,EAAA+vX,EAEA,IAAAlvG,EAAA54R,KAAA8rB,cAAA+sQ,8BAAAC,gBAIA,OAHA97E,EAAA,EAAAhlG,EAAA,UAAA4gL,EAAAI,QAAAJ,EAAAK,SACAj5R,KAAA41R,OAAA59K,EAEAkhL,EAAA,KAAAlhL,EAAA,IAAAkhL,EAAA,KAAAlhL,EAAA,GACAA,OADA,IAQAmwR,IAAAC,EAAA,SAAApwR,EAAAnzG,EAAA6iY,EAAA/jG,EAAArrR,EAAAnC,GACA,IAAAyxX,EAAAC,EAAAlkG,GAAA,CAAAxtR,EAAAW,KAAAX,EAAAY,MAAA,CAAAZ,EAAAkB,KAAAlB,EAAAmB,MAAAzS,EAAAyT,EAAAovX,GACA,OAAAE,EAAAG,QAAA/vR,EAAA,GAAAA,EAAA,IAAA4vR,EAAAM,MAAAN,EAAAK,cAMAI,WAAAD,EAAA,SAAApwR,EAAAnzG,EAAA6iY,EAAA/jG,EAAArrR,EAAAnC,GACA,IAAAyxX,EAAAC,EAAAlkG,GAAA,OAAAxtR,EAAA+B,YAAA/B,EAAA+B,aAAArT,EAAAyT,EAAAovX,GACA,OAAAE,EAAAG,QAAA/vR,EAAA,GAAAA,EAAA,IAAA7hG,EAAA+B,eAIA,SAAAkwX,EAAAE,GACA,gBAAAZ,EAAA/jG,EAAArrR,EAAAnC,GACA,IAAA+iR,EAAAl5R,KAAA41R,OACA59K,EAAAkhL,EAAAh6P,QAEAr6B,EAAA6iY,EAAA79G,WAAA,GAEA,GAAAhlR,EAAA,CAIA,IAAA0jY,EAAAD,EAAAtwR,EAAAnzG,EAAA6iY,EAAA/jG,EAAArrR,EAAAnC,GAIA,OAHA6mM,EAAAurL,EAAAvwR,EAAA,eACAh4G,KAAA41R,OAAA59K,EAEAkhL,EAAA,KAAAlhL,EAAA,IAAAkhL,EAAA,KAAAlhL,EAAA,GACAA,OADA,IAMA,IAAA6vR,EAAA,CACAn+J,KAAA,SAAA8+J,EAAAC,EAAA5jY,EAAAyT,EAAAovX,GACA,IAAA1iY,EAAAH,EAAAG,KACAmgE,EAAA,GACA1jE,EAAAimY,EAAA/jX,MAAAze,iBAAAiD,UAgBA,OAfAqgY,KAAA,MAEA,MAAAxjY,EAAAsW,KACA6pD,EAAA+iU,MAAAO,EAAA,GAAAD,EAAA,GACArjU,EAAA8iU,YAAAxmY,EAAAa,MACA6iE,EAAA6iU,WAAAvmY,EAAAO,EACAmjE,EAAA4iU,OAAA/iY,EAAA6/C,QAAA,OAGAsgB,EAAA+iU,MAAAO,EAAA,GAAAD,EAAA,GACArjU,EAAA8iU,YAAAxmY,EAAAc,OACA4iE,EAAA6iU,WAAAvmY,EAAAQ,EACAkjE,EAAA4iU,OAAA/iY,EAAA6/C,SAAA,KAGAsgB,GAEA2rI,MAAA,SAAA03L,EAAAC,EAAA5jY,EAAAyT,EAAAovX,GACA,IAAA1iY,EAAAH,EAAAG,KACAmgE,EAAA,GACA2rI,EAAA42L,EAAA/jX,MAAAze,iBACA0wN,EAAA9kB,EAAAu6G,gBAAArwS,YACA41S,EAAA9/G,EAAA4kB,eAAA16M,YAqBA,OApBAwtX,IAAA13L,EAAA43L,aAAAF,GAAA,MACAC,EAAA33L,EAAA43L,aAAAD,GAEA,eAAA5jY,EAAAmnB,UACAm5C,EAAA+iU,MAAAO,EAAA,GAAAD,EAAA,GAGArjU,EAAA8iU,YAAAryK,EAAA,GAAAA,EAAA,GACAzwJ,EAAA6iU,WAAApyK,EAAA,GACAzwJ,EAAA4iU,OAAA/iY,EAAA6/C,QAAA,OAGAsgB,EAAA+iU,MAAAO,EAAA,GAAAD,EAAA,GAGArjU,EAAA8iU,YAAAr3E,EAAA,GAAAA,EAAA,GACAzrP,EAAA6iU,WAAAp3E,EAAA,GACAzrP,EAAA4iU,OAAA/iY,EAAA6/C,SAAA,KAGAsgB,GAEA0rI,WAAA,SAAA23L,EAAAC,EAAA5jY,EAAAyT,EAAAovX,GACA,IAAA1iY,EAAAH,EAAAG,KACAvD,EAAAimY,EAAA/jX,MAAAze,iBAAAiD,UACAg9D,EAAA,GAgBA,OAfAqjU,KAAA,MAEA,eAAAxjY,EAAAk9E,QACA/c,EAAA+iU,MAAAO,EAAA,GAAAD,EAAA,GACArjU,EAAA8iU,YAAAxmY,EAAAa,MACA6iE,EAAA6iU,WAAAvmY,EAAAO,EACAmjE,EAAA4iU,OAAA/iY,EAAA6/C,QAAA,OAGAsgB,EAAA+iU,MAAAO,EAAA,GAAAD,EAAA,GACArjU,EAAA8iU,YAAAxmY,EAAAc,OACA4iE,EAAA6iU,WAAAvmY,EAAAQ,EACAkjE,EAAA4iU,OAAA/iY,EAAA6/C,SAAA,KAGAsgB,IAGA1iE,EAAAglY,EACA/kY,EAAAC,QAAAF,wBClOA5D,EAAQ,QAERA,EAAQ,QAERA,EAAQ,8BCJR,IAAAW,EAAaX,EAAQ,QAErBqqX,EAAgBrqX,EAAQ,QAExBqF,EAAcrF,EAAQ,QAEtBg+N,EAA6Bh+N,EAAQ,QAErCmV,EAAgBnV,EAAQ,QAExBuvM,EAAmBvvM,EAAQ,QAE3Bs8I,EAAat8I,EAAQ,QAErB8jB,EAAAw4H,EAAAx4H,UAoBAD,EAAAC,IACApN,EAAA/V,EAAA+V,MACA3M,EAAApJ,EAAAoJ,KAMA,SAAAzE,KAmaA,SAAAiuM,EAAA8qF,EAAAyrG,EAAA53V,EAAAlsB,GAEA+jX,EAAAlmX,EAAAquB,GAAA83V,SAAAhkX,KACAnC,EAAAquB,GAAA83V,SAAAhkX,EACA8jX,EAAAzkY,EAAAkuM,YAAArhK,EAAAlsB,EAAAq4Q,IAAAnsP,EAAAzU,gBAAAyU,EAAAgzC,KAAAl/D,KAIA,SAAA+jX,EAAAE,EAAAC,GACA,GAAAvpY,EAAAoK,SAAAk/X,IAAAtpY,EAAAoK,SAAAm/X,GAAA,CACA,IAAAzmO,GAAA,EAIA,OAHA9iK,EAAA2nB,KAAA4hX,EAAA,SAAAlkU,EAAA55D,GACAq3J,KAAAsmO,EAAAE,EAAA79X,GAAA45D,OAEAy9F,EAEA,OAAAwmO,IAAAC,EAIA,SAAAC,EAAAhmP,EAAAl+I,GACAk+I,EAAAl+I,EAAAW,IAAA,+BAGA,SAAAwjY,EAAAl6K,GACA,OACAzoN,SAAAyoN,EAAAzoN,SAAA44B,QACA14B,SAAAuoN,EAAAvoN,UAAA,GAIA,SAAA0iY,EAAAzjU,EAAA3gE,EAAAuiH,GACA,IAAAlqF,EAAAr4B,EAAAW,IAAA,KACA02G,EAAAr3G,EAAAW,IAAA,UACAggE,KAAAtzC,SAAA,SAAA4e,GACA,UAAAA,EAAA5wC,OACA,MAAAg9B,IAAA4T,EAAA5T,KACA,MAAAg/E,IAAAprE,EAAAorE,UACAprE,EAAAs2E,YAvcAljH,EAAAlE,UAAA,CAIA0oT,OAAA,KAKAwgF,gBAAA,KAKAC,QAAA,KAKApzX,WAAA,EAKAqzX,WAAA,KAKAC,YAAA,KAKAC,aAAA,KAOAj7B,mBAAA,GAKAp7S,OAAA,SAAAruD,EAAAC,EAAAC,EAAAo4N,GACA,IAAAl5N,EAAAa,EAAAW,IAAA,SACAkyD,EAAA7yD,EAAAW,IAAA,UASA,GANAzF,KAAAwpY,WAAA3kY,EACA7E,KAAAypY,kBAAA3kY,EACA9E,KAAAggG,KAAAj7F,EAIAo4N,GAAAn9N,KAAAqpY,aAAAplY,GAAAjE,KAAAspY,cAAA3xU,EAAA,CAIA33D,KAAAqpY,WAAAplY,EACAjE,KAAAspY,YAAA3xU,EACA,IAAA8N,EAAAzlE,KAAA2oT,OACAtvB,EAAAr5R,KAAAopY,QAEA,IAAAzxU,GAAA,SAAAA,EAIA,OAFA8N,KAAA2xP,YACA/9B,KAAA+9B,QAIA3xP,KAAAy2C,OACAm9K,KAAAn9K,OAEA,IAAAt3G,EAAA,GACA5E,KAAA2E,aAAAC,EAAAX,EAAAY,EAAAC,EAAAC,GAEA,IAAAe,EAAAlB,EAAAkB,WAEAA,IAAA9F,KAAAmpY,iBACAnpY,KAAA0M,MAAA3H,GAGA/E,KAAAmpY,gBAAArjY,EACA,IAAA6iY,EAAA3oY,KAAA0pY,eAAA1pY,KAAA2pY,mBAAA9kY,EAAAC,GAEA,GAAA2gE,EAKK,CACL,IAAAmkU,EAAApqY,EAAAmqB,MAAAyoL,EAAAttM,EAAA6jY,GACA3oY,KAAA6pY,gBAAApkU,EAAA7gE,EAAAglY,EAAA9kY,GACA9E,KAAA8pY,cAAArkU,EAAA7gE,EAAAglY,EAAA9kY,QAPA2gE,EAAAzlE,KAAA2oT,OAAA,IAAAzkT,EAAA80M,MACAh5M,KAAA+pY,gBAAAtkU,EAAA7gE,EAAAC,EAAAC,GACA9E,KAAAgqY,cAAAvkU,EAAA7gE,EAAAC,EAAAC,GACAC,EAAA2sB,QAAA6L,IAAAkoC,GAOAyjU,EAAAzjU,EAAA3gE,GAAA,GAEA9E,KAAAo2R,cAAAnyR,KAMAuI,OAAA,SAAAzH,GACA/E,KAAA0M,MAAA3H,IAMA+Q,QAAA,SAAA/Q,GACA/E,KAAA0M,MAAA3H,IAMA4kY,mBAAA,SAAA9kY,EAAAC,GACA,IAAA44E,EAAA54E,EAAAW,IAAA,aACAT,EAAAH,EAAAG,KACAm8X,EAAA,aAAAn8X,EAAA7E,KACA8pY,EAAAnlY,EAAAW,IAAA,QAEA,IAAAwkY,IAAA9I,EACA,SAGA,YAAAzjT,GAAA,MAAAA,EAAA,CACA,IAAA4wR,EAAAtuW,KAAAsuW,mBAEA,GAAA6yB,GAAAn8X,EAAA+C,eAAAumW,EACA,SAMA,GAAA27B,EAAA,CACA,IAAAC,EAAArtK,EAAA+hG,YAAA/5T,GAAAqlY,gBACAljY,EAAAhC,EAAAgW,YAEA,OAAAtU,KAAAiR,IAAA3Q,EAAA,GAAAA,EAAA,IAAAkjY,EAAA57B,EAGA,SAGA,WAAA5wR,GAOA/4E,aAAA,SAAAC,EAAAX,EAAAY,EAAAC,EAAAC,KAMAglY,gBAAA,SAAAtkU,EAAA7gE,EAAAC,EAAAC,GACA,IAAAc,EAAAhB,EAAAmB,QAEA,GAAAH,EAAA,CACA,IAAAukY,EAAAznX,EAAA+iD,GAAA0kU,UAAA,IAAAjmY,EAAA0B,EAAAzF,MAAAoV,EAAA3Q,EAAAmB,UACA0/D,EAAAloC,IAAA4sW,KAOAH,cAAA,SAAAvkU,EAAA7gE,EAAAC,EAAAC,GACA,GAAAF,EAAAkgB,MAAA,CACA,IAAAk+H,EAAAtgI,EAAA+iD,GAAAu9E,QAAA,IAAA9+I,EAAA+qE,KAAA15D,EAAA3Q,EAAAkgB,QACA2gD,EAAAloC,IAAAylH,GACAgmP,EAAAhmP,EAAAl+I,KAOA+kY,gBAAA,SAAApkU,EAAA7gE,EAAAwtM,GACA,IAAA+3L,EAAAznX,EAAA+iD,GAAA0kU,UAEAA,IACAA,EAAA3iR,SAAA5iH,EAAAmB,QAAAxF,OACA6xM,EAAA+3L,EAAA,CACAviY,MAAAhD,EAAAmB,QAAA6B,UAQAkiY,cAAA,SAAArkU,EAAA7gE,EAAAwtM,EAAAttM,GACA,IAAAk+I,EAAAtgI,EAAA+iD,GAAAu9E,QAEAA,IACAA,EAAAx7B,SAAA5iH,EAAAkgB,MAAAvkB,OACA6xM,EAAApvD,EAAA,CAGAp7I,MAAAhD,EAAAkgB,MAAAld,MACAtB,SAAA1B,EAAAkgB,MAAAxe,WAEA0iY,EAAAhmP,EAAAl+I,KAOAsxR,cAAA,SAAAnyR,GACA,IAAAjE,KAAAgW,WAAAhW,KAAA4G,sBAAA,CAIA,IAcA+qM,EAdA7sM,EAAA9E,KAAAypY,kBAEAt1X,EAAAnU,KAAAggG,KAAAtuE,QAEA2nQ,EAAAr5R,KAAAopY,QACAgB,EAAAtlY,EAAA61B,SAAA,UACAg9B,EAAA7yD,EAAAW,IAAA,UAEA,IAAA2kY,EAAA3kY,IAAA,UAAAkyD,GAAA,SAAAA,EAGA,OAFA0hO,GAAAllR,EAAA3H,OAAA6sR,QACAr5R,KAAAopY,QAAA,MAMAppY,KAAAopY,UACAz3L,GAAA,EACA0nF,EAAAr5R,KAAAopY,QAAAllY,EAAAq0R,WAAA6xG,EAAA3kY,IAAA,SACAgrD,OAAA,OACAn6C,WAAA,EACAq1G,YAAA,SAAAx1G,GAEAnC,EAAAkD,KAAAf,EAAAgB,QAEAk0G,YAAAziH,EAAA5I,KAAAqqY,kBAAArqY,KAAA,KACAqgN,MAAAz3M,EAAA5I,KAAAqqY,kBAAArqY,MACAsgN,UAAA13M,EAAA5I,KAAAsqY,iBAAAtqY,QAEAmU,EAAAopB,IAAA87P,IAGA6vG,EAAA7vG,EAAAv0R,GAAA,GAEA,IAAAylY,EAAA,2GACAlxG,EAAA7xK,SAAA4iR,EAAA7+R,aAAA,KAAAg/R,IAEA,IAAAj4J,EAAA83J,EAAA3kY,IAAA,QAEAjG,EAAAwJ,QAAAspO,KACAA,EAAA,CAAAA,MAGA+mD,EAAAt1M,KAAA,SAAAuuJ,EAAA,KAAAA,EAAA,OACAlkC,EAAAI,eAAAxuM,KAAA,yBAAAoqY,EAAA3kY,IAAA,0BAEAzF,KAAAwqY,mBAAAvmY,EAAA0tM,KAMA64L,mBAAA,SAAAvmY,EAAA0tM,GACAS,EAAApyM,KAAAypY,mBAAA93L,GAAA3xM,KAAA0pY,eAAA1pY,KAAAopY,QAAAH,EAAAjpY,KAAAmG,mBAAAlC,EAAAjE,KAAAwpY,WAAAxpY,KAAAypY,sBAMAY,kBAAA,SAAArzX,EAAAC,GACA,IAAAoiR,EAAAr5R,KAAAopY,QAEA,GAAA/vG,EAAA,CAIAr5R,KAAAgW,WAAA,EAEA,IAAA+4M,EAAA/uN,KAAA4G,sBAAAqiY,EAAA5vG,GAAA,CAAAriR,EAAAC,GAAAjX,KAAAwpY,WAAAxpY,KAAAypY,mBACAzpY,KAAAupY,aAAAx6K,EACAsqE,EAAA/8P,gBACA+8P,EAAAt1M,KAAAklT,EAAAl6K,IACArsM,EAAA22Q,GAAAwvG,SAAA,KAEA7oY,KAAAyqY,2BAOAA,uBAAA,WACA,IAAApxG,EAAAr5R,KAAAopY,QAEA,GAAA/vG,EAAA,CAIA,IAAAqxG,EAAA1qY,KAAAupY,aACA1kY,EAAA7E,KAAAwpY,WAEAxpY,KAAAggG,KAAAoN,eAAA,CACAjtG,KAAA,oBACA6B,EAAA0oY,EAAArjY,YAAA,GACApF,EAAAyoY,EAAArjY,YAAA,GACAC,cAAAojY,EAAApjY,cACAqjY,SAAA,EACAn0P,QAAA3xI,EAAAG,KAAAsW,IACAghP,UAAAz3P,EAAAye,qBAQAgnX,iBAAA,SAAA3B,GACA3oY,KAAAgW,WAAA,EACA,IAAAqjR,EAAAr5R,KAAAopY,QAEA,GAAA/vG,EAAA,CAIA,IAAAp1R,EAAAjE,KAAAypY,kBAAAhkY,IAAA,SAKAzF,KAAAwqY,mBAAAvmY,GAIAjE,KAAAggG,KAAAoN,eAAA,CACAjtG,KAAA,cAYAgG,mBAAA,KAWAS,sBAAA,KAKA8F,MAAA,SAAA3H,GACA/E,KAAAqpY,WAAA,KACArpY,KAAAspY,YAAA,KACA,IAAAn1X,EAAApP,EAAA2sB,QACA+zC,EAAAzlE,KAAA2oT,OACAtvB,EAAAr5R,KAAAopY,QAEAj1X,GAAAsxD,IACAzlE,KAAAmpY,gBAAA,KACA1jU,GAAAtxD,EAAA3H,OAAAi5D,GACA4zN,GAAAllR,EAAA3H,OAAA6sR,GACAr5R,KAAA2oT,OAAA,KACA3oT,KAAAopY,QAAA,KACAppY,KAAAupY,aAAA,OAOAqB,QAAA,aASAC,WAAA,SAAAlwU,EAAA+sL,EAAAouE,GAEA,OADAA,KAAA,EACA,CACA9zT,EAAA24D,EAAAm7P,GACA7zT,EAAA04D,EAAA,EAAAm7P,GACAxzT,MAAAolP,EAAAouE,GACAvzT,OAAAmlP,EAAA,EAAAouE,MAIA3xT,EAAAlE,UAAAC,YAAAiE,EA6CA+kX,EAAAz6L,kBAAAtqL,GACA,IAAA1B,EAAA0B,EACAzB,EAAAC,QAAAF,sCC9gBA,SAAA++R,GAEA,IAAAl2R,EAAYzM,EAAQ,QACpBisY,EAA0BjsY,EAAQ,QAElCksY,EAAA,CACAC,eAAA,qCAGA,SAAAC,EAAAz/X,EAAAvH,IACAqH,EAAA3B,YAAA6B,IAAAF,EAAA3B,YAAA6B,EAAA,mBACAA,EAAA,gBAAAvH,GAIA,SAAAinY,IACA,IAAA7V,EAQA,MAPA,qBAAAlnQ,eAEAknQ,EAAcx2X,EAAQ,QACnB,qBAAA2iS,IAEH6zF,EAAcx2X,EAAQ,SAEtBw2X,EAGA,IAAA//W,EAAA,CACA+/W,QAAA6V,IAEA/V,iBAAA,UAAA5pX,EAAAC,GAEA,OADAs/X,EAAAt/X,EAAA,gBACAF,EAAAnC,WAAAoC,IACAD,EAAApC,cAAAqC,IACAD,EAAAzC,SAAA0C,IACAD,EAAArB,SAAAsB,IACAD,EAAAxB,OAAAyB,IACAD,EAAAvB,OAAAwB,GAEAA,EAEAD,EAAAjC,kBAAAkC,GACAA,EAAA/B,OAEA8B,EAAAnB,kBAAAoB,IACA0/X,EAAAz/X,EAAA,mDACAD,EAAAzC,YAEAwC,EAAA1B,SAAA2B,IACA0/X,EAAAz/X,EAAA,kCACAgjK,KAAAz0C,UAAAxuH,IAEAA,IAGA+pX,kBAAA,UAAA/pX,GAEA,qBAAAA,EACA,IACAA,EAAAijK,KAAAp1I,MAAA7tB,GACO,MAAA4K,IAEP,OAAA5K,IAOAupQ,QAAA,EAEAq2H,eAAA,aACAC,eAAA,eAEAC,kBAAA,EAEAC,eAAA,SAAA3zU,GACA,OAAAA,GAAA,KAAAA,EAAA,KAIAnsD,QAAA,CACA4pX,OAAA,CACAmW,OAAA,uCAIAjgY,EAAAT,QAAA,iCAAAs7I,GACA7wI,EAAA9J,QAAA26I,GAAA,KAGA76I,EAAAT,QAAA,gCAAAs7I,GACA7wI,EAAA9J,QAAA26I,GAAA76I,EAAAH,MAAA4/X,KAGAroY,EAAAC,QAAA2S,+CC3EA,IAAA9V,EAAaX,EAAQ,QAErByyX,EAAqBzyX,EAAQ,QAE7B2nJ,EAAiB3nJ,EAAQ,QAqBzB2sY,EAAA,SACAC,EAAAna,EAAA5sX,OAAA,CACAvE,KAAA,uBAKA2iB,cAAA,CACA2gI,MAAA,OAEA2+M,YAAA,EAGApqP,MAAA,KAIAygK,UAAA,EAEApwD,WAAA,KAEAD,UAAA,KAEAnF,WAAA,EAEAuB,kBAAA,KAEAC,kBAAA,MAQArtE,cAAA,SAAAjzD,EAAAwtH,GACA85L,EAAAnlO,WAAAtmK,KAAA,gBAAA2I,WACA3I,KAAA6xX,cACA7xX,KAAAiyX,YAAA,SAAAxpL,GACAA,EAAAo4E,cAAA,SACAp4E,EAAA5vF,WAAA74G,KAAAgb,cAGAhb,KAAA0rY,eAOAC,cAAA,WACAF,EAAAnlO,WAAAtmK,KAAA,gBAAA2I,WACA,IAAA+1M,EAAA1+M,KAAA0+M,SACA,eAAA1+M,KAAAu9M,SAAAmB,EAAAlyD,WACA,MAAAkyD,EAAA,IAAA9kM,MAAA8kM,EAAA,OAAAA,EAAA,GAAA8sL,EAAA,KACA,MAAA9sL,EAAA,IAAA9kM,MAAA8kM,EAAA,OAAAA,EAAA,GAAA8sL,EAAA,KAMAE,YAAA,WACA,IAAA7yR,EAAA74G,KAAAgb,YACAg9F,EAAAh4G,KAAAmjB,OAAA60F,OAEAA,KAAA4zR,MAGA/yR,EAAA+yR,KAAA,EACA5rY,KAAAmjB,OAAA60F,MAAAa,GACKr5G,EAAAwJ,QAAAgvG,KACLA,EAAA,GAAAA,EAAA,IACAA,EAAAw0C,UAGAx0C,EAAA,GAAAtxG,KAAAS,IAAA6wG,EAAA,GAAAa,EAAA,IACAb,EAAA,GAAAtxG,KAAAQ,IAAA8wG,EAAA,GAAAa,EAAA,MAQAq5Q,qBAAA,WACAZ,EAAArxX,UAAAiyX,qBAAAxpX,MAAA1I,KAAA2I,WACAnJ,EAAA2nB,KAAAnnB,KAAAgoM,UAAA,SAAAG,GACA,IAAA7qL,EAAAtd,KAAAmjB,OAAA7K,WAAA6vL,GAAA7qL,WAEAA,KAAA,KAAAA,EAAA,KACAA,EAAA,OAEKtd,OAMLw4V,YAAA,SAAA13I,GACA9gN,KAAAmjB,OAAA60F,MAAA8oG,EAAA5hL,QAEAl/B,KAAA0rY,eAMAvqL,YAAA,WACA,IAAAtoG,EAAA74G,KAAAgb,YACAkmM,EAAA16D,EAAAjuC,KAAAv4G,KAAAyF,IAAA,cAAAy5B,SAMA,OAJAgiL,EAAA,GAAAroG,EAAA,KAAAqoG,EAAA,GAAAroG,EAAA,IACAqoG,EAAA,GAAAroG,EAAA,KAAAqoG,EAAA,GAAAroG,EAAA,IACAqoG,EAAA,GAAAroG,EAAA,KAAAqoG,EAAA,GAAAroG,EAAA,IACAqoG,EAAA,GAAAroG,EAAA,KAAAqoG,EAAA,GAAAroG,EAAA,IACAqoG,GAMAlY,cAAA,SAAA/kM,GACA,IAAA+zG,EAAAh4G,KAAAmjB,OAAA60F,MACAa,EAAA74G,KAAAgb,YAGA,OAAAg9F,EAAA,IAAAa,EAAA,IAAAb,EAAA,IAAA/zG,KAAA+zG,EAAA,IAAAa,EAAA,IAAA50G,GAAA+zG,EAAA,4BAOA4rG,sBAAA,SAAA5rG,GACA,IAAAt0G,EAAA,GAYA,OAXA1D,KAAAsyX,iBAAA,SAAAh4W,GACA,IAAAw4S,EAAA,GACAvnT,EAAA+O,EAAAE,UACAjP,EAAA4b,KAAAnnB,KAAAokN,iBAAA74M,GAAA,SAAAtH,EAAAwhB,GACAuyF,EAAA,IAAA/zG,MAAA+zG,EAAA,IAAA86M,EAAAngT,KAAA8S,IACOzlB,MACP0D,EAAAiP,KAAA,CACAm/K,SAAAx3K,EAAA2R,GACAxG,UAAAqtS,KAEK9yT,MACL0D,GAMA+uX,cAAA,SAAAC,GACA,IAAAmZ,EAAAC,EAAA9rY,KAAA,aAAAA,KAAAgb,aACA+wX,EAAAD,EAAA9rY,KAAA,UAAAA,KAAAmjB,OAAA60F,MAAA94E,SACA8gK,EAAA,GAEA,SAAA4yL,EAAA3uX,EAAAqlM,GACAtJ,EAAArtL,KAAA,CACA1O,QACA6iB,MAAA4rW,EAAAzuX,EAAAqlM,KAUA,IALA,IAAA0iM,EAAA,EACAC,EAAA,EACAC,EAAAH,EAAAxoY,OACA4oY,EAAAN,EAAAtoY,OAEU0oY,EAAAE,KAAAJ,EAAAxoY,QAAAsoY,EAAAI,IAAAF,EAAA,IAA2DE,IAErEJ,EAAAI,GAAAF,EAAAC,IACApZ,EAAAiZ,EAAAI,GAAA,cAIA,QAAAG,EAAA,EAAuBJ,EAAAE,EAAaF,IAAAI,EAAA,EAGpCA,GAAApsM,EAAAz8L,QAAAqvX,EAAAmZ,EAAAC,GAAA,cACApZ,EAAAmZ,EAAAC,GAAA,WAGA,IAAAI,EAAA,EAAuBH,EAAAE,EAAaF,MACpCF,EAAAxoY,QAAAwoY,IAAAxoY,OAAA,GAAAsoY,EAAAI,MAEAG,IACApsM,EAAAz8L,QAAAqvX,EAAA5yL,IAAAz8L,OAAA,GAAAU,MAAA,cACAmoY,EAAA,GAGAxZ,EAAAiZ,EAAAI,GAAA,eAIA,IAAAI,EAAArsM,EAAAz8L,OACA,OACAy8L,QACA2yL,YAAA,CAAA0Z,EAAArsM,EAAA,GAAAl5K,MAAA,cAAAulX,EAAArsM,EAAAqsM,EAAA,GAAAvlX,MAAA,mBAKA,SAAAglX,EAAAluL,EAAAtU,EAAAzwF,GACA,GAAAA,EAAA,KAAAA,EAAA,GACA,OAAAA,EAAA35E,QAYA,IALA,IAAAvlB,EAAA,IACAnW,GAAAq1G,EAAA,GAAAA,EAAA,IAAAl/F,EACA1V,EAAA40G,EAAA,GACAyzR,EAAA,GAEAvhY,EAAA,EAAiBA,GAAA4O,GAAA1V,EAAA40G,EAAA,GAAqC9tG,IACtDuhY,EAAA35X,KAAA1O,GACAA,GAAAT,EAIA,OADA8oY,EAAA35X,KAAAkmG,EAAA,IACAyzR,EAGA,IAAA7pY,EAAAgpY,EACA/oY,EAAAC,QAAAF,sBCjRA,IAAA8pY,EAAA7pY,EAAAC,QAAA,CAA6BmjH,QAAA,SAC7B,iBAAA0mR,UAAAD,sCCDe,SAAAE,EAAA3hY,EAAAG,EAAAhH,GAYf,OAXAgH,KAAAH,EACA/B,OAAA2kB,eAAA5iB,EAAAG,EAAA,CACAhH,QACA2pB,YAAA,EACAD,cAAA,EACAw+S,UAAA,IAGArhU,EAAAG,GAAAhH,EAGA6G,EAZAjM,EAAA2d,EAAA0R,EAAA,sBAAAu+W,0BCoBA,IAAA5kM,EAAoBhpM,EAAQ,QAE5BW,EAAaX,EAAQ,QAyBrB,SAAA4D,EAAA8X,EAAAiS,GACAjS,EAAA+kG,iBAAA,kBAAAhlG,GACA,IAAAwC,EAAAxC,EAAAwtK,WACApyB,EAAA54I,EAAA44I,MAEA,GAAAA,EAAAnyJ,OAAA,CACA,IAAAmpY,EAAA5yX,IACAipN,GAAAjpN,IACAta,EAAA2nB,KAAAuuI,EAAA,SAAAr4I,GACA,IAAAsvX,EAAAtvX,EAAAQ,YAAA5Z,MAEA0oY,EAAAD,IACAA,EAAAC,GAGAA,EAAA5pK,IACAA,EAAA4pK,KAGAntY,EAAA2nB,KAAAuuI,EAAA,SAAAr4I,GACA,IAAAuvX,EAAA,IAAA/kM,EAAA,CACA1nM,KAAA,QACA0gR,cAAA,SACAhoK,WAAA,CAAA6zR,EAAA3pK,GACAr6B,OAAApuL,EAAA7U,IAAA,WAEAonY,EAAAD,EAAArrH,iBAAAlkQ,EAAAQ,YAAA5Z,OACAoZ,EAAAmN,UAAA,QAAAqiX,GAEA,IAAA3hX,EAAA7N,EAAAsd,WACAmyW,EAAA5hX,EAAAzlB,IAAA,mBAEA,MAAAqnY,GACAzvX,EAAAmN,UAAA,QAAAsiX,QAOApqY,EAAAC,QAAAF,wBCvFA,IAAA8b,EAAW1f,EAAQ,QAGnB4D,EAAA8b,EAAA7Z,OAAA,CACAvE,KAAA,WACAyH,MAAA,CACA4jW,MAAA,MAEAuhC,iBAAA,WAIA,IAHA,IAAAv4G,EAAAx0R,KAAA8kO,YACA0mI,EAAAxrW,KAAA4H,MAAA4jW,MAEAzgW,EAAA,EAAmBA,EAAAygW,EAAAjoW,OAAkBwH,IAErCypR,KAAAg3E,EAAAzgW,GAAA+5N,YAGA9kO,KAAA8kO,YAAA0vD,EACAx0R,KAAAQ,QAAAR,KAAAQ,SAAAg0R,GAEAp2C,YAAA,WACAp+O,KAAA+sY,mBAKA,IAHA,IAAAvhC,EAAAxrW,KAAA4H,MAAA4jW,OAAA,GACAzzV,EAAA/X,KAAA6zR,iBAEA9oR,EAAA,EAAmBA,EAAAygW,EAAAjoW,OAAkBwH,IACrCygW,EAAAzgW,GAAA05D,MACA+mS,EAAAzgW,GAAAiwQ,kBAGAwwF,EAAAzgW,GAAA05D,KAAAqvN,SAAA/7Q,EAAA,GAAAA,EAAA,KAGAiH,UAAA,SAAA3e,EAAAuH,GAGA,IAFA,IAAA4jW,EAAA5jW,EAAA4jW,OAAA,GAEAzgW,EAAA,EAAmBA,EAAAygW,EAAAjoW,OAAkBwH,IACrCygW,EAAAzgW,GAAAiU,UAAA3e,EAAAmrW,EAAAzgW,GAAAnD,OAAA,IAGAy2O,WAAA,WAGA,IAFA,IAAAmtH,EAAAxrW,KAAA4H,MAAA4jW,OAAA,GAEAzgW,EAAA,EAAmBA,EAAAygW,EAAAjoW,OAAkBwH,IACrCygW,EAAAzgW,GAAA+5N,aAAA,GAGAvjO,gBAAA,WAGA,OAFAvB,KAAA+sY,mBAEAxuX,EAAAte,UAAAsB,gBAAAxB,KAAAC,SAIA0C,EAAAC,QAAAF,wBCtDA,IAAAI,EAAehE,EAAQ,QACvBmuY,EAAUnuY,EAAQ,QAClBouY,EAAkBpuY,EAAQ,QAC1B47R,EAAe57R,EAAQ,OAARA,CAAuB,YACtCquY,EAAA,aACAC,EAAA,YAGAC,EAAA,WAEA,IAIAC,EAJAC,EAAezuY,EAAQ,OAARA,CAAuB,UACtCkM,EAAAkiY,EAAA1pY,OACAwyG,EAAA,IACAw3R,EAAA,IAEAD,EAAA/sY,MAAAm/Q,QAAA,OACE7gR,EAAQ,QAASuhO,YAAAktK,GACnBA,EAAAp2W,IAAA,cAGAm2W,EAAAC,EAAAE,cAAA5iY,SACAyiY,EAAAj/Q,OACAi/Q,EAAAziF,MAAA70M,EAAA,SAAAw3R,EAAA,oBAAAx3R,EAAA,UAAAw3R,GACAF,EAAAtyR,QACAqyR,EAAAC,EAAAnkV,EACA,MAAAn+C,WAAAqiY,EAAAD,GAAAF,EAAAliY,IACA,OAAAqiY,KAGA1qY,EAAAC,QAAAoG,OAAA+lC,QAAA,SAAAo4J,EAAAumM,GACA,IAAA/pY,EAQA,OAPA,OAAAwjM,GACAgmM,EAAAC,GAAAtqY,EAAAqkM,GACAxjM,EAAA,IAAAwpY,EACAA,EAAAC,GAAA,KAEAzpY,EAAA+2R,GAAAvzF,GACGxjM,EAAA0pY,SACH9kY,IAAAmlY,EAAA/pY,EAAAspY,EAAAtpY,EAAA+pY,0BCtCA,IAAAC,EAAY7uY,EAAQ,QACpB8uY,EAAiB9uY,EAAQ,QAAkB6qD,OAAA,sBAE3C/mD,EAAAiB,EAAAmF,OAAAymU,qBAAA,SAAAtoI,GACA,OAAAwmM,EAAAxmM,EAAAymM,0BCeA,IAAA/uY,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAER,IAAA+uY,EAAmB/uY,EAAQ,QAE3BqiB,EAAgBriB,EAAQ,QAsBxBD,EAAAS,kBAAAuuY,GACA1sX,EAAAC,yBAAA,oBAEA,sCCnCA,IAAAyB,EAAkB/jB,EAAQ,QAE1B41W,EAA8B51W,EAAQ,QAEtC0iB,EAAc1iB,EAAQ,QAEtB4iB,EAAAF,EAAAE,WAyBAosX,EAAAjrX,EAAAle,OAAA,CACAvE,KAAA,gBACA6F,WAAA,KAQA6d,eAAA,SAAAV,GACA,IAAAslK,EAAAtlK,EAAAqlK,OAAArlK,EAAAslK,MACA/yB,EAAAvyI,EAAA5X,MAAA4X,EAAAuyI,MAEA,GAAAA,GAAA+yB,EAAA,CACA,IAAA3rK,EAAA23V,EAAA/+M,EAAA+yB,EAAAzoL,MAAA,GACA,OAAA8c,EAAAvR,OAGAi+K,gBAAA,SAAA/jK,EAAAqoX,GACA,IAAAtsN,EAAAxhL,KAAAmjB,OAAA5X,KAAAka,GACA+7J,EAAAo0H,OAAAk4F,EAAA,GACAtsN,EAAAq0H,OAAAi4F,EAAA,IAQAhmN,SAAA,WACA,OAAA9nL,KAAAwa,UAAAsC,OAQAkrK,YAAA,WACA,OAAAhoL,KAAA8nL,WAAAC,UAMAviK,cAAA,SAAAC,EAAAC,EAAAR,GAEA,YAAAA,EAAA,CACA,IAAAF,EAAAhlB,KAAAgrB,cAAAvF,EAAAP,GACA6oX,EAAA/oX,EAAAzZ,KACAyc,EAAA+lX,EAAA9zW,OAAA,OAAA8zW,EAAA13X,OAMA,OAJA2O,EAAA/gB,QACA+jB,GAAA,MAAAhD,EAAA/gB,OAGAwd,EAAAuG,GAGA,OAAA6lX,EAAAnkN,UAAA1pL,KAAA,gBAAAylB,EAAAC,IAEA0xH,cAAA,WACA,IAAAj0H,EAAAnjB,KAAAmjB,QAEA,IAAAA,EAAAunK,qBACAvnK,EAAAunK,mBAAA,aAGA5nK,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EACAj4B,iBAAA,OACAe,OAAA,KAEAqpC,KAAA,KACAG,IAAA,KACAF,MAAA,MACAC,OAAA,KAEA0yC,OAAA,aAEA8rT,UAAA,GAEAC,QAAA,EAEA33X,WAAA,EAEAo0K,oBAAA,EAEAwjN,iBAAA,GACAppX,MAAA,CACAo3F,MAAA,EACA51G,SAAA,QACAwgB,MAAA,OACApT,SAAA,IAEA43F,UAAA,CACAsR,YAAA,EACA/Z,YAAA,QAEA42C,UAAA,CACA3yH,MAAA,UACAgtC,QAAA,GACA4xI,UAAA,IAEA7oF,SAAA,CACA/3F,MAAA,CACAo3F,MAAA,GAEAu9B,UAAA,CACA3lF,QAAA,KAGAoxJ,gBAAA,SACAmgE,kBAAA,OAGA5iR,EAAAorY,EACAnrY,EAAAC,QAAAF,wBCtJA,IAAAof,EAAqBhjB,EAAQ,QAE7B6M,EAAoB7M,EAAQ,QAE5BwjB,EAAoBxjB,EAAQ,QAE5BsvY,EAAA9rX,EAAA8rX,mBAEA/qG,EAAkBvkS,EAAQ,QAE1BuwS,EAAAhM,EAAAgM,wBA6BAvtR,EAAAnd,OAAA,CACAvE,KAAA,UAKA2iB,cAAA,CAEA4sR,eAAAN,EAEAg/F,aAAA,KACA31T,WAAA,KACAx+C,OAAA,MAEAm9G,cAAA,WACA+2P,EAAAnuY,SAGA0L,EAAAhH,OAAA,CACAvE,KAAA,kCC1DA,IAAAvB,EAAcC,EAAQ,QA0BtBoqP,EAAA,CACA9oP,KAAA,iBACAgX,MAAA,oBAGAvY,EAAA0tB,eAAA28N,EAAA,SAAAz8N,EAAAjS,GACAA,EAAA8kG,cAAA,CACArzF,SAAA,eACAgqH,MAAAxpH,GACG,SAAA6hX,GACHA,EAAArpY,KAAA2e,MAAA2qX,mBAAA9hX,EAAA+hX,eAOA3vY,EAAA0tB,eAAA,8BAAAE,EAAAjS,GACAA,EAAA8kG,cAAA,CACArzF,SAAA,WACAgqH,MAAAxpH,GACG,SAAA+hL,GACHA,EAAAq7E,cAAAp9P,6BChDA,IAAAtoB,EAAcrF,EAAQ,QAEtBoH,EAAapH,EAAQ,QAErBW,EAAaX,EAAQ,QAErB4lR,EAAkB5lR,EAAQ,QAE1Bg6P,EAAA4rB,EAAA5rB,iBAoBA21I,EAAA,EACAC,EAAA,EACAC,EAAA,EAEA,SAAAC,EAAAvqE,GAKApkU,KAAAylE,MAAA,IAAAvhE,EAAA80M,MACAorH,EAAA7mS,IAAAv9B,KAAAylE,OA6GA,SAAAmpU,EAAA5sY,EAAAC,EAAAmmN,EAAAC,EAAAt8M,EAAAC,GACA,IAAA07D,EAAA,EAAA37D,EAAA/J,IAAA0sY,EAAAzsY,GAAA,CAAAD,EAAAomN,EAAAnmN,GAAA,CAAAD,EAAAomN,EAAAnmN,EAAAomN,GAAA,CAAAt8M,EAAA/J,IAAA0sY,EAAAzsY,EAAAomN,IAGA,OAFAr8M,GAAA07D,EAAA2J,OAAA,KAAArvE,EAAAomN,EAAAsmL,EAAAzsY,EAAAomN,EAAA,KACAt8M,GAAA27D,EAAA/0D,KAAA,CAAA3Q,EAAAC,EAAAomN,EAAA,IACA3gJ,EAIA,SAAAmnU,EAAA99V,EAAAz2B,EAAAw0X,GACA/9V,EAAA+7E,UAAA,CACAvG,cAAA,SACAgwH,iBAAA,UACAjzN,eAAAhJ,EAAAgJ,eACAT,YAAAvI,EAAAgJ,eACAuE,WAAAvN,EAAAhM,KACA6L,WAAA,UACA40X,SAAA,aAEApmN,SAAA,CACAljK,UAAAqpX,KAAArpX,UACAnX,KAAAwgY,KAAAxgY,MAEAwqP,aAAAg2I,GAAAj2I,EAAAi2I,EAAAx0X,IAhIAq0X,EAAA1uY,UAAA,CACAC,YAAAyuY,EACAz7U,OAAA,SAAA54C,EAAAvV,EAAA0jP,EAAAumJ,GACA,IAAArrX,EAAArJ,EAAAqgB,SAAA,cACAmjL,EAAA99M,KAAAylE,MAGA,GAFAq4I,EAAAz5I,YAEA1gD,EAAAle,IAAA,SAAAgjP,EAAA,CAIA,IAAAwmJ,EAAAtrX,EAAAgX,SAAA,aAEAgvE,EAAAslS,EAAAt0W,SAAA,aACAu0W,EAAA,CACApuS,IAAA,CACAxxD,KAAA3rB,EAAAle,IAAA,QACA8pC,MAAA5rB,EAAAle,IAAA,SACAgqC,IAAA9rB,EAAAle,IAAA,OACA+pC,OAAA7rB,EAAAle,IAAA,WAEAq9E,IAAA,CACAxgF,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,aAEA6wU,eAAAxrX,EAAAle,IAAA,kBACA2pY,WAAA,EACAvwU,WAAA,IAGA7+D,KAAAqvY,SAAA5mJ,EAAAymJ,EAAAvlS,GAEA3pG,KAAAsvY,eAAAh1X,EAAA40X,EAAAD,EAAAtlS,EAAAqlS,GAEA/oY,EAAAw9E,gBAAAq6H,EAAAoxL,EAAApuS,IAAAouS,EAAApsT,OAOAusT,SAAA,SAAA5mJ,EAAAymJ,EAAAvlS,GACA,QAAAtsF,EAAAorO,EAA+BprO,EAAMA,IAAAy2M,WAAA,CACrC,IAAA9yN,EAAAqc,EAAAsd,WAAAl1B,IAAA,QACAwT,EAAA0wF,EAAA0+C,YAAArnJ,GACAonN,EAAA1hN,KAAAS,IAAA8R,EAAA3W,MAAA,EAAAksY,EAAAU,EAAAC,gBACAD,EAAAE,YAAAhnL,EAAAqmL,EACAS,EAAArwU,WAAAlsD,KAAA,CACA0K,OACArc,OACAsB,MAAA8lN,MAQAknL,eAAA,SAAAh1X,EAAA40X,EAAAD,EAAAtlS,EAAAqlS,GASA,IAPA,IAAAO,EAAA,EACAJ,EAAAD,EAAAC,eACA5sY,EAAA+X,EAAA7U,IAAA,qBACA+pY,EAAAvpY,EAAAg9E,iBAAAisT,EAAApuS,IAAAouS,EAAApsT,KACAssT,EAAAF,EAAAE,WACAvwU,EAAAqwU,EAAArwU,WAEA9zD,EAAA8zD,EAAAt7D,OAAA,EAAuCwH,GAAA,EAAQA,IAAA,CAC/C,IAAA85D,EAAAhG,EAAA9zD,GACA+jY,EAAAjqU,EAAAxnD,KACA+qM,EAAAvjJ,EAAAviE,MACAtB,EAAA6jE,EAAA7jE,KAEAouY,EAAAI,EAAAltY,QACA8sY,GAAAhnL,EAAA+mL,EACA/mL,EAAA+mL,EACAnuY,EAAA,MAGA,IAAA+vC,EAAA,IAAA7sC,EAAA+0M,QAAA,CACArxM,MAAA,CACA8/D,OAAAknU,EAAAW,EAAA,EAAAnnL,EAAA7lN,EAAAwI,IAAA8zD,EAAAt7D,OAAA,MAAAwH,IAEAxK,MAAAf,EAAA8V,SAAA25X,EAAA1jS,eAAA,CACAouG,SAAA,QACA34M,OACA8oG,SAAAH,EAAAk1G,eACA/qM,SAAA61F,EAAAuqG,YAEA/2K,EAAA,GACAgvF,QAAA3sH,EAAAmqB,MAAAqlX,EAAAF,KAEA9uY,KAAAylE,MAAAloC,IAAAwT,GACA89V,EAAA99V,EAAAz2B,EAAAw0X,GACAS,GAAAnnL,EAAAqmL,IAOAjiY,OAAA,WACAxM,KAAAylE,MAAApB,cA8BA,IAAA5hE,EAAAksY,EACAjsY,EAAAC,QAAAF,wBC9KA,IAAA8b,EAAW1f,EAAQ,QAEnB2c,EAAW3c,EAAQ,QAEnB2f,EAAwB3f,EAAQ,QAqBhCuyX,EAAA51W,EAAAtU,IACAmqX,EAAA71W,EAAArU,IACAmX,EAAA9C,EAAA8C,YACAmxX,EAAAj0X,EAAApC,KAEA+D,EAAA,GACA8iO,EAAA,GACAtjC,EAAA,GAEA,SAAA+yL,EAAA5uX,GACA,OAAAlH,MAAAkH,EAAA,KAAAlH,MAAAkH,EAAA,IAGA,SAAA6uX,EAAAtvY,EAAAqnE,EAAAt7C,EAAAwjX,EAAAC,EAAAn2W,EAAAo2W,EAAAC,EAAAlwJ,EAAAmwJ,EAAAC,GAoBA,eAAAD,KAGAE,EAAAxnY,MAAA1I,KAAA2I,WAFAwnY,EAAAznY,MAAA1I,KAAA2I,WA8CA,SAAAunY,EAAA7vY,EAAAqnE,EAAAt7C,EAAAwjX,EAAAC,EAAAn2W,EAAAo2W,EAAAC,EAAAlwJ,EAAAmwJ,EAAAC,GAIA,IAHA,IAAAG,EAAA,EACAzyX,EAAAyO,EAEA1L,EAAA,EAAiBA,EAAAkvX,EAAYlvX,IAAA,CAC7B,IAAAI,EAAA4mD,EAAA/pD,GAEA,GAAAA,GAAAkyX,GAAAlyX,EAAA,EACA,MAGA,GAAA+xX,EAAA5uX,GAAA,CACA,GAAAmvX,EAAA,CACAtyX,GAAA+b,EACA,SAGA,MAGA,GAAA/b,IAAAyO,EACA/rB,EAAAq5B,EAAA,qBAAA5Y,EAAA,GAAAA,EAAA,SAEA,GAAA++N,EAAA,GACA,IAAAwwJ,EAAA3oU,EAAA0oU,GACA90X,EAAA,MAAA00X,EAAA,IAEAM,GAAAxvX,EAAAxF,GAAA+0X,EAAA/0X,IAAAukO,EACA4vJ,EAAAxvJ,EAAAowJ,GACApwJ,EAAA3kO,GAAA+0X,EAAA/0X,GAAAg1X,EACAb,EAAA9yL,EAAA77L,GACA67L,EAAArhM,GAAAwF,EAAAxF,GAAAg1X,EACAjwY,EAAAs0S,cAAA10D,EAAA,GAAAA,EAAA,GAAAtjC,EAAA,GAAAA,EAAA,GAAA77L,EAAA,GAAAA,EAAA,SAEAzgB,EAAAif,OAAAwB,EAAA,GAAAA,EAAA,IAIAsvX,EAAAzyX,EACAA,GAAA+b,EAGA,OAAAhZ,EASA,SAAAyvX,EAAA9vY,EAAAqnE,EAAAt7C,EAAAwjX,EAAAC,EAAAn2W,EAAAo2W,EAAAC,EAAAlwJ,EAAAmwJ,EAAAC,GAIA,IAHA,IAAAG,EAAA,EACAzyX,EAAAyO,EAEA1L,EAAA,EAAiBA,EAAAkvX,EAAYlvX,IAAA,CAC7B,IAAAI,EAAA4mD,EAAA/pD,GAEA,GAAAA,GAAAkyX,GAAAlyX,EAAA,EACA,MAGA,GAAA+xX,EAAA5uX,GAAA,CACA,GAAAmvX,EAAA,CACAtyX,GAAA+b,EACA,SAGA,MAGA,GAAA/b,IAAAyO,EACA/rB,EAAAq5B,EAAA,qBAAA5Y,EAAA,GAAAA,EAAA,IACA2uX,EAAAxvJ,EAAAn/N,QAEA,GAAA++N,EAAA,GACA,IAAAwjH,EAAA1lV,EAAA+b,EACA62W,EAAA7oU,EAAA27R,GAEA,GAAA4sC,EAEA,MAAAM,GAAAb,EAAAhoU,EAAA27R,IACAA,GAAA3pU,EACA62W,EAAA7oU,EAAA27R,GAIA,IAAAmtC,EAAA,GACAH,EAAA3oU,EAAA0oU,GACAG,EAAA7oU,EAAA27R,GAEA,IAAAktC,GAAAb,EAAAa,GACAd,EAAA9yL,EAAA77L,OACS,CAOT,IAAA2vX,EACAC,EAEA,GARAhB,EAAAa,KAAAN,IACAM,EAAAzvX,GAGAtF,EAAA4C,IAAAjB,EAAAozX,EAAAF,GAIA,MAAAL,GAAA,MAAAA,EAAA,CACA,IAAA10X,EAAA,MAAA00X,EAAA,IACAS,EAAA/pY,KAAAiR,IAAAmJ,EAAAxF,GAAA+0X,EAAA/0X,IACAo1X,EAAAhqY,KAAAiR,IAAAmJ,EAAAxF,GAAAi1X,EAAAj1X,SAEAm1X,EAAAj1X,EAAAmiB,KAAA7c,EAAAuvX,GACAK,EAAAl1X,EAAAmiB,KAAA7c,EAAAyvX,GAIAC,EAAAE,KAAAD,GACAnyX,EAAAq+L,EAAA77L,EAAA3D,GAAA0iO,GAAA,EAAA2wJ,IAIApf,EAAAnxI,IAAA8vJ,GACA1e,EAAApxI,IAAA6vJ,GACA1e,EAAAz0K,IAAAozL,GACA1e,EAAA10K,IAAAmzL,GACAzvY,EAAAs0S,cAAA10D,EAAA,GAAAA,EAAA,GAAAtjC,EAAA,GAAAA,EAAA,GAAA77L,EAAA,GAAAA,EAAA,IAEAxC,EAAA2hO,EAAAn/N,EAAA3D,EAAA0iO,EAAA2wJ,QAEAnwY,EAAAif,OAAAwB,EAAA,GAAAA,EAAA,IAIAsvX,EAAAzyX,EACAA,GAAA+b,EAGA,OAAAhZ,EAGA,SAAAuyD,EAAAvL,EAAA2tS,GACA,IAAAs7B,EAAA,CAAA72X,SACA82X,EAAA,EAAA92X,UAEA,GAAAu7V,EACA,QAAAtqW,EAAA,EAAmBA,EAAA28D,EAAAnkE,OAAmBwH,IAAA,CACtC,IAAA83G,EAAAn7C,EAAA38D,GAEA83G,EAAA,GAAA8tR,EAAA,KACAA,EAAA,GAAA9tR,EAAA,IAGAA,EAAA,GAAA8tR,EAAA,KACAA,EAAA,GAAA9tR,EAAA,IAGAA,EAAA,GAAA+tR,EAAA,KACAA,EAAA,GAAA/tR,EAAA,IAGAA,EAAA,GAAA+tR,EAAA,KACAA,EAAA,GAAA/tR,EAAA,IAKA,OACA37G,IAAAmuW,EAAAs7B,EAAAC,EACAzpY,IAAAkuW,EAAAu7B,EAAAD,GAIA,IAAAx3L,EAAA56L,EAAA7Z,OAAA,CACAvE,KAAA,cACAyH,MAAA,CACA8/D,OAAA,GACAm4K,OAAA,EACAw1H,kBAAA,EACA26B,eAAA,KACAC,cAAA,GAEA1vY,MAAA,CACAG,KAAA,KACAC,OAAA,QAEAP,MAAAoe,EAAAD,EAAAte,UAAAG,OACA4e,UAAA,SAAA3e,EAAAuH,GACA,IAAA8/D,EAAA9/D,EAAA8/D,OACA38D,EAAA,EACA0B,EAAAi7D,EAAAnkE,OACAG,EAAAuvE,EAAAvL,EAAA9/D,EAAAytW,kBAEA,GAAAztW,EAAAqoY,aAAA,CAEA,KAAYxjY,EAAA,EAASA,IACrB,IAAAijY,EAAAhoU,EAAAj7D,EAAA,IACA,MAIA,KAAY1B,EAAA0B,EAAS1B,IACrB,IAAA2kY,EAAAhoU,EAAA38D,IACA,MAKA,MAAAA,EAAA0B,EACA1B,GAAA4kY,EAAAtvY,EAAAqnE,EAAA38D,EAAA0B,IAAA,EAAA/I,EAAAwD,IAAAxD,EAAAyD,IAAAS,EAAAi4O,OAAAj4O,EAAAooY,eAAApoY,EAAAqoY,cAAA,KAIAh3L,EAAA16L,EAAA7Z,OAAA,CACAvE,KAAA,aACAyH,MAAA,CACA8/D,OAAA,GAEAmpU,gBAAA,GACAhxJ,OAAA,EACAixJ,gBAAA,EACAz7B,kBAAA,EACA26B,eAAA,KACAC,cAAA,GAEA7vY,MAAAoe,EAAAD,EAAAte,UAAAG,OACA4e,UAAA,SAAA3e,EAAAuH,GACA,IAAA8/D,EAAA9/D,EAAA8/D,OACAmpU,EAAAjpY,EAAAipY,gBACA9lY,EAAA,EACA0B,EAAAi7D,EAAAnkE,OACAysY,EAAApoY,EAAAooY,eACAvwX,EAAAwzD,EAAAvL,EAAA9/D,EAAAytW,kBACA07B,EAAA99T,EAAA49T,EAAAjpY,EAAAytW,kBAEA,GAAAztW,EAAAqoY,aAAA,CAEA,KAAYxjY,EAAA,EAASA,IACrB,IAAAijY,EAAAhoU,EAAAj7D,EAAA,IACA,MAIA,KAAY1B,EAAA0B,EAAS1B,IACrB,IAAA2kY,EAAAhoU,EAAA38D,IACA,MAKA,MAAAA,EAAA0B,EAAA,CACA,IAAAiU,EAAAivX,EAAAtvY,EAAAqnE,EAAA38D,EAAA0B,IAAA,EAAAgT,EAAAvY,IAAAuY,EAAAtY,IAAAS,EAAAi4O,OAAAmwJ,EAAApoY,EAAAqoY,cACAN,EAAAtvY,EAAAwwY,EAAA9lY,EAAA2V,EAAA,EAAAA,EAAAjU,GAAA,EAAAskY,EAAA7pY,IAAA6pY,EAAA5pY,IAAAS,EAAAkpY,gBAAAd,EAAApoY,EAAAqoY,cACAllY,GAAA2V,EAAA,EACArgB,EAAAmf,gBAIA7c,EAAAw2M,WACAx2M,EAAAs2M,gCC5XA,IAAA0kB,EAAU9+N,EAAQ,QAClBqqW,EAAiBrqW,EAAQ,QACzByiO,EAAgBziO,EAAQ,QACxBmyY,EAAkBnyY,EAAQ,QAC1Bg1F,EAAUh1F,EAAQ,QAClBoyY,EAAqBpyY,EAAQ,QAC7B0iO,EAAAx4N,OAAAunU,yBAEA3tU,EAAAiB,EAAY/E,EAAQ,QAAgB0iO,EAAA,SAAAr6B,EAAAt7B,GAGpC,GAFAs7B,EAAAo6B,EAAAp6B,GACAt7B,EAAAolO,EAAAplO,GAAA,GACAqlO,EAAA,IACA,OAAA1vK,EAAAr6B,EAAAt7B,GACG,MAAAz1J,IACH,GAAA09E,EAAAqzG,EAAAt7B,GAAA,OAAAs9L,GAAAvrI,EAAA/5N,EAAA7D,KAAAmnM,EAAAt7B,GAAAs7B,EAAAt7B,2BCdA,IAAArtJ,EAAW1f,EAAQ,QAMnB4D,EAAA8b,EAAA7Z,OAAA,CACAvE,KAAA,OACAyH,MAAA,CACA6W,GAAA,EACAC,GAAA,EACAE,EAAA,EACAD,GAAA,GAEAK,UAAA,SAAA3e,EAAAuH,GACA,IAAA5F,EAAA4F,EAAA6W,GACAxc,EAAA2F,EAAA8W,GACA4wS,EAAA,EAAA5oT,KAAAC,GACAtG,EAAAgf,OAAArd,EAAA4F,EAAAgX,EAAA3c,GACA5B,EAAAkf,IAAAvd,EAAAC,EAAA2F,EAAAgX,EAAA,EAAA0wS,GAAA,GACAjvT,EAAAgf,OAAArd,EAAA4F,EAAA+W,GAAA1c,GACA5B,EAAAkf,IAAAvd,EAAAC,EAAA2F,EAAA+W,GAAA,EAAA2wS,GAAA,MAIA5sT,EAAAC,QAAAF,wBCLA,IAAAjD,EAAaX,EAAQ,QAErB+mJ,EAAgB/mJ,EAAQ,QAoBxB,SAAAgvX,EAAAv/W,GACAs3I,EAAA7lJ,KAAAC,KAAAsO,GAGAu/W,EAAA5tX,UAAA,CACAC,YAAA2tX,EACA1tX,KAAA,cAMAs4E,WAAA,UAOA79D,YAAA,WACA,OAAA5a,KAAA+lJ,eAAA,eAAA/lJ,KAAA+lJ,eAAA,YAAA/lJ,KAAAi8I,QAAA,MAQAtnF,aAAA,SAAAkV,GACA,IAAAqnU,EAAAlxY,KAAAi8I,QAAA,KACAk1P,EAAAnxY,KAAAi8I,QAAA,KACA,OAAAi1P,EAAA5wX,QAAA4wX,EAAA/+G,aAAAtoN,EAAA,MAAAsnU,EAAA7wX,QAAA6wX,EAAAh/G,aAAAtoN,EAAA,MAQA47E,YAAA,SAAAl6I,GACA,OAAAvL,KAAAi8I,QAAA,KAAAwJ,YAAAl6I,EAAA,KAAAvL,KAAAi8I,QAAA,KAAAwJ,YAAAl6I,EAAA,KAQAhG,YAAA,SAAAgG,EAAA6lY,EAAA/xW,GACA,IAAAwhD,EAAA7gF,KAAAi8I,QAAA,KACAr7D,EAAA5gF,KAAAi8I,QAAA,KAIA,OAHA58G,KAAA,GACAA,EAAA,GAAAwhD,EAAAupJ,cAAAvpJ,EAAAugC,YAAA71G,EAAA,KACA8zB,EAAA,GAAAuhD,EAAAwpJ,cAAAxpJ,EAAAwgC,YAAA71G,EAAA,KACA8zB,GAQAkhV,UAAA,SAAAh1W,EAAA8zB,GACA,IAAA6hJ,EAAAlhL,KAAAi8I,QAAA,KAAAlkI,MACAopK,EAAAnhL,KAAAi8I,QAAA,KAAAlkI,MACAs5X,EAAAnwN,EAAAlmK,YACAs2X,EAAAnwN,EAAAnmK,YACAhZ,EAAAk/K,EAAA9nJ,MAAA7tB,EAAA,IACAtJ,EAAAk/K,EAAA/nJ,MAAA7tB,EAAA,IAIA,OAHA8zB,KAAA,GACAA,EAAA,GAAA34B,KAAAQ,IAAAR,KAAAS,IAAAT,KAAAQ,IAAAmqY,EAAA,GAAAA,EAAA,IAAArvY,GAAA0E,KAAAS,IAAAkqY,EAAA,GAAAA,EAAA,KACAhyW,EAAA,GAAA34B,KAAAQ,IAAAR,KAAAS,IAAAT,KAAAQ,IAAAoqY,EAAA,GAAAA,EAAA,IAAArvY,GAAAyE,KAAAS,IAAAmqY,EAAA,GAAAA,EAAA,KACAjyW,GAQAgiF,YAAA,SAAAx3C,EAAAxqC,GACA,IAAAwhD,EAAA7gF,KAAAi8I,QAAA,KACAr7D,EAAA5gF,KAAAi8I,QAAA,KAIA,OAHA58G,KAAA,GACAA,EAAA,GAAAwhD,EAAA6kE,YAAA7kE,EAAAsxM,aAAAtoN,EAAA,KACAxqC,EAAA,GAAAuhD,EAAA8kE,YAAA9kE,EAAAuxM,aAAAtoN,EAAA,KACAxqC,GAOAvkB,aAAA,SAAA9V,GACA,OAAAhF,KAAAi8I,QAAA,MAAAj3I,EAAAsW,IAAA,WAGA9b,EAAAgD,SAAAqrX,EAAAjoO,GACA,IAAAnjJ,EAAAorX,EACAnrX,EAAAC,QAAAF,wBCzHA,IAAA7D,EAAcC,EAAQ,QAEtBs0P,EAAkBt0P,EAAQ,QAE1Bu0P,EAAAD,EAAAC,oBAyBAx0P,EAAA0tB,eAAA,CACAnsB,KAAA,wBACAgX,MAAA,wBACAoV,OAAA,UACC,SAAAC,EAAAjS,GACDA,EAAA8kG,cAAA,CACArzF,SAAA,SACA7H,QAAA,OACA6xH,MAAAxpH,GACG,SAAAlS,GACH,IAAAmL,EAAA+G,EAAA/G,UACAugL,EAAA1rL,EAAAE,UAAAwrL,KACA3oL,EAAA2oL,EAAA++E,mBAAAt/P,GACApI,EAAA40V,UAAA50V,EAAA40V,aAGArzW,EAAA0tB,eAAA,CACAnsB,KAAA,WACAgX,MAAA,WAKAoV,OAAA,QACC,SAAAC,EAAAjS,GACDA,EAAA8kG,cAAA,CACArzF,SAAA,SACA7H,QAAA,OACA6xH,MAAAxpH,GACG,SAAAlS,GACH,IAAArV,EAAAqV,EAAApV,iBACA6sE,EAAAqhL,EAAAnuP,EAAAunB,GACAlS,EAAAskE,WAAAtkE,EAAAskE,UAAA7M,EAAA71D,QACA5B,EAAAo0J,SAAAp0J,EAAAo0J,QAAA38F,EAAAiwC,gCClFA,IAAAzjG,EAAW1f,EAAQ,QAEnBu2W,EAAiBv2W,EAAQ,QAKzB4D,EAAA8b,EAAA7Z,OAAA,CACAvE,KAAA,WACAyH,MAAA,CACA8/D,OAAA,KACAm4K,QAAA,EACAw1H,iBAAA,MAEA90W,MAAA,CACAI,OAAA,OACAD,KAAA,MAEAse,UAAA,SAAA3e,EAAAuH,GACAwtW,EAAAp2V,UAAA3e,EAAAuH,GAAA,MAIAlF,EAAAC,QAAAF,wBCHA,IAAA7D,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAER,IAAA0yY,EAAoB1yY,EAAQ,QAE5B2yY,EAAoB3yY,EAAQ,QAoB5BD,EAAAO,eAAAoyY,GACA3yY,EAAAQ,eAAAoyY,yBCnDA,IAAAjF,EAAW1tY,EAAQ,QACnBqsD,EAAarsD,EAAQ,QACrB4yY,EAAA,qBACAhmX,EAAAy/B,EAAAumV,KAAAvmV,EAAAumV,GAAA,KAEA/uY,EAAAC,QAAA,SAAAsI,EAAAhH,GACA,OAAAwnB,EAAAxgB,KAAAwgB,EAAAxgB,QAAA3C,IAAArE,IAAA,MACC,eAAA0O,KAAA,CACDmzG,QAAAymR,EAAAzmR,QACA31B,KAAQtxF,EAAQ,QAAY,gBAC5B6yY,UAAA,+DCVA,IAAAlyY,EAAaX,EAAQ,QAErBuqP,EAAYvqP,EAAQ,QAEpBwzW,EAAcxzW,EAAQ,QAEtBka,EAAela,EAAQ,QAavB,SAAAU,EAAAO,GAIA,QAAAwO,KAHAxO,KAAA,GACAuyW,EAAAtyW,KAAAC,KAAAF,GAEAA,EACAA,EAAAoL,eAAAoD,IAAA,UAAAA,IACAtO,KAAAsO,GAAAxO,EAAAwO,IAQAtO,KAAAO,MAAA,IAAA6oP,EAAAtpP,EAAAS,MAAAP,MACAA,KAAAwB,MAAA,KAEAxB,KAAAy9Q,YAAA,GAIAl+Q,EAAAU,UAAA,CACAC,YAAAX,EACAY,KAAA,cAQAK,SAAA,EASAswE,WAAA,EAOA3zC,EAAA,EAOAuC,GAAA,EAQAy8E,OAAA,EAQA7lG,WAAA,EAQAi5M,UAAA,EAQAloG,QAAA,EAOAztC,SAAA,EAOAnpB,OAAA,UAOAgrJ,WAAA,EAOAhgC,aAAA,EAKA26B,aAAA,EAMAu7L,iBAAA,EACAvzJ,YAAA,SAAA/9O,KACAg+O,WAAA,SAAAh+O,KAOAD,MAAA,SAAAC,EAAAC,KAOAiB,gBAAA,aASA+e,QAAA,SAAAte,EAAAC,GACA,OAAAjC,KAAA4xY,YAAA5vY,EAAAC,IAOAkwB,SAAA,SAAA4D,EAAArS,GACAqS,EAAAh2B,KAAA2jB,EAAA1jB,OAUA4xY,YAAA,SAAA5vY,EAAAC,GACA,IAAAse,EAAAvgB,KAAAg0O,sBAAAhyO,EAAAC,GACAR,EAAAzB,KAAAuB,kBACA,OAAAE,EAAA6e,QAAAC,EAAA,GAAAA,EAAA,KAOAoE,MAAA,WACA3kB,KAAAQ,QAAAR,KAAAy+Q,aAAA,EACAz+Q,KAAAwB,MAAA,KACAxB,KAAAkyB,MAAAlyB,KAAAkyB,KAAAiB,WAuBA0+W,aAAA,SAAArhQ,GACA,OAAAxwI,KAAAu8B,QAAA,QAAAi0G,IAEAmkJ,OAAA,SAAA1pR,EAAAhH,GACA,UAAAgH,EACAonW,EAAApyW,UAAA00R,OAAA50R,KAAAC,KAAAiL,EAAAhH,GAEAjE,KAAAO,MAAA6yB,IAAAnvB,IAQAujH,SAAA,SAAAv8G,EAAAhH,GAGA,OAFAjE,KAAAO,MAAA6yB,IAAAnoB,EAAAhH,GACAjE,KAAA2kB,OAAA,GACA3kB,MAOAiyM,SAAA,SAAAnnM,GAGA,OAFA9K,KAAAO,MAAA,IAAA6oP,EAAAt+O,EAAA9K,MACAA,KAAA2kB,OAAA,GACA3kB,OAGAR,EAAAgD,SAAAjD,EAAA8yW,GACA7yW,EAAAoZ,MAAArZ,EAAAwZ,GAEA,IAAAtW,EAAAlD,EACAmD,EAAAC,QAAAF,wBC/OA,IAAAyB,EAAcrF,EAAQ,QAEtB4uM,EAAW5uM,EAAQ,QAEnBW,EAAaX,EAAQ,QAErBwnN,EAAcxnN,EAAQ,QAEtB49K,EAAA4pC,EAAA5pC,aAEAjhK,EAAW3c,EAAQ,QAEnBizY,EAAgBjzY,EAAQ,QA+BxB,SAAAyuP,EAAA/rE,EAAA5jK,EAAA0wN,GACAnqO,EAAA80M,MAAAj5M,KAAAC,MACAA,KAAAu9B,IAAAv9B,KAAA22X,WAAAp1M,EAAA5jK,EAAA0wN,IAEAruO,KAAA+xY,oBAAAxwN,EAAA5jK,GAGA,IAAAq0X,EAAA1kJ,EAAArtP,UAEA+xY,EAAArb,WAAA,SAAAp1M,EAAA5jK,EAAA0wN,GACA,WAAA5gC,EAAAlsB,EAAA5jK,EAAA0wN,IAGA2jK,EAAAD,oBAAA,SAAAxwN,EAAA5jK,GACA,IAAAuN,EAAAq2J,EAAAp2J,aAAAxN,GACA8iK,EAAAv1J,EAAAyP,SAAA,UACA1f,EAAAwlK,EAAAh7K,IAAA,cACA6kB,EAAAm2J,EAAAh7K,IAAA,UAEAjG,EAAAwJ,QAAAiS,KACAA,EAAA,CAAAA,MAGA,IAAA6L,EAAA25J,EAAAh7K,IAAA,UAAA87K,EAAA/5J,cAAA7J,EAAA,SACA8M,EAAAzqB,KAAA4xE,QAAA,GAEA5xE,KAAAusG,cAAAjiF,IAEAtqB,KAAAwM,OAAAie,GACAA,EAAAgyJ,EAAAnyJ,GAAA,WAAAxD,GACA2D,EAAAiV,GAAA,IACAjV,EAAAmvD,SAAA,EACA55E,KAAAu9B,IAAA9S,IAIAA,IAKAA,EAAA+8F,SAAA,cAAA1gG,GACA2D,EAAA+8F,SAAAi5D,EAAAl1E,aAAA,YACA9gF,EAAAs5D,KAAA,QAAA9oE,GACAwP,EAAAosJ,SAAA/vJ,GACA2D,EAAAs5D,KAAA,QAAA9oE,GACAjb,KAAAusG,YAAAjiF,EAEAtqB,KAAAiyY,uBAAA1wN,EAAAd,EAAA9iK,KAGAq0X,EAAAC,uBAAA,SAAA1wN,EAAAd,EAAA9iK,GACA,IAAA8M,EAAAzqB,KAAA4xE,QAAA,GAEA,GAAAnnD,EAAA,CAIA,IAAAid,EAAA1nC,KACA0nE,EAAA65G,EAAA9L,cAAA93J,GACAgjK,EAAA,IAAAF,EAAAh7K,IAAA,UACA+qI,EAAAiwC,EAAAh7K,IAAA,QACAysY,EAAAzxN,EAAAh7K,IAAA,iBACA0sY,EAAA3yY,EAAAq9B,SAAA4jJ,EAAAh7K,IAAA,kBAAAkY,GACA,OAAAA,EAAA4jK,EAAA5nK,QAAAgnK,EAAA,IAEAyxN,EAAA,oBAAAD,EASA,GAPA1nX,EAAA6gB,QAAA,EACAtrC,KAAAqyY,sBAAA5nX,EAAAi9C,GAEAwqU,EAAA,IACAvxN,EAAA3gL,KAAAsyY,cAAA7nX,GAAAynX,EAAA,KAGAvxN,IAAA3gL,KAAAuyY,SAAA/hQ,IAAAxwI,KAAAywI,MAAA,CACAhmH,EAAA6R,gBACA,IAAAo0G,EAAAyhQ,EAEAC,IACA1hQ,EAAAyhQ,EAAAx0X,IAGA8M,EAAA+nX,IAAA,IACA9hQ,GAAAiwC,EAAAl2J,EAAA+nX,KAGA/nX,EAAA+nX,IAAA,EACA,IAAA9wT,EAAAj3D,EAAA8R,QAAA,GAAAi0G,GAAAh0G,KAAAmkJ,EAAA,CACA6xN,IAAA,IACK9hQ,SAAAj0G,OAAA,WACLiL,EAAA+qW,qBAAAhoX,KAGA+lH,GACA9uD,EAAA19E,KAAA,WACA0jC,EAAAl7B,OAAAie,KAIAi3D,EAAAt1D,QAGApsB,KAAAuyY,QAAA5xN,EACA3gL,KAAAywI,MAAAD,IAGAwhQ,EAAAM,cAAA,SAAA7nX,GAEA,OAAAjP,EAAAmiB,KAAAlT,EAAAioX,KAAAjoX,EAAAkoX,OAAAn3X,EAAAmiB,KAAAlT,EAAAkoX,MAAAloX,EAAAmoX,OAGAZ,EAAAK,sBAAA,SAAA5nX,EAAAi9C,GACAj9C,EAAAioX,KAAAhrU,EAAA,GACAj9C,EAAAmoX,KAAAlrU,EAAA,GACAj9C,EAAAkoX,MAAAjrU,EAAA,MAAAA,EAAA,MAAAA,EAAA,UAAAA,EAAA,MAAAA,EAAA,WAGAsqU,EAAAvxS,WAAA,SAAA8gF,EAAA5jK,EAAA0wN,GACAruO,KAAA4xE,QAAA,GAAA6uB,WAAA8gF,EAAA5jK,EAAA0wN,GAEAruO,KAAA+xY,oBAAAxwN,EAAA5jK,IAGAq0X,EAAAS,qBAAA,SAAAhoX,GACA,IAAAnO,EAAAmO,EAAAioX,KACAn2X,EAAAkO,EAAAmoX,KACAj2L,EAAAlyL,EAAAkoX,MACAv2X,EAAAqO,EAAA+nX,IACA1xS,EAAAr2E,EAAAnkB,SACAsV,EAAAk2X,EAAAl2X,YACAomO,EAAA8vJ,EAAA9vJ,sBACAlhJ,EAAA,GAAAllF,EAAAU,EAAA,GAAAqgM,EAAA,GAAApgM,EAAA,GAAAH,GACA0kF,EAAA,GAAAllF,EAAAU,EAAA,GAAAqgM,EAAA,GAAApgM,EAAA,GAAAH,GAEA,IAAA+0W,EAAAnvI,EAAA1lO,EAAA,GAAAqgM,EAAA,GAAApgM,EAAA,GAAAH,GACAq5R,EAAAzzD,EAAA1lO,EAAA,GAAAqgM,EAAA,GAAApgM,EAAA,GAAAH,GACAqO,EAAAjkB,UAAAE,KAAA44B,MAAAm2Q,EAAA07E,GAAAzqX,KAAAC,GAAA,EACA8jB,EAAA6gB,QAAA,GAGA0mW,EAAA1kS,aAAA,SAAAi0E,EAAA5jK,GACA3d,KAAA4xE,QAAA,GAAA07B,aAAAi0E,EAAA5jK,GACA,IAAA8iK,EAAAc,EAAAp2J,aAAAxN,GAAAgd,SAAA,UAEA36B,KAAAiyY,uBAAA1wN,EAAAd,EAAA9iK,IAGAne,EAAAgD,SAAA8qP,EAAAppP,EAAA80M,OACA,IAAAv2M,EAAA6qP,EACA5qP,EAAAC,QAAAF,wBCjMA,IAAAjD,EAAaX,EAAQ,QAErB2nJ,EAAiB3nJ,EAAQ,QAEzB8wE,EAAiB9wE,EAAQ,QAEzBg0Y,EAAkBh0Y,EAAQ,QAE1B85N,EAAoB95N,EAAQ,QAuC5B+7R,EAAAjiE,EAAA14N,UACA86R,EAAAr0R,KAAA0gE,KACA0zN,EAAAp0R,KAAAmK,MACAiiY,EAAA,IACAC,EAAA,GAAAD,EACAE,EAAA,GAAAD,EACAE,EAAA,GAAAD,EAEAE,EAAA,SAAA3qY,EAAAvG,EAAA2qS,EAAAC,GACA,MAAAD,EAAAC,EAAA,CACA,IAAAI,EAAAL,EAAAC,IAAA,EAEArkS,EAAAykS,GAAA,GAAAhrS,EACA2qS,EAAAK,EAAA,EAEAJ,EAAAI,EAIA,OAAAL,GAQAwmG,EAAAx6K,EAAAj0N,OAAA,CACAvE,KAAA,OAKA4+I,SAAA,SAAA91I,GACA,IAAAmqY,EAAApzY,KAAAqzY,SACAprP,EAAA,IAAAjwH,KAAA/uB,GACA,OAAA0mE,EAAAnuD,WAAA4xX,EAAA,GAAAnrP,EAAAjoJ,KAAAopX,WAAA,YAMA1xI,WAAA,SAAAtiO,GACA,IAAA2F,EAAA/a,KAAAsmJ,QASA,GAPAvrI,EAAA,KAAAA,EAAA,KAEAA,EAAA,IAAAk4X,EACAl4X,EAAA,IAAAk4X,GAIAl4X,EAAA,MAAAjB,KAAAiB,EAAA,KAAAjB,IAAA,CACA,IAAA0C,EAAA,IAAAwb,KACAjd,EAAA,QAAAid,KAAAxb,EAAAi8N,cAAAj8N,EAAAk8N,WAAAl8N,EAAAm8N,WACA59N,EAAA,GAAAA,EAAA,GAAAk4X,EAGAjzY,KAAAysN,UAAAr3M,EAAA+iI,YAAA/iI,EAAAolP,YAAAplP,EAAAqlP,aAEA,IAAA/9O,EAAA1c,KAAAy7R,UAEArmR,EAAAkkP,SACAv+O,EAAA,GAAAyrI,EAAAtsI,MAAA4gR,EAAA//Q,EAAA,GAAA2B,OAGAtH,EAAAmkP,SACAx+O,EAAA,GAAAyrI,EAAAtsI,MAAA6gR,EAAAhgR,EAAA,GAAA2B,QAOA+vM,UAAA,SAAA+uE,EAAAhhC,EAAAC,GACA+gC,KAAA,GACA,IAAAzgR,EAAA/a,KAAAsmJ,QACAt+I,EAAA+S,EAAA,GAAAA,EAAA,GACAu4X,EAAAtrY,EAAAwzR,EAEA,MAAAhhC,GAAA84I,EAAA94I,IACA84I,EAAA94I,GAGA,MAAAC,GAAA64I,EAAA74I,IACA64I,EAAA74I,GAGA,IAAA84I,EAAAC,EAAAjwY,OACAoa,EAAAu1X,EAAAM,EAAAF,EAAA,EAAAC,GACAvsW,EAAAwsW,EAAA9sY,KAAAQ,IAAAyW,EAAA41X,EAAA,IACA72X,EAAAsqB,EAAA,GAEA,YAAAA,EAAA,IACA,IAAAysW,EAAAzrY,EAAA0U,EAGAg3X,EAAAltP,EAAAhsC,KAAAi5R,EAAAj4G,GAAA,GACA9+Q,GAAAg3X,EAGA,IAAAC,EAAA3zY,KAAAopX,WAAA,mBAAApxV,MAAAjd,EAAA,KAAAA,EAAA,IAAA64X,oBAAA,IACAl8J,EAAA,CAAAhxO,KAAAwT,MAAA6gR,GAAAhgR,EAAA,GAAA44X,GAAAj3X,KAAAi3X,GAAAjtY,KAAAwT,MAAA4gR,GAAA//Q,EAAA,GAAA44X,GAAAj3X,KAAAi3X,IACAd,EAAAgB,UAAAn8J,EAAA38N,GACA/a,KAAAqzY,SAAArsW,EAEAhnC,KAAAy7R,UAAA/+Q,EACA1c,KAAA07R,YAAAhkD,GAEAt+M,MAAA,SAAAnwB,GAEA,OAAAu9I,EAAArsC,UAAAlxG,MAGAzJ,EAAA2nB,KAAA,iCAAAsC,GACA0pX,EAAAlzY,UAAAwpB,GAAA,SAAAxgB,GACA,OAAA2xR,EAAAnxQ,GAAA1pB,KAAAC,UAAAo5B,MAAAnwB,OAUA,IAAAuqY,EAAA,CACA,YAAAV,GACA,cAAAA,GACA,eAAAA,GACA,eAAAA,GACA,eAAAA,GACA,gBAAAC,GACA,kBAAAA,GACA,mBAAAA,GACA,mBAAAA,GACA,mBAAAA,GACA,gBAAAC,GACA,kBAAAA,GACA,kBAAAA,GACA,mBAAAA,GACA,eAAAC,GACA,iBAAAA,GACA,iBAAAA,GACA,iBAAAA,GACA,iBAAAA,GACA,iBAAAA,GACA,UAAAA,GACA,kBAAAA,GACA,WAAAA,GACA,WAAAA,GACA,YAAAA,GACA,WAAAA,GACA,YAAAA,GACA,WAAAA,GACA,cAAAA,GACA,YAAAA,EAAA,GACA,YAAAA,EAAA,GACA,iBAAAA,EAAA,GACA,YAAAA,EAAA,GACA,YAAAA,EAAA,IACA,YAAAA,IAOAE,EAAArkW,OAAA,SAAAnrB,GACA,WAAAwvX,EAAA,CACAzkC,OAAA/qV,EAAApJ,QAAA9U,IAAA,aAIA,IAAAhD,EAAA0wY,EACAzwY,EAAAC,QAAAF,wBC9NA,IAAA2e,EAAcviB,EAAQ,QAItBW,GAFA4hB,EAAAC,QAEaxiB,EAAQ,SAErB+sL,EAAa/sL,EAAQ,QAErBgtL,EAAAD,EAAAC,iBA4BA,SAAAC,EAAA7/J,GACA,aAAAA,EASA,IAAAkrI,EAAA,SAAA8zB,GAMAjrL,KAAA+rL,UAAAd,IAAA,EAMAjrL,KAAA01J,MAAA,GAMA11J,KAAAwoL,MAAA,GAMAxoL,KAAAgsL,UAAA,GAMAhsL,KAAAisL,UAAA,GAMAjsL,KAAAuL,KAMAvL,KAAA+nL,UAGAmE,EAAA/0B,EAAAl3J,UAqSA,SAAAqzB,EAAArH,EAAAxG,GAIAzlB,KAAAisB,GAAA,MAAAA,EAAA,GAAAA,EAKAjsB,KAAAmsL,QAAA,GAKAnsL,KAAAosL,SAAA,GAKApsL,KAAAwoL,MAAA,GAKAxoL,KAAAqsL,UAKArsL,KAAAylB,UAAA,MAAAA,GAAA,EAAAA,EAiDA,SAAA6mK,EAAAC,EAAAC,EAAA/mK,GAKAzlB,KAAAke,MAAAquK,EAMAvsL,KAAAme,MAAAquK,EACAxsL,KAAAylB,UAAA,MAAAA,GAAA,EAAAA,EA1XAymK,EAAA/rL,KAAA,QAMA+rL,EAAAO,WAAA,WACA,OAAAzsL,KAAA+rL,WASAG,EAAAh5B,QAAA,SAAAjnI,EAAAxG,GACAwG,KAAA,GAAAxG,EACA,IAAAinK,EAAA1sL,KAAAgsL,UAEA,IAAAU,EAAAZ,EAAA7/J,IAAA,CAIA,IAAA5O,EAAA,IAAAiW,EAAArH,EAAAxG,GAIA,OAHApI,EAAAgvK,UAAArsL,KACAA,KAAA01J,MAAA/iJ,KAAA0K,GACAqvK,EAAAZ,EAAA7/J,IAAA5O,EACAA,IASA6uK,EAAAS,eAAA,SAAAlnK,GACA,IAAAmnK,EAAA5sL,KAAAuL,KAAAshL,YAAApnK,GACA,OAAAzlB,KAAA01J,MAAAk3B,IASAV,EAAAY,YAAA,SAAA7gK,GACA,OAAAjsB,KAAAgsL,UAAAF,EAAA7/J,KAWAigK,EAAAb,QAAA,SAAAkB,EAAAC,EAAA/mK,GACA,IAAAinK,EAAA1sL,KAAAgsL,UACAe,EAAA/sL,KAAAisL,UAkBA,GAhBA,kBAAAM,IACAA,EAAAvsL,KAAA01J,MAAA62B,IAGA,kBAAAC,IACAA,EAAAxsL,KAAA01J,MAAA82B,IAGAl5J,EAAA05J,WAAAT,KACAA,EAAAG,EAAAZ,EAAAS,KAGAj5J,EAAA05J,WAAAR,KACAA,EAAAE,EAAAZ,EAAAU,KAGAD,GAAAC,EAAA,CAIA,IAAAvhL,EAAAshL,EAAAtgK,GAAA,IAAAugK,EAAAvgK,GAEA,IAAA8gK,EAAA9hL,GAAA,CAIA,IAAAyS,EAAA,IAAA4uK,EAAAC,EAAAC,EAAA/mK,GAgBA,OAfA/H,EAAA2uK,UAAArsL,KAEAA,KAAA+rL,YACAQ,EAAAH,SAAAz5K,KAAA+K,GACA8uK,EAAAL,QAAAx5K,KAAA+K,IAGA6uK,EAAA/D,MAAA71K,KAAA+K,GAEA6uK,IAAAC,GACAA,EAAAhE,MAAA71K,KAAA+K,GAGA1d,KAAAwoL,MAAA71K,KAAA+K,GACAqvK,EAAA9hL,GAAAyS,EACAA,KASAwuK,EAAA/D,eAAA,SAAA1iK,GACA,IAAAmnK,EAAA5sL,KAAA+nL,SAAA8E,YAAApnK,GACA,OAAAzlB,KAAAwoL,MAAAoE,IAUAV,EAAAe,QAAA,SAAAV,EAAAC,GACAl5J,EAAA05J,WAAAT,KACAA,IAAAtgK,IAGAqH,EAAA05J,WAAAR,KACAA,IAAAvgK,IAGA,IAAA8gK,EAAA/sL,KAAAisL,UAEA,OAAAjsL,KAAA+rL,UACAgB,EAAAR,EAAA,IAAAC,GAEAO,EAAAR,EAAA,IAAAC,IAAAO,EAAAP,EAAA,IAAAD,IAUAL,EAAAgB,SAAA,SAAAn3J,EAAArS,GAIA,IAHA,IAAAgyI,EAAA11J,KAAA01J,MACAjpJ,EAAAipJ,EAAAnyJ,OAEAwH,EAAA,EAAiBA,EAAA0B,EAAS1B,IAC1B2qJ,EAAA3qJ,GAAA0a,WAAA,GACAsQ,EAAAh2B,KAAA2jB,EAAAgyI,EAAA3qJ,OAWAmhL,EAAAzuK,SAAA,SAAAsY,EAAArS,GAIA,IAHA,IAAA8kK,EAAAxoL,KAAAwoL,MACA/7K,EAAA+7K,EAAAjlL,OAEAwH,EAAA,EAAiBA,EAAA0B,EAAS1B,IAC1By9K,EAAAz9K,GAAA0a,WAAA,GAAA+iK,EAAAz9K,GAAAmT,MAAAuH,WAAA,GAAA+iK,EAAAz9K,GAAAoT,MAAAsH,WAAA,GACAsQ,EAAAh2B,KAAA2jB,EAAA8kK,EAAAz9K,OAaAmhL,EAAAiB,qBAAA,SAAAp3J,EAAAq3J,EAAA74F,EAAA7wE,GAKA,GAJA4P,EAAA05J,WAAAI,KACAA,EAAAptL,KAAAgsL,UAAAF,EAAAsB,KAGAA,EAAA,CAMA,IAFA,IAAAC,EAAA,QAAA94F,EAAA,kBAAAA,EAAA,kBAEAxpF,EAAA,EAAiBA,EAAA/K,KAAA01J,MAAAnyJ,OAAuBwH,IACxC/K,KAAA01J,MAAA3qJ,GAAAuiL,WAAA,EAGA,IAAAv3J,EAAAh2B,KAAA2jB,EAAA0pK,EAAA,OAIA,IAAArpB,EAAA,CAAAqpB,GAEA,MAAArpB,EAAAxgK,OACA,KAAAgqL,EAAAxpB,EAAAj/F,QACA0jH,EAAA+E,EAAAF,GAEA,IAAAtiL,EAAA,EAAmBA,EAAAy9K,EAAAjlL,OAAkBwH,IAAA,CACrC,IAAAoL,EAAAqyK,EAAAz9K,GACAyiL,EAAAr3K,EAAA+H,QAAAqvK,EAAAp3K,EAAAgI,MAAAhI,EAAA+H,MAEA,IAAAsvK,EAAAF,UAAA,CACA,GAAAv3J,EAAAh2B,KAAA2jB,EAAA8pK,EAAAD,GAEA,OAGAxpB,EAAApxJ,KAAA66K,GACAA,EAAAF,WAAA,QAYApB,EAAA3/J,OAAA,WAMA,IALA,IAAAhhB,EAAAvL,KAAAuL,KACAw8K,EAAA/nL,KAAA+nL,SACAryB,EAAA11J,KAAA01J,MACA8yB,EAAAxoL,KAAAwoL,MAEAz9K,EAAA,EAAA0B,EAAAipJ,EAAAnyJ,OAAqCwH,EAAA0B,EAAS1B,IAC9C2qJ,EAAA3qJ,GAAA0a,WAAA,EAGA,IAAA1a,EAAA,EAAA0B,EAAAlB,EAAAoO,QAAqC5O,EAAA0B,EAAS1B,IAC9C2qJ,EAAAnqJ,EAAAshL,YAAA9hL,IAAA0a,UAAA1a,EAGAg9K,EAAAvV,WAAA,SAAA70J,GACA,IAAAD,EAAA8qK,EAAAT,EAAA8E,YAAAlvK,IACA,OAAAD,EAAAQ,MAAAuH,WAAA,GAAA/H,EAAAS,MAAAsH,WAAA,IAGA,IAAA1a,EAAA,EAAA0B,EAAA+7K,EAAAjlL,OAAqCwH,EAAA0B,EAAS1B,IAC9Cy9K,EAAAz9K,GAAA0a,WAAA,EAGA,IAAA1a,EAAA,EAAA0B,EAAAs7K,EAAApuK,QAAyC5O,EAAA0B,EAAS1B,IAClDy9K,EAAAT,EAAA8E,YAAA9hL,IAAA0a,UAAA1a,GAQAmhL,EAAA32K,MAAA,WAKA,IAJA,IAAAuH,EAAA,IAAAq6I,EAAAn3J,KAAA+rL,WACAr2B,EAAA11J,KAAA01J,MACA8yB,EAAAxoL,KAAAwoL,MAEAz9K,EAAA,EAAiBA,EAAA2qJ,EAAAnyJ,OAAkBwH,IACnC+R,EAAAo2I,QAAAwC,EAAA3qJ,GAAAkhB,GAAAypI,EAAA3qJ,GAAA0a,WAGA,IAAA1a,EAAA,EAAiBA,EAAAy9K,EAAAjlL,OAAkBwH,IAAA,CACnC,IAAAoL,EAAAqyK,EAAAz9K,GACA+R,EAAAuuK,QAAAl1K,EAAA+H,MAAA+N,GAAA9V,EAAAgI,MAAA8N,GAAA9V,EAAAsP,WAGA,OAAA3I,GAuCAwW,EAAArzB,UAAA,CACAC,YAAAozB,EAKAm6J,OAAA,WACA,OAAAztL,KAAAwoL,MAAAjlL,QAMAmqL,SAAA,WACA,OAAA1tL,KAAAmsL,QAAA5oL,QAMAoqL,UAAA,WACA,OAAA3tL,KAAAosL,SAAA7oL,QAOAo3B,SAAA,SAAA8pC,GACA,KAAAzkE,KAAAylB,UAAA,IAIA,IAAA3I,EAAA9c,KAAAqsL,UACAnhK,EAAApO,EAAAvR,KAAA4f,aAAAnrB,KAAAylB,WACA,OAAAyF,EAAAyP,SAAA8pC,MA+BA6nH,EAAArsL,UAAA06B,SAAA,SAAA8pC,GACA,KAAAzkE,KAAAylB,UAAA,IAIA,IAAA3I,EAAA9c,KAAAqsL,UACAnhK,EAAApO,EAAAirK,SAAA58J,aAAAnrB,KAAAylB,WACA,OAAAyF,EAAAyP,SAAA8pC,KAGA,IAAAmpH,EAAA,SAAAC,EAAAC,GACA,OAKAC,SAAA,SAAAza,GACA,IAAA/nK,EAAAvL,KAAA6tL,GAAAC,GACA,OAAAviL,EAAA9F,IAAA8F,EAAAyiL,aAAA1a,GAAA,SAAAtzK,KAAAylB,YAOA+E,UAAA,SAAAvf,EAAAhH,GACAjE,KAAAylB,WAAA,GAAAzlB,KAAA6tL,GAAAC,GAAA7iK,cAAAjrB,KAAAylB,UAAAxa,EAAAhH,IAOAsZ,UAAA,SAAAtS,EAAAgjL,GACA,OAAAjuL,KAAA6tL,GAAAC,GAAAtmK,cAAAxnB,KAAAylB,UAAAxa,EAAAgjL,IAOAva,UAAA,SAAAztK,EAAAkF,GACAnL,KAAAylB,WAAA,GAAAzlB,KAAA6tL,GAAAC,GAAAra,cAAAzzK,KAAAylB,UAAAxf,EAAAkF,IAMA0S,UAAA,WACA,OAAA7d,KAAA6tL,GAAAC,GAAArY,cAAAz1K,KAAAylB,YAMAyoK,aAAA,WACA,OAAAluL,KAAA6tL,GAAAC,GAAAK,iBAAAnuL,KAAAylB,YAMAonK,YAAA,WACA,OAAA7sL,KAAA6tL,GAAAC,GAAAjB,YAAA7sL,KAAAylB,cAKAjmB,EAAAoZ,MAAA0a,EAAAs6J,EAAA,qBACApuL,EAAAoZ,MAAA0zK,EAAAsB,EAAA,yBACAz2B,EAAA7jI,OACA6jI,EAAAm1B,OACAT,EAAAv4J,GACAu4J,EAAAS,GACA,IAAA7pL,EAAA00J,EACAz0J,EAAAC,QAAAF,wBC7iBA,IAAA2e,EAAcviB,EAAQ,QAItBD,GAFAwiB,EAAAC,QAEcxiB,EAAQ,SAEtBW,EAAaX,EAAQ,QAErByiB,EAAUziB,EAAQ,QAElB+iB,EAAgB/iB,EAAQ,QAExByoF,EAAazoF,EAAQ,QAErB2hY,EAAgB3hY,EAAQ,QAoBxBsoB,EAAA3nB,EAAA2nB,KACAk8N,EAAA/7J,EAAA+7J,YACA+J,EAAAxuP,EAAAu3I,qBAAA,CACAh2I,KAAA,WACA4lH,aAAA,yEAKAjjG,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EAEA+kD,OAAA,KAEAqvN,WAAA,KAEAC,WAAA,KAEA8wF,WAAA,SAgBAz5J,SAAA,KAKAz8M,MAAA,EAEA7C,IAAA,IAEAuqX,WAAA,KAEAC,SAAA,KAEA/6G,QAAA,KAEAC,QAAA,KAEA+6G,aAAA,KAEAC,aAAA,KAEAC,UAAA,MAOAhxX,KAAA,SAAAC,EAAAC,EAAA7I,GAMAva,KAAAm0Y,oBAAA,GAKAn0Y,KAAAo0Y,UAAA,GAMAp0Y,KAAAq0Y,aAAA,GAKAr0Y,KAAA2pG,eAKA3pG,KAAAs0Y,eAAA,EAMAt0Y,KAAAu0Y,eAAA,sBACA,IAAAxvB,EAAAyvB,EAAArxX,GACAnjB,KAAA4jB,qBAAAT,EAAA5I,GACAva,KAAAy0Y,OAAA1vB,IAMAtgW,YAAA,SAAA0/D,GACA,IAAA4gS,EAAAyvB,EAAArwT,GAEA3kF,EAAA2L,MAAAnL,KAAAmjB,OAAAghE,GAAA,GACAnkF,KAAAy0Y,OAAA1vB,IAMA0vB,OAAA,SAAA1vB,GACA,IAAA1tO,EAAAr3I,KAAAmjB,OAEA7B,EAAA2gN,kBACA5qF,EAAAohI,UAAA,GAGAz4Q,KAAA00Y,oBAAA3vB,GAEA4vB,EAAA30Y,KAAA+kX,GACA59V,EAAA,qDAAAo9D,EAAA1gF,GAIA,UAAA7D,KAAAu0Y,eAAA1wY,KACAwzI,EAAA9yD,EAAA,WAGKvkF,MACLA,KAAA2pG,eAAA3pG,KAAA26B,SAAA,aAEA36B,KAAA40Y,eAEA50Y,KAAA60Y,oBAMAA,iBAAA,WACA,IAAAC,EAAA90Y,KAAAq0Y,aACAr0Y,KAAAw3R,eAAA,SAAAC,EAAAn7B,EAAAxwO,EAAAvR,GACA,IAAA1V,EAAA7E,KAAA8pR,gBAAA2N,EAAAzyR,MAAAs3P,GAEAm9B,EAAA50R,EAAAkwY,gBACAlwY,EAAAkwY,cAAA,IAAAvU,EAAA/oG,EAAAnpR,KAAAguP,EAAAt8P,KAAAua,IAGAu6X,EAAAr9G,EAAAnpR,KAAA,IAAAguP,GAAAm9B,GACKz5R,OAML40Y,aAAA,WACA,IAAAv9P,EAAAr3I,KAAAmjB,OAEA6xX,EAAAh1Y,KAAAi1Y,iBAEA5xJ,EAAA,SAAAo0C,GACA,IAAAy9G,EAAAz9G,EAAAn7B,UACAjlH,EAAA69P,GAAAtzX,EAAAmuD,iBAAAsnE,EAAA69P,KACKl1Y,MAEL,cAAAg1Y,EACAh1Y,KAAAm1Y,oBACK,WAAAH,GACLh1Y,KAAAo1Y,kBAOAH,eAAA,WAIA,IAAA59P,EAAAr3I,KAAAmjB,OACAkyX,GAAA,EACAhyJ,EAAA,SAAAo0C,GAIA,MAAApgJ,EAAAogJ,EAAAn7B,aACA+4I,GAAA,IAEKr1Y,MACL,IAAAkiF,EAAAm1D,EAAAn1D,OAEA,aAAAA,GAAAmzT,EACA,SACKA,OAAA,GACL,MAAAnzT,IACAm1D,EAAAn1D,OAAA,cAGA,cAOAizT,kBAAA,WACA,IAAAG,GAAA,EACApzT,EAAAliF,KAAAyF,IAAA,aACA4xI,EAAAr3I,KAAAmjB,OACA2mQ,EAAA9pR,KAAA8pR,gBAEA,GAAAwrH,EAAA,CAEA,IAAA58T,EAAA,aAAAwJ,EAAA,QAEA4nM,EAAApxM,EAAA,QAAAn1E,QACA8zI,EAAA3+D,EAAA,iBACA48T,GAAA,GAEAnuX,EAAA2iQ,EAAAj5E,WAAA,SAAAuhH,GACAkjF,GAAAljF,EAAA3sT,IAAA,eAAAy8E,IACAm1D,EAAA47K,gBAAA,CAAAb,EAAA9uS,gBACAgyX,GAAA,KAMAA,GAEAjyJ,EAAA,SAAAo0C,GACA,GAAA69G,EAAA,CAIA,IAAAC,EAAA,GACA1rH,EAAA7pR,KAAA8pR,gBAAA2N,EAAAzyR,MAEA,GAAA6kR,EAAAtmR,SAAAgyY,EAAAhyY,OACA,QAAAwH,EAAA,EAAA0B,EAAAo9Q,EAAAtmR,OAAkDwH,EAAA0B,EAAS1B,IAC3D,aAAA8+Q,EAAA9+Q,GAAAtF,IAAA,SACA8vY,EAAA5iY,KAAA5H,GAKAssI,EAAAogJ,EAAAn7B,WAAAi5I,EAEAA,EAAAhyY,SACA+xY,GAAA,KAEOt1Y,MAGPs1Y,GAOAt1Y,KAAAua,QAAAkkG,WAAA,SAAAnkG,GACAta,KAAAw1Y,0BAAAl7X,EAAA,UACA+oO,EAAA,SAAAo0C,GACA,IAAA89G,EAAAl+P,EAAAogJ,EAAAn7B,WACAA,EAAAhiP,EAAA7U,IAAAgyR,EAAAn7B,WACAm5I,EAAAn7X,EAAA7U,IAAAgyR,EAAAg+G,QACA5wY,EAAAyV,EAAAC,QAAAwR,gBAAA,CACAC,SAAAyrQ,EAAAzyR,KACAnB,MAAAy4P,EACArwO,GAAAwpX,IACa,GACbn5I,EAAAz3P,EAAAye,eAEA9jB,EAAA4rC,QAAAmqW,EAAAj5I,GAAA,GACAi5I,EAAA5iY,KAAA2pP,MAIOt8P,OAOPo1Y,eAAA,WACA,IAAA95X,EAEAtb,KAAAw3R,eAAA,SAAAC,IACAn8Q,MAAAm8Q,EAAAnpR,OACKtO,MACLA,KAAAmjB,OAAA++D,OAAA,MAAA5mE,EAAA,yBAMAk6X,0BAAA,SAAAl7X,EAAA28H,GAIA,IAAA8xI,GAAA,EASA,OARA1lC,EAAA,SAAAo0C,GACA,IAAAi+G,EAAAp7X,EAAA7U,IAAAgyR,EAAAn7B,WACAz3P,EAAA7E,KAAA8pR,gBAAA2N,EAAAzyR,MAAA0wY,GAEA7wY,KAAAY,IAAA,UAAAwxI,IACA8xI,GAAA,IAEK/oR,MACL+oR,GAMA2rH,oBAAA,SAAA3vB,GAMA,GAJAA,EAAA75W,eAAA,cACAlL,KAAAs0Y,eAAA,GAGAt0Y,KAAAs0Y,cAAA,CACA,IAAAqB,EAAA31Y,KAAAua,QAAA4I,OACAnjB,KAAAmjB,OAAA0lN,SAAA8sK,EAAAj4T,WAAAi4T,EAAAl2T,wBAAA,WAOAk3M,wBAAA,WACA,IAAAi/G,EAUA,OATAvyJ,EAAA,SAAAo0C,GACA,SAAAm+G,EAAA,CACA,IAAAnoV,EAAAztD,KAAAyF,IAAAgyR,EAAAn7B,WAEA7uM,EAAAlqD,SACAqyY,EAAA51Y,KAAA8pR,gBAAA2N,EAAAzyR,MAAAyoD,EAAA,OAGKztD,MACL41Y,GAOAp+G,eAAA,SAAAnlN,EAAA3uD,GACA,IAAAnJ,EAAAva,KAAAua,QACA8oO,EAAA,SAAAo0C,GACAtwQ,EAAAnnB,KAAAyF,IAAAgyR,EAAAn7B,WAAA,SAAAA,GACAjqL,EAAAtyE,KAAA2jB,EAAA+zQ,EAAAn7B,EAAAt8P,KAAAua,IACOva,OACFA,OAQL03R,aAAA,SAAAh/M,EAAA4jL,GACA,OAAAt8P,KAAAq0Y,aAAA37T,EAAA,IAAA4jL,IAQAo9B,aAAA,SAAAhhN,EAAA4jL,GACA,IAAAm9B,EAAAz5R,KAAA03R,aAAAh/M,EAAA4jL,GACA,OAAAm9B,KAAAC,gBAcAm8G,YAAA,SAAAzgY,EAAA0gY,GACA,IAAA3yX,EAAAnjB,KAAAmjB,OACAgE,EAAA,qDAAAo9D,GAMA,MAAAnvE,EAAAmvE,EAAA,WAAAnvE,EAAAmvE,EAAA,MACAphE,EAAAohE,EAAA,IAAAnvE,EAAAmvE,EAAA,IACAphE,EAAAohE,EAAA,IAAAnvE,EAAAmvE,EAAA,MAEKvkF,OACL81Y,GAAAnB,EAAA30Y,KAAAoV,IAOA+W,gBAAA,WACA,IAAAstQ,EAAAz5R,KAAA64R,8BAEA,GAAAY,EACA,OAAAA,EAAAkoG,wBAYAoU,cAAA,SAAAC,EAAA15I,GACA,SAAA05I,GAAA,MAAA15I,EAOA,OAAAt8P,KAAA03R,aAAAs+G,EAAA15I,GAAAu9B,qBANA,IAAAJ,EAAAz5R,KAAA64R,8BAEA,OAAAY,EACAA,EAAAI,0BADA,GAcAhB,4BAAA,SAAAh0R,GACA,GAAAA,EACA,OAAAA,EAAAkwY,cAIA,IAAAD,EAAA90Y,KAAAq0Y,aAEA,QAAAppY,KAAA6pY,EACA,GAAAA,EAAA5pY,eAAAD,IAAA6pY,EAAA7pY,GAAAy2X,SAAA1hY,MACA,OAAA80Y,EAAA7pY,GASA,QAAAA,KAAA6pY,EACA,GAAAA,EAAA5pY,eAAAD,KAAA6pY,EAAA7pY,GAAAy2X,SAAA1hY,MACA,OAAA80Y,EAAA7pY,IAQAi3X,iBAAA,WACA,OAAAliY,KAAAu0Y,eAAAr1W,WAIA,SAAAs1W,EAAArxX,GACA,IAAAgiD,EAAA,GAIA,OAHAh+C,EAAA,4DAAA7Y,GACA6U,EAAAjY,eAAAoD,KAAA62D,EAAA72D,GAAA6U,EAAA7U,MAEA62D,EAGA,SAAAwvU,EAAA7oX,EAAAi5V,GACA,IAAAkd,EAAAn2W,EAAAyoX,eACA0B,EAAAnqX,EAAArmB,IAAA,aACA0hB,EAAA,qDAAAo9D,EAAA1gF,GACA,IAAAqyY,EAAA,MAAAnxB,EAAAxgS,EAAA,IACA4xT,EAAA,MAAApxB,EAAAxgS,EAAA,IAEA2xT,IAAAC,EACAlU,EAAAp+X,GAAA,WACKqyY,GAAAC,EACLlU,EAAAp+X,GAAA,QACKoyY,EACLhU,EAAAp+X,GAAAoyY,EAAApyY,GACKqyY,IAELjU,EAAAp+X,GAAA,aAMA,IAAApB,EAAA2qP,EACA1qP,EAAAC,QAAAF,qCCrjBA,IAAA2zY,EAASv3Y,EAAQ,OAARA,EAAsB,GAI/B6D,EAAAC,QAAA,SAAAq2H,EAAAn1H,EAAA8rP,GACA,OAAA9rP,GAAA8rP,EAAAymJ,EAAAp9Q,EAAAn1H,GAAAN,OAAA,0BCLA,IAAA47O,EAAgBtgP,EAAQ,QACxBqI,EAAAR,KAAAQ,IACAxE,EAAAC,QAAA,SAAA4K,GACA,OAAAA,EAAA,EAAArG,EAAAi4O,EAAA5xO,GAAA,2CCJA,IAAAqjD,EAAa/xD,EAAQ,QAErB8pO,EAAa9pO,EAAQ,QAOrBw3Y,EAAAzlV,EAAAhhB,SACAykD,EAAA,KAEA,SAAAssJ,EAAA13O,GACA,OAAAA,EAAAorF,GAAAprF,GAAAorF,EAQA,IAAAqvQ,EAAA,SAAA5jW,GACAA,KAAA,GAEAA,EAAAwG,WAMAtG,KAAAsG,SAAA,OAGA,MAAAxG,EAAA0G,WAMAxG,KAAAwG,SAAA,GAGA1G,EAAAiY,QAMA/X,KAAA+X,MAAA,OASA/X,KAAAs0F,OAAAt0F,KAAAs0F,QAAA,MAGAgiT,EAAA5yC,EAAAzjW,UACAq2Y,EAAAzvY,UAAA,KAMAyvY,EAAA1yT,mBAAA,WACA,OAAA+8J,EAAA3gP,KAAAwG,WAAAm6O,EAAA3gP,KAAAsG,SAAA,KAAAq6O,EAAA3gP,KAAAsG,SAAA,KAAAq6O,EAAA3gP,KAAA+X,MAAA,OAAA4oO,EAAA3gP,KAAA+X,MAAA,OAGA,IAAAw+X,EAAA,GAEAD,EAAAh0R,gBAAA,WACA,IAAA3wC,EAAA3xE,KAAA2xE,OACA6kU,EAAA7kU,KAAA9qE,UACA+8E,EAAA5jF,KAAA4jF,qBACAr2D,EAAAvtB,KAAA6G,UAEA,GAAA+8E,GAAA4yT,EAAA,CAKAjpX,KAAAqjC,EAAA9hB,SAEA80C,EACA5jF,KAAA6jF,kBAAAt2D,GAEA8oX,EAAA9oX,GAIAipX,IACA5yT,EACAhzB,EAAA5yB,IAAAzQ,EAAAokD,EAAA9qE,UAAA0mB,GAEAqjC,EAAAx3C,KAAAmU,EAAAokD,EAAA9qE,YAKA7G,KAAA6G,UAAA0mB,EACA,IAAAokX,EAAA3xY,KAAA2xY,iBAEA,SAAAA,GAAA,IAAAA,EAAA,CACA3xY,KAAA6zR,eAAA0iH,GACA,IAAAE,EAAAF,EAAA,UACAG,EAAAH,EAAA,UACAvlW,IAAAulW,EAAA,GAAAE,GAAA9E,EAAA8E,GAAAF,EAAA,MACAtlW,IAAAslW,EAAA,GAAAG,GAAA/E,EAAA+E,GAAAH,EAAA,MACAhpX,EAAA,IAAAyjB,EACAzjB,EAAA,IAAAyjB,EACAzjB,EAAA,IAAA0jB,EACA1jB,EAAA,IAAA0jB,EAGAjxC,KAAAmgH,aAAAngH,KAAAmgH,cAAAvvD,EAAA9hB,SACA8hB,EAAA/gB,OAAA7vC,KAAAmgH,aAAA5yF,QAtCAA,GAAA8oX,EAAA9oX,IAyCA+oX,EAAAzyT,kBAAA,SAAAt2D,GACA,OAAAm2U,EAAA7/Q,kBAAA7jF,KAAAutB,IAQA+oX,EAAAp1Y,aAAA,SAAAb,GACA,IAAAktB,EAAAvtB,KAAA6G,UACA8E,EAAAtL,EAAAsL,KAAA,EAEA4hB,EACAltB,EAAAa,aAAAyK,EAAA4hB,EAAA,GAAA5hB,EAAA4hB,EAAA,GAAA5hB,EAAA4hB,EAAA,GAAA5hB,EAAA4hB,EAAA,GAAA5hB,EAAA4hB,EAAA,GAAA5hB,EAAA4hB,EAAA,IAEAltB,EAAAa,aAAAyK,EAAA,IAAAA,EAAA,MAIA2qY,EAAAl1Y,iBAAA,SAAAf,GACA,IAAAsL,EAAAtL,EAAAsL,KAAA,EACAtL,EAAAa,aAAAyK,EAAA,IAAAA,EAAA,MAGA,IAAAgrY,EAAA,GACAC,EAAAhmV,EAAA9hB,SAEAwnW,EAAAn4U,kBAAA,SAAA5wC,GACA,GAAAA,EAAA,CAKA,IAAAyjB,EAAAzjB,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GACA0jB,EAAA1jB,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GACAjnB,EAAAtG,KAAAsG,SACAyR,EAAA/X,KAAA+X,MAEA4oO,EAAA3vM,EAAA,KACAA,EAAAtqC,KAAAk+C,KAAA5T,IAGA2vM,EAAA1vM,EAAA,KACAA,EAAAvqC,KAAAk+C,KAAA3T,IAGA1jB,EAAA,OACAyjB,MAGAzjB,EAAA,OACA0jB,MAGA3qC,EAAA,GAAAinB,EAAA,GACAjnB,EAAA,GAAAinB,EAAA,GACAxV,EAAA,GAAAi5B,EACAj5B,EAAA,GAAAk5B,EACAjxC,KAAAwG,SAAAE,KAAA44B,OAAA/R,EAAA,GAAA0jB,EAAA1jB,EAAA,GAAAyjB,KAOAslW,EAAAh6K,mBAAA,WACA,GAAAt8N,KAAA6G,UAAA,CAIA,IAAA8qE,EAAA3xE,KAAA2xE,OACApkD,EAAAvtB,KAAA6G,UAEA8qE,KAAA9qE,YAEA+pD,EAAA5yB,IAAA24W,EAAAhlU,EAAAwuC,aAAA5yF,GACAA,EAAAopX,GAGA,IAAAriT,EAAAt0F,KAAAs0F,OAEAA,MAAA,IAAAA,EAAA,MACAsiT,EAAA,GAAAtiT,EAAA,GACAsiT,EAAA,GAAAtiT,EAAA,GACA1jC,EAAA5yB,IAAA24W,EAAAppX,EAAAqpX,GACAD,EAAA,IAAAriT,EAAA,GACAqiT,EAAA,IAAAriT,EAAA,GACA/mE,EAAAopX,GAGA32Y,KAAAm+D,kBAAA5wC,KAQA+oX,EAAAziH,eAAA,SAAAx0P,GACA,IAAA9R,EAAAvtB,KAAA6G,UAGA,OAFAw4B,KAAA,GAEA9R,GAMA8R,EAAA,GAAA34B,KAAAk+C,KAAAr3B,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA8R,EAAA,GAAA34B,KAAAk+C,KAAAr3B,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IAEAA,EAAA,OACA8R,EAAA,IAAAA,EAAA,IAGA9R,EAAA,OACA8R,EAAA,IAAAA,EAAA,IAGAA,IAhBAA,EAAA,KACAA,EAAA,KACAA,IAyBAi3W,EAAAtiK,sBAAA,SAAAhyO,EAAAC,GACA,IAAAyZ,EAAA,CAAA1Z,EAAAC,GACAk+G,EAAAngH,KAAAmgH,aAMA,OAJAA,GACAwoH,EAAAtvN,eAAAqC,IAAAykG,GAGAzkG,GAWA46X,EAAApY,uBAAA,SAAAl8X,EAAAC,GACA,IAAAyZ,EAAA,CAAA1Z,EAAAC,GACA4E,EAAA7G,KAAA6G,UAMA,OAJAA,GACA8hO,EAAAtvN,eAAAqC,IAAA7U,GAGA6U,GAYAgoV,EAAA7/Q,kBAAA,SAAAxtE,EAAAkX,GACAA,KAAA,GACA8oX,EAAA9oX,GACA,IAAA+mE,EAAAj+E,EAAAi+E,OACAv8E,EAAA1B,EAAA0B,OAAA,MACAvR,EAAA6P,EAAA7P,UAAA,EACAF,EAAA+P,EAAA/P,UAAA,MAsBA,OApBAguF,IAEA/mE,EAAA,IAAA+mE,EAAA,GACA/mE,EAAA,IAAA+mE,EAAA,IAGA1jC,EAAA74C,MAAAwV,IAAAxV,GAEAvR,GACAoqD,EAAAtgB,OAAA/iB,IAAA/mB,GAGA8tF,IAEA/mE,EAAA,IAAA+mE,EAAA,GACA/mE,EAAA,IAAA+mE,EAAA,IAGA/mE,EAAA,IAAAjnB,EAAA,GACAinB,EAAA,IAAAjnB,EAAA,GACAinB,GAGA,IAAA9qB,EAAAihW,EACAhhW,EAAAC,QAAAF,wBC/SA,IAAA7D,EAAcC,EAAQ,QAEtBg4Y,EAAYh4Y,EAAQ,QAEpBo6M,EAAA49L,EAAA59L,QAEA/0M,EAAcrF,EAAQ,QAEtB8O,EAAY9O,EAAQ,QAEpB+J,EAAA+E,EAAA/E,KACAlE,EAAAiJ,EAAAjJ,OAEAqrM,EAAiBlxM,EAAQ,QAyBzB4D,EAAA7D,EAAA42K,gBAAA,CACAr1K,KAAA,aACA+iB,KAAA,WACAljB,KAAAqmH,QAAA,IAEAnzD,OAAA,SAAA54C,EAAAC,EAAAxV,GACA,IAAAwG,EAAA+O,EAAAE,UACAirD,EAAAzlE,KAAAylE,MACAilK,EAAApwN,EAAAqwN,iBACA3kO,EAAAuF,EAAAsS,UAAA,cACApc,EAAAuE,EAAAvE,KACAw2I,EAAAjyI,EAAAiyI,YAGA,SAAA6+P,EAAAjyU,GACA,OAAAA,EAAAv2D,KAHAm3D,EAAAse,KAAA,cAAAtiF,EAAAQ,EAAAg2I,EAAA,KAMA,IAAAi+N,EAAA,IAAAnmK,EAAA/vM,KAAA+2Y,eAAA,GAAArsK,EAAAosK,KACAE,EAAA,GAGA,SAAAx1G,EAAA7pO,EAAAh6C,EAAAs4L,GACA,IAAAghM,EAAAj3Y,KAAAqmH,QAEA,cAAA1uD,EAAA,CAUA,IALA,IAEA7wC,EAaAk+E,EACAhkG,EAhBAk2Y,EAAA,GACAC,EAAA,GAEA1pV,EAAAi9K,EAAA/sN,GAAA8vC,QAEA/8C,EAAA,EAAqBA,EAAA+8C,EAAAlqD,OAAoBmN,IAAA,CACzC,IAAAzK,EAAAsF,EAAAkqK,cAAAhoH,EAAA/8C,IACA1O,EAAAiE,EAAAjE,EACA65D,EAAA51D,EAAA41D,GACA55D,EAAAgE,EAAAhE,EACAi1Y,EAAAvkY,KAAA,CAAA3Q,EAAA65D,IACAs7U,EAAAxkY,KAAA,CAAA3Q,EAAA65D,EAAA55D,IACA6kB,EAAAvb,EAAAic,cAAAimC,EAAA/8C,GAAA,SAKA,IAAAklT,EAAArqT,EAAAkqK,cAAAhoH,EAAA,IACAviC,EAAA3f,EAAA4f,aAAAsiC,EAAA/8C,EAAA,IACAg5F,EAAAx+E,EAAAyP,SAAA,SACAyoD,EAAAsmB,EAAAjkG,IAAA,UAEA,WAAAkyD,EAAA,CACA,IAAAy/U,EAAAJ,EAAAr5X,GAAA,IAAAzZ,EAAA80M,MACAh0G,EAAA,IAAAi0G,EAAA,CACArxM,MAAA,CACA8/D,OAAAwvU,EACArG,gBAAAsG,EACAt3J,OAAA,GACAixJ,gBAAA,GACAz7B,kBAAA,GAEA31U,GAAA,IAEA1+B,EAAA,IAAAkD,EAAArE,KAAA,CACAU,MAAA,CACAyB,EAAA4zT,EAAA5zT,EAAAohF,EACAnhF,EAAA2zT,EAAA/5P,GAAA+5P,EAAA3zT,EAAA,KAGAm1Y,EAAA75W,IAAAynE,GACAoyS,EAAA75W,IAAAv8B,GACAykE,EAAAloC,IAAA65W,GACApyS,EAAAq4L,YAAAF,EAAAn4L,EAAAzjG,kBAAA+Y,EAAA,WACA0qF,EAAAo4L,wBAEO,CACPg6G,EAAAH,EAAAhhM,GACAjxG,EAAAoyS,EAAAxlU,QAAA,GACA5wE,EAAAo2Y,EAAAxlU,QAAA,GACAnM,EAAAloC,IAAA65W,GACAJ,EAAAr5X,GAAAy5X,EACAlzY,EAAAkuM,YAAAptG,EAAA,CACAp9F,MAAA,CACA8/D,OAAAwvU,EACArG,gBAAAsG,IAES78X,GACTpW,EAAAkuM,YAAApxM,EAAA,CACAT,MAAA,CACAyB,EAAA4zT,EAAA5zT,EAAAohF,EACAnhF,EAAA2zT,EAAA/5P,GAAA+5P,EAAA3zT,EAAA,IAESqY,GAGT,IAAAmxV,EAAAvgV,EAAAyP,SAAA,sBACAgoE,EAAAz3E,EAAAyP,SAAA,aACAz2B,EAAA2lG,aAAA7oG,EAAAT,MAAAmpG,EAAA,CACA1oG,KAAA0oG,EAAAjkG,IAAA,QAAA6U,EAAAs1D,kBAAAniB,EAAA/8C,EAAA,cAAAnF,EAAAqc,QAAA6lC,EAAA/8C,EAAA,SACA9O,kBAAA,WAEAojG,EAAAwiB,SAAA9iH,EAAA,CACAhE,KAAAomB,GACO67E,EAAA4I,aAAA,aACPrnG,EAAA41M,cAAA90G,EAAAymQ,EAAAlgQ,qBA/EA9lC,EAAAj5D,OAAAyqY,EAAAt5X,IANAu4V,EAAA34U,IAAA30B,EAAA44R,EAAAxhS,KAAA,QAAAusB,OAAA3jB,EAAA44R,EAAAxhS,KAAA,WAAAwM,OAAA5D,EAAA44R,EAAAxhS,KAAA,WAAAy1M,UAwFAz1M,KAAA+2Y,cAAArsK,EACA1qO,KAAAqmH,QAAA2wR,GAEAlhY,QAAA,eAIA,SAAAqnR,EAAA17R,EAAA6Y,EAAAyb,GACA,IAAAunQ,EAAA,IAAAp5R,EAAA+qE,KAAA,CACArnE,MAAA,CACA5F,EAAAP,EAAAO,EAAA,GACAC,EAAAR,EAAAQ,EAAA,GACAK,MAAA,EACAC,OAAAd,EAAAc,OAAA,MASA,OANA2B,EAAAiuM,UAAAmrF,EAAA,CACA11R,MAAA,CACAtF,MAAAb,EAAAa,MAAA,GACAC,OAAAd,EAAAc,OAAA,KAEG+X,EAAAyb,GACHunQ,EAGA56R,EAAAC,QAAAF,wBC3KA,IAAAjD,EAAaX,EAAQ,QAErBs8S,EAAkBt8S,EAAQ,QAE1BgjB,EAAqBhjB,EAAQ,QAE7BmjB,EAAcnjB,EAAQ,QAEtBojB,EAAAD,EAAAC,gBACAC,EAAAF,EAAAE,iBAEAy2H,EAAkB95I,EAAQ,QAqB1Bg4I,EAAA,kCASA,SAAAp0I,EAAAkwP,EAAA77G,EAAAC,EAAAC,GACAx3I,EAAA2nB,KAAA0vH,EAAA,SAAAI,GACAH,EAAApyI,OAAA,CAIAvE,KAAAwyP,EAAA,QAAA17G,EACArzH,qBAAA,SAAAT,EAAA5I,GACA,IAAA0I,EAAAjjB,KAAAijB,WACAgB,EAAAhB,EAAAhB,EAAAkB,GAAA,GACAg0H,EAAA58H,EAAA8J,WACA7kB,EAAA2L,MAAAgY,EAAAg0H,EAAA1xI,IAAAwxI,EAAA,SACAz3I,EAAA2L,MAAAgY,EAAAnjB,KAAAskB,oBACAnB,EAAAhjB,KAAA42I,EAAA47G,EAAAxvO,GAEAF,GACAf,EAAAiB,EAAAc,EAAAhB,IAOAm0H,cAAA,WACA,IAAAC,EAAAr3I,KAAAmjB,OAEA,aAAAk0H,EAAAl3I,OACAH,KAAAk3I,cAAAyB,EAAArB,kBAAAt3I,QAQAu3I,cAAA,SAAAorN,GACA,IAAAx/U,EAAAnjB,KAAAmjB,OAGA,gBAAAA,EAAAhjB,KACA,OAAAwiW,EACAx/U,EAAA5X,KAGAvL,KAAAk3I,cAAAM,YAGA1vD,eAAA,WACA,OAAA9nF,KAAAk3I,eAEAp0H,cAAAtjB,EAAAmpD,SAAA,IAAwCwyP,EAAAlkK,EAAA,QAAAD,IAAA,OAGxCn1H,EAAAV,yBAAAwxO,EAAA,OAAAnzP,EAAAmqB,MAAAotH,EAAA47G,IAGAjwP,EAAAC,QAAAF,wBCjGA,IAAAjD,EAAaX,EAAQ,QAErB4uO,EAAiB5uO,EAAQ,QAEzB2nJ,EAAiB3nJ,EAAQ,QAEzBupF,EAAWvpF,EAAQ,QAEnBy/T,EAAmBz/T,EAAQ,QAE3B0/T,EAAiB1/T,EAAQ,QAoBzB,SAAAw4Y,EAAAjlJ,EAAA93O,EAAAvV,GACA,IAAAE,EAAAqV,EAAApV,iBACAktP,EAAAjrO,KAAA,SAAAxJ,GACA,IACAksD,EADA3+C,EAAAknO,EAAAjnO,aAAAxN,GAEA+hT,EAAAl5K,EAAA1kE,aAAA52D,EAAAzlB,IAAA,KAAAV,EAAAwJ,YACAoxT,EAAAn5K,EAAA1kE,aAAA52D,EAAAzlB,IAAA,KAAAV,EAAAu5D,aAEA,GAAA1kD,MAAA8lT,IAAA9lT,MAAA+lT,IAGA,GAAArlT,EAAAslT,kBAEA/1P,EAAAvvD,EAAAslT,kBAAAxtE,EAAA42B,UAAA52B,EAAA35K,WAAA96D,SACO,GAAA1Y,EAAA,CACP,IAAAjD,EAAAowP,EAAA3sP,IAAAR,EAAAwzE,WAAA,GAAA96D,GACA1b,EAAAmwP,EAAA3sP,IAAAR,EAAAwzE,WAAA,GAAA96D,GACAksD,EAAA5kE,EAAAM,YAAA,CAAAvD,EAAAC,UARA4nE,EAAA,CAAA61P,EAAAC,GAYA/lT,MAAA8lT,KACA71P,EAAA,GAAA61P,GAGA9lT,MAAA+lT,KACA91P,EAAA,GAAA81P,GAGAvtE,EAAA3+E,cAAA91J,EAAAksD,KAIA,IAAApnE,EAAA87T,EAAA75T,OAAA,CACAvE,KAAA,YAUAmiH,gBAAA,SAAAg1R,EAAA/8X,EAAAxV,GACAwV,EAAAkkG,WAAA,SAAAnkG,GACA,IAAAi9X,EAAAj9X,EAAAg9X,eAEAC,IACAF,EAAAE,EAAA/8X,UAAAF,EAAAvV,GACA/E,KAAAigU,eAAAx6T,IAAA6U,EAAA2R,IAAAqhF,aAAAiqS,KAEKv3Y,OAELkgU,aAAA,SAAA5lT,EAAAi9X,EAAAh9X,EAAAxV,GACA,IAAAE,EAAAqV,EAAApV,iBACA4sL,EAAAx3K,EAAA2R,GACAwpS,EAAAn7S,EAAAE,UACAg9X,EAAAx3Y,KAAAigU,eACAkkD,EAAAqzB,EAAA/xY,IAAAqsL,IAAA0lN,EAAApkX,IAAA0+J,EAAA,IAAA27C,GACA2kB,EAAAjrE,EAAAliL,EAAAqV,EAAAi9X,GAEAA,EAAAp8X,QAAAi3O,GACAilJ,EAAAE,EAAA/8X,UAAAF,EAAAvV,GACAqtP,EAAAjrO,KAAA,SAAAxJ,GACA,IAAAuN,EAAAknO,EAAAjnO,aAAAxN,GACAL,EAAA4N,EAAA/C,WAAA,cAEA,oBAAA7K,IAEAA,IAAAi6X,EAAAjwX,YAAA3J,GAAA45X,EAAAvsX,cAAArN,KAGAy0O,EAAAnnO,cAAAtN,EAAA,CACAL,aACAwJ,MAAAoE,EAAAzlB,IAAA,oBAAAgwT,EAAAl4S,UAAA,SACAkN,OAAAS,EAAA/C,WAAA,cAIAg8V,EAAA1jR,WAAA2xJ,GACApyP,KAAAylE,MAAAloC,IAAA4mV,EAAA1+S,OAGA2sL,EAAAx9B,kBAAA,SAAA7jL,GACAA,EAAA5e,SAAA,SAAAC,GACAA,EAAA6xL,UAAAszL,MAGApzB,EAAA5jD,QAAA,EACA4jD,EAAA1+S,MAAA4hD,OAAAkwR,EAAA9xY,IAAA,WAAA6U,EAAA7U,IAAA,aAWA,SAAA0hL,EAAAliL,EAAAqV,EAAAi9X,GACA,IAAA/2E,EAGAA,EADAv7T,EACAzF,EAAA4N,IAAAnI,KAAAwzE,WAAA,SAAAhwD,GACA,IAAA4pL,EAAA/3L,EAAAE,UAAA6L,iBAAA/L,EAAAE,UAAAa,aAAAoN,KAAA,GAEA,OAAAjpB,EAAA8V,SAAA,CACAhH,KAAAma,GACO4pL,KAGP,EACA/jM,KAAA,QACAnO,KAAA,UAIA,IAAAiyP,EAAA,IAAAhqK,EAAAo4O,EAAA+2E,GACA3T,EAAApkY,EAAA4N,IAAAmqY,EAAA9xY,IAAA,QAAAjG,EAAAmqB,MAAA20S,EAAAY,cAAA5kT,IASA,OAPArV,IACA2+X,EAAApkY,EAAAqoD,OAAA+7U,EAAApkY,EAAAmqB,MAAA20S,EAAAr/T,WAAAgG,KAGAmtP,EAAA9pK,SAAAs7S,EAAA,KAAA3+X,EAAAq5T,EAAAh6B,eAAA,SAAAz/N,GACA,OAAAA,EAAA5gE,QAEAmuP,EAGA1vP,EAAAC,QAAAF,wBClKA,IAAAjD,EAAaX,EAAQ,QAoBrB,SAAA4D,EAAA0gB,GACAA,GAAA3jB,EAAAwJ,QAAAma,EAAAyC,SAKApmB,EAAA2nB,KAAAhE,EAAAyC,OAAA,SAAA6xX,GACAj4Y,EAAAoK,SAAA6tY,IAAA,MAAAA,EAAAt3Y,OACAs3Y,EAAAt3Y,KAAA,iBAKAuC,EAAAC,QAAAF,wBCjCA,IAAAjD,EAAaX,EAAQ,QAErBgzS,EAAoBhzS,EAAQ,QAE5BkjB,EAAsBljB,EAAQ,QAoB9B64Y,EAAA7lG,EAAAntS,OAAA,CACAvE,KAAA,kBAKA2iB,cAAA,CACA45F,gBAAA,gBAEA7Z,YAAA,OAEA+Z,YAAA,EAEA16B,OAAA,aAEAr9B,SAAA,EACAv+B,QAAA,CAEAlP,QAAA,QAGAqT,OAAA,cACAnN,WAAA,GACAm8H,UAAA,CACAv9B,MAAA,EACA55G,MAAA,EACAwkB,MAAA,WAEAhC,MAAA,CAEAxe,SAAA,OAKA41G,MAAA,EACAx/F,SAAA,OACA4zB,OAAA,EAGAxpB,MAAA,WAEAwkF,UAAA,CACAxkF,MAAA,UACA81F,YAAA,GAEA+6R,gBAAA,CACAltX,OAAA,SACAnN,WAAA,GACAwJ,MAAA,UACA81F,YAAA,EACA/Z,YAAA,uBACAnlB,WAAA,EACA2nM,kBAAA,IACAngE,gBAAA,gBAEA6xB,aAAA,CACA76H,MAAA,EACAkvG,aAAA,EACAC,aAAA,EACAC,aAAA,EACA5M,SAAA,GACAyY,QAAA,GACA7wN,SAAA,OAEAsxY,SAAA,4UAEAC,SAAA,idAEAC,SAAA,sTAEAC,SAAA,iTAEAjxX,MAAA,UACA+7E,YAAA,UACA+Z,YAAA,GAEAC,SAAA,CACA/3F,MAAA,CACAo3F,MAAA,EAEAp1F,MAAA,WAEAwkF,UAAA,CACAxkF,MAAA,WAEAiwN,aAAA,CACAjwN,MAAA,UACA+7E,YAAA,UACA+Z,YAAA,IAGArxG,KAAA,MAGA/L,EAAAoZ,MAAA8+X,EAAA31X,GACA,IAAAtf,EAAAi1Y,EACAh1Y,EAAAC,QAAAF,wBC7IA,IAAAu1Y,EAAmBn5Y,EAAQ,QAE3Bo5Y,EAAmBp5Y,EAAQ,QAE3B,SAAAmgB,EAAA3e,EAAAuH,EAAA4X,GACA,IAAAkoD,EAAA9/D,EAAA8/D,OACAm4K,EAAAj4O,EAAAi4O,OAEA,GAAAn4K,KAAAnkE,QAAA,GACA,GAAAs8O,GAAA,WAAAA,EAAA,CACA,IAAAq4J,EAAAD,EAAAvwU,EAAAm4K,EAAArgO,EAAA5X,EAAAytW,kBACAh1W,EAAAgf,OAAAqoD,EAAA,MAAAA,EAAA,OAGA,IAFA,IAAAj7D,EAAAi7D,EAAAnkE,OAEAwH,EAAA,EAAqBA,GAAAyU,EAAA/S,IAAA,GAAiC1B,IAAA,CACtD,IAAA4xM,EAAAu7L,EAAA,EAAAntY,GACAotY,EAAAD,EAAA,EAAAntY,EAAA,GACA+V,EAAA4mD,GAAA38D,EAAA,GAAA0B,GACApM,EAAAs0S,cAAAh4F,EAAA,GAAAA,EAAA,GAAAw7L,EAAA,GAAAA,EAAA,GAAAr3X,EAAA,GAAAA,EAAA,SAEK,CACL,WAAA++N,IACAn4K,EAAAswU,EAAAtwU,EAAAloD,IAGAnf,EAAAgf,OAAAqoD,EAAA,MAAAA,EAAA,OAEA38D,EAAA,UAAAC,EAAA08D,EAAAnkE,OAAwCwH,EAAAC,EAAOD,IAC/C1K,EAAAif,OAAAooD,EAAA38D,GAAA,GAAA28D,EAAA38D,GAAA,IAIAyU,GAAAnf,EAAAmf,aAIA7c,EAAAqc,kCCpCA,IAAAksC,EAAarsD,EAAQ,QACrB0tY,EAAW1tY,EAAQ,QACnBu4T,EAAWv4T,EAAQ,QACnBs4T,EAAet4T,EAAQ,QACvBwB,EAAUxB,EAAQ,QAClBsuY,EAAA,YAEA/rK,EAAA,SAAAjhO,EAAAmO,EAAA2rB,GACA,IAQAhvB,EAAAmtY,EAAA/4W,EAAAokF,EARA40R,EAAAl4Y,EAAAihO,EAAAl4K,EACAovV,EAAAn4Y,EAAAihO,EAAAloG,EACAq/Q,EAAAp4Y,EAAAihO,EAAApoG,EACAw/Q,EAAAr4Y,EAAAihO,EAAAx1D,EACA6sO,EAAAt4Y,EAAAihO,EAAAjoG,EACA9iH,EAAAiiY,EAAAptV,EAAAqtV,EAAArtV,EAAA58C,KAAA48C,EAAA58C,GAAA,KAAkF48C,EAAA58C,IAAA,IAAuB6+X,GACzGxqY,EAAA21Y,EAAA/L,IAAAj+X,KAAAi+X,EAAAj+X,GAAA,IACAoqY,EAAA/1Y,EAAAwqY,KAAAxqY,EAAAwqY,GAAA,IAGA,IAAAliY,KADAqtY,IAAAr+W,EAAA3rB,GACA2rB,EAEAm+W,GAAAC,GAAAhiY,QAAA/N,IAAA+N,EAAApL,GAEAo0B,GAAA+4W,EAAA/hY,EAAA4jB,GAAAhvB,GAEAw4G,EAAAg1R,GAAAL,EAAA/3Y,EAAAg/B,EAAA6rB,GAAAstV,GAAA,mBAAAn5W,EAAAh/B,EAAA6pD,SAAAnqD,KAAAs/B,KAEAhpB,GAAA8gT,EAAA9gT,EAAApL,EAAAo0B,EAAAl/B,EAAAihO,EAAA/tH,GAEA1wG,EAAAsI,IAAAo0B,GAAA+3R,EAAAz0T,EAAAsI,EAAAw4G,GACA+0R,GAAAE,EAAAztY,IAAAo0B,IAAAq5W,EAAAztY,GAAAo0B,IAGA6rB,EAAAqhV,OAEAnrK,EAAAl4K,EAAA,EACAk4K,EAAAloG,EAAA,EACAkoG,EAAApoG,EAAA,EACAooG,EAAAx1D,EAAA,EACAw1D,EAAAjoG,EAAA,GACAioG,EAAA2nG,EAAA,GACA3nG,EAAA/tH,EAAA,GACA+tH,EAAAnoG,EAAA,IACAv2H,EAAAC,QAAAy+N,wBCtBA,IAAA5hO,EAAaX,EAAQ,QAsBrB,SAAA4D,EAAAqd,GAEA,QAAA/U,EAAA,EAAiBA,EAAA+U,EAAAvc,OAAuBwH,IACxC+U,EAAA/U,GAAA,KACA+U,EAAA/U,GAAA,GAAA+U,EAAA/U,GAAA,IAIA,gBAAA4Y,EAAA2pN,EAAAC,GAGA,IAFA,IAAAhtO,EAAA,GAEAwK,EAAA,EAAmBA,EAAA+U,EAAAvc,OAAuBwH,IAAA,CAC1C,IAAAg6D,EAAAjlD,EAAA/U,GAAA,GAEA,KAAAuiO,GAAA9tO,EAAA4rC,QAAAkiM,EAAAvoK,IAAA,GAAAwoK,GAAA/tO,EAAA4rC,QAAAmiM,EAAAxoK,GAAA,IAIA,IAAA97D,EAAA0a,EAAAwE,WAAA48C,GAEA,MAAA97D,IACA1I,EAAAuf,EAAA/U,GAAA,IAAA9B,IAIA,OAAA1I,GAIAmC,EAAAC,QAAAF,wBCvEA,IAYAk2Y,EAZAr3X,EAAUziB,EAAQ,QAElB+5Y,EAAA,gCACAC,EAAA,qBAAAluY,OAAA,KAAAA,OACAmuY,GAAA,EACAzyK,EAAAwyK,KAAAjuY,SAEA,SAAAgrJ,EAAA6qE,GACA,OAAAk4K,EAAAl4K,GAMA,GAAA4F,IAAA/kN,EAAA2gN,gBACA,KACAoE,EAAA0yK,WAAAC,OAAA3yK,EAAA0yK,WAAAx7W,IAAA,QAAAq7W,GAEAD,EAAA,SAAAl4K,GACA,OAAA4F,EAAAxwM,cAAA,UAAA4qM,EAAA,oBAEG,MAAAtqN,GACHwiY,EAAA,SAAAl4K,GACA,OAAA4F,EAAAxwM,cAAA,IAAA4qM,EAAA,WAAAm4K,EAAA,qBAMA,SAAA17J,IACA,IAAA47J,GAAAzyK,EAAA,CAIAyyK,GAAA,EACA,IAAAG,EAAA5yK,EAAA4yK,YAEAA,EAAA11Y,OAAA,GACA8iO,EAAA6yK,mBAAAC,QAAA,uCAGAF,EAAA,GAAAE,QAAA,wCAIAx2Y,EAAA0jO,MACA1jO,EAAAizJ,aACAjzJ,EAAAu6O,gCC3BA,IAAA7P,EAAsBxuO,EAAQ,QAoB9B0sG,EAAA8hI,EAAA,uLACA5qO,EAAA,CACA8oG,aAAA,SAAA+hI,EAAAC,GACA,IAAAhtO,EAAAgrG,EAAAvrG,KAAAstO,EAAAC,GACAtJ,EAAAjkO,KAAA0tX,oBAEA,OADAzpJ,IAAA1jO,EAAA0jO,YACA1jO,GAEAmtX,kBAAA,WACA,IAAA+X,EAAAzlY,KAAAyF,IAAA,cACA,gBAAAggY,GAAA,MAAAA,EAAA,gBAAAA,EAAA,cAGA/iY,EAAAC,QAAAF,sBCpDAC,EAAAC,QAAA,gGAEA8L,MAAA,2BCiBA,IAAA7P,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErByiB,EAAUziB,EAAQ,QAElB0yX,EAAoB1yX,EAAQ,QAE5BgpM,EAAoBhpM,EAAQ,QAE5B2mR,EAAqB3mR,EAAQ,QAE7B+iB,EAAgB/iB,EAAQ,QAExB2nJ,EAAiB3nJ,EAAQ,QAoBzB4kR,EAAA57E,EAAA47E,UACAD,EAAA37E,EAAA27E,WACAx6Q,EAAAxJ,EAAAwJ,QACAme,EAAA3nB,EAAA2nB,KACAoxF,EAAAiuC,EAAAjuC,IACAT,EAAA0uC,EAAA1uC,UACA9sD,EAAAxrD,EAAAwrD,KACAsmU,EAAA1yX,EAAAu3I,qBAAA,CACAh2I,KAAA,YACA4lH,aAAA,WAMAiiF,UAAA,yBAMAoxM,qBAAA,uDAQAC,UAAA,EAAAv/X,SAMAmJ,WAAA,CACA9iB,KAAA,MACAikF,YAAA,GAMAthE,cAAA,CACAo5F,MAAA,EACAC,OAAA,EACAh/E,EAAA,EACAta,YAAA,MAKA3b,IAAA,EAEAC,IAAA,IAEAmsK,UAAA,KACAgsC,QAAA,KAGAF,WAAA,KAIA9vK,KAAA,EAEAC,MAAA,KAEAE,IAAA,KAEAD,OAAA,EAEA44K,UAAA,KACAC,WAAA,KACAxjK,SAAA,EACAq9B,OAAA,WAEAw6B,gBAAA,gBACA7Z,YAAA,OAEAy2S,aAAA,UACAhxL,cAAA,OACA1rG,YAAA,EAEA1rG,QAAA,EAGAutM,QAAA,GAEA/nJ,UAAA,EAEA5vC,MAAA,KAEA+oD,UAAA,KACA7uE,KAAA,KAEAy7G,UAAA,CACA31F,MAAA,SAQA5D,KAAA,SAAAC,EAAAC,EAAA7I,GAKAva,KAAA6gY,YAKA7gY,KAAAo8X,cAAA,GAKAp8X,KAAA48X,kBAAA,GAKA58X,KAAA2pG,eAOA3pG,KAAA0+M,SACA1+M,KAAA4jB,qBAAAT,EAAA5I,IAMA68H,cAAA,SAAAjzD,EAAAwtH,GACA,IAAAt6D,EAAAr3I,KAAAmjB,OAIA7B,EAAA2gN,kBACA5qF,EAAAohI,UAAA,IAGA9mE,GAAA6zE,EAAA18E,oBAAAzxD,EAAAlzD,EAAAnkF,KAAAo5Y,sBACAp5Y,KAAA2pG,eAAA3pG,KAAA26B,SAAA,aACA36B,KAAA2rY,gBACA3rY,KAAAkyX,wBAMAD,YAAA,SAAAhqL,GACA,IAAAD,EAAAhoM,KAAAgoM,UACAC,EAAAzoM,EAAAoJ,KAAAq/L,EAAAjoM,MACAA,KAAA48X,kBAAAp3G,EAAAz9E,qBAAA/nM,KAAAmjB,OAAA7K,WAAA0vL,EAAAC,GACAjoM,KAAAo8X,cAAA52G,EAAAz9E,qBAAA/nM,KAAAmjB,OAAA9M,OAAA2xL,EAAAC,IAOAsxM,uBAAA,WACA,IAAAC,EAAAx5Y,KAAAmjB,OAAAN,YACAkkQ,EAAA,GAUA,OARA,MAAAyyH,GAAA,QAAAA,EACAx5Y,KAAAua,QAAAkkG,WAAA,SAAAnkG,EAAAzW,GACAkjR,EAAAp0Q,KAAA9O,KAGAkjR,EAAAnlQ,EAAAmuD,iBAAAypU,GAGAzyH,GAMAurG,iBAAA,SAAAjgT,EAAA3uD,GACAlkB,EAAA2nB,KAAAnnB,KAAAu5Y,yBAAA,SAAA12X,GACAwvD,EAAAtyE,KAAA2jB,EAAA1jB,KAAAua,QAAA2pM,iBAAArhM,KACK7iB,OAMLmkN,eAAA,SAAA7pM,GACA,IAAAyuQ,GAAA,EAIA,OAHA/oR,KAAAsyX,iBAAA,SAAA3uW,GACAA,IAAArJ,IAAAyuQ,GAAA,KAEAA,GAiBArmE,gBAAA,SAAAz+M,EAAA0gJ,EAAAwuO,GACA,IAIAsmB,EACA52L,EALA1/L,EAAAnjB,KAAAmjB,OACAuzC,EAAAvzC,EAAAuzC,UACA2iV,EAAAr5Y,KAAAq5Y,UACAxpU,EAAA1sD,EAAA0sD,UAYA,OATAsjT,KAAA,UAEA3zX,EAAAwJ,QAAA/E,KACAA,IAAAi7B,QACAu6W,GAAA,GAGA52L,EAAAl+D,EAAA1gJ,EAAAw1Y,EAAA,CAAAnhS,EAAAr0G,EAAA,IAAAq0G,EAAAr0G,EAAA,KAAAq0G,EAAAr0G,GAEAzE,EAAAiK,SAAAomE,GACAA,EAAAtlE,QAAA,UAAuCkvY,EAAA52L,EAAA,GAAAA,GAAAt4M,QAAA,WAAyDkvY,EAAA52L,EAAA,GAAAA,GAC3FrjN,EAAAwK,WAAA6lE,GACL4pU,EAAA5pU,EAAA5rE,EAAA,GAAAA,EAAA,IAAA4rE,EAAA5rE,GAGAw1Y,EACAx1Y,EAAA,KAAAo1Y,EAAA,GACAlmB,EAAA,OAAAtwK,EAAA,GACO5+M,EAAA,KAAAo1Y,EAAA,GACPlmB,EAAA,OAAAtwK,EAAA,GAEAA,EAAA,SAAAA,EAAA,GAIAA,EAGA,SAAAvqG,EAAArvG,GACA,OAAAA,IAAAowY,EAAA,SAAApwY,IAAAowY,EAAA,WAAApwY,GAAAqvG,QAAA5xG,KAAAQ,IAAAwvD,EAAA,OAOAm7T,YAAA,WACA,IAAAx6O,EAAAr3I,KAAAmjB,OAIApI,EAAAw9F,EAAA,CAAA8+B,EAAAnwI,IAAAmwI,EAAAlwI,MACAnH,KAAA6gY,YAAA9lX,GASAqpM,iBAAA,SAAAj3M,GACA,IAAAusY,EAAA15Y,KAAAmjB,OAAAmwJ,UACAqmO,EAAAxsY,EAAAsrE,WAEA,SAAAihU,GAAAC,EAAAp2Y,OAAA,CAIA,SAAAm2Y,EACA,OAAAvsY,EAAA6gL,aAAA0rN,GAKA,IAFA,IAAAjiH,EAAAtqR,EAAAsrE,WAEA1tE,EAAA0sR,EAAAl0R,OAAA,EAAqCwH,GAAA,EAAQA,IAAA,CAC7C,IAAA2tE,EAAA++M,EAAA1sR,GACA0b,EAAAtZ,EAAAkZ,iBAAAqyD,GAEA,IAAAjyD,EAAAo2V,mBACA,OAAAnkS,KASA19D,UAAA,WACA,OAAAhb,KAAA6gY,YAAA3hW,SAMAgzV,qBAAA,WACA,IAAA33W,EAAAva,KAAAua,QACA88H,EAAAr3I,KAAAmjB,OACA+jE,EAAA,CACAo4H,QAAAjoE,EAAAioE,QACAF,WAAA/nE,EAAA+nE,YAEA/oM,EAAAghI,EAAAhhI,SAAAghI,EAAAhhI,OAAA,IACAiC,EAAA++H,EAAA/+H,aAAA++H,EAAA/+H,WAAA,IACA9Y,EAAA2L,MAAAkL,EAAA6wE,GAEA1nF,EAAA2L,MAAAmN,EAAA4uE,GAEA,IAAAy9D,EAAA3kJ,KAAA2kJ,aAOA,SAAAi1P,EAAA1yT,GAKAl+E,EAAAquI,EAAAvwH,SAEAogE,EAAAo4H,UACAp4H,EAAAo4H,QAAA,CACAx4L,MAAAuwH,EAAAvwH,MAAAoY,QAAAstH,YAUAtlE,EAAAo4H,QAAAp4H,EAAAo4H,SAAA,CACAx4L,MAAAvM,EAAA9U,IAAA,kBAGA0hB,EAAAnnB,KAAAgoM,UAAA,SAAAG,GACA,IAAAI,EAAArhH,EAAAihH,GAEA,GAAA3oM,EAAAiK,SAAA8+L,GAAA,CACA,IAAAsxM,EAAAtoB,EAAA9rX,IAAA8iM,EAAA,SAAA5jD,GAEAk1P,GACA3yT,EAAAihH,GAAA,GACAjhH,EAAAihH,GAAAI,GAAAsxM,UAGA3yT,EAAAihH,KAGOnoM,MAGP,SAAA85Y,EAAA5yT,EAAA6yT,EAAAC,GACA,IAAAC,EAAA/yT,EAAA6yT,GACAG,EAAAhzT,EAAA8yT,GAEAC,IAAAC,IACAA,EAAAhzT,EAAA8yT,GAAA,GACA7yX,EAAA8yX,EAAA,SAAA3xM,EAAAC,GACA,GAAAV,EAAAW,YAAAD,GAAA,CAIA,IAAAsxM,EAAAtoB,EAAA9rX,IAAA8iM,EAAA,WAAA5jD,GAEA,MAAAk1P,IACAK,EAAA3xM,GAAAsxM,EAIA,UAAAtxM,GAAA2xM,EAAAhvY,eAAA,YAAAgvY,EAAAhvY,eAAA,gBACAgvY,EAAApmV,QAAA,YAOA,SAAAqmV,EAAA7hY,GACA,IAAA8hY,GAAA9hY,EAAAgnM,SAAA,IAAkD70L,SAAAnS,EAAA8mM,YAAA,IAAwC30L,OAC1F4vX,GAAA/hY,EAAAgnM,SAAA,IAAsDhiM,aAAAhF,EAAA8mM,YAAA,IAA4C9hM,WAClGgrM,EAAAtoN,KAAAyF,IAAA,iBACA0hB,EAAAnnB,KAAAgoM,UAAA,SAAAG,GACA,IAAAuW,EAAA1+M,KAAA0+M,SACA47L,EAAAhiY,EAAA6vL,GAGAmyM,IACAA,EAAAhiY,EAAA6vL,GAAA,CACArhL,MAAA69H,EAAA2jE,EAAA,CAAAA,KAKA,MAAAgyL,EAAA7vX,SACA6vX,EAAA7vX,OAAA2vX,GAAA56Y,EAAA+V,MAAA6kY,KAAAz1P,EAAA,4BAGA,MAAA21P,EAAAh9X,aACAg9X,EAAAh9X,WAAA+8X,GAAA76Y,EAAA+V,MAAA8kY,KAAA11P,EAAA+5D,EAAA,IAAAA,EAAA,GAAAA,EAAA,MAIA47L,EAAA7vX,OAAAg5P,EAAA62H,EAAA7vX,OAAA,SAAAA,GACA,eAAAA,GAAA,WAAAA,EAAA,YAAAA,IAGA,IAAAnN,EAAAg9X,EAAAh9X,WAEA,SAAAA,EAAA,CACA,IAAAnW,GAAA2S,IAEA0pQ,EAAAlmQ,EAAA,SAAArZ,GACAA,EAAAkD,MAAAlD,KAEAq2Y,EAAAh9X,WAAAmmQ,EAAAnmQ,EAAA,SAAArZ,GACA,OAAA6zG,EAAA7zG,EAAA,GAAAkD,GAAA,GAAAu3M,EAAA,YAGO1+M,MAjHP45Y,EAAA75Y,KAAAC,KAAAqW,GACAujY,EAAA75Y,KAAAC,KAAAsY,GACAwhY,EAAA/5Y,KAAAC,KAAAqW,EAAA,wBAEA8jY,EAAAp6Y,KAAAC,KAAAsY,IAoHAqzX,cAAA,WACA3rY,KAAA0+M,SAAA,CAAAnzK,WAAAvrC,KAAAyF,IAAA,cAAA8lC,WAAAvrC,KAAAyF,IAAA,iBAMAk/I,WAAA,WACA,QAAA3kJ,KAAAmjB,OAAAq0H,YAOAghN,YAAAxtS,EASAg+I,cAAAh+I,EAiBAynU,cAAAznU,IAEAvoD,EAAA6uX,EACA5uX,EAAAC,QAAAF,wBC1gBA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErB2mR,EAAqB3mR,EAAQ,QAE7BgpM,EAAoBhpM,EAAQ,QAoB5B07Y,EAAA37Y,EAAA+1Q,SAAAmR,OAAA00H,UA8CA,SAAA9nB,EAAAp4W,EAAAsjM,EAAA35M,EAAAqlM,GAQA,IAPA,IAAAlB,EAAAwV,EAAAw+K,cAAA9yL,GACAC,EAAA1B,EAAA2B,mBAAApB,GACAqyM,EAAA,CACA3zX,MAAAxM,EAAAE,UAAA+C,UAAA,UAIAxS,EAAA,EAAA0B,EAAA88L,EAAAhmM,OAA2CwH,EAAA0B,EAAS1B,IAAA,CACpD,IAAA5K,EAAAopM,EAAAx+L,GACA6hY,EAAAxkM,EAAA,YAAAjoM,EAAA,oBAAAA,GACAysY,KAAA7jM,YAAA9kM,EAAAsZ,EAAAiN,GAGA,OAAAiwX,EAAA3zX,MAEA,SAAAvJ,EAAAtS,GACA,OAAAwvY,EAAAxvY,GAGA,SAAAuf,EAAAvf,EAAAhH,GACAw2Y,EAAAxvY,GAAAhH,GAlEArF,EAAAO,eAAAo7Y,EAAA,CACAjtH,mBAAA,EACAjzQ,MAAA,SAAAC,EAAAC,GACA,IAAA2zQ,EAAA,GAUA,OATA3zQ,EAAA8kG,cAAA,qBAAAu+F,GACA,IAAA50L,EAAA1O,EAAA0O,iBAEA40L,EAAAuG,eAAA7pM,IAAA0O,KAAAo+J,OAIA8mG,EAAAv7Q,KAAA6yQ,EAAA/7E,uBAAAmU,EAAA5V,UAAA4V,EAAAw+K,cAAA58X,EAAAoJ,KAAAg1M,EAAA5U,cAAA4U,KAAAwG,iBAAA9pM,EAAAE,eAEA0zQ,KAIAtvR,EAAAO,eAAAo7Y,EAAA,CACAjtH,mBAAA,EACAjzQ,MAAA,SAAAC,EAAAC,GACA,IAAAhP,EAAA+O,EAAAE,UACAm5M,EAAA,GACAp5M,EAAA8kG,cAAA,qBAAAu+F,GACA,GAAAA,EAAAuG,eAAA7pM,GAAA,CACA,IAAAqlL,EAAAie,EAAA60K,cAAAjzX,EAAAoJ,KAAA8pX,EAAA,KAAAp4W,EAAAsjM,KAAA,CACA5d,MAAA,GACA2yL,YAAA,IAEA+nB,EAAA98L,EAAAwG,iBAAA74M,GACAkb,EAAAlb,EAAA8a,iBAAAq0X,GAEA,MAAAj0X,IAEAk5K,EAAArsB,UAAA7sJ,EAAA5iB,MACA8vN,EAAAhhN,KAAAgtL,OAKArlL,EAAAE,UAAAgQ,UAAA,aAAAmpM,0BCtFAjxN,EAAAC,QAAA,SAAA4O,GACA,IACA,QAAAA,IACG,MAAA4E,GACH,+BCkCA,IAAA09C,EAAA,iCACApxD,EAAA,CACA0X,WAAA,WACAE,MAAA,SAAAC,EAAAC,EAAAxV,GACA,IAAA49F,EAAAroF,EAAAqgB,SAAA,aACAyjH,EAAA9jI,EAAAqgB,SAAA,aACAggX,EAAApgY,EAAA9U,IAAA,SACAqhB,EAAAs3H,EAAA34I,IAAA,UAAAk9F,EAAAl9F,IAAA,UAAAk1Y,EAAArgY,EAAAuI,YAAA83X,EAAAp3Y,QACAq3Y,EAAAtgY,EAAA7U,IAAA,mBACAo1Y,EAAAvgY,EAAA7U,IAAA,iBACAg0I,EAAAn/H,EAAAqgB,SAAA,aAAA8/K,eACAx1M,EAAAqV,EAAApV,iBACAqG,EAAA+O,EAAAE,UACAsgY,EAAA,CACAjuV,OAAA4sF,EAAA3lF,QACA4uR,OAAAm4D,EACA56I,SAAA26I,GAIA,SAAAx/N,EAAAp2J,EAAAzZ,GACAtG,EAAAijR,gBAAA38Q,EAAA,SAAA48Q,EAAA1iQ,GACA,IAAAquC,EAAAgnV,EAAA3yH,GAEA,cAAAA,GAAA58Q,EAAAuf,cAAA,CACA,IAAAiwX,EAAAxvY,EAAA4f,aAAA1F,GAAAhgB,IAAAouD,GAAA,GACA,MAAAknV,IAAAjnV,EAAAinV,GAGAxvY,EAAA0f,cAAAxF,EAAA,UAAAquC,IACO9uC,EAAAoH,MAAApH,EAAAuE,KAGP,OAfAhe,EAAAif,UAAA,QAAA1D,GAeA,CACAs0J,cAIA14K,EAAAC,QAAAF,wBCxDA,IAAA2e,EAAcviB,EAAQ,QAItBD,GAFAwiB,EAAAC,QAEcxiB,EAAQ,SAEtBW,EAAaX,EAAQ,QAErB88N,EAAU98N,EAAQ,QAElBoH,EAAapH,EAAQ,QAErB2nJ,EAAiB3nJ,EAAQ,QAEzB68N,EAAuB78N,EAAQ,QAE/Bm8Y,EAAqBn8Y,EAAQ,QA0B7B,SAAAo8Y,EAAA/+K,EAAAn3N,GACA,IAAAwsT,EAAAr1F,EAAAz2N,IAAA,kBAEA,SAAA8rT,EAAA,CACA,IAAArxH,EAAAqxH,EAAA,GACApxH,EAAAoxH,EAAA,GAEA33S,MAAAsmL,EAAA,KAAAtmL,MAAAsmL,EAAA,KAAAtmL,MAAAumL,EAAA,KAAAvmL,MAAAumL,EAAA,KACAngM,KAAA+sX,gBAAA7sL,EAAA,GAAAA,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,IAIA,IACAliF,EADAv8G,EAAAzB,KAAAuB,kBAEA2a,EAAAggN,EAAAz2N,IAAA,gBACAwV,EAAAihN,EAAAz2N,IAAA,cACAk0N,EAAA50N,EAAAwJ,WACAqrN,EAAA70N,EAAAu5D,YACA19C,EAAAnf,EAAAa,MAAAb,EAAAc,OAAAvC,KAAAsxT,YACA4pF,GAAA,EAaA,GAXAh/X,GAAAjB,IACAiB,EAAA,CAAAsqI,EAAA1kE,aAAA5lE,EAAA,GAAAy9M,GAAAnzE,EAAA1kE,aAAA5lE,EAAA,GAAA09M,IACA3+M,EAAAurI,EAAA1kE,aAAA7mE,EAAAvU,KAAAQ,IAAAyyN,EAAAC,IAEAhgN,MAAAsC,EAAA,KAAAtC,MAAAsC,EAAA,KAAAtC,MAAAqB,KACAigY,GAAA,IAMAA,EAAA,CACA,IAAAhxL,EAAA,GAEAtpM,EAAA,GAEAspM,EAAA5nN,MAAA2Y,EACAivM,EAAA3nN,OAAA0Y,EAAA2F,IAEAspM,EAAA3nN,OAAA0Y,EACAivM,EAAA5nN,MAAA2Y,EAAA2F,GAGAspM,EAAAjoN,EAAAia,EAAA,GAAAguM,EAAA3nN,OAAA,EACA2nN,EAAAloN,EAAAka,EAAA,GAAAguM,EAAA5nN,MAAA,OAGA07G,EAAAk+G,EAAAj+G,qBAEAD,EAAAp9F,SACAspM,EAAAjkN,EAAAq9E,cAAA06B,EAAA,CACA17G,MAAAq3N,EACAp3N,OAAAq3N,IAIA55N,KAAAgtX,YAAA9iK,EAAAloN,EAAAkoN,EAAAjoN,EAAAioN,EAAA5nN,MAAA4nN,EAAA3nN,QACAvC,KAAA4+E,UAAAs9I,EAAAz2N,IAAA,WACAzF,KAAA0uK,QAAAwtD,EAAAz2N,IAAA,SASA,SAAA01Y,EAAAn1S,EAAAriF,GACAnkB,EAAA2nB,KAAAxD,EAAAle,IAAA,qBAAAq7G,EAAAxyG,GACA03F,EAAAwa,YAAAlyG,EAAAwyG,KAIA,IAAAkwM,EAAA,CAEAv4O,WAAAkjJ,EAAA17N,UAAAw4E,WACA3pC,OAAA,SAAAv0B,EAAAxV,GACA,IAAAq2Y,EAAA,GAEA7gY,EAAA8kG,cAAA,eAAA68G,EAAAv+M,GACA,IAAArP,EAAA4tN,EAAAz2N,IAAA,OACA6rT,EAAAp1F,EAAAz2N,IAAA,eACAm2N,GAAA,EACAy/K,EAAAL,EAAAM,YAAAhtY,GAEA+sY,KAAA,YAAAA,EAAA,GAAAl7Y,MACA,MAAAmxT,MAAA,GACA11F,GAAA,GAEA,MAAA01F,MAAA,KAGA,IAAAtrN,EAAA,IAAA21H,EAAArtN,EAAAqP,EAAArP,EAAA4tN,EAAAz2N,IAAA,WAAAm2N,GACA51H,EAAAsrN,cACAtrN,EAAA2iL,UAAAzsD,EAAAz2N,IAAA,cACA21Y,EAAAzoY,KAAAqzF,GACAm1S,EAAAn1S,EAAAk2H,GACAA,EAAAh3N,iBAAA8gG,EACAA,EAAAriF,MAAAu4M,EAEAl2H,EAAA3nC,OAAA48U,EACAj1S,EAAA3nC,OAAA69J,EAAAn3N,KAEAwV,EAAAkkG,WAAA,SAAAnkG,GACA,IAAArV,EAAAqV,EAAA7U,IAAA,oBAEA,WAAAR,EAAA,CACA,IAAAqsS,EAAAh3R,EAAA7U,IAAA,eACA6U,EAAApV,iBAAAk2Y,EAAA9pG,MAIA,IAAAiqG,EAAA,GA0BA,OAzBAhhY,EAAA+kG,iBAAA,eAAAhlG,GACA,IAAAA,EAAA2kR,kBAAA,CACA,IAAA7tC,EAAA92O,EAAAomR,aACA66G,EAAAnqJ,GAAAmqJ,EAAAnqJ,IAAA,GACAmqJ,EAAAnqJ,GAAAz+O,KAAA2H,MAGA9a,EAAA2nB,KAAAo0X,EAAA,SAAAtwC,EAAA75G,GACA,IAAAoqJ,EAAAh8Y,EAAA4N,IAAA69V,EAAA,SAAAwwC,GACA,OAAAA,EAAAh2Y,IAAA,aAEAugG,EAAA,IAAA21H,EAAAy1B,IAAA5xP,EAAAmpD,SAAA6yV,IACAx1S,EAAA2iL,UAAAnpR,EAAAq9B,SAAAn0B,MAAA,KAAAlJ,EAAA4N,IAAA69V,EAAA,SAAAwwC,GACA,OAAAA,EAAAh2Y,IAAA,iBAEA21Y,EAAAzoY,KAAAqzF,GAEAA,EAAA3nC,OAAA48U,EACAj1S,EAAAsrN,YAAA25C,EAAA,GAAAxlW,IAAA,eACAugG,EAAA3nC,OAAA4sS,EAAA,GAAAlmW,GACAvF,EAAA2nB,KAAA8jV,EAAA,SAAAwwC,GACAA,EAAAv2Y,iBAAA8gG,EACAm1S,EAAAn1S,EAAAy1S,OAGAL,GAUA1/R,iBAAA,SAAAggS,EAAAx6G,EAAAlhL,GAKA,IAHA,IAAAlE,GAAA4/R,GAAA,IAAAx8W,QACA+8E,EAAAz8G,EAAAqrD,gBAEA9/C,EAAA,EAAmBA,EAAA+wG,EAAAv4G,OAAuBwH,IAC1CkxG,EAAA7oF,IAAA0oF,EAAA/wG,GAAAuD,KAAAwtG,EAAA/wG,IAGA,IAAAkvB,EAAAyhM,EAAAn0L,KAAA25P,EAAAlhL,GAOA,OANAxgH,EAAA2nB,KAAA8S,EAAA0hF,QAAA,SAAA/a,GACA,IAAAtyF,EAAAsyF,EAAAtyF,MACA2tG,EAAAx2G,IAAA6I,IAAAwtG,EAAAnpG,KAAA,CACArE,WAGAwtG,IAGAl9G,EAAA6gH,yBAAA,MAAAuxM,GACA,IAAAvuT,EAAAuuT,EACAtuT,EAAAC,QAAAF,wBCxOA,IAAAq/N,EAAgBjjO,EAAQ,QAExB+iO,EAAc/iO,EAAQ,QAEtBg3G,EAAA+rH,EAAAvoN,eACA2oN,EAAAF,EAAAE,IACAt6J,EAAA,WACAy4K,EAAAz5O,KAAAk+C,KACA+2V,EAAAj1Y,KAAA44B,MAEA,SAAA78B,EAAAgiE,EAAAl3C,GACA,IACAosK,EACA2qC,EACAv5N,EACA2F,EACAgQ,EALAnV,EAAAk5D,EAAAl5D,KAOA48I,EAAA65E,EAAA75E,EACAwjB,EAAAq2D,EAAAr2D,EACAx4D,EAAA6uH,EAAA7uH,EACA8lB,EAAA+oG,EAAA/oG,EACA+kG,EAAAgE,EAAAhE,EACAwG,EAAAxC,EAAAwC,EAEA,IAAAz5N,EAAA,EAAA2F,EAAA,EAAoB3F,EAAAQ,EAAAhI,QAAiB,CAKrC,OAJAo2L,EAAApuL,EAAAR,KACA2F,EAAA3F,EACAu5N,EAAA,EAEA3qC,GACA,KAAAxxC,EACAm8E,EAAA,EACA,MAEA,KAAAnxH,EACAmxH,EAAA,EACA,MAEA,KAAA34D,EACA24D,EAAA,EACA,MAEA,KAAAE,EACAF,EAAA,EACA,MAEA,KAAAtG,EACA,IAAAh8N,EAAAurB,EAAA,GACAtrB,EAAAsrB,EAAA,GACAyjB,EAAAmvM,EAAA5yN,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA0jB,EAAAkvM,EAAA5yN,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA04B,EAAA01V,GAAApuX,EAAA,GAAA0jB,EAAA1jB,EAAA,GAAAyjB,GAEAzlC,EAAAR,IAAAimC,EACAzlC,EAAAR,MAAA/I,EAEAuJ,EAAAR,IAAAkmC,EACA1lC,EAAAR,MAAA9I,EAGAsJ,EAAAR,MAAAimC,EACAzlC,EAAAR,MAAAkmC,EAEA1lC,EAAAR,MAAAk7C,EAEA16C,EAAAR,MAAAk7C,EAEAl7C,GAAA,EACA2F,EAAA3F,EACA,MAEA,KAAAkuH,EAEAn4G,EAAA,GAAAvV,EAAAR,KACA+V,EAAA,GAAAvV,EAAAR,KACA8qG,EAAA/0F,IAAAyM,GACAhiB,EAAAmF,KAAAoQ,EAAA,GACAvV,EAAAmF,KAAAoQ,EAAA,GAEAA,EAAA,IAAAvV,EAAAR,KACA+V,EAAA,IAAAvV,EAAAR,KACA8qG,EAAA/0F,IAAAyM,GACAhiB,EAAAmF,KAAAoQ,EAAA,GACAvV,EAAAmF,KAAAoQ,EAAA,GAGA,IAAAJ,EAAA,EAAeA,EAAA4jN,EAAY5jN,IAAA,CAC3B,IAAAI,EAAA4mD,EAAAhnD,GACAI,EAAA,GAAAvV,EAAAR,KACA+V,EAAA,GAAAvV,EAAAR,KACA8qG,EAAA/0F,IAAAyM,GAEAhiB,EAAAmF,KAAAoQ,EAAA,GACAvV,EAAAmF,KAAAoQ,EAAA,KAKApe,EAAAC,QAAAF,wBC/EA,IAAA+Y,EAAW3c,EAAQ,QAoBnB,SAAA01T,EAAAj6S,GACA,IAAArV,EAAAqV,EAAApV,iBAEA,IAAAD,GAAA,SAAAA,EAAA9E,KAAA,CAIA,IAAA2c,EAAAxC,EAAAwtK,WACAhrK,EAAAowK,SAAA,SAAA7vK,GACA,IAAAsG,EAAAtG,EAAAsd,WACAtd,EAAAq2J,UAAA,EAAA/vJ,EAAAle,IAAA,MAAAke,EAAAle,IAAA,SAEAm2Y,EAAA9+X,IAGA,SAAA8+X,EAAA9+X,GACAA,EAAAW,SAAA,SAAAC,GACA,IAAAgoL,EAAAhoL,EAAAid,WAAAl1B,IAAA,0BACA6W,EAAAd,EAAAjG,MAAAmI,EAAAQ,MAAAL,aACAtB,EAAAf,EAAAjG,MAAAmI,EAAAS,MAAAN,aACA6pD,EAAA,CAAAprD,EAAAC,IAEAmpL,GACAh+H,EAAA/0D,KAAA,EAAA2J,EAAA,GAAAC,EAAA,OAAAD,EAAA,GAAAC,EAAA,IAAAmpL,GAAAppL,EAAA,GAAAC,EAAA,OAAAA,EAAA,GAAAD,EAAA,IAAAopL,IAGAhoL,EAAAg2J,UAAAhsG,KAIA/kE,EAAA4xT,eACA5xT,EAAAi5Y,yCCvEA,IAAAp8Y,EAAaX,EAAQ,QAErB+9N,EAAe/9N,EAAQ,QAUvBglW,EAAA,SAAA7hW,EAAAC,EAAA2c,EAAA6I,EAAA6tV,GAIAt1W,KAAAgC,EAAA,MAAAA,EAAA,GAAAA,EACAhC,KAAAiC,EAAA,MAAAA,EAAA,GAAAA,EACAjC,KAAA4e,EAAA,MAAAA,EAAA,GAAAA,EAEA5e,KAAAG,KAAA,SAEAH,KAAAkrD,OAAAoqT,IAAA,EACA14I,EAAA78N,KAAAC,KAAAynB,IAGAo8U,EAAA5jW,UAAA,CACAC,YAAA2jW,GAEArkW,EAAAgD,SAAAqhW,EAAAjnI,GACA,IAAAn6N,EAAAohW,EACAnhW,EAAAC,QAAAF,wBCXA,IAAAjD,EAAaX,EAAQ,QAErB6jJ,EAAY7jJ,EAAQ,QAoBpBsoB,EAAA3nB,EAAA2nB,KACAwC,EAAAnqB,EAAAmqB,MAGA,SAAA47W,EAAAhrX,EAAAxV,GACA,IAAArB,EAAA,CAcAinY,SAAA,GACAkR,gBAAA,EAMA7b,iBAAA,GACA8b,YAAA,IAKA,OAHAC,EAAAr4Y,EAAA6W,EAAAxV,GAEArB,EAAAm4Y,gBAAAG,EAAAt4Y,EAAA6W,GACA7W,EAGA,SAAAq4Y,EAAAr4Y,EAAA6W,EAAAxV,GACA,IAAAkqT,EAAA10S,EAAAmS,aAAA,WACAsiS,EAAAz0S,EAAAmS,aAAA,eAEAuvX,EAAAjtF,EAAAvpT,IAAA,eACAy2Y,EAAA,GAEA/0X,EAAApiB,EAAA09O,uBAAA,SAAAx9O,GAEA,GAAAA,EAAA8pX,mBAAA,CAIA,IAAAotB,EAAAC,EAAAn3Y,EAAA0e,OACA04X,EAAA34Y,EAAAs8X,iBAAAmc,GAAA,GACAz4Y,EAAAo4Y,YAAAK,GAAAl3Y,EAGA,IAAA2rR,EAAA3rR,EAAA0e,MACA24X,EAAA1rH,EAAAj2P,SAAA,UAAAs0R,GAIA,GAHA9nS,EAAAliB,EAAA6gJ,UAAAn8H,EAAA4yX,GAAA,SAGAt3Y,EAAA2qX,gBAAA3gE,GAEAqtF,EAAA72Y,IAAA,SAGA,IAAA+2Y,EAAA,SAAAF,EAAA72Y,IAAA,WACAi4B,EAAA,UAAA4+W,EAAA72Y,IAAA,oBACAg3Y,EAAAx3Y,EAAA2qX,eAAA0sB,EAAA72Y,IAAA,sBAEA+2Y,GAAA9+W,IACAvW,EAAAs1X,EAAA5sB,SAAAlmW,EAAA4yX,GAAA7+W,GAAA,QAAA8+W,IAGA9+W,GACAvW,EAAAs1X,EAAAjuB,UAAA7kW,EAAA4yX,EAAA,cAMA,SAAAA,EAAAG,EAAAxc,EAAAl7X,GACA,IAAAF,EAAAE,EAAA2e,MAAAgX,SAAA,cAAAq0R,GACA2tF,EAAA73Y,EAAAW,IAAA,QAEA,GAAAk3Y,IAAA,SAAAA,GAAAD,GAAAE,EAAA93Y,IAAA,CAIA,MAAAo7X,IACAA,EAAAp7X,EAAAW,IAAA,mBAGAX,EAAA43Y,EAAAG,EAAA73Y,EAAAs3Y,EAAAttF,EAAAz0S,EAAAmiY,EAAAxc,GAAAp7X,EACA,IAAAm7X,EAAAn7X,EAAAW,IAAA,QACAwF,EAAAmxY,EAAAp3Y,EAAA2e,OACAm5X,EAAA5c,GAAAD,GAAA,aAAAj7X,EAAA7E,KAEAu9I,EAAAh6I,EAAAinY,SAAA1/X,GAAA,CACAA,MACAjG,OACAC,WACAH,mBACAo7X,iBACA4c,gBACA7c,OACAjhL,UAAA49L,EAAA93Y,GACA0mP,aAAA,IAEA6wJ,EAAApxY,GAAAyyI,EACAh6I,EAAAm4Y,gBAAAiB,EACA,IAAAC,EAAAC,EAAAf,EAAAj3Y,GAEA,SAAA+3Y,EAAA,CACA,IAAAE,EAAAf,EAAAa,KAAAb,EAAAa,GAAA,CACApS,SAAA,KAEAsS,EAAAtS,SAAA1/X,GAAAyyI,EACAu/P,EAAAC,OAAAjB,EAAAc,GAAAG,OACAx/P,EAAAu/P,iBAMA,SAAAJ,EAAA73Y,EAAAs3Y,EAAAttF,EAAAz0S,EAAAmiY,EAAAxc,GACA,IAAAid,EAAAb,EAAA3hX,SAAA,eACAyiX,EAAA,GACAj2X,EAAA,6HAAA8xE,GACAmkT,EAAAnkT,GAAAz5F,EAAA+V,MAAA4nY,EAAA13Y,IAAAwzF,MAKAmkT,EAAAnd,KAAA,aAAAj7X,EAAA7E,QAAA+/X,EAGA,UAAAid,EAAA13Y,IAAA,UACA23Y,EAAAj9Y,KAAA,QAGA,IAAAk9Y,EAAAD,EAAAt4X,QAAAs4X,EAAAt4X,MAAA,IAIA,GAFA,MAAAu4X,EAAAnhS,OAAAmhS,EAAAnhS,MAAA,GAEA,UAAAwgS,EAAA,CAEA,IAAAY,EAAAH,EAAA13Y,IAAA,cAIA,GAHA43Y,EAAAnhS,KAAA,MAAAohS,MAGApd,EAAA,CACA,IAAAt4L,EAAAw1M,EAAA3jQ,UAAA0jQ,EAAA13Y,IAAA,cACAmiM,GAAApoM,EAAA8V,SAAA+nY,EAAAz1M,EAAAnrF,YAIA,OAAAz3G,EAAA2e,MAAAgX,SAAA,kBAAA+nH,EAAA06P,EAAApuF,EAAAz0S,IAGA,SAAAyhY,EAAAt4Y,EAAA6W,GAEAA,EAAAkkG,WAAA,SAAAnkG,GAEA,IAAArV,EAAAqV,EAAApV,iBACAq4Y,EAAAjjY,EAAA7U,IAAA,sBACA+3Y,EAAAljY,EAAA7U,IAAA,mBAEAR,GAAA,SAAAs4Y,IAAA,IAAAA,GAAA,SAAAA,IAAA,IAAAC,IAAA,IAAAljY,EAAA7U,IAAA,wBAIA0hB,EAAAzjB,EAAAs8X,iBAAAoc,EAAAn3Y,EAAA0e,QAAA,SAAA+5H,GACA,IAAA14I,EAAA04I,EAAA14I,KAEAC,EAAAg3I,QAAAj3I,EAAAsW,OAAAtW,IACA04I,EAAA8tG,aAAA74O,KAAA2H,GACA,MAAAojI,EAAAwsP,kBAAAxsP,EAAAwsP,gBAAA,GACAxsP,EAAAwsP,iBAAA5vX,EAAAE,UAAAb,YAGG3Z,MAkBH,SAAAg9Y,EAAAf,EAAAj3Y,GAIA,IAHA,IAAAH,EAAAG,EAAA2e,MACArI,EAAAtW,EAAAsW,IAEAvQ,EAAA,EAAiBA,EAAAkxY,EAAA14Y,OAAwBwH,IAAA,CACzC,IAAA0yY,EAAAxB,EAAAlxY,IAAA,GAEA,GAAA2yY,EAAAD,EAAAniY,EAAA,UAAAzW,EAAAonB,KAAAyxX,EAAAD,EAAAniY,EAAA,aAAAzW,EAAAye,iBAAAo6X,EAAAD,EAAAniY,EAAA,YAAAzW,EAAAyJ,MACA,OAAAvD,GAKA,SAAA2yY,EAAAC,EAAAC,GACA,cAAAD,GAAAn+Y,EAAAwJ,QAAA20Y,IAAAn+Y,EAAA4rC,QAAAuyW,EAAAC,IAAA,GAAAD,IAAAC,EAGA,SAAA7gL,EAAAl4N,GACA,IAAA64I,EAAAkhL,EAAA/5T,GAEA,GAAA64I,EAAA,CAIA,IAAA54I,EAAA44I,EAAA54I,iBACAiT,EAAA2lI,EAAA14I,KAAA+S,MACAoL,EAAAre,EAAAqe,OACAw0C,EAAA7yD,EAAAW,IAAA,UACAxB,EAAAa,EAAAW,IAAA,SAEA,MAAAxB,IACAA,EAAA8T,EAAAqhB,MAAAn1B,IAGA,IAAA+6M,EAAA49L,EAAA93Y,GAGA,MAAA6yD,IACAx0C,EAAAw0C,OAAAqnJ,EAAA,eAGA,IAAAjkM,EAAAhD,EAAAiD,YAAAkkB,QACAnkB,EAAA,GAAAA,EAAA,IAAAA,EAAAyxI,WAGA,MAAAvoJ,GAEAA,EAAA8W,EAAA,MAEA9W,EAAA8W,EAAA,IAGA9W,EAAA8W,EAAA,KACA9W,EAAA8W,EAAA,IAGAoI,EAAAlf,QAEA+6M,IACA77L,EAAAw0C,OAAA+lF,EAAA14I,KAAA+S,MAAAsoI,UAAA,gBAIA,SAAAu+K,EAAA/5T,GACA,IAAAm7X,GAAAn7X,EAAA0V,QAAAmS,aAAA,oBAA6EszW,iBAC7E,OAAAA,KAAA2K,SAAAyR,EAAAv3Y,IAGA,SAAAw4N,EAAAx4N,GACA,IAAA64I,EAAAkhL,EAAA/5T,GACA,OAAA64I,KAAA54I,iBAGA,SAAA83Y,EAAA93Y,GACA,QAAAA,EAAAW,IAAA,eAQA,SAAA22Y,EAAAz4X,GACA,OAAAA,EAAAxjB,KAAA,KAAAwjB,EAAAsI,GAGAtpB,EAAA4iY,UACA5iY,EAAAo6N,WACAp6N,EAAAi8T,cACAj8T,EAAA06N,sBACA16N,EAAAy5Y,gCCpTA,IAAA58Y,EAAaX,EAAQ,QAErBgjB,EAAqBhjB,EAAQ,QAE7Bm3X,EAAuBn3X,EAAQ,QAE/BmnN,EAA2BnnN,EAAQ,QAoBnCo3X,EAAAp0W,EAAAnd,OAAA,CACAvE,KAAA,kBAKA6E,KAAA,KAKAke,KAAA,WACA+yW,EAAA3vN,WAAAtmK,KAAA,OAAA2I,WACA3I,KAAAipX,cAMAxkW,YAAA,WACAwxW,EAAA3vN,WAAAtmK,KAAA,cAAA2I,WACA3I,KAAAipX,cAMA7gW,YAAA,WACA6tW,EAAA3vN,WAAAtmK,KAAA,cAAA2I,WACA3I,KAAAipX,cAOA7yO,iBAAA,WACA,OAAAp2I,KAAAua,QAAAwR,gBAAA,CACAC,SAAA,OACAnoB,MAAA7D,KAAAmjB,OAAAkzH,UACApqH,GAAAjsB,KAAAmjB,OAAAmzH,SACK,MAIL,SAAAC,EAAAC,EAAArzH,GAEA,OAAAA,EAAAhjB,OAAAgjB,EAAA5X,KAAA,oBAGA/L,EAAA2L,MAAA8qX,EAAAh2X,UAAA+lN,GACA,IAAA63L,EAAA,CAIA93V,OAAA,GAEAiwU,EAAA,IAAAC,EAAA1/O,EAAAsnQ,GACA7nB,EAAA,IAAAC,EAAA1/O,EAAAsnQ,GACA,IAAAp7Y,EAAAwzX,EACAvzX,EAAAC,QAAAF,wBC1GA,IAAAwqB,EAAWpuB,EAAQ,QAGnBo/N,EAAAhxM,EAAAgxM,OAEAv7N,EAAAC,QAAAs7N,wBCeA,IAAAz+N,EAAaX,EAAQ,QAErBigH,EAAWjgH,EAAQ,QA6BnBm3S,EAAA,SAAA16R,EAAAvD,EAAA0hW,EAAAxiO,EAAAqlH,GACAx9I,EAAA/+G,KAAAC,KAAAsb,EAAAvD,EAAA0hW,GAUAz5W,KAAAG,KAAA82I,GAAA,QAMAj3I,KAAAs8P,aAGA05C,EAAA/1S,UAAA,CACAC,YAAA81S,EAMAryR,MAAA,KAKAzb,aAAA,WACA,qBAAAlI,KAAAkF,iBAAAy1B,WAAAl1B,IAAA,YAGAjG,EAAAgD,SAAAwzS,EAAAl3L,GACA,IAAAr8G,EAAAuzS,EACAtzS,EAAAC,QAAAF,wBCrEA,IAAA2e,EAAcviB,EAAQ,QAItB01G,GAFAnzF,EAAAC,QAEcxiB,EAAQ,SAEtBW,EAAaX,EAAQ,QAErBgjO,EAAgBhjO,EAAQ,QAExByiB,EAAUziB,EAAQ,QAElBs8Q,EAAct8Q,EAAQ,QAEtBkV,EAAelV,EAAQ,QAEvBqrR,EAAkBrrR,EAAQ,QAE1BsrR,EAAmBtrR,EAAQ,QAE3BwjP,EAA8BxjP,EAAQ,QAEtC0lX,EAAoB1lX,EAAQ,QAE5BK,EAAqBL,EAAQ,QAE7BmpF,EAAgBnpF,EAAQ,QAExBgjB,EAAqBhjB,EAAQ,QAE7B+jB,EAAkB/jB,EAAQ,QAE1B6M,EAAoB7M,EAAQ,QAE5BmxM,EAAgBnxM,EAAQ,QAExBqF,EAAcrF,EAAQ,QAEtB+iB,EAAgB/iB,EAAQ,QAExB+pO,EAAgB/pO,EAAQ,QAExBgqO,EAAAD,EAAAC,SAEAi1K,EAAkBj/Y,EAAQ,QAE1BwtM,EAAWxtM,EAAQ,QAEnBk/Y,EAAqBl/Y,EAAQ,QAE7BurR,EAAgBvrR,EAAQ,QAExBm/Y,EAAiBn/Y,EAAQ,QAEzBo/Y,EAAgBp/Y,EAAQ,QAExBA,EAAQ,QAER,IAAAm8Y,EAAqBn8Y,EAAQ,QAoB7BurD,EAAA5qD,EAAA4qD,OACAjjC,EAAA3nB,EAAA2nB,KACAnd,EAAAxK,EAAAwK,WACAJ,EAAApK,EAAAoK,SACA0kL,EAAAzsK,EAAAysK,eACAxoE,EAAA,QACAC,EAAA,CACAxR,QAAA,SAEA2pS,EAAA,EACAC,EAAA,IACAC,EAAA,IACAC,EAAA,IACAC,EAAA,IACAC,EAAA,IACAC,EAAA,IAGAC,EAAA,IACA9pI,EAAA,CACAC,UAAA,CACA8pI,OAAAP,EACAtpI,UAAAupI,GAEAt4H,OAAA,CACA64H,OAAAN,EACAO,OAAAN,EACAO,MAAAN,EACA/D,UAAAgE,EACAz4H,MAAA04H,IAQAK,EAAA,sBACAC,EAAA,kBACAC,EAAA,kBAEA,SAAAC,EAAA94P,GACA,gBAAA5tI,EAAAu7E,EAAApwE,GAEAnL,OAAAmhH,cACA3lH,EAAA9T,UAAAkmJ,GAAApmJ,KAAAC,KAAAuY,EAAAu7E,EAAApwE,IAQA,SAAAw7X,IACAnrY,EAAAhU,KAAAC,MAWA,SAAAm/Y,EAAAvhU,EAAAyqO,EAAAvoT,GACAA,KAAA,GAEA,kBAAAuoT,IACAA,EAAA+2F,GAAA/2F,IAOAroT,KAAAisB,GAMAjsB,KAAAylE,MAMAzlE,KAAA69P,KAAAjgL,EACA,IAAAyhU,EAAA,SAMAlrY,EAAAnU,KAAAqU,IAAAkgG,EAAArxF,KAAA06D,EAAA,CACAxmD,SAAAt3B,EAAAs3B,UAAAioX,EACAzzY,iBAAA9L,EAAA8L,iBACAtJ,MAAAxC,EAAAwC,MACAC,OAAAzC,EAAAyC,SAQAvC,KAAAs/Y,kBAAAz2K,EAAArpO,EAAAoJ,KAAAuL,EAAAikM,MAAAjkM,GAAA,IACAk0S,EAAA7oT,EAAA+V,MAAA8yS,GACAA,GAAAnpT,EAAAmpT,GAAA,GAMAroT,KAAAu/Y,OAAAl3F,EAMAroT,KAAAw/Y,aAAA,GAMAx/Y,KAAAy/Y,WAAA,GAMAz/Y,KAAA0/Y,iBAAA,GAMA1/Y,KAAA2/Y,eAAA,GAMA3/Y,KAAA4/Y,aAAA,IAAAv9J,EAMA,IAAAt9O,EAAA/E,KAAAggG,KAAA6/S,GAAA7/Y,MAEA,SAAA8/Y,EAAAv3Y,EAAAC,GACA,OAAAD,EAAAw3Y,OAAAv3Y,EAAAu3Y,OAGA5kI,EAAA6kI,GAAAF,GACA3kI,EAAA8kI,GAAAH,GAKA9/Y,KAAAkgZ,WAAA,IAAA91H,EAAApqR,KAAA+E,EAAAk7Y,GAAAD,IACAjsY,EAAAhU,KAAAC,UAAAmgZ,kBAAA,IAAAC,IAMApgZ,KAAAqgZ,eAAA,IAAAnB,EAEAl/Y,KAAA4vK,cAGA5vK,KAAAq+D,OAAA7+D,EAAAoJ,KAAA5I,KAAAq+D,OAAAr+D,MAEAA,KAAAsgZ,gBAAA,GACAnsY,EAAAupE,UAAA9nE,GAAA,QAAA5V,KAAAugZ,SAAAvgZ,MACAwgZ,GAAArsY,EAAAnU,MAEAR,EAAAgrD,eAAAxqD,MA5HAk/Y,EAAAj/Y,UAAA2V,GAAAqpY,EAAA,MACAC,EAAAj/Y,UAAA4V,IAAAopY,EAAA,OACAC,EAAAj/Y,UAAAwgZ,IAAAxB,EAAA,OACAz/Y,EAAAoZ,MAAAsmY,EAAAnrY,GA4HA,IAAA2sY,EAAAvB,EAAAl/Y,UAqWA,SAAA0gZ,GAAAl3X,EAAAwyM,EAAAh4N,GACA,IAIAP,EAJA6W,EAAAva,KAAAm7I,OAEAy1G,EAAA5wP,KAAA4/Y,aAAAn9J,uBAGAxmB,EAAAr6M,EAAA2tQ,YAAAh1Q,EAAA0hN,GAEA,QAAAlxN,EAAA,EAAiBA,EAAA6lP,EAAArtP,OAAyBwH,IAAA,CAC1C,IAAA9F,EAAA2rP,EAAA7lP,GAEA,GAAA9F,EAAAwkB,IAAA,OAAA/lB,EAAAuB,EAAAwkB,GAAAlP,EAAA0hN,EAAAh4N,IACA,OAAAP,GA/WAg9Y,EAAAH,SAAA,WACA,IAAAvgZ,KAAA24L,UAAA,CAIA,IAAA9uK,EAAA7pB,KAAAkgZ,WAEA,GAAAlgZ,KAAA++Y,GAAA,CACA,IAAA13R,EAAArnH,KAAA++Y,GAAA13R,OACArnH,KAAA8+Y,IAAA,EACA8B,GAAA5gZ,MACA6gZ,GAAAt0X,OAAAxsB,KAAAC,MACAA,KAAA8+Y,IAAA,EACA9+Y,KAAA++Y,IAAA,EACA+B,GAAA/gZ,KAAAC,KAAAqnH,GACA05R,GAAAhhZ,KAAAC,KAAAqnH,QAEA,GAAAx9F,EAAAwrO,WAAA,CAEA,IAAA2rJ,EAAA9C,EACA3jY,EAAAva,KAAAm7I,OACAp2I,EAAA/E,KAAAggG,KACAn2E,EAAAwrO,YAAA,EAEA,GACA,IAAAgpB,GAAA,IAAArmP,KACAnO,EAAAijQ,mBAAAvyQ,GAEAsP,EAAA+iQ,0BAAAryQ,GACAyxQ,GAAAhsR,KAAAua,GAOAsP,EAAAgjQ,mBAAAtyQ,GACA2lT,GAAAlgU,UAAAm7I,OAAAp2I,EAAA,UACAi8Y,IAAA,IAAAhpX,KAAAqmP,QACO2iI,EAAA,GAAAn3X,EAAAwrO,YAGPxrO,EAAAwrO,YACAr1P,KAAAqU,IAAA+jM,WAWAsoM,EAAAr4Q,OAAA,WACA,OAAAroI,KAAA69P,MAOA6iJ,EAAAhvX,MAAA,WACA,OAAA1xB,KAAAqU,KAkBAqsY,EAAA/uX,UAAA,SAAAxO,EAAAgyL,EAAA0zG,GACA,IAAAxhM,EAUA,GARAz9G,EAAAurM,KACA0zG,EAAA1zG,EAAA0zG,WACAxhM,EAAA8tF,EAAA9tF,OACA8tF,cAGAn1M,KAAA8+Y,IAAA,GAEA9+Y,KAAAm7I,QAAAg6D,EAAA,CACA,IAAA8rM,EAAA,IAAA18B,EAAAvkX,KAAAggG,MACAqoN,EAAAroT,KAAAu/Y,OACAhlY,EAAAva,KAAAm7I,OAAA,IAAA+uI,EAAA,UAAAm+B,EAAA44F,GACA1mY,EAAAsP,UAAA7pB,KAAAkgZ,WACA3lY,EAAA2I,KAAA,UAAAmlS,EAAA44F,GAGAjhZ,KAAAm7I,OAAAxpH,UAAAxO,EAAA6hW,IAEAn8D,GACA7oT,KAAA++Y,GAAA,CACA13R,UAEArnH,KAAA8+Y,IAAA,IAEA8B,GAAA5gZ,MACA6gZ,GAAAt0X,OAAAxsB,KAAAC,MAGAA,KAAAqU,IAAA+jM,QAEAp4M,KAAA++Y,IAAA,EACA/+Y,KAAA8+Y,IAAA,EACAgC,GAAA/gZ,KAAAC,KAAAqnH,GACA05R,GAAAhhZ,KAAAC,KAAAqnH,KAQAq5R,EAAAQ,SAAA,WACA9oX,QAAA+B,MAAA,oDAOAumX,EAAA/lX,SAAA,WACA,OAAA36B,KAAAm7I,QAOAulQ,EAAA9hJ,UAAA,WACA,OAAA5+P,KAAAm7I,QAAAn7I,KAAAm7I,OAAAyjH,aAOA8hJ,EAAAnyY,SAAA,WACA,OAAAvO,KAAAqU,IAAA9F,YAOAmyY,EAAApiV,UAAA,WACA,OAAAt+D,KAAAqU,IAAAiqD,aAOAoiV,EAAAx1T,oBAAA,WACA,OAAAlrF,KAAAqU,IAAA6yG,QAAAv7G,KAAAhB,OAAAiB,kBAAA,GAUA80Y,EAAA/4R,kBAAA,SAAA7nH,GACA,GAAAwhB,EAAA2gN,gBAAA,CAIAniO,KAAA,GACAA,EAAA+nH,WAAA/nH,EAAA+nH,YAAA,EACA/nH,EAAA48G,gBAAA58G,EAAA48G,iBAAA18G,KAAAm7I,OAAA11I,IAAA,mBACA,IAAA0O,EAAAnU,KAAAqU,IAOA,OAAAF,EAAA+yG,QAAAS,kBAAA7nH,KAQA4gZ,EAAAS,cAAA,WACA,GAAA7/X,EAAA8/X,aAAA,CAIA,IAAAjtY,EAAAnU,KAAAqU,IACAlH,EAAAgH,EAAA6zG,QAAAC,iBAKA,OAHAzoH,EAAA2nB,KAAAha,EAAA,SAAA4jC,GACAA,EAAAzU,eAAA,KAEAnoB,EAAA+yG,QAAAm6R,kBAYAX,EAAAv3F,WAAA,SAAArpT,GACAA,KAAA,GACA,IAAAwhZ,EAAAxhZ,EAAAwhZ,kBACA/mY,EAAAva,KAAAm7I,OACAomQ,EAAA,GACA75W,EAAA1nC,KACAmnB,EAAAm6X,EAAA,SAAA/6R,GACAhsG,EAAA8kG,cAAA,CACArzF,SAAAu6F,GACK,SAAAk6I,GACL,IAAAvpK,EAAAxvD,EAAAi4W,eAAAl/I,EAAA+gJ,UAEAtqT,EAAAzxB,MAAAn6B,SACAi2W,EAAA5uY,KAAAukF,GACAA,EAAAzxB,MAAAn6B,QAAA,OAIA,IAAAgyD,EAAA,QAAAt9F,KAAAqU,IAAA6yG,QAAA02H,UAAA59O,KAAAmhZ,gBAAAnhZ,KAAA2nH,kBAAA7nH,GAAA2hZ,UAAA,UAAA3hZ,KAAAK,MAAA,QAIA,OAHAgnB,EAAAo6X,EAAA,SAAArqT,GACAA,EAAAzxB,MAAAn6B,QAAA,IAEAgyD,GAWAojT,EAAAt3F,oBAAA,SAAAtpT,GACA,GAAAwhB,EAAA2gN,gBAAA,CAIA,IAAA1sJ,EAAAv1E,KAAAylE,MACA60B,EAAA5zF,KAAAQ,IACAqzF,EAAA7zF,KAAAS,IACA4Y,EAAAjG,IAEA,GAAA4nY,GAAAnsU,GAAA,CACA,IAAAjmC,EAAAvvB,EACA0vB,EAAA1vB,EACAwvB,GAAAxvB,EACAyvB,GAAAzvB,EACA4hY,EAAA,GACAh2Y,EAAA7L,KAAA+nH,YAAA,EACAroH,EAAA2nB,KAAA05O,GAAA,SAAAn5I,EAAAz7F,GACA,GAAAy7F,EAAAjiD,QAAA8P,EAAA,CACA,IAAA3/C,EAAA8xF,EAAAC,kBAAAnoH,EAAA+V,MAAAzV,IACAi8N,EAAAr0G,EAAA2gB,SAAAmlI,wBACAl+N,EAAAgrD,EAAAyhI,EAAAzsL,QACAG,EAAA6qD,EAAAyhI,EAAAtsL,OACAF,EAAAgrD,EAAAwhI,EAAAxsL,SACAC,EAAA+qD,EAAAwhI,EAAAvsL,UACAmyW,EAAAhvY,KAAA,CACAirE,IAAAhoD,EACA0Z,KAAAysL,EAAAzsL,KACAG,IAAAssL,EAAAtsL,SAIAH,GAAA3jC,EACA8jC,GAAA9jC,EACA4jC,GAAA5jC,EACA6jC,GAAA7jC,EACA,IAAArJ,EAAAitC,EAAAD,EACA/sC,EAAAitC,EAAAC,EACAmyW,EAAApiZ,EAAAspD,eACA84V,EAAAt/Y,QACAs/Y,EAAAr/Y,SACA,IAAA4R,EAAAogG,EAAArxF,KAAA0+X,GAYA,OAXAz6X,EAAAw6X,EAAA,SAAA98U,GACA,IAAA6G,EAAA,IAAAxnE,EAAAstB,MAAA,CACAjxB,MAAA,CACAyB,EAAA6iE,EAAAv1B,KAAA3jC,EAAA2jC,EACArtC,EAAA4iE,EAAAp1B,IAAA9jC,EAAA8jC,EACA38B,MAAA+xD,EAAA+Y,OAGAzpE,EAAAopB,IAAAmuC,KAEAv3D,EAAA81F,qBACA23S,EAAAH,UAAA,UAAA3hZ,KAAAK,MAAA,QAEA,OAAAH,KAAAmpT,WAAArpT,KAuBA4gZ,EAAAjkL,eAAAj9N,EAAAmqB,MAAAg3X,GAAA,kBAoBAD,EAAAhkL,iBAAAl9N,EAAAmqB,MAAAg3X,GAAA,oBAqCAD,EAAA13F,aAAA,SAAA/sF,EAAAh4N,GACA,IACAP,EADA6W,EAAAva,KAAAm7I,OAkBA,OAhBA8gF,EAAAr6M,EAAA2tQ,YAAAh1Q,EAAA0hN,GACAz8N,EAAA2nB,KAAA80M,EAAA,SAAA4lL,EAAA52Y,GACAA,EAAAmgC,QAAA,cAAA5rC,EAAA2nB,KAAA06X,EAAA,SAAAl+X,GACA,IAAA1e,EAAA0e,EAAAze,iBAEA,GAAAD,KAAA0vD,aACAjxD,KAAAuB,EAAA0vD,aAAA1wD,QACO,oBAAAgH,EAAA,CACP,IAAAisF,EAAAl3F,KAAAy/Y,WAAA97X,EAAA69X,UAEAtqT,KAAAviC,eACAjxD,GAAAwzF,EAAAviC,aAAA1wD,EAAA0f,MAGK3jB,OACFA,QACH0D,GAmBAg9Y,EAAAnjY,UAAA,SAAA0+M,EAAA1zB,GACA,IAAAhuL,EAAAva,KAAAm7I,OACA8gF,EAAAr6M,EAAA2tQ,YAAAh1Q,EAAA0hN,EAAA,CACA6lL,gBAAA,WAEA,IAAAxnY,EAAA2hN,EAAA3hN,YACA/O,EAAA+O,EAAAE,UACAuiB,EAAAk/L,EAAA/wN,eAAA,mBAAA+wN,EAAAl/L,gBAAAk/L,EAAA/wN,eAAA,aAAAK,EAAAyxB,gBAAAi/L,EAAAx2M,WAAA,KACA,aAAAsX,EAAAxxB,EAAAic,cAAAuV,EAAAwrK,GAAAh9L,EAAAgS,UAAAgrL,IASAm4M,EAAAl6R,wBAAA,SAAAv4C,GACA,OAAAjuE,KAAA2/Y,eAAA1xU,EAAAuzU,WASAd,EAAA15R,qBAAA,SAAA1sG,GACA,OAAAta,KAAAy/Y,WAAAnlY,EAAAknY,WAGA,IAAAX,GAAA,CACAkB,iBAAA,SAAAv1X,GACAo0X,GAAA5gZ,MACA6gZ,GAAAt0X,OAAAxsB,KAAAC,KAAAwsB,IAOAD,OAAA,SAAAC,GAEA,IAAAjS,EAAAva,KAAAm7I,OACAp2I,EAAA/E,KAAAggG,KACA7rF,EAAAnU,KAAAqU,IACA2tY,EAAAhiZ,KAAA4/Y,aACA/1X,EAAA7pB,KAAAkgZ,WAEA,GAAA3lY,EAAA,CAIAsP,EAAAzB,YAAA7N,EAAAiS,GACA3C,EAAAijQ,mBAAAvyQ,GAMAynY,EAAAlzW,OAAAv0B,EAAAxV,GACA8kB,EAAA+iQ,0BAAAryQ,EAAAiS,GAIAw/P,GAAAhsR,KAAAua,GAKAynY,EAAAz1X,OAAAhS,EAAAxV,GACAk+T,GAAA1oT,GACAsP,EAAAgjQ,mBAAAtyQ,EAAAiS,GACA0mC,GAAAlzD,KAAAua,EAAAxV,EAAAynB,GAEA,IAAAkwF,EAAAniG,EAAA9U,IAAA,kCAEA,GAAA6b,EAAA2gN,gBAQA9tN,EAAAorQ,mBAAA7iK,OARA,CACA,IAAArW,EAAAw7H,EAAAzoM,MAAAsjF,GACAA,EAAAmlH,EAAA9nG,UAAA1zB,EAAA,OAEA,IAAAA,EAAA,KACAqW,EAAA,eAMAulS,GAAA1nY,EAAAxV,KAOAu9G,gBAAA,SAAA91F,GACA,IAAAjS,EAAAva,KAAAm7I,OACA+mQ,EAAAliZ,KACA+E,EAAA/E,KAAAggG,KAEA,GAAAzlF,EAAA,CAKA,IAAA4nY,EAAA,GACA5nY,EAAA8kG,cAAA,SAAAkH,EAAAt4C,GACA,IAAAm0U,EAAAF,EAAA17R,wBAAAv4C,GAEA,GAAAm0U,KAAAC,QACA,GAAAD,EAAA9/R,gBAAA,CACA,IAAA5+G,EAAA0+Y,EAAA9/R,gBAAAr0C,EAAA1zD,EAAAxV,EAAAynB,GACA9oB,KAAA6oB,QAAA41X,EAAAxvY,KAAAyvY,QAEAD,EAAAxvY,KAAAyvY,KAIA,IAAAE,EAAA9iZ,EAAAqrD,gBACAtwC,EAAAkkG,WAAA,SAAAnkG,GACA,IAAAysG,EAAAm7R,EAAAzC,WAAAnlY,EAAAknY,UAEA,GAAAz6R,EAAAzE,gBAAA,CACA,IAAA5+G,EAAAqjH,EAAAzE,gBAAAhoG,EAAAC,EAAAxV,EAAAynB,GACA9oB,KAAA6oB,QAAA+1X,EAAAlvX,IAAA9Y,EAAA0P,IAAA,QAEAs4X,EAAAlvX,IAAA9Y,EAAA0P,IAAA,KAGAi5S,GAAA1oT,GAGAva,KAAAkgZ,WAAArzH,mBAAAtyQ,EAAAiS,EAAA,CACAs+P,UAAA,EACAC,SAAAu3H,IAKApiF,GAAAgiF,EAAA3nY,EAAAxV,EAAAynB,EAAA81X,GACAL,GAAA1nY,EAAAva,KAAAggG,QAOAuN,WAAA,SAAA/gF,GACA,IAAAjS,EAAAva,KAAAm7I,OAEA5gI,IAIAy1L,EAAAuyM,iBAAA/1X,EAAA,cACAy2S,GAAA1oT,GAEAva,KAAAkgZ,WAAArzH,mBAAAtyQ,EAAAiS,EAAA,CACAs+P,UAAA,IAGA53N,GAAAlzD,UAAAm7I,OAAAn7I,KAAAggG,KAAAxzE,GACAy1X,GAAA1nY,EAAAva,KAAAggG,QAOAwiT,aAAA,SAAAh2X,GACAq0X,GAAAt0X,OAAAxsB,KAAAC,KAAAwsB,IAiBA8gF,aAAA,SAAA9gF,GACAq0X,GAAAt0X,OAAAxsB,KAAAC,KAAAwsB,KAcA,SAAAo0X,GAAAsB,GACA,IAAA3nY,EAAA2nY,EAAA/mQ,OACAtxH,EAAAq4X,EAAAhC,WACAr2X,EAAAqiQ,iBAAA3xQ,GACAsP,EAAAuiQ,oBACAK,GAAAy1H,EAAA,YAAA3nY,EAAAsP,GACA4iQ,GAAAy1H,EAAA,QAAA3nY,EAAAsP,GACAA,EAAAwjL,OAOA,SAAAo1M,GAAAP,EAAA/7P,EAAA35H,EAAAR,EAAA7H,GACA,IAAA5J,EAAA2nY,EAAA/mQ,OAEA,GAAAnvH,EAAA,CAQA,IAAAgqH,EAAA,GACAA,EAAAhqH,EAAA,MAAAQ,EAAAR,EAAA,MACAgqH,EAAAhqH,EAAA,SAAAQ,EAAAR,EAAA,SACAgqH,EAAAhqH,EAAA,QAAAQ,EAAAR,EAAA,QACA,IAAAq+B,EAAA,CACAr+B,WACAgqH,SAEA7xH,IAAAkmC,EAAAlmC,WAEA,IAAAwjM,EAAAn7L,EAAAm7L,gBAEA,MAAAA,IACAA,EAAAnoN,EAAAqrD,cAAAjpC,EAAAmuD,iBAAA43I,KAIAptM,KAAA8kG,cAAAh1D,EAAA,SAAA1mC,GACAgkM,GAAA,MAAAA,EAAAliN,IAAAke,EAAAsI,KACAy2X,EAAAR,EAAA,WAAAl2X,EAAA,+BAAArI,EAAA69X,YAEGU,QAzBH/6X,EAAA+6X,EAAAxC,iBAAAh2V,OAAAw4V,EAAA1C,cAAAkD,GA2BA,SAAAA,EAAAxrT,GACAA,KAAAmrT,SAAAnrT,EAAAivD,IAAAjvD,EAAAivD,GAAAjvD,EAAAyrT,QAAApoY,EAAA2nY,EAAAliT,KAAAxzE,IAiCA,SAAAw/P,GAAAk2H,EAAA3nY,GACA,IAAAqoY,EAAAV,EAAAzC,WACA51X,EAAAq4X,EAAAhC,WACA3lY,EAAAkkG,WAAA,SAAAnkG,GACAuP,EAAAmiQ,kBAAA1xQ,EAAAsoY,EAAAtoY,EAAAknY,aAsGA,SAAAqB,GAAAr2X,EAAA66F,GACA,IAAAq9H,EAAAl4N,EAAArsB,KACA2iZ,EAAAt2X,EAAAs2X,cACAC,EAAAjkG,GAAAp6D,GACAuE,EAAA85J,EAAA95J,WACA+5J,GAAA/5J,EAAA18N,QAAA,UAAA9d,MAAA,KACAumN,EAAAguL,EAAA32X,MACA22X,EAAA,MAAAA,EAAA,IAAA10N,EAAA00N,EAAA,IACAhjZ,KAAA8+Y,IAAA,EACA,IAAAmE,EAAA,CAAAz2X,GACA02X,GAAA,EAEA12X,EAAA63L,QACA6+L,GAAA,EACAD,EAAAzjZ,EAAA4N,IAAAof,EAAA63L,MAAA,SAAAx/I,GAGA,OAFAA,EAAArlE,EAAA8V,SAAA9V,EAAAkF,OAAA,GAA6CmgE,GAAAr4C,GAC7Cq4C,EAAAw/I,MAAA,KACAx/I,KAIA,IACAs+U,EADAC,EAAA,GAEAC,EAAA,cAAA3+J,GAAA,aAAAA,EACAv9N,EAAA87X,EAAA,SAAAt3X,GAEAw3X,EAAAJ,EAAAvvT,OAAA7nE,EAAA3rB,KAAAm7I,OAAAn7I,KAAAggG,MAEAmjT,KAAA3jZ,EAAAkF,OAAA,GAA2CinB,GAE3Cw3X,EAAAhjZ,KAAA8oP,EAAA9xO,OAAAgsY,EAAAhjZ,KACAijZ,EAAAzwY,KAAAwwY,GAEAE,EAEAZ,GAAAziZ,KAAAg1N,EAAArpM,EAAA,UACKq3X,GACLP,GAAAziZ,KAAAg1N,EAAArpM,EAAAq3X,EAAAh2U,KAAAg2U,EAAA5kY,MAEGpe,MAEH,SAAAg1N,GAAAquL,GAAAL,IAEAhjZ,KAAA++Y,IAEA6B,GAAA5gZ,MACA6gZ,GAAAt0X,OAAAxsB,KAAAC,KAAAwsB,GACAxsB,KAAA++Y,IAAA,GAEA8B,GAAA7rL,GAAAj1N,KAAAC,KAAAwsB,IAMA22X,EADAD,EACA,CACA/iZ,KAAA8oP,EAAA9xO,OAAAutO,EACAo+J,gBACAz+L,MAAA++L,GAGAA,EAAA,GAGApjZ,KAAA8+Y,IAAA,GACAz3R,GAAArnH,KAAAqgZ,eAAAjpY,QAAA+rY,EAAAhjZ,KAAAgjZ,GAGA,SAAArC,GAAAz5R,GACA,IAAAi8R,EAAAtjZ,KAAAsgZ,gBAEA,MAAAgD,EAAA//Y,OAAA,CACA,IAAAipB,EAAA82X,EAAAx+U,QACA+9U,GAAA9iZ,KAAAC,KAAAwsB,EAAA66F,IAIA,SAAA05R,GAAA15R,IACAA,GAAArnH,KAAAoX,QAAA,WAgBA,SAAAopY,GAAArsY,EAAA+tY,GACA/tY,EAAAyB,GAAA,sBACAssY,EAAA9qY,QAAA,aAQAjD,EAAAupE,UAAA5d,cAAAoiV,EAAAnD,IAAAmD,EAAAhC,WAAA7qJ,YAAA6sJ,EAAA5B,gBAAA/8Y,QACA2+Y,EAAA9qY,QAAA,cAwCA,SAAAq1Q,GAAAy1H,EAAA/hZ,EAAAoa,EAAAsP,GAOA,IANA,IAAA05X,EAAA,cAAApjZ,EACA+1X,EAAAqtB,EAAArB,EAAAxC,iBAAAwC,EAAA1C,aACAgE,EAAAD,EAAArB,EAAAvC,eAAAuC,EAAAzC,WACAtrY,EAAA+tY,EAAA7tY,IACAtP,EAAAm9Y,EAAAliT,KAEAj1F,EAAA,EAAiBA,EAAAmrX,EAAA3yX,OAAqBwH,IACtCmrX,EAAAnrX,GAAAs3Y,SAAA,EAOA,SAAAoB,EAAA9/X,GAEA,IAAA+/X,EAAA,OAAA//X,EAAAsI,GAAA,IAAAtI,EAAAxjB,KACA+2F,EAAAssT,EAAAE,GAEA,IAAAxsT,EAAA,CACA,IAAAysT,EAAAr1N,EAAA3qK,EAAAxjB,MACAkvL,EAAAk0N,EAAA73Y,EAAA4jL,SAAAq0N,EAAA32U,KAAA22U,EAAAvlY,KAAA4xL,EAAA1gB,SAAAq0N,EAAAvlY,KACA84E,EAAA,IAAAm4F,EACAn4F,EAAAh0E,KAAA3I,EAAAxV,GACAy+Y,EAAAE,GAAAxsT,EACAg/R,EAAAvjX,KAAAukF,GACA/iF,EAAAopB,IAAA25D,EAAAzxB,OAGA9hD,EAAA69X,SAAAtqT,EAAA0sT,KAAAF,EACAxsT,EAAAmrT,SAAA,EACAnrT,EAAAyrT,QAAAh/X,EACAuzE,EAAAzxB,MAAAo+U,kBAAA,CACA73X,SAAArI,EAAAqI,SACAnoB,MAAA8f,EAAAL,iBAEAigY,GAAA15X,EAAA4iQ,YAAAv1L,EAAAvzE,EAAApJ,EAAAxV,GA1BAw+Y,EAAAhpY,EAAA8kG,cAAA,SAAAkH,EAAA5iG,GACA,WAAA4iG,GAAAk9R,EAAA9/X,KACGpJ,EAAAkkG,WAAAglS,GA2BH,IAAA14Y,EAAA,EAAiBA,EAAAmrX,EAAA3yX,QAAqB,CACtC,IAAA2zF,EAAAg/R,EAAAnrX,GAEAmsF,EAAAmrT,QAQAt3Y,MAPAw4Y,GAAArsT,EAAAw1L,WAAA52Q,UACA3B,EAAA3H,OAAA0qF,EAAAzxB,OACAyxB,EAAAphF,QAAAyE,EAAAxV,GACAmxX,EAAA7kT,OAAAtmE,EAAA,UACAy4Y,EAAAtsT,EAAA0sT,MACA1sT,EAAA0sT,KAAA1sT,EAAAzxB,MAAAo+U,kBAAA,OA6BA,SAAA5gF,GAAA1oT,GACAA,EAAA0oT,oBACA1oT,EAAAkkG,WAAA,SAAAnkG,GACAA,EAAA2oT,sBAIA,SAAA/vQ,GAAAgvV,EAAA3nY,EAAAxV,EAAAynB,GACAs3X,GAAA5B,EAAA3nY,EAAAxV,EAAAynB,GACArF,EAAA+6X,EAAA1C,aAAA,SAAA93R,GACAA,EAAA26R,SAAA,IAEAniF,GAAAgiF,EAAA3nY,EAAAxV,EAAAynB,GAEArF,EAAA+6X,EAAA1C,aAAA,SAAA93R,GACAA,EAAA26R,SACA36R,EAAAl7G,OAAA+N,EAAAxV,KAKA,SAAA++Y,GAAA5B,EAAA3nY,EAAAxV,EAAAynB,EAAAu3X,GACA58X,EAAA48X,GAAA7B,EAAAxC,iBAAA,SAAA0C,GACA,IAAAn0U,EAAAm0U,EAAAO,QACAP,EAAAlvV,OAAA+a,EAAA1zD,EAAAxV,EAAAynB,GACAmkN,GAAA1iK,EAAAm0U,KASA,SAAAliF,GAAAgiF,EAAA3nY,EAAAxV,EAAAynB,EAAAu+P,GAEA,IACA11B,EADAxrO,EAAAq4X,EAAAhC,WAEA3lY,EAAAkkG,WAAA,SAAAnkG,GACA,IAAAysG,EAAAm7R,EAAAzC,WAAAnlY,EAAAknY,UACAz6R,EAAAs7R,SAAA,EACA,IAAA31H,EAAA3lK,EAAA2lK,WACA7iQ,EAAAyhQ,cAAAoB,EAAAlgQ,GAEAu+P,KAAAtlR,IAAA6U,EAAA0P,MACA0iQ,EAAA/nQ,QAGA0wO,GAAAq3B,EAAA34B,QAAAlqO,EAAA0hQ,eAAAmB,IACA3lK,EAAAthD,MAAA4hD,SAAA/sG,EAAA7U,IAAA,UACAkrO,GAAAr2N,EAAAysG,GACAi9R,GAAA1pY,EAAAysG,KAEAl9F,EAAAwrO,cAEA4uJ,GAAA/B,EAAA7tY,IAAAkG,GAEA8xL,EAAA61M,EAAA7tY,IAAAupE,IAAArjE,GAGA,SAAA0nY,GAAA1nY,EAAAxV,GACAoiB,EAAA+8X,GAAA,SAAA16V,GACAA,EAAAjvC,EAAAxV,KA5ZA27Y,EAAAriV,OAAA,SAAAv+D,GACAE,KAAAqU,IAAAgqD,OAAAv+D,GAEA,IAAAya,EAAAva,KAAAm7I,OAIA,GAFAn7I,KAAAmkZ,YAAAnkZ,KAAAmkZ,WAAA9lV,SAEA9jD,EAAA,CAIA,IAAA6pY,EAAA7pY,EAAAwS,YAAA,SACAs6F,EAAAvnH,KAAAunH,OACArnH,KAAA8+Y,IAAA,EACAsF,GAAAxD,GAAA5gZ,MACA6gZ,GAAAt0X,OAAAxsB,KAAAC,MACAA,KAAA8+Y,IAAA,EACAgC,GAAA/gZ,KAAAC,KAAAqnH,GACA05R,GAAAhhZ,KAAAC,KAAAqnH,KAiBAq5R,EAAAz3F,YAAA,SAAA36S,EAAA+1Y,GASA,GARAz6Y,EAAA0E,KACA+1Y,EAAA/1Y,EACAA,EAAA,IAGAA,KAAA,UACAtO,KAAAkpT,cAEAo7F,GAAAh2Y,GAAA,CAIA,IAAAyiC,EAAAuzW,GAAAh2Y,GAAAtO,KAAAggG,KAAAqkT,GACAlwY,EAAAnU,KAAAqU,IACArU,KAAAmkZ,WAAApzW,EACA58B,EAAAopB,IAAAwT,KAOA2vW,EAAAx3F,YAAA,WACAlpT,KAAAmkZ,YAAAnkZ,KAAAqU,IAAA7H,OAAAxM,KAAAmkZ,YACAnkZ,KAAAmkZ,WAAA,MAQAzD,EAAA6D,oBAAA,SAAApB,GACA,IAAA32X,EAAAhtB,EAAAkF,OAAA,GAAgCy+Y,GAEhC,OADA32X,EAAArsB,KAAAqkZ,GAAArB,EAAAhjZ,MACAqsB,GAgBAk0X,EAAAtzS,eAAA,SAAA5gF,EAAApX,GACAxL,EAAAwL,KACAA,EAAA,CACAiyG,SAAAjyG,IAIA0pS,GAAAtyR,EAAArsB,OAKAH,KAAAm7I,SAKAn7I,KAAA8+Y,GACA9+Y,KAAAsgZ,gBAAA3tY,KAAA6Z,IAKAq2X,GAAA9iZ,KAAAC,KAAAwsB,EAAApX,EAAAiyG,QAEAjyG,EAAAgjM,MACAp4M,KAAAqU,IAAA+jM,OAAA,IACG,IAAAhjM,EAAAgjM,OAAA92L,EAAAghR,QAAAmiH,QAMHzkZ,KAAAs/Y,oBAGAwB,GAAA/gZ,KAAAC,KAAAoV,EAAAiyG,QACA05R,GAAAhhZ,KAAAC,KAAAoV,EAAAiyG,WAuHAq5R,EAAA37X,WAAA,SAAAC,GACA,IAAAnC,EAAAmC,EAAAnC,YACAtI,EAAAva,KAAA26B,WACArgB,EAAAC,EAAA2pM,iBAAArhM,GACAvI,EAAAyK,WAAAC,GAQAhlB,KAAAkgZ,WAAA7qJ,YAAA,GAQAqrJ,EAAA9qY,GAAAqpY,EAAA,MACAyB,EAAA7qY,IAAAopY,EAAA,OACAyB,EAAAD,IAAAxB,EAAA,OAuJA,IAAAyF,GAAA,wGAsHA,SAAAT,GAAA9vY,EAAAoG,GACA,IAAAytG,EAAA7zG,EAAA6zG,QACA28R,EAAA,EACA38R,EAAA71F,SAAA,SAAA4e,GACAA,EAAAolK,SACAwuM,MAIAA,EAAApqY,EAAA9U,IAAA,yBAAA6b,EAAAjE,MACA2qG,EAAA71F,SAAA,SAAA4e,GACAA,EAAAolK,UAEAplK,EAAAslK,eAAA,KAYA,SAAA2tM,GAAA1pY,EAAAysG,GACA,IAAA40D,EAAArhK,EAAA7U,IAAA,mBACAshH,EAAAthD,MAAAtzC,SAAA,SAAA4e,GAEAA,EAAAolK,SAEAplK,EAAAxwC,MAAA+1D,QAAAqlH,GACA5qI,EAAAy2E,SAAA,QAAAm0D,GAIA5qI,EAAA24T,wBACA34T,EAAA24T,uBAAA,SAAA3oI,GACAA,EAAAv5G,SAAA,QAAAm0D,OAWA,SAAAg1D,GAAAhtN,EAAAuzE,GACA,IAAA/5D,EAAAxZ,EAAAle,IAAA,KACA02G,EAAAx4F,EAAAle,IAAA,UAEAyxF,EAAAzxB,MAAAtzC,SAAA,SAAA4e,GACA,UAAAA,EAAA5wC,OACA,MAAAg9B,IAAA4T,EAAA5T,KACA,MAAAg/E,IAAAprE,EAAAorE,aAKA,SAAA0jS,GAAAx1H,GACA,IAAA23H,EAAA33H,EAAAu1H,aACA,OAAApgZ,EAAAkF,OAAA,IAAAylR,EAAAE,GAAA,CAEA5nC,qBAAAjjP,EAAAoJ,KAAAo5Y,EAAAv/J,qBAAAu/J,GACA4C,sBAAA,SAAA7zW,GACA,MAAAA,EAAA,CACA,IAAA8zW,EAAA9zW,EAAA8yW,kBAEA,SAAAgB,EACA,OAAAx6H,EAAAlvI,OAAAzuH,aAAAm4X,EAAA74X,SAAA64X,EAAAhhZ,OAGAktC,IAAA4gC,WAyBA,SAAAyuU,KAEApgZ,KAAA8kZ,UAtNApE,EAAA9wO,YAAA,WACAzoJ,EAAAu9X,GAAA,SAAAj4R,GACA,IAAA34B,EAAA,SAAA39E,GACA,IAEA6O,EAFAzK,EAAAva,KAAA26B,WACAoW,EAAA56B,EAAAE,OAEA0uY,EAAA,cAAAt4R,EAEA,GAAAs4R,EACA//X,EAAA,QACO,GAAA+rB,GAAA,MAAAA,EAAAtrB,UAAA,CACP,IAAAw+L,EAAAlzK,EAAAkzK,WAAA1pM,EAAA2pM,iBAAAnzK,EAAAluB,aACAmC,EAAAi/L,KAAAj5L,cAAA+lB,EAAAtrB,UAAAsrB,EAAA7rB,SAAA6rB,IAAA,QAEAA,KAAA+7E,YACA9nG,EAAAxlB,EAAAkF,OAAA,GAAmCqsC,EAAA+7E,YAUnC,GAAA9nG,EAAA,CACA,IAAAuhG,EAAAvhG,EAAAuhG,cACAjjG,EAAA0B,EAAA1B,eAMA,aAAAijG,GAAA,cAAAA,GAAA,aAAAA,IACAA,EAAA,SACAjjG,EAAA0B,EAAAnC,aAGA,IAAAc,EAAA4iG,GAAA,MAAAjjG,GAAA/I,EAAAmS,aAAA65F,EAAAjjG,GACA4zE,EAAAvzE,GAAA3jB,KAAA,WAAA2jB,EAAAqI,SAAA,+BAAArI,EAAA69X,UACAx8X,EAAA7N,MAAAhB,EACA6O,EAAA7kB,KAAAssH,EACAzsH,KAAAmgZ,kBAAA2E,UAAA,CACAvuM,SAAAxlK,EACAylK,YAAAxxL,EACArB,QACAuzE,QAEAl3F,KAAAoX,QAAAq1G,EAAAznG,KASA8uE,EAAAkxT,sBAAA,EAEAhlZ,KAAAqU,IAAAuB,GAAA62G,EAAA34B,EAAA9zF,OACGA,MACHmnB,EAAAq9X,GAAA,SAAA5wM,EAAA/gE,GACA7yI,KAAAqgZ,eAAAzqY,GAAAi9H,EAAA,SAAA17H,GACAnX,KAAAoX,QAAAy7H,EAAA17H,IACKnX,OACFA,OAOH0gZ,EAAAt6H,WAAA,WACA,OAAApmR,KAAA24L,WAOA+nN,EAAAh0Y,MAAA,WACA1M,KAAA2xB,UAAA,CACA/L,OAAA,KACG,IAOH86X,EAAA5qY,QAAA,WACA,IAAA9V,KAAA24L,UAAA,CAIA34L,KAAA24L,WAAA,EACA/2K,EAAAq6R,aAAAj8S,KAAAqoI,SAAA48Q,GAAA,IACA,IAAAlgZ,EAAA/E,KAAAggG,KACAzlF,EAAAva,KAAAm7I,OACAh0H,EAAAnnB,KAAA0/Y,iBAAA,SAAAj/I,GACAA,EAAA3qP,QAAAyE,EAAAxV,KAEAoiB,EAAAnnB,KAAAw/Y,aAAA,SAAA93R,GACAA,EAAA5xG,QAAAyE,EAAAxV,KAGA/E,KAAAqU,IAAAyB,iBAEA+qP,GAAA7gQ,KAAAisB,MAGAzsB,EAAAoZ,MAAAumY,EAAAprY,GA0GAqsY,GAAAngZ,UAAA,CACAC,YAAAkgZ,GACA8E,eAAA,SAAAlvQ,GACA,IAAAmvQ,EAAA,GACAC,EAAA,GACAC,EAAA,GAEA,GAAA7lZ,EAAAiK,SAAAusI,GAAA,CACA,IAAAsvQ,EAAAh3N,EAAAt4C,GAEAmvQ,EAAAn5X,SAAAs5X,EAAAt4U,MAAA,KACAm4U,EAAAhhY,QAAAmhY,EAAAlnY,KAAA,SAEA,CAGA,IAAAmnY,EAAA,sBACAC,EAAA,CACAl3Y,KAAA,EACAmX,UAAA,EACAP,SAAA,GAEA1lB,EAAA2nB,KAAA6uH,EAAA,SAAA/sI,EAAAgC,GAGA,IAFA,IAAAmmY,GAAA,EAEArmY,EAAA,EAAyBA,EAAAw6Y,EAAAhiZ,OAAqBwH,IAAA,CAC9C,IAAA06Y,EAAAF,EAAAx6Y,GACA26Y,EAAAz6Y,EAAAstL,YAAAktN,GAEA,GAAAC,EAAA,GAAAA,IAAAz6Y,EAAA1H,OAAAkiZ,EAAAliZ,OAAA,CACA,IAAAyoB,EAAA/gB,EAAAi0B,MAAA,EAAAwmX,GAEA,SAAA15X,IACAm5X,EAAAn5X,WACAm5X,EAAAM,EAAA/rR,eAAAzwH,EACAmoY,GAAA,IAKAoU,EAAAt6Y,eAAAD,KACAm6Y,EAAAn6Y,GAAAhC,EACAmoY,GAAA,GAGAA,IACAiU,EAAAp6Y,GAAAhC,KAKA,OACAk8Y,WACAC,YACAC,eAGAx9V,OAAA,SAAAgrF,EAAAmD,EAAAvsF,GAEA,IAAAq7V,EAAA9kZ,KAAA8kZ,UAEA,IAAAA,EACA,SAGA,IAAAvuM,EAAAuuM,EAAAvuM,SACAC,EAAAsuM,EAAAtuM,YACA7yL,EAAAmhY,EAAAnhY,MACAuzE,EAAA4tT,EAAA5tT,KAEA,IAAAvzE,IAAAuzE,EACA,SAGA,IAAAiuT,EAAAnvQ,EAAAmvQ,SACAC,EAAApvQ,EAAAovQ,UACA,OAAAO,EAAAR,EAAAxhY,EAAA,aAAAgiY,EAAAR,EAAAxhY,EAAA,YAAAgiY,EAAAR,EAAAxhY,EAAA,2BAAAgiY,EAAAR,EAAAxhY,EAAA,SAAAgiY,EAAAR,EAAAxhY,EAAA,OAAAgiY,EAAAP,EAAA5uM,EAAA,SAAAmvM,EAAAP,EAAA5uM,EAAA,cAAAmvM,EAAAP,EAAA5uM,EAAA,eAAAt/G,EAAAo/G,uBAAAp/G,EAAAo/G,sBAAAzjE,EAAAmD,EAAAqvQ,WAAA9uM,EAAAC,IAEA,SAAAmvM,EAAA3vQ,EAAA6/D,EAAA1sJ,EAAAy8V,GACA,aAAA5vQ,EAAA7sF,IAAA0sJ,EAAA+vM,GAAAz8V,KAAA6sF,EAAA7sF,KAGA08V,aAAA,WAEA7lZ,KAAA8kZ,UAAA,OAQA,IAAAhmG,GAAA,GAMA0lG,GAAA,GAOAvE,GAAA,GAMAj7B,GAAA,GAMAk/B,GAAA,GAMAlE,GAAA,GAMAZ,GAAA,GAKAkF,GAAA,GACAzjJ,GAAA,GACA6gJ,GAAA,GACAoE,GAAA,IAAA9tX,KAAA,EACA+tX,GAAA,IAAA/tX,KAAA,EACAitX,GAAA,qBAEA,SAAAe,GAAAt+R,GACA,IAAAu+R,EAAA,EACAC,EAAA,EACAC,EAAA,EACAC,EAAA,wBAEA,SAAAC,EAAAC,EAAA3uV,GACA,QAAA5sD,EAAA,EAAmBA,EAAAu7Y,EAAA/iZ,OAAmBwH,IAAA,CACtC,IAAAw7Y,EAAAD,EAAAv7Y,GACAw7Y,EAAAH,GAAAzuV,GAIAxwC,EAAAq9X,GAAA,SAAA5wM,EAAA/gE,GACAnrB,EAAA24R,eAAAzqY,GAAAi9H,EAAA,SAAA17H,GACA,GAAAuqY,GAAAh6R,EAAAjiD,QAAAiiD,EAAA0+R,KAAAH,EAAA,CACA,GAAA9uY,KAAA2rY,cACA,OAGA,IAAAtvT,EAAAk0B,EAAA68R,oBAAAptY,GACAqvY,EAAA,GACAr/X,EAAA05O,GAAA,SAAA0lJ,GACAA,IAAA7+R,GAAA6+R,EAAA9gV,QAAAiiD,EAAAjiD,OACA+gV,EAAA7zY,KAAA4zY,KAGAF,EAAAG,EAAAP,GACA9+X,EAAAq/X,EAAA,SAAAD,GACAA,EAAAH,KAAAF,GACAK,EAAAn5S,eAAA5Z,KAGA6yT,EAAAG,EAAAL,QAkBA,SAAAjjY,GAAA06D,EAAAyqO,EAAAvoT,GACA,IAAA2mZ,EAAAC,GAAA9oU,GAEA,GAAA6oU,EACA,OAAAA,EAGA,IAAA/+R,EAAA,IAAAy3R,EAAAvhU,EAAAyqO,EAAAvoT,GAKA,OAJA4nH,EAAAz7F,GAAA,MAAA65X,KACAjlJ,GAAAn5I,EAAAz7F,IAAAy7F,EACA9lG,EAAAq6R,aAAAr+N,EAAAqnU,GAAAv9R,EAAAz7F,IACA+5X,GAAAt+R,GACAA,EAOA,SAAA6iM,GAAAh1O,GAEA,GAAA/1E,EAAAwJ,QAAAusE,GAAA,CACA,IAAA+wU,EAAA/wU,EACAA,EAAA,KAEApuD,EAAAm/X,EAAA,SAAA5+R,GACA,MAAAA,EAAAjiD,QACA8P,EAAAmyC,EAAAjiD,SAGA8P,KAAA,KAAAwwU,KACA5+X,EAAAm/X,EAAA,SAAA5+R,GACAA,EAAAjiD,MAAA8P,IAKA,OADAmsU,GAAAnsU,IAAA,EACAA,EAQA,SAAAi1O,GAAAj1O,GACAmsU,GAAAnsU,IAAA,EAOA,IAAAsxO,GAAA2D,GAMA,SAAA10S,GAAA4xG,GACA,kBAAAA,EACAA,EAAAm5I,GAAAn5I,GACGA,aAAAy3R,IAEHz3R,EAAAg/R,GAAAh/R,IAGAA,aAAAy3R,IAAAz3R,EAAA0+J,cACA1+J,EAAA5xG,UASA,SAAA4wY,GAAA9oU,GACA,OAAAijL,GAAAj/O,EAAA6hH,aAAA7lD,EAAAqnU,KAQA,SAAA0B,GAAA17Y,GACA,OAAA41P,GAAA51P,GAOA,SAAAw/S,GAAAn8S,EAAA+5S,GACA+2F,GAAA9wY,GAAA+5S,EAQA,SAAA/oT,GAAAsnZ,GACA5hC,GAAAryW,KAAAi0Y,GAQA,SAAAvnZ,GAAAwnZ,EAAAC,GACAC,GAAA9G,GAAA4G,EAAAC,EAAA3I,GAQA,SAAAx1R,GAAAq+R,GACA9C,GAAAvxY,KAAAq0Y,GAoBA,SAAA16X,GAAA28N,EAAA1wO,EAAAi7E,GACA,oBAAAj7E,IACAi7E,EAAAj7E,EACAA,EAAA,IAGA,IAAAq7L,EAAAhqM,EAAAq/O,KAAA9oP,KAAA,CAAA8oP,IAAA,CACA9xO,MAAAoB,IACG,GAEH0wO,EAAA9xO,OAAA8xO,EAAA9xO,OAAAy8L,GAAAl6E,cACAnhH,EAAA0wO,EAAA9xO,MAEAizC,EAAA40V,EAAAxwN,KAAAolB,IAAAorM,EAAAxwN,KAAAj2K,IAEAumS,GAAAlrG,KACAkrG,GAAAlrG,GAAA,CACApgH,SACAy1J,eAIAu7J,GAAAjsY,GAAAq7L,EAQA,SAAAn0F,GAAAt/G,EAAA24N,GACAupB,EAAArqF,SAAA73J,EAAA24N,GASA,SAAAzxI,GAAAlnF,GACA,IAAA8mZ,EAAA5kK,EAAA58O,IAAAtF,GAEA,GAAA8mZ,EACA,OAAAA,EAAAnvK,kBAAAmvK,EAAAnvK,oBAAAmvK,EAAAxuU,WAAAv5C,QAaA,SAAA9/B,GAAAynZ,EAAAK,GACAH,GAAA/G,GAAA6G,EAAAK,EAAA7I,EAAA,UAQA,SAAAl/Y,GAAA0nZ,EAAAM,GACAJ,GAAA/G,GAAA6G,EAAAM,EAAA5I,EAAA,UAOA,SAAAwI,GAAA77U,EAAA27U,EAAAzjZ,EAAAgkZ,EAAA7+M,IACAv+L,EAAA68Y,IAAAj9Y,EAAAi9Y,MACAzjZ,EAAAyjZ,EACAA,EAAAO,GAGA,IAAAp8H,EAAAZ,EAAAuE,iBAAAvrR,EAAAmlM,GAIA,OAHAyiF,EAAA+0H,OAAA8G,EACA77H,EAAAq8H,MAAAjkZ,EACA8nE,EAAAv4D,KAAAq4Q,GACAA,EAOA,SAAAs8H,GAAAh5Y,EAAAi5Y,GACAjD,GAAAh2Y,GAAAi5Y,EAQA,SAAApxQ,GAAAr2I,GAQA,OAAA+hB,EAAAnd,OAAA5E,GAQA,SAAAq6I,GAAAr6I,GAQA,OAAA4L,EAAAhH,OAAA5E,GAQA,SAAAq5K,GAAAr5K,GASA,OAAA8iB,EAAAle,OAAA5E,GAQA,SAAA01K,GAAA11K,GASA,OAAAkwM,EAAAtrM,OAAA5E,GAoBA,SAAA0nZ,GAAAC,GACAjoZ,EAAA6O,UAAA,eAAAo5Y,GA8BA,SAAAp4M,GAAA6xF,EAAArlL,EAAA2D,GACAw7R,EAAA3rM,YAAA6xF,EAAArlL,EAAA2D,GAQA,SAAAzD,GAAAmlL,GAEA,IAAAv9C,EAAAq3J,EAAAM,YAAAp6G,GACA,OAAAv9C,KAAA,KACA9nI,QAAA8nI,EAAA,GAAA09C,QACA7hL,aAAAmkI,EAAA,GAAAnkI,cAIArgH,GAAAm/Y,EAAAR,GACAx+Y,GAAAJ,GACAG,GAAA++Y,EAAAp2T,GACAs/T,GAAA,UAAAvJ,GAEAzxX,GAAA,CACAnsB,KAAA,YACAgX,MAAA,YACAoV,OAAA,aACC/sB,EAAAwrD,MACD1+B,GAAA,CACAnsB,KAAA,WACAgX,MAAA,WACAoV,OAAA,YACC/sB,EAAAwrD,MAEDy/P,GAAA,QAAAuzF,GACAvzF,GAAA,OAAAwzF,GAGA,IAAAyJ,GAAA,GACA/kZ,EAAAmjH,UACAnjH,EAAAojH,eACApjH,EAAAgyQ,WACAhyQ,EAAAugB,QACAvgB,EAAA4nT,WACA5nT,EAAA6nT,cACA7nT,EAAAkkT,cACAlkT,EAAAmT,WACAnT,EAAA+jZ,oBACA/jZ,EAAAgkZ,mBACAhkZ,EAAA8nT,iBACA9nT,EAAArD,wBACAqD,EAAAtD,qBACAsD,EAAAgmH,sBACAhmH,EAAA2pB,kBACA3pB,EAAA88G,4BACA98G,EAAA0kF,iCACA1kF,EAAAvD,kBACAuD,EAAAxD,kBACAwD,EAAA2kZ,mBACA3kZ,EAAAwzI,wBACAxzI,EAAAw3I,uBACAx3I,EAAAw2K,qBACAx2K,EAAA6yK,mBACA7yK,EAAA6kZ,oBACA7kZ,EAAA0sM,eACA1sM,EAAAo5G,UACAp5G,EAAA+kZ,YACA,IAAAC,GAAmB9oZ,EAAQ,SAC3B,WACA,QAAAoM,KAAA08Y,GACAA,GAAAz8Y,eAAAD,KACAtI,EAAAsI,GAAA08Y,GAAA18Y,KAHA,yBC5pEA,IAAAxL,EAAkBZ,EAAQ,QAE1B6wM,EAAkB7wM,EAAQ,QAoB1B+oZ,EAAA,sBACAnlZ,EAAA,CAMAo8M,aAAA,SAAAr1G,GACA,IAAAjvF,EAAAva,KAAAua,QACA,OAAAva,KAAAmoB,WAAA,YAAAqhF,GAAAjvF,IAAA9U,IAAAmiZ,GAAA,OAOA1zM,QAAA,WACA,OAAAxE,EAAAwE,QAAA,CACAtgM,UAAA5T,KAAAmoB,WAAA,aACAtU,WAAA7T,KAAAmoB,WAAA,cACAzU,SAAA1T,KAAAmoB,WAAA,YACAxU,WAAA3T,KAAAmoB,WAAA,eACKnoB,KAAAua,UAEL8tI,YAAA,SAAArnJ,GACA,OAAAvB,EAAA8B,gBAAAP,EAAAhB,KAAAk0M,UAAAl0M,KAAAmoB,WAAA,SAAAnoB,KAAAmoB,WAAA,kBAAAnoB,KAAAmoB,WAAA,YAAAnoB,KAAAmoB,WAAA,WAAAnoB,KAAAmoB,WAAA,cAAAnoB,KAAAmoB,WAAA,QAAAnoB,KAAAmoB,WAAA,mBAGAzlB,EAAAC,QAAAF,wBClDA,IAAA7D,EAAcC,EAAQ,QAEtBmrR,EAAmBnrR,EAAQ,QAE3BA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAwBRD,EAAAU,qBAAA0qR,yBCpCA,IAAAxqR,EAAaX,EAAQ,QAErB+vH,EAAgB/vH,EAAQ,QAExBupF,EAAWvpF,EAAQ,QAEnB2nJ,EAAiB3nJ,EAAQ,QAEzBqF,EAAcrF,EAAQ,QAEtBy/T,EAAmBz/T,EAAQ,QAE3B0/T,EAAiB1/T,EAAQ,QAqBzBgpZ,EAAA,SAAAvtY,EAAArV,EAAA6iZ,EAAAjjV,GACA,IAAAkxC,EAAAuoN,EAAAY,cAAA5kT,EAAAuqD,EAAA,IACAmxC,EAAAsoN,EAAAY,cAAA5kT,EAAAuqD,EAAA,IACAhoC,EAAAr9B,EAAAq9B,SAEAkrX,EAAAhyS,EAAAx1F,MACAynY,EAAAhyS,EAAAz1F,MACAwnY,EAAA,GAAAlrX,EAAAkrX,EAAA,IAAAjuY,KACAiuY,EAAA,GAAAlrX,EAAAkrX,EAAA,IAAAjuY,KACAkuY,EAAA,GAAAnrX,EAAAmrX,EAAA,GAAAluY,KACAkuY,EAAA,GAAAnrX,EAAAmrX,EAAA,GAAAluY,KAEA,IAAApW,EAAAlE,EAAAmpD,SAAA,IAAkCotD,EAAAC,IAMlC,OALAtyG,EAAA6c,MAAA,CAAAw1F,EAAAx1F,MAAAy1F,EAAAz1F,OACA7c,EAAAk4D,GAAAm6C,EAAA/zG,EACA0B,EAAAm4D,GAAAk6C,EAAA9zG,EACAyB,EAAAksD,GAAAomD,EAAAh0G,EACA0B,EAAAmsD,GAAAmmD,EAAA/zG,EACAyB,GAGA,SAAAy7T,EAAAl2T,GACA,OAAA2Q,MAAA3Q,KAAA8Q,SAAA9Q,GAIA,SAAAm2T,EAAAr4T,EAAAs4T,EAAA3wG,EAAAzpN,GACA,IAAAq6T,EAAA,EAAAv4T,EACA,OAAAo4T,EAAAE,EAAAC,KAAAH,EAAAzwG,EAAA4wG,IAGA,SAAA2oF,EAAAhjZ,EAAA4/D,GACA,IAAAw6P,EAAAx6P,EAAAtkD,MAAA,GACAmuM,EAAA7pJ,EAAAtkD,MAAA,GAEA,wBAAAtb,EAAA9E,OAOAk/T,IAAA3wG,IAAA0wG,EAAA,EAAAC,EAAA3wG,EAAAzpN,KAAAm6T,EAAA,EAAAC,EAAA3wG,EAAAzpN,MAKAq5T,EAAAr/T,WAAAgG,EAAA,CACAsb,MAAA8+S,EACAr9T,EAAA6iE,EAAAjJ,GACA35D,EAAA4iE,EAAAhJ,MACGyiQ,EAAAr/T,WAAAgG,EAAA,CACHsb,MAAAmuM,EACA1sN,EAAA6iE,EAAAjV,GACA3tD,EAAA4iE,EAAAhV,MAKA,SAAAq4V,EAAA38Y,EAAAoS,EAAAwpE,EAAA7sE,EAAAvV,GACA,IAEA8kE,EAFA5kE,EAAAqV,EAAApV,iBACAgmB,EAAA3f,EAAA4f,aAAAxN,GAEA+hT,EAAAl5K,EAAA1kE,aAAA52D,EAAAzlB,IAAA0hF,EAAA,IAAApiF,EAAAwJ,YACAoxT,EAAAn5K,EAAA1kE,aAAA52D,EAAAzlB,IAAA0hF,EAAA,IAAApiF,EAAAu5D,aAEA,GAAA1kD,MAAA8lT,IAAA9lT,MAAA+lT,GAEG,CAEH,GAAArlT,EAAAslT,kBAEA/1P,EAAAvvD,EAAAslT,kBAAAr0T,EAAAy9Q,UAAA7hM,EAAAxpE,QACK,CACL,IAAA3b,EAAAuJ,EAAA9F,IAAA0hF,EAAA,GAAAxpE,GACA1b,EAAAsJ,EAAA9F,IAAA0hF,EAAA,GAAAxpE,GACAklG,EAAA,CAAA7gH,EAAAC,GACAgD,EAAAs7W,WAAAt7W,EAAAs7W,UAAA19P,KACAh5C,EAAA5kE,EAAAM,YAAAs9G,GAAA,GAGA,mBAAA59G,EAAA9E,KAAA,CACA,IAAA0gF,EAAA57E,EAAAg3I,QAAA,KACAr7D,EAAA37E,EAAAg3I,QAAA,KACAj6I,EAAAuJ,EAAA9F,IAAA0hF,EAAA,GAAAxpE,GACA1b,EAAAsJ,EAAA9F,IAAA0hF,EAAA,GAAAxpE,GAEAwhT,EAAAn9T,GACA6nE,EAAA,GAAAgX,EAAAupJ,cAAAvpJ,EAAA7lE,YAAA,OAAAmsE,EAAA,SACOg4O,EAAAl9T,KACP4nE,EAAA,GAAA+W,EAAAwpJ,cAAAxpJ,EAAA5lE,YAAA,OAAAmsE,EAAA,UAKAvtE,MAAA8lT,KACA71P,EAAA,GAAA61P,GAGA9lT,MAAA+lT,KACA91P,EAAA,GAAA81P,QAjCA91P,EAAA,CAAA61P,EAAAC,GAqCA,OAAA91P,EAGA,IAAAs+U,EAAA,kDAoHA,SAAAhhO,EAAAliL,EAAAqV,EAAAwtY,GACA,IAAAtnF,EACA4nF,EACAjhU,EAAA,sBAEAliF,GACAu7T,EAAAhhU,EAAA4N,IAAAnI,KAAAwzE,WAAA,SAAAhwD,GACA,IAAAld,EAAA+O,EAAAE,UACA63L,EAAA9mM,EAAA8a,iBAAA9a,EAAA8P,aAAAoN,KAAA,GAEA,OAAAjpB,EAAA8V,SAAA,CACAhH,KAAAma,GACO4pL,KAEP+1M,EAAA,IAAAhgU,EAAA5oF,EAAA4N,IAAA+5E,EAAA,SAAA7rE,EAAAqC,GACA,OACArP,KAAAgN,EACAnb,KAAAqgU,EAAA7iT,EAAA,GAAAxd,QAEK2nZ,KAELtnF,EAAA,EACAlyT,KAAA,QACAnO,KAAA,UAEAioZ,EAAA,IAAAhgU,EAAAo4O,EAAAsnF,IAGA,IAAArnF,EAAAjhU,EAAA4N,IAAA06Y,EAAAriZ,IAAA,QAAAjG,EAAAmqB,MAAAk+X,EAAAvtY,EAAArV,EAAA6iZ,IAEA7iZ,IACAw7T,EAAAjhU,EAAAqoD,OAAA44Q,EAAAjhU,EAAAmqB,MAAAs+X,EAAAhjZ,KAGA,IAAAq/R,EAAAr/R,EAAA,SAAA4/D,EAAA6T,EAAAjzD,EAAA1e,GACA,OAAA89D,EAAAtkD,MAAA7Z,KAAAmK,MAAA9J,EAAA,IAAAA,EAAA,IACG,SAAA89D,GACH,OAAAA,EAAA5gE,OAIA,OAFAmkZ,EAAA9/T,SAAAm4O,EAAA,KAAAn8B,GACA8jH,EAAAt9X,eAAA,EACAs9X,EA5JA7pF,EAAA75T,OAAA,CACAvE,KAAA,WAkBAmiH,gBAAA,SAAA+lS,EAAA9tY,EAAAxV,GACAwV,EAAAkkG,WAAA,SAAAnkG,GACA,IAAAwtY,EAAAxtY,EAAA+tY,cAEA,GAAAP,EAAA,CACA,IAAAM,EAAAN,EAAAttY,UACA4tY,EAAAjhY,KAAA,SAAAxJ,GACA,IAAA+pD,EAAAloE,EAAA4N,IAAA+6Y,EAAA,SAAA7sY,GACA,OAAA4sY,EAAAE,EAAAzqY,EAAArC,EAAAhB,EAAAvV,KAGAqjZ,EAAA30O,cAAA91J,EAAA+pD,GACA,IAAA32B,EAAAq3W,EAAAj6N,iBAAAxwK,GACAozB,EAAA2oK,SAAA,SAAAhyI,OAGK1nE,OAELkgU,aAAA,SAAA5lT,EAAAwtY,EAAAvtY,EAAAxV,GACA,IAAAE,EAAAqV,EAAApV,iBACA4sL,EAAAx3K,EAAA2R,GACAwpS,EAAAn7S,EAAAE,UACA8tY,EAAAtoZ,KAAAigU,eACAsoF,EAAAD,EAAA7iZ,IAAAqsL,IAAAw2N,EAAAl1X,IAAA0+J,EAAA,CACArsH,MAAA,IAAAvhE,EAAA80M,QAEAh5M,KAAAylE,MAAAloC,IAAAgrX,EAAA9iV,OACA8iV,EAAAhoF,QAAA,EACA,IAAA6nF,EAAAjhO,EAAAliL,EAAAqV,EAAAwtY,GAEAA,EAAA3sY,QAAAitY,GAEAA,EAAAjhY,KAAA,SAAAxJ,GAEAyqY,EAAA30O,cAAA91J,EAAAne,EAAA4N,IAAA+6Y,EAAA,SAAA7sY,GACA,OAAA4sY,EAAAE,EAAAzqY,EAAArC,EAAAhB,EAAAvV,MAGAqjZ,EAAAn9X,cAAAtN,EAAA,CACAmJ,MAAA2uS,EAAAl4S,UAAA,aAGA6qY,EAAAxrY,KAAA2rY,EAAAC,QAAAjrX,IAAA,SAAA5f,GACA,IAAAqnF,EAAA,IAAA9gG,EAAA+0M,QAAA,CACArxM,MAAA,CACA8/D,OAAA0gV,EAAA3yO,cAAA93J,MAGAyqY,EAAA7zM,iBAAA52L,EAAAqnF,GACAujT,EAAA9iV,MAAAloC,IAAAynE,KACKz4E,OAAA,SAAAypL,EAAAC,GACL,IAAAjxG,EAAAujT,EAAAC,OAAAr6N,iBAAA8nB,GAEA/xM,EAAAkuM,YAAAptG,EAAA,CACAp9F,MAAA,CACA8/D,OAAA0gV,EAAA3yO,cAAAugC,KAEO8xM,EAAA9xM,GACPuyM,EAAA9iV,MAAAloC,IAAAynE,GACAojT,EAAA7zM,iBAAAyB,EAAAhxG,KACKx4F,OAAA,SAAAmR,GACL,IAAAqnF,EAAAujT,EAAAC,OAAAr6N,iBAAAxwK,GAEA4qY,EAAA9iV,MAAAj5D,OAAAw4F,KACKywG,UACL2yM,EAAAxzL,kBAAA,SAAA5vH,EAAArnF,GACA,IAAAuN,EAAAk9X,EAAAj9X,aAAAxN,GACA+rF,EAAAx+E,EAAAyP,SAAA,SACAs/K,EAAA/uL,EAAAyP,SAAA,kBACA7T,EAAAshY,EAAA5gY,cAAA7J,EAAA,SACAqnF,EAAAitG,SAAAzyM,EAAA8V,SAAA4V,EAAAyP,SAAA,aAAA4wE,eAAA,CACA7qG,KAAAkuH,EAAAiM,YAAA/zG,EAAA,IACAnmB,OAAAmmB,KAEAk+E,EAAA40G,WAAA1uL,EAAAyP,SAAA,sBAAA4wE,eACArnG,EAAAk2M,cAAAp1G,EAAAzkG,MAAAykG,EAAA40G,WAAAlwG,EAAAuwG,EAAA,CACAI,aAAAytM,EACAxtM,eAAA38L,EACA48L,YAAA6tM,EAAAxgY,QAAAjK,IAAA,GACAq2L,YAAA,EACAD,UAAAjtL,IAEA5iB,EAAA41M,cAAA90G,EAAA,IACAA,EAAAi/G,UAAA6jM,IAEAS,EAAAC,OAAAJ,EACAG,EAAA9iV,MAAA4hD,OAAAygS,EAAAriZ,IAAA,WAAA6U,EAAA7U,IAAA,iCCpOA,IAAAgjZ,EAAA,CACA7wQ,YAAA,EACAtxH,QAAA,EACAlmB,MAAA,GAOA,SAAA0pW,EAAA3zV,EAAApR,EAAA2jZ,GACA,IAAA/kY,EAAA5e,EAAA6/Y,sBAAAzuY,EAAA4gW,WAEA9xW,EAAA0e,KAAAze,iBACA,OAAAye,OAAA+kY,IAAAD,EAAA9kY,EAAAqI,WAAA/mB,KAAA0e,QAAA+kY,EAGA/lZ,EAAAmnW,4CCnCA,IAAA+c,EAAiBhoX,EAAQ,QAEzBknN,EAAiBlnN,EAAQ,QAEzBmjB,EAAcnjB,EAAQ,QAEtBykF,EAAAthE,EAAAshE,cAEA31E,EAAY9O,EAAQ,QAEpBsoB,EAAAxZ,EAAAwZ,KAgCA,SAAA08W,EAAAh/X,EAAA0V,EAAAxV,GAKA/E,KAAAszK,UAAA,SAQAtzK,KAAAy4E,WAAA,WAMAz4E,KAAAmpN,MAAA,KAMAnpN,KAAAwB,MAEAxB,KAAAm2S,MAAAtxS,EAAA0V,EAAAxV,GAMA/E,KAAA2jB,MAAA9e,EAGAg/X,EAAA5jY,UAAA,CACAE,KAAA,aACA4uX,oBAAA,EACA7uX,YAAA2jY,EAUA1tF,MAAA,SAAAtxS,EAAA0V,EAAAxV,GACA,IAAAuW,EAAAtb,KAAAszK,UACAtuK,EAAA,IAAA6hX,EAAAvrW,EAAAyqM,EAAAO,mBAAAzhN,GAAA,MAAAA,EAAAY,IAAA,QAAAZ,EAAAY,IAAA,aACAk/I,EAAA,aAAA3/I,EAAA7E,KACA6E,EAAA4/I,OAAAD,GAAA9/I,EAAAY,IAAA,eACAT,EAAA6/C,QAAAhgD,EAAAY,IAAA,WACAT,EAAAk9E,OAAAr9E,EAAAY,IAAA,UACAZ,EAAAG,OACAA,EAAA2e,MAAA9e,EACAG,EAAAE,iBAAAlF,KACAA,KAAAmpN,MAAAnkN,GAQAunB,OAAA,SAAAhS,EAAAxV,GACAwV,EAAAkkG,WAAA,SAAAnkG,GACA,GAAAA,EAAApV,mBAAAlF,KAAA,CACA,IAAAuL,EAAA+O,EAAAE,UACA2M,EAAA5b,EAAA8P,aAAArb,KAAAszK,WAAA,YAAAh4J,GACAtb,KAAAmpN,MAAApxM,MAAAiiN,oBAAAzuN,EAAA+P,IACStb,MACT+lN,EAAAQ,gBAAAvmN,KAAAmpN,MAAApxM,MAAA/X,KAAAmpN,MAAAxlM,SAEK3jB,OASLq+D,OAAA,SAAAx5D,EAAAE,GACA/E,KAAAwB,MAAA8hF,EAAA,CACAh0C,KAAAzqC,EAAAY,IAAA,QACAgqC,IAAA5qC,EAAAY,IAAA,OACA8pC,MAAA1qC,EAAAY,IAAA,SACA+pC,OAAA3qC,EAAAY,IAAA,UACAnD,MAAAuC,EAAAY,IAAA,SACAlD,OAAAsC,EAAAY,IAAA,WACK,CACLnD,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,cAGAt+D,KAAA2oZ,eAMAxgZ,QAAA,WACA,OAAAnI,KAAAwB,OAMAmnZ,YAAA,WACA,IAAAlnZ,EAAAzB,KAAAwB,MACAwD,EAAAhF,KAAAmpN,MACAjhN,EAAAlD,EAAAkD,eACA6S,EAAA7S,EAAA,GAAAzG,EAAAa,OAAA,GAAAb,EAAAc,QACAob,EAAA3Y,EAAAwnJ,QAAA,IACAxnJ,EAAAs5G,UAAAvjG,EAAA4C,GAAA5C,EAAA,EAAA4C,IAEA3d,KAAA4oZ,qBAAA5jZ,EAAAkD,EAAAzG,EAAAO,EAAAP,EAAAQ,IAOA2mZ,qBAAA,SAAA5jZ,EAAA6pX,GACA,IAAA7nX,EAAAhC,EAAAgW,YACA6tY,EAAA7hZ,EAAA,GAAAA,EAAA,GACAkB,EAAAlD,EAAAkD,eACAlD,EAAAolO,cAAAliO,EAAA,SAAAqY,GACA,OAAAA,EAAAsuW,GACK,SAAAtuW,GACL,OAAAsoY,EAAAtoY,EAAAsuW,GAEA7pX,EAAAmtR,aAAAjqR,EAAA,SAAAqY,GACA,OAAAA,EAAAsuW,GACK,SAAAtuW,GACL,OAAAsoY,EAAAtoY,EAAAsuW,IASA5yO,QAAA,WACA,OAAAj8I,KAAAmpN,OAQAvuM,YAAA,WACA,OAAA5a,KAAAmpN,OAMArjE,QAAA,WACA,OAAA9lJ,KAAAmpN,QAMAymK,eAAA,WACA,OACAC,SAAA,CAAA7vX,KAAAi8I,aAUAtnF,aAAA,SAAAkV,GACA,IAAApoE,EAAAzB,KAAAmI,UACAnD,EAAAhF,KAAAi8I,UACA/5D,EAAAl9E,EAAAk9E,OAEA,qBAAAA,EACAl9E,EAAAsb,QAAAtb,EAAAmtR,aAAAtoN,EAAA,MAAAA,EAAA,IAAApoE,EAAAQ,GAAA4nE,EAAA,IAAApoE,EAAAQ,EAAAR,EAAAc,OAEAyC,EAAAsb,QAAAtb,EAAAmtR,aAAAtoN,EAAA,MAAAA,EAAA,IAAApoE,EAAAQ,GAAA4nE,EAAA,IAAApoE,EAAAQ,EAAAR,EAAAc,QAQA8+G,YAAA,SAAAx3C,GACA,IAAA7kE,EAAAhF,KAAAi8I,UACA,OAAAj3I,EAAA0gJ,YAAA1gJ,EAAAmtR,aAAAtoN,EAAA,eAAA7kE,EAAAk9E,OAAA,SASA38E,YAAA,SAAA0D,GACA,IAAAjE,EAAAhF,KAAAi8I,UACAx6I,EAAAzB,KAAAmI,UACA06G,EAAA,GACAllG,EAAA,eAAA3Y,EAAAk9E,OAAA,IAQA,OANAj5E,aAAAuU,QACAvU,IAAA,IAGA45G,EAAAllG,GAAA3Y,EAAAolO,cAAAplO,EAAAo8G,aAAAn4G,IACA45G,EAAA,EAAAllG,GAAA,IAAAA,EAAAlc,EAAAQ,EAAAR,EAAAc,OAAA,EAAAd,EAAAO,EAAAP,EAAAa,MAAA,EACAugH,IAGA,IAAApgH,EAAAohY,EACAnhY,EAAAC,QAAAF,wBC/RA,IAAAsR,EAAelV,EAAQ,QAEvB8D,EAAAgnM,WAAA51L,EAEA,IAAAuN,EAAUziB,EAAQ,QAOlBiqZ,EAAA,qBAAAn+Y,iBAAAkzE,iBACAkrU,EAAA,iDAEA,SAAAv7I,EAAAz8N,GAEA,OAAAA,EAAAy8N,sBAAAz8N,EAAAy8N,wBAAA,CACAl+N,KAAA,EACAG,IAAA,GAKA,SAAAu5W,EAAAj4W,EAAA56B,EAAAkpB,EAAA4pX,GAiCA,OAhCA5pX,KAAA,GAWA4pX,IAAA3nY,EAAA2gN,gBACAinL,EAAAn4W,EAAA56B,EAAAkpB,GAQA/d,EAAAghR,QAAA+5D,SAAA,MAAAlmV,EAAAgzY,QAAAhzY,EAAAgzY,SAAAhzY,EAAAI,SACA8oB,EAAAwpG,IAAA1yH,EAAAgzY,OACA9pX,EAAAypG,IAAA3yH,EAAAizY,QAEA,MAAAjzY,EAAAI,SACA8oB,EAAAwpG,IAAA1yH,EAAAI,QACA8oB,EAAAypG,IAAA3yH,EAAAK,SAGA0yY,EAAAn4W,EAAA56B,EAAAkpB,GAGAA,EAGA,SAAA6pX,EAAAn4W,EAAA56B,EAAAkpB,GAEA,IAAAyjD,EAAA0qL,EAAAz8N,GACA1R,EAAAwpG,IAAA1yH,EAAAkzY,QAAAvmU,EAAAxzC,KACAjQ,EAAAypG,IAAA3yH,EAAAmzY,QAAAxmU,EAAArzC,IAQA,SAAAmlS,EAAA7jS,EAAA56B,EAAA8yY,GAGA,GAFA9yY,KAAAxL,OAAAwM,MAEA,MAAAhB,EAAA0yH,IACA,OAAA1yH,EAGA,IAAA08H,EAAA18H,EAAAhW,KACAopZ,EAAA12Q,KAAAznG,QAAA,YAEA,GAAAm+W,EAGG,CACH,IAAAC,EAAA,aAAA32Q,EAAA18H,EAAAgrE,cAAA,GAAAhrE,EAAAszY,eAAA,GACAD,GAAAR,EAAAj4W,EAAAy4W,EAAArzY,EAAA8yY,QAJAD,EAAAj4W,EAAA56B,IAAA8yY,GACA9yY,EAAA6gW,QAAA7gW,EAAAsB,WAAAtB,EAAAsB,WAAA,MAAAtB,EAAAorE,QAAA,KAUA,IAAAH,EAAAjrE,EAAAirE,OAUA,OARA,MAAAjrE,EAAA+oP,YAAA52P,IAAA84E,GAAA2nU,EAAAv6N,KAAAr4K,EAAAhW,QACAgW,EAAA+oP,MAAA,EAAA99K,EAAA,IAAAA,EAAA,IAAAA,EAAA,KAOAjrE,EASA,SAAA0nE,EAAA9sC,EAAAziC,EAAAwlF,GACAg1T,EAqBA/3W,EAAA8sC,iBAAAvvE,EAAAwlF,GAEA/iD,EAAA2lO,YAAA,KAAApoQ,EAAAwlF,GAIA,SAAA9V,EAAAjtC,EAAAziC,EAAAwlF,GACAg1T,EACA/3W,EAAAitC,oBAAA1vE,EAAAwlF,GAEA/iD,EAAA41Q,YAAA,KAAAr4S,EAAAwlF,GAcA,IAAA58E,EAAA4xY,EAAA,SAAA3yY,GACAA,EAAAmrE,iBACAnrE,EAAA4hQ,kBACA5hQ,EAAAy2G,cAAA,GACC,SAAAz2G,GACDA,EAAAuzY,aAAA,EACAvzY,EAAAy2G,cAAA,GAUA,SAAAx2G,EAAAD,GACA,WAAAA,EAAA+oP,OAAA,IAAA/oP,EAAA+oP,MAQA,SAAAyqJ,EAAAxzY,GAEA,OAAAA,EAAA+oP,MAAA,EAIAv8P,EAAAqmZ,gBACArmZ,EAAAiyU,iBACAjyU,EAAAk7E,mBACAl7E,EAAAq7E,sBACAr7E,EAAAuU,OACAvU,EAAAyT,qCACAzT,EAAAgnZ,qCC/KA,IAAAh8Y,EAAY9O,EAAQ,QAEpBsoB,EAAAxZ,EAAAwZ,KAEA6xL,EAAYn6M,EAAQ,QAEpB+qZ,EAAoB/qZ,EAAQ,QAE5BqqX,EAAgBrqX,EAAQ,QAExB+iB,EAAgB/iB,EAAQ,QAExBsjB,EAAYtjB,EAAQ,QAEpBujB,EAAAD,EAAAC,WAEAgrL,EAA0BvuM,EAAQ,QAoBlC6jB,EAAAd,EAAAe,YACAknY,EAAAz8M,IAEA,SAAA08M,IAKA9pZ,KAAAylE,MAAA,IAAAuzI,EAMAh5M,KAAAgqB,IAAA4/X,EAAAj6L,OAAA,aACA3vN,KAAA0sR,WAAAtqQ,EAAA,CACAirL,KAAA08M,EACA1vY,MAAA2vY,IAEAhqZ,KAAA0sR,WAAAhpQ,QAAA,CACAwzE,KAAAl3F,MAIA8pZ,EAAA7pZ,UAAA,CACAE,KAAA,QAOA+iB,KAAA,SAAA3I,EAAAxV,KASAmuD,OAAA,SAAA54C,EAAAC,EAAAxV,EAAAynB,KASAg3E,UAAA,SAAAlpF,EAAAC,EAAAxV,EAAAynB,GACAy9X,EAAA3vY,EAAAE,UAAAgS,EAAA,aAUA+2E,SAAA,SAAAjpF,EAAAC,EAAAxV,EAAAynB,GACAy9X,EAAA3vY,EAAAE,UAAAgS,EAAA,WAQAhgB,OAAA,SAAA+N,EAAAxV,GACA/E,KAAAylE,MAAApB,aAQAvuD,QAAA,aASAkmK,yBAAA,KAUAC,kBAAA,KAUA35D,gBAAA,KAiBAg0F,sBAAA,MAEA,IAAA4zM,EAAAJ,EAAA7pZ,UAYA,SAAAkqZ,EAAAp5W,EAAAo3J,GACA,GAAAp3J,IACAA,EAAA35B,QAAA+wL,GAEA,UAAAp3J,EAAA5wC,MACA,QAAA4K,EAAA,EAAqBA,EAAAgmC,EAAA60V,aAAqB76X,IAC1Co/Y,EAAAp5W,EAAA6gC,QAAA7mE,GAAAo9L,GAYA,SAAA8hN,EAAA1+Y,EAAAihB,EAAA27K,GACA,IAAA1iL,EAAA7D,EAAAkb,eAAAvxB,EAAAihB,GAEA,MAAA/G,EACA0B,EAAAvF,EAAAmuD,iBAAAtqD,GAAA,SAAAsxJ,GACAozO,EAAA5+Y,EAAA4iL,iBAAApX,GAAAoxB,KAGA58L,EAAAqpN,kBAAA,SAAA7jL,GACAo5W,EAAAp5W,EAAAo3J,KAgBA,SAAA4hN,EAAArmY,GACA,OAAAmmY,EAAAnmY,EAAAC,OAGA,SAAAqmY,EAAAtmY,GACA,IAAApJ,EAAAoJ,EAAAC,MACApJ,EAAAmJ,EAAAnJ,QACAxV,EAAA2e,EAAA3e,IACAynB,EAAA9I,EAAA8I,QAEA6hO,EAAA/zO,EAAA0O,gBAAAqlO,kBACAn3J,EAAAxzE,EAAAwzE,KACA89H,EAAAxoM,GAAA9J,EAAA8J,GAAAwoM,aACAvrM,EAAA4kO,EAAA,2BAAAr5B,GAAA99H,EAAA89H,KAEA,SAMA,MAJA,WAAAvrM,GACAytE,EAAAztE,GAAAnP,EAAAC,EAAAxV,EAAAynB,GAGA49X,EAAA3gY,GA1EAygY,EAAA38S,WAAA28S,EAAA58S,aAAA48S,EAAA1H,aAAA,SAAAloY,EAAAC,EAAAxV,EAAAynB,GACAxsB,KAAAkzD,OAAA54C,EAAAC,EAAAxV,EAAAynB,IA0CA08V,EAAAz6L,kBAAAq7N,EAAA,aAEA5gC,EAAAj6L,sBAAA66N,EAAA,CACAj6N,oBAAA,IAGAi6N,EAAAvH,iBAAA,SAAA/1X,EAAA/C,GACA/G,EAAA8J,GAAAwoM,aAAAvrM,GA2BA,IAAA2gY,EAAA,CACApuO,yBAAA,CACAZ,SAAA,SAAAp2J,EAAAtB,GACAA,EAAAwzE,KAAA+kF,kBAAAj3J,EAAAtB,EAAAC,MAAAD,EAAAnJ,QAAAmJ,EAAA3e,IAAA2e,EAAA8I,WAGA0mC,OAAA,CAKAohM,oBAAA,EACAl5E,SAAA,SAAAp2J,EAAAtB,GACAA,EAAAwzE,KAAAhkC,OAAAxvC,EAAAC,MAAAD,EAAAnJ,QAAAmJ,EAAA3e,IAAA2e,EAAA8I,YAIA/pB,EAAAqnZ,EACApnZ,EAAAC,QAAAF,wBCpQA,IAAAjD,EAAaX,EAAQ,QAoBrBikB,EAAA,CACAo5F,MAAA,EACAC,OAAA,EACAh/E,EAAA,EAEA0nB,SAAA,EAEAv2C,KAAA,GAEAmpI,aAAA,MAEA4yQ,WAAA,KACAC,aAAA,CACAloU,SAAA,KACAxyE,SAAA,MACAS,YAAA,KAGAqnI,cAAA,GAEAC,QAAA,GAEAtwB,QAAA,EAEA2lH,cAAA,EACA1mN,QAAA,CACA41F,MAAA,GAEA07B,YAAA,GACAC,SAAA,CACA37B,MAAA,EACA8tH,QAAA,EACAykJ,gBAAA,KACAh1O,UAAA,CACA3yH,MAAA,OACAxkB,MAAA,EACAnC,KAAA,SAGAsqB,OAAA,gBACAnN,WAAA,SAEAw6H,SAAA,CACA57B,MAAA,EAEA5L,QAAA,EAEA/sG,OAAA,EACAk2I,UAAA,CACAn3I,MAAA,IAGAgzI,UAAA,CACAp5B,MAAA,EAEA5L,QAAA,EACAhgE,OAAA,EAEA2pV,aAAA,KAEAC,aAAA,KACA92S,OAAA,EAEA1vE,SAAA,IAEAgmI,UAAA,CACAx9B,MAAA,EACAu9B,UAAA,CACA3yH,MAAA,SACAxkB,MAAA,EACAnC,KAAA,UAGA43I,UAAA,CACA77B,MAAA,EACAy9B,UAAA,CACA7yH,MAAA,qDAIAq0R,EAAA,GACAA,EAAAnjK,aAAAx4I,EAAA2L,MAAA,CAEA8sI,aAAA,EAQAc,cAAA,KAIAW,UAAA,CACAx9B,MAAA,GAEA47B,SAAA,CAEAI,gBAAA,EACAx7H,SAAA,QAEA44H,UAAA,CACA54H,SAAA,SAECoG,GACDq4R,EAAAtgS,UAAArb,EAAA2L,MAAA,CAGA8sI,YAAA,MAsBAE,YAAA,GAOCr1H,GACDq4R,EAAA/iK,SAAA54I,EAAA8V,SAAA,CACAyC,OAAA,EACA7Q,IAAA,UACAC,IAAA,WACCg0S,EAAAtgS,WACDsgS,EAAA9iK,QAAA74I,EAAA8V,SAAA,CACAyC,OAAA,EACAugI,QAAA,IACC6iK,EAAAtgS,WACD,IAAApY,EAAA04S,EACAz4S,EAAAC,QAAAF,wBC9LA,IAAAu2M,EAAYn6M,EAAQ,QAEpB2/N,EAAa3/N,EAAQ,QAErBgB,EAAWhB,EAAQ,QAEnBs3N,EAAat3N,EAAQ,QAErBowE,EAAWpwE,EAAQ,QAEnB0rZ,EAAc1rZ,EAAQ,QAEtB4uM,EAAW5uM,EAAQ,QAEnB0f,EAAW1f,EAAQ,QAEnBo6M,EAAcp6M,EAAQ,QAEtBs6M,EAAet6M,EAAQ,QAEvBi+M,EAAqBj+M,EAAQ,QAE7BuqP,EAAYvqP,EAAQ,QAEpB+xD,EAAa/xD,EAAQ,QAErB2rZ,EAAY3rZ,EAAQ,QAEpBg8Q,EAAA2vI,EAAA3vI,iBAEAltQ,EAAY9O,EAAQ,QAEpB4K,EAAAkE,EAAAlE,SACA/E,EAAAiJ,EAAAjJ,OACA4Q,EAAA3H,EAAA2H,SACAjL,EAAAsD,EAAAtD,KACA8c,EAAAxZ,EAAAwZ,KAKAsjY,EAAA,SAQA,SAAAC,EAAApiE,GACA,GAAA7+U,EAAA6+U,GAAA,CACA,IAAAqiE,EAAA,IAAAC,UACAtiE,EAAAqiE,EAAAE,gBAAAviE,EAAA,YAIA,IAAAA,EAAA3+R,WACA2+R,IAAAroH,YAIA,cAAAqoH,EAAAjhT,SAAAqyF,eAAA,IAAA4uN,EAAA3+R,SACA2+R,IAAA9/G,YAGA,OAAA8/G,EAGA,SAAAwiE,IACA9qZ,KAAA+qZ,MAAA,GACA/qZ,KAAAgrZ,MAAA,KACAhrZ,KAAAirZ,WAAA,EACAjrZ,KAAAkrZ,SAAA,EAGAJ,EAAA7qZ,UAAAm5B,MAAA,SAAA+xX,EAAA/1Y,GACAA,KAAA,GACA,IAAAkzU,EAAAoiE,EAAAS,GAEA,IAAA7iE,EACA,UAAA36S,MAAA,eAGA,IAAA1gB,EAAA,IAAA+rL,EACAh5M,KAAAgrZ,MAAA/9X,EAEA,IAAAm+X,EAAA9iE,EAAA7kN,aAAA,eAGAnhI,EAAAipC,WAAA+8S,EAAA7kN,aAAA,UAAAruH,EAAA9S,OACAC,EAAAgpC,WAAA+8S,EAAA7kN,aAAA,WAAAruH,EAAA7S,QAEAqX,MAAAtX,OAAA,MACAsX,MAAArX,OAAA,MAEA8oZ,EAAA/iE,EAAAr7T,EAAA,SACA,IAQA23W,EACAC,EATAzyW,EAAAk2T,EAAAroH,WAEA,MAAA7tM,EACApyB,KAAAsrZ,WAAAl5X,EAAAnF,GAEAmF,IAAAo2M,YAMA,GAAA4iL,EAAA,CACA,IAAAG,EAAAlhZ,EAAA+gZ,GAAA38Y,MAAAg8Y,GAEAc,EAAAhoZ,QAAA,IACAqhY,EAAA,CACA5iY,EAAAupC,WAAAggX,EAAA,OACAtpZ,EAAAspC,WAAAggX,EAAA,OACAjpZ,MAAAipC,WAAAggX,EAAA,IACAhpZ,OAAAgpC,WAAAggX,EAAA,MAKA,GAAA3mB,GAAA,MAAAtiY,GAAA,MAAAC,IACAsiY,EAAAZ,EAAAW,EAAAtiY,EAAAC,IAEA6S,EAAAovX,eAAA,CAOA,IAAAM,EAAA73W,EACAA,EAAA,IAAA+rL,EACA/rL,EAAAsQ,IAAAunW,GACAA,EAAA/sX,MAAA8sX,EAAA9sX,MAAAmnB,QACA4lW,EAAAx+X,SAAAu+X,EAAAv+X,SAAA44B,QAkBA,OAZA9pB,EAAAqvX,gBAAA,MAAAniY,GAAA,MAAAC,GACA0qB,EAAAowQ,YAAA,IAAApuN,EAAA,CACArnE,MAAA,CACA5F,EAAA,EACAC,EAAA,EACAK,QACAC,aAMA,CACA0qB,OACA3qB,QACAC,SACAqiY,cACAC,qBAIAimB,EAAA7qZ,UAAAqrZ,WAAA,SAAAE,EAAAC,GACA,IAWA16W,EAXA1J,EAAAmkX,EAAAnkX,SAAAqyF,cAaA,GATA,SAAAryF,EAEArnC,KAAAirZ,WAAA,EACG,SAAA5jX,IACHrnC,KAAAkrZ,SAAA,GAKAlrZ,KAAAirZ,UAAA,CACA,IAAAN,EAAAe,EAAArkX,GAEA,GAAAsjX,EAAA,CACA,IAAA/7I,EAAA+7I,EAAA5qZ,KAAAC,KAAAwrZ,GACAv/X,EAAAu/X,EAAA/nR,aAAA,MAEAx3G,IACAjsB,KAAA+qZ,MAAA9+X,GAAA2iP,QAGG,CACH+7I,EAAAgB,EAAAtkX,GAEAsjX,IACA55W,EAAA45W,EAAA5qZ,KAAAC,KAAAwrZ,EAAAC,GACAA,EAAAluX,IAAAwT,IAIA,IAAA3e,EAAAo5X,EAAAvrL,WAEA,MAAA7tM,EACA,IAAAA,EAAAu3B,UACA3pD,KAAAsrZ,WAAAl5X,EAAA2e,GAIA,IAAA3e,EAAAu3B,UAAA3pD,KAAAkrZ,SACAlrZ,KAAA4rZ,WAAAx5X,EAAA2e,GAGA3e,IAAAo2M,YAIA,SAAAnhM,EACArnC,KAAAirZ,WAAA,EACG,SAAA5jX,IACHrnC,KAAAkrZ,SAAA,IAIAJ,EAAA7qZ,UAAA2rZ,WAAA,SAAAJ,EAAAC,GACA,OAAAD,EAAA7hW,SAAA,CACA,IAAA3yC,EAAAw0Y,EAAA/nR,aAAA,SACAxsH,EAAAu0Y,EAAA/nR,aAAA,SACAzjI,KAAA6rZ,QAAAtgX,WAAAv0B,GACAhX,KAAA8rZ,QAAAvgX,WAAAt0B,GAGA,IAAAjW,EAAA,IAAAnB,EAAA,CACAU,MAAA,CACAS,KAAAwqZ,EAAAtiE,YACA/vU,eAAA,GAEA7S,SAAA,CAAAtG,KAAA6rZ,QAAA,EAAA7rZ,KAAA8rZ,QAAA,KAEAC,EAAAN,EAAAzqZ,GACAqqZ,EAAAG,EAAAxqZ,EAAAhB,KAAA+qZ,OACA,IAAAr3Y,EAAA1S,EAAAT,MAAAmT,SAEAA,KAAA,IAEA1S,EAAAT,MAAAmT,SAAA,EACA1S,EAAA+W,MAAA/W,EAAA+W,OAAA,MACA/W,EAAA+W,MAAA,IAAArE,EAAA,EACA1S,EAAA+W,MAAA,IAAArE,EAAA,GAGA,IAAAjS,EAAAT,EAAAO,kBAGA,OAFAvB,KAAA6rZ,QAAApqZ,EAAAa,MACAmpZ,EAAAluX,IAAAv8B,GACAA,GAGA,IAAA2qZ,EAAA,CACA//V,EAAA,SAAA4/V,EAAAC,GACA,IAAA7/V,EAAA,IAAAotJ,EAGA,OAFA+yM,EAAAN,EAAA7/V,GACAy/V,EAAAG,EAAA5/V,EAAA5rD,KAAA+qZ,OACAn/V,GAEAnqD,KAAA,SAAA+pZ,EAAAC,GACA,IAAAhqZ,EAAA,IAAAwtE,EAWA,OAVA88U,EAAAN,EAAAhqZ,GACA4pZ,EAAAG,EAAA/pZ,EAAAzB,KAAA+qZ,OACAtpZ,EAAAi4M,SAAA,CACA13M,EAAAupC,WAAAigX,EAAA/nR,aAAA,SACAxhI,EAAAspC,WAAAigX,EAAA/nR,aAAA,SACAnhI,MAAAipC,WAAAigX,EAAA/nR,aAAA,aACAlhI,OAAAgpC,WAAAigX,EAAA/nR,aAAA,gBAIAhiI,GAEA89R,OAAA,SAAAisH,EAAAC,GACA,IAAAlsH,EAAA,IAAAppE,EAQA,OAPA41L,EAAAN,EAAAlsH,GACA8rH,EAAAG,EAAAjsH,EAAAv/R,KAAA+qZ,OACAxrH,EAAA7lF,SAAA,CACAj7L,GAAA8sB,WAAAigX,EAAA/nR,aAAA,UACA/kH,GAAA6sB,WAAAigX,EAAA/nR,aAAA,UACA7kH,EAAA2sB,WAAAigX,EAAA/nR,aAAA,WAEA87J,GAEA/3R,KAAA,SAAAgkZ,EAAAC,GACA,IAAAjkZ,EAAA,IAAAimM,EASA,OARAs+M,EAAAN,EAAAjkZ,GACA6jZ,EAAAG,EAAAhkZ,EAAAxH,KAAA+qZ,OACAvjZ,EAAAkyM,SAAA,CACA9pJ,GAAArkB,WAAAigX,EAAA/nR,aAAA,UACA5zE,GAAAtkB,WAAAigX,EAAA/nR,aAAA,UACAjkG,GAAA+L,WAAAigX,EAAA/nR,aAAA,UACAhkG,GAAA8L,WAAAigX,EAAA/nR,aAAA,YAEAj8H,GAEAwkZ,QAAA,SAAAR,EAAAC,GACA,IAAAO,EAAA,IAAAzB,EASA,OARAwB,EAAAN,EAAAO,GACAX,EAAAG,EAAAQ,EAAAhsZ,KAAA+qZ,OACAiB,EAAAtyM,SAAA,CACAj7L,GAAA8sB,WAAAigX,EAAA/nR,aAAA,UACA/kH,GAAA6sB,WAAAigX,EAAA/nR,aAAA,UACAi1C,GAAAntI,WAAAigX,EAAA/nR,aAAA,UACAk1C,GAAAptI,WAAAigX,EAAA/nR,aAAA,YAEAuoR,GAEAhnT,QAAA,SAAAwmT,EAAAC,GACA,IAAA/jV,EAAA8jV,EAAA/nR,aAAA,UAEA/7D,IACAA,EAAAukV,EAAAvkV,IAGA,IAAAs9B,EAAA,IAAAi0G,EAAA,CACArxM,MAAA,CACA8/D,UAAA,MAKA,OAFAqkV,EAAAN,EAAAzmT,GACAqmT,EAAAG,EAAAxmT,EAAAhlG,KAAA+qZ,OACA/lT,GAEA08E,SAAA,SAAA8pO,EAAAC,GACA,IAAAhnV,EAAA,IAAAlmD,EACAwtY,EAAAN,EAAAhnV,GACA4mV,EAAAG,EAAA/mV,EAAAzkE,KAAA+qZ,OACA,IAAArjV,EAAA8jV,EAAA/nR,aAAA,UAEA/7D,IACAA,EAAAukV,EAAAvkV,IAGA,IAAAg6G,EAAA,IAAAy3B,EAAA,CACAvxM,MAAA,CACA8/D,UAAA,MAGA,OAAAg6G,GAEA5uK,MAAA,SAAA04Y,EAAAC,GACA,IAAA//U,EAAA,IAAA8yJ,EAUA,OATAutL,EAAAN,EAAA//U,GACA2/U,EAAAG,EAAA9/U,EAAA1rE,KAAA+qZ,OACAr/U,EAAA87C,SAAA,CACA10G,MAAA04Y,EAAA/nR,aAAA,cACAzhI,EAAAwpZ,EAAA/nR,aAAA,KACAxhI,EAAAupZ,EAAA/nR,aAAA,KACAnhI,MAAAkpZ,EAAA/nR,aAAA,SACAlhI,OAAAipZ,EAAA/nR,aAAA,YAEA/3D,GAEA1qE,KAAA,SAAAwqZ,EAAAC,GACA,IAAAzpZ,EAAAwpZ,EAAA/nR,aAAA,QACAxhI,EAAAupZ,EAAA/nR,aAAA,QACAzsH,EAAAw0Y,EAAA/nR,aAAA,SACAxsH,EAAAu0Y,EAAA/nR,aAAA,SACAzjI,KAAA6rZ,OAAAtgX,WAAAvpC,GAAAupC,WAAAv0B,GACAhX,KAAA8rZ,OAAAvgX,WAAAtpC,GAAAspC,WAAAt0B,GACA,IAAA20C,EAAA,IAAAotJ,EAGA,OAFA+yM,EAAAN,EAAA7/V,GACAy/V,EAAAG,EAAA5/V,EAAA5rD,KAAA+qZ,OACAn/V,GAEA6yU,MAAA,SAAA+sB,EAAAC,GACA,IAAAzpZ,EAAAwpZ,EAAA/nR,aAAA,KACAxhI,EAAAupZ,EAAA/nR,aAAA,KAEA,MAAAzhI,IAEAhC,KAAA6rZ,OAAAtgX,WAAAvpC,IAGA,MAAAC,IAEAjC,KAAA8rZ,OAAAvgX,WAAAtpC,IAGA,IAAA+U,EAAAw0Y,EAAA/nR,aAAA,SACAxsH,EAAAu0Y,EAAA/nR,aAAA,SACA73E,EAAA,IAAAotJ,EAKA,OAJA+yM,EAAAN,EAAA7/V,GACAy/V,EAAAG,EAAA5/V,EAAA5rD,KAAA+qZ,OACA/qZ,KAAA6rZ,QAAA70Y,EACAhX,KAAA8rZ,QAAA70Y,EACA20C,GAEA6Y,KAAA,SAAA+mV,EAAAC,GAIA,IAAAjvY,EAAAgvY,EAAA/nR,aAAA,SAEAh/D,EAAAo2M,EAAAr+P,GAGA,OAFAuvY,EAAAN,EAAAhnV,GACA4mV,EAAAG,EAAA/mV,EAAAzkE,KAAA+qZ,OACAtmV,IAGAinV,EAAA,CACAQ,eAAA,SAAAV,GACA,IAAA57V,EAAAz8C,SAAAq4Y,EAAA/nR,aAAA,aACA5zE,EAAA18C,SAAAq4Y,EAAA/nR,aAAA,aACAjkG,EAAArsB,SAAAq4Y,EAAA/nR,aAAA,cACAhkG,EAAAtsB,SAAAq4Y,EAAA/nR,aAAA,aACAk6C,EAAA,IAAAm/B,EAAAltJ,EAAAC,EAAArwB,EAAAC,GAIA,OAFA0sX,EAAAX,EAAA7tO,GAEAA,GAEAyuO,eAAA,SAAAZ,MAGA,SAAAW,EAAAX,EAAA7tO,GACA,IAAAzmK,EAAAs0Y,EAAAvrL,WAEA,MAAA/oN,EAAA,CACA,OAAAA,EAAAyyC,SAAA,CACA,IAAA5D,EAAA7uC,EAAAusH,aAAA,UAIA19E,EAFAA,EAAA3a,QAAA,OAEAj4B,SAAA4yC,EAAA,QACOA,EAEPxa,WAAAwa,GAEA,EAGA,IAAAsmW,EAAAn1Y,EAAAusH,aAAA,yBACAk6C,EAAAE,aAAA93H,EAAAsmW,GAGAn1Y,IAAAsxN,aAIA,SAAAujL,EAAAp6U,EAAAv/C,GACAu/C,KAAA26U,mBACAl6X,EAAAk6X,mBACAl6X,EAAAk6X,iBAAA,IAGAh3Y,EAAA8c,EAAAk6X,iBAAA36U,EAAA26U,mBAIA,SAAAL,EAAAM,GAIA,IAHA,IAAAp/Y,EAAA9C,EAAAkiZ,GAAA99Y,MAAAg8Y,GACA/iV,EAAA,GAEA38D,EAAA,EAAiBA,EAAAoC,EAAA5J,OAAiBwH,GAAA,GAClC,IAAA/I,EAAAupC,WAAAp+B,EAAApC,IACA9I,EAAAspC,WAAAp+B,EAAApC,EAAA,IACA28D,EAAA/0D,KAAA,CAAA3Q,EAAAC,IAGA,OAAAylE,EAGA,IAAA8kV,EAAA,CACA9rZ,KAAA,OACAC,OAAA,SACA8rZ,eAAA,YACA34V,QAAA,UACA44V,eAAA,cACAC,iBAAA,gBACAC,mBAAA,WACAC,oBAAA,iBACAC,iBAAA,UACAC,kBAAA,WACAC,oBAAA,aACAC,cAAA,aACAC,YAAA,WACAC,aAAA,YACAC,cAAA,aACAC,aAAA,YACAC,qBAAA,gBAGA,SAAAjC,EAAAG,EAAAz6W,EAAA+uL,EAAAytL,GACA,IAAAC,EAAAz8W,EAAAu7W,kBAAA,GACAmB,EAAA,SAAA18W,EAAA5wC,KAEA,OAAAqrZ,EAAA7hW,WACA+jW,EAAAlC,EAAAz6W,GACArsC,EAAA8oZ,EAAAG,EAAAnC,KAEA+B,GACA,QAAAK,KAAApB,EACA,GAAAA,EAAAthZ,eAAA0iZ,GAAA,CACA,IAAAC,EAAArC,EAAA/nR,aAAAmqR,GAEA,MAAAC,IACAL,EAAAhB,EAAAoB,IAAAC,GAOA,IAAAC,EAAAL,EAAA,kBACAM,EAAAN,EAAA,sBACA18W,EAAAxwC,MAAAwwC,EAAAxwC,OAAA,IAAA6oP,EACA,IAAA1jP,EAAAqrC,EAAAxwC,MACA,MAAAitZ,EAAA9sZ,MAAAgF,EAAA0tB,IAAA06X,EAAAE,EAAAR,EAAA9sZ,KAAAo/N,IACA,MAAA0tL,EAAA7sZ,QAAA+E,EAAA0tB,IAAA26X,EAAAC,EAAAR,EAAA7sZ,OAAAm/N,IACA34M,EAAA,uFAAA49C,GACA,IAAAkpV,EAAA,cAAAlpV,GAAA0oV,EAAA,kBAAA1oV,EACA,MAAAyoV,EAAAzoV,IAAAr/D,EAAA0tB,IAAA66X,EAAA1iX,WAAAiiX,EAAAzoV,OAGAyoV,EAAA7gL,cAAA,SAAA6gL,EAAA7gL,eACA6gL,EAAA7gL,aAAA,cAGA,eAAA6gL,EAAA7gL,eACA6gL,EAAA7gL,aAAA,UAGA,UAAA6gL,EAAA7rZ,YACA6rZ,EAAA7rZ,UAAA,QAGA,QAAA6rZ,EAAA7rZ,YACA6rZ,EAAA7rZ,UAAA,SAGAwlB,EAAA,kHAAA49C,GACA,MAAAyoV,EAAAzoV,IAAAr/D,EAAA0tB,IAAA2xC,EAAAyoV,EAAAzoV,MAGAyoV,EAAAvpL,WACAlzL,EAAAxwC,MAAA0jO,SAAA55N,EAAAmjZ,EAAAvpL,UAAAx1N,MAAAg8Y,IAGA/kZ,EAAAqoZ,IAAA,SAAAroZ,EAAAqoZ,KAEAh9W,EAAAg9W,IAAA,GAGAh9W,EAAAu7W,iBAAAkB,EAGA,IAAAU,EAAA,mBAEA,SAAAF,EAAA1jZ,EAAAw1N,GAIA,IAAAquL,EAAAruL,GAAAx1N,KAAAusB,MAAAq3X,GAEA,GAAAC,EAAA,CACA,IAAA7wT,EAAAjzF,EAAA8jZ,EAAA,IACAv/I,EAAA9uC,EAAAxiI,GACA,OAAAsxK,EAGA,OAAAtkQ,EAGA,IAAA8jZ,EAAA,mEAEA,SAAAV,EAAAlC,EAAAnuY,GACA,IAAAxW,EAAA2kZ,EAAA/nR,aAAA,aAEA,GAAA58H,EAAA,CACAA,IAAA0D,QAAA,UACA,IAAAgjB,EAAA,KACA8gY,EAAA,GACAxnZ,EAAA0D,QAAA6jZ,EAAA,SAAA9jZ,EAAAnK,EAAA8D,GACAoqZ,EAAA17Y,KAAAxS,EAAA8D,KAGA,QAAA8G,EAAAsjZ,EAAA9qZ,OAAA,EAAyCwH,EAAA,EAAOA,GAAA,GAChD,IAAA9G,EAAAoqZ,EAAAtjZ,GACA5K,EAAAkuZ,EAAAtjZ,EAAA,GAGA,OAFAwiB,KAAAqjC,EAAA9hB,SAEA3uC,GACA,gBACA8D,EAAAoG,EAAApG,GAAAwK,MAAAg8Y,GACA75V,EAAAjgB,UAAApjB,IAAA,CAAAge,WAAAtnC,EAAA,IAAAsnC,WAAAtnC,EAAA,SACA,MAEA,YACAA,EAAAoG,EAAApG,GAAAwK,MAAAg8Y,GACA75V,EAAA74C,MAAAwV,IAAA,CAAAge,WAAAtnC,EAAA,IAAAsnC,WAAAtnC,EAAA,IAAAA,EAAA,MACA,MAEA,aACAA,EAAAoG,EAAApG,GAAAwK,MAAAg8Y,GACA75V,EAAAtgB,OAAA/iB,IAAAge,WAAAtnC,EAAA,KACA,MAEA,WACAA,EAAAoG,EAAApG,GAAAwK,MAAAg8Y,GACAryX,QAAAyH,KAAA,uCACA,MAEA,aACA57B,EAAAoG,EAAApG,GAAAwK,MAAAg8Y,GACAl9X,EAAA,GAAAge,WAAAtnC,EAAA,IACAspB,EAAA,GAAAge,WAAAtnC,EAAA,IACAspB,EAAA,GAAAge,WAAAtnC,EAAA,IACAspB,EAAA,GAAAge,WAAAtnC,EAAA,IACAspB,EAAA,GAAAge,WAAAtnC,EAAA,IACAspB,EAAA,GAAAge,WAAAtnC,EAAA,IACA,OAIAoZ,EAAA8gD,kBAAA5wC,IAKA,IAAA+gY,EAAA,6BAEA,SAAAX,EAAAnC,GACA,IAAAjrZ,EAAAirZ,EAAA/nR,aAAA,SACA//H,EAAA,GAEA,IAAAnD,EACA,OAAAmD,EAGA,IAEA6qZ,EAFAC,EAAA,GACAF,EAAAh9Y,UAAA,EAGA,aAAAi9Y,EAAAD,EAAA/8Y,KAAAhR,IACAiuZ,EAAAD,EAAA,IAAAA,EAAA,GAGA,QAAAX,KAAApB,EACAA,EAAAthZ,eAAA0iZ,IAAA,MAAAY,EAAAZ,KACAlqZ,EAAA8oZ,EAAAoB,IAAAY,EAAAZ,IAIA,OAAAlqZ,EAUA,SAAAugY,EAAAW,EAAAtiY,EAAAC,GACA,IAAA+yG,EAAAhzG,EAAAsiY,EAAAtiY,MACAizG,EAAAhzG,EAAAqiY,EAAAriY,OACAwV,EAAArR,KAAAQ,IAAAouG,EAAAC,GAEAk5S,EAAA,CAAA12Y,KACA22Y,EAAA,GAAA9pB,EAAA5iY,EAAA4iY,EAAAtiY,MAAA,GAAAyV,EAAAzV,EAAA,IAAAsiY,EAAA3iY,EAAA2iY,EAAAriY,OAAA,GAAAwV,EAAAxV,EAAA,GACA,OACAwV,MAAA02Y,EACAnoZ,SAAAooZ,GAqBA,SAAA1qB,EAAAmnB,EAAA/1Y,GACA,IAAAu1Y,EAAA,IAAAG,EACA,OAAAH,EAAAvxX,MAAA+xX,EAAA/1Y,GAGAzS,EAAA+nZ,WACA/nZ,EAAAshY,uBACAthY,EAAAqhY,iCC/pBA,IAAAxoX,EAAW3c,EAAQ,QA8BnByf,EAAA9C,EAAA8C,YAIA,SAAA+1S,EAAA3+J,EAAA8yB,EAAA1oL,GAiBA,IAhBA,IAAA2B,EAAA3B,EAAA2B,KACAa,EAAAb,EAAAa,MACAC,EAAAd,EAAAc,OACA2Z,EAAA,CAAAza,EAAAO,EAAAM,EAAA,EAAAb,EAAAQ,EAAAM,EAAA,GAEA6nL,EAAA,MAAAtqL,EAAAsqL,QAAA,GAAAtqL,EAAAsqL,QAWAr/K,EAAA,EAAiBA,EAAA2qJ,EAAAnyJ,OAAkBwH,IAAA,CACnC,IAAA8iB,EAAA6nI,EAAA3qJ,GAEA8iB,EAAA/M,IACA+M,EAAA/M,EAAAtF,EAAAszB,OAAAxsC,GAAAoE,KAAAy3B,SAAA,IAAAjiB,EAAA,GAAA3Z,GAAAmE,KAAAy3B,SAAA,IAAAjiB,EAAA,KAGA2R,EAAA8gY,GAAAnzY,EAAAjG,MAAAsY,EAAA/M,GACA+M,EAAA26J,MAAA,KAMA,IAAAomO,EAAA,GACA,OACAC,OAAA,WACAD,EAAA,IAEAE,SAAA,SAAAnxY,GACA+3I,EAAA/3I,GAAAqkQ,OAAA,GAEA+sI,WAAA,SAAApxY,GACA+3I,EAAA/3I,GAAAqkQ,OAAA,GASAx+Q,KAAA,SAAAuyB,GAIA,IAHA,IAAAu/B,EAAA,GACA05V,EAAAt5P,EAAAnyJ,OAEAwH,EAAA,EAAqBA,EAAAy9K,EAAAjlL,OAAkBwH,IAAA,CACvC,IAAAoL,EAAAqyK,EAAAz9K,GACAwhL,EAAAp2K,EAAAo2K,GACAC,EAAAr2K,EAAAq2K,GACAhxK,EAAA4C,IAAAk3C,EAAAk3H,EAAA1rK,EAAAyrK,EAAAzrK,GACA,IAAAtE,EAAAhB,EAAA/O,IAAA6oD,GAAAn/C,EAAAqG,EACAna,EAAAmqL,EAAAnqL,GAAAkqL,EAAAlqL,EAAAmqL,EAAAnqL,GAEAuX,MAAAvX,KACAA,EAAA,GAGAmZ,EAAA6C,UAAAi3C,MACAi3H,EAAAy1F,OAAA1jQ,EAAAiuK,EAAAzrK,EAAAyrK,EAAAzrK,EAAAw0C,EAAAjzD,EAAAma,EAAAoyY,IACApiO,EAAAw1F,OAAA1jQ,EAAAkuK,EAAA1rK,EAAA0rK,EAAA1rK,EAAAw0C,IAAA,EAAAjzD,GAAAma,EAAAoyY,GAIA,IAAA7jZ,EAAA,EAAqBA,EAAAikZ,EAAUjkZ,IAAA,CAC/B,IAAA8iB,EAAA6nI,EAAA3qJ,GAEA8iB,EAAAm0P,QACAxmQ,EAAA4C,IAAAk3C,EAAAp5C,EAAA2R,EAAA/M,GAIAxC,EAAAuP,EAAA/M,EAAA+M,EAAA/M,EAAAw0C,EAAA80H,EAAAwkO,IAMA,IAAA7jZ,EAAA,EAAqBA,EAAAikZ,EAAUjkZ,IAC/B,CAAAwhL,EAAA72B,EAAA3qJ,GAEA,IAFA,IAEA2F,EAAA3F,EAAA,EAA2B2F,EAAAs+Y,EAAUt+Y,IAAA,CACrC87K,EAAA92B,EAAAhlJ,GACA8K,EAAA4C,IAAAk3C,EAAAk3H,EAAA1rK,EAAAyrK,EAAAzrK,GACAtE,EAAAhB,EAAA/O,IAAA6oD,GAEA,IAAA94C,IAEAhB,EAAA4X,IAAAkiC,EAAA5uD,KAAAy3B,SAAA,GAAAz3B,KAAAy3B,SAAA,IACA3hB,EAAA,GAGA,IAAAyyY,GAAA1iO,EAAAuoI,IAAAtoI,EAAAsoI,KAAAt4S,KACA+vK,EAAAy1F,OAAA1jQ,EAAAiuK,EAAAoiO,GAAApiO,EAAAoiO,GAAAr5V,EAAA25V,IACAziO,EAAAw1F,OAAA1jQ,EAAAkuK,EAAAmiO,GAAAniO,EAAAmiO,GAAAr5V,GAAA25V,IAIA,IAAA9xY,EAAA,GAEA,IAAApS,EAAA,EAAqBA,EAAAikZ,EAAUjkZ,IAAA,CAC/B8iB,EAAA6nI,EAAA3qJ,GAEA8iB,EAAAm0P,QACAxmQ,EAAA4C,IAAAjB,EAAA0Q,EAAA/M,EAAA+M,EAAA8gY,IACArwY,EAAAuP,EAAA/M,EAAA+M,EAAA/M,EAAA3D,EAAAyxY,GACApzY,EAAApC,KAAAyU,EAAA8gY,GAAA9gY,EAAA/M,IAIA8tY,GAAA,KACA74X,KAAA2/H,EAAA8yB,EAAAomO,EAAA,OAKAjsZ,EAAA0xT,oCCjLA,IAAAivC,EAASzkW,EAAQ,QACjBgE,EAAehE,EAAQ,QACvB4+N,EAAc5+N,EAAQ,QAEtB6D,EAAAC,QAAiB9D,EAAQ,QAAgBkK,OAAAy3B,iBAAA,SAAA0mK,EAAAumM,GACzC5qY,EAAAqkM,GACA,IAGAt7B,EAHA51I,EAAAynM,EAAAgwK,GACAlqY,EAAAyyB,EAAAzyB,OACAwH,EAAA,EAEA,MAAAxH,EAAAwH,EAAAu4V,EAAA1/V,EAAAsjM,EAAAt7B,EAAA51I,EAAAjrB,KAAA0iY,EAAA7hO,IACA,OAAAs7B,yBCSA,IAAA1nM,EAAaX,EAAQ,QA4BrB,SAAAoH,EAAApB,EAAAuQ,GACAA,KAAA,GACA,IAAAq3L,EAAA5nM,EAAAK,iBACAF,EAAAH,EAAAG,KACAiB,EAAA,GACA6jO,EAAA9kO,EAAAsB,SACA47E,EAAAl9E,EAAAk9E,OACAzgF,EAAAgrM,EAAAtkM,UACA4hO,EAAA,CAAAtoO,EAAAO,EAAAP,EAAAO,EAAAP,EAAAa,MAAAb,EAAAQ,EAAAR,EAAAQ,EAAAR,EAAAc,QACA2sZ,EAAA,CACA9kM,WAAA,CACA36K,IAAAs6L,EAAA,GACAv6L,OAAAu6L,EAAA,IAEA1f,SAAA,CACA/6K,KAAAy6L,EAAA,GACAx6L,MAAAw6L,EAAA,KAGA9jO,EAAAK,SAAA,cAAA47E,EAAAgtU,EAAA7kM,SAAAyf,GAAAC,EAAA,kBAAA7nJ,EAAAgtU,EAAA9kM,WAAA0f,GAAAC,EAAA,IACA,IAAAnrN,EAAA,CACAwrM,WAAA,EACAC,SAAA,GAEApkN,EAAAO,SAAAE,KAAAC,GAAA,EAAAiY,EAAAsjE,GACA,IAAAitU,EAAA,CACA1/W,KAAA,EACAD,OAAA,EACAD,MAAA,EACAD,MAAA,GAEArpC,EAAAQ,eAAAR,EAAAywN,cAAAzwN,EAAA0wN,cAAAw4L,EAAArlL,GAEAjlO,EAAAY,IAAA,qBACAQ,EAAAywN,eAAAzwN,EAAAywN,eAGAl3N,EAAAq9B,SAAAznB,EAAAhP,YAAAvB,EAAAY,IAAA,uBACAQ,EAAAQ,gBAAAR,EAAAQ,gBAGA,IAAAykN,EAAA91M,EAAAk7B,OAIA,OAHA,MAAA46K,MAAArmN,EAAAY,IAAA,qBACAQ,EAAAilN,cAAA,QAAA4e,GAAA5e,IACAjlN,EAAAy5B,GAAA,EACAz5B,EAGAtD,EAAAsD,+BC5EA,IAAAzG,EAAaX,EAAQ,QAErB+jB,EAAkB/jB,EAAQ,QAE1B2lR,EAAW3lR,EAAQ,QAEnB6jJ,EAAY7jJ,EAAQ,QAEpB0iB,EAAc1iB,EAAQ,QAEtB4iB,EAAAF,EAAAE,WACAC,EAAAH,EAAAG,UAEA+iQ,EAAkB5lR,EAAQ,QAE1Bg6P,EAAA4rB,EAAA5rB,iBAoBAp2P,EAAAmgB,EAAAle,OAAA,CACAvE,KAAA,iBACA8iB,WAAA,MACA8iG,aAAA,iBAKA2+J,UAAA,KACA5hQ,cAAA,CAEA24J,YAAA,EACAgzL,oBAAA30V,IAGAw1B,KAAA,SACAG,IAAA,SACAF,MAAA,KACAC,OAAA,KACAltC,MAAA,MACAC,OAAA,MACA0zB,MAAA,EAGAm5X,WAAA,SAEAlqK,YAAA,MAAAx+O,KAAAk+C,KAAA,IAEAugM,UAAA,KAGAkqK,cAAA,IAGAhnK,gBAAA,MAGAz9D,MAAA,EAEAq6F,UAAA,aAKAvnM,WAAA,EACA+B,wBAAA,IACAylI,gBAAA,eACAotC,WAAA,CACAp2I,MAAA,EACA35G,OAAA,GACA+sC,KAAA,SACAG,IAAA,SAGA0/V,eAAA,GAEA7jS,UAAA,CACAxkF,MAAA,kBAEA+7E,YAAA,wBACA+Z,YAAA,EACA/7G,YAAA,sBACAD,WAAA,EACAE,cAAA,EACAC,cAAA,EACA07G,UAAA,CACA31F,MAAA,SAGA+1F,SAAA,CACAJ,UAAA,KAGA33F,MAAA,CACAo3F,MAAA,EAEA1sG,SAAA,EACA0B,QAAA,EACA5K,SAAA,SAGAwgB,MAAA,OACAlX,UAAA,GAIA0/Y,WAAA,CAEApzS,MAAA,EACA51G,SAAA,UACA/D,OAAA,GAEAukB,MAAA,OACAlX,UAAA,EAEArI,cAAA,UAEA+jG,UAAA,CACAxkF,MAAA,KAEAw7P,WAAA,KAEAF,gBAAA,KAEAxlK,YAAA,EACA2yS,SAAA,EACA1sT,YAAA,OACA2sT,sBAAA,MAKA3yS,SAAA,CACAyyS,WAAA,CACApzS,MAAA,EACA51G,SAAA,UACAwgB,MAAA,OACAlX,UAAA,EACArI,cAAA,WAGAkoZ,gBAAA,EAEAC,UAAA,KACAC,UAAA,KACA7oY,MAAA,GAWAw7P,WAAA,KAEAF,gBAAA,KAEAwtI,eAAA,QAEA1oK,WAAA,GAGAP,mBAAA,KAMAngD,OAAA,IAeA3iL,eAAA,SAAAV,EAAA5I,GAEA,IAAA0S,EAAA,CACA3e,KAAA6U,EAAA7U,KACA61D,SAAAhhD,EAAA5X,MAEAo5Q,EAAA13P,GACA,IAAAu5K,EAAArjL,EAAAqjL,QAAA,GACAA,EAAArjL,EAAAqjL,OAAAqpN,EAAArpN,EAAAjsL,GACA,IAAAqqQ,EAAA,GAKA,OAJAA,EAAAp+E,SAIAg+E,EAAAK,WAAA53P,EAAAjtB,KAAA4kR,GAAAr5Q,MAEA6rI,cAAA,WACAp3I,KAAA8kR,iBAQAt/P,cAAA,SAAAC,GACA,IAAAla,EAAAvL,KAAAwa,UACAvW,EAAAjE,KAAAsnB,YAAA7B,GACAiC,EAAAloB,EAAAwJ,QAAA/E,GAAAyd,EAAAzd,EAAA,IAAAyd,EAAAzd,GACAqK,EAAA/C,EAAAqc,QAAAnC,GACA,OAAAhE,EAAAnT,EAAA,KAAAoZ,IAUAsD,cAAA,SAAAvF,GACA,IAAAT,EAAApC,EAAA3iB,UAAA+qB,cAAAtiB,MAAA1I,KAAA2I,WACA0U,EAAArd,KAAAwa,UAAAwrL,KAAA++E,mBAAAt/P,GAEA,OADAT,EAAA8zO,aAAAD,EAAAx7O,EAAArd,MACAglB,GAYA0gO,cAAA,SAAA1/O,GAKAhG,KAAAgG,WAAAhG,KAAAgG,YAAA,GACAxG,EAAAkF,OAAA1E,KAAAgG,eAOA8pZ,aAAA,SAAA7jY,GAaA,IAAA8jY,EAAA/vZ,KAAAgwZ,YAEAD,IACAA,EAAA/vZ,KAAAgwZ,YAAAxwZ,EAAAqrD,gBAMA7qD,KAAAiwZ,iBAAA,GAGA,IAAApsZ,EAAAksZ,EAAAtqZ,IAAAwmB,GAMA,OAJA,MAAApoB,GACAksZ,EAAA38X,IAAAnH,EAAApoB,EAAA7D,KAAAiwZ,oBAGApsZ,GAEAqiM,YAAA,WACA,OAAAlmM,KAAA0kR,WAMAI,cAAA,SAAAjgC,GACAA,EAAA7kP,KAAA0kR,UAAA7/B,IAAA7kP,KAAA0kR,UACA,IAAAz3P,EAAAjtB,KAAAilB,aAAA+gL,KAAA/4K,KAEA43N,QAAA53N,KAAAizM,SAAA2kB,MACA7kP,KAAA0kR,UAAAz3P,MASA,SAAA03P,EAAAW,GAIA,IAAA5rQ,EAAA,EACAla,EAAA2nB,KAAAm+P,EAAAnhN,SAAA,SAAA/xC,GACAuyP,EAAAvyP,GACA,IAAAmzN,EAAAnzN,EAAAnuB,MACAzE,EAAAwJ,QAAAu8O,SAAA,IACA7rO,GAAA6rO,IAEA,IAAAggC,EAAAD,EAAArhR,MAEAzE,EAAAwJ,QAAAu8Q,KACAA,IAAA,KAGA,MAAAA,GAAA3rQ,MAAA2rQ,MACAA,EAAA7rQ,GAIA6rQ,EAAA,IACAA,EAAA,GAGA/lR,EAAAwJ,QAAAs8Q,EAAArhR,OAAAqhR,EAAArhR,MAAA,GAAAshR,EAAAD,EAAArhR,MAAAshR,EAOA,SAAAsqI,EAAArpN,EAAAjsL,GACA,IAAA21Y,EAAA31Y,EAAA9U,IAAA,SAEA,GAAAyqZ,EAAA,CAKA,IAAAC,EAUA,GAXA3pN,KAAA,GAEAhnM,EAAA2nB,KAAAq/K,EAAA,SAAA4pN,GACA,IAAAzsY,EAAA,IAAA++H,EAAA0tQ,GACAC,EAAA1sY,EAAAle,IAAA,UAEAke,EAAAle,IAAA,oBAAA4qZ,GAAA,SAAAA,KACAF,GAAA,MAIAA,EAAA,CACA,IAAAG,EAAA9pN,EAAA,KAAAA,EAAA,OACA8pN,EAAAxpY,MAAAopY,EAAAhxX,QAGA,OAAAsnK,GAGA9jM,EAAAC,QAAAF,wBC/XA,IAAA7D,EAAcC,EAAQ,QA2BtBD,EAAA0tB,eAAA,uCAAAE,EAAAjS,GACA,IAAAwhR,EAAAvvQ,EAAAuvQ,gBACA,MAAAA,GAAAxhR,EAAA8kG,cAAA,CACArzF,SAAA,SACA7H,QAAA,SACA6xH,MAAAxpH,GACG,SAAAw6L,GACHA,EAAA80E,mBAAAC,2BCjDA,IAAA/8K,EAAA,KAEA,SAAAv8G,IACA,OAAAu8G,IAGAt8G,EAAAC,QAAAF,sBCVA,IAAA2kE,EAAA1gE,KAAA0gE,KACAv2D,EAAAnK,KAAAmK,MACAnO,EAAAC,QAAA,SAAA4K,GACA,OAAAqM,MAAArM,MAAA,GAAAA,EAAA,EAAAsD,EAAAu2D,GAAA75D,0BCgBA,IAAA3O,EAAcC,EAAQ,QAoBtB0sB,EAAA,0BAEA,SAAA4kN,EAAAh8N,EAAAo8Y,EAAAC,GACA,IAAA/kY,EAAAglY,EAAAt8Y,GACAsX,EAAA8kY,GAAAC,EAGA,SAAAlgL,EAAAn8N,EAAAo8Y,EAAAC,GACA,IAAA/kY,EAAAglY,EAAAt8Y,GACAu8Y,EAAAjlY,EAAA8kY,GAEAG,IAAAF,IACA/kY,EAAA8kY,GAAA,MAIA,SAAA15Y,EAAA1C,EAAAo8Y,GACA,QAAAE,EAAAt8Y,GAAAo8Y,GAGA,SAAAE,EAAAt8Y,GACA,OAAAA,EAAAoX,KAAApX,EAAAoX,GAAA,IAWA3sB,EAAA0tB,eAAA,CACAnsB,KAAA,mBACAgX,MAAA,oBACAoV,OAAA,UACC,cACD5pB,EAAAwtO,OACAxtO,EAAA2tO,UACA3tO,EAAAkU,8BCzEA,IAAA85Y,EAAAnzY,MAAAvd,UAAAi/B,MAoBAnrB,EAAA,SAAA68Y,GACA5wZ,KAAA6wZ,WAAA,GACA7wZ,KAAA8wZ,iBAAAF,GA0MA,SAAA1L,EAAArvM,EAAA7/D,GACA,IAAA46Q,EAAA/6M,EAAAi7M,iBAMA,OAJA,MAAA96Q,GAAA46Q,KAAA1L,iBACAlvQ,EAAA46Q,EAAA1L,eAAAlvQ,IAGAA,EAGA,SAAApgI,EAAAm7Y,EAAA55Y,EAAA6+H,EAAAliD,EAAApwE,EAAAgrT,GACA,IAAArqB,EAAA0sG,EAAAF,WAQA,GANA,oBAAA76Q,IACAtyH,EAAAowE,EACAA,EAAAkiD,EACAA,EAAA,OAGAliD,IAAA38E,EACA,OAAA45Y,EAGA/6Q,EAAAkvQ,EAAA6L,EAAA/6Q,GAEAquK,EAAAltS,KACAktS,EAAAltS,GAAA,IAGA,QAAApM,EAAA,EAAiBA,EAAAs5S,EAAAltS,GAAA5T,OAAsBwH,IACvC,GAAAs5S,EAAAltS,GAAApM,GAAAgW,IAAA+yE,EACA,OAAAi9T,EAIA,IAAAC,EAAA,CACAjwY,EAAA+yE,EACA2sT,IAAA/xE,EACA14L,QACA31I,IAAAqjB,GAAAqtY,EAGAE,WAAAn9T,EAAAkxT,sBAEA1zY,EAAA+yS,EAAAltS,GAAA5T,OAAA,EACA2tZ,EAAA7sG,EAAAltS,GAAA7F,GAEA,OADA4/Y,KAAAD,WAAA5sG,EAAAltS,GAAAk6D,OAAA//D,EAAA,EAAA0/Y,GAAA3sG,EAAAltS,GAAAxE,KAAAq+Y,GACAD,EAtPAh9Y,EAAA9T,UAAA,CACAC,YAAA6T,EAUA0sY,IAAA,SAAAtpY,EAAA6+H,EAAAliD,EAAApwE,GACA,OAAA9N,EAAA5V,KAAAmX,EAAA6+H,EAAAliD,EAAApwE,GAAA,IAWA9N,GAAA,SAAAuB,EAAA6+H,EAAAliD,EAAApwE,GACA,OAAA9N,EAAA5V,KAAAmX,EAAA6+H,EAAAliD,EAAApwE,GAAA,IASA+zV,SAAA,SAAAtgW,GACA,IAAAktS,EAAArkT,KAAA6wZ,WACA,OAAAxsG,EAAAltS,KAAAktS,EAAAltS,GAAA5T,QASAsS,IAAA,SAAAsB,EAAA28E,GACA,IAAAuwN,EAAArkT,KAAA6wZ,WAEA,IAAA15Y,EAEA,OADAnX,KAAA6wZ,WAAA,GACA7wZ,KAGA,GAAA8zF,EAAA,CACA,GAAAuwN,EAAAltS,GAAA,CAGA,IAFA,IAAAkmW,EAAA,GAEAtyW,EAAA,EAAAC,EAAAq5S,EAAAltS,GAAA5T,OAA6CwH,EAAAC,EAAOD,IACpDs5S,EAAAltS,GAAApM,GAAAgW,IAAA+yE,GACAupR,EAAA1qW,KAAA0xS,EAAAltS,GAAApM,IAIAs5S,EAAAltS,GAAAkmW,EAGAh5D,EAAAltS,IAAA,IAAAktS,EAAAltS,GAAA5T,eACA8gT,EAAAltS,eAGAktS,EAAAltS,GAGA,OAAAnX,MAQAoX,QAAA,SAAAjX,GACA,IAAAkkT,EAAArkT,KAAA6wZ,WAAA1wZ,GACAywZ,EAAA5wZ,KAAA8wZ,iBAEA,GAAAzsG,EAAA,CACA,IAAA56P,EAAA9gD,UACAk0P,EAAApzM,EAAAlmD,OAEAs5P,EAAA,IACApzM,EAAAknW,EAAA5wZ,KAAA0pD,EAAA,IAKA,IAFA,IAAAh9C,EAAA43S,EAAA9gT,OAEAwH,EAAA,EAAqBA,EAAA0B,GAAS,CAC9B,IAAA0kZ,EAAA9sG,EAAAt5S,GAEA,GAAA6lZ,KAAA/oW,QAAA,MAAAspW,EAAAn7Q,QAAA46Q,EAAA/oW,OAAA1nD,EAAAgxZ,EAAAn7Q,OACAjrI,QADA,CAMA,OAAA8xP,GACA,OACAs0J,EAAApwY,EAAAhhB,KAAAoxZ,EAAA9wZ,KACA,MAEA,OACA8wZ,EAAApwY,EAAAhhB,KAAAoxZ,EAAA9wZ,IAAAopD,EAAA,IACA,MAEA,OACA0nW,EAAApwY,EAAAhhB,KAAAoxZ,EAAA9wZ,IAAAopD,EAAA,GAAAA,EAAA,IACA,MAEA,QAEA0nW,EAAApwY,EAAArY,MAAAyoZ,EAAA9wZ,IAAAopD,GACA,MAGA0nW,EAAA1Q,KACAp8F,EAAAhzO,OAAAtmE,EAAA,GAEA0B,KAEA1B,MAMA,OADA6lZ,KAAA/K,cAAA+K,EAAA/K,aAAA1lZ,GACAH,MAQAoxZ,mBAAA,SAAAjxZ,GACA,IAAAkkT,EAAArkT,KAAA6wZ,WAAA1wZ,GACAywZ,EAAA5wZ,KAAA8wZ,iBAEA,GAAAzsG,EAAA,CACA,IAAA56P,EAAA9gD,UACAk0P,EAAApzM,EAAAlmD,OAEAs5P,EAAA,IACApzM,EAAAknW,EAAA5wZ,KAAA0pD,EAAA,EAAAA,EAAAlmD,OAAA,IAMA,IAHA,IAAAlD,EAAAopD,IAAAlmD,OAAA,GACAkJ,EAAA43S,EAAA9gT,OAEAwH,EAAA,EAAqBA,EAAA0B,GAAS,CAC9B,IAAA0kZ,EAAA9sG,EAAAt5S,GAEA,GAAA6lZ,KAAA/oW,QAAA,MAAAspW,EAAAn7Q,QAAA46Q,EAAA/oW,OAAA1nD,EAAAgxZ,EAAAn7Q,OACAjrI,QADA,CAMA,OAAA8xP,GACA,OACAs0J,EAAApwY,EAAAhhB,KAAAM,GACA,MAEA,OACA8wZ,EAAApwY,EAAAhhB,KAAAM,EAAAopD,EAAA,IACA,MAEA,OACA0nW,EAAApwY,EAAAhhB,KAAAM,EAAAopD,EAAA,GAAAA,EAAA,IACA,MAEA,QAEA0nW,EAAApwY,EAAArY,MAAArI,EAAAopD,GACA,MAGA0nW,EAAA1Q,KACAp8F,EAAAhzO,OAAAtmE,EAAA,GAEA0B,KAEA1B,MAMA,OADA6lZ,KAAA/K,cAAA+K,EAAA/K,aAAA1lZ,GACAH,OA6IA,IAAAyC,EAAAsR,EACArR,EAAAC,QAAAF,wBC5VA,IAAA2e,EAAcviB,EAAQ,QAItBs8I,GAFA/5H,EAAAC,QAEaxiB,EAAQ,SAErB8jB,EAAAw4H,EAAAx4H,UACA4gR,EAAApoJ,EAAAooJ,iBAEAC,EAAmB3kS,EAAQ,QAE3B4kS,EAAAD,EAAAC,0BAEA91R,EAAY9O,EAAQ,QAEpBgsD,EAAAl9C,EAAAk9C,cACA1jC,EAAAxZ,EAAAwZ,KACA/Z,EAAAO,EAAAP,IACApE,EAAA2E,EAAA3E,QACAS,EAAAkE,EAAAlE,SACAG,EAAA+D,EAAA/D,SACAgb,EAAAjX,EAAAiX,aACAykC,EAAA17C,EAAA07C,YACA3kD,EAAAiJ,EAAAjJ,OAGAy2O,GAFAxtO,EAAAy8C,OAEavrD,EAAQ,SAErBukS,EAAkBvkS,EAAQ,QAE1BwkS,EAAAD,EAAAC,uBACAurE,EAAAxrE,EAAAwrE,yBACAC,EAAAzrE,EAAAyrE,0BACAt/D,EAAAnM,EAAAmM,4BACAF,EAAAjM,EAAAiM,sBACAC,EAAAlM,EAAAkM,0BACAozE,EAAAt/E,EAAAs/E,qBAoBAhgW,EAAAC,IAOA,SAAAwrX,EAAAkjB,GACA,IAAA9lZ,EAAA8lZ,EAAAluY,OAAA8W,OACAwqQ,EAAA4K,EAEA,GAAAzqR,EAAArZ,GACAk5R,EAAA6K,OACG,GAAAtmS,EAAAuC,GAAA,CAEH,IAAAA,EAAAhI,SACAkhS,EAAAmqE,GAGA,QAAA7jW,EAAA,EAAA0B,EAAAlB,EAAAhI,OAAsCwH,EAAA0B,EAAS1B,IAAA,CAC/C,IAAA85D,EAAAt5D,EAAAR,GAEA,SAAA85D,EAAA,CAEO,GAAA77D,EAAA67D,GAAA,CACP4/N,EAAAmqE,EACA,MACO,GAAAhlW,EAAAi7D,GAAA,CACP4/N,EAAAoqE,EACA,cAGG,GAAAjlW,EAAA2B,IACH,QAAAN,KAAAM,EACA,GAAAA,EAAAL,eAAAD,IAAAo+C,EAAA99C,EAAAN,IAAA,CACAw5R,EAAA8K,EACA,YAGG,SAAAhkS,EACH,UAAAoiC,MAAA,gBAGAjrB,EAAA2uY,GAAA5sH,eA2BA,SAAAliR,EAAAjI,GACA,OAAAoI,EAAApI,GAAA2f,OAQA,SAAAq3X,EAAA/2Y,GAEAmI,EAAAnI,GAAAg3Y,WAAA1mW,IAoBA,SAAAvoC,EAAAhI,GACA,IAAAmqO,EAAAnqO,EAAA6I,OACA5X,EAAAk5O,EAAAl5O,KACAk5R,EAAA7/Q,EAAArZ,GAAA+jS,EAAAjM,EACAoM,GAAA,EACAC,EAAAjrD,EAAAirD,eACA0+F,EAAA3pJ,EAAA2pJ,aACA5mT,EAAAi9J,EAAAhsK,WACA44U,EAAAG,EAAAl3Y,GAEA,GAAA+2Y,EAAA,CACA,IAAAI,EAAAJ,EAAAluY,OACA5X,EAAAkmZ,EAAAx3X,OACAwqQ,EAAA/hR,EAAA2uY,GAAA5sH,aACAgL,GAAA,EAEAC,KAAA+hH,EAAA/hH,eACA,MAAA0+F,MAAAqjB,EAAArjB,cACA5mT,KAAAiqU,EAAAh5U,WAGA,IAAAi5U,EAAAC,EAAApmZ,EAAAk5R,EAAAiL,EAAA0+F,EAAA5mT,GAEAC,EAAAg9J,EAAAh9F,QAEAhgE,GAAA4pU,IACA5pU,EAAAmqU,EAAAt3Y,EAAA+2Y,EAAA9lZ,EAAAk5R,EAAAiL,EAAAgiH,IAGAhvY,EAAApI,GAAA2f,OAAA,IAAAkhN,EAAA,CACA5vO,OACAkkS,cACAC,iBACAjL,eACAj9M,iBAAAkqU,EAAAlqU,iBACAmoN,WAAA+hH,EAAA/hH,WACA7yD,sBAAA40K,EAAA50K,sBACAr1J,iBAKA,SAAAkqU,EAAApmZ,EAAAk5R,EAAAiL,EAAA0+F,EAAA5mT,GACA,IAAAj8E,EACA,OACAi8E,iBAAAqqU,EAAArqU,IAIA,IAAAs1J,EACA6yD,EACAmiH,EAiDAC,EA/CA,GAAAttH,IAAAmqE,EAKA,SAAAw/B,GAAA,MAAAA,EACA4jB,EAAA,SAAA/oZ,GAEA,MAAAA,GAAA,MAAAA,IACAQ,EAAAR,GACA,MAAA0mS,MAAA,GAEAA,EAAA,IAIOD,EAAAnkS,EAAA,IAEPokS,EAAAy+F,EAAA,IAGA5mT,GAAA,IAAAmoN,IACAnoN,EAAA,GACAwqU,EAAA,SAAA/oZ,EAAApF,GACA2jF,EAAA3jF,GAAA,MAAAoF,IAAA,IACOymS,EAAAnkS,IAGPuxO,EAAAt1J,IAAAjkF,OAAAmsS,IAAAgzE,EAAAn3W,EAAAhI,OAAAgI,EAAA,GAAAA,EAAA,GAAAhI,OAAA,UACG,GAAAkhS,IAAAoqE,EACHrnR,IACAA,EAAAyqU,EAAA1mZ,GACAumZ,GAAA,QAEG,GAAArtH,IAAA8K,EACH/nN,IACAA,EAAA,GACAsqU,GAAA,EACA3qY,EAAA5b,EAAA,SAAA2mZ,EAAAjnZ,GACAu8E,EAAA70E,KAAA1H,WAGG,GAAAw5R,IAAApB,EAAA,CACH,IAAAt5O,EAAAw5O,EAAAh4R,EAAA,IACAuxO,EAAA9zO,EAAA+gD,MAAAxmD,QAAA,EAaA,OARAuuZ,GACA3qY,EAAAqgE,EAAA,SAAAlsE,EAAAqC,GACA,UAAA/T,EAAA0R,KAAAhN,KAAAgN,KACAy2Y,EAAAp0Y,KAKA,CACAgyR,aACAnoN,iBAAAqqU,EAAArqU,GACAs1J,wBACAi1K,yBAQA,SAAAF,EAAArqU,GACA,GAAAA,EAAA,CAKA,IAAAw4B,EAAAn1D,IACA,OAAAz9C,EAAAo6E,EAAA,SAAA3iB,EAAAhhE,GAOA,GANAghE,EAAAngE,EAAA,GAAoBkF,EAAAi7D,KAAA,CACpBv2D,KAAAu2D,IAKA,MAAAA,EAAAv2D,KACA,OAAAu2D,EAIAA,EAAAv2D,MAAA,GAMA,MAAAu2D,EAAAt+C,cACAs+C,EAAAt+C,YAAAs+C,EAAAv2D,MAGA,IAAAywW,EAAA/+P,EAAAv6G,IAAAo/D,EAAAv2D,MAUA,OARAywW,EAKAl6S,EAAAv2D,MAAA,IAAAywW,EAAAplW,QAJAqmG,EAAA5sF,IAAAyxC,EAAAv2D,KAAA,CACAqL,MAAA,IAMAkrD,KAIA,SAAAmtV,EAAAj8X,EAAA25Q,EAAAnkS,EAAA4mZ,GAGA,GAFA,MAAAA,MAAAr4Y,KAEA41R,IAAAgzE,EACA,QAAA33W,EAAA,EAAmBA,EAAAQ,EAAAhI,QAAAwH,EAAAonZ,EAAgCpnZ,IACnDgrB,EAAAxqB,EAAAR,GAAAQ,EAAAR,GAAA,QAAAA,OAGA,KAAAg/C,EAAAx+C,EAAA,OAEA,IAAAR,EAAA,EAAmBA,EAAAg/C,EAAAxmD,QAAAwH,EAAAonZ,EAAkCpnZ,IACrDgrB,EAAAg0B,EAAAh/C,OAKA,SAAAknZ,EAAA1mZ,GACA,IACAT,EADAsnZ,EAAA,EAGA,MAAAA,EAAA7mZ,EAAAhI,UAAAuH,EAAAS,EAAA6mZ,OAGA,GAAAtnZ,EAAA,CACA,IAAA2tE,EAAA,GAIA,OAHAtxD,EAAArc,EAAA,SAAA7G,EAAAgH,GACAwtE,EAAA9lE,KAAA1H,KAEAwtE,GAOA,SAAAm5U,EAAAt3Y,EAAA+2Y,EAAA9lZ,EAAAk5R,EAAAiL,EAAAgiH,GACA,IAAA7tH,EAAAJ,EAAAnpR,GACAmtI,EAAA,GAGA4qQ,EAAA,GACAC,EAAA,GACAn4Y,EAAAG,EAAA6J,QAKAouY,EAAA1nW,EAAA,wBACA2nW,EAAA3nW,EAAA,iFAIA,GAAAg5O,GAAA,MAAA2uH,EAAA/sZ,IAAA0U,GAAA,CACA,IAAAI,EAAAD,EAAAC,QACAg3Y,EAAA7uY,EAAAnI,GAAAg3Y,WACAtmZ,EAAAomZ,EAAArnY,IAAA,IAAA0lR,EACA+iH,EAAAlB,EAAA9rZ,IAAAwF,IAAAsmZ,EAAAn+X,IAAAnoB,EAAA,CACAynZ,eAAA,EACAC,YAAA,IAIAxrY,EAAA08Q,EAAAC,aAAA,SAAAr7Q,GAEA,SAAAo7Q,EAAAG,sBAAA,CACA,IAAA56Q,EAAAqpY,EAAAE,cACAlrQ,EAAAh/H,GAAAW,EAOAkpY,EAAA3/Y,KAAAyW,QAGA,GAAAy6Q,EAAAO,gBAAA3+R,IAAAgjB,GACAg/H,EAAAh/H,GAAA,EACA4pY,EAAA1/Y,KAAA,OAEA,CACAyW,EAAAqpY,EAAAC,iBACAjrQ,EAAAh/H,GAAAW,EAGAkpY,EAAA3/Y,KAAAyW,WAMA,SAAAmpY,EAAA9sZ,IAAA0U,GAAA,CAIA,IAFA,IAAAy4Y,EAEA7nZ,EAAA,EAAqBA,EAAA,SAAA6nZ,EAAkC7nZ,IACvD8nZ,EAAAtnZ,EAAAk5R,EAAAiL,EAAAgiH,EAAAlqU,iBAAAkqU,EAAA/hH,WAAA5kS,KACA6nZ,EAAA7nZ,GAIA,SAAA6nZ,EAAA,CACAnrQ,EAAAxjJ,MAAA2uZ,EACA,IAAAE,EAAApB,EAAAK,uBAAArrZ,KAAAS,IAAAyrZ,EAAA,KAGAN,EAAA3/Y,KAAAmgZ,GACAT,EAAA1/Y,KAAAmgZ,IAQA,OAFAT,EAAA9uZ,SAAAkkJ,EAAA48I,SAAAguH,GACAC,EAAA/uZ,SAAAkkJ,EAAA5/H,WAAAyqY,GACA7qQ,EAOA,SAAA+pQ,EAAAl3Y,GACA,IAAA6I,EAAA7I,EAAA6I,OAMA4vY,EAAA5vY,EAAA5X,KAEA,IAAAwnZ,EACA,OAAAz4Y,EAAAC,QAAAmS,aAAA,UAAAvJ,EAAA6vY,cAAA,GAcA,SAAA93K,EAAAjhN,EAAAlzB,GACA,OAAA8rZ,EAAA54X,EAAA1uB,KAAA0uB,EAAAwqQ,aAAAxqQ,EAAAy1Q,eAAAz1Q,EAAAutD,iBAAAvtD,EAAA01Q,WAAA5oS,GAIA,SAAA8rZ,EAAAtnZ,EAAAk5R,EAAAiL,EAAAloN,EAAAmoN,EAAA5oS,GACA,IAAArD,EAUAg1E,EARAy5U,EAAA,EAEA,GAAAvtY,EAAArZ,GACA,SAYA,GALAi8E,IACA9O,EAAA8O,EAAAzgF,GACA2xE,EAAA9uE,EAAA8uE,KAAApqE,KAAAoqE,GAGA+rN,IAAAmqE,EACA,GAAAl/D,IAAAgzE,GAGA,IAFA,IAAAuwC,EAAA1nZ,EAAAxE,GAEAgE,EAAA,EAAqBA,GAAAkoZ,GAAA,IAAA1vZ,QAAAwH,EAAAonZ,EAA0CpnZ,IAC/D,UAAArH,EAAAwvZ,EAAAD,EAAAtjH,EAAA5kS,KACA,OAAArH,OAIA,IAAAqH,EAAA,EAAqBA,EAAAQ,EAAAhI,QAAAwH,EAAAonZ,EAAgCpnZ,IAAA,CACrD,IAAAk6K,EAAA15K,EAAAokS,EAAA5kS,GAEA,GAAAk6K,GAAA,OAAAvhL,EAAAwvZ,EAAAjuO,EAAAl+K,KACA,OAAArD,OAIG,GAAA+gS,IAAAoqE,EAAA,CACH,IAAAn2R,EACA,OAGA,IAAA3tE,EAAA,EAAmBA,EAAAQ,EAAAhI,QAAAwH,EAAAonZ,EAAgCpnZ,IAAA,CACnD,IAAA85D,EAAAt5D,EAAAR,GAEA,GAAA85D,GAAA,OAAAnhE,EAAAwvZ,EAAAruV,EAAA6T,KACA,OAAAh1E,QAGG,GAAA+gS,IAAA8K,EAAA,CACH,IAAA72N,EACA,OAGAu6U,EAAA1nZ,EAAAmtE,GAEA,IAAAu6U,GAAAruY,EAAAquY,GACA,SAGA,IAAAloZ,EAAA,EAAmBA,EAAAkoZ,EAAA1vZ,QAAAwH,EAAAonZ,EAAkCpnZ,IACrD,UAAArH,EAAAwvZ,EAAAD,EAAAloZ,KACA,OAAArH,OAGG,GAAA+gS,IAAApB,EACH,IAAAt4R,EAAA,EAAmBA,EAAAQ,EAAAhI,QAAAwH,EAAAonZ,EAAgCpnZ,IAAA,CACnD85D,EAAAt5D,EAAAR,GAAA,IACA9B,EAAAs6R,EAAA1+N,GAEA,IAAA77D,EAAAC,GACA,SAGA,UAAAvF,EAAAwvZ,EAAAjqZ,EAAAlC,KACA,OAAArD,EAKA,SAAAwvZ,EAAAjqZ,GAGA,aAAAA,IAAA8Q,SAAA9Q,IAAA,KAAAA,QAEKQ,EAAAR,IAAA,MAAAA,SAAA,GAKL,SAGAtG,EAAAwrY,qBACAxrY,EAAA4f,YACA5f,EAAA2uZ,uBACA3uZ,EAAA2f,gBACA3f,EAAAu4O,kDC5kBA,IAAAhwL,EAAarsD,EAAQ,QACrBykW,EAASzkW,EAAQ,QACjB2+N,EAAkB3+N,EAAQ,QAC1BooM,EAAcpoM,EAAQ,OAARA,CAAgB,WAE9B6D,EAAAC,QAAA,SAAA+0T,GACA,IAAA/rJ,EAAAzgH,EAAAwsQ,GACAl6F,GAAA7xD,MAAAs7B,IAAAq8J,EAAA1/V,EAAA+nK,EAAAs7B,EAAA,CACAt5K,cAAA,EACAloB,IAAA,WAAsB,OAAAzF,+BCUtB,IAAAR,EAAaX,EAAQ,QAErB6jJ,EAAY7jJ,EAAQ,QAEpBqxL,EAAerxL,EAAQ,QAEvBupF,EAAWvpF,EAAQ,QAEnB0oF,EAAuB1oF,EAAQ,QAgC/Bs0Z,EAAA,SAAA7kZ,EAAAwkN,GAIA9yN,KAAAsO,QAAA,GAQAtO,KAAA8jE,MAAA,EAOA9jE,KAAAuC,OAAA,EAMAvC,KAAA8zN,WAAA,KAYA9zN,KAAAylB,WAAA,EAMAzlB,KAAAmkE,SAAA,GAMAnkE,KAAAsmP,aAAA,GAMAtmP,KAAA8yN,YA0QA,SAAA0xD,EAAAr7K,EAAAiqT,EAAAC,GAKArzZ,KAAAitB,KAMAjtB,KAAAuL,KAOAvL,KAAA42L,OAAA,GAOA52L,KAAAmpG,YAOAnpG,KAAAszZ,YAAA9zZ,EAAA4N,IAAAgmZ,GAAA,YAAAhD,GACA,WAAA1tQ,EAAA0tQ,EAAAjnT,IAAA5uF,WAEAva,KAAAuzZ,YAAA,IAAA7wQ,EAAA2wQ,GAAA,GAAiDlqT,IAAA5uF,SA4IjD,SAAAqkS,EAAAxsR,EAAA/U,GACA,IAAA8mD,EAAA9mD,EAAA8mD,SAEA/xC,EAAA0hM,aAAAz2M,IAIA8mD,EAAAxxD,KAAAyf,GACAA,EAAA0hM,WAAAz2M,GA9bA81Y,EAAAlzZ,UAAA,CACAC,YAAAizZ,EAMAttK,UAAA,WACA,OAAA7lP,KAAAylB,UAAA,GAqBAynK,SAAA,SAAAr9K,EAAAkmB,EAAArS,GACA,oBAAA7T,IACA6T,EAAAqS,EACAA,EAAAlmB,EACAA,EAAA,MAGAA,KAAA,GAEArQ,EAAAiK,SAAAoG,KACAA,EAAA,CACAkvB,MAAAlvB,IAIA,IAEA2jZ,EAFAz0X,EAAAlvB,EAAAkvB,OAAA,WACAolC,EAAAnkE,KAAA6P,EAAAk0E,MAAA,YAEA,aAAAhlD,IAAAy0X,EAAAz9X,EAAAh2B,KAAA2jB,EAAA1jB,OAEA,QAAA+K,EAAA,GAAmByoZ,GAAAzoZ,EAAAo5D,EAAA5gE,OAA0CwH,IAC7Do5D,EAAAp5D,GAAAmiL,SAAAr9K,EAAAkmB,EAAArS,GAGA,cAAAqb,GAAAhJ,EAAAh2B,KAAA2jB,EAAA1jB,OAQAyzZ,qBAAA,SAAA3vV,GACA,IAAAvhE,EAAA,EACAvC,KAAA8jE,QAEA,QAAA/4D,EAAA,EAAmBA,EAAA/K,KAAAmkE,SAAA5gE,OAA0BwH,IAAA,CAC7C,IAAAqnB,EAAApyB,KAAAmkE,SAAAp5D,GACAqnB,EAAAqhY,qBAAA3vV,EAAA,GAEA1xC,EAAA7vB,WACAA,EAAA6vB,EAAA7vB,QAIAvC,KAAAuC,SAAA,GAOAuqL,YAAA,SAAA7gK,GACA,GAAAjsB,KAAA20T,UAAA1oS,EACA,OAAAjsB,KAGA,QAAA+K,EAAA,EAAAo5D,EAAAnkE,KAAAmkE,SAAA13D,EAAA03D,EAAA5gE,OAAoEwH,EAAA0B,EAAS1B,IAAA,CAC7E,IAAAgnE,EAAA5N,EAAAp5D,GAAA+hL,YAAA7gK,GAEA,GAAA8lD,EACA,OAAAA,IASAmuJ,SAAA,SAAA7iN,GACA,GAAAA,IAAArd,KACA,SAGA,QAAA+K,EAAA,EAAAo5D,EAAAnkE,KAAAmkE,SAAA13D,EAAA03D,EAAA5gE,OAAoEwH,EAAA0B,EAAS1B,IAAA,CAC7E,IAAAgnE,EAAA5N,EAAAp5D,GAAAm1N,SAAA7iN,GAEA,GAAA00D,EACA,OAAAA,IASAgiJ,aAAA,SAAA2/L,GACA,IAAAC,EAAA,GACAt2Y,EAAAq2Y,EAAA1zZ,UAAA8zN,WAEA,MAAAz2M,EACAs2Y,EAAAhhZ,KAAA0K,GACAA,IAAAy2M,WAIA,OADA6/L,EAAAnnQ,UACAmnQ,GAOA5lO,SAAA,SAAAza,GACA,IAAA/nK,EAAAvL,KAAA8yN,SAAAvnN,KACA,OAAAA,EAAA9F,IAAA8F,EAAAyiL,aAAA1a,GAAA,SAAAtzK,KAAAylB,YAOAiuJ,UAAA,SAAAztK,EAAAkF,GACAnL,KAAAylB,WAAA,GAAAzlB,KAAA8yN,SAAAvnN,KAAAkoK,cAAAzzK,KAAAylB,UAAAxf,EAAAkF,IAMA0S,UAAA,WACA,OAAA7d,KAAA8yN,SAAAvnN,KAAAkqK,cAAAz1K,KAAAylB,YAOAkV,SAAA,SAAA8pC,GACA,KAAAzkE,KAAAylB,UAAA,IAIA,IAGA8tY,EAHAzgM,EAAA9yN,KAAA8yN,SACA5nM,EAAA4nM,EAAAvnN,KAAA4f,aAAAnrB,KAAAylB,WACAmuY,EAAA5zZ,KAAA6zZ,gBAOA,OAJAD,GAAA,IAAA5zZ,KAAAmkE,SAAA5gE,SAAA,IAAAvD,KAAAmkE,SAAA5gE,SAAA,IAAAvD,KAAAiyW,YACAshD,EAAAvzZ,KAAA8zZ,kBAGA5oY,EAAAyP,SAAA8pC,GAAAmvV,GAAAL,GAAAzgM,EAAA3pH,WAAAxuE,SAAA8pC,MAMAovV,cAAA,WACA,OAAA7zZ,KAAA8yN,SAAAwgM,aAAA,IAAAtzZ,KAAA8jE,QAMAgwV,eAAA,WACA,OAAA9zZ,KAAA8yN,SAAAygM,aAUA/oY,UAAA,SAAAvf,EAAAhH,GACAjE,KAAAylB,WAAA,GAAAzlB,KAAA8yN,SAAAvnN,KAAA0f,cAAAjrB,KAAAylB,UAAAxa,EAAAhH,IAMAsZ,UAAA,SAAAtS,EAAAgjL,GACA,OAAAjuL,KAAA8yN,SAAAvnN,KAAAic,cAAAxnB,KAAAylB,UAAAxa,EAAAgjL,IAOApB,YAAA,WACA,OAAA7sL,KAAA8yN,SAAAvnN,KAAAshL,YAAA7sL,KAAAylB,YAOAkvS,MAAA,WACA,OAAA30T,KAAA8yN,SAAAvnN,KAAAopT,MAAA30T,KAAAylB,YAUAyuM,aAAA,SAAA72M,GACA,IAAAs0D,EAAAt0D,EAAAy2M,WAEA,MAAAniJ,EAAA,CACA,GAAAA,IAAA3xE,KACA,SAGA2xE,IAAAmiJ,WAGA,UAUAK,eAAA,SAAA92M,GACA,OAAAA,IAAArd,MAAAqd,EAAA62M,aAAAl0N,QAiDAwkR,EAAAvkR,UAAA,CACAC,YAAAskR,EACArkR,KAAA,OAmBA+sL,SAAA,SAAAr9K,EAAAkmB,EAAArS,GACA1jB,KAAAitB,KAAAigK,SAAAr9K,EAAAkmB,EAAArS,IAOAqhQ,mBAAA,SAAAt/P,GACA,IAAAm8U,EAAA5hW,KAAAuL,KAAAshL,YAAApnK,GACA,OAAAzlB,KAAA42L,OAAAgrK,IAOAtwM,cAAA,SAAAhjJ,GACA,OAAAtO,KAAAitB,KAAAqkI,cAAAhjJ,IAOAie,OAAA,WAIA,IAHA,IAAAhhB,EAAAvL,KAAAuL,KACAmqJ,EAAA11J,KAAA42L,OAEA7rL,EAAA,EAAA0B,EAAAipJ,EAAAnyJ,OAAuCwH,EAAA0B,EAAS1B,IAChD2qJ,EAAA3qJ,GAAA0a,WAAA,EAGA,IAAA1a,EAAA,EAAA0B,EAAAlB,EAAAoO,QAAuC5O,EAAA0B,EAAS1B,IAChD2qJ,EAAAnqJ,EAAAshL,YAAA9hL,IAAA0a,UAAA1a,GAOAq6O,aAAA,WACAplP,KAAAuL,KAAAwoZ,qBA2BAvvI,EAAAK,WAAA,SAAAmvI,EAAA7qT,EAAA8qT,GACA,IAAAjuN,EAAA,IAAAw+E,EAAAr7K,EAAA8qT,EAAAztN,OAAAytN,EAAA1hK,QACA2hK,EAAA,GACAC,EAAA,EAGA,SAAAC,EAAA9uI,EAAAxxD,GACA,IAAA7vN,EAAAqhR,EAAArhR,MACAkwZ,EAAAztZ,KAAAS,IAAAgtZ,EAAA30Z,EAAAwJ,QAAA/E,KAAAV,OAAA,GACA2wZ,EAAAvhZ,KAAA2yQ,GACA,IAAAjoQ,EAAA,IAAA81Y,EAAA7tI,EAAAh3Q,KAAA03L,GACA8tB,EAAA8qF,EAAAvhS,EAAAy2M,GAAA9tB,EAAA/4K,KAAA5P,EAEA2oL,EAAApP,OAAAjkL,KAAA0K,GAEA,IAAA8mD,EAAAmhN,EAAAnhN,SAEA,GAAAA,EACA,QAAAp5D,EAAA,EAAqBA,EAAAo5D,EAAA5gE,OAAqBwH,IAC1CqpZ,EAAAjwV,EAAAp5D,GAAAsS,GAfA+2Y,EAAAJ,GAoBAhuN,EAAA/4K,KAAAwmY,qBAAA,GACA,IAAAlhG,EAAAhrO,EAAA2sU,EAAA,CACAxsU,gBAAA,UACA4kN,gBAAA6nH,IAEAhnZ,EAAA,IAAAi7E,EAAAmqO,EAAAppN,GAQA,OAPAh8F,EAAAm7E,SAAA4rU,GACAhkO,EAAA,CACA3E,SAAAp+K,EACAq+K,OAAAwa,EACAva,WAAA,SAEAua,EAAAz5K,SACAy5K,GAqBA,IAAAvjM,EAAA+hR,EACA9hR,EAAAC,QAAAF,wBCpiBA,IAAAo8R,EAAchgS,EAAQ,QAEtBD,EAAcC,EAAQ,QAoBtB4D,EAAA7D,EAAAu7I,oBAAA,CACAh6I,KAAA,MACA+iB,KAAA,SAAA3I,EAAAxV,GACA,IAAAm6R,EAAA,IAAAL,EAAA95R,GAAA,GACA/E,KAAAm/R,SAAAD,EACAl/R,KAAAylE,MAAAloC,IAAA2hQ,EAAAz5N,QAEAvS,OAAA,SAAAgpK,EAAA3hN,EAAAxV,EAAAynB,GAEA,IAAAA,GAAA,oBAAAA,EAAArsB,MAAAqsB,EAAA67B,OAAAroD,KAAAgqB,IAAA,CAIA,IAAAk1Q,EAAAl/R,KAAAm/R,SAEAjjE,EAAAz2N,IAAA,QACAy5R,EAAA9iH,KAAA8/C,EAAA3hN,EAAAxV,EAAA/E,KAAAwsB,GAEAxsB,KAAAm/R,SAAA15N,MAAApB,YAGArkE,KAAAylE,MAAA4hD,OAAA60G,EAAAz2N,IAAA,YAEAqQ,QAAA,WACA9V,KAAAm/R,UAAAn/R,KAAAm/R,SAAA3yR,YAIA9J,EAAAC,QAAAF,wBCtEA,IAAA+vW,EAAgB3zW,EAAQ,QAKxB83W,EAAA,WAKA32W,KAAA2vO,OAAA,IAkDA,SAAAhyM,EAAA02X,GACA,IAAAr9Y,EAAAq9Y,EAAA,MAAAA,EAAA,MACAp9Y,EAAAo9Y,EAAA,MAAAA,EAAA,MACA,OAAA3tZ,KAAAk+C,KAAA5tC,IAAAC,KAGA,SAAAiF,EAAAm4Y,GACA,QAAAA,EAAA,MAAAA,EAAA,UAAAA,EAAA,MAAAA,EAAA,UAtDA19C,EAAA12W,UAAA,CACAC,YAAAy2W,EACA0B,UAAA,SAAAlhW,EAAAd,EAAA4W,GAGA,OAFAjtB,KAAAs0Z,SAAAn9Y,EAAAd,EAAA4W,GAEAjtB,KAAAu0Z,WAAAp9Y,IAEAzK,MAAA,WAEA,OADA1M,KAAA2vO,OAAApsO,OAAA,EACAvD,MAEAs0Z,SAAA,SAAAn9Y,EAAAd,EAAA4W,GACA,IAAAunY,EAAAr9Y,EAAAq9Y,QAEA,GAAAA,EAAA,CAWA,IAPA,IAAAC,EAAA,CACA/sV,OAAA,GACA8sV,QAAA,GACAn+Y,SACAc,SAGApM,EAAA,EAAA0B,EAAA+nZ,EAAAjxZ,OAAyCwH,EAAA0B,EAAS1B,IAAA,CAClD,IAAAy+Y,EAAAgL,EAAAzpZ,GACA+1F,EAAA0xQ,EAAAw2C,cAAA/7X,EAAAu8X,EAAA,IACAiL,EAAA/sV,OAAA/0D,KAAA,CAAAmuF,EAAA+nC,IAAA/nC,EAAAgoC,MACA2rR,EAAAD,QAAA7hZ,KAAA62Y,GAGAxpZ,KAAA2vO,OAAAh9N,KAAA8hZ,KAEAF,WAAA,SAAAp9Y,GACA,QAAAoB,KAAAm8Y,EACA,GAAAA,EAAAxpZ,eAAAqN,GAAA,CACA,IAAA6/V,EAAAs8C,EAAAn8Y,GAAAvY,KAAA2vO,OAAAx4N,GAEA,GAAAihW,EACA,OAAAA,KAiBA,IAAAs8C,EAAA,CACA1/Y,MAAA,SAAA88N,EAAA36N,GACA,IAAAo4H,EAAAuiG,EAAAvuO,OAEA,GAAAgsI,EAAA,CAIA,IAAAolR,GAAA7iL,EAAAviG,EAAA,QAA6C7nE,OAC7CktV,GAAA9iL,EAAAviG,EAAA,QAA6C7nE,QAAAitV,EAE7C,GAAAC,KAAArxZ,OAAA,GAAAoxZ,KAAApxZ,OAAA,GACA,IAAA4U,EAAAwlB,EAAAg3X,GAAAh3X,EAAAi3X,IACA76Y,SAAA5B,OAAA,GACAhB,EAAAgB,aACA,IAAA08Y,EAAA34Y,EAAAy4Y,GAGA,OAFAx9Y,EAAAiB,OAAAy8Y,EAAA,GACA19Y,EAAAkB,OAAAw8Y,EAAA,GACA,CACA10Z,KAAA,QACAkW,OAAAy7N,EAAA,GAAAz7N,OACAc,aAMA1U,EAAAk0W,EACAj0W,EAAAC,QAAAF,wBC9EA,IAAA+jJ,EAAiB3nJ,EAAQ,QAwBzBi2Z,EAAAtuQ,EAAAtsI,MAUA,SAAA66Y,EAAAh6Y,EAAAo9H,EAAAqiH,EAAAC,GACA,IAAA/2P,EAAA,GACAsE,EAAA+S,EAAA,GAAAA,EAAA,GACA2B,EAAAhZ,EAAAgZ,SAAA8pI,EAAAhsC,KAAAxyG,EAAAmwI,GAAA,GAEA,MAAAqiH,GAAA99O,EAAA89O,IACA99O,EAAAhZ,EAAAgZ,SAAA89O,GAGA,MAAAC,GAAA/9O,EAAA+9O,IACA/9O,EAAAhZ,EAAAgZ,SAAA+9O,GAIA,IAAA/jM,EAAAhzD,EAAAsxZ,kBAAAC,EAAAv4Y,GAEAw4Y,EAAAxxZ,EAAAwxZ,eAAA,CAAAJ,EAAApuZ,KAAA0gE,KAAArsD,EAAA,GAAA2B,KAAAg6C,GAAAo+V,EAAApuZ,KAAAmK,MAAAkK,EAAA,GAAA2B,KAAAg6C,IAEA,OADAm9U,EAAAqhB,EAAAn6Y,GACArX,EAQA,SAAAuxZ,EAAAv4Y,GAEA,OAAA8pI,EAAA/tC,iBAAA/7F,GAAA,EAGA,SAAA0iB,EAAA81X,EAAAv3Y,EAAA5C,GACAm6Y,EAAAv3Y,GAAAjX,KAAAS,IAAAT,KAAAQ,IAAAguZ,EAAAv3Y,GAAA5C,EAAA,IAAAA,EAAA,IAIA,SAAA84X,EAAAqhB,EAAAn6Y,IACAhB,SAAAm7Y,EAAA,MAAAA,EAAA,GAAAn6Y,EAAA,KACAhB,SAAAm7Y,EAAA,MAAAA,EAAA,GAAAn6Y,EAAA,IACAqkB,EAAA81X,EAAA,EAAAn6Y,GACAqkB,EAAA81X,EAAA,EAAAn6Y,GAEAm6Y,EAAA,GAAAA,EAAA,KACAA,EAAA,GAAAA,EAAA,IAIA,SAAAC,EAAAz4Y,EAAA3B,EAAAm6Y,EAAAF,GACA,IAAAloM,EAAA,GAEA,IAAApwM,EACA,OAAAowM,EAIA,IAAAsoM,EAAA,IAEAr6Y,EAAA,GAAAm6Y,EAAA,IACApoM,EAAAn6M,KAAAoI,EAAA,IAGA,IAAAggP,EAAAm6J,EAAA,GAEA,MAAAn6J,GAAAm6J,EAAA,IAKA,GAJApoM,EAAAn6M,KAAAooP,GAEAA,EAAA+5J,EAAA/5J,EAAAr+O,EAAAs4Y,GAEAj6J,IAAAjuC,IAAAvpN,OAAA,GAGA,MAGA,GAAAupN,EAAAvpN,OAAA6xZ,EACA,SAUA,OAJAr6Y,EAAA,IAAA+xM,EAAAvpN,OAAAupN,IAAAvpN,OAAA,GAAA2xZ,EAAA,KACApoM,EAAAn6M,KAAAoI,EAAA,IAGA+xM,EAGAnqN,EAAAoyZ,yBACApyZ,EAAAsyZ,uBACAtyZ,EAAAkxY,YACAlxY,EAAAwyZ,8CC7HA,IAAA31Z,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAEtB4O,EAAmB5O,EAAQ,QA0B3Bw2Z,EAAAnxZ,EAAA6pM,YAAA,CACA5tM,KAAA,WACAyH,MAAA,CACA6W,GAAA,EACAC,GAAA,EACApc,MAAA,EACAC,OAAA,GAEAyc,UAAA,SAAAylD,EAAA78D,GACA,IAAA6W,EAAA7W,EAAA6W,GACAC,EAAA9W,EAAA8W,GACApc,EAAAsF,EAAAtF,MAAA,EACAC,EAAAqF,EAAArF,OAAA,EACAkiE,EAAAplD,OAAAZ,EAAAC,EAAAnc,GACAkiE,EAAAnlD,OAAAb,EAAAnc,EAAAoc,EAAAnc,GACAkiE,EAAAnlD,OAAAb,EAAAnc,EAAAoc,EAAAnc,GACAkiE,EAAAjlD,eAQA81Y,EAAApxZ,EAAA6pM,YAAA,CACA5tM,KAAA,UACAyH,MAAA,CACA6W,GAAA,EACAC,GAAA,EACApc,MAAA,EACAC,OAAA,GAEAyc,UAAA,SAAAylD,EAAA78D,GACA,IAAA6W,EAAA7W,EAAA6W,GACAC,EAAA9W,EAAA8W,GACApc,EAAAsF,EAAAtF,MAAA,EACAC,EAAAqF,EAAArF,OAAA,EACAkiE,EAAAplD,OAAAZ,EAAAC,EAAAnc,GACAkiE,EAAAnlD,OAAAb,EAAAnc,EAAAoc,GACA+lD,EAAAnlD,OAAAb,EAAAC,EAAAnc,GACAkiE,EAAAnlD,OAAAb,EAAAnc,EAAAoc,GACA+lD,EAAAjlD,eAQA+1Y,EAAArxZ,EAAA6pM,YAAA,CACA5tM,KAAA,MACAyH,MAAA,CAEA5F,EAAA,EACAC,EAAA,EACAK,MAAA,EACAC,OAAA,GAEAyc,UAAA,SAAAylD,EAAA78D,GACA,IAAA5F,EAAA4F,EAAA5F,EACAC,EAAA2F,EAAA3F,EACAI,EAAAuF,EAAAtF,MAAA,IAEAye,EAAAra,KAAAS,IAAA9E,EAAAuF,EAAArF,QACAqc,EAAAvc,EAAA,EAEA4U,EAAA2H,KAAAmC,EAAAnC,GACAF,EAAAzc,EAAA8e,EAAAnC,EAAA3H,EACAgvC,EAAAv/C,KAAA64B,KAAAtoB,EAAA2H,GAEA5H,EAAAtQ,KAAAwY,IAAA+mC,GAAArnC,EACA42Y,EAAA9uZ,KAAA0Y,IAAA6mC,GACAwvW,EAAA/uZ,KAAAwY,IAAA+mC,GACAyvW,EAAA,GAAA92Y,EACA+2Y,EAAA,GAAA/2Y,EACA6lD,EAAAplD,OAAArd,EAAAgV,EAAA0H,EAAAzH,GACAwtD,EAAAllD,IAAAvd,EAAA0c,EAAAE,EAAAlY,KAAAC,GAAAs/C,EAAA,EAAAv/C,KAAAC,GAAAs/C,GACAwe,EAAAkwO,cAAA3yS,EAAAgV,EAAAw+Y,EAAAE,EAAAh3Y,EAAAzH,EAAAw+Y,EAAAC,EAAA1zZ,EAAAC,EAAA0zZ,EAAA3zZ,EAAAC,GACAwiE,EAAAkwO,cAAA3yS,EAAAC,EAAA0zZ,EAAA3zZ,EAAAgV,EAAAw+Y,EAAAE,EAAAh3Y,EAAAzH,EAAAw+Y,EAAAC,EAAA1zZ,EAAAgV,EAAA0H,EAAAzH,GACAwtD,EAAAjlD,eAQAo2Y,EAAA1xZ,EAAA6pM,YAAA,CACA5tM,KAAA,QACAyH,MAAA,CACA5F,EAAA,EACAC,EAAA,EACAK,MAAA,EACAC,OAAA,GAEAyc,UAAA,SAAA3e,EAAAuH,GACA,IAAArF,EAAAqF,EAAArF,OACAD,EAAAsF,EAAAtF,MACAN,EAAA4F,EAAA5F,EACAC,EAAA2F,EAAA3F,EACA+U,EAAA1U,EAAA,IACAjC,EAAAgf,OAAArd,EAAAC,GACA5B,EAAAif,OAAAtd,EAAAgV,EAAA/U,EAAAM,GACAlC,EAAAif,OAAAtd,EAAAC,EAAAM,EAAA,KACAlC,EAAAif,OAAAtd,EAAAgV,EAAA/U,EAAAM,GACAlC,EAAAif,OAAAtd,EAAAC,GACA5B,EAAAmf,eAQAq2Y,EAAA,CACAruZ,KAAAtD,EAAAupM,KACAhsM,KAAAyC,EAAA+qE,KACA6mV,UAAA5xZ,EAAA+qE,KACA8mV,OAAA7xZ,EAAA+qE,KACAswN,OAAAr7R,EAAAiyN,OACA6/L,QAAAV,EACA3uU,IAAA4uU,EACAU,MAAAL,EACAtyT,SAAA+xT,GAEAa,EAAA,CACA1uZ,KAAA,SAAAxF,EAAAC,EAAAI,EAAA0e,EAAAnZ,GAEAA,EAAAgoD,GAAA5tD,EACA4F,EAAAioD,GAAA5tD,EAAA8e,EAAA,EACAnZ,EAAA43B,GAAAx9B,EAAAK,EACAuF,EAAA63B,GAAAx9B,EAAA8e,EAAA,GAEAtf,KAAA,SAAAO,EAAAC,EAAAI,EAAA0e,EAAAnZ,GACAA,EAAA5F,IACA4F,EAAA3F,IACA2F,EAAAtF,MAAAD,EACAuF,EAAArF,OAAAwe,GAEA+0Y,UAAA,SAAA9zZ,EAAAC,EAAAI,EAAA0e,EAAAnZ,GACAA,EAAA5F,IACA4F,EAAA3F,IACA2F,EAAAtF,MAAAD,EACAuF,EAAArF,OAAAwe,EACAnZ,EAAAgX,EAAAlY,KAAAQ,IAAA7E,EAAA0e,GAAA,GAEAg1Y,OAAA,SAAA/zZ,EAAAC,EAAAI,EAAA0e,EAAAnZ,GACA,IAAAqT,EAAAvU,KAAAQ,IAAA7E,EAAA0e,GACAnZ,EAAA5F,IACA4F,EAAA3F,IACA2F,EAAAtF,MAAA2Y,EACArT,EAAArF,OAAA0Y,GAEAskR,OAAA,SAAAv9R,EAAAC,EAAAI,EAAA0e,EAAAnZ,GAEAA,EAAA6W,GAAAzc,EAAAK,EAAA,EACAuF,EAAA8W,GAAAzc,EAAA8e,EAAA,EACAnZ,EAAAgX,EAAAlY,KAAAQ,IAAA7E,EAAA0e,GAAA,GAEAi1Y,QAAA,SAAAh0Z,EAAAC,EAAAI,EAAA0e,EAAAnZ,GACAA,EAAA6W,GAAAzc,EAAAK,EAAA,EACAuF,EAAA8W,GAAAzc,EAAA8e,EAAA,EACAnZ,EAAAtF,MAAAD,EACAuF,EAAArF,OAAAwe,GAEA4lE,IAAA,SAAA3kF,EAAAC,EAAAI,EAAA0e,EAAAnZ,GACAA,EAAA5F,IAAAK,EAAA,EACAuF,EAAA3F,IAAA8e,EAAA,EACAnZ,EAAAtF,MAAAD,EACAuF,EAAArF,OAAAwe,GAEAk1Y,MAAA,SAAAj0Z,EAAAC,EAAAI,EAAA0e,EAAAnZ,GACAA,EAAA5F,IAAAK,EAAA,EACAuF,EAAA3F,IAAA8e,EAAA,EACAnZ,EAAAtF,MAAAD,EACAuF,EAAArF,OAAAwe,GAEAuiF,SAAA,SAAAthG,EAAAC,EAAAI,EAAA0e,EAAAnZ,GACAA,EAAA6W,GAAAzc,EAAAK,EAAA,EACAuF,EAAA8W,GAAAzc,EAAA8e,EAAA,EACAnZ,EAAAtF,MAAAD,EACAuF,EAAArF,OAAAwe,IAGAo1Y,EAAA,GACA32Z,EAAA2nB,KAAA0uY,EAAA,SAAAztW,EAAA95C,GACA6nZ,EAAA7nZ,GAAA,IAAA85C,IAEA,IAAAolL,EAAAtpO,EAAA6pM,YAAA,CACA5tM,KAAA,SACAyH,MAAA,CACA0iB,WAAA,GACAtoB,EAAA,EACAC,EAAA,EACAK,MAAA,EACAC,OAAA,GAEA67O,YAAA,WACA,IAAA79O,EAAAP,KAAAO,MACAqH,EAAA5H,KAAA4H,MAEA,QAAAA,EAAA0iB,YAAA,WAAA/pB,EAAAgP,eACAhP,EAAAgP,aAAA,cACAhP,EAAAoB,UAAA,SACApB,EAAAqB,kBAAA,WAGAod,UAAA,SAAA3e,EAAAuH,EAAAssR,GACA,IAAA5pQ,EAAA1iB,EAAA0iB,WACA8rY,EAAAD,EAAA7rY,GAEA,SAAA1iB,EAAA0iB,aACA8rY,IAEA9rY,EAAA,OACA8rY,EAAAD,EAAA7rY,IAGA4rY,EAAA5rY,GAAA1iB,EAAA5F,EAAA4F,EAAA3F,EAAA2F,EAAAtF,MAAAsF,EAAArF,OAAA6zZ,EAAAxuZ,OACAwuZ,EAAAp3Y,UAAA3e,EAAA+1Z,EAAAxuZ,MAAAssR,OAKA,SAAAmiI,EAAAvvY,EAAAwvY,GACA,aAAAt2Z,KAAAG,KAAA,CACA,IAAAo2Z,EAAAv2Z,KAAAO,MACAi2Z,EAAAx2Z,KAAA4H,MAEA4uZ,GAAA,SAAAA,EAAAlsY,WACAisY,EAAA51Z,OAAAmmB,EACK9mB,KAAAy2Z,gBACLF,EAAA51Z,OAAAmmB,EACAyvY,EAAA71Z,KAAA41Z,GAAA,SAGAC,EAAA71Z,OAAA61Z,EAAA71Z,KAAAomB,GACAyvY,EAAA51Z,SAAA41Z,EAAA51Z,OAAAmmB,IAGA9mB,KAAA2kB,OAAA,IAgBA,SAAA83J,EAAAnyJ,EAAAtoB,EAAAC,EAAAI,EAAA0e,EAAA+F,EAAAyD,GAEA,IAMA8rO,EANA/6H,EAAA,IAAAhxG,EAAA8gB,QAAA,SA2BA,OAzBAkwF,IACAhxG,IAAAxZ,OAAA,KAAA4oH,cAAApvG,EAAAxZ,OAAA,IAMAulP,EADA,IAAA/rO,EAAA8gB,QAAA,YACAlnC,EAAAggW,UAAA55U,EAAA4U,MAAA,OAAAzxB,EAAAzL,EAAAC,EAAAI,EAAA0e,GAAAwJ,EAAA,kBACG,IAAAD,EAAA8gB,QAAA,WACHlnC,EAAAm4K,SAAA/xJ,EAAA4U,MAAA,MAAyD,IAAAzxB,EAAAzL,EAAAC,EAAAI,EAAA0e,GAAAwJ,EAAA,kBAEzD,IAAAijN,EAAA,CACA5lO,MAAA,CACA0iB,aACAtoB,IACAC,IACAK,MAAAD,EACAE,OAAAwe,KAKAs1O,EAAAogK,eAAAn7R,EACA+6H,EAAAx/E,SAAAw/O,EACAhgK,EAAAx/E,SAAA/vJ,GACAuvO,EAGA1zP,EAAA85K,qCC9TA,IAAAj9K,EAAaX,EAAQ,QAErByiB,EAAUziB,EAAQ,QAoBlBsoB,EAAA3nB,EAAA2nB,KACAvd,EAAApK,EAAAoK,SACAZ,EAAAxJ,EAAAwJ,QAOA0tZ,EAAA,WAOA,SAAA3mV,EAAA9rE,GACA,OAAAA,aAAAuZ,MAAAvZ,EAAA,MAAAA,EAAA,IAAAA,GAmBA,SAAAsgB,EAAAnP,EAAAnK,EAAA0rZ,GAEA,GAAAvhZ,EAAA,CACAA,EAAAnK,GAAAmK,EAAAnK,IAAA,GACAmK,EAAAynG,SAAAznG,EAAAynG,UAAA,GACAznG,EAAAynG,SAAA5xG,GAAAmK,EAAAynG,SAAA5xG,IAAA,GAEA,QAAAF,EAAA,EAAA0B,EAAAkqZ,EAAApzZ,OAAyCwH,EAAA0B,EAAS1B,IAAA,CAClD,IAAA6rZ,EAAAD,EAAA5rZ,IAEAqK,EAAAynG,SAAA5xG,GAAAC,eAAA0rZ,IAAAxhZ,EAAAnK,GAAAC,eAAA0rZ,KACAxhZ,EAAAynG,SAAA5xG,GAAA2rZ,GAAAxhZ,EAAAnK,GAAA2rZ,MAMA,IAAA9kK,EAAA,0XAeA,SAAAyxC,EAAA/hH,GACA,OAAA53K,EAAA43K,IAAAx4K,EAAAw4K,iBAAAxpJ,KAAAwpJ,IAAAv9K,MASA,SAAA0qW,EAAAntL,GACA,OAAA53K,EAAA43K,mBAAAhkK,OAcA,SAAAkgW,EAAA0U,EAAAykC,GAOAA,MAAA,IAAA33X,QACA,IAAAx7B,EAAAlE,EAAA4N,IAAAglX,GAAA,YAAAtnX,EAAAjH,GACA,OACAk7W,MAAAj0W,KA+DA,OA3DAqc,EAAA0vY,EAAA,SAAAC,EAAAjzZ,GACA,GAAA+F,EAAAktZ,GAAA,CAKA,QAAA/rZ,EAAA,EAAmBA,EAAArH,EAAAH,OAAmBwH,IACtC,IAAArH,EAAAqH,GAAAoY,QACA,MAAA2zY,EAAA7qY,IAAAvoB,EAAAqH,GAAAg0W,MAAA9yV,KAAA6qY,EAAA7qY,GAAA,GAGA,OAFAvoB,EAAAqH,GAAAoY,OAAA2zY,OACAD,EAAAhzZ,GAAA,MAKA,IAAAkH,EAAA,EAAmBA,EAAArH,EAAAH,OAAmBwH,IAAA,CACtC,IAAAg0W,EAAAr7W,EAAAqH,GAAAg0W,MAEA,IAAAr7W,EAAAqH,GAAAoY,SAEA,MAAA47V,EAAA9yV,IAAA,MAAA6qY,EAAA7qY,KAAA,MAAA6qY,EAAAxoZ,OAAAyoZ,EAAAD,KAAAC,EAAAh4C,MAAAzwW,OAAAwoZ,EAAAxoZ,KAAA,GAGA,OAFA5K,EAAAqH,GAAAoY,OAAA2zY,OACAD,EAAAhzZ,GAAA,UAMAsjB,EAAA0vY,EAAA,SAAAC,EAAAjzZ,GACA,GAAA+F,EAAAktZ,GAAA,CAMA,IAFA,IAAA/rZ,EAAA,EAEUA,EAAArH,EAAAH,OAAmBwH,IAAA,CAC7B,IAAAg0W,EAAAr7W,EAAAqH,GAAAg0W,MAEA,IAAAr7W,EAAAqH,GAAAoY,SAIA4zY,EAAAh4C,IAKA,MAAA+3C,EAAA7qY,GAAA,CACAvoB,EAAAqH,GAAAoY,OAAA2zY,EACA,OAIA/rZ,GAAArH,EAAAH,QACAG,EAAAiP,KAAA,CACAwQ,OAAA2zY,OAIApzZ,EAaA,SAAAi6W,EAAA0I,GAUA,IAAA2wC,EAAAx3Z,EAAAqrD,gBACA1jC,EAAAk/V,EAAA,SAAAxhT,EAAAhhE,GACA,IAAAozZ,EAAApyV,EAAAk6S,MACAk4C,GAAAD,EAAA5jY,IAAA6jY,EAAAhrY,GAAA44C,KAEA19C,EAAAk/V,EAAA,SAAAxhT,EAAAhhE,GACA,IAAAuR,EAAAyvD,EAAA1hD,OACA3jB,EAAA4qD,QAAAh1C,GAAA,MAAAA,EAAA6W,KAAA+qY,EAAAvxZ,IAAA2P,EAAA6W,KAAA+qY,EAAAvxZ,IAAA2P,EAAA6W,MAAA44C,EAAA,mBAAAzvD,KAAA6W,KACA7W,GAAA,MAAAA,EAAA6W,IAAA+qY,EAAA5jY,IAAAhe,EAAA6W,GAAA44C,IACAA,EAAAm6S,UAAAn6S,EAAAm6S,QAAA,MAGA73V,EAAAk/V,EAAA,SAAAxhT,EAAAhhE,GACA,IAAAozZ,EAAApyV,EAAAk6S,MACA3pW,EAAAyvD,EAAA1hD,OACA67V,EAAAn6S,EAAAm6S,QAEA,GAAAp1W,EAAAwL,GAAA,CAYA,GAJA4pW,EAAA1wW,KAAA,MAAA8G,EAAA9G,KAAA8G,EAAA9G,KAAA,GAAA2oZ,IAAA3oZ,KAEAooZ,EAAA7yZ,EAEAozZ,EACAj4C,EAAA/yV,GAAAgrY,EAAAhrY,QACK,SAAA7W,EAAA6W,GACL+yV,EAAA/yV,GAAA7W,EAAA6W,GAAA,OACK,CAML,IAAAirY,EAAA,EAEA,GACAl4C,EAAA/yV,GAAA,KAAA+yV,EAAA1wW,KAAA,KAAA4oZ,UACOF,EAAAvxZ,IAAAu5W,EAAA/yV,KAGP+qY,EAAA5jY,IAAA4rV,EAAA/yV,GAAA44C,MAIA,SAAA/8C,EAAAmmD,GACA,IAAA3/D,EAAA2/D,EAAA3/D,KAEA,SAAAA,MAAA88B,QAAAsrX,IASA,SAAAK,EAAAD,GACA,OAAAltZ,EAAAktZ,MAAA7qY,IAAA,KAAA6qY,EAAA7qY,GAAA,IAAAmf,QAAA,YAYA,SAAA04K,EAAAqzM,EAAAC,GACA,IAAAC,EAAA,GACAC,EAAA,GAGA,OAFA1tF,EAAAutF,GAAA,GAAAE,GACAztF,EAAAwtF,GAAA,GAAAE,EAAAD,GACA,CAAAE,EAAAF,GAAAE,EAAAD,IAEA,SAAA1tF,EAAA4tF,EAAApqZ,EAAAqqZ,GACA,QAAA1sZ,EAAA,EAAA0B,EAAA+qZ,EAAAj0Z,OAA6CwH,EAAA0B,EAAS1B,IAKtD,IAJA,IAAA+mL,EAAA0lO,EAAAzsZ,GAAA+mL,SACAghI,EAAA/iP,EAAAynV,EAAAzsZ,GAAA0a,WACAiyY,EAAAD,KAAA3lO,GAEAphL,EAAA,EAAAsnS,EAAA8a,EAAAvvT,OAAgDmN,EAAAsnS,EAAUtnS,IAAA,CAC1D,IAAA+U,EAAAqtS,EAAApiT,GAEAgnZ,KAAAjyY,GACAiyY,EAAAjyY,GAAA,MAEArY,EAAA0kL,KAAA1kL,EAAA0kL,GAAA,KAA+CrsK,GAAA,GAM/C,SAAA8xY,EAAAnqZ,EAAAuqZ,GACA,IAAAj0Z,EAAA,GAEA,QAAAqH,KAAAqC,EACA,GAAAA,EAAAlC,eAAAH,IAAA,MAAAqC,EAAArC,GACA,GAAA4sZ,EACAj0Z,EAAAiP,MAAA5H,OACS,CACT,IAAA+nT,EAAAykG,EAAAnqZ,EAAArC,IAAA,GACA+nT,EAAAvvT,QAAAG,EAAAiP,KAAA,CACAm/K,SAAA/mL,EACA0a,UAAAqtS,IAMA,OAAApvT,GAWA,SAAAo5B,EAAAvxB,EAAAihB,GACA,aAAAA,EAAAuQ,gBACAvQ,EAAAuQ,gBACG,MAAAvQ,EAAA/G,UACHjmB,EAAAwJ,QAAAwjB,EAAA/G,WAAAjmB,EAAA4N,IAAAof,EAAA/G,UAAA,SAAAxhB,GACA,OAAAsH,EAAAyxB,gBAAA/4B,KACKsH,EAAAyxB,gBAAAxQ,EAAA/G,WACF,MAAA+G,EAAAle,KACH9O,EAAAwJ,QAAAwjB,EAAAle,MAAA9O,EAAA4N,IAAAof,EAAAle,KAAA,SAAArK,GACA,OAAAsH,EAAA0xB,YAAAh5B,KACKsH,EAAA0xB,YAAAzQ,EAAAle,WAHF,EA4BH,SAAAqU,IAEA,IAAA1X,EAAA,gBAAA2sZ,IAAA,IAAAlxZ,KAAAy3B,SAAAm6E,QAAA,GACA,gBAAAu/S,GACA,OAAAA,EAAA5sZ,KAAA4sZ,EAAA5sZ,GAAA,KAIA,IAAA2sZ,EAAA,EAqCA,SAAAroI,EAAAh1Q,EAAA0hN,EAAA7mN,GACA,GAAA5V,EAAAiK,SAAAwyN,GAAA,CACA,IAAAnxN,EAAA,GACAA,EAAAmxN,EAAA,WACAA,EAAAnxN,EAGA,IAAAg3Y,EAAA1sY,KAAA0sY,iBAEAA,GAAAjuT,EAAAooI,EAAA6lL,EAAA,UAAAjuT,EAAAooI,EAAA6lL,EAAA,OAAAjuT,EAAAooI,EAAA6lL,EAAA,UACA7lL,EAAA6lL,EAAA,YAGA,IAAAp+Y,EAAA,GA6BA,OA5BAyjB,EAAA80M,EAAA,SAAAh4N,EAAAgH,GACAhH,EAAAg4N,EAAAhxN,GAEA,iBAAAA,GAAA,oBAAAA,EAAA,CAKA,IAAA6sZ,EAAA7sZ,EAAA4rB,MAAA,8BACA7K,EAAA8rY,EAAA,GACAC,GAAAD,EAAA,QAAAp+R,cAEA,MAAA1tG,IAAA+rY,GAAA,MAAA9zZ,GAAA,UAAA8zZ,GAAA,SAAA9zZ,GAAAmR,KAAAw6Q,kBAAApwR,EAAA4rC,QAAAh2B,EAAAw6Q,iBAAA5jQ,GAAA,IAIA,IAAAgsY,EAAA,CACAhsY,YAGA,UAAA+rY,GAAA,QAAA9zZ,IACA+zZ,EAAAD,GAAA9zZ,GAGA,IAAA49Y,EAAAtnY,EAAAwR,gBAAAisY,GACAt0Z,EAAAsoB,EAAA,UAAA61X,EACAn+Y,EAAAsoB,EAAA,SAAA61X,EAAA,SAtBAn+Y,EAAAuH,GAAAhH,IAwBAP,EAGA,SAAAmwF,EAAA/oF,EAAAq+C,GACA,OAAAr+C,KAAAI,eAAAi+C,GAGA,SAAA8yP,EAAAr+N,EAAA3yE,EAAAhH,GACA25E,EAAAq+N,aAAAr+N,EAAAq+N,aAAAhxS,EAAAhH,GAAA25E,EAAA3yE,GAAAhH,EAGA,SAAAw/H,EAAA7lD,EAAA3yE,GACA,OAAA2yE,EAAA6lD,aAAA7lD,EAAA6lD,aAAAx4H,GAAA2yE,EAAA3yE,GAGA,SAAAgrO,EAAAI,GACA,eAAAA,EAEA/0N,EAAA22Y,aAAA,kBAEA5hL,GAAA,OAgBA,SAAAo7E,EAAAr0R,EAAAk4K,GACA,IAAAy8G,EAAAvyT,EAAAqrD,gBACA70B,EAAA,GAKA,OAJAx2B,EAAA2nB,KAAAiW,EAAA,SAAAynC,GACA,IAAA55D,EAAAqqM,EAAAzwI,IACAktP,EAAAtsT,IAAAwF,KAAA+qB,EAAArjB,KAAA1H,GAAA8mT,EAAA3+R,IAAAnoB,EAAA,MAAA0H,KAAAkyD,KAEA,CACA7uC,OACA+7R,WAIApvT,EAAAotE,mBACAptE,EAAA4hB,kBACA5hB,EAAAmvP,qBACAnvP,EAAA4gS,mBACA5gS,EAAAgsW,mBACAhsW,EAAA+6W,kBACA/6W,EAAAg7W,gBACAh7W,EAAAmlB,kBACAnlB,EAAAo0Z,YACAp0Z,EAAAmhN,kBACAnhN,EAAAm6B,iBACAn6B,EAAAggB,YACAhgB,EAAA4sR,cACA5sR,EAAAs5S,eACAt5S,EAAA8gI,eACA9gI,EAAAszO,uBACAtzO,EAAA8uT,kCCliBA,IAAA7/R,EAAW/yB,EAAQ,QAEnBuiB,EAAcviB,EAAQ,QAEtB+M,EAAAwV,EAAAxV,iBAEAw9O,EAAYvqP,EAAQ,QAEpBo0R,EAAcp0R,EAAQ,QAMtB,SAAAq5Z,IACA,SAYA,SAAAC,EAAAlsY,EAAAi7F,EAAAv7G,GACA,IAAAysZ,EAAAxmY,EAAAk3B,eACAxmD,EAAA4kH,EAAA34G,WACAhM,EAAA2kH,EAAA5oD,YACA+5V,EAAAD,EAAA73Z,MAcA,OAZA83Z,IAEAA,EAAA/xZ,SAAA,WACA+xZ,EAAA/oX,KAAA,EACA+oX,EAAA5oX,IAAA,EACA4oX,EAAA/1Z,QAAA,KACA+1Z,EAAA91Z,SAAA,KACA61Z,EAAAn8G,aAAA,iBAAAhwR,IAGAmsY,EAAA91Z,QAAAqJ,EACAysZ,EAAA71Z,SAAAoJ,EACAysZ,EAYA,IAAAh9I,EAAA,SAAAnvP,EAAAi7F,EAAAv7G,GACA,IAAAiyE,EACAjyE,KAAAC,EAEA,kBAAAqgB,EACA2xD,EAAAu6U,EAAAlsY,EAAAi7F,EAAAv7G,GAEAimB,EAAAhoB,SAAAqiB,KACA2xD,EAAA3xD,EACAA,EAAA2xD,EAAA3xD,IAGAjsB,KAAAisB,KACAjsB,KAAA49E,MACA,IAAAi2R,EAAAj2R,EAAAr9E,MAEAszW,IAEAj2R,EAAA06U,cAAAJ,EAEArkD,EAAA,8BACAA,EAAA,sBACAA,EAAA,gCACAA,EAAA,+CACAA,EAAA,aACAA,EAAA,YACAA,EAAA,mBAGA7zW,KAAAu4Z,QAAA,KACAv4Z,KAAAw4Z,QAAA,KACAx4Z,KAAAknH,UACAlnH,KAAAg6L,OAAA,KAQAh6L,KAAA0yD,WAAA,EAOA1yD,KAAA+tP,YAAA,EAOA/tP,KAAAiuP,eAAA,GAMAjuP,KAAA2L,OAGAyvQ,EAAAn7Q,UAAA,CACAC,YAAAk7Q,EACA56Q,SAAA,EACAyhC,QAAA,EACAk8O,YAAA,EACAniE,aAAA,EACAsiE,WAAA,EACAloE,aAAA,EACAkpE,gBAAA,WACA,OAAAt/Q,KAAAs+Q,WAAAt+Q,KAAAg8M,cAEAugE,YAAA,WACAv8Q,KAAAK,IAAAL,KAAA49E,IAAAhwE,WAAA,MACA5N,KAAAK,IAAAsL,IAAA3L,KAAA2L,KAEA8sZ,iBAAA,WACA,IAAA9sZ,EAAA3L,KAAA2L,IACA3L,KAAAu4Z,QAAAJ,EAAA,QAAAn4Z,KAAAisB,GAAAjsB,KAAAknH,QAAAv7G,GACA3L,KAAAw4Z,QAAAx4Z,KAAAu4Z,QAAA3qZ,WAAA,MAEA,IAAAjC,GACA3L,KAAAw4Z,QAAAzgZ,MAAApM,MAQA0yD,OAAA,SAAA/7D,EAAAC,GACA,IAAAoJ,EAAA3L,KAAA2L,IACAiyE,EAAA59E,KAAA49E,IACAi2R,EAAAj2R,EAAAr9E,MACAg4Z,EAAAv4Z,KAAAu4Z,QAEA1kD,IACAA,EAAAvxW,QAAA,KACAuxW,EAAAtxW,SAAA,MAGAq7E,EAAAt7E,QAAAqJ,EACAiyE,EAAAr7E,SAAAoJ,EAEA4sZ,IACAA,EAAAj2Z,QAAAqJ,EACA4sZ,EAAAh2Z,SAAAoJ,EAEA,IAAAA,GACA3L,KAAAw4Z,QAAAzgZ,MAAApM,OAUAe,MAAA,SAAA0sF,EAAA1mC,GACA,IAqBAgmW,EArBA96U,EAAA59E,KAAA49E,IACAv9E,EAAAL,KAAAK,IACAiC,EAAAs7E,EAAAt7E,MACAC,EAAAq7E,EAAAr7E,OAEAo2Z,GADAjmW,KAAA1yD,KAAA0yD,WACA1yD,KAAA+tP,aAAA30J,GACA60J,EAAAjuP,KAAAiuP,eACAtiP,EAAA3L,KAAA2L,KAEAgtZ,IACA34Z,KAAAu4Z,SACAv4Z,KAAAy4Z,mBAGAz4Z,KAAAw4Z,QAAA3tK,yBAAA,OACA7qP,KAAAw4Z,QAAA1iY,UAAA8nD,EAAA,IAAAt7E,EAAAqJ,EAAApJ,EAAAoJ,IAGAtL,EAAAynH,UAAA,IAAAxlH,EAAAC,GAEAmwD,GAAA,gBAAAA,KAGAA,EAAAjrC,YAEAixY,EAAAhmW,EAAAkmW,kBAAAxvK,EAAA+B,YAAA9qP,EAAAqyD,EAAA,CACA1wD,EAAA,EACAC,EAAA,EACAK,QACAC,WAEAmwD,EAAAkmW,iBAAAF,GAEAhmW,EAAA5/C,QACA4lZ,EAAAzlI,EAAAhzR,UAAAizR,iBAAAnzR,KAAA2yD,EAAAryD,IAGAA,EAAA6Y,OACA7Y,EAAAw9F,UAAA66T,GAAAhmW,EACAryD,EAAAy9F,SAAA,IAAAx7F,EAAAC,GACAlC,EAAAiZ,WAGA,GAAAq/Y,EAAA,CACA,IAAAJ,EAAAv4Z,KAAAu4Z,QACAl4Z,EAAA6Y,OACA7Y,EAAAuqP,YAAAqD,EACA5tP,EAAAy1B,UAAAyiY,EAAA,IAAAj2Z,EAAAC,GACAlC,EAAAiZ,aAIA,IAAA7W,EAAA24Q,EACA14Q,EAAAC,QAAAF,wBCpNA,IAAAjD,EAAaX,EAAQ,QAErB+jB,EAAkB/jB,EAAQ,QAE1Bq8X,EAAwBr8X,EAAQ,QAEhC4sS,EAAAyvF,EAAAzvF,iBAoBAotH,EAAAj2Y,EAAAle,OAAA,CACAvE,KAAA,iBACA4lH,aAAA,yBAUAsmL,uBAAA,EACA/9R,KAAA,MACAkuO,gBAAA,GACG,CACHluO,KAAA,KACAkuO,gBAAA,GACG,CACHluO,KAAA,SACAkuO,gBAAA,GACG,CACHluO,KAAA,KACAkuO,gBAAA,GACG,CACHluO,KAAA,MACAkuO,gBAAA,IAOA/jK,WAAA,KAKA31D,cAAA,CACAq5F,OAAA,EAEAh/E,EAAA,EAEAj4B,iBAAA,cACAykL,iBAAA,EACAwkD,gBAAA,EAGAloO,OAAA,KAEAm2G,SAAA,OAEA9Q,UAAA,CACAxkF,MAAA,OACA81F,YAAA,GAEAC,SAAA,CACAvR,UAAA,CACAsR,YAAA,EACAh8G,WAAA,EACAE,cAAA,EACAC,cAAA,EACAF,YAAA,oBAGAqkN,gBAAA,aACAmgE,kBAAA,OAGA7lR,EAAAoZ,MAAAigZ,EAAAptH,GAAA,GACA,IAAAhpS,EAAAo2Z,EACAn2Z,EAAAC,QAAAF,wBCpHA,IAAAgtN,EAAgB5wN,EAAQ,QACxByE,EAAezE,EAAQ,OAARA,CAAgB,YAC/B0lE,EAAA/mD,MAAAvd,UAEAyC,EAAAC,QAAA,SAAA4K,GACA,YAAAjF,IAAAiF,IAAAkiN,EAAAjyM,QAAAjQ,GAAAg3D,EAAAjhE,KAAAiK,0BCcA,IAAA+T,EAAUziB,EAAQ,QAElBgsM,EAAWhsM,EAAQ,QAEnBg4N,EAAqBh4N,EAAQ,QAsB7Bi6Z,EAAAjuN,EAAAN,QAAAa,YAEA,SAAA2tN,EAAAp1Y,GACA3jB,KAAA2jB,QAGAo1Y,EAAAj2Y,cAAA,CACAo5F,MAAA,EACAizG,KAAA,mFACA3kB,MAAAsuN,EAAAtuN,MACArqM,KAAA,MAGAmO,KAAA,GACAgzY,kBAAA,YACAz5R,WAAA,EACAgjF,KAAAiuN,EAAAjuN,KAAA3rK,SAEA65X,EAAA94Z,UAAAizS,UAAA5xR,EAAA2gN,gBACA,IAAA9iM,EAAA45X,EAAA94Z,UAEAk/B,EAAAgtF,QAAA,SAAA5xG,EAAAxV,GACA,IAAA4e,EAAA3jB,KAAA2jB,MACA6mL,EAAA7mL,EAAAle,IAAA,SAAA8U,EAAA9U,IAAA,2BACAuzZ,EAAApuZ,SAAAirB,cAAA,KACA11B,EAAAwjB,EAAAle,IAAA,kBACAuzZ,EAAAC,SAAAzuN,EAAA,IAAArqM,EACA64Z,EAAA3iZ,OAAA,SACA,IAAAinF,EAAAv4F,EAAAqkT,oBAAA,CACAjpT,OACAu8G,gBAAA/4F,EAAAle,IAAA,uBAAA8U,EAAA9U,IAAA,2BACA67Y,kBAAA39X,EAAAle,IAAA,qBACAoiH,WAAAlkG,EAAAle,IAAA,gBAIA,GAFAuzZ,EAAA90J,KAAA5mK,EAEA,oBAAA47T,YAAA53Y,EAAAghR,QAAA9qB,IAAAl2P,EAAAghR,QAAA5kR,KASA,GAAA/S,OAAAF,UAAA0uZ,iBAAA,CACA,IAAAC,EAAAC,KAAA/7T,EAAA7uF,MAAA,SACAof,EAAAurY,EAAA71Z,OACA+1Z,EAAA,IAAA/tW,WAAA19B,GAEA,MAAAA,IACAyrY,EAAAzrY,GAAAurY,EAAApoZ,WAAA6c,GAGA,IAAA0rY,EAAA,IAAA1gO,KAAA,CAAAygO,IACA3uZ,OAAAF,UAAA0uZ,iBAAAI,EAAA/uN,EAAA,IAAArqM,OACO,CACP,IAAA0qM,EAAAlnL,EAAAle,IAAA,QACAuiB,EAAA,qCAA+Cs1E,EAAA,qCAAoDutG,KAAA,sBACnG2uN,EAAA7uZ,OAAAyjH,OACAorS,EAAA5uZ,SAAAggT,MAAA5iS,OAxBA,CACA,IAAAyxY,EAAA,IAAAP,WAAA,SACAhiU,KAAAvsF,OACAulK,SAAA,EACAwpP,YAAA,IAEAV,EAAA7wR,cAAAsxR,KAuBA5iM,EAAA7+D,SAAA,cAAA+gQ,GACA,IAAAt2Z,EAAAs2Z,EACAr2Z,EAAAC,QAAAF,wBC7FA,IAAA2mO,EAAiBvqO,EAAQ,QAEzBw9T,EAAgBx9T,EAAQ,QA8BxBqsT,EAAA,SAAA58S,GAIAtO,KAAAsO,QAAA,GAMAtO,KAAAye,GAAA,EAMAze,KAAA0e,GAAA,EAMA1e,KAAA25Z,YAAA,IAAAvwL,EAMAppO,KAAA45Z,WAAA,IAAAv9F,EACAr8T,KAAA25Z,YAAA7oN,MAAA9wM,KAAA45Z,WAAA9oN,MAAA9wM,MAGAkrT,EAAAjrT,UAAA,CACAE,KAAA,QACA4uX,oBAAA,EACA7uX,YAAAgrT,EAMAzyO,WAAA,mBAKA90D,MAAA,KAOAgxC,aAAA,SAAAkV,GACA,IAAAtpD,EAAAvgB,KAAA0oY,aAAA7+T,GACA,OAAA7pE,KAAA25Z,YAAAr5Y,QAAAC,EAAA,KAAAvgB,KAAA45Z,WAAAt5Y,QAAAC,EAAA,KAQAklI,YAAA,SAAAl6I,GACA,OAAAvL,KAAA25Z,YAAAl0Q,YAAAl6I,EAAA,KAAAvL,KAAA45Z,WAAAn0Q,YAAAl6I,EAAA,KAOA0wI,QAAA,SAAA3gI,GACA,OAAAtb,KAAA,IAAAsb,EAAA,SAMAwqI,QAAA,WACA,OAAA9lJ,KAAA25Z,YAAA35Z,KAAA45Z,aAQA7zQ,eAAA,SAAAC,GACA,IAAAhG,EAAA,GACAy1E,EAAAz1N,KAAA45Z,WACApkM,EAAAx1N,KAAA25Z,YAGA,OAFAlkM,EAAA19M,MAAA5X,OAAA6lJ,GAAAhG,EAAArtI,KAAA8iN,GACAD,EAAAz9M,MAAA5X,OAAA6lJ,GAAAhG,EAAArtI,KAAA6iN,GACAx1E,GAMA01E,aAAA,WACA,OAAA11N,KAAA45Z,YAMAvuG,cAAA,WACA,OAAArrT,KAAA25Z,aAOA7+Y,aAAA,SAAA9V,GACA,IAAAywN,EAAAz1N,KAAA45Z,WACA,OAAA50Z,IAAAywN,EAAAz1N,KAAA25Z,YAAAlkM,GAQA76M,YAAA,WACA,OAAA5a,KAAA+lJ,eAAA,eAAA/lJ,KAAA+lJ,eAAA,YAAA/lJ,KAAA01N,gBAOAk6J,eAAA,SAAAt0W,GACA,IAAAX,EAAA,MAAAW,GAAA,SAAAA,EAAAtb,KAAAi8I,QAAA3gI,GAAAtb,KAAA4a,cACA,OACAi1W,SAAA,CAAAl1W,GACA6zW,UAAA,CAAAxuX,KAAA8a,aAAAH,MAWApV,YAAA,SAAAgG,EAAA6zB,GACA,OAAAp/B,KAAAs5N,aAAA,CAAAt5N,KAAA25Z,YAAAtwL,aAAA99N,EAAA,GAAA6zB,GAAAp/B,KAAA45Z,WAAAt9F,YAAA/wT,EAAA,GAAA6zB,MASAiiF,YAAA,SAAAx3C,EAAAzqC,GACA,IAAA7e,EAAAvgB,KAAA0oY,aAAA7+T,GACA,OAAA7pE,KAAA25Z,YAAArwL,aAAA/oN,EAAA,GAAA6e,GAAAp/B,KAAA45Z,WAAAr9F,YAAAh8S,EAAA,GAAA6e,KAQAspW,aAAA,SAAA7+T,GACA,IAAA7yD,EAAA6yD,EAAA,GAAA7pE,KAAAye,GACAxH,EAAA4yD,EAAA,GAAA7pE,KAAA0e,GACA+2M,EAAAz1N,KAAA01N,eACA36M,EAAA06M,EAAAz6M,YACA8qL,EAAAp/L,KAAAQ,IAAA6T,EAAA,GAAAA,EAAA,IACA8+Y,EAAAnzZ,KAAAS,IAAA4T,EAAA,GAAAA,EAAA,IAGA06M,EAAA5wK,QAAAihJ,EAAA+zN,EAAA,IAAAA,EAAA/zN,EAAA,IACA,IAAA3pL,EAAAzV,KAAAk+C,KAAA5tC,IAAAC,KACAD,GAAAmF,EACAlF,GAAAkF,EACA,IAAA8jE,EAAAv5E,KAAA44B,OAAAroB,EAAAD,GAAAtQ,KAAAC,GAAA,IAEA+yB,EAAAumD,EAAA6lH,EAAA,KAEA,MAAA7lH,EAAA6lH,GAAA7lH,EAAA45U,EACA55U,GAAA,IAAAvmD,EAGA,OAAAvd,EAAA8jE,IAQAq5I,aAAA,SAAA/4M,GACA,IAAApE,EAAAoE,EAAA,GACA0/D,EAAA1/D,EAAA,OAAA7Z,KAAAC,GACA3E,EAAA0E,KAAAwY,IAAA+gE,GAAA9jE,EAAAnc,KAAAye,GAEAxc,GAAAyE,KAAA0Y,IAAA6gE,GAAA9jE,EAAAnc,KAAA0e,GACA,OAAA1c,EAAAC,KAGA,IAAAQ,EAAAyoT,EACAxoT,EAAAC,QAAAF,wBClQA,IAAAw7N,EAAap/N,EAAQ,QACrBmtO,EAAgBntO,EAAQ,QACxBwmY,EAAqBxmY,EAAQ,QAG7Bi7Z,EAAA,gBACAC,EAAA,qBAGAjuL,EAAA7N,IAAA8N,iBAAAzjO,EASA,SAAA4jX,EAAAjoX,GACA,aAAAA,OACAqE,IAAArE,EAAA81Z,EAAAD,EAEAhuL,QAAA/iO,OAAA9E,GACA+nO,EAAA/nO,GACAohY,EAAAphY,GAGAvB,EAAAC,QAAAupX,wBC3BA,IAAAv+W,EAAY9O,EAAQ,QAEpBgP,EAAAF,EAAAE,UACAC,EAAAH,EAAAG,UACAqZ,EAAAxZ,EAAAwZ,KACAgjC,EAAAx8C,EAAAw8C,kBACA1gD,EAAAkE,EAAAlE,SACAG,EAAA+D,EAAA/D,SAEAnK,EAAkBZ,EAAQ,QAE1Bm7Z,EAAsBn7Z,EAAQ,QAE9B6O,EAAkB7O,EAAQ,QAE1BqqP,EAAgBrqP,EAAQ,QAExBc,EAAgBd,EAAQ,QAExBe,EAAAD,EAAAC,gBACAiZ,EAAAlZ,EAAAkZ,iBACA1K,EAAA1O,EAAA0O,aAEA8rZ,EAAA,CACA3qX,KAAA,EACAC,MAAA,EACArzB,OAAA,GAEAg+Y,EAAA,CACAzqX,IAAA,EACAD,OAAA,EACAysC,OAAA,GAIAk+U,EAAA,oKAMA,SAAA15Z,EAAAF,GAGA,OAFA65Z,EAAA75Z,GACA4mB,EAAA5mB,EAAAwB,KAAAq4Z,GACA75Z,EAGA,SAAA65Z,EAAA75Z,GACA,GAAAA,EAAA,CACAA,EAAAmB,KAAAjC,EAAAgU,SAAAlT,GACA,IAAAoB,EAAApB,EAAAoB,UACA,WAAAA,MAAA,UACApB,EAAAoB,UAAA,MAAAA,GAAAs4Z,EAAAt4Z,KAAA,OAEA,IAAAC,EAAArB,EAAAqB,mBAAArB,EAAAosO,aACA,WAAA/qO,MAAA,UACArB,EAAAqB,kBAAA,MAAAA,GAAAs4Z,EAAAt4Z,KAAA,MACA,IAAAC,EAAAtB,EAAAsB,YAEAA,IACAtB,EAAAsB,YAAAsoD,EAAA5pD,EAAAsB,eAcA,SAAAV,EAAAunJ,EAAAroJ,EAAAW,EAAAT,EAAAkB,EAAAnB,GACAC,EAAAwB,KAAAs4Z,EAAA3xQ,EAAAroJ,EAAAW,EAAAT,EAAAkB,EAAAnB,GAAAg6Z,EAAA5xQ,EAAAroJ,EAAAW,EAAAT,EAAAkB,EAAAnB,GAKA,SAAAg6Z,EAAA5xQ,EAAAroJ,EAAAW,EAAAT,EAAAkB,EAAAnB,GACA,aAEA,IACAmqP,EADA8vK,EAAAC,EAAAj6Z,GAEAk6Z,GAAA,EACAC,EAAAr6Z,EAAAgB,iBAAAzB,EAAAkmN,WAEAxlN,IAAAuY,GACAvY,IACAmqP,EAAAnqP,EAAAC,MACAk6Z,GAAAF,GAAAG,GAAAjwK,GAMApqP,EAAAgB,eAAAk5Z,EAAA36Z,EAAA0B,KAAA1B,EAAAkmN,YAGA40M,IACAr6Z,EAAAgB,eAAAzB,EAAA0B,MAGA,IAAAq5Z,EAAAp6Z,EAAAmB,MAAAyM,EAWAssZ,GAAAE,KAAAlwK,EAAA/oP,MAAAyM,KACA9N,EAAAqB,KAAAi5Z,GAMA,IAAAC,EAAAlyQ,EAAAmyQ,eAEAnyQ,EAAAoyQ,cAAAH,IACAjyQ,EAAAoyQ,YAAAH,EACAC,EAAAlyQ,EAAAmyQ,eAAAx6Z,EAAAqB,MAGA,IAAAG,EAAAtB,EAAAsB,YACAC,EAAAvB,EAAAuB,eACAgN,EAAA45I,EAAAqyQ,kBAEAjsZ,IAAA45I,EAAA+1H,cACA3vQ,EAAA45I,EAAAqyQ,kBAAAt7Z,EAAAsP,eAAA/N,EAAA45Z,EAAA/4Z,EAAAC,EAAAvB,EAAAoO,WAGA,IAAAM,EAAAH,EAAAG,YACAT,EAAAM,EAAAqC,MACA/B,EAAAN,EAAAM,WACA4rZ,EAAAC,EAAAhsZ,EAAA1O,EAAAkB,GACAy5Z,EAAAF,EAAAE,MACAC,EAAAH,EAAAG,MACAx5Z,EAAAq5Z,EAAAr5Z,WAAA,OACAC,EAAAo5Z,EAAAp5Z,kBAEAw5Z,EAAA/6Z,EAAAE,EAAAkB,EAAAy5Z,EAAAC,GACA,IAAAE,EAAA57Z,EAAA0P,YAAAgsZ,EAAAlsZ,EAAArN,GACA+mN,EAAAuyM,EACA1nM,EAAA6nM,EAEA,GAAAd,GAAA14Z,EAAA,CAEA,IAAAyQ,EAAA7S,EAAA8O,SAAAvN,EAAA45Z,GACA5rZ,EAAAsD,EACAzQ,IAAAmN,GAAAnN,EAAA,GAAAA,EAAA,IACA,IAAAy5Z,EAAA77Z,EAAAyP,YAAAgsZ,EAAAlsZ,EAAArN,GACA44Z,GAAAgB,EAAA7yQ,EAAAroJ,EAAAE,EAAA+6Z,EAAAD,EAAArsZ,EAAAC,GAEApN,IACA8mN,EAAA6yM,EAAAN,EAAAv5Z,EAAAE,GACA2xN,GAAA3xN,EAAA,IAOAxB,EAAAsB,YAGAtB,EAAAssO,aAAA,SAEAtsO,EAAAuqP,YAAArqP,EAAAuzD,SAAA,EAEA,QAAA/oD,EAAA,EAAiBA,EAAAovZ,EAAA52Z,OAAsCwH,IAAA,CACvD,IAAA0wZ,EAAAtB,EAAApvZ,GACA2wZ,EAAAD,EAAA,GACAE,EAAAF,EAAA,GACAxyZ,EAAA1I,EAAAm7Z,GAEAjB,GAAAxxZ,IAAAwhP,EAAAixK,KACAr7Z,EAAAs7Z,GAAAzyK,EAAA7oP,EAAAs7Z,EAAA1yZ,GAAAwyZ,EAAA,KAKAjoM,GAAApkN,EAAA,EACA,IAAAhN,EAAA7B,EAAA6B,gBACAw5Z,EAAAnB,EAAAhwK,EAAAroP,gBAAA,KACAy5Z,GAAApB,GAAAr4Z,IAAAw5Z,EACAE,GAAArB,GAAAoB,GAAAt7Z,EAAA4B,aAAAsoP,EAAAtoP,WACAA,EAAAD,EAAA3B,EAAA4B,WAAAC,GACA0nG,EAAAiyT,EAAAx7Z,EAAAupG,UAmBA,GAjBA3nG,IACA05Z,IACAx7Z,EAAAoQ,UAAArO,GAGA05Z,IACAz7Z,EAAAsqP,YAAAxoP,IAIA2nG,IACA2wT,GAAAl6Z,EAAAupG,WAAA2gJ,EAAA3gJ,WACAzpG,EAAAw9F,UAAAiM,IAKA,IAAAt7F,EAAAjL,OAEApB,GAAA9B,EAAA27Z,WAAAxtZ,EAAA,GAAAm6M,EAAA6K,GACA1pH,GAAAzpG,EAAA47Z,SAAAztZ,EAAA,GAAAm6M,EAAA6K,QAEA,IAAAzoN,EAAA,EAAmBA,EAAAyD,EAAAjL,OAAsBwH,IAEzC5I,GAAA9B,EAAA27Z,WAAAxtZ,EAAAzD,GAAA49M,EAAA6K,GACA1pH,GAAAzpG,EAAA47Z,SAAAztZ,EAAAzD,GAAA49M,EAAA6K,GACAA,GAAApkN,EAKA,SAAAirZ,EAAA3xQ,EAAAroJ,EAAAW,EAAAT,EAAAkB,EAAAnB,GAGAA,IAAAuY,IACAxY,EAAAgB,eAAAzB,EAAA0B,MAGA,IAAAwN,EAAA45I,EAAAqyQ,kBAEAjsZ,IAAA45I,EAAA+1H,cACA3vQ,EAAA45I,EAAAqyQ,kBAAAt7Z,EAAA4P,cAAArO,EAAAT,IAGA27Z,EAAAxzQ,EAAAroJ,EAAAyO,EAAAvO,EAAAkB,GAGA,SAAAy6Z,EAAAxzQ,EAAAroJ,EAAAyO,EAAAvO,EAAAkB,GACA,IAAA6O,EAAAxB,EAAAxM,MACA0M,EAAAF,EAAAE,WACAC,EAAAH,EAAAG,YACApN,EAAAtB,EAAAsB,YACAm5Z,EAAAC,EAAAhsZ,EAAA1O,EAAAkB,GACAy5Z,EAAAF,EAAAE,MACAC,EAAAH,EAAAG,MACAx5Z,EAAAq5Z,EAAAr5Z,UACAC,EAAAo5Z,EAAAp5Z,kBAEAw5Z,EAAA/6Z,EAAAE,EAAAkB,EAAAy5Z,EAAAC,GACA,IAAAG,EAAA77Z,EAAAyP,YAAAgsZ,EAAAlsZ,EAAArN,GACA05Z,EAAA57Z,EAAA0P,YAAAgsZ,EAAAlsZ,EAAArN,GACA2pN,EAAA+vM,EACAa,EAAAd,EAEAx5Z,IACA0pN,GAAA1pN,EAAA,GACAs6Z,GAAAt6Z,EAAA,IAGA,IAAA2pN,EAAAD,EAAAj7M,EACAkqZ,EAAAj6Z,IAAAg7Z,EAAA7yQ,EAAAroJ,EAAAE,EAAA+6Z,EAAAD,EAAArsZ,EAAAC,GAEA,QAAAlE,EAAA,EAAiBA,EAAA+D,EAAAqC,MAAA5N,OAA+BwH,IAAA,CAChD,IASAkH,EATAzK,EAAAsH,EAAAqC,MAAApG,GACAiH,EAAAxK,EAAAwK,OACAoqZ,EAAApqZ,EAAAzO,OACA6L,EAAA5H,EAAA4H,WACAitZ,EAAA70Z,EAAAlF,MACA83H,EAAA,EACAkiS,EAAA/wM,EACAgxM,EAAA/wM,EACAnxF,EAAA+hS,EAAA,EAGA,MAAAhiS,EAAAgiS,IAAAnqZ,EAAAD,EAAAooH,IAAAnoH,EAAAtQ,WAAA,SAAAsQ,EAAAtQ,WACA66Z,EAAA9zQ,EAAAroJ,EAAA4R,EAAA1R,EAAA6O,EAAA+sZ,EAAAG,EAAA,QACAD,GAAApqZ,EAAA3P,MACAg6Z,GAAArqZ,EAAA3P,MACA83H,IAGA,MAAAC,GAAA,IAAApoH,EAAAD,EAAAqoH,GAAA,UAAApoH,EAAAtQ,WACA66Z,EAAA9zQ,EAAAroJ,EAAA4R,EAAA1R,EAAA6O,EAAA+sZ,EAAAI,EAAA,SACAF,GAAApqZ,EAAA3P,MACAi6Z,GAAAtqZ,EAAA3P,MACA+3H,IAIAiiS,IAAAhsZ,GAAAgsZ,EAAA/wM,IAAAC,EAAA+wM,GAAAF,GAAA,EAEA,MAAAjiS,GAAAC,EACApoH,EAAAD,EAAAooH,GAEAoiS,EAAA9zQ,EAAAroJ,EAAA4R,EAAA1R,EAAA6O,EAAA+sZ,EAAAG,EAAArqZ,EAAA3P,MAAA,YACAg6Z,GAAArqZ,EAAA3P,MACA83H,IAGA+hS,GAAA/sZ,GAIA,SAAAgsZ,EAAA/6Z,EAAAE,EAAAkB,EAAAO,EAAAC,GAEA,GAAAR,GAAAlB,EAAA6pP,aAAA,CACA,IAAA91J,EAAA/zF,EAAA8pP,WAEA,WAAA/1J,GACAtyF,EAAAP,EAAAa,MAAA,EAAAb,EAAAO,EACAC,EAAAR,EAAAc,OAAA,EAAAd,EAAAQ,GACKqyF,IACLtyF,EAAAsyF,EAAA,GAAA7yF,EAAAO,EACAC,EAAAqyF,EAAA,GAAA7yF,EAAAQ,GAGA5B,EAAAswC,UAAA3uC,EAAAC,GAEA5B,EAAAiwC,QAAA/vC,EAAA6pP,cACA/pP,EAAAswC,WAAA3uC,GAAAC,IAIA,SAAAu6Z,EAAA9zQ,EAAAroJ,EAAA4R,EAAA1R,EAAA6O,EAAA+sZ,EAAAn6Z,EAAAL,GACA,IAAAuQ,EAAA3R,EAAAwB,KAAAkQ,EAAAE,YAAA,GACAD,EAAAlR,KAAAiR,EAAAjR,KAGA,IAAAY,EAAAqQ,EAAArQ,kBACAK,EAAAk6Z,EAAA/sZ,EAAA,EAEA,QAAAxN,EACAK,EAAAk6Z,EAAAlqZ,EAAA1P,OAAA,EACG,WAAAX,IACHK,EAAAk6Z,EAAA/sZ,EAAA6C,EAAA1P,OAAA,IAGA0P,EAAAsB,cAAAinZ,EAAAtoZ,IAAAqpZ,EAAA7yQ,EAAAroJ,EAAA6R,EAAA,UAAAvQ,EAAAK,EAAAiQ,EAAA3P,MAAA,WAAAX,EAAAK,EAAAiQ,EAAA3P,MAAA,EAAAN,EAAAC,EAAAgQ,EAAA1P,OAAA,EAAA0P,EAAA3P,MAAA2P,EAAA1P,QACA,IAAAV,EAAAoQ,EAAApQ,YAEAA,IACAG,EAAAw5Z,EAAAx5Z,EAAAL,EAAAE,GACAI,GAAAgQ,EAAA1P,OAAA,EAAAV,EAAA,GAAAoQ,EAAAI,WAAA,GAGAoqZ,EAAAp8Z,EAAA,aAAAyN,EAAAoE,EAAA23O,eAAAtpP,EAAAspP,eAAA,IACA4yK,EAAAp8Z,EAAA,cAAA6R,EAAA03O,iBAAArpP,EAAAqpP,iBAAA,eACA6yK,EAAAp8Z,EAAA,gBAAAyN,EAAAoE,EAAA43O,kBAAAvpP,EAAAupP,kBAAA,IACA2yK,EAAAp8Z,EAAA,gBAAAyN,EAAAoE,EAAA63O,kBAAAxpP,EAAAwpP,kBAAA,IACA0yK,EAAAp8Z,EAAA,YAAAsB,GAGA86Z,EAAAp8Z,EAAA,yBACAo8Z,EAAAp8Z,EAAA,OAAA4R,EAAAvQ,MAAAyM,GACA,IAAAhM,EAAAD,EAAAgQ,EAAA/P,YAAA5B,EAAA4B,WAAAC,GACA0nG,EAAAiyT,EAAA7pZ,EAAA43F,UAAAvpG,EAAAupG,UACA1nG,EAAAyL,EAAAqE,EAAA9P,gBAAA7B,EAAA6B,iBAEAD,IACAs6Z,EAAAp8Z,EAAA,YAAA+B,GACAq6Z,EAAAp8Z,EAAA,cAAA8B,GACA9B,EAAA27Z,WAAA/pZ,EAAAjR,KAAAgB,EAAAC,IAGA6nG,IACA2yT,EAAAp8Z,EAAA,YAAAypG,GACAzpG,EAAA47Z,SAAAhqZ,EAAAjR,KAAAgB,EAAAC,IAIA,SAAAu4Z,EAAAj6Z,GACA,SAAAA,EAAAqS,qBAAArS,EAAAgqP,iBAAAhqP,EAAA+pP,iBAKA,SAAAixK,EAAA7yQ,EAAAroJ,EAAAE,EAAAyB,EAAAC,EAAAK,EAAAC,GACA,IAAAqQ,EAAArS,EAAAqS,oBACA23O,EAAAhqP,EAAAgqP,gBACAD,EAAA/pP,EAAA+pP,gBACAoyK,EAAAjzZ,EAAAmJ,GAMA,GALA6pZ,EAAAp8Z,EAAA,aAAAE,EAAA0pP,mBAAA,GACAwyK,EAAAp8Z,EAAA,cAAAE,EAAAypP,oBAAA,eACAyyK,EAAAp8Z,EAAA,gBAAAE,EAAA2pP,sBAAA,GACAuyK,EAAAp8Z,EAAA,gBAAAE,EAAA4pP,sBAAA,GAEAuyK,GAAAnyK,GAAAD,EAAA,CACAjqP,EAAAq9K,YACA,IAAA8sE,EAAAjqP,EAAAiqP,iBAEAA,EAGAwvK,EAAAh7Y,UAAA3e,EAAA,CACA2B,IACAC,IACAK,QACAC,SACAqc,EAAA4rO,IAPAnqP,EAAAoB,KAAAO,EAAAC,EAAAK,EAAAC,GAWAlC,EAAAmf,YAGA,GAAAk9Y,EAGA,GAFAD,EAAAp8Z,EAAA,YAAAuS,GAEA,MAAArS,EAAAgpP,YAAA,CACA,IAAAyqC,EAAA3zR,EAAAuqP,YACAvqP,EAAAuqP,YAAArqP,EAAAgpP,YAAAhpP,EAAAuzD,QACAzzD,EAAAK,OACAL,EAAAuqP,YAAAopC,OAEA3zR,EAAAK,YAEG,GAAAkJ,EAAAgJ,GAAA,CACH,IAAAE,EAAAF,EAAAE,MACAA,EAAApF,EAAA+6I,oBAAA31I,EAAA,KAAA41I,EAAAi0Q,EAAA/pZ,GAEAE,GAAApF,EAAAsF,aAAAF,IACAzS,EAAAy1B,UAAAhjB,EAAA9Q,EAAAC,EAAAK,EAAAC,GAIA,GAAAgoP,GAAAD,EAIA,GAHAmyK,EAAAp8Z,EAAA,YAAAkqP,GACAkyK,EAAAp8Z,EAAA,cAAAiqP,GAEA,MAAA/pP,EAAAipP,cAAA,CACAwqC,EAAA3zR,EAAAuqP,YACAvqP,EAAAuqP,YAAArqP,EAAAipP,cAAAjpP,EAAAuzD,QACAzzD,EAAAM,SACAN,EAAAuqP,YAAAopC,OAEA3zR,EAAAM,SAKA,SAAAg8Z,EAAA7pZ,EAAAF,GAGAA,EAAAE,QAGA,SAAAmoZ,EAAA2B,EAAAr8Z,EAAAkB,GACA,IAAAy5Z,EAAA36Z,EAAAyB,GAAA,EACAm5Z,EAAA56Z,EAAA0B,GAAA,EACAN,EAAApB,EAAAoB,UACAC,EAAArB,EAAAqB,kBAEA,GAAAH,EAAA,CACA,IAAA8N,EAAAhP,EAAAgP,aAEA,GAAAA,aAAAiO,MAEA09Y,EAAAz5Z,EAAAO,EAAA8/E,EAAAvyE,EAAA,GAAA9N,EAAAa,OACA64Z,EAAA15Z,EAAAQ,EAAA6/E,EAAAvyE,EAAA,GAAA9N,EAAAc,YACK,CACL,IAAAwvE,EAAAtyE,EAAA6P,yBAAAC,EAAA9N,EAAAlB,EAAA2nO,cACAgzL,EAAAnpV,EAAA/vE,EACAm5Z,EAAAppV,EAAA9vE,EAEAN,KAAAowE,EAAApwE,UACAC,KAAAmwE,EAAAnwE,kBAKA,IAAA+nP,EAAAppP,EAAAopP,WAEAA,IACAuxK,GAAAvxK,EAAA,GACAwxK,GAAAxxK,EAAA,IAIA,OACAuxK,QACAC,QACAx5Z,YACAC,qBAIA,SAAA66Z,EAAAp8Z,EAAA8oD,EAAAllD,GAEA,OADA5D,EAAA8oD,GAAA+/L,EAAA7oP,EAAA8oD,EAAAllD,GACA5D,EAAA8oD,GASA,SAAAjnD,EAAAvB,EAAA8P,GACA,aAAA9P,GAAA8P,GAAA,mBAAA9P,GAAA,SAAAA,EAAA,KACAA,EAAAmS,OAAAnS,EAAA8mB,WAAA,OAAA9mB,EAGA,SAAAo7Z,EAAAr7Z,GACA,aAAAA,GAAA,SAAAA,EAAA,KACAA,EAAAoS,OAAApS,EAAA+mB,WAAA,OAAA/mB,EAGA,SAAAohF,EAAA79E,EAAA8+N,GACA,wBAAA9+N,EACAA,EAAAs0L,YAAA,QACAhtJ,WAAAtnC,GAAA,IAAA8+N,EAGAx3L,WAAAtnC,GAGAA,EAGA,SAAAu3Z,EAAAx5Z,EAAAL,EAAAE,GACA,gBAAAF,EAAAK,EAAAH,EAAA,cAAAF,EAAAK,EAAAH,EAAA,KAAAA,EAAA,KAAAG,EAAAH,EAAA,GASA,SAAAZ,EAAAD,EAAAT,GACA,aAAAS,OAAAT,EAAAqS,qBAAArS,EAAAgqP,iBAAAhqP,EAAA+pP,iBAAA/pP,EAAAsB,aAGAc,EAAAlC,qBACAkC,EAAAxB,aACAwB,EAAAT,YACAS,EAAAo5Z,UACAp5Z,EAAA1B,qCC1gBA,IAAArC,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAER,IAAA2uP,EAAkB3uP,EAAQ,QAE1Bg+Z,EAAkBh+Z,EAAQ,QAoB1BD,EAAAQ,eAAAouP,GACA5uP,EAAAO,eAAA09Z,uBCjDAn6Z,EAAAC,SAAA,wBCoBA,IAAAw4I,EAAat8I,EAAQ,QAErB8jB,EAAAw4H,EAAAx4H,UAwBA,SAAAlgB,IACA,IAAAigB,EAAAC,IACA,gBAAArI,GACA,IAAAk1R,EAAA9sR,EAAApI,GACA0O,EAAA1O,EAAA0O,gBACA8zY,EAAAttH,EAAApoH,MACA21O,EAAAvtH,EAAAnhD,kBACAjnE,EAAAooH,EAAApoH,MAAAp+J,EAAAo+J,MACA3L,EAAA+zH,EAAAnhD,kBAAArlO,EAAAqlO,kBACA,SAAAyuK,EAAA11O,GAAA21O,EAAAthP,IAAA,SAIA/4K,EAAAC,QAAAF,qCCzDA,IAAAu6Z,EAAkBn+Z,EAAQ,QAS1B6D,EAAAC,QAAA,SAAA+iN,EAAAupD,EAAAxgJ,GACA,IAAA68Q,EAAA78Q,EAAAurE,OAAAsxM,eAEA78Q,EAAA92D,QAAA2zU,MAAA78Q,EAAA92D,QAGAs3M,EAAA+tJ,EACA,mCAAAvuS,EAAA92D,OACA82D,EAAAurE,OACA,KACAvrE,EAAAviE,QACAuiE,IAPAi3F,EAAAj3F,0BCKA,IAAAjvH,EAAaX,EAAQ,QAErBgjB,EAAqBhjB,EAAQ,QAE7BwuO,EAAsBxuO,EAAQ,QAE9Bm3X,EAAuBn3X,EAAQ,QAE/B2nJ,EAAiB3nJ,EAAQ,QAEzBmnN,EAA2BnnN,EAAQ,QAoBnCo3X,EAAAp0W,EAAAnd,OAAA,CACAvE,KAAA,mBAKA6E,KAAA,KAMAi4Z,gBAAA,GAKAC,mBAAA,WACA,OAAA7vL,EAAA,gHAAAA,CAAArtO,KAAA26B,SAAA,qBAaA2zW,mBAAA,SAAAC,GACA,IAAA0uB,EAAAj9Z,KAAAi9Z,gBAAAz9Z,EAAA+V,MAAAg5X,GAEA,GAAA0uB,EACA,QAAAlyZ,EAAAkyZ,EAAA15Z,OAAA,EAA8CwH,GAAA,EAAQA,IACtDy7I,EAAAjuC,IAAA0kT,EAAAlyZ,KAaAktS,eAAA,SAAAh0S,GACA,IAAAg5Z,EAAAj9Z,KAAAi9Z,gBAEA,IAAAA,EAAA15Z,OACA,eAGA,SAAAU,GAAA2V,MAAA3V,GACA,iBAIA,OAAAg5Z,EAAA15Z,OAAA,CACA,IAAAmZ,EAAAugZ,EAAA,GAEA,GAAAvgZ,EAAA,IAAAzY,MAAAyY,EAAA,GACA,oBAGA,QAAA3R,EAAA,EAAA0B,EAAAwwZ,EAAA15Z,OAAmDwH,EAAA0B,EAAS1B,IAC5D,GAAAkyZ,EAAAlyZ,GAAA,IAAA9G,MAAAg5Z,EAAAlyZ,GAAA,GACA,eAKA,oBAGA+X,EAAA,CACA3iB,KAAA,QAKAmb,IAAA,KAGA6hZ,gBAAA,CACA76Z,MAAA,GACAs6G,YAAA,EACA/Z,YAAA,oBACA/7E,MAAA,oBACAgtC,QAAA,IAEA2kN,UAAA,EAEAt7O,EAAA,IAIA,SAAAo5G,EAAAo8G,EAAAxvO,GACA,OAAAA,EAAAhjB,OAAAgjB,EAAA5X,KAAA,oBAHA/L,EAAA2L,MAAA8qX,EAAAh2X,UAAA+lN,GAMAgwK,EAAA,WAAAC,EAAA1/O,EAAAzzH,GACA,IAAArgB,EAAAwzX,EACAvzX,EAAAC,QAAAF,qCC1JA,IAAA26Z,EAAmBv+Z,EAAQ,QAY3B6D,EAAAC,QAAA,SAAA2nD,EAAA0vI,EAAA9vJ,EAAAgiB,EAAAuiE,GACA,IAAAt0F,EAAA,IAAAwT,MAAA2c,GACA,OAAA8yW,EAAAjjY,EAAA6/J,EAAA9vJ,EAAAgiB,EAAAuiE,0BCIA,IAAA9gH,EAAY9O,EAAQ,QAEpBgsD,EAAAl9C,EAAAk9C,cAuBA,SAAApoD,EAAA0X,GACA,OACA4yQ,gBAAA,SAAAxyQ,GAEA,IAAAmtK,EAAA,GACA21O,EAAAxyW,IAKA,OAJAtwC,EAAA+kG,iBAAAnlG,EAAA,SAAAG,GACAA,EAAAgjZ,eAAA51O,EACA21O,EAAAjqY,IAAA9Y,EAAA0P,IAAA1P,KAEA+iZ,GAEAhjZ,MAAA,SAAAC,EAAAC,GACA,IAAAgjZ,EAAAjjZ,EAAA2K,aACAw9V,EAAA,GACAl3W,EAAA+O,EAAAE,UACAjP,EAAA4b,KAAA,SAAAxJ,GACA,IAAAivK,EAAArhL,EAAAshL,YAAAlvK,GACA8kW,EAAA71L,GAAAjvK,IAEA4/Y,EAAAp2Y,KAAA,SAAAylK,GACA,IAAA4wO,EAAA/6C,EAAA71L,GAEA6wO,EAAA,MAAAD,GAAAjyZ,EAAAic,cAAAg2Y,EAAA,YAEA,GAAAC,EAYAF,EAAAtyY,cAAA2hK,EAAA,QAAA6wO,OAZA,CAEA,IAAAvyY,EAAAqyY,EAAApyY,aAAAyhK,GACA9lK,EAAAoE,EAAAzlB,IAAA,oBAAA6U,EAAA+N,oBAAAk1Y,EAAA31Y,QAAAglK,MAAA,GAAAtyK,EAAAgjZ,eAAAC,EAAA5jZ,SAEA4jZ,EAAAtyY,cAAA2hK,EAAA,QAAA9lK,GAEA,MAAA02Y,GACAjyZ,EAAA0f,cAAAuyY,EAAA,QAAA12Y,QAWApkB,EAAAC,QAAAF,wBCrEA,IAAA+jJ,EAAiB3nJ,EAAQ,QAEzB8wE,EAAiB9wE,EAAQ,QAEzBs4O,EAAYt4O,EAAQ,QAEpByoF,EAAazoF,EAAQ,QAyBrBi2Z,EAAAtuQ,EAAAtsI,MAMAy+M,EAAAwe,EAAAzyO,OAAA,CACAvE,KAAA,WACAs7R,UAAA,EACAiiI,mBAAA,EACAp/S,UAAA,SAAAlyF,EAAA7C,GACA,IAAA8/V,EAAArpX,KAAAsmJ,QAEA1sI,MAAAwS,KACAi9V,EAAA,GAAA99U,WAAAnf,IAGAxS,MAAA2P,KACA8/V,EAAA,GAAA99U,WAAAhiB,KAGAiuN,YAAA,SAAA1hI,GACA,IAAA/6F,EAAA/a,KAAAsmJ,QACAxwC,EAAA,GAAA/6F,EAAA,KAAAA,EAAA,GAAA+6F,EAAA,IACAA,EAAA,GAAA/6F,EAAA,KAAAA,EAAA,GAAA+6F,EAAA,IAEA6iH,EAAA14N,UAAAq+G,UAAAv+G,KAAAC,KAAA+a,EAAA,GAAAA,EAAA,KAMAw/M,YAAA,WACA,OAAAv6N,KAAAy7R,WAMAjhE,YAAA,SAAA99M,GACA1c,KAAAy7R,UAAA/+Q,EAGA1c,KAAA07R,YAAA17R,KAAAsmJ,QAAApnH,QACAl/B,KAAA09Z,mBAAAp2U,EAAA2tU,qBAAAv4Y,IAMAuiI,SAAA,WACA,OAAA33D,EAAA6tU,sBAAAn1Z,KAAAy7R,UAAAz7R,KAAAsmJ,QAAAtmJ,KAAA07R,YAAA17R,KAAA09Z,qBAUA3+Q,SAAA,SAAAxzI,EAAA6J,GACA,SAAA7J,EACA,SAGA,IAAAmrD,EAAAthD,KAAAshD,UAYA,OAVA,MAAAA,EACAA,EAAA8vF,EAAA/tC,iBAAAltG,IAAA,EACK,SAAAmrD,IAELA,EAAA12D,KAAA09Z,oBAKAnyZ,EAAAupZ,EAAAvpZ,EAAAmrD,GAAA,GACAiZ,EAAAjuD,UAAAnW,IAUAkhN,UAAA,SAAAt0E,EAAAqiH,EAAAC,GACAtiH,KAAA,EACA,IAAAp9H,EAAA/a,KAAAsmJ,QACAt+I,EAAA+S,EAAA,GAAAA,EAAA,GAEA,GAAAhB,SAAA/R,GAAA,CAMAA,EAAA,IACAA,KACA+S,EAAAyxI,WAGA,IAAA9oJ,EAAA4jF,EAAAytU,uBAAAh6Y,EAAAo9H,EAAAqiH,EAAAC,GACAz6P,KAAA09Z,mBAAAh6Z,EAAAsxZ,kBACAh1Z,KAAAy7R,UAAA/3R,EAAAgZ,SACA1c,KAAA07R,YAAAh4R,EAAAwxZ,iBAYAx9K,WAAA,SAAAtiO,GACA,IAAA2F,EAAA/a,KAAAsmJ,QAEA,GAAAvrI,EAAA,KAAAA,EAAA,GACA,OAAAA,EAAA,IAEA,IAAA4iZ,EAAA5iZ,EAAA,GAMA3F,EAAAmkP,OAIAx+O,EAAA,IAAA4iZ,EAAA,GAHA5iZ,EAAA,IAAA4iZ,EAAA,EACA5iZ,EAAA,IAAA4iZ,EAAA,QAKA5iZ,EAAA,KAIA,IAAA/S,EAAA+S,EAAA,GAAAA,EAAA,GAEAhB,SAAA/R,KACA+S,EAAA,KACAA,EAAA,MAGA/a,KAAAysN,UAAAr3M,EAAA+iI,YAAA/iI,EAAAolP,YAAAplP,EAAAqlP,aAEA,IAAA/9O,EAAA1c,KAAAy7R,UAEArmR,EAAAkkP,SACAv+O,EAAA,GAAA+5Y,EAAApuZ,KAAAmK,MAAAkK,EAAA,GAAA2B,OAGAtH,EAAAmkP,SACAx+O,EAAA,GAAA+5Y,EAAApuZ,KAAA0gE,KAAArsD,EAAA,GAAA2B,UAQAi8M,EAAA7pL,OAAA,WACA,WAAA6pL,GAGA,IAAAl2N,EAAAk2N,EACAj2N,EAAAC,QAAAF,wBC1MA,IAAA7D,EAAcC,EAAQ,QA4BtBD,EAAA0tB,eAAA,CACAnsB,KAAA,qBACAgX,MAAA,qBACAoV,OAAA,6BACC,cAQD3tB,EAAA0tB,eAAA,CACAnsB,KAAA,uBACAgX,MAAA,uBACAoV,OAAA,+BACC,oCC5CD,IAAAnL,EAAcviB,EAAQ,QAItB8O,GAFAyT,EAAAC,QAEYxiB,EAAQ,SAEpBsoB,EAAAxZ,EAAAwZ,KACA0jC,EAAAl9C,EAAAk9C,cAEAmwV,EAAqBn8Y,EAAQ,QAE7B++Z,EAAoB/+Z,EAAQ,QAE5Bg/Z,EAAmBh/Z,EAAQ,QAE3B4O,EAAmB5O,EAAQ,QAoB3Bi/Z,EAAA,CACAz8H,QAAAu8H,EACAt1E,IAAAu1E,GAEAp7Z,EAAA,CAMA8kC,KAAA,SAAA25P,EAAAlhL,GACA,IAGA+7G,EAHApgH,EAAA,GACA2E,EAAAz1D,IACAgxK,EAAAhxK,IAEAwwV,EAAAC,EAAAp6G,GAoBA,OAnBA/5Q,EAAAk0X,EAAA,SAAAl5I,GACA,IAAA47J,EAAAD,EAAA37J,EAAAhiQ,MAAAonC,KAAA25P,EAAA/+B,GACAh7O,EAAA42Y,EAAApiT,QAAA,SAAA/a,GACA,IAAA2f,EAAA3f,EAAAtyF,KAEA0xG,KAAA90G,eAAAq1G,KACA3f,IAAA5/E,aAAAu/F,EAAAP,EAAAO,KAGA5E,EAAAhpG,KAAAiuF,GACA0f,EAAAltF,IAAAmtF,EAAA3f,GACAi7H,EAAAzoM,IAAAmtF,EAAA3f,EAAA1kF,UAEA,IAAAza,EAAAs8Z,EAAAhiM,aAEAt6N,IACAs6N,IAAA5nK,MAAA1yD,GAAAs6N,EAAAt6N,EAAA8T,WAGA,CACAomG,UACA2E,aACAu7G,eAEAE,gBAAA,IAAAtuN,EAAA,WASAu+V,YAAAgyD,EAAA,eAMAjyD,cAAAiyD,EAAA,kBAGA,SAAAA,EAAAv0Y,GACA,gBAAAy3Q,EAAAkjG,GACA,IAAAiX,EAAAC,EAAAp6G,GACAtxC,EAAA,GAKA,OAJAzoO,EAAAk0X,EAAA,SAAAl5I,GACA,IAAAh8G,EAAA23Q,EAAA37J,EAAAhiQ,MAAAspB,GACA08H,GAAAypG,EAAAj9O,KAAAwzI,EAAA+6I,EAAA/+B,EAAAiiI,MAEAx0I,GAMA,SAAA0rJ,EAAAp6G,GACA,IAAAm6G,EAAAL,EAAAM,YAAAp6G,IAAA,GACA,OAAAm6G,EAGA34Y,EAAAC,QAAAF,sBC7HA,IAAA6e,EAAA,GAIAA,EAFA,kBAAA05C,IAAA,oBAAAA,GAAAijW,kBAEA,CACA37H,QAAA,GACA/qB,GAAA,GACAl6P,MAAA,EACAshQ,KAAA,EAEA18C,iBAAA,EACAm/K,cAAA,EACA1jD,sBAAA,EACAu6D,cAAA,GAEC,qBAAArtZ,UAAA,qBAAA88B,KAED,CACA46P,QAAA,GACA/qB,GAAA,GACAl6P,MAAA,EACAw2W,QAAA,EACA5xJ,iBAAA,EACAg2L,cAAA,GAEC,qBAAAxtZ,UAED,CACA63R,QAAA,GACA/qB,GAAA,GACAl6P,MAAA,EACAw2W,QAAA,EAEA5xJ,iBAAA,EACAm/K,cAAA,EACA6W,cAAA,GAGAiG,EAAAzzZ,UAAAyjQ,WAGA,IAAAzrQ,EAAA6e,EAIA,SAAA48Y,EAAAjwJ,GACA,IAAAsJ,EAAA,GACA+qB,EAAA,GAeA+5D,EAAApuF,EAAAp3O,MAAA,qBAGA2gP,EAAAvJ,EAAAp3O,MAAA,mBACAo3O,EAAAp3O,MAAA,6BACAnZ,EAAAuwP,EAAAp3O,MAAA,kBAEA4tX,EAAA,kBAAAj2N,KAAAy/E,GAiDA,OA5BAouF,IACA/5D,EAAA+5D,SAAA,EACA/5D,EAAAx8K,QAAAu2O,EAAA,IAKA7kF,IACA8qB,EAAA9qB,IAAA,EACA8qB,EAAAx8K,QAAA0xJ,EAAA,IAGA95P,IACA4kR,EAAA5kR,MAAA,EACA4kR,EAAAx8K,QAAApoG,EAAA,IAKA+mY,IACAniH,EAAAmiH,QAAA,GAQA,CACAniH,UACA/qB,KACAl6P,MAAA,EAGA4kN,kBAAAr3N,SAAAirB,cAAA,UAAAjoB,WACAwzY,aAAA,qBAAA+c,QAIAzgE,qBAAA,iBAAA/yV,SAAA23R,EAAA9qB,KAAA8qB,EAAA5kR,KAEA+/U,uBAAA,kBAAA9yV,SAIA23R,EAAA5kR,MAAA4kR,EAAA9qB,IAAA8qB,EAAAx8K,SAAA,IAEAmyS,aAAA,qBAAArtZ,UAmBAlI,EAAAC,QAAAF,wBClKA,IAAAirY,EAAY7uY,EAAQ,QACpBouY,EAAkBpuY,EAAQ,QAE1B6D,EAAAC,QAAAoG,OAAAitB,MAAA,SAAAkxK,GACA,OAAAwmM,EAAAxmM,EAAA+lM,0BCeA,IAAA7rX,EAAcviB,EAAQ,QAItBW,GAFA4hB,EAAAC,QAEaxiB,EAAQ,SAErB6jJ,EAAY7jJ,EAAQ,QAEpBkxM,EAAiBlxM,EAAQ,QAEzBs8O,EAAat8O,EAAQ,QAErB2jB,EAAoB3jB,EAAQ,QAE5ByxW,EAAA9tV,EAAA8tV,uBACAxB,EAAAtsV,EAAAssV,oBAEA1zH,EAAuBv8O,EAAQ,QAE/Bu/Z,EAAAhjL,EAAAgjL,oBA2BAx0Z,EAAApK,EAAAoK,SACAy0Z,EAAA,YACAC,GAAA,EAGAC,EAAA,QACAC,EAAA,CACA31X,aAAA8iB,eAAA0yW,EAAA7gZ,MAAAmuC,aACAjjB,WAAAo9F,aAAAu4R,EAAA7gZ,MAAAsoH,WAEA24R,QAAAjhZ,MACAwhI,OAAAxhI,MACAua,KAAAva,OAIAkhZ,SAAAjzW,cAAA4yW,EAAA7gZ,MAAAiuC,YACAkzW,SAAA74R,aAAAu4R,EAAA7gZ,MAAAsoH,WACA84R,SAAApzW,cAAA6yW,EAAA7gZ,MAAAguC,YAEA,SAAAqzW,EAAA1xZ,GAEA,OAAAA,EAAA2xZ,UAAA,MAAAJ,EAAAE,EAGA,SAAAG,EAAAC,GACA,IAAA52W,EAAA42W,EAAA9+Z,YAEA,OAAAkoD,IAAA5qC,MAAAwhZ,EAAA9/X,QAAA,IAAAkpB,EAAA42W,GAGA,IAAAC,EAAA,qKACAC,EAAA,8CAEA,SAAAC,EAAA9oZ,EAAA4jB,GACAz6B,EAAA2nB,KAAA83Y,EAAAv1W,OAAAzvB,EAAAmlY,kBAAA,aAAAr6V,GACA9qC,EAAA/uB,eAAA65D,KACA1uD,EAAA0uD,GAAA9qC,EAAA8qC,MAGA1uD,EAAA+oZ,iBAAAnlY,EAAAmlY,iBACA5/Z,EAAA2nB,KAAA+3Y,EAAA,SAAAn6V,GACA1uD,EAAA0uD,GAAAvlE,EAAA+V,MAAA0kB,EAAA8qC,MAEA1uD,EAAAgpZ,iBAAA7/Z,EAAAkF,OAAAu1B,EAAAolY,kBAiBA,IAAAj3U,EAAA,SAAA3P,EAAA0wB,GACA1wB,KAAA,UAKA,IAJA,IAAA6mV,EAAA,GACAh0O,EAAA,GACAi0O,EAAA,GAEAx0Z,EAAA,EAAiBA,EAAA0tE,EAAAl1E,OAAuBwH,IAAA,CAExC,IAAAyxW,EAAA/jS,EAAA1tE,GAEAvL,EAAAiK,SAAA+yW,KACAA,EAAA,CACAluW,KAAAkuW,IAIA,IAAAgjD,EAAAhjD,EAAAluW,KACAkuW,EAAAr8W,KAAAq8W,EAAAr8W,MAAA,QAEAq8W,EAAA/zV,WACA+zV,EAAA/zV,SAAA+2Y,EACAhjD,EAAAnoK,cAAA,GAGAmoK,EAAA91V,UAAA81V,EAAA91V,WAAA,GACA4kK,EAAA34K,KAAA6sZ,GACAF,EAAAE,GAAAhjD,EACAA,EAAA34W,MAAAkH,EAEAyxW,EAAAC,wBACA8iD,EAAAC,GAAA,IASAx/Z,KAAAy4E,WAAA6yG,EAMAtrL,KAAAywW,gBAAA6uD,EAKAt/Z,KAAAmpG,YAKAnpG,KAAAklB,SAQAllB,KAAAy/Z,SAAA,KACAz/Z,KAAA2zP,OAAA,EACA3zP,KAAA8+Z,UAAA,EAOA9+Z,KAAA0/Z,SAAA,GAKA1/Z,KAAA2/Z,UAAA,GAKA3/Z,KAAA4/Z,QAAA,GAOA5/Z,KAAA6/Z,cAAA,GAOA7/Z,KAAA8/Z,QAAA,GAOA9/Z,KAAAgiB,QAAA,GAOAhiB,KAAA+/Z,aAAA,GAOA//Z,KAAAgga,cAAA,GAOAhga,KAAAiga,aAAA,GAOAjga,KAAAkga,YAAA,GAOAlga,KAAAmga,WAAA,IAMAnga,KAAAoga,YAAA,EAMApga,KAAA0wW,SAUA1wW,KAAAqga,WAAA,GAMArga,KAAAsmJ,QAAA,GAQAtmJ,KAAAsga,mBAAA,GAOAtga,KAAAuga,mBAAAnC,EAAAp+Z,MAMAA,KAAAwga,oBAAAjB,EAMAv/Z,KAAAq/Z,iBAAA,IAGAoB,EAAAr4U,EAAAnoF,UA+UA,SAAAyga,EAAA14S,EAAAvhG,EAAAk6Y,EAAAC,EAAAr3Y,GACA,IAAAs3Y,EAAArC,EAAA/3Y,EAAAtmB,MACA2ga,EAAAF,EAAA,EACAtlZ,EAAAmL,EAAAnY,KACAyyZ,EAAA/4S,EAAA1sG,GAAAwlZ,GAEA,GAAAC,KAAAx9Z,OAAAo9Z,EAAA,CAIA,IAHA,IAAAK,EAAA,IAAAH,EAAAn6Z,KAAAQ,IAAAqiB,EAAAu3Y,EAAAH,MAGAjwZ,EAAA,EAAmBA,EAAAqwZ,EAAAx9Z,OAA6BmN,IAChDswZ,EAAAtwZ,GAAAqwZ,EAAArwZ,GAGAs3G,EAAA1sG,GAAAwlZ,GAAAE,EAIA,QAAAtgZ,EAAAkgZ,EAAAD,EAAsCjgZ,EAAA6I,EAAS7I,GAAAigZ,EAC/C34S,EAAA1sG,GAAA3I,KAAA,IAAAkuZ,EAAAn6Z,KAAAQ,IAAAqiB,EAAA7I,EAAAigZ,KAIA,SAAAM,EAAA9zZ,GACA,IAAAoyZ,EAAApyZ,EAAAqzZ,oBACAhha,EAAA2nB,KAAAo4Y,EAAA,SAAA2B,EAAA5lZ,GACA,IAAAmL,EAAAtZ,EAAAsjW,gBAAAn1V,GAEAusE,EAAAphE,EAAAohE,YAEA,GAAAA,EAAA,CACAq5U,EAAA3B,EAAAjkZ,GAAA,IAAAqjZ,EAAA92U,EAAA2vD,WAAAj0I,QAGA,QAAAwH,EAAA,EAAqBA,EAAAm2Z,EAAA39Z,OAA4BwH,IACjDm2Z,EAAAn2Z,GAAAuzZ,EAGA,IAAAvzZ,EAAA,EAAqBA,EAAAoC,EAAAwmP,OAAiB5oP,IAEtCm2Z,EAAA/zZ,EAAA1H,IAAA6V,EAAAvQ,SAMA,SAAAo2Z,EAAAh0Z,EAAApG,EAAA66V,GACA,IAAA34V,EAEA,SAAAlC,EAAA,CACA,IAAA45Z,EAAAxzZ,EAAAgzZ,WACAiB,EAAA16Z,KAAAmK,MAAA+wV,EAAA++D,GACAU,EAAAz/D,EAAA++D,EACArlZ,EAAAnO,EAAAsrE,WAAA1xE,GACAkqD,EAAA9jD,EAAAuyZ,SAAApkZ,GAAA8lZ,GAEA,GAAAnwW,EAAA,CACAhoD,EAAAgoD,EAAAowW,GACA,IAAAx5U,EAAA16E,EAAAsjW,gBAAAn1V,GAAAusE,YAEAA,KAAA2vD,WAAAj0I,SACA0F,EAAA4+E,EAAA2vD,WAAAvuI,KAKA,OAAAA,EAkeA,SAAAq4Z,EAAA3jZ,GACA,OAAAA,EAGA,SAAA4jZ,EAAA5jZ,GACA,OAAAA,EAAA3d,KAAA2zP,QAAAh2O,GAAA,EACA3d,KAAAy/Z,SAAA9hZ,IAGA,EA6CA,SAAAg3S,EAAAxnT,EAAAy0V,GACA,IAAA31U,EAAA9e,EAAAyyZ,QAAAh+D,GAWA,OATA,MAAA31U,IACAA,EAAAk1Y,EAAAh0Z,IAAAq0Z,UAAA5/D,IAGA,MAAA31U,IAEAA,EAAAsyY,EAAA38D,GAGA31U,EAGA,SAAAw1Y,EAAAhpV,GAKA,OAJAj5E,EAAAwJ,QAAAyvE,KACAA,EAAA,CAAAA,IAGAA,EAkTA,SAAAipV,EAAAtiQ,EAAAuiQ,GACA,IAAAC,EAAAxiQ,EAAA3mF,WACAtrE,EAAA,IAAAi7E,EAAA5oF,EAAA4N,IAAAw0Z,EAAAxiQ,EAAA/4I,iBAAA+4I,KAAAj2D,WAEAg2T,EAAAhyZ,EAAAiyJ,GAIA,IAHA,IAAAp3C,EAAA76G,EAAAuyZ,SAAA,GACAmC,EAAAziQ,EAAAsgQ,SAEA30Z,EAAA,EAAiBA,EAAA62Z,EAAAr+Z,OAA0BwH,IAAA,CAC3C,IAAAuQ,EAAAsmZ,EAAA72Z,GAEA82Z,EAAAvmZ,KAGA9b,EAAA4rC,QAAAu2X,EAAArmZ,IAAA,GACA0sG,EAAA1sG,GAAAwmZ,EAAAD,EAAAvmZ,IACAnO,EAAAkzZ,WAAA/kZ,GAAAymZ,IACA50Z,EAAAm5I,QAAAhrI,GAAA,MAGA0sG,EAAA1sG,GAAAumZ,EAAAvmZ,IAKA,OAAAnO,EAGA,SAAA20Z,EAAAE,GAGA,IAFA,IAAAC,EAAA,IAAAzkZ,MAAAwkZ,EAAAz+Z,QAEAmN,EAAA,EAAiBA,EAAAsxZ,EAAAz+Z,OAA6BmN,IAC9CuxZ,EAAAvxZ,GAAAquZ,EAAAiD,EAAAtxZ,IAGA,OAAAuxZ,EAGA,SAAAF,IACA,OAAAjoZ,UArxCA2mZ,EAAAtga,KAAA,OAMAsga,EAAA31Y,eAAA,EASA21Y,EAAAzyO,aAAA,SAAA1yK,GAKA,OAJA1B,MAAA0B,KACAA,EAAAtb,KAAAy4E,WAAAn9D,OAGAA,GAUAmlZ,EAAAp6Y,iBAAA,SAAA/K,GAEA,OAAAtb,KAAAywW,gBAAAzwW,KAAAguL,aAAA1yK,KAOAmlZ,EAAAyB,qBAAA,WACA,OAAAlia,KAAAuga,mBAAA4B,gBAAAjjY,SAaAuhY,EAAAplZ,aAAA,SAAAoN,EAAA9K,GACA,IAAAykZ,EAAApia,KAAAuga,mBAEA,SAAA5iZ,EACA,OAAAykZ,EAAAC,uBAAA55Y,GAGA,IAAA0+D,EAAAi7U,EAAA36Q,OAAAh/H,GACA,WAAA9K,GACAwpE,GAAA,IAAAjoD,QAAAioD,KAAAxpE,IAcA8iZ,EAAAn4U,SAAA,SAAA/8E,EAAA+mT,EAAAhuB,GACA,IAAAg+H,EAAAnnL,EAAAnuD,WAAAzhL,IAAA/L,EAAA6pD,YAAA99C,GAEA+2Z,IACA/2Z,EAAA,IAAAujW,EAAAvjW,EAAAvL,KAAAy4E,WAAAl1E,SAGAvD,KAAA0wW,SAAAnlW,EAEAvL,KAAA0/Z,SAAA,GACA1/Z,KAAAy/Z,SAAA,KACAz/Z,KAAA2/Z,UAAArtG,GAAA,GACAtyT,KAAA4/Z,QAAA,GACA5/Z,KAAAuia,iBAAA,GAEAj+H,IACAtkS,KAAA8qB,eAAA,GAOA9qB,KAAAwkS,sBAAA8rE,EAAAtwW,KAAA0wW,SAAAnuV,YAAAkiR,cAEAzkS,KAAAwia,gBAAAl+H,KAAAtkS,KAAAwkS,sBACAxkS,KAAAyia,yBAAAnyD,EAAAF,UAEApwW,KAAAqga,WAAA,GAEArga,KAAA0ia,sBAAA,EAAAn3Z,EAAAoO,SAGApO,EAAA6jW,OACApvW,KAAA8qB,eAAA,IAIA21Y,EAAA9vD,YAAA,WACA,OAAA3wW,KAAA0wW,UAOA+vD,EAAA17Y,WAAA,SAAAxZ,GACA,IAAAo3V,EAAA3iW,KAAA0wW,SACAtkV,EAAApsB,KAAA2Z,QACAgpV,EAAA59U,WAAAxZ,GACA,IAAAge,EAAAo5U,EAAAhpV,QAEAgpV,EAAA0M,aACA9lV,GAAA6C,GAGApsB,KAAA0ia,sBAAAt2Y,EAAA7C,IAoBAk3Y,EAAA1kD,aAAA,SAAAjyT,EAAAy6B,GAUA,IATA,IAAAo8U,EAAA3ga,KAAAmga,WACAn4S,EAAAhoH,KAAA0/Z,SACAjnV,EAAAz4E,KAAAy4E,WACAkqV,EAAAlqV,EAAAl1E,OACA22N,EAAAl6N,KAAAqga,WACAj0Y,EAAApsB,KAAA2Z,QACA4P,EAAA6C,EAAA1lB,KAAAS,IAAA2iD,EAAAvmD,OAAAghF,IAAAhhF,OAAA,GACAq/Z,EAAA5ia,KAAAoga,YAEAr1Z,EAAA,EAAiBA,EAAA43Z,EAAY53Z,IAAA,CAC7B,IAAAuQ,EAAAm9D,EAAA1tE,GAEAmvN,EAAA5+M,KACA4+M,EAAA5+M,GAAAymZ,KAGA/5S,EAAA1sG,KACA0sG,EAAA1sG,GAAA,IAGAolZ,EAAA14S,EAAAhoH,KAAAywW,gBAAAn1V,GAAAqlZ,EAAAiC,EAAAr5Y,GACAvpB,KAAAoga,YAAAp4S,EAAA1sG,GAAA/X,OAKA,IAFA,IAAAs/Z,EAAA,IAAArlZ,MAAAmlZ,GAEAhlZ,EAAAyO,EAAuBzO,EAAA4L,EAAW5L,IAAA,CAKlC,IAJA,IAAAmlZ,EAAAnlZ,EAAAyO,EACAg1Y,EAAA16Z,KAAAmK,MAAA8M,EAAAgjZ,GACAU,EAAA1jZ,EAAAgjZ,EAEAjgZ,EAAA,EAAmBA,EAAAiiZ,EAAYjiZ,IAAA,CAC/BpF,EAAAm9D,EAAA/3D,GAAA,IAEAzX,EAAAjJ,KAAAyia,yBAAA34W,EAAAg5W,IAAAD,EAAAvnZ,EAAAwnZ,EAAApiZ,GAEAsnG,EAAA1sG,GAAA8lZ,GAAAC,GAAAp4Z,EACA,IAAA85Z,EAAA7oM,EAAA5+M,GACArS,EAAA85Z,EAAA,KAAAA,EAAA,GAAA95Z,GACAA,EAAA85Z,EAAA,KAAAA,EAAA,GAAA95Z,GAGAs7E,IACAvkF,KAAA2/Z,UAAAhiZ,GAAA4mE,EAAAu+U,IAIA9ia,KAAA8+Z,UAAA9+Z,KAAA2zP,OAAApqO,EAEAvpB,KAAAsmJ,QAAA,GACA26Q,EAAAjha,OAGAyga,EAAAiC,sBAAA,SAAAt2Y,EAAA7C,GAEA,KAAA6C,GAAA7C,GAAA,CAiBA,IAbA,IAUAy5Y,EAVArC,EAAA3ga,KAAAmga,WACAx9D,EAAA3iW,KAAA0wW,SACA1oP,EAAAhoH,KAAA0/Z,SACAjnV,EAAAz4E,KAAAy4E,WACAkqV,EAAAlqV,EAAAl1E,OACA0/Z,EAAAjja,KAAAywW,gBACAn+C,EAAAtyT,KAAA2/Z,UACAuD,EAAAlja,KAAA4/Z,QACA1lM,EAAAl6N,KAAAqga,WACA8C,EAAAnja,KAAAuia,iBAAA,GAEAK,EAAA5ia,KAAAoga,YAEAr1Z,EAAA,EAAiBA,EAAA43Z,EAAY53Z,IAAA,CAC7B,IAAAuQ,EAAAm9D,EAAA1tE,GAEAmvN,EAAA5+M,KACA4+M,EAAA5+M,GAAAymZ,KAGA,IAAAt7Y,EAAAw8Y,EAAA3nZ,GAEA,IAAAmL,EAAAC,UAAA29Q,WACA2+H,EAAAhja,KAAAoja,YAAAr4Z,GAGA,IAAA0b,EAAAC,UAAA28Y,SACArja,KAAAwha,UAAAz2Z,GAGAi9G,EAAA1sG,KACA0sG,EAAA1sG,GAAA,IAGAolZ,EAAA14S,EAAAvhG,EAAAk6Y,EAAAiC,EAAAr5Y,GACAvpB,KAAAoga,YAAAp4S,EAAA1sG,GAAA/X,OAKA,IAFA,IAAAi+K,EAAA,IAAAhkK,MAAAmlZ,GAEAhlZ,EAAAyO,EAAuBzO,EAAA4L,EAAW5L,IAAA,CAElC6jK,EAAAmhL,EAAA4M,QAAA5xV,EAAA6jK,GAUA,IAHA,IAAA4/O,EAAA16Z,KAAAmK,MAAA8M,EAAAgjZ,GACAU,EAAA1jZ,EAAAgjZ,EAEAjgZ,EAAA,EAAmBA,EAAAiiZ,EAAYjiZ,IAAA,CAC/BpF,EAAAm9D,EAAA/3D,GAAA,IACA4iZ,EAAAt7S,EAAA1sG,GAAA8lZ,GAEAn4Z,EAAAjJ,KAAAwia,gBAAAhhP,EAAAlmK,EAAAqC,EAAA+C,GAEA4iZ,EAAAjC,GAAAp4Z,EACA,IAAA85Z,EAAA7oM,EAAA5+M,GACArS,EAAA85Z,EAAA,KAAAA,EAAA,GAAA95Z,GACAA,EAAA85Z,EAAA,KAAAA,EAAA,GAAA95Z,GAKA,IAAA05V,EAAAyM,KAAA,CACA,IAAA9gW,EAAAgkT,EAAA30S,GAEA,GAAA6jK,GAAA,MAAAlzK,EAGA,SAAAkzK,EAAAlzK,KAGAgkT,EAAA30S,GAAArP,EAAAkzK,EAAAlzK,UACS,SAAA00Z,EAAA,CACT,IAAAO,EAAA9qV,EAAAuqV,GACAQ,EAAAx7S,EAAAu7S,GAAAnC,GAEA,GAAAoC,EAAA,CACAl1Z,EAAAk1Z,EAAAnC,GACA,IAAAx5U,EAAAo7U,EAAAM,GAAA17U,YAEAA,KAAA2vD,WAAAj0I,SACA+K,EAAAu5E,EAAA2vD,WAAAlpI,KAQA,IAAA2d,EAAA,MAAAu1J,EAAA,KAAAA,EAAAv1J,GAEA,MAAAA,GAAA,MAAA3d,IAEA60Z,EAAA70Z,GAAA60Z,EAAA70Z,IAAA,EACA2d,EAAA3d,EAEA60Z,EAAA70Z,GAAA,IACA2d,GAAA,SAAAk3Y,EAAA70Z,IAGA60Z,EAAA70Z,MAGA,MAAA2d,IAAAi3Y,EAAAvlZ,GAAAsO,KAIA02U,EAAA0M,YAAA1M,EAAAuN,OAEAvN,EAAAuN,QAGAlwW,KAAA8+Z,UAAA9+Z,KAAA2zP,OAAApqO,EAEAvpB,KAAAsmJ,QAAA,GACA26Q,EAAAjha,QA4EAyga,EAAA9mZ,MAAA,WACA,OAAA3Z,KAAA2zP,QAGA8sK,EAAAgD,WAAA,WACA,IACAh2W,EAAAztD,KAAAy/Z,SAEA,GAAAhyW,EAAA,CACA,IAAArF,EAAAqF,EAAAvtD,YACAwja,EAAA1ja,KAAA2zP,OAEA,GAAAvrM,IAAA5qC,MAAA,CACAmmZ,EAAA,IAAAv7W,EAAAs7W,GAEA,QAAA34Z,EAAA,EAAqBA,EAAA24Z,EAAe34Z,IACpC44Z,EAAA54Z,GAAA0iD,EAAA1iD,QAGA44Z,EAAA,IAAAv7W,EAAAqF,EAAAjkD,OAAA,EAAAk6Z,OAGA,CAAAt7W,EAAAy2W,EAAA7+Z,MAAA,IACA2ja,EAAA,IAAAv7W,EAAApoD,KAAA2Z,SAEA,IAAA5O,EAAA,EAAmBA,EAAA44Z,EAAApga,OAAuBwH,IAC1C44Z,EAAA54Z,KAIA,OAAA44Z,GAWAlD,EAAAh7Z,IAAA,SAAA6V,EAAAqC,GAGA,KAAAA,GAAA,GAAAA,EAAA3d,KAAA2zP,QACA,OAAA95O,IAGA,IAAAmuG,EAAAhoH,KAAA0/Z,SAEA,IAAA13S,EAAA1sG,GAEA,OAAAzB,IAGA8D,EAAA3d,KAAA6sL,YAAAlvK,GACA,IAAAyjZ,EAAA16Z,KAAAmK,MAAA8M,EAAA3d,KAAAmga,YACAkB,EAAA1jZ,EAAA3d,KAAAmga,WACAyD,EAAA57S,EAAA1sG,GAAA8lZ,GACAn9Z,EAAA2/Z,EAAAvC,GAmBA,OAAAp9Z,GASAw8Z,EAAAvpG,cAAA,SAAA57S,EAAAsxK,GACA,KAAAA,GAAA,GAAAA,EAAA5sL,KAAA8+Z,WACA,OAAAjlZ,IAGA,IAAAgqZ,EAAA7ja,KAAA0/Z,SAAApkZ,GAEA,IAAAuoZ,EAEA,OAAAhqZ,IAGA,IAAAunZ,EAAA16Z,KAAAmK,MAAA+7K,EAAA5sL,KAAAmga,YACAkB,EAAAz0O,EAAA5sL,KAAAmga,WACAyD,EAAAC,EAAAzC,GACA,OAAAwC,EAAAvC,IASAZ,EAAAqD,SAAA,SAAAxoZ,EAAAsxK,GACA,IAAAw0O,EAAA16Z,KAAAmK,MAAA+7K,EAAA5sL,KAAAmga,YACAkB,EAAAz0O,EAAA5sL,KAAAmga,WACAyD,EAAA5ja,KAAA0/Z,SAAApkZ,GAAA8lZ,GACA,OAAAwC,EAAAvC,IAUAZ,EAAAz3I,UAAA,SAAAvwM,EAAA96D,GAGA,IAAAmsC,EAAA,GAEAtqD,EAAAwJ,QAAAyvE,KAEA96D,EAAA86D,EACAA,EAAAz4E,KAAAy4E,YAGA,QAAA1tE,EAAA,EAAA0B,EAAAgsE,EAAAl1E,OAA0CwH,EAAA0B,EAAS1B,IACnD++C,EAAAn3C,KAAA3S,KAAAyF,IAAAgzE,EAAA1tE,GAAA4S,IAKA,OAAAmsC,GAWA22W,EAAA37U,SAAA,SAAAnnE,GAIA,IAHA,IAAAwkZ,EAAAnia,KAAAuga,mBAAA4B,gBACA7C,EAAAt/Z,KAAAywW,gBAEA1lW,EAAA,EAAA0B,EAAA01Z,EAAA5+Z,OAA+CwH,EAAA0B,EAAS1B,IACxD,GACA,YAAAu0Z,EAAA6C,EAAAp3Z,IAAA5K,MACAyZ,MAAA5Z,KAAAyF,IAAA08Z,EAAAp3Z,GAAA4S,IACA,SAIA,UASA8iZ,EAAA7hT,cAAA,SAAAtjG,GAIAA,EAAAtb,KAAAguL,aAAA1yK,GACA,IAAAyoZ,EAAA/ja,KAAA0/Z,SAAApkZ,GACA0oZ,EAAAjC,IAEA,IAAAgC,EACA,OAAAC,EAIA,IAQAC,EARAC,EAAAlka,KAAA2Z,QAMAwqZ,GAAAnka,KAAAy/Z,SAIA,GAAA0E,EACA,OAAAnka,KAAAqga,WAAA/kZ,GAAA4jB,QAKA,GAFA+kY,EAAAjka,KAAAsmJ,QAAAhrI,GAEA2oZ,EACA,OAAAA,EAAA/kY,QAGA+kY,EAAAD,EAIA,IAHA,IAAA98Z,EAAA+8Z,EAAA,GACA98Z,EAAA88Z,EAAA,GAEAl5Z,EAAA,EAAiBA,EAAAm5Z,EAAan5Z,IAAA,CAE9B,IAAA9G,EAAAjE,KAAA8ja,SAAAxoZ,EAAAtb,KAAA6sL,YAAA9hL,IAEA9G,EAAAiD,MAAAjD,GACAA,EAAAkD,MAAAlD,GAKA,OAFAgga,EAAA,CAAA/8Z,EAAAC,GACAnH,KAAAsmJ,QAAAhrI,GAAA2oZ,EACAA,GAUAxD,EAAAhpL,qBAAA,SAAAn8N,GAIA,OADAA,EAAAtb,KAAAguL,aAAA1yK,GACAtb,KAAAsga,mBAAAhlZ,IAAAtb,KAAA4+G,cAAAtjG,IAKAmlZ,EAAA39B,qBAAA,SAAA/nX,EAAAO,GAGAA,EAAAtb,KAAAguL,aAAA1yK,GACAtb,KAAAsga,mBAAAhlZ,GAAAP,EAAAmkB,SAQAuhY,EAAArsP,mBAAA,SAAAnpK,GACA,OAAAjL,KAAAq/Z,iBAAAp0Z,IAQAw1Z,EAAAp4U,mBAAA,SAAAp9E,EAAAhH,GACA2F,EAAAqB,GAAAzL,EAAAkF,OAAA1E,KAAAq/Z,iBAAAp0Z,GAAAjL,KAAAq/Z,iBAAAp0Z,GAAAhH,GAQAw8Z,EAAAhkN,OAAA,SAAAnhM,GAGA,IAAAyoZ,EAAA/ja,KAAA0/Z,SAAApkZ,GACA5B,EAAA,EAEA,GAAAqqZ,EACA,QAAAh5Z,EAAA,EAAA0B,EAAAzM,KAAA2Z,QAAuC5O,EAAA0B,EAAS1B,IAAA,CAChD,IAAA9G,EAAAjE,KAAAyF,IAAA6V,EAAAvQ,GAIA6O,MAAA3V,KACAyV,GAAAzV,GAKA,OAAAyV,GAQA+mZ,EAAA2D,UAAA,SAAA9oZ,GAGA,IAAA+oZ,EAAA,GAEArka,KAAAmnB,KAAA7L,EAAA,SAAArS,EAAA0U,GACA/D,MAAA3Q,IACAo7Z,EAAA1xZ,KAAA1J,KAMA,IAAAq7Z,EAAA,GAAA56W,OAAA26W,GAAApuY,KAAA,SAAA1tB,EAAAC,GACA,OAAAD,EAAAC,IAEAiE,EAAAzM,KAAA2Z,QAEA,WAAAlN,EAAA,EAAAA,EAAA,MAAA63Z,GAAA73Z,EAAA,OAAA63Z,EAAA73Z,EAAA,GAAA63Z,EAAA73Z,EAAA,SAmCAg0Z,EAAAxpG,WAAA,SAAA37S,EAAArX,GACA,IAAAi9Z,EAAA5lZ,GAAAtb,KAAAwga,oBAAAllZ,GACAsmV,EAAAs/D,EAAAj9Z,GAEA,aAAA29V,GAAAhoV,MAAAgoV,GACA08D,EAGA18D,GAUA6+D,EAAAxjY,YAAA,SAAA3uB,GACA,QAAAvD,EAAA,EAAA0B,EAAAzM,KAAA2Z,QAAqC5O,EAAA0B,EAAS1B,IAC9C,GAAA/K,KAAA4nB,QAAA7c,KAAAuD,EACA,OAAAvD,EAIA,UAUA01Z,EAAAzjY,gBAAA,SAAA4kU,GACA,IAAA5hW,KAAAy/Z,SACA,OAAA79D,EAGA,GAAAA,GAAA5hW,KAAA8+Z,WAAAl9D,EAAA,EACA,SAIA,IAAAn0S,EAAAztD,KAAAy/Z,SAEAtpL,EAAA1oL,EAAAm0S,GAEA,SAAAzrH,KAAAn2O,KAAA2zP,QAAAxd,IAAAyrH,EACA,OAAAA,EAGA,IAAAtyT,EAAA,EACAC,EAAAvvC,KAAA2zP,OAAA,EAEA,MAAArkN,GAAAC,EAAA,CACA,IAAAy9P,GAAA19P,EAAAC,GAAA,IAEA,GAAAke,EAAAu/O,GAAA40D,EACAtyT,EAAA09P,EAAA,MACK,MAAAv/O,EAAAu/O,GAAA40D,GAGL,OAAA50D,EAFAz9P,EAAAy9P,EAAA,GAMA,UAWAyzH,EAAAjmP,iBAAA,SAAAl/J,EAAArX,EAAAo3E,GACA,IAAA2sC,EAAAhoH,KAAA0/Z,SACAqE,EAAA/7S,EAAA1sG,GACAipZ,EAAA,GAEA,IAAAR,EACA,OAAAQ,EAGA,MAAAlpV,IACAA,EAAAvhE,KAMA,IAHA,IAAA8qK,EAAA5kK,OAAAC,UACAukZ,GAAA,EAEAz5Z,EAAA,EAAA0B,EAAAzM,KAAA2Z,QAAqC5O,EAAA0B,EAAS1B,IAAA,CAC9C,IAAA6R,EAAA3Y,EAAAjE,KAAAyF,IAAA6V,EAAAvQ,GAGA4yB,EAAAj3B,KAAAiR,IAAAiF,GAEAA,GAAAy+D,GAAA19C,GAAAinJ,KAIAjnJ,EAAAinJ,GAAAhoK,GAAA,GAAA4nZ,EAAA,KACA5/O,EAAAjnJ,EACA6mY,EAAA5nZ,EACA2nZ,EAAAhha,OAAA,GAGAgha,EAAA5xZ,KAAA5H,IAIA,OAAAw5Z,GASA9D,EAAA5zO,YAAAy0O,EAoBAb,EAAAh3O,eAAA,SAAA9rK,GACA,GAAA3d,KAAA0wW,SAAArB,WAUA,OAAArvW,KAAA0wW,SAAAnB,QAAAvvW,KAAA6sL,YAAAlvK,IAPA,IAFA,IAAA1U,EAAA,GAEA8B,EAAA,EAAmBA,EAAA/K,KAAAy4E,WAAAl1E,OAA4BwH,IAAA,CAC/C,IAAAuQ,EAAAtb,KAAAy4E,WAAA1tE,GACA9B,EAAA0J,KAAA3S,KAAAyF,IAAA6V,EAAAqC,IAGA,OAAA1U,GAYAw3Z,EAAA74Y,QAAA,SAAAjK,GACA,IAAAikV,EAAA5hW,KAAA6sL,YAAAlvK,GACA,OAAA3d,KAAA2/Z,UAAA/9D,IAAAu/D,EAAAnha,UAAAoja,YAAAxhE,IAAA,IASA6+D,EAAA9rG,MAAA,SAAAh3S,GACA,OAAAg3S,EAAA30T,UAAA6sL,YAAAlvK,KAgDA8iZ,EAAAt5Y,KAAA,SAAAggE,EAAApxD,EAAArS,EAAA+gZ,GACA,aAEA,GAAAzka,KAAA2zP,OAAA,CAIA,oBAAAxsK,IACAs9U,EAAA/gZ,EACAA,EAAAqS,EACAA,EAAAoxD,EACAA,EAAA,IAIAzjE,KAAA+gZ,GAAAzka,KACAmnF,EAAA3nF,EAAA4N,IAAAq0Z,EAAAt6U,GAAAnnF,KAAAguL,aAAAhuL,MAGA,IAFA,IAAAg1K,EAAA7tF,EAAA5jF,OAEAwH,EAAA,EAAiBA,EAAA/K,KAAA2Z,QAAkB5O,IAEnC,OAAAiqK,GACA,OACAj/I,EAAAh2B,KAAA2jB,EAAA3Y,GACA,MAEA,OACAgrB,EAAAh2B,KAAA2jB,EAAA1jB,KAAAyF,IAAA0hF,EAAA,GAAAp8E,MACA,MAEA,OACAgrB,EAAAh2B,KAAA2jB,EAAA1jB,KAAAyF,IAAA0hF,EAAA,GAAAp8E,GAAA/K,KAAAyF,IAAA0hF,EAAA,GAAAp8E,MACA,MAEA,QAIA,IAHA,IAAA2V,EAAA,EACAzc,EAAA,GAEcyc,EAAAs0J,EAAat0J,IAC3Bzc,EAAAyc,GAAA1gB,KAAAyF,IAAA0hF,EAAAzmE,GAAA3V,GAIA9G,EAAAyc,GAAA3V,EACAgrB,EAAArtB,MAAAgb,EAAAzf,MAYAw8Z,EAAAjuP,WAAA,SAAA/5F,EAAA1iD,EAAArS,EAAA+gZ,GACA,aAEA,GAAAzka,KAAA2zP,OAAA,CAIA,oBAAAl7K,IACAgsV,EAAA/gZ,EACAA,EAAAqS,EACAA,EAAA0iD,EACAA,EAAA,IAIA/0D,KAAA+gZ,GAAAzka,KACAy4E,EAAAj5E,EAAA4N,IAAAq0Z,EAAAhpV,GAAAz4E,KAAAguL,aAAAhuL,MASA,IARA,IAAA2Z,EAAA3Z,KAAA2Z,QACAyuC,EAAAy2W,EAAA7+Z,MACA2ja,EAAA,IAAAv7W,EAAAzuC,GACA1V,EAAA,GACA+wK,EAAAv8F,EAAAl1E,OACAwiD,EAAA,EACA2+W,EAAAjsV,EAAA,GAEA1tE,EAAA,EAAiBA,EAAA4O,EAAW5O,IAAA,CAC5B,IAAA4/L,EACA/d,EAAA5sL,KAAA6sL,YAAA9hL,GAEA,OAAAiqK,EACA21B,EAAA50K,EAAAh2B,KAAA2jB,EAAA3Y,QACK,OAAAiqK,EAAA,CACL,IAAA/rK,EAAAjJ,KAAA8ja,SAAAY,EAAA93O,GAEA+d,EAAA50K,EAAAh2B,KAAA2jB,EAAAza,EAAA8B,OACK,CACL,QAAA2V,EAAA,EAAqBA,EAAAs0J,EAAat0J,IAClCzc,EAAAyc,GAAA1gB,KAAA8ja,SAAAY,EAAA93O,GAGA3oL,EAAAyc,GAAA3V,EACA4/L,EAAA50K,EAAArtB,MAAAgb,EAAAzf,GAGA0mM,IACAg5N,EAAA59W,KAAA6mI,GAaA,OARA7mI,EAAApsC,IACA3Z,KAAAy/Z,SAAAkE,GAGA3ja,KAAA2zP,OAAA5tM,EAEA/lD,KAAAsmJ,QAAA,GACAtmJ,KAAA6sL,YAAA7sL,KAAAy/Z,SAAA8B,EAAAD,EACAtha,OAQAyga,EAAA59B,YAAA,SAAA7qR,GACA,aAEA,GAAAh4G,KAAA2zP,OAAA,CAIA,IAAAl7K,EAAA,GAEA,QAAAn9D,KAAA08F,EACAA,EAAA9sG,eAAAoQ,IACAm9D,EAAA9lE,KAAA2I,GAIA,IAAA05J,EAAAv8F,EAAAl1E,OAEA,GAAAyxK,EAAA,CAIA,IAAA2vP,EAAA3ka,KAAA2Z,QACAyuC,EAAAy2W,EAAA7+Z,MACA2ja,EAAA,IAAAv7W,EAAAu8W,GACA5+W,EAAA,EACA2+W,EAAAjsV,EAAA,GACAvxE,EAAA8wG,EAAA0sT,GAAA,GACAv9Z,EAAA6wG,EAAA0sT,GAAA,GACAE,GAAA,EAEA,IAAA5ka,KAAAy/Z,SAAA,CAEA,IAAA9hZ,EAAA,EAEA,OAAAq3J,EAAA,CAGA,IAFA,IAAAsuP,EAAAtja,KAAA0/Z,SAAAjnV,EAAA,IAEA/3D,EAAA,EAAqBA,EAAA1gB,KAAAoga,YAAsB1/Y,IAI3C,IAHA,IAAAmkZ,EAAAvB,EAAA5iZ,GACAjU,EAAA/F,KAAAQ,IAAAlH,KAAA2zP,OAAAjzO,EAAA1gB,KAAAmga,WAAAnga,KAAAmga,YAEAp1Z,EAAA,EAAuBA,EAAA0B,EAAS1B,IAAA,CAChC,IAAA9B,EAAA47Z,EAAA95Z,IAMA9B,GAAA/B,GAAA+B,GAAA9B,GAAAyS,MAAA3Q,MACA06Z,EAAA59W,KAAApoC,GAGAA,IAIAinZ,GAAA,OACK,OAAA5vP,EAAA,CACLsuP,EAAAtja,KAAA0/Z,SAAAgF,GAAA,IACAI,EAAA9ka,KAAA0/Z,SAAAjnV,EAAA,IACAv4D,EAAA83F,EAAAv/B,EAAA,OACAt4D,EAAA63F,EAAAv/B,EAAA,OAEA,IAAA/3D,EAAA,EAAqBA,EAAA1gB,KAAAoga,YAAsB1/Y,IAC3C,CAAAmkZ,EAAAvB,EAAA5iZ,GAAA,IACAqkZ,EAAAD,EAAApkZ,GAGA,IAFAjU,EAAA/F,KAAAQ,IAAAlH,KAAA2zP,OAAAjzO,EAAA1gB,KAAAmga,WAAAnga,KAAAmga,YAEAp1Z,EAAA,EAAuBA,EAAA0B,EAAS1B,IAAA,CAChC9B,EAAA47Z,EAAA95Z,GAAA,IACAi3P,EAAA+iK,EAAAh6Z,IAEA9B,GAAA/B,GAAA+B,GAAA9B,GAAAyS,MAAA3Q,MAAA+4P,GAAA9hP,GAAA8hP,GAAA7hP,GAAAvG,MAAAooP,MACA2hK,EAAA59W,KAAApoC,GAGAA,KAIAinZ,GAAA,GAIA,IAAAA,EACA,OAAA5vP,EACA,IAAAjqK,EAAA,EAAqBA,EAAA45Z,EAAmB55Z,IAAA,CACxC,IAAA62V,EAAA5hW,KAAA6sL,YAAA9hL,GAEA9B,EAAAjJ,KAAA8ja,SAAAY,EAAA9iE,IAGA34V,GAAA/B,GAAA+B,GAAA9B,GAAAyS,MAAA3Q,MACA06Z,EAAA59W,KAAA67S,QAIA,IAAA72V,EAAA,EAAqBA,EAAA45Z,EAAmB55Z,IAAA,CACxC,IAAA4/L,GAAA,EAGA,IAFAi3J,EAAA5hW,KAAA6sL,YAAA9hL,GAEA2V,EAAA,EAAuBA,EAAAs0J,EAAat0J,IAAA,CACpC,IAAAskZ,EAAAvsV,EAAA/3D,GAEAzX,EAAAjJ,KAAA8ja,SAAAxoZ,EAAAsmV,IAGA34V,EAAA+uG,EAAAgtT,GAAA,IAAA/7Z,EAAA+uG,EAAAgtT,GAAA,MACAr6N,GAAA,GAIAA,IACAg5N,EAAA59W,KAAA/lD,KAAA6sL,YAAA9hL,IAeA,OARAg7C,EAAA4+W,IACA3ka,KAAAy/Z,SAAAkE,GAGA3ja,KAAA2zP,OAAA5tM,EAEA/lD,KAAAsmJ,QAAA,GACAtmJ,KAAA6sL,YAAA7sL,KAAAy/Z,SAAA8B,EAAAD,EACAtha,QAWAyga,EAAAl3O,SAAA,SAAA9wG,EAAA1iD,EAAArS,EAAA+gZ,GACA,aAEA,oBAAAhsV,IACAgsV,EAAA/gZ,EACAA,EAAAqS,EACAA,EAAA0iD,EACAA,EAAA,IAIA/0D,KAAA+gZ,GAAAzka,KACA,IAAA0D,EAAA,GAIA,OAHA1D,KAAAmnB,KAAAsxD,EAAA,WACA/0E,EAAAiP,KAAAojB,KAAArtB,MAAA1I,KAAA2I,aACG+a,GACHhgB,GAsDA+8Z,EAAArzZ,IAAA,SAAAqrE,EAAA1iD,EAAArS,EAAA+gZ,GACA,aAEA/gZ,KAAA+gZ,GAAAzka,KACAy4E,EAAAj5E,EAAA4N,IAAAq0Z,EAAAhpV,GAAAz4E,KAAAguL,aAAAhuL,MACA,IAAAmN,EAAAu0Z,EAAA1ha,KAAAy4E,GAGAtrE,EAAAsyZ,SAAAz/Z,KAAAy/Z,SACAtyZ,EAAA0/K,YAAA1/K,EAAAsyZ,SAAA8B,EAAAD,EASA,IARA,IAAAt5S,EAAA76G,EAAAuyZ,SACAuF,EAAA,GACAtE,EAAA3ga,KAAAmga,WACAnrP,EAAAv8F,EAAAl1E,OACA4hM,EAAAnlM,KAAA2Z,QACAmwC,EAAA,GACAowK,EAAA/sN,EAAAkzZ,WAEA56Y,EAAA,EAAyBA,EAAA0/K,EAAuB1/K,IAAA,CAChD,QAAA1e,EAAA,EAA0BA,EAAAiuK,EAAoBjuK,IAC9C+iD,EAAA/iD,GAAA/G,KAAAyF,IAAAgzE,EAAA1xE,GAAA0e,GAKAqkC,EAAAkrH,GAAAvvJ,EACA,IAAAy/Y,EAAAnvY,KAAArtB,MAAAgb,EAAAomC,GAEA,SAAAo7W,EAAA,CAEA,kBAAAA,IACAD,EAAA,GAAAC,EACAA,EAAAD,GAOA,IAJA,IAAArjE,EAAA5hW,KAAA6sL,YAAApnK,GACA27Y,EAAA16Z,KAAAmK,MAAA+wV,EAAA++D,GACAU,EAAAz/D,EAAA++D,EAEA51Z,EAAA,EAAqBA,EAAAm6Z,EAAA3ha,OAAqBwH,IAAA,CAC1C,IAAAuQ,EAAAm9D,EAAA1tE,GACA9B,EAAAi8Z,EAAAn6Z,GACAo6Z,EAAAjrM,EAAA5+M,GACAuoZ,EAAA77S,EAAA1sG,GAEAuoZ,IACAA,EAAAzC,GAAAC,GAAAp4Z,GAGAA,EAAAk8Z,EAAA,KACAA,EAAA,GAAAl8Z,GAGAA,EAAAk8Z,EAAA,KACAA,EAAA,GAAAl8Z,KAMA,OAAAkE,GAWAszZ,EAAArlZ,WAAA,SAAAk4J,EAAAp4J,EAAAkqZ,EAAAC,GAYA,IAXA,IAAAl4Z,EAAAu0Z,EAAA1ha,KAAA,CAAAszK,IACAgyP,EAAAn4Z,EAAAuyZ,SACA6F,EAAA,GACAC,EAAA9+Z,KAAAmK,MAAA,EAAAqK,GACA2oZ,EAAAyB,EAAAhyP,GACA7mK,EAAAzM,KAAA2Z,QACAgnZ,EAAA3ga,KAAAmga,WACAgF,EAAAh4Z,EAAAkzZ,WAAA/sP,GACAqwP,EAAA,IAAA9E,EAAA7+Z,MAAA,CAAAyM,GACAs5C,EAAA,EAEAh7C,EAAA,EAAiBA,EAAA0B,EAAS1B,GAAAy6Z,EAAA,CAE1BA,EAAA/4Z,EAAA1B,IACAy6Z,EAAA/4Z,EAAA1B,EACAw6Z,EAAAhia,OAAAiia,GAGA,QAAA9kZ,EAAA,EAAmBA,EAAA8kZ,EAAe9kZ,IAAA,CAClC,IAAAq2J,EAAA/2K,KAAA6sL,YAAA9hL,EAAA2V,GACA+kZ,EAAA/+Z,KAAAmK,MAAAkmK,EAAA4pP,GACA+E,EAAA3uP,EAAA4pP,EACA4E,EAAA7kZ,GAAAmjZ,EAAA4B,GAAAC,GAGA,IAAAzha,EAAAmha,EAAAG,GACAI,EAAA3la,KAAA6sL,YAAAnmL,KAAAQ,IAAA6D,EAAAs6Z,EAAAE,EAAAtha,IAAA,EAAAwI,EAAA,IACAm5Z,EAAAl/Z,KAAAmK,MAAA80Z,EAAAhF,GACAkF,EAAAF,EAAAhF,EAEAkD,EAAA+B,GAAAC,GAAA5ha,EAEAA,EAAAkha,EAAA,KACAA,EAAA,GAAAlha,GAGAA,EAAAkha,EAAA,KACAA,EAAA,GAAAlha,GAGA0/Z,EAAA59W,KAAA4/W,EAMA,OAHAx4Z,EAAAwmP,OAAA5tM,EACA54C,EAAAsyZ,SAAAkE,EACAx2Z,EAAA0/K,YAAA00O,EACAp0Z,GAUAszZ,EAAAt1Y,aAAA,SAAAxN,GACA,IAAAwrF,EAAAnpG,KAAAmpG,UACA,WAAAu5C,EAAA1iJ,KAAAypL,eAAA9rK,GAAAwrF,OAAA5uF,UASAkmZ,EAAA7jZ,KAAA,SAAAkpZ,GACA,IAAAC,EAAA/la,KACA,WAAA+vM,EAAA+1N,IAAArC,aAAA,GAAAzja,KAAAyja,aAAA,SAAA9lZ,GACA,OAAAg3S,EAAAmxG,EAAAnoZ,IACG,SAAAA,GACH,OAAAg3S,EAAAoxG,EAAApoZ,MASA8iZ,EAAAljZ,UAAA,SAAAtS,GACA,IAAAy9L,EAAA1oM,KAAA8/Z,QACA,OAAAp3N,KAAAz9L,IAeAw1Z,EAAAj2Y,UAAA,SAAAvf,EAAAhC,GACA,GAAAW,EAAAqB,GACA,QAAAqD,KAAArD,EACAA,EAAAC,eAAAoD,IACAtO,KAAAwqB,UAAAlc,EAAArD,EAAAqD,SAOAtO,KAAA8/Z,QAAA9/Z,KAAA8/Z,SAAA,GACA9/Z,KAAA8/Z,QAAA70Z,GAAAhC,GASAw3Z,EAAA/sP,UAAA,SAAAzoK,EAAAhC,GACA,GAAAW,EAAAqB,GACA,QAAAqD,KAAArD,EACAA,EAAAC,eAAAoD,IACAtO,KAAA0zK,UAAAplK,EAAArD,EAAAqD,SAOAtO,KAAAgiB,QAAA/W,GAAAhC,GASAw3Z,EAAA5iZ,UAAA,SAAA5S,GACA,OAAAjL,KAAAgiB,QAAA/W,IAQAw1Z,EAAAhrP,cAAA,SAAA93J,GACA,OAAA3d,KAAAiga,aAAAtiZ,IAUA8iZ,EAAAhtP,cAAA,SAAA91J,EAAA1X,EAAAkF,GACAnL,KAAAiga,aAAAtiZ,GAAAxS,EAAA3L,EAAAkF,OAAA1E,KAAAiga,aAAAtiZ,IAAA,GAA6E1X,MAO7Ew6Z,EAAA1M,iBAAA,WACA/zZ,KAAAiga,aAAA18Z,OAAA,GAUAk9Z,EAAAj5Y,cAAA,SAAA7J,EAAA1S,EAAAgjL,GACA,IAAA+3O,EAAAhma,KAAA+/Z,aAAApiZ,GACA1U,EAAA+8Z,KAAA/6Z,GAEA,aAAAhC,GAAAglL,EAKAhlL,EAHAjJ,KAAAud,UAAAtS,IAoBAw1Z,EAAAx1Y,cAAA,SAAAtN,EAAA1S,EAAAhH,GACA,IAAA+ha,EAAAhma,KAAA+/Z,aAAApiZ,IAAA,GACAqiZ,EAAAhga,KAAAgga,cAGA,GAFAhga,KAAA+/Z,aAAApiZ,GAAAqoZ,EAEAp8Z,EAAAqB,GACA,QAAAqD,KAAArD,EACAA,EAAAC,eAAAoD,KACA03Z,EAAA13Z,GAAArD,EAAAqD,GACA0xZ,EAAA1xZ,IAAA,QAOA03Z,EAAA/6Z,GAAAhH,EACA+7Z,EAAA/0Z,IAAA,GAOAw1Z,EAAAxyI,eAAA,WACAjuR,KAAA8/Z,QAAA,GACA9/Z,KAAA+/Z,aAAA,GACA//Z,KAAAgga,cAAA,IAGA,IAAAiG,EAAA,SAAA7zY,GACAA,EAAAvP,YAAA7iB,KAAA6iB,YACAuP,EAAA3M,UAAAzlB,KAAAylB,UACA2M,EAAAlN,SAAAllB,KAAAklB,UASAu7Y,EAAAlsN,iBAAA,SAAA52L,EAAAozB,GACA,IAAAo4D,EAAAnpG,KAAAmpG,UAEAp4D,IAGAA,EAAAtrB,UAAA9H,EACAozB,EAAA7rB,SAAAllB,KAAAklB,SACA6rB,EAAAluB,YAAAsmF,KAAAtmF,YAEA,UAAAkuB,EAAA5wC,MACA4wC,EAAA5e,SAAA8zY,EAAAl1X,IAIA/wC,KAAAkga,YAAAviZ,GAAAozB,GAQA0vX,EAAAtyO,iBAAA,SAAAxwK,GACA,OAAA3d,KAAAkga,YAAAviZ,IAQA8iZ,EAAA7rM,kBAAA,SAAA7+L,EAAArS,GACAlkB,EAAA2nB,KAAAnnB,KAAAkga,YAAA,SAAAnvX,EAAApzB,GACAozB,GACAhb,KAAAh2B,KAAA2jB,EAAAqtB,EAAApzB,MAUA8iZ,EAAAz/Y,aAAA,SAAA7T,GACA,IAAAA,EAAA,CACA,IAAAivW,EAAA58W,EAAA4N,IAAApN,KAAAy4E,WAAAz4E,KAAAqmB,iBAAArmB,MACAmN,EAAA,IAAAi7E,EAAAg0R,EAAAp8W,KAAAmpG,WAOA,GAHAh8F,EAAAuyZ,SAAA1/Z,KAAA0/Z,SACAP,EAAAhyZ,EAAAnN,MAEAA,KAAAy/Z,SAAA,CACA,IAAAr3W,EAAApoD,KAAAy/Z,SAAAv/Z,YACAiN,EAAAsyZ,SAAA,IAAAr3W,EAAApoD,KAAAy/Z,eAEAtyZ,EAAAsyZ,SAAA,KAIA,OADAtyZ,EAAA0/K,YAAA1/K,EAAAsyZ,SAAA8B,EAAAD,EACAn0Z,GASAszZ,EAAA/2Y,WAAA,SAAAD,EAAAy8Y,GACA,IAAAC,EAAAnma,KAAAypB,GAEA,oBAAA08Y,IAIAnma,KAAAo/Z,iBAAAp/Z,KAAAo/Z,kBAAA,GAEAp/Z,KAAAo/Z,iBAAAzsZ,KAAA8W,GAEAzpB,KAAAypB,GAAA,WACA,IAAAsoD,EAAAo0V,EAAAz9Z,MAAA1I,KAAA2I,WACA,OAAAu9Z,EAAAx9Z,MAAA1I,KAAA,CAAA+xE,GAAAroB,OAAAlqD,EAAA0/B,MAAAv2B,gBAMA83Z,EAAArwO,qBAAA,oCAEAqwO,EAAAj3Y,kBAAA,6BACA,IAAA/mB,EAAA2lF,EACA1lF,EAAAC,QAAAF,qCC//DA,IAAA+xW,EAAa31W,EAAQ,QAQrB,SAAAqmY,EAAAt8D,GACA,uBAAAA,EACA,UAAA9kU,UAAA,gCAGA,IAAAsia,EACApma,KAAAwlN,QAAA,IAAAC,QAAA,SAAAC,GACA0gN,EAAA1gN,IAGA,IAAAzzM,EAAAjS,KACA4oU,EAAA,SAAAt+Q,GACAr4C,EAAAi9P,SAKAj9P,EAAAi9P,OAAA,IAAAslG,EAAAlqT,GACA87W,EAAAn0Z,EAAAi9P,WAOAg2H,EAAAjlY,UAAAi1X,iBAAA,WACA,GAAAl1X,KAAAkvQ,OACA,MAAAlvQ,KAAAkvQ,QAQAg2H,EAAAjrW,OAAA,WACA,IAAAk+K,EACAlmM,EAAA,IAAAizX,EAAA,SAAAz8X,GACA0vM,EAAA1vM,IAEA,OACAwJ,QACAkmM,WAIAz1M,EAAAC,QAAAuiY,wBCpCA,IAAAv3X,EAAY9O,EAAQ,QAEpBsoB,EAAAxZ,EAAAwZ,KACA0jC,EAAAl9C,EAAAk9C,cAGAzpC,GAFAzT,EAAAy8C,OAEcvrD,EAAQ,SAsBtBw8O,GApBAj6N,EAAAC,QAoBAwpC,EAAA,uDAEA,SAAAuzW,EAAA7yZ,GACA,IAAA86Z,EAAA,GACA5+Q,EAAA4+Q,EAAA5+Q,OAAA,GACA6+Q,EAAAz7W,IACA07W,EAAA,GACAC,EAAA,GACAr/Y,EAAA5b,EAAAktE,WAAA,SAAAC,GACA,IAAAtyD,EAAA7a,EAAA8a,iBAAAqyD,GACAjwD,EAAArC,EAAAqC,SAEA,GAAAA,EAAA,CACA,IAAAg+Y,EAAAh/Q,EAAAh/H,GAEAg/H,EAAAv8I,eAAAud,KACAg+Y,EAAAh/Q,EAAAh/H,GAAA,IAGAg+Y,EAAArgZ,EAAAiuL,eAAA37H,EAEAtyD,EAAAguL,eACAkyN,EAAAlzY,IAAA3K,EAAA,GAKAi+Y,EAAAtgZ,EAAAjmB,QACAoma,EAAA,GAAA7tV,IAIAtyD,EAAAo2N,gBACAgqL,EAAA7zZ,KAAA+lE,GAIA2iK,EAAAl0N,KAAA,SAAAhK,EAAAq7D,GACA,IAAAmuV,EAAAl/Q,EAAAjvE,GAEAivE,EAAAv8I,eAAAstE,KACAmuV,EAAAl/Q,EAAAjvE,GAAA,IAGA,IAAAzxE,EAAAqf,EAAAM,UAAA8xD,GAEA,MAAAzxE,IAAA,IAAAA,IACA4/Z,EAAA5/Z,GAAAqf,EAAA9X,UAIA,IAAA6zZ,EAAA,GACAE,EAAA,GACAiE,EAAAn/Y,KAAA,SAAAhK,EAAAsL,GACA,IAAAm+Y,EAAAn/Q,EAAAh/H,GAIA45Y,EAAA55Y,GAAAm+Y,EAAA,GAGAzE,IAAAz4W,OAAAk9W,KAEAP,EAAAlE,kBACAkE,EAAAhE,yBACA,IAAAwE,EAAAp/Q,EAAA3iI,MAGA+hZ,KAAAtja,SACAgja,EAAAM,EAAA3nY,SAGA,IAAA4nY,EAAAr/Q,EAAAnhI,QAUA,OARAwgZ,KAAAvja,OACAija,EAAAM,EAAA5nY,QACGsnY,EAAAjja,SACHija,EAAAD,EAAArnY,SAGAuoH,EAAA8+Q,iBACA9+Q,EAAA++Q,mBACAH,EAGA,SAAA/iI,EAAArsJ,GACA,mBAAAA,EAAA,mBAAAA,EAAA,eAGA,SAAAyvR,EAAA//Y,GAGA,oBAAAA,GAAA,SAAAA,GAeAhkB,EAAA04O,mBACA14O,EAAAy7Z,sBACAz7Z,EAAA2gS,6CCvHA,SAAA7gS,EAAA0X,GACA,OACAA,aACAE,MAAA,SAAAC,EAAAC,GACA,IAAAm/V,EAAAn/V,EAAAo/V,eAAA,CACA3tV,SAAA,WAGA,GAAA0tV,KAAAn2W,OAAA,CAIA,IAAAgI,EAAA+O,EAAAE,UACAjP,EAAAinK,WAAA,SAAA70J,GAGA,IAFA,IAAArP,EAAA/C,EAAAqc,QAAAjK,GAEA5S,EAAA,EAAuBA,EAAA2uW,EAAAn2W,OAAyBwH,IAChD,IAAA2uW,EAAA3uW,GAAAw9M,WAAAj6M,GACA,SAIA,cAMA5L,EAAAC,QAAAF,wBC9CA,IAAA7D,EAAcC,EAAQ,QAEtB2sS,EAAuB3sS,EAAQ,QAE/Bs8I,EAAat8I,EAAQ,QAErB0lB,EAAA42H,EAAA52H,gBAoBAwiZ,EAAAnoa,EAAAu6K,kBAAA,CACAh5K,KAAA,gBACA+iB,KAAA,SAAAC,GACA4jZ,EAAAzgQ,WAAAtmK,KAAA,OAAA2I,WAGA3I,KAAA+iB,mBAAA,WACA,OAAA/iB,KAAAilB,cAIAjlB,KAAAgna,kBAAA7jZ,IAEAU,eAAA,SAAAV,EAAA5I,GACA,OAAAixR,EAAAxrS,KAAA,YAEAgna,kBAAA,SAAA7jZ,GAEAoB,EAAApB,EAAA,sBACA,IAAA8jZ,EAAA9jZ,EAAA+1L,UACAguN,EAAA/jZ,EAAA05F,SAAAq8F,UAEA+tN,EAAA/qT,KAAA+qT,EAAA/qT,MAAA/4F,EAAA2B,MAAAo3F,KACAgrT,EAAAhrT,KAAAgrT,EAAAhrT,MAAA/4F,EAAA05F,SAAA/3F,MAAAo3F,MAGAlxF,cAAA,SAAAvF,GACA,IAAAla,EAAAvL,KAAAwa,UACAwK,EAAA+hZ,EAAAr9O,UAAA1pL,KAAA,gBAAAylB,GACA0tJ,EAAA5nK,EAAA8P,aAAA,SACA3B,EAAAnO,EAAAkxM,OAAAtpC,GAIA,OAFAnuJ,EAAAmzF,QAAAz+F,IAAAnO,EAAA9F,IAAA0tK,EAAA1tJ,GAAA/L,EAAA,KAAA4+F,QAAA,KACAtzF,EAAA2iI,MAAAh1I,KAAA,WACAqS,GAEAlC,cAAA,CACAq5F,OAAA,EAEAh/E,EAAA,EAEAwsJ,iBAAA,EACAr6I,KAAA,GACAG,IAAA,GACAF,MAAA,GACAC,OAAA,GAMA23X,QAAA,KACAv6Z,QAAA,OACAqpB,KAAA,aAEAksD,IAAA,EACA+gR,YAAA,SACAp+U,MAAA,CACAo3F,MAAA,EACA51G,SAAA,SAGA4yM,UAAA,CACAh9F,MAAA,EACA34G,OAAA,GACAk2I,UAAA,CAEAn3I,MAAA,EACAnC,KAAA,UAGAmrG,UAAA,CAEAzI,YAAA,OACA+Z,YAAA,GAEAC,SAAA,CACA/3F,MAAA,CACAo3F,MAAA,OAKAz5G,EAAAska,EACArka,EAAAC,QAAAF,sBC5FA,IAAA2ka,EAAA,2BACAC,EAAA,mBACAC,EAAA,mBAWA,SAAAz+L,EAAAzlO,EAAAstI,EAAAqmE,GACA,IAAAwwN,EAIA3qZ,EACA0L,EACAmhC,EACAwlJ,EANAu4N,EAAA,EACAC,EAAA,EACAC,EAAA,KAOA,SAAAn2Z,IACAk2Z,GAAA,IAAAzvY,MAAAmyK,UACAu9N,EAAA,KACAtka,EAAAsF,MAAA4f,EAAAmhC,GAAA,IALAinF,KAAA,EAQA,IAAA36G,EAAA,WACAwxY,GAAA,IAAAvvY,MAAAmyK,UACA7hL,EAAAtoB,KACAypD,EAAA9gD,UACA,IAAAg/Z,EAAA14N,GAAAv+D,EACAk3R,EAAA34N,GAAA8H,EACA9H,EAAA,KACAryL,EAAA2qZ,GAAAK,EAAAJ,EAAAC,GAAAE,EACA5mV,aAAA2mV,GASAE,EACAF,EAAAz7W,WAAA16C,EAAAo2Z,GAEA/qZ,GAAA,EACArL,IAEAm2Z,EAAAz7W,WAAA16C,GAAAqL,GAIA4qZ,EAAAD,GAuBA,OAfAxxY,EAAArpB,MAAA,WACAg7Z,IACA3mV,aAAA2mV,GACAA,EAAA,OAQA3xY,EAAAk5K,iBAAA,SAAA44N,GACA54N,EAAA44N,GAGA9xY,EA+BA,SAAAy4K,EAAA1jM,EAAAg9Z,EAAA5sZ,EAAA8qQ,GACA,IAAA5iR,EAAA0H,EAAAg9Z,GAEA,GAAA1ka,EAAA,CAIA,IAAA2ka,EAAA3ka,EAAAgka,IAAAhka,EACA4ka,EAAA5ka,EAAAkka,GACAW,EAAA7ka,EAAAika,GAEA,GAAAY,IAAA/sZ,GAAA8sZ,IAAAhiJ,EAAA,CACA,SAAA9qQ,IAAA8qQ,EACA,OAAAl7Q,EAAAg9Z,GAAAC,EAGA3ka,EAAA0H,EAAAg9Z,GAAAj/L,EAAAk/L,EAAA7sZ,EAAA,aAAA8qQ,GACA5iR,EAAAgka,GAAAW,EACA3ka,EAAAkka,GAAAthJ,EACA5iR,EAAAika,GAAAnsZ,EAGA,OAAA9X,GAWA,SAAAsJ,EAAA5B,EAAAg9Z,GACA,IAAA1ka,EAAA0H,EAAAg9Z,GAEA1ka,KAAAgka,KACAt8Z,EAAAg9Z,GAAA1ka,EAAAgka,IAIAzka,EAAAkmO,WACAlmO,EAAA6rM,iBACA7rM,EAAA+J,8BChMA,IAaAw7Z,EAAAC,EAAAj3D,EAbA7wW,EAAUxB,EAAQ,QAClBupa,EAAavpa,EAAQ,QACrBmpB,EAAWnpB,EAAQ,QACnBwpa,EAAUxpa,EAAQ,QAClBqsD,EAAarsD,EAAQ,QACrB2iS,EAAAt2O,EAAAs2O,QACA8mI,EAAAp9W,EAAA+oR,aACAs0F,EAAAr9W,EAAAs9W,eACAC,EAAAv9W,EAAAu9W,eACAC,EAAAx9W,EAAAw9W,SACAx0F,EAAA,EACAnwK,EAAA,GACA4kQ,EAAA,qBAEAxmI,EAAA,WACA,IAAAl2Q,GAAAjsB,KAEA,GAAA+jK,EAAA74J,eAAA+gB,GAAA,CACA,IAAA7oB,EAAA2gK,EAAA93I,UACA83I,EAAA93I,GACA7oB,MAGAwla,EAAA,SAAAzxZ,GACAgrR,EAAApiS,KAAAoX,EAAA5L,OAGA+8Z,GAAAC,IACAD,EAAA,SAAAlla,GACA,IAAAqmD,EAAA,GACA1+C,EAAA,EACA,MAAApC,UAAApF,OAAAwH,EAAA0+C,EAAA92C,KAAAhK,UAAAoC,MAMA,OALAg5J,IAAAmwK,GAAA,WAEAk0F,EAAA,mBAAAhla,IAAA8mD,SAAA9mD,GAAAqmD,IAEAy+W,EAAAh0F,GACAA,GAEAq0F,EAAA,SAAAt8Y,UACA83I,EAAA93I,IAGsB,WAAhBptB,EAAQ,OAARA,CAAgB2iS,GACtB0mI,EAAA,SAAAj8Y,GACAu1Q,EAAAa,SAAAhiS,EAAA8hS,EAAAl2Q,EAAA,KAGGy8Y,KAAAzwY,IACHiwY,EAAA,SAAAj8Y,GACAy8Y,EAAAzwY,IAAA53B,EAAA8hS,EAAAl2Q,EAAA,KAGGw8Y,GACHN,EAAA,IAAAM,EACAv3D,EAAAi3D,EAAAU,MACAV,EAAAW,MAAA3vO,UAAAyvO,EACAV,EAAA7na,EAAA6wW,EAAAx3K,YAAAw3K,EAAA,IAGGhmT,EAAA2yB,kBAAA,mBAAA67G,cAAAxuI,EAAA69W,eACHb,EAAA,SAAAj8Y,GACAi/B,EAAAwuI,YAAAztK,EAAA,SAEAi/B,EAAA2yB,iBAAA,UAAA+qV,GAAA,IAGAV,EADGS,KAAAN,EAAA,UACH,SAAAp8Y,GACAjE,EAAAo4M,YAAAioM,EAAA,WAAAM,GAAA,WACA3gZ,EAAAs4M,YAAAtgO,MACAmiS,EAAApiS,KAAAksB,KAKA,SAAAA,GACAggC,WAAA5rD,EAAA8hS,EAAAl2Q,EAAA,QAIAvpB,EAAAC,QAAA,CACAywB,IAAAk1Y,EACA57Z,MAAA67Z,uBClFA5la,EAAAiB,EAAA,GAAcm3T,2CCoBd,IAAA3tE,EAAoBvuP,EAAQ,QAoB5B4D,EAAA2qP,EAAA1oP,OAAA,CACAvE,KAAA,kBAKA2iB,cAAA,CACAkmZ,UAAA,EAEAtwJ,UAAA,EAEAljQ,kBAAA,EAEAC,iBAAA,EAEAC,kBAAA,EAEAC,yBAAA,KAIAjT,EAAAC,QAAAF,wBCzCA,IAAAjD,EAAaX,EAAQ,QAErBgjB,EAAqBhjB,EAAQ,QAE7Bm3X,EAAuBn3X,EAAQ,QAE/BmnN,EAA2BnnN,EAAQ,QAoBnCoqa,EAAApnZ,EAAAnd,OAAA,CACAvE,KAAA,YAKA6E,KAAA,KAKAoxI,iBAAA,WACA,OAAAp2I,KAAAua,QAAAwR,gBAAA,CACAC,SAAA,QACAnoB,MAAA7D,KAAAmjB,OAAA+lZ,WACAj9Y,GAAAjsB,KAAAmjB,OAAAgmZ,UACK,MAGL3pa,EAAA2L,MAAA89Z,EAAAhpa,UAAA+lN,GACA,IAAAojN,EAAA,CACAnjX,MAAA,CAGApnC,WAAA,GACAE,WAAA,EACAo5H,YAAA,GACA7C,UAAA,CACAhlG,QAAA,IAGAn0B,OAAA,CAGAg8H,YAAA,IAIA,SAAA5B,EAAAC,EAAArzH,GAEA,OAAAA,EAAAhjB,OAAAgjB,EAAA5X,KAAA,oBAGAyqX,EAAA,QAAAizC,EAAA1yR,EAAA6yR,EAAAnjX,OACA+vU,EAAA,SAAAizC,EAAA1yR,EAAA6yR,EAAAjtZ,8BCtEA,IAAAvd,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErByiB,EAAUziB,EAAQ,QAElBs0W,EAAqBt0W,EAAQ,QAE7Bu6W,EAAyBv6W,EAAQ,QAEjC8wE,EAAiB9wE,EAAQ,QAEzB2nJ,EAAiB3nJ,EAAQ,QAEzBqF,EAAcrF,EAAQ,QAEtBwqa,EAA0Bxqa,EAAQ,QAElC6nN,EAAiB7nN,EAAQ,QAEzB6jJ,EAAY7jJ,EAAQ,QAEpBiwT,EAAqBjwT,EAAQ,QAE7BknN,EAAiBlnN,EAAQ,QAEzByqa,EAA4Bzqa,EAAQ,QAEpCs8I,EAAat8I,EAAQ,QAErBo3O,EAAA96F,EAAA86F,qBAoBArtO,EAAApJ,EAAAoJ,KACAue,EAAA3nB,EAAA2nB,KACA26D,EAAA0kE,EAAA1kE,aACAynV,EAAA,IAAArla,EAAA+qE,KAAA,CACArnE,MAAA,CACA5F,GAAA,EACAC,GAAA,EACAK,MAAA,EACAC,OAAA,KAIAE,EAAA7D,EAAAu7I,oBAAA,CACAh6I,KAAA,UACA+iB,KAAA,SAAA3I,EAAAxV,GACA,IAAAuc,EAAAjE,KAAA,CAIA,IAGAmsZ,EAHA/gN,EAAAluM,EAAAmS,aAAA,WACA/G,EAAA8iM,EAAAhjN,IAAA,cACAzF,KAAAypa,YAAAxzL,EAAAtwN,GAGA,SAAA3lB,KAAAypa,aACAD,EAAA,IAAAr2D,EAAApuW,EAAAsjI,SAAAtjI,GACA/E,KAAA0pa,SAAA,UAEAF,EAAA,IAAApwD,EAAAr0W,GACA/E,KAAA0pa,SAAA,MAGA1pa,KAAA2pa,gBAAAH,IAEAt2W,OAAA,SAAAu1J,EAAAluM,EAAAxV,GACA,IAAAuc,EAAAjE,KAAA,CAKArd,KAAAylE,MAAApB,YAMArkE,KAAA4pa,cAAAnhN,EAMAzoN,KAAAsyN,SAAA/3M,EAMAva,KAAAggG,KAAAj7F,EAOA/E,KAAA6pa,oBAAA,KAMA7pa,KAAA8pa,mBAAArhN,EAAAhjN,IAAA,qBACA,IAAA+ja,EAAAxpa,KAAA2pa,gBACAH,EAAAj9Y,SACAi9Y,EAAAx1D,aAAAvrJ,EAAAhjN,IAAA,cAEAzF,KAAA+pa,sBAEA/pa,KAAAgqa,cAEAD,oBAAA,WACA,IAAAthN,EAAAzoN,KAAA4pa,cACAxiO,EAAAqhB,EAAAhjN,IAAA,aACAqpT,EAAA92J,SAAA,cAAAh4J,KAAAggG,KAAAp3F,EAAA,SAAAsmT,EAAA/4S,EAAAi3F,GAEA,SAAAg6F,IACAA,EAAAh8J,QAAA8jR,IAAA,EACAlvT,KAAAiqa,SAAA9zZ,EAAAi3F,GACS,UAAA8hN,GACTlvT,KAAAkqa,MAAA98T,KAGKptG,QAELgqa,UAAA,WACA,IAAAvhN,EAAAzoN,KAAA4pa,cACArvZ,EAAAva,KAAAsyN,SACAvtN,EAAA/E,KAAAggG,KAEA,SAAAhgG,KAAAo3W,QAAA,MAAAp3W,KAAAq3W,QAGA,SAAA5uJ,EAAAhjN,IAAA,cACA,IAAAiiC,EAAA1nC,KACA+gF,aAAA/gF,KAAAmqa,uBACAnqa,KAAAmqa,sBAAAl+W,WAAA,WAIAvkB,EAAA0iY,gBAAA3hN,EAAAluM,EAAAxV,EAAA,CACA/C,EAAA0lC,EAAA0vU,OACAn1W,EAAAylC,EAAA2vU,aAsBA+yD,gBAAA,SAAA3hN,EAAAluM,EAAAxV,EAAAynB,GACA,GAAAA,EAAA67B,OAAAroD,KAAAgqB,MAAA1I,EAAAjE,KAAA,CAIA,IAAA+vF,EAAAs8Q,EAAAl9V,EAAAznB,GAEA/E,KAAAqqa,QAAA,GAEA,IAAAC,EAAA99Y,EAAA89Y,eAEA,GAAA99Y,EAAAlG,SAAA,MAAAkG,EAAAxqB,GAAA,MAAAwqB,EAAAvqB,EAAA,CACA,IAAA8uC,EAAAw4X,EACAx4X,EAAAzqC,SAAA,CAAAkmB,EAAAxqB,EAAAwqB,EAAAvqB,GACA8uC,EAAAxkB,SACAwkB,EAAAzqB,QAAAkG,EAAAlG,QAEAtmB,KAAAiqa,SAAA,CACA1zZ,QAAAiW,EAAAxqB,EACAwU,QAAAgW,EAAAvqB,EACAoU,OAAA06B,GACOq8D,QACF,GAAAk9T,EACLtqa,KAAAiqa,SAAA,CACA1zZ,QAAAiW,EAAAxqB,EACAwU,QAAAgW,EAAAvqB,EACAqE,SAAAkmB,EAAAlmB,SACA6Q,MAAA,GACAmzZ,eAAA99Y,EAAA89Y,eACAhja,cAAAklB,EAAAllB,eACO8lG,QACF,SAAA5gF,EAAA3J,YAAA,CACL,GAAA7iB,KAAAuqa,qBAAA9hN,EAAAluM,EAAAxV,EAAAynB,GACA,OAGA,IAAAg+Y,EAAAnB,EAAA78Y,EAAAjS,GACAkE,EAAA+rZ,EAAA3gW,MAAA,GACAnrD,EAAA8rZ,EAAA3gW,MAAA,GAEA,MAAAprD,GAAA,MAAAC,GACA1e,KAAAiqa,SAAA,CACA1zZ,QAAAkI,EACAjI,QAAAkI,EACApY,SAAAkmB,EAAAlmB,SACA+P,OAAAm0Z,EAAAz5X,GACA55B,MAAA,IACSi2F,QAEJ,MAAA5gF,EAAAxqB,GAAA,MAAAwqB,EAAAvqB,IAGL8C,EAAAqoG,eAAA,CACAjtG,KAAA,oBACA6B,EAAAwqB,EAAAxqB,EACAC,EAAAuqB,EAAAvqB,IAGAjC,KAAAiqa,SAAA,CACA1zZ,QAAAiW,EAAAxqB,EACAwU,QAAAgW,EAAAvqB,EACAqE,SAAAkmB,EAAAlmB,SACA+P,OAAAtR,EAAA2sB,QAAAimV,UAAAnrV,EAAAxqB,EAAAwqB,EAAAvqB,GAAAoU,OACAc,MAAA,IACOi2F,MAGPq9T,gBAAA,SAAAhiN,EAAAluM,EAAAxV,EAAAynB,GACA,IAAAg9Y,EAAAxpa,KAAA2pa,iBAEA3pa,KAAA8pa,oBAAA9pa,KAAA4pa,eACAJ,EAAA71D,UAAA3zW,KAAA4pa,cAAAnka,IAAA,cAGAzF,KAAAo3W,OAAAp3W,KAAAq3W,OAAA,KAEA7qV,EAAA67B,OAAAroD,KAAAgqB,KACAhqB,KAAAkqa,MAAAxgD,EAAAl9V,EAAAznB,KAMAwla,qBAAA,SAAA9hN,EAAAluM,EAAAxV,EAAAynB,GACA,IAAA3J,EAAA2J,EAAA3J,YACA4C,EAAA+G,EAAA/G,UACAu6W,EAAAzlX,EAAAmS,aAAA,eAAAszW,iBAEA,SAAAn9W,GAAA,MAAA4C,GAAA,MAAAu6W,EAAA,CAIA,IAAA1lX,EAAAC,EAAA2pM,iBAAArhM,GAEA,GAAAvI,EAAA,CAIA,IAAA/O,EAAA+O,EAAAE,UACAiuM,EAAAiiN,EAAA,CAAAn/Z,EAAA4f,aAAA1F,GAAAnL,KAAApV,kBAAA,IAAwHye,MAAA8kM,IAExH,YAAAA,EAAAhjN,IAAA,WAUA,OANAV,EAAAqoG,eAAA,CACAjtG,KAAA,oBACA0iB,cACA4C,YACAnf,SAAAkmB,EAAAlmB,YAEA,KAEA2ja,SAAA,SAAA9zZ,EAAAi3F,GACA,IAAAr8D,EAAA56B,EAAAE,OACAoyM,EAAAzoN,KAAA4pa,cAEA,GAAAnhN,EAAA,CAKAzoN,KAAAo3W,OAAAjhW,EAAAI,QACAvW,KAAAq3W,OAAAlhW,EAAAK,QACA,IAAA8zZ,EAAAn0Z,EAAAm0Z,eAEAA,KAAA/ma,OACAvD,KAAA2qa,iBAAAL,EAAAn0Z,GAEA46B,GAAA,MAAAA,EAAAtrB,WACAzlB,KAAA6pa,oBAAA,KAEA7pa,KAAA4qa,uBAAAz0Z,EAAA46B,EAAAq8D,IAEAr8D,KAAAzqB,SACAtmB,KAAA6pa,oBAAA,KAEA7pa,KAAA6qa,0BAAA10Z,EAAA46B,EAAAq8D,KAEAptG,KAAA6pa,oBAAA,KAEA7pa,KAAAkqa,MAAA98T,MAGA09T,YAAA,SAAAriN,EAAA1yL,GAKA,IAAA26G,EAAA+3E,EAAAhjN,IAAA,aACAswB,EAAAv2B,EAAAoJ,KAAAmtB,EAAA/1B,MACA+gF,aAAA/gF,KAAA+qa,aACAr6R,EAAA,EAAA1wI,KAAA+qa,YAAA9+W,WAAAl2B,EAAA26G,GAAA36G,KAEA40Y,iBAAA,SAAAL,EAAAn0Z,GACA,IAAAoE,EAAAva,KAAAsyN,SACA28F,EAAAjvT,KAAA4pa,cACA//V,EAAA,CAAA1zD,EAAAI,QAAAJ,EAAAK,SACAw0Z,EAAA,GACAC,EAAA,GACAC,EAAAR,EAAA,CAAAv0Z,EAAA7O,cAAA2nT,IACAtpS,EAAA3lB,KAAAypa,YACA5jZ,EAAA7lB,KAAA0pa,SACA3jZ,EAAA,GACAoB,EAAAmjZ,EAAA,SAAAa,GAWAhkZ,EAAAgkZ,EAAAC,WAAA,SAAAvmW,GACA,IAAAhgE,EAAA0V,EAAAmS,aAAAm4C,EAAA2xE,QAAA,OAAA3xE,EAAAy3L,WACA+uK,EAAAxmW,EAAA5gE,MACAqna,EAAA,GAEA,GAAAzma,GAAA,MAAAwma,EAAA,CAIA,IAAAE,EAAAjC,EAAAj0G,cAAAg2G,EAAAxma,EAAAG,KAAAuV,EAAAsqD,EAAA2wP,kBAAA3wP,EAAA2mW,eACAhsa,EAAA2nB,KAAA09C,EAAA2wP,kBAAA,SAAAE,GACA,IAAA9vS,EAAArL,EAAA2pM,iBAAAwxG,EAAA7yS,aACA4C,EAAAiwS,EAAA34R,gBACA44R,EAAA/vS,KAAAoF,cAAAvF,GAQA,GAPAkwS,EAAAn/K,QAAA3xE,EAAA2xE,QACAm/K,EAAAr5D,UAAAz3L,EAAAy3L,UACAq5D,EAAA1+K,SAAApyE,EAAAoyE,SACA0+K,EAAA8/E,OAAA5wU,EAAA4wU,OACA9/E,EAAA01G,UAAAtlN,EAAA+0C,gBAAAj2P,EAAAG,KAAAqma,GACA11G,EAAA81G,eAAAF,EAEA51G,EAAA,CACAs1G,EAAAt4Z,KAAAgjT,GACA,IACA3tS,EADA0jZ,EAAA9lZ,EAAAJ,cAAAC,GAAA,OAAAE,GAGA,GAAAnmB,EAAAoK,SAAA8ha,GAAA,CACA1jZ,EAAA0jZ,EAAA1jZ,KACA,IAAA2jZ,EAAAD,EAAA3lZ,QACAvmB,EAAA2L,MAAA4a,EAAA4lZ,QAEA3jZ,EAAA0jZ,EAGAJ,EAAA34Z,KAAAqV,MAOA,IAAAg1O,EAAAuuK,EAEA,SAAA5lZ,EACAqlZ,EAAAr4Z,KAAA24Z,EAAAt7Z,KAAA6V,IAEAmlZ,EAAAr4Z,MAAAqqP,EAAArtL,EAAAluD,WAAAu7O,GAAAn3O,EAAA,IAAAylZ,EAAAt7Z,KAAA6V,QAGK7lB,MAELgra,EAAAx+Q,UACAw+Q,IAAAh7Z,KAAAhQ,KAAA0pa,SAAA1pa,KAAA0pa,UACA,IAAAkC,EAAAz1Z,EAAA7P,SAEAtG,KAAA8qa,YAAAI,EAAA,WACAlra,KAAA6ra,+BAAAvB,GACAtqa,KAAA8ra,gBAAAZ,EAAAU,EAAA/hW,EAAA,GAAAA,EAAA,GAAA7pE,KAAA2pa,gBAAAsB,GAEAjra,KAAA+ra,oBAAAb,EAAAF,EAAAC,EAAAvka,KAAAy3B,SAAA0rC,EAAA,GAAAA,EAAA,GAAA+hW,OAAAtja,EAAAyd,MAMA6kZ,uBAAA,SAAAz0Z,EAAA46B,EAAAq8D,GACA,IAAA7yF,EAAAva,KAAAsyN,SAIAzvM,EAAAkuB,EAAAluB,YACAvI,EAAAC,EAAA2pM,iBAAArhM,GAEAohM,EAAAlzK,EAAAkzK,WAAA3pM,EACAmL,EAAAsrB,EAAAtrB,UACAP,EAAA6rB,EAAA7rB,SACA3Z,EAAA04M,EAAAzpM,UACAiuM,EAAAiiN,EAAA,CAAAn/Z,EAAA4f,aAAA1F,GAAAw+L,EAAA3pM,MAAApV,kBAAA,IAAqIye,MAAA3jB,KAAA4pa,gBACrIoC,EAAAvjN,EAAAhjN,IAAA,WAEA,SAAAuma,GAAA,SAAAA,EAAA,CAIA,IAEAC,EACAlmZ,EAHAf,EAAAi/L,EAAAj5L,cAAAvF,EAAAP,GACAwmZ,EAAAznN,EAAAz+L,cAAAC,GAAA,EAAAP,EAAAllB,KAAAypa,aAIAjqa,EAAAoK,SAAA8ha,IACAO,EAAAP,EAAA1jZ,KACAjC,EAAA2lZ,EAAA3lZ,UAEAkmZ,EAAAP,EACA3lZ,EAAA,MAGA,IAAAmmZ,EAAA,QAAAjoN,EAAA31M,KAAA,IAAAmX,EAEAzlB,KAAA8qa,YAAAriN,EAAA,WACAzoN,KAAA+ra,oBAAAtjN,EAAAwjN,EAAAjnZ,EAAAknZ,EAAA/1Z,EAAAI,QAAAJ,EAAAK,QAAAL,EAAA7P,SAAA6P,EAAAE,OAAA0P,KAKAqnF,EAAA,CACAjtG,KAAA,UACA48B,gBAAAtX,EACAA,UAAAla,EAAAshL,YAAApnK,GACA5C,cACAwlC,KAAAroD,KAAAgqB,QAGA6gZ,0BAAA,SAAA10Z,EAAA46B,EAAAq8D,GACA,IAAAqsR,EAAA1oV,EAAAzqB,QAEA,qBAAAmzW,EAAA,CACA,IAAAzyW,EAAAyyW,EACAA,EAAA,CACAzyW,UAEA6oD,UAAA7oD,GAIA,IAAAmlZ,EAAA,IAAAzpR,EAAA+2O,EAAAz5X,KAAA4pa,cAAA5pa,KAAAsyN,UACA25M,EAAAE,EAAA1ma,IAAA,WACAyma,EAAAxla,KAAAy3B,SAIAn+B,KAAA8qa,YAAAqB,EAAA,WACAnsa,KAAA+ra,oBAAAI,EAAAF,EAAAE,EAAA1ma,IAAA,uBAAyGyma,EAAA/1Z,EAAAI,QAAAJ,EAAAK,QAAAL,EAAA7P,SAAAyqC,KAIzGq8D,EAAA,CACAjtG,KAAA,UACAkoD,KAAAroD,KAAAgqB,OAGA+hZ,oBAAA,SAAAtjN,EAAAwjN,EAAAjnZ,EAAAknZ,EAAAlqa,EAAAC,EAAA2pa,EAAA76X,EAAAhrB,GAIA,GAFA/lB,KAAAqqa,QAAA,GAEA5hN,EAAAhjN,IAAA,gBAAAgjN,EAAAhjN,IAAA,SAIA,IAAA+ja,EAAAxpa,KAAA2pa,gBACA95V,EAAA44I,EAAAhjN,IAAA,aACAmma,KAAAnjN,EAAAhjN,IAAA,YACA,IAAAuiB,EAAAikZ,EAEA,GAAAp8V,GAAA,kBAAAA,EACA7nD,EAAA2nD,EAAAG,UAAAD,EAAA7qD,GAAA,QACK,uBAAA6qD,EAAA,CACL,IAAAwC,EAAAzpE,EAAA,SAAAwja,EAAApkZ,GACAokZ,IAAApsa,KAAAqqa,UACAb,EAAAz1D,WAAA/rV,EAAAjC,EAAA0iM,GAEAzoN,KAAA8ra,gBAAArjN,EAAAmjN,EAAA5pa,EAAAC,EAAAuna,EAAAxkZ,EAAA+rB,KAEO/wC,MACPA,KAAAqqa,QAAA6B,EACAlkZ,EAAA6nD,EAAA7qD,EAAAknZ,EAAA75V,GAGAm3V,EAAAz1D,WAAA/rV,EAAAjC,EAAA0iM,GACA+gN,EAAAttT,KAAAusG,GAEAzoN,KAAA8ra,gBAAArjN,EAAAmjN,EAAA5pa,EAAAC,EAAAuna,EAAAxkZ,EAAA+rB,KAaA+6X,gBAAA,SAAArjN,EAAAmjN,EAAA5pa,EAAAC,EAAA+kB,EAAAhC,EAAA+rB,GACA,IAAA4oL,EAAA35N,KAAAggG,KAAAzxF,WAEAqrN,EAAA55N,KAAAggG,KAAA1hC,YAEAstW,KAAAnjN,EAAAhjN,IAAA,YACA,IAAA4ma,EAAArlZ,EAAAqlI,UACA5I,EAAAglE,EAAAhjN,IAAA,SACA20T,EAAA3xG,EAAAhjN,IAAA,iBACAhE,EAAAsvC,KAAAxvC,kBAAAgU,QAWA,GAVAw7B,GAAAtvC,EAAA4X,eAAA03B,EAAAlqC,WAEA,oBAAA+ka,IAEAA,IAAA,CAAA5pa,EAAAC,GAAA+iB,EAAAgC,EAAA+pB,GAAAtvC,EAAA,CACAo4N,SAAA,CAAAF,EAAAC,GACAyyM,cAAAntY,WAIA1/B,EAAAwJ,QAAA4ia,GACA5pa,EAAA8/E,EAAA8pV,EAAA,GAAAjyM,GACA13N,EAAA6/E,EAAA8pV,EAAA,GAAAhyM,QACK,GAAAp6N,EAAAoK,SAAAgia,GAAA,CACLA,EAAAtpa,MAAA+pa,EAAA,GACAT,EAAArpa,OAAA8pa,EAAA,GACA,IAAA9kN,EAAAb,EAAApjI,cAAAsoV,EAAA,CACAtpa,MAAAq3N,EACAp3N,OAAAq3N,IAEA53N,EAAAulN,EAAAvlN,EACAC,EAAAslN,EAAAtlN,EACAwhJ,EAAA,KAGA22K,EAAA,UAEA,qBAAAwxG,GAAA76X,EAAA,CACA,IAAA+vD,EAAAwrU,EAAAV,EAAAnqa,EAAA4qa,GACArqa,EAAA8+F,EAAA,GACA7+F,EAAA6+F,EAAA,OACO,CACPA,EAAAyrU,EAAAvqa,EAAAC,EAAA+kB,EAAA2yM,EAAAC,EAAAn2E,EAAA,QAAA22K,EAAA,SACAp4T,EAAA8+F,EAAA,GACA7+F,EAAA6+F,EAAA,GAMA,GAHA2iD,IAAAzhJ,GAAAwqa,EAAA/oR,GAAA4oR,EAAA,eAAA5oR,EAAA4oR,EAAA,MACAjyG,IAAAn4T,GAAAuqa,EAAApyG,GAAAiyG,EAAA,gBAAAjyG,EAAAiyG,EAAA,MAEA5jN,EAAAhjN,IAAA,YACAq7F,EAAA2rU,EAAAzqa,EAAAC,EAAA+kB,EAAA2yM,EAAAC,GACA53N,EAAA8+F,EAAA,GACA7+F,EAAA6+F,EAAA,GAGA95E,EAAA3H,OAAArd,EAAAC,IAIA4pa,+BAAA,SAAAvB,GACA,IAAAoC,EAAA1sa,KAAA6pa,oBACA8C,IAAAD,KAAAnpa,SAAA+ma,EAAA/ma,OAkBA,OAjBAopa,GAAAxlZ,EAAAulZ,EAAA,SAAAE,EAAAC,GACA,IAAAC,EAAAF,EAAAxB,YAAA,GACA2B,EAAAzC,EAAAuC,IAAA,GACAG,EAAAD,EAAA3B,YAAA,GACAuB,GAAAG,EAAAvpa,SAAAypa,EAAAzpa,OACAopa,GAAAxlZ,EAAA2lZ,EAAA,SAAAG,EAAAC,GACA,IAAA58M,EAAA08M,EAAAE,IAAA,GACAC,EAAAF,EAAAz3G,mBAAA,GACAmuG,EAAArzM,EAAAklG,mBAAA,GACAm3G,GAAAM,EAAAhpa,QAAAqsN,EAAArsN,OAAAgpa,EAAAh2R,WAAAq5E,EAAAr5E,UAAAg2R,EAAAx3B,SAAAnlL,EAAAmlL,QAAA03B,EAAA5pa,SAAAoga,EAAApga,OACAopa,GAAAxlZ,EAAAgmZ,EAAA,SAAAC,EAAA18Z,GACA,IAAA28Z,EAAA1J,EAAAjzZ,GACAi8Z,GAAAS,EAAAvqZ,cAAAwqZ,EAAAxqZ,aAAAuqZ,EAAA3nZ,YAAA4nZ,EAAA5nZ,gBAIAzlB,KAAA6pa,oBAAAS,IACAqC,GAEAzC,MAAA,SAAA98T,GAKAptG,KAAA6pa,oBAAA,KACAz8T,EAAA,CACAjtG,KAAA,UACAkoD,KAAAroD,KAAAgqB,OAGAlU,QAAA,SAAAyE,EAAAxV,GACAuc,EAAAjE,OAIArd,KAAA2pa,gBAAAvyG,OAEAtI,EAAAlP,WAAA,cAAA76S,OASA,SAAA2la,EAAA4C,GACA,IAAAC,EAAAD,EAAAjhZ,MAEA,MAAAihZ,EAAA/pa,OAAA,CACA,IAAAk2X,EAAA6zC,EAAAjhZ,MAEAotW,IACA/2O,EAAAsqC,WAAAysM,KACAA,IAAAh0X,IAAA,eAQA,kBAAAg0X,IACAA,EAAA,CACA5pT,UAAA4pT,IAIA8zC,EAAA,IAAA7qR,EAAA+2O,EAAA8zC,IAAAhzZ,UAIA,OAAAgzZ,EAGA,SAAA7jD,EAAAl9V,EAAAznB,GACA,OAAAynB,EAAA4gF,gBAAA5tG,EAAAoJ,KAAA7D,EAAAqoG,eAAAroG,GAGA,SAAAwna,EAAAvqa,EAAAC,EAAA+kB,EAAA2yM,EAAAC,EAAA4zM,EAAAC,GACA,IAAAxyZ,EAAA+L,EAAAmtV,eACA7xW,EAAA2Y,EAAA3Y,MACAC,EAAA0Y,EAAA1Y,OAkBA,OAhBA,MAAAira,IACAxra,EAAAM,EAAAkra,EAAA7zM,EACA33N,GAAAM,EAAAkra,EAEAxra,GAAAwra,GAIA,MAAAC,IACAxra,EAAAM,EAAAkra,EAAA7zM,EACA33N,GAAAM,EAAAkra,EAEAxra,GAAAwra,GAIA,CAAAzra,EAAAC,GAGA,SAAAwqa,EAAAzqa,EAAAC,EAAA+kB,EAAA2yM,EAAAC,GACA,IAAA3+M,EAAA+L,EAAAmtV,eACA7xW,EAAA2Y,EAAA3Y,MACAC,EAAA0Y,EAAA1Y,OAKA,OAJAP,EAAA0E,KAAAQ,IAAAlF,EAAAM,EAAAq3N,GAAAr3N,EACAL,EAAAyE,KAAAQ,IAAAjF,EAAAM,EAAAq3N,GAAAr3N,EACAP,EAAA0E,KAAAS,IAAAnF,EAAA,GACAC,EAAAyE,KAAAS,IAAAlF,EAAA,GACA,CAAAD,EAAAC,GAGA,SAAAqqa,EAAAhma,EAAA7E,EAAA4qa,GACA,IAAAqB,EAAArB,EAAA,GACAsB,EAAAtB,EAAA,GACAlqV,EAAA,EACAngF,EAAA,EACAC,EAAA,EACAshO,EAAA9hO,EAAAa,MACAkhO,EAAA/hO,EAAAc,OAEA,OAAA+D,GACA,aACAtE,EAAAP,EAAAO,EAAAuhO,EAAA,EAAAmqM,EAAA,EACAzra,EAAAR,EAAAQ,EAAAuhO,EAAA,EAAAmqM,EAAA,EACA,MAEA,UACA3ra,EAAAP,EAAAO,EAAAuhO,EAAA,EAAAmqM,EAAA,EACAzra,EAAAR,EAAAQ,EAAA0ra,EAAAxrV,EACA,MAEA,aACAngF,EAAAP,EAAAO,EAAAuhO,EAAA,EAAAmqM,EAAA,EACAzra,EAAAR,EAAAQ,EAAAuhO,EAAArhJ,EACA,MAEA,WACAngF,EAAAP,EAAAO,EAAA0ra,EAAAvrV,EACAlgF,EAAAR,EAAAQ,EAAAuhO,EAAA,EAAAmqM,EAAA,EACA,MAEA,YACA3ra,EAAAP,EAAAO,EAAAuhO,EAAAphJ,EACAlgF,EAAAR,EAAAQ,EAAAuhO,EAAA,EAAAmqM,EAAA,EAGA,OAAA3ra,EAAAC,GAGA,SAAAuqa,EAAA/oR,GACA,iBAAAA,GAAA,WAAAA,EAGA/gJ,EAAAC,QAAAF,wBCzvBA,IAAAjD,EAAaX,EAAQ,QAErBupF,EAAWvpF,EAAQ,QAEnBs4J,EAAYt4J,EAAQ,QAEpBqxL,EAAerxL,EAAQ,QAEvB0oF,EAAuB1oF,EAAQ,QAE/Bi6N,EAAuBj6N,EAAQ,QAE/BgxM,EAA0BhxM,EAAQ,QAoBlC,SAAA4D,EAAAizJ,EAAA8yB,EAAAluK,EAAA2wK,EAAAvC,GAKA,IAFA,IAAA5rK,EAAA,IAAAq6I,EAAA8zB,GAEAlgL,EAAA,EAAiBA,EAAA2qJ,EAAAnyJ,OAAkBwH,IACnC+R,EAAAo2I,QAAA1zJ,EAAAq9B,SACA64H,EAAA3qJ,GAAAkhB,GAAAypI,EAAA3qJ,GAAAuD,KAAAvD,MAGA,IAAAmgL,EAAA,GACAC,EAAA,GACAC,EAAA,EAEA,IAAArgL,EAAA,EAAiBA,EAAAy9K,EAAAjlL,OAAkBwH,IAAA,CACnC,IAAAw7E,EAAAiiG,EAAAz9K,GACAkvB,EAAAssD,EAAAtsD,OACA5jB,EAAAkwE,EAAAlwE,OAEAyG,EAAAuuK,QAAApxJ,EAAA5jB,EAAA+0K,KACAD,EAAAx4K,KAAA4zE,GACA2kG,EAAAv4K,KAAAnT,EAAAq9B,SAAA0pD,EAAAt6D,GAAAgO,EAAA,MAAA5jB,IACA+0K,KAIA,IACAzC,EADA1jL,EAAAqV,EAAA7U,IAAA,oBAGA,mBAAAR,GAAA,UAAAA,EACA0jL,EAAAknB,EAAAn6C,EAAAp7I,OACG,CACH,IAAAszZ,EAAA90M,EAAArzN,IAAAR,GACAyiF,EAAAkmV,GAAA,SAAAA,EAAAzta,MAAAyta,EAAAn1V,YAAA,GAIAj5E,EAAA4rC,QAAAs8C,EAAA,YACAA,EAAAh+B,OAAA,WAGA,IAAA4hI,EAAA/jG,EAAAmuE,EAAA,CACAhuE,oBAEAihG,EAAA,IAAAvgG,EAAAkjG,EAAAhxK,GACAquK,EAAArgG,SAAAotE,GAGA,IAAAqyB,EAAA,IAAA3/F,EAAA,UAAA9tE,GAkBA,OAjBAytK,EAAAz/F,SAAA6iG,EAAAD,GACAxC,KAAAC,EAAAZ,GACAmI,EAAA,CACA3E,SAAA5C,EACA6C,OAAA1uK,EACA2uK,WAAA,QACAC,MAAA,CACAruK,KAAAsrK,EACAjrK,KAAAqqK,GAEA4D,UAAA,CACAtuK,KAAA,OACAK,KAAA,cAIAZ,EAAAyP,SACAzP,EAGApa,EAAAC,QAAAF,wBCzHA,IAAA8b,EAAW1f,EAAQ,QAMnB4D,EAAA8b,EAAA7Z,OAAA,CACAvE,KAAA,MACAyH,MAAA,CACA6W,GAAA,EACAC,GAAA,EACAE,EAAA,EACAC,WAAA,EACAC,SAAA,EAAApY,KAAAC,GACAoY,WAAA,GAEAxe,MAAA,CACAI,OAAA,OACAD,KAAA,MAEAse,UAAA,SAAA3e,EAAAuH,GACA,IAAA5F,EAAA4F,EAAA6W,GACAxc,EAAA2F,EAAA8W,GACAE,EAAAlY,KAAAS,IAAAS,EAAAgX,EAAA,GACAC,EAAAjX,EAAAiX,WACAC,EAAAlX,EAAAkX,SACAC,EAAAnX,EAAAmX,UACAE,EAAAvY,KAAAwY,IAAAL,GACAM,EAAAzY,KAAA0Y,IAAAP,GACAxe,EAAAgf,OAAAJ,EAAAL,EAAA5c,EAAAmd,EAAAP,EAAA3c,GACA5B,EAAAkf,IAAAvd,EAAAC,EAAA2c,EAAAC,EAAAC,GAAAC,MAIArc,EAAAC,QAAAF,sBCIA,IAAAA,EAAA,CACAw7G,mBAAA,WACA,OACA3uE,KAAAtvC,KAAAyF,IAAA,QACAgqC,IAAAzvC,KAAAyF,IAAA,OACA8pC,MAAAvvC,KAAAyF,IAAA,SACA+pC,OAAAxvC,KAAAyF,IAAA,UACAnD,MAAAtC,KAAAyF,IAAA,SACAlD,OAAAvC,KAAAyF,IAAA,aAIA/C,EAAAC,QAAAF,wBC9BA,IAAA2e,EAAcviB,EAAQ,QAItB+jB,GAFAxB,EAAAC,QAEkBxiB,EAAQ,SAE1BupF,EAAWvpF,EAAQ,QAEnB8O,EAAY9O,EAAQ,QAEpBisD,EAAAn9C,EAAAm9C,YACAnC,EAAAh7C,EAAAg7C,SACAv7C,EAAAO,EAAAP,IAEAmU,EAAc1iB,EAAQ,QAEtB4iB,EAAAF,EAAAE,WAwBAosZ,GAtBuBhva,EAAQ,QAsB/B,qBAAA4sD,YAAAjuC,MAAAiuC,aACAqiX,EAAA,qBAAAniX,aAAAnuC,MAAAmuC,aAEA,SAAAoiX,EAAA97K,GACA,IAAA1mP,EAAA0mP,EAAA1mP,KAEAA,KAAA,IAAAA,EAAA,OAAAA,EAAA,MAAAgV,QACA0xO,EAAA1mP,KAAA6B,EAAA7B,EAAA,SAAA6qO,GACA,IAAAvwI,EAAA,CAAAuwI,EAAA,GAAA71N,MAAA61N,EAAA,GAAA71N,OACAlK,EAAA,CACAwvF,UAWA,OARAuwI,EAAA,GAAA9nO,OACA+H,EAAA23Z,SAAA53L,EAAA,GAAA9nO,MAGA8nO,EAAA,GAAA9nO,OACA+H,EAAA43Z,OAAA73L,EAAA,GAAA9nO,MAGAq6C,EAAA,CAAAtyC,EAAA+/N,EAAA,GAAAA,EAAA,QAKA,IAAA/xC,EAAAzhL,EAAAle,OAAA,CACAvE,KAAA,eACA4lH,aAAA,iBACA/iG,sBAAA,kBACAE,KAAA,SAAAC,GAEAA,EAAA5X,KAAA4X,EAAA5X,MAAA,GAEAwia,EAAA5qZ,GAEA,IAAAzf,EAAA1D,KAAAukM,wBAAAphL,EAAA5X,MAEAvL,KAAAwkM,YAAA9gM,EAAA+gM,WACAzkM,KAAA0kM,kBAAAhhM,EAAAihM,iBAEAjhM,EAAA+gM,aACAthL,EAAA5X,KAAA,IAAAigC,aAAA9nC,EAAAiW,QAGA0qL,EAAA/9B,WAAAtmK,KAAA,OAAA2I,YAEA8b,YAAA,SAAAtB,GAKA,GAHAA,EAAA5X,KAAA4X,EAAA5X,MAAA,GACAwia,EAAA5qZ,GAEAA,EAAA5X,KAAA,CAEA,IAAA7H,EAAA1D,KAAAukM,wBAAAphL,EAAA5X,MAEAvL,KAAAwkM,YAAA9gM,EAAA+gM,WACAzkM,KAAA0kM,kBAAAhhM,EAAAihM,iBAEAjhM,EAAA+gM,aACAthL,EAAA5X,KAAA,IAAAigC,aAAA9nC,EAAAiW,QAIA0qL,EAAA/9B,WAAAtmK,KAAA,cAAA2I,YAEAoc,WAAA,SAAAC,GACA,IAAAthB,EAAA1D,KAAAukM,wBAAAv/K,EAAAzZ,MAEA7H,EAAA+gM,aACAzkM,KAAAwkM,aAIAxkM,KAAAwkM,YAAA15I,EAAA9qD,KAAAwkM,YAAA9gM,EAAA+gM,YACAzkM,KAAA0kM,kBAAA55I,EAAA9qD,KAAA0kM,kBAAAhhM,EAAAihM,oBAJA3kM,KAAAwkM,YAAA9gM,EAAA+gM,WACAzkM,KAAA0kM,kBAAAhhM,EAAAihM,kBAMA3/K,EAAAzZ,KAAA,IAAAigC,aAAA9nC,EAAAiW,QAGA3Z,KAAAilB,aAAAF,WAAAC,EAAAzZ,OAEAq5L,wBAAA,SAAAjnL,GACA,IAAAuN,EAAAlrB,KAAAwa,UAAA2Q,aAAAxN,GACAkoF,EAAA36E,EAAA/H,kBAAA3F,MAAA0N,EAAA/H,OAAA+H,EAAA/C,WAAA,UACA,OAAA09E,GAEAg/F,mBAAA,SAAAlnL,GACA,OAAA3d,KAAA0kM,kBACA1kM,KAAA0kM,kBAAA,EAAA/mL,EAAA,GAEA3d,KAAA4kM,wBAAAjnL,GAAApa,QAGAuhM,cAAA,SAAAnnL,EAAA0hB,GACA,GAAAr/B,KAAA0kM,kBAAA,CAIA,IAHA,IAAA3+I,EAAA/lD,KAAA0kM,kBAAA,EAAA/mL,GACAlR,EAAAzM,KAAA0kM,kBAAA,EAAA/mL,EAAA,GAEA5S,EAAA,EAAqBA,EAAA0B,EAAS1B,IAC9Bs0B,EAAAt0B,GAAAs0B,EAAAt0B,IAAA,GACAs0B,EAAAt0B,GAAA,GAAA/K,KAAAwkM,YAAAz+I,EAAA,EAAAh7C,GACAs0B,EAAAt0B,GAAA,GAAA/K,KAAAwkM,YAAAz+I,EAAA,EAAAh7C,EAAA,GAGA,OAAA0B,EAEA,IAAAo5F,EAAA7lG,KAAA4kM,wBAAAjnL,GAEA,IAAA5S,EAAA,EAAqBA,EAAA86F,EAAAtiG,OAAmBwH,IACxCs0B,EAAAt0B,GAAAs0B,EAAAt0B,IAAA,GACAs0B,EAAAt0B,GAAA,GAAA86F,EAAA96F,GAAA,GACAs0B,EAAAt0B,GAAA,GAAA86F,EAAA96F,GAAA,GAGA,OAAA86F,EAAAtiG,QAGAghM,wBAAA,SAAAh5L,GACA,IAAAo+D,EAAA,EAQA,GANA3pE,KAAAwkM,cACA76H,EAAA3pE,KAAAwkM,YAAAjhM,QAKA,kBAAAgI,EAAA,IASA,IARA,IAAAkB,EAAAlB,EAAAhI,OAEAwhM,EAAA,IAAA8oO,EAAApha,GACAu4L,EAAA,IAAA8oO,EAAArha,GACAw4L,EAAA,EACAC,EAAA,EACAC,EAAA,EAEAp6L,EAAA,EAAqBA,EAAA0B,GAAS,CAC9B04L,IACA,IAAAxrL,EAAApO,EAAAR,KAEAg6L,EAAAG,KAAAD,EAAAt7H,EAEAo7H,EAAAG,KAAAvrL,EAEA,QAAA+G,EAAA,EAAuBA,EAAA/G,EAAW+G,IAAA,CAClC,IAAA1e,EAAAuJ,EAAAR,KACA9I,EAAAsJ,EAAAR,KACAi6L,EAAAC,KAAAjjM,EACAgjM,EAAAC,KAAAhjM,GAMA,OACA0iM,iBAAA,IAAAl5I,YAAAs5I,EAAAv7L,OAAA,EAAA07L,GACAT,WAAAO,EACArrL,MAAAwrL,GAIA,OACAR,iBAAA,KACAF,WAAA,KACA9qL,MAAApO,EAAAhI,SAGAsgB,eAAA,SAAAV,EAAA5I,GACA,IAAAgnK,EAAA,IAAAn5F,EAAA,UAAApoF,MAeA,OAdAuhL,EAAAz2J,eAAA,EACAy2J,EAAAj5F,SAAAnlE,EAAA5X,KAAA,YAAAi2K,EAAA9oG,EAAAjzD,EAAA1e,GAEA,GAAAy6K,aAAAhkK,MACA,OAAA3D,IAEA0nK,EAAAz2J,eAAA,EACA,IAAA7mB,EAAAu9K,EAAAv9K,MAEA,aAAAA,EACAA,aAAAuZ,MAAAvZ,EAAA8C,GAAA9C,OADA,IAKAs9K,GAEA/7J,cAAA,SAAAC,GACA,IAAAla,EAAAvL,KAAAwa,UACA0Q,EAAA3f,EAAA4f,aAAA1F,GACAnX,EAAA4c,EAAAzlB,IAAA,QAEA,GAAA6I,EACA,OAAAA,EAGA,IAAA0/Z,EAAA9iZ,EAAAzlB,IAAA,YACAwoa,EAAA/iZ,EAAAzlB,IAAA,UACAuiB,EAAA,GAGA,OAFA,MAAAgmZ,GAAAhmZ,EAAArV,KAAAq7Z,GACA,MAAAC,GAAAjmZ,EAAArV,KAAAs7Z,GACAxsZ,EAAAuG,EAAAhY,KAAA,SAEA+Y,mBAAA,WACA,QAAA/oB,KAAAyF,IAAA,gBAEAijB,eAAA,WACA,IAAA+yJ,EAAAz7K,KAAAmjB,OAAAs4J,YAEA,aAAAA,EACAz7K,KAAAmjB,OAAAikK,MAAA,IAAApnL,KAAAyF,IAAA,eAGAg2K,GAEA9yJ,wBAAA,WACA,IAAA+yJ,EAAA17K,KAAAmjB,OAAAu4J,qBAEA,aAAAA,EACA17K,KAAAmjB,OAAAikK,MAAA,IAAApnL,KAAAyF,IAAA,wBAGAi2K,GAEA54J,cAAA,CACA5d,iBAAA,MACAi3G,OAAA,EACAh/E,EAAA,EACAwsJ,iBAAA,EACAwkD,gBAAA,EAEAojE,WAAA,EACAC,WAAA,EACA/mR,OAAA,gBACAnN,WAAA,QAEAg0R,SAAA,EACA3vH,OAAA,CACAzlE,MAAA,EACAykE,OAAA,EAKAuxN,cAAA,EACAznX,OAAA,SACAnN,WAAA,EACAkzH,MAAA,EAEAkwC,YAAA,IAIA0G,OAAA,EAEAq0K,eAAA,IAGA/5K,UAAA,EACA58J,MAAA,CACAo3F,MAAA,EACA51G,SAAA,OAIAmzI,UAAA,CACA3lF,QAAA,OAIArxD,EAAA4hM,EACA3hM,EAAAC,QAAAF,qCC1UA,IAAAyra,EAAArva,EAAA,QAAAsva,EAAAtva,EAAAgvB,EAAAqgZ,GAA8fC,EAAG,sBCsCjgB,IAAAnyT,EAAA,GAEA,SAAAg8C,EAAA1pJ,EAAAuzW,GACA7lQ,EAAA1tG,GAAAuzW,EAGA,SAAAp8W,EAAA6I,GACA,OAAA0tG,EAAA1tG,GAGA3L,EAAAq1J,WACAr1J,EAAA8C,4BC7BA,IAAAjG,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAEtB2uO,EAAgB3uO,EAAQ,QAExBuva,EAAoBvva,EAAQ,QAE5B47W,EAAA2zD,EAAA3zD,iBAEA77W,EAAcC,EAAQ,QAEtB4gB,EAAW5gB,EAAQ,QAEnB48N,EAAW58N,EAAQ,QAEnB+qW,EAAiB/qW,EAAQ,QAEzBqV,EAAqBrV,EAAQ,QAE7BgrW,EAAoBhrW,EAAQ,QAE5BirW,EAAAD,EAAAC,oBAyBArnW,EAAA7D,EAAA42K,gBAAA,CACAr1K,KAAA,OAQA+iB,KAAA,SAAA3I,EAAAxV,GAKA/E,KAAAqua,SAMArua,KAAAupN,WAAA,IAAArlN,EAAA80M,MAMAh5M,KAAA0qW,YAAA,IAAAx2V,EAAAnP,EAAA2sB,SACA1xB,KAAA2qW,gBAAA,CACAt0V,OAAArW,KAAAylE,OAEAzlE,KAAAylE,MAAAloC,IAAAv9B,KAAAupN,aAEAr2J,OAAA,SAAA54C,EAAAC,EAAAxV,EAAAynB,GACA,IAAAjhB,EAAA+O,EAAAE,UACAxU,EAAAsU,EAAAtU,WACAy/D,EAAAzlE,KAAAupN,WACAtjN,EAAAqU,EAAA7U,IAAA,UAEA,WAAAQ,EACAw/D,EAAAse,KAAA,YAAA/9E,EAAAhE,EAAAgE,EAAA1D,MAAA,EAAA0D,EAAA/D,EAAA+D,EAAAzD,OAAA,IAEAkjE,EAAAse,KAAA,YAAA/9E,EAAAhE,EAAAgE,EAAA/D,IAGAjC,KAAAsua,oBAAAh0Z,GAEAta,KAAA8rW,kBAAAxxV,EAAAC,EAAAxV,GAEA,IAAAgxM,EAAA/1M,KAAA+gG,MACAstI,EAAA,CACAkgM,kBAAAj0Z,EAAA7U,IAAA,qBACAQ,SACAi8E,OAAA5nE,EAAA+9N,YACA08D,UAAAz6R,EAAA7U,IAAA,uBACA4pN,aAAA/0M,EAAA7U,IAAA,gBACA2pN,aAAA90M,EAAA7U,IAAA,gBACA0oO,eAAA7zN,EAAA7U,IAAA,kBACAgyP,cAAA,EACAb,QAAA,GAEArrP,EAAAqR,KAAAm5L,GAAAx4K,IAAA,SAAAy4K,GACA63B,EAAAtiO,EAAAyqM,IAEAw4N,EAAAjja,EAAAyqM,EAAA,KAAAvwI,EAAAnrD,EAAA+zN,KAEK9hN,OAAA,SAAAypL,EAAAC,GACL,IAAAwe,EAAA1e,EAAA5nB,iBAAA8nB,GAEA43B,EAAAtiO,EAAAyqM,GAMAw4N,EAAAjja,EAAAyqM,EAAAye,EAAAhvJ,EAAAnrD,EAAA+zN,GALA5Z,GAAArhE,EAAA2iD,EAAAE,EAAAwe,EAAAhvJ,EAAAnrD,EAAA+zN,KAMK7hO,OAAA,SAAAypM,GACL,IAAAwe,EAAA1e,EAAA5nB,iBAAA8nB,GAMAwe,GACArhE,EAAA2iD,EAAAE,EAAAwe,EAAAhvJ,EAAAnrD,EAAA+zN,KAEK54B,UACLz1M,KAAAyua,gBAAAn0Z,EAAA7U,IAAA,kBAEAzF,KAAA0ua,wBAAAp0Z,IAEA,IAAA+zN,EAAAkgM,mBACAhja,EAAAqpN,kBAAA,SAAA7jL,EAAAtrB,GACAsrB,EAAAl7B,IAAA,SAAAD,GAAA,mBACA7Q,EAAAqoG,eAAA,CACAjtG,KAAA,wBACA2xL,SAAAx3K,EAAA2R,GACAxG,kBAMAzlB,KAAA+gG,MAAAx1F,GAEA+ia,oBAAA,SAAAh0Z,GACA,IAAA/O,EAAA+O,EAAAE,UACAktD,EAAA,GACAn8D,EAAA4b,KAAA,SAAAxJ,GACA,IAAA1X,EAAAsF,EAAAkqK,cAAA93J,IAEA1X,GAAA2T,MAAA3T,EAAAjE,IAAA4X,MAAA3T,EAAAhE,IACAylE,EAAA/0D,KAAA,EAAA1M,EAAAjE,GAAAiE,EAAAhE,MAGA,IAAAiF,EAAA,GACAC,EAAA,GACAsY,EAAAY,WAAAqnD,EAAAxgE,EAAAC,GAEAA,EAAA,GAAAD,EAAA,SACAC,EAAA,MACAD,EAAA,OAGAC,EAAA,GAAAD,EAAA,SACAC,EAAA,MACAD,EAAA,OAGA,IAAAmvX,EAAA/7W,EAAApV,iBAAA,IAAAu2N,EACA46J,EAAA1tG,UAAAruQ,EAAA7U,IAAA,cACA4wX,EAAAtJ,gBAAA7lX,EAAA,GAAAA,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,IACAmvX,EAAAz3S,UAAAtkE,EAAA7U,IAAA,WACA4wX,EAAA3nN,QAAAp0J,EAAA7U,IAAA,SAEAzF,KAAAylE,MAAAse,KAAA,CACAz9E,SAAA+vX,EAAA/vX,SACAyR,MAAAs+W,EAAAt+W,QAEA/X,KAAA2ua,cAAAt4C,GAEAvqB,kBAAA,SAAAxxV,EAAAC,EAAAxV,GACA,IAAAuT,EAAAtY,KAAA0qW,YACAuB,EAAAjsW,KAAA2qW,gBACAllS,EAAAzlE,KAAAylE,MACAntD,EAAArD,kBAAA,SAAAkB,EAAAnU,EAAAC,GACA,IAAAR,EAAAgkE,EAAAlkE,kBAEA,OADAE,EAAA4X,eAAAosD,EAAA5+D,WACApF,EAAA6e,QAAAte,EAAAC,KAAA6nW,EAAA3zV,EAAApR,EAAAuV,KAEAhC,EAAApD,OAAAoF,EAAA7U,IAAA,SACAwmW,EAAAtjF,UAAAruQ,EAAA7U,IAAA,cACAwmW,EAAAjqP,KAAA1nG,EAAApV,iBAAA6/G,UACAzsG,EAAAzC,IAAA,OAAAA,IAAA,QAAAD,GAAA,eAAAO,GACAyzV,EAAAuC,gBAAAF,EAAA91V,EAAAa,GAAAb,EAAAc,IACAlS,EAAAqoG,eAAA,CACA0kF,SAAAx3K,EAAA2R,GACA9rB,KAAA,WACA6W,GAAAb,EAAAa,GACAC,GAAAd,EAAAc,MAEKjX,MAAA4V,GAAA,gBAAAO,GACLyzV,EAAAwC,iBAAAH,EAAA91V,EAAA4B,MAAA5B,EAAAyB,QAAAzB,EAAA0B,SACA9S,EAAAqoG,eAAA,CACA0kF,SAAAx3K,EAAA2R,GACA9rB,KAAA,WACA6hH,KAAA7rG,EAAA4B,MACAH,QAAAzB,EAAAyB,QACAC,QAAA1B,EAAA0B,UAGA7X,KAAA0ua,wBAAAp0Z,IACKta,OAEL0ua,wBAAA,SAAAp0Z,GACA,IAAA/O,EAAA+O,EAAAE,UAEAo0Z,EAAA5ua,KAAA6ua,oBAAAv0Z,GAEA28W,EAAA,CAAA23C,KACArja,EAAAqpN,kBAAA,SAAA7jL,EAAApzB,GACAozB,EAAAgzC,KAAA,QAAAkzS,MAGA43C,oBAAA,SAAAv0Z,GACA,IAAArV,EAAAqV,EAAApV,iBAEA,YAAAD,EAAA9E,KACA,SAGA,IAAA+0W,EAAAl1W,KAAAyua,gBACAK,EAAA7pa,EAAA8S,MACAg3Z,EAAAD,KAAA,MAEAE,EAAA/pa,EAAA8/G,UACA6pT,GAAAI,EAAA,GAAA95D,EAAA,EACA,OAAA05D,EAAAG,GAEAj5Z,QAAA,WACA9V,KAAA0qW,aAAA1qW,KAAA0qW,YAAA50V,UACA9V,KAAA2qW,gBAAA,IAEAn+V,OAAA,WACAxM,KAAAupN,WAAAllJ,YAEArkE,KAAA+gG,MAAA,QAIA,SAAA8sI,EAAAtiO,EAAAka,GACA,IAAAxf,EAAAsF,EAAAkqK,cAAAhwJ,GACA,OAAAxf,IAAA2T,MAAA3T,EAAAjE,KAAA4X,MAAA3T,EAAAhE,IAAA,SAAAsJ,EAAAic,cAAA/B,EAAA,UAGA,SAAAwpZ,EAAA5xZ,EAAA6N,EAAAmjN,GAcA,OAbAA,EAAAnjN,YACAmjN,EAAA/iI,UAAApgF,EAAAyP,SAAA,aAAA4wE,eACA8iI,EAAAH,eAAAhjN,EAAAyP,SAAA,sBAAA4wE,eACA8iI,EAAA50F,UAAAvuH,EAAAyP,SAAA,aAAA8/K,eACA4zB,EAAA3kI,WAAAx+E,EAAAyP,SAAA,SACA0zM,EAAAhhB,gBAAAniM,EAAAyP,SAAA,mBAEA,IAAAtd,EAAA40V,UAAA,IAAA50V,EAAA8mD,SAAA5gE,OACA8qO,EAAAgpB,iBAAAhpB,EAAA/iI,UAAA5qG,KAEA2tO,EAAAgpB,iBAAA,OAGAhpB,EAGA,SAAAmgM,EAAAjja,EAAAka,EAAAgvM,EAAAhvJ,EAAAnrD,EAAA+zN,GACA,IAAA18B,GAAA8iB,EACAp3M,EAAA9R,EAAAy6L,KAAA++E,mBAAAt/P,GACAyF,EAAA7N,EAAAsd,WAEAorK,GADAsoC,EAAA4gM,EAAA5xZ,EAAA6N,EAAAmjN,GACA9iO,EAAAy6L,KAAA/4K,MACAgN,EAAA5c,EAAAy2M,aAAA/tB,EAAA1oL,IAAAy2M,YAAAz2M,EACA6xZ,EAAA3ja,EAAA4iL,iBAAAl0J,EAAAxU,WACA0pZ,EAAAl1Y,EAAApc,YACAuxZ,EAAAF,EAAA,CACAlta,EAAAkta,EAAA5oa,SAAA,GACArE,EAAAita,EAAA5oa,SAAA,GACA+oa,KAAAH,EAAAI,gBACAC,KAAAL,EAAAM,iBACGL,EACHM,EAAApyZ,EAAAQ,YAEA8zL,GACA8iB,EAAA,IAAA+Y,EAAAjiO,EAAAka,EAAA4oN,GACA5Z,EAAA1wI,KAAA,YAAAqrV,EAAApta,EAAAota,EAAAnta,KAEAwyN,EAAAh0H,WAAAl1F,EAAAka,EAAA4oN,GAGA5Z,EAAA66M,gBAAA76M,EAAAi7M,aACAj7M,EAAA+6M,gBAAA/6M,EAAAk7M,aACAl7M,EAAAi7M,aAAAD,EAAAJ,KACA56M,EAAAk7M,aAAAF,EAAAF,KACA9pW,EAAAloC,IAAAk3L,GACAlpN,EAAAgpM,iBAAA9uL,EAAAgvM,GACAvwN,EAAAkuM,YAAAqiB,EAAA,CACAnuN,SAAA,CAAAmpa,EAAAzta,EAAAyta,EAAAxta,IACGqY,GACH,IAAA+7O,EAAA5hC,EAAA+hC,gBAEA,cAAAnoB,EAAApoO,OAAA,CACA,IAGAsqC,EACAq/X,EAJAC,EAAA9pO,EAAA5hI,SAAA,GACA2rW,EAAAD,EAAAhyZ,YACAta,EAAAssa,EAAA1rW,SAAA5gE,OAIA,GAAAksa,EAAAzta,IAAA8ta,EAAA9ta,IAAA,IAAAqb,EAAA40V,SAAA,CACA,IAAA/1V,EAAA,GACAA,EAAAla,GAAA6ta,EAAA1rW,SAAA,GAAAtmD,YAAA7b,EAAA6ta,EAAA1rW,SAAA5gE,EAAA,GAAAsa,YAAA7b,GAAA,EACAka,EAAAja,GAAA4ta,EAAA1rW,SAAA,GAAAtmD,YAAA5b,EAAA4ta,EAAA1rW,SAAA5gE,EAAA,GAAAsa,YAAA5b,GAAA,EACAsuC,EAAA7pC,KAAA44B,MAAApjB,EAAAja,EAAA6ta,EAAA7ta,EAAAia,EAAAla,EAAA8ta,EAAA9ta,GAEAuuC,EAAA,IACAA,EAAA,EAAA7pC,KAAAC,GAAA4pC,GAGAq/X,EAAA1zZ,EAAAla,EAAA8ta,EAAA9ta,EAEA4ta,IACAr/X,GAAA7pC,KAAAC,SAGA4pC,EAAA7pC,KAAA44B,MAAAmwY,EAAAxta,EAAA6ta,EAAA7ta,EAAAwta,EAAAzta,EAAA8ta,EAAA9ta,GAEAuuC,EAAA,IACAA,EAAA,EAAA7pC,KAAAC,GAAA4pC,GAGA,IAAAlzB,EAAA8mD,SAAA5gE,QAAA,IAAA8Z,EAAA8mD,SAAA5gE,SAAA,IAAA8Z,EAAA40V,UACA29D,EAAAH,EAAAzta,EAAA8ta,EAAA9ta,EAEA4ta,IACAr/X,GAAA7pC,KAAAC,MAGAipa,EAAAH,EAAAzta,EAAA8ta,EAAA9ta,EAEA4ta,IACAr/X,GAAA7pC,KAAAC,KAKA,IAAA4I,EAAAqga,EAAA,eACAv5K,EAAA7uI,SAAA,CACAj4G,eACA66O,cAAA75M,EACA85M,WAAA,SACA9iP,cAAA,WAIA,GAAA8V,EAAAy2M,YAAAz2M,EAAAy2M,aAAA/tB,EAAA,CACA,IAAAroL,EAAA+2M,EAAAs7M,OAEAryZ,IACAA,EAAA+2M,EAAAs7M,OAAA,IAAA7ra,EAAAypM,YAAA,CACA/lM,MAAAooa,EAAA3hM,EAAA+gM,KACA7ua,MAAAf,EAAA8V,SAAA,CACAw+C,QAAA,EACAooJ,eAAA,GACSmyB,EAAA50F,cAITv1I,EAAAkuM,YAAA10L,EAAA,CACA9V,MAAAooa,EAAA3hM,EAAA8gM,EAAAM,GACAlva,MAAA,CACAuzD,QAAA,IAEKx5C,GACLmrD,EAAAloC,IAAA7f,IAIA,SAAA01I,EAAA7nJ,EAAAka,EAAAgvM,EAAAhvJ,EAAAnrD,EAAA+zN,GACA,IAKA8gM,EALA9xZ,EAAA9R,EAAAy6L,KAAA++E,mBAAAt/P,GACAsgL,EAAAx6L,EAAAy6L,KAAA/4K,KACA/B,EAAA7N,EAAAsd,WAEAV,GADAo0M,EAAA4gM,EAAA5xZ,EAAA6N,EAAAmjN,GACAhxN,EAAAy2M,aAAA/tB,EAAA1oL,IAAAy2M,YAAAz2M,GAGA,MAAA8xZ,EAAAl1Y,EAAApc,YAAA,MAAAsxZ,EACAl1Y,IAAA65L,aAAA/tB,EAAA9rK,IAAA65L,YAAA75L,EAGA/1B,EAAAkuM,YAAAqiB,EAAA,CACAnuN,SAAA,CAAA6oa,EAAAnta,EAAA,EAAAmta,EAAAlta,EAAA,IACGqY,EAAA,WACHmrD,EAAAj5D,OAAAioN,GACAlpN,EAAAgpM,iBAAA9uL,EAAA,QAEAgvM,EAAA6Z,QAAA,MACAqpB,WAAA,IAEA,IAAAj6O,EAAA+2M,EAAAs7M,OAEAryZ,GACAxZ,EAAAkuM,YAAA10L,EAAA,CACA9V,MAAAooa,EAAA3hM,EAAA8gM,KACA5ua,MAAA,CACAuzD,QAAA,IAEKx5C,EAAA,WACLmrD,EAAAj5D,OAAAkR,KAKA,SAAAsyZ,EAAA3hM,EAAA8gM,EAAAM,GACA,IAAA5hO,EACAC,EACA2mG,EACAC,EAEA9kP,EACApwB,EACAqwB,EACApwB,EAJAyiD,EAAAmsJ,EAAAnsJ,OAMA,cAAAmsJ,EAAApoO,OAAA,CACA2pD,EAAAu/W,EAAAE,KACAx/W,EAAAs/W,EAAAI,KACA/vY,EAAAiwY,EAAAJ,KACA5vY,EAAAgwY,EAAAF,KACA,IAAAU,EAAAx1D,EAAA7qT,EAAAC,GACAqgX,EAAAz1D,EAAA7qT,EAAAC,GAAApwB,EAAAowB,GAAAw+K,EAAA0mE,WACAo7H,EAAA11D,EAAAj7U,EAAAC,GAAAowB,EAAApwB,GAAA4uM,EAAA0mE,WACAq7H,EAAA31D,EAAAj7U,EAAAC,GACA,OACAmwB,GAAAqgX,EAAAjua,EACA6tD,GAAAogX,EAAAhua,EACAu9B,GAAA4wY,EAAApua,EACAy9B,GAAA2wY,EAAAnua,EACA4rM,KAAAqiO,EAAAlua,EACA8rM,KAAAoiO,EAAAjua,EACAwyS,KAAA07H,EAAAnua,EACA0yS,KAAAy7H,EAAAlua,GAuBA,OApBA2tD,EAAAu/W,EAAAnta,EACA6tD,EAAAs/W,EAAAlta,EACAu9B,EAAAiwY,EAAAzta,EACAy9B,EAAAgwY,EAAAxta,EAEA,OAAAigF,GAAA,OAAAA,IACA2rH,EAAAj+I,GAAApwB,EAAAowB,GAAAy+K,EAAA0mE,UACAjnG,EAAAj+I,EACA4kP,EAAAj1Q,GAAAowB,EAAApwB,GAAA6uM,EAAA0mE,UACAL,EAAAj1Q,GAGA,OAAAyiD,GAAA,OAAAA,IACA2rH,EAAAj+I,EACAk+I,EAAAj+I,GAAApwB,EAAAowB,GAAAw+K,EAAA0mE,UACAN,EAAAj1Q,EACAk1Q,EAAAj1Q,GAAAowB,EAAApwB,GAAA4uM,EAAA0mE,WAIA,CACAnlP,KACAC,KACArwB,KACAC,KACAouK,OACAC,OACA2mG,OACAC,QAIAhyS,EAAAC,QAAAF,sBC3fAC,EAAAC,QAAA,SAAA4K,EAAA4yV,EAAA7xV,EAAA+ha,GACA,KAAA9ia,aAAA4yV,SAAA73V,IAAA+na,QAAA9ia,EACA,MAAAzJ,UAAAwK,EAAA,2BACG,OAAAf,yBCiBH,IAAA/N,EAAaX,EAAQ,QAoBrB,SAAAutO,EAAAC,EAAA7qD,GAEA,OAAAhiL,EAAA4N,IAAA,4BAAAkO,EAAAq9D,GACA,IAAA3zE,EAAAhF,KAAA,MAAAsb,EAAA,UACArS,EAAAu4K,EAAA7oG,GACA8kG,EAAA4uD,EAAA1zJ,GAAA,EACAwtE,EAAA,SAAA7qI,EACA5X,EAAA,aAAAsB,EAAA7E,KAAA6E,EAAA+C,eAAArB,KAAAiR,IAAA3S,EAAAmhJ,GAAAl9I,EAAAw0K,GAAAz4K,EAAAmhJ,GAAAl9I,EAAAw0K,IAMA,MAJA,UAAAniK,IACA5X,IAAAgD,KAAAC,GAAA,KAGAjD,GACG1D,MAGH,SAAAyC,EAAAwC,GACA,IAAAuwN,EAAAvwN,EAAAomT,gBACA51F,EAAAxwN,EAAAywN,eACAv5M,EAAAq5M,EAAAx6M,YAEA,OADAmB,EAAA,GAAAA,EAAA,IAAAA,EAAAqwI,UACA,CACAvnJ,SAAA,CACA9E,KAAA,QACAse,GAAAxZ,EAAAwZ,GACAC,GAAAzZ,EAAAyZ,GACAE,EAAAzC,EAAA,GACAwC,GAAAxC,EAAA,IAEApX,IAAA,CACAwb,MAAA/gB,EAAAoJ,KAAA,SAAA2C,GACA,IAAA4Q,EAAAq5M,EAAA6T,aAAA99N,EAAA,IACA06C,EAAAwvK,EAAA6mG,YAAA/wT,EAAA,IACAgV,EAAAtb,EAAAq0N,aAAA,CAAAn9M,EAAA8pC,IAEA,OADA1lC,EAAA5N,KAAAwJ,EAAA8pC,EAAAv/C,KAAAC,GAAA,KACA4Z,IAEAtF,KAAAzb,EAAAoJ,KAAAwjO,EAAAnnO,KAKAvC,EAAAC,QAAAF,wBCnFA,IAAA4wT,EAAkBx0T,EAAQ,QAE1Bw1F,EAAA,KAEA,SAAAi/N,EAAA/qT,EAAAC,GACA,OAAA9B,KAAAiR,IAAApP,EAAAC,GAAA6rF,EAGA,SAAA/zE,EAAAonD,EAAA1lE,EAAAC,GACA,IAAAI,EAAA,EACAye,EAAA4mD,EAAA,GAEA,IAAA5mD,EACA,SAGA,QAAA/V,EAAA,EAAiBA,EAAA28D,EAAAnkE,OAAmBwH,IAAA,CACpC,IAAAwR,EAAAmrD,EAAA38D,GACA1I,GAAAgxT,EAAAvyS,EAAA,GAAAA,EAAA,GAAAvE,EAAA,GAAAA,EAAA,GAAAva,EAAAC,GACA6e,EAAAvE,EAIA,IAAAF,EAAAqrD,EAAA,GAMA,OAJA4rP,EAAAxyS,EAAA,GAAAzE,EAAA,KAAAi3S,EAAAxyS,EAAA,GAAAzE,EAAA,MACAha,GAAAgxT,EAAAvyS,EAAA,GAAAA,EAAA,GAAAzE,EAAA,GAAAA,EAAA,GAAAra,EAAAC,IAGA,IAAAI,EAGAM,EAAA2d,gCCZA,IAAA1hB,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErByxa,EAAezxa,EAAQ,QAEvBA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAqBRD,EAAAQ,eAAAI,EAAAmqB,MAAA2mZ,EAAA,QAEA1xa,EAAAu7I,oBAAA,CACAh6I,KAAA,gCCtCA,IAAAonF,EAAuB1oF,EAAQ,QAE/BupF,EAAWvpF,EAAQ,QAEnB8O,EAAY9O,EAAQ,QAEpB6F,EAAAiJ,EAAAjJ,OACAsE,EAAA2E,EAAA3E,QAqCA,SAAAvG,EAAA6X,EAAAlF,EAAAk9S,GACAl9S,EAAApM,EAAAoM,IAAA,CACAsyE,gBAAAtyE,IACG1Q,EAAA,GAAa0Q,GAChB,IAAA6kB,EAAA3f,EAAAiI,YACAgwS,EAAAhrO,EAAAttD,EAAA7kB,GACAjI,EAAA,IAAAi7E,EAAAmqO,EAAAj4S,GAEA,OADAnN,EAAAm7E,SAAAruD,EAAAq4R,GACAnlT,EAGAzK,EAAAC,QAAAF,wBCvDA,IAAAjD,EAAaX,EAAQ,QAErB2nJ,EAAiB3nJ,EAAQ,QAEzBonN,EAAuBpnN,EAAQ,QAE/B+zK,EAAAqzC,EAAArzC,mBAoBAxnI,EAAA5rC,EAAA4rC,QAEA,SAAAmlY,EAAA1rW,GACA,QAAAjrD,MAAA2xB,WAAAs5B,EAAA7iE,KAAA4X,MAAA2xB,WAAAs5B,EAAA5iE,KAGA,SAAAuua,EAAA3rW,GACA,OAAAjrD,MAAA2xB,WAAAs5B,EAAA7iE,MAAA4X,MAAA2xB,WAAAs5B,EAAA5iE,IAyBA,SAAAwua,EAAA/xG,EAAAnzT,EAAAmla,EAAAC,EAAAC,EAAAC,GACA,IAAAC,EAAA,GACAr2H,EAAA7nI,EAAArnK,EAAAola,GAGAI,EAAAt2H,EAAAlvS,EAAA6oK,mBAAA,wBAAAu8P,EACA1sa,EAAA46T,EAAAtzT,EAAAwla,EAAAryG,GACAj5S,EAAAla,EAAAivK,iBAAAu2P,EAAA9sa,GAAA,GACA6sa,EAAAF,GAAArla,EAAA9F,IAAAira,EAAAjrZ,GACAqrZ,EAAAD,GAAAtla,EAAA9F,IAAAkra,EAAAlrZ,GAEA,IAAAixC,EAAA8vF,EAAAhuC,aAAAjtG,EAAA9F,IAAAkra,EAAAlrZ,IAOA,OANAixC,EAAAhwD,KAAAQ,IAAAwvD,EAAA,IAEAA,GAAA,IACAo6W,EAAAD,IAAAC,EAAAD,GAAAv4T,QAAA5hD,IAGAo6W,EAGA,IAAAnnZ,EAAAnqB,EAAAmqB,MAEAqnZ,EAAA,CAOA9pa,IAAAyiB,EAAA8mZ,EAAA,OAQAtpa,IAAAwiB,EAAA8mZ,EAAA,OAQAj3Z,QAAAmQ,EAAA8mZ,EAAA,YAYA,SAAAvxG,EAAA5kT,EAAAuqD,GACA,IAAAt5D,EAAA+O,EAAAE,UACAvV,EAAAqV,EAAApV,iBAKA,GAAA2/D,IAAA2rW,EAAA3rW,KAAArlE,EAAAwJ,QAAA67D,EAAAtkD,QAAAtb,EAAA,CACA,IAAAkiF,EAAAliF,EAAAwzE,WACAilE,EAAAkhL,EAAA/5P,EAAAt5D,EAAAtG,EAAAqV,GAKA,GAFAuqD,EAAArlE,EAAA+V,MAAAsvD,GAEAA,EAAA1kE,MAAA6wa,EAAAnsW,EAAA1kE,OAAAu9I,EAAA/iI,UAAA+iI,EAAA7iI,UAAA,CACA,IAAA+1Z,EAAAxlY,EAAA+7C,EAAAu2D,EAAA/iI,SAAAW,KACAu1Z,EAAAzlY,EAAA+7C,EAAAu2D,EAAA7iI,UAAAS,KACAupD,EAAAtkD,MAAAywZ,EAAAnsW,EAAA1kE,MAAAoL,EAAAmyI,EAAAuzR,YAAAvzR,EAAAihL,aAAAiyG,EAAAC,GAEAhsW,EAAA5gE,MAAA4gE,EAAAtkD,MAAAswZ,OACK,CAIL,IAFA,IAAAtwZ,EAAA,OAAAskD,EAAAgc,MAAAhc,EAAAgc,MAAAhc,EAAA2wJ,WAAA,MAAA3wJ,EAAA+b,MAAA/b,EAAA+b,MAAA/b,EAAA4wJ,WAEA1qN,EAAA,EAAqBA,EAAA,EAAOA,IAC5Bima,EAAAzwZ,EAAAxV,MACAwV,EAAAxV,GAAA8zT,EAAAtzT,IAAA8P,aAAA8rE,EAAAp8E,IAAAwV,EAAAxV,KAIA85D,EAAAtkD,SAIA,OAAAskD,EAGA,SAAA+5P,EAAA/5P,EAAAt5D,EAAAtG,EAAAqV,GACA,IAAA6qD,EAAA,GAcA,OAZA,MAAAN,EAAAi6P,YAAA,MAAAj6P,EAAAsuG,UACAhuG,EAAAw5P,aAAA,MAAA95P,EAAAi6P,WAAAvzT,EAAAyiL,aAAAnpH,EAAAi6P,YAAAj6P,EAAAsuG,SACAhuG,EAAAtqD,UAAA5V,EAAAg3I,QAAAi1R,EAAA52Z,EAAA6qD,EAAAw5P,eACAx5P,EAAAxqD,SAAA1V,EAAA6V,aAAAqqD,EAAAtqD,WACAsqD,EAAA8rW,YAAA1la,EAAA8P,aAAA8pD,EAAAxqD,SAAAW,OAEA6pD,EAAAxqD,SAAAL,EAAAM,cACAuqD,EAAAtqD,UAAA5V,EAAA6V,aAAAqqD,EAAAxqD,UACAwqD,EAAA8rW,YAAA1la,EAAA8P,aAAA8pD,EAAAxqD,SAAAW,KACA6pD,EAAAw5P,aAAApzT,EAAA8P,aAAA8pD,EAAAtqD,UAAAS,MAGA6pD,EAGA,SAAA+rW,EAAA52Z,EAAA8O,GACA,IAAA7d,EAAA+O,EAAAE,UACAi+D,EAAAltE,EAAAktE,WACArvD,EAAA7d,EAAAyiL,aAAA5kK,GAEA,QAAAre,EAAA,EAAiBA,EAAA0tE,EAAAl1E,OAAuBwH,IAAA,CACxC,IAAAqb,EAAA7a,EAAA8a,iBAAAoyD,EAAA1tE,IAEA,GAAAqb,EAAA9X,OAAA8a,EACA,OAAAhD,EAAAqC,UAaA,SAAAxpB,EAAAgG,EAAA4/D,GAEA,QAAA5/D,KAAAwgJ,aAAA5gF,EAAAtkD,QAAAgwZ,EAAA1rW,KAAA5/D,EAAAwgJ,YAAA5gF,EAAAtkD,OAGA,SAAA+jR,EAAAz/N,EAAA6T,EAAAjzD,EAAA1e,GAEA,OAAAA,EAAA,EACA89D,EAAAtkD,OAAAskD,EAAAtkD,MAAAxZ,GAGA89D,EAAA5gE,MAGA,SAAA46T,EAAAtzT,EAAAozT,EAAAx+T,GACA,eAAAA,EAAA,CACA,IAAAuZ,EAAA,EACAC,EAAA,EAOA,OANApO,EAAA4b,KAAAw3S,EAAA,SAAA11T,EAAA0U,GACA/D,MAAA3Q,KACAyQ,GAAAzQ,EACA0Q,OAGAD,EAAAC,EACG,iBAAAxZ,EACHoL,EAAA64Z,UAAAzlG,GAGApzT,EAAAqzG,cAAA+/M,GAAA,WAAAx+T,EAAA,KAIAwC,EAAAu8T,gBACAv8T,EAAAi8T,cACAj8T,EAAA1D,aACA0D,EAAA2hS,iBACA3hS,EAAAk8T,qCCtOA,IAAAjgU,EAAcC,EAAQ,QAEtB4uO,EAAiB5uO,EAAQ,QAEzBsya,EAAmBtya,EAAQ,QAE3B+xD,EAAa/xD,EAAQ,QAErBqlX,EAAmBrlX,EAAQ,QAoB3B4D,EAAA7D,EAAA42K,gBAAA,CACAr1K,KAAA,gBACA+iB,KAAA,WACAljB,KAAAqkX,YAAA,IAAA52I,EAAA0jM,IAEAj+W,OAAA,SAAA54C,EAAAC,EAAAxV,GACA,IAAAwG,EAAA+O,EAAAE,UACA42Z,EAAApxa,KAAAqkX,YACA+sD,EAAA3wU,WAAAl1F,GACAvL,KAAAylE,MAAAloC,IAAA6zY,EAAA3rW,QAEA68C,gBAAA,SAAAhoG,EAAAC,EAAAxV,GACA,IAAAwG,EAAA+O,EAAAE,UACAxa,KAAAylE,MAAA9gD,QACA,IAAAotD,EAAAmyS,IAAA7pW,MAAAC,GAEAy3D,EAAAqpG,UACArpG,EAAAqpG,SAAA,CACAhvJ,MAAA,EACA7C,IAAAhe,EAAAoO,SACOpO,GAGPvL,KAAAqkX,YAAA/2Q,aAAA/hG,IAEA8la,sBAAA,SAAA/2Z,GACA,IAAArV,EAAAqV,EAAApV,iBAEAD,KAAA0/G,mBACA3kH,KAAAylE,MAAA5+D,UAAA+pD,EAAAr7C,MAAAtQ,EAAA0/G,oBACA3kH,KAAAylE,MAAA62J,uBAGA9vN,OAAA,SAAA+N,EAAAxV,GACA/E,KAAAqkX,aAAArkX,KAAAqkX,YAAA73W,OAAAzH,IAEA+Q,QAAA,eAGApT,EAAAC,QAAAF,qCCtFA,IAAA6ua,EAAuBzya,EAAQ,QAC/B2E,EAAW3E,EAAQ,QACnB4wN,EAAgB5wN,EAAQ,QACxByiO,EAAgBziO,EAAQ,QAMxB6D,EAAAC,QAAiB9D,EAAQ,OAARA,CAAwB2e,MAAA,iBAAA+zZ,EAAA3jE,GACzC5tW,KAAA2c,GAAA2kN,EAAAiwM,GACAvxa,KAAAi6U,GAAA,EACAj6U,KAAAo6U,GAAAwzB,GAEC,WACD,IAAA1mK,EAAAlnM,KAAA2c,GACAixV,EAAA5tW,KAAAo6U,GACAv2U,EAAA7D,KAAAi6U,KACA,OAAA/yI,GAAArjM,GAAAqjM,EAAA3jM,QACAvD,KAAA2c,QAAArU,EACA9E,EAAA,IAEAA,EAAA,UAAAoqW,EAAA/pW,EACA,UAAA+pW,EAAA1mK,EAAArjM,GACA,CAAAA,EAAAqjM,EAAArjM,MACC,UAGD4rN,EAAA+hN,UAAA/hN,EAAAjyM,MAEA8zZ,EAAA,QACAA,EAAA,UACAA,EAAA,iCChCA5ua,EAAAC,SAAkB9D,EAAQ,OAARA,CAAkB,WACpC,OAA0E,GAA1EkK,OAAA2kB,eAAA,GAAiC,KAAQjoB,IAAA,WAAmB,YAAc8C,0BCkB1E,IAAA/I,EAAaX,EAAQ,QAoBrB4ya,EAAA,kCAEA,SAAAhva,EAAA0gB,EAAA8hW,GACA,IAAAysD,EAAAvuZ,KAAA/iB,MAMA,GAJAZ,EAAAwJ,QAAA0oa,KACAA,IAAA,CAAAA,GAAA,IAGAA,EAAAnua,OAAA,CAIA,IAAAoua,EAAA,GACAnya,EAAA2nB,KAAAuqZ,EAAA,SAAAE,GACA,IAAAC,EAAAD,EAAA1ma,eAAA,WAAA0ma,EAAArnO,QAAA,GAEAsnO,aAAAr0Z,QACAm0Z,IAAAjoX,OAAAmoX,MAGA,IAAAtnO,EAAApnL,KAAAonL,QAEA/qM,EAAAwJ,QAAAuhM,KACAA,IAAA,IAGAA,IACAA,EAAA,CACAwsB,QAAA,IAEA5zM,EAAAonL,QAAA,CAAAA,IAGA,IAAAunO,EAAAvnO,EAAAwsB,UAAAxsB,EAAAwsB,QAAA,IACAg7M,EAAAD,EAAA1xa,QAAA0xa,EAAA1xa,MAAA,IACA4xa,EAAAD,EAAA5xa,OAAA4xa,EAAA5xa,KAAA,IACA6xa,EAAAr/Z,KAAAjK,MAAAspa,EAAAL,GACAM,EAAAD,GAEA/sD,IAAA+sD,EAAAzua,QACAyua,EAAAr/Z,KAAAjK,MAAAspa,EAAAP,IAIA,SAAAQ,EAAAx0Y,GACA,IAAArwB,EAAA,GACA5N,EAAA2nB,KAAAsW,EAAA,SAAAx0B,GACAmE,EAAAnE,GAAA,IAEAw0B,EAAAl6B,OAAA,EACA/D,EAAA2nB,KAAA/Z,EAAA,SAAA8ka,EAAAjpa,GACAw0B,EAAA9qB,KAAA1J,KAIAvG,EAAAC,QAAAF,wBC5EA,IAAAjD,EAAaX,EAAQ,QA0BrB4D,EAAA,CAMA4uT,kBAAA,SAAAnmP,GACAlrE,KAAAmya,YAAA3ya,EAAAwJ,QAAAkiE,KAAAhsC,QAAA,GACAl/B,KAAAoya,iBAAA5ya,EAAA2mB,OAAA+kD,GAAA,YAAAmnW,EAAAh8Z,GAEA,OADAg8Z,EAAAj/Y,IAAA/c,EAAA/H,KAAA+H,GACAg8Z,GACK7ya,EAAAqrD,kBAWLy3S,OAAA,SAAAh0V,EAAA2d,GACA,IAAA5V,EAAA,MAAA4V,EAAAjsB,KAAAmya,YAAAlmZ,GAAAjsB,KAAAoya,iBAAA3sa,IAAA6I,GACAs0V,EAAA5iW,KAAAyF,IAAA,gBAEA,WAAAm9V,GACA5iW,KAAAoya,iBAAAjrZ,KAAA,SAAA9Q,GACAA,EAAAyqM,UAAA,IAIAzqM,MAAAyqM,UAAA,IAUA+hJ,SAAA,SAAAv0V,EAAA2d,GACA,IAAA5V,EAAA,MAAA4V,EAAAjsB,KAAAmya,YAAAlmZ,GAAAjsB,KAAAoya,iBAAA3sa,IAAA6I,GAGA+H,MAAAyqM,UAAA,IAUAgiJ,eAAA,SAAAx0V,EAAA2d,GACA,IAAA5V,EAAA,MAAA4V,EAAAjsB,KAAAmya,YAAAlmZ,GAAAjsB,KAAAoya,iBAAA3sa,IAAA6I,GAEA,SAAA+H,EAEA,OADArW,KAAAqW,EAAAyqM,SAAA,qBAAAxyM,EAAA2d,GACA5V,EAAAyqM,UAWAyH,WAAA,SAAAj6M,EAAA2d,GACA,IAAA5V,EAAA,MAAA4V,EAAAjsB,KAAAmya,YAAAlmZ,GAAAjsB,KAAAoya,iBAAA3sa,IAAA6I,GACA,OAAA+H,KAAAyqM,WAGAp+M,EAAAC,QAAAF,wBC3HAC,EAAAC,QAAiB9D,EAAQ,OAARA,CAAmB,4BAAAqrD,SAAAphD,gCCoBpCjK,EAAQ,QAERA,EAAQ,8BCrBR,IAAAugP,EAAcvgP,EAAQ,QACtB6D,EAAAC,QAAA,SAAA4K,GACA,OAAAxE,OAAAq2O,EAAA7xO,yBCsBA,SAAA3D,EAAA3F,GACA,IAAA9D,SAAA8D,EACA,aAAAA,IAAA,UAAA9D,GAAA,YAAAA,GAGAuC,EAAAC,QAAAiH,wBC9BA,IAAA2U,EAAW1f,EAAQ,QAMnB4D,EAAA8b,EAAA7Z,OAAA,CACAvE,KAAA,UACAyH,MAAA,CACA6W,GAAA,EACAC,GAAA,EACAg6J,GAAA,EACAC,GAAA,GAEA35J,UAAA,SAAA3e,EAAAuH,GACA,IAAA8Y,EAAA,SACA1e,EAAA4F,EAAA6W,GACAxc,EAAA2F,EAAA8W,GACAnW,EAAAX,EAAA8wK,GACAlwK,EAAAZ,EAAA+wK,GACA25P,EAAA/pa,EAAAmY,EAEA6xZ,EAAA/pa,EAAAkY,EAGArgB,EAAAgf,OAAArd,EAAAuG,EAAAtG,GACA5B,EAAAs0S,cAAA3yS,EAAAuG,EAAAtG,EAAAswa,EAAAvwa,EAAAswa,EAAArwa,EAAAuG,EAAAxG,EAAAC,EAAAuG,GACAnI,EAAAs0S,cAAA3yS,EAAAswa,EAAArwa,EAAAuG,EAAAxG,EAAAuG,EAAAtG,EAAAswa,EAAAvwa,EAAAuG,EAAAtG,GACA5B,EAAAs0S,cAAA3yS,EAAAuG,EAAAtG,EAAAswa,EAAAvwa,EAAAswa,EAAArwa,EAAAuG,EAAAxG,EAAAC,EAAAuG,GACAnI,EAAAs0S,cAAA3yS,EAAAswa,EAAArwa,EAAAuG,EAAAxG,EAAAuG,EAAAtG,EAAAswa,EAAAvwa,EAAAuG,EAAAtG,GACA5B,EAAAmf,eAIA9c,EAAAC,QAAAF,wBCdA,IAAAjD,EAAaX,EAAQ,QAoCrB,SAAA2za,IACA,IAEAC,EAFAzqT,EAAA,GACA0qT,EAAA,GAEA,OAmBAn1Y,IAAA,SAAAwT,EAAA16B,EAAA0hB,EAAA24G,EAAA30G,GAMA,OALAv8B,EAAAiK,SAAAinI,KACA30G,EAAA20G,EACAA,EAAA,IAGAgiS,EAAA3hY,EAAA9kB,MAIAymZ,EAAA3hY,EAAA9kB,IAAA,EACA+7F,EAAAr1G,KAAA,CACAo+B,KACA16B,SACA0hB,OACA24G,QACA30G,YAEA,IASA/3B,KAAA,SAAAquE,GAEA,OADAogW,EAAApgW,EACAryE,MAMAosB,MAAA,WAGA,IAFA,IAAAzS,EAAAquG,EAAAzkH,OAEAwH,EAAA,EAAA0B,EAAAu7G,EAAAzkH,OAA2CwH,EAAA0B,EAAS1B,IAAA,CACpD,IAAA85D,EAAAmjD,EAAAj9G,GACA85D,EAAA9zB,GAAA4uC,UAAA9a,EAAAxuD,OAAAwuD,EAAA9sC,KAAA8sC,EAAA6rE,MAAA7rE,EAAA9oC,OAAA/3B,GAGA,OAAAhE,KAEA,SAAAgE,IACA2V,IAEAA,IACAquG,EAAAzkH,OAAA,EACAmva,EAAA,GACAD,WAOA9va,EAAA6va,mCCrHA3za,EAAQ,QAERA,EAAQ,8BCFR,IAAAuuM,EAA0BvuM,EAAQ,QAoBlC8za,EAAA,4BACAC,EAAA,6BACAC,EAAA,sBACAC,EAAA,uBACArwa,EAAA,CACA0X,WAAA,cACAkzL,KAAAD,IAEA/iL,kBAAA,EACAhQ,MAAA,SAAAC,EAAAC,GACA,IAAAhP,EAAA+O,EAAAE,UACAu4Z,EAAAz4Z,EAAA0O,gBAAAo+J,MASA,GARA77K,EAAAif,UAAA,CACAJ,aAAA,YACA4oZ,OAAAnjH,EAAA,EAAAv1S,GACA24Z,OAAApjH,GAAA,EAAAv1S,GACA44Z,aAAAC,EAAA,EAAA74Z,GACA84Z,aAAAD,GAAA,EAAA74Z,MAGAC,EAAAoQ,iBAAArQ,GAIA,OAAAy4Z,GAAA,CACA33P,YAGA,SAAAA,EAAAp2J,EAAAzZ,GACA,IAAAka,EAEA,aAAAA,EAAAT,EAAAjhB,QAAA,CACA,IAAAmnB,EAAA3f,EAAA4f,aAAA1F,GACAs3J,EAAAxxK,EAAAkqK,cAAAhwJ,GAAAs3J,KACAxxK,EAAA0f,cAAAxF,EAAA,CACAqB,MAAA+oS,EAAA9yI,EAAA7xJ,GACA23E,YAAAswU,EAAAp2P,EAAA7xJ,MAKA,SAAA2kS,EAAA9yI,EAAAp5J,GACA,OAAAA,EAAAle,IAAAs3K,EAAA,EAAA81P,EAAAC,GAGA,SAAAK,EAAAp2P,EAAAp5J,GACA,OAAAA,EAAAle,IAAAs3K,EAAA,EAAA41P,EAAAC,MAIAlwa,EAAAC,QAAAF,wBCtEA,IAAA4wa,EAAuBx0a,EAAQ,QAE/BkzW,EAAAshE,EAAAthE,UACAG,EAAAmhE,EAAAnhE,WAEAk8D,EAAoBvva,EAAQ,QAE5BqkB,EAAAkrZ,EAAAlrZ,KACA+2V,EAAAm0D,EAAAn0D,UACAK,EAAA8zD,EAAA9zD,WACAg5D,EAAAlF,EAAAp8D,WACAyI,EAAA2zD,EAAA3zD,iBACAtwJ,EAAAikN,EAAAjkN,YAoBA,SAAA1nN,EAAA8X,EAAAxV,GACAwV,EAAA+kG,iBAAA,gBAAAhlG,GACAi5Z,EAAAj5Z,EAAAvV,KAIA,SAAAwua,EAAAj5Z,EAAAvV,GACA,IAAAiB,EAAAmkN,EAAA7vM,EAAAvV,GACAuV,EAAAtU,aACA,IAAAC,EAAAqU,EAAA7U,IAAA,UACAnD,EAAA,EACAC,EAAA,EACAyvW,EAAA,KAEA,WAAA/rW,GACA3D,EAAA,EAAAoE,KAAAC,GACApE,EAAAmE,KAAAQ,IAAAlB,EAAAzD,OAAAyD,EAAA1D,OAAA,EACA0vW,EAAAshE,EAAA,SAAAp1Z,EAAAC,GACA,OAAAD,EAAA41M,aAAA31M,EAAA21M,WAAA,KAAA51M,EAAA4lD,UAGAxhE,EAAA0D,EAAA1D,MACAC,EAAAyD,EAAAzD,OACAyvW,EAAAshE,KAGA,IAAAvtO,EAAAzrL,EAAAE,UAAAwrL,KAAA/4K,KACA4iZ,EAAA9pO,EAAA5hI,SAAA,GAEA,GAAA0rW,EAAA,CACA3sZ,EAAA6iL,GACAgsK,EAAA89D,EAAA51D,EAAAjI,GACAjsK,EAAA8zK,SAAA1xG,UAAA0nK,EAAAh2D,SAAAE,OACA7H,EAAA29D,EAAAv1D,GACA,IAAAhrU,EAAAugY,EACAtgY,EAAAsgY,EACArgY,EAAAqgY,EACA39D,EAAA29D,EAAA,SAAAxyZ,GACA,IAAArb,EAAAqb,EAAAQ,YAAA7b,EAEAA,EAAAstC,EAAAzxB,YAAA7b,IACAstC,EAAAjyB,GAGArb,EAAAutC,EAAA1xB,YAAA7b,IACAutC,EAAAlyB,GAGAA,EAAAymD,MAAAt0B,EAAAs0B,QACAt0B,EAAAnyB,KAGA,IAAAvW,EAAAwoC,IAAAC,EAAA,EAAAyiU,EAAA1iU,EAAAC,GAAA,EACA4hV,EAAArqX,EAAAwoC,EAAAzxB,YAAA7b,EACAwxa,EAAA,EACAvoM,EAAA,EACAwoM,EAAA,EACAC,EAAA,EAEA,cAAAzta,EACAuta,EAAAlxa,GAAAitC,EAAA1xB,YAAA7b,EAAA8E,EAAAqqX,GAEAlmJ,EAAA1oO,GAAAitC,EAAAs0B,MAAA,MACAouS,EAAA29D,EAAA,SAAAxyZ,GACAo2Z,GAAAp2Z,EAAAQ,YAAA7b,EAAAmvX,GAAAqiD,EACAE,GAAAr2Z,EAAAymD,MAAA,GAAAmnK,EACA,IAAA0oM,EAAAl5D,EAAAg5D,EAAAC,GACAr2Z,EAAAq2J,UAAA,CACA1xK,EAAA2xa,EAAA3xa,EACAC,EAAA0xa,EAAA1xa,EACAota,KAAAoE,EACAlE,KAAAmE,IACS,SAEJ,CACL,IAAAxxV,EAAA5nE,EAAA+9N,YAEA,OAAAn2J,GAAA,OAAAA,GACA+oJ,EAAA1oO,GAAAgtC,EAAA1xB,YAAA7b,EAAA8E,EAAAqqX,GACAqiD,EAAAlxa,GAAAktC,EAAAs0B,MAAA,MACAouS,EAAA29D,EAAA,SAAAxyZ,GACAq2Z,GAAAr2Z,EAAAQ,YAAA7b,EAAAmvX,GAAAlmJ,EACAwoM,EAAA,OAAAvxV,GAAA7kE,EAAAymD,MAAA,GAAA0vW,EAAAlxa,GAAA+a,EAAAymD,MAAA,GAAA0vW,EACAn2Z,EAAAq2J,UAAA,CACA1xK,EAAAyxa,EACAxxa,EAAAyxa,IACW,MAEJ,OAAAxxV,GAAA,OAAAA,IACPsxV,EAAAlxa,GAAAitC,EAAA1xB,YAAA7b,EAAA8E,EAAAqqX,GACAlmJ,EAAA1oO,GAAAitC,EAAAs0B,MAAA,MACAouS,EAAA29D,EAAA,SAAAxyZ,GACAo2Z,GAAAp2Z,EAAAQ,YAAA7b,EAAAmvX,GAAAqiD,EACAE,EAAA,OAAAxxV,GAAA7kE,EAAAymD,MAAA,GAAAmnK,EAAA1oO,GAAA8a,EAAAymD,MAAA,GAAAmnK,EACA5tN,EAAAq2J,UAAA,CACA1xK,EAAAyxa,EACAxxa,EAAAyxa,IACW,QAOXhxa,EAAAC,QAAAF,wBC5JA,IAAA6e,EAAUziB,EAAQ,QAgBlB+0a,EAAA,kFAEA,SAAAnxa,EAAAoxa,GAEA,OAAAvyZ,EAAAghR,QAAA9qB,IAAAl2P,EAAAghR,QAAAx8K,SAAA,cACA,IAEAq/N,EAFAvpE,EAAA57Q,KAAAy9Q,YACAl9Q,EAAAP,KAAAO,MAGA,GAAAq7Q,EACA,QAAA7wQ,EAAA,EAAqBA,EAAA6wQ,EAAAr4Q,OAAsBwH,IAAA,CAC3C,IAAAmpO,EAAA0nC,EAAA7wQ,GACAnD,EAAAssO,KAAAtsO,MACAzH,EAAA+zO,KAAA/zO,KAEA,GAAAyH,IAAA,WAAAzH,GAAAyH,EAAAiX,aAAAjX,EAAAkX,UAAA,SAAA3e,KAAAyH,EAAAtF,QAAAsF,EAAArF,SAAA,CACA,QAAAmO,EAAA,EAAyBA,EAAAkja,EAAArwa,OAAuBmN,IAGhDkja,EAAAlja,GAAA,GAAAnQ,EAAAqza,EAAAlja,GAAA,IACAnQ,EAAAqza,EAAAlja,GAAA,IAAAkja,EAAAlja,GAAA,GAGAy0U,GAAA,EACA,OAOA,GAFA0uF,EAAAnra,MAAA1I,KAAA2I,WAEAw8U,EACA,IAAAz0U,EAAA,EAAqBA,EAAAkja,EAAArwa,OAAuBmN,IAC5CnQ,EAAAqza,EAAAlja,GAAA,IAAAkja,EAAAlja,GAAA,IAGGmja,EAGHnxa,EAAAC,QAAAF,wBCvDA,IAAAI,EAAehE,EAAQ,QACvBoyY,EAAqBpyY,EAAQ,QAC7BmyY,EAAkBnyY,EAAQ,QAC1BykW,EAAAv6V,OAAA2kB,eAEA/qB,EAAAiB,EAAY/E,EAAQ,QAAgBkK,OAAA2kB,eAAA,SAAAw5K,EAAAt7B,EAAAkoQ,GAIpC,GAHAjxa,EAAAqkM,GACAt7B,EAAAolO,EAAAplO,GAAA,GACA/oK,EAAAixa,GACA7iC,EAAA,IACA,OAAA3tC,EAAAp8J,EAAAt7B,EAAAkoQ,GACG,MAAA39Z,IACH,WAAA29Z,GAAA,QAAAA,EAAA,MAAAhwa,UAAA,4BAEA,MADA,UAAAgwa,IAAA5sO,EAAAt7B,GAAAkoQ,EAAA7va,OACAijM,yBCMA,IAAAW,EAAoBhpM,EAAQ,QAE5B8hR,EAAc9hR,EAAQ,QAEtBW,EAAaX,EAAQ,QAoBrBmK,EAAAxJ,EAAAwJ,QACA+qa,EAAA,YACAtxa,EAAA,CACA0X,WAAA,UACAE,MAAA,SAAAC,EAAAC,EAAAxV,EAAAynB,GACA,IAAAw5K,EAAA1rL,EAAAE,UAAAwrL,KACA/4K,EAAA+4K,EAAA/4K,KACA+mZ,EAAA15Z,EAAAqgB,SAAAo5Y,GAEA,IAAA9mZ,EAAA44N,YAAA,CAIA,IAAAouL,EAAAz0a,EAAA4N,IAAA44L,EAAAstN,YAAA,SAAAM,GACA,OAAAA,IAAAnuZ,IAAAsua,GAAA,OAEAG,EAAAjnZ,EACA,GAAMgnZ,EAAAD,EAAA15Z,EAAA4rL,cAAA6tB,eAAAz5M,MAIN,SAAA45Z,EAAA72Z,EAAA82Z,EAAAF,EAAAD,EAAAI,EAAA95Z,GACA,IAAAyrO,EAAA1oO,EAAAsd,WACAktN,EAAAxqO,EAAAQ,YAEA,GAAAgqO,MAAA/2K,WAAA+2K,EAAAiB,SAAA,CAIA,IAMAurL,EANAC,EAAAj3Z,EAAAsd,SAAAo5Y,GACAQ,EAAAN,EAAA52Z,EAAAymD,OACAw2U,EAAAk6B,EAAAF,EAAAH,EAAAI,EAAAP,GAEAnxU,EAAAyxU,EAAA7ua,IAAA,eACA+pZ,EAAA8kB,EAAA7ua,IAAA,yBAGA,MAAA+pZ,IAEA6kB,EAAAI,EAAAn6B,EAAAj9X,GACAwlF,EAAA6xU,EAAAllB,EAAA6kB,IAGAh3Z,EAAAmN,UAAA,cAAAq4E,GACA,IAAAyjJ,EAAAjpO,EAAAipO,aAEA,GAAAA,KAAA/iP,OAIG,CACH,IAAAqpY,EAAA+nC,EAAAt3Z,EAAA0oO,EAAA8B,EAAAysL,EAAAh6B,EAAAh0J,GAEA9mP,EAAA2nB,KAAAm/N,EAAA,SAAAl0N,EAAAvuB,GAEA,GAAAuuB,EAAA0xC,OAAAswW,EAAA7wa,QAAA6uB,IAAAgiZ,EAAAhiZ,EAAA0xC,OAAA,CACA,IAAA8wW,EAAAnxJ,EAAA19B,EAAAu0J,EAAAloX,EAAAvuB,EAAA+oY,EAAAtyX,GACA45Z,EAAA9hZ,EAAAwiZ,EAAAX,EAAAD,EAAAI,EAAA95Z,WAVA+5Z,EAAAI,EAAAn6B,EAAAj9X,GAEAA,EAAAmN,UAAA,QAAA6pZ,IAcA,SAAAG,EAAAF,EAAAH,EAAAI,EAAAP,GACA,IAAA15B,EAAA96Y,EAAAkF,OAAA,GAAgCyva,GAUhC,OATA30a,EAAA2nB,KAAA,kDAAA0tZ,GAEA,IAAA5ra,EAAAqra,EAAA7ua,IAAAova,GAAA,GAEA,MAAA5ra,GAAAsra,IAAAtra,EAAAsra,EAAAM,IACA,MAAA5ra,MAAAkra,EAAAU,IACA,MAAA5ra,MAAA+qa,EAAAvua,IAAAova,IACA,MAAA5ra,IAAAqxY,EAAAu6B,GAAA5ra,KAEAqxY,EAGA,SAAAm6B,EAAAn6B,GACA,IAAAxzX,EAAAguZ,EAAAx6B,EAAA,SAEA,GAAAxzX,EAAA,CACA,IAAAw7P,EAAAwyJ,EAAAx6B,EAAA,cACAl4H,EAAA0yJ,EAAAx6B,EAAA,mBAUA,OARAl4H,IACAt7P,EAAA65P,EAAA/lJ,UAAA9zG,EAAA,UAAAs7P,IAGAE,IACAx7P,EAAA65P,EAAA9lJ,YAAA/zG,EAAAw7P,IAGAx7P,GAIA,SAAA4tZ,EAAAllB,EAAA6kB,GACA,aAAAA,EAAA1zJ,EAAA/lJ,UAAAy5S,EAAA,UAAA7kB,GAAA,KAGA,SAAAslB,EAAAx6B,EAAAhsY,GACA,IAAArK,EAAAq2Y,EAAAhsY,GAEA,SAAArK,GAAA,SAAAA,EACA,OAAAA,EAIA,SAAA0wa,EAAAt3Z,EAAA0oO,EAAA8B,EAAAysL,EAAAh6B,EAAAh0J,GACA,GAAAA,KAAA/iP,OAAA,CAIA,IAAAwxa,EAAAC,EAAAjvL,EAAA,gBAAAu0J,EAAAxzX,OAAA,SAAAwzX,EAAAxzX,QAAAkuZ,EAAAjvL,EAAA,eAAAivL,EAAAjvL,EAAA,oBAEA,GAAAgvL,EAAA,CAIA,IAAArlB,EAAA3pK,EAAAtgP,IAAA,aACAkqZ,EAAA5pK,EAAAtgP,IAAA,aACAozG,EAAAgvI,EAAAhvI,WAAA35E,QACA,MAAAwwX,KAAA72S,EAAA,KAAAA,EAAA,GAAA62S,GACA,MAAAC,KAAA92S,EAAA,KAAAA,EAAA,GAAA82S,GACA,IAAAC,EAAA7pK,EAAAtgP,IAAA,kBACA2P,EAAA,CACAjV,KAAA40a,EAAAzma,KACAuqG,aACA6vF,OAAAqsO,EAAA/8T,OAGA,UAAA5iG,EAAAjV,MAAA,UAAAyvZ,GAAA,OAAAA,EAIAx6Y,EAAAyrQ,cAAA,UAHAzrQ,EAAAyrQ,cAAA,WACAzrQ,EAAAo7H,MAAA,GAKA,IAAAo8P,EAAA,IAAA/kM,EAAAzyL,GAEA,OADAw3X,EAAAqoC,mBAAArlB,EACAhjB,IAUA,SAAAooC,EAAAjvL,EAAAz3O,GAGA,IAAA0pG,EAAA+tI,EAAAtgP,IAAA6I,GACA,OAAAtF,EAAAgvG,MAAAz0G,OAAA,CACA+K,OACA0pG,SACG,KAGH,SAAAyrK,EAAA19B,EAAAu0J,EAAAloX,EAAAvuB,EAAA+oY,EAAAtyX,GACA,IAAA46Z,EAAA11a,EAAAkF,OAAA,GAAqC41Y,GAErC,GAAA1N,EAAA,CACA,IAAAuoC,EAAAvoC,EAAAzsY,KACAyvZ,EAAA,UAAAulB,GAAAvoC,EAAAqoC,mBACAhxa,EAAA,UAAA2rZ,EAAA/rZ,EAAA,OAAA+rZ,EAAAt1Y,EAAAw1Y,aAAA19X,EAAAuiS,SAAAviS,EAAA27J,SAAAg4D,EAAAtgP,IAAA,oBACAyva,EAAAC,GAAAvoC,EAAArrH,iBAAAt9Q,GAGA,OAAAixa,EAGAxya,EAAAC,QAAAF,qCCvNA,IAAA2+N,EAAcviO,EAAQ,QACtB0tY,EAAW1tY,EAAQ,QACnBqsD,EAAarsD,EAAQ,QACrB+nU,EAAyB/nU,EAAQ,QACjCkoU,EAAqBloU,EAAQ,QAE7BuiO,IAAAx1D,EAAAw1D,EAAAnoG,EAAA,WAA2Cm8S,QAAA,SAAAC,GAC3C,IAAA1pQ,EAAAi7J,EAAA5mU,KAAAusY,EAAA9mL,SAAAv6J,EAAAu6J,SACAz7M,EAAA,mBAAAqra,EACA,OAAAr1a,KAAA4lN,KACA57M,EAAA,SAAAhI,GACA,OAAA+kU,EAAAp7J,EAAA0pQ,KAAAzvN,KAAA,WAA8D,OAAA5jN,KACzDqza,EACLrra,EAAA,SAAAmM,GACA,OAAA4wT,EAAAp7J,EAAA0pQ,KAAAzvN,KAAA,WAA8D,MAAAzvM,KACzDk/Z,4BCjBL,IAAAC,EAAaz2a,EAAQ,OAARA,CAAmB,QAChCmrB,EAAUnrB,EAAQ,QAClB6D,EAAAC,QAAA,SAAAsI,GACA,OAAAqqa,EAAArqa,KAAAqqa,EAAArqa,GAAA+e,EAAA/e,2BCiBA,IAAA0C,EAAY9O,EAAQ,QAEpBsoB,EAAAxZ,EAAAwZ,KACA/Z,EAAAO,EAAAP,IAEAy0E,EAAchjF,EAAQ,QAEtBi5G,EAAAj2B,EAAAi2B,UACAc,EAAA/2B,EAAA+2B,kBAEA28T,EAA4B12a,EAAQ,QAEpCo/V,EAAAs3E,EAAAt3E,gBACAH,EAAAy3E,EAAAz3E,iBACAv3M,EAAAgvR,EAAAhvR,0BAoBAivR,EAAA,MAMA12T,EAAA,SAAAxjG,EAAAvD,EAAAgD,GAKA/a,KAAAsb,MAMAtb,KAAA+X,QAMA/X,KAAAsmJ,QAAAvrI,GAAA,MAKA/a,KAAA6kD,SAAA,EAMA7kD,KAAA4kJ,QAAA,GAsMA,SAAA6wR,EAAA16Z,EAAA26Z,GACA,IAAAz6Z,EAAAF,EAAA,GAAAA,EAAA,GACAtO,EAAAipa,EACAtyV,EAAAnoE,EAAAxO,EAAA,EACAsO,EAAA,IAAAqoE,EACAroE,EAAA,IAAAqoE,EAYA,SAAAuyV,EAAA3wa,EAAAw7I,EAAAs+M,EAAA5mN,EAAA94G,GACA,IAAAw2Y,EAAAp1R,EAAAj9I,OAEA,GAAAyB,EAAA4/I,SAAA1M,GAAA09R,EAAA,CAIA,IACAzzQ,EADAn7J,EAAAhC,EAAAgW,YAGA,OAAA46Z,EACAp1R,EAAA,GAAAjgI,MAAAvZ,EAAA,GACAm7J,EAAA3hB,EAAA,IACAjgI,MAAAvZ,EAAA,QAEG,CACH,IAAA89D,EAAA07E,EAAA,GAAAjgI,MAAAigI,EAAA,GAAAjgI,MACA4G,EAAAq5H,EAAA,SAAAq1R,GACAA,EAAAt1Z,OAAAukD,EAAA,EACA,IAAAg6R,KAAA,EAEAA,EAAA,MACA+2E,EAAAt1Z,OAAAukD,GAAA,GAAAg6R,EAAA,OAGA38L,EAAA,CACA5hJ,MAAAigI,EAAAo1R,EAAA,GAAAr1Z,MAAAukD,GAEA07E,EAAA7tI,KAAAwvJ,GAGA,IAAAt9G,EAAA79C,EAAA,GAAAA,EAAA,GAEA4zG,EAAA4lC,EAAA,GAAAjgI,MAAAvZ,EAAA,MACAo4B,EAAAohH,EAAA,GAAAjgI,MAAAvZ,EAAA,GAAAw5I,EAAA17E,SAGA1lC,GAAAw7E,EAAA5zG,EAAA,GAAAw5I,EAAA,GAAAjgI,QACAigI,EAAArrE,QAAA,CACA50D,MAAAvZ,EAAA,KAIA4zG,EAAA5zG,EAAA,GAAAm7J,EAAA5hJ,SACA6e,EAAA+iI,EAAA5hJ,MAAAvZ,EAAA,GAAAw5I,EAAAn0H,OAGA+S,GAAAw7E,EAAAunD,EAAA5hJ,MAAAvZ,EAAA,KACAw5I,EAAA7tI,KAAA,CACA4N,MAAAvZ,EAAA,KAIA,SAAA4zG,EAAAryG,EAAAC,GACA,OAAAq8C,EAAAt8C,EAAAC,EAAAD,EAAAC,GA1QAs2G,EAAA7+G,UAAA,CACAC,YAAA4+G,EAOAx+F,QAAA,SAAAC,GACA,IAAAxF,EAAA/a,KAAAsmJ,QACAp/I,EAAAR,KAAAQ,IAAA6T,EAAA,GAAAA,EAAA,IACA5T,EAAAT,KAAAS,IAAA4T,EAAA,GAAAA,EAAA,IACA,OAAAwF,GAAArZ,GAAAqZ,GAAApZ,GAQAs+I,YAAA,SAAAl6I,GACA,OAAAvL,KAAAsgB,QAAAtgB,KAAAohH,YAAA71G,KAOAyP,UAAA,WACA,OAAAhb,KAAAsmJ,QAAApnH,SAQA05E,kBAAA,SAAAC,GACA,OAAAD,EAAAC,GAAA74G,KAAA+X,MAAAiD,YAAAhb,KAAAsmJ,UAQAhoC,UAAA,SAAAlyF,EAAA7C,GACA,IAAAxO,EAAA/a,KAAAsmJ,QACAvrI,EAAA,GAAAqR,EACArR,EAAA,GAAAwO,GASA63F,YAAA,SAAA71G,EAAA6zB,GACA,IAAArkB,EAAA/a,KAAAsmJ,QACAvuI,EAAA/X,KAAA+X,MAQA,OAPAxM,EAAAwM,EAAAsG,UAAA9S,GAEAvL,KAAA4kJ,QAAA,YAAA7sI,EAAA5X,OACA4a,IAAAmkB,QACAu2Y,EAAA16Z,EAAAhD,EAAA4B,UAGAm+F,EAAAvsG,EAAAiqa,EAAAz6Z,EAAAqkB,IASAsmH,YAAA,SAAAnlI,EAAA6e,GACA,IAAArkB,EAAA/a,KAAAsmJ,QACAvuI,EAAA/X,KAAA+X,MAEA/X,KAAA4kJ,QAAA,YAAA7sI,EAAA5X,OACA4a,IAAAmkB,QACAu2Y,EAAA16Z,EAAAhD,EAAA4B,UAGA,IAAAyC,EAAA07F,EAAAv3F,EAAAxF,EAAAy6Z,EAAAp2Y,GACA,OAAAp/B,KAAA+X,YAAAqE,IASAilG,YAAA,SAAAx3C,EAAAzqC,KAiBAqhH,eAAA,SAAArrI,GACAA,KAAA,GACA,IAAAsrI,EAAAtrI,EAAAsrI,WAAA1gJ,KAAA8kJ,eACAphJ,EAAAu6V,EAAAj+V,KAAA0gJ,GACAosE,EAAAppN,EAAAopN,MACAtsE,EAAApzI,EAAA0/M,EAAA,SAAAxqE,GACA,OACA/hI,MAAAvgB,KAAAohH,YAAAkhC,GACAA,cAEKtiJ,MACLk4I,EAAAwI,EAAAj7I,IAAA,kBAEA,OADAkwa,EAAA31a,KAAAwgJ,EAAA98I,EAAAo7V,qBAAA5mN,EAAA9iI,EAAAgqB,OACAohH,GAUA6B,cAAA,WACA,OAAAy7M,EAAA99V,MAAAoiJ,QAMAyC,cAAA,WACA,OAAA7kJ,KAAA2jB,MAAAgX,SAAA,cAWAmqH,aAAA,WACA,OAAA9kJ,KAAA2jB,MAAAgX,SAAA,aAOA5yB,aAAA,WACA,IAAAf,EAAAhH,KAAAsmJ,QACAztC,EAAA74G,KAAA+X,MAAAiD,YACAvO,EAAAosG,EAAA,GAAAA,EAAA,IAAA74G,KAAA4kJ,OAAA,KAEA,IAAAn4I,MAAA,GACA,IAAAwO,EAAAvU,KAAAiR,IAAA3Q,EAAA,GAAAA,EAAA,IACA,OAAAN,KAAAiR,IAAAsD,GAAAxO,GAOAvE,aAAA,KAMAq3V,UAAA,KAOAh5M,0BAAA,WACA,OAAAA,EAAAvmJ,QA+EA,IAAAyC,EAAAq8G,EACAp8G,EAAAC,QAAAF,sBCpUA,IAAAqza,EAAA,4BAEA,SAAArza,EAAA8X,EAAAxV,GACA,IAAA41Y,EAAApgY,EAAA9U,IAAA,SACA8U,EAAAgzQ,oBAAA,mBAAAjzQ,GACA,IAAAy7Z,EAAAp7B,EAAArgY,EAAAuI,YAAA83X,EAAAp3Y,QACAgI,EAAA+O,EAAAE,UACAjP,EAAAif,UAAA,CACAJ,aAAA,YAGAtD,MAAAxM,EAAA7U,IAAAqwa,IAAAC,IAGAx7Z,EAAAoQ,iBAAArQ,IACA/O,EAAA4b,KAAA,SAAAxJ,GACA,IAAAuN,EAAA3f,EAAA4f,aAAAxN,GACApS,EAAA0f,cAAAtN,EAAA,CACAmJ,MAAAoE,EAAAzlB,IAAAqwa,GAAA,SAOApza,EAAAC,QAAAF,wBC3CA,IAAAyB,EAAcrF,EAAQ,QAEtBwnN,EAAcxnN,EAAQ,QAEtB49K,EAAA4pC,EAAA5pC,aAEAo+B,EAA6Bh8M,EAAQ,QAuBrCm3a,EAAA,EACAC,EAAA/xa,EAAA6pM,YAAA,CACAnmM,MAAA,CACA8/D,OAAA,MAEAwuW,YAAA,KACAl3Z,UAAA,SAAAylD,EAAA78D,GACA,IAAA8/D,EAAA9/D,EAAA8/D,OACAzsD,EAAArT,EAAAqT,KACAi7Z,EAAAl2a,KAAAk2a,YACAC,EAAAD,EAAAtua,MACAvH,EAAAokE,EAAA72D,WAAA62D,EAAA72D,aAAA62D,EACA2xW,EAAA/1a,GAAA4a,EAAA,GAAA+6Z,EAEA,IAAAI,EAIA,QAAArra,EAAA,EAAmBA,EAAA28D,EAAAnkE,QAAmB,CACtC,IAAAvB,EAAA0lE,EAAA38D,KACA9I,EAAAylE,EAAA38D,KAEA6O,MAAA5X,IAAA4X,MAAA3X,KAIAk0a,EAAAn0a,IAAAiZ,EAAA,KACAk7Z,EAAAl0a,IAAAgZ,EAAA,KACAk7Z,EAAA7za,MAAA2Y,EAAA,GACAk7Z,EAAA5za,OAAA0Y,EAAA,GACAi7Z,EAAAl3Z,UAAAylD,EAAA0xW,GAAA,MAGA93L,WAAA,SAAAh+O,GACA,IAAAuH,EAAA5H,KAAA4H,MACA8/D,EAAA9/D,EAAA8/D,OACAzsD,EAAArT,EAAAqT,KACAm7Z,EAAAn7Z,EAAA,GAAA+6Z,EAEA,GAAAI,EAAA,CAIAp2a,KAAAkB,aAAAb,GAEA,QAAA0K,EAAA,EAAmBA,EAAA28D,EAAAnkE,QAAmB,CACtC,IAAAvB,EAAA0lE,EAAA38D,KACA9I,EAAAylE,EAAA38D,KAEA6O,MAAA5X,IAAA4X,MAAA3X,IAMA5B,EAAAy9F,SAAA97F,EAAAiZ,EAAA,KAAAhZ,EAAAgZ,EAAA,KAAAA,EAAA,GAAAA,EAAA,IAGAjb,KAAAoB,iBAAAf,KAEA86M,cAAA,SAAAn5M,EAAAC,GAWA,IARA,IAAA2F,EAAA5H,KAAA4H,MACA8/D,EAAA9/D,EAAA8/D,OACAzsD,EAAArT,EAAAqT,KACA5Y,EAAAqE,KAAAS,IAAA8T,EAAA,MACA8F,EAAAra,KAAAS,IAAA8T,EAAA,MAIA0C,EAAA+pD,EAAAnkE,OAAA,IAAyCoa,GAAA,EAAUA,IAAA,CACnD,IAAA5S,EAAA,EAAA4S,EACAi+C,EAAA8L,EAAA38D,GAAA1I,EAAA,EACAw5D,EAAA6L,EAAA38D,EAAA,GAAAgW,EAAA,EAEA,GAAA/e,GAAA45D,GAAA35D,GAAA45D,GAAA75D,GAAA45D,EAAAv5D,GAAAJ,GAAA45D,EAAA96C,EACA,OAAApD,EAIA,YAIA,SAAAsmW,IACAjkX,KAAAylE,MAAA,IAAAvhE,EAAA80M,MAGA,IAAAq9N,EAAApyD,EAAAhkX,UAEAo2a,EAAA/6N,aAAA,WACA,OAAAt7M,KAAAu7M,cAQA86N,EAAA51U,WAAA,SAAAl1F,GACAvL,KAAAylE,MAAApB,YACA,IAAAowJ,EAAA,IAAAwhN,EAAA,CACAx6N,WAAA,EACAhrJ,OAAA,YAEAgkK,EAAA/a,SAAA,CACAhyI,OAAAn8D,EAAAsS,UAAA,kBAGA7d,KAAA07M,WAAA+Y,EAAAlpN,GAEAvL,KAAAylE,MAAAloC,IAAAk3L,GACAz0N,KAAAu7M,aAAA,MAGA86N,EAAA/oU,aAAA,SAAA/hG,GACA,IAAAvL,KAAAu7M,aAAA,CAIA,IAAA7zI,EAAAn8D,EAAAsS,UAAA,gBACA7d,KAAAylE,MAAA6M,UAAA,SAAAlgD,GACA,SAAAA,EAAAu9Q,WAAA,CACA,IAAAljS,EAAA,GAAA2lB,EAAAkkZ,SAAAlkZ,EAAAu9Q,YACA4mI,EAAA,EAAAnkZ,EAAAu9Q,WAAA,EACAjoO,EAAA,IAAAl8B,aAAAk8B,EAAAl+D,OAAA+sa,EAAA9pa,GAGA2lB,EAAAsnL,SAAA,SAAAhyI,OAIA2uW,EAAA16N,yBAAA,SAAApwM,GACAvL,KAAAylE,MAAApB,YAEArkE,KAAA47M,oBAIArwM,EAAAoO,QAAA,KACA3Z,KAAAu7M,eACAv7M,KAAAu7M,aAAA,IAAAV,EAAA,CACAxzF,QAAA,KAIArnH,KAAAylE,MAAAloC,IAAAv9B,KAAAu7M,eAEAv7M,KAAAu7M,aAAA,MAIA86N,EAAAx6N,kBAAA,SAAAC,EAAAvwM,GACA,IAAAkpN,EAEAz0N,KAAAu7M,cACAkZ,EAAA,IAAAwhN,EAEAj2a,KAAAu7M,aAAAQ,eAAA0Y,GAAA,KAEAA,EAAA,IAAAwhN,EAAA,CACAx6N,WAAA,EACAhrJ,OAAA,UACAk/O,WAAA7zF,EAAA1vL,MACAkqZ,SAAAx6N,EAAAvyL,MAEAkrM,EAAAre,aAAA,EACAp2M,KAAAylE,MAAAloC,IAAAk3L,IAGAA,EAAA/a,SAAA,CACAhyI,OAAAn8D,EAAAsS,UAAA,kBAGA7d,KAAA07M,WAAA+Y,EAAAlpN,IAAAvL,KAAAu7M,eAGA86N,EAAA36N,WAAA,SAAA+Y,EAAAlpN,EAAA0wM,GACA,IAAA9yG,EAAA59F,EAAA49F,UAYAluF,EAAA1P,EAAAgS,UAAA,cACAk3M,EAAA/a,SAAA,OAAAz+L,aAAAuC,MAAAvC,EAAA,CAAAA,MAGAw5M,EAAAyhN,YAAAz5P,EAAAlxK,EAAAgS,UAAA,mBAEAk3M,EAAA59C,SAAA49C,EAAAyhN,YAAAr/P,SACA,IAAA2/P,EAAA/hN,EAAA7sN,MAAAqT,KAAA,GAAA+6Z,EACAvhN,EAAAxiB,SACA9oG,EAAAxuE,SAAA,aAAA4wE,aAAAirU,EAAA,iDACA,IAAA5zU,EAAAr3F,EAAAgS,UAAA,SAEAqlF,GACA6xH,EAAA59C,SAAAj0E,GAGAq5G,IAGAwY,EAAA5xM,YAAAsmF,EAAAtmF,YACA4xM,EAAA7+M,GAAA,qBAAAO,GACAs+M,EAAAhvM,UAAA,KACA,IAAAA,EAAAgvM,EAAAtZ,cAAAhlM,EAAAI,QAAAJ,EAAAK,SAEAiP,GAAA,IAEAgvM,EAAAhvM,aAAAgvM,EAAAk7E,YAAA,QAMA0mI,EAAA7pa,OAAA,WACAxM,KAAA47M,oBAEA57M,KAAAu7M,aAAA,KACAv7M,KAAAylE,MAAApB,aAGAgyW,EAAAz6N,kBAAA,WACA,IAAAxF,EAAAp2M,KAAAu7M,aAEAnF,GACAA,EAAA+F,oBAIA,IAAA15M,EAAAwhX,EACAvhX,EAAAC,QAAAF,wBC5QA5D,EAAQ,QAERA,EAAQ,8BCFR,IAAA8lN,EAAkB9lN,EAAQ,QAoB1B4D,EAAAkiN,EAAAjgN,OAAA,CACAvE,KAAA,WACA2iB,cAAA,CACAq5F,OAAA,EAEAh/E,EAAA,EACA7W,QAAA,CACAlP,QAAA,QAGAsmE,WAAA,EACA54D,MAAA,CACAo3F,MAAA,EACA51G,SAAA,OAEAglG,UAAA,CAIAsR,YAAA,GAEAC,SAAA,CACA/3F,MAAA,CACAo3F,MAAA,EACA51G,SAAA,WAMA5D,EAAAC,QAAAF,wBCtEA,IAAAouI,EAAehyI,EAAQ,QAEvBy2B,EAAUz2B,EAAQ,QAElB8O,EAAY9O,EAAQ,QAEpB4K,EAAAkE,EAAAlE,SACAO,EAAA2D,EAAA3D,WACAJ,EAAA+D,EAAA/D,SACAy/C,EAAA17C,EAAA07C,YACAje,EAAAz9B,EAAAy9B,QAMAgnU,EAAA,WAKApyW,KAAA2hF,UAAA,IA8HA,SAAAhC,EAAA82V,EAAApga,EAAA0hB,EAAA24G,EAAA30G,EAAAs2C,EAAA68D,EAAAsd,GAEA/iJ,EAAAinI,IACAr+D,EAAAt2C,EACAA,EAAA20G,EACAA,EAAA,GAEA1mI,EAAA+xB,IACAs2C,EAAAt2C,EACAA,EAAA,SACA20G,EAAA,GAEA1mI,EAAA0mI,IACAr+D,EAAAq+D,EACAA,EAAA,GAEA1mI,EAAA+tB,IACAs6C,EAAAt6C,EACAA,EAAA,KAEAA,IACAA,EAAA,KAIA0+Y,EAAAn6Y,gBACAo6Y,EAAAD,EAAA,GAAAA,EAAApga,EAAA0hB,EAAA24G,EAAA8b,GAGA,IAAA7qE,EAAA80V,EAAA90V,UAAAziD,QACAvlB,EAAAgoE,EAAAp+E,OAEA,SAAAS,IACA2V,IAEAA,GACA04D,OAMA14D,GACA04D,OAKA,QAAAtnE,EAAA,EAAiBA,EAAA42E,EAAAp+E,OAAsBwH,IACvC42E,EAAA52E,GAAA/G,QAAAooB,MAAA2P,EAAAmzG,GA+BA,SAAAwnS,EAAAD,EAAAhyW,EAAAxqC,EAAA5jB,EAAA0hB,EAAA24G,EAAA8b,GACA,IAAAmqR,EAAA,GACAC,EAAA,EAEA,QAAAtoa,KAAA+H,EACAA,EAAAnL,eAAAoD,KAIA,MAAA2rB,EAAA3rB,GACA1E,EAAAyM,EAAA/H,MAAA+6C,EAAAhzC,EAAA/H,IACAooa,EAAAD,EAAAhyW,IAAA,IAAAn2D,IAAA2rB,EAAA3rB,GAAA+H,EAAA/H,GAAAypB,EAAA24G,EAAA8b,IAEAA,GACAmqR,EAAAroa,GAAA2rB,EAAA3rB,GACAuoa,EAAAJ,EAAAhyW,EAAAn2D,EAAA+H,EAAA/H,KAEAqoa,EAAAroa,GAAA+H,EAAA/H,GAGAsoa,KAEK,MAAAvga,EAAA/H,IAAAk+I,GACLqqR,EAAAJ,EAAAhyW,EAAAn2D,EAAA+H,EAAA/H,KAIAsoa,EAAA,GACAH,EAAAl6Y,QAAAkoC,GAAA,GAAAjoC,KAAA,MAAAzE,EAAA,IAAAA,EAAA4+Y,GAAAjmS,SAAA,GAIA,SAAAmmS,EAAA9lY,EAAA0zB,EAAAn2D,EAAArK,GAGA,GAAAwgE,EAEG,CAEH,IAAA5/C,EAAA,GACAA,EAAA4/C,GAAA,GACA5/C,EAAA4/C,GAAAn2D,GAAArK,EACA8sC,EAAAgzC,KAAAl/D,QANAksB,EAAAgzC,KAAAz1E,EAAArK,GA/OAmuW,EAAAnyW,UAAA,CACAC,YAAAkyW,EAcA71U,QAAA,SAAAkoC,EAAA+rE,GACA,IAAAn6H,EACAyga,GAAA,EACA/lY,EAAA/wC,KACAmU,EAAAnU,KAAAkyB,KAEA,GAAAuyC,EAAA,CACA,IAAA2oE,EAAA3oE,EAAAh2D,MAAA,KACA06C,EAAApY,EAEA+lY,EAAA,UAAA1pS,EAAA,GAEA,QAAAriI,EAAA,EAAAC,EAAAoiI,EAAA7pI,OAA8CwH,EAAAC,EAAOD,IACrDo+C,IAIAA,IAAAikF,EAAAriI,KAGAo+C,IACA9yC,EAAA8yC,QAGA9yC,EAAA06B,EAGA,GAAA16B,EAAA,CAKA,IAAAsrE,EAAA5wC,EAAA4wC,UACAD,EAAA,IAAAmvD,EAAAx6H,EAAAm6H,GAaA,OAZA9uD,EAAAjlD,OAAA,SAAApmB,GACA06B,EAAApsB,MAAAmyZ,KACK9ya,KAAA,WAEL29E,EAAAtQ,OAAAjmC,EAAAu2C,EAAAD,GAAA,KAEAC,EAAAhvE,KAAA+uE,GAEAvtE,GACAA,EAAAupE,UAAA2vD,YAAA3rD,GAGAA,EAlBApsD,EAAA,aAAAmvC,EAAA,+BAAA1zB,EAAA9kB,KAyBAqQ,cAAA,SAAAgxG,GAIA,IAHA,IAAA3rD,EAAA3hF,KAAA2hF,UACAl1E,EAAAk1E,EAAAp+E,OAEAwH,EAAA,EAAmBA,EAAA0B,EAAS1B,IAC5B42E,EAAA52E,GAAAmM,KAAAo2H,GAIA,OADA3rD,EAAAp+E,OAAA,EACAvD,MAiCA2/E,UAAA,SAAAtpE,EAAA0hB,EAAA24G,EAAA30G,EAAAs2C,EAAA68D,GACAvvD,EAAA3/E,KAAAqW,EAAA0hB,EAAA24G,EAAA30G,EAAAs2C,EAAA68D,IAOA6nS,YAAA,SAAA1ga,EAAA0hB,EAAA24G,EAAA30G,EAAAs2C,EAAA68D,GACAvvD,EAAA3/E,KAAAqW,EAAA0hB,EAAA24G,EAAA30G,EAAAs2C,EAAA68D,GAAA,KAkIA,IAAAzsI,EAAA2vW,EACA1vW,EAAAC,QAAAF,wBC9PA,IAAA2e,EAAcviB,EAAQ,QAItB8O,GAFAyT,EAAAC,QAEYxiB,EAAQ,SAEpBsoB,EAAAxZ,EAAAwZ,KACA0gC,EAAAl6C,EAAAk6C,OACAz6C,EAAAO,EAAAP,IACApE,EAAA2E,EAAA3E,QACAoiC,EAAAz9B,EAAAy9B,QACAxhC,EAAA+D,EAAA/D,SACAH,EAAAkE,EAAAlE,SACAohD,EAAAl9C,EAAAk9C,cACAT,EAAAz8C,EAAAy8C,OACA70C,EAAA5H,EAAA4H,MACApK,EAAAwC,EAAAxC,MACAzG,EAAAiJ,EAAAjJ,OACAkU,EAAAjL,EAAAiL,MAEAgJ,EAAgB/iB,EAAQ,QAExB6jJ,EAAY7jJ,EAAQ,QAEpBgjB,EAAqBhjB,EAAQ,QAE7Bm4a,EAAoBn4a,EAAQ,QAE5BijB,EAAwBjjB,EAAQ,QAEhCwjB,EAAoBxjB,EAAQ,QAE5ByyZ,EAAAjvY,EAAAivY,qBAuCA2lB,EAAA,cASA/sJ,EAAAxnI,EAAAh+I,OAAA,CACAwe,KAAA,SAAAC,EAAAC,EAAAilS,EAAA44F,GACA54F,KAAA,GACAroT,KAAAmjB,OAAA,KAOAnjB,KAAAu/Y,OAAA,IAAA78P,EAAA2lK,GAKAroT,KAAAk3a,eAAAj2B,GAEAtvX,UAAA,SAAAxO,EAAA6hW,GACA56T,IAAA6sX,KAAA9zZ,GAAA,gCAEAnjB,KAAAk3a,eAAAvlZ,UAAAxO,EAAA6hW,GAEAhlX,KAAA+sB,YAAA,OAUAA,YAAA,SAAA5sB,GACA,IAAAikZ,GAAA,EACAnD,EAAAjhZ,KAAAk3a,eAEA,IAAA/2a,GAAA,aAAAA,EAAA,CACA,IAAAglX,EAAA87B,EAAAz6B,YAAA,aAAArmX,GAEAH,KAAAmjB,QAAA,aAAAhjB,GAGAH,KAAAooB,cACApoB,KAAAykB,YAAA0gW,IAHAgyD,EAAAp3a,KAAAC,KAAAmlX,GAMAi/B,GAAA,EAOA,GAJA,aAAAjkZ,GAAA,UAAAA,GACAH,KAAAooB,eAGAjoB,GAAA,aAAAA,GAAA,aAAAA,EAAA,CACA,IAAAi3a,EAAAn2B,EAAAt6B,kBAAA3mX,MACAo3a,IAAAp3a,KAAAykB,YAAA2yZ,GAAAhzB,GAAA,GAGA,IAAAjkZ,GAAA,aAAAA,GAAA,UAAAA,EAAA,CACA,IAAAk3a,EAAAp2B,EAAAr6B,eAAA5mX,UAAAggG,MAEAq3U,EAAA9za,QACA4jB,EAAAkwZ,EAAA,SAAAC,GACAt3a,KAAAykB,YAAA6yZ,EAAAlzB,GAAA,IACSpkZ,MAIT,OAAAokZ,GAMA3/X,YAAA,SAAA0/D,GACA,IAAAhhE,EAAAnjB,KAAAmjB,OACAo0Z,EAAAv3a,KAAA2/Y,eACA63B,EAAA,GAkBA,SAAAC,EAAAzrZ,EAAA+5F,GACA,IAAA2xT,EAAA91Z,EAAAmuD,iBAAAoU,EAAAn4D,IACAq6V,EAAAzkW,EAAA87V,gBAAA65D,EAAA9xa,IAAAumB,GAAA0rZ,GACA91Z,EAAA+7V,cAAA0I,GAEAl/V,EAAAk/V,EAAA,SAAAxhT,EAAAhhE,GACA,IAAAuR,EAAAyvD,EAAA1hD,OAEAvZ,EAAAwL,KACAyvD,EAAAm6S,QAAAhzV,WACA64C,EAAAm6S,QAAA76V,QAAA4rM,EAAA/jM,EAAA5W,EAAAyvD,EAAAk6S,UAGA,IAAAj1F,EAAA6tJ,EAAAJ,EAAAxxT,GACA5iG,EAAA6I,GAAA,GACAurZ,EAAAnkZ,IAAApH,EAAA,IACA7E,EAAAk/V,EAAA,SAAAvqI,EAAAj4O,GACA,IAAAoqE,EAAA6tK,EAAAijI,MACA64D,EAAA97L,EAAA34N,OAKA,GAJAinC,EAAAxgD,EAAAgua,IAAA3pW,EAAA,8BAIA2pW,EAGS,CACT,IAAAC,EAAAh2Z,EAAAytK,SAAAtjK,EAAA8vN,EAAAkjI,QAAA76V,SAAA,GAEA,GAAA8pD,gBAAA4pW,EACA5pW,EAAA3/D,KAAAwtO,EAAAkjI,QAAA1wW,KAEA2/D,EAAAxpD,YAAAmzZ,EAAA53a,MACAiuE,EAAAmpE,cAAAwgS,GAAA,OACW,CAEX,IAAAv0Z,EAAA3e,EAAA,CACAolR,kBACAxmQ,eAAAzf,GACai4O,EAAAkjI,SACb/wS,EAAA,IAAA4pW,EAAAD,EAAA53a,UAAAqjB,GACA3e,EAAAupE,EAAA5qD,GACA4qD,EAAA/qD,KAAA00Z,EAAA53a,UAAAqjB,GAKA4qD,EAAAmpE,cAAA,eAvBAnpE,EAAAxpD,YAAA,GAAuCzkB,MACvCiuE,EAAAmpE,cAAA,IAAyC,GA0BzCmgS,EAAA9xa,IAAAumB,GAAAnoB,GAAAoqE,EACA9qD,EAAA6I,GAAAnoB,GAAAoqE,EAAA9qD,QACOnjB,MAEP,WAAAgsB,GACA8rZ,EAAA93a,KAAAu3a,EAAA9xa,IAAA,WAzEA6rZ,EAAAtxZ,MAGAmnB,EAAAg9D,EAAA,SAAA4zV,EAAA/rZ,GACA,MAAA+rZ,IAIAl2Z,EAAAuC,SAAA4H,GAGOA,GACPwrZ,EAAA7ka,KAAAqZ,GAFA7I,EAAA6I,GAAA,MAAA7I,EAAA6I,GAAAzW,EAAAwia,GAAA5sa,EAAAgY,EAAA6I,GAAA+rZ,GAAA,MAKAl2Z,EAAAovM,kBAAAumN,EAAA31Z,EAAA6tK,uBAAA+nP,EAAAz3a,MA8DAA,KAAAg4a,kBAAAntX,EAAA7qD,KAAAi4a,eAAAj4a,KAAAi4a,gBAAA,KAQAr5K,UAAA,WACA,IAAAz7O,EAAA5N,EAAAvV,KAAAmjB,QAgBA,OAfAgE,EAAAhE,EAAA,SAAArjB,EAAAksB,GACA,GAAAnK,EAAAuC,SAAA4H,GAAA,CACAlsB,EAAA8hB,EAAAmuD,iBAAAjwE,GAEA,IAFA,IAEAiL,EAAAjL,EAAAyD,OAAA,EAAqCwH,GAAA,EAAQA,IAE7C6W,EAAAm1Y,UAAAj3Z,EAAAiL,KACAjL,EAAAuxE,OAAAtmE,EAAA,GAIAoY,EAAA6I,GAAAlsB,YAGAqjB,EAAA8zZ,GACA9zZ,GAMAkB,SAAA,WACA,OAAArkB,KAAAu/Y,QAQA7yX,aAAA,SAAAV,EAAArO,GACA,IAAAxQ,EAAAnN,KAAA2/Y,eAAAl6Y,IAAAumB,GAEA,GAAA7e,EACA,OAAAA,EAAAwQ,GAAA,IAcAoO,gBAAA,SAAAs+B,GACA,IAAAr+B,EAAAq+B,EAAAr+B,SAEA,IAAAA,EACA,SAGA,IAUAtoB,EAVAG,EAAAwmD,EAAAxmD,MACAooB,EAAAo+B,EAAAp+B,GACA3d,EAAA+7C,EAAA/7C,KAEA4pa,EAAAl4a,KAAA2/Y,eAAAl6Y,IAAAumB,GAEA,IAAAksZ,MAAA30a,OACA,SAKA,SAAAM,EACAmF,EAAAnF,KACAA,EAAA,CAAAA,IAGAH,EAAAmkD,EAAAz6C,EAAAvJ,EAAA,SAAA8Z,GACA,OAAAu6Z,EAAAv6Z,KACO,SAAA1U,GACP,QAAAA,SAEK,SAAAgjB,EAAA,CACL,IAAAksZ,EAAAnva,EAAAijB,GACAvoB,EAAAmkD,EAAAqwX,EAAA,SAAAE,GACA,OAAAD,GAAA/sY,EAAAnf,EAAAmsZ,EAAAnsZ,KAAA,IAAAksZ,GAAAC,EAAAnsZ,cAEK,SAAA3d,EAAA,CACL,IAAA+pa,EAAArva,EAAAsF,GACA5K,EAAAmkD,EAAAqwX,EAAA,SAAAE,GACA,OAAAC,GAAAjtY,EAAA98B,EAAA8pa,EAAA9pa,OAAA,IAAA+pa,GAAAD,EAAA9pa,gBAIA5K,EAAAw0a,EAAAh5Y,QAGA,OAAAo5Y,EAAA50a,EAAA2mD,IA+BAsvT,eAAA,SAAAtvT,GACA,IAAA2rF,EAAA3rF,EAAA2rF,MACAhqH,EAAAq+B,EAAAr+B,SACAusZ,EAAAC,EAAAxiS,GACAtyI,EAAA60a,EAAAv4a,KAAA+rB,gBAAAwsZ,GAAAv4a,KAAA2/Y,eAAAl6Y,IAAAumB,GACA,OAAAysZ,EAAAH,EAAA50a,EAAA2mD,IAEA,SAAAmuX,EAAA55Y,GACA,IAAA85Y,EAAA1sZ,EAAA,QACA2sZ,EAAA3sZ,EAAA,KACA4sZ,EAAA5sZ,EAAA,OACA,OAAA4S,GAAA,MAAAA,EAAA85Y,IAAA,MAAA95Y,EAAA+5Y,IAAA,MAAA/5Y,EAAAg6Y,GAMO,KANP,CACA5sZ,WAEAnoB,MAAA+6B,EAAA85Y,GACAzsZ,GAAA2S,EAAA+5Y,GACArqa,KAAAswB,EAAAg6Y,IAIA,SAAAH,EAAA1mW,GACA,OAAA1nB,EAAAxC,SAAAkqB,EAAA1nB,EAAAxC,QAAAkqB,IA2BAstC,cAAA,SAAArzF,EAAA+J,EAAArS,GACA,IAAA6zZ,EAAAv3a,KAAA2/Y,eAEA,uBAAA3zX,EACAtI,EAAAqS,EACAA,EAAA/J,EACAurZ,EAAApwZ,KAAA,SAAAu5O,EAAAn6I,GACAp/F,EAAAu5O,EAAA,SAAAD,EAAA58P,GACAkyB,EAAAh2B,KAAA2jB,EAAA6iG,EAAAk6I,EAAA58P,YAGK,GAAA4F,EAAAuiB,GACL7E,EAAAowZ,EAAA9xa,IAAAumB,GAAA+J,EAAArS,QACK,GAAA9Z,EAAAoiB,GAAA,CACL,IAAA6sZ,EAAA74a,KAAA25W,eAAA3tV,GACA7E,EAAA0xZ,EAAA9iZ,EAAArS,KAQAmkM,gBAAA,SAAAv5M,GACA,IAAAsX,EAAA5lB,KAAA2/Y,eAAAl6Y,IAAA,UAEA,OAAAoiD,EAAAjiC,EAAA,SAAAkzZ,GACA,OAAAA,EAAAxqa,YAQA41M,iBAAA,SAAArhM,GACA,OAAA7iB,KAAA2/Y,eAAAl6Y,IAAA,UAAAod,IAUAk2Z,gBAAA,SAAA50Z,GACA,IAAAyB,EAAA5lB,KAAA2/Y,eAAAl6Y,IAAA,UAEA,OAAAoiD,EAAAjiC,EAAA,SAAAkzZ,GACA,OAAAA,EAAA30Z,eAOA2pQ,UAAA,WACA,OAAA9tR,KAAA2/Y,eAAAl6Y,IAAA,UAAAy5B,SAMA85Y,eAAA,WACA,OAAAh5a,KAAA2/Y,eAAAl6Y,IAAA,UAAAlC,QAUAk7G,WAAA,SAAA1oF,EAAArS,GACAu1Z,EAAAj5a,MACAmnB,EAAAnnB,KAAAi4a,eAAA,SAAAiB,GACA,IAAAtzZ,EAAA5lB,KAAA2/Y,eAAAl6Y,IAAA,UAAAyza,GAEAnjZ,EAAAh2B,KAAA2jB,EAAAkC,EAAAszZ,IACKl5a,OASL4nN,cAAA,SAAA7xL,EAAArS,GACAyD,EAAAnnB,KAAA2/Y,eAAAl6Y,IAAA,UAAAswB,EAAArS,IAWA47F,iBAAA,SAAAn7F,EAAA4R,EAAArS,GACAu1Z,EAAAj5a,MACAmnB,EAAAnnB,KAAAi4a,eAAA,SAAAiB,GACA,IAAAtzZ,EAAA5lB,KAAA2/Y,eAAAl6Y,IAAA,UAAAyza,GAEAtzZ,EAAAzB,aACA4R,EAAAh2B,KAAA2jB,EAAAkC,EAAAszZ,IAEKl5a,OAULutR,oBAAA,SAAAppQ,EAAA4R,EAAArS,GACA,OAAAyD,EAAAnnB,KAAA+4a,gBAAA50Z,GAAA4R,EAAArS,IAMAiH,iBAAA,SAAArQ,GAEA,OADA2+Z,EAAAj5a,MACA,MAAAA,KAAAg4a,kBAAAvya,IAAA6U,EAAAgJ,iBAMA2wL,wBAAA,WACA,OAAAj0M,KAAAi4a,gBAAA,IAAA/4Y,SAOA06U,aAAA,SAAA7jV,EAAArS,GACAu1Z,EAAAj5a,MACA,IAAAm5a,EAAAtxX,EAAA7nD,KAAA2/Y,eAAAl6Y,IAAA,UAAAswB,EAAArS,GACAo0Z,EAAA93a,KAAAm5a,IAEA/wZ,YAAA,SAAAoE,GACA,IAAA+qZ,EAAAv3a,KAAA2/Y,eACAm4B,EAAA93a,KAAAu3a,EAAA9xa,IAAA,WACA,IAAA2za,EAAA,GACA7B,EAAApwZ,KAAA,SAAAu5O,EAAAn6I,GACA6yT,EAAAzma,KAAA4zG,KAEA1kG,EAAAovM,kBAAAmoN,EAAAv3Z,EAAA6tK,uBAAA,SAAAnpE,EAAAR,GACA5+F,EAAAowZ,EAAA9xa,IAAA8gH,GAAA,SAAAk6I,IACA,WAAAl6I,IAAA8yT,EAAA54K,EAAAj0O,KAAAi0O,EAAAr4O,qBAMA,SAAAixZ,EAAA/+Z,EAAAkS,GACA,GAAAA,EAAA,CACA,IAAA3oB,EAAA2oB,EAAA8sZ,YACArtZ,EAAAO,EAAAslK,SACAxjL,EAAAke,EAAA3E,WACA,aAAAhkB,GAAAyW,EAAAgJ,iBAAAzf,GAAA,MAAAooB,GAAA3R,EAAA2R,QAAA,MAAA3d,GAAAgM,EAAAhM,UAQA,SAAAira,EAAAp2Z,EAAAklS,GAGA,IAAAmxH,EAAAr2Z,EAAA2D,QAAA3D,EAAAqoN,WACArkN,EAAAkhS,EAAA,SAAAoxH,EAAAnra,GACA,eAAAA,GAAAkra,GAKA33Z,EAAAuC,SAAA9V,KACA,kBAAAmra,EACAt2Z,EAAA7U,GAAA6U,EAAA7U,GAAAnD,EAAAgY,EAAA7U,GAAAmra,GAAA,GAAAlka,EAAAkka,GAEA,MAAAt2Z,EAAA7U,KACA6U,EAAA7U,GAAAmra,MAOA,SAAAtC,EAAAhyD,GACAA,IAGAnlX,KAAAmjB,OAAA,GACAnjB,KAAAmjB,OAAA8zZ,GAAA,EAQAj3a,KAAA2/Y,eAAA90V,EAAA,CACAjlC,OAAA,KASA5lB,KAAAi4a,eACAj4a,KAAAg4a,kBACAuB,EAAAp0D,EAAAnlX,KAAAu/Y,OAAAp8X,QAEAhY,EAAAg6W,EAAA6xD,GAAA,GACAh3a,KAAAykB,YAAA0gW,GASA,SAAAwyD,EAAAJ,EAAA5nP,GACA3mL,EAAA2mL,KACAA,IAAA,CAAAA,GAAA,IAGA,IAAAxqH,EAAA,GAIA,OAHAh+C,EAAAwoK,EAAA,SAAAxvL,GACAglE,EAAAhlE,IAAAo3a,EAAA9xa,IAAAtF,IAAA,IAAA++B,UAEAimC,EAOA,SAAA4qJ,EAAA/jM,EAAA4rZ,EAAA8B,GACA,IAAAv1Z,EAAAyzZ,EAAAz3a,KAAAy3a,EAAAz3a,KAAAu5a,IAAAv1Z,QACAtC,EAAAkuM,iBAAA/jM,EAAA4rZ,GAEA,OAAAzzZ,EAOA,SAAA2zZ,EAAAv9Z,EAAAixO,GACAjxO,EAAAy9Z,kBAAAntX,EAAAtwC,EAAA09Z,eAAA7qa,EAAAo+O,EAAA,SAAA5lO,GACA,OAAAA,EAAAtC,kBACG,IAOH,SAAAg1Z,EAAA53K,EAAAr2M,GAGA,OAAAA,EAAAn/C,eAAA,WAAA28C,EAAA64M,EAAA,SAAA03K,GACA,OAAAA,EAAAj0Z,UAAAkmC,EAAAlmC,UACGu8O,EAOH,SAAAu4K,EAAA1+Z,IAEA3B,EAAAsxQ,EAAApoQ,GACA,IAAArf,EAAAynR,EACAxnR,EAAAC,QAAAF,wBChsBA,IAAAkL,EAAY9O,EAAQ,QAEpBsoB,EAAAxZ,EAAAwZ,KACAne,EAAA2E,EAAA3E,QACAY,EAAA+D,EAAA/D,SAEA+va,EAAkB96a,EAAQ,QAE1Bs8I,EAAat8I,EAAQ,QAErBkxE,EAAAorE,EAAAprE,iBAqBA,SAAAtqE,EAAA2P,EAAAqvD,GACAA,IAAAh2D,MAAA,KAGA,IAFA,IAAA3D,EAAAsK,EAEArK,EAAA,EAAiBA,EAAA05D,EAAAlhE,OAAiBwH,IAGlC,GAFAD,OAAA25D,EAAA15D,IAEA,MAAAD,EACA,MAIA,OAAAA,EAGA,SAAAsoB,EAAAhe,EAAAqvD,EAAAx7D,EAAAs/C,GACAkc,IAAAh2D,MAAA,KAIA,IAHA,IACAxD,EADAH,EAAAsK,EAGArK,EAAA,EAAiBA,EAAA05D,EAAAlhE,OAAA,EAAqBwH,IACtCE,EAAAw5D,EAAA15D,GAEA,MAAAD,EAAAG,KACAH,EAAAG,GAAA,IAGAH,IAAAG,IAGAs9C,GAAA,MAAAz9C,EAAA25D,EAAA15D,OACAD,EAAA25D,EAAA15D,IAAA9B,GAIA,SAAA2wa,EAAAz2Z,GACAgE,EAAA0yZ,EAAA,SAAA1wX,GACAA,EAAA,KAAAhmC,KAAAgmC,EAAA,KAAAhmC,KACAA,EAAAgmC,EAAA,IAAAhmC,EAAAgmC,EAAA,OAKA,IAAA0wX,EAAA,0DACAC,EAAA,uFAEA,SAAAr3a,EAAA0gB,EAAAuvO,GACAinL,EAAAx2Z,EAAAuvO,GAEAvvO,EAAAyC,OAAAmqD,EAAA5sD,EAAAyC,QACAuB,EAAAhE,EAAAyC,OAAA,SAAAqsO,GACA,GAAAroP,EAAAqoP,GAAA,CAIA,IAAA93O,EAAA83O,EAAA9xP,KAQA,GANA,QAAAga,GAAA,UAAAA,GACA,MAAA83O,EAAA8nL,YACA9nL,EAAAlzO,UAAAkzO,EAAA8nL,WAIA,UAAA5/Z,EAAA,CACA,IAAA6/Z,EAAAv0a,EAAAwsP,EAAA,iBACA,MAAA+nL,GAAA5mZ,EAAA6+N,EAAA,yBAAA+nL,GAGAJ,EAAA3nL,MAGA9uO,EAAA82Z,YACA92Z,EAAAkmL,UAAAlmL,EAAA82Z,WAGA9yZ,EAAA2yZ,EAAA,SAAAI,GACA,IAAArqa,EAAAsT,EAAA+2Z,GAEArqa,IACA7G,EAAA6G,KACAA,EAAA,CAAAA,IAGAsX,EAAAtX,EAAA,SAAAsT,GACAy2Z,EAAAz2Z,QAMAzgB,EAAAC,QAAAF,wBCzHA,IAAAgL,EAAmB5O,EAAQ,QAE3BgrW,EAAoBhrW,EAAQ,QAE5BirW,EAAAD,EAAAC,oBAEAp6J,EAAkB7wM,EAAQ,QAoB1B,SAAA6xR,EAAAjvR,GAEA,OADAA,EAAA04a,EAAA14a,GACA,SAAA24a,EAAAvza,GACA,OAAA6oM,EAAAq5J,iBAAAqxE,EAAA34a,IAIA,SAAAovR,EAAApvR,EAAA44a,GAEA,OADA54a,EAAA04a,EAAA14a,GACA,SAAAs0O,GACA,IAAAp4N,EAAA,MAAA08Z,IAAAtkM,EACAukM,EAAA38Z,EAAAlc,EAAAa,MAAAb,EAAAc,OACA2kF,EAAAvpE,EAAAlc,EAAAO,EAAAP,EAAAQ,EACA,OAAAilF,KAAAozV,GAAA,KAIA,SAAA3pJ,EAAAlvR,EAAAsD,EAAAw1a,GAEA,OADA94a,EAAA04a,EAAA14a,GACA,SAAA0U,EAAAg7N,EAAAtqO,GACA,OAAApF,EAAA6e,QAAA6wN,EAAA,GAAAA,EAAA,MAAA24H,EAAA3zV,EAAApR,EAAAw1a,IAKA,SAAAJ,EAAA14a,GACA,OAAAgM,EAAAqhC,OAAArtC,GAGAkB,EAAA+tR,wBACA/tR,EAAAkuR,6BACAluR,EAAAguR,iDCzDA,IAAA/xR,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErByoF,EAAazoF,EAAQ,QAoBrBD,EAAA0tB,eAAA,oBAAAE,EAAAjS,GACA,IAAAiga,EAAAlzV,EAAAg8J,wBAAA9jP,EAAAoJ,KAAA2R,EAAA8kG,cAAA9kG,EAAA,YAAA+sE,EAAA+7J,YAAA,SAAA1/N,EAAA8zQ,GACA,OAAA9zQ,EAAAle,IAAAgyR,EAAAn7B,aAEAm+K,EAAA,GACAlga,EAAA8kG,cAAA,CACArzF,SAAA,WACAgqH,MAAAxpH,GACG,SAAA7I,EAAA9f,GACH42a,EAAA9na,KAAAjK,MAAA+xa,EAAAD,EAAA72Z,GAAA+xI,SAEAl2J,EAAA2nB,KAAAszZ,EAAA,SAAA3uZ,EAAAjoB,GACAioB,EAAA+pX,YAAA,CACAzpX,MAAAI,EAAAJ,MACA7C,IAAAiD,EAAAjD,IACAuqX,WAAAtnX,EAAAsnX,WACAC,SAAAvnX,EAAAunX,qCCxCA,IAAAnxX,EAAkB/jB,EAAQ,QAE1B2lR,EAAW3lR,EAAQ,QAEnB0iB,EAAc1iB,EAAQ,QAEtB4iB,EAAAF,EAAAE,WAyBAhf,EAAAmgB,EAAAle,OAAA,CACAvE,KAAA,cACA6F,WAAA,KAGAid,WAAA,MAOAY,eAAA,SAAAV,GAEA,IAAA8J,EAAA,CACA3e,KAAA6U,EAAA7U,KACA61D,SAAAhhD,EAAA5X,MAEAgnP,EAAApvO,EAAAovO,QAAA,GACAqyB,EAAA,GACAA,EAAAryB,SACA,IAAAvsD,EAAAw+E,EAAAK,WAAA53P,EAAAjtB,KAAA4kR,GACA81J,EAAA,EACA10O,EAAA9Y,SAAA,oBAAA7vK,GACAA,EAAAymD,MAAA42W,IACAA,EAAAr9Z,EAAAymD,SAGA,IAAAyqW,EAAAprZ,EAAAorZ,kBACAoM,EAAApM,GAAAprZ,EAAAy3Z,kBAAA,EAAAz3Z,EAAAy3Z,iBAAAF,EAMA,OALA10O,EAAA/4K,KAAAigK,SAAA,oBAAA7vK,GACA,IAAAwnD,EAAAxnD,EAAAy1M,SAAAvnN,KAAAk+K,eAAApsK,EAAAoI,WAEApI,EAAA40V,SAAAptS,GAAA,MAAAA,EAAAg2W,WAAAh2W,EAAAg2W,UAAAx9Z,EAAAymD,OAAA62W,IAEA30O,EAAAz6L,MAOA8sO,UAAA,WACA,IAAAn2J,EAAAliF,KAAAyF,IAAA,UAQA,MANA,eAAAy8E,EACAA,EAAA,KACK,aAAAA,IACLA,EAAA,MAGAA,GAEAwsF,QAAA,SAAA1sD,GACAhiH,KAAAmjB,OAAA6+F,QAEApjC,UAAA,SAAA1iE,GACAlc,KAAAmjB,OAAAjH,UAOAsJ,cAAA,SAAAC,GACA,IAAAugL,EAAAhmM,KAAAwa,UAAAwrL,KACA6pO,EAAA7pO,EAAA/4K,KAAAk3C,SAAA,GACA9mD,EAAA2oL,EAAA++E,mBAAAt/P,GACAxhB,EAAAoZ,EAAA0wK,WACAz/K,EAAA+O,EAAA/O,KAEA,MAAA+O,OAAAwyZ,EACAvha,EAAA+O,EAAAy2M,WAAAxlN,KAAA,IAAAA,EACA+O,IAAAy2M,WAGA,OAAAryM,EAAAnT,GAAAsL,MAAA3V,IAAA,MAAAA,EAAA,SAAAA,KAEA6e,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EACAj4B,iBAAA,OAEAoqC,KAAA,MACAG,IAAA,MACAF,MAAA,MACAC,OAAA,MAEAvpC,OAAA,aACA2kL,MAAA,EAGAsqL,eAAA,GAEAh5V,OAAA,KACA8lG,KAAA,EAGA9/B,OAAA,KACAz3D,OAAA,cACAnN,WAAA,EACAixZ,mBAAA,EACAqM,iBAAA,EACAnhS,UAAA,CACA3yH,MAAA,OACAxkB,MAAA,IACAojM,UAAA,IAEAp6F,UAAA,CACAxkF,MAAA,iBACA+7E,YAAA,UACA+Z,YAAA,KAEA93F,MAAA,CACAo3F,MAAA,EACAp1F,MAAA,QAEAyrO,OAAA,CACAztO,MAAA,CACAo3F,MAAA,IAGAgpG,gBAAA,SACAmgE,kBAAA,IACA5lM,wBAAA,OAIA/8E,EAAAC,QAAAF,wBCnLA,IAAAmH,EAAe/K,EAAQ,QACvB+L,EAAe/L,EAAQ,QAAW+L,SAElCm+Q,EAAAn/Q,EAAAgB,IAAAhB,EAAAgB,EAAAirB,eACAnzB,EAAAC,QAAA,SAAA4K,GACA,OAAAw7Q,EAAAn+Q,EAAAirB,cAAAtoB,GAAA,0BCeA,IAAA/N,EAAaX,EAAQ,QAqBrB,SAAA4D,EAAA0gB,GACA,IAAA23Z,EAAA33Z,EAAA2tL,MAEA,GAAAgqO,EAAA,CACAt7a,EAAAwJ,QAAA8xa,KACAA,EAAA,CAAAA,IAGA,IAAAC,EAAA,GACAv7a,EAAA2nB,KAAA2zZ,EAAA,SAAAE,EAAAr9Z,GACAq9Z,EAAAx6N,WACAw6N,EAAA76a,OAAA66a,EAAApza,QACAoza,EAAApza,MAAAoza,EAAA76a,MAGAgjB,EAAAsoL,MAAAtoL,EAAAsoL,OAAA,GAEAjsM,EAAAwJ,QAAAma,EAAAsoL,SACAtoL,EAAAsoL,MAAA,CAAAtoL,EAAAsoL,QAGAtoL,EAAAsoL,MAAA94L,KAAAqoa,IAEAD,EAAApoa,KAAAqoa,KAGA73Z,EAAA2tL,MAAAiqO,EAGAv7a,EAAA2nB,KAAAhE,EAAAyC,OAAA,SAAAqsO,GACAA,GAAA,UAAAA,EAAA9xP,MAAA8xP,EAAAi3K,aACAj3K,EAAAk9C,WAAAl9C,EAAAi3K,cAKAxma,EAAAC,QAAAF,wBC7EA,IAAAm/N,EAAc/iO,EAAQ,QAEtB4gP,EAAA7d,EAAApyN,SAaA,SAAAyra,EAAA5+Z,EAAAC,EAAAC,EAAAwxC,EAAA3xC,EAAA8zC,EAAAu+E,GACA,IAAAx7B,EAAA,IAAA12F,EAAAF,GACAZ,EAAA,IAAAsyC,EAAAzxC,GACA,UAAAA,EAAAC,GAAA02F,EAAAx3F,GAAAgzH,IAAA,GAAAnyH,EAAAC,GAAA,EAAA02F,EAAAx3F,GAAAy0C,EAAA+iD,EAAA72F,EAAAE,EAUA,SAAA7Z,EAAAilE,EAAAo4K,GAKA,IAJA,IAAArzO,EAAAi7D,EAAAnkE,OACA4hE,EAAA,GACA31D,EAAA,EAEAzE,EAAA,EAAiBA,EAAA0B,EAAS1B,IAC1ByE,GAAAiwO,EAAA/3K,EAAA38D,EAAA,GAAA28D,EAAA38D,IAGA,IAAAkwM,EAAAzrM,EAAA,EACAyrM,IAAAxuM,IAAAwuM,EAEA,IAAAlwM,EAAA,EAAiBA,EAAAkwM,EAAUlwM,IAAA,CAC3B,IAGAsR,EAEAE,EACAwxC,EANA+yC,EAAA/1F,GAAAkwM,EAAA,IAAA6kC,EAAArzO,IAAA,GACAkR,EAAAjX,KAAAmK,MAAAiwF,GACAz+F,EAAAy+F,EAAAnjF,EAEArB,EAAAorD,EAAA/pD,EAAAlR,GAIAqzO,GAKAzjO,EAAAqrD,GAAA/pD,EAAA,EAAAlR,MACA8P,EAAAmrD,GAAA/pD,EAAA,GAAAlR,GACAshD,EAAA2Z,GAAA/pD,EAAA,GAAAlR,KANA4P,EAAAqrD,EAAA,IAAA/pD,MAAA,GACApB,EAAAmrD,EAAA/pD,EAAAlR,EAAA,EAAAA,EAAA,EAAAkR,EAAA,GACAowC,EAAA2Z,EAAA/pD,EAAAlR,EAAA,EAAAA,EAAA,EAAAkR,EAAA,IAOA,IAAAgiB,EAAAt9B,IACA64a,EAAA74a,EAAAs9B,EACAwlC,EAAAxyD,KAAA,CAAAsoa,EAAA5+Z,EAAA,GAAAC,EAAA,GAAAC,EAAA,GAAAwxC,EAAA,GAAA1rD,EAAAs9B,EAAAu7Y,GAAAD,EAAA5+Z,EAAA,GAAAC,EAAA,GAAAC,EAAA,GAAAwxC,EAAA,GAAA1rD,EAAAs9B,EAAAu7Y,KAGA,OAAA/1W,EAGAziE,EAAAC,QAAAF,sBCnEA,IAAAwwR,EAAA,SAAAngR,EAAA8qF,GAGA59F,KAAA8S,QACA9S,KAAA49F,SAEA59F,KAAAG,KAAA,WAGA8yR,EAAAhzR,UAAAizR,iBAAA,SAAA7yR,GACA,OAAAA,EAAA86a,cAAAn7a,KAAA8S,MAAA9S,KAAA49F,QAAA,WAGA,IAAAn7F,EAAAwwR,EACAvwR,EAAAC,QAAAF,wBCMA,IAAAjD,EAAaX,EAAQ,QAErBwnN,EAAcxnN,EAAQ,QAEtB49K,EAAA4pC,EAAA5pC,aAEAiiD,EAAe7/N,EAAQ,QAEvBm6M,EAAA0lB,EAAA1lB,MAEAn3H,EAAchjF,EAAQ,QAEtBijF,EAAAD,EAAAC,aAEA0rJ,EAAgB3uO,EAAQ,QAyBxBu8a,EAAA,EAEA,SAAAvjL,EAAAv6O,GAKA,OAJA9d,EAAAwJ,QAAAsU,KACAA,EAAA,EAAAA,OAGAA,EAGA,SAAA+9Z,EAAAC,EAAAC,GACAD,EAAAhpW,UAAA,SAAAkpW,GACAA,EAAAz3V,KAAA,CACA5mD,EAAAo+Y,EAAAp+Y,EACAg/E,OAAAo/T,EAAAp/T,OACA57G,MAAA,CACAI,OAAA,WAAA46a,EAAAnrM,UAAAmrM,EAAAz0Z,MAAA,KACApmB,KAAA,SAAA66a,EAAAnrM,UAAAmrM,EAAAz0Z,MAAA,UAaA,SAAAqqZ,EAAA5la,EAAAoS,GACAq7L,EAAAj5M,KAAAC,MACA,IAAAyqB,EAAA,IAAA+iN,EAAAjiO,EAAAoS,GACA29Z,EAAA,IAAAtiO,EACAh5M,KAAAu9B,IAAA9S,GACAzqB,KAAAu9B,IAAA+9Y,GAEAA,EAAArgP,aAAA,WACAj7L,KAAA+jF,KAAAt5D,EAAAq4F,aAGA9iH,KAAAygG,WAAAl1F,EAAAoS,GAGA,IAAA89Z,EAAAtK,EAAAlxa,UAEAw7a,EAAAC,oBAAA,WACA17a,KAAA4xE,QAAA,GAAAvN,aAGAo3W,EAAAE,qBAAA,SAAAJ,GAKA,IAJA,IAAAjxZ,EAAAixZ,EAAAjxZ,WACAxD,EAAAy0Z,EAAAz0Z,MACAw0Z,EAAAt7a,KAAA4xE,QAAA,GAEA7mE,EAAA,EAAiBA,EAAAqwa,EAA0Brwa,IAAA,CAO3C,IAAAywa,EAAA/+P,EAAAnyJ,GAAA,SAAAxD,GACA00Z,EAAAz3V,KAAA,CACAxjF,MAAA,CACA27M,eAAA,GAEAx8K,GAAA,GACA2nF,QAAA,EACAtvG,MAAA,UAEA,IAAA24H,GAAA3lI,EAAAqwa,EAAAG,EAAA56P,OAAA46P,EAAAK,aAEAJ,EAAAj/Y,QAAA,OAAAC,KAAA++Y,EAAA56P,OAAA,CACA5oK,MAAA,CAAAwja,EAAAM,YAAA,EAAAN,EAAAM,YAAA,KACKnrS,SAAAtkH,QACLovZ,EAAA3pC,cAAA,GAAAr1W,KAAA++Y,EAAA56P,OAAA,CACA7sH,QAAA,IACK48E,SAAAtkH,QACLkvZ,EAAA/9Y,IAAAi+Y,GAGAH,EAAAC,EAAAC,IAOAE,EAAAK,sBAAA,SAAAP,GAMA,IALA,IAAAQ,EAAA/7a,KAAAg8a,WACAV,EAAAt7a,KAAA4xE,QAAA,GAEAqqW,EAAA,sCAEAlxa,EAAA,EAAiBA,EAAAkxa,EAAA14a,OAA4BwH,IAAA,CAC7C,IAAAg6D,EAAAk3W,EAAAlxa,GAEA,GAAAgxa,EAAAh3W,KAAAw2W,EAAAx2W,GAGA,OAFA/kE,KAAA07a,2BACA17a,KAAA27a,qBAAAJ,GAKAF,EAAAC,EAAAC,IAOAE,EAAAj4U,UAAA,WACAxjG,KAAAoX,QAAA,aAOAqka,EAAAl4U,SAAA,WACAvjG,KAAAoX,QAAA,WASAqka,EAAAh7U,WAAA,SAAAl1F,EAAAoS,GACA,IAAArD,EAAA/O,EAAA49F,UACAnpG,KAAA4xE,QAAA,GAAA6uB,WAAAl1F,EAAAoS,GACA,IAAA29Z,EAAAt7a,KAAA4xE,QAAA,GACA1mD,EAAA3f,EAAA4f,aAAAxN,GACA2M,EAAA/e,EAAAic,cAAA7J,EAAA,UACAL,EAAAu6O,EAAAtsP,EAAAic,cAAA7J,EAAA,eACAmJ,EAAAvb,EAAAic,cAAA7J,EAAA,SACA29Z,EAAAv3V,KAAA,QAAAzmE,GACAg+Z,EAAAnpZ,SAAA,SAAAqpZ,GACAA,EAAAz3V,KAAA,CACArjF,KAAAomB,MAGA,IAAAsoM,EAAAlkM,EAAA/C,WAAA,gBAEA,GAAAinM,EAAA,CACA,IAAAtuH,EAAAw6U,EAAAh1a,SACAw6F,EAAA,GAAAhf,EAAAstI,EAAA,GAAA9xM,EAAA,IACAwjF,EAAA,GAAAhf,EAAAstI,EAAA,GAAA9xM,EAAA,IAGAg+Z,EAAA90a,UAAA0kB,EAAA/C,WAAA,oBAAAzhB,KAAAC,GAAA,OACA,IAAA40a,EAAA,GAYA,GAXAA,EAAA1sL,aAAAv0O,EAAA7U,IAAA,gBACA81a,EAAAM,YAAA3wZ,EAAAzlB,IAAA,sBACA81a,EAAAnrM,UAAAllN,EAAAzlB,IAAA,0BACA81a,EAAA56P,OAAA,IAAAz1J,EAAAzlB,IAAA,uBACA81a,EAAAK,aAAAj+Z,EAAApS,EAAAoO,QACA4ha,EAAAp+Y,EAAAjS,EAAA/C,WAAA,QACAozZ,EAAAp/T,OAAAjxF,EAAA/C,WAAA,aACAozZ,EAAAjxZ,aACAixZ,EAAAz0Z,QACA9mB,KAAA6V,IAAA,aAAAA,IAAA,YAAAA,IAAA,YAAAA,IAAA,UAEA,WAAA0la,EAAA1sL,aACA7uP,KAAAg8a,WAAAh8a,KAAA87a,sBAAAP,GAAAv7a,KAAA27a,qBAAAJ,GACAv7a,KAAAg8a,WAAAT,MACG,CAEHv7a,KAAAg8a,WAAA,KACAh8a,KAAA07a,sBACA,IAAAjxZ,EAAAzqB,KAAA4xE,QAAA,GAEAwnI,EAAA,WACA3uL,EAAA+4E,YAEA,WAAA+3U,EAAA1sL,cACA7uP,KAAA27a,qBAAAJ,IAIAjiO,EAAA,WACA7uL,EAAA84E,WAEA,WAAAg4U,EAAA1sL,cACA7uP,KAAA07a,uBAIA17a,KAAA4V,GAAA,YAAAwjM,EAAAp5M,MAAA4V,GAAA,WAAA0jM,EAAAt5M,MAAA4V,GAAA,WAAAwjM,EAAAp5M,MAAA4V,GAAA,SAAA0jM,EAAAt5M,MAGAA,KAAAg8a,WAAAT,GAGAE,EAAAntM,QAAA,SAAAv4M,GACA/1B,KAAA6V,IAAA,aAAAA,IAAA,YAAAA,IAAA,YAAAA,IAAA,UACAkgB,QAGAv2B,EAAAgD,SAAA2ua,EAAAn4N,GACA,IAAAv2M,EAAA0ua,EACAzua,EAAAC,QAAAF,wBClPA,IAAA7D,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAER,IAAAq9a,EAAoBr9a,EAAQ,QAE5Bs9a,EAAoBt9a,EAAQ,QAoB5BD,EAAAO,eAAA+8a,GACAt9a,EAAAQ,eAAA+8a,uBCjDAz5a,EAAAC,QAAA,SAAA4O,GACA,IACA,OAAY4E,GAAA,EAAAgH,EAAA5L,KACT,MAAA4E,GACH,OAAYA,GAAA,EAAAgH,EAAAhH,2BCJZ,IAAA6oN,EAAgBngO,EAAQ,QAExBW,EAAaX,EAAQ,QAErB+xD,EAAa/xD,EAAQ,QAerB,SAAAu9a,EAAAn9M,EAAAC,GACAF,EAAAj/N,KAAAC,KAAAi/N,EAAAC,EAAA,kCAGA1/N,EAAAgD,SAAA45a,EAAAp9M,GAOAo9M,EAAAn8a,UAAAssB,OAAA,SAAAw0M,GACA,IAAAq8J,EAAAp9X,KAAAkhO,cAAAH,GAEAq8J,GACAp9X,KAAAk8S,UAAAkhF,EAAAr8J,EAAA08C,aAAA,GAGA,IAAA7zK,EAAA5pG,KAAAghO,kBAAAD,GAEAn3H,GAGA5pG,KAAAk8S,UAAAtyM,EAAAm3H,EAAA08C,aAAA,GAGAz9Q,KAAA4gO,SAAAG,IAYAq7M,EAAAn8a,UAAAi8S,UAAA,SAAA6jE,EAAAnkG,EAAAshH,GACA,GAAAthH,KAAAr4Q,OAAA,GAEA,IAEA84a,EACApwZ,EAHA6zM,EAAA9/N,KAAA4/N,SAAA,GACAsU,EAAA0nC,EAAA,GAGAh+L,EAAAs/S,EAAA,kBAEAhpJ,EAAAt2J,IAEA3xD,EAAAioN,EAAAt2J,GAAA6lD,aAAA,MACA44S,EAAAnoM,EAAAt2J,GAEAkiJ,EAAAI,SAAAm8M,IAGAv8M,EAAAM,YAAAi8M,KAIApwZ,EAAA,KAAAjsB,KAAAs/N,MAAA,SAAAt/N,KAAA2/N,SACA3/N,KAAA2/N,OACA08M,EAAAr8a,KAAA61B,cAAA,YACAwmZ,EAAApgI,aAAA,KAAAhwR,GACA6zM,EAAAM,YAAAi8M,GACAnoM,EAAAt2J,GAAAy+V,GAIA,IAAAC,EAAAt8a,KAAA8gO,YAAAoT,GAEA,GAAAA,EAAArtO,WAAAqtO,EAAAviK,OAAAwuC,eAAA+8Q,EAAA,CASA,IAAAr2X,EAAA2W,MAAAvd,UAAAi/B,MAAAn/B,KAAAm0O,EAAArtO,WAEA+pD,EAAA5yB,IAAAk2M,EAAArtO,UAAAqtO,EAAAviK,OAAAwuC,aAAA+zH,EAAArtO,WACAy1a,EAAAl8a,MAAA8zO,GAEAA,EAAArtO,iBAEAy1a,EAAAl8a,MAAA8zO,GAGA,IAAA/L,EAAAnoO,KAAAkhO,cAAAgT,GACAmoM,EAAAhzT,UAAA,GAQAgzT,EAAAj8M,YAAA+H,EAAA1yJ,aACAsqS,EAAA9jE,aAAA,oBAAAhwR,EAAA,KAEA2vP,EAAAr4Q,OAAA,GAEAvD,KAAAk8S,UAAAmgI,EAAAzgK,EAAA18O,MAAA,GAAAg+V,QAIAnd,GACAA,EAAA9jE,aAAA,qBAWAmgI,EAAAn8a,UAAA2gO,SAAA,SAAAG,GACA,IAAA19N,EAAArD,KAEA+gO,EAAA08C,aAAA18C,EAAA08C,YAAAl6Q,OAAA,GACA/D,EAAA2nB,KAAA45M,EAAA08C,YAAA,SAAAvpC,GACAA,EAAA2pB,MACA7+B,EAAA/+N,UAAA2gO,SAAA7gO,KAAAsD,EAAA6wO,EAAA2pB,MAGA3pB,EAAAqoM,UACAv9M,EAAA/+N,UAAA2gO,SAAA7gO,KAAAsD,EAAA6wO,EAAAqoM,aAMA,IAAA95a,EAAA25a,EACA15a,EAAAC,QAAAF,wBCvIA5D,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,8BCZR,IAAAW,EAAaX,EAAQ,QAErBigH,EAAWjgH,EAAQ,QA+BnBivX,EAAA,SAAAxyW,EAAAvD,EAAA0hW,EAAAxiO,EAAA3wI,GACAw4G,EAAA/+G,KAAAC,KAAAsb,EAAAvD,EAAA0hW,GAUAz5W,KAAAG,KAAA82I,GAAA,QASAj3I,KAAAsG,YAAA,UAGAwnX,EAAA7tX,UAAA,CACAC,YAAA4tX,EAKAjqX,MAAA,EAQA+lO,gBAAA,KAMAjmN,MAAA,KACAzb,aAAA,WACA,IAAA5B,EAAAtG,KAAAsG,SACA,cAAAA,GAAA,WAAAA,GAWAlB,gBAAA,SAAAmzG,GACA,IAAApzC,EAAAnlE,KAAAgb,YAIA,OAHAmqD,EAAA,GAAAnlE,KAAAoqO,cAAAjlK,EAAA,IACAA,EAAA,GAAAnlE,KAAAoqO,cAAAjlK,EAAA,IACAozC,GAAApzC,EAAA,GAAAA,EAAA,IAAAA,EAAAqnF,UACArnF,GAEArqD,aAAA,WACA9a,KAAA0pO,KAAA5uN,gBAMAumG,YAAA,SAAAx3C,EAAAzqC,GACA,OAAAp/B,KAAA0lJ,YAAA1lJ,KAAAmyR,aAAAtoN,EAAA,MAAA7pE,KAAAsb,IAAA,MAAA8jB,IASA+yP,aAAA,KAQA/nD,cAAA,MAEA5qO,EAAAgD,SAAAsrX,EAAAhvQ,GACA,IAAAr8G,EAAAqrX,EACAprX,EAAAC,QAAAF,wBClJA,IAAAyoD,EAAarsD,EAAQ,QACrBu4T,EAAWv4T,EAAQ,QACnBg1F,EAAUh1F,EAAQ,QAClB29a,EAAU39a,EAAQ,OAARA,CAAgB,OAC1B49a,EAAgB59a,EAAQ,QACxBwgP,EAAA,WACAq9L,GAAA,GAAAD,GAAAhua,MAAA4wO,GAEAxgP,EAAQ,QAAS89a,cAAA,SAAApva,GACjB,OAAAkva,EAAA18a,KAAAwN,KAGA7K,EAAAC,QAAA,SAAAukM,EAAAj8L,EAAAhC,EAAAsjT,GACA,IAAAviT,EAAA,mBAAAf,EACAe,IAAA6pF,EAAA5qF,EAAA,SAAAmuT,EAAAnuT,EAAA,OAAAgC,IACAi8L,EAAAj8L,KAAAhC,IACAe,IAAA6pF,EAAA5qF,EAAAuza,IAAAplH,EAAAnuT,EAAAuza,EAAAt1O,EAAAj8L,GAAA,GAAAi8L,EAAAj8L,GAAAyxa,EAAA1sa,KAAAy2H,OAAAx7H,MACAi8L,IAAAh8I,EACAg8I,EAAAj8L,GAAAhC,EACGsjT,EAGArlH,EAAAj8L,GACHi8L,EAAAj8L,GAAAhC,EAEAmuT,EAAAlwH,EAAAj8L,EAAAhC,WALAi+L,EAAAj8L,GACAmsT,EAAAlwH,EAAAj8L,EAAAhC,OAOCihD,SAAAjqD,UAAAo/O,EAAA,WACD,yBAAAr/O,WAAAw8a,IAAAC,EAAA18a,KAAAC,4BC7BA0C,EAAAC,QAAA,SAAAqB,EAAAC,GACA,OAAUA,QAAAD,iCCDV,IAAAu6N,EAAY1/N,EAAQ,QAEpBg3B,EAAA0oM,EAAA1oM,cAEAjE,EAAW/yB,EAAQ,QAEnBk+O,EAAYl+O,EAAQ,QAEpB0f,EAAW1f,EAAQ,QAEnB2/N,EAAa3/N,EAAQ,QAErB4/N,EAAY5/N,EAAQ,QAEpBunS,EAAgBvnS,EAAQ,QAExBg9S,EAAsBh9S,EAAQ,QAE9Bu9a,EAAsBv9a,EAAQ,QAE9BoiX,EAAoBpiX,EAAQ,QAE5B6/N,EAAe7/N,EAAQ,QAEvB8/N,EAAAD,EAAAj6J,KACAm6J,EAAAF,EAAA5rN,MACA+rN,EAAAH,EAAA19N,KAMA,SAAAg8O,EAAA/zO,GACA,OAAAkK,SAAAlK,EAAA,IAGA,SAAA63N,EAAA/vL,GACA,OAAAA,aAAAxyB,EACAogN,EACG5tL,aAAAytL,EACHI,EACG7tL,aAAA0tL,EACHI,EAEAF,EAIA,SAAAi+M,EAAAjrW,EAAAv/C,GACA,OAAAA,GAAAu/C,GAAAv/C,EAAA0hM,aAAAniJ,EAGA,SAAAkrW,EAAAlrW,EAAAv/C,EAAA0qZ,GACA,GAAAF,EAAAjrW,EAAAv/C,IAAA0qZ,EAAA,CACA,IAAAt0M,EAAAs0M,EAAAt0M,YACAA,EAAA72J,EAAAquJ,aAAA5tM,EAAAo2M,GAAA72J,EAAAyuJ,YAAAhuM,IAIA,SAAA2qZ,EAAAprW,EAAAv/C,GACA,GAAAwqZ,EAAAjrW,EAAAv/C,GAAA,CACA,IAAA6tM,EAAAtuJ,EAAAsuJ,WACAA,EAAAtuJ,EAAAquJ,aAAA5tM,EAAA6tM,GAAAtuJ,EAAAyuJ,YAAAhuM,IAUA,SAAA5lB,EAAAmlE,EAAAv/C,GACAA,GAAAu/C,GAAAv/C,EAAA0hM,aAAAniJ,GACAA,EAAA2uJ,YAAAluM,GAIA,SAAA4uM,EAAAD,GACA,OAAAA,EAAAE,YAGA,SAAAC,EAAAH,GACA,OAAAA,EAAAI,QAWA,IAAA67M,EAAA,SAAA/vZ,EAAA+6F,EAAAloH,EAAAm/N,GACAj/N,KAAAitB,OACAjtB,KAAAgoH,UACAhoH,KAAAk8Q,MAAAp8Q,EAAA8xB,EAAAltB,OAAA,GAAoC5E,GAAA,IACpC,IAAAo/N,EAAArpM,EAAA,OACAqpM,EAAA+8E,aAAA,sCACA/8E,EAAA+8E,aAAA,iBACA/8E,EAAA+8E,aAAA,sBACA/8E,EAAA3+N,MAAA4oH,QAAA,mDACAnpH,KAAAi9a,gBAAA,IAAAphI,EAAA58E,EAAAC,GACAl/N,KAAAk9a,gBAAA,IAAAd,EAAAn9M,EAAAC,GACAl/N,KAAAm9a,cAAA,IAAAl8D,EAAAhiJ,EAAAC,GACA,IAAAxsL,EAAA9nC,SAAAirB,cAAA,OACA6c,EAAAnyC,MAAA4oH,QAAA,oCACAnpH,KAAAu/N,SAAAL,EACAl/N,KAAAo9a,UAAA1qY,EACAzlB,EAAAmzM,YAAA1tL,GACAA,EAAA0tL,YAAAlB,GACAl/N,KAAAq+D,OAAAv+D,EAAAwC,MAAAxC,EAAAyC,QACAvC,KAAAq9a,aAAA,IA0OA,SAAA1/L,EAAAx3F,GACA,kBACA42F,EAAA,2CAAA52F,EAAA,MAzOA62R,EAAA/8a,UAAA,CACAC,YAAA88a,EACAp/L,QAAA,WACA,aAEAC,gBAAA,WACA,OAAA79O,KAAAo9a,WAEAt/L,sBAAA,WACA,IAAAC,EAAA/9O,KAAA69O,kBAEA,GAAAE,EACA,OACAC,WAAAD,EAAAC,YAAA,EACAC,UAAAF,EAAAE,WAAA,IAIA9qN,QAAA,WACA,IAAAhmB,EAAAnN,KAAAgoH,QAAAC,gBAAA,GAEAjoH,KAAAk+O,WAAA/wO,IAEAoyQ,mBAAA,SAAA7iK,GAEA18G,KAAAo9a,UAAA78a,MAAA+8a,WAAA5gU,GAEAwhI,WAAA,SAAA/wO,GACAnN,KAAAi9a,gBAAAt8M,gBACA3gO,KAAAk9a,gBAAAv8M,gBACA3gO,KAAAm9a,cAAAx8M,gBACA,IAIA51N,EAJAm0N,EAAAl/N,KAAAu/N,SACAg+M,EAAAv9a,KAAAq9a,aACAG,EAAArwa,EAAA5J,OACAk6a,EAAA,GAGA,IAAA1ya,EAAA,EAAeA,EAAAyya,EAAazya,IAAA,CAC5B,IAAAg2N,EAAA5zN,EAAApC,GACAuxa,EAAAx7M,EAAAC,GACAg7E,EAAA76E,EAAAH,IAAAC,EAAAD,GAEAA,EAAAjwJ,YACAiwJ,EAAAvgO,UACA87a,KAAAl8a,MAAA2gO,GAEA/gO,KAAAk9a,gBAAA3wZ,OAAAw0M,GAEAA,EAAAxgO,QACAP,KAAAi9a,gBAAA1wZ,OAAAw0M,EAAAxgO,MAAAG,MACAV,KAAAi9a,gBAAA1wZ,OAAAw0M,EAAAxgO,MAAAI,QACAX,KAAAm9a,cAAA5wZ,OAAAwvR,EAAAh7E,IAGAA,EAAAvgO,SAAA,GAGAi9a,EAAA9qa,KAAAouN,IAIA,IACA28M,EADA9ga,EAAAwpR,EAAAm3I,EAAAE,GAIA,IAAA1ya,EAAA,EAAeA,EAAA6R,EAAArZ,OAAiBwH,IAAA,CAChC,IAAA85D,EAAAjoD,EAAA7R,GAEA,GAAA85D,EAAAx3D,QACA,QAAAqT,EAAA,EAAuBA,EAAAmkD,EAAAlrD,MAAgB+G,IAAA,CACvCqgN,EAAAw8M,EAAA14W,EAAApX,QAAA/sC,IACAq7R,EAAA76E,EAAAH,GADA,IAEA48M,EAAA38M,EAAAD,GACAv0N,EAAA0yN,EAAA68E,GACAvvS,EAAA0yN,EAAAy+M,IAKA,IAAA5ya,EAAA,EAAeA,EAAA6R,EAAArZ,OAAiBwH,IAAA,CAChC85D,EAAAjoD,EAAA7R,GAEA,GAAA85D,EAAAugO,MACA,IAAA1kR,EAAA,EAAuBA,EAAAmkD,EAAAlrD,MAAgB+G,IAAA,CACvCqgN,EAAA08M,EAAA54W,EAAApX,QAAA/sC,IACAq7R,EAAA76E,EAAAH,GACA48M,EAAA38M,EAAAD,GACA28M,EAAAb,EAAA39M,EAAA68E,EAAA2hI,GAAAX,EAAA79M,EAAA68E,GAEAA,EACA8gI,EAAA39M,EAAAy+M,EAAA5hI,GACW2hI,EACXb,EAAA39M,EAAAy+M,EAAAD,GAEAX,EAAA79M,EAAAy+M,GAIAd,EAAA39M,EAAAy+M,EAAA5hI,GACA2hI,EAAAC,GAAA5hI,GAAA2hI,EACA19a,KAAAi9a,gBAAAnhI,iBAAAC,EAAAh7E,GACA/gO,KAAAm9a,cAAArhI,iBAAA4hI,EAAA38M,GACA/gO,KAAAk9a,gBAAAt8M,SAAAG,QAEO,IAAAl8J,EAAAx3D,QACP,IAAAqT,EAAA,EAAuBA,EAAAmkD,EAAAlrD,MAAgB+G,IAAA,CACvCqgN,EAAA08M,EAAA54W,EAAApX,QAAA/sC,IACAg9Z,EAAA3hI,EAAA/6E,EAAAD,IAAAG,EAAAH,IAAA28M,EACA19a,KAAAi9a,gBAAAr8M,SAAAG,GACA/gO,KAAAi9a,gBAAAnhI,iBAAAC,EAAAh7E,GACA/gO,KAAAm9a,cAAAv8M,SAAAG,GACA/gO,KAAAm9a,cAAArhI,iBAAAC,EAAAh7E,GACA/gO,KAAAk9a,gBAAAt8M,SAAAG,IAKA/gO,KAAAi9a,gBAAAp8M,eACA7gO,KAAAk9a,gBAAAr8M,eACA7gO,KAAAm9a,cAAAt8M,eACA7gO,KAAAq9a,aAAAI,GAEAG,SAAA,SAAA/9M,GACA,IAAAX,EAAAl/N,KAAAu/N,SAEAO,EAAA9/N,KAAAu/N,SAAAQ,qBAAA,QAEA,OAAAD,EAAAv8N,OAAA,CAEA,GAAAs8N,EAAA,CACAC,EAAAZ,EAAAc,aAAAnqM,EAAA,QACAqpM,EAAAe,YAsBA,OAnBAH,EAAAI,WAEAJ,EAAAI,SAAA,SAAAnvL,GACA,IAAAozB,EAAA27J,EAAA37J,SAEA,IAAAA,EACA,SAGA,QAAAp5D,EAAAo5D,EAAA5gE,OAAA,EAA6CwH,GAAA,IAAQA,EACrD,GAAAo5D,EAAAp5D,KAAAgmC,EACA,SAIA,WAIA+uL,EAEA,YAGA,OAAAA,EAAA,IAGAzhK,OAAA,SAAA/7D,EAAAC,GACA,IAAAmwC,EAAA1yC,KAAAo9a,UAEA1qY,EAAAnyC,MAAAm/Q,QAAA,OAEA,IAAA5/Q,EAAAE,KAAAk8Q,MAOA,GANA,MAAA55Q,IAAAxC,EAAAwC,SACA,MAAAC,IAAAzC,EAAAyC,UACAD,EAAAtC,KAAAy8Q,SAAA,GACAl6Q,EAAAvC,KAAAy8Q,SAAA,GACA/pO,EAAAnyC,MAAAm/Q,QAAA,GAEA1/Q,KAAAskC,SAAAhiC,GAAAtC,KAAAukC,UAAAhiC,EAAA,CACAvC,KAAAskC,OAAAhiC,EACAtC,KAAAukC,QAAAhiC,EACA,IAAAs7a,EAAAnrY,EAAAnyC,MACAs9a,EAAAv7a,QAAA,KACAu7a,EAAAt7a,SAAA,KACA,IAAA28N,EAAAl/N,KAAAu/N,SAEAL,EAAA+8E,aAAA,QAAA35S,GACA48N,EAAA+8E,aAAA,SAAA15S,KAOAgM,SAAA,WACA,OAAAvO,KAAAskC,QAMAg6B,UAAA,WACA,OAAAt+D,KAAAukC,SAEAk4O,SAAA,SAAAqD,GACA,IAAAhgR,EAAAE,KAAAk8Q,MACAx0B,EAAA,mBAAAo4B,GACAC,EAAA,+BAAAD,GACAE,EAAA,6BAAAF,GACAG,EAAA,iCAAAH,GAEA,SAAAhgR,EAAA4nP,IAAA,SAAA5nP,EAAA4nP,GACA,OAAAn8M,WAAAzrC,EAAA4nP,IAGA,IAAAz6N,EAAAjtB,KAAAitB,KAEAwxN,EAAA7zO,SAAAs1Q,YAAAtJ,iBAAA3pP,GACA,OAAAA,EAAA8yP,IAAA/iC,EAAAyB,EAAAiJ,KAAA1K,EAAA/vN,EAAA1sB,MAAAmnP,MAAA1K,EAAAyB,EAAAuhC,KAAA,IAAAhjC,EAAAyB,EAAAwhC,KAAA,MAEAnqQ,QAAA,WACA9V,KAAAitB,KAAAo8F,UAAA,GACArpH,KAAAu/N,SAAAv/N,KAAAo9a,UAAAp9a,KAAAgoH,QAAA,MAEAt7G,MAAA,WACA1M,KAAAo9a,WACAp9a,KAAAitB,KAAAqzM,YAAAtgO,KAAAo9a,YAGA/7B,cAAA,WACArhZ,KAAAmzB,UACA,IAAAnL,EAAAhoB,KAAAu/N,SAAAu+M,UACA,0CAA+B91Z,IAW/B4J,EAAAzK,KAAA,6JAAA7Y,GACA0ua,EAAA/8a,UAAAqO,GAAAqvO,EAAArvO,KAEA,IAAA7L,EAAAu6a,EACAt6a,EAAAC,QAAAF,wBClVA,IAAA7D,EAAcC,EAAQ,QAEtBA,EAAQ,QAoBR,IAAA4D,EAAA7D,EAAAu3I,qBAAA,CACAh2I,KAAA,QACA4lH,aAAA,0BAKA7gH,iBAAA,KAMAwmT,cAAA,SAAAz0K,GACA,IAAA8mS,EACAxja,EAAAva,KAAAua,QAMA,OALAA,EAAA8kG,cAAA43B,EAAA,SAAApyI,GACAA,EAAAuxI,qBAAAp2I,OACA+9a,EAAAl5a,IAEK7E,MACL+9a,GAEAj7Z,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EACAjhB,OAAA,cACAC,OAAA,SAIAzZ,EAAAC,QAAAF,wBCzEA,IAAA8b,EAAW1f,EAAQ,QAEnBm7Z,EAAsBn7Z,EAAQ,QAE9BmtX,EAAwBntX,EAAQ,QAEhCuuO,EAAA4+I,EAAA5+I,qBAOA6+I,EAAA,GAEAxpX,EAAA8b,EAAA7Z,OAAA,CACAvE,KAAA,OACAyH,MAAA,CAMAgX,EAAA,EACA5c,EAAA,EACAC,EAAA,EACAK,MAAA,EACAC,OAAA,GAEAyc,UAAA,SAAA3e,EAAAuH,GACA,IAAA5F,EACAC,EACAK,EACAC,EAEAvC,KAAA+kO,kBACAqI,EAAA6+I,EAAArkX,EAAA5H,KAAAO,OACAyB,EAAAiqX,EAAAjqX,EACAC,EAAAgqX,EAAAhqX,EACAK,EAAA2pX,EAAA3pX,MACAC,EAAA0pX,EAAA1pX,OACA0pX,EAAArtW,EAAAhX,EAAAgX,EACAhX,EAAAqkX,IAEAjqX,EAAA4F,EAAA5F,EACAC,EAAA2F,EAAA3F,EACAK,EAAAsF,EAAAtF,MACAC,EAAAqF,EAAArF,QAGAqF,EAAAgX,EAGAo7Y,EAAAh7Y,UAAA3e,EAAAuH,GAFAvH,EAAAoB,KAAAO,EAAAC,EAAAK,EAAAC,GAKAlC,EAAAmf,eAKA9c,EAAAC,QAAAF,wBCzCA,IAAA2e,EAAcviB,EAAQ,QAItBW,GAFA4hB,EAAAC,QAEaxiB,EAAQ,SAErB4uO,EAAiB5uO,EAAQ,QAEzB2uO,EAAgB3uO,EAAQ,QAExBm/a,EAAwBn/a,EAAQ,QAEhCqF,EAAcrF,EAAQ,QAEtB+iB,EAAgB/iB,EAAQ,QAExBg4Y,EAAYh4Y,EAAQ,QAEpBs6M,EAAA09L,EAAA19L,SACAF,EAAA49L,EAAA59L,QAEAjJ,EAAgBnxM,EAAQ,QAExBgjF,EAAchjF,EAAQ,QAEtBqb,EAAA2nE,EAAA3nE,MAEAmsR,EAAcxnS,EAAQ,QAEtBwhW,EAAAh6D,EAAAg6D,qBACAC,EAAAj6D,EAAAi6D,kBAqBA,SAAA29E,EAAA9mC,EAAA+mC,GACA,GAAA/mC,EAAA5zY,SAAA26a,EAAA36a,OAAA,CAIA,QAAAwH,EAAA,EAAiBA,EAAAosY,EAAA5zY,OAAoBwH,IAAA,CACrC,IAAAuR,EAAA66X,EAAApsY,GACAwR,EAAA2ha,EAAAnza,GAEA,GAAAuR,EAAA,KAAAC,EAAA,IAAAD,EAAA,KAAAC,EAAA,GACA,OAIA,UAGA,SAAA4ha,EAAAt+L,GACA,wBAAAA,MAAA,KAGA,SAAAu+L,EAAAp5a,GACA,IAAA+V,EAAA/V,EAAAI,kBAEA,GAAAJ,EAAA4/I,OAAA,CAEA,IAAAy5R,EAAAr5a,EAAA+C,eAAA,IACA2xB,EAAA3e,EAAA,GAAAA,EAAA,QACAA,EAAA,IAAA2e,EAAA2kZ,EACAtja,EAAA,IAAA2e,EAAA2kZ,EAGA,OAAAtja,EAUA,SAAAuja,EAAAr5a,EAAAsG,EAAAgza,GACA,IAAAA,EAAAprQ,SACA,SAKA,IAFA,IAAAzrG,EAAA,GAEA/pD,EAAA,EAAAlR,EAAAlB,EAAAoO,QAAuCgE,EAAAlR,EAAWkR,IAClD+pD,EAAA/0D,KAAA2tV,EAAAi+E,EAAAt5a,EAAAsG,EAAAoS,IAGA,OAAA+pD,EAGA,SAAAy1N,EAAA/hJ,EAAAi2N,EAAAmtE,EAAAlka,GACA,IAAA05J,EAAAoqQ,EAAAhjS,EAAAa,QAAA,MACAg4B,EAAAmqQ,EAAAhjS,EAAAa,QAAA,MACA/zI,EAAAkzI,EAAAxgI,cAAA1S,eACAlG,EAAA0E,KAAAQ,IAAA8sK,EAAA,GAAAA,EAAA,IACA/xK,EAAAyE,KAAAQ,IAAA+sK,EAAA,GAAAA,EAAA,IACA3xK,EAAAoE,KAAAS,IAAA6sK,EAAA,GAAAA,EAAA,IAAAhyK,EACAO,EAAAmE,KAAAS,IAAA8sK,EAAA,GAAAA,EAAA,IAAAhyK,EAGA,GAAAu8a,EACAx8a,GAAA,GACAM,GAAA,GACAL,GAAA,GACAM,GAAA,OACG,CACH,IAAAkO,EAAA6J,EAAA7U,IAAA,sBAEAk4Z,EAAArjZ,EAAA7U,IAAA,gBAAAgL,EAAA,EAAA/J,KAAAS,IAAA7E,EAAAC,GAEA2F,GACAjG,GAAA07Z,EACAp7Z,GAAA,EAAAo7Z,IAEA37Z,GAAA27Z,EACAr7Z,GAAA,EAAAq7Z,GAIA,IAAAzpL,EAAA,IAAAhwO,EAAA+qE,KAAA,CACArnE,MAAA,CACA5F,IACAC,IACAK,QACAC,YAcA,OAVA8uW,IACAn9H,EAAAtsO,MAAAM,EAAA,oBACAhE,EAAAiuM,UAAA+hC,EAAA,CACAtsO,MAAA,CACAtF,QACAC,WAEK+X,IAGL45N,EAGA,SAAAuqM,EAAA3tO,EAAAugK,EAAAmtE,EAAAlka,GACA,IAAAm7M,EAAA3kB,EAAA4kB,eACAF,EAAA1kB,EAAAu6G,gBACAz1F,EAAAJ,EAAAx6M,YAAAkkB,QACA02L,EAAA,GAAAA,EAAA,IAAAA,EAAAppE,UACA,IAAAokK,EAAAn7F,EAAAz6M,YACA6qL,EAAAn/L,KAAAC,GAAA,IAEA63a,IACA5oN,EAAA,OACAA,EAAA,QAGA,IAAAse,EAAA,IAAAhwO,EAAAguN,OAAA,CACAtqN,MAAA,CACA6W,GAAAvE,EAAA42L,EAAAryL,GAAA,GACAC,GAAAxE,EAAA42L,EAAApyL,GAAA,GACAC,GAAAzE,EAAA07M,EAAA,MACAh3M,EAAA1E,EAAA07M,EAAA,MACA/2M,YAAA+xS,EAAA,GAAA/qH,EACA/mL,UAAA8xS,EAAA,GAAA/qH,EACA9mL,UAAA02M,EAAA5wK,WAaA,OATAwsT,IACAn9H,EAAAtsO,MAAAkX,UAAA8xS,EAAA,GAAA/qH,EACA3hM,EAAAiuM,UAAA+hC,EAAA,CACAtsO,MAAA,CACAkX,UAAA8xS,EAAA,GAAA/qH,IAEKvrL,IAGL45N,EAGA,SAAAwqM,EAAAz5a,EAAAosW,EAAAmtE,EAAAlka,GACA,gBAAArV,EAAA9E,KAAAs+a,EAAAx5a,EAAAosW,EAAAmtE,EAAAlka,GAAA6iR,EAAAl4R,EAAAosW,EAAAmtE,EAAAlka,GAGA,SAAAqka,EAAAj3W,EAAAziE,EAAA25a,GAKA,IAJA,IAAAjka,EAAA1V,EAAA2V,cACAmkT,EAAA,MAAApkT,EAAAW,KAAA,WAAAX,EAAAW,IAAA,IACAuja,EAAA,GAEA9za,EAAA,EAAiBA,EAAA28D,EAAAnkE,OAAA,EAAuBwH,IAAA,CACxC,IAAA22V,EAAAh6R,EAAA38D,EAAA,GACA83G,EAAAn7C,EAAA38D,GACA8za,EAAAlsa,KAAAkwG,GACA,IAAAi8T,EAAA,GAEA,OAAAF,GACA,UACAE,EAAA//G,GAAA2iC,EAAA3iC,GACA+/G,EAAA,EAAA//G,GAAAl8M,EAAA,EAAAk8M,GAEA8/G,EAAAlsa,KAAAmsa,GACA,MAEA,aAEA,IAAA7iW,GAAA4mC,EAAAk8M,GAAA2iC,EAAA3iC,IAAA,EACAggH,EAAA,GACAD,EAAA//G,GAAAggH,EAAAhgH,GAAA9iP,EACA6iW,EAAA,EAAA//G,GAAAl8M,EAAA,EAAAk8M,GACAggH,EAAA,EAAAhgH,GAAA2iC,EAAA,EAAA3iC,GACA8/G,EAAAlsa,KAAAmsa,GACAD,EAAAlsa,KAAAosa,GACA,MAEA,QACAD,EAAA//G,GAAAl8M,EAAAk8M,GACA+/G,EAAA,EAAA//G,GAAA2iC,EAAA,EAAA3iC,GAEA8/G,EAAAlsa,KAAAmsa,IAMA,OADAp3W,EAAA38D,IAAA8za,EAAAlsa,KAAA+0D,EAAA38D,IACA8za,EAGA,SAAAG,EAAAzza,EAAAtG,GACA,IAAA0uN,EAAApoN,EAAAgS,UAAA,cAEA,GAAAo2M,KAAApwN,QAAAgI,EAAAoO,SAKA,gBAAA1U,EAAA9E,KAAA,CAOA,IAHA,IAAAsoB,EACAk3K,EAEA50L,EAAA4oN,EAAApwN,OAAA,EAAyCwH,GAAA,EAAQA,IAAA,CACjD,IAAAhE,EAAA4sN,EAAA5oN,GAAAuoK,UACA56F,EAAAntE,EAAAktE,WAAA1xE,GACA0f,EAAAlb,EAAA8a,iBAAAqyD,GAGA,GAFAjwD,EAAAhC,KAAAgC,SAEA,MAAAA,GAAA,MAAAA,EAAA,CACAk3K,EAAAg0B,EAAA5oN,GACA,OAIA,GAAA40L,EAAA,CAUA,IAAA36L,EAAAC,EAAAg3I,QAAAxzH,GAEAhB,EAAAjoB,EAAA4N,IAAAuyL,EAAAK,MAAA,SAAA9oL,GACA,OACAqJ,MAAAvb,EAAAolO,cAAAplO,EAAAo8G,YAAAlqG,EAAAjT,QACA6iB,MAAA5P,EAAA4P,SAGAm4Z,EAAAx3Z,EAAAlkB,OACAovX,EAAAhzL,EAAAgzL,YAAAzzV,QAEA+/Y,GAAAx3Z,EAAA,GAAAlH,MAAAkH,EAAAw3Z,EAAA,GAAA1+Z,QACAkH,EAAA+kI,UACAmmO,EAAAnmO,WAGA,IAAA0yR,EAAA,GAEAC,EAAA13Z,EAAA,GAAAlH,MAAA2+Z,EACAE,EAAA33Z,EAAAw3Z,EAAA,GAAA1+Z,MAAA2+Z,EACAG,EAAAD,EAAAD,EAEA,GAAAE,EAAA,KACA,oBAGA7/a,EAAA2nB,KAAAM,EAAA,SAAAvQ,GACAA,EAAA6uC,QAAA7uC,EAAAqJ,MAAA4+Z,GAAAE,IAEA53Z,EAAA9U,KAAA,CACAozC,OAAAk5X,EAAAx3Z,EAAAw3Z,EAAA,GAAAl5X,OAAA,GACAj/B,MAAA6rW,EAAA,oBAEAlrW,EAAA0tD,QAAA,CAEApvB,OAAAk5X,EAAAx3Z,EAAA,GAAAs+B,OAAA,GACAj/B,MAAA6rW,EAAA,oBAMA,IAAAh1M,EAAA,IAAAz5K,EAAA44M,eAAA,QAAAr1L,GAAA,GAGA,OAFAk2J,EAAAl1J,GAAA02Z,EACAxhQ,EAAAl1J,EAAA,KAAA22Z,EACAzhQ,IAGA,SAAA2hQ,EAAAhla,EAAA/O,EAAAtG,GACA,IAAAs6a,EAAAjla,EAAA7U,IAAA,iBACA+5a,EAAA,SAAAD,EAEA,IAAAA,GAAAC,EAAA,CAIA,IAAAxnS,EAAA/yI,EAAA8gJ,eAAA,cAEA,GAAA/N,KAOAwnS,IACAC,EAAAznS,EAAAzsI,IADA,CAMA,IAAAm0a,EAAAn0a,EAAA8P,aAAA28H,EAAA18H,KACAqka,EAAA,GAIA,OAHAngb,EAAA2nB,KAAA6wH,EAAAqK,gBAAA,SAAA8qE,GACAwyN,EAAAxyN,EAAA7qE,WAAA,IAEA,SAAA78H,GACA,OAAAk6Z,EAAAz0a,eAAAK,EAAA9F,IAAAi6a,EAAAj6Z,OAIA,SAAAg6Z,EAAAznS,EAAAzsI,GAKA,IAAAvE,EAAAgxI,EAAAh9H,YACA4ka,EAAAl5a,KAAAiR,IAAA3Q,EAAA,GAAAA,EAAA,IAAAgxI,EAAAjgI,MAAA4B,QACAC,MAAAgma,OAAA,GAMA,IAHA,IAAA3zJ,EAAA1gR,EAAAoO,QACAnW,EAAAkD,KAAAS,IAAA,EAAAT,KAAAwT,MAAA+xQ,EAAA,IAEAxmQ,EAAA,EAAyBA,EAAAwmQ,EAAqBxmQ,GAAAjiB,EAC9C,GAEA,IAFAgqO,EAAApwN,cAAA7R,EAAAka,GACAuyH,EAAA9vI,eAAA,KACA03a,EACA,SAIA,SAGA,IAAAn9a,EAAAutM,EAAAtrM,OAAA,CACAvE,KAAA,OACA+iB,KAAA,WACA,IAAA4zW,EAAA,IAAA5yX,EAAA80M,MACAmrK,EAAA,IAAA12I,EACAztO,KAAAylE,MAAAloC,IAAA4mV,EAAA1+S,OACAzlE,KAAAqkX,YAAAF,EACAnkX,KAAA6/a,WAAA/oD,GAEA5jU,OAAA,SAAA54C,EAAAC,EAAAxV,GACA,IAAAE,EAAAqV,EAAApV,iBACAugE,EAAAzlE,KAAAylE,MACAl6D,EAAA+O,EAAAE,UACA4jI,EAAA9jI,EAAAqgB,SAAA,aACAkmH,EAAAvmI,EAAAqgB,SAAA,aACA+sC,EAAAn8D,EAAAg+K,SAAAh+K,EAAAkqK,eACAqqQ,EAAA,UAAA76a,EAAA9E,KACA4/a,EAAA//a,KAAAggb,UACA77D,EAAAnkX,KAAAqkX,YACA3iM,EAAA1hL,KAAAigb,UACAj7U,EAAAhlG,KAAAkgb,SACAppD,EAAA92X,KAAA6/a,WACAxuE,EAAA/2V,EAAA7U,IAAA,aACA06a,GAAAt/R,EAAAvlB,UACA8kT,EAAAv/R,EAAAp7I,IAAA,UACA84a,EAAAl+E,EAAAp7V,EAAAsG,EAAA60a,GACAvvC,EAAAytC,EAAAr5a,EAAAsG,EAAAgza,GACA8B,EAAA/la,EAAA7U,IAAA,cACA66a,EAAAD,IAAAP,GAAAR,EAAAhla,EAAA/O,EAAAtG,GAEA8wM,EAAA/1M,KAAA+gG,MACAg1G,KAAA6e,kBAAA,SAAA7jL,EAAApzB,GACAozB,EAAAwvY,SACA96W,EAAAj5D,OAAAukC,GACAglK,EAAAxB,iBAAA52L,EAAA,SAIA0ia,GACAl8D,EAAA33W,SAGAi5D,EAAAloC,IAAAu5V,GAEA,IAAAtzX,GAAAs8a,GAAAxla,EAAA7U,IAAA,QAEAi8K,GAAAq+P,EAAA5/a,OAAA8E,EAAA9E,MAAAqD,IAAAxD,KAAAwgb,OAoBAL,IAAAn7U,EAEAA,EAAAhlG,KAAAygb,YAAA/4W,EAAAmpU,EAAA5rY,EAAAosW,GACOrsQ,IAAAm7U,IAEPrpD,EAAAtqX,OAAAw4F,GACAA,EAAAhlG,KAAAkgb,SAAA,MAIAppD,EAAAz5F,YAAAqhJ,EAAAz5a,GAAA,KAAAqV,IAGA+la,GAAAl8D,EAAA1jR,WAAAl1F,EAAA,CACAuiO,SAAAwyM,EACAvyM,UAAA2wM,EAAAz5a,GAAA,KAAAqV,KAIA/O,EAAAqpN,kBAAA,SAAA7jL,GACAA,EAAAzU,eAAA,KAIA2hZ,EAAAj+a,KAAA0gb,iBAAA7vC,IAAAotC,EAAAj+a,KAAAu6K,QAAA7yG,KACA2pS,EACArxW,KAAAmsG,iBAAA5gG,EAAAslY,EAAA5rY,EAAAF,EAAAvB,EAAA48a,IAGA58a,IAEAkkE,EAAAi3W,EAAAj3W,EAAAziE,EAAAzB,GACAqtY,EAAA8tC,EAAA9tC,EAAA5rY,EAAAzB,IAGAk+K,EAAAg4B,SAAA,CACAhyI,WAEAs9B,KAAA00G,SAAA,CACAhyI,SACAmpU,wBA3DAwvC,GAAAl8D,EAAA1jR,WAAAl1F,EAAA,CACAuiO,SAAAwyM,EACAvyM,UAAA2wM,EAAAz5a,GAAA,KAAAqV,KAGA9W,IAEAkkE,EAAAi3W,EAAAj3W,EAAAziE,EAAAzB,GACAqtY,EAAA8tC,EAAA9tC,EAAA5rY,EAAAzB,IAGAk+K,EAAA1hL,KAAA2gb,aAAAj5W,EAAAziE,EAAAosW,GAEA8uE,IACAn7U,EAAAhlG,KAAAygb,YAAA/4W,EAAAmpU,EAAA5rY,EAAAosW,IAGAylB,EAAAz5F,YAAAqhJ,EAAAz5a,GAAA,KAAAqV,KAgDA,IAAAsoF,EAAAo8U,EAAAzza,EAAAtG,IAAAsG,EAAAgS,UAAA,SACAmkK,EAAAuwB,SAAAzyM,EAAA8V,SACA8oI,EAAAq8D,eAAA,CACA/5M,KAAA,OACAC,OAAAiiG,EACA+2G,SAAA,WAEA,IAAAkmC,EAAAvlO,EAAA7U,IAAA,UAQA,GAPAo6O,EAAAs+L,EAAA7ja,EAAA7U,IAAA,WACAi8K,EAAAg4B,SAAA,CACAmmC,SACAmwJ,eAAA11X,EAAA7U,IAAA,kBACAwqY,aAAA31X,EAAA7U,IAAA,kBAGAu/F,EAAA,CACA,IAAA47U,EAAAr1a,EAAA6oK,mBAAA,mBACA08N,EAAA,EACA9rS,EAAAitG,SAAAzyM,EAAA8V,SAAAurI,EAAA41E,eAAA,CACA/1N,KAAAkiG,EACA9uC,QAAA,GACA6lJ,SAAA,WAGAinO,IACA9vC,EAAAqtC,EAAAyC,EAAAn7a,IAAA,YAGAu/F,EAAA00G,SAAA,CACAmmC,SACAixJ,kBACAd,eAAA11X,EAAA7U,IAAA,kBACAwqY,aAAA31X,EAAA7U,IAAA,kBAIAzF,KAAA+gG,MAAAx1F,EAEAvL,KAAAggb,UAAA/6a,EACAjF,KAAA0gb,iBAAA7vC,EACA7wY,KAAAu6K,QAAA7yG,EACA1nE,KAAAwgb,MAAAh9a,EACAxD,KAAA6gb,aAAAT,GAEAtqa,QAAA,aACA0tF,UAAA,SAAAlpF,EAAAC,EAAAxV,EAAAynB,GACA,IAAAjhB,EAAA+O,EAAAE,UACAiL,EAAA7D,EAAAkb,eAAAvxB,EAAAihB,GAEA,KAAA/G,aAAAjI,QAAA,MAAAiI,MAAA,GACA,IAAAgF,EAAAlf,EAAA4iL,iBAAA1oK,GAEA,IAAAgF,EAAA,CAEA,IAAAo4F,EAAAt3G,EAAAkqK,cAAAhwJ,GAEA,IAAAo9F,EAEA,OAGAp4F,EAAA,IAAA+iN,EAAAjiO,EAAAka,GACAgF,EAAAnkB,SAAAu8G,EACAp4F,EAAAgsO,KAAAn8O,EAAA7U,IAAA,UAAA6U,EAAA7U,IAAA,MACAglB,EAAA6gB,OAAA1xB,MAAAipG,EAAA,KAAAjpG,MAAAipG,EAAA,IACAp4F,EAAA81Z,QAAA,EACAh1a,EAAAgpM,iBAAA9uL,EAAAgF,GAEAA,EAAA6rO,qBAAA,GACAt2P,KAAAylE,MAAAloC,IAAA9S,GAGAA,EAAA+4E,iBAGAwsG,EAAA/vM,UAAAujG,UAAAzjG,KAAAC,KAAAsa,EAAAC,EAAAxV,EAAAynB,IAGA+2E,SAAA,SAAAjpF,EAAAC,EAAAxV,EAAAynB,GACA,IAAAjhB,EAAA+O,EAAAE,UACAiL,EAAA7D,EAAAkb,eAAAvxB,EAAAihB,GAEA,SAAA/G,MAAA,GACA,IAAAgF,EAAAlf,EAAA4iL,iBAAA1oK,GAEAgF,IACAA,EAAA81Z,QACAh1a,EAAAgpM,iBAAA9uL,EAAA,MACAzlB,KAAAylE,MAAAj5D,OAAAie,IAEAA,EAAA84E,iBAOAysG,EAAA/vM,UAAAsjG,SAAAxjG,KAAAC,KAAAsa,EAAAC,EAAAxV,EAAAynB,IASAm0Z,aAAA,SAAAj5W,GACA,IAAAg6G,EAAA1hL,KAAAigb,UAiBA,OAfAv+P,GACA1hL,KAAA6/a,WAAArza,OAAAk1K,GAGAA,EAAA,IAAAy3B,EAAA,CACAvxM,MAAA,CACA8/D,UAEA2/C,QAAA,EACA3nF,GAAA,KAGA1/B,KAAA6/a,WAAAtiZ,IAAAmkJ,GAEA1hL,KAAAigb,UAAAv+P,EACAA,GASA++P,YAAA,SAAA/4W,EAAAmpU,GACA,IAAA7rS,EAAAhlG,KAAAkgb,SAiBA,OAfAl7U,GACAhlG,KAAA6/a,WAAArza,OAAAw4F,GAGAA,EAAA,IAAAi0G,EAAA,CACArxM,MAAA,CACA8/D,SACAmpU,mBAEAxpR,QAAA,IAGArnH,KAAA6/a,WAAAtiZ,IAAAynE,GAEAhlG,KAAAkgb,SAAAl7U,EACAA,GAOAmH,iBAAA,SAAA5gG,EAAAslY,EAAA5rY,EAAAF,EAAAvB,EAAA48a,GACA,IAAA1+P,EAAA1hL,KAAAigb,UACAj7U,EAAAhlG,KAAAkgb,SACA5la,EAAA/O,EAAA49F,UACAvsF,EAAAoha,EAAAh+a,KAAA+gG,MAAAx1F,EAAAvL,KAAA0gb,iBAAA7vC,EAAA7wY,KAAAggb,UAAA/6a,EAAAjF,KAAA6gb,aAAAT,GACAluW,EAAAt1D,EAAAs1D,QACAgwR,EAAAtlV,EAAAslV,iBACAn+V,EAAA6Y,EAAA7Y,KACAo+V,EAAAvlV,EAAAulV,cAEA3+V,IAEA0uE,EAAAysW,EAAA/ha,EAAAs1D,QAAAjtE,EAAAzB,GACA0+V,EAAAy8E,EAAA/ha,EAAAslV,iBAAAj9V,EAAAzB,GACAO,EAAA46a,EAAA/ha,EAAA7Y,KAAAkB,EAAAzB,GACA2+V,EAAAw8E,EAAA/ha,EAAAulV,cAAAl9V,EAAAzB,IAMAk+K,EAAA95K,MAAAk5a,SAAAlka,EAAAs1D,QACAwvG,EAAA95K,MAAA8/D,OAAAwK,EACAhuE,EAAAkuM,YAAA1wB,EAAA,CACA95K,MAAA,CACA8/D,OAAA3jE,IAEKuW,GAEL0qF,IACAA,EAAA00G,SAAA,CACAhyI,OAAAwK,EACA2+T,gBAAA3uC,IAEAh+V,EAAAkuM,YAAAptG,EAAA,CACAp9F,MAAA,CACA8/D,OAAA3jE,EACA8sY,gBAAA1uC,IAEO7nV,IAMP,IAHA,IAAAyma,EAAA,GACAC,EAAApka,EAAA+6C,OAEA5sD,EAAA,EAAmBA,EAAAi2a,EAAAz9a,OAAuBwH,IAAA,CAC1C,IAAA4uL,EAAAqnP,EAAAj2a,GAAA4uL,IAEA,SAAAA,EAAA,CACA,IAAA5oJ,EAAAxlC,EAAA4iL,iBAAA6yP,EAAAj2a,GAAAqxI,MAEArrG,GACAgwY,EAAApua,KAAA,CACAo+B,KACAkwY,MAAAl2a,KAOA22K,EAAA//F,WAAA+/F,EAAA//F,UAAAp+E,QACAm+K,EAAA//F,UAAA,GAAAllD,OAAA,WACA,QAAA1xB,EAAA,EAAuBA,EAAAg2a,EAAAx9a,OAA4BwH,IAAA,CACnD,IAAAgmC,EAAAgwY,EAAAh2a,GAAAgmC,GACAA,EAAAgzC,KAAA,WAAA29F,EAAA95K,MAAAk5a,SAAAC,EAAAh2a,GAAAk2a,YAKAz0a,OAAA,SAAA+N,GACA,IAAAkrD,EAAAzlE,KAAAylE,MACAswI,EAAA/1M,KAAA+gG,MAEA/gG,KAAA6/a,WAAAx7W,YAEArkE,KAAAqkX,YAAA73W,QAAA,GAGAupM,KAAA6e,kBAAA,SAAA7jL,EAAApzB,GACAozB,EAAAwvY,SACA96W,EAAAj5D,OAAAukC,GACAglK,EAAAxB,iBAAA52L,EAAA,SAGA3d,KAAAigb,UAAAjgb,KAAAkgb,SAAAlgb,KAAAggb,UAAAhgb,KAAAu6K,QAAAv6K,KAAA0gb,iBAAA1gb,KAAA+gG,MAAA,QAIAr+F,EAAAC,QAAAF,wBCvuBA,IAAAjD,EAAaX,EAAQ,QAErBs8I,EAAat8I,EAAQ,QAErB8jB,EAAAw4H,EAAAx4H,UAEAu+Z,EAAkBrib,EAAQ,QAE1Bwqa,EAA0Bxqa,EAAQ,QAoBlCsoB,EAAA3nB,EAAA2nB,KACAwC,EAAAnqB,EAAAmqB,MACAjH,EAAAC,IA6BA,SAAAlgB,EAAA+pB,EAAAjS,EAAAxV,GACA,IAAAmqT,EAAA1iS,EAAA0iS,YACArlP,EAAA,CAAAr9C,EAAAxqB,EAAAwqB,EAAAvqB,GACAg6N,EAAAzvM,EACA4gF,EAAA5gF,EAAA4gF,gBAAA5tG,EAAAoJ,KAAA7D,EAAAqoG,eAAAroG,GACAi7X,EAAAzlX,EAAAmS,aAAA,eAAAszW,iBAGA,GAAAA,EAAA,CAIAmhD,EAAAt3W,KAGAA,EAAAw/V,EAAA,CACAxmZ,YAAAo5M,EAAAp5M,YAGA4C,UAAAw2M,EAAAx2M,WACKlL,GAAAsvD,OAGL,IAAAu3W,EAAAD,EAAAt3W,GAKAw3W,EAAAplN,EAAA0uK,SACAA,EAAA3K,EAAA2K,SACA22C,EAAA,UAAApyH,GAAAiyH,EAAAt3W,GACA03W,EAAA,GACAC,EAAA,GACAlX,EAAA,CACAn9Z,KAAA,GACAC,IAAA,IAEAq0a,EAAA,CACAC,YAAA/3Z,EAAA+3Z,EAAAF,GACAG,YAAAh4Z,EAAAg4Z,EAAArX,IAGAnjZ,EAAA64W,EAAA8b,YAAA,SAAA72Y,EAAAk3Y,GAEA,IAAAylC,EAAAR,GAAAn8a,EAAA0vD,aAAAkV,GACA1iD,EAAA64W,mBAAAmc,GAAA,SAAAz+P,EAAAzyI,GACA,IAAAjG,EAAA04I,EAAA14I,KACA68a,EAAAC,EAAAT,EAAA3jS,GAEA,IAAA4jS,GAAAM,KAAAP,GAAAQ,GAAA,CACA,IAAA54a,EAAA44a,KAAA59a,MAEA,MAAAgF,GAAAm4a,IACAn4a,EAAAjE,EAAAq8G,YAAAx3C,IAGA,MAAA5gE,GAAA84a,EAAArkS,EAAAz0I,EAAAw4a,GAAA,EAAAF,QAKA,IAAAS,EAAA,GAsBA,OArBA76Z,EAAAwjX,EAAA,SAAAs3C,EAAAC,GACA,IAAAjlC,EAAAglC,EAAAhlC,UAEAA,IAAAukC,EAAAU,IACA/6Z,EAAA81X,EAAAtS,SAAA,SAAAw3C,EAAAC,GACA,IAAAC,EAAAb,EAAAY,GAEA,GAAAD,IAAAF,GAAAI,EAAA,CACA,IAAAp5a,EAAAo5a,EAAAp+a,MACAg5Y,EAAAC,SAAAj0Y,EAAAg5a,EAAAj9a,KAAA+S,MAAAqhB,MAAA6jX,EAAAC,OAAAj0Y,EAAAq5a,EAAAH,GAAAG,EAAAL,MACAD,EAAAC,EAAAh3a,KAAAhC,OAKAke,EAAA66Z,EAAA,SAAA/4a,EAAAi5a,GACAH,EAAAp3C,EAAAu3C,GAAAj5a,EAAAw4a,GAAA,EAAAF,KAEAgB,EAAAf,EAAA72C,EAAA42C,GACAiB,EAAAlY,EAAAzgW,EAAAr9C,EAAA4gF,GACAq1U,EAAA93C,EAAAv9R,EAAAroG,GACAw8a,GAGA,SAAAQ,EAAArkS,EAAAglS,EAAAjB,EAAAkB,EAAApB,GACA,IAAAv8a,EAAA04I,EAAA14I,KAEA,IAAAA,EAAA+S,MAAAsoI,WAAAr7I,EAAAygJ,YAAAi9R,GAIA,GAAAhlS,EAAAo/P,cAAA,CAMA,IAAApS,EAAAk4C,EAAAF,EAAAhlS,GACAmlS,EAAAn4C,EAAAm4C,aACAC,EAAAp4C,EAAAo4C,YAGAD,EAAA,UAAAtB,EAAA1+Z,aACArjB,EAAAkF,OAAA68a,EAAAsB,EAAA,KAKAF,GAAAjlS,EAAAuiP,MACAj7X,EAAAygJ,YAAAq9R,IAAA,MAAAA,IACAJ,EAAAI,GAIArB,EAAAC,YAAAhkS,EAAAglS,EAAAG,EAAAtB,GAGAE,EAAAE,YAAAjkS,EAAAgtP,EAAAo4C,QAzBArB,EAAAC,YAAAhkS,EAAAglS,GA4BA,SAAAE,EAAA3+a,EAAAy5I,GACA,IAAA14I,EAAA04I,EAAA14I,KACAsW,EAAAtW,EAAAsW,IACAwna,EAAA7+a,EACA4+a,EAAA,GACAj+P,EAAA5kK,OAAAC,UACAukZ,GAAA,EA+CA,OA9CAr9Y,EAAAu2H,EAAA8tG,aAAA,SAAA5lO,EAAAjI,GACA,IACAola,EACAjwH,EAFA1pS,EAAAxD,EAAApL,UAAAa,aAAAC,GAAA,GAIA,GAAAsK,EAAAgD,mBAAA,CACA,IAAAllB,EAAAkiB,EAAAgD,mBAAAQ,EAAAnlB,EAAAe,GACA8tT,EAAApvT,EAAAovT,YACAiwH,EAAAr/a,EAAAkvT,iBACK,CAML,GALAE,EAAAltS,EAAApL,UAAAggK,iBAAApxJ,EAAA,GAAAnlB,EAGA,aAAAe,EAAA7E,KAAA,UAEA2yT,EAAAvvT,OACA,OAGAw/a,EAAAn9Z,EAAApL,UAAA/U,IAAA2jB,EAAA,GAAA0pS,EAAA,IAGA,SAAAiwH,GAAAhpa,SAAAgpa,GAAA,CAIA,IAAAnma,EAAA3Y,EAAA8+a,EACAplZ,EAAAj3B,KAAAiR,IAAAiF,GAEA+gB,GAAAinJ,KACAjnJ,EAAAinJ,GAAAhoK,GAAA,GAAA4nZ,EAAA,KACA5/O,EAAAjnJ,EACA6mY,EAAA5nZ,EACAkma,EAAAC,EACAF,EAAAt/a,OAAA,GAGA4jB,EAAA2rS,EAAA,SAAArtS,GACAo9Z,EAAAlwa,KAAA,CACAkQ,YAAA+C,EAAA/C,YACAka,gBAAAtX,EACAA,UAAAG,EAAApL,UAAAqyK,YAAApnK,WAKA,CACAo9Z,eACAC,eAIA,SAAApB,EAAAF,EAAA9jS,EAAAz5I,EAAA4+a,GACArB,EAAA9jS,EAAAzyI,KAAA,CACAhH,QACA4+a,gBAIA,SAAAlB,EAAArX,EAAA5sR,EAAAgtP,EAAAzmY,GACA,IAAA4+a,EAAAn4C,EAAAm4C,aACA79a,EAAA04I,EAAA14I,KACAH,EAAAG,EAAA2e,MACA7e,EAAA44I,EAAA54I,iBAGA,GAAA44I,EAAAwiP,gBAAA2iD,EAAAt/a,OAAA,CAIA,IAAAqtR,EAAAlzI,EAAAz4I,SAAA0e,MACAw4X,EAAA+kC,EAAA9kC,QAAAxrH,GACAoyJ,EAAA1Y,EAAAl9Z,IAAA+uY,GAEA6mC,IACAA,EAAA1Y,EAAAl9Z,IAAA+uY,GAAA,CACA8mC,WAAAryJ,EAAA3kQ,GACAi3Z,cAAAtyJ,EAAAttQ,eACA+wJ,aAAAu8G,EAAAzwR,KACAgjb,iBAAAvyJ,EAAA5kQ,SACAo/Y,WAAA,IAEAd,EAAAn9Z,KAAAwF,KAAAqwa,IAGAA,EAAA5X,WAAAz4Z,KAAA,CACA6jI,QAAAxxI,EAAAsW,IACAghP,UAAAz3P,EAAAye,eACA2zH,SAAApyI,EAAA1E,KACAs1Y,OAAA5wY,EAAAonB,GACAhoB,QAKAuna,cAAA,CACA90W,UAAA5xD,EAAAW,IAAA,mBACAoqE,UAAA/qE,EAAAW,IAAA,oBAEA+vT,kBAAAqtH,EAAA3jZ,WAIA,SAAAqjZ,EAAAf,EAAA72C,EAAA42C,GACA,IAAA6B,EAAA7B,EAAA52C,SAAA,GAEAxjX,EAAAwjX,EAAA,SAAAjtP,EAAAzyI,GACA,IAAAkY,EAAAu6H,EAAA54I,iBAAAqe,OACAkga,EAAA7B,EAAAv2a,GAEAo4a,IACA3lS,EAAAshE,YAAA77L,EAAAw0C,OAAA,QACAx0C,EAAAlf,MAAAo/a,EAAAp/a,MAEAkf,EAAAqyS,mBAAA6tH,EAAAR,cAAA,IAAA3jZ,UAMAw+G,EAAAshE,YAAA77L,EAAAw0C,OAAA,QAIA,SAAAx0C,EAAAw0C,QAAAyrX,EAAAzwa,KAAA,CACA6jI,QAAAkH,EAAA14I,KAAAsW,IACAghP,UAAA5+G,EAAA14I,KAAA2e,MAAAL,eACArf,MAAAkf,EAAAlf,UAKA,SAAAu+a,EAAAlY,EAAAzgW,EAAAr9C,EAAA4gF,GAEA,IAAA+zU,EAAAt3W,IAAAygW,EAAAn9Z,KAAA5J,OAAA,CAWA,IAAAmhS,IAAA4lI,EAAAn9Z,KAAA,GAAAi+Z,WAAA,QAA+D51G,mBAAA,WAC/DpoN,EAAA,CACAjtG,KAAA,UACA2iZ,eAAA,EACA9gZ,EAAA6nE,EAAA,GACA5nE,EAAA4nE,EAAA,GACAviE,cAAAklB,EAAAllB,cACAhB,SAAAkmB,EAAAlmB,SACAy2B,gBAAA2nQ,EAAA3nQ,gBACAtX,UAAAi/Q,EAAAj/Q,UACA5C,YAAA6hR,EAAA7hR,YACAynZ,iBAAAn9Z,YArBAigG,EAAA,CACAjtG,KAAA,YAwBA,SAAAsib,EAAA93C,EAAAv9R,EAAAroG,GAIA,IAAAoP,EAAApP,EAAA2sB,QACA4xZ,EAAA,4BACAC,EAAA7ga,EAAAvO,GAAAmva,IAAA,GACAE,EAAA9ga,EAAAvO,GAAAmva,GAAA,GAGAn8Z,EAAAwjX,EAAA,SAAAjtP,EAAAzyI,GACA,IAAAkY,EAAAu6H,EAAA54I,iBAAAqe,OACA,SAAAA,EAAAw0C,QAAAxwC,EAAAhE,EAAAqyS,kBAAA,SAAA7pS,GACA,IAAA1gB,EAAA0gB,EAAA9I,YAAA,MAAA8I,EAAAlG,UACA+9Z,EAAAv4a,GAAA0gB,MAIA,IAAA83Z,EAAA,GACAC,EAAA,GACAlkb,EAAA2nB,KAAAo8Z,EAAA,SAAA53Z,EAAA1gB,IACAu4a,EAAAv4a,IAAAy4a,EAAA/wa,KAAAgZ,KAEAnsB,EAAA2nB,KAAAq8Z,EAAA,SAAA73Z,EAAA1gB,IACAs4a,EAAAt4a,IAAAw4a,EAAA9wa,KAAAgZ,KAEA+3Z,EAAAngb,QAAAwB,EAAAqoG,eAAA,CACAjtG,KAAA,WACA2iZ,eAAA,EACAz+L,MAAAq/N,IAEAD,EAAAlgb,QAAAwB,EAAAqoG,eAAA,CACAjtG,KAAA,YACA2iZ,eAAA,EACAz+L,MAAAo/N,IAIA,SAAA3B,EAAAT,EAAA3jS,GACA,QAAA3yI,EAAA,EAAiBA,GAAAs2a,GAAA,IAAA99a,OAAkCwH,IAAA,CACnD,IAAA82a,EAAAR,EAAAt2a,GAEA,GAAA2yI,EAAA14I,KAAAsW,MAAAuma,EAAArrS,SAAAkH,EAAA14I,KAAA2e,MAAAL,iBAAAu+Z,EAAAvlL,UACA,OAAAulL,GAKA,SAAAS,EAAA5kS,GACA,IAAA74I,EAAA64I,EAAA14I,KAAA2e,MACAkhD,EAAA,GACAvpD,EAAAupD,EAAA2xE,QAAAkH,EAAA14I,KAAAsW,IAIA,OAHAupD,EAAAy3L,UAAAz3L,EAAAvpD,EAAA,aAAAzW,EAAAye,eACAuhD,EAAA8tL,SAAA9tL,EAAAvpD,EAAA,YAAAzW,EAAAyJ,KACAu2D,EAAA4wU,OAAA5wU,EAAAvpD,EAAA,UAAAzW,EAAAonB,GACA44C,EAGA,SAAAs8W,EAAAt3W,GACA,OAAAA,GAAA,MAAAA,EAAA,IAAAjwD,MAAAiwD,EAAA,WAAAA,EAAA,IAAAjwD,MAAAiwD,EAAA,IAGAnnE,EAAAC,QAAAF,wBC1ZA,IAAAjD,EAAaX,EAAQ,QAoBrB,SAAA4D,EAAA8X,GACA,IAAAopa,EAAA,GACAppa,EAAA+kG,iBAAA,eAAA2rP,GACA,IAAA75G,EAAA65G,EAAAvqE,aAEA,IAAAuqE,EAAAhsE,oBAAA0kJ,EAAAvyL,GAAA,CAIA,IAAAwyL,EAAA,GACApkb,EAAA2nB,KAAA8jV,EAAArqE,YAAA,SAAAijJ,GACA,IAAA79U,EAAA69U,EAAA3+a,iBACAqG,EAAAs4a,EAAA7lL,aAEA6lL,EAAAp+a,IAAA,qBAAA8U,EAAAmS,aAAA,WACAnhB,EAAA4b,KAAA5b,EAAA8P,aAAA,kBAAApX,EAAA0Z,GACA,IAAArP,EAAA/C,EAAAqc,QAAAjK,GACAijF,EAAAoF,EAAAnF,UAAAvyF,GAIA,GAAAsyF,IAAAhnF,MAAA3V,GAAA,CAIA,IAAA8hD,EAAA69X,EAAAt1a,IAAA,EACAu7D,EAAAm8B,EAAAzgG,YAAAq7F,EAAA1kF,QACA0na,EAAAt1a,GAAAy3C,EAAA,EACAx6C,EAAAkoK,cAAA91J,EAAA,CACAksD,QACA9jB,gBAMA,IAAAx6C,EAAA0/V,EAAAzwV,UACAjP,EAAA4b,KAAA,SAAAxJ,GACA,IAAArP,EAAA/C,EAAAqc,QAAAjK,GACA1X,EAAAsF,EAAAkqK,cAAA93J,IAAA,GACA1X,EAAAylW,WAAAk4E,EAAAt1a,GACA/C,EAAAkoK,cAAA91J,EAAA1X,KAEA09a,EAAAvyL,IAAA,KAIA1uP,EAAAC,QAAAF,wBCnEA,IAAAwjN,EAAuBpnN,EAAQ,QAE/B+zK,EAAAqzC,EAAArzC,mBAEAjlK,EAAY9O,EAAQ,QAEpBuO,EAAAO,EAAAP,IA0BA,SAAAizV,EAAAp7V,EAAAsG,EAAA60a,GACA,IAWA3lI,EAXA9/R,EAAA1V,EAAA2V,cACAC,EAAA5V,EAAA6V,aAAAH,GACAugS,EAAA4oI,EAAAjpa,EAAAula,GACAr0I,EAAApxR,EAAAW,IACAmhP,EAAA5hP,EAAAS,IACA63J,EAAA5nK,EAAA8P,aAAAohP,GACA+9C,EAAAjvS,EAAA8P,aAAA0wR,GACAg4I,EAAA,MAAAtnL,GAAA,WAAAA,EAAA,IACAt1K,EAAA/5E,EAAAnI,EAAAwzE,WAAA,SAAAhwD,GACA,OAAAld,EAAA8P,aAAAoN,KAGAu7Z,EAAAz4a,EAAA6oK,mBAAA,wBAgBA,OAdAqmI,GAAA7nI,EAAArnK,EAAA47E,EAAA,OAIAA,EAAA,GAAA68V,IAGAvpI,GAAA7nI,EAAArnK,EAAA47E,EAAA,OAIAA,EAAA,GAAA68V,GAGA,CACAriF,iBAAAx6Q,EACA+zN,aACAz+C,eACAsvC,cACA0O,YACAtnI,WACAqnI,UACAupI,iBACA3tH,qBAAA7qT,EAAA6oK,mBAAA,yBAIA,SAAA0vQ,EAAAjpa,EAAAula,GACA,IAAAllI,EAAA,EACAngS,EAAAF,EAAA9C,MAAAiD,YAkBA,MAhBA,UAAAola,EACAllI,EAAAngS,EAAA,GACG,QAAAqla,EACHllI,EAAAngS,EAAA,GAIAA,EAAA,KACAmgS,EAAAngS,EAAA,GAEAA,EAAA,OACAmgS,EAAAngS,EAAA,IAKAmgS,EAGA,SAAAolD,EAAAi+E,EAAAt5a,EAAAsG,EAAAoS,GACA,IAAA1Z,EAAA4V,IAEA0ka,EAAA9jI,UACAx2S,EAAAsH,EAAA9F,IAAA8F,EAAA6oK,mBAAA,wBAAAz2J,IAGA/D,MAAA3V,KACAA,EAAAs6a,EAAArjI,YAGA,IAAA6oI,EAAAxF,EAAAwF,eACAE,EAAA,GAGA,OAFAA,EAAAF,GAAAx4a,EAAA9F,IAAA84a,EAAA/jI,QAAA78R,GACAsma,EAAA,EAAAF,GAAA9/a,EACAgB,EAAAM,YAAA0+a,GAGAthb,EAAA09V,uBACA19V,EAAA29V,0CCpHA,IAAA3yV,EAAY9O,EAAQ,QAEpBuO,EAAAO,EAAAP,IAEAggM,EAA0BvuM,EAAQ,QAElConN,EAAuBpnN,EAAQ,QAE/B+zK,EAAAqzC,EAAArzC,mBAsBA,SAAAnwK,EAAA0X,GACA,OACAA,aACAkzL,KAAAD,IACA/yL,MAAA,SAAAC,GACA,IAAA/O,EAAA+O,EAAAE,UACAvV,EAAAqV,EAAApV,iBACA8jB,EAAA1O,EAAA0O,gBACA+pZ,EAAA/pZ,EAAAo+J,MAEA,GAAAniL,EAAA,CAIA,IAAAkiF,EAAA/5E,EAAAnI,EAAAwzE,WAAA,SAAAn9D,GACA,OAAA/P,EAAA8P,aAAAC,KACO4jB,MAAA,KACPyjY,EAAAx7U,EAAA5jF,OACAygb,EAAAz4a,EAAA6oK,mBAAA,wBA0CA,OAxCAxB,EAAArnK,EAAA47E,EAAA,MAGAA,EAAA,GAAA68V,GAGApxQ,EAAArnK,EAAA47E,EAAA,MAGAA,EAAA,GAAA68V,GA+BArhB,GAAA,CACAvnP,YA7BA,SAAAA,EAAAp2J,EAAAzZ,GAIA,IAHA,IAAA47D,EAAAniD,EAAAuE,IAAAvE,EAAAoH,MACAs7C,EAAAqrW,GAAA,IAAAvnY,aAAA27B,EAAAw7V,GAEA53Z,EAAAia,EAAAoH,MAAA25B,EAAA,EAAA8lU,EAAA,GAAAC,EAAA,GAAuE/gX,EAAAia,EAAAuE,IAAgBxe,IAAA,CACvF,IAAA8+D,EAEA,OAAA84V,EAAA,CACA,IAAA3ga,EAAAuJ,EAAA9F,IAAA0hF,EAAA,GAAAp8E,GACA8+D,GAAAjwD,MAAA5X,IAAAiD,EAAAM,YAAAvD,EAAA,KAAA8pX,OACW,CACX9pX,EAAA6pX,EAAA,GAAAtgX,EAAA9F,IAAA0hF,EAAA,GAAAp8E,GAAA,IACA9I,EAAA4pX,EAAA,GAAAtgX,EAAA9F,IAAA0hF,EAAA,GAAAp8E,GAEA8+D,GAAAjwD,MAAA5X,KAAA4X,MAAA3X,IAAAgD,EAAAM,YAAAsmX,EAAA,KAAAC,GAGAinD,GACArrW,EAAA3hB,KAAA8jB,IAAA,GAAAhwD,IACA6tD,EAAA3hB,KAAA8jB,IAAA,GAAAhwD,KAEAtO,EAAAkoK,cAAA1oK,EAAA8+D,KAAA3qC,SAAA,CAAArlB,UAIAk5Z,GAAAxna,EAAAmoK,UAAA,eAAAhsG,MAUAhlE,EAAAC,QAAAF,wBCjGA,IAAAjD,EAAaX,EAAQ,QAErBgjF,EAAchjF,EAAQ,QAEtBijF,EAAAD,EAAAC,aAEAmkI,EAAuBpnN,EAAQ,QAE/B+zK,EAAAqzC,EAAArzC,mBAoBA,SAAA+lI,EAAAr+R,GACA,OAAAA,EAAA7U,IAAA,wBAAA6U,EAAAuI,YAGA,SAAA+1R,EAAA5zS,GACA,OAAAA,EAAAsW,IASA,SAAA4oa,EAAA/pa,EAAAI,EAAAxV,GAIAA,EAAAwJ,WACAxJ,EAAAu5D,YADA,IAEA67O,EAAA,GACAtgD,EAAAsqL,EAAA3kb,EAAAqoD,OAAAttC,EAAAw+Z,gBAAA5+Z,GAAA,SAAAG,GACA,OAAAC,EAAAoQ,iBAAArQ,MAAApV,kBAAA,UAAAoV,EAAApV,iBAAA/E,QAEAoa,EAAA+kG,iBAAAnlG,EAAA,SAAAG,GAEA,aAAAA,EAAApV,iBAAA/E,KAAA,CAIA,IAAAoL,EAAA+O,EAAAE,UACAs2L,EAAAx2L,EAAApV,iBACAyV,EAAAm2L,EAAAl2L,cACAi+R,EAAAF,EAAAr+R,GACA+/R,EAAAxgD,EAAA++C,EAAAj+R,IAAAk+R,GACAyB,EAAAD,EAAAt0P,OACAw0P,EAAAF,EAAA/3S,MACAuY,EAAAi2L,EAAAh2L,aAAAH,GACA8D,EAAAnE,EAAApV,iBAAAuZ,GACAC,EAAApE,EAAApV,iBAAAwZ,GACAo0J,EAAAx4J,EAAA7U,IAAA,mBACAg7W,EAAAnmW,EAAA7U,IAAA,kBACA00S,EAAAtB,GAAAsB,EAAAtB,IAAA,GAQA,IAPA,IAAA1lI,EAAA5nK,EAAA8P,aAAAR,EAAAS,KACAk/R,EAAAjvS,EAAA8P,aAAAV,EAAAW,KACAm/R,EAAA7nI,EAAArnK,EAAA4nK,GAGAwnI,EAAA9/R,EAAAG,YAAA,GAEA2C,EAAA,EAAAlR,EAAAlB,EAAAoO,QAAyCgE,EAAAlR,EAAWkR,IAAA,CACpD,IAAA1Z,EAAAsH,EAAA9F,IAAA0tK,EAAAx1J,GACA41J,EAAAhoK,EAAA9F,IAAA+0S,EAAA78R,GAEA,IAAA/D,MAAA3V,GAAA,CAIA,IAmBA0a,EACAC,EACAC,EACAC,EAtBAi+J,EAAA94K,GAAA,UACA42S,EAAAF,EAuBA,GAnBAF,IACAN,EAAAtB,GAAAtlI,KACA4mI,EAAAtB,GAAAtlI,GAAA,CACAzyJ,EAAA65R,EAEA9sR,EAAA8sR,IAMAE,EAAAV,EAAAtB,GAAAtlI,GAAAwJ,IAQA,WAAAliK,EAAAS,IAAA,CACA,IAAA8oa,EAAAvpa,EAAAwuN,aAAAplO,GAAA02S,EACA10P,EAAAtrC,EAAA2hT,YAAA/oJ,GAEA7sK,KAAAiR,IAAAysa,GAAAtxQ,IACAsxQ,KAAA,QAAAtxQ,GAGAn0J,EAAAk8R,EACAj8R,EAAAi8R,EAAAupI,EACAvla,EAAAonC,EAAAq0P,EACAx7R,EAAAD,EAAA07R,EACAE,IAAAN,EAAAtB,GAAAtlI,GAAAwJ,GAAAn+J,OAEA,CAEA,IAAAyla,EAAAxpa,EAAAyhT,YAAAr4T,GAAA,GAAA02S,EACAx+R,EAAAxB,EAAA0uN,aAAA91D,GAEA7sK,KAAAiR,IAAA0sa,GAAA5jE,IACA4jE,KAAA,QAAA5jE,GAGA9hW,EAAAxC,EAAAm+R,EACA17R,EAAAD,EAAA47R,EACA17R,EAAAg8R,EACA/7R,EAAA+7R,EAAAwpI,EAWA5pI,IAAAN,EAAAtB,GAAAtlI,GAAAwJ,GAAAj+J,GAGAvT,EAAAkoK,cAAA91J,EAAA,CACAc,KACAC,KACAC,KACAC,IAGAC,cAAAnY,KAAAC,GAAA,IACAmY,YAAApY,KAAAC,GAAA,UAGG3G,MAOH,SAAAmkb,EAAAhrI,EAAAp0S,GAEA,IAAAy0S,EAAA,GACAh6S,EAAA2nB,KAAAgyR,EAAA,SAAA7+R,EAAAqD,GACA,IAAApS,EAAA+O,EAAAE,UACAs2L,EAAAx2L,EAAApV,iBACAyV,EAAAm2L,EAAAl2L,cACA5T,EAAA2T,EAAAK,YACAlT,EAAA,aAAA6S,EAAAxa,KAAAwa,EAAA5S,eAAArB,KAAAiR,IAAA3Q,EAAA,GAAAA,EAAA,IAAAuE,EAAAoO,QACA+/R,EAAAF,EAAAZ,EAAAj+R,KAAA,CACA7S,YACA6xS,cAAA7xS,EACA8xS,eAAA,EACAC,YAAA,MACA13N,IAAA,MACA23N,OAAA,IAEAA,EAAAJ,EAAAI,OACAN,EAAAZ,EAAAj+R,IAAA++R,EACA,IAAAb,EAAAF,EAAAr+R,GAEAw/R,EAAAjB,IACAa,EAAAE,iBAGAE,EAAAjB,GAAAiB,EAAAjB,IAAA,CACAv2S,MAAA,EACA8/E,SAAA,GAEA,IAAAoyF,EAAA1yF,EAAAxnE,EAAA7U,IAAA,YAAAqC,GACAuxS,EAAAv3N,EAAAxnE,EAAA7U,IAAA,eAAAqC,GACAwxS,EAAAh/R,EAAA7U,IAAA,UACA8zS,EAAAj/R,EAAA7U,IAAA,kBAEA+uK,IAAAslI,EAAAjB,GAAAv2S,QACAkyK,EAAA9tK,KAAAQ,IAAAwyS,EAAAC,cAAAnlI,GACAslI,EAAAjB,GAAAv2S,MAAAkyK,EACAklI,EAAAC,eAAAnlI,GAGA6kI,IAAAS,EAAAjB,GAAAz2N,SAAAi3N,GACA,MAAAC,IAAAI,EAAAv3N,IAAAm3N,GACA,MAAAC,IAAAG,EAAAG,YAAAN,KAEA,IAAA71S,EAAA,GAsDA,OArDAlE,EAAA2nB,KAAAqyR,EAAA,SAAAE,EAAA/V,GACAjgS,EAAAigS,GAAA,GACA,IAAAmW,EAAAJ,EAAAI,OACAhyS,EAAA4xS,EAAA5xS,UACA+xS,EAAA/3N,EAAA43N,EAAAG,YAAA/xS,GACAiyS,EAAAj4N,EAAA43N,EAAAv3N,IAAA,GACAw3N,EAAAD,EAAAC,cACAC,EAAAF,EAAAE,eACAI,GAAAL,EAAAE,IAAAD,KAAA,GAAAG,GACAC,EAAAtzS,KAAAS,IAAA6yS,EAAA,GAEAx6S,EAAA2nB,KAAA2yR,EAAA,SAAA50H,EAAAgmB,GACA,IAAA9oH,EAAA8iG,EAAA9iG,SAEAA,KAAA43N,IACA53N,EAAA17E,KAAAQ,IAAAk7E,EAAAu3N,GAEAz0H,EAAA5iL,QACA8/E,EAAA17E,KAAAQ,IAAAk7E,EAAA8iG,EAAA5iL,QAGAq3S,GAAAv3N,EACA8iG,EAAA5iL,MAAA8/E,EACAw3N,OAIAI,GAAAL,EAAAE,IAAAD,KAAA,GAAAG,GACAC,EAAAtzS,KAAAS,IAAA6yS,EAAA,GACA,IACAC,EADAC,EAAA,EAEA16S,EAAA2nB,KAAA2yR,EAAA,SAAA50H,EAAAvnK,GACAunK,EAAA5iL,QACA4iL,EAAA5iL,MAAA03S,GAGAC,EAAA/0H,EACAg1H,GAAAh1H,EAAA5iL,OAAA,EAAAy3S,KAGAE,IACAC,GAAAD,EAAA33S,MAAAy3S,GAGA,IAAAh0P,GAAAm0P,EAAA,EACA16S,EAAA2nB,KAAA2yR,EAAA,SAAA50H,EAAA2zH,GACAn1S,EAAAigS,GAAAkV,GAAAn1S,EAAAigS,GAAAkV,IAAA,CACA9yP,SACAzjD,MAAA4iL,EAAA5iL,OAEAyjD,GAAAm/H,EAAA5iL,OAAA,EAAAy3S,OAGAr2S,EAGA,IAAAjB,EAAAyhb,EACAxhb,EAAAC,QAAAF,wBC9QA,IAAA02M,EAAet6M,EAAQ,QAEvBW,EAAaX,EAAQ,QAErByuP,EAAiBzuP,EAAQ,QAEzB2c,EAAW3c,EAAQ,QA+BnB,SAAA0uP,EAAAhsE,EAAA5jK,EAAA0wN,GACAif,EAAAvtP,KAAAC,KAAAuhL,EAAA5jK,EAAA0wN,GACAruO,KAAAskb,WAAA,EACAtkb,KAAAukb,kBAAA,EAGA,IAAAC,EAAAj3L,EAAAttP,UAEAukb,EAAA7tD,WAAA,SAAAp1M,EAAA5jK,EAAA0wN,GACA,WAAAl1B,EAAA53B,EAAA5jK,EAAA0wN,IAIAm2M,EAAAnyC,sBAAA,SAAA5nX,EAAAi9C,GACA1nE,KAAAu6K,QAAA7yG,EAIA,IAHA,IAAA+8W,EAAA,IACAh4a,EAAA,EAEA1B,EAAA,EAAiBA,EAAA28D,EAAAnkE,OAAmBwH,IAAA,CACpC,IAAAuR,EAAAorD,EAAA38D,EAAA,GACAwR,EAAAmrD,EAAA38D,GACA0B,GAAA+O,EAAAmiB,KAAArhB,EAAAC,GACAkoa,EAAA9xa,KAAAlG,GAGA,OAAAA,EAAA,CAIA,IAAA1B,EAAA,EAAiBA,EAAA05a,EAAAlhb,OAAsBwH,IACvC05a,EAAA15a,IAAA0B,EAGAzM,KAAA0kb,SAAAD,EACAzkb,KAAA+6H,QAAAtuH,IAIA+3a,EAAAlyC,cAAA,SAAA7nX,GACA,OAAAzqB,KAAA+6H,SAIAypT,EAAA/xC,qBAAA,SAAAhoX,GACA,IAAArO,EAAAqO,EAAA+nX,IACA9qU,EAAA1nE,KAAAu6K,QACAoqQ,EAAA3kb,KAAA0kb,SACAj4a,EAAAi7D,EAAAnkE,OAEA,GAAAohb,EAAA,CAKA,IAAAx0S,EAAAnwI,KAAAskb,WAGA,GAAAloa,EAAApc,KAAAukb,kBAAA,CAGA,IAAAn4Z,EAAA1lB,KAAAQ,IAAAipI,EAAA,EAAA1jI,EAAA,GAEA,IAAAgN,EAAA2S,EAAuB3S,GAAA,EAAYA,IACnC,GAAAkra,EAAAlra,IAAA2C,EACA,MAKA3C,EAAA/S,KAAAQ,IAAAuS,EAAAhN,EAAA,OACG,CACH,QAAAgN,EAAA02H,EAA+B12H,EAAAhN,EAAagN,IAC5C,GAAAkra,EAAAlra,GAAA2C,EACA,MAIA3C,EAAA/S,KAAAQ,IAAAuS,EAAA,EAAAhN,EAAA,GAGA+O,EAAAuiB,KAAAtT,EAAAnkB,SAAAohE,EAAAjuD,GAAAiuD,EAAAjuD,EAAA,IAAA2C,EAAAuoa,EAAAlra,KAAAkra,EAAAlra,EAAA,GAAAkra,EAAAlra,KACA,IAAA03W,EAAAzpT,EAAAjuD,EAAA,MAAAiuD,EAAAjuD,GAAA,GACAg8R,EAAA/tO,EAAAjuD,EAAA,MAAAiuD,EAAAjuD,GAAA,GACAgR,EAAAjkB,UAAAE,KAAA44B,MAAAm2Q,EAAA07E,GAAAzqX,KAAAC,GAAA,EACA3G,KAAAskb,WAAA7qa,EACAzZ,KAAAukb,kBAAAnoa,EACAqO,EAAA6gB,QAAA,IAGA9rC,EAAAgD,SAAA+qP,EAAAD,GACA,IAAA7qP,EAAA8qP,EACA7qP,EAAAC,QAAAF,wBChIA,IAAAjD,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAEtB6jJ,EAAY7jJ,EAAQ,QAEpByF,EAAezF,EAAQ,QAoBvB+lb,EAAA,4DAEA,SAAAC,EAAA/zO,EAAAg0O,EAAA7+X,GACA6+X,EAAA,GAAAA,EAAA,KAAAA,IAAA5lZ,QAAAstH,WACA,IAAApgI,EAAA0kL,EAAAwoB,aAAA,CAAAwrN,EAAA,GAAA7+X,IACA18B,EAAAunL,EAAAwoB,aAAA,CAAAwrN,EAAA,GAAA7+X,IACA,OACA2J,GAAAxjC,EAAA,GACAyjC,GAAAzjC,EAAA,GACAoT,GAAAjW,EAAA,GACAkW,GAAAlW,EAAA,IAIA,SAAAw7Z,EAAAj0O,GACA,IAAA0kB,EAAA1kB,EAAAu6G,gBACA,OAAA71F,EAAA3wK,QAAA,IAIA,SAAAmgY,EAAA73a,GACA,IAAA83a,EAAA93a,EAAA,GACA8/Z,EAAA9/Z,IAAA5J,OAAA,GAEA0hb,GAAAhY,GAAAvma,KAAAiR,IAAAjR,KAAAiR,IAAAsta,EAAA1ka,MAAA0sZ,EAAA1sZ,OAAA,WACApT,EAAAkf,MAIA,IAAA5pB,EAAA6B,EAAAI,OAAA,CACAvE,KAAA,YACAm1N,iBAAA,mBACApiK,OAAA,SAAAy4P,EAAApxS,GAGA,GAFAva,KAAAylE,MAAApB,YAEAsnP,EAAAlmT,IAAA,SAIA,IAAAgwN,EAAAk2F,EAAA3mT,KACA8rM,EAAA2kB,EAAA3kB,MACA8kB,EAAA9kB,EAAAu6G,gBAAArwS,YACAkqa,EAAAzvN,EAAAh1E,iBACA2B,EAAA5iJ,EAAA4N,IAAAqoN,EAAApzE,gBAAA,SAAA8qE,GACAA,EAAA3tN,EAAA+V,MAAA43M,GAEA,OADAA,EAAA5sM,MAAAk1M,EAAAr0G,YAAA+rG,EAAA7qE,WACA6qE,IAEA63N,EAAA5iS,GACA4iS,EAAAE,GACA1lb,EAAA2nB,KAAAy9Z,EAAA,SAAAt2a,IACAq9S,EAAAlmT,IAAA6I,EAAA,UAAAmnN,EAAA19M,MAAAsoI,WAAA,aAAA/xI,GACAtO,KAAA,IAAAsO,GAAAq9S,EAAA76G,EAAAo0O,EAAAtvN,EAAAxzE,IAEKpiJ,QAMLmlb,UAAA,SAAAx5H,EAAA76G,EAAAo0O,EAAAtvN,GACA,IAAAx3E,EAAAutK,EAAAhxR,SAAA,sBACA4kQ,EAAA,IAAAr7R,EAAAiyN,OAAA,CACAvuN,MAAA,CACA6W,GAAAqyL,EAAAryL,GACAC,GAAAoyL,EAAApyL,GACAE,EAAAg3M,EAAAmvN,EAAAj0O,KAEAvwM,MAAA69I,EAAAq8D,eACA/6K,GAAA,EACA2nF,QAAA,IAEAk4K,EAAAh/R,MAAAG,KAAA,KACAV,KAAAylE,MAAAloC,IAAAgiQ,IAMA6lJ,UAAA,SAAAz5H,EAAA76G,EAAAo0O,EAAAtvN,GACA,IAAAl1E,EAAAirK,EAAAhxR,SAAA,YACA21R,GAAA5vK,EAAAj7I,IAAA,gBAAAi7I,EAAAj7I,IAAA,UACA0W,EAAAy5M,EAAAmvN,EAAAj0O,IACA3/L,EAAA3R,EAAA4N,IAAA83a,EAAA,SAAAG,GACA,WAAAnhb,EAAAupM,KAAA,CACA7lM,MAAAi9a,EAAA/zO,EAAA,CAAA30L,IAAAm0S,GAAA+0H,EAAA9ka,WAGAvgB,KAAAylE,MAAAloC,IAAAr5B,EAAAkyN,UAAAjlN,EAAA,CACA5Q,MAAAf,EAAA8V,SAAAorI,EAAA/lH,SAAA,aAAA8/K,eAAA,CACA95M,OAAAgrT,EAAAlmT,IAAA,kCAQA6/a,WAAA,SAAA35H,EAAA76G,EAAAo0O,EAAAtvN,EAAAxzE,GACA,IAAA44O,EAAArvE,EAAAp0K,eAAA,GACAguS,EAAA55H,EAAAhxR,SAAA,aACAt0B,EAAAk/a,EAAA9/a,IAAA,UAEAjG,EAAA2nB,KAAAi7H,EAAA,SAAA+qE,EAAAxvM,GACA,IAAA+rF,EAAA67U,EACAjjS,EAAA6qE,EAAA7qE,UACA1jI,EAAAg3M,EAAAmvN,EAAAj0O,IACAhwL,EAAAgwL,EAAAwoB,aAAA,CAAA16M,EAAAvY,EAAA8mN,EAAA5sM,QACA9B,EAAAqyL,EAAAryL,GACAC,EAAAoyL,EAAApyL,GACA8ma,EAAA9+a,KAAAiR,IAAAmJ,EAAA,GAAArC,GAAAG,EAAA,YAAAkC,EAAA,GAAArC,EAAA,eACAgna,EAAA/+a,KAAAiR,IAAAmJ,EAAA,GAAApC,GAAAE,EAAA,YAAAkC,EAAA,GAAApC,EAAA,eAEAs8W,KAAA14O,IAAA04O,EAAA14O,GAAA7lC,YACA/S,EAAA,IAAAg5C,EAAAs4O,EAAA14O,GAAA7lC,UAAA8oU,IAAAhra,UAGA,IAAAqvF,EAAA,IAAA1lG,EAAArE,KAAA,CACAwnH,QAAA,IAEArnH,KAAAylE,MAAAloC,IAAAqsE,GACA1lG,EAAA2lG,aAAAD,EAAArpG,MAAAmpG,EAAA,CACA1nG,EAAA8e,EAAA,GACA7e,EAAA6e,EAAA,GACAgpF,SAAAJ,EAAAm1G,gBAAA8sG,EAAAlmT,IAAA,4BACAzE,KAAAmsN,EAAA5qE,eACA5gJ,UAAA6jb,EACA5jb,kBAAA6jb,KAEKzlb,OAMLg2N,WAAA,SAAA21F,EAAA76G,EAAAo0O,EAAAtvN,GACA,IAAAt1E,EAAAqrK,EAAAhxR,SAAA,aACAyjH,EAAAkC,EAAA3lH,SAAA,aACA4lH,EAAAnC,EAAA34I,IAAA,SACAmgM,EAAA,EACArlD,eAAA/iI,MAAA+iI,EAAA,CAAAA,GAGA,IAFA,IAAA01E,EAAA,GAEAlrN,EAAA,EAAmBA,EAAAm6a,EAAA3hb,OAAwBwH,IAAA,CAC3C,IAAAmrN,EAAAtwB,IAAArlD,EAAAh9I,OACA0yN,EAAAC,GAAAD,EAAAC,IAAA,GACAD,EAAAC,GAAAvjN,KAAA,IAAAzO,EAAAupM,KAAA,CACA7lM,MAAAi9a,EAAA/zO,EAAA8kB,EAAAsvN,EAAAn6a,GAAAwV,UAMA,IAAAxV,EAAA,EAAmBA,EAAAkrN,EAAA1yN,OAAuBwH,IAC1C/K,KAAAylE,MAAAloC,IAAAr5B,EAAAkyN,UAAAH,EAAAlrN,GAAA,CACAxK,MAAAf,EAAA8V,SAAA,CACA3U,OAAA4/I,EAAAx1I,EAAAw1I,EAAAh9I,SACS66I,EAAAq8D,gBACTpzF,QAAA,EACAlqF,EAAAwuR,EAAAlmT,IAAA,SAQA4wN,WAAA,SAAAs1F,EAAA76G,EAAAo0O,EAAAtvN,GACA,GAAAsvN,EAAA3hb,OAAA,CAIA,IAAAq9I,EAAA+qK,EAAAhxR,SAAA,aACAkmH,EAAAD,EAAAjmH,SAAA,aACA27L,EAAAz1E,EAAAp7I,IAAA,SACAmgM,EAAA,EACA0wB,eAAA94M,MAAA84M,EAAA,CAAAA,GAQA,IAPA,IAAAC,EAAA,GACA1wB,EAAAn/L,KAAAC,GAAA,IACA++a,GAAAR,EAAA,GAAA3ka,MAAAslL,EACAlnL,EAAAjY,KAAAQ,IAAA0uN,EAAA,GAAAA,EAAA,IACA+vN,EAAAj/a,KAAAS,IAAAyuN,EAAA,GAAAA,EAAA,IACA72M,EAAA4sS,EAAAlmT,IAAA,aAEAsF,EAAA,EAAmBA,EAAAm6a,EAAA3hb,OAAwBwH,IAAA,CAC3C,IAAAmrN,EAAAtwB,IAAA0wB,EAAA/yN,OACAgzN,EAAAL,GAAAK,EAAAL,IAAA,GACAK,EAAAL,GAAAvjN,KAAA,IAAAzO,EAAAguN,OAAA,CACAtqN,MAAA,CACA6W,GAAAqyL,EAAAryL,GACAC,GAAAoyL,EAAApyL,GACAC,KACAC,EAAA+ma,EACA9ma,WAAA6ma,EACA5ma,UAAAoma,EAAAn6a,GAAAwV,MAAAslL,EACA9mL,aAEAsoG,QAAA,KAEAq+T,GAAAR,EAAAn6a,GAAAwV,MAAAslL,EAKA,IAAA96L,EAAA,EAAmBA,EAAAwrN,EAAAhzN,OAAuBwH,IAC1C/K,KAAAylE,MAAAloC,IAAAr5B,EAAAkyN,UAAAG,EAAAxrN,GAAA,CACAxK,MAAAf,EAAA8V,SAAA,CACA5U,KAAA41N,EAAAvrN,EAAAurN,EAAA/yN,SACSs9I,EAAA41E,gBACTpvG,QAAA,SAMA3kH,EAAAC,QAAAF,wBCjPA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErB24N,EAAsB34N,EAAQ,QAE9B4mR,EAAyB5mR,EAAQ,QAEjCsnQ,EAActnQ,EAAQ,QAEtBm+M,EAAiBn+M,EAAQ,QAEzBgsM,EAAWhsM,EAAQ,QAEnBg4N,EAAqBh4N,EAAQ,QAE7BA,EAAQ,QAqBR,IAAA+mb,EAAA/6O,EAAAN,QAAAO,SACA3jL,EAAA3nB,EAAA2nB,KAEA0+Z,EAAA,4BAEA,SAAAC,EAAAnia,EAAApJ,EAAAxV,IAKA/E,KAAAy3N,iBAAA,IAAAD,EAAAzyN,EAAA2sB,UAAA9b,GAAA,QAAApW,EAAAoJ,KAAA5I,KAAA03N,SAAA13N,OAAA23N,QAMA33N,KAAA+lb,cAGAD,EAAAhja,cAAA,CACAo5F,MAAA,EAEAizG,KAAA,CACAntG,KAAA,wDACA+oF,KAAA,6DAGAP,MAAAhrM,EAAA+V,MAAAqwa,EAAAp7O,QAEA,IAAArrK,EAAA2mZ,EAAA7lb,UAEAk/B,EAAA+zB,OAAA,SAAA8/O,EAAAz4R,EAAAxV,EAAAynB,GACAxsB,KAAA2jB,MAAAqvR,EACAhzS,KAAAua,UACAva,KAAA+E,MACAihb,EAAAhzI,EAAAz4R,EAAAva,KAAAwsB,EAAAznB,GACAkhb,EAAAjzI,EAAAz4R,IAGA4kB,EAAAgtF,QAAA,SAAA5xG,EAAAxV,EAAA5E,GACAyzF,EAAAzzF,GAAAJ,KAAAC,OAGAm/B,EAAA3yB,OAAA,SAAA+N,EAAAxV,GACA/E,KAAAy3N,iBAAAke,WAGAx2M,EAAArpB,QAAA,SAAAyE,EAAAxV,GACA/E,KAAAy3N,iBAAA3hN,WAOA,IAAA89E,EAAA,CACAouB,KAAA,WACA,IAAAkkU,GAAAlmb,KAAA+lb,cACA/lb,KAAA+E,IAAAqoG,eAAA,CACAjtG,KAAA,mBACA8K,IAAA,iBACAk7a,qBAAAD,KAGAn7O,KAAA,WACA/qM,KAAAq6R,oBAAAl0B,EAAA95O,IAAArsB,KAAAua,YA0FA,SAAA6ra,EAAAjja,GACA,IAAAxK,EAAA,GAOA,OALAnZ,EAAA2nB,KAAA,qCAAA7Y,GACAqK,EAAArK,GAAA6U,EAAA7U,GACA,MAAAqK,EAAArK,KAAAqK,EAAArK,GAAA,SACA,IAAAqK,EAAArK,IAAA,SAAAqK,EAAArK,MAAAqK,EAAArK,GAAA,MAEAqK,EAGA,SAAAsta,EAAAjzI,EAAAz4R,GACAy4R,EAAAI,cAAA,OAAAjtC,EAAAxsP,MAAAY,GAAA,uBAGA,SAAAyra,EAAAhzI,EAAAz4R,EAAA28E,EAAA1qE,EAAAznB,GACA,IAAAshb,EAAAnvV,EAAA6uV,cAEAv5Z,GAAA,qBAAAA,EAAArsB,OACAkmb,EAAA,mBAAA75Z,EAAAvhB,KAAAuhB,EAAA25Z,sBAGAjvV,EAAA6uV,cAAAM,EACArzI,EAAAI,cAAA,OAAAizI,EAAA,qBACA,IAAAruN,EAAA,IAAAytD,EAAA2gK,EAAApzI,EAAA7vR,QAAA5I,EAAA,CACAm1Q,QAAA,WAGAx4L,EAAAugI,iBAAAY,UAAAL,EAAAM,cAAAvzN,EAAA,SAAAkoH,GACA,OAAAA,EAAAwkK,gBAAAxkK,EAAAykK,cAAA,SAAAzkK,EAAAwkK,eAAAxkK,EAAAykK,cAAA,kBACGn5D,cAAA8tN,GAAA,CACHj2M,UAAA,OACAhB,WAAA,CAEA3+N,UAAA,EACA/P,KAAA,qBAtHAy+B,EAAAu4L,SAAA,SAAAI,EAAA1iN,GACA,GAAAA,EAAAurM,OAAAmX,EAAAv0N,OAAA,CAIA,IAAAsoB,EAAA,GACAtR,EAAAva,KAAAua,QAEAva,KAAAy3N,iBAAAgB,aAAA,IAGA,IAAAT,EAAA,IAAAytD,EAAA2gK,EAAApmb,KAAA2jB,MAAAR,QAAA5I,EAAA,CACAm1Q,QAAA,WAEA13D,EAAA63D,kBAAA/3D,EAAAv9M,EAAA,SAAAmoJ,EAAAotH,EAAA7qR,GACA,mBAAAA,EAAA9E,KAAA,CAIA,IAAAiwO,EAAA1tE,EAAA0tE,UAEA,SAAAA,GACAk2M,EAAA,IAAArhb,EAAA6qR,EAAA,IACAw2J,EAAA,IAAArhb,EAAA6qR,EAAA,KAEAw2J,EAAA,CACA77O,MAAA,IACAC,MAAA,KACO0lC,GAAAnrO,EAAA6qR,MAGP3pB,EAAAxzP,KAAA4H,EAAAsR,GAEA7rB,KAAAq6R,oBAAAxuQ,GAEA,SAAAy6Z,EAAA5tW,EAAAzzE,EAAAujR,GACA,IAAAxjR,EAAAC,EAAAg3I,QAAAvjE,GACA7zE,EAAAG,EAAA2e,MACAmI,EAAAy6Z,EAAA7tW,EAAA7zE,EAAA0V,GAEAq+Q,EAAA9sQ,EAAA+sQ,4BAAAh0R,GAAAi0R,gBAEA,MAAAF,EAAAo7G,cAAA,MAAAp7G,EAAAq7G,eACAzrH,EAAAxrE,EAAA,EAAAwrE,EAAAtpP,QAAAl6B,EAAA+S,MAAAiD,YAAA,EAAA49Q,EAAAo7G,aAAAp7G,EAAAq7G,eAGAnoX,IAAAD,EAAAC,EAAAG,IAAA,CACAL,WAAAE,EAAAG,GACA6nX,WAAAtrH,EAAA,GACAurH,SAAAvrH,EAAA,KAIA,SAAA+9J,EAAA7tW,EAAA7zE,EAAA0V,GACA,IAAA43D,EAQA,OAPA53D,EAAA8kG,cAAA,CACArzF,SAAA,WACA7H,QAAA,UACK,SAAAqia,GACL,IAAA3yV,EAAA2yV,EAAA9sJ,aAAAhhN,EAAA7zE,EAAAye,gBACAuwE,IAAA1hB,EAAAq0W,KAEAr0W,IAQAhzC,EAAAk7P,oBAAA,SAAAxuQ,GACA,IAAAw4L,EAAA,GAEAl9L,EAAA0E,EAAA,SAAAF,EAAAC,GACAy4L,EAAA1xM,KAAAnT,EAAA+V,MAAAoW,MAEA04L,EAAA9gN,QAAAvD,KAAA+E,IAAAqoG,eAAA,CACAjtG,KAAA,WACAkoD,KAAAroD,KAAAgqB,IACAq6L,WA4CAwS,EAAA7+D,SAAA,WAAA8tR,GAGAlnb,EAAAU,qBAAA,SAAA6jB,GACA,GAAAA,EAAA,CAIA,IAAAsja,EAAAtja,EAAA2nL,WAAA3nL,EAAA2nL,SAAA,IAEAtrM,EAAAwJ,QAAAy9a,KACAtja,EAAA2nL,SAAA27O,EAAA,CAAAA,IAGA,IAAAvzL,EAAA/vO,EAAAonL,QAEA,GAAA2oD,IAEA1zP,EAAAwJ,QAAAkqP,KACAA,IAAA,IAGAA,KAAAn8B,SAAA,CACA,IAAA2vN,EAAAxzL,EAAAn8B,QAAAjsB,SAGA67O,EAAA,QAAAD,GACAC,EAAA,QAAAD,IAIA,SAAAC,EAAAh0L,EAAA+zL,GACA,GAAAA,EAAA,CAKA,IAAAE,EAAAj0L,EAAA,QACAk0L,EAAAH,EAAAE,GAEA,MAAAC,GAAA,QAAAA,GAAArnb,EAAAwJ,QAAA69a,KACAA,GAAA,IAAAA,GAAA,SAAAA,EAAA,IAAAA,IAGAC,EAAAn0L,EAAA,SAAAt9G,EAAAinH,GACA,SAAAuqL,GAAA,QAAAA,IAAA,IAAArnb,EAAA4rC,QAAAy7Y,EAAAvqL,GAAA,CAIA,IAAA11E,EAAA,CACAzmL,KAAA,SACA4mb,cAAA,EAEA96Z,GAAA45Z,EAAAlzL,EAAA2J,GAIA11E,EAAAggQ,GAAAtqL,EACAmqL,EAAA9za,KAAAi0K,OAIA,SAAAkgQ,EAAA96Z,EAAA+J,GACA,IAAAj2B,EAAAqjB,EAAA6I,GAEAxsB,EAAAwJ,QAAAlJ,KACAA,IAAA,CAAAA,GAAA,IAGAqnB,EAAArnB,EAAAi2B,MAGA,IAAAtzB,EAAAqjb,EACApjb,EAAAC,QAAAF,wBCjTA,IAAA7D,EAAcC,EAAQ,QAEtByoF,EAAazoF,EAAQ,QAwBrB8/X,EAAA,qBACA//X,EAAA0tB,eAAA,CACAnsB,KAAAw+X,EACApyW,OAAA,cACC,SAAAC,EAAAjS,GAOD,SAAAw0Q,EAAAprQ,EAAA9f,GACA,IAAAopH,EAAA3lC,EAAAq9J,mBAAAn4N,EAAA,CAAAmyW,GAAAh7W,GAEA,GAAAspG,EAAA,CACA,IAAA+hK,EAAArrQ,EAAAuiL,cAEA8oF,IACAxiQ,EAAA+nE,UAAAjN,EAAAqxK,cAAAq2B,EAAA/hK,EAAA5vG,MAAA,sBAGAsG,EAAAmhQ,cAAA73J,EAAA5vG,OAhBA9C,EAAA8kG,cAAA,CACArzF,SAAA,SACA7H,QAAA,WACA6xH,MAAAxpH,GACGuiQ,KAgBH,IAAAi4J,EAAA,oBACApob,EAAA0tB,eAAA,CACAnsB,KAAA6mb,EACAz6Z,OAAA,cACC,SAAAC,EAAAjS,GAOD,SAAA0sa,EAAAtja,EAAA9f,GACA,IAAAopH,EAAA3lC,EAAAq9J,mBAAAn4N,EAAA,CAAAw6Z,GAAArja,GAEAspG,IACAzgG,EAAAg3E,UAAAypB,EAAA5vG,MAVA9C,EAAA8kG,cAAA,CACArzF,SAAA,SACA7H,QAAA,WACA6xH,MAAAxpH,GACGy6Z,KAUH,IAAAC,EAAA,sBACAtob,EAAA0tB,eAAA,CACAnsB,KAAA+mb,EACA36Z,OAAA,cACC,SAAAC,EAAAjS,GAOD,SAAA4sa,EAAAxja,EAAA9f,GACA2oB,EAAAyyW,aAAA,EAPA1kX,EAAA8kG,cAAA,CACArzF,SAAA,SACA7H,QAAA,WACA6xH,MAAAxpH,GACG26Z,2BCnGH,IAAA3ra,EAAW3c,EAAQ,QAEnB+xD,EAAa/xD,EAAQ,QAKrBg3G,EAAAr6F,EAAAnC,eACAihF,EAAA5zF,KAAAQ,IACAqzF,EAAA7zF,KAAAS,IAKA,SAAAsG,EAAAzL,EAAAC,EAAAK,EAAAC,GACAD,EAAA,IACAN,GAAAM,EACAA,MAGAC,EAAA,IACAN,GAAAM,EACAA,MAOAvC,KAAAgC,IAKAhC,KAAAiC,IAKAjC,KAAAsC,QAKAtC,KAAAuC,SAGAkL,EAAAxN,UAAA,CACAC,YAAAuN,EAKA0mD,MAAA,SAAA2hD,GACA,IAAA9zG,EAAAs4F,EAAAwb,EAAA9zG,EAAAhC,KAAAgC,GACAC,EAAAq4F,EAAAwb,EAAA7zG,EAAAjC,KAAAiC,GACAjC,KAAAsC,MAAAi4F,EAAAub,EAAA9zG,EAAA8zG,EAAAxzG,MAAAtC,KAAAgC,EAAAhC,KAAAsC,OAAAN,EACAhC,KAAAuC,OAAAg4F,EAAAub,EAAA7zG,EAAA6zG,EAAAvzG,OAAAvC,KAAAiC,EAAAjC,KAAAuC,QAAAN,EACAjC,KAAAgC,IACAhC,KAAAiC,KAOAoX,eAAA,WACA,IAAA08F,EAAA,GACAC,EAAA,GACAC,EAAA,GACAC,EAAA,GACA,gBAAA3oF,GAIA,GAAAA,EAAA,CAIAwoF,EAAA,GAAAE,EAAA,GAAAj2G,KAAAgC,EACA+zG,EAAA,GAAAG,EAAA,GAAAl2G,KAAAiC,EACA+zG,EAAA,GAAAE,EAAA,GAAAl2G,KAAAgC,EAAAhC,KAAAsC,MACA0zG,EAAA,GAAAC,EAAA,GAAAj2G,KAAAiC,EAAAjC,KAAAuC,OACAszG,EAAAE,IAAAxoF,GACAsoF,EAAAG,IAAAzoF,GACAsoF,EAAAI,IAAA1oF,GACAsoF,EAAAK,IAAA3oF,GACAvtB,KAAAgC,EAAAs4F,EAAAyb,EAAA,GAAAC,EAAA,GAAAC,EAAA,GAAAC,EAAA,IACAl2G,KAAAiC,EAAAq4F,EAAAyb,EAAA,GAAAC,EAAA,GAAAC,EAAA,GAAAC,EAAA,IACA,IAAAC,EAAA5b,EAAAwb,EAAA,GAAAC,EAAA,GAAAC,EAAA,GAAAC,EAAA,IACAE,EAAA7b,EAAAwb,EAAA,GAAAC,EAAA,GAAAC,EAAA,GAAAC,EAAA,IACAl2G,KAAAsC,MAAA6zG,EAAAn2G,KAAAgC,EACAhC,KAAAuC,OAAA6zG,EAAAp2G,KAAAiC,IA1BA,GAmCA4e,mBAAA,SAAArY,GACA,IAAAD,EAAAvI,KACAgxC,EAAAxoC,EAAAlG,MAAAiG,EAAAjG,MACA2uC,EAAAzoC,EAAAjG,OAAAgG,EAAAhG,OACAgrB,EAAAqjC,EAAA9hB,SAKA,OAHA8hB,EAAAjgB,UAAApjB,IAAA,EAAAhlB,EAAAvG,GAAAuG,EAAAtG,IACA2uD,EAAA74C,MAAAwV,IAAA,CAAAyjB,EAAAC,IACA2f,EAAAjgB,UAAApjB,IAAA,CAAA/kB,EAAAxG,EAAAwG,EAAAvG,IACAsrB,GAOA8oF,UAAA,SAAA7tG,GACA,IAAAA,EACA,SAGAA,aAAAiF,IAEAjF,EAAAiF,EAAAqhC,OAAAtmC,IAGA,IAAAD,EAAAvI,KACAs2G,EAAA/tG,EAAAvG,EACAu0G,EAAAhuG,EAAAvG,EAAAuG,EAAAjG,MACAk0G,EAAAjuG,EAAAtG,EACAw0G,EAAAluG,EAAAtG,EAAAsG,EAAAhG,OACAm0G,EAAAluG,EAAAxG,EACA20G,EAAAnuG,EAAAxG,EAAAwG,EAAAlG,MACAs0G,EAAApuG,EAAAvG,EACA40G,EAAAruG,EAAAvG,EAAAuG,EAAAjG,OACA,QAAAg0G,EAAAG,GAAAC,EAAAL,GAAAG,EAAAG,GAAAC,EAAAL,IAEAl2F,QAAA,SAAAte,EAAAC,GACA,IAAAR,EAAAzB,KACA,OAAAgC,GAAAP,EAAAO,MAAAP,EAAAO,EAAAP,EAAAa,OAAAL,GAAAR,EAAAQ,MAAAR,EAAAQ,EAAAR,EAAAc,QAMAgT,MAAA,WACA,WAAA9H,EAAAzN,KAAAgC,EAAAhC,KAAAiC,EAAAjC,KAAAsC,MAAAtC,KAAAuC,SAMA6W,KAAA,SAAA08F,GACA91G,KAAAgC,EAAA8zG,EAAA9zG,EACAhC,KAAAiC,EAAA6zG,EAAA7zG,EACAjC,KAAAsC,MAAAwzG,EAAAxzG,MACAtC,KAAAuC,OAAAuzG,EAAAvzG,QAEAu0G,MAAA,WACA,OACA90G,EAAAhC,KAAAgC,EACAC,EAAAjC,KAAAiC,EACAK,MAAAtC,KAAAsC,MACAC,OAAAvC,KAAAuC,UAaAkL,EAAAqhC,OAAA,SAAArtC,GACA,WAAAgM,EAAAhM,EAAAO,EAAAP,EAAAQ,EAAAR,EAAAa,MAAAb,EAAAc,SAGA,IAAAE,EAAAgL,EACA/K,EAAAC,QAAAF,qCCpLA,IAAA6I,EAAYzM,EAAQ,QACpBuob,EAAavob,EAAQ,QACrBwob,EAAexob,EAAQ,QACvByob,EAAmBzob,EAAQ,QAC3B0ob,EAAsB1ob,EAAQ,QAC9Bm+Z,EAAkBn+Z,EAAQ,QAE1B6D,EAAAC,QAAA,SAAAq3L,GACA,WAAAyrB,QAAA,SAAAC,EAAAupD,GACA,IAAAu4K,EAAAxtP,EAAAzuL,KACAk8a,EAAAztP,EAAAxuL,QAEAF,EAAAnC,WAAAq+a,WACAC,EAAA,gBAGA,IAAAv7X,EAAA,IAAAiiE,eAGA,GAAA6rE,EAAA0tP,KAAA,CACA,IAAAC,EAAA3tP,EAAA0tP,KAAAC,UAAA,GACAC,EAAA5tP,EAAA0tP,KAAAE,UAAA,GACAH,EAAAI,cAAA,SAAAC,KAAAH,EAAA,IAAAC,GA8DA,GA3DA17X,EAAAkiE,KAAA4rE,EAAA7zC,OAAAvmH,cAAAynZ,EAAArtP,EAAA18F,IAAA08F,EAAAh1K,OAAAg1K,EAAA4lM,mBAAA,GAGA1zU,EAAA4oN,QAAA96E,EAAA86E,QAGA5oN,EAAA67X,mBAAA,WACA,GAAA77X,GAAA,IAAAA,EAAA+oN,aAQA,IAAA/oN,EAAAyL,QAAAzL,EAAA87X,aAAA,IAAA97X,EAAA87X,YAAA58Y,QAAA,WAKA,IAAA68Y,EAAA,0BAAA/7X,EAAAo7X,EAAAp7X,EAAAg8X,yBAAA,KACAC,EAAAnuP,EAAAz8F,cAAA,SAAAy8F,EAAAz8F,aAAArxC,EAAAuiE,SAAAviE,EAAAk8X,aACA35T,EAAA,CACAljH,KAAA48a,EACAxwX,OAAAzL,EAAAyL,OACA0wX,WAAAn8X,EAAAm8X,WACA78a,QAAAy8a,EACAjuP,SACA9tI,WAGAk7X,EAAA1hO,EAAAupD,EAAAxgJ,GAGAviE,EAAA,OAIAA,EAAAvkB,QAAA,WAGAsnO,EAAA+tJ,EAAA,gBAAAhjO,EAAA,KAAA9tI,IAGAA,EAAA,MAIAA,EAAAo8X,UAAA,WACAr5K,EAAA+tJ,EAAA,cAAAhjO,EAAA86E,QAAA,cAAA96E,EAAA,eACA9tI,IAGAA,EAAA,MAMA5gD,EAAAd,uBAAA,CACA,IAAA+9a,EAAoB1pb,EAAQ,QAG5B2pb,GAAAxuP,EAAAyuP,iBAAAlB,EAAAvtP,EAAA18F,OAAA08F,EAAAmxM,eACAo9C,EAAAt9H,KAAAjxH,EAAAmxM,qBACA7iY,EAEAkgb,IACAf,EAAAztP,EAAAoxM,gBAAAo9C,GAuBA,GAlBA,qBAAAt8X,GACA5gD,EAAAT,QAAA48a,EAAA,SAAAx+a,EAAAgC,GACA,qBAAAu8a,GAAA,iBAAAv8a,EAAAyuH,qBAEA+tT,EAAAx8a,GAGAihD,EAAAw8X,iBAAAz9a,EAAAhC,KAMA+wL,EAAAyuP,kBACAv8X,EAAAu8X,iBAAA,GAIAzuP,EAAAz8F,aACA,IACArxC,EAAAqxC,aAAAy8F,EAAAz8F,aACO,MAAApnF,GAGP,YAAA6jL,EAAAz8F,aACA,MAAApnF,EAMA,oBAAA6jL,EAAA2uP,oBACAz8X,EAAA2xB,iBAAA,WAAAm8G,EAAA2uP,oBAIA,oBAAA3uP,EAAA4uP,kBAAA18X,EAAAupN,QACAvpN,EAAAupN,OAAA53L,iBAAA,WAAAm8G,EAAA4uP,kBAGA5uP,EAAAi7L,aAEAj7L,EAAAi7L,YAAAzvK,QAAAI,KAAA,SAAAzN,GACAjsJ,IAIAA,EAAAulN,QACAxC,EAAA92D,GAEAjsJ,EAAA,aAIA5jD,IAAAk/a,IACAA,EAAA,MAIAt7X,EAAAwiE,KAAA84T,0BClHA,SAAAr7E,EAAAF,EAAAj1V,EAAAC,GACA,IAAAZ,EAAA41V,EAAA51V,OACAyqF,EAAAzqF,EAAA/P,SACAw6F,EAAA,IAAA9pF,EACA8pF,EAAA,IAAA7pF,EACAZ,EAAAsO,QAYA,SAAAynV,EAAAH,EAAA48E,EAAAC,EAAAC,GACA,IAAA1ya,EAAA41V,EAAA51V,OACAsyQ,EAAAsjF,EAAAtjF,UACA7nL,EAAAzqF,EAAA/P,SACAyR,EAAA1B,EAAA0B,MACA0lL,EAAAwuK,EAAAjqP,KAAAiqP,EAAAjqP,MAAA,EAGA,GAFAy7E,GAAAorP,EAEAlgK,EAAA,CACA,IAAAE,EAAAF,EAAAzhR,KAAA,EACA4hR,EAAAH,EAAAxhR,KAAA2S,IACA2jL,EAAA/2L,KAAAS,IAAAT,KAAAQ,IAAA4hR,EAAArrF,GAAAorF,GAGA,IAAAxhG,EAAAoW,EAAAwuK,EAAAjqP,KACAiqP,EAAAjqP,KAAAy7E,EAEA38F,EAAA,KAAAgoV,EAAAhoV,EAAA,KAAAumF,EAAA,GACAvmF,EAAA,KAAAioV,EAAAjoV,EAAA,KAAAumF,EAAA,GACAtvK,EAAA,IAAAsvK,EACAtvK,EAAA,IAAAsvK,EACAhxK,EAAAsO,QAGAhiB,EAAAwpW,kBACAxpW,EAAAypW,yCCnEA,IAAApzJ,EAAYn6M,EAAQ,QAEpB+qZ,EAAoB/qZ,EAAQ,QAE5BqqX,EAAgBrqX,EAAQ,QAoBxBqiB,EAAA,WAKAlhB,KAAAylE,MAAA,IAAAuzI,EAMAh5M,KAAAgqB,IAAA4/X,EAAAj6L,OAAA,kBAGAzuM,EAAAjhB,UAAA,CACAC,YAAAghB,EACAgC,KAAA,SAAA3I,EAAAxV,KACAmuD,OAAA,SAAA+a,EAAA1zD,EAAAxV,EAAAynB,KACA1W,QAAA,aASAwgM,sBAAA,MAEA,IAAA0yO,EAAA9na,EAAAjhB,UAEA+ob,EAAAz7U,WAAAy7U,EAAA17U,aAAA07U,EAAAxmC,aAAA,SAAAloY,EAAAC,EAAAxV,EAAAynB,KAIA08V,EAAAz6L,kBAAAvtK,GAEAgoW,EAAAj6L,sBAAA/tK,EAAA,CACA2uK,oBAAA,IAEA,IAAAptL,EAAAye,EACAxe,EAAAC,QAAAF,wBCjEA,IAAAmgB,EAAkB/jB,EAAQ,QAE1BgxM,EAA0BhxM,EAAQ,QAElCi6N,EAAuBj6N,EAAQ,QAoB/B4D,EAAAmgB,EAAAle,OAAA,CACAvE,KAAA,iBACA0jB,eAAA,SAAAV,EAAA5I,GACA,OAAAs1L,EAAA7vM,KAAAuiB,YAAAviB,KAAA,CACAy8O,cAAA,WAGA1zN,mBAAA,WACA,IAAAk+X,EAAAnuL,EAAArzN,IAAAzF,KAAAyF,IAAA,qBAEA,GAAAwhZ,KAAAxuU,WACA,cAAAwuU,EAAAxuU,WAAA,YAAAwuU,EAAAxuU,WAAA,IAGA31D,cAAA,CAEA5d,iBAAA,cACAi3G,OAAA,EACAh/E,EAAA,EAKAm0Q,SAAA,EACAzyI,SAAA,GACAixI,UAAA,GACAC,WAAA,EACAC,WAAA,KAIAttS,EAAAC,QAAAF,wBCvDA,IAAAjD,EAAaX,EAAQ,QA0BrB,SAAA8mJ,EAAArqI,GACA,OAAAtb,KAAA66I,MAAAv/H,GAQA,IAAAsqI,EAAA,SAAAt3I,GACAtO,KAAA66I,MAAA,GACA76I,KAAA6lJ,SAAA,GAKA7lJ,KAAAsO,QAAA,IAGAs3I,EAAA3lJ,UAAA,CACAC,YAAA0lJ,EACAzlJ,KAAA,YAOA87I,QAAA,SAAA3gI,GACA,OAAAtb,KAAA66I,MAAAv/H,IAOAwqI,QAAA,WACA,OAAAtmJ,EAAA4N,IAAApN,KAAA6lJ,SAAAF,EAAA3lJ,OAMA+lJ,eAAA,SAAAC,GAEA,OADAA,IAAAtsB,cACAl6H,EAAAqoD,OAAA7nD,KAAA8lJ,UAAA,SAAA9gJ,GACA,OAAAA,EAAA+S,MAAA5X,OAAA6lJ,KAQAjB,QAAA,SAAA//I,GACA,IAAAsW,EAAAtW,EAAAsW,IACAtb,KAAA66I,MAAAv/H,GAAAtW,EAEAhF,KAAA6lJ,SAAAlzI,KAAA2I,IAQA8lG,YAAA,SAAAn4G,GACA,OAAAjJ,KAAAimJ,kBAAAh9I,EAAA,gBAQAy8I,YAAA,SAAAz8I,GACA,OAAAjJ,KAAAimJ,kBAAAh9I,EAAA,gBAEAg9I,kBAAA,SAAAC,EAAAC,GAIA,IAHA,IAAAC,EAAApmJ,KAAA6lJ,SACAt5B,EAAA25B,aAAA1oI,MAAA,MAEAzS,EAAA,EAAmBA,EAAAq7I,EAAA7iJ,OAAoBwH,IAAA,CACvC,IAAAuQ,EAAA8qI,EAAAr7I,GACA/F,EAAAhF,KAAA66I,MAAAv/H,GACAixG,EAAAjxG,GAAAtW,EAAAmhJ,GAAAD,EAAA5qI,IAGA,OAAAixG,IAGA,IAAA9pH,EAAAmjJ,EACAljJ,EAAAC,QAAAF,sBCzIAC,EAAAC,QAAA,SAAA4K,GACA,QAAAjF,GAAAiF,EAAA,MAAAzJ,UAAA,yBAAAyJ,GACA,OAAAA,yBCiBA,IAAAI,EAAY9O,EAAQ,QAEpBsoB,EAAAxZ,EAAAwZ,KAEAmtS,EAA0Bz1T,EAAQ,QAElC01T,EAAAD,EAAAC,aACAqnF,EAAAtnF,EAAAsnF,iBAoBA,SAAAn5Y,EAAA8X,EAAAxV,GACAwV,EAAA+kG,iBAAA,iBAAAhlG,GACA,IAAArU,EAAAqU,EAAA7U,IAAA,UACAR,EAAAqV,EAAApV,iBAEA,GAAAD,GAAA,SAAAA,EAAA9E,KAAA,CACA,IAAAoL,EAAA+O,EAAAE,UACAi+D,EAAA,GACAtxD,EAAAliB,EAAAwzE,WAAA,SAAAhwD,GACAgwD,IAAA/uB,OAAAn+C,EAAA8P,aAAAoN,GAAA,MAGA,QAAAhD,EAAA,EAA6BA,EAAAla,EAAAoO,QAA0B8L,IAAA,CAIvD,IAHA,IAAAxhB,EAAA,GACA6gF,GAAA,EAEA/5E,EAAA,EAAuBA,EAAA0tE,EAAAl1E,OAAuBwH,IAAA,CAC9C,IAAA9B,EAAAsC,EAAA9F,IAAAgzE,EAAA1tE,GAAA0a,GAEA7L,MAAA3Q,KACA67E,GAAA,GAGA7gF,EAAA0O,KAAA1J,GAGA67E,EACAv5E,EAAAkoK,cAAAhuJ,EAAAxgB,EAAAM,YAAAtB,IAGAsH,EAAAkoK,cAAAhuJ,EAAA,CAAA5L,UAIA+hY,EAAArwY,EAAAuR,YACK7W,GAAA,SAAAA,GACLsuT,EAAAj6S,KAKA5X,EAAAC,QAAAF,sBCnFA,IAAAs5B,EAAA,CAKA+2G,OAAA,SAAApyH,GACA,OAAAA,GAOAqyH,YAAA,SAAAryH,GACA,OAAAA,KAOAsyH,aAAA,SAAAtyH,GACA,OAAAA,GAAA,EAAAA,IAOAuyH,eAAA,SAAAvyH,GACA,OAAAA,GAAA,KACA,GAAAA,KAGA,MAAAA,KAAA,OAQAwyH,QAAA,SAAAxyH,GACA,OAAAA,OAOAyyH,SAAA,SAAAzyH,GACA,QAAAA,MAAA,GAOA0yH,WAAA,SAAA1yH,GACA,OAAAA,GAAA,KACA,GAAAA,MAGA,KAAAA,GAAA,GAAAA,IAAA,IAQA2yH,UAAA,SAAA3yH,GACA,OAAAA,SAOA4yH,WAAA,SAAA5yH,GACA,YAAAA,SAOA6yH,aAAA,SAAA7yH,GACA,OAAAA,GAAA,KACA,GAAAA,SAGA,KAAAA,GAAA,GAAAA,MAAA,IAQA8yH,UAAA,SAAA9yH,GACA,OAAAA,WAOA+yH,WAAA,SAAA/yH,GACA,QAAAA,UAAA,GAOAgzH,aAAA,SAAAhzH,GACA,OAAAA,GAAA,KACA,GAAAA,UAGA,KAAAA,GAAA,GAAAA,QAAA,IAQAizH,aAAA,SAAAjzH,GACA,SAAAha,KAAAwY,IAAAwB,EAAAha,KAAAC,GAAA,IAOAitI,cAAA,SAAAlzH,GACA,OAAAha,KAAA0Y,IAAAsB,EAAAha,KAAAC,GAAA,IAOAktI,gBAAA,SAAAnzH,GACA,YAAAha,KAAAwY,IAAAxY,KAAAC,GAAA+Z,KAQAozH,cAAA,SAAApzH,GACA,WAAAA,EAAA,EAAAha,KAAA2uB,IAAA,KAAA3U,EAAA,IAOAqzH,eAAA,SAAArzH,GACA,WAAAA,EAAA,IAAAha,KAAA2uB,IAAA,MAAA3U,IAOAszH,iBAAA,SAAAtzH,GACA,WAAAA,EACA,EAGA,IAAAA,EACA,GAGAA,GAAA,KACA,GAAAha,KAAA2uB,IAAA,KAAA3U,EAAA,GAGA,MAAAha,KAAA2uB,IAAA,OAAA3U,EAAA,MAQAuzH,WAAA,SAAAvzH,GACA,SAAAha,KAAAk+C,KAAA,EAAAlkC,MAOAwzH,YAAA,SAAAxzH,GACA,OAAAha,KAAAk+C,KAAA,KAAAlkC,MAOAyzH,cAAA,SAAAzzH,GACA,OAAAA,GAAA,MACA,IAAAha,KAAAk+C,KAAA,EAAAlkC,KAAA,GAGA,IAAAha,KAAAk+C,KAAA,GAAAlkC,GAAA,GAAAA,GAAA,IAQA0zH,UAAA,SAAA1zH,GACA,IAAAuN,EACA1lB,EAAA,GACAuY,EAAA,GAEA,WAAAJ,EACA,EAGA,IAAAA,EACA,IAGAnY,KAAA,GACAA,EAAA,EACA0lB,EAAAnN,EAAA,GAEAmN,EAAAnN,EAAApa,KAAA64B,KAAA,EAAAh3B,IAAA,EAAA7B,KAAAC,KAGA4B,EAAA7B,KAAA2uB,IAAA,MAAA3U,GAAA,IAAAha,KAAA0Y,KAAAsB,EAAAuN,IAAA,EAAAvnB,KAAAC,IAAAma,KAOAuzH,WAAA,SAAA3zH,GACA,IAAAuN,EACA1lB,EAAA,GACAuY,EAAA,GAEA,WAAAJ,EACA,EAGA,IAAAA,EACA,IAGAnY,KAAA,GACAA,EAAA,EACA0lB,EAAAnN,EAAA,GAEAmN,EAAAnN,EAAApa,KAAA64B,KAAA,EAAAh3B,IAAA,EAAA7B,KAAAC,IAGA4B,EAAA7B,KAAA2uB,IAAA,MAAA3U,GAAAha,KAAA0Y,KAAAsB,EAAAuN,IAAA,EAAAvnB,KAAAC,IAAAma,GAAA,IAOAwzH,aAAA,SAAA5zH,GACA,IAAAuN,EACA1lB,EAAA,GACAuY,EAAA,GAEA,WAAAJ,EACA,EAGA,IAAAA,EACA,IAGAnY,KAAA,GACAA,EAAA,EACA0lB,EAAAnN,EAAA,GAEAmN,EAAAnN,EAAApa,KAAA64B,KAAA,EAAAh3B,IAAA,EAAA7B,KAAAC,KAGA+Z,GAAA,KACAnY,EAAA7B,KAAA2uB,IAAA,MAAA3U,GAAA,IAAAha,KAAA0Y,KAAAsB,EAAAuN,IAAA,EAAAvnB,KAAAC,IAAAma,IAAA,GAGAvY,EAAA7B,KAAA2uB,IAAA,OAAA3U,GAAA,IAAAha,KAAA0Y,KAAAsB,EAAAuN,IAAA,EAAAvnB,KAAAC,IAAAma,GAAA,OAQAyzH,OAAA,SAAA7zH,GACA,IAAAuN,EAAA,QACA,OAAAvN,MAAAuN,EAAA,GAAAvN,EAAAuN,IAOAumH,QAAA,SAAA9zH,GACA,IAAAuN,EAAA,QACA,QAAAvN,MAAAuN,EAAA,GAAAvN,EAAAuN,GAAA,GAOAwmH,UAAA,SAAA/zH,GACA,IAAAuN,EAAA,UAEA,OAAAvN,GAAA,KACAA,MAAAuN,EAAA,GAAAvN,EAAAuN,GAAA,GAGA,KAAAvN,GAAA,GAAAA,IAAAuN,EAAA,GAAAvN,EAAAuN,GAAA,IAQAymH,SAAA,SAAAh0H,GACA,SAAAqb,EAAA44G,UAAA,EAAAj0H,IAOAi0H,UAAA,SAAAj0H,GACA,OAAAA,EAAA,OACA,OAAAA,IACKA,EAAA,OACL,QAAAA,GAAA,UAAAA,EAAA,IACKA,EAAA,SACL,QAAAA,GAAA,WAAAA,EAAA,MAEA,QAAAA,GAAA,YAAAA,EAAA,SAQAk0H,YAAA,SAAAl0H,GACA,OAAAA,EAAA,GACA,GAAAqb,EAAA24G,SAAA,EAAAh0H,GAGA,GAAAqb,EAAA44G,UAAA,EAAAj0H,EAAA,QAGAje,EAAAs5B,EACAr5B,EAAAC,QAAAF,wBCzXA,IAAA00T,EAAet4T,EAAQ,QACvB6D,EAAAC,QAAA,SAAA0T,EAAA6gB,EAAAq1R,GACA,QAAAthT,KAAAisB,EAAAigS,EAAA9gT,EAAApL,EAAAisB,EAAAjsB,GAAAshT,GACA,OAAAl2S,yBCiBA,IAAAzX,EAAcC,EAAQ,QAEtBmrR,EAAmBnrR,EAAQ,QAE3BA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAwBRD,EAAAU,qBAAA0qR,yBCpCA,IAAA/jR,EAAapH,EAAQ,QAErBW,EAAaX,EAAQ,QAErBs8I,EAAat8I,EAAQ,QAErB4yT,EAAAt2K,EAAAs2K,UAEArwS,EAAcviB,EAAQ,QAEtBuiB,EAAAC,QAyBA,SAAA5e,EAAA8X,EAAAxV,EAAAynB,GACAjS,EAAA+kG,iBAAA,kBAAAhlG,GACA,IAAA0zX,EAAA1zX,EAAA7U,IAAA,aACAwoY,EAAA3zX,EAAA7U,IAAA,WACAO,EAAAmkN,EAAA7vM,EAAAvV,GACAuV,EAAAtU,aACA,IAAA1D,EAAA0D,EAAA1D,MACAC,EAAAyD,EAAAzD,OACAua,EAAAxC,EAAAwtK,WACApyB,EAAA54I,EAAA44I,MACA8yB,EAAA1rK,EAAA0rK,MACAygQ,EAAAvzR,GACA,IAAAwzR,EAAA1pb,EAAAqoD,OAAA6tG,EAAA,SAAAr4I,GACA,WAAAA,EAAAQ,YAAA5Z,QAEAklb,EAAA,IAAAD,EAAA3lb,OAAA,EAAA+W,EAAA7U,IAAA,oBACAy8E,EAAA5nE,EAAA7U,IAAA,UACA2jb,EAAA1zR,EAAA8yB,EAAAwlN,EAAAC,EAAA3rY,EAAAC,EAAA4mb,EAAAjnW,KAYA,SAAAioI,EAAA7vM,EAAAvV,GACA,OAAAkB,EAAAq9E,cAAAhpE,EAAA2jG,qBAAA,CACA37G,MAAAyC,EAAAwJ,WACAhM,OAAAwC,EAAAu5D,cAIA,SAAA8qX,EAAA1zR,EAAA8yB,EAAAwlN,EAAAC,EAAA3rY,EAAAC,EAAA4mb,EAAAjnW,GACAmnW,EAAA3zR,EAAA8yB,EAAAwlN,EAAA1rY,EAAAC,EAAA2/E,GACAonW,EAAA5zR,EAAA8yB,EAAAjmL,EAAAD,EAAA2rY,EAAAk7C,EAAAjnW,GACAqnW,EAAA7zR,EAAAxzE,GASA,SAAA+mW,EAAAvzR,GACAl2J,EAAA2nB,KAAAuuI,EAAA,SAAAr4I,GACA,IAAA2sC,EAAAtwC,EAAA2D,EAAA+uK,SAAAo9P,GACAv/X,EAAAvwC,EAAA2D,EAAA8uK,QAAAq9P,GACAvlb,EAAAyC,KAAAS,IAAA6iD,EAAAC,GACA5sC,EAAAq2J,UAAA,CACAzvK,UACK,KAeL,SAAAolb,EAAA3zR,EAAA8yB,EAAAwlN,EAAA1rY,EAAAC,EAAA2/E,GAYA,IATA,IAAAunW,EAAA,GAEAC,EAAA,GAEAC,EAAA,GACA52R,EAAA,GACA/wJ,EAAA,EACAwxa,EAAA,EAEAzoa,EAAA,EAAiBA,EAAAy9K,EAAAjlL,OAAkBwH,IACnC0+a,EAAA1+a,GAAA,EAGA,IAAAA,EAAA,EAAaA,EAAA2qJ,EAAAnyJ,OAAkBwH,IAC/B2+a,EAAA3+a,GAAA2qJ,EAAA3qJ,GAAAohL,QAAA5oL,OAEA,IAAAmmb,EAAA3+a,IACA4+a,EAAAh3a,KAAA+iJ,EAAA3qJ,IAIA,MAAA4+a,EAAApmb,OAAA,CACA,QAAAoa,EAAA,EAAqBA,EAAAgsa,EAAApmb,OAA4Boa,IAAA,CACjD,IAAAN,EAAAssa,EAAAhsa,GAEA,aAAAukE,GACA7kE,EAAAq2J,UAAA,CACAzxK,EAAAD,IACS,GACTqb,EAAAq2J,UAAA,CACAz8J,GAAA+2X,IACS,KAET3wX,EAAAq2J,UAAA,CACA1xK,MACS,GACTqb,EAAAq2J,UAAA,CACA18J,GAAAg3X,IACS,IAGT,QAAA47C,EAAA,EAAwBA,EAAAvsa,EAAA+uK,SAAA7oL,OAA6Bqmb,IAAA,CACrD,IAAAlsa,EAAAL,EAAA+uK,SAAAw9P,GACAC,EAAArhQ,EAAAp9I,QAAA1tB,GACA+ra,EAAAI,GAAA,EACA,IAAAphM,EAAA/qO,EAAAS,MACA65K,EAAAtiC,EAAAtqH,QAAAq9M,GAEA,MAAAihM,EAAA1xP,IACAjlC,EAAApgJ,KAAA81O,MAKAzmP,EACA2nb,EAAA52R,EACAA,EAAA,GAGA,IAAAhoJ,EAAA,EAAaA,EAAA0+a,EAAAlmb,OAAwBwH,KAErC++a,EAAAp0R,EAAA1zJ,EAAAkgF,GAGAsxV,EADA,aAAAtxV,GACA3/E,EAAAyrY,IAAAhsY,EAAA,IAEAM,EAAA0rY,IAAAhsY,EAAA,GAGA+nb,EAAAr0R,EAAA89Q,EAAAtxV,GAYA,SAAA4nW,EAAAp0R,EAAA1zJ,EAAAkgF,GACA1iF,EAAA2nB,KAAAuuI,EAAA,SAAAr4I,GACAA,EAAA+uK,SAAA7oL,SACA,aAAA2+E,EACA7kE,EAAAq2J,UAAA,CACAzxK,EAAAD,EAAA,IACS,GAETqb,EAAAq2J,UAAA,CACA1xK,IAAA,IACS,MAaT,SAAA+nb,EAAAr0R,EAAA89Q,EAAAtxV,GACA1iF,EAAA2nB,KAAAuuI,EAAA,SAAAr4I,GACA,gBAAA6kE,EAAA,CACA,IAAA8nW,EAAA3sa,EAAAQ,YAAA5b,EAAAuxa,EACAn2Z,EAAAq2J,UAAA,CACAzxK,EAAA+nb,IACO,OACF,CACL,IAAAzvE,EAAAl9V,EAAAQ,YAAA7b,EAAAwxa,EACAn2Z,EAAAq2J,UAAA,CACA1xK,EAAAu4W,IACO,MAgBP,SAAA+uE,EAAA5zR,EAAA8yB,EAAAjmL,EAAAD,EAAA2rY,EAAAk7C,EAAAjnW,GACA,IAAA+nW,EAAAC,EAAAx0R,EAAAxzE,GACAioW,EAAAz0R,EAAAu0R,EAAAzhQ,EAAAjmL,EAAAD,EAAA2rY,EAAA/rT,GACAkoW,EAAAH,EAAAh8C,EAAA1rY,EAAAD,EAAA4/E,GAEA,QAAA5oD,EAAA,EAAqB6vZ,EAAA,EAAgBA,IAGrC7vZ,GAAA,IACA+wZ,EAAAJ,EAAA3wZ,EAAA4oD,GACAkoW,EAAAH,EAAAh8C,EAAA1rY,EAAAD,EAAA4/E,GACAooW,EAAAL,EAAA3wZ,EAAA4oD,GACAkoW,EAAAH,EAAAh8C,EAAA1rY,EAAAD,EAAA4/E,GAIA,SAAAgoW,EAAAx0R,EAAAxzE,GACA,IAAA+nW,EAAA,GACAM,EAAA,aAAAroW,EAAA,QACAmpK,EAAAomE,EAAA/7J,EAAA,SAAAr4I,GACA,OAAAA,EAAAQ,YAAA0sa,KAQA,OANAl/L,EAAAr1N,KAAAC,KAAA,SAAA1tB,EAAAC,GACA,OAAAD,EAAAC,IAEAhJ,EAAA2nB,KAAAkkO,EAAAr1N,KAAA,SAAA/qB,GACAg/a,EAAAt3a,KAAA04O,EAAA0mE,QAAAtsT,IAAAwF,MAEAg/a,EAcA,SAAAE,EAAAz0R,EAAAu0R,EAAAzhQ,EAAAjmL,EAAAD,EAAA2rY,EAAA/rT,GACA,IAAAsoW,EAAA,GACAhrb,EAAA2nB,KAAA8ia,EAAA,SAAAv0R,GACA,IAAA7nI,EAAA6nI,EAAAnyJ,OACAmW,EAAA,EACAuxN,EAAA,EACAzrO,EAAA2nB,KAAAuuI,EAAA,SAAAr4I,GACA3D,GAAA2D,EAAAQ,YAAA5Z,QAIAgnO,EADA,aAAA/oJ,GACA5/E,GAAAurB,EAAA,GAAAogX,GAAAv0X,GAEAnX,GAAAsrB,EAAA,GAAAogX,GAAAv0X,EAGA8wa,EAAA73a,KAAAs4N,KAEAu/M,EAAAv0Z,KAAA,SAAA1tB,EAAAC,GACA,OAAAD,EAAAC,IAEA,IAAAiib,EAAAD,EAAA,GACAhrb,EAAA2nB,KAAA8ia,EAAA,SAAAv0R,GACAl2J,EAAA2nB,KAAAuuI,EAAA,SAAAr4I,EAAAtS,GACA,IAAA2/a,EAAArta,EAAAQ,YAAA5Z,MAAAwmb,EAEA,aAAAvoW,GACA7kE,EAAAq2J,UAAA,CACA1xK,EAAA+I,IACS,GACTsS,EAAAq2J,UAAA,CACA18J,GAAA0za,IACS,KAETrta,EAAAq2J,UAAA,CACAzxK,EAAA8I,IACS,GACTsS,EAAAq2J,UAAA,CACAz8J,GAAAyza,IACS,QAITlrb,EAAA2nB,KAAAqhK,EAAA,SAAA9qK,GACA,IAAAita,GAAAjta,EAAAqwK,WAAA08P,EACA/sa,EAAAg2J,UAAA,CACAz8J,GAAA0za,IACK,KAaL,SAAAP,EAAAH,EAAAh8C,EAAA1rY,EAAAD,EAAA4/E,GACA1iF,EAAA2nB,KAAA8ia,EAAA,SAAAv0R,GACA,IAAAr4I,EACApG,EAGAlM,EAFA8wD,EAAA,EACAhuC,EAAA6nI,EAAAnyJ,OAGA,gBAAA2+E,EAAA,CACA,IAAAq4R,EAKA,IAJA7kN,EAAAz/H,KAAA,SAAA1tB,EAAAC,GACA,OAAAD,EAAAsV,YAAA7b,EAAAwG,EAAAqV,YAAA7b,IAGA+I,EAAA,EAAiBA,EAAA8iB,EAAO9iB,IACxBsS,EAAAq4I,EAAA3qJ,GACAkM,EAAA4kD,EAAAx+C,EAAAQ,YAAA7b,EAEAiV,EAAA,IACAsjW,EAAAl9V,EAAAQ,YAAA7b,EAAAiV,EACAoG,EAAAq2J,UAAA,CACA1xK,EAAAu4W,IACW,IAGX1+S,EAAAx+C,EAAAQ,YAAA7b,EAAAqb,EAAAQ,YAAA7G,GAAAi3X,EAMA,GAFAh3X,EAAA4kD,EAAAoyU,EAAA3rY,EAEA2U,EAAA,EAOA,IANAsjW,EAAAl9V,EAAAQ,YAAA7b,EAAAiV,EACAoG,EAAAq2J,UAAA,CACA1xK,EAAAu4W,IACS,GACT1+S,EAAA0+S,EAEAxvW,EAAA8iB,EAAA,EAAuB9iB,GAAA,IAAQA,EAC/BsS,EAAAq4I,EAAA3qJ,GACAkM,EAAAoG,EAAAQ,YAAA7b,EAAAqb,EAAAQ,YAAA7G,GAAAi3X,EAAApyU,EAEA5kD,EAAA,IACAsjW,EAAAl9V,EAAAQ,YAAA7b,EAAAiV,EACAoG,EAAAq2J,UAAA,CACA1xK,EAAAu4W,IACa,IAGb1+S,EAAAx+C,EAAAQ,YAAA7b,MAGK,CACL,IAAAgob,EAKA,IAJAt0R,EAAAz/H,KAAA,SAAA1tB,EAAAC,GACA,OAAAD,EAAAsV,YAAA5b,EAAAuG,EAAAqV,YAAA5b,IAGA8I,EAAA,EAAiBA,EAAA8iB,EAAO9iB,IACxBsS,EAAAq4I,EAAA3qJ,GACAkM,EAAA4kD,EAAAx+C,EAAAQ,YAAA5b,EAEAgV,EAAA,IACA+ya,EAAA3sa,EAAAQ,YAAA5b,EAAAgV,EACAoG,EAAAq2J,UAAA,CACAzxK,EAAA+nb,IACW,IAGXnuX,EAAAx+C,EAAAQ,YAAA5b,EAAAob,EAAAQ,YAAA5G,GAAAg3X,EAMA,GAFAh3X,EAAA4kD,EAAAoyU,EAAA1rY,EAEA0U,EAAA,EAOA,IANA+ya,EAAA3sa,EAAAQ,YAAA5b,EAAAgV,EACAoG,EAAAq2J,UAAA,CACAzxK,EAAA+nb,IACS,GACTnuX,EAAAmuX,EAEAj/a,EAAA8iB,EAAA,EAAuB9iB,GAAA,IAAQA,EAC/BsS,EAAAq4I,EAAA3qJ,GACAkM,EAAAoG,EAAAQ,YAAA5b,EAAAob,EAAAQ,YAAA5G,GAAAg3X,EAAApyU,EAEA5kD,EAAA,IACA+ya,EAAA3sa,EAAAQ,YAAA5b,EAAAgV,EACAoG,EAAAq2J,UAAA,CACAzxK,EAAA+nb,IACa,IAGbnuX,EAAAx+C,EAAAQ,YAAA5b,KAeA,SAAAoob,EAAAJ,EAAA3wZ,EAAA4oD,GACA1iF,EAAA2nB,KAAA8ia,EAAA/qZ,QAAAstH,UAAA,SAAAkJ,GACAl2J,EAAA2nB,KAAAuuI,EAAA,SAAAr4I,GACA,GAAAA,EAAA+uK,SAAA7oL,OAAA,CACA,IAAAtB,EAAAyX,EAAA2D,EAAA+uK,SAAAw+P,EAAA1oW,GAAAxoE,EAAA2D,EAAA+uK,SAAAo9P,EAAAtnW,GAEA,gBAAAA,EAAA,CACA,IAAAq4R,EAAAl9V,EAAAQ,YAAA7b,GAAAC,EAAAia,EAAAmB,EAAA6kE,IAAA5oD,EACAjc,EAAAq2J,UAAA,CACA1xK,EAAAu4W,IACW,OACF,CACT,IAAAyvE,EAAA3sa,EAAAQ,YAAA5b,KAAAia,EAAAmB,EAAA6kE,IAAA5oD,EACAjc,EAAAq2J,UAAA,CACAzxK,EAAA+nb,IACW,SAOX,SAAAY,EAAAlta,EAAAwkE,GACA,OAAAhmE,EAAAwB,EAAAS,MAAA+jE,GAAAxkE,EAAAqwK,WAGA,SAAA88P,EAAAnta,EAAAwkE,GACA,OAAAhmE,EAAAwB,EAAAQ,MAAAgkE,GAAAxkE,EAAAqwK,WAGA,SAAA7xK,EAAAmB,EAAA6kE,GACA,mBAAAA,EACA7kE,EAAAQ,YAAA7b,EAAAqb,EAAAQ,YAAA7G,GAAA,EAGAqG,EAAAQ,YAAA5b,EAAAob,EAAAQ,YAAA5G,GAAA,EAGA,SAAAuya,EAAA9ra,GACA,OAAAA,EAAAqwK,WAGA,SAAAr0K,EAAA0jB,EAAAx5B,EAAAs+E,GACA,IAAAxoE,EAAA,EACAjN,EAAA2wB,EAAA75B,OACAwH,GAAA,EAEA,QAAAA,EAAA0B,EAAA,CACA,IAAAxI,GAAAL,EAAA7D,KAAAq9B,IAAAryB,GAAAm3E,GAEAtoE,MAAA3V,KACAyV,GAAAzV,GAIA,OAAAyV,EAWA,SAAA4wa,EAAAL,EAAA3wZ,EAAA4oD,GACA1iF,EAAA2nB,KAAA8ia,EAAA,SAAAv0R,GACAl2J,EAAA2nB,KAAAuuI,EAAA,SAAAr4I,GACA,GAAAA,EAAA8uK,QAAA5oL,OAAA,CACA,IAAAtB,EAAAyX,EAAA2D,EAAA8uK,QAAA0+P,EAAA3oW,GAAAxoE,EAAA2D,EAAA8uK,QAAAq9P,EAAAtnW,GAEA,gBAAAA,EAAA,CACA,IAAAq4R,EAAAl9V,EAAAQ,YAAA7b,GAAAC,EAAAia,EAAAmB,EAAA6kE,IAAA5oD,EACAjc,EAAAq2J,UAAA,CACA1xK,EAAAu4W,IACW,OACF,CACT,IAAAyvE,EAAA3sa,EAAAQ,YAAA5b,KAAAia,EAAAmB,EAAA6kE,IAAA5oD,EACAjc,EAAAq2J,UAAA,CACAzxK,EAAA+nb,IACW,SAaX,SAAAT,EAAA7zR,EAAAxzE,GACA1iF,EAAA2nB,KAAAuuI,EAAA,SAAAr4I,GACA,aAAA6kE,GACA7kE,EAAA+uK,SAAAn2J,KAAA,SAAA1tB,EAAAC,GACA,OAAAD,EAAA4V,MAAAN,YAAA7b,EAAAwG,EAAA2V,MAAAN,YAAA7b,IAEAqb,EAAA8uK,QAAAl2J,KAAA,SAAA1tB,EAAAC,GACA,OAAAD,EAAA2V,MAAAL,YAAA7b,EAAAwG,EAAA0V,MAAAL,YAAA7b,MAGAqb,EAAA+uK,SAAAn2J,KAAA,SAAA1tB,EAAAC,GACA,OAAAD,EAAA4V,MAAAN,YAAA5b,EAAAuG,EAAA2V,MAAAN,YAAA5b,IAEAob,EAAA8uK,QAAAl2J,KAAA,SAAA1tB,EAAAC,GACA,OAAAD,EAAA2V,MAAAL,YAAA5b,EAAAuG,EAAA0V,MAAAL,YAAA5b,OAIAzC,EAAA2nB,KAAAuuI,EAAA,SAAAr4I,GACA,IAAA4zB,EAAA,EACAwkQ,EAAA,EACAj2S,EAAA2nB,KAAA9J,EAAA+uK,SAAA,SAAA1uK,GACAA,EAAAg2J,UAAA,CACAziI,OACO,GACPA,GAAAvzB,EAAAG,YAAA5G,KAEAzX,EAAA2nB,KAAA9J,EAAA8uK,QAAA,SAAAzuK,GACAA,EAAAg2J,UAAA,CACA+hI,OACO,GACPA,GAAA/3R,EAAAG,YAAA5G,OAKAvU,EAAAC,QAAAF,wBCnkBA,IAAAjD,EAAaX,EAAQ,QAErBg4N,EAAqBh4N,EAAQ,QAE7BgsM,EAAWhsM,EAAQ,QAoBnBisb,EAAAjgP,EAAAN,QAAAnqM,MAEA,SAAA2qb,EAAApna,EAAApJ,EAAAxV,GACA/E,KAAA2jB,QACA3jB,KAAAua,UACAva,KAAA+E,MAMA/E,KAAAwvO,WAMAxvO,KAAAgrb,WAGAD,EAAAjoa,cAAA,CACAo5F,MAAA,EACA/7G,KAAA,kDACAgvN,KAAA,CAEA1tN,KAAA,iQAEAujG,QAAA,ubAEAylG,MAAA,iNAEAC,MAAA,gMAEAC,KAAA,4KAEAj+L,MAAA,0MAMA89L,MAAAhrM,EAAA+V,MAAAu1a,EAAAtgP,QAEA,IAAArrK,EAAA4rZ,EAAA9qb,UAIAk/B,EAAA+zB,OAEA/zB,EAAAouE,WAAA,SAAAylM,EAAAz4R,EAAAxV,GACA,IAAAqrO,EACAd,EACA27M,EACA1wa,EAAA8kG,cAAA,CACArzF,SAAA,SACG,SAAA4rM,GACHwY,EAAAxY,EAAAwY,UACAd,EAAA1X,EAAAY,YAAA8W,WAAA,SACA27M,GAAArzN,EAAAE,MAAAv0N,SAEAvD,KAAAwvO,WAAAY,EACApwO,KAAAgrb,WAAA17M,EACA9vO,EAAA2nB,KAAA6rR,EAAAvtS,IAAA,oBAAAtF,GACA6yS,EAAAI,cAAAjzS,GAAA,SAAAA,EAAA,aAAAmvO,EAAA,UAAAnvO,EAAA8qb,EAAA9qb,IAAAiwO,GAAA,wBAIAjxM,EAAAw0Q,SAAA,WACA,IAAAhwR,EAAA3jB,KAAA2jB,MACA8xW,EAAA9xW,EAAAle,IAAA,WACAiuS,EAAA,GAMA,OALAl0S,EAAA2nB,KAAAxD,EAAAle,IAAA,oBAAAtF,GACAs1X,EAAAt1X,KACAuzS,EAAAvzS,GAAAs1X,EAAAt1X,MAGAuzS,GAGAv0Q,EAAAgtF,QAAA,SAAA5xG,EAAAxV,EAAA5E,GACA,IAAAiwO,EAAApwO,KAAAwvO,WACAF,EAAAtvO,KAAAgrb,WAEA,UAAA7qb,GAEA4E,EAAAqoG,eAAA,CACAjtG,KAAA,iBACAouY,UAAA,KAEAxpY,EAAAqoG,eAAA,CACAjtG,KAAA,QACA+qb,QAAA,QAEApzN,MAAA,MAGA/yN,EAAAqoG,eAAA,CACAjtG,KAAA,mBACA8K,IAAA,QACAutN,YAAA,CACA4X,UAAA,SAAAjwO,EAAAiwO,MAAAjwO,KACAmvO,UAAA,SAAAnvO,EAAA,aAAAmvO,EAAA,oBAAAA,MAMAzY,EAAA7+D,SAAA,QAAA+yR,GACA,IAAAtob,EAAAsob,EACArob,EAAAC,QAAAF,qCCvJA,IAAAI,EAAehE,EAAQ,QACvB6D,EAAAC,QAAA,WACA,IAAAU,EAAAR,EAAA7C,MACA0D,EAAA,GAMA,OALAL,EAAA6nD,SAAAxnD,GAAA,KACAL,EAAA8nb,aAAAznb,GAAA,KACAL,EAAA+nb,YAAA1nb,GAAA,KACAL,EAAAssP,UAAAjsP,GAAA,KACAL,EAAAgob,SAAA3nb,GAAA,KACAA,yBCSA,IAAA0d,EAAcviB,EAAQ,QAItB8O,GAFAyT,EAAAC,QAEYxiB,EAAQ,SAEpBgsD,EAAAl9C,EAAAk9C,cACAphD,EAAAkE,EAAAlE,SACAT,EAAA2E,EAAA3E,QACAme,EAAAxZ,EAAAwZ,KAGA48W,GAFAp2X,EAAAy8C,OAEgBvrD,EAAQ,SAExB6rZ,EAAA3mB,EAAA2mB,SAoBA1iS,EAAAn9D,IAGApoD,EAAA,CAGA4sM,YAAA,SAAA6xF,EAAAoqJ,EAAAC,GACA,IAAA5nM,EA8BA,OA5BA36O,EAAAsib,GACA3nM,EAAA2nM,EACKA,EAAAhjG,IACL3kG,EAAA,EACAxjP,KAAA,MACA85B,OAAAqxZ,EAAAhjG,IACA9oO,aAAA8rU,EAAA9rU,gBAIA8rU,EAAAzvU,UAAAyvU,EAAAtvU,WACAuvU,EAAAD,EAAA9rU,aACA8rU,IAAAzvU,SAGA8nI,EAAA,EACAxjP,KAAA,UACA85B,OAAAqxZ,EACA9rU,aAAA+rU,KAIApka,EAAAw8N,EAAA,SAAAwe,GACA,IAAAhiQ,EAAAgiQ,EAAAhiQ,KACA,YAAAA,MAAAgiQ,EAAAhiQ,KAAA,WACA,IAAAi5B,EAAAoyZ,EAAArrb,GACAi5B,EAAA+oO,KAEAn6I,EAAA50F,IAAA8tQ,EAAAv9C,IAEA23J,YAAA,SAAAp6G,GACA,OAAAl5K,EAAAviH,IAAAy7R,KAGAsqJ,EAAA,CACAnqJ,QAAA,SAAAl/B,GACA,IAAAloO,EAAAkoO,EAAAloO,OACAkoO,EAAAk/B,QAAA53R,EAAAwwB,GAAA,qBAAAu0I,WAAAp1I,MAAAo1I,KAAAp1I,MAAAa,GAAA,IAAAiwB,SAAA,WAAAjwB,EAAA,QAAAA,GAQAquT,IAAA,SAAAnmF,GACAA,EAAAoiI,OAAAmmB,EAAAvoJ,EAAAloO,UAGAv3B,EAAAC,QAAAF,wBC5FA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBA,EAAQ,QAERA,EAAQ,QAER,IAAA0oY,EAA6B1oY,EAAQ,QAErCC,EAAgBD,EAAQ,QAExB4sb,EAAgB5sb,EAAQ,QAExBI,EAAiBJ,EAAQ,QAoBzB0oY,EAAA,QACApnY,KAAA,kBACAgX,MAAA,mBACAgvI,OAAA,kBACC,CACDhmJ,KAAA,YACAgX,MAAA,cACAgvI,OAAA,UACC,CACDhmJ,KAAA,cACAgX,MAAA,gBACAgvI,OAAA,cAEAvnJ,EAAAO,eAAAL,EAAA,QACAF,EAAAQ,eAAAI,EAAAmqB,MAAA8ha,EAAA,QACA7sb,EAAAS,kBAAAJ,EAAA,2CCpEA,IAAAysb,EAAsB7sb,EAAQ,QAC9BqqW,EAAiBrqW,EAAQ,QAEzB6D,EAAAC,QAAA,SAAAorB,EAAAlqB,EAAAI,GACAJ,KAAAkqB,EAAA29Z,EAAA9nb,EAAAmqB,EAAAlqB,EAAAqlW,EAAA,EAAAjlW,IACA8pB,EAAAlqB,GAAAI,yBCcA,IAAAmd,EAAcviB,EAAQ,QAItBgxM,GAFAzuL,EAAAC,QAE0BxiB,EAAQ,SAElC+jB,EAAkB/jB,EAAQ,QAoB1B4D,EAAAmgB,EAAAle,OAAA,CACAvE,KAAA,cACA4lH,aAAA,iBACAliG,eAAA,SAAAV,EAAA5I,GACA,OAAAs1L,EAAA7vM,KAAAuiB,YAAAviB,OAEA8iB,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EACAj4B,iBAAA,cACAykL,iBAAA,EACAwkD,gBAAA,EAMAw9M,cAAA,EAEA7ma,MAAA,CACAxe,SAAA,OAIAmzI,UAAA,CACAn3I,MAAA,EACAnC,KAAA,SAUAqD,MAAA,EAEAq8O,QAAA,EACAmwJ,eAAA,KACAvlX,OAAA,cACAnN,WAAA,EACA+xM,aAAA,KACAgxN,YAAA,EAKAd,cAAA,OAEAtvC,cAAA,EAEAx1X,SAAA,OACAyqM,gBAAA,SAEAzpC,YAAA,EACAgzL,oBAAA30V,OAIApX,EAAAC,QAAAF,wBCtFA,IAAA7D,EAAcC,EAAQ,QAEtB2sS,EAAuB3sS,EAAQ,QAE/BW,EAAaX,EAAQ,QAErB+iB,EAAgB/iB,EAAQ,QAExBgjF,EAAchjF,EAAQ,QAEtBq6G,EAAAr3B,EAAAq3B,wBAEAwiQ,EAA0B78W,EAAQ,QAElC2jB,EAAoB3jB,EAAQ,QAE5B+xW,EAAApuV,EAAAouV,gBAoBAg7E,EAAAhtb,EAAAu6K,kBAAA,CACAh5K,KAAA,aAEA+iB,KAAA,SAAAC,GACAyoa,EAAAtlR,WAAAtmK,KAAA,OAAA2I,WAGA3I,KAAA+iB,mBAAA,WACA,OAAA/iB,KAAAilB,cAGAjlB,KAAAqxT,kBAAArxT,KAAA6rb,yBAEA7rb,KAAAgna,kBAAA7jZ,IAGAsB,YAAA,SAAA0/D,GACAynW,EAAAliQ,UAAA1pL,KAAA,cAAAmkF,GACAnkF,KAAAqxT,kBAAArxT,KAAA6rb,0BAEAhoa,eAAA,SAAAV,EAAA5I,GACA,OAAAixR,EAAAxrS,KAAA,YAEA6rb,sBAAA,WAKA,IAJA,IAAAtgb,EAAAvL,KAAAilB,aACAkuJ,EAAA5nK,EAAA8P,aAAA,SACA6vD,EAAA,GAEAngE,EAAA,EAAA0B,EAAAlB,EAAAoO,QAAuC5O,EAAA0B,EAAS1B,IAChDmgE,EAAAv4D,KAAA,CACArE,KAAA/C,EAAAqc,QAAA7c,GACA9G,MAAAsH,EAAA9F,IAAA0tK,EAAApoK,GACA+1M,SAAA8vJ,EAAArlW,EAAAR,EAAA,cAIA,OAAAmgE,GAGAlgD,cAAA,SAAAvF,GACA,IAAAla,EAAAvL,KAAAwa,UACAwK,EAAA4ma,EAAAliQ,UAAA1pL,KAAA,gBAAAylB,GAEA0zF,EAAA,GAMA,OALA5tG,EAAA4b,KAAA5b,EAAA8P,aAAA,kBAAApX,GACAk1G,EAAAxmG,KAAA1O,KAEA+gB,EAAAmzF,QAAAe,EAAAC,EAAA1zF,EAAAla,EAAA49F,UAAA1jG,IAAA,qBACAuf,EAAA2iI,MAAAh1I,KAAA,WACAqS,GAEAgiZ,kBAAA,SAAA7jZ,GAEAvB,EAAA2C,gBAAApB,EAAA,sBACA,IAAA8jZ,EAAA9jZ,EAAA+1L,UACAguN,EAAA/jZ,EAAA05F,SAAAq8F,UAEA+tN,EAAA/qT,KAAA+qT,EAAA/qT,MAAA/4F,EAAA2B,MAAAo3F,KACAgrT,EAAAhrT,KAAAgrT,EAAAhrT,MAAA/4F,EAAA05F,SAAA/3F,MAAAo3F,MAEAp5F,cAAA,CACAq5F,OAAA,EACAh/E,EAAA,EACAwsJ,iBAAA,EACAwkD,gBAAA,EAEAjyN,OAAA,cACAC,OAAA,UAEA4C,WAAA,EACAF,WAAA,GAEAinL,SAAA,EAEAwrK,eAAA,GAEAw6E,YAAA,GAEAC,mBAAA,EAKA/mK,iBAAA,EAEAt+E,kBAAA,EAEA5hL,MAAA,CAEAwrB,QAAA,EACA4rE,MAAA,EAEA51G,SAAA,SAMA4yM,UAAA,CACAh9F,MAAA,EAEA34G,OAAA,GAEA4qS,QAAA,GACAtuD,QAAA,EACApmG,UAAA,CAEAn3I,MAAA,EACAnC,KAAA,UAGAmrG,UAAA,CACAsR,YAAA,GAGAwoK,cAAA,YACAlgE,gBAAA,cAGA1lN,EAAAoZ,MAAAgza,EAAAlwE,GACA,IAAAj5W,EAAAmpb,EACAlpb,EAAAC,QAAAF,wBC7JA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBs0P,EAAkBt0P,EAAQ,QAE1Bu0P,EAAAD,EAAAC,oBA8BAx0P,EAAA0tB,eAAA,CACAnsB,KAAA,UACAgX,MAAA,UACAoV,OAAA,mBACC,SAAAC,EAAAjS,GACD,IAAAgsG,EAAA/5F,EAAA+5F,eAAA,SACAhsG,EAAA8kG,cAAA,CACArzF,SAAAu6F,EACAyvB,MAAAxpH,GACG,SAAAyhD,GACH,IAAA+3B,EAAA/3B,EAAA/oE,iBAEA,WAAA8gG,EAAA7lG,KAAA,CAIA,IAAA4xE,EAAAqhL,EAAAptJ,EAAAx5E,EAAAyhD,EAAAxoE,IAAA,eACAwoE,EAAA2Q,WAAA3Q,EAAA2Q,UAAA7M,EAAA71D,QACA+xD,EAAAygG,SAAAzgG,EAAAygG,QAAA38F,EAAAiwC,MAGA,WAAAuE,GACA/mH,EAAA2nB,KAAA8mD,EAAA2yN,YAAA,SAAAtmR,GACAA,EAAAskE,UAAA7M,EAAA71D,QACA5B,EAAAo0J,QAAA38F,EAAAiwC,mCC5DA,IAAApjH,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBqF,EAAcrF,EAAQ,QAEtBkxM,EAAiBlxM,EAAQ,QAEzByoF,EAAazoF,EAAQ,QAErB8vY,EAAiB9vY,EAAQ,QAEzBqV,EAAqBrV,EAAQ,QAE7B4O,EAAmB5O,EAAQ,QAE3B+xD,EAAa/xD,EAAQ,QAErBmtb,EAAoBntb,EAAQ,QAE5BwuO,EAAsBxuO,EAAQ,QAoB9B+J,EAAApJ,EAAAoJ,KACAowM,EAAA90M,EAAA80M,MACA/pI,EAAA/qE,EAAA+qE,KACA9nD,EAAA3nB,EAAA2nB,KACA8ka,EAAA,EACAC,EAAA,UACAC,EAAA,qBACAC,EAAA,eACAC,EAAA,0BACA9pN,EAAA,GAEA+pN,EAAA,EACAC,EAAA,EACAC,EAAAn/M,EAAA,kBAEA,0HAEAo/M,EAAA,SAAA9oa,GAEA,IAAA2nF,EAAAkhV,EAAA7oa,GAGA,OADA2nF,EAAA3qG,OAAA2qG,EAAA5qG,KAAA4qG,EAAA76F,UAAA,KACA66F,GAGA7oG,EAAA7D,EAAA42K,gBAAA,CACAr1K,KAAA,UAKA+iB,KAAA,SAAAuK,EAAA1oB,GAKA/E,KAAA0jU,gBAMA1jU,KAAA0/Z,SAAAgtB,IAMA1sb,KAAAqua,SAMArua,KAAA2sb,YAMA3sb,KAAA0qW,YAMA1qW,KAAA4sb,OAAA,SAMA15X,OAAA,SAAA54C,EAAAC,EAAAxV,EAAAynB,GACA,IAAAq1X,EAAAtnY,EAAAo/V,eAAA,CACA3tV,SAAA,SACA7H,QAAA,UACA6xH,MAAAxpH,IAGA,KAAAhtB,EAAA4rC,QAAAy2W,EAAAvnY,GAAA,IAIAta,KAAAsa,cACAta,KAAA+E,MACA/E,KAAAua,UACA,IAAAo1K,EAAA,0CACA1iE,EAAA3lC,EAAAq9J,mBAAAn4N,EAAAmjK,EAAAr1K,GACAoqO,EAAAl4N,KAAArsB,KACA6F,EAAAsU,EAAAtU,WACA2rM,GAAA3xM,KAAAqua,SACAwe,EAAA7sb,KAAA0/Z,SAEAotB,EAAA,sBAAApoM,GAAAz3H,GAAA4/T,EAAA,CACAE,cAAAF,EAAAG,UAAA//T,EAAA5vG,KAAAwvK,eACAt4F,UAAA/nE,EAAA+nE,WACK,KAEL6vO,EAAApkU,KAAAitb,oBAAAjnb,GAEAknb,EAAAltb,KAAAs/D,UAAA8kQ,EAAA9pT,EAAAwya,GAEAn7O,GAAA+yC,GAAA,sBAAAA,GAAA,sBAAAA,EAAAwoM,EAAAC,gBAAAntb,KAAAotb,aAAAhpH,EAAA8oH,EAAA5ya,EAAAwya,GAEA9sb,KAAAqtb,iBAAAtob,GAEA/E,KAAAstb,kBAAAhza,EAAAvV,EAAAkoH,KAMAggU,oBAAA,SAAAjnb,GACA,IAAAo+T,EAAApkU,KAAA0jU,gBAaA,OAXAU,IAGAA,EAAApkU,KAAA0jU,gBAAA,IAAA1qH,EAEAh5M,KAAA4vK,YAAAw0J,GAEApkU,KAAAylE,MAAAloC,IAAA6mS,IAGAA,EAAArgP,KAAA,YAAA/9E,EAAAhE,EAAAgE,EAAA/D,IACAmiU,GAMA9kQ,UAAA,SAAA8kQ,EAAA9pT,EAAAwya,GACA,IAAAS,EAAAjza,EAAAE,UAAAwrL,KACAwnP,EAAAxtb,KAAAqua,SAEAof,EAAAf,IACAG,EAAAH,IACAgB,EAAA1tb,KAAA0/Z,SACAiuB,EAAA,GACApuD,EAAA//X,EAAAmqB,MAAAg9K,EAAArsL,EAAAuya,EAAAa,EAAAZ,EAAAW,EAAAE,GAKA5uD,EAAAwuD,EAAAtga,KAAA,CAAAsga,EAAAtga,MAAA,GAAAuga,KAAAvga,KAAA,CAAAuga,EAAAvga,MAAA,GAAAm3S,EAAAmpH,IAAAC,MAAA,GAEA,IAAAI,EAAAC,EAAAH,GAGA,OAFA1tb,KAAAqua,SAAAkf,EACAvtb,KAAA0/Z,SAAAmtB,EACA,CACAY,oBACAG,gBACAT,iBAGA,SAAApuD,EAAA+uD,EAAAC,EAAAtiC,EAAAuiC,EAAAlqX,GAeA,SAAAwxI,EAAAj4L,GAEA,OAAAA,EAAAs3S,QAGA,SAAAwqE,EAAAzpL,EAAAC,GACA,IAAAs4O,EAAA,MAAAv4O,EAAAo4O,EAAAp4O,GAAA,KACA4pL,EAAA,MAAA3pL,EAAAo4O,EAAAp4O,GAAA,KACAlwI,EAAA85T,EAAA0uD,EAAA3uD,EAAAmsB,EAAA3nV,GACA2B,GAAAs5T,EAAAkvD,KAAA3nM,cAAA,GAAAg5I,KAAAh5I,cAAA,GAAA7gL,EAAAuoX,EAAAlqX,EAAA,GApBAkqX,GACAD,EAAAD,EACA3ma,EAAA2ma,EAAA,SAAA17Z,EAAAvuB,IACAuuB,EAAAyzN,aAAAs5I,EAAAt7X,QAKA,IAAAksM,EAAAg+O,EAAAD,EAAAx4O,KAAA/3K,IAAA4hW,GAAA5yW,OAAA4yW,GAAA3yX,OAAAhN,EAAAmqB,MAAAw1W,EAAA,OAAA1pL,UAgBA,SAAAo4O,EAAA7lU,GACA,IAAA4lU,EAAAlB,IAOA,OANA1kU,GAAA7gG,EAAA6gG,EAAA,SAAAv8F,EAAAyia,GACA,IAAAC,EAAAP,EAAAM,GACA/ma,EAAAsE,EAAA,SAAAslB,GACAA,IAAAo9Y,EAAAx7a,KAAAo+B,KAAAq9Y,eAAA,OAGAR,EAGA,SAAAT,IACAhma,EAAAyma,EAAA,SAAAvvE,GACAl3V,EAAAk3V,EAAA,SAAAttU,GACAA,EAAA4gC,QAAA5gC,EAAA4gC,OAAAnlE,OAAAukC,OAGA5pB,EAAAwma,EAAA,SAAA58Y,GACAA,EAAA+/B,WAAA,EAGA//B,EAAApsB,YAQAyoa,aAAA,SAAAhpH,EAAA8oH,EAAA5ya,EAAAwya,GACA,GAAAxya,EAAA7U,IAAA,cAIA,IAAAq2B,EAAAxhB,EAAA7U,IAAA,2BACAs2B,EAAAzhB,EAAA7U,IAAA,mBACA4ob,EAAArC,EAAAxZ,aAEArrZ,EAAA+la,EAAAU,cAAA,SAAAnia,EAAAyia,GACA/ma,EAAAsE,EAAA,SAAAslB,EAAA6wT,GACA,IAAA7wT,EAAA+/B,UAAA,CAIA,IAEAz6D,EAFAs7D,EAAA5gC,EAAA4gC,OAIA,GAAAm7W,GAAA,cAAAA,EAAAv4V,UACAl+E,EAAAs7D,IAAAm7W,EAAAC,cAGA,CACAnlb,MAAA,CACA5F,EAAA,EACAC,EAAA,EACAK,MAAAqvE,EAAA28W,cACA/rb,OAAAovE,EAAA48W,gBAEAhub,MAAA,CACAuzD,QAAA,IAGW,CACXvzD,MAAA,CACAuzD,QAAA,QAGS,CACT,IAAA06X,EAAA,EACAC,EAAA,EAEA98W,EAAAy8W,iBAIAI,EAAA78W,EAAA28W,cAAA,EACAG,EAAA98W,EAAA48W,eAAA,GAGAl4a,EAAA,cAAA63a,EAAA,CACA5nb,SAAA,CAAAkob,EAAAC,GACAlub,MAAA,CACAuzD,QAAA,IAEW,CACXlsD,MAAA,CACA5F,EAAAwsb,EACAvsb,EAAAwsb,EACAnsb,MAAA,EACAC,OAAA,GAEAhC,MAAA,CACAuzD,QAAA,IAKAz9C,GAAAg4a,EAAA9wZ,IAAAwT,EAAA16B,EAAAylB,EAAAC,QAIA5U,EAAAnnB,KAAA0/Z,SAAA,SAAAj0Y,EAAAyia,GACA/ma,EAAAsE,EAAA,SAAAslB,EAAA6wT,GACA,IAAAz/L,EAAA+qR,EAAAO,kBAAAS,GAAAtsF,GACAvrV,EAAA,GAEA8rJ,IAIA,cAAA+rR,EACA/rR,EAAAmzK,MACAj/T,EAAA/P,SAAAyqC,EAAAzqC,SAAA44B,QACA6R,EAAAgzC,KAAA,WAAAo+E,EAAAmzK,OAGAnzK,EAAAmzK,MACAj/T,EAAAzO,MAAApI,EAAAkF,OAAA,GAA2CqsC,EAAAnpC,OAC3CmpC,EAAA2oK,SAAAv3C,EAAAmzK,MAGAnzK,EAAAusR,QACA39Y,EAAAy2E,SAAA,aACAnxG,EAAA9V,MAAA,CACAuzD,QAAA,IAIA,IAAA/iB,EAAAxwC,MAAAuzD,UACAz9C,EAAA9V,MAAA,CACAuzD,QAAA,KAKAu6X,EAAA9wZ,IAAAwT,EAAA16B,EAAAylB,EAAAC,OAEK/7B,MACLA,KAAA4sb,OAAA,YACAyB,EAAArqb,KAAA4E,EAAA,WACA5I,KAAA4sb,OAAA,QACAM,EAAAC,iBACKntb,OAAAosB,UAMLiha,iBAAA,SAAAtob,GACA,IAAAuT,EAAAtY,KAAA0qW,YAEApyV,IACAA,EAAAtY,KAAA0qW,YAAA,IAAAx2V,EAAAnP,EAAA2sB,SACApZ,EAAApD,OAAAlV,KAAAsa,YAAA7U,IAAA,SACA6S,EAAA1C,GAAA,MAAAhN,EAAA5I,KAAA2ub,OAAA3ub,OACAsY,EAAA1C,GAAA,OAAAhN,EAAA5I,KAAA4ub,QAAA5ub,QAGA,IAAAyB,EAAA,IAAAgM,EAAA,IAAA1I,EAAAwJ,WAAAxJ,EAAAu5D,aACAhmD,EAAArD,kBAAA,SAAAkB,EAAAnU,EAAAC,GACA,OAAAR,EAAA6e,QAAAte,EAAAC,MAOA4sb,iBAAA,WACA,IAAAv2a,EAAAtY,KAAA0qW,YAEApyV,IACAA,EAAAxC,UACAwC,EAAA,OAOAq2a,OAAA,SAAAx4a,GACA,iBAAAnW,KAAA4sb,SAAAlmb,KAAAiR,IAAAxB,EAAAa,IAAAi1a,GAAAvlb,KAAAiR,IAAAxB,EAAAc,IAAAg1a,GAAA,CAEA,IAAAh/Z,EAAAjtB,KAAAsa,YAAAE,UAAAwrL,KAAA/4K,KAEA,IAAAA,EACA,OAGA,IAAA6iZ,EAAA7iZ,EAAApP,YAEA,IAAAiyZ,EACA,OAGA9va,KAAA+E,IAAAqoG,eAAA,CACAjtG,KAAA,cACAkoD,KAAAroD,KAAAgqB,IACA8nK,SAAA9xL,KAAAsa,YAAA2R,GACA24N,SAAA,CACA5iP,EAAA8ta,EAAA9ta,EAAAmU,EAAAa,GACA/U,EAAA6ta,EAAA7ta,EAAAkU,EAAAc,GACA3U,MAAAwta,EAAAxta,MACAC,OAAAuta,EAAAvta,YASAqsb,QAAA,SAAAz4a,GACA,IAAA24a,EAAA34a,EAAAyB,QACAm3a,EAAA54a,EAAA0B,QAEA,iBAAA7X,KAAA4sb,OAAA,CAEA,IAAA3/Z,EAAAjtB,KAAAsa,YAAAE,UAAAwrL,KAAA/4K,KAEA,IAAAA,EACA,OAGA,IAAA6iZ,EAAA7iZ,EAAApP,YAEA,IAAAiyZ,EACA,OAGA,IAAArua,EAAA,IAAAgM,EAAAqia,EAAA9ta,EAAA8ta,EAAA7ta,EAAA6ta,EAAAxta,MAAAwta,EAAAvta,QACAyD,EAAAhG,KAAAsa,YAAAtU,WAEA8ob,GAAA9ob,EAAAhE,EACA+sb,GAAA/ob,EAAA/D,EAEA,IAAAsrB,EAAAqjC,EAAA9hB,SACA8hB,EAAAjgB,UAAApjB,IAAA,EAAAuha,GAAAC,IACAn+X,EAAA74C,MAAAwV,IAAA,CAAApX,EAAA4B,MAAA5B,EAAA4B,QACA64C,EAAAjgB,UAAApjB,IAAA,CAAAuha,EAAAC,IACAttb,EAAA4X,eAAAkU,GACAvtB,KAAA+E,IAAAqoG,eAAA,CACAjtG,KAAA,gBACAkoD,KAAAroD,KAAAgqB,IACA8nK,SAAA9xL,KAAAsa,YAAA2R,GACA24N,SAAA,CACA5iP,EAAAP,EAAAO,EACAC,EAAAR,EAAAQ,EACAK,MAAAb,EAAAa,MACAC,OAAAd,EAAAc,YASAqtK,YAAA,SAAAw0J,GACAA,EAAAxuT,GAAA,iBAAAO,GACA,aAAAnW,KAAA4sb,OAAA,CAIA,IAAA3nK,EAAAjlR,KAAAsa,YAAA7U,IAAA,gBAEA,GAAAw/Q,EAAA,CAIA,IAAAh4J,EAAAjtH,KAAAgvb,WAAA74a,EAAAI,QAAAJ,EAAAK,SAEA,GAAAy2G,EAAA,CAIA,IAAA5vG,EAAA4vG,EAAA5vG,KAEA,GAAAA,EAAAQ,YAAAmpO,WACAhnP,KAAAy/X,YAAAxyQ,QAEA,kBAAAg4J,EACAjlR,KAAAivb,YAAAhiU,QACS,YAAAg4J,EAAA,CACT,IAAA/5P,EAAA7N,EAAAy1M,SAAAvnN,KAAA4f,aAAA9N,EAAAoI,WACA8gE,EAAAr7D,EAAAzlB,IAAA,WACAk6X,EAAAz0W,EAAAzlB,IAAA,sBACA8gF,GAAA57E,OAAAyjH,KAAA7nC,EAAAo5S,QAGK3/X,OAMLstb,kBAAA,SAAAhza,EAAAvV,EAAAkoH,GAkBA,SAAA+hR,EAAA3xX,GACA,cAAArd,KAAA4sb,SACAtlW,EAAAqxK,cAAAr+O,EAAA4rL,cAAA7oL,GAAArd,KAAAy/X,YAAA,CACApiX,SACSrd,KAAAivb,YAAA,CACT5xa,UAtBA4vG,IACAA,EAAA,MAAA3yG,EAAA7U,IAAA,iBACA4X,KAAA/C,EAAA4rL,eAIOlmM,KAAAgvb,WAAAjqb,EAAAwJ,WAAA,EAAAxJ,EAAAu5D,YAAA,GAEP2uD,IACAA,EAAA,CACA5vG,KAAA/C,EAAAE,UAAAwrL,KAAA/4K,SAKAjtB,KAAA2sb,cAAA3sb,KAAA2sb,YAAA,IAAAh+C,EAAA3uY,KAAAylE,SAAAvS,OAAA54C,EAAAvV,EAAAkoH,EAAA5vG,KAAAzU,EAAAomY,EAAAhvY,QAgBAwM,OAAA,WACAxM,KAAA6ub,mBAEA7ub,KAAA0jU,iBAAA1jU,KAAA0jU,gBAAAr/P,YACArkE,KAAA0/Z,SAAAgtB,IACA1sb,KAAA4sb,OAAA,QACA5sb,KAAA2sb,aAAA3sb,KAAA2sb,YAAAngb,UAEAsJ,QAAA,WACA9V,KAAA6ub,oBAMAI,YAAA,SAAAhiU,GACAjtH,KAAA+E,IAAAqoG,eAAA,CACAjtG,KAAA,oBACAkoD,KAAAroD,KAAAgqB,IACA8nK,SAAA9xL,KAAAsa,YAAA2R,GACAw8N,WAAAx7H,EAAA5vG,QAOAoiX,YAAA,SAAAxyQ,GACAjtH,KAAA+E,IAAAqoG,eAAA,CACAjtG,KAAA,oBACAkoD,KAAAroD,KAAAgqB,IACA8nK,SAAA9xL,KAAAsa,YAAA2R,GACAw8N,WAAAx7H,EAAA5vG,QAaA2xa,WAAA,SAAAhtb,EAAAC,GACA,IAAAgrH,EACA43H,EAAA7kP,KAAAsa,YAAA4rL,cAuBA,OAtBA2+C,EAAA33D,SAAA,CACAnpG,KAAA,eACAhlD,MAAA,YACK,SAAA1hB,GACL,IAAA6xa,EAAAlvb,KAAA0/Z,SAAA4d,WAAAjga,EAAAwvK,eAGA,GAAAqiQ,EAAA,CACA,IAAArlX,EAAAqlX,EAAAl7M,sBAAAhyO,EAAAC,GACA2F,EAAAsnb,EAAAtnb,MAEA,KAAAA,EAAA5F,GAAA6nE,EAAA,IAAAA,EAAA,IAAAjiE,EAAA5F,EAAA4F,EAAAtF,OAAAsF,EAAA3F,GAAA4nE,EAAA,IAAAA,EAAA,IAAAjiE,EAAA3F,EAAA2F,EAAArF,QAOA,SANA0qH,EAAA,CACA5vG,OACA9G,QAAAszD,EAAA,GACArzD,QAAAqzD,EAAA,MAMK7pE,MACLitH,KAQA,SAAAy/T,IACA,OACAM,UAAA,GACA1P,WAAA,GACAt2Z,QAAA,IASA,SAAA2/K,EAAArsL,EAAAuya,EAAAa,EAAAZ,EAAAW,EAAAE,EAAAM,EAAA3uD,EAAAmsB,EAAA3nV,GAEA,GAAAmqX,EAAA,CASA,IAAAnoM,EAAAmoM,EAAApwa,YAEA,GAAAioO,KAAAgD,SAAA,CAIA,IAAAqmM,EAAArpM,EAAAxjP,MACA8sb,EAAAtpM,EAAAvjP,OACAq6G,EAAAkpI,EAAAlpI,YACAyyU,EAAAvpM,EAAAh1K,UACAw+W,EAAArB,EAAAphQ,cACA0iQ,EAAAjwD,KAAAzyM,cACAihQ,EAAAG,EAAA3nM,aACAd,EAAAM,EAAAN,YACAgqM,EAAA1B,KAAAvqb,OACAksb,EAAAxB,EAAAtzZ,SAAA,aACA+0Z,EAAAzB,EAAAtzZ,SAAA,sBAIA8qC,EAAAkqX,EAAA,YAAA32O,GAEA,GAAAvzI,EAAA,CAUA,GANAgmV,EAAAluX,IAAAkoC,GAEAA,EAAAse,KAAA,YAAA+hK,EAAA9jP,GAAA,EAAA8jP,EAAA7jP,GAAA,IACAwjE,EAAA6oX,cAAAa,EACA1pX,EAAA8oX,eAAAa,EAEAtpM,EAAA+C,gBACA,OAAApjL,EAIA,IAAAmqX,EAAAD,EAAA,aAAA1gX,EAAAnL,EAAAwoX,GAGA,GAFAsD,GAAAxxO,EAAA34I,EAAAmqX,EAAAJ,GAAA1pM,EAAAN,cAEAgqM,EAAA,CACA,IAAAxoa,EAAA2oa,EAAA,UAAA1gX,EAAAnL,EAAAyoX,GACAvla,GAAA6oa,EAAApqX,EAAAz+C,GAGA,OAAAy+C,IAIA,SAAA24I,EAAA34I,EAAAmqX,EAAAE,GAEAF,EAAAnqa,UAAAwoa,EAAAxoa,UACAmqa,EAAA/sa,YAAAvI,EAAAuI,YACA+sa,EAAAl2O,SAAA,CACA13M,EAAA,EACAC,EAAA,EACAK,MAAA6sb,EACA5sb,OAAA6sb,IAEA,IAAAW,EAAA9B,EAAA1wa,UAAA,kBACAyya,EAAAN,EAAAjqb,IAAA,eACAi8T,EAAAkuH,EAAA,WACA,IAAAl9N,EAAA+5N,EAAAgD,GACA/8N,EAAAhyN,KAAAqvb,EACA,IAAAzpF,EAAAkmF,EAAAkD,GAGA,GAFAppF,EAAA5lW,KAAAsvb,EAEAF,EAAA,CACA,IAAAG,EAAAd,EAAA,EAAAvyU,EACAszU,EAAAx9N,EAAA4zI,EAAAypF,EAAAE,EAAAzqM,EAAA,CACAxjP,EAAA46G,EACA36G,EAAA,EACAK,MAAA2tb,EACA1tb,OAAAijP,SAIA9yB,EAAA1xN,KAAAslW,EAAAtlW,KAAA,KAGA4ub,EAAApoU,SAAAkrG,GACAxuN,EAAA41M,cAAA81O,EAAAtpF,KAEA7gS,EAAAloC,IAAAqyZ,GAGA,SAAAC,EAAApqX,EAAAz+C,GAEAA,EAAAvB,UAAAwoa,EAAAxoa,UACAuB,EAAAnE,YAAAvI,EAAAuI,YACA,IAAAvS,EAAA5J,KAAAS,IAAAgob,EAAA,EAAAvyU,EAAA,GACAjrG,EAAAjL,KAAAS,IAAAiob,EAAA,EAAAxyU,EAAA,GACA51F,EAAA4yD,SAAA,EACA5yD,EAAA0yL,SAAA,CACA13M,EAAA46G,EACA36G,EAAA26G,EACAt6G,MAAAgO,EACA/N,OAAAoP,IAEA,IAAAixF,EAAAqrV,EAAA1wa,UAAA,YACAmkT,EAAA16S,EAAA,WACA,IAAA0rM,EAAA+5N,EAAAgD,GACA/8N,EAAAhyN,KAAAkiG,EACA,IAAA0jQ,EAAAkmF,EAAAkD,GACAQ,EAAAx9N,EAAA4zI,EAAA1jQ,EAAAtyF,EAAAqB,GACAqV,EAAAwgG,SAAAkrG,GACAxuN,EAAA41M,cAAA9yL,EAAAs/U,KAEA7gS,EAAAloC,IAAAvW,GAGA,SAAA06S,EAAAhrH,EAAA3gL,GACAs5Z,GAYA34O,EAAA5lI,WAAA68W,EAAAh7a,KAAA+jM,IARA3gL,IAEA2gL,EAAAy5O,kBACAz5O,EAAA5lI,WAAA,IASA,SAAAo/W,EAAAx9N,EAAA4zI,EAAA1jQ,EAAAtgG,EAAAC,EAAA6tb,GACA,IAAArqM,EAAAkoM,EAAAtzZ,WACA35B,EAAAxB,EAAAq9B,SAAAviB,EAAAs1D,kBAAAq+W,EAAAxoa,UAAA,mBAAA2qa,EAAA,sBAAArqM,EAAAtgP,IAAA,SAEA,IAAA2qb,GAAAtqM,EAAAkB,WAAA,CACA,IAAAqpM,EAAA/1a,EAAA7U,IAAA,oBACAzE,EAAAqvb,IAAA,IAAArvb,IAGA,IAAAosN,EAAA24B,EAAAprN,SAAAy1Z,EAAAhE,EAAAF,GACAoE,EAAAvqM,EAAAprN,SAAAy1Z,EAAA/D,EAAAF,GACAj4E,EAAA9mJ,EAAAjlM,WAAA,QACAjkB,EAAAk2M,cAAAsY,EAAA4zI,EAAAl5I,EAAAkjO,EAAA,CACA/1O,YAAA25J,EAAAlzW,EAAA,KACA+yM,UAAAnxG,EACAoxG,YAAA,IAEAo8O,IAAA19N,EAAAz5M,SAAAzZ,EAAA+V,MAAA66a,IACA19N,EAAA/jN,SAAAulW,GAAA9mJ,EAAA3nN,IAAA,aACAuJ,WAAA1M,EACA2M,YAAA1M,EACA2N,QAAA,GACK,KAGL,SAAAy/a,EAAAzB,EAAA9lY,EAAA0b,EAAA3mC,GACA,IAAAu5K,EAAA,MAAA64O,GAAA7B,EAAAQ,GAAAqB,GACAgB,EAAA9C,EAAAS,GAiBA,OAfAx3O,GAEAg3O,EAAAQ,GAAAqB,GAAA,KACAiB,EAAAD,EAAA75O,EAAAw3O,IAEAmB,IACA34O,EAAA,IAAAtuJ,EAAA,CACAjrB,EAAAszZ,EAAA3sX,EAAA3mC,KAEAu5K,EAAAg6O,UAAA5sX,EACA4yI,EAAAi6O,gBAAAzC,EACA0C,EAAAL,EAAA75O,EAAAw3O,IAIArB,EAAAqB,GAAAoB,GAAA54O,EAGA,SAAA85O,EAAAD,EAAA75O,EAAAw3O,GACA,IAAA2C,EAAAN,EAAAjB,GAAA,GACAuB,EAAAv7G,IAAA,cAAA44G,EAAAx3O,EAAApwM,SAAA44B,QAAA1/B,EAAAkF,OAAA,GAA2FgyM,EAAA9uM,OAK3F,SAAAgpb,EAAAL,EAAA75O,EAAAw3O,GACA,IAAA2C,EAAAN,EAAAjB,GAAA,GACAx7N,EAAAm6N,EAAAn6N,WAEA,GAAAA,KAAAg5N,GAAA,cAAAA,EAAAv4V,WAAA,CACA,IAAAu8V,EAAA,EACAC,EAAA,EAGAC,EAAAvD,EAAAnQ,WAAAxpN,EAAAjnC,gBAEAigQ,GAAAkE,KAAA17G,MACAw7G,EAAAE,EAAA17G,IAAAhzU,MACAyub,EAAAC,EAAA17G,IAAA/yU,QAKAsub,EAAAv7G,IAAA,cAAA44G,EAAA,GAAA6C,GAAA,CACA/ub,EAAA8ub,EACA7ub,EAAA8ub,EACAzub,MAAA,EACAC,OAAA,GAKAsub,EAAAnC,OAAA,cAAAR,GAUA,SAAAuC,EAAA3sX,EAAAmtX,GACA,IAAA97X,EAAA2O,EAAAy+J,EAAA0uN,EACA,OAAA97X,EAAA,GAAAA,EAGAzyD,EAAAC,QAAAF,wBC92BA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErB4uO,EAAiB5uO,EAAQ,QAEzBwuP,EAAexuP,EAAQ,QAEvBqV,EAAqBrV,EAAQ,QAE7B+qW,EAAiB/qW,EAAQ,QAEzBgrW,EAAoBhrW,EAAQ,QAE5BirW,EAAAD,EAAAC,oBAEA5lW,EAAcrF,EAAQ,QAEtBqyb,EAAiBryb,EAAQ,QAoBzBsyb,EAAA,uBACAC,EAAA,yBACAn9I,EAAA,wBACAC,EAAA,wBAEA,SAAAC,EAAAtvO,EAAAuvO,GACA,OAAAvvO,EAAAtnD,UAAA,YAAAsnD,EAAAlqC,WAAAl1B,IAAA2uS,GAGA,SAAAC,EAAAxvO,EAAAuvO,EAAAE,GACA,IAAAvjQ,EAAA8zB,EAAAqpH,eACAp6H,EAAAqgP,EAAAtvO,EAAAuvO,GAEA,MAAAE,IACA,MAAAxgP,MAAA,GACAA,GAAAwgP,GAGAvjQ,EAAAwyD,UAAAxyD,EAAAwyD,WACAxyD,EAAA5e,SAAA,SAAAC,GACA,aAAAA,EAAAjyB,KAAA,CACA,IAAAkxb,EAAAj/Z,EAAAqlW,yBAEA,MAAA45D,GAAA,MAAA/8I,IACA+8I,EAAAv9X,GAGA1hC,EAAAo1F,SAAA,UAAA6pU,MAKA,SAAA98I,EAAA1vO,EAAAuvO,GACA,IAAAtgP,EAAAqgP,EAAAtvO,EAAAuvO,GACArjQ,EAAA8zB,EAAAqpH,eACAn9I,EAAAyyD,WAAAzyD,EAAAyyD,YACAzyD,EAAA5e,SAAA,SAAAC,GACA,UAAAA,EAAAjyB,MACAiyB,EAAAo1F,SAAA,UAAA1zD,KAKA,IAAArxD,EAAA7D,EAAA42K,gBAAA,CACAr1K,KAAA,QACA+iB,KAAA,SAAA3I,EAAAxV,GACA,IAAAo/W,EAAA,IAAA12I,EACAggB,EAAA,IAAAJ,EACA5nL,EAAAzlE,KAAAylE,MACAzlE,KAAA0qW,YAAA,IAAAx2V,EAAAnP,EAAA2sB,SACA1xB,KAAA2qW,gBAAA,CACAt0V,OAAAovD,GAEAA,EAAAloC,IAAA4mV,EAAA1+S,OACAA,EAAAloC,IAAAkwN,EAAAhoL,OACAzlE,KAAAqkX,YAAAF,EACAnkX,KAAAouP,UAAAX,EACAztP,KAAAsxb,cAAA,GAEAp+X,OAAA,SAAA54C,EAAAC,EAAAxV,GACA,IAAAE,EAAAqV,EAAApV,iBACAlF,KAAAm7I,OAAA7gI,EACAta,KAAAyua,gBAAAn0Z,EAAA7U,IAAA,kBACA,IAAA0+W,EAAAnkX,KAAAqkX,YACA52H,EAAAztP,KAAAouP,UACA3oL,EAAAzlE,KAAAylE,MAEA,YAAAxgE,EAAA9E,KAAA,CACA,IAAAoxb,EAAA,CACAjrb,SAAArB,EAAAqB,SACAyR,MAAA9S,EAAA8S,OAGA/X,KAAAsxb,aACA7rX,EAAAse,KAAAwtW,GAEArtb,EAAAkuM,YAAA3sI,EAAA8rX,EAAAj3a,GAKA42a,EAAA52a,EAAAwtK,WAAA9nL,KAAA6ua,oBAAAv0Z,IACA,IAAA/O,EAAA+O,EAAAE,UACA2pW,EAAA1jR,WAAAl1F,GACA,IAAAw8K,EAAAztK,EAAA0tK,cACAylE,EAAAhtJ,WAAAsnF,GAEA/nL,KAAA0ua,0BAEA1ua,KAAA8rW,kBAAAxxV,EAAAC,EAAAxV,GAEAg8E,aAAA/gF,KAAAwxb,gBACA,IAAAn9H,EAAA/5S,EAAA+5S,YACAygD,EAAAx6V,EAAA7U,IAAA,yBAEA4uT,GACAr0T,KAAAyxb,2BAAAp9H,EAAAygD,GAGAvpW,EAAAqpN,kBAAA,SAAA7jL,EAAApzB,GACA,IAAAuN,EAAA3f,EAAA4f,aAAAxN,GAEAozB,EAAAl7B,IAAA,QAAAA,IAAA,WACA,IAAAS,EAAA4U,EAAAzlB,IAAA,aAEA6Q,GACAy6B,EAAAn7B,GAAA,kBACAy+S,IACAA,EAAAw6F,UACA7uZ,KAAAoyL,YAAApyL,KAAAyxb,2BAAAp9H,EAAAygD,GACAzgD,EAAAy6F,SAAAnxY,GAEApS,EAAAkoK,cAAA91J,EAAAozB,EAAAzqC,YAEStG,MAAA4V,GAAA,qBACTy+S,GACAA,EAAA06F,WAAApxY,IAES3d,MAGT+wC,EAAA2lN,aAAApgP,GAAA+9S,GACAtjR,EAAAogZ,IAAApgZ,EAAAl7B,IAAA,YAAAk7B,EAAAogZ,IACApgZ,EAAAqgZ,IAAArgZ,EAAAl7B,IAAA,WAAAk7B,EAAAqgZ,IAEAlma,EAAAzlB,IAAA,wBACAsrC,EAAAn7B,GAAA,YAAAm7B,EAAAogZ,GAAA,WACApsb,EAAAqoG,eAAA,CACAjtG,KAAA,qBACA2xL,SAAAx3K,EAAA2R,GACAxG,UAAAsrB,EAAAtrB,cAGAsrB,EAAAn7B,GAAA,WAAAm7B,EAAAqgZ,GAAA,WACArsb,EAAAqoG,eAAA,CACAjtG,KAAA,uBACA2xL,SAAAx3K,EAAA2R,SAIKjsB,MACLuL,EAAAuR,MAAAW,SAAA,SAAAC,GACA,IAAAqzB,EAAArzB,EAAAwwK,eACAn9I,EAAAogZ,IAAApgZ,EAAAl7B,IAAA,YAAAk7B,EAAAogZ,IACApgZ,EAAAqgZ,IAAArgZ,EAAAl7B,IAAA,WAAAk7B,EAAAqgZ,IAEA1za,EAAAid,WAAAl1B,IAAA,wBACAsrC,EAAAn7B,GAAA,YAAAm7B,EAAAogZ,GAAA,WACApsb,EAAAqoG,eAAA,CACAjtG,KAAA,qBACA2xL,SAAAx3K,EAAA2R,GACA6pR,cAAAp4R,EAAA+H,cAGAsrB,EAAAn7B,GAAA,WAAAm7B,EAAAqgZ,GAAA,WACArsb,EAAAqoG,eAAA,CACAjtG,KAAA,uBACA2xL,SAAAx3K,EAAA2R,UAKA,IAAAyla,EAAA,aAAAp3a,EAAA7U,IAAA,WAAA6U,EAAA7U,IAAA,wBACAgZ,EAAAlT,EAAAsS,UAAA,MACAa,EAAAnT,EAAAsS,UAAA,MACAtS,EAAAqpN,kBAAA,SAAA7jL,EAAApzB,GACA,IAAA04O,EAAAtlN,EAAAylN,gBAEA,GAAAk7L,EAAA,CACA,IAAA5wV,EAAAv1F,EAAAkqK,cAAA93J,GACA4yB,EAAA7pC,KAAA44B,MAAAwhE,EAAA,GAAApiF,EAAAoiF,EAAA,GAAAriF,GAEA8xB,EAAA,IACAA,EAAA,EAAA7pC,KAAAC,GAAA4pC,GAGA,IAAAq/X,EAAA9uU,EAAA,GAAAriF,EAEAmxZ,IACAr/X,GAAA7pC,KAAAC,IAGA,IAAA4I,EAAAqga,EAAA,eACAv5K,EAAA7uI,SAAA,CACA4iI,cAAA75M,EACAhhC,eACA86O,WAAA,WAEAgM,EAAAz8C,aAAAy8C,EAAAz8C,WAAArqM,qBAEA8mP,EAAA7uI,SAAA,CACA4iI,aAAA,MAIApqP,KAAAsxb,cAAA,GAEAx7a,QAAA,WACA9V,KAAA0qW,aAAA1qW,KAAA0qW,YAAA50V,UACA9V,KAAA2qW,gBAAA,IAEAjgL,mBAAA,SAAApwK,EAAAC,EAAAxV,EAAAynB,GACA,IAAAjhB,EAAAvL,KAAAm7I,OAAA3gI,UAEAsC,EAAAvR,EAAAuR,MACA2I,EAAA+G,EAAA/G,UACAqwR,EAAAtpR,EAAAspR,cACAz4R,EAAAP,EAAA6vK,eAAAlnK,GACA/H,EAAAZ,EAAAqrK,eAAA2tH,IAEAz4R,GAAAK,KAIAZ,EAAAowK,SAAA,SAAA7vK,GACAg3R,EAAAh3R,EAAA42R,EAAA,MAEAn3R,EAAAW,SAAA,SAAAC,GACA22R,EAAA32R,EAAAw2R,EAAA,MAGA72R,IACAk3R,EAAAl3R,EAAA42R,GACAz0S,EAAA2nB,KAAA9J,EAAAmrK,MAAA,SAAAmpQ,GACAA,EAAAlsa,UAAA,IAIA8uR,EAAAo9I,EAAAz9I,GACAK,EAAAo9I,EAAAzza,MAAA+1R,GACAM,EAAAo9I,EAAAxza,MAAA81R,OAIAv2R,IACA62R,EAAA72R,EAAAw2R,GACAK,EAAA72R,EAAAQ,MAAA+1R,GACAM,EAAA72R,EAAAS,MAAA81R,MAGAn/G,qBAAA,SAAAx6K,EAAAC,EAAAxV,EAAAynB,GACA,IAAA1P,EAAA9c,KAAAm7I,OAAA3gI,UAAAsC,MAEAA,EAAAowK,SAAA,SAAA7vK,GACAg3R,EAAAh3R,EAAA42R,KAEAn3R,EAAAW,SAAA,SAAAC,GACA22R,EAAA32R,EAAAw2R,MAGAu9I,2BAAA,SAAAp9H,EAAAygD,GACA,IAAAptU,EAAA1nC,MAEA,SAAAwD,IACA6wT,EAAA7wT,KAAA,SAAAyxT,GACAvtR,EAAA4lE,aAAA5lE,EAAAyzG,SACAzzG,EAAA0qJ,YAAA6iI,KAAA6/C,EAAAptU,EAAA8pZ,eAAAvlY,WAAAzoD,EAAA,IAAAA,QAHA,IAOAsoW,kBAAA,SAAAxxV,EAAAC,EAAAxV,GACA,IAAAuT,EAAAtY,KAAA0qW,YACAuB,EAAAjsW,KAAA2qW,gBACAllS,EAAAzlE,KAAAylE,MACAntD,EAAArD,kBAAA,SAAAkB,EAAAnU,EAAAC,GACA,IAAAR,EAAAgkE,EAAAlkE,kBAEA,OADAE,EAAA4X,eAAAosD,EAAA5+D,WACApF,EAAA6e,QAAAte,EAAAC,KAAA6nW,EAAA3zV,EAAApR,EAAAuV,KAGA,SAAAA,EAAApV,iBAAA/E,MAKAmY,EAAApD,OAAAoF,EAAA7U,IAAA,SACAwmW,EAAAtjF,UAAAruQ,EAAA7U,IAAA,cACAwmW,EAAAjqP,KAAA1nG,EAAApV,iBAAA6/G,UACAzsG,EAAAzC,IAAA,OAAAA,IAAA,QAAAD,GAAA,eAAAO,GACAyzV,EAAAuC,gBAAAF,EAAA91V,EAAAa,GAAAb,EAAAc,IACAlS,EAAAqoG,eAAA,CACA0kF,SAAAx3K,EAAA2R,GACA9rB,KAAA,YACA6W,GAAAb,EAAAa,GACAC,GAAAd,EAAAc,OAEKrB,GAAA,gBAAAO,GACLyzV,EAAAwC,iBAAAH,EAAA91V,EAAA4B,MAAA5B,EAAAyB,QAAAzB,EAAA0B,SACA9S,EAAAqoG,eAAA,CACA0kF,SAAAx3K,EAAA2R,GACA9rB,KAAA,YACA6hH,KAAA7rG,EAAA4B,MACAH,QAAAzB,EAAAyB,QACAC,QAAA1B,EAAA0B,UAGA7X,KAAA0ua,0BAEAwiB,EAAA52a,EAAAwtK,WAAA9nL,KAAA6ua,oBAAAv0Z,IAEAta,KAAAouP,UAAA9gJ,gBACKttG,OA9BLsY,EAAAjD,WAgCAq5Z,wBAAA,WACA,IAAAp0Z,EAAAta,KAAAm7I,OACA5vI,EAAA+O,EAAAE,UAEAo0Z,EAAA5ua,KAAA6ua,oBAAAv0Z,GAEA28W,EAAA,CAAA23C,KACArja,EAAAqpN,kBAAA,SAAA7jL,EAAApzB,GACAozB,EAAAgzC,KAAA,QAAAkzS,MAGA43C,oBAAA,SAAAv0Z,GACA,IAAArV,EAAAqV,EAAApV,iBAEA,YAAAD,EAAA9E,KACA,SAGA,IAAA+0W,EAAAl1W,KAAAyua,gBACAK,EAAA7pa,EAAA8S,MACAg3Z,EAAAD,KAAA,MAEAE,EAAA/pa,EAAA8/G,UACA6pT,GAAAI,EAAA,GAAA95D,EAAA,EACA,OAAA05D,EAAAG,GAEAzhU,aAAA,SAAAhzF,GACA42a,EAAA52a,EAAAwtK,WAAA9nL,KAAA6ua,oBAAAv0Z,IAEAta,KAAAqkX,YAAA/2Q,eAEAttG,KAAAouP,UAAA9gJ,gBAEA9gG,OAAA,SAAA+N,EAAAxV,GACA/E,KAAAqkX,aAAArkX,KAAAqkX,YAAA73W,SACAxM,KAAAouP,WAAApuP,KAAAouP,UAAA5hP,YAIA9J,EAAAC,QAAAF,wBChZAC,EAAAC,QAAiB9D,EAAQ,8BC6CzB,IA7CA,IAAA+yb,EAAiB/yb,EAAQ,QACzB4+N,EAAc5+N,EAAQ,QACtBs4T,EAAet4T,EAAQ,QACvBqsD,EAAarsD,EAAQ,QACrBu4T,EAAWv4T,EAAQ,QACnB4wN,EAAgB5wN,EAAQ,QACxBy4T,EAAUz4T,EAAQ,QAClByE,EAAAg0T,EAAA,YACAu6H,EAAAv6H,EAAA,eACAw6H,EAAAriO,EAAAjyM,MAEAu0a,EAAA,CACAC,aAAA,EACAC,qBAAA,EACAC,cAAA,EACAC,gBAAA,EACAC,aAAA,EACAC,eAAA,EACAC,cAAA,EACAC,sBAAA,EACAC,UAAA,EACAC,mBAAA,EACAC,gBAAA,EACAC,iBAAA,EACAC,mBAAA,EACAC,WAAA,EACAC,eAAA,EACAC,cAAA,EACAC,UAAA,EACAC,kBAAA,EACAC,QAAA,EACAC,aAAA,EACAC,eAAA,EACAC,eAAA,EACAC,gBAAA,EACAC,cAAA,EACAC,eAAA,EACAC,kBAAA,EACAC,kBAAA,EACAC,gBAAA,EACAC,kBAAA,EACAC,eAAA,EACAC,WAAA,GAGAC,EAAAt2N,EAAAs0N,GAAAhnb,EAAA,EAAoDA,EAAAgpb,EAAAxwb,OAAwBwH,IAAA,CAC5E,IAIAE,EAJAm1V,EAAA2zF,EAAAhpb,GACAipb,EAAAjC,EAAA3xF,GACA6zF,EAAA/oY,EAAAk1S,GACAjhU,EAAA80Z,KAAAh0b,UAEA,GAAAk/B,IACAA,EAAA77B,IAAA8zT,EAAAj4R,EAAA77B,EAAAwub,GACA3yZ,EAAA0yZ,IAAAz6H,EAAAj4R,EAAA0yZ,EAAAzxF,GACA3wI,EAAA2wI,GAAA0xF,EACAkC,GAAA,IAAA/ob,KAAA2mb,EAAAzyZ,EAAAl0B,IAAAksT,EAAAh4R,EAAAl0B,EAAA2mb,EAAA3mb,IAAA,wBCvDAtI,EAAAiB,EAAAmF,OAAAmrb,4CCoBA,IAAAvmb,EAAY9O,EAAQ,QAEpBsoB,EAAAxZ,EAAAwZ,KACA0jC,EAAAl9C,EAAAk9C,cAEAjoC,EAAkB/jB,EAAQ,QAE1BgxM,EAA0BhxM,EAAQ,QAoBlC4D,EAAAmgB,EAAAle,OAAA,CACAvE,KAAA,kBACA4lH,aAAA,aACA/iG,sBAAA,kBACAa,eAAA,SAAAV,EAAA5I,GACA,IAAA0f,EAAAj6B,KAAAuiB,YAEA,OADA4xa,EAAAl6Z,EAAAj6B,MACA6vM,EAAA51K,EAAAj6B,OAUAo0b,2BAAA,SAAAjsK,GACA,IAAAljR,EAAAjF,KAAAkF,iBACAqG,EAAAvL,KAAAwa,UACAizC,EAAA,GAMA,OALAxoD,EAAAijR,gBAAA38Q,EAAA,SAAA8ob,EAAA5ua,GACA0iQ,IAAAksK,GACA5mY,EAAA96C,KAAApH,EAAAshL,YAAApnK,MAGAgoC,GAEA3qC,cAAA,CACAq5F,OAAA,EAEAh/E,EAAA,EAEAj4B,iBAAA,WACAykR,cAAA,EACA7kQ,MAAA,CACAo3F,MAAA,GAEA0+R,gBAAA,IACAC,cAAA,EACAphQ,UAAA,CACAn3I,MAAA,EACAwxD,QAAA,IACA3zD,KAAA,SAEA08G,SAAA,CACA/3F,MAAA,CACAo3F,MAAA,IAGAu/D,YAAA,IACAokE,QAAA,EAEA36B,gBAAA,YAIA,SAAAivO,EAAAl6Z,EAAA3f,GAOA,IAAA2f,EAAAwtD,aAAA,CAIA,IAAA8mH,EAAAj0L,EAAAC,QAAAmS,aAAA,WAAApS,EAAA7U,IAAA,kBAEA,GAAA8oM,EAAA,CAIA,IAAA9mH,EAAAxtD,EAAAwtD,aAAA58B,IACA1jC,EAAAonL,EAAA91H,WAAA,SAAA+9D,GACA,IAAA29D,EAAAmgP,EAAA99S,GACA/uD,EAAAr0D,IAAAojH,EAAA29D,OAIA,SAAAmgP,EAAA57W,GACA,OAAAA,EAAAnuE,QAAA,UAGA7H,EAAAC,QAAAF,sBC9FA,SAAA4b,EAAA9V,GAKA,OAJAA,aAAAiV,QACAjV,EAAA,CAAAA,MAGAA,EAGA,SAAA9F,EAAA8X,GACAA,EAAA+kG,iBAAA,iBAAAhlG,GACA,IAAAwC,EAAAxC,EAAAwtK,WACAC,EAAAztK,EAAA0tK,cACA19J,EAAAjM,EAAA/D,EAAA7U,IAAA,eACA6X,EAAAe,EAAA/D,EAAA7U,IAAA,mBACAwiL,EAAA,kBAAAx5K,MAAA,KACAy5K,EAAA,oBAAAz5K,MAAA,KACAs5K,EAAAv9J,UAAA,aAAAF,KAAA,IACAy9J,EAAAv9J,UAAA,WAAAF,KAAA,IACAy9J,EAAAv9J,UAAA,iBAAAlN,KAAA,IACAyqK,EAAAv9J,UAAA,eAAAlN,KAAA,IACAyqK,EAAAv9J,UAAA,QAAAlQ,EAAA7U,IAAAwiL,IACAF,EAAAv9J,UAAA,UAAAlQ,EAAA7U,IAAAyiL,IACAH,EAAA5gK,KAAA,SAAAxJ,GACA,IAAAuN,EAAA68J,EAAA58J,aAAAxN,GACAD,EAAAZ,EAAAqrK,eAAAxqK,GACA2M,EAAAjM,EAAA6M,EAAA/C,WAAA,cACA7K,EAAAe,EAAA6M,EAAA/C,WAAA,kBAEArB,EAAAoE,EAAAzlB,IAAAwiL,GACAn0H,EAAA5oC,EAAAzlB,IAAAyiL,GAEA,OAAAphK,GACA,aACAA,EAAApJ,EAAAQ,MAAAX,UAAA,SACA,MAEA,aACAuJ,EAAApJ,EAAAS,MAAAZ,UAAA,SACA,MAGA+M,EAAA,IAAA5M,EAAA8M,UAAA,aAAAF,EAAA,IACAA,EAAA,IAAA5M,EAAA8M,UAAA,WAAAF,EAAA,IACAhN,EAAA,IAAAI,EAAA8M,UAAA,iBAAAlN,EAAA,IACAA,EAAA,IAAAI,EAAA8M,UAAA,eAAAlN,EAAA,IACAI,EAAA8M,UAAA,QAAA1D,GACApJ,EAAA8M,UAAA,UAAAspC,OAKApxD,EAAAC,QAAAF,wBCrEA,IAAAjD,EAAaX,EAAQ,QAoBrB,SAAAutO,EAAAC,EAAA7qD,GAEA,IAAAx8K,EAAAhF,KAAAi8I,UACAhzI,EAAAu4K,aAAAhkK,MAAAgkK,EAAA,GAAAA,EACA/D,GAAA4uD,aAAA7uN,MAAA6uN,EAAA,GAAAA,GAAA,EACA,mBAAArnO,EAAA7E,KAAA6E,EAAA+C,eAAArB,KAAAiR,IAAA3S,EAAAo8G,YAAAn4G,EAAAw0K,GAAAz4K,EAAAo8G,YAAAn4G,EAAAw0K,IAGA,SAAAh7K,EAAAwC,GACA,IAAAxD,EAAAwD,EAAAkD,UACA,OACAlD,SAAA,CACA9E,KAAA,aACA6B,EAAAP,EAAAO,EACAC,EAAAR,EAAAQ,EACAK,MAAAb,EAAAa,MACAC,OAAAd,EAAAc,QAEAwC,IAAA,CACAwb,MAAA,SAAAtX,GAEA,OAAAhE,EAAAM,YAAA0D,IAEAgS,KAAAzb,EAAAoJ,KAAAwjO,EAAAnnO,KAKAvC,EAAAC,QAAAF,wBCpEA,IAAAwvI,EAAkBpzI,EAAQ,QAgB1B,SAAA2uI,EAAA39H,GACA7P,KAAAkwI,QAAArgI,EAAAwG,OAEArW,KAAAkyI,MAAAriI,EAAA0gI,MAAA,IAEAvwI,KAAA2wI,OAAA9gI,EAAA6gI,OAAA,EAGA1wI,KAAAmyI,cAAA,EAEAnyI,KAAAwwI,KAAA,MAAA3gI,EAAA2gI,MAAA3gI,EAAA2gI,KACAxwI,KAAAmiF,IAAAtyE,EAAAsyE,KAAA,EACAniF,KAAA+7B,OAAAlsB,EAAAksB,QAAA,SACA/7B,KAAAqwI,QAAAxgI,EAAAwgI,QACArwI,KAAA4wI,UAAA/gI,EAAA+gI,UACA5wI,KAAAoyI,UAAAviI,EAAAuiI,UACApyI,KAAAqyI,YAAA,EACAryI,KAAAqxI,SAAA,EAGA7D,EAAAvtI,UAAA,CACAC,YAAAstI,EACAhqI,KAAA,SAAA8uI,EAAAtyD,GAQA,GALAhgF,KAAAmyI,eACAnyI,KAAAuyI,WAAAD,EAAAtyI,KAAA2wI,OACA3wI,KAAAmyI,cAAA,GAGAnyI,KAAAqxI,QACArxI,KAAAqyI,aAAAryD,MADA,CAKA,IAAAm4B,GAAAm6B,EAAAtyI,KAAAuyI,WAAAvyI,KAAAqyI,aAAAryI,KAAAkyI,MAEA,KAAA/5B,EAAA,IAIAA,EAAAzxG,KAAAQ,IAAAixG,EAAA,GACA,IAAAp8E,EAAA/7B,KAAA+7B,OACAy2G,EAAA,kBAAAz2G,EAAAk2G,EAAAl2G,KACA02G,EAAA,oBAAAD,IAAAr6B,KAGA,OAFAn4G,KAAA0yI,KAAA,QAAAD,GAEA,IAAAt6B,EACAn4G,KAAAwwI,MACAxwI,KAAA2yI,QAAAL,GAGA,YAKAtyI,KAAA4yI,cAAA,EACA,WAGA,QAEAD,QAAA,SAAAL,GACA,IAAA34B,GAAA24B,EAAAtyI,KAAAuyI,WAAAvyI,KAAAqyI,aAAAryI,KAAAkyI,MACAlyI,KAAAuyI,WAAAD,EAAA34B,EAAA35G,KAAAmiF,IACAniF,KAAAqyI,YAAA,EACAryI,KAAA4yI,cAAA,GAEAF,KAAA,SAAAG,EAAA7sF,GACA6sF,EAAA,KAAAA,EAEA7yI,KAAA6yI,IACA7yI,KAAA6yI,GAAA7yI,KAAAkwI,QAAAlqF,IAGAorF,MAAA,WACApxI,KAAAqxI,SAAA,GAEAC,OAAA,WACAtxI,KAAAqxI,SAAA,IAGA,IAAA5uI,EAAA+qI,EACA9qI,EAAAC,QAAAF,wBChFA,IAAA7D,EAAcC,EAAQ,QAEtBA,EAAQ,QAERA,EAAQ,QAERA,EAAQ,QAER,IAAA01b,EAAqB11b,EAAQ,QAoB7BD,EAAAO,eAAAo1b,yBC/CA,IAAAnzN,EAAcviO,EAAQ,QACtB0tY,EAAW1tY,EAAQ,QACnBw4T,EAAYx4T,EAAQ,QACpB6D,EAAAC,QAAA,SAAA+0T,EAAAnmT,GACA,IAAAnO,GAAAmpY,EAAAxjY,QAAA,IAA6B2uT,IAAA3uT,OAAA2uT,GAC7Bj0M,EAAA,GACAA,EAAAi0M,GAAAnmT,EAAAnO,GACAg+N,IAAApoG,EAAAooG,EAAAl4K,EAAAmuQ,EAAA,WAAqDj0T,EAAA,KAAS,SAAAqgH,0BCY9D,IAAAm5G,EAAe/9N,EAAQ,QAoBvB4D,EAAA,CACA6qR,mBAAA,EACAjjQ,kBAAA,EACAhQ,MAAA,SAAAC,EAAAC,GACA,IAAAhP,EAAA+O,EAAAE,UACAg6a,GAAAl6a,EAAA0I,uBAAA,mBAAAvU,MAAA,KACAqY,EAAAxM,EAAA7U,IAAA+ub,IACAl6a,EAAA+N,oBACA/N,EAAAhM,KAAA,KAAAiM,EAAAy+Z,kBAKA,GAFAzta,EAAAif,UAAA,QAAA1D,IAEAvM,EAAAoQ,iBAAArQ,GAAA,CACA,oBAAAwM,gBAAA81M,GACArxN,EAAA4b,KAAA,SAAAxJ,GACApS,EAAA0f,cAAAtN,EAAA,QAAAmJ,EAAAxM,EAAA0Q,cAAArN,OAKA,IAAAkN,EAAA,SAAAtf,EAAAoS,GACA,IAAAuN,EAAA3f,EAAA4f,aAAAxN,GACAmJ,EAAAoE,EAAAzlB,IAAA+ub,GAAA,GAEA,MAAA1ta,GACAvb,EAAA0f,cAAAtN,EAAA,QAAAmJ,IAIA,OACA+D,SAAAtf,EAAAuf,cAAAD,EAAA,SAKAnoB,EAAAC,QAAAF,wBC3EA,IAAAm7N,EAAe/+N,EAAQ,QACvB6uY,EAAY7uY,EAAQ,QAEpBA,EAAQ,OAARA,CAAuB,kBACvB,gBAAA0O,GACA,OAAAmgY,EAAA9vK,EAAArwN,6BCNA,IAAAsmF,EAAUh1F,EAAQ,QAClByiO,EAAgBziO,EAAQ,QACxB41b,EAAmB51b,EAAQ,OAARA,EAA2B,GAC9C47R,EAAe57R,EAAQ,OAARA,CAAuB,YAEtC6D,EAAAC,QAAA,SAAAorB,EAAAw2D,GACA,IAGAt5E,EAHAi8L,EAAAo6B,EAAAvzM,GACAhjB,EAAA,EACArH,EAAA,GAEA,IAAAuH,KAAAi8L,EAAAj8L,GAAAwvR,GAAA5mM,EAAAqzG,EAAAj8L,IAAAvH,EAAAiP,KAAA1H,GAEA,MAAAs5E,EAAAhhF,OAAAwH,EAAA8oF,EAAAqzG,EAAAj8L,EAAAs5E,EAAAx5E,SACA0pb,EAAA/wb,EAAAuH,IAAAvH,EAAAiP,KAAA1H,IAEA,OAAAvH,uBCuBA,SAAAjB,EAAA8X,GACA,IAAAm/V,EAAAn/V,EAAAo/V,eAAA,CACA3tV,SAAA,WAGA0tV,KAAAn2W,QAIAgX,EAAA+kG,iBAAA,iBAAAk1M,GACA,IAAA7sI,EAAA6sI,EAAA5sI,oBACA9qK,EAAA03S,EAAA1sI,WACAv8K,EAAAuR,EAAAvR,KACAmpb,EAAA/sQ,EAAA4B,SAAA5B,EAAA//J,SACArc,EAAAinK,WAAA,SAAA70J,GACA,IAAAgG,EAAApY,EAAA4f,aAAAxN,GACAw7H,EAAAx1H,EAAAwE,WAAA,YAEA,SAAAgxH,EAAA,CACA,kBAAAA,IACAA,EAAAu7S,EAAAv7S,IAIA,QAAApuI,EAAA,EAAuBA,EAAA2uW,EAAAn2W,OAAyBwH,IAChD,IAAA2uW,EAAA3uW,GAAAw9M,WAAApvE,GACA,SAKA,YAEGn5I,MAGH0C,EAAAC,QAAAF,wBCtDA,IAAA7D,EAAcC,EAAQ,QAEtBW,EAAaX,EAAQ,QAErBs2N,EAAkBt2N,EAAQ,QAE1B24N,EAAsB34N,EAAQ,QAE9BowR,EAAkBpwR,EAAQ,QAE1BqF,EAAcrF,EAAQ,QAoBtB+lb,EAAA,wCACAtgb,EAAA1F,EAAAu7I,oBAAA,CACAh6I,KAAA,eAKA+iB,KAAA,SAAA3I,EAAAxV,GACAT,EAAAgiK,WAAAtmK,KAAA,OAAA2I,YAKA3I,KAAAy3N,iBAAA,IAAAD,EAAAzyN,EAAA2sB,UAAA9b,GAAA,QAAApW,EAAAoJ,KAAA5I,KAAA03N,SAAA13N,QAMAkzD,OAAA,SAAAruD,EAAA0V,EAAAxV,EAAAynB,GACA,IAAAmoa,EAAA9vb,EAAA0V,EAAAiS,GAAA,CAIAxsB,KAAA6E,YACA7E,KAAA+E,MACA/E,KAAAylE,MAAApB,YACA,IAAAgwT,EAAAr0X,KAAAs0X,WAIA,GAHAt0X,KAAAs0X,WAAA,IAAApwX,EAAA80M,MACAh5M,KAAAylE,MAAAloC,IAAAv9B,KAAAs0X,YAEAzvX,EAAAY,IAAA,SAIA,IAAAmrR,EAAAx6I,EAAAvxI,EAAA0V,GACAtV,EAAA2rR,EAAA1rR,iBACAi4Z,EAAAt4Z,EAAAq4Z,qBACA03B,EAAAz3B,EAAA76Z,MACAgZ,EAAAzW,EAAAG,KAAAsW,IACA48R,EAAAjzS,EAAAkzS,cAAA78R,GACAu5a,EAAAr1b,EAAAkF,OAAA,CACA0uR,uBAAAwhK,GACK18I,GACLpiF,EAAA,IAAAX,EAAAtwN,EAAAgwb,GACAr1b,EAAA2nB,KAAAy9Z,EAAA9uN,EAAAv4L,IAAAu4L,GAEA91N,KAAAs0X,WAAA/2V,IAAAu4L,EAAAC,YAEA/1N,KAAA80b,wBAAAD,EAAA13B,EAAAt4Z,EAAA+rR,EAAAgkK,EAAA7vb,GAEA,IAAAm4R,EAAA1wQ,IAAA,IAAAA,EAAAkxD,UAAA,KAAA74E,EACAX,EAAAmkW,gBAAAgsB,EAAAr0X,KAAAs0X,WAAAp3F,MASA43J,wBAAA,SAAAD,EAAA13B,EAAAt4Z,EAAA+rR,EAAAgkK,EAAA7vb,GAEA,IAAAgW,EAAAlW,EAAAG,KAAAgW,YACA+5a,EAAAh6a,EAAA,GAAAA,EAAA,GACA+4L,EAAAptM,KAAAQ,IAAA,MAAAR,KAAAiR,IAAAo9a,IAIAtzb,EAAAyC,EAAAuJ,aAAAqhC,OAAA,CACA9sC,EAAA+Y,EAAA,GACA9Y,GAAA2yb,EAAA,EACAtyb,MAAAyyb,EACAxyb,OAAAqyb,IAEAnzb,EAAAO,GAAA8xM,EACAryM,EAAAa,OAAA,EAAAwxM,EAEA9zM,KAAAy3N,iBAAAE,MAAA,CACAud,iBAAA,EACA1uO,SAAAqub,EAAArub,SACAF,SAAAuub,EAAAvub,WACK+xN,UAAA,EACLoZ,QAAA,KACAyC,SAAA+6C,EAAAyB,sBAAAjvR,GACA8vO,iBAAA09C,EAAA0B,yBAAAlvR,EAAAsD,EAAA6rR,GACA56C,0BAAAi5C,EAAA4B,2BAAApvR,EAAA,MACK82N,YAAA,CACL6X,UAAA,QACAhB,WAAA+tL,EACAjlM,eAAA,IACKO,aAAAu8N,EAAAnwb,KAEL6yN,SAAA,SAAAu9N,EAAA7/a,GAEA,IAAAvQ,EAAA7E,KAAA6E,UACAG,EAAAH,EAAAG,KACAupY,EAAA/uY,EAAA4N,IAAA6nb,EAAA,SAAAC,GACA,OAAAlwb,EAAA0gJ,YAAAwvS,EAAAl9U,MAAA,OAAAhzG,EAAA0gJ,YAAAwvS,EAAAl9U,MAAA,YAKAnzG,EAAAse,OAAAs1P,WAAArjQ,EAAAurM,OAAAvrM,EAAA8iN,gBAEAl4N,KAAA+E,IAAAqoG,eAAA,CACAjtG,KAAA,iBACAg1b,eAAAtwb,EAAAonB,GACAsiX,eAQAz4X,QAAA,WACA9V,KAAAy3N,iBAAA3hN,aAIA,SAAA6+a,EAAA9vb,EAAA0V,EAAAiS,GACA,OAAAA,GAAA,mBAAAA,EAAArsB,MAAAoa,EAAAo/V,eAAA,CACA3tV,SAAA,eACAgqH,MAAAxpH,IACG,KAAA3nB,EAGH,SAAAmwb,EAAAnwb,GACA,IAAAG,EAAAH,EAAAG,KACA,OAAAxF,EAAA4N,IAAAvI,EAAAo4Z,gBAAA,SAAAvgZ,GACA,OACA0zN,UAAA,QACAqB,QAAA,KACAz5H,MAAA,CAAAhzG,EAAAo8G,YAAA1kG,EAAA,OAAA1X,EAAAo8G,YAAA1kG,EAAA,WAKA,SAAA05H,EAAAvxI,EAAA0V,GACA,OAAAA,EAAAmS,aAAA,WAAA7nB,EAAAY,IAAA,kBAGA,IAAAhD,EAAA6B,EACA5B,EAAAC,QAAAF,sBCxJA,IAAAilE,EAAA,yMAEA,SAAAjlE,EAAA2uP,EAAAxwJ,GACA,UAAAwwJ,GAAA,OAAAxwJ,EAAAtyF,MACAsyF,EAAAhhF,WAAAjN,KAAA,CACAxS,KAAA,UACAigB,SAAAsnD,EAAA,KAKAhlE,EAAAC,QAAAF,wBCjCA,IAAAjD,EAAaX,EAAQ,QAErB6jJ,EAAY7jJ,EAAQ,QAEpB+qZ,EAAoB/qZ,EAAQ,QAE5B+sL,EAAa/sL,EAAQ,QAErBowL,EAAArD,EAAAqD,sBACAX,EAAA1C,EAAA0C,eAEAnzC,EAAat8I,EAAQ,QAErB8jB,EAAAw4H,EAAAx4H,UAEA1c,EAAapH,EAAQ,QAErBu2b,EAAqBv2b,EAAQ,QA0B7B6jB,EAAAC,IASAd,EAAA6gI,EAAAh+I,OAAA,CACAvE,KAAA,YAMA8rB,GAAA,GAWA3d,KAAA,GAMA0d,SAAA,GAMA7H,QAAA,GAMAb,eAAA,EAMAR,cAAA,KAMAvI,QAAA,KAQAuvQ,gBAAA,GAMA9/P,IAAA,KAQA/G,WAAA,KACA2rK,aAAA,SAAAzrK,EAAAC,EAAA7I,EAAA8I,GACAq/H,EAAA3iJ,KAAAC,KAAAmjB,EAAAC,EAAA7I,EAAA8I,GACArjB,KAAAgqB,IAAA4/X,EAAAj6L,OAAA,iBAEAzsM,KAAA,SAAAC,EAAAC,EAAA7I,EAAA8I,GACArjB,KAAA4jB,qBAAAT,EAAA5I,IAEAqJ,qBAAA,SAAAT,EAAA5I,GACA,IAAA0I,EAAAjjB,KAAAijB,WACAgB,EAAAhB,EAAAhd,EAAAgc,gBAAAkB,GAAA,GACAg0H,EAAA58H,EAAA8J,WACA7kB,EAAA2L,MAAAgY,EAAAg0H,EAAA1xI,IAAAzF,KAAAgsB,WACAxsB,EAAA2L,MAAAgY,EAAAnjB,KAAAskB,oBAEArB,GACAhd,EAAAic,iBAAAiB,EAAAc,EAAAhB,IAGAwB,YAAA,SAAAtB,EAAAE,GACA7jB,EAAA2L,MAAAnL,KAAAmjB,UAAA,GACA,IAAAF,EAAAjjB,KAAAijB,WAEAA,GACAhd,EAAAic,iBAAAliB,KAAAmjB,SAAAF,IAIAm0H,cAAA,SAAAwgS,EAAAjmO,KACArtL,iBAAA,WACA,IAAAkrR,EAAA9sR,EAAA1iB,MAEA,IAAAwvS,EAAA1sR,cAAA,CACA,IAAAuya,EAAA,GACAC,EAAAt1b,KAAAE,YAEA,MAAAo1b,EAAA,CACA,IAAAlgb,EAAAkgb,EAAAr1b,UAAA6iB,cACA1N,GAAAigb,EAAA1ib,KAAAyC,GACAkgb,IAAAlsY,WAKA,IAFA,IAAAtmC,EAAA,GAEA/X,EAAAsqb,EAAA9xb,OAAA,EAAsCwH,GAAA,EAAQA,IAC9C+X,EAAAtjB,EAAA2L,MAAA2X,EAAAuya,EAAAtqb,IAAA,GAGAykS,EAAA1sR,gBAGA,OAAA0sR,EAAA1sR,eAEA8kE,uBAAA,SAAA57D,GACA,OAAAhsB,KAAAua,QAAAwR,gBAAA,CACAC,WACAnoB,MAAA7D,KAAAyF,IAAAumB,EAAA,YACAC,GAAAjsB,KAAAyF,IAAAumB,EAAA,cAyBA,SAAAupa,EAAAhvU,GACA,IAAAN,EAAA,GAaA,OAZAzmH,EAAA2nB,KAAAtF,EAAA4tK,qBAAAlpE,GAAA,SAAA8oE,GACAppE,IAAAv8D,OAAA2lI,EAAApvL,UAAA8lH,cAAA,MAGAE,EAAAzmH,EAAA4N,IAAA64G,EAAA,SAAA9lH,GACA,OAAAmuL,EAAAnuL,GAAA6sE,OAGA,YAAAu5C,GAAA/mH,EAAA4rC,QAAA66E,EAAA,eACAA,EAAA9wC,QAAA,WAGA8wC,EArBAgpE,EAAAptK,EAAA,CACAguK,oBAAA,IAEA+5N,EAAAh6L,uBAAA/tM,GAEA+nY,EAAA35L,wBAAApuM,EAAA0za,GAmBA/1b,EAAAoZ,MAAAiJ,EAAAuza,GACA,IAAA3yb,EAAAof,EACAnf,EAAAC,QAAAF,wBC/NA,IAAAyB,EAAcrF,EAAQ,QAEtBW,EAAaX,EAAQ,QA8BrB,SAAAs6M,EAAA53B,EAAA5jK,EAAA0wN,GACAnqO,EAAA80M,MAAAj5M,KAAAC,MAEAA,KAAAw1b,gBAAAj0Q,EAAA5jK,EAAA0wN,GAGA,IAAAonN,EAAAt8O,EAAAl5M,UAEAw1b,EAAAD,gBAAA,SAAAj0Q,EAAA5jK,EAAA0wN,GAEA,IAAA3mK,EAAA65G,EAAA9L,cAAA93J,GACAnW,EAAA,IAAAtD,EAAAi1M,SAAA,CACAvxM,MAAA,CACA8/D,YAGA1nE,KAAAu9B,IAAA/1B,GAEAxH,KAAA03X,iBAAAn2M,EAAA5jK,EAAA0wN,IAGAonN,EAAAh1V,WAAA,SAAA8gF,EAAA5jK,EAAA0wN,GACA,IAAA/zN,EAAAinK,EAAAp4E,UACA3hG,EAAAxH,KAAA4xE,QAAA,GACAv7D,EAAA,CACAzO,MAAA,CACA8/D,OAAA65G,EAAA9L,cAAA93J,KAGAzZ,EAAAkuM,YAAA5qM,EAAA6O,EAAAiE,EAAAqD,GAEA3d,KAAA03X,iBAAAn2M,EAAA5jK,EAAA0wN,IAGAonN,EAAA/9D,iBAAA,SAAAn2M,EAAA5jK,EAAA0wN,GACA,IAAA7mO,EAAAxH,KAAA4xE,QAAA,GACA1mD,EAAAq2J,EAAAp2J,aAAAxN,GACAilF,EAAA2+E,EAAA/5J,cAAA7J,EAAA,SACA87H,EAAA40F,KAAA50F,UACA6oO,EAAAj0I,KAAAi0I,eAEAj0I,IAAA9sD,EAAAz2J,gBACA2uH,EAAAvuH,EAAAyP,SAAA,aAAA8/K,eACA6nK,EAAAp3V,EAAAyP,SAAA,sBAAA8/K,gBAGAjzM,EAAAyqM,SAAAzyM,EAAA8V,SAAA,CACA4mM,eAAA,EACAx7M,KAAA,OACAC,OAAAiiG,GACG62C,IACHjyI,EAAAoyM,WAAA0oK,EACAp+W,EAAA41M,cAAA95M,OAGAy1b,EAAAnoV,aAAA,SAAAi0E,EAAA5jK,GACA,IAAA+jK,EAAA1hL,KAAA4xE,QAAA,GACA8vG,EAAAg4B,SAAA,SAAAn4B,EAAA9L,cAAA93J,KAGAne,EAAAgD,SAAA22M,EAAAj1M,EAAA80M,OACA,IAAAv2M,EAAA02M,EACAz2M,EAAAC,QAAAF,wBClHA,IAAAmH,EAAe/K,EAAQ,QACvButX,EAAevtX,EAAQ,QAGvB62b,EAAA,IAGAC,EAAA,aAGAC,EAAA,qBAGAC,EAAA,aAGAC,EAAA,cAGAC,EAAA5ib,SAyBA,SAAAwjM,EAAA1yM,GACA,oBAAAA,EACA,OAAAA,EAEA,GAAAmoX,EAAAnoX,GACA,OAAAyxb,EAEA,GAAA9rb,EAAA3F,GAAA,CACA,IAAA6xG,EAAA,mBAAA7xG,EAAAinK,QAAAjnK,EAAAinK,UAAAjnK,EACAA,EAAA2F,EAAAksG,KAAA,GAAAA,EAEA,oBAAA7xG,EACA,WAAAA,OAEAA,IAAAsG,QAAAorb,EAAA,IACA,IAAAK,EAAAH,EAAArnQ,KAAAvqL,GACA,OAAA+xb,GAAAF,EAAAtnQ,KAAAvqL,GACA8xb,EAAA9xb,EAAAi7B,MAAA,GAAA82Z,EAAA,KACAJ,EAAApnQ,KAAAvqL,GAAAyxb,GAAAzxb,EAGAvB,EAAAC,QAAAg0M,wBC7CA,IAAA/3M,EAAcC,EAAQ,QAEtB8O,EAAY9O,EAAQ,QAEpBgsD,EAAAl9C,EAAAk9C,cACA1jC,EAAAxZ,EAAAwZ,KAoBAvoB,EAAAS,kBAAA,CAIA0tR,gBAAA,SAAAxyQ,GACA,IAAA07a,EAAAprY,IASA,OARAtwC,EAAA8kG,cAAA,oBAAAvzF,GACAA,EAAA0rQ,eAAA,SAAAC,EAAAn7B,EAAAxwO,GACA,IAAA2tQ,EAAA3tQ,EAAA4rQ,aAAAD,EAAAnpR,KAAAguP,GACAn1O,EAAAsyQ,EAAA9B,wBAAA,SAAAr9Q,GACA27a,EAAA7ia,IAAA9Y,EAAA0P,IAAA1P,SAIA27a,GAEA77a,iBAAA,EAIAmyQ,aAAA,SAAAhyQ,EAAAxV,GACAwV,EAAA8kG,cAAA,oBAAAvzF,GAIAA,EAAA0rQ,eAAA,SAAAC,EAAAn7B,EAAAxwO,GACAA,EAAA4rQ,aAAAD,EAAAnpR,KAAAguP,GAAAjiP,MAAAyR,EAAA/mB,KAgBA+mB,EAAA0rQ,eAAA,SAAAC,EAAAn7B,EAAAxwO,GACAA,EAAA4rQ,aAAAD,EAAAnpR,KAAAguP,GAAA+1D,WAAAvmS,EAAA/mB,OAGAwV,EAAA8kG,cAAA,oBAAAvzF,GAGA,IAAA2tQ,EAAA3tQ,EAAA+sQ,8BACA3sQ,EAAAutQ,EAAAkoG,uBACAl+K,EAAAg2E,EAAAI,qBACA/tQ,EAAA+pX,YAAA,CACAzpX,MAAAF,EAAA,GACA3C,IAAA2C,EAAA,GACA4nX,WAAArwL,EAAA,GACAswL,SAAAtwL,EAAA,KACO,4BClGP,IAAAvpM,EAAAxT,KAAAwT,MAiBA,SAAAvS,EAAAuub,EAAAC,EAAA51b,GACA,IAAAkQ,EAAAlQ,KAAAkQ,UAEA,GAAA0lb,GAAA1lb,EAAA,CAIA,IAAAm/C,EAAAumY,EAAAvmY,GACApwB,EAAA22Z,EAAA32Z,GACAqwB,EAAAsmY,EAAAtmY,GACApwB,EAAA02Z,EAAA12Z,GAEAvlB,EAAA,EAAA01C,KAAA11C,EAAA,EAAAslB,GACA02Z,EAAAtmY,GAAAsmY,EAAA12Z,GAAAulM,EAAAn1K,EAAAn/C,GAAA,IAEAylb,EAAAtmY,KACAsmY,EAAA12Z,MAGAtlB,EAAA,EAAA21C,KAAA31C,EAAA,EAAAulB,GACAy2Z,EAAArmY,GAAAqmY,EAAAz2Z,GAAAslM,EAAAl1K,EAAAp/C,GAAA,IAEAylb,EAAArmY,KACAqmY,EAAAz2Z,OAoBA,SAAA2tM,EAAA8oN,EAAAC,EAAA51b,GACA,IAAAkQ,EAAAlQ,KAAAkQ,UAEA,GAAA0lb,GAAA1lb,EAAA,CAIA,IAAAmH,EAAAu+a,EAAAn0b,EACA6V,EAAAs+a,EAAAl0b,EACAmiW,EAAA+xF,EAAA7zb,MACA+hW,EAAA8xF,EAAA5zb,OACA2zb,EAAAl0b,EAAA+iO,EAAAntN,EAAAnH,GAAA,GACAylb,EAAAj0b,EAAA8iO,EAAAltN,EAAApH,GAAA,GACAylb,EAAA5zb,MAAAoE,KAAAS,IAAA49N,EAAAntN,EAAAwsV,EAAA3zV,GAAA,GAAAylb,EAAAl0b,EAAA,IAAAoiW,EAAA,KACA8xF,EAAA3zb,OAAAmE,KAAAS,IAAA49N,EAAAltN,EAAAwsV,EAAA5zV,GAAA,GAAAylb,EAAAj0b,EAAA,IAAAoiW,EAAA,MAYA,SAAAt/H,EAAAz+N,EAAAmK,EAAA6zV,GAGA,IAAAC,EAAArqV,EAAA,EAAA5T,GACA,OAAAi+V,EAAArqV,EAAAzJ,IAAA,MAAA8zV,EAAA,GAAAA,GAAAD,EAAA,SAGA3hW,EAAAgF,uBACAhF,EAAAyqO,uBACAzqO,EAAAoiO,uCC1FA,SAAA/lN,EAAA3e,EAAAuH,GACA,IAKA+9a,EACAvwV,EACAghW,EACAC,EAkCA7nU,EA1CAxsH,EAAA4F,EAAA5F,EACAC,EAAA2F,EAAA3F,EACAK,EAAAsF,EAAAtF,MACAC,EAAAqF,EAAArF,OACAqc,EAAAhX,EAAAgX,EAMAtc,EAAA,IACAN,GAAAM,EACAA,MAGAC,EAAA,IACAN,GAAAM,EACAA,MAGA,kBAAAqc,EACA+ma,EAAAvwV,EAAAghW,EAAAC,EAAAz3a,EACGA,aAAApB,MACH,IAAAoB,EAAArb,OACAoib,EAAAvwV,EAAAghW,EAAAC,EAAAz3a,EAAA,GACK,IAAAA,EAAArb,QACLoib,EAAAyQ,EAAAx3a,EAAA,GACAw2E,EAAAihW,EAAAz3a,EAAA,IACK,IAAAA,EAAArb,QACLoib,EAAA/ma,EAAA,GACAw2E,EAAAihW,EAAAz3a,EAAA,GACAw3a,EAAAx3a,EAAA,KAEA+ma,EAAA/ma,EAAA,GACAw2E,EAAAx2E,EAAA,GACAw3a,EAAAx3a,EAAA,GACAy3a,EAAAz3a,EAAA,IAGA+ma,EAAAvwV,EAAAghW,EAAAC,EAAA,EAKA1Q,EAAAvwV,EAAA9yF,IACAksH,EAAAm3T,EAAAvwV,EACAuwV,GAAArjb,EAAAksH,EACAp5B,GAAA9yF,EAAAksH,GAGA4nU,EAAAC,EAAA/zb,IACAksH,EAAA4nU,EAAAC,EACAD,GAAA9zb,EAAAksH,EACA6nU,GAAA/zb,EAAAksH,GAGAp5B,EAAAghW,EAAA7zb,IACAisH,EAAAp5B,EAAAghW,EACAhhW,GAAA7yF,EAAAisH,EACA4nU,GAAA7zb,EAAAisH,GAGAm3T,EAAA0Q,EAAA9zb,IACAisH,EAAAm3T,EAAA0Q,EACA1Q,GAAApjb,EAAAisH,EACA6nU,GAAA9zb,EAAAisH,GAGAnuH,EAAAgf,OAAArd,EAAA2jb,EAAA1jb,GACA5B,EAAAif,OAAAtd,EAAAM,EAAA8yF,EAAAnzF,GACA,IAAAmzF,GAAA/0F,EAAAkf,IAAAvd,EAAAM,EAAA8yF,EAAAnzF,EAAAmzF,KAAA1uF,KAAAC,GAAA,KACAtG,EAAAif,OAAAtd,EAAAM,EAAAL,EAAAM,EAAA6zb,GACA,IAAAA,GAAA/1b,EAAAkf,IAAAvd,EAAAM,EAAA8zb,EAAAn0b,EAAAM,EAAA6zb,IAAA,EAAA1vb,KAAAC,GAAA,GACAtG,EAAAif,OAAAtd,EAAAq0b,EAAAp0b,EAAAM,GACA,IAAA8zb,GAAAh2b,EAAAkf,IAAAvd,EAAAq0b,EAAAp0b,EAAAM,EAAA8zb,IAAA3vb,KAAAC,GAAA,EAAAD,KAAAC,IACAtG,EAAAif,OAAAtd,EAAAC,EAAA0jb,GACA,IAAAA,GAAAtlb,EAAAkf,IAAAvd,EAAA2jb,EAAA1jb,EAAA0jb,IAAAj/a,KAAAC,GAAA,IAAAD,KAAAC,IAGAhE,EAAAqc","file":"js/chunk-vendors.272cf0fe.js","sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"../component/radar\");\n\nrequire(\"./radar/RadarSeries\");\n\nrequire(\"./radar/RadarView\");\n\nvar dataColor = require(\"../visual/dataColor\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar radarLayout = require(\"./radar/radarLayout\");\n\nvar dataFilter = require(\"../processor/dataFilter\");\n\nvar backwardCompat = require(\"./radar/backwardCompat\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Must use radar component\necharts.registerVisual(dataColor('radar'));\necharts.registerVisual(visualSymbol('radar', 'circle'));\necharts.registerLayout(radarLayout);\necharts.registerProcessor(dataFilter('radar'));\necharts.registerPreprocessor(backwardCompat);","var Displayable = require(\"./Displayable\");\n\nvar zrUtil = require(\"../core/util\");\n\nvar textContain = require(\"../contain/text\");\n\nvar textHelper = require(\"./helper/text\");\n\nvar _constant = require(\"./constant\");\n\nvar ContextCachedBy = _constant.ContextCachedBy;\n\n/**\n * @alias zrender/graphic/Text\n * @extends module:zrender/graphic/Displayable\n * @constructor\n * @param {Object} opts\n */\nvar Text = function (opts) {\n // jshint ignore:line\n Displayable.call(this, opts);\n};\n\nText.prototype = {\n constructor: Text,\n type: 'text',\n brush: function (ctx, prevEl) {\n var style = this.style; // Optimize, avoid normalize every time.\n\n this.__dirty && textHelper.normalizeTextStyle(style, true); // Use props with prefix 'text'.\n\n style.fill = style.stroke = style.shadowBlur = style.shadowColor = style.shadowOffsetX = style.shadowOffsetY = null;\n var text = style.text; // Convert to string\n\n text != null && (text += ''); // Do not apply style.bind in Text node. Because the real bind job\n // is in textHelper.renderText, and performance of text render should\n // be considered.\n // style.bind(ctx, this, prevEl);\n\n if (!textHelper.needDrawText(text, style)) {\n // The current el.style is not applied\n // and should not be used as cache.\n ctx.__attrCachedBy = ContextCachedBy.NONE;\n return;\n }\n\n this.setTransform(ctx);\n textHelper.renderText(this, ctx, text, style, null, prevEl);\n this.restoreTransform(ctx);\n },\n getBoundingRect: function () {\n var style = this.style; // Optimize, avoid normalize every time.\n\n this.__dirty && textHelper.normalizeTextStyle(style, true);\n\n if (!this._rect) {\n var text = style.text;\n text != null ? text += '' : text = '';\n var rect = textContain.getBoundingRect(style.text + '', style.font, style.textAlign, style.textVerticalAlign, style.textPadding, style.textLineHeight, style.rich);\n rect.x += style.x || 0;\n rect.y += style.y || 0;\n\n if (textHelper.getStroke(style.textStroke, style.textStrokeWidth)) {\n var w = style.textStrokeWidth;\n rect.x -= w / 2;\n rect.y -= w / 2;\n rect.width += w;\n rect.height += w;\n }\n\n this._rect = rect;\n }\n\n return this._rect;\n }\n};\nzrUtil.inherits(Text, Displayable);\nvar _default = Text;\nmodule.exports = _default;","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar BaseAxisPointer = require(\"./BaseAxisPointer\");\n\nvar viewHelper = require(\"./viewHelper\");\n\nvar singleAxisHelper = require(\"../../coord/single/singleAxisHelper\");\n\nvar AxisView = require(\"../axis/AxisView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar XY = ['x', 'y'];\nvar WH = ['width', 'height'];\nvar SingleAxisPointer = BaseAxisPointer.extend({\n /**\n * @override\n */\n makeElOption: function (elOption, value, axisModel, axisPointerModel, api) {\n var axis = axisModel.axis;\n var coordSys = axis.coordinateSystem;\n var otherExtent = getGlobalExtent(coordSys, 1 - getPointDimIndex(axis));\n var pixelValue = coordSys.dataToPoint(value)[0];\n var axisPointerType = axisPointerModel.get('type');\n\n if (axisPointerType && axisPointerType !== 'none') {\n var elStyle = viewHelper.buildElStyle(axisPointerModel);\n var pointerOption = pointerShapeBuilder[axisPointerType](axis, pixelValue, otherExtent, elStyle);\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, elStyle) {\n var targetShape = viewHelper.makeLineShape([pixelValue, otherExtent[0]], [pixelValue, otherExtent[1]], getPointDimIndex(axis));\n graphic.subPixelOptimizeLine({\n shape: targetShape,\n style: elStyle\n });\n return {\n type: 'Line',\n shape: targetShape\n };\n },\n shadow: function (axis, pixelValue, otherExtent, elStyle) {\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;","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar ComponentView = require(\"../../view/Component\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = ComponentView.extend({\n type: 'timeline'\n});\n\nmodule.exports = _default;","var dpr = 1; // If in browser environment\n\nif (typeof window !== 'undefined') {\n dpr = Math.max(window.devicePixelRatio || 1, 1);\n}\n/**\n * config默认配置项\n * @exports zrender/config\n * @author Kener (@Kener-林峰, kener.linfeng@gmail.com)\n */\n\n/**\n * debug日志选项:catchBrushException为true下有效\n * 0 : 不生成debug数据,发布用\n * 1 : 异常抛出,调试用\n * 2 : 控制台输出,调试用\n */\n\n\nvar debugMode = 0; // retina 屏幕优化\n\nvar devicePixelRatio = dpr;\nexports.debugMode = debugMode;\nexports.devicePixelRatio = devicePixelRatio;","// Simple LRU cache use doubly linked list\n// @module zrender/core/LRU\n\n/**\n * Simple double linked list. Compared with array, it has O(1) remove operation.\n * @constructor\n */\nvar LinkedList = function () {\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n this.head = null;\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n\n this.tail = null;\n this._len = 0;\n};\n\nvar linkedListProto = LinkedList.prototype;\n/**\n * Insert a new value at the tail\n * @param {} val\n * @return {module:zrender/core/LRU~Entry}\n */\n\nlinkedListProto.insert = function (val) {\n var entry = new Entry(val);\n this.insertEntry(entry);\n return entry;\n};\n/**\n * Insert an entry at the tail\n * @param {module:zrender/core/LRU~Entry} entry\n */\n\n\nlinkedListProto.insertEntry = function (entry) {\n if (!this.head) {\n this.head = this.tail = entry;\n } else {\n this.tail.next = entry;\n entry.prev = this.tail;\n entry.next = null;\n this.tail = entry;\n }\n\n this._len++;\n};\n/**\n * Remove entry.\n * @param {module:zrender/core/LRU~Entry} entry\n */\n\n\nlinkedListProto.remove = function (entry) {\n var prev = entry.prev;\n var next = entry.next;\n\n if (prev) {\n prev.next = next;\n } else {\n // Is head\n this.head = next;\n }\n\n if (next) {\n next.prev = prev;\n } else {\n // Is tail\n this.tail = prev;\n }\n\n entry.next = entry.prev = null;\n this._len--;\n};\n/**\n * @return {number}\n */\n\n\nlinkedListProto.len = function () {\n return this._len;\n};\n/**\n * Clear list\n */\n\n\nlinkedListProto.clear = function () {\n this.head = this.tail = null;\n this._len = 0;\n};\n/**\n * @constructor\n * @param {} val\n */\n\n\nvar Entry = function (val) {\n /**\n * @type {}\n */\n this.value = val;\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n\n this.next;\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n\n this.prev;\n};\n/**\n * LRU Cache\n * @constructor\n * @alias module:zrender/core/LRU\n */\n\n\nvar LRU = function (maxSize) {\n this._list = new LinkedList();\n this._map = {};\n this._maxSize = maxSize || 10;\n this._lastRemovedEntry = null;\n};\n\nvar LRUProto = LRU.prototype;\n/**\n * @param {string} key\n * @param {} value\n * @return {} Removed value\n */\n\nLRUProto.put = function (key, value) {\n var list = this._list;\n var map = this._map;\n var removed = null;\n\n if (map[key] == null) {\n var len = list.len(); // Reuse last removed entry\n\n var entry = this._lastRemovedEntry;\n\n if (len >= this._maxSize && len > 0) {\n // Remove the least recently used\n var leastUsedEntry = list.head;\n list.remove(leastUsedEntry);\n delete map[leastUsedEntry.key];\n removed = leastUsedEntry.value;\n this._lastRemovedEntry = leastUsedEntry;\n }\n\n if (entry) {\n entry.value = value;\n } else {\n entry = new Entry(value);\n }\n\n entry.key = key;\n list.insertEntry(entry);\n map[key] = entry;\n }\n\n return removed;\n};\n/**\n * @param {string} key\n * @return {}\n */\n\n\nLRUProto.get = function (key) {\n var entry = this._map[key];\n var list = this._list;\n\n if (entry != null) {\n // Put the latest used entry in the tail\n if (entry !== list.tail) {\n list.remove(entry);\n list.insertEntry(entry);\n }\n\n return entry.value;\n }\n};\n/**\n * Clear the cache\n */\n\n\nLRUProto.clear = function () {\n this._list.clear();\n\n this._map = {};\n};\n\nvar _default = LRU;\nmodule.exports = _default;","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","var BoundingRect = require(\"../core/BoundingRect\");\n\nvar imageHelper = require(\"../graphic/helper/image\");\n\nvar _util = require(\"../core/util\");\n\nvar getContext = _util.getContext;\nvar extend = _util.extend;\nvar retrieve2 = _util.retrieve2;\nvar retrieve3 = _util.retrieve3;\nvar trim = _util.trim;\nvar textWidthCache = {};\nvar textWidthCacheCounter = 0;\nvar TEXT_CACHE_MAX = 5000;\nvar STYLE_REG = /\\{([a-zA-Z0-9_]+)\\|([^}]*)\\}/g;\nvar DEFAULT_FONT = '12px sans-serif'; // Avoid assign to an exported variable, for transforming to cjs.\n\nvar methods = {};\n\nfunction $override(name, fn) {\n methods[name] = fn;\n}\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @return {number} width\n */\n\n\nfunction getWidth(text, font) {\n font = font || DEFAULT_FONT;\n var key = text + ':' + font;\n\n if (textWidthCache[key]) {\n return textWidthCache[key];\n }\n\n var textLines = (text + '').split('\\n');\n var width = 0;\n\n for (var i = 0, l = textLines.length; i < l; i++) {\n // textContain.measureText may be overrided in SVG or VML\n width = Math.max(measureText(textLines[i], font).width, width);\n }\n\n if (textWidthCacheCounter > TEXT_CACHE_MAX) {\n textWidthCacheCounter = 0;\n textWidthCache = {};\n }\n\n textWidthCacheCounter++;\n textWidthCache[key] = width;\n return width;\n}\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @param {string} [textAlign='left']\n * @param {string} [textVerticalAlign='top']\n * @param {Array.} [textPadding]\n * @param {Object} [rich]\n * @param {Object} [truncate]\n * @return {Object} {x, y, width, height, lineHeight}\n */\n\n\nfunction getBoundingRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate) {\n return rich ? getRichTextRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate) : getPlainTextRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, truncate);\n}\n\nfunction getPlainTextRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, truncate) {\n var contentBlock = parsePlainText(text, font, textPadding, textLineHeight, truncate);\n var outerWidth = getWidth(text, font);\n\n if (textPadding) {\n outerWidth += textPadding[1] + textPadding[3];\n }\n\n var outerHeight = contentBlock.outerHeight;\n var x = adjustTextX(0, outerWidth, textAlign);\n var y = adjustTextY(0, outerHeight, textVerticalAlign);\n var rect = new BoundingRect(x, y, outerWidth, outerHeight);\n rect.lineHeight = contentBlock.lineHeight;\n return rect;\n}\n\nfunction getRichTextRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate) {\n var contentBlock = parseRichText(text, {\n rich: rich,\n truncate: truncate,\n font: font,\n textAlign: textAlign,\n textPadding: textPadding,\n textLineHeight: textLineHeight\n });\n var outerWidth = contentBlock.outerWidth;\n var outerHeight = contentBlock.outerHeight;\n var x = adjustTextX(0, outerWidth, textAlign);\n var y = adjustTextY(0, outerHeight, textVerticalAlign);\n return new BoundingRect(x, y, outerWidth, outerHeight);\n}\n/**\n * @public\n * @param {number} x\n * @param {number} width\n * @param {string} [textAlign='left']\n * @return {number} Adjusted x.\n */\n\n\nfunction adjustTextX(x, width, textAlign) {\n // FIXME Right to left language\n if (textAlign === 'right') {\n x -= width;\n } else if (textAlign === 'center') {\n x -= width / 2;\n }\n\n return x;\n}\n/**\n * @public\n * @param {number} y\n * @param {number} height\n * @param {string} [textVerticalAlign='top']\n * @return {number} Adjusted y.\n */\n\n\nfunction adjustTextY(y, height, textVerticalAlign) {\n if (textVerticalAlign === 'middle') {\n y -= height / 2;\n } else if (textVerticalAlign === 'bottom') {\n y -= height;\n }\n\n return y;\n}\n/**\n * @public\n * @param {stirng} textPosition\n * @param {Object} rect {x, y, width, height}\n * @param {number} distance\n * @return {Object} {x, y, textAlign, textVerticalAlign}\n */\n\n\nfunction adjustTextPositionOnRect(textPosition, rect, distance) {\n var x = rect.x;\n var y = rect.y;\n var height = rect.height;\n var width = rect.width;\n var halfHeight = height / 2;\n var textAlign = 'left';\n var textVerticalAlign = 'top';\n\n switch (textPosition) {\n case 'left':\n x -= distance;\n y += halfHeight;\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n\n case 'right':\n x += distance + width;\n y += halfHeight;\n textVerticalAlign = 'middle';\n break;\n\n case 'top':\n x += width / 2;\n y -= distance;\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n\n case 'bottom':\n x += width / 2;\n y += height + distance;\n textAlign = 'center';\n break;\n\n case 'inside':\n x += width / 2;\n y += halfHeight;\n textAlign = 'center';\n textVerticalAlign = 'middle';\n break;\n\n case 'insideLeft':\n x += distance;\n y += halfHeight;\n textVerticalAlign = 'middle';\n break;\n\n case 'insideRight':\n x += width - distance;\n y += halfHeight;\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n\n case 'insideTop':\n x += width / 2;\n y += distance;\n textAlign = 'center';\n break;\n\n case 'insideBottom':\n x += width / 2;\n y += height - distance;\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n\n case 'insideTopLeft':\n x += distance;\n y += distance;\n break;\n\n case 'insideTopRight':\n x += width - distance;\n y += distance;\n textAlign = 'right';\n break;\n\n case 'insideBottomLeft':\n x += distance;\n y += height - distance;\n textVerticalAlign = 'bottom';\n break;\n\n case 'insideBottomRight':\n x += width - distance;\n y += height - distance;\n textAlign = 'right';\n textVerticalAlign = 'bottom';\n break;\n }\n\n return {\n x: x,\n y: y,\n textAlign: textAlign,\n textVerticalAlign: textVerticalAlign\n };\n}\n/**\n * Show ellipsis if overflow.\n *\n * @public\n * @param {string} text\n * @param {string} containerWidth\n * @param {string} font\n * @param {number} [ellipsis='...']\n * @param {Object} [options]\n * @param {number} [options.maxIterations=3]\n * @param {number} [options.minChar=0] If truncate result are less\n * then minChar, ellipsis will not show, which is\n * better for user hint in some cases.\n * @param {number} [options.placeholder=''] When all truncated, use the placeholder.\n * @return {string}\n */\n\n\nfunction truncateText(text, containerWidth, font, ellipsis, options) {\n if (!containerWidth) {\n return '';\n }\n\n var textLines = (text + '').split('\\n');\n options = prepareTruncateOptions(containerWidth, font, ellipsis, options); // FIXME\n // It is not appropriate that every line has '...' when truncate multiple lines.\n\n for (var i = 0, len = textLines.length; i < len; i++) {\n textLines[i] = truncateSingleLine(textLines[i], options);\n }\n\n return textLines.join('\\n');\n}\n\nfunction prepareTruncateOptions(containerWidth, font, ellipsis, options) {\n options = extend({}, options);\n options.font = font;\n var ellipsis = retrieve2(ellipsis, '...');\n options.maxIterations = retrieve2(options.maxIterations, 2);\n var minChar = options.minChar = retrieve2(options.minChar, 0); // FIXME\n // Other languages?\n\n options.cnCharWidth = getWidth('国', font); // FIXME\n // Consider proportional font?\n\n var ascCharWidth = options.ascCharWidth = getWidth('a', font);\n options.placeholder = retrieve2(options.placeholder, ''); // Example 1: minChar: 3, text: 'asdfzxcv', truncate result: 'asdf', but not: 'a...'.\n // Example 2: minChar: 3, text: '维度', truncate result: '维', but not: '...'.\n\n var contentWidth = containerWidth = Math.max(0, containerWidth - 1); // Reserve some gap.\n\n for (var i = 0; i < minChar && contentWidth >= ascCharWidth; i++) {\n contentWidth -= ascCharWidth;\n }\n\n var ellipsisWidth = getWidth(ellipsis, font);\n\n if (ellipsisWidth > contentWidth) {\n ellipsis = '';\n ellipsisWidth = 0;\n }\n\n contentWidth = containerWidth - ellipsisWidth;\n options.ellipsis = ellipsis;\n options.ellipsisWidth = ellipsisWidth;\n options.contentWidth = contentWidth;\n options.containerWidth = containerWidth;\n return options;\n}\n\nfunction truncateSingleLine(textLine, options) {\n var containerWidth = options.containerWidth;\n var font = options.font;\n var contentWidth = options.contentWidth;\n\n if (!containerWidth) {\n return '';\n }\n\n var lineWidth = getWidth(textLine, font);\n\n if (lineWidth <= containerWidth) {\n return textLine;\n }\n\n for (var j = 0;; j++) {\n if (lineWidth <= contentWidth || j >= options.maxIterations) {\n textLine += options.ellipsis;\n break;\n }\n\n var subLength = j === 0 ? estimateLength(textLine, contentWidth, options.ascCharWidth, options.cnCharWidth) : lineWidth > 0 ? Math.floor(textLine.length * contentWidth / lineWidth) : 0;\n textLine = textLine.substr(0, subLength);\n lineWidth = getWidth(textLine, font);\n }\n\n if (textLine === '') {\n textLine = options.placeholder;\n }\n\n return textLine;\n}\n\nfunction estimateLength(text, contentWidth, ascCharWidth, cnCharWidth) {\n var width = 0;\n var i = 0;\n\n for (var len = text.length; i < len && width < contentWidth; i++) {\n var charCode = text.charCodeAt(i);\n width += 0 <= charCode && charCode <= 127 ? ascCharWidth : cnCharWidth;\n }\n\n return i;\n}\n/**\n * @public\n * @param {string} font\n * @return {number} line height\n */\n\n\nfunction getLineHeight(font) {\n // FIXME A rough approach.\n return getWidth('国', font);\n}\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @return {Object} width\n */\n\n\nfunction measureText(text, font) {\n return methods.measureText(text, font);\n} // Avoid assign to an exported variable, for transforming to cjs.\n\n\nmethods.measureText = function (text, font) {\n var ctx = getContext();\n ctx.font = font || DEFAULT_FONT;\n return ctx.measureText(text);\n};\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @param {Object} [truncate]\n * @return {Object} block: {lineHeight, lines, height, outerHeight}\n * Notice: for performance, do not calculate outerWidth util needed.\n */\n\n\nfunction parsePlainText(text, font, padding, textLineHeight, truncate) {\n text != null && (text += '');\n var lineHeight = retrieve2(textLineHeight, getLineHeight(font));\n var lines = text ? text.split('\\n') : [];\n var height = lines.length * lineHeight;\n var outerHeight = height;\n\n if (padding) {\n outerHeight += padding[0] + padding[2];\n }\n\n if (text && truncate) {\n var truncOuterHeight = truncate.outerHeight;\n var truncOuterWidth = truncate.outerWidth;\n\n if (truncOuterHeight != null && outerHeight > truncOuterHeight) {\n text = '';\n lines = [];\n } else if (truncOuterWidth != null) {\n var options = prepareTruncateOptions(truncOuterWidth - (padding ? padding[1] + padding[3] : 0), font, truncate.ellipsis, {\n minChar: truncate.minChar,\n placeholder: truncate.placeholder\n }); // FIXME\n // It is not appropriate that every line has '...' when truncate multiple lines.\n\n for (var i = 0, len = lines.length; i < len; i++) {\n lines[i] = truncateSingleLine(lines[i], options);\n }\n }\n }\n\n return {\n lines: lines,\n height: height,\n outerHeight: outerHeight,\n lineHeight: lineHeight\n };\n}\n/**\n * For example: 'some text {a|some text}other text{b|some text}xxx{c|}xxx'\n * Also consider 'bbbb{a|xxx\\nzzz}xxxx\\naaaa'.\n *\n * @public\n * @param {string} text\n * @param {Object} style\n * @return {Object} block\n * {\n * width,\n * height,\n * lines: [{\n * lineHeight,\n * width,\n * tokens: [[{\n * styleName,\n * text,\n * width, // include textPadding\n * height, // include textPadding\n * textWidth, // pure text width\n * textHeight, // pure text height\n * lineHeihgt,\n * font,\n * textAlign,\n * textVerticalAlign\n * }], [...], ...]\n * }, ...]\n * }\n * If styleName is undefined, it is plain text.\n */\n\n\nfunction parseRichText(text, style) {\n var contentBlock = {\n lines: [],\n width: 0,\n height: 0\n };\n text != null && (text += '');\n\n if (!text) {\n return contentBlock;\n }\n\n var lastIndex = STYLE_REG.lastIndex = 0;\n var result;\n\n while ((result = STYLE_REG.exec(text)) != null) {\n var matchedIndex = result.index;\n\n if (matchedIndex > lastIndex) {\n pushTokens(contentBlock, text.substring(lastIndex, matchedIndex));\n }\n\n pushTokens(contentBlock, result[2], result[1]);\n lastIndex = STYLE_REG.lastIndex;\n }\n\n if (lastIndex < text.length) {\n pushTokens(contentBlock, text.substring(lastIndex, text.length));\n }\n\n var lines = contentBlock.lines;\n var contentHeight = 0;\n var contentWidth = 0; // For `textWidth: 100%`\n\n var pendingList = [];\n var stlPadding = style.textPadding;\n var truncate = style.truncate;\n var truncateWidth = truncate && truncate.outerWidth;\n var truncateHeight = truncate && truncate.outerHeight;\n\n if (stlPadding) {\n truncateWidth != null && (truncateWidth -= stlPadding[1] + stlPadding[3]);\n truncateHeight != null && (truncateHeight -= stlPadding[0] + stlPadding[2]);\n } // Calculate layout info of tokens.\n\n\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var lineHeight = 0;\n var lineWidth = 0;\n\n for (var j = 0; j < line.tokens.length; j++) {\n var token = line.tokens[j];\n var tokenStyle = token.styleName && style.rich[token.styleName] || {}; // textPadding should not inherit from style.\n\n var textPadding = token.textPadding = tokenStyle.textPadding; // textFont has been asigned to font by `normalizeStyle`.\n\n var font = token.font = tokenStyle.font || style.font; // textHeight can be used when textVerticalAlign is specified in token.\n\n var tokenHeight = token.textHeight = retrieve2( // textHeight should not be inherited, consider it can be specified\n // as box height of the block.\n tokenStyle.textHeight, getLineHeight(font));\n textPadding && (tokenHeight += textPadding[0] + textPadding[2]);\n token.height = tokenHeight;\n token.lineHeight = retrieve3(tokenStyle.textLineHeight, style.textLineHeight, tokenHeight);\n token.textAlign = tokenStyle && tokenStyle.textAlign || style.textAlign;\n token.textVerticalAlign = tokenStyle && tokenStyle.textVerticalAlign || 'middle';\n\n if (truncateHeight != null && contentHeight + token.lineHeight > truncateHeight) {\n return {\n lines: [],\n width: 0,\n height: 0\n };\n }\n\n token.textWidth = getWidth(token.text, font);\n var tokenWidth = tokenStyle.textWidth;\n var tokenWidthNotSpecified = tokenWidth == null || tokenWidth === 'auto'; // Percent width, can be `100%`, can be used in drawing separate\n // line when box width is needed to be auto.\n\n if (typeof tokenWidth === 'string' && tokenWidth.charAt(tokenWidth.length - 1) === '%') {\n token.percentWidth = tokenWidth;\n pendingList.push(token);\n tokenWidth = 0; // Do not truncate in this case, because there is no user case\n // and it is too complicated.\n } else {\n if (tokenWidthNotSpecified) {\n tokenWidth = token.textWidth; // FIXME: If image is not loaded and textWidth is not specified, calling\n // `getBoundingRect()` will not get correct result.\n\n var textBackgroundColor = tokenStyle.textBackgroundColor;\n var bgImg = textBackgroundColor && textBackgroundColor.image; // Use cases:\n // (1) If image is not loaded, it will be loaded at render phase and call\n // `dirty()` and `textBackgroundColor.image` will be replaced with the loaded\n // image, and then the right size will be calculated here at the next tick.\n // See `graphic/helper/text.js`.\n // (2) If image loaded, and `textBackgroundColor.image` is image src string,\n // use `imageHelper.findExistImage` to find cached image.\n // `imageHelper.findExistImage` will always be called here before\n // `imageHelper.createOrUpdateImage` in `graphic/helper/text.js#renderRichText`\n // which ensures that image will not be rendered before correct size calcualted.\n\n if (bgImg) {\n bgImg = imageHelper.findExistImage(bgImg);\n\n if (imageHelper.isImageReady(bgImg)) {\n tokenWidth = Math.max(tokenWidth, bgImg.width * tokenHeight / bgImg.height);\n }\n }\n }\n\n var paddingW = textPadding ? textPadding[1] + textPadding[3] : 0;\n tokenWidth += paddingW;\n var remianTruncWidth = truncateWidth != null ? truncateWidth - lineWidth : null;\n\n if (remianTruncWidth != null && remianTruncWidth < tokenWidth) {\n if (!tokenWidthNotSpecified || remianTruncWidth < paddingW) {\n token.text = '';\n token.textWidth = tokenWidth = 0;\n } else {\n token.text = truncateText(token.text, remianTruncWidth - paddingW, font, truncate.ellipsis, {\n minChar: truncate.minChar\n });\n token.textWidth = getWidth(token.text, font);\n tokenWidth = token.textWidth + paddingW;\n }\n }\n }\n\n lineWidth += token.width = tokenWidth;\n tokenStyle && (lineHeight = Math.max(lineHeight, token.lineHeight));\n }\n\n line.width = lineWidth;\n line.lineHeight = lineHeight;\n contentHeight += lineHeight;\n contentWidth = Math.max(contentWidth, lineWidth);\n }\n\n contentBlock.outerWidth = contentBlock.width = retrieve2(style.textWidth, contentWidth);\n contentBlock.outerHeight = contentBlock.height = retrieve2(style.textHeight, contentHeight);\n\n if (stlPadding) {\n contentBlock.outerWidth += stlPadding[1] + stlPadding[3];\n contentBlock.outerHeight += stlPadding[0] + stlPadding[2];\n }\n\n for (var i = 0; i < pendingList.length; i++) {\n var token = pendingList[i];\n var percentWidth = token.percentWidth; // Should not base on outerWidth, because token can not be placed out of padding.\n\n token.width = parseInt(percentWidth, 10) / 100 * contentWidth;\n }\n\n return contentBlock;\n}\n\nfunction pushTokens(block, str, styleName) {\n var isEmptyStr = str === '';\n var strs = str.split('\\n');\n var lines = block.lines;\n\n for (var i = 0; i < strs.length; i++) {\n var text = strs[i];\n var token = {\n styleName: styleName,\n text: text,\n isLineHolder: !text && !isEmptyStr\n }; // The first token should be appended to the last line.\n\n if (!i) {\n var tokens = (lines[lines.length - 1] || (lines[0] = {\n tokens: []\n })).tokens; // Consider cases:\n // (1) ''.split('\\n') => ['', '\\n', ''], the '' at the first item\n // (which is a placeholder) should be replaced by new token.\n // (2) A image backage, where token likes {a|}.\n // (3) A redundant '' will affect textAlign in line.\n // (4) tokens with the same tplName should not be merged, because\n // they should be displayed in different box (with border and padding).\n\n var tokensLen = tokens.length;\n tokensLen === 1 && tokens[0].isLineHolder ? tokens[0] = token : // Consider text is '', only insert when it is the \"lineHolder\" or\n // \"emptyStr\". Otherwise a redundant '' will affect textAlign in line.\n (text || !tokensLen || isEmptyStr) && tokens.push(token);\n } // Other tokens always start a new line.\n else {\n // If there is '', insert it as a placeholder.\n lines.push({\n tokens: [token]\n });\n }\n }\n}\n\nfunction makeFont(style) {\n // FIXME in node-canvas fontWeight is before fontStyle\n // Use `fontSize` `fontFamily` to check whether font properties are defined.\n var font = (style.fontSize || style.fontFamily) && [style.fontStyle, style.fontWeight, (style.fontSize || 12) + 'px', // If font properties are defined, `fontFamily` should not be ignored.\n style.fontFamily || 'sans-serif'].join(' ');\n return font && trim(font) || style.textFont || style.font;\n}\n\nexports.DEFAULT_FONT = DEFAULT_FONT;\nexports.$override = $override;\nexports.getWidth = getWidth;\nexports.getBoundingRect = getBoundingRect;\nexports.adjustTextX = adjustTextX;\nexports.adjustTextY = adjustTextY;\nexports.adjustTextPositionOnRect = adjustTextPositionOnRect;\nexports.truncateText = truncateText;\nexports.getLineHeight = getLineHeight;\nexports.measureText = measureText;\nexports.parsePlainText = parsePlainText;\nexports.parseRichText = parseRichText;\nexports.makeFont = makeFont;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Eventful = require(\"zrender/lib/mixin/Eventful\");\n\nvar eventTool = require(\"zrender/lib/core/event\");\n\nvar interactionMutex = require(\"./interactionMutex\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 * @alias module:echarts/component/helper/RoamController\n * @constructor\n * @mixin {module:zrender/mixin/Eventful}\n *\n * @param {module:zrender/zrender~ZRender} zr\n */\nfunction RoamController(zr) {\n /**\n * @type {Function}\n */\n this.pointerChecker;\n /**\n * @type {module:zrender}\n */\n\n this._zr = zr;\n /**\n * @type {Object}\n */\n\n this._opt = {}; // Avoid two roamController bind the same handler\n\n var bind = zrUtil.bind;\n var mousedownHandler = bind(mousedown, this);\n var mousemoveHandler = bind(mousemove, this);\n var mouseupHandler = bind(mouseup, this);\n var mousewheelHandler = bind(mousewheel, this);\n var pinchHandler = bind(pinch, this);\n Eventful.call(this);\n /**\n * @param {Function} pointerChecker\n * input: x, y\n * output: boolean\n */\n\n this.setPointerChecker = function (pointerChecker) {\n this.pointerChecker = pointerChecker;\n };\n /**\n * Notice: only enable needed types. For example, if 'zoom'\n * is not needed, 'zoom' should not be enabled, otherwise\n * default mousewheel behaviour (scroll page) will be disabled.\n *\n * @param {boolean|string} [controlType=true] Specify the control type,\n * which can be null/undefined or true/false\n * or 'pan/move' or 'zoom'/'scale'\n * @param {Object} [opt]\n * @param {Object} [opt.zoomOnMouseWheel=true] The value can be: true / false / 'shift' / 'ctrl' / 'alt'.\n * @param {Object} [opt.moveOnMouseMove=true] The value can be: true / false / 'shift' / 'ctrl' / 'alt'.\n * @param {Object} [opt.moveOnMouseWheel=false] The value can be: true / false / 'shift' / 'ctrl' / 'alt'.\n * @param {Object} [opt.preventDefaultMouseMove=true] When pan.\n */\n\n\n this.enable = function (controlType, opt) {\n // Disable previous first\n this.disable();\n this._opt = zrUtil.defaults(zrUtil.clone(opt) || {}, {\n zoomOnMouseWheel: true,\n moveOnMouseMove: true,\n // By default, wheel do not trigger move.\n moveOnMouseWheel: false,\n preventDefaultMouseMove: true\n });\n\n if (controlType == null) {\n controlType = true;\n }\n\n if (controlType === true || controlType === 'move' || controlType === 'pan') {\n zr.on('mousedown', mousedownHandler);\n zr.on('mousemove', mousemoveHandler);\n zr.on('mouseup', mouseupHandler);\n }\n\n if (controlType === true || controlType === 'scale' || controlType === 'zoom') {\n zr.on('mousewheel', mousewheelHandler);\n zr.on('pinch', pinchHandler);\n }\n };\n\n this.disable = function () {\n zr.off('mousedown', mousedownHandler);\n zr.off('mousemove', mousemoveHandler);\n zr.off('mouseup', mouseupHandler);\n zr.off('mousewheel', mousewheelHandler);\n zr.off('pinch', pinchHandler);\n };\n\n this.dispose = this.disable;\n\n this.isDragging = function () {\n return this._dragging;\n };\n\n this.isPinching = function () {\n return this._pinching;\n };\n}\n\nzrUtil.mixin(RoamController, Eventful);\n\nfunction mousedown(e) {\n if (eventTool.isMiddleOrRightButtonOnMouseUpDown(e) || e.target && e.target.draggable) {\n return;\n }\n\n var x = e.offsetX;\n var y = e.offsetY; // Only check on mosedown, but not mousemove.\n // Mouse can be out of target when mouse moving.\n\n if (this.pointerChecker && this.pointerChecker(e, x, y)) {\n this._x = x;\n this._y = y;\n this._dragging = true;\n }\n}\n\nfunction mousemove(e) {\n if (!this._dragging || !isAvailableBehavior('moveOnMouseMove', e, this._opt) || e.gestureEvent === 'pinch' || interactionMutex.isTaken(this._zr, 'globalPan')) {\n return;\n }\n\n var x = e.offsetX;\n var y = e.offsetY;\n var oldX = this._x;\n var oldY = this._y;\n var dx = x - oldX;\n var dy = y - oldY;\n this._x = x;\n this._y = y;\n this._opt.preventDefaultMouseMove && eventTool.stop(e.event);\n trigger(this, 'pan', 'moveOnMouseMove', e, {\n dx: dx,\n dy: dy,\n oldX: oldX,\n oldY: oldY,\n newX: x,\n newY: y\n });\n}\n\nfunction mouseup(e) {\n if (!eventTool.isMiddleOrRightButtonOnMouseUpDown(e)) {\n this._dragging = false;\n }\n}\n\nfunction mousewheel(e) {\n var shouldZoom = isAvailableBehavior('zoomOnMouseWheel', e, this._opt);\n var shouldMove = isAvailableBehavior('moveOnMouseWheel', e, this._opt);\n var wheelDelta = e.wheelDelta;\n var absWheelDeltaDelta = Math.abs(wheelDelta);\n var originX = e.offsetX;\n var originY = e.offsetY; // wheelDelta maybe -0 in chrome mac.\n\n if (wheelDelta === 0 || !shouldZoom && !shouldMove) {\n return;\n } // If both `shouldZoom` and `shouldMove` is true, trigger\n // their event both, and the final behavior is determined\n // by event listener themselves.\n\n\n if (shouldZoom) {\n // Convenience:\n // Mac and VM Windows on Mac: scroll up: zoom out.\n // Windows: scroll up: zoom in.\n // FIXME: Should do more test in different environment.\n // wheelDelta is too complicated in difference nvironment\n // (https://developer.mozilla.org/en-US/docs/Web/Events/mousewheel),\n // although it has been normallized by zrender.\n // wheelDelta of mouse wheel is bigger than touch pad.\n var factor = absWheelDeltaDelta > 3 ? 1.4 : absWheelDeltaDelta > 1 ? 1.2 : 1.1;\n var scale = wheelDelta > 0 ? factor : 1 / factor;\n checkPointerAndTrigger(this, 'zoom', 'zoomOnMouseWheel', e, {\n scale: scale,\n originX: originX,\n originY: originY\n });\n }\n\n if (shouldMove) {\n // FIXME: Should do more test in different environment.\n var absDelta = Math.abs(wheelDelta); // wheelDelta of mouse wheel is bigger than touch pad.\n\n var scrollDelta = (wheelDelta > 0 ? 1 : -1) * (absDelta > 3 ? 0.4 : absDelta > 1 ? 0.15 : 0.05);\n checkPointerAndTrigger(this, 'scrollMove', 'moveOnMouseWheel', e, {\n scrollDelta: scrollDelta,\n originX: originX,\n originY: originY\n });\n }\n}\n\nfunction pinch(e) {\n if (interactionMutex.isTaken(this._zr, 'globalPan')) {\n return;\n }\n\n var scale = e.pinchScale > 1 ? 1.1 : 1 / 1.1;\n checkPointerAndTrigger(this, 'zoom', null, e, {\n scale: scale,\n originX: e.pinchX,\n originY: e.pinchY\n });\n}\n\nfunction checkPointerAndTrigger(controller, eventName, behaviorToCheck, e, contollerEvent) {\n if (controller.pointerChecker && controller.pointerChecker(e, contollerEvent.originX, contollerEvent.originY)) {\n // When mouse is out of roamController rect,\n // default befavoius should not be be disabled, otherwise\n // page sliding is disabled, contrary to expectation.\n eventTool.stop(e.event);\n trigger(controller, eventName, behaviorToCheck, e, contollerEvent);\n }\n}\n\nfunction trigger(controller, eventName, behaviorToCheck, e, contollerEvent) {\n // Also provide behavior checker for event listener, for some case that\n // multiple components share one listener.\n contollerEvent.isAvailableBehavior = zrUtil.bind(isAvailableBehavior, null, behaviorToCheck, e);\n controller.trigger(eventName, contollerEvent);\n} // settings: {\n// zoomOnMouseWheel\n// moveOnMouseMove\n// moveOnMouseWheel\n// }\n// The value can be: true / false / 'shift' / 'ctrl' / 'alt'.\n\n\nfunction isAvailableBehavior(behaviorToCheck, e, settings) {\n var setting = settings[behaviorToCheck];\n return !behaviorToCheck || setting && (!zrUtil.isString(setting) || e.event[setting + 'Key']);\n}\n\nvar _default = RoamController;\nmodule.exports = _default;","var textHelper = require(\"../helper/text\");\n\nvar BoundingRect = require(\"../../core/BoundingRect\");\n\nvar _constant = require(\"../constant\");\n\nvar WILL_BE_RESTORED = _constant.WILL_BE_RESTORED;\n\n/**\n * Mixin for drawing text in a element bounding rect\n * @module zrender/mixin/RectText\n */\nvar tmpRect = new BoundingRect();\n\nvar RectText = function () {};\n\nRectText.prototype = {\n constructor: RectText,\n\n /**\n * Draw text in a rect with specified position.\n * @param {CanvasRenderingContext2D} ctx\n * @param {Object} rect Displayable rect\n */\n drawRectText: function (ctx, rect) {\n var style = this.style;\n rect = style.textRect || rect; // Optimize, avoid normalize every time.\n\n this.__dirty && textHelper.normalizeTextStyle(style, true);\n var text = style.text; // Convert to string\n\n text != null && (text += '');\n\n if (!textHelper.needDrawText(text, style)) {\n return;\n } // FIXME\n // Do not provide prevEl to `textHelper.renderText` for ctx prop cache,\n // but use `ctx.save()` and `ctx.restore()`. Because the cache for rect\n // text propably break the cache for its host elements.\n\n\n ctx.save(); // Transform rect to view space\n\n var transform = this.transform;\n\n if (!style.transformText) {\n if (transform) {\n tmpRect.copy(rect);\n tmpRect.applyTransform(transform);\n rect = tmpRect;\n }\n } else {\n this.setTransform(ctx);\n } // transformText and textRotation can not be used at the same time.\n\n\n textHelper.renderText(this, ctx, text, style, rect, WILL_BE_RESTORED);\n ctx.restore();\n }\n};\nvar _default = RectText;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* 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 = require(\"zrender/lib/core/curve\");\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\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\n function getSymbolSize(node) {\n var symbolSize = node.getVisual('symbolSize');\n\n if (symbolSize instanceof Array) {\n symbolSize = (symbolSize[0] + symbolSize[1]) / 2;\n }\n\n return symbolSize;\n }\n\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;","var Path = require(\"../Path\");\n\nvar fixClipWithShadow = require(\"../helper/fixClipWithShadow\");\n\n/**\n * 扇形\n * @module zrender/graphic/shape/Sector\n */\nvar _default = Path.extend({\n type: 'sector',\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 brush: fixClipWithShadow(Path.prototype.brush),\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 startAngle = shape.startAngle;\n var endAngle = shape.endAngle;\n var clockwise = shape.clockwise;\n var unitX = Math.cos(startAngle);\n var unitY = Math.sin(startAngle);\n ctx.moveTo(unitX * r0 + x, unitY * r0 + y);\n ctx.lineTo(unitX * r + x, unitY * r + y);\n ctx.arc(x, y, r, startAngle, endAngle, !clockwise);\n ctx.lineTo(Math.cos(endAngle) * r0 + x, Math.sin(endAngle) * r0 + y);\n\n if (r0 !== 0) {\n ctx.arc(x, y, r0, endAngle, startAngle, clockwise);\n }\n\n ctx.closePath();\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar bbox = require(\"zrender/lib/core/bbox\");\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\nvar polygonContain = require(\"zrender/lib/contain/polygon\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/coord/geo/Region\n */\n\n/**\n * @param {string|Region} name\n * @param {Array} geometries\n * @param {Array.} cp\n */\nfunction Region(name, geometries, cp) {\n /**\n * @type {string}\n * @readOnly\n */\n this.name = name;\n /**\n * @type {Array.}\n * @readOnly\n */\n\n this.geometries = geometries;\n\n if (!cp) {\n var rect = this.getBoundingRect();\n cp = [rect.x + rect.width / 2, rect.y + rect.height / 2];\n } else {\n cp = [cp[0], cp[1]];\n }\n /**\n * @type {Array.}\n */\n\n\n this.center = cp;\n}\n\nRegion.prototype = {\n constructor: Region,\n properties: null,\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getBoundingRect: function () {\n var rect = this._rect;\n\n if (rect) {\n return rect;\n }\n\n var MAX_NUMBER = Number.MAX_VALUE;\n var min = [MAX_NUMBER, MAX_NUMBER];\n var max = [-MAX_NUMBER, -MAX_NUMBER];\n var min2 = [];\n var max2 = [];\n var geometries = this.geometries;\n\n for (var i = 0; i < geometries.length; i++) {\n // Only support polygon\n if (geometries[i].type !== 'polygon') {\n continue;\n } // Doesn't consider hole\n\n\n var exterior = geometries[i].exterior;\n bbox.fromPoints(exterior, min2, max2);\n vec2.min(min, min, min2);\n vec2.max(max, max, max2);\n } // No data\n\n\n if (i === 0) {\n min[0] = min[1] = max[0] = max[1] = 0;\n }\n\n return this._rect = new BoundingRect(min[0], min[1], max[0] - min[0], max[1] - min[1]);\n },\n\n /**\n * @param {} coord\n * @return {boolean}\n */\n contain: function (coord) {\n var rect = this.getBoundingRect();\n var geometries = this.geometries;\n\n if (!rect.contain(coord[0], coord[1])) {\n return false;\n }\n\n loopGeo: for (var i = 0, len = geometries.length; i < len; i++) {\n // Only support polygon.\n if (geometries[i].type !== 'polygon') {\n continue;\n }\n\n var exterior = geometries[i].exterior;\n var interiors = geometries[i].interiors;\n\n if (polygonContain.contain(exterior, coord[0], coord[1])) {\n // Not in the region if point is in the hole.\n for (var k = 0; k < (interiors ? interiors.length : 0); k++) {\n if (polygonContain.contain(interiors[k])) {\n continue loopGeo;\n }\n }\n\n return true;\n }\n }\n\n return false;\n },\n transformTo: function (x, y, width, height) {\n var rect = this.getBoundingRect();\n var aspect = rect.width / rect.height;\n\n if (!width) {\n width = aspect * height;\n } else if (!height) {\n height = width / aspect;\n }\n\n var target = new BoundingRect(x, y, width, height);\n var transform = rect.calculateTransform(target);\n var geometries = this.geometries;\n\n for (var i = 0; i < geometries.length; i++) {\n // Only support polygon.\n if (geometries[i].type !== 'polygon') {\n continue;\n }\n\n var exterior = geometries[i].exterior;\n var interiors = geometries[i].interiors;\n\n for (var p = 0; p < exterior.length; p++) {\n vec2.applyTransform(exterior[p], exterior[p], transform);\n }\n\n for (var h = 0; h < (interiors ? interiors.length : 0); h++) {\n for (var p = 0; p < interiors[h].length; p++) {\n vec2.applyTransform(interiors[h][p], interiors[h][p], transform);\n }\n }\n }\n\n rect = this._rect;\n rect.copy(target); // Update center\n\n this.center = [rect.x + rect.width / 2, rect.y + rect.height / 2];\n },\n cloneShallow: function (name) {\n name == null && (name = this.name);\n var newRegion = new Region(name, this.geometries, this.center);\n newRegion._rect = this._rect;\n newRegion.transformTo = null; // Simply avoid to be called.\n\n return newRegion;\n }\n};\nvar _default = Region;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar Component = require(\"../../model/Component\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nComponent.registerSubTypeDefaulter('dataZoom', function () {\n // Default 'slider' when no type specified.\n return 'slider';\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar _format = require(\"../util/format\");\n\nvar formatTime = _format.formatTime;\nvar encodeHTML = _format.encodeHTML;\nvar addCommas = _format.addCommas;\nvar getTooltipMarker = _format.getTooltipMarker;\n\nvar modelUtil = require(\"../util/model\");\n\nvar ComponentModel = require(\"./Component\");\n\nvar colorPaletteMixin = require(\"./mixin/colorPalette\");\n\nvar dataFormatMixin = require(\"../model/mixin/dataFormat\");\n\nvar _layout = require(\"../util/layout\");\n\nvar getLayoutParams = _layout.getLayoutParams;\nvar mergeLayoutParam = _layout.mergeLayoutParam;\n\nvar _task = require(\"../stream/task\");\n\nvar createTask = _task.createTask;\n\nvar _sourceHelper = require(\"../data/helper/sourceHelper\");\n\nvar prepareSource = _sourceHelper.prepareSource;\nvar getSource = _sourceHelper.getSource;\n\nvar _dataProvider = require(\"../data/helper/dataProvider\");\n\nvar retrieveRawValue = _dataProvider.retrieveRawValue;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar inner = modelUtil.makeInner();\nvar SeriesModel = ComponentModel.extend({\n type: 'series.__base__',\n\n /**\n * @readOnly\n */\n seriesIndex: 0,\n // coodinateSystem will be injected in the echarts/CoordinateSystem\n coordinateSystem: null,\n\n /**\n * @type {Object}\n * @protected\n */\n defaultOption: null,\n\n /**\n * Data provided for legend\n * @type {Function}\n */\n // PENDING\n legendDataProvider: null,\n\n /**\n * Access path of color for visual\n */\n visualColorAccessPath: 'itemStyle.color',\n\n /**\n * Support merge layout params.\n * Only support 'box' now (left/right/top/bottom/width/height).\n * @type {string|Object} Object can be {ignoreSize: true}\n * @readOnly\n */\n layoutMode: null,\n init: function (option, parentModel, ecModel, extraOpt) {\n /**\n * @type {number}\n * @readOnly\n */\n this.seriesIndex = this.componentIndex;\n this.dataTask = createTask({\n count: dataTaskCount,\n reset: dataTaskReset\n });\n this.dataTask.context = {\n model: this\n };\n this.mergeDefaultAndTheme(option, ecModel);\n prepareSource(this);\n var data = this.getInitialData(option, ecModel);\n wrapData(data, this);\n this.dataTask.context.data = data;\n\n /**\n * @type {module:echarts/data/List|module:echarts/data/Tree|module:echarts/data/Graph}\n * @private\n */\n inner(this).dataBeforeProcessed = data; // If we reverse the order (make data firstly, and then make\n // dataBeforeProcessed by cloneShallow), cloneShallow will\n // cause data.graph.data !== data when using\n // module:echarts/data/Graph or module:echarts/data/Tree.\n // See module:echarts/data/helper/linkList\n // Theoretically, it is unreasonable to call `seriesModel.getData()` in the model\n // init or merge stage, because the data can be restored. So we do not `restoreData`\n // and `setData` here, which forbids calling `seriesModel.getData()` in this stage.\n // Call `seriesModel.getRawData()` instead.\n // this.restoreData();\n\n autoSeriesName(this);\n },\n\n /**\n * Util for merge default and theme to option\n * @param {Object} option\n * @param {module:echarts/model/Global} ecModel\n */\n mergeDefaultAndTheme: function (option, ecModel) {\n var layoutMode = this.layoutMode;\n var inputPositionParams = layoutMode ? getLayoutParams(option) : {}; // Backward compat: using subType on theme.\n // But if name duplicate between series subType\n // (for example: parallel) add component mainType,\n // add suffix 'Series'.\n\n var themeSubType = this.subType;\n\n if (ComponentModel.hasClass(themeSubType)) {\n themeSubType += 'Series';\n }\n\n zrUtil.merge(option, ecModel.getTheme().get(this.subType));\n zrUtil.merge(option, this.getDefaultOption()); // Default label emphasis `show`\n\n modelUtil.defaultEmphasis(option, 'label', ['show']);\n this.fillDataTextStyle(option.data);\n\n if (layoutMode) {\n mergeLayoutParam(option, inputPositionParams, layoutMode);\n }\n },\n mergeOption: function (newSeriesOption, ecModel) {\n // this.settingTask.dirty();\n newSeriesOption = zrUtil.merge(this.option, newSeriesOption, true);\n this.fillDataTextStyle(newSeriesOption.data);\n var layoutMode = this.layoutMode;\n\n if (layoutMode) {\n mergeLayoutParam(this.option, newSeriesOption, layoutMode);\n }\n\n prepareSource(this);\n var data = this.getInitialData(newSeriesOption, ecModel);\n wrapData(data, this);\n this.dataTask.dirty();\n this.dataTask.context.data = data;\n inner(this).dataBeforeProcessed = data;\n autoSeriesName(this);\n },\n fillDataTextStyle: function (data) {\n // Default data label emphasis `show`\n // FIXME Tree structure data ?\n // FIXME Performance ?\n if (data && !zrUtil.isTypedArray(data)) {\n var props = ['show'];\n\n for (var i = 0; i < data.length; i++) {\n if (data[i] && data[i].label) {\n modelUtil.defaultEmphasis(data[i], 'label', props);\n }\n }\n }\n },\n\n /**\n * Init a data structure from data related option in series\n * Must be overwritten\n */\n getInitialData: function () {},\n\n /**\n * Append data to list\n * @param {Object} params\n * @param {Array|TypedArray} params.data\n */\n appendData: function (params) {\n // FIXME ???\n // (1) If data from dataset, forbidden append.\n // (2) support append data of dataset.\n var data = this.getRawData();\n data.appendData(params.data);\n },\n\n /**\n * Consider some method like `filter`, `map` need make new data,\n * We should make sure that `seriesModel.getData()` get correct\n * data in the stream procedure. So we fetch data from upstream\n * each time `task.perform` called.\n * @param {string} [dataType]\n * @return {module:echarts/data/List}\n */\n getData: function (dataType) {\n var task = getCurrentTask(this);\n\n if (task) {\n var data = task.context.data;\n return dataType == null ? data : data.getLinkedData(dataType);\n } else {\n // When series is not alive (that may happen when click toolbox\n // restore or setOption with not merge mode), series data may\n // be still need to judge animation or something when graphic\n // elements want to know whether fade out.\n return inner(this).data;\n }\n },\n\n /**\n * @param {module:echarts/data/List} data\n */\n setData: function (data) {\n var task = getCurrentTask(this);\n\n if (task) {\n var context = task.context; // Consider case: filter, data sample.\n\n if (context.data !== data && task.modifyOutputEnd) {\n task.setOutputEnd(data.count());\n }\n\n context.outputData = data; // Caution: setData should update context.data,\n // Because getData may be called multiply in a\n // single stage and expect to get the data just\n // set. (For example, AxisProxy, x y both call\n // getData and setDate sequentially).\n // So the context.data should be fetched from\n // upstream each time when a stage starts to be\n // performed.\n\n if (task !== this.dataTask) {\n context.data = data;\n }\n }\n\n inner(this).data = data;\n },\n\n /**\n * @see {module:echarts/data/helper/sourceHelper#getSource}\n * @return {module:echarts/data/Source} source\n */\n getSource: function () {\n return getSource(this);\n },\n\n /**\n * Get data before processed\n * @return {module:echarts/data/List}\n */\n getRawData: function () {\n return inner(this).dataBeforeProcessed;\n },\n\n /**\n * Get base axis if has coordinate system and has axis.\n * By default use coordSys.getBaseAxis();\n * Can be overrided for some chart.\n * @return {type} description\n */\n getBaseAxis: function () {\n var coordSys = this.coordinateSystem;\n return coordSys && coordSys.getBaseAxis && coordSys.getBaseAxis();\n },\n // FIXME\n\n /**\n * Default tooltip formatter\n *\n * @param {number} dataIndex\n * @param {boolean} [multipleSeries=false]\n * @param {number} [dataType]\n * @param {string} [renderMode='html'] valid values: 'html' and 'richText'.\n * 'html' is used for rendering tooltip in extra DOM form, and the result\n * string is used as DOM HTML content.\n * 'richText' is used for rendering tooltip in rich text form, for those where\n * DOM operation is not supported.\n * @return {Object} formatted tooltip with `html` and `markers`\n */\n formatTooltip: function (dataIndex, multipleSeries, dataType, renderMode) {\n var series = this;\n renderMode = renderMode || 'html';\n var newLine = renderMode === 'html' ? '
' : '\\n';\n var isRichText = renderMode === 'richText';\n var markers = {};\n var markerId = 0;\n\n function formatArrayValue(value) {\n // ??? TODO refactor these logic.\n // check: category-no-encode-has-axis-data in dataset.html\n var vertially = zrUtil.reduce(value, function (vertially, val, idx) {\n var dimItem = data.getDimensionInfo(idx);\n return vertially |= dimItem && dimItem.tooltip !== false && dimItem.displayName != null;\n }, 0);\n var result = [];\n tooltipDims.length ? zrUtil.each(tooltipDims, function (dim) {\n setEachItem(retrieveRawValue(data, dataIndex, dim), dim);\n }) // By default, all dims is used on tooltip.\n : zrUtil.each(value, setEachItem);\n\n function setEachItem(val, dim) {\n var dimInfo = data.getDimensionInfo(dim); // If `dimInfo.tooltip` is not set, show tooltip.\n\n if (!dimInfo || dimInfo.otherDims.tooltip === false) {\n return;\n }\n\n var dimType = dimInfo.type;\n var markName = 'sub' + series.seriesIndex + 'at' + markerId;\n var dimHead = getTooltipMarker({\n color: color,\n type: 'subItem',\n renderMode: renderMode,\n markerId: markName\n });\n var dimHeadStr = typeof dimHead === 'string' ? dimHead : dimHead.content;\n var valStr = (vertially ? dimHeadStr + encodeHTML(dimInfo.displayName || '-') + ': ' : '') + // FIXME should not format time for raw data?\n encodeHTML(dimType === 'ordinal' ? val + '' : dimType === 'time' ? multipleSeries ? '' : formatTime('yyyy/MM/dd hh:mm:ss', val) : addCommas(val));\n valStr && result.push(valStr);\n\n if (isRichText) {\n markers[markName] = color;\n ++markerId;\n }\n }\n\n var newLine = vertially ? isRichText ? '\\n' : '
' : '';\n var content = newLine + result.join(newLine || ', ');\n return {\n renderMode: renderMode,\n content: content,\n style: markers\n };\n }\n\n function formatSingleValue(val) {\n // return encodeHTML(addCommas(val));\n return {\n renderMode: renderMode,\n content: encodeHTML(addCommas(val)),\n style: markers\n };\n }\n\n var data = this.getData();\n var tooltipDims = data.mapDimension('defaultedTooltip', true);\n var tooltipDimLen = tooltipDims.length;\n var value = this.getRawValue(dataIndex);\n var isValueArr = zrUtil.isArray(value);\n var color = data.getItemVisual(dataIndex, 'color');\n\n if (zrUtil.isObject(color) && color.colorStops) {\n color = (color.colorStops[0] || {}).color;\n }\n\n color = color || 'transparent'; // Complicated rule for pretty tooltip.\n\n var formattedValue = tooltipDimLen > 1 || isValueArr && !tooltipDimLen ? formatArrayValue(value) : tooltipDimLen ? formatSingleValue(retrieveRawValue(data, dataIndex, tooltipDims[0])) : formatSingleValue(isValueArr ? value[0] : value);\n var content = formattedValue.content;\n var markName = series.seriesIndex + 'at' + markerId;\n var colorEl = getTooltipMarker({\n color: color,\n type: 'item',\n renderMode: renderMode,\n markerId: markName\n });\n markers[markName] = color;\n ++markerId;\n var name = data.getName(dataIndex);\n var seriesName = this.name;\n\n if (!modelUtil.isNameSpecified(this)) {\n seriesName = '';\n }\n\n seriesName = seriesName ? encodeHTML(seriesName) + (!multipleSeries ? newLine : ': ') : '';\n var colorStr = typeof colorEl === 'string' ? colorEl : colorEl.content;\n var html = !multipleSeries ? seriesName + colorStr + (name ? encodeHTML(name) + ': ' + content : content) : colorStr + seriesName + content;\n return {\n html: html,\n markers: markers\n };\n },\n\n /**\n * @return {boolean}\n */\n isAnimationEnabled: function () {\n if (env.node) {\n return false;\n }\n\n var animationEnabled = this.getShallow('animation');\n\n if (animationEnabled) {\n if (this.getData().count() > this.getShallow('animationThreshold')) {\n animationEnabled = false;\n }\n }\n\n return animationEnabled;\n },\n restoreData: function () {\n this.dataTask.dirty();\n },\n getColorFromPalette: function (name, scope, requestColorNum) {\n var ecModel = this.ecModel; // PENDING\n\n var color = colorPaletteMixin.getColorFromPalette.call(this, name, scope, requestColorNum);\n\n if (!color) {\n color = ecModel.getColorFromPalette(name, scope, requestColorNum);\n }\n\n return color;\n },\n\n /**\n * Use `data.mapDimension(coordDim, true)` instead.\n * @deprecated\n */\n coordDimToDataDim: function (coordDim) {\n return this.getRawData().mapDimension(coordDim, true);\n },\n\n /**\n * Get progressive rendering count each step\n * @return {number}\n */\n getProgressive: function () {\n return this.get('progressive');\n },\n\n /**\n * Get progressive rendering count each step\n * @return {number}\n */\n getProgressiveThreshold: function () {\n return this.get('progressiveThreshold');\n },\n\n /**\n * Get data indices for show tooltip content. See tooltip.\n * @abstract\n * @param {Array.|string} dim\n * @param {Array.} value\n * @param {module:echarts/coord/single/SingleAxis} baseAxis\n * @return {Object} {dataIndices, nestestValue}.\n */\n getAxisTooltipData: null,\n\n /**\n * See tooltip.\n * @abstract\n * @param {number} dataIndex\n * @return {Array.} Point of tooltip. null/undefined can be returned.\n */\n getTooltipPosition: null,\n\n /**\n * @see {module:echarts/stream/Scheduler}\n */\n pipeTask: null,\n\n /**\n * Convinient for override in extended class.\n * @protected\n * @type {Function}\n */\n preventIncremental: null,\n\n /**\n * @public\n * @readOnly\n * @type {Object}\n */\n pipelineContext: null\n});\nzrUtil.mixin(SeriesModel, dataFormatMixin);\nzrUtil.mixin(SeriesModel, colorPaletteMixin);\n/**\n * MUST be called after `prepareSource` called\n * Here we need to make auto series, especially for auto legend. But we\n * do not modify series.name in option to avoid side effects.\n */\n\nfunction autoSeriesName(seriesModel) {\n // User specified name has higher priority, otherwise it may cause\n // series can not be queried unexpectedly.\n var name = seriesModel.name;\n\n if (!modelUtil.isNameSpecified(seriesModel)) {\n seriesModel.name = getSeriesAutoName(seriesModel) || name;\n }\n}\n\nfunction getSeriesAutoName(seriesModel) {\n var data = seriesModel.getRawData();\n var dataDims = data.mapDimension('seriesName', true);\n var nameArr = [];\n zrUtil.each(dataDims, function (dataDim) {\n var dimInfo = data.getDimensionInfo(dataDim);\n dimInfo.displayName && nameArr.push(dimInfo.displayName);\n });\n return nameArr.join(' ');\n}\n\nfunction dataTaskCount(context) {\n return context.model.getRawData().count();\n}\n\nfunction dataTaskReset(context) {\n var seriesModel = context.model;\n seriesModel.setData(seriesModel.getRawData().cloneShallow());\n return dataTaskProgress;\n}\n\nfunction dataTaskProgress(param, context) {\n // Avoid repead cloneShallow when data just created in reset.\n if (param.end > context.outputData.count()) {\n context.model.getRawData().cloneShallow(context.outputData);\n }\n} // TODO refactor\n\n\nfunction wrapData(data, seriesModel) {\n zrUtil.each(data.CHANGABLE_METHODS, function (methodName) {\n data.wrapMethod(methodName, zrUtil.curry(onDataSelfChange, seriesModel));\n });\n}\n\nfunction onDataSelfChange(seriesModel) {\n var task = getCurrentTask(seriesModel);\n\n if (task) {\n // Consider case: filter, selectRange\n task.setOutputEnd(this.count());\n }\n}\n\nfunction getCurrentTask(seriesModel) {\n var scheduler = (seriesModel.ecModel || {}).scheduler;\n var pipeline = scheduler && scheduler.getPipeline(seriesModel.uid);\n\n if (pipeline) {\n // When pipline finished, the currrentTask keep the last\n // task (renderTask).\n var task = pipeline.currentTask;\n\n if (task) {\n var agentStubMap = task.agentStubMap;\n\n if (agentStubMap) {\n task = agentStubMap.get(seriesModel.uid);\n }\n }\n\n return task;\n }\n}\n\nvar _default = SeriesModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(seriesType, defaultSymbolType, legendSymbol) {\n // Encoding visual for all series include which is filtered for legend drawing\n return {\n seriesType: seriesType,\n // For legend.\n performRawSeries: true,\n reset: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var symbolType = seriesModel.get('symbol') || defaultSymbolType;\n var symbolSize = seriesModel.get('symbolSize');\n var keepAspect = seriesModel.get('symbolKeepAspect');\n data.setVisual({\n legendSymbol: legendSymbol || symbolType,\n symbol: symbolType,\n symbolSize: symbolSize,\n symbolKeepAspect: keepAspect\n }); // Only visible series has each data be visual encoded\n\n if (ecModel.isSeriesFiltered(seriesModel)) {\n return;\n }\n\n var hasCallback = typeof symbolSize === 'function';\n\n function dataEach(data, idx) {\n if (typeof symbolSize === 'function') {\n var rawValue = seriesModel.getRawValue(idx); // FIXME\n\n var params = seriesModel.getDataParams(idx);\n data.setItemVisual(idx, 'symbolSize', symbolSize(rawValue, params));\n }\n\n if (data.hasItemOption) {\n var itemModel = data.getItemModel(idx);\n var itemSymbolType = itemModel.getShallow('symbol', true);\n var itemSymbolSize = itemModel.getShallow('symbolSize', true);\n var itemSymbolKeepAspect = itemModel.getShallow('symbolKeepAspect', true); // If has item symbol\n\n if (itemSymbolType != null) {\n data.setItemVisual(idx, 'symbol', itemSymbolType);\n }\n\n if (itemSymbolSize != null) {\n // PENDING Transform symbolSize ?\n data.setItemVisual(idx, 'symbolSize', itemSymbolSize);\n }\n\n if (itemSymbolKeepAspect != null) {\n data.setItemVisual(idx, 'symbolKeepAspect', itemSymbolKeepAspect);\n }\n }\n }\n\n return {\n dataEach: data.hasItemOption || hasCallback ? dataEach : null\n };\n }\n };\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\nvar ATTR = '\\0_ec_hist_store';\n/**\n * @param {module:echarts/model/Global} ecModel\n * @param {Object} newSnapshot {dataZoomId, batch: [payloadInfo, ...]}\n */\n\nfunction push(ecModel, newSnapshot) {\n var store = giveStore(ecModel); // If previous dataZoom can not be found,\n // complete an range with current range.\n\n each(newSnapshot, function (batchItem, dataZoomId) {\n var i = store.length - 1;\n\n for (; i >= 0; i--) {\n var snapshot = store[i];\n\n if (snapshot[dataZoomId]) {\n break;\n }\n }\n\n if (i < 0) {\n // No origin range set, create one by current range.\n var dataZoomModel = ecModel.queryComponents({\n mainType: 'dataZoom',\n subType: 'select',\n id: dataZoomId\n })[0];\n\n if (dataZoomModel) {\n var percentRange = dataZoomModel.getPercentRange();\n store[0][dataZoomId] = {\n dataZoomId: dataZoomId,\n start: percentRange[0],\n end: percentRange[1]\n };\n }\n }\n });\n store.push(newSnapshot);\n}\n/**\n * @param {module:echarts/model/Global} ecModel\n * @return {Object} snapshot\n */\n\n\nfunction pop(ecModel) {\n var store = giveStore(ecModel);\n var head = store[store.length - 1];\n store.length > 1 && store.pop(); // Find top for all dataZoom.\n\n var snapshot = {};\n each(head, function (batchItem, dataZoomId) {\n for (var i = store.length - 1; i >= 0; i--) {\n var batchItem = store[i][dataZoomId];\n\n if (batchItem) {\n snapshot[dataZoomId] = batchItem;\n break;\n }\n }\n });\n return snapshot;\n}\n/**\n * @param {module:echarts/model/Global} ecModel\n */\n\n\nfunction clear(ecModel) {\n ecModel[ATTR] = null;\n}\n/**\n * @param {module:echarts/model/Global} ecModel\n * @return {number} records. always >= 1.\n */\n\n\nfunction count(ecModel) {\n return giveStore(ecModel).length;\n}\n/**\n * [{key: dataZoomId, value: {dataZoomId, range}}, ...]\n * History length of each dataZoom may be different.\n * this._history[0] is used to store origin range.\n * @type {Array.}\n */\n\n\nfunction giveStore(ecModel) {\n var store = ecModel[ATTR];\n\n if (!store) {\n store = ecModel[ATTR] = [{}];\n }\n\n return store;\n}\n\nexports.push = push;\nexports.pop = pop;\nexports.clear = clear;\nexports.count = count;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\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});","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"echarts\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"echarts\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"echarts-gl\"] = factory(require(\"echarts\"));\n\telse\n\t\troot[\"echarts-gl\"] = factory(root[\"echarts\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__) {\nreturn /******/ (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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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 = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 106);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_Mesh__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_Renderer__ = __webpack_require__(52);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_claygl_src_Material__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_claygl_src_Node__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_claygl_src_Geometry__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_claygl_src_Scene__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_zrender_lib_core_LRU__ = __webpack_require__(60);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_zrender_lib_core_LRU___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_zrender_lib_core_LRU__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_claygl_src_util_texture__ = __webpack_require__(61);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__EChartsSurface__ = __webpack_require__(124);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_claygl_src_light_AmbientCubemap__ = __webpack_require__(125);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_claygl_src_light_AmbientSH__ = __webpack_require__(129);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_claygl_src_util_sh__ = __webpack_require__(130);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__retrieve__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17_claygl_src_geometry_Sphere__ = __webpack_require__(132);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18_claygl_src_geometry_Plane__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19_claygl_src_geometry_Cube__ = __webpack_require__(76);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20_claygl_src_light_Ambient__ = __webpack_require__(133);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21_claygl_src_light_Directional__ = __webpack_require__(134);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22_claygl_src_light_Point__ = __webpack_require__(135);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23_claygl_src_light_Spot__ = __webpack_require__(136);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24_claygl_src_camera_Perspective__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25_claygl_src_camera_Orthographic__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26_claygl_src_math_Vector2__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27_claygl_src_math_Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28_claygl_src_math_Vector4__ = __webpack_require__(137);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29_claygl_src_math_Quaternion__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30_claygl_src_math_Matrix2__ = __webpack_require__(138);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31_claygl_src_math_Matrix2d__ = __webpack_require__(139);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32_claygl_src_math_Matrix3__ = __webpack_require__(140);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33_claygl_src_math_Matrix4__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34_claygl_src_math_Plane__ = __webpack_require__(74);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35_claygl_src_math_Ray__ = __webpack_require__(54);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36_claygl_src_math_BoundingBox__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37_claygl_src_math_Frustum__ = __webpack_require__(59);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__animatableMixin__ = __webpack_require__(141);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39_claygl_src_shader_source_util_glsl_js__ = __webpack_require__(146);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40_claygl_src_shader_source_prez_glsl_js__ = __webpack_require__(71);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__shader_common_glsl_js__ = __webpack_require__(147);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_42__shader_color_glsl_js__ = __webpack_require__(148);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_43__shader_lambert_glsl_js__ = __webpack_require__(149);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_44__shader_realistic_glsl_js__ = __webpack_require__(150);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_45__shader_hatching_glsl_js__ = __webpack_require__(151);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_46__shader_shadow_glsl_js__ = __webpack_require__(152);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// Math\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// Some common shaders\n\n\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_8_echarts_lib_echarts___default.a.util.extend(__WEBPACK_IMPORTED_MODULE_6_claygl_src_Node__[\"a\" /* default */].prototype, __WEBPACK_IMPORTED_MODULE_38__animatableMixin__[\"a\" /* default */]);\n\n__WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].import(__WEBPACK_IMPORTED_MODULE_39_claygl_src_shader_source_util_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].import(__WEBPACK_IMPORTED_MODULE_40_claygl_src_shader_source_prez_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].import(__WEBPACK_IMPORTED_MODULE_41__shader_common_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].import(__WEBPACK_IMPORTED_MODULE_42__shader_color_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].import(__WEBPACK_IMPORTED_MODULE_43__shader_lambert_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].import(__WEBPACK_IMPORTED_MODULE_44__shader_realistic_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].import(__WEBPACK_IMPORTED_MODULE_45__shader_hatching_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].import(__WEBPACK_IMPORTED_MODULE_46__shader_shadow_glsl_js__[\"a\" /* default */]);\n\nfunction isValueNone(value) {\n return !value || value === 'none';\n}\n\nfunction isValueImage(value) {\n return value instanceof HTMLCanvasElement\n || value instanceof HTMLImageElement\n || value instanceof Image;\n}\n\nfunction isECharts(value) {\n return value.getZr && value.setOption;\n}\n\n// Overwrite addToScene and removeFromScene\nvar oldAddToScene = __WEBPACK_IMPORTED_MODULE_9_claygl_src_Scene__[\"a\" /* default */].prototype.addToScene;\nvar oldRemoveFromScene = __WEBPACK_IMPORTED_MODULE_9_claygl_src_Scene__[\"a\" /* default */].prototype.removeFromScene;\n\n__WEBPACK_IMPORTED_MODULE_9_claygl_src_Scene__[\"a\" /* default */].prototype.addToScene = function (node) {\n oldAddToScene.call(this, node);\n\n if (this.__zr) {\n var zr = this.__zr;\n node.traverse(function (child) {\n child.__zr = zr;\n if (child.addAnimatorsToZr) {\n child.addAnimatorsToZr(zr);\n }\n });\n }\n};\n\n__WEBPACK_IMPORTED_MODULE_9_claygl_src_Scene__[\"a\" /* default */].prototype.removeFromScene = function (node) {\n oldRemoveFromScene.call(this, node);\n\n node.traverse(function (child) {\n var zr = child.__zr;\n child.__zr = null;\n if (zr && child.removeAnimatorsFromZr) {\n child.removeAnimatorsFromZr(zr);\n }\n });\n};\n\n/**\n * @param {string} textureName\n * @param {string|HTMLImageElement|HTMLCanvasElement} imgValue\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} [textureOpts]\n */\n__WEBPACK_IMPORTED_MODULE_5_claygl_src_Material__[\"a\" /* default */].prototype.setTextureImage = function (textureName, imgValue, api, textureOpts) {\n if (!this.shader) {\n return;\n }\n\n var zr = api.getZr();\n var material = this;\n var texture;\n material.autoUpdateTextureStatus = false;\n // disableTexture first\n material.disableTexture(textureName);\n if (!isValueNone(imgValue)) {\n texture = graphicGL.loadTexture(imgValue, api, textureOpts, function (texture) {\n material.enableTexture(textureName);\n zr && zr.refresh();\n });\n // Set texture immediately for other code to verify if have this texture.\n material.set(textureName, texture);\n }\n\n return texture;\n};\n\nvar graphicGL = {};\n\ngraphicGL.Renderer = __WEBPACK_IMPORTED_MODULE_1_claygl_src_Renderer__[\"a\" /* default */];\n\ngraphicGL.Node = __WEBPACK_IMPORTED_MODULE_6_claygl_src_Node__[\"a\" /* default */];\n\ngraphicGL.Mesh = __WEBPACK_IMPORTED_MODULE_0_claygl_src_Mesh__[\"a\" /* default */];\n\ngraphicGL.Shader = __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */];\n\ngraphicGL.Material = __WEBPACK_IMPORTED_MODULE_5_claygl_src_Material__[\"a\" /* default */];\n\ngraphicGL.Texture = __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__[\"a\" /* default */];\n\ngraphicGL.Texture2D = __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture2D__[\"a\" /* default */];\n\n// Geometries\ngraphicGL.Geometry = __WEBPACK_IMPORTED_MODULE_7_claygl_src_Geometry__[\"a\" /* default */];\ngraphicGL.SphereGeometry = __WEBPACK_IMPORTED_MODULE_17_claygl_src_geometry_Sphere__[\"a\" /* default */];\ngraphicGL.PlaneGeometry = __WEBPACK_IMPORTED_MODULE_18_claygl_src_geometry_Plane__[\"a\" /* default */];\ngraphicGL.CubeGeometry = __WEBPACK_IMPORTED_MODULE_19_claygl_src_geometry_Cube__[\"a\" /* default */];\n\n// Lights\ngraphicGL.AmbientLight = __WEBPACK_IMPORTED_MODULE_20_claygl_src_light_Ambient__[\"a\" /* default */];\ngraphicGL.DirectionalLight = __WEBPACK_IMPORTED_MODULE_21_claygl_src_light_Directional__[\"a\" /* default */];\ngraphicGL.PointLight = __WEBPACK_IMPORTED_MODULE_22_claygl_src_light_Point__[\"a\" /* default */];\ngraphicGL.SpotLight = __WEBPACK_IMPORTED_MODULE_23_claygl_src_light_Spot__[\"a\" /* default */];\n\n// Cameras\ngraphicGL.PerspectiveCamera = __WEBPACK_IMPORTED_MODULE_24_claygl_src_camera_Perspective__[\"a\" /* default */];\ngraphicGL.OrthographicCamera = __WEBPACK_IMPORTED_MODULE_25_claygl_src_camera_Orthographic__[\"a\" /* default */];\n\n// Math\ngraphicGL.Vector2 = __WEBPACK_IMPORTED_MODULE_26_claygl_src_math_Vector2__[\"a\" /* default */];\ngraphicGL.Vector3 = __WEBPACK_IMPORTED_MODULE_27_claygl_src_math_Vector3__[\"a\" /* default */];\ngraphicGL.Vector4 = __WEBPACK_IMPORTED_MODULE_28_claygl_src_math_Vector4__[\"a\" /* default */];\n\ngraphicGL.Quaternion = __WEBPACK_IMPORTED_MODULE_29_claygl_src_math_Quaternion__[\"a\" /* default */];\n\ngraphicGL.Matrix2 = __WEBPACK_IMPORTED_MODULE_30_claygl_src_math_Matrix2__[\"a\" /* default */];\ngraphicGL.Matrix2d = __WEBPACK_IMPORTED_MODULE_31_claygl_src_math_Matrix2d__[\"a\" /* default */];\ngraphicGL.Matrix3 = __WEBPACK_IMPORTED_MODULE_32_claygl_src_math_Matrix3__[\"a\" /* default */];\ngraphicGL.Matrix4 = __WEBPACK_IMPORTED_MODULE_33_claygl_src_math_Matrix4__[\"a\" /* default */];\n\ngraphicGL.Plane = __WEBPACK_IMPORTED_MODULE_34_claygl_src_math_Plane__[\"a\" /* default */];\ngraphicGL.Ray = __WEBPACK_IMPORTED_MODULE_35_claygl_src_math_Ray__[\"a\" /* default */];\ngraphicGL.BoundingBox = __WEBPACK_IMPORTED_MODULE_36_claygl_src_math_BoundingBox__[\"a\" /* default */];\ngraphicGL.Frustum = __WEBPACK_IMPORTED_MODULE_37_claygl_src_math_Frustum__[\"a\" /* default */];\n\n// Texture utilities\n\nvar blankImage = __WEBPACK_IMPORTED_MODULE_11_claygl_src_util_texture__[\"a\" /* default */].createBlank('rgba(255,255,255,0)').image;\n\n\nfunction nearestPowerOfTwo(val) {\n return Math.pow(2, Math.round(Math.log(val) / Math.LN2));\n}\nfunction convertTextureToPowerOfTwo(texture) {\n if ((texture.wrapS === __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__[\"a\" /* default */].REPEAT || texture.wrapT === __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__[\"a\" /* default */].REPEAT)\n && texture.image\n ) {\n // var canvas = document.createElement('canvas');\n var width = nearestPowerOfTwo(texture.width);\n var height = nearestPowerOfTwo(texture.height);\n if (width !== texture.width || height !== texture.height) {\n var canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n var ctx = canvas.getContext('2d');\n ctx.drawImage(texture.image, 0, 0, width, height);\n texture.image = canvas;\n }\n }\n}\n/**\n * @param {string|HTMLImageElement|HTMLCanvasElement} imgValue\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} [textureOpts]\n * @param {Function} cb\n */\n// TODO Promise, test\ngraphicGL.loadTexture = function (imgValue, api, textureOpts, cb) {\n if (typeof textureOpts === 'function') {\n cb = textureOpts;\n textureOpts = {};\n }\n textureOpts = textureOpts || {};\n\n var keys = Object.keys(textureOpts).sort();\n var prefix = '';\n for (var i = 0; i < keys.length; i++) {\n prefix += keys[i] + '_' + textureOpts[keys[i]] + '_';\n }\n\n var textureCache = api.__textureCache = api.__textureCache || new __WEBPACK_IMPORTED_MODULE_10_zrender_lib_core_LRU___default.a(20);\n\n if (isECharts(imgValue)) {\n var id = imgValue.__textureid__;\n var textureObj = textureCache.get(prefix + id);\n if (!textureObj) {\n var surface = new __WEBPACK_IMPORTED_MODULE_12__EChartsSurface__[\"a\" /* default */](imgValue);\n surface.onupdate = function () {\n api.getZr().refresh();\n };\n textureObj = {\n texture: surface.getTexture()\n };\n for (var i = 0; i < keys.length; i++) {\n textureObj.texture[keys[i]] = textureOpts[keys[i]];\n }\n id = imgValue.__textureid__ || '__ecgl_ec__' + textureObj.texture.__uid__;\n imgValue.__textureid__ = id;\n textureCache.put(prefix + id, textureObj);\n cb && cb(textureObj.texture);\n }\n else {\n textureObj.texture.surface.setECharts(imgValue);\n\n cb && cb(textureObj.texture);\n }\n return textureObj.texture;\n }\n else if (isValueImage(imgValue)) {\n var id = imgValue.__textureid__;\n var textureObj = textureCache.get(prefix + id);\n if (!textureObj) {\n textureObj = {\n texture: new graphicGL.Texture2D({\n image: imgValue\n })\n };\n for (var i = 0; i < keys.length; i++) {\n textureObj.texture[keys[i]] = textureOpts[keys[i]];\n }\n id = imgValue.__textureid__ || '__ecgl_image__' + textureObj.texture.__uid__;\n imgValue.__textureid__ = id;\n textureCache.put(prefix + id, textureObj);\n\n convertTextureToPowerOfTwo(textureObj.texture);\n // TODO Next tick?\n cb && cb(textureObj.texture);\n }\n return textureObj.texture;\n }\n else {\n var textureObj = textureCache.get(prefix + imgValue);\n if (textureObj) {\n if (textureObj.callbacks) {\n // Add to pending callbacks\n textureObj.callbacks.push(cb);\n }\n else {\n // TODO Next tick?\n cb && cb(textureObj.texture);\n }\n }\n else {\n // Maybe base64\n if (imgValue.match(/.hdr$|^data:application\\/octet-stream/)) {\n textureObj = {\n callbacks: [cb]\n };\n var texture = __WEBPACK_IMPORTED_MODULE_11_claygl_src_util_texture__[\"a\" /* default */].loadTexture(imgValue, {\n exposure: textureOpts.exposure,\n fileType: 'hdr'\n }, function () {\n texture.dirty();\n textureObj.callbacks.forEach(function (cb) {\n cb && cb(texture);\n });\n textureObj.callbacks = null;\n });\n textureObj.texture = texture;\n textureCache.put(prefix + imgValue, textureObj);\n }\n else {\n var texture = new graphicGL.Texture2D({\n image: new Image()\n });\n for (var i = 0; i < keys.length; i++) {\n texture[keys[i]] = textureOpts[keys[i]];\n }\n\n textureObj = {\n texture: texture,\n callbacks: [cb]\n };\n var originalImage = texture.image;\n originalImage.onload = function () {\n texture.image = originalImage;\n convertTextureToPowerOfTwo(texture);\n\n texture.dirty();\n textureObj.callbacks.forEach(function (cb) {\n cb && cb(texture);\n });\n textureObj.callbacks = null;\n };\n originalImage.src = imgValue;\n // Use blank image as place holder.\n texture.image = blankImage;\n\n textureCache.put(prefix + imgValue, textureObj);\n }\n }\n\n return textureObj.texture;\n }\n};\n\n/**\n * Create ambientCubemap and ambientSH light. respectively to have specular and diffuse light\n * @return {Object} { specular, diffuse }\n */\ngraphicGL.createAmbientCubemap = function (opt, renderer, api, cb) {\n opt = opt || {};\n var textureUrl = opt.texture;\n var exposure = __WEBPACK_IMPORTED_MODULE_16__retrieve__[\"a\" /* default */].firstNotNull(opt.exposure, 1.0);\n\n var ambientCubemap = new __WEBPACK_IMPORTED_MODULE_13_claygl_src_light_AmbientCubemap__[\"a\" /* default */]({\n intensity: __WEBPACK_IMPORTED_MODULE_16__retrieve__[\"a\" /* default */].firstNotNull(opt.specularIntensity, 1.0)\n });\n var ambientSH = new __WEBPACK_IMPORTED_MODULE_14_claygl_src_light_AmbientSH__[\"a\" /* default */]({\n intensity: __WEBPACK_IMPORTED_MODULE_16__retrieve__[\"a\" /* default */].firstNotNull(opt.diffuseIntensity, 1.0),\n coefficients: [0.844, 0.712, 0.691, -0.037, 0.083, 0.167, 0.343, 0.288, 0.299, -0.041, -0.021, -0.009, -0.003, -0.041, -0.064, -0.011, -0.007, -0.004, -0.031, 0.034, 0.081, -0.060, -0.049, -0.060, 0.046, 0.056, 0.050]\n });\n\n\n ambientCubemap.cubemap = graphicGL.loadTexture(textureUrl, api, {\n exposure: exposure\n }, function () {\n // TODO Performance when multiple view\n ambientCubemap.cubemap.flipY = false;\n if (true) {\n var time = Date.now();\n }\n ambientCubemap.prefilter(renderer, 32);\n if (true) {\n var dTime = Date.now() - time;\n console.log('Prefilter environment map: ' + dTime + 'ms');\n }\n ambientSH.coefficients = __WEBPACK_IMPORTED_MODULE_15_claygl_src_util_sh__[\"a\" /* default */].projectEnvironmentMap(renderer, ambientCubemap.cubemap, {\n lod: 1\n });\n\n cb && cb();\n\n // TODO Refresh ?\n });\n\n return {\n specular: ambientCubemap,\n diffuse: ambientSH\n };\n};\n\n/**\n * Create a blank texture for placeholder\n */\ngraphicGL.createBlankTexture = __WEBPACK_IMPORTED_MODULE_11_claygl_src_util_texture__[\"a\" /* default */].createBlank;\n\n/**\n * If value is image\n * @param {*}\n * @return {boolean}\n */\ngraphicGL.isImage = isValueImage;\n\ngraphicGL.additiveBlend = function (gl) {\n gl.blendEquation(gl.FUNC_ADD);\n gl.blendFunc(gl.SRC_ALPHA, gl.ONE);\n};\n\n/**\n * @param {string|Array.} colorStr\n * @param {Array.} [rgba]\n * @return {Array.} rgba\n */\ngraphicGL.parseColor = function (colorStr, rgba) {\n if (colorStr instanceof Array) {\n if (!rgba) {\n rgba = [];\n }\n // Color has been parsed.\n rgba[0] = colorStr[0];\n rgba[1] = colorStr[1];\n rgba[2] = colorStr[2];\n if (colorStr.length > 3) {\n rgba[3] = colorStr[3];\n }\n else {\n rgba[3] = 1;\n }\n return rgba;\n }\n\n rgba = __WEBPACK_IMPORTED_MODULE_8_echarts_lib_echarts___default.a.color.parse(colorStr || '#000', rgba) || [0, 0, 0, 0];\n rgba[0] /= 255;\n rgba[1] /= 255;\n rgba[2] /= 255;\n return rgba;\n};\n\n/**\n * Convert alpha beta rotation to direction.\n * @param {number} alpha\n * @param {number} beta\n * @return {Array.}\n */\ngraphicGL.directionFromAlphaBeta = function (alpha, beta) {\n var theta = alpha / 180 * Math.PI + Math.PI / 2;\n var phi = -beta / 180 * Math.PI + Math.PI / 2;\n\n var dir = [];\n var r = Math.sin(theta);\n dir[0] = r * Math.cos(phi);\n dir[1] = -Math.cos(theta);\n dir[2] = r * Math.sin(phi);\n\n return dir;\n};\n/**\n * Get shadow resolution from shadowQuality configuration\n */\ngraphicGL.getShadowResolution = function (shadowQuality) {\n var shadowResolution = 1024;\n switch (shadowQuality) {\n case 'low':\n shadowResolution = 512;\n break;\n case 'medium':\n break;\n case 'high':\n shadowResolution = 2048;\n break;\n case 'ultra':\n shadowResolution = 4096;\n break;\n }\n return shadowResolution;\n};\n\n/**\n * Shading utilities\n */\ngraphicGL.COMMON_SHADERS = ['lambert', 'color', 'realistic', 'hatching'];\n\n/**\n * Create shader including vertex and fragment\n * @param {string} prefix.\n */\ngraphicGL.createShader = function (prefix) {\n var vertexShaderStr = __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].source(prefix + '.vertex');\n var fragmentShaderStr = __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].source(prefix + '.fragment');\n if (!vertexShaderStr) {\n console.error('Vertex shader of \\'%s\\' not exits', prefix);\n }\n if (!fragmentShaderStr) {\n console.error('Fragment shader of \\'%s\\' not exits', prefix);\n }\n var shader = new __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */](vertexShaderStr, fragmentShaderStr);\n shader.name = prefix;\n return shader;\n};\n\ngraphicGL.createMaterial = function (prefix, defines) {\n if (!(defines instanceof Array)) {\n defines = [defines];\n }\n var shader = graphicGL.createShader(prefix);\n var material = new __WEBPACK_IMPORTED_MODULE_5_claygl_src_Material__[\"a\" /* default */]({\n shader: shader\n });\n defines.forEach(function (defineName) {\n if (typeof defineName === 'string') {\n material.define(defineName);\n }\n });\n return material;\n};\n/**\n * Set material from model.\n * @param {clay.Material} material\n * @param {module:echarts/model/Model} model\n * @param {module:echarts/ExtensionAPI} api\n */\ngraphicGL.setMaterialFromModel = function (shading, material, model, api) {\n material.autoUpdateTextureStatus = false;\n\n var materialModel = model.getModel(shading + 'Material');\n var detailTexture = materialModel.get('detailTexture');\n var uvRepeat = __WEBPACK_IMPORTED_MODULE_16__retrieve__[\"a\" /* default */].firstNotNull(materialModel.get('textureTiling'), 1.0);\n var uvOffset = __WEBPACK_IMPORTED_MODULE_16__retrieve__[\"a\" /* default */].firstNotNull(materialModel.get('textureOffset'), 0.0);\n if (typeof uvRepeat === 'number') {\n uvRepeat = [uvRepeat, uvRepeat];\n }\n if (typeof uvOffset === 'number') {\n uvOffset = [uvOffset, uvOffset];\n }\n var repeatParam = (uvRepeat[0] > 1 || uvRepeat[1] > 1) ? graphicGL.Texture.REPEAT : graphicGL.Texture.CLAMP_TO_EDGE;\n var textureOpt = {\n anisotropic: 8,\n wrapS: repeatParam,\n wrapT: repeatParam\n };\n if (shading === 'realistic') {\n var roughness = materialModel.get('roughness');\n var metalness = materialModel.get('metalness');\n if (metalness != null) {\n // Try to treat as a texture, TODO More check\n if (isNaN(metalness)) {\n material.setTextureImage('metalnessMap', metalness, api, textureOpt);\n metalness = __WEBPACK_IMPORTED_MODULE_16__retrieve__[\"a\" /* default */].firstNotNull(materialModel.get('metalnessAdjust'), 0.5);\n }\n }\n else {\n // Default metalness.\n metalness = 0;\n }\n if (roughness != null) {\n // Try to treat as a texture, TODO More check\n if (isNaN(roughness)) {\n material.setTextureImage('roughnessMap', roughness, api, textureOpt);\n roughness = __WEBPACK_IMPORTED_MODULE_16__retrieve__[\"a\" /* default */].firstNotNull(materialModel.get('roughnessAdjust'), 0.5);\n }\n }\n else {\n // Default roughness.\n roughness = 0.5;\n }\n var normalTextureVal = materialModel.get('normalTexture');\n material.setTextureImage('detailMap', detailTexture, api, textureOpt);\n material.setTextureImage('normalMap', normalTextureVal, api, textureOpt);\n material.set({\n roughness: roughness,\n metalness: metalness,\n detailUvRepeat: uvRepeat,\n detailUvOffset: uvOffset\n });\n // var normalTexture = material.get('normalMap');\n // if (normalTexture) {\n // PENDING\n // normalTexture.format = Texture.SRGB;\n // }\n }\n else if (shading === 'lambert') {\n material.setTextureImage('detailMap', detailTexture, api, textureOpt);\n material.set({\n detailUvRepeat: uvRepeat,\n detailUvOffset: uvOffset\n });\n }\n else if (shading === 'color') {\n material.setTextureImage('detailMap', detailTexture, api, textureOpt);\n material.set({\n detailUvRepeat: uvRepeat,\n detailUvOffset: uvOffset\n });\n }\n else if (shading === 'hatching') {\n var tams = materialModel.get('hatchingTextures') || [];\n if (tams.length < 6) {\n if (true) {\n console.error('Invalid hatchingTextures.');\n }\n }\n for (var i = 0; i < 6; i++) {\n material.setTextureImage('hatch' + (i + 1), tams[i], api, {\n anisotropic: 8,\n wrapS: graphicGL.Texture.REPEAT,\n wrapT: graphicGL.Texture.REPEAT\n });\n }\n material.set({\n detailUvRepeat: uvRepeat,\n detailUvOffset: uvOffset\n });\n }\n};\n\ngraphicGL.updateVertexAnimation = function (\n mappingAttributes, previousMesh, currentMesh, seriesModel\n) {\n var enableAnimation = seriesModel.get('animation');\n var duration = seriesModel.get('animationDurationUpdate');\n var easing = seriesModel.get('animationEasingUpdate');\n var shadowDepthMaterial = currentMesh.shadowDepthMaterial;\n\n if (enableAnimation && previousMesh && duration > 0\n // Only animate when bar count are not changed\n && previousMesh.geometry.vertexCount === currentMesh.geometry.vertexCount\n ) {\n currentMesh.material.define('vertex', 'VERTEX_ANIMATION');\n currentMesh.ignorePreZ = true;\n if (shadowDepthMaterial) {\n shadowDepthMaterial.define('vertex', 'VERTEX_ANIMATION');\n }\n for (var i = 0; i < mappingAttributes.length; i++) {\n currentMesh.geometry.attributes[mappingAttributes[i][0]].value =\n previousMesh.geometry.attributes[mappingAttributes[i][1]].value;\n }\n currentMesh.geometry.dirty();\n currentMesh.__percent = 0;\n currentMesh.material.set('percent', 0);\n currentMesh.stopAnimation();\n currentMesh.animate()\n .when(duration, {\n __percent: 1\n })\n .during(function () {\n currentMesh.material.set('percent', currentMesh.__percent);\n if (shadowDepthMaterial) {\n shadowDepthMaterial.set('percent', currentMesh.__percent);\n }\n })\n .done(function () {\n currentMesh.ignorePreZ = false;\n currentMesh.material.undefine('vertex', 'VERTEX_ANIMATION');\n if (shadowDepthMaterial) {\n shadowDepthMaterial.undefine('vertex', 'VERTEX_ANIMATION');\n }\n })\n .start(easing);\n }\n else {\n currentMesh.material.undefine('vertex', 'VERTEX_ANIMATION');\n if (shadowDepthMaterial) {\n shadowDepthMaterial.undefine('vertex', 'VERTEX_ANIMATION');\n }\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (graphicGL);\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n\n\nvar retrieve = {\n\n firstNotNull: function () {\n for (var i = 0, len = arguments.length; i < len; i++) {\n if (arguments[i] != null) {\n return arguments[i];\n }\n }\n },\n\n /**\n * @param {module:echarts/data/List} data\n * @param {Object} payload Contains dataIndex (means rawIndex) / dataIndexInside / name\n * each of which can be Array or primary type.\n * @return {number|Array.} dataIndex If not found, return undefined/null.\n */\n queryDataIndex: function (data, payload) {\n if (payload.dataIndexInside != null) {\n return payload.dataIndexInside;\n }\n else if (payload.dataIndex != null) {\n return __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.isArray(payload.dataIndex)\n ? __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.map(payload.dataIndex, function (value) {\n return data.indexOfRawIndex(value);\n })\n : data.indexOfRawIndex(payload.dataIndex);\n }\n else if (payload.name != null) {\n return __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.isArray(payload.name)\n ? __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.map(payload.name, function (value) {\n return data.indexOfName(value);\n })\n : data.indexOfName(payload.name);\n }\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (retrieve);\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__ = __webpack_require__(12);\n\n\n/**\n * @constructor\n * @alias clay.Vector3\n * @param {number} x\n * @param {number} y\n * @param {number} z\n */\nvar Vector3 = function(x, y, z) {\n\n x = x || 0;\n y = y || 0;\n z = z || 0;\n\n /**\n * Storage of Vector3, read and write of x, y, z will change the values in array\n * All methods also operate on the array instead of x, y, z components\n * @name array\n * @type {Float32Array}\n * @memberOf clay.Vector3#\n */\n this.array = __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].fromValues(x, y, z);\n\n /**\n * Dirty flag is used by the Node to determine\n * if the matrix is updated to latest\n * @name _dirty\n * @type {boolean}\n * @memberOf clay.Vector3#\n */\n this._dirty = true;\n};\n\nVector3.prototype = {\n\n constructor: Vector3,\n\n /**\n * Add b to self\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\n add: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].add(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Set x, y and z components\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @return {clay.Vector3}\n */\n set: function (x, y, z) {\n this.array[0] = x;\n this.array[1] = y;\n this.array[2] = z;\n this._dirty = true;\n return this;\n },\n\n /**\n * Set x, y and z components from array\n * @param {Float32Array|number[]} arr\n * @return {clay.Vector3}\n */\n setArray: function (arr) {\n this.array[0] = arr[0];\n this.array[1] = arr[1];\n this.array[2] = arr[2];\n\n this._dirty = true;\n return this;\n },\n\n /**\n * Clone a new Vector3\n * @return {clay.Vector3}\n */\n clone: function () {\n return new Vector3(this.x, this.y, this.z);\n },\n\n /**\n * Copy from b\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\n copy: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].copy(this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Cross product of self and b, written to a Vector3 out\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\n cross: function (a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].cross(this.array, a.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for distance\n * @param {clay.Vector3} b\n * @return {number}\n */\n dist: function (b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].dist(this.array, b.array);\n },\n\n /**\n * Distance between self and b\n * @param {clay.Vector3} b\n * @return {number}\n */\n distance: function (b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].distance(this.array, b.array);\n },\n\n /**\n * Alias for divide\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\n div: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].div(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Divide self by b\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\n divide: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].divide(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Dot product of self and b\n * @param {clay.Vector3} b\n * @return {number}\n */\n dot: function (b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].dot(this.array, b.array);\n },\n\n /**\n * Alias of length\n * @return {number}\n */\n len: function () {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].len(this.array);\n },\n\n /**\n * Calculate the length\n * @return {number}\n */\n length: function () {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].length(this.array);\n },\n /**\n * Linear interpolation between a and b\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @param {number} t\n * @return {clay.Vector3}\n */\n lerp: function (a, b, t) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].lerp(this.array, a.array, b.array, t);\n this._dirty = true;\n return this;\n },\n\n /**\n * Minimum of self and b\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\n min: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].min(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Maximum of self and b\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\n max: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].max(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for multiply\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\n mul: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].mul(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Mutiply self and b\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\n multiply: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].multiply(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Negate self\n * @return {clay.Vector3}\n */\n negate: function () {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].negate(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Normalize self\n * @return {clay.Vector3}\n */\n normalize: function () {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].normalize(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Generate random x, y, z components with a given scale\n * @param {number} scale\n * @return {clay.Vector3}\n */\n random: function (scale) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].random(this.array, scale);\n this._dirty = true;\n return this;\n },\n\n /**\n * Scale self\n * @param {number} scale\n * @return {clay.Vector3}\n */\n scale: function (s) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].scale(this.array, this.array, s);\n this._dirty = true;\n return this;\n },\n\n /**\n * Scale b and add to self\n * @param {clay.Vector3} b\n * @param {number} scale\n * @return {clay.Vector3}\n */\n scaleAndAdd: function (b, s) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].scaleAndAdd(this.array, this.array, b.array, s);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for squaredDistance\n * @param {clay.Vector3} b\n * @return {number}\n */\n sqrDist: function (b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].sqrDist(this.array, b.array);\n },\n\n /**\n * Squared distance between self and b\n * @param {clay.Vector3} b\n * @return {number}\n */\n squaredDistance: function (b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].squaredDistance(this.array, b.array);\n },\n\n /**\n * Alias for squaredLength\n * @return {number}\n */\n sqrLen: function () {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].sqrLen(this.array);\n },\n\n /**\n * Squared length of self\n * @return {number}\n */\n squaredLength: function () {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].squaredLength(this.array);\n },\n\n /**\n * Alias for subtract\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\n sub: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].sub(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Subtract b from self\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\n subtract: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].subtract(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Transform self with a Matrix3 m\n * @param {clay.Matrix3} m\n * @return {clay.Vector3}\n */\n transformMat3: function (m) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].transformMat3(this.array, this.array, m.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Transform self with a Matrix4 m\n * @param {clay.Matrix4} m\n * @return {clay.Vector3}\n */\n transformMat4: function (m) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].transformMat4(this.array, this.array, m.array);\n this._dirty = true;\n return this;\n },\n /**\n * Transform self with a Quaternion q\n * @param {clay.Quaternion} q\n * @return {clay.Vector3}\n */\n transformQuat: function (q) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].transformQuat(this.array, this.array, q.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Trasnform self into projection space with m\n * @param {clay.Matrix4} m\n * @return {clay.Vector3}\n */\n applyProjection: function (m) {\n var v = this.array;\n m = m.array;\n\n // Perspective projection\n if (m[15] === 0) {\n var w = -1 / v[2];\n v[0] = m[0] * v[0] * w;\n v[1] = m[5] * v[1] * w;\n v[2] = (m[10] * v[2] + m[14]) * w;\n }\n else {\n v[0] = m[0] * v[0] + m[12];\n v[1] = m[5] * v[1] + m[13];\n v[2] = m[10] * v[2] + m[14];\n }\n this._dirty = true;\n\n return this;\n },\n\n eulerFromQuat: function(q, order) {\n Vector3.eulerFromQuat(this, q, order);\n },\n\n eulerFromMat3: function (m, order) {\n Vector3.eulerFromMat3(this, m, order);\n },\n\n toString: function() {\n return '[' + Array.prototype.join.call(this.array, ',') + ']';\n },\n\n toArray: function () {\n return Array.prototype.slice.call(this.array);\n }\n};\n\nvar defineProperty = Object.defineProperty;\n// Getter and Setter\nif (defineProperty) {\n\n var proto = Vector3.prototype;\n /**\n * @name x\n * @type {number}\n * @memberOf clay.Vector3\n * @instance\n */\n defineProperty(proto, 'x', {\n get: function () {\n return this.array[0];\n },\n set: function (value) {\n this.array[0] = value;\n this._dirty = true;\n }\n });\n\n /**\n * @name y\n * @type {number}\n * @memberOf clay.Vector3\n * @instance\n */\n defineProperty(proto, 'y', {\n get: function () {\n return this.array[1];\n },\n set: function (value) {\n this.array[1] = value;\n this._dirty = true;\n }\n });\n\n /**\n * @name z\n * @type {number}\n * @memberOf clay.Vector3\n * @instance\n */\n defineProperty(proto, 'z', {\n get: function () {\n return this.array[2];\n },\n set: function (value) {\n this.array[2] = value;\n this._dirty = true;\n }\n });\n}\n\n\n// Supply methods that are not in place\n\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\nVector3.add = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].add(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector3} out\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @return {clay.Vector3}\n */\nVector3.set = function(out, x, y, z) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].set(out.array, x, y, z);\n out._dirty = true;\n};\n\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\nVector3.copy = function(out, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].copy(out.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\nVector3.cross = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].cross(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {number}\n */\nVector3.dist = function(a, b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].distance(a.array, b.array);\n};\n\n/**\n * @function\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {number}\n */\nVector3.distance = Vector3.dist;\n\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\nVector3.div = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].divide(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @function\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\nVector3.divide = Vector3.div;\n\n/**\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {number}\n */\nVector3.dot = function(a, b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].dot(a.array, b.array);\n};\n\n/**\n * @param {clay.Vector3} a\n * @return {number}\n */\nVector3.len = function(b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].length(b.array);\n};\n\n// Vector3.length = Vector3.len;\n\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @param {number} t\n * @return {clay.Vector3}\n */\nVector3.lerp = function(out, a, b, t) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].lerp(out.array, a.array, b.array, t);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\nVector3.min = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].min(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\nVector3.max = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].max(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\nVector3.mul = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].multiply(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n/**\n * @function\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\nVector3.multiply = Vector3.mul;\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @return {clay.Vector3}\n */\nVector3.negate = function(out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].negate(out.array, a.array);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @return {clay.Vector3}\n */\nVector3.normalize = function(out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].normalize(out.array, a.array);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector3} out\n * @param {number} scale\n * @return {clay.Vector3}\n */\nVector3.random = function(out, scale) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].random(out.array, scale);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @param {number} scale\n * @return {clay.Vector3}\n */\nVector3.scale = function(out, a, scale) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].scale(out.array, a.array, scale);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @param {number} scale\n * @return {clay.Vector3}\n */\nVector3.scaleAndAdd = function(out, a, b, scale) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].scaleAndAdd(out.array, a.array, b.array, scale);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {number}\n */\nVector3.sqrDist = function(a, b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].sqrDist(a.array, b.array);\n};\n/**\n * @function\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {number}\n */\nVector3.squaredDistance = Vector3.sqrDist;\n/**\n * @param {clay.Vector3} a\n * @return {number}\n */\nVector3.sqrLen = function(a) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].sqrLen(a.array);\n};\n/**\n * @function\n * @param {clay.Vector3} a\n * @return {number}\n */\nVector3.squaredLength = Vector3.sqrLen;\n\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\nVector3.sub = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].subtract(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n/**\n * @function\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {clay.Vector3}\n */\nVector3.subtract = Vector3.sub;\n\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @param {Matrix3} m\n * @return {clay.Vector3}\n */\nVector3.transformMat3 = function(out, a, m) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].transformMat3(out.array, a.array, m.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @param {clay.Matrix4} m\n * @return {clay.Vector3}\n */\nVector3.transformMat4 = function(out, a, m) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].transformMat4(out.array, a.array, m.array);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector3} a\n * @param {clay.Quaternion} q\n * @return {clay.Vector3}\n */\nVector3.transformQuat = function(out, a, q) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec3__[\"a\" /* default */].transformQuat(out.array, a.array, q.array);\n out._dirty = true;\n return out;\n};\n\nfunction clamp(val, min, max) {\n return val < min ? min : (val > max ? max : val);\n}\nvar atan2 = Math.atan2;\nvar asin = Math.asin;\nvar abs = Math.abs;\n/**\n * Convert quaternion to euler angle\n * Quaternion must be normalized\n * From three.js\n */\nVector3.eulerFromQuat = function (out, q, order) {\n out._dirty = true;\n q = q.array;\n\n var target = out.array;\n var x = q[0], y = q[1], z = q[2], w = q[3];\n var x2 = x * x;\n var y2 = y * y;\n var z2 = z * z;\n var w2 = w * w;\n\n var order = (order || 'XYZ').toUpperCase();\n\n switch (order) {\n case 'XYZ':\n target[0] = atan2(2 * (x * w - y * z), (w2 - x2 - y2 + z2));\n target[1] = asin(clamp(2 * (x * z + y * w), - 1, 1));\n target[2] = atan2(2 * (z * w - x * y), (w2 + x2 - y2 - z2));\n break;\n case 'YXZ':\n target[0] = asin(clamp(2 * (x * w - y * z), - 1, 1));\n target[1] = atan2(2 * (x * z + y * w), (w2 - x2 - y2 + z2));\n target[2] = atan2(2 * (x * y + z * w), (w2 - x2 + y2 - z2));\n break;\n case 'ZXY':\n target[0] = asin(clamp(2 * (x * w + y * z), - 1, 1));\n target[1] = atan2(2 * (y * w - z * x), (w2 - x2 - y2 + z2));\n target[2] = atan2(2 * (z * w - x * y), (w2 - x2 + y2 - z2));\n break;\n case 'ZYX':\n target[0] = atan2(2 * (x * w + z * y), (w2 - x2 - y2 + z2));\n target[1] = asin(clamp(2 * (y * w - x * z), - 1, 1));\n target[2] = atan2(2 * (x * y + z * w), (w2 + x2 - y2 - z2));\n break;\n case 'YZX':\n target[0] = atan2(2 * (x * w - z * y), (w2 - x2 + y2 - z2));\n target[1] = atan2(2 * (y * w - x * z), (w2 + x2 - y2 - z2));\n target[2] = asin(clamp(2 * (x * y + z * w), - 1, 1));\n break;\n case 'XZY':\n target[0] = atan2(2 * (x * w + y * z), (w2 - x2 + y2 - z2));\n target[1] = atan2(2 * (x * z + y * w), (w2 + x2 - y2 - z2));\n target[2] = asin(clamp(2 * (z * w - x * y), - 1, 1));\n break;\n default:\n console.warn('Unkown order: ' + order);\n }\n return out;\n};\n\n/**\n * Convert rotation matrix to euler angle\n * from three.js\n */\nVector3.eulerFromMat3 = function (out, m, order) {\n // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)\n var te = m.array;\n var m11 = te[0], m12 = te[3], m13 = te[6];\n var m21 = te[1], m22 = te[4], m23 = te[7];\n var m31 = te[2], m32 = te[5], m33 = te[8];\n var target = out.array;\n\n var order = (order || 'XYZ').toUpperCase();\n\n switch (order) {\n case 'XYZ':\n target[1] = asin(clamp(m13, -1, 1));\n if (abs(m13) < 0.99999) {\n target[0] = atan2(-m23, m33);\n target[2] = atan2(-m12, m11);\n }\n else {\n target[0] = atan2(m32, m22);\n target[2] = 0;\n }\n break;\n case 'YXZ':\n target[0] = asin(-clamp(m23, -1, 1));\n if (abs(m23) < 0.99999) {\n target[1] = atan2(m13, m33);\n target[2] = atan2(m21, m22);\n }\n else {\n target[1] = atan2(-m31, m11);\n target[2] = 0;\n }\n break;\n case 'ZXY':\n target[0] = asin(clamp(m32, -1, 1));\n if (abs(m32) < 0.99999) {\n target[1] = atan2(-m31, m33);\n target[2] = atan2(-m12, m22);\n }\n else {\n target[1] = 0;\n target[2] = atan2(m21, m11);\n }\n break;\n case 'ZYX':\n target[1] = asin(-clamp(m31, -1, 1));\n if (abs(m31) < 0.99999) {\n target[0] = atan2(m32, m33);\n target[2] = atan2(m21, m11);\n }\n else {\n target[0] = 0;\n target[2] = atan2(-m12, m22);\n }\n break;\n case 'YZX':\n target[2] = asin(clamp(m21, -1, 1));\n if (abs(m21) < 0.99999) {\n target[0] = atan2(-m23, m22);\n target[1] = atan2(-m31, m11);\n }\n else {\n target[0] = 0;\n target[1] = atan2(m13, m33);\n }\n break;\n case 'XZY':\n target[2] = asin(-clamp(m12, -1, 1));\n if (abs(m12) < 0.99999) {\n target[0] = atan2(m32, m22);\n target[1] = atan2(m13, m11);\n }\n else {\n target[0] = atan2(-m23, m33);\n target[1] = 0;\n }\n break;\n default:\n console.warn('Unkown order: ' + order);\n }\n out._dirty = true;\n\n return out;\n};\n\nObject.defineProperties(Vector3, {\n /**\n * @type {clay.Vector3}\n * @readOnly\n * @memberOf clay.Vector3\n */\n POSITIVE_X: {\n get: function () {\n return new Vector3(1, 0, 0);\n }\n },\n /**\n * @type {clay.Vector3}\n * @readOnly\n * @memberOf clay.Vector3\n */\n NEGATIVE_X: {\n get: function () {\n return new Vector3(-1, 0, 0);\n }\n },\n /**\n * @type {clay.Vector3}\n * @readOnly\n * @memberOf clay.Vector3\n */\n POSITIVE_Y: {\n get: function () {\n return new Vector3(0, 1, 0);\n }\n },\n /**\n * @type {clay.Vector3}\n * @readOnly\n * @memberOf clay.Vector3\n */\n NEGATIVE_Y: {\n get: function () {\n return new Vector3(0, -1, 0);\n }\n },\n /**\n * @type {clay.Vector3}\n * @readOnly\n * @memberOf clay.Vector3\n */\n POSITIVE_Z: {\n get: function () {\n return new Vector3(0, 0, 1);\n }\n },\n /**\n * @type {clay.Vector3}\n * @readOnly\n */\n NEGATIVE_Z: {\n get: function () {\n return new Vector3(0, 0, -1);\n }\n },\n /**\n * @type {clay.Vector3}\n * @readOnly\n * @memberOf clay.Vector3\n */\n UP: {\n get: function () {\n return new Vector3(0, 1, 0);\n }\n },\n /**\n * @type {clay.Vector3}\n * @readOnly\n * @memberOf clay.Vector3\n */\n ZERO: {\n get: function () {\n return new Vector3();\n }\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Vector3);\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_Base__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_glenum__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_Cache__ = __webpack_require__(57);\n/**\n * Base class for all textures like compressed texture, texture2d, texturecube\n * TODO mapping\n */\n\n\n\n\n/**\n * @constructor\n * @alias clay.Texture\n * @extends clay.core.Base\n */\nvar Texture = __WEBPACK_IMPORTED_MODULE_0__core_Base__[\"a\" /* default */].extend( /** @lends clay.Texture# */ {\n /**\n * Texture width, readonly when the texture source is image\n * @type {number}\n */\n width: 512,\n /**\n * Texture height, readonly when the texture source is image\n * @type {number}\n */\n height: 512,\n /**\n * Texel data type.\n * Possible values:\n * + {@link clay.Texture.UNSIGNED_BYTE}\n * + {@link clay.Texture.HALF_FLOAT}\n * + {@link clay.Texture.FLOAT}\n * + {@link clay.Texture.UNSIGNED_INT_24_8_WEBGL}\n * + {@link clay.Texture.UNSIGNED_INT}\n * @type {number}\n */\n type: __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].UNSIGNED_BYTE,\n /**\n * Format of texel data\n * Possible values:\n * + {@link clay.Texture.RGBA}\n * + {@link clay.Texture.DEPTH_COMPONENT}\n * + {@link clay.Texture.DEPTH_STENCIL}\n * @type {number}\n */\n format: __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].RGBA,\n /**\n * Texture wrap. Default to be REPEAT.\n * Possible values:\n * + {@link clay.Texture.CLAMP_TO_EDGE}\n * + {@link clay.Texture.REPEAT}\n * + {@link clay.Texture.MIRRORED_REPEAT}\n * @type {number}\n */\n wrapS: __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].REPEAT,\n /**\n * Texture wrap. Default to be REPEAT.\n * Possible values:\n * + {@link clay.Texture.CLAMP_TO_EDGE}\n * + {@link clay.Texture.REPEAT}\n * + {@link clay.Texture.MIRRORED_REPEAT}\n * @type {number}\n */\n wrapT: __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].REPEAT,\n /**\n * Possible values:\n * + {@link clay.Texture.NEAREST}\n * + {@link clay.Texture.LINEAR}\n * + {@link clay.Texture.NEAREST_MIPMAP_NEAREST}\n * + {@link clay.Texture.LINEAR_MIPMAP_NEAREST}\n * + {@link clay.Texture.NEAREST_MIPMAP_LINEAR}\n * + {@link clay.Texture.LINEAR_MIPMAP_LINEAR}\n * @type {number}\n */\n minFilter: __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINEAR_MIPMAP_LINEAR,\n /**\n * Possible values:\n * + {@link clay.Texture.NEAREST}\n * + {@link clay.Texture.LINEAR}\n * @type {number}\n */\n magFilter: __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINEAR,\n /**\n * If enable mimap.\n * @type {boolean}\n */\n useMipmap: true,\n\n /**\n * Anisotropic filtering, enabled if value is larger than 1\n * @see https://developer.mozilla.org/en-US/docs/Web/API/EXT_texture_filter_anisotropic\n * @type {number}\n */\n anisotropic: 1,\n // pixelStorei parameters, not available when texture is used as render target\n // http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml\n /**\n * If flip in y axis for given image source\n * @type {boolean}\n * @default true\n */\n flipY: true,\n\n /**\n * A flag to indicate if texture source is sRGB\n */\n sRGB: true,\n /**\n * @type {number}\n * @default 4\n */\n unpackAlignment: 4,\n /**\n * @type {boolean}\n * @default false\n */\n premultiplyAlpha: false,\n\n /**\n * Dynamic option for texture like video\n * @type {boolean}\n */\n dynamic: false,\n\n NPOT: false,\n\n // PENDING\n // Init it here to avoid deoptimization when it's assigned in application dynamically\n __used: 0\n\n}, function () {\n this._cache = new __WEBPACK_IMPORTED_MODULE_2__core_Cache__[\"a\" /* default */]();\n},\n/** @lends clay.Texture.prototype */\n{\n\n getWebGLTexture: function (renderer) {\n var _gl = renderer.gl;\n var cache = this._cache;\n cache.use(renderer.__uid__);\n\n if (cache.miss('webgl_texture')) {\n // In a new gl context, create new texture and set dirty true\n cache.put('webgl_texture', _gl.createTexture());\n }\n if (this.dynamic) {\n this.update(renderer);\n }\n else if (cache.isDirty()) {\n this.update(renderer);\n cache.fresh();\n }\n\n return cache.get('webgl_texture');\n },\n\n bind: function () {},\n unbind: function () {},\n\n /**\n * Mark texture is dirty and update in the next frame\n */\n dirty: function () {\n if (this._cache) {\n this._cache.dirtyAll();\n }\n },\n\n update: function (renderer) {},\n\n // Update the common parameters of texture\n updateCommon: function (renderer) {\n var _gl = renderer.gl;\n _gl.pixelStorei(_gl.UNPACK_FLIP_Y_WEBGL, this.flipY);\n _gl.pixelStorei(_gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this.premultiplyAlpha);\n _gl.pixelStorei(_gl.UNPACK_ALIGNMENT, this.unpackAlignment);\n\n // Use of none-power of two texture\n // http://www.khronos.org/webgl/wiki/WebGL_and_OpenGL_Differences\n if (this.format === __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].DEPTH_COMPONENT) {\n this.useMipmap = false;\n }\n\n var sRGBExt = renderer.getGLExtension('EXT_sRGB');\n // Fallback\n if (this.format === Texture.SRGB && !sRGBExt) {\n this.format = Texture.RGB;\n }\n if (this.format === Texture.SRGB_ALPHA && !sRGBExt) {\n this.format = Texture.RGBA;\n }\n\n this.NPOT = !this.isPowerOfTwo();\n },\n\n getAvailableWrapS: function () {\n if (this.NPOT) {\n return __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].CLAMP_TO_EDGE;\n }\n return this.wrapS;\n },\n getAvailableWrapT: function () {\n if (this.NPOT) {\n return __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].CLAMP_TO_EDGE;\n }\n return this.wrapT;\n },\n getAvailableMinFilter: function () {\n var minFilter = this.minFilter;\n if (this.NPOT || !this.useMipmap) {\n if (minFilter === __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].NEAREST_MIPMAP_NEAREST ||\n minFilter === __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].NEAREST_MIPMAP_LINEAR\n ) {\n return __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].NEAREST;\n }\n else if (minFilter === __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINEAR_MIPMAP_LINEAR ||\n minFilter === __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINEAR_MIPMAP_NEAREST\n ) {\n return __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINEAR;\n }\n else {\n return minFilter;\n }\n }\n else {\n return minFilter;\n }\n },\n getAvailableMagFilter: function () {\n return this.magFilter;\n },\n\n nextHighestPowerOfTwo: function (x) {\n --x;\n for (var i = 1; i < 32; i <<= 1) {\n x = x | x >> i;\n }\n return x + 1;\n },\n /**\n * @param {clay.Renderer} renderer\n */\n dispose: function (renderer) {\n\n var cache = this._cache;\n\n cache.use(renderer.__uid__);\n\n var webglTexture = cache.get('webgl_texture');\n if (webglTexture){\n renderer.gl.deleteTexture(webglTexture);\n }\n cache.deleteContext(renderer.__uid__);\n\n },\n /**\n * Test if image of texture is valid and loaded.\n * @return {boolean}\n */\n isRenderable: function () {},\n\n /**\n * Test if texture size is power of two\n * @return {boolean}\n */\n isPowerOfTwo: function () {}\n});\n\nObject.defineProperty(Texture.prototype, 'width', {\n get: function () {\n return this._width;\n },\n set: function (value) {\n this._width = value;\n }\n});\nObject.defineProperty(Texture.prototype, 'height', {\n get: function () {\n return this._height;\n },\n set: function (value) {\n this._height = value;\n }\n});\n\n/* DataType */\n\n/**\n * @type {number}\n */\nTexture.BYTE = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].BYTE;\n/**\n * @type {number}\n */\nTexture.UNSIGNED_BYTE = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].UNSIGNED_BYTE;\n/**\n * @type {number}\n */\nTexture.SHORT = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].SHORT;\n/**\n * @type {number}\n */\nTexture.UNSIGNED_SHORT = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].UNSIGNED_SHORT;\n/**\n * @type {number}\n */\nTexture.INT = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].INT;\n/**\n * @type {number}\n */\nTexture.UNSIGNED_INT = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].UNSIGNED_INT;\n/**\n * @type {number}\n */\nTexture.FLOAT = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].FLOAT;\n/**\n * @type {number}\n */\nTexture.HALF_FLOAT = 0x8D61;\n\n/**\n * UNSIGNED_INT_24_8_WEBGL for WEBGL_depth_texture extension\n * @type {number}\n */\nTexture.UNSIGNED_INT_24_8_WEBGL = 34042;\n\n/* PixelFormat */\n/**\n * @type {number}\n */\nTexture.DEPTH_COMPONENT = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].DEPTH_COMPONENT;\n/**\n * @type {number}\n */\nTexture.DEPTH_STENCIL = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].DEPTH_STENCIL;\n/**\n * @type {number}\n */\nTexture.ALPHA = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].ALPHA;\n/**\n * @type {number}\n */\nTexture.RGB = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].RGB;\n/**\n * @type {number}\n */\nTexture.RGBA = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].RGBA;\n/**\n * @type {number}\n */\nTexture.LUMINANCE = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LUMINANCE;\n/**\n * @type {number}\n */\nTexture.LUMINANCE_ALPHA = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LUMINANCE_ALPHA;\n\n/**\n * @see https://www.khronos.org/registry/webgl/extensions/EXT_sRGB/\n * @type {number}\n */\nTexture.SRGB = 0x8C40;\n/**\n * @see https://www.khronos.org/registry/webgl/extensions/EXT_sRGB/\n * @type {number}\n */\nTexture.SRGB_ALPHA = 0x8C42;\n\n/* Compressed Texture */\nTexture.COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0;\nTexture.COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1;\nTexture.COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2;\nTexture.COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3;\n\n/* TextureMagFilter */\n/**\n * @type {number}\n */\nTexture.NEAREST = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].NEAREST;\n/**\n * @type {number}\n */\nTexture.LINEAR = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINEAR;\n\n/* TextureMinFilter */\n/**\n * @type {number}\n */\nTexture.NEAREST_MIPMAP_NEAREST = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].NEAREST_MIPMAP_NEAREST;\n/**\n * @type {number}\n */\nTexture.LINEAR_MIPMAP_NEAREST = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINEAR_MIPMAP_NEAREST;\n/**\n * @type {number}\n */\nTexture.NEAREST_MIPMAP_LINEAR = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].NEAREST_MIPMAP_LINEAR;\n/**\n * @type {number}\n */\nTexture.LINEAR_MIPMAP_LINEAR = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINEAR_MIPMAP_LINEAR;\n\n/* TextureWrapMode */\n/**\n * @type {number}\n */\nTexture.REPEAT = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].REPEAT;\n/**\n * @type {number}\n */\nTexture.CLAMP_TO_EDGE = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].CLAMP_TO_EDGE;\n/**\n * @type {number}\n */\nTexture.MIRRORED_REPEAT = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].MIRRORED_REPEAT;\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Texture);\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_glenum__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_vendor__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__math_util__ = __webpack_require__(73);\n\n\n\n\nvar isPowerOfTwo = __WEBPACK_IMPORTED_MODULE_3__math_util__[\"a\" /* default */].isPowerOfTwo;\n\nfunction nearestPowerOfTwo(val) {\n return Math.pow(2, Math.round(Math.log(val) / Math.LN2));\n}\nfunction convertTextureToPowerOfTwo(texture, canvas) {\n // var canvas = document.createElement('canvas');\n var width = nearestPowerOfTwo(texture.width);\n var height = nearestPowerOfTwo(texture.height);\n canvas = canvas || document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n var ctx = canvas.getContext('2d');\n ctx.drawImage(texture.image, 0, 0, width, height);\n\n return canvas;\n}\n\n/**\n * @constructor clay.Texture2D\n * @extends clay.Texture\n *\n * @example\n * ...\n * var mat = new clay.Material({\n * shader: clay.shader.library.get('clay.phong', 'diffuseMap')\n * });\n * var diffuseMap = new clay.Texture2D();\n * diffuseMap.load('assets/textures/diffuse.jpg');\n * mat.set('diffuseMap', diffuseMap);\n * ...\n * diffuseMap.success(function () {\n * // Wait for the diffuse texture loaded\n * animation.on('frame', function (frameTime) {\n * renderer.render(scene, camera);\n * });\n * });\n */\nvar Texture2D = __WEBPACK_IMPORTED_MODULE_0__Texture__[\"a\" /* default */].extend(function () {\n return /** @lends clay.Texture2D# */ {\n /**\n * @type {?HTMLImageElement|HTMLCanvasElemnet}\n */\n // TODO mark dirty when assigned.\n image: null,\n /**\n * Pixels data. Will be ignored if image is set.\n * @type {?Uint8Array|Float32Array}\n */\n pixels: null,\n /**\n * @type {Array.}\n * @example\n * [{\n * image: mipmap0,\n * pixels: null\n * }, {\n * image: mipmap1,\n * pixels: null\n * }, ....]\n */\n mipmaps: [],\n\n /**\n * If convert texture to power-of-two\n * @type {boolean}\n */\n convertToPOT: false\n };\n}, {\n\n textureType: 'texture2D',\n\n update: function (renderer) {\n\n var _gl = renderer.gl;\n _gl.bindTexture(_gl.TEXTURE_2D, this._cache.get('webgl_texture'));\n\n this.updateCommon(renderer);\n\n var glFormat = this.format;\n var glType = this.type;\n\n // Convert to pot is only available when using image/canvas/video element.\n var convertToPOT = !!(this.convertToPOT\n && !this.mipmaps.length && this.image\n && (this.wrapS === __WEBPACK_IMPORTED_MODULE_0__Texture__[\"a\" /* default */].REPEAT || this.wrapT === __WEBPACK_IMPORTED_MODULE_0__Texture__[\"a\" /* default */].REPEAT)\n && this.NPOT\n );\n\n _gl.texParameteri(_gl.TEXTURE_2D, _gl.TEXTURE_WRAP_S, convertToPOT ? this.wrapS : this.getAvailableWrapS());\n _gl.texParameteri(_gl.TEXTURE_2D, _gl.TEXTURE_WRAP_T, convertToPOT ? this.wrapT : this.getAvailableWrapT());\n\n _gl.texParameteri(_gl.TEXTURE_2D, _gl.TEXTURE_MAG_FILTER, convertToPOT ? this.magFilter : this.getAvailableMagFilter());\n _gl.texParameteri(_gl.TEXTURE_2D, _gl.TEXTURE_MIN_FILTER, convertToPOT ? this.minFilter : this.getAvailableMinFilter());\n\n var anisotropicExt = renderer.getGLExtension('EXT_texture_filter_anisotropic');\n if (anisotropicExt && this.anisotropic > 1) {\n _gl.texParameterf(_gl.TEXTURE_2D, anisotropicExt.TEXTURE_MAX_ANISOTROPY_EXT, this.anisotropic);\n }\n\n // Fallback to float type if browser don't have half float extension\n if (glType === 36193) {\n var halfFloatExt = renderer.getGLExtension('OES_texture_half_float');\n if (!halfFloatExt) {\n glType = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].FLOAT;\n }\n }\n\n if (this.mipmaps.length) {\n var width = this.width;\n var height = this.height;\n for (var i = 0; i < this.mipmaps.length; i++) {\n var mipmap = this.mipmaps[i];\n this._updateTextureData(_gl, mipmap, i, width, height, glFormat, glType, false);\n width /= 2;\n height /= 2;\n }\n }\n else {\n this._updateTextureData(_gl, this, 0, this.width, this.height, glFormat, glType, convertToPOT);\n\n if (this.useMipmap && (!this.NPOT || convertToPOT)) {\n _gl.generateMipmap(_gl.TEXTURE_2D);\n }\n }\n\n _gl.bindTexture(_gl.TEXTURE_2D, null);\n },\n\n _updateTextureData: function (_gl, data, level, width, height, glFormat, glType, convertToPOT) {\n if (data.image) {\n var imgData = data.image;\n if (convertToPOT) {\n this._potCanvas = convertTextureToPowerOfTwo(this, this._potCanvas);\n imgData = this._potCanvas;\n }\n _gl.texImage2D(_gl.TEXTURE_2D, level, glFormat, glFormat, glType, imgData);\n }\n else {\n // Can be used as a blank texture when writing render to texture(RTT)\n if (\n glFormat <= __WEBPACK_IMPORTED_MODULE_0__Texture__[\"a\" /* default */].COMPRESSED_RGBA_S3TC_DXT5_EXT\n && glFormat >= __WEBPACK_IMPORTED_MODULE_0__Texture__[\"a\" /* default */].COMPRESSED_RGB_S3TC_DXT1_EXT\n ) {\n _gl.compressedTexImage2D(_gl.TEXTURE_2D, level, glFormat, width, height, 0, data.pixels);\n }\n else {\n // Is a render target if pixels is null\n _gl.texImage2D(_gl.TEXTURE_2D, level, glFormat, width, height, 0, glFormat, glType, data.pixels);\n }\n }\n },\n\n /**\n * @param {clay.Renderer} renderer\n * @memberOf clay.Texture2D.prototype\n */\n generateMipmap: function (renderer) {\n var _gl = renderer.gl;\n if (this.useMipmap && !this.NPOT) {\n _gl.bindTexture(_gl.TEXTURE_2D, this._cache.get('webgl_texture'));\n _gl.generateMipmap(_gl.TEXTURE_2D);\n }\n },\n\n isPowerOfTwo: function () {\n return isPowerOfTwo(this.width) && isPowerOfTwo(this.height);\n },\n\n isRenderable: function () {\n if (this.image) {\n return this.image.nodeName === 'CANVAS'\n || this.image.nodeName === 'VIDEO'\n || this.image.complete;\n }\n else {\n return !!(this.width && this.height);\n }\n },\n\n bind: function (renderer) {\n renderer.gl.bindTexture(renderer.gl.TEXTURE_2D, this.getWebGLTexture(renderer));\n },\n\n unbind: function (renderer) {\n renderer.gl.bindTexture(renderer.gl.TEXTURE_2D, null);\n },\n\n load: function (src, crossOrigin) {\n var image = __WEBPACK_IMPORTED_MODULE_2__core_vendor__[\"a\" /* default */].createImage();\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n var self = this;\n image.onload = function () {\n self.dirty();\n self.trigger('success', self);\n image.onload = null;\n };\n image.onerror = function () {\n self.trigger('error', self);\n image.onerror = null;\n };\n\n image.src = src;\n this.image = image;\n\n return this;\n }\n});\n\nObject.defineProperty(Texture2D.prototype, 'width', {\n get: function () {\n if (this.image) {\n return this.image.width;\n }\n return this._width;\n },\n set: function (value) {\n if (this.image) {\n console.warn('Texture from image can\\'t set width');\n }\n else {\n if (this._width !== value) {\n this.dirty();\n }\n this._width = value;\n }\n }\n});\nObject.defineProperty(Texture2D.prototype, 'height', {\n get: function () {\n if (this.image) {\n return this.image.height;\n }\n return this._height;\n },\n set: function (value) {\n if (this.image) {\n console.warn('Texture from image can\\'t set height');\n }\n else {\n if (this._height !== value) {\n this.dirty();\n }\n this._height = value;\n }\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Texture2D);\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__glmatrix__ = __webpack_require__(161);\n// DEPRECATED\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0__glmatrix__[\"a\" /* default */]);\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixin_extend__ = __webpack_require__(110);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixin_notifier__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(23);\n\n\n\n\n/**\n * Base class of all objects\n * @constructor\n * @alias clay.core.Base\n * @mixes clay.core.mixin.notifier\n */\nvar Base = function () {\n /**\n * @type {number}\n */\n this.__uid__ = __WEBPACK_IMPORTED_MODULE_2__util__[\"a\" /* default */].genGUID();\n};\n\nBase.__initializers__ = [\n function (opts) {\n __WEBPACK_IMPORTED_MODULE_2__util__[\"a\" /* default */].extend(this, opts);\n }\n];\n\n__WEBPACK_IMPORTED_MODULE_2__util__[\"a\" /* default */].extend(Base, __WEBPACK_IMPORTED_MODULE_0__mixin_extend__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_2__util__[\"a\" /* default */].extend(Base.prototype, __WEBPACK_IMPORTED_MODULE_1__mixin_notifier__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Base);\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_util__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_vendor__ = __webpack_require__(14);\n/**\n * Mainly do the parse and compile of shader string\n * Support shader code chunk import and export\n * Support shader semantics\n * http://www.nvidia.com/object/using_sas.html\n * https://github.com/KhronosGroup/collada2json/issues/45\n */\n\n\n\nvar uniformRegex = /uniform\\s+(bool|float|int|vec2|vec3|vec4|ivec2|ivec3|ivec4|mat2|mat3|mat4|sampler2D|samplerCube)\\s+([\\s\\S]*?);/g;\nvar attributeRegex = /attribute\\s+(float|int|vec2|vec3|vec4)\\s+([\\s\\S]*?);/g;\n// Only parse number define.\nvar defineRegex = /#define\\s+(\\w+)?(\\s+[\\d-.]+)?\\s*;?\\s*\\n/g;\n\nvar uniformTypeMap = {\n 'bool': '1i',\n 'int': '1i',\n 'sampler2D': 't',\n 'samplerCube': 't',\n 'float': '1f',\n 'vec2': '2f',\n 'vec3': '3f',\n 'vec4': '4f',\n 'ivec2': '2i',\n 'ivec3': '3i',\n 'ivec4': '4i',\n 'mat2': 'm2',\n 'mat3': 'm3',\n 'mat4': 'm4'\n};\n\nfunction createZeroArray(len) {\n var arr = [];\n for (var i = 0; i < len; i++) {\n arr[i] = 0;\n }\n return arr;\n}\n\nvar uniformValueConstructor = {\n 'bool': function () { return true; },\n 'int': function () { return 0; },\n 'float': function () { return 0; },\n 'sampler2D': function () { return null; },\n 'samplerCube': function () { return null; },\n\n 'vec2': function () { return createZeroArray(2); },\n 'vec3': function () { return createZeroArray(3); },\n 'vec4': function () { return createZeroArray(4); },\n\n 'ivec2': function () { return createZeroArray(2); },\n 'ivec3': function () { return createZeroArray(3); },\n 'ivec4': function () { return createZeroArray(4); },\n\n 'mat2': function () { return createZeroArray(4); },\n 'mat3': function () { return createZeroArray(9); },\n 'mat4': function () { return createZeroArray(16); },\n\n 'array': function () { return []; }\n};\n\nvar attributeSemantics = [\n 'POSITION',\n 'NORMAL',\n 'BINORMAL',\n 'TANGENT',\n 'TEXCOORD',\n 'TEXCOORD_0',\n 'TEXCOORD_1',\n 'COLOR',\n // Skinning\n // https://github.com/KhronosGroup/glTF/blob/master/specification/README.md#semantics\n 'JOINT',\n 'WEIGHT'\n];\nvar uniformSemantics = [\n 'SKIN_MATRIX',\n // Information about viewport\n 'VIEWPORT_SIZE',\n 'VIEWPORT',\n 'DEVICEPIXELRATIO',\n // Window size for window relative coordinate\n // https://www.opengl.org/sdk/docs/man/html/gl_FragCoord.xhtml\n 'WINDOW_SIZE',\n // Infomation about camera\n 'NEAR',\n 'FAR',\n // Time\n 'TIME'\n];\nvar matrixSemantics = [\n 'WORLD',\n 'VIEW',\n 'PROJECTION',\n 'WORLDVIEW',\n 'VIEWPROJECTION',\n 'WORLDVIEWPROJECTION',\n 'WORLDINVERSE',\n 'VIEWINVERSE',\n 'PROJECTIONINVERSE',\n 'WORLDVIEWINVERSE',\n 'VIEWPROJECTIONINVERSE',\n 'WORLDVIEWPROJECTIONINVERSE',\n 'WORLDTRANSPOSE',\n 'VIEWTRANSPOSE',\n 'PROJECTIONTRANSPOSE',\n 'WORLDVIEWTRANSPOSE',\n 'VIEWPROJECTIONTRANSPOSE',\n 'WORLDVIEWPROJECTIONTRANSPOSE',\n 'WORLDINVERSETRANSPOSE',\n 'VIEWINVERSETRANSPOSE',\n 'PROJECTIONINVERSETRANSPOSE',\n 'WORLDVIEWINVERSETRANSPOSE',\n 'VIEWPROJECTIONINVERSETRANSPOSE',\n 'WORLDVIEWPROJECTIONINVERSETRANSPOSE'\n];\n\nvar attributeSizeMap = {\n // WebGL does not support integer attributes\n 'vec4': 4,\n 'vec3': 3,\n 'vec2': 2,\n 'float': 1\n};\n\n\nvar shaderIDCache = {};\nvar shaderCodeCache = {};\n\nfunction getShaderID(vertex, fragment) {\n var key = 'vertex:' + vertex + 'fragment:' + fragment;\n if (shaderIDCache[key]) {\n return shaderIDCache[key];\n }\n var id = __WEBPACK_IMPORTED_MODULE_0__core_util__[\"a\" /* default */].genGUID();\n shaderIDCache[key] = id;\n\n shaderCodeCache[id] = {\n vertex: vertex,\n fragment: fragment\n };\n\n return id;\n}\n\nfunction removeComment(code) {\n return code.replace(/[ \\t]*\\/\\/.*\\n/g, '' ) // remove //\n .replace(/[ \\t]*\\/\\*[\\s\\S]*?\\*\\//g, '' ); // remove /* */\n}\n\nfunction logSyntaxError() {\n console.error('Wrong uniform/attributes syntax');\n}\n\nfunction parseDeclarations(type, line) {\n var speratorsRegexp = /[,=\\(\\):]/;\n var tokens = line\n // Convert `symbol: [1,2,3]` to `symbol: vec3(1,2,3)`\n .replace(/:\\s*\\[\\s*(.*)\\s*\\]/g, '=' + type + '($1)')\n .replace(/\\s+/g, '')\n .split(/(?=[,=\\(\\):])/g);\n\n var newTokens = [];\n for (var i = 0; i < tokens.length; i++) {\n if (tokens[i].match(speratorsRegexp)) {\n newTokens.push(\n tokens[i].charAt(0),\n tokens[i].slice(1)\n );\n }\n else {\n newTokens.push(tokens[i]);\n }\n }\n tokens = newTokens;\n\n var TYPE_SYMBOL = 0;\n var TYPE_ASSIGN = 1;\n var TYPE_VEC = 2;\n var TYPE_ARR = 3;\n var TYPE_SEMANTIC = 4;\n var TYPE_NORMAL = 5;\n\n var opType = TYPE_SYMBOL;\n var declarations = {};\n var declarationValue = null;\n var currentDeclaration;\n\n addSymbol(tokens[0]);\n\n function addSymbol(symbol) {\n if (!symbol) {\n logSyntaxError();\n }\n var arrResult = symbol.match(/\\[(.*?)\\]/);\n currentDeclaration = symbol.replace(/\\[(.*?)\\]/, '');\n declarations[currentDeclaration] = {};\n if (arrResult) {\n declarations[currentDeclaration].isArray = true;\n declarations[currentDeclaration].arraySize = arrResult[1];\n }\n }\n\n for (var i = 1; i < tokens.length; i++) {\n var token = tokens[i];\n if (!token) { // Empty token;\n continue;\n }\n if (token === '=') {\n if (opType !== TYPE_SYMBOL\n && opType !== TYPE_ARR) {\n logSyntaxError();\n break;\n }\n opType = TYPE_ASSIGN;\n\n continue;\n }\n else if (token === ':') {\n opType = TYPE_SEMANTIC;\n\n continue;\n }\n else if (token === ',') {\n if (opType === TYPE_VEC) {\n if (!(declarationValue instanceof Array)) {\n logSyntaxError();\n break;\n }\n declarationValue.push(+tokens[++i]);\n }\n else {\n opType = TYPE_NORMAL;\n }\n\n continue;\n }\n else if (token === ')') {\n declarations[currentDeclaration].value = new __WEBPACK_IMPORTED_MODULE_1__core_vendor__[\"a\" /* default */].Float32Array(declarationValue);\n declarationValue = null;\n opType = TYPE_NORMAL;\n continue;\n }\n else if (token === '(') {\n if (opType !== TYPE_VEC) {\n logSyntaxError();\n break;\n }\n if (!(declarationValue instanceof Array)) {\n logSyntaxError();\n break;\n }\n declarationValue.push(+tokens[++i]);\n continue;\n }\n else if (token.indexOf('vec') >= 0) {\n if (opType !== TYPE_ASSIGN\n // Compatitable with old syntax `symbol: [1,2,3]`\n && opType !== TYPE_SEMANTIC) {\n logSyntaxError();\n break;\n }\n opType = TYPE_VEC;\n declarationValue = [];\n continue;\n }\n else if (opType === TYPE_ASSIGN) {\n if (type === 'bool') {\n declarations[currentDeclaration].value = token === 'true';\n }\n else {\n declarations[currentDeclaration].value = parseFloat(token);\n }\n declarationValue = null;\n continue;\n }\n else if (opType === TYPE_SEMANTIC) {\n var semantic = token;\n if (attributeSemantics.indexOf(semantic) >= 0\n || uniformSemantics.indexOf(semantic) >= 0\n || matrixSemantics.indexOf(semantic) >= 0\n ) {\n declarations[currentDeclaration].semantic = semantic;\n }\n else if (semantic === 'ignore' || semantic === 'unconfigurable') {\n declarations[currentDeclaration].ignore = true;\n }\n else {\n // Try to parse as a default tvalue.\n if (type === 'bool') {\n declarations[currentDeclaration].value = semantic === 'true';\n }\n else {\n declarations[currentDeclaration].value = parseFloat(semantic);\n }\n }\n continue;\n }\n\n // treat as symbol.\n addSymbol(token);\n opType = TYPE_SYMBOL;\n }\n\n return declarations;\n}\n\n\n/**\n * @constructor\n * @extends clay.core.Base\n * @alias clay.Shader\n * @param {string} vertex\n * @param {string} fragment\n * @example\n * // Create a phong shader\n * var shader = new clay.Shader(\n * clay.Shader.source('clay.standard.vertex'),\n * clay.Shader.source('clay.standard.fragment')\n * );\n */\nfunction Shader(vertex, fragment) {\n // First argument can be { vertex, fragment }\n if (typeof vertex === 'object') {\n fragment = vertex.fragment;\n vertex = vertex.vertex;\n }\n\n vertex = removeComment(vertex);\n fragment = removeComment(fragment);\n\n this._shaderID = getShaderID(vertex, fragment);\n\n this._vertexCode = Shader.parseImport(vertex);\n this._fragmentCode = Shader.parseImport(fragment);\n\n /**\n * @readOnly\n */\n this.attributeSemantics = {};\n /**\n * @readOnly\n */\n this.matrixSemantics = {};\n /**\n * @readOnly\n */\n this.uniformSemantics = {};\n /**\n * @readOnly\n */\n this.matrixSemanticKeys = [];\n /**\n * @readOnly\n */\n this.uniformTemplates = {};\n /**\n * @readOnly\n */\n this.attributes = {};\n /**\n * @readOnly\n */\n this.textures = {};\n /**\n * @readOnly\n */\n this.vertexDefines = {};\n /**\n * @readOnly\n */\n this.fragmentDefines = {};\n\n this._parseAttributes();\n this._parseUniforms();\n this._parseDefines();\n}\n\nShader.prototype = {\n\n constructor: Shader,\n\n // Create a new uniform instance for material\n createUniforms: function () {\n var uniforms = {};\n\n for (var symbol in this.uniformTemplates){\n var uniformTpl = this.uniformTemplates[symbol];\n uniforms[symbol] = {\n type: uniformTpl.type,\n value: uniformTpl.value()\n };\n }\n\n return uniforms;\n },\n\n _parseImport: function () {\n this._vertexCode = Shader.parseImport(this.vertex);\n this._fragmentCode = Shader.parseImport(this.fragment);\n },\n\n _addSemanticUniform: function (symbol, uniformType, semantic) {\n // This case is only for SKIN_MATRIX\n // TODO\n if (attributeSemantics.indexOf(semantic) >= 0) {\n this.attributeSemantics[semantic] = {\n symbol: symbol,\n type: uniformType\n };\n }\n else if (matrixSemantics.indexOf(semantic) >= 0) {\n var isTranspose = false;\n var semanticNoTranspose = semantic;\n if (semantic.match(/TRANSPOSE$/)) {\n isTranspose = true;\n semanticNoTranspose = semantic.slice(0, -9);\n }\n this.matrixSemantics[semantic] = {\n symbol: symbol,\n type: uniformType,\n isTranspose: isTranspose,\n semanticNoTranspose: semanticNoTranspose\n };\n }\n else if (uniformSemantics.indexOf(semantic) >= 0) {\n this.uniformSemantics[semantic] = {\n symbol: symbol,\n type: uniformType\n };\n }\n },\n\n _addMaterialUniform: function (symbol, type, uniformType, defaultValueFunc, isArray, materialUniforms) {\n materialUniforms[symbol] = {\n type: uniformType,\n value: isArray ? uniformValueConstructor['array'] : (defaultValueFunc || uniformValueConstructor[type]),\n semantic: null\n };\n },\n\n _parseUniforms: function () {\n var uniforms = {};\n var self = this;\n var shaderType = 'vertex';\n this._uniformList = [];\n\n this._vertexCode = this._vertexCode.replace(uniformRegex, _uniformParser);\n shaderType = 'fragment';\n this._fragmentCode = this._fragmentCode.replace(uniformRegex, _uniformParser);\n\n self.matrixSemanticKeys = Object.keys(this.matrixSemantics);\n\n function makeDefaultValueFunc(value) {\n return value != null ? function () { return value; } : null;\n }\n\n function _uniformParser(str, type, content) {\n var declaredUniforms = parseDeclarations(type, content);\n var uniformMainStr = [];\n for (var symbol in declaredUniforms) {\n\n var uniformInfo = declaredUniforms[symbol];\n var semantic = uniformInfo.semantic;\n var tmpStr = symbol;\n var uniformType = uniformTypeMap[type];\n var defaultValueFunc = makeDefaultValueFunc(declaredUniforms[symbol].value);\n if (declaredUniforms[symbol].isArray) {\n tmpStr += '[' + declaredUniforms[symbol].arraySize + ']';\n uniformType += 'v';\n }\n\n uniformMainStr.push(tmpStr);\n\n self._uniformList.push(symbol);\n\n if (!uniformInfo.ignore) {\n if (type === 'sampler2D' || type === 'samplerCube') {\n // Texture is default disabled\n self.textures[symbol] = {\n shaderType: shaderType,\n type: type\n };\n }\n\n if (semantic) {\n // TODO Should not declare multiple symbols if have semantic.\n self._addSemanticUniform(symbol, uniformType, semantic);\n }\n else {\n self._addMaterialUniform(\n symbol, type, uniformType, defaultValueFunc,\n declaredUniforms[symbol].isArray, uniforms\n );\n }\n }\n }\n return uniformMainStr.length > 0\n ? 'uniform ' + type + ' ' + uniformMainStr.join(',') + ';\\n' : '';\n }\n\n this.uniformTemplates = uniforms;\n },\n\n _parseAttributes: function () {\n var attributes = {};\n var self = this;\n this._vertexCode = this._vertexCode.replace(attributeRegex, _attributeParser);\n\n function _attributeParser(str, type, content) {\n var declaredAttributes = parseDeclarations(type, content);\n\n var size = attributeSizeMap[type] || 1;\n var attributeMainStr = [];\n for (var symbol in declaredAttributes) {\n var semantic = declaredAttributes[symbol].semantic;\n attributes[symbol] = {\n // TODO Can only be float\n type: 'float',\n size: size,\n semantic: semantic || null\n };\n // TODO Should not declare multiple symbols if have semantic.\n if (semantic) {\n if (attributeSemantics.indexOf(semantic) < 0) {\n throw new Error('Unkown semantic \"' + semantic + '\"');\n }\n else {\n self.attributeSemantics[semantic] = {\n symbol: symbol,\n type: type\n };\n }\n }\n attributeMainStr.push(symbol);\n }\n\n return 'attribute ' + type + ' ' + attributeMainStr.join(',') + ';\\n';\n }\n\n this.attributes = attributes;\n },\n\n _parseDefines: function () {\n var self = this;\n var shaderType = 'vertex';\n this._vertexCode = this._vertexCode.replace(defineRegex, _defineParser);\n shaderType = 'fragment';\n this._fragmentCode = this._fragmentCode.replace(defineRegex, _defineParser);\n\n function _defineParser(str, symbol, value) {\n var defines = shaderType === 'vertex' ? self.vertexDefines : self.fragmentDefines;\n if (!defines[symbol]) { // Haven't been defined by user\n if (value === 'false') {\n defines[symbol] = false;\n }\n else if (value === 'true') {\n defines[symbol] = true;\n }\n else {\n defines[symbol] = value\n // If can parse to float\n ? (isNaN(parseFloat(value)) ? value.trim() : parseFloat(value))\n : null;\n }\n }\n return '';\n }\n },\n\n /**\n * Clone a new shader\n * @return {clay.Shader}\n */\n clone: function () {\n var code = shaderCodeCache[this._shaderID];\n var shader = new Shader(code.vertex, code.fragment);\n return shader;\n }\n};\n\nif (Object.defineProperty) {\n Object.defineProperty(Shader.prototype, 'shaderID', {\n get: function () {\n return this._shaderID;\n }\n });\n Object.defineProperty(Shader.prototype, 'vertex', {\n get: function () {\n return this._vertexCode;\n }\n });\n Object.defineProperty(Shader.prototype, 'fragment', {\n get: function () {\n return this._fragmentCode;\n }\n });\n Object.defineProperty(Shader.prototype, 'uniforms', {\n get: function () {\n return this._uniformList;\n }\n });\n}\n\nvar importRegex = /(@import)\\s*([0-9a-zA-Z_\\-\\.]*)/g;\nShader.parseImport = function (shaderStr) {\n shaderStr = shaderStr.replace(importRegex, function (str, importSymbol, importName) {\n var str = Shader.source(importName);\n if (str) {\n // Recursively parse\n return Shader.parseImport(str);\n }\n else {\n console.error('Shader chunk \"' + importName + '\" not existed in library');\n return '';\n }\n });\n return shaderStr;\n};\n\nvar exportRegex = /(@export)\\s*([0-9a-zA-Z_\\-\\.]*)\\s*\\n([\\s\\S]*?)@end/g;\n\n/**\n * Import shader source\n * @param {string} shaderStr\n * @memberOf clay.Shader\n */\nShader['import'] = function (shaderStr) {\n shaderStr.replace(exportRegex, function (str, exportSymbol, exportName, code) {\n var code = code.replace(/(^[\\s\\t\\xa0\\u3000]+)|([\\u3000\\xa0\\s\\t]+\\x24)/g, '');\n if (code) {\n var parts = exportName.split('.');\n var obj = Shader.codes;\n var i = 0;\n var key;\n while (i < parts.length - 1) {\n key = parts[i++];\n if (!obj[key]) {\n obj[key] = {};\n }\n obj = obj[key];\n }\n key = parts[i];\n obj[key] = code;\n }\n return code;\n });\n};\n\n/**\n * Library to store all the loaded shader codes\n * @type {Object}\n * @readOnly\n * @memberOf clay.Shader\n */\nShader.codes = {};\n\n/**\n * Get shader source\n * @param {string} name\n * @return {string}\n */\nShader.source = function (name) {\n var parts = name.split('.');\n var obj = Shader.codes;\n var i = 0;\n while (obj && i < parts.length) {\n var key = parts[i++];\n obj = obj[key];\n }\n if (typeof obj !== 'string') {\n // FIXME Use default instead\n console.error('Shader \"' + name + '\" not existed in library');\n return '';\n }\n return obj;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Shader);\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__glmatrix_quat__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__glmatrix_mat3__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Vector3__ = __webpack_require__(3);\n\n\n\n\n\n\n/**\n * @constructor\n * @alias clay.Matrix4\n */\nvar Matrix4 = function() {\n\n this._axisX = new __WEBPACK_IMPORTED_MODULE_4__Vector3__[\"a\" /* default */]();\n this._axisY = new __WEBPACK_IMPORTED_MODULE_4__Vector3__[\"a\" /* default */]();\n this._axisZ = new __WEBPACK_IMPORTED_MODULE_4__Vector3__[\"a\" /* default */]();\n\n /**\n * Storage of Matrix4\n * @name array\n * @type {Float32Array}\n * @memberOf clay.Matrix4#\n */\n this.array = __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].create();\n\n /**\n * @name _dirty\n * @type {boolean}\n * @memberOf clay.Matrix4#\n */\n this._dirty = true;\n};\n\nMatrix4.prototype = {\n\n constructor: Matrix4,\n\n /**\n * Set components from array\n * @param {Float32Array|number[]} arr\n */\n setArray: function (arr) {\n for (var i = 0; i < this.array.length; i++) {\n this.array[i] = arr[i];\n }\n this._dirty = true;\n return this;\n },\n /**\n * Calculate the adjugate of self, in-place\n * @return {clay.Matrix4}\n */\n adjoint: function() {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].adjoint(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Clone a new Matrix4\n * @return {clay.Matrix4}\n */\n clone: function() {\n return (new Matrix4()).copy(this);\n },\n\n /**\n * Copy from b\n * @param {clay.Matrix4} b\n * @return {clay.Matrix4}\n */\n copy: function(a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].copy(this.array, a.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Calculate matrix determinant\n * @return {number}\n */\n determinant: function() {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].determinant(this.array);\n },\n\n /**\n * Set upper 3x3 part from quaternion\n * @param {clay.Quaternion} q\n * @return {clay.Matrix4}\n */\n fromQuat: function(q) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].fromQuat(this.array, q.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Set from a quaternion rotation and a vector translation\n * @param {clay.Quaternion} q\n * @param {clay.Vector3} v\n * @return {clay.Matrix4}\n */\n fromRotationTranslation: function(q, v) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].fromRotationTranslation(this.array, q.array, v.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Set from Matrix2d, it is used when converting a 2d shape to 3d space.\n * In 3d space it is equivalent to ranslate on xy plane and rotate about z axis\n * @param {clay.Matrix2d} m2d\n * @return {clay.Matrix4}\n */\n fromMat2d: function(m2d) {\n Matrix4.fromMat2d(this, m2d);\n return this;\n },\n\n /**\n * Set from frustum bounds\n * @param {number} left\n * @param {number} right\n * @param {number} bottom\n * @param {number} top\n * @param {number} near\n * @param {number} far\n * @return {clay.Matrix4}\n */\n frustum: function (left, right, bottom, top, near, far) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].frustum(this.array, left, right, bottom, top, near, far);\n this._dirty = true;\n return this;\n },\n\n /**\n * Set to a identity matrix\n * @return {clay.Matrix4}\n */\n identity: function() {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].identity(this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Invert self\n * @return {clay.Matrix4}\n */\n invert: function() {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].invert(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Set as a matrix with the given eye position, focal point, and up axis\n * @param {clay.Vector3} eye\n * @param {clay.Vector3} center\n * @param {clay.Vector3} up\n * @return {clay.Matrix4}\n */\n lookAt: function(eye, center, up) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].lookAt(this.array, eye.array, center.array, up.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for mutiply\n * @param {clay.Matrix4} b\n * @return {clay.Matrix4}\n */\n mul: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].mul(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for multiplyLeft\n * @param {clay.Matrix4} a\n * @return {clay.Matrix4}\n */\n mulLeft: function(a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].mul(this.array, a.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Multiply self and b\n * @param {clay.Matrix4} b\n * @return {clay.Matrix4}\n */\n multiply: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].multiply(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Multiply a and self, a is on the left\n * @param {clay.Matrix3} a\n * @return {clay.Matrix3}\n */\n multiplyLeft: function(a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].multiply(this.array, a.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Set as a orthographic projection matrix\n * @param {number} left\n * @param {number} right\n * @param {number} bottom\n * @param {number} top\n * @param {number} near\n * @param {number} far\n * @return {clay.Matrix4}\n */\n ortho: function(left, right, bottom, top, near, far) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].ortho(this.array, left, right, bottom, top, near, far);\n this._dirty = true;\n return this;\n },\n /**\n * Set as a perspective projection matrix\n * @param {number} fovy\n * @param {number} aspect\n * @param {number} near\n * @param {number} far\n * @return {clay.Matrix4}\n */\n perspective: function(fovy, aspect, near, far) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].perspective(this.array, fovy, aspect, near, far);\n this._dirty = true;\n return this;\n },\n\n /**\n * Rotate self by rad about axis.\n * Equal to right-multiply a rotaion matrix\n * @param {number} rad\n * @param {clay.Vector3} axis\n * @return {clay.Matrix4}\n */\n rotate: function(rad, axis) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].rotate(this.array, this.array, rad, axis.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Rotate self by a given radian about X axis.\n * Equal to right-multiply a rotaion matrix\n * @param {number} rad\n * @return {clay.Matrix4}\n */\n rotateX: function(rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].rotateX(this.array, this.array, rad);\n this._dirty = true;\n return this;\n },\n\n /**\n * Rotate self by a given radian about Y axis.\n * Equal to right-multiply a rotaion matrix\n * @param {number} rad\n * @return {clay.Matrix4}\n */\n rotateY: function(rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].rotateY(this.array, this.array, rad);\n this._dirty = true;\n return this;\n },\n\n /**\n * Rotate self by a given radian about Z axis.\n * Equal to right-multiply a rotaion matrix\n * @param {number} rad\n * @return {clay.Matrix4}\n */\n rotateZ: function(rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].rotateZ(this.array, this.array, rad);\n this._dirty = true;\n return this;\n },\n\n /**\n * Scale self by s\n * Equal to right-multiply a scale matrix\n * @param {clay.Vector3} s\n * @return {clay.Matrix4}\n */\n scale: function(v) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].scale(this.array, this.array, v.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Translate self by v.\n * Equal to right-multiply a translate matrix\n * @param {clay.Vector3} v\n * @return {clay.Matrix4}\n */\n translate: function(v) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].translate(this.array, this.array, v.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Transpose self, in-place.\n * @return {clay.Matrix2}\n */\n transpose: function() {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].transpose(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Decompose a matrix to SRT\n * @param {clay.Vector3} [scale]\n * @param {clay.Quaternion} rotation\n * @param {clay.Vector} position\n * @see http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.matrix.decompose.aspx\n */\n decomposeMatrix: (function() {\n\n var x = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].create();\n var y = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].create();\n var z = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].create();\n\n var m3 = __WEBPACK_IMPORTED_MODULE_3__glmatrix_mat3__[\"a\" /* default */].create();\n\n return function(scale, rotation, position) {\n\n var el = this.array;\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].set(x, el[0], el[1], el[2]);\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].set(y, el[4], el[5], el[6]);\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].set(z, el[8], el[9], el[10]);\n\n var sx = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].length(x);\n var sy = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].length(y);\n var sz = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].length(z);\n\n // if determine is negative, we need to invert one scale\n var det = this.determinant();\n if (det < 0) {\n sx = -sx;\n }\n\n if (scale) {\n scale.set(sx, sy, sz);\n }\n\n position.set(el[12], el[13], el[14]);\n\n __WEBPACK_IMPORTED_MODULE_3__glmatrix_mat3__[\"a\" /* default */].fromMat4(m3, el);\n // Not like mat4, mat3 in glmatrix seems to be row-based\n // Seems fixed in gl-matrix 2.2.2\n // https://github.com/toji/gl-matrix/issues/114\n // mat3.transpose(m3, m3);\n\n m3[0] /= sx;\n m3[1] /= sx;\n m3[2] /= sx;\n\n m3[3] /= sy;\n m3[4] /= sy;\n m3[5] /= sy;\n\n m3[6] /= sz;\n m3[7] /= sz;\n m3[8] /= sz;\n\n __WEBPACK_IMPORTED_MODULE_2__glmatrix_quat__[\"a\" /* default */].fromMat3(rotation.array, m3);\n __WEBPACK_IMPORTED_MODULE_2__glmatrix_quat__[\"a\" /* default */].normalize(rotation.array, rotation.array);\n\n rotation._dirty = true;\n position._dirty = true;\n };\n })(),\n\n toString: function() {\n return '[' + Array.prototype.join.call(this.array, ',') + ']';\n },\n\n toArray: function () {\n return Array.prototype.slice.call(this.array);\n }\n};\n\nvar defineProperty = Object.defineProperty;\n\nif (defineProperty) {\n var proto = Matrix4.prototype;\n /**\n * Z Axis of local transform\n * @name z\n * @type {clay.Vector3}\n * @memberOf clay.Matrix4\n * @instance\n */\n defineProperty(proto, 'z', {\n get: function () {\n var el = this.array;\n this._axisZ.set(el[8], el[9], el[10]);\n return this._axisZ;\n },\n set: function (v) {\n // TODO Here has a problem\n // If only set an item of vector will not work\n var el = this.array;\n v = v.array;\n el[8] = v[0];\n el[9] = v[1];\n el[10] = v[2];\n\n this._dirty = true;\n }\n });\n\n /**\n * Y Axis of local transform\n * @name y\n * @type {clay.Vector3}\n * @memberOf clay.Matrix4\n * @instance\n */\n defineProperty(proto, 'y', {\n get: function () {\n var el = this.array;\n this._axisY.set(el[4], el[5], el[6]);\n return this._axisY;\n },\n set: function (v) {\n var el = this.array;\n v = v.array;\n el[4] = v[0];\n el[5] = v[1];\n el[6] = v[2];\n\n this._dirty = true;\n }\n });\n\n /**\n * X Axis of local transform\n * @name x\n * @type {clay.Vector3}\n * @memberOf clay.Matrix4\n * @instance\n */\n defineProperty(proto, 'x', {\n get: function () {\n var el = this.array;\n this._axisX.set(el[0], el[1], el[2]);\n return this._axisX;\n },\n set: function (v) {\n var el = this.array;\n v = v.array;\n el[0] = v[0];\n el[1] = v[1];\n el[2] = v[2];\n\n this._dirty = true;\n }\n })\n}\n\n/**\n * @param {clay.Matrix4} out\n * @param {clay.Matrix4} a\n * @return {clay.Matrix4}\n */\nMatrix4.adjoint = function(out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].adjoint(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix4} out\n * @param {clay.Matrix4} a\n * @return {clay.Matrix4}\n */\nMatrix4.copy = function(out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].copy(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix4} a\n * @return {number}\n */\nMatrix4.determinant = function(a) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].determinant(a.array);\n};\n\n/**\n * @param {clay.Matrix4} out\n * @return {clay.Matrix4}\n */\nMatrix4.identity = function(out) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].identity(out.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix4} out\n * @param {number} left\n * @param {number} right\n * @param {number} bottom\n * @param {number} top\n * @param {number} near\n * @param {number} far\n * @return {clay.Matrix4}\n */\nMatrix4.ortho = function(out, left, right, bottom, top, near, far) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].ortho(out.array, left, right, bottom, top, near, far);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix4} out\n * @param {number} fovy\n * @param {number} aspect\n * @param {number} near\n * @param {number} far\n * @return {clay.Matrix4}\n */\nMatrix4.perspective = function(out, fovy, aspect, near, far) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].perspective(out.array, fovy, aspect, near, far);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix4} out\n * @param {clay.Vector3} eye\n * @param {clay.Vector3} center\n * @param {clay.Vector3} up\n * @return {clay.Matrix4}\n */\nMatrix4.lookAt = function(out, eye, center, up) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].lookAt(out.array, eye.array, center.array, up.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix4} out\n * @param {clay.Matrix4} a\n * @return {clay.Matrix4}\n */\nMatrix4.invert = function(out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].invert(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix4} out\n * @param {clay.Matrix4} a\n * @param {clay.Matrix4} b\n * @return {clay.Matrix4}\n */\nMatrix4.mul = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].mul(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @function\n * @param {clay.Matrix4} out\n * @param {clay.Matrix4} a\n * @param {clay.Matrix4} b\n * @return {clay.Matrix4}\n */\nMatrix4.multiply = Matrix4.mul;\n\n/**\n * @param {clay.Matrix4} out\n * @param {clay.Quaternion} q\n * @return {clay.Matrix4}\n */\nMatrix4.fromQuat = function(out, q) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].fromQuat(out.array, q.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix4} out\n * @param {clay.Quaternion} q\n * @param {clay.Vector3} v\n * @return {clay.Matrix4}\n */\nMatrix4.fromRotationTranslation = function(out, q, v) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].fromRotationTranslation(out.array, q.array, v.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix4} m4\n * @param {clay.Matrix2d} m2d\n * @return {clay.Matrix4}\n */\nMatrix4.fromMat2d = function(m4, m2d) {\n m4._dirty = true;\n var m2d = m2d.array;\n var m4 = m4.array;\n\n m4[0] = m2d[0];\n m4[4] = m2d[2];\n m4[12] = m2d[4];\n\n m4[1] = m2d[1];\n m4[5] = m2d[3];\n m4[13] = m2d[5];\n\n return m4;\n};\n\n/**\n * @param {clay.Matrix4} out\n * @param {clay.Matrix4} a\n * @param {number} rad\n * @param {clay.Vector3} axis\n * @return {clay.Matrix4}\n */\nMatrix4.rotate = function(out, a, rad, axis) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].rotate(out.array, a.array, rad, axis.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix4} out\n * @param {clay.Matrix4} a\n * @param {number} rad\n * @return {clay.Matrix4}\n */\nMatrix4.rotateX = function(out, a, rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].rotateX(out.array, a.array, rad);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix4} out\n * @param {clay.Matrix4} a\n * @param {number} rad\n * @return {clay.Matrix4}\n */\nMatrix4.rotateY = function(out, a, rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].rotateY(out.array, a.array, rad);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix4} out\n * @param {clay.Matrix4} a\n * @param {number} rad\n * @return {clay.Matrix4}\n */\nMatrix4.rotateZ = function(out, a, rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].rotateZ(out.array, a.array, rad);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix4} out\n * @param {clay.Matrix4} a\n * @param {clay.Vector3} v\n * @return {clay.Matrix4}\n */\nMatrix4.scale = function(out, a, v) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].scale(out.array, a.array, v.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix4} out\n * @param {clay.Matrix4} a\n * @return {clay.Matrix4}\n */\nMatrix4.transpose = function(out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].transpose(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix4} out\n * @param {clay.Matrix4} a\n * @param {clay.Vector3} v\n * @return {clay.Matrix4}\n */\nMatrix4.translate = function(out, a, v) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat4__[\"a\" /* default */].translate(out.array, a.array, v.array);\n out._dirty = true;\n return out;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Matrix4);\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_Base__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__TextureCube__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_glenum__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__core_Cache__ = __webpack_require__(57);\n\n\n\n\n\n\nvar KEY_FRAMEBUFFER = 'framebuffer';\nvar KEY_RENDERBUFFER = 'renderbuffer';\nvar KEY_RENDERBUFFER_WIDTH = KEY_RENDERBUFFER + '_width';\nvar KEY_RENDERBUFFER_HEIGHT = KEY_RENDERBUFFER + '_height';\nvar KEY_RENDERBUFFER_ATTACHED = KEY_RENDERBUFFER + '_attached';\nvar KEY_DEPTHTEXTURE_ATTACHED = 'depthtexture_attached';\n\nvar GL_FRAMEBUFFER = __WEBPACK_IMPORTED_MODULE_3__core_glenum__[\"a\" /* default */].FRAMEBUFFER;\nvar GL_RENDERBUFFER = __WEBPACK_IMPORTED_MODULE_3__core_glenum__[\"a\" /* default */].RENDERBUFFER;\nvar GL_DEPTH_ATTACHMENT = __WEBPACK_IMPORTED_MODULE_3__core_glenum__[\"a\" /* default */].DEPTH_ATTACHMENT;\nvar GL_COLOR_ATTACHMENT0 = __WEBPACK_IMPORTED_MODULE_3__core_glenum__[\"a\" /* default */].COLOR_ATTACHMENT0;\n/**\n * @constructor clay.FrameBuffer\n * @extends clay.core.Base\n */\nvar FrameBuffer = __WEBPACK_IMPORTED_MODULE_0__core_Base__[\"a\" /* default */].extend(\n/** @lends clay.FrameBuffer# */\n{\n /**\n * If use depth buffer\n * @type {boolean}\n */\n depthBuffer: true,\n\n /**\n * @type {Object}\n */\n viewport: null,\n\n _width: 0,\n _height: 0,\n\n _textures: null,\n\n _boundRenderer: null,\n}, function () {\n // Use cache\n this._cache = new __WEBPACK_IMPORTED_MODULE_4__core_Cache__[\"a\" /* default */]();\n\n this._textures = {};\n},\n\n/**@lends clay.FrameBuffer.prototype. */\n{\n /**\n * Get attached texture width\n * {number}\n */\n // FIXME Can't use before #bind\n getTextureWidth: function () {\n return this._width;\n },\n\n /**\n * Get attached texture height\n * {number}\n */\n getTextureHeight: function () {\n return this._height;\n },\n\n /**\n * Bind the framebuffer to given renderer before rendering\n * @param {clay.Renderer} renderer\n */\n bind: function (renderer) {\n\n if (renderer.__currentFrameBuffer) {\n // Already bound\n if (renderer.__currentFrameBuffer === this) {\n return;\n }\n\n console.warn('Renderer already bound with another framebuffer. Unbind it first');\n }\n renderer.__currentFrameBuffer = this;\n\n var _gl = renderer.gl;\n\n _gl.bindFramebuffer(GL_FRAMEBUFFER, this._getFrameBufferGL(renderer));\n this._boundRenderer = renderer;\n var cache = this._cache;\n\n cache.put('viewport', renderer.viewport);\n\n var hasTextureAttached = false;\n var width;\n var height;\n for (var attachment in this._textures) {\n hasTextureAttached = true;\n var obj = this._textures[attachment];\n if (obj) {\n // TODO Do width, height checking, make sure size are same\n width = obj.texture.width;\n height = obj.texture.height;\n // Attach textures\n this._doAttach(renderer, obj.texture, attachment, obj.target);\n }\n }\n\n this._width = width;\n this._height = height;\n\n if (!hasTextureAttached && this.depthBuffer) {\n console.error('Must attach texture before bind, or renderbuffer may have incorrect width and height.')\n }\n\n if (this.viewport) {\n renderer.setViewport(this.viewport);\n }\n else {\n renderer.setViewport(0, 0, width, height, 1);\n }\n\n var attachedTextures = cache.get('attached_textures');\n if (attachedTextures) {\n for (var attachment in attachedTextures) {\n if (!this._textures[attachment]) {\n var target = attachedTextures[attachment];\n this._doDetach(_gl, attachment, target);\n }\n }\n }\n if (!cache.get(KEY_DEPTHTEXTURE_ATTACHED) && this.depthBuffer) {\n // Create a new render buffer\n if (cache.miss(KEY_RENDERBUFFER)) {\n cache.put(KEY_RENDERBUFFER, _gl.createRenderbuffer());\n }\n var renderbuffer = cache.get(KEY_RENDERBUFFER);\n\n if (width !== cache.get(KEY_RENDERBUFFER_WIDTH)\n || height !== cache.get(KEY_RENDERBUFFER_HEIGHT)) {\n _gl.bindRenderbuffer(GL_RENDERBUFFER, renderbuffer);\n _gl.renderbufferStorage(GL_RENDERBUFFER, _gl.DEPTH_COMPONENT16, width, height);\n cache.put(KEY_RENDERBUFFER_WIDTH, width);\n cache.put(KEY_RENDERBUFFER_HEIGHT, height);\n _gl.bindRenderbuffer(GL_RENDERBUFFER, null);\n }\n if (!cache.get(KEY_RENDERBUFFER_ATTACHED)) {\n _gl.framebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, renderbuffer);\n cache.put(KEY_RENDERBUFFER_ATTACHED, true);\n }\n }\n },\n\n /**\n * Unbind the frame buffer after rendering\n * @param {clay.Renderer} renderer\n */\n unbind: function (renderer) {\n // Remove status record on renderer\n renderer.__currentFrameBuffer = null;\n\n var _gl = renderer.gl;\n\n _gl.bindFramebuffer(GL_FRAMEBUFFER, null);\n this._boundRenderer = null;\n\n this._cache.use(renderer.__uid__);\n var viewport = this._cache.get('viewport');\n // Reset viewport;\n if (viewport) {\n renderer.setViewport(viewport);\n }\n\n this.updateMipmap(renderer);\n },\n\n // Because the data of texture is changed over time,\n // Here update the mipmaps of texture each time after rendered;\n updateMipmap: function (renderer) {\n var _gl = renderer.gl;\n for (var attachment in this._textures) {\n var obj = this._textures[attachment];\n if (obj) {\n var texture = obj.texture;\n // FIXME some texture format can't generate mipmap\n if (!texture.NPOT && texture.useMipmap\n && texture.minFilter === __WEBPACK_IMPORTED_MODULE_1__Texture__[\"a\" /* default */].LINEAR_MIPMAP_LINEAR) {\n var target = texture.textureType === 'textureCube' ? __WEBPACK_IMPORTED_MODULE_3__core_glenum__[\"a\" /* default */].TEXTURE_CUBE_MAP : __WEBPACK_IMPORTED_MODULE_3__core_glenum__[\"a\" /* default */].TEXTURE_2D;\n _gl.bindTexture(target, texture.getWebGLTexture(renderer));\n _gl.generateMipmap(target);\n _gl.bindTexture(target, null);\n }\n }\n }\n },\n\n\n // 0x8CD5, 36053, FRAMEBUFFER_COMPLETE\n // 0x8CD6, 36054, FRAMEBUFFER_INCOMPLETE_ATTACHMENT\n // 0x8CD7, 36055, FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\n // 0x8CD9, 36057, FRAMEBUFFER_INCOMPLETE_DIMENSIONS\n // 0x8CDD, 36061, FRAMEBUFFER_UNSUPPORTED\n checkStatus: function (_gl) {\n return _gl.checkFramebufferStatus(GL_FRAMEBUFFER);\n },\n\n _getFrameBufferGL: function (renderer) {\n var cache = this._cache;\n cache.use(renderer.__uid__);\n\n if (cache.miss(KEY_FRAMEBUFFER)) {\n cache.put(KEY_FRAMEBUFFER, renderer.gl.createFramebuffer());\n }\n\n return cache.get(KEY_FRAMEBUFFER);\n },\n\n /**\n * Attach a texture(RTT) to the framebuffer\n * @param {clay.Texture} texture\n * @param {number} [attachment=gl.COLOR_ATTACHMENT0]\n * @param {number} [target=gl.TEXTURE_2D]\n */\n attach: function (texture, attachment, target) {\n\n if (!texture.width) {\n throw new Error('The texture attached to color buffer is not a valid.');\n }\n // TODO width and height check\n\n // If the depth_texture extension is enabled, developers\n // Can attach a depth texture to the depth buffer\n // http://blog.tojicode.com/2012/07/using-webgldepthtexture.html\n attachment = attachment || GL_COLOR_ATTACHMENT0;\n target = target || __WEBPACK_IMPORTED_MODULE_3__core_glenum__[\"a\" /* default */].TEXTURE_2D;\n\n var boundRenderer = this._boundRenderer;\n var _gl = boundRenderer && boundRenderer.gl;\n var attachedTextures;\n\n if (_gl) {\n var cache = this._cache;\n cache.use(boundRenderer.__uid__);\n attachedTextures = cache.get('attached_textures');\n }\n\n // Check if texture attached\n var previous = this._textures[attachment];\n if (previous && previous.target === target\n && previous.texture === texture\n && (attachedTextures && attachedTextures[attachment] != null)\n ) {\n return;\n }\n\n var canAttach = true;\n if (boundRenderer) {\n canAttach = this._doAttach(boundRenderer, texture, attachment, target);\n // Set viewport again incase attached to different size textures.\n if (!this.viewport) {\n boundRenderer.setViewport(0, 0, texture.width, texture.height, 1);\n }\n }\n\n if (canAttach) {\n this._textures[attachment] = this._textures[attachment] || {};\n this._textures[attachment].texture = texture;\n this._textures[attachment].target = target;\n }\n },\n\n _doAttach: function (renderer, texture, attachment, target) {\n var _gl = renderer.gl;\n // Make sure texture is always updated\n // Because texture width or height may be changed and in this we can't be notified\n // FIXME awkward;\n var webglTexture = texture.getWebGLTexture(renderer);\n // Assume cache has been used.\n var attachedTextures = this._cache.get('attached_textures');\n if (attachedTextures && attachedTextures[attachment]) {\n var obj = attachedTextures[attachment];\n // Check if texture and target not changed\n if (obj.texture === texture && obj.target === target) {\n return;\n }\n }\n attachment = +attachment;\n\n var canAttach = true;\n if (attachment === GL_DEPTH_ATTACHMENT || attachment === __WEBPACK_IMPORTED_MODULE_3__core_glenum__[\"a\" /* default */].DEPTH_STENCIL_ATTACHMENT) {\n var extension = renderer.getGLExtension('WEBGL_depth_texture');\n\n if (!extension) {\n console.error('Depth texture is not supported by the browser');\n canAttach = false;\n }\n if (texture.format !== __WEBPACK_IMPORTED_MODULE_3__core_glenum__[\"a\" /* default */].DEPTH_COMPONENT\n && texture.format !== __WEBPACK_IMPORTED_MODULE_3__core_glenum__[\"a\" /* default */].DEPTH_STENCIL\n ) {\n console.error('The texture attached to depth buffer is not a valid.');\n canAttach = false;\n }\n\n // Dispose render buffer created previous\n if (canAttach) {\n var renderbuffer = this._cache.get(KEY_RENDERBUFFER);\n if (renderbuffer) {\n _gl.framebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, null);\n _gl.deleteRenderbuffer(renderbuffer);\n this._cache.put(KEY_RENDERBUFFER, false);\n }\n\n this._cache.put(KEY_RENDERBUFFER_ATTACHED, false);\n this._cache.put(KEY_DEPTHTEXTURE_ATTACHED, true);\n }\n }\n\n // Mipmap level can only be 0\n _gl.framebufferTexture2D(GL_FRAMEBUFFER, attachment, target, webglTexture, 0);\n\n if (!attachedTextures) {\n attachedTextures = {};\n this._cache.put('attached_textures', attachedTextures);\n }\n attachedTextures[attachment] = attachedTextures[attachment] || {};\n attachedTextures[attachment].texture = texture;\n attachedTextures[attachment].target = target;\n\n return canAttach;\n },\n\n _doDetach: function (_gl, attachment, target) {\n // Detach a texture from framebuffer\n // https://github.com/KhronosGroup/WebGL/blob/master/conformance-suites/1.0.0/conformance/framebuffer-test.html#L145\n _gl.framebufferTexture2D(GL_FRAMEBUFFER, attachment, target, null, 0);\n\n // Assume cache has been used.\n var attachedTextures = this._cache.get('attached_textures');\n if (attachedTextures && attachedTextures[attachment]) {\n attachedTextures[attachment] = null;\n }\n\n if (attachment === GL_DEPTH_ATTACHMENT || attachment === __WEBPACK_IMPORTED_MODULE_3__core_glenum__[\"a\" /* default */].DEPTH_STENCIL_ATTACHMENT) {\n this._cache.put(KEY_DEPTHTEXTURE_ATTACHED, false);\n }\n },\n\n /**\n * Detach a texture\n * @param {number} [attachment=gl.COLOR_ATTACHMENT0]\n * @param {number} [target=gl.TEXTURE_2D]\n */\n detach: function (attachment, target) {\n // TODO depth extension check ?\n this._textures[attachment] = null;\n if (this._boundRenderer) {\n var cache = this._cache;\n cache.use(this._boundRenderer.__uid__);\n this._doDetach(this._boundRenderer.gl, attachment, target);\n }\n },\n /**\n * Dispose\n * @param {WebGLRenderingContext} _gl\n */\n dispose: function (renderer) {\n\n var _gl = renderer.gl;\n var cache = this._cache;\n\n cache.use(renderer.__uid__);\n\n var renderBuffer = cache.get(KEY_RENDERBUFFER);\n if (renderBuffer) {\n _gl.deleteRenderbuffer(renderBuffer);\n }\n var frameBuffer = cache.get(KEY_FRAMEBUFFER);\n if (frameBuffer) {\n _gl.deleteFramebuffer(frameBuffer);\n }\n cache.deleteContext(renderer.__uid__);\n\n // Clear cache for reusing\n this._textures = {};\n\n }\n});\n\nFrameBuffer.DEPTH_ATTACHMENT = GL_DEPTH_ATTACHMENT;\nFrameBuffer.COLOR_ATTACHMENT0 = GL_COLOR_ATTACHMENT0;\nFrameBuffer.STENCIL_ATTACHMENT = __WEBPACK_IMPORTED_MODULE_3__core_glenum__[\"a\" /* default */].STENCIL_ATTACHMENT;\nFrameBuffer.DEPTH_STENCIL_ATTACHMENT = __WEBPACK_IMPORTED_MODULE_3__core_glenum__[\"a\" /* default */].DEPTH_STENCIL_ATTACHMENT;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (FrameBuffer);\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * @namespace clay.core.glenum\n * @see http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n /* ClearBufferMask */\n DEPTH_BUFFER_BIT : 0x00000100,\n STENCIL_BUFFER_BIT : 0x00000400,\n COLOR_BUFFER_BIT : 0x00004000,\n\n /* BeginMode */\n POINTS : 0x0000,\n LINES : 0x0001,\n LINE_LOOP : 0x0002,\n LINE_STRIP : 0x0003,\n TRIANGLES : 0x0004,\n TRIANGLE_STRIP : 0x0005,\n TRIANGLE_FAN : 0x0006,\n\n /* AlphaFunction (not supported in ES20) */\n /* NEVER */\n /* LESS */\n /* EQUAL */\n /* LEQUAL */\n /* GREATER */\n /* NOTEQUAL */\n /* GEQUAL */\n /* ALWAYS */\n\n /* BlendingFactorDest */\n ZERO : 0,\n ONE : 1,\n SRC_COLOR : 0x0300,\n ONE_MINUS_SRC_COLOR : 0x0301,\n SRC_ALPHA : 0x0302,\n ONE_MINUS_SRC_ALPHA : 0x0303,\n DST_ALPHA : 0x0304,\n ONE_MINUS_DST_ALPHA : 0x0305,\n\n /* BlendingFactorSrc */\n /* ZERO */\n /* ONE */\n DST_COLOR : 0x0306,\n ONE_MINUS_DST_COLOR : 0x0307,\n SRC_ALPHA_SATURATE : 0x0308,\n /* SRC_ALPHA */\n /* ONE_MINUS_SRC_ALPHA */\n /* DST_ALPHA */\n /* ONE_MINUS_DST_ALPHA */\n\n /* BlendEquationSeparate */\n FUNC_ADD : 0x8006,\n BLEND_EQUATION : 0x8009,\n BLEND_EQUATION_RGB : 0x8009, /* same as BLEND_EQUATION */\n BLEND_EQUATION_ALPHA : 0x883D,\n\n /* BlendSubtract */\n FUNC_SUBTRACT : 0x800A,\n FUNC_REVERSE_SUBTRACT : 0x800B,\n\n /* Separate Blend Functions */\n BLEND_DST_RGB : 0x80C8,\n BLEND_SRC_RGB : 0x80C9,\n BLEND_DST_ALPHA : 0x80CA,\n BLEND_SRC_ALPHA : 0x80CB,\n CONSTANT_COLOR : 0x8001,\n ONE_MINUS_CONSTANT_COLOR : 0x8002,\n CONSTANT_ALPHA : 0x8003,\n ONE_MINUS_CONSTANT_ALPHA : 0x8004,\n BLEND_COLOR : 0x8005,\n\n /* Buffer Objects */\n ARRAY_BUFFER : 0x8892,\n ELEMENT_ARRAY_BUFFER : 0x8893,\n ARRAY_BUFFER_BINDING : 0x8894,\n ELEMENT_ARRAY_BUFFER_BINDING : 0x8895,\n\n STREAM_DRAW : 0x88E0,\n STATIC_DRAW : 0x88E4,\n DYNAMIC_DRAW : 0x88E8,\n\n BUFFER_SIZE : 0x8764,\n BUFFER_USAGE : 0x8765,\n\n CURRENT_VERTEX_ATTRIB : 0x8626,\n\n /* CullFaceMode */\n FRONT : 0x0404,\n BACK : 0x0405,\n FRONT_AND_BACK : 0x0408,\n\n /* DepthFunction */\n /* NEVER */\n /* LESS */\n /* EQUAL */\n /* LEQUAL */\n /* GREATER */\n /* NOTEQUAL */\n /* GEQUAL */\n /* ALWAYS */\n\n /* EnableCap */\n /* TEXTURE_2D */\n CULL_FACE : 0x0B44,\n BLEND : 0x0BE2,\n DITHER : 0x0BD0,\n STENCIL_TEST : 0x0B90,\n DEPTH_TEST : 0x0B71,\n SCISSOR_TEST : 0x0C11,\n POLYGON_OFFSET_FILL : 0x8037,\n SAMPLE_ALPHA_TO_COVERAGE : 0x809E,\n SAMPLE_COVERAGE : 0x80A0,\n\n /* ErrorCode */\n NO_ERROR : 0,\n INVALID_ENUM : 0x0500,\n INVALID_VALUE : 0x0501,\n INVALID_OPERATION : 0x0502,\n OUT_OF_MEMORY : 0x0505,\n\n /* FrontFaceDirection */\n CW : 0x0900,\n CCW : 0x0901,\n\n /* GetPName */\n LINE_WIDTH : 0x0B21,\n ALIASED_POINT_SIZE_RANGE : 0x846D,\n ALIASED_LINE_WIDTH_RANGE : 0x846E,\n CULL_FACE_MODE : 0x0B45,\n FRONT_FACE : 0x0B46,\n DEPTH_RANGE : 0x0B70,\n DEPTH_WRITEMASK : 0x0B72,\n DEPTH_CLEAR_VALUE : 0x0B73,\n DEPTH_FUNC : 0x0B74,\n STENCIL_CLEAR_VALUE : 0x0B91,\n STENCIL_FUNC : 0x0B92,\n STENCIL_FAIL : 0x0B94,\n STENCIL_PASS_DEPTH_FAIL : 0x0B95,\n STENCIL_PASS_DEPTH_PASS : 0x0B96,\n STENCIL_REF : 0x0B97,\n STENCIL_VALUE_MASK : 0x0B93,\n STENCIL_WRITEMASK : 0x0B98,\n STENCIL_BACK_FUNC : 0x8800,\n STENCIL_BACK_FAIL : 0x8801,\n STENCIL_BACK_PASS_DEPTH_FAIL : 0x8802,\n STENCIL_BACK_PASS_DEPTH_PASS : 0x8803,\n STENCIL_BACK_REF : 0x8CA3,\n STENCIL_BACK_VALUE_MASK : 0x8CA4,\n STENCIL_BACK_WRITEMASK : 0x8CA5,\n VIEWPORT : 0x0BA2,\n SCISSOR_BOX : 0x0C10,\n /* SCISSOR_TEST */\n COLOR_CLEAR_VALUE : 0x0C22,\n COLOR_WRITEMASK : 0x0C23,\n UNPACK_ALIGNMENT : 0x0CF5,\n PACK_ALIGNMENT : 0x0D05,\n MAX_TEXTURE_SIZE : 0x0D33,\n MAX_VIEWPORT_DIMS : 0x0D3A,\n SUBPIXEL_BITS : 0x0D50,\n RED_BITS : 0x0D52,\n GREEN_BITS : 0x0D53,\n BLUE_BITS : 0x0D54,\n ALPHA_BITS : 0x0D55,\n DEPTH_BITS : 0x0D56,\n STENCIL_BITS : 0x0D57,\n POLYGON_OFFSET_UNITS : 0x2A00,\n /* POLYGON_OFFSET_FILL */\n POLYGON_OFFSET_FACTOR : 0x8038,\n TEXTURE_BINDING_2D : 0x8069,\n SAMPLE_BUFFERS : 0x80A8,\n SAMPLES : 0x80A9,\n SAMPLE_COVERAGE_VALUE : 0x80AA,\n SAMPLE_COVERAGE_INVERT : 0x80AB,\n\n /* GetTextureParameter */\n /* TEXTURE_MAG_FILTER */\n /* TEXTURE_MIN_FILTER */\n /* TEXTURE_WRAP_S */\n /* TEXTURE_WRAP_T */\n\n COMPRESSED_TEXTURE_FORMATS : 0x86A3,\n\n /* HintMode */\n DONT_CARE : 0x1100,\n FASTEST : 0x1101,\n NICEST : 0x1102,\n\n /* HintTarget */\n GENERATE_MIPMAP_HINT : 0x8192,\n\n /* DataType */\n BYTE : 0x1400,\n UNSIGNED_BYTE : 0x1401,\n SHORT : 0x1402,\n UNSIGNED_SHORT : 0x1403,\n INT : 0x1404,\n UNSIGNED_INT : 0x1405,\n FLOAT : 0x1406,\n\n /* PixelFormat */\n DEPTH_COMPONENT : 0x1902,\n ALPHA : 0x1906,\n RGB : 0x1907,\n RGBA : 0x1908,\n LUMINANCE : 0x1909,\n LUMINANCE_ALPHA : 0x190A,\n\n /* PixelType */\n /* UNSIGNED_BYTE */\n UNSIGNED_SHORT_4_4_4_4 : 0x8033,\n UNSIGNED_SHORT_5_5_5_1 : 0x8034,\n UNSIGNED_SHORT_5_6_5 : 0x8363,\n\n /* Shaders */\n FRAGMENT_SHADER : 0x8B30,\n VERTEX_SHADER : 0x8B31,\n MAX_VERTEX_ATTRIBS : 0x8869,\n MAX_VERTEX_UNIFORM_VECTORS : 0x8DFB,\n MAX_VARYING_VECTORS : 0x8DFC,\n MAX_COMBINED_TEXTURE_IMAGE_UNITS : 0x8B4D,\n MAX_VERTEX_TEXTURE_IMAGE_UNITS : 0x8B4C,\n MAX_TEXTURE_IMAGE_UNITS : 0x8872,\n MAX_FRAGMENT_UNIFORM_VECTORS : 0x8DFD,\n SHADER_TYPE : 0x8B4F,\n DELETE_STATUS : 0x8B80,\n LINK_STATUS : 0x8B82,\n VALIDATE_STATUS : 0x8B83,\n ATTACHED_SHADERS : 0x8B85,\n ACTIVE_UNIFORMS : 0x8B86,\n ACTIVE_ATTRIBUTES : 0x8B89,\n SHADING_LANGUAGE_VERSION : 0x8B8C,\n CURRENT_PROGRAM : 0x8B8D,\n\n /* StencilFunction */\n NEVER : 0x0200,\n LESS : 0x0201,\n EQUAL : 0x0202,\n LEQUAL : 0x0203,\n GREATER : 0x0204,\n NOTEQUAL : 0x0205,\n GEQUAL : 0x0206,\n ALWAYS : 0x0207,\n\n /* StencilOp */\n /* ZERO */\n KEEP : 0x1E00,\n REPLACE : 0x1E01,\n INCR : 0x1E02,\n DECR : 0x1E03,\n INVERT : 0x150A,\n INCR_WRAP : 0x8507,\n DECR_WRAP : 0x8508,\n\n /* StringName */\n VENDOR : 0x1F00,\n RENDERER : 0x1F01,\n VERSION : 0x1F02,\n\n /* TextureMagFilter */\n NEAREST : 0x2600,\n LINEAR : 0x2601,\n\n /* TextureMinFilter */\n /* NEAREST */\n /* LINEAR */\n NEAREST_MIPMAP_NEAREST : 0x2700,\n LINEAR_MIPMAP_NEAREST : 0x2701,\n NEAREST_MIPMAP_LINEAR : 0x2702,\n LINEAR_MIPMAP_LINEAR : 0x2703,\n\n /* TextureParameterName */\n TEXTURE_MAG_FILTER : 0x2800,\n TEXTURE_MIN_FILTER : 0x2801,\n TEXTURE_WRAP_S : 0x2802,\n TEXTURE_WRAP_T : 0x2803,\n\n /* TextureTarget */\n TEXTURE_2D : 0x0DE1,\n TEXTURE : 0x1702,\n\n TEXTURE_CUBE_MAP : 0x8513,\n TEXTURE_BINDING_CUBE_MAP : 0x8514,\n TEXTURE_CUBE_MAP_POSITIVE_X : 0x8515,\n TEXTURE_CUBE_MAP_NEGATIVE_X : 0x8516,\n TEXTURE_CUBE_MAP_POSITIVE_Y : 0x8517,\n TEXTURE_CUBE_MAP_NEGATIVE_Y : 0x8518,\n TEXTURE_CUBE_MAP_POSITIVE_Z : 0x8519,\n TEXTURE_CUBE_MAP_NEGATIVE_Z : 0x851A,\n MAX_CUBE_MAP_TEXTURE_SIZE : 0x851C,\n\n /* TextureUnit */\n TEXTURE0 : 0x84C0,\n TEXTURE1 : 0x84C1,\n TEXTURE2 : 0x84C2,\n TEXTURE3 : 0x84C3,\n TEXTURE4 : 0x84C4,\n TEXTURE5 : 0x84C5,\n TEXTURE6 : 0x84C6,\n TEXTURE7 : 0x84C7,\n TEXTURE8 : 0x84C8,\n TEXTURE9 : 0x84C9,\n TEXTURE10 : 0x84CA,\n TEXTURE11 : 0x84CB,\n TEXTURE12 : 0x84CC,\n TEXTURE13 : 0x84CD,\n TEXTURE14 : 0x84CE,\n TEXTURE15 : 0x84CF,\n TEXTURE16 : 0x84D0,\n TEXTURE17 : 0x84D1,\n TEXTURE18 : 0x84D2,\n TEXTURE19 : 0x84D3,\n TEXTURE20 : 0x84D4,\n TEXTURE21 : 0x84D5,\n TEXTURE22 : 0x84D6,\n TEXTURE23 : 0x84D7,\n TEXTURE24 : 0x84D8,\n TEXTURE25 : 0x84D9,\n TEXTURE26 : 0x84DA,\n TEXTURE27 : 0x84DB,\n TEXTURE28 : 0x84DC,\n TEXTURE29 : 0x84DD,\n TEXTURE30 : 0x84DE,\n TEXTURE31 : 0x84DF,\n ACTIVE_TEXTURE : 0x84E0,\n\n /* TextureWrapMode */\n REPEAT : 0x2901,\n CLAMP_TO_EDGE : 0x812F,\n MIRRORED_REPEAT : 0x8370,\n\n /* Uniform Types */\n FLOAT_VEC2 : 0x8B50,\n FLOAT_VEC3 : 0x8B51,\n FLOAT_VEC4 : 0x8B52,\n INT_VEC2 : 0x8B53,\n INT_VEC3 : 0x8B54,\n INT_VEC4 : 0x8B55,\n BOOL : 0x8B56,\n BOOL_VEC2 : 0x8B57,\n BOOL_VEC3 : 0x8B58,\n BOOL_VEC4 : 0x8B59,\n FLOAT_MAT2 : 0x8B5A,\n FLOAT_MAT3 : 0x8B5B,\n FLOAT_MAT4 : 0x8B5C,\n SAMPLER_2D : 0x8B5E,\n SAMPLER_CUBE : 0x8B60,\n\n /* Vertex Arrays */\n VERTEX_ATTRIB_ARRAY_ENABLED : 0x8622,\n VERTEX_ATTRIB_ARRAY_SIZE : 0x8623,\n VERTEX_ATTRIB_ARRAY_STRIDE : 0x8624,\n VERTEX_ATTRIB_ARRAY_TYPE : 0x8625,\n VERTEX_ATTRIB_ARRAY_NORMALIZED : 0x886A,\n VERTEX_ATTRIB_ARRAY_POINTER : 0x8645,\n VERTEX_ATTRIB_ARRAY_BUFFER_BINDING : 0x889F,\n\n /* Shader Source */\n COMPILE_STATUS : 0x8B81,\n\n /* Shader Precision-Specified Types */\n LOW_FLOAT : 0x8DF0,\n MEDIUM_FLOAT : 0x8DF1,\n HIGH_FLOAT : 0x8DF2,\n LOW_INT : 0x8DF3,\n MEDIUM_INT : 0x8DF4,\n HIGH_INT : 0x8DF5,\n\n /* Framebuffer Object. */\n FRAMEBUFFER : 0x8D40,\n RENDERBUFFER : 0x8D41,\n\n RGBA4 : 0x8056,\n RGB5_A1 : 0x8057,\n RGB565 : 0x8D62,\n DEPTH_COMPONENT16 : 0x81A5,\n STENCIL_INDEX : 0x1901,\n STENCIL_INDEX8 : 0x8D48,\n DEPTH_STENCIL : 0x84F9,\n\n RENDERBUFFER_WIDTH : 0x8D42,\n RENDERBUFFER_HEIGHT : 0x8D43,\n RENDERBUFFER_INTERNAL_FORMAT : 0x8D44,\n RENDERBUFFER_RED_SIZE : 0x8D50,\n RENDERBUFFER_GREEN_SIZE : 0x8D51,\n RENDERBUFFER_BLUE_SIZE : 0x8D52,\n RENDERBUFFER_ALPHA_SIZE : 0x8D53,\n RENDERBUFFER_DEPTH_SIZE : 0x8D54,\n RENDERBUFFER_STENCIL_SIZE : 0x8D55,\n\n FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE : 0x8CD0,\n FRAMEBUFFER_ATTACHMENT_OBJECT_NAME : 0x8CD1,\n FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL : 0x8CD2,\n FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE : 0x8CD3,\n\n COLOR_ATTACHMENT0 : 0x8CE0,\n DEPTH_ATTACHMENT : 0x8D00,\n STENCIL_ATTACHMENT : 0x8D20,\n DEPTH_STENCIL_ATTACHMENT : 0x821A,\n\n NONE : 0,\n\n FRAMEBUFFER_COMPLETE : 0x8CD5,\n FRAMEBUFFER_INCOMPLETE_ATTACHMENT : 0x8CD6,\n FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT : 0x8CD7,\n FRAMEBUFFER_INCOMPLETE_DIMENSIONS : 0x8CD9,\n FRAMEBUFFER_UNSUPPORTED : 0x8CDD,\n\n FRAMEBUFFER_BINDING : 0x8CA6,\n RENDERBUFFER_BINDING : 0x8CA7,\n MAX_RENDERBUFFER_SIZE : 0x84E8,\n\n INVALID_FRAMEBUFFER_OPERATION : 0x0506,\n\n /* WebGL-specific enums */\n UNPACK_FLIP_Y_WEBGL : 0x9240,\n UNPACK_PREMULTIPLY_ALPHA_WEBGL : 0x9241,\n CONTEXT_LOST_WEBGL : 0x9242,\n UNPACK_COLORSPACE_CONVERSION_WEBGL : 0x9243,\n BROWSER_DEFAULT_WEBGL : 0x9244,\n});\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common__ = __webpack_require__(20);\n\n/* Copyright (c) 2013, Brandon Jones, Colin MacKenzie IV. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */\n\n\n\n/**\n * @class 3 Dimensional Vector\n * @name vec3\n */\n\nvar vec3 = {};\n\n/**\n * Creates a new, empty vec3\n *\n * @returns {vec3} a new 3D vector\n */\nvec3.create = function() {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](3);\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n return out;\n};\n\n/**\n * Creates a new vec3 initialized with values from an existing vector\n *\n * @param {vec3} a vector to clone\n * @returns {vec3} a new 3D vector\n */\nvec3.clone = function(a) {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](3);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n return out;\n};\n\n/**\n * Creates a new vec3 initialized with the given values\n *\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @returns {vec3} a new 3D vector\n */\nvec3.fromValues = function(x, y, z) {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](3);\n out[0] = x;\n out[1] = y;\n out[2] = z;\n return out;\n};\n\n/**\n * Copy the values from one vec3 to another\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the source vector\n * @returns {vec3} out\n */\nvec3.copy = function(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n return out;\n};\n\n/**\n * Set the components of a vec3 to the given values\n *\n * @param {vec3} out the receiving vector\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @returns {vec3} out\n */\nvec3.set = function(out, x, y, z) {\n out[0] = x;\n out[1] = y;\n out[2] = z;\n return out;\n};\n\n/**\n * Adds two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {vec3} out\n */\nvec3.add = function(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n return out;\n};\n\n/**\n * Subtracts vector b from vector a\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {vec3} out\n */\nvec3.subtract = function(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n return out;\n};\n\n/**\n * Alias for {@link vec3.subtract}\n * @function\n */\nvec3.sub = vec3.subtract;\n\n/**\n * Multiplies two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {vec3} out\n */\nvec3.multiply = function(out, a, b) {\n out[0] = a[0] * b[0];\n out[1] = a[1] * b[1];\n out[2] = a[2] * b[2];\n return out;\n};\n\n/**\n * Alias for {@link vec3.multiply}\n * @function\n */\nvec3.mul = vec3.multiply;\n\n/**\n * Divides two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {vec3} out\n */\nvec3.divide = function(out, a, b) {\n out[0] = a[0] / b[0];\n out[1] = a[1] / b[1];\n out[2] = a[2] / b[2];\n return out;\n};\n\n/**\n * Alias for {@link vec3.divide}\n * @function\n */\nvec3.div = vec3.divide;\n\n/**\n * Returns the minimum of two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {vec3} out\n */\nvec3.min = function(out, a, b) {\n out[0] = Math.min(a[0], b[0]);\n out[1] = Math.min(a[1], b[1]);\n out[2] = Math.min(a[2], b[2]);\n return out;\n};\n\n/**\n * Returns the maximum of two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {vec3} out\n */\nvec3.max = function(out, a, b) {\n out[0] = Math.max(a[0], b[0]);\n out[1] = Math.max(a[1], b[1]);\n out[2] = Math.max(a[2], b[2]);\n return out;\n};\n\n/**\n * Scales a vec3 by a scalar number\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {vec3} out\n */\nvec3.scale = function(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n return out;\n};\n\n/**\n * Adds two vec3's after scaling the second operand by a scalar value\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @param {Number} scale the amount to scale b by before adding\n * @returns {vec3} out\n */\nvec3.scaleAndAdd = function(out, a, b, scale) {\n out[0] = a[0] + (b[0] * scale);\n out[1] = a[1] + (b[1] * scale);\n out[2] = a[2] + (b[2] * scale);\n return out;\n};\n\n/**\n * Calculates the euclidian distance between two vec3's\n *\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {Number} distance between a and b\n */\nvec3.distance = function(a, b) {\n var x = b[0] - a[0],\n y = b[1] - a[1],\n z = b[2] - a[2];\n return Math.sqrt(x*x + y*y + z*z);\n};\n\n/**\n * Alias for {@link vec3.distance}\n * @function\n */\nvec3.dist = vec3.distance;\n\n/**\n * Calculates the squared euclidian distance between two vec3's\n *\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {Number} squared distance between a and b\n */\nvec3.squaredDistance = function(a, b) {\n var x = b[0] - a[0],\n y = b[1] - a[1],\n z = b[2] - a[2];\n return x*x + y*y + z*z;\n};\n\n/**\n * Alias for {@link vec3.squaredDistance}\n * @function\n */\nvec3.sqrDist = vec3.squaredDistance;\n\n/**\n * Calculates the length of a vec3\n *\n * @param {vec3} a vector to calculate length of\n * @returns {Number} length of a\n */\nvec3.length = function (a) {\n var x = a[0],\n y = a[1],\n z = a[2];\n return Math.sqrt(x*x + y*y + z*z);\n};\n\n/**\n * Alias for {@link vec3.length}\n * @function\n */\nvec3.len = vec3.length;\n\n/**\n * Calculates the squared length of a vec3\n *\n * @param {vec3} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */\nvec3.squaredLength = function (a) {\n var x = a[0],\n y = a[1],\n z = a[2];\n return x*x + y*y + z*z;\n};\n\n/**\n * Alias for {@link vec3.squaredLength}\n * @function\n */\nvec3.sqrLen = vec3.squaredLength;\n\n/**\n * Negates the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a vector to negate\n * @returns {vec3} out\n */\nvec3.negate = function(out, a) {\n out[0] = -a[0];\n out[1] = -a[1];\n out[2] = -a[2];\n return out;\n};\n\n/**\n * Returns the inverse of the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a vector to invert\n * @returns {vec3} out\n */\nvec3.inverse = function(out, a) {\n out[0] = 1.0 / a[0];\n out[1] = 1.0 / a[1];\n out[2] = 1.0 / a[2];\n return out;\n};\n\n/**\n * Normalize a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a vector to normalize\n * @returns {vec3} out\n */\nvec3.normalize = function(out, a) {\n var x = a[0],\n y = a[1],\n z = a[2];\n var len = x*x + y*y + z*z;\n if (len > 0) {\n //TODO: evaluate use of glm_invsqrt here?\n len = 1 / Math.sqrt(len);\n out[0] = a[0] * len;\n out[1] = a[1] * len;\n out[2] = a[2] * len;\n }\n return out;\n};\n\n/**\n * Calculates the dot product of two vec3's\n *\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {Number} dot product of a and b\n */\nvec3.dot = function (a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n};\n\n/**\n * Computes the cross product of two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {vec3} out\n */\nvec3.cross = function(out, a, b) {\n var ax = a[0], ay = a[1], az = a[2],\n bx = b[0], by = b[1], bz = b[2];\n\n out[0] = ay * bz - az * by;\n out[1] = az * bx - ax * bz;\n out[2] = ax * by - ay * bx;\n return out;\n};\n\n/**\n * Performs a linear interpolation between two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @param {Number} t interpolation amount between the two inputs\n * @returns {vec3} out\n */\nvec3.lerp = function (out, a, b, t) {\n var ax = a[0],\n ay = a[1],\n az = a[2];\n out[0] = ax + t * (b[0] - ax);\n out[1] = ay + t * (b[1] - ay);\n out[2] = az + t * (b[2] - az);\n return out;\n};\n\n/**\n * Generates a random vector with the given scale\n *\n * @param {vec3} out the receiving vector\n * @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned\n * @returns {vec3} out\n */\nvec3.random = function (out, scale) {\n scale = scale || 1.0;\n\n var r = Object(__WEBPACK_IMPORTED_MODULE_0__common__[\"c\" /* GLMAT_RANDOM */])() * 2.0 * Math.PI;\n var z = (Object(__WEBPACK_IMPORTED_MODULE_0__common__[\"c\" /* GLMAT_RANDOM */])() * 2.0) - 1.0;\n var zScale = Math.sqrt(1.0-z*z) * scale;\n\n out[0] = Math.cos(r) * zScale;\n out[1] = Math.sin(r) * zScale;\n out[2] = z * scale;\n return out;\n};\n\n/**\n * Transforms the vec3 with a mat4.\n * 4th vector component is implicitly '1'\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the vector to transform\n * @param {mat4} m matrix to transform with\n * @returns {vec3} out\n */\nvec3.transformMat4 = function(out, a, m) {\n var x = a[0], y = a[1], z = a[2],\n w = m[3] * x + m[7] * y + m[11] * z + m[15];\n w = w || 1.0;\n out[0] = (m[0] * x + m[4] * y + m[8] * z + m[12]) / w;\n out[1] = (m[1] * x + m[5] * y + m[9] * z + m[13]) / w;\n out[2] = (m[2] * x + m[6] * y + m[10] * z + m[14]) / w;\n return out;\n};\n\n/**\n * Transforms the vec3 with a mat3.\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the vector to transform\n * @param {mat4} m the 3x3 matrix to transform with\n * @returns {vec3} out\n */\nvec3.transformMat3 = function(out, a, m) {\n var x = a[0], y = a[1], z = a[2];\n out[0] = x * m[0] + y * m[3] + z * m[6];\n out[1] = x * m[1] + y * m[4] + z * m[7];\n out[2] = x * m[2] + y * m[5] + z * m[8];\n return out;\n};\n\n/**\n * Transforms the vec3 with a quat\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the vector to transform\n * @param {quat} q quaternion to transform with\n * @returns {vec3} out\n */\nvec3.transformQuat = function(out, a, q) {\n // benchmarks: http://jsperf.com/quaternion-transform-vec3-implementations\n\n var x = a[0], y = a[1], z = a[2],\n qx = q[0], qy = q[1], qz = q[2], qw = q[3],\n\n // calculate quat * vec\n ix = qw * x + qy * z - qz * y,\n iy = qw * y + qz * x - qx * z,\n iz = qw * z + qx * y - qy * x,\n iw = -qx * x - qy * y - qz * z;\n\n // calculate result * inverse quat\n out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy;\n out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz;\n out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx;\n return out;\n};\n\n/**\n * Rotate a 3D vector around the x-axis\n * @param {vec3} out The receiving vec3\n * @param {vec3} a The vec3 point to rotate\n * @param {vec3} b The origin of the rotation\n * @param {Number} c The angle of rotation\n * @returns {vec3} out\n */\nvec3.rotateX = function(out, a, b, c){\n var p = [], r=[];\n //Translate point to the origin\n p[0] = a[0] - b[0];\n p[1] = a[1] - b[1];\n p[2] = a[2] - b[2];\n\n //perform rotation\n r[0] = p[0];\n r[1] = p[1]*Math.cos(c) - p[2]*Math.sin(c);\n r[2] = p[1]*Math.sin(c) + p[2]*Math.cos(c);\n\n //translate to correct position\n out[0] = r[0] + b[0];\n out[1] = r[1] + b[1];\n out[2] = r[2] + b[2];\n\n return out;\n};\n\n/**\n * Rotate a 3D vector around the y-axis\n * @param {vec3} out The receiving vec3\n * @param {vec3} a The vec3 point to rotate\n * @param {vec3} b The origin of the rotation\n * @param {Number} c The angle of rotation\n * @returns {vec3} out\n */\nvec3.rotateY = function(out, a, b, c){\n var p = [], r=[];\n //Translate point to the origin\n p[0] = a[0] - b[0];\n p[1] = a[1] - b[1];\n p[2] = a[2] - b[2];\n\n //perform rotation\n r[0] = p[2]*Math.sin(c) + p[0]*Math.cos(c);\n r[1] = p[1];\n r[2] = p[2]*Math.cos(c) - p[0]*Math.sin(c);\n\n //translate to correct position\n out[0] = r[0] + b[0];\n out[1] = r[1] + b[1];\n out[2] = r[2] + b[2];\n\n return out;\n};\n\n/**\n * Rotate a 3D vector around the z-axis\n * @param {vec3} out The receiving vec3\n * @param {vec3} a The vec3 point to rotate\n * @param {vec3} b The origin of the rotation\n * @param {Number} c The angle of rotation\n * @returns {vec3} out\n */\nvec3.rotateZ = function(out, a, b, c){\n var p = [], r=[];\n //Translate point to the origin\n p[0] = a[0] - b[0];\n p[1] = a[1] - b[1];\n p[2] = a[2] - b[2];\n\n //perform rotation\n r[0] = p[0]*Math.cos(c) - p[1]*Math.sin(c);\n r[1] = p[0]*Math.sin(c) + p[1]*Math.cos(c);\n r[2] = p[2];\n\n //translate to correct position\n out[0] = r[0] + b[0];\n out[1] = r[1] + b[1];\n out[2] = r[2] + b[2];\n\n return out;\n};\n\n/**\n * Perform some operation over an array of vec3s.\n *\n * @param {Array} a the array of vectors to iterate over\n * @param {Number} stride Number of elements between the start of each vec3. If 0 assumes tightly packed\n * @param {Number} offset Number of elements to skip at the beginning of the array\n * @param {Number} count Number of vec3s to iterate over. If 0 iterates over entire array\n * @param {Function} fn Function to call for each vector in the array\n * @param {Object} [arg] additional argument to pass to fn\n * @returns {Array} a\n * @function\n */\nvec3.forEach = (function() {\n var vec = vec3.create();\n\n return function(a, stride, offset, count, fn, arg) {\n var i, l;\n if(!stride) {\n stride = 3;\n }\n\n if(!offset) {\n offset = 0;\n }\n\n if(count) {\n l = Math.min((count * stride) + offset, a.length);\n } else {\n l = a.length;\n }\n\n for(i = offset; i < l; i += stride) {\n vec[0] = a[i]; vec[1] = a[i+1]; vec[2] = a[i+2];\n fn(vec, vec, arg);\n a[i] = vec[0]; a[i+1] = vec[1]; a[i+2] = vec[2];\n }\n\n return a;\n };\n})();\n\n/**\n * Get the angle between two 3D vectors\n * @param {vec3} a The first operand\n * @param {vec3} b The second operand\n * @returns {Number} The angle in radians\n */\nvec3.angle = function(a, b) {\n\n var tempA = vec3.fromValues(a[0], a[1], a[2]);\n var tempB = vec3.fromValues(b[0], b[1], b[2]);\n\n vec3.normalize(tempA, tempA);\n vec3.normalize(tempB, tempB);\n\n var cosine = vec3.dot(tempA, tempB);\n\n if(cosine > 1.0){\n return 0;\n } else {\n return Math.acos(cosine);\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (vec3);\n\n/***/ }),\n/* 13 */\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 clazz.prototype[prop] = clazzPrototype[prop];\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 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);\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} // Add prefix to avoid conflict with Object.prototype.\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.hasOwnProperty(key) ? this[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[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\n for (var key in this) {\n this.hasOwnProperty(key) && cb(this[key], key);\n }\n },\n // Do not use this method if performance sensitive.\n removeKey: function (key) {\n delete this[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/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__request__ = __webpack_require__(112);\n\n\nvar supportWebGL;\n\nvar vendor = {};\n\n/**\n * If support WebGL\n * @return {boolean}\n */\nvendor.supportWebGL = function () {\n if (supportWebGL == null) {\n try {\n var canvas = document.createElement('canvas');\n var gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');\n if (!gl) {\n throw new Error();\n }\n }\n catch (e) {\n supportWebGL = false;\n }\n\n }\n return supportWebGL;\n};\n\nvendor.Int8Array = typeof Int8Array === 'undefined' ? Array : Int8Array;\n\nvendor.Uint8Array = typeof Uint8Array === 'undefined' ? Array : Uint8Array;\n\nvendor.Uint16Array = typeof Uint16Array === 'undefined' ? Array : Uint16Array;\n\nvendor.Uint32Array = typeof Uint32Array === 'undefined' ? Array : Uint32Array;\n\nvendor.Int16Array = typeof Int16Array === 'undefined' ? Array : Int16Array;\n\nvendor.Float32Array = typeof Float32Array === 'undefined' ? Array : Float32Array;\n\nvendor.Float64Array = typeof Float64Array === 'undefined' ? Array : Float64Array;\n\nvar g = {};\nif (typeof window !== 'undefined') {\n g = window;\n}\nelse if (typeof global !== 'undefined') {\n g = global;\n}\nvendor.requestAnimationFrame = g.requestAnimationFrame\n || g.msRequestAnimationFrame\n || g.mozRequestAnimationFrame\n || g.webkitRequestAnimationFrame\n || function (func){ setTimeout(func, 16); };\n\nvendor.createCanvas = function () {\n return document.createElement('canvas');\n};\n\nvendor.createImage = function () {\n return new g.Image();\n};\n\nvendor.request = {\n get: __WEBPACK_IMPORTED_MODULE_0__request__[\"a\" /* default */].get\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (vendor);\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(68)))\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_vendor__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__glmatrix_mat4__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__math_BoundingBox__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__GeometryBase__ = __webpack_require__(118);\n\n\n\n\n\n\nvar vec3Create = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].create;\nvar vec3Add = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].add;\nvar vec3Set = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].set;\n\nvar Attribute = __WEBPACK_IMPORTED_MODULE_4__GeometryBase__[\"a\" /* default */].Attribute;\n\n/**\n * Geometry in ClayGL contains vertex attributes of mesh. These vertex attributes will be finally provided to the {@link clay.Shader}.\n * Different {@link clay.Shader} needs different attributes. Here is a list of attributes used in the builtin shaders.\n *\n * + position: `clay.basic`, `clay.lambert`, `clay.standard`\n * + texcoord0: `clay.basic`, `clay.lambert`, `clay.standard`\n * + color: `clay.basic`, `clay.lambert`, `clay.standard`\n * + weight: `clay.basic`, `clay.lambert`, `clay.standard`\n * + joint: `clay.basic`, `clay.lambert`, `clay.standard`\n * + normal: `clay.lambert`, `clay.standard`\n * + tangent: `clay.standard`\n *\n * #### Create a procedural geometry\n *\n * ClayGL provides a couple of builtin procedural geometries. Inlcuding:\n *\n * + {@link clay.geometry.Cube}\n * + {@link clay.geometry.Sphere}\n * + {@link clay.geometry.Plane}\n * + {@link clay.geometry.Cylinder}\n * + {@link clay.geometry.Cone}\n * + {@link clay.geometry.ParametricSurface}\n *\n * It's simple to create a basic geometry with these classes.\n *\n```js\nvar sphere = new clay.geometry.Sphere({\n radius: 2\n});\n```\n *\n * #### Create the geometry data by yourself\n *\n * Usually the vertex attributes data are created by the {@link clay.loader.GLTF} or procedural geometries like {@link clay.geometry.Sphere}.\n * Besides these, you can create the data manually. Here is a simple example to create a triangle.\n```js\nvar TRIANGLE_POSITIONS = [\n [-0.5, -0.5, 0],\n [0.5, -0.5, 0],\n [0, 0.5, 0]\n];\nvar geometry = new clay.StaticGeometryBase();\n// Add triangle vertices to position attribute.\ngeometry.attributes.position.fromArray(TRIANGLE_POSITIONS);\n```\n * Then you can use the utility methods like `generateVertexNormals`, `generateTangents` to create the remaining necessary attributes.\n *\n *\n * #### Use with custom shaders\n *\n * If you wan't to write custom shaders. Don't forget to add SEMANTICS to these attributes. For example\n *\n ```glsl\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\nuniform mat4 worldInverseTranspose : WORLDINVERSETRANSPOSE;\nuniform mat4 world : WORLD;\n\nattribute vec3 position : POSITION;\nattribute vec2 texcoord : TEXCOORD_0;\nattribute vec3 normal : NORMAL;\n```\n * These `POSITION`, `TEXCOORD_0`, `NORMAL` are SEMANTICS which will map the attributes in shader to the attributes in the GeometryBase\n *\n * Available attributes SEMANTICS includes `POSITION`, `TEXCOORD_0`, `TEXCOORD_1` `NORMAL`, `TANGENT`, `COLOR`, `WEIGHT`, `JOINT`.\n *\n *\n * @constructor clay.Geometry\n * @extends clay.GeometryBase\n */\nvar Geometry = __WEBPACK_IMPORTED_MODULE_4__GeometryBase__[\"a\" /* default */].extend(function () {\n return /** @lends clay.Geometry# */ {\n /**\n * Attributes of geometry. Including:\n * + `position`\n * + `texcoord0`\n * + `texcoord1`\n * + `normal`\n * + `tangent`\n * + `color`\n * + `weight`\n * + `joint`\n * + `barycentric`\n *\n * @type {Object.}\n */\n attributes: {\n position: new Attribute('position', 'float', 3, 'POSITION'),\n texcoord0: new Attribute('texcoord0', 'float', 2, 'TEXCOORD_0'),\n texcoord1: new Attribute('texcoord1', 'float', 2, 'TEXCOORD_1'),\n normal: new Attribute('normal', 'float', 3, 'NORMAL'),\n tangent: new Attribute('tangent', 'float', 4, 'TANGENT'),\n color: new Attribute('color', 'float', 4, 'COLOR'),\n // Skinning attributes\n // Each vertex can be bind to 4 bones, because the\n // sum of weights is 1, so the weights is stored in vec3 and the last\n // can be calculated by 1-w.x-w.y-w.z\n weight: new Attribute('weight', 'float', 3, 'WEIGHT'),\n joint: new Attribute('joint', 'float', 4, 'JOINT'),\n // For wireframe display\n // http://codeflow.org/entries/2012/aug/02/easy-wireframe-display-with-barycentric-coordinates/\n barycentric: new Attribute('barycentric', 'float', 3, null),\n },\n /**\n * Calculated bounding box of geometry.\n * @type {clay.BoundingBox}\n */\n boundingBox: null\n };\n},\n/** @lends clay.Geometry.prototype */\n{\n\n mainAttribute: 'position',\n\n /**\n * Update boundingBox of Geometry\n */\n updateBoundingBox: function () {\n var bbox = this.boundingBox;\n if (!bbox) {\n bbox = this.boundingBox = new __WEBPACK_IMPORTED_MODULE_3__math_BoundingBox__[\"a\" /* default */]();\n }\n var posArr = this.attributes.position.value;\n if (posArr && posArr.length) {\n var min = bbox.min;\n var max = bbox.max;\n var minArr = min.array;\n var maxArr = max.array;\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].set(minArr, posArr[0], posArr[1], posArr[2]);\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].set(maxArr, posArr[0], posArr[1], posArr[2]);\n for (var i = 3; i < posArr.length;) {\n var x = posArr[i++];\n var y = posArr[i++];\n var z = posArr[i++];\n if (x < minArr[0]) { minArr[0] = x; }\n if (y < minArr[1]) { minArr[1] = y; }\n if (z < minArr[2]) { minArr[2] = z; }\n\n if (x > maxArr[0]) { maxArr[0] = x; }\n if (y > maxArr[1]) { maxArr[1] = y; }\n if (z > maxArr[2]) { maxArr[2] = z; }\n }\n min._dirty = true;\n max._dirty = true;\n }\n },\n\n /**\n * Generate normals per vertex.\n */\n generateVertexNormals: function () {\n if (!this.vertexCount) {\n return;\n }\n\n var indices = this.indices;\n var attributes = this.attributes;\n var positions = attributes.position.value;\n var normals = attributes.normal.value;\n\n if (!normals || normals.length !== positions.length) {\n normals = attributes.normal.value = new __WEBPACK_IMPORTED_MODULE_0__core_vendor__[\"a\" /* default */].Float32Array(positions.length);\n }\n else {\n // Reset\n for (var i = 0; i < normals.length; i++) {\n normals[i] = 0;\n }\n }\n\n var p1 = vec3Create();\n var p2 = vec3Create();\n var p3 = vec3Create();\n\n var v21 = vec3Create();\n var v32 = vec3Create();\n\n var n = vec3Create();\n\n var len = indices ? indices.length : this.vertexCount;\n var i1, i2, i3;\n for (var f = 0; f < len;) {\n if (indices) {\n i1 = indices[f++];\n i2 = indices[f++];\n i3 = indices[f++];\n }\n else {\n i1 = f++;\n i2 = f++;\n i3 = f++;\n }\n\n vec3Set(p1, positions[i1*3], positions[i1*3+1], positions[i1*3+2]);\n vec3Set(p2, positions[i2*3], positions[i2*3+1], positions[i2*3+2]);\n vec3Set(p3, positions[i3*3], positions[i3*3+1], positions[i3*3+2]);\n\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].sub(v21, p1, p2);\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].sub(v32, p2, p3);\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].cross(n, v21, v32);\n // Already be weighted by the triangle area\n for (var i = 0; i < 3; i++) {\n normals[i1*3+i] = normals[i1*3+i] + n[i];\n normals[i2*3+i] = normals[i2*3+i] + n[i];\n normals[i3*3+i] = normals[i3*3+i] + n[i];\n }\n }\n\n for (var i = 0; i < normals.length;) {\n vec3Set(n, normals[i], normals[i+1], normals[i+2]);\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].normalize(n, n);\n normals[i++] = n[0];\n normals[i++] = n[1];\n normals[i++] = n[2];\n }\n this.dirty();\n },\n\n /**\n * Generate normals per face.\n */\n generateFaceNormals: function () {\n if (!this.vertexCount) {\n return;\n }\n\n if (!this.isUniqueVertex()) {\n this.generateUniqueVertex();\n }\n\n var indices = this.indices;\n var attributes = this.attributes;\n var positions = attributes.position.value;\n var normals = attributes.normal.value;\n\n var p1 = vec3Create();\n var p2 = vec3Create();\n var p3 = vec3Create();\n\n var v21 = vec3Create();\n var v32 = vec3Create();\n var n = vec3Create();\n\n if (!normals) {\n normals = attributes.normal.value = new Float32Array(positions.length);\n }\n var len = indices ? indices.length : this.vertexCount;\n var i1, i2, i3;\n for (var f = 0; f < len;) {\n if (indices) {\n i1 = indices[f++];\n i2 = indices[f++];\n i3 = indices[f++];\n }\n else {\n i1 = f++;\n i2 = f++;\n i3 = f++;\n }\n\n vec3Set(p1, positions[i1*3], positions[i1*3+1], positions[i1*3+2]);\n vec3Set(p2, positions[i2*3], positions[i2*3+1], positions[i2*3+2]);\n vec3Set(p3, positions[i3*3], positions[i3*3+1], positions[i3*3+2]);\n\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].sub(v21, p1, p2);\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].sub(v32, p2, p3);\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].cross(n, v21, v32);\n\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].normalize(n, n);\n\n for (var i = 0; i < 3; i++) {\n normals[i1*3 + i] = n[i];\n normals[i2*3 + i] = n[i];\n normals[i3*3 + i] = n[i];\n }\n }\n this.dirty();\n },\n\n /**\n * Generate tangents attributes.\n */\n generateTangents: function () {\n if (!this.vertexCount) {\n return;\n }\n\n var nVertex = this.vertexCount;\n var attributes = this.attributes;\n if (!attributes.tangent.value) {\n attributes.tangent.value = new Float32Array(nVertex * 4);\n }\n var texcoords = attributes.texcoord0.value;\n var positions = attributes.position.value;\n var tangents = attributes.tangent.value;\n var normals = attributes.normal.value;\n\n if (!texcoords) {\n console.warn('Geometry without texcoords can\\'t generate tangents.');\n return;\n }\n\n var tan1 = [];\n var tan2 = [];\n for (var i = 0; i < nVertex; i++) {\n tan1[i] = [0.0, 0.0, 0.0];\n tan2[i] = [0.0, 0.0, 0.0];\n }\n\n var sdir = [0.0, 0.0, 0.0];\n var tdir = [0.0, 0.0, 0.0];\n var indices = this.indices;\n\n var len = indices ? indices.length : this.vertexCount;\n var i1, i2, i3;\n for (var i = 0; i < len;) {\n if (indices) {\n i1 = indices[i++];\n i2 = indices[i++];\n i3 = indices[i++];\n }\n else {\n i1 = i++;\n i2 = i++;\n i3 = i++;\n }\n\n var st1s = texcoords[i1 * 2],\n st2s = texcoords[i2 * 2],\n st3s = texcoords[i3 * 2],\n st1t = texcoords[i1 * 2 + 1],\n st2t = texcoords[i2 * 2 + 1],\n st3t = texcoords[i3 * 2 + 1],\n\n p1x = positions[i1 * 3],\n p2x = positions[i2 * 3],\n p3x = positions[i3 * 3],\n p1y = positions[i1 * 3 + 1],\n p2y = positions[i2 * 3 + 1],\n p3y = positions[i3 * 3 + 1],\n p1z = positions[i1 * 3 + 2],\n p2z = positions[i2 * 3 + 2],\n p3z = positions[i3 * 3 + 2];\n\n var x1 = p2x - p1x,\n x2 = p3x - p1x,\n y1 = p2y - p1y,\n y2 = p3y - p1y,\n z1 = p2z - p1z,\n z2 = p3z - p1z;\n\n var s1 = st2s - st1s,\n s2 = st3s - st1s,\n t1 = st2t - st1t,\n t2 = st3t - st1t;\n\n var r = 1.0 / (s1 * t2 - t1 * s2);\n sdir[0] = (t2 * x1 - t1 * x2) * r;\n sdir[1] = (t2 * y1 - t1 * y2) * r;\n sdir[2] = (t2 * z1 - t1 * z2) * r;\n\n tdir[0] = (s1 * x2 - s2 * x1) * r;\n tdir[1] = (s1 * y2 - s2 * y1) * r;\n tdir[2] = (s1 * z2 - s2 * z1) * r;\n\n vec3Add(tan1[i1], tan1[i1], sdir);\n vec3Add(tan1[i2], tan1[i2], sdir);\n vec3Add(tan1[i3], tan1[i3], sdir);\n vec3Add(tan2[i1], tan2[i1], tdir);\n vec3Add(tan2[i2], tan2[i2], tdir);\n vec3Add(tan2[i3], tan2[i3], tdir);\n }\n var tmp = vec3Create();\n var nCrossT = vec3Create();\n var n = vec3Create();\n for (var i = 0; i < nVertex; i++) {\n n[0] = normals[i * 3];\n n[1] = normals[i * 3 + 1];\n n[2] = normals[i * 3 + 2];\n var t = tan1[i];\n\n // Gram-Schmidt orthogonalize\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].scale(tmp, n, __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].dot(n, t));\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].sub(tmp, t, tmp);\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].normalize(tmp, tmp);\n // Calculate handedness.\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].cross(nCrossT, n, t);\n tangents[i * 4] = tmp[0];\n tangents[i * 4 + 1] = tmp[1];\n tangents[i * 4 + 2] = tmp[2];\n // PENDING can config ?\n tangents[i * 4 + 3] = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].dot(nCrossT, tan2[i]) < 0.0 ? -1.0 : 1.0;\n }\n this.dirty();\n },\n\n /**\n * If vertices are not shared by different indices.\n */\n isUniqueVertex: function () {\n if (this.isUseIndices()) {\n return this.vertexCount === this.indices.length;\n }\n else {\n return true;\n }\n },\n /**\n * Create a unique vertex for each index.\n */\n generateUniqueVertex: function () {\n if (!this.vertexCount || !this.indices) {\n return;\n }\n\n if (this.indices.length > 0xffff) {\n this.indices = new __WEBPACK_IMPORTED_MODULE_0__core_vendor__[\"a\" /* default */].Uint32Array(this.indices);\n }\n\n var attributes = this.attributes;\n var indices = this.indices;\n\n var attributeNameList = this.getEnabledAttributes();\n\n var oldAttrValues = {};\n for (var a = 0; a < attributeNameList.length; a++) {\n var name = attributeNameList[a];\n oldAttrValues[name] = attributes[name].value;\n attributes[name].init(this.indices.length);\n }\n\n var cursor = 0;\n for (var i = 0; i < indices.length; i++) {\n var ii = indices[i];\n for (var a = 0; a < attributeNameList.length; a++) {\n var name = attributeNameList[a];\n var array = attributes[name].value;\n var size = attributes[name].size;\n\n for (var k = 0; k < size; k++) {\n array[cursor * size + k] = oldAttrValues[name][ii * size + k];\n }\n }\n indices[i] = cursor;\n cursor++;\n }\n\n this.dirty();\n },\n\n /**\n * Generate barycentric coordinates for wireframe draw.\n */\n generateBarycentric: function () {\n if (!this.vertexCount) {\n return;\n }\n\n if (!this.isUniqueVertex()) {\n this.generateUniqueVertex();\n }\n\n var attributes = this.attributes;\n var array = attributes.barycentric.value;\n var indices = this.indices;\n // Already existed;\n if (array && array.length === indices.length * 3) {\n return;\n }\n array = attributes.barycentric.value = new Float32Array(indices.length * 3);\n\n for (var i = 0; i < (indices ? indices.length : this.vertexCount / 3);) {\n for (var j = 0; j < 3; j++) {\n var ii = indices ? indices[i++] : (i * 3 + j);\n array[ii * 3 + j] = 1;\n }\n }\n this.dirty();\n },\n\n /**\n * Apply transform to geometry attributes.\n * @param {clay.Matrix4} matrix\n */\n applyTransform: function (matrix) {\n\n var attributes = this.attributes;\n var positions = attributes.position.value;\n var normals = attributes.normal.value;\n var tangents = attributes.tangent.value;\n\n matrix = matrix.array;\n // Normal Matrix\n var inverseTransposeMatrix = __WEBPACK_IMPORTED_MODULE_2__glmatrix_mat4__[\"a\" /* default */].create();\n __WEBPACK_IMPORTED_MODULE_2__glmatrix_mat4__[\"a\" /* default */].invert(inverseTransposeMatrix, matrix);\n __WEBPACK_IMPORTED_MODULE_2__glmatrix_mat4__[\"a\" /* default */].transpose(inverseTransposeMatrix, inverseTransposeMatrix);\n\n var vec3TransformMat4 = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].transformMat4;\n var vec3ForEach = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].forEach;\n vec3ForEach(positions, 3, 0, null, vec3TransformMat4, matrix);\n if (normals) {\n vec3ForEach(normals, 3, 0, null, vec3TransformMat4, inverseTransposeMatrix);\n }\n if (tangents) {\n vec3ForEach(tangents, 4, 0, null, vec3TransformMat4, inverseTransposeMatrix);\n }\n\n if (this.boundingBox) {\n this.updateBoundingBox();\n }\n },\n /**\n * Dispose geometry data in GL context.\n * @param {clay.Renderer} renderer\n */\n dispose: function (renderer) {\n\n var cache = this._cache;\n\n cache.use(renderer.__uid__);\n var chunks = cache.get('chunks');\n if (chunks) {\n for (var c = 0; c < chunks.length; c++) {\n var chunk = chunks[c];\n\n for (var k = 0; k < chunk.attributeBuffers.length; k++) {\n var attribs = chunk.attributeBuffers[k];\n renderer.gl.deleteBuffer(attribs.buffer);\n }\n\n if (chunk.indicesBuffer) {\n renderer.gl.deleteBuffer(chunk.indicesBuffer.buffer);\n }\n }\n }\n if (this.__vaoCache) {\n var vaoExt = renderer.getGLExtension('OES_vertex_array_object');\n for (var id in this.__vaoCache) {\n var vao = this.__vaoCache[id].vao;\n if (vao) {\n vaoExt.deleteVertexArrayOES(vao);\n }\n }\n }\n this.__vaoCache = {};\n cache.deleteContext(renderer.__uid__);\n }\n\n});\n\nGeometry.STATIC_DRAW = __WEBPACK_IMPORTED_MODULE_4__GeometryBase__[\"a\" /* default */].STATIC_DRAW;\nGeometry.DYNAMIC_DRAW = __WEBPACK_IMPORTED_MODULE_4__GeometryBase__[\"a\" /* default */].DYNAMIC_DRAW;\nGeometry.STREAM_DRAW = __WEBPACK_IMPORTED_MODULE_4__GeometryBase__[\"a\" /* default */].STREAM_DRAW;\n\nGeometry.AttributeBuffer = __WEBPACK_IMPORTED_MODULE_4__GeometryBase__[\"a\" /* default */].AttributeBuffer;\nGeometry.IndicesBuffer = __WEBPACK_IMPORTED_MODULE_4__GeometryBase__[\"a\" /* default */].IndicesBuffer;\n\nGeometry.Attribute = Attribute;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Geometry);\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_Base__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__camera_Orthographic__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__geometry_Plane__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Shader__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Material__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Mesh__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__core_glenum__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__shader_source_compositor_vertex_glsl_js__ = __webpack_require__(126);\n\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_3__Shader__[\"a\" /* default */]['import'](__WEBPACK_IMPORTED_MODULE_7__shader_source_compositor_vertex_glsl_js__[\"a\" /* default */]);\n\nvar planeGeo = new __WEBPACK_IMPORTED_MODULE_2__geometry_Plane__[\"a\" /* default */]();\nvar mesh = new __WEBPACK_IMPORTED_MODULE_5__Mesh__[\"a\" /* default */]({\n geometry: planeGeo,\n frustumCulling: false\n});\nvar camera = new __WEBPACK_IMPORTED_MODULE_1__camera_Orthographic__[\"a\" /* default */]();\n\n/**\n * @constructor clay.compositor.Pass\n * @extends clay.core.Base\n */\nvar Pass = __WEBPACK_IMPORTED_MODULE_0__core_Base__[\"a\" /* default */].extend(function () {\n return /** @lends clay.compositor.Pass# */ {\n /**\n * Fragment shader string\n * @type {string}\n */\n // PENDING shader or fragment ?\n fragment: '',\n\n /**\n * @type {Object}\n */\n outputs: null,\n\n /**\n * @type {clay.Material}\n */\n material: null,\n\n /**\n * @type {Boolean}\n */\n blendWithPrevious: false,\n\n /**\n * @type {Boolean}\n */\n clearColor: false,\n\n /**\n * @type {Boolean}\n */\n clearDepth: true\n };\n}, function() {\n\n var shader = new __WEBPACK_IMPORTED_MODULE_3__Shader__[\"a\" /* default */](__WEBPACK_IMPORTED_MODULE_3__Shader__[\"a\" /* default */].source('clay.compositor.vertex'), this.fragment);\n var material = new __WEBPACK_IMPORTED_MODULE_4__Material__[\"a\" /* default */]({\n shader: shader\n });\n material.enableTexturesAll();\n\n this.material = material;\n\n},\n/** @lends clay.compositor.Pass.prototype */\n{\n /**\n * @param {string} name\n * @param {} value\n */\n setUniform: function(name, value) {\n this.material.setUniform(name, value);\n },\n /**\n * @param {string} name\n * @return {}\n */\n getUniform: function(name) {\n var uniform = this.material.uniforms[name];\n if (uniform) {\n return uniform.value;\n }\n },\n /**\n * @param {clay.Texture} texture\n * @param {number} attachment\n */\n attachOutput: function(texture, attachment) {\n if (!this.outputs) {\n this.outputs = {};\n }\n attachment = attachment || __WEBPACK_IMPORTED_MODULE_6__core_glenum__[\"a\" /* default */].COLOR_ATTACHMENT0;\n this.outputs[attachment] = texture;\n },\n /**\n * @param {clay.Texture} texture\n */\n detachOutput: function(texture) {\n for (var attachment in this.outputs) {\n if (this.outputs[attachment] === texture) {\n this.outputs[attachment] = null;\n }\n }\n },\n\n bind: function(renderer, frameBuffer) {\n\n if (this.outputs) {\n for (var attachment in this.outputs) {\n var texture = this.outputs[attachment];\n if (texture) {\n frameBuffer.attach(texture, attachment);\n }\n }\n }\n\n if (frameBuffer) {\n frameBuffer.bind(renderer);\n }\n },\n\n unbind: function(renderer, frameBuffer) {\n frameBuffer.unbind(renderer);\n },\n /**\n * @param {clay.Renderer} renderer\n * @param {clay.FrameBuffer} [frameBuffer]\n */\n render: function(renderer, frameBuffer) {\n\n var _gl = renderer.gl;\n\n if (frameBuffer) {\n this.bind(renderer, frameBuffer);\n // MRT Support in chrome\n // https://www.khronos.org/registry/webgl/sdk/tests/conformance/extensions/ext-draw-buffers.html\n var ext = renderer.getGLExtension('EXT_draw_buffers');\n if (ext && this.outputs) {\n var bufs = [];\n for (var attachment in this.outputs) {\n attachment = +attachment;\n if (attachment >= _gl.COLOR_ATTACHMENT0 && attachment <= _gl.COLOR_ATTACHMENT0 + 8) {\n bufs.push(attachment);\n }\n }\n ext.drawBuffersEXT(bufs);\n }\n }\n\n this.trigger('beforerender', this, renderer);\n\n // FIXME Don't clear in each pass in default, let the color overwrite the buffer\n // FIXME pixels may be discard\n var clearBit = this.clearDepth ? _gl.DEPTH_BUFFER_BIT : 0;\n _gl.depthMask(true);\n if (this.clearColor) {\n clearBit = clearBit | _gl.COLOR_BUFFER_BIT;\n _gl.colorMask(true, true, true, true);\n var cc = this.clearColor;\n if (Array.isArray(cc)) {\n _gl.clearColor(cc[0], cc[1], cc[2], cc[3]);\n }\n }\n _gl.clear(clearBit);\n\n if (this.blendWithPrevious) {\n // Blend with previous rendered scene in the final output\n // FIXME Configure blend.\n // FIXME It will cause screen blink?\n _gl.enable(_gl.BLEND);\n this.material.transparent = true;\n }\n else {\n _gl.disable(_gl.BLEND);\n this.material.transparent = false;\n }\n\n this.renderQuad(renderer);\n\n this.trigger('afterrender', this, renderer);\n\n if (frameBuffer) {\n this.unbind(renderer, frameBuffer);\n }\n },\n\n /**\n * Simply do quad rendering\n */\n renderQuad: function (renderer) {\n mesh.material = this.material;\n renderer.renderPass([mesh], camera);\n },\n\n /**\n * @param {clay.Renderer} renderer\n */\n dispose: function (renderer) {}\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Pass);\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function (seriesType, ecModel, api) {\n return {\n seriesType: seriesType,\n reset: function (seriesModel, ecModel) {\n var data = seriesModel.getData();\n var opacityAccessPath = seriesModel.visualColorAccessPath.split('.');\n opacityAccessPath[opacityAccessPath.length - 1] ='opacity';\n\n var opacity = seriesModel.get(opacityAccessPath);\n\n data.setVisual('opacity', opacity == null ? 1 : opacity);\n\n function dataEach(data, idx) {\n var itemModel = data.getItemModel(idx);\n var opacity = itemModel.get(opacityAccessPath, true);\n if (opacity != null) {\n data.setItemVisual(idx, 'opacity', opacity);\n }\n }\n\n return {\n dataEach: data.hasItemOption ? dataEach : null\n };\n }\n };\n});\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__ = __webpack_require__(12);\n\n\n\nvar vec3Set = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].set;\nvar vec3Copy = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].copy;\n\n/**\n * Axis aligned bounding box\n * @constructor\n * @alias clay.BoundingBox\n * @param {clay.Vector3} [min]\n * @param {clay.Vector3} [max]\n */\nvar BoundingBox = function (min, max) {\n\n /**\n * Minimum coords of bounding box\n * @type {clay.Vector3}\n */\n this.min = min || new __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */](Infinity, Infinity, Infinity);\n\n /**\n * Maximum coords of bounding box\n * @type {clay.Vector3}\n */\n this.max = max || new __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */](-Infinity, -Infinity, -Infinity);\n\n this.vertices = null;\n};\n\nBoundingBox.prototype = {\n\n constructor: BoundingBox,\n /**\n * Update min and max coords from a vertices array\n * @param {array} vertices\n */\n updateFromVertices: function (vertices) {\n if (vertices.length > 0) {\n var min = this.min;\n var max = this.max;\n var minArr = min.array;\n var maxArr = max.array;\n vec3Copy(minArr, vertices[0]);\n vec3Copy(maxArr, vertices[0]);\n for (var i = 1; i < vertices.length; i++) {\n var vertex = vertices[i];\n\n if (vertex[0] < minArr[0]) { minArr[0] = vertex[0]; }\n if (vertex[1] < minArr[1]) { minArr[1] = vertex[1]; }\n if (vertex[2] < minArr[2]) { minArr[2] = vertex[2]; }\n\n if (vertex[0] > maxArr[0]) { maxArr[0] = vertex[0]; }\n if (vertex[1] > maxArr[1]) { maxArr[1] = vertex[1]; }\n if (vertex[2] > maxArr[2]) { maxArr[2] = vertex[2]; }\n }\n min._dirty = true;\n max._dirty = true;\n }\n },\n\n /**\n * Union operation with another bounding box\n * @param {clay.BoundingBox} bbox\n */\n union: function (bbox) {\n var min = this.min;\n var max = this.max;\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].min(min.array, min.array, bbox.min.array);\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].max(max.array, max.array, bbox.max.array);\n min._dirty = true;\n max._dirty = true;\n return this;\n },\n\n /**\n * Intersection operation with another bounding box\n * @param {clay.BoundingBox} bbox\n */\n intersection: function (bbox) {\n var min = this.min;\n var max = this.max;\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].max(min.array, min.array, bbox.min.array);\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].min(max.array, max.array, bbox.max.array);\n min._dirty = true;\n max._dirty = true;\n return this;\n },\n\n /**\n * If intersect with another bounding box\n * @param {clay.BoundingBox} bbox\n * @return {boolean}\n */\n intersectBoundingBox: function (bbox) {\n var _min = this.min.array;\n var _max = this.max.array;\n\n var _min2 = bbox.min.array;\n var _max2 = bbox.max.array;\n\n return ! (_min[0] > _max2[0] || _min[1] > _max2[1] || _min[2] > _max2[2]\n || _max[0] < _min2[0] || _max[1] < _min2[1] || _max[2] < _min2[2]);\n },\n\n /**\n * If contain another bounding box entirely\n * @param {clay.BoundingBox} bbox\n * @return {boolean}\n */\n containBoundingBox: function (bbox) {\n\n var _min = this.min.array;\n var _max = this.max.array;\n\n var _min2 = bbox.min.array;\n var _max2 = bbox.max.array;\n\n return _min[0] <= _min2[0] && _min[1] <= _min2[1] && _min[2] <= _min2[2]\n && _max[0] >= _max2[0] && _max[1] >= _max2[1] && _max[2] >= _max2[2];\n },\n\n /**\n * If contain point entirely\n * @param {clay.Vector3} point\n * @return {boolean}\n */\n containPoint: function (p) {\n var _min = this.min.array;\n var _max = this.max.array;\n\n var _p = p.array;\n\n return _min[0] <= _p[0] && _min[1] <= _p[1] && _min[2] <= _p[2]\n && _max[0] >= _p[0] && _max[1] >= _p[1] && _max[2] >= _p[2];\n },\n\n /**\n * If bounding box is finite\n */\n isFinite: function () {\n var _min = this.min.array;\n var _max = this.max.array;\n return isFinite(_min[0]) && isFinite(_min[1]) && isFinite(_min[2])\n && isFinite(_max[0]) && isFinite(_max[1]) && isFinite(_max[2]);\n },\n\n /**\n * Apply an affine transform matrix to the bounding box\n * @param {clay.Matrix4} matrix\n */\n applyTransform: function (matrix) {\n this.transformFrom(this, matrix);\n },\n\n /**\n * Get from another bounding box and an affine transform matrix.\n * @param {clay.BoundingBox} source\n * @param {clay.Matrix4} matrix\n */\n transformFrom: (function () {\n // http://dev.theomader.com/transform-bounding-boxes/\n var xa = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].create();\n var xb = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].create();\n var ya = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].create();\n var yb = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].create();\n var za = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].create();\n var zb = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].create();\n\n return function (source, matrix) {\n var min = source.min.array;\n var max = source.max.array;\n\n var m = matrix.array;\n\n xa[0] = m[0] * min[0]; xa[1] = m[1] * min[0]; xa[2] = m[2] * min[0];\n xb[0] = m[0] * max[0]; xb[1] = m[1] * max[0]; xb[2] = m[2] * max[0];\n\n ya[0] = m[4] * min[1]; ya[1] = m[5] * min[1]; ya[2] = m[6] * min[1];\n yb[0] = m[4] * max[1]; yb[1] = m[5] * max[1]; yb[2] = m[6] * max[1];\n\n za[0] = m[8] * min[2]; za[1] = m[9] * min[2]; za[2] = m[10] * min[2];\n zb[0] = m[8] * max[2]; zb[1] = m[9] * max[2]; zb[2] = m[10] * max[2];\n\n min = this.min.array;\n max = this.max.array;\n min[0] = Math.min(xa[0], xb[0]) + Math.min(ya[0], yb[0]) + Math.min(za[0], zb[0]) + m[12];\n min[1] = Math.min(xa[1], xb[1]) + Math.min(ya[1], yb[1]) + Math.min(za[1], zb[1]) + m[13];\n min[2] = Math.min(xa[2], xb[2]) + Math.min(ya[2], yb[2]) + Math.min(za[2], zb[2]) + m[14];\n\n max[0] = Math.max(xa[0], xb[0]) + Math.max(ya[0], yb[0]) + Math.max(za[0], zb[0]) + m[12];\n max[1] = Math.max(xa[1], xb[1]) + Math.max(ya[1], yb[1]) + Math.max(za[1], zb[1]) + m[13];\n max[2] = Math.max(xa[2], xb[2]) + Math.max(ya[2], yb[2]) + Math.max(za[2], zb[2]) + m[14];\n\n this.min._dirty = true;\n this.max._dirty = true;\n\n return this;\n };\n })(),\n\n /**\n * Apply a projection matrix to the bounding box\n * @param {clay.Matrix4} matrix\n */\n applyProjection: function (matrix) {\n var min = this.min.array;\n var max = this.max.array;\n\n var m = matrix.array;\n // min in min z\n var v10 = min[0];\n var v11 = min[1];\n var v12 = min[2];\n // max in min z\n var v20 = max[0];\n var v21 = max[1];\n var v22 = min[2];\n // max in max z\n var v30 = max[0];\n var v31 = max[1];\n var v32 = max[2];\n\n if (m[15] === 1) { // Orthographic projection\n min[0] = m[0] * v10 + m[12];\n min[1] = m[5] * v11 + m[13];\n max[2] = m[10] * v12 + m[14];\n\n max[0] = m[0] * v30 + m[12];\n max[1] = m[5] * v31 + m[13];\n min[2] = m[10] * v32 + m[14];\n }\n else {\n var w = -1 / v12;\n min[0] = m[0] * v10 * w;\n min[1] = m[5] * v11 * w;\n max[2] = (m[10] * v12 + m[14]) * w;\n\n w = -1 / v22;\n max[0] = m[0] * v20 * w;\n max[1] = m[5] * v21 * w;\n\n w = -1 / v32;\n min[2] = (m[10] * v32 + m[14]) * w;\n }\n this.min._dirty = true;\n this.max._dirty = true;\n\n return this;\n },\n\n updateVertices: function () {\n var vertices = this.vertices;\n if (!vertices) {\n // Cube vertices\n vertices = [];\n for (var i = 0; i < 8; i++) {\n vertices[i] = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].fromValues(0, 0, 0);\n }\n\n /**\n * Eight coords of bounding box\n * @type {Float32Array[]}\n */\n this.vertices = vertices;\n }\n var min = this.min.array;\n var max = this.max.array;\n //--- min z\n // min x\n vec3Set(vertices[0], min[0], min[1], min[2]);\n vec3Set(vertices[1], min[0], max[1], min[2]);\n // max x\n vec3Set(vertices[2], max[0], min[1], min[2]);\n vec3Set(vertices[3], max[0], max[1], min[2]);\n\n //-- max z\n vec3Set(vertices[4], min[0], min[1], max[2]);\n vec3Set(vertices[5], min[0], max[1], max[2]);\n vec3Set(vertices[6], max[0], min[1], max[2]);\n vec3Set(vertices[7], max[0], max[1], max[2]);\n\n return this;\n },\n /**\n * Copy values from another bounding box\n * @param {clay.BoundingBox} bbox\n */\n copy: function (bbox) {\n var min = this.min;\n var max = this.max;\n vec3Copy(min.array, bbox.min.array);\n vec3Copy(max.array, bbox.max.array);\n min._dirty = true;\n max._dirty = true;\n return this;\n },\n\n /**\n * Clone a new bounding box\n * @return {clay.BoundingBox}\n */\n clone: function () {\n var boundingBox = new BoundingBox();\n boundingBox.copy(this);\n return boundingBox;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (BoundingBox);\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_Base__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_util__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_color__ = __webpack_require__(113);\n\n\n\nvar parseColor = __WEBPACK_IMPORTED_MODULE_2__core_color__[\"a\" /* default */].parseToFloat;\n\nvar programKeyCache = {};\n\nfunction getDefineCode(defines) {\n var defineKeys = Object.keys(defines);\n defineKeys.sort();\n var defineStr = [];\n // Custom Defines\n for (var i = 0; i < defineKeys.length; i++) {\n var key = defineKeys[i];\n var value = defines[key];\n if (value === null) {\n defineStr.push(key);\n }\n else{\n defineStr.push(key + ' ' + value.toString());\n }\n }\n return defineStr.join('\\n');\n}\n\nfunction getProgramKey(vertexDefines, fragmentDefines, enabledTextures) {\n enabledTextures.sort();\n var defineStr = [];\n for (var i = 0; i < enabledTextures.length; i++) {\n var symbol = enabledTextures[i];\n defineStr.push(symbol);\n }\n var key = getDefineCode(vertexDefines) + '\\n'\n + getDefineCode(fragmentDefines) + '\\n'\n + defineStr.join('\\n');\n\n if (programKeyCache[key]) {\n return programKeyCache[key];\n }\n\n var id = __WEBPACK_IMPORTED_MODULE_1__core_util__[\"a\" /* default */].genGUID();\n programKeyCache[key] = id;\n return id;\n}\n\n/**\n * Material defines the appearance of mesh surface, like `color`, `roughness`, `metalness`, etc.\n * It contains a {@link clay.Shader} and corresponding uniforms.\n *\n * Here is a basic example to create a standard material\n```js\nvar material = new clay.Material({\n shader: new clay.Shader(\n clay.Shader.source('clay.vertex'),\n clay.Shader.source('clay.fragment')\n )\n});\n```\n * @constructor clay.Material\n * @extends clay.core.Base\n */\nvar Material = __WEBPACK_IMPORTED_MODULE_0__core_Base__[\"a\" /* default */].extend(function () {\n return /** @lends clay.Material# */ {\n /**\n * @type {string}\n */\n name: '',\n\n /**\n * @type {Object}\n */\n // uniforms: null,\n\n /**\n * @type {clay.Shader}\n */\n // shader: null,\n\n /**\n * @type {boolean}\n */\n depthTest: true,\n\n /**\n * @type {boolean}\n */\n depthMask: true,\n\n /**\n * @type {boolean}\n */\n transparent: false,\n /**\n * Blend func is a callback function when the material\n * have custom blending\n * The gl context will be the only argument passed in tho the\n * blend function\n * Detail of blend function in WebGL:\n * http://www.khronos.org/registry/gles/specs/2.0/es_full_spec_2.0.25.pdf\n *\n * Example :\n * function(_gl) {\n * _gl.blendEquation(_gl.FUNC_ADD);\n * _gl.blendFunc(_gl.SRC_ALPHA, _gl.ONE_MINUS_SRC_ALPHA);\n * }\n */\n blend: null,\n\n /**\n * If update texture status automatically.\n */\n autoUpdateTextureStatus: true,\n\n uniforms: {},\n vertexDefines: {},\n fragmentDefines: {},\n _textureStatus: {},\n\n // shadowTransparentMap : null\n\n // PENDING enable the uniform that only used in shader.\n _enabledUniforms: null,\n };\n}, function () {\n if (!this.name) {\n this.name = 'MATERIAL_' + this.__uid__;\n }\n\n if (this.shader) {\n // Keep status, mainly preset uniforms, vertexDefines and fragmentDefines\n this.attachShader(this.shader, true);\n }\n},\n/** @lends clay.Material.prototype */\n{\n precision: 'highp',\n\n /**\n * Set material uniform\n * @example\n * mat.setUniform('color', [1, 1, 1, 1]);\n * @param {string} symbol\n * @param {number|array|clay.Texture|ArrayBufferView} value\n */\n setUniform: function (symbol, value) {\n if (value === undefined) {\n console.warn('Uniform value \"' + symbol + '\" is undefined');\n }\n var uniform = this.uniforms[symbol];\n if (uniform) {\n\n if (typeof value === 'string') {\n // Try to parse as a color. Invalid color string will return null.\n value = parseColor(value) || value;\n }\n\n uniform.value = value;\n\n if (this.autoUpdateTextureStatus && uniform.type === 't') {\n if (value) {\n this.enableTexture(symbol);\n }\n else {\n this.disableTexture(symbol);\n }\n }\n }\n },\n\n /**\n * @param {Object} obj\n */\n setUniforms: function(obj) {\n for (var key in obj) {\n var val = obj[key];\n this.setUniform(key, val);\n }\n },\n\n /**\n * @param {string} symbol\n * @return {boolean}\n */\n isUniformEnabled: function (symbol) {\n return this._enabledUniforms.indexOf(symbol) >= 0;\n },\n\n getEnabledUniforms: function () {\n return this._enabledUniforms;\n },\n getTextureUniforms: function () {\n return this._textureUniforms;\n },\n\n /**\n * Alias of setUniform and setUniforms\n * @param {object|string} symbol\n * @param {number|array|clay.Texture|ArrayBufferView} [value]\n */\n set: function (symbol, value) {\n if (typeof(symbol) === 'object') {\n for (var key in symbol) {\n var val = symbol[key];\n this.setUniform(key, val);\n }\n }\n else {\n this.setUniform(symbol, value);\n }\n },\n /**\n * Get uniform value\n * @param {string} symbol\n * @return {number|array|clay.Texture|ArrayBufferView}\n */\n get: function (symbol) {\n var uniform = this.uniforms[symbol];\n if (uniform) {\n return uniform.value;\n }\n },\n /**\n * Attach a shader instance\n * @param {clay.Shader} shader\n * @param {boolean} keepStatus If try to keep uniform and texture\n */\n attachShader: function(shader, keepStatus) {\n var originalUniforms = this.uniforms;\n\n // Ignore if uniform can use in shader.\n this.uniforms = shader.createUniforms();\n this.shader = shader;\n\n var uniforms = this.uniforms;\n this._enabledUniforms = Object.keys(uniforms);\n // Make sure uniforms are set in same order to avoid texture slot wrong\n this._enabledUniforms.sort();\n this._textureUniforms = this._enabledUniforms.filter(function (uniformName) {\n var type = this.uniforms[uniformName].type;\n return type === 't' || type === 'tv';\n }, this);\n\n var originalVertexDefines = this.vertexDefines;\n var originalFragmentDefines = this.fragmentDefines;\n\n this.vertexDefines = __WEBPACK_IMPORTED_MODULE_1__core_util__[\"a\" /* default */].clone(shader.vertexDefines);\n this.fragmentDefines = __WEBPACK_IMPORTED_MODULE_1__core_util__[\"a\" /* default */].clone(shader.fragmentDefines);\n\n if (keepStatus) {\n for (var symbol in originalUniforms) {\n if (uniforms[symbol]) {\n uniforms[symbol].value = originalUniforms[symbol].value;\n }\n }\n\n __WEBPACK_IMPORTED_MODULE_1__core_util__[\"a\" /* default */].defaults(this.vertexDefines, originalVertexDefines);\n __WEBPACK_IMPORTED_MODULE_1__core_util__[\"a\" /* default */].defaults(this.fragmentDefines, originalFragmentDefines);\n }\n\n var textureStatus = {};\n for (var key in shader.textures) {\n textureStatus[key] = {\n shaderType: shader.textures[key].shaderType,\n type: shader.textures[key].type,\n enabled: (keepStatus && this._textureStatus[key]) ? this._textureStatus[key].enabled : false\n };\n }\n\n this._textureStatus = textureStatus;\n\n this._programKey = '';\n },\n\n /**\n * Clone a new material and keep uniforms, shader will not be cloned\n * @return {clay.Material}\n */\n clone: function () {\n var material = new this.constructor({\n name: this.name,\n shader: this.shader\n });\n for (var symbol in this.uniforms) {\n material.uniforms[symbol].value = this.uniforms[symbol].value;\n }\n material.depthTest = this.depthTest;\n material.depthMask = this.depthMask;\n material.transparent = this.transparent;\n material.blend = this.blend;\n\n material.vertexDefines = __WEBPACK_IMPORTED_MODULE_1__core_util__[\"a\" /* default */].clone(this.vertexDefines);\n material.fragmentDefines = __WEBPACK_IMPORTED_MODULE_1__core_util__[\"a\" /* default */].clone(this.fragmentDefines);\n material.enableTexture(this.getEnabledTextures());\n material.precision = this.precision;\n\n return material;\n },\n\n /**\n * Add a #define macro in shader code\n * @param {string} shaderType Can be vertex, fragment or both\n * @param {string} symbol\n * @param {number} [val]\n */\n define: function (shaderType, symbol, val) {\n var vertexDefines = this.vertexDefines;\n var fragmentDefines = this.fragmentDefines;\n if (shaderType !== 'vertex' && shaderType !== 'fragment' && shaderType !== 'both'\n && arguments.length < 3\n ) {\n // shaderType default to be 'both'\n val = symbol;\n symbol = shaderType;\n shaderType = 'both';\n }\n val = val != null ? val : null;\n if (shaderType === 'vertex' || shaderType === 'both') {\n if (vertexDefines[symbol] !== val) {\n vertexDefines[symbol] = val;\n // Mark as dirty\n this._programKey = '';\n }\n }\n if (shaderType === 'fragment' || shaderType === 'both') {\n if (fragmentDefines[symbol] !== val) {\n fragmentDefines[symbol] = val;\n if (shaderType !== 'both') {\n this._programKey = '';\n }\n }\n }\n },\n\n /**\n * Remove a #define macro in shader code\n * @param {string} shaderType Can be vertex, fragment or both\n * @param {string} symbol\n */\n undefine: function (shaderType, symbol) {\n if (shaderType !== 'vertex' && shaderType !== 'fragment' && shaderType !== 'both'\n && arguments.length < 2\n ) {\n // shaderType default to be 'both'\n symbol = shaderType;\n shaderType = 'both';\n }\n if (shaderType === 'vertex' || shaderType === 'both') {\n if (this.isDefined('vertex', symbol)) {\n delete this.vertexDefines[symbol];\n // Mark as dirty\n this._programKey = '';\n }\n }\n if (shaderType === 'fragment' || shaderType === 'both') {\n if (this.isDefined('fragment', symbol)) {\n delete this.fragmentDefines[symbol];\n if (shaderType !== 'both') {\n this._programKey = '';\n }\n }\n }\n },\n\n /**\n * If macro is defined in shader.\n * @param {string} shaderType Can be vertex, fragment or both\n * @param {string} symbol\n */\n isDefined: function (shaderType, symbol) {\n // PENDING hasOwnProperty ?\n switch (shaderType) {\n case 'vertex':\n return this.vertexDefines[symbol] !== undefined;\n case 'fragment':\n return this.fragmentDefines[symbol] !== undefined;\n }\n },\n /**\n * Get macro value defined in shader.\n * @param {string} shaderType Can be vertex, fragment or both\n * @param {string} symbol\n */\n getDefine: function (shaderType, symbol) {\n switch(shaderType) {\n case 'vertex':\n return this.vertexDefines[symbol];\n case 'fragment':\n return this.fragmentDefines[symbol];\n }\n },\n /**\n * Enable a texture, actually it will add a #define macro in the shader code\n * For example, if texture symbol is diffuseMap, it will add a line `#define DIFFUSEMAP_ENABLED` in the shader code\n * @param {string} symbol\n */\n enableTexture: function (symbol) {\n if (Array.isArray(symbol)) {\n for (var i = 0; i < symbol.length; i++) {\n this.enableTexture(symbol[i]);\n }\n return;\n }\n\n var status = this._textureStatus[symbol];\n if (status) {\n var isEnabled = status.enabled;\n if (!isEnabled) {\n status.enabled = true;\n this._programKey = '';\n }\n }\n },\n /**\n * Enable all textures used in the shader\n */\n enableTexturesAll: function () {\n var textureStatus = this._textureStatus;\n for (var symbol in textureStatus) {\n textureStatus[symbol].enabled = true;\n }\n\n this._programKey = '';\n },\n /**\n * Disable a texture, it remove a #define macro in the shader\n * @param {string} symbol\n */\n disableTexture: function (symbol) {\n if (Array.isArray(symbol)) {\n for (var i = 0; i < symbol.length; i++) {\n this.disableTexture(symbol[i]);\n }\n return;\n }\n\n var status = this._textureStatus[symbol];\n if (status) {\n var isDisabled = ! status.enabled;\n if (!isDisabled) {\n status.enabled = false;\n this._programKey = '';\n }\n }\n },\n /**\n * Disable all textures used in the shader\n */\n disableTexturesAll: function () {\n var textureStatus = this._textureStatus;\n for (var symbol in textureStatus) {\n textureStatus[symbol].enabled = false;\n }\n\n this._programKey = '';\n },\n /**\n * If texture of given type is enabled.\n * @param {string} symbol\n * @return {boolean}\n */\n isTextureEnabled: function (symbol) {\n var textureStatus = this._textureStatus;\n return !!textureStatus[symbol]\n && textureStatus[symbol].enabled;\n },\n\n /**\n * Get all enabled textures\n * @return {string[]}\n */\n getEnabledTextures: function () {\n var enabledTextures = [];\n var textureStatus = this._textureStatus;\n for (var symbol in textureStatus) {\n if (textureStatus[symbol].enabled) {\n enabledTextures.push(symbol);\n }\n }\n return enabledTextures;\n },\n\n /**\n * Mark defines are updated.\n */\n dirtyDefines: function () {\n this._programKey = '';\n },\n\n getProgramKey: function () {\n if (!this._programKey) {\n this._programKey = getProgramKey(\n this.vertexDefines, this.fragmentDefines, this.getEnabledTextures()\n );\n }\n return this._programKey;\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Material);\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return GLMAT_EPSILON; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return GLMAT_ARRAY_TYPE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return GLMAT_RANDOM; });\n\nvar GLMAT_EPSILON = 0.000001;\n\n// Use Array instead of Float32Array. It seems to be much faster and higher precision.\nvar GLMAT_ARRAY_TYPE = Array;\n// if(!GLMAT_ARRAY_TYPE) {\n// GLMAT_ARRAY_TYPE = (typeof Float32Array !== 'undefined') ? Float32Array : Array;\n// }\n\nvar GLMAT_RANDOM = Math.random;\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common__ = __webpack_require__(20);\n\n/* Copyright (c) 2013, Brandon Jones, Colin MacKenzie IV. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */\n\n\n\n/**\n * @class 4x4 Matrix\n * @name mat4\n */\n\nvar mat4 = {};\n\n/**\n * Creates a new identity mat4\n *\n * @returns {mat4} a new 4x4 matrix\n */\nmat4.create = function() {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](16);\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = 1;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 1;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n};\n\n/**\n * Creates a new mat4 initialized with values from an existing matrix\n *\n * @param {mat4} a matrix to clone\n * @returns {mat4} a new 4x4 matrix\n */\nmat4.clone = function(a) {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](16);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n out[9] = a[9];\n out[10] = a[10];\n out[11] = a[11];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n return out;\n};\n\n/**\n * Copy the values from one mat4 to another\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the source matrix\n * @returns {mat4} out\n */\nmat4.copy = function(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n out[9] = a[9];\n out[10] = a[10];\n out[11] = a[11];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n return out;\n};\n\n/**\n * Set a mat4 to the identity matrix\n *\n * @param {mat4} out the receiving matrix\n * @returns {mat4} out\n */\nmat4.identity = function(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = 1;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 1;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n};\n\n/**\n * Transpose the values of a mat4\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the source matrix\n * @returns {mat4} out\n */\nmat4.transpose = function(out, a) {\n // If we are transposing ourselves we can skip a few steps but have to cache some values\n if (out === a) {\n var a01 = a[1], a02 = a[2], a03 = a[3],\n a12 = a[6], a13 = a[7],\n a23 = a[11];\n\n out[1] = a[4];\n out[2] = a[8];\n out[3] = a[12];\n out[4] = a01;\n out[6] = a[9];\n out[7] = a[13];\n out[8] = a02;\n out[9] = a12;\n out[11] = a[14];\n out[12] = a03;\n out[13] = a13;\n out[14] = a23;\n } else {\n out[0] = a[0];\n out[1] = a[4];\n out[2] = a[8];\n out[3] = a[12];\n out[4] = a[1];\n out[5] = a[5];\n out[6] = a[9];\n out[7] = a[13];\n out[8] = a[2];\n out[9] = a[6];\n out[10] = a[10];\n out[11] = a[14];\n out[12] = a[3];\n out[13] = a[7];\n out[14] = a[11];\n out[15] = a[15];\n }\n\n return out;\n};\n\n/**\n * Inverts a mat4\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the source matrix\n * @returns {mat4} out\n */\nmat4.invert = function(out, a) {\n var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3],\n a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7],\n a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11],\n a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15],\n\n b00 = a00 * a11 - a01 * a10,\n b01 = a00 * a12 - a02 * a10,\n b02 = a00 * a13 - a03 * a10,\n b03 = a01 * a12 - a02 * a11,\n b04 = a01 * a13 - a03 * a11,\n b05 = a02 * a13 - a03 * a12,\n b06 = a20 * a31 - a21 * a30,\n b07 = a20 * a32 - a22 * a30,\n b08 = a20 * a33 - a23 * a30,\n b09 = a21 * a32 - a22 * a31,\n b10 = a21 * a33 - a23 * a31,\n b11 = a22 * a33 - a23 * a32,\n\n // Calculate the determinant\n det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\n\n if (!det) {\n return null;\n }\n det = 1.0 / det;\n\n out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det;\n out[1] = (a02 * b10 - a01 * b11 - a03 * b09) * det;\n out[2] = (a31 * b05 - a32 * b04 + a33 * b03) * det;\n out[3] = (a22 * b04 - a21 * b05 - a23 * b03) * det;\n out[4] = (a12 * b08 - a10 * b11 - a13 * b07) * det;\n out[5] = (a00 * b11 - a02 * b08 + a03 * b07) * det;\n out[6] = (a32 * b02 - a30 * b05 - a33 * b01) * det;\n out[7] = (a20 * b05 - a22 * b02 + a23 * b01) * det;\n out[8] = (a10 * b10 - a11 * b08 + a13 * b06) * det;\n out[9] = (a01 * b08 - a00 * b10 - a03 * b06) * det;\n out[10] = (a30 * b04 - a31 * b02 + a33 * b00) * det;\n out[11] = (a21 * b02 - a20 * b04 - a23 * b00) * det;\n out[12] = (a11 * b07 - a10 * b09 - a12 * b06) * det;\n out[13] = (a00 * b09 - a01 * b07 + a02 * b06) * det;\n out[14] = (a31 * b01 - a30 * b03 - a32 * b00) * det;\n out[15] = (a20 * b03 - a21 * b01 + a22 * b00) * det;\n\n return out;\n};\n\n/**\n * Calculates the adjugate of a mat4\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the source matrix\n * @returns {mat4} out\n */\nmat4.adjoint = function(out, a) {\n var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3],\n a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7],\n a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11],\n a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15];\n\n out[0] = (a11 * (a22 * a33 - a23 * a32) - a21 * (a12 * a33 - a13 * a32) + a31 * (a12 * a23 - a13 * a22));\n out[1] = -(a01 * (a22 * a33 - a23 * a32) - a21 * (a02 * a33 - a03 * a32) + a31 * (a02 * a23 - a03 * a22));\n out[2] = (a01 * (a12 * a33 - a13 * a32) - a11 * (a02 * a33 - a03 * a32) + a31 * (a02 * a13 - a03 * a12));\n out[3] = -(a01 * (a12 * a23 - a13 * a22) - a11 * (a02 * a23 - a03 * a22) + a21 * (a02 * a13 - a03 * a12));\n out[4] = -(a10 * (a22 * a33 - a23 * a32) - a20 * (a12 * a33 - a13 * a32) + a30 * (a12 * a23 - a13 * a22));\n out[5] = (a00 * (a22 * a33 - a23 * a32) - a20 * (a02 * a33 - a03 * a32) + a30 * (a02 * a23 - a03 * a22));\n out[6] = -(a00 * (a12 * a33 - a13 * a32) - a10 * (a02 * a33 - a03 * a32) + a30 * (a02 * a13 - a03 * a12));\n out[7] = (a00 * (a12 * a23 - a13 * a22) - a10 * (a02 * a23 - a03 * a22) + a20 * (a02 * a13 - a03 * a12));\n out[8] = (a10 * (a21 * a33 - a23 * a31) - a20 * (a11 * a33 - a13 * a31) + a30 * (a11 * a23 - a13 * a21));\n out[9] = -(a00 * (a21 * a33 - a23 * a31) - a20 * (a01 * a33 - a03 * a31) + a30 * (a01 * a23 - a03 * a21));\n out[10] = (a00 * (a11 * a33 - a13 * a31) - a10 * (a01 * a33 - a03 * a31) + a30 * (a01 * a13 - a03 * a11));\n out[11] = -(a00 * (a11 * a23 - a13 * a21) - a10 * (a01 * a23 - a03 * a21) + a20 * (a01 * a13 - a03 * a11));\n out[12] = -(a10 * (a21 * a32 - a22 * a31) - a20 * (a11 * a32 - a12 * a31) + a30 * (a11 * a22 - a12 * a21));\n out[13] = (a00 * (a21 * a32 - a22 * a31) - a20 * (a01 * a32 - a02 * a31) + a30 * (a01 * a22 - a02 * a21));\n out[14] = -(a00 * (a11 * a32 - a12 * a31) - a10 * (a01 * a32 - a02 * a31) + a30 * (a01 * a12 - a02 * a11));\n out[15] = (a00 * (a11 * a22 - a12 * a21) - a10 * (a01 * a22 - a02 * a21) + a20 * (a01 * a12 - a02 * a11));\n return out;\n};\n\n/**\n * Calculates the determinant of a mat4\n *\n * @param {mat4} a the source matrix\n * @returns {Number} determinant of a\n */\nmat4.determinant = function (a) {\n var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3],\n a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7],\n a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11],\n a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15],\n\n b00 = a00 * a11 - a01 * a10,\n b01 = a00 * a12 - a02 * a10,\n b02 = a00 * a13 - a03 * a10,\n b03 = a01 * a12 - a02 * a11,\n b04 = a01 * a13 - a03 * a11,\n b05 = a02 * a13 - a03 * a12,\n b06 = a20 * a31 - a21 * a30,\n b07 = a20 * a32 - a22 * a30,\n b08 = a20 * a33 - a23 * a30,\n b09 = a21 * a32 - a22 * a31,\n b10 = a21 * a33 - a23 * a31,\n b11 = a22 * a33 - a23 * a32;\n\n // Calculate the determinant\n return b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\n};\n\n/**\n * Multiplies two mat4's\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the first operand\n * @param {mat4} b the second operand\n * @returns {mat4} out\n */\nmat4.multiply = function (out, a, b) {\n var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3],\n a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7],\n a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11],\n a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15];\n\n // Cache only the current line of the second matrix\n var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3];\n out[0] = b0*a00 + b1*a10 + b2*a20 + b3*a30;\n out[1] = b0*a01 + b1*a11 + b2*a21 + b3*a31;\n out[2] = b0*a02 + b1*a12 + b2*a22 + b3*a32;\n out[3] = b0*a03 + b1*a13 + b2*a23 + b3*a33;\n\n b0 = b[4]; b1 = b[5]; b2 = b[6]; b3 = b[7];\n out[4] = b0*a00 + b1*a10 + b2*a20 + b3*a30;\n out[5] = b0*a01 + b1*a11 + b2*a21 + b3*a31;\n out[6] = b0*a02 + b1*a12 + b2*a22 + b3*a32;\n out[7] = b0*a03 + b1*a13 + b2*a23 + b3*a33;\n\n b0 = b[8]; b1 = b[9]; b2 = b[10]; b3 = b[11];\n out[8] = b0*a00 + b1*a10 + b2*a20 + b3*a30;\n out[9] = b0*a01 + b1*a11 + b2*a21 + b3*a31;\n out[10] = b0*a02 + b1*a12 + b2*a22 + b3*a32;\n out[11] = b0*a03 + b1*a13 + b2*a23 + b3*a33;\n\n b0 = b[12]; b1 = b[13]; b2 = b[14]; b3 = b[15];\n out[12] = b0*a00 + b1*a10 + b2*a20 + b3*a30;\n out[13] = b0*a01 + b1*a11 + b2*a21 + b3*a31;\n out[14] = b0*a02 + b1*a12 + b2*a22 + b3*a32;\n out[15] = b0*a03 + b1*a13 + b2*a23 + b3*a33;\n return out;\n};\n\n/**\n * Multiplies two affine mat4's\n * Add by https://github.com/pissang\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the first operand\n * @param {mat4} b the second operand\n * @returns {mat4} out\n */\nmat4.multiplyAffine = function (out, a, b) {\n var a00 = a[0], a01 = a[1], a02 = a[2],\n a10 = a[4], a11 = a[5], a12 = a[6],\n a20 = a[8], a21 = a[9], a22 = a[10],\n a30 = a[12], a31 = a[13], a32 = a[14];\n\n // Cache only the current line of the second matrix\n var b0 = b[0], b1 = b[1], b2 = b[2];\n out[0] = b0*a00 + b1*a10 + b2*a20;\n out[1] = b0*a01 + b1*a11 + b2*a21;\n out[2] = b0*a02 + b1*a12 + b2*a22;\n // out[3] = 0;\n\n b0 = b[4]; b1 = b[5]; b2 = b[6];\n out[4] = b0*a00 + b1*a10 + b2*a20;\n out[5] = b0*a01 + b1*a11 + b2*a21;\n out[6] = b0*a02 + b1*a12 + b2*a22;\n // out[7] = 0;\n\n b0 = b[8]; b1 = b[9]; b2 = b[10];\n out[8] = b0*a00 + b1*a10 + b2*a20;\n out[9] = b0*a01 + b1*a11 + b2*a21;\n out[10] = b0*a02 + b1*a12 + b2*a22;\n // out[11] = 0;\n\n b0 = b[12]; b1 = b[13]; b2 = b[14];\n out[12] = b0*a00 + b1*a10 + b2*a20 + a30;\n out[13] = b0*a01 + b1*a11 + b2*a21 + a31;\n out[14] = b0*a02 + b1*a12 + b2*a22 + a32;\n // out[15] = 1;\n return out;\n};\n\n/**\n * Alias for {@link mat4.multiply}\n * @function\n */\nmat4.mul = mat4.multiply;\n\n/**\n * Alias for {@link mat4.multiplyAffine}\n * @function\n */\nmat4.mulAffine = mat4.multiplyAffine;\n/**\n * Translate a mat4 by the given vector\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the matrix to translate\n * @param {vec3} v vector to translate by\n * @returns {mat4} out\n */\nmat4.translate = function (out, a, v) {\n var x = v[0], y = v[1], z = v[2],\n a00, a01, a02, a03,\n a10, a11, a12, a13,\n a20, a21, a22, a23;\n\n if (a === out) {\n out[12] = a[0] * x + a[4] * y + a[8] * z + a[12];\n out[13] = a[1] * x + a[5] * y + a[9] * z + a[13];\n out[14] = a[2] * x + a[6] * y + a[10] * z + a[14];\n out[15] = a[3] * x + a[7] * y + a[11] * z + a[15];\n } else {\n a00 = a[0]; a01 = a[1]; a02 = a[2]; a03 = a[3];\n a10 = a[4]; a11 = a[5]; a12 = a[6]; a13 = a[7];\n a20 = a[8]; a21 = a[9]; a22 = a[10]; a23 = a[11];\n\n out[0] = a00; out[1] = a01; out[2] = a02; out[3] = a03;\n out[4] = a10; out[5] = a11; out[6] = a12; out[7] = a13;\n out[8] = a20; out[9] = a21; out[10] = a22; out[11] = a23;\n\n out[12] = a00 * x + a10 * y + a20 * z + a[12];\n out[13] = a01 * x + a11 * y + a21 * z + a[13];\n out[14] = a02 * x + a12 * y + a22 * z + a[14];\n out[15] = a03 * x + a13 * y + a23 * z + a[15];\n }\n\n return out;\n};\n\n/**\n * Scales the mat4 by the dimensions in the given vec3\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the matrix to scale\n * @param {vec3} v the vec3 to scale the matrix by\n * @returns {mat4} out\n **/\nmat4.scale = function(out, a, v) {\n var x = v[0], y = v[1], z = v[2];\n\n out[0] = a[0] * x;\n out[1] = a[1] * x;\n out[2] = a[2] * x;\n out[3] = a[3] * x;\n out[4] = a[4] * y;\n out[5] = a[5] * y;\n out[6] = a[6] * y;\n out[7] = a[7] * y;\n out[8] = a[8] * z;\n out[9] = a[9] * z;\n out[10] = a[10] * z;\n out[11] = a[11] * z;\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n return out;\n};\n\n/**\n * Rotates a mat4 by the given angle\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @param {vec3} axis the axis to rotate around\n * @returns {mat4} out\n */\nmat4.rotate = function (out, a, rad, axis) {\n var x = axis[0], y = axis[1], z = axis[2],\n len = Math.sqrt(x * x + y * y + z * z),\n s, c, t,\n a00, a01, a02, a03,\n a10, a11, a12, a13,\n a20, a21, a22, a23,\n b00, b01, b02,\n b10, b11, b12,\n b20, b21, b22;\n\n if (Math.abs(len) < __WEBPACK_IMPORTED_MODULE_0__common__[\"b\" /* GLMAT_EPSILON */]) { return null; }\n\n len = 1 / len;\n x *= len;\n y *= len;\n z *= len;\n\n s = Math.sin(rad);\n c = Math.cos(rad);\n t = 1 - c;\n\n a00 = a[0]; a01 = a[1]; a02 = a[2]; a03 = a[3];\n a10 = a[4]; a11 = a[5]; a12 = a[6]; a13 = a[7];\n a20 = a[8]; a21 = a[9]; a22 = a[10]; a23 = a[11];\n\n // Construct the elements of the rotation matrix\n b00 = x * x * t + c; b01 = y * x * t + z * s; b02 = z * x * t - y * s;\n b10 = x * y * t - z * s; b11 = y * y * t + c; b12 = z * y * t + x * s;\n b20 = x * z * t + y * s; b21 = y * z * t - x * s; b22 = z * z * t + c;\n\n // Perform rotation-specific matrix multiplication\n out[0] = a00 * b00 + a10 * b01 + a20 * b02;\n out[1] = a01 * b00 + a11 * b01 + a21 * b02;\n out[2] = a02 * b00 + a12 * b01 + a22 * b02;\n out[3] = a03 * b00 + a13 * b01 + a23 * b02;\n out[4] = a00 * b10 + a10 * b11 + a20 * b12;\n out[5] = a01 * b10 + a11 * b11 + a21 * b12;\n out[6] = a02 * b10 + a12 * b11 + a22 * b12;\n out[7] = a03 * b10 + a13 * b11 + a23 * b12;\n out[8] = a00 * b20 + a10 * b21 + a20 * b22;\n out[9] = a01 * b20 + a11 * b21 + a21 * b22;\n out[10] = a02 * b20 + a12 * b21 + a22 * b22;\n out[11] = a03 * b20 + a13 * b21 + a23 * b22;\n\n if (a !== out) { // If the source and destination differ, copy the unchanged last row\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n }\n return out;\n};\n\n/**\n * Rotates a matrix by the given angle around the X axis\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\nmat4.rotateX = function (out, a, rad) {\n var s = Math.sin(rad),\n c = Math.cos(rad),\n a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7],\n a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n\n if (a !== out) { // If the source and destination differ, copy the unchanged rows\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n }\n\n // Perform axis-specific matrix multiplication\n out[4] = a10 * c + a20 * s;\n out[5] = a11 * c + a21 * s;\n out[6] = a12 * c + a22 * s;\n out[7] = a13 * c + a23 * s;\n out[8] = a20 * c - a10 * s;\n out[9] = a21 * c - a11 * s;\n out[10] = a22 * c - a12 * s;\n out[11] = a23 * c - a13 * s;\n return out;\n};\n\n/**\n * Rotates a matrix by the given angle around the Y axis\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\nmat4.rotateY = function (out, a, rad) {\n var s = Math.sin(rad),\n c = Math.cos(rad),\n a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3],\n a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n\n if (a !== out) { // If the source and destination differ, copy the unchanged rows\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n }\n\n // Perform axis-specific matrix multiplication\n out[0] = a00 * c - a20 * s;\n out[1] = a01 * c - a21 * s;\n out[2] = a02 * c - a22 * s;\n out[3] = a03 * c - a23 * s;\n out[8] = a00 * s + a20 * c;\n out[9] = a01 * s + a21 * c;\n out[10] = a02 * s + a22 * c;\n out[11] = a03 * s + a23 * c;\n return out;\n};\n\n/**\n * Rotates a matrix by the given angle around the Z axis\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\nmat4.rotateZ = function (out, a, rad) {\n var s = Math.sin(rad),\n c = Math.cos(rad),\n a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3],\n a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n\n if (a !== out) { // If the source and destination differ, copy the unchanged last row\n out[8] = a[8];\n out[9] = a[9];\n out[10] = a[10];\n out[11] = a[11];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n }\n\n // Perform axis-specific matrix multiplication\n out[0] = a00 * c + a10 * s;\n out[1] = a01 * c + a11 * s;\n out[2] = a02 * c + a12 * s;\n out[3] = a03 * c + a13 * s;\n out[4] = a10 * c - a00 * s;\n out[5] = a11 * c - a01 * s;\n out[6] = a12 * c - a02 * s;\n out[7] = a13 * c - a03 * s;\n return out;\n};\n\n/**\n * Creates a matrix from a quaternion rotation and vector translation\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.translate(dest, vec);\n * var quatMat = mat4.create();\n * quat4.toMat4(quat, quatMat);\n * mat4.multiply(dest, quatMat);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {quat4} q Rotation quaternion\n * @param {vec3} v Translation vector\n * @returns {mat4} out\n */\nmat4.fromRotationTranslation = function (out, q, v) {\n // Quaternion math\n var x = q[0], y = q[1], z = q[2], w = q[3],\n x2 = x + x,\n y2 = y + y,\n z2 = z + z,\n\n xx = x * x2,\n xy = x * y2,\n xz = x * z2,\n yy = y * y2,\n yz = y * z2,\n zz = z * z2,\n wx = w * x2,\n wy = w * y2,\n wz = w * z2;\n\n out[0] = 1 - (yy + zz);\n out[1] = xy + wz;\n out[2] = xz - wy;\n out[3] = 0;\n out[4] = xy - wz;\n out[5] = 1 - (xx + zz);\n out[6] = yz + wx;\n out[7] = 0;\n out[8] = xz + wy;\n out[9] = yz - wx;\n out[10] = 1 - (xx + yy);\n out[11] = 0;\n out[12] = v[0];\n out[13] = v[1];\n out[14] = v[2];\n out[15] = 1;\n\n return out;\n};\n\nmat4.fromQuat = function (out, q) {\n var x = q[0], y = q[1], z = q[2], w = q[3],\n x2 = x + x,\n y2 = y + y,\n z2 = z + z,\n\n xx = x * x2,\n yx = y * x2,\n yy = y * y2,\n zx = z * x2,\n zy = z * y2,\n zz = z * z2,\n wx = w * x2,\n wy = w * y2,\n wz = w * z2;\n\n out[0] = 1 - yy - zz;\n out[1] = yx + wz;\n out[2] = zx - wy;\n out[3] = 0;\n\n out[4] = yx - wz;\n out[5] = 1 - xx - zz;\n out[6] = zy + wx;\n out[7] = 0;\n\n out[8] = zx + wy;\n out[9] = zy - wx;\n out[10] = 1 - xx - yy;\n out[11] = 0;\n\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n\n return out;\n};\n\n/**\n * Generates a frustum matrix with the given bounds\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {Number} left Left bound of the frustum\n * @param {Number} right Right bound of the frustum\n * @param {Number} bottom Bottom bound of the frustum\n * @param {Number} top Top bound of the frustum\n * @param {Number} near Near bound of the frustum\n * @param {Number} far Far bound of the frustum\n * @returns {mat4} out\n */\nmat4.frustum = function (out, left, right, bottom, top, near, far) {\n var rl = 1 / (right - left),\n tb = 1 / (top - bottom),\n nf = 1 / (near - far);\n out[0] = (near * 2) * rl;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = (near * 2) * tb;\n out[6] = 0;\n out[7] = 0;\n out[8] = (right + left) * rl;\n out[9] = (top + bottom) * tb;\n out[10] = (far + near) * nf;\n out[11] = -1;\n out[12] = 0;\n out[13] = 0;\n out[14] = (far * near * 2) * nf;\n out[15] = 0;\n return out;\n};\n\n/**\n * Generates a perspective projection matrix with the given bounds\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} fovy Vertical field of view in radians\n * @param {number} aspect Aspect ratio. typically viewport width/height\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum\n * @returns {mat4} out\n */\nmat4.perspective = function (out, fovy, aspect, near, far) {\n var f = 1.0 / Math.tan(fovy / 2),\n nf = 1 / (near - far);\n out[0] = f / aspect;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = f;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = (far + near) * nf;\n out[11] = -1;\n out[12] = 0;\n out[13] = 0;\n out[14] = (2 * far * near) * nf;\n out[15] = 0;\n return out;\n};\n\n/**\n * Generates a orthogonal projection matrix with the given bounds\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} left Left bound of the frustum\n * @param {number} right Right bound of the frustum\n * @param {number} bottom Bottom bound of the frustum\n * @param {number} top Top bound of the frustum\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum\n * @returns {mat4} out\n */\nmat4.ortho = function (out, left, right, bottom, top, near, far) {\n var lr = 1 / (left - right),\n bt = 1 / (bottom - top),\n nf = 1 / (near - far);\n out[0] = -2 * lr;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = -2 * bt;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 2 * nf;\n out[11] = 0;\n out[12] = (left + right) * lr;\n out[13] = (top + bottom) * bt;\n out[14] = (far + near) * nf;\n out[15] = 1;\n return out;\n};\n\n/**\n * Generates a look-at matrix with the given eye position, focal point, and up axis\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {vec3} eye Position of the viewer\n * @param {vec3} center Point the viewer is looking at\n * @param {vec3} up vec3 pointing up\n * @returns {mat4} out\n */\nmat4.lookAt = function (out, eye, center, up) {\n var x0, x1, x2, y0, y1, y2, z0, z1, z2, len,\n eyex = eye[0],\n eyey = eye[1],\n eyez = eye[2],\n upx = up[0],\n upy = up[1],\n upz = up[2],\n centerx = center[0],\n centery = center[1],\n centerz = center[2];\n\n if (Math.abs(eyex - centerx) < __WEBPACK_IMPORTED_MODULE_0__common__[\"b\" /* GLMAT_EPSILON */] &&\n Math.abs(eyey - centery) < __WEBPACK_IMPORTED_MODULE_0__common__[\"b\" /* GLMAT_EPSILON */] &&\n Math.abs(eyez - centerz) < __WEBPACK_IMPORTED_MODULE_0__common__[\"b\" /* GLMAT_EPSILON */]) {\n return mat4.identity(out);\n }\n\n z0 = eyex - centerx;\n z1 = eyey - centery;\n z2 = eyez - centerz;\n\n len = 1 / Math.sqrt(z0 * z0 + z1 * z1 + z2 * z2);\n z0 *= len;\n z1 *= len;\n z2 *= len;\n\n x0 = upy * z2 - upz * z1;\n x1 = upz * z0 - upx * z2;\n x2 = upx * z1 - upy * z0;\n len = Math.sqrt(x0 * x0 + x1 * x1 + x2 * x2);\n if (!len) {\n x0 = 0;\n x1 = 0;\n x2 = 0;\n } else {\n len = 1 / len;\n x0 *= len;\n x1 *= len;\n x2 *= len;\n }\n\n y0 = z1 * x2 - z2 * x1;\n y1 = z2 * x0 - z0 * x2;\n y2 = z0 * x1 - z1 * x0;\n\n len = Math.sqrt(y0 * y0 + y1 * y1 + y2 * y2);\n if (!len) {\n y0 = 0;\n y1 = 0;\n y2 = 0;\n } else {\n len = 1 / len;\n y0 *= len;\n y1 *= len;\n y2 *= len;\n }\n\n out[0] = x0;\n out[1] = y0;\n out[2] = z0;\n out[3] = 0;\n out[4] = x1;\n out[5] = y1;\n out[6] = z1;\n out[7] = 0;\n out[8] = x2;\n out[9] = y2;\n out[10] = z2;\n out[11] = 0;\n out[12] = -(x0 * eyex + x1 * eyey + x2 * eyez);\n out[13] = -(y0 * eyex + y1 * eyey + y2 * eyez);\n out[14] = -(z0 * eyex + z1 * eyey + z2 * eyez);\n out[15] = 1;\n\n return out;\n};\n\n/**\n * Returns Frobenius norm of a mat4\n *\n * @param {mat4} a the matrix to calculate Frobenius norm of\n * @returns {Number} Frobenius norm\n */\nmat4.frob = function (a) {\n return(Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2) + Math.pow(a[3], 2) + Math.pow(a[4], 2) + Math.pow(a[5], 2) + Math.pow(a[6], 2) + Math.pow(a[7], 2) + Math.pow(a[8], 2) + Math.pow(a[9], 2) + Math.pow(a[10], 2) + Math.pow(a[11], 2) + Math.pow(a[12], 2) + Math.pow(a[13], 2) + Math.pow(a[14], 2) + Math.pow(a[15], 2) ))\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (mat4);\n\n/***/ }),\n/* 22 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_Scene__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_claygl_src_prePass_ShadowMap__ = __webpack_require__(174);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_camera_Perspective__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_claygl_src_camera_Orthographic__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_claygl_src_math_Matrix4__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_claygl_src_math_Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_claygl_src_math_Vector2__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_claygl_src_core_mixin_notifier__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__effect_EffectCompositor__ = __webpack_require__(176);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__effect_TemporalSuperSampling__ = __webpack_require__(200);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__effect_halton__ = __webpack_require__(49);\n/*\n * @module echarts-gl/core/ViewGL\n * @author Yi Shen(http://github.com/pissang)\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * @constructor\n * @alias module:echarts-gl/core/ViewGL\n * @param {string} [projection='perspective']\n */\nfunction ViewGL(projection) {\n\n projection = projection || 'perspective';\n\n /**\n * @type {module:echarts-gl/core/LayerGL}\n */\n this.layer = null;\n /**\n * @type {clay.Scene}\n */\n this.scene = new __WEBPACK_IMPORTED_MODULE_1_claygl_src_Scene__[\"a\" /* default */]();\n\n /**\n * @type {clay.Node}\n */\n this.rootNode = this.scene;\n\n this.viewport = {\n x: 0, y: 0, width: 0, height: 0\n };\n\n this.setProjection(projection);\n\n this._compositor = new __WEBPACK_IMPORTED_MODULE_9__effect_EffectCompositor__[\"a\" /* default */]();\n\n this._temporalSS = new __WEBPACK_IMPORTED_MODULE_10__effect_TemporalSuperSampling__[\"a\" /* default */]();\n\n this._shadowMapPass = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_prePass_ShadowMap__[\"a\" /* default */]();\n\n var pcfKernels = [];\n var off = 0;\n for (var i = 0; i < 30; i++) {\n var pcfKernel = [];\n for (var k = 0; k < 6; k++) {\n pcfKernel.push(Object(__WEBPACK_IMPORTED_MODULE_11__effect_halton__[\"a\" /* default */])(off, 2) * 4.0 - 2.0);\n pcfKernel.push(Object(__WEBPACK_IMPORTED_MODULE_11__effect_halton__[\"a\" /* default */])(off, 3) * 4.0 - 2.0);\n off++;\n }\n pcfKernels.push(pcfKernel);\n }\n this._pcfKernels = pcfKernels;\n\n this.scene.on('beforerender', function (renderer, scene, camera) {\n if (this.needsTemporalSS()) {\n this._temporalSS.jitterProjection(renderer, camera);\n }\n }, this);\n}\n\n/**\n * Set camera type of group\n * @param {string} cameraType 'perspective' | 'orthographic'\n */\nViewGL.prototype.setProjection = function (projection) {\n var oldCamera = this.camera;\n oldCamera && oldCamera.update();\n if (projection === 'perspective') {\n if (!(this.camera instanceof __WEBPACK_IMPORTED_MODULE_3_claygl_src_camera_Perspective__[\"a\" /* default */])) {\n this.camera = new __WEBPACK_IMPORTED_MODULE_3_claygl_src_camera_Perspective__[\"a\" /* default */]();\n if (oldCamera) {\n this.camera.setLocalTransform(oldCamera.localTransform);\n }\n }\n }\n else {\n if (!(this.camera instanceof __WEBPACK_IMPORTED_MODULE_4_claygl_src_camera_Orthographic__[\"a\" /* default */])) {\n this.camera = new __WEBPACK_IMPORTED_MODULE_4_claygl_src_camera_Orthographic__[\"a\" /* default */]();\n if (oldCamera) {\n this.camera.setLocalTransform(oldCamera.localTransform);\n }\n }\n }\n // PENDING\n this.camera.near = 0.1;\n this.camera.far = 2000;\n};\n\n/**\n * Set viewport of group\n * @param {number} x Viewport left bottom x\n * @param {number} y Viewport left bottom y\n * @param {number} width Viewport height\n * @param {number} height Viewport height\n * @param {number} [dpr=1]\n */\nViewGL.prototype.setViewport = function (x, y, width, height, dpr) {\n if (this.camera instanceof __WEBPACK_IMPORTED_MODULE_3_claygl_src_camera_Perspective__[\"a\" /* default */]) {\n this.camera.aspect = width / height;\n }\n dpr = dpr || 1;\n\n this.viewport.x = x;\n this.viewport.y = y;\n this.viewport.width = width;\n this.viewport.height = height;\n this.viewport.devicePixelRatio = dpr;\n\n // Source and output of compositor use high dpr texture.\n // But the intermediate texture of bloom, dof effects use fixed 1.0 dpr\n this._compositor.resize(width * dpr, height * dpr);\n this._temporalSS.resize(width * dpr, height * dpr);\n};\n\n/**\n * If contain screen point x, y\n * @param {number} x offsetX\n * @param {number} y offsetY\n * @return {boolean}\n */\nViewGL.prototype.containPoint = function (x, y) {\n var viewport = this.viewport;\n var height = this.layer.renderer.getHeight();\n // Flip y;\n y = height - y;\n return x >= viewport.x && y >= viewport.y\n && x <= viewport.x + viewport.width && y <= viewport.y + viewport.height;\n};\n\n/**\n * Cast a ray\n * @param {number} x offsetX\n * @param {number} y offsetY\n * @param {clay.math.Ray} out\n * @return {clay.math.Ray}\n */\nvar ndc = new __WEBPACK_IMPORTED_MODULE_7_claygl_src_math_Vector2__[\"a\" /* default */]();\nViewGL.prototype.castRay = function (x, y, out) {\n var renderer = this.layer.renderer;\n\n var oldViewport = renderer.viewport;\n renderer.viewport = this.viewport;\n renderer.screenToNDC(x, y, ndc);\n this.camera.castRay(ndc, out);\n renderer.viewport = oldViewport;\n\n return out;\n};\n\n/**\n * Prepare and update scene before render\n */\nViewGL.prototype.prepareRender = function () {\n this.scene.update();\n this.camera.update();\n this.scene.updateLights();\n var renderList = this.scene.updateRenderList(this.camera);\n\n this._needsSortProgressively = false;\n // If has any transparent mesh needs sort triangles progressively.\n for (var i = 0; i < renderList.transparent.length; i++) {\n var renderable = renderList.transparent[i];\n var geometry = renderable.geometry;\n if (geometry.needsSortVerticesProgressively && geometry.needsSortVerticesProgressively()) {\n this._needsSortProgressively = true;\n }\n if (geometry.needsSortTrianglesProgressively && geometry.needsSortTrianglesProgressively()) {\n this._needsSortProgressively = true;\n }\n }\n\n this._frame = 0;\n this._temporalSS.resetFrame();\n\n // var lights = this.scene.getLights();\n // for (var i = 0; i < lights.length; i++) {\n // if (lights[i].cubemap) {\n // if (this._compositor && this._compositor.isSSREnabled()) {\n // lights[i].invisible = true;\n // }\n // else {\n // lights[i].invisible = false;\n // }\n // }\n // }\n};\n\nViewGL.prototype.render = function (renderer, accumulating) {\n this._doRender(renderer, accumulating, this._frame);\n this._frame++;\n};\n\nViewGL.prototype.needsAccumulate = function () {\n return this.needsTemporalSS() || this._needsSortProgressively;\n};\n\nViewGL.prototype.needsTemporalSS = function () {\n var enableTemporalSS = this._enableTemporalSS;\n if (enableTemporalSS === 'auto') {\n enableTemporalSS = this._enablePostEffect;\n }\n return enableTemporalSS;\n};\n\nViewGL.prototype.hasDOF = function () {\n return this._enableDOF;\n};\n\nViewGL.prototype.isAccumulateFinished = function () {\n return this.needsTemporalSS() ? this._temporalSS.isFinished()\n : (this._frame > 30);\n};\n\nViewGL.prototype._doRender = function (renderer, accumulating, accumFrame) {\n\n var scene = this.scene;\n var camera = this.camera;\n\n accumFrame = accumFrame || 0;\n\n this._updateTransparent(renderer, scene, camera, accumFrame);\n\n if (!accumulating) {\n this._shadowMapPass.kernelPCF = this._pcfKernels[0];\n // Not render shadowmap pass in accumulating frame.\n this._shadowMapPass.render(renderer, scene, camera, true);\n }\n\n this._updateShadowPCFKernel(accumFrame);\n\n // Shadowmap will set clear color.\n var bgColor = renderer.clearColor;\n renderer.gl.clearColor(bgColor[0], bgColor[1], bgColor[2], bgColor[3]);\n\n if (this._enablePostEffect) {\n // normal render also needs to be jittered when have edge pass.\n if (this.needsTemporalSS()) {\n this._temporalSS.jitterProjection(renderer, camera);\n }\n this._compositor.updateNormal(renderer, scene, camera, this._temporalSS.getFrame());\n }\n\n // Always update SSAO to make sure have correct ssaoMap status\n this._updateSSAO(renderer, scene, camera, this._temporalSS.getFrame());\n\n if (this._enablePostEffect) {\n\n var frameBuffer = this._compositor.getSourceFrameBuffer();\n frameBuffer.bind(renderer);\n renderer.gl.clear(renderer.gl.DEPTH_BUFFER_BIT | renderer.gl.COLOR_BUFFER_BIT);\n renderer.render(scene, camera, true, true);\n frameBuffer.unbind(renderer);\n\n if (this.needsTemporalSS() && accumulating) {\n this._compositor.composite(renderer, scene, camera, this._temporalSS.getSourceFrameBuffer(), this._temporalSS.getFrame());\n renderer.setViewport(this.viewport);\n this._temporalSS.render(renderer);\n }\n else {\n renderer.setViewport(this.viewport);\n this._compositor.composite(renderer, scene, camera, null, 0);\n }\n }\n else {\n if (this.needsTemporalSS() && accumulating) {\n var frameBuffer = this._temporalSS.getSourceFrameBuffer();\n frameBuffer.bind(renderer);\n renderer.saveClear();\n renderer.clearBit = renderer.gl.DEPTH_BUFFER_BIT | renderer.gl.COLOR_BUFFER_BIT;\n renderer.render(scene, camera, true, true);\n renderer.restoreClear();\n frameBuffer.unbind(renderer);\n\n renderer.setViewport(this.viewport);\n this._temporalSS.render(renderer);\n }\n else {\n renderer.setViewport(this.viewport);\n renderer.render(scene, camera, true, true);\n }\n }\n\n // this._shadowMapPass.renderDebug(renderer);\n // this._compositor._normalPass.renderDebug(renderer);\n};\n\nViewGL.prototype._updateTransparent = function (renderer, scene, camera, frame) {\n\n var v3 = new __WEBPACK_IMPORTED_MODULE_6_claygl_src_math_Vector3__[\"a\" /* default */]();\n var invWorldTransform = new __WEBPACK_IMPORTED_MODULE_5_claygl_src_math_Matrix4__[\"a\" /* default */]();\n var cameraWorldPosition = camera.getWorldPosition();\n var transparentList = scene.getRenderList(camera).transparent;\n\n // Sort transparent object.\n for (var i = 0; i < transparentList.length; i++) {\n var renderable = transparentList[i];\n var geometry = renderable.geometry;\n __WEBPACK_IMPORTED_MODULE_5_claygl_src_math_Matrix4__[\"a\" /* default */].invert(invWorldTransform, renderable.worldTransform);\n __WEBPACK_IMPORTED_MODULE_6_claygl_src_math_Vector3__[\"a\" /* default */].transformMat4(v3, cameraWorldPosition, invWorldTransform);\n if (geometry.needsSortTriangles && geometry.needsSortTriangles()) {\n geometry.doSortTriangles(v3, frame);\n }\n if (geometry.needsSortVertices && geometry.needsSortVertices()) {\n geometry.doSortVertices(v3, frame);\n }\n }\n};\n\nViewGL.prototype._updateSSAO = function (renderer, scene, camera) {\n var ifEnableSSAO = this._enableSSAO && this._enablePostEffect;\n if (ifEnableSSAO) {\n this._compositor.updateSSAO(renderer, scene, camera, this._temporalSS.getFrame());\n }\n var renderList = scene.getRenderList(camera);\n\n for (var i = 0; i < renderList.opaque.length; i++) {\n var renderable = renderList.opaque[i];\n // PENDING\n if (renderable.renderNormal) {\n renderable.material[ifEnableSSAO ? 'enableTexture' : 'disableTexture']('ssaoMap');\n }\n if (ifEnableSSAO) {\n renderable.material.set('ssaoMap', this._compositor.getSSAOTexture());\n }\n }\n};\n\nViewGL.prototype._updateShadowPCFKernel = function (frame) {\n var pcfKernel = this._pcfKernels[frame % this._pcfKernels.length];\n var renderList = this.scene.getRenderList(this.camera);\n var opaqueList = renderList.opaque;\n for (var i = 0; i < opaqueList.length; i++) {\n if (opaqueList[i].receiveShadow) {\n opaqueList[i].material.set('pcfKernel', pcfKernel);\n opaqueList[i].material.define('fragment', 'PCF_KERNEL_SIZE', pcfKernel.length / 2);\n }\n }\n};\n\nViewGL.prototype.dispose = function (renderer) {\n this._compositor.dispose(renderer.gl);\n this._temporalSS.dispose(renderer.gl);\n this._shadowMapPass.dispose(renderer);\n};\n/**\n * @param {module:echarts/Model} Post effect model\n */\nViewGL.prototype.setPostEffect = function (postEffectModel, api) {\n var compositor = this._compositor;\n this._enablePostEffect = postEffectModel.get('enable');\n var bloomModel = postEffectModel.getModel('bloom');\n var edgeModel = postEffectModel.getModel('edge');\n var dofModel = postEffectModel.getModel('DOF', postEffectModel.getModel('depthOfField'));\n var ssaoModel = postEffectModel.getModel('SSAO', postEffectModel.getModel('screenSpaceAmbientOcclusion'));\n var ssrModel = postEffectModel.getModel('SSR', postEffectModel.getModel('screenSpaceReflection'));\n var fxaaModel = postEffectModel.getModel('FXAA');\n var colorCorrModel = postEffectModel.getModel('colorCorrection');\n bloomModel.get('enable') ? compositor.enableBloom() : compositor.disableBloom();\n dofModel.get('enable') ? compositor.enableDOF() : compositor.disableDOF();\n ssrModel.get('enable') ? compositor.enableSSR() : compositor.disableSSR();\n colorCorrModel.get('enable') ? compositor.enableColorCorrection() : compositor.disableColorCorrection();\n edgeModel.get('enable') ? compositor.enableEdge() : compositor.disableEdge();\n fxaaModel.get('enable') ? compositor.enableFXAA() : compositor.disableFXAA();\n\n this._enableDOF = dofModel.get('enable');\n this._enableSSAO = ssaoModel.get('enable');\n\n this._enableSSAO ? compositor.enableSSAO() : compositor.disableSSAO();\n\n compositor.setBloomIntensity(bloomModel.get('intensity'));\n compositor.setEdgeColor(edgeModel.get('color'));\n compositor.setColorLookupTexture(colorCorrModel.get('lookupTexture'), api);\n compositor.setExposure(colorCorrModel.get('exposure'));\n\n ['radius', 'quality', 'intensity'].forEach(function (name) {\n compositor.setSSAOParameter(name, ssaoModel.get(name));\n });\n ['quality', 'maxRoughness', 'physical'].forEach(function (name) {\n compositor.setSSRParameter(name, ssrModel.get(name));\n });\n ['quality', 'focalDistance', 'focalRange', 'blurRadius', 'fstop'].forEach(function (name) {\n compositor.setDOFParameter(name, dofModel.get(name));\n });\n ['brightness', 'contrast', 'saturation'].forEach(function (name) {\n compositor.setColorCorrection(name, colorCorrModel.get(name));\n });\n\n};\n\nViewGL.prototype.setDOFFocusOnPoint = function (depth) {\n if (this._enablePostEffect) {\n\n if (depth > this.camera.far || depth < this.camera.near) {\n return;\n }\n\n this._compositor.setDOFParameter('focalDistance', depth);\n return true;\n }\n};\n\nViewGL.prototype.setTemporalSuperSampling = function (temporalSuperSamplingModel) {\n this._enableTemporalSS = temporalSuperSamplingModel.get('enable');\n};\n\nViewGL.prototype.isLinearSpace = function () {\n return this._enablePostEffect;\n};\n\nViewGL.prototype.setRootNode = function (rootNode) {\n if (this.rootNode === rootNode) {\n return;\n }\n var children = this.rootNode.children();\n for (var i = 0; i < children.length; i++) {\n rootNode.add(children[i]);\n }\n if (rootNode !== this.scene) {\n this.scene.add(rootNode);\n }\n\n this.rootNode = rootNode;\n};\n// Proxies\nViewGL.prototype.add = function (node3D) {\n this.rootNode.add(node3D);\n};\nViewGL.prototype.remove = function (node3D) {\n this.rootNode.remove(node3D);\n};\nViewGL.prototype.removeAll = function (node3D) {\n this.rootNode.removeAll(node3D);\n};\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.extend(ViewGL.prototype, __WEBPACK_IMPORTED_MODULE_8_claygl_src_core_mixin_notifier__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (ViewGL);\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar guid = 0;\n\nvar ArrayProto = Array.prototype;\nvar nativeForEach = ArrayProto.forEach;\n\n/**\n * Util functions\n * @namespace clay.core.util\n */\nvar util = {\n\n /**\n * Generate GUID\n * @return {number}\n * @memberOf clay.core.util\n */\n genGUID: function () {\n return ++guid;\n },\n /**\n * Relative path to absolute path\n * @param {string} path\n * @param {string} basePath\n * @return {string}\n * @memberOf clay.core.util\n */\n relative2absolute: function (path, basePath) {\n if (!basePath || path.match(/^\\//)) {\n return path;\n }\n var pathParts = path.split('/');\n var basePathParts = basePath.split('/');\n\n var item = pathParts[0];\n while(item === '.' || item === '..') {\n if (item === '..') {\n basePathParts.pop();\n }\n pathParts.shift();\n item = pathParts[0];\n }\n return basePathParts.join('/') + '/' + pathParts.join('/');\n },\n\n /**\n * Extend target with source\n * @param {Object} target\n * @param {Object} source\n * @return {Object}\n * @memberOf clay.core.util\n */\n extend: function (target, source) {\n if (source) {\n for (var name in source) {\n if (source.hasOwnProperty(name)) {\n target[name] = source[name];\n }\n }\n }\n return target;\n },\n\n /**\n * Extend properties to target if not exist.\n * @param {Object} target\n * @param {Object} source\n * @return {Object}\n * @memberOf clay.core.util\n */\n defaults: function (target, source) {\n if (source) {\n for (var propName in source) {\n if (target[propName] === undefined) {\n target[propName] = source[propName];\n }\n }\n }\n return target;\n },\n /**\n * Extend properties with a given property list to avoid for..in.. iteration.\n * @param {Object} target\n * @param {Object} source\n * @param {Array.} propList\n * @return {Object}\n * @memberOf clay.core.util\n */\n extendWithPropList: function (target, source, propList) {\n if (source) {\n for (var i = 0; i < propList.length; i++) {\n var propName = propList[i];\n target[propName] = source[propName];\n }\n }\n return target;\n },\n /**\n * Extend properties to target if not exist. With a given property list avoid for..in.. iteration.\n * @param {Object} target\n * @param {Object} source\n * @param {Array.} propList\n * @return {Object}\n * @memberOf clay.core.util\n */\n defaultsWithPropList: function (target, source, propList) {\n if (source) {\n for (var i = 0; i < propList.length; i++) {\n var propName = propList[i];\n if (target[propName] == null) {\n target[propName] = source[propName];\n }\n }\n }\n return target;\n },\n /**\n * @param {Object|Array} obj\n * @param {Function} iterator\n * @param {Object} [context]\n * @memberOf clay.core.util\n */\n each: function (obj, iterator, context) {\n if (!(obj && iterator)) {\n return;\n }\n if (obj.forEach && obj.forEach === nativeForEach) {\n obj.forEach(iterator, context);\n }\n else if (obj.length === + obj.length) {\n for (var i = 0, len = obj.length; i < len; i++) {\n iterator.call(context, obj[i], i, obj);\n }\n }\n else {\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n iterator.call(context, obj[key], key, obj);\n }\n }\n }\n },\n\n /**\n * Is object\n * @param {} obj\n * @return {boolean}\n * @memberOf clay.core.util\n */\n isObject: function (obj) {\n return obj === Object(obj);\n },\n\n /**\n * Is array ?\n * @param {} obj\n * @return {boolean}\n * @memberOf clay.core.util\n */\n isArray: function (obj) {\n return Array.isArray(obj);\n },\n\n /**\n * Is array like, which have a length property\n * @param {} obj\n * @return {boolean}\n * @memberOf clay.core.util\n */\n isArrayLike: function (obj) {\n if (!obj) {\n return false;\n }\n else {\n return obj.length === + obj.length;\n }\n },\n\n /**\n * @param {} obj\n * @return {}\n * @memberOf clay.core.util\n */\n clone: function (obj) {\n if (!util.isObject(obj)) {\n return obj;\n }\n else if (util.isArray(obj)) {\n return obj.slice();\n }\n else if (util.isArrayLike(obj)) { // is typed array\n var ret = new obj.constructor(obj.length);\n for (var i = 0; i < obj.length; i++) {\n ret[i] = obj[i];\n }\n return ret;\n }\n else {\n return util.extend({}, obj);\n }\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (util);\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Node__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shader__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__shader_source_header_light__ = __webpack_require__(119);\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_1__Shader__[\"a\" /* default */]['import'](__WEBPACK_IMPORTED_MODULE_2__shader_source_header_light__[\"a\" /* default */]);\n\n/**\n * @constructor clay.Light\n * @extends clay.Node\n */\nvar Light = __WEBPACK_IMPORTED_MODULE_0__Node__[\"a\" /* default */].extend(function(){\n return /** @lends clay.Light# */ {\n /**\n * Light RGB color\n * @type {number[]}\n */\n color: [1, 1, 1],\n\n /**\n * Light intensity\n * @type {number}\n */\n intensity: 1.0,\n\n // Config for shadow map\n /**\n * If light cast shadow\n * @type {boolean}\n */\n castShadow: true,\n\n /**\n * Shadow map size\n * @type {number}\n */\n shadowResolution: 512,\n\n /**\n * Light group, shader with same `lightGroup` will be affected\n *\n * Only useful in forward rendering\n * @type {number}\n */\n group: 0\n };\n},\n/** @lends clay.Light.prototype. */\n{\n /**\n * Light type\n * @type {string}\n * @memberOf clay.Light#\n */\n type: '',\n\n /**\n * @return {clay.Light}\n * @memberOf clay.Light.prototype\n */\n clone: function() {\n var light = __WEBPACK_IMPORTED_MODULE_0__Node__[\"a\" /* default */].prototype.clone.call(this);\n light.color = Array.prototype.slice.call(this.color);\n light.intensity = this.intensity;\n light.castShadow = this.castShadow;\n light.shadowResolution = this.shadowResolution;\n\n return light;\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Light);\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__dynamicConvertMixin__ = __webpack_require__(38);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n/**\n * Lines geometry\n * Use screen space projected lines lineWidth > MAX_LINE_WIDTH\n * https://mattdesl.svbtle.com/drawing-lines-is-hard\n * @module echarts-gl/util/geometry/LinesGeometry\n * @author Yi Shen(http://github.com/pissang)\n */\n\n\n\n\n\nvar vec3 = __WEBPACK_IMPORTED_MODULE_3_claygl_src_dep_glmatrix__[\"a\" /* default */].vec3;\n\n// var CURVE_RECURSION_LIMIT = 8;\n// var CURVE_COLLINEAR_EPSILON = 40;\n\nvar sampleLinePoints = [[0, 0], [1, 1]];\n/**\n * @constructor\n * @alias module:echarts-gl/util/geometry/LinesGeometry\n * @extends clay.Geometry\n */\n\nvar LinesGeometry = __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].extend(function () {\n return {\n\n segmentScale: 1,\n\n dynamic: true,\n /**\n * Need to use mesh to expand lines if lineWidth > MAX_LINE_WIDTH\n */\n useNativeLine: true,\n\n attributes: {\n position: new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].Attribute('position', 'float', 3, 'POSITION'),\n positionPrev: new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].Attribute('positionPrev', 'float', 3),\n positionNext: new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].Attribute('positionNext', 'float', 3),\n prevPositionPrev: new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].Attribute('prevPositionPrev', 'float', 3),\n prevPosition: new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].Attribute('prevPosition', 'float', 3),\n prevPositionNext: new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].Attribute('prevPositionNext', 'float', 3),\n offset: new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].Attribute('offset', 'float', 1),\n color: new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].Attribute('color', 'float', 4, 'COLOR')\n }\n };\n},\n/** @lends module: echarts-gl/util/geometry/LinesGeometry.prototype */\n{\n\n /**\n * Reset offset\n */\n resetOffset: function () {\n this._vertexOffset = 0;\n this._triangleOffset = 0;\n\n this._itemVertexOffsets = [];\n },\n\n /**\n * @param {number} nVertex\n */\n setVertexCount: function (nVertex) {\n var attributes = this.attributes;\n if (this.vertexCount !== nVertex) {\n attributes.position.init(nVertex);\n attributes.color.init(nVertex);\n\n if (!this.useNativeLine) {\n attributes.positionPrev.init(nVertex);\n attributes.positionNext.init(nVertex);\n attributes.offset.init(nVertex);\n }\n\n if (nVertex > 0xffff) {\n if (this.indices instanceof Uint16Array) {\n this.indices = new Uint32Array(this.indices);\n }\n }\n else {\n if (this.indices instanceof Uint32Array) {\n this.indices = new Uint16Array(this.indices);\n }\n }\n }\n },\n\n /**\n * @param {number} nTriangle\n */\n setTriangleCount: function (nTriangle) {\n if (this.triangleCount !== nTriangle) {\n if (nTriangle === 0) {\n this.indices = null;\n }\n else {\n this.indices = this.vertexCount > 0xffff ? new Uint32Array(nTriangle * 3) : new Uint16Array(nTriangle * 3);\n }\n }\n },\n\n _getCubicCurveApproxStep: function (p0, p1, p2, p3) {\n var len = vec3.dist(p0, p1) + vec3.dist(p2, p1) + vec3.dist(p3, p2);\n var step = 1 / (len + 1) * this.segmentScale;\n return step;\n },\n\n /**\n * Get vertex count of cubic curve\n * @param {Array.} p0\n * @param {Array.} p1\n * @param {Array.} p2\n * @param {Array.} p3\n * @return number\n */\n getCubicCurveVertexCount: function (p0, p1, p2, p3) {\n var step = this._getCubicCurveApproxStep(p0, p1, p2, p3);\n var segCount = Math.ceil(1 / step);\n if (!this.useNativeLine) {\n return segCount * 2 + 2;\n }\n else {\n return segCount * 2;\n }\n },\n\n /**\n * Get face count of cubic curve\n * @param {Array.} p0\n * @param {Array.} p1\n * @param {Array.} p2\n * @param {Array.} p3\n * @return number\n */\n getCubicCurveTriangleCount: function (p0, p1, p2, p3) {\n var step = this._getCubicCurveApproxStep(p0, p1, p2, p3);\n var segCount = Math.ceil(1 / step);\n if (!this.useNativeLine) {\n return segCount * 2;\n }\n else {\n return 0;\n }\n },\n\n /**\n * Get vertex count of line\n * @return {number}\n */\n getLineVertexCount: function () {\n return this.getPolylineVertexCount(sampleLinePoints);\n },\n\n /**\n * Get face count of line\n * @return {number}\n */\n getLineTriangleCount: function () {\n return this.getPolylineTriangleCount(sampleLinePoints);\n },\n\n /**\n * Get how many vertices will polyline take.\n * @type {number|Array} points Can be a 1d/2d list of points, or a number of points amount.\n * @return {number}\n */\n getPolylineVertexCount: function (points) {\n var pointsLen;\n if (typeof points === 'number') {\n pointsLen = points;\n }\n else {\n var is2DArray = typeof points[0] !== 'number';\n pointsLen = is2DArray ? points.length : (points.length / 3);\n }\n return !this.useNativeLine ? ((pointsLen - 1) * 2 + 2) : (pointsLen - 1) * 2;\n },\n\n /**\n * Get how many triangles will polyline take.\n * @type {number|Array} points Can be a 1d/2d list of points, or a number of points amount.\n * @return {number}\n */\n getPolylineTriangleCount: function (points) {\n var pointsLen;\n if (typeof points === 'number') {\n pointsLen = points;\n }\n else {\n var is2DArray = typeof points[0] !== 'number';\n pointsLen = is2DArray ? points.length : (points.length / 3);\n }\n return !this.useNativeLine ? Math.max(pointsLen - 1, 0) * 2 : 0;\n },\n\n /**\n * Add a cubic curve\n * @param {Array.} p0\n * @param {Array.} p1\n * @param {Array.} p2\n * @param {Array.} p3\n * @param {Array.} color\n * @param {number} [lineWidth=1]\n */\n addCubicCurve: function (p0, p1, p2, p3, color, lineWidth) {\n if (lineWidth == null) {\n lineWidth = 1;\n }\n // incremental interpolation\n // http://antigrain.com/research/bezier_interpolation/index.html#PAGE_BEZIER_INTERPOLATION\n var x0 = p0[0], y0 = p0[1], z0 = p0[2];\n var x1 = p1[0], y1 = p1[1], z1 = p1[2];\n var x2 = p2[0], y2 = p2[1], z2 = p2[2];\n var x3 = p3[0], y3 = p3[1], z3 = p3[2];\n\n var step = this._getCubicCurveApproxStep(p0, p1, p2, p3);\n\n var step2 = step * step;\n var step3 = step2 * step;\n\n var pre1 = 3.0 * step;\n var pre2 = 3.0 * step2;\n var pre4 = 6.0 * step2;\n var pre5 = 6.0 * step3;\n\n var tmp1x = x0 - x1 * 2.0 + x2;\n var tmp1y = y0 - y1 * 2.0 + y2;\n var tmp1z = z0 - z1 * 2.0 + z2;\n\n var tmp2x = (x1 - x2) * 3.0 - x0 + x3;\n var tmp2y = (y1 - y2) * 3.0 - y0 + y3;\n var tmp2z = (z1 - z2) * 3.0 - z0 + z3;\n\n var fx = x0;\n var fy = y0;\n var fz = z0;\n\n var dfx = (x1 - x0) * pre1 + tmp1x * pre2 + tmp2x * step3;\n var dfy = (y1 - y0) * pre1 + tmp1y * pre2 + tmp2y * step3;\n var dfz = (z1 - z0) * pre1 + tmp1z * pre2 + tmp2z * step3;\n\n var ddfx = tmp1x * pre4 + tmp2x * pre5;\n var ddfy = tmp1y * pre4 + tmp2y * pre5;\n var ddfz = tmp1z * pre4 + tmp2z * pre5;\n\n var dddfx = tmp2x * pre5;\n var dddfy = tmp2y * pre5;\n var dddfz = tmp2z * pre5;\n\n var t = 0;\n\n var k = 0;\n var segCount = Math.ceil(1 / step);\n\n var points = new Float32Array((segCount + 1) * 3);\n var points = [];\n var offset = 0;\n for (var k = 0; k < segCount + 1; k++) {\n points[offset++] = fx;\n points[offset++] = fy;\n points[offset++] = fz;\n\n fx += dfx; fy += dfy; fz += dfz;\n dfx += ddfx; dfy += ddfy; dfz += ddfz;\n ddfx += dddfx; ddfy += dddfy; ddfz += dddfz;\n t += step;\n\n if (t > 1) {\n fx = dfx > 0 ? Math.min(fx, x3) : Math.max(fx, x3);\n fy = dfy > 0 ? Math.min(fy, y3) : Math.max(fy, y3);\n fz = dfz > 0 ? Math.min(fz, z3) : Math.max(fz, z3);\n }\n }\n\n return this.addPolyline(points, color, lineWidth);\n },\n\n /**\n * Add a straight line\n * @param {Array.} p0\n * @param {Array.} p1\n * @param {Array.} color\n * @param {number} [lineWidth=1]\n */\n addLine: function (p0, p1, color, lineWidth) {\n return this.addPolyline([p0, p1], color, lineWidth);\n },\n\n /**\n * Add a straight line\n * @param {Array. | Array.} points\n * @param {Array. | Array.} color\n * @param {number} [lineWidth=1]\n * @param {number} [startOffset=0]\n * @param {number} [pointsCount] Default to be amount of points in the first argument\n */\n addPolyline: function (points, color, lineWidth, startOffset, pointsCount) {\n if (!points.length) {\n return;\n }\n var is2DArray = typeof points[0] !== 'number';\n if (pointsCount == null) {\n pointsCount = is2DArray ? points.length : points.length / 3;\n }\n if (pointsCount < 2) {\n return;\n }\n if (startOffset == null) {\n startOffset = 0;\n }\n if (lineWidth == null) {\n lineWidth = 1;\n }\n\n this._itemVertexOffsets.push(this._vertexOffset);\n\n var is2DArray = typeof points[0] !== 'number';\n var notSharingColor = is2DArray\n ? typeof color[0] !== 'number'\n : color.length / 4 === pointsCount;\n\n var positionAttr = this.attributes.position;\n var positionPrevAttr = this.attributes.positionPrev;\n var positionNextAttr = this.attributes.positionNext;\n var colorAttr = this.attributes.color;\n var offsetAttr = this.attributes.offset;\n var indices = this.indices;\n\n var vertexOffset = this._vertexOffset;\n var point;\n var pointColor;\n\n lineWidth = Math.max(lineWidth, 0.01);\n\n for (var k = startOffset; k < pointsCount; k++) {\n if (is2DArray) {\n point = points[k];\n if (notSharingColor) {\n pointColor = color[k];\n }\n else {\n pointColor = color;\n }\n }\n else {\n var k3 = k * 3;\n point = point || [];\n point[0] = points[k3];\n point[1] = points[k3 + 1];\n point[2] = points[k3 + 2];\n\n if (notSharingColor) {\n var k4 = k * 4;\n pointColor = pointColor || [];\n pointColor[0] = color[k4];\n pointColor[1] = color[k4 + 1];\n pointColor[2] = color[k4 + 2];\n pointColor[3] = color[k4 + 3];\n }\n else {\n pointColor = color;\n }\n }\n if (!this.useNativeLine) {\n if (k < pointsCount - 1) {\n // Set to next two points\n positionPrevAttr.set(vertexOffset + 2, point);\n positionPrevAttr.set(vertexOffset + 3, point);\n }\n if (k > 0) {\n // Set to previous two points\n positionNextAttr.set(vertexOffset - 2, point);\n positionNextAttr.set(vertexOffset - 1, point);\n }\n\n positionAttr.set(vertexOffset, point);\n positionAttr.set(vertexOffset + 1, point);\n\n colorAttr.set(vertexOffset, pointColor);\n colorAttr.set(vertexOffset + 1, pointColor);\n\n offsetAttr.set(vertexOffset, lineWidth / 2);\n offsetAttr.set(vertexOffset + 1, -lineWidth / 2);\n\n vertexOffset += 2;\n }\n else {\n if (k > 1) {\n positionAttr.copy(vertexOffset, vertexOffset - 1);\n colorAttr.copy(vertexOffset, vertexOffset - 1);\n vertexOffset++;\n }\n }\n\n if (!this.useNativeLine) {\n if (k > 0) {\n var idx3 = this._triangleOffset * 3;\n var indices = this.indices;\n // 0-----2\n // 1-----3\n // 0->1->2, 1->3->2\n indices[idx3] = vertexOffset - 4;\n indices[idx3 + 1] = vertexOffset - 3;\n indices[idx3 + 2] = vertexOffset - 2;\n\n indices[idx3 + 3] = vertexOffset - 3;\n indices[idx3 + 4] = vertexOffset - 1;\n indices[idx3 + 5] = vertexOffset - 2;\n\n this._triangleOffset += 2;\n }\n }\n else {\n colorAttr.set(vertexOffset, pointColor);\n positionAttr.set(vertexOffset, point);\n vertexOffset++;\n }\n }\n if (!this.useNativeLine) {\n var start = this._vertexOffset;\n var end = this._vertexOffset + pointsCount * 2;\n positionPrevAttr.copy(start, start + 2);\n positionPrevAttr.copy(start + 1, start + 3);\n positionNextAttr.copy(end - 1, end - 3);\n positionNextAttr.copy(end - 2, end - 4);\n }\n\n this._vertexOffset = vertexOffset;\n\n return this._vertexOffset;\n },\n\n /**\n * Set color of single line.\n */\n setItemColor: function (idx, color) {\n var startOffset = this._itemVertexOffsets[idx];\n var endOffset = idx < this._itemVertexOffsets.length - 1 ? this._itemVertexOffsets[idx + 1] : this._vertexOffset;\n\n for (var i = startOffset; i < endOffset; i++) {\n this.attributes.color.set(i, color);\n }\n this.dirty('color');\n },\n\n /**\n * @return {number}\n */\n currentTriangleOffset: function () {\n return this._triangleOffset;\n },\n\n /**\n * @return {number}\n */\n currentVertexOffset: function () {\n return this._vertexOffset;\n }\n});\n\n__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default.a.util.defaults(LinesGeometry.prototype, __WEBPACK_IMPORTED_MODULE_2__dynamicConvertMixin__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (LinesGeometry);\n\n/***/ }),\n/* 26 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__ = __webpack_require__(70);\n\n\n/**\n * @constructor\n * @alias clay.Vector2\n * @param {number} x\n * @param {number} y\n */\nvar Vector2 = function(x, y) {\n\n x = x || 0;\n y = y || 0;\n\n /**\n * Storage of Vector2, read and write of x, y will change the values in array\n * All methods also operate on the array instead of x, y components\n * @name array\n * @type {Float32Array}\n * @memberOf clay.Vector2#\n */\n this.array = __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].fromValues(x, y);\n\n /**\n * Dirty flag is used by the Node to determine\n * if the matrix is updated to latest\n * @name _dirty\n * @type {boolean}\n * @memberOf clay.Vector2#\n */\n this._dirty = true;\n};\n\nVector2.prototype = {\n\n constructor: Vector2,\n\n /**\n * Add b to self\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\n add: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].add(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Set x and y components\n * @param {number} x\n * @param {number} y\n * @return {clay.Vector2}\n */\n set: function(x, y) {\n this.array[0] = x;\n this.array[1] = y;\n this._dirty = true;\n return this;\n },\n\n /**\n * Set x and y components from array\n * @param {Float32Array|number[]} arr\n * @return {clay.Vector2}\n */\n setArray: function(arr) {\n this.array[0] = arr[0];\n this.array[1] = arr[1];\n\n this._dirty = true;\n return this;\n },\n\n /**\n * Clone a new Vector2\n * @return {clay.Vector2}\n */\n clone: function() {\n return new Vector2(this.x, this.y);\n },\n\n /**\n * Copy x, y from b\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\n copy: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].copy(this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Cross product of self and b, written to a Vector3 out\n * @param {clay.Vector3} out\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\n cross: function(out, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].cross(out.array, this.array, b.array);\n out._dirty = true;\n return this;\n },\n\n /**\n * Alias for distance\n * @param {clay.Vector2} b\n * @return {number}\n */\n dist: function(b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].dist(this.array, b.array);\n },\n\n /**\n * Distance between self and b\n * @param {clay.Vector2} b\n * @return {number}\n */\n distance: function(b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].distance(this.array, b.array);\n },\n\n /**\n * Alias for divide\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\n div: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].div(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Divide self by b\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\n divide: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].divide(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Dot product of self and b\n * @param {clay.Vector2} b\n * @return {number}\n */\n dot: function(b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].dot(this.array, b.array);\n },\n\n /**\n * Alias of length\n * @return {number}\n */\n len: function() {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].len(this.array);\n },\n\n /**\n * Calculate the length\n * @return {number}\n */\n length: function() {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].length(this.array);\n },\n\n /**\n * Linear interpolation between a and b\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @param {number} t\n * @return {clay.Vector2}\n */\n lerp: function(a, b, t) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].lerp(this.array, a.array, b.array, t);\n this._dirty = true;\n return this;\n },\n\n /**\n * Minimum of self and b\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\n min: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].min(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Maximum of self and b\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\n max: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].max(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for multiply\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\n mul: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].mul(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Mutiply self and b\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\n multiply: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].multiply(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Negate self\n * @return {clay.Vector2}\n */\n negate: function() {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].negate(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Normalize self\n * @return {clay.Vector2}\n */\n normalize: function() {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].normalize(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Generate random x, y components with a given scale\n * @param {number} scale\n * @return {clay.Vector2}\n */\n random: function(scale) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].random(this.array, scale);\n this._dirty = true;\n return this;\n },\n\n /**\n * Scale self\n * @param {number} scale\n * @return {clay.Vector2}\n */\n scale: function(s) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].scale(this.array, this.array, s);\n this._dirty = true;\n return this;\n },\n\n /**\n * Scale b and add to self\n * @param {clay.Vector2} b\n * @param {number} scale\n * @return {clay.Vector2}\n */\n scaleAndAdd: function(b, s) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].scaleAndAdd(this.array, this.array, b.array, s);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for squaredDistance\n * @param {clay.Vector2} b\n * @return {number}\n */\n sqrDist: function(b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].sqrDist(this.array, b.array);\n },\n\n /**\n * Squared distance between self and b\n * @param {clay.Vector2} b\n * @return {number}\n */\n squaredDistance: function(b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].squaredDistance(this.array, b.array);\n },\n\n /**\n * Alias for squaredLength\n * @return {number}\n */\n sqrLen: function() {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].sqrLen(this.array);\n },\n\n /**\n * Squared length of self\n * @return {number}\n */\n squaredLength: function() {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].squaredLength(this.array);\n },\n\n /**\n * Alias for subtract\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\n sub: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].sub(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Subtract b from self\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\n subtract: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].subtract(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Transform self with a Matrix2 m\n * @param {clay.Matrix2} m\n * @return {clay.Vector2}\n */\n transformMat2: function(m) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].transformMat2(this.array, this.array, m.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Transform self with a Matrix2d m\n * @param {clay.Matrix2d} m\n * @return {clay.Vector2}\n */\n transformMat2d: function(m) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].transformMat2d(this.array, this.array, m.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Transform self with a Matrix3 m\n * @param {clay.Matrix3} m\n * @return {clay.Vector2}\n */\n transformMat3: function(m) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].transformMat3(this.array, this.array, m.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Transform self with a Matrix4 m\n * @param {clay.Matrix4} m\n * @return {clay.Vector2}\n */\n transformMat4: function(m) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].transformMat4(this.array, this.array, m.array);\n this._dirty = true;\n return this;\n },\n\n toString: function() {\n return '[' + Array.prototype.join.call(this.array, ',') + ']';\n },\n\n toArray: function () {\n return Array.prototype.slice.call(this.array);\n }\n};\n\n// Getter and Setter\nif (Object.defineProperty) {\n\n var proto = Vector2.prototype;\n /**\n * @name x\n * @type {number}\n * @memberOf clay.Vector2\n * @instance\n */\n Object.defineProperty(proto, 'x', {\n get: function () {\n return this.array[0];\n },\n set: function (value) {\n this.array[0] = value;\n this._dirty = true;\n }\n });\n\n /**\n * @name y\n * @type {number}\n * @memberOf clay.Vector2\n * @instance\n */\n Object.defineProperty(proto, 'y', {\n get: function () {\n return this.array[1];\n },\n set: function (value) {\n this.array[1] = value;\n this._dirty = true;\n }\n });\n}\n\n// Supply methods that are not in place\n\n/**\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\nVector2.add = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].add(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector2} out\n * @param {number} x\n * @param {number} y\n * @return {clay.Vector2}\n */\nVector2.set = function(out, x, y) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].set(out.array, x, y);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector2} out\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\nVector2.copy = function(out, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].copy(out.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector3} out\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\nVector2.cross = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].cross(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @return {number}\n */\nVector2.dist = function(a, b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].distance(a.array, b.array);\n};\n/**\n * @function\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @return {number}\n */\nVector2.distance = Vector2.dist;\n/**\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\nVector2.div = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].divide(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n/**\n * @function\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\nVector2.divide = Vector2.div;\n/**\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @return {number}\n */\nVector2.dot = function(a, b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].dot(a.array, b.array);\n};\n\n/**\n * @param {clay.Vector2} a\n * @return {number}\n */\nVector2.len = function(b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].length(b.array);\n};\n\n// Vector2.length = Vector2.len;\n\n/**\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @param {number} t\n * @return {clay.Vector2}\n */\nVector2.lerp = function(out, a, b, t) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].lerp(out.array, a.array, b.array, t);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\nVector2.min = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].min(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\nVector2.max = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].max(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\nVector2.mul = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].multiply(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n/**\n * @function\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\nVector2.multiply = Vector2.mul;\n/**\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @return {clay.Vector2}\n */\nVector2.negate = function(out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].negate(out.array, a.array);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @return {clay.Vector2}\n */\nVector2.normalize = function(out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].normalize(out.array, a.array);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector2} out\n * @param {number} scale\n * @return {clay.Vector2}\n */\nVector2.random = function(out, scale) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].random(out.array, scale);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @param {number} scale\n * @return {clay.Vector2}\n */\nVector2.scale = function(out, a, scale) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].scale(out.array, a.array, scale);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @param {number} scale\n * @return {clay.Vector2}\n */\nVector2.scaleAndAdd = function(out, a, b, scale) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].scaleAndAdd(out.array, a.array, b.array, scale);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @return {number}\n */\nVector2.sqrDist = function(a, b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].sqrDist(a.array, b.array);\n};\n/**\n * @function\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @return {number}\n */\nVector2.squaredDistance = Vector2.sqrDist;\n\n/**\n * @param {clay.Vector2} a\n * @return {number}\n */\nVector2.sqrLen = function(a) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].sqrLen(a.array);\n};\n/**\n * @function\n * @param {clay.Vector2} a\n * @return {number}\n */\nVector2.squaredLength = Vector2.sqrLen;\n\n/**\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\nVector2.sub = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].subtract(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n/**\n * @function\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @param {clay.Vector2} b\n * @return {clay.Vector2}\n */\nVector2.subtract = Vector2.sub;\n/**\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @param {clay.Matrix2} m\n * @return {clay.Vector2}\n */\nVector2.transformMat2 = function(out, a, m) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].transformMat2(out.array, a.array, m.array);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @param {clay.Matrix2d} m\n * @return {clay.Vector2}\n */\nVector2.transformMat2d = function(out, a, m) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].transformMat2d(out.array, a.array, m.array);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @param {Matrix3} m\n * @return {clay.Vector2}\n */\nVector2.transformMat3 = function(out, a, m) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].transformMat3(out.array, a.array, m.array);\n out._dirty = true;\n return out;\n};\n/**\n * @param {clay.Vector2} out\n * @param {clay.Vector2} a\n * @param {clay.Matrix4} m\n * @return {clay.Vector2}\n */\nVector2.transformMat4 = function(out, a, m) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec2__[\"a\" /* default */].transformMat4(out.array, a.array, m.array);\n out._dirty = true;\n return out;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Vector2);\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_glenum__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_util__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__math_util__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__core_vendor__ = __webpack_require__(14);\n\n\n\n\n\nvar isPowerOfTwo = __WEBPACK_IMPORTED_MODULE_3__math_util__[\"a\" /* default */].isPowerOfTwo;\n\nvar targetList = ['px', 'nx', 'py', 'ny', 'pz', 'nz'];\n\n/**\n * @constructor clay.TextureCube\n * @extends clay.Texture\n *\n * @example\n * ...\n * var mat = new clay.Material({\n * shader: clay.shader.library.get('clay.phong', 'environmentMap')\n * });\n * var envMap = new clay.TextureCube();\n * envMap.load({\n * 'px': 'assets/textures/sky/px.jpg',\n * 'nx': 'assets/textures/sky/nx.jpg'\n * 'py': 'assets/textures/sky/py.jpg'\n * 'ny': 'assets/textures/sky/ny.jpg'\n * 'pz': 'assets/textures/sky/pz.jpg'\n * 'nz': 'assets/textures/sky/nz.jpg'\n * });\n * mat.set('environmentMap', envMap);\n * ...\n * envMap.success(function () {\n * // Wait for the sky texture loaded\n * animation.on('frame', function (frameTime) {\n * renderer.render(scene, camera);\n * });\n * });\n */\nvar TextureCube = __WEBPACK_IMPORTED_MODULE_0__Texture__[\"a\" /* default */].extend(function () {\n return /** @lends clay.TextureCube# */{\n\n /**\n * @type {boolean}\n * @default false\n */\n // PENDING cubemap should not flipY in default.\n // flipY: false,\n\n /**\n * @type {Object}\n * @property {?HTMLImageElement|HTMLCanvasElemnet} px\n * @property {?HTMLImageElement|HTMLCanvasElemnet} nx\n * @property {?HTMLImageElement|HTMLCanvasElemnet} py\n * @property {?HTMLImageElement|HTMLCanvasElemnet} ny\n * @property {?HTMLImageElement|HTMLCanvasElemnet} pz\n * @property {?HTMLImageElement|HTMLCanvasElemnet} nz\n */\n image: {\n px: null,\n nx: null,\n py: null,\n ny: null,\n pz: null,\n nz: null\n },\n /**\n * Pixels data of each side. Will be ignored if images are set.\n * @type {Object}\n * @property {?Uint8Array} px\n * @property {?Uint8Array} nx\n * @property {?Uint8Array} py\n * @property {?Uint8Array} ny\n * @property {?Uint8Array} pz\n * @property {?Uint8Array} nz\n */\n pixels: {\n px: null,\n nx: null,\n py: null,\n ny: null,\n pz: null,\n nz: null\n },\n\n /**\n * @type {Array.}\n */\n mipmaps: []\n };\n}, {\n\n textureType: 'textureCube',\n\n update: function (renderer) {\n var _gl = renderer.gl;\n _gl.bindTexture(_gl.TEXTURE_CUBE_MAP, this._cache.get('webgl_texture'));\n\n this.updateCommon(renderer);\n\n var glFormat = this.format;\n var glType = this.type;\n\n _gl.texParameteri(_gl.TEXTURE_CUBE_MAP, _gl.TEXTURE_WRAP_S, this.getAvailableWrapS());\n _gl.texParameteri(_gl.TEXTURE_CUBE_MAP, _gl.TEXTURE_WRAP_T, this.getAvailableWrapT());\n\n _gl.texParameteri(_gl.TEXTURE_CUBE_MAP, _gl.TEXTURE_MAG_FILTER, this.getAvailableMagFilter());\n _gl.texParameteri(_gl.TEXTURE_CUBE_MAP, _gl.TEXTURE_MIN_FILTER, this.getAvailableMinFilter());\n\n var anisotropicExt = renderer.getGLExtension('EXT_texture_filter_anisotropic');\n if (anisotropicExt && this.anisotropic > 1) {\n _gl.texParameterf(_gl.TEXTURE_CUBE_MAP, anisotropicExt.TEXTURE_MAX_ANISOTROPY_EXT, this.anisotropic);\n }\n\n // Fallback to float type if browser don't have half float extension\n if (glType === 36193) {\n var halfFloatExt = renderer.getGLExtension('OES_texture_half_float');\n if (!halfFloatExt) {\n glType = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].FLOAT;\n }\n }\n\n if (this.mipmaps.length) {\n var width = this.width;\n var height = this.height;\n for (var i = 0; i < this.mipmaps.length; i++) {\n var mipmap = this.mipmaps[i];\n this._updateTextureData(_gl, mipmap, i, width, height, glFormat, glType);\n width /= 2;\n height /= 2;\n }\n }\n else {\n this._updateTextureData(_gl, this, 0, this.width, this.height, glFormat, glType);\n\n if (!this.NPOT && this.useMipmap) {\n _gl.generateMipmap(_gl.TEXTURE_CUBE_MAP);\n }\n }\n\n _gl.bindTexture(_gl.TEXTURE_CUBE_MAP, null);\n },\n\n _updateTextureData: function (_gl, data, level, width, height, glFormat, glType) {\n for (var i = 0; i < 6; i++) {\n var target = targetList[i];\n var img = data.image && data.image[target];\n if (img) {\n _gl.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, level, glFormat, glFormat, glType, img);\n }\n else {\n _gl.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, level, glFormat, width, height, 0, glFormat, glType, data.pixels && data.pixels[target]);\n }\n }\n },\n\n /**\n * @param {clay.Renderer} renderer\n * @memberOf clay.TextureCube.prototype\n */\n generateMipmap: function (renderer) {\n var _gl = renderer.gl;\n if (this.useMipmap && !this.NPOT) {\n _gl.bindTexture(_gl.TEXTURE_CUBE_MAP, this._cache.get('webgl_texture'));\n _gl.generateMipmap(_gl.TEXTURE_CUBE_MAP);\n }\n },\n\n bind: function (renderer) {\n renderer.gl.bindTexture(renderer.gl.TEXTURE_CUBE_MAP, this.getWebGLTexture(renderer));\n },\n\n unbind: function (renderer) {\n renderer.gl.bindTexture(renderer.gl.TEXTURE_CUBE_MAP, null);\n },\n\n // Overwrite the isPowerOfTwo method\n isPowerOfTwo: function () {\n if (this.image.px) {\n return isPowerOfTwo(this.image.px.width)\n && isPowerOfTwo(this.image.px.height);\n }\n else {\n return isPowerOfTwo(this.width)\n && isPowerOfTwo(this.height);\n }\n },\n\n isRenderable: function () {\n if (this.image.px) {\n return isImageRenderable(this.image.px)\n && isImageRenderable(this.image.nx)\n && isImageRenderable(this.image.py)\n && isImageRenderable(this.image.ny)\n && isImageRenderable(this.image.pz)\n && isImageRenderable(this.image.nz);\n }\n else {\n return !!(this.width && this.height);\n }\n },\n\n load: function (imageList, crossOrigin) {\n var loading = 0;\n var self = this;\n __WEBPACK_IMPORTED_MODULE_2__core_util__[\"a\" /* default */].each(imageList, function (src, target){\n var image = __WEBPACK_IMPORTED_MODULE_4__core_vendor__[\"a\" /* default */].createImage();\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n image.onload = function () {\n loading --;\n if (loading === 0){\n self.dirty();\n self.trigger('success', self);\n }\n image.onload = null;\n };\n image.onerror = function () {\n loading --;\n image.onerror = null;\n };\n\n loading++;\n image.src = src;\n self.image[target] = image;\n });\n\n return this;\n }\n});\n\nObject.defineProperty(TextureCube.prototype, 'width', {\n get: function () {\n if (this.image && this.image.px) {\n return this.image.px.width;\n }\n return this._width;\n },\n set: function (value) {\n if (this.image && this.image.px) {\n console.warn('Texture from image can\\'t set width');\n }\n else {\n if (this._width !== value) {\n this.dirty();\n }\n this._width = value;\n }\n }\n});\nObject.defineProperty(TextureCube.prototype, 'height', {\n get: function () {\n if (this.image && this.image.px) {\n return this.image.px.height;\n }\n return this._height;\n },\n set: function (value) {\n if (this.image && this.image.px) {\n console.warn('Texture from image can\\'t set height');\n }\n else {\n if (this._height !== value) {\n this.dirty();\n }\n this._height = value;\n }\n }\n});\nfunction isImageRenderable(image) {\n return image.nodeName === 'CANVAS' ||\n image.nodeName === 'VIDEO' ||\n image.complete;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (TextureCube);\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n defaultOption: {\n // Post effect\n postEffect: {\n enable: false,\n\n bloom: {\n enable: true,\n intensity: 0.1\n },\n depthOfField: {\n enable: false,\n focalRange: 20,\n focalDistance: 50,\n blurRadius: 10,\n fstop: 2.8,\n quality: 'medium'\n },\n\n screenSpaceAmbientOcclusion: {\n enable: false,\n radius: 2,\n // low, medium, high, ultra\n quality: 'medium',\n intensity: 1\n },\n\n screenSpaceReflection: {\n enable: false,\n quality: 'medium',\n maxRoughness: 0.8\n },\n\n colorCorrection: {\n enable: true,\n\n exposure: 0,\n\n brightness: 0,\n\n contrast: 1,\n\n saturation: 1,\n\n lookupTexture: ''\n },\n\n edge: {\n enable: false\n },\n\n FXAA: {\n enable: false\n }\n },\n\n // Temporal super sampling when the picture is still.\n temporalSuperSampling: {\n // Only enabled when postEffect is enabled\n enable: 'auto'\n }\n }\n});\n\n/***/ }),\n/* 29 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n defaultOption: {\n // Light is available when material.shading is not color\n light: {\n // Main light\n main: {\n shadow: false,\n // low, medium, high, ultra\n shadowQuality: 'high',\n\n color: '#fff',\n intensity: 1,\n\n alpha: 0,\n beta: 0\n },\n ambient: {\n color: '#fff',\n intensity: 0.2\n },\n ambientCubemap: {\n // Panorama environment texture,\n // Support .hdr and commmon web formats.\n texture: null,\n // Available when texture is hdr.\n exposure: 1,\n // Intensity for diffuse term\n diffuseIntensity: 0.5,\n // Intensity for specular term, only available when shading is realastic\n specularIntensity: 0.5\n }\n }\n }\n});\n\n/***/ }),\n/* 30 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_plugin_Skybox__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_echarts_lib_echarts__);\n\n\n\n\nfunction SceneHelper() {\n}\n\nSceneHelper.prototype = {\n constructor: SceneHelper,\n\n setScene: function (scene) {\n this._scene = scene;\n\n if (this._skybox) {\n this._skybox.attachScene(this._scene);\n }\n },\n\n initLight: function (rootNode) {\n this._lightRoot = rootNode;\n /**\n * @type {clay.light.Directional}\n */\n this.mainLight = new __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].DirectionalLight({\n shadowBias: 0.005\n });\n\n /**\n * @type {clay.light.Ambient}\n */\n this.ambientLight = new __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].AmbientLight();\n\n rootNode.add(this.mainLight);\n rootNode.add(this.ambientLight);\n },\n\n dispose: function () {\n if (this._lightRoot) {\n this._lightRoot.remove(this.mainLight);\n this._lightRoot.remove(this.ambientLight);\n }\n },\n\n updateLight: function (componentModel) {\n\n var mainLight = this.mainLight;\n var ambientLight = this.ambientLight;\n\n var lightModel = componentModel.getModel('light');\n var mainLightModel = lightModel.getModel('main');\n var ambientLightModel = lightModel.getModel('ambient');\n\n mainLight.intensity = mainLightModel.get('intensity');\n ambientLight.intensity = ambientLightModel.get('intensity');\n mainLight.color = __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].parseColor(mainLightModel.get('color')).slice(0, 3);\n ambientLight.color = __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].parseColor(ambientLightModel.get('color')).slice(0, 3);\n\n var alpha = mainLightModel.get('alpha') || 0;\n var beta = mainLightModel.get('beta') || 0;\n mainLight.position.setArray(__WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].directionFromAlphaBeta(alpha, beta));\n mainLight.lookAt(__WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].Vector3.ZERO);\n\n mainLight.castShadow = mainLightModel.get('shadow');\n mainLight.shadowResolution = __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].getShadowResolution(mainLightModel.get('shadowQuality'));\n },\n\n updateAmbientCubemap: function (renderer, componentModel, api) {\n var ambientCubemapModel = componentModel.getModel('light.ambientCubemap');\n\n var textureUrl = ambientCubemapModel.get('texture');\n if (textureUrl) {\n this._cubemapLightsCache = this._cubemapLightsCache || {};\n var lights = this._cubemapLightsCache[textureUrl];\n if (!lights) {\n var self = this;\n lights = this._cubemapLightsCache[textureUrl]\n = __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].createAmbientCubemap(ambientCubemapModel.option, renderer, api, function () {\n // Use prefitered cubemap\n if (self._isSkyboxFromAmbientCubemap) {\n self._skybox.setEnvironmentMap(lights.specular.cubemap);\n }\n\n api.getZr().refresh();\n });\n }\n this._lightRoot.add(lights.diffuse);\n this._lightRoot.add(lights.specular);\n\n this._currentCubemapLights = lights;\n }\n else if (this._currentCubemapLights) {\n this._lightRoot.remove(this._currentCubemapLights.diffuse);\n this._lightRoot.remove(this._currentCubemapLights.specular);\n this._currentCubemapLights = null;\n }\n },\n\n updateSkybox: function (renderer, componentModel, api) {\n var environmentUrl = componentModel.get('environment');\n\n var self = this;\n function getSkybox() {\n self._skybox = self._skybox || new __WEBPACK_IMPORTED_MODULE_1_claygl_src_plugin_Skybox__[\"a\" /* default */]();\n return self._skybox;\n }\n\n var skybox = getSkybox();\n if (environmentUrl && environmentUrl !== 'none') {\n if (environmentUrl === 'auto') {\n this._isSkyboxFromAmbientCubemap = true;\n // Use environment in ambient cubemap\n if (this._currentCubemapLights) {\n var cubemap = this._currentCubemapLights.specular.cubemap;\n skybox.setEnvironmentMap(cubemap);\n if (this._scene) {\n skybox.attachScene(this._scene);\n }\n skybox.material.set('lod', 3);\n }\n else if (this._skybox) {\n this._skybox.detachScene();\n }\n }\n // Is gradient or color string\n else if ((typeof environmentUrl === 'object' && environmentUrl.colorStops)\n || (typeof environmentUrl === 'string' && __WEBPACK_IMPORTED_MODULE_2_echarts_lib_echarts___default.a.color.parse(environmentUrl))\n ) {\n this._isSkyboxFromAmbientCubemap = false;\n var texture = new __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].Texture2D({\n anisotropic: 8,\n flipY: false\n });\n skybox.setEnvironmentMap(texture);\n var canvas = texture.image = document.createElement('canvas');\n canvas.width = canvas.height = 16;\n var ctx = canvas.getContext('2d');\n var rect = new __WEBPACK_IMPORTED_MODULE_2_echarts_lib_echarts___default.a.graphic.Rect({\n shape: { x: 0, y: 0, width: 16, height: 16 },\n style: { fill: environmentUrl }\n });\n rect.brush(ctx);\n\n skybox.attachScene(this._scene);\n }\n else {\n this._isSkyboxFromAmbientCubemap = false;\n // Panorama\n var texture = __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].loadTexture(environmentUrl, api, {\n anisotropic: 8,\n flipY: false\n });\n skybox.setEnvironmentMap(texture);\n\n skybox.attachScene(this._scene);\n }\n }\n else {\n if (this._skybox) {\n this._skybox.detachScene(this._scene);\n }\n this._skybox = null;\n }\n\n var coordSys = componentModel.coordinateSystem;\n if (this._skybox) {\n if (coordSys && coordSys.viewGL\n && environmentUrl !== 'auto'\n && !(environmentUrl.match && environmentUrl.match(/.hdr$/))\n ) {\n var srgbDefineMethod = coordSys.viewGL.isLinearSpace() ? 'define' : 'undefine';\n this._skybox.material[srgbDefineMethod]('fragment', 'SRGB_DECODE');\n }\n else {\n this._skybox.material.undefine('fragment', 'SRGB_DECODE');\n }\n // var ambientCubemapUrl = environmentUrl === 'auto'\n // ? componentModel.get('light.ambientCubemap.texture')\n // : environmentUrl;\n }\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (SceneHelper);\n\n/***/ }),\n/* 31 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n defaultOption: {\n shading: null,\n\n realisticMaterial: {\n textureTiling: 1,\n textureOffset: 0,\n\n detailTexture: null\n },\n\n lambertMaterial: {\n textureTiling: 1,\n textureOffset: 0,\n\n detailTexture: null\n },\n\n colorMaterial: {\n textureTiling: 1,\n textureOffset: 0,\n\n detailTexture: null\n },\n\n hatchingMaterial: {\n textureTiling: 1,\n textureOffset: 0,\n\n paperColor: '#fff'\n }\n }\n});\n\n/***/ }),\n/* 32 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n\n\nvar formatUtil = {};\nformatUtil.getFormattedLabel = function (seriesModel, dataIndex, status, dataType, dimIndex) {\n status = status || 'normal';\n var data = seriesModel.getData(dataType);\n var itemModel = data.getItemModel(dataIndex);\n\n var params = seriesModel.getDataParams(dataIndex, dataType);\n if (dimIndex != null && (params.value instanceof Array)) {\n params.value = params.value[dimIndex];\n }\n\n var formatter = itemModel.get(status === 'normal' ? ['label', 'formatter'] : ['emphasis', 'label', 'formatter']);\n if (formatter == null) {\n formatter = itemModel.get(['label', 'formatter']);\n }\n var text;\n if (typeof formatter === 'function') {\n params.status = status;\n text = formatter(params);\n }\n else if (typeof formatter === 'string') {\n text = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.format.formatTpl(formatter, params);\n }\n return text;\n};\n\n/**\n * If value is not array, then convert it to array.\n * @param {*} value\n * @return {Array} [value] or value\n */\nformatUtil.normalizeToArray = function (value) {\n return value instanceof Array\n ? value\n : value == null\n ? []\n : [value];\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (formatUtil);\n\n/***/ }),\n/* 33 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export vec4 */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common__ = __webpack_require__(20);\n\n/* Copyright (c) 2013, Brandon Jones, Colin MacKenzie IV. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */\n\n\n\n/**\n * @class 4 Dimensional Vector\n * @name vec4\n */\n\nvar vec4 = {};\n\n/**\n * Creates a new, empty vec4\n *\n * @returns {vec4} a new 4D vector\n */\nvec4.create = function() {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](4);\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n return out;\n};\n\n/**\n * Creates a new vec4 initialized with values from an existing vector\n *\n * @param {vec4} a vector to clone\n * @returns {vec4} a new 4D vector\n */\nvec4.clone = function(a) {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](4);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n return out;\n};\n\n/**\n * Creates a new vec4 initialized with the given values\n *\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @param {Number} w W component\n * @returns {vec4} a new 4D vector\n */\nvec4.fromValues = function(x, y, z, w) {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](4);\n out[0] = x;\n out[1] = y;\n out[2] = z;\n out[3] = w;\n return out;\n};\n\n/**\n * Copy the values from one vec4 to another\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the source vector\n * @returns {vec4} out\n */\nvec4.copy = function(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n return out;\n};\n\n/**\n * Set the components of a vec4 to the given values\n *\n * @param {vec4} out the receiving vector\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @param {Number} w W component\n * @returns {vec4} out\n */\nvec4.set = function(out, x, y, z, w) {\n out[0] = x;\n out[1] = y;\n out[2] = z;\n out[3] = w;\n return out;\n};\n\n/**\n * Adds two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {vec4} out\n */\nvec4.add = function(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n out[3] = a[3] + b[3];\n return out;\n};\n\n/**\n * Subtracts vector b from vector a\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {vec4} out\n */\nvec4.subtract = function(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n out[3] = a[3] - b[3];\n return out;\n};\n\n/**\n * Alias for {@link vec4.subtract}\n * @function\n */\nvec4.sub = vec4.subtract;\n\n/**\n * Multiplies two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {vec4} out\n */\nvec4.multiply = function(out, a, b) {\n out[0] = a[0] * b[0];\n out[1] = a[1] * b[1];\n out[2] = a[2] * b[2];\n out[3] = a[3] * b[3];\n return out;\n};\n\n/**\n * Alias for {@link vec4.multiply}\n * @function\n */\nvec4.mul = vec4.multiply;\n\n/**\n * Divides two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {vec4} out\n */\nvec4.divide = function(out, a, b) {\n out[0] = a[0] / b[0];\n out[1] = a[1] / b[1];\n out[2] = a[2] / b[2];\n out[3] = a[3] / b[3];\n return out;\n};\n\n/**\n * Alias for {@link vec4.divide}\n * @function\n */\nvec4.div = vec4.divide;\n\n/**\n * Returns the minimum of two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {vec4} out\n */\nvec4.min = function(out, a, b) {\n out[0] = Math.min(a[0], b[0]);\n out[1] = Math.min(a[1], b[1]);\n out[2] = Math.min(a[2], b[2]);\n out[3] = Math.min(a[3], b[3]);\n return out;\n};\n\n/**\n * Returns the maximum of two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {vec4} out\n */\nvec4.max = function(out, a, b) {\n out[0] = Math.max(a[0], b[0]);\n out[1] = Math.max(a[1], b[1]);\n out[2] = Math.max(a[2], b[2]);\n out[3] = Math.max(a[3], b[3]);\n return out;\n};\n\n/**\n * Scales a vec4 by a scalar number\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {vec4} out\n */\nvec4.scale = function(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n out[3] = a[3] * b;\n return out;\n};\n\n/**\n * Adds two vec4's after scaling the second operand by a scalar value\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @param {Number} scale the amount to scale b by before adding\n * @returns {vec4} out\n */\nvec4.scaleAndAdd = function(out, a, b, scale) {\n out[0] = a[0] + (b[0] * scale);\n out[1] = a[1] + (b[1] * scale);\n out[2] = a[2] + (b[2] * scale);\n out[3] = a[3] + (b[3] * scale);\n return out;\n};\n\n/**\n * Calculates the euclidian distance between two vec4's\n *\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {Number} distance between a and b\n */\nvec4.distance = function(a, b) {\n var x = b[0] - a[0],\n y = b[1] - a[1],\n z = b[2] - a[2],\n w = b[3] - a[3];\n return Math.sqrt(x*x + y*y + z*z + w*w);\n};\n\n/**\n * Alias for {@link vec4.distance}\n * @function\n */\nvec4.dist = vec4.distance;\n\n/**\n * Calculates the squared euclidian distance between two vec4's\n *\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {Number} squared distance between a and b\n */\nvec4.squaredDistance = function(a, b) {\n var x = b[0] - a[0],\n y = b[1] - a[1],\n z = b[2] - a[2],\n w = b[3] - a[3];\n return x*x + y*y + z*z + w*w;\n};\n\n/**\n * Alias for {@link vec4.squaredDistance}\n * @function\n */\nvec4.sqrDist = vec4.squaredDistance;\n\n/**\n * Calculates the length of a vec4\n *\n * @param {vec4} a vector to calculate length of\n * @returns {Number} length of a\n */\nvec4.length = function (a) {\n var x = a[0],\n y = a[1],\n z = a[2],\n w = a[3];\n return Math.sqrt(x*x + y*y + z*z + w*w);\n};\n\n/**\n * Alias for {@link vec4.length}\n * @function\n */\nvec4.len = vec4.length;\n\n/**\n * Calculates the squared length of a vec4\n *\n * @param {vec4} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */\nvec4.squaredLength = function (a) {\n var x = a[0],\n y = a[1],\n z = a[2],\n w = a[3];\n return x*x + y*y + z*z + w*w;\n};\n\n/**\n * Alias for {@link vec4.squaredLength}\n * @function\n */\nvec4.sqrLen = vec4.squaredLength;\n\n/**\n * Negates the components of a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a vector to negate\n * @returns {vec4} out\n */\nvec4.negate = function(out, a) {\n out[0] = -a[0];\n out[1] = -a[1];\n out[2] = -a[2];\n out[3] = -a[3];\n return out;\n};\n\n/**\n * Returns the inverse of the components of a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a vector to invert\n * @returns {vec4} out\n */\nvec4.inverse = function(out, a) {\n out[0] = 1.0 / a[0];\n out[1] = 1.0 / a[1];\n out[2] = 1.0 / a[2];\n out[3] = 1.0 / a[3];\n return out;\n};\n\n/**\n * Normalize a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a vector to normalize\n * @returns {vec4} out\n */\nvec4.normalize = function(out, a) {\n var x = a[0],\n y = a[1],\n z = a[2],\n w = a[3];\n var len = x*x + y*y + z*z + w*w;\n if (len > 0) {\n len = 1 / Math.sqrt(len);\n out[0] = a[0] * len;\n out[1] = a[1] * len;\n out[2] = a[2] * len;\n out[3] = a[3] * len;\n }\n return out;\n};\n\n/**\n * Calculates the dot product of two vec4's\n *\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {Number} dot product of a and b\n */\nvec4.dot = function (a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];\n};\n\n/**\n * Performs a linear interpolation between two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @param {Number} t interpolation amount between the two inputs\n * @returns {vec4} out\n */\nvec4.lerp = function (out, a, b, t) {\n var ax = a[0],\n ay = a[1],\n az = a[2],\n aw = a[3];\n out[0] = ax + t * (b[0] - ax);\n out[1] = ay + t * (b[1] - ay);\n out[2] = az + t * (b[2] - az);\n out[3] = aw + t * (b[3] - aw);\n return out;\n};\n\n/**\n * Generates a random vector with the given scale\n *\n * @param {vec4} out the receiving vector\n * @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned\n * @returns {vec4} out\n */\nvec4.random = function (out, scale) {\n scale = scale || 1.0;\n\n //TODO: This is a pretty awful way of doing this. Find something better.\n out[0] = Object(__WEBPACK_IMPORTED_MODULE_0__common__[\"c\" /* GLMAT_RANDOM */])();\n out[1] = Object(__WEBPACK_IMPORTED_MODULE_0__common__[\"c\" /* GLMAT_RANDOM */])();\n out[2] = Object(__WEBPACK_IMPORTED_MODULE_0__common__[\"c\" /* GLMAT_RANDOM */])();\n out[3] = Object(__WEBPACK_IMPORTED_MODULE_0__common__[\"c\" /* GLMAT_RANDOM */])();\n vec4.normalize(out, out);\n vec4.scale(out, out, scale);\n return out;\n};\n\n/**\n * Transforms the vec4 with a mat4.\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the vector to transform\n * @param {mat4} m matrix to transform with\n * @returns {vec4} out\n */\nvec4.transformMat4 = function(out, a, m) {\n var x = a[0], y = a[1], z = a[2], w = a[3];\n out[0] = m[0] * x + m[4] * y + m[8] * z + m[12] * w;\n out[1] = m[1] * x + m[5] * y + m[9] * z + m[13] * w;\n out[2] = m[2] * x + m[6] * y + m[10] * z + m[14] * w;\n out[3] = m[3] * x + m[7] * y + m[11] * z + m[15] * w;\n return out;\n};\n\n/**\n * Transforms the vec4 with a quat\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the vector to transform\n * @param {quat} q quaternion to transform with\n * @returns {vec4} out\n */\nvec4.transformQuat = function(out, a, q) {\n var x = a[0], y = a[1], z = a[2],\n qx = q[0], qy = q[1], qz = q[2], qw = q[3],\n\n // calculate quat * vec\n ix = qw * x + qy * z - qz * y,\n iy = qw * y + qz * x - qx * z,\n iz = qw * z + qx * y - qy * x,\n iw = -qx * x - qy * y - qz * z;\n\n // calculate result * inverse quat\n out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy;\n out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz;\n out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx;\n return out;\n};\n\n/**\n * Perform some operation over an array of vec4s.\n *\n * @param {Array} a the array of vectors to iterate over\n * @param {Number} stride Number of elements between the start of each vec4. If 0 assumes tightly packed\n * @param {Number} offset Number of elements to skip at the beginning of the array\n * @param {Number} count Number of vec4s to iterate over. If 0 iterates over entire array\n * @param {Function} fn Function to call for each vector in the array\n * @param {Object} [arg] additional argument to pass to fn\n * @returns {Array} a\n * @function\n */\nvec4.forEach = (function() {\n var vec = vec4.create();\n\n return function(a, stride, offset, count, fn, arg) {\n var i, l;\n if(!stride) {\n stride = 4;\n }\n\n if(!offset) {\n offset = 0;\n }\n\n if(count) {\n l = Math.min((count * stride) + offset, a.length);\n } else {\n l = a.length;\n }\n\n for(i = offset; i < l; i += stride) {\n vec[0] = a[i]; vec[1] = a[i+1]; vec[2] = a[i+2]; vec[3] = a[i+3];\n fn(vec, vec, arg);\n a[i] = vec[0]; a[i+1] = vec[1]; a[i+2] = vec[2]; a[i+3] = vec[3];\n }\n\n return a;\n };\n})();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (vec4);\n\n/***/ }),\n/* 34 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common__ = __webpack_require__(20);\n\n/* Copyright (c) 2013, Brandon Jones, Colin MacKenzie IV. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */\n\n\n\n/**\n * @class 3x3 Matrix\n * @name mat3\n */\n\nvar mat3 = {};\n\n/**\n * Creates a new identity mat3\n *\n * @returns {mat3} a new 3x3 matrix\n */\nmat3.create = function() {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](9);\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 1;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 1;\n return out;\n};\n\n/**\n * Copies the upper-left 3x3 values into the given mat3.\n *\n * @param {mat3} out the receiving 3x3 matrix\n * @param {mat4} a the source 4x4 matrix\n * @returns {mat3} out\n */\nmat3.fromMat4 = function(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[4];\n out[4] = a[5];\n out[5] = a[6];\n out[6] = a[8];\n out[7] = a[9];\n out[8] = a[10];\n return out;\n};\n\n/**\n * Creates a new mat3 initialized with values from an existing matrix\n *\n * @param {mat3} a matrix to clone\n * @returns {mat3} a new 3x3 matrix\n */\nmat3.clone = function(a) {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](9);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n return out;\n};\n\n/**\n * Copy the values from one mat3 to another\n *\n * @param {mat3} out the receiving matrix\n * @param {mat3} a the source matrix\n * @returns {mat3} out\n */\nmat3.copy = function(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n return out;\n};\n\n/**\n * Set a mat3 to the identity matrix\n *\n * @param {mat3} out the receiving matrix\n * @returns {mat3} out\n */\nmat3.identity = function(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 1;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 1;\n return out;\n};\n\n/**\n * Transpose the values of a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {mat3} a the source matrix\n * @returns {mat3} out\n */\nmat3.transpose = function(out, a) {\n // If we are transposing ourselves we can skip a few steps but have to cache some values\n if (out === a) {\n var a01 = a[1], a02 = a[2], a12 = a[5];\n out[1] = a[3];\n out[2] = a[6];\n out[3] = a01;\n out[5] = a[7];\n out[6] = a02;\n out[7] = a12;\n } else {\n out[0] = a[0];\n out[1] = a[3];\n out[2] = a[6];\n out[3] = a[1];\n out[4] = a[4];\n out[5] = a[7];\n out[6] = a[2];\n out[7] = a[5];\n out[8] = a[8];\n }\n\n return out;\n};\n\n/**\n * Inverts a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {mat3} a the source matrix\n * @returns {mat3} out\n */\nmat3.invert = function(out, a) {\n var a00 = a[0], a01 = a[1], a02 = a[2],\n a10 = a[3], a11 = a[4], a12 = a[5],\n a20 = a[6], a21 = a[7], a22 = a[8],\n\n b01 = a22 * a11 - a12 * a21,\n b11 = -a22 * a10 + a12 * a20,\n b21 = a21 * a10 - a11 * a20,\n\n // Calculate the determinant\n det = a00 * b01 + a01 * b11 + a02 * b21;\n\n if (!det) {\n return null;\n }\n det = 1.0 / det;\n\n out[0] = b01 * det;\n out[1] = (-a22 * a01 + a02 * a21) * det;\n out[2] = (a12 * a01 - a02 * a11) * det;\n out[3] = b11 * det;\n out[4] = (a22 * a00 - a02 * a20) * det;\n out[5] = (-a12 * a00 + a02 * a10) * det;\n out[6] = b21 * det;\n out[7] = (-a21 * a00 + a01 * a20) * det;\n out[8] = (a11 * a00 - a01 * a10) * det;\n return out;\n};\n\n/**\n * Calculates the adjugate of a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {mat3} a the source matrix\n * @returns {mat3} out\n */\nmat3.adjoint = function(out, a) {\n var a00 = a[0], a01 = a[1], a02 = a[2],\n a10 = a[3], a11 = a[4], a12 = a[5],\n a20 = a[6], a21 = a[7], a22 = a[8];\n\n out[0] = (a11 * a22 - a12 * a21);\n out[1] = (a02 * a21 - a01 * a22);\n out[2] = (a01 * a12 - a02 * a11);\n out[3] = (a12 * a20 - a10 * a22);\n out[4] = (a00 * a22 - a02 * a20);\n out[5] = (a02 * a10 - a00 * a12);\n out[6] = (a10 * a21 - a11 * a20);\n out[7] = (a01 * a20 - a00 * a21);\n out[8] = (a00 * a11 - a01 * a10);\n return out;\n};\n\n/**\n * Calculates the determinant of a mat3\n *\n * @param {mat3} a the source matrix\n * @returns {Number} determinant of a\n */\nmat3.determinant = function (a) {\n var a00 = a[0], a01 = a[1], a02 = a[2],\n a10 = a[3], a11 = a[4], a12 = a[5],\n a20 = a[6], a21 = a[7], a22 = a[8];\n\n return a00 * (a22 * a11 - a12 * a21) + a01 * (-a22 * a10 + a12 * a20) + a02 * (a21 * a10 - a11 * a20);\n};\n\n/**\n * Multiplies two mat3's\n *\n * @param {mat3} out the receiving matrix\n * @param {mat3} a the first operand\n * @param {mat3} b the second operand\n * @returns {mat3} out\n */\nmat3.multiply = function (out, a, b) {\n var a00 = a[0], a01 = a[1], a02 = a[2],\n a10 = a[3], a11 = a[4], a12 = a[5],\n a20 = a[6], a21 = a[7], a22 = a[8],\n\n b00 = b[0], b01 = b[1], b02 = b[2],\n b10 = b[3], b11 = b[4], b12 = b[5],\n b20 = b[6], b21 = b[7], b22 = b[8];\n\n out[0] = b00 * a00 + b01 * a10 + b02 * a20;\n out[1] = b00 * a01 + b01 * a11 + b02 * a21;\n out[2] = b00 * a02 + b01 * a12 + b02 * a22;\n\n out[3] = b10 * a00 + b11 * a10 + b12 * a20;\n out[4] = b10 * a01 + b11 * a11 + b12 * a21;\n out[5] = b10 * a02 + b11 * a12 + b12 * a22;\n\n out[6] = b20 * a00 + b21 * a10 + b22 * a20;\n out[7] = b20 * a01 + b21 * a11 + b22 * a21;\n out[8] = b20 * a02 + b21 * a12 + b22 * a22;\n return out;\n};\n\n/**\n * Alias for {@link mat3.multiply}\n * @function\n */\nmat3.mul = mat3.multiply;\n\n/**\n * Translate a mat3 by the given vector\n *\n * @param {mat3} out the receiving matrix\n * @param {mat3} a the matrix to translate\n * @param {vec2} v vector to translate by\n * @returns {mat3} out\n */\nmat3.translate = function(out, a, v) {\n var a00 = a[0], a01 = a[1], a02 = a[2],\n a10 = a[3], a11 = a[4], a12 = a[5],\n a20 = a[6], a21 = a[7], a22 = a[8],\n x = v[0], y = v[1];\n\n out[0] = a00;\n out[1] = a01;\n out[2] = a02;\n\n out[3] = a10;\n out[4] = a11;\n out[5] = a12;\n\n out[6] = x * a00 + y * a10 + a20;\n out[7] = x * a01 + y * a11 + a21;\n out[8] = x * a02 + y * a12 + a22;\n return out;\n};\n\n/**\n * Rotates a mat3 by the given angle\n *\n * @param {mat3} out the receiving matrix\n * @param {mat3} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat3} out\n */\nmat3.rotate = function (out, a, rad) {\n var a00 = a[0], a01 = a[1], a02 = a[2],\n a10 = a[3], a11 = a[4], a12 = a[5],\n a20 = a[6], a21 = a[7], a22 = a[8],\n\n s = Math.sin(rad),\n c = Math.cos(rad);\n\n out[0] = c * a00 + s * a10;\n out[1] = c * a01 + s * a11;\n out[2] = c * a02 + s * a12;\n\n out[3] = c * a10 - s * a00;\n out[4] = c * a11 - s * a01;\n out[5] = c * a12 - s * a02;\n\n out[6] = a20;\n out[7] = a21;\n out[8] = a22;\n return out;\n};\n\n/**\n * Scales the mat3 by the dimensions in the given vec2\n *\n * @param {mat3} out the receiving matrix\n * @param {mat3} a the matrix to rotate\n * @param {vec2} v the vec2 to scale the matrix by\n * @returns {mat3} out\n **/\nmat3.scale = function(out, a, v) {\n var x = v[0], y = v[1];\n\n out[0] = x * a[0];\n out[1] = x * a[1];\n out[2] = x * a[2];\n\n out[3] = y * a[3];\n out[4] = y * a[4];\n out[5] = y * a[5];\n\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n return out;\n};\n\n/**\n * Copies the values from a mat2d into a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {mat2d} a the matrix to copy\n * @returns {mat3} out\n **/\nmat3.fromMat2d = function(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = 0;\n\n out[3] = a[2];\n out[4] = a[3];\n out[5] = 0;\n\n out[6] = a[4];\n out[7] = a[5];\n out[8] = 1;\n return out;\n};\n\n/**\n* Calculates a 3x3 matrix from the given quaternion\n*\n* @param {mat3} out mat3 receiving operation result\n* @param {quat} q Quaternion to create matrix from\n*\n* @returns {mat3} out\n*/\nmat3.fromQuat = function (out, q) {\n var x = q[0], y = q[1], z = q[2], w = q[3],\n x2 = x + x,\n y2 = y + y,\n z2 = z + z,\n\n xx = x * x2,\n yx = y * x2,\n yy = y * y2,\n zx = z * x2,\n zy = z * y2,\n zz = z * z2,\n wx = w * x2,\n wy = w * y2,\n wz = w * z2;\n\n out[0] = 1 - yy - zz;\n out[3] = yx - wz;\n out[6] = zx + wy;\n\n out[1] = yx + wz;\n out[4] = 1 - xx - zz;\n out[7] = zy - wx;\n\n out[2] = zx - wy;\n out[5] = zy + wx;\n out[8] = 1 - xx - yy;\n\n return out;\n};\n\n/**\n* Calculates a 3x3 normal matrix (transpose inverse) from the 4x4 matrix\n*\n* @param {mat3} out mat3 receiving operation result\n* @param {mat4} a Mat4 to derive the normal matrix from\n*\n* @returns {mat3} out\n*/\nmat3.normalFromMat4 = function (out, a) {\n var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3],\n a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7],\n a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11],\n a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15],\n\n b00 = a00 * a11 - a01 * a10,\n b01 = a00 * a12 - a02 * a10,\n b02 = a00 * a13 - a03 * a10,\n b03 = a01 * a12 - a02 * a11,\n b04 = a01 * a13 - a03 * a11,\n b05 = a02 * a13 - a03 * a12,\n b06 = a20 * a31 - a21 * a30,\n b07 = a20 * a32 - a22 * a30,\n b08 = a20 * a33 - a23 * a30,\n b09 = a21 * a32 - a22 * a31,\n b10 = a21 * a33 - a23 * a31,\n b11 = a22 * a33 - a23 * a32,\n\n // Calculate the determinant\n det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\n\n if (!det) {\n return null;\n }\n det = 1.0 / det;\n\n out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det;\n out[1] = (a12 * b08 - a10 * b11 - a13 * b07) * det;\n out[2] = (a10 * b10 - a11 * b08 + a13 * b06) * det;\n\n out[3] = (a02 * b10 - a01 * b11 - a03 * b09) * det;\n out[4] = (a00 * b11 - a02 * b08 + a03 * b07) * det;\n out[5] = (a01 * b08 - a00 * b10 - a03 * b06) * det;\n\n out[6] = (a31 * b05 - a32 * b04 + a33 * b03) * det;\n out[7] = (a32 * b02 - a30 * b05 - a33 * b01) * det;\n out[8] = (a30 * b04 - a31 * b02 + a33 * b00) * det;\n\n return out;\n};\n\n/**\n * Returns Frobenius norm of a mat3\n *\n * @param {mat3} a the matrix to calculate Frobenius norm of\n * @returns {Number} Frobenius norm\n */\nmat3.frob = function (a) {\n return(Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2) + Math.pow(a[3], 2) + Math.pow(a[4], 2) + Math.pow(a[5], 2) + Math.pow(a[6], 2) + Math.pow(a[7], 2) + Math.pow(a[8], 2)))\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (mat3);\n\n/***/ }),\n/* 35 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_Base__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math_Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__math_Quaternion__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__math_Matrix4__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__glmatrix_mat4__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__math_BoundingBox__ = __webpack_require__(18);\n\n\n\n\n\n\n\nvar nameId = 0;\n\n/**\n * @constructor clay.Node\n * @extends clay.core.Base\n */\nvar Node = __WEBPACK_IMPORTED_MODULE_0__core_Base__[\"a\" /* default */].extend(/** @lends clay.Node# */{\n /**\n * Scene node name\n * @type {string}\n */\n name: '',\n\n /**\n * Position relative to its parent node. aka translation.\n * @type {clay.Vector3}\n */\n position: null,\n\n /**\n * Rotation relative to its parent node. Represented by a quaternion\n * @type {clay.Quaternion}\n */\n rotation: null,\n\n /**\n * Scale relative to its parent node\n * @type {clay.Vector3}\n */\n scale: null,\n\n /**\n * Affine transform matrix relative to its root scene.\n * @type {clay.Matrix4}\n */\n worldTransform: null,\n\n /**\n * Affine transform matrix relative to its parent node.\n * Composited with position, rotation and scale.\n * @type {clay.Matrix4}\n */\n localTransform: null,\n\n /**\n * If the local transform is update from SRT(scale, rotation, translation, which is position here) each frame\n * @type {boolean}\n */\n autoUpdateLocalTransform: true,\n\n /**\n * Parent of current scene node\n * @type {?clay.Node}\n * @private\n */\n _parent: null,\n /**\n * The root scene mounted. Null if it is a isolated node\n * @type {?clay.Scene}\n * @private\n */\n _scene: null,\n /**\n * @type {boolean}\n * @private\n */\n _needsUpdateWorldTransform: true,\n /**\n * @type {boolean}\n * @private\n */\n _inIterating: false,\n\n // Depth for transparent list sorting\n __depth: 0\n\n}, function () {\n\n if (!this.name) {\n this.name = (this.type || 'NODE') + '_' + (nameId++);\n }\n\n if (!this.position) {\n this.position = new __WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */]();\n }\n if (!this.rotation) {\n this.rotation = new __WEBPACK_IMPORTED_MODULE_2__math_Quaternion__[\"a\" /* default */]();\n }\n if (!this.scale) {\n this.scale = new __WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */](1, 1, 1);\n }\n\n this.worldTransform = new __WEBPACK_IMPORTED_MODULE_3__math_Matrix4__[\"a\" /* default */]();\n this.localTransform = new __WEBPACK_IMPORTED_MODULE_3__math_Matrix4__[\"a\" /* default */]();\n\n this._children = [];\n\n},\n/**@lends clay.Node.prototype. */\n{\n\n /**\n * @type {?clay.Vector3}\n * @instance\n */\n target: null,\n /**\n * If node and its chilren invisible\n * @type {boolean}\n * @instance\n */\n invisible: false,\n\n /**\n * If Node is a skinned mesh\n * @return {boolean}\n */\n isSkinnedMesh: function () {\n return false;\n },\n /**\n * Return true if it is a renderable scene node, like Mesh and ParticleSystem\n * @return {boolean}\n */\n isRenderable: function () {\n return false;\n },\n\n /**\n * Set the name of the scene node\n * @param {string} name\n */\n setName: function (name) {\n var scene = this._scene;\n if (scene) {\n var nodeRepository = scene._nodeRepository;\n delete nodeRepository[this.name];\n nodeRepository[name] = this;\n }\n this.name = name;\n },\n\n /**\n * Add a child node\n * @param {clay.Node} node\n */\n add: function (node) {\n var originalParent = node._parent;\n if (originalParent === this) {\n return;\n }\n if (originalParent) {\n originalParent.remove(node);\n }\n node._parent = this;\n this._children.push(node);\n\n var scene = this._scene;\n if (scene && scene !== node.scene) {\n node.traverse(this._addSelfToScene, this);\n }\n // Mark children needs update transform\n // In case child are remove and added again after parent moved\n node._needsUpdateWorldTransform = true;\n },\n\n /**\n * Remove the given child scene node\n * @param {clay.Node} node\n */\n remove: function (node) {\n var children = this._children;\n var idx = children.indexOf(node);\n if (idx < 0) {\n return;\n }\n\n children.splice(idx, 1);\n node._parent = null;\n\n if (this._scene) {\n node.traverse(this._removeSelfFromScene, this);\n }\n },\n\n /**\n * Remove all children\n */\n removeAll: function () {\n var children = this._children;\n\n for (var idx = 0; idx < children.length; idx++) {\n children[idx]._parent = null;\n\n if (this._scene) {\n children[idx].traverse(this._removeSelfFromScene, this);\n }\n }\n\n this._children = [];\n },\n\n /**\n * Get the scene mounted\n * @return {clay.Scene}\n */\n getScene: function () {\n return this._scene;\n },\n\n /**\n * Get parent node\n * @return {clay.Scene}\n */\n getParent: function () {\n return this._parent;\n },\n\n _removeSelfFromScene: function (descendant) {\n descendant._scene.removeFromScene(descendant);\n descendant._scene = null;\n },\n\n _addSelfToScene: function (descendant) {\n this._scene.addToScene(descendant);\n descendant._scene = this._scene;\n },\n\n /**\n * Return true if it is ancestor of the given scene node\n * @param {clay.Node} node\n */\n isAncestor: function (node) {\n var parent = node._parent;\n while(parent) {\n if (parent === this) {\n return true;\n }\n parent = parent._parent;\n }\n return false;\n },\n\n /**\n * Get a new created array of all children nodes\n * @return {clay.Node[]}\n */\n children: function () {\n return this._children.slice();\n },\n\n /**\n * Get child scene node at given index.\n * @param {number} idx\n * @return {clay.Node}\n */\n childAt: function (idx) {\n return this._children[idx];\n },\n\n /**\n * Get first child with the given name\n * @param {string} name\n * @return {clay.Node}\n */\n getChildByName: function (name) {\n var children = this._children;\n for (var i = 0; i < children.length; i++) {\n if (children[i].name === name) {\n return children[i];\n }\n }\n },\n\n /**\n * Get first descendant have the given name\n * @param {string} name\n * @return {clay.Node}\n */\n getDescendantByName: function (name) {\n var children = this._children;\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n if (child.name === name) {\n return child;\n } else {\n var res = child.getDescendantByName(name);\n if (res) {\n return res;\n }\n }\n }\n },\n\n /**\n * Query descendant node by path\n * @param {string} path\n * @return {clay.Node}\n * @example\n * node.queryNode('root/parent/child');\n */\n queryNode: function (path) {\n if (!path) {\n return;\n }\n // TODO Name have slash ?\n var pathArr = path.split('/');\n var current = this;\n for (var i = 0; i < pathArr.length; i++) {\n var name = pathArr[i];\n // Skip empty\n if (!name) {\n continue;\n }\n var found = false;\n var children = current._children;\n for (var j = 0; j < children.length; j++) {\n var child = children[j];\n if (child.name === name) {\n current = child;\n found = true;\n break;\n }\n }\n // Early return if not found\n if (!found) {\n return;\n }\n }\n\n return current;\n },\n\n /**\n * Get query path, relative to rootNode(default is scene)\n * @param {clay.Node} [rootNode]\n * @return {string}\n */\n getPath: function (rootNode) {\n if (!this._parent) {\n return '/';\n }\n\n var current = this._parent;\n var path = this.name;\n while (current._parent) {\n path = current.name + '/' + path;\n if (current._parent == rootNode) {\n break;\n }\n current = current._parent;\n }\n if (!current._parent && rootNode) {\n return null;\n }\n return path;\n },\n\n /**\n * Depth first traverse all its descendant scene nodes.\n *\n * **WARN** Don't do `add`, `remove` operation in the callback during traverse.\n * @param {Function} callback\n * @param {Node} [context]\n */\n traverse: function (callback, context) {\n callback.call(context, this);\n var _children = this._children;\n for(var i = 0, len = _children.length; i < len; i++) {\n _children[i].traverse(callback, context);\n }\n },\n\n /**\n * Traverse all children nodes.\n *\n * **WARN** DON'T do `add`, `remove` operation in the callback during iteration.\n *\n * @param {Function} callback\n * @param {Node} [context]\n */\n eachChild: function (callback, context) {\n var _children = this._children;\n for(var i = 0, len = _children.length; i < len; i++) {\n var child = _children[i];\n callback.call(context, child, i);\n }\n },\n\n /**\n * Set the local transform and decompose to SRT\n * @param {clay.Matrix4} matrix\n */\n setLocalTransform: function (matrix) {\n __WEBPACK_IMPORTED_MODULE_4__glmatrix_mat4__[\"a\" /* default */].copy(this.localTransform.array, matrix.array);\n this.decomposeLocalTransform();\n },\n\n /**\n * Decompose the local transform to SRT\n */\n decomposeLocalTransform: function (keepScale) {\n var scale = !keepScale ? this.scale: null;\n this.localTransform.decomposeMatrix(scale, this.rotation, this.position);\n },\n\n /**\n * Set the world transform and decompose to SRT\n * @param {clay.Matrix4} matrix\n */\n setWorldTransform: function (matrix) {\n __WEBPACK_IMPORTED_MODULE_4__glmatrix_mat4__[\"a\" /* default */].copy(this.worldTransform.array, matrix.array);\n this.decomposeWorldTransform();\n },\n\n /**\n * Decompose the world transform to SRT\n * @function\n */\n decomposeWorldTransform: (function () {\n\n var tmp = __WEBPACK_IMPORTED_MODULE_4__glmatrix_mat4__[\"a\" /* default */].create();\n\n return function (keepScale) {\n var localTransform = this.localTransform;\n var worldTransform = this.worldTransform;\n // Assume world transform is updated\n if (this._parent) {\n __WEBPACK_IMPORTED_MODULE_4__glmatrix_mat4__[\"a\" /* default */].invert(tmp, this._parent.worldTransform.array);\n __WEBPACK_IMPORTED_MODULE_4__glmatrix_mat4__[\"a\" /* default */].multiply(localTransform.array, tmp, worldTransform.array);\n } else {\n __WEBPACK_IMPORTED_MODULE_4__glmatrix_mat4__[\"a\" /* default */].copy(localTransform.array, worldTransform.array);\n }\n var scale = !keepScale ? this.scale: null;\n localTransform.decomposeMatrix(scale, this.rotation, this.position);\n };\n })(),\n\n transformNeedsUpdate: function () {\n return this.position._dirty\n || this.rotation._dirty\n || this.scale._dirty;\n },\n\n /**\n * Update local transform from SRT\n * Notice that local transform will not be updated if _dirty mark of position, rotation, scale is all false\n */\n updateLocalTransform: function () {\n var position = this.position;\n var rotation = this.rotation;\n var scale = this.scale;\n\n if (this.transformNeedsUpdate()) {\n var m = this.localTransform.array;\n\n // Transform order, scale->rotation->position\n __WEBPACK_IMPORTED_MODULE_4__glmatrix_mat4__[\"a\" /* default */].fromRotationTranslation(m, rotation.array, position.array);\n\n __WEBPACK_IMPORTED_MODULE_4__glmatrix_mat4__[\"a\" /* default */].scale(m, m, scale.array);\n\n rotation._dirty = false;\n scale._dirty = false;\n position._dirty = false;\n\n this._needsUpdateWorldTransform = true;\n }\n },\n\n /**\n * Update world transform, assume its parent world transform have been updated\n * @private\n */\n _updateWorldTransformTopDown: function () {\n var localTransform = this.localTransform.array;\n var worldTransform = this.worldTransform.array;\n if (this._parent) {\n __WEBPACK_IMPORTED_MODULE_4__glmatrix_mat4__[\"a\" /* default */].multiplyAffine(\n worldTransform,\n this._parent.worldTransform.array,\n localTransform\n );\n }\n else {\n __WEBPACK_IMPORTED_MODULE_4__glmatrix_mat4__[\"a\" /* default */].copy(worldTransform, localTransform);\n }\n },\n\n /**\n * Update world transform before whole scene is updated.\n */\n updateWorldTransform: function () {\n // Find the root node which transform needs update;\n var rootNodeIsDirty = this;\n while (rootNodeIsDirty && rootNodeIsDirty.getParent()\n && rootNodeIsDirty.getParent().transformNeedsUpdate()\n ) {\n rootNodeIsDirty = rootNodeIsDirty.getParent();\n }\n rootNodeIsDirty.update();\n },\n\n /**\n * Update local transform and world transform recursively\n * @param {boolean} forceUpdateWorld\n */\n update: function (forceUpdateWorld) {\n if (this.autoUpdateLocalTransform) {\n this.updateLocalTransform();\n }\n else {\n // Transform is manually setted\n forceUpdateWorld = true;\n }\n\n if (forceUpdateWorld || this._needsUpdateWorldTransform) {\n this._updateWorldTransformTopDown();\n forceUpdateWorld = true;\n this._needsUpdateWorldTransform = false;\n }\n\n var children = this._children;\n for(var i = 0, len = children.length; i < len; i++) {\n children[i].update(forceUpdateWorld);\n }\n },\n\n /**\n * Get bounding box of node\n * @param {Function} [filter]\n * @param {clay.BoundingBox} [out]\n * @return {clay.BoundingBox}\n */\n // TODO Skinning\n getBoundingBox: (function () {\n function defaultFilter (el) {\n return !el.invisible && el.geometry;\n }\n var tmpBBox = new __WEBPACK_IMPORTED_MODULE_5__math_BoundingBox__[\"a\" /* default */]();\n var tmpMat4 = new __WEBPACK_IMPORTED_MODULE_3__math_Matrix4__[\"a\" /* default */]();\n var invWorldTransform = new __WEBPACK_IMPORTED_MODULE_3__math_Matrix4__[\"a\" /* default */]();\n return function (filter, out) {\n out = out || new __WEBPACK_IMPORTED_MODULE_5__math_BoundingBox__[\"a\" /* default */]();\n filter = filter || defaultFilter;\n\n if (this._parent) {\n __WEBPACK_IMPORTED_MODULE_3__math_Matrix4__[\"a\" /* default */].invert(invWorldTransform, this._parent.worldTransform);\n }\n else {\n __WEBPACK_IMPORTED_MODULE_3__math_Matrix4__[\"a\" /* default */].identity(invWorldTransform);\n }\n\n this.traverse(function (mesh) {\n if (mesh.geometry && mesh.geometry.boundingBox) {\n tmpBBox.copy(mesh.geometry.boundingBox);\n __WEBPACK_IMPORTED_MODULE_3__math_Matrix4__[\"a\" /* default */].multiply(tmpMat4, invWorldTransform, mesh.worldTransform);\n tmpBBox.applyTransform(tmpMat4);\n out.union(tmpBBox);\n }\n }, this, defaultFilter);\n\n return out;\n };\n })(),\n\n /**\n * Get world position, extracted from world transform\n * @param {clay.Vector3} [out]\n * @return {clay.Vector3}\n */\n getWorldPosition: function (out) {\n // PENDING\n if (this.transformNeedsUpdate()) {\n this.updateWorldTransform();\n }\n var m = this.worldTransform.array;\n if (out) {\n var arr = out.array;\n arr[0] = m[12];\n arr[1] = m[13];\n arr[2] = m[14];\n return out;\n }\n else {\n return new __WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */](m[12], m[13], m[14]);\n }\n },\n\n /**\n * Clone a new node\n * @return {Node}\n */\n clone: function () {\n var node = new this.constructor();\n\n var children = this._children;\n\n node.setName(this.name);\n node.position.copy(this.position);\n node.rotation.copy(this.rotation);\n node.scale.copy(this.scale);\n\n for (var i = 0; i < children.length; i++) {\n node.add(children[i].clone());\n }\n\n return node;\n },\n\n /**\n * Rotate the node around a axis by angle degrees, axis passes through point\n * @param {clay.Vector3} point Center point\n * @param {clay.Vector3} axis Center axis\n * @param {number} angle Rotation angle\n * @see http://docs.unity3d.com/Documentation/ScriptReference/Transform.RotateAround.html\n * @function\n */\n rotateAround: (function () {\n var v = new __WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */]();\n var RTMatrix = new __WEBPACK_IMPORTED_MODULE_3__math_Matrix4__[\"a\" /* default */]();\n\n // TODO improve performance\n return function (point, axis, angle) {\n\n v.copy(this.position).subtract(point);\n\n var localTransform = this.localTransform;\n localTransform.identity();\n // parent node\n localTransform.translate(point);\n localTransform.rotate(angle, axis);\n\n RTMatrix.fromRotationTranslation(this.rotation, v);\n localTransform.multiply(RTMatrix);\n localTransform.scale(this.scale);\n\n this.decomposeLocalTransform();\n this._needsUpdateWorldTransform = true;\n };\n })(),\n\n /**\n * @param {clay.Vector3} target\n * @param {clay.Vector3} [up]\n * @see http://www.opengl.org/sdk/docs/man2/xhtml/gluLookAt.xml\n * @function\n */\n lookAt: (function () {\n var m = new __WEBPACK_IMPORTED_MODULE_3__math_Matrix4__[\"a\" /* default */]();\n return function (target, up) {\n m.lookAt(this.position, target, up || this.localTransform.y).invert();\n this.setLocalTransform(m);\n\n this.target = target;\n };\n })()\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Node);\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Node__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Light__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Camera__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__math_BoundingBox__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__core_util__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__glmatrix_mat4__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__core_LRU__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__math_Matrix4__ = __webpack_require__(9);\n\n\n\n\n\n\n\n\n\nvar IDENTITY = __WEBPACK_IMPORTED_MODULE_5__glmatrix_mat4__[\"a\" /* default */].create();\nvar WORLDVIEW = __WEBPACK_IMPORTED_MODULE_5__glmatrix_mat4__[\"a\" /* default */].create();\n\nvar programKeyCache = {};\n\nfunction getProgramKey(lightNumbers) {\n var defineStr = [];\n var lightTypes = Object.keys(lightNumbers);\n lightTypes.sort();\n for (var i = 0; i < lightTypes.length; i++) {\n var lightType = lightTypes[i];\n defineStr.push(lightType + ' ' + lightNumbers[lightType]);\n }\n var key = defineStr.join('\\n');\n\n if (programKeyCache[key]) {\n return programKeyCache[key];\n }\n\n var id = __WEBPACK_IMPORTED_MODULE_4__core_util__[\"a\" /* default */].genGUID();\n programKeyCache[key] = id;\n return id;\n}\n\nfunction RenderList() {\n\n this.opaque = [];\n this.transparent = [];\n\n this._opaqueCount = 0;\n this._transparentCount = 0;\n}\n\nRenderList.prototype.startCount = function () {\n this._opaqueCount = 0;\n this._transparentCount = 0;\n};\n\nRenderList.prototype.add = function (object, isTransparent) {\n if (isTransparent) {\n this.transparent[this._transparentCount++] = object;\n }\n else {\n this.opaque[this._opaqueCount++] = object;\n }\n};\n\nRenderList.prototype.endCount = function () {\n this.transparent.length = this._transparentCount;\n this.opaque.length = this._opaqueCount;\n};\n\n/**\n * @typedef {Object} clay.Scene.RenderList\n * @property {Array.} opaque\n * @property {Array.} transparent\n */\n\n/**\n * @constructor clay.Scene\n * @extends clay.Node\n */\nvar Scene = __WEBPACK_IMPORTED_MODULE_0__Node__[\"a\" /* default */].extend(function () {\n return /** @lends clay.Scene# */ {\n /**\n * Global material of scene\n * @type {clay.Material}\n */\n material: null,\n\n lights: [],\n\n /**\n * Scene bounding box in view space.\n * Used when camera needs to adujst the near and far plane automatically\n * so that the view frustum contains the visible objects as tightly as possible.\n * Notice:\n * It is updated after rendering (in the step of frustum culling passingly). So may be not so accurate, but saves a lot of calculation\n *\n * @type {clay.BoundingBox}\n */\n viewBoundingBoxLastFrame: new __WEBPACK_IMPORTED_MODULE_3__math_BoundingBox__[\"a\" /* default */](),\n\n // Uniforms for shadow map.\n shadowUniforms: {},\n\n _cameraList: [],\n\n // Properties to save the light information in the scene\n // Will be set in the render function\n _lightUniforms: {},\n\n _previousLightNumber: {},\n\n _lightNumber: {\n // groupId: {\n // POINT_LIGHT: 0,\n // DIRECTIONAL_LIGHT: 0,\n // SPOT_LIGHT: 0,\n // AMBIENT_LIGHT: 0,\n // AMBIENT_SH_LIGHT: 0\n // }\n },\n\n _lightProgramKeys: {},\n\n _nodeRepository: {},\n\n _renderLists: new __WEBPACK_IMPORTED_MODULE_6__core_LRU__[\"a\" /* default */](20)\n\n };\n}, function () {\n this._scene = this;\n},\n/** @lends clay.Scene.prototype. */\n{\n\n // Add node to scene\n addToScene: function (node) {\n if (node instanceof __WEBPACK_IMPORTED_MODULE_2__Camera__[\"a\" /* default */]) {\n if (this._cameraList.length > 0) {\n console.warn('Found multiple camera in one scene. Use the fist one.');\n }\n this._cameraList.push(node);\n }\n else if (node instanceof __WEBPACK_IMPORTED_MODULE_1__Light__[\"a\" /* default */]) {\n this.lights.push(node);\n }\n if (node.name) {\n this._nodeRepository[node.name] = node;\n }\n },\n\n // Remove node from scene\n removeFromScene: function (node) {\n var idx;\n if (node instanceof __WEBPACK_IMPORTED_MODULE_2__Camera__[\"a\" /* default */]) {\n idx = this._cameraList.indexOf(node);\n if (idx >= 0) {\n this._cameraList.splice(idx, 1);\n }\n }\n else if (node instanceof __WEBPACK_IMPORTED_MODULE_1__Light__[\"a\" /* default */]) {\n idx = this.lights.indexOf(node);\n if (idx >= 0) {\n this.lights.splice(idx, 1);\n }\n }\n if (node.name) {\n delete this._nodeRepository[node.name];\n }\n },\n\n /**\n * Get node by name\n * @param {string} name\n * @return {Node}\n * @DEPRECATED\n */\n getNode: function (name) {\n return this._nodeRepository[name];\n },\n\n /**\n * Set main camera of the scene.\n * @param {claygl.Camera} camera\n */\n setMainCamera: function (camera) {\n var idx = this._cameraList.indexOf(camera);\n if (idx >= 0) {\n this._cameraList.splice(idx, 1);\n }\n this._cameraList.unshift(camera);\n },\n /**\n * Get main camera of the scene.\n */\n getMainCamera: function () {\n return this._cameraList[0];\n },\n\n getLights: function () {\n return this.lights;\n },\n\n updateLights: function () {\n var lights = this.lights;\n this._previousLightNumber = this._lightNumber;\n\n var lightNumber = {};\n for (var i = 0; i < lights.length; i++) {\n var light = lights[i];\n if (light.invisible) {\n continue;\n }\n var group = light.group;\n if (!lightNumber[group]) {\n lightNumber[group] = {};\n }\n // User can use any type of light\n lightNumber[group][light.type] = lightNumber[group][light.type] || 0;\n lightNumber[group][light.type]++;\n }\n this._lightNumber = lightNumber;\n\n for (var groupId in lightNumber) {\n this._lightProgramKeys[groupId] = getProgramKey(lightNumber[groupId]);\n }\n\n this._updateLightUniforms();\n },\n\n /**\n * Clone a node and it's children, including mesh, camera, light, etc.\n * Unlike using `Node#clone`. It will clone skeleton and remap the joints. Material will also be cloned.\n *\n * @param {clay.Node} node\n * @return {clay.Node}\n */\n cloneNode: function (node) {\n var newNode = node.clone();\n var clonedNodesMap = {};\n function buildNodesMap(sNode, tNode) {\n clonedNodesMap[sNode.__uid__] = tNode;\n\n for (var i = 0; i < sNode._children.length; i++) {\n var sChild = sNode._children[i];\n var tChild = tNode._children[i];\n buildNodesMap(sChild, tChild);\n }\n }\n buildNodesMap(node, newNode);\n\n newNode.traverse(function (newChild) {\n if (newChild.skeleton) {\n newChild.skeleton = newChild.skeleton.clone(clonedNodesMap);\n }\n if (newChild.material) {\n newChild.material = newChild.material.clone();\n }\n });\n\n return newNode;\n },\n\n /**\n * Traverse the scene and add the renderable object to the render list.\n * It needs camera for the frustum culling.\n *\n * @param {clay.Camera} camera\n * @param {boolean} updateSceneBoundingBox\n * @return {clay.Scene.RenderList}\n */\n updateRenderList: function (camera, updateSceneBoundingBox) {\n var id = camera.__uid__;\n var renderList = this._renderLists.get(id);\n if (!renderList) {\n renderList = new RenderList();\n this._renderLists.put(id, renderList);\n }\n renderList.startCount();\n\n if (updateSceneBoundingBox) {\n this.viewBoundingBoxLastFrame.min.set(Infinity, Infinity, Infinity);\n this.viewBoundingBoxLastFrame.max.set(-Infinity, -Infinity, -Infinity);\n }\n\n var sceneMaterialTransparent = this.material && this.material.transparent || false;\n this._doUpdateRenderList(this, camera, sceneMaterialTransparent, renderList, updateSceneBoundingBox);\n\n renderList.endCount();\n\n return renderList;\n },\n\n /**\n * Get render list. Used after {@link clay.Scene#updateRenderList}\n * @param {clay.Camera} camera\n * @return {clay.Scene.RenderList}\n */\n getRenderList: function (camera) {\n return this._renderLists.get(camera.__uid__);\n },\n\n _doUpdateRenderList: function (parent, camera, sceneMaterialTransparent, renderList, updateSceneBoundingBox) {\n if (parent.invisible) {\n return;\n }\n // TODO Optimize\n for (var i = 0; i < parent._children.length; i++) {\n var child = parent._children[i];\n\n if (child.isRenderable()) {\n // Frustum culling\n var worldM = child.isSkinnedMesh() ? IDENTITY : child.worldTransform.array;\n var geometry = child.geometry;\n\n __WEBPACK_IMPORTED_MODULE_5__glmatrix_mat4__[\"a\" /* default */].multiplyAffine(WORLDVIEW, camera.viewMatrix.array, worldM);\n if (updateSceneBoundingBox && !geometry.boundingBox || !this.isFrustumCulled(child, camera, WORLDVIEW)) {\n renderList.add(child, child.material.transparent || sceneMaterialTransparent);\n }\n }\n if (child._children.length > 0) {\n this._doUpdateRenderList(child, camera, sceneMaterialTransparent, renderList, updateSceneBoundingBox);\n }\n }\n },\n\n /**\n * If an scene object is culled by camera frustum\n *\n * Object can be a renderable or a light\n *\n * @param {clay.Node} object\n * @param {clay.Camera} camera\n * @param {Array.} worldViewMat represented with array\n * @param {Array.} projectionMat represented with array\n */\n isFrustumCulled: (function () {\n // Frustum culling\n // http://www.cse.chalmers.se/~uffe/vfc_bbox.pdf\n var cullingBoundingBox = new __WEBPACK_IMPORTED_MODULE_3__math_BoundingBox__[\"a\" /* default */]();\n var cullingMatrix = new __WEBPACK_IMPORTED_MODULE_7__math_Matrix4__[\"a\" /* default */]();\n return function(object, camera, worldViewMat) {\n // Bounding box can be a property of object(like light) or renderable.geometry\n // PENDING\n var geoBBox = object.boundingBox;\n if (!geoBBox) {\n if (object.skeleton && object.skeleton.boundingBox) {\n geoBBox = object.skeleton.boundingBox;\n }\n else {\n geoBBox = object.geometry.boundingBox;\n }\n }\n\n if (!geoBBox) {\n return false;\n }\n\n cullingMatrix.array = worldViewMat;\n cullingBoundingBox.transformFrom(geoBBox, cullingMatrix);\n\n // Passingly update the scene bounding box\n // FIXME exclude very large mesh like ground plane or terrain ?\n // FIXME Only rendererable which cast shadow ?\n\n // FIXME boundingBox becomes much larger after transformd.\n if (object.castShadow) {\n this.viewBoundingBoxLastFrame.union(cullingBoundingBox);\n }\n // Ignore frustum culling if object is skinned mesh.\n if (object.frustumCulling) {\n if (!cullingBoundingBox.intersectBoundingBox(camera.frustum.boundingBox)) {\n return true;\n }\n\n cullingMatrix.array = camera.projectionMatrix.array;\n if (\n cullingBoundingBox.max.array[2] > 0 &&\n cullingBoundingBox.min.array[2] < 0\n ) {\n // Clip in the near plane\n cullingBoundingBox.max.array[2] = -1e-20;\n }\n\n cullingBoundingBox.applyProjection(cullingMatrix);\n\n var min = cullingBoundingBox.min.array;\n var max = cullingBoundingBox.max.array;\n\n if (\n max[0] < -1 || min[0] > 1\n || max[1] < -1 || min[1] > 1\n || max[2] < -1 || min[2] > 1\n ) {\n return true;\n }\n }\n\n return false;\n };\n })(),\n\n _updateLightUniforms: function () {\n var lights = this.lights;\n // Put the light cast shadow before the light not cast shadow\n lights.sort(lightSortFunc);\n\n var lightUniforms = this._lightUniforms;\n for (var group in lightUniforms) {\n for (var symbol in lightUniforms[group]) {\n lightUniforms[group][symbol].value.length = 0;\n }\n }\n for (var i = 0; i < lights.length; i++) {\n\n var light = lights[i];\n\n if (light.invisible) {\n continue;\n }\n\n var group = light.group;\n\n for (var symbol in light.uniformTemplates) {\n var uniformTpl = light.uniformTemplates[symbol];\n var value = uniformTpl.value(light);\n if (value == null) {\n continue;\n }\n if (!lightUniforms[group]) {\n lightUniforms[group] = {};\n }\n if (!lightUniforms[group][symbol]) {\n lightUniforms[group][symbol] = {\n type: '',\n value: []\n };\n }\n var lu = lightUniforms[group][symbol];\n lu.type = uniformTpl.type + 'v';\n switch (uniformTpl.type) {\n case '1i':\n case '1f':\n case 't':\n lu.value.push(value);\n break;\n case '2f':\n case '3f':\n case '4f':\n for (var j = 0; j < value.length; j++) {\n lu.value.push(value[j]);\n }\n break;\n default:\n console.error('Unkown light uniform type ' + uniformTpl.type);\n }\n }\n }\n },\n\n getLightGroups: function () {\n var lightGroups = [];\n for (var groupId in this._lightNumber) {\n lightGroups.push(groupId);\n }\n return lightGroups;\n },\n\n getNumberChangedLightGroups: function () {\n var lightGroups = [];\n for (var groupId in this._lightNumber) {\n if (this.isLightNumberChanged(groupId)) {\n lightGroups.push(groupId);\n }\n }\n return lightGroups;\n },\n\n // Determine if light group is different with since last frame\n // Used to determine whether to update shader and scene's uniforms in Renderer.render\n isLightNumberChanged: function (lightGroup) {\n var prevLightNumber = this._previousLightNumber;\n var currentLightNumber = this._lightNumber;\n // PENDING Performance\n for (var type in currentLightNumber[lightGroup]) {\n if (!prevLightNumber[lightGroup]) {\n return true;\n }\n if (currentLightNumber[lightGroup][type] !== prevLightNumber[lightGroup][type]) {\n return true;\n }\n }\n for (var type in prevLightNumber[lightGroup]) {\n if (!currentLightNumber[lightGroup]) {\n return true;\n }\n if (currentLightNumber[lightGroup][type] !== prevLightNumber[lightGroup][type]) {\n return true;\n }\n }\n return false;\n },\n\n getLightsNumbers: function (lightGroup) {\n return this._lightNumber[lightGroup];\n },\n\n getProgramKey: function (lightGroup) {\n return this._lightProgramKeys[lightGroup];\n },\n\n setLightUniforms: (function () {\n function setUniforms(uniforms, program, renderer) {\n for (var symbol in uniforms) {\n var lu = uniforms[symbol];\n if (lu.type === 'tv') {\n if (!program.hasUniform(symbol)) {\n continue;\n }\n var texSlots = [];\n for (var i = 0; i < lu.value.length; i++) {\n var texture = lu.value[i];\n var slot = program.takeCurrentTextureSlot(renderer, texture);\n texSlots.push(slot);\n }\n program.setUniform(renderer.gl, '1iv', symbol, texSlots);\n }\n else {\n program.setUniform(renderer.gl, lu.type, symbol, lu.value);\n }\n }\n }\n\n return function (program, lightGroup, renderer) {\n setUniforms(this._lightUniforms[lightGroup], program, renderer);\n // Set shadows\n setUniforms(this.shadowUniforms, program, renderer);\n };\n })(),\n\n /**\n * Dispose self, clear all the scene objects\n * But resources of gl like texuture, shader will not be disposed.\n * Mostly you should use disposeScene method in Renderer to do dispose.\n */\n dispose: function () {\n this.material = null;\n this._opaqueList = [];\n this._transparentList = [];\n\n this.lights = [];\n\n this._lightUniforms = {};\n\n this._lightNumber = {};\n this._nodeRepository = {};\n }\n});\n\nfunction lightSortFunc(a, b) {\n if (b.castShadow && !a.castShadow) {\n return true;\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Scene);\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Camera__ = __webpack_require__(58);\n\n/**\n * @constructor clay.camera.Orthographic\n * @extends clay.Camera\n */\nvar Orthographic = __WEBPACK_IMPORTED_MODULE_0__Camera__[\"a\" /* default */].extend(\n/** @lends clay.camera.Orthographic# */\n{\n /**\n * @type {number}\n */\n left: -1,\n /**\n * @type {number}\n */\n right: 1,\n /**\n * @type {number}\n */\n near: -1,\n /**\n * @type {number}\n */\n far: 1,\n /**\n * @type {number}\n */\n top: 1,\n /**\n * @type {number}\n */\n bottom: -1\n},\n/** @lends clay.camera.Orthographic.prototype */\n{\n\n updateProjectionMatrix: function() {\n this.projectionMatrix.ortho(this.left, this.right, this.bottom, this.top, this.near, this.far);\n },\n\n decomposeProjectionMatrix: function () {\n var m = this.projectionMatrix.array;\n this.left = (-1 - m[12]) / m[0];\n this.right = (1 - m[12]) / m[0];\n this.top = (1 - m[13]) / m[5];\n this.bottom = (-1 - m[13]) / m[5];\n this.near = -(-1 - m[14]) / m[10];\n this.far = -(1 - m[14]) / m[10];\n },\n /**\n * @return {clay.camera.Orthographic}\n */\n clone: function() {\n var camera = __WEBPACK_IMPORTED_MODULE_0__Camera__[\"a\" /* default */].prototype.clone.call(this);\n camera.left = this.left;\n camera.right = this.right;\n camera.near = this.near;\n camera.far = this.far;\n camera.top = this.top;\n camera.bottom = this.bottom;\n\n return camera;\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Orthographic);\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n convertToDynamicArray: function (clear) {\n if (clear) {\n this.resetOffset();\n }\n var attributes = this.attributes;\n for (var name in attributes) {\n if (clear || !attributes[name].value) {\n attributes[name].value = [];\n }\n else {\n attributes[name].value = Array.prototype.slice.call(attributes[name].value);\n }\n }\n if (clear || !this.indices) {\n this.indices = [];\n }\n else {\n this.indices = Array.prototype.slice.call(this.indices);\n }\n },\n\n convertToTypedArray: function () {\n var attributes = this.attributes;\n for (var name in attributes) {\n if (attributes[name].value && attributes[name].value.length > 0) {\n attributes[name].value = new Float32Array(attributes[name].value);\n }\n else {\n attributes[name].value = null;\n }\n }\n if (this.indices && this.indices.length > 0) {\n this.indices = this.vertexCount > 0xffff ? new Uint32Array(this.indices) : new Uint16Array(this.indices);\n }\n\n this.dirty();\n }\n});\n\n/***/ }),\n/* 39 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n\n\nfunction otherDimToDataDim (data, otherDim) {\n var dataDim = [];\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.each(data.dimensions, function (dimName) {\n var dimItem = data.getDimensionInfo(dimName);\n var otherDims = dimItem.otherDims;\n var dimIndex = otherDims[otherDim];\n if (dimIndex != null && dimIndex !== false) {\n dataDim[dimIndex] = dimItem.name;\n }\n });\n return dataDim;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function (seriesModel, dataIndex, multipleSeries) {\n function formatArrayValue(value) {\n var vertially = true;\n\n var result = [];\n var tooltipDims = otherDimToDataDim(data, 'tooltip');\n\n tooltipDims.length\n ? __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.each(tooltipDims, function (dimIdx) {\n setEachItem(data.get(dimIdx, dataIndex), dimIdx);\n })\n // By default, all dims is used on tooltip.\n : __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.each(value, setEachItem);\n\n function setEachItem(val, dimIdx) {\n var dimInfo = data.getDimensionInfo(dimIdx);\n // If `dimInfo.tooltip` is not set, show tooltip.\n if (!dimInfo || dimInfo.otherDims.tooltip === false) {\n return;\n }\n var dimType = dimInfo.type;\n var valStr = (vertially ? '- ' + (dimInfo.tooltipName || dimInfo.name) + ': ' : '')\n + (dimType === 'ordinal'\n ? val + ''\n : dimType === 'time'\n ? (multipleSeries ? '' : __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.format.formatTime('yyyy/MM/dd hh:mm:ss', val))\n : __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.format.addCommas(val)\n );\n valStr && result.push(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.format.encodeHTML(valStr));\n }\n\n return (vertially ? '
' : '') + result.join(vertially ? '
' : ', ');\n }\n\n var data = seriesModel.getData();\n\n var value = seriesModel.getRawValue(dataIndex);\n var formattedValue = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.isArray(value)\n ? formatArrayValue(value) : __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.format.encodeHTML(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.format.addCommas(value));\n var name = data.getName(dataIndex);\n\n var color = data.getItemVisual(dataIndex, 'color');\n if (__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.isObject(color) && color.colorStops) {\n color = (color.colorStops[0] || {}).color;\n }\n color = color || 'transparent';\n\n var colorEl = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.format.getTooltipMarker(color);\n\n var seriesName = seriesModel.name;\n // FIXME\n if (seriesName === '\\0-') {\n // Not show '-'\n seriesName = '';\n }\n seriesName = seriesName\n ? __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.format.encodeHTML(seriesName) + (!multipleSeries ? '
' : ': ')\n : '';\n return !multipleSeries\n ? seriesName + colorEl\n + (name\n ? __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.format.encodeHTML(name) + ': ' + formattedValue\n : formattedValue\n )\n : colorEl + seriesName + formattedValue;\n});;\n\n/***/ }),\n/* 40 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Renderable__ = __webpack_require__(72);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_glenum__ = __webpack_require__(11);\n\n\n\n/**\n * @constructor clay.Mesh\n * @extends clay.Renderable\n */\nvar Mesh = __WEBPACK_IMPORTED_MODULE_0__Renderable__[\"a\" /* default */].extend(/** @lends clay.Mesh# */ {\n /**\n * Used when it is a skinned mesh\n * @type {clay.Skeleton}\n */\n skeleton: null,\n /**\n * Joints indices Meshes can share the one skeleton instance and each mesh can use one part of joints. Joints indices indicate the index of joint in the skeleton instance\n * @type {number[]}\n */\n joints: null,\n\n /**\n * If store the skin matrices in vertex texture\n * @type {bool}\n */\n useSkinMatricesTexture: false\n\n}, function () {\n if (!this.joints) {\n this.joints = [];\n }\n}, {\n\n isSkinnedMesh: function () {\n return !!(this.skeleton && this.joints && this.joints.length > 0);\n },\n\n clone: function () {\n var mesh = __WEBPACK_IMPORTED_MODULE_0__Renderable__[\"a\" /* default */].prototype.clone.call(this);\n mesh.skeleton = this.skeleton;\n if (this.joints) {\n mesh.joints = this.joints.slice();\n }\n return mesh;\n }\n});\n\n// Enums\nMesh.POINTS = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].POINTS;\nMesh.LINES = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINES;\nMesh.LINE_LOOP = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINE_LOOP;\nMesh.LINE_STRIP = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINE_STRIP;\nMesh.TRIANGLES = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].TRIANGLES;\nMesh.TRIANGLE_STRIP = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].TRIANGLE_STRIP;\nMesh.TRIANGLE_FAN = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].TRIANGLE_FAN;\n\nMesh.BACK = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].BACK;\nMesh.FRONT = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].FRONT;\nMesh.FRONT_AND_BACK = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].FRONT_AND_BACK;\nMesh.CW = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].CW;\nMesh.CCW = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].CCW;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Mesh);\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Camera__ = __webpack_require__(58);\n\n\n/**\n * @constructor clay.camera.Perspective\n * @extends clay.Camera\n */\nvar Perspective = __WEBPACK_IMPORTED_MODULE_0__Camera__[\"a\" /* default */].extend(/** @lends clay.camera.Perspective# */{\n /**\n * Vertical field of view in degrees\n * @type {number}\n */\n fov: 50,\n /**\n * Aspect ratio, typically viewport width / height\n * @type {number}\n */\n aspect: 1,\n /**\n * Near bound of the frustum\n * @type {number}\n */\n near: 0.1,\n /**\n * Far bound of the frustum\n * @type {number}\n */\n far: 2000\n},\n/** @lends clay.camera.Perspective.prototype */\n{\n\n updateProjectionMatrix: function() {\n var rad = this.fov / 180 * Math.PI;\n this.projectionMatrix.perspective(rad, this.aspect, this.near, this.far);\n },\n decomposeProjectionMatrix: function () {\n var m = this.projectionMatrix.array;\n var rad = Math.atan(1 / m[5]) * 2;\n this.fov = rad / Math.PI * 180;\n this.aspect = m[5] / m[0];\n this.near = m[14] / (m[10] - 1);\n this.far = m[14] / (m[10] + 1);\n },\n /**\n * @return {clay.camera.Perspective}\n */\n clone: function() {\n var camera = __WEBPACK_IMPORTED_MODULE_0__Camera__[\"a\" /* default */].prototype.clone.call(this);\n camera.fov = this.fov;\n camera.aspect = this.aspect;\n camera.near = this.near;\n camera.far = this.far;\n\n return camera;\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Perspective);\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Mesh__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__geometry_Cube__ = __webpack_require__(76);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Shader__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Material__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__shader_source_skybox_glsl_js__ = __webpack_require__(121);\n// TODO Should not derived from mesh?\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_2__Shader__[\"a\" /* default */].import(__WEBPACK_IMPORTED_MODULE_5__shader_source_skybox_glsl_js__[\"a\" /* default */]);\n/**\n * @constructor clay.plugin.Skybox\n *\n * @example\n * var skyTex = new clay.TextureCube();\n * skyTex.load({\n * 'px': 'assets/textures/sky/px.jpg',\n * 'nx': 'assets/textures/sky/nx.jpg'\n * 'py': 'assets/textures/sky/py.jpg'\n * 'ny': 'assets/textures/sky/ny.jpg'\n * 'pz': 'assets/textures/sky/pz.jpg'\n * 'nz': 'assets/textures/sky/nz.jpg'\n * });\n * var skybox = new clay.plugin.Skybox({\n * scene: scene\n * });\n * skybox.material.set('environmentMap', skyTex);\n */\nvar Skybox = __WEBPACK_IMPORTED_MODULE_0__Mesh__[\"a\" /* default */].extend(function () {\n\n var skyboxShader = new __WEBPACK_IMPORTED_MODULE_2__Shader__[\"a\" /* default */]({\n vertex: __WEBPACK_IMPORTED_MODULE_2__Shader__[\"a\" /* default */].source('clay.skybox.vertex'),\n fragment: __WEBPACK_IMPORTED_MODULE_2__Shader__[\"a\" /* default */].source('clay.skybox.fragment')\n });\n var material = new __WEBPACK_IMPORTED_MODULE_3__Material__[\"a\" /* default */]({\n shader: skyboxShader,\n depthMask: false\n });\n\n return {\n /**\n * @type {clay.Scene}\n * @memberOf clay.plugin.Skybox.prototype\n */\n scene: null,\n\n geometry: new __WEBPACK_IMPORTED_MODULE_1__geometry_Cube__[\"a\" /* default */](),\n\n material: material,\n\n environmentMap: null,\n\n culling: false\n };\n}, function () {\n var scene = this.scene;\n if (scene) {\n this.attachScene(scene);\n }\n if (this.environmentMap) {\n this.setEnvironmentMap(this.environmentMap);\n }\n}, /** @lends clay.plugin.Skybox# */ {\n /**\n * Attach the skybox to the scene\n * @param {clay.Scene} scene\n */\n attachScene: function (scene) {\n if (this.scene) {\n this.detachScene();\n }\n scene.skybox = this;\n\n this.scene = scene;\n scene.on('beforerender', this._beforeRenderScene, this);\n },\n /**\n * Detach from scene\n */\n detachScene: function () {\n if (this.scene) {\n this.scene.off('beforerender', this._beforeRenderScene);\n this.scene.skybox = null;\n }\n this.scene = null;\n },\n\n /**\n * Dispose skybox\n * @param {clay.Renderer} renderer\n */\n dispose: function (renderer) {\n this.detachScene();\n this.geometry.dispose(renderer);\n },\n /**\n * Set environment map\n * @param {clay.TextureCube} envMap\n */\n setEnvironmentMap: function (envMap) {\n if (envMap.textureType === 'texture2D') {\n this.material.define('EQUIRECTANGULAR');\n // LINEAR filter can remove the artifacts in pole\n envMap.minFilter = __WEBPACK_IMPORTED_MODULE_4__Texture__[\"a\" /* default */].LINEAR;\n }\n else {\n this.material.undefine('EQUIRECTANGULAR');\n }\n this.material.set('environmentMap', envMap);\n },\n /**\n * Get environment map\n * @return {clay.TextureCube}\n */\n getEnvironmentMap: function () {\n return this.material.get('environmentMap');\n },\n\n _beforeRenderScene: function(renderer, scene, camera) {\n this.renderSkybox(renderer, camera);\n },\n\n renderSkybox: function (renderer, camera) {\n this.position.copy(camera.getWorldPosition());\n this.update();\n // Don't remember to disable blend\n renderer.gl.disable(renderer.gl.BLEND);\n if (this.material.get('lod') > 0) {\n this.material.define('fragment', 'LOD');\n }\n else {\n this.material.undefine('fragment', 'LOD');\n }\n renderer.renderPass([this], camera);\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Skybox);\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Geometry__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math_BoundingBox__ = __webpack_require__(18);\n\n\n\n/**\n * @constructor clay.geometry.Plane\n * @extends clay.Geometry\n * @param {Object} [opt]\n * @param {number} [opt.widthSegments]\n * @param {number} [opt.heightSegments]\n */\nvar Plane = __WEBPACK_IMPORTED_MODULE_0__Geometry__[\"a\" /* default */].extend(\n/** @lends clay.geometry.Plane# */\n{\n dynamic: false,\n /**\n * @type {number}\n */\n widthSegments: 1,\n /**\n * @type {number}\n */\n heightSegments: 1\n}, function() {\n this.build();\n},\n/** @lends clay.geometry.Plane.prototype */\n{\n /**\n * Build plane geometry\n */\n build: function() {\n var heightSegments = this.heightSegments;\n var widthSegments = this.widthSegments;\n var attributes = this.attributes;\n var positions = [];\n var texcoords = [];\n var normals = [];\n var faces = [];\n\n for (var y = 0; y <= heightSegments; y++) {\n var t = y / heightSegments;\n for (var x = 0; x <= widthSegments; x++) {\n var s = x / widthSegments;\n\n positions.push([2 * s - 1, 2 * t - 1, 0]);\n if (texcoords) {\n texcoords.push([s, t]);\n }\n if (normals) {\n normals.push([0, 0, 1]);\n }\n if (x < widthSegments && y < heightSegments) {\n var i = x + y * (widthSegments + 1);\n faces.push([i, i + 1, i + widthSegments + 1]);\n faces.push([i + widthSegments + 1, i + 1, i + widthSegments + 2]);\n }\n }\n }\n\n attributes.position.fromArray(positions);\n attributes.texcoord0.fromArray(texcoords);\n attributes.normal.fromArray(normals);\n\n this.initIndicesFromArray(faces);\n\n this.boundingBox = new __WEBPACK_IMPORTED_MODULE_1__math_BoundingBox__[\"a\" /* default */]();\n this.boundingBox.min.set(-1, -1, 0);\n this.boundingBox.max.set(1, 1, 0);\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Plane);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n defaultOption: {\n\n viewControl: {\n // perspective, orthographic.\n // TODO Isometric\n projection: 'perspective',\n // If rotate on on init\n autoRotate: false,\n // cw or ccw\n autoRotateDirection: 'cw',\n // Degree per second\n autoRotateSpeed: 10,\n\n // Start rotating after still for a given time\n // default is 3 seconds\n autoRotateAfterStill: 3,\n\n // Rotate, zoom damping.\n damping: 0.8,\n // Sensitivities for operations.\n // Can be array to set x,y respectively\n rotateSensitivity: 1,\n zoomSensitivity: 1,\n // Can be array to set x,y respectively\n panSensitivity: 1,\n // Which mouse button do rotate or pan\n panMouseButton: 'middle',\n rotateMouseButton: 'left',\n\n // Distance to the target\n // Only available when camera is perspective.\n distance: 150,\n // Min distance mouse can zoom in\n minDistance: 40,\n // Max distance mouse can zoom out\n maxDistance: 400,\n\n // Size of viewing volume.\n // Only available when camera is orthographic\n orthographicSize: 150,\n maxOrthographicSize: 400,\n minOrthographicSize: 20,\n\n // Center view point\n center: [0, 0, 0],\n // Alpha angle for top-down rotation\n // Positive to rotate to top.\n alpha: 0,\n // beta angle for left-right rotation\n // Positive to rotate to right.\n beta: 0,\n\n minAlpha: -90,\n maxAlpha: 90\n\n // minBeta: -Infinity\n // maxBeta: -Infinity\n }\n },\n\n setView: function (opts) {\n opts = opts || {};\n this.option.viewControl = this.option.viewControl || {};\n if (opts.alpha != null) {\n this.option.viewControl.alpha = opts.alpha;\n }\n if (opts.beta != null) {\n this.option.viewControl.beta = opts.beta;\n }\n if (opts.distance != null) {\n this.option.viewControl.distance = opts.distance;\n }\n if (opts.center != null) {\n this.option.viewControl.center = opts.center;\n }\n }\n});\n\n/***/ }),\n/* 45 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_core_Base__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector2__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_claygl_src_math_Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_math_Quaternion__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__retrieve__ = __webpack_require__(2);\n/**\n * Provide orbit control for 3D objects\n *\n * @module echarts-gl/util/OrbitControl\n * @author Yi Shen(http://github.com/pissang)\n */\n\n// TODO Remove magic numbers on sensitivity\n\n\n\n\n\nvar firstNotNull = __WEBPACK_IMPORTED_MODULE_4__retrieve__[\"a\" /* default */].firstNotNull;\n\n\nvar MOUSE_BUTTON_KEY_MAP = {\n left: 0,\n middle: 1,\n right: 2\n};\n\nfunction convertToArray(val) {\n if (!(val instanceof Array)) {\n val = [val, val];\n }\n return val;\n}\n\n/**\n * @alias module:echarts-x/util/OrbitControl\n */\nvar OrbitControl = __WEBPACK_IMPORTED_MODULE_0_claygl_src_core_Base__[\"a\" /* default */].extend(function () {\n\n return {\n /**\n * @type {module:zrender~ZRender}\n */\n zr: null,\n\n /**\n * @type {module:echarts-gl/core/ViewGL}\n */\n viewGL: null,\n\n /**\n * @type {clay.math.Vector3}\n */\n _center: new __WEBPACK_IMPORTED_MODULE_2_claygl_src_math_Vector3__[\"a\" /* default */](),\n\n /**\n * Minimum distance to the center\n * Only available when camera is perspective.\n * @type {number}\n * @default 0.5\n */\n minDistance: 0.5,\n\n /**\n * Maximum distance to the center\n * Only available when camera is perspective.\n * @type {number}\n * @default 2\n */\n maxDistance: 1.5,\n\n /**\n * Only available when camera is orthographic\n */\n maxOrthographicSize: 300,\n\n /**\n * Only available when camera is orthographic\n */\n minOrthographicSize: 30,\n\n /**\n * Minimum alpha rotation\n */\n minAlpha: -90,\n\n /**\n * Maximum alpha rotation\n */\n maxAlpha: 90,\n\n /**\n * Minimum beta rotation\n */\n minBeta: -Infinity,\n /**\n * Maximum beta rotation\n */\n maxBeta: Infinity,\n\n /**\n * Start auto rotating after still for the given time\n */\n autoRotateAfterStill: 0,\n\n /**\n * Direction of autoRotate. cw or ccw when looking top down.\n */\n autoRotateDirection: 'cw',\n\n /**\n * Degree per second\n */\n autoRotateSpeed: 60,\n\n /**\n * @param {number}\n */\n damping: 0.8,\n\n /**\n * @param {number}\n */\n rotateSensitivity: 1,\n\n /**\n * @param {number}\n */\n zoomSensitivity: 1,\n\n /**\n * @param {number}\n */\n panSensitivity: 1,\n\n panMouseButton: 'middle',\n rotateMouseButton: 'left',\n\n /**\n * Pan or rotate\n * @private\n * @type {String}\n */\n _mode: 'rotate',\n\n /**\n * @private\n * @type {clay.Camera}\n */\n _camera: null,\n\n _needsUpdate: false,\n\n _rotating: false,\n\n // Rotation around yAxis in radian\n _phi: 0,\n // Rotation around xAxis in radian\n _theta: 0,\n\n _mouseX: 0,\n _mouseY: 0,\n\n _rotateVelocity: new __WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector2__[\"a\" /* default */](),\n\n _panVelocity: new __WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector2__[\"a\" /* default */](),\n\n _distance: 500,\n\n _zoomSpeed: 0,\n\n _stillTimeout: 0,\n\n _animators: []\n };\n}, function () {\n // Each OrbitControl has it's own handler\n ['_mouseDownHandler', '_mouseWheelHandler', '_mouseMoveHandler', '_mouseUpHandler',\n '_pinchHandler', '_contextMenuHandler', '_update'].forEach(function (hdlName) {\n this[hdlName] = this[hdlName].bind(this);\n }, this);\n}, {\n /**\n * Initialize.\n * Mouse event binding\n */\n init: function () {\n var zr = this.zr;\n\n if (zr) {\n zr.on('mousedown', this._mouseDownHandler);\n zr.on('globalout', this._mouseUpHandler);\n zr.on('mousewheel', this._mouseWheelHandler);\n zr.on('pinch', this._pinchHandler);\n\n zr.animation.on('frame', this._update);\n\n zr.dom.addEventListener('contextmenu', this._contextMenuHandler);\n }\n },\n\n /**\n * Dispose.\n * Mouse event unbinding\n */\n dispose: function () {\n var zr = this.zr;\n\n if (zr) {\n zr.off('mousedown', this._mouseDownHandler);\n zr.off('mousemove', this._mouseMoveHandler);\n zr.off('mouseup', this._mouseUpHandler);\n zr.off('mousewheel', this._mouseWheelHandler);\n zr.off('pinch', this._pinchHandler);\n zr.off('globalout', this._mouseUpHandler);\n zr.dom.removeEventListener('contextmenu', this._contextMenuHandler);\n\n zr.animation.off('frame', this._update);\n }\n this.stopAllAnimation();\n },\n\n /**\n * Get distance\n * @return {number}\n */\n getDistance: function () {\n return this._distance;\n },\n\n /**\n * Set distance\n * @param {number} distance\n */\n setDistance: function (distance) {\n this._distance = distance;\n this._needsUpdate = true;\n },\n\n /**\n * Get size of orthographic viewing volume\n * @return {number}\n */\n getOrthographicSize: function () {\n return this._orthoSize;\n },\n\n /**\n * Set size of orthographic viewing volume\n * @param {number} size\n */\n setOrthographicSize: function (size) {\n this._orthoSize = size;\n this._needsUpdate = true;\n },\n\n /**\n * Get alpha rotation\n * Alpha angle for top-down rotation. Positive to rotate to top.\n *\n * Which means camera rotation around x axis.\n */\n getAlpha: function () {\n return this._theta / Math.PI * 180;\n },\n\n /**\n * Get beta rotation\n * Beta angle for left-right rotation. Positive to rotate to right.\n *\n * Which means camera rotation around y axis.\n */\n getBeta: function () {\n return -this._phi / Math.PI * 180;\n },\n\n /**\n * Get control center\n * @return {Array.}\n */\n getCenter: function () {\n return this._center.toArray();\n },\n\n /**\n * Set alpha rotation angle\n * @param {number} alpha\n */\n setAlpha: function (alpha) {\n alpha = Math.max(Math.min(this.maxAlpha, alpha), this.minAlpha);\n\n this._theta = alpha / 180 * Math.PI;\n this._needsUpdate = true;\n },\n\n /**\n * Set beta rotation angle\n * @param {number} beta\n */\n setBeta: function (beta) {\n beta = Math.max(Math.min(this.maxBeta, beta), this.minBeta);\n\n this._phi = -beta / 180 * Math.PI;\n this._needsUpdate = true;\n },\n\n /**\n * Set control center\n * @param {Array.} center\n */\n setCenter: function (centerArr) {\n this._center.setArray(centerArr);\n },\n\n /**\n * @param {module:echarts-gl/core/ViewGL} viewGL\n */\n setViewGL: function (viewGL) {\n this.viewGL = viewGL;\n },\n\n /**\n * @return {clay.Camera}\n */\n getCamera: function () {\n return this.viewGL.camera;\n },\n\n setFromViewControlModel: function (viewControlModel, extraOpts) {\n extraOpts = extraOpts || {};\n var baseDistance = extraOpts.baseDistance || 0;\n var baseOrthoSize = extraOpts.baseOrthoSize || 1;\n\n var projection = viewControlModel.get('projection');\n if (projection !== 'perspective' && projection !== 'orthographic' && projection !== 'isometric') {\n if (true) {\n console.error('Unkown projection type %s, use perspective projection instead.', projection);\n }\n projection = 'perspective';\n }\n this._projection = projection;\n this.viewGL.setProjection(projection);\n\n var targetDistance = viewControlModel.get('distance') + baseDistance;\n var targetOrthographicSize = viewControlModel.get('orthographicSize') + baseOrthoSize;\n\n [\n ['damping', 0.8],\n ['autoRotate', false],\n ['autoRotateAfterStill', 3],\n ['autoRotateDirection', 'cw'],\n ['autoRotateSpeed', 10],\n ['minDistance', 30],\n ['maxDistance', 400],\n ['minOrthographicSize', 30],\n ['maxOrthographicSize', 300],\n ['minAlpha', -90],\n ['maxAlpha', 90],\n ['minBeta', -Infinity],\n ['maxBeta', Infinity],\n ['rotateSensitivity', 1],\n ['zoomSensitivity', 1],\n ['panSensitivity', 1],\n ['panMouseButton', 'left'],\n ['rotateMouseButton', 'middle'],\n ].forEach(function (prop) {\n this[prop[0]] = firstNotNull(viewControlModel.get(prop[0]), prop[1]);\n }, this);\n\n this.minDistance += baseDistance;\n this.maxDistance += baseDistance;\n this.minOrthographicSize += baseOrthoSize,\n this.maxOrthographicSize += baseOrthoSize;\n\n var ecModel = viewControlModel.ecModel;\n\n var animationOpts = {};\n ['animation', 'animationDurationUpdate', 'animationEasingUpdate'].forEach(function (key) {\n animationOpts[key] = firstNotNull(\n viewControlModel.get(key), ecModel && ecModel.get(key)\n );\n });\n\n var alpha = firstNotNull(extraOpts.alpha, viewControlModel.get('alpha')) || 0;\n var beta = firstNotNull(extraOpts.beta, viewControlModel.get('beta')) || 0;\n var center = firstNotNull(extraOpts.center, viewControlModel.get('center')) || [0, 0, 0];\n if (animationOpts.animation && animationOpts.animationDurationUpdate > 0 && this._notFirst) {\n this.animateTo({\n alpha: alpha,\n beta: beta,\n center: center,\n distance: targetDistance,\n targetOrthographicSize: targetOrthographicSize,\n easing: animationOpts.animationEasingUpdate,\n duration: animationOpts.animationDurationUpdate\n });\n }\n else {\n this.setDistance(targetDistance);\n this.setAlpha(alpha);\n this.setBeta(beta);\n this.setCenter(center);\n this.setOrthographicSize(targetOrthographicSize);\n }\n\n this._notFirst = true;\n\n this._validateProperties();\n },\n\n _validateProperties: function () {\n if (true) {\n if (MOUSE_BUTTON_KEY_MAP[this.panMouseButton] == null) {\n console.error('Unkown panMouseButton %s. It should be left|middle|right', this.panMouseButton);\n }\n if (MOUSE_BUTTON_KEY_MAP[this.rotateMouseButton] == null) {\n console.error('Unkown rotateMouseButton %s. It should be left|middle|right', this.rotateMouseButton);\n }\n if (this.autoRotateDirection !== 'cw' && this.autoRotateDirection !== 'ccw') {\n console.error('Unkown autoRotateDirection %s. It should be cw|ccw', this.autoRotateDirection);\n }\n }\n },\n\n /**\n * @param {Object} opts\n * @param {number} opts.distance\n * @param {number} opts.alpha\n * @param {number} opts.beta\n * @param {number} opts.orthographicSize\n * @param {number} [opts.duration=1000]\n * @param {number} [opts.easing='linear']\n */\n animateTo: function (opts) {\n var zr = this.zr;\n var self = this;\n\n var obj = {};\n var target = {};\n\n if (opts.distance != null) {\n obj.distance = this.getDistance();\n target.distance = opts.distance;\n }\n if (opts.orthographicSize != null) {\n obj.orthographicSize = this.getOrthographicSize();\n target.orthographicSize = opts.orthographicSize;\n }\n if (opts.alpha != null) {\n obj.alpha = this.getAlpha();\n target.alpha = opts.alpha;\n }\n if (opts.beta != null) {\n obj.beta = this.getBeta();\n target.beta = opts.beta;\n }\n if (opts.center != null) {\n obj.center = this.getCenter();\n target.center = opts.center;\n }\n\n return this._addAnimator(\n zr.animation.animate(obj)\n .when(opts.duration || 1000, target)\n .during(function () {\n if (obj.alpha != null) {\n self.setAlpha(obj.alpha);\n }\n if (obj.beta != null) {\n self.setBeta(obj.beta);\n }\n if (obj.distance != null) {\n self.setDistance(obj.distance);\n }\n if (obj.center != null) {\n self.setCenter(obj.center);\n }\n if (obj.orthographicSize != null) {\n self.setOrthographicSize(obj.orthographicSize);\n }\n self._needsUpdate = true;\n })\n ).start(opts.easing || 'linear');\n },\n\n /**\n * Stop all animation\n */\n stopAllAnimation: function () {\n for (var i = 0; i < this._animators.length; i++) {\n this._animators[i].stop();\n }\n this._animators.length = 0;\n },\n\n update: function () {\n this._needsUpdate = true;\n this._update(20);\n },\n\n _isAnimating: function () {\n return this._animators.length > 0;\n },\n /**\n * Call update each frame\n * @param {number} deltaTime Frame time\n */\n _update: function (deltaTime) {\n\n if (this._rotating) {\n var radian = (this.autoRotateDirection === 'cw' ? 1 : -1)\n * this.autoRotateSpeed / 180 * Math.PI;\n this._phi -= radian * deltaTime / 1000;\n this._needsUpdate = true;\n }\n else if (this._rotateVelocity.len() > 0) {\n this._needsUpdate = true;\n }\n\n if (Math.abs(this._zoomSpeed) > 0.1 || this._panVelocity.len() > 0) {\n this._needsUpdate = true;\n }\n\n if (!this._needsUpdate) {\n return;\n }\n\n deltaTime = Math.min(deltaTime, 50);\n\n this._updateDistanceOrSize(deltaTime);\n\n this._updatePan(deltaTime);\n\n this._updateRotate(deltaTime);\n\n this._updateTransform();\n\n this.getCamera().update();\n\n this.zr && this.zr.refresh();\n\n this.trigger('update');\n\n this._needsUpdate = false;\n },\n\n _updateRotate: function (deltaTime) {\n var velocity = this._rotateVelocity;\n this._phi = velocity.y * deltaTime / 20 + this._phi;\n this._theta = velocity.x * deltaTime / 20 + this._theta;\n\n this.setAlpha(this.getAlpha());\n this.setBeta(this.getBeta());\n\n this._vectorDamping(velocity, Math.pow(this.damping, deltaTime / 16));\n },\n\n _updateDistanceOrSize: function (deltaTime) {\n if (this._projection === 'perspective') {\n this._setDistance(this._distance + this._zoomSpeed * deltaTime / 20);\n }\n else {\n this._setOrthoSize(this._orthoSize + this._zoomSpeed * deltaTime / 20);\n }\n\n this._zoomSpeed *= Math.pow(this.damping, deltaTime / 16);\n },\n\n\n _setDistance: function (distance) {\n this._distance = Math.max(Math.min(distance, this.maxDistance), this.minDistance);\n },\n\n _setOrthoSize: function (size) {\n this._orthoSize = Math.max(Math.min(size, this.maxOrthographicSize), this.minOrthographicSize);\n var camera = this.getCamera();\n var cameraHeight = this._orthoSize;\n var cameraWidth = cameraHeight / this.viewGL.viewport.height * this.viewGL.viewport.width;\n camera.left = -cameraWidth / 2;\n camera.right = cameraWidth / 2;\n camera.top = cameraHeight / 2;\n camera.bottom = -cameraHeight / 2;\n },\n\n _updatePan: function (deltaTime) {\n\n var velocity = this._panVelocity;\n var len = this._distance;\n\n var target = this.getCamera();\n var yAxis = target.worldTransform.y;\n var xAxis = target.worldTransform.x;\n\n // PENDING\n this._center\n .scaleAndAdd(xAxis, -velocity.x * len / 200)\n .scaleAndAdd(yAxis, -velocity.y * len / 200);\n\n this._vectorDamping(velocity, 0);\n },\n\n _updateTransform: function () {\n var camera = this.getCamera();\n\n var dir = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_math_Vector3__[\"a\" /* default */]();\n var theta = this._theta + Math.PI / 2;\n var phi = this._phi + Math.PI / 2;\n var r = Math.sin(theta);\n\n dir.x = r * Math.cos(phi);\n dir.y = -Math.cos(theta);\n dir.z = r * Math.sin(phi);\n\n camera.position.copy(this._center).scaleAndAdd(dir, this._distance);\n camera.rotation.identity()\n // First around y, then around x\n .rotateY(-this._phi)\n .rotateX(-this._theta);\n },\n\n _startCountingStill: function () {\n clearTimeout(this._stillTimeout);\n\n var time = this.autoRotateAfterStill;\n var self = this;\n if (!isNaN(time) && time > 0) {\n this._stillTimeout = setTimeout(function () {\n self._rotating = true;\n }, time * 1000);\n }\n },\n\n _vectorDamping: function (v, damping) {\n var speed = v.len();\n speed = speed * damping;\n if (speed < 1e-4) {\n speed = 0;\n }\n v.normalize().scale(speed);\n },\n\n _decomposeTransform: function () {\n if (!this.getCamera()) {\n return;\n }\n\n this.getCamera().updateWorldTransform();\n\n var forward = this.getCamera().worldTransform.z;\n var alpha = Math.asin(forward.y);\n var beta = Math.atan2(forward.x, forward.z);\n\n this._theta = alpha;\n this._phi = -beta;\n\n this.setBeta(this.getBeta());\n this.setAlpha(this.getAlpha());\n\n // Is perspective\n if (this.getCamera().aspect) {\n this._setDistance(this.getCamera().position.dist(this._center));\n }\n else {\n this._setOrthoSize(this.getCamera().top - this.getCamera().bottom);\n }\n },\n\n _mouseDownHandler: function (e) {\n if (e.target) {\n // If mouseon some zrender element.\n return;\n }\n if (this._isAnimating()) {\n return;\n }\n\n var x = e.offsetX;\n var y = e.offsetY;\n if (this.viewGL && !this.viewGL.containPoint(x, y)) {\n return;\n }\n\n this.zr.on('mousemove', this._mouseMoveHandler);\n this.zr.on('mouseup', this._mouseUpHandler);\n\n if (e.event.targetTouches) {\n if (e.event.targetTouches.length === 1) {\n this._mode = 'rotate';\n }\n }\n else {\n if (e.event.button === MOUSE_BUTTON_KEY_MAP[this.rotateMouseButton]) {\n this._mode = 'rotate';\n }\n else if (e.event.button === MOUSE_BUTTON_KEY_MAP[this.panMouseButton]) {\n this._mode = 'pan';\n }\n else {\n this._mode = '';\n }\n }\n\n // Reset rotate velocity\n this._rotateVelocity.set(0, 0);\n this._rotating = false;\n if (this.autoRotate) {\n this._startCountingStill();\n }\n\n this._mouseX = e.offsetX;\n this._mouseY = e.offsetY;\n },\n\n _mouseMoveHandler: function (e) {\n if (e.target && e.target.__isGLToZRProxy) {\n return;\n }\n\n if (this._isAnimating()) {\n return;\n }\n\n var panSensitivity = convertToArray(this.panSensitivity);\n var rotateSensitivity = convertToArray(this.rotateSensitivity);\n\n if (this._mode === 'rotate') {\n this._rotateVelocity.y = (e.offsetX - this._mouseX) / this.zr.getHeight() * 2 * rotateSensitivity[0];\n this._rotateVelocity.x = (e.offsetY - this._mouseY) / this.zr.getWidth() * 2 * rotateSensitivity[1];\n }\n else if (this._mode === 'pan') {\n this._panVelocity.x = (e.offsetX - this._mouseX) / this.zr.getWidth() * panSensitivity[0] * 400;\n this._panVelocity.y = (-e.offsetY + this._mouseY) / this.zr.getHeight() * panSensitivity[1] * 400;\n }\n\n\n this._mouseX = e.offsetX;\n this._mouseY = e.offsetY;\n\n e.event.preventDefault();\n },\n\n _mouseWheelHandler: function (e) {\n if (this._isAnimating()) {\n return;\n }\n var delta = e.event.wheelDelta // Webkit\n || -e.event.detail; // Firefox\n this._zoomHandler(e, delta);\n },\n\n _pinchHandler: function (e) {\n if (this._isAnimating()) {\n return;\n }\n this._zoomHandler(e, e.pinchScale > 1 ? 1 : -1);\n // Not rotate when pinch\n this._mode = '';\n },\n\n _zoomHandler: function (e, delta) {\n if (delta === 0) {\n return;\n }\n\n var x = e.offsetX;\n var y = e.offsetY;\n if (this.viewGL && !this.viewGL.containPoint(x, y)) {\n return;\n }\n\n var speed;\n if (this._projection === 'perspective') {\n speed = Math.max(Math.max(Math.min(\n this._distance - this.minDistance,\n this.maxDistance - this._distance\n )) / 20, 0.5);\n }\n else {\n speed = Math.max(Math.max(Math.min(\n this._orthoSize - this.minOrthographicSize,\n this.maxOrthographicSize - this._orthoSize\n )) / 20, 0.5);\n }\n this._zoomSpeed = (delta > 0 ? -1 : 1) * speed * this.zoomSensitivity;\n\n this._rotating = false;\n\n if (this.autoRotate && this._mode === 'rotate') {\n this._startCountingStill();\n }\n\n e.event.preventDefault();\n },\n\n _mouseUpHandler: function () {\n this.zr.off('mousemove', this._mouseMoveHandler);\n this.zr.off('mouseup', this._mouseUpHandler);\n },\n\n _isRightMouseButtonUsed: function () {\n return this.rotateMouseButton === 'right'\n || this.panMouseButton === 'right';\n },\n\n _contextMenuHandler: function (e) {\n if (this._isRightMouseButtonUsed()) {\n e.preventDefault();\n }\n },\n\n _addAnimator: function (animator) {\n var animators = this._animators;\n animators.push(animator);\n animator.done(function () {\n var idx = animators.indexOf(animator);\n if (idx >= 0) {\n animators.splice(idx, 1);\n }\n });\n return animator;\n }\n});\n\n/**\n * If auto rotate the target\n * @type {boolean}\n * @default false\n */\nObject.defineProperty(OrbitControl.prototype, 'autoRotate', {\n get: function (val) {\n return this._autoRotate;\n },\n set: function (val) {\n this._autoRotate = val;\n this._rotating = val;\n }\n});\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (OrbitControl);\n\n/***/ }),\n/* 46 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export ecgl.lines3D.vertex\\n\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\n\\nattribute vec3 position: POSITION;\\nattribute vec4 a_Color : COLOR;\\nvarying vec4 v_Color;\\n\\nvoid main()\\n{\\n gl_Position = worldViewProjection * vec4(position, 1.0);\\n v_Color = a_Color;\\n}\\n\\n@end\\n\\n@export ecgl.lines3D.fragment\\n\\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\\n\\nvarying vec4 v_Color;\\n\\n@import clay.util.srgb\\n\\nvoid main()\\n{\\n#ifdef SRGB_DECODE\\n gl_FragColor = sRGBToLinear(color * v_Color);\\n#else\\n gl_FragColor = color * v_Color;\\n#endif\\n}\\n@end\\n\\n\\n\\n@export ecgl.lines3D.clipNear\\n\\nvec4 clipNear(vec4 p1, vec4 p2) {\\n float n = (p1.w - near) / (p1.w - p2.w);\\n return vec4(mix(p1.xy, p2.xy, n), -near, near);\\n}\\n\\n@end\\n\\n@export ecgl.lines3D.expandLine\\n#ifdef VERTEX_ANIMATION\\n vec4 prevProj = worldViewProjection * vec4(mix(prevPositionPrev, positionPrev, percent), 1.0);\\n vec4 currProj = worldViewProjection * vec4(mix(prevPosition, position, percent), 1.0);\\n vec4 nextProj = worldViewProjection * vec4(mix(prevPositionNext, positionNext, percent), 1.0);\\n#else\\n vec4 prevProj = worldViewProjection * vec4(positionPrev, 1.0);\\n vec4 currProj = worldViewProjection * vec4(position, 1.0);\\n vec4 nextProj = worldViewProjection * vec4(positionNext, 1.0);\\n#endif\\n\\n if (currProj.w < 0.0) {\\n if (nextProj.w > 0.0) {\\n currProj = clipNear(currProj, nextProj);\\n }\\n else if (prevProj.w > 0.0) {\\n currProj = clipNear(currProj, prevProj);\\n }\\n }\\n\\n vec2 prevScreen = (prevProj.xy / abs(prevProj.w) + 1.0) * 0.5 * viewport.zw;\\n vec2 currScreen = (currProj.xy / abs(currProj.w) + 1.0) * 0.5 * viewport.zw;\\n vec2 nextScreen = (nextProj.xy / abs(nextProj.w) + 1.0) * 0.5 * viewport.zw;\\n\\n vec2 dir;\\n float len = offset;\\n if (position == positionPrev) {\\n dir = normalize(nextScreen - currScreen);\\n }\\n else if (position == positionNext) {\\n dir = normalize(currScreen - prevScreen);\\n }\\n else {\\n vec2 dirA = normalize(currScreen - prevScreen);\\n vec2 dirB = normalize(nextScreen - currScreen);\\n\\n vec2 tanget = normalize(dirA + dirB);\\n\\n float miter = 1.0 / max(dot(tanget, dirA), 0.5);\\n len *= miter;\\n dir = tanget;\\n }\\n\\n dir = vec2(-dir.y, dir.x) * len;\\n currScreen += dir;\\n\\n currProj.xy = (currScreen / viewport.zw - 0.5) * 2.0 * abs(currProj.w);\\n@end\\n\\n\\n@export ecgl.meshLines3D.vertex\\n\\nattribute vec3 position: POSITION;\\nattribute vec3 positionPrev;\\nattribute vec3 positionNext;\\nattribute float offset;\\nattribute vec4 a_Color : COLOR;\\n\\n#ifdef VERTEX_ANIMATION\\nattribute vec3 prevPosition;\\nattribute vec3 prevPositionPrev;\\nattribute vec3 prevPositionNext;\\nuniform float percent : 1.0;\\n#endif\\n\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\nuniform vec4 viewport : VIEWPORT;\\nuniform float near : NEAR;\\n\\nvarying vec4 v_Color;\\n\\n@import ecgl.common.wireframe.vertexHeader\\n\\n@import ecgl.lines3D.clipNear\\n\\nvoid main()\\n{\\n @import ecgl.lines3D.expandLine\\n\\n gl_Position = currProj;\\n\\n v_Color = a_Color;\\n\\n @import ecgl.common.wireframe.vertexMain\\n}\\n@end\\n\\n\\n@export ecgl.meshLines3D.fragment\\n\\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\\n\\nvarying vec4 v_Color;\\n\\n@import ecgl.common.wireframe.fragmentHeader\\n\\n@import clay.util.srgb\\n\\nvoid main()\\n{\\n#ifdef SRGB_DECODE\\n gl_FragColor = sRGBToLinear(color * v_Color);\\n#else\\n gl_FragColor = color * v_Color;\\n#endif\\n\\n @import ecgl.common.wireframe.fragmentMain\\n}\\n\\n@end\");\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar zrUtil = __webpack_require__(13);\n\nvar BoundingRect = __webpack_require__(82);\n\nvar _number = __webpack_require__(85);\n\nvar parsePercent = _number.parsePercent;\n\nvar formatUtil = __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// Layout helpers for each component positioning\nvar each = zrUtil.each;\n/**\n * @public\n */\n\nvar LOCATION_PARAMS = ['left', 'right', 'top', 'bottom', 'width', 'height'];\n/**\n * @public\n */\n\nvar HV_NAMES = [['width', 'left', 'right'], ['height', 'top', 'bottom']];\n\nfunction boxLayout(orient, group, gap, maxWidth, maxHeight) {\n var x = 0;\n var y = 0;\n\n if (maxWidth == null) {\n maxWidth = Infinity;\n }\n\n if (maxHeight == null) {\n maxHeight = Infinity;\n }\n\n var currentLineMaxSize = 0;\n group.eachChild(function (child, idx) {\n var position = child.position;\n var rect = child.getBoundingRect();\n var nextChild = group.childAt(idx + 1);\n var nextChildRect = nextChild && nextChild.getBoundingRect();\n var nextX;\n var nextY;\n\n if (orient === 'horizontal') {\n var moveX = rect.width + (nextChildRect ? -nextChildRect.x + rect.x : 0);\n nextX = x + moveX; // Wrap when width exceeds maxWidth or meet a `newline` group\n // FIXME compare before adding gap?\n\n if (nextX > maxWidth || child.newline) {\n x = 0;\n nextX = moveX;\n y += currentLineMaxSize + gap;\n currentLineMaxSize = rect.height;\n } else {\n // FIXME: consider rect.y is not `0`?\n currentLineMaxSize = Math.max(currentLineMaxSize, rect.height);\n }\n } else {\n var moveY = rect.height + (nextChildRect ? -nextChildRect.y + rect.y : 0);\n nextY = y + moveY; // Wrap when width exceeds maxHeight or meet a `newline` group\n\n if (nextY > maxHeight || child.newline) {\n x += currentLineMaxSize + gap;\n y = 0;\n nextY = moveY;\n currentLineMaxSize = rect.width;\n } else {\n currentLineMaxSize = Math.max(currentLineMaxSize, rect.width);\n }\n }\n\n if (child.newline) {\n return;\n }\n\n position[0] = x;\n position[1] = y;\n orient === 'horizontal' ? x = nextX + gap : y = nextY + gap;\n });\n}\n/**\n * VBox or HBox layouting\n * @param {string} orient\n * @param {module:zrender/container/Group} group\n * @param {number} gap\n * @param {number} [width=Infinity]\n * @param {number} [height=Infinity]\n */\n\n\nvar box = boxLayout;\n/**\n * VBox layouting\n * @param {module:zrender/container/Group} group\n * @param {number} gap\n * @param {number} [width=Infinity]\n * @param {number} [height=Infinity]\n */\n\nvar vbox = zrUtil.curry(boxLayout, 'vertical');\n/**\n * HBox layouting\n * @param {module:zrender/container/Group} group\n * @param {number} gap\n * @param {number} [width=Infinity]\n * @param {number} [height=Infinity]\n */\n\nvar hbox = zrUtil.curry(boxLayout, 'horizontal');\n/**\n * If x or x2 is not specified or 'center' 'left' 'right',\n * the width would be as long as possible.\n * If y or y2 is not specified or 'middle' 'top' 'bottom',\n * the height would be as long as possible.\n *\n * @param {Object} positionInfo\n * @param {number|string} [positionInfo.x]\n * @param {number|string} [positionInfo.y]\n * @param {number|string} [positionInfo.x2]\n * @param {number|string} [positionInfo.y2]\n * @param {Object} containerRect {width, height}\n * @param {string|number} margin\n * @return {Object} {width, height}\n */\n\nfunction getAvailableSize(positionInfo, containerRect, margin) {\n var containerWidth = containerRect.width;\n var containerHeight = containerRect.height;\n var x = parsePercent(positionInfo.x, containerWidth);\n var y = parsePercent(positionInfo.y, containerHeight);\n var x2 = parsePercent(positionInfo.x2, containerWidth);\n var y2 = parsePercent(positionInfo.y2, containerHeight);\n (isNaN(x) || isNaN(parseFloat(positionInfo.x))) && (x = 0);\n (isNaN(x2) || isNaN(parseFloat(positionInfo.x2))) && (x2 = containerWidth);\n (isNaN(y) || isNaN(parseFloat(positionInfo.y))) && (y = 0);\n (isNaN(y2) || isNaN(parseFloat(positionInfo.y2))) && (y2 = containerHeight);\n margin = formatUtil.normalizeCssArray(margin || 0);\n return {\n width: Math.max(x2 - x - margin[1] - margin[3], 0),\n height: Math.max(y2 - y - margin[0] - margin[2], 0)\n };\n}\n/**\n * Parse position info.\n *\n * @param {Object} positionInfo\n * @param {number|string} [positionInfo.left]\n * @param {number|string} [positionInfo.top]\n * @param {number|string} [positionInfo.right]\n * @param {number|string} [positionInfo.bottom]\n * @param {number|string} [positionInfo.width]\n * @param {number|string} [positionInfo.height]\n * @param {number|string} [positionInfo.aspect] Aspect is width / height\n * @param {Object} containerRect\n * @param {string|number} [margin]\n *\n * @return {module:zrender/core/BoundingRect}\n */\n\n\nfunction getLayoutRect(positionInfo, containerRect, margin) {\n margin = formatUtil.normalizeCssArray(margin || 0);\n var containerWidth = containerRect.width;\n var containerHeight = containerRect.height;\n var left = parsePercent(positionInfo.left, containerWidth);\n var top = parsePercent(positionInfo.top, containerHeight);\n var right = parsePercent(positionInfo.right, containerWidth);\n var bottom = parsePercent(positionInfo.bottom, containerHeight);\n var width = parsePercent(positionInfo.width, containerWidth);\n var height = parsePercent(positionInfo.height, containerHeight);\n var verticalMargin = margin[2] + margin[0];\n var horizontalMargin = margin[1] + margin[3];\n var aspect = positionInfo.aspect; // If width is not specified, calculate width from left and right\n\n if (isNaN(width)) {\n width = containerWidth - right - horizontalMargin - left;\n }\n\n if (isNaN(height)) {\n height = containerHeight - bottom - verticalMargin - top;\n }\n\n if (aspect != null) {\n // If width and height are not given\n // 1. Graph should not exceeds the container\n // 2. Aspect must be keeped\n // 3. Graph should take the space as more as possible\n // FIXME\n // Margin is not considered, because there is no case that both\n // using margin and aspect so far.\n if (isNaN(width) && isNaN(height)) {\n if (aspect > containerWidth / containerHeight) {\n width = containerWidth * 0.8;\n } else {\n height = containerHeight * 0.8;\n }\n } // Calculate width or height with given aspect\n\n\n if (isNaN(width)) {\n width = aspect * height;\n }\n\n if (isNaN(height)) {\n height = width / aspect;\n }\n } // If left is not specified, calculate left from right and width\n\n\n if (isNaN(left)) {\n left = containerWidth - right - width - horizontalMargin;\n }\n\n if (isNaN(top)) {\n top = containerHeight - bottom - height - verticalMargin;\n } // Align left and top\n\n\n switch (positionInfo.left || positionInfo.right) {\n case 'center':\n left = containerWidth / 2 - width / 2 - margin[3];\n break;\n\n case 'right':\n left = containerWidth - width - horizontalMargin;\n break;\n }\n\n switch (positionInfo.top || positionInfo.bottom) {\n case 'middle':\n case 'center':\n top = containerHeight / 2 - height / 2 - margin[0];\n break;\n\n case 'bottom':\n top = containerHeight - height - verticalMargin;\n break;\n } // If something is wrong and left, top, width, height are calculated as NaN\n\n\n left = left || 0;\n top = top || 0;\n\n if (isNaN(width)) {\n // Width may be NaN if only one value is given except width\n width = containerWidth - horizontalMargin - left - (right || 0);\n }\n\n if (isNaN(height)) {\n // Height may be NaN if only one value is given except height\n height = containerHeight - verticalMargin - top - (bottom || 0);\n }\n\n var rect = new BoundingRect(left + margin[3], top + margin[0], width, height);\n rect.margin = margin;\n return rect;\n}\n/**\n * Position a zr element in viewport\n * Group position is specified by either\n * {left, top}, {right, bottom}\n * If all properties exists, right and bottom will be igonred.\n *\n * Logic:\n * 1. Scale (against origin point in parent coord)\n * 2. Rotate (against origin point in parent coord)\n * 3. Traslate (with el.position by this method)\n * So this method only fixes the last step 'Traslate', which does not affect\n * scaling and rotating.\n *\n * If be called repeatly with the same input el, the same result will be gotten.\n *\n * @param {module:zrender/Element} el Should have `getBoundingRect` method.\n * @param {Object} positionInfo\n * @param {number|string} [positionInfo.left]\n * @param {number|string} [positionInfo.top]\n * @param {number|string} [positionInfo.right]\n * @param {number|string} [positionInfo.bottom]\n * @param {number|string} [positionInfo.width] Only for opt.boundingModel: 'raw'\n * @param {number|string} [positionInfo.height] Only for opt.boundingModel: 'raw'\n * @param {Object} containerRect\n * @param {string|number} margin\n * @param {Object} [opt]\n * @param {Array.} [opt.hv=[1,1]] Only horizontal or only vertical.\n * @param {Array.} [opt.boundingMode='all']\n * Specify how to calculate boundingRect when locating.\n * 'all': Position the boundingRect that is transformed and uioned\n * both itself and its descendants.\n * This mode simplies confine the elements in the bounding\n * of their container (e.g., using 'right: 0').\n * 'raw': Position the boundingRect that is not transformed and only itself.\n * This mode is useful when you want a element can overflow its\n * container. (Consider a rotated circle needs to be located in a corner.)\n * In this mode positionInfo.width/height can only be number.\n */\n\n\nfunction positionElement(el, positionInfo, containerRect, margin, opt) {\n var h = !opt || !opt.hv || opt.hv[0];\n var v = !opt || !opt.hv || opt.hv[1];\n var boundingMode = opt && opt.boundingMode || 'all';\n\n if (!h && !v) {\n return;\n }\n\n var rect;\n\n if (boundingMode === 'raw') {\n rect = el.type === 'group' ? new BoundingRect(0, 0, +positionInfo.width || 0, +positionInfo.height || 0) : el.getBoundingRect();\n } else {\n rect = el.getBoundingRect();\n\n if (el.needLocalTransform()) {\n var transform = el.getLocalTransform(); // Notice: raw rect may be inner object of el,\n // which should not be modified.\n\n rect = rect.clone();\n rect.applyTransform(transform);\n }\n } // The real width and height can not be specified but calculated by the given el.\n\n\n positionInfo = getLayoutRect(zrUtil.defaults({\n width: rect.width,\n height: rect.height\n }, positionInfo), containerRect, margin); // Because 'tranlate' is the last step in transform\n // (see zrender/core/Transformable#getLocalTransform),\n // we can just only modify el.position to get final result.\n\n var elPos = el.position;\n var dx = h ? positionInfo.x - rect.x : 0;\n var dy = v ? positionInfo.y - rect.y : 0;\n el.attr('position', boundingMode === 'raw' ? [dx, dy] : [elPos[0] + dx, elPos[1] + dy]);\n}\n/**\n * @param {Object} option Contains some of the properties in HV_NAMES.\n * @param {number} hvIdx 0: horizontal; 1: vertical.\n */\n\n\nfunction sizeCalculable(option, hvIdx) {\n return option[HV_NAMES[hvIdx][0]] != null || option[HV_NAMES[hvIdx][1]] != null && option[HV_NAMES[hvIdx][2]] != null;\n}\n/**\n * Consider Case:\n * When defulat option has {left: 0, width: 100}, and we set {right: 0}\n * through setOption or media query, using normal zrUtil.merge will cause\n * {right: 0} does not take effect.\n *\n * @example\n * ComponentModel.extend({\n * init: function () {\n * ...\n * var inputPositionParams = layout.getLayoutParams(option);\n * this.mergeOption(inputPositionParams);\n * },\n * mergeOption: function (newOption) {\n * newOption && zrUtil.merge(thisOption, newOption, true);\n * layout.mergeLayoutParam(thisOption, newOption);\n * }\n * });\n *\n * @param {Object} targetOption\n * @param {Object} newOption\n * @param {Object|string} [opt]\n * @param {boolean|Array.} [opt.ignoreSize=false] Used for the components\n * that width (or height) should not be calculated by left and right (or top and bottom).\n */\n\n\nfunction mergeLayoutParam(targetOption, newOption, opt) {\n !zrUtil.isObject(opt) && (opt = {});\n var ignoreSize = opt.ignoreSize;\n !zrUtil.isArray(ignoreSize) && (ignoreSize = [ignoreSize, ignoreSize]);\n var hResult = merge(HV_NAMES[0], 0);\n var vResult = merge(HV_NAMES[1], 1);\n copy(HV_NAMES[0], targetOption, hResult);\n copy(HV_NAMES[1], targetOption, vResult);\n\n function merge(names, hvIdx) {\n var newParams = {};\n var newValueCount = 0;\n var merged = {};\n var mergedValueCount = 0;\n var enoughParamNumber = 2;\n each(names, function (name) {\n merged[name] = targetOption[name];\n });\n each(names, function (name) {\n // Consider case: newOption.width is null, which is\n // set by user for removing width setting.\n hasProp(newOption, name) && (newParams[name] = merged[name] = newOption[name]);\n hasValue(newParams, name) && newValueCount++;\n hasValue(merged, name) && mergedValueCount++;\n });\n\n if (ignoreSize[hvIdx]) {\n // Only one of left/right is premitted to exist.\n if (hasValue(newOption, names[1])) {\n merged[names[2]] = null;\n } else if (hasValue(newOption, names[2])) {\n merged[names[1]] = null;\n }\n\n return merged;\n } // Case: newOption: {width: ..., right: ...},\n // or targetOption: {right: ...} and newOption: {width: ...},\n // There is no conflict when merged only has params count\n // little than enoughParamNumber.\n\n\n if (mergedValueCount === enoughParamNumber || !newValueCount) {\n return merged;\n } // Case: newOption: {width: ..., right: ...},\n // Than we can make sure user only want those two, and ignore\n // all origin params in targetOption.\n else if (newValueCount >= enoughParamNumber) {\n return newParams;\n } else {\n // Chose another param from targetOption by priority.\n for (var i = 0; i < names.length; i++) {\n var name = names[i];\n\n if (!hasProp(newParams, name) && hasProp(targetOption, name)) {\n newParams[name] = targetOption[name];\n break;\n }\n }\n\n return newParams;\n }\n }\n\n function hasProp(obj, name) {\n return obj.hasOwnProperty(name);\n }\n\n function hasValue(obj, name) {\n return obj[name] != null && obj[name] !== 'auto';\n }\n\n function copy(names, target, source) {\n each(names, function (name) {\n target[name] = source[name];\n });\n }\n}\n/**\n * Retrieve 'left', 'right', 'top', 'bottom', 'width', 'height' from object.\n * @param {Object} source\n * @return {Object} Result contains those props.\n */\n\n\nfunction getLayoutParams(source) {\n return copyLayoutParams({}, source);\n}\n/**\n * Retrieve 'left', 'right', 'top', 'bottom', 'width', 'height' from object.\n * @param {Object} source\n * @return {Object} Result contains those props.\n */\n\n\nfunction copyLayoutParams(target, source) {\n source && target && each(LOCATION_PARAMS, function (name) {\n source.hasOwnProperty(name) && (target[name] = source[name]);\n });\n return target;\n}\n\nexports.LOCATION_PARAMS = LOCATION_PARAMS;\nexports.HV_NAMES = HV_NAMES;\nexports.box = box;\nexports.vbox = vbox;\nexports.hbox = hbox;\nexports.getAvailableSize = getAvailableSize;\nexports.getLayoutRect = getLayoutRect;\nexports.positionElement = positionElement;\nexports.sizeCalculable = sizeCalculable;\nexports.mergeLayoutParam = mergeLayoutParam;\nexports.getLayoutParams = getLayoutParams;\nexports.copyLayoutParams = copyLayoutParams;\n\n/***/ }),\n/* 48 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_Base__ = __webpack_require__(7);\n\n\n// PENDING\n// Use topological sort ?\n\n/**\n * Node of graph based post processing.\n *\n * @constructor clay.compositor.CompositorNode\n * @extends clay.core.Base\n *\n */\nvar CompositorNode = __WEBPACK_IMPORTED_MODULE_0__core_Base__[\"a\" /* default */].extend(function () {\n return /** @lends clay.compositor.CompositorNode# */ {\n /**\n * @type {string}\n */\n name: '',\n\n /**\n * Input links, will be updated by the graph\n * @example:\n * inputName: {\n * node: someNode,\n * pin: 'xxxx'\n * }\n * @type {Object}\n */\n inputLinks: {},\n\n /**\n * Output links, will be updated by the graph\n * @example:\n * outputName: {\n * node: someNode,\n * pin: 'xxxx'\n * }\n * @type {Object}\n */\n outputLinks: {},\n\n // Save the output texture of previous frame\n // Will be used when there exist a circular reference\n _prevOutputTextures: {},\n _outputTextures: {},\n\n // Example: { name: 2 }\n _outputReferences: {},\n\n _rendering: false,\n // If rendered in this frame\n _rendered: false,\n\n _compositor: null\n };\n},\n/** @lends clay.compositor.CompositorNode.prototype */\n{\n\n // TODO Remove parameter function callback\n updateParameter: function (outputName, renderer) {\n var outputInfo = this.outputs[outputName];\n var parameters = outputInfo.parameters;\n var parametersCopy = outputInfo._parametersCopy;\n if (!parametersCopy) {\n parametersCopy = outputInfo._parametersCopy = {};\n }\n if (parameters) {\n for (var key in parameters) {\n if (key !== 'width' && key !== 'height') {\n parametersCopy[key] = parameters[key];\n }\n }\n }\n var width, height;\n if (parameters.width instanceof Function) {\n width = parameters.width.call(this, renderer);\n }\n else {\n width = parameters.width;\n }\n if (parameters.height instanceof Function) {\n height = parameters.height.call(this, renderer);\n }\n else {\n height = parameters.height;\n }\n if (\n parametersCopy.width !== width\n || parametersCopy.height !== height\n ) {\n if (this._outputTextures[outputName]) {\n this._outputTextures[outputName].dispose(renderer.gl);\n }\n }\n parametersCopy.width = width;\n parametersCopy.height = height;\n\n return parametersCopy;\n },\n\n /**\n * Set parameter\n * @param {string} name\n * @param {} value\n */\n setParameter: function (name, value) {},\n /**\n * Get parameter value\n * @param {string} name\n * @return {}\n */\n getParameter: function (name) {},\n /**\n * Set parameters\n * @param {Object} obj\n */\n setParameters: function (obj) {\n for (var name in obj) {\n this.setParameter(name, obj[name]);\n }\n },\n\n render: function () {},\n\n getOutput: function (renderer /*optional*/, name) {\n if (name == null) {\n // Return the output texture without rendering\n name = renderer;\n return this._outputTextures[name];\n }\n var outputInfo = this.outputs[name];\n if (!outputInfo) {\n return ;\n }\n\n // Already been rendered in this frame\n if (this._rendered) {\n // Force return texture in last frame\n if (outputInfo.outputLastFrame) {\n return this._prevOutputTextures[name];\n }\n else {\n return this._outputTextures[name];\n }\n }\n else if (\n // TODO\n this._rendering // Solve Circular Reference\n ) {\n if (!this._prevOutputTextures[name]) {\n // Create a blank texture at first pass\n this._prevOutputTextures[name] = this._compositor.allocateTexture(outputInfo.parameters || {});\n }\n return this._prevOutputTextures[name];\n }\n\n this.render(renderer);\n\n return this._outputTextures[name];\n },\n\n removeReference: function (outputName) {\n this._outputReferences[outputName]--;\n if (this._outputReferences[outputName] === 0) {\n var outputInfo = this.outputs[outputName];\n if (outputInfo.keepLastFrame) {\n if (this._prevOutputTextures[outputName]) {\n this._compositor.releaseTexture(this._prevOutputTextures[outputName]);\n }\n this._prevOutputTextures[outputName] = this._outputTextures[outputName];\n }\n else {\n // Output of this node have alreay been used by all other nodes\n // Put the texture back to the pool.\n this._compositor.releaseTexture(this._outputTextures[outputName]);\n }\n }\n },\n\n link: function (inputPinName, fromNode, fromPinName) {\n\n // The relationship from output pin to input pin is one-on-multiple\n this.inputLinks[inputPinName] = {\n node: fromNode,\n pin: fromPinName\n };\n if (!fromNode.outputLinks[fromPinName]) {\n fromNode.outputLinks[fromPinName] = [];\n }\n fromNode.outputLinks[fromPinName].push({\n node: this,\n pin: inputPinName\n });\n\n // Enabled the pin texture in shader\n this.pass.material.enableTexture(inputPinName);\n },\n\n clear: function () {\n this.inputLinks = {};\n this.outputLinks = {};\n },\n\n updateReference: function (outputName) {\n if (!this._rendering) {\n this._rendering = true;\n for (var inputName in this.inputLinks) {\n var link = this.inputLinks[inputName];\n link.node.updateReference(link.pin);\n }\n this._rendering = false;\n }\n if (outputName) {\n this._outputReferences[outputName] ++;\n }\n },\n\n beforeFrame: function () {\n this._rendered = false;\n\n for (var name in this.outputLinks) {\n this._outputReferences[name] = 0;\n }\n },\n\n afterFrame: function () {\n // Put back all the textures to pool\n for (var name in this.outputLinks) {\n if (this._outputReferences[name] > 0) {\n var outputInfo = this.outputs[name];\n if (outputInfo.keepLastFrame) {\n if (this._prevOutputTextures[name]) {\n this._compositor.releaseTexture(this._prevOutputTextures[name]);\n }\n this._prevOutputTextures[name] = this._outputTextures[name];\n }\n else {\n this._compositor.releaseTexture(this._outputTextures[name]);\n }\n }\n }\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (CompositorNode);\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// Generate halton sequence\n// https://en.wikipedia.org/wiki/Halton_sequence\nfunction halton(index, base) {\n\n var result = 0;\n var f = 1 / base;\n var i = index;\n while (i > 0) {\n result = result + f * (i % base);\n i = Math.floor(i / base);\n f = f / base;\n }\n return result;\n}\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (halton);\n\n/***/ }),\n/* 50 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function (seriesModel, dims, source) {\n source = source || seriesModel.getSource();\n\n var coordSysDimensions = dims || __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.getCoordinateSystemDimensions(seriesModel.get('coordinateSystem')) || ['x', 'y', 'z'];\n\n var dimensions = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.helper.createDimensions(source, {\n dimensionsDefine: source.dimensionsDefine || seriesModel.get('dimensions'),\n encodeDefine: source.encodeDefine || seriesModel.get('encode'),\n coordDimensions: coordSysDimensions.map(function (dim) {\n var axis3DModel = seriesModel.getReferringComponents(dim + 'Axis3D')[0];\n return {\n type: (axis3DModel && axis3DModel.get('type') === 'category') ? 'ordinal' : 'float',\n name: dim\n // Find stackable dimension. Which will represent value.\n // stackable: dim === 'z'\n };\n })\n });\n if (seriesModel.get('coordinateSystem') === 'cartesian3D') {\n dimensions.forEach(function (dimInfo) {\n if (coordSysDimensions.indexOf(dimInfo.coordDim) >= 0) {\n var axis3DModel = seriesModel.getReferringComponents(dimInfo.coordDim + 'Axis3D')[0];\n if (axis3DModel && axis3DModel.get('type') === 'category') {\n dimInfo.ordinalMeta = axis3DModel.getOrdinalMeta();\n }\n }\n });\n }\n\n var stackCalculationInfo = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.helper.dataStack.enableDataStack(\n // Only support 'z' and `byIndex` now.\n seriesModel, dimensions, {byIndex: true, stackedCoordDimension: 'z'}\n );\n\n var data = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.List(dimensions, seriesModel);\n\n data.setCalculationInfo(stackCalculationInfo);\n\n data.initData(source);\n\n return data;\n});\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(seriesType, defaultSymbolType, legendSymbol) {\n // Encoding visual for all series include which is filtered for legend drawing\n return {\n seriesType: seriesType,\n // For legend.\n performRawSeries: true,\n reset: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var symbolType = seriesModel.get('symbol') || defaultSymbolType;\n var symbolSize = seriesModel.get('symbolSize');\n var keepAspect = seriesModel.get('symbolKeepAspect');\n data.setVisual({\n legendSymbol: legendSymbol || symbolType,\n symbol: symbolType,\n symbolSize: symbolSize,\n symbolKeepAspect: keepAspect\n }); // Only visible series has each data be visual encoded\n\n if (ecModel.isSeriesFiltered(seriesModel)) {\n return;\n }\n\n var hasCallback = typeof symbolSize === 'function';\n\n function dataEach(data, idx) {\n if (typeof symbolSize === 'function') {\n var rawValue = seriesModel.getRawValue(idx); // FIXME\n\n var params = seriesModel.getDataParams(idx);\n data.setItemVisual(idx, 'symbolSize', symbolSize(rawValue, params));\n }\n\n if (data.hasItemOption) {\n var itemModel = data.getItemModel(idx);\n var itemSymbolType = itemModel.getShallow('symbol', true);\n var itemSymbolSize = itemModel.getShallow('symbolSize', true);\n var itemSymbolKeepAspect = itemModel.getShallow('symbolKeepAspect', true); // If has item symbol\n\n if (itemSymbolType != null) {\n data.setItemVisual(idx, 'symbol', itemSymbolType);\n }\n\n if (itemSymbolSize != null) {\n // PENDING Transform symbolSize ?\n data.setItemVisual(idx, 'symbolSize', itemSymbolSize);\n }\n\n if (itemSymbolKeepAspect != null) {\n data.setItemVisual(idx, 'symbolKeepAspect', itemSymbolKeepAspect);\n }\n }\n }\n\n return {\n dataEach: data.hasItemOption || hasCallback ? dataEach : null\n };\n }\n };\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_Base__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_GLInfo__ = __webpack_require__(111);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_glenum__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_vendor__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Material__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__math_Vector2__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__gpu_ProgramManager__ = __webpack_require__(115);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Shader__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__shader_source_prez_glsl_js__ = __webpack_require__(71);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__glmatrix_vec3__ = __webpack_require__(12);\n// TODO Resources like shader, texture, geometry reference management\n// Trace and find out which shader, texture, geometry can be destroyed\n\n\n\n\n\n\n\n\n\n// Light header\n\n\n\n__WEBPACK_IMPORTED_MODULE_7__Shader__[\"a\" /* default */]['import'](__WEBPACK_IMPORTED_MODULE_8__shader_source_prez_glsl_js__[\"a\" /* default */]);\n\n\n\n\nvar mat4Create = __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].create;\n\nvar errorShader = {};\n\nfunction defaultGetMaterial(renderable) {\n return renderable.material;\n}\nfunction defaultGetUniform(renderable, material, symbol) {\n return material.uniforms[symbol].value;\n}\nfunction defaultIsMaterialChanged(renderabled, prevRenderable, material, prevMaterial) {\n return material !== prevMaterial;\n}\nfunction defaultIfRender(renderable) {\n return true;\n}\n\nfunction noop() {}\n\nvar attributeBufferTypeMap = {\n float: __WEBPACK_IMPORTED_MODULE_2__core_glenum__[\"a\" /* default */].FLOAT,\n byte: __WEBPACK_IMPORTED_MODULE_2__core_glenum__[\"a\" /* default */].BYTE,\n ubyte: __WEBPACK_IMPORTED_MODULE_2__core_glenum__[\"a\" /* default */].UNSIGNED_BYTE,\n short: __WEBPACK_IMPORTED_MODULE_2__core_glenum__[\"a\" /* default */].SHORT,\n ushort: __WEBPACK_IMPORTED_MODULE_2__core_glenum__[\"a\" /* default */].UNSIGNED_SHORT\n};\n\nfunction VertexArrayObject(availableAttributes, availableAttributeSymbols, indicesBuffer) {\n this.availableAttributes = availableAttributes;\n this.availableAttributeSymbols = availableAttributeSymbols;\n this.indicesBuffer = indicesBuffer;\n\n this.vao = null;\n}\n\nfunction PlaceHolderTexture(renderer) {\n var blankCanvas;\n var webglTexture;\n this.bind = function (renderer) {\n if (!blankCanvas) {\n // TODO Environment not support createCanvas.\n blankCanvas = __WEBPACK_IMPORTED_MODULE_3__core_vendor__[\"a\" /* default */].createCanvas();\n blankCanvas.width = blankCanvas.height = 1;\n blankCanvas.getContext('2d');\n }\n\n var gl = renderer.gl;\n var firstBind = !webglTexture;\n if (firstBind) {\n webglTexture = gl.createTexture();\n }\n gl.bindTexture(gl.TEXTURE_2D, webglTexture);\n if (firstBind) {\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, blankCanvas);\n }\n };\n this.unbind = function (renderer) {\n renderer.gl.bindTexture(renderer.gl.TEXTURE_2D, null);\n };\n this.isRenderable = function () {\n return true;\n };\n}\n/**\n * @constructor clay.Renderer\n * @extends clay.core.Base\n */\nvar Renderer = __WEBPACK_IMPORTED_MODULE_0__core_Base__[\"a\" /* default */].extend(function () {\n return /** @lends clay.Renderer# */ {\n\n /**\n * @type {HTMLCanvasElement}\n * @readonly\n */\n canvas: null,\n\n /**\n * Canvas width, set by resize method\n * @type {number}\n * @private\n */\n _width: 100,\n\n /**\n * Canvas width, set by resize method\n * @type {number}\n * @private\n */\n _height: 100,\n\n /**\n * Device pixel ratio, set by setDevicePixelRatio method\n * Specially for high defination display\n * @see http://www.khronos.org/webgl/wiki/HandlingHighDPI\n * @type {number}\n * @private\n */\n devicePixelRatio: (typeof window !== 'undefined' && window.devicePixelRatio) || 1.0,\n\n /**\n * Clear color\n * @type {number[]}\n */\n clearColor: [0.0, 0.0, 0.0, 0.0],\n\n /**\n * Default:\n * _gl.COLOR_BUFFER_BIT | _gl.DEPTH_BUFFER_BIT | _gl.STENCIL_BUFFER_BIT\n * @type {number}\n */\n clearBit: 17664,\n\n // Settings when getting context\n // http://www.khronos.org/registry/webgl/specs/latest/#2.4\n\n /**\n * If enable alpha, default true\n * @type {boolean}\n */\n alpha: true,\n /**\n * If enable depth buffer, default true\n * @type {boolean}\n */\n depth: true,\n /**\n * If enable stencil buffer, default false\n * @type {boolean}\n */\n stencil: false,\n /**\n * If enable antialias, default true\n * @type {boolean}\n */\n antialias: true,\n /**\n * If enable premultiplied alpha, default true\n * @type {boolean}\n */\n premultipliedAlpha: true,\n /**\n * If preserve drawing buffer, default false\n * @type {boolean}\n */\n preserveDrawingBuffer: false,\n /**\n * If throw context error, usually turned on in debug mode\n * @type {boolean}\n */\n throwError: true,\n /**\n * WebGL Context created from given canvas\n * @type {WebGLRenderingContext}\n */\n gl: null,\n /**\n * Renderer viewport, read-only, can be set by setViewport method\n * @type {Object}\n */\n viewport: {},\n\n // Set by FrameBuffer#bind\n __currentFrameBuffer: null,\n\n _viewportStack: [],\n _clearStack: [],\n\n _sceneRendering: null\n };\n}, function () {\n\n if (!this.canvas) {\n this.canvas = __WEBPACK_IMPORTED_MODULE_3__core_vendor__[\"a\" /* default */].createCanvas();\n }\n var canvas = this.canvas;\n try {\n var opts = {\n alpha: this.alpha,\n depth: this.depth,\n stencil: this.stencil,\n antialias: this.antialias,\n premultipliedAlpha: this.premultipliedAlpha,\n preserveDrawingBuffer: this.preserveDrawingBuffer\n };\n\n this.gl = canvas.getContext('webgl', opts)\n || canvas.getContext('experimental-webgl', opts);\n\n if (!this.gl) {\n throw new Error();\n }\n\n this._glinfo = new __WEBPACK_IMPORTED_MODULE_1__core_GLInfo__[\"a\" /* default */](this.gl);\n\n if (this.gl.targetRenderer) {\n console.error('Already created a renderer');\n }\n this.gl.targetRenderer = this;\n\n this.resize();\n }\n catch (e) {\n throw 'Error creating WebGL Context ' + e;\n }\n\n // Init managers\n this._programMgr = new __WEBPACK_IMPORTED_MODULE_6__gpu_ProgramManager__[\"a\" /* default */](this);\n\n this._placeholderTexture = new PlaceHolderTexture(this);\n},\n/** @lends clay.Renderer.prototype. **/\n{\n /**\n * Resize the canvas\n * @param {number} width\n * @param {number} height\n */\n resize: function(width, height) {\n var canvas = this.canvas;\n // http://www.khronos.org/webgl/wiki/HandlingHighDPI\n // set the display size of the canvas.\n var dpr = this.devicePixelRatio;\n if (width != null) {\n canvas.style.width = width + 'px';\n canvas.style.height = height + 'px';\n // set the size of the drawingBuffer\n canvas.width = width * dpr;\n canvas.height = height * dpr;\n\n this._width = width;\n this._height = height;\n }\n else {\n this._width = canvas.width / dpr;\n this._height = canvas.height / dpr;\n }\n\n this.setViewport(0, 0, this._width, this._height);\n },\n\n /**\n * Get renderer width\n * @return {number}\n */\n getWidth: function () {\n return this._width;\n },\n\n /**\n * Get renderer height\n * @return {number}\n */\n getHeight: function () {\n return this._height;\n },\n\n /**\n * Get viewport aspect,\n * @return {number}\n */\n getViewportAspect: function () {\n var viewport = this.viewport;\n return viewport.width / viewport.height;\n },\n\n /**\n * Set devicePixelRatio\n * @param {number} devicePixelRatio\n */\n setDevicePixelRatio: function(devicePixelRatio) {\n this.devicePixelRatio = devicePixelRatio;\n this.resize(this._width, this._height);\n },\n\n /**\n * Get devicePixelRatio\n * @param {number} devicePixelRatio\n */\n getDevicePixelRatio: function () {\n return this.devicePixelRatio;\n },\n\n /**\n * Get WebGL extension\n * @param {string} name\n * @return {object}\n */\n getGLExtension: function (name) {\n return this._glinfo.getExtension(name);\n },\n\n /**\n * Get WebGL parameter\n * @param {string} name\n * @return {*}\n */\n getGLParameter: function (name) {\n return this._glinfo.getParameter(name);\n },\n\n /**\n * Set rendering viewport\n * @param {number|Object} x\n * @param {number} [y]\n * @param {number} [width]\n * @param {number} [height]\n * @param {number} [devicePixelRatio]\n * Defaultly use the renderere devicePixelRatio\n * It needs to be 1 when setViewport is called by frameBuffer\n *\n * @example\n * setViewport(0,0,width,height,1)\n * setViewport({\n * x: 0,\n * y: 0,\n * width: width,\n * height: height,\n * devicePixelRatio: 1\n * })\n */\n setViewport: function (x, y, width, height, dpr) {\n\n if (typeof x === 'object') {\n var obj = x;\n\n x = obj.x;\n y = obj.y;\n width = obj.width;\n height = obj.height;\n dpr = obj.devicePixelRatio;\n }\n dpr = dpr || this.devicePixelRatio;\n\n this.gl.viewport(\n x * dpr, y * dpr, width * dpr, height * dpr\n );\n // Use a fresh new object, not write property.\n this.viewport = {\n x: x,\n y: y,\n width: width,\n height: height,\n devicePixelRatio: dpr\n };\n },\n\n /**\n * Push current viewport into a stack\n */\n saveViewport: function () {\n this._viewportStack.push(this.viewport);\n },\n\n /**\n * Pop viewport from stack, restore in the renderer\n */\n restoreViewport: function () {\n if (this._viewportStack.length > 0) {\n this.setViewport(this._viewportStack.pop());\n }\n },\n\n /**\n * Push current clear into a stack\n */\n saveClear: function () {\n this._clearStack.push({\n clearBit: this.clearBit,\n clearColor: this.clearColor\n });\n },\n\n /**\n * Pop clear from stack, restore in the renderer\n */\n restoreClear: function () {\n if (this._clearStack.length > 0) {\n var opt = this._clearStack.pop();\n this.clearColor = opt.clearColor;\n this.clearBit = opt.clearBit;\n }\n },\n\n bindSceneRendering: function (scene) {\n this._sceneRendering = scene;\n },\n\n /**\n * Render the scene in camera to the screen or binded offline framebuffer\n * @param {clay.Scene} scene\n * @param {clay.Camera} camera\n * @param {boolean} [notUpdateScene] If not call the scene.update methods in the rendering, default true\n * @param {boolean} [preZ] If use preZ optimization, default false\n * @return {IRenderInfo}\n */\n render: function(scene, camera, notUpdateScene, preZ) {\n var _gl = this.gl;\n\n var clearColor = this.clearColor;\n\n if (this.clearBit) {\n\n // Must set depth and color mask true before clear\n _gl.colorMask(true, true, true, true);\n _gl.depthMask(true);\n var viewport = this.viewport;\n var needsScissor = false;\n var viewportDpr = viewport.devicePixelRatio;\n if (viewport.width !== this._width || viewport.height !== this._height\n || (viewportDpr && viewportDpr !== this.devicePixelRatio)\n || viewport.x || viewport.y\n ) {\n needsScissor = true;\n // http://stackoverflow.com/questions/11544608/how-to-clear-a-rectangle-area-in-webgl\n // Only clear the viewport\n _gl.enable(_gl.SCISSOR_TEST);\n _gl.scissor(viewport.x * viewportDpr, viewport.y * viewportDpr, viewport.width * viewportDpr, viewport.height * viewportDpr);\n }\n _gl.clearColor(clearColor[0], clearColor[1], clearColor[2], clearColor[3]);\n _gl.clear(this.clearBit);\n if (needsScissor) {\n _gl.disable(_gl.SCISSOR_TEST);\n }\n }\n\n // If the scene have been updated in the prepass like shadow map\n // There is no need to update it again\n if (!notUpdateScene) {\n scene.update(false);\n }\n scene.updateLights();\n\n camera = camera || scene.getMainCamera();\n if (!camera) {\n console.error('Can\\'t find camera in the scene.');\n return;\n }\n camera.update();\n var renderList = scene.updateRenderList(camera, true);\n\n this._sceneRendering = scene;\n\n var opaqueList = renderList.opaque;\n var transparentList = renderList.transparent;\n var sceneMaterial = scene.material;\n\n scene.trigger('beforerender', this, scene, camera, renderList);\n\n // Render pre z\n if (preZ) {\n this.renderPreZ(opaqueList, scene, camera);\n _gl.depthFunc(_gl.LEQUAL);\n }\n else {\n _gl.depthFunc(_gl.LESS);\n }\n\n // Update the depth of transparent list.\n var worldViewMat = mat4Create();\n var posViewSpace = __WEBPACK_IMPORTED_MODULE_10__glmatrix_vec3__[\"a\" /* default */].create();\n for (var i = 0; i < transparentList.length; i++) {\n var renderable = transparentList[i];\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].multiplyAffine(worldViewMat, camera.viewMatrix.array, renderable.worldTransform.array);\n __WEBPACK_IMPORTED_MODULE_10__glmatrix_vec3__[\"a\" /* default */].transformMat4(posViewSpace, renderable.position.array, worldViewMat);\n renderable.__depth = posViewSpace[2];\n }\n\n // Render opaque list\n this.renderPass(opaqueList, camera, {\n getMaterial: function (renderable) {\n return sceneMaterial || renderable.material;\n },\n sortCompare: this.opaqueSortCompare\n });\n\n this.renderPass(transparentList, camera, {\n getMaterial: function (renderable) {\n return sceneMaterial || renderable.material;\n },\n sortCompare: this.transparentSortCompare\n });\n\n scene.trigger('afterrender', this, scene, camera, renderList);\n\n // Cleanup\n this._sceneRendering = null;\n },\n\n getProgram: function (renderable, renderMaterial, scene) {\n renderMaterial = renderMaterial || renderable.material;\n return this._programMgr.getProgram(renderable, renderMaterial, scene);\n },\n\n validateProgram: function (program) {\n if (program.__error) {\n var errorMsg = program.__error;\n if (errorShader[program.__uid__]) {\n return;\n }\n errorShader[program.__uid__] = true;\n\n if (this.throwError) {\n throw new Error(errorMsg);\n }\n else {\n this.trigger('error', errorMsg);\n }\n }\n\n },\n\n updatePrograms: function (list, scene, passConfig) {\n var getMaterial = (passConfig && passConfig.getMaterial) || defaultGetMaterial;\n scene = scene || null;\n for (var i = 0; i < list.length; i++) {\n var renderable = list[i];\n var renderMaterial = getMaterial.call(this, renderable);\n if (i > 0) {\n var prevRenderable = list[i - 1];\n var prevJointsLen = prevRenderable.joints ? prevRenderable.joints.length : 0;\n var jointsLen = renderable.joints ? renderable.joints.length : 0;\n // Keep program not change if joints, material, lightGroup are same of two renderables.\n if (jointsLen === prevJointsLen\n && renderable.material === prevRenderable.material\n && renderable.lightGroup === prevRenderable.lightGroup\n ) {\n renderable.__program = prevRenderable.__program;\n continue;\n }\n }\n\n var program = this._programMgr.getProgram(renderable, renderMaterial, scene);\n\n this.validateProgram(program);\n\n renderable.__program = program;\n }\n },\n\n /**\n * Render a single renderable list in camera in sequence\n * @param {clay.Renderable[]} list List of all renderables.\n * @param {clay.Camera} [camera] Camera provide view matrix and porjection matrix. It can be null.\n * @param {Object} [passConfig]\n * @param {Function} [passConfig.getMaterial] Get renderable material.\n * @param {Function} [passConfig.getUniform] Get material uniform value.\n * @param {Function} [passConfig.isMaterialChanged] If material changed.\n * @param {Function} [passConfig.beforeRender] Before render each renderable.\n * @param {Function} [passConfig.afterRender] After render each renderable\n * @param {Function} [passConfig.ifRender] If render the renderable.\n * @param {Function} [passConfig.sortCompare] Sort compare function.\n * @return {IRenderInfo}\n */\n renderPass: function(list, camera, passConfig) {\n this.trigger('beforerenderpass', this, list, camera, passConfig);\n\n passConfig = passConfig || {};\n passConfig.getMaterial = passConfig.getMaterial || defaultGetMaterial;\n passConfig.getUniform = passConfig.getUniform || defaultGetUniform;\n // PENDING Better solution?\n passConfig.isMaterialChanged = passConfig.isMaterialChanged || defaultIsMaterialChanged;\n passConfig.beforeRender = passConfig.beforeRender || noop;\n passConfig.afterRender = passConfig.afterRender || noop;\n\n var ifRenderObject = passConfig.ifRender || defaultIfRender;\n\n this.updatePrograms(list, this._sceneRendering, passConfig);\n if (passConfig.sortCompare) {\n list.sort(passConfig.sortCompare);\n }\n\n // Some common builtin uniforms\n var viewport = this.viewport;\n var vDpr = viewport.devicePixelRatio;\n var viewportUniform = [\n viewport.x * vDpr, viewport.y * vDpr,\n viewport.width * vDpr, viewport.height * vDpr\n ];\n var windowDpr = this.devicePixelRatio;\n var windowSizeUniform = this.__currentFrameBuffer\n ? [this.__currentFrameBuffer.getTextureWidth(), this.__currentFrameBuffer.getTextureHeight()]\n : [this._width * windowDpr, this._height * windowDpr];\n // DEPRECATED\n var viewportSizeUniform = [\n viewportUniform[2], viewportUniform[3]\n ];\n var time = Date.now();\n\n // Calculate view and projection matrix\n if (camera) {\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].copy(matrices.VIEW, camera.viewMatrix.array);\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].copy(matrices.PROJECTION, camera.projectionMatrix.array);\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].copy(matrices.VIEWINVERSE, camera.worldTransform.array);\n }\n else {\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].identity(matrices.VIEW);\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].identity(matrices.PROJECTION);\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].identity(matrices.VIEWINVERSE);\n }\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].multiply(matrices.VIEWPROJECTION, matrices.PROJECTION, matrices.VIEW);\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].invert(matrices.PROJECTIONINVERSE, matrices.PROJECTION);\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].invert(matrices.VIEWPROJECTIONINVERSE, matrices.VIEWPROJECTION);\n\n var _gl = this.gl;\n var scene = this._sceneRendering;\n\n var prevMaterial;\n var prevProgram;\n var prevRenderable;\n\n // Status\n var depthTest, depthMask;\n var culling, cullFace, frontFace;\n var transparent;\n var drawID;\n var currentVAO;\n var materialTakesTextureSlot;\n\n var vaoExt = this.getGLExtension('OES_vertex_array_object');\n\n for (var i = 0; i < list.length; i++) {\n var renderable = list[i];\n var isSceneNode = renderable.worldTransform != null;\n var worldM;\n\n if (!ifRenderObject(renderable)) {\n continue;\n }\n\n // Skinned mesh will transformed to joint space. Ignore the mesh transform\n if (isSceneNode) {\n worldM = (renderable.isSkinnedMesh && renderable.isSkinnedMesh())\n ? matrices.IDENTITY : renderable.worldTransform.array;\n }\n var geometry = renderable.geometry;\n var material = passConfig.getMaterial.call(this, renderable);\n\n var program = renderable.__program;\n var shader = material.shader;\n\n var currentDrawID = geometry.__uid__ + '-' + program.__uid__;\n var drawIDChanged = currentDrawID !== drawID;\n drawID = currentDrawID;\n if (drawIDChanged && vaoExt) {\n // TODO Seems need to be bound to null immediately (or before bind another program?) if vao is changed\n vaoExt.bindVertexArrayOES(null);\n }\n if (isSceneNode) {\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].copy(matrices.WORLD, worldM);\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].multiply(matrices.WORLDVIEWPROJECTION, matrices.VIEWPROJECTION, worldM);\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].multiplyAffine(matrices.WORLDVIEW, matrices.VIEW, worldM);\n if (shader.matrixSemantics.WORLDINVERSE ||\n shader.matrixSemantics.WORLDINVERSETRANSPOSE) {\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].invert(matrices.WORLDINVERSE, worldM);\n }\n if (shader.matrixSemantics.WORLDVIEWINVERSE ||\n shader.matrixSemantics.WORLDVIEWINVERSETRANSPOSE) {\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].invert(matrices.WORLDVIEWINVERSE, matrices.WORLDVIEW);\n }\n if (shader.matrixSemantics.WORLDVIEWPROJECTIONINVERSE ||\n shader.matrixSemantics.WORLDVIEWPROJECTIONINVERSETRANSPOSE) {\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].invert(matrices.WORLDVIEWPROJECTIONINVERSE, matrices.WORLDVIEWPROJECTION);\n }\n }\n\n // Before render hook\n renderable.beforeRender && renderable.beforeRender(this);\n passConfig.beforeRender.call(this, renderable, material, prevMaterial);\n\n var programChanged = program !== prevProgram;\n if (programChanged) {\n // Set lights number\n program.bind(this);\n // Set some common uniforms\n program.setUniformOfSemantic(_gl, 'VIEWPORT', viewportUniform);\n program.setUniformOfSemantic(_gl, 'WINDOW_SIZE', windowSizeUniform);\n if (camera) {\n program.setUniformOfSemantic(_gl, 'NEAR', camera.near);\n program.setUniformOfSemantic(_gl, 'FAR', camera.far);\n }\n program.setUniformOfSemantic(_gl, 'DEVICEPIXELRATIO', vDpr);\n program.setUniformOfSemantic(_gl, 'TIME', time);\n // DEPRECATED\n program.setUniformOfSemantic(_gl, 'VIEWPORT_SIZE', viewportSizeUniform);\n\n // Set lights uniforms\n // TODO needs optimized\n if (scene) {\n scene.setLightUniforms(program, renderable.lightGroup, this);\n }\n }\n else {\n program = prevProgram;\n }\n\n // Program changes also needs reset the materials.\n if (programChanged || passConfig.isMaterialChanged(\n renderable, prevRenderable, material, prevMaterial\n )) {\n if (material.depthTest !== depthTest) {\n material.depthTest ? _gl.enable(_gl.DEPTH_TEST) : _gl.disable(_gl.DEPTH_TEST);\n depthTest = material.depthTest;\n }\n if (material.depthMask !== depthMask) {\n _gl.depthMask(material.depthMask);\n depthMask = material.depthMask;\n }\n if (material.transparent !== transparent) {\n material.transparent ? _gl.enable(_gl.BLEND) : _gl.disable(_gl.BLEND);\n transparent = material.transparent;\n }\n // TODO cache blending\n if (material.transparent) {\n if (material.blend) {\n material.blend(_gl);\n }\n else {\n // Default blend function\n _gl.blendEquationSeparate(_gl.FUNC_ADD, _gl.FUNC_ADD);\n _gl.blendFuncSeparate(_gl.SRC_ALPHA, _gl.ONE_MINUS_SRC_ALPHA, _gl.ONE, _gl.ONE_MINUS_SRC_ALPHA);\n }\n }\n\n materialTakesTextureSlot = this._bindMaterial(\n renderable, material, program,\n prevRenderable || null, prevMaterial || null, prevProgram || null,\n passConfig.getUniform\n );\n prevMaterial = material;\n }\n\n var matrixSemanticKeys = shader.matrixSemanticKeys;\n\n if (isSceneNode) {\n for (var k = 0; k < matrixSemanticKeys.length; k++) {\n var semantic = matrixSemanticKeys[k];\n var semanticInfo = shader.matrixSemantics[semantic];\n var matrix = matrices[semantic];\n if (semanticInfo.isTranspose) {\n var matrixNoTranspose = matrices[semanticInfo.semanticNoTranspose];\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_mat4__[\"a\" /* default */].transpose(matrix, matrixNoTranspose);\n }\n program.setUniform(_gl, semanticInfo.type, semanticInfo.symbol, matrix);\n }\n }\n\n if (renderable.cullFace !== cullFace) {\n cullFace = renderable.cullFace;\n _gl.cullFace(cullFace);\n }\n if (renderable.frontFace !== frontFace) {\n frontFace = renderable.frontFace;\n _gl.frontFace(frontFace);\n }\n if (renderable.culling !== culling) {\n culling = renderable.culling;\n culling ? _gl.enable(_gl.CULL_FACE) : _gl.disable(_gl.CULL_FACE);\n }\n // TODO Not update skeleton in each renderable.\n this._updateSkeleton(renderable, program, materialTakesTextureSlot);\n if (drawIDChanged) {\n currentVAO = this._bindVAO(vaoExt, shader, geometry, program);\n }\n this._renderObject(renderable, currentVAO);\n\n // After render hook\n passConfig.afterRender(this, renderable);\n renderable.afterRender && renderable.afterRender(this);\n\n prevProgram = program;\n prevRenderable = renderable;\n }\n\n // TODO Seems need to be bound to null immediately if vao is changed?\n if (vaoExt) {\n vaoExt.bindVertexArrayOES(null);\n }\n\n this.trigger('afterrenderpass', this, list, camera, passConfig);\n },\n\n getMaxJointNumber: function () {\n return this._glinfo.getMaxJointNumber();\n },\n\n _updateSkeleton: function (object, program, slot) {\n var _gl = this.gl;\n var skeleton = object.skeleton;\n // Set pose matrices of skinned mesh\n if (skeleton) {\n // TODO Update before culling.\n skeleton.update();\n if (object.joints.length > this._glinfo.getMaxJointNumber()) {\n var skinMatricesTexture = skeleton.getSubSkinMatricesTexture(object.__uid__, object.joints);\n program.useTextureSlot(this, skinMatricesTexture, slot);\n program.setUniform(_gl, '1i', 'skinMatricesTexture', slot);\n program.setUniform(_gl, '1f', 'skinMatricesTextureSize', skinMatricesTexture.width);\n }\n else {\n var skinMatricesArray = skeleton.getSubSkinMatrices(object.__uid__, object.joints);\n program.setUniformOfSemantic(_gl, 'SKIN_MATRIX', skinMatricesArray);\n }\n }\n },\n\n _renderObject: function (renderable, vao) {\n var _gl = this.gl;\n var geometry = renderable.geometry;\n\n var glDrawMode = renderable.mode;\n if (glDrawMode == null) {\n glDrawMode = 0x0004;\n }\n\n // if (glDrawMode === glenum.LINES || glDrawMode === glenum.LINE_STRIP || glDrawMode === glenum.LINE_LOOP) {\n // _gl.lineWidth(this.lineWidth);\n // }\n\n if (vao.indicesBuffer) {\n var uintExt = this.getGLExtension('OES_element_index_uint');\n var useUintExt = uintExt && (geometry.indices instanceof Uint32Array);\n var indicesType = useUintExt ? _gl.UNSIGNED_INT : _gl.UNSIGNED_SHORT;\n\n _gl.drawElements(glDrawMode, vao.indicesBuffer.count, indicesType, 0);\n }\n else {\n // FIXME Use vertex number in buffer\n // vertexCount may get the wrong value when geometry forget to mark dirty after update\n _gl.drawArrays(glDrawMode, 0, geometry.vertexCount);\n }\n },\n\n _bindMaterial: function (renderable, material, program, prevRenderable, prevMaterial, prevProgram, getUniformValue) {\n var _gl = this.gl;\n // PENDING Same texture in different material take different slot?\n\n // May use shader of other material if shader code are same\n var sameProgram = prevProgram === program;\n\n var currentTextureSlot = program.currentTextureSlot();\n var enabledUniforms = material.getEnabledUniforms();\n var textureUniforms = material.getTextureUniforms();\n var placeholderTexture = this._placeholderTexture;\n\n for (var u = 0; u < textureUniforms.length; u++) {\n var symbol = textureUniforms[u];\n var uniformValue = getUniformValue(renderable, material, symbol);\n var uniformType = material.uniforms[symbol].type;\n // Not use `instanceof` to determine if a value is texture in Material#bind.\n // Use type instead, in some case texture may be in different namespaces.\n // TODO Duck type validate.\n if (uniformType === 't' && uniformValue) {\n // Reset slot\n uniformValue.__slot = -1;\n }\n else if (uniformType === 'tv') {\n for (var i = 0; i < uniformValue.length; i++) {\n if (uniformValue[i]) {\n uniformValue[i].__slot = -1;\n }\n }\n }\n }\n\n placeholderTexture.__slot = -1;\n\n // Set uniforms\n for (var u = 0; u < enabledUniforms.length; u++) {\n var symbol = enabledUniforms[u];\n var uniform = material.uniforms[symbol];\n var uniformValue = getUniformValue(renderable, material, symbol);\n var uniformType = uniform.type;\n var isTexture = uniformType === 't';\n\n if (isTexture) {\n if (!uniformValue || !uniformValue.isRenderable()) {\n uniformValue = placeholderTexture;\n }\n }\n // PENDING\n // When binding two materials with the same shader\n // Many uniforms will be be set twice even if they have the same value\n // So add a evaluation to see if the uniform is really needed to be set\n if (prevMaterial && sameProgram) {\n var prevUniformValue = getUniformValue(prevRenderable, prevMaterial, symbol);\n if (isTexture) {\n if (!prevUniformValue || !prevUniformValue.isRenderable()) {\n prevUniformValue = placeholderTexture;\n }\n }\n\n if (prevUniformValue === uniformValue) {\n if (isTexture) {\n // Still take the slot to make sure same texture in different materials have same slot.\n program.takeCurrentTextureSlot(this, null);\n }\n else if (uniformType === 'tv' && uniformValue) {\n for (var i = 0; i < uniformValue.length; i++) {\n program.takeCurrentTextureSlot(this, null);\n }\n }\n continue;\n }\n }\n\n if (uniformValue == null) {\n continue;\n }\n else if (isTexture) {\n if (uniformValue.__slot < 0) {\n var slot = program.currentTextureSlot();\n var res = program.setUniform(_gl, '1i', symbol, slot);\n if (res) { // Texture uniform is enabled\n program.takeCurrentTextureSlot(this, uniformValue);\n uniformValue.__slot = slot;\n }\n }\n // Multiple uniform use same texture..\n else {\n program.setUniform(_gl, '1i', symbol, uniformValue.__slot);\n }\n }\n else if (Array.isArray(uniformValue)) {\n if (uniformValue.length === 0) {\n continue;\n }\n // Texture Array\n if (uniformType === 'tv') {\n if (!program.hasUniform(symbol)) {\n continue;\n }\n\n var arr = [];\n for (var i = 0; i < uniformValue.length; i++) {\n var texture = uniformValue[i];\n\n if (texture.__slot < 0) {\n var slot = program.currentTextureSlot();\n arr.push(slot);\n program.takeCurrentTextureSlot(this, texture);\n texture.__slot = slot;\n }\n else {\n arr.push(texture.__slot);\n }\n }\n\n program.setUniform(_gl, '1iv', symbol, arr);\n }\n else {\n program.setUniform(_gl, uniform.type, symbol, uniformValue);\n }\n }\n else{\n program.setUniform(_gl, uniform.type, symbol, uniformValue);\n }\n }\n var newSlot = program.currentTextureSlot();\n // Texture slot maybe used out of material.\n program.resetTextureSlot(currentTextureSlot);\n return newSlot;\n },\n\n _bindVAO: function (vaoExt, shader, geometry, program) {\n var isStatic = !geometry.dynamic;\n var _gl = this.gl;\n\n var vaoId = this.__uid__ + '-' + program.__uid__;\n var vao = geometry.__vaoCache[vaoId];\n if (!vao) {\n var chunks = geometry.getBufferChunks(this);\n if (!chunks || !chunks.length) { // Empty mesh\n return;\n }\n var chunk = chunks[0];\n var attributeBuffers = chunk.attributeBuffers;\n var indicesBuffer = chunk.indicesBuffer;\n\n var availableAttributes = [];\n var availableAttributeSymbols = [];\n for (var a = 0; a < attributeBuffers.length; a++) {\n var attributeBufferInfo = attributeBuffers[a];\n var name = attributeBufferInfo.name;\n var semantic = attributeBufferInfo.semantic;\n var symbol;\n if (semantic) {\n var semanticInfo = shader.attributeSemantics[semantic];\n symbol = semanticInfo && semanticInfo.symbol;\n }\n else {\n symbol = name;\n }\n if (symbol && program.attributes[symbol]) {\n availableAttributes.push(attributeBufferInfo);\n availableAttributeSymbols.push(symbol);\n }\n }\n\n vao = new VertexArrayObject(\n availableAttributes,\n availableAttributeSymbols,\n indicesBuffer\n );\n\n if (isStatic) {\n geometry.__vaoCache[vaoId] = vao;\n }\n }\n\n var needsBindAttributes = true;\n\n // Create vertex object array cost a lot\n // So we don't use it on the dynamic object\n if (vaoExt && isStatic) {\n // Use vertex array object\n // http://blog.tojicode.com/2012/10/oesvertexarrayobject-extension.html\n if (vao.vao == null) {\n vao.vao = vaoExt.createVertexArrayOES();\n }\n else {\n needsBindAttributes = false;\n }\n vaoExt.bindVertexArrayOES(vao.vao);\n }\n\n var availableAttributes = vao.availableAttributes;\n var indicesBuffer = vao.indicesBuffer;\n\n if (needsBindAttributes) {\n var locationList = program.enableAttributes(this, vao.availableAttributeSymbols, (vaoExt && isStatic && vao));\n // Setting attributes;\n for (var a = 0; a < availableAttributes.length; a++) {\n var location = locationList[a];\n if (location === -1) {\n continue;\n }\n var attributeBufferInfo = availableAttributes[a];\n var buffer = attributeBufferInfo.buffer;\n var size = attributeBufferInfo.size;\n var glType = attributeBufferTypeMap[attributeBufferInfo.type] || _gl.FLOAT;\n\n _gl.bindBuffer(_gl.ARRAY_BUFFER, buffer);\n _gl.vertexAttribPointer(location, size, glType, false, 0, 0);\n }\n\n if (geometry.isUseIndices()) {\n _gl.bindBuffer(_gl.ELEMENT_ARRAY_BUFFER, indicesBuffer.buffer);\n }\n }\n\n return vao;\n },\n\n renderPreZ: function (list, scene, camera) {\n var _gl = this.gl;\n var preZPassMaterial = this._prezMaterial || new __WEBPACK_IMPORTED_MODULE_4__Material__[\"a\" /* default */]({\n shader: new __WEBPACK_IMPORTED_MODULE_7__Shader__[\"a\" /* default */](__WEBPACK_IMPORTED_MODULE_7__Shader__[\"a\" /* default */].source('clay.prez.vertex'), __WEBPACK_IMPORTED_MODULE_7__Shader__[\"a\" /* default */].source('clay.prez.fragment'))\n });\n this._prezMaterial = preZPassMaterial;\n\n _gl.colorMask(false, false, false, false);\n _gl.depthMask(true);\n\n // Status\n this.renderPass(list, camera, {\n ifRender: function (renderable) {\n return !renderable.ignorePreZ;\n },\n isMaterialChanged: function (renderable, prevRenderable) {\n var matA = renderable.material;\n var matB = prevRenderable.material;\n return matA.get('diffuseMap') !== matB.get('diffuseMap')\n || (matA.get('alphaCutoff') || 0) !== (matB.get('alphaCutoff') || 0);\n },\n getUniform: function (renderable, depthMaterial, symbol) {\n if (symbol === 'alphaMap') {\n return renderable.material.get('diffuseMap');\n }\n else if (symbol === 'alphaCutoff') {\n if (renderable.material.isDefined('fragment', 'ALPHA_TEST')\n && renderable.material.get('diffuseMap')\n ) {\n var alphaCutoff = renderable.material.get('alphaCutoff');\n return alphaCutoff || 0;\n }\n return 0;\n }\n else {\n return depthMaterial.get(symbol);\n }\n },\n getMaterial: function () {\n return preZPassMaterial;\n },\n sort: this.opaqueSortCompare\n });\n\n _gl.colorMask(true, true, true, true);\n _gl.depthMask(true);\n },\n\n /**\n * Dispose given scene, including all geometris, textures and shaders in the scene\n * @param {clay.Scene} scene\n */\n disposeScene: function(scene) {\n this.disposeNode(scene, true, true);\n scene.dispose();\n },\n\n /**\n * Dispose given node, including all geometries, textures and shaders attached on it or its descendant\n * @param {clay.Node} node\n * @param {boolean} [disposeGeometry=false] If dispose the geometries used in the descendant mesh\n * @param {boolean} [disposeTexture=false] If dispose the textures used in the descendant mesh\n */\n disposeNode: function(root, disposeGeometry, disposeTexture) {\n // Dettached from parent\n if (root.getParent()) {\n root.getParent().remove(root);\n }\n var disposedMap = {};\n root.traverse(function(node) {\n var material = node.material;\n if (node.geometry && disposeGeometry) {\n node.geometry.dispose(this);\n }\n if (disposeTexture && material && !disposedMap[material.__uid__]) {\n var textureUniforms = material.getTextureUniforms();\n for (var u = 0; u < textureUniforms.length; u++) {\n var uniformName = textureUniforms[u];\n var val = material.uniforms[uniformName].value;\n var uniformType = material.uniforms[uniformName].type;\n if (!val) {\n continue;\n }\n if (uniformType === 't') {\n val.dispose && val.dispose(this);\n }\n else if (uniformType === 'tv') {\n for (var k = 0; k < val.length; k++) {\n if (val[k]) {\n val[k].dispose && val[k].dispose(this);\n }\n }\n }\n }\n disposedMap[material.__uid__] = true;\n }\n // Particle system and AmbientCubemap light need to dispose\n if (node.dispose) {\n node.dispose(this);\n }\n }, this);\n },\n\n /**\n * Dispose given geometry\n * @param {clay.Geometry} geometry\n */\n disposeGeometry: function(geometry) {\n geometry.dispose(this);\n },\n\n /**\n * Dispose given texture\n * @param {clay.Texture} texture\n */\n disposeTexture: function(texture) {\n texture.dispose(this);\n },\n\n /**\n * Dispose given frame buffer\n * @param {clay.FrameBuffer} frameBuffer\n */\n disposeFrameBuffer: function(frameBuffer) {\n frameBuffer.dispose(this);\n },\n\n /**\n * Dispose renderer\n */\n dispose: function () {},\n\n /**\n * Convert screen coords to normalized device coordinates(NDC)\n * Screen coords can get from mouse event, it is positioned relative to canvas element\n * NDC can be used in ray casting with Camera.prototype.castRay methods\n *\n * @param {number} x\n * @param {number} y\n * @param {clay.Vector2} [out]\n * @return {clay.Vector2}\n */\n screenToNDC: function(x, y, out) {\n if (!out) {\n out = new __WEBPACK_IMPORTED_MODULE_5__math_Vector2__[\"a\" /* default */]();\n }\n // Invert y;\n y = this._height - y;\n\n var viewport = this.viewport;\n var arr = out.array;\n arr[0] = (x - viewport.x) / viewport.width;\n arr[0] = arr[0] * 2 - 1;\n arr[1] = (y - viewport.y) / viewport.height;\n arr[1] = arr[1] * 2 - 1;\n\n return out;\n }\n});\n\n/**\n * Opaque renderables compare function\n * @param {clay.Renderable} x\n * @param {clay.Renderable} y\n * @return {boolean}\n * @static\n */\nRenderer.opaqueSortCompare = Renderer.prototype.opaqueSortCompare = function(x, y) {\n // Priority renderOrder -> program -> material -> geometry\n if (x.renderOrder === y.renderOrder) {\n if (x.__program === y.__program) {\n if (x.material === y.material) {\n return x.geometry.__uid__ - y.geometry.__uid__;\n }\n return x.material.__uid__ - y.material.__uid__;\n }\n if (x.__program && y.__program) {\n return x.__program.__uid__ - y.__program.__uid__;\n }\n return 0;\n }\n return x.renderOrder - y.renderOrder;\n};\n\n/**\n * Transparent renderables compare function\n * @param {clay.Renderable} a\n * @param {clay.Renderable} b\n * @return {boolean}\n * @static\n */\nRenderer.transparentSortCompare = Renderer.prototype.transparentSortCompare = function(x, y) {\n // Priority renderOrder -> depth -> program -> material -> geometry\n\n if (x.renderOrder === y.renderOrder) {\n if (x.__depth === y.__depth) {\n if (x.__program === y.__program) {\n if (x.material === y.material) {\n return x.geometry.__uid__ - y.geometry.__uid__;\n }\n return x.material.__uid__ - y.material.__uid__;\n }\n if (x.__program && y.__program) {\n return x.__program.__uid__ - y.__program.__uid__;\n }\n return 0;\n }\n // Depth is negative\n // So farther object has smaller depth value\n return x.__depth - y.__depth;\n }\n return x.renderOrder - y.renderOrder;\n};\n\n// Temporary variables\nvar matrices = {\n IDENTITY: mat4Create(),\n\n WORLD: mat4Create(),\n VIEW: mat4Create(),\n PROJECTION: mat4Create(),\n WORLDVIEW: mat4Create(),\n VIEWPROJECTION: mat4Create(),\n WORLDVIEWPROJECTION: mat4Create(),\n\n WORLDINVERSE: mat4Create(),\n VIEWINVERSE: mat4Create(),\n PROJECTIONINVERSE: mat4Create(),\n WORLDVIEWINVERSE: mat4Create(),\n VIEWPROJECTIONINVERSE: mat4Create(),\n WORLDVIEWPROJECTIONINVERSE: mat4Create(),\n\n WORLDTRANSPOSE: mat4Create(),\n VIEWTRANSPOSE: mat4Create(),\n PROJECTIONTRANSPOSE: mat4Create(),\n WORLDVIEWTRANSPOSE: mat4Create(),\n VIEWPROJECTIONTRANSPOSE: mat4Create(),\n WORLDVIEWPROJECTIONTRANSPOSE: mat4Create(),\n WORLDINVERSETRANSPOSE: mat4Create(),\n VIEWINVERSETRANSPOSE: mat4Create(),\n PROJECTIONINVERSETRANSPOSE: mat4Create(),\n WORLDVIEWINVERSETRANSPOSE: mat4Create(),\n VIEWPROJECTIONINVERSETRANSPOSE: mat4Create(),\n WORLDVIEWPROJECTIONINVERSETRANSPOSE: mat4Create()\n};\n\n/**\n * @name clay.Renderer.COLOR_BUFFER_BIT\n * @type {number}\n */\nRenderer.COLOR_BUFFER_BIT = __WEBPACK_IMPORTED_MODULE_2__core_glenum__[\"a\" /* default */].COLOR_BUFFER_BIT;\n/**\n * @name clay.Renderer.DEPTH_BUFFER_BIT\n * @type {number}\n */\nRenderer.DEPTH_BUFFER_BIT = __WEBPACK_IMPORTED_MODULE_2__core_glenum__[\"a\" /* default */].DEPTH_BUFFER_BIT;\n/**\n * @name clay.Renderer.STENCIL_BUFFER_BIT\n * @type {number}\n */\nRenderer.STENCIL_BUFFER_BIT = __WEBPACK_IMPORTED_MODULE_2__core_glenum__[\"a\" /* default */].STENCIL_BUFFER_BIT;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Renderer);\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction Handler(action, context) {\n this.action = action;\n this.context = context;\n}\n/**\n * @mixin\n * @alias clay.core.mixin.notifier\n */\nvar notifier = {\n /**\n * Trigger event\n * @param {string} name\n */\n trigger: function(name) {\n if (!this.hasOwnProperty('__handlers__')) {\n return;\n }\n if (!this.__handlers__.hasOwnProperty(name)) {\n return;\n }\n\n var hdls = this.__handlers__[name];\n var l = hdls.length, i = -1, args = arguments;\n // Optimize advise from backbone\n switch (args.length) {\n case 1:\n while (++i < l) {\n hdls[i].action.call(hdls[i].context);\n }\n return;\n case 2:\n while (++i < l) {\n hdls[i].action.call(hdls[i].context, args[1]);\n }\n return;\n case 3:\n while (++i < l) {\n hdls[i].action.call(hdls[i].context, args[1], args[2]);\n }\n return;\n case 4:\n while (++i < l) {\n hdls[i].action.call(hdls[i].context, args[1], args[2], args[3]);\n }\n return;\n case 5:\n while (++i < l) {\n hdls[i].action.call(hdls[i].context, args[1], args[2], args[3], args[4]);\n }\n return;\n default:\n while (++i < l) {\n hdls[i].action.apply(hdls[i].context, Array.prototype.slice.call(args, 1));\n }\n return;\n }\n },\n /**\n * Register event handler\n * @param {string} name\n * @param {Function} action\n * @param {Object} [context]\n * @chainable\n */\n on: function(name, action, context) {\n if (!name || !action) {\n return;\n }\n var handlers = this.__handlers__ || (this.__handlers__={});\n if (!handlers[name]) {\n handlers[name] = [];\n }\n else {\n if (this.has(name, action)) {\n return;\n }\n }\n var handler = new Handler(action, context || this);\n handlers[name].push(handler);\n\n return this;\n },\n\n /**\n * Register event, event will only be triggered once and then removed\n * @param {string} name\n * @param {Function} action\n * @param {Object} [context]\n * @chainable\n */\n once: function(name, action, context) {\n if (!name || !action) {\n return;\n }\n var self = this;\n function wrapper() {\n self.off(name, wrapper);\n action.apply(this, arguments);\n }\n return this.on(name, wrapper, context);\n },\n\n /**\n * Alias of once('before' + name)\n * @param {string} name\n * @param {Function} action\n * @param {Object} [context]\n * @chainable\n */\n before: function(name, action, context) {\n if (!name || !action) {\n return;\n }\n name = 'before' + name;\n return this.on(name, action, context);\n },\n\n /**\n * Alias of once('after' + name)\n * @param {string} name\n * @param {Function} action\n * @param {Object} [context]\n * @chainable\n */\n after: function(name, action, context) {\n if (!name || !action) {\n return;\n }\n name = 'after' + name;\n return this.on(name, action, context);\n },\n\n /**\n * Alias of on('success')\n * @param {Function} action\n * @param {Object} [context]\n * @chainable\n */\n success: function(action, context) {\n return this.once('success', action, context);\n },\n\n /**\n * Alias of on('error')\n * @param {Function} action\n * @param {Object} [context]\n * @chainable\n */\n error: function(action, context) {\n return this.once('error', action, context);\n },\n\n /**\n * Remove event listener\n * @param {Function} action\n * @param {Object} [context]\n * @chainable\n */\n off: function(name, action) {\n\n var handlers = this.__handlers__ || (this.__handlers__={});\n\n if (!action) {\n handlers[name] = [];\n return;\n }\n if (handlers[name]) {\n var hdls = handlers[name];\n var retains = [];\n for (var i = 0; i < hdls.length; i++) {\n if (action && hdls[i].action !== action) {\n retains.push(hdls[i]);\n }\n }\n handlers[name] = retains;\n }\n\n return this;\n },\n\n /**\n * If registered the event handler\n * @param {string} name\n * @param {Function} action\n * @return {boolean}\n */\n has: function(name, action) {\n var handlers = this.__handlers__;\n\n if (! handlers ||\n ! handlers[name]) {\n return false;\n }\n var hdls = handlers[name];\n for (var i = 0; i < hdls.length; i++) {\n if (hdls[i].action === action) {\n return true;\n }\n }\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (notifier);\n\n/***/ }),\n/* 54 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__ = __webpack_require__(12);\n\n\n\nvar EPSILON = 1e-5;\n\n/**\n * @constructor\n * @alias clay.Ray\n * @param {clay.Vector3} [origin]\n * @param {clay.Vector3} [direction]\n */\nvar Ray = function (origin, direction) {\n /**\n * @type {clay.Vector3}\n */\n this.origin = origin || new __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */]();\n /**\n * @type {clay.Vector3}\n */\n this.direction = direction || new __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */]();\n};\n\nRay.prototype = {\n\n constructor: Ray,\n\n // http://www.siggraph.org/education/materials/HyperGraph/raytrace/rayplane_intersection.htm\n /**\n * Calculate intersection point between ray and a give plane\n * @param {clay.Plane} plane\n * @param {clay.Vector3} [out]\n * @return {clay.Vector3}\n */\n intersectPlane: function (plane, out) {\n var pn = plane.normal.array;\n var d = plane.distance;\n var ro = this.origin.array;\n var rd = this.direction.array;\n\n var divider = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].dot(pn, rd);\n // ray is parallel to the plane\n if (divider === 0) {\n return null;\n }\n if (!out) {\n out = new __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */]();\n }\n var t = (__WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].dot(pn, ro) - d) / divider;\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].scaleAndAdd(out.array, ro, rd, -t);\n out._dirty = true;\n return out;\n },\n\n /**\n * Mirror the ray against plane\n * @param {clay.Plane} plane\n */\n mirrorAgainstPlane: function (plane) {\n // Distance to plane\n var d = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].dot(plane.normal.array, this.direction.array);\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].scaleAndAdd(this.direction.array, this.direction.array, plane.normal.array, -d * 2);\n this.direction._dirty = true;\n },\n\n distanceToPoint: (function () {\n var v = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].create();\n return function (point) {\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].sub(v, point, this.origin.array);\n // Distance from projection point to origin\n var b = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].dot(v, this.direction.array);\n if (b < 0) {\n return __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].distance(this.origin.array, point);\n }\n // Squared distance from center to origin\n var c2 = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].lenSquared(v);\n // Squared distance from center to projection point\n return Math.sqrt(c2 - b * b);\n };\n })(),\n\n /**\n * Calculate intersection point between ray and sphere\n * @param {clay.Vector3} center\n * @param {number} radius\n * @param {clay.Vector3} out\n * @return {clay.Vector3}\n */\n intersectSphere: (function () {\n var v = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].create();\n return function (center, radius, out) {\n var origin = this.origin.array;\n var direction = this.direction.array;\n center = center.array;\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].sub(v, center, origin);\n // Distance from projection point to origin\n var b = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].dot(v, direction);\n // Squared distance from center to origin\n var c2 = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].squaredLength(v);\n // Squared distance from center to projection point\n var d2 = c2 - b * b;\n\n var r2 = radius * radius;\n // No intersection\n if (d2 > r2) {\n return;\n }\n\n var a = Math.sqrt(r2 - d2);\n // First intersect point\n var t0 = b - a;\n // Second intersect point\n var t1 = b + a;\n\n if (!out) {\n out = new __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */]();\n }\n if (t0 < 0) {\n if (t1 < 0) {\n return null;\n }\n else {\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].scaleAndAdd(out.array, origin, direction, t1);\n return out;\n }\n }\n else {\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].scaleAndAdd(out.array, origin, direction, t0);\n return out;\n }\n };\n })(),\n\n // http://www.scratchapixel.com/lessons/3d-basic-lessons/lesson-7-intersecting-simple-shapes/ray-box-intersection/\n /**\n * Calculate intersection point between ray and bounding box\n * @param {clay.BoundingBox} bbox\n * @param {clay.Vector3}\n * @return {clay.Vector3}\n */\n intersectBoundingBox: function (bbox, out) {\n var dir = this.direction.array;\n var origin = this.origin.array;\n var min = bbox.min.array;\n var max = bbox.max.array;\n\n var invdirx = 1 / dir[0];\n var invdiry = 1 / dir[1];\n var invdirz = 1 / dir[2];\n\n var tmin, tmax, tymin, tymax, tzmin, tzmax;\n if (invdirx >= 0) {\n tmin = (min[0] - origin[0]) * invdirx;\n tmax = (max[0] - origin[0]) * invdirx;\n }\n else {\n tmax = (min[0] - origin[0]) * invdirx;\n tmin = (max[0] - origin[0]) * invdirx;\n }\n if (invdiry >= 0) {\n tymin = (min[1] - origin[1]) * invdiry;\n tymax = (max[1] - origin[1]) * invdiry;\n }\n else {\n tymax = (min[1] - origin[1]) * invdiry;\n tymin = (max[1] - origin[1]) * invdiry;\n }\n\n if ((tmin > tymax) || (tymin > tmax)) {\n return null;\n }\n\n if (tymin > tmin || tmin !== tmin) {\n tmin = tymin;\n }\n if (tymax < tmax || tmax !== tmax) {\n tmax = tymax;\n }\n\n if (invdirz >= 0) {\n tzmin = (min[2] - origin[2]) * invdirz;\n tzmax = (max[2] - origin[2]) * invdirz;\n }\n else {\n tzmax = (min[2] - origin[2]) * invdirz;\n tzmin = (max[2] - origin[2]) * invdirz;\n }\n\n if ((tmin > tzmax) || (tzmin > tmax)) {\n return null;\n }\n\n if (tzmin > tmin || tmin !== tmin) {\n tmin = tzmin;\n }\n if (tzmax < tmax || tmax !== tmax) {\n tmax = tzmax;\n }\n if (tmax < 0) {\n return null;\n }\n\n var t = tmin >= 0 ? tmin : tmax;\n\n if (!out) {\n out = new __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */]();\n }\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].scaleAndAdd(out.array, origin, dir, t);\n return out;\n },\n\n // http://en.wikipedia.org/wiki/M%C3%B6ller%E2%80%93Trumbore_intersection_algorithm\n /**\n * Calculate intersection point between ray and three triangle vertices\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @param {clay.Vector3} c\n * @param {boolean} singleSided, CW triangle will be ignored\n * @param {clay.Vector3} [out]\n * @param {clay.Vector3} [barycenteric] barycentric coords\n * @return {clay.Vector3}\n */\n intersectTriangle: (function () {\n\n var eBA = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].create();\n var eCA = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].create();\n var AO = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].create();\n var vCross = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].create();\n\n return function (a, b, c, singleSided, out, barycenteric) {\n var dir = this.direction.array;\n var origin = this.origin.array;\n a = a.array;\n b = b.array;\n c = c.array;\n\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].sub(eBA, b, a);\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].sub(eCA, c, a);\n\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].cross(vCross, eCA, dir);\n\n var det = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].dot(eBA, vCross);\n\n if (singleSided) {\n if (det > -EPSILON) {\n return null;\n }\n }\n else {\n if (det > -EPSILON && det < EPSILON) {\n return null;\n }\n }\n\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].sub(AO, origin, a);\n var u = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].dot(vCross, AO) / det;\n if (u < 0 || u > 1) {\n return null;\n }\n\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].cross(vCross, eBA, AO);\n var v = __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].dot(dir, vCross) / det;\n\n if (v < 0 || v > 1 || (u + v > 1)) {\n return null;\n }\n\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].cross(vCross, eBA, eCA);\n var t = -__WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].dot(AO, vCross) / det;\n\n if (t < 0) {\n return null;\n }\n\n if (!out) {\n out = new __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */]();\n }\n if (barycenteric) {\n __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */].set(barycenteric, (1 - u - v), u, v);\n }\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_vec3__[\"a\" /* default */].scaleAndAdd(out.array, origin, dir, t);\n\n return out;\n };\n })(),\n\n /**\n * Apply an affine transform matrix to the ray\n * @return {clay.Matrix4} matrix\n */\n applyTransform: function (matrix) {\n __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */].add(this.direction, this.direction, this.origin);\n __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */].transformMat4(this.origin, this.origin, matrix);\n __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */].transformMat4(this.direction, this.direction, matrix);\n\n __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */].sub(this.direction, this.direction, this.origin);\n __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */].normalize(this.direction, this.direction);\n },\n\n /**\n * Copy values from another ray\n * @param {clay.Ray} ray\n */\n copy: function (ray) {\n __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */].copy(this.origin, ray.origin);\n __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */].copy(this.direction, ray.direction);\n },\n\n /**\n * Clone a new ray\n * @return {clay.Ray}\n */\n clone: function () {\n var ray = new Ray();\n ray.copy(this);\n return ray;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Ray);\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__vec3__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__vec4__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mat3__ = __webpack_require__(34);\n\n\n/* Copyright (c) 2013, Brandon Jones, Colin MacKenzie IV. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */\n\n\n\n\n\n\n\n/**\n * @class Quaternion\n * @name quat\n */\n\nvar quat = {};\n\n/**\n * Creates a new identity quat\n *\n * @returns {quat} a new quaternion\n */\nquat.create = function() {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](4);\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n return out;\n};\n\n/**\n * Sets a quaternion to represent the shortest rotation from one\n * vector to another.\n *\n * Both vectors are assumed to be unit length.\n *\n * @param {quat} out the receiving quaternion.\n * @param {vec3} a the initial vector\n * @param {vec3} b the destination vector\n * @returns {quat} out\n */\nquat.rotationTo = (function() {\n var tmpvec3 = __WEBPACK_IMPORTED_MODULE_1__vec3__[\"a\" /* default */].create();\n var xUnitVec3 = __WEBPACK_IMPORTED_MODULE_1__vec3__[\"a\" /* default */].fromValues(1,0,0);\n var yUnitVec3 = __WEBPACK_IMPORTED_MODULE_1__vec3__[\"a\" /* default */].fromValues(0,1,0);\n\n return function(out, a, b) {\n var dot = __WEBPACK_IMPORTED_MODULE_1__vec3__[\"a\" /* default */].dot(a, b);\n if (dot < -0.999999) {\n __WEBPACK_IMPORTED_MODULE_1__vec3__[\"a\" /* default */].cross(tmpvec3, xUnitVec3, a);\n if (__WEBPACK_IMPORTED_MODULE_1__vec3__[\"a\" /* default */].length(tmpvec3) < 0.000001)\n __WEBPACK_IMPORTED_MODULE_1__vec3__[\"a\" /* default */].cross(tmpvec3, yUnitVec3, a);\n __WEBPACK_IMPORTED_MODULE_1__vec3__[\"a\" /* default */].normalize(tmpvec3, tmpvec3);\n quat.setAxisAngle(out, tmpvec3, Math.PI);\n return out;\n } else if (dot > 0.999999) {\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n return out;\n } else {\n __WEBPACK_IMPORTED_MODULE_1__vec3__[\"a\" /* default */].cross(tmpvec3, a, b);\n out[0] = tmpvec3[0];\n out[1] = tmpvec3[1];\n out[2] = tmpvec3[2];\n out[3] = 1 + dot;\n return quat.normalize(out, out);\n }\n };\n})();\n\n/**\n * Sets the specified quaternion with values corresponding to the given\n * axes. Each axis is a vec3 and is expected to be unit length and\n * perpendicular to all other specified axes.\n *\n * @param {vec3} view the vector representing the viewing direction\n * @param {vec3} right the vector representing the local \"right\" direction\n * @param {vec3} up the vector representing the local \"up\" direction\n * @returns {quat} out\n */\nquat.setAxes = (function() {\n var matr = __WEBPACK_IMPORTED_MODULE_3__mat3__[\"a\" /* default */].create();\n\n return function(out, view, right, up) {\n matr[0] = right[0];\n matr[3] = right[1];\n matr[6] = right[2];\n\n matr[1] = up[0];\n matr[4] = up[1];\n matr[7] = up[2];\n\n matr[2] = -view[0];\n matr[5] = -view[1];\n matr[8] = -view[2];\n\n return quat.normalize(out, quat.fromMat3(out, matr));\n };\n})();\n\n/**\n * Creates a new quat initialized with values from an existing quaternion\n *\n * @param {quat} a quaternion to clone\n * @returns {quat} a new quaternion\n * @function\n */\nquat.clone = __WEBPACK_IMPORTED_MODULE_2__vec4__[\"a\" /* default */].clone;\n\n/**\n * Creates a new quat initialized with the given values\n *\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @param {Number} w W component\n * @returns {quat} a new quaternion\n * @function\n */\nquat.fromValues = __WEBPACK_IMPORTED_MODULE_2__vec4__[\"a\" /* default */].fromValues;\n\n/**\n * Copy the values from one quat to another\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a the source quaternion\n * @returns {quat} out\n * @function\n */\nquat.copy = __WEBPACK_IMPORTED_MODULE_2__vec4__[\"a\" /* default */].copy;\n\n/**\n * Set the components of a quat to the given values\n *\n * @param {quat} out the receiving quaternion\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @param {Number} w W component\n * @returns {quat} out\n * @function\n */\nquat.set = __WEBPACK_IMPORTED_MODULE_2__vec4__[\"a\" /* default */].set;\n\n/**\n * Set a quat to the identity quaternion\n *\n * @param {quat} out the receiving quaternion\n * @returns {quat} out\n */\nquat.identity = function(out) {\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n return out;\n};\n\n/**\n * Sets a quat from the given angle and rotation axis,\n * then returns it.\n *\n * @param {quat} out the receiving quaternion\n * @param {vec3} axis the axis around which to rotate\n * @param {Number} rad the angle in radians\n * @returns {quat} out\n **/\nquat.setAxisAngle = function(out, axis, rad) {\n rad = rad * 0.5;\n var s = Math.sin(rad);\n out[0] = s * axis[0];\n out[1] = s * axis[1];\n out[2] = s * axis[2];\n out[3] = Math.cos(rad);\n return out;\n};\n\n/**\n * Adds two quat's\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a the first operand\n * @param {quat} b the second operand\n * @returns {quat} out\n * @function\n */\nquat.add = __WEBPACK_IMPORTED_MODULE_2__vec4__[\"a\" /* default */].add;\n\n/**\n * Multiplies two quat's\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a the first operand\n * @param {quat} b the second operand\n * @returns {quat} out\n */\nquat.multiply = function(out, a, b) {\n var ax = a[0], ay = a[1], az = a[2], aw = a[3],\n bx = b[0], by = b[1], bz = b[2], bw = b[3];\n\n out[0] = ax * bw + aw * bx + ay * bz - az * by;\n out[1] = ay * bw + aw * by + az * bx - ax * bz;\n out[2] = az * bw + aw * bz + ax * by - ay * bx;\n out[3] = aw * bw - ax * bx - ay * by - az * bz;\n return out;\n};\n\n/**\n * Alias for {@link quat.multiply}\n * @function\n */\nquat.mul = quat.multiply;\n\n/**\n * Scales a quat by a scalar number\n *\n * @param {quat} out the receiving vector\n * @param {quat} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {quat} out\n * @function\n */\nquat.scale = __WEBPACK_IMPORTED_MODULE_2__vec4__[\"a\" /* default */].scale;\n\n/**\n * Rotates a quaternion by the given angle about the X axis\n *\n * @param {quat} out quat receiving operation result\n * @param {quat} a quat to rotate\n * @param {number} rad angle (in radians) to rotate\n * @returns {quat} out\n */\nquat.rotateX = function (out, a, rad) {\n rad *= 0.5;\n\n var ax = a[0], ay = a[1], az = a[2], aw = a[3],\n bx = Math.sin(rad), bw = Math.cos(rad);\n\n out[0] = ax * bw + aw * bx;\n out[1] = ay * bw + az * bx;\n out[2] = az * bw - ay * bx;\n out[3] = aw * bw - ax * bx;\n return out;\n};\n\n/**\n * Rotates a quaternion by the given angle about the Y axis\n *\n * @param {quat} out quat receiving operation result\n * @param {quat} a quat to rotate\n * @param {number} rad angle (in radians) to rotate\n * @returns {quat} out\n */\nquat.rotateY = function (out, a, rad) {\n rad *= 0.5;\n\n var ax = a[0], ay = a[1], az = a[2], aw = a[3],\n by = Math.sin(rad), bw = Math.cos(rad);\n\n out[0] = ax * bw - az * by;\n out[1] = ay * bw + aw * by;\n out[2] = az * bw + ax * by;\n out[3] = aw * bw - ay * by;\n return out;\n};\n\n/**\n * Rotates a quaternion by the given angle about the Z axis\n *\n * @param {quat} out quat receiving operation result\n * @param {quat} a quat to rotate\n * @param {number} rad angle (in radians) to rotate\n * @returns {quat} out\n */\nquat.rotateZ = function (out, a, rad) {\n rad *= 0.5;\n\n var ax = a[0], ay = a[1], az = a[2], aw = a[3],\n bz = Math.sin(rad), bw = Math.cos(rad);\n\n out[0] = ax * bw + ay * bz;\n out[1] = ay * bw - ax * bz;\n out[2] = az * bw + aw * bz;\n out[3] = aw * bw - az * bz;\n return out;\n};\n\n/**\n * Calculates the W component of a quat from the X, Y, and Z components.\n * Assumes that quaternion is 1 unit in length.\n * Any existing W component will be ignored.\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a quat to calculate W component of\n * @returns {quat} out\n */\nquat.calculateW = function (out, a) {\n var x = a[0], y = a[1], z = a[2];\n\n out[0] = x;\n out[1] = y;\n out[2] = z;\n out[3] = Math.sqrt(Math.abs(1.0 - x * x - y * y - z * z));\n return out;\n};\n\n/**\n * Calculates the dot product of two quat's\n *\n * @param {quat} a the first operand\n * @param {quat} b the second operand\n * @returns {Number} dot product of a and b\n * @function\n */\nquat.dot = __WEBPACK_IMPORTED_MODULE_2__vec4__[\"a\" /* default */].dot;\n\n/**\n * Performs a linear interpolation between two quat's\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a the first operand\n * @param {quat} b the second operand\n * @param {Number} t interpolation amount between the two inputs\n * @returns {quat} out\n * @function\n */\nquat.lerp = __WEBPACK_IMPORTED_MODULE_2__vec4__[\"a\" /* default */].lerp;\n\n/**\n * Performs a spherical linear interpolation between two quat\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a the first operand\n * @param {quat} b the second operand\n * @param {Number} t interpolation amount between the two inputs\n * @returns {quat} out\n */\nquat.slerp = function (out, a, b, t) {\n // benchmarks:\n // http://jsperf.com/quaternion-slerp-implementations\n\n var ax = a[0], ay = a[1], az = a[2], aw = a[3],\n bx = b[0], by = b[1], bz = b[2], bw = b[3];\n\n var omega, cosom, sinom, scale0, scale1;\n\n // calc cosine\n cosom = ax * bx + ay * by + az * bz + aw * bw;\n // adjust signs (if necessary)\n if ( cosom < 0.0 ) {\n cosom = -cosom;\n bx = - bx;\n by = - by;\n bz = - bz;\n bw = - bw;\n }\n // calculate coefficients\n if ( (1.0 - cosom) > 0.000001 ) {\n // standard case (slerp)\n omega = Math.acos(cosom);\n sinom = Math.sin(omega);\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\n scale1 = Math.sin(t * omega) / sinom;\n } else {\n // \"from\" and \"to\" quaternions are very close\n // ... so we can do a linear interpolation\n scale0 = 1.0 - t;\n scale1 = t;\n }\n // calculate final values\n out[0] = scale0 * ax + scale1 * bx;\n out[1] = scale0 * ay + scale1 * by;\n out[2] = scale0 * az + scale1 * bz;\n out[3] = scale0 * aw + scale1 * bw;\n\n return out;\n};\n\n/**\n * Calculates the inverse of a quat\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a quat to calculate inverse of\n * @returns {quat} out\n */\nquat.invert = function(out, a) {\n var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3],\n dot = a0*a0 + a1*a1 + a2*a2 + a3*a3,\n invDot = dot ? 1.0/dot : 0;\n\n // TODO: Would be faster to return [0,0,0,0] immediately if dot == 0\n\n out[0] = -a0*invDot;\n out[1] = -a1*invDot;\n out[2] = -a2*invDot;\n out[3] = a3*invDot;\n return out;\n};\n\n/**\n * Calculates the conjugate of a quat\n * If the quaternion is normalized, this function is faster than quat.inverse and produces the same result.\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a quat to calculate conjugate of\n * @returns {quat} out\n */\nquat.conjugate = function (out, a) {\n out[0] = -a[0];\n out[1] = -a[1];\n out[2] = -a[2];\n out[3] = a[3];\n return out;\n};\n\n/**\n * Calculates the length of a quat\n *\n * @param {quat} a vector to calculate length of\n * @returns {Number} length of a\n * @function\n */\nquat.length = __WEBPACK_IMPORTED_MODULE_2__vec4__[\"a\" /* default */].length;\n\n/**\n * Alias for {@link quat.length}\n * @function\n */\nquat.len = quat.length;\n\n/**\n * Calculates the squared length of a quat\n *\n * @param {quat} a vector to calculate squared length of\n * @returns {Number} squared length of a\n * @function\n */\nquat.squaredLength = __WEBPACK_IMPORTED_MODULE_2__vec4__[\"a\" /* default */].squaredLength;\n\n/**\n * Alias for {@link quat.squaredLength}\n * @function\n */\nquat.sqrLen = quat.squaredLength;\n\n/**\n * Normalize a quat\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a quaternion to normalize\n * @returns {quat} out\n * @function\n */\nquat.normalize = __WEBPACK_IMPORTED_MODULE_2__vec4__[\"a\" /* default */].normalize;\n\n/**\n * Creates a quaternion from the given 3x3 rotation matrix.\n *\n * NOTE: The resultant quaternion is not normalized, so you should be sure\n * to renormalize the quaternion yourself where necessary.\n *\n * @param {quat} out the receiving quaternion\n * @param {mat3} m rotation matrix\n * @returns {quat} out\n * @function\n */\nquat.fromMat3 = function(out, m) {\n // Algorithm in Ken Shoemake's article in 1987 SIGGRAPH course notes\n // article \"Quaternion Calculus and Fast Animation\".\n var fTrace = m[0] + m[4] + m[8];\n var fRoot;\n\n if ( fTrace > 0.0 ) {\n // |w| > 1/2, may as well choose w > 1/2\n fRoot = Math.sqrt(fTrace + 1.0); // 2w\n out[3] = 0.5 * fRoot;\n fRoot = 0.5/fRoot; // 1/(4w)\n out[0] = (m[5]-m[7])*fRoot;\n out[1] = (m[6]-m[2])*fRoot;\n out[2] = (m[1]-m[3])*fRoot;\n } else {\n // |w| <= 1/2\n var i = 0;\n if ( m[4] > m[0] )\n i = 1;\n if ( m[8] > m[i*3+i] )\n i = 2;\n var j = (i+1)%3;\n var k = (i+2)%3;\n\n fRoot = Math.sqrt(m[i*3+i]-m[j*3+j]-m[k*3+k] + 1.0);\n out[i] = 0.5 * fRoot;\n fRoot = 0.5 / fRoot;\n out[3] = (m[j*3+k] - m[k*3+j]) * fRoot;\n out[j] = (m[j*3+i] + m[i*3+j]) * fRoot;\n out[k] = (m[k*3+i] + m[i*3+k]) * fRoot;\n }\n\n return out;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (quat);\n\n/***/ }),\n/* 56 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__glmatrix_mat3__ = __webpack_require__(34);\n\n\n\n/**\n * @constructor\n * @alias clay.Quaternion\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @param {number} w\n */\nvar Quaternion = function (x, y, z, w) {\n\n x = x || 0;\n y = y || 0;\n z = z || 0;\n w = w === undefined ? 1 : w;\n\n /**\n * Storage of Quaternion, read and write of x, y, z, w will change the values in array\n * All methods also operate on the array instead of x, y, z, w components\n * @name array\n * @type {Float32Array}\n * @memberOf clay.Quaternion#\n */\n this.array = __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].fromValues(x, y, z, w);\n\n /**\n * Dirty flag is used by the Node to determine\n * if the matrix is updated to latest\n * @name _dirty\n * @type {boolean}\n * @memberOf clay.Quaternion#\n */\n this._dirty = true;\n};\n\nQuaternion.prototype = {\n\n constructor: Quaternion,\n\n /**\n * Add b to self\n * @param {clay.Quaternion} b\n * @return {clay.Quaternion}\n */\n add: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].add(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Calculate the w component from x, y, z component\n * @return {clay.Quaternion}\n */\n calculateW: function () {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].calculateW(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Set x, y and z components\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @param {number} w\n * @return {clay.Quaternion}\n */\n set: function (x, y, z, w) {\n this.array[0] = x;\n this.array[1] = y;\n this.array[2] = z;\n this.array[3] = w;\n this._dirty = true;\n return this;\n },\n\n /**\n * Set x, y, z and w components from array\n * @param {Float32Array|number[]} arr\n * @return {clay.Quaternion}\n */\n setArray: function (arr) {\n this.array[0] = arr[0];\n this.array[1] = arr[1];\n this.array[2] = arr[2];\n this.array[3] = arr[3];\n\n this._dirty = true;\n return this;\n },\n\n /**\n * Clone a new Quaternion\n * @return {clay.Quaternion}\n */\n clone: function () {\n return new Quaternion(this.x, this.y, this.z, this.w);\n },\n\n /**\n * Calculates the conjugate of self If the quaternion is normalized,\n * this function is faster than invert and produces the same result.\n *\n * @return {clay.Quaternion}\n */\n conjugate: function () {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].conjugate(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Copy from b\n * @param {clay.Quaternion} b\n * @return {clay.Quaternion}\n */\n copy: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].copy(this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Dot product of self and b\n * @param {clay.Quaternion} b\n * @return {number}\n */\n dot: function (b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].dot(this.array, b.array);\n },\n\n /**\n * Set from the given 3x3 rotation matrix\n * @param {clay.Matrix3} m\n * @return {clay.Quaternion}\n */\n fromMat3: function (m) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].fromMat3(this.array, m.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Set from the given 4x4 rotation matrix\n * The 4th column and 4th row will be droped\n * @param {clay.Matrix4} m\n * @return {clay.Quaternion}\n */\n fromMat4: (function () {\n var m3 = __WEBPACK_IMPORTED_MODULE_1__glmatrix_mat3__[\"a\" /* default */].create();\n return function (m) {\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_mat3__[\"a\" /* default */].fromMat4(m3, m.array);\n // TODO Not like mat4, mat3 in glmatrix seems to be row-based\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_mat3__[\"a\" /* default */].transpose(m3, m3);\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].fromMat3(this.array, m3);\n this._dirty = true;\n return this;\n };\n })(),\n\n /**\n * Set to identity quaternion\n * @return {clay.Quaternion}\n */\n identity: function () {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].identity(this.array);\n this._dirty = true;\n return this;\n },\n /**\n * Invert self\n * @return {clay.Quaternion}\n */\n invert: function () {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].invert(this.array, this.array);\n this._dirty = true;\n return this;\n },\n /**\n * Alias of length\n * @return {number}\n */\n len: function () {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].len(this.array);\n },\n\n /**\n * Calculate the length\n * @return {number}\n */\n length: function () {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].length(this.array);\n },\n\n /**\n * Linear interpolation between a and b\n * @param {clay.Quaternion} a\n * @param {clay.Quaternion} b\n * @param {number} t\n * @return {clay.Quaternion}\n */\n lerp: function (a, b, t) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].lerp(this.array, a.array, b.array, t);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for multiply\n * @param {clay.Quaternion} b\n * @return {clay.Quaternion}\n */\n mul: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].mul(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for multiplyLeft\n * @param {clay.Quaternion} a\n * @return {clay.Quaternion}\n */\n mulLeft: function (a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].multiply(this.array, a.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Mutiply self and b\n * @param {clay.Quaternion} b\n * @return {clay.Quaternion}\n */\n multiply: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].multiply(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Mutiply a and self\n * Quaternion mutiply is not commutative, so the result of mutiplyLeft is different with multiply.\n * @param {clay.Quaternion} a\n * @return {clay.Quaternion}\n */\n multiplyLeft: function (a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].multiply(this.array, a.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Normalize self\n * @return {clay.Quaternion}\n */\n normalize: function () {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].normalize(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Rotate self by a given radian about X axis\n * @param {number} rad\n * @return {clay.Quaternion}\n */\n rotateX: function (rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].rotateX(this.array, this.array, rad);\n this._dirty = true;\n return this;\n },\n\n /**\n * Rotate self by a given radian about Y axis\n * @param {number} rad\n * @return {clay.Quaternion}\n */\n rotateY: function (rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].rotateY(this.array, this.array, rad);\n this._dirty = true;\n return this;\n },\n\n /**\n * Rotate self by a given radian about Z axis\n * @param {number} rad\n * @return {clay.Quaternion}\n */\n rotateZ: function (rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].rotateZ(this.array, this.array, rad);\n this._dirty = true;\n return this;\n },\n\n /**\n * Sets self to represent the shortest rotation from Vector3 a to Vector3 b.\n * a and b needs to be normalized\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {clay.Quaternion}\n */\n rotationTo: function (a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].rotationTo(this.array, a.array, b.array);\n this._dirty = true;\n return this;\n },\n /**\n * Sets self with values corresponding to the given axes\n * @param {clay.Vector3} view\n * @param {clay.Vector3} right\n * @param {clay.Vector3} up\n * @return {clay.Quaternion}\n */\n setAxes: function (view, right, up) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].setAxes(this.array, view.array, right.array, up.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Sets self with a rotation axis and rotation angle\n * @param {clay.Vector3} axis\n * @param {number} rad\n * @return {clay.Quaternion}\n */\n setAxisAngle: function (axis, rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].setAxisAngle(this.array, axis.array, rad);\n this._dirty = true;\n return this;\n },\n /**\n * Perform spherical linear interpolation between a and b\n * @param {clay.Quaternion} a\n * @param {clay.Quaternion} b\n * @param {number} t\n * @return {clay.Quaternion}\n */\n slerp: function (a, b, t) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].slerp(this.array, a.array, b.array, t);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for squaredLength\n * @return {number}\n */\n sqrLen: function () {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].sqrLen(this.array);\n },\n\n /**\n * Squared length of self\n * @return {number}\n */\n squaredLength: function () {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].squaredLength(this.array);\n },\n\n /**\n * Set from euler\n * @param {clay.Vector3} v\n * @param {String} order\n */\n fromEuler: function (v, order) {\n return Quaternion.fromEuler(this, v, order);\n },\n\n toString: function () {\n return '[' + Array.prototype.join.call(this.array, ',') + ']';\n },\n\n toArray: function () {\n return Array.prototype.slice.call(this.array);\n }\n};\n\nvar defineProperty = Object.defineProperty;\n// Getter and Setter\nif (defineProperty) {\n\n var proto = Quaternion.prototype;\n /**\n * @name x\n * @type {number}\n * @memberOf clay.Quaternion\n * @instance\n */\n defineProperty(proto, 'x', {\n get: function () {\n return this.array[0];\n },\n set: function (value) {\n this.array[0] = value;\n this._dirty = true;\n }\n });\n\n /**\n * @name y\n * @type {number}\n * @memberOf clay.Quaternion\n * @instance\n */\n defineProperty(proto, 'y', {\n get: function () {\n return this.array[1];\n },\n set: function (value) {\n this.array[1] = value;\n this._dirty = true;\n }\n });\n\n /**\n * @name z\n * @type {number}\n * @memberOf clay.Quaternion\n * @instance\n */\n defineProperty(proto, 'z', {\n get: function () {\n return this.array[2];\n },\n set: function (value) {\n this.array[2] = value;\n this._dirty = true;\n }\n });\n\n /**\n * @name w\n * @type {number}\n * @memberOf clay.Quaternion\n * @instance\n */\n defineProperty(proto, 'w', {\n get: function () {\n return this.array[3];\n },\n set: function (value) {\n this.array[3] = value;\n this._dirty = true;\n }\n });\n}\n\n// Supply methods that are not in place\n\n/**\n * @param {clay.Quaternion} out\n * @param {clay.Quaternion} a\n * @param {clay.Quaternion} b\n * @return {clay.Quaternion}\n */\nQuaternion.add = function (out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].add(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Quaternion} out\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @param {number} w\n * @return {clay.Quaternion}\n */\nQuaternion.set = function (out, x, y, z, w) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].set(out.array, x, y, z, w);\n out._dirty = true;\n};\n\n/**\n * @param {clay.Quaternion} out\n * @param {clay.Quaternion} b\n * @return {clay.Quaternion}\n */\nQuaternion.copy = function (out, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].copy(out.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Quaternion} out\n * @param {clay.Quaternion} a\n * @return {clay.Quaternion}\n */\nQuaternion.calculateW = function (out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].calculateW(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Quaternion} out\n * @param {clay.Quaternion} a\n * @return {clay.Quaternion}\n */\nQuaternion.conjugate = function (out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].conjugate(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Quaternion} out\n * @return {clay.Quaternion}\n */\nQuaternion.identity = function (out) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].identity(out.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Quaternion} out\n * @param {clay.Quaternion} a\n * @return {clay.Quaternion}\n */\nQuaternion.invert = function (out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].invert(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Quaternion} a\n * @param {clay.Quaternion} b\n * @return {number}\n */\nQuaternion.dot = function (a, b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].dot(a.array, b.array);\n};\n\n/**\n * @param {clay.Quaternion} a\n * @return {number}\n */\nQuaternion.len = function (a) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].length(a.array);\n};\n\n// Quaternion.length = Quaternion.len;\n\n/**\n * @param {clay.Quaternion} out\n * @param {clay.Quaternion} a\n * @param {clay.Quaternion} b\n * @param {number} t\n * @return {clay.Quaternion}\n */\nQuaternion.lerp = function (out, a, b, t) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].lerp(out.array, a.array, b.array, t);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Quaternion} out\n * @param {clay.Quaternion} a\n * @param {clay.Quaternion} b\n * @param {number} t\n * @return {clay.Quaternion}\n */\nQuaternion.slerp = function (out, a, b, t) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].slerp(out.array, a.array, b.array, t);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Quaternion} out\n * @param {clay.Quaternion} a\n * @param {clay.Quaternion} b\n * @return {clay.Quaternion}\n */\nQuaternion.mul = function (out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].multiply(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @function\n * @param {clay.Quaternion} out\n * @param {clay.Quaternion} a\n * @param {clay.Quaternion} b\n * @return {clay.Quaternion}\n */\nQuaternion.multiply = Quaternion.mul;\n\n/**\n * @param {clay.Quaternion} out\n * @param {clay.Quaternion} a\n * @param {number} rad\n * @return {clay.Quaternion}\n */\nQuaternion.rotateX = function (out, a, rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].rotateX(out.array, a.array, rad);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Quaternion} out\n * @param {clay.Quaternion} a\n * @param {number} rad\n * @return {clay.Quaternion}\n */\nQuaternion.rotateY = function (out, a, rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].rotateY(out.array, a.array, rad);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Quaternion} out\n * @param {clay.Quaternion} a\n * @param {number} rad\n * @return {clay.Quaternion}\n */\nQuaternion.rotateZ = function (out, a, rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].rotateZ(out.array, a.array, rad);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Quaternion} out\n * @param {clay.Vector3} axis\n * @param {number} rad\n * @return {clay.Quaternion}\n */\nQuaternion.setAxisAngle = function (out, axis, rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].setAxisAngle(out.array, axis.array, rad);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Quaternion} out\n * @param {clay.Quaternion} a\n * @return {clay.Quaternion}\n */\nQuaternion.normalize = function (out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].normalize(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Quaternion} a\n * @return {number}\n */\nQuaternion.sqrLen = function (a) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].sqrLen(a.array);\n};\n\n/**\n * @function\n * @param {clay.Quaternion} a\n * @return {number}\n */\nQuaternion.squaredLength = Quaternion.sqrLen;\n\n/**\n * @param {clay.Quaternion} out\n * @param {clay.Matrix3} m\n * @return {clay.Quaternion}\n */\nQuaternion.fromMat3 = function (out, m) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].fromMat3(out.array, m.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Quaternion} out\n * @param {clay.Vector3} view\n * @param {clay.Vector3} right\n * @param {clay.Vector3} up\n * @return {clay.Quaternion}\n */\nQuaternion.setAxes = function (out, view, right, up) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].setAxes(out.array, view.array, right.array, up.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Quaternion} out\n * @param {clay.Vector3} a\n * @param {clay.Vector3} b\n * @return {clay.Quaternion}\n */\nQuaternion.rotationTo = function (out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_quat__[\"a\" /* default */].rotationTo(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * Set quaternion from euler\n * @param {clay.Quaternion} out\n * @param {clay.Vector3} v\n * @param {String} order\n */\nQuaternion.fromEuler = function (out, v, order) {\n\n out._dirty = true;\n\n v = v.array;\n var target = out.array;\n var c1 = Math.cos(v[0] / 2);\n var c2 = Math.cos(v[1] / 2);\n var c3 = Math.cos(v[2] / 2);\n var s1 = Math.sin(v[0] / 2);\n var s2 = Math.sin(v[1] / 2);\n var s3 = Math.sin(v[2] / 2);\n\n var order = (order || 'XYZ').toUpperCase();\n\n // http://www.mathworks.com/matlabcentral/fileexchange/\n // 20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/\n // content/SpinCalc.m\n\n switch (order) {\n case 'XYZ':\n target[0] = s1 * c2 * c3 + c1 * s2 * s3;\n target[1] = c1 * s2 * c3 - s1 * c2 * s3;\n target[2] = c1 * c2 * s3 + s1 * s2 * c3;\n target[3] = c1 * c2 * c3 - s1 * s2 * s3;\n break;\n case 'YXZ':\n target[0] = s1 * c2 * c3 + c1 * s2 * s3;\n target[1] = c1 * s2 * c3 - s1 * c2 * s3;\n target[2] = c1 * c2 * s3 - s1 * s2 * c3;\n target[3] = c1 * c2 * c3 + s1 * s2 * s3;\n break;\n case 'ZXY':\n target[0] = s1 * c2 * c3 - c1 * s2 * s3;\n target[1] = c1 * s2 * c3 + s1 * c2 * s3;\n target[2] = c1 * c2 * s3 + s1 * s2 * c3;\n target[3] = c1 * c2 * c3 - s1 * s2 * s3;\n break;\n case 'ZYX':\n target[0] = s1 * c2 * c3 - c1 * s2 * s3;\n target[1] = c1 * s2 * c3 + s1 * c2 * s3;\n target[2] = c1 * c2 * s3 - s1 * s2 * c3;\n target[3] = c1 * c2 * c3 + s1 * s2 * s3;\n break;\n case 'YZX':\n target[0] = s1 * c2 * c3 + c1 * s2 * s3;\n target[1] = c1 * s2 * c3 + s1 * c2 * s3;\n target[2] = c1 * c2 * s3 - s1 * s2 * c3;\n target[3] = c1 * c2 * c3 - s1 * s2 * s3;\n break;\n case 'XZY':\n target[0] = s1 * c2 * c3 - c1 * s2 * s3;\n target[1] = c1 * s2 * c3 - s1 * c2 * s3;\n target[2] = c1 * c2 * s3 + s1 * s2 * c3;\n target[3] = c1 * c2 * c3 + s1 * s2 * s3;\n break;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Quaternion);\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar DIRTY_PREFIX = '__dt__';\n\nvar Cache = function () {\n\n this._contextId = 0;\n\n this._caches = [];\n\n this._context = {};\n};\n\nCache.prototype = {\n\n use: function (contextId, documentSchema) {\n var caches = this._caches;\n if (!caches[contextId]) {\n caches[contextId] = {};\n\n if (documentSchema) {\n caches[contextId] = documentSchema();\n }\n }\n this._contextId = contextId;\n\n this._context = caches[contextId];\n },\n\n put: function (key, value) {\n this._context[key] = value;\n },\n\n get: function (key) {\n return this._context[key];\n },\n\n dirty: function (field) {\n field = field || '';\n var key = DIRTY_PREFIX + field;\n this.put(key, true);\n },\n\n dirtyAll: function (field) {\n field = field || '';\n var key = DIRTY_PREFIX + field;\n var caches = this._caches;\n for (var i = 0; i < caches.length; i++) {\n if (caches[i]) {\n caches[i][key] = true;\n }\n }\n },\n\n fresh: function (field) {\n field = field || '';\n var key = DIRTY_PREFIX + field;\n this.put(key, false);\n },\n\n freshAll: function (field) {\n field = field || '';\n var key = DIRTY_PREFIX + field;\n var caches = this._caches;\n for (var i = 0; i < caches.length; i++) {\n if (caches[i]) {\n caches[i][key] = false;\n }\n }\n },\n\n isDirty: function (field) {\n field = field || '';\n var key = DIRTY_PREFIX + field;\n var context = this._context;\n return !context.hasOwnProperty(key)\n || context[key] === true;\n },\n\n deleteContext: function (contextId) {\n delete this._caches[contextId];\n this._context = {};\n },\n\n delete: function (key) {\n delete this._context[key];\n },\n\n clearAll: function () {\n this._caches = {};\n },\n\n getContext: function () {\n return this._context;\n },\n\n eachContext : function (cb, context) {\n var keys = Object.keys(this._caches);\n keys.forEach(function (key) {\n cb && cb.call(context, key);\n });\n },\n\n miss: function (key) {\n return ! this._context.hasOwnProperty(key);\n }\n};\n\nCache.prototype.constructor = Cache;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Cache);\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Node__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math_Matrix4__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__math_Frustum__ = __webpack_require__(59);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__math_Ray__ = __webpack_require__(54);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__glmatrix_vec4__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__glmatrix_vec3__ = __webpack_require__(12);\n\n\n\n\n\n\n\n\n\n/**\n * @constructor clay.Camera\n * @extends clay.Node\n */\nvar Camera = __WEBPACK_IMPORTED_MODULE_0__Node__[\"a\" /* default */].extend(function () {\n return /** @lends clay.Camera# */ {\n /**\n * Camera projection matrix\n * @type {clay.Matrix4}\n */\n projectionMatrix: new __WEBPACK_IMPORTED_MODULE_1__math_Matrix4__[\"a\" /* default */](),\n\n /**\n * Inverse of camera projection matrix\n * @type {clay.Matrix4}\n */\n invProjectionMatrix: new __WEBPACK_IMPORTED_MODULE_1__math_Matrix4__[\"a\" /* default */](),\n\n /**\n * View matrix, equal to inverse of camera's world matrix\n * @type {clay.Matrix4}\n */\n viewMatrix: new __WEBPACK_IMPORTED_MODULE_1__math_Matrix4__[\"a\" /* default */](),\n\n /**\n * Camera frustum in view space\n * @type {clay.Frustum}\n */\n frustum: new __WEBPACK_IMPORTED_MODULE_2__math_Frustum__[\"a\" /* default */]()\n };\n}, function () {\n this.update(true);\n},\n/** @lends clay.Camera.prototype */\n{\n\n update: function (force) {\n __WEBPACK_IMPORTED_MODULE_0__Node__[\"a\" /* default */].prototype.update.call(this, force);\n __WEBPACK_IMPORTED_MODULE_1__math_Matrix4__[\"a\" /* default */].invert(this.viewMatrix, this.worldTransform);\n\n this.updateProjectionMatrix();\n __WEBPACK_IMPORTED_MODULE_1__math_Matrix4__[\"a\" /* default */].invert(this.invProjectionMatrix, this.projectionMatrix);\n\n this.frustum.setFromProjection(this.projectionMatrix);\n },\n\n /**\n * Set camera view matrix\n */\n setViewMatrix: function (viewMatrix) {\n __WEBPACK_IMPORTED_MODULE_1__math_Matrix4__[\"a\" /* default */].copy(this.viewMatrix, viewMatrix);\n __WEBPACK_IMPORTED_MODULE_1__math_Matrix4__[\"a\" /* default */].invert(this.worldTransform, viewMatrix);\n this.decomposeWorldTransform();\n },\n\n /**\n * Decompose camera projection matrix\n */\n decomposeProjectionMatrix: function () {},\n\n /**\n * Set camera projection matrix\n * @param {clay.Matrix4} projectionMatrix\n */\n setProjectionMatrix: function (projectionMatrix) {\n __WEBPACK_IMPORTED_MODULE_1__math_Matrix4__[\"a\" /* default */].copy(this.projectionMatrix, projectionMatrix);\n __WEBPACK_IMPORTED_MODULE_1__math_Matrix4__[\"a\" /* default */].invert(this.invProjectionMatrix, projectionMatrix);\n this.decomposeProjectionMatrix();\n },\n /**\n * Update projection matrix, called after update\n */\n updateProjectionMatrix: function () {},\n\n /**\n * Cast a picking ray from camera near plane to far plane\n * @function\n * @param {clay.Vector2} ndc\n * @param {clay.Ray} [out]\n * @return {clay.Ray}\n */\n castRay: (function () {\n var v4 = __WEBPACK_IMPORTED_MODULE_4__glmatrix_vec4__[\"a\" /* default */].create();\n return function (ndc, out) {\n var ray = out !== undefined ? out : new __WEBPACK_IMPORTED_MODULE_3__math_Ray__[\"a\" /* default */]();\n var x = ndc.array[0];\n var y = ndc.array[1];\n __WEBPACK_IMPORTED_MODULE_4__glmatrix_vec4__[\"a\" /* default */].set(v4, x, y, -1, 1);\n __WEBPACK_IMPORTED_MODULE_4__glmatrix_vec4__[\"a\" /* default */].transformMat4(v4, v4, this.invProjectionMatrix.array);\n __WEBPACK_IMPORTED_MODULE_4__glmatrix_vec4__[\"a\" /* default */].transformMat4(v4, v4, this.worldTransform.array);\n __WEBPACK_IMPORTED_MODULE_5__glmatrix_vec3__[\"a\" /* default */].scale(ray.origin.array, v4, 1 / v4[3]);\n\n __WEBPACK_IMPORTED_MODULE_4__glmatrix_vec4__[\"a\" /* default */].set(v4, x, y, 1, 1);\n __WEBPACK_IMPORTED_MODULE_4__glmatrix_vec4__[\"a\" /* default */].transformMat4(v4, v4, this.invProjectionMatrix.array);\n __WEBPACK_IMPORTED_MODULE_4__glmatrix_vec4__[\"a\" /* default */].transformMat4(v4, v4, this.worldTransform.array);\n __WEBPACK_IMPORTED_MODULE_5__glmatrix_vec3__[\"a\" /* default */].scale(v4, v4, 1 / v4[3]);\n __WEBPACK_IMPORTED_MODULE_5__glmatrix_vec3__[\"a\" /* default */].sub(ray.direction.array, v4, ray.origin.array);\n\n __WEBPACK_IMPORTED_MODULE_5__glmatrix_vec3__[\"a\" /* default */].normalize(ray.direction.array, ray.direction.array);\n ray.direction._dirty = true;\n ray.origin._dirty = true;\n\n return ray;\n };\n })(),\n\n /**\n * @function\n * @name clone\n * @return {clay.Camera}\n * @memberOf clay.Camera.prototype\n */\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Camera);\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__BoundingBox__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Plane__ = __webpack_require__(74);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__ = __webpack_require__(12);\n\n\n\n\n\nvar vec3Set = __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].set;\nvar vec3Copy = __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].copy;\nvar vec3TranformMat4 = __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].transformMat4;\nvar mathMin = Math.min;\nvar mathMax = Math.max;\n/**\n * @constructor\n * @alias clay.Frustum\n */\nvar Frustum = function() {\n\n /**\n * Eight planes to enclose the frustum\n * @type {clay.Plane[]}\n */\n this.planes = [];\n\n for (var i = 0; i < 6; i++) {\n this.planes.push(new __WEBPACK_IMPORTED_MODULE_1__Plane__[\"a\" /* default */]());\n }\n\n /**\n * Bounding box of frustum\n * @type {clay.BoundingBox}\n */\n this.boundingBox = new __WEBPACK_IMPORTED_MODULE_0__BoundingBox__[\"a\" /* default */]();\n\n /**\n * Eight vertices of frustum\n * @type {Float32Array[]}\n */\n this.vertices = [];\n for (var i = 0; i < 8; i++) {\n this.vertices[i] = __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].fromValues(0, 0, 0);\n }\n};\n\nFrustum.prototype = {\n\n // http://web.archive.org/web/20120531231005/http://crazyjoke.free.fr/doc/3D/plane%20extraction.pdf\n /**\n * Set frustum from a projection matrix\n * @param {clay.Matrix4} projectionMatrix\n */\n setFromProjection: function(projectionMatrix) {\n\n var planes = this.planes;\n var m = projectionMatrix.array;\n var m0 = m[0], m1 = m[1], m2 = m[2], m3 = m[3];\n var m4 = m[4], m5 = m[5], m6 = m[6], m7 = m[7];\n var m8 = m[8], m9 = m[9], m10 = m[10], m11 = m[11];\n var m12 = m[12], m13 = m[13], m14 = m[14], m15 = m[15];\n\n // Update planes\n vec3Set(planes[0].normal.array, m3 - m0, m7 - m4, m11 - m8);\n planes[0].distance = -(m15 - m12);\n planes[0].normalize();\n\n vec3Set(planes[1].normal.array, m3 + m0, m7 + m4, m11 + m8);\n planes[1].distance = -(m15 + m12);\n planes[1].normalize();\n\n vec3Set(planes[2].normal.array, m3 + m1, m7 + m5, m11 + m9);\n planes[2].distance = -(m15 + m13);\n planes[2].normalize();\n\n vec3Set(planes[3].normal.array, m3 - m1, m7 - m5, m11 - m9);\n planes[3].distance = -(m15 - m13);\n planes[3].normalize();\n\n vec3Set(planes[4].normal.array, m3 - m2, m7 - m6, m11 - m10);\n planes[4].distance = -(m15 - m14);\n planes[4].normalize();\n\n vec3Set(planes[5].normal.array, m3 + m2, m7 + m6, m11 + m10);\n planes[5].distance = -(m15 + m14);\n planes[5].normalize();\n\n // Perspective projection\n var boundingBox = this.boundingBox;\n var vertices = this.vertices;\n if (m15 === 0) {\n var aspect = m5 / m0;\n var zNear = -m14 / (m10 - 1);\n var zFar = -m14 / (m10 + 1);\n var farY = -zFar / m5;\n var nearY = -zNear / m5;\n // Update bounding box\n boundingBox.min.set(-farY * aspect, -farY, zFar);\n boundingBox.max.set(farY * aspect, farY, zNear);\n // update vertices\n //--- min z\n // min x\n vec3Set(vertices[0], -farY * aspect, -farY, zFar);\n vec3Set(vertices[1], -farY * aspect, farY, zFar);\n // max x\n vec3Set(vertices[2], farY * aspect, -farY, zFar);\n vec3Set(vertices[3], farY * aspect, farY, zFar);\n //-- max z\n vec3Set(vertices[4], -nearY * aspect, -nearY, zNear);\n vec3Set(vertices[5], -nearY * aspect, nearY, zNear);\n vec3Set(vertices[6], nearY * aspect, -nearY, zNear);\n vec3Set(vertices[7], nearY * aspect, nearY, zNear);\n }\n else { // Orthographic projection\n var left = (-1 - m12) / m0;\n var right = (1 - m12) / m0;\n var top = (1 - m13) / m5;\n var bottom = (-1 - m13) / m5;\n var near = (-1 - m14) / m10;\n var far = (1 - m14) / m10;\n\n\n boundingBox.min.set(Math.min(left, right), Math.min(bottom, top), Math.min(far, near));\n boundingBox.max.set(Math.max(right, left), Math.max(top, bottom), Math.max(near, far));\n\n var min = boundingBox.min.array;\n var max = boundingBox.max.array;\n //--- min z\n // min x\n vec3Set(vertices[0], min[0], min[1], min[2]);\n vec3Set(vertices[1], min[0], max[1], min[2]);\n // max x\n vec3Set(vertices[2], max[0], min[1], min[2]);\n vec3Set(vertices[3], max[0], max[1], min[2]);\n //-- max z\n vec3Set(vertices[4], min[0], min[1], max[2]);\n vec3Set(vertices[5], min[0], max[1], max[2]);\n vec3Set(vertices[6], max[0], min[1], max[2]);\n vec3Set(vertices[7], max[0], max[1], max[2]);\n }\n },\n\n /**\n * Apply a affine transform matrix and set to the given bounding box\n * @function\n * @param {clay.BoundingBox}\n * @param {clay.Matrix4}\n * @return {clay.BoundingBox}\n */\n getTransformedBoundingBox: (function() {\n\n var tmpVec3 = __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].create();\n\n return function(bbox, matrix) {\n var vertices = this.vertices;\n\n var m4 = matrix.array;\n var min = bbox.min;\n var max = bbox.max;\n var minArr = min.array;\n var maxArr = max.array;\n var v = vertices[0];\n vec3TranformMat4(tmpVec3, v, m4);\n vec3Copy(minArr, tmpVec3);\n vec3Copy(maxArr, tmpVec3);\n\n for (var i = 1; i < 8; i++) {\n v = vertices[i];\n vec3TranformMat4(tmpVec3, v, m4);\n\n minArr[0] = mathMin(tmpVec3[0], minArr[0]);\n minArr[1] = mathMin(tmpVec3[1], minArr[1]);\n minArr[2] = mathMin(tmpVec3[2], minArr[2]);\n\n maxArr[0] = mathMax(tmpVec3[0], maxArr[0]);\n maxArr[1] = mathMax(tmpVec3[1], maxArr[1]);\n maxArr[2] = mathMax(tmpVec3[2], maxArr[2]);\n }\n\n min._dirty = true;\n max._dirty = true;\n\n return bbox;\n };\n }) ()\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (Frustum);\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports) {\n\n// Simple LRU cache use doubly linked list\n// @module zrender/core/LRU\n\n/**\n * Simple double linked list. Compared with array, it has O(1) remove operation.\n * @constructor\n */\nvar LinkedList = function () {\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n this.head = null;\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n\n this.tail = null;\n this._len = 0;\n};\n\nvar linkedListProto = LinkedList.prototype;\n/**\n * Insert a new value at the tail\n * @param {} val\n * @return {module:zrender/core/LRU~Entry}\n */\n\nlinkedListProto.insert = function (val) {\n var entry = new Entry(val);\n this.insertEntry(entry);\n return entry;\n};\n/**\n * Insert an entry at the tail\n * @param {module:zrender/core/LRU~Entry} entry\n */\n\n\nlinkedListProto.insertEntry = function (entry) {\n if (!this.head) {\n this.head = this.tail = entry;\n } else {\n this.tail.next = entry;\n entry.prev = this.tail;\n entry.next = null;\n this.tail = entry;\n }\n\n this._len++;\n};\n/**\n * Remove entry.\n * @param {module:zrender/core/LRU~Entry} entry\n */\n\n\nlinkedListProto.remove = function (entry) {\n var prev = entry.prev;\n var next = entry.next;\n\n if (prev) {\n prev.next = next;\n } else {\n // Is head\n this.head = next;\n }\n\n if (next) {\n next.prev = prev;\n } else {\n // Is tail\n this.tail = prev;\n }\n\n entry.next = entry.prev = null;\n this._len--;\n};\n/**\n * @return {number}\n */\n\n\nlinkedListProto.len = function () {\n return this._len;\n};\n/**\n * Clear list\n */\n\n\nlinkedListProto.clear = function () {\n this.head = this.tail = null;\n this._len = 0;\n};\n/**\n * @constructor\n * @param {} val\n */\n\n\nvar Entry = function (val) {\n /**\n * @type {}\n */\n this.value = val;\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n\n this.next;\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n\n this.prev;\n};\n/**\n * LRU Cache\n * @constructor\n * @alias module:zrender/core/LRU\n */\n\n\nvar LRU = function (maxSize) {\n this._list = new LinkedList();\n this._map = {};\n this._maxSize = maxSize || 10;\n this._lastRemovedEntry = null;\n};\n\nvar LRUProto = LRU.prototype;\n/**\n * @param {string} key\n * @param {} value\n * @return {} Removed value\n */\n\nLRUProto.put = function (key, value) {\n var list = this._list;\n var map = this._map;\n var removed = null;\n\n if (map[key] == null) {\n var len = list.len(); // Reuse last removed entry\n\n var entry = this._lastRemovedEntry;\n\n if (len >= this._maxSize && len > 0) {\n // Remove the least recently used\n var leastUsedEntry = list.head;\n list.remove(leastUsedEntry);\n delete map[leastUsedEntry.key];\n removed = leastUsedEntry.value;\n this._lastRemovedEntry = leastUsedEntry;\n }\n\n if (entry) {\n entry.value = value;\n } else {\n entry = new Entry(value);\n }\n\n entry.key = key;\n list.insertEntry(entry);\n map[key] = entry;\n }\n\n return removed;\n};\n/**\n * @param {string} key\n * @return {}\n */\n\n\nLRUProto.get = function (key) {\n var entry = this._map[key];\n var list = this._list;\n\n if (entry != null) {\n // Put the latest used entry in the tail\n if (entry !== list.tail) {\n list.remove(entry);\n list.insertEntry(entry);\n }\n\n return entry.value;\n }\n};\n/**\n * Clear the cache\n */\n\n\nLRUProto.clear = function () {\n this._list.clear();\n\n this._map = {};\n};\n\nvar _default = LRU;\nmodule.exports = _default;\n\n/***/ }),\n/* 61 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__TextureCube__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_vendor__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__prePass_EnvironmentMap__ = __webpack_require__(62);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__plugin_Skydome__ = __webpack_require__(75);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Scene__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__dds__ = __webpack_require__(122);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__hdr__ = __webpack_require__(123);\n\n\n\n\n\n\n\n\n\n\n/**\n * @alias clay.util.texture\n */\nvar textureUtil = {\n /**\n * @param {string|object} path\n * @param {object} [option]\n * @param {Function} [onsuccess]\n * @param {Function} [onerror]\n * @return {clay.Texture}\n */\n loadTexture: function (path, option, onsuccess, onerror) {\n var texture;\n if (typeof(option) === 'function') {\n onsuccess = option;\n onerror = onsuccess;\n option = {};\n }\n else {\n option = option || {};\n }\n if (typeof(path) === 'string') {\n if (path.match(/.hdr$/) || option.fileType === 'hdr') {\n texture = new __WEBPACK_IMPORTED_MODULE_0__Texture2D__[\"a\" /* default */]({\n width: 0,\n height: 0,\n sRGB: false\n });\n textureUtil._fetchTexture(\n path,\n function (data) {\n __WEBPACK_IMPORTED_MODULE_7__hdr__[\"a\" /* default */].parseRGBE(data, texture, option.exposure);\n texture.dirty();\n onsuccess && onsuccess(texture);\n },\n onerror\n );\n return texture;\n }\n else if (path.match(/.dds$/) || option.fileType === 'dds') {\n texture = new __WEBPACK_IMPORTED_MODULE_0__Texture2D__[\"a\" /* default */]({\n width: 0,\n height: 0\n });\n textureUtil._fetchTexture(\n path,\n function (data) {\n __WEBPACK_IMPORTED_MODULE_6__dds__[\"a\" /* default */].parse(data, texture);\n texture.dirty();\n onsuccess && onsuccess(texture);\n },\n onerror\n );\n }\n else {\n texture = new __WEBPACK_IMPORTED_MODULE_0__Texture2D__[\"a\" /* default */]();\n texture.load(path);\n texture.success(onsuccess);\n texture.error(onerror);\n }\n }\n else if (typeof path === 'object' && typeof(path.px) !== 'undefined') {\n texture = new __WEBPACK_IMPORTED_MODULE_1__TextureCube__[\"a\" /* default */]();\n texture.load(path);\n texture.success(onsuccess);\n texture.error(onerror);\n }\n return texture;\n },\n\n /**\n * Load a panorama texture and render it to a cube map\n * @param {clay.Renderer} renderer\n * @param {string} path\n * @param {clay.TextureCube} cubeMap\n * @param {object} [option]\n * @param {boolean} [option.encodeRGBM]\n * @param {number} [option.exposure]\n * @param {Function} [onsuccess]\n * @param {Function} [onerror]\n */\n loadPanorama: function (renderer, path, cubeMap, option, onsuccess, onerror) {\n var self = this;\n\n if (typeof(option) === 'function') {\n onsuccess = option;\n onerror = onsuccess;\n option = {};\n }\n else {\n option = option || {};\n }\n\n textureUtil.loadTexture(path, option, function (texture) {\n // PENDING\n texture.flipY = option.flipY || false;\n self.panoramaToCubeMap(renderer, texture, cubeMap, option);\n texture.dispose(renderer);\n onsuccess && onsuccess(cubeMap);\n }, onerror);\n },\n\n /**\n * Render a panorama texture to a cube map\n * @param {clay.Renderer} renderer\n * @param {clay.Texture2D} panoramaMap\n * @param {clay.TextureCube} cubeMap\n * @param {Object} option\n * @param {boolean} [option.encodeRGBM]\n */\n panoramaToCubeMap: function (renderer, panoramaMap, cubeMap, option) {\n var environmentMapPass = new __WEBPACK_IMPORTED_MODULE_3__prePass_EnvironmentMap__[\"a\" /* default */]();\n var skydome = new __WEBPACK_IMPORTED_MODULE_4__plugin_Skydome__[\"a\" /* default */]({\n scene: new __WEBPACK_IMPORTED_MODULE_5__Scene__[\"a\" /* default */]()\n });\n skydome.setEnvironmentMap(panoramaMap);\n\n option = option || {};\n if (option.encodeRGBM) {\n skydome.material.define('fragment', 'RGBM_ENCODE');\n }\n\n // Share sRGB\n cubeMap.sRGB = panoramaMap.sRGB;\n\n environmentMapPass.texture = cubeMap;\n environmentMapPass.render(renderer, skydome.scene);\n environmentMapPass.texture = null;\n environmentMapPass.dispose(renderer);\n return cubeMap;\n },\n\n /**\n * Convert height map to normal map\n * @param {HTMLImageElement|HTMLCanvasElement} image\n * @param {boolean} [checkBump=false]\n * @return {HTMLCanvasElement}\n */\n heightToNormal: function (image, checkBump) {\n var canvas = document.createElement('canvas');\n var width = canvas.width = image.width;\n var height = canvas.height = image.height;\n var ctx = canvas.getContext('2d');\n ctx.drawImage(image, 0, 0, width, height);\n checkBump = checkBump || false;\n var srcData = ctx.getImageData(0, 0, width, height);\n var dstData = ctx.createImageData(width, height);\n for (var i = 0; i < srcData.data.length; i += 4) {\n if (checkBump) {\n var r = srcData.data[i];\n var g = srcData.data[i + 1];\n var b = srcData.data[i + 2];\n var diff = Math.abs(r - g) + Math.abs(g - b);\n if (diff > 20) {\n console.warn('Given image is not a height map');\n return image;\n }\n }\n // Modified from http://mrdoob.com/lab/javascript/height2normal/\n var x1, y1, x2, y2;\n if (i % (width * 4) === 0) {\n // left edge\n x1 = srcData.data[i];\n x2 = srcData.data[i + 4];\n }\n else if (i % (width * 4) === (width - 1) * 4) {\n // right edge\n x1 = srcData.data[i - 4];\n x2 = srcData.data[i];\n }\n else {\n x1 = srcData.data[i - 4];\n x2 = srcData.data[i + 4];\n }\n\n if (i < width * 4) {\n // top edge\n y1 = srcData.data[i];\n y2 = srcData.data[i + width * 4];\n }\n else if (i > width * (height - 1) * 4) {\n // bottom edge\n y1 = srcData.data[i - width * 4];\n y2 = srcData.data[i];\n }\n else {\n y1 = srcData.data[i - width * 4];\n y2 = srcData.data[i + width * 4];\n }\n\n dstData.data[i] = (x1 - x2) + 127;\n dstData.data[i + 1] = (y1 - y2) + 127;\n dstData.data[i + 2] = 255;\n dstData.data[i + 3] = 255;\n }\n ctx.putImageData(dstData, 0, 0);\n return canvas;\n },\n\n /**\n * Convert height map to normal map\n * @param {HTMLImageElement|HTMLCanvasElement} image\n * @param {boolean} [checkBump=false]\n * @param {number} [threshold=20]\n * @return {HTMLCanvasElement}\n */\n isHeightImage: function (img, downScaleSize, threshold) {\n if (!img || !img.width || !img.height) {\n return false;\n }\n\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n var size = downScaleSize || 32;\n threshold = threshold || 20;\n canvas.width = canvas.height = size;\n ctx.drawImage(img, 0, 0, size, size);\n var srcData = ctx.getImageData(0, 0, size, size);\n for (var i = 0; i < srcData.data.length; i += 4) {\n var r = srcData.data[i];\n var g = srcData.data[i + 1];\n var b = srcData.data[i + 2];\n var diff = Math.abs(r - g) + Math.abs(g - b);\n if (diff > threshold) {\n return false;\n }\n }\n return true;\n },\n\n _fetchTexture: function (path, onsuccess, onerror) {\n __WEBPACK_IMPORTED_MODULE_2__core_vendor__[\"a\" /* default */].request.get({\n url: path,\n responseType: 'arraybuffer',\n onload: onsuccess,\n onerror: onerror\n });\n },\n\n /**\n * Create a chessboard texture\n * @param {number} [size]\n * @param {number} [unitSize]\n * @param {string} [color1]\n * @param {string} [color2]\n * @return {clay.Texture2D}\n */\n createChessboard: function (size, unitSize, color1, color2) {\n size = size || 512;\n unitSize = unitSize || 64;\n color1 = color1 || 'black';\n color2 = color2 || 'white';\n\n var repeat = Math.ceil(size / unitSize);\n\n var canvas = document.createElement('canvas');\n canvas.width = size;\n canvas.height = size;\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = color2;\n ctx.fillRect(0, 0, size, size);\n\n ctx.fillStyle = color1;\n for (var i = 0; i < repeat; i++) {\n for (var j = 0; j < repeat; j++) {\n var isFill = j % 2 ? (i % 2) : (i % 2 - 1);\n if (isFill) {\n ctx.fillRect(i * unitSize, j * unitSize, unitSize, unitSize);\n }\n }\n }\n\n var texture = new __WEBPACK_IMPORTED_MODULE_0__Texture2D__[\"a\" /* default */]({\n image: canvas,\n anisotropic: 8\n });\n\n return texture;\n },\n\n /**\n * Create a blank pure color 1x1 texture\n * @param {string} color\n * @return {clay.Texture2D}\n */\n createBlank: function (color) {\n var canvas = document.createElement('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = color;\n ctx.fillRect(0, 0, 1, 1);\n\n var texture = new __WEBPACK_IMPORTED_MODULE_0__Texture2D__[\"a\" /* default */]({\n image: canvas\n });\n\n return texture;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (textureUtil);\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_Base__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math_Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__camera_Perspective__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__FrameBuffer__ = __webpack_require__(10);\n\n\n\n\n\nvar targets = ['px', 'nx', 'py', 'ny', 'pz', 'nz'];\n\n/**\n * Pass rendering scene to a environment cube map\n *\n * @constructor clay.prePass.EnvironmentMap\n * @extends clay.core.Base\n * @example\n * // Example of car reflection\n * var envMap = new clay.TextureCube({\n * width: 256,\n * height: 256\n * });\n * var envPass = new clay.prePass.EnvironmentMap({\n * position: car.position,\n * texture: envMap\n * });\n * var carBody = car.getChildByName('body');\n * carBody.material.enableTexture('environmentMap');\n * carBody.material.set('environmentMap', envMap);\n * ...\n * animation.on('frame', function(frameTime) {\n * envPass.render(renderer, scene);\n * renderer.render(scene, camera);\n * });\n */\nvar EnvironmentMapPass = __WEBPACK_IMPORTED_MODULE_0__core_Base__[\"a\" /* default */].extend(function() {\n var ret = /** @lends clay.prePass.EnvironmentMap# */ {\n /**\n * Camera position\n * @type {clay.Vector3}\n * @memberOf clay.prePass.EnvironmentMap#\n */\n position: new __WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */](),\n /**\n * Camera far plane\n * @type {number}\n * @memberOf clay.prePass.EnvironmentMap#\n */\n far: 1000,\n /**\n * Camera near plane\n * @type {number}\n * @memberOf clay.prePass.EnvironmentMap#\n */\n near: 0.1,\n /**\n * Environment cube map\n * @type {clay.TextureCube}\n * @memberOf clay.prePass.EnvironmentMap#\n */\n texture: null,\n\n /**\n * Used if you wan't have shadow in environment map\n * @type {clay.prePass.ShadowMap}\n */\n shadowMapPass: null,\n };\n var cameras = ret._cameras = {\n px: new __WEBPACK_IMPORTED_MODULE_2__camera_Perspective__[\"a\" /* default */]({ fov: 90 }),\n nx: new __WEBPACK_IMPORTED_MODULE_2__camera_Perspective__[\"a\" /* default */]({ fov: 90 }),\n py: new __WEBPACK_IMPORTED_MODULE_2__camera_Perspective__[\"a\" /* default */]({ fov: 90 }),\n ny: new __WEBPACK_IMPORTED_MODULE_2__camera_Perspective__[\"a\" /* default */]({ fov: 90 }),\n pz: new __WEBPACK_IMPORTED_MODULE_2__camera_Perspective__[\"a\" /* default */]({ fov: 90 }),\n nz: new __WEBPACK_IMPORTED_MODULE_2__camera_Perspective__[\"a\" /* default */]({ fov: 90 })\n };\n cameras.px.lookAt(__WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */].POSITIVE_X, __WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */].NEGATIVE_Y);\n cameras.nx.lookAt(__WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */].NEGATIVE_X, __WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */].NEGATIVE_Y);\n cameras.py.lookAt(__WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */].POSITIVE_Y, __WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */].POSITIVE_Z);\n cameras.ny.lookAt(__WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */].NEGATIVE_Y, __WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */].NEGATIVE_Z);\n cameras.pz.lookAt(__WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */].POSITIVE_Z, __WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */].NEGATIVE_Y);\n cameras.nz.lookAt(__WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */].NEGATIVE_Z, __WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */].NEGATIVE_Y);\n\n // FIXME In windows, use one framebuffer only renders one side of cubemap\n ret._frameBuffer = new __WEBPACK_IMPORTED_MODULE_3__FrameBuffer__[\"a\" /* default */]();\n\n return ret;\n}, /** @lends clay.prePass.EnvironmentMap# */ {\n /**\n * @param {string} target\n * @return {clay.Camera}\n */\n getCamera: function (target) {\n return this._cameras[target];\n },\n /**\n * @param {clay.Renderer} renderer\n * @param {clay.Scene} scene\n * @param {boolean} [notUpdateScene=false]\n */\n render: function(renderer, scene, notUpdateScene) {\n var _gl = renderer.gl;\n if (!notUpdateScene) {\n scene.update();\n }\n // Tweak fov\n // http://the-witness.net/news/2012/02/seamless-cube-map-filtering/\n var n = this.texture.width;\n var fov = 2 * Math.atan(n / (n - 0.5)) / Math.PI * 180;\n\n for (var i = 0; i < 6; i++) {\n var target = targets[i];\n var camera = this._cameras[target];\n __WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */].copy(camera.position, this.position);\n\n camera.far = this.far;\n camera.near = this.near;\n camera.fov = fov;\n\n if (this.shadowMapPass) {\n camera.update();\n\n // update boundingBoxLastFrame\n var bbox = scene.getBoundingBox();\n bbox.applyTransform(camera.viewMatrix);\n scene.viewBoundingBoxLastFrame.copy(bbox);\n\n this.shadowMapPass.render(renderer, scene, camera, true);\n }\n this._frameBuffer.attach(\n this.texture, _gl.COLOR_ATTACHMENT0,\n _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i\n );\n this._frameBuffer.bind(renderer);\n renderer.render(scene, camera, true);\n this._frameBuffer.unbind(renderer);\n }\n },\n /**\n * @param {clay.Renderer} renderer\n */\n dispose: function (renderer) {\n this._frameBuffer.dispose(renderer);\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (EnvironmentMapPass);\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__geometry_Sprites__ = __webpack_require__(165);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__shader_labels_glsl_js__ = __webpack_require__(166);\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0__graphicGL__[\"a\" /* default */].Shader.import(__WEBPACK_IMPORTED_MODULE_2__shader_labels_glsl_js__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0__graphicGL__[\"a\" /* default */].Mesh.extend(function () {\n var geometry = new __WEBPACK_IMPORTED_MODULE_1__geometry_Sprites__[\"a\" /* default */]({\n dynamic: true\n });\n var material = new __WEBPACK_IMPORTED_MODULE_0__graphicGL__[\"a\" /* default */].Material({\n shader: __WEBPACK_IMPORTED_MODULE_0__graphicGL__[\"a\" /* default */].createShader('ecgl.labels'),\n transparent: true,\n depthMask: false\n });\n\n return {\n geometry: geometry,\n material: material,\n culling: false,\n castShadow: false,\n ignorePicking: true\n };\n}));\n\n/***/ }),\n/* 64 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_earcut__ = __webpack_require__(204);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_geometry_Lines3D__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_retrieve__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_geometry_trianglesSortMixin__ = __webpack_require__(65);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__LabelsBuilder__ = __webpack_require__(66);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util_shader_lines3D_glsl_js__ = __webpack_require__(46);\n\n\n\n\n\n\n\n\n\n\nvar vec3 = __WEBPACK_IMPORTED_MODULE_5_claygl_src_dep_glmatrix__[\"a\" /* default */].vec3;\n\n__WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.import(__WEBPACK_IMPORTED_MODULE_8__util_shader_lines3D_glsl_js__[\"a\" /* default */]);\n\nfunction Geo3DBuilder(api) {\n\n this.rootNode = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n\n // Cache triangulation result\n this._triangulationResults = {};\n\n this._shadersMap = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].COMMON_SHADERS.reduce(function (obj, shaderName) {\n obj[shaderName] = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createShader('ecgl.' + shaderName);\n return obj;\n }, {});\n\n this._linesShader = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createShader('ecgl.meshLines3D');\n\n var groundMaterials = {};\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].COMMON_SHADERS.forEach(function (shading) {\n groundMaterials[shading] = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Material({\n shader: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createShader('ecgl.' + shading)\n });\n });\n this._groundMaterials = groundMaterials;\n\n this._groundMesh = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n geometry: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].PlaneGeometry({ dynamic: true }),\n castShadow: false,\n renderNormal: true,\n $ignorePicking: true\n });\n this._groundMesh.rotation.rotateX(-Math.PI / 2);\n\n this._labelsBuilder = new __WEBPACK_IMPORTED_MODULE_7__LabelsBuilder__[\"a\" /* default */](512, 512, api);\n\n // Give a large render order.\n this._labelsBuilder.getMesh().renderOrder = 100;\n this._labelsBuilder.getMesh().material.depthTest = false;\n\n this.rootNode.add(this._labelsBuilder.getMesh());\n\n this._initMeshes();\n\n this._api = api;\n}\n\nGeo3DBuilder.prototype = {\n\n constructor: Geo3DBuilder,\n\n // Which dimension to extrude. Y or Z\n extrudeY: true,\n\n update: function (componentModel, ecModel, api, start, end) {\n\n var data = componentModel.getData();\n\n if (start == null) {\n start = 0;\n }\n if (end == null) {\n end = data.count();\n }\n\n this._startIndex = start;\n this._endIndex = end - 1;\n\n this._triangulation(componentModel, start, end);\n\n var shader = this._getShader(componentModel.get('shading'));\n\n this._prepareMesh(componentModel, shader, api, start, end);\n\n this.rootNode.updateWorldTransform();\n\n this._updateRegionMesh(componentModel, api, start, end);\n\n var coordSys = componentModel.coordinateSystem;\n // PENDING\n if (coordSys.type === 'geo3D') {\n this._updateGroundPlane(componentModel, coordSys, api);\n }\n\n var self = this;\n this._labelsBuilder.updateData(data, start, end);\n this._labelsBuilder.getLabelPosition = function (dataIndex, positionDesc, distance) {\n var name = data.getName(dataIndex);\n\n var center;\n var height = distance;\n if (coordSys.type === 'geo3D') {\n var region = coordSys.getRegion(name);\n if (!region) {\n return [NaN, NaN, NaN];\n }\n center = region.center;\n var pos = coordSys.dataToPoint([center[0], center[1], height]);\n return pos;\n }\n else {\n var tmp = self._triangulationResults[dataIndex - self._startIndex];\n var center = self.extrudeY ? [\n (tmp.max[0] + tmp.min[0]) / 2,\n tmp.max[1] + height,\n (tmp.max[2] + tmp.min[2]) / 2\n ] : [\n (tmp.max[0] + tmp.min[0]) / 2,\n (tmp.max[1] + tmp.min[1]) / 2,\n tmp.max[2] + height\n ];\n }\n };\n\n this._data = data;\n\n this._labelsBuilder.updateLabels();\n\n this._updateDebugWireframe(componentModel);\n\n // Reset some state.\n this._lastHoverDataIndex = 0;\n },\n\n _initMeshes: function () {\n var self = this;\n function createPolygonMesh() {\n var mesh = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n name: 'Polygon',\n material: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Material({\n shader: self._shadersMap.lambert\n }),\n geometry: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Geometry({\n sortTriangles: true,\n dynamic: true\n }),\n // TODO Disable culling\n culling: false,\n ignorePicking: true,\n // Render normal in normal pass\n renderNormal: true\n });\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.extend(mesh.geometry, __WEBPACK_IMPORTED_MODULE_6__util_geometry_trianglesSortMixin__[\"a\" /* default */]);\n return mesh;\n }\n\n var polygonMesh = createPolygonMesh();\n\n var linesMesh = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n material: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Material({\n shader: this._linesShader\n }),\n castShadow: false,\n ignorePicking: true,\n $ignorePicking: true,\n geometry: new __WEBPACK_IMPORTED_MODULE_3__util_geometry_Lines3D__[\"a\" /* default */]({\n useNativeLine: false\n })\n });\n\n this.rootNode.add(polygonMesh);\n this.rootNode.add(linesMesh);\n\n polygonMesh.material.define('both', 'VERTEX_COLOR');\n polygonMesh.material.define('fragment', 'DOUBLE_SIDED');\n\n this._polygonMesh = polygonMesh;\n this._linesMesh = linesMesh;\n\n this.rootNode.add(this._groundMesh);\n },\n\n _getShader: function (shading) {\n var shader = this._shadersMap[shading];\n if (!shader) {\n if (true) {\n console.warn('Unkown shading ' + shading);\n }\n // Default use lambert shader.\n shader = this._shadersMap.lambert;\n }\n shader.__shading = shading;\n return shader;\n },\n\n _prepareMesh: function (componentModel, shader, api, start, end) {\n var polygonVertexCount = 0;\n var polygonTriangleCount = 0;\n var linesVertexCount = 0;\n var linesTriangleCount = 0;\n // TODO Lines\n for (var idx = start; idx < end; idx++) {\n var polyInfo = this._getRegionPolygonInfo(idx);\n var lineInfo = this._getRegionLinesInfo(idx, componentModel, this._linesMesh.geometry);\n polygonVertexCount += polyInfo.vertexCount;\n polygonTriangleCount += polyInfo.triangleCount;\n linesVertexCount += lineInfo.vertexCount;\n linesTriangleCount += lineInfo.triangleCount;\n }\n\n var polygonMesh = this._polygonMesh;\n var polygonGeo = polygonMesh.geometry;\n ['position', 'normal', 'texcoord0', 'color'].forEach(function (attrName) {\n polygonGeo.attributes[attrName].init(polygonVertexCount);\n });\n polygonGeo.indices = polygonVertexCount > 0xffff ? new Uint32Array(polygonTriangleCount * 3) : new Uint16Array(polygonTriangleCount * 3);\n\n if (polygonMesh.material.shader !== shader) {\n polygonMesh.material.attachShader(shader, true);\n }\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].setMaterialFromModel(shader.__shading, polygonMesh.material, componentModel, api);\n\n if (linesVertexCount > 0) {\n this._linesMesh.geometry.resetOffset();\n this._linesMesh.geometry.setVertexCount(linesVertexCount);\n this._linesMesh.geometry.setTriangleCount(linesTriangleCount);\n }\n\n // Indexing data index from vertex index.\n this._dataIndexOfVertex = new Uint32Array(polygonVertexCount);\n // Indexing vertex index range from data index\n this._vertexRangeOfDataIndex = new Uint32Array((end - start) * 2);\n },\n\n _updateRegionMesh: function (componentModel, api, start, end) {\n\n var data = componentModel.getData();\n\n var vertexOffset = 0;\n var triangleOffset = 0;\n\n // Materials configurations.\n var hasTranparentRegion = false;\n\n var polygonMesh = this._polygonMesh;\n var linesMesh = this._linesMesh;\n\n for (var dataIndex = start; dataIndex < end; dataIndex++) {\n // Get bunch of visual properties.\n var regionModel = componentModel.getRegionModel(dataIndex);\n var itemStyleModel = regionModel.getModel('itemStyle');\n var color = itemStyleModel.get('color');\n var opacity = __WEBPACK_IMPORTED_MODULE_4__util_retrieve__[\"a\" /* default */].firstNotNull(itemStyleModel.get('opacity'), 1.0);\n\n // Use visual color if it is encoded by visualMap component\n var visualColor = data.getItemVisual(dataIndex, 'color', true);\n if (visualColor != null && data.hasValue(dataIndex)) {\n color = visualColor;\n }\n // Set color, opacity to visual for label usage.\n data.setItemVisual(dataIndex, 'color', color);\n data.setItemVisual(dataIndex, 'opacity', opacity);\n\n color = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(color);\n var borderColor = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(itemStyleModel.get('borderColor'));\n\n color[3] *= opacity;\n borderColor[3] *= opacity;\n\n var isTransparent = color[3] < 0.99;\n\n polygonMesh.material.set('color', [1,1,1,1]);\n hasTranparentRegion = hasTranparentRegion || isTransparent;\n\n var regionHeight = __WEBPACK_IMPORTED_MODULE_4__util_retrieve__[\"a\" /* default */].firstNotNull(regionModel.get('height', true), componentModel.get('regionHeight'));\n\n var newOffsets = this._updatePolygonGeometry(\n componentModel, polygonMesh.geometry, dataIndex, regionHeight,\n vertexOffset, triangleOffset, color\n );\n\n for (var i = vertexOffset; i < newOffsets.vertexOffset; i++) {\n this._dataIndexOfVertex[i] = dataIndex;\n }\n this._vertexRangeOfDataIndex[(dataIndex - start) * 2] = vertexOffset;\n this._vertexRangeOfDataIndex[(dataIndex - start) * 2 + 1] = newOffsets.vertexOffset;\n\n vertexOffset = newOffsets.vertexOffset;\n triangleOffset = newOffsets.triangleOffset;\n\n // Update lines.\n var lineWidth = itemStyleModel.get('borderWidth');\n var hasLine = lineWidth > 0;\n if (hasLine) {\n lineWidth *= api.getDevicePixelRatio();\n this._updateLinesGeometry(\n linesMesh.geometry, componentModel, dataIndex, regionHeight, lineWidth,\n componentModel.coordinateSystem.transform\n );\n }\n linesMesh.invisible = !hasLine;\n linesMesh.material.set({\n color: borderColor\n });\n }\n\n var polygonMesh = this._polygonMesh;\n polygonMesh.material.transparent = hasTranparentRegion;\n polygonMesh.material.depthMask = !hasTranparentRegion;\n polygonMesh.geometry.updateBoundingBox();\n\n polygonMesh.frontFace = this.extrudeY ? __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh.CCW : __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh.CW;\n\n // Update tangents\n if (polygonMesh.material.get('normalMap')) {\n polygonMesh.geometry.generateTangents();\n }\n\n polygonMesh.seriesIndex = componentModel.seriesIndex;\n\n polygonMesh.on('mousemove', this._onmousemove, this);\n polygonMesh.on('mouseout', this._onmouseout, this);\n },\n\n _updateDebugWireframe: function (componentModel) {\n var debugWireframeModel = componentModel.getModel('debug.wireframe');\n\n // TODO Unshow\n if (debugWireframeModel.get('show')) {\n var color = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(\n debugWireframeModel.get('lineStyle.color') || 'rgba(0,0,0,0.5)'\n );\n var width = __WEBPACK_IMPORTED_MODULE_4__util_retrieve__[\"a\" /* default */].firstNotNull(\n debugWireframeModel.get('lineStyle.width'), 1\n );\n\n // TODO Will cause highlight wrong\n var mesh = this._polygonMesh;\n mesh.geometry.generateBarycentric();\n mesh.material.define('both', 'WIREFRAME_TRIANGLE');\n mesh.material.set('wireframeLineColor', color);\n mesh.material.set('wireframeLineWidth', width);\n }\n },\n\n _onmousemove: function (e) {\n var dataIndex = this._dataIndexOfVertex[e.triangle[0]];\n if (dataIndex == null) {\n dataIndex = -1;\n }\n if (dataIndex !== this._lastHoverDataIndex) {\n this.downplay(this._lastHoverDataIndex);\n this.highlight(dataIndex);\n this._labelsBuilder.updateLabels([dataIndex]);\n }\n this._lastHoverDataIndex = dataIndex;\n this._polygonMesh.dataIndex = dataIndex;\n },\n\n _onmouseout: function (e) {\n if (e.target) {\n this.downplay(this._lastHoverDataIndex);\n this._lastHoverDataIndex = -1;\n this._polygonMesh.dataIndex = -1;\n }\n\n this._labelsBuilder.updateLabels([]);\n },\n\n _updateGroundPlane: function (componentModel, geo3D, api) {\n var groundModel = componentModel.getModel('groundPlane', componentModel);\n this._groundMesh.invisible = !groundModel.get('show', true);\n if (this._groundMesh.invisible) {\n return;\n }\n\n var shading = componentModel.get('shading');\n var material = this._groundMaterials[shading];\n if (!material) {\n if (true) {\n console.warn('Unkown shading ' + shading);\n }\n material = this._groundMaterials.lambert;\n }\n\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].setMaterialFromModel(shading, material, groundModel, api);\n if (material.get('normalMap')) {\n this._groundMesh.geometry.generateTangents();\n }\n\n this._groundMesh.material = material;\n this._groundMesh.material.set('color', __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(groundModel.get('color')));\n\n this._groundMesh.scale.set(geo3D.size[0], geo3D.size[2], 1);\n },\n\n _triangulation: function (componentModel, start, end) {\n this._triangulationResults = [];\n\n var minAll = [Infinity, Infinity, Infinity];\n var maxAll = [-Infinity, -Infinity, -Infinity];\n\n var coordSys = componentModel.coordinateSystem;\n\n for (var idx = start; idx < end; idx++) {\n var polygons = [];\n var polygonCoords = componentModel.getRegionPolygonCoords(idx);\n for (var i = 0; i < polygonCoords.length; i++) {\n var exterior = polygonCoords[i].exterior;\n var interiors = polygonCoords[i].interiors;\n var points = [];\n var holes = [];\n if (exterior.length < 3) {\n continue;\n }\n var offset = 0;\n for (var j = 0; j < exterior.length; j++) {\n var p = exterior[j];\n points[offset++] = p[0];\n points[offset++] = p[1];\n }\n\n for (var j = 0; j < interiors.length; j++) {\n if (interiors[j].length < 3) {\n continue;\n }\n var startIdx = points.length / 2;\n for (var k = 0; k < interiors[j].length; k++) {\n var p = interiors[j][k];\n points.push(p[0]);\n points.push(p[1]);\n }\n\n holes.push(startIdx);\n }\n var triangles = Object(__WEBPACK_IMPORTED_MODULE_2__util_earcut__[\"a\" /* default */])(points, holes);\n\n var points3 = new Float64Array(points.length / 2 * 3);\n var pos = [];\n var min = [Infinity, Infinity, Infinity];\n var max = [-Infinity, -Infinity, -Infinity];\n var off3 = 0;\n for (var j = 0; j < points.length;) {\n vec3.set(pos, points[j++], 0, points[j++]);\n if (coordSys && coordSys.transform) {\n vec3.transformMat4(pos, pos, coordSys.transform);\n }\n vec3.min(min, min, pos);\n vec3.max(max, max, pos);\n points3[off3++] = pos[0];\n points3[off3++] = pos[1];\n points3[off3++] = pos[2];\n }\n vec3.min(minAll, minAll, min);\n vec3.max(maxAll, maxAll, max);\n polygons.push({\n points: points3,\n indices: triangles,\n min: min,\n max: max\n });\n }\n this._triangulationResults.push(polygons);\n }\n\n this._geoBoundingBox = [minAll, maxAll];\n },\n\n /**\n * Get region vertex and triangle count\n */\n _getRegionPolygonInfo: function (idx) {\n\n var polygons = this._triangulationResults[idx - this._startIndex];\n\n var sideVertexCount = 0;\n var sideTriangleCount = 0;\n\n for (var i = 0; i < polygons.length; i++) {\n sideVertexCount += polygons[i].points.length / 3;\n sideTriangleCount += polygons[i].indices.length / 3;\n }\n\n var vertexCount = sideVertexCount * 2 + sideVertexCount * 4;\n var triangleCount = sideTriangleCount * 2 + sideVertexCount * 2;\n\n return {\n vertexCount: vertexCount,\n triangleCount: triangleCount\n };\n },\n\n _updatePolygonGeometry: function (\n componentModel, geometry, dataIndex, regionHeight,\n vertexOffset, triangleOffset, color\n ) {\n // FIXME\n var projectUVOnGround = componentModel.get('projectUVOnGround');\n\n var positionAttr = geometry.attributes.position;\n var normalAttr = geometry.attributes.normal;\n var texcoordAttr = geometry.attributes.texcoord0;\n var colorAttr = geometry.attributes.color;\n var polygons = this._triangulationResults[dataIndex - this._startIndex];\n\n var hasColor = colorAttr.value && color;\n\n var indices = geometry.indices;\n\n var extrudeCoordIndex = this.extrudeY ? 1 : 2;\n var sideCoordIndex = this.extrudeY ? 2 : 1;\n\n var scale = [\n this.rootNode.worldTransform.x.len(),\n this.rootNode.worldTransform.y.len(),\n this.rootNode.worldTransform.z.len()\n ];\n\n var min = vec3.mul([], this._geoBoundingBox[0], scale);\n var max = vec3.mul([], this._geoBoundingBox[1], scale);\n var maxDimSize = Math.max(max[0] - min[0], max[2] - min[2]);\n\n function addVertices(polygon, y, insideOffset) {\n var points = polygon.points;\n\n var pointsLen = points.length;\n var currentPosition = [];\n var uv = [];\n\n for (var k = 0; k < pointsLen; k += 3) {\n currentPosition[0] = points[k];\n currentPosition[extrudeCoordIndex] = y;\n currentPosition[sideCoordIndex] = points[k + 2];\n\n uv[0] = (points[k] * scale[0] - min[0]) / maxDimSize;\n uv[1] = (points[k + 2] * scale[sideCoordIndex] - min[2]) / maxDimSize;\n\n positionAttr.set(vertexOffset, currentPosition);\n if (hasColor) {\n colorAttr.set(vertexOffset, color);\n }\n texcoordAttr.set(vertexOffset++, uv);\n }\n }\n\n function buildTopBottom(polygon, y, insideOffset) {\n\n var startVertexOffset = vertexOffset;\n\n addVertices(polygon, y, insideOffset);\n\n var len = polygon.indices.length;\n for (var k = 0; k < len; k++) {\n indices[triangleOffset * 3 + k] = polygon.indices[k] + startVertexOffset;\n }\n triangleOffset += polygon.indices.length / 3;\n }\n\n var normalTop = this.extrudeY ? [0, 1, 0] : [0, 0, 1];\n var normalBottom = vec3.negate([], normalTop);\n for (var p = 0; p < polygons.length; p++) {\n var startVertexOffset = vertexOffset;\n var polygon = polygons[p];\n // BOTTOM\n buildTopBottom(polygon, 0, 0);\n // TOP\n buildTopBottom(polygon, regionHeight, 0);\n\n var ringVertexCount = polygon.points.length / 3;\n for (var v = 0; v < ringVertexCount; v++) {\n normalAttr.set(startVertexOffset + v, normalBottom);\n normalAttr.set(startVertexOffset + v + ringVertexCount, normalTop);\n }\n\n var quadToTriangle = [0, 3, 1, 1, 3, 2];\n\n var quadPos = [[], [], [], []];\n var a = [];\n var b = [];\n var normal = [];\n var uv = [];\n var len = 0;\n for (var v = 0; v < ringVertexCount; v++) {\n var next = (v + 1) % ringVertexCount;\n\n var dx = (polygon.points[next * 3] - polygon.points[v * 3]) * scale[0];\n var dy = (polygon.points[next * 3 + 2] - polygon.points[v * 3 + 2]) * scale[sideCoordIndex];\n var sideLen = Math.sqrt(dx * dx + dy * dy);\n\n // 0----1\n // 3----2\n for (var k = 0; k < 4; k++) {\n var isCurrent = (k === 0 || k === 3);\n var idx3 = (isCurrent ? v : next) * 3;\n quadPos[k][0] = polygon.points[idx3];\n quadPos[k][extrudeCoordIndex] = k > 1 ? regionHeight : 0;\n quadPos[k][sideCoordIndex] = polygon.points[idx3 + 2];\n\n positionAttr.set(vertexOffset + k, quadPos[k]);\n\n if (projectUVOnGround) {\n uv[0] = (polygon.points[idx3] * scale[0] - min[0]) / maxDimSize;\n uv[1] = (polygon.points[idx3 + 2] * scale[sideCoordIndex] - min[sideCoordIndex]) / maxDimSize;\n }\n else {\n uv[0] = (isCurrent ? len : (len + sideLen)) / maxDimSize;\n uv[1] = (quadPos[k][extrudeCoordIndex] * scale[extrudeCoordIndex] - min[extrudeCoordIndex]) / maxDimSize;\n }\n texcoordAttr.set(vertexOffset + k, uv);\n }\n vec3.sub(a, quadPos[1], quadPos[0]);\n vec3.sub(b, quadPos[3], quadPos[0]);\n vec3.cross(normal, a, b);\n vec3.normalize(normal, normal);\n\n for (var k = 0; k < 4; k++) {\n normalAttr.set(vertexOffset + k, normal);\n if (hasColor) {\n colorAttr.set(vertexOffset + k, color);\n }\n }\n\n for (var k = 0; k < 6; k++) {\n indices[triangleOffset * 3 + k] = quadToTriangle[k] + vertexOffset;\n }\n\n vertexOffset += 4;\n triangleOffset += 2;\n\n len += sideLen;\n }\n }\n\n geometry.dirty();\n\n return {\n vertexOffset: vertexOffset,\n triangleOffset: triangleOffset\n };\n },\n\n _getRegionLinesInfo: function (idx, componentModel, geometry) {\n var vertexCount = 0;\n var triangleCount = 0;\n\n var regionModel = componentModel.getRegionModel(idx);\n var itemStyleModel = regionModel.getModel('itemStyle');\n\n var lineWidth = itemStyleModel.get('borderWidth');\n if (lineWidth > 0) {\n var polygonCoords = componentModel.getRegionPolygonCoords(idx);\n polygonCoords.forEach(function (coords) {\n var exterior = coords.exterior;\n var interiors = coords.interiors;\n vertexCount += geometry.getPolylineVertexCount(exterior);\n triangleCount += geometry.getPolylineTriangleCount(exterior);\n for (var i = 0; i < interiors.length; i++) {\n vertexCount += geometry.getPolylineVertexCount(interiors[i]);\n triangleCount += geometry.getPolylineTriangleCount(interiors[i]);\n }\n }, this);\n }\n\n return {\n vertexCount: vertexCount,\n triangleCount: triangleCount\n };\n\n },\n\n _updateLinesGeometry: function (geometry, componentModel, dataIndex, regionHeight, lineWidth, transform) {\n function convertToPoints3(polygon) {\n var points = new Float64Array(polygon.length * 3);\n var offset = 0;\n var pos = [];\n for (var i = 0; i < polygon.length; i++) {\n pos[0] = polygon[i][0];\n // Add a offset to avoid z-fighting\n pos[1] = regionHeight + 0.1;\n pos[2] = polygon[i][1];\n\n if (transform) {\n vec3.transformMat4(pos, pos, transform);\n }\n\n points[offset++] = pos[0];\n points[offset++] = pos[1];\n points[offset++] = pos[2];\n }\n return points;\n }\n\n var whiteColor = [1, 1, 1, 1];\n var coords = componentModel.getRegionPolygonCoords(dataIndex);\n coords.forEach(function (geo) {\n var exterior = geo.exterior;\n var interiors = geo.interiors;\n\n geometry.addPolyline(convertToPoints3(exterior), whiteColor, lineWidth);\n\n for (var i = 0; i < interiors.length; i++) {\n geometry.addPolyline(convertToPoints3(interiors[i]), whiteColor, lineWidth);\n }\n });\n },\n\n highlight: function (dataIndex) {\n var data = this._data;\n if (!data) {\n return;\n }\n\n var itemModel = data.getItemModel(dataIndex);\n var emphasisItemStyleModel = itemModel.getModel('emphasis.itemStyle');\n var emphasisColor = emphasisItemStyleModel.get('color');\n var emphasisOpacity = __WEBPACK_IMPORTED_MODULE_4__util_retrieve__[\"a\" /* default */].firstNotNull(\n emphasisItemStyleModel.get('opacity'),\n data.getItemVisual(dataIndex, 'opacity'),\n 1\n );\n if (emphasisColor == null) {\n var color = data.getItemVisual(dataIndex, 'color');\n emphasisColor = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.color.lift(color, -0.4);\n }\n if (emphasisOpacity == null) {\n emphasisOpacity = data.getItemVisual(dataIndex, 'opacity');\n }\n var colorArr = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(emphasisColor);\n colorArr[3] *= emphasisOpacity;\n\n this._setColorOfDataIndex(data, dataIndex, colorArr);\n },\n\n downplay: function (dataIndex) {\n\n var data = this._data;\n if (!data) {\n return;\n }\n\n var color = data.getItemVisual(dataIndex, 'color');\n var opacity = __WEBPACK_IMPORTED_MODULE_4__util_retrieve__[\"a\" /* default */].firstNotNull(data.getItemVisual(dataIndex, 'opacity'), 1);\n\n var colorArr = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(color);\n colorArr[3] *= opacity;\n\n this._setColorOfDataIndex(data, dataIndex, colorArr);\n },\n\n _setColorOfDataIndex: function (data, dataIndex, colorArr) {\n if (dataIndex < this._startIndex && dataIndex > this._endIndex) {\n return;\n }\n dataIndex -= this._startIndex;\n for (var i = this._vertexRangeOfDataIndex[dataIndex * 2]; i < this._vertexRangeOfDataIndex[dataIndex * 2 + 1]; i++) {\n this._polygonMesh.geometry.attributes.color.set(i, colorArr);\n }\n this._polygonMesh.geometry.dirty();\n this._api.getZr().refresh();\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Geo3DBuilder);\n\n/***/ }),\n/* 65 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ProgressiveQuickSort__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n\n\nvar vec3 = __WEBPACK_IMPORTED_MODULE_1_claygl_src_dep_glmatrix__[\"a\" /* default */].vec3;\n\nvar p0 = vec3.create();\nvar p1 = vec3.create();\nvar p2 = vec3.create();\n// var cp = vec3.create();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\n needsSortTriangles: function () {\n return this.indices && this.sortTriangles;\n },\n\n needsSortTrianglesProgressively: function () {\n return this.needsSortTriangles() && this.triangleCount >= 2e4;\n },\n\n doSortTriangles: function (cameraPos, frame) {\n var indices = this.indices;\n // Do progressive quick sort.\n if (frame === 0) {\n var posAttr = this.attributes.position;\n var cameraPos = cameraPos.array;\n\n if (!this._triangleZList || this._triangleZList.length !== this.triangleCount) {\n this._triangleZList = new Float32Array(this.triangleCount);\n this._sortedTriangleIndices = new Uint32Array(this.triangleCount);\n\n this._indicesTmp = new indices.constructor(indices.length);\n this._triangleZListTmp = new Float32Array(this.triangleCount);\n }\n\n var cursor = 0;\n var firstZ;\n for (var i = 0; i < indices.length;) {\n posAttr.get(indices[i++], p0);\n posAttr.get(indices[i++], p1);\n posAttr.get(indices[i++], p2);\n\n // FIXME If use center ?\n // cp[0] = (p0[0] + p1[0] + p2[0]) / 3;\n // cp[1] = (p0[1] + p1[1] + p2[1]) / 3;\n // cp[2] = (p0[2] + p1[2] + p2[2]) / 3;\n // Camera position is in object space\n\n // Use max of three points, PENDING\n var z0 = vec3.sqrDist(p0, cameraPos);\n var z1 = vec3.sqrDist(p1, cameraPos);\n var z2 = vec3.sqrDist(p2, cameraPos);\n var zMax = Math.min(z0, z1);\n zMax = Math.min(zMax, z2);\n if (i === 3) {\n firstZ = zMax;\n zMax = 0;\n }\n else {\n // Only store the difference to avoid the precision issue.\n zMax = zMax - firstZ;\n }\n this._triangleZList[cursor++] = zMax;\n }\n }\n\n\n var sortedTriangleIndices = this._sortedTriangleIndices;\n for (var i = 0; i < sortedTriangleIndices.length; i++) {\n sortedTriangleIndices[i] = i;\n }\n\n if (this.triangleCount < 2e4) {\n // Use simple timsort for simple geometries.\n if (frame === 0) {\n // Use native sort temporary.\n this._simpleSort(true);\n }\n }\n else {\n for (var i = 0; i < 3; i++) {\n this._progressiveQuickSort(frame * 3 + i);\n }\n }\n\n var targetIndices = this._indicesTmp;\n var targetTriangleZList = this._triangleZListTmp;\n var faceZList = this._triangleZList;\n for (var i = 0; i < this.triangleCount; i++) {\n var fromIdx3 = sortedTriangleIndices[i] * 3;\n var toIdx3 = i * 3;\n targetIndices[toIdx3++] = indices[fromIdx3++];\n targetIndices[toIdx3++] = indices[fromIdx3++];\n targetIndices[toIdx3] = indices[fromIdx3];\n\n targetTriangleZList[i] = faceZList[sortedTriangleIndices[i]];\n }\n\n // Swap indices.\n var tmp = this._indicesTmp;\n this._indicesTmp = this.indices;\n this.indices = tmp;\n var tmp = this._triangleZListTmp;\n this._triangleZListTmp = this._triangleZList;\n this._triangleZList = tmp;\n\n this.dirtyIndices();\n },\n\n _simpleSort: function (useNativeQuickSort) {\n var faceZList = this._triangleZList;\n var sortedTriangleIndices = this._sortedTriangleIndices;\n\n function compare(a, b) {\n // Sort from far to near. which is descending order\n return faceZList[b] - faceZList[a];\n }\n if (useNativeQuickSort) {\n Array.prototype.sort.call(sortedTriangleIndices, compare);\n }\n else {\n __WEBPACK_IMPORTED_MODULE_0__ProgressiveQuickSort__[\"a\" /* default */].sort(sortedTriangleIndices, compare, 0, sortedTriangleIndices.length - 1);\n }\n },\n\n _progressiveQuickSort: function (frame) {\n var faceZList = this._triangleZList;\n var sortedTriangleIndices = this._sortedTriangleIndices;\n\n this._quickSort = this._quickSort || new __WEBPACK_IMPORTED_MODULE_0__ProgressiveQuickSort__[\"a\" /* default */]();\n\n this._quickSort.step(sortedTriangleIndices, function (a, b) {\n return faceZList[b] - faceZList[a];\n }, frame);\n }\n});\n\n/***/ }),\n/* 66 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_ZRTextureAtlasSurface__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_mesh_LabelsMesh__ = __webpack_require__(63);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_retrieve__ = __webpack_require__(2);\n\n\n\n\n\nvar LABEL_NORMAL_SHOW_BIT = 1;\nvar LABEL_EMPHASIS_SHOW_BIT = 2;\n\nfunction LabelsBuilder(width, height, api) {\n\n this._labelsMesh = new __WEBPACK_IMPORTED_MODULE_2__util_mesh_LabelsMesh__[\"a\" /* default */]();\n\n this._labelTextureSurface = new __WEBPACK_IMPORTED_MODULE_1__util_ZRTextureAtlasSurface__[\"a\" /* default */]({\n width: 512,\n height: 512,\n devicePixelRatio: api.getDevicePixelRatio(),\n onupdate: function () {\n api.getZr().refresh();\n }\n });\n this._api = api;\n\n this._labelsMesh.material.set('textureAtlas', this._labelTextureSurface.getTexture());\n}\n\nLabelsBuilder.prototype.getLabelPosition = function (dataIndex, positionDesc, distance) {\n return [0, 0, 0];\n};\n\nLabelsBuilder.prototype.getLabelDistance = function (dataIndex, positionDesc, distance) {\n return 0;\n};\n\nLabelsBuilder.prototype.getMesh = function () {\n return this._labelsMesh;\n};\n\nLabelsBuilder.prototype.updateData = function (data, start, end) {\n if (start == null) {\n start = 0;\n }\n if (end == null) {\n end = data.count();\n }\n\n if (!this._labelsVisibilitiesBits || this._labelsVisibilitiesBits.length !== (end - start)) {\n this._labelsVisibilitiesBits = new Uint8Array(end - start);\n }\n var normalLabelVisibilityQuery = ['label', 'show'];\n var emphasisLabelVisibilityQuery = ['emphasis', 'label', 'show'];\n\n for (var idx = start; idx < end; idx++) {\n var itemModel = data.getItemModel(idx);\n var normalVisibility = itemModel.get(normalLabelVisibilityQuery);\n var emphasisVisibility = itemModel.get(emphasisLabelVisibilityQuery);\n if (emphasisVisibility == null) {\n emphasisVisibility = normalVisibility;\n }\n var bit = (normalVisibility ? LABEL_NORMAL_SHOW_BIT : 0)\n | (emphasisVisibility ? LABEL_EMPHASIS_SHOW_BIT : 0);\n this._labelsVisibilitiesBits[idx - start] = bit;\n }\n\n this._start = start;\n this._end = end;\n\n this._data = data;\n};\n\nLabelsBuilder.prototype.updateLabels = function (highlightDataIndices) {\n\n if (!this._data) {\n return;\n }\n\n highlightDataIndices = highlightDataIndices || [];\n\n var hasHighlightData = highlightDataIndices.length > 0;\n var highlightDataIndicesMap = {};\n for (var i = 0; i < highlightDataIndices.length; i++) {\n highlightDataIndicesMap[highlightDataIndices[i]] = true;\n }\n\n this._labelsMesh.geometry.convertToDynamicArray(true);\n this._labelTextureSurface.clear();\n\n var normalLabelQuery = ['label'];\n var emphasisLabelQuery = ['emphasis', 'label'];\n var seriesModel = this._data.hostModel;\n var data = this._data;\n\n var seriesLabelModel = seriesModel.getModel(normalLabelQuery);\n var seriesLabelEmphasisModel = seriesModel.getModel(emphasisLabelQuery, seriesLabelModel);\n\n var textAlignMap = {\n left: 'right',\n right: 'left',\n top: 'center',\n bottom: 'center'\n };\n var textVerticalAlignMap = {\n left: 'middle',\n right: 'middle',\n top: 'bottom',\n bottom: 'top'\n };\n\n for (var dataIndex = this._start; dataIndex < this._end; dataIndex++) {\n var isEmphasis = false;\n if (hasHighlightData && highlightDataIndicesMap[dataIndex]) {\n isEmphasis = true;\n }\n var ifShow = this._labelsVisibilitiesBits[dataIndex - this._start]\n & (isEmphasis ? LABEL_EMPHASIS_SHOW_BIT : LABEL_NORMAL_SHOW_BIT);\n if (!ifShow) {\n continue;\n }\n\n var itemModel = data.getItemModel(dataIndex);\n var labelModel = itemModel.getModel(\n isEmphasis ? emphasisLabelQuery : normalLabelQuery,\n isEmphasis ? seriesLabelEmphasisModel : seriesLabelModel\n );\n var distance = labelModel.get('distance') || 0;\n var position = labelModel.get('position');\n var textStyleModel = labelModel.getModel('textStyle');\n\n var dpr = this._api.getDevicePixelRatio();\n var text = seriesModel.getFormattedLabel(dataIndex, isEmphasis ? 'emphasis' : 'normal');\n if (text == null || text === '') {\n return;\n }\n\n // TODO Background.\n var textEl = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.graphic.Text();\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.graphic.setTextStyle(textEl.style, textStyleModel, {\n text: text,\n textFill: textStyleModel.get('color') || data.getItemVisual(dataIndex, 'color') || '#000',\n textAlign: 'left',\n textVerticalAlign: 'top',\n opacity: __WEBPACK_IMPORTED_MODULE_3__util_retrieve__[\"a\" /* default */].firstNotNull(textStyleModel.get('opacity'), data.getItemVisual(dataIndex, 'opacity'), 1)\n });\n var rect = textEl.getBoundingRect();\n var lineHeight = 1.2;\n rect.height *= lineHeight;\n\n var coords = this._labelTextureSurface.add(textEl);\n\n var textAlign = textAlignMap[position] || 'center';\n var textVerticalAlign = textVerticalAlignMap[position] || 'bottom';\n\n this._labelsMesh.geometry.addSprite(\n this.getLabelPosition(dataIndex, position, distance),\n [rect.width * dpr, rect.height * dpr], coords,\n textAlign, textVerticalAlign,\n this.getLabelDistance(dataIndex, position, distance) * dpr\n );\n }\n\n this._labelsMesh.material.set('uvScale', this._labelTextureSurface.getCoordsScale());\n\n // var canvas = this._labelTextureSurface.getTexture().image;\n // document.body.appendChild(canvas);\n // canvas.style.cssText = 'position:absolute;z-index: 1000';\n\n // Update image.\n this._labelTextureSurface.getZr().refreshImmediately();\n this._labelsMesh.geometry.convertToTypedArray();\n this._labelsMesh.geometry.dirty();\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (LabelsBuilder);\n\n/***/ }),\n/* 67 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_sprite__ = __webpack_require__(239);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__PointsMesh__ = __webpack_require__(240);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component_common_LabelsBuilder__ = __webpack_require__(66);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_claygl_src_math_Matrix4__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_retrieve__ = __webpack_require__(2);\n\n\n\n\n\n\n\n\nvar SDF_RANGE = 20;\n\nvar Z_2D = -10;\n\nfunction isSymbolSizeSame(a, b) {\n return a && b && a[0] === b[0] && a[1] === b[1];\n}\n// TODO gl_PointSize has max value.\nfunction PointsBuilder(is2D, api) {\n this.rootNode = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n\n /**\n * @type {boolean}\n */\n this.is2D = is2D;\n\n this._labelsBuilder = new __WEBPACK_IMPORTED_MODULE_4__component_common_LabelsBuilder__[\"a\" /* default */](256, 256, api);\n\n // Give a large render order.\n this._labelsBuilder.getMesh().renderOrder = 100;\n this.rootNode.add(this._labelsBuilder.getMesh());\n\n this._api = api;\n\n this._spriteImageCanvas = document.createElement('canvas');\n\n this._startDataIndex = 0;\n this._endDataIndex = 0;\n\n this._sizeScale = 1;\n}\n\nPointsBuilder.prototype = {\n\n constructor: PointsBuilder,\n\n /**\n * If highlight on over\n */\n highlightOnMouseover: true,\n\n update: function (seriesModel, ecModel, api, start, end) {\n // Swap barMesh\n var tmp = this._prevMesh;\n this._prevMesh = this._mesh;\n this._mesh = tmp;\n\n var data = seriesModel.getData();\n\n if (start == null) {\n start = 0;\n }\n if (end == null) {\n end = data.count();\n }\n this._startDataIndex = start;\n this._endDataIndex = end - 1;\n\n if (!this._mesh) {\n var material = this._prevMesh && this._prevMesh.material;\n this._mesh = new __WEBPACK_IMPORTED_MODULE_3__PointsMesh__[\"a\" /* default */]({\n // Render after axes\n renderOrder: 10,\n // FIXME\n frustumCulling: false\n });\n if (material) {\n this._mesh.material = material;\n }\n }\n var material = this._mesh.material;\n var geometry = this._mesh.geometry;\n var attributes = geometry.attributes;\n\n this.rootNode.remove(this._prevMesh);\n this.rootNode.add(this._mesh);\n\n this._setPositionTextureToMesh(this._mesh, this._positionTexture);\n\n var symbolInfo = this._getSymbolInfo(seriesModel, start, end);\n var dpr = api.getDevicePixelRatio();\n\n // TODO image symbol\n var itemStyle = seriesModel.getModel('itemStyle').getItemStyle();\n var largeMode = seriesModel.get('large');\n\n var pointSizeScale = 1;\n if (symbolInfo.maxSize > 2) {\n pointSizeScale = this._updateSymbolSprite(seriesModel, itemStyle, symbolInfo, dpr);\n material.enableTexture('sprite');\n }\n else {\n material.disableTexture('sprite');\n }\n\n attributes.position.init(end - start);\n var rgbaArr = [];\n if (largeMode) {\n material.undefine('VERTEX_SIZE');\n material.undefine('VERTEX_COLOR');\n\n var color = data.getVisual('color');\n var opacity = data.getVisual('opacity');\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(color, rgbaArr);\n rgbaArr[3] *= opacity;\n\n material.set({\n color: rgbaArr,\n 'u_Size': symbolInfo.maxSize * this._sizeScale\n });\n }\n else {\n material.set({\n color: [1, 1, 1, 1]\n });\n material.define('VERTEX_SIZE');\n material.define('VERTEX_COLOR');\n attributes.size.init(end - start);\n attributes.color.init(end - start);\n this._originalOpacity = new Float32Array(end - start);\n }\n\n var points = data.getLayout('points');\n\n var positionArr = attributes.position.value;\n\n var hasTransparentPoint = false;\n\n for (var i = 0; i < end - start; i++) {\n var i3 = i * 3;\n var i2 = i * 2;\n if (this.is2D) {\n positionArr[i3] = points[i2];\n positionArr[i3 + 1] = points[i2 + 1];\n positionArr[i3 + 2] = Z_2D;\n }\n else {\n positionArr[i3] = points[i3];\n positionArr[i3 + 1] = points[i3 + 1];\n positionArr[i3 + 2] = points[i3 + 2];\n }\n\n if (!largeMode) {\n var color = data.getItemVisual(i, 'color');\n var opacity = data.getItemVisual(i, 'opacity');\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(color, rgbaArr);\n rgbaArr[3] *= opacity;\n attributes.color.set(i, rgbaArr);\n if (rgbaArr[3] < 0.99) {\n hasTransparentPoint = true;\n }\n var symbolSize = data.getItemVisual(i, 'symbolSize');\n symbolSize = (symbolSize instanceof Array\n ? Math.max(symbolSize[0], symbolSize[1]) : symbolSize);\n\n // NaN pointSize may have strange result.\n if (isNaN(symbolSize)) {\n symbolSize = 0;\n }\n // Scale point size because canvas has margin.\n attributes.size.value[i] = symbolSize * pointSizeScale * this._sizeScale;\n\n // Save the original opacity for recover from fadeIn.\n this._originalOpacity[i] = rgbaArr[3];\n }\n\n }\n\n this._mesh.sizeScale = pointSizeScale;\n\n geometry.updateBoundingBox();\n geometry.dirty();\n\n // Update material.\n this._updateMaterial(seriesModel, itemStyle);\n\n var coordSys = seriesModel.coordinateSystem;\n if (coordSys && coordSys.viewGL) {\n var methodName = coordSys.viewGL.isLinearSpace() ? 'define' : 'undefine';\n material[methodName]('fragment', 'SRGB_DECODE');\n }\n\n if (!largeMode) {\n this._updateLabelBuilder(seriesModel, start, end);\n }\n\n this._updateHandler(seriesModel, ecModel, api);\n\n this._updateAnimation(seriesModel);\n\n this._api = api;\n },\n\n getPointsMesh: function () {\n return this._mesh;\n },\n\n updateLabels: function (highlightDataIndices) {\n this._labelsBuilder.updateLabels(highlightDataIndices);\n },\n\n hideLabels: function () {\n this.rootNode.remove(this._labelsBuilder.getMesh());\n },\n\n showLabels: function () {\n this.rootNode.add(this._labelsBuilder.getMesh());\n },\n\n _updateSymbolSprite: function (seriesModel, itemStyle, symbolInfo, dpr) {\n symbolInfo.maxSize = Math.min(symbolInfo.maxSize * 2, 200);\n var symbolSize = [];\n if (symbolInfo.aspect > 1) {\n symbolSize[0] = symbolInfo.maxSize;\n symbolSize[1] = symbolInfo.maxSize / symbolInfo.aspect;\n }\n else {\n symbolSize[1] = symbolInfo.maxSize;\n symbolSize[0] = symbolInfo.maxSize * symbolInfo.aspect;\n }\n\n // In case invalid data.\n symbolSize[0] = symbolSize[0] || 1;\n symbolSize[1] = symbolSize[1] || 1;\n\n if (this._symbolType !== symbolInfo.type\n || !isSymbolSizeSame(this._symbolSize, symbolSize)\n || this._lineWidth !== itemStyle.lineWidth\n ) {\n __WEBPACK_IMPORTED_MODULE_2__util_sprite__[\"a\" /* default */].createSymbolSprite(symbolInfo.type, symbolSize, {\n fill: '#fff',\n lineWidth: itemStyle.lineWidth,\n stroke: 'transparent',\n shadowColor: 'transparent',\n minMargin: Math.min(symbolSize[0] / 2, 10)\n }, this._spriteImageCanvas);\n\n __WEBPACK_IMPORTED_MODULE_2__util_sprite__[\"a\" /* default */].createSDFFromCanvas(\n this._spriteImageCanvas, Math.min(this._spriteImageCanvas.width, 32), SDF_RANGE,\n this._mesh.material.get('sprite').image\n );\n\n this._symbolType = symbolInfo.type;\n this._symbolSize = symbolSize;\n this._lineWidth = itemStyle.lineWidth;\n }\n return this._spriteImageCanvas.width / symbolInfo.maxSize * dpr;\n\n },\n\n _updateMaterial: function (seriesModel, itemStyle) {\n var blendFunc = seriesModel.get('blendMode') === 'lighter'\n ? __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].additiveBlend : null;\n var material = this._mesh.material;\n material.blend = blendFunc;\n\n material.set('lineWidth', itemStyle.lineWidth / SDF_RANGE);\n\n var strokeColor = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(itemStyle.stroke);\n material.set('strokeColor', strokeColor);\n\n // Because of symbol texture, we always needs it be transparent.\n material.transparent = true;\n material.depthMask = false;\n material.depthTest = !this.is2D;\n material.sortVertices = !this.is2D;\n },\n\n _updateLabelBuilder: function (seriesModel, start, end) {\n var data =seriesModel.getData();\n var geometry = this._mesh.geometry;\n var positionArr = geometry.attributes.position.value;\n var start = this._startDataIndex;\n var pointSizeScale = this._mesh.sizeScale;\n this._labelsBuilder.updateData(data, start, end);\n\n this._labelsBuilder.getLabelPosition = function (dataIndex, positionDesc, distance) {\n var idx3 = (dataIndex - start) * 3;\n return [positionArr[idx3], positionArr[idx3 + 1], positionArr[idx3 + 2]];\n };\n\n this._labelsBuilder.getLabelDistance = function (dataIndex, positionDesc, distance) {\n var size = geometry.attributes.size.get(dataIndex - start) / pointSizeScale;\n return size / 2 + distance;\n };\n this._labelsBuilder.updateLabels();\n\n },\n\n _updateAnimation: function (seriesModel) {\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].updateVertexAnimation(\n [['prevPosition', 'position'],\n ['prevSize', 'size']],\n this._prevMesh,\n this._mesh,\n seriesModel\n );\n },\n\n _updateHandler: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var pointsMesh = this._mesh;\n var self = this;\n\n var lastDataIndex = -1;\n var isCartesian3D = seriesModel.coordinateSystem\n && seriesModel.coordinateSystem.type === 'cartesian3D';\n\n var grid3DModel;\n if (isCartesian3D) {\n grid3DModel = seriesModel.coordinateSystem.model;\n }\n\n pointsMesh.seriesIndex = seriesModel.seriesIndex;\n\n pointsMesh.off('mousemove');\n pointsMesh.off('mouseout');\n\n pointsMesh.on('mousemove', function (e) {\n var dataIndex = e.vertexIndex + self._startDataIndex;\n if (dataIndex !== lastDataIndex) {\n if (this.highlightOnMouseover) {\n this.downplay(data, lastDataIndex);\n this.highlight(data, dataIndex);\n this._labelsBuilder.updateLabels([dataIndex]);\n }\n\n if (isCartesian3D) {\n api.dispatchAction({\n type: 'grid3DShowAxisPointer',\n value: [\n data.get(seriesModel.coordDimToDataDim('x')[0], dataIndex),\n data.get(seriesModel.coordDimToDataDim('y')[0], dataIndex),\n data.get(seriesModel.coordDimToDataDim('z')[0], dataIndex)\n ],\n grid3DIndex: grid3DModel.componentIndex\n });\n }\n }\n\n pointsMesh.dataIndex = dataIndex;\n lastDataIndex = dataIndex;\n }, this);\n pointsMesh.on('mouseout', function (e) {\n var dataIndex = e.vertexIndex + self._startDataIndex;\n if (this.highlightOnMouseover) {\n this.downplay(data, dataIndex);\n this._labelsBuilder.updateLabels();\n }\n lastDataIndex = -1;\n pointsMesh.dataIndex = -1;\n\n if (isCartesian3D) {\n api.dispatchAction({\n type: 'grid3DHideAxisPointer',\n grid3DIndex: grid3DModel.componentIndex\n });\n }\n }, this);\n },\n\n updateLayout: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n if (!this._mesh) {\n return;\n }\n\n var positionArr = this._mesh.geometry.attributes.position.value;\n var points = data.getLayout('points');\n if (this.is2D) {\n for (var i = 0; i < points.length / 2; i++) {\n var i3 = i * 3;\n var i2 = i * 2;\n positionArr[i3] = points[i2];\n positionArr[i3 + 1] = points[i2 + 1];\n positionArr[i3 + 2] = Z_2D;\n }\n }\n else {\n for (var i = 0; i < points.length; i++) {\n positionArr[i] = points[i];\n }\n }\n this._mesh.geometry.dirty();\n\n api.getZr().refresh();\n },\n\n updateView: function (camera) {\n if (!this._mesh) {\n return;\n }\n\n var worldViewProjection = new __WEBPACK_IMPORTED_MODULE_5_claygl_src_math_Matrix4__[\"a\" /* default */]();\n __WEBPACK_IMPORTED_MODULE_5_claygl_src_math_Matrix4__[\"a\" /* default */].mul(worldViewProjection, camera.viewMatrix, this._mesh.worldTransform);\n __WEBPACK_IMPORTED_MODULE_5_claygl_src_math_Matrix4__[\"a\" /* default */].mul(worldViewProjection, camera.projectionMatrix, worldViewProjection);\n\n this._mesh.updateNDCPosition(worldViewProjection, this.is2D, this._api);\n },\n\n highlight: function (data, dataIndex) {\n if (dataIndex > this._endDataIndex || dataIndex < this._startDataIndex) {\n return;\n }\n var itemModel = data.getItemModel(dataIndex);\n var emphasisItemStyleModel = itemModel.getModel('emphasis.itemStyle');\n var emphasisColor = emphasisItemStyleModel.get('color');\n var emphasisOpacity = emphasisItemStyleModel.get('opacity');\n if (emphasisColor == null) {\n var color = data.getItemVisual(dataIndex, 'color');\n emphasisColor = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.color.lift(color, -0.4);\n }\n if (emphasisOpacity == null) {\n emphasisOpacity = data.getItemVisual(dataIndex, 'opacity');\n }\n var colorArr = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(emphasisColor);\n colorArr[3] *= emphasisOpacity;\n\n this._mesh.geometry.attributes.color.set(dataIndex - this._startDataIndex, colorArr);\n this._mesh.geometry.dirtyAttribute('color');\n\n this._api.getZr().refresh();\n },\n\n downplay: function (data, dataIndex) {\n if (dataIndex > this._endDataIndex || dataIndex < this._startDataIndex) {\n return;\n }\n var color = data.getItemVisual(dataIndex, 'color');\n var opacity = data.getItemVisual(dataIndex, 'opacity');\n\n var colorArr = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(color);\n colorArr[3] *= opacity;\n\n this._mesh.geometry.attributes.color.set(dataIndex - this._startDataIndex, colorArr);\n this._mesh.geometry.dirtyAttribute('color');\n\n this._api.getZr().refresh();\n },\n\n fadeOutAll: function (fadeOutPercent) {\n if (this._originalOpacity) {\n var geo = this._mesh.geometry;\n for (var i = 0; i < geo.vertexCount; i++) {\n var fadeOutOpacity = this._originalOpacity[i] * fadeOutPercent;\n geo.attributes.color.value[i * 4 + 3] = fadeOutOpacity;\n }\n geo.dirtyAttribute('color');\n\n this._api.getZr().refresh();\n }\n },\n\n fadeInAll: function () {\n this.fadeOutAll(1);\n },\n\n setPositionTexture: function (texture) {\n if (this._mesh) {\n this._setPositionTextureToMesh(this._mesh, texture);\n }\n\n this._positionTexture = texture;\n },\n\n removePositionTexture: function () {\n this._positionTexture = null;\n if (this._mesh) {\n this._setPositionTextureToMesh(this._mesh, null);\n }\n },\n\n setSizeScale: function (sizeScale) {\n if (sizeScale !== this._sizeScale) {\n if (this._mesh) {\n var originalSize = this._mesh.material.get('u_Size');\n this._mesh.material.set('u_Size', originalSize / this._sizeScale * sizeScale);\n\n var attributes = this._mesh.geometry.attributes;\n if (attributes.size.value) {\n for (var i = 0; i < attributes.size.value.length; i++) {\n attributes.size.value[i] = attributes.size.value[i] / this._sizeScale * sizeScale;\n }\n }\n }\n this._sizeScale = sizeScale;\n }\n },\n\n _setPositionTextureToMesh: function (mesh, texture) {\n if (texture) {\n mesh.material.set('positionTexture', texture);\n }\n mesh.material[\n texture ? 'enableTexture' : 'disableTexture'\n ]('positionTexture');\n },\n\n _getSymbolInfo: function (seriesModel, start, end) {\n if (seriesModel.get('large')) {\n var symbolSize = __WEBPACK_IMPORTED_MODULE_6__util_retrieve__[\"a\" /* default */].firstNotNull(seriesModel.get('symbolSize'), 1);\n var maxSymbolSize;\n var symbolAspect;\n if (symbolSize instanceof Array) {\n maxSymbolSize = Math.max(symbolSize[0], symbolSize[1]);\n symbolAspect = symbolSize[0] / symbolSize[1];\n }\n else {\n maxSymbolSize = symbolSize;\n symbolAspect = 1;\n }\n return {\n maxSize: symbolSize,\n type: seriesModel.get('symbol'),\n aspect: symbolAspect\n }\n }\n var data = seriesModel.getData();\n var symbolAspect;\n var differentSymbolAspect = false;\n var symbolType = data.getItemVisual(0, 'symbol') || 'circle';\n var differentSymbolType = false;\n var maxSymbolSize = 0;\n\n for (var idx = start; idx < end; idx++) {\n var symbolSize = data.getItemVisual(idx, 'symbolSize');\n var currentSymbolType = data.getItemVisual(idx, 'symbol');\n var currentSymbolAspect;\n if (!(symbolSize instanceof Array)) {\n // Ignore NaN value.\n if (isNaN(symbolSize)) {\n return;\n }\n\n currentSymbolAspect = 1;\n maxSymbolSize = Math.max(symbolSize, maxSymbolSize);\n }\n else {\n currentSymbolAspect = symbolSize[0] / symbolSize[1];\n maxSymbolSize = Math.max(Math.max(symbolSize[0], symbolSize[1]), maxSymbolSize);\n }\n if (true) {\n if (symbolAspect != null && Math.abs(currentSymbolAspect - symbolAspect) > 0.05) {\n differentSymbolAspect = true;\n }\n if (currentSymbolType !== symbolType) {\n differentSymbolType = true;\n }\n }\n symbolType = currentSymbolType;\n symbolAspect = currentSymbolAspect;\n }\n\n if (true) {\n if (differentSymbolAspect) {\n console.warn('Different symbol width / height ratio will be ignored.');\n }\n if (differentSymbolType) {\n console.warn('Different symbol type will be ignored.');\n }\n }\n\n return {\n maxSize: maxSymbolSize,\n type: symbolType,\n aspect: symbolAspect\n };\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (PointsBuilder);\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\n} catch(e) {\n\t// This works if the window reference is available\n\tif(typeof window === \"object\")\n\t\tg = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__LinkedList__ = __webpack_require__(114);\n\n\n/**\n * LRU Cache\n * @constructor\n * @alias clay.core.LRU\n */\nvar LRU = function (maxSize) {\n\n this._list = new __WEBPACK_IMPORTED_MODULE_0__LinkedList__[\"a\" /* default */]();\n\n this._map = {};\n\n this._maxSize = maxSize || 10;\n};\n\n/**\n * Set cache max size\n * @param {number} size\n */\nLRU.prototype.setMaxSize = function (size) {\n this._maxSize = size;\n};\n\n/**\n * @param {string} key\n * @param {} value\n */\nLRU.prototype.put = function (key, value) {\n if (!this._map.hasOwnProperty(key)) {\n var len = this._list.length();\n if (len >= this._maxSize && len > 0) {\n // Remove the least recently used\n var leastUsedEntry = this._list.head;\n this._list.remove(leastUsedEntry);\n delete this._map[leastUsedEntry.key];\n }\n\n var entry = this._list.insert(value);\n entry.key = key;\n this._map[key] = entry;\n }\n};\n\n/**\n * @param {string} key\n * @return {}\n */\nLRU.prototype.get = function (key) {\n var entry = this._map[key];\n if (this._map.hasOwnProperty(key)) {\n // Put the latest used entry in the tail\n if (entry !== this._list.tail) {\n this._list.remove(entry);\n this._list.insertEntry(entry);\n }\n\n return entry.value;\n }\n};\n\n/**\n * @param {string} key\n */\nLRU.prototype.remove = function (key) {\n var entry = this._map[key];\n if (typeof(entry) !== 'undefined') {\n delete this._map[key];\n this._list.remove(entry);\n }\n};\n\n/**\n * Clear the cache\n */\nLRU.prototype.clear = function () {\n this._list.clear();\n this._map = {};\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (LRU);\n\n\n/***/ }),\n/* 70 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common__ = __webpack_require__(20);\n\n/* Copyright (c) 2013, Brandon Jones, Colin MacKenzie IV. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */\n\n\n\n/**\n * @class 2 Dimensional Vector\n * @name vec2\n */\n\nvar vec2 = {};\n\n/**\n * Creates a new, empty vec2\n *\n * @returns {vec2} a new 2D vector\n */\nvec2.create = function() {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](2);\n out[0] = 0;\n out[1] = 0;\n return out;\n};\n\n/**\n * Creates a new vec2 initialized with values from an existing vector\n *\n * @param {vec2} a vector to clone\n * @returns {vec2} a new 2D vector\n */\nvec2.clone = function(a) {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](2);\n out[0] = a[0];\n out[1] = a[1];\n return out;\n};\n\n/**\n * Creates a new vec2 initialized with the given values\n *\n * @param {Number} x X component\n * @param {Number} y Y component\n * @returns {vec2} a new 2D vector\n */\nvec2.fromValues = function(x, y) {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](2);\n out[0] = x;\n out[1] = y;\n return out;\n};\n\n/**\n * Copy the values from one vec2 to another\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the source vector\n * @returns {vec2} out\n */\nvec2.copy = function(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n return out;\n};\n\n/**\n * Set the components of a vec2 to the given values\n *\n * @param {vec2} out the receiving vector\n * @param {Number} x X component\n * @param {Number} y Y component\n * @returns {vec2} out\n */\nvec2.set = function(out, x, y) {\n out[0] = x;\n out[1] = y;\n return out;\n};\n\n/**\n * Adds two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {vec2} out\n */\nvec2.add = function(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n return out;\n};\n\n/**\n * Subtracts vector b from vector a\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {vec2} out\n */\nvec2.subtract = function(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n return out;\n};\n\n/**\n * Alias for {@link vec2.subtract}\n * @function\n */\nvec2.sub = vec2.subtract;\n\n/**\n * Multiplies two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {vec2} out\n */\nvec2.multiply = function(out, a, b) {\n out[0] = a[0] * b[0];\n out[1] = a[1] * b[1];\n return out;\n};\n\n/**\n * Alias for {@link vec2.multiply}\n * @function\n */\nvec2.mul = vec2.multiply;\n\n/**\n * Divides two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {vec2} out\n */\nvec2.divide = function(out, a, b) {\n out[0] = a[0] / b[0];\n out[1] = a[1] / b[1];\n return out;\n};\n\n/**\n * Alias for {@link vec2.divide}\n * @function\n */\nvec2.div = vec2.divide;\n\n/**\n * Returns the minimum of two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {vec2} out\n */\nvec2.min = function(out, a, b) {\n out[0] = Math.min(a[0], b[0]);\n out[1] = Math.min(a[1], b[1]);\n return out;\n};\n\n/**\n * Returns the maximum of two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {vec2} out\n */\nvec2.max = function(out, a, b) {\n out[0] = Math.max(a[0], b[0]);\n out[1] = Math.max(a[1], b[1]);\n return out;\n};\n\n/**\n * Scales a vec2 by a scalar number\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {vec2} out\n */\nvec2.scale = function(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n return out;\n};\n\n/**\n * Adds two vec2's after scaling the second operand by a scalar value\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @param {Number} scale the amount to scale b by before adding\n * @returns {vec2} out\n */\nvec2.scaleAndAdd = function(out, a, b, scale) {\n out[0] = a[0] + (b[0] * scale);\n out[1] = a[1] + (b[1] * scale);\n return out;\n};\n\n/**\n * Calculates the euclidian distance between two vec2's\n *\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {Number} distance between a and b\n */\nvec2.distance = function(a, b) {\n var x = b[0] - a[0],\n y = b[1] - a[1];\n return Math.sqrt(x*x + y*y);\n};\n\n/**\n * Alias for {@link vec2.distance}\n * @function\n */\nvec2.dist = vec2.distance;\n\n/**\n * Calculates the squared euclidian distance between two vec2's\n *\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {Number} squared distance between a and b\n */\nvec2.squaredDistance = function(a, b) {\n var x = b[0] - a[0],\n y = b[1] - a[1];\n return x*x + y*y;\n};\n\n/**\n * Alias for {@link vec2.squaredDistance}\n * @function\n */\nvec2.sqrDist = vec2.squaredDistance;\n\n/**\n * Calculates the length of a vec2\n *\n * @param {vec2} a vector to calculate length of\n * @returns {Number} length of a\n */\nvec2.length = function (a) {\n var x = a[0],\n y = a[1];\n return Math.sqrt(x*x + y*y);\n};\n\n/**\n * Alias for {@link vec2.length}\n * @function\n */\nvec2.len = vec2.length;\n\n/**\n * Calculates the squared length of a vec2\n *\n * @param {vec2} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */\nvec2.squaredLength = function (a) {\n var x = a[0],\n y = a[1];\n return x*x + y*y;\n};\n\n/**\n * Alias for {@link vec2.squaredLength}\n * @function\n */\nvec2.sqrLen = vec2.squaredLength;\n\n/**\n * Negates the components of a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a vector to negate\n * @returns {vec2} out\n */\nvec2.negate = function(out, a) {\n out[0] = -a[0];\n out[1] = -a[1];\n return out;\n};\n\n/**\n * Returns the inverse of the components of a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a vector to invert\n * @returns {vec2} out\n */\nvec2.inverse = function(out, a) {\n out[0] = 1.0 / a[0];\n out[1] = 1.0 / a[1];\n return out;\n};\n\n/**\n * Normalize a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a vector to normalize\n * @returns {vec2} out\n */\nvec2.normalize = function(out, a) {\n var x = a[0],\n y = a[1];\n var len = x*x + y*y;\n if (len > 0) {\n //TODO: evaluate use of glm_invsqrt here?\n len = 1 / Math.sqrt(len);\n out[0] = a[0] * len;\n out[1] = a[1] * len;\n }\n return out;\n};\n\n/**\n * Calculates the dot product of two vec2's\n *\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {Number} dot product of a and b\n */\nvec2.dot = function (a, b) {\n return a[0] * b[0] + a[1] * b[1];\n};\n\n/**\n * Computes the cross product of two vec2's\n * Note that the cross product must by definition produce a 3D vector\n *\n * @param {vec3} out the receiving vector\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {vec3} out\n */\nvec2.cross = function(out, a, b) {\n var z = a[0] * b[1] - a[1] * b[0];\n out[0] = out[1] = 0;\n out[2] = z;\n return out;\n};\n\n/**\n * Performs a linear interpolation between two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @param {Number} t interpolation amount between the two inputs\n * @returns {vec2} out\n */\nvec2.lerp = function (out, a, b, t) {\n var ax = a[0],\n ay = a[1];\n out[0] = ax + t * (b[0] - ax);\n out[1] = ay + t * (b[1] - ay);\n return out;\n};\n\n/**\n * Generates a random vector with the given scale\n *\n * @param {vec2} out the receiving vector\n * @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned\n * @returns {vec2} out\n */\nvec2.random = function (out, scale) {\n scale = scale || 1.0;\n var r = GLMAT_RANDOM() * 2.0 * Math.PI;\n out[0] = Math.cos(r) * scale;\n out[1] = Math.sin(r) * scale;\n return out;\n};\n\n/**\n * Transforms the vec2 with a mat2\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the vector to transform\n * @param {mat2} m matrix to transform with\n * @returns {vec2} out\n */\nvec2.transformMat2 = function(out, a, m) {\n var x = a[0],\n y = a[1];\n out[0] = m[0] * x + m[2] * y;\n out[1] = m[1] * x + m[3] * y;\n return out;\n};\n\n/**\n * Transforms the vec2 with a mat2d\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the vector to transform\n * @param {mat2d} m matrix to transform with\n * @returns {vec2} out\n */\nvec2.transformMat2d = function(out, a, m) {\n var x = a[0],\n y = a[1];\n out[0] = m[0] * x + m[2] * y + m[4];\n out[1] = m[1] * x + m[3] * y + m[5];\n return out;\n};\n\n/**\n * Transforms the vec2 with a mat3\n * 3rd vector component is implicitly '1'\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the vector to transform\n * @param {mat3} m matrix to transform with\n * @returns {vec2} out\n */\nvec2.transformMat3 = function(out, a, m) {\n var x = a[0],\n y = a[1];\n out[0] = m[0] * x + m[3] * y + m[6];\n out[1] = m[1] * x + m[4] * y + m[7];\n return out;\n};\n\n/**\n * Transforms the vec2 with a mat4\n * 3rd vector component is implicitly '0'\n * 4th vector component is implicitly '1'\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the vector to transform\n * @param {mat4} m matrix to transform with\n * @returns {vec2} out\n */\nvec2.transformMat4 = function(out, a, m) {\n var x = a[0],\n y = a[1];\n out[0] = m[0] * x + m[4] * y + m[12];\n out[1] = m[1] * x + m[5] * y + m[13];\n return out;\n};\n\n/**\n * Perform some operation over an array of vec2s.\n *\n * @param {Array} a the array of vectors to iterate over\n * @param {Number} stride Number of elements between the start of each vec2. If 0 assumes tightly packed\n * @param {Number} offset Number of elements to skip at the beginning of the array\n * @param {Number} count Number of vec2s to iterate over. If 0 iterates over entire array\n * @param {Function} fn Function to call for each vector in the array\n * @param {Object} [arg] additional argument to pass to fn\n * @returns {Array} a\n * @function\n */\nvec2.forEach = (function() {\n var vec = vec2.create();\n\n return function(a, stride, offset, count, fn, arg) {\n var i, l;\n if(!stride) {\n stride = 2;\n }\n\n if(!offset) {\n offset = 0;\n }\n\n if(count) {\n l = Math.min((count * stride) + offset, a.length);\n } else {\n l = a.length;\n }\n\n for(i = offset; i < l; i += stride) {\n vec[0] = a[i]; vec[1] = a[i+1];\n fn(vec, vec, arg);\n a[i] = vec[0]; a[i+1] = vec[1];\n }\n\n return a;\n };\n})();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (vec2);\n\n/***/ }),\n/* 71 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export clay.prez.vertex\\nuniform mat4 WVP : WORLDVIEWPROJECTION;\\nattribute vec3 pos : POSITION;\\nattribute vec2 uv : TEXCOORD_0;\\n@import clay.chunk.skinning_header\\nvarying vec2 v_Texcoord;\\nvoid main()\\n{\\n vec3 P = pos;\\n#ifdef SKINNING\\n @import clay.chunk.skin_matrix\\n P = (skinMatrixWS * vec4(pos, 1.0)).xyz;\\n#endif\\n gl_Position = WVP * vec4(P, 1.0);\\n v_Texcoord = uv;\\n}\\n@end\\n@export clay.prez.fragment\\nuniform sampler2D alphaMap;\\nuniform float alphaCutoff: 0.0;\\nvarying vec2 v_Texcoord;\\nvoid main()\\n{\\n if (alphaCutoff > 0.0) {\\n if (texture2D(alphaMap, v_Texcoord).a <= alphaCutoff) {\\n discard;\\n }\\n }\\n gl_FragColor = vec4(0.0,0.0,0.0,1.0);\\n}\\n@end\");\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Node__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_glenum__ = __webpack_require__(11);\n\n\n\n/**\n * @constructor\n * @alias clay.Renderable\n * @extends clay.Node\n */\nvar Renderable = __WEBPACK_IMPORTED_MODULE_0__Node__[\"a\" /* default */].extend(/** @lends clay.Renderable# */ {\n /**\n * @type {clay.Material}\n */\n material: null,\n\n /**\n * @type {clay.Geometry}\n */\n geometry: null,\n\n /**\n * @type {number}\n */\n mode: __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].TRIANGLES,\n\n _renderInfo: null\n},\n/** @lends clay.Renderable.prototype */\n{\n\n __program: null,\n\n /**\n * Group of received light.\n */\n lightGroup: 0,\n /**\n * Render order, Nodes with smaller value renders before nodes with larger values.\n * @type {Number}\n */\n renderOrder: 0,\n\n /**\n * Used when mode is LINES, LINE_STRIP or LINE_LOOP\n * @type {number}\n */\n // lineWidth: 1,\n\n /**\n * If enable culling\n * @type {boolean}\n */\n culling: true,\n /**\n * Specify which side of polygon will be culled.\n * Possible values:\n * + {@link clay.Renderable.BACK}\n * + {@link clay.Renderable.FRONT}\n * + {@link clay.Renderable.FRONT_AND_BACK}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/cullFace\n * @type {number}\n */\n cullFace: __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].BACK,\n /**\n * Specify which side is front face.\n * Possible values:\n * + {@link clay.Renderable.CW}\n * + {@link clay.Renderable.CCW}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/frontFace\n * @type {number}\n */\n frontFace: __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].CCW,\n\n /**\n * If enable software frustum culling\n * @type {boolean}\n */\n frustumCulling: true,\n /**\n * @type {boolean}\n */\n receiveShadow: true,\n /**\n * @type {boolean}\n */\n castShadow: true,\n /**\n * @type {boolean}\n */\n ignorePicking: false,\n /**\n * @type {boolean}\n */\n ignorePreZ: false,\n\n /**\n * @type {boolean}\n */\n ignoreGBuffer: false,\n\n /**\n * @return {boolean}\n */\n isRenderable: function() {\n // TODO Shader ?\n return this.geometry && this.material && this.material.shader && !this.invisible\n && this.geometry.vertexCount > 0;\n },\n\n /**\n * Before render hook\n * @type {Function}\n */\n beforeRender: function (_gl) {},\n\n /**\n * Before render hook\n * @type {Function}\n */\n afterRender: function (_gl, renderStat) {},\n\n getBoundingBox: function (filter, out) {\n out = __WEBPACK_IMPORTED_MODULE_0__Node__[\"a\" /* default */].prototype.getBoundingBox.call(this, filter, out);\n if (this.geometry && this.geometry.boundingBox) {\n out.union(this.geometry.boundingBox);\n }\n\n return out;\n },\n\n /**\n * Clone a new renderable\n * @function\n * @return {clay.Renderable}\n */\n clone: (function() {\n var properties = [\n 'castShadow', 'receiveShadow',\n 'mode', 'culling', 'cullFace', 'frontFace',\n 'frustumCulling',\n 'renderOrder', 'lineWidth',\n 'ignorePicking', 'ignorePreZ', 'ignoreGBuffer'\n ];\n return function() {\n var renderable = __WEBPACK_IMPORTED_MODULE_0__Node__[\"a\" /* default */].prototype.clone.call(this);\n\n renderable.geometry = this.geometry;\n renderable.material = this.material;\n\n for (var i = 0; i < properties.length; i++) {\n var name = properties[i];\n // Try not to overwrite the prototype property\n if (renderable[name] !== this[name]) {\n renderable[name] = this[name];\n }\n }\n\n return renderable;\n };\n })()\n});\n\n/**\n * @type {number}\n */\nRenderable.POINTS = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].POINTS;\n/**\n * @type {number}\n */\nRenderable.LINES = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINES;\n/**\n * @type {number}\n */\nRenderable.LINE_LOOP = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINE_LOOP;\n/**\n * @type {number}\n */\nRenderable.LINE_STRIP = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINE_STRIP;\n/**\n * @type {number}\n */\nRenderable.TRIANGLES = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].TRIANGLES;\n/**\n * @type {number}\n */\nRenderable.TRIANGLE_STRIP = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].TRIANGLE_STRIP;\n/**\n * @type {number}\n */\nRenderable.TRIANGLE_FAN = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].TRIANGLE_FAN;\n/**\n * @type {number}\n */\nRenderable.BACK = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].BACK;\n/**\n * @type {number}\n */\nRenderable.FRONT = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].FRONT;\n/**\n * @type {number}\n */\nRenderable.FRONT_AND_BACK = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].FRONT_AND_BACK;\n/**\n * @type {number}\n */\nRenderable.CW = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].CW;\n/**\n * @type {number}\n */\nRenderable.CCW = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].CCW;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Renderable);\n\n\n/***/ }),\n/* 73 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar mathUtil = {};\n\nmathUtil.isPowerOfTwo = function (value) {\n return (value & (value - 1)) === 0;\n};\n\nmathUtil.nextPowerOfTwo = function (value) {\n value --;\n value |= value >> 1;\n value |= value >> 2;\n value |= value >> 4;\n value |= value >> 8;\n value |= value >> 16;\n value ++;\n\n return value;\n};\n\nmathUtil.nearestPowerOfTwo = function (value) {\n return Math.pow( 2, Math.round( Math.log( value ) / Math.LN2 ) );\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (mathUtil);\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__glmatrix_mat4__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__glmatrix_vec4__ = __webpack_require__(33);\n\n\n\n\n\n/**\n * @constructor\n * @alias clay.Plane\n * @param {clay.Vector3} [normal]\n * @param {number} [distance]\n */\nvar Plane = function(normal, distance) {\n /**\n * Normal of the plane\n * @type {clay.Vector3}\n */\n this.normal = normal || new __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */](0, 1, 0);\n\n /**\n * Constant of the plane equation, used as distance to the origin\n * @type {number}\n */\n this.distance = distance || 0;\n};\n\nPlane.prototype = {\n\n constructor: Plane,\n\n /**\n * Distance from a given point to the plane\n * @param {clay.Vector3} point\n * @return {number}\n */\n distanceToPoint: function(point) {\n return __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].dot(point.array, this.normal.array) - this.distance;\n },\n\n /**\n * Calculate the projection point on the plane\n * @param {clay.Vector3} point\n * @param {clay.Vector3} out\n * @return {clay.Vector3}\n */\n projectPoint: function(point, out) {\n if (!out) {\n out = new __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */]();\n }\n var d = this.distanceToPoint(point);\n __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].scaleAndAdd(out.array, point.array, this.normal.array, -d);\n out._dirty = true;\n return out;\n },\n\n /**\n * Normalize the plane's normal and calculate the distance\n */\n normalize: function() {\n var invLen = 1 / __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].len(this.normal.array);\n __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].scale(this.normal.array, invLen);\n this.distance *= invLen;\n },\n\n /**\n * If the plane intersect a frustum\n * @param {clay.Frustum} Frustum\n * @return {boolean}\n */\n intersectFrustum: function(frustum) {\n // Check if all coords of frustum is on plane all under plane\n var coords = frustum.vertices;\n var normal = this.normal.array;\n var onPlane = __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].dot(coords[0].array, normal) > this.distance;\n for (var i = 1; i < 8; i++) {\n if ((__WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].dot(coords[i].array, normal) > this.distance) != onPlane) {\n return true;\n }\n }\n },\n\n /**\n * Calculate the intersection point between plane and a given line\n * @function\n * @param {clay.Vector3} start start point of line\n * @param {clay.Vector3} end end point of line\n * @param {clay.Vector3} [out]\n * @return {clay.Vector3}\n */\n intersectLine: (function() {\n var rd = __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].create();\n return function(start, end, out) {\n var d0 = this.distanceToPoint(start);\n var d1 = this.distanceToPoint(end);\n if ((d0 > 0 && d1 > 0) || (d0 < 0 && d1 < 0)) {\n return null;\n }\n // Ray intersection\n var pn = this.normal.array;\n var d = this.distance;\n var ro = start.array;\n // direction\n __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].sub(rd, end.array, start.array);\n __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].normalize(rd, rd);\n\n var divider = __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].dot(pn, rd);\n // ray is parallel to the plane\n if (divider === 0) {\n return null;\n }\n if (!out) {\n out = new __WEBPACK_IMPORTED_MODULE_0__Vector3__[\"a\" /* default */]();\n }\n var t = (__WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].dot(pn, ro) - d) / divider;\n __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].scaleAndAdd(out.array, ro, rd, -t);\n out._dirty = true;\n return out;\n };\n })(),\n\n /**\n * Apply an affine transform matrix to plane\n * @function\n * @return {clay.Matrix4}\n */\n applyTransform: (function() {\n var inverseTranspose = __WEBPACK_IMPORTED_MODULE_1__glmatrix_mat4__[\"a\" /* default */].create();\n var normalv4 = __WEBPACK_IMPORTED_MODULE_3__glmatrix_vec4__[\"a\" /* default */].create();\n var pointv4 = __WEBPACK_IMPORTED_MODULE_3__glmatrix_vec4__[\"a\" /* default */].create();\n pointv4[3] = 1;\n return function(m4) {\n m4 = m4.array;\n // Transform point on plane\n __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].scale(pointv4, this.normal.array, this.distance);\n __WEBPACK_IMPORTED_MODULE_3__glmatrix_vec4__[\"a\" /* default */].transformMat4(pointv4, pointv4, m4);\n this.distance = __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].dot(pointv4, this.normal.array);\n // Transform plane normal\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_mat4__[\"a\" /* default */].invert(inverseTranspose, m4);\n __WEBPACK_IMPORTED_MODULE_1__glmatrix_mat4__[\"a\" /* default */].transpose(inverseTranspose, inverseTranspose);\n normalv4[3] = 0;\n __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].copy(normalv4, this.normal.array);\n __WEBPACK_IMPORTED_MODULE_3__glmatrix_vec4__[\"a\" /* default */].transformMat4(normalv4, normalv4, inverseTranspose);\n __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].copy(this.normal.array, normalv4);\n };\n })(),\n\n /**\n * Copy from another plane\n * @param {clay.Vector3} plane\n */\n copy: function(plane) {\n __WEBPACK_IMPORTED_MODULE_2__glmatrix_vec3__[\"a\" /* default */].copy(this.normal.array, plane.normal.array);\n this.normal._dirty = true;\n this.distance = plane.distance;\n },\n\n /**\n * Clone a new plane\n * @return {clay.Plane}\n */\n clone: function() {\n var plane = new Plane();\n plane.copy(this);\n return plane;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Plane);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Skybox__ = __webpack_require__(42);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0__Skybox__[\"a\" /* default */]);\n\n/***/ }),\n/* 76 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Geometry__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Plane__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__math_Matrix4__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__math_Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__math_BoundingBox__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__core_vendor__ = __webpack_require__(14);\n\n\n\n\n\n\n\nvar planeMatrix = new __WEBPACK_IMPORTED_MODULE_2__math_Matrix4__[\"a\" /* default */]();\n\n/**\n * @constructor clay.geometry.Cube\n * @extends clay.Geometry\n * @param {Object} [opt]\n * @param {number} [opt.widthSegments]\n * @param {number} [opt.heightSegments]\n * @param {number} [opt.depthSegments]\n * @param {boolean} [opt.inside]\n */\nvar Cube = __WEBPACK_IMPORTED_MODULE_0__Geometry__[\"a\" /* default */].extend(\n/**@lends clay.geometry.Cube# */\n{\n dynamic: false,\n /**\n * @type {number}\n */\n widthSegments: 1,\n /**\n * @type {number}\n */\n heightSegments: 1,\n /**\n * @type {number}\n */\n depthSegments: 1,\n /**\n * @type {boolean}\n */\n inside: false\n}, function() {\n this.build();\n},\n/** @lends clay.geometry.Cube.prototype */\n{\n /**\n * Build cube geometry\n */\n build: function() {\n\n var planes = {\n 'px': createPlane('px', this.depthSegments, this.heightSegments),\n 'nx': createPlane('nx', this.depthSegments, this.heightSegments),\n 'py': createPlane('py', this.widthSegments, this.depthSegments),\n 'ny': createPlane('ny', this.widthSegments, this.depthSegments),\n 'pz': createPlane('pz', this.widthSegments, this.heightSegments),\n 'nz': createPlane('nz', this.widthSegments, this.heightSegments),\n };\n\n var attrList = ['position', 'texcoord0', 'normal'];\n var vertexNumber = 0;\n var faceNumber = 0;\n for (var pos in planes) {\n vertexNumber += planes[pos].vertexCount;\n faceNumber += planes[pos].indices.length;\n }\n for (var k = 0; k < attrList.length; k++) {\n this.attributes[attrList[k]].init(vertexNumber);\n }\n this.indices = new __WEBPACK_IMPORTED_MODULE_5__core_vendor__[\"a\" /* default */].Uint16Array(faceNumber);\n var faceOffset = 0;\n var vertexOffset = 0;\n for (var pos in planes) {\n var plane = planes[pos];\n for (var k = 0; k < attrList.length; k++) {\n var attrName = attrList[k];\n var attrArray = plane.attributes[attrName].value;\n var attrSize = plane.attributes[attrName].size;\n var isNormal = attrName === 'normal';\n for (var i = 0; i < attrArray.length; i++) {\n var value = attrArray[i];\n if (this.inside && isNormal) {\n value = -value;\n }\n this.attributes[attrName].value[i + attrSize * vertexOffset] = value;\n }\n }\n var len = plane.indices.length;\n for (var i = 0; i < plane.indices.length; i++) {\n this.indices[i + faceOffset] = vertexOffset + plane.indices[this.inside ? (len - i - 1) : i];\n }\n faceOffset += plane.indices.length;\n vertexOffset += plane.vertexCount;\n }\n\n this.boundingBox = new __WEBPACK_IMPORTED_MODULE_4__math_BoundingBox__[\"a\" /* default */]();\n this.boundingBox.max.set(1, 1, 1);\n this.boundingBox.min.set(-1, -1, -1);\n }\n});\n\nfunction createPlane(pos, widthSegments, heightSegments) {\n\n planeMatrix.identity();\n\n var plane = new __WEBPACK_IMPORTED_MODULE_1__Plane__[\"a\" /* default */]({\n widthSegments: widthSegments,\n heightSegments: heightSegments\n });\n\n switch(pos) {\n case 'px':\n __WEBPACK_IMPORTED_MODULE_2__math_Matrix4__[\"a\" /* default */].translate(planeMatrix, planeMatrix, __WEBPACK_IMPORTED_MODULE_3__math_Vector3__[\"a\" /* default */].POSITIVE_X);\n __WEBPACK_IMPORTED_MODULE_2__math_Matrix4__[\"a\" /* default */].rotateY(planeMatrix, planeMatrix, Math.PI / 2);\n break;\n case 'nx':\n __WEBPACK_IMPORTED_MODULE_2__math_Matrix4__[\"a\" /* default */].translate(planeMatrix, planeMatrix, __WEBPACK_IMPORTED_MODULE_3__math_Vector3__[\"a\" /* default */].NEGATIVE_X);\n __WEBPACK_IMPORTED_MODULE_2__math_Matrix4__[\"a\" /* default */].rotateY(planeMatrix, planeMatrix, -Math.PI / 2);\n break;\n case 'py':\n __WEBPACK_IMPORTED_MODULE_2__math_Matrix4__[\"a\" /* default */].translate(planeMatrix, planeMatrix, __WEBPACK_IMPORTED_MODULE_3__math_Vector3__[\"a\" /* default */].POSITIVE_Y);\n __WEBPACK_IMPORTED_MODULE_2__math_Matrix4__[\"a\" /* default */].rotateX(planeMatrix, planeMatrix, -Math.PI / 2);\n break;\n case 'ny':\n __WEBPACK_IMPORTED_MODULE_2__math_Matrix4__[\"a\" /* default */].translate(planeMatrix, planeMatrix, __WEBPACK_IMPORTED_MODULE_3__math_Vector3__[\"a\" /* default */].NEGATIVE_Y);\n __WEBPACK_IMPORTED_MODULE_2__math_Matrix4__[\"a\" /* default */].rotateX(planeMatrix, planeMatrix, Math.PI / 2);\n break;\n case 'pz':\n __WEBPACK_IMPORTED_MODULE_2__math_Matrix4__[\"a\" /* default */].translate(planeMatrix, planeMatrix, __WEBPACK_IMPORTED_MODULE_3__math_Vector3__[\"a\" /* default */].POSITIVE_Z);\n break;\n case 'nz':\n __WEBPACK_IMPORTED_MODULE_2__math_Matrix4__[\"a\" /* default */].translate(planeMatrix, planeMatrix, __WEBPACK_IMPORTED_MODULE_3__math_Vector3__[\"a\" /* default */].NEGATIVE_Z);\n __WEBPACK_IMPORTED_MODULE_2__math_Matrix4__[\"a\" /* default */].rotateY(planeMatrix, planeMatrix, Math.PI);\n break;\n }\n plane.applyTransform(planeMatrix);\n return plane;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Cube);\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__TextureCube__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__FrameBuffer__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__compositor_Pass__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Material__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Shader__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__plugin_Skybox__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__Scene__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__prePass_EnvironmentMap__ = __webpack_require__(62);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__core_vendor__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__texture__ = __webpack_require__(61);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__shader_integrateBRDF_glsl_js__ = __webpack_require__(127);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__shader_prefilter_glsl_js__ = __webpack_require__(128);\n// Cubemap prefilter utility\n// http://www.unrealengine.com/files/downloads/2013SiggraphPresentationsNotes.pdf\n// http://http.developer.nvidia.com/GPUGems3/gpugems3_ch20.html\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar cubemapUtil = {};\n\nvar targets = ['px', 'nx', 'py', 'ny', 'pz', 'nz'];\n\n// TODO Downsample\n/**\n * @name clay.util.cubemap.prefilterEnvironmentMap\n * @param {clay.Renderer} renderer\n * @param {clay.Texture} envMap\n * @param {Object} [textureOpts]\n * @param {number} [textureOpts.width=64]\n * @param {number} [textureOpts.height=64]\n * @param {number} [textureOpts.type]\n * @param {boolean} [textureOpts.encodeRGBM=false]\n * @param {boolean} [textureOpts.decodeRGBM=false]\n * @param {clay.Texture2D} [normalDistribution]\n * @param {clay.Texture2D} [brdfLookup]\n */\ncubemapUtil.prefilterEnvironmentMap = function (\n renderer, envMap, textureOpts, normalDistribution, brdfLookup\n) {\n // Not create other renderer, it is easy having issue of cross reference of resources like framebuffer\n // PENDING preserveDrawingBuffer?\n if (!brdfLookup || !normalDistribution) {\n normalDistribution = cubemapUtil.generateNormalDistribution();\n brdfLookup = cubemapUtil.integrateBRDF(renderer, normalDistribution);\n }\n textureOpts = textureOpts || {};\n\n var width = textureOpts.width || 64;\n var height = textureOpts.height || 64;\n\n var textureType = textureOpts.type || envMap.type;\n\n // Use same type with given envMap\n var prefilteredCubeMap = new __WEBPACK_IMPORTED_MODULE_1__TextureCube__[\"a\" /* default */]({\n width: width,\n height: height,\n type: textureType,\n flipY: false,\n mipmaps: []\n });\n\n if (!prefilteredCubeMap.isPowerOfTwo()) {\n console.warn('Width and height must be power of two to enable mipmap.');\n }\n\n var size = Math.min(width, height);\n var mipmapNum = Math.log(size) / Math.log(2) + 1;\n\n var prefilterMaterial = new __WEBPACK_IMPORTED_MODULE_5__Material__[\"a\" /* default */]({\n shader: new __WEBPACK_IMPORTED_MODULE_6__Shader__[\"a\" /* default */]({\n vertex: __WEBPACK_IMPORTED_MODULE_6__Shader__[\"a\" /* default */].source('clay.skybox.vertex'),\n fragment: __WEBPACK_IMPORTED_MODULE_13__shader_prefilter_glsl_js__[\"a\" /* default */]\n })\n });\n prefilterMaterial.set('normalDistribution', normalDistribution);\n\n textureOpts.encodeRGBM && prefilterMaterial.define('fragment', 'RGBM_ENCODE');\n textureOpts.decodeRGBM && prefilterMaterial.define('fragment', 'RGBM_DECODE');\n\n var dummyScene = new __WEBPACK_IMPORTED_MODULE_8__Scene__[\"a\" /* default */]();\n var skyEnv;\n\n if (envMap.textureType === 'texture2D') {\n // Convert panorama to cubemap\n var envCubemap = new __WEBPACK_IMPORTED_MODULE_1__TextureCube__[\"a\" /* default */]({\n width: width,\n height: height,\n // FIXME FLOAT type will cause GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT error on iOS\n type: textureType === __WEBPACK_IMPORTED_MODULE_2__Texture__[\"a\" /* default */].FLOAT ?\n __WEBPACK_IMPORTED_MODULE_2__Texture__[\"a\" /* default */].HALF_FLOAT : textureType\n });\n __WEBPACK_IMPORTED_MODULE_11__texture__[\"a\" /* default */].panoramaToCubeMap(renderer, envMap, envCubemap, {\n // PENDING encodeRGBM so it can be decoded as RGBM\n encodeRGBM: textureOpts.decodeRGBM\n });\n envMap = envCubemap;\n }\n skyEnv = new __WEBPACK_IMPORTED_MODULE_7__plugin_Skybox__[\"a\" /* default */]({\n scene: dummyScene,\n material: prefilterMaterial\n });\n skyEnv.material.set('environmentMap', envMap);\n\n var envMapPass = new __WEBPACK_IMPORTED_MODULE_9__prePass_EnvironmentMap__[\"a\" /* default */]({\n texture: prefilteredCubeMap\n });\n\n // Force to be UNSIGNED_BYTE\n if (textureOpts.encodeRGBM) {\n textureType = prefilteredCubeMap.type = __WEBPACK_IMPORTED_MODULE_2__Texture__[\"a\" /* default */].UNSIGNED_BYTE;\n }\n\n var renderTargetTmp = new __WEBPACK_IMPORTED_MODULE_0__Texture2D__[\"a\" /* default */]({\n width: width,\n height: height,\n type: textureType\n });\n var frameBuffer = new __WEBPACK_IMPORTED_MODULE_3__FrameBuffer__[\"a\" /* default */]({\n depthBuffer: false\n });\n var ArrayCtor = __WEBPACK_IMPORTED_MODULE_10__core_vendor__[\"a\" /* default */][textureType === __WEBPACK_IMPORTED_MODULE_2__Texture__[\"a\" /* default */].UNSIGNED_BYTE ? 'Uint8Array' : 'Float32Array'];\n for (var i = 0; i < mipmapNum; i++) {\n // console.time('prefilter');\n prefilteredCubeMap.mipmaps[i] = {\n pixels: {}\n };\n skyEnv.material.set('roughness', i / (mipmapNum - 1));\n\n // Tweak fov\n // http://the-witness.net/news/2012/02/seamless-cube-map-filtering/\n var n = renderTargetTmp.width;\n var fov = 2 * Math.atan(n / (n - 0.5)) / Math.PI * 180;\n\n for (var j = 0; j < targets.length; j++) {\n var pixels = new ArrayCtor(renderTargetTmp.width * renderTargetTmp.height * 4);\n frameBuffer.attach(renderTargetTmp);\n frameBuffer.bind(renderer);\n\n var camera = envMapPass.getCamera(targets[j]);\n camera.fov = fov;\n renderer.render(dummyScene, camera);\n renderer.gl.readPixels(\n 0, 0, renderTargetTmp.width, renderTargetTmp.height,\n __WEBPACK_IMPORTED_MODULE_2__Texture__[\"a\" /* default */].RGBA, textureType, pixels\n );\n\n // var canvas = document.createElement('canvas');\n // var ctx = canvas.getContext('2d');\n // canvas.width = renderTargetTmp.width;\n // canvas.height = renderTargetTmp.height;\n // var imageData = ctx.createImageData(renderTargetTmp.width, renderTargetTmp.height);\n // for (var k = 0; k < pixels.length; k++) {\n // imageData.data[k] = pixels[k];\n // }\n // ctx.putImageData(imageData, 0, 0);\n // document.body.appendChild(canvas);\n\n frameBuffer.unbind(renderer);\n prefilteredCubeMap.mipmaps[i].pixels[targets[j]] = pixels;\n }\n\n renderTargetTmp.width /= 2;\n renderTargetTmp.height /= 2;\n renderTargetTmp.dirty();\n // console.timeEnd('prefilter');\n }\n\n frameBuffer.dispose(renderer);\n renderTargetTmp.dispose(renderer);\n skyEnv.dispose(renderer);\n // Remove gpu resource allucated in renderer\n normalDistribution.dispose(renderer);\n\n // renderer.dispose();\n\n return {\n environmentMap: prefilteredCubeMap,\n brdfLookup: brdfLookup,\n normalDistribution: normalDistribution,\n maxMipmapLevel: mipmapNum\n };\n};\n\ncubemapUtil.integrateBRDF = function (renderer, normalDistribution) {\n normalDistribution = normalDistribution || cubemapUtil.generateNormalDistribution();\n var framebuffer = new __WEBPACK_IMPORTED_MODULE_3__FrameBuffer__[\"a\" /* default */]({\n depthBuffer: false\n });\n var pass = new __WEBPACK_IMPORTED_MODULE_4__compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_12__shader_integrateBRDF_glsl_js__[\"a\" /* default */]\n });\n\n var texture = new __WEBPACK_IMPORTED_MODULE_0__Texture2D__[\"a\" /* default */]({\n width: 512,\n height: 256,\n type: __WEBPACK_IMPORTED_MODULE_2__Texture__[\"a\" /* default */].HALF_FLOAT,\n wrapS: __WEBPACK_IMPORTED_MODULE_2__Texture__[\"a\" /* default */].CLAMP_TO_EDGE,\n wrapT: __WEBPACK_IMPORTED_MODULE_2__Texture__[\"a\" /* default */].CLAMP_TO_EDGE,\n minFilter: __WEBPACK_IMPORTED_MODULE_2__Texture__[\"a\" /* default */].NEAREST,\n magFilter: __WEBPACK_IMPORTED_MODULE_2__Texture__[\"a\" /* default */].NEAREST,\n useMipmap: false\n });\n pass.setUniform('normalDistribution', normalDistribution);\n pass.setUniform('viewportSize', [512, 256]);\n pass.attachOutput(texture);\n pass.render(renderer, framebuffer);\n\n // FIXME Only chrome and firefox can readPixels with float type.\n // framebuffer.bind(renderer);\n // var pixels = new Float32Array(512 * 256 * 4);\n // renderer.gl.readPixels(\n // 0, 0, texture.width, texture.height,\n // Texture.RGBA, Texture.FLOAT, pixels\n // );\n // texture.pixels = pixels;\n // texture.flipY = false;\n // texture.dirty();\n // framebuffer.unbind(renderer);\n\n framebuffer.dispose(renderer);\n\n return texture;\n};\n\ncubemapUtil.generateNormalDistribution = function (roughnessLevels, sampleSize) {\n\n // http://holger.dammertz.org/stuff/notes_HammersleyOnHemisphere.html\n // GLSL not support bit operation, use lookup instead\n // V -> i / N, U -> roughness\n var roughnessLevels = roughnessLevels || 256;\n var sampleSize = sampleSize || 1024;\n\n var normalDistribution = new __WEBPACK_IMPORTED_MODULE_0__Texture2D__[\"a\" /* default */]({\n width: roughnessLevels,\n height: sampleSize,\n type: __WEBPACK_IMPORTED_MODULE_2__Texture__[\"a\" /* default */].FLOAT,\n minFilter: __WEBPACK_IMPORTED_MODULE_2__Texture__[\"a\" /* default */].NEAREST,\n magFilter: __WEBPACK_IMPORTED_MODULE_2__Texture__[\"a\" /* default */].NEAREST,\n wrapS: __WEBPACK_IMPORTED_MODULE_2__Texture__[\"a\" /* default */].CLAMP_TO_EDGE,\n wrapT: __WEBPACK_IMPORTED_MODULE_2__Texture__[\"a\" /* default */].CLAMP_TO_EDGE,\n useMipmap: false\n });\n var pixels = new Float32Array(sampleSize * roughnessLevels * 4);\n var tmp = [];\n\n // function sortFunc(a, b) {\n // return Math.abs(b) - Math.abs(a);\n // }\n for (var j = 0; j < roughnessLevels; j++) {\n var roughness = j / roughnessLevels;\n var a = roughness * roughness;\n\n for (var i = 0; i < sampleSize; i++) {\n // http://holger.dammertz.org/stuff/notes_HammersleyOnHemisphere.html\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators\n // http://stackoverflow.com/questions/1908492/unsigned-integer-in-javascript\n // http://stackoverflow.com/questions/1822350/what-is-the-javascript-operator-and-how-do-you-use-it\n var y = (i << 16 | i >>> 16) >>> 0;\n y = ((y & 1431655765) << 1 | (y & 2863311530) >>> 1) >>> 0;\n y = ((y & 858993459) << 2 | (y & 3435973836) >>> 2) >>> 0;\n y = ((y & 252645135) << 4 | (y & 4042322160) >>> 4) >>> 0;\n y = (((y & 16711935) << 8 | (y & 4278255360) >>> 8) >>> 0) / 4294967296;\n\n // CDF\n var cosTheta = Math.sqrt((1 - y) / (1 + (a * a - 1.0) * y));\n tmp[i] = cosTheta;\n }\n\n for (var i = 0; i < sampleSize; i++) {\n var offset = (i * roughnessLevels + j) * 4;\n var cosTheta = tmp[i];\n var sinTheta = Math.sqrt(1.0 - cosTheta * cosTheta);\n var x = i / sampleSize;\n var phi = 2.0 * Math.PI * x;\n pixels[offset] = sinTheta * Math.cos(phi);\n pixels[offset + 1] = cosTheta;\n pixels[offset + 2] = sinTheta * Math.sin(phi);\n pixels[offset + 3] = 1.0;\n }\n }\n normalDistribution.pixels = pixels;\n\n return normalDistribution;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (cubemapUtil);\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common__ = __webpack_require__(20);\n\n\n/* Copyright (c) 2013, Brandon Jones, Colin MacKenzie IV. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */\n\n\n\n/**\n * @class 2x2 Matrix\n * @name mat2\n */\n\nvar mat2 = {};\n\n/**\n * Creates a new identity mat2\n *\n * @returns {mat2} a new 2x2 matrix\n */\nmat2.create = function() {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](4);\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n return out;\n};\n\n/**\n * Creates a new mat2 initialized with values from an existing matrix\n *\n * @param {mat2} a matrix to clone\n * @returns {mat2} a new 2x2 matrix\n */\nmat2.clone = function(a) {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](4);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n return out;\n};\n\n/**\n * Copy the values from one mat2 to another\n *\n * @param {mat2} out the receiving matrix\n * @param {mat2} a the source matrix\n * @returns {mat2} out\n */\nmat2.copy = function(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n return out;\n};\n\n/**\n * Set a mat2 to the identity matrix\n *\n * @param {mat2} out the receiving matrix\n * @returns {mat2} out\n */\nmat2.identity = function(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n return out;\n};\n\n/**\n * Transpose the values of a mat2\n *\n * @param {mat2} out the receiving matrix\n * @param {mat2} a the source matrix\n * @returns {mat2} out\n */\nmat2.transpose = function(out, a) {\n // If we are transposing ourselves we can skip a few steps but have to cache some values\n if (out === a) {\n var a1 = a[1];\n out[1] = a[2];\n out[2] = a1;\n } else {\n out[0] = a[0];\n out[1] = a[2];\n out[2] = a[1];\n out[3] = a[3];\n }\n\n return out;\n};\n\n/**\n * Inverts a mat2\n *\n * @param {mat2} out the receiving matrix\n * @param {mat2} a the source matrix\n * @returns {mat2} out\n */\nmat2.invert = function(out, a) {\n var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3],\n\n // Calculate the determinant\n det = a0 * a3 - a2 * a1;\n\n if (!det) {\n return null;\n }\n det = 1.0 / det;\n\n out[0] = a3 * det;\n out[1] = -a1 * det;\n out[2] = -a2 * det;\n out[3] = a0 * det;\n\n return out;\n};\n\n/**\n * Calculates the adjugate of a mat2\n *\n * @param {mat2} out the receiving matrix\n * @param {mat2} a the source matrix\n * @returns {mat2} out\n */\nmat2.adjoint = function(out, a) {\n // Caching this value is nessecary if out == a\n var a0 = a[0];\n out[0] = a[3];\n out[1] = -a[1];\n out[2] = -a[2];\n out[3] = a0;\n\n return out;\n};\n\n/**\n * Calculates the determinant of a mat2\n *\n * @param {mat2} a the source matrix\n * @returns {Number} determinant of a\n */\nmat2.determinant = function (a) {\n return a[0] * a[3] - a[2] * a[1];\n};\n\n/**\n * Multiplies two mat2's\n *\n * @param {mat2} out the receiving matrix\n * @param {mat2} a the first operand\n * @param {mat2} b the second operand\n * @returns {mat2} out\n */\nmat2.multiply = function (out, a, b) {\n var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3];\n var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3];\n out[0] = a0 * b0 + a2 * b1;\n out[1] = a1 * b0 + a3 * b1;\n out[2] = a0 * b2 + a2 * b3;\n out[3] = a1 * b2 + a3 * b3;\n return out;\n};\n\n/**\n * Alias for {@link mat2.multiply}\n * @function\n */\nmat2.mul = mat2.multiply;\n\n/**\n * Rotates a mat2 by the given angle\n *\n * @param {mat2} out the receiving matrix\n * @param {mat2} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat2} out\n */\nmat2.rotate = function (out, a, rad) {\n var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3],\n s = Math.sin(rad),\n c = Math.cos(rad);\n out[0] = a0 * c + a2 * s;\n out[1] = a1 * c + a3 * s;\n out[2] = a0 * -s + a2 * c;\n out[3] = a1 * -s + a3 * c;\n return out;\n};\n\n/**\n * Scales the mat2 by the dimensions in the given vec2\n *\n * @param {mat2} out the receiving matrix\n * @param {mat2} a the matrix to rotate\n * @param {vec2} v the vec2 to scale the matrix by\n * @returns {mat2} out\n **/\nmat2.scale = function(out, a, v) {\n var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3],\n v0 = v[0], v1 = v[1];\n out[0] = a0 * v0;\n out[1] = a1 * v0;\n out[2] = a2 * v1;\n out[3] = a3 * v1;\n return out;\n};\n\n/**\n * Returns Frobenius norm of a mat2\n *\n * @param {mat2} a the matrix to calculate Frobenius norm of\n * @returns {Number} Frobenius norm\n */\nmat2.frob = function (a) {\n return(Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2) + Math.pow(a[3], 2)))\n};\n\n/**\n * Returns L, D and U matrices (Lower triangular, Diagonal and Upper triangular) by factorizing the input matrix\n * @param {mat2} L the lower triangular matrix\n * @param {mat2} D the diagonal matrix\n * @param {mat2} U the upper triangular matrix\n * @param {mat2} a the input matrix to factorize\n */\n\nmat2.LDU = function (L, D, U, a) {\n L[2] = a[2]/a[0];\n U[0] = a[0];\n U[1] = a[1];\n U[3] = a[3] - L[2] * U[1];\n return [L, D, U];\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (mat2);\n\n/***/ }),\n/* 79 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common__ = __webpack_require__(20);\n\n/* Copyright (c) 2013, Brandon Jones, Colin MacKenzie IV. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */\n\n\n\n/**\n * @class 2x3 Matrix\n * @name mat2d\n *\n * @description\n * A mat2d contains six elements defined as:\n *
\n * [a, c, tx,\n *  b, d, ty]\n * 
\n * This is a short form for the 3x3 matrix:\n *
\n * [a, c, tx,\n *  b, d, ty,\n *  0, 0, 1]\n * 
\n * The last row is ignored so the array is shorter and operations are faster.\n */\n\nvar mat2d = {};\n\n/**\n * Creates a new identity mat2d\n *\n * @returns {mat2d} a new 2x3 matrix\n */\nmat2d.create = function() {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](6);\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n out[4] = 0;\n out[5] = 0;\n return out;\n};\n\n/**\n * Creates a new mat2d initialized with values from an existing matrix\n *\n * @param {mat2d} a matrix to clone\n * @returns {mat2d} a new 2x3 matrix\n */\nmat2d.clone = function(a) {\n var out = new __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* GLMAT_ARRAY_TYPE */](6);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n return out;\n};\n\n/**\n * Copy the values from one mat2d to another\n *\n * @param {mat2d} out the receiving matrix\n * @param {mat2d} a the source matrix\n * @returns {mat2d} out\n */\nmat2d.copy = function(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n return out;\n};\n\n/**\n * Set a mat2d to the identity matrix\n *\n * @param {mat2d} out the receiving matrix\n * @returns {mat2d} out\n */\nmat2d.identity = function(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n out[4] = 0;\n out[5] = 0;\n return out;\n};\n\n/**\n * Inverts a mat2d\n *\n * @param {mat2d} out the receiving matrix\n * @param {mat2d} a the source matrix\n * @returns {mat2d} out\n */\nmat2d.invert = function(out, a) {\n var aa = a[0], ab = a[1], ac = a[2], ad = a[3],\n atx = a[4], aty = a[5];\n\n var det = aa * ad - ab * ac;\n if(!det){\n return null;\n }\n det = 1.0 / det;\n\n out[0] = ad * det;\n out[1] = -ab * det;\n out[2] = -ac * det;\n out[3] = aa * det;\n out[4] = (ac * aty - ad * atx) * det;\n out[5] = (ab * atx - aa * aty) * det;\n return out;\n};\n\n/**\n * Calculates the determinant of a mat2d\n *\n * @param {mat2d} a the source matrix\n * @returns {Number} determinant of a\n */\nmat2d.determinant = function (a) {\n return a[0] * a[3] - a[1] * a[2];\n};\n\n/**\n * Multiplies two mat2d's\n *\n * @param {mat2d} out the receiving matrix\n * @param {mat2d} a the first operand\n * @param {mat2d} b the second operand\n * @returns {mat2d} out\n */\nmat2d.multiply = function (out, a, b) {\n var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5],\n b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5];\n out[0] = a0 * b0 + a2 * b1;\n out[1] = a1 * b0 + a3 * b1;\n out[2] = a0 * b2 + a2 * b3;\n out[3] = a1 * b2 + a3 * b3;\n out[4] = a0 * b4 + a2 * b5 + a4;\n out[5] = a1 * b4 + a3 * b5 + a5;\n return out;\n};\n\n/**\n * Alias for {@link mat2d.multiply}\n * @function\n */\nmat2d.mul = mat2d.multiply;\n\n\n/**\n * Rotates a mat2d by the given angle\n *\n * @param {mat2d} out the receiving matrix\n * @param {mat2d} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat2d} out\n */\nmat2d.rotate = function (out, a, rad) {\n var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5],\n s = Math.sin(rad),\n c = Math.cos(rad);\n out[0] = a0 * c + a2 * s;\n out[1] = a1 * c + a3 * s;\n out[2] = a0 * -s + a2 * c;\n out[3] = a1 * -s + a3 * c;\n out[4] = a4;\n out[5] = a5;\n return out;\n};\n\n/**\n * Scales the mat2d by the dimensions in the given vec2\n *\n * @param {mat2d} out the receiving matrix\n * @param {mat2d} a the matrix to translate\n * @param {vec2} v the vec2 to scale the matrix by\n * @returns {mat2d} out\n **/\nmat2d.scale = function(out, a, v) {\n var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5],\n v0 = v[0], v1 = v[1];\n out[0] = a0 * v0;\n out[1] = a1 * v0;\n out[2] = a2 * v1;\n out[3] = a3 * v1;\n out[4] = a4;\n out[5] = a5;\n return out;\n};\n\n/**\n * Translates the mat2d by the dimensions in the given vec2\n *\n * @param {mat2d} out the receiving matrix\n * @param {mat2d} a the matrix to translate\n * @param {vec2} v the vec2 to translate the matrix by\n * @returns {mat2d} out\n **/\nmat2d.translate = function(out, a, v) {\n var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5],\n v0 = v[0], v1 = v[1];\n out[0] = a0;\n out[1] = a1;\n out[2] = a2;\n out[3] = a3;\n out[4] = a0 * v0 + a2 * v1 + a4;\n out[5] = a1 * v0 + a3 * v1 + a5;\n return out;\n};\n\n/**\n * Returns Frobenius norm of a mat2d\n *\n * @param {mat2d} a the matrix to calculate Frobenius norm of\n * @returns {Number} Frobenius norm\n */\nmat2d.frob = function (a) {\n return(Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2) + Math.pow(a[3], 2) + Math.pow(a[4], 2) + Math.pow(a[5], 2) + 1))\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (mat2d);\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports) {\n\nvar _default = typeof window !== 'undefined' && (window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || // https://github.com/ecomfe/zrender/issues/189#issuecomment-224919809\nwindow.msRequestAnimationFrame && window.msRequestAnimationFrame.bind(window) || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame) || function (func) {\n setTimeout(func, 16);\n};\n\nmodule.exports = _default;\n\n/***/ }),\n/* 81 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_Texture2D__ = __webpack_require__(5);\n/**\n * Texture Atlas for the sprites.\n * It uses zrender for 2d element management and rendering\n * @module echarts-gl/util/ZRTextureAtlasSurface\n */\n\n// TODO Expand.\n\n\n\nfunction ZRTextureAtlasSurfaceNode(zr, offsetX, offsetY, width, height, gap, dpr) {\n this._zr = zr;\n\n /**\n * Current cursor x\n * @type {number}\n * @private\n */\n this._x = 0;\n\n /**\n * Current cursor y\n * @type {number}\n */\n this._y = 0;\n\n this._rowHeight = 0;\n /**\n * width without dpr.\n * @type {number}\n * @private\n */\n this.width = width;\n\n /**\n * height without dpr.\n * @type {number}\n * @private\n */\n this.height = height;\n\n /**\n * offsetX without dpr\n * @type {number}\n */\n this.offsetX = offsetX;\n /**\n * offsetY without dpr\n * @type {number}\n */\n this.offsetY = offsetY;\n\n this.dpr = dpr;\n\n this.gap = gap;\n}\n\nZRTextureAtlasSurfaceNode.prototype = {\n\n constructor: ZRTextureAtlasSurfaceNode,\n\n clear: function () {\n this._x = 0;\n this._y = 0;\n this._rowHeight = 0;\n },\n\n /**\n * Add shape to atlas\n * @param {module:zrender/graphic/Displayable} shape\n * @param {number} width\n * @param {number} height\n * @return {Array}\n */\n add: function (el, width, height) {\n // FIXME Text element not consider textAlign and textVerticalAlign.\n\n // TODO, inner text, shadow\n var rect = el.getBoundingRect();\n\n // FIXME aspect ratio\n if (width == null) {\n width = rect.width;\n }\n if (height == null) {\n height = rect.height;\n }\n width *= this.dpr;\n height *= this.dpr;\n\n this._fitElement(el, width, height);\n\n // var aspect = el.scale[1] / el.scale[0];\n // Adjust aspect ratio to make the text more clearly\n // FIXME If height > width, width is useless ?\n // width = height * aspect;\n // el.position[0] *= aspect;\n // el.scale[0] = el.scale[1];\n\n var x = this._x;\n var y = this._y;\n\n var canvasWidth = this.width * this.dpr;\n var canvasHeight = this.height * this.dpr;\n var gap = this.gap;\n\n if (x + width + gap > canvasWidth) {\n // Change a new row\n x = this._x = 0;\n y += this._rowHeight + gap;\n this._y = y;\n // Reset row height\n this._rowHeight = 0;\n }\n\n this._x += width + gap;\n\n this._rowHeight = Math.max(this._rowHeight, height);\n\n if (y + height + gap > canvasHeight) {\n // There is no space anymore\n return null;\n }\n\n // Shift the el\n el.position[0] += this.offsetX * this.dpr + x;\n el.position[1] += this.offsetY * this.dpr + y;\n\n this._zr.add(el);\n\n var coordsOffset = [\n this.offsetX / this.width,\n this.offsetY / this.height\n ];\n var coords = [\n [x / canvasWidth + coordsOffset[0], y / canvasHeight + coordsOffset[1]],\n [(x + width) / canvasWidth + coordsOffset[0], (y + height) / canvasHeight + coordsOffset[1]]\n ];\n\n return coords;\n },\n\n /**\n * Fit element size by correct its position and scaling\n * @param {module:zrender/graphic/Displayable} el\n * @param {number} spriteWidth\n * @param {number} spriteHeight\n */\n _fitElement: function (el, spriteWidth, spriteHeight) {\n // TODO, inner text, shadow\n var rect = el.getBoundingRect();\n\n var scaleX = spriteWidth / rect.width;\n var scaleY = spriteHeight / rect.height;\n el.position = [-rect.x * scaleX, -rect.y * scaleY];\n el.scale = [scaleX, scaleY];\n el.update();\n }\n}\n/**\n * constructor\n * @alias module:echarts-gl/util/ZRTextureAtlasSurface\n * @param {number} opt.width\n * @param {number} opt.height\n * @param {number} opt.devicePixelRatio\n * @param {number} opt.gap Gap for safe.\n * @param {Function} opt.onupdate\n */\nfunction ZRTextureAtlasSurface (opt) {\n\n opt = opt || {};\n opt.width = opt.width || 512;\n opt.height = opt.height || 512;\n opt.devicePixelRatio = opt.devicePixelRatio || 1;\n opt.gap = opt.gap == null ? 2 : opt.gap;\n\n var canvas = document.createElement('canvas');\n canvas.width = opt.width * opt.devicePixelRatio;\n canvas.height = opt.height * opt.devicePixelRatio;\n\n this._canvas = canvas;\n\n this._texture = new __WEBPACK_IMPORTED_MODULE_1_claygl_src_Texture2D__[\"a\" /* default */]({\n image: canvas,\n flipY: false\n });\n\n var self = this;\n /**\n * zrender instance in the Chart\n * @type {zrender~ZRender}\n */\n this._zr = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.zrender.init(canvas);\n var oldRefreshImmediately = this._zr.refreshImmediately;\n this._zr.refreshImmediately = function () {\n oldRefreshImmediately.call(this);\n self._texture.dirty();\n self.onupdate && self.onupdate();\n };\n\n this._dpr = opt.devicePixelRatio;\n\n /**\n * Texture coords map for each sprite image\n * @type {Object}\n */\n this._coords = {};\n\n this.onupdate = opt.onupdate;\n\n this._gap = opt.gap;\n\n // Left sub atlas.\n this._textureAtlasNodes = [new ZRTextureAtlasSurfaceNode(\n this._zr, 0, 0, opt.width, opt.height, this._gap, this._dpr\n )];\n\n this._nodeWidth = opt.width;\n this._nodeHeight = opt.height;\n\n this._currentNodeIdx = 0;\n}\n\nZRTextureAtlasSurface.prototype = {\n\n /**\n * Clear the texture atlas\n */\n clear: function () {\n\n for (var i = 0; i < this._textureAtlasNodes.length; i++) {\n this._textureAtlasNodes[i].clear();\n }\n\n this._currentNodeIdx = 0;\n\n this._zr.clear();\n this._coords = {};\n },\n\n /**\n * @return {number}\n */\n getWidth: function () {\n return this._width;\n },\n\n /**\n * @return {number}\n */\n getHeight: function () {\n return this._height;\n },\n\n /**\n * @return {number}\n */\n getTexture: function () {\n return this._texture;\n },\n\n /**\n * @return {number}\n */\n getDevicePixelRatio: function () {\n return this._dpr;\n },\n\n getZr: function () {\n return this._zr;\n },\n\n _getCurrentNode: function () {\n return this._textureAtlasNodes[this._currentNodeIdx];\n },\n\n _expand: function () {\n this._currentNodeIdx++;\n if (this._textureAtlasNodes[this._currentNodeIdx]) {\n // Use the node created previously.\n return this._textureAtlasNodes[this._currentNodeIdx];\n }\n\n var maxSize = 4096 / this._dpr;\n var textureAtlasNodes = this._textureAtlasNodes;\n var nodeLen = textureAtlasNodes.length;\n var offsetX = (nodeLen * this._nodeWidth) % maxSize;\n var offsetY = Math.floor(nodeLen * this._nodeWidth / maxSize) * this._nodeHeight;\n if (offsetY >= maxSize) {\n // Failed if image is too large.\n if (true) {\n console.error('Too much labels. Some will be ignored.');\n }\n return;\n }\n\n var width = (offsetX + this._nodeWidth) * this._dpr;\n var height = (offsetY + this._nodeHeight) * this._dpr;\n try {\n // Resize will error in node.\n this._zr.resize({\n width: width,\n height: height\n });\n }\n catch (e) {\n this._canvas.width = width;\n this._canvas.height = height;\n }\n\n var newNode = new ZRTextureAtlasSurfaceNode(\n this._zr, offsetX, offsetY, this._nodeWidth, this._nodeHeight, this._gap, this._dpr\n );\n this._textureAtlasNodes.push(newNode);\n\n return newNode;\n },\n\n add: function (el, width, height) {\n if (this._coords[el.id]) {\n if (true) {\n console.warn('Element already been add');\n }\n return this._coords[el.id];\n }\n var coords = this._getCurrentNode().add(el, width, height);\n if (!coords) {\n var newNode = this._expand();\n if (!newNode) {\n // To maximum\n return;\n }\n coords = newNode.add(el, width, height);\n }\n\n this._coords[el.id] = coords;\n\n return coords;\n },\n\n /**\n * Get coord scale after texture atlas is expanded.\n * @return {Array.}\n */\n getCoordsScale: function () {\n var dpr = this._dpr;\n return [this._nodeWidth / this._canvas.width * dpr, this._nodeHeight / this._canvas.height * dpr];\n },\n\n /**\n * Get texture coords of sprite image\n * @param {string} id Image id\n * @return {Array}\n */\n getCoords: function (id) {\n return this._coords[id];\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (ZRTextureAtlasSurface);\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar vec2 = __webpack_require__(83);\n\nvar matrix = __webpack_require__(84);\n\n/**\n * @module echarts/core/BoundingRect\n */\nvar v2ApplyTransform = vec2.applyTransform;\nvar mathMin = Math.min;\nvar mathMax = Math.max;\n/**\n * @alias module:echarts/core/BoundingRect\n */\n\nfunction BoundingRect(x, y, width, height) {\n if (width < 0) {\n x = x + width;\n width = -width;\n }\n\n if (height < 0) {\n y = y + height;\n height = -height;\n }\n /**\n * @type {number}\n */\n\n\n this.x = x;\n /**\n * @type {number}\n */\n\n this.y = y;\n /**\n * @type {number}\n */\n\n this.width = width;\n /**\n * @type {number}\n */\n\n this.height = height;\n}\n\nBoundingRect.prototype = {\n constructor: BoundingRect,\n\n /**\n * @param {module:echarts/core/BoundingRect} other\n */\n union: function (other) {\n var x = mathMin(other.x, this.x);\n var y = mathMin(other.y, this.y);\n this.width = mathMax(other.x + other.width, this.x + this.width) - x;\n this.height = mathMax(other.y + other.height, this.y + this.height) - y;\n this.x = x;\n this.y = y;\n },\n\n /**\n * @param {Array.} m\n * @methods\n */\n applyTransform: function () {\n var lt = [];\n var rb = [];\n var lb = [];\n var rt = [];\n return function (m) {\n // In case usage like this\n // el.getBoundingRect().applyTransform(el.transform)\n // And element has no transform\n if (!m) {\n return;\n }\n\n lt[0] = lb[0] = this.x;\n lt[1] = rt[1] = this.y;\n rb[0] = rt[0] = this.x + this.width;\n rb[1] = lb[1] = this.y + this.height;\n v2ApplyTransform(lt, lt, m);\n v2ApplyTransform(rb, rb, m);\n v2ApplyTransform(lb, lb, m);\n v2ApplyTransform(rt, rt, m);\n this.x = mathMin(lt[0], rb[0], lb[0], rt[0]);\n this.y = mathMin(lt[1], rb[1], lb[1], rt[1]);\n var maxX = mathMax(lt[0], rb[0], lb[0], rt[0]);\n var maxY = mathMax(lt[1], rb[1], lb[1], rt[1]);\n this.width = maxX - this.x;\n this.height = maxY - this.y;\n };\n }(),\n\n /**\n * Calculate matrix of transforming from self to target rect\n * @param {module:zrender/core/BoundingRect} b\n * @return {Array.}\n */\n calculateTransform: function (b) {\n var a = this;\n var sx = b.width / a.width;\n var sy = b.height / a.height;\n var m = matrix.create(); // 矩阵右乘\n\n matrix.translate(m, m, [-a.x, -a.y]);\n matrix.scale(m, m, [sx, sy]);\n matrix.translate(m, m, [b.x, b.y]);\n return m;\n },\n\n /**\n * @param {(module:echarts/core/BoundingRect|Object)} b\n * @return {boolean}\n */\n intersect: function (b) {\n if (!b) {\n return false;\n }\n\n if (!(b instanceof BoundingRect)) {\n // Normalize negative width/height.\n b = BoundingRect.create(b);\n }\n\n var a = this;\n var ax0 = a.x;\n var ax1 = a.x + a.width;\n var ay0 = a.y;\n var ay1 = a.y + a.height;\n var bx0 = b.x;\n var bx1 = b.x + b.width;\n var by0 = b.y;\n var by1 = b.y + b.height;\n return !(ax1 < bx0 || bx1 < ax0 || ay1 < by0 || by1 < ay0);\n },\n contain: function (x, y) {\n var rect = this;\n return x >= rect.x && x <= rect.x + rect.width && y >= rect.y && y <= rect.y + rect.height;\n },\n\n /**\n * @return {module:echarts/core/BoundingRect}\n */\n clone: function () {\n return new BoundingRect(this.x, this.y, this.width, this.height);\n },\n\n /**\n * Copy from another rect\n */\n copy: function (other) {\n this.x = other.x;\n this.y = other.y;\n this.width = other.width;\n this.height = other.height;\n },\n plain: function () {\n return {\n x: this.x,\n y: this.y,\n width: this.width,\n height: this.height\n };\n }\n};\n/**\n * @param {Object|module:zrender/core/BoundingRect} rect\n * @param {number} rect.x\n * @param {number} rect.y\n * @param {number} rect.width\n * @param {number} rect.height\n * @return {module:zrender/core/BoundingRect}\n */\n\nBoundingRect.create = function (rect) {\n return new BoundingRect(rect.x, rect.y, rect.width, rect.height);\n};\n\nvar _default = BoundingRect;\nmodule.exports = _default;\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\nvar ArrayCtor = typeof Float32Array === 'undefined' ? Array : Float32Array;\n/**\n * 创建一个向量\n * @param {number} [x=0]\n * @param {number} [y=0]\n * @return {Vector2}\n */\n\nfunction create(x, y) {\n var out = new ArrayCtor(2);\n\n if (x == null) {\n x = 0;\n }\n\n if (y == null) {\n y = 0;\n }\n\n out[0] = x;\n out[1] = y;\n return out;\n}\n/**\n * 复制向量数据\n * @param {Vector2} out\n * @param {Vector2} v\n * @return {Vector2}\n */\n\n\nfunction copy(out, v) {\n out[0] = v[0];\n out[1] = v[1];\n return out;\n}\n/**\n * 克隆一个向量\n * @param {Vector2} v\n * @return {Vector2}\n */\n\n\nfunction clone(v) {\n var out = new ArrayCtor(2);\n out[0] = v[0];\n out[1] = v[1];\n return out;\n}\n/**\n * 设置向量的两个项\n * @param {Vector2} out\n * @param {number} a\n * @param {number} b\n * @return {Vector2} 结果\n */\n\n\nfunction set(out, a, b) {\n out[0] = a;\n out[1] = b;\n return out;\n}\n/**\n * 向量相加\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\n\nfunction add(out, v1, v2) {\n out[0] = v1[0] + v2[0];\n out[1] = v1[1] + v2[1];\n return out;\n}\n/**\n * 向量缩放后相加\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n * @param {number} a\n */\n\n\nfunction scaleAndAdd(out, v1, v2, a) {\n out[0] = v1[0] + v2[0] * a;\n out[1] = v1[1] + v2[1] * a;\n return out;\n}\n/**\n * 向量相减\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\n\nfunction sub(out, v1, v2) {\n out[0] = v1[0] - v2[0];\n out[1] = v1[1] - v2[1];\n return out;\n}\n/**\n * 向量长度\n * @param {Vector2} v\n * @return {number}\n */\n\n\nfunction len(v) {\n return Math.sqrt(lenSquare(v));\n}\n\nvar length = len; // jshint ignore:line\n\n/**\n * 向量长度平方\n * @param {Vector2} v\n * @return {number}\n */\n\nfunction lenSquare(v) {\n return v[0] * v[0] + v[1] * v[1];\n}\n\nvar lengthSquare = lenSquare;\n/**\n * 向量乘法\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\nfunction mul(out, v1, v2) {\n out[0] = v1[0] * v2[0];\n out[1] = v1[1] * v2[1];\n return out;\n}\n/**\n * 向量除法\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\n\nfunction div(out, v1, v2) {\n out[0] = v1[0] / v2[0];\n out[1] = v1[1] / v2[1];\n return out;\n}\n/**\n * 向量点乘\n * @param {Vector2} v1\n * @param {Vector2} v2\n * @return {number}\n */\n\n\nfunction dot(v1, v2) {\n return v1[0] * v2[0] + v1[1] * v2[1];\n}\n/**\n * 向量缩放\n * @param {Vector2} out\n * @param {Vector2} v\n * @param {number} s\n */\n\n\nfunction scale(out, v, s) {\n out[0] = v[0] * s;\n out[1] = v[1] * s;\n return out;\n}\n/**\n * 向量归一化\n * @param {Vector2} out\n * @param {Vector2} v\n */\n\n\nfunction normalize(out, v) {\n var d = len(v);\n\n if (d === 0) {\n out[0] = 0;\n out[1] = 0;\n } else {\n out[0] = v[0] / d;\n out[1] = v[1] / d;\n }\n\n return out;\n}\n/**\n * 计算向量间距离\n * @param {Vector2} v1\n * @param {Vector2} v2\n * @return {number}\n */\n\n\nfunction distance(v1, v2) {\n return Math.sqrt((v1[0] - v2[0]) * (v1[0] - v2[0]) + (v1[1] - v2[1]) * (v1[1] - v2[1]));\n}\n\nvar dist = distance;\n/**\n * 向量距离平方\n * @param {Vector2} v1\n * @param {Vector2} v2\n * @return {number}\n */\n\nfunction distanceSquare(v1, v2) {\n return (v1[0] - v2[0]) * (v1[0] - v2[0]) + (v1[1] - v2[1]) * (v1[1] - v2[1]);\n}\n\nvar distSquare = distanceSquare;\n/**\n * 求负向量\n * @param {Vector2} out\n * @param {Vector2} v\n */\n\nfunction negate(out, v) {\n out[0] = -v[0];\n out[1] = -v[1];\n return out;\n}\n/**\n * 插值两个点\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n * @param {number} t\n */\n\n\nfunction lerp(out, v1, v2, t) {\n out[0] = v1[0] + t * (v2[0] - v1[0]);\n out[1] = v1[1] + t * (v2[1] - v1[1]);\n return out;\n}\n/**\n * 矩阵左乘向量\n * @param {Vector2} out\n * @param {Vector2} v\n * @param {Vector2} m\n */\n\n\nfunction applyTransform(out, v, m) {\n var x = v[0];\n var y = v[1];\n out[0] = m[0] * x + m[2] * y + m[4];\n out[1] = m[1] * x + m[3] * y + m[5];\n return out;\n}\n/**\n * 求两个向量最小值\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\n\nfunction min(out, v1, v2) {\n out[0] = Math.min(v1[0], v2[0]);\n out[1] = Math.min(v1[1], v2[1]);\n return out;\n}\n/**\n * 求两个向量最大值\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\n\nfunction max(out, v1, v2) {\n out[0] = Math.max(v1[0], v2[0]);\n out[1] = Math.max(v1[1], v2[1]);\n return out;\n}\n\nexports.create = create;\nexports.copy = copy;\nexports.clone = clone;\nexports.set = set;\nexports.add = add;\nexports.scaleAndAdd = scaleAndAdd;\nexports.sub = sub;\nexports.len = len;\nexports.length = length;\nexports.lenSquare = lenSquare;\nexports.lengthSquare = lengthSquare;\nexports.mul = mul;\nexports.div = div;\nexports.dot = dot;\nexports.scale = scale;\nexports.normalize = normalize;\nexports.distance = distance;\nexports.dist = dist;\nexports.distanceSquare = distanceSquare;\nexports.distSquare = distSquare;\nexports.negate = negate;\nexports.lerp = lerp;\nexports.applyTransform = applyTransform;\nexports.min = min;\nexports.max = max;\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports) {\n\n/**\n * 3x2矩阵操作类\n * @exports zrender/tool/matrix\n */\nvar ArrayCtor = typeof Float32Array === 'undefined' ? Array : Float32Array;\n/**\n * Create a identity matrix.\n * @return {Float32Array|Array.}\n */\n\nfunction create() {\n var out = new ArrayCtor(6);\n identity(out);\n return out;\n}\n/**\n * 设置矩阵为单位矩阵\n * @param {Float32Array|Array.} out\n */\n\n\nfunction identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n out[4] = 0;\n out[5] = 0;\n return out;\n}\n/**\n * 复制矩阵\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} m\n */\n\n\nfunction copy(out, m) {\n out[0] = m[0];\n out[1] = m[1];\n out[2] = m[2];\n out[3] = m[3];\n out[4] = m[4];\n out[5] = m[5];\n return out;\n}\n/**\n * 矩阵相乘\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} m1\n * @param {Float32Array|Array.} m2\n */\n\n\nfunction mul(out, m1, m2) {\n // Consider matrix.mul(m, m2, m);\n // where out is the same as m2.\n // So use temp variable to escape error.\n var out0 = m1[0] * m2[0] + m1[2] * m2[1];\n var out1 = m1[1] * m2[0] + m1[3] * m2[1];\n var out2 = m1[0] * m2[2] + m1[2] * m2[3];\n var out3 = m1[1] * m2[2] + m1[3] * m2[3];\n var out4 = m1[0] * m2[4] + m1[2] * m2[5] + m1[4];\n var out5 = m1[1] * m2[4] + m1[3] * m2[5] + m1[5];\n out[0] = out0;\n out[1] = out1;\n out[2] = out2;\n out[3] = out3;\n out[4] = out4;\n out[5] = out5;\n return out;\n}\n/**\n * 平移变换\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n * @param {Float32Array|Array.} v\n */\n\n\nfunction translate(out, a, v) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4] + v[0];\n out[5] = a[5] + v[1];\n return out;\n}\n/**\n * 旋转变换\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n * @param {number} rad\n */\n\n\nfunction rotate(out, a, rad) {\n var aa = a[0];\n var ac = a[2];\n var atx = a[4];\n var ab = a[1];\n var ad = a[3];\n var aty = a[5];\n var st = Math.sin(rad);\n var ct = Math.cos(rad);\n out[0] = aa * ct + ab * st;\n out[1] = -aa * st + ab * ct;\n out[2] = ac * ct + ad * st;\n out[3] = -ac * st + ct * ad;\n out[4] = ct * atx + st * aty;\n out[5] = ct * aty - st * atx;\n return out;\n}\n/**\n * 缩放变换\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n * @param {Float32Array|Array.} v\n */\n\n\nfunction scale(out, a, v) {\n var vx = v[0];\n var vy = v[1];\n out[0] = a[0] * vx;\n out[1] = a[1] * vy;\n out[2] = a[2] * vx;\n out[3] = a[3] * vy;\n out[4] = a[4] * vx;\n out[5] = a[5] * vy;\n return out;\n}\n/**\n * 求逆矩阵\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n */\n\n\nfunction invert(out, a) {\n var aa = a[0];\n var ac = a[2];\n var atx = a[4];\n var ab = a[1];\n var ad = a[3];\n var aty = a[5];\n var det = aa * ad - ab * ac;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = ad * det;\n out[1] = -ab * det;\n out[2] = -ac * det;\n out[3] = aa * det;\n out[4] = (ac * aty - ad * atx) * det;\n out[5] = (ab * atx - aa * aty) * det;\n return out;\n}\n/**\n * Clone a new matrix.\n * @param {Float32Array|Array.} a\n */\n\n\nfunction clone(a) {\n var b = create();\n copy(b, a);\n return b;\n}\n\nexports.create = create;\nexports.identity = identity;\nexports.copy = copy;\nexports.mul = mul;\nexports.translate = translate;\nexports.rotate = rotate;\nexports.scale = scale;\nexports.invert = invert;\nexports.clone = clone;\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar zrUtil = __webpack_require__(13);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 RADIAN_EPSILON = 1e-4;\n\nfunction _trim(str) {\n return str.replace(/^\\s+/, '').replace(/\\s+$/, '');\n}\n/**\n * Linear mapping a value from domain to range\n * @memberOf module:echarts/util/number\n * @param {(number|Array.)} val\n * @param {Array.} domain Domain extent domain[0] can be bigger than domain[1]\n * @param {Array.} range Range extent range[0] can be bigger than range[1]\n * @param {boolean} clamp\n * @return {(number|Array.}\n */\n\n\nfunction linearMap(val, domain, range, clamp) {\n var subDomain = domain[1] - domain[0];\n var subRange = range[1] - range[0];\n\n if (subDomain === 0) {\n return subRange === 0 ? range[0] : (range[0] + range[1]) / 2;\n } // Avoid accuracy problem in edge, such as\n // 146.39 - 62.83 === 83.55999999999999.\n // See echarts/test/ut/spec/util/number.js#linearMap#accuracyError\n // It is a little verbose for efficiency considering this method\n // is a hotspot.\n\n\n if (clamp) {\n if (subDomain > 0) {\n if (val <= domain[0]) {\n return range[0];\n } else if (val >= domain[1]) {\n return range[1];\n }\n } else {\n if (val >= domain[0]) {\n return range[0];\n } else if (val <= domain[1]) {\n return range[1];\n }\n }\n } else {\n if (val === domain[0]) {\n return range[0];\n }\n\n if (val === domain[1]) {\n return range[1];\n }\n }\n\n return (val - domain[0]) / subDomain * subRange + range[0];\n}\n/**\n * Convert a percent string to absolute number.\n * Returns NaN if percent is not a valid string or number\n * @memberOf module:echarts/util/number\n * @param {string|number} percent\n * @param {number} all\n * @return {number}\n */\n\n\nfunction parsePercent(percent, all) {\n switch (percent) {\n case 'center':\n case 'middle':\n percent = '50%';\n break;\n\n case 'left':\n case 'top':\n percent = '0%';\n break;\n\n case 'right':\n case 'bottom':\n percent = '100%';\n break;\n }\n\n if (typeof percent === 'string') {\n if (_trim(percent).match(/%$/)) {\n return parseFloat(percent) / 100 * all;\n }\n\n return parseFloat(percent);\n }\n\n return percent == null ? NaN : +percent;\n}\n/**\n * (1) Fix rounding error of float numbers.\n * (2) Support return string to avoid scientific notation like '3.5e-7'.\n *\n * @param {number} x\n * @param {number} [precision]\n * @param {boolean} [returnStr]\n * @return {number|string}\n */\n\n\nfunction round(x, precision, returnStr) {\n if (precision == null) {\n precision = 10;\n } // Avoid range error\n\n\n precision = Math.min(Math.max(0, precision), 20);\n x = (+x).toFixed(precision);\n return returnStr ? x : +x;\n}\n\nfunction asc(arr) {\n arr.sort(function (a, b) {\n return a - b;\n });\n return arr;\n}\n/**\n * Get precision\n * @param {number} val\n */\n\n\nfunction getPrecision(val) {\n val = +val;\n\n if (isNaN(val)) {\n return 0;\n } // It is much faster than methods converting number to string as follows\n // var tmp = val.toString();\n // return tmp.length - 1 - tmp.indexOf('.');\n // especially when precision is low\n\n\n var e = 1;\n var count = 0;\n\n while (Math.round(val * e) / e !== val) {\n e *= 10;\n count++;\n }\n\n return count;\n}\n/**\n * @param {string|number} val\n * @return {number}\n */\n\n\nfunction getPrecisionSafe(val) {\n var str = val.toString(); // Consider scientific notation: '3.4e-12' '3.4e+12'\n\n var eIndex = str.indexOf('e');\n\n if (eIndex > 0) {\n var precision = +str.slice(eIndex + 1);\n return precision < 0 ? -precision : 0;\n } else {\n var dotIndex = str.indexOf('.');\n return dotIndex < 0 ? 0 : str.length - 1 - dotIndex;\n }\n}\n/**\n * Minimal dicernible data precisioin according to a single pixel.\n *\n * @param {Array.} dataExtent\n * @param {Array.} pixelExtent\n * @return {number} precision\n */\n\n\nfunction getPixelPrecision(dataExtent, pixelExtent) {\n var log = Math.log;\n var LN10 = Math.LN10;\n var dataQuantity = Math.floor(log(dataExtent[1] - dataExtent[0]) / LN10);\n var sizeQuantity = Math.round(log(Math.abs(pixelExtent[1] - pixelExtent[0])) / LN10); // toFixed() digits argument must be between 0 and 20.\n\n var precision = Math.min(Math.max(-dataQuantity + sizeQuantity, 0), 20);\n return !isFinite(precision) ? 20 : precision;\n}\n/**\n * Get a data of given precision, assuring the sum of percentages\n * in valueList is 1.\n * The largest remainer method is used.\n * https://en.wikipedia.org/wiki/Largest_remainder_method\n *\n * @param {Array.} valueList a list of all data\n * @param {number} idx index of the data to be processed in valueList\n * @param {number} precision integer number showing digits of precision\n * @return {number} percent ranging from 0 to 100\n */\n\n\nfunction getPercentWithPrecision(valueList, idx, precision) {\n if (!valueList[idx]) {\n return 0;\n }\n\n var sum = zrUtil.reduce(valueList, function (acc, val) {\n return acc + (isNaN(val) ? 0 : val);\n }, 0);\n\n if (sum === 0) {\n return 0;\n }\n\n var digits = Math.pow(10, precision);\n var votesPerQuota = zrUtil.map(valueList, function (val) {\n return (isNaN(val) ? 0 : val) / sum * digits * 100;\n });\n var targetSeats = digits * 100;\n var seats = zrUtil.map(votesPerQuota, function (votes) {\n // Assign automatic seats.\n return Math.floor(votes);\n });\n var currentSum = zrUtil.reduce(seats, function (acc, val) {\n return acc + val;\n }, 0);\n var remainder = zrUtil.map(votesPerQuota, function (votes, idx) {\n return votes - seats[idx];\n }); // Has remainding votes.\n\n while (currentSum < targetSeats) {\n // Find next largest remainder.\n var max = Number.NEGATIVE_INFINITY;\n var maxId = null;\n\n for (var i = 0, len = remainder.length; i < len; ++i) {\n if (remainder[i] > max) {\n max = remainder[i];\n maxId = i;\n }\n } // Add a vote to max remainder.\n\n\n ++seats[maxId];\n remainder[maxId] = 0;\n ++currentSum;\n }\n\n return seats[idx] / digits;\n} // Number.MAX_SAFE_INTEGER, ie do not support.\n\n\nvar MAX_SAFE_INTEGER = 9007199254740991;\n/**\n * To 0 - 2 * PI, considering negative radian.\n * @param {number} radian\n * @return {number}\n */\n\nfunction remRadian(radian) {\n var pi2 = Math.PI * 2;\n return (radian % pi2 + pi2) % pi2;\n}\n/**\n * @param {type} radian\n * @return {boolean}\n */\n\n\nfunction isRadianAroundZero(val) {\n return val > -RADIAN_EPSILON && val < RADIAN_EPSILON;\n}\n\nvar TIME_REG = /^(?:(\\d{4})(?:[-\\/](\\d{1,2})(?:[-\\/](\\d{1,2})(?:[T ](\\d{1,2})(?::(\\d\\d)(?::(\\d\\d)(?:[.,](\\d+))?)?)?(Z|[\\+\\-]\\d\\d:?\\d\\d)?)?)?)?)?$/; // jshint ignore:line\n\n/**\n * @param {string|Date|number} value These values can be accepted:\n * + An instance of Date, represent a time in its own time zone.\n * + Or string in a subset of ISO 8601, only including:\n * + only year, month, date: '2012-03', '2012-03-01', '2012-03-01 05', '2012-03-01 05:06',\n * + separated with T or space: '2012-03-01T12:22:33.123', '2012-03-01 12:22:33.123',\n * + time zone: '2012-03-01T12:22:33Z', '2012-03-01T12:22:33+8000', '2012-03-01T12:22:33-05:00',\n * all of which will be treated as local time if time zone is not specified\n * (see ).\n * + Or other string format, including (all of which will be treated as loacal time):\n * '2012', '2012-3-1', '2012/3/1', '2012/03/01',\n * '2009/6/12 2:00', '2009/6/12 2:05:08', '2009/6/12 2:05:08.123'\n * + a timestamp, which represent a time in UTC.\n * @return {Date} date\n */\n\nfunction parseDate(value) {\n if (value instanceof Date) {\n return value;\n } else if (typeof value === 'string') {\n // Different browsers parse date in different way, so we parse it manually.\n // Some other issues:\n // new Date('1970-01-01') is UTC,\n // new Date('1970/01/01') and new Date('1970-1-01') is local.\n // See issue #3623\n var match = TIME_REG.exec(value);\n\n if (!match) {\n // return Invalid Date.\n return new Date(NaN);\n } // Use local time when no timezone offset specifed.\n\n\n if (!match[8]) {\n // match[n] can only be string or undefined.\n // But take care of '12' + 1 => '121'.\n return new Date(+match[1], +(match[2] || 1) - 1, +match[3] || 1, +match[4] || 0, +(match[5] || 0), +match[6] || 0, +match[7] || 0);\n } // Timezoneoffset of Javascript Date has considered DST (Daylight Saving Time,\n // https://tc39.github.io/ecma262/#sec-daylight-saving-time-adjustment).\n // For example, system timezone is set as \"Time Zone: America/Toronto\",\n // then these code will get different result:\n // `new Date(1478411999999).getTimezoneOffset(); // get 240`\n // `new Date(1478412000000).getTimezoneOffset(); // get 300`\n // So we should not use `new Date`, but use `Date.UTC`.\n else {\n var hour = +match[4] || 0;\n\n if (match[8].toUpperCase() !== 'Z') {\n hour -= match[8].slice(0, 3);\n }\n\n return new Date(Date.UTC(+match[1], +(match[2] || 1) - 1, +match[3] || 1, hour, +(match[5] || 0), +match[6] || 0, +match[7] || 0));\n }\n } else if (value == null) {\n return new Date(NaN);\n }\n\n return new Date(Math.round(value));\n}\n/**\n * Quantity of a number. e.g. 0.1, 1, 10, 100\n *\n * @param {number} val\n * @return {number}\n */\n\n\nfunction quantity(val) {\n return Math.pow(10, quantityExponent(val));\n}\n\nfunction quantityExponent(val) {\n return Math.floor(Math.log(val) / Math.LN10);\n}\n/**\n * find a “nice” number approximately equal to x. Round the number if round = true,\n * take ceiling if round = false. The primary observation is that the “nicest”\n * numbers in decimal are 1, 2, and 5, and all power-of-ten multiples of these numbers.\n *\n * See \"Nice Numbers for Graph Labels\" of Graphic Gems.\n *\n * @param {number} val Non-negative value.\n * @param {boolean} round\n * @return {number}\n */\n\n\nfunction nice(val, round) {\n var exponent = quantityExponent(val);\n var exp10 = Math.pow(10, exponent);\n var f = val / exp10; // 1 <= f < 10\n\n var nf;\n\n if (round) {\n if (f < 1.5) {\n nf = 1;\n } else if (f < 2.5) {\n nf = 2;\n } else if (f < 4) {\n nf = 3;\n } else if (f < 7) {\n nf = 5;\n } else {\n nf = 10;\n }\n } else {\n if (f < 1) {\n nf = 1;\n } else if (f < 2) {\n nf = 2;\n } else if (f < 3) {\n nf = 3;\n } else if (f < 5) {\n nf = 5;\n } else {\n nf = 10;\n }\n }\n\n val = nf * exp10; // Fix 3 * 0.1 === 0.30000000000000004 issue (see IEEE 754).\n // 20 is the uppper bound of toFixed.\n\n return exponent >= -20 ? +val.toFixed(exponent < 0 ? -exponent : 0) : val;\n}\n/**\n * Order intervals asc, and split them when overlap.\n * expect(numberUtil.reformIntervals([\n * {interval: [18, 62], close: [1, 1]},\n * {interval: [-Infinity, -70], close: [0, 0]},\n * {interval: [-70, -26], close: [1, 1]},\n * {interval: [-26, 18], close: [1, 1]},\n * {interval: [62, 150], close: [1, 1]},\n * {interval: [106, 150], close: [1, 1]},\n * {interval: [150, Infinity], close: [0, 0]}\n * ])).toEqual([\n * {interval: [-Infinity, -70], close: [0, 0]},\n * {interval: [-70, -26], close: [1, 1]},\n * {interval: [-26, 18], close: [0, 1]},\n * {interval: [18, 62], close: [0, 1]},\n * {interval: [62, 150], close: [0, 1]},\n * {interval: [150, Infinity], close: [0, 0]}\n * ]);\n * @param {Array.} list, where `close` mean open or close\n * of the interval, and Infinity can be used.\n * @return {Array.} The origin list, which has been reformed.\n */\n\n\nfunction reformIntervals(list) {\n list.sort(function (a, b) {\n return littleThan(a, b, 0) ? -1 : 1;\n });\n var curr = -Infinity;\n var currClose = 1;\n\n for (var i = 0; i < list.length;) {\n var interval = list[i].interval;\n var close = list[i].close;\n\n for (var lg = 0; lg < 2; lg++) {\n if (interval[lg] <= curr) {\n interval[lg] = curr;\n close[lg] = !lg ? 1 - currClose : 1;\n }\n\n curr = interval[lg];\n currClose = close[lg];\n }\n\n if (interval[0] === interval[1] && close[0] * close[1] !== 1) {\n list.splice(i, 1);\n } else {\n i++;\n }\n }\n\n return list;\n\n function littleThan(a, b, lg) {\n return a.interval[lg] < b.interval[lg] || a.interval[lg] === b.interval[lg] && (a.close[lg] - b.close[lg] === (!lg ? 1 : -1) || !lg && littleThan(a, b, 1));\n }\n}\n/**\n * parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n * ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n * subtraction forces infinities to NaN\n *\n * @param {*} v\n * @return {boolean}\n */\n\n\nfunction isNumeric(v) {\n return v - parseFloat(v) >= 0;\n}\n\nexports.linearMap = linearMap;\nexports.parsePercent = parsePercent;\nexports.round = round;\nexports.asc = asc;\nexports.getPrecision = getPrecision;\nexports.getPrecisionSafe = getPrecisionSafe;\nexports.getPixelPrecision = getPixelPrecision;\nexports.getPercentWithPrecision = getPercentWithPrecision;\nexports.MAX_SAFE_INTEGER = MAX_SAFE_INTEGER;\nexports.remRadian = remRadian;\nexports.isRadianAroundZero = isRadianAroundZero;\nexports.parseDate = parseDate;\nexports.quantity = quantity;\nexports.nice = nice;\nexports.reformIntervals = reformIntervals;\nexports.isNumeric = isNumeric;\n\n/***/ }),\n/* 86 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_glenum__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_util__ = __webpack_require__(23);\n\n\n\n\nvar TexturePool = function () {\n\n this._pool = {};\n\n this._allocatedTextures = [];\n};\n\nTexturePool.prototype = {\n\n constructor: TexturePool,\n\n get: function (parameters) {\n var key = generateKey(parameters);\n if (!this._pool.hasOwnProperty(key)) {\n this._pool[key] = [];\n }\n var list = this._pool[key];\n if (!list.length) {\n var texture = new __WEBPACK_IMPORTED_MODULE_0__Texture2D__[\"a\" /* default */](parameters);\n this._allocatedTextures.push(texture);\n return texture;\n }\n return list.pop();\n },\n\n put: function (texture) {\n var key = generateKey(texture);\n if (!this._pool.hasOwnProperty(key)) {\n this._pool[key] = [];\n }\n var list = this._pool[key];\n list.push(texture);\n },\n\n clear: function (renderer) {\n for (var i = 0; i < this._allocatedTextures.length; i++) {\n this._allocatedTextures[i].dispose(renderer);\n }\n this._pool = {};\n this._allocatedTextures = [];\n }\n};\n\nvar defaultParams = {\n width: 512,\n height: 512,\n type: __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].UNSIGNED_BYTE,\n format: __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].RGBA,\n wrapS: __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].CLAMP_TO_EDGE,\n wrapT: __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].CLAMP_TO_EDGE,\n minFilter: __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINEAR_MIPMAP_LINEAR,\n magFilter: __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINEAR,\n useMipmap: true,\n anisotropic: 1,\n flipY: true,\n unpackAlignment: 4,\n premultiplyAlpha: false\n};\n\nvar defaultParamPropList = Object.keys(defaultParams);\n\nfunction generateKey(parameters) {\n __WEBPACK_IMPORTED_MODULE_2__core_util__[\"a\" /* default */].defaultsWithPropList(parameters, defaultParams, defaultParamPropList);\n fallBack(parameters);\n\n var key = '';\n for (var i = 0; i < defaultParamPropList.length; i++) {\n var name = defaultParamPropList[i];\n var chunk = parameters[name].toString();\n key += chunk;\n }\n return key;\n}\n\nfunction fallBack(target) {\n\n var IPOT = isPowerOfTwo(target.width, target.height);\n\n if (target.format === __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].DEPTH_COMPONENT) {\n target.useMipmap = false;\n }\n\n if (!IPOT || !target.useMipmap) {\n if (target.minFilter == __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].NEAREST_MIPMAP_NEAREST ||\n target.minFilter == __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].NEAREST_MIPMAP_LINEAR) {\n target.minFilter = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].NEAREST;\n } else if (\n target.minFilter == __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINEAR_MIPMAP_LINEAR ||\n target.minFilter == __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINEAR_MIPMAP_NEAREST\n ) {\n target.minFilter = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].LINEAR;\n }\n }\n if (!IPOT) {\n target.wrapS = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].CLAMP_TO_EDGE;\n target.wrapT = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].CLAMP_TO_EDGE;\n }\n}\n\nfunction isPowerOfTwo(width, height) {\n return (width & (width-1)) === 0 &&\n (height & (height-1)) === 0;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (TexturePool);\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export clay.compositor.kernel.gaussian_9\\nfloat gaussianKernel[9];\\ngaussianKernel[0] = 0.07;\\ngaussianKernel[1] = 0.09;\\ngaussianKernel[2] = 0.12;\\ngaussianKernel[3] = 0.14;\\ngaussianKernel[4] = 0.16;\\ngaussianKernel[5] = 0.14;\\ngaussianKernel[6] = 0.12;\\ngaussianKernel[7] = 0.09;\\ngaussianKernel[8] = 0.07;\\n@end\\n@export clay.compositor.kernel.gaussian_13\\nfloat gaussianKernel[13];\\ngaussianKernel[0] = 0.02;\\ngaussianKernel[1] = 0.03;\\ngaussianKernel[2] = 0.06;\\ngaussianKernel[3] = 0.08;\\ngaussianKernel[4] = 0.11;\\ngaussianKernel[5] = 0.13;\\ngaussianKernel[6] = 0.14;\\ngaussianKernel[7] = 0.13;\\ngaussianKernel[8] = 0.11;\\ngaussianKernel[9] = 0.08;\\ngaussianKernel[10] = 0.06;\\ngaussianKernel[11] = 0.03;\\ngaussianKernel[12] = 0.02;\\n@end\\n@export clay.compositor.gaussian_blur\\n#define SHADER_NAME gaussian_blur\\nuniform sampler2D texture;varying vec2 v_Texcoord;\\nuniform float blurSize : 2.0;\\nuniform vec2 textureSize : [512.0, 512.0];\\nuniform float blurDir : 0.0;\\n@import clay.util.rgbm\\n@import clay.util.clamp_sample\\nvoid main (void)\\n{\\n @import clay.compositor.kernel.gaussian_9\\n vec2 off = blurSize / textureSize;\\n off *= vec2(1.0 - blurDir, blurDir);\\n vec4 sum = vec4(0.0);\\n float weightAll = 0.0;\\n for (int i = 0; i < 9; i++) {\\n float w = gaussianKernel[i];\\n vec4 texel = decodeHDR(clampSample(texture, v_Texcoord + float(i - 4) * off));\\n sum += texel * w;\\n weightAll += w;\\n }\\n gl_FragColor = encodeHDR(sum / max(weightAll, 0.01));\\n}\\n@end\\n\");\n\n\n/***/ }),\n/* 88 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"\\n@export clay.compositor.lut\\nvarying vec2 v_Texcoord;\\nuniform sampler2D texture;\\nuniform sampler2D lookup;\\nvoid main()\\n{\\n vec4 tex = texture2D(texture, v_Texcoord);\\n float blueColor = tex.b * 63.0;\\n vec2 quad1;\\n quad1.y = floor(floor(blueColor) / 8.0);\\n quad1.x = floor(blueColor) - (quad1.y * 8.0);\\n vec2 quad2;\\n quad2.y = floor(ceil(blueColor) / 8.0);\\n quad2.x = ceil(blueColor) - (quad2.y * 8.0);\\n vec2 texPos1;\\n texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r);\\n texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g);\\n vec2 texPos2;\\n texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r);\\n texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g);\\n vec4 newColor1 = texture2D(lookup, texPos1);\\n vec4 newColor2 = texture2D(lookup, texPos2);\\n vec4 newColor = mix(newColor1, newColor2, fract(blueColor));\\n gl_FragColor = vec4(newColor.rgb, tex.w);\\n}\\n@end\");\n\n\n/***/ }),\n/* 89 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export clay.compositor.output\\n#define OUTPUT_ALPHA\\nvarying vec2 v_Texcoord;\\nuniform sampler2D texture;\\n@import clay.util.rgbm\\nvoid main()\\n{\\n vec4 tex = decodeHDR(texture2D(texture, v_Texcoord));\\n gl_FragColor.rgb = tex.rgb;\\n#ifdef OUTPUT_ALPHA\\n gl_FragColor.a = tex.a;\\n#else\\n gl_FragColor.a = 1.0;\\n#endif\\n gl_FragColor = encodeHDR(gl_FragColor);\\n#ifdef PREMULTIPLY_ALPHA\\n gl_FragColor.rgb *= gl_FragColor.a;\\n#endif\\n}\\n@end\");\n\n\n/***/ }),\n/* 90 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export clay.compositor.bright\\nuniform sampler2D texture;\\nuniform float threshold : 1;\\nuniform float scale : 1.0;\\nuniform vec2 textureSize: [512, 512];\\nvarying vec2 v_Texcoord;\\nconst vec3 lumWeight = vec3(0.2125, 0.7154, 0.0721);\\n@import clay.util.rgbm\\nvec4 median(vec4 a, vec4 b, vec4 c)\\n{\\n return a + b + c - min(min(a, b), c) - max(max(a, b), c);\\n}\\nvoid main()\\n{\\n vec4 texel = decodeHDR(texture2D(texture, v_Texcoord));\\n#ifdef ANTI_FLICKER\\n vec3 d = 1.0 / textureSize.xyx * vec3(1.0, 1.0, 0.0);\\n vec4 s1 = decodeHDR(texture2D(texture, v_Texcoord - d.xz));\\n vec4 s2 = decodeHDR(texture2D(texture, v_Texcoord + d.xz));\\n vec4 s3 = decodeHDR(texture2D(texture, v_Texcoord - d.zy));\\n vec4 s4 = decodeHDR(texture2D(texture, v_Texcoord + d.zy));\\n texel = median(median(texel, s1, s2), s3, s4);\\n#endif\\n float lum = dot(texel.rgb , lumWeight);\\n vec4 color;\\n if (lum > threshold && texel.a > 0.0)\\n {\\n color = vec4(texel.rgb * scale, texel.a * scale);\\n }\\n else\\n {\\n color = vec4(0.0);\\n }\\n gl_FragColor = encodeHDR(color);\\n}\\n@end\\n\");\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export clay.compositor.downsample\\nuniform sampler2D texture;\\nuniform vec2 textureSize : [512, 512];\\nvarying vec2 v_Texcoord;\\n@import clay.util.rgbm\\nfloat brightness(vec3 c)\\n{\\n return max(max(c.r, c.g), c.b);\\n}\\n@import clay.util.clamp_sample\\nvoid main()\\n{\\n vec4 d = vec4(-1.0, -1.0, 1.0, 1.0) / textureSize.xyxy;\\n#ifdef ANTI_FLICKER\\n vec3 s1 = decodeHDR(clampSample(texture, v_Texcoord + d.xy)).rgb;\\n vec3 s2 = decodeHDR(clampSample(texture, v_Texcoord + d.zy)).rgb;\\n vec3 s3 = decodeHDR(clampSample(texture, v_Texcoord + d.xw)).rgb;\\n vec3 s4 = decodeHDR(clampSample(texture, v_Texcoord + d.zw)).rgb;\\n float s1w = 1.0 / (brightness(s1) + 1.0);\\n float s2w = 1.0 / (brightness(s2) + 1.0);\\n float s3w = 1.0 / (brightness(s3) + 1.0);\\n float s4w = 1.0 / (brightness(s4) + 1.0);\\n float oneDivideSum = 1.0 / (s1w + s2w + s3w + s4w);\\n vec4 color = vec4(\\n (s1 * s1w + s2 * s2w + s3 * s3w + s4 * s4w) * oneDivideSum,\\n 1.0\\n );\\n#else\\n vec4 color = decodeHDR(clampSample(texture, v_Texcoord + d.xy));\\n color += decodeHDR(clampSample(texture, v_Texcoord + d.zy));\\n color += decodeHDR(clampSample(texture, v_Texcoord + d.xw));\\n color += decodeHDR(clampSample(texture, v_Texcoord + d.zw));\\n color *= 0.25;\\n#endif\\n gl_FragColor = encodeHDR(color);\\n}\\n@end\");\n\n\n/***/ }),\n/* 92 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"\\n@export clay.compositor.upsample\\n#define HIGH_QUALITY\\nuniform sampler2D texture;\\nuniform vec2 textureSize : [512, 512];\\nuniform float sampleScale: 0.5;\\nvarying vec2 v_Texcoord;\\n@import clay.util.rgbm\\n@import clay.util.clamp_sample\\nvoid main()\\n{\\n#ifdef HIGH_QUALITY\\n vec4 d = vec4(1.0, 1.0, -1.0, 0.0) / textureSize.xyxy * sampleScale;\\n vec4 s;\\n s = decodeHDR(clampSample(texture, v_Texcoord - d.xy));\\n s += decodeHDR(clampSample(texture, v_Texcoord - d.wy)) * 2.0;\\n s += decodeHDR(clampSample(texture, v_Texcoord - d.zy));\\n s += decodeHDR(clampSample(texture, v_Texcoord + d.zw)) * 2.0;\\n s += decodeHDR(clampSample(texture, v_Texcoord )) * 4.0;\\n s += decodeHDR(clampSample(texture, v_Texcoord + d.xw)) * 2.0;\\n s += decodeHDR(clampSample(texture, v_Texcoord + d.zy));\\n s += decodeHDR(clampSample(texture, v_Texcoord + d.wy)) * 2.0;\\n s += decodeHDR(clampSample(texture, v_Texcoord + d.xy));\\n gl_FragColor = encodeHDR(s / 16.0);\\n#else\\n vec4 d = vec4(-1.0, -1.0, +1.0, +1.0) / textureSize.xyxy;\\n vec4 s;\\n s = decodeHDR(clampSample(texture, v_Texcoord + d.xy));\\n s += decodeHDR(clampSample(texture, v_Texcoord + d.zy));\\n s += decodeHDR(clampSample(texture, v_Texcoord + d.xw));\\n s += decodeHDR(clampSample(texture, v_Texcoord + d.zw));\\n gl_FragColor = encodeHDR(s / 4.0);\\n#endif\\n}\\n@end\");\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export clay.compositor.hdr.composite\\n#define TONEMAPPING\\nuniform sampler2D texture;\\n#ifdef BLOOM_ENABLED\\nuniform sampler2D bloom;\\n#endif\\n#ifdef LENSFLARE_ENABLED\\nuniform sampler2D lensflare;\\nuniform sampler2D lensdirt;\\n#endif\\n#ifdef LUM_ENABLED\\nuniform sampler2D lum;\\n#endif\\n#ifdef LUT_ENABLED\\nuniform sampler2D lut;\\n#endif\\n#ifdef COLOR_CORRECTION\\nuniform float brightness : 0.0;\\nuniform float contrast : 1.0;\\nuniform float saturation : 1.0;\\n#endif\\n#ifdef VIGNETTE\\nuniform float vignetteDarkness: 1.0;\\nuniform float vignetteOffset: 1.0;\\n#endif\\nuniform float exposure : 1.0;\\nuniform float bloomIntensity : 0.25;\\nuniform float lensflareIntensity : 1;\\nvarying vec2 v_Texcoord;\\n@import clay.util.srgb\\nvec3 ACESToneMapping(vec3 color)\\n{\\n const float A = 2.51;\\n const float B = 0.03;\\n const float C = 2.43;\\n const float D = 0.59;\\n const float E = 0.14;\\n return (color * (A * color + B)) / (color * (C * color + D) + E);\\n}\\nfloat eyeAdaption(float fLum)\\n{\\n return mix(0.2, fLum, 0.5);\\n}\\n#ifdef LUT_ENABLED\\nvec3 lutTransform(vec3 color) {\\n float blueColor = color.b * 63.0;\\n vec2 quad1;\\n quad1.y = floor(floor(blueColor) / 8.0);\\n quad1.x = floor(blueColor) - (quad1.y * 8.0);\\n vec2 quad2;\\n quad2.y = floor(ceil(blueColor) / 8.0);\\n quad2.x = ceil(blueColor) - (quad2.y * 8.0);\\n vec2 texPos1;\\n texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r);\\n texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g);\\n vec2 texPos2;\\n texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r);\\n texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g);\\n vec4 newColor1 = texture2D(lut, texPos1);\\n vec4 newColor2 = texture2D(lut, texPos2);\\n vec4 newColor = mix(newColor1, newColor2, fract(blueColor));\\n return newColor.rgb;\\n}\\n#endif\\n@import clay.util.rgbm\\nvoid main()\\n{\\n vec4 texel = vec4(0.0);\\n vec4 originalTexel = vec4(0.0);\\n#ifdef TEXTURE_ENABLED\\n texel = decodeHDR(texture2D(texture, v_Texcoord));\\n originalTexel = texel;\\n#endif\\n#ifdef BLOOM_ENABLED\\n vec4 bloomTexel = decodeHDR(texture2D(bloom, v_Texcoord));\\n texel.rgb += bloomTexel.rgb * bloomIntensity;\\n texel.a += bloomTexel.a * bloomIntensity;\\n#endif\\n#ifdef LENSFLARE_ENABLED\\n texel += decodeHDR(texture2D(lensflare, v_Texcoord)) * texture2D(lensdirt, v_Texcoord) * lensflareIntensity;\\n#endif\\n texel.a = min(texel.a, 1.0);\\n#ifdef LUM_ENABLED\\n float fLum = texture2D(lum, vec2(0.5, 0.5)).r;\\n float adaptedLumDest = 3.0 / (max(0.1, 1.0 + 10.0*eyeAdaption(fLum)));\\n float exposureBias = adaptedLumDest * exposure;\\n#else\\n float exposureBias = exposure;\\n#endif\\n#ifdef TONEMAPPING\\n texel.rgb *= exposureBias;\\n texel.rgb = ACESToneMapping(texel.rgb);\\n#endif\\n texel = linearTosRGB(texel);\\n#ifdef LUT_ENABLED\\n texel.rgb = lutTransform(clamp(texel.rgb,vec3(0.0),vec3(1.0)));\\n#endif\\n#ifdef COLOR_CORRECTION\\n texel.rgb = clamp(texel.rgb + vec3(brightness), 0.0, 1.0);\\n texel.rgb = clamp((texel.rgb - vec3(0.5))*contrast+vec3(0.5), 0.0, 1.0);\\n float lum = dot(texel.rgb, vec3(0.2125, 0.7154, 0.0721));\\n texel.rgb = mix(vec3(lum), texel.rgb, saturation);\\n#endif\\n#ifdef VIGNETTE\\n vec2 uv = (v_Texcoord - vec2(0.5)) * vec2(vignetteOffset);\\n texel.rgb = mix(texel.rgb, vec3(1.0 - vignetteDarkness), dot(uv, uv));\\n#endif\\n gl_FragColor = encodeHDR(texel);\\n#ifdef DEBUG\\n #if DEBUG == 1\\n gl_FragColor = encodeHDR(decodeHDR(texture2D(texture, v_Texcoord)));\\n #elif DEBUG == 2\\n gl_FragColor = encodeHDR(decodeHDR(texture2D(bloom, v_Texcoord)) * bloomIntensity);\\n #elif DEBUG == 3\\n gl_FragColor = encodeHDR(decodeHDR(texture2D(lensflare, v_Texcoord) * lensflareIntensity));\\n #endif\\n#endif\\n if (originalTexel.a <= 0.01 && gl_FragColor.a > 1e-5) {\\n gl_FragColor.a = dot(gl_FragColor.rgb, vec3(0.2125, 0.7154, 0.0721));\\n }\\n#ifdef PREMULTIPLY_ALPHA\\n gl_FragColor.rgb *= gl_FragColor.a;\\n#endif\\n}\\n@end\");\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export clay.compositor.blend\\n#define SHADER_NAME blend\\n#ifdef TEXTURE1_ENABLED\\nuniform sampler2D texture1;\\nuniform float weight1 : 1.0;\\n#endif\\n#ifdef TEXTURE2_ENABLED\\nuniform sampler2D texture2;\\nuniform float weight2 : 1.0;\\n#endif\\n#ifdef TEXTURE3_ENABLED\\nuniform sampler2D texture3;\\nuniform float weight3 : 1.0;\\n#endif\\n#ifdef TEXTURE4_ENABLED\\nuniform sampler2D texture4;\\nuniform float weight4 : 1.0;\\n#endif\\n#ifdef TEXTURE5_ENABLED\\nuniform sampler2D texture5;\\nuniform float weight5 : 1.0;\\n#endif\\n#ifdef TEXTURE6_ENABLED\\nuniform sampler2D texture6;\\nuniform float weight6 : 1.0;\\n#endif\\nvarying vec2 v_Texcoord;\\n@import clay.util.rgbm\\nvoid main()\\n{\\n vec4 tex = vec4(0.0);\\n#ifdef TEXTURE1_ENABLED\\n tex += decodeHDR(texture2D(texture1, v_Texcoord)) * weight1;\\n#endif\\n#ifdef TEXTURE2_ENABLED\\n tex += decodeHDR(texture2D(texture2, v_Texcoord)) * weight2;\\n#endif\\n#ifdef TEXTURE3_ENABLED\\n tex += decodeHDR(texture2D(texture3, v_Texcoord)) * weight3;\\n#endif\\n#ifdef TEXTURE4_ENABLED\\n tex += decodeHDR(texture2D(texture4, v_Texcoord)) * weight4;\\n#endif\\n#ifdef TEXTURE5_ENABLED\\n tex += decodeHDR(texture2D(texture5, v_Texcoord)) * weight5;\\n#endif\\n#ifdef TEXTURE6_ENABLED\\n tex += decodeHDR(texture2D(texture6, v_Texcoord)) * weight6;\\n#endif\\n gl_FragColor = encodeHDR(tex);\\n}\\n@end\");\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export clay.compositor.fxaa\\nuniform sampler2D texture;\\nuniform vec4 viewport : VIEWPORT;\\nvarying vec2 v_Texcoord;\\n#define FXAA_REDUCE_MIN (1.0/128.0)\\n#define FXAA_REDUCE_MUL (1.0/8.0)\\n#define FXAA_SPAN_MAX 8.0\\n@import clay.util.rgbm\\nvoid main()\\n{\\n vec2 resolution = 1.0 / viewport.zw;\\n vec3 rgbNW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, -1.0 ) ) * resolution ) ).xyz;\\n vec3 rgbNE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, -1.0 ) ) * resolution ) ).xyz;\\n vec3 rgbSW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, 1.0 ) ) * resolution ) ).xyz;\\n vec3 rgbSE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, 1.0 ) ) * resolution ) ).xyz;\\n vec4 rgbaM = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution ) );\\n vec3 rgbM = rgbaM.xyz;\\n float opacity = rgbaM.w;\\n vec3 luma = vec3( 0.299, 0.587, 0.114 );\\n float lumaNW = dot( rgbNW, luma );\\n float lumaNE = dot( rgbNE, luma );\\n float lumaSW = dot( rgbSW, luma );\\n float lumaSE = dot( rgbSE, luma );\\n float lumaM = dot( rgbM, luma );\\n float lumaMin = min( lumaM, min( min( lumaNW, lumaNE ), min( lumaSW, lumaSE ) ) );\\n float lumaMax = max( lumaM, max( max( lumaNW, lumaNE) , max( lumaSW, lumaSE ) ) );\\n vec2 dir;\\n dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));\\n dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));\\n float dirReduce = max( ( lumaNW + lumaNE + lumaSW + lumaSE ) * ( 0.25 * FXAA_REDUCE_MUL ), FXAA_REDUCE_MIN );\\n float rcpDirMin = 1.0 / ( min( abs( dir.x ), abs( dir.y ) ) + dirReduce );\\n dir = min( vec2( FXAA_SPAN_MAX, FXAA_SPAN_MAX),\\n max( vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),\\n dir * rcpDirMin)) * resolution;\\n vec3 rgbA = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 1.0 / 3.0 - 0.5 ) ) ).xyz;\\n rgbA += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 2.0 / 3.0 - 0.5 ) ) ).xyz;\\n rgbA *= 0.5;\\n vec3 rgbB = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * -0.5 ) ).xyz;\\n rgbB += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * 0.5 ) ).xyz;\\n rgbB *= 0.25;\\n rgbB += rgbA * 0.5;\\n float lumaB = dot( rgbB, luma );\\n if ( ( lumaB < lumaMin ) || ( lumaB > lumaMax ) )\\n {\\n gl_FragColor = vec4( rgbA, opacity );\\n }\\n else {\\n gl_FragColor = vec4( rgbB, opacity );\\n }\\n}\\n@end\");\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\n getFilledRegions: function (regions, mapData) {\n var regionsArr = (regions || []).slice();\n\n var geoJson;\n if (typeof mapData === 'string') {\n mapData = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.getMap(mapData);\n geoJson = mapData && mapData.geoJson;\n }\n else {\n if (mapData && mapData.features) {\n geoJson = mapData;\n }\n }\n if (!geoJson) {\n if (true) {\n console.error('Map ' + mapData + ' not exists. You can download map file on http://echarts.baidu.com/download-map.html');\n if (!geoJson.features) {\n console.error('Invalid GeoJSON for map3D');\n }\n }\n return [];\n }\n\n var dataNameMap = {};\n var features = geoJson.features;\n for (var i = 0; i < regionsArr.length; i++) {\n dataNameMap[regionsArr[i].name] = regionsArr[i];\n }\n\n for (var i = 0; i < features.length; i++) {\n var name = features[i].properties.name;\n if (!dataNameMap[name]) {\n regionsArr.push({\n name: name\n });\n }\n }\n\n return regionsArr;\n },\n\n defaultOption: {\n show: true,\n\n zlevel: -10,\n\n // geoJson used by geo3D\n map: '',\n\n // Layout used for viewport\n left: 0,\n top: 0,\n width: '100%',\n height: '100%',\n\n boxWidth: 100,\n boxHeight: 10,\n boxDepth: 'auto',\n\n regionHeight: 3,\n\n environment: 'auto',\n\n groundPlane: {\n show: false,\n color: '#aaa'\n },\n\n shading: 'lambert',\n\n light: {\n main: {\n alpha: 40,\n beta: 30\n }\n },\n\n viewControl: {\n alpha: 40,\n beta: 0,\n distance: 100,\n orthographicSize: 60,\n\n minAlpha: 5,\n minBeta: -80,\n maxBeta: 80\n },\n\n label: {\n show: false,\n // Distance in 3d space.\n distance: 2,\n\n textStyle: {\n fontSize: 20,\n color: '#000',\n backgroundColor: 'rgba(255,255,255,0.7)',\n padding: 3,\n borderRadius: 4\n }\n },\n\n // TODO\n // altitude: {\n // min: 'auto',\n // max: 'auto',\n\n // height: []\n // },\n\n\n // labelLine\n\n // light\n // postEffect\n // temporalSuperSampling\n\n itemStyle: {\n color: '#fff',\n borderWidth: 0,\n borderColor: '#333'\n },\n\n emphasis: {\n itemStyle: {\n // color: '#f94b59'\n color: '#639fc0'\n },\n label: {\n show: true\n }\n }\n }\n});\n\n/***/ }),\n/* 97 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\nfunction swap(arr, a, b) {\n var tmp = arr[a];\n arr[a] = arr[b];\n arr[b] = tmp;\n}\nfunction partition(arr, pivot, left, right, compare) {\n var storeIndex = left;\n var pivotValue = arr[pivot];\n\n // put the pivot on the right\n swap(arr, pivot, right);\n\n // go through the rest\n for(var v = left; v < right; v++) {\n if(compare(arr[v], pivotValue) < 0) {\n swap(arr, v, storeIndex);\n storeIndex++;\n }\n }\n\n // finally put the pivot in the correct place\n swap(arr, right, storeIndex);\n\n return storeIndex;\n}\n\nfunction quickSort(array, compare, left, right) {\n if(left < right) {\n var pivot = Math.floor((left + right) / 2);\n var newPivot = partition(array, pivot, left, right, compare);\n quickSort(array, compare, left, newPivot - 1);\n quickSort(array, compare, newPivot + 1, right);\n }\n}\n\n\n// TODO Test.\nfunction ProgressiveQuickSort() {\n\n // this._pivotList = new LinkedList();\n this._parts = [];\n}\n\nProgressiveQuickSort.prototype.step = function (arr, compare, frame) {\n\n var len = arr.length;\n if (frame === 0) {\n this._parts = [];\n this._sorted = false;\n\n // Pick a start pivot;\n var pivot = Math.floor(len / 2);\n this._parts.push({\n pivot: pivot,\n left: 0,\n right: len - 1\n });\n\n this._currentSortPartIdx = 0;\n }\n\n if (this._sorted) {\n return;\n }\n\n var parts = this._parts;\n if (parts.length === 0) {\n this._sorted = true;\n // Already finished.\n return true;\n }\n else if (parts.length < 512) {\n // Sort large parts in about 10 frames.\n for (var i = 0; i < parts.length; i++) {\n // Partition and Modify the pivot index.\n parts[i].pivot = partition(\n arr, parts[i].pivot, parts[i].left, parts[i].right, compare\n );\n }\n\n var subdividedParts = [];\n for (var i = 0; i < parts.length; i++) {\n // Subdivide left\n var left = parts[i].left;\n var right = parts[i].pivot - 1;\n if (right > left) {\n subdividedParts.push({\n pivot: Math.floor((right + left) / 2),\n left: left, right: right\n });\n }\n // Subdivide right\n var left = parts[i].pivot + 1;\n var right = parts[i].right;\n if (right > left) {\n subdividedParts.push({\n pivot: Math.floor((right + left) / 2),\n left: left, right: right\n });\n }\n }\n parts = this._parts = subdividedParts;\n }\n else {\n // console.time('sort');\n // Finally quick sort each parts in 10 frames.\n for (var i = 0; i < Math.floor(parts.length / 10); i++) {\n // Sort near parts first.\n var idx = parts.length - 1 - this._currentSortPartIdx;\n quickSort(arr, compare, parts[idx].left, parts[idx].right);\n this._currentSortPartIdx++;\n\n // Finish sort\n if (this._currentSortPartIdx === parts.length) {\n this._sorted = true;\n return true;\n }\n }\n // console.timeEnd('sort');\n\n }\n\n return false;\n};\n\nProgressiveQuickSort.sort = quickSort;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (ProgressiveQuickSort);\n\n/***/ }),\n/* 98 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__geo3D_Geo3D__ = __webpack_require__(99);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_echarts_lib_util_layout__ = __webpack_require__(47);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_echarts_lib_util_layout___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_echarts_lib_util_layout__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_ViewGL__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_retrieve__ = __webpack_require__(2);\n\n\n\n\n\n\nfunction resizeGeo3D(geo3DModel, api) {\n // Use left/top/width/height\n var boxLayoutOption = geo3DModel.getBoxLayoutParams();\n\n var viewport = __WEBPACK_IMPORTED_MODULE_2_echarts_lib_util_layout___default.a.getLayoutRect(boxLayoutOption, {\n width: api.getWidth(),\n height: api.getHeight()\n });\n\n // Flip Y\n viewport.y = api.getHeight() - viewport.y - viewport.height;\n\n this.viewGL.setViewport(viewport.x, viewport.y, viewport.width, viewport.height, api.getDevicePixelRatio());\n\n var geoRect = this.getGeoBoundingRect();\n var aspect = geoRect.width / geoRect.height * (geo3DModel.get('aspectScale') || 0.75);\n\n var width = geo3DModel.get('boxWidth');\n var depth = geo3DModel.get('boxDepth');\n var height = geo3DModel.get('boxHeight');\n if (height == null) {\n height = 5;\n }\n if (isNaN(width) && isNaN(depth)) {\n // Default to have 100 width\n width = 100;\n }\n if (isNaN(depth)) {\n depth = width / aspect;\n }\n else if (isNaN(width)) {\n width = depth / aspect;\n }\n\n this.setSize(width, height, depth);\n\n this.regionHeight = geo3DModel.get('regionHeight');\n\n if (this.altitudeAxis) {\n this.altitudeAxis.setExtent(0, Math.max(height - this.regionHeight, 0));\n }\n}\n\nfunction updateGeo3D(ecModel, api) {\n\n var altitudeDataExtent = [Infinity, -Infinity];\n\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.coordinateSystem !== this) {\n return;\n }\n if (seriesModel.type === 'series.map3D') {\n return;\n }\n // Get altitude data extent.\n var data = seriesModel.getData();\n var altDims = seriesModel.coordDimToDataDim('alt');\n var altDim = altDims && altDims[0];\n if (altDim) {\n // TODO altitiude is in coords of lines.\n var dataExtent = data.getDataExtent(altDim, true);\n altitudeDataExtent[0] = Math.min(\n altitudeDataExtent[0], dataExtent[0]\n );\n altitudeDataExtent[1] = Math.max(\n altitudeDataExtent[1], dataExtent[1]\n );\n }\n }, this);\n // Create altitude axis\n if (altitudeDataExtent && isFinite(altitudeDataExtent[1] - altitudeDataExtent[0])) {\n var scale = __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default.a.helper.createScale(\n altitudeDataExtent, {\n type: 'value',\n // PENDING\n min: 'dataMin',\n max: 'dataMax'\n }\n );\n this.altitudeAxis = new __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default.a.Axis('altitude', scale);\n // Resize again\n this.resize(this.model, api);\n }\n}\n\n\nif (true) {\n var mapNotExistsError = function (name) {\n console.error('Map ' + name + ' not exists. You can download map file on http://echarts.baidu.com/download-map.html');\n };\n}\n\n\nvar idStart = 0;\n\nvar geo3DCreator = {\n\n dimensions: __WEBPACK_IMPORTED_MODULE_0__geo3D_Geo3D__[\"a\" /* default */].prototype.dimensions,\n\n create: function (ecModel, api) {\n\n var geo3DList = [];\n\n if (!__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default.a.getMap) {\n throw new Error('geo3D component depends on geo component');\n }\n\n function createGeo3D(componentModel, idx) {\n\n var geo3D = geo3DCreator.createGeo3D(componentModel);\n\n // FIXME\n componentModel.__viewGL = componentModel.__viewGL || new __WEBPACK_IMPORTED_MODULE_3__core_ViewGL__[\"a\" /* default */]();\n\n geo3D.viewGL = componentModel.__viewGL;\n\n componentModel.coordinateSystem = geo3D;\n geo3D.model = componentModel;\n\n geo3DList.push(geo3D);\n\n // Inject resize\n geo3D.resize = resizeGeo3D;\n geo3D.resize(componentModel, api);\n\n geo3D.update = updateGeo3D;\n }\n\n ecModel.eachComponent('geo3D', function (geo3DModel, idx) {\n createGeo3D(geo3DModel, idx);\n });\n\n ecModel.eachSeriesByType('map3D', function (map3DModel, idx) {\n var coordSys = map3DModel.get('coordinateSystem');\n if (coordSys == null) {\n coordSys = 'geo3D';\n }\n if (coordSys === 'geo3D') {\n createGeo3D(map3DModel, idx);\n }\n });\n\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.get('coordinateSystem') === 'geo3D') {\n if (seriesModel.type === 'series.map3D') {\n return;\n }\n var geo3DModel = seriesModel.getReferringComponents('geo3D')[0];\n if (!geo3DModel) {\n geo3DModel = ecModel.getComponent('geo3D');\n }\n\n if (!geo3DModel) {\n throw new Error('geo \"' + __WEBPACK_IMPORTED_MODULE_4__util_retrieve__[\"a\" /* default */].firstNotNull(\n seriesModel.get('geo3DIndex'),\n seriesModel.get('geo3DId'),\n 0\n ) + '\" not found');\n }\n\n seriesModel.coordinateSystem = geo3DModel.coordinateSystem;\n }\n });\n\n return geo3DList;\n },\n\n createGeo3D: function (componentModel) {\n\n var mapData = componentModel.get('map');\n var name;\n if (typeof mapData === 'string') {\n name = mapData;\n mapData = __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default.a.getMap(mapData);\n }\n else {\n if (mapData && mapData.features) {\n mapData = {\n geoJson: mapData\n };\n }\n }\n if (true) {\n if (!mapData) {\n mapNotExistsError(mapData);\n }\n if (!mapData.geoJson.features) {\n throw new Error('Invalid GeoJSON for map3D');\n }\n }\n if (name == null) {\n name = 'GEO_ANONYMOUS_' + idStart++;\n }\n\n return new __WEBPACK_IMPORTED_MODULE_0__geo3D_Geo3D__[\"a\" /* default */](\n name + idStart++, name,\n mapData && mapData.geoJson, mapData && mapData.specialAreas,\n componentModel.get('nameMap')\n );\n }\n};\n\n__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default.a.registerCoordinateSystem('geo3D', geo3DCreator);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (geo3DCreator);\n\n/***/ }),\n/* 99 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_echarts_lib_coord_geo_fix_textCoord__ = __webpack_require__(205);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_echarts_lib_coord_geo_fix_textCoord___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_echarts_lib_coord_geo_fix_textCoord__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_echarts_lib_coord_geo_fix_geoCoord__ = __webpack_require__(206);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_echarts_lib_coord_geo_fix_geoCoord___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_echarts_lib_coord_geo_fix_geoCoord__);\n\n\nvar vec3 = __WEBPACK_IMPORTED_MODULE_1_claygl_src_dep_glmatrix__[\"a\" /* default */].vec3;\nvar mat4 = __WEBPACK_IMPORTED_MODULE_1_claygl_src_dep_glmatrix__[\"a\" /* default */].mat4;\n\n\n\n// Geo fix functions\nvar geoFixFuncs = [__WEBPACK_IMPORTED_MODULE_2_echarts_lib_coord_geo_fix_textCoord___default.a, __WEBPACK_IMPORTED_MODULE_3_echarts_lib_coord_geo_fix_geoCoord___default.a];\n\nfunction Geo3D(name, map, geoJson, specialAreas, nameMap) {\n\n this.name = name;\n\n this.map = map;\n\n this.regionHeight = 0;\n\n this.regions = [];\n\n this._nameCoordMap = {};\n\n this.loadGeoJson(geoJson, specialAreas, nameMap);\n\n this.transform = mat4.identity(new Float64Array(16));\n\n this.invTransform = mat4.identity(new Float64Array(16));\n\n // Which dimension to extrude. Y or Z\n this.extrudeY = true;\n\n this.altitudeAxis;\n}\n\nGeo3D.prototype = {\n\n constructor: Geo3D,\n\n type: 'geo3D',\n\n dimensions: ['lng', 'lat', 'alt'],\n\n containPoint: function () {},\n\n loadGeoJson: function (geoJson, specialAreas, nameMap) {\n var parseGeoJSON = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.parseGeoJSON || __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.parseGeoJson;\n try {\n this.regions = geoJson ? parseGeoJSON(geoJson) : [];\n }\n catch (e) {\n throw 'Invalid geoJson format\\n' + e;\n }\n specialAreas = specialAreas || {};\n nameMap = nameMap || {};\n var regions = this.regions;\n var regionsMap = {};\n for (var i = 0; i < regions.length; i++) {\n var regionName = regions[i].name;\n // Try use the alias in nameMap\n regionName = nameMap[regionName] || regionName;\n regions[i].name = regionName;\n\n regionsMap[regionName] = regions[i];\n // Add geoJson\n this.addGeoCoord(regionName, regions[i].center);\n\n // Some area like Alaska in USA map needs to be tansformed\n // to look better\n var specialArea = specialAreas[regionName];\n if (specialArea) {\n regions[i].transformTo(\n specialArea.left, specialArea.top, specialArea.width, specialArea.height\n );\n }\n }\n\n this._regionsMap = regionsMap;\n\n this._geoRect = null;\n\n geoFixFuncs.forEach(function (fixFunc) {\n fixFunc(this);\n }, this);\n },\n\n getGeoBoundingRect: function () {\n if (this._geoRect) {\n return this._geoRect;\n }\n var rect;\n\n var regions = this.regions;\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 // FIXME Always return new ?\n return (this._geoRect = rect || new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.graphic.BoundingRect(0, 0, 0, 0));\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[name] = geoCoord;\n },\n\n /**\n * @param {string} name\n * @return {module:echarts/coord/geo/Region}\n */\n getRegion: function (name) {\n return this._regionsMap[name];\n },\n\n getRegionByCoord: function (coord) {\n var regions = this.regions;\n for (var i = 0; i < regions.length; i++) {\n if (regions[i].contain(coord)) {\n return regions[i];\n }\n }\n },\n\n setSize: function (width, height, depth) {\n this.size = [width, height, depth];\n\n var rect = this.getGeoBoundingRect();\n\n var scaleX = width / rect.width;\n var scaleZ = -depth / rect.height;\n var translateX = -width / 2 - rect.x * scaleX;\n var translateZ = depth / 2 - rect.y * scaleZ;\n\n var position = this.extrudeY ? [translateX, 0, translateZ] : [translateX, translateZ, 0];\n var scale = this.extrudeY ? [scaleX, 1, scaleZ] : [scaleX, scaleZ, 1];\n\n var m = this.transform;\n mat4.identity(m);\n mat4.translate(m, m, position);\n mat4.scale(m, m, scale);\n\n mat4.invert(this.invTransform, m);\n },\n\n dataToPoint: function (data, out) {\n out = out || [];\n\n var extrudeCoordIndex = this.extrudeY ? 1 : 2;\n var sideCoordIndex = this.extrudeY ? 2 : 1;\n\n var altitudeVal = data[2];\n // PENDING.\n if (isNaN(altitudeVal)) {\n altitudeVal = 0;\n }\n // lng\n out[0] = data[0];\n // lat\n out[sideCoordIndex] = data[1];\n\n if (this.altitudeAxis) {\n out[extrudeCoordIndex] = this.altitudeAxis.dataToCoord(altitudeVal);\n }\n else {\n out[extrudeCoordIndex] = 0;\n }\n // PENDING different region height.\n out[extrudeCoordIndex] += this.regionHeight;\n\n vec3.transformMat4(out, out, this.transform);\n\n return out;\n },\n\n pointToData: function (point, out) {\n // TODO\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Geo3D);\n\n/***/ }),\n/* 100 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n\nvar mat4 = __WEBPACK_IMPORTED_MODULE_0_claygl_src_dep_glmatrix__[\"a\" /* default */].mat4;\n\nvar TILE_SIZE = 512;\nvar FOV = 0.6435011087932844;\nvar PI = Math.PI;\n\nvar WORLD_SCALE = 1 / 10;\n\nfunction MapServiceCoordSys3D() {\n /**\n * Width of mapbox viewport\n */\n this.width = 0;\n /**\n * Height of mapbox viewport\n */\n this.height = 0;\n\n this.altitudeScale = 1;\n\n // TODO Change boxHeight won't have animation.\n this.boxHeight = 'auto';\n\n // Set by mapbox creator\n this.altitudeExtent;\n\n this.bearing = 0;\n this.pitch = 0;\n this.center = [0, 0];\n\n this._origin;\n\n this.zoom = 0;\n this._initialZoom;\n\n // Some parameters for different map services.\n this.maxPitch = 60;\n this.zoomOffset = 0;\n}\n\nMapServiceCoordSys3D.prototype = {\n\n constructor: MapServiceCoordSys3D,\n\n dimensions: ['lng', 'lat', 'alt'],\n\n containPoint: function () {},\n\n setCameraOption: function (option) {\n this.bearing = option.bearing;\n this.pitch = option.pitch;\n\n this.center = option.center;\n this.zoom = option.zoom;\n\n if (!this._origin) {\n this._origin = this.projectOnTileWithScale(this.center, TILE_SIZE);\n }\n if (this._initialZoom == null) {\n this._initialZoom = this.zoom;\n }\n\n this.updateTransform();\n },\n\n // https://github.com/mapbox/mapbox-gl-js/blob/master/src/geo/transform.js#L479\n updateTransform: function () {\n if (!this.height) { return; }\n\n var cameraToCenterDistance = 0.5 / Math.tan(FOV / 2) * this.height * WORLD_SCALE;\n // Convert to radian.\n var pitch = Math.max(Math.min(this.pitch, this.maxPitch), 0) / 180 * Math.PI;\n\n // Find the distance from the center point [width/2, height/2] to the\n // center top point [width/2, 0] in Z units, using the law of sines.\n // 1 Z unit is equivalent to 1 horizontal px at the center of the map\n // (the distance between[width/2, height/2] and [width/2 + 1, height/2])\n var halfFov = FOV / 2;\n var groundAngle = Math.PI / 2 + pitch;\n var topHalfSurfaceDistance = Math.sin(halfFov) * cameraToCenterDistance / Math.sin(Math.PI - groundAngle - halfFov);\n\n // Calculate z distance of the farthest fragment that should be rendered.\n var furthestDistance = Math.cos(Math.PI / 2 - pitch) * topHalfSurfaceDistance + cameraToCenterDistance;\n // Add a bit extra to avoid precision problems when a fragment's distance is exactly `furthestDistance`\n var farZ = furthestDistance * 1.1;\n // Forced to be 1000\n if (this.pitch > 50) {\n farZ = 1000;\n }\n\n // matrix for conversion from location to GL coordinates (-1 .. 1)\n var m = [];\n mat4.perspective(m, FOV, this.width / this.height, 1, farZ);\n this.viewGL.camera.projectionMatrix.setArray(m);\n this.viewGL.camera.decomposeProjectionMatrix();\n\n var m = mat4.identity([]);\n var pt = this.dataToPoint(this.center);\n // Inverse\n mat4.scale(m, m, [1, -1, 1]);\n // Translate to altitude\n mat4.translate(m, m, [0, 0, -cameraToCenterDistance]);\n mat4.rotateX(m, m, pitch);\n mat4.rotateZ(m, m, -this.bearing / 180 * Math.PI);\n // Translate to center.\n mat4.translate(m, m, [-pt[0] * this.getScale() * WORLD_SCALE, -pt[1] * this.getScale() * WORLD_SCALE, 0]);\n\n this.viewGL.camera.viewMatrix.array = m;\n var invertM = [];\n mat4.invert(invertM, m);\n this.viewGL.camera.worldTransform.array = invertM;\n this.viewGL.camera.decomposeWorldTransform();\n\n // scale vertically to meters per pixel (inverse of ground resolution):\n // worldSize / (circumferenceOfEarth * cos(lat * π / 180))\n var worldSize = TILE_SIZE * this.getScale();\n var verticalScale;\n\n if (this.altitudeExtent && !isNaN(this.boxHeight)) {\n var range = this.altitudeExtent[1] - this.altitudeExtent[0];\n verticalScale = this.boxHeight / range * this.getScale() / Math.pow(2, this._initialZoom - this.zoomOffset);\n }\n else {\n verticalScale = worldSize / (2 * Math.PI * 6378000 * Math.abs(Math.cos(this.center[1] * (Math.PI / 180))))\n * this.altitudeScale * WORLD_SCALE;\n }\n // Include scale to avoid relayout when zooming\n // FIXME Camera scale may have problem in shadow\n this.viewGL.rootNode.scale.set(\n this.getScale() * WORLD_SCALE, this.getScale() * WORLD_SCALE, verticalScale\n );\n },\n\n getScale: function () {\n return Math.pow(2, this.zoom - this.zoomOffset);\n },\n\n projectOnTile: function (data, out) {\n return this.projectOnTileWithScale(data, this.getScale() * TILE_SIZE, out);\n },\n\n projectOnTileWithScale: function (data, scale, out) {\n var lng = data[0];\n var lat = data[1];\n var lambda2 = lng * PI / 180;\n var phi2 = lat * PI / 180;\n var x = scale * (lambda2 + PI) / (2 * PI);\n var y = scale * (PI - Math.log(Math.tan(PI / 4 + phi2 * 0.5))) / (2 * PI);\n out = out || [];\n out[0] = x;\n out[1] = y;\n return out;\n },\n\n unprojectFromTile: function (point, out) {\n return this.unprojectOnTileWithScale(point, this.getScale() * TILE_SIZE, out);\n },\n\n unprojectOnTileWithScale: function (point, scale, out) {\n var x = point[0];\n var y = point[1];\n var lambda2 = (x / scale) * (2 * PI) - PI;\n var phi2 = 2 * (Math.atan(Math.exp(PI - (y / scale) * (2 * PI))) - PI / 4);\n out = out || [];\n out[0] = lambda2 * 180 / PI;\n out[1] = phi2 * 180 / PI;\n return out;\n },\n\n dataToPoint: function (data, out) {\n out = this.projectOnTileWithScale(data, TILE_SIZE, out);\n // Add a origin to avoid precision issue in WebGL.\n out[0] -= this._origin[0];\n out[1] -= this._origin[1];\n // PENDING\n out[2] = !isNaN(data[2]) ? data[2] : 0;\n if (!isNaN(data[2])) {\n out[2] = data[2];\n if (this.altitudeExtent) {\n out[2] -= this.altitudeExtent[0];\n }\n }\n return out;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (MapServiceCoordSys3D);\n\n/***/ }),\n/* 101 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_retrieve__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_ViewGL__ = __webpack_require__(22);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function (serviceComponentType, ServiceCtor, afterCreate) {\n\n function resizeMapService3D(mapService3DModel, api) {\n var width = api.getWidth();\n var height = api.getHeight();\n var dpr = api.getDevicePixelRatio();\n this.viewGL.setViewport(0, 0, width, height, dpr);\n\n this.width = width;\n this.height = height;\n\n this.altitudeScale = mapService3DModel.get('altitudeScale');\n\n this.boxHeight = mapService3DModel.get('boxHeight');\n // this.updateTransform();\n }\n\n\n function updateService3D(ecModel, api) {\n\n if (this.model.get('boxHeight') === 'auto') {\n return;\n }\n\n var altitudeDataExtent = [Infinity, -Infinity]\n\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.coordinateSystem !== this) {\n return;\n }\n\n // Get altitude data extent.\n var data = seriesModel.getData();\n var altDim = seriesModel.coordDimToDataDim('alt')[0];\n if (altDim) {\n // TODO altitiude is in coords of lines.\n var dataExtent = data.getDataExtent(altDim, true);\n altitudeDataExtent[0] = Math.min(\n altitudeDataExtent[0], dataExtent[0]\n );\n altitudeDataExtent[1] = Math.max(\n altitudeDataExtent[1], dataExtent[1]\n );\n }\n }, this);\n if (altitudeDataExtent && isFinite(altitudeDataExtent[1] - altitudeDataExtent[0])) {\n this.altitudeExtent = altitudeDataExtent;\n }\n }\n\n return {\n\n\n dimensions: ServiceCtor.prototype.dimensions,\n\n create: function (ecModel, api) {\n var mapService3DList = [];\n\n ecModel.eachComponent(serviceComponentType, function (mapService3DModel) {\n var viewGL = mapService3DModel.__viewGL;\n if (!viewGL) {\n viewGL = mapService3DModel.__viewGL = new __WEBPACK_IMPORTED_MODULE_2__core_ViewGL__[\"a\" /* default */]();\n viewGL.setRootNode(new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node());\n }\n\n var mapService3DCoordSys = new ServiceCtor();\n mapService3DCoordSys.viewGL = mapService3DModel.__viewGL;\n // Inject resize\n mapService3DCoordSys.resize = resizeMapService3D;\n mapService3DCoordSys.resize(mapService3DModel, api);\n\n mapService3DList.push(mapService3DCoordSys);\n\n mapService3DModel.coordinateSystem = mapService3DCoordSys;\n mapService3DCoordSys.model = mapService3DModel;\n\n mapService3DCoordSys.update = updateService3D;\n });\n\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.get('coordinateSystem') === serviceComponentType) {\n var mapService3DModel = seriesModel.getReferringComponents(serviceComponentType)[0];\n if (!mapService3DModel) {\n mapService3DModel = ecModel.getComponent(serviceComponentType);\n }\n\n if (!mapService3DModel) {\n throw new Error(serviceComponentType + ' \"' + __WEBPACK_IMPORTED_MODULE_0__util_retrieve__[\"a\" /* default */].firstNotNull(\n seriesModel.get(serviceComponentType + 'Index'),\n seriesModel.get(serviceComponentType + 'Id'),\n 0\n ) + '\" not found');\n }\n\n seriesModel.coordinateSystem = mapService3DModel.coordinateSystem;\n }\n });\n\n afterCreate && afterCreate(mapService3DList, ecModel, api);\n\n return mapService3DList;\n }\n };\n});\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"\\n@export ecgl.displayShadow.vertex\\n\\n@import ecgl.common.transformUniforms\\n\\n@import ecgl.common.uv.header\\n\\n@import ecgl.common.attributes\\n\\nvarying vec3 v_WorldPosition;\\n\\nvarying vec3 v_Normal;\\n\\nvoid main()\\n{\\n @import ecgl.common.uv.main\\n v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);\\n\\n v_WorldPosition = (world * vec4(position, 1.0)).xyz;\\n gl_Position = worldViewProjection * vec4(position, 1.0);\\n}\\n\\n@end\\n\\n\\n@export ecgl.displayShadow.fragment\\n\\n@import ecgl.common.uv.fragmentHeader\\n\\nvarying vec3 v_Normal;\\nvarying vec3 v_WorldPosition;\\n\\nuniform float roughness: 0.2;\\n\\n#ifdef DIRECTIONAL_LIGHT_COUNT\\n@import clay.header.directional_light\\n#endif\\n\\n@import ecgl.common.ssaoMap.header\\n\\n@import clay.plugin.compute_shadow_map\\n\\nvoid main()\\n{\\n float shadow = 1.0;\\n\\n @import ecgl.common.ssaoMap.main\\n\\n#if defined(DIRECTIONAL_LIGHT_COUNT) && defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\\n float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];\\n if(shadowEnabled)\\n {\\n computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);\\n }\\n for (int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++) {\\n shadow = min(shadow, shadowContribsDir[i] * 0.5 + 0.5);\\n }\\n#endif\\n\\n shadow *= 0.5 + ao * 0.5;\\n shadow = clamp(shadow, 0.0, 1.0);\\n\\n gl_FragColor = vec4(vec3(0.0), 1.0 - shadow);\\n}\\n\\n@end\");\n\n\n/***/ }),\n/* 103 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_zrender_lib_core_matrix__ = __webpack_require__(84);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_zrender_lib_core_matrix___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_zrender_lib_core_matrix__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_zrender_lib_core_vector__ = __webpack_require__(83);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_zrender_lib_core_vector___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_zrender_lib_core_vector__);\n\n\n\n\nfunction GLViewHelper(viewGL) {\n this.viewGL = viewGL;\n}\n\nGLViewHelper.prototype.reset = function (seriesModel, api) {\n this._updateCamera(api.getWidth(), api.getHeight(), api.getDevicePixelRatio());\n this._viewTransform = __WEBPACK_IMPORTED_MODULE_0_zrender_lib_core_matrix___default.a.create();\n this.updateTransform(seriesModel, api);\n};\n\nGLViewHelper.prototype.updateTransform = function (seriesModel, api) {\n var coordinateSystem = seriesModel.coordinateSystem;\n\n if (coordinateSystem.getRoamTransform) {\n\n __WEBPACK_IMPORTED_MODULE_0_zrender_lib_core_matrix___default.a.invert(this._viewTransform, coordinateSystem.getRoamTransform());\n\n this._setCameraTransform(this._viewTransform);\n\n api.getZr().refresh();\n }\n};\n\n// Reimplement the dataToPoint of coordinate system.\n// Remove the effect of pan/zoom transform\nGLViewHelper.prototype.dataToPoint = function (coordSys, data, pt) {\n pt = coordSys.dataToPoint(data, null, pt);\n var viewTransform = this._viewTransform;\n if (viewTransform) {\n __WEBPACK_IMPORTED_MODULE_1_zrender_lib_core_vector___default.a.applyTransform(pt, pt, viewTransform);\n }\n};\n\n/**\n * Remove transform info in point.\n */\nGLViewHelper.prototype.removeTransformInPoint = function (pt) {\n if (this._viewTransform) {\n __WEBPACK_IMPORTED_MODULE_1_zrender_lib_core_vector___default.a.applyTransform(pt, pt, this._viewTransform);\n }\n return pt;\n};\n\n/**\n * Return number\n */\nGLViewHelper.prototype.getZoom = function () {\n if (this._viewTransform) {\n var m = this._viewTransform;\n return 1 / Math.max(\n Math.sqrt(m[0] * m[0] + m[1] * m[1]),\n Math.sqrt(m[2] * m[2] + m[3] * m[3])\n );\n }\n return 1;\n};\n\nGLViewHelper.prototype._setCameraTransform = function (m) {\n var camera = this.viewGL.camera;\n camera.position.set(m[4], m[5], 0);\n camera.scale.set(\n Math.sqrt(m[0] * m[0] + m[1] * m[1]),\n Math.sqrt(m[2] * m[2] + m[3] * m[3]),\n 1\n );\n};\n\nGLViewHelper.prototype._updateCamera = function (width, height, dpr) {\n // TODO, left, top, right, bottom\n this.viewGL.setViewport(0, 0, width, height, dpr);\n var camera = this.viewGL.camera;\n camera.left = camera.top = 0;\n camera.bottom = height;\n camera.right = width;\n camera.near = 0;\n camera.far = 100;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (GLViewHelper);\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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) The code `if (__DEV__) ...` can be removed by build tool.\n// (2) If intend to use `__DEV__`, this module should be imported. Use a global\n// variable `__DEV__` may cause that miss the declaration (see #6535), or the\n// declaration is behind of the using position (for example in `Model.extent`,\n// And tools like rollup can not analysis the dependency if not import).\nvar dev; // In browser\n\nif (typeof window !== 'undefined') {\n dev = window.__DEV__;\n} // In node\nelse if (typeof global !== 'undefined') {\n dev = global.__DEV__;\n }\n\nif (typeof dev === 'undefined') {\n dev = true;\n}\n\nvar __DEV__ = dev;\nexports.__DEV__ = __DEV__;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(68)))\n\n/***/ }),\n/* 105 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__dynamicConvertMixin__ = __webpack_require__(38);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n/**\n * Lines geometry\n * Use screen space projected lines lineWidth > MAX_LINE_WIDTH\n * https://mattdesl.svbtle.com/drawing-lines-is-hard\n * @module echarts-gl/util/geometry/LinesGeometry\n * @author Yi Shen(http://github.com/pissang)\n */\n\n\n\n\n\nvar vec2 = __WEBPACK_IMPORTED_MODULE_3_claygl_src_dep_glmatrix__[\"a\" /* default */].vec2;\n\n// var CURVE_RECURSION_LIMIT = 8;\n// var CURVE_COLLINEAR_EPSILON = 40;\n\nvar sampleLinePoints = [[0, 0], [1, 1]];\n/**\n * @constructor\n * @alias module:echarts-gl/util/geometry/LinesGeometry\n * @extends clay.Geometry\n */\n\nvar LinesGeometry = __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].extend(function () {\n return {\n\n segmentScale: 4,\n\n dynamic: true,\n /**\n * Need to use mesh to expand lines if lineWidth > MAX_LINE_WIDTH\n */\n useNativeLine: true,\n\n attributes: {\n position: new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].Attribute('position', 'float', 2, 'POSITION'),\n normal: new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].Attribute('normal', 'float', 2),\n offset: new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].Attribute('offset', 'float', 1),\n color: new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].Attribute('color', 'float', 4, 'COLOR')\n }\n };\n},\n/** @lends module: echarts-gl/util/geometry/LinesGeometry.prototype */\n{\n\n /**\n * Reset offset\n */\n resetOffset: function () {\n this._vertexOffset = 0;\n this._faceOffset = 0;\n\n this._itemVertexOffsets = [];\n },\n\n /**\n * @param {number} nVertex\n */\n setVertexCount: function (nVertex) {\n var attributes = this.attributes;\n if (this.vertexCount !== nVertex) {\n attributes.position.init(nVertex);\n attributes.color.init(nVertex);\n\n if (!this.useNativeLine) {\n attributes.offset.init(nVertex);\n attributes.normal.init(nVertex);\n }\n\n if (nVertex > 0xffff) {\n if (this.indices instanceof Uint16Array) {\n this.indices = new Uint32Array(this.indices);\n }\n }\n else {\n if (this.indices instanceof Uint32Array) {\n this.indices = new Uint16Array(this.indices);\n }\n }\n }\n },\n\n /**\n * @param {number} nTriangle\n */\n setTriangleCount: function (nTriangle) {\n if (this.triangleCount !== nTriangle) {\n if (nTriangle === 0) {\n this.indices = null;\n }\n else {\n this.indices = this.vertexCount > 0xffff ? new Uint32Array(nTriangle * 3) : new Uint16Array(nTriangle * 3);\n }\n }\n },\n\n _getCubicCurveApproxStep: function (p0, p1, p2, p3) {\n var len = vec2.dist(p0, p1) + vec2.dist(p2, p1) + vec2.dist(p3, p2);\n var step = 1 / (len + 1) * this.segmentScale;\n return step;\n },\n\n /**\n * Get vertex count of cubic curve\n * @param {Array.} p0\n * @param {Array.} p1\n * @param {Array.} p2\n * @param {Array.} p3\n * @return number\n */\n getCubicCurveVertexCount: function (p0, p1, p2, p3) {\n var step = this._getCubicCurveApproxStep(p0, p1, p2, p3);\n var segCount = Math.ceil(1 / step);\n if (!this.useNativeLine) {\n return segCount * 2 + 2;\n }\n else {\n return segCount * 2;\n }\n },\n\n /**\n * Get face count of cubic curve\n * @param {Array.} p0\n * @param {Array.} p1\n * @param {Array.} p2\n * @param {Array.} p3\n * @return number\n */\n getCubicCurveTriangleCount: function (p0, p1, p2, p3) {\n var step = this._getCubicCurveApproxStep(p0, p1, p2, p3);\n var segCount = Math.ceil(1 / step);\n if (!this.useNativeLine) {\n return segCount * 2;\n }\n else {\n return 0;\n }\n },\n\n /**\n * Get vertex count of line\n * @return {number}\n */\n getLineVertexCount: function () {\n return this.getPolylineVertexCount(sampleLinePoints);\n },\n\n /**\n * Get face count of line\n * @return {number}\n */\n getLineTriangleCount: function () {\n return this.getPolylineTriangleCount(sampleLinePoints);\n },\n\n /**\n * Get how many vertices will polyline take.\n * @type {number|Array} points Can be a 1d/2d list of points, or a number of points amount.\n * @return {number}\n */\n getPolylineVertexCount: function (points) {\n var pointsLen;\n if (typeof points === 'number') {\n pointsLen = points;\n }\n else {\n var is2DArray = typeof points[0] !== 'number';\n pointsLen = is2DArray ? points.length : (points.length / 2);\n }\n return !this.useNativeLine ? ((pointsLen - 1) * 2 + 2) : (pointsLen - 1) * 2;\n },\n\n /**\n * Get how many triangles will polyline take.\n * @type {number|Array} points Can be a 1d/2d list of points, or a number of points amount.\n * @return {number}\n */\n getPolylineTriangleCount: function (points) {\n var pointsLen;\n if (typeof points === 'number') {\n pointsLen = points;\n }\n else {\n var is2DArray = typeof points[0] !== 'number';\n pointsLen = is2DArray ? points.length : (points.length / 2);\n }\n return !this.useNativeLine ? (pointsLen - 1) * 2 : 0;\n },\n\n /**\n * Add a cubic curve\n * @param {Array.} p0\n * @param {Array.} p1\n * @param {Array.} p2\n * @param {Array.} p3\n * @param {Array.} color\n * @param {number} [lineWidth=1]\n */\n addCubicCurve: function (p0, p1, p2, p3, color, lineWidth) {\n if (lineWidth == null) {\n lineWidth = 1;\n }\n // incremental interpolation\n // http://antigrain.com/research/bezier_interpolation/index.html#PAGE_BEZIER_INTERPOLATION\n var x0 = p0[0], y0 = p0[1];\n var x1 = p1[0], y1 = p1[1];\n var x2 = p2[0], y2 = p2[1];\n var x3 = p3[0], y3 = p3[1];\n\n var step = this._getCubicCurveApproxStep(p0, p1, p2, p3);\n\n var step2 = step * step;\n var step3 = step2 * step;\n\n var pre1 = 3.0 * step;\n var pre2 = 3.0 * step2;\n var pre4 = 6.0 * step2;\n var pre5 = 6.0 * step3;\n\n var tmp1x = x0 - x1 * 2.0 + x2;\n var tmp1y = y0 - y1 * 2.0 + y2;\n\n var tmp2x = (x1 - x2) * 3.0 - x0 + x3;\n var tmp2y = (y1 - y2) * 3.0 - y0 + y3;\n\n var fx = x0;\n var fy = y0;\n\n var dfx = (x1 - x0) * pre1 + tmp1x * pre2 + tmp2x * step3;\n var dfy = (y1 - y0) * pre1 + tmp1y * pre2 + tmp2y * step3;\n\n var ddfx = tmp1x * pre4 + tmp2x * pre5;\n var ddfy = tmp1y * pre4 + tmp2y * pre5;\n\n var dddfx = tmp2x * pre5;\n var dddfy = tmp2y * pre5;\n\n var t = 0;\n\n var k = 0;\n var segCount = Math.ceil(1 / step);\n\n var points = new Float32Array((segCount + 1) * 3);\n var points = [];\n var offset = 0;\n for (var k = 0; k < segCount + 1; k++) {\n points[offset++] = fx;\n points[offset++] = fy;\n\n fx += dfx; fy += dfy;\n dfx += ddfx; dfy += ddfy;\n ddfx += dddfx; ddfy += dddfy;\n t += step;\n\n if (t > 1) {\n fx = dfx > 0 ? Math.min(fx, x3) : Math.max(fx, x3);\n fy = dfy > 0 ? Math.min(fy, y3) : Math.max(fy, y3);\n }\n }\n\n this.addPolyline(points, color, lineWidth);\n },\n\n /**\n * Add a straight line\n * @param {Array.} p0\n * @param {Array.} p1\n * @param {Array.} color\n * @param {number} [lineWidth=1]\n */\n addLine: function (p0, p1, color, lineWidth) {\n this.addPolyline([p0, p1], color, lineWidth);\n },\n\n /**\n * Add a straight line\n * @param {Array. | Array.} points\n * @param {Array. | Array.} color\n * @param {number} [lineWidth=1]\n * @param {number} [arrayOffset=0]\n * @param {number} [pointsCount] Default to be amount of points in the first argument\n */\n addPolyline: (function () {\n var dirA = vec2.create();\n var dirB = vec2.create();\n var normal = vec2.create();\n var tangent = vec2.create();\n var point = [], nextPoint = [], prevPoint = [];\n return function (points, color, lineWidth, arrayOffset, pointsCount) {\n if (!points.length) {\n return;\n }\n var is2DArray = typeof points[0] !== 'number';\n if (pointsCount == null) {\n pointsCount = is2DArray ? points.length : points.length / 2;\n }\n if (pointsCount < 2) {\n return;\n }\n if (arrayOffset == null) {\n arrayOffset = 0;\n }\n if (lineWidth == null) {\n lineWidth = 1;\n }\n\n this._itemVertexOffsets.push(this._vertexOffset);\n\n var notSharingColor = is2DArray\n ? typeof color[0] !== 'number'\n : color.length / 4 === pointsCount;\n\n var positionAttr = this.attributes.position;\n var colorAttr = this.attributes.color;\n var offsetAttr = this.attributes.offset;\n var normalAttr = this.attributes.normal;\n var indices = this.indices;\n\n var vertexOffset = this._vertexOffset;\n var pointColor;\n for (var k = 0; k < pointsCount; k++) {\n if (is2DArray) {\n point = points[k + arrayOffset];\n if (notSharingColor) {\n pointColor = color[k + arrayOffset];\n }\n else {\n pointColor = color;\n }\n }\n else {\n var k2 = k * 2 + arrayOffset;\n point = point || [];\n point[0] = points[k2];\n point[1] = points[k2 + 1];\n\n if (notSharingColor) {\n var k4 = k * 4 + arrayOffset;\n pointColor = pointColor || [];\n pointColor[0] = color[k4];\n pointColor[1] = color[k4 + 1];\n pointColor[2] = color[k4 + 2];\n pointColor[3] = color[k4 + 3];\n }\n else {\n pointColor = color;\n }\n }\n if (!this.useNativeLine) {\n var offset;\n if (k < pointsCount - 1) {\n if (is2DArray) {\n vec2.copy(nextPoint, points[k + 1]);\n }\n else {\n var k2 = (k + 1) * 2 + arrayOffset;\n nextPoint = nextPoint || [];\n nextPoint[0] = points[k2];\n nextPoint[1] = points[k2 + 1];\n }\n // TODO In case dir is (0, 0)\n // TODO miterLimit\n if (k > 0) {\n vec2.sub(dirA, point, prevPoint);\n vec2.sub(dirB, nextPoint, point);\n vec2.normalize(dirA, dirA);\n vec2.normalize(dirB, dirB);\n vec2.add(tangent, dirA, dirB);\n vec2.normalize(tangent, tangent);\n var miter = lineWidth / 2 * Math.min(1 / vec2.dot(dirA, tangent), 2);\n normal[0] = -tangent[1];\n normal[1] = tangent[0];\n\n offset = miter;\n }\n else {\n vec2.sub(dirA, nextPoint, point);\n vec2.normalize(dirA, dirA);\n\n normal[0] = -dirA[1];\n normal[1] = dirA[0];\n\n offset = lineWidth / 2;\n }\n\n }\n else {\n vec2.sub(dirA, point, prevPoint);\n vec2.normalize(dirA, dirA);\n\n normal[0] = -dirA[1];\n normal[1] = dirA[0];\n\n offset = lineWidth / 2;\n }\n normalAttr.set(vertexOffset, normal);\n normalAttr.set(vertexOffset + 1, normal);\n offsetAttr.set(vertexOffset, offset);\n offsetAttr.set(vertexOffset + 1, -offset);\n\n vec2.copy(prevPoint, point);\n\n positionAttr.set(vertexOffset, point);\n positionAttr.set(vertexOffset + 1, point);\n\n colorAttr.set(vertexOffset, pointColor);\n colorAttr.set(vertexOffset + 1, pointColor);\n\n vertexOffset += 2;\n }\n else {\n if (k > 1) {\n positionAttr.copy(vertexOffset, vertexOffset - 1);\n colorAttr.copy(vertexOffset, vertexOffset - 1);\n vertexOffset++;\n }\n }\n\n if (!this.useNativeLine) {\n if (k > 0) {\n var idx3 = this._faceOffset * 3;\n var indices = this.indices;\n // 0-----2\n // 1-----3\n // 0->1->2, 1->3->2\n indices[idx3] = vertexOffset - 4;\n indices[idx3 + 1] = vertexOffset - 3;\n indices[idx3 + 2] = vertexOffset - 2;\n\n indices[idx3 + 3] = vertexOffset - 3;\n indices[idx3 + 4] = vertexOffset - 1;\n indices[idx3 + 5] = vertexOffset - 2;\n\n this._faceOffset += 2;\n }\n }\n else {\n colorAttr.set(vertexOffset, pointColor);\n positionAttr.set(vertexOffset, point);\n vertexOffset++;\n }\n }\n\n this._vertexOffset = vertexOffset;\n };\n })(),\n\n /**\n * Set color of single line.\n */\n setItemColor: function (idx, color) {\n var startOffset = this._itemVertexOffsets[idx];\n var endOffset = idx < this._itemVertexOffsets.length - 1 ? this._itemVertexOffsets[idx + 1] : this._vertexOffset;\n\n for (var i = startOffset; i < endOffset; i++) {\n this.attributes.color.set(i, color);\n }\n this.dirty('color');\n }\n});\n\n__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default.a.util.defaults(LinesGeometry.prototype, __WEBPACK_IMPORTED_MODULE_2__dynamicConvertMixin__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (LinesGeometry);\n\n/***/ }),\n/* 106 */\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__src_echarts_gl__ = __webpack_require__(107);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_component_grid3D__ = __webpack_require__(154);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_component_geo3D__ = __webpack_require__(201);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_component_globe__ = __webpack_require__(207);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_component_mapbox3D__ = __webpack_require__(213);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_component_maptalks3D__ = __webpack_require__(219);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_chart_bar3D__ = __webpack_require__(225);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_chart_line3D__ = __webpack_require__(232);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_chart_scatter3D__ = __webpack_require__(236);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_chart_lines3D__ = __webpack_require__(243);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_chart_polygons3D__ = __webpack_require__(249);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__src_chart_surface__ = __webpack_require__(252);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__src_chart_map3D__ = __webpack_require__(256);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__src_chart_scatterGL__ = __webpack_require__(259);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__src_chart_graphGL__ = __webpack_require__(262);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__src_chart_flowGL__ = __webpack_require__(275);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__src_chart_linesGL__ = __webpack_require__(281);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 107 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_version__ = __webpack_require__(108);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_LayerGL__ = __webpack_require__(109);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__preprocessor_backwardCompat__ = __webpack_require__(153);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_graphicGL__ = __webpack_require__(1);\n/**\n * echarts-gl\n * Extension pack of ECharts providing 3d plots and globe visualization\n *\n * Copyright (c) 2014, echarts-gl\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * * Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * * Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n/**\n * @module echarts-gl\n * @author Yi Shen(http://github.com/pissang)\n */\n\n// PENDING Use a single canvas as layer or use image element?\nvar echartsGl = {\n version: '1.1.1',\n dependencies: {\n echarts: '4.1.0',\n claygl: '1.2.1'\n }\n};\n\n\n\n\n\n\n// Version checking\nvar deps = echartsGl.dependencies;\nfunction versionTooOldMsg(name) {\n throw new Error(\n name + ' version is too old, needs ' + deps[name] + ' or higher'\n );\n}\nfunction checkVersion(version, name) {\n if ((version.replace('.', '') - 0) < (deps[name].replace('.', '') - 0)) {\n versionTooOldMsg(name);\n }\n console.log('Loaded ' + name + ', version ' + version);\n}\ncheckVersion(__WEBPACK_IMPORTED_MODULE_1_claygl_src_version__[\"a\" /* default */], 'claygl');\ncheckVersion(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.version, 'echarts');\n\nfunction EChartsGL (zr) {\n this._layers = {};\n\n this._zr = zr;\n}\n\nEChartsGL.prototype.update = function (ecModel, api) {\n var self = this;\n var zr = api.getZr();\n\n if (!zr.getWidth() || !zr.getHeight()) {\n console.warn('Dom has no width or height');\n return;\n }\n\n function getLayerGL(model) {\n var zlevel;\n // Host on coordinate system.\n if (model.coordinateSystem && model.coordinateSystem.model) {\n zlevel = model.get('zlevel');\n }\n else {\n zlevel = model.get('zlevel');\n }\n\n var layers = self._layers;\n var layerGL = layers[zlevel];\n if (!layerGL) {\n layerGL = layers[zlevel] = new __WEBPACK_IMPORTED_MODULE_2__core_LayerGL__[\"a\" /* default */]('gl-' + zlevel, zr);\n\n if (zr.painter.isSingleCanvas()) {\n layerGL.virtual = true;\n // If container is canvas, use image to represent LayerGL\n // FIXME Performance\n var img = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.graphic.Image({\n z: 1e4,\n style: {\n image: layerGL.renderer.canvas\n },\n silent: true\n });\n layerGL.__hostImage = img;\n\n zr.add(img);\n }\n\n zr.painter.insertLayer(zlevel, layerGL);\n }\n if (layerGL.__hostImage) {\n layerGL.__hostImage.setStyle({\n width: layerGL.renderer.getWidth(),\n height: layerGL.renderer.getHeight()\n });\n }\n\n return layerGL;\n }\n\n function setSilent(groupGL, silent) {\n if (groupGL) {\n groupGL.traverse(function (mesh) {\n if (mesh.isRenderable && mesh.isRenderable()) {\n mesh.ignorePicking = mesh.$ignorePicking != null\n ? mesh.$ignorePicking : silent;\n }\n });\n }\n }\n\n for (var zlevel in this._layers) {\n this._layers[zlevel].removeViewsAll();\n }\n\n ecModel.eachComponent(function (componentType, componentModel) {\n if (componentType !== 'series') {\n var view = api.getViewOfComponentModel(componentModel);\n var coordSys = componentModel.coordinateSystem;\n // View with __ecgl__ flag is a echarts-gl component.\n if (view.__ecgl__) {\n var viewGL;\n if (coordSys) {\n if (!coordSys.viewGL) {\n console.error('Can\\'t find viewGL in coordinateSystem of component ' + componentModel.id);\n return;\n }\n viewGL = coordSys.viewGL;\n }\n else {\n if (!componentModel.viewGL) {\n console.error('Can\\'t find viewGL of component ' + componentModel.id);\n return;\n }\n viewGL = coordSys.viewGL;\n }\n\n var viewGL = coordSys.viewGL;\n var layerGL = getLayerGL(componentModel);\n\n layerGL.addView(viewGL);\n\n view.afterRender && view.afterRender(\n componentModel, ecModel, api, layerGL\n );\n\n setSilent(view.groupGL, componentModel.get('silent'));\n }\n }\n });\n\n ecModel.eachSeries(function (seriesModel) {\n var chartView = api.getViewOfSeriesModel(seriesModel);\n var coordSys = seriesModel.coordinateSystem;\n if (chartView.__ecgl__) {\n if ((coordSys && !coordSys.viewGL) && !chartView.viewGL) {\n console.error('Can\\'t find viewGL of series ' + chartView.id);\n return;\n }\n var viewGL = (coordSys && coordSys.viewGL) || chartView.viewGL;\n // TODO Check zlevel not same with component of coordinate system ?\n var layerGL = getLayerGL(seriesModel);\n layerGL.addView(viewGL);\n\n chartView.afterRender && chartView.afterRender(\n seriesModel, ecModel, api, layerGL\n );\n\n setSilent(chartView.groupGL, seriesModel.get('silent'));\n }\n });\n};\n\n// Hack original getRenderedCanvas. Will removed after new echarts released\n// TODO\nvar oldInit = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.init;\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.init = function () {\n var chart = oldInit.apply(this, arguments);\n chart.getZr().painter.getRenderedCanvas = function (opts) {\n opts = opts || {};\n if (this._singleCanvas) {\n return this._layers[0].dom;\n }\n\n var canvas = document.createElement('canvas');\n var dpr = opts.pixelRatio || this.dpr;\n canvas.width = this.getWidth() * dpr;\n canvas.height = this.getHeight() * dpr;\n var ctx = canvas.getContext('2d');\n ctx.dpr = dpr;\n\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n if (opts.backgroundColor) {\n ctx.fillStyle = opts.backgroundColor;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n }\n\n var displayList = this.storage.getDisplayList(true);\n\n var scope = {};\n var zlevel;\n\n var self = this;\n function findAndDrawOtherLayer(smaller, larger) {\n var zlevelList = self._zlevelList;\n if (smaller == null) {\n smaller = -Infinity;\n }\n var intermediateLayer;\n for (var i = 0; i < zlevelList.length; i++) {\n var z = zlevelList[i];\n var layer = self._layers[z];\n if (!layer.__builtin__ && z > smaller && z < larger) {\n intermediateLayer = layer;\n break;\n }\n }\n if (intermediateLayer && intermediateLayer.renderToCanvas) {\n ctx.save();\n intermediateLayer.renderToCanvas(ctx);\n ctx.restore();\n }\n }\n var layer = {\n ctx: ctx\n };\n for (var i = 0; i < displayList.length; i++) {\n var el = displayList[i];\n\n if (el.zlevel !== zlevel) {\n findAndDrawOtherLayer(zlevel, el.zlevel);\n zlevel = el.zlevel;\n }\n this._doPaintEl(el, layer, true, scope);\n }\n\n findAndDrawOtherLayer(zlevel, Infinity);\n\n return canvas;\n };\n return chart;\n};\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerPostUpdate(function (ecModel, api) {\n var zr = api.getZr();\n\n var egl = zr.__egl = zr.__egl || new EChartsGL(zr);\n\n egl.update(ecModel, api);\n});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerPreprocessor(__WEBPACK_IMPORTED_MODULE_3__preprocessor_backwardCompat__[\"a\" /* default */]);\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.graphicGL = __WEBPACK_IMPORTED_MODULE_4__util_graphicGL__[\"a\" /* default */];\n\n/* unused harmony default export */ var _unused_webpack_default_export = (EChartsGL);\n\n/***/ }),\n/* 108 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * @name clay.version\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = ('1.2.1');\n\n\n/***/ }),\n/* 109 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_Renderer__ = __webpack_require__(52);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_claygl_src_picking_RayPicking__ = __webpack_require__(117);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_claygl_src_core_mixin_notifier__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_zrender_lib_animation_requestAnimationFrame__ = __webpack_require__(80);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_zrender_lib_animation_requestAnimationFrame___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_zrender_lib_animation_requestAnimationFrame__);\n/**\n * Provide WebGL layer to zrender. Which is rendered on top of clay.\n *\n *\n * Relationship between zrender, LayerGL(renderer) and ViewGL(Scene, Camera, Viewport)\n * zrender\n * / \\\n * LayerGL LayerGL\n * (renderer) (renderer)\n * / \\\n * ViewGL ViewGL\n *\n * @module echarts-gl/core/LayerGL\n * @author Yi Shen(http://github.com/pissang)\n */\n\n\n\n\n\n\n\n// PENDING, clay. notifier is same with zrender Eventful\n\n\n\n/**\n * @constructor\n * @alias module:echarts-gl/core/LayerGL\n * @param {string} id Layer ID\n * @param {module:zrender/ZRender} zr\n */\nvar LayerGL = function (id, zr) {\n\n /**\n * Layer ID\n * @type {string}\n */\n this.id = id;\n\n /**\n * @type {module:zrender/ZRender}\n */\n this.zr = zr;\n\n /**\n * @type {clay.Renderer}\n */\n try {\n this.renderer = new __WEBPACK_IMPORTED_MODULE_1_claygl_src_Renderer__[\"a\" /* default */]({\n clearBit: 0,\n devicePixelRatio: zr.painter.dpr,\n preserveDrawingBuffer: true,\n // PENDING\n premultipliedAlpha: true\n });\n this.renderer.resize(zr.painter.getWidth(), zr.painter.getHeight());\n }\n catch (e) {\n this.renderer = null;\n this.dom = document.createElement('div');\n this.dom.style.cssText = 'position:absolute; left: 0; top: 0; right: 0; bottom: 0;';\n this.dom.className = 'ecgl-nowebgl';\n this.dom.innerHTML = 'Sorry, your browser does not support WebGL';\n\n console.error(e);\n return;\n }\n\n this.onglobalout = this.onglobalout.bind(this);\n zr.on('globalout', this.onglobalout);\n\n /**\n * Canvas dom for webgl rendering\n * @type {HTMLCanvasElement}\n */\n this.dom = this.renderer.canvas;\n var style = this.dom.style;\n style.position = 'absolute';\n style.left = '0';\n style.top = '0';\n\n /**\n * @type {Array.}\n */\n this.views = [];\n\n this._picking = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_picking_RayPicking__[\"a\" /* default */]({\n renderer: this.renderer\n });\n\n this._viewsToDispose = [];\n\n /**\n * Current accumulating id.\n */\n this._accumulatingId = 0;\n\n this._zrEventProxy = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.graphic.Rect({\n shape: {x: -1, y: -1, width: 2, height: 2},\n // FIXME Better solution.\n __isGLToZRProxy: true\n });\n\n this._backgroundColor = null;\n};\n\n/**\n * @param {module:echarts-gl/core/ViewGL} view\n */\nLayerGL.prototype.addView = function (view) {\n if (view.layer === this) {\n return;\n }\n // If needs to dispose in this layer. unmark it.\n var idx = this._viewsToDispose.indexOf(view);\n if (idx >= 0) {\n this._viewsToDispose.splice(idx, 1);\n }\n\n this.views.push(view);\n\n view.layer = this;\n\n var zr = this.zr;\n view.scene.traverse(function (node) {\n node.__zr = zr;\n if (node.addAnimatorsToZr) {\n node.addAnimatorsToZr(zr);\n }\n });\n};\n\nfunction removeFromZr(node) {\n var zr = node.__zr;\n node.__zr = null;\n if (zr && node.removeAnimatorsFromZr) {\n node.removeAnimatorsFromZr(zr);\n }\n}\n/**\n * @param {module:echarts-gl/core/ViewGL} view\n */\nLayerGL.prototype.removeView = function (view) {\n if (view.layer !== this) {\n return;\n }\n\n var idx = this.views.indexOf(view);\n if (idx >= 0) {\n this.views.splice(idx, 1);\n view.scene.traverse(removeFromZr, this);\n view.layer = null;\n\n // Mark to dispose in this layer.\n this._viewsToDispose.push(view);\n }\n};\n\n/**\n * Remove all views\n */\nLayerGL.prototype.removeViewsAll = function () {\n this.views.forEach(function (view) {\n view.scene.traverse(removeFromZr, this);\n view.layer = null;\n\n // Mark to dispose in this layer.\n this._viewsToDispose.push(view);\n }, this);\n\n this.views.length = 0;\n\n};\n\n/**\n * Resize the canvas and viewport, will be invoked by zrender\n * @param {number} width\n * @param {number} height\n */\nLayerGL.prototype.resize = function (width, height) {\n var renderer = this.renderer;\n renderer.resize(width, height);\n};\n\n/**\n * Clear color and depth\n * @return {[type]} [description]\n */\nLayerGL.prototype.clear = function () {\n var gl = this.renderer.gl;\n var clearColor = this._backgroundColor || [0, 0, 0, 0];\n gl.clearColor(clearColor[0], clearColor[1], clearColor[2], clearColor[3]);\n gl.depthMask(true);\n gl.colorMask(true, true, true, true);\n gl.clear(gl.DEPTH_BUFFER_BIT | gl.COLOR_BUFFER_BIT);\n};\n\n/**\n * Clear depth\n */\nLayerGL.prototype.clearDepth = function () {\n var gl = this.renderer.gl;\n gl.clear(gl.DEPTH_BUFFER_BIT);\n};\n\n/**\n * Clear color\n */\nLayerGL.prototype.clearColor = function () {\n var gl = this.renderer.gl;\n gl.clearColor(0, 0, 0, 0);\n gl.clear(gl.COLOR_BUFFER_BIT);\n};\n\n/**\n * Mark layer to refresh next tick\n */\nLayerGL.prototype.needsRefresh = function () {\n this.zr.refresh();\n};\n\n/**\n * Refresh the layer, will be invoked by zrender\n */\nLayerGL.prototype.refresh = function (bgColor) {\n\n this._backgroundColor = bgColor ? __WEBPACK_IMPORTED_MODULE_4__util_graphicGL__[\"a\" /* default */].parseColor(bgColor) : [0, 0, 0, 0];\n this.renderer.clearColor = this._backgroundColor;\n\n for (var i = 0; i < this.views.length; i++) {\n this.views[i].prepareRender(this.renderer);\n }\n\n this._doRender(false);\n\n // Auto dispose unused resources on GPU, like program(shader), texture, geometry(buffers)\n this._trackAndClean();\n\n // Dispose trashed views\n for (var i = 0; i < this._viewsToDispose.length; i++) {\n this._viewsToDispose[i].dispose(this.renderer);\n }\n this._viewsToDispose.length = 0;\n\n this._startAccumulating();\n};\n\n\nLayerGL.prototype.renderToCanvas = function (ctx) {\n // PENDING will block the page\n this._startAccumulating(true);\n ctx.drawImage(this.dom, 0, 0, ctx.canvas.width, ctx.canvas.height);\n};\n\nLayerGL.prototype._doRender = function (accumulating) {\n this.clear();\n this.renderer.saveViewport();\n for (var i = 0; i < this.views.length; i++) {\n this.views[i].render(this.renderer, accumulating);\n }\n this.renderer.restoreViewport();\n};\n\n/**\n * Stop accumulating\n */\nLayerGL.prototype._stopAccumulating = function () {\n this._accumulatingId = 0;\n clearTimeout(this._accumulatingTimeout);\n};\n\nvar accumulatingId = 1;\n/**\n * Start accumulating all the views.\n * Accumulating is for antialising and have more sampling in SSAO\n * @private\n */\nLayerGL.prototype._startAccumulating = function (immediate) {\n var self = this;\n this._stopAccumulating();\n\n var needsAccumulate = false;\n for (var i = 0; i < this.views.length; i++) {\n needsAccumulate = this.views[i].needsAccumulate() || needsAccumulate;\n }\n if (!needsAccumulate) {\n return;\n }\n\n function accumulate(id) {\n if (!self._accumulatingId || id !== self._accumulatingId) {\n return;\n }\n\n var isFinished = true;\n for (var i = 0; i < self.views.length; i++) {\n isFinished = self.views[i].isAccumulateFinished() && needsAccumulate;\n }\n\n if (!isFinished) {\n self._doRender(true);\n\n if (immediate) {\n accumulate(id);\n }\n else {\n __WEBPACK_IMPORTED_MODULE_6_zrender_lib_animation_requestAnimationFrame___default()(function () {\n accumulate(id);\n });\n }\n }\n }\n\n this._accumulatingId = accumulatingId++;\n\n if (immediate) {\n accumulate(self._accumulatingId);\n }\n else {\n this._accumulatingTimeout = setTimeout(function () {\n accumulate(self._accumulatingId);\n }, 50);\n }\n};\n\nLayerGL.prototype._trackAndClean = function () {\n var textureList = [];\n var geometriesList = [];\n\n // Mark all resources unused;\n if (this._textureList) {\n markUnused(this._textureList);\n markUnused(this._geometriesList);\n }\n\n for (var i = 0; i < this.views.length; i++) {\n collectResources(this.views[i].scene, textureList, geometriesList);\n }\n\n // Dispose those unsed resources.\n if (this._textureList) {\n checkAndDispose(this.renderer, this._textureList);\n checkAndDispose(this.renderer, this._geometriesList);\n }\n\n this._textureList = textureList;\n this._geometriesList = geometriesList;\n};\n\nfunction markUnused(resourceList) {\n for (var i = 0; i < resourceList.length; i++) {\n resourceList[i].__used__ = 0;\n }\n}\nfunction checkAndDispose(renderer, resourceList) {\n for (var i = 0; i < resourceList.length; i++) {\n if (!resourceList[i].__used__) {\n resourceList[i].dispose(renderer);\n }\n }\n}\nfunction updateUsed(resource, list) {\n resource.__used__ = resource.__used__ || 0;\n resource.__used__++;\n if (resource.__used__ === 1) {\n // Don't push to the list twice.\n list.push(resource);\n }\n}\nfunction collectResources(scene, textureResourceList, geometryResourceList) {\n var prevMaterial;\n var prevGeometry;\n scene.traverse(function (renderable) {\n if (renderable.isRenderable()) {\n var geometry = renderable.geometry;\n var material = renderable.material;\n\n // TODO optimize!!\n if (material !== prevMaterial) {\n var textureUniforms = material.getTextureUniforms();\n for (var u = 0; u < textureUniforms.length; u++) {\n var uniformName = textureUniforms[u];\n var val = material.uniforms[uniformName].value;\n if (!val) {\n continue;\n }\n if (val instanceof __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__[\"a\" /* default */]) {\n updateUsed(val, textureResourceList);\n }\n else if (val instanceof Array) {\n for (var k = 0; k < val.length; k++) {\n if (val[k] instanceof __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__[\"a\" /* default */]) {\n updateUsed(val[k], textureResourceList);\n }\n }\n }\n }\n }\n if (geometry !== prevGeometry) {\n updateUsed(geometry, geometryResourceList);\n }\n\n prevMaterial = material;\n prevGeometry = geometry;\n }\n });\n\n for (var k = 0; k < scene.lights.length; k++) {\n // Track AmbientCubemap\n if (scene.lights[k].cubemap) {\n updateUsed(scene.lights[k].cubemap, textureResourceList);\n }\n }\n}\n/**\n * Dispose the layer\n */\nLayerGL.prototype.dispose = function () {\n this._stopAccumulating();\n this.renderer.disposeScene(this.scene);\n\n this.zr.off('globalout', this.onglobalout);\n};\n\n// Event handlers\nLayerGL.prototype.onmousedown = function (e) {\n if (e.target && e.target.__isGLToZRProxy) {\n return;\n }\n\n e = e.event;\n var obj = this.pickObject(e.offsetX, e.offsetY);\n if (obj) {\n this._dispatchEvent('mousedown', e, obj);\n this._dispatchDataEvent('mousedown', e, obj);\n }\n\n this._downX = e.offsetX;\n this._downY = e.offsetY;\n};\n\nLayerGL.prototype.onmousemove = function (e) {\n if (e.target && e.target.__isGLToZRProxy) {\n return;\n }\n\n e = e.event;\n var obj = this.pickObject(e.offsetX, e.offsetY);\n\n var target = obj && obj.target;\n var lastHovered = this._hovered;\n this._hovered = obj;\n\n if (lastHovered && target !== lastHovered.target) {\n lastHovered.relatedTarget = target;\n this._dispatchEvent('mouseout', e, lastHovered);\n // this._dispatchDataEvent('mouseout', e, lastHovered);\n\n this.zr.setCursorStyle('default');\n }\n\n this._dispatchEvent('mousemove', e, obj);\n\n if (obj) {\n this.zr.setCursorStyle('pointer');\n\n if (!lastHovered || (target !== lastHovered.target)) {\n this._dispatchEvent('mouseover', e, obj);\n // this._dispatchDataEvent('mouseover', e, obj);\n }\n }\n\n this._dispatchDataEvent('mousemove', e, obj);\n};\n\nLayerGL.prototype.onmouseup = function (e) {\n if (e.target && e.target.__isGLToZRProxy) {\n return;\n }\n\n e = e.event;\n var obj = this.pickObject(e.offsetX, e.offsetY);\n\n if (obj) {\n this._dispatchEvent('mouseup', e, obj);\n this._dispatchDataEvent('mouseup', e, obj);\n }\n\n this._upX = e.offsetX;\n this._upY = e.offsetY;\n};\n\nLayerGL.prototype.onclick = LayerGL.prototype.dblclick = function (e) {\n if (e.target && e.target.__isGLToZRProxy) {\n return;\n }\n\n // Ignore click event if mouse moved\n var dx = this._upX - this._downX;\n var dy = this._upY - this._downY;\n if (Math.sqrt(dx * dx + dy * dy) > 20) {\n return;\n }\n\n e = e.event;\n var obj = this.pickObject(e.offsetX, e.offsetY);\n\n if (obj) {\n this._dispatchEvent(e.type, e, obj);\n this._dispatchDataEvent(e.type, e, obj);\n }\n\n // Try set depth of field onclick\n var result = this._clickToSetFocusPoint(e);\n if (result) {\n var success = result.view.setDOFFocusOnPoint(result.distance);\n if (success) {\n this.zr.refresh();\n }\n }\n};\n\nLayerGL.prototype._clickToSetFocusPoint = function (e) {\n var renderer = this.renderer;\n var oldViewport = renderer.viewport;\n for (var i = this.views.length - 1; i >= 0; i--) {\n var viewGL = this.views[i];\n if (viewGL.hasDOF() && viewGL.containPoint(e.offsetX, e.offsetY)) {\n this._picking.scene = viewGL.scene;\n this._picking.camera = viewGL.camera;\n // Only used for picking, renderer.setViewport will also invoke gl.viewport.\n // Set directly, PENDING.\n renderer.viewport = viewGL.viewport;\n var result = this._picking.pick(e.offsetX, e.offsetY, true);\n if (result) {\n result.view = viewGL;\n return result;\n }\n }\n }\n renderer.viewport = oldViewport;\n};\n\nLayerGL.prototype.onglobalout = function (e) {\n var lastHovered = this._hovered;\n if (lastHovered) {\n this._dispatchEvent('mouseout', e, {\n target: lastHovered.target\n });\n }\n};\n\nLayerGL.prototype.pickObject = function (x, y) {\n\n var output = [];\n var renderer = this.renderer;\n var oldViewport = renderer.viewport;\n for (var i = 0; i < this.views.length; i++) {\n var viewGL = this.views[i];\n if (viewGL.containPoint(x, y)) {\n this._picking.scene = viewGL.scene;\n this._picking.camera = viewGL.camera;\n // Only used for picking, renderer.setViewport will also invoke gl.viewport.\n // Set directly, PENDING.\n renderer.viewport = viewGL.viewport;\n this._picking.pickAll(x, y, output);\n }\n }\n renderer.viewport = oldViewport;\n output.sort(function (a, b) {\n return a.distance - b.distance;\n });\n return output[0];\n};\n\nLayerGL.prototype._dispatchEvent = function (eveName, originalEvent, newEvent) {\n if (!newEvent) {\n newEvent = {};\n }\n var current = newEvent.target;\n\n newEvent.cancelBubble = false;\n newEvent.event = originalEvent;\n newEvent.type = eveName;\n newEvent.offsetX = originalEvent.offsetX;\n newEvent.offsetY = originalEvent.offsetY;\n\n while (current) {\n current.trigger(eveName, newEvent);\n current = current.getParent();\n\n if (newEvent.cancelBubble) {\n break;\n }\n }\n\n this._dispatchToView(eveName, newEvent);\n};\n\nLayerGL.prototype._dispatchDataEvent = function (eveName, originalEvent, newEvent) {\n var mesh = newEvent && newEvent.target;\n\n var dataIndex = mesh && mesh.dataIndex;\n var seriesIndex = mesh && mesh.seriesIndex;\n // Custom event data\n var eventData = mesh && mesh.eventData;\n var elChangedInMouseMove = false;\n\n var eventProxy = this._zrEventProxy;\n eventProxy.position = [originalEvent.offsetX, originalEvent.offsetY];\n eventProxy.update();\n\n var targetInfo = {\n target: eventProxy\n };\n if (eveName === 'mousemove') {\n if (dataIndex != null) {\n if (dataIndex !== this._lastDataIndex) {\n if (parseInt(this._lastDataIndex, 10) >= 0) {\n eventProxy.dataIndex = this._lastDataIndex;\n eventProxy.seriesIndex = this._lastSeriesIndex;\n // FIXME May cause double events.\n this.zr.handler.dispatchToElement(targetInfo, 'mouseout', originalEvent);\n }\n elChangedInMouseMove = true;\n }\n }\n else if (eventData != null) {\n if (eventData !== this._lastEventData) {\n if (this._lastEventData != null) {\n eventProxy.eventData = this._lastEventData;\n // FIXME May cause double events.\n this.zr.handler.dispatchToElement(targetInfo, 'mouseout', originalEvent);\n }\n elChangedInMouseMove = true;\n }\n }\n this._lastEventData = eventData;\n this._lastDataIndex = dataIndex;\n this._lastSeriesIndex = seriesIndex;\n }\n\n eventProxy.eventData = eventData;\n eventProxy.dataIndex = dataIndex;\n eventProxy.seriesIndex = seriesIndex;\n\n if (eventData != null || (parseInt(dataIndex, 10) >= 0 && parseInt(seriesIndex, 10) >= 0)) {\n this.zr.handler.dispatchToElement(targetInfo, eveName, originalEvent);\n\n if (elChangedInMouseMove) {\n this.zr.handler.dispatchToElement(targetInfo, 'mouseover', originalEvent);\n }\n }\n};\n\nLayerGL.prototype._dispatchToView = function (eventName, e) {\n for (var i = 0; i < this.views.length; i++) {\n if (this.views[i].containPoint(e.offsetX, e.offsetY)) {\n this.views[i].trigger(eventName, e);\n }\n }\n};\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.extend(LayerGL.prototype, __WEBPACK_IMPORTED_MODULE_5_claygl_src_core_mixin_notifier__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (LayerGL);\n\n/***/ }),\n/* 110 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * Extend a sub class from base class\n * @param {object|Function} makeDefaultOpt default option of this sub class, method of the sub can use this.xxx to access this option\n * @param {Function} [initialize] Initialize after the sub class is instantiated\n * @param {Object} [proto] Prototype methods/properties of the sub class\n * @memberOf clay.core.mixin.extend\n * @return {Function}\n */\nfunction derive(makeDefaultOpt, initialize/*optional*/, proto/*optional*/) {\n\n if (typeof initialize == 'object') {\n proto = initialize;\n initialize = null;\n }\n\n var _super = this;\n\n var propList;\n if (!(makeDefaultOpt instanceof Function)) {\n // Optimize the property iterate if it have been fixed\n propList = [];\n for (var propName in makeDefaultOpt) {\n if (makeDefaultOpt.hasOwnProperty(propName)) {\n propList.push(propName);\n }\n }\n }\n\n var sub = function(options) {\n\n // call super constructor\n _super.apply(this, arguments);\n\n if (makeDefaultOpt instanceof Function) {\n // Invoke makeDefaultOpt each time if it is a function, So we can make sure each\n // property in the object will not be shared by mutiple instances\n extend(this, makeDefaultOpt.call(this, options));\n }\n else {\n extendWithPropList(this, makeDefaultOpt, propList);\n }\n\n if (this.constructor === sub) {\n // Initialize function will be called in the order of inherit\n var initializers = sub.__initializers__;\n for (var i = 0; i < initializers.length; i++) {\n initializers[i].apply(this, arguments);\n }\n }\n };\n // save super constructor\n sub.__super__ = _super;\n // Initialize function will be called after all the super constructor is called\n if (!_super.__initializers__) {\n sub.__initializers__ = [];\n } else {\n sub.__initializers__ = _super.__initializers__.slice();\n }\n if (initialize) {\n sub.__initializers__.push(initialize);\n }\n\n var Ctor = function() {};\n Ctor.prototype = _super.prototype;\n sub.prototype = new Ctor();\n sub.prototype.constructor = sub;\n extend(sub.prototype, proto);\n\n // extend the derive method as a static method;\n sub.extend = _super.extend;\n\n // DEPCRATED\n sub.derive = _super.extend;\n\n return sub;\n}\n\nfunction extend(target, source) {\n if (!source) {\n return;\n }\n for (var name in source) {\n if (source.hasOwnProperty(name)) {\n target[name] = source[name];\n }\n }\n}\n\nfunction extendWithPropList(target, source, propList) {\n for (var i = 0; i < propList.length; i++) {\n var propName = propList[i];\n target[propName] = source[propName];\n }\n}\n\n/**\n * @alias clay.core.mixin.extend\n * @mixin\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\n extend: derive,\n\n // DEPCRATED\n derive: derive\n});\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar EXTENSION_LIST = [\n 'OES_texture_float',\n 'OES_texture_half_float',\n 'OES_texture_float_linear',\n 'OES_texture_half_float_linear',\n 'OES_standard_derivatives',\n 'OES_vertex_array_object',\n 'OES_element_index_uint',\n 'WEBGL_compressed_texture_s3tc',\n 'WEBGL_depth_texture',\n 'EXT_texture_filter_anisotropic',\n 'EXT_shader_texture_lod',\n 'WEBGL_draw_buffers',\n 'EXT_frag_depth',\n 'EXT_sRGB'\n];\n\nvar PARAMETER_NAMES = [\n 'MAX_TEXTURE_SIZE',\n 'MAX_CUBE_MAP_TEXTURE_SIZE'\n];\n\nfunction GLInfo(_gl) {\n var extensions = {};\n var parameters = {};\n\n // Get webgl extension\n for (var i = 0; i < EXTENSION_LIST.length; i++) {\n var extName = EXTENSION_LIST[i];\n createExtension(extName);\n }\n // Get parameters\n for (var i = 0; i < PARAMETER_NAMES.length; i++) {\n var name = PARAMETER_NAMES[i];\n parameters[name] = _gl.getParameter(_gl[name]);\n }\n\n this.getExtension = function (name) {\n if (!(name in extensions)) {\n createExtension(name);\n }\n return extensions[name];\n };\n\n this.getParameter = function (name) {\n return parameters[name];\n };\n\n this.getMaxJointNumber = function () {\n return 15;\n };\n\n function createExtension(name) {\n var ext = _gl.getExtension(name);\n if (!ext) {\n ext = _gl.getExtension('MOZ_' + name);\n }\n if (!ext) {\n ext = _gl.getExtension('WEBKIT_' + name);\n }\n extensions[name] = ext;\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (GLInfo);\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction get(options) {\n\n var xhr = new XMLHttpRequest();\n\n xhr.open('get', options.url);\n // With response type set browser can get and put binary data\n // https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/Sending_and_Receiving_Binary_Data\n // Default is text, and it can be set\n // arraybuffer, blob, document, json, text\n xhr.responseType = options.responseType || 'text';\n\n if (options.onprogress) {\n //https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest\n xhr.onprogress = function(e) {\n if (e.lengthComputable) {\n var percent = e.loaded / e.total;\n options.onprogress(percent, e.loaded, e.total);\n }\n else {\n options.onprogress(null);\n }\n };\n }\n xhr.onload = function(e) {\n if (xhr.status >= 400) {\n options.onerror && options.onerror();\n }\n else {\n options.onload && options.onload(xhr.response);\n }\n };\n if (options.onerror) {\n xhr.onerror = options.onerror;\n }\n xhr.send(null);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n get: get\n});\n\n\n/***/ }),\n/* 113 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_LRU__ = __webpack_require__(69);\n/**\n * @namespace clay.core.color\n */\n\n\nvar colorUtil = {};\n\nvar kCSSColorTable = {\n 'transparent': [0,0,0,0], 'aliceblue': [240,248,255,1],\n 'antiquewhite': [250,235,215,1], 'aqua': [0,255,255,1],\n 'aquamarine': [127,255,212,1], 'azure': [240,255,255,1],\n 'beige': [245,245,220,1], 'bisque': [255,228,196,1],\n 'black': [0,0,0,1], 'blanchedalmond': [255,235,205,1],\n 'blue': [0,0,255,1], 'blueviolet': [138,43,226,1],\n 'brown': [165,42,42,1], 'burlywood': [222,184,135,1],\n 'cadetblue': [95,158,160,1], 'chartreuse': [127,255,0,1],\n 'chocolate': [210,105,30,1], 'coral': [255,127,80,1],\n 'cornflowerblue': [100,149,237,1], 'cornsilk': [255,248,220,1],\n 'crimson': [220,20,60,1], 'cyan': [0,255,255,1],\n 'darkblue': [0,0,139,1], 'darkcyan': [0,139,139,1],\n 'darkgoldenrod': [184,134,11,1], 'darkgray': [169,169,169,1],\n 'darkgreen': [0,100,0,1], 'darkgrey': [169,169,169,1],\n 'darkkhaki': [189,183,107,1], 'darkmagenta': [139,0,139,1],\n 'darkolivegreen': [85,107,47,1], 'darkorange': [255,140,0,1],\n 'darkorchid': [153,50,204,1], 'darkred': [139,0,0,1],\n 'darksalmon': [233,150,122,1], 'darkseagreen': [143,188,143,1],\n 'darkslateblue': [72,61,139,1], 'darkslategray': [47,79,79,1],\n 'darkslategrey': [47,79,79,1], 'darkturquoise': [0,206,209,1],\n 'darkviolet': [148,0,211,1], 'deeppink': [255,20,147,1],\n 'deepskyblue': [0,191,255,1], 'dimgray': [105,105,105,1],\n 'dimgrey': [105,105,105,1], 'dodgerblue': [30,144,255,1],\n 'firebrick': [178,34,34,1], 'floralwhite': [255,250,240,1],\n 'forestgreen': [34,139,34,1], 'fuchsia': [255,0,255,1],\n 'gainsboro': [220,220,220,1], 'ghostwhite': [248,248,255,1],\n 'gold': [255,215,0,1], 'goldenrod': [218,165,32,1],\n 'gray': [128,128,128,1], 'green': [0,128,0,1],\n 'greenyellow': [173,255,47,1], 'grey': [128,128,128,1],\n 'honeydew': [240,255,240,1], 'hotpink': [255,105,180,1],\n 'indianred': [205,92,92,1], 'indigo': [75,0,130,1],\n 'ivory': [255,255,240,1], 'khaki': [240,230,140,1],\n 'lavender': [230,230,250,1], 'lavenderblush': [255,240,245,1],\n 'lawngreen': [124,252,0,1], 'lemonchiffon': [255,250,205,1],\n 'lightblue': [173,216,230,1], 'lightcoral': [240,128,128,1],\n 'lightcyan': [224,255,255,1], 'lightgoldenrodyellow': [250,250,210,1],\n 'lightgray': [211,211,211,1], 'lightgreen': [144,238,144,1],\n 'lightgrey': [211,211,211,1], 'lightpink': [255,182,193,1],\n 'lightsalmon': [255,160,122,1], 'lightseagreen': [32,178,170,1],\n 'lightskyblue': [135,206,250,1], 'lightslategray': [119,136,153,1],\n 'lightslategrey': [119,136,153,1], 'lightsteelblue': [176,196,222,1],\n 'lightyellow': [255,255,224,1], 'lime': [0,255,0,1],\n 'limegreen': [50,205,50,1], 'linen': [250,240,230,1],\n 'magenta': [255,0,255,1], 'maroon': [128,0,0,1],\n 'mediumaquamarine': [102,205,170,1], 'mediumblue': [0,0,205,1],\n 'mediumorchid': [186,85,211,1], 'mediumpurple': [147,112,219,1],\n 'mediumseagreen': [60,179,113,1], 'mediumslateblue': [123,104,238,1],\n 'mediumspringgreen': [0,250,154,1], 'mediumturquoise': [72,209,204,1],\n 'mediumvioletred': [199,21,133,1], 'midnightblue': [25,25,112,1],\n 'mintcream': [245,255,250,1], 'mistyrose': [255,228,225,1],\n 'moccasin': [255,228,181,1], 'navajowhite': [255,222,173,1],\n 'navy': [0,0,128,1], 'oldlace': [253,245,230,1],\n 'olive': [128,128,0,1], 'olivedrab': [107,142,35,1],\n 'orange': [255,165,0,1], 'orangered': [255,69,0,1],\n 'orchid': [218,112,214,1], 'palegoldenrod': [238,232,170,1],\n 'palegreen': [152,251,152,1], 'paleturquoise': [175,238,238,1],\n 'palevioletred': [219,112,147,1], 'papayawhip': [255,239,213,1],\n 'peachpuff': [255,218,185,1], 'peru': [205,133,63,1],\n 'pink': [255,192,203,1], 'plum': [221,160,221,1],\n 'powderblue': [176,224,230,1], 'purple': [128,0,128,1],\n 'red': [255,0,0,1], 'rosybrown': [188,143,143,1],\n 'royalblue': [65,105,225,1], 'saddlebrown': [139,69,19,1],\n 'salmon': [250,128,114,1], 'sandybrown': [244,164,96,1],\n 'seagreen': [46,139,87,1], 'seashell': [255,245,238,1],\n 'sienna': [160,82,45,1], 'silver': [192,192,192,1],\n 'skyblue': [135,206,235,1], 'slateblue': [106,90,205,1],\n 'slategray': [112,128,144,1], 'slategrey': [112,128,144,1],\n 'snow': [255,250,250,1], 'springgreen': [0,255,127,1],\n 'steelblue': [70,130,180,1], 'tan': [210,180,140,1],\n 'teal': [0,128,128,1], 'thistle': [216,191,216,1],\n 'tomato': [255,99,71,1], 'turquoise': [64,224,208,1],\n 'violet': [238,130,238,1], 'wheat': [245,222,179,1],\n 'white': [255,255,255,1], 'whitesmoke': [245,245,245,1],\n 'yellow': [255,255,0,1], 'yellowgreen': [154,205,50,1]\n};\n\nfunction clampCssByte(i) { // Clamp to integer 0 .. 255.\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\n return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clampCssAngle(i) { // Clamp to integer 0 .. 360.\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\n return i < 0 ? 0 : i > 360 ? 360 : i;\n}\n\nfunction clampCssFloat(f) { // Clamp to float 0.0 .. 1.0.\n return f < 0 ? 0 : f > 1 ? 1 : f;\n}\n\nfunction parseCssInt(str) { // int or percentage.\n if (str.length && str.charAt(str.length - 1) === '%') {\n return clampCssByte(parseFloat(str) / 100 * 255);\n }\n return clampCssByte(parseInt(str, 10));\n}\n\nfunction parseCssFloat(str) { // float or percentage.\n if (str.length && str.charAt(str.length - 1) === '%') {\n return clampCssFloat(parseFloat(str) / 100);\n }\n return clampCssFloat(parseFloat(str));\n}\n\nfunction cssHueToRgb(m1, m2, h) {\n if (h < 0) {\n h += 1;\n }\n else if (h > 1) {\n h -= 1;\n }\n\n if (h * 6 < 1) {\n return m1 + (m2 - m1) * h * 6;\n }\n if (h * 2 < 1) {\n return m2;\n }\n if (h * 3 < 2) {\n return m1 + (m2 - m1) * (2/3 - h) * 6;\n }\n return m1;\n}\n\nfunction lerpNumber(a, b, p) {\n return a + (b - a) * p;\n}\n\nfunction setRgba(out, r, g, b, a) {\n out[0] = r; out[1] = g; out[2] = b; out[3] = a;\n return out;\n}\nfunction copyRgba(out, a) {\n out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3];\n return out;\n}\n\nvar colorCache = new __WEBPACK_IMPORTED_MODULE_0__core_LRU__[\"a\" /* default */](20);\nvar lastRemovedArr = null;\n\nfunction putToCache(colorStr, rgbaArr) {\n // Reuse removed array\n if (lastRemovedArr) {\n copyRgba(lastRemovedArr, rgbaArr);\n }\n lastRemovedArr = colorCache.put(colorStr, lastRemovedArr || (rgbaArr.slice()));\n}\n\n/**\n * @name clay.core.color.parse\n * @param {string} colorStr\n * @param {Array.} out\n * @return {Array.}\n */\ncolorUtil.parse = function (colorStr, rgbaArr) {\n if (!colorStr) {\n return;\n }\n rgbaArr = rgbaArr || [];\n\n var cached = colorCache.get(colorStr);\n if (cached) {\n return copyRgba(rgbaArr, cached);\n }\n\n // colorStr may be not string\n colorStr = colorStr + '';\n // Remove all whitespace, not compliant, but should just be more accepting.\n var str = colorStr.replace(/ /g, '').toLowerCase();\n\n // Color keywords (and transparent) lookup.\n if (str in kCSSColorTable) {\n copyRgba(rgbaArr, kCSSColorTable[str]);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n }\n\n // #abc and #abc123 syntax.\n if (str.charAt(0) === '#') {\n if (str.length === 4) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xfff)) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return; // Covers NaN.\n }\n setRgba(rgbaArr,\n ((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8),\n (iv & 0xf0) | ((iv & 0xf0) >> 4),\n (iv & 0xf) | ((iv & 0xf) << 4),\n 1\n );\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n }\n else if (str.length === 7) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xffffff)) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return; // Covers NaN.\n }\n setRgba(rgbaArr,\n (iv & 0xff0000) >> 16,\n (iv & 0xff00) >> 8,\n iv & 0xff,\n 1\n );\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n }\n\n return;\n }\n var op = str.indexOf('('), ep = str.indexOf(')');\n if (op !== -1 && ep + 1 === str.length) {\n var fname = str.substr(0, op);\n var params = str.substr(op + 1, ep - (op + 1)).split(',');\n var alpha = 1; // To allow case fallthrough.\n switch (fname) {\n case 'rgba':\n if (params.length !== 4) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n alpha = parseCssFloat(params.pop()); // jshint ignore:line\n // Fall through.\n case 'rgb':\n if (params.length !== 3) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n setRgba(rgbaArr,\n parseCssInt(params[0]),\n parseCssInt(params[1]),\n parseCssInt(params[2]),\n alpha\n );\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n case 'hsla':\n if (params.length !== 4) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n params[3] = parseCssFloat(params[3]);\n hsla2rgba(params, rgbaArr);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n case 'hsl':\n if (params.length !== 3) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n hsla2rgba(params, rgbaArr);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n default:\n return;\n }\n }\n\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n};\n\ncolorUtil.parseToFloat = function (colorStr, rgbaArr) {\n rgbaArr = colorUtil.parse(colorStr, rgbaArr);\n if (!rgbaArr) {\n return;\n }\n rgbaArr[0] /= 255;\n rgbaArr[1] /= 255;\n rgbaArr[2] /= 255;\n return rgbaArr;\n}\n\n/**\n * @name clay.core.color.hsla2rgba\n * @param {Array.} hsla\n * @param {Array.} rgba\n * @return {Array.} rgba\n */\nfunction hsla2rgba(hsla, rgba) {\n var h = (((parseFloat(hsla[0]) % 360) + 360) % 360) / 360; // 0 .. 1\n // NOTE(deanm): According to the CSS spec s/l should only be\n // percentages, but we don't bother and let float or percentage.\n var s = parseCssFloat(hsla[1]);\n var l = parseCssFloat(hsla[2]);\n var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var m1 = l * 2 - m2;\n\n rgba = rgba || [];\n setRgba(rgba,\n clampCssByte(cssHueToRgb(m1, m2, h + 1 / 3) * 255),\n clampCssByte(cssHueToRgb(m1, m2, h) * 255),\n clampCssByte(cssHueToRgb(m1, m2, h - 1 / 3) * 255),\n 1\n );\n\n if (hsla.length === 4) {\n rgba[3] = hsla[3];\n }\n\n return rgba;\n}\n\n/**\n * @name clay.core.color.rgba2hsla\n * @param {Array.} rgba\n * @return {Array.} hsla\n */\nfunction rgba2hsla(rgba) {\n if (!rgba) {\n return;\n }\n\n // RGB from 0 to 255\n var R = rgba[0] / 255;\n var G = rgba[1] / 255;\n var B = rgba[2] / 255;\n\n var vMin = Math.min(R, G, B); // Min. value of RGB\n var vMax = Math.max(R, G, B); // Max. value of RGB\n var delta = vMax - vMin; // Delta RGB value\n\n var L = (vMax + vMin) / 2;\n var H;\n var S;\n // HSL results from 0 to 1\n if (delta === 0) {\n H = 0;\n S = 0;\n }\n else {\n if (L < 0.5) {\n S = delta / (vMax + vMin);\n }\n else {\n S = delta / (2 - vMax - vMin);\n }\n\n var deltaR = (((vMax - R) / 6) + (delta / 2)) / delta;\n var deltaG = (((vMax - G) / 6) + (delta / 2)) / delta;\n var deltaB = (((vMax - B) / 6) + (delta / 2)) / delta;\n\n if (R === vMax) {\n H = deltaB - deltaG;\n }\n else if (G === vMax) {\n H = (1 / 3) + deltaR - deltaB;\n }\n else if (B === vMax) {\n H = (2 / 3) + deltaG - deltaR;\n }\n\n if (H < 0) {\n H += 1;\n }\n\n if (H > 1) {\n H -= 1;\n }\n }\n\n var hsla = [H * 360, S, L];\n\n if (rgba[3] != null) {\n hsla.push(rgba[3]);\n }\n\n return hsla;\n}\n\n/**\n * @name clay.core.color.lift\n * @param {string} color\n * @param {number} level\n * @return {string}\n */\ncolorUtil.lift = function (color, level) {\n var colorArr = colorUtil.parse(color);\n if (colorArr) {\n for (var i = 0; i < 3; i++) {\n if (level < 0) {\n colorArr[i] = colorArr[i] * (1 - level) | 0;\n }\n else {\n colorArr[i] = ((255 - colorArr[i]) * level + colorArr[i]) | 0;\n }\n }\n return colorUtil.stringify(colorArr, colorArr.length === 4 ? 'rgba' : 'rgb');\n }\n}\n\n/**\n * @name clay.core.color.toHex\n * @param {string} color\n * @return {string}\n */\ncolorUtil.toHex = function (color) {\n var colorArr = colorUtil.parse(color);\n if (colorArr) {\n return ((1 << 24) + (colorArr[0] << 16) + (colorArr[1] << 8) + (+colorArr[2])).toString(16).slice(1);\n }\n};\n\n/**\n * Map value to color. Faster than lerp methods because color is represented by rgba array.\n * @name clay.core.color\n * @param {number} normalizedValue A float between 0 and 1.\n * @param {Array.>} colors List of rgba color array\n * @param {Array.} [out] Mapped gba color array\n * @return {Array.} will be null/undefined if input illegal.\n */\ncolorUtil.fastLerp = function (normalizedValue, colors, out) {\n if (!(colors && colors.length)\n || !(normalizedValue >= 0 && normalizedValue <= 1)\n ) {\n return;\n }\n\n out = out || [];\n\n var value = normalizedValue * (colors.length - 1);\n var leftIndex = Math.floor(value);\n var rightIndex = Math.ceil(value);\n var leftColor = colors[leftIndex];\n var rightColor = colors[rightIndex];\n var dv = value - leftIndex;\n out[0] = clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv));\n out[1] = clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv));\n out[2] = clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv));\n out[3] = clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv));\n\n return out;\n}\n\ncolorUtil.fastMapToColor = colorUtil.fastLerp;\n\n/**\n * @param {number} normalizedValue A float between 0 and 1.\n * @param {Array.} colors Color list.\n * @param {boolean=} fullOutput Default false.\n * @return {(string|Object)} Result color. If fullOutput,\n * return {color: ..., leftIndex: ..., rightIndex: ..., value: ...},\n */\ncolorUtil.lerp = function (normalizedValue, colors, fullOutput) {\n if (!(colors && colors.length)\n || !(normalizedValue >= 0 && normalizedValue <= 1)\n ) {\n return;\n }\n\n var value = normalizedValue * (colors.length - 1);\n var leftIndex = Math.floor(value);\n var rightIndex = Math.ceil(value);\n var leftColor = colorUtil.parse(colors[leftIndex]);\n var rightColor = colorUtil.parse(colors[rightIndex]);\n var dv = value - leftIndex;\n\n var color = colorUtil.stringify(\n [\n clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv)),\n clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv)),\n clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv)),\n clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv))\n ],\n 'rgba'\n );\n\n return fullOutput\n ? {\n color: color,\n leftIndex: leftIndex,\n rightIndex: rightIndex,\n value: value\n }\n : color;\n}\n\n/**\n * @deprecated\n */\ncolorUtil.mapToColor = colorUtil.lerp;\n\n/**\n * @name clay.core.color\n * @param {string} color\n * @param {number=} h 0 ~ 360, ignore when null.\n * @param {number=} s 0 ~ 1, ignore when null.\n * @param {number=} l 0 ~ 1, ignore when null.\n * @return {string} Color string in rgba format.\n */\ncolorUtil.modifyHSL = function (color, h, s, l) {\n color = colorUtil.parse(color);\n\n if (color) {\n color = rgba2hsla(color);\n h != null && (color[0] = clampCssAngle(h));\n s != null && (color[1] = parseCssFloat(s));\n l != null && (color[2] = parseCssFloat(l));\n\n return colorUtil.stringify(hsla2rgba(color), 'rgba');\n }\n}\n\n/**\n * @param {string} color\n * @param {number=} alpha 0 ~ 1\n * @return {string} Color string in rgba format.\n */\ncolorUtil.modifyAlpha = function (color, alpha) {\n color = colorUtil.parse(color);\n\n if (color && alpha != null) {\n color[3] = clampCssFloat(alpha);\n return colorUtil.stringify(color, 'rgba');\n }\n}\n\n/**\n * @param {Array.} arrColor like [12,33,44,0.4]\n * @param {string} type 'rgba', 'hsva', ...\n * @return {string} Result color. (If input illegal, return undefined).\n */\ncolorUtil.stringify = function (arrColor, type) {\n if (!arrColor || !arrColor.length) {\n return;\n }\n var colorStr = arrColor[0] + ',' + arrColor[1] + ',' + arrColor[2];\n if (type === 'rgba' || type === 'hsva' || type === 'hsla') {\n colorStr += ',' + arrColor[3];\n }\n return type + '(' + colorStr + ')';\n};\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (colorUtil);\n\n/***/ }),\n/* 114 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * Simple double linked list. Compared with array, it has O(1) remove operation.\n * @constructor\n * @alias clay.core.LinkedList\n */\nvar LinkedList = function () {\n\n /**\n * @type {clay.core.LinkedList.Entry}\n */\n this.head = null;\n\n /**\n * @type {clay.core.LinkedList.Entry}\n */\n this.tail = null;\n\n this._length = 0;\n};\n\n/**\n * Insert a new value at the tail\n * @param {} val\n * @return {clay.core.LinkedList.Entry}\n */\nLinkedList.prototype.insert = function (val) {\n var entry = new LinkedList.Entry(val);\n this.insertEntry(entry);\n return entry;\n};\n\n/**\n * Insert a new value at idx\n * @param {number} idx\n * @param {} val\n * @return {clay.core.LinkedList.Entry}\n */\nLinkedList.prototype.insertAt = function (idx, val) {\n if (idx < 0) {\n return;\n }\n var next = this.head;\n var cursor = 0;\n while (next && cursor != idx) {\n next = next.next;\n cursor++;\n }\n if (next) {\n var entry = new LinkedList.Entry(val);\n var prev = next.prev;\n if (!prev) { //next is head\n this.head = entry;\n }\n else {\n prev.next = entry;\n entry.prev = prev;\n }\n entry.next = next;\n next.prev = entry;\n }\n else {\n this.insert(val);\n }\n};\n\nLinkedList.prototype.insertBeforeEntry = function (val, next) {\n var entry = new LinkedList.Entry(val);\n var prev = next.prev;\n if (!prev) { //next is head\n this.head = entry;\n }\n else {\n prev.next = entry;\n entry.prev = prev;\n }\n entry.next = next;\n next.prev = entry;\n\n this._length++;\n};\n\n/**\n * Insert an entry at the tail\n * @param {clay.core.LinkedList.Entry} entry\n */\nLinkedList.prototype.insertEntry = function (entry) {\n if (!this.head) {\n this.head = this.tail = entry;\n }\n else {\n this.tail.next = entry;\n entry.prev = this.tail;\n this.tail = entry;\n }\n this._length++;\n};\n\n/**\n * Remove entry.\n * @param {clay.core.LinkedList.Entry} entry\n */\nLinkedList.prototype.remove = function (entry) {\n var prev = entry.prev;\n var next = entry.next;\n if (prev) {\n prev.next = next;\n }\n else {\n // Is head\n this.head = next;\n }\n if (next) {\n next.prev = prev;\n }\n else {\n // Is tail\n this.tail = prev;\n }\n entry.next = entry.prev = null;\n this._length--;\n};\n\n/**\n * Remove entry at index.\n * @param {number} idx\n * @return {}\n */\nLinkedList.prototype.removeAt = function (idx) {\n if (idx < 0) {\n return;\n }\n var curr = this.head;\n var cursor = 0;\n while (curr && cursor != idx) {\n curr = curr.next;\n cursor++;\n }\n if (curr) {\n this.remove(curr);\n return curr.value;\n }\n};\n/**\n * Get head value\n * @return {}\n */\nLinkedList.prototype.getHead = function () {\n if (this.head) {\n return this.head.value;\n }\n};\n/**\n * Get tail value\n * @return {}\n */\nLinkedList.prototype.getTail = function () {\n if (this.tail) {\n return this.tail.value;\n }\n};\n/**\n * Get value at idx\n * @param {number} idx\n * @return {}\n */\nLinkedList.prototype.getAt = function (idx) {\n if (idx < 0) {\n return;\n }\n var curr = this.head;\n var cursor = 0;\n while (curr && cursor != idx) {\n curr = curr.next;\n cursor++;\n }\n return curr.value;\n};\n\n/**\n * @param {} value\n * @return {number}\n */\nLinkedList.prototype.indexOf = function (value) {\n var curr = this.head;\n var cursor = 0;\n while (curr) {\n if (curr.value === value) {\n return cursor;\n }\n curr = curr.next;\n cursor++;\n }\n};\n\n/**\n * @return {number}\n */\nLinkedList.prototype.length = function () {\n return this._length;\n};\n\n/**\n * If list is empty\n */\nLinkedList.prototype.isEmpty = function () {\n return this._length === 0;\n};\n\n/**\n * @param {Function} cb\n * @param {} context\n */\nLinkedList.prototype.forEach = function (cb, context) {\n var curr = this.head;\n var idx = 0;\n var haveContext = typeof(context) != 'undefined';\n while (curr) {\n if (haveContext) {\n cb.call(context, curr.value, idx);\n }\n else {\n cb(curr.value, idx);\n }\n curr = curr.next;\n idx++;\n }\n};\n\n/**\n * Clear the list\n */\nLinkedList.prototype.clear = function () {\n this.tail = this.head = null;\n this._length = 0;\n};\n\n/**\n * @constructor\n * @param {} val\n */\nLinkedList.Entry = function (val) {\n /**\n * @type {}\n */\n this.value = val;\n\n /**\n * @type {clay.core.LinkedList.Entry}\n */\n this.next = null;\n\n /**\n * @type {clay.core.LinkedList.Entry}\n */\n this.prev = null;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (LinkedList);\n\n\n/***/ }),\n/* 115 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__GLProgram__ = __webpack_require__(116);\n\n\nvar loopRegex = /for\\s*?\\(int\\s*?_idx_\\s*\\=\\s*([\\w-]+)\\;\\s*_idx_\\s*<\\s*([\\w-]+);\\s*_idx_\\s*\\+\\+\\s*\\)\\s*\\{\\{([\\s\\S]+?)(?=\\}\\})\\}\\}/g;\n\nfunction unrollLoop(shaderStr, defines, lightsNumbers) {\n // Loop unroll from three.js, https://github.com/mrdoob/three.js/blob/master/src/renderers/webgl/WebGLProgram.js#L175\n // In some case like shadowMap in loop use 'i' to index value much slower.\n\n // Loop use _idx_ and increased with _idx_++ will be unrolled\n // Use {{ }} to match the pair so the if statement will not be affected\n // Write like following\n // for (int _idx_ = 0; _idx_ < 4; _idx_++) {{\n // vec3 color = texture2D(textures[_idx_], uv).rgb;\n // }}\n function replace(match, start, end, snippet) {\n var unroll = '';\n // Try to treat as define\n if (isNaN(start)) {\n if (start in defines) {\n start = defines[start];\n }\n else {\n start = lightNumberDefines[start];\n }\n }\n if (isNaN(end)) {\n if (end in defines) {\n end = defines[end];\n }\n else {\n end = lightNumberDefines[end];\n }\n }\n // TODO Error checking\n\n for (var idx = parseInt(start); idx < parseInt(end); idx++) {\n // PENDING Add scope?\n unroll += '{'\n + snippet\n .replace(/float\\s*\\(\\s*_idx_\\s*\\)/g, idx.toFixed(1))\n .replace(/_idx_/g, idx)\n + '}';\n }\n\n return unroll;\n }\n\n var lightNumberDefines = {};\n for (var lightType in lightsNumbers) {\n lightNumberDefines[lightType + '_COUNT'] = lightsNumbers[lightType];\n }\n return shaderStr.replace(loopRegex, replace);\n}\n\nfunction getDefineCode(defines, lightsNumbers, enabledTextures) {\n var defineStr = [];\n if (lightsNumbers) {\n for (var lightType in lightsNumbers) {\n var count = lightsNumbers[lightType];\n if (count > 0) {\n defineStr.push('#define ' + lightType.toUpperCase() + '_COUNT ' + count);\n }\n }\n }\n if (enabledTextures) {\n for (var i = 0; i < enabledTextures.length; i++) {\n var symbol = enabledTextures[i];\n defineStr.push('#define ' + symbol.toUpperCase() + '_ENABLED');\n }\n }\n // Custom Defines\n for (var symbol in defines) {\n var value = defines[symbol];\n if (value === null) {\n defineStr.push('#define ' + symbol);\n }\n else{\n defineStr.push('#define ' + symbol + ' ' + value.toString());\n }\n }\n return defineStr.join('\\n');\n}\n\nfunction getExtensionCode(exts) {\n // Extension declaration must before all non-preprocessor codes\n // TODO vertex ? extension enum ?\n var extensionStr = [];\n for (var i = 0; i < exts.length; i++) {\n extensionStr.push('#extension GL_' + exts[i] + ' : enable');\n }\n return extensionStr.join('\\n');\n}\n\nfunction getPrecisionCode(precision) {\n return ['precision', precision, 'float'].join(' ') + ';\\n'\n + ['precision', precision, 'int'].join(' ') + ';\\n'\n // depth texture may have precision problem on iOS device.\n + ['precision', precision, 'sampler2D'].join(' ') + ';\\n';\n}\n\nfunction ProgramManager(renderer) {\n this._renderer = renderer;\n this._cache = {};\n}\n\nProgramManager.prototype.getProgram = function (renderable, material, scene) {\n var cache = this._cache;\n\n var isSkinnedMesh = renderable.isSkinnedMesh && renderable.isSkinnedMesh();\n var key = 's' + material.shader.shaderID + 'm' + material.getProgramKey();\n if (scene) {\n key += 'se' + scene.getProgramKey(renderable.lightGroup);\n }\n if (isSkinnedMesh) {\n key += ',' + renderable.joints.length;\n }\n var program = cache[key];\n\n if (program) {\n return program;\n }\n\n var lightsNumbers = scene ? scene.getLightsNumbers(renderable.lightGroup) : {};\n var renderer = this._renderer;\n var _gl = renderer.gl;\n var enabledTextures = material.getEnabledTextures();\n var skinDefineCode = '';\n if (isSkinnedMesh) {\n var skinDefines = {\n SKINNING: null,\n JOINT_COUNT: renderable.joints.length\n };\n if (renderable.joints.length > renderer.getMaxJointNumber()) {\n skinDefines.USE_SKIN_MATRICES_TEXTURE = null;\n }\n // TODO Add skinning code?\n skinDefineCode = '\\n' + getDefineCode(skinDefines) + '\\n';\n }\n // TODO Optimize key generation\n // VERTEX\n var vertexDefineStr = skinDefineCode + getDefineCode(material.vertexDefines, lightsNumbers, enabledTextures);\n // FRAGMENT\n var fragmentDefineStr = skinDefineCode + getDefineCode(material.fragmentDefines, lightsNumbers, enabledTextures);\n\n var vertexCode = vertexDefineStr + '\\n' + material.shader.vertex;\n\n var extensions = [\n 'OES_standard_derivatives',\n 'EXT_shader_texture_lod'\n ].filter(function (ext) {\n return renderer.getGLExtension(ext) != null;\n });\n\n if (extensions.indexOf('EXT_shader_texture_lod') >= 0) {\n fragmentDefineStr += '\\n#define SUPPORT_TEXTURE_LOD';\n }\n if (extensions.indexOf('OES_standard_derivatives') >= 0) {\n fragmentDefineStr += '\\n#define SUPPORT_STANDARD_DERIVATIVES';\n }\n\n var fragmentCode = getExtensionCode(extensions) + '\\n'\n + getPrecisionCode(material.precision) + '\\n'\n + fragmentDefineStr + '\\n'\n + material.shader.fragment;\n\n var finalVertexCode = unrollLoop(vertexCode, material.vertexDefines, lightsNumbers);\n var finalFragmentCode = unrollLoop(fragmentCode, material.fragmentDefines, lightsNumbers);\n\n var program = new __WEBPACK_IMPORTED_MODULE_0__GLProgram__[\"a\" /* default */]();\n program.uniformSemantics = material.shader.uniformSemantics;\n program.attributes = material.shader.attributes;\n var errorMsg = program.buildProgram(_gl, material.shader, finalVertexCode, finalFragmentCode);\n program.__error = errorMsg;\n\n cache[key] = program;\n\n return program;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (ProgramManager);\n\n/***/ }),\n/* 116 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_vendor__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_Base__ = __webpack_require__(7);\n\n\n\nvar SHADER_STATE_TO_ENABLE = 1;\nvar SHADER_STATE_KEEP_ENABLE = 2;\nvar SHADER_STATE_PENDING = 3;\n\n// Enable attribute operation is global to all programs\n// Here saved the list of all enabled attribute index\n// http://www.mjbshaw.com/2013/03/webgl-fixing-invalidoperation.html\nvar enabledAttributeList = {};\n\n// some util functions\nfunction addLineNumbers(string) {\n var chunks = string.split('\\n');\n for (var i = 0, il = chunks.length; i < il; i ++) {\n // Chrome reports shader errors on lines\n // starting counting from 1\n chunks[i] = (i + 1) + ': ' + chunks[i];\n }\n return chunks.join('\\n');\n}\n\n// Return true or error msg if error happened\nfunction checkShaderErrorMsg(_gl, shader, shaderString) {\n if (!_gl.getShaderParameter(shader, _gl.COMPILE_STATUS)) {\n return [_gl.getShaderInfoLog(shader), addLineNumbers(shaderString)].join('\\n');\n }\n}\n\nvar tmpFloat32Array16 = new __WEBPACK_IMPORTED_MODULE_0__core_vendor__[\"a\" /* default */].Float32Array(16);\n\nvar GLProgram = __WEBPACK_IMPORTED_MODULE_1__core_Base__[\"a\" /* default */].extend({\n\n uniformSemantics: {},\n attributes: {}\n\n}, function () {\n this._locations = {};\n\n this._textureSlot = 0;\n\n this._program = null;\n}, {\n\n bind: function (renderer) {\n this._textureSlot = 0;\n renderer.gl.useProgram(this._program);\n },\n\n hasUniform: function (symbol) {\n var location = this._locations[symbol];\n return location !== null && location !== undefined;\n },\n\n useTextureSlot: function (renderer, texture, slot) {\n if (texture) {\n renderer.gl.activeTexture(renderer.gl.TEXTURE0 + slot);\n // Maybe texture is not loaded yet;\n if (texture.isRenderable()) {\n texture.bind(renderer);\n }\n else {\n // Bind texture to null\n texture.unbind(renderer);\n }\n }\n },\n\n currentTextureSlot: function () {\n return this._textureSlot;\n },\n\n resetTextureSlot: function (slot) {\n this._textureSlot = slot || 0;\n },\n\n takeCurrentTextureSlot: function (renderer, texture) {\n var textureSlot = this._textureSlot;\n\n this.useTextureSlot(renderer, texture, textureSlot);\n\n this._textureSlot++;\n\n return textureSlot;\n },\n\n setUniform: function (_gl, type, symbol, value) {\n var locationMap = this._locations;\n var location = locationMap[symbol];\n // Uniform is not existed in the shader\n if (location === null || location === undefined) {\n return false;\n }\n\n switch (type) {\n case 'm4':\n if (!(value instanceof Float32Array)) {\n // Use Float32Array is much faster than array when uniformMatrix4fv.\n for (var i = 0; i < value.length; i++) {\n tmpFloat32Array16[i] = value[i];\n }\n value = tmpFloat32Array16;\n }\n _gl.uniformMatrix4fv(location, false, value);\n break;\n case '2i':\n _gl.uniform2i(location, value[0], value[1]);\n break;\n case '2f':\n _gl.uniform2f(location, value[0], value[1]);\n break;\n case '3i':\n _gl.uniform3i(location, value[0], value[1], value[2]);\n break;\n case '3f':\n _gl.uniform3f(location, value[0], value[1], value[2]);\n break;\n case '4i':\n _gl.uniform4i(location, value[0], value[1], value[2], value[3]);\n break;\n case '4f':\n _gl.uniform4f(location, value[0], value[1], value[2], value[3]);\n break;\n case '1i':\n _gl.uniform1i(location, value);\n break;\n case '1f':\n _gl.uniform1f(location, value);\n break;\n case '1fv':\n _gl.uniform1fv(location, value);\n break;\n case '1iv':\n _gl.uniform1iv(location, value);\n break;\n case '2iv':\n _gl.uniform2iv(location, value);\n break;\n case '2fv':\n _gl.uniform2fv(location, value);\n break;\n case '3iv':\n _gl.uniform3iv(location, value);\n break;\n case '3fv':\n _gl.uniform3fv(location, value);\n break;\n case '4iv':\n _gl.uniform4iv(location, value);\n break;\n case '4fv':\n _gl.uniform4fv(location, value);\n break;\n case 'm2':\n case 'm2v':\n _gl.uniformMatrix2fv(location, false, value);\n break;\n case 'm3':\n case 'm3v':\n _gl.uniformMatrix3fv(location, false, value);\n break;\n case 'm4v':\n // Raw value\n if (Array.isArray(value) && Array.isArray(value[0])) {\n var array = new __WEBPACK_IMPORTED_MODULE_0__core_vendor__[\"a\" /* default */].Float32Array(value.length * 16);\n var cursor = 0;\n for (var i = 0; i < value.length; i++) {\n var item = value[i];\n for (var j = 0; j < 16; j++) {\n array[cursor++] = item[j];\n }\n }\n _gl.uniformMatrix4fv(location, false, array);\n }\n else { // ArrayBufferView\n _gl.uniformMatrix4fv(location, false, value);\n }\n break;\n }\n return true;\n },\n\n setUniformOfSemantic: function (_gl, semantic, val) {\n var semanticInfo = this.uniformSemantics[semantic];\n if (semanticInfo) {\n return this.setUniform(_gl, semanticInfo.type, semanticInfo.symbol, val);\n }\n return false;\n },\n\n // Used for creating VAO\n // Enable the attributes passed in and disable the rest\n // Example Usage:\n // enableAttributes(renderer, [\"position\", \"texcoords\"])\n enableAttributes: function (renderer, attribList, vao) {\n var _gl = renderer.gl;\n var program = this._program;\n\n var locationMap = this._locations;\n\n var enabledAttributeListInContext;\n if (vao) {\n enabledAttributeListInContext = vao.__enabledAttributeList;\n }\n else {\n enabledAttributeListInContext = enabledAttributeList[renderer.__uid__];\n }\n if (!enabledAttributeListInContext) {\n // In vertex array object context\n // PENDING Each vao object needs to enable attributes again?\n if (vao) {\n enabledAttributeListInContext\n = vao.__enabledAttributeList\n = [];\n }\n else {\n enabledAttributeListInContext\n = enabledAttributeList[renderer.__uid__]\n = [];\n }\n }\n var locationList = [];\n for (var i = 0; i < attribList.length; i++) {\n var symbol = attribList[i];\n if (!this.attributes[symbol]) {\n locationList[i] = -1;\n continue;\n }\n var location = locationMap[symbol];\n if (location == null) {\n location = _gl.getAttribLocation(program, symbol);\n // Attrib location is a number from 0 to ...\n if (location === -1) {\n locationList[i] = -1;\n continue;\n }\n locationMap[symbol] = location;\n }\n locationList[i] = location;\n\n if (!enabledAttributeListInContext[location]) {\n enabledAttributeListInContext[location] = SHADER_STATE_TO_ENABLE;\n }\n else {\n enabledAttributeListInContext[location] = SHADER_STATE_KEEP_ENABLE;\n }\n }\n\n for (var i = 0; i < enabledAttributeListInContext.length; i++) {\n switch(enabledAttributeListInContext[i]){\n case SHADER_STATE_TO_ENABLE:\n _gl.enableVertexAttribArray(i);\n enabledAttributeListInContext[i] = SHADER_STATE_PENDING;\n break;\n case SHADER_STATE_KEEP_ENABLE:\n enabledAttributeListInContext[i] = SHADER_STATE_PENDING;\n break;\n // Expired\n case SHADER_STATE_PENDING:\n _gl.disableVertexAttribArray(i);\n enabledAttributeListInContext[i] = 0;\n break;\n }\n }\n\n return locationList;\n },\n\n buildProgram: function (_gl, shader, vertexShaderCode, fragmentShaderCode) {\n var vertexShader = _gl.createShader(_gl.VERTEX_SHADER);\n var program = _gl.createProgram();\n\n _gl.shaderSource(vertexShader, vertexShaderCode);\n _gl.compileShader(vertexShader);\n\n var fragmentShader = _gl.createShader(_gl.FRAGMENT_SHADER);\n _gl.shaderSource(fragmentShader, fragmentShaderCode);\n _gl.compileShader(fragmentShader);\n\n var msg = checkShaderErrorMsg(_gl, vertexShader, vertexShaderCode);\n if (msg) {\n return msg;\n }\n msg = checkShaderErrorMsg(_gl, fragmentShader, fragmentShaderCode);\n if (msg) {\n return msg;\n }\n\n _gl.attachShader(program, vertexShader);\n _gl.attachShader(program, fragmentShader);\n // Force the position bind to location 0;\n if (shader.attributeSemantics['POSITION']) {\n _gl.bindAttribLocation(program, 0, shader.attributeSemantics['POSITION'].symbol);\n }\n else {\n // Else choose an attribute and bind to location 0;\n var keys = Object.keys(this.attributes);\n _gl.bindAttribLocation(program, 0, keys[0]);\n }\n\n _gl.linkProgram(program);\n\n if (!_gl.getProgramParameter(program, _gl.LINK_STATUS)) {\n return 'Could not link program\\n' + _gl.getProgramInfoLog(program);\n }\n\n // Cache uniform locations\n for (var i = 0; i < shader.uniforms.length; i++) {\n var uniformSymbol = shader.uniforms[i];\n this._locations[uniformSymbol] = _gl.getUniformLocation(program, uniformSymbol);\n }\n\n _gl.deleteShader(vertexShader);\n _gl.deleteShader(fragmentShader);\n\n this._program = program;\n\n // Save code.\n this.vertexCode = vertexShaderCode;\n this.fragmentCode = fragmentShaderCode;\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (GLProgram);\n\n/***/ }),\n/* 117 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_Base__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math_Ray__ = __webpack_require__(54);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__math_Vector2__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__math_Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__math_Matrix4__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Renderable__ = __webpack_require__(72);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__core_glenum__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__glmatrix_vec3__ = __webpack_require__(12);\n\n\n\n\n\n\n\n\n\n/**\n * @constructor clay.picking.RayPicking\n * @extends clay.core.Base\n */\nvar RayPicking = __WEBPACK_IMPORTED_MODULE_0__core_Base__[\"a\" /* default */].extend(/** @lends clay.picking.RayPicking# */{\n /**\n * Target scene\n * @type {clay.Scene}\n */\n scene: null,\n /**\n * Target camera\n * @type {clay.Camera}\n */\n camera: null,\n /**\n * Target renderer\n * @type {clay.Renderer}\n */\n renderer: null\n}, function () {\n this._ray = new __WEBPACK_IMPORTED_MODULE_1__math_Ray__[\"a\" /* default */]();\n this._ndc = new __WEBPACK_IMPORTED_MODULE_2__math_Vector2__[\"a\" /* default */]();\n},\n/** @lends clay.picking.RayPicking.prototype */\n{\n\n /**\n * Pick the nearest intersection object in the scene\n * @param {number} x Mouse position x\n * @param {number} y Mouse position y\n * @param {boolean} [forcePickAll=false] ignore ignorePicking\n * @return {clay.picking.RayPicking~Intersection}\n */\n pick: function (x, y, forcePickAll) {\n var out = this.pickAll(x, y, [], forcePickAll);\n return out[0] || null;\n },\n\n /**\n * Pick all intersection objects, wich will be sorted from near to far\n * @param {number} x Mouse position x\n * @param {number} y Mouse position y\n * @param {Array} [output]\n * @param {boolean} [forcePickAll=false] ignore ignorePicking\n * @return {Array.}\n */\n pickAll: function (x, y, output, forcePickAll) {\n this.renderer.screenToNDC(x, y, this._ndc);\n this.camera.castRay(this._ndc, this._ray);\n\n output = output || [];\n\n this._intersectNode(this.scene, output, forcePickAll || false);\n\n output.sort(this._intersectionCompareFunc);\n\n return output;\n },\n\n _intersectNode: function (node, out, forcePickAll) {\n if ((node instanceof __WEBPACK_IMPORTED_MODULE_5__Renderable__[\"a\" /* default */]) && node.isRenderable()) {\n if ((!node.ignorePicking || forcePickAll)\n && (\n // Only triangle mesh support ray picking\n (node.mode === __WEBPACK_IMPORTED_MODULE_6__core_glenum__[\"a\" /* default */].TRIANGLES && node.geometry.isUseIndices())\n // Or if geometry has it's own pickByRay, pick, implementation\n || node.geometry.pickByRay\n || node.geometry.pick\n )\n ) {\n this._intersectRenderable(node, out);\n }\n }\n for (var i = 0; i < node._children.length; i++) {\n this._intersectNode(node._children[i], out, forcePickAll);\n }\n },\n\n _intersectRenderable: (function () {\n\n var v1 = new __WEBPACK_IMPORTED_MODULE_3__math_Vector3__[\"a\" /* default */]();\n var v2 = new __WEBPACK_IMPORTED_MODULE_3__math_Vector3__[\"a\" /* default */]();\n var v3 = new __WEBPACK_IMPORTED_MODULE_3__math_Vector3__[\"a\" /* default */]();\n var ray = new __WEBPACK_IMPORTED_MODULE_1__math_Ray__[\"a\" /* default */]();\n var worldInverse = new __WEBPACK_IMPORTED_MODULE_4__math_Matrix4__[\"a\" /* default */]();\n\n return function (renderable, out) {\n\n var isSkinnedMesh = renderable.isSkinnedMesh();\n ray.copy(this._ray);\n __WEBPACK_IMPORTED_MODULE_4__math_Matrix4__[\"a\" /* default */].invert(worldInverse, renderable.worldTransform);\n\n // Skinned mesh will ignore the world transform.\n if (!isSkinnedMesh) {\n ray.applyTransform(worldInverse);\n }\n\n var geometry = renderable.geometry;\n\n var bbox = isSkinnedMesh ? renderable.skeleton.boundingBox : geometry.boundingBox;\n\n if (bbox && !ray.intersectBoundingBox(bbox)) {\n return;\n }\n // Use user defined picking algorithm\n if (geometry.pick) {\n geometry.pick(\n this._ndc.x, this._ndc.y,\n this.renderer,\n this.camera,\n renderable, out\n );\n return;\n }\n // Use user defined ray picking algorithm\n else if (geometry.pickByRay) {\n geometry.pickByRay(ray, renderable, out);\n return;\n }\n\n var cullBack = (renderable.cullFace === __WEBPACK_IMPORTED_MODULE_6__core_glenum__[\"a\" /* default */].BACK && renderable.frontFace === __WEBPACK_IMPORTED_MODULE_6__core_glenum__[\"a\" /* default */].CCW)\n || (renderable.cullFace === __WEBPACK_IMPORTED_MODULE_6__core_glenum__[\"a\" /* default */].FRONT && renderable.frontFace === __WEBPACK_IMPORTED_MODULE_6__core_glenum__[\"a\" /* default */].CW);\n\n var point;\n var indices = geometry.indices;\n var positionAttr = geometry.attributes.position;\n var weightAttr = geometry.attributes.weight;\n var jointAttr = geometry.attributes.joint;\n var skinMatricesArray;\n var skinMatrices = [];\n // Check if valid.\n if (!positionAttr || !positionAttr.value || !indices) {\n return;\n }\n if (isSkinnedMesh) {\n skinMatricesArray = renderable.skeleton.getSubSkinMatrices(renderable.__uid__, renderable.joints);\n for (var i = 0; i < renderable.joints.length; i++) {\n skinMatrices[i] = skinMatrices[i] || [];\n for (var k = 0; k < 16; k++) {\n skinMatrices[i][k] = skinMatricesArray[i * 16 + k];\n }\n }\n var pos = [];\n var weight = [];\n var joint = [];\n var skinnedPos = [];\n var tmp = [];\n var skinnedPositionAttr = geometry.attributes.skinnedPosition;\n if (!skinnedPositionAttr || !skinnedPositionAttr.value) {\n geometry.createAttribute('skinnedPosition', 'f', 3);\n skinnedPositionAttr = geometry.attributes.skinnedPosition;\n skinnedPositionAttr.init(geometry.vertexCount);\n }\n for (var i = 0; i < geometry.vertexCount; i++) {\n positionAttr.get(i, pos);\n weightAttr.get(i, weight);\n jointAttr.get(i, joint);\n weight[3] = 1 - weight[0] - weight[1] - weight[2];\n __WEBPACK_IMPORTED_MODULE_7__glmatrix_vec3__[\"a\" /* default */].set(skinnedPos, 0, 0, 0);\n for (var k = 0; k < 4; k++) {\n if (joint[k] >= 0 && weight[k] > 1e-4) {\n __WEBPACK_IMPORTED_MODULE_7__glmatrix_vec3__[\"a\" /* default */].transformMat4(tmp, pos, skinMatrices[joint[k]]);\n __WEBPACK_IMPORTED_MODULE_7__glmatrix_vec3__[\"a\" /* default */].scaleAndAdd(skinnedPos, skinnedPos, tmp, weight[k]);\n }\n }\n skinnedPositionAttr.set(i, skinnedPos);\n }\n }\n\n for (var i = 0; i < indices.length; i += 3) {\n var i1 = indices[i];\n var i2 = indices[i + 1];\n var i3 = indices[i + 2];\n var finalPosAttr = isSkinnedMesh\n ? geometry.attributes.skinnedPosition\n : positionAttr;\n finalPosAttr.get(i1, v1.array);\n finalPosAttr.get(i2, v2.array);\n finalPosAttr.get(i3, v3.array);\n\n if (cullBack) {\n point = ray.intersectTriangle(v1, v2, v3, renderable.culling);\n }\n else {\n point = ray.intersectTriangle(v1, v3, v2, renderable.culling);\n }\n if (point) {\n var pointW = new __WEBPACK_IMPORTED_MODULE_3__math_Vector3__[\"a\" /* default */]();\n if (!isSkinnedMesh) {\n __WEBPACK_IMPORTED_MODULE_3__math_Vector3__[\"a\" /* default */].transformMat4(pointW, point, renderable.worldTransform);\n }\n else {\n // TODO point maybe not right.\n __WEBPACK_IMPORTED_MODULE_3__math_Vector3__[\"a\" /* default */].copy(pointW, point);\n }\n out.push(new RayPicking.Intersection(\n point, pointW, renderable, [i1, i2, i3], i / 3,\n __WEBPACK_IMPORTED_MODULE_3__math_Vector3__[\"a\" /* default */].dist(pointW, this._ray.origin)\n ));\n }\n }\n };\n })(),\n\n _intersectionCompareFunc: function (a, b) {\n return a.distance - b.distance;\n }\n});\n\n/**\n * @constructor clay.picking.RayPicking~Intersection\n * @param {clay.Vector3} point\n * @param {clay.Vector3} pointWorld\n * @param {clay.Node} target\n * @param {Array.} triangle\n * @param {number} triangleIndex\n * @param {number} distance\n */\nRayPicking.Intersection = function (point, pointWorld, target, triangle, triangleIndex, distance) {\n /**\n * Intersection point in local transform coordinates\n * @type {clay.Vector3}\n */\n this.point = point;\n /**\n * Intersection point in world transform coordinates\n * @type {clay.Vector3}\n */\n this.pointWorld = pointWorld;\n /**\n * Intersection scene node\n * @type {clay.Node}\n */\n this.target = target;\n /**\n * Intersection triangle, which is an array of vertex index\n * @type {Array.}\n */\n this.triangle = triangle;\n /**\n * Index of intersection triangle.\n */\n this.triangleIndex = triangleIndex;\n /**\n * Distance from intersection point to ray origin\n * @type {number}\n */\n this.distance = distance;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (RayPicking);\n\n\n/***/ }),\n/* 118 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_Base__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_glenum__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_Cache__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_vendor__ = __webpack_require__(14);\n\n\n\n\n\nfunction getArrayCtorByType (type) {\n return ({\n 'byte': __WEBPACK_IMPORTED_MODULE_3__core_vendor__[\"a\" /* default */].Int8Array,\n 'ubyte': __WEBPACK_IMPORTED_MODULE_3__core_vendor__[\"a\" /* default */].Uint8Array,\n 'short': __WEBPACK_IMPORTED_MODULE_3__core_vendor__[\"a\" /* default */].Int16Array,\n 'ushort': __WEBPACK_IMPORTED_MODULE_3__core_vendor__[\"a\" /* default */].Uint16Array\n })[type] || __WEBPACK_IMPORTED_MODULE_3__core_vendor__[\"a\" /* default */].Float32Array;\n}\n\nfunction makeAttrKey(attrName) {\n return 'attr_' + attrName;\n}\n/**\n * GeometryBase attribute\n * @alias clay.GeometryBase.Attribute\n * @constructor\n */\nfunction Attribute(name, type, size, semantic) {\n /**\n * Attribute name\n * @type {string}\n */\n this.name = name;\n /**\n * Attribute type\n * Possible values:\n * + `'byte'`\n * + `'ubyte'`\n * + `'short'`\n * + `'ushort'`\n * + `'float'` Most commonly used.\n * @type {string}\n */\n this.type = type;\n /**\n * Size of attribute component. 1 - 4.\n * @type {number}\n */\n this.size = size;\n /**\n * Semantic of this attribute.\n * Possible values:\n * + `'POSITION'`\n * + `'NORMAL'`\n * + `'BINORMAL'`\n * + `'TANGENT'`\n * + `'TEXCOORD'`\n * + `'TEXCOORD_0'`\n * + `'TEXCOORD_1'`\n * + `'COLOR'`\n * + `'JOINT'`\n * + `'WEIGHT'`\n *\n * In shader, attribute with same semantic will be automatically mapped. For example:\n * ```glsl\n * attribute vec3 pos: POSITION\n * ```\n * will use the attribute value with semantic POSITION in geometry, no matter what name it used.\n * @type {string}\n */\n this.semantic = semantic || '';\n\n /**\n * Value of the attribute.\n * @type {TypedArray}\n */\n this.value = null;\n\n // Init getter setter\n switch (size) {\n case 1:\n this.get = function (idx) {\n return this.value[idx];\n };\n this.set = function (idx, value) {\n this.value[idx] = value;\n };\n // Copy from source to target\n this.copy = function (target, source) {\n this.value[target] = this.value[target];\n };\n break;\n case 2:\n this.get = function (idx, out) {\n var arr = this.value;\n out[0] = arr[idx * 2];\n out[1] = arr[idx * 2 + 1];\n return out;\n };\n this.set = function (idx, val) {\n var arr = this.value;\n arr[idx * 2] = val[0];\n arr[idx * 2 + 1] = val[1];\n };\n this.copy = function (target, source) {\n var arr = this.value;\n source *= 2;\n target *= 2;\n arr[target] = arr[source];\n arr[target + 1] = arr[source + 1];\n };\n break;\n case 3:\n this.get = function (idx, out) {\n var idx3 = idx * 3;\n var arr = this.value;\n out[0] = arr[idx3];\n out[1] = arr[idx3 + 1];\n out[2] = arr[idx3 + 2];\n return out;\n };\n this.set = function (idx, val) {\n var idx3 = idx * 3;\n var arr = this.value;\n arr[idx3] = val[0];\n arr[idx3 + 1] = val[1];\n arr[idx3 + 2] = val[2];\n };\n this.copy = function (target, source) {\n var arr = this.value;\n source *= 3;\n target *= 3;\n arr[target] = arr[source];\n arr[target + 1] = arr[source + 1];\n arr[target + 2] = arr[source + 2];\n };\n break;\n case 4:\n this.get = function (idx, out) {\n var arr = this.value;\n var idx4 = idx * 4;\n out[0] = arr[idx4];\n out[1] = arr[idx4 + 1];\n out[2] = arr[idx4 + 2];\n out[3] = arr[idx4 + 3];\n return out;\n };\n this.set = function (idx, val) {\n var arr = this.value;\n var idx4 = idx * 4;\n arr[idx4] = val[0];\n arr[idx4 + 1] = val[1];\n arr[idx4 + 2] = val[2];\n arr[idx4 + 3] = val[3];\n };\n this.copy = function (target, source) {\n var arr = this.value;\n source *= 4;\n target *= 4;\n // copyWithin is extremely slow\n arr[target] = arr[source];\n arr[target + 1] = arr[source + 1];\n arr[target + 2] = arr[source + 2];\n arr[target + 3] = arr[source + 3];\n };\n }\n}\n\n/**\n * Set item value at give index. Second parameter val is number if size is 1\n * @function\n * @name clay.GeometryBase.Attribute#set\n * @param {number} idx\n * @param {number[]|number} val\n * @example\n * geometry.getAttribute('position').set(0, [1, 1, 1]);\n */\n\n/**\n * Get item value at give index. Second parameter out is no need if size is 1\n * @function\n * @name clay.GeometryBase.Attribute#set\n * @param {number} idx\n * @param {number[]} [out]\n * @example\n * geometry.getAttribute('position').get(0, out);\n */\n\n/**\n * Initialize attribute with given vertex count\n * @param {number} nVertex\n */\nAttribute.prototype.init = function (nVertex) {\n if (!this.value || this.value.length != nVertex * this.size) {\n var ArrayConstructor = getArrayCtorByType(this.type);\n this.value = new ArrayConstructor(nVertex * this.size);\n }\n};\n\n/**\n * Initialize attribute with given array. Which can be 1 dimensional or 2 dimensional\n * @param {Array} array\n * @example\n * geometry.getAttribute('position').fromArray(\n * [-1, 0, 0, 1, 0, 0, 0, 1, 0]\n * );\n * geometry.getAttribute('position').fromArray(\n * [ [-1, 0, 0], [1, 0, 0], [0, 1, 0] ]\n * );\n */\nAttribute.prototype.fromArray = function (array) {\n var ArrayConstructor = getArrayCtorByType(this.type);\n var value;\n // Convert 2d array to flat\n if (array[0] && (array[0].length)) {\n var n = 0;\n var size = this.size;\n value = new ArrayConstructor(array.length * size);\n for (var i = 0; i < array.length; i++) {\n for (var j = 0; j < size; j++) {\n value[n++] = array[i][j];\n }\n }\n }\n else {\n value = new ArrayConstructor(array);\n }\n this.value = value;\n};\n\nAttribute.prototype.clone = function(copyValue) {\n var ret = new Attribute(this.name, this.type, this.size, this.semantic);\n // FIXME\n if (copyValue) {\n console.warn('todo');\n }\n return ret;\n};\n\nfunction AttributeBuffer(name, type, buffer, size, semantic) {\n this.name = name;\n this.type = type;\n this.buffer = buffer;\n this.size = size;\n this.semantic = semantic;\n\n // To be set in mesh\n // symbol in the shader\n this.symbol = '';\n\n // Needs remove flag\n this.needsRemove = false;\n}\n\nfunction IndicesBuffer(buffer) {\n this.buffer = buffer;\n this.count = 0;\n}\n\n/**\n * Base of all geometry. Use {@link clay.Geometry} for common 3D usage.\n * @constructor clay.GeometryBase\n * @extends clay.core.Base\n */\nvar GeometryBase = __WEBPACK_IMPORTED_MODULE_0__core_Base__[\"a\" /* default */].extend(function () {\n return /** @lends clay.GeometryBase# */ {\n /**\n * Attributes of geometry.\n * @type {Object.}\n */\n attributes: {},\n\n /**\n * Indices of geometry.\n * @type {Uint16Array|Uint32Array}\n */\n indices: null,\n\n /**\n * Is vertices data dynamically updated.\n * Attributes value can't be changed after first render if dyanmic is false.\n * @type {boolean}\n */\n dynamic: true,\n\n _enabledAttributes: null,\n\n // PENDING\n // Init it here to avoid deoptimization when it's assigned in application dynamically\n __used: 0\n };\n}, function() {\n // Use cache\n this._cache = new __WEBPACK_IMPORTED_MODULE_2__core_Cache__[\"a\" /* default */]();\n\n this._attributeList = Object.keys(this.attributes);\n\n this.__vaoCache = {};\n},\n/** @lends clay.GeometryBase.prototype */\n{\n /**\n * Main attribute will be used to count vertex number\n * @type {string}\n */\n mainAttribute: '',\n /**\n * User defined picking algorithm instead of default\n * triangle ray intersection\n * x, y are NDC.\n * ```typescript\n * (x, y, renderer, camera, renderable, out) => boolean\n * ```\n * @type {?Function}\n */\n pick: null,\n\n /**\n * User defined ray picking algorithm instead of default\n * triangle ray intersection\n * ```typescript\n * (ray: clay.Ray, renderable: clay.Renderable, out: Array) => boolean\n * ```\n * @type {?Function}\n */\n pickByRay: null,\n\n /**\n * Mark attributes and indices in geometry needs to update.\n * Usually called after you change the data in attributes.\n */\n dirty: function () {\n var enabledAttributes = this.getEnabledAttributes();\n for (var i = 0; i < enabledAttributes.length; i++) {\n this.dirtyAttribute(enabledAttributes[i]);\n }\n this.dirtyIndices();\n this._enabledAttributes = null;\n\n this._cache.dirty('any');\n },\n /**\n * Mark the indices needs to update.\n */\n dirtyIndices: function () {\n this._cache.dirtyAll('indices');\n },\n /**\n * Mark the attributes needs to update.\n * @param {string} [attrName]\n */\n dirtyAttribute: function (attrName) {\n this._cache.dirtyAll(makeAttrKey(attrName));\n this._cache.dirtyAll('attributes');\n },\n /**\n * Get indices of triangle at given index.\n * @param {number} idx\n * @param {Array.} out\n * @return {Array.}\n */\n getTriangleIndices: function (idx, out) {\n if (idx < this.triangleCount && idx >= 0) {\n if (!out) {\n out = [];\n }\n var indices = this.indices;\n out[0] = indices[idx * 3];\n out[1] = indices[idx * 3 + 1];\n out[2] = indices[idx * 3 + 2];\n return out;\n }\n },\n\n /**\n * Set indices of triangle at given index.\n * @param {number} idx\n * @param {Array.} arr\n */\n setTriangleIndices: function (idx, arr) {\n var indices = this.indices;\n indices[idx * 3] = arr[0];\n indices[idx * 3 + 1] = arr[1];\n indices[idx * 3 + 2] = arr[2];\n },\n\n isUseIndices: function () {\n return !!this.indices;\n },\n\n /**\n * Initialize indices from an array.\n * @param {Array} array\n */\n initIndicesFromArray: function (array) {\n var value;\n var ArrayConstructor = this.vertexCount > 0xffff\n ? __WEBPACK_IMPORTED_MODULE_3__core_vendor__[\"a\" /* default */].Uint32Array : __WEBPACK_IMPORTED_MODULE_3__core_vendor__[\"a\" /* default */].Uint16Array;\n // Convert 2d array to flat\n if (array[0] && (array[0].length)) {\n var n = 0;\n var size = 3;\n\n value = new ArrayConstructor(array.length * size);\n for (var i = 0; i < array.length; i++) {\n for (var j = 0; j < size; j++) {\n value[n++] = array[i][j];\n }\n }\n }\n else {\n value = new ArrayConstructor(array);\n }\n\n this.indices = value;\n },\n /**\n * Create a new attribute\n * @param {string} name\n * @param {string} type\n * @param {number} size\n * @param {string} [semantic]\n */\n createAttribute: function (name, type, size, semantic) {\n var attrib = new Attribute(name, type, size, semantic);\n if (this.attributes[name]) {\n this.removeAttribute(name);\n }\n this.attributes[name] = attrib;\n this._attributeList.push(name);\n return attrib;\n },\n /**\n * Remove attribute\n * @param {string} name\n */\n removeAttribute: function (name) {\n var attributeList = this._attributeList;\n var idx = attributeList.indexOf(name);\n if (idx >= 0) {\n attributeList.splice(idx, 1);\n delete this.attributes[name];\n return true;\n }\n return false;\n },\n\n /**\n * Get attribute\n * @param {string} name\n * @return {clay.GeometryBase.Attribute}\n */\n getAttribute: function (name) {\n return this.attributes[name];\n },\n\n /**\n * Get enabled attributes name list\n * Attribute which has the same vertex number with position is treated as a enabled attribute\n * @return {string[]}\n */\n getEnabledAttributes: function () {\n var enabledAttributes = this._enabledAttributes;\n var attributeList = this._attributeList;\n // Cache\n if (enabledAttributes) {\n return enabledAttributes;\n }\n\n var result = [];\n var nVertex = this.vertexCount;\n\n for (var i = 0; i < attributeList.length; i++) {\n var name = attributeList[i];\n var attrib = this.attributes[name];\n if (attrib.value) {\n if (attrib.value.length === nVertex * attrib.size) {\n result.push(name);\n }\n }\n }\n\n this._enabledAttributes = result;\n\n return result;\n },\n\n getBufferChunks: function (renderer) {\n var cache = this._cache;\n cache.use(renderer.__uid__);\n var isAttributesDirty = cache.isDirty('attributes');\n var isIndicesDirty = cache.isDirty('indices');\n if (isAttributesDirty || isIndicesDirty) {\n this._updateBuffer(renderer.gl, isAttributesDirty, isIndicesDirty);\n var enabledAttributes = this.getEnabledAttributes();\n for (var i = 0; i < enabledAttributes.length; i++) {\n cache.fresh(makeAttrKey(enabledAttributes[i]));\n }\n cache.fresh('attributes');\n cache.fresh('indices');\n }\n cache.fresh('any');\n return cache.get('chunks');\n },\n\n _updateBuffer: function (_gl, isAttributesDirty, isIndicesDirty) {\n var cache = this._cache;\n var chunks = cache.get('chunks');\n var firstUpdate = false;\n if (!chunks) {\n chunks = [];\n // Intialize\n chunks[0] = {\n attributeBuffers: [],\n indicesBuffer: null\n };\n cache.put('chunks', chunks);\n firstUpdate = true;\n }\n\n var chunk = chunks[0];\n var attributeBuffers = chunk.attributeBuffers;\n var indicesBuffer = chunk.indicesBuffer;\n\n if (isAttributesDirty || firstUpdate) {\n var attributeList = this.getEnabledAttributes();\n\n var attributeBufferMap = {};\n if (!firstUpdate) {\n for (var i = 0; i < attributeBuffers.length; i++) {\n attributeBufferMap[attributeBuffers[i].name] = attributeBuffers[i];\n }\n }\n // FIXME If some attributes removed\n for (var k = 0; k < attributeList.length; k++) {\n var name = attributeList[k];\n var attribute = this.attributes[name];\n\n var bufferInfo;\n\n if (!firstUpdate) {\n bufferInfo = attributeBufferMap[name];\n }\n var buffer;\n if (bufferInfo) {\n buffer = bufferInfo.buffer;\n }\n else {\n buffer = _gl.createBuffer();\n }\n if (cache.isDirty(makeAttrKey(name))) {\n // Only update when they are dirty.\n // TODO: Use BufferSubData?\n _gl.bindBuffer(_gl.ARRAY_BUFFER, buffer);\n _gl.bufferData(_gl.ARRAY_BUFFER, attribute.value, this.dynamic ? __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].DYNAMIC_DRAW : __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].STATIC_DRAW);\n }\n\n attributeBuffers[k] = new AttributeBuffer(name, attribute.type, buffer, attribute.size, attribute.semantic);\n }\n // Remove unused attributes buffers.\n // PENDING\n for (var i = k; i < attributeBuffers.length; i++) {\n _gl.deleteBuffer(attributeBuffers[i].buffer);\n }\n attributeBuffers.length = k;\n\n }\n\n if (this.isUseIndices() && (isIndicesDirty || firstUpdate)) {\n if (!indicesBuffer) {\n indicesBuffer = new IndicesBuffer(_gl.createBuffer());\n chunk.indicesBuffer = indicesBuffer;\n }\n indicesBuffer.count = this.indices.length;\n _gl.bindBuffer(_gl.ELEMENT_ARRAY_BUFFER, indicesBuffer.buffer);\n _gl.bufferData(_gl.ELEMENT_ARRAY_BUFFER, this.indices, this.dynamic ? __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].DYNAMIC_DRAW : __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].STATIC_DRAW);\n }\n },\n\n /**\n * Dispose geometry data in GL context.\n * @param {clay.Renderer} renderer\n */\n dispose: function (renderer) {\n\n var cache = this._cache;\n\n cache.use(renderer.__uid__);\n var chunks = cache.get('chunks');\n if (chunks) {\n for (var c = 0; c < chunks.length; c++) {\n var chunk = chunks[c];\n\n for (var k = 0; k < chunk.attributeBuffers.length; k++) {\n var attribs = chunk.attributeBuffers[k];\n renderer.gl.deleteBuffer(attribs.buffer);\n }\n\n if (chunk.indicesBuffer) {\n renderer.gl.deleteBuffer(chunk.indicesBuffer.buffer);\n }\n }\n }\n if (this.__vaoCache) {\n var vaoExt = renderer.getGLExtension('OES_vertex_array_object');\n for (var id in this.__vaoCache) {\n var vao = this.__vaoCache[id].vao;\n if (vao) {\n vaoExt.deleteVertexArrayOES(vao);\n }\n }\n }\n this.__vaoCache = {};\n cache.deleteContext(renderer.__uid__);\n }\n\n});\n\nif (Object.defineProperty) {\n /**\n * @name clay.GeometryBase#vertexCount\n * @type {number}\n * @readOnly\n */\n Object.defineProperty(GeometryBase.prototype, 'vertexCount', {\n\n enumerable: false,\n\n get: function () {\n\n var mainAttribute = this.attributes[this.mainAttribute];\n\n if (!mainAttribute) {\n mainAttribute = this.attributes[this._attributeList[0]];\n }\n\n if (!mainAttribute || !mainAttribute.value) {\n return 0;\n }\n return mainAttribute.value.length / mainAttribute.size;\n }\n });\n /**\n * @name clay.GeometryBase#triangleCount\n * @type {number}\n * @readOnly\n */\n Object.defineProperty(GeometryBase.prototype, 'triangleCount', {\n\n enumerable: false,\n\n get: function () {\n var indices = this.indices;\n if (!indices) {\n return 0;\n }\n else {\n return indices.length / 3;\n }\n }\n });\n}\n\nGeometryBase.STATIC_DRAW = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].STATIC_DRAW;\nGeometryBase.DYNAMIC_DRAW = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].DYNAMIC_DRAW;\nGeometryBase.STREAM_DRAW = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].STREAM_DRAW;\n\nGeometryBase.AttributeBuffer = AttributeBuffer;\nGeometryBase.IndicesBuffer = IndicesBuffer;\n\nGeometryBase.Attribute = Attribute;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (GeometryBase);\n\n\n/***/ }),\n/* 119 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__calcAmbientSHLight_glsl_js__ = __webpack_require__(120);\n\n\nvar uniformVec3Prefix = 'uniform vec3 ';\nvar uniformFloatPrefix = 'uniform float ';\nvar exportHeaderPrefix = '@export clay.header.';\nvar exportEnd = '@end';\nvar unconfigurable = ':unconfigurable;';\n/* harmony default export */ __webpack_exports__[\"a\"] = ([\n exportHeaderPrefix + 'directional_light',\n uniformVec3Prefix + 'directionalLightDirection[DIRECTIONAL_LIGHT_COUNT]' + unconfigurable,\n uniformVec3Prefix + 'directionalLightColor[DIRECTIONAL_LIGHT_COUNT]' + unconfigurable,\n exportEnd,\n\n exportHeaderPrefix + 'ambient_light',\n uniformVec3Prefix + 'ambientLightColor[AMBIENT_LIGHT_COUNT]' + unconfigurable,\n exportEnd,\n\n exportHeaderPrefix + 'ambient_sh_light',\n uniformVec3Prefix + 'ambientSHLightColor[AMBIENT_SH_LIGHT_COUNT]' + unconfigurable,\n uniformVec3Prefix + 'ambientSHLightCoefficients[AMBIENT_SH_LIGHT_COUNT * 9]' + unconfigurable,\n __WEBPACK_IMPORTED_MODULE_0__calcAmbientSHLight_glsl_js__[\"a\" /* default */],\n exportEnd,\n\n exportHeaderPrefix + 'ambient_cubemap_light',\n uniformVec3Prefix + 'ambientCubemapLightColor[AMBIENT_CUBEMAP_LIGHT_COUNT]' + unconfigurable,\n 'uniform samplerCube ambientCubemapLightCubemap[AMBIENT_CUBEMAP_LIGHT_COUNT]' + unconfigurable,\n 'uniform sampler2D ambientCubemapLightBRDFLookup[AMBIENT_CUBEMAP_LIGHT_COUNT]' + unconfigurable,\n exportEnd,\n\n exportHeaderPrefix + 'point_light',\n uniformVec3Prefix + 'pointLightPosition[POINT_LIGHT_COUNT]' + unconfigurable,\n uniformFloatPrefix + 'pointLightRange[POINT_LIGHT_COUNT]' + unconfigurable,\n uniformVec3Prefix + 'pointLightColor[POINT_LIGHT_COUNT]' + unconfigurable,\n exportEnd,\n\n exportHeaderPrefix + 'spot_light',\n uniformVec3Prefix + 'spotLightPosition[SPOT_LIGHT_COUNT]' + unconfigurable,\n uniformVec3Prefix + 'spotLightDirection[SPOT_LIGHT_COUNT]' + unconfigurable,\n uniformFloatPrefix + 'spotLightRange[SPOT_LIGHT_COUNT]' + unconfigurable,\n uniformFloatPrefix + 'spotLightUmbraAngleCosine[SPOT_LIGHT_COUNT]' + unconfigurable,\n uniformFloatPrefix + 'spotLightPenumbraAngleCosine[SPOT_LIGHT_COUNT]' + unconfigurable,\n uniformFloatPrefix + 'spotLightFalloffFactor[SPOT_LIGHT_COUNT]' + unconfigurable,\n uniformVec3Prefix + 'spotLightColor[SPOT_LIGHT_COUNT]' + unconfigurable,\n exportEnd\n].join('\\n'));\n\n\n/***/ }),\n/* 120 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"vec3 calcAmbientSHLight(int idx, vec3 N) {\\n int offset = 9 * idx;\\n return ambientSHLightCoefficients[0]\\n + ambientSHLightCoefficients[1] * N.x\\n + ambientSHLightCoefficients[2] * N.y\\n + ambientSHLightCoefficients[3] * N.z\\n + ambientSHLightCoefficients[4] * N.x * N.z\\n + ambientSHLightCoefficients[5] * N.z * N.y\\n + ambientSHLightCoefficients[6] * N.y * N.x\\n + ambientSHLightCoefficients[7] * (3.0 * N.z * N.z - 1.0)\\n + ambientSHLightCoefficients[8] * (N.x * N.x - N.y * N.y);\\n}\");\n\n\n/***/ }),\n/* 121 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export clay.skybox.vertex\\n#define SHADER_NAME skybox\\nuniform mat4 world : WORLD;\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\nattribute vec3 position : POSITION;\\nvarying vec3 v_WorldPosition;\\nvoid main()\\n{\\n v_WorldPosition = (world * vec4(position, 1.0)).xyz;\\n gl_Position = worldViewProjection * vec4(position, 1.0);\\n}\\n@end\\n@export clay.skybox.fragment\\n#define PI 3.1415926\\nuniform mat4 viewInverse : VIEWINVERSE;\\n#ifdef EQUIRECTANGULAR\\nuniform sampler2D environmentMap;\\n#else\\nuniform samplerCube environmentMap;\\n#endif\\nuniform float lod: 0.0;\\nvarying vec3 v_WorldPosition;\\n@import clay.util.rgbm\\n@import clay.util.srgb\\n@import clay.util.ACES\\nvoid main()\\n{\\n vec3 eyePos = viewInverse[3].xyz;\\n vec3 V = normalize(v_WorldPosition - eyePos);\\n#ifdef EQUIRECTANGULAR\\n float phi = acos(V.y);\\n float theta = atan(-V.x, V.z) + PI * 0.5;\\n vec2 uv = vec2(theta / 2.0 / PI, phi / PI);\\n vec4 texel = decodeHDR(texture2D(environmentMap, fract(uv)));\\n#else\\n #if defined(LOD) || defined(SUPPORT_TEXTURE_LOD)\\n vec4 texel = decodeHDR(textureCubeLodEXT(environmentMap, V, lod));\\n #else\\n vec4 texel = decodeHDR(textureCube(environmentMap, V));\\n #endif\\n#endif\\n#ifdef SRGB_DECODE\\n texel = sRGBToLinear(texel);\\n#endif\\n#ifdef TONEMAPPING\\n texel.rgb = ACESToneMapping(texel.rgb);\\n#endif\\n#ifdef SRGB_ENCODE\\n texel = linearTosRGB(texel);\\n#endif\\n gl_FragColor = encodeHDR(vec4(texel.rgb, 1.0));\\n}\\n@end\");\n\n\n/***/ }),\n/* 122 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__TextureCube__ = __webpack_require__(27);\n\n\n\n\n// http://msdn.microsoft.com/en-us/library/windows/desktop/bb943991(v=vs.85).aspx\n// https://github.com/toji/webgl-texture-utils/blob/master/texture-util/dds.js\nvar DDS_MAGIC = 0x20534444;\n\nvar DDSD_CAPS = 0x1;\nvar DDSD_HEIGHT = 0x2;\nvar DDSD_WIDTH = 0x4;\nvar DDSD_PITCH = 0x8;\nvar DDSD_PIXELFORMAT = 0x1000;\nvar DDSD_MIPMAPCOUNT = 0x20000;\nvar DDSD_LINEARSIZE = 0x80000;\nvar DDSD_DEPTH = 0x800000;\n\nvar DDSCAPS_COMPLEX = 0x8;\nvar DDSCAPS_MIPMAP = 0x400000;\nvar DDSCAPS_TEXTURE = 0x1000;\n\nvar DDSCAPS2_CUBEMAP = 0x200;\nvar DDSCAPS2_CUBEMAP_POSITIVEX = 0x400;\nvar DDSCAPS2_CUBEMAP_NEGATIVEX = 0x800;\nvar DDSCAPS2_CUBEMAP_POSITIVEY = 0x1000;\nvar DDSCAPS2_CUBEMAP_NEGATIVEY = 0x2000;\nvar DDSCAPS2_CUBEMAP_POSITIVEZ = 0x4000;\nvar DDSCAPS2_CUBEMAP_NEGATIVEZ = 0x8000;\nvar DDSCAPS2_VOLUME = 0x200000;\n\nvar DDPF_ALPHAPIXELS = 0x1;\nvar DDPF_ALPHA = 0x2;\nvar DDPF_FOURCC = 0x4;\nvar DDPF_RGB = 0x40;\nvar DDPF_YUV = 0x200;\nvar DDPF_LUMINANCE = 0x20000;\n\nfunction fourCCToInt32(value) {\n return value.charCodeAt(0) +\n (value.charCodeAt(1) << 8) +\n (value.charCodeAt(2) << 16) +\n (value.charCodeAt(3) << 24);\n}\n\nfunction int32ToFourCC(value) {\n return String.fromCharCode(\n value & 0xff,\n (value >> 8) & 0xff,\n (value >> 16) & 0xff,\n (value >> 24) & 0xff\n );\n}\n\nvar headerLengthInt = 31; // The header length in 32 bit ints\n\nvar FOURCC_DXT1 = fourCCToInt32('DXT1');\nvar FOURCC_DXT3 = fourCCToInt32('DXT3');\nvar FOURCC_DXT5 = fourCCToInt32('DXT5');\n// Offsets into the header array\nvar off_magic = 0;\n\nvar off_size = 1;\nvar off_flags = 2;\nvar off_height = 3;\nvar off_width = 4;\n\nvar off_mipmapCount = 7;\n\nvar off_pfFlags = 20;\nvar off_pfFourCC = 21;\n\nvar off_caps = 27;\nvar off_caps2 = 28;\nvar off_caps3 = 29;\nvar off_caps4 = 30;\n\nvar ret = {\n parse: function(arrayBuffer, out) {\n var header = new Int32Array(arrayBuffer, 0, headerLengthInt);\n if (header[off_magic] !== DDS_MAGIC) {\n return null;\n }\n if (!header(off_pfFlags) & DDPF_FOURCC) {\n return null;\n }\n\n var fourCC = header(off_pfFourCC);\n var width = header[off_width];\n var height = header[off_height];\n var isCubeMap = header[off_caps2] & DDSCAPS2_CUBEMAP;\n var hasMipmap = header[off_flags] & DDSD_MIPMAPCOUNT;\n var blockBytes, internalFormat;\n switch(fourCC) {\n case FOURCC_DXT1:\n blockBytes = 8;\n internalFormat = __WEBPACK_IMPORTED_MODULE_0__Texture__[\"a\" /* default */].COMPRESSED_RGB_S3TC_DXT1_EXT;\n break;\n case FOURCC_DXT3:\n blockBytes = 16;\n internalFormat = __WEBPACK_IMPORTED_MODULE_0__Texture__[\"a\" /* default */].COMPRESSED_RGBA_S3TC_DXT3_EXT;\n break;\n case FOURCC_DXT5:\n blockBytes = 16;\n internalFormat = __WEBPACK_IMPORTED_MODULE_0__Texture__[\"a\" /* default */].COMPRESSED_RGBA_S3TC_DXT5_EXT;\n break;\n default:\n return null;\n }\n var dataOffset = header[off_size] + 4;\n // TODO: Suppose all face are existed\n var faceNumber = isCubeMap ? 6 : 1;\n var mipmapCount = 1;\n if (hasMipmap) {\n mipmapCount = Math.max(1, header[off_mipmapCount]);\n }\n\n var textures = [];\n for (var f = 0; f < faceNumber; f++) {\n var _width = width;\n var _height = height;\n textures[f] = new __WEBPACK_IMPORTED_MODULE_1__Texture2D__[\"a\" /* default */]({\n width: _width,\n height: _height,\n format: internalFormat\n });\n var mipmaps = [];\n for (var i = 0; i < mipmapCount; i++) {\n var dataLength = Math.max(4, _width) / 4 * Math.max(4, _height) / 4 * blockBytes;\n var byteArray = new Uint8Array(arrayBuffer, dataOffset, dataLength);\n\n dataOffset += dataLength;\n _width *= 0.5;\n _height *= 0.5;\n mipmaps[i] = byteArray;\n }\n textures[f].pixels = mipmaps[0];\n if (hasMipmap) {\n textures[f].mipmaps = mipmaps;\n }\n }\n // TODO\n // return isCubeMap ? textures : textures[0];\n if (out) {\n out.width = textures[0].width;\n out.height = textures[0].height;\n out.format = textures[0].format;\n out.pixels = textures[0].pixels;\n out.mipmaps = textures[0].mipmaps;\n }\n else {\n return textures[0];\n }\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (ret);\n\n\n/***/ }),\n/* 123 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Texture2D__ = __webpack_require__(5);\n\n\nvar toChar = String.fromCharCode;\n\nvar MINELEN = 8;\nvar MAXELEN = 0x7fff;\nfunction rgbe2float(rgbe, buffer, offset, exposure) {\n if (rgbe[3] > 0) {\n var f = Math.pow(2.0, rgbe[3] - 128 - 8 + exposure);\n buffer[offset + 0] = rgbe[0] * f;\n buffer[offset + 1] = rgbe[1] * f;\n buffer[offset + 2] = rgbe[2] * f;\n }\n else {\n buffer[offset + 0] = 0;\n buffer[offset + 1] = 0;\n buffer[offset + 2] = 0;\n }\n buffer[offset + 3] = 1.0;\n return buffer;\n}\n\nfunction uint82string(array, offset, size) {\n var str = '';\n for (var i = offset; i < size; i++) {\n str += toChar(array[i]);\n }\n return str;\n}\n\nfunction copyrgbe(s, t) {\n t[0] = s[0];\n t[1] = s[1];\n t[2] = s[2];\n t[3] = s[3];\n}\n\n// TODO : check\nfunction oldReadColors(scan, buffer, offset, xmax) {\n var rshift = 0, x = 0, len = xmax;\n while (len > 0) {\n scan[x][0] = buffer[offset++];\n scan[x][1] = buffer[offset++];\n scan[x][2] = buffer[offset++];\n scan[x][3] = buffer[offset++];\n if (scan[x][0] === 1 && scan[x][1] === 1 && scan[x][2] === 1) {\n // exp is count of repeated pixels\n for (var i = (scan[x][3] << rshift) >>> 0; i > 0; i--) {\n copyrgbe(scan[x-1], scan[x]);\n x++;\n len--;\n }\n rshift += 8;\n } else {\n x++;\n len--;\n rshift = 0;\n }\n }\n return offset;\n}\n\nfunction readColors(scan, buffer, offset, xmax) {\n if ((xmax < MINELEN) | (xmax > MAXELEN)) {\n return oldReadColors(scan, buffer, offset, xmax);\n }\n var i = buffer[offset++];\n if (i != 2) {\n return oldReadColors(scan, buffer, offset - 1, xmax);\n }\n scan[0][1] = buffer[offset++];\n scan[0][2] = buffer[offset++];\n\n i = buffer[offset++];\n if ((((scan[0][2] << 8) >>> 0) | i) >>> 0 !== xmax) {\n return null;\n }\n for (var i = 0; i < 4; i++) {\n for (var x = 0; x < xmax;) {\n var code = buffer[offset++];\n if (code > 128) {\n code = (code & 127) >>> 0;\n var val = buffer[offset++];\n while (code--) {\n scan[x++][i] = val;\n }\n } else {\n while (code--) {\n scan[x++][i] = buffer[offset++];\n }\n }\n }\n }\n return offset;\n}\n\n\nvar ret = {\n // http://www.graphics.cornell.edu/~bjw/rgbe.html\n // Blender source\n // http://radsite.lbl.gov/radiance/refer/Notes/picture_format.html\n parseRGBE: function(arrayBuffer, texture, exposure) {\n if (exposure == null) {\n exposure = 0;\n }\n var data = new Uint8Array(arrayBuffer);\n var size = data.length;\n if (uint82string(data, 0, 2) !== '#?') {\n return;\n }\n // find empty line, next line is resolution info\n for (var i = 2; i < size; i++) {\n if (toChar(data[i]) === '\\n' && toChar(data[i+1]) === '\\n') {\n break;\n }\n }\n if (i >= size) { // not found\n return;\n }\n // find resolution info line\n i += 2;\n var str = '';\n for (; i < size; i++) {\n var _char = toChar(data[i]);\n if (_char === '\\n') {\n break;\n }\n str += _char;\n }\n // -Y M +X N\n var tmp = str.split(' ');\n var height = parseInt(tmp[1]);\n var width = parseInt(tmp[3]);\n if (!width || !height) {\n return;\n }\n\n // read and decode actual data\n var offset = i+1;\n var scanline = [];\n // memzero\n for (var x = 0; x < width; x++) {\n scanline[x] = [];\n for (var j = 0; j < 4; j++) {\n scanline[x][j] = 0;\n }\n }\n var pixels = new Float32Array(width * height * 4);\n var offset2 = 0;\n for (var y = 0; y < height; y++) {\n var offset = readColors(scanline, data, offset, width);\n if (!offset) {\n return null;\n }\n for (var x = 0; x < width; x++) {\n rgbe2float(scanline[x], pixels, offset2, exposure);\n offset2 += 4;\n }\n }\n\n if (!texture) {\n texture = new __WEBPACK_IMPORTED_MODULE_1__Texture2D__[\"a\" /* default */]();\n }\n texture.width = width;\n texture.height = height;\n texture.pixels = pixels;\n // HALF_FLOAT can't use Float32Array\n texture.type = __WEBPACK_IMPORTED_MODULE_0__Texture__[\"a\" /* default */].FLOAT;\n return texture;\n },\n\n parseRGBEFromPNG: function(png) {\n\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (ret);\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_claygl_src_math_Vector2__ = __webpack_require__(26);\n/**\n * Surface texture in the 3D scene.\n * Provide management and rendering of zrender shapes and groups\n *\n * @module echarts-gl/util/EChartsSurface\n * @author Yi Shen(http://github.com/pissang)\n */\n\n\n\n\n\nvar events = ['mousedown', 'mouseup', 'mousemove', 'mouseover', 'mouseout', 'click', 'dblclick', 'contextmenu'];\n\nfunction makeHandlerName(eventName) {\n return '_on' + eventName;\n}\n/**\n * @constructor\n * @alias echarts-gl/util/EChartsSurface\n * @param {module:echarts~ECharts} chart\n */\nvar EChartsSurface = function (chart) {\n var self = this;\n this._texture = new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Texture2D__[\"a\" /* default */]({\n anisotropic: 32,\n flipY: false,\n\n surface: this,\n\n dispose: function (renderer) {\n self.dispose();\n __WEBPACK_IMPORTED_MODULE_0_claygl_src_Texture2D__[\"a\" /* default */].prototype.dispose.call(this, renderer);\n }\n });\n\n events.forEach(function (eventName) {\n this[makeHandlerName(eventName)] = function (eveObj) {\n if (!eveObj.triangle) {\n return;\n }\n this._meshes.forEach(function (mesh) {\n this.dispatchEvent(eventName, mesh, eveObj.triangle, eveObj.point);\n }, this);\n };\n }, this);\n\n this._meshes = [];\n\n if (chart) {\n this.setECharts(chart);\n }\n\n // Texture updated callback;\n this.onupdate = null;\n};\n\nEChartsSurface.prototype = {\n\n constructor: EChartsSurface,\n\n getTexture: function () {\n return this._texture;\n },\n\n setECharts: function (chart) {\n this._chart = chart;\n\n var canvas = chart.getDom();\n if (!(canvas instanceof HTMLCanvasElement)) {\n console.error('ECharts must init on canvas if it is used as texture.');\n // Use an empty canvas\n canvas = document.createElement('canvas');\n }\n else {\n var self = this;\n // Wrap refreshImmediately\n var zr = chart.getZr();\n var oldRefreshImmediately = zr.__oldRefreshImmediately || zr.refreshImmediately;\n zr.refreshImmediately = function () {\n oldRefreshImmediately.call(this);\n self._texture.dirty();\n\n self.onupdate && self.onupdate();\n };\n zr.__oldRefreshImmediately = oldRefreshImmediately;\n }\n\n this._texture.image = canvas;\n this._texture.dirty();\n this.onupdate && this.onupdate();\n },\n\n /**\n * @method\n * @param {clay.Mesh} attachedMesh\n * @param {Array.} triangle Triangle indices\n * @param {clay.math.Vector3} point\n */\n dispatchEvent: (function () {\n\n var p0 = new __WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector3__[\"a\" /* default */]();\n var p1 = new __WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector3__[\"a\" /* default */]();\n var p2 = new __WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector3__[\"a\" /* default */]();\n var uv0 = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_math_Vector2__[\"a\" /* default */]();\n var uv1 = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_math_Vector2__[\"a\" /* default */]();\n var uv2 = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_math_Vector2__[\"a\" /* default */]();\n var uv = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_math_Vector2__[\"a\" /* default */]();\n\n var vCross = new __WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector3__[\"a\" /* default */]();\n\n return function (eventName, attachedMesh, triangle, point) {\n var geo = attachedMesh.geometry;\n var position = geo.attributes.position;\n var texcoord = geo.attributes.texcoord0;\n var dot = __WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector3__[\"a\" /* default */].dot;\n var cross = __WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector3__[\"a\" /* default */].cross;\n\n position.get(triangle[0], p0.array);\n position.get(triangle[1], p1.array);\n position.get(triangle[2], p2.array);\n texcoord.get(triangle[0], uv0.array);\n texcoord.get(triangle[1], uv1.array);\n texcoord.get(triangle[2], uv2.array);\n\n cross(vCross, p1, p2);\n var det = dot(p0, vCross);\n var t = dot(point, vCross) / det;\n cross(vCross, p2, p0);\n var u = dot(point, vCross) / det;\n cross(vCross, p0, p1);\n var v = dot(point, vCross) / det;\n\n __WEBPACK_IMPORTED_MODULE_2_claygl_src_math_Vector2__[\"a\" /* default */].scale(uv, uv0, t);\n __WEBPACK_IMPORTED_MODULE_2_claygl_src_math_Vector2__[\"a\" /* default */].scaleAndAdd(uv, uv, uv1, u);\n __WEBPACK_IMPORTED_MODULE_2_claygl_src_math_Vector2__[\"a\" /* default */].scaleAndAdd(uv, uv, uv2, v);\n\n var x = uv.x * this._chart.getWidth();\n var y = uv.y * this._chart.getHeight();\n this._chart.getZr().handler.dispatch(eventName, {\n zrX: x,\n zrY: y\n });\n };\n })(),\n\n attachToMesh: function (mesh) {\n if (this._meshes.indexOf(mesh) >= 0) {\n return;\n }\n\n events.forEach(function (eventName) {\n mesh.on(eventName, this[makeHandlerName(eventName)], this);\n }, this);\n\n this._meshes.push(mesh);\n },\n\n detachFromMesh: function (mesh) {\n var idx = this._meshes.indexOf(mesh);\n if (idx >= 0) {\n this._meshes.splice(idx, 1);\n }\n\n events.forEach(function (eventName) {\n mesh.off(eventName, this[makeHandlerName(eventName)]);\n }, this);\n },\n\n dispose: function () {\n this._meshes.forEach(function (mesh) {\n this.detachFromMesh(mesh);\n }, this);\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (EChartsSurface);\n\n/***/ }),\n/* 125 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Light__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_cubemap__ = __webpack_require__(77);\n// https://docs.unrealengine.com/latest/INT/Engine/Rendering/LightingAndShadows/AmbientCubemap/\n\n\n\n/**\n * Ambient cubemap light provides specular parts of Image Based Lighting.\n * Which is a basic requirement for Physically Based Rendering\n * @constructor clay.light.AmbientCubemap\n * @extends clay.Light\n */\nvar AmbientCubemapLight = __WEBPACK_IMPORTED_MODULE_0__Light__[\"a\" /* default */].extend({\n\n /**\n * @type {clay.TextureCube}\n * @memberOf clay.light.AmbientCubemap#\n */\n cubemap: null,\n\n // TODO\n // range: 100,\n\n castShadow: false,\n\n _normalDistribution: null,\n _brdfLookup: null\n\n}, /** @lends clay.light.AmbientCubemap# */ {\n\n type: 'AMBIENT_CUBEMAP_LIGHT',\n\n /**\n * Do prefitering the cubemap\n * @param {clay.Renderer} renderer\n * @param {number} [size=32]\n */\n prefilter: function (renderer, size) {\n if (!renderer.getGLExtension('EXT_shader_texture_lod')) {\n console.warn('Device not support textureCubeLodEXT');\n return;\n }\n if (!this._brdfLookup) {\n this._normalDistribution = __WEBPACK_IMPORTED_MODULE_1__util_cubemap__[\"a\" /* default */].generateNormalDistribution();\n this._brdfLookup = __WEBPACK_IMPORTED_MODULE_1__util_cubemap__[\"a\" /* default */].integrateBRDF(renderer, this._normalDistribution);\n }\n var cubemap = this.cubemap;\n if (cubemap.__prefiltered) {\n return;\n }\n\n var result = __WEBPACK_IMPORTED_MODULE_1__util_cubemap__[\"a\" /* default */].prefilterEnvironmentMap(\n renderer, cubemap, {\n encodeRGBM: true,\n width: size,\n height: size\n }, this._normalDistribution, this._brdfLookup\n );\n this.cubemap = result.environmentMap;\n this.cubemap.__prefiltered = true;\n\n cubemap.dispose(renderer);\n },\n\n getBRDFLookup: function () {\n return this._brdfLookup;\n },\n\n uniformTemplates: {\n ambientCubemapLightColor: {\n type: '3f',\n value: function (instance) {\n var color = instance.color;\n var intensity = instance.intensity;\n return [color[0]*intensity, color[1]*intensity, color[2]*intensity];\n }\n },\n\n ambientCubemapLightCubemap: {\n type: 't',\n value: function (instance) {\n return instance.cubemap;\n }\n },\n\n ambientCubemapLightBRDFLookup: {\n type: 't',\n value: function (instance) {\n return instance._brdfLookup;\n }\n }\n }\n /**\n * @function\n * @name clone\n * @return {clay.light.AmbientCubemap}\n * @memberOf clay.light.AmbientCubemap.prototype\n */\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (AmbientCubemapLight);\n\n\n/***/ }),\n/* 126 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"\\n@export clay.compositor.vertex\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\nattribute vec3 position : POSITION;\\nattribute vec2 texcoord : TEXCOORD_0;\\nvarying vec2 v_Texcoord;\\nvoid main()\\n{\\n v_Texcoord = texcoord;\\n gl_Position = worldViewProjection * vec4(position, 1.0);\\n}\\n@end\");\n\n\n/***/ }),\n/* 127 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"#define SAMPLE_NUMBER 1024\\n#define PI 3.14159265358979\\nuniform sampler2D normalDistribution;\\nuniform vec2 viewportSize : [512, 256];\\nconst vec3 N = vec3(0.0, 0.0, 1.0);\\nconst float fSampleNumber = float(SAMPLE_NUMBER);\\nvec3 importanceSampleNormal(float i, float roughness, vec3 N) {\\n vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;\\n vec3 upVector = abs(N.y) > 0.999 ? vec3(1.0, 0.0, 0.0) : vec3(0.0, 1.0, 0.0);\\n vec3 tangentX = normalize(cross(N, upVector));\\n vec3 tangentZ = cross(N, tangentX);\\n return normalize(tangentX * H.x + N * H.y + tangentZ * H.z);\\n}\\nfloat G_Smith(float roughness, float NoV, float NoL) {\\n float k = roughness * roughness / 2.0;\\n float G1V = NoV / (NoV * (1.0 - k) + k);\\n float G1L = NoL / (NoL * (1.0 - k) + k);\\n return G1L * G1V;\\n}\\nvoid main() {\\n vec2 uv = gl_FragCoord.xy / viewportSize;\\n float NoV = uv.x;\\n float roughness = uv.y;\\n vec3 V;\\n V.x = sqrt(1.0 - NoV * NoV);\\n V.y = 0.0;\\n V.z = NoV;\\n float A = 0.0;\\n float B = 0.0;\\n for (int i = 0; i < SAMPLE_NUMBER; i++) {\\n vec3 H = importanceSampleNormal(float(i) / fSampleNumber, roughness, N);\\n vec3 L = reflect(-V, H);\\n float NoL = clamp(L.z, 0.0, 1.0);\\n float NoH = clamp(H.z, 0.0, 1.0);\\n float VoH = clamp(dot(V, H), 0.0, 1.0);\\n if (NoL > 0.0) {\\n float G = G_Smith(roughness, NoV, NoL);\\n float G_Vis = G * VoH / (NoH * NoV);\\n float Fc = pow(1.0 - VoH, 5.0);\\n A += (1.0 - Fc) * G_Vis;\\n B += Fc * G_Vis;\\n }\\n }\\n gl_FragColor = vec4(vec2(A, B) / fSampleNumber, 0.0, 1.0);\\n}\\n\");\n\n\n/***/ }),\n/* 128 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"#define SHADER_NAME prefilter\\n#define SAMPLE_NUMBER 1024\\n#define PI 3.14159265358979\\nuniform mat4 viewInverse : VIEWINVERSE;\\nuniform samplerCube environmentMap;\\nuniform sampler2D normalDistribution;\\nuniform float roughness : 0.5;\\nvarying vec2 v_Texcoord;\\nvarying vec3 v_WorldPosition;\\n@import clay.util.rgbm\\nvec3 importanceSampleNormal(float i, float roughness, vec3 N) {\\n vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;\\n vec3 upVector = abs(N.y) > 0.999 ? vec3(1.0, 0.0, 0.0) : vec3(0.0, 1.0, 0.0);\\n vec3 tangentX = normalize(cross(N, upVector));\\n vec3 tangentZ = cross(N, tangentX);\\n return normalize(tangentX * H.x + N * H.y + tangentZ * H.z);\\n}\\nvoid main() {\\n vec3 eyePos = viewInverse[3].xyz;\\n vec3 V = normalize(v_WorldPosition - eyePos);\\n vec3 N = V;\\n vec3 prefilteredColor = vec3(0.0);\\n float totalWeight = 0.0;\\n float fMaxSampleNumber = float(SAMPLE_NUMBER);\\n for (int i = 0; i < SAMPLE_NUMBER; i++) {\\n vec3 H = importanceSampleNormal(float(i) / fMaxSampleNumber, roughness, N);\\n vec3 L = reflect(-V, H);\\n float NoL = clamp(dot(N, L), 0.0, 1.0);\\n if (NoL > 0.0) {\\n prefilteredColor += decodeHDR(textureCube(environmentMap, L)).rgb * NoL;\\n totalWeight += NoL;\\n }\\n }\\n gl_FragColor = encodeHDR(vec4(prefilteredColor / totalWeight, 1.0));\\n}\\n\");\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Light__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_vendor__ = __webpack_require__(14);\n\n\n\n/**\n * Spherical Harmonic Ambient Light\n * @constructor clay.light.AmbientSH\n * @extends clay.Light\n */\nvar AmbientSHLight = __WEBPACK_IMPORTED_MODULE_0__Light__[\"a\" /* default */].extend({\n\n castShadow: false,\n\n /**\n * Spherical Harmonic Coefficients\n * @type {Array.}\n * @memberOf clay.light.AmbientSH#\n */\n coefficients: [],\n\n}, function () {\n this._coefficientsTmpArr = new __WEBPACK_IMPORTED_MODULE_1__core_vendor__[\"a\" /* default */].Float32Array(9 * 3);\n}, {\n\n type: 'AMBIENT_SH_LIGHT',\n\n uniformTemplates: {\n ambientSHLightColor: {\n type: '3f',\n value: function (instance) {\n var color = instance.color;\n var intensity = instance.intensity;\n return [color[0] * intensity, color[1] * intensity, color[2] * intensity];\n }\n },\n\n ambientSHLightCoefficients: {\n type: '3f',\n value: function (instance) {\n var coefficientsTmpArr = instance._coefficientsTmpArr;\n for (var i = 0; i < instance.coefficients.length; i++) {\n coefficientsTmpArr[i] = instance.coefficients[i];\n }\n return coefficientsTmpArr;\n }\n }\n }\n /**\n * @function\n * @name clone\n * @return {clay.light.Ambient}\n * @memberOf clay.light.Ambient.prototype\n */\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (AmbientSHLight);\n\n\n/***/ }),\n/* 130 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__FrameBuffer__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__compositor_Pass__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__core_vendor__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__plugin_Skybox__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__plugin_Skydome__ = __webpack_require__(75);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__prePass_EnvironmentMap__ = __webpack_require__(62);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__Scene__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__glmatrix_vec3__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__shader_projectEnvMap_glsl_js__ = __webpack_require__(131);\n// Spherical Harmonic Helpers\n\n\n\n\n\n\n\n\n\n\nvar sh = {};\n\n\n\nvar targets = ['px', 'nx', 'py', 'ny', 'pz', 'nz'];\n\n// Project on gpu, but needs browser to support readPixels as Float32Array.\nfunction projectEnvironmentMapGPU(renderer, envMap) {\n var shTexture = new __WEBPACK_IMPORTED_MODULE_2__Texture2D__[\"a\" /* default */]({\n width: 9,\n height: 1,\n type: __WEBPACK_IMPORTED_MODULE_0__Texture__[\"a\" /* default */].FLOAT\n });\n var pass = new __WEBPACK_IMPORTED_MODULE_3__compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_10__shader_projectEnvMap_glsl_js__[\"a\" /* default */]\n });\n pass.material.define('fragment', 'TEXTURE_SIZE', envMap.width);\n pass.setUniform('environmentMap', envMap);\n\n var framebuffer = new __WEBPACK_IMPORTED_MODULE_1__FrameBuffer__[\"a\" /* default */]();\n framebuffer.attach(shTexture);\n pass.render(renderer, framebuffer);\n\n framebuffer.bind(renderer);\n // TODO Only chrome and firefox support Float32Array\n var pixels = new __WEBPACK_IMPORTED_MODULE_4__core_vendor__[\"a\" /* default */].Float32Array(9 * 4);\n renderer.gl.readPixels(0, 0, 9, 1, __WEBPACK_IMPORTED_MODULE_0__Texture__[\"a\" /* default */].RGBA, __WEBPACK_IMPORTED_MODULE_0__Texture__[\"a\" /* default */].FLOAT, pixels);\n\n var coeff = new __WEBPACK_IMPORTED_MODULE_4__core_vendor__[\"a\" /* default */].Float32Array(9 * 3);\n for (var i = 0; i < 9; i++) {\n coeff[i * 3] = pixels[i * 4];\n coeff[i * 3 + 1] = pixels[i * 4 + 1];\n coeff[i * 3 + 2] = pixels[i * 4 + 2];\n }\n framebuffer.unbind(renderer);\n\n framebuffer.dispose(renderer);\n pass.dispose(renderer);\n return coeff;\n}\n\nfunction harmonics(normal, index){\n var x = normal[0];\n var y = normal[1];\n var z = normal[2];\n\n if (index === 0) {\n return 1.0;\n }\n else if (index === 1) {\n return x;\n }\n else if (index === 2) {\n return y;\n }\n else if (index === 3) {\n return z;\n }\n else if (index === 4) {\n return x * z;\n }\n else if (index === 5) {\n return y * z;\n }\n else if (index === 6) {\n return x * y;\n }\n else if (index === 7) {\n return 3.0 * z * z - 1.0;\n }\n else {\n return x * x - y * y;\n }\n}\n\nvar normalTransform = {\n px: [2, 1, 0, -1, -1, 1],\n nx: [2, 1, 0, 1, -1, -1],\n py: [0, 2, 1, 1, -1, -1],\n ny: [0, 2, 1, 1, 1, 1],\n pz: [0, 1, 2, -1, -1, -1],\n nz: [0, 1, 2, 1, -1, 1]\n};\n\n// Project on cpu.\nfunction projectEnvironmentMapCPU(renderer, cubePixels, width, height) {\n var coeff = new __WEBPACK_IMPORTED_MODULE_4__core_vendor__[\"a\" /* default */].Float32Array(9 * 3);\n var normal = __WEBPACK_IMPORTED_MODULE_9__glmatrix_vec3__[\"a\" /* default */].create();\n var texel = __WEBPACK_IMPORTED_MODULE_9__glmatrix_vec3__[\"a\" /* default */].create();\n var fetchNormal = __WEBPACK_IMPORTED_MODULE_9__glmatrix_vec3__[\"a\" /* default */].create();\n for (var m = 0; m < 9; m++) {\n var result = __WEBPACK_IMPORTED_MODULE_9__glmatrix_vec3__[\"a\" /* default */].create();\n for (var k = 0; k < targets.length; k++) {\n var pixels = cubePixels[targets[k]];\n\n var sideResult = __WEBPACK_IMPORTED_MODULE_9__glmatrix_vec3__[\"a\" /* default */].create();\n var divider = 0;\n var i = 0;\n var transform = normalTransform[targets[k]];\n for (var y = 0; y < height; y++) {\n for (var x = 0; x < width; x++) {\n\n normal[0] = x / (width - 1.0) * 2.0 - 1.0;\n // TODO Flip y?\n normal[1] = y / (height - 1.0) * 2.0 - 1.0;\n normal[2] = -1.0;\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_vec3__[\"a\" /* default */].normalize(normal, normal);\n\n fetchNormal[0] = normal[transform[0]] * transform[3];\n fetchNormal[1] = normal[transform[1]] * transform[4];\n fetchNormal[2] = normal[transform[2]] * transform[5];\n\n texel[0] = pixels[i++] / 255;\n texel[1] = pixels[i++] / 255;\n texel[2] = pixels[i++] / 255;\n // RGBM Decode\n var scale = pixels[i++] / 255 * 8.12;\n texel[0] *= scale;\n texel[1] *= scale;\n texel[2] *= scale;\n\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_vec3__[\"a\" /* default */].scaleAndAdd(sideResult, sideResult, texel, harmonics(fetchNormal, m) * -normal[2]);\n // -normal.z equals cos(theta) of Lambertian\n divider += -normal[2];\n }\n }\n __WEBPACK_IMPORTED_MODULE_9__glmatrix_vec3__[\"a\" /* default */].scaleAndAdd(result, result, sideResult, 1 / divider);\n }\n\n coeff[m * 3] = result[0] / 6.0;\n coeff[m * 3 + 1] = result[1] / 6.0;\n coeff[m * 3 + 2] = result[2] / 6.0;\n }\n return coeff;\n}\n\n/**\n * @param {clay.Renderer} renderer\n * @param {clay.Texture} envMap\n * @param {Object} [textureOpts]\n * @param {Object} [textureOpts.lod]\n * @param {boolean} [textureOpts.decodeRGBM]\n */\nsh.projectEnvironmentMap = function (renderer, envMap, opts) {\n\n // TODO sRGB\n\n opts = opts || {};\n opts.lod = opts.lod || 0;\n\n var skybox;\n var dummyScene = new __WEBPACK_IMPORTED_MODULE_8__Scene__[\"a\" /* default */]();\n var size = 64;\n if (envMap.textureType === 'texture2D') {\n skybox = new __WEBPACK_IMPORTED_MODULE_6__plugin_Skydome__[\"a\" /* default */]({\n scene: dummyScene,\n environmentMap: envMap\n });\n }\n else {\n size = (envMap.image && envMap.image.px) ? envMap.image.px.width : envMap.width;\n skybox = new __WEBPACK_IMPORTED_MODULE_5__plugin_Skybox__[\"a\" /* default */]({\n scene: dummyScene,\n environmentMap: envMap\n });\n }\n // Convert to rgbm\n var width = Math.ceil(size / Math.pow(2, opts.lod));\n var height = Math.ceil(size / Math.pow(2, opts.lod));\n var rgbmTexture = new __WEBPACK_IMPORTED_MODULE_2__Texture2D__[\"a\" /* default */]({\n width: width,\n height: height\n });\n var framebuffer = new __WEBPACK_IMPORTED_MODULE_1__FrameBuffer__[\"a\" /* default */]();\n skybox.material.define('fragment', 'RGBM_ENCODE');\n if (opts.decodeRGBM) {\n skybox.material.define('fragment', 'RGBM_DECODE');\n }\n skybox.material.set('lod', opts.lod);\n var envMapPass = new __WEBPACK_IMPORTED_MODULE_7__prePass_EnvironmentMap__[\"a\" /* default */]({\n texture: rgbmTexture\n });\n var cubePixels = {};\n for (var i = 0; i < targets.length; i++) {\n cubePixels[targets[i]] = new Uint8Array(width * height * 4);\n var camera = envMapPass.getCamera(targets[i]);\n camera.fov = 90;\n framebuffer.attach(rgbmTexture);\n framebuffer.bind(renderer);\n renderer.render(dummyScene, camera);\n renderer.gl.readPixels(\n 0, 0, width, height,\n __WEBPACK_IMPORTED_MODULE_0__Texture__[\"a\" /* default */].RGBA, __WEBPACK_IMPORTED_MODULE_0__Texture__[\"a\" /* default */].UNSIGNED_BYTE, cubePixels[targets[i]]\n );\n framebuffer.unbind(renderer);\n }\n\n skybox.dispose(renderer);\n framebuffer.dispose(renderer);\n rgbmTexture.dispose(renderer);\n\n return projectEnvironmentMapCPU(renderer, cubePixels, width, height);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (sh);\n\n\n/***/ }),\n/* 131 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"uniform samplerCube environmentMap;\\nvarying vec2 v_Texcoord;\\n#define TEXTURE_SIZE 16\\nmat3 front = mat3(\\n 1.0, 0.0, 0.0,\\n 0.0, 1.0, 0.0,\\n 0.0, 0.0, 1.0\\n);\\nmat3 back = mat3(\\n -1.0, 0.0, 0.0,\\n 0.0, 1.0, 0.0,\\n 0.0, 0.0, -1.0\\n);\\nmat3 left = mat3(\\n 0.0, 0.0, -1.0,\\n 0.0, 1.0, 0.0,\\n 1.0, 0.0, 0.0\\n);\\nmat3 right = mat3(\\n 0.0, 0.0, 1.0,\\n 0.0, 1.0, 0.0,\\n -1.0, 0.0, 0.0\\n);\\nmat3 up = mat3(\\n 1.0, 0.0, 0.0,\\n 0.0, 0.0, 1.0,\\n 0.0, -1.0, 0.0\\n);\\nmat3 down = mat3(\\n 1.0, 0.0, 0.0,\\n 0.0, 0.0, -1.0,\\n 0.0, 1.0, 0.0\\n);\\nfloat harmonics(vec3 normal){\\n int index = int(gl_FragCoord.x);\\n float x = normal.x;\\n float y = normal.y;\\n float z = normal.z;\\n if(index==0){\\n return 1.0;\\n }\\n else if(index==1){\\n return x;\\n }\\n else if(index==2){\\n return y;\\n }\\n else if(index==3){\\n return z;\\n }\\n else if(index==4){\\n return x*z;\\n }\\n else if(index==5){\\n return y*z;\\n }\\n else if(index==6){\\n return x*y;\\n }\\n else if(index==7){\\n return 3.0*z*z - 1.0;\\n }\\n else{\\n return x*x - y*y;\\n }\\n}\\nvec3 sampleSide(mat3 rot)\\n{\\n vec3 result = vec3(0.0);\\n float divider = 0.0;\\n for (int i = 0; i < TEXTURE_SIZE * TEXTURE_SIZE; i++) {\\n float x = mod(float(i), float(TEXTURE_SIZE));\\n float y = float(i / TEXTURE_SIZE);\\n vec2 sidecoord = ((vec2(x, y) + vec2(0.5, 0.5)) / vec2(TEXTURE_SIZE)) * 2.0 - 1.0;\\n vec3 normal = normalize(vec3(sidecoord, -1.0));\\n vec3 fetchNormal = rot * normal;\\n vec3 texel = textureCube(environmentMap, fetchNormal).rgb;\\n result += harmonics(fetchNormal) * texel * -normal.z;\\n divider += -normal.z;\\n }\\n return result / divider;\\n}\\nvoid main()\\n{\\n vec3 result = (\\n sampleSide(front) +\\n sampleSide(back) +\\n sampleSide(left) +\\n sampleSide(right) +\\n sampleSide(up) +\\n sampleSide(down)\\n ) / 6.0;\\n gl_FragColor = vec4(result, 1.0);\\n}\");\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Geometry__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math_BoundingBox__ = __webpack_require__(18);\n\n\n\n/**\n * @constructor clay.geometry.Sphere\n * @extends clay.Geometry\n * @param {Object} [opt]\n * @param {number} [widthSegments]\n * @param {number} [heightSegments]\n * @param {number} [phiStart]\n * @param {number} [phiLength]\n * @param {number} [thetaStart]\n * @param {number} [thetaLength]\n * @param {number} [radius]\n */\nvar Sphere = __WEBPACK_IMPORTED_MODULE_0__Geometry__[\"a\" /* default */].extend(/** @lends clay.geometry.Sphere# */ {\n dynamic: false,\n /**\n * @type {number}\n */\n widthSegments: 40,\n /**\n * @type {number}\n */\n heightSegments: 20,\n\n /**\n * @type {number}\n */\n phiStart: 0,\n /**\n * @type {number}\n */\n phiLength: Math.PI * 2,\n\n /**\n * @type {number}\n */\n thetaStart: 0,\n /**\n * @type {number}\n */\n thetaLength: Math.PI,\n\n /**\n * @type {number}\n */\n radius: 1\n\n}, function() {\n this.build();\n},\n/** @lends clay.geometry.Sphere.prototype */\n{\n /**\n * Build sphere geometry\n */\n build: function() {\n var heightSegments = this.heightSegments;\n var widthSegments = this.widthSegments;\n\n var positionAttr = this.attributes.position;\n var texcoordAttr = this.attributes.texcoord0;\n var normalAttr = this.attributes.normal;\n\n var vertexCount = (widthSegments + 1) * (heightSegments + 1);\n positionAttr.init(vertexCount);\n texcoordAttr.init(vertexCount);\n normalAttr.init(vertexCount);\n\n var IndicesCtor = vertexCount > 0xffff ? Uint32Array : Uint16Array;\n var indices = this.indices = new IndicesCtor(widthSegments * heightSegments * 6);\n\n var x, y, z,\n u, v,\n i, j;\n\n var radius = this.radius;\n var phiStart = this.phiStart;\n var phiLength = this.phiLength;\n var thetaStart = this.thetaStart;\n var thetaLength = this.thetaLength;\n var radius = this.radius;\n\n var pos = [];\n var uv = [];\n var offset = 0;\n var divider = 1 / radius;\n for (j = 0; j <= heightSegments; j ++) {\n for (i = 0; i <= widthSegments; i ++) {\n u = i / widthSegments;\n v = j / heightSegments;\n\n // X axis is inverted so texture can be mapped from left to right\n x = -radius * Math.cos(phiStart + u * phiLength) * Math.sin(thetaStart + v * thetaLength);\n y = radius * Math.cos(thetaStart + v * thetaLength);\n z = radius * Math.sin(phiStart + u * phiLength) * Math.sin(thetaStart + v * thetaLength);\n\n pos[0] = x; pos[1] = y; pos[2] = z;\n uv[0] = u; uv[1] = v;\n positionAttr.set(offset, pos);\n texcoordAttr.set(offset, uv);\n pos[0] *= divider;\n pos[1] *= divider;\n pos[2] *= divider;\n normalAttr.set(offset, pos);\n offset++;\n }\n }\n\n var i1, i2, i3, i4;\n\n var len = widthSegments + 1;\n\n var n = 0;\n for (j = 0; j < heightSegments; j ++) {\n for (i = 0; i < widthSegments; i ++) {\n i2 = j * len + i;\n i1 = (j * len + i + 1);\n i4 = (j + 1) * len + i + 1;\n i3 = (j + 1) * len + i;\n\n indices[n++] = i1;\n indices[n++] = i2;\n indices[n++] = i4;\n\n indices[n++] = i2;\n indices[n++] = i3;\n indices[n++] = i4;\n }\n }\n\n this.boundingBox = new __WEBPACK_IMPORTED_MODULE_1__math_BoundingBox__[\"a\" /* default */]();\n this.boundingBox.max.set(radius, radius, radius);\n this.boundingBox.min.set(-radius, -radius, -radius);\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Sphere);\n\n\n/***/ }),\n/* 133 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Light__ = __webpack_require__(24);\n\n\n/**\n * @constructor clay.light.Ambient\n * @extends clay.Light\n */\nvar AmbientLight = __WEBPACK_IMPORTED_MODULE_0__Light__[\"a\" /* default */].extend({\n\n castShadow: false\n\n}, {\n\n type: 'AMBIENT_LIGHT',\n\n uniformTemplates: {\n ambientLightColor: {\n type: '3f',\n value: function(instance) {\n var color = instance.color;\n var intensity = instance.intensity;\n return [color[0]*intensity, color[1]*intensity, color[2]*intensity];\n }\n }\n }\n /**\n * @function\n * @name clone\n * @return {clay.light.Ambient}\n * @memberOf clay.light.Ambient.prototype\n */\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (AmbientLight);\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Light__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math_Vector3__ = __webpack_require__(3);\n\n\n\n/**\n * @constructor clay.light.Directional\n * @extends clay.Light\n *\n * @example\n * var light = new clay.light.Directional({\n * intensity: 0.5,\n * color: [1.0, 0.0, 0.0]\n * });\n * light.position.set(10, 10, 10);\n * light.lookAt(clay.Vector3.ZERO);\n * scene.add(light);\n */\nvar DirectionalLight = __WEBPACK_IMPORTED_MODULE_0__Light__[\"a\" /* default */].extend(/** @lends clay.light.Directional# */ {\n /**\n * @type {number}\n */\n shadowBias: 0.001,\n /**\n * @type {number}\n */\n shadowSlopeScale: 2.0,\n /**\n * Shadow cascade.\n * Use PSSM technique when it is larger than 1 and have a unique directional light in scene.\n * @type {number}\n */\n shadowCascade: 1,\n\n /**\n * Available when shadowCascade is larger than 1 and have a unique directional light in scene.\n * @type {number}\n */\n cascadeSplitLogFactor: 0.2\n}, {\n\n type: 'DIRECTIONAL_LIGHT',\n\n uniformTemplates: {\n directionalLightDirection: {\n type: '3f',\n value: function (instance) {\n instance.__dir = instance.__dir || new __WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */]();\n // Direction is target to eye\n return instance.__dir.copy(instance.worldTransform.z).normalize().negate().array;\n }\n },\n directionalLightColor: {\n type: '3f',\n value: function (instance) {\n var color = instance.color;\n var intensity = instance.intensity;\n return [color[0] * intensity, color[1] * intensity, color[2] * intensity];\n }\n }\n },\n /**\n * @return {clay.light.Directional}\n * @memberOf clay.light.Directional.prototype\n */\n clone: function () {\n var light = __WEBPACK_IMPORTED_MODULE_0__Light__[\"a\" /* default */].prototype.clone.call(this);\n light.shadowBias = this.shadowBias;\n light.shadowSlopeScale = this.shadowSlopeScale;\n return light;\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (DirectionalLight);\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Light__ = __webpack_require__(24);\n\n\n/**\n * @constructor clay.light.Point\n * @extends clay.Light\n */\nvar PointLight = __WEBPACK_IMPORTED_MODULE_0__Light__[\"a\" /* default */].extend(/** @lends clay.light.Point# */ {\n /**\n * @type {number}\n */\n range: 100,\n\n /**\n * @type {number}\n */\n castShadow: false\n}, {\n\n type: 'POINT_LIGHT',\n\n uniformTemplates: {\n pointLightPosition: {\n type: '3f',\n value: function(instance) {\n return instance.getWorldPosition().array;\n }\n },\n pointLightRange: {\n type: '1f',\n value: function(instance) {\n return instance.range;\n }\n },\n pointLightColor: {\n type: '3f',\n value: function(instance) {\n var color = instance.color;\n var intensity = instance.intensity;\n return [color[0] * intensity, color[1] * intensity, color[2] * intensity];\n }\n }\n },\n /**\n * @return {clay.light.Point}\n * @memberOf clay.light.Point.prototype\n */\n clone: function() {\n var light = __WEBPACK_IMPORTED_MODULE_0__Light__[\"a\" /* default */].prototype.clone.call(this);\n light.range = this.range;\n return light;\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (PointLight);\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Light__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math_Vector3__ = __webpack_require__(3);\n\n\n\n/**\n * @constructor clay.light.Spot\n * @extends clay.Light\n */\nvar SpotLight = __WEBPACK_IMPORTED_MODULE_0__Light__[\"a\" /* default */].extend(/**@lends clay.light.Spot */ {\n /**\n * @type {number}\n */\n range: 20,\n /**\n * @type {number}\n */\n umbraAngle: 30,\n /**\n * @type {number}\n */\n penumbraAngle: 45,\n /**\n * @type {number}\n */\n falloffFactor: 2.0,\n /**\n * @type {number}\n */\n shadowBias: 0.001,\n /**\n * @type {number}\n */\n shadowSlopeScale: 2.0\n}, {\n\n type: 'SPOT_LIGHT',\n\n uniformTemplates: {\n spotLightPosition: {\n type: '3f',\n value: function (instance) {\n return instance.getWorldPosition().array;\n }\n },\n spotLightRange: {\n type: '1f',\n value: function (instance) {\n return instance.range;\n }\n },\n spotLightUmbraAngleCosine: {\n type: '1f',\n value: function (instance) {\n return Math.cos(instance.umbraAngle * Math.PI / 180);\n }\n },\n spotLightPenumbraAngleCosine: {\n type: '1f',\n value: function (instance) {\n return Math.cos(instance.penumbraAngle * Math.PI / 180);\n }\n },\n spotLightFalloffFactor: {\n type: '1f',\n value: function (instance) {\n return instance.falloffFactor;\n }\n },\n spotLightDirection: {\n type: '3f',\n value: function (instance) {\n instance.__dir = instance.__dir || new __WEBPACK_IMPORTED_MODULE_1__math_Vector3__[\"a\" /* default */]();\n // Direction is target to eye\n return instance.__dir.copy(instance.worldTransform.z).negate().array;\n }\n },\n spotLightColor: {\n type: '3f',\n value: function (instance) {\n var color = instance.color;\n var intensity = instance.intensity;\n return [color[0] * intensity, color[1] * intensity, color[2] * intensity];\n }\n }\n },\n /**\n * @return {clay.light.Spot}\n * @memberOf clay.light.Spot.prototype\n */\n clone: function () {\n var light = __WEBPACK_IMPORTED_MODULE_0__Light__[\"a\" /* default */].prototype.clone.call(this);\n light.range = this.range;\n light.umbraAngle = this.umbraAngle;\n light.penumbraAngle = this.penumbraAngle;\n light.falloffFactor = this.falloffFactor;\n light.shadowBias = this.shadowBias;\n light.shadowSlopeScale = this.shadowSlopeScale;\n return light;\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (SpotLight);\n\n\n/***/ }),\n/* 137 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__ = __webpack_require__(33);\n\n\n/**\n * @constructor\n * @alias clay.Vector4\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @param {number} w\n */\nvar Vector4 = function(x, y, z, w) {\n\n x = x || 0;\n y = y || 0;\n z = z || 0;\n w = w || 0;\n\n /**\n * Storage of Vector4, read and write of x, y, z, w will change the values in array\n * All methods also operate on the array instead of x, y, z, w components\n * @name array\n * @type {Float32Array}\n * @memberOf clay.Vector4#\n */\n this.array = __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].fromValues(x, y, z, w);\n\n /**\n * Dirty flag is used by the Node to determine\n * if the matrix is updated to latest\n * @name _dirty\n * @type {boolean}\n * @memberOf clay.Vector4#\n */\n this._dirty = true;\n};\n\nVector4.prototype = {\n\n constructor: Vector4,\n\n /**\n * Add b to self\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\n add: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].add(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Set x, y and z components\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @param {number} w\n * @return {clay.Vector4}\n */\n set: function(x, y, z, w) {\n this.array[0] = x;\n this.array[1] = y;\n this.array[2] = z;\n this.array[3] = w;\n this._dirty = true;\n return this;\n },\n\n /**\n * Set x, y, z and w components from array\n * @param {Float32Array|number[]} arr\n * @return {clay.Vector4}\n */\n setArray: function(arr) {\n this.array[0] = arr[0];\n this.array[1] = arr[1];\n this.array[2] = arr[2];\n this.array[3] = arr[3];\n\n this._dirty = true;\n return this;\n },\n\n /**\n * Clone a new Vector4\n * @return {clay.Vector4}\n */\n clone: function() {\n return new Vector4(this.x, this.y, this.z, this.w);\n },\n\n /**\n * Copy from b\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\n copy: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].copy(this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for distance\n * @param {clay.Vector4} b\n * @return {number}\n */\n dist: function(b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].dist(this.array, b.array);\n },\n\n /**\n * Distance between self and b\n * @param {clay.Vector4} b\n * @return {number}\n */\n distance: function(b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].distance(this.array, b.array);\n },\n\n /**\n * Alias for divide\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\n div: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].div(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Divide self by b\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\n divide: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].divide(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Dot product of self and b\n * @param {clay.Vector4} b\n * @return {number}\n */\n dot: function(b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].dot(this.array, b.array);\n },\n\n /**\n * Alias of length\n * @return {number}\n */\n len: function() {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].len(this.array);\n },\n\n /**\n * Calculate the length\n * @return {number}\n */\n length: function() {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].length(this.array);\n },\n /**\n * Linear interpolation between a and b\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @param {number} t\n * @return {clay.Vector4}\n */\n lerp: function(a, b, t) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].lerp(this.array, a.array, b.array, t);\n this._dirty = true;\n return this;\n },\n\n /**\n * Minimum of self and b\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\n min: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].min(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Maximum of self and b\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\n max: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].max(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for multiply\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\n mul: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].mul(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Mutiply self and b\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\n multiply: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].multiply(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Negate self\n * @return {clay.Vector4}\n */\n negate: function() {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].negate(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Normalize self\n * @return {clay.Vector4}\n */\n normalize: function() {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].normalize(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Generate random x, y, z, w components with a given scale\n * @param {number} scale\n * @return {clay.Vector4}\n */\n random: function(scale) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].random(this.array, scale);\n this._dirty = true;\n return this;\n },\n\n /**\n * Scale self\n * @param {number} scale\n * @return {clay.Vector4}\n */\n scale: function(s) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].scale(this.array, this.array, s);\n this._dirty = true;\n return this;\n },\n /**\n * Scale b and add to self\n * @param {clay.Vector4} b\n * @param {number} scale\n * @return {clay.Vector4}\n */\n scaleAndAdd: function(b, s) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].scaleAndAdd(this.array, this.array, b.array, s);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for squaredDistance\n * @param {clay.Vector4} b\n * @return {number}\n */\n sqrDist: function(b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].sqrDist(this.array, b.array);\n },\n\n /**\n * Squared distance between self and b\n * @param {clay.Vector4} b\n * @return {number}\n */\n squaredDistance: function(b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].squaredDistance(this.array, b.array);\n },\n\n /**\n * Alias for squaredLength\n * @return {number}\n */\n sqrLen: function() {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].sqrLen(this.array);\n },\n\n /**\n * Squared length of self\n * @return {number}\n */\n squaredLength: function() {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].squaredLength(this.array);\n },\n\n /**\n * Alias for subtract\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\n sub: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].sub(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Subtract b from self\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\n subtract: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].subtract(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Transform self with a Matrix4 m\n * @param {clay.Matrix4} m\n * @return {clay.Vector4}\n */\n transformMat4: function(m) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].transformMat4(this.array, this.array, m.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Transform self with a Quaternion q\n * @param {clay.Quaternion} q\n * @return {clay.Vector4}\n */\n transformQuat: function(q) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].transformQuat(this.array, this.array, q.array);\n this._dirty = true;\n return this;\n },\n\n toString: function() {\n return '[' + Array.prototype.join.call(this.array, ',') + ']';\n },\n\n toArray: function () {\n return Array.prototype.slice.call(this.array);\n }\n};\n\nvar defineProperty = Object.defineProperty;\n// Getter and Setter\nif (defineProperty) {\n\n var proto = Vector4.prototype;\n /**\n * @name x\n * @type {number}\n * @memberOf clay.Vector4\n * @instance\n */\n defineProperty(proto, 'x', {\n get: function () {\n return this.array[0];\n },\n set: function (value) {\n this.array[0] = value;\n this._dirty = true;\n }\n });\n\n /**\n * @name y\n * @type {number}\n * @memberOf clay.Vector4\n * @instance\n */\n defineProperty(proto, 'y', {\n get: function () {\n return this.array[1];\n },\n set: function (value) {\n this.array[1] = value;\n this._dirty = true;\n }\n });\n\n /**\n * @name z\n * @type {number}\n * @memberOf clay.Vector4\n * @instance\n */\n defineProperty(proto, 'z', {\n get: function () {\n return this.array[2];\n },\n set: function (value) {\n this.array[2] = value;\n this._dirty = true;\n }\n });\n\n /**\n * @name w\n * @type {number}\n * @memberOf clay.Vector4\n * @instance\n */\n defineProperty(proto, 'w', {\n get: function () {\n return this.array[3];\n },\n set: function (value) {\n this.array[3] = value;\n this._dirty = true;\n }\n });\n}\n\n// Supply methods that are not in place\n\n/**\n * @param {clay.Vector4} out\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\nVector4.add = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].add(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector4} out\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @return {clay.Vector4}\n */\nVector4.set = function(out, x, y, z, w) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].set(out.array, x, y, z, w);\n out._dirty = true;\n};\n\n/**\n * @param {clay.Vector4} out\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\nVector4.copy = function(out, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].copy(out.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @return {number}\n */\nVector4.dist = function(a, b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].distance(a.array, b.array);\n};\n\n/**\n * @function\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @return {number}\n */\nVector4.distance = Vector4.dist;\n\n/**\n * @param {clay.Vector4} out\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\nVector4.div = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].divide(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @function\n * @param {clay.Vector4} out\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\nVector4.divide = Vector4.div;\n\n/**\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @return {number}\n */\nVector4.dot = function(a, b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].dot(a.array, b.array);\n};\n\n/**\n * @param {clay.Vector4} a\n * @return {number}\n */\nVector4.len = function(b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].length(b.array);\n};\n\n// Vector4.length = Vector4.len;\n\n/**\n * @param {clay.Vector4} out\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @param {number} t\n * @return {clay.Vector4}\n */\nVector4.lerp = function(out, a, b, t) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].lerp(out.array, a.array, b.array, t);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector4} out\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\nVector4.min = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].min(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector4} out\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\nVector4.max = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].max(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector4} out\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\nVector4.mul = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].multiply(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @function\n * @param {clay.Vector4} out\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\nVector4.multiply = Vector4.mul;\n\n/**\n * @param {clay.Vector4} out\n * @param {clay.Vector4} a\n * @return {clay.Vector4}\n */\nVector4.negate = function(out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].negate(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector4} out\n * @param {clay.Vector4} a\n * @return {clay.Vector4}\n */\nVector4.normalize = function(out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].normalize(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector4} out\n * @param {number} scale\n * @return {clay.Vector4}\n */\nVector4.random = function(out, scale) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].random(out.array, scale);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector4} out\n * @param {clay.Vector4} a\n * @param {number} scale\n * @return {clay.Vector4}\n */\nVector4.scale = function(out, a, scale) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].scale(out.array, a.array, scale);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector4} out\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @param {number} scale\n * @return {clay.Vector4}\n */\nVector4.scaleAndAdd = function(out, a, b, scale) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].scaleAndAdd(out.array, a.array, b.array, scale);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @return {number}\n */\nVector4.sqrDist = function(a, b) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].sqrDist(a.array, b.array);\n};\n\n/**\n * @function\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @return {number}\n */\nVector4.squaredDistance = Vector4.sqrDist;\n\n/**\n * @param {clay.Vector4} a\n * @return {number}\n */\nVector4.sqrLen = function(a) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].sqrLen(a.array);\n};\n/**\n * @function\n * @param {clay.Vector4} a\n * @return {number}\n */\nVector4.squaredLength = Vector4.sqrLen;\n\n/**\n * @param {clay.Vector4} out\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\nVector4.sub = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].subtract(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n/**\n * @function\n * @param {clay.Vector4} out\n * @param {clay.Vector4} a\n * @param {clay.Vector4} b\n * @return {clay.Vector4}\n */\nVector4.subtract = Vector4.sub;\n\n/**\n * @param {clay.Vector4} out\n * @param {clay.Vector4} a\n * @param {clay.Matrix4} m\n * @return {clay.Vector4}\n */\nVector4.transformMat4 = function(out, a, m) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].transformMat4(out.array, a.array, m.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Vector4} out\n * @param {clay.Vector4} a\n * @param {clay.Quaternion} q\n * @return {clay.Vector4}\n */\nVector4.transformQuat = function(out, a, q) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_vec4__[\"a\" /* default */].transformQuat(out.array, a.array, q.array);\n out._dirty = true;\n return out;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Vector4);\n\n\n/***/ }),\n/* 138 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__ = __webpack_require__(78);\n\n\n/**\n * @constructor\n * @alias clay.Matrix2\n */\nvar Matrix2 = function() {\n\n /**\n * Storage of Matrix2\n * @name array\n * @type {Float32Array}\n * @memberOf clay.Matrix2#\n */\n this.array = __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].create();\n\n /**\n * @name _dirty\n * @type {boolean}\n * @memberOf clay.Matrix2#\n */\n this._dirty = true;\n};\n\nMatrix2.prototype = {\n\n constructor: Matrix2,\n\n /**\n * Set components from array\n * @param {Float32Array|number[]} arr\n */\n setArray: function (arr) {\n for (var i = 0; i < this.array.length; i++) {\n this.array[i] = arr[i];\n }\n this._dirty = true;\n return this;\n },\n /**\n * Clone a new Matrix2\n * @return {clay.Matrix2}\n */\n clone: function() {\n return (new Matrix2()).copy(this);\n },\n\n /**\n * Copy from b\n * @param {clay.Matrix2} b\n * @return {clay.Matrix2}\n */\n copy: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].copy(this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Calculate the adjugate of self, in-place\n * @return {clay.Matrix2}\n */\n adjoint: function() {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].adjoint(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Calculate matrix determinant\n * @return {number}\n */\n determinant: function() {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].determinant(this.array);\n },\n\n /**\n * Set to a identity matrix\n * @return {clay.Matrix2}\n */\n identity: function() {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].identity(this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Invert self\n * @return {clay.Matrix2}\n */\n invert: function() {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].invert(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for mutiply\n * @param {clay.Matrix2} b\n * @return {clay.Matrix2}\n */\n mul: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].mul(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for multiplyLeft\n * @param {clay.Matrix2} a\n * @return {clay.Matrix2}\n */\n mulLeft: function(a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].mul(this.array, a.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Multiply self and b\n * @param {clay.Matrix2} b\n * @return {clay.Matrix2}\n */\n multiply: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].multiply(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Multiply a and self, a is on the left\n * @param {clay.Matrix2} a\n * @return {clay.Matrix2}\n */\n multiplyLeft: function(a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].multiply(this.array, a.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Rotate self by a given radian\n * @param {number} rad\n * @return {clay.Matrix2}\n */\n rotate: function(rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].rotate(this.array, this.array, rad);\n this._dirty = true;\n return this;\n },\n\n /**\n * Scale self by s\n * @param {clay.Vector2} s\n * @return {clay.Matrix2}\n */\n scale: function(v) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].scale(this.array, this.array, v.array);\n this._dirty = true;\n return this;\n },\n /**\n * Transpose self, in-place.\n * @return {clay.Matrix2}\n */\n transpose: function() {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].transpose(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n toString: function() {\n return '[' + Array.prototype.join.call(this.array, ',') + ']';\n },\n\n toArray: function () {\n return Array.prototype.slice.call(this.array);\n }\n};\n\n/**\n * @param {Matrix2} out\n * @param {Matrix2} a\n * @return {Matrix2}\n */\nMatrix2.adjoint = function(out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].adjoint(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix2} out\n * @param {clay.Matrix2} a\n * @return {clay.Matrix2}\n */\nMatrix2.copy = function(out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].copy(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix2} a\n * @return {number}\n */\nMatrix2.determinant = function(a) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].determinant(a.array);\n};\n\n/**\n * @param {clay.Matrix2} out\n * @return {clay.Matrix2}\n */\nMatrix2.identity = function(out) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].identity(out.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix2} out\n * @param {clay.Matrix2} a\n * @return {clay.Matrix2}\n */\nMatrix2.invert = function(out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].invert(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix2} out\n * @param {clay.Matrix2} a\n * @param {clay.Matrix2} b\n * @return {clay.Matrix2}\n */\nMatrix2.mul = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].mul(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @function\n * @param {clay.Matrix2} out\n * @param {clay.Matrix2} a\n * @param {clay.Matrix2} b\n * @return {clay.Matrix2}\n */\nMatrix2.multiply = Matrix2.mul;\n\n/**\n * @param {clay.Matrix2} out\n * @param {clay.Matrix2} a\n * @param {number} rad\n * @return {clay.Matrix2}\n */\nMatrix2.rotate = function(out, a, rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].rotate(out.array, a.array, rad);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix2} out\n * @param {clay.Matrix2} a\n * @param {clay.Vector2} v\n * @return {clay.Matrix2}\n */\nMatrix2.scale = function(out, a, v) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].scale(out.array, a.array, v.array);\n out._dirty = true;\n return out;\n};\n/**\n * @param {Matrix2} out\n * @param {Matrix2} a\n * @return {Matrix2}\n */\nMatrix2.transpose = function(out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2__[\"a\" /* default */].transpose(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Matrix2);\n\n\n/***/ }),\n/* 139 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__ = __webpack_require__(79);\n\n\n/**\n * @constructor\n * @alias clay.Matrix2d\n */\nvar Matrix2d = function() {\n /**\n * Storage of Matrix2d\n * @name array\n * @type {Float32Array}\n * @memberOf clay.Matrix2d#\n */\n this.array = __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].create();\n\n /**\n * @name _dirty\n * @type {boolean}\n * @memberOf clay.Matrix2d#\n */\n this._dirty = true;\n};\n\nMatrix2d.prototype = {\n\n constructor: Matrix2d,\n\n /**\n * Set components from array\n * @param {Float32Array|number[]} arr\n */\n setArray: function (arr) {\n for (var i = 0; i < this.array.length; i++) {\n this.array[i] = arr[i];\n }\n this._dirty = true;\n return this;\n },\n /**\n * Clone a new Matrix2d\n * @return {clay.Matrix2d}\n */\n clone: function() {\n return (new Matrix2d()).copy(this);\n },\n\n /**\n * Copy from b\n * @param {clay.Matrix2d} b\n * @return {clay.Matrix2d}\n */\n copy: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].copy(this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Calculate matrix determinant\n * @return {number}\n */\n determinant: function() {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].determinant(this.array);\n },\n\n /**\n * Set to a identity matrix\n * @return {clay.Matrix2d}\n */\n identity: function() {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].identity(this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Invert self\n * @return {clay.Matrix2d}\n */\n invert: function() {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].invert(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for mutiply\n * @param {clay.Matrix2d} b\n * @return {clay.Matrix2d}\n */\n mul: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].mul(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for multiplyLeft\n * @param {clay.Matrix2d} a\n * @return {clay.Matrix2d}\n */\n mulLeft: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].mul(this.array, b.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Multiply self and b\n * @param {clay.Matrix2d} b\n * @return {clay.Matrix2d}\n */\n multiply: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].multiply(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Multiply a and self, a is on the left\n * @param {clay.Matrix2d} a\n * @return {clay.Matrix2d}\n */\n multiplyLeft: function(b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].multiply(this.array, b.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Rotate self by a given radian\n * @param {number} rad\n * @return {clay.Matrix2d}\n */\n rotate: function(rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].rotate(this.array, this.array, rad);\n this._dirty = true;\n return this;\n },\n\n /**\n * Scale self by s\n * @param {clay.Vector2} s\n * @return {clay.Matrix2d}\n */\n scale: function(s) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].scale(this.array, this.array, s.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Translate self by v\n * @param {clay.Vector2} v\n * @return {clay.Matrix2d}\n */\n translate: function(v) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].translate(this.array, this.array, v.array);\n this._dirty = true;\n return this;\n },\n\n toString: function() {\n return '[' + Array.prototype.join.call(this.array, ',') + ']';\n },\n\n toArray: function () {\n return Array.prototype.slice.call(this.array);\n }\n};\n\n/**\n * @param {clay.Matrix2d} out\n * @param {clay.Matrix2d} a\n * @return {clay.Matrix2d}\n */\nMatrix2d.copy = function(out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].copy(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix2d} a\n * @return {number}\n */\nMatrix2d.determinant = function(a) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].determinant(a.array);\n};\n\n/**\n * @param {clay.Matrix2d} out\n * @return {clay.Matrix2d}\n */\nMatrix2d.identity = function(out) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].identity(out.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix2d} out\n * @param {clay.Matrix2d} a\n * @return {clay.Matrix2d}\n */\nMatrix2d.invert = function(out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].invert(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix2d} out\n * @param {clay.Matrix2d} a\n * @param {clay.Matrix2d} b\n * @return {clay.Matrix2d}\n */\nMatrix2d.mul = function(out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].mul(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @function\n * @param {clay.Matrix2d} out\n * @param {clay.Matrix2d} a\n * @param {clay.Matrix2d} b\n * @return {clay.Matrix2d}\n */\nMatrix2d.multiply = Matrix2d.mul;\n\n/**\n * @param {clay.Matrix2d} out\n * @param {clay.Matrix2d} a\n * @param {number} rad\n * @return {clay.Matrix2d}\n */\nMatrix2d.rotate = function(out, a, rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].rotate(out.array, a.array, rad);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix2d} out\n * @param {clay.Matrix2d} a\n * @param {clay.Vector2} v\n * @return {clay.Matrix2d}\n */\nMatrix2d.scale = function(out, a, v) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].scale(out.array, a.array, v.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix2d} out\n * @param {clay.Matrix2d} a\n * @param {clay.Vector2} v\n * @return {clay.Matrix2d}\n */\nMatrix2d.translate = function(out, a, v) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat2d__[\"a\" /* default */].translate(out.array, a.array, v.array);\n out._dirty = true;\n return out;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Matrix2d);\n\n\n/***/ }),\n/* 140 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__ = __webpack_require__(34);\n\n\n/**\n * @constructor\n * @alias clay.Matrix3\n */\nvar Matrix3 = function () {\n\n /**\n * Storage of Matrix3\n * @name array\n * @type {Float32Array}\n * @memberOf clay.Matrix3#\n */\n this.array = __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].create();\n\n /**\n * @name _dirty\n * @type {boolean}\n * @memberOf clay.Matrix3#\n */\n this._dirty = true;\n};\n\nMatrix3.prototype = {\n\n constructor: Matrix3,\n\n /**\n * Set components from array\n * @param {Float32Array|number[]} arr\n */\n setArray: function (arr) {\n for (var i = 0; i < this.array.length; i++) {\n this.array[i] = arr[i];\n }\n this._dirty = true;\n return this;\n },\n /**\n * Calculate the adjugate of self, in-place\n * @return {clay.Matrix3}\n */\n adjoint: function () {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].adjoint(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Clone a new Matrix3\n * @return {clay.Matrix3}\n */\n clone: function () {\n return (new Matrix3()).copy(this);\n },\n\n /**\n * Copy from b\n * @param {clay.Matrix3} b\n * @return {clay.Matrix3}\n */\n copy: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].copy(this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Calculate matrix determinant\n * @return {number}\n */\n determinant: function () {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].determinant(this.array);\n },\n\n /**\n * Copy the values from Matrix2d a\n * @param {clay.Matrix2d} a\n * @return {clay.Matrix3}\n */\n fromMat2d: function (a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].fromMat2d(this.array, a.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Copies the upper-left 3x3 values of Matrix4\n * @param {clay.Matrix4} a\n * @return {clay.Matrix3}\n */\n fromMat4: function (a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].fromMat4(this.array, a.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Calculates a rotation matrix from the given quaternion\n * @param {clay.Quaternion} q\n * @return {clay.Matrix3}\n */\n fromQuat: function (q) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].fromQuat(this.array, q.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Set to a identity matrix\n * @return {clay.Matrix3}\n */\n identity: function () {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].identity(this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Invert self\n * @return {clay.Matrix3}\n */\n invert: function () {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].invert(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for mutiply\n * @param {clay.Matrix3} b\n * @return {clay.Matrix3}\n */\n mul: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].mul(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Alias for multiplyLeft\n * @param {clay.Matrix3} a\n * @return {clay.Matrix3}\n */\n mulLeft: function (a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].mul(this.array, a.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Multiply self and b\n * @param {clay.Matrix3} b\n * @return {clay.Matrix3}\n */\n multiply: function (b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].multiply(this.array, this.array, b.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Multiply a and self, a is on the left\n * @param {clay.Matrix3} a\n * @return {clay.Matrix3}\n */\n multiplyLeft: function (a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].multiply(this.array, a.array, this.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Rotate self by a given radian\n * @param {number} rad\n * @return {clay.Matrix3}\n */\n rotate: function (rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].rotate(this.array, this.array, rad);\n this._dirty = true;\n return this;\n },\n\n /**\n * Scale self by s\n * @param {clay.Vector2} s\n * @return {clay.Matrix3}\n */\n scale: function (v) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].scale(this.array, this.array, v.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Translate self by v\n * @param {clay.Vector2} v\n * @return {clay.Matrix3}\n */\n translate: function (v) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].translate(this.array, this.array, v.array);\n this._dirty = true;\n return this;\n },\n /**\n * Calculates a 3x3 normal matrix (transpose inverse) from the 4x4 matrix\n * @param {clay.Matrix4} a\n */\n normalFromMat4: function (a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].normalFromMat4(this.array, a.array);\n this._dirty = true;\n return this;\n },\n\n /**\n * Transpose self, in-place.\n * @return {clay.Matrix2}\n */\n transpose: function () {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].transpose(this.array, this.array);\n this._dirty = true;\n return this;\n },\n\n toString: function () {\n return '[' + Array.prototype.join.call(this.array, ',') + ']';\n },\n\n toArray: function () {\n return Array.prototype.slice.call(this.array);\n }\n};\n/**\n * @param {clay.Matrix3} out\n * @param {clay.Matrix3} a\n * @return {clay.Matrix3}\n */\nMatrix3.adjoint = function (out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].adjoint(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix3} out\n * @param {clay.Matrix3} a\n * @return {clay.Matrix3}\n */\nMatrix3.copy = function (out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].copy(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix3} a\n * @return {number}\n */\nMatrix3.determinant = function (a) {\n return __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].determinant(a.array);\n};\n\n/**\n * @param {clay.Matrix3} out\n * @return {clay.Matrix3}\n */\nMatrix3.identity = function (out) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].identity(out.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix3} out\n * @param {clay.Matrix3} a\n * @return {clay.Matrix3}\n */\nMatrix3.invert = function (out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].invert(out.array, a.array);\n return out;\n};\n\n/**\n * @param {clay.Matrix3} out\n * @param {clay.Matrix3} a\n * @param {clay.Matrix3} b\n * @return {clay.Matrix3}\n */\nMatrix3.mul = function (out, a, b) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].mul(out.array, a.array, b.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @function\n * @param {clay.Matrix3} out\n * @param {clay.Matrix3} a\n * @param {clay.Matrix3} b\n * @return {clay.Matrix3}\n */\nMatrix3.multiply = Matrix3.mul;\n\n/**\n * @param {clay.Matrix3} out\n * @param {clay.Matrix2d} a\n * @return {clay.Matrix3}\n */\nMatrix3.fromMat2d = function (out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].fromMat2d(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix3} out\n * @param {clay.Matrix4} a\n * @return {clay.Matrix3}\n */\nMatrix3.fromMat4 = function (out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].fromMat4(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix3} out\n * @param {clay.Quaternion} a\n * @return {clay.Matrix3}\n */\nMatrix3.fromQuat = function (out, q) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].fromQuat(out.array, q.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix3} out\n * @param {clay.Matrix4} a\n * @return {clay.Matrix3}\n */\nMatrix3.normalFromMat4 = function (out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].normalFromMat4(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix3} out\n * @param {clay.Matrix3} a\n * @param {number} rad\n * @return {clay.Matrix3}\n */\nMatrix3.rotate = function (out, a, rad) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].rotate(out.array, a.array, rad);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix3} out\n * @param {clay.Matrix3} a\n * @param {clay.Vector2} v\n * @return {clay.Matrix3}\n */\nMatrix3.scale = function (out, a, v) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].scale(out.array, a.array, v.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix3} out\n * @param {clay.Matrix3} a\n * @return {clay.Matrix3}\n */\nMatrix3.transpose = function (out, a) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].transpose(out.array, a.array);\n out._dirty = true;\n return out;\n};\n\n/**\n * @param {clay.Matrix3} out\n * @param {clay.Matrix3} a\n * @param {clay.Vector2} v\n * @return {clay.Matrix3}\n */\nMatrix3.translate = function (out, a, v) {\n __WEBPACK_IMPORTED_MODULE_0__glmatrix_mat3__[\"a\" /* default */].translate(out.array, a.array, v.array);\n out._dirty = true;\n return out;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Matrix3);\n\n\n/***/ }),\n/* 141 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_zrender_lib_animation_Animator__ = __webpack_require__(142);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_zrender_lib_animation_Animator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_zrender_lib_animation_Animator__);\n\n\nvar animatableMixin = {\n\n _animators: null,\n\n getAnimators: function () {\n this._animators = this._animators || [];\n\n return this._animators;\n },\n\n animate: function (path, opts) {\n this._animators = this._animators || [];\n\n var el = this;\n\n var target;\n\n if (path) {\n var pathSplitted = path.split('.');\n var prop = el;\n for (var i = 0, l = pathSplitted.length; i < l; i++) {\n if (!prop) {\n continue;\n }\n prop = prop[pathSplitted[i]];\n }\n if (prop) {\n target = prop;\n }\n }\n else {\n target = el;\n }\n if (target == null) {\n throw new Error('Target ' + path + ' not exists');\n }\n\n var animators = this._animators;\n\n var animator = new __WEBPACK_IMPORTED_MODULE_0_zrender_lib_animation_Animator___default.a(target, opts);\n var self = this;\n animator.during(function () {\n if (self.__zr) {\n self.__zr.refresh();\n }\n }).done(function () {\n var idx = animators.indexOf(animator);\n if (idx >= 0) {\n animators.splice(idx, 1);\n }\n });\n animators.push(animator);\n\n if (this.__zr) {\n this.__zr.animation.addAnimator(animator);\n }\n\n return animator;\n },\n\n stopAnimation: function (forwardToLast) {\n this._animators = this._animators || [];\n\n var animators = this._animators;\n var len = animators.length;\n for (var i = 0; i < len; i++) {\n animators[i].stop(forwardToLast);\n }\n animators.length = 0;\n\n return this;\n },\n\n addAnimatorsToZr: function (zr) {\n if (this._animators) {\n for (var i = 0; i < this._animators.length; i++) {\n zr.animation.addAnimator(this._animators[i]);\n }\n }\n },\n\n removeAnimatorsFromZr: function (zr) {\n if (this._animators) {\n for (var i = 0; i < this._animators.length; i++) {\n zr.animation.removeAnimator(this._animators[i]);\n }\n }\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (animatableMixin);\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Clip = __webpack_require__(143);\n\nvar color = __webpack_require__(145);\n\nvar _util = __webpack_require__(13);\n\nvar isArrayLike = _util.isArrayLike;\n\n/**\n * @module echarts/animation/Animator\n */\nvar arraySlice = Array.prototype.slice;\n\nfunction defaultGetter(target, key) {\n return target[key];\n}\n\nfunction defaultSetter(target, key, value) {\n target[key] = value;\n}\n/**\n * @param {number} p0\n * @param {number} p1\n * @param {number} percent\n * @return {number}\n */\n\n\nfunction interpolateNumber(p0, p1, percent) {\n return (p1 - p0) * percent + p0;\n}\n/**\n * @param {string} p0\n * @param {string} p1\n * @param {number} percent\n * @return {string}\n */\n\n\nfunction interpolateString(p0, p1, percent) {\n return percent > 0.5 ? p1 : p0;\n}\n/**\n * @param {Array} p0\n * @param {Array} p1\n * @param {number} percent\n * @param {Array} out\n * @param {number} arrDim\n */\n\n\nfunction interpolateArray(p0, p1, percent, out, arrDim) {\n var len = p0.length;\n\n if (arrDim == 1) {\n for (var i = 0; i < len; i++) {\n out[i] = interpolateNumber(p0[i], p1[i], percent);\n }\n } else {\n var len2 = len && p0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n out[i][j] = interpolateNumber(p0[i][j], p1[i][j], percent);\n }\n }\n }\n} // arr0 is source array, arr1 is target array.\n// Do some preprocess to avoid error happened when interpolating from arr0 to arr1\n\n\nfunction fillArr(arr0, arr1, arrDim) {\n var arr0Len = arr0.length;\n var arr1Len = arr1.length;\n\n if (arr0Len !== arr1Len) {\n // FIXME Not work for TypedArray\n var isPreviousLarger = arr0Len > arr1Len;\n\n if (isPreviousLarger) {\n // Cut the previous\n arr0.length = arr1Len;\n } else {\n // Fill the previous\n for (var i = arr0Len; i < arr1Len; i++) {\n arr0.push(arrDim === 1 ? arr1[i] : arraySlice.call(arr1[i]));\n }\n }\n } // Handling NaN value\n\n\n var len2 = arr0[0] && arr0[0].length;\n\n for (var i = 0; i < arr0.length; i++) {\n if (arrDim === 1) {\n if (isNaN(arr0[i])) {\n arr0[i] = arr1[i];\n }\n } else {\n for (var j = 0; j < len2; j++) {\n if (isNaN(arr0[i][j])) {\n arr0[i][j] = arr1[i][j];\n }\n }\n }\n }\n}\n/**\n * @param {Array} arr0\n * @param {Array} arr1\n * @param {number} arrDim\n * @return {boolean}\n */\n\n\nfunction isArraySame(arr0, arr1, arrDim) {\n if (arr0 === arr1) {\n return true;\n }\n\n var len = arr0.length;\n\n if (len !== arr1.length) {\n return false;\n }\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n if (arr0[i] !== arr1[i]) {\n return false;\n }\n }\n } else {\n var len2 = arr0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n if (arr0[i][j] !== arr1[i][j]) {\n return false;\n }\n }\n }\n }\n\n return true;\n}\n/**\n * Catmull Rom interpolate array\n * @param {Array} p0\n * @param {Array} p1\n * @param {Array} p2\n * @param {Array} p3\n * @param {number} t\n * @param {number} t2\n * @param {number} t3\n * @param {Array} out\n * @param {number} arrDim\n */\n\n\nfunction catmullRomInterpolateArray(p0, p1, p2, p3, t, t2, t3, out, arrDim) {\n var len = p0.length;\n\n if (arrDim == 1) {\n for (var i = 0; i < len; i++) {\n out[i] = catmullRomInterpolate(p0[i], p1[i], p2[i], p3[i], t, t2, t3);\n }\n } else {\n var len2 = p0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n out[i][j] = catmullRomInterpolate(p0[i][j], p1[i][j], p2[i][j], p3[i][j], t, t2, t3);\n }\n }\n }\n}\n/**\n * Catmull Rom interpolate number\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {number} t\n * @param {number} t2\n * @param {number} t3\n * @return {number}\n */\n\n\nfunction catmullRomInterpolate(p0, p1, p2, p3, t, t2, t3) {\n var v0 = (p2 - p0) * 0.5;\n var v1 = (p3 - p1) * 0.5;\n return (2 * (p1 - p2) + v0 + v1) * t3 + (-3 * (p1 - p2) - 2 * v0 - v1) * t2 + v0 * t + p1;\n}\n\nfunction cloneValue(value) {\n if (isArrayLike(value)) {\n var len = value.length;\n\n if (isArrayLike(value[0])) {\n var ret = [];\n\n for (var i = 0; i < len; i++) {\n ret.push(arraySlice.call(value[i]));\n }\n\n return ret;\n }\n\n return arraySlice.call(value);\n }\n\n return value;\n}\n\nfunction rgba2String(rgba) {\n rgba[0] = Math.floor(rgba[0]);\n rgba[1] = Math.floor(rgba[1]);\n rgba[2] = Math.floor(rgba[2]);\n return 'rgba(' + rgba.join(',') + ')';\n}\n\nfunction getArrayDim(keyframes) {\n var lastValue = keyframes[keyframes.length - 1].value;\n return isArrayLike(lastValue && lastValue[0]) ? 2 : 1;\n}\n\nfunction createTrackClip(animator, easing, oneTrackDone, keyframes, propName, forceAnimate) {\n var getter = animator._getter;\n var setter = animator._setter;\n var useSpline = easing === 'spline';\n var trackLen = keyframes.length;\n\n if (!trackLen) {\n return;\n } // Guess data type\n\n\n var firstVal = keyframes[0].value;\n var isValueArray = isArrayLike(firstVal);\n var isValueColor = false;\n var isValueString = false; // For vertices morphing\n\n var arrDim = isValueArray ? getArrayDim(keyframes) : 0;\n var trackMaxTime; // Sort keyframe as ascending\n\n keyframes.sort(function (a, b) {\n return a.time - b.time;\n });\n trackMaxTime = keyframes[trackLen - 1].time; // Percents of each keyframe\n\n var kfPercents = []; // Value of each keyframe\n\n var kfValues = [];\n var prevValue = keyframes[0].value;\n var isAllValueEqual = true;\n\n for (var i = 0; i < trackLen; i++) {\n kfPercents.push(keyframes[i].time / trackMaxTime); // Assume value is a color when it is a string\n\n var value = keyframes[i].value; // Check if value is equal, deep check if value is array\n\n if (!(isValueArray && isArraySame(value, prevValue, arrDim) || !isValueArray && value === prevValue)) {\n isAllValueEqual = false;\n }\n\n prevValue = value; // Try converting a string to a color array\n\n if (typeof value == 'string') {\n var colorArray = color.parse(value);\n\n if (colorArray) {\n value = colorArray;\n isValueColor = true;\n } else {\n isValueString = true;\n }\n }\n\n kfValues.push(value);\n }\n\n if (!forceAnimate && isAllValueEqual) {\n return;\n }\n\n var lastValue = kfValues[trackLen - 1]; // Polyfill array and NaN value\n\n for (var i = 0; i < trackLen - 1; i++) {\n if (isValueArray) {\n fillArr(kfValues[i], lastValue, arrDim);\n } else {\n if (isNaN(kfValues[i]) && !isNaN(lastValue) && !isValueString && !isValueColor) {\n kfValues[i] = lastValue;\n }\n }\n }\n\n isValueArray && fillArr(getter(animator._target, propName), lastValue, arrDim); // Cache the key of last frame to speed up when\n // animation playback is sequency\n\n var lastFrame = 0;\n var lastFramePercent = 0;\n var start;\n var w;\n var p0;\n var p1;\n var p2;\n var p3;\n\n if (isValueColor) {\n var rgba = [0, 0, 0, 0];\n }\n\n var onframe = function (target, percent) {\n // Find the range keyframes\n // kf1-----kf2---------current--------kf3\n // find kf2 and kf3 and do interpolation\n var frame; // In the easing function like elasticOut, percent may less than 0\n\n if (percent < 0) {\n frame = 0;\n } else if (percent < lastFramePercent) {\n // Start from next key\n // PENDING start from lastFrame ?\n start = Math.min(lastFrame + 1, trackLen - 1);\n\n for (frame = start; frame >= 0; frame--) {\n if (kfPercents[frame] <= percent) {\n break;\n }\n } // PENDING really need to do this ?\n\n\n frame = Math.min(frame, trackLen - 2);\n } else {\n for (frame = lastFrame; frame < trackLen; frame++) {\n if (kfPercents[frame] > percent) {\n break;\n }\n }\n\n frame = Math.min(frame - 1, trackLen - 2);\n }\n\n lastFrame = frame;\n lastFramePercent = percent;\n var range = kfPercents[frame + 1] - kfPercents[frame];\n\n if (range === 0) {\n return;\n } else {\n w = (percent - kfPercents[frame]) / range;\n }\n\n if (useSpline) {\n p1 = kfValues[frame];\n p0 = kfValues[frame === 0 ? frame : frame - 1];\n p2 = kfValues[frame > trackLen - 2 ? trackLen - 1 : frame + 1];\n p3 = kfValues[frame > trackLen - 3 ? trackLen - 1 : frame + 2];\n\n if (isValueArray) {\n catmullRomInterpolateArray(p0, p1, p2, p3, w, w * w, w * w * w, getter(target, propName), arrDim);\n } else {\n var value;\n\n if (isValueColor) {\n value = catmullRomInterpolateArray(p0, p1, p2, p3, w, w * w, w * w * w, rgba, 1);\n value = rgba2String(rgba);\n } else if (isValueString) {\n // String is step(0.5)\n return interpolateString(p1, p2, w);\n } else {\n value = catmullRomInterpolate(p0, p1, p2, p3, w, w * w, w * w * w);\n }\n\n setter(target, propName, value);\n }\n } else {\n if (isValueArray) {\n interpolateArray(kfValues[frame], kfValues[frame + 1], w, getter(target, propName), arrDim);\n } else {\n var value;\n\n if (isValueColor) {\n interpolateArray(kfValues[frame], kfValues[frame + 1], w, rgba, 1);\n value = rgba2String(rgba);\n } else if (isValueString) {\n // String is step(0.5)\n return interpolateString(kfValues[frame], kfValues[frame + 1], w);\n } else {\n value = interpolateNumber(kfValues[frame], kfValues[frame + 1], w);\n }\n\n setter(target, propName, value);\n }\n }\n };\n\n var clip = new Clip({\n target: animator._target,\n life: trackMaxTime,\n loop: animator._loop,\n delay: animator._delay,\n onframe: onframe,\n ondestroy: oneTrackDone\n });\n\n if (easing && easing !== 'spline') {\n clip.easing = easing;\n }\n\n return clip;\n}\n/**\n * @alias module:zrender/animation/Animator\n * @constructor\n * @param {Object} target\n * @param {boolean} loop\n * @param {Function} getter\n * @param {Function} setter\n */\n\n\nvar Animator = function (target, loop, getter, setter) {\n this._tracks = {};\n this._target = target;\n this._loop = loop || false;\n this._getter = getter || defaultGetter;\n this._setter = setter || defaultSetter;\n this._clipCount = 0;\n this._delay = 0;\n this._doneList = [];\n this._onframeList = [];\n this._clipList = [];\n};\n\nAnimator.prototype = {\n /**\n * 设置动画关键帧\n * @param {number} time 关键帧时间,单位是ms\n * @param {Object} props 关键帧的属性值,key-value表示\n * @return {module:zrender/animation/Animator}\n */\n when: function (time\n /* ms */\n , props) {\n var tracks = this._tracks;\n\n for (var propName in props) {\n if (!props.hasOwnProperty(propName)) {\n continue;\n }\n\n if (!tracks[propName]) {\n tracks[propName] = []; // Invalid value\n\n var value = this._getter(this._target, propName);\n\n if (value == null) {\n // zrLog('Invalid property ' + propName);\n continue;\n } // If time is 0\n // Then props is given initialize value\n // Else\n // Initialize value from current prop value\n\n\n if (time !== 0) {\n tracks[propName].push({\n time: 0,\n value: cloneValue(value)\n });\n }\n }\n\n tracks[propName].push({\n time: time,\n value: props[propName]\n });\n }\n\n return this;\n },\n\n /**\n * 添加动画每一帧的回调函数\n * @param {Function} callback\n * @return {module:zrender/animation/Animator}\n */\n during: function (callback) {\n this._onframeList.push(callback);\n\n return this;\n },\n pause: function () {\n for (var i = 0; i < this._clipList.length; i++) {\n this._clipList[i].pause();\n }\n\n this._paused = true;\n },\n resume: function () {\n for (var i = 0; i < this._clipList.length; i++) {\n this._clipList[i].resume();\n }\n\n this._paused = false;\n },\n isPaused: function () {\n return !!this._paused;\n },\n _doneCallback: function () {\n // Clear all tracks\n this._tracks = {}; // Clear all clips\n\n this._clipList.length = 0;\n var doneList = this._doneList;\n var len = doneList.length;\n\n for (var i = 0; i < len; i++) {\n doneList[i].call(this);\n }\n },\n\n /**\n * 开始执行动画\n * @param {string|Function} [easing]\n * 动画缓动函数,详见{@link module:zrender/animation/easing}\n * @param {boolean} forceAnimate\n * @return {module:zrender/animation/Animator}\n */\n start: function (easing, forceAnimate) {\n var self = this;\n var clipCount = 0;\n\n var oneTrackDone = function () {\n clipCount--;\n\n if (!clipCount) {\n self._doneCallback();\n }\n };\n\n var lastClip;\n\n for (var propName in this._tracks) {\n if (!this._tracks.hasOwnProperty(propName)) {\n continue;\n }\n\n var clip = createTrackClip(this, easing, oneTrackDone, this._tracks[propName], propName, forceAnimate);\n\n if (clip) {\n this._clipList.push(clip);\n\n clipCount++; // If start after added to animation\n\n if (this.animation) {\n this.animation.addClip(clip);\n }\n\n lastClip = clip;\n }\n } // Add during callback on the last clip\n\n\n if (lastClip) {\n var oldOnFrame = lastClip.onframe;\n\n lastClip.onframe = function (target, percent) {\n oldOnFrame(target, percent);\n\n for (var i = 0; i < self._onframeList.length; i++) {\n self._onframeList[i](target, percent);\n }\n };\n } // This optimization will help the case that in the upper application\n // the view may be refreshed frequently, where animation will be\n // called repeatly but nothing changed.\n\n\n if (!clipCount) {\n this._doneCallback();\n }\n\n return this;\n },\n\n /**\n * 停止动画\n * @param {boolean} forwardToLast If move to last frame before stop\n */\n stop: function (forwardToLast) {\n var clipList = this._clipList;\n var animation = this.animation;\n\n for (var i = 0; i < clipList.length; i++) {\n var clip = clipList[i];\n\n if (forwardToLast) {\n // Move to last frame before stop\n clip.onframe(this._target, 1);\n }\n\n animation && animation.removeClip(clip);\n }\n\n clipList.length = 0;\n },\n\n /**\n * 设置动画延迟开始的时间\n * @param {number} time 单位ms\n * @return {module:zrender/animation/Animator}\n */\n delay: function (time) {\n this._delay = time;\n return this;\n },\n\n /**\n * 添加动画结束的回调\n * @param {Function} cb\n * @return {module:zrender/animation/Animator}\n */\n done: function (cb) {\n if (cb) {\n this._doneList.push(cb);\n }\n\n return this;\n },\n\n /**\n * @return {Array.}\n */\n getClips: function () {\n return this._clipList;\n }\n};\nvar _default = Animator;\nmodule.exports = _default;\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar easingFuncs = __webpack_require__(144);\n\n/**\n * 动画主控制器\n * @config target 动画对象,可以是数组,如果是数组的话会批量分发onframe等事件\n * @config life(1000) 动画时长\n * @config delay(0) 动画延迟时间\n * @config loop(true)\n * @config gap(0) 循环的间隔时间\n * @config onframe\n * @config easing(optional)\n * @config ondestroy(optional)\n * @config onrestart(optional)\n *\n * TODO pause\n */\nfunction Clip(options) {\n this._target = options.target; // 生命周期\n\n this._life = options.life || 1000; // 延时\n\n this._delay = options.delay || 0; // 开始时间\n // this._startTime = new Date().getTime() + this._delay;// 单位毫秒\n\n this._initialized = false; // 是否循环\n\n this.loop = options.loop == null ? false : options.loop;\n this.gap = options.gap || 0;\n this.easing = options.easing || 'Linear';\n this.onframe = options.onframe;\n this.ondestroy = options.ondestroy;\n this.onrestart = options.onrestart;\n this._pausedTime = 0;\n this._paused = false;\n}\n\nClip.prototype = {\n constructor: Clip,\n step: function (globalTime, deltaTime) {\n // Set startTime on first step, or _startTime may has milleseconds different between clips\n // PENDING\n if (!this._initialized) {\n this._startTime = globalTime + this._delay;\n this._initialized = true;\n }\n\n if (this._paused) {\n this._pausedTime += deltaTime;\n return;\n }\n\n var percent = (globalTime - this._startTime - this._pausedTime) / this._life; // 还没开始\n\n if (percent < 0) {\n return;\n }\n\n percent = Math.min(percent, 1);\n var easing = this.easing;\n var easingFunc = typeof easing == 'string' ? easingFuncs[easing] : easing;\n var schedule = typeof easingFunc === 'function' ? easingFunc(percent) : percent;\n this.fire('frame', schedule); // 结束\n\n if (percent == 1) {\n if (this.loop) {\n this.restart(globalTime); // 重新开始周期\n // 抛出而不是直接调用事件直到 stage.update 后再统一调用这些事件\n\n return 'restart';\n } // 动画完成将这个控制器标识为待删除\n // 在Animation.update中进行批量删除\n\n\n this._needsRemove = true;\n return 'destroy';\n }\n\n return null;\n },\n restart: function (globalTime) {\n var remainder = (globalTime - this._startTime - this._pausedTime) % this._life;\n this._startTime = globalTime - remainder + this.gap;\n this._pausedTime = 0;\n this._needsRemove = false;\n },\n fire: function (eventType, arg) {\n eventType = 'on' + eventType;\n\n if (this[eventType]) {\n this[eventType](this._target, arg);\n }\n },\n pause: function () {\n this._paused = true;\n },\n resume: function () {\n this._paused = false;\n }\n};\nvar _default = Clip;\nmodule.exports = _default;\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports) {\n\n/**\n * 缓动代码来自 https://github.com/sole/tween.js/blob/master/src/Tween.js\n * @see http://sole.github.io/tween.js/examples/03_graphs.html\n * @exports zrender/animation/easing\n */\nvar easing = {\n /**\n * @param {number} k\n * @return {number}\n */\n linear: function (k) {\n return k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quadraticIn: function (k) {\n return k * k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quadraticOut: function (k) {\n return k * (2 - k);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quadraticInOut: function (k) {\n if ((k *= 2) < 1) {\n return 0.5 * k * k;\n }\n\n return -0.5 * (--k * (k - 2) - 1);\n },\n // 三次方的缓动(t^3)\n\n /**\n * @param {number} k\n * @return {number}\n */\n cubicIn: function (k) {\n return k * k * k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n cubicOut: function (k) {\n return --k * k * k + 1;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n cubicInOut: function (k) {\n if ((k *= 2) < 1) {\n return 0.5 * k * k * k;\n }\n\n return 0.5 * ((k -= 2) * k * k + 2);\n },\n // 四次方的缓动(t^4)\n\n /**\n * @param {number} k\n * @return {number}\n */\n quarticIn: function (k) {\n return k * k * k * k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quarticOut: function (k) {\n return 1 - --k * k * k * k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quarticInOut: function (k) {\n if ((k *= 2) < 1) {\n return 0.5 * k * k * k * k;\n }\n\n return -0.5 * ((k -= 2) * k * k * k - 2);\n },\n // 五次方的缓动(t^5)\n\n /**\n * @param {number} k\n * @return {number}\n */\n quinticIn: function (k) {\n return k * k * k * k * k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quinticOut: function (k) {\n return --k * k * k * k * k + 1;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quinticInOut: function (k) {\n if ((k *= 2) < 1) {\n return 0.5 * k * k * k * k * k;\n }\n\n return 0.5 * ((k -= 2) * k * k * k * k + 2);\n },\n // 正弦曲线的缓动(sin(t))\n\n /**\n * @param {number} k\n * @return {number}\n */\n sinusoidalIn: function (k) {\n return 1 - Math.cos(k * Math.PI / 2);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n sinusoidalOut: function (k) {\n return Math.sin(k * Math.PI / 2);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n sinusoidalInOut: function (k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n },\n // 指数曲线的缓动(2^t)\n\n /**\n * @param {number} k\n * @return {number}\n */\n exponentialIn: function (k) {\n return k === 0 ? 0 : Math.pow(1024, k - 1);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n exponentialOut: function (k) {\n return k === 1 ? 1 : 1 - Math.pow(2, -10 * k);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n exponentialInOut: function (k) {\n if (k === 0) {\n return 0;\n }\n\n if (k === 1) {\n return 1;\n }\n\n if ((k *= 2) < 1) {\n return 0.5 * Math.pow(1024, k - 1);\n }\n\n return 0.5 * (-Math.pow(2, -10 * (k - 1)) + 2);\n },\n // 圆形曲线的缓动(sqrt(1-t^2))\n\n /**\n * @param {number} k\n * @return {number}\n */\n circularIn: function (k) {\n return 1 - Math.sqrt(1 - k * k);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n circularOut: function (k) {\n return Math.sqrt(1 - --k * k);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n circularInOut: function (k) {\n if ((k *= 2) < 1) {\n return -0.5 * (Math.sqrt(1 - k * k) - 1);\n }\n\n return 0.5 * (Math.sqrt(1 - (k -= 2) * k) + 1);\n },\n // 创建类似于弹簧在停止前来回振荡的动画\n\n /**\n * @param {number} k\n * @return {number}\n */\n elasticIn: function (k) {\n var s;\n var a = 0.1;\n var p = 0.4;\n\n if (k === 0) {\n return 0;\n }\n\n if (k === 1) {\n return 1;\n }\n\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n } else {\n s = p * Math.asin(1 / a) / (2 * Math.PI);\n }\n\n return -(a * Math.pow(2, 10 * (k -= 1)) * Math.sin((k - s) * (2 * Math.PI) / p));\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n elasticOut: function (k) {\n var s;\n var a = 0.1;\n var p = 0.4;\n\n if (k === 0) {\n return 0;\n }\n\n if (k === 1) {\n return 1;\n }\n\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n } else {\n s = p * Math.asin(1 / a) / (2 * Math.PI);\n }\n\n return a * Math.pow(2, -10 * k) * Math.sin((k - s) * (2 * Math.PI) / p) + 1;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n elasticInOut: function (k) {\n var s;\n var a = 0.1;\n var p = 0.4;\n\n if (k === 0) {\n return 0;\n }\n\n if (k === 1) {\n return 1;\n }\n\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n } else {\n s = p * Math.asin(1 / a) / (2 * Math.PI);\n }\n\n if ((k *= 2) < 1) {\n return -0.5 * (a * Math.pow(2, 10 * (k -= 1)) * Math.sin((k - s) * (2 * Math.PI) / p));\n }\n\n return a * Math.pow(2, -10 * (k -= 1)) * Math.sin((k - s) * (2 * Math.PI) / p) * 0.5 + 1;\n },\n // 在某一动画开始沿指示的路径进行动画处理前稍稍收回该动画的移动\n\n /**\n * @param {number} k\n * @return {number}\n */\n backIn: function (k) {\n var s = 1.70158;\n return k * k * ((s + 1) * k - s);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n backOut: function (k) {\n var s = 1.70158;\n return --k * k * ((s + 1) * k + s) + 1;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n backInOut: function (k) {\n var s = 1.70158 * 1.525;\n\n if ((k *= 2) < 1) {\n return 0.5 * (k * k * ((s + 1) * k - s));\n }\n\n return 0.5 * ((k -= 2) * k * ((s + 1) * k + s) + 2);\n },\n // 创建弹跳效果\n\n /**\n * @param {number} k\n * @return {number}\n */\n bounceIn: function (k) {\n return 1 - easing.bounceOut(1 - k);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n bounceOut: function (k) {\n if (k < 1 / 2.75) {\n return 7.5625 * k * k;\n } else if (k < 2 / 2.75) {\n return 7.5625 * (k -= 1.5 / 2.75) * k + 0.75;\n } else if (k < 2.5 / 2.75) {\n return 7.5625 * (k -= 2.25 / 2.75) * k + 0.9375;\n } else {\n return 7.5625 * (k -= 2.625 / 2.75) * k + 0.984375;\n }\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n bounceInOut: function (k) {\n if (k < 0.5) {\n return easing.bounceIn(k * 2) * 0.5;\n }\n\n return easing.bounceOut(k * 2 - 1) * 0.5 + 0.5;\n }\n};\nvar _default = easing;\nmodule.exports = _default;\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar LRU = __webpack_require__(60);\n\nvar kCSSColorTable = {\n 'transparent': [0, 0, 0, 0],\n 'aliceblue': [240, 248, 255, 1],\n 'antiquewhite': [250, 235, 215, 1],\n 'aqua': [0, 255, 255, 1],\n 'aquamarine': [127, 255, 212, 1],\n 'azure': [240, 255, 255, 1],\n 'beige': [245, 245, 220, 1],\n 'bisque': [255, 228, 196, 1],\n 'black': [0, 0, 0, 1],\n 'blanchedalmond': [255, 235, 205, 1],\n 'blue': [0, 0, 255, 1],\n 'blueviolet': [138, 43, 226, 1],\n 'brown': [165, 42, 42, 1],\n 'burlywood': [222, 184, 135, 1],\n 'cadetblue': [95, 158, 160, 1],\n 'chartreuse': [127, 255, 0, 1],\n 'chocolate': [210, 105, 30, 1],\n 'coral': [255, 127, 80, 1],\n 'cornflowerblue': [100, 149, 237, 1],\n 'cornsilk': [255, 248, 220, 1],\n 'crimson': [220, 20, 60, 1],\n 'cyan': [0, 255, 255, 1],\n 'darkblue': [0, 0, 139, 1],\n 'darkcyan': [0, 139, 139, 1],\n 'darkgoldenrod': [184, 134, 11, 1],\n 'darkgray': [169, 169, 169, 1],\n 'darkgreen': [0, 100, 0, 1],\n 'darkgrey': [169, 169, 169, 1],\n 'darkkhaki': [189, 183, 107, 1],\n 'darkmagenta': [139, 0, 139, 1],\n 'darkolivegreen': [85, 107, 47, 1],\n 'darkorange': [255, 140, 0, 1],\n 'darkorchid': [153, 50, 204, 1],\n 'darkred': [139, 0, 0, 1],\n 'darksalmon': [233, 150, 122, 1],\n 'darkseagreen': [143, 188, 143, 1],\n 'darkslateblue': [72, 61, 139, 1],\n 'darkslategray': [47, 79, 79, 1],\n 'darkslategrey': [47, 79, 79, 1],\n 'darkturquoise': [0, 206, 209, 1],\n 'darkviolet': [148, 0, 211, 1],\n 'deeppink': [255, 20, 147, 1],\n 'deepskyblue': [0, 191, 255, 1],\n 'dimgray': [105, 105, 105, 1],\n 'dimgrey': [105, 105, 105, 1],\n 'dodgerblue': [30, 144, 255, 1],\n 'firebrick': [178, 34, 34, 1],\n 'floralwhite': [255, 250, 240, 1],\n 'forestgreen': [34, 139, 34, 1],\n 'fuchsia': [255, 0, 255, 1],\n 'gainsboro': [220, 220, 220, 1],\n 'ghostwhite': [248, 248, 255, 1],\n 'gold': [255, 215, 0, 1],\n 'goldenrod': [218, 165, 32, 1],\n 'gray': [128, 128, 128, 1],\n 'green': [0, 128, 0, 1],\n 'greenyellow': [173, 255, 47, 1],\n 'grey': [128, 128, 128, 1],\n 'honeydew': [240, 255, 240, 1],\n 'hotpink': [255, 105, 180, 1],\n 'indianred': [205, 92, 92, 1],\n 'indigo': [75, 0, 130, 1],\n 'ivory': [255, 255, 240, 1],\n 'khaki': [240, 230, 140, 1],\n 'lavender': [230, 230, 250, 1],\n 'lavenderblush': [255, 240, 245, 1],\n 'lawngreen': [124, 252, 0, 1],\n 'lemonchiffon': [255, 250, 205, 1],\n 'lightblue': [173, 216, 230, 1],\n 'lightcoral': [240, 128, 128, 1],\n 'lightcyan': [224, 255, 255, 1],\n 'lightgoldenrodyellow': [250, 250, 210, 1],\n 'lightgray': [211, 211, 211, 1],\n 'lightgreen': [144, 238, 144, 1],\n 'lightgrey': [211, 211, 211, 1],\n 'lightpink': [255, 182, 193, 1],\n 'lightsalmon': [255, 160, 122, 1],\n 'lightseagreen': [32, 178, 170, 1],\n 'lightskyblue': [135, 206, 250, 1],\n 'lightslategray': [119, 136, 153, 1],\n 'lightslategrey': [119, 136, 153, 1],\n 'lightsteelblue': [176, 196, 222, 1],\n 'lightyellow': [255, 255, 224, 1],\n 'lime': [0, 255, 0, 1],\n 'limegreen': [50, 205, 50, 1],\n 'linen': [250, 240, 230, 1],\n 'magenta': [255, 0, 255, 1],\n 'maroon': [128, 0, 0, 1],\n 'mediumaquamarine': [102, 205, 170, 1],\n 'mediumblue': [0, 0, 205, 1],\n 'mediumorchid': [186, 85, 211, 1],\n 'mediumpurple': [147, 112, 219, 1],\n 'mediumseagreen': [60, 179, 113, 1],\n 'mediumslateblue': [123, 104, 238, 1],\n 'mediumspringgreen': [0, 250, 154, 1],\n 'mediumturquoise': [72, 209, 204, 1],\n 'mediumvioletred': [199, 21, 133, 1],\n 'midnightblue': [25, 25, 112, 1],\n 'mintcream': [245, 255, 250, 1],\n 'mistyrose': [255, 228, 225, 1],\n 'moccasin': [255, 228, 181, 1],\n 'navajowhite': [255, 222, 173, 1],\n 'navy': [0, 0, 128, 1],\n 'oldlace': [253, 245, 230, 1],\n 'olive': [128, 128, 0, 1],\n 'olivedrab': [107, 142, 35, 1],\n 'orange': [255, 165, 0, 1],\n 'orangered': [255, 69, 0, 1],\n 'orchid': [218, 112, 214, 1],\n 'palegoldenrod': [238, 232, 170, 1],\n 'palegreen': [152, 251, 152, 1],\n 'paleturquoise': [175, 238, 238, 1],\n 'palevioletred': [219, 112, 147, 1],\n 'papayawhip': [255, 239, 213, 1],\n 'peachpuff': [255, 218, 185, 1],\n 'peru': [205, 133, 63, 1],\n 'pink': [255, 192, 203, 1],\n 'plum': [221, 160, 221, 1],\n 'powderblue': [176, 224, 230, 1],\n 'purple': [128, 0, 128, 1],\n 'red': [255, 0, 0, 1],\n 'rosybrown': [188, 143, 143, 1],\n 'royalblue': [65, 105, 225, 1],\n 'saddlebrown': [139, 69, 19, 1],\n 'salmon': [250, 128, 114, 1],\n 'sandybrown': [244, 164, 96, 1],\n 'seagreen': [46, 139, 87, 1],\n 'seashell': [255, 245, 238, 1],\n 'sienna': [160, 82, 45, 1],\n 'silver': [192, 192, 192, 1],\n 'skyblue': [135, 206, 235, 1],\n 'slateblue': [106, 90, 205, 1],\n 'slategray': [112, 128, 144, 1],\n 'slategrey': [112, 128, 144, 1],\n 'snow': [255, 250, 250, 1],\n 'springgreen': [0, 255, 127, 1],\n 'steelblue': [70, 130, 180, 1],\n 'tan': [210, 180, 140, 1],\n 'teal': [0, 128, 128, 1],\n 'thistle': [216, 191, 216, 1],\n 'tomato': [255, 99, 71, 1],\n 'turquoise': [64, 224, 208, 1],\n 'violet': [238, 130, 238, 1],\n 'wheat': [245, 222, 179, 1],\n 'white': [255, 255, 255, 1],\n 'whitesmoke': [245, 245, 245, 1],\n 'yellow': [255, 255, 0, 1],\n 'yellowgreen': [154, 205, 50, 1]\n};\n\nfunction clampCssByte(i) {\n // Clamp to integer 0 .. 255.\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\n\n return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clampCssAngle(i) {\n // Clamp to integer 0 .. 360.\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\n\n return i < 0 ? 0 : i > 360 ? 360 : i;\n}\n\nfunction clampCssFloat(f) {\n // Clamp to float 0.0 .. 1.0.\n return f < 0 ? 0 : f > 1 ? 1 : f;\n}\n\nfunction parseCssInt(str) {\n // int or percentage.\n if (str.length && str.charAt(str.length - 1) === '%') {\n return clampCssByte(parseFloat(str) / 100 * 255);\n }\n\n return clampCssByte(parseInt(str, 10));\n}\n\nfunction parseCssFloat(str) {\n // float or percentage.\n if (str.length && str.charAt(str.length - 1) === '%') {\n return clampCssFloat(parseFloat(str) / 100);\n }\n\n return clampCssFloat(parseFloat(str));\n}\n\nfunction cssHueToRgb(m1, m2, h) {\n if (h < 0) {\n h += 1;\n } else if (h > 1) {\n h -= 1;\n }\n\n if (h * 6 < 1) {\n return m1 + (m2 - m1) * h * 6;\n }\n\n if (h * 2 < 1) {\n return m2;\n }\n\n if (h * 3 < 2) {\n return m1 + (m2 - m1) * (2 / 3 - h) * 6;\n }\n\n return m1;\n}\n\nfunction lerpNumber(a, b, p) {\n return a + (b - a) * p;\n}\n\nfunction setRgba(out, r, g, b, a) {\n out[0] = r;\n out[1] = g;\n out[2] = b;\n out[3] = a;\n return out;\n}\n\nfunction copyRgba(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n return out;\n}\n\nvar colorCache = new LRU(20);\nvar lastRemovedArr = null;\n\nfunction putToCache(colorStr, rgbaArr) {\n // Reuse removed array\n if (lastRemovedArr) {\n copyRgba(lastRemovedArr, rgbaArr);\n }\n\n lastRemovedArr = colorCache.put(colorStr, lastRemovedArr || rgbaArr.slice());\n}\n/**\n * @param {string} colorStr\n * @param {Array.} out\n * @return {Array.}\n * @memberOf module:zrender/util/color\n */\n\n\nfunction parse(colorStr, rgbaArr) {\n if (!colorStr) {\n return;\n }\n\n rgbaArr = rgbaArr || [];\n var cached = colorCache.get(colorStr);\n\n if (cached) {\n return copyRgba(rgbaArr, cached);\n } // colorStr may be not string\n\n\n colorStr = colorStr + ''; // Remove all whitespace, not compliant, but should just be more accepting.\n\n var str = colorStr.replace(/ /g, '').toLowerCase(); // Color keywords (and transparent) lookup.\n\n if (str in kCSSColorTable) {\n copyRgba(rgbaArr, kCSSColorTable[str]);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n } // #abc and #abc123 syntax.\n\n\n if (str.charAt(0) === '#') {\n if (str.length === 4) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n\n if (!(iv >= 0 && iv <= 0xfff)) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return; // Covers NaN.\n }\n\n setRgba(rgbaArr, (iv & 0xf00) >> 4 | (iv & 0xf00) >> 8, iv & 0xf0 | (iv & 0xf0) >> 4, iv & 0xf | (iv & 0xf) << 4, 1);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n } else if (str.length === 7) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n\n if (!(iv >= 0 && iv <= 0xffffff)) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return; // Covers NaN.\n }\n\n setRgba(rgbaArr, (iv & 0xff0000) >> 16, (iv & 0xff00) >> 8, iv & 0xff, 1);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n }\n\n return;\n }\n\n var op = str.indexOf('('),\n ep = str.indexOf(')');\n\n if (op !== -1 && ep + 1 === str.length) {\n var fname = str.substr(0, op);\n var params = str.substr(op + 1, ep - (op + 1)).split(',');\n var alpha = 1; // To allow case fallthrough.\n\n switch (fname) {\n case 'rgba':\n if (params.length !== 4) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n\n alpha = parseCssFloat(params.pop());\n // jshint ignore:line\n // Fall through.\n\n case 'rgb':\n if (params.length !== 3) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n\n setRgba(rgbaArr, parseCssInt(params[0]), parseCssInt(params[1]), parseCssInt(params[2]), alpha);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n\n case 'hsla':\n if (params.length !== 4) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n\n params[3] = parseCssFloat(params[3]);\n hsla2rgba(params, rgbaArr);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n\n case 'hsl':\n if (params.length !== 3) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n\n hsla2rgba(params, rgbaArr);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n\n default:\n return;\n }\n }\n\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n}\n/**\n * @param {Array.} hsla\n * @param {Array.} rgba\n * @return {Array.} rgba\n */\n\n\nfunction hsla2rgba(hsla, rgba) {\n var h = (parseFloat(hsla[0]) % 360 + 360) % 360 / 360; // 0 .. 1\n // NOTE(deanm): According to the CSS spec s/l should only be\n // percentages, but we don't bother and let float or percentage.\n\n var s = parseCssFloat(hsla[1]);\n var l = parseCssFloat(hsla[2]);\n var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var m1 = l * 2 - m2;\n rgba = rgba || [];\n setRgba(rgba, clampCssByte(cssHueToRgb(m1, m2, h + 1 / 3) * 255), clampCssByte(cssHueToRgb(m1, m2, h) * 255), clampCssByte(cssHueToRgb(m1, m2, h - 1 / 3) * 255), 1);\n\n if (hsla.length === 4) {\n rgba[3] = hsla[3];\n }\n\n return rgba;\n}\n/**\n * @param {Array.} rgba\n * @return {Array.} hsla\n */\n\n\nfunction rgba2hsla(rgba) {\n if (!rgba) {\n return;\n } // RGB from 0 to 255\n\n\n var R = rgba[0] / 255;\n var G = rgba[1] / 255;\n var B = rgba[2] / 255;\n var vMin = Math.min(R, G, B); // Min. value of RGB\n\n var vMax = Math.max(R, G, B); // Max. value of RGB\n\n var delta = vMax - vMin; // Delta RGB value\n\n var L = (vMax + vMin) / 2;\n var H;\n var S; // HSL results from 0 to 1\n\n if (delta === 0) {\n H = 0;\n S = 0;\n } else {\n if (L < 0.5) {\n S = delta / (vMax + vMin);\n } else {\n S = delta / (2 - vMax - vMin);\n }\n\n var deltaR = ((vMax - R) / 6 + delta / 2) / delta;\n var deltaG = ((vMax - G) / 6 + delta / 2) / delta;\n var deltaB = ((vMax - B) / 6 + delta / 2) / delta;\n\n if (R === vMax) {\n H = deltaB - deltaG;\n } else if (G === vMax) {\n H = 1 / 3 + deltaR - deltaB;\n } else if (B === vMax) {\n H = 2 / 3 + deltaG - deltaR;\n }\n\n if (H < 0) {\n H += 1;\n }\n\n if (H > 1) {\n H -= 1;\n }\n }\n\n var hsla = [H * 360, S, L];\n\n if (rgba[3] != null) {\n hsla.push(rgba[3]);\n }\n\n return hsla;\n}\n/**\n * @param {string} color\n * @param {number} level\n * @return {string}\n * @memberOf module:zrender/util/color\n */\n\n\nfunction lift(color, level) {\n var colorArr = parse(color);\n\n if (colorArr) {\n for (var i = 0; i < 3; i++) {\n if (level < 0) {\n colorArr[i] = colorArr[i] * (1 - level) | 0;\n } else {\n colorArr[i] = (255 - colorArr[i]) * level + colorArr[i] | 0;\n }\n\n if (colorArr[i] > 255) {\n colorArr[i] = 255;\n } else if (color[i] < 0) {\n colorArr[i] = 0;\n }\n }\n\n return stringify(colorArr, colorArr.length === 4 ? 'rgba' : 'rgb');\n }\n}\n/**\n * @param {string} color\n * @return {string}\n * @memberOf module:zrender/util/color\n */\n\n\nfunction toHex(color) {\n var colorArr = parse(color);\n\n if (colorArr) {\n return ((1 << 24) + (colorArr[0] << 16) + (colorArr[1] << 8) + +colorArr[2]).toString(16).slice(1);\n }\n}\n/**\n * Map value to color. Faster than lerp methods because color is represented by rgba array.\n * @param {number} normalizedValue A float between 0 and 1.\n * @param {Array.>} colors List of rgba color array\n * @param {Array.} [out] Mapped gba color array\n * @return {Array.} will be null/undefined if input illegal.\n */\n\n\nfunction fastLerp(normalizedValue, colors, out) {\n if (!(colors && colors.length) || !(normalizedValue >= 0 && normalizedValue <= 1)) {\n return;\n }\n\n out = out || [];\n var value = normalizedValue * (colors.length - 1);\n var leftIndex = Math.floor(value);\n var rightIndex = Math.ceil(value);\n var leftColor = colors[leftIndex];\n var rightColor = colors[rightIndex];\n var dv = value - leftIndex;\n out[0] = clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv));\n out[1] = clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv));\n out[2] = clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv));\n out[3] = clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv));\n return out;\n}\n/**\n * @deprecated\n */\n\n\nvar fastMapToColor = fastLerp;\n/**\n * @param {number} normalizedValue A float between 0 and 1.\n * @param {Array.} colors Color list.\n * @param {boolean=} fullOutput Default false.\n * @return {(string|Object)} Result color. If fullOutput,\n * return {color: ..., leftIndex: ..., rightIndex: ..., value: ...},\n * @memberOf module:zrender/util/color\n */\n\nfunction lerp(normalizedValue, colors, fullOutput) {\n if (!(colors && colors.length) || !(normalizedValue >= 0 && normalizedValue <= 1)) {\n return;\n }\n\n var value = normalizedValue * (colors.length - 1);\n var leftIndex = Math.floor(value);\n var rightIndex = Math.ceil(value);\n var leftColor = parse(colors[leftIndex]);\n var rightColor = parse(colors[rightIndex]);\n var dv = value - leftIndex;\n var color = stringify([clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv)), clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv)), clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv)), clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv))], 'rgba');\n return fullOutput ? {\n color: color,\n leftIndex: leftIndex,\n rightIndex: rightIndex,\n value: value\n } : color;\n}\n/**\n * @deprecated\n */\n\n\nvar mapToColor = lerp;\n/**\n * @param {string} color\n * @param {number=} h 0 ~ 360, ignore when null.\n * @param {number=} s 0 ~ 1, ignore when null.\n * @param {number=} l 0 ~ 1, ignore when null.\n * @return {string} Color string in rgba format.\n * @memberOf module:zrender/util/color\n */\n\nfunction modifyHSL(color, h, s, l) {\n color = parse(color);\n\n if (color) {\n color = rgba2hsla(color);\n h != null && (color[0] = clampCssAngle(h));\n s != null && (color[1] = parseCssFloat(s));\n l != null && (color[2] = parseCssFloat(l));\n return stringify(hsla2rgba(color), 'rgba');\n }\n}\n/**\n * @param {string} color\n * @param {number=} alpha 0 ~ 1\n * @return {string} Color string in rgba format.\n * @memberOf module:zrender/util/color\n */\n\n\nfunction modifyAlpha(color, alpha) {\n color = parse(color);\n\n if (color && alpha != null) {\n color[3] = clampCssFloat(alpha);\n return stringify(color, 'rgba');\n }\n}\n/**\n * @param {Array.} arrColor like [12,33,44,0.4]\n * @param {string} type 'rgba', 'hsva', ...\n * @return {string} Result color. (If input illegal, return undefined).\n */\n\n\nfunction stringify(arrColor, type) {\n if (!arrColor || !arrColor.length) {\n return;\n }\n\n var colorStr = arrColor[0] + ',' + arrColor[1] + ',' + arrColor[2];\n\n if (type === 'rgba' || type === 'hsva' || type === 'hsla') {\n colorStr += ',' + arrColor[3];\n }\n\n return type + '(' + colorStr + ')';\n}\n\nexports.parse = parse;\nexports.lift = lift;\nexports.toHex = toHex;\nexports.fastLerp = fastLerp;\nexports.fastMapToColor = fastMapToColor;\nexports.lerp = lerp;\nexports.mapToColor = mapToColor;\nexports.modifyHSL = modifyHSL;\nexports.modifyAlpha = modifyAlpha;\nexports.stringify = stringify;\n\n/***/ }),\n/* 146 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"\\n@export clay.util.rand\\nhighp float rand(vec2 uv) {\\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n highp float dt = dot(uv.xy, vec2(a,b)), sn = mod(dt, 3.141592653589793);\\n return fract(sin(sn) * c);\\n}\\n@end\\n@export clay.util.calculate_attenuation\\nuniform float attenuationFactor : 5.0;\\nfloat lightAttenuation(float dist, float range)\\n{\\n float attenuation = 1.0;\\n attenuation = dist*dist/(range*range+1.0);\\n float att_s = attenuationFactor;\\n attenuation = 1.0/(attenuation*att_s+1.0);\\n att_s = 1.0/(att_s+1.0);\\n attenuation = attenuation - att_s;\\n attenuation /= 1.0 - att_s;\\n return clamp(attenuation, 0.0, 1.0);\\n}\\n@end\\n@export clay.util.edge_factor\\n#ifdef SUPPORT_STANDARD_DERIVATIVES\\nfloat edgeFactor(float width)\\n{\\n vec3 d = fwidth(v_Barycentric);\\n vec3 a3 = smoothstep(vec3(0.0), d * width, v_Barycentric);\\n return min(min(a3.x, a3.y), a3.z);\\n}\\n#else\\nfloat edgeFactor(float width)\\n{\\n return 1.0;\\n}\\n#endif\\n@end\\n@export clay.util.encode_float\\nvec4 encodeFloat(const in float depth)\\n{\\n const vec4 bitShifts = vec4(256.0*256.0*256.0, 256.0*256.0, 256.0, 1.0);\\n const vec4 bit_mask = vec4(0.0, 1.0/256.0, 1.0/256.0, 1.0/256.0);\\n vec4 res = fract(depth * bitShifts);\\n res -= res.xxyz * bit_mask;\\n return res;\\n}\\n@end\\n@export clay.util.decode_float\\nfloat decodeFloat(const in vec4 color)\\n{\\n const vec4 bitShifts = vec4(1.0/(256.0*256.0*256.0), 1.0/(256.0*256.0), 1.0/256.0, 1.0);\\n return dot(color, bitShifts);\\n}\\n@end\\n@export clay.util.float\\n@import clay.util.encode_float\\n@import clay.util.decode_float\\n@end\\n@export clay.util.rgbm_decode\\nvec3 RGBMDecode(vec4 rgbm, float range) {\\n return range * rgbm.rgb * rgbm.a;\\n}\\n@end\\n@export clay.util.rgbm_encode\\nvec4 RGBMEncode(vec3 color, float range) {\\n if (dot(color, color) == 0.0) {\\n return vec4(0.0);\\n }\\n vec4 rgbm;\\n color /= range;\\n rgbm.a = clamp(max(max(color.r, color.g), max(color.b, 1e-6)), 0.0, 1.0);\\n rgbm.a = ceil(rgbm.a * 255.0) / 255.0;\\n rgbm.rgb = color / rgbm.a;\\n return rgbm;\\n}\\n@end\\n@export clay.util.rgbm\\n@import clay.util.rgbm_decode\\n@import clay.util.rgbm_encode\\nvec4 decodeHDR(vec4 color)\\n{\\n#if defined(RGBM_DECODE) || defined(RGBM)\\n return vec4(RGBMDecode(color, 8.12), 1.0);\\n#else\\n return color;\\n#endif\\n}\\nvec4 encodeHDR(vec4 color)\\n{\\n#if defined(RGBM_ENCODE) || defined(RGBM)\\n return RGBMEncode(color.xyz, 8.12);\\n#else\\n return color;\\n#endif\\n}\\n@end\\n@export clay.util.srgb\\nvec4 sRGBToLinear(in vec4 value) {\\n return vec4(mix(pow(value.rgb * 0.9478672986 + vec3(0.0521327014), vec3(2.4)), value.rgb * 0.0773993808, vec3(lessThanEqual(value.rgb, vec3(0.04045)))), value.w);\\n}\\nvec4 linearTosRGB(in vec4 value) {\\n return vec4(mix(pow(value.rgb, vec3(0.41666)) * 1.055 - vec3(0.055), value.rgb * 12.92, vec3(lessThanEqual(value.rgb, vec3(0.0031308)))), value.w);\\n}\\n@end\\n@export clay.chunk.skinning_header\\n#ifdef SKINNING\\nattribute vec3 weight : WEIGHT;\\nattribute vec4 joint : JOINT;\\n#ifdef USE_SKIN_MATRICES_TEXTURE\\nuniform sampler2D skinMatricesTexture : ignore;\\nuniform float skinMatricesTextureSize: ignore;\\nmat4 getSkinMatrix(sampler2D tex, float idx) {\\n float j = idx * 4.0;\\n float x = mod(j, skinMatricesTextureSize);\\n float y = floor(j / skinMatricesTextureSize) + 0.5;\\n vec2 scale = vec2(skinMatricesTextureSize);\\n return mat4(\\n texture2D(tex, vec2(x + 0.5, y) / scale),\\n texture2D(tex, vec2(x + 1.5, y) / scale),\\n texture2D(tex, vec2(x + 2.5, y) / scale),\\n texture2D(tex, vec2(x + 3.5, y) / scale)\\n );\\n}\\nmat4 getSkinMatrix(float idx) {\\n return getSkinMatrix(skinMatricesTexture, idx);\\n}\\n#else\\nuniform mat4 skinMatrix[JOINT_COUNT] : SKIN_MATRIX;\\nmat4 getSkinMatrix(float idx) {\\n return skinMatrix[int(idx)];\\n}\\n#endif\\n#endif\\n@end\\n@export clay.chunk.skin_matrix\\nmat4 skinMatrixWS = getSkinMatrix(joint.x) * weight.x;\\nif (weight.y > 1e-4)\\n{\\n skinMatrixWS += getSkinMatrix(joint.y) * weight.y;\\n}\\nif (weight.z > 1e-4)\\n{\\n skinMatrixWS += getSkinMatrix(joint.z) * weight.z;\\n}\\nfloat weightW = 1.0-weight.x-weight.y-weight.z;\\nif (weightW > 1e-4)\\n{\\n skinMatrixWS += getSkinMatrix(joint.w) * weightW;\\n}\\n@end\\n@export clay.util.parallax_correct\\nvec3 parallaxCorrect(in vec3 dir, in vec3 pos, in vec3 boxMin, in vec3 boxMax) {\\n vec3 first = (boxMax - pos) / dir;\\n vec3 second = (boxMin - pos) / dir;\\n vec3 further = max(first, second);\\n float dist = min(further.x, min(further.y, further.z));\\n vec3 fixedPos = pos + dir * dist;\\n vec3 boxCenter = (boxMax + boxMin) * 0.5;\\n return normalize(fixedPos - boxCenter);\\n}\\n@end\\n@export clay.util.clamp_sample\\nvec4 clampSample(const in sampler2D texture, const in vec2 coord)\\n{\\n#ifdef STEREO\\n float eye = step(0.5, coord.x) * 0.5;\\n vec2 coordClamped = clamp(coord, vec2(eye, 0.0), vec2(0.5 + eye, 1.0));\\n#else\\n vec2 coordClamped = clamp(coord, vec2(0.0), vec2(1.0));\\n#endif\\n return texture2D(texture, coordClamped);\\n}\\n@end\\n@export clay.util.ACES\\nvec3 ACESToneMapping(vec3 color)\\n{\\n const float A = 2.51;\\n const float B = 0.03;\\n const float C = 2.43;\\n const float D = 0.59;\\n const float E = 0.14;\\n return (color * (A * color + B)) / (color * (C * color + D) + E);\\n}\\n@end\");\n\n\n/***/ }),\n/* 147 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"\\n@export ecgl.common.transformUniforms\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\nuniform mat4 worldInverseTranspose : WORLDINVERSETRANSPOSE;\\nuniform mat4 world : WORLD;\\n@end\\n\\n@export ecgl.common.attributes\\nattribute vec3 position : POSITION;\\nattribute vec2 texcoord : TEXCOORD_0;\\nattribute vec3 normal : NORMAL;\\n@end\\n\\n@export ecgl.common.uv.header\\nuniform vec2 uvRepeat : [1.0, 1.0];\\nuniform vec2 uvOffset : [0.0, 0.0];\\nuniform vec2 detailUvRepeat : [1.0, 1.0];\\nuniform vec2 detailUvOffset : [0.0, 0.0];\\n\\nvarying vec2 v_Texcoord;\\nvarying vec2 v_DetailTexcoord;\\n@end\\n\\n@export ecgl.common.uv.main\\nv_Texcoord = texcoord * uvRepeat + uvOffset;\\nv_DetailTexcoord = texcoord * detailUvRepeat + detailUvOffset;\\n@end\\n\\n@export ecgl.common.uv.fragmentHeader\\nvarying vec2 v_Texcoord;\\nvarying vec2 v_DetailTexcoord;\\n@end\\n\\n\\n@export ecgl.common.albedo.main\\n\\n vec4 albedoTexel = vec4(1.0);\\n#ifdef DIFFUSEMAP_ENABLED\\n albedoTexel = texture2D(diffuseMap, v_Texcoord);\\n #ifdef SRGB_DECODE\\n albedoTexel = sRGBToLinear(albedoTexel);\\n #endif\\n#endif\\n\\n#ifdef DETAILMAP_ENABLED\\n vec4 detailTexel = texture2D(detailMap, v_DetailTexcoord);\\n #ifdef SRGB_DECODE\\n detailTexel = sRGBToLinear(detailTexel);\\n #endif\\n albedoTexel.rgb = mix(albedoTexel.rgb, detailTexel.rgb, detailTexel.a);\\n albedoTexel.a = detailTexel.a + (1.0 - detailTexel.a) * albedoTexel.a;\\n#endif\\n\\n@end\\n\\n@export ecgl.common.wireframe.vertexHeader\\n\\n#ifdef WIREFRAME_QUAD\\nattribute vec4 barycentric;\\nvarying vec4 v_Barycentric;\\n#elif defined(WIREFRAME_TRIANGLE)\\nattribute vec3 barycentric;\\nvarying vec3 v_Barycentric;\\n#endif\\n\\n@end\\n\\n@export ecgl.common.wireframe.vertexMain\\n\\n#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)\\n v_Barycentric = barycentric;\\n#endif\\n\\n@end\\n\\n\\n@export ecgl.common.wireframe.fragmentHeader\\n\\nuniform float wireframeLineWidth : 1;\\nuniform vec4 wireframeLineColor: [0, 0, 0, 0.5];\\n\\n#ifdef WIREFRAME_QUAD\\nvarying vec4 v_Barycentric;\\nfloat edgeFactor () {\\n vec4 d = fwidth(v_Barycentric);\\n vec4 a4 = smoothstep(vec4(0.0), d * wireframeLineWidth, v_Barycentric);\\n return min(min(min(a4.x, a4.y), a4.z), a4.w);\\n}\\n#elif defined(WIREFRAME_TRIANGLE)\\nvarying vec3 v_Barycentric;\\nfloat edgeFactor () {\\n vec3 d = fwidth(v_Barycentric);\\n vec3 a3 = smoothstep(vec3(0.0), d * wireframeLineWidth, v_Barycentric);\\n return min(min(a3.x, a3.y), a3.z);\\n}\\n#endif\\n\\n@end\\n\\n\\n@export ecgl.common.wireframe.fragmentMain\\n\\n#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)\\n if (wireframeLineWidth > 0.) {\\n vec4 lineColor = wireframeLineColor;\\n#ifdef SRGB_DECODE\\n lineColor = sRGBToLinear(lineColor);\\n#endif\\n\\n gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor()) * lineColor.a);\\n }\\n#endif\\n@end\\n\\n\\n\\n\\n@export ecgl.common.bumpMap.header\\n\\n#ifdef BUMPMAP_ENABLED\\nuniform sampler2D bumpMap;\\nuniform float bumpScale : 1.0;\\n\\n\\nvec3 bumpNormal(vec3 surfPos, vec3 surfNormal, vec3 baseNormal)\\n{\\n vec2 dSTdx = dFdx(v_Texcoord);\\n vec2 dSTdy = dFdy(v_Texcoord);\\n\\n float Hll = bumpScale * texture2D(bumpMap, v_Texcoord).x;\\n float dHx = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdx).x - Hll;\\n float dHy = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdy).x - Hll;\\n\\n vec3 vSigmaX = dFdx(surfPos);\\n vec3 vSigmaY = dFdy(surfPos);\\n vec3 vN = surfNormal;\\n\\n vec3 R1 = cross(vSigmaY, vN);\\n vec3 R2 = cross(vN, vSigmaX);\\n\\n float fDet = dot(vSigmaX, R1);\\n\\n vec3 vGrad = sign(fDet) * (dHx * R1 + dHy * R2);\\n return normalize(abs(fDet) * baseNormal - vGrad);\\n\\n}\\n#endif\\n\\n@end\\n\\n@export ecgl.common.normalMap.vertexHeader\\n\\n#ifdef NORMALMAP_ENABLED\\nattribute vec4 tangent : TANGENT;\\nvarying vec3 v_Tangent;\\nvarying vec3 v_Bitangent;\\n#endif\\n\\n@end\\n\\n@export ecgl.common.normalMap.vertexMain\\n\\n#ifdef NORMALMAP_ENABLED\\n if (dot(tangent, tangent) > 0.0) {\\n v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);\\n v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);\\n }\\n#endif\\n\\n@end\\n\\n\\n@export ecgl.common.normalMap.fragmentHeader\\n\\n#ifdef NORMALMAP_ENABLED\\nuniform sampler2D normalMap;\\nvarying vec3 v_Tangent;\\nvarying vec3 v_Bitangent;\\n#endif\\n\\n@end\\n\\n@export ecgl.common.normalMap.fragmentMain\\n#ifdef NORMALMAP_ENABLED\\n if (dot(v_Tangent, v_Tangent) > 0.0) {\\n vec3 normalTexel = texture2D(normalMap, v_DetailTexcoord).xyz;\\n if (dot(normalTexel, normalTexel) > 0.0) { N = normalTexel * 2.0 - 1.0;\\n mat3 tbn = mat3(v_Tangent, v_Bitangent, v_Normal);\\n N = normalize(tbn * N);\\n }\\n }\\n#endif\\n@end\\n\\n\\n\\n@export ecgl.common.vertexAnimation.header\\n\\n#ifdef VERTEX_ANIMATION\\nattribute vec3 prevPosition;\\nattribute vec3 prevNormal;\\nuniform float percent;\\n#endif\\n\\n@end\\n\\n@export ecgl.common.vertexAnimation.main\\n\\n#ifdef VERTEX_ANIMATION\\n vec3 pos = mix(prevPosition, position, percent);\\n vec3 norm = mix(prevNormal, normal, percent);\\n#else\\n vec3 pos = position;\\n vec3 norm = normal;\\n#endif\\n\\n@end\\n\\n\\n@export ecgl.common.ssaoMap.header\\n#ifdef SSAOMAP_ENABLED\\nuniform sampler2D ssaoMap;\\nuniform vec4 viewport : VIEWPORT;\\n#endif\\n@end\\n\\n@export ecgl.common.ssaoMap.main\\n float ao = 1.0;\\n#ifdef SSAOMAP_ENABLED\\n ao = texture2D(ssaoMap, (gl_FragCoord.xy - viewport.xy) / viewport.zw).r;\\n#endif\\n@end\\n\\n\\n\\n\\n@export ecgl.common.diffuseLayer.header\\n\\n#if (LAYER_DIFFUSEMAP_COUNT > 0)\\nuniform float layerDiffuseIntensity[LAYER_DIFFUSEMAP_COUNT];\\nuniform sampler2D layerDiffuseMap[LAYER_DIFFUSEMAP_COUNT];\\n#endif\\n\\n@end\\n\\n@export ecgl.common.emissiveLayer.header\\n\\n#if (LAYER_EMISSIVEMAP_COUNT > 0)\\nuniform float layerEmissionIntensity[LAYER_EMISSIVEMAP_COUNT];\\nuniform sampler2D layerEmissiveMap[LAYER_EMISSIVEMAP_COUNT];\\n#endif\\n\\n@end\\n\\n@export ecgl.common.layers.header\\n@import ecgl.common.diffuseLayer.header\\n@import ecgl.common.emissiveLayer.header\\n@end\\n\\n@export ecgl.common.diffuseLayer.main\\n\\n#if (LAYER_DIFFUSEMAP_COUNT > 0)\\n for (int _idx_ = 0; _idx_ < LAYER_DIFFUSEMAP_COUNT; _idx_++) {{\\n float intensity = layerDiffuseIntensity[_idx_];\\n vec4 texel2 = texture2D(layerDiffuseMap[_idx_], v_Texcoord);\\n #ifdef SRGB_DECODE\\n texel2 = sRGBToLinear(texel2);\\n #endif\\n albedoTexel.rgb = mix(albedoTexel.rgb, texel2.rgb * intensity, texel2.a);\\n albedoTexel.a = texel2.a + (1.0 - texel2.a) * albedoTexel.a;\\n }}\\n#endif\\n\\n@end\\n\\n@export ecgl.common.emissiveLayer.main\\n\\n#if (LAYER_EMISSIVEMAP_COUNT > 0)\\n for (int _idx_ = 0; _idx_ < LAYER_EMISSIVEMAP_COUNT; _idx_++)\\n {{\\n vec4 texel2 = texture2D(layerEmissiveMap[_idx_], v_Texcoord) * layerEmissionIntensity[_idx_];\\n #ifdef SRGB_DECODE\\n texel2 = sRGBToLinear(texel2);\\n #endif\\n float intensity = layerEmissionIntensity[_idx_];\\n gl_FragColor.rgb += texel2.rgb * texel2.a * intensity;\\n }}\\n#endif\\n\\n@end\\n\");\n\n\n/***/ }),\n/* 148 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export ecgl.color.vertex\\n\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\n\\n@import ecgl.common.uv.header\\n\\nattribute vec2 texcoord : TEXCOORD_0;\\nattribute vec3 position: POSITION;\\n\\n@import ecgl.common.wireframe.vertexHeader\\n\\n#ifdef VERTEX_COLOR\\nattribute vec4 a_Color : COLOR;\\nvarying vec4 v_Color;\\n#endif\\n\\n#ifdef VERTEX_ANIMATION\\nattribute vec3 prevPosition;\\nuniform float percent : 1.0;\\n#endif\\n\\nvoid main()\\n{\\n#ifdef VERTEX_ANIMATION\\n vec3 pos = mix(prevPosition, position, percent);\\n#else\\n vec3 pos = position;\\n#endif\\n\\n gl_Position = worldViewProjection * vec4(pos, 1.0);\\n\\n @import ecgl.common.uv.main\\n\\n#ifdef VERTEX_COLOR\\n v_Color = a_Color;\\n#endif\\n\\n @import ecgl.common.wireframe.vertexMain\\n\\n}\\n\\n@end\\n\\n@export ecgl.color.fragment\\n\\n#define LAYER_DIFFUSEMAP_COUNT 0\\n#define LAYER_EMISSIVEMAP_COUNT 0\\n\\nuniform sampler2D diffuseMap;\\nuniform sampler2D detailMap;\\n\\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\\n\\n#ifdef VERTEX_COLOR\\nvarying vec4 v_Color;\\n#endif\\n\\n@import ecgl.common.layers.header\\n\\n@import ecgl.common.uv.fragmentHeader\\n\\n@import ecgl.common.wireframe.fragmentHeader\\n\\n@import clay.util.srgb\\n\\nvoid main()\\n{\\n#ifdef SRGB_DECODE\\n gl_FragColor = sRGBToLinear(color);\\n#else\\n gl_FragColor = color;\\n#endif\\n\\n#ifdef VERTEX_COLOR\\n gl_FragColor *= v_Color;\\n#endif\\n\\n @import ecgl.common.albedo.main\\n\\n @import ecgl.common.diffuseLayer.main\\n\\n gl_FragColor *= albedoTexel;\\n\\n @import ecgl.common.emissiveLayer.main\\n\\n @import ecgl.common.wireframe.fragmentMain\\n\\n}\\n@end\");\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"/**\\n * http: */\\n\\n@export ecgl.lambert.vertex\\n\\n@import ecgl.common.transformUniforms\\n\\n@import ecgl.common.uv.header\\n\\n\\n@import ecgl.common.attributes\\n\\n@import ecgl.common.wireframe.vertexHeader\\n\\n#ifdef VERTEX_COLOR\\nattribute vec4 a_Color : COLOR;\\nvarying vec4 v_Color;\\n#endif\\n\\n\\n@import ecgl.common.vertexAnimation.header\\n\\n\\nvarying vec3 v_Normal;\\nvarying vec3 v_WorldPosition;\\n\\nvoid main()\\n{\\n @import ecgl.common.uv.main\\n\\n @import ecgl.common.vertexAnimation.main\\n\\n\\n gl_Position = worldViewProjection * vec4(pos, 1.0);\\n\\n v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);\\n v_WorldPosition = (world * vec4(pos, 1.0)).xyz;\\n\\n#ifdef VERTEX_COLOR\\n v_Color = a_Color;\\n#endif\\n\\n @import ecgl.common.wireframe.vertexMain\\n}\\n\\n@end\\n\\n\\n@export ecgl.lambert.fragment\\n\\n#define LAYER_DIFFUSEMAP_COUNT 0\\n#define LAYER_EMISSIVEMAP_COUNT 0\\n\\n#define NORMAL_UP_AXIS 1\\n#define NORMAL_FRONT_AXIS 2\\n\\n@import ecgl.common.uv.fragmentHeader\\n\\nvarying vec3 v_Normal;\\nvarying vec3 v_WorldPosition;\\n\\nuniform sampler2D diffuseMap;\\nuniform sampler2D detailMap;\\n\\n@import ecgl.common.layers.header\\n\\nuniform float emissionIntensity: 1.0;\\n\\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\\n\\nuniform mat4 viewInverse : VIEWINVERSE;\\n\\n#ifdef AMBIENT_LIGHT_COUNT\\n@import clay.header.ambient_light\\n#endif\\n#ifdef AMBIENT_SH_LIGHT_COUNT\\n@import clay.header.ambient_sh_light\\n#endif\\n\\n#ifdef DIRECTIONAL_LIGHT_COUNT\\n@import clay.header.directional_light\\n#endif\\n\\n#ifdef VERTEX_COLOR\\nvarying vec4 v_Color;\\n#endif\\n\\n\\n@import ecgl.common.ssaoMap.header\\n\\n@import ecgl.common.bumpMap.header\\n\\n@import clay.util.srgb\\n\\n@import ecgl.common.wireframe.fragmentHeader\\n\\n@import clay.plugin.compute_shadow_map\\n\\nvoid main()\\n{\\n#ifdef SRGB_DECODE\\n gl_FragColor = sRGBToLinear(color);\\n#else\\n gl_FragColor = color;\\n#endif\\n\\n#ifdef VERTEX_COLOR\\n #ifdef SRGB_DECODE\\n gl_FragColor *= sRGBToLinear(v_Color);\\n #else\\n gl_FragColor *= v_Color;\\n #endif\\n#endif\\n\\n @import ecgl.common.albedo.main\\n\\n @import ecgl.common.diffuseLayer.main\\n\\n gl_FragColor *= albedoTexel;\\n\\n vec3 N = v_Normal;\\n#ifdef DOUBLE_SIDED\\n vec3 eyePos = viewInverse[3].xyz;\\n vec3 V = normalize(eyePos - v_WorldPosition);\\n\\n if (dot(N, V) < 0.0) {\\n N = -N;\\n }\\n#endif\\n\\n float ambientFactor = 1.0;\\n\\n#ifdef BUMPMAP_ENABLED\\n N = bumpNormal(v_WorldPosition, v_Normal, N);\\n ambientFactor = dot(v_Normal, N);\\n#endif\\n\\n vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);\\n\\n vec3 diffuseColor = vec3(0.0, 0.0, 0.0);\\n\\n @import ecgl.common.ssaoMap.main\\n\\n#ifdef AMBIENT_LIGHT_COUNT\\n for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)\\n {\\n diffuseColor += ambientLightColor[i] * ambientFactor * ao;\\n }\\n#endif\\n#ifdef AMBIENT_SH_LIGHT_COUNT\\n for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)\\n {{\\n diffuseColor += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;\\n }}\\n#endif\\n#ifdef DIRECTIONAL_LIGHT_COUNT\\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\\n float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];\\n if(shadowEnabled)\\n {\\n computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);\\n }\\n#endif\\n for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)\\n {\\n vec3 lightDirection = -directionalLightDirection[i];\\n vec3 lightColor = directionalLightColor[i];\\n\\n float shadowContrib = 1.0;\\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\\n if (shadowEnabled)\\n {\\n shadowContrib = shadowContribsDir[i];\\n }\\n#endif\\n\\n float ndl = dot(N, normalize(lightDirection)) * shadowContrib;\\n\\n diffuseColor += lightColor * clamp(ndl, 0.0, 1.0);\\n }\\n#endif\\n\\n gl_FragColor.rgb *= diffuseColor;\\n\\n @import ecgl.common.emissiveLayer.main\\n\\n @import ecgl.common.wireframe.fragmentMain\\n}\\n\\n@end\");\n\n\n/***/ }),\n/* 150 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export ecgl.realistic.vertex\\n\\n@import ecgl.common.transformUniforms\\n\\n@import ecgl.common.uv.header\\n\\n@import ecgl.common.attributes\\n\\n\\n@import ecgl.common.wireframe.vertexHeader\\n\\n#ifdef VERTEX_COLOR\\nattribute vec4 a_Color : COLOR;\\nvarying vec4 v_Color;\\n#endif\\n\\n#ifdef NORMALMAP_ENABLED\\nattribute vec4 tangent : TANGENT;\\nvarying vec3 v_Tangent;\\nvarying vec3 v_Bitangent;\\n#endif\\n\\n@import ecgl.common.vertexAnimation.header\\n\\nvarying vec3 v_Normal;\\nvarying vec3 v_WorldPosition;\\n\\nvoid main()\\n{\\n\\n @import ecgl.common.uv.main\\n\\n @import ecgl.common.vertexAnimation.main\\n\\n gl_Position = worldViewProjection * vec4(pos, 1.0);\\n\\n v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);\\n v_WorldPosition = (world * vec4(pos, 1.0)).xyz;\\n\\n#ifdef VERTEX_COLOR\\n v_Color = a_Color;\\n#endif\\n\\n#ifdef NORMALMAP_ENABLED\\n v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);\\n v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);\\n#endif\\n\\n @import ecgl.common.wireframe.vertexMain\\n\\n}\\n\\n@end\\n\\n\\n\\n@export ecgl.realistic.fragment\\n\\n#define LAYER_DIFFUSEMAP_COUNT 0\\n#define LAYER_EMISSIVEMAP_COUNT 0\\n#define PI 3.14159265358979\\n#define ROUGHNESS_CHANEL 0\\n#define METALNESS_CHANEL 1\\n\\n#define NORMAL_UP_AXIS 1\\n#define NORMAL_FRONT_AXIS 2\\n\\n#ifdef VERTEX_COLOR\\nvarying vec4 v_Color;\\n#endif\\n\\n@import ecgl.common.uv.fragmentHeader\\n\\nvarying vec3 v_Normal;\\nvarying vec3 v_WorldPosition;\\n\\nuniform sampler2D diffuseMap;\\n\\nuniform sampler2D detailMap;\\nuniform sampler2D metalnessMap;\\nuniform sampler2D roughnessMap;\\n\\n@import ecgl.common.layers.header\\n\\nuniform float emissionIntensity: 1.0;\\n\\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\\n\\nuniform float metalness : 0.0;\\nuniform float roughness : 0.5;\\n\\nuniform mat4 viewInverse : VIEWINVERSE;\\n\\n#ifdef AMBIENT_LIGHT_COUNT\\n@import clay.header.ambient_light\\n#endif\\n\\n#ifdef AMBIENT_SH_LIGHT_COUNT\\n@import clay.header.ambient_sh_light\\n#endif\\n\\n#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT\\n@import clay.header.ambient_cubemap_light\\n#endif\\n\\n#ifdef DIRECTIONAL_LIGHT_COUNT\\n@import clay.header.directional_light\\n#endif\\n\\n@import ecgl.common.normalMap.fragmentHeader\\n\\n@import ecgl.common.ssaoMap.header\\n\\n@import ecgl.common.bumpMap.header\\n\\n@import clay.util.srgb\\n\\n@import clay.util.rgbm\\n\\n@import ecgl.common.wireframe.fragmentHeader\\n\\n@import clay.plugin.compute_shadow_map\\n\\nvec3 F_Schlick(float ndv, vec3 spec) {\\n return spec + (1.0 - spec) * pow(1.0 - ndv, 5.0);\\n}\\n\\nfloat D_Phong(float g, float ndh) {\\n float a = pow(8192.0, g);\\n return (a + 2.0) / 8.0 * pow(ndh, a);\\n}\\n\\nvoid main()\\n{\\n vec4 albedoColor = color;\\n\\n vec3 eyePos = viewInverse[3].xyz;\\n vec3 V = normalize(eyePos - v_WorldPosition);\\n#ifdef VERTEX_COLOR\\n #ifdef SRGB_DECODE\\n albedoColor *= sRGBToLinear(v_Color);\\n #else\\n albedoColor *= v_Color;\\n #endif\\n#endif\\n\\n @import ecgl.common.albedo.main\\n\\n @import ecgl.common.diffuseLayer.main\\n\\n albedoColor *= albedoTexel;\\n\\n float m = metalness;\\n\\n#ifdef METALNESSMAP_ENABLED\\n float m2 = texture2D(metalnessMap, v_DetailTexcoord)[METALNESS_CHANEL];\\n m = clamp(m2 + (m - 0.5) * 2.0, 0.0, 1.0);\\n#endif\\n\\n vec3 baseColor = albedoColor.rgb;\\n albedoColor.rgb = baseColor * (1.0 - m);\\n vec3 specFactor = mix(vec3(0.04), baseColor, m);\\n\\n float g = 1.0 - roughness;\\n\\n#ifdef ROUGHNESSMAP_ENABLED\\n float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];\\n g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);\\n#endif\\n\\n vec3 N = v_Normal;\\n\\n#ifdef DOUBLE_SIDED\\n if (dot(N, V) < 0.0) {\\n N = -N;\\n }\\n#endif\\n\\n float ambientFactor = 1.0;\\n\\n#ifdef BUMPMAP_ENABLED\\n N = bumpNormal(v_WorldPosition, v_Normal, N);\\n ambientFactor = dot(v_Normal, N);\\n#endif\\n\\n@import ecgl.common.normalMap.fragmentMain\\n\\n vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);\\n\\n vec3 diffuseTerm = vec3(0.0);\\n vec3 specularTerm = vec3(0.0);\\n\\n float ndv = clamp(dot(N, V), 0.0, 1.0);\\n vec3 fresnelTerm = F_Schlick(ndv, specFactor);\\n\\n @import ecgl.common.ssaoMap.main\\n\\n#ifdef AMBIENT_LIGHT_COUNT\\n for(int _idx_ = 0; _idx_ < AMBIENT_LIGHT_COUNT; _idx_++)\\n {{\\n diffuseTerm += ambientLightColor[_idx_] * ambientFactor * ao;\\n }}\\n#endif\\n\\n#ifdef AMBIENT_SH_LIGHT_COUNT\\n for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)\\n {{\\n diffuseTerm += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;\\n }}\\n#endif\\n\\n#ifdef DIRECTIONAL_LIGHT_COUNT\\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\\n float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];\\n if(shadowEnabled)\\n {\\n computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);\\n }\\n#endif\\n for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++)\\n {{\\n vec3 L = -directionalLightDirection[_idx_];\\n vec3 lc = directionalLightColor[_idx_];\\n\\n vec3 H = normalize(L + V);\\n float ndl = clamp(dot(N, normalize(L)), 0.0, 1.0);\\n float ndh = clamp(dot(N, H), 0.0, 1.0);\\n\\n float shadowContrib = 1.0;\\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\\n if (shadowEnabled)\\n {\\n shadowContrib = shadowContribsDir[_idx_];\\n }\\n#endif\\n\\n vec3 li = lc * ndl * shadowContrib;\\n\\n diffuseTerm += li;\\n specularTerm += li * fresnelTerm * D_Phong(g, ndh);\\n }}\\n#endif\\n\\n\\n#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT\\n vec3 L = reflect(-V, N);\\n L = vec3(L.x, L[NORMAL_UP_AXIS], L[NORMAL_FRONT_AXIS]);\\n float rough2 = clamp(1.0 - g, 0.0, 1.0);\\n float bias2 = rough2 * 5.0;\\n vec2 brdfParam2 = texture2D(ambientCubemapLightBRDFLookup[0], vec2(rough2, ndv)).xy;\\n vec3 envWeight2 = specFactor * brdfParam2.x + brdfParam2.y;\\n vec3 envTexel2;\\n for(int _idx_ = 0; _idx_ < AMBIENT_CUBEMAP_LIGHT_COUNT; _idx_++)\\n {{\\n envTexel2 = RGBMDecode(textureCubeLodEXT(ambientCubemapLightCubemap[_idx_], L, bias2), 8.12);\\n specularTerm += ambientCubemapLightColor[_idx_] * envTexel2 * envWeight2 * ao;\\n }}\\n#endif\\n\\n gl_FragColor.rgb = albedoColor.rgb * diffuseTerm + specularTerm;\\n gl_FragColor.a = albedoColor.a;\\n\\n#ifdef SRGB_ENCODE\\n gl_FragColor = linearTosRGB(gl_FragColor);\\n#endif\\n\\n @import ecgl.common.emissiveLayer.main\\n\\n @import ecgl.common.wireframe.fragmentMain\\n}\\n\\n@end\");\n\n\n/***/ }),\n/* 151 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export ecgl.hatching.vertex\\n\\n@import ecgl.realistic.vertex\\n\\n@end\\n\\n\\n@export ecgl.hatching.fragment\\n\\n#define NORMAL_UP_AXIS 1\\n#define NORMAL_FRONT_AXIS 2\\n\\n@import ecgl.common.uv.fragmentHeader\\n\\nvarying vec3 v_Normal;\\nvarying vec3 v_WorldPosition;\\n\\nuniform vec4 color : [0.0, 0.0, 0.0, 1.0];\\nuniform vec4 paperColor : [1.0, 1.0, 1.0, 1.0];\\n\\nuniform mat4 viewInverse : VIEWINVERSE;\\n\\n#ifdef AMBIENT_LIGHT_COUNT\\n@import clay.header.ambient_light\\n#endif\\n#ifdef AMBIENT_SH_LIGHT_COUNT\\n@import clay.header.ambient_sh_light\\n#endif\\n\\n#ifdef DIRECTIONAL_LIGHT_COUNT\\n@import clay.header.directional_light\\n#endif\\n\\n#ifdef VERTEX_COLOR\\nvarying vec4 v_Color;\\n#endif\\n\\n\\n@import ecgl.common.ssaoMap.header\\n\\n@import ecgl.common.bumpMap.header\\n\\n@import clay.util.srgb\\n\\n@import ecgl.common.wireframe.fragmentHeader\\n\\n@import clay.plugin.compute_shadow_map\\n\\nuniform sampler2D hatch1;\\nuniform sampler2D hatch2;\\nuniform sampler2D hatch3;\\nuniform sampler2D hatch4;\\nuniform sampler2D hatch5;\\nuniform sampler2D hatch6;\\n\\nfloat shade(in float tone) {\\n vec4 c = vec4(1. ,1., 1., 1.);\\n float step = 1. / 6.;\\n vec2 uv = v_DetailTexcoord;\\n if (tone <= step / 2.0) {\\n c = mix(vec4(0.), texture2D(hatch6, uv), 12. * tone);\\n }\\n else if (tone <= step) {\\n c = mix(texture2D(hatch6, uv), texture2D(hatch5, uv), 6. * tone);\\n }\\n if(tone > step && tone <= 2. * step){\\n c = mix(texture2D(hatch5, uv), texture2D(hatch4, uv) , 6. * (tone - step));\\n }\\n if(tone > 2. * step && tone <= 3. * step){\\n c = mix(texture2D(hatch4, uv), texture2D(hatch3, uv), 6. * (tone - 2. * step));\\n }\\n if(tone > 3. * step && tone <= 4. * step){\\n c = mix(texture2D(hatch3, uv), texture2D(hatch2, uv), 6. * (tone - 3. * step));\\n }\\n if(tone > 4. * step && tone <= 5. * step){\\n c = mix(texture2D(hatch2, uv), texture2D(hatch1, uv), 6. * (tone - 4. * step));\\n }\\n if(tone > 5. * step){\\n c = mix(texture2D(hatch1, uv), vec4(1.), 6. * (tone - 5. * step));\\n }\\n\\n return c.r;\\n}\\n\\nconst vec3 w = vec3(0.2125, 0.7154, 0.0721);\\n\\nvoid main()\\n{\\n#ifdef SRGB_DECODE\\n vec4 inkColor = sRGBToLinear(color);\\n#else\\n vec4 inkColor = color;\\n#endif\\n\\n#ifdef VERTEX_COLOR\\n #ifdef SRGB_DECODE\\n inkColor *= sRGBToLinear(v_Color);\\n #else\\n inkColor *= v_Color;\\n #endif\\n#endif\\n\\n vec3 N = v_Normal;\\n#ifdef DOUBLE_SIDED\\n vec3 eyePos = viewInverse[3].xyz;\\n vec3 V = normalize(eyePos - v_WorldPosition);\\n\\n if (dot(N, V) < 0.0) {\\n N = -N;\\n }\\n#endif\\n\\n float tone = 0.0;\\n\\n float ambientFactor = 1.0;\\n\\n#ifdef BUMPMAP_ENABLED\\n N = bumpNormal(v_WorldPosition, v_Normal, N);\\n ambientFactor = dot(v_Normal, N);\\n#endif\\n\\n vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);\\n\\n @import ecgl.common.ssaoMap.main\\n\\n#ifdef AMBIENT_LIGHT_COUNT\\n for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)\\n {\\n tone += dot(ambientLightColor[i], w) * ambientFactor * ao;\\n }\\n#endif\\n#ifdef AMBIENT_SH_LIGHT_COUNT\\n for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)\\n {{\\n tone += dot(calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_], w) * ao;\\n }}\\n#endif\\n#ifdef DIRECTIONAL_LIGHT_COUNT\\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\\n float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];\\n if(shadowEnabled)\\n {\\n computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);\\n }\\n#endif\\n for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)\\n {\\n vec3 lightDirection = -directionalLightDirection[i];\\n float lightTone = dot(directionalLightColor[i], w);\\n\\n float shadowContrib = 1.0;\\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\\n if (shadowEnabled)\\n {\\n shadowContrib = shadowContribsDir[i];\\n }\\n#endif\\n\\n float ndl = dot(N, normalize(lightDirection)) * shadowContrib;\\n\\n tone += lightTone * clamp(ndl, 0.0, 1.0);\\n }\\n#endif\\n\\n gl_FragColor = mix(inkColor, paperColor, shade(clamp(tone, 0.0, 1.0)));\\n }\\n@end\\n\");\n\n\n/***/ }),\n/* 152 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export ecgl.sm.depth.vertex\\n\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\n\\nattribute vec3 position : POSITION;\\nattribute vec2 texcoord : TEXCOORD_0;\\n\\n#ifdef VERTEX_ANIMATION\\nattribute vec3 prevPosition;\\nuniform float percent : 1.0;\\n#endif\\n\\nvarying vec4 v_ViewPosition;\\nvarying vec2 v_Texcoord;\\n\\nvoid main(){\\n\\n#ifdef VERTEX_ANIMATION\\n vec3 pos = mix(prevPosition, position, percent);\\n#else\\n vec3 pos = position;\\n#endif\\n\\n v_ViewPosition = worldViewProjection * vec4(pos, 1.0);\\n gl_Position = v_ViewPosition;\\n\\n v_Texcoord = texcoord;\\n\\n}\\n@end\\n\\n\\n\\n@export ecgl.sm.depth.fragment\\n\\n@import clay.sm.depth.fragment\\n\\n@end\");\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n\n\nvar GL_SERIES = ['bar3D', 'line3D', 'map3D', 'scatter3D', 'surface', 'lines3D', 'scatterGL', 'scatter3D'];\n\nfunction convertNormalEmphasis(option, optType) {\n if (option && option[optType] && (option[optType].normal || option[optType].emphasis)) {\n var normalOpt = option[optType].normal;\n var emphasisOpt = option[optType].emphasis;\n\n if (normalOpt) {\n option[optType] = normalOpt;\n }\n if (emphasisOpt) {\n option.emphasis = option.emphasis || {};\n option.emphasis[optType] = emphasisOpt;\n }\n }\n}\n\nfunction convertNormalEmphasisForEach(option) {\n convertNormalEmphasis(option, 'itemStyle');\n convertNormalEmphasis(option, 'lineStyle');\n convertNormalEmphasis(option, 'areaStyle');\n convertNormalEmphasis(option, 'label');\n}\n\nfunction removeTextStyleInAxis(axesOpt) {\n if (!axesOpt) {\n return;\n }\n if (!(axesOpt instanceof Array)) {\n axesOpt = [axesOpt];\n }\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.each(axesOpt, function (axisOpt) {\n if (axisOpt.axisLabel) {\n var labelOpt = axisOpt.axisLabel;\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.extend(labelOpt, labelOpt.textStyle);\n labelOpt.textStyle = null;\n }\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function (option) {\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.each(option.series, function (series) {\n if (__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.indexOf(GL_SERIES, series.type) >= 0) {\n convertNormalEmphasisForEach(series);\n\n // Compatitable with original mapbox\n if (series.coordinateSystem === 'mapbox') {\n series.coordinateSystem = 'mapbox3D';\n option.mapbox3D = option.mapbox;\n }\n }\n });\n\n removeTextStyleInAxis(option.xAxis3D);\n removeTextStyleInAxis(option.yAxis3D);\n removeTextStyleInAxis(option.zAxis3D);\n removeTextStyleInAxis(option.grid3D);\n\n convertNormalEmphasis(option.geo3D);\n});;\n\n/***/ }),\n/* 154 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__grid3D_Axis3DModel__ = __webpack_require__(155);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__grid3D_Grid3DModel__ = __webpack_require__(159);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__grid3D_Grid3DView__ = __webpack_require__(160);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__coord_grid3DCreator__ = __webpack_require__(167);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_echarts_lib_echarts__);\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_4_echarts_lib_echarts___default.a.registerAction({\n type: 'grid3DChangeCamera',\n event: 'grid3dcamerachanged',\n update: 'series:updateCamera'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'grid3D', query: payload\n }, function (componentModel) {\n componentModel.setView(payload);\n });\n});\n\n__WEBPACK_IMPORTED_MODULE_4_echarts_lib_echarts___default.a.registerAction({\n type: 'grid3DShowAxisPointer',\n event: 'grid3dshowaxispointer',\n update: 'grid3D:showAxisPointer'\n}, function (payload, ecModel) {\n});\n\n__WEBPACK_IMPORTED_MODULE_4_echarts_lib_echarts___default.a.registerAction({\n type: 'grid3DHideAxisPointer',\n event: 'grid3dhideaxispointer',\n update: 'grid3D:hideAxisPointer'\n}, function (payload, ecModel) {\n});\n\n/***/ }),\n/* 155 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__createAxis3DModel__ = __webpack_require__(156);\n\n\n\nvar Axis3DModel = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendComponentModel({\n\n type: 'cartesian3DAxis',\n\n axis: null,\n\n /**\n * @override\n */\n getCoordSysModel: function () {\n return this.ecModel.queryComponents({\n mainType: 'grid3D',\n index: this.option.gridIndex,\n id: this.option.gridId\n })[0];\n }\n});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.helper.mixinAxisModelCommonMethods(Axis3DModel);\n\nfunction getAxisType(axisDim, option) {\n // Default axis with data is category axis\n return option.type || (option.data ? 'category' : 'value');\n}\n\nObject(__WEBPACK_IMPORTED_MODULE_1__createAxis3DModel__[\"a\" /* default */])('x', Axis3DModel, getAxisType, {\n name: 'X'\n});\nObject(__WEBPACK_IMPORTED_MODULE_1__createAxis3DModel__[\"a\" /* default */])('y', Axis3DModel, getAxisType, {\n name: 'Y'\n});\nObject(__WEBPACK_IMPORTED_MODULE_1__createAxis3DModel__[\"a\" /* default */])('z', Axis3DModel, getAxisType, {\n name: 'Z'\n});\n\n/***/ }),\n/* 156 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__axis3DDefault__ = __webpack_require__(157);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_echarts_lib_data_OrdinalMeta__ = __webpack_require__(158);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_echarts_lib_data_OrdinalMeta___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_echarts_lib_data_OrdinalMeta__);\n\n\n\n\n\nvar AXIS_TYPES = ['value', 'category', 'time', 'log'];\n/**\n * Generate sub axis model class\n * @param {string} dim 'x' 'y' 'radius' 'angle' 'parallel'\n * @param {module:echarts/model/Component} BaseAxisModelClass\n * @param {Function} axisTypeDefaulter\n * @param {Object} [extraDefaultOption]\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function (dim, BaseAxisModelClass, axisTypeDefaulter, extraDefaultOption) {\n\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.each(AXIS_TYPES, function (axisType) {\n\n BaseAxisModelClass.extend({\n\n type: dim + 'Axis3D.' + axisType,\n\n /**\n * @type readOnly\n */\n __ordinalMeta: null,\n\n mergeDefaultAndTheme: function (option, ecModel) {\n\n var themeModel = ecModel.getTheme();\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(option, themeModel.get(axisType + 'Axis3D'));\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(option, this.getDefaultOption());\n\n option.type = axisTypeDefaulter(dim, option);\n },\n\n /**\n * @override\n */\n optionUpdated: function () {\n var thisOption = this.option;\n\n if (thisOption.type === 'category') {\n this.__ordinalMeta = __WEBPACK_IMPORTED_MODULE_2_echarts_lib_data_OrdinalMeta___default.a.createByAxisModel(this);\n }\n },\n\n getCategories: function () {\n if (this.option.type === 'category') {\n return this.__ordinalMeta.categories;\n }\n },\n\n getOrdinalMeta: function () {\n return this.__ordinalMeta;\n },\n\n defaultOption: __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.clone(__WEBPACK_IMPORTED_MODULE_1__axis3DDefault__[\"a\" /* default */][axisType + 'Axis3D']),\n extraDefaultOption || {},\n true\n )\n });\n });\n\n // TODO\n BaseAxisModelClass.superClass.registerSubTypeDefaulter(\n dim + 'Axis3D',\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.curry(axisTypeDefaulter, dim)\n );\n});;\n\n/***/ }),\n/* 157 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n\n\nvar defaultOption = {\n show: true,\n\n grid3DIndex: 0,\n // 反向坐标轴\n inverse: false,\n\n // 坐标轴名字\n name: '',\n // 坐标轴名字位置\n nameLocation: 'middle',\n\n nameTextStyle: {\n fontSize: 16\n },\n // 文字与轴线距离\n nameGap: 20,\n\n axisPointer: {},\n\n axisLine: {},\n // 坐标轴小标记\n axisTick: {},\n axisLabel: {},\n // 分隔区域\n splitArea: {}\n};\n\nvar categoryAxis = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge({\n // 类目起始和结束两端空白策略\n boundaryGap: true,\n // splitArea: {\n // show: false\n // },\n // 坐标轴小标记\n axisTick: {\n // If tick is align with label when boundaryGap is true\n // Default with axisTick\n alignWithLabel: false,\n interval: 'auto'\n },\n // 坐标轴文本标签,详见axis.axisLabel\n axisLabel: {\n interval: 'auto'\n },\n axisPointer: {\n label: {\n show: false\n }\n }\n}, defaultOption);\n\nvar valueAxis = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge({\n // 数值起始和结束两端空白策略\n boundaryGap: [0, 0],\n // 最小值, 设置成 'dataMin' 则从数据中计算最小值\n // min: null,\n // 最大值,设置成 'dataMax' 则从数据中计算最大值\n // max: null,\n // 脱离0值比例,放大聚焦到最终_min,_max区间\n // scale: false,\n // 分割段数,默认为5\n splitNumber: 5,\n // Minimum interval\n // minInterval: null\n\n axisPointer: {\n label: {\n }\n }\n}, defaultOption);\n\n// FIXME\nvar timeAxis = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.defaults({\n scale: true,\n min: 'dataMin',\n max: 'dataMax'\n}, valueAxis);\nvar logAxis = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.defaults({\n logBase: 10\n}, valueAxis);\nlogAxis.scale = true;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n categoryAxis3D: categoryAxis,\n valueAxis3D: valueAxis,\n timeAxis3D: timeAxis,\n logAxis3D: logAxis\n});\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar _util = __webpack_require__(13);\n\nvar createHashMap = _util.createHashMap;\nvar isObject = _util.isObject;\nvar map = _util.map;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @constructor\n * @param {Object} [opt]\n * @param {Object} [opt.categories=[]]\n * @param {Object} [opt.needCollect=false]\n * @param {Object} [opt.deduplication=false]\n */\nfunction OrdinalMeta(opt) {\n /**\n * @readOnly\n * @type {Array.}\n */\n this.categories = opt.categories || [];\n /**\n * @private\n * @type {boolean}\n */\n\n this._needCollect = opt.needCollect;\n /**\n * @private\n * @type {boolean}\n */\n\n this._deduplication = opt.deduplication;\n /**\n * @private\n * @type {boolean}\n */\n\n this._map;\n}\n/**\n * @param {module:echarts/model/Model} axisModel\n * @return {module:echarts/data/OrdinalMeta}\n */\n\n\nOrdinalMeta.createByAxisModel = function (axisModel) {\n var option = axisModel.option;\n var data = option.data;\n var categories = data && map(data, getName);\n return new OrdinalMeta({\n categories: categories,\n needCollect: !categories,\n // deduplication is default in axis.\n deduplication: option.dedplication !== false\n });\n};\n\nvar proto = OrdinalMeta.prototype;\n/**\n * @param {string} category\n * @return {number} ordinal\n */\n\nproto.getOrdinal = function (category) {\n return getOrCreateMap(this).get(category);\n};\n/**\n * @param {*} category\n * @return {number} The ordinal. If not found, return NaN.\n */\n\n\nproto.parseAndCollect = function (category) {\n var index;\n var needCollect = this._needCollect; // The value of category dim can be the index of the given category set.\n // This feature is only supported when !needCollect, because we should\n // consider a common case: a value is 2017, which is a number but is\n // expected to be tread as a category. This case usually happen in dataset,\n // where it happent to be no need of the index feature.\n\n if (typeof category !== 'string' && !needCollect) {\n return category;\n } // Optimize for the scenario:\n // category is ['2012-01-01', '2012-01-02', ...], where the input\n // data has been ensured not duplicate and is large data.\n // Notice, if a dataset dimension provide categroies, usually echarts\n // should remove duplication except user tell echarts dont do that\n // (set axis.deduplication = false), because echarts do not know whether\n // the values in the category dimension has duplication (consider the\n // parallel-aqi example)\n\n\n if (needCollect && !this._deduplication) {\n index = this.categories.length;\n this.categories[index] = category;\n return index;\n }\n\n var map = getOrCreateMap(this);\n index = map.get(category);\n\n if (index == null) {\n if (needCollect) {\n index = this.categories.length;\n this.categories[index] = category;\n map.set(category, index);\n } else {\n index = NaN;\n }\n }\n\n return index;\n}; // Consider big data, do not create map until needed.\n\n\nfunction getOrCreateMap(ordinalMeta) {\n return ordinalMeta._map || (ordinalMeta._map = createHashMap(ordinalMeta.categories));\n}\n\nfunction getName(obj) {\n if (isObject(obj) && obj.value != null) {\n return obj.value;\n } else {\n return obj + '';\n }\n}\n\nvar _default = OrdinalMeta;\nmodule.exports = _default;\n\n/***/ }),\n/* 159 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_componentViewControlMixin__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_componentPostEffectMixin__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common_componentLightMixin__ = __webpack_require__(29);\n\n\n\n\n\nvar Grid3DModel = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendComponentModel({\n\n type: 'grid3D',\n\n dependencies: ['xAxis3D', 'yAxis3D', 'zAxis3D'],\n\n defaultOption: {\n\n show: true,\n\n zlevel: -10,\n\n // Layout used for viewport\n left: 0,\n top: 0,\n width: '100%',\n height: '100%',\n\n environment: 'auto',\n\n // Dimension of grid3D\n boxWidth: 100,\n boxHeight: 100,\n boxDepth: 100,\n\n // Common axis options.\n axisPointer: {\n show: true,\n lineStyle: {\n color: 'rgba(0, 0, 0, 0.8)',\n width: 1\n },\n\n label: {\n show: true,\n // (dimValue: number, value: Array) => string\n formatter: null,\n\n // TODO, Consider boxWidth\n margin: 8,\n // backgroundColor: '#ffbd67',\n // borderColor: '#000',\n // borderWidth: 0,\n\n textStyle: {\n fontSize: 14,\n color: '#fff',\n backgroundColor: 'rgba(0,0,0,0.5)',\n padding: 3,\n borderRadius: 3\n }\n }\n },\n\n axisLine: {\n show: true,\n lineStyle: {\n color: '#333',\n width: 2,\n type: 'solid'\n }\n },\n\n axisTick: {\n show: true,\n inside: false,\n length: 3,\n lineStyle: {\n width: 1\n }\n },\n axisLabel: {\n show: true,\n inside: false,\n rotate: 0,\n margin: 8,\n textStyle: {\n fontSize: 12\n }\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#ccc'],\n width: 1,\n type: 'solid'\n }\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.3)','rgba(200,200,200,0.3)']\n }\n },\n\n // Light options\n light: {\n main: {\n // Alpha angle for top-down rotation\n // Positive to rotate to top.\n alpha: 30,\n // beta angle for left-right rotation\n // Positive to rotate to right.\n beta: 40\n },\n ambient: {\n intensity: 0.4\n }\n },\n\n viewControl: {\n // Small damping for precise control.\n // damping: 0.1,\n\n // Alpha angle for top-down rotation\n // Positive to rotate to top.\n alpha: 20,\n // beta angle for left-right rotation\n // Positive to rotate to right.\n beta: 40,\n\n autoRotate: false,\n\n // Distance to the surface of grid3D.\n distance: 200,\n\n // Min distance to the surface of grid3D\n minDistance: 40,\n // Max distance to the surface of grid3D\n maxDistance: 400\n }\n }\n});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Grid3DModel.prototype, __WEBPACK_IMPORTED_MODULE_1__common_componentViewControlMixin__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Grid3DModel.prototype, __WEBPACK_IMPORTED_MODULE_2__common_componentPostEffectMixin__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Grid3DModel.prototype, __WEBPACK_IMPORTED_MODULE_3__common_componentLightMixin__[\"a\" /* default */]);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (Grid3DModel);\n\n\n\n/***/ }),\n/* 160 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_OrbitControl__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_geometry_Lines3D__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_retrieve__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_ZRTextureAtlasSurface__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__common_SceneHelper__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Grid3DFace__ = __webpack_require__(162);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__Grid3DAxis__ = __webpack_require__(164);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util_mesh_LabelsMesh__ = __webpack_require__(63);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__util_shader_lines3D_glsl_js__ = __webpack_require__(46);\n// TODO orthographic camera\n\n\n\n\n\n\nvar firstNotNull = __WEBPACK_IMPORTED_MODULE_4__util_retrieve__[\"a\" /* default */].firstNotNull;\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.import(__WEBPACK_IMPORTED_MODULE_10__util_shader_lines3D_glsl_js__[\"a\" /* default */]);\n\n['x', 'y', 'z'].forEach(function (dim) {\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendComponentView({\n type: dim + 'Axis3D'\n });\n});\n\nvar dimIndicesMap = {\n // Left to right\n x: 0,\n // Far to near\n y: 2,\n // Bottom to up\n z: 1\n};\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendComponentView({\n\n type: 'grid3D',\n\n __ecgl__: true,\n\n init: function (ecModel, api) {\n\n var FACES = [\n // planeDim0, planeDim1, offsetDim, dir on dim3 axis(gl), plane.\n ['y', 'z', 'x', -1, 'left'],\n ['y', 'z', 'x', 1, 'right'],\n ['x', 'y', 'z', -1, 'bottom'],\n ['x', 'y','z', 1, 'top'],\n ['x', 'z', 'y', -1, 'far'],\n ['x', 'z','y', 1, 'near']\n ];\n\n var DIMS = ['x', 'y', 'z'];\n\n var quadsMaterial = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Material({\n // transparent: true,\n shader: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createShader('ecgl.color'),\n depthMask: false,\n transparent: true\n });\n var linesMaterial = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Material({\n // transparent: true,\n shader: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createShader('ecgl.meshLines3D'),\n depthMask: false,\n transparent: true\n });\n quadsMaterial.define('fragment', 'DOUBLE_SIDED');\n quadsMaterial.define('both', 'VERTEX_COLOR');\n\n this.groupGL = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n\n this._control = new __WEBPACK_IMPORTED_MODULE_2__util_OrbitControl__[\"a\" /* default */]({\n zr: api.getZr()\n });\n this._control.init();\n\n // Save mesh and other infos for each face.\n this._faces = FACES.map(function (faceInfo) {\n var face = new __WEBPACK_IMPORTED_MODULE_7__Grid3DFace__[\"a\" /* default */](faceInfo, linesMaterial, quadsMaterial);\n this.groupGL.add(face.rootNode);\n return face;\n }, this);\n\n // Save mesh and other infos for each axis.\n this._axes = DIMS.map(function (dim) {\n var axis = new __WEBPACK_IMPORTED_MODULE_8__Grid3DAxis__[\"a\" /* default */](dim, linesMaterial);\n this.groupGL.add(axis.rootNode);\n return axis;\n }, this);\n\n var dpr = api.getDevicePixelRatio();\n // Texture surface for label.\n this._axisLabelSurface = new __WEBPACK_IMPORTED_MODULE_5__util_ZRTextureAtlasSurface__[\"a\" /* default */]({\n width: 256, height: 256,\n devicePixelRatio: dpr\n });\n this._axisLabelSurface.onupdate = function () {\n api.getZr().refresh();\n };\n\n this._axisPointerLineMesh = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n geometry: new __WEBPACK_IMPORTED_MODULE_3__util_geometry_Lines3D__[\"a\" /* default */]({ useNativeLine: false }),\n material: linesMaterial,\n castShadow: false,\n // PENDING\n ignorePicking: true,\n renderOrder: 3\n });\n this.groupGL.add(this._axisPointerLineMesh);\n\n this._axisPointerLabelsSurface = new __WEBPACK_IMPORTED_MODULE_5__util_ZRTextureAtlasSurface__[\"a\" /* default */]({\n width: 128, height: 128,\n devicePixelRatio: dpr\n });\n this._axisPointerLabelsMesh = new __WEBPACK_IMPORTED_MODULE_9__util_mesh_LabelsMesh__[\"a\" /* default */]({\n ignorePicking: true, renderOrder: 4,\n castShadow: false\n });\n this._axisPointerLabelsMesh.material.set('textureAtlas', this._axisPointerLabelsSurface.getTexture());\n this.groupGL.add(this._axisPointerLabelsMesh);\n\n this._lightRoot = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n this._sceneHelper = new __WEBPACK_IMPORTED_MODULE_6__common_SceneHelper__[\"a\" /* default */]();\n this._sceneHelper.initLight(this._lightRoot);\n },\n\n render: function (grid3DModel, ecModel, api) {\n\n this._model = grid3DModel;\n this._api = api;\n\n var cartesian = grid3DModel.coordinateSystem;\n\n // Always have light.\n cartesian.viewGL.add(this._lightRoot);\n\n if (grid3DModel.get('show')) {\n cartesian.viewGL.add(this.groupGL);\n }\n else {\n cartesian.viewGL.remove(this.groupGL);\n }\n\n // cartesian.viewGL.setCameraType(grid3DModel.get('viewControl.projection'));\n\n var control = this._control;\n control.setViewGL(cartesian.viewGL);\n\n var viewControlModel = grid3DModel.getModel('viewControl');\n control.setFromViewControlModel(viewControlModel, 0);\n\n this._axisLabelSurface.clear();\n\n control.off('update');\n if (grid3DModel.get('show')) {\n this._faces.forEach(function (face) {\n face.update(grid3DModel, ecModel, api);\n }, this);\n this._axes.forEach(function (axis) {\n axis.update(grid3DModel, this._axisLabelSurface, api);\n }, this);\n }\n\n control.on('update', this._onCameraChange.bind(this, grid3DModel, api), this);\n\n this._sceneHelper.setScene(cartesian.viewGL.scene);\n this._sceneHelper.updateLight(grid3DModel);\n\n // Set post effect\n cartesian.viewGL.setPostEffect(grid3DModel.getModel('postEffect'), api);\n cartesian.viewGL.setTemporalSuperSampling(grid3DModel.getModel('temporalSuperSampling'));\n\n this._initMouseHandler(grid3DModel);\n },\n\n afterRender: function (grid3DModel, ecModel, api, layerGL) {\n // Create ambient cubemap after render because we need to know the renderer.\n // TODO\n var renderer = layerGL.renderer;\n\n this._sceneHelper.updateAmbientCubemap(renderer, grid3DModel, api);\n\n this._sceneHelper.updateSkybox(renderer, grid3DModel, api);\n },\n\n /**\n * showAxisPointer will be triggered by action.\n */\n showAxisPointer: function (grid3dModel, ecModel, api, payload) {\n this._doShowAxisPointer();\n this._updateAxisPointer(payload.value);\n },\n\n /**\n * hideAxisPointer will be triggered by action.\n */\n hideAxisPointer: function (grid3dModel, ecModel, api, payload) {\n this._doHideAxisPointer();\n },\n\n _initMouseHandler: function (grid3DModel) {\n var cartesian = grid3DModel.coordinateSystem;\n var viewGL = cartesian.viewGL;\n\n // TODO xAxis3D.axisPointer.show ?\n if (grid3DModel.get('show') && grid3DModel.get('axisPointer.show')) {\n viewGL.on('mousemove', this._updateAxisPointerOnMousePosition, this);\n }\n else {\n viewGL.off('mousemove', this._updateAxisPointerOnMousePosition);\n }\n },\n\n /**\n * Try find and show axisPointer on the intersect point\n * of mouse ray with grid plane.\n */\n _updateAxisPointerOnMousePosition: function (e) {\n // Ignore if mouse is on the element.\n if (e.target) {\n return;\n }\n var grid3DModel = this._model;\n var cartesian = grid3DModel.coordinateSystem;\n var viewGL = cartesian.viewGL;\n\n var ray = viewGL.castRay(e.offsetX, e.offsetY, new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Ray());\n\n var nearestIntersectPoint;\n for (var i = 0; i < this._faces.length; i++) {\n var face = this._faces[i];\n if (face.rootNode.invisible) {\n continue;\n }\n\n // Plane is not face the camera. flip it\n if (face.plane.normal.dot(viewGL.camera.worldTransform.z) < 0) {\n face.plane.normal.negate();\n }\n\n var point = ray.intersectPlane(face.plane);\n if (!point) {\n continue;\n }\n var axis0 = cartesian.getAxis(face.faceInfo[0]);\n var axis1 = cartesian.getAxis(face.faceInfo[1]);\n var idx0 = dimIndicesMap[face.faceInfo[0]];\n var idx1 = dimIndicesMap[face.faceInfo[1]];\n if (axis0.contain(point.array[idx0]) && axis1.contain(point.array[idx1])) {\n nearestIntersectPoint = point;\n }\n }\n\n if (nearestIntersectPoint) {\n var data = cartesian.pointToData(nearestIntersectPoint.array, [], true);\n this._updateAxisPointer(data);\n\n this._doShowAxisPointer();\n }\n else {\n this._doHideAxisPointer();\n }\n },\n\n _onCameraChange: function (grid3DModel, api) {\n\n if (grid3DModel.get('show')) {\n this._updateFaceVisibility();\n this._updateAxisLinePosition();\n }\n\n var control = this._control;\n\n api.dispatchAction({\n type: 'grid3DChangeCamera',\n alpha: control.getAlpha(),\n beta: control.getBeta(),\n distance: control.getDistance(),\n center: control.getCenter(),\n from: this.uid,\n grid3DId: grid3DModel.id\n });\n },\n\n /**\n * Update visibility of each face when camera view changed, front face will be invisible.\n * @private\n */\n _updateFaceVisibility: function () {\n var camera = this._control.getCamera();\n var viewSpacePos = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Vector3();\n camera.update();\n for (var idx = 0; idx < this._faces.length / 2; idx++) {\n var depths = [];\n for (var k = 0; k < 2; k++) {\n var face = this._faces[idx * 2 + k];\n face.rootNode.getWorldPosition(viewSpacePos);\n viewSpacePos.transformMat4(camera.viewMatrix);\n depths[k] = viewSpacePos.z;\n }\n // Set the front face invisible\n var frontIndex = depths[0] > depths[1] ? 0 : 1;\n var frontFace = this._faces[idx * 2 + frontIndex];\n var backFace = this._faces[idx * 2 + 1 - frontIndex];\n // Update rotation.\n frontFace.rootNode.invisible = true;\n backFace.rootNode.invisible = false;\n }\n },\n\n /**\n * Update axis line position when camera view changed.\n * @private\n */\n _updateAxisLinePosition: function () {\n // Put xAxis, yAxis on x, y visible plane.\n // Put zAxis on the left.\n // TODO\n var cartesian = this._model.coordinateSystem;\n var xAxis = cartesian.getAxis('x');\n var yAxis = cartesian.getAxis('y');\n var zAxis = cartesian.getAxis('z');\n var top = zAxis.getExtentMax();\n var bottom = zAxis.getExtentMin();\n var left = xAxis.getExtentMin();\n var right = xAxis.getExtentMax();\n var near = yAxis.getExtentMax();\n var far = yAxis.getExtentMin();\n\n var xAxisNode = this._axes[0].rootNode;\n var yAxisNode = this._axes[1].rootNode;\n var zAxisNode = this._axes[2].rootNode;\n\n var faces = this._faces;\n // Notice: in cartesian up axis is z, but in webgl up axis is y.\n var xAxisZOffset = (faces[4].rootNode.invisible ? far : near);\n var xAxisYOffset = (faces[2].rootNode.invisible ? top : bottom);\n var yAxisXOffset = (faces[0].rootNode.invisible ? left : right);\n var yAxisYOffset = (faces[2].rootNode.invisible ? top : bottom);\n var zAxisXOffset = (faces[0].rootNode.invisible ? right : left);\n var zAxisZOffset = (faces[4].rootNode.invisible ? far : near);\n\n xAxisNode.rotation.identity();\n yAxisNode.rotation.identity();\n zAxisNode.rotation.identity();\n if (faces[4].rootNode.invisible) {\n this._axes[0].flipped = true;\n xAxisNode.rotation.rotateX(Math.PI);\n }\n if (faces[0].rootNode.invisible) {\n this._axes[1].flipped = true;\n yAxisNode.rotation.rotateZ(Math.PI);\n }\n if (faces[4].rootNode.invisible) {\n this._axes[2].flipped = true;\n zAxisNode.rotation.rotateY(Math.PI);\n }\n\n xAxisNode.position.set(0, xAxisYOffset, xAxisZOffset);\n yAxisNode.position.set(yAxisXOffset, yAxisYOffset, 0); // Actually z\n zAxisNode.position.set(zAxisXOffset, 0, zAxisZOffset); // Actually y\n\n xAxisNode.update();\n yAxisNode.update();\n zAxisNode.update();\n\n this._updateAxisLabelAlign();\n },\n\n /**\n * Update label align on axis when axisLine position changed.\n * @private\n */\n _updateAxisLabelAlign: function () {\n // var cartesian = this._model.coordinateSystem;\n var camera = this._control.getCamera();\n var coords = [new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Vector4(), new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Vector4()];\n var center = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Vector4();\n this.groupGL.getWorldPosition(center);\n center.w = 1.0;\n center.transformMat4(camera.viewMatrix)\n .transformMat4(camera.projectionMatrix);\n center.x /= center.w;\n center.y /= center.w;\n this._axes.forEach(function (axisInfo) {\n var lineCoords = axisInfo.axisLineCoords;\n var labelGeo = axisInfo.labelsMesh.geometry;\n for (var i = 0; i < coords.length; i++) {\n coords[i].setArray(lineCoords[i]);\n coords[i].w = 1.0;\n coords[i].transformMat4(axisInfo.rootNode.worldTransform)\n .transformMat4(camera.viewMatrix)\n .transformMat4(camera.projectionMatrix);\n coords[i].x /= coords[i].w;\n coords[i].y /= coords[i].w;\n }\n var dx = coords[1].x - coords[0].x;\n var dy = coords[1].y - coords[0].y;\n var cx = (coords[1].x + coords[0].x) / 2;\n var cy = (coords[1].y + coords[0].y) / 2;\n var textAlign;\n var verticalAlign;\n if (Math.abs(dy / dx) < 0.5) {\n textAlign = 'center';\n verticalAlign = cy > center.y ? 'bottom' : 'top';\n }\n else {\n verticalAlign = 'middle';\n textAlign = cx > center.x ? 'left' : 'right';\n }\n\n // axis labels\n axisInfo.setSpriteAlign(textAlign, verticalAlign, this._api);\n }, this);\n },\n\n _doShowAxisPointer: function () {\n if (!this._axisPointerLineMesh.invisible) {\n return;\n }\n\n this._axisPointerLineMesh.invisible = false;\n this._axisPointerLabelsMesh.invisible = false;\n this._api.getZr().refresh();\n },\n\n _doHideAxisPointer: function () {\n if (this._axisPointerLineMesh.invisible) {\n return;\n }\n\n this._axisPointerLineMesh.invisible = true;\n this._axisPointerLabelsMesh.invisible = true;\n this._api.getZr().refresh();\n },\n /**\n * @private updateAxisPointer.\n */\n _updateAxisPointer: function (data) {\n var cartesian = this._model.coordinateSystem;\n var point = cartesian.dataToPoint(data);\n\n var axisPointerLineMesh = this._axisPointerLineMesh;\n var linesGeo = axisPointerLineMesh.geometry;\n\n var axisPointerParentModel = this._model.getModel('axisPointer');\n\n var dpr = this._api.getDevicePixelRatio();\n linesGeo.convertToDynamicArray(true);\n\n\n function ifShowAxisPointer(axis) {\n return __WEBPACK_IMPORTED_MODULE_4__util_retrieve__[\"a\" /* default */].firstNotNull(\n axis.model.get('axisPointer.show'),\n axisPointerParentModel.get('show')\n );\n }\n function getAxisColorAndLineWidth(axis) {\n var axisPointerModel = axis.model.getModel('axisPointer', axisPointerParentModel);\n var lineStyleModel = axisPointerModel.getModel('lineStyle');\n\n var color = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(lineStyleModel.get('color'));\n var lineWidth = firstNotNull(lineStyleModel.get('width'), 1);\n var opacity = firstNotNull(lineStyleModel.get('opacity'), 1);\n color[3] *= opacity;\n\n return {\n color: color,\n lineWidth: lineWidth\n };\n }\n for (var k = 0; k < this._faces.length; k++) {\n var face = this._faces[k];\n if (face.rootNode.invisible) {\n continue;\n }\n\n var faceInfo = face.faceInfo;\n var otherCoord = faceInfo[3] < 0\n ? cartesian.getAxis(faceInfo[2]).getExtentMin()\n : cartesian.getAxis(faceInfo[2]).getExtentMax();\n var otherDimIdx = dimIndicesMap[faceInfo[2]];\n\n // Line on face.\n for (var i = 0; i < 2; i++) {\n var dim = faceInfo[i];\n var faceOtherDim = faceInfo[1 - i];\n var axis = cartesian.getAxis(dim);\n var faceOtherAxis = cartesian.getAxis(faceOtherDim);\n\n if (!ifShowAxisPointer(axis)) {\n continue;\n }\n\n var p0 = [0, 0, 0]; var p1 = [0, 0, 0];\n var dimIdx = dimIndicesMap[dim];\n var faceOtherDimIdx = dimIndicesMap[faceOtherDim];\n p0[dimIdx] = p1[dimIdx] = point[dimIdx];\n\n p0[otherDimIdx] = p1[otherDimIdx] = otherCoord;\n p0[faceOtherDimIdx] = faceOtherAxis.getExtentMin();\n p1[faceOtherDimIdx] = faceOtherAxis.getExtentMax();\n\n var colorAndLineWidth = getAxisColorAndLineWidth(axis);\n linesGeo.addLine(p0, p1, colorAndLineWidth.color, colorAndLineWidth.lineWidth * dpr);\n }\n\n // Project line.\n if (ifShowAxisPointer(cartesian.getAxis(faceInfo[2]))) {\n var p0 = point.slice();\n var p1 = point.slice();\n p1[otherDimIdx] = otherCoord;\n var colorAndLineWidth = getAxisColorAndLineWidth(cartesian.getAxis(faceInfo[2]));\n linesGeo.addLine(p0, p1, colorAndLineWidth.color, colorAndLineWidth.lineWidth * dpr);\n }\n }\n linesGeo.convertToTypedArray();\n\n this._updateAxisPointerLabelsMesh(data);\n\n this._api.getZr().refresh();\n },\n\n _updateAxisPointerLabelsMesh: function (data) {\n var grid3dModel = this._model;\n var axisPointerLabelsMesh = this._axisPointerLabelsMesh;\n var axisPointerLabelsSurface = this._axisPointerLabelsSurface;\n var cartesian = grid3dModel.coordinateSystem;\n\n var axisPointerParentModel = grid3dModel.getModel('axisPointer');\n\n axisPointerLabelsMesh.geometry.convertToDynamicArray(true);\n axisPointerLabelsSurface.clear();\n\n var otherDim = {\n x: 'y', y: 'x', z: 'y'\n };\n this._axes.forEach(function (axisInfo, idx) {\n var axis = cartesian.getAxis(axisInfo.dim);\n var axisModel = axis.model;\n var axisPointerModel = axisModel.getModel('axisPointer', axisPointerParentModel);\n var labelModel = axisPointerModel.getModel('label');\n var lineColor = axisPointerModel.get('lineStyle.color');\n if (!labelModel.get('show') || !axisPointerModel.get('show')) {\n return;\n }\n var val = data[idx];\n var formatter = labelModel.get('formatter');\n var text = axis.scale.getLabel(val);\n if (formatter != null) {\n text = formatter(text, data);\n }\n else {\n if (axis.scale.type === 'interval' || axis.scale.type === 'log') {\n var precision = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.number.getPrecisionSafe(axis.scale.getTicks()[0]);\n text = val.toFixed(precision + 2);\n }\n }\n\n var textStyleModel = labelModel.getModel('textStyle');\n var labelColor = textStyleModel.get('color');\n var textEl = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.graphic.Text();\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.graphic.setTextStyle(textEl.style, textStyleModel, {\n text: text,\n textFill: labelColor || lineColor,\n textAlign: 'left',\n textVerticalAlign: 'top'\n });\n var coords = axisPointerLabelsSurface.add(textEl);\n var rect = textEl.getBoundingRect();\n var dpr = this._api.getDevicePixelRatio();\n var pos = axisInfo.rootNode.position.toArray();\n var otherIdx = dimIndicesMap[otherDim[axisInfo.dim]];\n pos[otherIdx] += (axisInfo.flipped ? -1 : 1) * labelModel.get('margin');\n pos[dimIndicesMap[axisInfo.dim]] = axis.dataToCoord(data[idx]);\n\n axisPointerLabelsMesh.geometry.addSprite(\n pos, [rect.width * dpr, rect.height * dpr], coords,\n axisInfo.textAlign, axisInfo.textVerticalAlign\n );\n }, this);\n axisPointerLabelsSurface.getZr().refreshImmediately();\n axisPointerLabelsMesh.material.set('uvScale', axisPointerLabelsSurface.getCoordsScale());\n axisPointerLabelsMesh.geometry.convertToTypedArray();\n },\n\n dispose: function () {\n this.groupGL.removeAll();\n this._control.dispose();\n }\n}));\n\n/***/ }),\n/* 161 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__vec2__ = __webpack_require__(70);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__vec3__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__vec4__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mat2__ = __webpack_require__(78);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mat2d__ = __webpack_require__(79);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__mat3__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mat4__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__quat__ = __webpack_require__(55);\n/**\n * @fileoverview gl-matrix - High performance matrix and vector operations\n * @author Brandon Jones\n * @author Colin MacKenzie IV\n * @version 2.2.2\n */\n\n/* Copyright (c) 2013, Brandon Jones, Colin MacKenzie IV. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n vec2: __WEBPACK_IMPORTED_MODULE_0__vec2__[\"a\" /* default */],\n vec3: __WEBPACK_IMPORTED_MODULE_1__vec3__[\"a\" /* default */],\n vec4: __WEBPACK_IMPORTED_MODULE_2__vec4__[\"a\" /* default */],\n mat2: __WEBPACK_IMPORTED_MODULE_3__mat2__[\"a\" /* default */],\n mat2d: __WEBPACK_IMPORTED_MODULE_4__mat2d__[\"a\" /* default */],\n mat3: __WEBPACK_IMPORTED_MODULE_5__mat3__[\"a\" /* default */],\n mat4: __WEBPACK_IMPORTED_MODULE_6__mat4__[\"a\" /* default */],\n quat: __WEBPACK_IMPORTED_MODULE_7__quat__[\"a\" /* default */]\n});\n\n\n/***/ }),\n/* 162 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_retrieve__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_geometry_Lines3D__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_geometry_Quads__ = __webpack_require__(163);\n\n\n\n\n\nvar firstNotNull = __WEBPACK_IMPORTED_MODULE_2__util_retrieve__[\"a\" /* default */].firstNotNull;\n\nvar dimIndicesMap = {\n // Left to right\n x: 0,\n // Far to near\n y: 2,\n // Bottom to up\n z: 1\n};\n\nfunction updateFacePlane(node, plane, otherAxis, dir) {\n var coord = [0, 0, 0];\n var distance = dir < 0 ? otherAxis.getExtentMin() : otherAxis.getExtentMax();\n coord[dimIndicesMap[otherAxis.dim]] = distance;\n node.position.setArray(coord);\n node.rotation.identity();\n\n // Negative distance because on the opposite of normal direction.\n plane.distance = -Math.abs(distance);\n plane.normal.set(0, 0, 0);\n if (otherAxis.dim === 'x') {\n node.rotation.rotateY(dir * Math.PI / 2);\n plane.normal.x = -dir;\n }\n else if (otherAxis.dim === 'z') {\n node.rotation.rotateX(-dir * Math.PI / 2);\n plane.normal.y = -dir;\n }\n else {\n if (dir > 0) {\n node.rotation.rotateY(Math.PI);\n }\n plane.normal.z = -dir;\n }\n}\n\n\nfunction Grid3DFace(faceInfo, linesMaterial, quadsMaterial) {\n this.rootNode = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n\n var linesMesh = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n geometry: new __WEBPACK_IMPORTED_MODULE_3__util_geometry_Lines3D__[\"a\" /* default */]({ useNativeLine: false }),\n material: linesMaterial,\n castShadow: false,\n ignorePicking: true,\n $ignorePicking: true,\n renderOrder: 1\n });\n var quadsMesh = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n geometry: new __WEBPACK_IMPORTED_MODULE_4__util_geometry_Quads__[\"a\" /* default */](),\n material: quadsMaterial,\n castShadow: false,\n culling: false,\n ignorePicking: true,\n $ignorePicking: true,\n renderOrder: 0\n });\n // Quads are behind lines.\n this.rootNode.add(quadsMesh);\n this.rootNode.add(linesMesh);\n\n this.faceInfo = faceInfo;\n this.plane =new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Plane();\n this.linesMesh =linesMesh;\n this.quadsMesh =quadsMesh;\n}\n\nGrid3DFace.prototype.update = function (grid3DModel, ecModel, api) {\n var cartesian = grid3DModel.coordinateSystem;\n var axes = [\n cartesian.getAxis(this.faceInfo[0]),\n cartesian.getAxis(this.faceInfo[1])\n ];\n var lineGeometry = this.linesMesh.geometry;\n var quadsGeometry = this.quadsMesh.geometry;\n\n lineGeometry.convertToDynamicArray(true);\n quadsGeometry.convertToDynamicArray(true);\n this._updateSplitLines(lineGeometry, axes, grid3DModel, api);\n this._udpateSplitAreas(quadsGeometry, axes, grid3DModel, api);\n lineGeometry.convertToTypedArray();\n quadsGeometry.convertToTypedArray();\n\n\n var otherAxis = cartesian.getAxis(this.faceInfo[2]);\n updateFacePlane(this.rootNode, this.plane, otherAxis, this.faceInfo[3]);\n};\n\nGrid3DFace.prototype._updateSplitLines = function (geometry, axes, grid3DModel, api) {\n var dpr = api.getDevicePixelRatio();\n axes.forEach(function (axis, idx) {\n var axisModel = axis.model;\n var otherExtent = axes[1 - idx].getExtent();\n\n if (axis.scale.isBlank()) {\n return;\n }\n\n var splitLineModel = axisModel.getModel('splitLine', grid3DModel.getModel('splitLine'));\n // Render splitLines\n if (splitLineModel.get('show')) {\n var lineStyleModel = splitLineModel.getModel('lineStyle');\n var lineColors = lineStyleModel.get('color');\n var opacity = firstNotNull(lineStyleModel.get('opacity'), 1.0);\n var lineWidth = firstNotNull(lineStyleModel.get('width'), 1.0);\n\n lineColors = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.isArray(lineColors) ? lineColors : [lineColors];\n\n var ticksCoords = axis.getTicksCoords({\n tickModel: splitLineModel\n });\n\n var count = 0;\n for (var i = 0; i < ticksCoords.length; i++) {\n var tickCoord = ticksCoords[i].coord;\n var lineColor = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(lineColors[count % lineColors.length]);\n lineColor[3] *= opacity;\n\n var p0 = [0, 0, 0]; var p1 = [0, 0, 0];\n // 0 - x, 1 - y\n p0[idx] = p1[idx] = tickCoord;\n p0[1 - idx] = otherExtent[0];\n p1[1 - idx] = otherExtent[1];\n\n geometry.addLine(p0, p1, lineColor, lineWidth * dpr);\n\n count++;\n }\n }\n });\n};\n\nGrid3DFace.prototype._udpateSplitAreas = function (geometry, axes, grid3DModel, api) {\n axes.forEach(function (axis, idx) {\n var axisModel = axis.model;\n var otherExtent = axes[1 - idx].getExtent();\n\n if (axis.scale.isBlank()) {\n return;\n }\n\n var splitAreaModel = axisModel.getModel('splitArea', grid3DModel.getModel('splitArea'));\n // Render splitAreas\n if (splitAreaModel.get('show')) {\n var areaStyleModel = splitAreaModel.getModel('areaStyle');\n var colors = areaStyleModel.get('color');\n var opacity = firstNotNull(areaStyleModel.get('opacity'), 1.0);\n\n colors = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.isArray(colors) ? colors : [colors];\n\n var ticksCoords = axis.getTicksCoords({\n tickModel: splitAreaModel,\n clamp: true\n });\n\n var count = 0;\n var prevP0 = [0, 0, 0];\n var prevP1 = [0, 0, 0];\n // 0 - x, 1 - y\n for (var i = 0; i < ticksCoords.length; i++) {\n var tickCoord = ticksCoords[i].coord;\n\n var p0 = [0, 0, 0]; var p1 = [0, 0, 0];\n // 0 - x, 1 - y\n p0[idx] = p1[idx] = tickCoord;\n p0[1 - idx] = otherExtent[0];\n p1[1 - idx] = otherExtent[1];\n\n if (i === 0) {\n prevP0 = p0;\n prevP1 = p1;\n continue;\n }\n\n var color = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(colors[count % colors.length]);\n color[3] *= opacity;\n geometry.addQuad([prevP0, p0, p1, prevP1], color);\n\n prevP0 = p0;\n prevP1 = p1;\n\n count++;\n }\n }\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Grid3DFace);\n\n/***/ }),\n/* 163 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__dynamicConvertMixin__ = __webpack_require__(38);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n/**\n * @module echarts-gl/util/geometry/QuadsGeometry\n * @author Yi Shen(http://github.com/pissang)\n */\n\n\n\n\n\nvar vec3 = __WEBPACK_IMPORTED_MODULE_3_claygl_src_dep_glmatrix__[\"a\" /* default */].vec3;\n\n/**\n * @constructor\n * @alias module:echarts-gl/util/geometry/QuadsGeometry\n * @extends clay.Geometry\n */\n\nvar QuadsGeometry = __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].extend(function () {\n return {\n\n segmentScale: 1,\n\n /**\n * Need to use mesh to expand lines if lineWidth > MAX_LINE_WIDTH\n */\n useNativeLine: true,\n\n attributes: {\n position: new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].Attribute('position', 'float', 3, 'POSITION'),\n normal: new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].Attribute('normal', 'float', 3, 'NORMAL'),\n color: new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].Attribute('color', 'float', 4, 'COLOR')\n }\n };\n},\n/** @lends module: echarts-gl/util/geometry/QuadsGeometry.prototype */\n{\n\n /**\n * Reset offset\n */\n resetOffset: function () {\n this._vertexOffset = 0;\n this._faceOffset = 0;\n },\n\n /**\n * @param {number} nQuad\n */\n setQuadCount: function (nQuad) {\n var attributes = this.attributes;\n var vertexCount = this.getQuadVertexCount() * nQuad;\n var triangleCount = this.getQuadTriangleCount() * nQuad;\n if (this.vertexCount !== vertexCount) {\n attributes.position.init(vertexCount);\n attributes.normal.init(vertexCount);\n attributes.color.init(vertexCount);\n }\n if (this.triangleCount !== triangleCount) {\n this.indices = vertexCount > 0xffff ? new Uint32Array(triangleCount * 3) : new Uint16Array(triangleCount * 3);\n }\n },\n\n getQuadVertexCount: function () {\n return 4;\n },\n\n getQuadTriangleCount: function () {\n return 2;\n },\n\n /**\n * Add a quad, which in following order:\n * 0-----1\n * 3-----2\n */\n addQuad: (function () {\n var a = vec3.create();\n var b = vec3.create();\n var normal = vec3.create();\n var indices = [0, 3, 1, 3, 2, 1];\n return function (coords, color) {\n var positionAttr = this.attributes.position;\n var normalAttr = this.attributes.normal;\n var colorAttr = this.attributes.color;\n\n vec3.sub(a, coords[1], coords[0]);\n vec3.sub(b, coords[2], coords[1]);\n vec3.cross(normal, a, b);\n vec3.normalize(normal, normal);\n\n for (var i = 0; i < 4; i++) {\n positionAttr.set(this._vertexOffset + i, coords[i]);\n colorAttr.set(this._vertexOffset + i, color);\n normalAttr.set(this._vertexOffset + i, normal);\n }\n var idx = this._faceOffset * 3;\n for (var i = 0; i < 6; i++) {\n this.indices[idx + i] = indices[i] + this._vertexOffset;\n }\n this._vertexOffset += 4;\n this._faceOffset += 2;\n };\n })()\n});\n\n__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default.a.util.defaults(QuadsGeometry.prototype, __WEBPACK_IMPORTED_MODULE_2__dynamicConvertMixin__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (QuadsGeometry);\n\n/***/ }),\n/* 164 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_geometry_Lines3D__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_retrieve__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_mesh_LabelsMesh__ = __webpack_require__(63);\n\n\n\n\n\nvar firstNotNull = __WEBPACK_IMPORTED_MODULE_3__util_retrieve__[\"a\" /* default */].firstNotNull;\n\nvar dimIndicesMap = {\n // Left to right\n x: 0,\n // Far to near\n y: 2,\n // Bottom to up\n z: 1\n};\n\nfunction Grid3DAxis(dim, linesMaterial) {\n var linesMesh = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n geometry: new __WEBPACK_IMPORTED_MODULE_2__util_geometry_Lines3D__[\"a\" /* default */]({ useNativeLine: false }),\n material: linesMaterial,\n castShadow: false,\n ignorePicking: true, renderOrder: 2\n });\n var axisLabelsMesh = new __WEBPACK_IMPORTED_MODULE_4__util_mesh_LabelsMesh__[\"a\" /* default */]();\n axisLabelsMesh.material.depthMask = false;\n\n var rootNode = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n rootNode.add(linesMesh);\n rootNode.add(axisLabelsMesh);\n\n this.rootNode = rootNode;\n this.dim = dim;\n\n this.linesMesh = linesMesh;\n this.labelsMesh = axisLabelsMesh;\n this.axisLineCoords = null;\n this.labelElements = [];\n}\n\nvar otherDim = {\n x: 'y', y: 'x', z: 'y'\n};\nGrid3DAxis.prototype.update = function (\n grid3DModel, axisLabelSurface, api\n) {\n var cartesian = grid3DModel.coordinateSystem;\n var axis = cartesian.getAxis(this.dim);\n\n var linesGeo = this.linesMesh.geometry;\n var labelsGeo = this.labelsMesh.geometry;\n linesGeo.convertToDynamicArray(true);\n labelsGeo.convertToDynamicArray(true);\n var axisModel = axis.model;\n var extent = axis.getExtent();\n\n var dpr = api.getDevicePixelRatio();\n var axisLineModel = axisModel.getModel('axisLine', grid3DModel.getModel('axisLine'));\n var axisTickModel = axisModel.getModel('axisTick', grid3DModel.getModel('axisTick'));\n var axisLabelModel = axisModel.getModel('axisLabel', grid3DModel.getModel('axisLabel'));\n var axisLineColor = axisLineModel.get('lineStyle.color');\n // Render axisLine\n if (axisLineModel.get('show')) {\n var axisLineStyleModel = axisLineModel.getModel('lineStyle');\n var p0 = [0, 0, 0]; var p1 = [0, 0, 0];\n var idx = dimIndicesMap[axis.dim];\n p0[idx] = extent[0];\n p1[idx] = extent[1];\n\n // Save some useful info.\n this.axisLineCoords =[p0, p1];\n\n var color = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(axisLineColor);\n var lineWidth = firstNotNull(axisLineStyleModel.get('width'), 1.0);\n var opacity = firstNotNull(axisLineStyleModel.get('opacity'), 1.0);\n color[3] *= opacity;\n linesGeo.addLine(p0, p1, color, lineWidth * dpr);\n }\n // Render axis ticksCoords\n if (axisTickModel.get('show')) {\n var lineStyleModel = axisTickModel.getModel('lineStyle');\n var lineColor = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(\n firstNotNull(lineStyleModel.get('color'), axisLineColor)\n );\n var lineWidth = firstNotNull(lineStyleModel.get('width'), 1.0);\n lineColor[3] *= firstNotNull(lineStyleModel.get('opacity'), 1.0);\n var ticksCoords = axis.getTicksCoords();\n var tickLength = axisTickModel.get('length');\n\n for (var i = 0; i < ticksCoords.length; i++) {\n var tickCoord = ticksCoords[i].coord;\n\n var p0 = [0, 0, 0]; var p1 = [0, 0, 0];\n var idx = dimIndicesMap[axis.dim];\n var otherIdx = dimIndicesMap[otherDim[axis.dim]];\n // 0 : x, 1 : y\n p0[idx] = p1[idx] = tickCoord;\n p1[otherIdx] = tickLength;\n\n linesGeo.addLine(p0, p1, lineColor, lineWidth * dpr);\n }\n }\n\n this.labelElements = [];\n var dpr = api.getDevicePixelRatio();\n if (axisLabelModel.get('show')) {\n var ticksCoords = axis.getTicksCoords();\n var categoryData = axisModel.get('data');\n\n var labelMargin = axisLabelModel.get('margin');\n var labels = axis.getViewLabels();\n\n for (var i = 0; i < labels.length; i++) {\n var tickValue = labels[i].tickValue;\n var formattedLabel = labels[i].formattedLabel;\n var rawLabel = labels[i].rawLabel;\n\n var tickCoord = axis.dataToCoord(tickValue);\n\n var p = [0, 0, 0];\n var idx = dimIndicesMap[axis.dim];\n var otherIdx = dimIndicesMap[otherDim[axis.dim]];\n // 0 : x, 1 : y\n p[idx] = p[idx] = tickCoord;\n p[otherIdx] = labelMargin;\n\n var itemTextStyleModel = axisLabelModel;\n if (categoryData && categoryData[tickValue] && categoryData[tickValue].textStyle) {\n itemTextStyleModel = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.Model(\n categoryData[tickValue].textStyle, axisLabelModel, axisModel.ecModel\n );\n }\n var textColor = firstNotNull(itemTextStyleModel.get('color'), axisLineColor);\n\n var textEl = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.graphic.Text();\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.graphic.setTextStyle(textEl.style, itemTextStyleModel, {\n text: formattedLabel,\n textFill: typeof textColor === 'function'\n ? textColor(\n // (1) In category axis with data zoom, tick is not the original\n // index of axis.data. So tick should not be exposed to user\n // in category axis.\n // (2) Compatible with previous version, which always returns labelStr.\n // But in interval scale labelStr is like '223,445', which maked\n // user repalce ','. So we modify it to return original val but remain\n // it as 'string' to avoid error in replacing.\n axis.type === 'category' ? rawLabel : axis.type === 'value' ? tickValue + '' : tickValue,\n i\n )\n : textColor,\n textVerticalAlign: 'top',\n textAlign: 'left'\n });\n var coords = axisLabelSurface.add(textEl);\n var rect = textEl.getBoundingRect();\n labelsGeo.addSprite(p, [rect.width * dpr, rect.height * dpr], coords);\n\n this.labelElements.push(textEl);\n }\n }\n\n if (axisModel.get('name')) {\n var nameTextStyleModel = axisModel.getModel('nameTextStyle');\n var p = [0, 0, 0];\n var idx = dimIndicesMap[axis.dim];\n var otherIdx = dimIndicesMap[otherDim[axis.dim]];\n var labelColor = firstNotNull(nameTextStyleModel.get('color'), axisLineColor);\n var strokeColor = nameTextStyleModel.get('borderColor');\n var lineWidth = nameTextStyleModel.get('borderWidth');\n // TODO start and end\n p[idx] = p[idx] = (extent[0] + extent[1]) / 2;\n p[otherIdx] = axisModel.get('nameGap');\n\n var textEl = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.graphic.Text();\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.graphic.setTextStyle(textEl.style, nameTextStyleModel, {\n text: axisModel.get('name'),\n textFill: labelColor,\n textStroke: strokeColor,\n lineWidth: lineWidth\n });\n var coords = axisLabelSurface.add(textEl);\n var rect = textEl.getBoundingRect();\n labelsGeo.addSprite(p, [rect.width * dpr, rect.height * dpr], coords);\n\n textEl.__idx = this.labelElements.length;\n this.nameLabelElement = textEl;\n }\n\n this.labelsMesh.material.set('textureAtlas', axisLabelSurface.getTexture());\n this.labelsMesh.material.set('uvScale', axisLabelSurface.getCoordsScale());\n\n linesGeo.convertToTypedArray();\n labelsGeo.convertToTypedArray();\n};\n\nGrid3DAxis.prototype.setSpriteAlign = function (textAlign, textVerticalAlign, api) {\n var dpr = api.getDevicePixelRatio();\n var labelGeo = this.labelsMesh.geometry;\n for (var i = 0; i < this.labelElements.length; i++) {\n var labelEl = this.labelElements[i];\n var rect = labelEl.getBoundingRect();\n\n labelGeo.setSpriteAlign(i, [rect.width * dpr, rect.height * dpr], textAlign, textVerticalAlign);\n }\n // name label\n var nameLabelEl = this.nameLabelElement;\n if (nameLabelEl) {\n var rect = nameLabelEl.getBoundingRect();\n labelGeo.setSpriteAlign(nameLabelEl.__idx, [rect.width * dpr, rect.height * dpr], textAlign, textVerticalAlign);\n labelGeo.dirty();\n }\n\n this.textAlign = textAlign;\n this.textVerticalAlign = textVerticalAlign;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Grid3DAxis);\n\n/***/ }),\n/* 165 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_Geometry__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__dynamicConvertMixin__ = __webpack_require__(38);\n/**\n * Geometry collecting sprites\n *\n * @module echarts-gl/util/geometry/Sprites\n * @author Yi Shen(https://github.com/pissang)\n */\n\n\n\n\nvar squareTriangles = [\n 0, 1, 2, 0, 2, 3\n];\n\nvar SpritesGeometry = __WEBPACK_IMPORTED_MODULE_1_claygl_src_Geometry__[\"a\" /* default */].extend(function () {\n return {\n attributes: {\n position: new __WEBPACK_IMPORTED_MODULE_1_claygl_src_Geometry__[\"a\" /* default */].Attribute('position', 'float', 3, 'POSITION'),\n texcoord: new __WEBPACK_IMPORTED_MODULE_1_claygl_src_Geometry__[\"a\" /* default */].Attribute('texcoord', 'float', 2, 'TEXCOORD_0'),\n offset: new __WEBPACK_IMPORTED_MODULE_1_claygl_src_Geometry__[\"a\" /* default */].Attribute('offset', 'float', 2),\n color: new __WEBPACK_IMPORTED_MODULE_1_claygl_src_Geometry__[\"a\" /* default */].Attribute('color', 'float', 4, 'COLOR')\n }\n };\n}, {\n resetOffset: function () {\n this._vertexOffset = 0;\n this._faceOffset = 0;\n },\n setSpriteCount: function (spriteCount) {\n this._spriteCount = spriteCount;\n\n var vertexCount = spriteCount * 4;\n var triangleCount = spriteCount * 2;\n\n if (this.vertexCount !== vertexCount) {\n this.attributes.position.init(vertexCount);\n this.attributes.offset.init(vertexCount);\n this.attributes.color.init(vertexCount);\n }\n if (this.triangleCount !== triangleCount) {\n this.indices = vertexCount > 0xffff ? new Uint32Array(triangleCount * 3) : new Uint16Array(triangleCount * 3);\n }\n },\n\n setSpriteAlign: function (spriteOffset, size, align, verticalAlign, margin) {\n if (align == null) {\n align = 'left';\n }\n if (verticalAlign == null) {\n verticalAlign = 'top';\n }\n\n var leftOffset, topOffset, rightOffset, bottomOffset;\n margin = margin || 0;\n switch (align) {\n case 'left':\n leftOffset = margin;\n rightOffset = size[0] + margin;\n break;\n case 'center':\n case 'middle':\n leftOffset = -size[0] / 2;\n rightOffset = size[0] / 2;\n break;\n case 'right':\n leftOffset = -size[0] - margin;\n rightOffset = -margin;\n break;\n }\n switch (verticalAlign) {\n case 'bottom':\n topOffset = margin;\n bottomOffset = size[1] + margin;\n break;\n case 'middle':\n topOffset = -size[1] / 2;\n bottomOffset = size[1] / 2;\n break;\n case 'top':\n topOffset = -size[1] - margin;\n bottomOffset = -margin;\n break;\n }\n // 3----2\n // 0----1\n var vertexOffset = spriteOffset * 4;\n var offsetAttr = this.attributes.offset;\n offsetAttr.set(vertexOffset, [leftOffset, bottomOffset]);\n offsetAttr.set(vertexOffset + 1, [rightOffset, bottomOffset]);\n offsetAttr.set(vertexOffset + 2, [rightOffset, topOffset]);\n offsetAttr.set(vertexOffset + 3, [leftOffset, topOffset]);\n },\n /**\n * Add sprite\n * @param {Array.} position\n * @param {Array.} size [width, height]\n * @param {Array.} coords [leftBottom, rightTop]\n * @param {string} [align='left'] 'left' 'center' 'right'\n * @param {string} [verticalAlign='top'] 'top' 'middle' 'bottom'\n * @param {number} [screenMargin=0]\n */\n addSprite: function (position, size, coords, align, verticalAlign, screenMargin) {\n var vertexOffset = this._vertexOffset;\n this.setSprite(\n this._vertexOffset / 4, position, size, coords, align, verticalAlign, screenMargin\n )\n for (var i = 0; i < squareTriangles.length; i++) {\n this.indices[this._faceOffset * 3 + i] = squareTriangles[i] + vertexOffset;\n }\n this._faceOffset += 2;\n this._vertexOffset += 4;\n\n return vertexOffset / 4;\n },\n\n setSprite: function (spriteOffset, position, size, coords, align, verticalAlign, screenMargin) {\n var vertexOffset = spriteOffset * 4;\n\n var attributes = this.attributes;\n for (var i = 0; i < 4; i++) {\n attributes.position.set(vertexOffset + i, position);\n }\n // 3----2\n // 0----1\n var texcoordAttr = attributes.texcoord;\n\n texcoordAttr.set(vertexOffset, [coords[0][0], coords[0][1]]);\n texcoordAttr.set(vertexOffset + 1, [coords[1][0], coords[0][1]]);\n texcoordAttr.set(vertexOffset + 2, [coords[1][0], coords[1][1]]);\n texcoordAttr.set(vertexOffset + 3, [coords[0][0], coords[1][1]]);\n\n this.setSpriteAlign(spriteOffset, size, align, verticalAlign, screenMargin);\n }\n});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.defaults(SpritesGeometry.prototype, __WEBPACK_IMPORTED_MODULE_2__dynamicConvertMixin__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (SpritesGeometry);\n\n/***/ }),\n/* 166 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export ecgl.labels.vertex\\n\\nattribute vec3 position: POSITION;\\nattribute vec2 texcoord: TEXCOORD_0;\\nattribute vec2 offset;\\n#ifdef VERTEX_COLOR\\nattribute vec4 a_Color : COLOR;\\nvarying vec4 v_Color;\\n#endif\\n\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\nuniform vec4 viewport : VIEWPORT;\\n\\nvarying vec2 v_Texcoord;\\n\\nvoid main()\\n{\\n vec4 proj = worldViewProjection * vec4(position, 1.0);\\n\\n vec2 screen = (proj.xy / abs(proj.w) + 1.0) * 0.5 * viewport.zw;\\n\\n screen += offset;\\n\\n proj.xy = (screen / viewport.zw - 0.5) * 2.0 * abs(proj.w);\\n gl_Position = proj;\\n#ifdef VERTEX_COLOR\\n v_Color = a_Color;\\n#endif\\n v_Texcoord = texcoord;\\n}\\n@end\\n\\n\\n@export ecgl.labels.fragment\\n\\nuniform vec3 color : [1.0, 1.0, 1.0];\\nuniform float alpha : 1.0;\\nuniform sampler2D textureAtlas;\\nuniform vec2 uvScale: [1.0, 1.0];\\n\\n#ifdef VERTEX_COLOR\\nvarying vec4 v_Color;\\n#endif\\nvarying float v_Miter;\\n\\nvarying vec2 v_Texcoord;\\n\\nvoid main()\\n{\\n gl_FragColor = vec4(color, alpha) * texture2D(textureAtlas, v_Texcoord * uvScale);\\n#ifdef VERTEX_COLOR\\n gl_FragColor *= v_Color;\\n#endif\\n}\\n\\n@end\");\n\n\n/***/ }),\n/* 167 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__grid3D_Cartesian3D__ = __webpack_require__(168);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__grid3D_Axis3D__ = __webpack_require__(170);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_echarts_lib_util_layout__ = __webpack_require__(47);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_echarts_lib_util_layout___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_echarts_lib_util_layout__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__core_ViewGL__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_retrieve__ = __webpack_require__(2);\n\n\n\n\n\n\n\nfunction resizeCartesian3D(grid3DModel, api) {\n // Use left/top/width/height\n var boxLayoutOption = grid3DModel.getBoxLayoutParams();\n\n var viewport = __WEBPACK_IMPORTED_MODULE_3_echarts_lib_util_layout___default.a.getLayoutRect(boxLayoutOption, {\n width: api.getWidth(),\n height: api.getHeight()\n });\n\n // Flip Y\n viewport.y = api.getHeight() - viewport.y - viewport.height;\n\n this.viewGL.setViewport(viewport.x, viewport.y, viewport.width, viewport.height, api.getDevicePixelRatio());\n\n var boxWidth = grid3DModel.get('boxWidth');\n var boxHeight = grid3DModel.get('boxHeight');\n var boxDepth = grid3DModel.get('boxDepth');\n\n if (true) {\n ['x', 'y', 'z'].forEach(function (dim) {\n if (!this.getAxis(dim)) {\n throw new Error('Grid' + grid3DModel.id + ' don\\'t have ' + dim + 'Axis');\n }\n }, this);\n }\n this.getAxis('x').setExtent(-boxWidth / 2, boxWidth / 2);\n // From near to far\n this.getAxis('y').setExtent(boxDepth / 2, -boxDepth / 2);\n this.getAxis('z').setExtent(-boxHeight / 2, boxHeight / 2);\n\n this.size = [boxWidth, boxHeight, boxDepth];\n}\n\nfunction updateCartesian3D(ecModel, api) {\n var dataExtents = {};\n function unionDataExtents(dim, extent) {\n dataExtents[dim] = dataExtents[dim] || [Infinity, -Infinity];\n dataExtents[dim][0] = Math.min(extent[0], dataExtents[dim][0]);\n dataExtents[dim][1] = Math.max(extent[1], dataExtents[dim][1]);\n }\n // Get data extents for scale.\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.coordinateSystem !== this) {\n return;\n }\n var data = seriesModel.getData();\n ['x', 'y', 'z'].forEach(function (coordDim) {\n data.mapDimension(coordDim, true).forEach(function (dataDim) {\n unionDataExtents(\n coordDim, data.getDataExtent(dataDim, true)\n );\n });\n });\n }, this);\n\n ['xAxis3D', 'yAxis3D', 'zAxis3D'].forEach(function (axisType) {\n ecModel.eachComponent(axisType, function (axisModel) {\n var dim = axisType.charAt(0);\n var grid3DModel = axisModel.getReferringComponents('grid3D')[0];\n\n var cartesian3D = grid3DModel.coordinateSystem;\n if (cartesian3D !== this) {\n return;\n }\n\n var axis = cartesian3D.getAxis(dim);\n if (axis) {\n if (true) {\n console.warn('Can\\'t have two %s in one grid3D', axisType);\n }\n return;\n }\n var scale = __WEBPACK_IMPORTED_MODULE_2_echarts_lib_echarts___default.a.helper.createScale(\n dataExtents[dim] || [Infinity, -Infinity], axisModel\n );\n axis = new __WEBPACK_IMPORTED_MODULE_1__grid3D_Axis3D__[\"a\" /* default */](dim, scale);\n axis.type = axisModel.get('type');\n var isCategory = axis.type === 'category';\n axis.onBand = isCategory && axisModel.get('boundaryGap');\n axis.inverse = axisModel.get('inverse');\n\n axisModel.axis = axis;\n axis.model = axisModel;\n\n // override `echarts/coord/Axis#getLabelModel`\n axis.getLabelModel = function () {\n return axisModel.getModel('axisLabel', grid3DModel.getModel('axisLabel'));\n };\n // override `echarts/coord/Axis#getTickModel`\n axis.getTickModel = function () {\n return axisModel.getModel('axisTick', grid3DModel.getModel('axisTick'));\n };\n\n cartesian3D.addAxis(axis);\n }, this);\n }, this);\n\n this.resize(this.model, api);\n}\n\nvar grid3DCreator = {\n\n dimensions: __WEBPACK_IMPORTED_MODULE_0__grid3D_Cartesian3D__[\"a\" /* default */].prototype.dimensions,\n\n create: function (ecModel, api) {\n\n var cartesian3DList = [];\n\n ecModel.eachComponent('grid3D', function (grid3DModel) {\n // FIXME\n grid3DModel.__viewGL = grid3DModel.__viewGL || new __WEBPACK_IMPORTED_MODULE_4__core_ViewGL__[\"a\" /* default */]();\n\n var cartesian3D = new __WEBPACK_IMPORTED_MODULE_0__grid3D_Cartesian3D__[\"a\" /* default */]();\n cartesian3D.model = grid3DModel;\n cartesian3D.viewGL = grid3DModel.__viewGL;\n\n grid3DModel.coordinateSystem = cartesian3D;\n cartesian3DList.push(cartesian3D);\n\n // Inject resize and update\n cartesian3D.resize = resizeCartesian3D;\n\n cartesian3D.update = updateCartesian3D;\n });\n\n var axesTypes = ['xAxis3D', 'yAxis3D', 'zAxis3D'];\n function findAxesModels(seriesModel, ecModel) {\n return axesTypes.map(function (axisType) {\n var axisModel = seriesModel.getReferringComponents(axisType)[0];\n if (axisModel == null) {\n axisModel = ecModel.getComponent(axisType);\n }\n if (true) {\n if (!axisModel) {\n throw new Error(axisType + ' \"' + __WEBPACK_IMPORTED_MODULE_5__util_retrieve__[\"a\" /* default */].firstNotNull(\n seriesModel.get(axisType + 'Index'),\n seriesModel.get(axisType + 'Id'),\n 0\n ) + '\" not found');\n }\n }\n return axisModel;\n });\n }\n\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.get('coordinateSystem') !== 'cartesian3D') {\n return;\n }\n var firstGridModel = seriesModel.getReferringComponents('grid3D')[0];\n\n if (firstGridModel == null) {\n var axesModels = findAxesModels(seriesModel, ecModel);\n var firstGridModel = axesModels[0].getCoordSysModel();\n axesModels.forEach(function (axisModel) {\n var grid3DModel = axisModel.getCoordSysModel();\n if (true) {\n if (!grid3DModel) {\n throw new Error(\n 'grid3D \"' + __WEBPACK_IMPORTED_MODULE_5__util_retrieve__[\"a\" /* default */].firstNotNull(\n axisModel.get('gridIndex'),\n axisModel.get('gridId'),\n 0\n ) + '\" not found'\n );\n }\n if (grid3DModel !== firstGridModel) {\n throw new Error('xAxis3D, yAxis3D, zAxis3D must use the same grid');\n }\n }\n });\n }\n\n var coordSys = firstGridModel.coordinateSystem;\n seriesModel.coordinateSystem = coordSys;\n });\n\n return cartesian3DList;\n }\n};\n\n__WEBPACK_IMPORTED_MODULE_2_echarts_lib_echarts___default.a.registerCoordinateSystem('grid3D', grid3DCreator);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (grid3DCreator);\n\n/***/ }),\n/* 168 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_coord_cartesian_Cartesian__ = __webpack_require__(169);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_coord_cartesian_Cartesian___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_echarts_lib_coord_cartesian_Cartesian__);\n\n\n\nfunction Cartesian3D(name) {\n\n __WEBPACK_IMPORTED_MODULE_1_echarts_lib_coord_cartesian_Cartesian___default.a.call(this, name);\n\n this.size = [0, 0, 0];\n}\n\nCartesian3D.prototype = {\n\n constructor: Cartesian3D,\n\n type: 'cartesian3D',\n\n dimensions: ['x', 'y', 'z'],\n\n model: null,\n\n containPoint: function (point) {\n return this.getAxis('x').contain(point[0])\n && this.getAxis('y').contain(point[2])\n && this.getAxis('z').contain(point[1]);\n },\n\n containData: function (data) {\n return this.getAxis('x').containData(data[0])\n && this.getAxis('y').containData(data[1])\n && this.getAxis('z').containData(data[2]);\n },\n\n dataToPoint: function (data, out, clamp) {\n out = out || [];\n out[0] = this.getAxis('x').dataToCoord(data[0], clamp);\n out[2] = this.getAxis('y').dataToCoord(data[1], clamp);\n out[1] = this.getAxis('z').dataToCoord(data[2], clamp);\n return out;\n },\n\n pointToData: function (point, out, clamp) {\n out = out || [];\n out[0] = this.getAxis('x').coordToData(point[0], clamp);\n out[1] = this.getAxis('y').coordToData(point[2], clamp);\n out[2] = this.getAxis('z').coordToData(point[1], clamp);\n return out;\n }\n};\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.inherits(Cartesian3D, __WEBPACK_IMPORTED_MODULE_1_echarts_lib_coord_cartesian_Cartesian___default.a);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Cartesian3D);\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar zrUtil = __webpack_require__(13);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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/* 170 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n\n\nfunction Axis3D(dim, scale, extent) {\n\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.Axis.call(this, dim, scale, extent);\n}\n\nAxis3D.prototype = {\n constructor: Axis3D,\n\n getExtentMin: function () {\n var extent = this._extent;\n return Math.min(extent[0], extent[1]);\n },\n\n getExtentMax: function () {\n var extent = this._extent;\n return Math.max(extent[0], extent[1]);\n },\n\n calculateCategoryInterval: function () {\n // TODO consider label length\n return Math.floor(this.scale.count() / 8);\n }\n};\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.inherits(Axis3D, __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.Axis);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Axis3D);\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar zrUtil = __webpack_require__(13);\n\nvar textContain = __webpack_require__(172);\n\nvar numberUtil = __webpack_require__(85);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 * 每三位默认加,格式化\n * @param {string|number} x\n * @return {string}\n */\nfunction addCommas(x) {\n if (isNaN(x)) {\n return '-';\n }\n\n x = (x + '').split('.');\n return x[0].replace(/(\\d{1,3})(?=(?:\\d{3})+(?!\\d))/g, '$1,') + (x.length > 1 ? '.' + x[1] : '');\n}\n/**\n * @param {string} str\n * @param {boolean} [upperCaseFirst=false]\n * @return {string} str\n */\n\n\nfunction toCamelCase(str, upperCaseFirst) {\n str = (str || '').toLowerCase().replace(/-(.)/g, function (match, group1) {\n return group1.toUpperCase();\n });\n\n if (upperCaseFirst && str) {\n str = str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n return str;\n}\n\nvar normalizeCssArray = zrUtil.normalizeCssArray;\nvar replaceReg = /([&<>\"'])/g;\nvar replaceMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': '''\n};\n\nfunction encodeHTML(source) {\n return source == null ? '' : (source + '').replace(replaceReg, function (str, c) {\n return replaceMap[c];\n });\n}\n\nvar TPL_VAR_ALIAS = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];\n\nvar wrapVar = function (varName, seriesIdx) {\n return '{' + varName + (seriesIdx == null ? '' : seriesIdx) + '}';\n};\n/**\n * Template formatter\n * @param {string} tpl\n * @param {Array.|Object} paramsList\n * @param {boolean} [encode=false]\n * @return {string}\n */\n\n\nfunction formatTpl(tpl, paramsList, encode) {\n if (!zrUtil.isArray(paramsList)) {\n paramsList = [paramsList];\n }\n\n var seriesLen = paramsList.length;\n\n if (!seriesLen) {\n return '';\n }\n\n var $vars = paramsList[0].$vars || [];\n\n for (var i = 0; i < $vars.length; i++) {\n var alias = TPL_VAR_ALIAS[i];\n tpl = tpl.replace(wrapVar(alias), wrapVar(alias, 0));\n }\n\n for (var seriesIdx = 0; seriesIdx < seriesLen; seriesIdx++) {\n for (var k = 0; k < $vars.length; k++) {\n var val = paramsList[seriesIdx][$vars[k]];\n tpl = tpl.replace(wrapVar(TPL_VAR_ALIAS[k], seriesIdx), encode ? encodeHTML(val) : val);\n }\n }\n\n return tpl;\n}\n/**\n * simple Template formatter\n *\n * @param {string} tpl\n * @param {Object} param\n * @param {boolean} [encode=false]\n * @return {string}\n */\n\n\nfunction formatTplSimple(tpl, param, encode) {\n zrUtil.each(param, function (value, key) {\n tpl = tpl.replace('{' + key + '}', encode ? encodeHTML(value) : value);\n });\n return tpl;\n}\n/**\n * @param {Object|string} [opt] If string, means color.\n * @param {string} [opt.color]\n * @param {string} [opt.extraCssText]\n * @param {string} [opt.type='item'] 'item' or 'subItem'\n * @return {string}\n */\n\n\nfunction getTooltipMarker(opt, extraCssText) {\n opt = zrUtil.isString(opt) ? {\n color: opt,\n extraCssText: extraCssText\n } : opt || {};\n var color = opt.color;\n var type = opt.type;\n var extraCssText = opt.extraCssText;\n\n if (!color) {\n return '';\n }\n\n return type === 'subItem' ? '' : '';\n}\n\nfunction pad(str, len) {\n str += '';\n return '0000'.substr(0, len - str.length) + str;\n}\n/**\n * ISO Date format\n * @param {string} tpl\n * @param {number} value\n * @param {boolean} [isUTC=false] Default in local time.\n * see `module:echarts/scale/Time`\n * and `module:echarts/util/number#parseDate`.\n * @inner\n */\n\n\nfunction formatTime(tpl, value, isUTC) {\n if (tpl === 'week' || tpl === 'month' || tpl === 'quarter' || tpl === 'half-year' || tpl === 'year') {\n tpl = 'MM-dd\\nyyyy';\n }\n\n var date = numberUtil.parseDate(value);\n var utc = isUTC ? 'UTC' : '';\n var y = date['get' + utc + 'FullYear']();\n var M = date['get' + utc + 'Month']() + 1;\n var d = date['get' + utc + 'Date']();\n var h = date['get' + utc + 'Hours']();\n var m = date['get' + utc + 'Minutes']();\n var s = date['get' + utc + 'Seconds']();\n var S = date['get' + utc + 'Milliseconds']();\n tpl = tpl.replace('MM', pad(M, 2)).replace('M', M).replace('yyyy', y).replace('yy', y % 100).replace('dd', pad(d, 2)).replace('d', d).replace('hh', pad(h, 2)).replace('h', h).replace('mm', pad(m, 2)).replace('m', m).replace('ss', pad(s, 2)).replace('s', s).replace('SSS', pad(S, 3));\n return tpl;\n}\n/**\n * Capital first\n * @param {string} str\n * @return {string}\n */\n\n\nfunction capitalFirst(str) {\n return str ? str.charAt(0).toUpperCase() + str.substr(1) : str;\n}\n\nvar truncateText = textContain.truncateText;\nvar getTextRect = textContain.getBoundingRect;\nexports.addCommas = addCommas;\nexports.toCamelCase = toCamelCase;\nexports.normalizeCssArray = normalizeCssArray;\nexports.encodeHTML = encodeHTML;\nexports.formatTpl = formatTpl;\nexports.formatTplSimple = formatTplSimple;\nexports.getTooltipMarker = getTooltipMarker;\nexports.formatTime = formatTime;\nexports.capitalFirst = capitalFirst;\nexports.truncateText = truncateText;\nexports.getTextRect = getTextRect;\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar BoundingRect = __webpack_require__(82);\n\nvar imageHelper = __webpack_require__(173);\n\nvar _util = __webpack_require__(13);\n\nvar getContext = _util.getContext;\nvar extend = _util.extend;\nvar retrieve2 = _util.retrieve2;\nvar retrieve3 = _util.retrieve3;\nvar trim = _util.trim;\nvar textWidthCache = {};\nvar textWidthCacheCounter = 0;\nvar TEXT_CACHE_MAX = 5000;\nvar STYLE_REG = /\\{([a-zA-Z0-9_]+)\\|([^}]*)\\}/g;\nvar DEFAULT_FONT = '12px sans-serif'; // Avoid assign to an exported variable, for transforming to cjs.\n\nvar methods = {};\n\nfunction $override(name, fn) {\n methods[name] = fn;\n}\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @return {number} width\n */\n\n\nfunction getWidth(text, font) {\n font = font || DEFAULT_FONT;\n var key = text + ':' + font;\n\n if (textWidthCache[key]) {\n return textWidthCache[key];\n }\n\n var textLines = (text + '').split('\\n');\n var width = 0;\n\n for (var i = 0, l = textLines.length; i < l; i++) {\n // textContain.measureText may be overrided in SVG or VML\n width = Math.max(measureText(textLines[i], font).width, width);\n }\n\n if (textWidthCacheCounter > TEXT_CACHE_MAX) {\n textWidthCacheCounter = 0;\n textWidthCache = {};\n }\n\n textWidthCacheCounter++;\n textWidthCache[key] = width;\n return width;\n}\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @param {string} [textAlign='left']\n * @param {string} [textVerticalAlign='top']\n * @param {Array.} [textPadding]\n * @param {Object} [rich]\n * @param {Object} [truncate]\n * @return {Object} {x, y, width, height, lineHeight}\n */\n\n\nfunction getBoundingRect(text, font, textAlign, textVerticalAlign, textPadding, rich, truncate) {\n return rich ? getRichTextRect(text, font, textAlign, textVerticalAlign, textPadding, rich, truncate) : getPlainTextRect(text, font, textAlign, textVerticalAlign, textPadding, truncate);\n}\n\nfunction getPlainTextRect(text, font, textAlign, textVerticalAlign, textPadding, truncate) {\n var contentBlock = parsePlainText(text, font, textPadding, truncate);\n var outerWidth = getWidth(text, font);\n\n if (textPadding) {\n outerWidth += textPadding[1] + textPadding[3];\n }\n\n var outerHeight = contentBlock.outerHeight;\n var x = adjustTextX(0, outerWidth, textAlign);\n var y = adjustTextY(0, outerHeight, textVerticalAlign);\n var rect = new BoundingRect(x, y, outerWidth, outerHeight);\n rect.lineHeight = contentBlock.lineHeight;\n return rect;\n}\n\nfunction getRichTextRect(text, font, textAlign, textVerticalAlign, textPadding, rich, truncate) {\n var contentBlock = parseRichText(text, {\n rich: rich,\n truncate: truncate,\n font: font,\n textAlign: textAlign,\n textPadding: textPadding\n });\n var outerWidth = contentBlock.outerWidth;\n var outerHeight = contentBlock.outerHeight;\n var x = adjustTextX(0, outerWidth, textAlign);\n var y = adjustTextY(0, outerHeight, textVerticalAlign);\n return new BoundingRect(x, y, outerWidth, outerHeight);\n}\n/**\n * @public\n * @param {number} x\n * @param {number} width\n * @param {string} [textAlign='left']\n * @return {number} Adjusted x.\n */\n\n\nfunction adjustTextX(x, width, textAlign) {\n // FIXME Right to left language\n if (textAlign === 'right') {\n x -= width;\n } else if (textAlign === 'center') {\n x -= width / 2;\n }\n\n return x;\n}\n/**\n * @public\n * @param {number} y\n * @param {number} height\n * @param {string} [textVerticalAlign='top']\n * @return {number} Adjusted y.\n */\n\n\nfunction adjustTextY(y, height, textVerticalAlign) {\n if (textVerticalAlign === 'middle') {\n y -= height / 2;\n } else if (textVerticalAlign === 'bottom') {\n y -= height;\n }\n\n return y;\n}\n/**\n * @public\n * @param {stirng} textPosition\n * @param {Object} rect {x, y, width, height}\n * @param {number} distance\n * @return {Object} {x, y, textAlign, textVerticalAlign}\n */\n\n\nfunction adjustTextPositionOnRect(textPosition, rect, distance) {\n var x = rect.x;\n var y = rect.y;\n var height = rect.height;\n var width = rect.width;\n var halfHeight = height / 2;\n var textAlign = 'left';\n var textVerticalAlign = 'top';\n\n switch (textPosition) {\n case 'left':\n x -= distance;\n y += halfHeight;\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n\n case 'right':\n x += distance + width;\n y += halfHeight;\n textVerticalAlign = 'middle';\n break;\n\n case 'top':\n x += width / 2;\n y -= distance;\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n\n case 'bottom':\n x += width / 2;\n y += height + distance;\n textAlign = 'center';\n break;\n\n case 'inside':\n x += width / 2;\n y += halfHeight;\n textAlign = 'center';\n textVerticalAlign = 'middle';\n break;\n\n case 'insideLeft':\n x += distance;\n y += halfHeight;\n textVerticalAlign = 'middle';\n break;\n\n case 'insideRight':\n x += width - distance;\n y += halfHeight;\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n\n case 'insideTop':\n x += width / 2;\n y += distance;\n textAlign = 'center';\n break;\n\n case 'insideBottom':\n x += width / 2;\n y += height - distance;\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n\n case 'insideTopLeft':\n x += distance;\n y += distance;\n break;\n\n case 'insideTopRight':\n x += width - distance;\n y += distance;\n textAlign = 'right';\n break;\n\n case 'insideBottomLeft':\n x += distance;\n y += height - distance;\n textVerticalAlign = 'bottom';\n break;\n\n case 'insideBottomRight':\n x += width - distance;\n y += height - distance;\n textAlign = 'right';\n textVerticalAlign = 'bottom';\n break;\n }\n\n return {\n x: x,\n y: y,\n textAlign: textAlign,\n textVerticalAlign: textVerticalAlign\n };\n}\n/**\n * Show ellipsis if overflow.\n *\n * @public\n * @param {string} text\n * @param {string} containerWidth\n * @param {string} font\n * @param {number} [ellipsis='...']\n * @param {Object} [options]\n * @param {number} [options.maxIterations=3]\n * @param {number} [options.minChar=0] If truncate result are less\n * then minChar, ellipsis will not show, which is\n * better for user hint in some cases.\n * @param {number} [options.placeholder=''] When all truncated, use the placeholder.\n * @return {string}\n */\n\n\nfunction truncateText(text, containerWidth, font, ellipsis, options) {\n if (!containerWidth) {\n return '';\n }\n\n var textLines = (text + '').split('\\n');\n options = prepareTruncateOptions(containerWidth, font, ellipsis, options); // FIXME\n // It is not appropriate that every line has '...' when truncate multiple lines.\n\n for (var i = 0, len = textLines.length; i < len; i++) {\n textLines[i] = truncateSingleLine(textLines[i], options);\n }\n\n return textLines.join('\\n');\n}\n\nfunction prepareTruncateOptions(containerWidth, font, ellipsis, options) {\n options = extend({}, options);\n options.font = font;\n var ellipsis = retrieve2(ellipsis, '...');\n options.maxIterations = retrieve2(options.maxIterations, 2);\n var minChar = options.minChar = retrieve2(options.minChar, 0); // FIXME\n // Other languages?\n\n options.cnCharWidth = getWidth('国', font); // FIXME\n // Consider proportional font?\n\n var ascCharWidth = options.ascCharWidth = getWidth('a', font);\n options.placeholder = retrieve2(options.placeholder, ''); // Example 1: minChar: 3, text: 'asdfzxcv', truncate result: 'asdf', but not: 'a...'.\n // Example 2: minChar: 3, text: '维度', truncate result: '维', but not: '...'.\n\n var contentWidth = containerWidth = Math.max(0, containerWidth - 1); // Reserve some gap.\n\n for (var i = 0; i < minChar && contentWidth >= ascCharWidth; i++) {\n contentWidth -= ascCharWidth;\n }\n\n var ellipsisWidth = getWidth(ellipsis);\n\n if (ellipsisWidth > contentWidth) {\n ellipsis = '';\n ellipsisWidth = 0;\n }\n\n contentWidth = containerWidth - ellipsisWidth;\n options.ellipsis = ellipsis;\n options.ellipsisWidth = ellipsisWidth;\n options.contentWidth = contentWidth;\n options.containerWidth = containerWidth;\n return options;\n}\n\nfunction truncateSingleLine(textLine, options) {\n var containerWidth = options.containerWidth;\n var font = options.font;\n var contentWidth = options.contentWidth;\n\n if (!containerWidth) {\n return '';\n }\n\n var lineWidth = getWidth(textLine, font);\n\n if (lineWidth <= containerWidth) {\n return textLine;\n }\n\n for (var j = 0;; j++) {\n if (lineWidth <= contentWidth || j >= options.maxIterations) {\n textLine += options.ellipsis;\n break;\n }\n\n var subLength = j === 0 ? estimateLength(textLine, contentWidth, options.ascCharWidth, options.cnCharWidth) : lineWidth > 0 ? Math.floor(textLine.length * contentWidth / lineWidth) : 0;\n textLine = textLine.substr(0, subLength);\n lineWidth = getWidth(textLine, font);\n }\n\n if (textLine === '') {\n textLine = options.placeholder;\n }\n\n return textLine;\n}\n\nfunction estimateLength(text, contentWidth, ascCharWidth, cnCharWidth) {\n var width = 0;\n var i = 0;\n\n for (var len = text.length; i < len && width < contentWidth; i++) {\n var charCode = text.charCodeAt(i);\n width += 0 <= charCode && charCode <= 127 ? ascCharWidth : cnCharWidth;\n }\n\n return i;\n}\n/**\n * @public\n * @param {string} font\n * @return {number} line height\n */\n\n\nfunction getLineHeight(font) {\n // FIXME A rough approach.\n return getWidth('国', font);\n}\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @return {Object} width\n */\n\n\nfunction measureText(text, font) {\n return methods.measureText(text, font);\n} // Avoid assign to an exported variable, for transforming to cjs.\n\n\nmethods.measureText = function (text, font) {\n var ctx = getContext();\n ctx.font = font || DEFAULT_FONT;\n return ctx.measureText(text);\n};\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @param {Object} [truncate]\n * @return {Object} block: {lineHeight, lines, height, outerHeight}\n * Notice: for performance, do not calculate outerWidth util needed.\n */\n\n\nfunction parsePlainText(text, font, padding, truncate) {\n text != null && (text += '');\n var lineHeight = getLineHeight(font);\n var lines = text ? text.split('\\n') : [];\n var height = lines.length * lineHeight;\n var outerHeight = height;\n\n if (padding) {\n outerHeight += padding[0] + padding[2];\n }\n\n if (text && truncate) {\n var truncOuterHeight = truncate.outerHeight;\n var truncOuterWidth = truncate.outerWidth;\n\n if (truncOuterHeight != null && outerHeight > truncOuterHeight) {\n text = '';\n lines = [];\n } else if (truncOuterWidth != null) {\n var options = prepareTruncateOptions(truncOuterWidth - (padding ? padding[1] + padding[3] : 0), font, truncate.ellipsis, {\n minChar: truncate.minChar,\n placeholder: truncate.placeholder\n }); // FIXME\n // It is not appropriate that every line has '...' when truncate multiple lines.\n\n for (var i = 0, len = lines.length; i < len; i++) {\n lines[i] = truncateSingleLine(lines[i], options);\n }\n }\n }\n\n return {\n lines: lines,\n height: height,\n outerHeight: outerHeight,\n lineHeight: lineHeight\n };\n}\n/**\n * For example: 'some text {a|some text}other text{b|some text}xxx{c|}xxx'\n * Also consider 'bbbb{a|xxx\\nzzz}xxxx\\naaaa'.\n *\n * @public\n * @param {string} text\n * @param {Object} style\n * @return {Object} block\n * {\n * width,\n * height,\n * lines: [{\n * lineHeight,\n * width,\n * tokens: [[{\n * styleName,\n * text,\n * width, // include textPadding\n * height, // include textPadding\n * textWidth, // pure text width\n * textHeight, // pure text height\n * lineHeihgt,\n * font,\n * textAlign,\n * textVerticalAlign\n * }], [...], ...]\n * }, ...]\n * }\n * If styleName is undefined, it is plain text.\n */\n\n\nfunction parseRichText(text, style) {\n var contentBlock = {\n lines: [],\n width: 0,\n height: 0\n };\n text != null && (text += '');\n\n if (!text) {\n return contentBlock;\n }\n\n var lastIndex = STYLE_REG.lastIndex = 0;\n var result;\n\n while ((result = STYLE_REG.exec(text)) != null) {\n var matchedIndex = result.index;\n\n if (matchedIndex > lastIndex) {\n pushTokens(contentBlock, text.substring(lastIndex, matchedIndex));\n }\n\n pushTokens(contentBlock, result[2], result[1]);\n lastIndex = STYLE_REG.lastIndex;\n }\n\n if (lastIndex < text.length) {\n pushTokens(contentBlock, text.substring(lastIndex, text.length));\n }\n\n var lines = contentBlock.lines;\n var contentHeight = 0;\n var contentWidth = 0; // For `textWidth: 100%`\n\n var pendingList = [];\n var stlPadding = style.textPadding;\n var truncate = style.truncate;\n var truncateWidth = truncate && truncate.outerWidth;\n var truncateHeight = truncate && truncate.outerHeight;\n\n if (stlPadding) {\n truncateWidth != null && (truncateWidth -= stlPadding[1] + stlPadding[3]);\n truncateHeight != null && (truncateHeight -= stlPadding[0] + stlPadding[2]);\n } // Calculate layout info of tokens.\n\n\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var lineHeight = 0;\n var lineWidth = 0;\n\n for (var j = 0; j < line.tokens.length; j++) {\n var token = line.tokens[j];\n var tokenStyle = token.styleName && style.rich[token.styleName] || {}; // textPadding should not inherit from style.\n\n var textPadding = token.textPadding = tokenStyle.textPadding; // textFont has been asigned to font by `normalizeStyle`.\n\n var font = token.font = tokenStyle.font || style.font; // textHeight can be used when textVerticalAlign is specified in token.\n\n var tokenHeight = token.textHeight = retrieve2( // textHeight should not be inherited, consider it can be specified\n // as box height of the block.\n tokenStyle.textHeight, getLineHeight(font));\n textPadding && (tokenHeight += textPadding[0] + textPadding[2]);\n token.height = tokenHeight;\n token.lineHeight = retrieve3(tokenStyle.textLineHeight, style.textLineHeight, tokenHeight);\n token.textAlign = tokenStyle && tokenStyle.textAlign || style.textAlign;\n token.textVerticalAlign = tokenStyle && tokenStyle.textVerticalAlign || 'middle';\n\n if (truncateHeight != null && contentHeight + token.lineHeight > truncateHeight) {\n return {\n lines: [],\n width: 0,\n height: 0\n };\n }\n\n token.textWidth = getWidth(token.text, font);\n var tokenWidth = tokenStyle.textWidth;\n var tokenWidthNotSpecified = tokenWidth == null || tokenWidth === 'auto'; // Percent width, can be `100%`, can be used in drawing separate\n // line when box width is needed to be auto.\n\n if (typeof tokenWidth === 'string' && tokenWidth.charAt(tokenWidth.length - 1) === '%') {\n token.percentWidth = tokenWidth;\n pendingList.push(token);\n tokenWidth = 0; // Do not truncate in this case, because there is no user case\n // and it is too complicated.\n } else {\n if (tokenWidthNotSpecified) {\n tokenWidth = token.textWidth; // FIXME: If image is not loaded and textWidth is not specified, calling\n // `getBoundingRect()` will not get correct result.\n\n var textBackgroundColor = tokenStyle.textBackgroundColor;\n var bgImg = textBackgroundColor && textBackgroundColor.image; // Use cases:\n // (1) If image is not loaded, it will be loaded at render phase and call\n // `dirty()` and `textBackgroundColor.image` will be replaced with the loaded\n // image, and then the right size will be calculated here at the next tick.\n // See `graphic/helper/text.js`.\n // (2) If image loaded, and `textBackgroundColor.image` is image src string,\n // use `imageHelper.findExistImage` to find cached image.\n // `imageHelper.findExistImage` will always be called here before\n // `imageHelper.createOrUpdateImage` in `graphic/helper/text.js#renderRichText`\n // which ensures that image will not be rendered before correct size calcualted.\n\n if (bgImg) {\n bgImg = imageHelper.findExistImage(bgImg);\n\n if (imageHelper.isImageReady(bgImg)) {\n tokenWidth = Math.max(tokenWidth, bgImg.width * tokenHeight / bgImg.height);\n }\n }\n }\n\n var paddingW = textPadding ? textPadding[1] + textPadding[3] : 0;\n tokenWidth += paddingW;\n var remianTruncWidth = truncateWidth != null ? truncateWidth - lineWidth : null;\n\n if (remianTruncWidth != null && remianTruncWidth < tokenWidth) {\n if (!tokenWidthNotSpecified || remianTruncWidth < paddingW) {\n token.text = '';\n token.textWidth = tokenWidth = 0;\n } else {\n token.text = truncateText(token.text, remianTruncWidth - paddingW, font, truncate.ellipsis, {\n minChar: truncate.minChar\n });\n token.textWidth = getWidth(token.text, font);\n tokenWidth = token.textWidth + paddingW;\n }\n }\n }\n\n lineWidth += token.width = tokenWidth;\n tokenStyle && (lineHeight = Math.max(lineHeight, token.lineHeight));\n }\n\n line.width = lineWidth;\n line.lineHeight = lineHeight;\n contentHeight += lineHeight;\n contentWidth = Math.max(contentWidth, lineWidth);\n }\n\n contentBlock.outerWidth = contentBlock.width = retrieve2(style.textWidth, contentWidth);\n contentBlock.outerHeight = contentBlock.height = retrieve2(style.textHeight, contentHeight);\n\n if (stlPadding) {\n contentBlock.outerWidth += stlPadding[1] + stlPadding[3];\n contentBlock.outerHeight += stlPadding[0] + stlPadding[2];\n }\n\n for (var i = 0; i < pendingList.length; i++) {\n var token = pendingList[i];\n var percentWidth = token.percentWidth; // Should not base on outerWidth, because token can not be placed out of padding.\n\n token.width = parseInt(percentWidth, 10) / 100 * contentWidth;\n }\n\n return contentBlock;\n}\n\nfunction pushTokens(block, str, styleName) {\n var isEmptyStr = str === '';\n var strs = str.split('\\n');\n var lines = block.lines;\n\n for (var i = 0; i < strs.length; i++) {\n var text = strs[i];\n var token = {\n styleName: styleName,\n text: text,\n isLineHolder: !text && !isEmptyStr\n }; // The first token should be appended to the last line.\n\n if (!i) {\n var tokens = (lines[lines.length - 1] || (lines[0] = {\n tokens: []\n })).tokens; // Consider cases:\n // (1) ''.split('\\n') => ['', '\\n', ''], the '' at the first item\n // (which is a placeholder) should be replaced by new token.\n // (2) A image backage, where token likes {a|}.\n // (3) A redundant '' will affect textAlign in line.\n // (4) tokens with the same tplName should not be merged, because\n // they should be displayed in different box (with border and padding).\n\n var tokensLen = tokens.length;\n tokensLen === 1 && tokens[0].isLineHolder ? tokens[0] = token : // Consider text is '', only insert when it is the \"lineHolder\" or\n // \"emptyStr\". Otherwise a redundant '' will affect textAlign in line.\n (text || !tokensLen || isEmptyStr) && tokens.push(token);\n } // Other tokens always start a new line.\n else {\n // If there is '', insert it as a placeholder.\n lines.push({\n tokens: [token]\n });\n }\n }\n}\n\nfunction makeFont(style) {\n // FIXME in node-canvas fontWeight is before fontStyle\n // Use `fontSize` `fontFamily` to check whether font properties are defined.\n var font = (style.fontSize || style.fontFamily) && [style.fontStyle, style.fontWeight, (style.fontSize || 12) + 'px', // If font properties are defined, `fontFamily` should not be ignored.\n style.fontFamily || 'sans-serif'].join(' ');\n return font && trim(font) || style.textFont || style.font;\n}\n\nexports.DEFAULT_FONT = DEFAULT_FONT;\nexports.$override = $override;\nexports.getWidth = getWidth;\nexports.getBoundingRect = getBoundingRect;\nexports.adjustTextX = adjustTextX;\nexports.adjustTextY = adjustTextY;\nexports.adjustTextPositionOnRect = adjustTextPositionOnRect;\nexports.truncateText = truncateText;\nexports.getLineHeight = getLineHeight;\nexports.measureText = measureText;\nexports.parsePlainText = parsePlainText;\nexports.parseRichText = parseRichText;\nexports.makeFont = makeFont;\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar LRU = __webpack_require__(60);\n\nvar globalImageCache = new LRU(50);\n/**\n * @param {string|HTMLImageElement|HTMLCanvasElement|Canvas} newImageOrSrc\n * @return {HTMLImageElement|HTMLCanvasElement|Canvas} image\n */\n\nfunction findExistImage(newImageOrSrc) {\n if (typeof newImageOrSrc === 'string') {\n var cachedImgObj = globalImageCache.get(newImageOrSrc);\n return cachedImgObj && cachedImgObj.image;\n } else {\n return newImageOrSrc;\n }\n}\n/**\n * Caution: User should cache loaded images, but not just count on LRU.\n * Consider if required images more than LRU size, will dead loop occur?\n *\n * @param {string|HTMLImageElement|HTMLCanvasElement|Canvas} newImageOrSrc\n * @param {HTMLImageElement|HTMLCanvasElement|Canvas} image Existent image.\n * @param {module:zrender/Element} [hostEl] For calling `dirty`.\n * @param {Function} [cb] params: (image, cbPayload)\n * @param {Object} [cbPayload] Payload on cb calling.\n * @return {HTMLImageElement|HTMLCanvasElement|Canvas} image\n */\n\n\nfunction createOrUpdateImage(newImageOrSrc, image, hostEl, cb, cbPayload) {\n if (!newImageOrSrc) {\n return image;\n } else if (typeof newImageOrSrc === 'string') {\n // Image should not be loaded repeatly.\n if (image && image.__zrImageSrc === newImageOrSrc || !hostEl) {\n return image;\n } // Only when there is no existent image or existent image src\n // is different, this method is responsible for load.\n\n\n var cachedImgObj = globalImageCache.get(newImageOrSrc);\n var pendingWrap = {\n hostEl: hostEl,\n cb: cb,\n cbPayload: cbPayload\n };\n\n if (cachedImgObj) {\n image = cachedImgObj.image;\n !isImageReady(image) && cachedImgObj.pending.push(pendingWrap);\n } else {\n !image && (image = new Image());\n image.onload = imageOnLoad;\n globalImageCache.put(newImageOrSrc, image.__cachedImgObj = {\n image: image,\n pending: [pendingWrap]\n });\n image.src = image.__zrImageSrc = newImageOrSrc;\n }\n\n return image;\n } // newImageOrSrc is an HTMLImageElement or HTMLCanvasElement or Canvas\n else {\n return newImageOrSrc;\n }\n}\n\nfunction imageOnLoad() {\n var cachedImgObj = this.__cachedImgObj;\n this.onload = this.__cachedImgObj = null;\n\n for (var i = 0; i < cachedImgObj.pending.length; i++) {\n var pendingWrap = cachedImgObj.pending[i];\n var cb = pendingWrap.cb;\n cb && cb(this, pendingWrap.cbPayload);\n pendingWrap.hostEl.dirty();\n }\n\n cachedImgObj.pending.length = 0;\n}\n\nfunction isImageReady(image) {\n return image && image.width && image.height;\n}\n\nexports.findExistImage = findExistImage;\nexports.createOrUpdateImage = createOrUpdateImage;\nexports.isImageReady = isImageReady;\n\n/***/ }),\n/* 174 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_Base__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_glenum__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__math_Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__math_BoundingBox__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__math_Frustum__ = __webpack_require__(59);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__math_Matrix4__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Renderer__ = __webpack_require__(52);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Shader__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__Material__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__FrameBuffer__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__TextureCube__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__camera_Perspective__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__camera_Orthographic__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__compositor_Pass__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__compositor_TexturePool__ = __webpack_require__(86);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__glmatrix_mat4__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__shader_source_shadowmap_glsl_js__ = __webpack_require__(175);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar targets = ['px', 'nx', 'py', 'ny', 'pz', 'nz'];\n\n\n__WEBPACK_IMPORTED_MODULE_7__Shader__[\"a\" /* default */]['import'](__WEBPACK_IMPORTED_MODULE_18__shader_source_shadowmap_glsl_js__[\"a\" /* default */]);\n\nfunction getDepthMaterialUniform(renderable, depthMaterial, symbol) {\n if (symbol === 'alphaMap') {\n return renderable.material.get('diffuseMap');\n }\n else if (symbol === 'alphaCutoff') {\n if (renderable.material.isDefined('fragment', 'ALPHA_TEST')\n && renderable.material.get('diffuseMap')\n ) {\n var alphaCutoff = renderable.material.get('alphaCutoff');\n return alphaCutoff || 0;\n }\n return 0;\n }\n else {\n return depthMaterial.get(symbol);\n }\n}\n\nfunction isDepthMaterialChanged(renderable, prevRenderable) {\n var matA = renderable.material;\n var matB = prevRenderable.material;\n return matA.get('diffuseMap') !== matB.get('diffuseMap')\n || (matA.get('alphaCutoff') || 0) !== (matB.get('alphaCutoff') || 0);\n}\n\n/**\n * Pass rendering shadow map.\n *\n * @constructor clay.prePass.ShadowMap\n * @extends clay.core.Base\n * @example\n * var shadowMapPass = new clay.prePass.ShadowMap({\n * softShadow: clay.prePass.ShadowMap.VSM\n * });\n * ...\n * animation.on('frame', function (frameTime) {\n * shadowMapPass.render(renderer, scene, camera);\n * renderer.render(scene, camera);\n * });\n */\nvar ShadowMapPass = __WEBPACK_IMPORTED_MODULE_0__core_Base__[\"a\" /* default */].extend(function () {\n return /** @lends clay.prePass.ShadowMap# */ {\n /**\n * Soft shadow technique.\n * Can be {@link clay.prePass.ShadowMap.PCF} or {@link clay.prePass.ShadowMap.VSM}\n * @type {number}\n */\n softShadow: ShadowMapPass.PCF,\n\n /**\n * Soft shadow blur size\n * @type {number}\n */\n shadowBlur: 1.0,\n\n lightFrustumBias: 'auto',\n\n kernelPCF: new Float32Array([\n 1, 0,\n 1, 1,\n -1, 1,\n 0, 1,\n -1, 0,\n -1, -1,\n 1, -1,\n 0, -1\n ]),\n\n precision: 'highp',\n\n _lastRenderNotCastShadow: false,\n\n _frameBuffer: new __WEBPACK_IMPORTED_MODULE_9__FrameBuffer__[\"a\" /* default */](),\n\n _textures: {},\n _shadowMapNumber: {\n 'POINT_LIGHT': 0,\n 'DIRECTIONAL_LIGHT': 0,\n 'SPOT_LIGHT': 0\n },\n\n _depthMaterials: {},\n _distanceMaterials: {},\n\n _receivers: [],\n _lightsCastShadow: [],\n\n _lightCameras: {},\n _lightMaterials: {},\n\n _texturePool: new __WEBPACK_IMPORTED_MODULE_16__compositor_TexturePool__[\"a\" /* default */]()\n };\n}, function () {\n // Gaussian filter pass for VSM\n this._gaussianPassH = new __WEBPACK_IMPORTED_MODULE_15__compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_7__Shader__[\"a\" /* default */].source('clay.compositor.gaussian_blur')\n });\n this._gaussianPassV = new __WEBPACK_IMPORTED_MODULE_15__compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_7__Shader__[\"a\" /* default */].source('clay.compositor.gaussian_blur')\n });\n this._gaussianPassH.setUniform('blurSize', this.shadowBlur);\n this._gaussianPassH.setUniform('blurDir', 0.0);\n this._gaussianPassV.setUniform('blurSize', this.shadowBlur);\n this._gaussianPassV.setUniform('blurDir', 1.0);\n\n this._outputDepthPass = new __WEBPACK_IMPORTED_MODULE_15__compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_7__Shader__[\"a\" /* default */].source('clay.sm.debug_depth')\n });\n}, {\n /**\n * Render scene to shadow textures\n * @param {clay.Renderer} renderer\n * @param {clay.Scene} scene\n * @param {clay.Camera} sceneCamera\n * @param {boolean} [notUpdateScene=false]\n * @memberOf clay.prePass.ShadowMap.prototype\n */\n render: function (renderer, scene, sceneCamera, notUpdateScene) {\n if (!sceneCamera) {\n sceneCamera = scene.getMainCamera();\n }\n this.trigger('beforerender', this, renderer, scene, sceneCamera);\n this._renderShadowPass(renderer, scene, sceneCamera, notUpdateScene);\n this.trigger('afterrender', this, renderer, scene, sceneCamera);\n },\n\n /**\n * Debug rendering of shadow textures\n * @param {clay.Renderer} renderer\n * @param {number} size\n * @memberOf clay.prePass.ShadowMap.prototype\n */\n renderDebug: function (renderer, size) {\n renderer.saveClear();\n var viewport = renderer.viewport;\n var x = 0, y = 0;\n var width = size || viewport.width / 4;\n var height = width;\n if (this.softShadow === ShadowMapPass.VSM) {\n this._outputDepthPass.material.define('fragment', 'USE_VSM');\n }\n else {\n this._outputDepthPass.material.undefine('fragment', 'USE_VSM');\n }\n for (var name in this._textures) {\n var texture = this._textures[name];\n renderer.setViewport(x, y, width * texture.width / texture.height, height);\n this._outputDepthPass.setUniform('depthMap', texture);\n this._outputDepthPass.render(renderer);\n x += width * texture.width / texture.height;\n }\n renderer.setViewport(viewport);\n renderer.restoreClear();\n },\n\n _updateReceivers: function (renderer, mesh) {\n if (mesh.receiveShadow) {\n this._receivers.push(mesh);\n mesh.material.set('shadowEnabled', 1);\n\n mesh.material.set('pcfKernel', this.kernelPCF);\n }\n else {\n mesh.material.set('shadowEnabled', 0);\n }\n\n if (this.softShadow === ShadowMapPass.VSM) {\n mesh.material.define('fragment', 'USE_VSM');\n mesh.material.undefine('fragment', 'PCF_KERNEL_SIZE');\n }\n else {\n mesh.material.undefine('fragment', 'USE_VSM');\n var kernelPCF = this.kernelPCF;\n if (kernelPCF && kernelPCF.length) {\n mesh.material.define('fragment', 'PCF_KERNEL_SIZE', kernelPCF.length / 2);\n }\n else {\n mesh.material.undefine('fragment', 'PCF_KERNEL_SIZE');\n }\n }\n },\n\n _update: function (renderer, scene) {\n var self = this;\n scene.traverse(function (renderable) {\n if (renderable.isRenderable()) {\n self._updateReceivers(renderer, renderable);\n }\n });\n\n for (var i = 0; i < scene.lights.length; i++) {\n var light = scene.lights[i];\n if (light.castShadow && !light.invisible) {\n this._lightsCastShadow.push(light);\n }\n }\n },\n\n _renderShadowPass: function (renderer, scene, sceneCamera, notUpdateScene) {\n // reset\n for (var name in this._shadowMapNumber) {\n this._shadowMapNumber[name] = 0;\n }\n this._lightsCastShadow.length = 0;\n this._receivers.length = 0;\n\n var _gl = renderer.gl;\n\n if (!notUpdateScene) {\n scene.update();\n }\n if (sceneCamera) {\n sceneCamera.update();\n }\n\n scene.updateLights();\n this._update(renderer, scene);\n\n // Needs to update the receivers again if shadows come from 1 to 0.\n if (!this._lightsCastShadow.length && this._lastRenderNotCastShadow) {\n return;\n }\n\n this._lastRenderNotCastShadow = this._lightsCastShadow === 0;\n\n _gl.enable(_gl.DEPTH_TEST);\n _gl.depthMask(true);\n _gl.disable(_gl.BLEND);\n\n // Clear with high-z, so the part not rendered will not been shadowed\n // TODO\n // TODO restore\n _gl.clearColor(1.0, 1.0, 1.0, 1.0);\n\n // Shadow uniforms\n var spotLightShadowMaps = [];\n var spotLightMatrices = [];\n var directionalLightShadowMaps = [];\n var directionalLightMatrices = [];\n var shadowCascadeClips = [];\n var pointLightShadowMaps = [];\n\n var dirLightHasCascade;\n // Create textures for shadow map\n for (var i = 0; i < this._lightsCastShadow.length; i++) {\n var light = this._lightsCastShadow[i];\n if (light.type === 'DIRECTIONAL_LIGHT') {\n\n if (dirLightHasCascade) {\n console.warn('Only one direectional light supported with shadow cascade');\n continue;\n }\n if (light.shadowCascade > 4) {\n console.warn('Support at most 4 cascade');\n continue;\n }\n if (light.shadowCascade > 1) {\n dirLightHasCascade = light;\n }\n\n this.renderDirectionalLightShadow(\n renderer,\n scene,\n sceneCamera,\n light,\n shadowCascadeClips,\n directionalLightMatrices,\n directionalLightShadowMaps\n );\n }\n else if (light.type === 'SPOT_LIGHT') {\n this.renderSpotLightShadow(\n renderer,\n scene,\n light,\n spotLightMatrices,\n spotLightShadowMaps\n );\n }\n else if (light.type === 'POINT_LIGHT') {\n this.renderPointLightShadow(\n renderer,\n scene,\n light,\n pointLightShadowMaps\n );\n }\n\n this._shadowMapNumber[light.type]++;\n }\n\n for (var lightType in this._shadowMapNumber) {\n var number = this._shadowMapNumber[lightType];\n var key = lightType + '_SHADOWMAP_COUNT';\n for (var i = 0; i < this._receivers.length; i++) {\n var mesh = this._receivers[i];\n var material = mesh.material;\n if (material.fragmentDefines[key] !== number) {\n if (number > 0) {\n material.define('fragment', key, number);\n }\n else if (material.isDefined('fragment', key)) {\n material.undefine('fragment', key);\n }\n }\n }\n }\n for (var i = 0; i < this._receivers.length; i++) {\n var mesh = this._receivers[i];\n var material = mesh.material;\n if (dirLightHasCascade) {\n material.define('fragment', 'SHADOW_CASCADE', dirLightHasCascade.shadowCascade);\n }\n else {\n material.undefine('fragment', 'SHADOW_CASCADE');\n }\n }\n\n var shadowUniforms = scene.shadowUniforms;\n\n function getSize(texture) {\n return texture.height;\n }\n if (directionalLightShadowMaps.length > 0) {\n var directionalLightShadowMapSizes = directionalLightShadowMaps.map(getSize);\n shadowUniforms.directionalLightShadowMaps = { value: directionalLightShadowMaps, type: 'tv' };\n shadowUniforms.directionalLightMatrices = { value: directionalLightMatrices, type: 'm4v' };\n shadowUniforms.directionalLightShadowMapSizes = { value: directionalLightShadowMapSizes, type: '1fv' };\n if (dirLightHasCascade) {\n var shadowCascadeClipsNear = shadowCascadeClips.slice();\n var shadowCascadeClipsFar = shadowCascadeClips.slice();\n shadowCascadeClipsNear.pop();\n shadowCascadeClipsFar.shift();\n\n // Iterate from far to near\n shadowCascadeClipsNear.reverse();\n shadowCascadeClipsFar.reverse();\n // directionalLightShadowMaps.reverse();\n directionalLightMatrices.reverse();\n shadowUniforms.shadowCascadeClipsNear = { value: shadowCascadeClipsNear, type: '1fv' };\n shadowUniforms.shadowCascadeClipsFar = { value: shadowCascadeClipsFar, type: '1fv' };\n }\n }\n\n if (spotLightShadowMaps.length > 0) {\n var spotLightShadowMapSizes = spotLightShadowMaps.map(getSize);\n var shadowUniforms = scene.shadowUniforms;\n shadowUniforms.spotLightShadowMaps = { value: spotLightShadowMaps, type: 'tv' };\n shadowUniforms.spotLightMatrices = { value: spotLightMatrices, type: 'm4v' };\n shadowUniforms.spotLightShadowMapSizes = { value: spotLightShadowMapSizes, type: '1fv' };\n }\n\n if (pointLightShadowMaps.length > 0) {\n shadowUniforms.pointLightShadowMaps = { value: pointLightShadowMaps, type: 'tv' };\n }\n },\n\n renderDirectionalLightShadow: (function () {\n\n var splitFrustum = new __WEBPACK_IMPORTED_MODULE_4__math_Frustum__[\"a\" /* default */]();\n var splitProjMatrix = new __WEBPACK_IMPORTED_MODULE_5__math_Matrix4__[\"a\" /* default */]();\n var cropBBox = new __WEBPACK_IMPORTED_MODULE_3__math_BoundingBox__[\"a\" /* default */]();\n var cropMatrix = new __WEBPACK_IMPORTED_MODULE_5__math_Matrix4__[\"a\" /* default */]();\n var lightViewMatrix = new __WEBPACK_IMPORTED_MODULE_5__math_Matrix4__[\"a\" /* default */]();\n var lightViewProjMatrix = new __WEBPACK_IMPORTED_MODULE_5__math_Matrix4__[\"a\" /* default */]();\n var lightProjMatrix = new __WEBPACK_IMPORTED_MODULE_5__math_Matrix4__[\"a\" /* default */]();\n\n return function (renderer, scene, sceneCamera, light, shadowCascadeClips, directionalLightMatrices, directionalLightShadowMaps) {\n\n var defaultShadowMaterial = this._getDepthMaterial(light);\n var passConfig = {\n getMaterial: function (renderable) {\n return renderable.shadowDepthMaterial || defaultShadowMaterial;\n },\n isMaterialChanged: isDepthMaterialChanged,\n getUniform: getDepthMaterialUniform,\n ifRender: function (renderable) {\n return renderable.castShadow;\n },\n sortCompare: __WEBPACK_IMPORTED_MODULE_6__Renderer__[\"a\" /* default */].opaqueSortCompare\n };\n\n // First frame\n if (!scene.viewBoundingBoxLastFrame.isFinite()) {\n var boundingBox = scene.getBoundingBox();\n scene.viewBoundingBoxLastFrame\n .copy(boundingBox).applyTransform(sceneCamera.viewMatrix);\n }\n // Considering moving speed since the bounding box is from last frame\n // TODO: add a bias\n var clippedFar = Math.min(-scene.viewBoundingBoxLastFrame.min.z, sceneCamera.far);\n var clippedNear = Math.max(-scene.viewBoundingBoxLastFrame.max.z, sceneCamera.near);\n\n var lightCamera = this._getDirectionalLightCamera(light, scene, sceneCamera);\n\n var lvpMat4Arr = lightViewProjMatrix.array;\n lightProjMatrix.copy(lightCamera.projectionMatrix);\n __WEBPACK_IMPORTED_MODULE_17__glmatrix_mat4__[\"a\" /* default */].invert(lightViewMatrix.array, lightCamera.worldTransform.array);\n __WEBPACK_IMPORTED_MODULE_17__glmatrix_mat4__[\"a\" /* default */].multiply(lightViewMatrix.array, lightViewMatrix.array, sceneCamera.worldTransform.array);\n __WEBPACK_IMPORTED_MODULE_17__glmatrix_mat4__[\"a\" /* default */].multiply(lvpMat4Arr, lightProjMatrix.array, lightViewMatrix.array);\n\n var clipPlanes = [];\n var isPerspective = sceneCamera instanceof __WEBPACK_IMPORTED_MODULE_13__camera_Perspective__[\"a\" /* default */];\n\n var scaleZ = (sceneCamera.near + sceneCamera.far) / (sceneCamera.near - sceneCamera.far);\n var offsetZ = 2 * sceneCamera.near * sceneCamera.far / (sceneCamera.near - sceneCamera.far);\n for (var i = 0; i <= light.shadowCascade; i++) {\n var clog = clippedNear * Math.pow(clippedFar / clippedNear, i / light.shadowCascade);\n var cuni = clippedNear + (clippedFar - clippedNear) * i / light.shadowCascade;\n var c = clog * light.cascadeSplitLogFactor + cuni * (1 - light.cascadeSplitLogFactor);\n clipPlanes.push(c);\n shadowCascadeClips.push(-(-c * scaleZ + offsetZ) / -c);\n }\n var texture = this._getTexture(light, light.shadowCascade);\n directionalLightShadowMaps.push(texture);\n\n var viewport = renderer.viewport;\n\n var _gl = renderer.gl;\n this._frameBuffer.attach(texture);\n this._frameBuffer.bind(renderer);\n _gl.clear(_gl.COLOR_BUFFER_BIT | _gl.DEPTH_BUFFER_BIT);\n\n for (var i = 0; i < light.shadowCascade; i++) {\n // Get the splitted frustum\n var nearPlane = clipPlanes[i];\n var farPlane = clipPlanes[i + 1];\n if (isPerspective) {\n __WEBPACK_IMPORTED_MODULE_17__glmatrix_mat4__[\"a\" /* default */].perspective(splitProjMatrix.array, sceneCamera.fov / 180 * Math.PI, sceneCamera.aspect, nearPlane, farPlane);\n }\n else {\n __WEBPACK_IMPORTED_MODULE_17__glmatrix_mat4__[\"a\" /* default */].ortho(\n splitProjMatrix.array,\n sceneCamera.left, sceneCamera.right, sceneCamera.bottom, sceneCamera.top,\n nearPlane, farPlane\n );\n }\n splitFrustum.setFromProjection(splitProjMatrix);\n splitFrustum.getTransformedBoundingBox(cropBBox, lightViewMatrix);\n cropBBox.applyProjection(lightProjMatrix);\n var _min = cropBBox.min.array;\n var _max = cropBBox.max.array;\n _min[0] = Math.max(_min[0], -1);\n _min[1] = Math.max(_min[1], -1);\n _max[0] = Math.min(_max[0], 1);\n _max[1] = Math.min(_max[1], 1);\n cropMatrix.ortho(_min[0], _max[0], _min[1], _max[1], 1, -1);\n lightCamera.projectionMatrix.multiplyLeft(cropMatrix);\n\n var shadowSize = light.shadowResolution || 512;\n\n // Reversed, left to right => far to near\n renderer.setViewport((light.shadowCascade - i - 1) * shadowSize, 0, shadowSize, shadowSize, 1);\n\n var renderList = scene.updateRenderList(lightCamera);\n renderer.renderPass(renderList.opaque, lightCamera, passConfig);\n\n // Filter for VSM\n if (this.softShadow === ShadowMapPass.VSM) {\n this._gaussianFilter(renderer, texture, texture.width);\n }\n\n var matrix = new __WEBPACK_IMPORTED_MODULE_5__math_Matrix4__[\"a\" /* default */]();\n matrix.copy(lightCamera.viewMatrix)\n .multiplyLeft(lightCamera.projectionMatrix);\n\n directionalLightMatrices.push(matrix.array);\n\n lightCamera.projectionMatrix.copy(lightProjMatrix);\n }\n\n this._frameBuffer.unbind(renderer);\n\n renderer.setViewport(viewport);\n };\n })(),\n\n renderSpotLightShadow: function (renderer, scene, light, spotLightMatrices, spotLightShadowMaps) {\n\n var texture = this._getTexture(light);\n var lightCamera = this._getSpotLightCamera(light);\n var _gl = renderer.gl;\n\n this._frameBuffer.attach(texture);\n this._frameBuffer.bind(renderer);\n\n _gl.clear(_gl.COLOR_BUFFER_BIT | _gl.DEPTH_BUFFER_BIT);\n\n var defaultShadowMaterial = this._getDepthMaterial(light);\n var passConfig = {\n getMaterial: function (renderable) {\n return renderable.shadowDepthMaterial || defaultShadowMaterial;\n },\n isMaterialChanged: isDepthMaterialChanged,\n getUniform: getDepthMaterialUniform,\n ifRender: function (renderable) {\n return renderable.castShadow;\n },\n sortCompare: __WEBPACK_IMPORTED_MODULE_6__Renderer__[\"a\" /* default */].opaqueSortCompare\n };\n\n var renderList = scene.updateRenderList(lightCamera);\n renderer.renderPass(renderList.opaque, lightCamera, passConfig);\n\n this._frameBuffer.unbind(renderer);\n\n // Filter for VSM\n if (this.softShadow === ShadowMapPass.VSM) {\n this._gaussianFilter(renderer, texture, texture.width);\n }\n\n var matrix = new __WEBPACK_IMPORTED_MODULE_5__math_Matrix4__[\"a\" /* default */]();\n matrix.copy(lightCamera.worldTransform)\n .invert()\n .multiplyLeft(lightCamera.projectionMatrix);\n\n spotLightShadowMaps.push(texture);\n spotLightMatrices.push(matrix.array);\n },\n\n renderPointLightShadow: function (renderer, scene, light, pointLightShadowMaps) {\n var texture = this._getTexture(light);\n var _gl = renderer.gl;\n pointLightShadowMaps.push(texture);\n\n var defaultShadowMaterial = this._getDepthMaterial(light);\n var passConfig = {\n getMaterial: function (renderable) {\n return renderable.shadowDepthMaterial || defaultShadowMaterial;\n },\n getUniform: getDepthMaterialUniform,\n sortCompare: __WEBPACK_IMPORTED_MODULE_6__Renderer__[\"a\" /* default */].opaqueSortCompare\n };\n\n var renderListEachSide = {\n px: [], py: [], pz: [], nx: [], ny: [], nz: []\n };\n var bbox = new __WEBPACK_IMPORTED_MODULE_3__math_BoundingBox__[\"a\" /* default */]();\n var lightWorldPosition = light.getWorldPosition().array;\n var lightBBox = new __WEBPACK_IMPORTED_MODULE_3__math_BoundingBox__[\"a\" /* default */]();\n var range = light.range;\n lightBBox.min.setArray(lightWorldPosition);\n lightBBox.max.setArray(lightWorldPosition);\n var extent = new __WEBPACK_IMPORTED_MODULE_2__math_Vector3__[\"a\" /* default */](range, range, range);\n lightBBox.max.add(extent);\n lightBBox.min.sub(extent);\n\n var targetsNeedRender = { px: false, py: false, pz: false, nx: false, ny: false, nz: false };\n scene.traverse(function (renderable) {\n if (renderable.isRenderable() && renderable.castShadow) {\n var geometry = renderable.geometry;\n if (!geometry.boundingBox) {\n for (var i = 0; i < targets.length; i++) {\n renderListEachSide[targets[i]].push(renderable);\n }\n return;\n }\n bbox.transformFrom(geometry.boundingBox, renderable.worldTransform);\n if (!bbox.intersectBoundingBox(lightBBox)) {\n return;\n }\n\n bbox.updateVertices();\n for (var i = 0; i < targets.length; i++) {\n targetsNeedRender[targets[i]] = false;\n }\n for (var i = 0; i < 8; i++) {\n var vtx = bbox.vertices[i];\n var x = vtx[0] - lightWorldPosition[0];\n var y = vtx[1] - lightWorldPosition[1];\n var z = vtx[2] - lightWorldPosition[2];\n var absx = Math.abs(x);\n var absy = Math.abs(y);\n var absz = Math.abs(z);\n if (absx > absy) {\n if (absx > absz) {\n targetsNeedRender[x > 0 ? 'px' : 'nx'] = true;\n }\n else {\n targetsNeedRender[z > 0 ? 'pz' : 'nz'] = true;\n }\n }\n else {\n if (absy > absz) {\n targetsNeedRender[y > 0 ? 'py' : 'ny'] = true;\n }\n else {\n targetsNeedRender[z > 0 ? 'pz' : 'nz'] = true;\n }\n }\n }\n for (var i = 0; i < targets.length; i++) {\n if (targetsNeedRender[targets[i]]) {\n renderListEachSide[targets[i]].push(renderable);\n }\n }\n }\n });\n\n for (var i = 0; i < 6; i++) {\n var target = targets[i];\n var camera = this._getPointLightCamera(light, target);\n\n this._frameBuffer.attach(texture, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i);\n this._frameBuffer.bind(renderer);\n _gl.clear(_gl.COLOR_BUFFER_BIT | _gl.DEPTH_BUFFER_BIT);\n\n renderer.renderPass(renderListEachSide[target], camera, passConfig);\n }\n\n this._frameBuffer.unbind(renderer);\n },\n\n _getDepthMaterial: function (light) {\n var shadowMaterial = this._lightMaterials[light.__uid__];\n var isPointLight = light.type === 'POINT_LIGHT';\n if (!shadowMaterial) {\n var shaderPrefix = isPointLight ? 'clay.sm.distance.' : 'clay.sm.depth.';\n shadowMaterial = new __WEBPACK_IMPORTED_MODULE_8__Material__[\"a\" /* default */]({\n precision: this.precision,\n shader: new __WEBPACK_IMPORTED_MODULE_7__Shader__[\"a\" /* default */](__WEBPACK_IMPORTED_MODULE_7__Shader__[\"a\" /* default */].source(shaderPrefix + 'vertex'), __WEBPACK_IMPORTED_MODULE_7__Shader__[\"a\" /* default */].source(shaderPrefix + 'fragment'))\n });\n\n this._lightMaterials[light.__uid__] = shadowMaterial;\n }\n if (light.shadowSlopeScale != null) {\n shadowMaterial.setUniform('slopeScale', light.shadowSlopeScale);\n }\n if (light.shadowBias != null) {\n shadowMaterial.setUniform('bias', light.shadowBias);\n }\n if (this.softShadow === ShadowMapPass.VSM) {\n shadowMaterial.define('fragment', 'USE_VSM');\n }\n else {\n shadowMaterial.undefine('fragment', 'USE_VSM');\n }\n\n if (isPointLight) {\n shadowMaterial.set('lightPosition', light.getWorldPosition().array);\n shadowMaterial.set('range', light.range);\n }\n\n return shadowMaterial;\n },\n\n _gaussianFilter: function (renderer, texture, size) {\n var parameter = {\n width: size,\n height: size,\n type: __WEBPACK_IMPORTED_MODULE_10__Texture__[\"a\" /* default */].FLOAT\n };\n var tmpTexture = this._texturePool.get(parameter);\n\n this._frameBuffer.attach(tmpTexture);\n this._frameBuffer.bind(renderer);\n this._gaussianPassH.setUniform('texture', texture);\n this._gaussianPassH.setUniform('textureWidth', size);\n this._gaussianPassH.render(renderer);\n\n this._frameBuffer.attach(texture);\n this._gaussianPassV.setUniform('texture', tmpTexture);\n this._gaussianPassV.setUniform('textureHeight', size);\n this._gaussianPassV.render(renderer);\n this._frameBuffer.unbind(renderer);\n\n this._texturePool.put(tmpTexture);\n },\n\n _getTexture: function (light, cascade) {\n var key = light.__uid__;\n var texture = this._textures[key];\n var resolution = light.shadowResolution || 512;\n cascade = cascade || 1;\n if (!texture) {\n if (light.type === 'POINT_LIGHT') {\n texture = new __WEBPACK_IMPORTED_MODULE_12__TextureCube__[\"a\" /* default */]();\n }\n else {\n texture = new __WEBPACK_IMPORTED_MODULE_11__Texture2D__[\"a\" /* default */]();\n }\n // At most 4 cascade\n // TODO share with height ?\n texture.width = resolution * cascade;\n texture.height = resolution;\n if (this.softShadow === ShadowMapPass.VSM) {\n texture.type = __WEBPACK_IMPORTED_MODULE_10__Texture__[\"a\" /* default */].FLOAT;\n texture.anisotropic = 4;\n }\n else {\n texture.minFilter = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].NEAREST;\n texture.magFilter = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].NEAREST;\n texture.useMipmap = false;\n }\n this._textures[key] = texture;\n }\n\n return texture;\n },\n\n _getPointLightCamera: function (light, target) {\n if (!this._lightCameras.point) {\n this._lightCameras.point = {\n px: new __WEBPACK_IMPORTED_MODULE_13__camera_Perspective__[\"a\" /* default */](),\n nx: new __WEBPACK_IMPORTED_MODULE_13__camera_Perspective__[\"a\" /* default */](),\n py: new __WEBPACK_IMPORTED_MODULE_13__camera_Perspective__[\"a\" /* default */](),\n ny: new __WEBPACK_IMPORTED_MODULE_13__camera_Perspective__[\"a\" /* default */](),\n pz: new __WEBPACK_IMPORTED_MODULE_13__camera_Perspective__[\"a\" /* default */](),\n nz: new __WEBPACK_IMPORTED_MODULE_13__camera_Perspective__[\"a\" /* default */]()\n };\n }\n var camera = this._lightCameras.point[target];\n\n camera.far = light.range;\n camera.fov = 90;\n camera.position.set(0, 0, 0);\n switch (target) {\n case 'px':\n camera.lookAt(__WEBPACK_IMPORTED_MODULE_2__math_Vector3__[\"a\" /* default */].POSITIVE_X, __WEBPACK_IMPORTED_MODULE_2__math_Vector3__[\"a\" /* default */].NEGATIVE_Y);\n break;\n case 'nx':\n camera.lookAt(__WEBPACK_IMPORTED_MODULE_2__math_Vector3__[\"a\" /* default */].NEGATIVE_X, __WEBPACK_IMPORTED_MODULE_2__math_Vector3__[\"a\" /* default */].NEGATIVE_Y);\n break;\n case 'py':\n camera.lookAt(__WEBPACK_IMPORTED_MODULE_2__math_Vector3__[\"a\" /* default */].POSITIVE_Y, __WEBPACK_IMPORTED_MODULE_2__math_Vector3__[\"a\" /* default */].POSITIVE_Z);\n break;\n case 'ny':\n camera.lookAt(__WEBPACK_IMPORTED_MODULE_2__math_Vector3__[\"a\" /* default */].NEGATIVE_Y, __WEBPACK_IMPORTED_MODULE_2__math_Vector3__[\"a\" /* default */].NEGATIVE_Z);\n break;\n case 'pz':\n camera.lookAt(__WEBPACK_IMPORTED_MODULE_2__math_Vector3__[\"a\" /* default */].POSITIVE_Z, __WEBPACK_IMPORTED_MODULE_2__math_Vector3__[\"a\" /* default */].NEGATIVE_Y);\n break;\n case 'nz':\n camera.lookAt(__WEBPACK_IMPORTED_MODULE_2__math_Vector3__[\"a\" /* default */].NEGATIVE_Z, __WEBPACK_IMPORTED_MODULE_2__math_Vector3__[\"a\" /* default */].NEGATIVE_Y);\n break;\n }\n light.getWorldPosition(camera.position);\n camera.update();\n\n return camera;\n },\n\n _getDirectionalLightCamera: (function () {\n var lightViewMatrix = new __WEBPACK_IMPORTED_MODULE_5__math_Matrix4__[\"a\" /* default */]();\n var sceneViewBoundingBox = new __WEBPACK_IMPORTED_MODULE_3__math_BoundingBox__[\"a\" /* default */]();\n var lightViewBBox = new __WEBPACK_IMPORTED_MODULE_3__math_BoundingBox__[\"a\" /* default */]();\n // Camera of directional light will be adjusted\n // to contain the view frustum and scene bounding box as tightly as possible\n return function (light, scene, sceneCamera) {\n if (!this._lightCameras.directional) {\n this._lightCameras.directional = new __WEBPACK_IMPORTED_MODULE_14__camera_Orthographic__[\"a\" /* default */]();\n }\n var camera = this._lightCameras.directional;\n\n sceneViewBoundingBox.copy(scene.viewBoundingBoxLastFrame);\n sceneViewBoundingBox.intersection(sceneCamera.frustum.boundingBox);\n // Move to the center of frustum(in world space)\n camera.position\n .copy(sceneViewBoundingBox.min)\n .add(sceneViewBoundingBox.max)\n .scale(0.5)\n .transformMat4(sceneCamera.worldTransform);\n camera.rotation.copy(light.rotation);\n camera.scale.copy(light.scale);\n camera.updateWorldTransform();\n\n // Transform to light view space\n __WEBPACK_IMPORTED_MODULE_5__math_Matrix4__[\"a\" /* default */].invert(lightViewMatrix, camera.worldTransform);\n __WEBPACK_IMPORTED_MODULE_5__math_Matrix4__[\"a\" /* default */].multiply(lightViewMatrix, lightViewMatrix, sceneCamera.worldTransform);\n\n lightViewBBox.copy(sceneViewBoundingBox).applyTransform(lightViewMatrix);\n\n var min = lightViewBBox.min.array;\n var max = lightViewBBox.max.array;\n\n // Move camera to adjust the near to 0\n camera.position.set((min[0] + max[0]) / 2, (min[1] + max[1]) / 2, max[2])\n .transformMat4(camera.worldTransform);\n camera.near = 0;\n camera.far = -min[2] + max[2];\n // Make sure receivers not in the frustum will stil receive the shadow.\n if (isNaN(this.lightFrustumBias)) {\n camera.far *= 4;\n }\n else {\n camera.far += this.lightFrustumBias;\n }\n camera.left = min[0];\n camera.right = max[0];\n camera.top = max[1];\n camera.bottom = min[1];\n camera.update(true);\n\n return camera;\n };\n })(),\n\n _getSpotLightCamera: function (light) {\n if (!this._lightCameras.spot) {\n this._lightCameras.spot = new __WEBPACK_IMPORTED_MODULE_13__camera_Perspective__[\"a\" /* default */]();\n }\n var camera = this._lightCameras.spot;\n // Update properties\n camera.fov = light.penumbraAngle * 2;\n camera.far = light.range;\n camera.worldTransform.copy(light.worldTransform);\n camera.updateProjectionMatrix();\n __WEBPACK_IMPORTED_MODULE_17__glmatrix_mat4__[\"a\" /* default */].invert(camera.viewMatrix.array, camera.worldTransform.array);\n\n return camera;\n },\n\n /**\n * @param {clay.Renderer|WebGLRenderingContext} [renderer]\n * @memberOf clay.prePass.ShadowMap.prototype\n */\n // PENDING Renderer or WebGLRenderingContext\n dispose: function (renderer) {\n var _gl = renderer.gl || renderer;\n\n if (this._frameBuffer) {\n this._frameBuffer.dispose(_gl);\n }\n\n for (var name in this._textures) {\n this._textures[name].dispose(_gl);\n }\n\n this._texturePool.clear(renderer.gl);\n\n this._depthMaterials = {};\n this._distanceMaterials = {};\n this._textures = {};\n this._lightCameras = {};\n this._shadowMapNumber = {\n 'POINT_LIGHT': 0,\n 'DIRECTIONAL_LIGHT': 0,\n 'SPOT_LIGHT': 0\n };\n this._meshMaterials = {};\n\n for (var i = 0; i < this._receivers.length; i++) {\n var mesh = this._receivers[i];\n // Mesh may be disposed\n if (mesh.material) {\n var material = mesh.material;\n material.undefine('fragment', 'POINT_LIGHT_SHADOW_COUNT');\n material.undefine('fragment', 'DIRECTIONAL_LIGHT_SHADOW_COUNT');\n material.undefine('fragment', 'AMBIENT_LIGHT_SHADOW_COUNT');\n material.set('shadowEnabled', 0);\n }\n }\n\n this._receivers = [];\n this._lightsCastShadow = [];\n }\n});\n\n/**\n * @name clay.prePass.ShadowMap.VSM\n * @type {number}\n */\nShadowMapPass.VSM = 1;\n\n/**\n * @name clay.prePass.ShadowMap.PCF\n * @type {number}\n */\nShadowMapPass.PCF = 2;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (ShadowMapPass);\n\n\n/***/ }),\n/* 175 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export clay.sm.depth.vertex\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\nattribute vec3 position : POSITION;\\nattribute vec2 texcoord : TEXCOORD_0;\\n@import clay.chunk.skinning_header\\nvarying vec4 v_ViewPosition;\\nvarying vec2 v_Texcoord;\\nvoid main(){\\n vec3 skinnedPosition = position;\\n#ifdef SKINNING\\n @import clay.chunk.skin_matrix\\n skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;\\n#endif\\n v_ViewPosition = worldViewProjection * vec4(skinnedPosition, 1.0);\\n gl_Position = v_ViewPosition;\\n v_Texcoord = texcoord;\\n}\\n@end\\n@export clay.sm.depth.fragment\\nvarying vec4 v_ViewPosition;\\nvarying vec2 v_Texcoord;\\nuniform float bias : 0.001;\\nuniform float slopeScale : 1.0;\\nuniform sampler2D alphaMap;\\nuniform float alphaCutoff: 0.0;\\n@import clay.util.encode_float\\nvoid main(){\\n float depth = v_ViewPosition.z / v_ViewPosition.w;\\n if (alphaCutoff > 0.0) {\\n if (texture2D(alphaMap, v_Texcoord).a <= alphaCutoff) {\\n discard;\\n }\\n }\\n#ifdef USE_VSM\\n depth = depth * 0.5 + 0.5;\\n float moment1 = depth;\\n float moment2 = depth * depth;\\n float dx = dFdx(depth);\\n float dy = dFdy(depth);\\n moment2 += 0.25*(dx*dx+dy*dy);\\n gl_FragColor = vec4(moment1, moment2, 0.0, 1.0);\\n#else\\n float dx = dFdx(depth);\\n float dy = dFdy(depth);\\n depth += sqrt(dx*dx + dy*dy) * slopeScale + bias;\\n gl_FragColor = encodeFloat(depth * 0.5 + 0.5);\\n#endif\\n}\\n@end\\n@export clay.sm.debug_depth\\nuniform sampler2D depthMap;\\nvarying vec2 v_Texcoord;\\n@import clay.util.decode_float\\nvoid main() {\\n vec4 tex = texture2D(depthMap, v_Texcoord);\\n#ifdef USE_VSM\\n gl_FragColor = vec4(tex.rgb, 1.0);\\n#else\\n float depth = decodeFloat(tex);\\n gl_FragColor = vec4(depth, depth, depth, 1.0);\\n#endif\\n}\\n@end\\n@export clay.sm.distance.vertex\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\nuniform mat4 world : WORLD;\\nattribute vec3 position : POSITION;\\n@import clay.chunk.skinning_header\\nvarying vec3 v_WorldPosition;\\nvoid main (){\\n vec3 skinnedPosition = position;\\n#ifdef SKINNING\\n @import clay.chunk.skin_matrix\\n skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;\\n#endif\\n gl_Position = worldViewProjection * vec4(skinnedPosition , 1.0);\\n v_WorldPosition = (world * vec4(skinnedPosition, 1.0)).xyz;\\n}\\n@end\\n@export clay.sm.distance.fragment\\nuniform vec3 lightPosition;\\nuniform float range : 100;\\nvarying vec3 v_WorldPosition;\\n@import clay.util.encode_float\\nvoid main(){\\n float dist = distance(lightPosition, v_WorldPosition);\\n#ifdef USE_VSM\\n gl_FragColor = vec4(dist, dist * dist, 0.0, 0.0);\\n#else\\n dist = dist / range;\\n gl_FragColor = encodeFloat(dist);\\n#endif\\n}\\n@end\\n@export clay.plugin.shadow_map_common\\n@import clay.util.decode_float\\nfloat tapShadowMap(sampler2D map, vec2 uv, float z){\\n vec4 tex = texture2D(map, uv);\\n return step(z, decodeFloat(tex) * 2.0 - 1.0);\\n}\\nfloat pcf(sampler2D map, vec2 uv, float z, float textureSize, vec2 scale) {\\n float shadowContrib = tapShadowMap(map, uv, z);\\n vec2 offset = vec2(1.0 / textureSize) * scale;\\n#ifdef PCF_KERNEL_SIZE\\n for (int _idx_ = 0; _idx_ < PCF_KERNEL_SIZE; _idx_++) {{\\n shadowContrib += tapShadowMap(map, uv + offset * pcfKernel[_idx_], z);\\n }}\\n return shadowContrib / float(PCF_KERNEL_SIZE + 1);\\n#else\\n shadowContrib += tapShadowMap(map, uv+vec2(offset.x, 0.0), z);\\n shadowContrib += tapShadowMap(map, uv+vec2(offset.x, offset.y), z);\\n shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, offset.y), z);\\n shadowContrib += tapShadowMap(map, uv+vec2(0.0, offset.y), z);\\n shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, 0.0), z);\\n shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, -offset.y), z);\\n shadowContrib += tapShadowMap(map, uv+vec2(offset.x, -offset.y), z);\\n shadowContrib += tapShadowMap(map, uv+vec2(0.0, -offset.y), z);\\n return shadowContrib / 9.0;\\n#endif\\n}\\nfloat pcf(sampler2D map, vec2 uv, float z, float textureSize) {\\n return pcf(map, uv, z, textureSize, vec2(1.0));\\n}\\nfloat chebyshevUpperBound(vec2 moments, float z){\\n float p = 0.0;\\n z = z * 0.5 + 0.5;\\n if (z <= moments.x) {\\n p = 1.0;\\n }\\n float variance = moments.y - moments.x * moments.x;\\n variance = max(variance, 0.0000001);\\n float mD = moments.x - z;\\n float pMax = variance / (variance + mD * mD);\\n pMax = clamp((pMax-0.4)/(1.0-0.4), 0.0, 1.0);\\n return max(p, pMax);\\n}\\nfloat computeShadowContrib(\\n sampler2D map, mat4 lightVPM, vec3 position, float textureSize, vec2 scale, vec2 offset\\n) {\\n vec4 posInLightSpace = lightVPM * vec4(position, 1.0);\\n posInLightSpace.xyz /= posInLightSpace.w;\\n float z = posInLightSpace.z;\\n if(all(greaterThan(posInLightSpace.xyz, vec3(-0.99, -0.99, -1.0))) &&\\n all(lessThan(posInLightSpace.xyz, vec3(0.99, 0.99, 1.0)))){\\n vec2 uv = (posInLightSpace.xy+1.0) / 2.0;\\n #ifdef USE_VSM\\n vec2 moments = texture2D(map, uv * scale + offset).xy;\\n return chebyshevUpperBound(moments, z);\\n #else\\n return pcf(map, uv * scale + offset, z, textureSize, scale);\\n #endif\\n }\\n return 1.0;\\n}\\nfloat computeShadowContrib(sampler2D map, mat4 lightVPM, vec3 position, float textureSize) {\\n return computeShadowContrib(map, lightVPM, position, textureSize, vec2(1.0), vec2(0.0));\\n}\\nfloat computeShadowContribOmni(samplerCube map, vec3 direction, float range)\\n{\\n float dist = length(direction);\\n vec4 shadowTex = textureCube(map, direction);\\n#ifdef USE_VSM\\n vec2 moments = shadowTex.xy;\\n float variance = moments.y - moments.x * moments.x;\\n float mD = moments.x - dist;\\n float p = variance / (variance + mD * mD);\\n if(moments.x + 0.001 < dist){\\n return clamp(p, 0.0, 1.0);\\n }else{\\n return 1.0;\\n }\\n#else\\n return step(dist, (decodeFloat(shadowTex) + 0.0002) * range);\\n#endif\\n}\\n@end\\n@export clay.plugin.compute_shadow_map\\n#if defined(SPOT_LIGHT_SHADOWMAP_COUNT) || defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT) || defined(POINT_LIGHT_SHADOWMAP_COUNT)\\n#ifdef SPOT_LIGHT_SHADOWMAP_COUNT\\nuniform sampler2D spotLightShadowMaps[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;\\nuniform mat4 spotLightMatrices[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;\\nuniform float spotLightShadowMapSizes[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;\\n#endif\\n#ifdef DIRECTIONAL_LIGHT_SHADOWMAP_COUNT\\n#if defined(SHADOW_CASCADE)\\nuniform sampler2D directionalLightShadowMaps[1]:unconfigurable;\\nuniform mat4 directionalLightMatrices[SHADOW_CASCADE]:unconfigurable;\\nuniform float directionalLightShadowMapSizes[1]:unconfigurable;\\nuniform float shadowCascadeClipsNear[SHADOW_CASCADE]:unconfigurable;\\nuniform float shadowCascadeClipsFar[SHADOW_CASCADE]:unconfigurable;\\n#else\\nuniform sampler2D directionalLightShadowMaps[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;\\nuniform mat4 directionalLightMatrices[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;\\nuniform float directionalLightShadowMapSizes[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;\\n#endif\\n#endif\\n#ifdef POINT_LIGHT_SHADOWMAP_COUNT\\nuniform samplerCube pointLightShadowMaps[POINT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;\\n#endif\\nuniform bool shadowEnabled : true;\\n#ifdef PCF_KERNEL_SIZE\\nuniform vec2 pcfKernel[PCF_KERNEL_SIZE];\\n#endif\\n@import clay.plugin.shadow_map_common\\n#if defined(SPOT_LIGHT_SHADOWMAP_COUNT)\\nvoid computeShadowOfSpotLights(vec3 position, inout float shadowContribs[SPOT_LIGHT_COUNT] ) {\\n float shadowContrib;\\n for(int _idx_ = 0; _idx_ < SPOT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{\\n shadowContrib = computeShadowContrib(\\n spotLightShadowMaps[_idx_], spotLightMatrices[_idx_], position,\\n spotLightShadowMapSizes[_idx_]\\n );\\n shadowContribs[_idx_] = shadowContrib;\\n }}\\n for(int _idx_ = SPOT_LIGHT_SHADOWMAP_COUNT; _idx_ < SPOT_LIGHT_COUNT; _idx_++){{\\n shadowContribs[_idx_] = 1.0;\\n }}\\n}\\n#endif\\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\\n#ifdef SHADOW_CASCADE\\nvoid computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){\\n float depth = (2.0 * gl_FragCoord.z - gl_DepthRange.near - gl_DepthRange.far)\\n / (gl_DepthRange.far - gl_DepthRange.near);\\n float shadowContrib;\\n shadowContribs[0] = 1.0;\\n for (int _idx_ = 0; _idx_ < SHADOW_CASCADE; _idx_++) {{\\n if (\\n depth >= shadowCascadeClipsNear[_idx_] &&\\n depth <= shadowCascadeClipsFar[_idx_]\\n ) {\\n shadowContrib = computeShadowContrib(\\n directionalLightShadowMaps[0], directionalLightMatrices[_idx_], position,\\n directionalLightShadowMapSizes[0],\\n vec2(1.0 / float(SHADOW_CASCADE), 1.0),\\n vec2(float(_idx_) / float(SHADOW_CASCADE), 0.0)\\n );\\n shadowContribs[0] = shadowContrib;\\n }\\n }}\\n for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{\\n shadowContribs[_idx_] = 1.0;\\n }}\\n}\\n#else\\nvoid computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){\\n float shadowContrib;\\n for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_++) {{\\n shadowContrib = computeShadowContrib(\\n directionalLightShadowMaps[_idx_], directionalLightMatrices[_idx_], position,\\n directionalLightShadowMapSizes[_idx_]\\n );\\n shadowContribs[_idx_] = shadowContrib;\\n }}\\n for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{\\n shadowContribs[_idx_] = 1.0;\\n }}\\n}\\n#endif\\n#endif\\n#if defined(POINT_LIGHT_SHADOWMAP_COUNT)\\nvoid computeShadowOfPointLights(vec3 position, inout float shadowContribs[POINT_LIGHT_COUNT] ){\\n vec3 lightPosition;\\n vec3 direction;\\n for(int _idx_ = 0; _idx_ < POINT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{\\n lightPosition = pointLightPosition[_idx_];\\n direction = position - lightPosition;\\n shadowContribs[_idx_] = computeShadowContribOmni(pointLightShadowMaps[_idx_], direction, pointLightRange[_idx_]);\\n }}\\n for(int _idx_ = POINT_LIGHT_SHADOWMAP_COUNT; _idx_ < POINT_LIGHT_COUNT; _idx_++) {{\\n shadowContribs[_idx_] = 1.0;\\n }}\\n}\\n#endif\\n#endif\\n@end\");\n\n\n/***/ }),\n/* 176 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_Shader__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_FrameBuffer__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_claygl_src_compositor_createCompositor__ = __webpack_require__(177);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__SSAOPass__ = __webpack_require__(189);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__SSRPass__ = __webpack_require__(191);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__poissonKernel__ = __webpack_require__(193);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__NormalPass__ = __webpack_require__(194);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__EdgePass__ = __webpack_require__(196);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_claygl_src_math_Matrix4__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__composite_js__ = __webpack_require__(197);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_claygl_src_shader_source_compositor_blur_glsl_js__ = __webpack_require__(87);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_claygl_src_shader_source_compositor_lut_glsl_js__ = __webpack_require__(88);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_claygl_src_shader_source_compositor_output_glsl_js__ = __webpack_require__(89);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16_claygl_src_shader_source_compositor_bright_glsl_js__ = __webpack_require__(90);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17_claygl_src_shader_source_compositor_downsample_glsl_js__ = __webpack_require__(91);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18_claygl_src_shader_source_compositor_upsample_glsl_js__ = __webpack_require__(92);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19_claygl_src_shader_source_compositor_hdr_glsl_js__ = __webpack_require__(93);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20_claygl_src_shader_source_compositor_blend_glsl_js__ = __webpack_require__(94);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21_claygl_src_shader_source_compositor_fxaa_glsl_js__ = __webpack_require__(95);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__DOF_glsl_js__ = __webpack_require__(198);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__edge_glsl_js__ = __webpack_require__(199);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_claygl_src_Shader__[\"a\" /* default */]['import'](__WEBPACK_IMPORTED_MODULE_13_claygl_src_shader_source_compositor_blur_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_claygl_src_Shader__[\"a\" /* default */]['import'](__WEBPACK_IMPORTED_MODULE_14_claygl_src_shader_source_compositor_lut_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_claygl_src_Shader__[\"a\" /* default */]['import'](__WEBPACK_IMPORTED_MODULE_15_claygl_src_shader_source_compositor_output_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_claygl_src_Shader__[\"a\" /* default */]['import'](__WEBPACK_IMPORTED_MODULE_16_claygl_src_shader_source_compositor_bright_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_claygl_src_Shader__[\"a\" /* default */]['import'](__WEBPACK_IMPORTED_MODULE_17_claygl_src_shader_source_compositor_downsample_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_claygl_src_Shader__[\"a\" /* default */]['import'](__WEBPACK_IMPORTED_MODULE_18_claygl_src_shader_source_compositor_upsample_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_claygl_src_Shader__[\"a\" /* default */]['import'](__WEBPACK_IMPORTED_MODULE_19_claygl_src_shader_source_compositor_hdr_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_claygl_src_Shader__[\"a\" /* default */]['import'](__WEBPACK_IMPORTED_MODULE_20_claygl_src_shader_source_compositor_blend_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_claygl_src_Shader__[\"a\" /* default */]['import'](__WEBPACK_IMPORTED_MODULE_21_claygl_src_shader_source_compositor_fxaa_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_claygl_src_Shader__[\"a\" /* default */]['import'](__WEBPACK_IMPORTED_MODULE_22__DOF_glsl_js__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_claygl_src_Shader__[\"a\" /* default */]['import'](__WEBPACK_IMPORTED_MODULE_23__edge_glsl_js__[\"a\" /* default */]);\n\n\nvar commonOutputs = {\n color : {\n parameters : {\n width : function (renderer) {\n return renderer.getWidth();\n },\n height : function (renderer) {\n return renderer.getHeight();\n }\n }\n }\n}\n\nvar FINAL_NODES_CHAIN = ['composite', 'FXAA'];\n\nfunction EffectCompositor() {\n this._sourceTexture = new __WEBPACK_IMPORTED_MODULE_1_claygl_src_Texture2D__[\"a\" /* default */]({\n type: __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture__[\"a\" /* default */].HALF_FLOAT\n });\n this._depthTexture = new __WEBPACK_IMPORTED_MODULE_1_claygl_src_Texture2D__[\"a\" /* default */]({\n format: __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture__[\"a\" /* default */].DEPTH_COMPONENT,\n type: __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture__[\"a\" /* default */].UNSIGNED_INT\n });\n\n this._framebuffer = new __WEBPACK_IMPORTED_MODULE_3_claygl_src_FrameBuffer__[\"a\" /* default */]();\n this._framebuffer.attach(this._sourceTexture);\n this._framebuffer.attach(this._depthTexture, __WEBPACK_IMPORTED_MODULE_3_claygl_src_FrameBuffer__[\"a\" /* default */].DEPTH_ATTACHMENT);\n\n this._normalPass = new __WEBPACK_IMPORTED_MODULE_9__NormalPass__[\"a\" /* default */]();\n\n this._compositor = Object(__WEBPACK_IMPORTED_MODULE_4_claygl_src_compositor_createCompositor__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_12__composite_js__[\"a\" /* default */]);\n\n var sourceNode = this._compositor.getNodeByName('source');\n sourceNode.texture = this._sourceTexture;\n var cocNode = this._compositor.getNodeByName('coc');\n\n this._sourceNode = sourceNode;\n this._cocNode = cocNode;\n this._compositeNode = this._compositor.getNodeByName('composite');\n this._fxaaNode = this._compositor.getNodeByName('FXAA');\n\n this._dofBlurNodes = ['dof_far_blur', 'dof_near_blur', 'dof_coc_blur'].map(function (name) {\n return this._compositor.getNodeByName(name);\n }, this);\n\n this._dofBlurKernel = 0;\n this._dofBlurKernelSize = new Float32Array(0);\n\n this._finalNodesChain = FINAL_NODES_CHAIN.map(function (name) {\n return this._compositor.getNodeByName(name);\n }, this);\n\n var gBufferObj = {\n normalTexture: this._normalPass.getNormalTexture(),\n depthTexture: this._normalPass.getDepthTexture()\n };\n this._ssaoPass = new __WEBPACK_IMPORTED_MODULE_5__SSAOPass__[\"a\" /* default */](gBufferObj);\n this._ssrPass = new __WEBPACK_IMPORTED_MODULE_6__SSRPass__[\"a\" /* default */](gBufferObj);\n this._edgePass = new __WEBPACK_IMPORTED_MODULE_10__EdgePass__[\"a\" /* default */](gBufferObj);\n}\n\nEffectCompositor.prototype.resize = function (width, height, dpr) {\n dpr = dpr || 1;\n var width = width * dpr;\n var height = height * dpr;\n var sourceTexture = this._sourceTexture;\n var depthTexture = this._depthTexture;\n\n sourceTexture.width = width;\n sourceTexture.height = height;\n depthTexture.width = width;\n depthTexture.height = height;\n};\n\nEffectCompositor.prototype._ifRenderNormalPass = function () {\n return this._enableSSAO || this._enableEdge || this._enableSSR;\n};\n\nEffectCompositor.prototype._getPrevNode = function (node) {\n var idx = FINAL_NODES_CHAIN.indexOf(node.name) - 1;\n var prevNode = this._finalNodesChain[idx];\n while (prevNode && !this._compositor.getNodeByName(prevNode.name)) {\n idx -= 1;\n prevNode = this._finalNodesChain[idx];\n }\n return prevNode;\n};\nEffectCompositor.prototype._getNextNode = function (node) {\n var idx = FINAL_NODES_CHAIN.indexOf(node.name) + 1;\n var nextNode = this._finalNodesChain[idx];\n while (nextNode && !this._compositor.getNodeByName(nextNode.name)) {\n idx += 1;\n nextNode = this._finalNodesChain[idx];\n }\n return nextNode;\n};\nEffectCompositor.prototype._addChainNode = function (node) {\n var prevNode = this._getPrevNode(node);\n var nextNode = this._getNextNode(node);\n if (!prevNode) {\n return;\n }\n\n prevNode.outputs = commonOutputs;\n node.inputs.texture = prevNode.name;\n if (nextNode) {\n node.outputs = commonOutputs;\n nextNode.inputs.texture = node.name;\n }\n else {\n node.outputs = null;\n }\n this._compositor.addNode(node);\n};\nEffectCompositor.prototype._removeChainNode = function (node) {\n var prevNode = this._getPrevNode(node);\n var nextNode = this._getNextNode(node);\n if (!prevNode) {\n return;\n }\n\n if (nextNode) {\n prevNode.outputs = commonOutputs;\n nextNode.inputs.texture = prevNode.name;\n }\n else {\n prevNode.outputs = null;\n }\n this._compositor.removeNode(node);\n};\n/**\n * Update normal\n */\nEffectCompositor.prototype.updateNormal = function (renderer, scene, camera, frame) {\n if (this._ifRenderNormalPass()) {\n this._normalPass.update(renderer, scene, camera);\n }\n};\n\n/**\n * Render SSAO after render the scene, before compositing\n */\nEffectCompositor.prototype.updateSSAO = function (renderer, scene, camera, frame) {\n this._ssaoPass.update(renderer, camera, frame);\n};\n\n/**\n * Enable SSAO effect\n */\nEffectCompositor.prototype.enableSSAO = function () {\n this._enableSSAO = true;\n};\n\n/**\n * Disable SSAO effect\n */\nEffectCompositor.prototype.disableSSAO = function () {\n this._enableSSAO = false;\n};\n\n/**\n * Enable SSR effect\n */\nEffectCompositor.prototype.enableSSR = function () {\n this._enableSSR = true;\n // this._normalPass.enableTargetTexture3 = true;\n};\n/**\n * Disable SSR effect\n */\nEffectCompositor.prototype.disableSSR = function () {\n this._enableSSR = false;\n // this._normalPass.enableTargetTexture3 = false;\n};\n\n/**\n * Render SSAO after render the scene, before compositing\n */\nEffectCompositor.prototype.getSSAOTexture = function () {\n return this._ssaoPass.getTargetTexture();\n};\n\n/**\n * @return {clay.FrameBuffer}\n */\nEffectCompositor.prototype.getSourceFrameBuffer = function () {\n return this._framebuffer;\n};\n\n/**\n * @return {clay.Texture2D}\n */\nEffectCompositor.prototype.getSourceTexture = function () {\n return this._sourceTexture;\n};\n\n/**\n * Disable fxaa effect\n */\nEffectCompositor.prototype.disableFXAA = function () {\n this._removeChainNode(this._fxaaNode);\n};\n\n/**\n * Enable fxaa effect\n */\nEffectCompositor.prototype.enableFXAA = function () {\n this._addChainNode(this._fxaaNode);\n};\n\n/**\n * Enable bloom effect\n */\nEffectCompositor.prototype.enableBloom = function () {\n this._compositeNode.inputs.bloom = 'bloom_composite';\n this._compositor.dirty();\n};\n\n/**\n * Disable bloom effect\n */\nEffectCompositor.prototype.disableBloom = function () {\n this._compositeNode.inputs.bloom = null;\n this._compositor.dirty();\n};\n\n/**\n * Enable depth of field effect\n */\nEffectCompositor.prototype.enableDOF = function () {\n this._compositeNode.inputs.texture = 'dof_composite';\n this._compositor.dirty();\n};\n/**\n * Disable depth of field effect\n */\nEffectCompositor.prototype.disableDOF = function () {\n this._compositeNode.inputs.texture = 'source';\n this._compositor.dirty();\n};\n\n/**\n * Enable color correction\n */\nEffectCompositor.prototype.enableColorCorrection = function () {\n this._compositeNode.define('COLOR_CORRECTION');\n this._enableColorCorrection = true;\n};\n/**\n * Disable color correction\n */\nEffectCompositor.prototype.disableColorCorrection = function () {\n this._compositeNode.undefine('COLOR_CORRECTION');\n this._enableColorCorrection = false;\n};\n\n/**\n * Enable edge detection\n */\nEffectCompositor.prototype.enableEdge = function () {\n this._enableEdge = true;\n};\n\n/**\n * Disable edge detection\n */\nEffectCompositor.prototype.disableEdge = function () {\n this._enableEdge = false;\n};\n\n/**\n * Set bloom intensity\n * @param {number} value\n */\nEffectCompositor.prototype.setBloomIntensity = function (value) {\n this._compositeNode.setParameter('bloomIntensity', value);\n};\n\nEffectCompositor.prototype.setSSAOParameter = function (name, value) {\n switch (name) {\n case 'quality':\n // PENDING\n var kernelSize = ({\n low: 6,\n medium: 12,\n high: 32,\n ultra: 62\n })[value] || 12;\n this._ssaoPass.setParameter('kernelSize', kernelSize);\n break;\n case 'radius':\n this._ssaoPass.setParameter(name, value);\n this._ssaoPass.setParameter('bias', value / 200);\n break;\n case 'intensity':\n this._ssaoPass.setParameter(name, value);\n break;\n default:\n if (true) {\n console.warn('Unkown SSAO parameter ' + name);\n }\n }\n};\n\nEffectCompositor.prototype.setDOFParameter = function (name, value) {\n switch (name) {\n case 'focalDistance':\n case 'focalRange':\n case 'fstop':\n this._cocNode.setParameter(name, value);\n break;\n case 'blurRadius':\n for (var i = 0; i < this._dofBlurNodes.length; i++) {\n this._dofBlurNodes[i].setParameter('blurRadius', value);\n }\n break;\n case 'quality':\n var kernelSize = ({\n low: 4, medium: 8, high: 16, ultra: 32\n })[value] || 8;\n this._dofBlurKernelSize = kernelSize;\n for (var i = 0; i < this._dofBlurNodes.length; i++) {\n this._dofBlurNodes[i].pass.material.define('POISSON_KERNEL_SIZE', kernelSize);\n }\n this._dofBlurKernel = new Float32Array(kernelSize * 2);\n break;\n default:\n if (true) {\n console.warn('Unkown DOF parameter ' + name);\n }\n }\n};\n\nEffectCompositor.prototype.setSSRParameter = function (name, value) {\n if (value == null) {\n return;\n }\n switch (name) {\n case 'quality':\n // PENDING\n var maxIteration = ({\n low: 10,\n medium: 15,\n high: 30,\n ultra: 80\n })[value] || 20;\n var pixelStride = ({\n low: 32,\n medium: 16,\n high: 8,\n ultra: 4\n })[value] || 16;\n this._ssrPass.setParameter('maxIteration', maxIteration);\n this._ssrPass.setParameter('pixelStride', pixelStride);\n break;\n case 'maxRoughness':\n this._ssrPass.setParameter('minGlossiness', Math.max(Math.min(1.0 - value, 1.0), 0.0));\n break;\n case 'physical':\n this.setPhysicallyCorrectSSR(value);\n break;\n default:\n console.warn('Unkown SSR parameter ' + name);\n }\n};\n\nEffectCompositor.prototype.setPhysicallyCorrectSSR = function (physical) {\n this._ssrPass.setPhysicallyCorrect(physical);\n};\n\n/**\n * Set color of edge\n */\nEffectCompositor.prototype.setEdgeColor = function (value) {\n var color = __WEBPACK_IMPORTED_MODULE_8__util_graphicGL__[\"a\" /* default */].parseColor(value);\n this._edgePass.setParameter('edgeColor', color);\n};\n\nEffectCompositor.prototype.setExposure = function (value) {\n this._compositeNode.setParameter('exposure', Math.pow(2, value));\n};\n\nEffectCompositor.prototype.setColorLookupTexture = function (image, api) {\n this._compositeNode.pass.material.setTextureImage('lut', this._enableColorCorrection ? image : 'none', api, {\n minFilter: __WEBPACK_IMPORTED_MODULE_8__util_graphicGL__[\"a\" /* default */].Texture.NEAREST,\n magFilter: __WEBPACK_IMPORTED_MODULE_8__util_graphicGL__[\"a\" /* default */].Texture.NEAREST,\n flipY: false\n });\n};\nEffectCompositor.prototype.setColorCorrection = function (type, value) {\n this._compositeNode.setParameter(type, value);\n};\n\nEffectCompositor.prototype.isSSREnabled = function () {\n return this._enableSSR;\n};\n\nEffectCompositor.prototype.composite = function (renderer, scene, camera, framebuffer, frame) {\n\n var sourceTexture = this._sourceTexture;\n var targetTexture = sourceTexture;\n if (this._enableEdge) {\n this._edgePass.update(renderer, camera, sourceTexture, frame);\n sourceTexture = targetTexture = this._edgePass.getTargetTexture();\n }\n if (this._enableSSR) {\n this._ssrPass.update(renderer, camera, sourceTexture, frame);\n targetTexture = this._ssrPass.getTargetTexture();\n\n this._ssrPass.setSSAOTexture(\n this._enableSSAO ? this._ssaoPass.getTargetTexture() : null\n );\n // var lights = scene.getLights();\n // for (var i = 0; i < lights.length; i++) {\n // if (lights[i].cubemap) {\n // this._ssrPass.setAmbientCubemap(lights[i].cubemap, lights[i].intensity);\n // }\n // }\n }\n this._sourceNode.texture = targetTexture;\n\n this._cocNode.setParameter('depth', this._depthTexture);\n\n var blurKernel = this._dofBlurKernel;\n var blurKernelSize = this._dofBlurKernelSize;\n var frameAll = Math.floor(__WEBPACK_IMPORTED_MODULE_7__poissonKernel__[\"a\" /* default */].length / 2 / blurKernelSize);\n var kernelOffset = frame % frameAll;\n\n for (var i = 0; i < blurKernelSize * 2; i++) {\n blurKernel[i] = __WEBPACK_IMPORTED_MODULE_7__poissonKernel__[\"a\" /* default */][i + kernelOffset * blurKernelSize * 2];\n }\n\n for (var i = 0; i < this._dofBlurNodes.length; i++) {\n this._dofBlurNodes[i].setParameter('percent', frame / 30.0);\n this._dofBlurNodes[i].setParameter('poissonKernel', blurKernel);\n }\n\n this._cocNode.setParameter('zNear', camera.near);\n this._cocNode.setParameter('zFar', camera.far);\n\n this._compositor.render(renderer, framebuffer);\n};\n\nEffectCompositor.prototype.dispose = function (renderer) {\n this._sourceTexture.dispose(renderer);\n this._depthTexture.dispose(renderer);\n this._framebuffer.dispose(renderer);\n this._compositor.dispose(renderer);\n\n this._normalPass.dispose(renderer);\n this._ssaoPass.dispose(renderer);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (EffectCompositor);\n\n/***/ }),\n/* 177 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createCompositor__ = __webpack_require__(178);\n// DEPRECATED\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0__createCompositor__[\"a\" /* default */]);\n\n/***/ }),\n/* 178 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_util__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__compositor_Compositor__ = __webpack_require__(179);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__compositor_SceneNode__ = __webpack_require__(181);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__compositor_TextureNode__ = __webpack_require__(182);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__compositor_FilterNode__ = __webpack_require__(183);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Shader__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__TextureCube__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__shader_registerBuiltinCompositor__ = __webpack_require__(184);\n\n\n\n\n\n\n\n\n\n\n\n\nObject(__WEBPACK_IMPORTED_MODULE_9__shader_registerBuiltinCompositor__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_5__Shader__[\"a\" /* default */]);\n\nvar shaderSourceReg = /^#source\\((.*?)\\)/;\n\n/**\n * @name clay.createCompositor\n * @function\n * @param {Object} json\n * @param {Object} [opts]\n * @return {clay.compositor.Compositor}\n */\nfunction createCompositor(json, opts) {\n var compositor = new __WEBPACK_IMPORTED_MODULE_1__compositor_Compositor__[\"a\" /* default */]();\n opts = opts || {};\n\n var lib = {\n textures: {},\n parameters: {}\n };\n var afterLoad = function(shaderLib, textureLib) {\n for (var i = 0; i < json.nodes.length; i++) {\n var nodeInfo = json.nodes[i];\n var node = createNode(nodeInfo, lib, opts);\n if (node) {\n compositor.addNode(node);\n }\n }\n };\n\n for (var name in json.parameters) {\n var paramInfo = json.parameters[name];\n lib.parameters[name] = convertParameter(paramInfo);\n }\n // TODO load texture asynchronous\n loadTextures(json, lib, opts, function(textureLib) {\n lib.textures = textureLib;\n afterLoad();\n });\n\n return compositor;\n}\n\nfunction createNode(nodeInfo, lib, opts) {\n var type = nodeInfo.type || 'filter';\n var shaderSource;\n var inputs;\n var outputs;\n\n if (type === 'filter') {\n var shaderExp = nodeInfo.shader.trim();\n var res = shaderSourceReg.exec(shaderExp);\n if (res) {\n shaderSource = __WEBPACK_IMPORTED_MODULE_5__Shader__[\"a\" /* default */].source(res[1].trim());\n }\n else if (shaderExp.charAt(0) === '#') {\n shaderSource = lib.shaders[shaderExp.substr(1)];\n }\n if (!shaderSource) {\n shaderSource = shaderExp;\n }\n if (!shaderSource) {\n return;\n }\n }\n\n if (nodeInfo.inputs) {\n inputs = {};\n for (var name in nodeInfo.inputs) {\n if (typeof nodeInfo.inputs[name] === 'string') {\n inputs[name] = nodeInfo.inputs[name];\n }\n else {\n inputs[name] = {\n node: nodeInfo.inputs[name].node,\n pin: nodeInfo.inputs[name].pin\n };\n }\n }\n }\n if (nodeInfo.outputs) {\n outputs = {};\n for (var name in nodeInfo.outputs) {\n var outputInfo = nodeInfo.outputs[name];\n outputs[name] = {};\n if (outputInfo.attachment != null) {\n outputs[name].attachment = outputInfo.attachment;\n }\n if (outputInfo.keepLastFrame != null) {\n outputs[name].keepLastFrame = outputInfo.keepLastFrame;\n }\n if (outputInfo.outputLastFrame != null) {\n outputs[name].outputLastFrame = outputInfo.outputLastFrame;\n }\n if (outputInfo.parameters) {\n outputs[name].parameters = convertParameter(outputInfo.parameters);\n }\n }\n }\n var node;\n if (type === 'scene') {\n node = new __WEBPACK_IMPORTED_MODULE_2__compositor_SceneNode__[\"a\" /* default */]({\n name: nodeInfo.name,\n scene: opts.scene,\n camera: opts.camera,\n outputs: outputs\n });\n }\n else if (type === 'texture') {\n node = new __WEBPACK_IMPORTED_MODULE_3__compositor_TextureNode__[\"a\" /* default */]({\n name: nodeInfo.name,\n outputs: outputs\n });\n }\n // Default is filter\n else {\n node = new __WEBPACK_IMPORTED_MODULE_4__compositor_FilterNode__[\"a\" /* default */]({\n name: nodeInfo.name,\n shader: shaderSource,\n inputs: inputs,\n outputs: outputs\n });\n }\n if (node) {\n if (nodeInfo.parameters) {\n for (var name in nodeInfo.parameters) {\n var val = nodeInfo.parameters[name];\n if (typeof(val) === 'string') {\n val = val.trim();\n if (val.charAt(0) === '#') {\n val = lib.textures[val.substr(1)];\n }\n else {\n node.on(\n 'beforerender', createSizeSetHandler(\n name, tryConvertExpr(val)\n )\n );\n }\n }\n node.setParameter(name, val);\n }\n }\n if (nodeInfo.defines && node.pass) {\n for (var name in nodeInfo.defines) {\n var val = nodeInfo.defines[name];\n node.pass.material.define('fragment', name, val);\n }\n }\n }\n return node;\n}\n\nfunction defaultWidthFunc(width, height) {\n return width;\n}\nfunction defaultHeightFunc(width, height) {\n return height;\n}\n\nfunction convertParameter(paramInfo) {\n var param = {};\n if (!paramInfo) {\n return param;\n }\n ['type', 'minFilter', 'magFilter', 'wrapS', 'wrapT', 'flipY', 'useMipmap']\n .forEach(function(name) {\n var val = paramInfo[name];\n if (val != null) {\n // Convert string to enum\n if (typeof val === 'string') {\n val = __WEBPACK_IMPORTED_MODULE_6__Texture__[\"a\" /* default */][val];\n }\n param[name] = val;\n }\n });\n\n var sizeScale = paramInfo.scale || 1;\n ['width', 'height']\n .forEach(function(name) {\n if (paramInfo[name] != null) {\n var val = paramInfo[name];\n if (typeof val === 'string') {\n val = val.trim();\n param[name] = createSizeParser(\n name, tryConvertExpr(val), sizeScale\n );\n }\n else {\n param[name] = val;\n }\n }\n });\n if (!param.width) {\n param.width = defaultWidthFunc;\n }\n if (!param.height) {\n param.height = defaultHeightFunc;\n }\n\n if (paramInfo.useMipmap != null) {\n param.useMipmap = paramInfo.useMipmap;\n }\n return param;\n}\n\nfunction loadTextures(json, lib, opts, callback) {\n if (!json.textures) {\n callback({});\n return;\n }\n var textures = {};\n var loading = 0;\n\n var cbd = false;\n var textureRootPath = opts.textureRootPath;\n __WEBPACK_IMPORTED_MODULE_0__core_util__[\"a\" /* default */].each(json.textures, function(textureInfo, name) {\n var texture;\n var path = textureInfo.path;\n var parameters = convertParameter(textureInfo.parameters);\n if (Array.isArray(path) && path.length === 6) {\n if (textureRootPath) {\n path = path.map(function(item) {\n return __WEBPACK_IMPORTED_MODULE_0__core_util__[\"a\" /* default */].relative2absolute(item, textureRootPath);\n });\n }\n texture = new __WEBPACK_IMPORTED_MODULE_8__TextureCube__[\"a\" /* default */](parameters);\n }\n else if(typeof path === 'string') {\n if (textureRootPath) {\n path = __WEBPACK_IMPORTED_MODULE_0__core_util__[\"a\" /* default */].relative2absolute(path, textureRootPath);\n }\n texture = new __WEBPACK_IMPORTED_MODULE_7__Texture2D__[\"a\" /* default */](parameters);\n }\n else {\n return;\n }\n\n texture.load(path);\n loading++;\n texture.once('success', function() {\n textures[name] = texture;\n loading--;\n if (loading === 0) {\n callback(textures);\n cbd = true;\n }\n });\n });\n\n if (loading === 0 && !cbd) {\n callback(textures);\n }\n}\n\nfunction createSizeSetHandler(name, exprFunc) {\n return function (renderer) {\n // PENDING viewport size or window size\n var dpr = renderer.getDevicePixelRatio();\n // PENDING If multiply dpr ?\n var width = renderer.getWidth();\n var height = renderer.getHeight();\n var result = exprFunc(width, height, dpr);\n this.setParameter(name, result);\n };\n}\n\nfunction createSizeParser(name, exprFunc, scale) {\n scale = scale || 1;\n return function (renderer) {\n var dpr = renderer.getDevicePixelRatio();\n var width = renderer.getWidth() * scale;\n var height = renderer.getHeight() * scale;\n return exprFunc(width, height, dpr);\n };\n}\n\nfunction tryConvertExpr(string) {\n // PENDING\n var exprRes = /^expr\\((.*)\\)$/.exec(string);\n if (exprRes) {\n try {\n var func = new Function('width', 'height', 'dpr', 'return ' + exprRes[1]);\n // Try run t\n func(1, 1);\n\n return func;\n }\n catch (e) {\n throw new Error('Invalid expression.');\n }\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (createCompositor);\n\n\n/***/ }),\n/* 179 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Graph__ = __webpack_require__(180);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__TexturePool__ = __webpack_require__(86);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__FrameBuffer__ = __webpack_require__(10);\n\n\n\n\n/**\n * Compositor provide graph based post processing\n *\n * @constructor clay.compositor.Compositor\n * @extends clay.compositor.Graph\n *\n */\nvar Compositor = __WEBPACK_IMPORTED_MODULE_0__Graph__[\"a\" /* default */].extend(function() {\n return {\n // Output node\n _outputs: [],\n\n _texturePool: new __WEBPACK_IMPORTED_MODULE_1__TexturePool__[\"a\" /* default */](),\n\n _frameBuffer: new __WEBPACK_IMPORTED_MODULE_2__FrameBuffer__[\"a\" /* default */]({\n depthBuffer: false\n })\n };\n},\n/** @lends clay.compositor.Compositor.prototype */\n{\n addNode: function(node) {\n __WEBPACK_IMPORTED_MODULE_0__Graph__[\"a\" /* default */].prototype.addNode.call(this, node);\n node._compositor = this;\n },\n /**\n * @param {clay.Renderer} renderer\n */\n render: function(renderer, frameBuffer) {\n if (this._dirty) {\n this.update();\n this._dirty = false;\n\n this._outputs.length = 0;\n for (var i = 0; i < this.nodes.length; i++) {\n if (!this.nodes[i].outputs) {\n this._outputs.push(this.nodes[i]);\n }\n }\n }\n\n for (var i = 0; i < this.nodes.length; i++) {\n // Update the reference number of each output texture\n this.nodes[i].beforeFrame();\n }\n\n for (var i = 0; i < this._outputs.length; i++) {\n this._outputs[i].updateReference();\n }\n\n for (var i = 0; i < this._outputs.length; i++) {\n this._outputs[i].render(renderer, frameBuffer);\n }\n\n for (var i = 0; i < this.nodes.length; i++) {\n // Clear up\n this.nodes[i].afterFrame();\n }\n },\n\n allocateTexture: function (parameters) {\n return this._texturePool.get(parameters);\n },\n\n releaseTexture: function (parameters) {\n this._texturePool.put(parameters);\n },\n\n getFrameBuffer: function () {\n return this._frameBuffer;\n },\n\n /**\n * Dispose compositor\n * @param {clay.Renderer} renderer\n */\n dispose: function (renderer) {\n this._texturePool.clear(renderer);\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Compositor);\n\n\n/***/ }),\n/* 180 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_Base__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__CompositorNode__ = __webpack_require__(48);\n\n\n\n/**\n * @constructor clay.compositor.Graph\n * @extends clay.core.Base\n */\nvar Graph = __WEBPACK_IMPORTED_MODULE_0__core_Base__[\"a\" /* default */].extend(function () {\n return /** @lends clay.compositor.Graph# */ {\n /**\n * @type {Array.}\n */\n nodes: []\n };\n},\n/** @lends clay.compositor.Graph.prototype */\n{\n\n /**\n * Mark to update\n */\n dirty: function () {\n this._dirty = true;\n },\n /**\n * @param {clay.compositor.CompositorNode} node\n */\n addNode: function (node) {\n\n if (this.nodes.indexOf(node) >= 0) {\n return;\n }\n\n this.nodes.push(node);\n\n this._dirty = true;\n },\n /**\n * @param {clay.compositor.CompositorNode|string} node\n */\n removeNode: function (node) {\n if (typeof node === 'string') {\n node = this.getNodeByName(node);\n }\n var idx = this.nodes.indexOf(node);\n if (idx >= 0) {\n this.nodes.splice(idx, 1);\n this._dirty = true;\n }\n },\n /**\n * @param {string} name\n * @return {clay.compositor.CompositorNode}\n */\n getNodeByName: function (name) {\n for (var i = 0; i < this.nodes.length; i++) {\n if (this.nodes[i].name === name) {\n return this.nodes[i];\n }\n }\n },\n /**\n * Update links of graph\n */\n update: function () {\n for (var i = 0; i < this.nodes.length; i++) {\n this.nodes[i].clear();\n }\n // Traverse all the nodes and build the graph\n for (var i = 0; i < this.nodes.length; i++) {\n var node = this.nodes[i];\n\n if (!node.inputs) {\n continue;\n }\n for (var inputName in node.inputs) {\n if (!node.inputs[inputName]) {\n continue;\n }\n if (node.pass && !node.pass.material.isUniformEnabled(inputName)) {\n console.warn('Pin ' + node.name + '.' + inputName + ' not used.');\n continue;\n }\n var fromPinInfo = node.inputs[inputName];\n\n var fromPin = this.findPin(fromPinInfo);\n if (fromPin) {\n node.link(inputName, fromPin.node, fromPin.pin);\n }\n else {\n if (typeof fromPinInfo === 'string') {\n console.warn('Node ' + fromPinInfo + ' not exist');\n }\n else {\n console.warn('Pin of ' + fromPinInfo.node + '.' + fromPinInfo.pin + ' not exist');\n }\n }\n }\n }\n },\n\n findPin: function (input) {\n var node;\n // Try to take input as a directly a node\n if (typeof input === 'string' || input instanceof __WEBPACK_IMPORTED_MODULE_1__CompositorNode__[\"a\" /* default */]) {\n input = {\n node: input\n };\n }\n\n if (typeof input.node === 'string') {\n for (var i = 0; i < this.nodes.length; i++) {\n var tmp = this.nodes[i];\n if (tmp.name === input.node) {\n node = tmp;\n }\n }\n }\n else {\n node = input.node;\n }\n if (node) {\n var inputPin = input.pin;\n if (!inputPin) {\n // Use first pin defaultly\n if (node.outputs) {\n inputPin = Object.keys(node.outputs)[0];\n }\n }\n if (node.outputs[inputPin]) {\n return {\n node: node,\n pin: inputPin\n };\n }\n }\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Graph);\n\n\n/***/ }),\n/* 181 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__CompositorNode__ = __webpack_require__(48);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_glenum__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__FrameBuffer__ = __webpack_require__(10);\n\n\n\n\n/**\n * @constructor clay.compositor.SceneNode\n * @extends clay.compositor.CompositorNode\n */\nvar SceneNode = __WEBPACK_IMPORTED_MODULE_0__CompositorNode__[\"a\" /* default */].extend(\n/** @lends clay.compositor.SceneNode# */\n{\n name: 'scene',\n /**\n * @type {clay.Scene}\n */\n scene: null,\n /**\n * @type {clay.Camera}\n */\n camera: null,\n /**\n * @type {boolean}\n */\n autoUpdateScene: true,\n /**\n * @type {boolean}\n */\n preZ: false\n\n}, function() {\n this.frameBuffer = new __WEBPACK_IMPORTED_MODULE_2__FrameBuffer__[\"a\" /* default */]();\n}, {\n render: function(renderer) {\n\n this._rendering = true;\n var _gl = renderer.gl;\n\n this.trigger('beforerender');\n\n var renderInfo;\n\n if (!this.outputs) {\n\n renderInfo = renderer.render(this.scene, this.camera, !this.autoUpdateScene, this.preZ);\n\n }\n else {\n\n var frameBuffer = this.frameBuffer;\n for (var name in this.outputs) {\n var parameters = this.updateParameter(name, renderer);\n var outputInfo = this.outputs[name];\n var texture = this._compositor.allocateTexture(parameters);\n this._outputTextures[name] = texture;\n\n var attachment = outputInfo.attachment || _gl.COLOR_ATTACHMENT0;\n if (typeof(attachment) == 'string') {\n attachment = _gl[attachment];\n }\n frameBuffer.attach(texture, attachment);\n }\n frameBuffer.bind(renderer);\n\n // MRT Support in chrome\n // https://www.khronos.org/registry/webgl/sdk/tests/conformance/extensions/ext-draw-buffers.html\n var ext = renderer.getGLExtension('EXT_draw_buffers');\n if (ext) {\n var bufs = [];\n for (var attachment in this.outputs) {\n attachment = parseInt(attachment);\n if (attachment >= _gl.COLOR_ATTACHMENT0 && attachment <= _gl.COLOR_ATTACHMENT0 + 8) {\n bufs.push(attachment);\n }\n }\n ext.drawBuffersEXT(bufs);\n }\n\n // Always clear\n // PENDING\n renderer.saveClear();\n renderer.clearBit = __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].DEPTH_BUFFER_BIT | __WEBPACK_IMPORTED_MODULE_1__core_glenum__[\"a\" /* default */].COLOR_BUFFER_BIT;\n renderInfo = renderer.render(this.scene, this.camera, !this.autoUpdateScene, this.preZ);\n renderer.restoreClear();\n\n frameBuffer.unbind(renderer);\n }\n\n this.trigger('afterrender', renderInfo);\n\n this._rendering = false;\n this._rendered = true;\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (SceneNode);\n\n\n/***/ }),\n/* 182 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__CompositorNode__ = __webpack_require__(48);\n\n\n/**\n * @constructor clay.compositor.TextureNode\n * @extends clay.compositor.CompositorNode\n */\nvar TextureNode = __WEBPACK_IMPORTED_MODULE_0__CompositorNode__[\"a\" /* default */].extend(function() {\n return /** @lends clay.compositor.TextureNode# */ {\n /**\n * @type {clay.Texture2D}\n */\n texture: null,\n\n // Texture node must have output without parameters\n outputs: {\n color: {}\n }\n };\n}, function () {\n}, {\n\n getOutput: function (renderer, name) {\n return this.texture;\n },\n\n // Do nothing\n beforeFrame: function () {},\n afterFrame: function () {}\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (TextureNode);\n\n\n/***/ }),\n/* 183 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Pass__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__CompositorNode__ = __webpack_require__(48);\n// TODO Shader library\n\n\n\n// TODO curlnoise demo wrong\n\n// PENDING\n// Use topological sort ?\n\n/**\n * Filter node\n *\n * @constructor clay.compositor.FilterNode\n * @extends clay.compositor.CompositorNode\n *\n * @example\n var node = new clay.compositor.FilterNode({\n name: 'fxaa',\n shader: clay.Shader.source('clay.compositor.fxaa'),\n inputs: {\n texture: {\n node: 'scene',\n pin: 'color'\n }\n },\n // Multiple outputs is preserved for MRT support in WebGL2.0\n outputs: {\n color: {\n attachment: clay.FrameBuffer.COLOR_ATTACHMENT0\n parameters: {\n format: clay.Texture.RGBA,\n width: 512,\n height: 512\n },\n // Node will keep the RTT rendered in last frame\n keepLastFrame: true,\n // Force the node output the RTT rendered in last frame\n outputLastFrame: true\n }\n }\n });\n *\n */\nvar FilterNode = __WEBPACK_IMPORTED_MODULE_1__CompositorNode__[\"a\" /* default */].extend(function () {\n return /** @lends clay.compositor.FilterNode# */ {\n /**\n * @type {string}\n */\n name: '',\n\n /**\n * @type {Object}\n */\n inputs: {},\n\n /**\n * @type {Object}\n */\n outputs: null,\n\n /**\n * @type {string}\n */\n shader: '',\n\n /**\n * Input links, will be updated by the graph\n * @example:\n * inputName: {\n * node: someNode,\n * pin: 'xxxx'\n * }\n * @type {Object}\n */\n inputLinks: {},\n\n /**\n * Output links, will be updated by the graph\n * @example:\n * outputName: {\n * node: someNode,\n * pin: 'xxxx'\n * }\n * @type {Object}\n */\n outputLinks: {},\n\n /**\n * @type {clay.compositor.Pass}\n */\n pass: null,\n\n // Save the output texture of previous frame\n // Will be used when there exist a circular reference\n _prevOutputTextures: {},\n _outputTextures: {},\n\n // Example: { name: 2 }\n _outputReferences: {},\n\n _rendering: false,\n // If rendered in this frame\n _rendered: false,\n\n _compositor: null\n };\n}, function () {\n\n var pass = new __WEBPACK_IMPORTED_MODULE_0__Pass__[\"a\" /* default */]({\n fragment: this.shader\n });\n this.pass = pass;\n},\n/** @lends clay.compositor.FilterNode.prototype */\n{\n /**\n * @param {clay.Renderer} renderer\n */\n render: function (renderer, frameBuffer) {\n this.trigger('beforerender', renderer);\n\n this._rendering = true;\n\n var _gl = renderer.gl;\n\n for (var inputName in this.inputLinks) {\n var link = this.inputLinks[inputName];\n var inputTexture = link.node.getOutput(renderer, link.pin);\n this.pass.setUniform(inputName, inputTexture);\n }\n // Output\n if (!this.outputs) {\n this.pass.outputs = null;\n\n this._compositor.getFrameBuffer().unbind(renderer);\n\n this.pass.render(renderer, frameBuffer);\n }\n else {\n this.pass.outputs = {};\n\n var attachedTextures = {};\n for (var name in this.outputs) {\n var parameters = this.updateParameter(name, renderer);\n if (isNaN(parameters.width)) {\n this.updateParameter(name, renderer);\n }\n var outputInfo = this.outputs[name];\n var texture = this._compositor.allocateTexture(parameters);\n this._outputTextures[name] = texture;\n var attachment = outputInfo.attachment || _gl.COLOR_ATTACHMENT0;\n if (typeof(attachment) === 'string') {\n attachment = _gl[attachment];\n }\n attachedTextures[attachment] = texture;\n }\n this._compositor.getFrameBuffer().bind(renderer);\n\n for (var attachment in attachedTextures) {\n // FIXME attachment changes in different nodes\n this._compositor.getFrameBuffer().attach(\n attachedTextures[attachment], attachment\n );\n }\n\n this.pass.render(renderer);\n\n // Because the data of texture is changed over time,\n // Here update the mipmaps of texture each time after rendered;\n this._compositor.getFrameBuffer().updateMipmap(renderer);\n }\n\n for (var inputName in this.inputLinks) {\n var link = this.inputLinks[inputName];\n link.node.removeReference(link.pin);\n }\n\n this._rendering = false;\n this._rendered = true;\n\n this.trigger('afterrender', renderer);\n },\n\n // TODO Remove parameter function callback\n updateParameter: function (outputName, renderer) {\n var outputInfo = this.outputs[outputName];\n var parameters = outputInfo.parameters;\n var parametersCopy = outputInfo._parametersCopy;\n if (!parametersCopy) {\n parametersCopy = outputInfo._parametersCopy = {};\n }\n if (parameters) {\n for (var key in parameters) {\n if (key !== 'width' && key !== 'height') {\n parametersCopy[key] = parameters[key];\n }\n }\n }\n var width, height;\n if (parameters.width instanceof Function) {\n width = parameters.width.call(this, renderer);\n }\n else {\n width = parameters.width;\n }\n if (parameters.height instanceof Function) {\n height = parameters.height.call(this, renderer);\n }\n else {\n height = parameters.height;\n }\n width = Math.ceil(width);\n height = Math.ceil(height);\n if (\n parametersCopy.width !== width\n || parametersCopy.height !== height\n ) {\n if (this._outputTextures[outputName]) {\n this._outputTextures[outputName].dispose(renderer);\n }\n }\n parametersCopy.width = width;\n parametersCopy.height = height;\n\n return parametersCopy;\n },\n\n /**\n * Set parameter\n * @param {string} name\n * @param {} value\n */\n setParameter: function (name, value) {\n this.pass.setUniform(name, value);\n },\n /**\n * Get parameter value\n * @param {string} name\n * @return {}\n */\n getParameter: function (name) {\n return this.pass.getUniform(name);\n },\n /**\n * Set parameters\n * @param {Object} obj\n */\n setParameters: function (obj) {\n for (var name in obj) {\n this.setParameter(name, obj[name]);\n }\n },\n // /**\n // * Set shader code\n // * @param {string} shaderStr\n // */\n // setShader: function (shaderStr) {\n // var material = this.pass.material;\n // material.shader.setFragment(shaderStr);\n // material.attachShader(material.shader, true);\n // },\n /**\n * Proxy of pass.material.define('fragment', xxx);\n * @param {string} symbol\n * @param {number} [val]\n */\n define: function (symbol, val) {\n this.pass.material.define('fragment', symbol, val);\n },\n\n /**\n * Proxy of pass.material.undefine('fragment', xxx)\n * @param {string} symbol\n */\n undefine: function (symbol) {\n this.pass.material.undefine('fragment', symbol);\n },\n\n removeReference: function (outputName) {\n this._outputReferences[outputName]--;\n if (this._outputReferences[outputName] === 0) {\n var outputInfo = this.outputs[outputName];\n if (outputInfo.keepLastFrame) {\n if (this._prevOutputTextures[outputName]) {\n this._compositor.releaseTexture(this._prevOutputTextures[outputName]);\n }\n this._prevOutputTextures[outputName] = this._outputTextures[outputName];\n }\n else {\n // Output of this node have alreay been used by all other nodes\n // Put the texture back to the pool.\n this._compositor.releaseTexture(this._outputTextures[outputName]);\n }\n }\n },\n\n clear: function () {\n __WEBPACK_IMPORTED_MODULE_1__CompositorNode__[\"a\" /* default */].prototype.clear.call(this);\n\n // Default disable all texture\n this.pass.material.disableTexturesAll();\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (FilterNode);\n\n\n/***/ }),\n/* 184 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = register;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__source_compositor_coloradjust_glsl_js__ = __webpack_require__(185);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__source_compositor_blur_glsl_js__ = __webpack_require__(87);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__source_compositor_lum_glsl_js__ = __webpack_require__(186);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__source_compositor_lut_glsl_js__ = __webpack_require__(88);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__source_compositor_vignette_glsl_js__ = __webpack_require__(187);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__source_compositor_output_glsl_js__ = __webpack_require__(89);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__source_compositor_bright_glsl_js__ = __webpack_require__(90);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__source_compositor_downsample_glsl_js__ = __webpack_require__(91);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__source_compositor_upsample_glsl_js__ = __webpack_require__(92);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__source_compositor_hdr_glsl_js__ = __webpack_require__(93);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__source_compositor_lensflare_glsl_js__ = __webpack_require__(188);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__source_compositor_blend_glsl_js__ = __webpack_require__(94);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__source_compositor_fxaa_glsl_js__ = __webpack_require__(95);\n\n\n\n\n\n\n\n\n\n\n\n\n\n// import fxaa3Essl from './source/compositor/fxaa3.glsl.js';\n\n// TODO Must export a module and be used in the other modules. Or it will be tree shaked\nfunction register(Shader) {\n // Some build in shaders\n Shader['import'](__WEBPACK_IMPORTED_MODULE_0__source_compositor_coloradjust_glsl_js__[\"a\" /* default */]);\n Shader['import'](__WEBPACK_IMPORTED_MODULE_1__source_compositor_blur_glsl_js__[\"a\" /* default */]);\n Shader['import'](__WEBPACK_IMPORTED_MODULE_2__source_compositor_lum_glsl_js__[\"a\" /* default */]);\n Shader['import'](__WEBPACK_IMPORTED_MODULE_3__source_compositor_lut_glsl_js__[\"a\" /* default */]);\n Shader['import'](__WEBPACK_IMPORTED_MODULE_4__source_compositor_vignette_glsl_js__[\"a\" /* default */]);\n Shader['import'](__WEBPACK_IMPORTED_MODULE_5__source_compositor_output_glsl_js__[\"a\" /* default */]);\n Shader['import'](__WEBPACK_IMPORTED_MODULE_6__source_compositor_bright_glsl_js__[\"a\" /* default */]);\n Shader['import'](__WEBPACK_IMPORTED_MODULE_7__source_compositor_downsample_glsl_js__[\"a\" /* default */]);\n Shader['import'](__WEBPACK_IMPORTED_MODULE_8__source_compositor_upsample_glsl_js__[\"a\" /* default */]);\n Shader['import'](__WEBPACK_IMPORTED_MODULE_9__source_compositor_hdr_glsl_js__[\"a\" /* default */]);\n Shader['import'](__WEBPACK_IMPORTED_MODULE_10__source_compositor_lensflare_glsl_js__[\"a\" /* default */]);\n Shader['import'](__WEBPACK_IMPORTED_MODULE_11__source_compositor_blend_glsl_js__[\"a\" /* default */]);\n\n Shader['import'](__WEBPACK_IMPORTED_MODULE_12__source_compositor_fxaa_glsl_js__[\"a\" /* default */]);\n\n}\n\n/***/ }),\n/* 185 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export clay.compositor.coloradjust\\nvarying vec2 v_Texcoord;\\nuniform sampler2D texture;\\nuniform float brightness : 0.0;\\nuniform float contrast : 1.0;\\nuniform float exposure : 0.0;\\nuniform float gamma : 1.0;\\nuniform float saturation : 1.0;\\nconst vec3 w = vec3(0.2125, 0.7154, 0.0721);\\nvoid main()\\n{\\n vec4 tex = texture2D( texture, v_Texcoord);\\n vec3 color = clamp(tex.rgb + vec3(brightness), 0.0, 1.0);\\n color = clamp( (color-vec3(0.5))*contrast+vec3(0.5), 0.0, 1.0);\\n color = clamp( color * pow(2.0, exposure), 0.0, 1.0);\\n color = clamp( pow(color, vec3(gamma)), 0.0, 1.0);\\n float luminance = dot( color, w );\\n color = mix(vec3(luminance), color, saturation);\\n gl_FragColor = vec4(color, tex.a);\\n}\\n@end\\n@export clay.compositor.brightness\\nvarying vec2 v_Texcoord;\\nuniform sampler2D texture;\\nuniform float brightness : 0.0;\\nvoid main()\\n{\\n vec4 tex = texture2D( texture, v_Texcoord);\\n vec3 color = tex.rgb + vec3(brightness);\\n gl_FragColor = vec4(color, tex.a);\\n}\\n@end\\n@export clay.compositor.contrast\\nvarying vec2 v_Texcoord;\\nuniform sampler2D texture;\\nuniform float contrast : 1.0;\\nvoid main()\\n{\\n vec4 tex = texture2D( texture, v_Texcoord);\\n vec3 color = (tex.rgb-vec3(0.5))*contrast+vec3(0.5);\\n gl_FragColor = vec4(color, tex.a);\\n}\\n@end\\n@export clay.compositor.exposure\\nvarying vec2 v_Texcoord;\\nuniform sampler2D texture;\\nuniform float exposure : 0.0;\\nvoid main()\\n{\\n vec4 tex = texture2D(texture, v_Texcoord);\\n vec3 color = tex.rgb * pow(2.0, exposure);\\n gl_FragColor = vec4(color, tex.a);\\n}\\n@end\\n@export clay.compositor.gamma\\nvarying vec2 v_Texcoord;\\nuniform sampler2D texture;\\nuniform float gamma : 1.0;\\nvoid main()\\n{\\n vec4 tex = texture2D(texture, v_Texcoord);\\n vec3 color = pow(tex.rgb, vec3(gamma));\\n gl_FragColor = vec4(color, tex.a);\\n}\\n@end\\n@export clay.compositor.saturation\\nvarying vec2 v_Texcoord;\\nuniform sampler2D texture;\\nuniform float saturation : 1.0;\\nconst vec3 w = vec3(0.2125, 0.7154, 0.0721);\\nvoid main()\\n{\\n vec4 tex = texture2D(texture, v_Texcoord);\\n vec3 color = tex.rgb;\\n float luminance = dot(color, w);\\n color = mix(vec3(luminance), color, saturation);\\n gl_FragColor = vec4(color, tex.a);\\n}\\n@end\");\n\n\n/***/ }),\n/* 186 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export clay.compositor.hdr.log_lum\\nvarying vec2 v_Texcoord;\\nuniform sampler2D texture;\\nconst vec3 w = vec3(0.2125, 0.7154, 0.0721);\\n@import clay.util.rgbm\\nvoid main()\\n{\\n vec4 tex = decodeHDR(texture2D(texture, v_Texcoord));\\n float luminance = dot(tex.rgb, w);\\n luminance = log(luminance + 0.001);\\n gl_FragColor = encodeHDR(vec4(vec3(luminance), 1.0));\\n}\\n@end\\n@export clay.compositor.hdr.lum_adaption\\nvarying vec2 v_Texcoord;\\nuniform sampler2D adaptedLum;\\nuniform sampler2D currentLum;\\nuniform float frameTime : 0.02;\\n@import clay.util.rgbm\\nvoid main()\\n{\\n float fAdaptedLum = decodeHDR(texture2D(adaptedLum, vec2(0.5, 0.5))).r;\\n float fCurrentLum = exp(encodeHDR(texture2D(currentLum, vec2(0.5, 0.5))).r);\\n fAdaptedLum += (fCurrentLum - fAdaptedLum) * (1.0 - pow(0.98, 30.0 * frameTime));\\n gl_FragColor = encodeHDR(vec4(vec3(fAdaptedLum), 1.0));\\n}\\n@end\\n@export clay.compositor.lum\\nvarying vec2 v_Texcoord;\\nuniform sampler2D texture;\\nconst vec3 w = vec3(0.2125, 0.7154, 0.0721);\\nvoid main()\\n{\\n vec4 tex = texture2D( texture, v_Texcoord );\\n float luminance = dot(tex.rgb, w);\\n gl_FragColor = vec4(vec3(luminance), 1.0);\\n}\\n@end\");\n\n\n/***/ }),\n/* 187 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export clay.compositor.vignette\\n#define OUTPUT_ALPHA\\nvarying vec2 v_Texcoord;\\nuniform sampler2D texture;\\nuniform float darkness: 1;\\nuniform float offset: 1;\\n@import clay.util.rgbm\\nvoid main()\\n{\\n vec4 texel = decodeHDR(texture2D(texture, v_Texcoord));\\n gl_FragColor.rgb = texel.rgb;\\n vec2 uv = (v_Texcoord - vec2(0.5)) * vec2(offset);\\n gl_FragColor = encodeHDR(vec4(mix(texel.rgb, vec3(1.0 - darkness), dot(uv, uv)), texel.a));\\n}\\n@end\");\n\n\n/***/ }),\n/* 188 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export clay.compositor.lensflare\\n#define SAMPLE_NUMBER 8\\nuniform sampler2D texture;\\nuniform sampler2D lenscolor;\\nuniform vec2 textureSize : [512, 512];\\nuniform float dispersal : 0.3;\\nuniform float haloWidth : 0.4;\\nuniform float distortion : 1.0;\\nvarying vec2 v_Texcoord;\\n@import clay.util.rgbm\\nvec4 textureDistorted(\\n in vec2 texcoord,\\n in vec2 direction,\\n in vec3 distortion\\n) {\\n return vec4(\\n decodeHDR(texture2D(texture, texcoord + direction * distortion.r)).r,\\n decodeHDR(texture2D(texture, texcoord + direction * distortion.g)).g,\\n decodeHDR(texture2D(texture, texcoord + direction * distortion.b)).b,\\n 1.0\\n );\\n}\\nvoid main()\\n{\\n vec2 texcoord = -v_Texcoord + vec2(1.0); vec2 textureOffset = 1.0 / textureSize;\\n vec2 ghostVec = (vec2(0.5) - texcoord) * dispersal;\\n vec2 haloVec = normalize(ghostVec) * haloWidth;\\n vec3 distortion = vec3(-textureOffset.x * distortion, 0.0, textureOffset.x * distortion);\\n vec4 result = vec4(0.0);\\n for (int i = 0; i < SAMPLE_NUMBER; i++)\\n {\\n vec2 offset = fract(texcoord + ghostVec * float(i));\\n float weight = length(vec2(0.5) - offset) / length(vec2(0.5));\\n weight = pow(1.0 - weight, 10.0);\\n result += textureDistorted(offset, normalize(ghostVec), distortion) * weight;\\n }\\n result *= texture2D(lenscolor, vec2(length(vec2(0.5) - texcoord)) / length(vec2(0.5)));\\n float weight = length(vec2(0.5) - fract(texcoord + haloVec)) / length(vec2(0.5));\\n weight = pow(1.0 - weight, 10.0);\\n vec2 offset = fract(texcoord + haloVec);\\n result += textureDistorted(offset, normalize(ghostVec), distortion) * weight;\\n gl_FragColor = result;\\n}\\n@end\");\n\n\n/***/ }),\n/* 189 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_math_Matrix4__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_claygl_src_compositor_Pass__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_claygl_src_Shader__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_claygl_src_FrameBuffer__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__halton__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__SSAO_glsl_js__ = __webpack_require__(190);\n\n\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_5_claygl_src_Shader__[\"a\" /* default */].import(__WEBPACK_IMPORTED_MODULE_8__SSAO_glsl_js__[\"a\" /* default */]);\n\nfunction generateNoiseData(size) {\n var data = new Uint8Array(size * size * 4);\n var n = 0;\n var v3 = new __WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector3__[\"a\" /* default */]();\n\n for (var i = 0; i < size; i++) {\n for (var j = 0; j < size; j++) {\n v3.set(Math.random() * 2 - 1, Math.random() * 2 - 1, 0).normalize();\n data[n++] = (v3.x * 0.5 + 0.5) * 255;\n data[n++] = (v3.y * 0.5 + 0.5) * 255;\n data[n++] = 0;\n data[n++] = 255;\n }\n }\n return data;\n}\n\nfunction generateNoiseTexture(size) {\n return new __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture2D__[\"a\" /* default */]({\n pixels: generateNoiseData(size),\n wrapS: __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__[\"a\" /* default */].REPEAT,\n wrapT: __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__[\"a\" /* default */].REPEAT,\n width: size,\n height: size\n });\n}\n\nfunction generateKernel(size, offset, hemisphere) {\n var kernel = new Float32Array(size * 3);\n offset = offset || 0;\n for (var i = 0; i < size; i++) {\n var phi = Object(__WEBPACK_IMPORTED_MODULE_7__halton__[\"a\" /* default */])(i + offset, 2) * (hemisphere ? 1 : 2) * Math.PI;\n var theta = Object(__WEBPACK_IMPORTED_MODULE_7__halton__[\"a\" /* default */])(i + offset, 3) * Math.PI;\n var r = Math.random();\n var x = Math.cos(phi) * Math.sin(theta) * r;\n var y = Math.cos(theta) * r;\n var z = Math.sin(phi) * Math.sin(theta) * r;\n\n kernel[i * 3] = x;\n kernel[i * 3 + 1] = y;\n kernel[i * 3 + 2] = z;\n }\n return kernel;\n\n // var kernel = new Float32Array(size * 3);\n // var v3 = new Vector3();\n // for (var i = 0; i < size; i++) {\n // v3.set(Math.random() * 2 - 1, Math.random() * 2 - 1, Math.random())\n // .normalize().scale(Math.random());\n // kernel[i * 3] = v3.x;\n // kernel[i * 3 + 1] = v3.y;\n // kernel[i * 3 + 2] = v3.z;\n // }\n // return kernel;\n}\n\nfunction SSAOPass(opt) {\n opt = opt || {};\n\n this._ssaoPass = new __WEBPACK_IMPORTED_MODULE_4_claygl_src_compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_5_claygl_src_Shader__[\"a\" /* default */].source('ecgl.ssao.estimate')\n });\n this._blurPass = new __WEBPACK_IMPORTED_MODULE_4_claygl_src_compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_5_claygl_src_Shader__[\"a\" /* default */].source('ecgl.ssao.blur')\n });\n this._framebuffer = new __WEBPACK_IMPORTED_MODULE_6_claygl_src_FrameBuffer__[\"a\" /* default */]({\n depthBuffer: false\n });\n\n this._ssaoTexture = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture2D__[\"a\" /* default */]();\n this._blurTexture = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture2D__[\"a\" /* default */]();\n this._blurTexture2 = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture2D__[\"a\" /* default */]();\n\n this._depthTex = opt.depthTexture;\n this._normalTex = opt.normalTexture;\n\n this.setNoiseSize(4);\n this.setKernelSize(opt.kernelSize || 12);\n if (opt.radius != null) {\n this.setParameter('radius', opt.radius);\n }\n if (opt.power != null) {\n this.setParameter('power', opt.power);\n }\n\n if (!this._normalTex) {\n this._ssaoPass.material.disableTexture('normalTex');\n this._blurPass.material.disableTexture('normalTex');\n }\n if (!this._depthTex) {\n this._blurPass.material.disableTexture('depthTex');\n }\n\n this._blurPass.material.setUniform('normalTex', this._normalTex);\n this._blurPass.material.setUniform('depthTex', this._depthTex);\n}\n\nSSAOPass.prototype.setDepthTexture = function (depthTex) {\n this._depthTex = depthTex;\n};\n\nSSAOPass.prototype.setNormalTexture = function (normalTex) {\n this._normalTex = normalTex;\n this._ssaoPass.material[normalTex ? 'enableTexture' : 'disableTexture']('normalTex');\n // Switch between hemisphere and shere kernel.\n this.setKernelSize(this._kernelSize);\n};\n\nSSAOPass.prototype.update = function (renderer, camera, frame) {\n var width = renderer.getWidth();\n var height = renderer.getHeight();\n\n var ssaoPass = this._ssaoPass;\n var blurPass = this._blurPass;\n\n ssaoPass.setUniform('kernel', this._kernels[frame % this._kernels.length]);\n ssaoPass.setUniform('depthTex', this._depthTex);\n if (this._normalTex != null) {\n ssaoPass.setUniform('normalTex', this._normalTex);\n }\n ssaoPass.setUniform('depthTexSize', [this._depthTex.width, this._depthTex.height]);\n\n var viewInverseTranspose = new __WEBPACK_IMPORTED_MODULE_0_claygl_src_math_Matrix4__[\"a\" /* default */]();\n __WEBPACK_IMPORTED_MODULE_0_claygl_src_math_Matrix4__[\"a\" /* default */].transpose(viewInverseTranspose, camera.worldTransform);\n\n ssaoPass.setUniform('projection', camera.projectionMatrix.array);\n ssaoPass.setUniform('projectionInv', camera.invProjectionMatrix.array);\n ssaoPass.setUniform('viewInverseTranspose', viewInverseTranspose.array);\n\n var ssaoTexture = this._ssaoTexture;\n var blurTexture = this._blurTexture;\n var blurTexture2 = this._blurTexture2;\n\n ssaoTexture.width = width / 2;\n ssaoTexture.height = height / 2;\n blurTexture.width = width;\n blurTexture.height = height;\n blurTexture2.width = width;\n blurTexture2.height = height;\n\n this._framebuffer.attach(ssaoTexture);\n this._framebuffer.bind(renderer);\n renderer.gl.clearColor(1, 1, 1, 1);\n renderer.gl.clear(renderer.gl.COLOR_BUFFER_BIT);\n ssaoPass.render(renderer);\n\n blurPass.setUniform('textureSize', [width / 2, height / 2]);\n blurPass.setUniform('projection', camera.projectionMatrix.array);\n this._framebuffer.attach(blurTexture);\n blurPass.setUniform('direction', 0);\n blurPass.setUniform('ssaoTexture', ssaoTexture);\n blurPass.render(renderer);\n\n this._framebuffer.attach(blurTexture2);\n blurPass.setUniform('textureSize', [width, height]);\n blurPass.setUniform('direction', 1);\n blurPass.setUniform('ssaoTexture', blurTexture);\n blurPass.render(renderer);\n\n this._framebuffer.unbind(renderer);\n\n // Restore clear\n var clearColor = renderer.clearColor;\n renderer.gl.clearColor(clearColor[0], clearColor[1], clearColor[2], clearColor[3]);\n};\n\nSSAOPass.prototype.getTargetTexture = function () {\n return this._blurTexture2;\n}\n\nSSAOPass.prototype.setParameter = function (name, val) {\n if (name === 'noiseTexSize') {\n this.setNoiseSize(val);\n }\n else if (name === 'kernelSize') {\n this.setKernelSize(val);\n }\n else if (name === 'intensity') {\n this._ssaoPass.material.set('intensity', val);\n }\n else {\n this._ssaoPass.setUniform(name, val);\n }\n};\n\nSSAOPass.prototype.setKernelSize = function (size) {\n this._kernelSize = size;\n this._ssaoPass.material.define('fragment', 'KERNEL_SIZE', size);\n this._kernels = this._kernels || [];\n for (var i = 0; i < 30; i++) {\n this._kernels[i] = generateKernel(size, i * size, !!this._normalTex);\n }\n};\n\nSSAOPass.prototype.setNoiseSize = function (size) {\n var texture = this._ssaoPass.getUniform('noiseTex');\n if (!texture) {\n texture = generateNoiseTexture(size);\n this._ssaoPass.setUniform('noiseTex', generateNoiseTexture(size));\n }\n else {\n texture.data = generateNoiseData(size);\n texture.width = texture.height = size;\n texture.dirty();\n }\n\n this._ssaoPass.setUniform('noiseTexSize', [size, size]);\n};\n\nSSAOPass.prototype.dispose = function (renderer) {\n this._blurTexture.dispose(renderer);\n this._ssaoTexture.dispose(renderer);\n this._blurTexture2.dispose(renderer);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (SSAOPass);\n\n/***/ }),\n/* 190 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export ecgl.ssao.estimate\\n\\nuniform sampler2D depthTex;\\n\\nuniform sampler2D normalTex;\\n\\nuniform sampler2D noiseTex;\\n\\nuniform vec2 depthTexSize;\\n\\nuniform vec2 noiseTexSize;\\n\\nuniform mat4 projection;\\n\\nuniform mat4 projectionInv;\\n\\nuniform mat4 viewInverseTranspose;\\n\\nuniform vec3 kernel[KERNEL_SIZE];\\n\\nuniform float radius : 1;\\n\\nuniform float power : 1;\\n\\nuniform float bias: 1e-2;\\n\\nuniform float intensity: 1.0;\\n\\nvarying vec2 v_Texcoord;\\n\\nfloat ssaoEstimator(in vec3 originPos, in mat3 kernelBasis) {\\n float occlusion = 0.0;\\n\\n for (int i = 0; i < KERNEL_SIZE; i++) {\\n vec3 samplePos = kernel[i];\\n#ifdef NORMALTEX_ENABLED\\n samplePos = kernelBasis * samplePos;\\n#endif\\n samplePos = samplePos * radius + originPos;\\n\\n vec4 texCoord = projection * vec4(samplePos, 1.0);\\n texCoord.xy /= texCoord.w;\\n\\n vec4 depthTexel = texture2D(depthTex, texCoord.xy * 0.5 + 0.5);\\n\\n float sampleDepth = depthTexel.r * 2.0 - 1.0;\\n if (projection[3][3] == 0.0) {\\n sampleDepth = projection[3][2] / (sampleDepth * projection[2][3] - projection[2][2]);\\n }\\n else {\\n sampleDepth = (sampleDepth - projection[3][2]) / projection[2][2];\\n }\\n \\n float rangeCheck = smoothstep(0.0, 1.0, radius / abs(originPos.z - sampleDepth));\\n occlusion += rangeCheck * step(samplePos.z, sampleDepth - bias);\\n }\\n#ifdef NORMALTEX_ENABLED\\n occlusion = 1.0 - occlusion / float(KERNEL_SIZE);\\n#else\\n occlusion = 1.0 - clamp((occlusion / float(KERNEL_SIZE) - 0.6) * 2.5, 0.0, 1.0);\\n#endif\\n return pow(occlusion, power);\\n}\\n\\nvoid main()\\n{\\n\\n vec4 depthTexel = texture2D(depthTex, v_Texcoord);\\n\\n#ifdef NORMALTEX_ENABLED\\n vec4 tex = texture2D(normalTex, v_Texcoord);\\n if (dot(tex.rgb, tex.rgb) == 0.0) {\\n gl_FragColor = vec4(1.0);\\n return;\\n }\\n vec3 N = tex.rgb * 2.0 - 1.0;\\n N = (viewInverseTranspose * vec4(N, 0.0)).xyz;\\n\\n vec2 noiseTexCoord = depthTexSize / vec2(noiseTexSize) * v_Texcoord;\\n vec3 rvec = texture2D(noiseTex, noiseTexCoord).rgb * 2.0 - 1.0;\\n vec3 T = normalize(rvec - N * dot(rvec, N));\\n vec3 BT = normalize(cross(N, T));\\n mat3 kernelBasis = mat3(T, BT, N);\\n#else\\n if (depthTexel.r > 0.99999) {\\n gl_FragColor = vec4(1.0);\\n return;\\n }\\n mat3 kernelBasis;\\n#endif\\n\\n float z = depthTexel.r * 2.0 - 1.0;\\n\\n vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);\\n vec4 p4 = projectionInv * projectedPos;\\n\\n vec3 position = p4.xyz / p4.w;\\n\\n float ao = ssaoEstimator(position, kernelBasis);\\n ao = clamp(1.0 - (1.0 - ao) * intensity, 0.0, 1.0);\\n gl_FragColor = vec4(vec3(ao), 1.0);\\n}\\n\\n@end\\n\\n\\n@export ecgl.ssao.blur\\n#define SHADER_NAME SSAO_BLUR\\n\\nuniform sampler2D ssaoTexture;\\n\\n#ifdef NORMALTEX_ENABLED\\nuniform sampler2D normalTex;\\n#endif\\n\\nvarying vec2 v_Texcoord;\\n\\nuniform vec2 textureSize;\\nuniform float blurSize : 1.0;\\n\\nuniform int direction: 0.0;\\n\\n#ifdef DEPTHTEX_ENABLED\\nuniform sampler2D depthTex;\\nuniform mat4 projection;\\nuniform float depthRange : 0.5;\\n\\nfloat getLinearDepth(vec2 coord)\\n{\\n float depth = texture2D(depthTex, coord).r * 2.0 - 1.0;\\n return projection[3][2] / (depth * projection[2][3] - projection[2][2]);\\n}\\n#endif\\n\\nvoid main()\\n{\\n float kernel[5];\\n kernel[0] = 0.122581;\\n kernel[1] = 0.233062;\\n kernel[2] = 0.288713;\\n kernel[3] = 0.233062;\\n kernel[4] = 0.122581;\\n\\n vec2 off = vec2(0.0);\\n if (direction == 0) {\\n off[0] = blurSize / textureSize.x;\\n }\\n else {\\n off[1] = blurSize / textureSize.y;\\n }\\n\\n vec2 coord = v_Texcoord;\\n\\n float sum = 0.0;\\n float weightAll = 0.0;\\n\\n#ifdef NORMALTEX_ENABLED\\n vec3 centerNormal = texture2D(normalTex, v_Texcoord).rgb * 2.0 - 1.0;\\n#endif\\n#if defined(DEPTHTEX_ENABLED)\\n float centerDepth = getLinearDepth(v_Texcoord);\\n#endif\\n\\n for (int i = 0; i < 5; i++) {\\n vec2 coord = clamp(v_Texcoord + vec2(float(i) - 2.0) * off, vec2(0.0), vec2(1.0));\\n\\n float w = kernel[i];\\n#ifdef NORMALTEX_ENABLED\\n vec3 normal = texture2D(normalTex, coord).rgb * 2.0 - 1.0;\\n w *= clamp(dot(normal, centerNormal), 0.0, 1.0);\\n#endif\\n#ifdef DEPTHTEX_ENABLED\\n float d = getLinearDepth(coord);\\n w *= (1.0 - smoothstep(abs(centerDepth - d) / depthRange, 0.0, 1.0));\\n#endif\\n\\n weightAll += w;\\n sum += texture2D(ssaoTexture, coord).r * w;\\n }\\n\\n gl_FragColor = vec4(vec3(sum / weightAll), 1.0);\\n}\\n\\n@end\\n\");\n\n\n/***/ }),\n/* 191 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_math_Matrix4__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_claygl_src_compositor_Pass__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_claygl_src_Shader__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_claygl_src_FrameBuffer__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__halton__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_claygl_src_util_cubemap__ = __webpack_require__(77);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__SSR_glsl_js__ = __webpack_require__(192);\n\n\n\n\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_5_claygl_src_Shader__[\"a\" /* default */].import(__WEBPACK_IMPORTED_MODULE_9__SSR_glsl_js__[\"a\" /* default */]);\n\nfunction SSRPass(opt) {\n opt = opt || {};\n\n this._ssrPass = new __WEBPACK_IMPORTED_MODULE_4_claygl_src_compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_5_claygl_src_Shader__[\"a\" /* default */].source('ecgl.ssr.main'),\n clearColor: [0, 0, 0, 0]\n });\n this._blurPass1 = new __WEBPACK_IMPORTED_MODULE_4_claygl_src_compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_5_claygl_src_Shader__[\"a\" /* default */].source('ecgl.ssr.blur'),\n clearColor: [0, 0, 0, 0]\n });\n this._blurPass2 = new __WEBPACK_IMPORTED_MODULE_4_claygl_src_compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_5_claygl_src_Shader__[\"a\" /* default */].source('ecgl.ssr.blur'),\n clearColor: [0, 0, 0, 0]\n });\n this._blendPass = new __WEBPACK_IMPORTED_MODULE_4_claygl_src_compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_5_claygl_src_Shader__[\"a\" /* default */].source('clay.compositor.blend')\n });\n this._blendPass.material.disableTexturesAll();\n this._blendPass.material.enableTexture(['texture1', 'texture2']);\n\n this._ssrPass.setUniform('gBufferTexture1', opt.normalTexture);\n this._ssrPass.setUniform('gBufferTexture2', opt.depthTexture);\n // this._ssrPass.setUniform('gBufferTexture3', opt.albedoTexture);\n\n this._blurPass1.setUniform('gBufferTexture1', opt.normalTexture);\n this._blurPass1.setUniform('gBufferTexture2', opt.depthTexture);\n\n this._blurPass2.setUniform('gBufferTexture1', opt.normalTexture);\n this._blurPass2.setUniform('gBufferTexture2', opt.depthTexture);\n\n this._blurPass2.material.define('fragment', 'VERTICAL');\n this._blurPass2.material.define('fragment', 'BLEND');\n\n this._ssrTexture = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture2D__[\"a\" /* default */]({\n type: __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__[\"a\" /* default */].HALF_FLOAT\n });\n this._texture2 = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture2D__[\"a\" /* default */]({\n type: __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__[\"a\" /* default */].HALF_FLOAT\n });\n this._texture3 = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture2D__[\"a\" /* default */]({\n type: __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__[\"a\" /* default */].HALF_FLOAT\n });\n this._prevTexture = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture2D__[\"a\" /* default */]({\n type: __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__[\"a\" /* default */].HALF_FLOAT\n });\n this._currentTexture = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture2D__[\"a\" /* default */]({\n type: __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__[\"a\" /* default */].HALF_FLOAT\n });\n\n this._frameBuffer = new __WEBPACK_IMPORTED_MODULE_6_claygl_src_FrameBuffer__[\"a\" /* default */]({\n depthBuffer: false\n });\n\n this._normalDistribution = null;\n\n this._totalSamples = 256;\n this._samplePerFrame = 4;\n\n this._ssrPass.material.define('fragment', 'SAMPLE_PER_FRAME', this._samplePerFrame);\n this._ssrPass.material.define('fragment', 'TOTAL_SAMPLES', this._totalSamples);\n\n this._downScale = 1;\n}\n\nSSRPass.prototype.setAmbientCubemap = function (specularCubemap, specularIntensity) {\n this._ssrPass.material.set('specularCubemap', specularCubemap);\n this._ssrPass.material.set('specularIntensity', specularIntensity);\n\n var enableSpecularMap = specularCubemap && specularIntensity;\n this._ssrPass.material[enableSpecularMap ? 'enableTexture' : 'disableTexture']('specularCubemap');\n};\n\nSSRPass.prototype.update = function (renderer, camera, sourceTexture, frame) {\n var width = renderer.getWidth();\n var height = renderer.getHeight();\n var ssrTexture = this._ssrTexture;\n var texture2 = this._texture2;\n var texture3 = this._texture3;\n ssrTexture.width = this._prevTexture.width = this._currentTexture.width = width / this._downScale;\n ssrTexture.height = this._prevTexture.height = this._currentTexture.height = height / this._downScale;\n\n texture2.width = texture3.width = width;\n texture2.height = texture3.height = height;\n\n var frameBuffer = this._frameBuffer;\n\n var ssrPass = this._ssrPass;\n var blurPass1 = this._blurPass1;\n var blurPass2 = this._blurPass2;\n var blendPass = this._blendPass;\n\n var toViewSpace = new __WEBPACK_IMPORTED_MODULE_0_claygl_src_math_Matrix4__[\"a\" /* default */]();\n var toWorldSpace = new __WEBPACK_IMPORTED_MODULE_0_claygl_src_math_Matrix4__[\"a\" /* default */]();\n __WEBPACK_IMPORTED_MODULE_0_claygl_src_math_Matrix4__[\"a\" /* default */].transpose(toViewSpace, camera.worldTransform);\n __WEBPACK_IMPORTED_MODULE_0_claygl_src_math_Matrix4__[\"a\" /* default */].transpose(toWorldSpace, camera.viewMatrix);\n\n ssrPass.setUniform('sourceTexture', sourceTexture);\n ssrPass.setUniform('projection', camera.projectionMatrix.array);\n ssrPass.setUniform('projectionInv', camera.invProjectionMatrix.array);\n ssrPass.setUniform('toViewSpace', toViewSpace.array);\n ssrPass.setUniform('toWorldSpace', toWorldSpace.array);\n ssrPass.setUniform('nearZ', camera.near);\n\n var percent = frame / this._totalSamples * this._samplePerFrame;\n ssrPass.setUniform('jitterOffset', percent);\n ssrPass.setUniform('sampleOffset', frame * this._samplePerFrame);\n\n blurPass1.setUniform('textureSize', [ssrTexture.width, ssrTexture.height]);\n blurPass2.setUniform('textureSize', [width, height]);\n blurPass2.setUniform('sourceTexture', sourceTexture);\n\n blurPass1.setUniform('projection', camera.projectionMatrix.array);\n blurPass2.setUniform('projection', camera.projectionMatrix.array);\n\n frameBuffer.attach(ssrTexture);\n frameBuffer.bind(renderer);\n ssrPass.render(renderer);\n\n if (this._physicallyCorrect) {\n frameBuffer.attach(this._currentTexture);\n blendPass.setUniform('texture1', this._prevTexture);\n blendPass.setUniform('texture2', ssrTexture);\n blendPass.material.set({\n 'weight1': frame >= 1 ? 0.95 : 0,\n 'weight2': frame >= 1 ? 0.05 : 1\n // weight1: frame >= 1 ? 1 : 0,\n // weight2: 1\n });\n blendPass.render(renderer);\n }\n\n frameBuffer.attach(texture2);\n blurPass1.setUniform('texture', this._physicallyCorrect ? this._currentTexture : ssrTexture);\n blurPass1.render(renderer);\n\n frameBuffer.attach(texture3);\n blurPass2.setUniform('texture', texture2);\n blurPass2.render(renderer);\n frameBuffer.unbind(renderer);\n\n if (this._physicallyCorrect) {\n var tmp = this._prevTexture;\n this._prevTexture = this._currentTexture;\n this._currentTexture = tmp;\n }\n};\n\nSSRPass.prototype.getTargetTexture = function () {\n return this._texture3;\n};\n\nSSRPass.prototype.setParameter = function (name, val) {\n if (name === 'maxIteration') {\n this._ssrPass.material.define('fragment', 'MAX_ITERATION', val);\n }\n else {\n this._ssrPass.setUniform(name, val);\n }\n};\n\nSSRPass.prototype.setPhysicallyCorrect = function (isPhysicallyCorrect) {\n if (isPhysicallyCorrect) {\n if (!this._normalDistribution) {\n this._normalDistribution = __WEBPACK_IMPORTED_MODULE_8_claygl_src_util_cubemap__[\"a\" /* default */].generateNormalDistribution(64, this._totalSamples);\n }\n this._ssrPass.material.define('fragment', 'PHYSICALLY_CORRECT');\n this._ssrPass.material.set('normalDistribution', this._normalDistribution);\n this._ssrPass.material.set('normalDistributionSize', [64, this._totalSamples]);\n }\n else {\n this._ssrPass.material.undefine('fragment', 'PHYSICALLY_CORRECT');\n }\n\n this._physicallyCorrect = isPhysicallyCorrect;\n};\n\nSSRPass.prototype.setSSAOTexture = function (texture) {\n var blendPass = this._blurPass2;\n if (texture) {\n blendPass.material.enableTexture('ssaoTex');\n blendPass.material.set('ssaoTex', texture);\n }\n else {\n blendPass.material.disableTexture('ssaoTex');\n }\n};\n\nSSRPass.prototype.isFinished = function (frame) {\n if (this._physicallyCorrect) {\n return frame > (this._totalSamples / this._samplePerFrame);\n }\n else {\n return true;\n }\n};\n\nSSRPass.prototype.dispose = function (renderer) {\n this._ssrTexture.dispose(renderer);\n this._texture2.dispose(renderer);\n this._texture3.dispose(renderer);\n this._prevTexture.dispose(renderer);\n this._currentTexture.dispose(renderer);\n this._frameBuffer.dispose(renderer);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (SSRPass);\n\n/***/ }),\n/* 192 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export ecgl.ssr.main\\n\\n#define SHADER_NAME SSR\\n#define MAX_ITERATION 20;\\n#define SAMPLE_PER_FRAME 5;\\n#define TOTAL_SAMPLES 128;\\n\\nuniform sampler2D sourceTexture;\\nuniform sampler2D gBufferTexture1;\\nuniform sampler2D gBufferTexture2;\\nuniform sampler2D gBufferTexture3;\\nuniform samplerCube specularCubemap;\\nuniform float specularIntensity: 1;\\n\\nuniform mat4 projection;\\nuniform mat4 projectionInv;\\nuniform mat4 toViewSpace;\\nuniform mat4 toWorldSpace;\\n\\nuniform float maxRayDistance: 200;\\n\\nuniform float pixelStride: 16;\\nuniform float pixelStrideZCutoff: 50; \\nuniform float screenEdgeFadeStart: 0.9; \\nuniform float eyeFadeStart : 0.2; uniform float eyeFadeEnd: 0.8; \\nuniform float minGlossiness: 0.2; uniform float zThicknessThreshold: 1;\\n\\nuniform float nearZ;\\nuniform vec2 viewportSize : VIEWPORT_SIZE;\\n\\nuniform float jitterOffset: 0;\\n\\nvarying vec2 v_Texcoord;\\n\\n#ifdef DEPTH_DECODE\\n@import clay.util.decode_float\\n#endif\\n\\n#ifdef PHYSICALLY_CORRECT\\nuniform sampler2D normalDistribution;\\nuniform float sampleOffset: 0;\\nuniform vec2 normalDistributionSize;\\n\\nvec3 transformNormal(vec3 H, vec3 N) {\\n vec3 upVector = N.y > 0.999 ? vec3(1.0, 0.0, 0.0) : vec3(0.0, 1.0, 0.0);\\n vec3 tangentX = normalize(cross(N, upVector));\\n vec3 tangentZ = cross(N, tangentX);\\n return normalize(tangentX * H.x + N * H.y + tangentZ * H.z);\\n}\\nvec3 importanceSampleNormalGGX(float i, float roughness, vec3 N) {\\n float p = fract((i + sampleOffset) / float(TOTAL_SAMPLES));\\n vec3 H = texture2D(normalDistribution,vec2(roughness, p)).rgb;\\n return transformNormal(H, N);\\n}\\nfloat G_Smith(float g, float ndv, float ndl) {\\n float roughness = 1.0 - g;\\n float k = roughness * roughness / 2.0;\\n float G1V = ndv / (ndv * (1.0 - k) + k);\\n float G1L = ndl / (ndl * (1.0 - k) + k);\\n return G1L * G1V;\\n}\\nvec3 F_Schlick(float ndv, vec3 spec) {\\n return spec + (1.0 - spec) * pow(1.0 - ndv, 5.0);\\n}\\n#endif\\n\\nfloat fetchDepth(sampler2D depthTexture, vec2 uv)\\n{\\n vec4 depthTexel = texture2D(depthTexture, uv);\\n return depthTexel.r * 2.0 - 1.0;\\n}\\n\\nfloat linearDepth(float depth)\\n{\\n if (projection[3][3] == 0.0) {\\n return projection[3][2] / (depth * projection[2][3] - projection[2][2]);\\n }\\n else {\\n return (depth - projection[3][2]) / projection[2][2];\\n }\\n}\\n\\nbool rayIntersectDepth(float rayZNear, float rayZFar, vec2 hitPixel)\\n{\\n if (rayZFar > rayZNear)\\n {\\n float t = rayZFar; rayZFar = rayZNear; rayZNear = t;\\n }\\n float cameraZ = linearDepth(fetchDepth(gBufferTexture2, hitPixel));\\n return rayZFar <= cameraZ && rayZNear >= cameraZ - zThicknessThreshold;\\n}\\n\\n\\nbool traceScreenSpaceRay(\\n vec3 rayOrigin, vec3 rayDir, float jitter,\\n out vec2 hitPixel, out vec3 hitPoint, out float iterationCount\\n)\\n{\\n float rayLength = ((rayOrigin.z + rayDir.z * maxRayDistance) > -nearZ)\\n ? (-nearZ - rayOrigin.z) / rayDir.z : maxRayDistance;\\n\\n vec3 rayEnd = rayOrigin + rayDir * rayLength;\\n\\n vec4 H0 = projection * vec4(rayOrigin, 1.0);\\n vec4 H1 = projection * vec4(rayEnd, 1.0);\\n\\n float k0 = 1.0 / H0.w, k1 = 1.0 / H1.w;\\n\\n vec3 Q0 = rayOrigin * k0, Q1 = rayEnd * k1;\\n\\n vec2 P0 = (H0.xy * k0 * 0.5 + 0.5) * viewportSize;\\n vec2 P1 = (H1.xy * k1 * 0.5 + 0.5) * viewportSize;\\n\\n P1 += dot(P1 - P0, P1 - P0) < 0.0001 ? 0.01 : 0.0;\\n vec2 delta = P1 - P0;\\n\\n bool permute = false;\\n if (abs(delta.x) < abs(delta.y)) {\\n permute = true;\\n delta = delta.yx;\\n P0 = P0.yx;\\n P1 = P1.yx;\\n }\\n float stepDir = sign(delta.x);\\n float invdx = stepDir / delta.x;\\n\\n vec3 dQ = (Q1 - Q0) * invdx;\\n float dk = (k1 - k0) * invdx;\\n\\n vec2 dP = vec2(stepDir, delta.y * invdx);\\n\\n float strideScaler = 1.0 - min(1.0, -rayOrigin.z / pixelStrideZCutoff);\\n float pixStride = 1.0 + strideScaler * pixelStride;\\n\\n dP *= pixStride; dQ *= pixStride; dk *= pixStride;\\n\\n vec4 pqk = vec4(P0, Q0.z, k0);\\n vec4 dPQK = vec4(dP, dQ.z, dk);\\n\\n pqk += dPQK * jitter;\\n float rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);\\n float rayZNear;\\n\\n bool intersect = false;\\n\\n vec2 texelSize = 1.0 / viewportSize;\\n\\n iterationCount = 0.0;\\n\\n for (int i = 0; i < MAX_ITERATION; i++)\\n {\\n pqk += dPQK;\\n\\n rayZNear = rayZFar;\\n rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);\\n\\n hitPixel = permute ? pqk.yx : pqk.xy;\\n hitPixel *= texelSize;\\n\\n intersect = rayIntersectDepth(rayZNear, rayZFar, hitPixel);\\n\\n iterationCount += 1.0;\\n\\n dPQK *= 1.2;\\n\\n if (intersect) {\\n break;\\n }\\n }\\n\\n Q0.xy += dQ.xy * iterationCount;\\n Q0.z = pqk.z;\\n hitPoint = Q0 / pqk.w;\\n\\n return intersect;\\n}\\n\\nfloat calculateAlpha(\\n float iterationCount, float reflectivity,\\n vec2 hitPixel, vec3 hitPoint, float dist, vec3 rayDir\\n)\\n{\\n float alpha = clamp(reflectivity, 0.0, 1.0);\\n alpha *= 1.0 - (iterationCount / float(MAX_ITERATION));\\n vec2 hitPixelNDC = hitPixel * 2.0 - 1.0;\\n float maxDimension = min(1.0, max(abs(hitPixelNDC.x), abs(hitPixelNDC.y)));\\n alpha *= 1.0 - max(0.0, maxDimension - screenEdgeFadeStart) / (1.0 - screenEdgeFadeStart);\\n\\n float _eyeFadeStart = eyeFadeStart;\\n float _eyeFadeEnd = eyeFadeEnd;\\n if (_eyeFadeStart > _eyeFadeEnd) {\\n float tmp = _eyeFadeEnd;\\n _eyeFadeEnd = _eyeFadeStart;\\n _eyeFadeStart = tmp;\\n }\\n\\n float eyeDir = clamp(rayDir.z, _eyeFadeStart, _eyeFadeEnd);\\n alpha *= 1.0 - (eyeDir - _eyeFadeStart) / (_eyeFadeEnd - _eyeFadeStart);\\n\\n alpha *= 1.0 - clamp(dist / maxRayDistance, 0.0, 1.0);\\n\\n return alpha;\\n}\\n\\n@import clay.util.rand\\n\\n@import clay.util.rgbm\\n\\nvoid main()\\n{\\n vec4 normalAndGloss = texture2D(gBufferTexture1, v_Texcoord);\\n\\n if (dot(normalAndGloss.rgb, vec3(1.0)) == 0.0) {\\n discard;\\n }\\n\\n float g = normalAndGloss.a;\\n#if !defined(PHYSICALLY_CORRECT)\\n if (g <= minGlossiness) {\\n discard;\\n }\\n#endif\\n\\n float reflectivity = (g - minGlossiness) / (1.0 - minGlossiness);\\n\\n vec3 N = normalize(normalAndGloss.rgb * 2.0 - 1.0);\\n N = normalize((toViewSpace * vec4(N, 0.0)).xyz);\\n\\n vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, fetchDepth(gBufferTexture2, v_Texcoord), 1.0);\\n vec4 pos = projectionInv * projectedPos;\\n vec3 rayOrigin = pos.xyz / pos.w;\\n vec3 V = -normalize(rayOrigin);\\n\\n float ndv = clamp(dot(N, V), 0.0, 1.0);\\n float iterationCount;\\n float jitter = rand(fract(v_Texcoord + jitterOffset));\\n\\n#ifdef PHYSICALLY_CORRECT\\n vec4 color = vec4(vec3(0.0), 1.0);\\n vec4 albedoMetalness = texture2D(gBufferTexture3, v_Texcoord);\\n vec3 albedo = albedoMetalness.rgb;\\n float m = albedoMetalness.a;\\n vec3 diffuseColor = albedo * (1.0 - m);\\n vec3 spec = mix(vec3(0.04), albedo, m);\\n\\n float jitter2 = rand(fract(v_Texcoord)) * float(TOTAL_SAMPLES);\\n\\n for (int i = 0; i < SAMPLE_PER_FRAME; i++) {\\n vec3 H = importanceSampleNormalGGX(float(i) + jitter2, 1.0 - g, N);\\n vec3 rayDir = normalize(reflect(-V, H));\\n#else\\n vec3 rayDir = normalize(reflect(-V, N));\\n#endif\\n vec2 hitPixel;\\n vec3 hitPoint;\\n\\n bool intersect = traceScreenSpaceRay(rayOrigin, rayDir, jitter, hitPixel, hitPoint, iterationCount);\\n\\n float dist = distance(rayOrigin, hitPoint);\\n\\n vec3 hitNormal = texture2D(gBufferTexture1, hitPixel).rgb * 2.0 - 1.0;\\n hitNormal = normalize((toViewSpace * vec4(hitNormal, 0.0)).xyz);\\n#ifdef PHYSICALLY_CORRECT\\n float ndl = clamp(dot(N, rayDir), 0.0, 1.0);\\n float vdh = clamp(dot(V, H), 0.0, 1.0);\\n float ndh = clamp(dot(N, H), 0.0, 1.0);\\n vec3 litTexel = vec3(0.0);\\n if (dot(hitNormal, rayDir) < 0.0 && intersect) {\\n litTexel = texture2D(sourceTexture, hitPixel).rgb;\\n litTexel *= pow(clamp(1.0 - dist / 200.0, 0.0, 1.0), 3.0);\\n\\n }\\n else {\\n #ifdef SPECULARCUBEMAP_ENABLED\\n vec3 rayDirW = normalize(toWorldSpace * vec4(rayDir, 0.0)).rgb;\\n litTexel = RGBMDecode(textureCubeLodEXT(specularCubemap, rayDirW, 0.0), 8.12).rgb * specularIntensity;\\n#endif\\n }\\n color.rgb += ndl * litTexel * (\\n F_Schlick(ndl, spec) * G_Smith(g, ndv, ndl) * vdh / (ndh * ndv + 0.001)\\n );\\n }\\n color.rgb /= float(SAMPLE_PER_FRAME);\\n#else\\n #if !defined(SPECULARCUBEMAP_ENABLED)\\n if (dot(hitNormal, rayDir) >= 0.0) {\\n discard;\\n }\\n if (!intersect) {\\n discard;\\n }\\n#endif\\n float alpha = clamp(calculateAlpha(iterationCount, reflectivity, hitPixel, hitPoint, dist, rayDir), 0.0, 1.0);\\n vec4 color = texture2D(sourceTexture, hitPixel);\\n color.rgb *= alpha;\\n\\n#ifdef SPECULARCUBEMAP_ENABLED\\n vec3 rayDirW = normalize(toWorldSpace * vec4(rayDir, 0.0)).rgb;\\n alpha = alpha * (intersect ? 1.0 : 0.0);\\n float bias = (1.0 -g) * 5.0;\\n color.rgb += (1.0 - alpha)\\n * RGBMDecode(textureCubeLodEXT(specularCubemap, rayDirW, bias), 8.12).rgb\\n * specularIntensity;\\n#endif\\n\\n#endif\\n\\n gl_FragColor = encodeHDR(color);\\n}\\n@end\\n\\n@export ecgl.ssr.blur\\n\\nuniform sampler2D texture;\\nuniform sampler2D gBufferTexture1;\\nuniform sampler2D gBufferTexture2;\\nuniform mat4 projection;\\nuniform float depthRange : 0.05;\\n\\nvarying vec2 v_Texcoord;\\n\\nuniform vec2 textureSize;\\nuniform float blurSize : 1.0;\\n\\n#ifdef BLEND\\n #ifdef SSAOTEX_ENABLED\\nuniform sampler2D ssaoTex;\\n #endif\\nuniform sampler2D sourceTexture;\\n#endif\\n\\nfloat getLinearDepth(vec2 coord)\\n{\\n float depth = texture2D(gBufferTexture2, coord).r * 2.0 - 1.0;\\n return projection[3][2] / (depth * projection[2][3] - projection[2][2]);\\n}\\n\\n@import clay.util.rgbm\\n\\n\\nvoid main()\\n{\\n @import clay.compositor.kernel.gaussian_9\\n\\n vec4 centerNTexel = texture2D(gBufferTexture1, v_Texcoord);\\n float g = centerNTexel.a;\\n float maxBlurSize = clamp(1.0 - g, 0.0, 1.0) * blurSize;\\n#ifdef VERTICAL\\n vec2 off = vec2(0.0, maxBlurSize / textureSize.y);\\n#else\\n vec2 off = vec2(maxBlurSize / textureSize.x, 0.0);\\n#endif\\n\\n vec2 coord = v_Texcoord;\\n\\n vec4 sum = vec4(0.0);\\n float weightAll = 0.0;\\n\\n vec3 cN = centerNTexel.rgb * 2.0 - 1.0;\\n float cD = getLinearDepth(v_Texcoord);\\n for (int i = 0; i < 9; i++) {\\n vec2 coord = clamp((float(i) - 4.0) * off + v_Texcoord, vec2(0.0), vec2(1.0));\\n float w = gaussianKernel[i]\\n * clamp(dot(cN, texture2D(gBufferTexture1, coord).rgb * 2.0 - 1.0), 0.0, 1.0);\\n float d = getLinearDepth(coord);\\n w *= (1.0 - smoothstep(abs(cD - d) / depthRange, 0.0, 1.0));\\n\\n weightAll += w;\\n sum += decodeHDR(texture2D(texture, coord)) * w;\\n }\\n\\n#ifdef BLEND\\n float aoFactor = 1.0;\\n #ifdef SSAOTEX_ENABLED\\n aoFactor = texture2D(ssaoTex, v_Texcoord).r;\\n #endif\\n gl_FragColor = encodeHDR(\\n sum / weightAll * aoFactor + decodeHDR(texture2D(sourceTexture, v_Texcoord))\\n );\\n#else\\n gl_FragColor = encodeHDR(sum / weightAll);\\n#endif\\n}\\n\\n@end\");\n\n\n/***/ }),\n/* 193 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// Based on https://bl.ocks.org/mbostock/19168c663618b707158\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ([\n0.0, 0.0,\n-0.321585265978, -0.154972575841,\n0.458126042375, 0.188473391593,\n0.842080129861, 0.527766490688,\n0.147304551086, -0.659453822776,\n-0.331943915203, -0.940619700594,\n0.0479226680259, 0.54812163202,\n0.701581552186, -0.709825561388,\n-0.295436780218, 0.940589268233,\n-0.901489676764, 0.237713156085,\n0.973570876096, -0.109899459384,\n-0.866792314779, -0.451805525005,\n0.330975007087, 0.800048655954,\n-0.344275183665, 0.381779221166,\n-0.386139432542, -0.437418421534,\n-0.576478634965, -0.0148463392551,\n0.385798197415, -0.262426961053,\n-0.666302061145, 0.682427250835,\n-0.628010632582, -0.732836215494,\n0.10163141741, -0.987658134403,\n0.711995289051, -0.320024291314,\n0.0296005138058, 0.950296523438,\n0.0130612307608, -0.351024443122,\n-0.879596633704, -0.10478487883,\n0.435712737232, 0.504254490347,\n0.779203817497, 0.206477676721,\n0.388264289969, -0.896736162545,\n-0.153106280781, -0.629203242522,\n-0.245517550697, 0.657969239148,\n0.126830499058, 0.26862328493,\n-0.634888119007, -0.302301223431,\n0.617074219636, 0.779817204925\n]);\n\n/***/ }),\n/* 194 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_claygl_src_Shader__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_FrameBuffer__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_claygl_src_Material__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_claygl_src_compositor_Pass__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_claygl_src_util_texture__ = __webpack_require__(61);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util_shader_normal_glsl_js__ = __webpack_require__(195);\n// NormalPass will generate normal and depth data.\n\n// TODO Animation\n\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_2_claygl_src_Shader__[\"a\" /* default */].import(__WEBPACK_IMPORTED_MODULE_7__util_shader_normal_glsl_js__[\"a\" /* default */]);\n\nfunction attachTextureToSlot(renderer, program, symbol, texture, slot) {\n var gl = renderer.gl;\n program.setUniform(gl, '1i', symbol, slot);\n\n gl.activeTexture(gl.TEXTURE0 + slot);\n // Maybe texture is not loaded yet;\n if (texture.isRenderable()) {\n texture.bind(renderer);\n }\n else {\n // Bind texture to null\n texture.unbind(renderer);\n }\n}\n\n// TODO Use globalShader insteadof globalMaterial?\nfunction getBeforeRenderHook (renderer, defaultNormalMap, defaultBumpMap, defaultRoughnessMap, normalMaterial) {\n\n var previousNormalMap;\n var previousBumpMap;\n var previousRoughnessMap;\n var previousRenderable;\n var gl = renderer.gl;\n\n return function (renderable, normalMaterial, prevNormalMaterial) {\n // Material not change\n if (previousRenderable && previousRenderable.material === renderable.material) {\n return;\n }\n\n var material = renderable.material;\n var program = renderable.__program;\n\n var roughness = material.get('roughness');\n if (roughness == null) {\n roughness = 1;\n }\n\n var normalMap = material.get('normalMap') || defaultNormalMap;\n var roughnessMap = material.get('roughnessMap');\n var bumpMap = material.get('bumpMap');\n var uvRepeat = material.get('uvRepeat');\n var uvOffset = material.get('uvOffset');\n var detailUvRepeat = material.get('detailUvRepeat');\n var detailUvOffset = material.get('detailUvOffset');\n\n var useBumpMap = !!bumpMap && material.isTextureEnabled('bumpMap');\n var useRoughnessMap = !!roughnessMap && material.isTextureEnabled('roughnessMap');\n var doubleSide = material.isDefined('fragment', 'DOUBLE_SIDED');\n\n bumpMap = bumpMap || defaultBumpMap;\n roughnessMap = roughnessMap || defaultRoughnessMap;\n\n if (prevNormalMaterial !== normalMaterial) {\n normalMaterial.set('normalMap', normalMap);\n normalMaterial.set('bumpMap', bumpMap);\n normalMaterial.set('roughnessMap', roughnessMap);\n normalMaterial.set('useBumpMap', useBumpMap);\n normalMaterial.set('useRoughnessMap', useRoughnessMap);\n normalMaterial.set('doubleSide', doubleSide);\n uvRepeat != null && normalMaterial.set('uvRepeat', uvRepeat);\n uvOffset != null && normalMaterial.set('uvOffset', uvOffset);\n detailUvRepeat != null && normalMaterial.set('detailUvRepeat', detailUvRepeat);\n detailUvOffset != null && normalMaterial.set('detailUvOffset', detailUvOffset);\n\n normalMaterial.set('roughness', roughness);\n }\n else {\n program.setUniform(gl, '1f', 'roughness', roughness);\n\n if (previousNormalMap !== normalMap) {\n attachTextureToSlot(renderer, program, 'normalMap', normalMap, 0);\n }\n if (previousBumpMap !== bumpMap && bumpMap) {\n attachTextureToSlot(renderer, program, 'bumpMap', bumpMap, 1);\n }\n if (previousRoughnessMap !== roughnessMap && roughnessMap) {\n attachTextureToSlot(renderer, program, 'roughnessMap', roughnessMap, 2);\n }\n if (uvRepeat != null) {\n program.setUniform(gl, '2f', 'uvRepeat', uvRepeat);\n }\n if (uvOffset != null) {\n program.setUniform(gl, '2f', 'uvOffset', uvOffset);\n }\n if (detailUvRepeat != null) {\n program.setUniform(gl, '2f', 'detailUvRepeat', detailUvRepeat);\n }\n if (detailUvOffset != null) {\n program.setUniform(gl, '2f', 'detailUvOffset', detailUvOffset);\n }\n program.setUniform(gl, '1i', 'useBumpMap', +useBumpMap);\n program.setUniform(gl, '1i', 'useRoughnessMap', +useRoughnessMap);\n program.setUniform(gl, '1i', 'doubleSide', +doubleSide);\n }\n\n previousNormalMap = normalMap;\n previousBumpMap = bumpMap;\n previousRoughnessMap = roughnessMap;\n\n previousRenderable = renderable;\n };\n}\n\nfunction NormalPass(opt) {\n opt = opt || {};\n\n this._depthTex = new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Texture2D__[\"a\" /* default */]({\n format: __WEBPACK_IMPORTED_MODULE_1_claygl_src_Texture__[\"a\" /* default */].DEPTH_COMPONENT,\n type: __WEBPACK_IMPORTED_MODULE_1_claygl_src_Texture__[\"a\" /* default */].UNSIGNED_INT\n });\n this._normalTex = new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Texture2D__[\"a\" /* default */]({\n type: __WEBPACK_IMPORTED_MODULE_1_claygl_src_Texture__[\"a\" /* default */].HALF_FLOAT\n });\n\n this._framebuffer = new __WEBPACK_IMPORTED_MODULE_3_claygl_src_FrameBuffer__[\"a\" /* default */]();\n this._framebuffer.attach(this._normalTex);\n this._framebuffer.attach(this._depthTex, __WEBPACK_IMPORTED_MODULE_3_claygl_src_FrameBuffer__[\"a\" /* default */].DEPTH_ATTACHMENT);\n\n this._normalMaterial = new __WEBPACK_IMPORTED_MODULE_4_claygl_src_Material__[\"a\" /* default */]({\n shader: new __WEBPACK_IMPORTED_MODULE_2_claygl_src_Shader__[\"a\" /* default */](\n __WEBPACK_IMPORTED_MODULE_2_claygl_src_Shader__[\"a\" /* default */].source('ecgl.normal.vertex'),\n __WEBPACK_IMPORTED_MODULE_2_claygl_src_Shader__[\"a\" /* default */].source('ecgl.normal.fragment')\n )\n });\n this._normalMaterial.enableTexture(['normalMap', 'bumpMap', 'roughnessMap']);\n\n this._defaultNormalMap = __WEBPACK_IMPORTED_MODULE_6_claygl_src_util_texture__[\"a\" /* default */].createBlank('#000');\n this._defaultBumpMap = __WEBPACK_IMPORTED_MODULE_6_claygl_src_util_texture__[\"a\" /* default */].createBlank('#000');\n this._defaultRoughessMap = __WEBPACK_IMPORTED_MODULE_6_claygl_src_util_texture__[\"a\" /* default */].createBlank('#000');\n\n\n this._debugPass = new __WEBPACK_IMPORTED_MODULE_5_claygl_src_compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_2_claygl_src_Shader__[\"a\" /* default */].source('clay.compositor.output')\n });\n this._debugPass.setUniform('texture', this._normalTex);\n this._debugPass.material.undefine('fragment', 'OUTPUT_ALPHA');\n}\n\nNormalPass.prototype.getDepthTexture = function () {\n return this._depthTex;\n};\n\nNormalPass.prototype.getNormalTexture = function () {\n return this._normalTex;\n};\n\nNormalPass.prototype.update = function (renderer, scene, camera) {\n\n var width = renderer.getWidth();\n var height = renderer.getHeight();\n\n var depthTexture = this._depthTex;\n var normalTexture = this._normalTex;\n var normalMaterial = this._normalMaterial;\n\n depthTexture.width = width;\n depthTexture.height = height;\n normalTexture.width = width;\n normalTexture.height = height;\n\n var opaqueList = scene.getRenderList(camera).opaque;\n\n this._framebuffer.bind(renderer);\n renderer.gl.clearColor(0, 0, 0, 0);\n renderer.gl.clear(renderer.gl.COLOR_BUFFER_BIT | renderer.gl.DEPTH_BUFFER_BIT);\n renderer.gl.disable(renderer.gl.BLEND);\n\n renderer.renderPass(opaqueList, camera, {\n getMaterial: function () {\n return normalMaterial;\n },\n ifRender: function (object) {\n return object.renderNormal;\n },\n beforeRender: getBeforeRenderHook(\n renderer, this._defaultNormalMap, this._defaultBumpMap, this._defaultRoughessMap, this._normalMaterial\n ),\n sort: renderer.opaqueSortCompare\n });\n this._framebuffer.unbind(renderer);\n};\n\nNormalPass.prototype.renderDebug = function (renderer) {\n this._debugPass.render(renderer);\n};\n\nNormalPass.prototype.dispose = function (renderer) {\n this._depthTex.dispose(renderer);\n this._normalTex.dispose(renderer);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (NormalPass);\n\n/***/ }),\n/* 195 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export ecgl.normal.vertex\\n\\n@import ecgl.common.transformUniforms\\n\\n@import ecgl.common.uv.header\\n\\n@import ecgl.common.attributes\\n\\nvarying vec3 v_Normal;\\nvarying vec3 v_WorldPosition;\\n\\n@import ecgl.common.normalMap.vertexHeader\\n\\n@import ecgl.common.vertexAnimation.header\\n\\nvoid main()\\n{\\n\\n @import ecgl.common.vertexAnimation.main\\n\\n @import ecgl.common.uv.main\\n\\n v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);\\n v_WorldPosition = (world * vec4(pos, 1.0)).xyz;\\n\\n @import ecgl.common.normalMap.vertexMain\\n\\n gl_Position = worldViewProjection * vec4(pos, 1.0);\\n\\n}\\n\\n\\n@end\\n\\n\\n@export ecgl.normal.fragment\\n\\n#define ROUGHNESS_CHANEL 0\\n\\nuniform bool useBumpMap;\\nuniform bool useRoughnessMap;\\nuniform bool doubleSide;\\nuniform float roughness;\\n\\n@import ecgl.common.uv.fragmentHeader\\n\\nvarying vec3 v_Normal;\\nvarying vec3 v_WorldPosition;\\n\\nuniform mat4 viewInverse : VIEWINVERSE;\\n\\n@import ecgl.common.normalMap.fragmentHeader\\n@import ecgl.common.bumpMap.header\\n\\nuniform sampler2D roughnessMap;\\n\\nvoid main()\\n{\\n vec3 N = v_Normal;\\n \\n bool flipNormal = false;\\n if (doubleSide) {\\n vec3 eyePos = viewInverse[3].xyz;\\n vec3 V = normalize(eyePos - v_WorldPosition);\\n\\n if (dot(N, V) < 0.0) {\\n flipNormal = true;\\n }\\n }\\n\\n @import ecgl.common.normalMap.fragmentMain\\n\\n if (useBumpMap) {\\n N = bumpNormal(v_WorldPosition, v_Normal, N);\\n }\\n\\n float g = 1.0 - roughness;\\n\\n if (useRoughnessMap) {\\n float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];\\n g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);\\n }\\n\\n if (flipNormal) {\\n N = -N;\\n }\\n\\n gl_FragColor.rgb = (N.xyz + 1.0) * 0.5;\\n gl_FragColor.a = g;\\n}\\n@end\");\n\n\n/***/ }),\n/* 196 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_math_Matrix4__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_claygl_src_compositor_Pass__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_claygl_src_Shader__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_claygl_src_FrameBuffer__ = __webpack_require__(10);\n\n\n\n\n\n\n\n\nfunction EdgePass(opt) {\n opt = opt || {};\n\n this._edgePass = new __WEBPACK_IMPORTED_MODULE_4_claygl_src_compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_5_claygl_src_Shader__[\"a\" /* default */].source('ecgl.edge')\n });\n\n this._edgePass.setUniform('normalTexture', opt.normalTexture);\n this._edgePass.setUniform('depthTexture', opt.depthTexture);\n\n this._targetTexture = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_Texture2D__[\"a\" /* default */]({\n type: __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture__[\"a\" /* default */].HALF_FLOAT\n });\n\n this._frameBuffer = new __WEBPACK_IMPORTED_MODULE_6_claygl_src_FrameBuffer__[\"a\" /* default */]();\n this._frameBuffer.attach(this._targetTexture);\n}\n\nEdgePass.prototype.update = function (renderer, camera, sourceTexture, frame) {\n var width = renderer.getWidth();\n var height = renderer.getHeight();\n var texture = this._targetTexture;\n texture.width = width;\n texture.height = height;\n var frameBuffer = this._frameBuffer;\n\n frameBuffer.bind(renderer);\n this._edgePass.setUniform('projectionInv', camera.invProjectionMatrix.array);\n this._edgePass.setUniform('textureSize', [width, height]);\n this._edgePass.setUniform('texture', sourceTexture);\n this._edgePass.render(renderer);\n\n frameBuffer.unbind(renderer);\n};\n\nEdgePass.prototype.getTargetTexture = function () {\n return this._targetTexture;\n};\n\nEdgePass.prototype.setParameter = function (name, val) {\n this._edgePass.setUniform(name, val);\n};\n\nEdgePass.prototype.dispose = function (renderer) {\n this._targetTexture.dispose(renderer);\n this._frameBuffer.dispose(renderer);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (EdgePass);\n\n/***/ }),\n/* 197 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n 'type' : 'compositor',\n 'nodes' : [\n {\n 'name': 'source',\n 'type': 'texture',\n 'outputs': {\n 'color': {}\n }\n },\n {\n 'name': 'source_half',\n 'shader': '#source(clay.compositor.downsample)',\n 'inputs': {\n 'texture': 'source'\n },\n 'outputs': {\n 'color': {\n 'parameters': {\n 'width': 'expr(width * 1.0 / 2)',\n 'height': 'expr(height * 1.0 / 2)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'textureSize': 'expr( [width * 1.0, height * 1.0] )'\n }\n },\n\n\n {\n 'name' : 'bright',\n 'shader' : '#source(clay.compositor.bright)',\n 'inputs' : {\n 'texture' : 'source_half'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0 / 2)',\n 'height' : 'expr(height * 1.0 / 2)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'threshold' : 2,\n 'scale': 4,\n 'textureSize': 'expr([width * 1.0 / 2, height / 2])'\n }\n },\n\n {\n 'name': 'bright_downsample_4',\n 'shader' : '#source(clay.compositor.downsample)',\n 'inputs' : {\n 'texture' : 'bright'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0 / 4)',\n 'height' : 'expr(height * 1.0 / 4)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'textureSize': 'expr( [width * 1.0 / 2, height / 2] )'\n }\n },\n {\n 'name': 'bright_downsample_8',\n 'shader' : '#source(clay.compositor.downsample)',\n 'inputs' : {\n 'texture' : 'bright_downsample_4'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0 / 8)',\n 'height' : 'expr(height * 1.0 / 8)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'textureSize': 'expr( [width * 1.0 / 4, height / 4] )'\n }\n },\n {\n 'name': 'bright_downsample_16',\n 'shader' : '#source(clay.compositor.downsample)',\n 'inputs' : {\n 'texture' : 'bright_downsample_8'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0 / 16)',\n 'height' : 'expr(height * 1.0 / 16)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'textureSize': 'expr( [width * 1.0 / 8, height / 8] )'\n }\n },\n {\n 'name': 'bright_downsample_32',\n 'shader' : '#source(clay.compositor.downsample)',\n 'inputs' : {\n 'texture' : 'bright_downsample_16'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0 / 32)',\n 'height' : 'expr(height * 1.0 / 32)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'textureSize': 'expr( [width * 1.0 / 16, height / 16] )'\n }\n },\n\n\n {\n 'name' : 'bright_upsample_16_blur_h',\n 'shader' : '#source(clay.compositor.gaussian_blur)',\n 'inputs' : {\n 'texture' : 'bright_downsample_32'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0 / 16)',\n 'height' : 'expr(height * 1.0 / 16)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'blurSize' : 1,\n 'blurDir': 0.0,\n 'textureSize': 'expr( [width * 1.0 / 32, height / 32] )'\n }\n },\n {\n 'name' : 'bright_upsample_16_blur_v',\n 'shader' : '#source(clay.compositor.gaussian_blur)',\n 'inputs' : {\n 'texture' : 'bright_upsample_16_blur_h'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0 / 16)',\n 'height' : 'expr(height * 1.0 / 16)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'blurSize' : 1,\n 'blurDir': 1.0,\n 'textureSize': 'expr( [width * 1.0 / 16, height * 1.0 / 16] )'\n }\n },\n\n\n\n {\n 'name' : 'bright_upsample_8_blur_h',\n 'shader' : '#source(clay.compositor.gaussian_blur)',\n 'inputs' : {\n 'texture' : 'bright_downsample_16'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0 / 8)',\n 'height' : 'expr(height * 1.0 / 8)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'blurSize' : 1,\n 'blurDir': 0.0,\n 'textureSize': 'expr( [width * 1.0 / 16, height * 1.0 / 16] )'\n }\n },\n {\n 'name' : 'bright_upsample_8_blur_v',\n 'shader' : '#source(clay.compositor.gaussian_blur)',\n 'inputs' : {\n 'texture' : 'bright_upsample_8_blur_h'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0 / 8)',\n 'height' : 'expr(height * 1.0 / 8)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'blurSize' : 1,\n 'blurDir': 1.0,\n 'textureSize': 'expr( [width * 1.0 / 8, height * 1.0 / 8] )'\n }\n },\n {\n 'name' : 'bright_upsample_8_blend',\n 'shader' : '#source(clay.compositor.blend)',\n 'inputs' : {\n 'texture1' : 'bright_upsample_8_blur_v',\n 'texture2' : 'bright_upsample_16_blur_v'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0 / 8)',\n 'height' : 'expr(height * 1.0 / 8)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'weight1' : 0.3,\n 'weight2' : 0.7\n }\n },\n\n\n {\n 'name' : 'bright_upsample_4_blur_h',\n 'shader' : '#source(clay.compositor.gaussian_blur)',\n 'inputs' : {\n 'texture' : 'bright_downsample_8'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0 / 4)',\n 'height' : 'expr(height * 1.0 / 4)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'blurSize' : 1,\n 'blurDir': 0.0,\n 'textureSize': 'expr( [width * 1.0 / 8, height * 1.0 / 8] )'\n }\n },\n {\n 'name' : 'bright_upsample_4_blur_v',\n 'shader' : '#source(clay.compositor.gaussian_blur)',\n 'inputs' : {\n 'texture' : 'bright_upsample_4_blur_h'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0 / 4)',\n 'height' : 'expr(height * 1.0 / 4)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'blurSize' : 1,\n 'blurDir': 1.0,\n 'textureSize': 'expr( [width * 1.0 / 4, height * 1.0 / 4] )'\n }\n },\n {\n 'name' : 'bright_upsample_4_blend',\n 'shader' : '#source(clay.compositor.blend)',\n 'inputs' : {\n 'texture1' : 'bright_upsample_4_blur_v',\n 'texture2' : 'bright_upsample_8_blend'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0 / 4)',\n 'height' : 'expr(height * 1.0 / 4)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'weight1' : 0.3,\n 'weight2' : 0.7\n }\n },\n\n\n\n\n\n {\n 'name' : 'bright_upsample_2_blur_h',\n 'shader' : '#source(clay.compositor.gaussian_blur)',\n 'inputs' : {\n 'texture' : 'bright_downsample_4'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0 / 2)',\n 'height' : 'expr(height * 1.0 / 2)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'blurSize' : 1,\n 'blurDir': 0.0,\n 'textureSize': 'expr( [width * 1.0 / 4, height * 1.0 / 4] )'\n }\n },\n {\n 'name' : 'bright_upsample_2_blur_v',\n 'shader' : '#source(clay.compositor.gaussian_blur)',\n 'inputs' : {\n 'texture' : 'bright_upsample_2_blur_h'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0 / 2)',\n 'height' : 'expr(height * 1.0 / 2)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'blurSize' : 1,\n 'blurDir': 1.0,\n 'textureSize': 'expr( [width * 1.0 / 2, height * 1.0 / 2] )'\n }\n },\n {\n 'name' : 'bright_upsample_2_blend',\n 'shader' : '#source(clay.compositor.blend)',\n 'inputs' : {\n 'texture1' : 'bright_upsample_2_blur_v',\n 'texture2' : 'bright_upsample_4_blend'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0 / 2)',\n 'height' : 'expr(height * 1.0 / 2)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'weight1' : 0.3,\n 'weight2' : 0.7\n }\n },\n\n\n\n {\n 'name' : 'bright_upsample_full_blur_h',\n 'shader' : '#source(clay.compositor.gaussian_blur)',\n 'inputs' : {\n 'texture' : 'bright'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0)',\n 'height' : 'expr(height * 1.0)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'blurSize' : 1,\n 'blurDir': 0.0,\n 'textureSize': 'expr( [width * 1.0 / 2, height * 1.0 / 2] )'\n }\n },\n {\n 'name' : 'bright_upsample_full_blur_v',\n 'shader' : '#source(clay.compositor.gaussian_blur)',\n 'inputs' : {\n 'texture' : 'bright_upsample_full_blur_h'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0)',\n 'height' : 'expr(height * 1.0)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'blurSize' : 1,\n 'blurDir': 1.0,\n 'textureSize': 'expr( [width * 1.0, height * 1.0] )'\n }\n },\n {\n 'name' : 'bloom_composite',\n 'shader' : '#source(clay.compositor.blend)',\n 'inputs' : {\n 'texture1' : 'bright_upsample_full_blur_v',\n 'texture2' : 'bright_upsample_2_blend'\n },\n 'outputs' : {\n 'color' : {\n 'parameters' : {\n 'width' : 'expr(width * 1.0)',\n 'height' : 'expr(height * 1.0)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters' : {\n 'weight1' : 0.3,\n 'weight2' : 0.7\n }\n },\n\n\n {\n 'name': 'coc',\n 'shader': '#source(ecgl.dof.coc)',\n 'outputs': {\n 'color': {\n 'parameters': {\n 'minFilter': 'NEAREST',\n 'magFilter': 'NEAREST',\n 'width': 'expr(width * 1.0)',\n 'height': 'expr(height * 1.0)'\n }\n }\n },\n 'parameters': {\n 'focalDist': 50,\n 'focalRange': 30\n }\n },\n\n {\n 'name': 'dof_far_blur',\n 'shader': '#source(ecgl.dof.diskBlur)',\n 'inputs': {\n 'texture': 'source',\n 'coc': 'coc'\n },\n 'outputs': {\n 'color': {\n 'parameters': {\n 'width': 'expr(width * 1.0)',\n 'height': 'expr(height * 1.0)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters': {\n 'textureSize': 'expr( [width * 1.0, height * 1.0] )'\n }\n },\n {\n 'name': 'dof_near_blur',\n 'shader': '#source(ecgl.dof.diskBlur)',\n 'inputs': {\n 'texture': 'source',\n 'coc': 'coc'\n },\n 'outputs': {\n 'color': {\n 'parameters': {\n 'width': 'expr(width * 1.0)',\n 'height': 'expr(height * 1.0)',\n 'type': 'HALF_FLOAT'\n }\n }\n },\n 'parameters': {\n 'textureSize': 'expr( [width * 1.0, height * 1.0] )'\n },\n 'defines': {\n 'BLUR_NEARFIELD': null\n }\n },\n\n\n {\n 'name': 'dof_coc_blur',\n 'shader': '#source(ecgl.dof.diskBlur)',\n 'inputs': {\n 'texture': 'coc'\n },\n 'outputs': {\n 'color': {\n 'parameters': {\n 'minFilter': 'NEAREST',\n 'magFilter': 'NEAREST',\n 'width': 'expr(width * 1.0)',\n 'height': 'expr(height * 1.0)'\n }\n }\n },\n 'parameters': {\n 'textureSize': 'expr( [width * 1.0, height * 1.0] )'\n },\n 'defines': {\n 'BLUR_COC': null\n }\n },\n\n {\n 'name': 'dof_composite',\n 'shader': '#source(ecgl.dof.composite)',\n 'inputs': {\n 'original': 'source',\n 'blurred': 'dof_far_blur',\n 'nearfield': 'dof_near_blur',\n 'coc': 'coc',\n 'nearcoc': 'dof_coc_blur'\n },\n 'outputs': {\n 'color': {\n 'parameters': {\n 'width': 'expr(width * 1.0)',\n 'height': 'expr(height * 1.0)',\n 'type': 'HALF_FLOAT'\n }\n }\n }\n },\n {\n 'name' : 'composite',\n 'shader' : '#source(clay.compositor.hdr.composite)',\n 'inputs' : {\n 'texture': 'source',\n 'bloom' : 'bloom_composite'\n },\n 'defines': {\n // Images are all premultiplied alpha before composite because of blending.\n // 'PREMULTIPLY_ALPHA': null,\n // 'DEBUG': 2\n }\n },\n {\n 'name' : 'FXAA',\n 'shader' : '#source(clay.compositor.fxaa)',\n 'inputs' : {\n 'texture' : 'composite'\n }\n }\n ]\n});\n\n/***/ }),\n/* 198 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export ecgl.dof.coc\\n\\nuniform sampler2D depth;\\n\\nuniform float zNear: 0.1;\\nuniform float zFar: 2000;\\n\\nuniform float focalDistance: 3;\\nuniform float focalRange: 1;\\nuniform float focalLength: 30;\\nuniform float fstop: 2.8;\\n\\nvarying vec2 v_Texcoord;\\n\\n@import clay.util.encode_float\\n\\nvoid main()\\n{\\n float z = texture2D(depth, v_Texcoord).r * 2.0 - 1.0;\\n\\n float dist = 2.0 * zNear * zFar / (zFar + zNear - z * (zFar - zNear));\\n\\n float aperture = focalLength / fstop;\\n\\n float coc;\\n\\n float uppper = focalDistance + focalRange;\\n float lower = focalDistance - focalRange;\\n if (dist <= uppper && dist >= lower) {\\n coc = 0.5;\\n }\\n else {\\n float focalAdjusted = dist > uppper ? uppper : lower;\\n\\n coc = abs(aperture * (focalLength * (dist - focalAdjusted)) / (dist * (focalAdjusted - focalLength)));\\n coc = clamp(coc, 0.0, 2.0) / 2.00001;\\n\\n if (dist < lower) {\\n coc = -coc;\\n }\\n coc = coc * 0.5 + 0.5;\\n }\\n\\n gl_FragColor = encodeFloat(coc);\\n}\\n@end\\n\\n\\n@export ecgl.dof.composite\\n\\n#define DEBUG 0\\n\\nuniform sampler2D original;\\nuniform sampler2D blurred;\\nuniform sampler2D nearfield;\\nuniform sampler2D coc;\\nuniform sampler2D nearcoc;\\nvarying vec2 v_Texcoord;\\n\\n@import clay.util.rgbm\\n@import clay.util.float\\n\\nvoid main()\\n{\\n vec4 blurredColor = texture2D(blurred, v_Texcoord);\\n vec4 originalColor = texture2D(original, v_Texcoord);\\n\\n float fCoc = decodeFloat(texture2D(coc, v_Texcoord));\\n\\n fCoc = abs(fCoc * 2.0 - 1.0);\\n\\n float weight = smoothstep(0.0, 1.0, fCoc);\\n \\n#ifdef NEARFIELD_ENABLED\\n vec4 nearfieldColor = texture2D(nearfield, v_Texcoord);\\n float fNearCoc = decodeFloat(texture2D(nearcoc, v_Texcoord));\\n fNearCoc = abs(fNearCoc * 2.0 - 1.0);\\n\\n gl_FragColor = encodeHDR(\\n mix(\\n nearfieldColor, mix(originalColor, blurredColor, weight),\\n pow(1.0 - fNearCoc, 4.0)\\n )\\n );\\n#else\\n gl_FragColor = encodeHDR(mix(originalColor, blurredColor, weight));\\n#endif\\n\\n}\\n\\n@end\\n\\n\\n\\n@export ecgl.dof.diskBlur\\n\\n#define POISSON_KERNEL_SIZE 16;\\n\\nuniform sampler2D texture;\\nuniform sampler2D coc;\\nvarying vec2 v_Texcoord;\\n\\nuniform float blurRadius : 10.0;\\nuniform vec2 textureSize : [512.0, 512.0];\\n\\nuniform vec2 poissonKernel[POISSON_KERNEL_SIZE];\\n\\nuniform float percent;\\n\\nfloat nrand(const in vec2 n) {\\n return fract(sin(dot(n.xy ,vec2(12.9898,78.233))) * 43758.5453);\\n}\\n\\n@import clay.util.rgbm\\n@import clay.util.float\\n\\n\\nvoid main()\\n{\\n vec2 offset = blurRadius / textureSize;\\n\\n float rnd = 6.28318 * nrand(v_Texcoord + 0.07 * percent );\\n float cosa = cos(rnd);\\n float sina = sin(rnd);\\n vec4 basis = vec4(cosa, -sina, sina, cosa);\\n\\n#if !defined(BLUR_NEARFIELD) && !defined(BLUR_COC)\\n offset *= abs(decodeFloat(texture2D(coc, v_Texcoord)) * 2.0 - 1.0);\\n#endif\\n\\n#ifdef BLUR_COC\\n float cocSum = 0.0;\\n#else\\n vec4 color = vec4(0.0);\\n#endif\\n\\n\\n float weightSum = 0.0;\\n\\n for (int i = 0; i < POISSON_KERNEL_SIZE; i++) {\\n vec2 ofs = poissonKernel[i];\\n\\n ofs = vec2(dot(ofs, basis.xy), dot(ofs, basis.zw));\\n\\n vec2 uv = v_Texcoord + ofs * offset;\\n vec4 texel = texture2D(texture, uv);\\n\\n float w = 1.0;\\n#ifdef BLUR_COC\\n float fCoc = decodeFloat(texel) * 2.0 - 1.0;\\n cocSum += clamp(fCoc, -1.0, 0.0) * w;\\n#else\\n texel = texel;\\n #if !defined(BLUR_NEARFIELD)\\n float fCoc = decodeFloat(texture2D(coc, uv)) * 2.0 - 1.0;\\n w *= abs(fCoc);\\n #endif\\n texel.rgb *= texel.a;\\n color += texel * w;\\n#endif\\n\\n weightSum += w;\\n }\\n\\n#ifdef BLUR_COC\\n gl_FragColor = encodeFloat(clamp(cocSum / weightSum, -1.0, 0.0) * 0.5 + 0.5);\\n#else\\n color /= weightSum;\\n color.rgb /= (color.a + 0.0001);\\n gl_FragColor = color;\\n#endif\\n}\\n\\n@end\");\n\n\n/***/ }),\n/* 199 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export ecgl.edge\\n\\nuniform sampler2D texture;\\n\\nuniform sampler2D normalTexture;\\nuniform sampler2D depthTexture;\\n\\nuniform mat4 projectionInv;\\n\\nuniform vec2 textureSize;\\n\\nuniform vec4 edgeColor: [0,0,0,0.8];\\n\\nvarying vec2 v_Texcoord;\\n\\nvec3 packColor(vec2 coord) {\\n float z = texture2D(depthTexture, coord).r * 2.0 - 1.0;\\n vec4 p = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);\\n vec4 p4 = projectionInv * p;\\n\\n return vec3(\\n texture2D(normalTexture, coord).rg,\\n -p4.z / p4.w / 5.0\\n );\\n}\\n\\nvoid main() {\\n vec2 cc = v_Texcoord;\\n vec3 center = packColor(cc);\\n\\n float size = clamp(1.0 - (center.z - 10.0) / 100.0, 0.0, 1.0) * 0.5;\\n float dx = size / textureSize.x;\\n float dy = size / textureSize.y;\\n\\n vec2 coord;\\n vec3 topLeft = packColor(cc+vec2(-dx, -dy));\\n vec3 top = packColor(cc+vec2(0.0, -dy));\\n vec3 topRight = packColor(cc+vec2(dx, -dy));\\n vec3 left = packColor(cc+vec2(-dx, 0.0));\\n vec3 right = packColor(cc+vec2(dx, 0.0));\\n vec3 bottomLeft = packColor(cc+vec2(-dx, dy));\\n vec3 bottom = packColor(cc+vec2(0.0, dy));\\n vec3 bottomRight = packColor(cc+vec2(dx, dy));\\n\\n vec3 v = -topLeft-2.0*top-topRight+bottomLeft+2.0*bottom+bottomRight;\\n vec3 h = -bottomLeft-2.0*left-topLeft+bottomRight+2.0*right+topRight;\\n\\n float edge = sqrt(dot(h, h) + dot(v, v));\\n\\n edge = smoothstep(0.8, 1.0, edge);\\n\\n gl_FragColor = mix(texture2D(texture, v_Texcoord), vec4(edgeColor.rgb, 1.0), edgeColor.a * edge);\\n}\\n@end\");\n\n\n/***/ }),\n/* 200 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__halton__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_compositor_Pass__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_claygl_src_FrameBuffer__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_claygl_src_math_Matrix4__ = __webpack_require__(9);\n// Temporal Super Sample for static Scene\n\n\n\n\n\n\n\nfunction TemporalSuperSampling (frames) {\n var haltonSequence = [];\n\n for (var i = 0; i < 30; i++) {\n haltonSequence.push([Object(__WEBPACK_IMPORTED_MODULE_0__halton__[\"a\" /* default */])(i, 2), Object(__WEBPACK_IMPORTED_MODULE_0__halton__[\"a\" /* default */])(i, 3)]);\n }\n\n this._haltonSequence = haltonSequence;\n\n this._frame = 0;\n\n this._sourceTex = new __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture2D__[\"a\" /* default */]();\n this._sourceFb = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_FrameBuffer__[\"a\" /* default */]();\n this._sourceFb.attach(this._sourceTex);\n\n // Frame texture before temporal supersampling\n this._prevFrameTex = new __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture2D__[\"a\" /* default */]();\n this._outputTex = new __WEBPACK_IMPORTED_MODULE_3_claygl_src_Texture2D__[\"a\" /* default */]();\n\n var blendPass = this._blendPass = new __WEBPACK_IMPORTED_MODULE_1_claygl_src_compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].source('clay.compositor.blend')\n });\n blendPass.material.disableTexturesAll();\n blendPass.material.enableTexture(['texture1', 'texture2']);\n\n this._blendFb = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_FrameBuffer__[\"a\" /* default */]({\n depthBuffer: false\n });\n\n this._outputPass = new __WEBPACK_IMPORTED_MODULE_1_claygl_src_compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].source('clay.compositor.output'),\n // TODO, alpha is premultiplied?\n blendWithPrevious: true\n });\n this._outputPass.material.define('fragment', 'OUTPUT_ALPHA');\n this._outputPass.material.blend = function (_gl) {\n // FIXME.\n // Output is premultiplied alpha when BLEND is enabled ?\n // http://stackoverflow.com/questions/2171085/opengl-blending-with-previous-contents-of-framebuffer\n _gl.blendEquationSeparate(_gl.FUNC_ADD, _gl.FUNC_ADD);\n _gl.blendFuncSeparate(_gl.ONE, _gl.ONE_MINUS_SRC_ALPHA, _gl.ONE, _gl.ONE_MINUS_SRC_ALPHA);\n };\n}\n\nTemporalSuperSampling.prototype = {\n\n constructor: TemporalSuperSampling,\n\n /**\n * Jitter camera projectionMatrix\n * @parma {clay.Renderer} renderer\n * @param {clay.Camera} camera\n */\n jitterProjection: function (renderer, camera) {\n var viewport = renderer.viewport;\n var dpr = viewport.devicePixelRatio || renderer.getDevicePixelRatio();\n var width = viewport.width * dpr;\n var height = viewport.height * dpr;\n\n var offset = this._haltonSequence[this._frame % this._haltonSequence.length];\n\n var translationMat = new __WEBPACK_IMPORTED_MODULE_5_claygl_src_math_Matrix4__[\"a\" /* default */]();\n translationMat.array[12] = (offset[0] * 2.0 - 1.0) / width;\n translationMat.array[13] = (offset[1] * 2.0 - 1.0) / height;\n\n __WEBPACK_IMPORTED_MODULE_5_claygl_src_math_Matrix4__[\"a\" /* default */].mul(camera.projectionMatrix, translationMat, camera.projectionMatrix);\n\n __WEBPACK_IMPORTED_MODULE_5_claygl_src_math_Matrix4__[\"a\" /* default */].invert(camera.invProjectionMatrix, camera.projectionMatrix);\n },\n\n /**\n * Reset accumulating frame\n */\n resetFrame: function () {\n this._frame = 0;\n },\n\n /**\n * Return current frame\n */\n getFrame: function () {\n return this._frame;\n },\n\n /**\n * Get source framebuffer for usage\n */\n getSourceFrameBuffer: function () {\n return this._sourceFb;\n },\n\n getOutputTexture: function () {\n return this._outputTex;\n },\n\n resize: function (width, height) {\n this._prevFrameTex.width = width;\n this._prevFrameTex.height = height;\n\n this._outputTex.width = width;\n this._outputTex.height = height;\n\n this._sourceTex.width = width;\n this._sourceTex.height = height;\n\n this._prevFrameTex.dirty();\n this._outputTex.dirty();\n this._sourceTex.dirty();\n },\n\n isFinished: function () {\n return this._frame >= this._haltonSequence.length;\n },\n\n render: function (renderer, sourceTex, notOutput) {\n var blendPass = this._blendPass;\n if (this._frame === 0) {\n // Direct output\n blendPass.setUniform('weight1', 0);\n blendPass.setUniform('weight2', 1);\n }\n else {\n blendPass.setUniform('weight1', 0.9);\n blendPass.setUniform('weight2', 0.1);\n }\n blendPass.setUniform('texture1', this._prevFrameTex);\n blendPass.setUniform('texture2', sourceTex || this._sourceTex);\n\n this._blendFb.attach(this._outputTex);\n this._blendFb.bind(renderer);\n blendPass.render(renderer);\n this._blendFb.unbind(renderer);\n\n if (!notOutput) {\n this._outputPass.setUniform('texture', this._outputTex);\n this._outputPass.render(renderer);\n }\n\n // Swap texture\n var tmp = this._prevFrameTex;\n this._prevFrameTex = this._outputTex;\n this._outputTex = tmp;\n\n this._frame++;\n },\n\n dispose: function (renderer) {\n this._sourceFb.dispose(renderer);\n this._blendFb.dispose(renderer);\n this._prevFrameTex.dispose(renderer);\n this._outputTex.dispose(renderer);\n this._sourceTex.dispose(renderer);\n this._outputPass.dispose(renderer);\n this._blendPass.dispose(renderer);\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (TemporalSuperSampling);\n\n/***/ }),\n/* 201 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__geo3D_Geo3DModel__ = __webpack_require__(202);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__geo3D_Geo3DView__ = __webpack_require__(203);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__coord_geo3DCreator__ = __webpack_require__(98);\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerAction({\n type: 'geo3DChangeCamera',\n event: 'geo3dcamerachanged',\n update: 'series:updateCamera'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'geo3D', query: payload\n }, function (componentModel) {\n componentModel.setView(payload);\n });\n});\n\n/***/ }),\n/* 202 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_componentViewControlMixin__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_componentPostEffectMixin__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common_componentLightMixin__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_componentShadingMixin__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__coord_geo3D_geo3DModelMixin__ = __webpack_require__(96);\n\n\n\n\n\n\n\nvar Geo3DModel = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendComponentModel({\n\n type: 'geo3D',\n\n layoutMode: 'box',\n\n coordinateSystem: null,\n\n optionUpdated: function () {\n var option = this.option;\n\n option.regions = this.getFilledRegions(option.regions, option.map);\n\n var dimensions = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.helper.completeDimensions(['value'], option.data, {\n encodeDef: this.get('encode'),\n dimsDef: this.get('dimensions')\n });\n var list = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.List(dimensions, this);\n list.initData(option.regions);\n\n var regionModelMap = {};\n list.each(function (idx) {\n var name = list.getName(idx);\n var itemModel = list.getItemModel(idx);\n regionModelMap[name] = itemModel;\n });\n\n this._regionModelMap = regionModelMap;\n\n this._data = list;\n },\n\n getData: function () {\n return this._data;\n },\n\n getRegionModel: function (idx) {\n var name = this.getData().getName(idx);\n return this._regionModelMap[name] || new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.Model(null, this);\n },\n\n getRegionPolygonCoords: function (idx) {\n var name = this.getData().getName(idx);\n var region = this.coordinateSystem.getRegion(name);\n\n return region ? region.geometries : [];\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 (dataIndex, status) {\n var name = this._data.getName(dataIndex);\n var regionModel = this.getRegionModel(name);\n var formatter = regionModel.get(status === 'normal' ? ['label', 'formatter'] : ['emphasis', 'label', 'formatter']);\n if (formatter == null) {\n formatter = regionModel.get(['label', 'formatter']);\n }\n var params = {\n name: name\n };\n if (typeof formatter === 'function') {\n params.status = status;\n return formatter(params);\n }\n else if (typeof formatter === 'string') {\n var serName = params.seriesName;\n return formatter.replace('{a}', serName != null ? serName : '');\n }\n else {\n return name;\n }\n },\n\n defaultOption: {\n\n // itemStyle: {},\n // height,\n // label: {}\n // realisticMaterial\n regions: []\n }\n});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Geo3DModel.prototype, __WEBPACK_IMPORTED_MODULE_5__coord_geo3D_geo3DModelMixin__[\"a\" /* default */]);\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Geo3DModel.prototype, __WEBPACK_IMPORTED_MODULE_1__common_componentViewControlMixin__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Geo3DModel.prototype, __WEBPACK_IMPORTED_MODULE_2__common_componentPostEffectMixin__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Geo3DModel.prototype, __WEBPACK_IMPORTED_MODULE_3__common_componentLightMixin__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Geo3DModel.prototype, __WEBPACK_IMPORTED_MODULE_4__common_componentShadingMixin__[\"a\" /* default */]);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (Geo3DModel);\n\n/***/ }),\n/* 203 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_Geo3DBuilder__ = __webpack_require__(64);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_OrbitControl__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_SceneHelper__ = __webpack_require__(30);\n\n\n\n\n\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default.a.extendComponentView({\n\n type: 'geo3D',\n\n __ecgl__: true,\n\n init: function (ecModel, api) {\n\n this._geo3DBuilder = new __WEBPACK_IMPORTED_MODULE_0__common_Geo3DBuilder__[\"a\" /* default */](api);\n this.groupGL = new __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].Node();\n\n this._lightRoot = new __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].Node();\n this._sceneHelper = new __WEBPACK_IMPORTED_MODULE_4__common_SceneHelper__[\"a\" /* default */](this._lightRoot);\n this._sceneHelper.initLight(this._lightRoot);\n\n this._control = new __WEBPACK_IMPORTED_MODULE_3__util_OrbitControl__[\"a\" /* default */]({\n zr: api.getZr()\n });\n this._control.init();\n },\n\n render: function (geo3DModel, ecModel, api) {\n this.groupGL.add(this._geo3DBuilder.rootNode);\n\n var geo3D = geo3DModel.coordinateSystem;\n\n if (!geo3D || !geo3D.viewGL) {\n return;\n }\n\n // Always have light.\n geo3D.viewGL.add(this._lightRoot);\n\n if (geo3DModel.get('show')) {\n geo3D.viewGL.add(this.groupGL);\n }\n else {\n geo3D.viewGL.remove(this.groupGL);\n }\n\n var control = this._control;\n control.setViewGL(geo3D.viewGL);\n\n var viewControlModel = geo3DModel.getModel('viewControl');\n control.setFromViewControlModel(viewControlModel, 0);\n\n this._sceneHelper.setScene(geo3D.viewGL.scene);\n this._sceneHelper.updateLight(geo3DModel);\n\n // Set post effect\n geo3D.viewGL.setPostEffect(geo3DModel.getModel('postEffect'), api);\n geo3D.viewGL.setTemporalSuperSampling(geo3DModel.getModel('temporalSuperSampling'));\n\n // Must update after geo3D.viewGL.setPostEffect\n this._geo3DBuilder.update(geo3DModel, ecModel, api, 0, geo3DModel.getData().count());\n var srgbDefineMethod = geo3D.viewGL.isLinearSpace() ? 'define' : 'undefine';\n this._geo3DBuilder.rootNode.traverse(function (mesh) {\n if (mesh.material) {\n mesh.material[srgbDefineMethod]('fragment', 'SRGB_DECODE');\n }\n });\n\n control.off('update');\n control.on('update', function () {\n api.dispatchAction({\n type: 'geo3DChangeCamera',\n alpha: control.getAlpha(),\n beta: control.getBeta(),\n distance: control.getDistance(),\n center: control.getCenter(),\n from: this.uid,\n geo3DId: geo3DModel.id\n });\n });\n control.update();\n },\n\n afterRender: function (geo3DModel, ecModel, api, layerGL) {\n var renderer = layerGL.renderer;\n this._sceneHelper.updateAmbientCubemap(renderer, geo3DModel, api);\n\n this._sceneHelper.updateSkybox(renderer, geo3DModel, api);\n },\n\n dispose: function () {\n this._control.dispose();\n }\n}));\n\n/***/ }),\n/* 204 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// https://github.com/mapbox/earcut/blob/master/src/earcut.js\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (earcut);\n\nfunction earcut(data, holeIndices, dim) {\n\n dim = dim || 2;\n\n var hasHoles = holeIndices && holeIndices.length,\n outerLen = hasHoles ? holeIndices[0] * dim : data.length,\n outerNode = linkedList(data, 0, outerLen, dim, true),\n triangles = [];\n\n if (!outerNode) return triangles;\n\n var minX, minY, maxX, maxY, x, y, size;\n\n if (hasHoles) outerNode = eliminateHoles(data, holeIndices, outerNode, dim);\n\n // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox\n if (data.length > 80 * dim) {\n minX = maxX = data[0];\n minY = maxY = data[1];\n\n for (var i = dim; i < outerLen; i += dim) {\n x = data[i];\n y = data[i + 1];\n if (x < minX) minX = x;\n if (y < minY) minY = y;\n if (x > maxX) maxX = x;\n if (y > maxY) maxY = y;\n }\n\n // minX, minY and size are later used to transform coords into integers for z-order calculation\n size = Math.max(maxX - minX, maxY - minY);\n }\n\n earcutLinked(outerNode, triangles, dim, minX, minY, size);\n\n return triangles;\n}\n\n// create a circular doubly linked list from polygon points in the specified winding order\nfunction linkedList(data, start, end, dim, clockwise) {\n var i, last;\n\n if (clockwise === (signedArea(data, start, end, dim) > 0)) {\n for (i = start; i < end; i += dim) last = insertNode(i, data[i], data[i + 1], last);\n } else {\n for (i = end - dim; i >= start; i -= dim) last = insertNode(i, data[i], data[i + 1], last);\n }\n\n if (last && equals(last, last.next)) {\n removeNode(last);\n last = last.next;\n }\n\n return last;\n}\n\n// eliminate colinear or duplicate points\nfunction filterPoints(start, end) {\n if (!start) return start;\n if (!end) end = start;\n\n var p = start,\n again;\n do {\n again = false;\n\n if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) {\n removeNode(p);\n p = end = p.prev;\n if (p === p.next) return null;\n again = true;\n\n } else {\n p = p.next;\n }\n } while (again || p !== end);\n\n return end;\n}\n\n// main ear slicing loop which triangulates a polygon (given as a linked list)\nfunction earcutLinked(ear, triangles, dim, minX, minY, size, pass) {\n if (!ear) return;\n\n // interlink polygon nodes in z-order\n if (!pass && size) indexCurve(ear, minX, minY, size);\n\n var stop = ear,\n prev, next;\n\n // iterate through ears, slicing them one by one\n while (ear.prev !== ear.next) {\n prev = ear.prev;\n next = ear.next;\n\n if (size ? isEarHashed(ear, minX, minY, size) : isEar(ear)) {\n // cut off the triangle\n triangles.push(prev.i / dim);\n triangles.push(ear.i / dim);\n triangles.push(next.i / dim);\n\n removeNode(ear);\n\n // skipping the next vertice leads to less sliver triangles\n ear = next.next;\n stop = next.next;\n\n continue;\n }\n\n ear = next;\n\n // if we looped through the whole remaining polygon and can't find any more ears\n if (ear === stop) {\n // try filtering points and slicing again\n if (!pass) {\n earcutLinked(filterPoints(ear), triangles, dim, minX, minY, size, 1);\n\n // if this didn't work, try curing all small self-intersections locally\n } else if (pass === 1) {\n ear = cureLocalIntersections(ear, triangles, dim);\n earcutLinked(ear, triangles, dim, minX, minY, size, 2);\n\n // as a last resort, try splitting the remaining polygon into two\n } else if (pass === 2) {\n splitEarcut(ear, triangles, dim, minX, minY, size);\n }\n\n break;\n }\n }\n}\n\n// check whether a polygon node forms a valid ear with adjacent nodes\nfunction isEar(ear) {\n var a = ear.prev,\n b = ear,\n c = ear.next;\n\n if (area(a, b, c) >= 0) return false; // reflex, can't be an ear\n\n // now make sure we don't have other points inside the potential ear\n var p = ear.next.next;\n\n while (p !== ear.prev) {\n if (pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&\n area(p.prev, p, p.next) >= 0) return false;\n p = p.next;\n }\n\n return true;\n}\n\nfunction isEarHashed(ear, minX, minY, size) {\n var a = ear.prev,\n b = ear,\n c = ear.next;\n\n if (area(a, b, c) >= 0) return false; // reflex, can't be an ear\n\n // triangle bbox; min & max are calculated like this for speed\n var minTX = a.x < b.x ? (a.x < c.x ? a.x : c.x) : (b.x < c.x ? b.x : c.x),\n minTY = a.y < b.y ? (a.y < c.y ? a.y : c.y) : (b.y < c.y ? b.y : c.y),\n maxTX = a.x > b.x ? (a.x > c.x ? a.x : c.x) : (b.x > c.x ? b.x : c.x),\n maxTY = a.y > b.y ? (a.y > c.y ? a.y : c.y) : (b.y > c.y ? b.y : c.y);\n\n // z-order range for the current triangle bbox;\n var minZ = zOrder(minTX, minTY, minX, minY, size),\n maxZ = zOrder(maxTX, maxTY, minX, minY, size);\n\n // first look for points inside the triangle in increasing z-order\n var p = ear.nextZ;\n\n while (p && p.z <= maxZ) {\n if (p !== ear.prev && p !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&\n area(p.prev, p, p.next) >= 0) return false;\n p = p.nextZ;\n }\n\n // then look for points in decreasing z-order\n p = ear.prevZ;\n\n while (p && p.z >= minZ) {\n if (p !== ear.prev && p !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&\n area(p.prev, p, p.next) >= 0) return false;\n p = p.prevZ;\n }\n\n return true;\n}\n\n// go through all polygon nodes and cure small local self-intersections\nfunction cureLocalIntersections(start, triangles, dim) {\n var p = start;\n do {\n var a = p.prev,\n b = p.next.next;\n\n if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) {\n\n triangles.push(a.i / dim);\n triangles.push(p.i / dim);\n triangles.push(b.i / dim);\n\n // remove two nodes involved\n removeNode(p);\n removeNode(p.next);\n\n p = start = b;\n }\n p = p.next;\n } while (p !== start);\n\n return p;\n}\n\n// try splitting polygon into two and triangulate them independently\nfunction splitEarcut(start, triangles, dim, minX, minY, size) {\n // look for a valid diagonal that divides the polygon into two\n var a = start;\n do {\n var b = a.next.next;\n while (b !== a.prev) {\n if (a.i !== b.i && isValidDiagonal(a, b)) {\n // split the polygon in two by the diagonal\n var c = splitPolygon(a, b);\n\n // filter colinear points around the cuts\n a = filterPoints(a, a.next);\n c = filterPoints(c, c.next);\n\n // run earcut on each half\n earcutLinked(a, triangles, dim, minX, minY, size);\n earcutLinked(c, triangles, dim, minX, minY, size);\n return;\n }\n b = b.next;\n }\n a = a.next;\n } while (a !== start);\n}\n\n// link every hole into the outer loop, producing a single-ring polygon without holes\nfunction eliminateHoles(data, holeIndices, outerNode, dim) {\n var queue = [],\n i, len, start, end, list;\n\n for (i = 0, len = holeIndices.length; i < len; i++) {\n start = holeIndices[i] * dim;\n end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;\n list = linkedList(data, start, end, dim, false);\n if (list === list.next) list.steiner = true;\n queue.push(getLeftmost(list));\n }\n\n queue.sort(compareX);\n\n // process holes from left to right\n for (i = 0; i < queue.length; i++) {\n eliminateHole(queue[i], outerNode);\n outerNode = filterPoints(outerNode, outerNode.next);\n }\n\n return outerNode;\n}\n\nfunction compareX(a, b) {\n return a.x - b.x;\n}\n\n// find a bridge between vertices that connects hole with an outer ring and and link it\nfunction eliminateHole(hole, outerNode) {\n outerNode = findHoleBridge(hole, outerNode);\n if (outerNode) {\n var b = splitPolygon(outerNode, hole);\n filterPoints(b, b.next);\n }\n}\n\n// David Eberly's algorithm for finding a bridge between hole and outer polygon\nfunction findHoleBridge(hole, outerNode) {\n var p = outerNode,\n hx = hole.x,\n hy = hole.y,\n qx = -Infinity,\n m;\n\n // find a segment intersected by a ray from the hole's leftmost point to the left;\n // segment's endpoint with lesser x will be potential connection point\n do {\n if (hy <= p.y && hy >= p.next.y && p.next.y !== p.y) {\n var x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y);\n if (x <= hx && x > qx) {\n qx = x;\n if (x === hx) {\n if (hy === p.y) return p;\n if (hy === p.next.y) return p.next;\n }\n m = p.x < p.next.x ? p : p.next;\n }\n }\n p = p.next;\n } while (p !== outerNode);\n\n if (!m) return null;\n\n if (hx === qx) return m.prev; // hole touches outer segment; pick lower endpoint\n\n // look for points inside the triangle of hole point, segment intersection and endpoint;\n // if there are no points found, we have a valid connection;\n // otherwise choose the point of the minimum angle with the ray as connection point\n\n var stop = m,\n mx = m.x,\n my = m.y,\n tanMin = Infinity,\n tan;\n\n p = m.next;\n\n while (p !== stop) {\n if (hx >= p.x && p.x >= mx && hx !== p.x &&\n pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) {\n\n tan = Math.abs(hy - p.y) / (hx - p.x); // tangential\n\n if ((tan < tanMin || (tan === tanMin && p.x > m.x)) && locallyInside(p, hole)) {\n m = p;\n tanMin = tan;\n }\n }\n\n p = p.next;\n }\n\n return m;\n}\n\n// interlink polygon nodes in z-order\nfunction indexCurve(start, minX, minY, size) {\n var p = start;\n do {\n if (p.z === null) p.z = zOrder(p.x, p.y, minX, minY, size);\n p.prevZ = p.prev;\n p.nextZ = p.next;\n p = p.next;\n } while (p !== start);\n\n p.prevZ.nextZ = null;\n p.prevZ = null;\n\n sortLinked(p);\n}\n\n// Simon Tatham's linked list merge sort algorithm\n// http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html\nfunction sortLinked(list) {\n var i, p, q, e, tail, numMerges, pSize, qSize,\n inSize = 1;\n\n do {\n p = list;\n list = null;\n tail = null;\n numMerges = 0;\n\n while (p) {\n numMerges++;\n q = p;\n pSize = 0;\n for (i = 0; i < inSize; i++) {\n pSize++;\n q = q.nextZ;\n if (!q) break;\n }\n qSize = inSize;\n\n while (pSize > 0 || (qSize > 0 && q)) {\n\n if (pSize !== 0 && (qSize === 0 || !q || p.z <= q.z)) {\n e = p;\n p = p.nextZ;\n pSize--;\n } else {\n e = q;\n q = q.nextZ;\n qSize--;\n }\n\n if (tail) tail.nextZ = e;\n else list = e;\n\n e.prevZ = tail;\n tail = e;\n }\n\n p = q;\n }\n\n tail.nextZ = null;\n inSize *= 2;\n\n } while (numMerges > 1);\n\n return list;\n}\n\n// z-order of a point given coords and size of the data bounding box\nfunction zOrder(x, y, minX, minY, size) {\n // coords are transformed into non-negative 15-bit integer range\n x = 32767 * (x - minX) / size;\n y = 32767 * (y - minY) / size;\n\n x = (x | (x << 8)) & 0x00FF00FF;\n x = (x | (x << 4)) & 0x0F0F0F0F;\n x = (x | (x << 2)) & 0x33333333;\n x = (x | (x << 1)) & 0x55555555;\n\n y = (y | (y << 8)) & 0x00FF00FF;\n y = (y | (y << 4)) & 0x0F0F0F0F;\n y = (y | (y << 2)) & 0x33333333;\n y = (y | (y << 1)) & 0x55555555;\n\n return x | (y << 1);\n}\n\n// find the leftmost node of a polygon ring\nfunction getLeftmost(start) {\n var p = start,\n leftmost = start;\n do {\n if (p.x < leftmost.x) leftmost = p;\n p = p.next;\n } while (p !== start);\n\n return leftmost;\n}\n\n// check if a point lies within a convex triangle\nfunction pointInTriangle(ax, ay, bx, by, cx, cy, px, py) {\n return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 &&\n (ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 &&\n (bx - px) * (cy - py) - (cx - px) * (by - py) >= 0;\n}\n\n// check if a diagonal between two polygon nodes is valid (lies in polygon interior)\nfunction isValidDiagonal(a, b) {\n return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) &&\n locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b);\n}\n\n// signed area of a triangle\nfunction area(p, q, r) {\n return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);\n}\n\n// check if two points are equal\nfunction equals(p1, p2) {\n return p1.x === p2.x && p1.y === p2.y;\n}\n\n// check if two segments intersect\nfunction intersects(p1, q1, p2, q2) {\n if ((equals(p1, q1) && equals(p2, q2)) ||\n (equals(p1, q2) && equals(p2, q1))) return true;\n return area(p1, q1, p2) > 0 !== area(p1, q1, q2) > 0 &&\n area(p2, q2, p1) > 0 !== area(p2, q2, q1) > 0;\n}\n\n// check if a polygon diagonal intersects any polygon segments\nfunction intersectsPolygon(a, b) {\n var p = a;\n do {\n if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i &&\n intersects(p, p.next, a, b)) return true;\n p = p.next;\n } while (p !== a);\n\n return false;\n}\n\n// check if a polygon diagonal is locally inside the polygon\nfunction locallyInside(a, b) {\n return area(a.prev, a, a.next) < 0 ?\n area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 :\n area(a, b, a.prev) < 0 || area(a, a.next, b) < 0;\n}\n\n// check if the middle point of a polygon diagonal is inside the polygon\nfunction middleInside(a, b) {\n var p = a,\n inside = false,\n px = (a.x + b.x) / 2,\n py = (a.y + b.y) / 2;\n do {\n if (((p.y > py) !== (p.next.y > py)) && p.next.y !== p.y &&\n (px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x))\n inside = !inside;\n p = p.next;\n } while (p !== a);\n\n return inside;\n}\n\n// link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two;\n// if one belongs to the outer ring and another to a hole, it merges it into a single ring\nfunction splitPolygon(a, b) {\n var a2 = new Node(a.i, a.x, a.y),\n b2 = new Node(b.i, b.x, b.y),\n an = a.next,\n bp = b.prev;\n\n a.next = b;\n b.prev = a;\n\n a2.next = an;\n an.prev = a2;\n\n b2.next = a2;\n a2.prev = b2;\n\n bp.next = b2;\n b2.prev = bp;\n\n return b2;\n}\n\n// create a node and optionally link it with previous one (in a circular doubly linked list)\nfunction insertNode(i, x, y, last) {\n var p = new Node(i, x, y);\n\n if (!last) {\n p.prev = p;\n p.next = p;\n\n } else {\n p.next = last.next;\n p.prev = last;\n last.next.prev = p;\n last.next = p;\n }\n return p;\n}\n\nfunction removeNode(p) {\n p.next.prev = p.prev;\n p.prev.next = p.next;\n\n if (p.prevZ) p.prevZ.nextZ = p.nextZ;\n if (p.nextZ) p.nextZ.prevZ = p.prevZ;\n}\n\nfunction Node(i, x, y) {\n // vertice index in coordinates array\n this.i = i;\n\n // vertex coordinates\n this.x = x;\n this.y = y;\n\n // previous and next vertice nodes in a polygon ring\n this.prev = null;\n this.next = null;\n\n // z-order curve value\n this.z = null;\n\n // previous and next nodes in z-order\n this.prevZ = null;\n this.nextZ = null;\n\n // indicates whether this is a steiner point\n this.steiner = false;\n}\n\n// return a percentage difference between the polygon area and its triangulation area;\n// used to verify correctness of triangulation\nearcut.deviation = function (data, holeIndices, dim, triangles) {\n var hasHoles = holeIndices && holeIndices.length;\n var outerLen = hasHoles ? holeIndices[0] * dim : data.length;\n\n var polygonArea = Math.abs(signedArea(data, 0, outerLen, dim));\n if (hasHoles) {\n for (var i = 0, len = holeIndices.length; i < len; i++) {\n var start = holeIndices[i] * dim;\n var end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;\n polygonArea -= Math.abs(signedArea(data, start, end, dim));\n }\n }\n\n var trianglesArea = 0;\n for (i = 0; i < triangles.length; i += 3) {\n var a = triangles[i] * dim;\n var b = triangles[i + 1] * dim;\n var c = triangles[i + 2] * dim;\n trianglesArea += Math.abs(\n (data[a] - data[c]) * (data[b + 1] - data[a + 1]) -\n (data[a] - data[b]) * (data[c + 1] - data[a + 1]));\n }\n\n return polygonArea === 0 && trianglesArea === 0 ? 0 :\n Math.abs((trianglesArea - polygonArea) / polygonArea);\n};\n\nfunction signedArea(data, start, end, dim) {\n var sum = 0;\n for (var i = start, j = end - dim; i < end; i += dim) {\n sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);\n j = i;\n }\n return sum;\n}\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar zrUtil = __webpack_require__(13);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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(geo) {\n zrUtil.each(geo.regions, function (region) {\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/* 206 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar zrUtil = __webpack_require__(13);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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(geo) {\n zrUtil.each(geo.regions, function (region) {\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/* 207 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__globe_GlobeModel__ = __webpack_require__(208);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__globe_GlobeView__ = __webpack_require__(209);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__coord_globeCreator__ = __webpack_require__(211);\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerAction({\n type: 'globeChangeCamera',\n event: 'globecamerachanged',\n update: 'series:updateCamera'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'globe', query: payload\n }, function (componentModel) {\n componentModel.setView(payload);\n });\n});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerAction({\n type: 'globeUpdateDisplacment',\n event: 'globedisplacementupdated',\n update: 'update'\n}, function (payload, ecModel) {\n // Noop\n});\n\n/***/ }),\n/* 208 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_componentViewControlMixin__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_componentPostEffectMixin__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common_componentLightMixin__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_componentShadingMixin__ = __webpack_require__(31);\n\n\n\n\n\n\n\nfunction defaultId(option, idx) {\n option.id = option.id || option.name || (idx + '');\n}\nvar GlobeModel = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendComponentModel({\n\n type: 'globe',\n\n layoutMode: 'box',\n\n coordinateSystem: null,\n\n init: function () {\n GlobeModel.superApply(this, 'init', arguments);\n\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.each(this.option.layers, function (layerOption, idx) {\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(layerOption, this.defaultLayerOption);\n defaultId(layerOption, idx);\n }, this);\n },\n\n mergeOption: function (option) {\n // TODO test\n var oldLayers = this.option.layers;\n this.option.layers = null;\n GlobeModel.superApply(this, 'mergeOption', arguments);\n\n function createLayerMap(layers) {\n return __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.reduce(layers, function (obj, layerOption, idx) {\n defaultId(layerOption, idx);\n obj[layerOption.id] = layerOption;\n return obj;\n }, {});\n }\n if (oldLayers && oldLayers.length) {\n var newLayerMap = createLayerMap(option.layers);\n var oldLayerMap = createLayerMap(oldLayers);\n for (var id in newLayerMap) {\n if (oldLayerMap[id]) {\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(oldLayerMap[id], newLayerMap[id], true);\n }\n else {\n oldLayers.push(option.layers[id]);\n }\n }\n // Copy back\n this.option.layers = oldLayers;\n }\n // else overwrite\n\n // Set default\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.each(this.option.layers, function (layerOption) {\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(layerOption, this.defaultLayerOption);\n }, this);\n },\n\n optionUpdated: function () {\n this.updateDisplacementHash();\n },\n\n defaultLayerOption: {\n show: true,\n type: 'overlay'\n },\n\n defaultOption: {\n\n show: true,\n\n zlevel: -10,\n\n // Layout used for viewport\n left: 0,\n top: 0,\n width: '100%',\n height: '100%',\n\n environment: 'auto',\n\n baseColor: '#fff',\n\n // Base albedo texture\n baseTexture: '',\n\n // Height texture for bump mapping and vertex displacement\n heightTexture: '',\n\n // Texture for vertex displacement, default use heightTexture\n displacementTexture: '',\n // Scale of vertex displacement, available only if displacementTexture is set.\n displacementScale: 0,\n\n // Detail of displacement. 'low', 'medium', 'high', 'ultra'\n displacementQuality: 'medium',\n\n // Globe radius\n globeRadius: 100,\n\n // Globe outer radius. Which is max of altitude.\n globeOuterRadius: 150,\n\n // Shading of globe\n shading: 'lambert',\n\n // Extend light\n light: {\n // Main sun light\n main: {\n // Time, default it will use system time\n time: ''\n }\n },\n\n // light\n // postEffect\n // temporalSuperSampling\n\n viewControl: {\n autoRotate: true,\n\n panSensitivity: 0,\n\n targetCoord: null\n },\n\n\n // {\n // show: true,\n // name: 'cloud',\n // type: 'overlay',\n // shading: 'lambert',\n // distance: 10,\n // texture: ''\n // }\n // {\n // type: 'blend',\n // blendTo: 'albedo'\n // blendType: 'source-over'\n // }\n\n layers: []\n },\n\n setDisplacementData: function (data, width, height) {\n this.displacementData = data;\n this.displacementWidth = width;\n this.displacementHeight = height;\n },\n\n getDisplacementTexture: function () {\n return this.get('displacementTexture') || this.get('heightTexture');\n },\n\n getDisplacemenScale: function () {\n var displacementTexture = this.getDisplacementTexture();\n var displacementScale = this.get('displacementScale');\n if (!displacementTexture || displacementTexture === 'none') {\n displacementScale = 0;\n }\n return displacementScale;\n },\n\n hasDisplacement: function () {\n return this.getDisplacemenScale() > 0;\n },\n\n _displacementChanged: true,\n\n _displacementScale: 0,\n\n updateDisplacementHash: function () {\n var displacementTexture = this.getDisplacementTexture();\n var displacementScale = this.getDisplacemenScale();\n\n this._displacementChanged =\n this._displacementTexture !== displacementTexture\n || this._displacementScale !== displacementScale;\n\n this._displacementTexture = displacementTexture;\n this._displacementScale = displacementScale;\n },\n\n isDisplacementChanged: function () {\n return this._displacementChanged;\n }\n});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(GlobeModel.prototype, __WEBPACK_IMPORTED_MODULE_1__common_componentViewControlMixin__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(GlobeModel.prototype, __WEBPACK_IMPORTED_MODULE_2__common_componentPostEffectMixin__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(GlobeModel.prototype, __WEBPACK_IMPORTED_MODULE_3__common_componentLightMixin__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(GlobeModel.prototype, __WEBPACK_IMPORTED_MODULE_4__common_componentShadingMixin__[\"a\" /* default */]);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (GlobeModel);\n\n/***/ }),\n/* 209 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_OrbitControl__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common_SceneHelper__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_sunCalc__ = __webpack_require__(210);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_retrieve__ = __webpack_require__(2);\n\n\n\n\n\n\n\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendComponentView({\n\n type: 'globe',\n\n __ecgl__: true,\n\n _displacementScale: 0,\n\n init: function (ecModel, api) {\n this.groupGL = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n\n /**\n * @type {clay.geometry.Sphere}\n * @private\n */\n this._sphereGeometry = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].SphereGeometry({\n widthSegments: 200,\n heightSegments: 100,\n dynamic: true\n });\n this._overlayGeometry = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].SphereGeometry({\n widthSegments: 80,\n heightSegments: 40\n });\n\n /**\n * @type {clay.geometry.Plane}\n */\n this._planeGeometry = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].PlaneGeometry();\n\n /**\n * @type {clay.geometry.Mesh}\n */\n this._earthMesh = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n renderNormal: true\n });\n\n this._lightRoot = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n this._sceneHelper = new __WEBPACK_IMPORTED_MODULE_3__common_SceneHelper__[\"a\" /* default */]();\n this._sceneHelper.initLight(this._lightRoot);\n\n this.groupGL.add(this._earthMesh);\n\n this._control = new __WEBPACK_IMPORTED_MODULE_2__util_OrbitControl__[\"a\" /* default */]({\n zr: api.getZr()\n });\n\n this._control.init();\n\n this._layerMeshes = {};\n },\n\n render: function (globeModel, ecModel, api) {\n var coordSys = globeModel.coordinateSystem;\n var shading = globeModel.get('shading');\n\n // Always have light.\n coordSys.viewGL.add(this._lightRoot);\n\n if (globeModel.get('show')) {\n // Add self to scene;\n coordSys.viewGL.add(this.groupGL);\n }\n else {\n coordSys.viewGL.remove(this.groupGL);\n }\n\n this._sceneHelper.setScene(coordSys.viewGL.scene);\n\n // Set post effect\n coordSys.viewGL.setPostEffect(globeModel.getModel('postEffect'), api);\n coordSys.viewGL.setTemporalSuperSampling(globeModel.getModel('temporalSuperSampling'));\n\n var earthMesh = this._earthMesh;\n\n earthMesh.geometry = this._sphereGeometry;\n\n var shadingPrefix = 'ecgl.' + shading;\n if (!earthMesh.material || earthMesh.material.shader.name !== shadingPrefix) {\n earthMesh.material = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createMaterial(shadingPrefix);\n }\n\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].setMaterialFromModel(\n shading, earthMesh.material, globeModel, api\n );\n ['roughnessMap', 'metalnessMap', 'detailMap', 'normalMap'].forEach(function (texName) {\n var texture = earthMesh.material.get(texName);\n if (texture) {\n texture.flipY = false;\n }\n })\n\n earthMesh.material.set('color', __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(\n globeModel.get('baseColor')\n ));\n\n // shrink a little\n var scale = coordSys.radius * 0.99;\n earthMesh.scale.set(scale, scale, scale);\n\n var diffuseTexture = earthMesh.material.setTextureImage('diffuseMap', globeModel.get('baseTexture'), api, {\n flipY: false,\n anisotropic: 8\n });\n if (diffuseTexture && diffuseTexture.surface) {\n diffuseTexture.surface.attachToMesh(earthMesh);\n }\n\n // Update bump map\n var bumpTexture = earthMesh.material.setTextureImage('bumpMap', globeModel.get('heightTexture'), api, {\n flipY: false,\n anisotropic: 8\n });\n if (bumpTexture && bumpTexture.surface) {\n bumpTexture.surface.attachToMesh(earthMesh);\n }\n\n earthMesh.material[globeModel.get('postEffect.enable') ? 'define' : 'undefine']('fragment', 'SRGB_DECODE');\n\n this._updateLight(globeModel, api);\n\n this._displaceVertices(globeModel, api);\n\n this._updateViewControl(globeModel, api);\n\n this._updateLayers(globeModel, api);\n },\n\n afterRender: function (globeModel, ecModel, api, layerGL) {\n // Create ambient cubemap after render because we need to know the renderer.\n // TODO\n var renderer = layerGL.renderer;\n\n this._sceneHelper.updateAmbientCubemap(renderer, globeModel, api);\n\n this._sceneHelper.updateSkybox(renderer, globeModel, api);\n },\n\n\n _updateLayers: function (globeModel, api) {\n var coordSys = globeModel.coordinateSystem;\n var layers = globeModel.get('layers');\n\n var lastDistance = coordSys.radius;\n var layerDiffuseTextures = [];\n var layerDiffuseIntensity = [];\n\n var layerEmissiveTextures = [];\n var layerEmissionIntensity = [];\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.each(layers, function (layerOption) {\n var layerModel = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.Model(layerOption);\n var layerType = layerModel.get('type');\n\n var texture = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].loadTexture(layerModel.get('texture'), api, {\n flipY: false,\n anisotropic: 8\n });\n if (texture.surface) {\n texture.surface.attachToMesh(this._earthMesh);\n }\n\n if (layerType === 'blend') {\n var blendTo = layerModel.get('blendTo');\n var intensity = __WEBPACK_IMPORTED_MODULE_5__util_retrieve__[\"a\" /* default */].firstNotNull(layerModel.get('intensity'), 1.0);\n if (blendTo === 'emission') {\n layerEmissiveTextures.push(texture);\n layerEmissionIntensity.push(intensity);\n }\n else { // Default is albedo\n layerDiffuseTextures.push(texture);\n layerDiffuseIntensity.push(intensity);\n }\n }\n else { // Default use overlay\n var id = layerModel.get('id');\n var overlayMesh = this._layerMeshes[id];\n if (!overlayMesh) {\n overlayMesh = this._layerMeshes[id] = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n geometry: this._overlayGeometry,\n castShadow: false,\n ignorePicking: true\n });\n }\n var shading = layerModel.get('shading');\n\n if (shading === 'lambert') {\n overlayMesh.material = overlayMesh.__lambertMaterial || new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Material({\n autoUpdateTextureStatus: false,\n shader: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createShader('ecgl.lambert'),\n transparent: true,\n depthMask: false\n });\n overlayMesh.__lambertMaterial = overlayMesh.material;\n }\n else { // color\n overlayMesh.material = overlayMesh.__colorMaterial || new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Material({\n autoUpdateTextureStatus: false,\n shader: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createShader('ecgl.color'),\n transparent: true,\n depthMask: false\n });\n overlayMesh.__colorMaterial = overlayMesh.material;\n }\n // overlay should be transparent if texture is not loaded yet.\n overlayMesh.material.enableTexture('diffuseMap');\n\n var distance = layerModel.get('distance');\n // Based on distance of last layer\n var radius = lastDistance + (distance == null ? coordSys.radius / 100 : distance);\n overlayMesh.scale.set(radius, radius, radius);\n\n lastDistance = radius;\n\n // FIXME Exists blink.\n var blankTexture = this._blankTexture || (this._blankTexture = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createBlankTexture('rgba(255, 255, 255, 0)'));\n overlayMesh.material.set('diffuseMap', blankTexture);\n\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].loadTexture(layerModel.get('texture'), api, {\n flipY: false,\n anisotropic: 8\n }, function (texture) {\n if (texture.surface) {\n texture.surface.attachToMesh(overlayMesh);\n }\n overlayMesh.material.set('diffuseMap', texture);\n api.getZr().refresh();\n });\n\n layerModel.get('show') ? this.groupGL.add(overlayMesh) : this.groupGL.remove(overlayMesh);\n }\n }, this);\n\n var earthMaterial = this._earthMesh.material;\n earthMaterial.define('fragment', 'LAYER_DIFFUSEMAP_COUNT', layerDiffuseTextures.length);\n earthMaterial.define('fragment', 'LAYER_EMISSIVEMAP_COUNT', layerEmissiveTextures.length);\n\n earthMaterial.set('layerDiffuseMap', layerDiffuseTextures);\n earthMaterial.set('layerDiffuseIntensity', layerDiffuseIntensity);\n earthMaterial.set('layerEmissiveMap', layerEmissiveTextures);\n earthMaterial.set('layerEmissionIntensity', layerEmissionIntensity);\n\n var debugWireframeModel = globeModel.getModel('debug.wireframe');\n if (debugWireframeModel.get('show')) {\n earthMaterial.define('both', 'WIREFRAME_TRIANGLE');\n var color = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(\n debugWireframeModel.get('lineStyle.color') || 'rgba(0,0,0,0.5)'\n );\n var width = __WEBPACK_IMPORTED_MODULE_5__util_retrieve__[\"a\" /* default */].firstNotNull(\n debugWireframeModel.get('lineStyle.width'), 1\n );\n earthMaterial.set('wireframeLineWidth', width);\n earthMaterial.set('wireframeLineColor', color);\n }\n else {\n earthMaterial.undefine('both', 'WIREFRAME_TRIANGLE');\n }\n },\n\n _updateViewControl: function (globeModel, api) {\n var coordSys = globeModel.coordinateSystem;\n // Update camera\n var viewControlModel = globeModel.getModel('viewControl');\n\n var camera = coordSys.viewGL.camera;\n var self = this;\n\n function makeAction() {\n return {\n type: 'globeChangeCamera',\n alpha: control.getAlpha(),\n beta: control.getBeta(),\n distance: control.getDistance() - coordSys.radius,\n center: control.getCenter(),\n from: self.uid,\n globeId: globeModel.id\n };\n }\n\n // Update control\n var control = this._control;\n control.setViewGL(coordSys.viewGL);\n\n var coord = viewControlModel.get('targetCoord');\n var alpha, beta;\n if (coord != null) {\n beta = coord[0] + 90;\n alpha = coord[1];\n }\n\n control.setFromViewControlModel(viewControlModel, {\n baseDistance: coordSys.radius,\n alpha: alpha,\n beta: beta\n });\n\n control.off('update');\n control.on('update', function () {\n api.dispatchAction(makeAction());\n });\n },\n\n _displaceVertices: function (globeModel, api) {\n var displacementQuality = globeModel.get('displacementQuality');\n var showDebugWireframe = globeModel.get('debug.wireframe.show');\n var globe = globeModel.coordinateSystem;\n\n if (!globeModel.isDisplacementChanged()\n && displacementQuality === this._displacementQuality\n && showDebugWireframe === this._showDebugWireframe\n ) {\n return;\n }\n\n this._displacementQuality = displacementQuality;\n this._showDebugWireframe = showDebugWireframe;\n\n var geometry = this._sphereGeometry;\n\n var widthSegments = ({\n low: 100,\n medium: 200,\n high: 400,\n ultra: 800\n })[displacementQuality] || 200;\n var heightSegments = widthSegments / 2;\n if (geometry.widthSegments !== widthSegments || showDebugWireframe) {\n geometry.widthSegments = widthSegments;\n geometry.heightSegments = heightSegments;\n geometry.build();\n }\n\n this._doDisplaceVertices(geometry, globe);\n\n if (showDebugWireframe) {\n geometry.generateBarycentric();\n }\n },\n\n _doDisplaceVertices: function (geometry, globe) {\n var positionArr = geometry.attributes.position.value;\n var uvArr = geometry.attributes.texcoord0.value;\n\n var originalPositionArr = geometry.__originalPosition;\n if (!originalPositionArr || originalPositionArr.length !== positionArr.length) {\n originalPositionArr = new Float32Array(positionArr.length);\n originalPositionArr.set(positionArr);\n geometry.__originalPosition = originalPositionArr;\n }\n\n var width = globe.displacementWidth;\n var height = globe.displacementHeight;\n var data = globe.displacementData;\n\n for (var i = 0; i < geometry.vertexCount; i++) {\n var i3 = i * 3;\n var i2 = i * 2;\n var x = originalPositionArr[i3 + 1];\n var y = originalPositionArr[i3 + 2];\n var z = originalPositionArr[i3 + 3];\n\n var u = uvArr[i2++];\n var v = uvArr[i2++];\n\n var j = Math.round(u * (width - 1));\n var k = Math.round(v * (height - 1));\n var idx = k * width + j;\n var scale = data ? data[idx] : 0;\n\n positionArr[i3 + 1] = x + x * scale;\n positionArr[i3 + 2] = y + y * scale;\n positionArr[i3 + 3] = z + z * scale;\n }\n\n geometry.generateVertexNormals();\n geometry.dirty();\n\n geometry.updateBoundingBox();\n },\n\n _updateLight: function (globeModel, api) {\n var earthMesh = this._earthMesh;\n\n this._sceneHelper.updateLight(globeModel);\n var mainLight = this._sceneHelper.mainLight;\n\n // Put sun in the right position\n var time = globeModel.get('light.main.time') || new Date();\n\n // http://en.wikipedia.org/wiki/Azimuth\n var pos = __WEBPACK_IMPORTED_MODULE_4__util_sunCalc__[\"a\" /* default */].getPosition(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.number.parseDate(time), 0, 0);\n var r0 = Math.cos(pos.altitude);\n // FIXME How to calculate the y ?\n mainLight.position.y = -r0 * Math.cos(pos.azimuth);\n mainLight.position.x = Math.sin(pos.altitude);\n mainLight.position.z = r0 * Math.sin(pos.azimuth);\n mainLight.lookAt(earthMesh.getWorldPosition());\n },\n\n dispose: function (ecModel, api) {\n this.groupGL.removeAll();\n this._control.dispose();\n }\n}));\n\n/***/ }),\n/* 210 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/*\n (c) 2011-2014, Vladimir Agafonkin\n SunCalc is a JavaScript library for calculating sun/mooon position and light phases.\n https://github.com/mourner/suncalc\n*/\n\n// shortcuts for easier to read formulas\n\nvar PI = Math.PI,\n sin = Math.sin,\n cos = Math.cos,\n tan = Math.tan,\n asin = Math.asin,\n atan = Math.atan2,\n rad = PI / 180;\n\n// sun calculations are based on http://aa.quae.nl/en/reken/zonpositie.html formulas\n\n\n// date/time constants and conversions\n\nvar dayMs = 1000 * 60 * 60 * 24,\n J1970 = 2440588,\n J2000 = 2451545;\n\nfunction toJulian (date) { return date.valueOf() / dayMs - 0.5 + J1970; }\nfunction toDays (date) { return toJulian(date) - J2000; }\n\n\n// general calculations for position\n\nvar e = rad * 23.4397; // obliquity of the Earth\n\nfunction rightAscension(l, b) { return atan(sin(l) * cos(e) - tan(b) * sin(e), cos(l)); }\nfunction declination(l, b) { return asin(sin(b) * cos(e) + cos(b) * sin(e) * sin(l)); }\n\nfunction azimuth(H, phi, dec) { return atan(sin(H), cos(H) * sin(phi) - tan(dec) * cos(phi)); }\nfunction altitude(H, phi, dec) { return asin(sin(phi) * sin(dec) + cos(phi) * cos(dec) * cos(H)); }\n\nfunction siderealTime(d, lw) { return rad * (280.16 + 360.9856235 * d) - lw; }\n\n\n// general sun calculations\n\nfunction solarMeanAnomaly(d) { return rad * (357.5291 + 0.98560028 * d); }\n\nfunction eclipticLongitude(M) {\n\n var C = rad * (1.9148 * sin(M) + 0.02 * sin(2 * M) + 0.0003 * sin(3 * M)), // equation of center\n P = rad * 102.9372; // perihelion of the Earth\n\n return M + C + P + PI;\n}\n\nfunction sunCoords(d) {\n\n var M = solarMeanAnomaly(d),\n L = eclipticLongitude(M);\n\n return {\n dec: declination(L, 0),\n ra: rightAscension(L, 0)\n };\n}\n\nvar SunCalc = {};\n\n// calculates sun position for a given date and latitude/longitude\n\nSunCalc.getPosition = function (date, lat, lng) {\n\n var lw = rad * -lng,\n phi = rad * lat,\n d = toDays(date),\n\n c = sunCoords(d),\n H = siderealTime(d, lw) - c.ra;\n\n return {\n azimuth: azimuth(H, phi, c.dec),\n altitude: altitude(H, phi, c.dec)\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (SunCalc);\n\n/***/ }),\n/* 211 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__globe_Globe__ = __webpack_require__(212);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_echarts_lib_util_layout__ = __webpack_require__(47);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_echarts_lib_util_layout___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_echarts_lib_util_layout__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_ViewGL__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_retrieve__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_graphicGL__ = __webpack_require__(1);\n\n\n\n\n\n\n\nfunction getDisplacementData(img, displacementScale) {\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n var width = img.width;\n var height = img.height;\n canvas.width = width;\n canvas.height = height;\n ctx.drawImage(img, 0, 0, width, height);\n var rgbaArr = ctx.getImageData(0, 0, width, height).data;\n\n var displacementArr = new Float32Array(rgbaArr.length / 4);\n for (var i = 0; i < rgbaArr.length / 4; i++) {\n var x = rgbaArr[i * 4];\n displacementArr[i] = x / 255 * displacementScale;\n }\n return {\n data: displacementArr,\n width: width,\n height: height\n };\n}\n\nfunction resizeGlobe(globeModel, api) {\n // Use left/top/width/height\n var boxLayoutOption = globeModel.getBoxLayoutParams();\n\n var viewport = __WEBPACK_IMPORTED_MODULE_2_echarts_lib_util_layout___default.a.getLayoutRect(boxLayoutOption, {\n width: api.getWidth(),\n height: api.getHeight()\n });\n\n // Flip Y\n viewport.y = api.getHeight() - viewport.y - viewport.height;\n\n this.viewGL.setViewport(viewport.x, viewport.y, viewport.width, viewport.height, api.getDevicePixelRatio());\n\n this.radius = globeModel.get('globeRadius');\n\n var outerRadius = globeModel.get('globeOuterRadius');\n if (this.altitudeAxis) {\n this.altitudeAxis.setExtent(0, outerRadius - this.radius);\n }\n}\n\nfunction updateGlobe(ecModel, api) {\n\n var altitudeDataExtent = [Infinity, -Infinity]\n\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.coordinateSystem !== this) {\n return;\n }\n\n // Get altitude data extent.\n var data = seriesModel.getData();\n var altDims = seriesModel.coordDimToDataDim('alt');\n var altDim = altDims && altDims[0];\n if (altDim) {\n // TODO altitiude is in coords of lines.\n var dataExtent = data.getDataExtent(altDim, true);\n altitudeDataExtent[0] = Math.min(\n altitudeDataExtent[0], dataExtent[0]\n );\n altitudeDataExtent[1] = Math.max(\n altitudeDataExtent[1], dataExtent[1]\n );\n }\n }, this);\n // Create altitude axis\n if (altitudeDataExtent && isFinite(altitudeDataExtent[1] - altitudeDataExtent[0])) {\n var scale = __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default.a.helper.createScale(\n altitudeDataExtent, {\n type: 'value',\n // PENDING\n min: 'dataMin',\n max: 'dataMax'\n }\n );\n this.altitudeAxis = new __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default.a.Axis('altitude', scale);\n // Resize again\n this.resize(this.model, api);\n }\n}\n\nvar globeCreator = {\n\n dimensions: __WEBPACK_IMPORTED_MODULE_0__globe_Globe__[\"a\" /* default */].prototype.dimensions,\n\n create: function (ecModel, api) {\n\n var globeList = [];\n\n ecModel.eachComponent('globe', function (globeModel) {\n\n // FIXME\n globeModel.__viewGL = globeModel.__viewGL || new __WEBPACK_IMPORTED_MODULE_3__core_ViewGL__[\"a\" /* default */]();\n\n var globe = new __WEBPACK_IMPORTED_MODULE_0__globe_Globe__[\"a\" /* default */]();\n globe.viewGL = globeModel.__viewGL;\n\n globeModel.coordinateSystem = globe;\n globe.model = globeModel;\n globeList.push(globe);\n\n // Inject resize\n globe.resize = resizeGlobe;\n globe.resize(globeModel, api);\n\n globe.update = updateGlobe;\n });\n\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.get('coordinateSystem') === 'globe') {\n var globeModel = seriesModel.getReferringComponents('globe')[0];\n if (!globeModel) {\n globeModel = ecModel.getComponent('globe');\n }\n\n if (!globeModel) {\n throw new Error('globe \"' + __WEBPACK_IMPORTED_MODULE_4__util_retrieve__[\"a\" /* default */].firstNotNull(\n seriesModel.get('globe3DIndex'),\n seriesModel.get('globe3DId'),\n 0\n ) + '\" not found');\n }\n\n var coordSys = globeModel.coordinateSystem;\n\n seriesModel.coordinateSystem = coordSys;\n }\n });\n\n ecModel.eachComponent('globe', function (globeModel, idx) {\n var globe = globeModel.coordinateSystem;\n\n // Update displacement data\n var displacementTextureValue = globeModel.getDisplacementTexture();\n var displacementScale = globeModel.getDisplacemenScale();\n\n if (globeModel.isDisplacementChanged()) {\n if (globeModel.hasDisplacement()) {\n var immediateLoaded = true;\n __WEBPACK_IMPORTED_MODULE_5__util_graphicGL__[\"a\" /* default */].loadTexture(displacementTextureValue, api, function (texture) {\n var img = texture.image;\n var displacementData = getDisplacementData(img, displacementScale);\n globeModel.setDisplacementData(displacementData.data, displacementData.width, displacementData.height);\n if (!immediateLoaded) {\n // Update layouts\n api.dispatchAction({\n type: 'globeUpdateDisplacment'\n });\n }\n });\n immediateLoaded = false;\n }\n else {\n globe.setDisplacementData(null, 0, 0);\n }\n\n globe.setDisplacementData(\n globeModel.displacementData, globeModel.displacementWidth, globeModel.displacementHeight\n );\n }\n });\n\n return globeList;\n }\n};\n\n__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default.a.registerCoordinateSystem('globe', globeCreator);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (globeCreator);\n\n/***/ }),\n/* 212 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n\nvar vec3 = __WEBPACK_IMPORTED_MODULE_0_claygl_src_dep_glmatrix__[\"a\" /* default */].vec3;\n\n\nfunction Globe(radius) {\n\n this.radius = radius;\n\n this.viewGL = null;\n\n this.altitudeAxis;\n\n // Displacement data provided by texture.\n this.displacementData = null;\n this.displacementWidth;\n this.displacementHeight;\n}\n\nGlobe.prototype = {\n\n constructor: Globe,\n\n dimensions: ['lng', 'lat', 'alt'],\n\n type: 'globe',\n\n containPoint: function () {},\n\n setDisplacementData: function (data, width, height) {\n this.displacementData = data;\n this.displacementWidth = width;\n this.displacementHeight = height;\n },\n\n _getDisplacementScale: function (lng, lat) {\n var i = (lng + 180) / 360 * (this.displacementWidth - 1);\n var j = (90 - lat) / 180 * (this.displacementHeight - 1);\n // NEAREST SAMPLING\n // TODO Better bilinear sampling\n var idx = Math.round(i) + Math.round(j) * this.displacementWidth;\n return this.displacementData[idx];\n },\n\n dataToPoint: function (data, out) {\n var lng = data[0];\n var lat = data[1];\n // Default have 0 altitude\n var altVal = data[2] || 0;\n\n var r = this.radius;\n if (this.displacementData) {\n r *= 1 + this._getDisplacementScale(lng, lat);\n }\n if (this.altitudeAxis) {\n r += this.altitudeAxis.dataToCoord(altVal);\n }\n\n lng = lng * Math.PI / 180;\n lat = lat * Math.PI / 180;\n\n var r0 = Math.cos(lat) * r;\n\n out = out || [];\n // PENDING\n out[0] = -r0 * Math.cos(lng + Math.PI);\n out[1] = Math.sin(lat) * r;\n out[2] = r0 * Math.sin(lng + Math.PI);\n\n return out;\n },\n\n pointToData: function (point, out) {\n var x = point[0];\n var y = point[1];\n var z = point[2];\n var len = vec3.len(point);\n x /= len;\n y /= len;\n z /= len;\n\n var theta = Math.asin(y);\n var phi = Math.atan2(z, -x);\n if (phi < 0) {\n phi = Math.PI * 2 + phi;\n }\n\n var lat = theta * 180 / Math.PI;\n var lng = phi * 180 / Math.PI - 180;\n\n out = out || [];\n out[0] = lng;\n out[1] = lat;\n out[2] = len - this.radius;\n if (this.altitudeAxis) {\n out[2] = this.altitudeAxis.coordToData(out[2]);\n }\n\n return out;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Globe);\n\n/***/ }),\n/* 213 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__coord_mapbox3DCreator__ = __webpack_require__(214);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mapbox3D_Mapbox3DModel__ = __webpack_require__(216);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mapbox3D_Mapbox3DView__ = __webpack_require__(217);\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerAction({\n type: 'mapbox3DChangeCamera',\n event: 'mapbox3dcamerachanged',\n update: 'mapbox3D:updateCamera'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'mapbox3D', query: payload\n }, function (componentModel) {\n componentModel.setMapboxCameraOption(payload);\n });\n});\n\n/***/ }),\n/* 214 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mapbox3D_Mapbox3D__ = __webpack_require__(215);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mapServiceCommon_createMapService3DCreator__ = __webpack_require__(101);\n\n\n\n\nvar mapbox3DCreator = Object(__WEBPACK_IMPORTED_MODULE_2__mapServiceCommon_createMapService3DCreator__[\"a\" /* default */])('mapbox3D', __WEBPACK_IMPORTED_MODULE_0__mapbox3D_Mapbox3D__[\"a\" /* default */], function (mapbox3DList) {\n mapbox3DList.forEach(function (mapbox3D) {\n mapbox3D.setCameraOption(mapbox3D.model.getMapboxCameraOption());\n });\n});\n__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default.a.registerCoordinateSystem('mapbox3D', mapbox3DCreator);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (mapbox3DCreator);\n\n/***/ }),\n/* 215 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mapServiceCommon_MapService3D__ = __webpack_require__(100);\n\n\nfunction Mapbox3D() {\n __WEBPACK_IMPORTED_MODULE_0__mapServiceCommon_MapService3D__[\"a\" /* default */].apply(this, arguments);\n}\n\nMapbox3D.prototype = new __WEBPACK_IMPORTED_MODULE_0__mapServiceCommon_MapService3D__[\"a\" /* default */]();\nMapbox3D.prototype.constructor = Mapbox3D;\nMapbox3D.prototype.type = 'mapbox3D';\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Mapbox3D);\n\n/***/ }),\n/* 216 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_componentPostEffectMixin__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_componentLightMixin__ = __webpack_require__(29);\n\n\n\n\n\nvar MAPBOX_CAMERA_OPTION = ['zoom', 'center', 'pitch', 'bearing'];\n\nvar Mapbox3DModel = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendComponentModel({\n\n type: 'mapbox3D',\n\n layoutMode: 'box',\n\n coordinateSystem: null,\n\n defaultOption: {\n zlevel: -10,\n\n style: 'mapbox://styles/mapbox/light-v9',\n\n center: [0, 0],\n\n zoom: 0,\n\n pitch: 0,\n\n bearing: 0,\n\n light: {\n main: {\n alpha: 20,\n beta: 30\n }\n },\n\n altitudeScale: 1,\n // Default depend on altitudeScale\n boxHeight: 'auto'\n },\n\n getMapboxCameraOption: function () {\n var self = this;\n return MAPBOX_CAMERA_OPTION.reduce(function (obj, key) {\n obj[key] = self.get(key);\n return obj;\n }, {});\n },\n\n setMapboxCameraOption: function (option) {\n if (option != null) {\n MAPBOX_CAMERA_OPTION.forEach(function (key) {\n if (option[key] != null) {\n this.option[key] = option[key];\n }\n }, this);\n }\n },\n\n /**\n * Get mapbox instance\n */\n getMapbox: function () {\n return this._mapbox;\n },\n\n setMapbox: function (mapbox) {\n this._mapbox = mapbox;\n }\n});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Mapbox3DModel.prototype, __WEBPACK_IMPORTED_MODULE_1__common_componentPostEffectMixin__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Mapbox3DModel.prototype, __WEBPACK_IMPORTED_MODULE_2__common_componentLightMixin__[\"a\" /* default */]);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (Mapbox3DModel);\n\n/***/ }),\n/* 217 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Mapbox3DLayer__ = __webpack_require__(218);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_SceneHelper__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_shader_displayShadow_glsl_js__ = __webpack_require__(102);\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Shader.import(__WEBPACK_IMPORTED_MODULE_4__util_shader_displayShadow_glsl_js__[\"a\" /* default */]);\n\nvar TILE_SIZE = 512;\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendComponentView({\n\n type: 'mapbox3D',\n\n __ecgl__: true,\n\n init: function (ecModel, api) {\n var zr = api.getZr();\n this._zrLayer = new __WEBPACK_IMPORTED_MODULE_1__Mapbox3DLayer__[\"a\" /* default */]('mapbox3D', zr);\n zr.painter.insertLayer(-1000, this._zrLayer);\n\n this._lightRoot = new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Node();\n this._sceneHelper = new __WEBPACK_IMPORTED_MODULE_2__common_SceneHelper__[\"a\" /* default */](this._lightRoot);\n this._sceneHelper.initLight(this._lightRoot);\n\n var mapbox = this._zrLayer.getMapbox();\n var dispatchInteractAction = this._dispatchInteractAction.bind(this, api, mapbox);\n\n // PENDING\n ['zoom', 'rotate', 'drag', 'pitch', 'rotate', 'move'].forEach(function (eName) {\n mapbox.on(eName, dispatchInteractAction);\n });\n\n this._groundMesh = new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Mesh({\n geometry: new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].PlaneGeometry(),\n material: new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Material({\n shader: new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Shader({\n vertex: __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Shader.source('ecgl.displayShadow.vertex'),\n fragment: __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Shader.source('ecgl.displayShadow.fragment')\n }),\n depthMask: false\n }),\n // Render first\n renderOrder: -100,\n culling: false,\n castShadow: false,\n $ignorePicking: true,\n renderNormal: true\n });\n },\n\n render: function (mapbox3DModel, ecModel, api) {\n var mapbox = this._zrLayer.getMapbox();\n var styleDesc = mapbox3DModel.get('style');\n\n var styleStr = JSON.stringify(styleDesc);\n if (styleStr !== this._oldStyleStr) {\n if (styleDesc) {\n mapbox.setStyle(styleDesc);\n }\n }\n this._oldStyleStr = styleStr;\n\n mapbox.setCenter(mapbox3DModel.get('center'));\n mapbox.setZoom(mapbox3DModel.get('zoom'));\n mapbox.setPitch(mapbox3DModel.get('pitch'));\n mapbox.setBearing(mapbox3DModel.get('bearing'));\n\n mapbox3DModel.setMapbox(mapbox);\n\n var coordSys = mapbox3DModel.coordinateSystem;\n\n // Not add to rootNode. Or light direction will be stretched by rootNode scale\n coordSys.viewGL.scene.add(this._lightRoot);\n coordSys.viewGL.add(this._groundMesh);\n\n this._updateGroundMesh();\n\n // Update lights\n this._sceneHelper.setScene(coordSys.viewGL.scene);\n this._sceneHelper.updateLight(mapbox3DModel);\n\n // Update post effects\n coordSys.viewGL.setPostEffect(mapbox3DModel.getModel('postEffect'), api);\n coordSys.viewGL.setTemporalSuperSampling(mapbox3DModel.getModel('temporalSuperSampling'));\n\n this._mapbox3DModel = mapbox3DModel;\n },\n\n afterRender: function (mapbox3DModel, ecModel, api, layerGL) {\n var renderer = layerGL.renderer;\n this._sceneHelper.updateAmbientCubemap(renderer, mapbox3DModel, api);\n this._sceneHelper.updateSkybox(renderer, mapbox3DModel, api);\n\n // FIXME If other series changes coordinate system.\n // FIXME When doing progressive rendering.\n mapbox3DModel.coordinateSystem.viewGL.scene.traverse(function (mesh) {\n if (mesh.material) {\n mesh.material.define('fragment', 'NORMAL_UP_AXIS', 2);\n mesh.material.define('fragment', 'NORMAL_FRONT_AXIS', 1);\n }\n });\n },\n\n updateCamera: function (mapbox3DModel, ecModel, api, payload) {\n mapbox3DModel.coordinateSystem.setCameraOption(payload);\n\n this._updateGroundMesh();\n\n api.getZr().refresh();\n },\n\n _dispatchInteractAction: function (api, mapbox, mapbox3DModel) {\n api.dispatchAction({\n type: 'mapbox3DChangeCamera',\n pitch: mapbox.getPitch(),\n zoom: mapbox.getZoom(),\n center: mapbox.getCenter().toArray(),\n bearing: mapbox.getBearing(),\n mapbox3DId: this._mapbox3DModel && this._mapbox3DModel.id\n });\n },\n\n _updateGroundMesh: function () {\n if (this._mapbox3DModel) {\n var coordSys = this._mapbox3DModel.coordinateSystem;\n var pt = coordSys.dataToPoint(coordSys.center);\n this._groundMesh.position.set(pt[0], pt[1], -0.001);\n\n var plane = new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Plane(new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Vector3(0, 0, 1), 0);\n var ray1 = coordSys.viewGL.camera.castRay(new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Vector2(-1, -1));\n var ray2 = coordSys.viewGL.camera.castRay(new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Vector2(1, 1));\n var pos0 = ray1.intersectPlane(plane);\n var pos1 = ray2.intersectPlane(plane);\n var scale = pos0.dist(pos1) / coordSys.viewGL.rootNode.scale.x;\n this._groundMesh.scale.set(scale, scale, 1);\n }\n },\n\n dispose: function (ecModel, api) {\n if (this._zrLayer) {\n this._zrLayer.dispose();\n }\n api.getZr().painter.delLayer(-1000);\n }\n}));\n\n/***/ }),\n/* 218 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * @constructor\n * @alias module:echarts-gl/component/mapbox3D/Mapbox3DLayer\n * @param {string} id Layer ID\n * @param {module:zrender/ZRender} zr\n */\nfunction Mapbox3DLayer (id, zr) {\n this.id = id;\n this.zr = zr;\n\n this.dom = document.createElement('div');\n this.dom.style.cssText = 'position:absolute;left:0;right:0;top:0;bottom:0;';\n\n // FIXME If in module environment.\n if (!mapboxgl) {\n throw new Error('Mapbox GL library must be included. See https://www.mapbox.com/mapbox-gl-js/api/');\n }\n\n this._mapbox = new mapboxgl.Map({\n container: this.dom\n });\n\n // Proxy events\n this._initEvents();\n\n}\n\nMapbox3DLayer.prototype.resize = function () {\n this._mapbox.resize();\n};\n\nMapbox3DLayer.prototype.getMapbox = function () {\n return this._mapbox;\n};\n\nMapbox3DLayer.prototype.clear = function () {};\nMapbox3DLayer.prototype.refresh = function () {\n this._mapbox.resize();\n};\n\nvar EVENTS = ['mousedown', 'mouseup', 'click', 'dblclick', 'mousemove',\n 'mousewheel', 'wheel',\n 'touchstart', 'touchend', 'touchmove', 'touchcancel'\n];\nMapbox3DLayer.prototype._initEvents = function () {\n // Event is bound on canvas container.\n var mapboxRoot = this._mapbox.getCanvasContainer();\n this._handlers = this._handlers || {\n contextmenu: function (e) {\n e.preventDefault();\n return false;\n }\n };\n EVENTS.forEach(function (eName) {\n this._handlers[eName] = function (e) {\n var obj = {};\n for (var name in e) {\n obj[name] = e[name];\n }\n obj.bubbles = false;\n var newE = new e.constructor(e.type, obj);\n mapboxRoot.dispatchEvent(newE);\n };\n this.zr.dom.addEventListener(eName, this._handlers[eName]);\n }, this);\n\n // PENDING\n this.zr.dom.addEventListener('contextmenu', this._handlers.contextmenu);\n};\n\nMapbox3DLayer.prototype.dispose = function () {\n EVENTS.forEach(function (eName) {\n this.zr.dom.removeEventListener(eName, this._handlers[eName]);\n }, this);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Mapbox3DLayer);\n\n/***/ }),\n/* 219 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__coord_maptalks3DCreator__ = __webpack_require__(220);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__maptalks3D_Maptalks3DModel__ = __webpack_require__(222);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__maptalks3D_Maptalks3DView__ = __webpack_require__(223);\n// Thanks to https://gitee.com/iverson_hu/maptalks-echarts-gl\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerAction({\n type: 'maptalks3DChangeCamera',\n event: 'maptalks3dcamerachanged',\n update: 'maptalks3D:updateCamera'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'maptalks3D', query: payload\n }, function (componentModel) {\n componentModel.setMaptalksCameraOption(payload);\n });\n});\n\n/***/ }),\n/* 220 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__maptalks3D_Maptalks3D__ = __webpack_require__(221);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mapServiceCommon_createMapService3DCreator__ = __webpack_require__(101);\n\n\n\n\nvar maptalks3DCreator = Object(__WEBPACK_IMPORTED_MODULE_2__mapServiceCommon_createMapService3DCreator__[\"a\" /* default */])('maptalks3D', __WEBPACK_IMPORTED_MODULE_0__maptalks3D_Maptalks3D__[\"a\" /* default */], function (maptalks3DList) {\n maptalks3DList.forEach(function (maptalks3D) {\n maptalks3D.setCameraOption(maptalks3D.model.getMaptalksCameraOption());\n });\n});\n__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default.a.registerCoordinateSystem('maptalks3D', maptalks3DCreator);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (maptalks3DCreator);\n\n/***/ }),\n/* 221 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mapServiceCommon_MapService3D__ = __webpack_require__(100);\n\n\nfunction Maptalks3D() {\n __WEBPACK_IMPORTED_MODULE_0__mapServiceCommon_MapService3D__[\"a\" /* default */].apply(this, arguments);\n\n this.maxPitch = 85;\n this.zoomOffset = 1;\n}\n\nMaptalks3D.prototype = new __WEBPACK_IMPORTED_MODULE_0__mapServiceCommon_MapService3D__[\"a\" /* default */]();\nMaptalks3D.prototype.constructor = Maptalks3D;\nMaptalks3D.prototype.type = 'maptalks3D';\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Maptalks3D);\n\n/***/ }),\n/* 222 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_componentPostEffectMixin__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_componentLightMixin__ = __webpack_require__(29);\n\n\n\n\n\nvar MAPTALKS_CAMERA_OPTION = ['zoom', 'center', 'pitch', 'bearing'];\n\nvar Maptalks3DModel = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendComponentModel({\n\n type: 'maptalks3D',\n\n layoutMode: 'box',\n\n coordinateSystem: null,\n\n defaultOption: {\n zlevel: -10,\n\n urlTemplate: 'http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png',\n attribution: '© OpenStreetMap contributors, © CARTO',\n\n center: [0, 0],\n\n zoom: 0,\n\n pitch: 0,\n\n bearing: 0,\n\n light: {\n main: {\n alpha: 20,\n beta: 30\n }\n },\n\n altitudeScale: 1,\n // Default depend on altitudeScale\n boxHeight: 'auto'\n },\n\n getMaptalksCameraOption: function () {\n var self = this;\n return MAPTALKS_CAMERA_OPTION.reduce(function (obj, key) {\n obj[key] = self.get(key);\n return obj;\n }, {});\n },\n\n setMaptalksCameraOption: function (option) {\n if (option != null) {\n MAPTALKS_CAMERA_OPTION.forEach(function (key) {\n if (option[key] != null) {\n this.option[key] = option[key];\n }\n }, this);\n }\n },\n\n /**\n * Get maptalks instance\n */\n getMaptalks: function () {\n return this._maptalks;\n },\n\n setMaptalks: function (maptalks) {\n this._maptalks = maptalks;\n }\n});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Maptalks3DModel.prototype, __WEBPACK_IMPORTED_MODULE_1__common_componentPostEffectMixin__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Maptalks3DModel.prototype, __WEBPACK_IMPORTED_MODULE_2__common_componentLightMixin__[\"a\" /* default */]);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (Maptalks3DModel);\n\n/***/ }),\n/* 223 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Maptalks3DLayer__ = __webpack_require__(224);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_SceneHelper__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_shader_displayShadow_glsl_js__ = __webpack_require__(102);\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Shader.import(__WEBPACK_IMPORTED_MODULE_4__util_shader_displayShadow_glsl_js__[\"a\" /* default */]);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendComponentView({\n\n type: 'maptalks3D',\n\n __ecgl__: true,\n\n init: function (ecModel, api) {\n this._groundMesh = new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Mesh({\n geometry: new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].PlaneGeometry(),\n material: new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Material({\n shader: new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Shader({\n vertex: __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Shader.source('ecgl.displayShadow.vertex'),\n fragment: __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Shader.source('ecgl.displayShadow.fragment')\n }),\n depthMask: false\n }),\n // Render first\n renderOrder: -100,\n culling: false,\n castShadow: false,\n $ignorePicking: true,\n renderNormal: true\n });\n },\n\n _initMaptalksLayer: function (mapbox3DModel, api) {\n var zr = api.getZr();\n this._zrLayer = new __WEBPACK_IMPORTED_MODULE_1__Maptalks3DLayer__[\"a\" /* default */]('maptalks3D', zr, mapbox3DModel.get('center'), mapbox3DModel.get('zoom'));\n zr.painter.insertLayer(-1000, this._zrLayer);\n\n this._lightRoot = new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Node();\n this._sceneHelper = new __WEBPACK_IMPORTED_MODULE_2__common_SceneHelper__[\"a\" /* default */](this._lightRoot);\n this._sceneHelper.initLight(this._lightRoot);\n\n var maptalks = this._zrLayer.getMaptalks();\n var dispatchInteractAction = this._dispatchInteractAction.bind(this, api, maptalks);\n\n // PENDING\n ['zoomend', 'zooming', 'zoomstart', 'dragrotating', 'pitch', 'pitchend', 'movestart',\n 'moving', 'moveend', 'resize', 'touchstart', 'touchmove', 'touchend'].forEach(function (eName) {\n maptalks.on(eName, dispatchInteractAction);\n });\n\n },\n\n render: function (maptalks3DModel, ecModel, api) {\n if (!this._zrLayer) {\n this._initMaptalksLayer(maptalks3DModel, api);\n }\n\n var mtks = this._zrLayer.getMaptalks();\n var urlTemplate = maptalks3DModel.get('urlTemplate');\n\n var baseLayer = mtks.getBaseLayer();\n if (urlTemplate !== this._oldUrlTemplate) {\n if (!baseLayer) {\n baseLayer = new maptalks.TileLayer('maptalks-echarts-gl-baselayer', {\n urlTemplate: urlTemplate,\n // used sequentially to help with browser parallel requests per domain limitation\n subdomains: ['a', 'b', 'c'],\n attribution: maptalks3DModel.get('attribution')\n });\n mtks.setBaseLayer(baseLayer);\n }\n else {\n // PENDING setOptions may not work?\n baseLayer.setOptions({\n urlTemplate: urlTemplate,\n attribution: maptalks3DModel.get('attribution')\n });\n }\n }\n this._oldUrlTemplate = urlTemplate;\n\n mtks.setCenter(maptalks3DModel.get('center'));\n mtks.setZoom(maptalks3DModel.get('zoom'),{ animation: false });\n mtks.setPitch(maptalks3DModel.get('pitch'));\n mtks.setBearing(maptalks3DModel.get('bearing'));\n\n maptalks3DModel.setMaptalks(mtks);\n\n var coordSys = maptalks3DModel.coordinateSystem;\n\n // Not add to rootNode. Or light direction will be stretched by rootNode scale\n coordSys.viewGL.scene.add(this._lightRoot);\n coordSys.viewGL.add(this._groundMesh);\n\n this._updateGroundMesh();\n\n // Update lights\n this._sceneHelper.setScene(coordSys.viewGL.scene);\n this._sceneHelper.updateLight(maptalks3DModel);\n\n // Update post effects\n coordSys.viewGL.setPostEffect(maptalks3DModel.getModel('postEffect'), api);\n coordSys.viewGL.setTemporalSuperSampling(maptalks3DModel.getModel('temporalSuperSampling'));\n\n this._maptalks3DModel = maptalks3DModel;\n },\n\n afterRender: function (maptalks3DModel, ecModel, api, layerGL) {\n var renderer = layerGL.renderer;\n this._sceneHelper.updateAmbientCubemap(renderer, maptalks3DModel, api);\n this._sceneHelper.updateSkybox(renderer, maptalks3DModel, api);\n\n // FIXME If other series changes coordinate system.\n // FIXME When doing progressive rendering.\n maptalks3DModel.coordinateSystem.viewGL.scene.traverse(function (mesh) {\n if (mesh.material) {\n mesh.material.define('fragment', 'NORMAL_UP_AXIS', 2);\n mesh.material.define('fragment', 'NORMAL_FRONT_AXIS', 1);\n }\n });\n },\n\n updateCamera: function (maptalks3DModel, ecModel, api, payload) {\n maptalks3DModel.coordinateSystem.setCameraOption(payload);\n\n this._updateGroundMesh();\n\n api.getZr().refresh();\n },\n\n _dispatchInteractAction: function (api, maptalks, maptalks3DModel) {\n api.dispatchAction({\n type: 'maptalks3DChangeCamera',\n pitch: maptalks.getPitch(),\n zoom: maptalks.getZoom(),\n center: maptalks.getCenter().toArray(),\n bearing: maptalks.getBearing(),\n maptalks3DId: this._maptalks3DModel && this._maptalks3DModel.id\n });\n },\n\n _updateGroundMesh: function () {\n if (this._maptalks3DModel) {\n var coordSys = this._maptalks3DModel.coordinateSystem;\n var pt = coordSys.dataToPoint(coordSys.center);\n this._groundMesh.position.set(pt[0], pt[1], -0.001);\n\n var plane = new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Plane(new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Vector3(0, 0, 1), 0);\n var ray1 = coordSys.viewGL.camera.castRay(new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Vector2(-1, -1));\n var ray2 = coordSys.viewGL.camera.castRay(new __WEBPACK_IMPORTED_MODULE_3__util_graphicGL__[\"a\" /* default */].Vector2(1, 1));\n var pos0 = ray1.intersectPlane(plane);\n var pos1 = ray2.intersectPlane(plane);\n var scale = pos0.dist(pos1) / coordSys.viewGL.rootNode.scale.x;\n this._groundMesh.scale.set(scale, scale, 1);\n }\n },\n\n dispose: function (ecModel, api) {\n if (this._zrLayer) {\n this._zrLayer.dispose();\n }\n api.getZr().painter.delLayer(-1000);\n }\n}));\n\n/***/ }),\n/* 224 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * @constructor\n * @alias module:echarts-gl/component/maptalks/Maptalks3DLayer\n * @param {string} id Layer ID\n * @param {module:zrender/ZRender} zr\n */\nfunction Maptalks3DLayer (id, zr, defaultCenter, defaultZoom) {\n this.id = id;\n this.zr = zr;\n\n this.dom = document.createElement('div');\n this.dom.style.cssText = 'position:absolute;left:0;right:0;top:0;bottom:0;';\n\n // FIXME If in module environment.\n if (!maptalks) {\n throw new Error('Maptalks library must be included. See https://maptalks.org');\n }\n\n this._maptalks = new maptalks.Map(this.dom, {\n center: defaultCenter,\n zoom: defaultZoom,\n fog: false\n // fogColor: [0, 0, 0]\n });\n\n // Proxy events\n this._initEvents();\n\n}\n\nMaptalks3DLayer.prototype.resize = function () {\n this._maptalks.checkSize();\n};\n\nMaptalks3DLayer.prototype.getMaptalks = function () {\n return this._maptalks;\n};\n\nMaptalks3DLayer.prototype.clear = function () {};\nMaptalks3DLayer.prototype.refresh = function () {\n this._maptalks.checkSize();\n};\n\nvar EVENTS = ['mousedown', 'mouseup', 'click', 'dblclick', 'mousemove',\n 'mousewheel', 'DOMMouseScroll',\n 'touchstart', 'touchend', 'touchmove', 'touchcancel'\n];\nMaptalks3DLayer.prototype._initEvents = function () {\n // Event is bound on canvas container.\n var maptalksRoot = this.dom;\n this._handlers = this._handlers || {\n contextmenu: function (e) {\n e.preventDefault();\n return false;\n }\n };\n EVENTS.forEach(function (eName) {\n this._handlers[eName] = function (e) {\n var obj = {};\n for (var name in e) {\n obj[name] = e[name];\n }\n obj.bubbles = false;\n var newE = new e.constructor(e.type, obj);\n if (eName === 'mousewheel' || eName === 'DOMMouseScroll') {\n // maptalks listens events to different elements?\n maptalksRoot.dispatchEvent(newE);\n }\n else {\n maptalksRoot.firstElementChild.dispatchEvent(newE);\n }\n };\n this.zr.dom.addEventListener(eName, this._handlers[eName]);\n }, this);\n\n // PENDING\n this.zr.dom.addEventListener('contextmenu', this._handlers.contextmenu);\n};\n\nMaptalks3DLayer.prototype.dispose = function () {\n EVENTS.forEach(function (eName) {\n this.zr.dom.removeEventListener(eName, this._handlers[eName]);\n }, this);\n this._maptalks.remove();\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Maptalks3DLayer);\n\n\n/***/ }),\n/* 225 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__bar3D_bar3DLayout__ = __webpack_require__(226);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__bar3D_Bar3DView__ = __webpack_require__(229);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__bar3D_Bar3DSeries__ = __webpack_require__(231);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__ = __webpack_require__(17);\n\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerVisual(Object(__WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__[\"a\" /* default */])('bar3D'));\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerProcessor(function (ecModel, api) {\n ecModel.eachSeriesByType('bar3d', function (seriesModel) {\n var data = seriesModel.getData();\n data.filterSelf(function (idx) {\n return data.hasValue(idx);\n });\n });\n});\n\n/***/ }),\n/* 226 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__cartesian3DLayout__ = __webpack_require__(227);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__evaluateBarSparseness__ = __webpack_require__(228);\n\n\n\n\n\n\nvar vec3 = __WEBPACK_IMPORTED_MODULE_2_claygl_src_dep_glmatrix__[\"a\" /* default */].vec3;\nvar isDimensionStacked = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.helper.dataStack.isDimensionStacked;\n\nfunction globeLayout(seriesModel, coordSys) {\n var data = seriesModel.getData();\n var barMinHeight = seriesModel.get('minHeight') || 0;\n var barSize = seriesModel.get('barSize');\n var dims = ['lng', 'lat', 'alt'].map(function (coordDimName) {\n return seriesModel.coordDimToDataDim(coordDimName)[0];\n });\n if (barSize == null) {\n var perimeter = coordSys.radius * Math.PI;\n var fillRatio = Object(__WEBPACK_IMPORTED_MODULE_4__evaluateBarSparseness__[\"a\" /* default */])(data, dims[0], dims[1]);\n barSize = [\n perimeter / Math.sqrt(data.count() / fillRatio),\n perimeter / Math.sqrt(data.count() / fillRatio)\n ];\n }\n else if (!__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.isArray(barSize)) {\n barSize = [barSize, barSize];\n }\n\n var valueDim = getValueDimension(data, dims);\n\n data.each(dims, function (lng, lat, val, idx) {\n var stackedValue = data.get(valueDim.dimension, idx);\n var baseValue = valueDim.isStacked ? (stackedValue - val) : coordSys.altitudeAxis.scale.getExtent()[0];\n // TODO Stacked with minHeight.\n var height = Math.max(coordSys.altitudeAxis.dataToCoord(val), barMinHeight);\n var start = coordSys.dataToPoint([lng, lat, baseValue]);\n var end = coordSys.dataToPoint([lng, lat, stackedValue]);\n var dir = vec3.sub([], end, start);\n vec3.normalize(dir, dir);\n var size = [barSize[0], height, barSize[1]];\n data.setItemLayout(idx, [start, dir, size]);\n });\n\n data.setLayout('orient', __WEBPACK_IMPORTED_MODULE_1_claygl_src_math_Vector3__[\"a\" /* default */].UP.array);\n}\n\nfunction geo3DLayout(seriesModel, coordSys) {\n var data = seriesModel.getData();\n var barSize = seriesModel.get('barSize');\n var barMinHeight = seriesModel.get('minHeight') || 0;\n var dims = ['lng', 'lat', 'alt'].map(function (coordDimName) {\n return seriesModel.coordDimToDataDim(coordDimName)[0];\n });\n if (barSize == null) {\n var size = Math.min(coordSys.size[0], coordSys.size[2]);\n\n var fillRatio = Object(__WEBPACK_IMPORTED_MODULE_4__evaluateBarSparseness__[\"a\" /* default */])(data, dims[0], dims[1]);\n barSize = [\n size / Math.sqrt(data.count() / fillRatio),\n size / Math.sqrt(data.count() / fillRatio)\n ];\n }\n else if (!__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.isArray(barSize)) {\n barSize = [barSize, barSize];\n }\n var dir = [0, 1, 0];\n\n var valueDim = getValueDimension(data, dims);\n\n data.each(dims, function (lng, lat, val, idx) {\n var stackedValue = data.get(valueDim.dimension, idx);\n var baseValue = valueDim.isStacked ? (stackedValue - val) : coordSys.altitudeAxis.scale.getExtent()[0];\n\n var height = Math.max(coordSys.altitudeAxis.dataToCoord(val), barMinHeight);\n var start = coordSys.dataToPoint([lng, lat, baseValue]);\n var size = [barSize[0], height, barSize[1]];\n data.setItemLayout(idx, [start, dir, size]);\n });\n\n data.setLayout('orient', [1, 0, 0]);\n}\n\nfunction mapService3DLayout(seriesModel, coordSys) {\n var data = seriesModel.getData();\n var dimLng = seriesModel.coordDimToDataDim('lng')[0];\n var dimLat = seriesModel.coordDimToDataDim('lat')[0];\n var dimAlt = seriesModel.coordDimToDataDim('alt')[0];\n var barSize = seriesModel.get('barSize');\n var barMinHeight = seriesModel.get('minHeight') || 0;\n\n if (barSize == null) {\n var xExtent = data.getDataExtent(dimLng);\n var yExtent = data.getDataExtent(dimLat);\n var corner0 = coordSys.dataToPoint([xExtent[0], yExtent[0]]);\n var corner1 = coordSys.dataToPoint([xExtent[1], yExtent[1]]);\n\n var size = Math.min(\n Math.abs(corner0[0] - corner1[0]),\n Math.abs(corner0[1] - corner1[1])\n ) || 1;\n\n var fillRatio = Object(__WEBPACK_IMPORTED_MODULE_4__evaluateBarSparseness__[\"a\" /* default */])(data, dimLng, dimLat);\n // PENDING, data density\n barSize = [\n size / Math.sqrt(data.count() / fillRatio),\n size / Math.sqrt(data.count() / fillRatio)\n ];\n }\n else {\n if (!__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.isArray(barSize)) {\n barSize = [barSize, barSize];\n }\n barSize[0] /= coordSys.getScale() / 16;\n barSize[1] /= coordSys.getScale() / 16;\n }\n\n var dir = [0, 0, 1];\n var dims = [dimLng, dimLat, dimAlt];\n\n var valueDim = getValueDimension(data, dims);\n\n data.each(dims, function (lng, lat, val, idx) {\n var stackedValue = data.get(valueDim.dimension, idx);\n var baseValue = valueDim.isStacked ? (stackedValue - val) : 0;\n\n var start = coordSys.dataToPoint([lng, lat, baseValue]);\n var end = coordSys.dataToPoint([lng, lat, stackedValue]);\n var height = Math.max(end[2] - start[2], barMinHeight);\n var size = [barSize[0], height, barSize[1]];\n data.setItemLayout(idx, [start, dir, size]);\n });\n\n data.setLayout('orient', [1, 0, 0]);\n}\n\nfunction getValueDimension(data, dataDims) {\n var isStacked = isDimensionStacked(data, dataDims[2]);\n return {\n dimension: isStacked\n ? data.getCalculationInfo('stackResultDimension')\n : dataDims[2],\n isStacked: isStacked\n };\n}\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerLayout(function (ecModel, api) {\n ecModel.eachSeriesByType('bar3D', function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n var coordSysType = coordSys && coordSys.type;\n if (coordSysType === 'globe') {\n globeLayout(seriesModel, coordSys);\n }\n else if (coordSysType === 'cartesian3D') {\n Object(__WEBPACK_IMPORTED_MODULE_3__cartesian3DLayout__[\"a\" /* default */])(seriesModel, coordSys);\n }\n else if (coordSysType === 'geo3D') {\n geo3DLayout(seriesModel, coordSys);\n }\n else if (coordSysType === 'mapbox3D' || coordSysType === 'maptalks3D') {\n mapService3DLayout(seriesModel, coordSys);\n }\n else {\n if (true) {\n if (!coordSys) {\n throw new Error('bar3D doesn\\'t have coordinate system.');\n }\n else {\n throw new Error('bar3D doesn\\'t support coordinate system ' + coordSys.type);\n }\n }\n }\n });\n});\n\n/***/ }),\n/* 227 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n\n\nvar vec3 = __WEBPACK_IMPORTED_MODULE_1_claygl_src_dep_glmatrix__[\"a\" /* default */].vec3;\nvar isDimensionStacked = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.helper.dataStack.isDimensionStacked;\n\nfunction ifCrossZero(extent) {\n var min = extent[0];\n var max = extent[1];\n return !((min > 0 && max > 0) || (min < 0 && max < 0));\n};\n\nfunction cartesian3DLayout(seriesModel, coordSys) {\n\n var data = seriesModel.getData();\n // var barOnPlane = seriesModel.get('onGridPlane');\n\n var barSize = seriesModel.get('barSize');\n if (barSize == null) {\n var size = coordSys.size;\n var barWidth;\n var barDepth;\n var xAxis = coordSys.getAxis('x');\n var yAxis = coordSys.getAxis('y');\n\n if (xAxis.type === 'category') {\n barWidth = xAxis.getBandWidth() * 0.7;\n }\n else {\n // PENDING\n barWidth = Math.round(size[0] / Math.sqrt(data.count())) * 0.6;\n }\n if (yAxis.type === 'category') {\n barDepth = yAxis.getBandWidth() * 0.7;\n }\n else {\n barDepth = Math.round(size[1] / Math.sqrt(data.count())) * 0.6;\n }\n barSize = [barWidth, barDepth];\n }\n else if (!__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.isArray(barSize)) {\n barSize = [barSize, barSize];\n }\n\n var zAxisExtent = coordSys.getAxis('z').scale.getExtent();\n var ifZAxisCrossZero = ifCrossZero(zAxisExtent);\n\n var dims = ['x', 'y', 'z'].map(function (coordDimName) {\n return seriesModel.coordDimToDataDim(coordDimName)[0];\n });\n\n var isStacked = isDimensionStacked(data, dims[2]);\n var valueDim = isStacked\n ? data.getCalculationInfo('stackResultDimension')\n : dims[2];\n\n data.each(dims, function (x, y, z, idx) {\n // TODO zAxis is inversed\n // TODO On different plane.\n var stackedValue = data.get(valueDim, idx);\n\n var baseValue = isStacked ? (stackedValue - z)\n : (ifZAxisCrossZero ? 0 : zAxisExtent[0]);\n\n var start = coordSys.dataToPoint([x, y, baseValue]);\n var end = coordSys.dataToPoint([x, y, stackedValue]);\n var height = vec3.dist(start, end);\n // PENDING When zAxis is not cross zero.\n var dir = [0, end[1] < start[1] ? -1 : 1, 0];\n if (Math.abs(height) === 0) {\n // TODO\n height = 0.1;\n }\n var size = [barSize[0], height, barSize[1]];\n data.setItemLayout(idx, [start, dir, size]);\n });\n\n data.setLayout('orient', [1, 0, 0]);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (cartesian3DLayout);\n\n/***/ }),\n/* 228 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function (data, dimX, dimY) {\n var xExtent = data.getDataExtent(dimX);\n var yExtent = data.getDataExtent(dimY);\n\n // TODO Handle one data situation\n var xSpan = (xExtent[1] - xExtent[0]) || xExtent[0];\n var ySpan = (yExtent[1] - yExtent[0]) || yExtent[0];\n var dimSize = 50;\n var tmp = new Uint8Array(dimSize * dimSize);\n for (var i = 0; i < data.count(); i++) {\n var x = data.get(dimX, i);\n var y = data.get(dimY, i);\n var xIdx = Math.floor((x - xExtent[0]) / xSpan * (dimSize - 1));\n var yIdx = Math.floor((y - yExtent[0]) / ySpan * (dimSize - 1));\n var idx = yIdx * dimSize + xIdx;\n tmp[idx] = tmp[idx] || 1;\n }\n var filledCount = 0;\n for (var i = 0; i < tmp.length; i++) {\n if (tmp[i]) {\n filledCount++;\n }\n }\n return filledCount / tmp.length;\n});;\n\n/***/ }),\n/* 229 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_retrieve__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_format__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_geometry_Bars3DGeometry__ = __webpack_require__(230);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_common_LabelsBuilder__ = __webpack_require__(66);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n\n\n\n\n\n\n\nvar vec3 = __WEBPACK_IMPORTED_MODULE_6_claygl_src_dep_glmatrix__[\"a\" /* default */].vec3;\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendChartView({\n\n type: 'bar3D',\n\n __ecgl__: true,\n\n init: function (ecModel, api) {\n\n this.groupGL = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n\n this._api = api;\n\n this._labelsBuilder = new __WEBPACK_IMPORTED_MODULE_5__component_common_LabelsBuilder__[\"a\" /* default */](256, 256, api);\n var self = this;\n this._labelsBuilder.getLabelPosition = function (dataIndex, position, distance) {\n if (self._data) {\n var layout = self._data.getItemLayout(dataIndex);\n var start = layout[0];\n var dir = layout[1];\n var height = layout[2][1];\n return vec3.scaleAndAdd([], start, dir, distance + height);\n }\n else {\n return [0, 0];\n }\n };\n\n // Give a large render order.\n this._labelsBuilder.getMesh().renderOrder = 100;\n },\n\n render: function (seriesModel, ecModel, api) {\n\n // Swap barMesh\n var tmp = this._prevBarMesh;\n this._prevBarMesh = this._barMesh;\n this._barMesh = tmp;\n\n if (!this._barMesh) {\n this._barMesh = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n geometry: new __WEBPACK_IMPORTED_MODULE_4__util_geometry_Bars3DGeometry__[\"a\" /* default */](),\n shadowDepthMaterial: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Material({\n shader: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader(\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.source('ecgl.sm.depth.vertex'),\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.source('ecgl.sm.depth.fragment')\n )\n }),\n // Only cartesian3D enable culling\n // FIXME Performance\n culling: seriesModel.coordinateSystem.type === 'cartesian3D',\n // Render after axes\n renderOrder: 10,\n // Render normal in normal pass\n renderNormal: true\n });\n }\n\n this.groupGL.remove(this._prevBarMesh);\n this.groupGL.add(this._barMesh);\n this.groupGL.add(this._labelsBuilder.getMesh());\n\n var coordSys = seriesModel.coordinateSystem;\n this._doRender(seriesModel, api);\n if (coordSys && coordSys.viewGL) {\n coordSys.viewGL.add(this.groupGL);\n\n var methodName = coordSys.viewGL.isLinearSpace() ? 'define' : 'undefine';\n this._barMesh.material[methodName]('fragment', 'SRGB_DECODE');\n }\n\n this._data = seriesModel.getData();\n\n this._labelsBuilder.updateData(this._data);\n\n this._labelsBuilder.updateLabels();\n\n this._updateAnimation(seriesModel);\n },\n\n _updateAnimation: function (seriesModel) {\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].updateVertexAnimation(\n [['prevPosition', 'position'],\n ['prevNormal', 'normal']],\n this._prevBarMesh,\n this._barMesh,\n seriesModel\n );\n },\n\n _doRender: function (seriesModel, api) {\n var data = seriesModel.getData();\n var shading = seriesModel.get('shading');\n var enableNormal = shading !== 'color';\n var self = this;\n var barMesh = this._barMesh;\n\n var shadingPrefix = 'ecgl.' + shading;\n if (!barMesh.material || barMesh.material.shader.name !== shadingPrefix) {\n barMesh.material = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createMaterial(shadingPrefix, ['VERTEX_COLOR']);\n }\n\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].setMaterialFromModel(\n shading, barMesh.material, seriesModel, api\n );\n\n barMesh.geometry.enableNormal = enableNormal;\n\n barMesh.geometry.resetOffset();\n\n // Bevel settings\n var bevelSize = seriesModel.get('bevelSize');\n var bevelSegments = seriesModel.get('bevelSmoothness');\n barMesh.geometry.bevelSegments = bevelSegments;\n\n barMesh.geometry.bevelSize = bevelSize;\n\n var colorArr = [];\n var vertexColors = new Float32Array(data.count() * 4);\n var colorOffset = 0;\n var barCount = 0;\n var hasTransparent = false;\n\n data.each(function (idx) {\n if (!data.hasValue(idx)) {\n return;\n }\n var color = data.getItemVisual(idx, 'color');\n\n var opacity = data.getItemVisual(idx, 'opacity');\n if (opacity == null) {\n opacity = 1;\n }\n\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(color, colorArr);\n colorArr[3] *= opacity;\n vertexColors[colorOffset++] = colorArr[0];\n vertexColors[colorOffset++] = colorArr[1];\n vertexColors[colorOffset++] = colorArr[2];\n vertexColors[colorOffset++] = colorArr[3];\n\n if (colorArr[3] > 0) {\n barCount++;\n if (colorArr[3] < 0.99) {\n hasTransparent = true;\n }\n }\n });\n\n barMesh.geometry.setBarCount(barCount);\n\n var orient = data.getLayout('orient');\n\n // Map of dataIndex and barIndex.\n var barIndexOfData = this._barIndexOfData = new Int32Array(data.count());\n var barCount = 0;\n data.each(function (idx) {\n if (!data.hasValue(idx)) {\n barIndexOfData[idx] = -1;\n return;\n }\n var layout = data.getItemLayout(idx);\n var start = layout[0];\n var dir = layout[1];\n var size = layout[2];\n\n var idx4 = idx * 4;\n colorArr[0] = vertexColors[idx4++];\n colorArr[1] = vertexColors[idx4++];\n colorArr[2] = vertexColors[idx4++];\n colorArr[3] = vertexColors[idx4++];\n if (colorArr[3] > 0) {\n self._barMesh.geometry.addBar(start, dir, orient, size, colorArr, idx);\n barIndexOfData[idx] = barCount++;\n }\n });\n\n barMesh.geometry.dirty();\n barMesh.geometry.updateBoundingBox();\n\n var material = barMesh.material;\n material.transparent = hasTransparent;\n material.depthMask = !hasTransparent;\n barMesh.geometry.sortTriangles = hasTransparent;\n\n this._initHandler(seriesModel, api);\n },\n\n _initHandler: function (seriesModel, api) {\n var data = seriesModel.getData();\n var barMesh = this._barMesh;\n var isCartesian3D = seriesModel.coordinateSystem.type === 'cartesian3D';\n\n barMesh.seriesIndex = seriesModel.seriesIndex;\n\n var lastDataIndex = -1;\n barMesh.off('mousemove');\n barMesh.off('mouseout');\n barMesh.on('mousemove', function (e) {\n var dataIndex = barMesh.geometry.getDataIndexOfVertex(e.triangle[0]);\n if (dataIndex !== lastDataIndex) {\n this._downplay(lastDataIndex);\n this._highlight(dataIndex);\n this._labelsBuilder.updateLabels([dataIndex]);\n\n if (isCartesian3D) {\n api.dispatchAction({\n type: 'grid3DShowAxisPointer',\n value: [data.get('x', dataIndex), data.get('y', dataIndex), data.get('z', dataIndex, true)]\n });\n }\n }\n\n lastDataIndex = dataIndex;\n barMesh.dataIndex = dataIndex;\n }, this);\n barMesh.on('mouseout', function (e) {\n this._downplay(lastDataIndex);\n this._labelsBuilder.updateLabels();\n lastDataIndex = -1;\n barMesh.dataIndex = -1;\n\n if (isCartesian3D) {\n api.dispatchAction({\n type: 'grid3DHideAxisPointer'\n });\n }\n }, this);\n },\n\n _highlight: function (dataIndex) {\n var data = this._data;\n if (!data) {\n return;\n }\n var barIndex = this._barIndexOfData[dataIndex];\n if (barIndex < 0) {\n return;\n }\n\n var itemModel = data.getItemModel(dataIndex);\n var emphasisItemStyleModel = itemModel.getModel('emphasis.itemStyle');\n var emphasisColor = emphasisItemStyleModel.get('color');\n var emphasisOpacity = emphasisItemStyleModel.get('opacity');\n if (emphasisColor == null) {\n var color = data.getItemVisual(dataIndex, 'color');\n emphasisColor = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.color.lift(color, -0.4);\n }\n if (emphasisOpacity == null) {\n emphasisOpacity = data.getItemVisual(dataIndex, 'opacity');\n }\n var colorArr = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(emphasisColor);\n colorArr[3] *= emphasisOpacity;\n\n this._barMesh.geometry.setColor(barIndex, colorArr);\n\n this._api.getZr().refresh();\n },\n\n _downplay: function (dataIndex) {\n var data = this._data;\n if (!data) {\n return;\n }\n var barIndex = this._barIndexOfData[dataIndex];\n if (barIndex < 0) {\n return;\n }\n\n var color = data.getItemVisual(dataIndex, 'color');\n var opacity = data.getItemVisual(dataIndex, 'opacity');\n\n var colorArr = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(color);\n colorArr[3] *= opacity;\n\n this._barMesh.geometry.setColor(barIndex, colorArr);\n\n this._api.getZr().refresh();\n },\n\n highlight: function (seriesModel, ecModel, api, payload) {\n this._toggleStatus('highlight', seriesModel, ecModel, api, payload);\n },\n\n downplay: function (seriesModel, ecModel, api, payload) {\n this._toggleStatus('downplay', seriesModel, ecModel, api, payload);\n },\n\n _toggleStatus: function (status, seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData();\n var dataIndex = __WEBPACK_IMPORTED_MODULE_2__util_retrieve__[\"a\" /* default */].queryDataIndex(data, payload);\n\n var self = this;\n if (dataIndex != null) {\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.each(__WEBPACK_IMPORTED_MODULE_3__util_format__[\"a\" /* default */].normalizeToArray(dataIndex), function (dataIdx) {\n status === 'highlight' ? this._highlight(dataIdx) : this._downplay(dataIdx);\n }, this);\n }\n else {\n data.each(function (dataIdx) {\n status === 'highlight' ? self._highlight(dataIdx) : self._downplay(dataIdx);\n });\n }\n },\n\n remove: function () {\n this.groupGL.removeAll();\n },\n\n dispose: function () {\n this.groupGL.removeAll();\n }\n}));\n\n/***/ }),\n/* 230 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__dynamicConvertMixin__ = __webpack_require__(38);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__trianglesSortMixin__ = __webpack_require__(65);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_Geometry__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n/**\n * Geometry collecting bars data\n *\n * @module echarts-gl/chart/bars/BarsGeometry\n * @author Yi Shen(http://github.com/pissang)\n */\n\n\n\n\n\n\n\nvar vec3 = __WEBPACK_IMPORTED_MODULE_4_claygl_src_dep_glmatrix__[\"a\" /* default */].vec3;\nvar mat3 = __WEBPACK_IMPORTED_MODULE_4_claygl_src_dep_glmatrix__[\"a\" /* default */].mat3;\n\n/**\n * @constructor\n * @alias module:echarts-gl/chart/bars/BarsGeometry\n * @extends clay.Geometry\n */\nvar BarsGeometry = __WEBPACK_IMPORTED_MODULE_3_claygl_src_Geometry__[\"a\" /* default */].extend(function () {\n return {\n\n attributes: {\n position: new __WEBPACK_IMPORTED_MODULE_3_claygl_src_Geometry__[\"a\" /* default */].Attribute('position', 'float', 3, 'POSITION'),\n normal: new __WEBPACK_IMPORTED_MODULE_3_claygl_src_Geometry__[\"a\" /* default */].Attribute('normal', 'float', 3, 'NORMAL'),\n color: new __WEBPACK_IMPORTED_MODULE_3_claygl_src_Geometry__[\"a\" /* default */].Attribute('color', 'float', 4, 'COLOR'),\n\n prevPosition: new __WEBPACK_IMPORTED_MODULE_3_claygl_src_Geometry__[\"a\" /* default */].Attribute('prevPosition', 'float', 3),\n prevNormal: new __WEBPACK_IMPORTED_MODULE_3_claygl_src_Geometry__[\"a\" /* default */].Attribute('prevNormal', 'float', 3)\n },\n\n dynamic: true,\n\n enableNormal: false,\n\n bevelSize: 1,\n bevelSegments: 0,\n\n // Map from vertexIndex to dataIndex.\n _dataIndices: null,\n\n _vertexOffset: 0,\n _triangleOffset: 0\n };\n},\n/** @lends module:echarts-gl/chart/bars/BarsGeometry.prototype */\n{\n\n resetOffset: function () {\n this._vertexOffset = 0;\n this._triangleOffset = 0;\n },\n\n setBarCount: function (barCount) {\n var enableNormal = this.enableNormal;\n var vertexCount = this.getBarVertexCount() * barCount;\n var triangleCount = this.getBarTriangleCount() * barCount;\n\n if (this.vertexCount !== vertexCount) {\n this.attributes.position.init(vertexCount);\n if (enableNormal) {\n this.attributes.normal.init(vertexCount);\n }\n else {\n this.attributes.normal.value = null;\n }\n this.attributes.color.init(vertexCount);\n }\n\n if (this.triangleCount !== triangleCount) {\n this.indices = vertexCount > 0xffff ? new Uint32Array(triangleCount * 3) : new Uint16Array(triangleCount * 3);\n\n this._dataIndices = new Uint32Array(vertexCount);\n }\n },\n\n getBarVertexCount: function () {\n var bevelSegments = this.bevelSize > 0 ? this.bevelSegments : 0;\n return bevelSegments > 0 ? this._getBevelBarVertexCount(bevelSegments)\n : (this.enableNormal ? 24 : 8);\n },\n\n getBarTriangleCount: function () {\n var bevelSegments = this.bevelSize > 0 ? this.bevelSegments : 0;\n return bevelSegments > 0 ? this._getBevelBarTriangleCount(bevelSegments)\n : 12;\n },\n\n _getBevelBarVertexCount: function (bevelSegments) {\n return (bevelSegments + 1) * 4 * (bevelSegments + 1) * 2;\n },\n\n _getBevelBarTriangleCount: function (bevelSegments) {\n var widthSegments = bevelSegments * 4 + 3;\n var heightSegments = bevelSegments * 2 + 1;\n return (widthSegments + 1) * heightSegments * 2 + 4;\n },\n\n setColor: function (idx, color) {\n var vertexCount = this.getBarVertexCount();\n var start = vertexCount * idx;\n var end = vertexCount * (idx + 1);\n for (var i = start; i < end; i++) {\n this.attributes.color.set(i, color);\n }\n this.dirtyAttribute('color');\n },\n\n /**\n * Get dataIndex of vertex.\n * @param {number} vertexIndex\n */\n getDataIndexOfVertex: function (vertexIndex) {\n return this._dataIndices ? this._dataIndices[vertexIndex] : null;\n },\n\n /**\n * Add a bar\n * @param {Array.} start\n * @param {Array.} end\n * @param {Array.} orient right direction\n * @param {Array.} size size on x and z\n * @param {Array.} color\n */\n addBar: (function () {\n var v3Create = vec3.create;\n var v3ScaleAndAdd = vec3.scaleAndAdd;\n\n var end = v3Create();\n var px = v3Create();\n var py = v3Create();\n var pz = v3Create();\n var nx = v3Create();\n var ny = v3Create();\n var nz = v3Create();\n\n var pts = [];\n var normals = [];\n for (var i = 0; i < 8; i++) {\n pts[i] = v3Create();\n }\n\n var cubeFaces4 = [\n // PX\n [0, 1, 5, 4],\n // NX\n [2, 3, 7, 6],\n // PY\n [4, 5, 6, 7],\n // NY\n [3, 2, 1, 0],\n // PZ\n [0, 4, 7, 3],\n // NZ\n [1, 2, 6, 5]\n ];\n var face4To3 = [\n 0, 1, 2, 0, 2, 3\n ];\n var cubeFaces3 = [];\n for (var i = 0; i < cubeFaces4.length; i++) {\n var face4 = cubeFaces4[i];\n for (var j = 0; j < 2; j++) {\n var face = [];\n for (var k = 0; k < 3; k++) {\n face.push(face4[face4To3[j * 3 + k]]);\n }\n cubeFaces3.push(face);\n }\n }\n return function (start, dir, leftDir, size, color, dataIndex) {\n\n // Use vertex, triangle maybe sorted.\n var startVertex = this._vertexOffset;\n\n if (this.bevelSize > 0 && this.bevelSegments > 0) {\n this._addBevelBar(start, dir, leftDir, size, this.bevelSize, this.bevelSegments, color);\n }\n else {\n vec3.copy(py, dir);\n vec3.normalize(py, py);\n // x * y => z\n vec3.cross(pz, leftDir, py);\n vec3.normalize(pz, pz);\n // y * z => x\n vec3.cross(px, py, pz);\n vec3.normalize(pz, pz);\n\n vec3.negate(nx, px);\n vec3.negate(ny, py);\n vec3.negate(nz, pz);\n\n v3ScaleAndAdd(pts[0], start, px, size[0] / 2);\n v3ScaleAndAdd(pts[0], pts[0], pz, size[2] / 2);\n v3ScaleAndAdd(pts[1], start, px, size[0] / 2);\n v3ScaleAndAdd(pts[1], pts[1], nz, size[2] / 2);\n v3ScaleAndAdd(pts[2], start, nx, size[0] / 2);\n v3ScaleAndAdd(pts[2], pts[2], nz, size[2] / 2);\n v3ScaleAndAdd(pts[3], start, nx, size[0] / 2);\n v3ScaleAndAdd(pts[3], pts[3], pz, size[2] / 2);\n\n v3ScaleAndAdd(end, start, py, size[1]);\n\n v3ScaleAndAdd(pts[4], end, px, size[0] / 2);\n v3ScaleAndAdd(pts[4], pts[4], pz, size[2] / 2);\n v3ScaleAndAdd(pts[5], end, px, size[0] / 2);\n v3ScaleAndAdd(pts[5], pts[5], nz, size[2] / 2);\n v3ScaleAndAdd(pts[6], end, nx, size[0] / 2);\n v3ScaleAndAdd(pts[6], pts[6], nz, size[2] / 2);\n v3ScaleAndAdd(pts[7], end, nx, size[0] / 2);\n v3ScaleAndAdd(pts[7], pts[7], pz, size[2] / 2);\n\n var attributes = this.attributes;\n if (this.enableNormal) {\n normals[0] = px;\n normals[1] = nx;\n normals[2] = py;\n normals[3] = ny;\n normals[4] = pz;\n normals[5] = nz;\n\n var vertexOffset = this._vertexOffset;\n for (var i = 0; i < cubeFaces4.length; i++) {\n var idx3 = this._triangleOffset * 3;\n for (var k = 0; k < 6; k++) {\n this.indices[idx3++] = vertexOffset + face4To3[k];\n }\n vertexOffset += 4;\n this._triangleOffset += 2;\n }\n\n for (var i = 0; i < cubeFaces4.length; i++) {\n var normal = normals[i];\n for (var k = 0; k < 4; k++) {\n var idx = cubeFaces4[i][k];\n attributes.position.set(this._vertexOffset, pts[idx]);\n attributes.normal.set(this._vertexOffset, normal);\n attributes.color.set(this._vertexOffset++, color);\n }\n }\n }\n else {\n for (var i = 0; i < cubeFaces3.length; i++) {\n var idx3 = this._triangleOffset * 3;\n for (var k = 0; k < 3; k++) {\n this.indices[idx3 + k] = cubeFaces3[i][k] + this._vertexOffset;\n }\n this._triangleOffset++;\n }\n\n for (var i = 0; i < pts.length; i++) {\n attributes.position.set(this._vertexOffset, pts[i]);\n attributes.color.set(this._vertexOffset++, color);\n }\n }\n }\n\n var endVerex = this._vertexOffset;\n\n for (var i = startVertex; i < endVerex; i++) {\n this._dataIndices[i] = dataIndex;\n }\n };\n })(),\n\n /**\n * Add a bar with bevel\n * @param {Array.} start\n * @param {Array.} end\n * @param {Array.} orient right direction\n * @param {Array.} size size on x and z\n * @param {number} bevelSize\n * @param {number} bevelSegments\n * @param {Array.} color\n */\n _addBevelBar: (function () {\n var px = vec3.create();\n var py = vec3.create();\n var pz = vec3.create();\n\n var rotateMat = mat3.create();\n\n var bevelStartSize = [];\n\n var xOffsets = [1, -1, -1, 1];\n var zOffsets = [1, 1, -1, -1];\n var yOffsets = [2, 0];\n\n return function (start, dir, leftDir, size, bevelSize, bevelSegments, color) {\n vec3.copy(py, dir);\n vec3.normalize(py, py);\n // x * y => z\n vec3.cross(pz, leftDir, py);\n vec3.normalize(pz, pz);\n // y * z => x\n vec3.cross(px, py, pz);\n vec3.normalize(pz, pz);\n\n rotateMat[0] = px[0]; rotateMat[1] = px[1]; rotateMat[2] = px[2];\n rotateMat[3] = py[0]; rotateMat[4] = py[1]; rotateMat[5] = py[2];\n rotateMat[6] = pz[0]; rotateMat[7] = pz[1]; rotateMat[8] = pz[2];\n\n bevelSize = Math.min(size[0], size[2]) / 2 * bevelSize;\n\n for (var i = 0; i < 3; i++) {\n bevelStartSize[i] = Math.max(size[i] - bevelSize * 2, 0);\n }\n var rx = (size[0] - bevelStartSize[0]) / 2;\n var ry = (size[1] - bevelStartSize[1]) / 2;\n var rz = (size[2] - bevelStartSize[2]) / 2;\n\n var pos = [];\n var normal = [];\n var vertexOffset = this._vertexOffset;\n\n var endIndices = [];\n for (var i = 0; i < 2; i++) {\n endIndices[i] = endIndices[i] = [];\n\n for (var m = 0; m <= bevelSegments; m++) {\n for (var j = 0; j < 4; j++) {\n if ((m === 0 && i === 0) || (i === 1 && m === bevelSegments)) {\n endIndices[i].push(vertexOffset);\n }\n for (var n = 0; n <= bevelSegments; n++) {\n\n var phi = n / bevelSegments * Math.PI / 2 + Math.PI / 2 * j;\n var theta = m / bevelSegments * Math.PI / 2 + Math.PI / 2 * i;\n // var r = rx < ry ? (rz < rx ? rz : rx) : (rz < ry ? rz : ry);\n normal[0] = rx * Math.cos(phi) * Math.sin(theta);\n normal[1] = ry * Math.cos(theta);\n normal[2] = rz * Math.sin(phi) * Math.sin(theta);\n pos[0] = normal[0] + xOffsets[j] * bevelStartSize[0] / 2;\n pos[1] = (normal[1] + ry) + yOffsets[i] * bevelStartSize[1] / 2;\n pos[2] = normal[2] + zOffsets[j] * bevelStartSize[2] / 2;\n\n // Normal is not right if rx, ry, rz not equal.\n if (!(Math.abs(rx - ry) < 1e-6 && Math.abs(ry - rz) < 1e-6)) {\n normal[0] /= rx * rx;\n normal[1] /= ry * ry;\n normal[2] /= rz * rz;\n }\n vec3.normalize(normal, normal);\n\n vec3.transformMat3(pos, pos, rotateMat);\n vec3.transformMat3(normal, normal, rotateMat);\n vec3.add(pos, pos, start);\n\n this.attributes.position.set(vertexOffset, pos);\n if (this.enableNormal) {\n this.attributes.normal.set(vertexOffset, normal);\n }\n this.attributes.color.set(vertexOffset, color);\n vertexOffset++;\n }\n }\n }\n }\n\n var widthSegments = bevelSegments * 4 + 3;\n var heightSegments = bevelSegments * 2 + 1;\n\n var len = widthSegments + 1;\n\n for (var j = 0; j < heightSegments; j ++) {\n for (var i = 0; i <= widthSegments; i ++) {\n var i2 = j * len + i + this._vertexOffset;\n var i1 = (j * len + (i + 1) % len) + this._vertexOffset;\n var i4 = (j + 1) * len + (i + 1) % len + this._vertexOffset;\n var i3 = (j + 1) * len + i + this._vertexOffset;\n\n this.setTriangleIndices(this._triangleOffset++, [i4, i2, i1]);\n this.setTriangleIndices(this._triangleOffset++, [i4, i3, i2]);\n }\n }\n\n // Close top and bottom\n this.setTriangleIndices(this._triangleOffset++, [endIndices[0][0], endIndices[0][2], endIndices[0][1]]);\n this.setTriangleIndices(this._triangleOffset++, [endIndices[0][0], endIndices[0][3], endIndices[0][2]]);\n this.setTriangleIndices(this._triangleOffset++, [endIndices[1][0], endIndices[1][1], endIndices[1][2]]);\n this.setTriangleIndices(this._triangleOffset++, [endIndices[1][0], endIndices[1][2], endIndices[1][3]]);\n\n this._vertexOffset = vertexOffset;\n };\n })()\n});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.defaults(BarsGeometry.prototype, __WEBPACK_IMPORTED_MODULE_1__dynamicConvertMixin__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.defaults(BarsGeometry.prototype, __WEBPACK_IMPORTED_MODULE_2__trianglesSortMixin__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (BarsGeometry);\n\n/***/ }),\n/* 231 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__component_common_componentShadingMixin__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_format__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common_formatTooltip__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_createList__ = __webpack_require__(50);\n\n\n\n\n\n\nvar Bar3DSeries = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendSeriesModel({\n\n type: 'series.bar3D',\n\n dependencies: ['globe'],\n\n visualColorAccessPath: 'itemStyle.color',\n\n getInitialData: function (option, ecModel) {\n return Object(__WEBPACK_IMPORTED_MODULE_4__common_createList__[\"a\" /* default */])(this);\n },\n\n getFormattedLabel: function (dataIndex, status, dataType, dimIndex) {\n var text = __WEBPACK_IMPORTED_MODULE_2__util_format__[\"a\" /* default */].getFormattedLabel(this, dataIndex, status, dataType, dimIndex);\n if (text == null) {\n text = this.getData().get('z', dataIndex);\n }\n return text;\n },\n\n formatTooltip: function (dataIndex) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__common_formatTooltip__[\"a\" /* default */])(this, dataIndex);\n },\n\n defaultOption: {\n\n coordinateSystem: 'cartesian3D',\n\n globeIndex: 0,\n\n grid3DIndex: 0,\n\n zlevel: -10,\n\n // bevelSize, 0 has no bevel\n bevelSize: 0,\n // higher is smoother\n bevelSmoothness: 2,\n\n // Bar width and depth\n // barSize: [1, 1],\n\n // On grid plane when coordinateSystem is cartesian3D\n onGridPlane: 'xy',\n\n // Shading of globe\n shading: 'color',\n\n minHeight: 0,\n\n itemStyle: {\n opacity: 1\n },\n\n label: {\n show: false,\n distance: 2,\n textStyle: {\n fontSize: 14,\n color: '#000',\n backgroundColor: 'rgba(255,255,255,0.7)',\n padding: 3,\n borderRadius: 3\n }\n },\n\n emphasis: {\n label: {\n show: true\n }\n },\n\n animationDurationUpdate: 500\n }\n});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Bar3DSeries.prototype, __WEBPACK_IMPORTED_MODULE_1__component_common_componentShadingMixin__[\"a\" /* default */]);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (Bar3DSeries);\n\n/***/ }),\n/* 232 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__line3D_Line3DSeries__ = __webpack_require__(233);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__line3D_Line3DView__ = __webpack_require__(234);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__ = __webpack_require__(17);\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerVisual(__WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol___default()('line3D', 'circle', null));\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerVisual(Object(__WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__[\"a\" /* default */])('line3D'));\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerLayout(function (ecModel, api) {\n ecModel.eachSeriesByType('line3D', function (seriesModel) {\n var data = seriesModel.getData();\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys) {\n if (coordSys.type !== 'cartesian3D') {\n if (true) {\n console.error('line3D needs cartesian3D coordinateSystem');\n }\n return;\n }\n var points = new Float32Array(data.count() * 3);\n\n var item = [];\n var out = [];\n\n var coordDims = coordSys.dimensions;\n var dims = coordDims.map(function (coordDim) {\n return seriesModel.coordDimToDataDim(coordDim)[0];\n });\n\n if (coordSys) {\n data.each(dims, function (x, y, z, idx) {\n item[0] = x;\n item[1] = y;\n item[2] = z;\n\n coordSys.dataToPoint(item, out);\n points[idx * 3] = out[0];\n points[idx * 3 + 1] = out[1];\n points[idx * 3 + 2] = out[2];\n });\n }\n data.setLayout('points', points);\n }\n });\n});\n\n/***/ }),\n/* 233 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_formatTooltip__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_createList__ = __webpack_require__(50);\n\n\n\n\nvar Line3DSeries = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendSeriesModel({\n\n type: 'series.line3D',\n\n dependencies: ['grid3D'],\n\n visualColorAccessPath: 'lineStyle.color',\n\n getInitialData: function (option, ecModel) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__common_createList__[\"a\" /* default */])(this);\n },\n\n formatTooltip: function (dataIndex) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__common_formatTooltip__[\"a\" /* default */])(this, dataIndex);\n },\n\n defaultOption: {\n coordinateSystem: 'cartesian3D',\n zlevel: -10,\n\n // Cartesian coordinate system\n grid3DIndex: 0,\n\n lineStyle: {\n width: 2\n },\n\n animationDurationUpdate: 500\n }\n});\n\n/* unused harmony default export */ var _unused_webpack_default_export = (Line3DSeries);\n\n/***/ }),\n/* 234 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_retrieve__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_geometry_Lines3D__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_claygl_src_math_Matrix4__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_claygl_src_math_Vector3__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_zrender_lib_contain_line__ = __webpack_require__(235);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_zrender_lib_contain_line___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_zrender_lib_contain_line__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util_shader_lines3D_glsl_js__ = __webpack_require__(46);\n\n\n\n\n\n\n\n\n\n\n\nvar vec3 = __WEBPACK_IMPORTED_MODULE_7_claygl_src_dep_glmatrix__[\"a\" /* default */].vec3;\n\n__WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.import(__WEBPACK_IMPORTED_MODULE_8__util_shader_lines3D_glsl_js__[\"a\" /* default */]);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendChartView({\n\n type: 'line3D',\n\n __ecgl__: true,\n\n init: function (ecModel, api) {\n\n this.groupGL = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n\n this._api = api;\n },\n\n render: function (seriesModel, ecModel, api) {\n var tmp = this._prevLine3DMesh;\n this._prevLine3DMesh = this._line3DMesh;\n this._line3DMesh = tmp;\n\n if (!this._line3DMesh) {\n this._line3DMesh = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n geometry: new __WEBPACK_IMPORTED_MODULE_3__util_geometry_Lines3D__[\"a\" /* default */]({\n useNativeLine: false,\n sortTriangles: true\n }),\n material: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Material({\n shader: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createShader('ecgl.meshLines3D')\n }),\n // Render after axes\n renderOrder: 10\n });\n this._line3DMesh.geometry.pick = this._pick.bind(this);\n }\n\n this.groupGL.remove(this._prevLine3DMesh);\n this.groupGL.add(this._line3DMesh);\n\n var coordSys = seriesModel.coordinateSystem;\n if (coordSys && coordSys.viewGL) {\n coordSys.viewGL.add(this.groupGL);\n // TODO\n var methodName = coordSys.viewGL.isLinearSpace() ? 'define' : 'undefine';\n this._line3DMesh.material[methodName]('fragment', 'SRGB_DECODE');\n }\n this._doRender(seriesModel, api);\n\n this._data = seriesModel.getData();\n\n this._camera = coordSys.viewGL.camera;\n\n this.updateCamera();\n\n this._updateAnimation(seriesModel);\n },\n\n updateCamera: function () {\n this._updateNDCPosition();\n },\n\n _doRender: function (seriesModel, api) {\n var data = seriesModel.getData();\n var lineMesh = this._line3DMesh;\n\n lineMesh.geometry.resetOffset();\n\n var points = data.getLayout('points');\n\n var colorArr = [];\n var vertexColors = new Float32Array(points.length / 3 * 4);\n var colorOffset = 0;\n var hasTransparent = false;\n\n data.each(function (idx) {\n var color = data.getItemVisual(idx, 'color');\n var opacity = data.getItemVisual(idx, 'opacity');\n if (opacity == null) {\n opacity = 1;\n }\n\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(color, colorArr);\n colorArr[3] *= opacity;\n vertexColors[colorOffset++] = colorArr[0];\n vertexColors[colorOffset++] = colorArr[1];\n vertexColors[colorOffset++] = colorArr[2];\n vertexColors[colorOffset++] = colorArr[3];\n\n if (colorArr[3] < 0.99) {\n hasTransparent = true;\n }\n });\n\n lineMesh.geometry.setVertexCount(\n lineMesh.geometry.getPolylineVertexCount(points)\n );\n lineMesh.geometry.setTriangleCount(\n lineMesh.geometry.getPolylineTriangleCount(points)\n );\n\n lineMesh.geometry.addPolyline(\n points, vertexColors,\n __WEBPACK_IMPORTED_MODULE_2__util_retrieve__[\"a\" /* default */].firstNotNull(seriesModel.get('lineStyle.width'), 1)\n );\n\n lineMesh.geometry.dirty();\n lineMesh.geometry.updateBoundingBox();\n\n var material = lineMesh.material;\n material.transparent = hasTransparent;\n material.depthMask = !hasTransparent;\n\n var debugWireframeModel = seriesModel.getModel('debug.wireframe');\n if (debugWireframeModel.get('show')) {\n lineMesh.geometry.createAttribute('barycentric', 'float', 3);\n lineMesh.geometry.generateBarycentric();\n lineMesh.material.set('both', 'WIREFRAME_TRIANGLE');\n lineMesh.material.set(\n 'wireframeLineColor', __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(\n debugWireframeModel.get('lineStyle.color') || 'rgba(0,0,0,0.5)'\n )\n );\n lineMesh.material.set(\n 'wireframeLineWidth', __WEBPACK_IMPORTED_MODULE_2__util_retrieve__[\"a\" /* default */].firstNotNull(\n debugWireframeModel.get('lineStyle.width'), 1\n )\n );\n }\n else {\n lineMesh.material.set('both', 'WIREFRAME_TRIANGLE');\n }\n\n this._points = points;\n\n this._initHandler(seriesModel, api);\n },\n\n _updateAnimation: function (seriesModel) {\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].updateVertexAnimation(\n [['prevPosition', 'position'],\n ['prevPositionPrev', 'positionPrev'],\n ['prevPositionNext', 'positionNext']],\n this._prevLine3DMesh,\n this._line3DMesh,\n seriesModel\n );\n },\n\n _initHandler: function (seriesModel, api) {\n var data = seriesModel.getData();\n var coordSys = seriesModel.coordinateSystem;\n var lineMesh = this._line3DMesh;\n\n var lastDataIndex = -1;\n\n lineMesh.seriesIndex = seriesModel.seriesIndex;\n\n lineMesh.off('mousemove');\n lineMesh.off('mouseout');\n lineMesh.on('mousemove', function (e) {\n var value = coordSys.pointToData(e.point.array);\n var dataIndex = data.indicesOfNearest('x', value[0])[0];\n if (dataIndex !== lastDataIndex) {\n // this._downplay(lastDataIndex);\n // this._highlight(dataIndex);\n\n api.dispatchAction({\n type: 'grid3DShowAxisPointer',\n value: [data.get('x', dataIndex), data.get('y', dataIndex), data.get('z', dataIndex)]\n });\n\n lineMesh.dataIndex = dataIndex;\n }\n\n\n lastDataIndex = dataIndex;\n }, this);\n lineMesh.on('mouseout', function (e) {\n // this._downplay(lastDataIndex);\n lastDataIndex = -1;\n lineMesh.dataIndex = -1;\n api.dispatchAction({\n type: 'grid3DHideAxisPointer'\n });\n }, this);\n },\n\n // _highlight: function (dataIndex) {\n // var data = this._data;\n // if (!data) {\n // return;\n // }\n\n // },\n\n // _downplay: function (dataIndex) {\n // var data = this._data;\n // if (!data) {\n // return;\n // }\n // },\n\n _updateNDCPosition: function () {\n\n var worldViewProjection = new __WEBPACK_IMPORTED_MODULE_4_claygl_src_math_Matrix4__[\"a\" /* default */]();\n var camera = this._camera;\n __WEBPACK_IMPORTED_MODULE_4_claygl_src_math_Matrix4__[\"a\" /* default */].multiply(worldViewProjection, camera.projectionMatrix, camera.viewMatrix);\n\n var positionNDC = this._positionNDC;\n var points = this._points;\n var nPoints = points.length / 3;\n if (!positionNDC || positionNDC.length / 2 !== nPoints) {\n positionNDC = this._positionNDC = new Float32Array(nPoints * 2);\n }\n var pos = [];\n for (var i = 0; i < nPoints; i++) {\n var i3 = i * 3;\n var i2 = i * 2;\n pos[0] = points[i3];\n pos[1] = points[i3 + 1];\n pos[2] = points[i3 + 2];\n pos[3] = 1;\n\n vec3.transformMat4(pos, pos, worldViewProjection.array);\n positionNDC[i2] = pos[0] / pos[3];\n positionNDC[i2 + 1] = pos[1] / pos[3];\n }\n },\n\n _pick: function (x, y, renderer, camera, renderable, out) {\n var positionNDC = this._positionNDC;\n var seriesModel = this._data.hostModel;\n var lineWidth = seriesModel.get('lineStyle.width');\n\n var dataIndex = -1;\n var width = renderer.viewport.width;\n var height = renderer.viewport.height;\n\n var halfWidth = width * 0.5;\n var halfHeight = height * 0.5;\n x = (x + 1) * halfWidth;\n y = (y + 1) * halfHeight;\n\n for (var i = 1; i < positionNDC.length / 2; i++) {\n var x0 = (positionNDC[(i - 1) * 2] + 1) * halfWidth;\n var y0 = (positionNDC[(i - 1) * 2 + 1] + 1) * halfHeight;\n var x1 = (positionNDC[i * 2] + 1) * halfWidth;\n var y1 = (positionNDC[i * 2 + 1] + 1) * halfHeight;\n\n if (__WEBPACK_IMPORTED_MODULE_6_zrender_lib_contain_line___default.a.containStroke(x0, y0, x1, y1, lineWidth, x, y)) {\n var dist0 = (x0 - x) * (x0 - x) + (y0 - y) * (y0 - y);\n var dist1 = (x1 - x) * (x1 - x) + (y1 - y) * (y1 - y);\n // Nearest point.\n dataIndex = dist0 < dist1 ? (i - 1) : i;\n }\n }\n\n if (dataIndex >= 0) {\n var i3 = dataIndex * 3;\n var point = new __WEBPACK_IMPORTED_MODULE_5_claygl_src_math_Vector3__[\"a\" /* default */](\n this._points[i3],\n this._points[i3 + 1],\n this._points[i3 + 2]\n );\n\n out.push({\n dataIndex: dataIndex,\n point: point,\n pointWorld: point.clone(),\n target: this._line3DMesh,\n distance: this._camera.getWorldPosition().dist(point)\n });\n }\n },\n\n remove: function () {\n this.groupGL.removeAll();\n },\n\n dispose: function () {\n this.groupGL.removeAll();\n }\n}));\n\n/***/ }),\n/* 235 */\n/***/ (function(module, exports) {\n\n/**\n * 线段包含判断\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} lineWidth\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\nfunction containStroke(x0, y0, x1, y1, lineWidth, x, y) {\n if (lineWidth === 0) {\n return false;\n }\n\n var _l = lineWidth;\n var _a = 0;\n var _b = x0; // Quick reject\n\n if (y > y0 + _l && y > y1 + _l || y < y0 - _l && y < y1 - _l || x > x0 + _l && x > x1 + _l || x < x0 - _l && x < x1 - _l) {\n return false;\n }\n\n if (x0 !== x1) {\n _a = (y0 - y1) / (x0 - x1);\n _b = (x0 * y1 - x1 * y0) / (x0 - x1);\n } else {\n return Math.abs(x - x0) <= _l / 2;\n }\n\n var tmp = _a * x - y + _b;\n\n var _s = tmp * tmp / (_a * _a + 1);\n\n return _s <= _l / 2 * _l / 2;\n}\n\nexports.containStroke = containStroke;\n\n/***/ }),\n/* 236 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__scatter3D_Scatter3DSeries__ = __webpack_require__(237);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__scatter3D_Scatter3DView__ = __webpack_require__(238);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__ = __webpack_require__(17);\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerVisual(__WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol___default()('scatter3D', 'circle', null));\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerVisual(Object(__WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__[\"a\" /* default */])('scatter3D'));\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerLayout({\n seriesType: 'scatter3D',\n reset: function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys) {\n var coordDims = coordSys.dimensions;\n if (coordDims.length < 3) {\n if (true) {\n console.error('scatter3D needs 3D coordinateSystem');\n }\n return;\n }\n var dims = coordDims.map(function (coordDim) {\n return seriesModel.coordDimToDataDim(coordDim)[0];\n });\n\n var item = [];\n var out = [];\n\n return {\n progress: function (params, data) {\n var points = new Float32Array((params.end - params.start) * 3);\n for (var idx = params.start; idx < params.end; idx++) {\n var idx3 = (idx - params.start) * 3;\n item[0] = data.get(dims[0], idx);\n item[1] = data.get(dims[1], idx);\n item[2] = data.get(dims[2], idx);\n coordSys.dataToPoint(item, out);\n points[idx3] = out[0];\n points[idx3 + 1] = out[1];\n points[idx3 + 2] = out[2];\n }\n data.setLayout('points', points);\n }\n };\n }\n }\n});\n\n/***/ }),\n/* 237 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_format__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_formatTooltip__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common_createList__ = __webpack_require__(50);\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendSeriesModel({\n\n type: 'series.scatter3D',\n\n dependencies: ['globe', 'grid3D', 'geo3D'],\n\n visualColorAccessPath: 'itemStyle.color',\n\n getInitialData: function (option, ecModel) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__common_createList__[\"a\" /* default */])(this);\n },\n\n getFormattedLabel: function (dataIndex, status, dataType, dimIndex) {\n var text = __WEBPACK_IMPORTED_MODULE_1__util_format__[\"a\" /* default */].getFormattedLabel(this, dataIndex, status, dataType, dimIndex);\n if (text == null) {\n var data = this.getData();\n var lastDim = data.dimensions[data.dimensions.length - 1];\n text = data.get(lastDim, dataIndex);\n }\n return text;\n },\n\n formatTooltip: function (dataIndex) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__common_formatTooltip__[\"a\" /* default */])(this, dataIndex);\n },\n\n defaultOption: {\n coordinateSystem: 'cartesian3D',\n zlevel: -10,\n\n progressive: 1e5,\n progressiveThreshold: 1e5,\n\n // Cartesian coordinate system\n grid3DIndex: 0,\n\n globeIndex: 0,\n\n symbol: 'circle',\n symbolSize: 10,\n\n // Support source-over, lighter\n blendMode: 'source-over',\n\n label: {\n show: false,\n position: 'right',\n // Screen space distance\n distance: 5,\n\n textStyle: {\n fontSize: 14,\n color: '#000',\n backgroundColor: 'rgba(255,255,255,0.7)',\n padding: 3,\n borderRadius: 3\n }\n },\n\n itemStyle: {\n opacity: 0.8\n },\n\n emphasis: {\n label: {\n show: true\n }\n },\n\n animationDurationUpdate: 500\n }\n});\n\n/***/ }),\n/* 238 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_retrieve__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_format__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_PointsBuilder__ = __webpack_require__(67);\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendChartView({\n\n type: 'scatter3D',\n\n __ecgl__: true,\n\n init: function (ecModel, api) {\n\n this.groupGL = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n\n this._pointsBuilderList = [];\n this._currentStep = 0;\n },\n\n render: function (seriesModel, ecModel, api) {\n this.groupGL.removeAll();\n if (!seriesModel.getData().count()) {\n return;\n }\n\n var coordSys = seriesModel.coordinateSystem;\n if (coordSys && coordSys.viewGL) {\n coordSys.viewGL.add(this.groupGL);\n this._camera = coordSys.viewGL.camera;\n\n var pointsBuilder = this._pointsBuilderList[0];\n if (!pointsBuilder) {\n pointsBuilder = this._pointsBuilderList[0] = new __WEBPACK_IMPORTED_MODULE_4__common_PointsBuilder__[\"a\" /* default */](false, api);\n }\n this._pointsBuilderList.length = 1;\n\n this.groupGL.add(pointsBuilder.rootNode);\n pointsBuilder.update(seriesModel, ecModel, api);\n pointsBuilder.updateView(coordSys.viewGL.camera);\n }\n else {\n if (true) {\n throw new Error('Invalid coordinate system');\n }\n }\n },\n\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n if (coordSys && coordSys.viewGL) {\n coordSys.viewGL.add(this.groupGL);\n this._camera = coordSys.viewGL.camera;\n }\n else {\n if (true) {\n throw new Error('Invalid coordinate system');\n }\n }\n\n this.groupGL.removeAll();\n this._currentStep = 0;\n },\n\n incrementalRender: function (params, seriesModel, ecModel, api) {\n // TODO Sort transparency.\n if (params.end <= params.start) {\n return;\n }\n var pointsBuilder = this._pointsBuilderList[this._currentStep];\n if (!pointsBuilder) {\n pointsBuilder = new __WEBPACK_IMPORTED_MODULE_4__common_PointsBuilder__[\"a\" /* default */](false, api);\n this._pointsBuilderList[this._currentStep] = pointsBuilder;\n }\n this.groupGL.add(pointsBuilder.rootNode);\n\n pointsBuilder.update(seriesModel, ecModel, api, params.start, params.end);\n pointsBuilder.updateView(seriesModel.coordinateSystem.viewGL.camera);\n\n this._currentStep++;\n },\n\n updateCamera: function () {\n this._pointsBuilderList.forEach(function (pointsBuilder) {\n pointsBuilder.updateView(this._camera);\n }, this);\n },\n\n highlight: function (seriesModel, ecModel, api, payload) {\n this._toggleStatus('highlight', seriesModel, ecModel, api, payload);\n },\n\n downplay: function (seriesModel, ecModel, api, payload) {\n this._toggleStatus('downplay', seriesModel, ecModel, api, payload);\n },\n\n _toggleStatus: function (status, seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData();\n var dataIndex = __WEBPACK_IMPORTED_MODULE_2__util_retrieve__[\"a\" /* default */].queryDataIndex(data, payload);\n\n var isHighlight = status === 'highlight';\n if (dataIndex != null) {\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.each(__WEBPACK_IMPORTED_MODULE_3__util_format__[\"a\" /* default */].normalizeToArray(dataIndex), function (dataIdx) {\n for (var i = 0; i < this._pointsBuilderList.length; i++) {\n var pointsBuilder = this._pointsBuilderList[i];\n isHighlight ? pointsBuilder.highlight(data, dataIdx) : pointsBuilder.downplay(data, dataIdx);\n }\n }, this);\n }\n else {\n // PENDING, OPTIMIZE\n data.each(function (dataIdx) {\n for (var i = 0; i < this._pointsBuilderList.length; i++) {\n var pointsBuilder = this._pointsBuilderList[i];\n isHighlight ? pointsBuilder.highlight(data, dataIdx) : pointsBuilder.downplay(data, dataIdx);\n }\n });\n }\n },\n\n dispose: function () {\n this.groupGL.removeAll();\n },\n\n remove: function () {\n this.groupGL.removeAll();\n }\n});\n\n/***/ }),\n/* 239 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n\n\nfunction makeSprite(size, canvas, draw) {\n // http://simonsarris.com/blog/346-how-you-clear-your-canvas-matters\n // http://jsperf.com/canvasclear\n // Set width and height is fast\n // And use the exist canvas if possible\n // http://jsperf.com/create-canvas-vs-set-width-height/2\n var canvas = canvas || document.createElement('canvas');\n canvas.width = size;\n canvas.height = size;\n var ctx = canvas.getContext('2d');\n\n draw && draw(ctx);\n\n return canvas;\n}\n\nfunction makePath(symbol, symbolSize, style, marginBias) {\n if (!__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.isArray(symbolSize)) {\n symbolSize = [symbolSize, symbolSize];\n }\n var margin = spriteUtil.getMarginByStyle(style, marginBias);\n var width = symbolSize[0] + margin.left + margin.right;\n var height = symbolSize[1] + margin.top + margin.bottom;\n var path = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.helper.createSymbol(symbol, 0, 0, symbolSize[0], symbolSize[1]);\n\n var size = Math.max(width, height);\n\n path.position = [margin.left, margin.top];\n if (width > height) {\n path.position[1] += (size - height) / 2;\n }\n else {\n path.position[0] += (size - width) / 2;\n }\n\n var rect = path.getBoundingRect();\n path.position[0] -= rect.x;\n path.position[1] -= rect.y;\n\n path.setStyle(style);\n\n path.update();\n\n path.__size = size;\n\n return path;\n}\n\n // http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf\nfunction generateSDF(ctx, sourceImageData, range) {\n\n var sourceWidth = sourceImageData.width;\n var sourceHeight = sourceImageData.height;\n\n var width = ctx.canvas.width;\n var height = ctx.canvas.height;\n\n var scaleX = sourceWidth / width;\n var scaleY = sourceHeight / height;\n\n function sign(r) {\n return r < 128 ? 1 : -1;\n }\n function searchMinDistance(x, y) {\n var minDistSqr = Infinity;\n x = Math.floor(x * scaleX);\n y = Math.floor(y * scaleY);\n var i = y * sourceWidth + x;\n var r = sourceImageData.data[i * 4];\n var a = sign(r);\n // Search for min distance\n for (var y2 = Math.max(y - range, 0); y2 < Math.min(y + range, sourceHeight); y2++) {\n for (var x2 = Math.max(x - range, 0); x2 < Math.min(x + range, sourceWidth); x2++) {\n var i = y2 * sourceWidth + x2;\n var r2 = sourceImageData.data[i * 4];\n var b = sign(r2);\n var dx = x2 - x;\n var dy = y2 - y;\n if (a !== b) {\n var distSqr = dx * dx + dy * dy;\n if (distSqr < minDistSqr) {\n minDistSqr = distSqr;\n }\n }\n }\n }\n return a * Math.sqrt(minDistSqr);\n }\n\n var sdfImageData = ctx.createImageData(width, height);\n for (var y = 0; y < height; y++) {\n for (var x = 0; x < width; x++) {\n var dist = searchMinDistance(x, y);\n\n var normalized = dist / range * 0.5 + 0.5;\n var i = (y * width + x) * 4;\n sdfImageData.data[i++] = (1.0 - normalized) * 255;\n sdfImageData.data[i++] = (1.0 - normalized) * 255;\n sdfImageData.data[i++] = (1.0 - normalized) * 255;\n sdfImageData.data[i++] = 255;\n }\n }\n\n return sdfImageData;\n}\n\nvar spriteUtil = {\n\n getMarginByStyle: function (style) {\n var minMargin = style.minMargin || 0;\n\n var lineWidth = 0;\n if (style.stroke && style.stroke !== 'none') {\n lineWidth = style.lineWidth == null ? 1 : style.lineWidth;\n }\n var shadowBlurSize = style.shadowBlur || 0;\n var shadowOffsetX = style.shadowOffsetX || 0;\n var shadowOffsetY = style.shadowOffsetY || 0;\n\n var margin = {};\n margin.left = Math.max(lineWidth / 2, -shadowOffsetX + shadowBlurSize, minMargin);\n margin.right = Math.max(lineWidth / 2, shadowOffsetX + shadowBlurSize, minMargin);\n margin.top = Math.max(lineWidth / 2, -shadowOffsetY + shadowBlurSize, minMargin);\n margin.bottom = Math.max(lineWidth / 2, shadowOffsetY + shadowBlurSize, minMargin);\n\n return margin;\n },\n\n // TODO Not consider shadowOffsetX, shadowOffsetY.\n /**\n * @param {string} symbol\n * @param {number | Array.} symbolSize\n * @param {Object} style\n */\n createSymbolSprite: function (symbol, symbolSize, style, canvas) {\n var path = makePath(symbol, symbolSize, style);\n\n var margin = spriteUtil.getMarginByStyle(style);\n\n return {\n image: makeSprite(path.__size, canvas, function (ctx) {\n path.brush(ctx);\n }),\n margin: margin\n };\n },\n\n createSDFFromCanvas: function (canvas, size, range, outCanvas) {\n // TODO Create a low resolution SDF from high resolution image.\n return makeSprite(size, outCanvas, function (outCtx) {\n var ctx = canvas.getContext('2d');\n var imgData = ctx.getImageData(0, 0, canvas.width, canvas.height);\n\n outCtx.putImageData(generateSDF(outCtx, imgData, range), 0, 0);\n });\n },\n\n createSimpleSprite: function (size, canvas) {\n return makeSprite(size, canvas, function (ctx) {\n var halfSize = size / 2;\n ctx.beginPath();\n ctx.arc(halfSize, halfSize, 60, 0, Math.PI * 2, false) ;\n ctx.closePath();\n\n var gradient = ctx.createRadialGradient(\n halfSize, halfSize, 0, halfSize, halfSize, halfSize\n );\n gradient.addColorStop(0, 'rgba(255, 255, 255, 1)');\n gradient.addColorStop(0.5, 'rgba(255, 255, 255, 0.5)');\n gradient.addColorStop(1, 'rgba(255, 255, 255, 0)');\n ctx.fillStyle = gradient;\n ctx.fill();\n });\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (spriteUtil);\n\n/***/ }),\n/* 240 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_geometry_verticesSortMixin__ = __webpack_require__(241);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__sdfSprite_glsl_js__ = __webpack_require__(242);\n\n\n\n\nvar vec4 = __WEBPACK_IMPORTED_MODULE_3_claygl_src_dep_glmatrix__[\"a\" /* default */].vec4;\n\n\n__WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].Shader.import(__WEBPACK_IMPORTED_MODULE_4__sdfSprite_glsl_js__[\"a\" /* default */]);\n\nvar PointsMesh = __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].Mesh.extend(function () {\n var geometry = new __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].Geometry({\n dynamic: true,\n attributes: {\n color: new __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].Geometry.Attribute('color', 'float', 4, 'COLOR'),\n position: new __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].Geometry.Attribute('position', 'float', 3, 'POSITION'),\n size: new __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].Geometry.Attribute('size', 'float', 1),\n prevPosition: new __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].Geometry.Attribute('prevPosition', 'float', 3),\n prevSize: new __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].Geometry.Attribute('prevSize', 'float', 1)\n }\n });\n __WEBPACK_IMPORTED_MODULE_2_echarts_lib_echarts___default.a.util.extend(geometry, __WEBPACK_IMPORTED_MODULE_1__util_geometry_verticesSortMixin__[\"a\" /* default */]);\n\n var material = new __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].Material({\n shader: __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].createShader('ecgl.sdfSprite'),\n transparent: true,\n depthMask: false\n });\n material.enableTexture('sprite');\n material.define('both', 'VERTEX_COLOR');\n material.define('both', 'VERTEX_SIZE');\n\n var sdfTexture = new __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].Texture2D({\n image: document.createElement('canvas'),\n flipY: false\n });\n\n material.set('sprite', sdfTexture);\n\n // Custom pick methods.\n geometry.pick = this._pick.bind(this);\n\n return {\n geometry: geometry,\n material: material,\n mode: __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].Mesh.POINTS,\n\n sizeScale: 1\n };\n}, {\n\n _pick: function (x, y, renderer, camera, renderable, out) {\n var positionNDC = this._positionNDC;\n if (!positionNDC) {\n return;\n }\n\n var viewport = renderer.viewport;\n var ndcScaleX = 2 / viewport.width;\n var ndcScaleY = 2 / viewport.height;\n // From near to far. indices have been sorted.\n for (var i = this.geometry.vertexCount - 1; i >= 0; i--) {\n var idx;\n if (!this.geometry.indices) {\n idx = i;\n }\n else {\n idx = this.geometry.indices[i];\n }\n\n var cx = positionNDC[idx * 2];\n var cy = positionNDC[idx * 2 + 1];\n\n var size = this.geometry.attributes.size.get(idx) / this.sizeScale;\n var halfSize = size / 2;\n\n if (\n x > (cx - halfSize * ndcScaleX) && x < (cx + halfSize * ndcScaleX)\n && y > (cy - halfSize * ndcScaleY) && y < (cy + halfSize * ndcScaleY)\n ) {\n var point = new __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].Vector3();\n var pointWorld = new __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].Vector3();\n this.geometry.attributes.position.get(idx, point.array);\n __WEBPACK_IMPORTED_MODULE_0__util_graphicGL__[\"a\" /* default */].Vector3.transformMat4(pointWorld, point, this.worldTransform);\n out.push({\n vertexIndex: idx,\n point: point,\n pointWorld: pointWorld,\n target: this,\n distance: pointWorld.distance(camera.getWorldPosition())\n });\n }\n }\n },\n\n updateNDCPosition: function (worldViewProjection, is2D, api) {\n var positionNDC = this._positionNDC;\n var geometry = this.geometry;\n if (!positionNDC || positionNDC.length / 2 !== geometry.vertexCount) {\n positionNDC = this._positionNDC = new Float32Array(geometry.vertexCount * 2);\n }\n\n var pos = vec4.create();\n for (var i = 0; i < geometry.vertexCount; i++) {\n geometry.attributes.position.get(i, pos);\n pos[3] = 1;\n vec4.transformMat4(pos, pos, worldViewProjection.array);\n vec4.scale(pos, pos, 1 / pos[3]);\n\n positionNDC[i * 2] = pos[0];\n positionNDC[i * 2 + 1] = pos[1];\n }\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (PointsMesh);\n\n/***/ }),\n/* 241 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ProgressiveQuickSort__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n\n\nvar vec3 = __WEBPACK_IMPORTED_MODULE_1_claygl_src_dep_glmatrix__[\"a\" /* default */].vec3;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\n needsSortVertices: function () {\n return this.sortVertices;\n },\n\n needsSortVerticesProgressively: function () {\n return this.needsSortVertices() && this.vertexCount >= 2e4;\n },\n\n doSortVertices: function (cameraPos, frame) {\n var indices = this.indices;\n var p = vec3.create();\n\n if (!indices) {\n indices = this.indices = this.vertexCount > 0xffff ? new Uint32Array(this.vertexCount) : new Uint16Array(this.vertexCount);\n for (var i = 0; i < indices.length; i++) {\n indices[i] = i;\n }\n }\n // Do progressive quick sort.\n if (frame === 0) {\n var posAttr = this.attributes.position;\n var cameraPos = cameraPos.array;\n var noneCount = 0;\n if (!this._zList || this._zList.length !== this.vertexCount) {\n this._zList = new Float32Array(this.vertexCount);\n }\n\n var firstZ;\n for (var i = 0; i < this.vertexCount; i++) {\n posAttr.get(i, p);\n // Camera position is in object space\n var z = vec3.sqrDist(p, cameraPos);\n if (isNaN(z)) {\n // Put far away, NaN value may cause sort slow\n z = 1e7;\n noneCount++;\n }\n if (i === 0) {\n firstZ = z;\n z = 0;\n }\n else {\n // Only store the difference to avoid the precision issue.\n z = z - firstZ;\n }\n this._zList[i] = z;\n }\n\n this._noneCount = noneCount;\n }\n\n if (this.vertexCount < 2e4) {\n // Use simple native sort for simple geometries.\n if (frame === 0) {\n this._simpleSort(this._noneCount / this.vertexCount > 0.05);\n }\n }\n else {\n for (var i = 0; i < 3; i++) {\n this._progressiveQuickSort(frame * 3 + i);\n }\n }\n\n this.dirtyIndices();\n },\n\n _simpleSort: function (useNativeQuickSort) {\n var zList = this._zList;\n var indices = this.indices;\n function compare(a, b) {\n // Sort from far to near. which is descending order\n return zList[b] - zList[a];\n }\n\n // When too much value are equal, using native quick sort with three partition..\n // or the simple quick sort will be nearly O(n*n)\n // http://stackoverflow.com/questions/5126586/quicksort-complexity-when-all-the-elements-are-same\n\n // Otherwise simple quicksort is more effecient than v8 native quick sort when data all different.\n if (useNativeQuickSort) {\n Array.prototype.sort.call(indices, compare);\n }\n else {\n __WEBPACK_IMPORTED_MODULE_0__ProgressiveQuickSort__[\"a\" /* default */].sort(indices, compare, 0, indices.length - 1);\n }\n },\n\n _progressiveQuickSort: function (frame) {\n var zList = this._zList;\n var indices = this.indices;\n\n this._quickSort = this._quickSort || new __WEBPACK_IMPORTED_MODULE_0__ProgressiveQuickSort__[\"a\" /* default */]();\n\n this._quickSort.step(indices, function (a, b) {\n return zList[b] - zList[a];\n }, frame);\n }\n});\n\n/***/ }),\n/* 242 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export ecgl.sdfSprite.vertex\\n\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\nuniform float elapsedTime : 0;\\n\\nattribute vec3 position : POSITION;\\n\\n#ifdef VERTEX_SIZE\\nattribute float size;\\n#else\\nuniform float u_Size;\\n#endif\\n\\n#ifdef VERTEX_COLOR\\nattribute vec4 a_FillColor: COLOR;\\nvarying vec4 v_Color;\\n#endif\\n\\n#ifdef VERTEX_ANIMATION\\nattribute vec3 prevPosition;\\nattribute float prevSize;\\nuniform float percent : 1.0;\\n#endif\\n\\n\\n#ifdef POSITIONTEXTURE_ENABLED\\nuniform sampler2D positionTexture;\\n#endif\\n\\nvarying float v_Size;\\n\\nvoid main()\\n{\\n\\n#ifdef POSITIONTEXTURE_ENABLED\\n gl_Position = worldViewProjection * vec4(texture2D(positionTexture, position.xy).xy, -10.0, 1.0);\\n#else\\n\\n #ifdef VERTEX_ANIMATION\\n vec3 pos = mix(prevPosition, position, percent);\\n #else\\n vec3 pos = position;\\n #endif\\n gl_Position = worldViewProjection * vec4(pos, 1.0);\\n#endif\\n\\n#ifdef VERTEX_SIZE\\n#ifdef VERTEX_ANIMATION\\n v_Size = mix(prevSize, size, percent);\\n#else\\n v_Size = size;\\n#endif\\n#else\\n v_Size = u_Size;\\n#endif\\n\\n#ifdef VERTEX_COLOR\\n v_Color = a_FillColor;\\n #endif\\n\\n gl_PointSize = v_Size;\\n}\\n\\n@end\\n\\n@export ecgl.sdfSprite.fragment\\n\\nuniform vec4 color: [1, 1, 1, 1];\\nuniform vec4 strokeColor: [1, 1, 1, 1];\\nuniform float smoothing: 0.07;\\n\\nuniform float lineWidth: 0.0;\\n\\n#ifdef VERTEX_COLOR\\nvarying vec4 v_Color;\\n#endif\\n\\nvarying float v_Size;\\n\\nuniform sampler2D sprite;\\n\\n@import clay.util.srgb\\n\\nvoid main()\\n{\\n gl_FragColor = color;\\n\\n vec4 _strokeColor = strokeColor;\\n\\n#ifdef VERTEX_COLOR\\n gl_FragColor *= v_Color;\\n #endif\\n\\n#ifdef SPRITE_ENABLED\\n float d = texture2D(sprite, gl_PointCoord).r;\\n gl_FragColor.a *= smoothstep(0.5 - smoothing, 0.5 + smoothing, d);\\n\\n if (lineWidth > 0.0) {\\n float sLineWidth = lineWidth / 2.0;\\n\\n float outlineMaxValue0 = 0.5 + sLineWidth;\\n float outlineMaxValue1 = 0.5 + sLineWidth + smoothing;\\n float outlineMinValue0 = 0.5 - sLineWidth - smoothing;\\n float outlineMinValue1 = 0.5 - sLineWidth;\\n\\n if (d <= outlineMaxValue1 && d >= outlineMinValue0) {\\n float a = _strokeColor.a;\\n if (d <= outlineMinValue1) {\\n a = a * smoothstep(outlineMinValue0, outlineMinValue1, d);\\n }\\n else {\\n a = a * smoothstep(outlineMaxValue1, outlineMaxValue0, d);\\n }\\n gl_FragColor.rgb = mix(gl_FragColor.rgb * gl_FragColor.a, _strokeColor.rgb, a);\\n gl_FragColor.a = gl_FragColor.a * (1.0 - a) + a;\\n }\\n }\\n#endif\\n\\n#ifdef SRGB_DECODE\\n gl_FragColor = sRGBToLinear(gl_FragColor);\\n#endif\\n}\\n@end\");\n\n\n/***/ }),\n/* 243 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lines3D_lines3DLayout__ = __webpack_require__(244);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lines3D_Lines3DView__ = __webpack_require__(245);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lines3D_Lines3DSeries__ = __webpack_require__(248);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__ = __webpack_require__(17);\n\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerVisual(Object(__WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__[\"a\" /* default */])('lines3D'));\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerAction({\n type: 'lines3DPauseEffect',\n event: 'lines3deffectpaused',\n update: 'series.lines3D:pauseEffect'\n}, function () {});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerAction({\n type: 'lines3DResumeEffect',\n event: 'lines3deffectresumed',\n update: 'series.lines3D:resumeEffect'\n}, function () {});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerAction({\n type: 'lines3DToggleEffect',\n event: 'lines3deffectchanged',\n update: 'series.lines3D:toggleEffect'\n}, function () {});\n\n/***/ }),\n/* 244 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n\n\nvar vec3 = __WEBPACK_IMPORTED_MODULE_1_claygl_src_dep_glmatrix__[\"a\" /* default */].vec3;\nvar vec2 = __WEBPACK_IMPORTED_MODULE_1_claygl_src_dep_glmatrix__[\"a\" /* default */].vec2;\nvar normalize = vec3.normalize;\nvar cross = vec3.cross;\nvar sub = vec3.sub;\nvar add = vec3.add;\nvar create = vec3.create;\n\nvar normal = create();\nvar tangent = create();\nvar bitangent = create();\nvar halfVector = create();\n\nvar coord0 = [];\nvar coord1 = [];\n\nfunction getCubicPointsOnGlobe(coords, coordSys) {\n vec2.copy(coord0, coords[0]);\n vec2.copy(coord1, coords[1]);\n\n var pts = [];\n var p0 = pts[0] = create();\n var p1 = pts[1] = create();\n var p2 = pts[2] = create();\n var p3 = pts[3] = create();\n coordSys.dataToPoint(coord0, p0);\n coordSys.dataToPoint(coord1, p3);\n // Get p1\n normalize(normal, p0);\n // TODO p0-p3 is parallel with normal\n sub(tangent, p3, p0);\n normalize(tangent, tangent);\n cross(bitangent, tangent, normal);\n normalize(bitangent, bitangent);\n cross(tangent, normal, bitangent);\n // p1 is half vector of p0 and tangent on p0\n add(p1, normal, tangent);\n normalize(p1, p1);\n\n // Get p2\n normalize(normal, p3);\n sub(tangent, p0, p3);\n normalize(tangent, tangent);\n cross(bitangent, tangent, normal);\n normalize(bitangent, bitangent);\n cross(tangent, normal, bitangent);\n // p2 is half vector of p3 and tangent on p3\n add(p2, normal, tangent);\n normalize(p2, p2);\n\n // Project distance of p0 on halfVector\n add(halfVector, p0, p3);\n normalize(halfVector, halfVector);\n var projDist = vec3.dot(p0, halfVector);\n // Angle of halfVector and p1\n var cosTheta = vec3.dot(halfVector, p1);\n\n var len = (Math.max(vec3.len(p0), vec3.len(p3)) - projDist) / cosTheta * 2;\n\n vec3.scaleAndAdd(p1, p0, p1, len);\n vec3.scaleAndAdd(p2, p3, p2, len);\n\n return pts;\n}\n\nfunction getCubicPointsOnPlane(coords, coordSys, up) {\n var pts = [];\n var p0 = pts[0] = vec3.create();\n var p1 = pts[1] = vec3.create();\n var p2 = pts[2] = vec3.create();\n var p3 = pts[3] = vec3.create();\n\n coordSys.dataToPoint(coords[0], p0);\n coordSys.dataToPoint(coords[1], p3);\n\n var len = vec3.dist(p0, p3);\n vec3.lerp(p1, p0, p3, 0.3);\n vec3.lerp(p2, p0, p3, 0.3);\n\n vec3.scaleAndAdd(p1, p1, up, Math.min(len * 0.1, 10));\n vec3.scaleAndAdd(p2, p2, up, Math.min(len * 0.1, 10));\n\n return pts;\n}\n\nfunction getPolylinePoints(coords, coordSys) {\n var pts = new Float32Array(coords.length * 3);\n var off = 0;\n var pt = [];\n for (var i = 0; i < coords.length; i++) {\n coordSys.dataToPoint(coords[i], pt);\n pts[off++] = pt[0];\n pts[off++] = pt[1];\n pts[off++] = pt[2];\n }\n return pts;\n}\n\nfunction prepareCoords(data) {\n var coordsList = [];\n\n data.each(function (idx) {\n var itemModel = data.getItemModel(idx);\n var coords = (itemModel.option instanceof Array) ?\n itemModel.option : itemModel.getShallow('coords', true);\n\n if (true) {\n if (!(coords instanceof Array && coords.length > 0 && coords[0] instanceof Array)) {\n throw new Error('Invalid coords ' + JSON.stringify(coords) + '. Lines must have 2d coords array in data item.');\n }\n }\n coordsList.push(coords);\n });\n\n return {\n coordsList: coordsList\n };\n}\n\nfunction layoutGlobe(seriesModel, coordSys) {\n var data = seriesModel.getData();\n var isPolyline = seriesModel.get('polyline');\n\n data.setLayout('lineType', isPolyline ? 'polyline' : 'cubicBezier');\n\n var res = prepareCoords(data);\n\n data.each(function (idx) {\n var coords = res.coordsList[idx];\n var getPointsMethod = isPolyline ? getPolylinePoints : getCubicPointsOnGlobe;\n data.setItemLayout(idx, getPointsMethod(coords, coordSys));\n });\n}\n\nfunction layoutOnPlane(seriesModel, coordSys, normal) {\n var data = seriesModel.getData();\n var isPolyline = seriesModel.get('polyline');\n\n var res = prepareCoords(data);\n\n data.setLayout('lineType', isPolyline ? 'polyline' : 'cubicBezier');\n\n data.each(function (idx) {\n var coords = res.coordsList[idx];\n var pts = isPolyline ? getPolylinePoints(coords, coordSys)\n : getCubicPointsOnPlane(coords, coordSys, normal);\n data.setItemLayout(idx, pts);\n });\n}\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerLayout(function (ecModel, api) {\n ecModel.eachSeriesByType('lines3D', function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n if (coordSys.type === 'globe') {\n layoutGlobe(seriesModel, coordSys);\n }\n else if (coordSys.type === 'geo3D') {\n layoutOnPlane(seriesModel, coordSys, [0, 1, 0]);\n }\n else if (coordSys.type === 'mapbox3D' || coordSys.type === 'maptalks3D') {\n layoutOnPlane(seriesModel, coordSys, [0, 0, 1]);\n }\n });\n});\n\n/***/ }),\n/* 245 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_geometry_Lines3D__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__TrailMesh2__ = __webpack_require__(246);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_shader_lines3D_glsl_js__ = __webpack_require__(46);\n\n\n\n// import TrailMesh from './TrailMesh';\n\n\n\n__WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.import(__WEBPACK_IMPORTED_MODULE_4__util_shader_lines3D_glsl_js__[\"a\" /* default */]);\n\nfunction getCoordSysSize(coordSys) {\n if (coordSys.radius != null) {\n return coordSys.radius;\n }\n if (coordSys.size != null) {\n return Math.max(coordSys.size[0], coordSys.size[1], coordSys.size[2]);\n }\n else {\n return 100;\n }\n}\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendChartView({\n\n type: 'lines3D',\n\n __ecgl__: true,\n\n init: function (ecModel, api) {\n this.groupGL = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n\n this._meshLinesMaterial = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Material({\n shader: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createShader('ecgl.meshLines3D'),\n transparent: true,\n depthMask: false\n });\n this._linesMesh = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n geometry: new __WEBPACK_IMPORTED_MODULE_2__util_geometry_Lines3D__[\"a\" /* default */](),\n material: this._meshLinesMaterial,\n $ignorePicking: true\n });\n\n // this._trailMesh = new TrailMesh();\n this._trailMesh = new __WEBPACK_IMPORTED_MODULE_3__TrailMesh2__[\"a\" /* default */]();\n },\n\n render: function (seriesModel, ecModel, api) {\n\n this.groupGL.add(this._linesMesh);\n\n var coordSys = seriesModel.coordinateSystem;\n var data = seriesModel.getData();\n\n if (coordSys && coordSys.viewGL) {\n var viewGL = coordSys.viewGL;\n viewGL.add(this.groupGL);\n\n this._updateLines(seriesModel, ecModel, api);\n\n var methodName = coordSys.viewGL.isLinearSpace() ? 'define' : 'undefine';\n this._linesMesh.material[methodName]('fragment', 'SRGB_DECODE');\n this._trailMesh.material[methodName]('fragment', 'SRGB_DECODE');\n }\n\n var trailMesh = this._trailMesh;\n trailMesh.stopAnimation();\n\n if (seriesModel.get('effect.show')) {\n this.groupGL.add(trailMesh);\n\n trailMesh.updateData(data, api, this._linesMesh.geometry);\n\n trailMesh.__time = trailMesh.__time || 0;\n var time = 3600 * 1000; // 1hour\n this._curveEffectsAnimator = trailMesh.animate('', { loop: true })\n .when(time, {\n __time: time\n })\n .during(function () {\n trailMesh.setAnimationTime(trailMesh.__time);\n })\n .start();\n }\n else {\n this.groupGL.remove(trailMesh);\n this._curveEffectsAnimator = null;\n }\n\n this._linesMesh.material.blend = this._trailMesh.material.blend\n = seriesModel.get('blendMode') === 'lighter'\n ? __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].additiveBlend : null;\n },\n\n pauseEffect: function () {\n if (this._curveEffectsAnimator) {\n this._curveEffectsAnimator.pause();\n }\n },\n\n resumeEffect: function () {\n if (this._curveEffectsAnimator) {\n this._curveEffectsAnimator.resume();\n }\n },\n\n toggleEffect: function () {\n var animator = this._curveEffectsAnimator;\n if (animator) {\n animator.isPaused() ? animator.resume() : animator.pause();\n }\n },\n\n _updateLines: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var coordSys = seriesModel.coordinateSystem;\n var geometry = this._linesMesh.geometry;\n var isPolyline = seriesModel.get('polyline');\n\n geometry.expandLine = true;\n\n var size = getCoordSysSize(coordSys);\n geometry.segmentScale = size / 20;\n\n var lineWidthQueryPath = 'lineStyle.width'.split('.');\n var dpr = api.getDevicePixelRatio();\n var maxLineWidth = 0;\n data.each(function (idx) {\n var itemModel = data.getItemModel(idx);\n var lineWidth = itemModel.get(lineWidthQueryPath);\n if (lineWidth == null) {\n lineWidth = 1;\n }\n data.setItemVisual(idx, 'lineWidth', lineWidth);\n maxLineWidth = Math.max(lineWidth, maxLineWidth);\n });\n\n // Must set useNativeLine before calling any other methods\n geometry.useNativeLine = false;\n\n var nVertex = 0;\n var nTriangle = 0;\n data.each(function (idx) {\n var pts = data.getItemLayout(idx);\n if (isPolyline) {\n nVertex += geometry.getPolylineVertexCount(pts);\n nTriangle += geometry.getPolylineTriangleCount(pts);\n }\n else {\n nVertex += geometry.getCubicCurveVertexCount(pts[0], pts[1], pts[2], pts[3]);\n nTriangle += geometry.getCubicCurveTriangleCount(pts[0], pts[1], pts[2], pts[3]);\n }\n });\n\n geometry.setVertexCount(nVertex);\n geometry.setTriangleCount(nTriangle);\n geometry.resetOffset();\n\n var colorArr = [];\n data.each(function (idx) {\n var pts = data.getItemLayout(idx);\n var color = data.getItemVisual(idx, 'color');\n var opacity = data.getItemVisual(idx, 'opacity');\n var lineWidth = data.getItemVisual(idx, 'lineWidth') * dpr;\n if (opacity == null) {\n opacity = 1;\n }\n\n colorArr = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(color, colorArr);\n colorArr[3] *= opacity;\n if (isPolyline) {\n geometry.addPolyline(pts, colorArr, lineWidth);\n }\n else {\n geometry.addCubicCurve(pts[0], pts[1], pts[2], pts[3], colorArr, lineWidth);\n }\n });\n\n geometry.dirty();\n },\n\n remove: function () {\n this.groupGL.removeAll();\n },\n\n dispose: function () {\n this.groupGL.removeAll();\n }\n}));\n\n/***/ }),\n/* 246 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_geometry_Lines3D__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__shader_trail2_glsl_js__ = __webpack_require__(247);\n\n\n\n\n\n\n\nvar vec3 = __WEBPACK_IMPORTED_MODULE_2_claygl_src_dep_glmatrix__[\"a\" /* default */].vec3;\n\nfunction sign(a) {\n return a > 0 ? 1 : -1;\n}\n\n__WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.import(__WEBPACK_IMPORTED_MODULE_4__shader_trail2_glsl_js__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh.extend(function () {\n\n var material = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Material({\n shader: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader(\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.source('ecgl.trail2.vertex'),\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.source('ecgl.trail2.fragment')\n ),\n transparent: true,\n depthMask: false\n });\n\n var geometry = new __WEBPACK_IMPORTED_MODULE_3__util_geometry_Lines3D__[\"a\" /* default */]({\n dynamic: true\n });\n geometry.createAttribute('dist', 'float', 1);\n geometry.createAttribute('distAll', 'float', 1);\n geometry.createAttribute('start', 'float', 1);\n\n return {\n geometry: geometry,\n material: material,\n culling: false,\n $ignorePicking: true\n };\n}, {\n\n updateData: function (data, api, lines3DGeometry) {\n var seriesModel = data.hostModel;\n var geometry = this.geometry;\n\n var effectModel = seriesModel.getModel('effect');\n var size = effectModel.get('trailWidth') * api.getDevicePixelRatio();\n var trailLength = effectModel.get('trailLength');\n\n var speed = seriesModel.get('effect.constantSpeed');\n var period = seriesModel.get('effect.period') * 1000;\n var useConstantSpeed = speed != null;\n\n if (true) {\n if (!this.getScene()) {\n console.error('TrailMesh must been add to scene before updateData');\n }\n }\n\n useConstantSpeed\n ? this.material.set('speed', speed / 1000)\n : this.material.set('period', period);\n\n this.material[useConstantSpeed ? 'define' : 'undefine']('vertex', 'CONSTANT_SPEED');\n\n var isPolyline = seriesModel.get('polyline');\n\n geometry.trailLength = trailLength;\n this.material.set('trailLength', trailLength);\n\n geometry.resetOffset();\n\n ['position', 'positionPrev', 'positionNext'].forEach(function (attrName) {\n geometry.attributes[attrName].value = lines3DGeometry.attributes[attrName].value;\n });\n\n var extraAttrs = ['dist', 'distAll', 'start', 'offset', 'color'];\n\n extraAttrs.forEach(function (attrName) {\n geometry.attributes[attrName].init(geometry.vertexCount);\n });\n geometry.indices = lines3DGeometry.indices;\n\n var colorArr = [];\n var effectColor = effectModel.get('trailColor');\n var effectOpacity = effectModel.get('trailOpacity');\n var hasEffectColor = effectColor != null;\n var hasEffectOpacity = effectOpacity != null;\n\n this.updateWorldTransform();\n var xScale = this.worldTransform.x.len();\n var yScale = this.worldTransform.y.len();\n var zScale = this.worldTransform.z.len();\n\n var vertexOffset = 0;\n\n var maxDistance = 0;\n\n data.each(function (idx) {\n var pts = data.getItemLayout(idx);\n var opacity = hasEffectOpacity ? effectOpacity : data.getItemVisual(idx, 'opacity');\n var color = data.getItemVisual(idx, 'color');\n\n if (opacity == null) {\n opacity = 1;\n }\n colorArr = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(hasEffectColor ? effectColor : color, colorArr);\n colorArr[3] *= opacity;\n\n var vertexCount = isPolyline\n ? lines3DGeometry.getPolylineVertexCount(pts)\n : lines3DGeometry.getCubicCurveVertexCount(pts[0], pts[1], pts[2], pts[3])\n\n var dist = 0;\n var pos = [];\n var posPrev = [];\n for (var i = vertexOffset; i < vertexOffset + vertexCount; i++) {\n geometry.attributes.position.get(i, pos);\n pos[0] *= xScale;\n pos[1] *= yScale;\n pos[2] *= zScale;\n if (i > vertexOffset) {\n dist += vec3.dist(pos, posPrev);\n }\n geometry.attributes.dist.set(i, dist);\n vec3.copy(posPrev, pos);\n }\n\n maxDistance = Math.max(maxDistance, dist);\n\n var randomStart = Math.random() * (useConstantSpeed ? dist : period);\n for (var i = vertexOffset; i < vertexOffset + vertexCount; i++) {\n geometry.attributes.distAll.set(i, dist);\n geometry.attributes.start.set(i, randomStart);\n\n geometry.attributes.offset.set(\n i, sign(lines3DGeometry.attributes.offset.get(i)) * size / 2\n );\n geometry.attributes.color.set(i, colorArr);\n }\n\n vertexOffset += vertexCount;\n });\n\n this.material.set('spotSize', maxDistance * 0.1 * trailLength);\n this.material.set('spotIntensity', effectModel.get('spotIntensity'));\n\n geometry.dirty();\n },\n\n setAnimationTime: function (time) {\n this.material.set('time', time);\n }\n}));\n\n/***/ }),\n/* 247 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export ecgl.trail2.vertex\\nattribute vec3 position: POSITION;\\nattribute vec3 positionPrev;\\nattribute vec3 positionNext;\\nattribute float offset;\\nattribute float dist;\\nattribute float distAll;\\nattribute float start;\\n\\nattribute vec4 a_Color : COLOR;\\n\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\nuniform vec4 viewport : VIEWPORT;\\nuniform float near : NEAR;\\n\\nuniform float speed : 0;\\nuniform float trailLength: 0.3;\\nuniform float time;\\nuniform float period: 1000;\\n\\nuniform float spotSize: 1;\\n\\nvarying vec4 v_Color;\\nvarying float v_Percent;\\nvarying float v_SpotPercent;\\n\\n@import ecgl.common.wireframe.vertexHeader\\n\\n@import ecgl.lines3D.clipNear\\n\\nvoid main()\\n{\\n @import ecgl.lines3D.expandLine\\n\\n gl_Position = currProj;\\n\\n v_Color = a_Color;\\n\\n @import ecgl.common.wireframe.vertexMain\\n\\n#ifdef CONSTANT_SPEED\\n float t = mod((speed * time + start) / distAll, 1. + trailLength) - trailLength;\\n#else\\n float t = mod((time + start) / period, 1. + trailLength) - trailLength;\\n#endif\\n\\n float trailLen = distAll * trailLength;\\n\\n v_Percent = (dist - t * distAll) / trailLen;\\n\\n v_SpotPercent = spotSize / distAll;\\n\\n }\\n@end\\n\\n\\n@export ecgl.trail2.fragment\\n\\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\\nuniform float spotIntensity: 5;\\n\\nvarying vec4 v_Color;\\nvarying float v_Percent;\\nvarying float v_SpotPercent;\\n\\n@import ecgl.common.wireframe.fragmentHeader\\n\\n@import clay.util.srgb\\n\\nvoid main()\\n{\\n if (v_Percent > 1.0 || v_Percent < 0.0) {\\n discard;\\n }\\n\\n float fade = v_Percent;\\n\\n#ifdef SRGB_DECODE\\n gl_FragColor = sRGBToLinear(color * v_Color);\\n#else\\n gl_FragColor = color * v_Color;\\n#endif\\n\\n @import ecgl.common.wireframe.fragmentMain\\n\\n if (v_Percent > (1.0 - v_SpotPercent)) {\\n gl_FragColor.rgb *= spotIntensity;\\n }\\n\\n gl_FragColor.a *= fade;\\n}\\n\\n@end\");\n\n\n/***/ }),\n/* 248 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendSeriesModel({\n\n type: 'series.lines3D',\n\n dependencies: ['globe'],\n\n visualColorAccessPath: 'lineStyle.color',\n\n getInitialData: function (option, ecModel) {\n var lineData = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.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 }\n else {\n lineData.hasItemOption = true;\n var value = dataItem.value;\n if (value != null) {\n return value instanceof Array ? value[dimIndex] : value;\n }\n }\n });\n\n return lineData;\n },\n\n defaultOption: {\n\n coordinateSystem: 'globe',\n\n globeIndex: 0,\n\n geo3DIndex: 0,\n\n zlevel: -10,\n\n polyline: false,\n\n effect: {\n show: false,\n period: 4,\n // Trail width\n trailWidth: 4,\n trailLength: 0.2,\n\n spotIntensity: 6\n },\n\n silent: true,\n\n // Support source-over, lighter\n blendMode: 'source-over',\n\n lineStyle: {\n width: 1,\n opacity: 0.5\n // color\n }\n }\n});\n\n/***/ }),\n/* 249 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__polygons3D_Polygons3DSeries__ = __webpack_require__(250);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__polygons3D_Polygons3DView__ = __webpack_require__(251);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common_opacityVisual__ = __webpack_require__(17);\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerVisual(Object(__WEBPACK_IMPORTED_MODULE_3__common_opacityVisual__[\"a\" /* default */])('polygons3D'));\n\n/***/ }),\n/* 250 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__component_common_componentShadingMixin__ = __webpack_require__(31);\n\n\n\nfunction transformPolygon(coordSys, poly) {\n var ret = [];\n for (var i = 0; i < poly.length; i++) {\n ret.push(coordSys.dataToPoint(poly[i]));\n }\n return ret;\n}\n\nvar Polygons3DSeries = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendSeriesModel({\n\n type: 'series.polygons3D',\n\n getRegionModel: function (idx) {\n return this.getData().getItemModel(idx);\n },\n\n getRegionPolygonCoords: function (idx) {\n var coordSys = this.coordinateSystem;\n var itemModel = this.getData().getItemModel(idx);\n var coords = itemModel.option instanceof Array\n ? itemModel.option : itemModel.getShallow('coords');\n if (!itemModel.get('multiPolygon')) {\n coords = [coords];\n }\n // TODO Validate\n var out = [];\n for (var i = 0; i < coords.length; i++) {\n // TODO Convert here ?\n var interiors = [];\n for (var k = 1; k < coords[i].length; k++) {\n interiors.push(transformPolygon(coordSys, coords[i][k]));\n }\n out.push({\n exterior: transformPolygon(coordSys, coords[i][0]),\n interiors: interiors\n });\n }\n return out;\n },\n\n getInitialData: function (option) {\n var polygonsData = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.List(['value'], this);\n polygonsData.hasItemOption = false;\n polygonsData.initData(option.data, [], function (dataItem, dimName, dataIndex, dimIndex) {\n // dataItem is simply coords\n if (dataItem instanceof Array) {\n return NaN;\n }\n else {\n polygonsData.hasItemOption = true;\n var value = dataItem.value;\n if (value != null) {\n return value instanceof Array ? value[dimIndex] : value;\n }\n }\n });\n\n return polygonsData;\n },\n\n defaultOption: {\n\n show: true,\n\n data: null,\n\n multiPolygon: false,\n\n progressiveThreshold: 1e3,\n progressive: 1e3,\n\n zlevel: -10,\n\n label: {\n show: false,\n // Distance in 3d space.\n distance: 2,\n\n textStyle: {\n fontSize: 20,\n color: '#000',\n backgroundColor: 'rgba(255,255,255,0.7)',\n padding: 3,\n borderRadius: 4\n }\n },\n\n itemStyle: {\n color: '#fff',\n borderWidth: 0,\n borderColor: '#333'\n },\n\n emphasis: {\n itemStyle: {\n color: '#639fc0'\n },\n label: {\n show: true\n }\n }\n }\n});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Polygons3DSeries.prototype, __WEBPACK_IMPORTED_MODULE_1__component_common_componentShadingMixin__[\"a\" /* default */]);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (Polygons3DSeries);\n\n/***/ }),\n/* 251 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__component_common_Geo3DBuilder__ = __webpack_require__(64);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__ = __webpack_require__(1);\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendChartView({\n\n type: 'polygons3D',\n\n __ecgl__: true,\n\n init: function (ecModel, api) {\n this.groupGL = new __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].Node();\n\n this._geo3DBuilderList = [];\n\n this._currentStep = 0;\n },\n\n render: function (seriesModel, ecModel, api) {\n this.groupGL.removeAll();\n\n var coordSys = seriesModel.coordinateSystem;\n if (coordSys && coordSys.viewGL) {\n coordSys.viewGL.add(this.groupGL);\n }\n\n var geo3DBuilder = this._geo3DBuilderList[0];\n if (!geo3DBuilder) {\n geo3DBuilder = new __WEBPACK_IMPORTED_MODULE_1__component_common_Geo3DBuilder__[\"a\" /* default */](api);\n geo3DBuilder.extrudeY = coordSys.type !== 'mapbox3D'\n && coordSys.type !== 'maptalks3D';\n this._geo3DBuilderList[0] = geo3DBuilder;\n }\n this._updateShaderDefines(coordSys, geo3DBuilder);\n\n geo3DBuilder.update(seriesModel, ecModel, api);\n this._geo3DBuilderList.length = 1;\n\n this.groupGL.add(geo3DBuilder.rootNode);\n },\n\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n this.groupGL.removeAll();\n\n var coordSys = seriesModel.coordinateSystem;\n if (coordSys && coordSys.viewGL) {\n coordSys.viewGL.add(this.groupGL);\n }\n\n this._currentStep = 0;\n },\n\n incrementalRender: function (params, seriesModel, ecModel, api) {\n var geo3DBuilder = this._geo3DBuilderList[this._currentStep];\n var coordSys = seriesModel.coordinateSystem;\n if (!geo3DBuilder) {\n geo3DBuilder = new __WEBPACK_IMPORTED_MODULE_1__component_common_Geo3DBuilder__[\"a\" /* default */](api);\n geo3DBuilder.extrudeY = coordSys.type !== 'mapbox3D'\n && coordSys.type !== 'maptalks3D';\n this._geo3DBuilderList[this._currentStep] = geo3DBuilder;\n }\n geo3DBuilder.update(seriesModel, ecModel, api, params.start, params.end);\n this.groupGL.add(geo3DBuilder.rootNode);\n\n this._updateShaderDefines(coordSys, geo3DBuilder);\n\n this._currentStep++;\n },\n\n _updateShaderDefines: function (coordSys, geo3DBuilder) {\n var methodName = coordSys.viewGL.isLinearSpace() ? 'define' : 'undefine';\n geo3DBuilder.rootNode.traverse(function (mesh) {\n if (mesh.material) {\n mesh.material[methodName]('fragment', 'SRGB_DECODE');\n\n // FIXME\n if (coordSys.type === 'mapbox3D' || coordSys.type === 'maptalks3D') {\n mesh.material.define('fragment', 'NORMAL_UP_AXIS', 2);\n mesh.material.define('fragment', 'NORMAL_FRONT_AXIS', 1);\n }\n }\n });\n },\n\n remove: function () {\n this.groupGL.removeAll();\n },\n\n dispose: function () {\n this.groupGL.removeAll();\n }\n});\n\n/***/ }),\n/* 252 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__surface_SurfaceSeries__ = __webpack_require__(253);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__surface_SurfaceView__ = __webpack_require__(254);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__surface_surfaceLayout__ = __webpack_require__(255);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__ = __webpack_require__(17);\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerVisual(Object(__WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__[\"a\" /* default */])('surface'));\n\n\n/***/ }),\n/* 253 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__component_common_componentShadingMixin__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_formatTooltip__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common_createList__ = __webpack_require__(50);\n\n\n\n\n\nvar SurfaceSeries = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendSeriesModel({\n\n type: 'series.surface',\n\n dependencies: ['globe', 'grid3D', 'geo3D'],\n\n visualColorAccessPath: 'itemStyle.color',\n\n formatTooltip: function (dataIndex) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__common_formatTooltip__[\"a\" /* default */])(this, dataIndex);\n },\n\n getInitialData: function (option, ecModel) {\n var data = option.data;\n\n function validateDimension(dimOpts) {\n return !(isNaN(dimOpts.min) || isNaN(dimOpts.max) || isNaN(dimOpts.step));\n }\n\n function getPrecision(dimOpts) {\n var getPrecision = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.number.getPrecisionSafe;\n return Math.max(\n getPrecision(dimOpts.min), getPrecision(dimOpts.max), getPrecision(dimOpts.step)\n ) + 1;\n }\n\n if (!data) {\n if (!option.parametric) {\n // From surface equation\n var equation = option.equation || {};\n var xOpts = equation.x || {};\n var yOpts = equation.y || {};\n\n ['x', 'y'].forEach(function (dim) {\n if (!validateDimension(equation[dim])) {\n if (true) {\n console.error('Invalid equation.%s', dim);\n }\n return;\n }\n });\n if (typeof equation.z !== 'function') {\n if (true) {\n console.error('equation.z needs to be function');\n }\n return;\n }\n var xCount = Math.floor((xOpts.max + xOpts.step - xOpts.min) / xOpts.step);\n var yCount = Math.floor((yOpts.max + yOpts.step - yOpts.min) / yOpts.step);\n data = new Float32Array(xCount * yCount * 3);\n\n var xPrecision = getPrecision(xOpts);\n var yPrecision = getPrecision(yOpts);\n\n var off = 0;\n for (var j = 0; j < yCount; j++) {\n for (var i = 0; i < xCount; i++) {\n var x = i * xOpts.step + xOpts.min;\n var y = j * yOpts.step + yOpts.min;\n var x2 = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.number.round(Math.min(x, xOpts.max), xPrecision);\n var y2 = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.number.round(Math.min(y, yOpts.max), yPrecision);\n var z = equation.z(x2, y2);\n data[off++] = x2;\n data[off++] = y2;\n data[off++] = z;\n }\n }\n }\n else {\n var parametricEquation = option.parametricEquation || {};\n var uOpts = parametricEquation.u || {};\n var vOpts = parametricEquation.v || {};\n\n ['u', 'v'].forEach(function (dim) {\n if (!validateDimension(parametricEquation[dim])) {\n if (true) {\n console.error('Invalid parametricEquation.%s', dim);\n }\n return;\n }\n });\n ['x', 'y', 'z'].forEach(function (dim) {\n if (typeof parametricEquation[dim] !== 'function') {\n if (true) {\n console.error('parametricEquation.%s needs to be function', dim);\n }\n return;\n }\n });\n\n var uCount = Math.floor((uOpts.max + uOpts.step - uOpts.min) / uOpts.step);\n var vCount = Math.floor((vOpts.max + vOpts.step - vOpts.min) / vOpts.step);\n data = new Float32Array(uCount * vCount * 5);\n\n\n var uPrecision = getPrecision(uOpts);\n var vPrecision = getPrecision(vOpts);\n var off = 0;\n for (var j = 0; j < vCount; j++) {\n for (var i = 0; i < uCount; i++) {\n var u = i * uOpts.step + uOpts.min;\n var v = j * vOpts.step + vOpts.min;\n var u2 = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.number.round(Math.min(u, uOpts.max), uPrecision);\n var v2 = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.number.round(Math.min(v, vOpts.max), vPrecision);\n var x = parametricEquation.x(u2, v2);\n var y = parametricEquation.y(u2, v2);\n var z = parametricEquation.z(u2, v2);\n data[off++] = x;\n data[off++] = y;\n data[off++] = z;\n data[off++] = u2;\n data[off++] = v2;\n }\n }\n }\n }\n\n var dims = ['x', 'y', 'z'];\n if (option.parametric) {\n dims.push('u', 'v');\n }\n // PENDING getSource?\n var list = Object(__WEBPACK_IMPORTED_MODULE_3__common_createList__[\"a\" /* default */])(this, dims, data);\n return list;\n },\n\n defaultOption: {\n coordinateSystem: 'cartesian3D',\n zlevel: -10,\n\n // Cartesian coordinate system\n grid3DIndex: 0,\n\n // Surface needs lambert shading to show the difference\n shading: 'lambert',\n\n // If parametric surface\n parametric: false,\n\n wireframe: {\n show: true,\n\n lineStyle: {\n color: 'rgba(0,0,0,0.5)',\n width: 1\n }\n },\n /**\n * Generate surface data from z = f(x, y) equation\n */\n equation: {\n // [min, max, step]\n x: {\n min: -1,\n max: 1,\n step: 0.1\n },\n y: {\n min: -1,\n max: 1,\n step: 0.1\n },\n z: null\n },\n\n parametricEquation: {\n // [min, max, step]\n u: {\n min: -1,\n max: 1,\n step: 0.1\n },\n v: {\n min: -1,\n max: 1,\n step: 0.1\n },\n // [x, y, z] = f(x, y)\n x: null,\n y: null,\n z: null\n },\n\n itemStyle: {\n // Color\n },\n\n animationDurationUpdate: 500\n }\n});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(SurfaceSeries.prototype, __WEBPACK_IMPORTED_MODULE_1__component_common_componentShadingMixin__[\"a\" /* default */]);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (SurfaceSeries);\n\n/***/ }),\n/* 254 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_retrieve__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_geometry_trianglesSortMixin__ = __webpack_require__(65);\n\n\n\n\n\n\nvar vec3 = __WEBPACK_IMPORTED_MODULE_3_claygl_src_dep_glmatrix__[\"a\" /* default */].vec3;\n\nfunction isPointsNaN(pt) {\n return isNaN(pt[0]) || isNaN(pt[1]) || isNaN(pt[2]);\n}\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendChartView({\n\n type: 'surface',\n\n __ecgl__: true,\n\n init: function (ecModel, api) {\n\n this.groupGL = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n },\n\n render: function (seriesModel, ecModel, api) {\n // Swap surfaceMesh\n var tmp = this._prevSurfaceMesh;\n this._prevSurfaceMesh = this._surfaceMesh;\n this._surfaceMesh = tmp;\n\n if (!this._surfaceMesh) {\n this._surfaceMesh = this._createSurfaceMesh();\n }\n\n this.groupGL.remove(this._prevSurfaceMesh);\n this.groupGL.add(this._surfaceMesh);\n\n var coordSys = seriesModel.coordinateSystem;\n var shading = seriesModel.get('shading');\n var data = seriesModel.getData();\n\n var shadingPrefix = 'ecgl.' + shading;\n if (!this._surfaceMesh.material || this._surfaceMesh.material.shader.name !== shadingPrefix) {\n this._surfaceMesh.material = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createMaterial(shadingPrefix, ['VERTEX_COLOR', 'DOUBLE_SIDED']);\n }\n\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].setMaterialFromModel(\n shading, this._surfaceMesh.material, seriesModel, api\n );\n\n if (coordSys && coordSys.viewGL) {\n coordSys.viewGL.add(this.groupGL);\n var methodName = coordSys.viewGL.isLinearSpace() ? 'define' : 'undefine';\n this._surfaceMesh.material[methodName]('fragment', 'SRGB_DECODE');\n }\n\n var isParametric = seriesModel.get('parametric');\n\n var dataShape = this._getDataShape(data, isParametric);\n\n var wireframeModel = seriesModel.getModel('wireframe');\n var wireframeLineWidth = wireframeModel.get('lineStyle.width');\n var showWireframe = wireframeModel.get('show') && wireframeLineWidth > 0;\n this._updateSurfaceMesh(this._surfaceMesh, seriesModel, dataShape, showWireframe);\n\n var material = this._surfaceMesh.material;\n if (showWireframe) {\n material.define('WIREFRAME_QUAD');\n material.set('wireframeLineWidth', wireframeLineWidth);\n material.set('wireframeLineColor', __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(wireframeModel.get('lineStyle.color')));\n }\n else {\n material.undefine('WIREFRAME_QUAD');\n }\n\n this._initHandler(seriesModel, api);\n\n this._updateAnimation(seriesModel);\n },\n\n _updateAnimation: function (seriesModel) {\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].updateVertexAnimation(\n [['prevPosition', 'position'],\n ['prevNormal', 'normal']],\n this._prevSurfaceMesh,\n this._surfaceMesh,\n seriesModel\n );\n },\n\n _createSurfaceMesh: function () {\n var mesh = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n geometry: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Geometry({\n dynamic: true,\n sortTriangles: true\n }),\n shadowDepthMaterial: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Material({\n shader: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader(__WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.source('ecgl.sm.depth.vertex'), __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.source('ecgl.sm.depth.fragment'))\n }),\n culling: false,\n // Render after axes\n renderOrder: 10,\n // Render normal in normal pass\n renderNormal: true\n });\n mesh.geometry.createAttribute('barycentric', 'float', 4);\n mesh.geometry.createAttribute('prevPosition', 'float', 3);\n mesh.geometry.createAttribute('prevNormal', 'float', 3);\n\n __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.extend(mesh.geometry, __WEBPACK_IMPORTED_MODULE_4__util_geometry_trianglesSortMixin__[\"a\" /* default */]);\n\n return mesh;\n },\n\n _initHandler: function (seriesModel, api) {\n var data = seriesModel.getData();\n var surfaceMesh = this._surfaceMesh;\n\n var coordSys = seriesModel.coordinateSystem;\n\n function getNearestPointIdx(triangle, point) {\n var nearestDist = Infinity;\n var nearestIdx = -1;\n var pos = [];\n for (var i = 0; i < triangle.length; i++) {\n surfaceMesh.geometry.attributes.position.get(triangle[i], pos);\n var dist = vec3.dist(point.array, pos);\n if (dist < nearestDist) {\n nearestDist = dist;\n nearestIdx = triangle[i];\n }\n }\n return nearestIdx;\n }\n\n surfaceMesh.seriesIndex = seriesModel.seriesIndex;\n\n var lastDataIndex = -1;\n\n surfaceMesh.off('mousemove');\n surfaceMesh.off('mouseout');\n surfaceMesh.on('mousemove', function (e) {\n var idx = getNearestPointIdx(e.triangle, e.point);\n if (idx >= 0) {\n var point = [];\n surfaceMesh.geometry.attributes.position.get(idx, point);\n var value = coordSys.pointToData(point);\n\n var minDist = Infinity;\n var dataIndex = -1;\n var item = [];\n for (var i = 0; i < data.count(); i++) {\n item[0] = data.get('x', i);\n item[1] = data.get('y', i);\n item[2] = data.get('z', i);\n var dist = vec3.squaredDistance(item, value);\n if (dist < minDist) {\n dataIndex = i;\n minDist = dist;\n }\n }\n\n if (dataIndex !== lastDataIndex) {\n api.dispatchAction({\n type: 'grid3DShowAxisPointer',\n value: value\n });\n }\n\n lastDataIndex = dataIndex;\n surfaceMesh.dataIndex = dataIndex;\n }\n else {\n surfaceMesh.dataIndex = -1;\n }\n }, this);\n surfaceMesh.on('mouseout', function (e) {\n lastDataIndex = -1;\n surfaceMesh.dataIndex = -1;\n\n api.dispatchAction({\n type: 'grid3DHideAxisPointer'\n });\n }, this);\n },\n\n _updateSurfaceMesh: function (surfaceMesh, seriesModel, dataShape, showWireframe) {\n\n var geometry = surfaceMesh.geometry;\n var data = seriesModel.getData();\n var pointsArr = data.getLayout('points');\n\n var invalidDataCount = 0;\n data.each(function (idx) {\n if (!data.hasValue(idx)) {\n invalidDataCount++;\n }\n });\n var needsSplitQuad = invalidDataCount || showWireframe;\n\n var positionAttr = geometry.attributes.position;\n var normalAttr = geometry.attributes.normal;\n var texcoordAttr = geometry.attributes.texcoord0;\n var barycentricAttr = geometry.attributes.barycentric;\n var colorAttr = geometry.attributes.color;\n var row = dataShape.row;\n var column = dataShape.column;\n var shading = seriesModel.get('shading');\n var needsNormal = shading !== 'color';\n\n if (needsSplitQuad) {\n // TODO, If needs remove the invalid points, or set color transparent.\n var vertexCount = (row - 1) * (column - 1) * 4;\n positionAttr.init(vertexCount);\n if (showWireframe) {\n barycentricAttr.init(vertexCount);\n }\n }\n else {\n positionAttr.value = new Float32Array(pointsArr);\n }\n colorAttr.init(geometry.vertexCount);\n texcoordAttr.init(geometry.vertexCount);\n\n var quadToTriangle = [0, 3, 1, 1, 3, 2];\n // 3----2\n // 0----1\n // Make sure pixels on 1---3 edge will not have channel 0.\n // And pixels on four edges have at least one channel 0.\n var quadBarycentric = [\n [1, 1, 0, 0],\n [0, 1, 0, 1],\n [1, 0, 0, 1],\n [1, 0, 1, 0]\n ];\n\n var indices = geometry.indices = new (geometry.vertexCount > 0xffff ? Uint32Array : Uint16Array)((row - 1) * (column - 1) * 6);\n var getQuadIndices = function (i, j, out) {\n out[1] = i * column + j;\n out[0] = i * column + j + 1;\n out[3] = (i + 1) * column + j + 1;\n out[2] = (i + 1) * column + j;\n };\n\n var isTransparent = false;\n\n if (needsSplitQuad) {\n var quadIndices = [];\n var pos = [];\n var faceOffset = 0;\n\n if (needsNormal) {\n normalAttr.init(geometry.vertexCount);\n }\n else {\n normalAttr.value = null;\n }\n\n var pts = [[], [], []];\n var v21 = [], v32 = [];\n var normal = vec3.create();\n\n var getFromArray = function (arr, idx, out) {\n var idx3 = idx * 3;\n out[0] = arr[idx3];\n out[1] = arr[idx3 + 1];\n out[2] = arr[idx3 + 2];\n return out;\n };\n var vertexNormals = new Float32Array(pointsArr.length);\n var vertexColors = new Float32Array(pointsArr.length / 3 * 4);\n\n for (var i = 0; i < data.count(); i++) {\n if (data.hasValue(i)) {\n var rgbaArr = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(data.getItemVisual(i, 'color'));\n var opacity = data.getItemVisual(i, 'opacity');\n rgbaArr[3] *= opacity;\n if (rgbaArr[3] < 0.99) {\n isTransparent = true;\n }\n for (var k = 0; k < 4; k++) {\n vertexColors[i * 4 + k] = rgbaArr[k];\n }\n }\n }\n var farPoints = [1e7, 1e7, 1e7];\n for (var i = 0; i < row - 1; i++) {\n for (var j = 0; j < column - 1; j++) {\n var dataIndex = i * (column - 1) + j;\n var vertexOffset = dataIndex * 4;\n\n getQuadIndices(i, j, quadIndices);\n\n var invisibleQuad = false;\n for (var k = 0; k < 4; k++) {\n getFromArray(pointsArr, quadIndices[k], pos);\n if (isPointsNaN(pos)) {\n // Quad is invisible if any point is NaN\n invisibleQuad = true;\n }\n }\n\n for (var k = 0; k < 4; k++) {\n if (invisibleQuad) {\n // Move point far away\n positionAttr.set(vertexOffset + k, farPoints);\n }\n else {\n getFromArray(pointsArr, quadIndices[k], pos);\n positionAttr.set(vertexOffset + k, pos);\n }\n if (showWireframe) {\n barycentricAttr.set(vertexOffset + k, quadBarycentric[k]);\n }\n }\n for (var k = 0; k < 6; k++) {\n indices[faceOffset++] = quadToTriangle[k] + vertexOffset;\n }\n // Vertex normals\n if (needsNormal && !invisibleQuad) {\n for (var k = 0; k < 2; k++) {\n var k3 = k * 3;\n\n for (var m = 0; m < 3; m++) {\n var idx = quadIndices[quadToTriangle[k3] + m];\n getFromArray(pointsArr, idx, pts[m]);\n }\n\n vec3.sub(v21, pts[0], pts[1]);\n vec3.sub(v32, pts[1], pts[2]);\n vec3.cross(normal, v21, v32);\n // Weighted by the triangle area\n for (var m = 0; m < 3; m++) {\n var idx3 = quadIndices[quadToTriangle[k3] + m] * 3;\n vertexNormals[idx3] = vertexNormals[idx3] + normal[0];\n vertexNormals[idx3 + 1] = vertexNormals[idx3 + 1] + normal[1];\n vertexNormals[idx3 + 2] = vertexNormals[idx3 + 2] + normal[2];\n }\n }\n }\n\n }\n }\n if (needsNormal) {\n for (var i = 0; i < vertexNormals.length / 3; i++) {\n getFromArray(vertexNormals, i, normal);\n vec3.normalize(normal, normal);\n vertexNormals[i * 3] = normal[0];\n vertexNormals[i * 3 + 1] = normal[1];\n vertexNormals[i * 3 + 2] = normal[2];\n }\n }\n // Split normal and colors, write to the attributes.\n var rgbaArr = [];\n var uvArr = [];\n for (var i = 0; i < row - 1; i++) {\n for (var j = 0; j < column - 1; j++) {\n var dataIndex = i * (column - 1) + j;\n var vertexOffset = dataIndex * 4;\n\n getQuadIndices(i, j, quadIndices);\n for (var k = 0; k < 4; k++) {\n for (var m = 0; m < 4; m++) {\n rgbaArr[m] = vertexColors[quadIndices[k] * 4 + m];\n }\n colorAttr.set(vertexOffset + k, rgbaArr);\n\n if (needsNormal) {\n getFromArray(vertexNormals, quadIndices[k], normal);\n normalAttr.set(vertexOffset + k, normal);\n }\n\n var idx = quadIndices[k];\n uvArr[0] = (idx % column) / (column - 1);\n uvArr[1] = Math.floor(idx / column) / (row - 1);\n texcoordAttr.set(vertexOffset + k, uvArr);\n }\n dataIndex++;\n }\n }\n }\n else {\n var uvArr = [];\n for (var i = 0; i < data.count(); i++) {\n uvArr[0] = (i % column) / (column - 1);\n uvArr[1] = Math.floor(i / column) / (row - 1);\n var rgbaArr = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(data.getItemVisual(i, 'color'));\n var opacity = data.getItemVisual(i, 'opacity');\n rgbaArr[3] *= opacity;\n if (rgbaArr[3] < 0.99) {\n isTransparent = true;\n }\n colorAttr.set(i, rgbaArr);\n texcoordAttr.set(i, uvArr);\n }\n var quadIndices = [];\n // Triangles\n var cursor = 0;\n for (var i = 0; i < row - 1; i++) {\n for (var j = 0; j < column - 1; j++) {\n\n getQuadIndices(i, j, quadIndices);\n\n for (var k = 0; k < 6; k++) {\n indices[cursor++] = quadIndices[quadToTriangle[k]];\n }\n }\n }\n if (needsNormal) {\n geometry.generateVertexNormals();\n }\n else {\n normalAttr.value = null;\n }\n }\n if (surfaceMesh.material.get('normalMap')) {\n geometry.generateTangents();\n }\n\n\n geometry.updateBoundingBox();\n geometry.dirty();\n\n surfaceMesh.material.transparent = isTransparent;\n surfaceMesh.material.depthMask = !isTransparent;\n },\n\n _getDataShape: function (data, isParametric) {\n\n var prevX = -Infinity;\n var rowCount = 0;\n var columnCount = 0;\n var prevColumnCount = 0;\n\n var rowDim = isParametric ? 'u' : 'x';\n\n // Check data format\n for (var i = 0; i < data.count(); i++) {\n var x = data.get(rowDim, i);\n if (x < prevX) {\n if (prevColumnCount && prevColumnCount !== columnCount) {\n if (true) {\n throw new Error('Invalid data. data should be a row major 2d array.')\n }\n }\n // A new row.\n prevColumnCount = columnCount;\n columnCount = 0;\n rowCount++;\n }\n prevX = x;\n columnCount++;\n }\n\n return {\n row: rowCount + 1,\n column: columnCount\n };\n },\n\n dispose: function () {\n this.groupGL.removeAll();\n },\n\n remove: function () {\n this.groupGL.removeAll();\n }\n});\n\n/***/ }),\n/* 255 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerLayout(function (ecModel, api) {\n ecModel.eachSeriesByType('surface', function (surfaceModel) {\n var cartesian = surfaceModel.coordinateSystem;\n if (!cartesian || cartesian.type !== 'cartesian3D') {\n if (true) {\n console.error('Surface chart only support cartesian3D coordinateSystem');\n }\n }\n var data = surfaceModel.getData();\n var points = new Float32Array(3 * data.count());\n var nanPoint = [NaN, NaN, NaN];\n\n if (cartesian && cartesian.type === 'cartesian3D') {\n var coordDims = cartesian.dimensions;\n var dims = coordDims.map(function (coordDim) {\n return surfaceModel.coordDimToDataDim(coordDim)[0];\n });\n data.each(dims, function (x, y, z, idx) {\n var pt;\n if (!data.hasValue(idx)) {\n pt = nanPoint;\n }\n else {\n pt = cartesian.dataToPoint([x, y, z]);\n }\n points[idx * 3] = pt[0];\n points[idx * 3 + 1] = pt[1];\n points[idx * 3 + 2] = pt[2];\n });\n }\n data.setLayout('points', points);\n });\n});\n\n/***/ }),\n/* 256 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__coord_geo3D_Geo3D__ = __webpack_require__(99);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__map3D_Map3DSeries__ = __webpack_require__(257);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__map3D_Map3DView__ = __webpack_require__(258);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__ = __webpack_require__(17);\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerVisual(Object(__WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__[\"a\" /* default */])('map3D'));\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerAction({\n type: 'map3DChangeCamera',\n event: 'map3dcamerachanged',\n update: 'series:updateCamera'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series', subType: 'map3D', query: payload\n }, function (componentModel) {\n componentModel.setView(payload);\n });\n});\n\n/***/ }),\n/* 257 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__component_common_componentViewControlMixin__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__component_common_componentPostEffectMixin__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__component_common_componentLightMixin__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component_common_componentShadingMixin__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__coord_geo3D_geo3DModelMixin__ = __webpack_require__(96);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_format__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__common_formatTooltip__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__coord_geo3DCreator__ = __webpack_require__(98);\n\n\n\n\n\n\n\n\n\n\nfunction transformPolygon(mapbox3DCoordSys, poly) {\n var newPoly = [];\n for (var k = 0; k < poly.length; k++) {\n newPoly.push(mapbox3DCoordSys.dataToPoint(poly[k]));\n }\n return newPoly;\n}\n\nvar Map3DSeries = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendSeriesModel({\n\n type: 'series.map3D',\n\n layoutMode: 'box',\n\n coordinateSystem: null,\n\n visualColorAccessPath: 'itemStyle.color',\n\n optionUpdated: function (newOpt) {\n newOpt = newOpt || {};\n var coordSysType = this.get('coordinateSystem');\n if (coordSysType == null || coordSysType === 'geo3D') {\n return;\n }\n\n if (true) {\n var propsNeedToCheck = [\n 'left', 'top', 'width', 'height',\n 'boxWidth', 'boxDepth', 'boxHeight',\n 'light', 'viewControl', 'postEffect', 'temporalSuperSampling',\n 'environment', 'groundPlane'\n ];\n var ignoredProperties = [];\n propsNeedToCheck.forEach(function (propName) {\n if (newOpt[propName] != null) {\n ignoredProperties.push(propName);\n }\n });\n if (ignoredProperties.length) {\n console.warn(\n 'Property %s in map3D series will be ignored if coordinate system is %s',\n ignoredProperties.join(', '), coordSysType\n );\n }\n }\n\n if (this.get('groundPlane.show')) {\n // Force disable groundPlane if map3D has other coordinate systems.\n this.option.groundPlane.show = false;\n }\n\n // Reset geo.\n this._geo = null;\n },\n\n getInitialData: function (option) {\n option.data = this.getFilledRegions(option.data, option.map);\n\n var dimensions = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.helper.completeDimensions(['value'], option.data);\n var list = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.List(dimensions, this);\n list.initData(option.data);\n\n var regionModelMap = {};\n list.each(function (idx) {\n var name = list.getName(idx);\n var itemModel = list.getItemModel(idx);\n regionModelMap[name] = itemModel;\n });\n\n this._regionModelMap = regionModelMap;\n\n return list;\n },\n\n formatTooltip: function (dataIndex) {\n return Object(__WEBPACK_IMPORTED_MODULE_7__common_formatTooltip__[\"a\" /* default */])(this, dataIndex);\n },\n\n getRegionModel: function (idx) {\n var name = this.getData().getName(idx);\n return this._regionModelMap[name] || new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.Model(null, this);\n },\n\n getRegionPolygonCoords: function (idx) {\n var coordSys = this.coordinateSystem;\n var name = this.getData().getName(idx);\n if (coordSys.transform) {\n var region = coordSys.getRegion(name);\n return region ? region.geometries : [];\n }\n else {\n if (!this._geo) {\n this._geo = __WEBPACK_IMPORTED_MODULE_8__coord_geo3DCreator__[\"a\" /* default */].createGeo3D(this);\n }\n var region = this._geo.getRegion(name);\n var ret = [];\n for (var k = 0; k < region.geometries.length; k++) {\n var geo = region.geometries[k];\n var interiors = [];\n var exterior = transformPolygon(coordSys, geo.exterior);\n if (interiors && interiors.length) {\n for (var m = 0; m < geo.interiors.length; m++) {\n interiors.push(transformPolygon(coordSys, interiors[m]));\n }\n }\n ret.push({\n interiors: interiors,\n exterior: exterior\n });\n }\n return ret;\n }\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 (dataIndex, status) {\n var text = __WEBPACK_IMPORTED_MODULE_6__util_format__[\"a\" /* default */].getFormattedLabel(this, dataIndex, status);\n if (text == null) {\n text = this.getData().getName(dataIndex);\n }\n return text;\n },\n\n defaultOption: {\n // Support geo3D, mapbox, maptalks3D\n coordinateSystem: 'geo3D',\n // itemStyle: {},\n // height,\n // label: {}\n data: null\n }\n});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Map3DSeries.prototype, __WEBPACK_IMPORTED_MODULE_5__coord_geo3D_geo3DModelMixin__[\"a\" /* default */]);\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Map3DSeries.prototype, __WEBPACK_IMPORTED_MODULE_1__component_common_componentViewControlMixin__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Map3DSeries.prototype, __WEBPACK_IMPORTED_MODULE_2__component_common_componentPostEffectMixin__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Map3DSeries.prototype, __WEBPACK_IMPORTED_MODULE_3__component_common_componentLightMixin__[\"a\" /* default */]);\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.merge(Map3DSeries.prototype, __WEBPACK_IMPORTED_MODULE_4__component_common_componentShadingMixin__[\"a\" /* default */]);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (Map3DSeries);\n\n/***/ }),\n/* 258 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_OrbitControl__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__component_common_SceneHelper__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component_common_Geo3DBuilder__ = __webpack_require__(64);\n\n\n\n\n\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendChartView({\n\n type: 'map3D',\n\n __ecgl__: true,\n\n init: function (ecModel, api) {\n this._geo3DBuilder = new __WEBPACK_IMPORTED_MODULE_4__component_common_Geo3DBuilder__[\"a\" /* default */](api);\n this.groupGL = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n },\n\n render: function (map3DModel, ecModel, api) {\n\n var coordSys = map3DModel.coordinateSystem;\n\n if (!coordSys || !coordSys.viewGL) {\n return;\n }\n\n this.groupGL.add(this._geo3DBuilder.rootNode);\n coordSys.viewGL.add(this.groupGL);\n\n var geo3D;\n if (coordSys.type === 'geo3D') {\n geo3D = coordSys;\n\n if (!this._sceneHelper) {\n this._sceneHelper = new __WEBPACK_IMPORTED_MODULE_3__component_common_SceneHelper__[\"a\" /* default */]();\n this._sceneHelper.initLight(this.groupGL);\n }\n\n this._sceneHelper.setScene(coordSys.viewGL.scene);\n this._sceneHelper.updateLight(map3DModel);\n\n // Set post effect\n coordSys.viewGL.setPostEffect(map3DModel.getModel('postEffect'), api);\n coordSys.viewGL.setTemporalSuperSampling(map3DModel.getModel('temporalSuperSampling'));\n\n var control = this._control;\n if (!control) {\n control = this._control = new __WEBPACK_IMPORTED_MODULE_2__util_OrbitControl__[\"a\" /* default */]({\n zr: api.getZr()\n });\n this._control.init();\n }\n var viewControlModel = map3DModel.getModel('viewControl');\n control.setViewGL(coordSys.viewGL);\n control.setFromViewControlModel(viewControlModel, 0);\n\n control.off('update');\n control.on('update', function () {\n api.dispatchAction({\n type: 'map3DChangeCamera',\n alpha: control.getAlpha(),\n beta: control.getBeta(),\n distance: control.getDistance(),\n from: this.uid,\n map3DId: map3DModel.id\n });\n });\n\n this._geo3DBuilder.extrudeY = true;\n }\n else {\n if (this._control) {\n this._control.dispose();\n this._control = null;\n }\n if (this._sceneHelper) {\n this._sceneHelper.dispose();\n this._sceneHelper = null;\n }\n geo3D = map3DModel.getData().getLayout('geo3D');\n\n this._geo3DBuilder.extrudeY = false;\n }\n\n this._geo3DBuilder.update(map3DModel, ecModel, api, 0, map3DModel.getData().count());\n\n\n // Must update after geo3D.viewGL.setPostEffect to determine linear space\n var srgbDefineMethod = coordSys.viewGL.isLinearSpace() ? 'define' : 'undefine';\n this._geo3DBuilder.rootNode.traverse(function (mesh) {\n if (mesh.material) {\n mesh.material[srgbDefineMethod]('fragment', 'SRGB_DECODE');\n }\n });\n },\n\n afterRender: function (map3DModel, ecModel, api, layerGL) {\n var renderer = layerGL.renderer;\n var coordSys = map3DModel.coordinateSystem;\n if (coordSys && coordSys.type === 'geo3D') {\n this._sceneHelper.updateAmbientCubemap(renderer, map3DModel, api);\n this._sceneHelper.updateSkybox(renderer, map3DModel, api);\n }\n },\n\n dispose: function () {\n this.groupGL.removeAll();\n this._control.dispose();\n }\n}));\n\n/***/ }),\n/* 259 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__scatterGL_ScatterGLSeries__ = __webpack_require__(260);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__scatterGL_ScatterGLView__ = __webpack_require__(261);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__ = __webpack_require__(17);\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerVisual(__WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol___default()('scatterGL', 'circle', null));\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerVisual(Object(__WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__[\"a\" /* default */])('scatterGL'));\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerLayout({\n seriesType: 'scatterGL',\n reset: function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n\n var progress;\n if (coordSys) {\n var dims = coordSys.dimensions;\n var pt = [];\n if (dims.length === 1) {\n progress = function (params, data) {\n var points = new Float32Array((params.end - params.start) * 2);\n for (var idx = params.start; idx < params.end; idx++) {\n var offset = (idx - params.start) * 2;\n var x = data.get(dims[0], idx);\n var pt = coordSys.dataToPoint(x);\n points[offset] = pt[0];\n points[offset + 1] = pt[1];\n }\n data.setLayout('points', points);\n };\n }\n else if (dims.length === 2) {\n progress = function (params, data) {\n var points = new Float32Array((params.end - params.start) * 2);\n for (var idx = params.start; idx < params.end; idx++) {\n var offset = (idx - params.start) * 2;\n var x = data.get(dims[0], idx);\n var y = data.get(dims[1], idx);\n pt[0] = x;\n pt[1] = y;\n\n pt = coordSys.dataToPoint(pt);\n points[offset] = pt[0];\n points[offset + 1] = pt[1];\n }\n data.setLayout('points', points);\n };\n }\n }\n\n return { progress: progress };\n }\n});\n\n/***/ }),\n/* 260 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendSeriesModel({\n\n type: 'series.scatterGL',\n\n dependencies: ['grid', 'polar', 'geo', 'singleAxis'],\n\n visualColorAccessPath: 'itemStyle.color',\n\n getInitialData: function () {\n return __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.helper.createList(this);\n },\n\n defaultOption: {\n coordinateSystem: 'cartesian2d',\n zlevel: 10,\n\n progressive: 1e5,\n progressiveThreshold: 1e5,\n\n // Cartesian coordinate system\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n\n // Polar coordinate system\n // polarIndex: 0,\n\n // Geo coordinate system\n // geoIndex: 0,\n\n large: false,\n\n symbol: 'circle',\n symbolSize: 10,\n\n // symbolSize scale when zooming.\n zoomScale: 0,\n\n // Support source-over, lighter\n blendMode: 'source-over',\n\n itemStyle: {\n opacity: 0.8\n },\n\n\n postEffect: {\n enable: false,\n colorCorrection: {\n exposure: 0,\n brightness: 0,\n contrast: 1,\n saturation: 1,\n enable: true\n }\n }\n\n }\n});\n\n/***/ }),\n/* 261 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_ViewGL__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common_PointsBuilder__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_GLViewHelper__ = __webpack_require__(103);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_retrieve__ = __webpack_require__(2);\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendChartView({\n\n type: 'scatterGL',\n\n __ecgl__: true,\n\n init: function (ecModel, api) {\n\n this.groupGL = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n this.viewGL = new __WEBPACK_IMPORTED_MODULE_2__core_ViewGL__[\"a\" /* default */]('orthographic');\n\n this.viewGL.add(this.groupGL);\n\n this._pointsBuilderList = [];\n this._currentStep = 0;\n\n this._sizeScale = 1;\n\n this._glViewHelper = new __WEBPACK_IMPORTED_MODULE_4__common_GLViewHelper__[\"a\" /* default */](this.viewGL);\n },\n\n render: function (seriesModel, ecModel, api) {\n this.groupGL.removeAll();\n this._glViewHelper.reset(seriesModel, api);\n\n if (!seriesModel.getData().count()) {\n return;\n }\n\n var pointsBuilder = this._pointsBuilderList[0];\n if (!pointsBuilder) {\n pointsBuilder = this._pointsBuilderList[0] = new __WEBPACK_IMPORTED_MODULE_3__common_PointsBuilder__[\"a\" /* default */](true, api);\n }\n this._pointsBuilderList.length = 1;\n\n this.groupGL.add(pointsBuilder.rootNode);\n\n this._removeTransformInPoints(seriesModel.getData().getLayout('points'));\n pointsBuilder.update(seriesModel, ecModel, api);\n\n this.viewGL.setPostEffect(seriesModel.getModel('postEffect'), api);\n },\n\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n this.groupGL.removeAll();\n this._glViewHelper.reset(seriesModel, api);\n\n this._currentStep = 0;\n\n this.viewGL.setPostEffect(seriesModel.getModel('postEffect'), api);\n },\n\n incrementalRender: function (params, seriesModel, ecModel, api) {\n if (params.end <= params.start) {\n return;\n }\n\n var pointsBuilder = this._pointsBuilderList[this._currentStep];\n if (!pointsBuilder) {\n pointsBuilder = new __WEBPACK_IMPORTED_MODULE_3__common_PointsBuilder__[\"a\" /* default */](true, api);\n this._pointsBuilderList[this._currentStep] = pointsBuilder;\n }\n this.groupGL.add(pointsBuilder.rootNode);\n\n this._removeTransformInPoints(seriesModel.getData().getLayout('points'));\n\n pointsBuilder.setSizeScale(this._sizeScale);\n pointsBuilder.update(seriesModel, ecModel, api, params.start, params.end);\n\n api.getZr().refresh();\n\n this._currentStep++;\n },\n\n updateTransform: function (seriesModel, ecModel, api) {\n if (seriesModel.coordinateSystem.getRoamTransform) {\n this._glViewHelper.updateTransform(seriesModel, api);\n\n var zoom = this._glViewHelper.getZoom();\n var sizeScale = Math.max((seriesModel.get('zoomScale') || 0) * (zoom - 1) + 1, 0);\n this._sizeScale = sizeScale;\n\n this._pointsBuilderList.forEach(function (pointsBuilder) {\n pointsBuilder.setSizeScale(sizeScale);\n });\n }\n },\n\n _removeTransformInPoints: function (points) {\n if (!points) {\n return;\n }\n var pt = [];\n for (var i = 0; i < points.length; i += 2) {\n pt[0] = points[i];\n pt[1] = points[i + 1];\n this._glViewHelper.removeTransformInPoint(pt);\n points[i] = pt[0];\n points[i + 1] = pt[1];\n }\n },\n\n\n dispose: function () {\n this.groupGL.removeAll();\n },\n\n remove: function () {\n this.groupGL.removeAll();\n }\n});\n\n/***/ }),\n/* 262 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__graphGL_GraphGLSeries__ = __webpack_require__(263);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__graphGL_GraphGLView__ = __webpack_require__(268);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__ = __webpack_require__(17);\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerVisual(__WEBPACK_IMPORTED_MODULE_3_echarts_lib_visual_symbol___default()('graphGL', 'circle', null));\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerVisual(Object(__WEBPACK_IMPORTED_MODULE_4__common_opacityVisual__[\"a\" /* default */])('graphGL'));\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerVisual(function (ecModel) {\n var paletteScope = {};\n ecModel.eachSeriesByType('graphGL', function (seriesModel) {\n var categoriesData = seriesModel.getCategoriesData();\n var data = seriesModel.getData();\n\n var categoryNameIdxMap = {};\n\n categoriesData.each(function (idx) {\n var name = categoriesData.getName(idx);\n categoryNameIdxMap[name] = idx;\n\n var itemModel = categoriesData.getItemModel(idx);\n var color = itemModel.get('itemStyle.color')\n || seriesModel.getColorFromPalette(name, paletteScope);\n categoriesData.setItemVisual(idx, 'color', color);\n });\n\n // Assign category color to visual\n if (categoriesData.count()) {\n data.each(function (idx) {\n var model = data.getItemModel(idx);\n var category = model.getShallow('category');\n if (category != null) {\n if (typeof category === 'string') {\n category = categoryNameIdxMap[category];\n }\n if (!data.getItemVisual(idx, 'color', true)) {\n data.setItemVisual(\n idx, 'color',\n categoriesData.getItemVisual(category, 'color')\n );\n }\n }\n });\n }\n });\n});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerVisual(function (ecModel) {\n ecModel.eachSeriesByType('graphGL', function (seriesModel) {\n var graph = seriesModel.getGraph();\n var edgeData = seriesModel.getEdgeData();\n\n var colorQuery = 'lineStyle.color'.split('.');\n var opacityQuery = 'lineStyle.opacity'.split('.');\n\n edgeData.setVisual('color', seriesModel.get(colorQuery));\n edgeData.setVisual('opacity', seriesModel.get(opacityQuery));\n\n edgeData.each(function (idx) {\n var itemModel = edgeData.getItemModel(idx);\n var edge = graph.getEdgeByIndex(idx);\n // Edge visual must after node visual\n var color = itemModel.get(colorQuery);\n var opacity = itemModel.get(opacityQuery);\n switch (color) {\n case 'source':\n color = edge.node1.getVisual('color');\n break;\n case 'target':\n color = edge.node2.getVisual('color');\n break;\n }\n\n edge.setVisual('color', color);\n edge.setVisual('opacity', opacity);\n });\n });\n});\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerAction({\n type: 'graphGLRoam',\n event: 'graphglroam',\n update: 'series.graphGL:roam'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series', query: payload\n }, function (componentModel) {\n componentModel.setView(payload);\n });\n});\n\nfunction noop() {}\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerAction({\n type: 'graphGLStartLayout',\n event: 'graphgllayoutstarted',\n update: 'series.graphGL:startLayout'\n}, noop);\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerAction({\n type: 'graphGLStopLayout',\n event: 'graphgllayoutstopped',\n update: 'series.graphGL:stopLayout'\n}, noop);\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerAction({\n type: 'graphGLFocusNodeAdjacency',\n event: 'graphGLFocusNodeAdjacency',\n update: 'series.graphGL:focusNodeAdjacency'\n}, noop);\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerAction({\n type: 'graphGLUnfocusNodeAdjacency',\n event: 'graphGLUnfocusNodeAdjacency',\n update: 'series.graphGL:unfocusNodeAdjacency'\n}, noop);\n\n/***/ }),\n/* 263 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__createGraphFromNodeEdge__ = __webpack_require__(264);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_format__ = __webpack_require__(32);\n\n\n\n\nvar GraphSeries = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendSeriesModel({\n\n type: 'series.graphGL',\n\n visualColorAccessPath: 'itemStyle.color',\n\n init: function (option) {\n GraphSeries.superApply(this, 'init', arguments);\n\n // Provide data for legend select\n this.legendDataProvider = function () {\n return this._categoriesData;\n };\n\n this._updateCategoriesData();\n },\n\n mergeOption: function (option) {\n GraphSeries.superApply(this, 'mergeOption', arguments);\n\n this._updateCategoriesData();\n },\n\n getFormattedLabel: function (dataIndex, status, dataType, dimIndex) {\n var text = __WEBPACK_IMPORTED_MODULE_2__util_format__[\"a\" /* default */].getFormattedLabel(this, dataIndex, status, dataType, dimIndex);\n if (text == null) {\n var data = this.getData();\n var lastDim = data.dimensions[data.dimensions.length - 1];\n text = data.get(lastDim, dataIndex);\n }\n return text;\n },\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 Object(__WEBPACK_IMPORTED_MODULE_1__createGraphFromNodeEdge__[\"a\" /* default */])(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 if (categoryModel) {\n categoryModel.parentModel = model.parentModel;\n model.parentModel = categoryModel;\n }\n return model;\n });\n\n var edgeLabelModel = self.getModel('edgeLabel');\n // For option `edgeLabel` can be found by label.xxx.xxx on item mode.\n var fakeSeriesModel = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.Model(\n { label: edgeLabelModel.option },\n edgeLabelModel.parentModel,\n ecModel\n );\n\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')\n ? fakeSeriesModel\n : 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\n var html = [];\n sourceName != null && html.push(sourceName);\n targetName != null && html.push(targetName);\n html = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.format.encodeHTML(html.join(' > '));\n\n if (params.value) {\n html += ' : ' + __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.format.encodeHTML(params.value);\n }\n return html;\n }\n else { // dataType === 'node' or empty\n return GraphSeries.superApply(this, 'formatTooltip', arguments);\n }\n },\n\n _updateCategoriesData: function () {\n var categories = (this.option.categories || []).map(function (category) {\n // Data must has value\n return category.value != null ? category : __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.util.extend({\n value: 0\n }, category);\n });\n var categoriesData = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.List(['value'], this);\n categoriesData.initData(categories);\n\n this._categoriesData = categoriesData;\n\n this._categoriesModels = categoriesData.mapArray(function (idx) {\n return categoriesData.getItemModel(idx, true);\n });\n },\n\n setView: function (payload) {\n if (payload.zoom != null) {\n this.option.zoom = payload.zoom;\n }\n if (payload.offset != null) {\n this.option.offset = payload.offset;\n }\n },\n\n setNodePosition: function (points) {\n for (var i = 0; i < points.length / 2; i++) {\n var x = points[i * 2];\n var y = points[i * 2 + 1];\n\n var opt = this.getData().getRawDataItem(i);\n opt.x = x;\n opt.y = y;\n }\n },\n\n isAnimationEnabled: function () {\n return GraphSeries.superCall(this, 'isAnimationEnabled')\n // Not enable animation when do force layout\n && !(this.get('layout') === 'force' && this.get('force.layoutAnimation'));\n },\n\n defaultOption: {\n zlevel: 10,\n z: 2,\n\n legendHoverLink: true,\n\n // Only support forceAtlas2\n layout: 'forceAtlas2',\n\n // Configuration of force directed layout\n forceAtlas2: {\n initLayout: null,\n\n GPU: true,\n\n steps: 1,\n\n // barnesHutOptimize\n\n // Maxp layout steps.\n maxSteps: 1000,\n\n repulsionByDegree: true,\n linLogMode: false,\n strongGravityMode: false,\n gravity: 1.0,\n // scaling: 1.0,\n\n edgeWeightInfluence: 1.0,\n\n // Edge weight range.\n edgeWeight: [1, 4],\n // Node weight range.\n nodeWeight: [1, 4],\n\n // jitterTolerence: 0.1,\n preventOverlap: false,\n gravityCenter: null\n },\n\n focusNodeAdjacency: true,\n\n focusNodeAdjacencyOn: 'mouseover',\n\n left: 'center',\n top: 'center',\n // right: null,\n // bottom: null,\n // width: '80%',\n // height: '80%',\n\n symbol: 'circle',\n symbolSize: 5,\n\n roam: false,\n\n // Default on center of graph\n center: null,\n\n zoom: 1,\n\n // categories: [],\n\n // data: []\n // Or\n // nodes: []\n //\n // links: []\n // Or\n // edges: []\n\n label: {\n show: false,\n formatter: '{b}',\n position: 'right',\n distance: 5,\n textStyle: {\n fontSize: 14\n }\n },\n\n itemStyle: {},\n\n lineStyle: {\n color: '#aaa',\n width: 1,\n opacity: 0.5\n },\n\n emphasis: {\n label: {\n show: true\n }\n },\n\n animation: false\n }\n});\n\n/* unused harmony default export */ var _unused_webpack_default_export = (GraphSeries);\n\n/***/ }),\n/* 264 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_data_Graph__ = __webpack_require__(265);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_data_Graph___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_echarts_lib_data_Graph__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_echarts_lib_data_helper_linkList__ = __webpack_require__(267);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_echarts_lib_data_helper_linkList___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_echarts_lib_data_helper_linkList__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_retrieve__ = __webpack_require__(2);\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function (nodes, edges, hostModel, directed, beforeLink) {\n var graph = new __WEBPACK_IMPORTED_MODULE_1_echarts_lib_data_Graph___default.a(directed);\n for (var i = 0; i < nodes.length; i++) {\n graph.addNode(__WEBPACK_IMPORTED_MODULE_3__util_retrieve__[\"a\" /* default */].firstNotNull(\n // Id, name, dataIndex\n nodes[i].id, nodes[i].name, i\n ), i);\n }\n\n var linkNameList = [];\n var validEdges = [];\n var linkCount = 0;\n for (var i = 0; i < edges.length; i++) {\n var link = edges[i];\n var source = link.source;\n var target = link.target;\n // addEdge may fail when source or target not exists\n if (graph.addEdge(source, target, linkCount)) {\n validEdges.push(link);\n linkNameList.push(__WEBPACK_IMPORTED_MODULE_3__util_retrieve__[\"a\" /* default */].firstNotNull(link.id, source + ' > ' + target));\n linkCount++;\n }\n }\n\n var nodeData;\n\n // FIXME, support more coordinate systems.\n var dimensionNames = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.helper.completeDimensions(\n ['value'], nodes\n );\n nodeData = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.List(dimensionNames, hostModel);\n nodeData.initData(nodes);\n\n var edgeData = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.List(['value'], hostModel);\n edgeData.initData(validEdges, linkNameList);\n\n beforeLink && beforeLink(nodeData, edgeData);\n\n __WEBPACK_IMPORTED_MODULE_2_echarts_lib_data_helper_linkList___default()({\n mainData: nodeData,\n struct: graph,\n structAttr: 'graph',\n datas: {node: nodeData, edge: edgeData},\n datasAttr: {node: 'data', edge: 'edgeData'}\n });\n\n // Update dataIndex of nodes and edges because invalid edge may be removed\n graph.update();\n\n return graph;\n});;\n\n/***/ }),\n/* 265 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar _config = __webpack_require__(104);\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = __webpack_require__(13);\n\nvar _clazz = __webpack_require__(266);\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\n/**\n * Graph data structure\n *\n * @module echarts/data/Graph\n * @author Yi Shen(https://www.github.com/pissang)\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 || '' + dataIndex;\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/* 266 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar _config = __webpack_require__(104);\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = __webpack_require__(13);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 TYPE_DELIMITER = '.';\nvar IS_CONTAINER = '___EC__COMPONENT__CONTAINER___';\n/**\n * Notice, parseClassType('') should returns {main: '', sub: ''}\n * @public\n */\n\nfunction parseClassType(componentType) {\n var ret = {\n main: '',\n sub: ''\n };\n\n if (componentType) {\n componentType = componentType.split(TYPE_DELIMITER);\n ret.main = componentType[0] || '';\n ret.sub = componentType[1] || '';\n }\n\n return ret;\n}\n/**\n * @public\n */\n\n\nfunction checkClassType(componentType) {\n zrUtil.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(componentType), 'componentType \"' + componentType + '\" illegal');\n}\n/**\n * @public\n */\n\n\nfunction enableClassExtend(RootClass, mandatoryMethods) {\n RootClass.$constructor = RootClass;\n\n RootClass.extend = function (proto) {\n var superClass = this;\n\n var ExtendedClass = function () {\n if (!proto.$constructor) {\n superClass.apply(this, arguments);\n } else {\n proto.$constructor.apply(this, arguments);\n }\n };\n\n zrUtil.extend(ExtendedClass.prototype, proto);\n ExtendedClass.extend = this.extend;\n ExtendedClass.superCall = superCall;\n ExtendedClass.superApply = superApply;\n zrUtil.inherits(ExtendedClass, this);\n ExtendedClass.superClass = superClass;\n return ExtendedClass;\n };\n}\n\nvar classBase = 0;\n/**\n * Can not use instanceof, consider different scope by\n * cross domain or es module import in ec extensions.\n * Mount a method \"isInstance()\" to Clz.\n */\n\nfunction enableClassCheck(Clz) {\n var classAttr = ['__\\0is_clz', classBase++, Math.random().toFixed(3)].join('_');\n Clz.prototype[classAttr] = true;\n\n Clz.isInstance = function (obj) {\n return !!(obj && obj[classAttr]);\n };\n} // superCall should have class info, which can not be fetch from 'this'.\n// Consider this case:\n// class A has method f,\n// class B inherits class A, overrides method f, f call superApply('f'),\n// class C inherits class B, do not overrides method f,\n// then when method of class C is called, dead loop occured.\n\n\nfunction superCall(context, methodName) {\n var args = zrUtil.slice(arguments, 2);\n return this.superClass.prototype[methodName].apply(context, args);\n}\n\nfunction superApply(context, methodName, args) {\n return this.superClass.prototype[methodName].apply(context, args);\n}\n/**\n * @param {Object} entity\n * @param {Object} options\n * @param {boolean} [options.registerWhenExtend]\n * @public\n */\n\n\nfunction enableClassManagement(entity, options) {\n options = options || {};\n /**\n * Component model classes\n * key: componentType,\n * value:\n * componentClass, when componentType is 'xxx'\n * or Object., when componentType is 'xxx.yy'\n * @type {Object}\n */\n\n var storage = {};\n\n entity.registerClass = function (Clazz, componentType) {\n if (componentType) {\n checkClassType(componentType);\n componentType = parseClassType(componentType);\n\n if (!componentType.sub) {\n storage[componentType.main] = Clazz;\n } else if (componentType.sub !== IS_CONTAINER) {\n var container = makeContainer(componentType);\n container[componentType.sub] = Clazz;\n }\n }\n\n return Clazz;\n };\n\n entity.getClass = function (componentMainType, subType, throwWhenNotFound) {\n var Clazz = storage[componentMainType];\n\n if (Clazz && Clazz[IS_CONTAINER]) {\n Clazz = subType ? Clazz[subType] : null;\n }\n\n if (throwWhenNotFound && !Clazz) {\n throw new Error(!subType ? componentMainType + '.' + 'type should be specified.' : 'Component ' + componentMainType + '.' + (subType || '') + ' not exists. Load it first.');\n }\n\n return Clazz;\n };\n\n entity.getClassesByMainType = function (componentType) {\n componentType = parseClassType(componentType);\n var result = [];\n var obj = storage[componentType.main];\n\n if (obj && obj[IS_CONTAINER]) {\n zrUtil.each(obj, function (o, type) {\n type !== IS_CONTAINER && result.push(o);\n });\n } else {\n result.push(obj);\n }\n\n return result;\n };\n\n entity.hasClass = function (componentType) {\n // Just consider componentType.main.\n componentType = parseClassType(componentType);\n return !!storage[componentType.main];\n };\n /**\n * @return {Array.} Like ['aa', 'bb'], but can not be ['aa.xx']\n */\n\n\n entity.getAllClassMainTypes = function () {\n var types = [];\n zrUtil.each(storage, function (obj, type) {\n types.push(type);\n });\n return types;\n };\n /**\n * If a main type is container and has sub types\n * @param {string} mainType\n * @return {boolean}\n */\n\n\n entity.hasSubTypes = function (componentType) {\n componentType = parseClassType(componentType);\n var obj = storage[componentType.main];\n return obj && obj[IS_CONTAINER];\n };\n\n entity.parseClassType = parseClassType;\n\n function makeContainer(componentType) {\n var container = storage[componentType.main];\n\n if (!container || !container[IS_CONTAINER]) {\n container = storage[componentType.main] = {};\n container[IS_CONTAINER] = true;\n }\n\n return container;\n }\n\n if (options.registerWhenExtend) {\n var originalExtend = entity.extend;\n\n if (originalExtend) {\n entity.extend = function (proto) {\n var ExtendedClass = originalExtend.call(this, proto);\n return entity.registerClass(ExtendedClass, proto.type);\n };\n }\n }\n\n return entity;\n}\n/**\n * @param {string|Array.} properties\n */\n\n\nfunction setReadOnly(obj, properties) {// FIXME It seems broken in IE8 simulation of IE11\n // if (!zrUtil.isArray(properties)) {\n // properties = properties != null ? [properties] : [];\n // }\n // zrUtil.each(properties, function (prop) {\n // var value = obj[prop];\n // Object.defineProperty\n // && Object.defineProperty(obj, prop, {\n // value: value, writable: false\n // });\n // zrUtil.isArray(obj[prop])\n // && Object.freeze\n // && Object.freeze(obj[prop]);\n // });\n}\n\nexports.parseClassType = parseClassType;\nexports.enableClassExtend = enableClassExtend;\nexports.enableClassCheck = enableClassCheck;\nexports.enableClassManagement = enableClassManagement;\nexports.setReadOnly = setReadOnly;\n\n/***/ }),\n/* 267 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar zrUtil = __webpack_require__(13);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 * Link lists and struct (graph or tree)\n */\nvar each = zrUtil.each;\nvar DATAS = '\\0__link_datas';\nvar MAIN_DATA = '\\0__link_mainData'; // Caution:\n// In most case, either list or its shallow clones (see list.cloneShallow)\n// is active in echarts process. So considering heap memory consumption,\n// we do not clone tree or graph, but share them among list and its shallow clones.\n// But in some rare case, we have to keep old list (like do animation in chart). So\n// please take care that both the old list and the new list share the same tree/graph.\n\n/**\n * @param {Object} opt\n * @param {module:echarts/data/List} opt.mainData\n * @param {Object} [opt.struct] For example, instance of Graph or Tree.\n * @param {string} [opt.structAttr] designation: list[structAttr] = struct;\n * @param {Object} [opt.datas] {dataType: data},\n * like: {node: nodeList, edge: edgeList}.\n * Should contain mainData.\n * @param {Object} [opt.datasAttr] {dataType: attr},\n * designation: struct[datasAttr[dataType]] = list;\n */\n\nfunction linkList(opt) {\n var mainData = opt.mainData;\n var datas = opt.datas;\n\n if (!datas) {\n datas = {\n main: mainData\n };\n opt.datasAttr = {\n main: 'data'\n };\n }\n\n opt.datas = opt.mainData = null;\n linkAll(mainData, datas, opt); // Porxy data original methods.\n\n each(datas, function (data) {\n each(mainData.TRANSFERABLE_METHODS, function (methodName) {\n data.wrapMethod(methodName, zrUtil.curry(transferInjection, opt));\n });\n }); // Beyond transfer, additional features should be added to `cloneShallow`.\n\n mainData.wrapMethod('cloneShallow', zrUtil.curry(cloneShallowInjection, opt)); // Only mainData trigger change, because struct.update may trigger\n // another changable methods, which may bring about dead lock.\n\n each(mainData.CHANGABLE_METHODS, function (methodName) {\n mainData.wrapMethod(methodName, zrUtil.curry(changeInjection, opt));\n }); // Make sure datas contains mainData.\n\n zrUtil.assert(datas[mainData.dataType] === mainData);\n}\n\nfunction transferInjection(opt, res) {\n if (isMainData(this)) {\n // Transfer datas to new main data.\n var datas = zrUtil.extend({}, this[DATAS]);\n datas[this.dataType] = res;\n linkAll(res, datas, opt);\n } else {\n // Modify the reference in main data to point newData.\n linkSingle(res, this.dataType, this[MAIN_DATA], opt);\n }\n\n return res;\n}\n\nfunction changeInjection(opt, res) {\n opt.struct && opt.struct.update(this);\n return res;\n}\n\nfunction cloneShallowInjection(opt, res) {\n // cloneShallow, which brings about some fragilities, may be inappropriate\n // to be exposed as an API. So for implementation simplicity we can make\n // the restriction that cloneShallow of not-mainData should not be invoked\n // outside, but only be invoked here.\n each(res[DATAS], function (data, dataType) {\n data !== res && linkSingle(data.cloneShallow(), dataType, res, opt);\n });\n return res;\n}\n/**\n * Supplement method to List.\n *\n * @public\n * @param {string} [dataType] If not specified, return mainData.\n * @return {module:echarts/data/List}\n */\n\n\nfunction getLinkedData(dataType) {\n var mainData = this[MAIN_DATA];\n return dataType == null || mainData == null ? mainData : mainData[DATAS][dataType];\n}\n\nfunction isMainData(data) {\n return data[MAIN_DATA] === data;\n}\n\nfunction linkAll(mainData, datas, opt) {\n mainData[DATAS] = {};\n each(datas, function (data, dataType) {\n linkSingle(data, dataType, mainData, opt);\n });\n}\n\nfunction linkSingle(data, dataType, mainData, opt) {\n mainData[DATAS][dataType] = data;\n data[MAIN_DATA] = mainData;\n data.dataType = dataType;\n\n if (opt.struct) {\n data[opt.structAttr] = opt.struct;\n opt.struct[opt.datasAttr[dataType]] = data;\n } // Supplement method.\n\n\n data.getLinkedData = getLinkedData;\n}\n\nvar _default = linkList;\nmodule.exports = _default;\n\n/***/ }),\n/* 268 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_util_layout__ = __webpack_require__(47);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_util_layout___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_echarts_lib_util_layout__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_ViewGL__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_geometry_Lines2D__ = __webpack_require__(105);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_retrieve__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ForceAtlas2GPU__ = __webpack_require__(269);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ForceAtlas2__ = __webpack_require__(271);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_zrender_lib_animation_requestAnimationFrame__ = __webpack_require__(80);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_zrender_lib_animation_requestAnimationFrame___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_zrender_lib_animation_requestAnimationFrame__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_claygl_src_dep_glmatrix__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__util_Roam2DControl__ = __webpack_require__(273);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__common_PointsBuilder__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__util_shader_lines2D_glsl_js__ = __webpack_require__(274);\n\n\n\n\n\n\n\n\n\n\n\nvar vec2 = __WEBPACK_IMPORTED_MODULE_9_claygl_src_dep_glmatrix__[\"a\" /* default */].vec2;\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].Shader.import(__WEBPACK_IMPORTED_MODULE_12__util_shader_lines2D_glsl_js__[\"a\" /* default */]);\n\nvar globalLayoutId = 1;\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendChartView({\n\n type: 'graphGL',\n\n __ecgl__: true,\n\n init: function (ecModel, api) {\n\n this.groupGL = new __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].Node();\n this.viewGL = new __WEBPACK_IMPORTED_MODULE_3__core_ViewGL__[\"a\" /* default */]('orthographic');\n this.viewGL.camera.left = this.viewGL.camera.right = 0;\n\n this.viewGL.add(this.groupGL);\n\n this._pointsBuilder = new __WEBPACK_IMPORTED_MODULE_11__common_PointsBuilder__[\"a\" /* default */](true, api);\n\n // Mesh used during force directed layout.\n this._forceEdgesMesh = new __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].Mesh({\n material: new __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].Material({\n shader: __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].createShader('ecgl.forceAtlas2.edges'),\n transparent: true,\n depthMask: false,\n depthTest: false\n }),\n $ignorePicking: true,\n geometry: new __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].Geometry({\n attributes: {\n node: new __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].Geometry.Attribute('node', 'float', 2),\n color: new __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].Geometry.Attribute('color', 'float', 4, 'COLOR')\n },\n dynamic: true,\n mainAttribute: 'node'\n }),\n renderOrder: -1,\n mode: __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].Mesh.LINES\n });\n\n // Mesh used after force directed layout.\n this._edgesMesh = new __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].Mesh({\n material: new __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].Material({\n shader: __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].createShader('ecgl.meshLines2D'),\n transparent: true,\n depthMask: false,\n depthTest: false\n }),\n $ignorePicking: true,\n geometry: new __WEBPACK_IMPORTED_MODULE_4__util_geometry_Lines2D__[\"a\" /* default */]({\n useNativeLine: false,\n dynamic: true\n }),\n renderOrder: -1,\n culling: false\n });\n\n this._layoutId = 0;\n\n this._control = new __WEBPACK_IMPORTED_MODULE_10__util_Roam2DControl__[\"a\" /* default */]({\n zr: api.getZr(),\n viewGL: this.viewGL\n });\n this._control.setTarget(this.groupGL);\n this._control.init();\n\n\n this._clickHandler = this._clickHandler.bind(this);\n },\n\n render: function (seriesModel, ecModel, api) {\n this.groupGL.add(this._pointsBuilder.rootNode);\n\n this._model = seriesModel;\n this._api = api;\n\n this._initLayout(seriesModel, ecModel, api);\n\n this._pointsBuilder.update(seriesModel, ecModel, api);\n\n if (!(this._forceLayoutInstance instanceof __WEBPACK_IMPORTED_MODULE_6__ForceAtlas2GPU__[\"a\" /* default */])) {\n this.groupGL.remove(this._forceEdgesMesh);\n }\n\n this._updateCamera(seriesModel, api);\n\n this._control.off('update');\n this._control.on('update', function () {\n api.dispatchAction({\n type: 'graphGLRoam',\n seriesId: seriesModel.id,\n zoom: this._control.getZoom(),\n offset: this._control.getOffset()\n });\n\n this._pointsBuilder.updateView(this.viewGL.camera);\n }, this);\n\n this._control.setZoom(__WEBPACK_IMPORTED_MODULE_5__util_retrieve__[\"a\" /* default */].firstNotNull(seriesModel.get('zoom'), 1));\n this._control.setOffset(seriesModel.get('offset') || [0, 0]);\n\n var mesh = this._pointsBuilder.getPointsMesh();\n mesh.off('mousemove', this._mousemoveHandler);\n mesh.off('mouseout', this._mouseOutHandler, this);\n api.getZr().off('click', this._clickHandler);\n\n this._pointsBuilder.highlightOnMouseover = true;\n if (seriesModel.get('focusNodeAdjacency')) {\n var focusNodeAdjacencyOn = seriesModel.get('focusNodeAdjacencyOn');\n if (focusNodeAdjacencyOn === 'click') {\n // Remove default emphasis effect\n api.getZr().on('click', this._clickHandler);\n }\n else if (focusNodeAdjacencyOn === 'mouseover') {\n mesh.on('mousemove', this._mousemoveHandler, this);\n mesh.on('mouseout', this._mouseOutHandler, this);\n\n this._pointsBuilder.highlightOnMouseover = false;\n }\n else {\n if (true) {\n console.warn('Unkown focusNodeAdjacencyOn value \\s' + focusNodeAdjacencyOn);\n }\n }\n }\n\n // Reset\n this._lastMouseOverDataIndex = -1;\n },\n\n _clickHandler: function (e) {\n if (this._layouting) {\n return;\n }\n var dataIndex = this._pointsBuilder.getPointsMesh().dataIndex;\n if (dataIndex >= 0) {\n this._api.dispatchAction({\n type: 'graphGLFocusNodeAdjacency',\n seriesId: this._model.id,\n dataIndex: dataIndex\n });\n }\n else {\n this._api.dispatchAction({\n type: 'graphGLUnfocusNodeAdjacency',\n seriesId: this._model.id\n });\n }\n },\n\n _mousemoveHandler: function (e) {\n if (this._layouting) {\n return;\n }\n var dataIndex = this._pointsBuilder.getPointsMesh().dataIndex;\n if (dataIndex >= 0) {\n if (dataIndex !== this._lastMouseOverDataIndex) {\n this._api.dispatchAction({\n type: 'graphGLFocusNodeAdjacency',\n seriesId: this._model.id,\n dataIndex: dataIndex\n });\n }\n }\n else {\n this._mouseOutHandler(e);\n }\n\n this._lastMouseOverDataIndex = dataIndex;\n },\n\n _mouseOutHandler: function (e) {\n if (this._layouting) {\n return;\n }\n\n this._api.dispatchAction({\n type: 'graphGLUnfocusNodeAdjacency',\n seriesId: this._model.id\n });\n\n this._lastMouseOverDataIndex = -1;\n },\n\n _updateForceEdgesGeometry: function (edges, seriesModel) {\n var geometry = this._forceEdgesMesh.geometry;\n\n var edgeData = seriesModel.getEdgeData();\n var offset = 0;\n var layoutInstance = this._forceLayoutInstance;\n var vertexCount = edgeData.count() * 2;\n geometry.attributes.node.init(vertexCount);\n geometry.attributes.color.init(vertexCount);\n edgeData.each(function (idx) {\n var edge = edges[idx];\n geometry.attributes.node.set(offset, layoutInstance.getNodeUV(edge.node1));\n geometry.attributes.node.set(offset + 1, layoutInstance.getNodeUV(edge.node2));\n\n var color = edgeData.getItemVisual(edge.dataIndex, 'color');\n var colorArr = __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].parseColor(color);\n colorArr[3] *= __WEBPACK_IMPORTED_MODULE_5__util_retrieve__[\"a\" /* default */].firstNotNull(\n edgeData.getItemVisual(edge.dataIndex, 'opacity'), 1\n );\n geometry.attributes.color.set(offset, colorArr);\n geometry.attributes.color.set(offset + 1, colorArr);\n\n offset += 2;\n });\n geometry.dirty();\n },\n\n _updateMeshLinesGeometry: function () {\n var edgeData = this._model.getEdgeData();\n var geometry = this._edgesMesh.geometry;\n var edgeData = this._model.getEdgeData();\n var points = this._model.getData().getLayout('points');\n\n geometry.resetOffset();\n geometry.setVertexCount(edgeData.count() * geometry.getLineVertexCount());\n geometry.setTriangleCount(edgeData.count() * geometry.getLineTriangleCount());\n\n var p0 = [];\n var p1 = [];\n\n var lineWidthQuery = ['lineStyle', 'width'];\n\n this._originalEdgeColors = new Float32Array(edgeData.count() * 4);\n this._edgeIndicesMap = new Float32Array(edgeData.count());\n edgeData.each(function (idx) {\n var edge = edgeData.graph.getEdgeByIndex(idx);\n var idx1 = edge.node1.dataIndex * 2;\n var idx2 = edge.node2.dataIndex * 2;\n p0[0] = points[idx1];\n p0[1] = points[idx1 + 1];\n p1[0] = points[idx2];\n p1[1] = points[idx2 + 1];\n\n var color = edgeData.getItemVisual(edge.dataIndex, 'color');\n var colorArr = __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].parseColor(color);\n colorArr[3] *= __WEBPACK_IMPORTED_MODULE_5__util_retrieve__[\"a\" /* default */].firstNotNull(edgeData.getItemVisual(edge.dataIndex, 'opacity'), 1);\n var itemModel = edgeData.getItemModel(edge.dataIndex);\n var lineWidth = __WEBPACK_IMPORTED_MODULE_5__util_retrieve__[\"a\" /* default */].firstNotNull(itemModel.get(lineWidthQuery), 1) * this._api.getDevicePixelRatio();\n\n geometry.addLine(p0, p1, colorArr, lineWidth);\n\n for (var k = 0; k < 4; k++) {\n this._originalEdgeColors[edge.dataIndex * 4 + k] = colorArr[k];\n }\n this._edgeIndicesMap[edge.dataIndex] = idx;\n }, this);\n\n geometry.dirty();\n },\n\n _updateForceNodesGeometry: function (nodeData) {\n var pointsMesh = this._pointsBuilder.getPointsMesh();\n var pos = [];\n for (var i = 0; i < nodeData.count(); i++) {\n this._forceLayoutInstance.getNodeUV(i, pos);\n pointsMesh.geometry.attributes.position.set(i, pos);\n }\n pointsMesh.geometry.dirty('position');\n },\n\n _initLayout: function (seriesModel, ecModel, api) {\n var layout = seriesModel.get('layout');\n var graph = seriesModel.getGraph();\n\n var boxLayoutOption = seriesModel.getBoxLayoutParams();\n var viewport = __WEBPACK_IMPORTED_MODULE_1_echarts_lib_util_layout___default.a.getLayoutRect(boxLayoutOption, {\n width: api.getWidth(),\n height: api.getHeight()\n });\n\n if (layout === 'force') {\n if (true) {\n console.warn('Currently only forceAtlas2 layout supported.');\n }\n layout = 'forceAtlas2';\n }\n // Stop previous layout\n this.stopLayout(seriesModel, ecModel, api, {\n beforeLayout: true\n });\n\n var nodeData = seriesModel.getData();\n var edgeData = seriesModel.getData();\n if (layout === 'forceAtlas2') {\n var layoutModel = seriesModel.getModel('forceAtlas2');\n var layoutInstance = this._forceLayoutInstance;\n var nodes = [];\n var edges = [];\n\n var nodeDataExtent = nodeData.getDataExtent('value');\n var edgeDataExtent = edgeData.getDataExtent('value');\n\n var edgeWeightRange = __WEBPACK_IMPORTED_MODULE_5__util_retrieve__[\"a\" /* default */].firstNotNull(layoutModel.get('edgeWeight'), 1.0);\n var nodeWeightRange = __WEBPACK_IMPORTED_MODULE_5__util_retrieve__[\"a\" /* default */].firstNotNull(layoutModel.get('nodeWeight'), 1.0);\n if (typeof edgeWeightRange === 'number') {\n edgeWeightRange = [edgeWeightRange, edgeWeightRange];\n }\n if (typeof nodeWeightRange === 'number') {\n nodeWeightRange = [nodeWeightRange, nodeWeightRange];\n }\n\n var offset = 0;\n var nodesIndicesMap = {};\n\n var layoutPoints = new Float32Array(nodeData.count() * 2);\n graph.eachNode(function (node) {\n var dataIndex = node.dataIndex;\n var value = nodeData.get('value', dataIndex);\n var x;\n var y;\n if (nodeData.hasItemOption) {\n var itemModel = nodeData.getItemModel(dataIndex);\n x = itemModel.get('x');\n y = itemModel.get('y');\n }\n if (x == null) {\n // Random in rectangle\n x = viewport.x + Math.random() * viewport.width;\n y = viewport.y + Math.random() * viewport.height;\n }\n layoutPoints[offset * 2] = x;\n layoutPoints[offset * 2 + 1] = y;\n\n nodesIndicesMap[node.id] = offset++;\n var mass = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.number.linearMap(value, nodeDataExtent, nodeWeightRange);\n if (isNaN(mass)) {\n if (!isNaN(nodeWeightRange[0])) {\n mass = nodeWeightRange[0];\n }\n else {\n mass = 1;\n }\n }\n nodes.push({\n x: x, y: y, mass: mass, size: nodeData.getItemVisual(dataIndex, 'symbolSize')\n });\n });\n nodeData.setLayout('points', layoutPoints);\n\n graph.eachEdge(function (edge) {\n var dataIndex = edge.dataIndex;\n var value = nodeData.get('value', dataIndex);\n var weight = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.number.linearMap(value, edgeDataExtent, edgeWeightRange);\n if (isNaN(weight)) {\n if (!isNaN(edgeWeightRange[0])) {\n weight = edgeWeightRange[0];\n }\n else {\n weight = 1;\n }\n }\n edges.push({\n node1: nodesIndicesMap[edge.node1.id],\n node2: nodesIndicesMap[edge.node2.id],\n weight: weight,\n dataIndex: dataIndex\n });\n });\n if (!layoutInstance) {\n var isGPU = layoutModel.get('GPU');\n if (this._forceLayoutInstance) {\n if ((isGPU && !(this._forceLayoutInstance instanceof __WEBPACK_IMPORTED_MODULE_6__ForceAtlas2GPU__[\"a\" /* default */]))\n || (!isGPU && !(this._forceLayoutInstance instanceof __WEBPACK_IMPORTED_MODULE_7__ForceAtlas2__[\"a\" /* default */]))\n ) {\n // Mark to dispose\n this._forceLayoutInstanceToDispose = this._forceLayoutInstance;\n }\n }\n layoutInstance = this._forceLayoutInstance = isGPU\n ? new __WEBPACK_IMPORTED_MODULE_6__ForceAtlas2GPU__[\"a\" /* default */]()\n : new __WEBPACK_IMPORTED_MODULE_7__ForceAtlas2__[\"a\" /* default */]();\n }\n layoutInstance.initData(nodes, edges);\n layoutInstance.updateOption(layoutModel.option);\n\n // Update lines geometry after first layout;\n this._updateForceEdgesGeometry(layoutInstance.getEdges(), seriesModel);\n this._updatePositionTexture();\n\n api.dispatchAction({\n type: 'graphGLStartLayout',\n from: this.uid\n });\n }\n else {\n var layoutPoints = new Float32Array(nodeData.count() * 2);\n var offset = 0;\n graph.eachNode(function (node) {\n var dataIndex = node.dataIndex;\n var x;\n var y;\n if (nodeData.hasItemOption) {\n var itemModel = nodeData.getItemModel(dataIndex);\n x = itemModel.get('x');\n y = itemModel.get('y');\n }\n layoutPoints[offset++] = x;\n layoutPoints[offset++] = y;\n });\n nodeData.setLayout('points', layoutPoints);\n\n this._updateAfterLayout(seriesModel, ecModel, api);\n }\n },\n\n _updatePositionTexture: function () {\n var positionTex = this._forceLayoutInstance.getNodePositionTexture();\n this._pointsBuilder.setPositionTexture(positionTex);\n this._forceEdgesMesh.material.set('positionTex', positionTex);\n },\n\n startLayout: function (seriesModel, ecModel, api, payload) {\n if (payload && payload.from != null && payload.from !== this.uid) {\n return;\n }\n\n var viewGL = this.viewGL;\n var api = this._api;\n var layoutInstance = this._forceLayoutInstance;\n var data = this._model.getData();\n var layoutModel = this._model.getModel('forceAtlas2');\n\n if (!layoutInstance) {\n if (true) {\n console.error('None layout don\\'t have startLayout action');\n }\n return;\n }\n\n this.groupGL.remove(this._edgesMesh);\n this.groupGL.add(this._forceEdgesMesh);\n\n if (!this._forceLayoutInstance) {\n return;\n }\n\n this._updateForceNodesGeometry(seriesModel.getData());\n this._pointsBuilder.hideLabels();\n\n var self = this;\n var layoutId = this._layoutId = globalLayoutId++;\n var maxSteps = layoutModel.getShallow('maxSteps');\n var steps = layoutModel.getShallow('steps');\n var stepsCount = 0;\n var syncStepCount = Math.max(steps * 2, 20);\n var doLayout = function (layoutId) {\n if (layoutId !== self._layoutId) {\n return;\n }\n if (layoutInstance.isFinished(maxSteps)) {\n api.dispatchAction({\n type: 'graphGLStopLayout',\n from: self.uid\n });\n api.dispatchAction({\n type: 'graphGLFinishLayout',\n points: data.getLayout('points'),\n from: self.uid\n });\n return;\n }\n\n layoutInstance.update(viewGL.layer.renderer, steps, function () {\n self._updatePositionTexture();\n // PENDING Performance.\n stepsCount += steps;\n // Sync posiiton every 20 steps.\n if (stepsCount >= syncStepCount) {\n self._syncNodePosition(seriesModel);\n stepsCount = 0;\n }\n // Position texture will been swapped. set every time.\n api.getZr().refresh();\n\n __WEBPACK_IMPORTED_MODULE_8_zrender_lib_animation_requestAnimationFrame___default()(function () {\n doLayout(layoutId);\n });\n });\n };\n\n __WEBPACK_IMPORTED_MODULE_8_zrender_lib_animation_requestAnimationFrame___default()(function () {\n if (self._forceLayoutInstanceToDispose) {\n self._forceLayoutInstanceToDispose.dispose(viewGL.layer.renderer);\n self._forceLayoutInstanceToDispose = null;\n }\n doLayout(layoutId);\n });\n\n this._layouting = true;\n },\n\n stopLayout: function (seriesModel, ecModel, api, payload) {\n if (payload && payload.from != null && payload.from !== this.uid) {\n return;\n }\n\n this._layoutId = 0;\n this.groupGL.remove(this._forceEdgesMesh);\n this.groupGL.add(this._edgesMesh);\n\n if (!this._forceLayoutInstance) {\n return;\n }\n\n if (!this.viewGL.layer) {\n return;\n }\n\n if (!(payload && payload.beforeLayout)) {\n this._syncNodePosition(seriesModel);\n this._updateAfterLayout(seriesModel, ecModel, api);\n }\n\n this._api.getZr().refresh();\n\n this._layouting = false;\n },\n\n _syncNodePosition: function (seriesModel) {\n var points = this._forceLayoutInstance.getNodePosition(this.viewGL.layer.renderer);\n seriesModel.getData().setLayout('points', points);\n\n seriesModel.setNodePosition(points);\n },\n\n _updateAfterLayout: function (seriesModel, ecModel, api) {\n this._updateMeshLinesGeometry();\n\n this._pointsBuilder.removePositionTexture();\n\n this._pointsBuilder.updateLayout(seriesModel, ecModel, api);\n\n this._pointsBuilder.updateView(this.viewGL.camera);\n\n this._pointsBuilder.updateLabels();\n\n this._pointsBuilder.showLabels();\n\n },\n\n focusNodeAdjacency: function (seriesModel, ecModel, api, payload) {\n\n var data = this._model.getData();\n\n this._downplayAll();\n\n var dataIndex = payload.dataIndex;\n\n var graph = data.graph;\n\n var focusNodes = [];\n var node = graph.getNodeByIndex(dataIndex);\n focusNodes.push(node);\n node.edges.forEach(function (edge) {\n if (edge.dataIndex < 0) {\n return;\n }\n edge.node1 !== node && focusNodes.push(edge.node1);\n edge.node2 !== node && focusNodes.push(edge.node2);\n }, this);\n\n this._pointsBuilder.fadeOutAll(0.05);\n this._fadeOutEdgesAll(0.05);\n\n focusNodes.forEach(function (node) {\n this._pointsBuilder.highlight(data, node.dataIndex);\n }, this);\n\n this._pointsBuilder.updateLabels(focusNodes.map(function (node) {\n return node.dataIndex;\n }));\n\n var focusEdges = [];\n node.edges.forEach(function (edge) {\n if (edge.dataIndex >= 0) {\n this._highlightEdge(edge.dataIndex);\n focusEdges.push(edge);\n }\n }, this);\n\n this._focusNodes = focusNodes;\n this._focusEdges = focusEdges;\n },\n\n unfocusNodeAdjacency: function (seriesModel, ecModel, api, payload) {\n\n this._downplayAll();\n\n this._pointsBuilder.fadeInAll();\n this._fadeInEdgesAll();\n\n this._pointsBuilder.updateLabels();\n },\n\n _highlightEdge: function (dataIndex) {\n var itemModel = this._model.getEdgeData().getItemModel(dataIndex);\n var emphasisColor = __WEBPACK_IMPORTED_MODULE_2__util_graphicGL__[\"a\" /* default */].parseColor(itemModel.get('emphasis.lineStyle.color') || itemModel.get('lineStyle.color'));\n var emphasisOpacity = __WEBPACK_IMPORTED_MODULE_5__util_retrieve__[\"a\" /* default */].firstNotNull(itemModel.get('emphasis.lineStyle.opacity'), itemModel.get('lineStyle.opacity'), 1);\n emphasisColor[3] *= emphasisOpacity;\n\n this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[dataIndex], emphasisColor);\n },\n\n _downplayAll: function () {\n if (this._focusNodes) {\n this._focusNodes.forEach(function (node) {\n this._pointsBuilder.downplay(this._model.getData(), node.dataIndex);\n }, this);\n }\n if (this._focusEdges) {\n this._focusEdges.forEach(function (edge) {\n this._downplayEdge(edge.dataIndex);\n }, this);\n }\n },\n\n _downplayEdge: function (dataIndex) {\n var color = this._getColor(dataIndex, []);\n this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[dataIndex], color);\n },\n\n _setEdgeFade: (function () {\n var color = [];\n return function (dataIndex, percent) {\n this._getColor(dataIndex, color);\n color[3] *= percent;\n this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[dataIndex], color);\n };\n })(),\n\n _getColor: function (dataIndex, out) {\n for (var i = 0; i < 4; i++) {\n out[i] = this._originalEdgeColors[dataIndex * 4 + i];\n }\n return out;\n },\n\n _fadeOutEdgesAll: function (percent) {\n var graph = this._model.getData().graph;\n\n graph.eachEdge(function (edge) {\n this._setEdgeFade(edge.dataIndex, percent);\n }, this);\n },\n\n _fadeInEdgesAll: function () {\n this._fadeOutEdgesAll(1);\n },\n\n _updateCamera: function (seriesModel, api) {\n this.viewGL.setViewport(0, 0, api.getWidth(), api.getHeight(), api.getDevicePixelRatio());\n var camera = this.viewGL.camera;\n var nodeData = seriesModel.getData();\n var points = nodeData.getLayout('points');\n var min = vec2.create(Infinity, Infinity);\n var max = vec2.create(-Infinity, -Infinity);\n var pt = [];\n for (var i = 0; i < points.length;) {\n pt[0] = points[i++];\n pt[1] = points[i++];\n vec2.min(min, min, pt);\n vec2.max(max, max, pt);\n }\n var cy = (max[1] + min[1]) / 2;\n var cx = (max[0] + min[0]) / 2;\n // Only fit the camera when graph is not in the center.\n // PENDING\n if (cx > camera.left && cx < camera.right\n && cy < camera.bottom && cy > camera.top\n ) {\n return;\n }\n\n // Scale a bit\n var width = Math.max(max[0] - min[0], 10);\n // Keep aspect\n var height = width / api.getWidth() * api.getHeight();\n width *= 1.4;\n height *= 1.4;\n min[0] -= width * 0.2;\n\n camera.left = min[0];\n camera.top = cy - height / 2;\n camera.bottom = cy + height / 2;\n camera.right = width + min[0];\n camera.near = 0;\n camera.far = 100;\n },\n\n dispose: function () {\n var renderer = this.viewGL.layer.renderer;\n if (this._forceLayoutInstance) {\n this._forceLayoutInstance.dispose(renderer);\n }\n this.groupGL.removeAll();\n\n // Stop layout.\n this._layoutId = -1;\n },\n\n remove: function () {\n this.groupGL.removeAll();\n this._control.dispose();\n }\n});\n\n/***/ }),\n/* 269 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_claygl_src_compositor_Pass__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_FrameBuffer__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__forceAtlas2_glsl_js__ = __webpack_require__(270);\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.import(__WEBPACK_IMPORTED_MODULE_4__forceAtlas2_glsl_js__[\"a\" /* default */]);\n\nvar defaultConfigs = {\n repulsionByDegree: true,\n linLogMode: false,\n\n strongGravityMode: false,\n gravity: 1.0,\n\n scaling: 1.0,\n\n edgeWeightInfluence: 1.0,\n\n jitterTolerence: 0.1,\n\n preventOverlap: false,\n\n dissuadeHubs: false,\n\n gravityCenter: null\n};\n\nfunction ForceAtlas2GPU(options) {\n\n var textureOpt = {\n type: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Texture.FLOAT,\n minFilter: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Texture.NEAREST,\n magFilter: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Texture.NEAREST\n };\n\n this._positionSourceTex = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Texture2D(textureOpt);\n this._positionSourceTex.flipY = false;\n\n this._positionTex = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Texture2D(textureOpt);\n this._positionPrevTex = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Texture2D(textureOpt);\n this._forceTex = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Texture2D(textureOpt);\n this._forcePrevTex = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Texture2D(textureOpt);\n\n this._weightedSumTex = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Texture2D(textureOpt);\n this._weightedSumTex.width = this._weightedSumTex.height = 1;\n\n this._globalSpeedTex = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Texture2D(textureOpt);\n this._globalSpeedPrevTex = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Texture2D(textureOpt);\n this._globalSpeedTex.width = this._globalSpeedTex.height = 1;\n this._globalSpeedPrevTex.width = this._globalSpeedPrevTex.height = 1;\n\n this._nodeRepulsionPass = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.source('ecgl.forceAtlas2.updateNodeRepulsion')\n });\n this._positionPass = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.source('ecgl.forceAtlas2.updatePosition')\n });\n this._globalSpeedPass = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.source('ecgl.forceAtlas2.calcGlobalSpeed')\n });\n this._copyPass = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.source('clay.compositor.output')\n });\n\n var additiveBlend = function (gl) {\n gl.blendEquation(gl.FUNC_ADD);\n gl.blendFunc(gl.ONE, gl.ONE);\n };\n this._edgeForceMesh = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n geometry: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Geometry({\n attributes: {\n node1: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Geometry.Attribute('node1', 'float', 2),\n node2: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Geometry.Attribute('node2', 'float', 2),\n weight: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Geometry.Attribute('weight', 'float', 1)\n },\n dynamic: true,\n mainAttribute: 'node1'\n }),\n material: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Material({\n transparent: true,\n shader: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createShader('ecgl.forceAtlas2.updateEdgeAttraction'),\n blend: additiveBlend,\n depthMask: false,\n depthText: false\n }),\n mode: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh.POINTS\n });\n this._weightedSumMesh = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n geometry: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Geometry({\n attributes: {\n node: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Geometry.Attribute('node', 'float', 2)\n },\n dynamic: true,\n mainAttribute: 'node'\n }),\n material: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Material({\n transparent: true,\n shader: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createShader('ecgl.forceAtlas2.calcWeightedSum'),\n blend: additiveBlend,\n depthMask: false,\n depthText: false\n }),\n mode: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh.POINTS\n });\n\n this._framebuffer = new __WEBPACK_IMPORTED_MODULE_3_claygl_src_FrameBuffer__[\"a\" /* default */]({\n depthBuffer: false\n });\n\n this._dummyCamera = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].OrthographicCamera({\n left: -1, right: 1,\n top: 1, bottom: -1,\n near: 0, far: 100\n });\n\n this._globalSpeed = 0;\n}\n\nForceAtlas2GPU.prototype.updateOption = function (options) {\n\n // Default config\n for (var name in defaultConfigs) {\n this[name] = defaultConfigs[name];\n }\n\n // Config according to data scale\n var nNodes = this._nodes.length;\n if (nNodes > 50000) {\n this.jitterTolerence = 10;\n }\n else if (nNodes > 5000) {\n this.jitterTolerence = 1;\n }\n else {\n this.jitterTolerence = 0.1;\n }\n\n if (nNodes > 100) {\n this.scaling = 2.0;\n }\n else {\n this.scaling = 10.0;\n }\n\n // this.edgeWeightInfluence = 1;\n // this.gravity = 1;\n // this.strongGravityMode = false;\n if (options) {\n for (var name in defaultConfigs) {\n if (options[name] != null) {\n this[name] = options[name];\n }\n }\n }\n\n if (this.repulsionByDegree) {\n var positionBuffer = this._positionSourceTex.pixels;\n\n for (var i = 0; i < this._nodes.length; i++) {\n positionBuffer[i * 4 + 2] = (this._nodes[i].degree || 0) + 1;\n }\n }\n};\n\nForceAtlas2GPU.prototype._updateGravityCenter = function (options) {\n var nodes = this._nodes;\n var edges = this._edges;\n\n if (!this.gravityCenter) {\n var min = [Infinity, Infinity];\n var max = [-Infinity, -Infinity];\n for (var i = 0; i < nodes.length; i++) {\n min[0] = Math.min(nodes[i].x, min[0]);\n min[1] = Math.min(nodes[i].y, min[1]);\n max[0] = Math.max(nodes[i].x, max[0]);\n max[1] = Math.max(nodes[i].y, max[1]);\n }\n\n this._gravityCenter = [(min[0] + max[0]) * 0.5, (min[1] + max[1]) * 0.5];\n }\n else {\n this._gravityCenter = this.gravityCenter;\n }\n // Update inDegree, outDegree\n for (var i = 0; i < edges.length; i++) {\n var node1 = edges[i].node1;\n var node2 = edges[i].node2;\n\n nodes[node1].degree = (nodes[node1].degree || 0) + 1;\n nodes[node2].degree = (nodes[node2].degree || 0) + 1;\n }\n};\n/**\n * @param {Array.} [{ x, y, mass }] nodes\n * @param {Array.} [{ node1, node2, weight }] edges\n */\nForceAtlas2GPU.prototype.initData = function (nodes, edges) {\n\n this._nodes = nodes;\n this._edges = edges;\n\n this._updateGravityCenter();\n\n var textureWidth = Math.ceil(Math.sqrt(nodes.length));\n var textureHeight = textureWidth;\n var positionBuffer = new Float32Array(textureWidth * textureHeight * 4);\n\n this._resize(textureWidth, textureHeight);\n\n var offset = 0;\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n positionBuffer[offset++] = node.x || 0;\n positionBuffer[offset++] = node.y || 0;\n positionBuffer[offset++] = node.mass || 1;\n positionBuffer[offset++] = node.size || 1;\n }\n this._positionSourceTex.pixels = positionBuffer;\n\n var edgeGeometry = this._edgeForceMesh.geometry;\n var edgeLen = edges.length;\n edgeGeometry.attributes.node1.init(edgeLen * 2);\n edgeGeometry.attributes.node2.init(edgeLen * 2);\n edgeGeometry.attributes.weight.init(edgeLen * 2);\n\n var uv = [];\n\n for (var i = 0; i < edges.length; i++) {\n var attributes = edgeGeometry.attributes;\n var weight = edges[i].weight;\n if (weight == null) {\n weight = 1;\n }\n // Two way.\n attributes.node1.set(i, this.getNodeUV(edges[i].node1, uv));\n attributes.node2.set(i, this.getNodeUV(edges[i].node2, uv));\n attributes.weight.set(i, weight);\n\n attributes.node1.set(i + edgeLen, this.getNodeUV(edges[i].node2, uv));\n attributes.node2.set(i + edgeLen, this.getNodeUV(edges[i].node1, uv));\n attributes.weight.set(i + edgeLen, weight);\n }\n\n var weigtedSumGeo = this._weightedSumMesh.geometry;\n weigtedSumGeo.attributes.node.init(nodes.length);\n for (var i = 0; i < nodes.length; i++) {\n weigtedSumGeo.attributes.node.set(i, this.getNodeUV(i, uv));\n }\n\n edgeGeometry.dirty();\n weigtedSumGeo.dirty();\n\n this._nodeRepulsionPass.material.define('fragment', 'NODE_COUNT', nodes.length);\n this._nodeRepulsionPass.material.setUniform('textureSize', [textureWidth, textureHeight]);\n\n this._inited = false;\n\n this._frame = 0;\n};\n\nForceAtlas2GPU.prototype.getNodes = function () {\n return this._nodes;\n};\nForceAtlas2GPU.prototype.getEdges = function () {\n return this._edges;\n};\n\nForceAtlas2GPU.prototype.step = function (renderer) {\n if (!this._inited) {\n this._initFromSource(renderer);\n this._inited = true;\n }\n\n this._frame++;\n\n this._framebuffer.attach(this._forceTex);\n this._framebuffer.bind(renderer);\n var nodeRepulsionPass = this._nodeRepulsionPass;\n // Calc node repulsion, gravity\n nodeRepulsionPass.setUniform('strongGravityMode', this.strongGravityMode);\n nodeRepulsionPass.setUniform('gravity', this.gravity);\n nodeRepulsionPass.setUniform('gravityCenter', this._gravityCenter);\n nodeRepulsionPass.setUniform('scaling', this.scaling);\n nodeRepulsionPass.setUniform('preventOverlap', this.preventOverlap);\n nodeRepulsionPass.setUniform('positionTex', this._positionPrevTex);\n nodeRepulsionPass.render(renderer);\n\n // Calc edge attraction force\n var edgeForceMesh = this._edgeForceMesh;\n edgeForceMesh.material.set('linLogMode', this.linLogMode);\n edgeForceMesh.material.set('edgeWeightInfluence', this.edgeWeightInfluence);\n edgeForceMesh.material.set('preventOverlap', this.preventOverlap);\n edgeForceMesh.material.set('positionTex', this._positionPrevTex);\n renderer.gl.enable(renderer.gl.BLEND);\n renderer.renderPass([edgeForceMesh], this._dummyCamera);\n\n // Calc weighted sum.\n this._framebuffer.attach(this._weightedSumTex);\n renderer.gl.clearColor(0, 0, 0, 0);\n renderer.gl.clear(renderer.gl.COLOR_BUFFER_BIT);\n renderer.gl.enable(renderer.gl.BLEND);\n var weightedSumMesh = this._weightedSumMesh;\n weightedSumMesh.material.set('positionTex', this._positionPrevTex);\n weightedSumMesh.material.set('forceTex', this._forceTex);\n weightedSumMesh.material.set('forcePrevTex', this._forcePrevTex);\n renderer.renderPass([weightedSumMesh], this._dummyCamera);\n\n // Calc global speed.\n this._framebuffer.attach(this._globalSpeedTex);\n var globalSpeedPass = this._globalSpeedPass;\n globalSpeedPass.setUniform('globalSpeedPrevTex', this._globalSpeedPrevTex);\n globalSpeedPass.setUniform('weightedSumTex', this._weightedSumTex);\n globalSpeedPass.setUniform('jitterTolerence', this.jitterTolerence);\n renderer.gl.disable(renderer.gl.BLEND);\n globalSpeedPass.render(renderer);\n\n // Update position.\n var positionPass = this._positionPass;\n this._framebuffer.attach(this._positionTex);\n positionPass.setUniform('globalSpeedTex', this._globalSpeedTex);\n positionPass.setUniform('positionTex', this._positionPrevTex);\n positionPass.setUniform('forceTex', this._forceTex);\n positionPass.setUniform('forcePrevTex', this._forcePrevTex);\n positionPass.render(renderer);\n\n this._framebuffer.unbind(renderer);\n\n this._swapTexture();\n};\n\nForceAtlas2GPU.prototype.update = function (renderer, steps, cb) {\n if (steps == null) {\n steps = 1;\n }\n steps = Math.max(steps, 1);\n\n for (var i = 0; i < steps; i++) {\n this.step(renderer);\n }\n\n cb && cb();\n};\n\nForceAtlas2GPU.prototype.getNodePositionTexture = function () {\n return this._inited\n // Texture already been swapped.\n ? this._positionPrevTex\n : this._positionSourceTex;\n};\n\nForceAtlas2GPU.prototype.getNodeUV = function (nodeIndex, uv) {\n uv = uv || [];\n var textureWidth = this._positionTex.width;\n var textureHeight = this._positionTex.height;\n uv[0] = (nodeIndex % textureWidth) / (textureWidth - 1);\n uv[1] = Math.floor(nodeIndex / textureWidth) / (textureHeight - 1) || 0;\n return uv;\n};\n\nForceAtlas2GPU.prototype.getNodePosition = function (renderer, out) {\n var positionArr = this._positionArr;\n var width = this._positionTex.width;\n var height = this._positionTex.height;\n var size = width * height;\n if (!positionArr || positionArr.length !== size * 4) {\n positionArr = this._positionArr = new Float32Array(size * 4);\n }\n this._framebuffer.bind(renderer);\n this._framebuffer.attach(this._positionPrevTex);\n renderer.gl.readPixels(\n 0, 0, width, height,\n renderer.gl.RGBA, renderer.gl.FLOAT,\n positionArr\n );\n this._framebuffer.unbind(renderer);\n if (!out) {\n out = new Float32Array(this._nodes.length * 2);\n }\n for (var i = 0; i < this._nodes.length; i++) {\n out[i * 2] = positionArr[i * 4];\n out[i * 2 + 1] = positionArr[i * 4 + 1];\n }\n return out;\n};\n\nForceAtlas2GPU.prototype.getTextureData = function (renderer, textureName) {\n var tex = this['_' + textureName + 'Tex'];\n var width = tex.width;\n var height = tex.height;\n this._framebuffer.bind(renderer);\n this._framebuffer.attach(tex);\n var arr = new Float32Array(width * height * 4);\n renderer.gl.readPixels(0, 0, width, height, renderer.gl.RGBA, renderer.gl.FLOAT, arr);\n this._framebuffer.unbind(renderer);\n return arr;\n};\n\nForceAtlas2GPU.prototype.getTextureSize = function () {\n return {\n width: this._positionTex.width,\n height: this._positionTex.height\n };\n};\n\nForceAtlas2GPU.prototype.isFinished = function (maxSteps) {\n return this._frame > maxSteps;\n};\n\nForceAtlas2GPU.prototype._swapTexture = function () {\n var tmp = this._positionPrevTex;\n this._positionPrevTex = this._positionTex;\n this._positionTex = tmp;\n\n var tmp = this._forcePrevTex;\n this._forcePrevTex = this._forceTex;\n this._forceTex = tmp;\n\n var tmp = this._globalSpeedPrevTex;\n this._globalSpeedPrevTex = this._globalSpeedTex;\n this._globalSpeedTex = tmp;\n};\n\nForceAtlas2GPU.prototype._initFromSource = function (renderer) {\n this._framebuffer.attach(this._positionPrevTex);\n this._framebuffer.bind(renderer);\n this._copyPass.setUniform('texture', this._positionSourceTex);\n this._copyPass.render(renderer);\n\n renderer.gl.clearColor(0, 0, 0, 0);\n this._framebuffer.attach(this._forcePrevTex);\n renderer.gl.clear(renderer.gl.COLOR_BUFFER_BIT);\n this._framebuffer.attach(this._globalSpeedPrevTex);\n renderer.gl.clear(renderer.gl.COLOR_BUFFER_BIT);\n\n this._framebuffer.unbind(renderer);\n};\n\nForceAtlas2GPU.prototype._resize = function (width, height) {\n ['_positionSourceTex', '_positionTex', '_positionPrevTex', '_forceTex', '_forcePrevTex'].forEach(function (texName) {\n this[texName].width = width;\n this[texName].height = height;\n this[texName].dirty();\n }, this);\n};\n\nForceAtlas2GPU.prototype.dispose = function (renderer) {\n this._framebuffer.dispose(renderer);\n\n this._copyPass.dispose(renderer);\n this._nodeRepulsionPass.dispose(renderer);\n this._positionPass.dispose(renderer);\n this._globalSpeedPass.dispose(renderer);\n\n this._edgeForceMesh.geometry.dispose(renderer);\n this._weightedSumMesh.geometry.dispose(renderer);\n\n this._positionSourceTex.dispose(renderer);\n this._positionTex.dispose(renderer);\n this._positionPrevTex.dispose(renderer);\n this._forceTex.dispose(renderer);\n this._forcePrevTex.dispose(renderer);\n this._weightedSumTex.dispose(renderer);\n this._globalSpeedTex.dispose(renderer);\n this._globalSpeedPrevTex.dispose(renderer);\n};\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.ForceAtlas2GPU = ForceAtlas2GPU;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (ForceAtlas2GPU);\n\n/***/ }),\n/* 270 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export ecgl.forceAtlas2.updateNodeRepulsion\\n\\n#define NODE_COUNT 0\\n\\nuniform sampler2D positionTex;\\n\\nuniform vec2 textureSize;\\nuniform float gravity;\\nuniform float scaling;\\nuniform vec2 gravityCenter;\\n\\nuniform bool strongGravityMode;\\nuniform bool preventOverlap;\\n\\nvarying vec2 v_Texcoord;\\n\\nvoid main() {\\n\\n vec4 n0 = texture2D(positionTex, v_Texcoord);\\n\\n vec2 force = vec2(0.0);\\n for (int i = 0; i < NODE_COUNT; i++) {\\n vec2 uv = vec2(\\n mod(float(i), textureSize.x) / (textureSize.x - 1.0),\\n floor(float(i) / textureSize.x) / (textureSize.y - 1.0)\\n );\\n vec4 n1 = texture2D(positionTex, uv);\\n\\n vec2 dir = n0.xy - n1.xy;\\n float d2 = dot(dir, dir);\\n\\n if (d2 > 0.0) {\\n float factor = 0.0;\\n if (preventOverlap) {\\n float d = sqrt(d2);\\n d = d - n0.w - n1.w;\\n if (d > 0.0) {\\n factor = scaling * n0.z * n1.z / (d * d);\\n }\\n else if (d < 0.0) {\\n factor = scaling * 100.0 * n0.z * n1.z;\\n }\\n }\\n else {\\n factor = scaling * n0.z * n1.z / d2;\\n }\\n force += dir * factor;\\n }\\n }\\n\\n vec2 dir = gravityCenter - n0.xy;\\n float d = 1.0;\\n if (!strongGravityMode) {\\n d = length(dir);\\n }\\n\\n force += dir * n0.z * gravity / (d + 1.0);\\n\\n gl_FragColor = vec4(force, 0.0, 1.0);\\n}\\n@end\\n\\n@export ecgl.forceAtlas2.updateEdgeAttraction.vertex\\n\\nattribute vec2 node1;\\nattribute vec2 node2;\\nattribute float weight;\\n\\nuniform sampler2D positionTex;\\nuniform float edgeWeightInfluence;\\nuniform bool preventOverlap;\\nuniform bool linLogMode;\\n\\nuniform vec2 windowSize: WINDOW_SIZE;\\n\\nvarying vec2 v_Force;\\n\\nvoid main() {\\n\\n vec4 n0 = texture2D(positionTex, node1);\\n vec4 n1 = texture2D(positionTex, node2);\\n\\n vec2 dir = n1.xy - n0.xy;\\n float d = length(dir);\\n float w;\\n if (edgeWeightInfluence == 0.0) {\\n w = 1.0;\\n }\\n else if (edgeWeightInfluence == 1.0) {\\n w = weight;\\n }\\n else {\\n w = pow(weight, edgeWeightInfluence);\\n }\\n vec2 offset = vec2(1.0 / windowSize.x, 1.0 / windowSize.y);\\n vec2 scale = vec2((windowSize.x - 1.0) / windowSize.x, (windowSize.y - 1.0) / windowSize.y);\\n vec2 pos = node1 * scale * 2.0 - 1.0;\\n gl_Position = vec4(pos + offset, 0.0, 1.0);\\n gl_PointSize = 1.0;\\n\\n float factor;\\n if (preventOverlap) {\\n d = d - n1.w - n0.w;\\n }\\n if (d <= 0.0) {\\n v_Force = vec2(0.0);\\n return;\\n }\\n\\n if (linLogMode) {\\n factor = w * log(d) / d;\\n }\\n else {\\n factor = w;\\n }\\n v_Force = dir * factor;\\n}\\n@end\\n\\n@export ecgl.forceAtlas2.updateEdgeAttraction.fragment\\n\\nvarying vec2 v_Force;\\n\\nvoid main() {\\n gl_FragColor = vec4(v_Force, 0.0, 0.0);\\n}\\n@end\\n\\n@export ecgl.forceAtlas2.calcWeightedSum.vertex\\n\\nattribute vec2 node;\\n\\nvarying vec2 v_NodeUv;\\n\\nvoid main() {\\n\\n v_NodeUv = node;\\n gl_Position = vec4(0.0, 0.0, 0.0, 1.0);\\n gl_PointSize = 1.0;\\n}\\n@end\\n\\n@export ecgl.forceAtlas2.calcWeightedSum.fragment\\n\\nvarying vec2 v_NodeUv;\\n\\nuniform sampler2D positionTex;\\nuniform sampler2D forceTex;\\nuniform sampler2D forcePrevTex;\\n\\nvoid main() {\\n vec2 force = texture2D(forceTex, v_NodeUv).rg;\\n vec2 forcePrev = texture2D(forcePrevTex, v_NodeUv).rg;\\n\\n float mass = texture2D(positionTex, v_NodeUv).z;\\n float swing = length(force - forcePrev) * mass;\\n float traction = length(force + forcePrev) * 0.5 * mass;\\n\\n gl_FragColor = vec4(swing, traction, 0.0, 0.0);\\n}\\n@end\\n\\n@export ecgl.forceAtlas2.calcGlobalSpeed\\n\\nuniform sampler2D globalSpeedPrevTex;\\nuniform sampler2D weightedSumTex;\\nuniform float jitterTolerence;\\n\\nvoid main() {\\n vec2 weightedSum = texture2D(weightedSumTex, vec2(0.5)).xy;\\n float prevGlobalSpeed = texture2D(globalSpeedPrevTex, vec2(0.5)).x;\\n float globalSpeed = jitterTolerence * jitterTolerence\\n * weightedSum.y / weightedSum.x;\\n if (prevGlobalSpeed > 0.0) {\\n globalSpeed = min(globalSpeed / prevGlobalSpeed, 1.5) * prevGlobalSpeed;\\n }\\n gl_FragColor = vec4(globalSpeed, 0.0, 0.0, 1.0);\\n}\\n@end\\n\\n@export ecgl.forceAtlas2.updatePosition\\n\\nuniform sampler2D forceTex;\\nuniform sampler2D forcePrevTex;\\nuniform sampler2D positionTex;\\nuniform sampler2D globalSpeedTex;\\n\\nvarying vec2 v_Texcoord;\\n\\nvoid main() {\\n vec2 force = texture2D(forceTex, v_Texcoord).xy;\\n vec2 forcePrev = texture2D(forcePrevTex, v_Texcoord).xy;\\n vec4 node = texture2D(positionTex, v_Texcoord);\\n\\n float globalSpeed = texture2D(globalSpeedTex, vec2(0.5)).r;\\n float swing = length(force - forcePrev);\\n float speed = 0.1 * globalSpeed / (0.1 + globalSpeed * sqrt(swing));\\n\\n float df = length(force);\\n if (df > 0.0) {\\n speed = min(df * speed, 10.0) / df;\\n\\n gl_FragColor = vec4(node.xy + speed * force, node.zw);\\n }\\n else {\\n gl_FragColor = node;\\n }\\n}\\n@end\\n\\n@export ecgl.forceAtlas2.edges.vertex\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\n\\nattribute vec2 node;\\nattribute vec4 a_Color : COLOR;\\nvarying vec4 v_Color;\\n\\nuniform sampler2D positionTex;\\n\\nvoid main()\\n{\\n gl_Position = worldViewProjection * vec4(\\n texture2D(positionTex, node).xy, -10.0, 1.0\\n );\\n v_Color = a_Color;\\n}\\n@end\\n\\n@export ecgl.forceAtlas2.edges.fragment\\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\\nvarying vec4 v_Color;\\nvoid main() {\\n gl_FragColor = color * v_Color;\\n}\\n@end\");\n\n\n/***/ }),\n/* 271 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__forceAtlas2Worker_js__ = __webpack_require__(272);\n\n\n\nvar workerUrl = __WEBPACK_IMPORTED_MODULE_2__forceAtlas2Worker_js__[\"a\" /* default */].toString();\nworkerUrl = workerUrl.slice(workerUrl.indexOf('{') + 1, workerUrl.lastIndexOf('}'));\n\nvar defaultConfigs = {\n\n barnesHutOptimize: true,\n barnesHutTheta: 1.5,\n\n repulsionByDegree: true,\n linLogMode: false,\n\n strongGravityMode: false,\n gravity: 1.0,\n\n scaling: 1.0,\n\n edgeWeightInfluence: 1.0,\n\n jitterTolerence: 0.1,\n\n preventOverlap: false,\n\n dissuadeHubs: false,\n\n gravityCenter: null\n};\n\nvar ForceAtlas2 = function (options) {\n\n for (var name in defaultConfigs) {\n this[name] = defaultConfigs[name];\n }\n\n if (options) {\n for (var name in options) {\n this[name] = options[name];\n }\n }\n\n this._nodes = [];\n this._edges = [];\n\n this._disposed = false;\n\n this._positionTex = new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Texture2D__[\"a\" /* default */]({\n type: __WEBPACK_IMPORTED_MODULE_1_claygl_src_Texture__[\"a\" /* default */].FLOAT,\n flipY: false,\n minFilter: __WEBPACK_IMPORTED_MODULE_1_claygl_src_Texture__[\"a\" /* default */].NEAREST,\n magFilter: __WEBPACK_IMPORTED_MODULE_1_claygl_src_Texture__[\"a\" /* default */].NEAREST\n });\n};\n\nForceAtlas2.prototype.initData = function (nodes, edges) {\n\n var bb = new Blob([workerUrl]);\n var blobURL = window.URL.createObjectURL(bb);\n\n this._worker = new Worker(blobURL);\n\n this._worker.onmessage = this._$onupdate.bind(this);\n\n this._nodes = nodes;\n this._edges = edges;\n this._frame = 0;\n\n var nNodes = nodes.length;\n var nEdges = edges.length;\n\n var positionArr = new Float32Array(nNodes * 2);\n var massArr = new Float32Array(nNodes);\n var sizeArr = new Float32Array(nNodes);\n\n var edgeArr = new Float32Array(nEdges * 2);\n var edgeWeightArr = new Float32Array(nEdges);\n\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n\n positionArr[i * 2] = node.x;\n positionArr[i * 2 + 1] = node.y;\n\n massArr[i] = node.mass == null ? 1 : node.mass;\n sizeArr[i] = node.size == null ? 1 : node.size;\n }\n\n for (var i = 0; i < edges.length; i++) {\n var edge = edges[i];\n\n var source = edge.node1;\n var target = edge.node2;\n\n edgeArr[i * 2] = source;\n edgeArr[i * 2 + 1] = target;\n\n edgeWeightArr[i] = edge.weight == null ? 1 : edge.weight;\n }\n\n\n var textureWidth = Math.ceil(Math.sqrt(nodes.length));\n var textureHeight = textureWidth;\n var pixels = new Float32Array(textureWidth * textureHeight * 4);\n var positionTex = this._positionTex;\n positionTex.width = textureWidth;\n positionTex.height = textureHeight;\n positionTex.pixels = pixels;\n\n this._worker.postMessage({\n cmd: 'init',\n nodesPosition: positionArr,\n nodesMass: massArr,\n nodesSize: sizeArr,\n edges: edgeArr,\n edgesWeight: edgeWeightArr\n });\n\n this._globalSpeed = Infinity;\n};\n\nForceAtlas2.prototype.updateOption = function (options) {\n var config = {};\n // Default config\n for (var name in defaultConfigs) {\n config[name] = defaultConfigs[name];\n }\n\n var nodes = this._nodes;\n var edges = this._edges;\n\n // Config according to data scale\n var nNodes = nodes.length;\n if (nNodes > 50000) {\n config.jitterTolerence = 10;\n }\n else if (nNodes > 5000) {\n config.jitterTolerence = 1;\n }\n else {\n config.jitterTolerence = 0.1;\n }\n\n if (nNodes > 100) {\n config.scaling = 2.0;\n }\n else {\n config.scaling = 10.0;\n }\n if (nNodes > 1000) {\n config.barnesHutOptimize = true;\n }\n else {\n config.barnesHutOptimize = false;\n }\n\n if (options) {\n for (var name in defaultConfigs) {\n if (options[name] != null) {\n config[name] = options[name];\n }\n }\n }\n\n if (!config.gravityCenter) {\n var min = [Infinity, Infinity];\n var max = [-Infinity, -Infinity];\n for (var i = 0; i < nodes.length; i++) {\n min[0] = Math.min(nodes[i].x, min[0]);\n min[1] = Math.min(nodes[i].y, min[1]);\n max[0] = Math.max(nodes[i].x, max[0]);\n max[1] = Math.max(nodes[i].y, max[1]);\n }\n\n config.gravityCenter = [(min[0] + max[0]) * 0.5, (min[1] + max[1]) * 0.5];\n }\n\n // Update inDegree, outDegree\n for (var i = 0; i < edges.length; i++) {\n var node1 = edges[i].node1;\n var node2 = edges[i].node2;\n\n nodes[node1].degree = (nodes[node1].degree || 0) + 1;\n nodes[node2].degree = (nodes[node2].degree || 0) + 1;\n }\n\n if (this._worker) {\n this._worker.postMessage({\n cmd: 'updateConfig',\n config: config\n });\n }\n};\n\n// Steps per call, to keep sync with rendering\nForceAtlas2.prototype.update = function (renderer, steps, cb) {\n if (steps == null) {\n steps = 1;\n }\n steps = Math.max(steps, 1);\n\n this._frame += steps;\n this._onupdate = cb;\n\n if (this._worker) {\n this._worker.postMessage({\n cmd: 'update',\n steps: Math.round(steps)\n });\n }\n};\n\nForceAtlas2.prototype._$onupdate = function (e) {\n // Incase the worker keep postMessage of last frame after it is disposed\n if (this._disposed) {\n return;\n }\n\n var positionArr = new Float32Array(e.data.buffer);\n this._globalSpeed = e.data.globalSpeed;\n\n this._positionArr = positionArr;\n\n this._updateTexture(positionArr);\n\n this._onupdate && this._onupdate();\n};\n\nForceAtlas2.prototype.getNodePositionTexture = function () {\n return this._positionTex;\n};\n\nForceAtlas2.prototype.getNodeUV = function (nodeIndex, uv) {\n uv = uv || [];\n var textureWidth = this._positionTex.width;\n var textureHeight = this._positionTex.height;\n uv[0] = (nodeIndex % textureWidth) / (textureWidth - 1);\n uv[1] = Math.floor(nodeIndex / textureWidth) / (textureHeight - 1);\n return uv;\n};\n\nForceAtlas2.prototype.getNodes = function () {\n return this._nodes;\n};\nForceAtlas2.prototype.getEdges = function () {\n return this._edges;\n};\nForceAtlas2.prototype.isFinished = function (maxSteps) {\n return this._frame > maxSteps;\n};\n\nForceAtlas2.prototype.getNodePosition = function (renderer, out) {\n if (!out) {\n out = new Float32Array(this._nodes.length * 2);\n }\n if (this._positionArr) {\n for (var i = 0; i < this._positionArr.length; i++) {\n out[i] = this._positionArr[i];\n }\n }\n return out;\n};\n\nForceAtlas2.prototype._updateTexture = function (positionArr) {\n var pixels = this._positionTex.pixels;\n var offset = 0;\n for (var i = 0; i < positionArr.length;){\n pixels[offset++] = positionArr[i++];\n pixels[offset++] = positionArr[i++];\n pixels[offset++] = 1;\n pixels[offset++] = 1;\n }\n this._positionTex.dirty();\n};\n\nForceAtlas2.prototype.dispose = function (renderer) {\n this._disposed = true;\n this._worker = null;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (ForceAtlas2);\n\n/***/ }),\n/* 272 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/****************************\n * Vector2 math functions\n ***************************/\n\nfunction forceAtlas2Worker() {\n var vec2 = {\n create: function() {\n return new Float32Array(2);\n },\n dist: function(a, b) {\n var x = b[0] - a[0];\n var y = b[1] - a[1];\n return Math.sqrt(x*x + y*y);\n },\n len: function(a) {\n var x = a[0];\n var y = a[1];\n return Math.sqrt(x*x + y*y);\n },\n scaleAndAdd: function(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n return out;\n },\n scale: function(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n return out;\n },\n add: function(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n return out;\n },\n sub: function(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n return out;\n },\n normalize: function(out, a) {\n var x = a[0];\n var y = a[1];\n var len = x*x + y*y;\n if (len > 0) {\n //TODO: evaluate use of glm_invsqrt here?\n len = 1 / Math.sqrt(len);\n out[0] = a[0] * len;\n out[1] = a[1] * len;\n }\n return out;\n },\n negate: function(out, a) {\n out[0] = -a[0];\n out[1] = -a[1];\n return out;\n },\n copy: function(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n return out;\n },\n set: function(out, x, y) {\n out[0] = x;\n out[1] = y;\n return out;\n }\n }\n\n /****************************\n * Class: Region\n ***************************/\n\n function Region() {\n\n this.subRegions = [];\n\n this.nSubRegions = 0;\n\n this.node = null;\n\n this.mass = 0;\n\n this.centerOfMass = null;\n\n this.bbox = new Float32Array(4);\n\n this.size = 0;\n }\n\n var regionProto = Region.prototype;\n\n // Reset before update\n regionProto.beforeUpdate = function() {\n for (var i = 0; i < this.nSubRegions; i++) {\n this.subRegions[i].beforeUpdate();\n }\n this.mass = 0;\n if (this.centerOfMass) {\n this.centerOfMass[0] = 0;\n this.centerOfMass[1] = 0;\n }\n this.nSubRegions = 0;\n this.node = null;\n };\n // Clear after update\n regionProto.afterUpdate = function() {\n this.subRegions.length = this.nSubRegions;\n for (var i = 0; i < this.nSubRegions; i++) {\n this.subRegions[i].afterUpdate();\n }\n };\n\n regionProto.addNode = function(node) {\n if (this.nSubRegions === 0) {\n if (this.node == null) {\n this.node = node;\n return;\n }\n // Already have node, subdivide self.\n else {\n this._addNodeToSubRegion(this.node);\n this.node = null;\n }\n }\n this._addNodeToSubRegion(node);\n\n this._updateCenterOfMass(node);\n };\n\n regionProto.findSubRegion = function(x, y) {\n for (var i = 0; i < this.nSubRegions; i++) {\n var region = this.subRegions[i];\n if (region.contain(x, y)) {\n return region;\n }\n }\n };\n\n regionProto.contain = function(x, y) {\n return this.bbox[0] <= x\n && this.bbox[2] >= x\n && this.bbox[1] <= y\n && this.bbox[3] >= y;\n };\n\n regionProto.setBBox = function(minX, minY, maxX, maxY) {\n // Min\n this.bbox[0] = minX;\n this.bbox[1] = minY;\n // Max\n this.bbox[2] = maxX;\n this.bbox[3] = maxY;\n\n this.size = (maxX - minX + maxY - minY) / 2;\n };\n\n regionProto._newSubRegion = function() {\n var subRegion = this.subRegions[this.nSubRegions];\n if (!subRegion) {\n subRegion = new Region();\n this.subRegions[this.nSubRegions] = subRegion;\n }\n this.nSubRegions++;\n return subRegion;\n };\n\n regionProto._addNodeToSubRegion = function(node) {\n var subRegion = this.findSubRegion(node.position[0], node.position[1]);\n var bbox = this.bbox;\n if (!subRegion) {\n var cx = (bbox[0] + bbox[2]) / 2;\n var cy = (bbox[1] + bbox[3]) / 2;\n var w = (bbox[2] - bbox[0]) / 2;\n var h = (bbox[3] - bbox[1]) / 2;\n\n var xi = node.position[0] >= cx ? 1 : 0;\n var yi = node.position[1] >= cy ? 1 : 0;\n\n var subRegion = this._newSubRegion();\n // Min\n subRegion.setBBox(\n // Min\n xi * w + bbox[0],\n yi * h + bbox[1],\n // Max\n (xi + 1) * w + bbox[0],\n (yi + 1) * h + bbox[1]\n );\n }\n\n subRegion.addNode(node);\n };\n\n regionProto._updateCenterOfMass = function(node) {\n // Incrementally update\n if (this.centerOfMass == null) {\n this.centerOfMass = new Float32Array(2);\n }\n var x = this.centerOfMass[0] * this.mass;\n var y = this.centerOfMass[1] * this.mass;\n x += node.position[0] * node.mass;\n y += node.position[1] * node.mass;\n this.mass += node.mass;\n this.centerOfMass[0] = x / this.mass;\n this.centerOfMass[1] = y / this.mass;\n };\n\n /****************************\n * Class: Graph Node\n ***************************/\n function GraphNode() {\n this.position = new Float32Array(2);\n\n this.force = vec2.create();\n this.forcePrev = vec2.create();\n\n // If repulsionByDegree is true\n // mass = inDegree + outDegree + 1\n // Else\n // mass is manually set\n this.mass = 1;\n\n this.inDegree = 0;\n this.outDegree = 0;\n\n // Optional\n // this.size = 1;\n }\n\n /****************************\n * Class: Graph Edge\n ***************************/\n function GraphEdge(source, target) {\n this.source = source;\n this.target = target;\n\n this.weight = 1;\n }\n\n /****************************\n * Class: ForceStlas2\n ***************************/\n function ForceAtlas2() {\n //-------------\n // Configs\n\n // If auto settings is true\n // barnesHutOptimize,\n // barnesHutTheta,\n // scaling,\n // jitterTolerence\n // Will be set by the system automatically\n // preventOverlap will be set false\n // if node size is not given\n this.autoSettings = true;\n\n // Barnes Hut\n // http://arborjs.org/docs/barnes-hut\n this.barnesHutOptimize = true;\n this.barnesHutTheta = 1.5;\n\n // Force Atlas2 Configs\n this.repulsionByDegree = true;\n\n this.linLogMode = false;\n\n this.strongGravityMode = false;\n this.gravity = 1.0;\n\n this.scaling = 1.0;\n\n this.edgeWeightInfluence = 1.0;\n this.jitterTolerence = 0.1;\n\n // TODO\n this.preventOverlap = false;\n this.dissuadeHubs = false;\n\n //\n this.rootRegion = new Region();\n this.rootRegion.centerOfMass = vec2.create();\n\n this.nodes = [];\n\n this.edges = [];\n\n this.bbox = new Float32Array(4);\n\n this.gravityCenter = null;\n\n this._massArr = null;\n\n this._swingingArr = null;\n\n this._sizeArr = null;\n\n this._globalSpeed = 0;\n }\n\n var forceAtlas2Proto = ForceAtlas2.prototype;\n\n forceAtlas2Proto.initNodes = function(positionArr, massArr, sizeArr) {\n var nNodes = massArr.length;\n this.nodes.length = 0;\n var haveSize = typeof(sizeArr) != 'undefined';\n for (var i = 0; i < nNodes; i++) {\n var node = new GraphNode();\n node.position[0] = positionArr[i * 2];\n node.position[1] = positionArr[i * 2 + 1];\n node.mass = massArr[i];\n if (haveSize) {\n node.size = sizeArr[i];\n }\n this.nodes.push(node);\n }\n\n this._massArr = massArr;\n this._swingingArr = new Float32Array(nNodes);\n\n if (haveSize) {\n this._sizeArr = sizeArr;\n }\n };\n\n forceAtlas2Proto.initEdges = function(edgeArr, edgeWeightArr) {\n var nEdges = edgeArr.length / 2;\n this.edges.length = 0;\n for (var i = 0; i < nEdges; i++) {\n var sIdx = edgeArr[i * 2];\n var tIdx = edgeArr[i * 2 + 1];\n var sNode = this.nodes[sIdx];\n var tNode = this.nodes[tIdx];\n\n if (!sNode || !tNode) {\n console.error('Node not exists, try initNodes before initEdges');\n return;\n }\n sNode.outDegree++;\n tNode.inDegree++;\n var edge = new GraphEdge(sNode, tNode);\n\n if (edgeWeightArr) {\n edge.weight = edgeWeightArr[i];\n }\n\n this.edges.push(edge);\n }\n }\n\n forceAtlas2Proto.updateSettings = function() {\n if (this.repulsionByDegree) {\n for (var i = 0; i < this.nodes.length; i++) {\n var node = this.nodes[i];\n node.mass = node.inDegree + node.outDegree + 1;\n }\n }\n else {\n for (var i = 0; i < this.nodes.length; i++) {\n var node = this.nodes[i];\n node.mass = this._massArr[i];\n }\n }\n };\n\n forceAtlas2Proto.update = function() {\n var nNodes = this.nodes.length;\n\n this.updateSettings();\n\n this.updateBBox();\n\n // Update region\n if (this.barnesHutOptimize) {\n this.rootRegion.setBBox(\n this.bbox[0], this.bbox[1],\n this.bbox[2], this.bbox[3]\n );\n\n this.rootRegion.beforeUpdate();\n for (var i = 0; i < nNodes; i++) {\n this.rootRegion.addNode(this.nodes[i]);\n }\n this.rootRegion.afterUpdate();\n }\n\n // Reset forces\n for (var i = 0; i < nNodes; i++) {\n var node = this.nodes[i];\n vec2.copy(node.forcePrev, node.force);\n vec2.set(node.force, 0, 0);\n }\n\n // Compute forces\n // Repulsion\n for (var i = 0; i < nNodes; i++) {\n var na = this.nodes[i];\n if (this.barnesHutOptimize) {\n this.applyRegionToNodeRepulsion(this.rootRegion, na);\n }\n else {\n for (var j = i + 1; j < nNodes; j++) {\n var nb = this.nodes[j];\n this.applyNodeToNodeRepulsion(na, nb, false);\n }\n }\n\n // Gravity\n if (this.gravity > 0) {\n if (this.strongGravityMode) {\n this.applyNodeStrongGravity(na);\n }\n else {\n this.applyNodeGravity(na);\n }\n }\n }\n\n // Attraction\n for (var i = 0; i < this.edges.length; i++) {\n this.applyEdgeAttraction(this.edges[i]);\n }\n\n // Handle swinging\n var swingWeightedSum = 0;\n var tractionWeightedSum = 0;\n var tmp = vec2.create();\n for (var i = 0; i < nNodes; i++) {\n var node = this.nodes[i];\n var swing = vec2.dist(node.force, node.forcePrev);\n swingWeightedSum += swing * node.mass;\n\n vec2.add(tmp, node.force, node.forcePrev);\n var traction = vec2.len(tmp) * 0.5;\n tractionWeightedSum += traction * node.mass;\n\n // Save the value for using later\n this._swingingArr[i] = swing;\n }\n var globalSpeed = this.jitterTolerence * this.jitterTolerence\n * tractionWeightedSum / swingWeightedSum;\n // NB: During our tests we observed that an excessive rise of the global speed could have a negative impact.\n // That’s why we limited the increase of global speed s(t)(G) to 50% of the previous step s(t−1)(G).\n if (this._globalSpeed > 0) {\n globalSpeed = Math.min(globalSpeed / this._globalSpeed, 1.5) * this._globalSpeed;\n }\n this._globalSpeed = globalSpeed;\n\n // Apply forces\n for (var i = 0; i < nNodes; i++) {\n var node = this.nodes[i];\n var swing = this._swingingArr[i];\n\n var speed = 0.1 * globalSpeed / (1 + globalSpeed * Math.sqrt(swing));\n\n // Additional constraint to prevent local speed gets too high\n var df = vec2.len(node.force);\n if (df > 0) {\n speed = Math.min(df * speed, 10) / df;\n vec2.scaleAndAdd(node.position, node.position, node.force, speed);\n }\n }\n };\n\n forceAtlas2Proto.applyRegionToNodeRepulsion = (function() {\n var v = vec2.create();\n return function applyRegionToNodeRepulsion(region, node) {\n if (region.node) { // Region is a leaf\n this.applyNodeToNodeRepulsion(region.node, node, true);\n }\n else {\n vec2.sub(v, node.position, region.centerOfMass);\n var d2 = v[0] * v[0] + v[1] * v[1];\n if (d2 > this.barnesHutTheta * region.size * region.size) {\n var factor = this.scaling * node.mass * region.mass / d2;\n vec2.scaleAndAdd(node.force, node.force, v, factor);\n }\n else {\n for (var i = 0; i < region.nSubRegions; i++) {\n this.applyRegionToNodeRepulsion(region.subRegions[i], node);\n }\n }\n }\n }\n })();\n\n forceAtlas2Proto.applyNodeToNodeRepulsion = (function() {\n var v = vec2.create();\n return function applyNodeToNodeRepulsion(na, nb, oneWay) {\n if (na == nb) {\n return;\n }\n vec2.sub(v, na.position, nb.position);\n var d2 = v[0] * v[0] + v[1] * v[1];\n\n // PENDING\n if (d2 === 0) {\n return;\n }\n\n var factor;\n if (this.preventOverlap) {\n var d = Math.sqrt(d2);\n d = d - na.size - nb.size;\n if (d > 0) {\n factor = this.scaling * na.mass * nb.mass / (d * d);\n }\n else if (d < 0) {\n // A stronger repulsion if overlap\n factor = this.scaling * 100 * na.mass * nb.mass;\n }\n else {\n // No repulsion\n return;\n }\n }\n else {\n // Divide factor by an extra `d` to normalize the `v`\n factor = this.scaling * na.mass * nb.mass / d2;\n }\n\n vec2.scaleAndAdd(na.force, na.force, v, factor);\n vec2.scaleAndAdd(nb.force, nb.force, v, -factor);\n }\n })();\n\n forceAtlas2Proto.applyEdgeAttraction = (function() {\n var v = vec2.create();\n return function applyEdgeAttraction(edge) {\n var na = edge.source;\n var nb = edge.target;\n\n vec2.sub(v, na.position, nb.position);\n var d = vec2.len(v);\n\n var w;\n if (this.edgeWeightInfluence === 0) {\n w = 1;\n }\n else if (this.edgeWeightInfluence === 1) {\n w = edge.weight;\n }\n else {\n w = Math.pow(edge.weight, this.edgeWeightInfluence);\n }\n\n var factor;\n\n if (this.preventOverlap) {\n d = d - na.size - nb.size;\n if (d <= 0) {\n // No attraction\n return;\n }\n }\n\n if (this.linLogMode) {\n // Divide factor by an extra `d` to normalize the `v`\n factor = - w * Math.log(d + 1) / (d + 1);\n }\n else {\n factor = - w;\n }\n vec2.scaleAndAdd(na.force, na.force, v, factor);\n vec2.scaleAndAdd(nb.force, nb.force, v, -factor);\n }\n })();\n\n forceAtlas2Proto.applyNodeGravity = (function() {\n var v = vec2.create();\n return function(node) {\n vec2.sub(v, this.gravityCenter, node.position);\n var d = vec2.len(v);\n vec2.scaleAndAdd(node.force, node.force, v, this.gravity * node.mass / (d + 1));\n }\n })();\n\n forceAtlas2Proto.applyNodeStrongGravity = (function() {\n var v = vec2.create();\n return function(node) {\n vec2.sub(v, this.gravityCenter, node.position);\n vec2.scaleAndAdd(node.force, node.force, v, this.gravity * node.mass);\n }\n })();\n\n forceAtlas2Proto.updateBBox = function() {\n var minX = Infinity;\n var minY = Infinity;\n var maxX = -Infinity;\n var maxY = -Infinity;\n for (var i = 0; i < this.nodes.length; i++) {\n var pos = this.nodes[i].position;\n minX = Math.min(minX, pos[0]);\n minY = Math.min(minY, pos[1]);\n maxX = Math.max(maxX, pos[0]);\n maxY = Math.max(maxY, pos[1]);\n }\n this.bbox[0] = minX;\n this.bbox[1] = minY;\n this.bbox[2] = maxX;\n this.bbox[3] = maxY;\n };\n\n forceAtlas2Proto.getGlobalSpeed = function () {\n return this._globalSpeed;\n }\n\n /****************************\n * Main process\n ***************************/\n\n var forceAtlas2 = null;\n\n self.onmessage = function(e) {\n switch(e.data.cmd) {\n case 'init':\n forceAtlas2 = new ForceAtlas2();\n forceAtlas2.initNodes(e.data.nodesPosition, e.data.nodesMass, e.data.nodesSize);\n forceAtlas2.initEdges(e.data.edges, e.data.edgesWeight);\n break;\n case 'updateConfig':\n if (forceAtlas2) {\n for (var name in e.data.config) {\n forceAtlas2[name] = e.data.config[name];\n }\n }\n break;\n case 'update':\n var steps = e.data.steps;\n if (forceAtlas2) {\n for (var i = 0; i < steps; i++) {\n forceAtlas2.update();\n }\n\n var nNodes = forceAtlas2.nodes.length;\n var positionArr = new Float32Array(nNodes * 2);\n // Callback\n for (var i = 0; i < nNodes; i++) {\n var node = forceAtlas2.nodes[i];\n positionArr[i * 2] = node.position[0];\n positionArr[i * 2 + 1] = node.position[1];\n }\n self.postMessage({\n buffer: positionArr.buffer,\n globalSpeed: forceAtlas2.getGlobalSpeed()\n }, [positionArr.buffer]);\n }\n else {\n // Not initialzied yet\n var emptyArr = new Float32Array();\n // Post transfer object\n self.postMessage({\n buffer: emptyArr.buffer,\n globalSpeed: forceAtlas2.getGlobalSpeed()\n }, [emptyArr.buffer]);\n }\n break;\n }\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (forceAtlas2Worker);\n\n/***/ }),\n/* 273 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_core_Base__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__retrieve__ = __webpack_require__(2);\n\n\n\n\n/**\n * @alias module:echarts-gl/util/Roam2DControl\n */\nvar Roam2DControl = __WEBPACK_IMPORTED_MODULE_0_claygl_src_core_Base__[\"a\" /* default */].extend(function () {\n\n return {\n /**\n * @type {module:zrender~ZRender}\n */\n zr: null,\n\n /**\n * @type {module:echarts-gl/core/ViewGL}\n */\n viewGL: null,\n\n minZoom: 0.2,\n\n maxZoom: 5,\n\n _needsUpdate: false,\n\n _dx: 0,\n _dy: 0,\n\n _zoom: 1\n };\n}, function () {\n // Each Roam2DControl has it's own handler\n this._mouseDownHandler = this._mouseDownHandler.bind(this);\n this._mouseWheelHandler = this._mouseWheelHandler.bind(this);\n this._mouseMoveHandler = this._mouseMoveHandler.bind(this);\n this._mouseUpHandler = this._mouseUpHandler.bind(this);\n this._update = this._update.bind(this);\n}, {\n\n init: function () {\n var zr = this.zr;\n\n zr.on('mousedown', this._mouseDownHandler);\n zr.on('mousewheel', this._mouseWheelHandler);\n zr.on('globalout', this._mouseUpHandler);\n\n zr.animation.on('frame', this._update);\n },\n\n setTarget: function (target) {\n this._target = target;\n },\n\n setZoom: function (zoom) {\n this._zoom = Math.max(Math.min(\n zoom, this.maxZoom\n ), this.minZoom);\n this._needsUpdate = true;\n },\n\n setOffset: function (offset) {\n this._dx = offset[0];\n this._dy = offset[1];\n\n this._needsUpdate = true;\n },\n\n getZoom: function () {\n return this._zoom;\n },\n\n getOffset: function () {\n return [this._dx, this._dy];\n },\n\n _update: function () {\n if (!this._target) {\n return;\n }\n if (!this._needsUpdate) {\n return;\n }\n\n var target = this._target;\n\n var scale = this._zoom;\n\n target.position.x = this._dx;\n target.position.y = this._dy;\n\n target.scale.set(scale, scale, scale);\n\n this.zr.refresh();\n\n this._needsUpdate = false;\n\n this.trigger('update');\n },\n\n _mouseDownHandler: function (e) {\n if (e.target) {\n return;\n }\n\n var x = e.offsetX;\n var y = e.offsetY;\n if (this.viewGL && !this.viewGL.containPoint(x, y)) {\n return;\n }\n\n this.zr.on('mousemove', this._mouseMoveHandler);\n this.zr.on('mouseup', this._mouseUpHandler);\n\n var pos = this._convertPos(x, y);\n\n this._x = pos.x;\n this._y = pos.y;\n },\n\n // Convert pos from screen space to viewspace.\n _convertPos: function (x, y) {\n\n var camera = this.viewGL.camera;\n var viewport = this.viewGL.viewport;\n // PENDING\n return {\n x: (x - viewport.x) / viewport.width * (camera.right - camera.left) + camera.left,\n y: (y - viewport.y) / viewport.height * (camera.bottom - camera.top) + camera.top\n };\n },\n\n _mouseMoveHandler: function (e) {\n\n var pos = this._convertPos(e.offsetX, e.offsetY);\n\n this._dx += pos.x - this._x;\n this._dy += pos.y - this._y;\n\n this._x = pos.x;\n this._y = pos.y;\n\n this._needsUpdate = true;\n },\n\n _mouseUpHandler: function (e) {\n this.zr.off('mousemove', this._mouseMoveHandler);\n this.zr.off('mouseup', this._mouseUpHandler);\n },\n\n _mouseWheelHandler: function (e) {\n e = e.event;\n var delta = e.wheelDelta // Webkit\n || -e.detail; // Firefox\n if (delta === 0) {\n return;\n }\n\n var x = e.offsetX;\n var y = e.offsetY;\n if (this.viewGL && !this.viewGL.containPoint(x, y)) {\n return;\n }\n\n var zoomScale = delta > 0 ? 1.1 : 0.9;\n var newZoom = Math.max(Math.min(\n this._zoom * zoomScale, this.maxZoom\n ), this.minZoom);\n zoomScale = newZoom / this._zoom;\n\n var pos = this._convertPos(x, y);\n\n var fixX = (pos.x - this._dx) * (zoomScale - 1);\n var fixY = (pos.y - this._dy) * (zoomScale - 1);\n\n this._dx -= fixX;\n this._dy -= fixY;\n\n this._zoom = newZoom;\n\n this._needsUpdate = true;\n },\n\n dispose: function () {\n\n var zr = this.zr;\n zr.off('mousedown', this._mouseDownHandler);\n zr.off('mousemove', this._mouseMoveHandler);\n zr.off('mouseup', this._mouseUpHandler);\n zr.off('mousewheel', this._mouseWheelHandler);\n zr.off('globalout', this._mouseUpHandler);\n\n zr.animation.off('frame', this._update);\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Roam2DControl);\n\n/***/ }),\n/* 274 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export ecgl.lines2D.vertex\\n\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\n\\nattribute vec2 position: POSITION;\\nattribute vec4 a_Color : COLOR;\\nvarying vec4 v_Color;\\n\\n#ifdef POSITIONTEXTURE_ENABLED\\nuniform sampler2D positionTexture;\\n#endif\\n\\nvoid main()\\n{\\n gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);\\n\\n v_Color = a_Color;\\n}\\n\\n@end\\n\\n@export ecgl.lines2D.fragment\\n\\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\\n\\nvarying vec4 v_Color;\\n\\nvoid main()\\n{\\n gl_FragColor = color * v_Color;\\n}\\n@end\\n\\n\\n@export ecgl.meshLines2D.vertex\\n\\nattribute vec2 position: POSITION;\\nattribute vec2 normal;\\nattribute float offset;\\nattribute vec4 a_Color : COLOR;\\n\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\nuniform vec4 viewport : VIEWPORT;\\n\\nvarying vec4 v_Color;\\nvarying float v_Miter;\\n\\nvoid main()\\n{\\n vec4 p2 = worldViewProjection * vec4(position + normal, -10.0, 1.0);\\n gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);\\n\\n p2.xy /= p2.w;\\n gl_Position.xy /= gl_Position.w;\\n\\n vec2 N = normalize(p2.xy - gl_Position.xy);\\n gl_Position.xy += N * offset / viewport.zw * 2.0;\\n\\n gl_Position.xy *= gl_Position.w;\\n\\n v_Color = a_Color;\\n}\\n@end\\n\\n\\n@export ecgl.meshLines2D.fragment\\n\\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\\n\\nvarying vec4 v_Color;\\nvarying float v_Miter;\\n\\nvoid main()\\n{\\n gl_FragColor = color * v_Color;\\n}\\n\\n@end\");\n\n\n/***/ }),\n/* 275 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__flowGL_FlowGLView__ = __webpack_require__(276);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__flowGL_FlowGLSeries__ = __webpack_require__(280);\n\n\n\n\n\n\n/***/ }),\n/* 276 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_retrieve__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_ViewGL__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__VectorFieldParticleSurface__ = __webpack_require__(277);\n\n\n\n\n\n\n\n\n// TODO 百度地图不是 linear 的\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendChartView({\n\n type: 'flowGL',\n\n __ecgl__: true,\n\n init: function (ecModel, api) {\n this.viewGL = new __WEBPACK_IMPORTED_MODULE_3__core_ViewGL__[\"a\" /* default */]('orthographic');\n this.groupGL = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n this.viewGL.add(this.groupGL);\n\n this._particleSurface = new __WEBPACK_IMPORTED_MODULE_4__VectorFieldParticleSurface__[\"a\" /* default */]();\n\n var planeMesh = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n geometry: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].PlaneGeometry(),\n material: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Material({\n shader: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader({\n vertex: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.source('ecgl.color.vertex'),\n fragment: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Shader.source('ecgl.color.fragment')\n }),\n // Must enable blending and multiply alpha.\n // Or premultipliedAlpha will let the alpha useless.\n transparent: true\n })\n });\n planeMesh.material.enableTexture('diffuseMap');\n\n this.groupGL.add(planeMesh);\n\n this._planeMesh = planeMesh;\n\n },\n\n render: function (seriesModel, ecModel, api) {\n var particleSurface = this._particleSurface;\n // Set particleType before set others.\n particleSurface.setParticleType(seriesModel.get('particleType'));\n particleSurface.setSupersampling(seriesModel.get('supersampling'));\n\n this._updateData(seriesModel, api);\n this._updateCamera(api.getWidth(), api.getHeight(), api.getDevicePixelRatio());\n\n var particleDensity = __WEBPACK_IMPORTED_MODULE_2__util_retrieve__[\"a\" /* default */].firstNotNull(seriesModel.get('particleDensity'), 128);\n particleSurface.setParticleDensity(particleDensity, particleDensity);\n\n var planeMesh = this._planeMesh;\n\n var time = +(new Date());\n var self = this;\n var firstFrame = true;\n planeMesh.__percent = 0;\n planeMesh.stopAnimation();\n planeMesh.animate('', { loop: true })\n .when(100000, {\n __percent: 1\n })\n .during(function () {\n var timeNow = + (new Date());\n var dTime = Math.min(timeNow - time, 20);\n time = time + dTime;\n if (self._renderer) {\n particleSurface.update(self._renderer, api, dTime / 1000, firstFrame);\n planeMesh.material.set('diffuseMap', particleSurface.getSurfaceTexture());\n // planeMesh.material.set('diffuseMap', self._particleSurface.vectorFieldTexture);\n }\n firstFrame = false;\n })\n .start();\n\n var itemStyleModel = seriesModel.getModel('itemStyle');\n var color = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(itemStyleModel.get('color'));\n color[3] *= __WEBPACK_IMPORTED_MODULE_2__util_retrieve__[\"a\" /* default */].firstNotNull(itemStyleModel.get('opacity'), 1);\n planeMesh.material.set('color', color);\n\n particleSurface.setColorTextureImage(seriesModel.get('colorTexture'), api);\n particleSurface.setParticleSize(seriesModel.get('particleSize'));\n particleSurface.particleSpeedScaling = seriesModel.get('particleSpeed');\n particleSurface.motionBlurFactor = 1.0 - Math.pow(0.1, seriesModel.get('particleTrail'));\n },\n\n updateTransform: function (seriesModel, ecModel, api) {\n this._updateData(seriesModel, api);\n },\n\n afterRender: function (globeModel, ecModel, api, layerGL) {\n var renderer = layerGL.renderer;\n this._renderer = renderer;\n },\n\n _updateData: function (seriesModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n var dims = coordSys.dimensions.map(function (coordDim) {\n return seriesModel.coordDimToDataDim(coordDim)[0];\n });\n\n var data = seriesModel.getData();\n var xExtent = data.getDataExtent(dims[0]);\n var yExtent = data.getDataExtent(dims[1]);\n\n var gridWidth = seriesModel.get('gridWidth');\n var gridHeight = seriesModel.get('gridHeight');\n\n if (gridWidth == null || gridWidth === 'auto') {\n // TODO not accurate.\n var aspect = (xExtent[1] - xExtent[0]) / (yExtent[1] - yExtent[0]);\n gridWidth = Math.round(Math.sqrt(aspect * data.count()));\n }\n if (gridHeight == null || gridHeight === 'auto') {\n gridHeight = Math.ceil(data.count() / gridWidth);\n }\n\n var vectorFieldTexture = this._particleSurface.vectorFieldTexture;\n\n // Half Float needs Uint16Array\n var pixels = vectorFieldTexture.pixels;\n if (!pixels || pixels.length !== gridHeight * gridWidth * 4) {\n pixels = vectorFieldTexture.pixels = new Float32Array(gridWidth * gridHeight * 4);\n }\n else {\n for (var i = 0; i < pixels.length; i++) {\n pixels[i] = 0;\n }\n }\n\n var maxMag = 0;\n var minMag = Infinity;\n\n var points = new Float32Array(data.count() * 2);\n var offset = 0;\n var bbox = [[Infinity, Infinity], [-Infinity, -Infinity]];\n\n data.each([dims[0], dims[1], 'vx', 'vy'], function (x, y, vx, vy) {\n var pt = coordSys.dataToPoint([x, y]);\n points[offset++] = pt[0];\n points[offset++] = pt[1];\n bbox[0][0] = Math.min(pt[0], bbox[0][0]);\n bbox[0][1] = Math.min(pt[1], bbox[0][1]);\n bbox[1][0] = Math.max(pt[0], bbox[1][0]);\n bbox[1][1] = Math.max(pt[1], bbox[1][1]);\n\n var mag = Math.sqrt(vx * vx + vy * vy);\n maxMag = Math.max(maxMag, mag);\n minMag = Math.min(minMag, mag);\n });\n\n data.each(['vx', 'vy'], function (vx, vy, i) {\n var xPix = Math.round((points[i * 2] - bbox[0][0]) / (bbox[1][0] - bbox[0][0]) * (gridWidth - 1));\n var yPix = gridHeight - 1 - Math.round((points[i * 2 + 1] - bbox[0][1]) / (bbox[1][1] - bbox[0][1]) * (gridHeight - 1));\n\n var idx = (yPix * gridWidth + xPix) * 4;\n\n pixels[idx] = (vx / maxMag * 0.5 + 0.5);\n pixels[idx + 1] = (vy / maxMag * 0.5 + 0.5);\n pixels[idx + 3] = 1;\n });\n\n vectorFieldTexture.width = gridWidth;\n vectorFieldTexture.height = gridHeight;\n\n if (seriesModel.get('coordinateSystem') === 'bmap') {\n this._fillEmptyPixels(vectorFieldTexture);\n }\n\n vectorFieldTexture.dirty();\n\n this._updatePlanePosition(bbox[0], bbox[1], seriesModel,api);\n this._updateGradientTexture(data.getVisual('visualMeta'), [minMag, maxMag]);\n\n },\n // PENDING Use grid mesh ? or delaunay triangulation?\n _fillEmptyPixels: function (texture) {\n var pixels = texture.pixels;\n var width = texture.width;\n var height = texture.height;\n\n function fetchPixel(x, y, rg) {\n x = Math.max(Math.min(x, width - 1), 0);\n y = Math.max(Math.min(y, height - 1), 0);\n var idx = (y * (width - 1) + x) * 4;\n if (pixels[idx + 3] === 0) {\n return false;\n }\n rg[0] = pixels[idx];\n rg[1] = pixels[idx + 1];\n return true;\n }\n\n function addPixel(a, b, out) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n }\n\n var center = [], left = [], right = [], top = [], bottom = [];\n var weight = 0;\n for (var y = 0; y < height; y++) {\n for (var x = 0; x < width; x++) {\n var idx = (y * (width - 1) + x) * 4;\n if (pixels[idx + 3] === 0) {\n weight = center[0] = center[1] = 0;\n if (fetchPixel(x - 1, y, left)) {\n weight++; addPixel(left, center, center);\n }\n if (fetchPixel(x + 1, y, right)) {\n weight++; addPixel(right, center, center);\n }\n if (fetchPixel(x, y - 1, top)) {\n weight++; addPixel(top, center, center);\n }\n if (fetchPixel(x, y + 1, bottom)) {\n weight++; addPixel(bottom, center, center);\n }\n center[0] /= weight;\n center[1] /= weight;\n // PENDING If overwrite. bilinear interpolation.\n pixels[idx] = center[0];\n pixels[idx + 1] = center[1];\n }\n pixels[idx + 3] = 1;\n }\n }\n },\n\n _updateGradientTexture: function (visualMeta, magExtent) {\n if (!visualMeta || !visualMeta.length) {\n this._particleSurface.setGradientTexture(null);\n return;\n }\n // TODO Different dimensions\n this._gradientTexture = this._gradientTexture || new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Texture2D({\n image: document.createElement('canvas')\n });\n var gradientTexture = this._gradientTexture;\n var canvas = gradientTexture.image;\n canvas.width = 200;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n var gradient = ctx.createLinearGradient(0, 0.5, canvas.width, 0.5);\n visualMeta[0].stops.forEach(function (stop) {\n var offset;\n if (magExtent[1] === magExtent[0]) {\n offset = 0;\n }\n else {\n offset = stop.value / magExtent[1];\n offset = Math.min(Math.max(offset, 0), 1);\n }\n\n gradient.addColorStop(offset, stop.color);\n });\n ctx.fillStyle = gradient;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n gradientTexture.dirty();\n\n this._particleSurface.setGradientTexture(this._gradientTexture);\n },\n\n _updatePlanePosition: function (leftTop, rightBottom, seriesModel, api) {\n var limitedResult = this._limitInViewportAndFullFill(leftTop, rightBottom, seriesModel, api);\n leftTop = limitedResult.leftTop;\n rightBottom = limitedResult.rightBottom;\n this._particleSurface.setRegion(limitedResult.region);\n\n this._planeMesh.position.set(\n (leftTop[0] + rightBottom[0]) / 2,\n api.getHeight() - (leftTop[1] + rightBottom[1]) / 2,\n 0\n );\n\n var width = rightBottom[0] - leftTop[0];\n var height = rightBottom[1] - leftTop[1];\n this._planeMesh.scale.set(width / 2, height / 2, 1);\n\n this._particleSurface.resize(\n Math.max(Math.min(width, 2048), 1),\n Math.max(Math.min(height, 2048), 1)\n );\n\n if (this._renderer) {\n this._particleSurface.clearFrame(this._renderer);\n }\n },\n\n _limitInViewportAndFullFill: function (leftTop, rightBottom, seriesModel, api) {\n var newLeftTop = [\n Math.max(leftTop[0], 0),\n Math.max(leftTop[1], 0)\n ];\n var newRightBottom = [\n Math.min(rightBottom[0], api.getWidth()),\n Math.min(rightBottom[1], api.getHeight())\n ];\n // Tiliing in lng orientation.\n if (seriesModel.get('coordinateSystem') === 'bmap') {\n var lngRange = seriesModel.getData().getDataExtent(seriesModel.coordDimToDataDim('lng')[0]);\n // PENDING, consider grid density\n var isContinuous = Math.floor(lngRange[1] - lngRange[0]) >= 359;\n if (isContinuous) {\n if (newLeftTop[0] > 0) {\n newLeftTop[0] = 0;\n }\n if (newRightBottom[0] < api.getWidth()) {\n newRightBottom[0] = api.getWidth();\n }\n }\n }\n\n var width = rightBottom[0] - leftTop[0];\n var height = rightBottom[1] - leftTop[1];\n var newWidth = newRightBottom[0] - newLeftTop[0];\n var newHeight = newRightBottom[1] - newLeftTop[1];\n\n var region = [\n (newLeftTop[0] - leftTop[0]) / width,\n 1.0 - newHeight / height - (newLeftTop[1] - leftTop[1]) / height,\n newWidth / width,\n newHeight / height\n ];\n\n return {\n leftTop: newLeftTop,\n rightBottom: newRightBottom,\n region: region\n };\n },\n\n _updateCamera: function (width, height, dpr) {\n this.viewGL.setViewport(0, 0, width, height, dpr);\n var camera = this.viewGL.camera;\n // FIXME bottom can't be larger than top\n camera.left = camera.bottom = 0;\n camera.top = height;\n camera.right = width;\n camera.near = 0;\n camera.far = 100;\n camera.position.z = 10;\n },\n\n remove: function () {\n this._planeMesh.stopAnimation();\n this.groupGL.removeAll();\n },\n\n dispose: function () {\n if (this._renderer) {\n this._particleSurface.dispose(this._renderer);\n }\n this.groupGL.removeAll();\n }\n});\n\n\n/***/ }),\n/* 277 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_compositor_Pass__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_claygl_src_Geometry__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_claygl_src_Mesh__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_claygl_src_Material__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_claygl_src_Texture2D__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_claygl_src_Texture__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_claygl_src_camera_Orthographic__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_claygl_src_geometry_Plane__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_claygl_src_FrameBuffer__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__Line2D__ = __webpack_require__(278);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__vectorFieldParticle_glsl_js__ = __webpack_require__(279);\n\n\n\n\n\n\n\n\n\n\n\n\n// import TemporalSS from '../../effect/TemporalSuperSampling';\n\n\n\n__WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */]['import'](__WEBPACK_IMPORTED_MODULE_11__vectorFieldParticle_glsl_js__[\"a\" /* default */]);\n\nfunction createSpriteCanvas(size) {\n var canvas = document.createElement('canvas');\n canvas.width = canvas.height = size;\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = '#fff';\n ctx.arc(size / 2, size / 2, size / 2, 0, Math.PI * 2);\n ctx.fill();\n return canvas;\n}\n\n// import spriteUtil from '../../util/sprite';\n\nvar VectorFieldParticleSurface = function () {\n\n /**\n * @type {number}\n */\n this.motionBlurFactor = 0.99;\n /**\n * Vector field lookup image\n * @type {clay.Texture2D}\n */\n this.vectorFieldTexture = new __WEBPACK_IMPORTED_MODULE_5_claygl_src_Texture2D__[\"a\" /* default */]({\n type: __WEBPACK_IMPORTED_MODULE_6_claygl_src_Texture__[\"a\" /* default */].FLOAT,\n // minFilter: Texture.NEAREST,\n // magFilter: Texture.NEAREST,\n flipY: false\n });\n\n /**\n * Particle life range\n * @type {Array.}\n */\n this.particleLife = [5, 20];\n\n this._particleType = 'point';\n\n /**\n * @type {number}\n */\n this._particleSize = 1;\n\n /**\n * @type {Array.}\n */\n this.particleColor = [1, 1, 1, 1];\n\n /**\n * @type {number}\n */\n this.particleSpeedScaling = 1.0;\n\n /**\n * @type {clay.Texture2D}\n */\n this._thisFrameTexture = null;\n\n this._particlePass = null;\n this._spawnTexture = null;\n this._particleTexture0 = null;\n this._particleTexture1 = null;\n\n this._particlePointsMesh = null;\n\n this._surfaceFrameBuffer = null;\n\n this._elapsedTime = 0.0;\n\n this._scene = null;\n this._camera = null;\n\n this._lastFrameTexture = null;\n\n // this._temporalSS = new TemporalSS(50);\n\n // this._antialising = false;\n\n this._supersampling = 1;\n\n this._downsampleTextures = [];\n\n this._width = 512;\n this._height = 512;\n\n this.init();\n};\n\nVectorFieldParticleSurface.prototype = {\n\n constructor: VectorFieldParticleSurface,\n\n init: function () {\n var parameters = {\n type: __WEBPACK_IMPORTED_MODULE_6_claygl_src_Texture__[\"a\" /* default */].FLOAT,\n minFilter: __WEBPACK_IMPORTED_MODULE_6_claygl_src_Texture__[\"a\" /* default */].NEAREST,\n magFilter: __WEBPACK_IMPORTED_MODULE_6_claygl_src_Texture__[\"a\" /* default */].NEAREST,\n useMipmap: false\n };\n this._spawnTexture = new __WEBPACK_IMPORTED_MODULE_5_claygl_src_Texture2D__[\"a\" /* default */](parameters);\n\n this._particleTexture0 = new __WEBPACK_IMPORTED_MODULE_5_claygl_src_Texture2D__[\"a\" /* default */](parameters);\n this._particleTexture1 = new __WEBPACK_IMPORTED_MODULE_5_claygl_src_Texture2D__[\"a\" /* default */](parameters);\n\n this._frameBuffer = new __WEBPACK_IMPORTED_MODULE_9_claygl_src_FrameBuffer__[\"a\" /* default */]({\n depthBuffer: false\n });\n this._particlePass = new __WEBPACK_IMPORTED_MODULE_0_claygl_src_compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].source('ecgl.vfParticle.particle.fragment')\n });\n this._particlePass.setUniform('velocityTexture', this.vectorFieldTexture);\n this._particlePass.setUniform('spawnTexture', this._spawnTexture);\n\n this._downsamplePass = new __WEBPACK_IMPORTED_MODULE_0_claygl_src_compositor_Pass__[\"a\" /* default */]({\n fragment: __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].source('clay.compositor.downsample')\n });\n\n var particlePointsMesh = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_Mesh__[\"a\" /* default */]({\n // Render after last frame full quad\n renderOrder: 10,\n material: new __WEBPACK_IMPORTED_MODULE_3_claygl_src_Material__[\"a\" /* default */]({\n shader: new __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */](\n __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].source('ecgl.vfParticle.renderPoints.vertex'),\n __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].source('ecgl.vfParticle.renderPoints.fragment')\n )\n }),\n mode: __WEBPACK_IMPORTED_MODULE_2_claygl_src_Mesh__[\"a\" /* default */].POINTS,\n geometry: new __WEBPACK_IMPORTED_MODULE_1_claygl_src_Geometry__[\"a\" /* default */]({\n dynamic: true,\n mainAttribute: 'texcoord0'\n })\n });\n var particleLinesMesh = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_Mesh__[\"a\" /* default */]({\n // Render after last frame full quad\n renderOrder: 10,\n material: new __WEBPACK_IMPORTED_MODULE_3_claygl_src_Material__[\"a\" /* default */]({\n shader: new __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */](\n __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].source('ecgl.vfParticle.renderLines.vertex'),\n __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].source('ecgl.vfParticle.renderLines.fragment')\n )\n }),\n geometry: new __WEBPACK_IMPORTED_MODULE_10__Line2D__[\"a\" /* default */](),\n culling: false\n });\n var lastFrameFullQuad = new __WEBPACK_IMPORTED_MODULE_2_claygl_src_Mesh__[\"a\" /* default */]({\n material: new __WEBPACK_IMPORTED_MODULE_3_claygl_src_Material__[\"a\" /* default */]({\n shader: new __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */](\n __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].source('ecgl.color.vertex'),\n __WEBPACK_IMPORTED_MODULE_4_claygl_src_Shader__[\"a\" /* default */].source('ecgl.color.fragment')\n )\n // DO NOT BLEND Blend will multiply alpha\n // transparent: true\n }),\n geometry: new __WEBPACK_IMPORTED_MODULE_8_claygl_src_geometry_Plane__[\"a\" /* default */]()\n });\n lastFrameFullQuad.material.enableTexture('diffuseMap');\n\n this._particlePointsMesh = particlePointsMesh;\n this._particleLinesMesh = particleLinesMesh;\n this._lastFrameFullQuadMesh = lastFrameFullQuad;\n\n this._camera = new __WEBPACK_IMPORTED_MODULE_7_claygl_src_camera_Orthographic__[\"a\" /* default */]();\n this._thisFrameTexture = new __WEBPACK_IMPORTED_MODULE_5_claygl_src_Texture2D__[\"a\" /* default */]();\n this._lastFrameTexture = new __WEBPACK_IMPORTED_MODULE_5_claygl_src_Texture2D__[\"a\" /* default */]();\n },\n\n setParticleDensity: function (width, height) {\n var nVertex = width * height;\n\n var spawnTextureData = new Float32Array(nVertex * 4);\n var off = 0;\n var lifeRange = this.particleLife;\n for (var i = 0; i < width; i++) {\n for (var j = 0; j < height; j++, off++) {\n // x position, range [0 - 1]\n spawnTextureData[off * 4] = Math.random();\n // y position, range [0 - 1]\n spawnTextureData[off * 4 + 1] = Math.random();\n // Some property\n spawnTextureData[off * 4 + 2] = Math.random();\n var life = (lifeRange[1] - lifeRange[0]) * Math.random() + lifeRange[0];\n // Particle life\n spawnTextureData[off * 4 + 3] = life;\n }\n }\n\n if (this._particleType === 'line') {\n this._setLineGeometry(width, height);\n }\n else {\n this._setPointsGeometry(width, height);\n }\n\n this._spawnTexture.width = width;\n this._spawnTexture.height = height;\n this._spawnTexture.pixels = spawnTextureData;\n\n this._particleTexture0.width = this._particleTexture1.width = width;\n this._particleTexture0.height = this._particleTexture1.height = height;\n\n this._particlePass.setUniform('textureSize', [width, height]);\n },\n\n _setPointsGeometry: function (width, height) {\n var nVertex = width * height;\n var geometry = this._particlePointsMesh.geometry;\n var attributes = geometry.attributes;\n attributes.texcoord0.init(nVertex);\n\n var off = 0;\n for (var i = 0; i < width; i++) {\n for (var j = 0; j < height; j++, off++) {\n attributes.texcoord0.value[off * 2] = i / width;\n attributes.texcoord0.value[off * 2 + 1] = j / height;\n }\n }\n geometry.dirty();\n },\n\n _setLineGeometry: function (width, height) {\n var nLine = width * height;\n var geometry = this._getParticleMesh().geometry;\n geometry.setLineCount(nLine);\n geometry.resetOffset();\n for (var i = 0; i < width; i++) {\n for (var j = 0; j < height; j++) {\n geometry.addLine([i / width, j / height]);\n }\n }\n geometry.dirty();\n },\n\n _getParticleMesh: function () {\n return this._particleType === 'line' ? this._particleLinesMesh : this._particlePointsMesh;\n },\n\n update: function (renderer, api, deltaTime, firstFrame) {\n var particleMesh = this._getParticleMesh();\n var frameBuffer = this._frameBuffer;\n var particlePass = this._particlePass;\n\n if (firstFrame) {\n this._updateDownsampleTextures(renderer, api);\n }\n\n particleMesh.material.set('size', this._particleSize * this._supersampling);\n particleMesh.material.set('color', this.particleColor);\n particlePass.setUniform('speedScaling', this.particleSpeedScaling);\n\n frameBuffer.attach(this._particleTexture1);\n particlePass.setUniform('firstFrameTime', firstFrame ? (this.particleLife[1] + this.particleLife[0]) / 2 : 0);\n particlePass.setUniform('particleTexture', this._particleTexture0);\n particlePass.setUniform('deltaTime', deltaTime);\n particlePass.setUniform('elapsedTime', this._elapsedTime);\n particlePass.render(renderer, frameBuffer);\n\n particleMesh.material.set('particleTexture', this._particleTexture1);\n particleMesh.material.set('prevParticleTexture', this._particleTexture0);\n\n frameBuffer.attach(this._thisFrameTexture);\n frameBuffer.bind(renderer);\n renderer.gl.clear(renderer.gl.DEPTH_BUFFER_BIT | renderer.gl.COLOR_BUFFER_BIT);\n var lastFrameFullQuad = this._lastFrameFullQuadMesh;\n lastFrameFullQuad.material.set('diffuseMap', this._lastFrameTexture);\n lastFrameFullQuad.material.set('color', [1, 1, 1, this.motionBlurFactor]);\n\n this._camera.update(true);\n renderer.renderPass([lastFrameFullQuad, particleMesh], this._camera);\n frameBuffer.unbind(renderer);\n\n this._downsample(renderer);\n\n this._swapTexture();\n\n this._elapsedTime += deltaTime;\n },\n\n _downsample: function (renderer) {\n var downsampleTextures = this._downsampleTextures;\n if (downsampleTextures.length === 0) {\n return;\n }\n var current = 0;\n var sourceTexture = this._thisFrameTexture;\n var targetTexture = downsampleTextures[current];\n\n while (targetTexture) {\n this._frameBuffer.attach(targetTexture);\n this._downsamplePass.setUniform('texture', sourceTexture);\n this._downsamplePass.setUniform('textureSize', [sourceTexture.width, sourceTexture.height]);\n this._downsamplePass.render(renderer, this._frameBuffer);\n\n sourceTexture = targetTexture;\n targetTexture = downsampleTextures[++current];\n }\n },\n\n getSurfaceTexture: function () {\n var downsampleTextures = this._downsampleTextures;\n return downsampleTextures.length > 0\n ? downsampleTextures[downsampleTextures.length - 1]\n : this._lastFrameTexture;\n },\n\n setRegion: function (region) {\n this._particlePass.setUniform('region', region);\n },\n\n resize: function (width, height) {\n this._lastFrameTexture.width = width * this._supersampling;\n this._lastFrameTexture.height = height * this._supersampling;\n this._thisFrameTexture.width = width * this._supersampling;\n this._thisFrameTexture.height = height * this._supersampling;\n\n this._width = width;\n this._height = height;\n },\n\n setParticleSize: function (size) {\n var particleMesh = this._getParticleMesh();\n if (size <= 2) {\n particleMesh.material.disableTexture('spriteTexture');\n particleMesh.material.transparent = false;\n return;\n }\n if (!this._spriteTexture) {\n this._spriteTexture = new __WEBPACK_IMPORTED_MODULE_5_claygl_src_Texture2D__[\"a\" /* default */]();\n }\n if (!this._spriteTexture.image || this._spriteTexture.image.width !== size) {\n this._spriteTexture.image = createSpriteCanvas(size);\n this._spriteTexture.dirty();\n }\n particleMesh.material.transparent = true;\n particleMesh.material.enableTexture('spriteTexture');\n particleMesh.material.set('spriteTexture', this._spriteTexture);\n\n this._particleSize = size;\n },\n\n setGradientTexture: function (gradientTexture) {\n var material = this._getParticleMesh().material;\n material[gradientTexture ? 'enableTexture' : 'disableTexture']('gradientTexture');\n material.setUniform('gradientTexture', gradientTexture);\n },\n\n setColorTextureImage: function (colorTextureImg, api) {\n var material = this._getParticleMesh().material;\n material.setTextureImage('colorTexture', colorTextureImg, api, {\n flipY: true\n });\n },\n\n setParticleType: function (type) {\n this._particleType = type;\n },\n\n clearFrame: function (renderer) {\n var frameBuffer = this._frameBuffer;\n frameBuffer.attach(this._lastFrameTexture);\n frameBuffer.bind(renderer);\n renderer.gl.clear(renderer.gl.DEPTH_BUFFER_BIT | renderer.gl.COLOR_BUFFER_BIT);\n frameBuffer.unbind(renderer);\n },\n\n setSupersampling: function (supersampling) {\n this._supersampling = supersampling;\n this.resize(this._width, this._height);\n },\n\n _updateDownsampleTextures: function (renderer, api) {\n var downsampleTextures = this._downsampleTextures;\n var upScale = Math.max(Math.floor(Math.log(this._supersampling / api.getDevicePixelRatio()) / Math.log(2)), 0);\n var scale = 2;\n var width = this._width * this._supersampling;\n var height = this._height * this._supersampling;\n for (var i = 0; i < upScale; i++) {\n downsampleTextures[i] = downsampleTextures[i] || new __WEBPACK_IMPORTED_MODULE_5_claygl_src_Texture2D__[\"a\" /* default */]();\n downsampleTextures[i].width = width / scale;\n downsampleTextures[i].height = height / scale;\n scale *= 2;\n }\n for (;i < downsampleTextures.length; i++) {\n downsampleTextures[i].dispose(renderer);\n }\n downsampleTextures.length = upScale;\n },\n\n _swapTexture: function () {\n var tmp = this._particleTexture0;\n this._particleTexture0 = this._particleTexture1;\n this._particleTexture1 = tmp;\n\n var tmp = this._thisFrameTexture;\n this._thisFrameTexture = this._lastFrameTexture;\n this._lastFrameTexture = tmp;\n },\n\n dispose: function (renderer) {\n renderer.disposeFrameBuffer(this._frameBuffer);\n // Dispose textures\n renderer.disposeTexture(this.vectorFieldTexture);\n renderer.disposeTexture(this._spawnTexture);\n renderer.disposeTexture(this._particleTexture0);\n renderer.disposeTexture(this._particleTexture1);\n renderer.disposeTexture(this._thisFrameTexture);\n renderer.disposeTexture(this._lastFrameTexture);\n\n renderer.disposeGeometry(this._particleLinesMesh.geometry);\n renderer.disposeGeometry(this._particlePointsMesh.geometry);\n renderer.disposeGeometry(this._lastFrameFullQuadMesh.geometry);\n\n if (this._spriteTexture) {\n renderer.disposeTexture(this._spriteTexture);\n }\n\n this._particlePass.dispose(renderer);\n this._downsamplePass.dispose(renderer);\n\n this._downsampleTextures.forEach(function (texture) {\n texture.dispose(renderer);\n });\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (VectorFieldParticleSurface);\n\n/***/ }),\n/* 278 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_echarts_lib_echarts__);\n/**\n * Lines geometry\n * Use screen space projected lines lineWidth > MAX_LINE_WIDTH\n * https://mattdesl.svbtle.com/drawing-lines-is-hard\n * @module echarts-gl/util/geometry/LinesGeometry\n * @author Yi Shen(http://github.com/pissang)\n */\n\n\n\n\n/**\n * @constructor\n * @alias module:echarts-gl/chart/flowGL/Line2D\n * @extends clay.Geometry\n */\n\nvar LinesGeometry = __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].extend(function () {\n return {\n\n dynamic: true,\n\n attributes: {\n position: new __WEBPACK_IMPORTED_MODULE_0_claygl_src_Geometry__[\"a\" /* default */].Attribute('position', 'float', 3, 'POSITION')\n }\n };\n},\n/** @lends module: echarts-gl/util/geometry/LinesGeometry.prototype */\n{\n\n /**\n * Reset offset\n */\n resetOffset: function () {\n this._vertexOffset = 0;\n this._faceOffset = 0;\n },\n\n /**\n * @param {number} nVertex\n */\n setLineCount: function (nLine) {\n var attributes = this.attributes;\n var nVertex = 4 * nLine;\n var nTriangle = 2 * nLine;\n if (this.vertexCount !== nVertex) {\n attributes.position.init(nVertex);\n }\n if (this.triangleCount !== nTriangle) {\n if (nTriangle === 0) {\n this.indices = null;\n }\n else {\n this.indices = this.vertexCount > 0xffff ? new Uint32Array(nTriangle * 3) : new Uint16Array(nTriangle * 3);\n }\n }\n },\n\n addLine: function (p) {\n var vertexOffset = this._vertexOffset;\n this.attributes.position.set(vertexOffset, [p[0], p[1], 1]);\n this.attributes.position.set(vertexOffset + 1, [p[0], p[1], -1]);\n this.attributes.position.set(vertexOffset + 2, [p[0], p[1], 2]);\n this.attributes.position.set(vertexOffset + 3, [p[0], p[1], -2]);\n\n this.setTriangleIndices(\n this._faceOffset++, [\n vertexOffset, vertexOffset + 1, vertexOffset + 2\n ]\n );\n this.setTriangleIndices(\n this._faceOffset++, [\n vertexOffset + 1, vertexOffset + 2, vertexOffset + 3\n ]\n );\n\n this._vertexOffset += 4;\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (LinesGeometry);\n\n/***/ }),\n/* 279 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"@export ecgl.vfParticle.particle.fragment\\n\\nuniform sampler2D particleTexture;\\nuniform sampler2D spawnTexture;\\nuniform sampler2D velocityTexture;\\n\\nuniform float deltaTime;\\nuniform float elapsedTime;\\n\\nuniform float speedScaling : 1.0;\\n\\nuniform vec2 textureSize;\\nuniform vec4 region : [0, 0, 1, 1];\\nuniform float firstFrameTime;\\n\\nvarying vec2 v_Texcoord;\\n\\n\\nvoid main()\\n{\\n vec4 p = texture2D(particleTexture, v_Texcoord);\\n bool spawn = false;\\n if (p.w <= 0.0) {\\n p = texture2D(spawnTexture, fract(v_Texcoord + elapsedTime / 10.0));\\n p.w -= firstFrameTime;\\n spawn = true;\\n }\\n vec2 v = texture2D(velocityTexture, fract(p.xy * region.zw + region.xy)).xy;\\n v = (v - 0.5) * 2.0;\\n p.z = length(v);\\n p.xy += v * deltaTime / 10.0 * speedScaling;\\n p.w -= deltaTime;\\n\\n if (spawn || p.xy != fract(p.xy)) {\\n p.z = 0.0;\\n }\\n p.xy = fract(p.xy);\\n\\n gl_FragColor = p;\\n}\\n@end\\n\\n@export ecgl.vfParticle.renderPoints.vertex\\n\\n#define PI 3.1415926\\n\\nattribute vec2 texcoord : TEXCOORD_0;\\n\\nuniform sampler2D particleTexture;\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\n\\nuniform float size : 1.0;\\n\\nvarying float v_Mag;\\nvarying vec2 v_Uv;\\n\\nvoid main()\\n{\\n vec4 p = texture2D(particleTexture, texcoord);\\n\\n if (p.w > 0.0 && p.z > 1e-5) {\\n gl_Position = worldViewProjection * vec4(p.xy * 2.0 - 1.0, 0.0, 1.0);\\n }\\n else {\\n gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);\\n }\\n\\n v_Mag = p.z;\\n v_Uv = p.xy;\\n\\n gl_PointSize = size;\\n}\\n\\n@end\\n\\n@export ecgl.vfParticle.renderPoints.fragment\\n\\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\\nuniform sampler2D gradientTexture;\\nuniform sampler2D colorTexture;\\nuniform sampler2D spriteTexture;\\n\\nvarying float v_Mag;\\nvarying vec2 v_Uv;\\n\\nvoid main()\\n{\\n gl_FragColor = color;\\n#ifdef SPRITETEXTURE_ENABLED\\n gl_FragColor *= texture2D(spriteTexture, gl_PointCoord);\\n if (color.a == 0.0) {\\n discard;\\n }\\n#endif\\n#ifdef GRADIENTTEXTURE_ENABLED\\n gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));\\n#endif\\n#ifdef COLORTEXTURE_ENABLED\\n gl_FragColor *= texture2D(colorTexture, v_Uv);\\n#endif\\n}\\n\\n@end\\n\\n@export ecgl.vfParticle.renderLines.vertex\\n\\n#define PI 3.1415926\\n\\nattribute vec3 position : POSITION;\\n\\nuniform sampler2D particleTexture;\\nuniform sampler2D prevParticleTexture;\\n\\nuniform float size : 1.0;\\nuniform vec4 vp: VIEWPORT;\\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\\n\\nvarying float v_Mag;\\nvarying vec2 v_Uv;\\n\\n@import clay.util.rand\\n\\nvoid main()\\n{\\n vec4 p = texture2D(particleTexture, position.xy);\\n vec4 p2 = texture2D(prevParticleTexture, position.xy);\\n\\n p.xy = p.xy * 2.0 - 1.0;\\n p2.xy = p2.xy * 2.0 - 1.0;\\n\\n if (p.w > 0.0 && p.z > 1e-5) {\\n vec2 dir = normalize(p.xy - p2.xy);\\n vec2 norm = vec2(dir.y / vp.z, -dir.x / vp.w) * sign(position.z) * size;\\n if (abs(position.z) == 2.0) {\\n gl_Position = vec4(p.xy + norm, 0.0, 1.0);\\n v_Uv = p.xy;\\n v_Mag = p.z;\\n }\\n else {\\n gl_Position = vec4(p2.xy + norm, 0.0, 1.0);\\n v_Mag = p2.z;\\n v_Uv = p2.xy;\\n }\\n gl_Position = worldViewProjection * gl_Position;\\n }\\n else {\\n gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);\\n }\\n}\\n\\n@end\\n\\n@export ecgl.vfParticle.renderLines.fragment\\n\\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\\nuniform sampler2D gradientTexture;\\nuniform sampler2D colorTexture;\\n\\nvarying float v_Mag;\\nvarying vec2 v_Uv;\\n\\nvoid main()\\n{\\n gl_FragColor = color;\\n #ifdef GRADIENTTEXTURE_ENABLED\\n gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));\\n#endif\\n#ifdef COLORTEXTURE_ENABLED\\n gl_FragColor *= texture2D(colorTexture, v_Uv);\\n#endif\\n}\\n\\n@end\\n\");\n\n\n/***/ }),\n/* 280 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendSeriesModel({\n\n type: 'series.flowGL',\n\n dependencies: ['geo', 'grid', 'bmap'],\n\n visualColorAccessPath: 'itemStyle.color',\n\n getInitialData: function (option, ecModel) {\n var coordSysDimensions = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.getCoordinateSystemDimensions(this.get('coordinateSystem')) || ['x', 'y'];\n if (true) {\n if (coordSysDimensions.length > 2) {\n throw new Error('flowGL can only be used on 2d coordinate systems.')\n }\n }\n coordSysDimensions.push('vx', 'vy');\n var dimensions = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.helper.completeDimensions(coordSysDimensions, this.getSource(), {\n encodeDef: this.get('encode'),\n dimsDef: this.get('dimensions')\n });\n var data = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.List(dimensions, this);\n data.initData(this.getSource());\n return data;\n },\n\n defaultOption: {\n coordinateSystem: 'cartesian2d',\n zlevel: 10,\n\n supersampling: 1,\n // 128x128 particles\n particleType: 'point',\n\n particleDensity: 128,\n particleSize: 1,\n particleSpeed: 1,\n\n particleTrail: 2,\n\n colorTexture: null,\n\n gridWidth: 'auto',\n gridHeight: 'auto',\n\n itemStyle: {\n color: '#fff',\n opacity: 0.8\n }\n }\n});\n\n/***/ }),\n/* 281 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__linesGL_LinesGLSeries__ = __webpack_require__(282);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__linesGL_LinesGLView__ = __webpack_require__(283);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common_opacityVisual__ = __webpack_require__(17);\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.registerVisual(Object(__WEBPACK_IMPORTED_MODULE_3__common_opacityVisual__[\"a\" /* default */])('linesGL'));\n\n/***/ }),\n/* 282 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_zrender_lib_core_util__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_zrender_lib_core_util___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_zrender_lib_core_util__);\n\n\n\nvar LinesSeries = __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendSeriesModel({\n\n type: 'series.linesGL',\n\n dependencies: ['grid', 'geo'],\n\n visualColorAccessPath: 'lineStyle.color',\n\n streamEnabled: true,\n\n init: function (option) {\n var result = this._processFlatCoordsArray(option.data);\n this._flatCoords = result.flatCoords;\n this._flatCoordsOffset = result.flatCoordsOffset;\n if (result.flatCoords) {\n option.data = new Float32Array(result.count);\n }\n\n LinesSeries.superApply(this, 'init', arguments);\n },\n\n mergeOption: function (option) {\n var result = this._processFlatCoordsArray(option.data);\n this._flatCoords = result.flatCoords;\n this._flatCoordsOffset = result.flatCoordsOffset;\n if (result.flatCoords) {\n option.data = new Float32Array(result.count);\n }\n\n LinesSeries.superApply(this, 'mergeOption', arguments);\n },\n\n appendData: function (params) {\n var result = this._processFlatCoordsArray(params.data);\n if (result.flatCoords) {\n if (!this._flatCoords) {\n this._flatCoords = result.flatCoords;\n this._flatCoordsOffset = result.flatCoordsOffset;\n }\n else {\n this._flatCoords = Object(__WEBPACK_IMPORTED_MODULE_1_zrender_lib_core_util__[\"concatArray\"])(this._flatCoords, result.flatCoords);\n this._flatCoordsOffset = Object(__WEBPACK_IMPORTED_MODULE_1_zrender_lib_core_util__[\"concatArray\"])(this._flatCoordsOffset, result.flatCoordsOffset);\n }\n params.data = new Float32Array(result.count);\n }\n\n this.getRawData().appendData(params.data);\n },\n\n _getCoordsFromItemModel: function (idx) {\n var itemModel = this.getData().getItemModel(idx);\n var coords = (itemModel.option instanceof Array)\n ? itemModel.option : itemModel.getShallow('coords');\n\n if (true) {\n if (!(coords instanceof Array && coords.length > 0 && coords[0] instanceof Array)) {\n throw new Error('Invalid coords ' + JSON.stringify(coords) + '. Lines must have 2d coords array in data item.');\n }\n }\n return coords;\n },\n\n getLineCoordsCount: function (idx) {\n if (this._flatCoordsOffset) {\n return this._flatCoordsOffset[idx * 2 + 1];\n }\n else {\n return this._getCoordsFromItemModel(idx).length;\n }\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 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 return len;\n }\n else {\n var coords = this._getCoordsFromItemModel(idx);\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 return coords.length;\n }\n },\n\n _processFlatCoordsArray: function (data) {\n var startOffset = 0;\n if (this._flatCoords) {\n startOffset = this._flatCoords.length;\n }\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 if (typeof data[0] === 'number') {\n var len = data.length;\n // Store offset and len of each segment\n var coordsOffsetAndLenStorage = new Uint32Array(len);\n var coordsStorage = new Float64Array(len);\n var coordsCursor = 0;\n var offsetCursor = 0;\n var dataCount = 0;\n for (var i = 0; i < len;) {\n dataCount++;\n var count = data[i++];\n // Offset\n coordsOffsetAndLenStorage[offsetCursor++] = coordsCursor + startOffset;\n // Len\n coordsOffsetAndLenStorage[offsetCursor++] = count;\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 if (true) {\n throw new Error('Invalid data format.');\n }\n }\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\n getInitialData: function (option, ecModel) {\n var lineData = new __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.List(['value'], this);\n lineData.hasItemOption = false;\n\n lineData.initData(option.data, [], function (dataItem, dimName, dataIndex, dimIndex) {\n // dataItem is simply coords\n if (dataItem instanceof Array) {\n return NaN;\n }\n else {\n lineData.hasItemOption = true;\n var value = dataItem.value;\n if (value != null) {\n return value instanceof Array ? value[dimIndex] : value;\n }\n }\n });\n\n return lineData;\n },\n\n defaultOption: {\n coordinateSystem: 'geo',\n zlevel: 10,\n\n progressive: 1e4,\n progressiveThreshold: 5e4,\n\n // Cartesian coordinate system\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n\n // Geo coordinate system\n // geoIndex: 0,\n\n // Support source-over, lighter\n blendMode: 'source-over',\n\n lineStyle: {\n opacity: 0.8\n },\n\n postEffect: {\n enable: false,\n colorCorrection: {\n exposure: 0,\n brightness: 0,\n contrast: 1,\n saturation: 1,\n enable: true\n }\n }\n }\n});\n\n/***/ }),\n/* 283 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_ViewGL__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_geometry_Lines2D__ = __webpack_require__(105);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_GLViewHelper__ = __webpack_require__(103);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_retrieve__ = __webpack_require__(2);\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_echarts_lib_echarts___default.a.extendChartView({\n\n type: 'linesGL',\n\n __ecgl__: true,\n\n init: function (ecModel, api) {\n this.groupGL = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Node();\n this.viewGL = new __WEBPACK_IMPORTED_MODULE_2__core_ViewGL__[\"a\" /* default */]('orthographic');\n this.viewGL.add(this.groupGL);\n\n this._glViewHelper = new __WEBPACK_IMPORTED_MODULE_4__common_GLViewHelper__[\"a\" /* default */](this.viewGL);\n\n this._nativeLinesShader = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createShader('ecgl.lines3D');\n this._meshLinesShader = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createShader('ecgl.meshLines3D');\n\n this._linesMeshes = [];\n this._currentStep = 0;\n },\n\n render: function (seriesModel, ecModel, api) {\n this.groupGL.removeAll();\n this._glViewHelper.reset(seriesModel, api);\n\n var linesMesh = this._linesMeshes[0];\n if (!linesMesh) {\n linesMesh = this._linesMeshes[0] = this._createLinesMesh(seriesModel);\n }\n this._linesMeshes.length = 1;\n\n this.groupGL.add(linesMesh);\n this._updateLinesMesh(seriesModel, linesMesh, 0, seriesModel.getData().count());\n\n this.viewGL.setPostEffect(seriesModel.getModel('postEffect'), api);\n },\n\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n this.groupGL.removeAll();\n this._glViewHelper.reset(seriesModel, api);\n\n this._currentStep = 0;\n\n this.viewGL.setPostEffect(seriesModel.getModel('postEffect'), api);\n },\n\n incrementalRender: function (params, seriesModel, ecModel, api) {\n var linesMesh = this._linesMeshes[this._currentStep];\n if (!linesMesh) {\n linesMesh = this._createLinesMesh(seriesModel);\n this._linesMeshes[this._currentStep] = linesMesh;\n }\n this._updateLinesMesh(seriesModel, linesMesh, params.start, params.end);\n this.groupGL.add(linesMesh);\n api.getZr().refresh();\n\n this._currentStep++;\n },\n\n updateTransform: function (seriesModel, ecModel, api) {\n if (seriesModel.coordinateSystem.getRoamTransform) {\n this._glViewHelper.updateTransform(seriesModel, api);\n }\n },\n\n _createLinesMesh: function (seriesModel) {\n var linesMesh = new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh({\n $ignorePicking: true,\n material: new __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Material({\n shader: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].createShader('ecgl.lines3D'),\n transparent: true,\n depthMask: false,\n depthTest: false\n }),\n geometry: new __WEBPACK_IMPORTED_MODULE_3__util_geometry_Lines2D__[\"a\" /* default */]({\n segmentScale: 10,\n useNativeLine: true,\n dynamic: false\n }),\n mode: __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh.LINES,\n culling: false\n });\n\n return linesMesh;\n },\n\n _updateLinesMesh: function (seriesModel, linesMesh, start, end) {\n var data = seriesModel.getData();\n linesMesh.material.blend = seriesModel.get('blendMode') === 'lighter'\n ? __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].additiveBlend : null;\n var curveness = seriesModel.get('lineStyle.curveness') || 0;\n var isPolyline = seriesModel.get('polyline');\n var geometry = linesMesh.geometry;\n var coordSys = seriesModel.coordinateSystem;\n\n var lineWidth = __WEBPACK_IMPORTED_MODULE_5__util_retrieve__[\"a\" /* default */].firstNotNull(seriesModel.get('lineStyle.width'), 1);\n\n if (lineWidth > 1) {\n if (linesMesh.material.shader !== this._meshLinesShader) {\n linesMesh.material.attachShader(this._meshLinesShader);\n }\n linesMesh.mode = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh.TRIANGLES;\n }\n else {\n if (linesMesh.material.shader !== this._nativeLinesShader) {\n linesMesh.material.attachShader(this._nativeLinesShader);\n }\n linesMesh.mode = __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].Mesh.LINES;\n }\n\n start = start || 0;\n end = end || data.count();\n\n geometry.resetOffset();\n var vertexCount = 0;\n var triangleCount = 0;\n var p0 = [];\n var p1 = [];\n var p2 = [];\n var p3 = [];\n\n var lineCoords = [];\n\n var t = 0.3;\n var t2 = 0.7;\n\n function updateBezierControlPoints() {\n p1[0] = (p0[0] * t2 + p3[0] * t) - (p0[1] - p3[1]) * curveness;\n p1[1] = (p0[1] * t2 + p3[1] * t) - (p3[0] - p0[0]) * curveness;\n p2[0] = (p0[0] * t + p3[0] * t2) - (p0[1] - p3[1]) * curveness;\n p2[1] = (p0[1] * t + p3[1] * t2) - (p3[0] - p0[0]) * curveness;\n }\n if (isPolyline || curveness !== 0) {\n for (var idx = start; idx < end; idx++) {\n if (isPolyline) {\n var count = seriesModel.getLineCoordsCount(idx);\n vertexCount += geometry.getPolylineVertexCount(count);\n triangleCount += geometry.getPolylineTriangleCount(count);\n }\n else {\n seriesModel.getLineCoords(idx, lineCoords);\n this._glViewHelper.dataToPoint(coordSys, lineCoords[0], p0);\n this._glViewHelper.dataToPoint(coordSys, lineCoords[1], p3);\n updateBezierControlPoints();\n\n vertexCount += geometry.getCubicCurveVertexCount(p0, p1, p2, p3);\n triangleCount += geometry.getCubicCurveTriangleCount(p0, p1, p2, p3);\n }\n }\n }\n else {\n var lineCount = end - start;\n vertexCount += lineCount * geometry.getLineVertexCount();\n triangleCount += lineCount * geometry.getLineVertexCount();\n }\n geometry.setVertexCount(vertexCount);\n geometry.setTriangleCount(triangleCount);\n\n var dataIndex = start;\n var colorArr = [];\n for (var idx = start; idx < end; idx++) {\n __WEBPACK_IMPORTED_MODULE_1__util_graphicGL__[\"a\" /* default */].parseColor(data.getItemVisual(dataIndex, 'color'), colorArr);\n var opacity = __WEBPACK_IMPORTED_MODULE_5__util_retrieve__[\"a\" /* default */].firstNotNull(data.getItemVisual(dataIndex, 'opacity'), 1);\n colorArr[3] *= opacity;\n\n var count = seriesModel.getLineCoords(idx, lineCoords);\n for (var k = 0; k < count; k++) {\n this._glViewHelper.dataToPoint(coordSys, lineCoords[k], lineCoords[k]);\n }\n\n if (isPolyline) {\n geometry.addPolyline(lineCoords, colorArr, lineWidth, 0, count);\n }\n else if (curveness !== 0) {\n p0 = lineCoords[0];\n p3 = lineCoords[1];\n updateBezierControlPoints();\n geometry.addCubicCurve(p0, p1, p2, p3, colorArr, lineWidth);\n }\n else {\n geometry.addPolyline(lineCoords, colorArr, lineWidth, 0, 2);\n }\n dataIndex++;\n }\n },\n\n dispose: function () {\n this.groupGL.removeAll();\n },\n\n remove: function () {\n this.groupGL.removeAll();\n }\n});\n\n/***/ })\n/******/ ]);\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar 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\n var restAngle = PI2;\n var valueSumLargerThanMinAngle = 0;\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;\n restAngle -= minAngle;\n } else {\n valueSumLargerThanMinAngle += value;\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;","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = echarts.extendComponentModel({\n type: 'tooltip',\n dependencies: ['axisPointer'],\n defaultOption: {\n zlevel: 0,\n z: 60,\n show: true,\n // tooltip主体内容\n showContent: true,\n // 'trigger' only works on coordinate system.\n // 'item' | 'axis' | 'none'\n trigger: 'item',\n // 'click' | 'mousemove' | 'none'\n triggerOn: 'mousemove|click',\n alwaysShowContent: false,\n displayMode: 'single',\n // 'single' | 'multipleByCoordSys'\n renderMode: 'auto',\n // 'auto' | 'html' | 'richText'\n // 'auto': use html by default, and use non-html if `document` is not defined\n // 'html': use html for tooltip\n // 'richText': use canvas, svg, and etc. for tooltip\n // 位置 {Array} | {Function}\n // position: null\n // Consider triggered from axisPointer handle, verticalAlign should be 'middle'\n // align: null,\n // verticalAlign: null,\n // 是否约束 content 在 viewRect 中。默认 false 是为了兼容以前版本。\n confine: false,\n // 内容格式器:{string}(Template) ¦ {Function}\n // formatter: null\n showDelay: 0,\n // 隐藏延迟,单位ms\n hideDelay: 100,\n // 动画变换时间,单位s\n transitionDuration: 0.4,\n enterable: false,\n // 提示背景颜色,默认为透明度为0.7的黑色\n backgroundColor: 'rgba(50,50,50,0.7)',\n // 提示边框颜色\n borderColor: '#333',\n // 提示边框圆角,单位px,默认为4\n borderRadius: 4,\n // 提示边框线宽,单位px,默认为0(无边框)\n borderWidth: 0,\n // 提示内边距,单位px,默认各方向内边距为5,\n // 接受数组分别设定上右下左边距,同css\n padding: 5,\n // Extra css text\n extraCssText: '',\n // 坐标轴指示器,坐标轴触发有效\n axisPointer: {\n // 默认为直线\n // 可选为:'line' | 'shadow' | 'cross'\n type: 'line',\n // type 为 line 的时候有效,指定 tooltip line 所在的轴,可选\n // 可选 'x' | 'y' | 'angle' | 'radius' | 'auto'\n // 默认 'auto',会选择类型为 category 的轴,对于双数值轴,笛卡尔坐标系会默认选择 x 轴\n // 极坐标系会默认选择 angle 轴\n axis: 'auto',\n animation: 'auto',\n animationDurationUpdate: 200,\n animationEasingUpdate: 'exponentialOut',\n crossStyle: {\n color: '#999',\n width: 1,\n type: 'dashed',\n // TODO formatter\n textStyle: {} // lineStyle and shadowStyle should not be specified here,\n // otherwise it will always override those styles on option.axisPointer.\n\n }\n },\n textStyle: {\n color: '#fff',\n fontSize: 14\n }\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar VisualMapping = require(\"./VisualMapping\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @file Visual solution, for consistent option specification.\n */\nvar each = zrUtil.each;\n\nfunction hasKeys(obj) {\n if (obj) {\n for (var name in obj) {\n if (obj.hasOwnProperty(name)) {\n return true;\n }\n }\n }\n}\n/**\n * @param {Object} option\n * @param {Array.} stateList\n * @param {Function} [supplementVisualOption]\n * @return {Object} visualMappings >\n */\n\n\nfunction createVisualMappings(option, stateList, supplementVisualOption) {\n var visualMappings = {};\n each(stateList, function (state) {\n var mappings = visualMappings[state] = createMappings();\n each(option[state], function (visualData, visualType) {\n if (!VisualMapping.isValidType(visualType)) {\n return;\n }\n\n var mappingOption = {\n type: visualType,\n visual: visualData\n };\n supplementVisualOption && supplementVisualOption(mappingOption, state);\n mappings[visualType] = new VisualMapping(mappingOption); // Prepare a alpha for opacity, for some case that opacity\n // is not supported, such as rendering using gradient color.\n\n if (visualType === 'opacity') {\n mappingOption = zrUtil.clone(mappingOption);\n mappingOption.type = 'colorAlpha';\n mappings.__hidden.__alphaForOpacity = new VisualMapping(mappingOption);\n }\n });\n });\n return visualMappings;\n\n function createMappings() {\n var Creater = function () {}; // Make sure hidden fields will not be visited by\n // object iteration (with hasOwnProperty checking).\n\n\n Creater.prototype.__hidden = Creater.prototype;\n var obj = new Creater();\n return obj;\n }\n}\n/**\n * @param {Object} thisOption\n * @param {Object} newOption\n * @param {Array.} keys\n */\n\n\nfunction replaceVisualOption(thisOption, newOption, keys) {\n // Visual attributes merge is not supported, otherwise it\n // brings overcomplicated merge logic. See #2853. So if\n // newOption has anyone of these keys, all of these keys\n // will be reset. Otherwise, all keys remain.\n var has;\n zrUtil.each(keys, function (key) {\n if (newOption.hasOwnProperty(key) && hasKeys(newOption[key])) {\n has = true;\n }\n });\n has && zrUtil.each(keys, function (key) {\n if (newOption.hasOwnProperty(key) && hasKeys(newOption[key])) {\n thisOption[key] = zrUtil.clone(newOption[key]);\n } else {\n delete thisOption[key];\n }\n });\n}\n/**\n * @param {Array.} stateList\n * @param {Object} visualMappings >\n * @param {module:echarts/data/List} list\n * @param {Function} getValueState param: valueOrIndex, return: state.\n * @param {object} [scope] Scope for getValueState\n * @param {string} [dimension] Concrete dimension, if used.\n */\n// ???! handle brush?\n\n\nfunction applyVisual(stateList, visualMappings, data, getValueState, scope, dimension) {\n var visualTypesMap = {};\n zrUtil.each(stateList, function (state) {\n var visualTypes = VisualMapping.prepareVisualTypes(visualMappings[state]);\n visualTypesMap[state] = visualTypes;\n });\n var dataIndex;\n\n function getVisual(key) {\n return data.getItemVisual(dataIndex, key);\n }\n\n function setVisual(key, value) {\n data.setItemVisual(dataIndex, key, value);\n }\n\n if (dimension == null) {\n data.each(eachItem);\n } else {\n data.each([dimension], eachItem);\n }\n\n function eachItem(valueOrIndex, index) {\n dataIndex = dimension == null ? valueOrIndex : index;\n var rawDataItem = data.getRawDataItem(dataIndex); // Consider performance\n\n if (rawDataItem && rawDataItem.visualMap === false) {\n return;\n }\n\n var valueState = getValueState.call(scope, valueOrIndex);\n var mappings = visualMappings[valueState];\n var visualTypes = visualTypesMap[valueState];\n\n for (var i = 0, len = visualTypes.length; i < len; i++) {\n var type = visualTypes[i];\n mappings[type] && mappings[type].applyVisual(valueOrIndex, getVisual, setVisual);\n }\n }\n}\n/**\n * @param {module:echarts/data/List} data\n * @param {Array.} stateList\n * @param {Object} visualMappings >\n * @param {Function} getValueState param: valueOrIndex, return: state.\n * @param {number} [dim] dimension or dimension index.\n */\n\n\nfunction incrementalApplyVisual(stateList, visualMappings, getValueState, dim) {\n var visualTypesMap = {};\n zrUtil.each(stateList, function (state) {\n var visualTypes = VisualMapping.prepareVisualTypes(visualMappings[state]);\n visualTypesMap[state] = visualTypes;\n });\n\n function progress(params, data) {\n if (dim != null) {\n dim = data.getDimension(dim);\n }\n\n function getVisual(key) {\n return data.getItemVisual(dataIndex, key);\n }\n\n function setVisual(key, value) {\n data.setItemVisual(dataIndex, key, value);\n }\n\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var rawDataItem = data.getRawDataItem(dataIndex); // Consider performance\n\n if (rawDataItem && rawDataItem.visualMap === false) {\n continue;\n }\n\n var value = dim != null ? data.get(dim, dataIndex, true) : dataIndex;\n var valueState = getValueState(value);\n var mappings = visualMappings[valueState];\n var visualTypes = visualTypesMap[valueState];\n\n for (var i = 0, len = visualTypes.length; i < len; i++) {\n var type = visualTypes[i];\n mappings[type] && mappings[type].applyVisual(value, getVisual, setVisual);\n }\n }\n }\n\n return {\n progress: progress\n };\n}\n\nexports.createVisualMappings = createVisualMappings;\nexports.replaceVisualOption = replaceVisualOption;\nexports.applyVisual = applyVisual;\nexports.incrementalApplyVisual = incrementalApplyVisual;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"../coord/parallel/parallelCreator\");\n\nrequire(\"./axis/parallelAxisAction\");\n\nrequire(\"./axis/ParallelAxisView\");","var _default = typeof window !== 'undefined' && (window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || // https://github.com/ecomfe/zrender/issues/189#issuecomment-224919809\nwindow.msRequestAnimationFrame && window.msRequestAnimationFrame.bind(window) || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame) || function (func) {\n setTimeout(func, 16);\n};\n\nmodule.exports = _default;","var util = require(\"../core/util\");\n\nvar _event = require(\"../core/event\");\n\nvar Dispatcher = _event.Dispatcher;\n\nvar requestAnimationFrame = require(\"./requestAnimationFrame\");\n\nvar Animator = require(\"./Animator\");\n\n/**\n * 动画主类, 调度和管理所有动画控制器\n *\n * @module zrender/animation/Animation\n * @author pissang(https://github.com/pissang)\n */\n// TODO Additive animation\n// http://iosoteric.com/additive-animations-animatewithduration-in-ios-8/\n// https://developer.apple.com/videos/wwdc2014/#236\n\n/**\n * @typedef {Object} IZRenderStage\n * @property {Function} update\n */\n\n/**\n * @alias module:zrender/animation/Animation\n * @constructor\n * @param {Object} [options]\n * @param {Function} [options.onframe]\n * @param {IZRenderStage} [options.stage]\n * @example\n * var animation = new Animation();\n * var obj = {\n * x: 100,\n * y: 100\n * };\n * animation.animate(node.position)\n * .when(1000, {\n * x: 500,\n * y: 500\n * })\n * .when(2000, {\n * x: 100,\n * y: 100\n * })\n * .start('spline');\n */\nvar Animation = function (options) {\n options = options || {};\n this.stage = options.stage || {};\n\n this.onframe = options.onframe || function () {}; // private properties\n\n\n this._clips = [];\n this._running = false;\n this._time;\n this._pausedTime;\n this._pauseStart;\n this._paused = false;\n Dispatcher.call(this);\n};\n\nAnimation.prototype = {\n constructor: Animation,\n\n /**\n * 添加 clip\n * @param {module:zrender/animation/Clip} clip\n */\n addClip: function (clip) {\n this._clips.push(clip);\n },\n\n /**\n * 添加 animator\n * @param {module:zrender/animation/Animator} animator\n */\n addAnimator: function (animator) {\n animator.animation = this;\n var clips = animator.getClips();\n\n for (var i = 0; i < clips.length; i++) {\n this.addClip(clips[i]);\n }\n },\n\n /**\n * 删除动画片段\n * @param {module:zrender/animation/Clip} clip\n */\n removeClip: function (clip) {\n var idx = util.indexOf(this._clips, clip);\n\n if (idx >= 0) {\n this._clips.splice(idx, 1);\n }\n },\n\n /**\n * 删除动画片段\n * @param {module:zrender/animation/Animator} animator\n */\n removeAnimator: function (animator) {\n var clips = animator.getClips();\n\n for (var i = 0; i < clips.length; i++) {\n this.removeClip(clips[i]);\n }\n\n animator.animation = null;\n },\n _update: function () {\n var time = new Date().getTime() - this._pausedTime;\n\n var delta = time - this._time;\n var clips = this._clips;\n var len = clips.length;\n var deferredEvents = [];\n var deferredClips = [];\n\n for (var i = 0; i < len; i++) {\n var clip = clips[i];\n var e = clip.step(time, delta); // Throw out the events need to be called after\n // stage.update, like destroy\n\n if (e) {\n deferredEvents.push(e);\n deferredClips.push(clip);\n }\n } // Remove the finished clip\n\n\n for (var i = 0; i < len;) {\n if (clips[i]._needsRemove) {\n clips[i] = clips[len - 1];\n clips.pop();\n len--;\n } else {\n i++;\n }\n }\n\n len = deferredEvents.length;\n\n for (var i = 0; i < len; i++) {\n deferredClips[i].fire(deferredEvents[i]);\n }\n\n this._time = time;\n this.onframe(delta); // 'frame' should be triggered before stage, because upper application\n // depends on the sequence (e.g., echarts-stream and finish\n // event judge)\n\n this.trigger('frame', delta);\n\n if (this.stage.update) {\n this.stage.update();\n }\n },\n _startLoop: function () {\n var self = this;\n this._running = true;\n\n function step() {\n if (self._running) {\n requestAnimationFrame(step);\n !self._paused && self._update();\n }\n }\n\n requestAnimationFrame(step);\n },\n\n /**\n * Start animation.\n */\n start: function () {\n this._time = new Date().getTime();\n this._pausedTime = 0;\n\n this._startLoop();\n },\n\n /**\n * Stop animation.\n */\n stop: function () {\n this._running = false;\n },\n\n /**\n * Pause animation.\n */\n pause: function () {\n if (!this._paused) {\n this._pauseStart = new Date().getTime();\n this._paused = true;\n }\n },\n\n /**\n * Resume animation.\n */\n resume: function () {\n if (this._paused) {\n this._pausedTime += new Date().getTime() - this._pauseStart;\n this._paused = false;\n }\n },\n\n /**\n * Clear animation.\n */\n clear: function () {\n this._clips = [];\n },\n\n /**\n * Whether animation finished.\n */\n isFinished: function () {\n return !this._clips.length;\n },\n\n /**\n * Creat animator for a target, whose props can be animated.\n *\n * @param {Object} target\n * @param {Object} options\n * @param {boolean} [options.loop=false] Whether loop animation.\n * @param {Function} [options.getter=null] Get value from target.\n * @param {Function} [options.setter=null] Set value to target.\n * @return {module:zrender/animation/Animation~Animator}\n */\n // TODO Gap\n animate: function (target, options) {\n options = options || {};\n var animator = new Animator(target, options.loop, options.getter, options.setter);\n this.addAnimator(animator);\n return animator;\n }\n};\nutil.mixin(Animation, Dispatcher);\nvar _default = Animation;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = {\n toolbox: {\n brush: {\n title: {\n rect: '矩形选择',\n polygon: '圈选',\n lineX: '横向选择',\n lineY: '纵向选择',\n keep: '保持选择',\n clear: '清除选择'\n }\n },\n dataView: {\n title: '数据视图',\n lang: ['数据视图', '关闭', '刷新']\n },\n dataZoom: {\n title: {\n zoom: '区域缩放',\n back: '区域缩放还原'\n }\n },\n magicType: {\n title: {\n line: '切换为折线图',\n bar: '切换为柱状图',\n stack: '切换为堆叠',\n tiled: '切换为平铺'\n }\n },\n restore: {\n title: '还原'\n },\n saveAsImage: {\n title: '保存为图片',\n lang: ['右键另存为图片']\n }\n },\n series: {\n typeNames: {\n pie: '饼图',\n bar: '柱状图',\n line: '折线图',\n scatter: '散点图',\n effectScatter: '涟漪散点图',\n radar: '雷达图',\n tree: '树图',\n treemap: '矩形树图',\n boxplot: '箱型图',\n candlestick: 'K线图',\n k: 'K线图',\n heatmap: '热力图',\n map: '地图',\n parallel: '平行坐标图',\n lines: '线图',\n graph: '关系图',\n sankey: '桑基图',\n funnel: '漏斗图',\n gauge: '仪表盘图',\n pictorialBar: '象形柱图',\n themeRiver: '主题河流图',\n sunburst: '旭日图'\n }\n },\n aria: {\n general: {\n withTitle: '这是一个关于“{title}”的图表。',\n withoutTitle: '这是一个图表,'\n },\n series: {\n single: {\n prefix: '',\n withName: '图表类型是{seriesType},表示{seriesName}。',\n withoutName: '图表类型是{seriesType}。'\n },\n multiple: {\n prefix: '它由{seriesCount}个图表系列组成。',\n withName: '第{seriesId}个系列是一个表示{seriesName}的{seriesType},',\n withoutName: '第{seriesId}个系列是一个{seriesType},',\n separator: {\n middle: ';',\n end: '。'\n }\n }\n },\n data: {\n allData: '其数据是——',\n partialData: '其中,前{displayCnt}项是——',\n withName: '{name}的数据是{value}',\n withoutName: '{value}',\n separator: {\n middle: ',',\n end: ''\n }\n }\n }\n};\nmodule.exports = _default;","'use strict';\n\nvar utils = require('./../utils');\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* 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 = require(\"../helper/createRenderPlanner\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Float32Array */\nvar _default = {\n seriesType: 'lines',\n plan: createRenderPlanner(),\n reset: function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n var isPolyline = seriesModel.get('polyline');\n var isLarge = seriesModel.pipelineContext.large;\n\n function progress(params, lineData) {\n var lineCoords = [];\n\n if (isLarge) {\n var points;\n var segCount = params.end - params.start;\n\n if (isPolyline) {\n var totalCoordsCount = 0;\n\n for (var i = params.start; i < params.end; i++) {\n totalCoordsCount += seriesModel.getLineCoordsCount(i);\n }\n\n points = new Float32Array(segCount + totalCoordsCount * 2);\n } else {\n points = new Float32Array(segCount * 4);\n }\n\n var offset = 0;\n var pt = [];\n\n for (var i = params.start; i < params.end; i++) {\n var len = seriesModel.getLineCoords(i, lineCoords);\n\n if (isPolyline) {\n points[offset++] = len;\n }\n\n for (var k = 0; k < len; k++) {\n pt = coordSys.dataToPoint(lineCoords[k], false, pt);\n points[offset++] = pt[0];\n points[offset++] = pt[1];\n }\n }\n\n lineData.setLayout('linesPoints', points);\n } else {\n for (var i = params.start; i < params.end; i++) {\n var itemModel = lineData.getItemModel(i);\n var len = seriesModel.getLineCoords(i, lineCoords);\n var pts = [];\n\n if (isPolyline) {\n for (var j = 0; j < len; j++) {\n pts.push(coordSys.dataToPoint(lineCoords[j]));\n }\n } else {\n pts[0] = coordSys.dataToPoint(lineCoords[0]);\n pts[1] = coordSys.dataToPoint(lineCoords[1]);\n var curveness = itemModel.get('lineStyle.curveness');\n\n if (+curveness) {\n pts[2] = [(pts[0][0] + pts[1][0]) / 2 - (pts[0][1] - pts[1][1]) * curveness, (pts[0][1] + pts[1][1]) / 2 - (pts[1][0] - pts[0][0]) * curveness];\n }\n }\n\n lineData.setItemLayout(i, pts);\n }\n }\n }\n\n return {\n progress: progress\n };\n }\n};\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./scatter/ScatterSeries\");\n\nrequire(\"./scatter/ScatterView\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar layoutPoints = require(\"../layout/points\");\n\nrequire(\"../component/gridSimple\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// 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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Line path for bezier and straight line draw\n */\nvar straightLineProto = graphic.Line.prototype;\nvar bezierCurveProto = graphic.BezierCurve.prototype;\n\nfunction isLine(shape) {\n return isNaN(+shape.cpx1) || isNaN(+shape.cpy1);\n}\n\nvar _default = graphic.extendShape({\n type: 'ec-line',\n style: {\n stroke: '#000',\n fill: null\n },\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 0,\n percent: 1,\n cpx1: null,\n cpy1: null\n },\n buildPath: function (ctx, shape) {\n (isLine(shape) ? straightLineProto : bezierCurveProto).buildPath(ctx, shape);\n },\n pointAt: function (t) {\n return isLine(this.shape) ? straightLineProto.pointAt.call(this, t) : bezierCurveProto.pointAt.call(this, t);\n },\n tangentAt: function (t) {\n var shape = this.shape;\n var p = isLine(shape) ? [shape.x2 - shape.x1, shape.y2 - shape.y1] : bezierCurveProto.tangentAt.call(this, t);\n return vec2.normalize(p, p);\n }\n});\n\nmodule.exports = _default;","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _barGrid = require(\"../layout/barGrid\");\n\nvar layout = _barGrid.layout;\nvar largeLayout = _barGrid.largeLayout;\n\nrequire(\"../coord/cartesian/Grid\");\n\nrequire(\"./bar/BarSeries\");\n\nrequire(\"./bar/BarView\");\n\nrequire(\"../component/gridSimple\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// In case developer forget to include grid component\necharts.registerLayout(zrUtil.curry(layout, 'bar')); // Should after normal bar layout, otherwise it is blocked by normal bar layout.\n\necharts.registerLayout(largeLayout);\necharts.registerVisual({\n seriesType: 'bar',\n reset: function (seriesModel) {\n // Visual coding for legend\n seriesModel.getData().setVisual('legendSymbol', 'roundRect');\n }\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar throttleUtil = require(\"../util/throttle\");\n\nvar parallelPreprocessor = require(\"../coord/parallel/parallelPreprocessor\");\n\nrequire(\"../coord/parallel/parallelCreator\");\n\nrequire(\"../coord/parallel/ParallelModel\");\n\nrequire(\"./parallelAxis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar CLICK_THRESHOLD = 5; // > 4\n// Parallel view\n\necharts.extendComponentView({\n type: 'parallel',\n render: function (parallelModel, ecModel, api) {\n this._model = parallelModel;\n this._api = api;\n\n if (!this._handlers) {\n this._handlers = {};\n zrUtil.each(handlers, function (handler, eventName) {\n api.getZr().on(eventName, this._handlers[eventName] = zrUtil.bind(handler, this));\n }, this);\n }\n\n throttleUtil.createOrUpdate(this, '_throttledDispatchExpand', parallelModel.get('axisExpandRate'), 'fixRate');\n },\n dispose: function (ecModel, api) {\n zrUtil.each(this._handlers, function (handler, eventName) {\n api.getZr().off(eventName, handler);\n });\n this._handlers = null;\n },\n\n /**\n * @param {Object} [opt] If null, cancle the last action triggering for debounce.\n */\n _throttledDispatchExpand: function (opt) {\n this._dispatchExpand(opt);\n },\n _dispatchExpand: function (opt) {\n opt && this._api.dispatchAction(zrUtil.extend({\n type: 'parallelAxisExpand'\n }, opt));\n }\n});\nvar handlers = {\n mousedown: function (e) {\n if (checkTrigger(this, 'click')) {\n this._mouseDownPoint = [e.offsetX, e.offsetY];\n }\n },\n mouseup: function (e) {\n var mouseDownPoint = this._mouseDownPoint;\n\n if (checkTrigger(this, 'click') && mouseDownPoint) {\n var point = [e.offsetX, e.offsetY];\n var dist = Math.pow(mouseDownPoint[0] - point[0], 2) + Math.pow(mouseDownPoint[1] - point[1], 2);\n\n if (dist > CLICK_THRESHOLD) {\n return;\n }\n\n var result = this._model.coordinateSystem.getSlidedAxisExpandWindow([e.offsetX, e.offsetY]);\n\n result.behavior !== 'none' && this._dispatchExpand({\n axisExpandWindow: result.axisExpandWindow\n });\n }\n\n this._mouseDownPoint = null;\n },\n mousemove: function (e) {\n // Should do nothing when brushing.\n if (this._mouseDownPoint || !checkTrigger(this, 'mousemove')) {\n return;\n }\n\n var model = this._model;\n var result = model.coordinateSystem.getSlidedAxisExpandWindow([e.offsetX, e.offsetY]);\n var behavior = result.behavior;\n behavior === 'jump' && this._throttledDispatchExpand.debounceNextCall(model.get('axisExpandDebounce'));\n\n this._throttledDispatchExpand(behavior === 'none' ? null // Cancle the last trigger, in case that mouse slide out of the area quickly.\n : {\n axisExpandWindow: result.axisExpandWindow,\n // Jumping uses animation, and sliding suppresses animation.\n animation: behavior === 'jump' ? null : false\n });\n }\n};\n\nfunction checkTrigger(view, triggerOn) {\n var model = view._model;\n return model.get('axisExpandable') && model.get('axisExpandTriggerOn') === triggerOn;\n}\n\necharts.registerPreprocessor(parallelPreprocessor);","/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['exports', 'echarts'], factory);\n } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {\n // CommonJS\n factory(exports, require('echarts'));\n } else {\n // Browser globals\n factory({}, root.echarts);\n }\n}(this, function (exports, echarts) {\n var log = function (msg) {\n if (typeof console !== 'undefined') {\n console && console.error && console.error(msg);\n }\n }\n if (!echarts) {\n log('ECharts is not Loaded');\n return;\n }\n if (!echarts.registerMap) {\n log('ECharts Map is not loaded')\n return;\n }\n echarts.registerMap('china', {\"type\":\"FeatureCollection\",\"features\":[{\"id\":\"710000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@°Ü¯Û\"],[\"@@ƛĴÕƊÉɼģºðʀ\\\\ƎsÆNŌÔĚäœnÜƤɊĂǀĆĴžĤNJŨxĚĮǂƺòƌ‚–âÔ®ĮXŦţƸZûЋƕƑGđ¨ĭMó·ęcëƝɉlÝƯֹÅŃ^Ó·śŃNjƏďíåɛGɉ™¿@ăƑŽ¥ĘWǬÏĶŁâ\"],[\"@@\\\\p|WoYG¿¥I†j@¢\"],[\"@@…¡‰@ˆV^RqˆBbAŒnTXeRz¤Lž«³I\"],[\"@@ÆEE—„kWqë @œ\"],[\"@@fced\"]],\"encodeOffsets\":[[[122886,24033]],[[123335,22980]],[[122375,24193]],[[122518,24117]],[[124427,22618]],[[124862,26043]]]},\"properties\":{\"cp\":[121.509062,25.044332],\"name\":\"台湾\",\"childNum\":6}},{\"id\":\"130000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@o~†Z]‚ªr‰ºc_ħ²G¼s`jΟnüsœłNX_“M`ǽÓnUK…Ĝēs¤­©yrý§uģŒc†JŠ›e\"],[\"@@U`Ts¿m‚\"],[\"@@oºƋÄd–eVŽDJj£€J|Ådz•Ft~žKŨ¸IÆv|”‡¢r}膎onb˜}`RÎÄn°ÒdÞ²„^®’lnÐèĄlðӜ×]ªÆ}LiĂ±Ö`^°Ç¶p®đDcœŋ`–ZÔ’¶êqvFƚ†N®ĆTH®¦O’¾ŠIbÐã´BĐɢŴÆíȦp–ĐÞXR€·nndOž¤’OÀĈƒ­Qg˜µFo|gȒęSWb©osx|hYh•gŃfmÖĩnº€T̒Sp›¢dYĤ¶UĈjl’ǐpäìë|³kÛfw²Xjz~ÂqbTŠÑ„ěŨ@|oM‡’zv¢ZrÃVw¬ŧĖ¸fŒ°ÐT€ªqŽs{Sž¯r æÝlNd®²Ğ džiGʂJ™¼lr}~K¨ŸƐÌWö€™ÆŠzRš¤lêmĞL΄’@¡|q]SvK€ÑcwpÏρ†ĿćènĪWlĄkT}ˆJ”¤~ƒÈT„d„™pddʾĬŠ”ŽBVt„EÀ¢ôPĎƗè@~‚k–ü\\\\rÊĔÖæW_§¼F˜†´©òDòj’ˆYÈrbĞāøŀG{ƀ|¦ðrb|ÀH`pʞkv‚GpuARhÞÆǶgʊTǼƹS£¨¡ù³ŘÍ]¿Ây™ôEP xX¶¹܇O¡“gÚ¡IwÃ鑦ÅB‡Ï|Ç°…N«úmH¯‹âŸDùŽyŜžŲIÄuШDž•¸dɂ‡‚FŸƒ•›Oh‡đ©OŸ›iÃ`ww^ƒÌkŸ‘ÑH«ƇǤŗĺtFu…{Z}Ö@U‡´…ʚLg®¯Oı°ÃwŸ ^˜—€VbÉs‡ˆmA…ê]]w„§›RRl£‡ȭµu¯b{ÍDěïÿȧŽuT£ġƒěŗƃĝ“Q¨fV†Ƌ•ƅn­a@‘³@šď„yýIĹÊKšŭfċŰóŒxV@tˆƯŒJ”]eƒR¾fe|rHA˜|h~Ėƍl§ÏŠlTíb ØoˆÅbbx³^zÃĶš¶Sj®A”yÂhðk`š«P€”ˈµEF†Û¬Y¨Ļrõqi¼‰Wi°§’б´°^[ˆÀ|ĠO@ÆxO\\\\tŽa\\\\tĕtû{ġŒȧXýĪÓjùÎRb›š^ΛfK[ݏděYfíÙTyŽuUSyŌŏů@Oi½’éŅ­aVcř§ax¹XŻác‡žWU£ôãºQ¨÷Ñws¥qEH‰Ù|‰›šYQoŕÇyáĂ£MðoťÊ‰P¡mšWO¡€v†{ôvîēÜISpÌhp¨ ‘j†deŔQÖj˜X³à™Ĉ[n`Yp@Už–cM`’RKhŒEbœ”pŞlNut®Etq‚nsÁŠgA‹iú‹oH‡qCX‡”hfgu“~ϋWP½¢G^}¯ÅīGCŸÑ^ãziMáļMTÃƘrMc|O_ž¯Ŏ´|‡morDkO\\\\mĆJfl@cĢ¬¢aĦtRıҙ¾ùƀ^juųœK­ƒUFy™—Ɲ…›īÛ÷ąV×qƥV¿aȉd³B›qPBm›aËđŻģm“Å®VŠ¹d^K‡KoŸnYg“¯Xhqa”Ldu¥•ÍpDž¡KąÅƒkĝęěhq‡}HyÓ]¹ǧ£…Í÷¿qᵧš™g‘¤o^á¾ZE‡¤i`ij{n•ƒOl»ŸWÝĔįhg›F[¿¡—ßkOüš_‰€ū‹i„DZàUtėGylƒ}ŒÓM}€jpEC~¡FtoQi‘šHkk{Ãmï‚\"]],\"encodeOffsets\":[[[119712,40641]],[[121616,39981]],[[116462,37237]]]},\"properties\":{\"cp\":[114.502461,38.045474],\"name\":\"河北\",\"childNum\":3}},{\"id\":\"140000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@Þĩ҃S‰ra}Á€yWix±Üe´lè“ßÓǏok‘ćiµVZģ¡coœ‘TS˹ĪmnÕńe–hZg{gtwªpXaĚThȑp{¶Eh—®RćƑP¿£‘Pmc¸mQÝW•ďȥoÅîɡųAďä³aωJ‘½¥PG­ąSM­™…EÅruµé€‘Yӎ•Ō_d›ĒCo­Èµ]¯_²ÕjāŽK~©ÅØ^ԛkïçămϑk]­±ƒcݯÑÃmQÍ~_a—pm…~ç¡q“ˆu{JÅŧ·Ls}–EyÁÆcI{¤IiCfUc•ƌÃp§]웫vD@¡SÀ‘µM‚ÅwuŽYY‡¡DbÑc¡hƒ×]nkoQdaMç~eD•ÛtT‰©±@¥ù@É¡‰ZcW|WqOJmĩl«ħşvOÓ«IqăV—¥ŸD[mI~Ó¢cehiÍ]Ɠ~ĥqXŠ·eƷœn±“}v•[ěďŽŕ]_‘œ•`‰¹ƒ§ÕōI™o©b­s^}Ét±ū«³p£ÿ·Wµ|¡¥ăFÏs׌¥ŅxŸÊdÒ{ºvĴÎêÌɊ²¶€ü¨|ÞƸµȲ‘LLúÉƎ¤ϊęĔV`„_bª‹S^|ŸdŠzY|dz¥p†ZbÆ£¶ÒK}tĦÔņƠ‚PYzn€ÍvX¶Ěn ĠÔ„zý¦ª˜÷žÑĸَUȌ¸‚dòÜJð´’ìúNM¬ŒXZ´‘¤ŊǸ_tldIš{¦ƀðĠȤ¥NehXnYG‚‡R° ƬDj¬¸|CĞ„Kq‚ºfƐiĺ©ª~ĆOQª ¤@ìǦɌ²æBŒÊ”TœŸ˜ʂōĖ’šĴŞ–ȀœÆÿȄlŤĒö„t”νî¼ĨXhŒ‘˜|ªM¤Ðz\"],\"encodeOffsets\":[[116874,41716]]},\"properties\":{\"cp\":[112.549248,37.857014],\"name\":\"山西\",\"childNum\":1}},{\"id\":\"150000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@Č^â£Ăh–šĖMÈÄw‚\\\\fŦ°W ¢¾luŸD„wŠ\\\\̀ʉÌÛM…Ā[bӞEn}¶Vc…ê“sƒ–›¯PqƒFB…‰|S•³C|kñ•H‹d‘iÄ¥sˆʼnő…PóÑÑE^‘ÅPpy_YtS™hQ·aHwsOnʼnÚs©iqj›‰€USiº]ïWš‰«gW¡A–R붛ijʕ…Œů`çõh]y»ǃŸǛҤxÒm~zf}pf|ÜroÈzrKÈĵSƧ„ż؜Ġu¦ö\"],[\"@@sKCš…GS|úþX”gp›{ÁX¿Ÿć{ƱȏñZáĔyoÁhA™}ŅĆfdʼn„_¹„Y°ėǩÑ¡H¯¶oMQqð¡Ë™|‘Ñ`ƭŁX½·óۓxğįÅcQ‡ˆ“ƒs«tȋDžF“Ÿù^i‘t«Č¯[›hAi©á¥ÇĚ×l|¹y¯YȵƓ‹ñǙµï‚ċ™Ļ|Dœ™üȭ¶¡˜›oŽäÕG\\\\ďT¿Òõr¯œŸLguÏYęRƩšɷŌO\\\\İТæ^Ŋ IJȶȆbÜGŽĝ¬¿ĚVĎgª^íu½jÿĕęjık@Ľƒ]ėl¥Ë‡ĭûÁ„ƒėéV©±ćn©­ȇžÍq¯½•YÃÔʼn“ÉNѝÅÝy¹NqáʅDǡËñ­ƁYÅy̱os§ȋµʽǘǏƬɱà‘ưN¢ƔÊuľýľώȪƺɂļžxœZĈ}ÌʼnŪ˜ĺœŽĭFЛĽ̅ȣͽÒŵìƩÇϋÿȮǡŏçƑůĕ~Ǎ›¼ȳÐUf†dIxÿ\\\\G ˆzâɏÙOº·pqy£†@ŒŠqþ@Ǟ˽IBäƣzsÂZ†ÁàĻdñ°ŕzéØűzșCìDȐĴĺf®ŽÀľưø@ɜÖÞKĊŇƄ§‚͑těï͡VAġÑÑ»d³öǍÝXĉĕÖ{þĉu¸ËʅğU̎éhɹƆ̗̮ȘNJ֥ड़ࡰţાíϲäʮW¬®ҌeרūȠkɬɻ̼ãüfƠSצɩςåȈHϚÎKdzͲOðÏȆƘ¼CϚǚ࢚˼ФԂ¤ƌžĞ̪Qʤ´¼mȠJˀŸƲÀɠmǐnǔĎȆÞǠN~€ʢĜ‚¶ƌĆĘźʆȬ˪ĚĒ¸ĞGȖƴƀj`ĢçĶāàŃºēĢƒĖćšYŒÀŎüôQÐÂŎŞdžŞêƖš˜oˆDĤÕºÑǘÛˤ³̀gńƘĔÀ^žªƂ`ªt¾äƚêĦĀ¼Ð€Ĕǎ¨Ȕ»͠^ˮÊȦƤøxRrŜH¤¸ÂxDĝŒ|ø˂˜ƮÐ¬ɚwɲFjĔ²Äw°dždÀɞ_ĸdîàŎjʜêTЪŌ‡ŜWÈ|tqĢUB~´°ÎFC•ŽU¼pĀēƄN¦¾O¶ŠłKĊOj“Ě”j´ĜYp˜{¦„ˆSĚÍ\\\\Tš×ªV–÷Ší¨ÅDK°ßtŇĔKš¨ǵÂcḷ̌ĚǣȄĽF‡lġUĵœŇ‹ȣFʉɁƒMğįʏƶɷØŭOǽ«ƽū¹Ʊő̝Ȩ§ȞʘĖiɜɶʦ}¨֪ࠜ̀ƇǬ¹ǨE˦ĥªÔêFŽxúQ„Er´W„rh¤Ɛ \\\\talĈDJ˜Ü|[Pll̚¸ƎGú´Pž¬W¦†^¦–H]prR“n|or¾wLVnÇIujkmon£cX^Bh`¥V”„¦U¤¸}€xRj–[^xN[~ªŠxQ„‚[`ªHÆÂExx^wšN¶Ê˜|¨ì†˜€MrœdYp‚oRzNy˜ÀDs~€bcfÌ`L–¾n‹|¾T‚°c¨È¢a‚r¤–`[|òDŞĔöxElÖdH„ÀI`„Ď\\\\Àì~ƎR¼tf•¦^¢ķ¶e”ÐÚMŒptgj–„ɡČÅyġLû™ŇV®ŠÄÈƀ†Ď°P|ªVV†ªj–¬ĚÒêp¬–E|ŬÂc|ÀtƐK fˆ{ĘFĒœƌXƲąo½Ę‘\\\\¥–o}›Ûu£ç­kX‘{uĩ«āíÓUŅßŢq€Ť¥lyň[€oi{¦‹L‡ń‡ðFȪȖ”ĒL„¿Ì‹ˆfŒ£K£ʺ™oqNŸƒwğc`ue—tOj×°KJ±qƒÆġm‰Ěŗos¬…qehqsuœƒH{¸kH¡Š…ÊRǪÇƌbȆ¢´ä܍¢NìÉʖ¦â©Ż؛Ç@Vu»A—ylßí¹ĵê…ÝlISò³C¹Ìâ„²i¶’Ìoú^H“²CǜңDŽ z¼g^èöŰ_‹‚–†IJĕꄜ}gÁnUI«m‰…„‹]j‡vV¼euhwqA„aW˜ƒ_µj…»çjioQR¹ēÃßt@r³[ÛlćË^ÍÉáG“›OUۗOB±•XŸkŇ¹£k|e]ol™ŸkVͼÕqtaÏõjgÁ£§U^Œ”RLˆËnX°Ç’Bz†^~wfvˆypV ¯„ƫĉ˭ȫƗŷɿÿĿƑ˃ĝÿÃǃßËőó©ǐȍŒĖM×ÍEyx‹þp]Évïè‘vƀnÂĴÖ@‚‰†V~Ĉ™Š³MEˆĸÅĖt—ējyÄDXÄxGQuv_›i¦aBçw‘˛wD™©{ŸtāmQ€{EJ§KPśƘƿ¥@‰sCT•É}ɃwˆƇy±ŸgÑ“}T[÷kÐ禫…SÒ¥¸ëBX½‰HáŵÀğtSÝÂa[ƣ°¯¦P]£ġ“–“Òk®G²„èQ°óMq}EŠóƐÇ\\\\ƒ‡@áügQ͋u¥Fƒ“T՛¿Jû‡]|mvāÎYua^WoÀa·­ząÒot׶CLƗi¯¤mƎHNJ¤îìɾŊìTdåwsRÖgĒųúÍġäÕ}Q¶—ˆ¿A•†‹[¡Œ{d×uQAƒ›M•xV‹vMOmăl«ct[wº_šÇʊŽŸjb£ĦS_é“QZ“_lwgOiýe`YYLq§IÁˆdz£ÙË[ÕªuƏ³ÍT—s·bÁĽäė[›b[ˆŗfãcn¥îC¿÷µ[ŏÀQ­ōšĉm¿Á^£mJVm‡—L[{Ï_£›F¥Ö{ŹA}…×Wu©ÅaųijƳhB{·TQqÙIķˑZđ©Yc|M¡…L•eVUóK_QWk’_ĥ‘¿ãZ•»X\\\\ĴuUƒè‡lG®ěłTĠğDєOrÍd‚ÆÍz]‹±…ŭ©ŸÅ’]ŒÅÐ}UË¥©Tċ™ïxgckfWgi\\\\ÏĒ¥HkµE˜ë{»ÏetcG±ahUiñiWsɁˆ·c–C‚Õk]wȑ|ća}w…VaĚ᠞ŒG°ùnM¬¯†{ȈÐÆA’¥ÄêJxÙ¢”hP¢Ûˆº€µwWOŸóFŽšÁz^ÀŗÎú´§¢T¤ǻƺSė‰ǵhÝÅQgvBHouʝl_o¿Ga{ïq{¥|ſĿHĂ÷aĝÇq‡Z‘ñiñC³ª—…»E`¨åXēÕqÉû[l•}ç@čƘóO¿¡ƒFUsA‰“ʽīccšocƒ‚ƒÇS}„“£‡IS~ălkĩXçmĈ…ŀЂoÐdxÒuL^T{r@¢‘žÍƒĝKén£kQ™‰yšÅõËXŷƏL§~}kqš»IHėDžjĝŸ»ÑÞoŸå°qTt|r©ÏS‹¯·eŨĕx«È[eMˆ¿yuˆ‘pN~¹ÏyN£{©’—g‹ħWí»Í¾s“əšDž_ÃĀɗ±ą™ijĉʍŌŷ—S›É“A‹±åǥɋ@럣R©ąP©}ĹªƏj¹erƒLDĝ·{i«ƫC£µ\"]],\"encodeOffsets\":[[[127444,52594]],[[113793,40312]]]},\"properties\":{\"cp\":[111.670801,40.818311],\"name\":\"内蒙古\",\"childNum\":2}},{\"id\":\"210000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@L–Ž@@s™a\"],[\"@@MnNm\"],[\"@@d‚c\"],[\"@@eÀ‚C@b‚“‰\"],[\"@@f‡…Xwkbr–Ä`qg\"],[\"@@^jtW‘Q\"],[\"@@~ Y]c\"],[\"@@G`ĔN^_¿Z‚ÃM\"],[\"@@iX¶B‹Y\"],[\"@@„YƒZ\"],[\"@@L_{Epf\"],[\"@@^WqCT\\\\\"],[\"@@\\\\[“‹§t|”¤_\"],[\"@@m`n_\"],[\"@@Ïxnj{q_×^Giip\"],[\"@@@œé^B†‡ntˆaÊU—˜Ÿ]x ¯ÄPIJ­°h€ʙK³†VˆÕ@Y~†|EvĹsDŽ¦­L^p²ŸÒG ’Ël]„xxÄ_˜fT¤Ď¤cŽœP„–C¨¸TVjbgH²sdÎdHt`Bˆ—²¬GJję¶[ÐhjeXdlwhšðSȦªVÊπ‹Æ‘Z˜ÆŶ®²†^ŒÎyÅÎcPqń“ĚDMħĜŁH­ˆk„çvV[ij¼W–‚YÀäĦ’‘`XlžR`žôLUVžfK–¢†{NZdĒª’YĸÌÚJRr¸SA|ƴgŴĴÆbvªØX~†źBŽ|¦ÕœEž¤Ð`\\\\|Kˆ˜UnnI]¤ÀÂĊnŎ™R®Ő¿¶\\\\ÀøíDm¦ÎbŨab‰œaĘ\\\\ľã‚¸a˜tÎSƐ´©v\\\\ÖÚÌǴ¤Â‡¨JKr€Z_Z€fjþhPkx€`Y”’RIŒjJcVf~sCN¤ ˆE‚œhæm‰–sHy¨SðÑÌ\\\\\\\\ŸĐRZk°IS§fqŒßýáЍÙÉÖ[^¯ǤŲ„ê´\\\\¦¬ĆPM¯£Ÿˆ»uïpùzEx€žanµyoluqe¦W^£ÊL}ñrkqWňûP™‰UP¡ôJŠoo·ŒU}£Œ„[·¨@XŒĸŸ“‹‹DXm­Ûݏº‡›GU‹CÁª½{íĂ^cj‡k“¶Ã[q¤“LÉö³cux«zZfƒ²BWÇ®Yß½ve±ÃC•ý£W{Ú^’q^sÑ·¨‹ÍOt“¹·C¥‡GD›rí@wÕKţ݋˜Ÿ«V·i}xËÍ÷‘i©ĝ‡ɝǡ]ƒˆ{c™±OW‹³Ya±Ÿ‰_穂Hžĕoƫ€Ňqƒr³‰Lys[„ñ³¯OS–ďOMisZ†±ÅFC¥Pq{‚Ã[Pg}\\\\—¿ghćO…•k^ģÁFıĉĥM­oEqqZûěʼn³F‘¦oĵ—hŸÕP{¯~TÍlª‰N‰ßY“Ð{Ps{ÃVU™™eĎwk±ʼnVÓ½ŽJãÇÇ»Jm°dhcÀff‘dF~ˆ€ĀeĖ€d`sx² šƒ®EżĀdQ‹Âd^~ăÔHˆ¦\\\\›LKpĄVez¤NP ǹӗR™ÆąJSh­a[¦´Âghwm€BÐ¨źhI|žVVŽ—Ž|p] Â¼èNä¶ÜBÖ¼“L`‚¼bØæŒKV”ŸpoœúNZÞÒKxpw|ÊEMnzEQšŽIZ”ŽZ‡NBˆčÚFÜçmĩ‚WĪñt‘ÞĵÇñZ«uD‚±|Əlij¥ãn·±PmÍa‰–da‡ CL‡Ǒkùó¡³Ï«QaċϑOÃ¥ÕđQȥċƭy‹³ÃA\"]],\"encodeOffsets\":[[[123686,41445]],[[126019,40435]],[[124393,40128]],[[126117,39963]],[[125322,40140]],[[126686,40700]],[[126041,40374]],[[125584,40168]],[[125453,40165]],[[125362,40214]],[[125280,40291]],[[125774,39997]],[[125976,40496]],[[125822,39993]],[[125509,40217]],[[122731,40949]]]},\"properties\":{\"cp\":[123.429096,41.796767],\"name\":\"辽宁\",\"childNum\":16}},{\"id\":\"220000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@‘p䔳PClƒFbbÍzš€wBG’ĭ€Z„Åi“»ƒlY­ċ²SgŽkÇ£—^S‰“qd¯•‹R…©éŽ£¯S†\\\\cZ¹iűƏCuƍÓX‡oR}“M^o•£…R}oªU­F…uuXHlEŕ‡€Ï©¤ÛmTŽþ¤D–²ÄufàÀ­XXȱAe„yYw¬dvõ´KÊ£”\\\\rµÄl”iˆdā]|DÂVŒœH¹ˆÞ®ÜWnŒC”Œķ W‹§@\\\\¸‹ƒ~¤‹Vp¸‰póIO¢ŠVOšŇürXql~òÉK]¤¥Xrfkvzpm¶bwyFoúvð‡¼¤ N°ąO¥«³[ƒéǡű_°Õ\\\\ÚÊĝŽþâőàerR¨­JYlďQ[ ÏYëЧTGz•tnŠß¡gFkMŸāGÁ¤ia É‰™È¹`\\\\xs€¬dĆkNnuNUŠ–užP@‚vRY¾•–\\\\¢…ŒGªóĄ~RãÖÎĢù‚đŴÕhQŽxtcæëSɽʼníëlj£ƍG£nj°KƘµDsØÑpyƸ®¿bXp‚]vbÍZuĂ{nˆ^IüœÀSք”¦EŒvRÎûh@℈[‚Əȉô~FNr¯ôçR±ƒ­HÑl•’Ģ–^¤¢‚OðŸŒævxsŒ]ÞÁTĠs¶¿âƊGW¾ìA¦·TѬ†è¥€ÏÐJ¨¼ÒÖ¼ƒƦɄxÊ~S–tD@ŠĂ¼Ŵ¡jlºWžvЉˆzƦZЎ²CH— „Axiukd‹ŒGgetqmcžÛ£Ozy¥cE}|…¾cZ…k‚‰¿uŐã[oxGikfeäT@…šSUwpiÚFM©’£è^ڟ‚`@v¶eň†f h˜eP¶žt“äOlÔUgƒÞzŸU`lœ}ÔÆUvØ_Ō¬Öi^ĉi§²ÃŠB~¡Ĉ™ÚEgc|DC_Ȧm²rBx¼MÔ¦ŮdĨÃâYx‘ƘDVÇĺĿg¿cwÅ\\\\¹˜¥Yĭlœ¤žOv†šLjM_a W`zļMž·\\\\swqÝSA‡š—q‰Śij¯Š‘°kŠRē°wx^Đkǂғ„œž“œŽ„‹\\\\]˜nrĂ}²ĊŲÒøãh·M{yMzysěnĒġV·°“G³¼XÀ““™¤¹i´o¤ŃšŸÈ`̃DzÄUĞd\\\\i֚ŒˆmÈBĤÜɲDEh LG¾ƀľ{WaŒYÍȏĢĘÔRîĐj‹}Ǟ“ccj‡oUb½š{“h§Ǿ{K‹ƖµÎ÷žGĀÖŠåưÎs­l›•yiē«‹`姝H¥Ae^§„GK}iã\\\\c]v©ģZ“mÃ|“[M}ģTɟĵ‘Â`À–çm‰‘FK¥ÚíÁbXš³ÌQґHof{‰]e€pt·GŋĜYünĎųVY^’˜ydõkÅZW„«WUa~U·Sb•wGçǑ‚“iW^q‹F‚“›uNĝ—·Ew„‹UtW·Ýďæ©PuqEzwAV•—XR‰ãQ`­©GŒM‡ehc›c”ďϝd‡©ÑW_ϗYƅŒ»…é\\\\ƒɹ~ǙG³mØ©BšuT§Ĥ½¢Ã_ý‘L¡‘ýŸqT^rme™\\\\Pp•ZZbƒyŸ’uybQ—efµ]UhĿDCmûvašÙNSkCwn‰cćfv~…Y‹„ÇG\"],\"encodeOffsets\":[[130196,42528]]},\"properties\":{\"cp\":[125.3245,43.886841],\"name\":\"吉林\",\"childNum\":1}},{\"id\":\"230000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@ƨƒĶTLÇyqpÇÛqe{~oyen}s‰`q‡iXG”ù]Ëp½“©lɇÁp]Þñ´FÔ^f‘äîºkà˜z¼BUvÈ@\"],[\"@@UƒµNÿ¥īè灋•HÍøƕ¶LŒǽ|g¨|”™Ža¾pViˆdd”~ÈiŒíďÓQġėǐZ΋ŽXb½|ſÃH½ŸKFgɱCģÛÇA‡n™‹jÕc[VĝDZÃ˄Ç_™ £ń³pŽj£º”š¿”»WH´¯”U¸đĢmžtĜyzzNN|g¸÷äűѱĉā~mq^—Œ[ƒ”››”ƒǁÑďlw]¯xQĔ‰¯l‰’€°řĴrŠ™˜BˆÞTxr[tŽ¸ĻN_yŸX`biN™Ku…P›£k‚ZĮ—¦[ºxÆÀdhŽĹŀUÈƗCw’áZħÄŭcÓ¥»NAw±qȥnD`{ChdÙFćš}¢‰A±Äj¨]ĊÕjŋ«×`VuÓś~_kŷVÝyh„“VkÄãPs”Oµ—fŸge‚Ň…µf@u_Ù ÙcŸªNªÙEojVx™T@†ãSefjlwH\\\\pŏäÀvŠŽlY†½d{†F~¦dyz¤PÜndsrhf‹HcŒvlwjFœ£G˜±DύƥY‡yϊu¹XikĿ¦ÏqƗǀOŜ¨LI|FRĂn sª|Cš˜zxAè¥bœfudTrFWÁ¹Am|˜ĔĕsķÆF‡´Nš‰}ć…UŠÕ@Áijſmužç’uð^ÊýowŒFzØÎĕNőžǏȎôªÌŒDŽàĀÄ˄ĞŀƒʀĀƘŸˮȬƬĊ°ƒUŸzou‡xe]}Ž…AyȑW¯ÌmK‡“Q]‹Īºif¸ÄX|sZt|½ÚUΠlkš^p{f¤lˆºlÆW –€A²˜PVܜPH”Êâ]ÎĈÌÜk´\\\\@qàsĔÄQºpRij¼èi†`¶—„bXƒrBgxfv»ŽuUiˆŒ^v~”J¬mVp´£Œ´VWrnP½ì¢BX‚¬h™ŠðX¹^TjVœŠriªj™tŊÄm€tPGx¸bgRšŽsT`ZozÆO]’ÒFô҆Oƒ‡ŊŒvŞ”p’cGŒêŠsx´DR–Œ{A†„EOr°Œ•žx|íœbˆ³Wm~DVjºéNN†Ëܲɶ­GƒxŷCStŸ}]ûō•SmtuÇÃĕN•™āg»šíT«u}ç½BĵÞʣ¥ëÊ¡Mێ³ãȅ¡ƋaǩÈÉQ‰†G¢·lG|›„tvgrrf«†ptęŘnŠÅĢr„I²¯LiØsPf˜_vĠd„xM prʹšL¤‹¤‡eˌƒÀđK“žïÙVY§]I‡óáĥ]ķ†Kˆ¥Œj|pŇ\\\\kzţ¦šnņäÔVĂîĪ¬|vW’®l¤èØr‚˜•xm¶ă~lÄƯĄ̈́öȄEÔ¤ØQĄ–Ą»ƢjȦOǺ¨ìSŖÆƬy”Qœv`–cwƒZSÌ®ü±DŽ]ŀç¬B¬©ńzƺŷɄeeOĨS’Œfm Ċ‚ƀP̎ēz©Ċ‚ÄÕÊmgŸÇsJ¥ƔˆŊśæ’΁Ñqv¿íUOµª‰ÂnĦÁ_½ä@ê텣P}Ġ[@gġ}g“ɊדûÏWXá¢užƻÌsNͽƎÁ§č՛AēeL³àydl›¦ĘVçŁpśdžĽĺſʃQíÜçÛġԏsĕ¬—Ǹ¯YßċġHµ ¡eå`ļƒrĉŘóƢFì“ĎWøxÊk†”ƈdƬv|–I|·©NqńRŀƒ¤é”eŊœŀ›ˆàŀU²ŕƀB‚Q£Ď}L¹Îk@©ĈuǰųǨ”Ú§ƈnTËÇéƟÊcfčŤ^Xm‡—HĊĕË«W·ċëx³ǔķÐċJā‚wİ_ĸ˜Ȁ^ôWr­°oú¬Ħ…ŨK~”ȰCĐ´Ƕ£’fNÎèâw¢XnŮeÂÆĶŽ¾¾xäLĴĘlļO¤ÒĨA¢Êɚ¨®‚ØCÔ ŬGƠ”ƦYĜ‡ĘÜƬDJ—g_ͥœ@čŅĻA“¶¯@wÎqC½Ĉ»NŸăëK™ďÍQ“Ùƫ[«Ãí•gßÔÇOÝáW‘ñuZ“¯ĥ€Ÿŕā¡ÑķJu¤E Ÿå¯°WKɱ_d_}}vyŸõu¬ï¹ÓU±½@gÏ¿rýD‰†g…Cd‰µ—°MFYxw¿CG£‹Rƛ½Õ{]L§{qqąš¿BÇƻğëšܭNJË|c²}Fµ}›ÙRsÓpg±ŠQNqǫŋRwŕnéÑÉKŸ†«SeYR…ŋ‹@{¤SJ}šD Ûǖ֍Ÿ]gr¡µŷjqWÛham³~S«“„›Þ]\"]],\"encodeOffsets\":[[[127123,51780]],[[134456,44547]]]},\"properties\":{\"cp\":[126.642464,45.756967],\"name\":\"黑龙江\",\"childNum\":2}},{\"id\":\"320000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@cþÅPiŠ`ZŸRu¥É\\\\]~°ŽY`µ†Óƒ^phÁbnÀşúŽòa–ĬºTÖŒb‚˜e¦¦€{¸ZâćNpŒ©žHr|^ˆmjhŠSEb\\\\afv`sz^lkŽlj‹Ätg‹¤D˜­¾Xš¿À’|ДiZ„ȀåB·î}GL¢õcßjaŸyBFµÏC^ĭ•cÙt¿sğH]j{s©HM¢ƒQnDÀ©DaÜތ·jgàiDbPufjDk`dPOîƒhw¡ĥ‡¥šG˜ŸP²ĐobºrY†„î¶aHŢ´ ]´‚rılw³r_{£DB_Ûdåuk|ˆŨ¯F Cºyr{XFy™e³Þċ‡¿Â™kĭB¿„MvÛpm`rÚã”@Ę¹hågËÖƿxnlč¶Åì½Ot¾dJlŠVJʜǀœŞqvnOŠ^ŸJ”Z‘ż·Q}ê͎ÅmµÒ]Žƍ¦Dq}¬R^èĂ´ŀĻĊIԒtžIJyQŐĠMNtœR®òLh‰›Ěs©»œ}OӌGZz¶A\\\\jĨFˆäOĤ˜HYš†JvÞHNiÜaϚɖnFQlšNM¤ˆB´ĄNöɂtp–Ŭdf先‹qm¿QûŠùއÚb¤uŃJŴu»¹Ą•lȖħŴw̌ŵ²ǹǠ͛hĭłƕrçü±Y™xci‡tğ®jű¢KOķ•Coy`å®VTa­_Ā]ŐÝɞï²ʯÊ^]afYǸÃĆēĪȣJđ͍ôƋĝÄ͎ī‰çÛɈǥ£­ÛmY`ó£Z«§°Ó³QafusNıDž_k}¢m[ÝóDµ—¡RLčiXy‡ÅNïă¡¸iĔϑNÌŕoēdōîåŤûHcs}~Ûwbù¹£¦ÓCt‹OPrƒE^ÒoŠg™ĉIµžÛÅʹK…¤½phMŠü`o怆ŀ\"],\"encodeOffsets\":[[121740,32276]]},\"properties\":{\"cp\":[118.767413,32.041544],\"name\":\"江苏\",\"childNum\":1}},{\"id\":\"330000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@E^dQ]K\"],[\"@@jX^j‡\"],[\"@@sfŠbU‡\"],[\"@@qP\\\\xz[ck\"],[\"@@‘Rƒ¢‚FX}°[s_\"],[\"@@Cbœ\\\\—}\"],[\"@@e|v\\\\la{u\"],[\"@@v~u}\"],[\"@@QxÂF¯}\"],[\"@@¹nŒvÞs¯o\"],[\"@@rSkUEj\"],[\"@@bi­ZŒP\"],[\"@@p[}INf\"],[\"@@À¿€\"],[\"@@¹dnbŒ…\"],[\"@@rSŸBnR\"],[\"@@g~h}\"],[\"@@FlEk\"],[\"@@OdPc\"],[\"@@v[u\\\\\"],[\"@@FjâL~wyoo~›sµL–\\\\\"],[\"@@¬e¹aNˆ\"],[\"@@\\\\nÔ¡q]L³ë\\\\ÿ®ŒQ֎\"],[\"@@ÊA­©[¬\"],[\"@@KxŒv­\"],[\"@@@hlIk]\"],[\"@@pW{o||j\"],[\"@@Md|_mC\"],[\"@@¢…X£ÏylD¼XˆtH\"],[\"@@hlÜ[LykAvyfw^Ež›¤\"],[\"@@fp¤Mus“R\"],[\"@@®_ma~•LÁ¬šZ\"],[\"@@iM„xZ\"],[\"@@ZcYd\"],[\"@@Z~dOSo|A¿qZv\"],[\"@@@`”EN¡v\"],[\"@@|–TY{\"],[\"@@@n@m\"],[\"@@XWkCT\\\\\"],[\"@@ºwšZRkĕWO¢\"],[\"@@™X®±Grƪ\\\\ÔáXq{‹\"],[\"@@ůTG°ĄLHm°UC‹\"],[\"@@¤Ž€aÜx~}dtüGæţŎíĔcŖpMËВjē¢·ðĄÆMzˆjWKĎ¢Q¶˜À_꒔_Bı€i«pZ€gf€¤Nrq]§ĂN®«H±‡yƳí¾×ŸīàLłčŴǝĂíÀBŖÕªˆŠÁŖHŗʼnåqûõi¨hÜ·ƒñt»¹ýv_[«¸m‰YL¯‰Qª…mĉÅdMˆ•gÇjcº«•ęœ¬­K­´ƒB«Âącoċ\\\\xKd¡gěŧ«®á’[~ıxu·Å”KsËɏc¢Ù\\\\ĭƛëbf¹­ģSƒĜkáƉÔ­ĈZB{ŠaM‘µ‰fzʼnfåÂŧįƋǝÊĕġć£g³ne­ą»@­¦S®‚\\\\ßðCšh™iqªĭiAu‡A­µ”_W¥ƣO\\\\lċĢttC¨£t`ˆ™PZäuXßBs‡Ļyek€OđġĵHuXBšµ]׌‡­­\\\\›°®¬F¢¾pµ¼kŘó¬Wät’¸|@ž•L¨¸µr“ºù³Ù~§WI‹ŸZWŽ®’±Ð¨ÒÉx€`‰²pĜ•rOògtÁZ}þÙ]„’¡ŒŸFK‚wsPlU[}¦Rvn`hq¬\\\\”nQ´ĘRWb”‚_ rtČFI֊kŠŠĦPJ¶ÖÀÖJĈĄTĚòžC ²@Pú…Øzœ©PœCÈڜĒ±„hŖ‡l¬â~nm¨f©–iļ«m‡nt–u†ÖZÜÄj“ŠLŽ®E̜Fª²iÊxبžIÈhhst\"],[\"@@o\\\\V’zRZ}y\"],[\"@@†@°¡mۛGĕ¨§Ianá[ýƤjfæ‡ØL–•äGr™\"]],\"encodeOffsets\":[[[125592,31553]],[[125785,31436]],[[125729,31431]],[[125513,31380]],[[125223,30438]],[[125115,30114]],[[124815,29155]],[[124419,28746]],[[124095,28635]],[[124005,28609]],[[125000,30713]],[[125111,30698]],[[125078,30682]],[[125150,30684]],[[124014,28103]],[[125008,31331]],[[125411,31468]],[[125329,31479]],[[125626,30916]],[[125417,30956]],[[125254,30976]],[[125199,30997]],[[125095,31058]],[[125083,30915]],[[124885,31015]],[[125218,30798]],[[124867,30838]],[[124755,30788]],[[124802,30809]],[[125267,30657]],[[125218,30578]],[[125200,30562]],[[124968,30474]],[[125167,30396]],[[124955,29879]],[[124714,29781]],[[124762,29462]],[[124325,28754]],[[123990,28459]],[[125366,31477]],[[125115,30363]],[[125369,31139]],[[122495,31878]],[[125329,30690]],[[125192,30787]]]},\"properties\":{\"cp\":[120.153576,30.287459],\"name\":\"浙江\",\"childNum\":45}},{\"id\":\"340000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@^iuLX^\"],[\"@@‚e©Ehl\"],[\"@@°ZÆëϵmkǀwÌÕæhºgBĝâqÙĊz›ÖgņtÀÁÊÆá’hEz|WzqD¹€Ÿ°E‡ŧl{ævÜcA`¤C`|´qžxIJkq^³³ŸGšµbƒíZ…¹qpa±ď OH—¦™Ħˆx¢„gPícOl_iCveaOjCh߸i݋bÛªCC¿€m„RV§¢A|t^iĠGÀtÚs–d]ĮÐDE¶zAb àiödK¡~H¸íæAžǿYƒ“j{ď¿‘™À½W—®£ChŒÃsiŒkkly]_teu[bFa‰Tig‡n{]Gqªo‹ĈMYá|·¥f¥—őaSÕė™NµñĞ«ImŒ_m¿Âa]uĜp …Z_§{Cƒäg¤°r[_Yj‰ÆOdý“[ŽI[á·¥“Q_n‡ùgL¾mv™ˊBÜƶĊJhšp“c¹˜O]iŠ]œ¥ jtsggJǧw×jÉ©±›EFˍ­‰Ki”ÛÃÕYv…s•ˆm¬njĻª•§emná}k«ŕˆƒgđ²Ù›DǤ›í¡ªOy›†×Où±@DŸñSęćăÕIÕ¿IµĥO‰‰jNÕËT¡¿tNæŇàåyķrĕq§ÄĩsWÆߎF¶žX®¿‰mŒ™w…RIޓfßoG‘³¾©uyH‘į{Ɓħ¯AFnuP…ÍÔzšŒV—dàôº^Ðæd´€‡oG¤{S‰¬ćxã}›ŧ×Kǥĩ«žÕOEзÖdÖsƘѨ[’Û^Xr¢¼˜§xvěƵ`K”§ tÒ´Cvlo¸fzŨð¾NY´ı~ÉĔē…ßúLÃϖ_ÈÏ|]ÂÏFl”g`bšežž€n¾¢pU‚h~ƴĖ¶_‚r sĄ~cž”ƈ]|r c~`¼{À{ȒiJjz`îÀT¥Û³…]’u}›f…ïQl{skl“oNdŸjŸäËzDvčoQŠďHI¦rb“tHĔ~BmlRš—V_„ħTLnñH±’DžœL‘¼L˜ªl§Ťa¸ŒĚlK²€\\\\RòvDcÎJbt[¤€D@®hh~kt°ǾzÖ@¾ªdb„YhüóZ ň¶vHrľ\\\\ʗJuxAT|dmÀO„‹[ÃԋG·ĚąĐlŪÚpSJ¨ĸˆLvÞcPæķŨŽ®mАˆálŸwKhïgA¢ųƩޖ¤OȜm’°ŒK´\"]],\"encodeOffsets\":[[[121722,32278]],[[119475,30423]],[[119168,35472]]]},\"properties\":{\"cp\":[117.283042,31.86119],\"name\":\"安徽\",\"childNum\":3}},{\"id\":\"350000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@“zht´‡]\"],[\"@@aj^~ĆG—©O\"],[\"@@ed¨„C}}i\"],[\"@@@vˆPGsQ\"],[\"@@‰sBz‚ddW]Q\"],[\"@@SŽ¨Q“{\"],[\"@@NŽVucW\"],[\"@@qptBAq\"],[\"@@‰’¸[mu\"],[\"@@Q\\\\pD]_\"],[\"@@jSwUadpF\"],[\"@@eXª~ƒ•\"],[\"@@AjvFso\"],[\"@@fT–›_Çí\\\\Ÿ™—v|ba¦jZÆy€°\"],[\"@@IjJi\"],[\"@@wJI€ˆxš«¼AoNe{M­\"],[\"@@K‰±¡Óˆ”ČäeZ\"],[\"@@k¡¹Eh~c®wBk‹UplÀ¡I•~Māe£bN¨gZý¡a±Öcp©PhžI”Ÿ¢Qq…ÇGj‹|¥U™ g[Ky¬ŏ–v@OpˆtÉEŸF„\\\\@ åA¬ˆV{Xģ‰ĐBy…cpě…¼³Ăp·¤ƒ¥o“hqqÚ¡ŅLsƒ^ᗞ§qlŸÀhH¨MCe»åÇGD¥zPO£čÙkJA¼ß–ėu›ĕeûҍiÁŧSW¥˜QŠûŗ½ùěcݧSùĩąSWó«íęACµ›eR—åǃRCÒÇZÍ¢‹ź±^dlsŒtjD¸•‚ZpužÔâÒH¾oLUêÃÔjjēò´ĄW‚ƛ…^Ñ¥‹ĦŸ@Çò–ŠmŒƒOw¡õyJ†yD}¢ďÑÈġfŠZd–a©º²z£šN–ƒjD°Ötj¶¬ZSÎ~¾c°¶Ðm˜x‚O¸¢Pl´žSL|¥žA†ȪĖM’ņIJg®áIJČĒü` ŽQF‡¬h|ÓJ@zµ |ê³È ¸UÖŬŬÀEttĸr‚]€˜ðŽM¤ĶIJHtÏ A’†žĬkvsq‡^aÎbvŒd–™fÊòSD€´Z^’xPsÞrv‹ƞŀ˜jJd×ŘÉ ®A–ΦĤd€xĆqAŒ†ZR”ÀMźŒnĊ»ŒİÐZ— YX–æJŠyĊ²ˆ·¶q§·–K@·{s‘Xãô«lŗ¶»o½E¡­«¢±¨Yˆ®Ø‹¶^A™vWĶGĒĢžPlzfˆļŽtàAvWYãšO_‡¤sD§ssČġ[kƤPX¦Ž`¶“ž®ˆBBvĪjv©šjx[L¥àï[F…¼ÍË»ğV`«•Ip™}ccÅĥZE‹ãoP…´B@ŠD—¸m±“z«Ƴ—¿å³BRضˆœWlâþäą`“]Z£Tc— ĹGµ¶H™m@_©—kŒ‰¾xĨ‡ôȉðX«½đCIbćqK³Á‹Äš¬OAwã»aLʼn‡ËĥW[“ÂGI—ÂNxij¤D¢ŽîĎÎB§°_JœGsƒ¥E@…¤uć…P‘å†cuMuw¢BI¿‡]zG¹guĮck\\\\_\"]],\"encodeOffsets\":[[[123250,27563]],[[122541,27268]],[[123020,27189]],[[122916,27125]],[[122887,26845]],[[122808,26762]],[[122568,25912]],[[122778,26197]],[[122515,26757]],[[122816,26587]],[[123388,27005]],[[122450,26243]],[[122578,25962]],[[121255,25103]],[[120987,24903]],[[122339,25802]],[[121042,25093]],[[122439,26024]]]},\"properties\":{\"cp\":[119.306239,26.075302],\"name\":\"福建\",\"childNum\":18}},{\"id\":\"360000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@ĢĨƐgļˆ¼ÂMD~ņªe^\\\\^§„ý©j׍cZ†Ø¨zdÒa¶ˆlҍJŒìõ`oz÷@¤u޸´†ôęöY¼‰HČƶajlÞƩ¥éZ[”|h}^U Œ ¥p„ĄžƦO lt¸Æ €Q\\\\€ŠaÆ|CnÂOjt­ĚĤd’ÈŒF`’¶„@Ð딠¦ōҞ¨Sêv†HĢûXD®…QgėWiØPÞìºr¤dž€NĠ¢l–•ĄtZoœCƞÔºCxrpĠV®Ê{f_Y`_ƒeq’’®Aot`@o‚DXfkp¨|Šs¬\\\\D‘ÄSfè©Hn¬…^DhÆyøJh“ØxĢĀLʈ„ƠPżċĄwȠ̦G®ǒĤäTŠÆ~ĦwŠ«|TF¡Šn€c³Ïå¹]ĉđxe{ÎӐ†vOEm°BƂĨİ|G’vz½ª´€H’àp”eJ݆Qšxn‹ÀŠW­žEµàXÅĪt¨ÃĖrÄwÀFÎ|ňÓMå¼ibµ¯»åDT±m[“r«_gŽmQu~¥V\\\\OkxtL E¢‹ƒ‘Ú^~ýê‹Pó–qo슱_Êw§ÑªåƗā¼‹mĉŹ‹¿NQ“…YB‹ąrwģcÍ¥B•Ÿ­ŗÊcØiI—žƝĿuŒqtāwO]‘³YCñTeɕš‹caub͈]trlu€ī…B‘ПGsĵıN£ï—^ķqss¿FūūV՟·´Ç{éĈý‰ÿ›OEˆR_ŸđûIċâJh­ŅıN‘ȩĕB…¦K{Tk³¡OP·wn—µÏd¯}½TÍ«YiµÕsC¯„iM•¤™­•¦¯P|ÿUHv“he¥oFTu‰õ\\\\ŽOSs‹MòđƇiaºćXŸĊĵà·çhƃ÷ǜ{‘ígu^›đg’m[×zkKN‘¶Õ»lčÓ{XSƉv©_ÈëJbVk„ĔVÀ¤P¾ºÈMÖxlò~ªÚàGĂ¢B„±’ÌŒK˜y’áV‡¼Ã~­…`g›ŸsÙfI›Ƌlę¹e|–~udjˆuTlXµf`¿JdŠ[\\\\˜„L‚‘²\"],\"encodeOffsets\":[[116689,26234]]},\"properties\":{\"cp\":[115.892151,28.676493],\"name\":\"江西\",\"childNum\":1}},{\"id\":\"370000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@Xjd]{K\"],[\"@@itbFHy\"],[\"@@HlGk\"],[\"@@T‚ŒGŸy\"],[\"@@K¬˜•‹U\"],[\"@@WdXc\"],[\"@@PtOs\"],[\"@@•LnXhc\"],[\"@@ppVƒu]Or\"],[\"@@cdzAUa\"],[\"@@udRhnCI‡\"],[\"@@ˆoIƒpR„\"],[\"@@Ľč{fzƤî’Kš–ÎMĮ]†—ZFˆ½Y]â£ph’™š¶¨râøÀ†ÎǨ¤^ºÄ”Gzˆ~grĚĜlĞƄLĆdž¢Îo¦–cv“Kb€gr°Wh”mZp ˆL]LºcU‰Æ­n”żĤÌĒœbAnrOAœ´žȊcÀbƦUØrĆUÜøœĬƞ†š˜Ez„VL®öØBkŖÝĐĖ¹ŧ̄±ÀbÎɜnb²ĦhņBĖ›žįĦåXćì@L¯´ywƕCéõė ƿ¸‘lµ¾Z|†ZWyFYŸ¨Mf~C¿`€à_RÇzwƌfQnny´INoƬˆèôº|sT„JUš›‚L„îVj„ǎ¾Ē؍‚Dz²XPn±ŴPè¸ŔLƔÜƺ_T‘üÃĤBBċȉöA´fa„˜M¨{«M`‡¶d¡ô‰Ö°šmȰBÔjjŒ´PM|”c^d¤u•ƒ¤Û´Œä«ƢfPk¶Môlˆ]Lb„}su^ke{lC‘…M•rDŠÇ­]NÑFsmoõľH‰yGă{{çrnÓE‰‹ƕZGª¹Fj¢ïW…uøCǷ돡ąuhÛ¡^Kx•C`C\\\\bÅxì²ĝÝ¿_N‰īCȽĿåB¥¢·IŖÕy\\\\‡¹kx‡Ã£Č×GDyÕ¤ÁçFQ¡„KtŵƋ]CgÏAùSed‡cÚź—ŠuYfƒyMmhUWpSyGwMPqŀ—›Á¼zK›¶†G•­Y§Ëƒ@–´śÇµƕBmœ@Io‚g——Z¯u‹TMx}C‘‰VK‚ï{éƵP—™_K«™pÛÙqċtkkù]gŽ‹Tğwo•ɁsMõ³ă‡AN£™MRkmEʕč™ÛbMjÝGu…IZ™—GPģ‡ãħE[iµBEuŸDPԛ~ª¼ętŠœ]ŒûG§€¡QMsğNPŏįzs£Ug{đJĿļā³]ç«Qr~¥CƎÑ^n¶ÆéÎR~Ż¸Y’I“] P‰umŝrƿ›‰›Iā‹[x‰edz‹L‘¯v¯s¬ÁY…~}…ťuŁŒg›ƋpÝĄ_ņī¶ÏSR´ÁP~ž¿Cyžċßdwk´Ss•X|t‰`Ä Èð€AªìÎT°¦Dd–€a^lĎDĶÚY°Ž`ĪŴǒˆ”àŠv\\\\ebŒZH„ŖR¬ŢƱùęO•ÑM­³FۃWp[ƒ\"]],\"encodeOffsets\":[[[123806,39303]],[[123821,39266]],[[123742,39256]],[[123702,39203]],[[123649,39066]],[[123847,38933]],[[123580,38839]],[[123894,37288]],[[123043,36624]],[[123344,38676]],[[123522,38857]],[[123628,38858]],[[118260,36742]]]},\"properties\":{\"cp\":[117.000923,36.675807],\"name\":\"山东\",\"childNum\":13}},{\"id\":\"410000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@•ýL™ùµP³swIÓxcŢĞð†´E®žÚPt†ĴXØx¶˜@«ŕŕQGƒ‹Yfa[şu“ßǩ™đš_X³ijÕčC]kbc•¥CS¯ëÍB©÷‹–³­Siˆ_}m˜YTtž³xlàcȂzÀD}ÂOQ³ÐTĨ¯†ƗòËŖ[hœł‹Ŧv~††}ÂZž«¤lPǕ£ªÝŴÅR§ØnhcŒtâk‡nύ­ľŹUÓÝdKuķ‡I§oTũÙďkęĆH¸ÓŒ\\\\ăŒ¿PcnS{wBIvɘĽ[GqµuŸŇôYgûƒZcaŽ©@½Õǽys¯}lgg@­C\\\\£as€IdÍuCQñ[L±ęk·‹ţb¨©kK—’»›KC²‘òGKmĨS`ƒ˜UQ™nk}AGē”sqaJ¥ĐGR‰ĎpCuÌy ã iMc”plk|tRk†ðœev~^‘´†¦ÜŽSí¿_iyjI|ȑ|¿_»d}qŸ^{“Ƈdă}Ÿtqµ`Ƴĕg}V¡om½fa™Ço³TTj¥„tĠ—Ry”K{ùÓjuµ{t}uËR‘iŸvGŠçJFjµŠÍyqΘàQÂFewixGw½Yŷpµú³XU›½ġy™łå‰kÚwZXˆ·l„¢Á¢K”zO„Λ΀jc¼htoDHr…|­J“½}JZ_¯iPq{tę½ĕ¦Zpĵø«kQ…Ťƒ]MÛfaQpě±ǽ¾]u­Fu‹÷nƒ™čįADp}AjmcEǒaª³o³ÆÍSƇĈÙDIzˑ赟^ˆKLœ—i—Þñ€[œƒaA²zz‰Ì÷Dœ|[šíijgf‚ÕÞd®|`ƒĆ~„oĠƑô³Ŋ‘D×°¯CsŠøÀ«ì‰UMhTº¨¸ǡîS–Ô„DruÂÇZ•ÖEŽ’vPZ„žW”~؋ÐtĄE¢¦Ðy¸bŠô´oŬ¬Ž²Ês~€€]®tªašpŎJ¨Öº„_ŠŔ–`’Ŗ^Ѝ\\\\Ĝu–”~m²Ƹ›¸fW‰ĦrƔ}Î^gjdfÔ¡J}\\\\n C˜¦þWxªJRÔŠu¬ĨĨmF†dM{\\\\d\\\\ŠYÊ¢ú@@¦ª²SŠÜsC–}fNècbpRmlØ^g„d¢aÒ¢CZˆZxvÆ¶N¿’¢T@€uCœ¬^ĊðÄn|žlGl’™Rjsp¢ED}€Fio~ÔNŽ‹„~zkĘHVsDzßjƒŬŒŠŢ`Pûàl¢˜\\\\ÀœEhŽİgÞē X¼Pk–„|m\"],\"encodeOffsets\":[[118256,37017]]},\"properties\":{\"cp\":[113.665412,34.757975],\"name\":\"河南\",\"childNum\":1}},{\"id\":\"420000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@AB‚\"],[\"@@lskt\"],[\"@@¾«}{ra®pîÃ\\\\™›{øCŠËyyB±„b\\\\›ò˜Ý˜jK›‡L ]ĎĽÌ’JyÚCƈćÎT´Å´pb©È‘dFin~BCo°BĎĚømvŒ®E^vǾ½Ĝ²Ro‚bÜeNŽ„^ĺ£R†¬lĶ÷YoĖ¥Ě¾|sOr°jY`~I”¾®I†{GqpCgyl{‡£œÍƒÍyPL“¡ƒ¡¸kW‡xYlÙ抚ŁĢzœ¾žV´W¶ùŸo¾ZHxjwfx„GNÁ•³Xéæl¶‰EièIH‰ u’jÌQ~v|sv¶Ôi|ú¢Fh˜Qsğ¦ƒSiŠBg™ÐE^ÁÐ{–čnOÂȞUÎóĔ†ÊēIJ}Z³½Mŧïeyp·uk³DsѨŸL“¶_œÅuèw»—€¡WqÜ]\\\\‘Ò§tƗcÕ¸ÕFÏǝĉăxŻČƟO‡ƒKÉġÿ×wg”÷IÅzCg†]m«ªGeçÃTC’«[‰t§{loWeC@ps_Bp‘­r‘„f_``Z|ei¡—oċMqow€¹DƝӛDYpûs•–‹Ykıǃ}s¥ç³[§ŸcYŠ§HK„«Qy‰]¢“wwö€¸ïx¼ņ¾Xv®ÇÀµRĠЋžHMž±cÏd„ƒǍũȅȷ±DSyúĝ£ŤĀàtÖÿï[îb\\\\}pĭÉI±Ñy…¿³x¯N‰o‰|¹H™ÏÛm‹júË~Tš•u˜ęjCöAwě¬R’đl¯ Ñb­‰ŇT†Ŀ_[Œ‘IčĄʿnM¦ğ\\\\É[T·™k¹œ©oĕ@A¾w•ya¥Y\\\\¥Âaz¯ãÁ¡k¥ne£Ûw†E©Êō¶˓uoj_Uƒ¡cF¹­[Wv“P©w—huÕyBF“ƒ`R‹qJUw\\\\i¡{jŸŸEPïÿ½fć…QÑÀQ{ž‚°‡fLԁ~wXg—ītêݾ–ĺ‘Hdˆ³fJd]‹HJ²…E€ƒoU¥†HhwQsƐ»Xmg±çve›]Dm͂PˆoCc¾‹_h”–høYrŊU¶eD°Č_N~øĹĚ·`z’]Äþp¼…äÌQŒv\\\\rCŒé¾TnkžŐڀÜa‡“¼ÝƆĢ¶Ûo…d…ĔňТJq’Pb ¾|JŒ¾fXŠƐîĨ_Z¯À}úƲ‹N_ĒĊ^„‘ĈaŐyp»CÇĕKŠšñL³ŠġMŒ²wrIÒŭxjb[œžn«øœ˜—æˆàƒ ^²­h¯Ú€ŐªÞ¸€Y²ĒVø}Ā^İ™´‚LŠÚm„¥ÀJÞ{JVŒųÞŃx×sxxƈē ģMř–ÚðòIf–Ċ“Œ\\\\Ʈ±ŒdʧĘD†vČ_Àæ~DŒċ´A®µ†¨ØLV¦êHÒ¤\"]],\"encodeOffsets\":[[[113712,34000]],[[115612,30507]],[[113649,34054]]]},\"properties\":{\"cp\":[114.298572,30.584355],\"name\":\"湖北\",\"childNum\":3}},{\"id\":\"430000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@—n„FTs\"],[\"@@ßÅÆችÔXr—†CO™“…ËR‘ïÿĩ­TooQyšÓ[‹ŅBE¬–ÎÓXa„į§Ã¸G °ITxp‰úxÚij¥Ïš–Ģ¾ŠedžÄ©ĸG…œàGh‚€M¤–Â_U}Ċ}¢pczfŠþg¤€”ÇòAV‘‹M\"],[\"@@©K—ƒA·³CQ±Á«³BUŠƑ¹AŠtćOw™D]ŒJiØSm¯b£‘ylƒ›X…HËѱH•«–‘C^õľA–Å§¤É¥„ïyuǙuA¢^{ÌC´­¦ŷJ£^[†“ª¿‡ĕ~•Ƈ…•N… skóā‡¹¿€ï]ă~÷O§­@—Vm¡‹Qđ¦¢Ĥ{ºjԏŽŒª¥nf´•~ÕoŸž×Ûą‹MąıuZœmZcÒ IJĪ²SÊDŽŶ¨ƚƒ’CÖŎªQؼrŭŽ­«}NÏürʬŒmjr€@ĘrTW ­SsdHzƓ^ÇÂyUi¯DÅYlŹu{hTœ}mĉ–¹¥ě‰Dÿë©ıÓ[Oº£ž“¥ót€ł¹MՄžƪƒ`Pš…Di–ÛUŠ¾Å‌ìˆU’ñB“È£ýhe‰dy¡oċ€`pfmjP~‚kZa…ZsÐd°wj§ƒ@€Ĵ®w~^‚kÀÅKvNmX\\\\¨a“”сqvíó¿F„¤¡@ũÑVw}S@j}¾«pĂr–ªg àÀ²NJ¶¶Dô…K‚|^ª†Ž°LX¾ŴäPĪ±œ£EXd›”^¶›IJÞܓ~‘u¸ǔ˜Ž›MRhsR…e†`ÄofIÔ\\\\Ø  i”ćymnú¨cj ¢»–GČìƊÿШXeĈĀ¾Oð Fi ¢|[jVxrIQŒ„_E”zAN¦zLU`œcªx”OTu RLÄ¢dV„i`p˔vŎµªÉžF~ƒØ€d¢ºgİàw¸Áb[¦Zb¦–z½xBĖ@ªpº›šlS¸Ö\\\\Ĕ[N¥ˀmĎă’J\\\\‹ŀ`€…ňSڊĖÁĐiO“Ĝ«BxDõĚiv—ž–S™Ì}iùŒžÜnšÐºGŠ{Šp°M´w†ÀÒzJ²ò¨ oTçüöoÛÿñŽőФ‚ùTz²CȆȸǎŪƒƑÐc°dPÎŸğ˶[Ƚu¯½WM¡­Éž“’B·rížnZŸÒ `‡¨GA¾\\\\pē˜XhÆRC­üWGġu…T靧Ŏѝ©ò³I±³}_‘‹EÃħg®ęisÁPDmÅ{‰b[Rşs·€kPŸŽƥƒóRo”O‹ŸVŸ~]{g\\\\“êYƪ¦kÝbiċƵŠGZ»Ěõ…ó·³vŝž£ø@pyö_‹ëŽIkѵ‡bcѧy…×dY؎ªiþž¨ƒ[]f]Ņ©C}ÁN‡»hĻħƏ’ĩ\"]],\"encodeOffsets\":[[[115640,30489]],[[112543,27312]],[[116690,26230]]]},\"properties\":{\"cp\":[112.982279,28.19409],\"name\":\"湖南\",\"childNum\":3}},{\"id\":\"440000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@QdˆAua\"],[\"@@ƒlxDLo\"],[\"@@sbhNLo\"],[\"@@Ă āŸ\"],[\"@@WltO[[\"],[\"@@Krœ]S\"],[\"@@e„„I]y\"],[\"@@I|„Mym\"],[\"@@ƒÛ³LSŒž¼Y\"],[\"@@nvºB–ëui©`¾\"],[\"@@zdšÛ›Jw®\"],[\"@@†°…¯\"],[\"@@a yAª¸ËJIx،@€ĀHAmßV¡o•fu•o\"],[\"@@šs‰ŗÃÔėAƁ›ZšÄ ~°ČP‚‹äh\"],[\"@@‹¶Ý’Ì‚vmĞh­ı‡Q\"],[\"@@HœŠdSjĒ¢D}war…“u«ZqadYM\"],[\"@@elŒ\\\\LqqU\"],[\"@@~rMo\\\\\"],[\"@@f„^ƒC\"],[\"@@øPªoj÷ÍÝħXČx”°Q¨ıXNv\"],[\"@@gÇƳˆŽˆ”oˆŠˆ[~tly\"],[\"@@E–ÆC¿‘\"],[\"@@OŽP\"],[\"@@w‹†đóg‰™ĝ—[³‹¡VÙæÅöM̳¹pÁaËýý©D©Ü“JŹƕģGą¤{Ùū…ǘO²«BƱéA—Ò‰ĥ‡¡«BhlmtÃPµyU¯uc“d·w_bŝcīímGOŽ|KP’ȏ‡ŹãŝIŕŭŕ@Óoo¿ē‹±ß}Ž…ŭ‚ŸIJWÈCőâUâǙI›ğʼn©I›ijEׅÁ”³Aó›wXJþ±ÌŒÜӔĨ£L]ĈÙƺZǾĆĖMĸĤfŒÎĵl•ŨnȈ‘ĐtF”Š–FĤ–‚êk¶œ^k°f¶gŠŽœ}®Fa˜f`vXŲxl˜„¦–ÔÁ²¬ÐŸ¦pqÊ̲ˆi€XŸØRDÎ}†Ä@ZĠ’s„x®AR~®ETtĄZ†–ƈfŠŠHâÒÐA†µ\\\\S¸„^wĖkRzŠalŽŜ|E¨ÈNĀňZTŒ’pBh£\\\\ŒĎƀuXĖtKL–¶G|Ž»ĺEļĞ~ÜĢÛĊrˆO˜Ùîvd]nˆ¬VœÊĜ°R֟pM††–‚ƂªFbwžEÀˆ˜©Œž\\\\…¤]ŸI®¥D³|ˎ]CöAŤ¦…æ’´¥¸Lv¼€•¢ĽBaô–F~—š®²GÌҐEY„„œzk¤’°ahlV՞I^‹šCxĈPŽsB‰ƒºV‰¸@¾ªR²ĨN]´_eavSi‡vc•}p}Đ¼ƌkJœÚe thœ†_¸ ºx±ò_xN›Ë‹²‘@ƒă¡ßH©Ùñ}wkNÕ¹ÇO½¿£ĕ]ly_WìIžÇª`ŠuTÅxYĒÖ¼k֞’µ‚MžjJÚwn\\\\h‘œĒv]îh|’È›Ƅøègž¸Ķß ĉĈWb¹ƀdéʌNTtP[ŠöSvrCZžžaGuœbo´ŖÒÇА~¡zCI…özx¢„Pn‹•‰Èñ @ŒĥÒ¦†]ƞŠV}³ăĔñiiÄÓVépKG½Ä‘ÓávYo–C·sit‹iaÀy„ŧΡÈYDÑům}‰ý|m[węõĉZÅxUO}÷N¹³ĉo_qtă“qwµŁYلǝŕ¹tïÛUïmRCº…ˆĭ|µ›ÕÊK™½R‘ē ó]‘–GªęAx–»HO£|ām‡¡diď×YïYWªʼnOeÚtĐ«zđ¹T…ā‡úE™á²\\\\‹ķÍ}jYàÙÆſ¿Çdğ·ùTßÇţʄ¡XgWÀLJğ·¿ÃˆOj YÇ÷Qě‹i\"]],\"encodeOffsets\":[[[117381,22988]],[[116552,22934]],[[116790,22617]],[[116973,22545]],[[116444,22536]],[[116931,22515]],[[116496,22490]],[[116453,22449]],[[113301,21439]],[[118726,21604]],[[118709,21486]],[[113210,20816]],[[115482,22082]],[[113171,21585]],[[113199,21590]],[[115232,22102]],[[115739,22373]],[[115134,22184]],[[113056,21175]],[[119573,21271]],[[119957,24020]],[[115859,22356]],[[116561,22649]],[[116285,22746]]]},\"properties\":{\"cp\":[113.280637,23.125178],\"name\":\"广东\",\"childNum\":24}},{\"id\":\"450000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@H– TQ§•A\"],[\"@@ĨʪƒLƒƊDÎĹĐCǦė¸zÚGn£¾›rªŀÜt¬@֛ڈSx~øOŒ˜ŶÐÂæȠ\\\\„ÈÜObĖw^oބLf¬°bI lTØB̈F£Ć¹gñĤaY“t¿¤VSñœK¸¤nM†¼‚JE±„½¸šŠño‹ÜCƆæĪ^ŠĚQÖ¦^‡ˆˆf´Q†üÜʝz¯šlzUĺš@쇀p¶n]sxtx¶@„~ÒĂJb©gk‚{°‚~c°`ԙ¬rV\\\\“la¼¤ôá`¯¹LC†ÆbŒxEræO‚v[H­˜„[~|aB£ÖsºdAĐzNÂðsŽÞƔ…Ĥªbƒ–ab`ho¡³F«èVloŽ¤™ÔRzpp®SŽĪº¨ÖƒºN…ij„d`’a”¦¤F³ºDÎńĀìŠCžĜº¦Ċ•~nS›|gźvZkCÆj°zVÈÁƔ]LÊFZg…čP­kini«‹qǀcz͔Y®¬Ů»qR×ō©DՄ‘§ƙǃŵTÉĩ±ŸıdÑnYY›IJvNĆƌØÜ Öp–}e³¦m‹©iÓ|¹Ÿħņ›|ª¦QF¢Â¬ʖovg¿em‡^ucà÷gՎuŒíÙćĝ}FĻ¼Ĺ{µHK•sLSđƃr‹č¤[Ag‘oS‹ŇYMÿ§Ç{Fśbky‰lQxĕƒ]T·¶[B…ÑÏGáşşƇe€…•ăYSs­FQ}­Bƒw‘tYğÃ@~…C̀Q ×W‡j˱rÉ¥oÏ ±«ÓÂ¥•ƒ€k—ŽwWűŒmcih³K›~‰µh¯e]lµ›él•Eģ‰•E“ďs‡’mǖŧē`ãògK_ÛsUʝ“ćğ¶hŒöŒO¤Ǜn³Žc‘`¡y‹¦C‘ez€YŠwa™–‘[ďĵűMę§]X˜Î_‚훘Û]é’ÛUćİÕBƣ±…dƒy¹T^džûÅÑŦ·‡PĻþÙ`K€¦˜…¢ÍeœĥR¿Œ³£[~Œäu¼dl‰t‚†W¸oRM¢ď\\\\zœ}Æzdvň–{ÎXF¶°Â_„ÒÂÏL©Ö•TmuŸ¼ãl‰›īkiqéfA„·Êµ\\\\őDc¥ÝF“y›Ôć˜c€űH_hL܋êĺШc}rn`½„Ì@¸¶ªVLŒŠhŒ‹\\\\•Ţĺk~ŽĠið°|gŒtTĭĸ^x‘vK˜VGréAé‘bUu›MJ‰VÃO¡…qĂXËS‰ģãlýàŸ_ju‡YÛÒB†œG^˜é֊¶§ŽƒEG”ÅzěƒƯ¤Ek‡N[kdåucé¬dnYpAyČ{`]þ¯T’bÜÈk‚¡Ġ•vŒàh„ÂƄ¢J\"]],\"encodeOffsets\":[[[111707,21520]],[[107619,25527]]]},\"properties\":{\"cp\":[108.320004,22.82402],\"name\":\"广西\",\"childNum\":2}},{\"id\":\"460000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@š¦Ŝil¢”XƦ‘ƞò–ïè§ŞCêɕrŧůÇąĻõ™·ĉ³œ̅kÇm@ċȧƒŧĥ‰Ľʉ­ƅſ“ȓÒ˦ŝE}ºƑ[ÍĜȋ gÎfǐÏĤ¨êƺ\\\\Ɔ¸ĠĎvʄȀœÐ¾jNðĀÒRŒšZdž™zÐŘΰH¨Ƣb²_Ġ \"],\"encodeOffsets\":[[112750,20508]]},\"properties\":{\"cp\":[110.33119,20.031971],\"name\":\"海南\",\"childNum\":1}},{\"id\":\"510000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@LqKr\"],[\"@@Š[ĻéV£ž_ţġñpG •réÏ·~ąSfy×͂·ºſƽiÍıƣıĻmHH}siaX@iÇ°ÁÃ×t«ƒ­Tƒ¤J–JJŒyJ•ÈŠ`Ohߦ¡uËhIyCjmÿw…ZG……Ti‹SˆsO‰žB²ŸfNmsPaˆ{M{ŠõE‘^Hj}gYpaeuž¯‘oáwHjÁ½M¡pM“–uå‡mni{fk”\\\\oƒÎqCw†EZ¼K›ĝŠƒAy{m÷L‡wO×SimRI¯rK™õBS«sFe‡]fµ¢óY_ÆPRcue°Cbo׌bd£ŌIHgtrnyPt¦foaXďx›lBowz‹_{ÊéWiêE„GhܸºuFĈIxf®Ž•Y½ĀǙ]¤EyŸF²ċ’w¸¿@g¢§RGv»–áŸW`ÃĵJwi]t¥wO­½a[׈]`Ãi­üL€¦LabbTÀå’c}Íh™Æhˆ‹®BH€î|Ék­¤S†y£„ia©taį·Ɖ`ō¥Uh“O…ƒĝLk}©Fos‰´›Jm„µlŁu—…ø–nÑJWΪ–YÀïAetTžŅ‚ӍG™Ë«bo‰{ıwodƟ½ƒžOġܑµxàNÖ¾P²§HKv¾–]|•B‡ÆåoZ`¡Ø`ÀmºĠ~ÌЧnDž¿¤]wğ@sƒ‰rğu‰~‘Io”[é±¹ ¿žſđӉ@q‹gˆ¹zƱřaí°KtǤV»Ã[ĩǭƑ^ÇÓ@ỗs›Zϕ‹œÅĭ€Ƌ•ěpwDóÖሯneQˌq·•GCœýS]xŸ·ý‹q³•O՜Œ¶Qzßti{ř‰áÍÇWŝŭñzÇW‹pç¿JŒ™‚Xœĩè½cŒF–ÂLiVjx}\\\\N†ŇĖ¥Ge–“JA¼ÄHfÈu~¸Æ«dE³ÉMA|b˜Ò…˜ćhG¬CM‚õŠ„ƤąAvƒüV€éŀ‰_V̳ĐwQj´·ZeÈÁ¨X´Æ¡Qu·»Ÿ“˜ÕZ³ġqDo‰y`L¬gdp°şŠp¦ėìÅĮZŽ°Iä”h‚‘ˆzŠĵœf²å ›ĚрKp‹IN|‹„Ñz]ń……·FU×é»R³™MƒÉ»GM«€ki€™ér™}Ã`¹ăÞmȝnÁîRǀ³ĜoİzŔwǶVÚ£À]ɜ»ĆlƂ²Ġ…þTº·àUȞÏʦ¶†I’«dĽĢdĬ¿–»Ĕ׊h\\\\c¬†ä²GêëĤł¥ÀǿżÃÆMº}BÕĢyFVvw–ˆxBèĻĒ©Ĉ“tCĢɽŠȣ¦āæ·HĽî“ôNԓ~^¤Ɗœu„œ^s¼{TA¼ø°¢İªDè¾Ň¶ÝJ‘®Z´ğ~Sn|ªWÚ©òzPOȸ‚bð¢|‹øĞŠŒœŒQìÛÐ@Ğ™ǎRS¤Á§d…i“´ezÝúØã]Hq„kIŸþËQǦÃsǤ[E¬ÉŪÍxXƒ·ÖƁİlƞ¹ª¹|XÊwn‘ÆƄmÀêErĒtD®ċæcQƒ”E®³^ĭ¥©l}äQto˜ŖÜqƎkµ–„ªÔĻĴ¡@Ċ°B²Èw^^RsºTĀ£ŚæœQP‘JvÄz„^Đ¹Æ¯fLà´GC²‘dt˜­ĀRt¼¤ĦOðğfÔðDŨŁĞƘïžPȆ®âbMüÀXZ ¸£@Ś›»»QÉ­™]d“sÖ×_͖_ÌêŮPrĔĐÕGĂeZÜîĘqBhtO ¤tE[h|Y‹Ô‚ZśÎs´xº±UŒ’ñˆt|O’ĩĠºNbgþŠJy^dÂY Į„]Řz¦gC‚³€R`ĀŠz’¢AjŒ¸CL„¤RÆ»@­Ŏk\\\\Ç´£YW}z@Z}‰Ã¶“oû¶]´^N‡Ò}èN‚ª–P˜Íy¹`S°´†ATe€VamdUĐwʄvĮÕ\\\\ƒu‹Æŗ¨Yp¹àZÂm™Wh{á„}WØǍ•Éüw™ga§áCNęÎ[ĀÕĪgÖɪX˜øx¬½Ů¦¦[€—„NΆL€ÜUÖ´òrÙŠxR^–†J˜k„ijnDX{Uƒ~ET{ļº¦PZc”jF²Ė@Žp˜g€ˆ¨“B{ƒu¨ŦyhoÚD®¯¢˜ WòàFΤ¨GDäz¦kŮPœġq˚¥À]€Ÿ˜eŽâÚ´ªKxī„Pˆ—Ö|æ[xäJÞĥ‚s’NÖ½ž€I†¬nĨY´®Ð—ƐŠ€mD™ŝuäđđEb…e’e_™v¡}ìęNJē}q”É埁T¯µRs¡M@}ůa†a­¯wvƉåZwž\\\\Z{åû^›\"]],\"encodeOffsets\":[[[108815,30935]],[[110617,31811]]]},\"properties\":{\"cp\":[104.065735,30.659462],\"name\":\"四川\",\"childNum\":2}},{\"id\":\"520000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@†G\\\\†lY£‘in\"],[\"@@q‚|ˆ‚mc¯tχVSÎ\"],[\"@@hÑ£Is‡NgßH†›HªķÃh_¹ƒ¡ĝħń¦uيùŽgS¯JHŸ|sÝÅtÁïyMDč»eÕtA¤{b\\\\}—ƒG®u\\\\åPFq‹wÅaD…žK°ºâ_£ùbµ”mÁ‹ÛœĹM[q|hlaªāI}тƒµ@swtwm^oµˆD鼊yV™ky°ÉžûÛR…³‚‡eˆ‡¥]RՋěħ[ƅåÛDpŒ”J„iV™™‰ÂF²I…»mN·£›LbÒYb—WsÀbŽ™pki™TZĄă¶HŒq`……ĥ_JŸ¯ae«ƒKpÝx]aĕÛPƒÇȟ[ÁåŵÏő—÷Pw}‡TœÙ@Õs«ĿÛq©½œm¤ÙH·yǥĘĉBµĨÕnđ]K„©„œá‹ŸG纍§Õßg‡ǗĦTèƤƺ{¶ÉHÎd¾ŚÊ·OÐjXWrãLyzÉAL¾ę¢bĶėy_qMĔąro¼hĊžw¶øV¤w”²Ĉ]ʚKx|`ź¦ÂÈdr„cȁbe¸›`I¼čTF´¼Óýȃr¹ÍJ©k_șl³´_pН`oÒhŽ¶pa‚^ÓĔ}D»^Xyœ`d˜[Kv…JPhèhCrĂĚÂ^Êƌ wˆZL­Ġ£šÁbrzOIl’MM”ĪŐžËr×ÎeŦŽtw|Œ¢mKjSǘňĂStÎŦEtqFT†¾†E쬬ôxÌO¢Ÿ KŠ³ŀºäY†„”PVgŎ¦Ŋm޼VZwVlŒ„z¤…ž£Tl®ctĽÚó{G­A‡ŒÇgeš~Αd¿æaSba¥KKûj®_ć^\\\\ؾbP®¦x^sxjĶI_Ä X‚⼕Hu¨Qh¡À@Ëô}Ž±žGNìĎlT¸ˆ…`V~R°tbÕĊ`¸úÛtπFDu€[ƒMfqGH·¥yA‰ztMFe|R‚_Gk†ChZeÚ°to˜v`x‹b„ŒDnÐ{E}šZ˜è€x—†NEފREn˜[Pv@{~rĆAB§‚EO¿|UZ~ì„Uf¨J²ĂÝƀ‚sª–B`„s¶œfvö¦ŠÕ~dÔq¨¸º»uù[[§´sb¤¢zþFœ¢Æ…Àhˆ™ÂˆW\\\\ıŽËI݊o±ĭŠ£þˆÊs}¡R]ŒěƒD‚g´VG¢‚j±®è†ºÃmpU[Á›‘Œëº°r›ÜbNu¸}Žº¼‡`ni”ºÔXĄ¤¼Ôdaµ€Á_À…†ftQQgœR—‘·Ǔ’v”}Ýלĵ]µœ“Wc¤F²›OĩųãW½¯K‚©…]€{†LóµCIµ±Mß¿hŸ•©āq¬o‚½ž~@i~TUxŪÒ¢@ƒ£ÀEîôruń‚”“‚b[§nWuMÆLl¿]x}ij­€½\"]],\"encodeOffsets\":[[[112158,27383]],[[112105,27474]],[[112095,27476]]]},\"properties\":{\"cp\":[106.713478,26.578343],\"name\":\"贵州\",\"childNum\":3}},{\"id\":\"530000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@[„ùx½}ÑRH‘YīĺûsÍn‘iEoã½Ya²ė{c¬ĝg•ĂsA•ØÅwď‚õzFjw}—«Dx¿}UũlŸê™@•HÅ­F‰¨ÇoJ´Ónũuą¡Ã¢pÒŌ“Ø TF²‚xa²ËX€‚cʋlHîAßËŁkŻƑŷÉ©h™W­æßU‡“Ës¡¦}•teèƶStǀÇ}Fd£j‹ĈZĆÆ‹¤T‚č\\\\Dƒ}O÷š£Uˆ§~ŃG™‚åŃDĝ¸œTsd¶¶Bªš¤u¢ŌĎo~t¾ÍŶÒtD¦Ú„iôö‰€z›ØX²ghįh½Û±¯€ÿm·zR¦Ɵ`ªŊÃh¢rOԍ´£Ym¼èêf¯ŪĽn„†cÚbŒw\\\\zlvWžªâˆ ¦g–mĿBş£¢ƹřbĥkǫßeeZkÙIKueT»sVesb‘aĕ  ¶®dNœĄÄpªyŽ¼—„³BE˜®l‡ŽGœŭCœǶwêżĔÂe„pÍÀQƞpC„–¼ŲÈ­AÎô¶R„ä’Q^Øu¬°š_Èôc´¹ò¨P΢hlϦ´Ħ“Æ´sâDŽŲPnÊD^¯°’Upv†}®BP̪–jǬx–Söwlfòªv€qĸ|`H€­viļ€ndĜ­Ćhň•‚em·FyށqóžSį¯‘³X_ĞçêtryvL¤§z„¦c¦¥jnŞk˜ˆlD¤øz½ĜàžĂŧMÅ|áƆàÊcðÂF܎‚áŢ¥\\\\\\\\º™İøÒÐJĴ‡„îD¦zK²ǏÎEh~’CD­hMn^ÌöÄ©ČZÀžaü„fɭyœpį´ěFűk]Ôě¢qlÅĆÙa¶~Äqššê€ljN¬¼H„ÊšNQ´ê¼VظE††^ŃÒyŒƒM{ŒJLoÒœęæŸe±Ķ›y‰’‡gã“¯JYÆĭĘëo¥Š‰o¯hcK«z_pŠrC´ĢÖY”—¼ v¸¢RŽÅW³Â§fǸYi³xR´ďUˊ`êĿU„û€uĆBƒƣö‰N€DH«Ĉg†——Ñ‚aB{ÊNF´¬c·Åv}eÇÃGB»”If•¦HňĕM…~[iwjUÁKE•Ž‹¾dĪçW›šI‹èÀŒoÈXòyŞŮÈXâÎŚŠj|àsRy‹µÖ›–Pr´þŒ ¸^wþTDŔ–Hr¸‹žRÌmf‡żÕâCôox–ĜƌÆĮŒ›Ð–œY˜tâŦÔ@]ÈǮƒ\\\\Ī¼Ä£UsȯLbîƲŚºyh‡rŒŠ@ĒԝƀŸÀ²º\\\\êp“’JŠ}ĠvŠqt„Ġ@^xÀ£È†¨mËÏğ}n¹_¿¢×Y_æpˆÅ–A^{½•Lu¨GO±Õ½ßM¶w’ÁĢۂP‚›Ƣ¼pcIJxŠ|ap̬HšÐŒŊSfsðBZ¿©“XÏÒK•k†÷Eû¿‰S…rEFsÕūk”óVǥʼniTL‚¡n{‹uxţÏh™ôŝ¬ğōN“‘NJkyPaq™Âğ¤K®‡YŸxÉƋÁ]āęDqçgOg†ILu—\\\\_gz—]W¼ž~CÔē]bµogpў_oď`´³Țkl`IªºÎȄqÔþž»E³ĎSJ»œ_f·‚adÇqƒÇc¥Á_Źw{™L^ɱćx“U£µ÷xgĉp»ĆqNē`rĘzaĵĚ¡K½ÊBzyäKXqiWPÏɸ½řÍcÊG|µƕƣG˛÷Ÿk°_^ý|_zċBZocmø¯hhcæ\\\\lˆMFlư£Ĝ„ÆyH“„F¨‰µêÕ]—›HA…àӄ^it `þßäkŠĤÎT~Wlÿ¨„ÔPzUC–NVv [jâôDôď[}ž‰z¿–msSh‹¯{jïğl}šĹ[–őŒ‰gK‹©U·µË@¾ƒm_~q¡f¹…ÅË^»‘f³ø}Q•„¡Ö˳gͱ^ǁ…\\\\ëÃA_—¿bW›Ï[¶ƛ鏝£F{īZgm@|kHǭƁć¦UĔťƒ×ë}ǝƒeďºȡȘÏíBə£āĘPªij¶“ʼnÿ‡y©n‰ď£G¹¡I›Š±LÉĺÑdĉ܇W¥˜‰}g˜Á†{aqÃ¥aŠıęÏZ—ï`\"],\"encodeOffsets\":[[104636,22969]]},\"properties\":{\"cp\":[102.712251,25.040609],\"name\":\"云南\",\"childNum\":1}},{\"id\":\"540000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@hžľxŽŖ‰xƒÒVŽ†ºÅâAĪÝȆµę¯Ňa±r_w~uSÕň‘qOj]ɄQ…£Z……UDûoY’»©M[‹L¼qãË{V͕çWViŽ]ë©Ä÷àyƛh›ÚU°ŒŒa”d„cQƒ~Mx¥™cc¡ÙaSyF—ցk­ŒuRýq¿Ôµ•QĽ³aG{¿FµëªéĜÿª@¬·–K‰·àariĕĀ«V»Ŷ™Ĵū˜gèLǴŇƶaf‹tŒèBŚ£^Šâ†ǐÝ®–šM¦ÁǞÿ¬LhŸŽJ¾óƾƺcxw‹f]Y…´ƒ¦|œQLn°aœdĊ…œ\\\\¨o’œǀÍŎœ´ĩĀd`tÊQŞŕ|‚¨C^©œĈ¦„¦ÎJĊ{ŽëĎjª²rЉšl`¼Ą[t|¦St辉PŒÜK¸€d˜Ƅı]s¤—î_v¹ÎVòŦj˜£Əsc—¬_Ğ´|Ł˜¦AvŽ¦w`ăaÝaa­¢e¤ı²©ªSªšÈMĄwžÉØŔì@T‘¤—Ę™\\\\õª@”þo´­xA s”ÂtŎKzó´ÇĊµ¢rž^nĊ­Æ¬×üGž¢‚³ {âĊ]š™G‚~bÀgVjzlhǶf€žOšfdŠ‰ªB]pj„•TO–tĊ‚n¤}®¦ƒČ¥d¢¼»ddš”Y¼Žt—¢eȤJ¤}Ǿ¡°§¤AГlc@ĝ”sªćļđAç‡wx•UuzEÖġ~AN¹ÄÅȀŻ¦¿ģŁéì±H…ãd«g[؉¼ēÀ•cīľġ¬cJ‘µ…ÐʥVȝ¸ßS¹†ý±ğkƁ¼ą^ɛ¤Ûÿ‰b[}¬ōõÃ]ËNm®g@•Bg}ÍF±ǐyL¥íCˆƒIij€Ï÷њį[¹¦[⚍EÛïÁÉdƅß{âNÆāŨߝ¾ě÷yC£‡k­´ÓH@¹†TZ¥¢įƒ·ÌAЧ®—Zc…v½ŸZ­¹|ŕWZqgW“|ieZÅYVӁqdq•bc²R@†c‡¥Rã»Ge†ŸeƃīQ•}J[ғK…¬Ə|o’ėjġĠÑN¡ð¯EBčnwôɍėªƒ²•CλŹġǝʅįĭạ̃ūȹ]ΓͧgšsgȽóϧµǛ†ęgſ¶ҍć`ĘąŌJޚä¤rÅň¥ÖÁUětęuůÞiĊÄÀ\\\\Æs¦ÓRb|Â^řÌkÄŷ¶½÷‡f±iMݑ›‰@ĥ°G¬ÃM¥n£Øą‚ğ¯ß”§aëbéüÑOčœk£{\\\\‘eµª×M‘šÉfm«Ƒ{Å׃Gŏǩãy³©WÑăû‚··‘Q—òı}¯ã‰I•éÕÂZ¨īès¶ZÈsŽæĔTŘvŽgÌsN@îá¾ó@‰˜ÙwU±ÉT廣TđŸWxq¹Zo‘b‹s[׌¯cĩv‡Œėŧ³BM|¹k‰ªħ—¥TzNYnݍßpęrñĠĉRS~½ŠěVVŠµ‚õ‡«ŒM££µB•ĉ¥áºae~³AuĐh`Ü³ç@BۘïĿa©|z²Ý¼D”£àč²‹ŸƒIƒû›I ā€óK¥}rÝ_Á´éMaň¨€~ªSĈ½Ž½KÙóĿeƃÆBŽ·¬ën×W|Uº}LJrƳ˜lŒµ`bÔ`QˆˆÐÓ@s¬ñIŒÍ@ûws¡åQÑßÁ`ŋĴ{Ī“T•ÚÅTSij‚‹Yo|Ç[ǾµMW¢ĭiÕØ¿@˜šMh…pÕ]j†éò¿OƇĆƇp€êĉâlØw–ěsˆǩ‚ĵ¸c…bU¹ř¨WavquSMzeo_^gsÏ·¥Ó@~¯¿RiīB™Š\\\\”qTGªÇĜçPoŠÿfñòą¦óQīÈáP•œābß{ƒZŗĸIæńhnszÁCËìñšÏ·ąĚÝUm®ó­L·ăU›Èíoù´Êj°ŁŤ_uµ^‘°Œìǖ@tĶĒ¡Æ‡M³Ģ«˜İĨÅ®ğ†RŽāð“ggheÆ¢z‚Ê©Ô\\\\°ÝĎz~ź¤Pn–MĪÖB£Ÿk™n鄧żćŠ˜ĆK„Ē°¼L¶è‰âz¨u¦¥LDĘz¬ýÎmĘd¾ß”Fz“hg²™Fy¦ĝ¤ċņbΛ@y‚Ąæm°NĮZRÖíŽJ²öLĸÒ¨Y®ƌÐV‰à˜tt_ڀÂyĠzž]Ţh€zĎ{†ĢX”ˆc|šÐqŽšfO¢¤ög‚ÌHNŽ„PKŖœŽ˜Uú´xx[xˆvĐCûĀŠìÖT¬¸^}Ìsòd´_Ž‡KgžLĴ…ÀBon|H@–Êx˜—¦BpŰˆŌ¿fµƌA¾zLjRxŠ¶F”œkĄźRzŀˆ~¶[”´Hnª–VƞuĒ­È¨ƎcƽÌm¸ÁÈM¦x͊ëÀxdžB’šú^´W†£–d„kɾĬpœw‚˂ØɦļĬIŚœÊ•n›Ŕa¸™~J°î”lɌxĤÊÈðhÌ®‚g˜T´øŽàCˆŽÀ^ªerrƘdž¢İP|Ė ŸWœªĦ^¶´ÂL„aT±üWƜ˜ǀRšŶUńšĖ[QhlLüA†‹Ü\\\\†qR›Ą©\"],\"encodeOffsets\":[[90849,37210]]},\"properties\":{\"cp\":[91.132212,29.660361],\"name\":\"西藏\",\"childNum\":1}},{\"id\":\"610000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@˜p¢—ȮµšûG™Ħ}Ħšðǚ¶òƄ€jɂz°{ºØkÈęâ¦jª‚Bg‚\\\\œċ°s¬Ž’]jžú ‚E”Ȍdž¬s„t‡”RˆÆdĠݎwܔ¸ôW¾ƮłÒ_{’Ìšû¼„jº¹¢GǪÒ¯ĘƒZ`ºŊƒecņąš~BÂgzpâēòYǠȰÌTΨÂWœ|fcŸă§uF—Œ@NŸ¢XLƒŠRMº[ğȣſï|¥J™kc`sʼnǷ’Y¹‹W@µ÷K…ãï³ÛIcñ·VȋڍÒķø©—þ¥ƒy‚ÓŸğęmWµÎumZyOŅƟĥÓ~sÑL¤µaŅY¦ocyZ{‰y c]{ŒTa©ƒ`U_Ěē£ωÊƍKù’K¶ȱÝƷ§{û»ÅÁȹÍéuij|¹cÑd‘ŠìUYƒŽO‘uF–ÕÈYvÁCqӃT•Ǣí§·S¹NgŠV¬ë÷Át‡°Dد’C´ʼnƒópģ}„ċcE˅FŸŸéGU¥×K…§­¶³B‹Č}C¿åċ`wġB·¤őcƭ²ő[Å^axwQO…ÿEËߌ•ĤNĔŸwƇˆÄŠńwĪ­Šo[„_KÓª³“ÙnK‰Çƒěœÿ]ď€ă_d©·©Ýŏ°Ù®g]±„Ÿ‡ß˜å›—¬÷m\\\\›iaǑkěX{¢|ZKlçhLt€Ňîŵ€œè[€É@ƉĄEœ‡tƇÏ˜³­ħZ«mJ…›×¾‘MtÝĦ£IwÄå\\\\Õ{‡˜ƒOwĬ©LÙ³ÙgBƕŀr̛ĢŭO¥lãyC§HÍ£ßEñŸX¡—­°ÙCgpťz‘ˆb`wI„vA|§”‡—hoĕ@E±“iYd¥OĻ¹S|}F@¾oAO²{tfžÜ—¢Fǂ҈W²°BĤh^Wx{@„¬‚­F¸¡„ķn£P|ŸªĴ@^ĠĈæb–Ôc¶l˜Yi…–^Mi˜cĎ°Â[ä€vï¶gv@À“Ĭ·lJ¸sn|¼u~a]’ÆÈtŌºJp’ƒþ£KKf~Š¦UbyäIšĺãn‡Ô¿^­žŵMT–hĠܤko¼Ŏìąǜh`[tŒRd²IJ_œXPrɲ‰l‘‚XžiL§àƒ–¹ŽH˜°Ȧqº®QC—bA†„ŌJ¸ĕÚ³ĺ§ `d¨YjžiZvRĺ±öVKkjGȊĐePОZmļKÀ€‚[ŠŽ`ösìh†ïÎoĬdtKÞ{¬èÒÒBŒÔpIJÇĬJŊ¦±J«ˆY§‹@·pH€µàåVKe›pW†ftsAÅqC·¬ko«pHÆuK@oŸHĆۄķhx“e‘n›S³àǍrqƶRbzy€¸ËАl›¼EºpĤ¼Œx¼½~Ğ’”à@†ÚüdK^ˆmÌSj\"],\"encodeOffsets\":[[110234,38774]]},\"properties\":{\"cp\":[108.948024,34.263161],\"name\":\"陕西\",\"childNum\":1}},{\"id\":\"620000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@VuUv\"],[\"@@ũ‹EĠtt~nkh`Q‰¦ÅÄÜdw˜Ab×ĠąJˆ¤DüègĺqBqœj°lI¡ĨÒ¤úSHbš‡ŠjΑBŠ°aZˆ¢KJŽ’O[|A£žDx}Nì•HUnrk„ kp€¼Y kMJn[aG‚áÚÏ[½rc†}aQxOgsPMnUs‡nc‹Z…ž–sKúvA›t„Þġ’£®ĀYKdnFwš¢JE°”Latf`¼h¬we|€Æ‡šbj}GA€·~WŽ”—`†¢MC¤tL©IJ°qdf”O‚“bÞĬ¹ttu`^ZúE`Œ[@„Æsîz®¡’C„ƳƜG²“R‘¢R’m”fŽwĸg܃‚ą G@pzJM½mŠhVy¸uÈÔO±¨{LfæU¶ßGĂq\\\\ª¬‡²I‚¥IʼnÈīoı‹ÓÑAçÑ|«LÝcspīðÍg…të_õ‰\\\\ĉñLYnĝg’ŸRǡÁiHLlõUĹ²uQjYi§Z_c¨Ÿ´ĹĖÙ·ŋI…ƒaBD˜­R¹ȥr—¯G•ºß„K¨jWk’ɱŠOq›Wij\\\\a­‹Q\\\\sg_ĆǛōëp»£lğۀgS•ŶN®À]ˆÓäm™ĹãJaz¥V}‰Le¤L„ýo‘¹IsŋÅÇ^‘Žbz…³tmEÁ´aŠ¹cčecÇN•ĊãÁ\\\\č¯—dNj•]j†—ZµkÓda•ćå]ğij@ ©O{¤ĸm¢ƒE·®ƒ«|@Xwg]Aģ±¯‡XǁÑdzªc›wQÚŝñsÕ³ÛV_ýƒ˜¥\\\\ů¥©¾÷w—Ž©WÕÊĩhÿÖÁRo¸V¬âDb¨šhûx–Ê×nj~Zâƒg|šXÁnßYoº§ZÅŘvŒ[„ĭÖʃuďxcVbnUSf…B¯³_Tzº—ΕO©çMÑ~Mˆ³]µ^püµ”ŠÄY~y@X~¤Z³€[Èōl@®Å¼£QKƒ·Di‹¡By‘ÿ‰Q_´D¥hŗyƒ^ŸĭÁZ]cIzý‰ah¹MĪğP‘s{ò‡‹‘²Vw¹t³Ŝˁ[ŽÑ}X\\\\gsFŸ£sPAgěp×ëfYHāďÖqēŭOÏë“dLü•\\\\iŒ”t^c®šRʺ¶—¢H°mˆ‘rYŸ£BŸ¹čIoľu¶uI]vģSQ{ƒUŻ”Å}QÂ|̋°ƅ¤ĩŪU ęĄžÌZҞ\\\\v˜²PĔ»ƢNHƒĂyAmƂwVmž`”]ȏb•”H`‰Ì¢²ILvĜ—H®¤Dlt_„¢JJÄämèÔDëþgºƫ™”aʎÌrêYi~ ÎݤNpÀA¾Ĕ¼b…ð÷’Žˆ‡®‚”üs”zMzÖĖQdȨý†v§Tè|ªH’þa¸|šÐ ƒwKĢx¦ivr^ÿ ¸l öæfƟĴ·PJv}n\\\\h¹¶v†·À|\\\\ƁĚN´Ĝ€çèÁz]ġ¤²¨QÒŨTIl‡ªťØ}¼˗ƦvÄùØE‹’«Fï˛Iq”ōŒTvāÜŏ‚íÛߜÛV—j³âwGăÂíNOŠˆŠPìyV³ʼnĖýZso§HіiYw[߆\\\\X¦¥c]ÔƩÜ·«j‡ÐqvÁ¦m^ċ±R™¦΋ƈťĚgÀ»IïĨʗƮŽ°Ɲ˜ĻþÍAƉſ±tÍEÕÞāNU͗¡\\\\ſčåÒʻĘm ƭÌŹöʥ’ëQ¤µ­ÇcƕªoIýˆ‰Iɐ_mkl³ă‰Ɠ¦j—¡Yz•Ňi–}Msßõ–īʋ —}ƒÁVmŸ_[n}eı­Uĥ¼‘ª•I{ΧDӜƻėoj‘qYhĹT©oūĶ£]ďxĩ‹ǑMĝ‰q`B´ƃ˺Ч—ç~™²ņj@”¥@đ´ί}ĥtPńǾV¬ufӃÉC‹tÓ̻‰…¹£G³€]ƖƾŎĪŪĘ̖¨ʈĢƂlɘ۪üºňUðǜȢƢż̌ȦǼ‚ĤŊɲĖ­Kq´ï¦—ºĒDzņɾªǀÞĈĂD†½ĄĎÌŗĞrôñnŽœN¼â¾ʄľԆ|DŽŽ֦ज़ȗlj̘̭ɺƅêgV̍ʆĠ·ÌĊv|ýĖÕWĊǎÞ´õ¼cÒÒBĢ͢UĜð͒s¨ňƃLĉÕÝ@ɛƯ÷¿Ľ­ĹeȏijëCȚDŲyê×Ŗyò¯ļcÂßY…tÁƤyAã˾J@ǝrý‹‰@¤…rz¸oP¹ɐÚyᐇHŸĀ[Jw…cVeȴϜ»ÈŽĖ}ƒŰŐèȭǢόĀƪÈŶë;Ñ̆ȤМľĮEŔ—ĹŊũ~ËUă{ŸĻƹɁύȩþĽvĽƓÉ@ē„ĽɲßǐƫʾǗĒpäWÐxnsÀ^ƆwW©¦cÅ¡Ji§vúF¶Ž¨c~c¼īŒeXǚ‹\\\\đ¾JŽwÀďksãA‹fÕ¦L}wa‚o”Z’‹D½†Ml«]eÒÅaɲáo½FõÛ]ĻÒ¡wYR£¢rvÓ®y®LF‹LzĈ„ôe]gx}•|KK}xklL]c¦£fRtív¦†PĤoH{tK\"]],\"encodeOffsets\":[[[108619,36299]],[[108589,36341]]]},\"properties\":{\"cp\":[103.823557,36.058039],\"name\":\"甘肃\",\"childNum\":2}},{\"id\":\"630000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@InJm\"],[\"@@CƒÆ½OŃĦsΰ~Ē³¦@@“Ņiš±è}ؘƄ˹A³r_ĞŠǒNĪŒĐw¤^ŬĵªpĺSZg’rpiƼĘԛ¨C|͖J’©Ħ»®VIJ~f\\\\m `Un„˜~ʌŸ•ĬàöNt•~ňjy–¢Zi˜Ɣ¥ĄŠk´nl`JʇŠJþ©pdƖ®È£¶ìRʦ‘źõƮËnŸʼėæÑƀĎ[‚˜¢VÎĂMÖÝÎF²sƊƀÎBļýƞ—¯ʘƭðħ¼Jh¿ŦęΌƇš¥²Q]Č¥nuÂÏriˆ¸¬ƪÛ^Ó¦d€¥[Wà…x\\\\ZŽjҕ¨GtpþYŊĕ´€zUO뇉P‰îMĄÁxH´á˜iÜUà›îÜՁĂÛSuŎ‹r“œJð̬EŒ‘FÁú×uÃÎkr“Ē{V}İ«O_ÌËĬ©ŽÓŧSRѱ§Ģ£^ÂyèçěM³Ƃę{[¸¿u…ºµ[gt£¸OƤĿéYŸõ·kĀŸq]juw¥Dĩƍ€õÇPéĽG‘ž©ã‡¤G…uȧþRcÕĕNy“yût“ˆ­‡ø‘†ï»a½ē¿BMoį£ŸÍj}éZËqbʍš“Ƭh¹ìÿÓAçãnIáI`ƒks£CG­ě˜Uy×Cy•…’Ÿ@¶ʡÊBnāzG„ơMē¼±O÷õJËĚăVŸĪũƆ£Œ¯{ËL½Ìzż“„VR|ĠTbuvJvµhĻĖH”Aëáa…­OÇðñęNw‡…œľ·L›mI±íĠĩPÉ×®ÿs—’cB³±JKßĊ«`…ađ»·QAmO’‘Vţéÿ¤¹SQt]]Çx€±¯A@ĉij¢Óļ©•ƒl¶ÅÛr—ŕspãRk~¦ª]Į­´“FR„åd­ČsCqđéFn¿Åƃm’Éx{W©ºƝºįkÕƂƑ¸wWūЩÈFž£\\\\tÈ¥ÄRÈýÌJ ƒlGr^×äùyÞ³fj”c†€¨£ÂZ|ǓMĝšÏ@ëÜőR‹›ĝ‰Œ÷¡{aïȷPu°ËXÙ{©TmĠ}Y³’­ÞIňµç½©C¡į÷¯B»|St»›]vƒųƒs»”}MÓ ÿʪƟǭA¡fs˜»PY¼c¡»¦c„ċ­¥£~msĉP•–Siƒ^o©A‰Šec‚™PeǵŽkg‚yUi¿h}aH™šĉ^|ᴟ¡HØûÅ«ĉ®]m€¡qĉ¶³ÈyôōLÁst“BŸ®wn±ă¥HSòėš£˜S’ë@לÊăxÇN©™©T±ª£IJ¡fb®ÞbŽb_Ą¥xu¥B—ž{łĝ³«`d˜Ɛt—¤ťiñžÍUuºí`£˜^tƃIJc—·ÛLO‹½Šsç¥Ts{ă\\\\_»™kϊ±q©čiìĉ|ÍIƒ¥ć¥›€]ª§D{ŝŖÉR_sÿc³Īō›ƿΑ›§p›[ĉ†›c¯bKm›R¥{³„Z†e^ŽŒwx¹dƽŽôIg §Mĕ ƹĴ¿—ǣÜ̓]‹Ý–]snåA{‹eŒƭ`ǻŊĿ\\\\ijŬű”YÂÿ¬jĖqŽßbŠ¸•L«¸©@ěĀ©ê¶ìÀEH|´bRľž–Ó¶rÀQþ‹vl®Õ‚E˜TzÜdb ˜hw¤{LR„ƒd“c‹b¯‹ÙVgœ‚ƜßzÃô쮍^jUèXΖ|UäÌ»rKŽ\\\\ŒªN‘¼pZCü†VY††¤ɃRi^rPҒTÖ}|br°qňbĚ°ªiƶGQ¾²„x¦PœmlŜ‘[Ĥ¡ΞsĦŸÔÏâ\\\\ªÚŒU\\\\f…¢N²§x|¤§„xĔsZPòʛ²SÐqF`ª„VƒÞŜĶƨVZŒÌL`ˆ¢dŐIqr\\\\oäõ–F礻Ŷ×h¹]Clـ\\\\¦ďÌį¬řtTӺƙgQÇÓHţĒ”´ÃbEÄlbʔC”|CˆŮˆk„Ʈ[ʼ¬ňœ´KŮÈΰÌĪ¶ƶlð”ļA†TUvdTŠG†º̼ŠÔ€ŒsÊDԄveOg\"]],\"encodeOffsets\":[[[105308,37219]],[[95370,40081]]]},\"properties\":{\"cp\":[101.778916,36.623178],\"name\":\"青海\",\"childNum\":2}},{\"id\":\"640000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@KëÀęĞ«OęȿȕŸı]ʼn¡åįÕÔ«Ǵõƪ™ĚQÐZhv K°›öqÀѐS[ÃÖHƖčË‡nL]ûc…Ùß@‚“ĝ‘¾}w»»‹oģF¹œ»kÌÏ·{zPƒ§B­¢íyÅt@ƒ@áš]Yv_ssģ¼i߁”ĻL¾ġsKD£¡N_…“˜X¸}B~Haiˆ™Åf{«x»ge_bs“KF¯¡Ix™mELcÿZ¤­Ģ‘ƒÝœsuBLù•t†ŒYdˆmVtNmtOPhRw~bd…¾qÐ\\\\âÙH\\\\bImlNZŸ»loƒŸqlVm–Gā§~QCw¤™{A\\\\‘PKŸNY‡¯bF‡kC¥’sk‹Šs_Ã\\\\ă«¢ħkJi¯r›rAhĹûç£CU‡ĕĊ_ԗBixÅُĄnªÑaM~ħpOu¥sîeQ¥¤^dkKwlL~{L~–hw^‚ófćƒKyEŒ­K­zuÔ¡qQ¤xZÑ¢^ļöܾEpž±âbÊÑÆ^fk¬…NC¾‘Œ“YpxbK~¥Že֎ŒäBlt¿Đx½I[ĒǙŒWž‹f»Ĭ}d§dµùEuj¨‚IÆ¢¥dXªƅx¿]mtÏwßRĶŒX¢͎vÆzƂZò®ǢÌʆCrâºMÞzžÆMҔÊÓŊZľ–r°Î®Ȉmª²ĈUªĚøºˆĮ¦ÌĘk„^FłĬhĚiĀĖ¾iİbjÕ\"],[\"@@mfwěwMrŢªv@G‰\"]],\"encodeOffsets\":[[[109366,40242]],[[108600,36303]]]},\"properties\":{\"cp\":[106.278179,38.46637],\"name\":\"宁夏\",\"childNum\":2}},{\"id\":\"650000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@QØĔ²X¨”~ǘBºjʐßØvK”ƔX¨vĊOžÃƒ·¢i@~c—‡ĝe_«”Eš“}QxgɪëÏÃ@sÅyXoŖ{ô«ŸuX…ê•Îf`œC‚¹ÂÿÐGĮÕĞXŪōŸMźÈƺQèĽôe|¿ƸJR¤ĘEjcUóº¯Ĩ_ŘÁMª÷Ð¥Oéȇ¿ÖğǤǷÂF҇zÉx[]­Ĥĝ‰œ¦EP}ûƥé¿İƷTėƫœŕƅ™ƱB»Đ±’ēO…¦E–•}‘`cȺrĦáŖuҞª«IJ‡πdƺÏØZƴwʄ¤ĖGЙǂZĶƒèH¶}ÚZצʥĪï|ÇĦMŔ»İĝLj‹ì¥Βœba­¯¥ǕǚkĆŵĦɑĺƯxūД̵nơʃĽá½M»›òmqóŘĝč˾ăC…ćāƿÝɽ©DZŅ¹đ¥˜³ðLrÁ®ɱĕģʼnǻ̋ȥơŻǛȡVï¹Ň۩ûkɗġƁ§ʇė̕ĩũƽō^ƕŠUv£ƁQï“Ƶkŏ½ΉÃŭdzLқʻ«ƭ\\\\lƒ‡ŭD‡“{ʓDkaFÃÄa“³ŤđÔGRÈƚhSӹŚsİ«ĐË[¥ÚDkº^Øg¼ŵ¸£EÍö•€ůʼnT¡c_‡ËKY‹ƧUśĵ„݃U_©rETÏʜ±OñtYwē¨ƒ{£¨uM³x½şL©Ùá[ÓÐĥ Νtģ¢\\\\‚ś’nkO›w¥±ƒT»ƷFɯàĩÞáB¹Æ…ÑUw„੍žĽw[“mG½Èå~‡Æ÷QyŠěCFmĭZī—ŵVÁ™ƿQƛ—ûXS²‰b½KϽĉS›©ŷXĕŸ{ŽĕK·¥Ɨcqq©f¿]‡ßDõU³h—­gËÇïģÉɋw“k¯í}I·šœbmœÉ–ř›īJɥĻˁ×xo›ɹī‡l•c…¤³Xù]‘™DžA¿w͉ì¥wÇN·ÂËnƾƍdǧđ®Ɲv•Um©³G\\\\“}µĿ‡QyŹl㓛µEw‰LJQ½yƋBe¶ŋÀů‡ož¥A—˜Éw@•{Gpm¿Aij†ŽKLhˆ³`ñcËtW‚±»ÕS‰ëüÿďD‡u\\\\wwwù³—V›LŕƒOMËGh£õP¡™er™Ïd{“‡ġWÁ…č|yšg^ğyÁzÙs`—s|ÉåªÇ}m¢Ń¨`x¥’ù^•}ƒÌ¥H«‰Yªƅ”Aйn~ź¯šf¤áÀz„gŠÇDIԝ´AňĀ҄¶ûEYospõD[{ù°]u›Jq•U•|Soċxţ[õÔĥkŋÞŭZ˺óYËüċrw €ÞkrťË¿XGÉbřaDü·Ē÷Aê[Ää€I®BÕИÞ_¢āĠpŠÛÄȉĖġDKwbm‡ÄNô‡ŠfœƫVÉvi†dz—H‘‹QµâFšù­Âœ³¦{YGžƒd¢ĚÜO „€{Ö¦ÞÍÀPŒ^b–ƾŠlŽ[„vt×ĈÍE˨¡Đ~´î¸ùÎh€uè`¸ŸHÕŔVºwĠââWò‡@{œÙNÝ´ə²ȕn{¿¥{l—÷eé^e’ďˆXj©î\\\\ªÑò˜Üìc\\\\üqˆÕ[Č¡xoÂċªbØ­Œø|€¶ȴZdÆšońéŒGš\\\\”¼C°ÌƁn´nxšÊOĨ’Ūƴĸ¢¸òTxÊǪMīИÖŲÃɎOvˆʦƢ~FŽ‡Rěò—¿ġ~åŊœú‰Nšžš¸qŽ’Ę[Ĕ¶ÂćnÒPĒÜvúĀÊbÖ{Äî¸~Ŕünp¤ÂH¾œĄYÒ©ÊfºmԈĘcDoĬMŬ’˜S¤„s²‚”ʘچžȂVŦ –ŽèW°ªB|IJXŔþÈJĦÆæFĚêŠYĂªĂ]øªŖNÞüA€’fɨJ€˜¯ÎrDDšĤ€`€mz\\\\„§~D¬{vJÂ˜«lµĂb–¤p€ŌŰNĄ¨ĊXW|ų ¿¾ɄĦƐMT”‡òP˜÷fØĶK¢ȝ˔Sô¹òEð­”`Ɩ½ǒÂň×äı–§ĤƝ§C~¡‚hlå‚ǺŦŞkâ’~}ŽFøàIJaĞ‚fƠ¥Ž„Ŕdž˜®U¸ˆźXœv¢aƆúŪtŠųƠjd•ƺŠƺÅìnrh\\\\ĺ¯äɝĦ]èpĄ¦´LƞĬŠ´ƤǬ˼Ēɸ¤rºǼ²¨zÌPðŀbþ¹ļD¢¹œ\\\\ĜÑŚŸ¶ZƄ³àjĨoâŠȴLʉȮŒĐ­ĚăŽÀêZǚŐ¤qȂ\\\\L¢ŌİfÆs|zºeªÙæ§΢{Ā´ƐÚ¬¨Ĵà²łhʺKÞºÖTŠiƢ¾ªì°`öøu®Ê¾ãØ\"],\"encodeOffsets\":[[88824,50096]]},\"properties\":{\"cp\":[87.617733,43.792818],\"name\":\"新疆\",\"childNum\":1}},{\"id\":\"110000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@ĽOÁ›ûtŷmiÍt_H»Ĩ±d`Š¹­{bw…Yr“³S]§§o¹€qGtm_Sŧ€“oa›‹FLg‘QN_•dV€@Zom_ć\\\\ߚc±x¯oœRcfe…£’o§ËgToÛJíĔóu…|wP¤™XnO¢ÉˆŦ¯rNÄā¤zâŖÈRpŢZŠœÚ{GŠrFt¦Òx§ø¹RóäV¤XdˆżâºWbwŚ¨Ud®bêņ¾‘jnŎGŃŶŠnzÚSeîĜZczî¾i]͜™QaúÍÔiþĩȨWĢ‹ü|Ėu[qb[swP@ÅğP¿{\\\\‡¥A¨Ï‘Ѩj¯ŠX\\\\¯œMK‘pA³[H…īu}}\"],\"encodeOffsets\":[[120023,41045]]},\"properties\":{\"cp\":[116.405285,39.904989],\"name\":\"北京\",\"childNum\":1}},{\"id\":\"120000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@ŬgX§Ü«E…¶Ḟ“¬O_™ïlÁg“z±AXe™µÄĵ{¶]gitgšIj·›¥îakS€‰¨ÐƎk}ĕ{gB—qGf{¿a†U^fI“ư‹³õ{YƒıëNĿžk©ïËZŏ‘R§òoY×Ógc…ĥs¡bġ«@dekąI[nlPqCnp{ˆō³°`{PNdƗqSÄĻNNâyj]äžÒD ĬH°Æ]~¡HO¾ŒX}ÐxŒgp“gWˆrDGˆŒpù‚Š^L‚ˆrzWxˆZ^¨´T\\\\|~@I‰zƒ–bĤ‹œjeĊªz£®Ĕvě€L†mV¾Ô_ȔNW~zbĬvG†²ZmDM~”~\"],\"encodeOffsets\":[[120237,41215]]},\"properties\":{\"cp\":[117.190182,39.125596],\"name\":\"天津\",\"childNum\":1}},{\"id\":\"310000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@ɧư¬EpƸÁxc‡\"],[\"@@©„ªƒ\"],[\"@@”MA‹‘š\"],[\"@@Qp݁E§ÉC¾\"],[\"@@bŝՕÕEȣÚƥêImɇǦèÜĠŒÚžÃƌÃ͎ó\"],[\"@@ǜûȬɋŠŭ™×^‰sYŒɍDŋ‘ŽąñCG²«ªč@h–_p¯A{‡oloY€¬j@IJ`•gQڛhr|ǀ^MIJvtbe´R¯Ô¬¨YŽô¤r]ì†Ƭį\"]],\"encodeOffsets\":[[[124702,32062]],[[124547,32200]],[[124808,31991]],[[124726,32110]],[[124903,32376]],[[124438,32149]]]},\"properties\":{\"cp\":[121.472644,31.231706],\"name\":\"上海\",\"childNum\":6}},{\"id\":\"500000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@vjG~nGŘŬĶȂƀƾ¹¸ØÎezĆT¸}êЖqHŸðqĖ䒊¥^CƒIj–²p…\\\\_ æüY|[YxƊæuž°xb®…Űb@~¢NQt°¶‚S栓Ê~rljĔëĚ¢~šuf`‘‚†fa‚ĔJåĊ„nÖ]„jƎćÊ@Š£¾a®£Ű{ŶĕF‹ègLk{Y|¡ĜWƔtƬJÑxq‹±ĢN´‰òK‰™–LÈüD|s`ŋ’ć]ƒÃ‰`đŒMûƱ½~Y°ħ`ƏíW‰½eI‹½{aŸ‘OIrÏ¡ĕŇa†p†µÜƅġ‘œ^ÖÛbÙŽŏml½S‹êqDu[R‹ãË»†ÿw`»y‘¸_ĺę}÷`M¯ċfCVµqʼn÷Z•gg“Œ`d½pDO‡ÎCnœ^uf²ènh¼WtƏxRGg¦…pV„†FI±ŽG^ŒIc´ec‡’G•ĹÞ½sëĬ„h˜xW‚}Kӈe­Xsbk”F¦›L‘ØgTkïƵNï¶}Gy“w\\\\oñ¡nmĈzjŸ•@™Óc£»Wă¹Ój“_m»ˆ¹·~MvÛaqœ»­‰êœ’\\\\ÂoVnŽÓØ͙²«‹bq¿efE „€‹Ĝ^Qž~ Évý‡ş¤²Į‰pEİ}zcĺƒL‹½‡š¿gņ›¡ýE¡ya£³t\\\\¨\\\\vú»¼§·Ñr_oÒý¥u‚•_n»_ƒ•At©Þűā§IVeëƒY}{VPÀFA¨ąB}q@|Ou—\\\\Fm‰QF݅Mw˜å}]•€|FmϋCaƒwŒu_p—¯sfÙgY…DHl`{QEfNysBŠ¦zG¸rHe‚„N\\\\CvEsÐùÜ_·ÖĉsaQ¯€}_U‡†xÃđŠq›NH¬•Äd^ÝŰR¬ã°wećJEž·vÝ·Hgƒ‚éFXjÉê`|yŒpxkAwœWĐpb¥eOsmzwqChóUQl¥F^laf‹anòsr›EvfQdÁUVf—ÎvÜ^efˆtET¬ôA\\\\œ¢sJŽnQTjP؈xøK|nBz‰„œĞ»LY‚…FDxӄvr“[ehľš•vN”¢o¾NiÂxGp⬐z›bfZo~hGi’]öF|‰|Nb‡tOMn eA±ŠtPT‡LjpYQ|†SH††YĀxinzDJ€Ìg¢và¥Pg‰_–ÇzII‹€II•„£®S¬„Øs쐣ŒN\"],[\"@@ifjN@s\"]],\"encodeOffsets\":[[[109628,30765]],[[111725,31320]]]},\"properties\":{\"cp\":[106.504962,29.533155],\"name\":\"重庆\",\"childNum\":2}},{\"id\":\"810000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@AlBk\"],[\"@@mŽn\"],[\"@@EpFo\"],[\"@@ea¢pl¸Eõ¹‡hj[ƒ]ÔCΖ@lj˜¡uBXŸ…•´‹AI¹…[‹yDUˆ]W`çwZkmc–…M›žp€Åv›}I‹oJlcaƒfёKŽ°ä¬XJmРđhI®æÔtSHn€Eˆ„ÒrÈc\"],[\"@@rMUw‡AS®€e\"]],\"encodeOffsets\":[[[117111,23002]],[[117072,22876]],[[117045,22887]],[[116975,23082]],[[116882,22747]]]},\"properties\":{\"cp\":[114.173355,22.320048],\"name\":\"香港\",\"childNum\":5}},{\"id\":\"820000\",\"type\":\"Feature\",\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@kÊd°å§s\"],\"encodeOffsets\":[[116279,22639]]},\"properties\":{\"cp\":[113.54909,22.198951],\"name\":\"澳门\",\"childNum\":1}}],\"UTF8Encoding\":true});\n}));","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphicUtil = require(\"../util/graphic\");\n\nvar _labelHelper = require(\"./helper/labelHelper\");\n\nvar getDefaultLabel = _labelHelper.getDefaultLabel;\n\nvar createListFromArray = require(\"./helper/createListFromArray\");\n\nvar _barGrid = require(\"../layout/barGrid\");\n\nvar getLayoutOnAxis = _barGrid.getLayoutOnAxis;\n\nvar DataDiffer = require(\"../data/DataDiffer\");\n\nvar SeriesModel = require(\"../model/Series\");\n\nvar ChartView = require(\"../view/Chart\");\n\nvar prepareCartesian2d = require(\"../coord/cartesian/prepareCustom\");\n\nvar prepareGeo = require(\"../coord/geo/prepareCustom\");\n\nvar prepareSingleAxis = require(\"../coord/single/prepareCustom\");\n\nvar preparePolar = require(\"../coord/polar/prepareCustom\");\n\nvar prepareCalendar = require(\"../coord/calendar/prepareCustom\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar 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 // 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();\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;\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 {\n var Clz = graphicUtil[graphicType.charAt(0).toUpperCase() + graphicType.slice(1)];\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;\n var disableStyleEmphasis = styleEmphasis === false;\n\n if (!( // Try to escapse setting hover style for performance.\n el.__cusHasEmphStl && styleEmphasis == null || !el.__cusHasEmphStl && disableStyleEmphasis)) {\n // Should not use graphicUtil.setHoverStyle, since the styleEmphasis\n // should not be share by group and its descendants.\n graphicUtil.setElementHoverStyle(el, styleEmphasis);\n el.__cusHasEmphStl = !disableStyleEmphasis;\n }\n\n isRoot && graphicUtil.setAsHoverStyleTrigger(el, !disableStyleEmphasis);\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 graphicUtil.setTextStyle(itemStyle, currLabelNormalModel, null, {\n autoColor: currVisualColor,\n isRectText: true\n });\n itemStyle.text = currLabelNormalModel.getShallow('show') ? zrUtil.retrieve2(customSeries.getFormattedLabel(dataIndexInside, 'normal'), getDefaultLabel(data, dataIndexInside)) : null;\n extra && zrUtil.extend(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 graphicUtil.setTextStyle(itemStyle, currLabelEmphasisModel, null, {\n isRectText: true\n }, true);\n itemStyle.text = currLabelEmphasisModel.getShallow('show') ? zrUtil.retrieve3(customSeries.getFormattedLabel(dataIndexInside, 'emphasis'), customSeries.getFormattedLabel(dataIndexInside, 'normal'), getDefaultLabel(data, dataIndexInside)) : null;\n extra && zrUtil.extend(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.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}\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}","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar _layout = require(\"../../util/layout\");\n\nvar getLayoutParams = _layout.getLayoutParams;\nvar sizeCalculable = _layout.sizeCalculable;\nvar mergeLayoutParam = _layout.mergeLayoutParam;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar CalendarModel = ComponentModel.extend({\n type: 'calendar',\n\n /**\n * @type {module:echarts/coord/calendar/Calendar}\n */\n coordinateSystem: null,\n defaultOption: {\n zlevel: 0,\n z: 2,\n left: 80,\n top: 60,\n cellSize: 20,\n // horizontal vertical\n orient: 'horizontal',\n // month separate line style\n splitLine: {\n show: true,\n lineStyle: {\n color: '#000',\n width: 1,\n type: 'solid'\n }\n },\n // rect style temporarily unused emphasis\n itemStyle: {\n color: '#fff',\n borderWidth: 1,\n borderColor: '#ccc'\n },\n // week text style\n dayLabel: {\n show: true,\n // a week first day\n firstDay: 0,\n // start end\n position: 'start',\n margin: '50%',\n // 50% of cellSize\n nameMap: 'en',\n color: '#000'\n },\n // month text style\n monthLabel: {\n show: true,\n // start end\n position: 'start',\n margin: 5,\n // center or left\n align: 'center',\n // cn en []\n nameMap: 'en',\n formatter: null,\n color: '#000'\n },\n // year text style\n yearLabel: {\n show: true,\n // top bottom left right\n position: null,\n margin: 30,\n formatter: null,\n color: '#ccc',\n fontFamily: 'sans-serif',\n fontWeight: 'bolder',\n fontSize: 20\n }\n },\n\n /**\n * @override\n */\n init: function (option, parentModel, ecModel, extraOpt) {\n var inputPositionParams = getLayoutParams(option);\n CalendarModel.superApply(this, 'init', arguments);\n mergeAndNormalizeLayoutParams(option, inputPositionParams);\n },\n\n /**\n * @override\n */\n mergeOption: function (option, extraOpt) {\n CalendarModel.superApply(this, 'mergeOption', arguments);\n mergeAndNormalizeLayoutParams(this.option, option);\n }\n});\n\nfunction mergeAndNormalizeLayoutParams(target, raw) {\n // Normalize cellSize\n var cellSize = target.cellSize;\n\n if (!zrUtil.isArray(cellSize)) {\n cellSize = target.cellSize = [cellSize, cellSize];\n } else if (cellSize.length === 1) {\n cellSize[1] = cellSize[0];\n }\n\n var ignoreSize = zrUtil.map([0, 1], function (hvIdx) {\n // If user have set `width` or both `left` and `right`, cellSize\n // will be automatically set to 'auto', otherwise the default\n // setting of cellSize will make `width` setting not work.\n if (sizeCalculable(raw, hvIdx)) {\n cellSize[hvIdx] = 'auto';\n }\n\n return cellSize[hvIdx] != null && cellSize[hvIdx] !== 'auto';\n });\n mergeLayoutParam(target, raw, {\n type: 'box',\n ignoreSize: ignoreSize\n });\n}\n\nvar _default = CalendarModel;\nmodule.exports = _default;","var LRU = require(\"../../core/LRU\");\n\nvar globalImageCache = new LRU(50);\n/**\n * @param {string|HTMLImageElement|HTMLCanvasElement|Canvas} newImageOrSrc\n * @return {HTMLImageElement|HTMLCanvasElement|Canvas} image\n */\n\nfunction findExistImage(newImageOrSrc) {\n if (typeof newImageOrSrc === 'string') {\n var cachedImgObj = globalImageCache.get(newImageOrSrc);\n return cachedImgObj && cachedImgObj.image;\n } else {\n return newImageOrSrc;\n }\n}\n/**\n * Caution: User should cache loaded images, but not just count on LRU.\n * Consider if required images more than LRU size, will dead loop occur?\n *\n * @param {string|HTMLImageElement|HTMLCanvasElement|Canvas} newImageOrSrc\n * @param {HTMLImageElement|HTMLCanvasElement|Canvas} image Existent image.\n * @param {module:zrender/Element} [hostEl] For calling `dirty`.\n * @param {Function} [cb] params: (image, cbPayload)\n * @param {Object} [cbPayload] Payload on cb calling.\n * @return {HTMLImageElement|HTMLCanvasElement|Canvas} image\n */\n\n\nfunction createOrUpdateImage(newImageOrSrc, image, hostEl, cb, cbPayload) {\n if (!newImageOrSrc) {\n return image;\n } else if (typeof newImageOrSrc === 'string') {\n // Image should not be loaded repeatly.\n if (image && image.__zrImageSrc === newImageOrSrc || !hostEl) {\n return image;\n } // Only when there is no existent image or existent image src\n // is different, this method is responsible for load.\n\n\n var cachedImgObj = globalImageCache.get(newImageOrSrc);\n var pendingWrap = {\n hostEl: hostEl,\n cb: cb,\n cbPayload: cbPayload\n };\n\n if (cachedImgObj) {\n image = cachedImgObj.image;\n !isImageReady(image) && cachedImgObj.pending.push(pendingWrap);\n } else {\n image = new Image();\n image.onload = image.onerror = imageOnLoad;\n globalImageCache.put(newImageOrSrc, image.__cachedImgObj = {\n image: image,\n pending: [pendingWrap]\n });\n image.src = image.__zrImageSrc = newImageOrSrc;\n }\n\n return image;\n } // newImageOrSrc is an HTMLImageElement or HTMLCanvasElement or Canvas\n else {\n return newImageOrSrc;\n }\n}\n\nfunction imageOnLoad() {\n var cachedImgObj = this.__cachedImgObj;\n this.onload = this.onerror = this.__cachedImgObj = null;\n\n for (var i = 0; i < cachedImgObj.pending.length; i++) {\n var pendingWrap = cachedImgObj.pending[i];\n var cb = pendingWrap.cb;\n cb && cb(this, pendingWrap.cbPayload);\n pendingWrap.hostEl.dirty();\n }\n\n cachedImgObj.pending.length = 0;\n}\n\nfunction isImageReady(image) {\n return image && image.width && image.height;\n}\n\nexports.findExistImage = findExistImage;\nexports.createOrUpdateImage = createOrUpdateImage;\nexports.isImageReady = isImageReady;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ChartView = require(\"../../view/Chart\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 this.updateData(data, idx, true); // Hover to change label and labelLine\n\n function onEmphasis() {\n labelLine.ignore = labelLine.hoverIgnore;\n text.ignore = text.hoverIgnore;\n }\n\n function onNormal() {\n labelLine.ignore = labelLine.normalIgnore;\n text.ignore = text.normalIgnore;\n }\n\n this.on('emphasis', onEmphasis).on('normal', onNormal).on('mouseover', onEmphasis).on('mouseout', onNormal);\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar IncrementalDisplayable = require(\"zrender/lib/graphic/IncrementalDisplayable\");\n\nvar lineContain = require(\"zrender/lib/contain/line\");\n\nvar quadraticContain = require(\"zrender/lib/contain/quadratic\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// TODO Batch by color\nvar LargeLineShape = graphic.extendShape({\n shape: {\n polyline: false,\n curveness: 0,\n segs: []\n },\n buildPath: function (path, shape) {\n var segs = shape.segs;\n var curveness = shape.curveness;\n\n if (shape.polyline) {\n for (var i = 0; i < segs.length;) {\n var count = segs[i++];\n\n if (count > 0) {\n path.moveTo(segs[i++], segs[i++]);\n\n for (var k = 1; k < count; k++) {\n path.lineTo(segs[i++], segs[i++]);\n }\n }\n }\n } else {\n for (var i = 0; i < segs.length;) {\n var x0 = segs[i++];\n var y0 = segs[i++];\n var x1 = segs[i++];\n var y1 = segs[i++];\n path.moveTo(x0, y0);\n\n if (curveness > 0) {\n var x2 = (x0 + x1) / 2 - (y0 - y1) * curveness;\n var y2 = (y0 + y1) / 2 - (x1 - x0) * curveness;\n path.quadraticCurveTo(x2, y2, x1, y1);\n } else {\n path.lineTo(x1, y1);\n }\n }\n }\n },\n findDataIndex: function (x, y) {\n var shape = this.shape;\n var segs = shape.segs;\n var curveness = shape.curveness;\n\n if (shape.polyline) {\n var dataIndex = 0;\n\n for (var i = 0; i < segs.length;) {\n var count = segs[i++];\n\n if (count > 0) {\n var x0 = segs[i++];\n var y0 = segs[i++];\n\n for (var k = 1; k < count; k++) {\n var x1 = segs[i++];\n var y1 = segs[i++];\n\n if (lineContain.containStroke(x0, y0, x1, y1)) {\n return dataIndex;\n }\n }\n }\n\n dataIndex++;\n }\n } else {\n var dataIndex = 0;\n\n for (var i = 0; i < segs.length;) {\n var x0 = segs[i++];\n var y0 = segs[i++];\n var x1 = segs[i++];\n var y1 = segs[i++];\n\n if (curveness > 0) {\n var x2 = (x0 + x1) / 2 - (y0 - y1) * curveness;\n var y2 = (y0 + y1) / 2 - (x1 - x0) * curveness;\n\n if (quadraticContain.containStroke(x0, y0, x2, y2, x1, y1)) {\n return dataIndex;\n }\n } else {\n if (lineContain.containStroke(x0, y0, x1, y1)) {\n return dataIndex;\n }\n }\n\n dataIndex++;\n }\n }\n\n return -1;\n }\n});\n\nfunction LargeLineDraw() {\n this.group = new graphic.Group();\n}\n\nvar largeLineProto = LargeLineDraw.prototype;\n\nlargeLineProto.isPersistent = function () {\n return !this._incremental;\n};\n/**\n * Update symbols draw by new data\n * @param {module:echarts/data/List} data\n */\n\n\nlargeLineProto.updateData = function (data) {\n this.group.removeAll();\n var lineEl = new LargeLineShape({\n rectHover: true,\n cursor: 'default'\n });\n lineEl.setShape({\n segs: data.getLayout('linesPoints')\n });\n\n this._setCommon(lineEl, data); // Add back\n\n\n this.group.add(lineEl);\n this._incremental = null;\n};\n/**\n * @override\n */\n\n\nlargeLineProto.incrementalPrepareUpdate = function (data) {\n this.group.removeAll();\n\n this._clearIncremental();\n\n if (data.count() > 5e5) {\n if (!this._incremental) {\n this._incremental = new IncrementalDisplayable({\n silent: true\n });\n }\n\n this.group.add(this._incremental);\n } else {\n this._incremental = null;\n }\n};\n/**\n * @override\n */\n\n\nlargeLineProto.incrementalUpdate = function (taskParams, data) {\n var lineEl = new LargeLineShape();\n lineEl.setShape({\n segs: data.getLayout('linesPoints')\n });\n\n this._setCommon(lineEl, data, !!this._incremental);\n\n if (!this._incremental) {\n lineEl.rectHover = true;\n lineEl.cursor = 'default';\n lineEl.__startIndex = taskParams.start;\n this.group.add(lineEl);\n } else {\n this._incremental.addDisplayable(lineEl, true);\n }\n};\n/**\n * @override\n */\n\n\nlargeLineProto.remove = function () {\n this._clearIncremental();\n\n this._incremental = null;\n this.group.removeAll();\n};\n\nlargeLineProto._setCommon = function (lineEl, data, isIncremental) {\n var hostModel = data.hostModel;\n lineEl.setShape({\n polyline: hostModel.get('polyline'),\n curveness: hostModel.get('lineStyle.curveness')\n });\n lineEl.useStyle(hostModel.getModel('lineStyle').getLineStyle());\n lineEl.style.strokeNoScale = true;\n var visualColor = data.getVisual('color');\n\n if (visualColor) {\n lineEl.setStyle('stroke', visualColor);\n }\n\n lineEl.setStyle('fill');\n\n if (!isIncremental) {\n // Enable tooltip\n // PENDING May have performance issue when path is extremely large\n lineEl.seriesIndex = hostModel.seriesIndex;\n lineEl.on('mousemove', function (e) {\n lineEl.dataIndex = null;\n var dataIndex = lineEl.findDataIndex(e.offsetX, e.offsetY);\n\n if (dataIndex > 0) {\n // Provide dataIndex for tooltip\n lineEl.dataIndex = dataIndex + lineEl.__startIndex;\n }\n });\n }\n};\n\nlargeLineProto._clearIncremental = function () {\n var incremental = this._incremental;\n\n if (incremental) {\n incremental.clearDisplaybles();\n }\n};\n\nvar _default = LargeLineDraw;\nmodule.exports = _default;","var svgURI = 'http://www.w3.org/2000/svg';\n\nfunction createElement(name) {\n return document.createElementNS(svgURI, name);\n}\n\nexports.createElement = createElement;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _dataProvider = require(\"../../data/helper/dataProvider\");\n\nvar retrieveRawValue = _dataProvider.retrieveRawValue;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {module:echarts/data/List} data\n * @param {number} dataIndex\n * @return {string} label string. Not null/undefined\n */\nfunction getDefaultLabel(data, dataIndex) {\n var labelDims = data.mapDimension('defaultedLabel', true);\n var len = labelDims.length; // Simple optimization (in lots of cases, label dims length is 1)\n\n if (len === 1) {\n return retrieveRawValue(data, dataIndex, labelDims[0]);\n } else if (len) {\n var vals = [];\n\n for (var i = 0; i < labelDims.length; i++) {\n var val = retrieveRawValue(data, dataIndex, labelDims[i]);\n vals.push(val);\n }\n\n return vals.join(' ');\n }\n}\n\nexports.getDefaultLabel = getDefaultLabel;","module.exports = {};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction circularLayout(seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && coordSys.type !== 'view') {\n return;\n }\n\n var rect = coordSys.getBoundingRect();\n var nodeData = seriesModel.getData();\n var graph = nodeData.graph;\n var angle = 0;\n var sum = nodeData.getSum('value');\n var unitAngle = Math.PI * 2 / (sum || nodeData.count());\n var cx = rect.width / 2 + rect.x;\n var cy = rect.height / 2 + rect.y;\n var r = Math.min(rect.width, rect.height) / 2;\n graph.eachNode(function (node) {\n var value = node.getValue('value');\n angle += unitAngle * (sum ? value : 1) / 2;\n node.setLayout([r * Math.cos(angle) + cx, r * Math.sin(angle) + cy]);\n angle += unitAngle * (sum ? value : 1) / 2;\n });\n nodeData.setLayout({\n cx: cx,\n cy: cy\n });\n graph.eachEdge(function (edge) {\n var curveness = edge.getModel().get('lineStyle.curveness') || 0;\n var p1 = vec2.clone(edge.node1.getLayout());\n var p2 = vec2.clone(edge.node2.getLayout());\n var cp1;\n var x12 = (p1[0] + p2[0]) / 2;\n var y12 = (p1[1] + p2[1]) / 2;\n\n if (+curveness) {\n curveness *= 3;\n cp1 = [cx * curveness + x12 * (1 - curveness), cy * curveness + y12 * (1 - curveness)];\n }\n\n edge.setLayout([p1, p2, cp1]);\n });\n}\n\nexports.circularLayout = circularLayout;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar LinearGradient = require(\"zrender/lib/graphic/LinearGradient\");\n\nvar eventTool = require(\"zrender/lib/core/event\");\n\nvar VisualMapView = require(\"./VisualMapView\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar sliderMove = require(\"../helper/sliderMove\");\n\nvar helper = require(\"./helper\");\n\nvar modelUtil = require(\"../../util/model\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar 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.convertDataIndex(resultBatches[0]));\n\n this._dispatchHighDown('highlight', helper.convertDataIndex(resultBatches[1]));\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.convertDataIndex(indices));\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar modelUtil = require(\"../../util/model\");\n\nvar formatUtil = require(\"../../util/format\");\n\nvar dataFormatMixin = require(\"../../model/mixin/dataFormat\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar addCommas = formatUtil.addCommas;\nvar encodeHTML = formatUtil.encodeHTML;\n\nfunction fillLabel(opt) {\n modelUtil.defaultEmphasis(opt, 'label', ['show']);\n}\n\nvar MarkerModel = echarts.extendComponentModel({\n type: 'marker',\n dependencies: ['series', 'grid', 'polar', 'geo'],\n\n /**\n * @overrite\n */\n init: function (option, parentModel, ecModel, extraOpt) {\n this.mergeDefaultAndTheme(option, ecModel);\n this.mergeOption(option, ecModel, extraOpt.createdBySelf, true);\n },\n\n /**\n * @return {boolean}\n */\n isAnimationEnabled: function () {\n if (env.node) {\n return false;\n }\n\n var hostSeries = this.__hostSeries;\n return this.getShallow('animation') && hostSeries && hostSeries.isAnimationEnabled();\n },\n mergeOption: function (newOpt, ecModel, createdBySelf, isInit) {\n var MarkerModel = this.constructor;\n var modelPropName = this.mainType + 'Model';\n\n if (!createdBySelf) {\n ecModel.eachSeries(function (seriesModel) {\n var markerOpt = seriesModel.get(this.mainType, true);\n var markerModel = seriesModel[modelPropName];\n\n if (!markerOpt || !markerOpt.data) {\n seriesModel[modelPropName] = null;\n return;\n }\n\n if (!markerModel) {\n if (isInit) {\n // Default label emphasis `position` and `show`\n fillLabel(markerOpt);\n }\n\n zrUtil.each(markerOpt.data, function (item) {\n // FIXME Overwrite fillLabel method ?\n if (item instanceof Array) {\n fillLabel(item[0]);\n fillLabel(item[1]);\n } else {\n fillLabel(item);\n }\n });\n markerModel = new MarkerModel(markerOpt, this, ecModel);\n zrUtil.extend(markerModel, {\n mainType: this.mainType,\n // Use the same series index and name\n seriesIndex: seriesModel.seriesIndex,\n name: seriesModel.name,\n createdBySelf: true\n });\n markerModel.__hostSeries = seriesModel;\n } else {\n markerModel.mergeOption(markerOpt, ecModel, true);\n }\n\n seriesModel[modelPropName] = markerModel;\n }, this);\n }\n },\n formatTooltip: function (dataIndex) {\n var data = this.getData();\n var value = this.getRawValue(dataIndex);\n var formattedValue = zrUtil.isArray(value) ? zrUtil.map(value, addCommas).join(', ') : addCommas(value);\n var name = data.getName(dataIndex);\n var html = encodeHTML(this.name);\n\n if (value != null || name) {\n html += '
';\n }\n\n if (name) {\n html += encodeHTML(name);\n\n if (value != null) {\n html += ' : ';\n }\n }\n\n if (value != null) {\n html += encodeHTML(formattedValue);\n }\n\n return html;\n },\n getData: function () {\n return this._data;\n },\n setData: function (data) {\n this._data = data;\n }\n});\nzrUtil.mixin(MarkerModel, dataFormatMixin);\nvar _default = MarkerModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./legend\");\n\nrequire(\"./legend/ScrollableLegendModel\");\n\nrequire(\"./legend/ScrollableLegendView\");\n\nrequire(\"./legend/scrollableLegendAction\");","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar MarkerModel = require(\"./MarkerModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = MarkerModel.extend({\n type: '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 },\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;","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\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, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\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","var ContextCachedBy = {\n NONE: 0,\n STYLE_BIND: 1,\n PLAIN_TEXT: 2\n}; // Avoid confused with 0/false.\n\nvar WILL_BE_RESTORED = 9;\nexports.ContextCachedBy = ContextCachedBy;\nexports.WILL_BE_RESTORED = WILL_BE_RESTORED;","'use strict';\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar createListFromArray = require(\"./chart/helper/createListFromArray\");\n\nvar axisHelper = require(\"./coord/axisHelper\");\n\nvar axisModelCommonMixin = require(\"./coord/axisModelCommonMixin\");\n\nvar Model = require(\"./model/Model\");\n\nvar _layout = require(\"./util/layout\");\n\nvar getLayoutRect = _layout.getLayoutRect;\nexports.getLayoutRect = _layout.getLayoutRect;\n\nvar _dataStackHelper = require(\"./data/helper/dataStackHelper\");\n\nvar enableDataStack = _dataStackHelper.enableDataStack;\nvar isDimensionStacked = _dataStackHelper.isDimensionStacked;\nvar getStackedDimension = _dataStackHelper.getStackedDimension;\n\nvar _completeDimensions = require(\"./data/helper/completeDimensions\");\n\nexports.completeDimensions = _completeDimensions;\n\nvar _createDimensions = require(\"./data/helper/createDimensions\");\n\nexports.createDimensions = _createDimensions;\n\nvar _symbol = require(\"./util/symbol\");\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 * @see http://echarts.baidu.com/option.html#series-scatter.symbol\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _listComponent = require(\"../helper/listComponent\");\n\nvar makeBackground = _listComponent.makeBackground;\n\nvar layoutUtil = require(\"../../util/layout\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 curry = zrUtil.curry;\nvar each = zrUtil.each;\nvar Group = graphic.Group;\n\nvar _default = echarts.extendComponentView({\n type: 'legend.plain',\n newlineDisabled: false,\n\n /**\n * @override\n */\n init: function () {\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n this.group.add(this._contentGroup = new Group());\n /**\n * @private\n * @type {module:zrender/Element}\n */\n\n this._backgroundEl;\n /**\n * If first rendering, `contentGroup.position` is [0, 0], which\n * does not make sense and may cause unexepcted animation if adopted.\n * @private\n * @type {boolean}\n */\n\n this._isFirstRender = true;\n },\n\n /**\n * @protected\n */\n getContentGroup: function () {\n return this._contentGroup;\n },\n\n /**\n * @override\n */\n render: function (legendModel, ecModel, api) {\n var isFirstRender = this._isFirstRender;\n this._isFirstRender = false;\n this.resetInner();\n\n if (!legendModel.get('show', true)) {\n return;\n }\n\n var itemAlign = legendModel.get('align');\n\n if (!itemAlign || itemAlign === 'auto') {\n itemAlign = legendModel.get('left') === 'right' && legendModel.get('orient') === 'vertical' ? 'right' : 'left';\n }\n\n this.renderInner(itemAlign, legendModel, ecModel, api); // Perform layout.\n\n var positionInfo = legendModel.getBoxLayoutParams();\n var viewportSize = {\n width: api.getWidth(),\n height: api.getHeight()\n };\n var padding = legendModel.get('padding');\n var maxSize = layoutUtil.getLayoutRect(positionInfo, viewportSize, padding);\n var mainRect = this.layoutInner(legendModel, itemAlign, maxSize, isFirstRender); // Place mainGroup, based on the calculated `mainRect`.\n\n var layoutRect = layoutUtil.getLayoutRect(zrUtil.defaults({\n width: mainRect.width,\n height: mainRect.height\n }, positionInfo), viewportSize, padding);\n this.group.attr('position', [layoutRect.x - mainRect.x, layoutRect.y - mainRect.y]); // Render background after group is layout.\n\n this.group.add(this._backgroundEl = makeBackground(mainRect, legendModel));\n },\n\n /**\n * @protected\n */\n resetInner: function () {\n this.getContentGroup().removeAll();\n this._backgroundEl && this.group.remove(this._backgroundEl);\n },\n\n /**\n * @protected\n */\n renderInner: function (itemAlign, legendModel, ecModel, api) {\n var contentGroup = this.getContentGroup();\n var legendDrawnMap = zrUtil.createHashMap();\n var selectMode = legendModel.get('selectedMode');\n var excludeSeriesId = [];\n ecModel.eachRawSeries(function (seriesModel) {\n !seriesModel.get('legendHoverLink') && excludeSeriesId.push(seriesModel.id);\n });\n each(legendModel.getData(), function (itemModel, dataIndex) {\n var name = itemModel.get('name'); // Use empty string or \\n as a newline string\n\n if (!this.newlineDisabled && (name === '' || name === '\\n')) {\n contentGroup.add(new Group({\n newline: true\n }));\n return;\n } // Representitive series.\n\n\n var seriesModel = ecModel.getSeriesByName(name)[0];\n\n if (legendDrawnMap.get(name)) {\n // Have been drawed\n return;\n } // Series legend\n\n\n if (seriesModel) {\n var data = seriesModel.getData();\n var color = data.getVisual('color'); // If color is a callback function\n\n if (typeof color === 'function') {\n // Use the first data\n color = color(seriesModel.getDataParams(0));\n } // Using rect symbol defaultly\n\n\n var legendSymbolType = data.getVisual('legendSymbol') || 'roundRect';\n var symbolType = data.getVisual('symbol');\n\n var itemGroup = this._createItem(name, dataIndex, itemModel, legendModel, legendSymbolType, symbolType, itemAlign, color, selectMode);\n\n itemGroup.on('click', curry(dispatchSelectAction, name, api)).on('mouseover', curry(dispatchHighlightAction, seriesModel.name, null, api, excludeSeriesId)).on('mouseout', curry(dispatchDownplayAction, seriesModel.name, null, api, excludeSeriesId));\n legendDrawnMap.set(name, true);\n } else {\n // Data legend of pie, funnel\n ecModel.eachRawSeries(function (seriesModel) {\n // In case multiple series has same data name\n if (legendDrawnMap.get(name)) {\n return;\n }\n\n if (seriesModel.legendDataProvider) {\n var data = seriesModel.legendDataProvider();\n var idx = data.indexOfName(name);\n\n if (idx < 0) {\n return;\n }\n\n var color = data.getItemVisual(idx, 'color');\n var legendSymbolType = 'roundRect';\n\n var itemGroup = this._createItem(name, dataIndex, itemModel, legendModel, legendSymbolType, null, itemAlign, color, selectMode); // FIXME: consider different series has items with the same name.\n\n\n itemGroup.on('click', curry(dispatchSelectAction, name, api)) // Should not specify the series name, consider legend controls\n // more than one pie series.\n .on('mouseover', curry(dispatchHighlightAction, null, name, api, excludeSeriesId)).on('mouseout', curry(dispatchDownplayAction, null, name, api, excludeSeriesId));\n legendDrawnMap.set(name, true);\n }\n }, this);\n }\n }, this);\n },\n _createItem: function (name, dataIndex, itemModel, legendModel, legendSymbolType, symbolType, itemAlign, color, selectMode) {\n var itemWidth = legendModel.get('itemWidth');\n var itemHeight = legendModel.get('itemHeight');\n var inactiveColor = legendModel.get('inactiveColor');\n var symbolKeepAspect = legendModel.get('symbolKeepAspect');\n var isSelected = legendModel.isSelected(name);\n var itemGroup = new Group();\n var textStyleModel = itemModel.getModel('textStyle');\n var itemIcon = itemModel.get('icon');\n var tooltipModel = itemModel.getModel('tooltip');\n var legendGlobalTooltipModel = tooltipModel.parentModel; // Use user given icon first\n\n legendSymbolType = itemIcon || legendSymbolType;\n itemGroup.add(createSymbol(legendSymbolType, 0, 0, itemWidth, itemHeight, isSelected ? color : inactiveColor, // symbolKeepAspect default true for legend\n symbolKeepAspect == null ? true : symbolKeepAspect)); // Compose symbols\n // PENDING\n\n if (!itemIcon && symbolType // At least show one symbol, can't be all none\n && (symbolType !== legendSymbolType || symbolType === 'none')) {\n var size = itemHeight * 0.8;\n\n if (symbolType === 'none') {\n symbolType = 'circle';\n } // Put symbol in the center\n\n\n itemGroup.add(createSymbol(symbolType, (itemWidth - size) / 2, (itemHeight - size) / 2, size, size, isSelected ? color : inactiveColor, // symbolKeepAspect default true for legend\n symbolKeepAspect == null ? true : symbolKeepAspect));\n }\n\n var textX = itemAlign === 'left' ? itemWidth + 5 : -5;\n var textAlign = itemAlign;\n var formatter = legendModel.get('formatter');\n var content = name;\n\n if (typeof formatter === 'string' && formatter) {\n content = formatter.replace('{name}', name != null ? name : '');\n } else if (typeof formatter === 'function') {\n content = formatter(name);\n }\n\n itemGroup.add(new graphic.Text({\n style: graphic.setTextStyle({}, textStyleModel, {\n text: content,\n x: textX,\n y: itemHeight / 2,\n textFill: isSelected ? textStyleModel.getTextColor() : inactiveColor,\n textAlign: textAlign,\n textVerticalAlign: 'middle'\n })\n })); // Add a invisible rect to increase the area of mouse hover\n\n var hitRect = new graphic.Rect({\n shape: itemGroup.getBoundingRect(),\n invisible: true,\n tooltip: tooltipModel.get('show') ? zrUtil.extend({\n content: name,\n // Defaul formatter\n formatter: legendGlobalTooltipModel.get('formatter', true) || function () {\n return name;\n },\n formatterParams: {\n componentType: 'legend',\n legendIndex: legendModel.componentIndex,\n name: name,\n $vars: ['name']\n }\n }, tooltipModel.option) : null\n });\n itemGroup.add(hitRect);\n itemGroup.eachChild(function (child) {\n child.silent = true;\n });\n hitRect.silent = !selectMode;\n this.getContentGroup().add(itemGroup);\n graphic.setHoverStyle(itemGroup);\n itemGroup.__legendDataIndex = dataIndex;\n return itemGroup;\n },\n\n /**\n * @protected\n */\n layoutInner: function (legendModel, itemAlign, maxSize) {\n var contentGroup = this.getContentGroup(); // Place items in contentGroup.\n\n layoutUtil.box(legendModel.get('orient'), contentGroup, legendModel.get('itemGap'), maxSize.width, maxSize.height);\n var contentRect = contentGroup.getBoundingRect();\n contentGroup.attr('position', [-contentRect.x, -contentRect.y]);\n return this.group.getBoundingRect();\n },\n\n /**\n * @protected\n */\n remove: function () {\n this.getContentGroup().removeAll();\n this._isFirstRender = true;\n }\n});\n\nfunction dispatchSelectAction(name, api) {\n api.dispatchAction({\n type: 'legendToggleSelect',\n name: name\n });\n}\n\nfunction dispatchHighlightAction(seriesName, dataName, api, excludeSeriesId) {\n // If element hover will move to a hoverLayer.\n var el = api.getZr().storage.getDisplayList()[0];\n\n if (!(el && el.useHoverLayer)) {\n api.dispatchAction({\n type: 'highlight',\n seriesName: seriesName,\n name: dataName,\n excludeSeriesId: excludeSeriesId\n });\n }\n}\n\nfunction dispatchDownplayAction(seriesName, dataName, api, excludeSeriesId) {\n // If element hover will move to a hoverLayer.\n var el = api.getZr().storage.getDisplayList()[0];\n\n if (!(el && el.useHoverLayer)) {\n api.dispatchAction({\n type: 'downplay',\n seriesName: seriesName,\n name: dataName,\n excludeSeriesId: excludeSeriesId\n });\n }\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar matrix = require(\"zrender/lib/core/matrix\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar layout = require(\"../../util/layout\");\n\nvar TimelineView = require(\"./TimelineView\");\n\nvar TimelineAxis = require(\"./TimelineAxis\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar axisHelper = require(\"../../coord/axisHelper\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar _format = require(\"../../util/format\");\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;","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _clazz = require(\"./clazz\");\n\nvar parseClassType = _clazz.parseClassType;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar base = 0;\n/**\n * @public\n * @param {string} type\n * @return {string}\n */\n\nfunction getUID(type) {\n // Considering the case of crossing js context,\n // use Math.random to make id as unique as possible.\n return [type || '', base++, Math.random().toFixed(5)].join('_');\n}\n/**\n * @inner\n */\n\n\nfunction enableSubTypeDefaulter(entity) {\n var subTypeDefaulters = {};\n\n entity.registerSubTypeDefaulter = function (componentType, defaulter) {\n componentType = parseClassType(componentType);\n subTypeDefaulters[componentType.main] = defaulter;\n };\n\n entity.determineSubType = function (componentType, option) {\n var type = option.type;\n\n if (!type) {\n var componentTypeMain = parseClassType(componentType).main;\n\n if (entity.hasSubTypes(componentType) && subTypeDefaulters[componentTypeMain]) {\n type = subTypeDefaulters[componentTypeMain](option);\n }\n }\n\n return type;\n };\n\n return entity;\n}\n/**\n * Topological travel on Activity Network (Activity On Vertices).\n * Dependencies is defined in Model.prototype.dependencies, like ['xAxis', 'yAxis'].\n *\n * If 'xAxis' or 'yAxis' is absent in componentTypeList, just ignore it in topology.\n *\n * If there is circle dependencey, Error will be thrown.\n *\n */\n\n\nfunction enableTopologicalTravel(entity, dependencyGetter) {\n /**\n * @public\n * @param {Array.} targetNameList Target Component type list.\n * Can be ['aa', 'bb', 'aa.xx']\n * @param {Array.} fullNameList By which we can build dependency graph.\n * @param {Function} callback Params: componentType, dependencies.\n * @param {Object} context Scope of callback.\n */\n entity.topologicalTravel = function (targetNameList, fullNameList, callback, context) {\n if (!targetNameList.length) {\n return;\n }\n\n var result = makeDepndencyGraph(fullNameList);\n var graph = result.graph;\n var stack = result.noEntryList;\n var targetNameSet = {};\n zrUtil.each(targetNameList, function (name) {\n targetNameSet[name] = true;\n });\n\n while (stack.length) {\n var currComponentType = stack.pop();\n var currVertex = graph[currComponentType];\n var isInTargetNameSet = !!targetNameSet[currComponentType];\n\n if (isInTargetNameSet) {\n callback.call(context, currComponentType, currVertex.originalDeps.slice());\n delete targetNameSet[currComponentType];\n }\n\n zrUtil.each(currVertex.successor, isInTargetNameSet ? removeEdgeAndAdd : removeEdge);\n }\n\n zrUtil.each(targetNameSet, function () {\n throw new Error('Circle dependency may exists');\n });\n\n function removeEdge(succComponentType) {\n graph[succComponentType].entryCount--;\n\n if (graph[succComponentType].entryCount === 0) {\n stack.push(succComponentType);\n }\n } // Consider this case: legend depends on series, and we call\n // chart.setOption({series: [...]}), where only series is in option.\n // If we do not have 'removeEdgeAndAdd', legendModel.mergeOption will\n // not be called, but only sereis.mergeOption is called. Thus legend\n // have no chance to update its local record about series (like which\n // name of series is available in legend).\n\n\n function removeEdgeAndAdd(succComponentType) {\n targetNameSet[succComponentType] = true;\n removeEdge(succComponentType);\n }\n };\n /**\n * DepndencyGraph: {Object}\n * key: conponentType,\n * value: {\n * successor: [conponentTypes...],\n * originalDeps: [conponentTypes...],\n * entryCount: {number}\n * }\n */\n\n\n function makeDepndencyGraph(fullNameList) {\n var graph = {};\n var noEntryList = [];\n zrUtil.each(fullNameList, function (name) {\n var thisItem = createDependencyGraphItem(graph, name);\n var originalDeps = thisItem.originalDeps = dependencyGetter(name);\n var availableDeps = getAvailableDependencies(originalDeps, fullNameList);\n thisItem.entryCount = availableDeps.length;\n\n if (thisItem.entryCount === 0) {\n noEntryList.push(name);\n }\n\n zrUtil.each(availableDeps, function (dependentName) {\n if (zrUtil.indexOf(thisItem.predecessor, dependentName) < 0) {\n thisItem.predecessor.push(dependentName);\n }\n\n var thatItem = createDependencyGraphItem(graph, dependentName);\n\n if (zrUtil.indexOf(thatItem.successor, dependentName) < 0) {\n thatItem.successor.push(name);\n }\n });\n });\n return {\n graph: graph,\n noEntryList: noEntryList\n };\n }\n\n function createDependencyGraphItem(graph, name) {\n if (!graph[name]) {\n graph[name] = {\n predecessor: [],\n successor: []\n };\n }\n\n return graph[name];\n }\n\n function getAvailableDependencies(originalDeps, fullNameList) {\n var availableDeps = [];\n zrUtil.each(originalDeps, function (dep) {\n zrUtil.indexOf(fullNameList, dep) >= 0 && availableDeps.push(dep);\n });\n return availableDeps;\n }\n}\n\nexports.getUID = getUID;\nexports.enableSubTypeDefaulter = enableSubTypeDefaulter;\nexports.enableTopologicalTravel = enableTopologicalTravel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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, 'normal', 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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ChartView = require(\"../../view/Chart\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar Path = require(\"zrender/lib/graphic/Path\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Update common properties\nvar NORMAL_ITEM_STYLE_PATH = ['itemStyle'];\nvar EMPHASIS_ITEM_STYLE_PATH = ['emphasis', 'itemStyle'];\nvar BoxplotView = ChartView.extend({\n type: 'boxplot',\n render: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var group = this.group;\n var oldData = this._data; // There is no old data only when first rendering or switching from\n // stream mode to normal mode, where previous elements should be removed.\n\n if (!this._data) {\n group.removeAll();\n }\n\n var constDim = seriesModel.get('layout') === 'horizontal' ? 1 : 0;\n data.diff(oldData).add(function (newIdx) {\n if (data.hasValue(newIdx)) {\n var itemLayout = data.getItemLayout(newIdx);\n var symbolEl = createNormalBox(itemLayout, data, newIdx, constDim, true);\n data.setItemGraphicEl(newIdx, symbolEl);\n group.add(symbolEl);\n }\n }).update(function (newIdx, oldIdx) {\n var symbolEl = oldData.getItemGraphicEl(oldIdx); // Empty data\n\n if (!data.hasValue(newIdx)) {\n group.remove(symbolEl);\n return;\n }\n\n var itemLayout = data.getItemLayout(newIdx);\n\n if (!symbolEl) {\n symbolEl = createNormalBox(itemLayout, data, newIdx, constDim);\n } else {\n updateNormalBoxData(itemLayout, symbolEl, data, newIdx);\n }\n\n group.add(symbolEl);\n data.setItemGraphicEl(newIdx, symbolEl);\n }).remove(function (oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx);\n el && group.remove(el);\n }).execute();\n this._data = data;\n },\n remove: function (ecModel) {\n var group = this.group;\n var data = this._data;\n this._data = null;\n data && data.eachItemGraphicEl(function (el) {\n el && group.remove(el);\n });\n },\n dispose: zrUtil.noop\n});\nvar BoxPath = Path.extend({\n type: 'boxplotBoxPath',\n shape: {},\n buildPath: function (ctx, shape) {\n var ends = shape.points;\n var i = 0;\n ctx.moveTo(ends[i][0], ends[i][1]);\n i++;\n\n for (; i < 4; i++) {\n ctx.lineTo(ends[i][0], ends[i][1]);\n }\n\n ctx.closePath();\n\n for (; i < ends.length; i++) {\n ctx.moveTo(ends[i][0], ends[i][1]);\n i++;\n ctx.lineTo(ends[i][0], ends[i][1]);\n }\n }\n});\n\nfunction createNormalBox(itemLayout, data, dataIndex, constDim, isInit) {\n var ends = itemLayout.ends;\n var el = new BoxPath({\n shape: {\n points: isInit ? transInit(ends, constDim, itemLayout) : ends\n }\n });\n updateNormalBoxData(itemLayout, el, data, dataIndex, isInit);\n return el;\n}\n\nfunction updateNormalBoxData(itemLayout, el, data, dataIndex, isInit) {\n var seriesModel = data.hostModel;\n var updateMethod = graphic[isInit ? 'initProps' : 'updateProps'];\n updateMethod(el, {\n shape: {\n points: itemLayout.ends\n }\n }, seriesModel, dataIndex);\n var itemModel = data.getItemModel(dataIndex);\n var normalItemStyleModel = itemModel.getModel(NORMAL_ITEM_STYLE_PATH);\n var borderColor = data.getItemVisual(dataIndex, 'color'); // Exclude borderColor.\n\n var itemStyle = normalItemStyleModel.getItemStyle(['borderColor']);\n itemStyle.stroke = borderColor;\n itemStyle.strokeNoScale = true;\n el.useStyle(itemStyle);\n el.z2 = 100;\n var hoverStyle = itemModel.getModel(EMPHASIS_ITEM_STYLE_PATH).getItemStyle();\n graphic.setHoverStyle(el, hoverStyle);\n}\n\nfunction transInit(points, dim, itemLayout) {\n return zrUtil.map(points, function (point) {\n point = point.slice();\n point[dim] = itemLayout.initBaseline;\n return point;\n });\n}\n\nvar _default = BoxplotView;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar AxisBuilder = require(\"./AxisBuilder\");\n\nvar AxisView = require(\"./AxisView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\nvar selfBuilderAttrs = ['splitLine', 'splitArea'];\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 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);\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 silent: true\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 _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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar featureManager = require(\"./featureManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar ToolboxModel = echarts.extendComponentModel({\n type: 'toolbox',\n layoutMode: {\n type: 'box',\n ignoreSize: true\n },\n optionUpdated: function () {\n ToolboxModel.superApply(this, 'optionUpdated', arguments);\n zrUtil.each(this.option.feature, function (featureOpt, featureName) {\n var Feature = featureManager.get(featureName);\n Feature && zrUtil.merge(featureOpt, Feature.defaultOption);\n });\n },\n defaultOption: {\n show: true,\n z: 6,\n zlevel: 0,\n orient: 'horizontal',\n left: 'right',\n top: 'top',\n // right\n // bottom\n backgroundColor: 'transparent',\n borderColor: '#ccc',\n borderRadius: 0,\n borderWidth: 0,\n padding: 5,\n itemSize: 15,\n itemGap: 8,\n showTitle: true,\n iconStyle: {\n borderColor: '#666',\n color: 'none'\n },\n emphasis: {\n iconStyle: {\n borderColor: '#3E98C5'\n } // textStyle: {},\n // feature\n\n }\n }\n});\nvar _default = ToolboxModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _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 function pointsConverter(val, idx) {\n points[idx] = points[idx] || [];\n points[idx][i] = coordSys.dataToPoint(val, i);\n }\n\n var axes = coordSys.getIndicatorAxes();\n\n for (var i = 0; i < axes.length; i++) {\n data.each(data.mapDimension(axes[i].dim), pointsConverter);\n }\n\n data.each(function (idx) {\n // Close polygon\n points[idx][0] && points[idx].push(points[idx][0].slice());\n data.setItemLayout(idx, points[idx]);\n });\n });\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BrushController = require(\"../helper/BrushController\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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: updateController,\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 }\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;","var _config = require(\"../config\");\n\nvar debugMode = _config.debugMode;\n\nvar log = function () {};\n\nif (debugMode === 1) {\n log = function () {\n for (var k in arguments) {\n throw new Error(arguments[k]);\n }\n };\n} else if (debugMode > 1) {\n log = function () {\n for (var k in arguments) {\n console.log(arguments[k]);\n }\n };\n}\n\nvar _default = log;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar IndicatorAxis = require(\"./IndicatorAxis\");\n\nvar IntervalScale = require(\"../../scale/Interval\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar _axisHelper = require(\"../axisHelper\");\n\nvar getScaleExtent = _axisHelper.getScaleExtent;\nvar niceScaleExtent = _axisHelper.niceScaleExtent;\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// 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, 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.coodToData(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 } // PENDING\n\n\n var center = Math.round((rawExtent[0] + rawExtent[1]) / 2 / interval) * interval;\n var halfSplitNumber = Math.round(splitNumber / 2);\n scale.setExtent(numberUtil.round(center - halfSplitNumber * interval), numberUtil.round(center + (splitNumber - halfSplitNumber) * interval));\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;","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar View = require(\"../View\");\n\nvar geoSourceManager = require(\"./geoSourceManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * [Geo description]\n * For backward compatibility, the orginal interface:\n * `name, map, geoJson, specialAreas, nameMap` is kept.\n *\n * @param {string|Object} name\n * @param {string} map Map type\n * Specify the positioned areas by left, top, width, height\n * @param {Object.} [nameMap]\n * Specify name alias\n * @param {boolean} [invertLongitute=true]\n */\nfunction Geo(name, map, nameMap, invertLongitute) {\n View.call(this, name);\n /**\n * Map type\n * @type {string}\n */\n\n this.map = map;\n var source = geoSourceManager.load(map, nameMap);\n this._nameCoordMap = source.nameCoordMap;\n this._regionsMap = source.regionsMap;\n this._invertLongitute = invertLongitute == null ? true : invertLongitute;\n /**\n * @readOnly\n */\n\n this.regions = source.regions;\n /**\n * @type {module:zrender/src/core/BoundingRect}\n */\n\n this._rect = source.boundingRect;\n}\n\nGeo.prototype = {\n constructor: Geo,\n type: 'geo',\n\n /**\n * @param {Array.}\n * @readOnly\n */\n dimensions: ['lng', 'lat'],\n\n /**\n * If contain given lng,lat coord\n * @param {Array.}\n * @readOnly\n */\n containCoord: function (coord) {\n var regions = this.regions;\n\n for (var i = 0; i < regions.length; i++) {\n if (regions[i].contain(coord)) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * @override\n */\n transformTo: function (x, y, width, height) {\n var rect = this.getBoundingRect();\n var invertLongitute = this._invertLongitute;\n rect = rect.clone();\n\n if (invertLongitute) {\n // Longitute is inverted\n rect.y = -rect.y - rect.height;\n }\n\n var rawTransformable = this._rawTransformable;\n rawTransformable.transform = rect.calculateTransform(new BoundingRect(x, y, width, height));\n rawTransformable.decomposeTransform();\n\n if (invertLongitute) {\n var scale = rawTransformable.scale;\n scale[1] = -scale[1];\n }\n\n rawTransformable.updateTransform();\n\n this._updateTransform();\n },\n\n /**\n * @param {string} name\n * @return {module:echarts/coord/geo/Region}\n */\n getRegion: function (name) {\n return this._regionsMap.get(name);\n },\n getRegionByCoord: function (coord) {\n var regions = this.regions;\n\n for (var i = 0; i < regions.length; i++) {\n if (regions[i].contain(coord)) {\n return regions[i];\n }\n }\n },\n\n /**\n * Add geoCoord for indexing by name\n * @param {string} name\n * @param {Array.} geoCoord\n */\n addGeoCoord: function (name, geoCoord) {\n this._nameCoordMap.set(name, geoCoord);\n },\n\n /**\n * Get geoCoord by name\n * @param {string} name\n * @return {Array.}\n */\n getGeoCoord: function (name) {\n return this._nameCoordMap.get(name);\n },\n\n /**\n * @override\n */\n getBoundingRect: function () {\n return this._rect;\n },\n\n /**\n * @param {string|Array.} data\n * @param {boolean} noRoam\n * @param {Array.} [out]\n * @return {Array.}\n */\n dataToPoint: function (data, noRoam, out) {\n if (typeof data === 'string') {\n // Map area name to geoCoord\n data = this.getGeoCoord(data);\n }\n\n if (data) {\n return View.prototype.dataToPoint.call(this, data, noRoam, out);\n }\n },\n\n /**\n * @override\n */\n convertToPixel: zrUtil.curry(doConvert, 'dataToPoint'),\n\n /**\n * @override\n */\n convertFromPixel: zrUtil.curry(doConvert, 'pointToData')\n};\nzrUtil.mixin(Geo, View);\n\nfunction doConvert(methodName, ecModel, finder, value) {\n var geoModel = finder.geoModel;\n var seriesModel = finder.seriesModel;\n var coordSys = geoModel ? geoModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem // For map.\n || (seriesModel.getReferringComponents('geo')[0] || {}).coordinateSystem : null;\n return coordSys === this ? coordSys[methodName](value) : null;\n}\n\nvar _default = Geo;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _circularLayoutHelper = require(\"./circularLayoutHelper\");\n\nvar circularLayout = _circularLayoutHelper.circularLayout;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(ecModel) {\n ecModel.eachSeriesByType('graph', function (seriesModel) {\n if (seriesModel.get('layout') === 'circular') {\n circularLayout(seriesModel);\n }\n });\n}\n\nmodule.exports = _default;","/**\n * @param {Array.} colorStops\n */\nvar Gradient = function (colorStops) {\n this.colorStops = colorStops || [];\n};\n\nGradient.prototype = {\n constructor: Gradient,\n addColorStop: function (offset, color) {\n this.colorStops.push({\n offset: offset,\n color: color\n });\n }\n};\nvar _default = Gradient;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar axisPointerModelHelper = require(\"../axisPointer/modelHelper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 * Base class of AxisView.\n */\nvar AxisView = echarts.extendComponentView({\n type: 'axis',\n\n /**\n * @private\n */\n _axisPointer: null,\n\n /**\n * @protected\n * @type {string}\n */\n axisPointerClass: null,\n\n /**\n * @override\n */\n render: function (axisModel, ecModel, api, payload) {\n // FIXME\n // This process should proformed after coordinate systems updated\n // (axis scale updated), and should be performed each time update.\n // So put it here temporarily, although it is not appropriate to\n // put a model-writing procedure in `view`.\n this.axisPointerClass && axisPointerModelHelper.fixValue(axisModel);\n AxisView.superApply(this, 'render', arguments);\n updateAxisPointer(this, axisModel, ecModel, api, payload, true);\n },\n\n /**\n * Action handler.\n * @public\n * @param {module:echarts/coord/cartesian/AxisModel} axisModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n updateAxisPointer: function (axisModel, ecModel, api, payload, force) {\n updateAxisPointer(this, axisModel, ecModel, api, payload, false);\n },\n\n /**\n * @override\n */\n remove: function (ecModel, api) {\n var axisPointer = this._axisPointer;\n axisPointer && axisPointer.remove(api);\n AxisView.superApply(this, 'remove', arguments);\n },\n\n /**\n * @override\n */\n dispose: function (ecModel, api) {\n disposeAxisPointer(this, api);\n AxisView.superApply(this, 'dispose', arguments);\n }\n});\n\nfunction updateAxisPointer(axisView, axisModel, ecModel, api, payload, forceRender) {\n var Clazz = AxisView.getAxisPointerClass(axisView.axisPointerClass);\n\n if (!Clazz) {\n return;\n }\n\n var axisPointerModel = axisPointerModelHelper.getAxisPointerModel(axisModel);\n axisPointerModel ? (axisView._axisPointer || (axisView._axisPointer = new Clazz())).render(axisModel, axisPointerModel, api, forceRender) : disposeAxisPointer(axisView, api);\n}\n\nfunction disposeAxisPointer(axisView, ecModel, api) {\n var axisPointer = axisView._axisPointer;\n axisPointer && axisPointer.dispose(ecModel, api);\n axisView._axisPointer = null;\n}\n\nvar axisPointerClazz = [];\n\nAxisView.registerAxisPointerClass = function (type, clazz) {\n axisPointerClazz[type] = clazz;\n};\n\nAxisView.getAxisPointerClass = function (type) {\n return type && axisPointerClazz[type];\n};\n\nvar _default = AxisView;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./marker/MarkLineModel\");\n\nrequire(\"./marker/MarkLineView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerPreprocessor(function (opt) {\n // Make sure markLine component is enabled\n opt.markLine = opt.markLine || {};\n});","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var _core = require(\"../core\");\n\nvar createElement = _core.createElement;\n\nvar zrUtil = require(\"../../core/util\");\n\nvar Path = require(\"../../graphic/Path\");\n\nvar ZImage = require(\"../../graphic/Image\");\n\nvar ZText = require(\"../../graphic/Text\");\n\nvar _graphic = require(\"../graphic\");\n\nvar svgPath = _graphic.path;\nvar svgImage = _graphic.image;\nvar svgText = _graphic.text;\n\n/**\n * @file Manages elements that can be defined in in SVG,\n * e.g., gradients, clip path, etc.\n * @author Zhang Wenli\n */\nvar MARK_UNUSED = '0';\nvar MARK_USED = '1';\n/**\n * Manages elements that can be defined in in SVG,\n * e.g., gradients, clip path, etc.\n *\n * @class\n * @param {number} zrId zrender instance id\n * @param {SVGElement} svgRoot root of SVG document\n * @param {string|string[]} tagNames possible tag names\n * @param {string} markLabel label name to make if the element\n * is used\n */\n\nfunction Definable(zrId, svgRoot, tagNames, markLabel, domName) {\n this._zrId = zrId;\n this._svgRoot = svgRoot;\n this._tagNames = typeof tagNames === 'string' ? [tagNames] : tagNames;\n this._markLabel = markLabel;\n this._domName = domName || '_dom';\n this.nextId = 0;\n}\n\nDefinable.prototype.createElement = createElement;\n/**\n * Get the tag for svgRoot; optionally creates one if not exists.\n *\n * @param {boolean} isForceCreating if need to create when not exists\n * @return {SVGDefsElement} SVG element, null if it doesn't\n * exist and isForceCreating is false\n */\n\nDefinable.prototype.getDefs = function (isForceCreating) {\n var svgRoot = this._svgRoot;\n\n var defs = this._svgRoot.getElementsByTagName('defs');\n\n if (defs.length === 0) {\n // Not exist\n if (isForceCreating) {\n defs = svgRoot.insertBefore(this.createElement('defs'), // Create new tag\n svgRoot.firstChild // Insert in the front of svg\n );\n\n if (!defs.contains) {\n // IE doesn't support contains method\n defs.contains = function (el) {\n var children = defs.children;\n\n if (!children) {\n return false;\n }\n\n for (var i = children.length - 1; i >= 0; --i) {\n if (children[i] === el) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n return defs;\n } else {\n return null;\n }\n } else {\n return defs[0];\n }\n};\n/**\n * Update DOM element if necessary.\n *\n * @param {Object|string} element style element. e.g., for gradient,\n * it may be '#ccc' or {type: 'linear', ...}\n * @param {Function|undefined} onUpdate update callback\n */\n\n\nDefinable.prototype.update = function (element, onUpdate) {\n if (!element) {\n return;\n }\n\n var defs = this.getDefs(false);\n\n if (element[this._domName] && defs.contains(element[this._domName])) {\n // Update DOM\n if (typeof onUpdate === 'function') {\n onUpdate(element);\n }\n } else {\n // No previous dom, create new\n var dom = this.add(element);\n\n if (dom) {\n element[this._domName] = dom;\n }\n }\n};\n/**\n * Add gradient dom to defs\n *\n * @param {SVGElement} dom DOM to be added to \n */\n\n\nDefinable.prototype.addDom = function (dom) {\n var defs = this.getDefs(true);\n defs.appendChild(dom);\n};\n/**\n * Remove DOM of a given element.\n *\n * @param {SVGElement} element element to remove dom\n */\n\n\nDefinable.prototype.removeDom = function (element) {\n var defs = this.getDefs(false);\n\n if (defs && element[this._domName]) {\n defs.removeChild(element[this._domName]);\n element[this._domName] = null;\n }\n};\n/**\n * Get DOMs of this element.\n *\n * @return {HTMLDomElement} doms of this defineable elements in \n */\n\n\nDefinable.prototype.getDoms = function () {\n var defs = this.getDefs(false);\n\n if (!defs) {\n // No dom when defs is not defined\n return [];\n }\n\n var doms = [];\n zrUtil.each(this._tagNames, function (tagName) {\n var tags = defs.getElementsByTagName(tagName); // Note that tags is HTMLCollection, which is array-like\n // rather than real array.\n // So `doms.concat(tags)` add tags as one object.\n\n doms = doms.concat([].slice.call(tags));\n });\n return doms;\n};\n/**\n * Mark DOMs to be unused before painting, and clear unused ones at the end\n * of the painting.\n */\n\n\nDefinable.prototype.markAllUnused = function () {\n var doms = this.getDoms();\n var that = this;\n zrUtil.each(doms, function (dom) {\n dom[that._markLabel] = MARK_UNUSED;\n });\n};\n/**\n * Mark a single DOM to be used.\n *\n * @param {SVGElement} dom DOM to mark\n */\n\n\nDefinable.prototype.markUsed = function (dom) {\n if (dom) {\n dom[this._markLabel] = MARK_USED;\n }\n};\n/**\n * Remove unused DOMs defined in \n */\n\n\nDefinable.prototype.removeUnused = function () {\n var defs = this.getDefs(false);\n\n if (!defs) {\n // Nothing to remove\n return;\n }\n\n var doms = this.getDoms();\n var that = this;\n zrUtil.each(doms, function (dom) {\n if (dom[that._markLabel] !== MARK_USED) {\n // Remove gradient\n defs.removeChild(dom);\n }\n });\n};\n/**\n * Get SVG proxy.\n *\n * @param {Displayable} displayable displayable element\n * @return {Path|Image|Text} svg proxy of given element\n */\n\n\nDefinable.prototype.getSvgProxy = function (displayable) {\n if (displayable instanceof Path) {\n return svgPath;\n } else if (displayable instanceof ZImage) {\n return svgImage;\n } else if (displayable instanceof ZText) {\n return svgText;\n } else {\n return svgPath;\n }\n};\n/**\n * Get text SVG element.\n *\n * @param {Displayable} displayable displayable element\n * @return {SVGElement} SVG element of text\n */\n\n\nDefinable.prototype.getTextSvgElement = function (displayable) {\n return displayable.__textSvgEl;\n};\n/**\n * Get SVG element.\n *\n * @param {Displayable} displayable displayable element\n * @return {SVGElement} SVG element\n */\n\n\nDefinable.prototype.getSvgElement = function (displayable) {\n return displayable.__svgEl;\n};\n\nvar _default = Definable;\nmodule.exports = _default;","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n","var env = require(\"../core/env\");\n\nvar _vector = require(\"../core/vector\");\n\nvar applyTransform = _vector.applyTransform;\n\nvar BoundingRect = require(\"../core/BoundingRect\");\n\nvar colorTool = require(\"../tool/color\");\n\nvar textContain = require(\"../contain/text\");\n\nvar textHelper = require(\"../graphic/helper/text\");\n\nvar RectText = require(\"../graphic/mixin/RectText\");\n\nvar Displayable = require(\"../graphic/Displayable\");\n\nvar ZImage = require(\"../graphic/Image\");\n\nvar Text = require(\"../graphic/Text\");\n\nvar Path = require(\"../graphic/Path\");\n\nvar PathProxy = require(\"../core/PathProxy\");\n\nvar Gradient = require(\"../graphic/Gradient\");\n\nvar vmlCore = require(\"./core\");\n\n// http://www.w3.org/TR/NOTE-VML\n// TODO Use proxy like svg instead of overwrite brush methods\nvar CMD = PathProxy.CMD;\nvar round = Math.round;\nvar sqrt = Math.sqrt;\nvar abs = Math.abs;\nvar cos = Math.cos;\nvar sin = Math.sin;\nvar mathMax = Math.max;\n\nif (!env.canvasSupported) {\n var comma = ',';\n var imageTransformPrefix = 'progid:DXImageTransform.Microsoft';\n var Z = 21600;\n var Z2 = Z / 2;\n var ZLEVEL_BASE = 100000;\n var Z_BASE = 1000;\n\n var initRootElStyle = function (el) {\n el.style.cssText = 'position:absolute;left:0;top:0;width:1px;height:1px;';\n el.coordsize = Z + ',' + Z;\n el.coordorigin = '0,0';\n };\n\n var encodeHtmlAttribute = function (s) {\n return String(s).replace(/&/g, '&').replace(/\"/g, '"');\n };\n\n var rgb2Str = function (r, g, b) {\n return 'rgb(' + [r, g, b].join(',') + ')';\n };\n\n var append = function (parent, child) {\n if (child && parent && child.parentNode !== parent) {\n parent.appendChild(child);\n }\n };\n\n var remove = function (parent, child) {\n if (child && parent && child.parentNode === parent) {\n parent.removeChild(child);\n }\n };\n\n var getZIndex = function (zlevel, z, z2) {\n // z 的取值范围为 [0, 1000]\n return (parseFloat(zlevel) || 0) * ZLEVEL_BASE + (parseFloat(z) || 0) * Z_BASE + z2;\n };\n\n var parsePercent = function (value, maxValue) {\n if (typeof value === 'string') {\n if (value.lastIndexOf('%') >= 0) {\n return parseFloat(value) / 100 * maxValue;\n }\n\n return parseFloat(value);\n }\n\n return value;\n };\n /***************************************************\n * PATH\n **************************************************/\n\n\n var setColorAndOpacity = function (el, color, opacity) {\n var colorArr = colorTool.parse(color);\n opacity = +opacity;\n\n if (isNaN(opacity)) {\n opacity = 1;\n }\n\n if (colorArr) {\n el.color = rgb2Str(colorArr[0], colorArr[1], colorArr[2]);\n el.opacity = opacity * colorArr[3];\n }\n };\n\n var getColorAndAlpha = function (color) {\n var colorArr = colorTool.parse(color);\n return [rgb2Str(colorArr[0], colorArr[1], colorArr[2]), colorArr[3]];\n };\n\n var updateFillNode = function (el, style, zrEl) {\n // TODO pattern\n var fill = style.fill;\n\n if (fill != null) {\n // Modified from excanvas\n if (fill instanceof Gradient) {\n var gradientType;\n var angle = 0;\n var focus = [0, 0]; // additional offset\n\n var shift = 0; // scale factor for offset\n\n var expansion = 1;\n var rect = zrEl.getBoundingRect();\n var rectWidth = rect.width;\n var rectHeight = rect.height;\n\n if (fill.type === 'linear') {\n gradientType = 'gradient';\n var transform = zrEl.transform;\n var p0 = [fill.x * rectWidth, fill.y * rectHeight];\n var p1 = [fill.x2 * rectWidth, fill.y2 * rectHeight];\n\n if (transform) {\n applyTransform(p0, p0, transform);\n applyTransform(p1, p1, transform);\n }\n\n var dx = p1[0] - p0[0];\n var dy = p1[1] - p0[1];\n angle = Math.atan2(dx, dy) * 180 / Math.PI; // The angle should be a non-negative number.\n\n if (angle < 0) {\n angle += 360;\n } // Very small angles produce an unexpected result because they are\n // converted to a scientific notation string.\n\n\n if (angle < 1e-6) {\n angle = 0;\n }\n } else {\n gradientType = 'gradientradial';\n var p0 = [fill.x * rectWidth, fill.y * rectHeight];\n var transform = zrEl.transform;\n var scale = zrEl.scale;\n var width = rectWidth;\n var height = rectHeight;\n focus = [// Percent in bounding rect\n (p0[0] - rect.x) / width, (p0[1] - rect.y) / height];\n\n if (transform) {\n applyTransform(p0, p0, transform);\n }\n\n width /= scale[0] * Z;\n height /= scale[1] * Z;\n var dimension = mathMax(width, height);\n shift = 2 * 0 / dimension;\n expansion = 2 * fill.r / dimension - shift;\n } // We need to sort the color stops in ascending order by offset,\n // otherwise IE won't interpret it correctly.\n\n\n var stops = fill.colorStops.slice();\n stops.sort(function (cs1, cs2) {\n return cs1.offset - cs2.offset;\n });\n var length = stops.length; // Color and alpha list of first and last stop\n\n var colorAndAlphaList = [];\n var colors = [];\n\n for (var i = 0; i < length; i++) {\n var stop = stops[i];\n var colorAndAlpha = getColorAndAlpha(stop.color);\n colors.push(stop.offset * expansion + shift + ' ' + colorAndAlpha[0]);\n\n if (i === 0 || i === length - 1) {\n colorAndAlphaList.push(colorAndAlpha);\n }\n }\n\n if (length >= 2) {\n var color1 = colorAndAlphaList[0][0];\n var color2 = colorAndAlphaList[1][0];\n var opacity1 = colorAndAlphaList[0][1] * style.opacity;\n var opacity2 = colorAndAlphaList[1][1] * style.opacity;\n el.type = gradientType;\n el.method = 'none';\n el.focus = '100%';\n el.angle = angle;\n el.color = color1;\n el.color2 = color2;\n el.colors = colors.join(','); // When colors attribute is used, the meanings of opacity and o:opacity2\n // are reversed.\n\n el.opacity = opacity2; // FIXME g_o_:opacity ?\n\n el.opacity2 = opacity1;\n }\n\n if (gradientType === 'radial') {\n el.focusposition = focus.join(',');\n }\n } else {\n // FIXME Change from Gradient fill to color fill\n setColorAndOpacity(el, fill, style.opacity);\n }\n }\n };\n\n var updateStrokeNode = function (el, style) {\n // if (style.lineJoin != null) {\n // el.joinstyle = style.lineJoin;\n // }\n // if (style.miterLimit != null) {\n // el.miterlimit = style.miterLimit * Z;\n // }\n // if (style.lineCap != null) {\n // el.endcap = style.lineCap;\n // }\n if (style.lineDash != null) {\n el.dashstyle = style.lineDash.join(' ');\n }\n\n if (style.stroke != null && !(style.stroke instanceof Gradient)) {\n setColorAndOpacity(el, style.stroke, style.opacity);\n }\n };\n\n var updateFillAndStroke = function (vmlEl, type, style, zrEl) {\n var isFill = type === 'fill';\n var el = vmlEl.getElementsByTagName(type)[0]; // Stroke must have lineWidth\n\n if (style[type] != null && style[type] !== 'none' && (isFill || !isFill && style.lineWidth)) {\n vmlEl[isFill ? 'filled' : 'stroked'] = 'true'; // FIXME Remove before updating, or set `colors` will throw error\n\n if (style[type] instanceof Gradient) {\n remove(vmlEl, el);\n }\n\n if (!el) {\n el = vmlCore.createNode(type);\n }\n\n isFill ? updateFillNode(el, style, zrEl) : updateStrokeNode(el, style);\n append(vmlEl, el);\n } else {\n vmlEl[isFill ? 'filled' : 'stroked'] = 'false';\n remove(vmlEl, el);\n }\n };\n\n var points = [[], [], []];\n\n var pathDataToString = function (path, m) {\n var M = CMD.M;\n var C = CMD.C;\n var L = CMD.L;\n var A = CMD.A;\n var Q = CMD.Q;\n var str = [];\n var nPoint;\n var cmdStr;\n var cmd;\n var i;\n var xi;\n var yi;\n var data = path.data;\n var dataLength = path.len();\n\n for (i = 0; i < dataLength;) {\n cmd = data[i++];\n cmdStr = '';\n nPoint = 0;\n\n switch (cmd) {\n case M:\n cmdStr = ' m ';\n nPoint = 1;\n xi = data[i++];\n yi = data[i++];\n points[0][0] = xi;\n points[0][1] = yi;\n break;\n\n case L:\n cmdStr = ' l ';\n nPoint = 1;\n xi = data[i++];\n yi = data[i++];\n points[0][0] = xi;\n points[0][1] = yi;\n break;\n\n case Q:\n case C:\n cmdStr = ' c ';\n nPoint = 3;\n var x1 = data[i++];\n var y1 = data[i++];\n var x2 = data[i++];\n var y2 = data[i++];\n var x3;\n var y3;\n\n if (cmd === Q) {\n // Convert quadratic to cubic using degree elevation\n x3 = x2;\n y3 = y2;\n x2 = (x2 + 2 * x1) / 3;\n y2 = (y2 + 2 * y1) / 3;\n x1 = (xi + 2 * x1) / 3;\n y1 = (yi + 2 * y1) / 3;\n } else {\n x3 = data[i++];\n y3 = data[i++];\n }\n\n points[0][0] = x1;\n points[0][1] = y1;\n points[1][0] = x2;\n points[1][1] = y2;\n points[2][0] = x3;\n points[2][1] = y3;\n xi = x3;\n yi = y3;\n break;\n\n case A:\n var x = 0;\n var y = 0;\n var sx = 1;\n var sy = 1;\n var angle = 0;\n\n if (m) {\n // Extract SRT from matrix\n x = m[4];\n y = m[5];\n sx = sqrt(m[0] * m[0] + m[1] * m[1]);\n sy = sqrt(m[2] * m[2] + m[3] * m[3]);\n angle = Math.atan2(-m[1] / sy, m[0] / sx);\n }\n\n var cx = data[i++];\n var cy = data[i++];\n var rx = data[i++];\n var ry = data[i++];\n var startAngle = data[i++] + angle;\n var endAngle = data[i++] + startAngle + angle; // FIXME\n // var psi = data[i++];\n\n i++;\n var clockwise = data[i++];\n var x0 = cx + cos(startAngle) * rx;\n var y0 = cy + sin(startAngle) * ry;\n var x1 = cx + cos(endAngle) * rx;\n var y1 = cy + sin(endAngle) * ry;\n var type = clockwise ? ' wa ' : ' at ';\n\n if (Math.abs(x0 - x1) < 1e-4) {\n // IE won't render arches drawn counter clockwise if x0 == x1.\n if (Math.abs(endAngle - startAngle) > 1e-2) {\n // Offset x0 by 1/80 of a pixel. Use something\n // that can be represented in binary\n if (clockwise) {\n x0 += 270 / Z;\n }\n } else {\n // Avoid case draw full circle\n if (Math.abs(y0 - cy) < 1e-4) {\n if (clockwise && x0 < cx || !clockwise && x0 > cx) {\n y1 -= 270 / Z;\n } else {\n y1 += 270 / Z;\n }\n } else if (clockwise && y0 < cy || !clockwise && y0 > cy) {\n x1 += 270 / Z;\n } else {\n x1 -= 270 / Z;\n }\n }\n }\n\n str.push(type, round(((cx - rx) * sx + x) * Z - Z2), comma, round(((cy - ry) * sy + y) * Z - Z2), comma, round(((cx + rx) * sx + x) * Z - Z2), comma, round(((cy + ry) * sy + y) * Z - Z2), comma, round((x0 * sx + x) * Z - Z2), comma, round((y0 * sy + y) * Z - Z2), comma, round((x1 * sx + x) * Z - Z2), comma, round((y1 * sy + y) * Z - Z2));\n xi = x1;\n yi = y1;\n break;\n\n case CMD.R:\n var p0 = points[0];\n var p1 = points[1]; // x0, y0\n\n p0[0] = data[i++];\n p0[1] = data[i++]; // x1, y1\n\n p1[0] = p0[0] + data[i++];\n p1[1] = p0[1] + data[i++];\n\n if (m) {\n applyTransform(p0, p0, m);\n applyTransform(p1, p1, m);\n }\n\n p0[0] = round(p0[0] * Z - Z2);\n p1[0] = round(p1[0] * Z - Z2);\n p0[1] = round(p0[1] * Z - Z2);\n p1[1] = round(p1[1] * Z - Z2);\n str.push( // x0, y0\n ' m ', p0[0], comma, p0[1], // x1, y0\n ' l ', p1[0], comma, p0[1], // x1, y1\n ' l ', p1[0], comma, p1[1], // x0, y1\n ' l ', p0[0], comma, p1[1]);\n break;\n\n case CMD.Z:\n // FIXME Update xi, yi\n str.push(' x ');\n }\n\n if (nPoint > 0) {\n str.push(cmdStr);\n\n for (var k = 0; k < nPoint; k++) {\n var p = points[k];\n m && applyTransform(p, p, m); // 不 round 会非常慢\n\n str.push(round(p[0] * Z - Z2), comma, round(p[1] * Z - Z2), k < nPoint - 1 ? comma : '');\n }\n }\n }\n\n return str.join('');\n }; // Rewrite the original path method\n\n\n Path.prototype.brushVML = function (vmlRoot) {\n var style = this.style;\n var vmlEl = this._vmlEl;\n\n if (!vmlEl) {\n vmlEl = vmlCore.createNode('shape');\n initRootElStyle(vmlEl);\n this._vmlEl = vmlEl;\n }\n\n updateFillAndStroke(vmlEl, 'fill', style, this);\n updateFillAndStroke(vmlEl, 'stroke', style, this);\n var m = this.transform;\n var needTransform = m != null;\n var strokeEl = vmlEl.getElementsByTagName('stroke')[0];\n\n if (strokeEl) {\n var lineWidth = style.lineWidth; // Get the line scale.\n // Determinant of this.m_ means how much the area is enlarged by the\n // transformation. So its square root can be used as a scale factor\n // for width.\n\n if (needTransform && !style.strokeNoScale) {\n var det = m[0] * m[3] - m[1] * m[2];\n lineWidth *= sqrt(abs(det));\n }\n\n strokeEl.weight = lineWidth + 'px';\n }\n\n var path = this.path || (this.path = new PathProxy());\n\n if (this.__dirtyPath) {\n path.beginPath();\n path.subPixelOptimize = false;\n this.buildPath(path, this.shape);\n path.toStatic();\n this.__dirtyPath = false;\n }\n\n vmlEl.path = pathDataToString(path, this.transform);\n vmlEl.style.zIndex = getZIndex(this.zlevel, this.z, this.z2); // Append to root\n\n append(vmlRoot, vmlEl); // Text\n\n if (style.text != null) {\n this.drawRectText(vmlRoot, this.getBoundingRect());\n } else {\n this.removeRectText(vmlRoot);\n }\n };\n\n Path.prototype.onRemove = function (vmlRoot) {\n remove(vmlRoot, this._vmlEl);\n this.removeRectText(vmlRoot);\n };\n\n Path.prototype.onAdd = function (vmlRoot) {\n append(vmlRoot, this._vmlEl);\n this.appendRectText(vmlRoot);\n };\n /***************************************************\n * IMAGE\n **************************************************/\n\n\n var isImage = function (img) {\n // FIXME img instanceof Image 如果 img 是一个字符串的时候,IE8 下会报错\n return typeof img === 'object' && img.tagName && img.tagName.toUpperCase() === 'IMG'; // return img instanceof Image;\n }; // Rewrite the original path method\n\n\n ZImage.prototype.brushVML = function (vmlRoot) {\n var style = this.style;\n var image = style.image; // Image original width, height\n\n var ow;\n var oh;\n\n if (isImage(image)) {\n var src = image.src;\n\n if (src === this._imageSrc) {\n ow = this._imageWidth;\n oh = this._imageHeight;\n } else {\n var imageRuntimeStyle = image.runtimeStyle;\n var oldRuntimeWidth = imageRuntimeStyle.width;\n var oldRuntimeHeight = imageRuntimeStyle.height;\n imageRuntimeStyle.width = 'auto';\n imageRuntimeStyle.height = 'auto'; // get the original size\n\n ow = image.width;\n oh = image.height; // and remove overides\n\n imageRuntimeStyle.width = oldRuntimeWidth;\n imageRuntimeStyle.height = oldRuntimeHeight; // Caching image original width, height and src\n\n this._imageSrc = src;\n this._imageWidth = ow;\n this._imageHeight = oh;\n }\n\n image = src;\n } else {\n if (image === this._imageSrc) {\n ow = this._imageWidth;\n oh = this._imageHeight;\n }\n }\n\n if (!image) {\n return;\n }\n\n var x = style.x || 0;\n var y = style.y || 0;\n var dw = style.width;\n var dh = style.height;\n var sw = style.sWidth;\n var sh = style.sHeight;\n var sx = style.sx || 0;\n var sy = style.sy || 0;\n var hasCrop = sw && sh;\n var vmlEl = this._vmlEl;\n\n if (!vmlEl) {\n // FIXME 使用 group 在 left, top 都不是 0 的时候就无法显示了。\n // vmlEl = vmlCore.createNode('group');\n vmlEl = vmlCore.doc.createElement('div');\n initRootElStyle(vmlEl);\n this._vmlEl = vmlEl;\n }\n\n var vmlElStyle = vmlEl.style;\n var hasRotation = false;\n var m;\n var scaleX = 1;\n var scaleY = 1;\n\n if (this.transform) {\n m = this.transform;\n scaleX = sqrt(m[0] * m[0] + m[1] * m[1]);\n scaleY = sqrt(m[2] * m[2] + m[3] * m[3]);\n hasRotation = m[1] || m[2];\n }\n\n if (hasRotation) {\n // If filters are necessary (rotation exists), create them\n // filters are bog-slow, so only create them if abbsolutely necessary\n // The following check doesn't account for skews (which don't exist\n // in the canvas spec (yet) anyway.\n // From excanvas\n var p0 = [x, y];\n var p1 = [x + dw, y];\n var p2 = [x, y + dh];\n var p3 = [x + dw, y + dh];\n applyTransform(p0, p0, m);\n applyTransform(p1, p1, m);\n applyTransform(p2, p2, m);\n applyTransform(p3, p3, m);\n var maxX = mathMax(p0[0], p1[0], p2[0], p3[0]);\n var maxY = mathMax(p0[1], p1[1], p2[1], p3[1]);\n var transformFilter = [];\n transformFilter.push('M11=', m[0] / scaleX, comma, 'M12=', m[2] / scaleY, comma, 'M21=', m[1] / scaleX, comma, 'M22=', m[3] / scaleY, comma, 'Dx=', round(x * scaleX + m[4]), comma, 'Dy=', round(y * scaleY + m[5]));\n vmlElStyle.padding = '0 ' + round(maxX) + 'px ' + round(maxY) + 'px 0'; // FIXME DXImageTransform 在 IE11 的兼容模式下不起作用\n\n vmlElStyle.filter = imageTransformPrefix + '.Matrix(' + transformFilter.join('') + ', SizingMethod=clip)';\n } else {\n if (m) {\n x = x * scaleX + m[4];\n y = y * scaleY + m[5];\n }\n\n vmlElStyle.filter = '';\n vmlElStyle.left = round(x) + 'px';\n vmlElStyle.top = round(y) + 'px';\n }\n\n var imageEl = this._imageEl;\n var cropEl = this._cropEl;\n\n if (!imageEl) {\n imageEl = vmlCore.doc.createElement('div');\n this._imageEl = imageEl;\n }\n\n var imageELStyle = imageEl.style;\n\n if (hasCrop) {\n // Needs know image original width and height\n if (!(ow && oh)) {\n var tmpImage = new Image();\n var self = this;\n\n tmpImage.onload = function () {\n tmpImage.onload = null;\n ow = tmpImage.width;\n oh = tmpImage.height; // Adjust image width and height to fit the ratio destinationSize / sourceSize\n\n imageELStyle.width = round(scaleX * ow * dw / sw) + 'px';\n imageELStyle.height = round(scaleY * oh * dh / sh) + 'px'; // Caching image original width, height and src\n\n self._imageWidth = ow;\n self._imageHeight = oh;\n self._imageSrc = image;\n };\n\n tmpImage.src = image;\n } else {\n imageELStyle.width = round(scaleX * ow * dw / sw) + 'px';\n imageELStyle.height = round(scaleY * oh * dh / sh) + 'px';\n }\n\n if (!cropEl) {\n cropEl = vmlCore.doc.createElement('div');\n cropEl.style.overflow = 'hidden';\n this._cropEl = cropEl;\n }\n\n var cropElStyle = cropEl.style;\n cropElStyle.width = round((dw + sx * dw / sw) * scaleX);\n cropElStyle.height = round((dh + sy * dh / sh) * scaleY);\n cropElStyle.filter = imageTransformPrefix + '.Matrix(Dx=' + -sx * dw / sw * scaleX + ',Dy=' + -sy * dh / sh * scaleY + ')';\n\n if (!cropEl.parentNode) {\n vmlEl.appendChild(cropEl);\n }\n\n if (imageEl.parentNode !== cropEl) {\n cropEl.appendChild(imageEl);\n }\n } else {\n imageELStyle.width = round(scaleX * dw) + 'px';\n imageELStyle.height = round(scaleY * dh) + 'px';\n vmlEl.appendChild(imageEl);\n\n if (cropEl && cropEl.parentNode) {\n vmlEl.removeChild(cropEl);\n this._cropEl = null;\n }\n }\n\n var filterStr = '';\n var alpha = style.opacity;\n\n if (alpha < 1) {\n filterStr += '.Alpha(opacity=' + round(alpha * 100) + ') ';\n }\n\n filterStr += imageTransformPrefix + '.AlphaImageLoader(src=' + image + ', SizingMethod=scale)';\n imageELStyle.filter = filterStr;\n vmlEl.style.zIndex = getZIndex(this.zlevel, this.z, this.z2); // Append to root\n\n append(vmlRoot, vmlEl); // Text\n\n if (style.text != null) {\n this.drawRectText(vmlRoot, this.getBoundingRect());\n }\n };\n\n ZImage.prototype.onRemove = function (vmlRoot) {\n remove(vmlRoot, this._vmlEl);\n this._vmlEl = null;\n this._cropEl = null;\n this._imageEl = null;\n this.removeRectText(vmlRoot);\n };\n\n ZImage.prototype.onAdd = function (vmlRoot) {\n append(vmlRoot, this._vmlEl);\n this.appendRectText(vmlRoot);\n };\n /***************************************************\n * TEXT\n **************************************************/\n\n\n var DEFAULT_STYLE_NORMAL = 'normal';\n var fontStyleCache = {};\n var fontStyleCacheCount = 0;\n var MAX_FONT_CACHE_SIZE = 100;\n var fontEl = document.createElement('div');\n\n var getFontStyle = function (fontString) {\n var fontStyle = fontStyleCache[fontString];\n\n if (!fontStyle) {\n // Clear cache\n if (fontStyleCacheCount > MAX_FONT_CACHE_SIZE) {\n fontStyleCacheCount = 0;\n fontStyleCache = {};\n }\n\n var style = fontEl.style;\n var fontFamily;\n\n try {\n style.font = fontString;\n fontFamily = style.fontFamily.split(',')[0];\n } catch (e) {}\n\n fontStyle = {\n style: style.fontStyle || DEFAULT_STYLE_NORMAL,\n variant: style.fontVariant || DEFAULT_STYLE_NORMAL,\n weight: style.fontWeight || DEFAULT_STYLE_NORMAL,\n size: parseFloat(style.fontSize || 12) | 0,\n family: fontFamily || 'Microsoft YaHei'\n };\n fontStyleCache[fontString] = fontStyle;\n fontStyleCacheCount++;\n }\n\n return fontStyle;\n };\n\n var textMeasureEl; // Overwrite measure text method\n\n textContain.$override('measureText', function (text, textFont) {\n var doc = vmlCore.doc;\n\n if (!textMeasureEl) {\n textMeasureEl = doc.createElement('div');\n textMeasureEl.style.cssText = 'position:absolute;top:-20000px;left:0;' + 'padding:0;margin:0;border:none;white-space:pre;';\n vmlCore.doc.body.appendChild(textMeasureEl);\n }\n\n try {\n textMeasureEl.style.font = textFont;\n } catch (ex) {// Ignore failures to set to invalid font.\n }\n\n textMeasureEl.innerHTML = ''; // Don't use innerHTML or innerText because they allow markup/whitespace.\n\n textMeasureEl.appendChild(doc.createTextNode(text));\n return {\n width: textMeasureEl.offsetWidth\n };\n });\n var tmpRect = new BoundingRect();\n\n var drawRectText = function (vmlRoot, rect, textRect, fromTextEl) {\n var style = this.style; // Optimize, avoid normalize every time.\n\n this.__dirty && textHelper.normalizeTextStyle(style, true);\n var text = style.text; // Convert to string\n\n text != null && (text += '');\n\n if (!text) {\n return;\n } // Convert rich text to plain text. Rich text is not supported in\n // IE8-, but tags in rich text template will be removed.\n\n\n if (style.rich) {\n var contentBlock = textContain.parseRichText(text, style);\n text = [];\n\n for (var i = 0; i < contentBlock.lines.length; i++) {\n var tokens = contentBlock.lines[i].tokens;\n var textLine = [];\n\n for (var j = 0; j < tokens.length; j++) {\n textLine.push(tokens[j].text);\n }\n\n text.push(textLine.join(''));\n }\n\n text = text.join('\\n');\n }\n\n var x;\n var y;\n var align = style.textAlign;\n var verticalAlign = style.textVerticalAlign;\n var fontStyle = getFontStyle(style.font); // FIXME encodeHtmlAttribute ?\n\n var font = fontStyle.style + ' ' + fontStyle.variant + ' ' + fontStyle.weight + ' ' + fontStyle.size + 'px \"' + fontStyle.family + '\"';\n textRect = textRect || textContain.getBoundingRect(text, font, align, verticalAlign, style.textPadding, style.textLineHeight); // Transform rect to view space\n\n var m = this.transform; // Ignore transform for text in other element\n\n if (m && !fromTextEl) {\n tmpRect.copy(rect);\n tmpRect.applyTransform(m);\n rect = tmpRect;\n }\n\n if (!fromTextEl) {\n var textPosition = style.textPosition;\n var distance = style.textDistance; // Text position represented by coord\n\n if (textPosition instanceof Array) {\n x = rect.x + parsePercent(textPosition[0], rect.width);\n y = rect.y + parsePercent(textPosition[1], rect.height);\n align = align || 'left';\n } else {\n var res = textContain.adjustTextPositionOnRect(textPosition, rect, distance);\n x = res.x;\n y = res.y; // Default align and baseline when has textPosition\n\n align = align || res.textAlign;\n verticalAlign = verticalAlign || res.textVerticalAlign;\n }\n } else {\n x = rect.x;\n y = rect.y;\n }\n\n x = textContain.adjustTextX(x, textRect.width, align);\n y = textContain.adjustTextY(y, textRect.height, verticalAlign); // Force baseline 'middle'\n\n y += textRect.height / 2; // var fontSize = fontStyle.size;\n // 1.75 is an arbitrary number, as there is no info about the text baseline\n // switch (baseline) {\n // case 'hanging':\n // case 'top':\n // y += fontSize / 1.75;\n // break;\n // case 'middle':\n // break;\n // default:\n // // case null:\n // // case 'alphabetic':\n // // case 'ideographic':\n // // case 'bottom':\n // y -= fontSize / 2.25;\n // break;\n // }\n // switch (align) {\n // case 'left':\n // break;\n // case 'center':\n // x -= textRect.width / 2;\n // break;\n // case 'right':\n // x -= textRect.width;\n // break;\n // case 'end':\n // align = elementStyle.direction == 'ltr' ? 'right' : 'left';\n // break;\n // case 'start':\n // align = elementStyle.direction == 'rtl' ? 'right' : 'left';\n // break;\n // default:\n // align = 'left';\n // }\n\n var createNode = vmlCore.createNode;\n var textVmlEl = this._textVmlEl;\n var pathEl;\n var textPathEl;\n var skewEl;\n\n if (!textVmlEl) {\n textVmlEl = createNode('line');\n pathEl = createNode('path');\n textPathEl = createNode('textpath');\n skewEl = createNode('skew'); // FIXME Why here is not cammel case\n // Align 'center' seems wrong\n\n textPathEl.style['v-text-align'] = 'left';\n initRootElStyle(textVmlEl);\n pathEl.textpathok = true;\n textPathEl.on = true;\n textVmlEl.from = '0 0';\n textVmlEl.to = '1000 0.05';\n append(textVmlEl, skewEl);\n append(textVmlEl, pathEl);\n append(textVmlEl, textPathEl);\n this._textVmlEl = textVmlEl;\n } else {\n // 这里是在前面 appendChild 保证顺序的前提下\n skewEl = textVmlEl.firstChild;\n pathEl = skewEl.nextSibling;\n textPathEl = pathEl.nextSibling;\n }\n\n var coords = [x, y];\n var textVmlElStyle = textVmlEl.style; // Ignore transform for text in other element\n\n if (m && fromTextEl) {\n applyTransform(coords, coords, m);\n skewEl.on = true;\n skewEl.matrix = m[0].toFixed(3) + comma + m[2].toFixed(3) + comma + m[1].toFixed(3) + comma + m[3].toFixed(3) + ',0,0'; // Text position\n\n skewEl.offset = (round(coords[0]) || 0) + ',' + (round(coords[1]) || 0); // Left top point as origin\n\n skewEl.origin = '0 0';\n textVmlElStyle.left = '0px';\n textVmlElStyle.top = '0px';\n } else {\n skewEl.on = false;\n textVmlElStyle.left = round(x) + 'px';\n textVmlElStyle.top = round(y) + 'px';\n }\n\n textPathEl.string = encodeHtmlAttribute(text); // TODO\n\n try {\n textPathEl.style.font = font;\n } // Error font format\n catch (e) {}\n\n updateFillAndStroke(textVmlEl, 'fill', {\n fill: style.textFill,\n opacity: style.opacity\n }, this);\n updateFillAndStroke(textVmlEl, 'stroke', {\n stroke: style.textStroke,\n opacity: style.opacity,\n lineDash: style.lineDash\n }, this);\n textVmlEl.style.zIndex = getZIndex(this.zlevel, this.z, this.z2); // Attached to root\n\n append(vmlRoot, textVmlEl);\n };\n\n var removeRectText = function (vmlRoot) {\n remove(vmlRoot, this._textVmlEl);\n this._textVmlEl = null;\n };\n\n var appendRectText = function (vmlRoot) {\n append(vmlRoot, this._textVmlEl);\n };\n\n var list = [RectText, Displayable, ZImage, Path, Text]; // In case Displayable has been mixed in RectText\n\n for (var i = 0; i < list.length; i++) {\n var proto = list[i].prototype;\n proto.drawRectText = drawRectText;\n proto.removeRectText = removeRectText;\n proto.appendRectText = appendRectText;\n }\n\n Text.prototype.brushVML = function (vmlRoot) {\n var style = this.style;\n\n if (style.text != null) {\n this.drawRectText(vmlRoot, {\n x: style.x || 0,\n y: style.y || 0,\n width: 0,\n height: 0\n }, this.getBoundingRect(), true);\n } else {\n this.removeRectText(vmlRoot);\n }\n };\n\n Text.prototype.onRemove = function (vmlRoot) {\n this.removeRectText(vmlRoot);\n };\n\n Text.prototype.onAdd = function (vmlRoot) {\n this.appendRectText(vmlRoot);\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrender = require(\"zrender/lib/zrender\");\n\nexports.zrender = zrender;\n\nvar matrix = require(\"zrender/lib/core/matrix\");\n\nexports.matrix = matrix;\n\nvar vector = require(\"zrender/lib/core/vector\");\n\nexports.vector = vector;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar colorTool = require(\"zrender/lib/tool/color\");\n\nexports.color = colorTool;\n\nvar graphicUtil = require(\"./util/graphic\");\n\nvar numberUtil = require(\"./util/number\");\n\nexports.number = numberUtil;\n\nvar formatUtil = require(\"./util/format\");\n\nexports.format = formatUtil;\n\nvar _throttle = require(\"./util/throttle\");\n\nvar throttle = _throttle.throttle;\nexports.throttle = _throttle.throttle;\n\nvar ecHelper = require(\"./helper\");\n\nexports.helper = ecHelper;\n\nvar parseGeoJSON = require(\"./coord/geo/parseGeoJson\");\n\nexports.parseGeoJSON = parseGeoJSON;\n\nvar _List = require(\"./data/List\");\n\nexports.List = _List;\n\nvar _Model = require(\"./model/Model\");\n\nexports.Model = _Model;\n\nvar _Axis = require(\"./coord/Axis\");\n\nexports.Axis = _Axis;\n\nvar _env = require(\"zrender/lib/core/env\");\n\nexports.env = _env;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Do not mount those modules on 'src/echarts' for better tree shaking.\n */\nvar parseGeoJson = parseGeoJSON;\nvar ecUtil = {};\nzrUtil.each(['map', 'each', 'filter', 'indexOf', 'inherits', 'reduce', 'filter', 'bind', 'curry', 'isArray', 'isString', 'isObject', 'isFunction', 'extend', 'defaults', 'clone', 'merge'], function (name) {\n ecUtil[name] = zrUtil[name];\n});\nvar graphic = {};\nzrUtil.each(['extendShape', 'extendPath', 'makePath', 'makeImage', 'mergePath', 'resizePath', 'createIcon', 'setHoverStyle', 'setLabelStyle', 'setTextStyle', 'setText', 'getFont', 'updateProps', 'initProps', 'getTransform', 'clipPointsByRect', 'clipRectByRect', 'Group', 'Image', 'Text', 'Circle', 'Sector', 'Ring', 'Polygon', 'Polyline', 'Rect', 'Line', 'BezierCurve', 'Arc', 'IncrementalDisplayable', 'CompoundPath', 'LinearGradient', 'RadialGradient', 'BoundingRect'], function (name) {\n graphic[name] = graphicUtil[name];\n});\nexports.parseGeoJson = parseGeoJson;\nexports.util = ecUtil;\nexports.graphic = graphic;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../Axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction RadiusAxis(scale, radiusExtent) {\n Axis.call(this, 'radius', scale, radiusExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = 'category';\n}\n\nRadiusAxis.prototype = {\n constructor: RadiusAxis,\n\n /**\n * @override\n */\n pointToData: function (point, clamp) {\n return this.polar.pointToData(point, clamp)[this.dim === 'radius' ? 0 : 1];\n },\n dataToRadius: Axis.prototype.dataToCoord,\n radiusToData: Axis.prototype.coordToData\n};\nzrUtil.inherits(RadiusAxis, Axis);\nvar _default = RadiusAxis;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _echarts = require(\"./lib/echarts\");\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 = require(\"./lib/export\");\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\nrequire(\"./lib/component/dataset\");\n\nrequire(\"./lib/chart/line\");\n\nrequire(\"./lib/chart/bar\");\n\nrequire(\"./lib/chart/pie\");\n\nrequire(\"./lib/chart/scatter\");\n\nrequire(\"./lib/chart/radar\");\n\nrequire(\"./lib/chart/map\");\n\nrequire(\"./lib/chart/tree\");\n\nrequire(\"./lib/chart/treemap\");\n\nrequire(\"./lib/chart/graph\");\n\nrequire(\"./lib/chart/gauge\");\n\nrequire(\"./lib/chart/funnel\");\n\nrequire(\"./lib/chart/parallel\");\n\nrequire(\"./lib/chart/sankey\");\n\nrequire(\"./lib/chart/boxplot\");\n\nrequire(\"./lib/chart/candlestick\");\n\nrequire(\"./lib/chart/effectScatter\");\n\nrequire(\"./lib/chart/lines\");\n\nrequire(\"./lib/chart/heatmap\");\n\nrequire(\"./lib/chart/pictorialBar\");\n\nrequire(\"./lib/chart/themeRiver\");\n\nrequire(\"./lib/chart/sunburst\");\n\nrequire(\"./lib/chart/custom\");\n\nrequire(\"./lib/component/graphic\");\n\nrequire(\"./lib/component/grid\");\n\nrequire(\"./lib/component/legendScroll\");\n\nrequire(\"./lib/component/tooltip\");\n\nrequire(\"./lib/component/axisPointer\");\n\nrequire(\"./lib/component/polar\");\n\nrequire(\"./lib/component/geo\");\n\nrequire(\"./lib/component/parallel\");\n\nrequire(\"./lib/component/singleAxis\");\n\nrequire(\"./lib/component/brush\");\n\nrequire(\"./lib/component/calendar\");\n\nrequire(\"./lib/component/title\");\n\nrequire(\"./lib/component/dataZoom\");\n\nrequire(\"./lib/component/visualMap\");\n\nrequire(\"./lib/component/markPoint\");\n\nrequire(\"./lib/component/markLine\");\n\nrequire(\"./lib/component/markArea\");\n\nrequire(\"./lib/component/timeline\");\n\nrequire(\"./lib/component/toolbox\");\n\nrequire(\"zrender/lib/vml/vml\");\n\nrequire(\"zrender/lib/svg/svg\");","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Can only be called after coordinate system creation stage.\n * (Can be called before coordinate system update stage).\n *\n * @param {Object} opt {labelInside}\n * @return {Object} {\n * position, rotation, labelDirection, labelOffset,\n * tickDirection, labelRotate, z2\n * }\n */\nfunction layout(gridModel, axisModel, opt) {\n opt = opt || {};\n var grid = gridModel.coordinateSystem;\n var axis = axisModel.axis;\n var layout = {};\n var otherAxisOnZeroOf = axis.getAxesOnZeroOf()[0];\n var rawAxisPosition = axis.position;\n var axisPosition = otherAxisOnZeroOf ? 'onZero' : rawAxisPosition;\n var axisDim = axis.dim;\n var rect = grid.getRect();\n var rectBound = [rect.x, rect.x + rect.width, rect.y, rect.y + rect.height];\n var idx = {\n left: 0,\n right: 1,\n top: 0,\n bottom: 1,\n onZero: 2\n };\n var axisOffset = axisModel.get('offset') || 0;\n var posBound = axisDim === 'x' ? [rectBound[2] - axisOffset, rectBound[3] + axisOffset] : [rectBound[0] - axisOffset, rectBound[1] + axisOffset];\n\n if (otherAxisOnZeroOf) {\n var onZeroCoord = otherAxisOnZeroOf.toGlobalCoord(otherAxisOnZeroOf.dataToCoord(0));\n posBound[idx.onZero] = Math.max(Math.min(onZeroCoord, posBound[1]), posBound[0]);\n } // Axis position\n\n\n layout.position = [axisDim === 'y' ? posBound[idx[axisPosition]] : rectBound[0], axisDim === 'x' ? posBound[idx[axisPosition]] : rectBound[3]]; // Axis rotation\n\n layout.rotation = Math.PI / 2 * (axisDim === 'x' ? 0 : 1); // Tick and label direction, x y is axisDim\n\n var dirMap = {\n top: -1,\n bottom: 1,\n left: -1,\n right: 1\n };\n layout.labelDirection = layout.tickDirection = layout.nameDirection = dirMap[rawAxisPosition];\n layout.labelOffset = otherAxisOnZeroOf ? posBound[idx[rawAxisPosition]] - posBound[idx.onZero] : 0;\n\n if (axisModel.get('axisTick.inside')) {\n layout.tickDirection = -layout.tickDirection;\n }\n\n if (zrUtil.retrieve(opt.labelInside, axisModel.get('axisLabel.inside'))) {\n layout.labelDirection = -layout.labelDirection;\n } // Special label rotation\n\n\n var labelRotate = axisModel.get('axisLabel.rotate');\n layout.labelRotate = axisPosition === 'top' ? -labelRotate : labelRotate; // Over splitLine and splitArea\n\n layout.z2 = 1;\n return layout;\n}\n\nexports.layout = layout;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../Axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction IndicatorAxis(dim, scale, radiusExtent) {\n Axis.call(this, dim, scale, radiusExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = 'value';\n this.angle = 0;\n /**\n * Indicator name\n * @type {string}\n */\n\n this.name = '';\n /**\n * @type {module:echarts/model/Model}\n */\n\n this.model;\n}\n\nzrUtil.inherits(IndicatorAxis, Axis);\nvar _default = IndicatorAxis;\nmodule.exports = _default;","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","var Clip = require(\"./Clip\");\n\nvar color = require(\"../tool/color\");\n\nvar _util = require(\"../core/util\");\n\nvar isArrayLike = _util.isArrayLike;\n\n/**\n * @module echarts/animation/Animator\n */\nvar arraySlice = Array.prototype.slice;\n\nfunction defaultGetter(target, key) {\n return target[key];\n}\n\nfunction defaultSetter(target, key, value) {\n target[key] = value;\n}\n/**\n * @param {number} p0\n * @param {number} p1\n * @param {number} percent\n * @return {number}\n */\n\n\nfunction interpolateNumber(p0, p1, percent) {\n return (p1 - p0) * percent + p0;\n}\n/**\n * @param {string} p0\n * @param {string} p1\n * @param {number} percent\n * @return {string}\n */\n\n\nfunction interpolateString(p0, p1, percent) {\n return percent > 0.5 ? p1 : p0;\n}\n/**\n * @param {Array} p0\n * @param {Array} p1\n * @param {number} percent\n * @param {Array} out\n * @param {number} arrDim\n */\n\n\nfunction interpolateArray(p0, p1, percent, out, arrDim) {\n var len = p0.length;\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n out[i] = interpolateNumber(p0[i], p1[i], percent);\n }\n } else {\n var len2 = len && p0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n out[i][j] = interpolateNumber(p0[i][j], p1[i][j], percent);\n }\n }\n }\n} // arr0 is source array, arr1 is target array.\n// Do some preprocess to avoid error happened when interpolating from arr0 to arr1\n\n\nfunction fillArr(arr0, arr1, arrDim) {\n var arr0Len = arr0.length;\n var arr1Len = arr1.length;\n\n if (arr0Len !== arr1Len) {\n // FIXME Not work for TypedArray\n var isPreviousLarger = arr0Len > arr1Len;\n\n if (isPreviousLarger) {\n // Cut the previous\n arr0.length = arr1Len;\n } else {\n // Fill the previous\n for (var i = arr0Len; i < arr1Len; i++) {\n arr0.push(arrDim === 1 ? arr1[i] : arraySlice.call(arr1[i]));\n }\n }\n } // Handling NaN value\n\n\n var len2 = arr0[0] && arr0[0].length;\n\n for (var i = 0; i < arr0.length; i++) {\n if (arrDim === 1) {\n if (isNaN(arr0[i])) {\n arr0[i] = arr1[i];\n }\n } else {\n for (var j = 0; j < len2; j++) {\n if (isNaN(arr0[i][j])) {\n arr0[i][j] = arr1[i][j];\n }\n }\n }\n }\n}\n/**\n * @param {Array} arr0\n * @param {Array} arr1\n * @param {number} arrDim\n * @return {boolean}\n */\n\n\nfunction isArraySame(arr0, arr1, arrDim) {\n if (arr0 === arr1) {\n return true;\n }\n\n var len = arr0.length;\n\n if (len !== arr1.length) {\n return false;\n }\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n if (arr0[i] !== arr1[i]) {\n return false;\n }\n }\n } else {\n var len2 = arr0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n if (arr0[i][j] !== arr1[i][j]) {\n return false;\n }\n }\n }\n }\n\n return true;\n}\n/**\n * Catmull Rom interpolate array\n * @param {Array} p0\n * @param {Array} p1\n * @param {Array} p2\n * @param {Array} p3\n * @param {number} t\n * @param {number} t2\n * @param {number} t3\n * @param {Array} out\n * @param {number} arrDim\n */\n\n\nfunction catmullRomInterpolateArray(p0, p1, p2, p3, t, t2, t3, out, arrDim) {\n var len = p0.length;\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n out[i] = catmullRomInterpolate(p0[i], p1[i], p2[i], p3[i], t, t2, t3);\n }\n } else {\n var len2 = p0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n out[i][j] = catmullRomInterpolate(p0[i][j], p1[i][j], p2[i][j], p3[i][j], t, t2, t3);\n }\n }\n }\n}\n/**\n * Catmull Rom interpolate number\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {number} t\n * @param {number} t2\n * @param {number} t3\n * @return {number}\n */\n\n\nfunction catmullRomInterpolate(p0, p1, p2, p3, t, t2, t3) {\n var v0 = (p2 - p0) * 0.5;\n var v1 = (p3 - p1) * 0.5;\n return (2 * (p1 - p2) + v0 + v1) * t3 + (-3 * (p1 - p2) - 2 * v0 - v1) * t2 + v0 * t + p1;\n}\n\nfunction cloneValue(value) {\n if (isArrayLike(value)) {\n var len = value.length;\n\n if (isArrayLike(value[0])) {\n var ret = [];\n\n for (var i = 0; i < len; i++) {\n ret.push(arraySlice.call(value[i]));\n }\n\n return ret;\n }\n\n return arraySlice.call(value);\n }\n\n return value;\n}\n\nfunction rgba2String(rgba) {\n rgba[0] = Math.floor(rgba[0]);\n rgba[1] = Math.floor(rgba[1]);\n rgba[2] = Math.floor(rgba[2]);\n return 'rgba(' + rgba.join(',') + ')';\n}\n\nfunction getArrayDim(keyframes) {\n var lastValue = keyframes[keyframes.length - 1].value;\n return isArrayLike(lastValue && lastValue[0]) ? 2 : 1;\n}\n\nfunction createTrackClip(animator, easing, oneTrackDone, keyframes, propName, forceAnimate) {\n var getter = animator._getter;\n var setter = animator._setter;\n var useSpline = easing === 'spline';\n var trackLen = keyframes.length;\n\n if (!trackLen) {\n return;\n } // Guess data type\n\n\n var firstVal = keyframes[0].value;\n var isValueArray = isArrayLike(firstVal);\n var isValueColor = false;\n var isValueString = false; // For vertices morphing\n\n var arrDim = isValueArray ? getArrayDim(keyframes) : 0;\n var trackMaxTime; // Sort keyframe as ascending\n\n keyframes.sort(function (a, b) {\n return a.time - b.time;\n });\n trackMaxTime = keyframes[trackLen - 1].time; // Percents of each keyframe\n\n var kfPercents = []; // Value of each keyframe\n\n var kfValues = [];\n var prevValue = keyframes[0].value;\n var isAllValueEqual = true;\n\n for (var i = 0; i < trackLen; i++) {\n kfPercents.push(keyframes[i].time / trackMaxTime); // Assume value is a color when it is a string\n\n var value = keyframes[i].value; // Check if value is equal, deep check if value is array\n\n if (!(isValueArray && isArraySame(value, prevValue, arrDim) || !isValueArray && value === prevValue)) {\n isAllValueEqual = false;\n }\n\n prevValue = value; // Try converting a string to a color array\n\n if (typeof value === 'string') {\n var colorArray = color.parse(value);\n\n if (colorArray) {\n value = colorArray;\n isValueColor = true;\n } else {\n isValueString = true;\n }\n }\n\n kfValues.push(value);\n }\n\n if (!forceAnimate && isAllValueEqual) {\n return;\n }\n\n var lastValue = kfValues[trackLen - 1]; // Polyfill array and NaN value\n\n for (var i = 0; i < trackLen - 1; i++) {\n if (isValueArray) {\n fillArr(kfValues[i], lastValue, arrDim);\n } else {\n if (isNaN(kfValues[i]) && !isNaN(lastValue) && !isValueString && !isValueColor) {\n kfValues[i] = lastValue;\n }\n }\n }\n\n isValueArray && fillArr(getter(animator._target, propName), lastValue, arrDim); // Cache the key of last frame to speed up when\n // animation playback is sequency\n\n var lastFrame = 0;\n var lastFramePercent = 0;\n var start;\n var w;\n var p0;\n var p1;\n var p2;\n var p3;\n\n if (isValueColor) {\n var rgba = [0, 0, 0, 0];\n }\n\n var onframe = function (target, percent) {\n // Find the range keyframes\n // kf1-----kf2---------current--------kf3\n // find kf2 and kf3 and do interpolation\n var frame; // In the easing function like elasticOut, percent may less than 0\n\n if (percent < 0) {\n frame = 0;\n } else if (percent < lastFramePercent) {\n // Start from next key\n // PENDING start from lastFrame ?\n start = Math.min(lastFrame + 1, trackLen - 1);\n\n for (frame = start; frame >= 0; frame--) {\n if (kfPercents[frame] <= percent) {\n break;\n }\n } // PENDING really need to do this ?\n\n\n frame = Math.min(frame, trackLen - 2);\n } else {\n for (frame = lastFrame; frame < trackLen; frame++) {\n if (kfPercents[frame] > percent) {\n break;\n }\n }\n\n frame = Math.min(frame - 1, trackLen - 2);\n }\n\n lastFrame = frame;\n lastFramePercent = percent;\n var range = kfPercents[frame + 1] - kfPercents[frame];\n\n if (range === 0) {\n return;\n } else {\n w = (percent - kfPercents[frame]) / range;\n }\n\n if (useSpline) {\n p1 = kfValues[frame];\n p0 = kfValues[frame === 0 ? frame : frame - 1];\n p2 = kfValues[frame > trackLen - 2 ? trackLen - 1 : frame + 1];\n p3 = kfValues[frame > trackLen - 3 ? trackLen - 1 : frame + 2];\n\n if (isValueArray) {\n catmullRomInterpolateArray(p0, p1, p2, p3, w, w * w, w * w * w, getter(target, propName), arrDim);\n } else {\n var value;\n\n if (isValueColor) {\n value = catmullRomInterpolateArray(p0, p1, p2, p3, w, w * w, w * w * w, rgba, 1);\n value = rgba2String(rgba);\n } else if (isValueString) {\n // String is step(0.5)\n return interpolateString(p1, p2, w);\n } else {\n value = catmullRomInterpolate(p0, p1, p2, p3, w, w * w, w * w * w);\n }\n\n setter(target, propName, value);\n }\n } else {\n if (isValueArray) {\n interpolateArray(kfValues[frame], kfValues[frame + 1], w, getter(target, propName), arrDim);\n } else {\n var value;\n\n if (isValueColor) {\n interpolateArray(kfValues[frame], kfValues[frame + 1], w, rgba, 1);\n value = rgba2String(rgba);\n } else if (isValueString) {\n // String is step(0.5)\n return interpolateString(kfValues[frame], kfValues[frame + 1], w);\n } else {\n value = interpolateNumber(kfValues[frame], kfValues[frame + 1], w);\n }\n\n setter(target, propName, value);\n }\n }\n };\n\n var clip = new Clip({\n target: animator._target,\n life: trackMaxTime,\n loop: animator._loop,\n delay: animator._delay,\n onframe: onframe,\n ondestroy: oneTrackDone\n });\n\n if (easing && easing !== 'spline') {\n clip.easing = easing;\n }\n\n return clip;\n}\n/**\n * @alias module:zrender/animation/Animator\n * @constructor\n * @param {Object} target\n * @param {boolean} loop\n * @param {Function} getter\n * @param {Function} setter\n */\n\n\nvar Animator = function (target, loop, getter, setter) {\n this._tracks = {};\n this._target = target;\n this._loop = loop || false;\n this._getter = getter || defaultGetter;\n this._setter = setter || defaultSetter;\n this._clipCount = 0;\n this._delay = 0;\n this._doneList = [];\n this._onframeList = [];\n this._clipList = [];\n};\n\nAnimator.prototype = {\n /**\n * 设置动画关键帧\n * @param {number} time 关键帧时间,单位是ms\n * @param {Object} props 关键帧的属性值,key-value表示\n * @return {module:zrender/animation/Animator}\n */\n when: function (time\n /* ms */\n , props) {\n var tracks = this._tracks;\n\n for (var propName in props) {\n if (!props.hasOwnProperty(propName)) {\n continue;\n }\n\n if (!tracks[propName]) {\n tracks[propName] = []; // Invalid value\n\n var value = this._getter(this._target, propName);\n\n if (value == null) {\n // zrLog('Invalid property ' + propName);\n continue;\n } // If time is 0\n // Then props is given initialize value\n // Else\n // Initialize value from current prop value\n\n\n if (time !== 0) {\n tracks[propName].push({\n time: 0,\n value: cloneValue(value)\n });\n }\n }\n\n tracks[propName].push({\n time: time,\n value: props[propName]\n });\n }\n\n return this;\n },\n\n /**\n * 添加动画每一帧的回调函数\n * @param {Function} callback\n * @return {module:zrender/animation/Animator}\n */\n during: function (callback) {\n this._onframeList.push(callback);\n\n return this;\n },\n pause: function () {\n for (var i = 0; i < this._clipList.length; i++) {\n this._clipList[i].pause();\n }\n\n this._paused = true;\n },\n resume: function () {\n for (var i = 0; i < this._clipList.length; i++) {\n this._clipList[i].resume();\n }\n\n this._paused = false;\n },\n isPaused: function () {\n return !!this._paused;\n },\n _doneCallback: function () {\n // Clear all tracks\n this._tracks = {}; // Clear all clips\n\n this._clipList.length = 0;\n var doneList = this._doneList;\n var len = doneList.length;\n\n for (var i = 0; i < len; i++) {\n doneList[i].call(this);\n }\n },\n\n /**\n * 开始执行动画\n * @param {string|Function} [easing]\n * 动画缓动函数,详见{@link module:zrender/animation/easing}\n * @param {boolean} forceAnimate\n * @return {module:zrender/animation/Animator}\n */\n start: function (easing, forceAnimate) {\n var self = this;\n var clipCount = 0;\n\n var oneTrackDone = function () {\n clipCount--;\n\n if (!clipCount) {\n self._doneCallback();\n }\n };\n\n var lastClip;\n\n for (var propName in this._tracks) {\n if (!this._tracks.hasOwnProperty(propName)) {\n continue;\n }\n\n var clip = createTrackClip(this, easing, oneTrackDone, this._tracks[propName], propName, forceAnimate);\n\n if (clip) {\n this._clipList.push(clip);\n\n clipCount++; // If start after added to animation\n\n if (this.animation) {\n this.animation.addClip(clip);\n }\n\n lastClip = clip;\n }\n } // Add during callback on the last clip\n\n\n if (lastClip) {\n var oldOnFrame = lastClip.onframe;\n\n lastClip.onframe = function (target, percent) {\n oldOnFrame(target, percent);\n\n for (var i = 0; i < self._onframeList.length; i++) {\n self._onframeList[i](target, percent);\n }\n };\n } // This optimization will help the case that in the upper application\n // the view may be refreshed frequently, where animation will be\n // called repeatly but nothing changed.\n\n\n if (!clipCount) {\n this._doneCallback();\n }\n\n return this;\n },\n\n /**\n * 停止动画\n * @param {boolean} forwardToLast If move to last frame before stop\n */\n stop: function (forwardToLast) {\n var clipList = this._clipList;\n var animation = this.animation;\n\n for (var i = 0; i < clipList.length; i++) {\n var clip = clipList[i];\n\n if (forwardToLast) {\n // Move to last frame before stop\n clip.onframe(this._target, 1);\n }\n\n animation && animation.removeClip(clip);\n }\n\n clipList.length = 0;\n },\n\n /**\n * 设置动画延迟开始的时间\n * @param {number} time 单位ms\n * @return {module:zrender/animation/Animator}\n */\n delay: function (time) {\n this._delay = time;\n return this;\n },\n\n /**\n * 添加动画结束的回调\n * @param {Function} cb\n * @return {module:zrender/animation/Animator}\n */\n done: function (cb) {\n if (cb) {\n this._doneList.push(cb);\n }\n\n return this;\n },\n\n /**\n * @return {Array.}\n */\n getClips: function () {\n return this._clipList;\n }\n};\nvar _default = Animator;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar numberUtil = require(\"../../util/number\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @file Using layout algorithm transform the raw data to layout information.\n * @author Deqing Li(annong035@gmail.com)\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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;","require(\"./graphic\");\n\nvar _zrender = require(\"../zrender\");\n\nvar registerPainter = _zrender.registerPainter;\n\nvar Painter = require(\"./Painter\");\n\nregisterPainter('svg', Painter);","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var ArrayCtor = typeof Float32Array === 'undefined' ? Array : Float32Array;\n/**\n * 创建一个向量\n * @param {number} [x=0]\n * @param {number} [y=0]\n * @return {Vector2}\n */\n\nfunction create(x, y) {\n var out = new ArrayCtor(2);\n\n if (x == null) {\n x = 0;\n }\n\n if (y == null) {\n y = 0;\n }\n\n out[0] = x;\n out[1] = y;\n return out;\n}\n/**\n * 复制向量数据\n * @param {Vector2} out\n * @param {Vector2} v\n * @return {Vector2}\n */\n\n\nfunction copy(out, v) {\n out[0] = v[0];\n out[1] = v[1];\n return out;\n}\n/**\n * 克隆一个向量\n * @param {Vector2} v\n * @return {Vector2}\n */\n\n\nfunction clone(v) {\n var out = new ArrayCtor(2);\n out[0] = v[0];\n out[1] = v[1];\n return out;\n}\n/**\n * 设置向量的两个项\n * @param {Vector2} out\n * @param {number} a\n * @param {number} b\n * @return {Vector2} 结果\n */\n\n\nfunction set(out, a, b) {\n out[0] = a;\n out[1] = b;\n return out;\n}\n/**\n * 向量相加\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\n\nfunction add(out, v1, v2) {\n out[0] = v1[0] + v2[0];\n out[1] = v1[1] + v2[1];\n return out;\n}\n/**\n * 向量缩放后相加\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n * @param {number} a\n */\n\n\nfunction scaleAndAdd(out, v1, v2, a) {\n out[0] = v1[0] + v2[0] * a;\n out[1] = v1[1] + v2[1] * a;\n return out;\n}\n/**\n * 向量相减\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\n\nfunction sub(out, v1, v2) {\n out[0] = v1[0] - v2[0];\n out[1] = v1[1] - v2[1];\n return out;\n}\n/**\n * 向量长度\n * @param {Vector2} v\n * @return {number}\n */\n\n\nfunction len(v) {\n return Math.sqrt(lenSquare(v));\n}\n\nvar length = len; // jshint ignore:line\n\n/**\n * 向量长度平方\n * @param {Vector2} v\n * @return {number}\n */\n\nfunction lenSquare(v) {\n return v[0] * v[0] + v[1] * v[1];\n}\n\nvar lengthSquare = lenSquare;\n/**\n * 向量乘法\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\nfunction mul(out, v1, v2) {\n out[0] = v1[0] * v2[0];\n out[1] = v1[1] * v2[1];\n return out;\n}\n/**\n * 向量除法\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\n\nfunction div(out, v1, v2) {\n out[0] = v1[0] / v2[0];\n out[1] = v1[1] / v2[1];\n return out;\n}\n/**\n * 向量点乘\n * @param {Vector2} v1\n * @param {Vector2} v2\n * @return {number}\n */\n\n\nfunction dot(v1, v2) {\n return v1[0] * v2[0] + v1[1] * v2[1];\n}\n/**\n * 向量缩放\n * @param {Vector2} out\n * @param {Vector2} v\n * @param {number} s\n */\n\n\nfunction scale(out, v, s) {\n out[0] = v[0] * s;\n out[1] = v[1] * s;\n return out;\n}\n/**\n * 向量归一化\n * @param {Vector2} out\n * @param {Vector2} v\n */\n\n\nfunction normalize(out, v) {\n var d = len(v);\n\n if (d === 0) {\n out[0] = 0;\n out[1] = 0;\n } else {\n out[0] = v[0] / d;\n out[1] = v[1] / d;\n }\n\n return out;\n}\n/**\n * 计算向量间距离\n * @param {Vector2} v1\n * @param {Vector2} v2\n * @return {number}\n */\n\n\nfunction distance(v1, v2) {\n return Math.sqrt((v1[0] - v2[0]) * (v1[0] - v2[0]) + (v1[1] - v2[1]) * (v1[1] - v2[1]));\n}\n\nvar dist = distance;\n/**\n * 向量距离平方\n * @param {Vector2} v1\n * @param {Vector2} v2\n * @return {number}\n */\n\nfunction distanceSquare(v1, v2) {\n return (v1[0] - v2[0]) * (v1[0] - v2[0]) + (v1[1] - v2[1]) * (v1[1] - v2[1]);\n}\n\nvar distSquare = distanceSquare;\n/**\n * 求负向量\n * @param {Vector2} out\n * @param {Vector2} v\n */\n\nfunction negate(out, v) {\n out[0] = -v[0];\n out[1] = -v[1];\n return out;\n}\n/**\n * 插值两个点\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n * @param {number} t\n */\n\n\nfunction lerp(out, v1, v2, t) {\n out[0] = v1[0] + t * (v2[0] - v1[0]);\n out[1] = v1[1] + t * (v2[1] - v1[1]);\n return out;\n}\n/**\n * 矩阵左乘向量\n * @param {Vector2} out\n * @param {Vector2} v\n * @param {Vector2} m\n */\n\n\nfunction applyTransform(out, v, m) {\n var x = v[0];\n var y = v[1];\n out[0] = m[0] * x + m[2] * y + m[4];\n out[1] = m[1] * x + m[3] * y + m[5];\n return out;\n}\n/**\n * 求两个向量最小值\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\n\nfunction min(out, v1, v2) {\n out[0] = Math.min(v1[0], v2[0]);\n out[1] = Math.min(v1[1], v2[1]);\n return out;\n}\n/**\n * 求两个向量最大值\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\n\nfunction max(out, v1, v2) {\n out[0] = Math.max(v1[0], v2[0]);\n out[1] = Math.max(v1[1], v2[1]);\n return out;\n}\n\nexports.create = create;\nexports.copy = copy;\nexports.clone = clone;\nexports.set = set;\nexports.add = add;\nexports.scaleAndAdd = scaleAndAdd;\nexports.sub = sub;\nexports.len = len;\nexports.length = length;\nexports.lenSquare = lenSquare;\nexports.lengthSquare = lengthSquare;\nexports.mul = mul;\nexports.div = div;\nexports.dot = dot;\nexports.scale = scale;\nexports.normalize = normalize;\nexports.distance = distance;\nexports.dist = dist;\nexports.distanceSquare = distanceSquare;\nexports.distSquare = distSquare;\nexports.negate = negate;\nexports.lerp = lerp;\nexports.applyTransform = applyTransform;\nexports.min = min;\nexports.max = max;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./effectScatter/EffectScatterSeries\");\n\nrequire(\"./effectScatter/EffectScatterView\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar layoutPoints = require(\"../layout/points\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(visualSymbol('effectScatter', 'circle'));\necharts.registerLayout(layoutPoints('effectScatter'));","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar graphic = require(\"../util/graphic\");\n\nvar _layout = require(\"../util/layout\");\n\nvar getLayoutRect = _layout.getLayoutRect;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// 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 // textBaseline: null\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 textBaseline = titleModel.get('textBaseline');\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 (!textBaseline) {\n textBaseline = titleModel.get('top') || titleModel.get('bottom');\n\n if (textBaseline === 'center') {\n textBaseline = 'middle';\n }\n\n if (textBaseline === 'bottom') {\n layoutRect.y += layoutRect.height;\n } else if (textBaseline === 'middle') {\n layoutRect.y += layoutRect.height / 2;\n }\n\n textBaseline = textBaseline || 'top';\n }\n\n group.attr('position', [layoutRect.x, layoutRect.y]);\n var alignStyle = {\n textAlign: textAlign,\n textVerticalAlign: textBaseline\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 silent: true\n });\n graphic.subPixelOptimizeRect(rect);\n group.add(rect);\n }\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar makeStyleMapper = require(\"./makeStyleMapper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar getAreaStyle = makeStyleMapper([['fill', 'color'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['opacity'], ['shadowColor']]);\nvar _default = {\n getAreaStyle: function (excludes, includes) {\n return getAreaStyle(this, excludes, includes);\n }\n};\nmodule.exports = _default;","/**\n * 线段包含判断\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} lineWidth\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\nfunction containStroke(x0, y0, x1, y1, lineWidth, x, y) {\n if (lineWidth === 0) {\n return false;\n }\n\n var _l = lineWidth;\n var _a = 0;\n var _b = x0; // Quick reject\n\n if (y > y0 + _l && y > y1 + _l || y < y0 - _l && y < y1 - _l || x > x0 + _l && x > x1 + _l || x < x0 - _l && x < x1 - _l) {\n return false;\n }\n\n if (x0 !== x1) {\n _a = (y0 - y1) / (x0 - x1);\n _b = (x0 * y1 - x1 * y0) / (x0 - x1);\n } else {\n return Math.abs(x - x0) <= _l / 2;\n }\n\n var tmp = _a * x - y + _b;\n\n var _s = tmp * tmp / (_a * _a + 1);\n\n return _s <= _l / 2 * _l / 2;\n}\n\nexports.containStroke = containStroke;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar SymbolClz = require(\"./Symbol\");\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar isObject = _util.isObject;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/chart/helper/SymbolDraw\n */\n\n/**\n * @constructor\n * @alias module:echarts/chart/helper/SymbolDraw\n * @param {module:zrender/graphic/Group} [symbolCtor]\n */\nfunction SymbolDraw(symbolCtor) {\n this.group = new graphic.Group();\n this._symbolCtor = symbolCtor || SymbolClz;\n}\n\nvar symbolDrawProto = SymbolDraw.prototype;\n\nfunction symbolNeedsDraw(data, point, idx, opt) {\n return point && !isNaN(point[0]) && !isNaN(point[1]) && !(opt.isIgnore && opt.isIgnore(idx)) // We do not set clipShape on group, because it will cut part of\n // the symbol element shape. We use the same clip shape here as\n // the line clip.\n && !(opt.clipShape && !opt.clipShape.contain(point[0], point[1])) && data.getItemVisual(idx, 'symbol') !== 'none';\n}\n/**\n * Update symbols draw by new data\n * @param {module:echarts/data/List} data\n * @param {Object} [opt] Or isIgnore\n * @param {Function} [opt.isIgnore]\n * @param {Object} [opt.clipShape]\n */\n\n\nsymbolDrawProto.updateData = function (data, opt) {\n opt = normalizeUpdateOpt(opt);\n var group = this.group;\n var seriesModel = data.hostModel;\n var oldData = this._data;\n var SymbolCtor = this._symbolCtor;\n var seriesScope = makeSeriesScope(data); // There is no oldLineData only when first rendering or switching from\n // stream mode to normal mode, where previous elements should be removed.\n\n if (!oldData) {\n group.removeAll();\n }\n\n data.diff(oldData).add(function (newIdx) {\n var point = data.getItemLayout(newIdx);\n\n if (symbolNeedsDraw(data, point, newIdx, opt)) {\n var symbolEl = new SymbolCtor(data, newIdx, seriesScope);\n symbolEl.attr('position', point);\n data.setItemGraphicEl(newIdx, symbolEl);\n group.add(symbolEl);\n }\n }).update(function (newIdx, oldIdx) {\n var symbolEl = oldData.getItemGraphicEl(oldIdx);\n var point = data.getItemLayout(newIdx);\n\n if (!symbolNeedsDraw(data, point, newIdx, opt)) {\n group.remove(symbolEl);\n return;\n }\n\n if (!symbolEl) {\n symbolEl = new SymbolCtor(data, newIdx);\n symbolEl.attr('position', point);\n } else {\n symbolEl.updateData(data, newIdx, seriesScope);\n graphic.updateProps(symbolEl, {\n position: point\n }, seriesModel);\n } // Add back\n\n\n group.add(symbolEl);\n data.setItemGraphicEl(newIdx, symbolEl);\n }).remove(function (oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx);\n el && el.fadeOut(function () {\n group.remove(el);\n });\n }).execute();\n this._data = data;\n};\n\nsymbolDrawProto.isPersistent = function () {\n return true;\n};\n\nsymbolDrawProto.updateLayout = function () {\n var data = this._data;\n\n if (data) {\n // Not use animation\n data.eachItemGraphicEl(function (el, idx) {\n var point = data.getItemLayout(idx);\n el.attr('position', point);\n });\n }\n};\n\nsymbolDrawProto.incrementalPrepareUpdate = function (data) {\n this._seriesScope = makeSeriesScope(data);\n this._data = null;\n this.group.removeAll();\n};\n/**\n * Update symbols draw by new data\n * @param {module:echarts/data/List} data\n * @param {Object} [opt] Or isIgnore\n * @param {Function} [opt.isIgnore]\n * @param {Object} [opt.clipShape]\n */\n\n\nsymbolDrawProto.incrementalUpdate = function (taskParams, data, opt) {\n opt = normalizeUpdateOpt(opt);\n\n function updateIncrementalAndHover(el) {\n if (!el.isGroup) {\n el.incremental = el.useHoverLayer = true;\n }\n }\n\n for (var idx = taskParams.start; idx < taskParams.end; idx++) {\n var point = data.getItemLayout(idx);\n\n if (symbolNeedsDraw(data, point, idx, opt)) {\n var el = new this._symbolCtor(data, idx, this._seriesScope);\n el.traverse(updateIncrementalAndHover);\n el.attr('position', point);\n this.group.add(el);\n data.setItemGraphicEl(idx, el);\n }\n }\n};\n\nfunction normalizeUpdateOpt(opt) {\n if (opt != null && !isObject(opt)) {\n opt = {\n isIgnore: opt\n };\n }\n\n return opt || {};\n}\n\nsymbolDrawProto.remove = function (enableAnimation) {\n var group = this.group;\n var data = this._data; // Incremental model do not have this._data.\n\n if (data && enableAnimation) {\n data.eachItemGraphicEl(function (el) {\n el.fadeOut(function () {\n group.remove(el);\n });\n });\n } else {\n group.removeAll();\n }\n};\n\nfunction makeSeriesScope(data) {\n var seriesModel = data.hostModel;\n return {\n itemStyle: seriesModel.getModel('itemStyle').getItemStyle(['color']),\n hoverItemStyle: seriesModel.getModel('emphasis.itemStyle').getItemStyle(),\n symbolRotate: seriesModel.get('symbolRotate'),\n symbolOffset: seriesModel.get('symbolOffset'),\n hoverAnimation: seriesModel.get('hoverAnimation'),\n labelModel: seriesModel.getModel('label'),\n hoverLabelModel: seriesModel.getModel('emphasis.label'),\n cursorStyle: seriesModel.get('cursor')\n };\n}\n\nvar _default = SymbolDraw;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Eventful = require(\"zrender/lib/mixin/Eventful\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar interactionMutex = require(\"./interactionMutex\");\n\nvar DataDiffer = require(\"../../data/DataDiffer\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 curry = zrUtil.curry;\nvar each = zrUtil.each;\nvar map = zrUtil.map;\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathPow = Math.pow;\nvar COVER_Z = 10000;\nvar UNSELECT_THRESHOLD = 6;\nvar MIN_RESIZE_LINE_WIDTH = 6;\nvar MUTEX_RESOURCE_KEY = 'globalPan';\nvar DIRECTION_MAP = {\n w: [0, 0],\n e: [0, 1],\n n: [1, 0],\n s: [1, 1]\n};\nvar CURSOR_MAP = {\n w: 'ew',\n e: 'ew',\n n: 'ns',\n s: 'ns',\n ne: 'nesw',\n sw: 'nesw',\n nw: 'nwse',\n se: 'nwse'\n};\nvar DEFAULT_BRUSH_OPT = {\n brushStyle: {\n lineWidth: 2,\n stroke: 'rgba(0,0,0,0.3)',\n fill: 'rgba(0,0,0,0.1)'\n },\n transformable: true,\n brushMode: 'single',\n removeOnClick: false\n};\nvar baseUID = 0;\n/**\n * @alias module:echarts/component/helper/BrushController\n * @constructor\n * @mixin {module:zrender/mixin/Eventful}\n * @event module:echarts/component/helper/BrushController#brush\n * params:\n * areas: Array., coord relates to container group,\n * If no container specified, to global.\n * opt {\n * isEnd: boolean,\n * removeOnClick: boolean\n * }\n *\n * @param {module:zrender/zrender~ZRender} zr\n */\n\nfunction BrushController(zr) {\n Eventful.call(this);\n /**\n * @type {module:zrender/zrender~ZRender}\n * @private\n */\n\n this._zr = zr;\n /**\n * @type {module:zrender/container/Group}\n * @readOnly\n */\n\n this.group = new graphic.Group();\n /**\n * Only for drawing (after enabledBrush).\n * 'line', 'rect', 'polygon' or false\n * If passing false/null/undefined, disable brush.\n * If passing 'auto', determined by panel.defaultBrushType\n * @private\n * @type {string}\n */\n\n this._brushType;\n /**\n * Only for drawing (after enabledBrush).\n *\n * @private\n * @type {Object}\n */\n\n this._brushOption;\n /**\n * @private\n * @type {Object}\n */\n\n this._panels;\n /**\n * @private\n * @type {Array.}\n */\n\n this._track = [];\n /**\n * @private\n * @type {boolean}\n */\n\n this._dragging;\n /**\n * @private\n * @type {Array}\n */\n\n this._covers = [];\n /**\n * @private\n * @type {moudule:zrender/container/Group}\n */\n\n this._creatingCover;\n /**\n * `true` means global panel\n * @private\n * @type {module:zrender/container/Group|boolean}\n */\n\n this._creatingPanel;\n /**\n * @private\n * @type {boolean}\n */\n\n this._enableGlobalPan;\n /**\n * @private\n * @type {boolean}\n */\n\n /**\n * @private\n * @type {string}\n */\n this._uid = 'brushController_' + baseUID++;\n /**\n * @private\n * @type {Object}\n */\n\n this._handlers = {};\n each(mouseHandlers, function (handler, eventName) {\n this._handlers[eventName] = zrUtil.bind(handler, this);\n }, this);\n}\n\nBrushController.prototype = {\n constructor: BrushController,\n\n /**\n * If set to null/undefined/false, select disabled.\n * @param {Object} brushOption\n * @param {string|boolean} brushOption.brushType 'line', 'rect', 'polygon' or false\n * If passing false/null/undefined, disable brush.\n * If passing 'auto', determined by panel.defaultBrushType.\n * ('auto' can not be used in global panel)\n * @param {number} [brushOption.brushMode='single'] 'single' or 'multiple'\n * @param {boolean} [brushOption.transformable=true]\n * @param {boolean} [brushOption.removeOnClick=false]\n * @param {Object} [brushOption.brushStyle]\n * @param {number} [brushOption.brushStyle.width]\n * @param {number} [brushOption.brushStyle.lineWidth]\n * @param {string} [brushOption.brushStyle.stroke]\n * @param {string} [brushOption.brushStyle.fill]\n * @param {number} [brushOption.z]\n */\n enableBrush: function (brushOption) {\n this._brushType && doDisableBrush(this);\n brushOption.brushType && doEnableBrush(this, brushOption);\n return this;\n },\n\n /**\n * @param {Array.} panelOpts If not pass, it is global brush.\n * Each items: {\n * panelId, // mandatory.\n * clipPath, // mandatory. function.\n * isTargetByCursor, // mandatory. function.\n * defaultBrushType, // optional, only used when brushType is 'auto'.\n * getLinearBrushOtherExtent, // optional. function.\n * }\n */\n setPanels: function (panelOpts) {\n if (panelOpts && panelOpts.length) {\n var panels = this._panels = {};\n zrUtil.each(panelOpts, function (panelOpts) {\n panels[panelOpts.panelId] = zrUtil.clone(panelOpts);\n });\n } else {\n this._panels = null;\n }\n\n return this;\n },\n\n /**\n * @param {Object} [opt]\n * @return {boolean} [opt.enableGlobalPan=false]\n */\n mount: function (opt) {\n opt = opt || {};\n this._enableGlobalPan = opt.enableGlobalPan;\n var thisGroup = this.group;\n\n this._zr.add(thisGroup);\n\n thisGroup.attr({\n position: opt.position || [0, 0],\n rotation: opt.rotation || 0,\n scale: opt.scale || [1, 1]\n });\n this._transform = thisGroup.getLocalTransform();\n return this;\n },\n eachCover: function (cb, context) {\n each(this._covers, cb, context);\n },\n\n /**\n * Update covers.\n * @param {Array.} brushOptionList Like:\n * [\n * {id: 'xx', brushType: 'line', range: [23, 44], brushStyle, transformable},\n * {id: 'yy', brushType: 'rect', range: [[23, 44], [23, 54]]},\n * ...\n * ]\n * `brushType` is required in each cover info. (can not be 'auto')\n * `id` is not mandatory.\n * `brushStyle`, `transformable` is not mandatory, use DEFAULT_BRUSH_OPT by default.\n * If brushOptionList is null/undefined, all covers removed.\n */\n updateCovers: function (brushOptionList) {\n brushOptionList = zrUtil.map(brushOptionList, function (brushOption) {\n return zrUtil.merge(zrUtil.clone(DEFAULT_BRUSH_OPT), brushOption, true);\n });\n var tmpIdPrefix = '\\0-brush-index-';\n var oldCovers = this._covers;\n var newCovers = this._covers = [];\n var controller = this;\n var creatingCover = this._creatingCover;\n new DataDiffer(oldCovers, brushOptionList, oldGetKey, getKey).add(addOrUpdate).update(addOrUpdate).remove(remove).execute();\n return this;\n\n function getKey(brushOption, index) {\n return (brushOption.id != null ? brushOption.id : tmpIdPrefix + index) + '-' + brushOption.brushType;\n }\n\n function oldGetKey(cover, index) {\n return getKey(cover.__brushOption, index);\n }\n\n function addOrUpdate(newIndex, oldIndex) {\n var newBrushOption = brushOptionList[newIndex]; // Consider setOption in event listener of brushSelect,\n // where updating cover when creating should be forbiden.\n\n if (oldIndex != null && oldCovers[oldIndex] === creatingCover) {\n newCovers[newIndex] = oldCovers[oldIndex];\n } else {\n var cover = newCovers[newIndex] = oldIndex != null ? (oldCovers[oldIndex].__brushOption = newBrushOption, oldCovers[oldIndex]) : endCreating(controller, createCover(controller, newBrushOption));\n updateCoverAfterCreation(controller, cover);\n }\n }\n\n function remove(oldIndex) {\n if (oldCovers[oldIndex] !== creatingCover) {\n controller.group.remove(oldCovers[oldIndex]);\n }\n }\n },\n unmount: function () {\n this.enableBrush(false); // container may 'removeAll' outside.\n\n clearCovers(this);\n\n this._zr.remove(this.group);\n\n return this;\n },\n dispose: function () {\n this.unmount();\n this.off();\n }\n};\nzrUtil.mixin(BrushController, Eventful);\n\nfunction doEnableBrush(controller, brushOption) {\n var zr = controller._zr; // Consider roam, which takes globalPan too.\n\n if (!controller._enableGlobalPan) {\n interactionMutex.take(zr, MUTEX_RESOURCE_KEY, controller._uid);\n }\n\n each(controller._handlers, function (handler, eventName) {\n zr.on(eventName, handler);\n });\n controller._brushType = brushOption.brushType;\n controller._brushOption = zrUtil.merge(zrUtil.clone(DEFAULT_BRUSH_OPT), brushOption, true);\n}\n\nfunction doDisableBrush(controller) {\n var zr = controller._zr;\n interactionMutex.release(zr, MUTEX_RESOURCE_KEY, controller._uid);\n each(controller._handlers, function (handler, eventName) {\n zr.off(eventName, handler);\n });\n controller._brushType = controller._brushOption = null;\n}\n\nfunction createCover(controller, brushOption) {\n var cover = coverRenderers[brushOption.brushType].createCover(controller, brushOption);\n cover.__brushOption = brushOption;\n updateZ(cover, brushOption);\n controller.group.add(cover);\n return cover;\n}\n\nfunction endCreating(controller, creatingCover) {\n var coverRenderer = getCoverRenderer(creatingCover);\n\n if (coverRenderer.endCreating) {\n coverRenderer.endCreating(controller, creatingCover);\n updateZ(creatingCover, creatingCover.__brushOption);\n }\n\n return creatingCover;\n}\n\nfunction updateCoverShape(controller, cover) {\n var brushOption = cover.__brushOption;\n getCoverRenderer(cover).updateCoverShape(controller, cover, brushOption.range, brushOption);\n}\n\nfunction updateZ(cover, brushOption) {\n var z = brushOption.z;\n z == null && (z = COVER_Z);\n cover.traverse(function (el) {\n el.z = z;\n el.z2 = z; // Consider in given container.\n });\n}\n\nfunction updateCoverAfterCreation(controller, cover) {\n getCoverRenderer(cover).updateCommon(controller, cover);\n updateCoverShape(controller, cover);\n}\n\nfunction getCoverRenderer(cover) {\n return coverRenderers[cover.__brushOption.brushType];\n} // return target panel or `true` (means global panel)\n\n\nfunction getPanelByPoint(controller, e, localCursorPoint) {\n var panels = controller._panels;\n\n if (!panels) {\n return true; // Global panel\n }\n\n var panel;\n var transform = controller._transform;\n each(panels, function (pn) {\n pn.isTargetByCursor(e, localCursorPoint, transform) && (panel = pn);\n });\n return panel;\n} // Return a panel or true\n\n\nfunction getPanelByCover(controller, cover) {\n var panels = controller._panels;\n\n if (!panels) {\n return true; // Global panel\n }\n\n var panelId = cover.__brushOption.panelId; // User may give cover without coord sys info,\n // which is then treated as global panel.\n\n return panelId != null ? panels[panelId] : true;\n}\n\nfunction clearCovers(controller) {\n var covers = controller._covers;\n var originalLength = covers.length;\n each(covers, function (cover) {\n controller.group.remove(cover);\n }, controller);\n covers.length = 0;\n return !!originalLength;\n}\n\nfunction trigger(controller, opt) {\n var areas = map(controller._covers, function (cover) {\n var brushOption = cover.__brushOption;\n var range = zrUtil.clone(brushOption.range);\n return {\n brushType: brushOption.brushType,\n panelId: brushOption.panelId,\n range: range\n };\n });\n controller.trigger('brush', areas, {\n isEnd: !!opt.isEnd,\n removeOnClick: !!opt.removeOnClick\n });\n}\n\nfunction shouldShowCover(controller) {\n var track = controller._track;\n\n if (!track.length) {\n return false;\n }\n\n var p2 = track[track.length - 1];\n var p1 = track[0];\n var dx = p2[0] - p1[0];\n var dy = p2[1] - p1[1];\n var dist = mathPow(dx * dx + dy * dy, 0.5);\n return dist > UNSELECT_THRESHOLD;\n}\n\nfunction getTrackEnds(track) {\n var tail = track.length - 1;\n tail < 0 && (tail = 0);\n return [track[0], track[tail]];\n}\n\nfunction createBaseRectCover(doDrift, controller, brushOption, edgeNames) {\n var cover = new graphic.Group();\n cover.add(new graphic.Rect({\n name: 'main',\n style: makeStyle(brushOption),\n silent: true,\n draggable: true,\n cursor: 'move',\n drift: curry(doDrift, controller, cover, 'nswe'),\n ondragend: curry(trigger, controller, {\n isEnd: true\n })\n }));\n each(edgeNames, function (name) {\n cover.add(new graphic.Rect({\n name: name,\n style: {\n opacity: 0\n },\n draggable: true,\n silent: true,\n invisible: true,\n drift: curry(doDrift, controller, cover, name),\n ondragend: curry(trigger, controller, {\n isEnd: true\n })\n }));\n });\n return cover;\n}\n\nfunction updateBaseRect(controller, cover, localRange, brushOption) {\n var lineWidth = brushOption.brushStyle.lineWidth || 0;\n var handleSize = mathMax(lineWidth, MIN_RESIZE_LINE_WIDTH);\n var x = localRange[0][0];\n var y = localRange[1][0];\n var xa = x - lineWidth / 2;\n var ya = y - lineWidth / 2;\n var x2 = localRange[0][1];\n var y2 = localRange[1][1];\n var x2a = x2 - handleSize + lineWidth / 2;\n var y2a = y2 - handleSize + lineWidth / 2;\n var width = x2 - x;\n var height = y2 - y;\n var widtha = width + lineWidth;\n var heighta = height + lineWidth;\n updateRectShape(controller, cover, 'main', x, y, width, height);\n\n if (brushOption.transformable) {\n updateRectShape(controller, cover, 'w', xa, ya, handleSize, heighta);\n updateRectShape(controller, cover, 'e', x2a, ya, handleSize, heighta);\n updateRectShape(controller, cover, 'n', xa, ya, widtha, handleSize);\n updateRectShape(controller, cover, 's', xa, y2a, widtha, handleSize);\n updateRectShape(controller, cover, 'nw', xa, ya, handleSize, handleSize);\n updateRectShape(controller, cover, 'ne', x2a, ya, handleSize, handleSize);\n updateRectShape(controller, cover, 'sw', xa, y2a, handleSize, handleSize);\n updateRectShape(controller, cover, 'se', x2a, y2a, handleSize, handleSize);\n }\n}\n\nfunction updateCommon(controller, cover) {\n var brushOption = cover.__brushOption;\n var transformable = brushOption.transformable;\n var mainEl = cover.childAt(0);\n mainEl.useStyle(makeStyle(brushOption));\n mainEl.attr({\n silent: !transformable,\n cursor: transformable ? 'move' : 'default'\n });\n each(['w', 'e', 'n', 's', 'se', 'sw', 'ne', 'nw'], function (name) {\n var el = cover.childOfName(name);\n var globalDir = getGlobalDirection(controller, name);\n el && el.attr({\n silent: !transformable,\n invisible: !transformable,\n cursor: transformable ? CURSOR_MAP[globalDir] + '-resize' : null\n });\n });\n}\n\nfunction updateRectShape(controller, cover, name, x, y, w, h) {\n var el = cover.childOfName(name);\n el && el.setShape(pointsToRect(clipByPanel(controller, cover, [[x, y], [x + w, y + h]])));\n}\n\nfunction makeStyle(brushOption) {\n return zrUtil.defaults({\n strokeNoScale: true\n }, brushOption.brushStyle);\n}\n\nfunction formatRectRange(x, y, x2, y2) {\n var min = [mathMin(x, x2), mathMin(y, y2)];\n var max = [mathMax(x, x2), mathMax(y, y2)];\n return [[min[0], max[0]], // x range\n [min[1], max[1]] // y range\n ];\n}\n\nfunction getTransform(controller) {\n return graphic.getTransform(controller.group);\n}\n\nfunction getGlobalDirection(controller, localDirection) {\n if (localDirection.length > 1) {\n localDirection = localDirection.split('');\n var globalDir = [getGlobalDirection(controller, localDirection[0]), getGlobalDirection(controller, localDirection[1])];\n (globalDir[0] === 'e' || globalDir[0] === 'w') && globalDir.reverse();\n return globalDir.join('');\n } else {\n var map = {\n w: 'left',\n e: 'right',\n n: 'top',\n s: 'bottom'\n };\n var inverseMap = {\n left: 'w',\n right: 'e',\n top: 'n',\n bottom: 's'\n };\n var globalDir = graphic.transformDirection(map[localDirection], getTransform(controller));\n return inverseMap[globalDir];\n }\n}\n\nfunction driftRect(toRectRange, fromRectRange, controller, cover, name, dx, dy, e) {\n var brushOption = cover.__brushOption;\n var rectRange = toRectRange(brushOption.range);\n var localDelta = toLocalDelta(controller, dx, dy);\n each(name.split(''), function (namePart) {\n var ind = DIRECTION_MAP[namePart];\n rectRange[ind[0]][ind[1]] += localDelta[ind[0]];\n });\n brushOption.range = fromRectRange(formatRectRange(rectRange[0][0], rectRange[1][0], rectRange[0][1], rectRange[1][1]));\n updateCoverAfterCreation(controller, cover);\n trigger(controller, {\n isEnd: false\n });\n}\n\nfunction driftPolygon(controller, cover, dx, dy, e) {\n var range = cover.__brushOption.range;\n var localDelta = toLocalDelta(controller, dx, dy);\n each(range, function (point) {\n point[0] += localDelta[0];\n point[1] += localDelta[1];\n });\n updateCoverAfterCreation(controller, cover);\n trigger(controller, {\n isEnd: false\n });\n}\n\nfunction toLocalDelta(controller, dx, dy) {\n var thisGroup = controller.group;\n var localD = thisGroup.transformCoordToLocal(dx, dy);\n var localZero = thisGroup.transformCoordToLocal(0, 0);\n return [localD[0] - localZero[0], localD[1] - localZero[1]];\n}\n\nfunction clipByPanel(controller, cover, data) {\n var panel = getPanelByCover(controller, cover);\n return panel && panel !== true ? panel.clipPath(data, controller._transform) : zrUtil.clone(data);\n}\n\nfunction pointsToRect(points) {\n var xmin = mathMin(points[0][0], points[1][0]);\n var ymin = mathMin(points[0][1], points[1][1]);\n var xmax = mathMax(points[0][0], points[1][0]);\n var ymax = mathMax(points[0][1], points[1][1]);\n return {\n x: xmin,\n y: ymin,\n width: xmax - xmin,\n height: ymax - ymin\n };\n}\n\nfunction resetCursor(controller, e, localCursorPoint) {\n // Check active\n if (!controller._brushType) {\n return;\n }\n\n var zr = controller._zr;\n var covers = controller._covers;\n var currPanel = getPanelByPoint(controller, e, localCursorPoint); // Check whether in covers.\n\n if (!controller._dragging) {\n for (var i = 0; i < covers.length; i++) {\n var brushOption = covers[i].__brushOption;\n\n if (currPanel && (currPanel === true || brushOption.panelId === currPanel.panelId) && coverRenderers[brushOption.brushType].contain(covers[i], localCursorPoint[0], localCursorPoint[1])) {\n // Use cursor style set on cover.\n return;\n }\n }\n }\n\n currPanel && zr.setCursorStyle('crosshair');\n}\n\nfunction preventDefault(e) {\n var rawE = e.event;\n rawE.preventDefault && rawE.preventDefault();\n}\n\nfunction mainShapeContain(cover, x, y) {\n return cover.childOfName('main').contain(x, y);\n}\n\nfunction updateCoverByMouse(controller, e, localCursorPoint, isEnd) {\n var creatingCover = controller._creatingCover;\n var panel = controller._creatingPanel;\n var thisBrushOption = controller._brushOption;\n var eventParams;\n\n controller._track.push(localCursorPoint.slice());\n\n if (shouldShowCover(controller) || creatingCover) {\n if (panel && !creatingCover) {\n thisBrushOption.brushMode === 'single' && clearCovers(controller);\n var brushOption = zrUtil.clone(thisBrushOption);\n brushOption.brushType = determineBrushType(brushOption.brushType, panel);\n brushOption.panelId = panel === true ? null : panel.panelId;\n creatingCover = controller._creatingCover = createCover(controller, brushOption);\n\n controller._covers.push(creatingCover);\n }\n\n if (creatingCover) {\n var coverRenderer = coverRenderers[determineBrushType(controller._brushType, panel)];\n var coverBrushOption = creatingCover.__brushOption;\n coverBrushOption.range = coverRenderer.getCreatingRange(clipByPanel(controller, creatingCover, controller._track));\n\n if (isEnd) {\n endCreating(controller, creatingCover);\n coverRenderer.updateCommon(controller, creatingCover);\n }\n\n updateCoverShape(controller, creatingCover);\n eventParams = {\n isEnd: isEnd\n };\n }\n } else if (isEnd && thisBrushOption.brushMode === 'single' && thisBrushOption.removeOnClick) {\n // Help user to remove covers easily, only by a tiny drag, in 'single' mode.\n // But a single click do not clear covers, because user may have casual\n // clicks (for example, click on other component and do not expect covers\n // disappear).\n // Only some cover removed, trigger action, but not every click trigger action.\n if (getPanelByPoint(controller, e, localCursorPoint) && clearCovers(controller)) {\n eventParams = {\n isEnd: isEnd,\n removeOnClick: true\n };\n }\n }\n\n return eventParams;\n}\n\nfunction determineBrushType(brushType, panel) {\n if (brushType === 'auto') {\n return panel.defaultBrushType;\n }\n\n return brushType;\n}\n\nvar mouseHandlers = {\n mousedown: function (e) {\n if (this._dragging) {\n // In case some browser do not support globalOut,\n // and release mose out side the browser.\n handleDragEnd.call(this, e);\n } else if (!e.target || !e.target.draggable) {\n preventDefault(e);\n var localCursorPoint = this.group.transformCoordToLocal(e.offsetX, e.offsetY);\n this._creatingCover = null;\n var panel = this._creatingPanel = getPanelByPoint(this, e, localCursorPoint);\n\n if (panel) {\n this._dragging = true;\n this._track = [localCursorPoint.slice()];\n }\n }\n },\n mousemove: function (e) {\n var localCursorPoint = this.group.transformCoordToLocal(e.offsetX, e.offsetY);\n resetCursor(this, e, localCursorPoint);\n\n if (this._dragging) {\n preventDefault(e);\n var eventParams = updateCoverByMouse(this, e, localCursorPoint, false);\n eventParams && trigger(this, eventParams);\n }\n },\n mouseup: handleDragEnd //,\n // FIXME\n // in tooltip, globalout should not be triggered.\n // globalout: handleDragEnd\n\n};\n\nfunction handleDragEnd(e) {\n if (this._dragging) {\n preventDefault(e);\n var localCursorPoint = this.group.transformCoordToLocal(e.offsetX, e.offsetY);\n var eventParams = updateCoverByMouse(this, e, localCursorPoint, true);\n this._dragging = false;\n this._track = [];\n this._creatingCover = null; // trigger event shoule be at final, after procedure will be nested.\n\n eventParams && trigger(this, eventParams);\n }\n}\n/**\n * key: brushType\n * @type {Object}\n */\n\n\nvar coverRenderers = {\n lineX: getLineRenderer(0),\n lineY: getLineRenderer(1),\n rect: {\n createCover: function (controller, brushOption) {\n return createBaseRectCover(curry(driftRect, function (range) {\n return range;\n }, function (range) {\n return range;\n }), controller, brushOption, ['w', 'e', 'n', 's', 'se', 'sw', 'ne', 'nw']);\n },\n getCreatingRange: function (localTrack) {\n var ends = getTrackEnds(localTrack);\n return formatRectRange(ends[1][0], ends[1][1], ends[0][0], ends[0][1]);\n },\n updateCoverShape: function (controller, cover, localRange, brushOption) {\n updateBaseRect(controller, cover, localRange, brushOption);\n },\n updateCommon: updateCommon,\n contain: mainShapeContain\n },\n polygon: {\n createCover: function (controller, brushOption) {\n var cover = new graphic.Group(); // Do not use graphic.Polygon because graphic.Polyline do not close the\n // border of the shape when drawing, which is a better experience for user.\n\n cover.add(new graphic.Polyline({\n name: 'main',\n style: makeStyle(brushOption),\n silent: true\n }));\n return cover;\n },\n getCreatingRange: function (localTrack) {\n return localTrack;\n },\n endCreating: function (controller, cover) {\n cover.remove(cover.childAt(0)); // Use graphic.Polygon close the shape.\n\n cover.add(new graphic.Polygon({\n name: 'main',\n draggable: true,\n drift: curry(driftPolygon, controller, cover),\n ondragend: curry(trigger, controller, {\n isEnd: true\n })\n }));\n },\n updateCoverShape: function (controller, cover, localRange, brushOption) {\n cover.childAt(0).setShape({\n points: clipByPanel(controller, cover, localRange)\n });\n },\n updateCommon: updateCommon,\n contain: mainShapeContain\n }\n};\n\nfunction getLineRenderer(xyIndex) {\n return {\n createCover: function (controller, brushOption) {\n return createBaseRectCover(curry(driftRect, function (range) {\n var rectRange = [range, [0, 100]];\n xyIndex && rectRange.reverse();\n return rectRange;\n }, function (rectRange) {\n return rectRange[xyIndex];\n }), controller, brushOption, [['w', 'e'], ['n', 's']][xyIndex]);\n },\n getCreatingRange: function (localTrack) {\n var ends = getTrackEnds(localTrack);\n var min = mathMin(ends[0][xyIndex], ends[1][xyIndex]);\n var max = mathMax(ends[0][xyIndex], ends[1][xyIndex]);\n return [min, max];\n },\n updateCoverShape: function (controller, cover, localRange, brushOption) {\n var otherExtent; // If brushWidth not specified, fit the panel.\n\n var panel = getPanelByCover(controller, cover);\n\n if (panel !== true && panel.getLinearBrushOtherExtent) {\n otherExtent = panel.getLinearBrushOtherExtent(xyIndex, controller._transform);\n } else {\n var zr = controller._zr;\n otherExtent = [0, [zr.getWidth(), zr.getHeight()][1 - xyIndex]];\n }\n\n var rectRange = [localRange, otherExtent];\n xyIndex && rectRange.reverse();\n updateBaseRect(controller, cover, rectRange, brushOption);\n },\n updateCommon: updateCommon,\n contain: mainShapeContain\n };\n}\n\nvar _default = BrushController;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _dataProvider = require(\"../../data/helper/dataProvider\");\n\nvar retrieveRawValue = _dataProvider.retrieveRawValue;\n\nvar _format = require(\"../../util/format\");\n\nvar getTooltipMarker = _format.getTooltipMarker;\nvar formatTpl = _format.formatTpl;\n\nvar _model = require(\"../../util/model\");\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 DIMENSION_LABEL_REG = /\\{@(.+?)\\}/g; // PENDING A little ugly\n\nvar _default = {\n /**\n * Get params for formatter\n * @param {number} dataIndex\n * @param {string} [dataType]\n * @return {Object}\n */\n getDataParams: function (dataIndex, dataType) {\n var data = this.getData(dataType);\n var rawValue = this.getRawValue(dataIndex, dataType);\n var rawDataIndex = data.getRawIndex(dataIndex);\n var name = data.getName(dataIndex);\n var itemOpt = data.getRawDataItem(dataIndex);\n var color = data.getItemVisual(dataIndex, 'color');\n var tooltipModel = this.ecModel.getComponent('tooltip');\n var renderModeOption = tooltipModel && tooltipModel.get('renderMode');\n var renderMode = getTooltipRenderMode(renderModeOption);\n var mainType = this.mainType;\n var isSeries = mainType === 'series';\n return {\n componentType: mainType,\n componentSubType: this.subType,\n componentIndex: this.componentIndex,\n seriesType: isSeries ? this.subType : null,\n seriesIndex: this.seriesIndex,\n seriesId: isSeries ? this.id : null,\n seriesName: isSeries ? this.name : null,\n name: name,\n dataIndex: rawDataIndex,\n data: itemOpt,\n dataType: dataType,\n value: rawValue,\n color: color,\n marker: getTooltipMarker({\n color: color,\n renderMode: renderMode\n }),\n // Param name list for mapping `a`, `b`, `c`, `d`, `e`\n $vars: ['seriesName', 'name', 'value']\n };\n },\n\n /**\n * Format label\n * @param {number} dataIndex\n * @param {string} [status='normal'] 'normal' or 'emphasis'\n * @param {string} [dataType]\n * @param {number} [dimIndex]\n * @param {string} [labelProp='label']\n * @return {string} If not formatter, return null/undefined\n */\n getFormattedLabel: function (dataIndex, status, dataType, dimIndex, labelProp) {\n status = status || 'normal';\n var data = this.getData(dataType);\n var itemModel = data.getItemModel(dataIndex);\n var params = this.getDataParams(dataIndex, dataType);\n\n if (dimIndex != null && params.value instanceof Array) {\n params.value = params.value[dimIndex];\n }\n\n var formatter = itemModel.get(status === 'normal' ? [labelProp || 'label', 'formatter'] : [status, labelProp || 'label', 'formatter']);\n\n if (typeof formatter === 'function') {\n params.status = status;\n return formatter(params);\n } else if (typeof formatter === 'string') {\n var str = formatTpl(formatter, params); // Support 'aaa{@[3]}bbb{@product}ccc'.\n // Do not support '}' in dim name util have to.\n\n return str.replace(DIMENSION_LABEL_REG, function (origin, dim) {\n var len = dim.length;\n\n if (dim.charAt(0) === '[' && dim.charAt(len - 1) === ']') {\n dim = +dim.slice(1, len - 1); // Also: '[]' => 0\n }\n\n return retrieveRawValue(data, dataIndex, dim);\n });\n }\n },\n\n /**\n * Get raw value in option\n * @param {number} idx\n * @param {string} [dataType]\n * @return {Array|number|string}\n */\n getRawValue: function (idx, dataType) {\n return retrieveRawValue(this.getData(dataType), idx);\n },\n\n /**\n * Should be implemented.\n * @param {number} dataIndex\n * @param {boolean} [multipleSeries=false]\n * @param {number} [dataType]\n * @return {string} tooltip string\n */\n formatTooltip: function () {// Empty function\n }\n};\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar isObject = _util.isObject;\nvar map = _util.map;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @constructor\n * @param {Object} [opt]\n * @param {Object} [opt.categories=[]]\n * @param {Object} [opt.needCollect=false]\n * @param {Object} [opt.deduplication=false]\n */\nfunction OrdinalMeta(opt) {\n /**\n * @readOnly\n * @type {Array.}\n */\n this.categories = opt.categories || [];\n /**\n * @private\n * @type {boolean}\n */\n\n this._needCollect = opt.needCollect;\n /**\n * @private\n * @type {boolean}\n */\n\n this._deduplication = opt.deduplication;\n /**\n * @private\n * @type {boolean}\n */\n\n this._map;\n}\n/**\n * @param {module:echarts/model/Model} axisModel\n * @return {module:echarts/data/OrdinalMeta}\n */\n\n\nOrdinalMeta.createByAxisModel = function (axisModel) {\n var option = axisModel.option;\n var data = option.data;\n var categories = data && map(data, getName);\n return new OrdinalMeta({\n categories: categories,\n needCollect: !categories,\n // deduplication is default in axis.\n deduplication: option.dedplication !== false\n });\n};\n\nvar proto = OrdinalMeta.prototype;\n/**\n * @param {string} category\n * @return {number} ordinal\n */\n\nproto.getOrdinal = function (category) {\n return getOrCreateMap(this).get(category);\n};\n/**\n * @param {*} category\n * @return {number} The ordinal. If not found, return NaN.\n */\n\n\nproto.parseAndCollect = function (category) {\n var index;\n var needCollect = this._needCollect; // The value of category dim can be the index of the given category set.\n // This feature is only supported when !needCollect, because we should\n // consider a common case: a value is 2017, which is a number but is\n // expected to be tread as a category. This case usually happen in dataset,\n // where it happent to be no need of the index feature.\n\n if (typeof category !== 'string' && !needCollect) {\n return category;\n } // Optimize for the scenario:\n // category is ['2012-01-01', '2012-01-02', ...], where the input\n // data has been ensured not duplicate and is large data.\n // Notice, if a dataset dimension provide categroies, usually echarts\n // should remove duplication except user tell echarts dont do that\n // (set axis.deduplication = false), because echarts do not know whether\n // the values in the category dimension has duplication (consider the\n // parallel-aqi example)\n\n\n if (needCollect && !this._deduplication) {\n index = this.categories.length;\n this.categories[index] = category;\n return index;\n }\n\n var map = getOrCreateMap(this);\n index = map.get(category);\n\n if (index == null) {\n if (needCollect) {\n index = this.categories.length;\n this.categories[index] = category;\n map.set(category, index);\n } else {\n index = NaN;\n }\n }\n\n return index;\n}; // Consider big data, do not create map until needed.\n\n\nfunction getOrCreateMap(ordinalMeta) {\n return ordinalMeta._map || (ordinalMeta._map = createHashMap(ordinalMeta.categories));\n}\n\nfunction getName(obj) {\n if (isObject(obj) && obj.value != null) {\n return obj.value;\n } else {\n return obj + '';\n }\n}\n\nvar _default = OrdinalMeta;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Scale = require(\"./Scale\");\n\nvar OrdinalMeta = require(\"../data/OrdinalMeta\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar layout = require(\"../../util/layout\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// (24*60*60*1000)\nvar PROXIMATE_ONE_DAY = 86400000;\n/**\n * Calendar\n *\n * @constructor\n *\n * @param {Object} calendarModel calendarModel\n * @param {Object} ecModel ecModel\n * @param {Object} api api\n */\n\nfunction Calendar(calendarModel, ecModel, api) {\n this._model = calendarModel;\n}\n\nCalendar.prototype = {\n constructor: Calendar,\n type: 'calendar',\n dimensions: ['time', 'value'],\n // Required in createListFromData\n getDimensionsInfo: function () {\n return [{\n name: 'time',\n type: 'time'\n }, 'value'];\n },\n getRangeInfo: function () {\n return this._rangeInfo;\n },\n getModel: function () {\n return this._model;\n },\n getRect: function () {\n return this._rect;\n },\n getCellWidth: function () {\n return this._sw;\n },\n getCellHeight: function () {\n return this._sh;\n },\n getOrient: function () {\n return this._orient;\n },\n\n /**\n * getFirstDayOfWeek\n *\n * @example\n * 0 : start at Sunday\n * 1 : start at Monday\n *\n * @return {number}\n */\n getFirstDayOfWeek: function () {\n return this._firstDayOfWeek;\n },\n\n /**\n * get date info\n *\n * @param {string|number} date date\n * @return {Object}\n * {\n * y: string, local full year, eg., '1940',\n * m: string, local month, from '01' ot '12',\n * d: string, local date, from '01' to '31' (if exists),\n * day: It is not date.getDay(). It is the location of the cell in a week, from 0 to 6,\n * time: timestamp,\n * formatedDate: string, yyyy-MM-dd,\n * date: original date object.\n * }\n */\n getDateInfo: function (date) {\n date = numberUtil.parseDate(date);\n var y = date.getFullYear();\n var m = date.getMonth() + 1;\n m = m < 10 ? '0' + m : m;\n var d = date.getDate();\n d = d < 10 ? '0' + d : d;\n var day = date.getDay();\n day = Math.abs((day + 7 - this.getFirstDayOfWeek()) % 7);\n return {\n y: y,\n m: m,\n d: d,\n day: day,\n time: date.getTime(),\n formatedDate: y + '-' + m + '-' + d,\n date: date\n };\n },\n getNextNDay: function (date, n) {\n n = n || 0;\n\n if (n === 0) {\n return this.getDateInfo(date);\n }\n\n date = new Date(this.getDateInfo(date).time);\n date.setDate(date.getDate() + n);\n return this.getDateInfo(date);\n },\n update: function (ecModel, api) {\n this._firstDayOfWeek = +this._model.getModel('dayLabel').get('firstDay');\n this._orient = this._model.get('orient');\n this._lineWidth = this._model.getModel('itemStyle').getItemStyle().lineWidth || 0;\n this._rangeInfo = this._getRangeInfo(this._initRangeOption());\n var weeks = this._rangeInfo.weeks || 1;\n var whNames = ['width', 'height'];\n\n var cellSize = this._model.get('cellSize').slice();\n\n var layoutParams = this._model.getBoxLayoutParams();\n\n var cellNumbers = this._orient === 'horizontal' ? [weeks, 7] : [7, weeks];\n zrUtil.each([0, 1], function (idx) {\n if (cellSizeSpecified(cellSize, idx)) {\n layoutParams[whNames[idx]] = cellSize[idx] * cellNumbers[idx];\n }\n });\n var whGlobal = {\n width: api.getWidth(),\n height: api.getHeight()\n };\n var calendarRect = this._rect = layout.getLayoutRect(layoutParams, whGlobal);\n zrUtil.each([0, 1], function (idx) {\n if (!cellSizeSpecified(cellSize, idx)) {\n cellSize[idx] = calendarRect[whNames[idx]] / cellNumbers[idx];\n }\n });\n\n function cellSizeSpecified(cellSize, idx) {\n return cellSize[idx] != null && cellSize[idx] !== 'auto';\n }\n\n this._sw = cellSize[0];\n this._sh = cellSize[1];\n },\n\n /**\n * Convert a time data(time, value) item to (x, y) point.\n *\n * @override\n * @param {Array|number} data data\n * @param {boolean} [clamp=true] out of range\n * @return {Array} point\n */\n dataToPoint: function (data, clamp) {\n zrUtil.isArray(data) && (data = data[0]);\n clamp == null && (clamp = true);\n var dayInfo = this.getDateInfo(data);\n var range = this._rangeInfo;\n var date = dayInfo.formatedDate; // if not in range return [NaN, NaN]\n\n if (clamp && !(dayInfo.time >= range.start.time && dayInfo.time < range.end.time + PROXIMATE_ONE_DAY)) {\n return [NaN, NaN];\n }\n\n var week = dayInfo.day;\n\n var nthWeek = this._getRangeInfo([range.start.time, date]).nthWeek;\n\n if (this._orient === 'vertical') {\n return [this._rect.x + week * this._sw + this._sw / 2, this._rect.y + nthWeek * this._sh + this._sh / 2];\n }\n\n return [this._rect.x + nthWeek * this._sw + this._sw / 2, this._rect.y + week * this._sh + this._sh / 2];\n },\n\n /**\n * Convert a (x, y) point to time data\n *\n * @override\n * @param {string} point point\n * @return {string} data\n */\n pointToData: function (point) {\n var date = this.pointToDate(point);\n return date && date.time;\n },\n\n /**\n * Convert a time date item to (x, y) four point.\n *\n * @param {Array} data date[0] is date\n * @param {boolean} [clamp=true] out of range\n * @return {Object} point\n */\n dataToRect: function (data, clamp) {\n var point = this.dataToPoint(data, clamp);\n return {\n contentShape: {\n x: point[0] - (this._sw - this._lineWidth) / 2,\n y: point[1] - (this._sh - this._lineWidth) / 2,\n width: this._sw - this._lineWidth,\n height: this._sh - this._lineWidth\n },\n center: point,\n tl: [point[0] - this._sw / 2, point[1] - this._sh / 2],\n tr: [point[0] + this._sw / 2, point[1] - this._sh / 2],\n br: [point[0] + this._sw / 2, point[1] + this._sh / 2],\n bl: [point[0] - this._sw / 2, point[1] + this._sh / 2]\n };\n },\n\n /**\n * Convert a (x, y) point to time date\n *\n * @param {Array} point point\n * @return {Object} date\n */\n pointToDate: function (point) {\n var nthX = Math.floor((point[0] - this._rect.x) / this._sw) + 1;\n var nthY = Math.floor((point[1] - this._rect.y) / this._sh) + 1;\n var range = this._rangeInfo.range;\n\n if (this._orient === 'vertical') {\n return this._getDateByWeeksAndDay(nthY, nthX - 1, range);\n }\n\n return this._getDateByWeeksAndDay(nthX, nthY - 1, range);\n },\n\n /**\n * @inheritDoc\n */\n convertToPixel: zrUtil.curry(doConvert, 'dataToPoint'),\n\n /**\n * @inheritDoc\n */\n convertFromPixel: zrUtil.curry(doConvert, 'pointToData'),\n\n /**\n * initRange\n *\n * @private\n * @return {Array} [start, end]\n */\n _initRangeOption: function () {\n var range = this._model.get('range');\n\n var rg = range;\n\n if (zrUtil.isArray(rg) && rg.length === 1) {\n rg = rg[0];\n }\n\n if (/^\\d{4}$/.test(rg)) {\n range = [rg + '-01-01', rg + '-12-31'];\n }\n\n if (/^\\d{4}[\\/|-]\\d{1,2}$/.test(rg)) {\n var start = this.getDateInfo(rg);\n var firstDay = start.date;\n firstDay.setMonth(firstDay.getMonth() + 1);\n var end = this.getNextNDay(firstDay, -1);\n range = [start.formatedDate, end.formatedDate];\n }\n\n if (/^\\d{4}[\\/|-]\\d{1,2}[\\/|-]\\d{1,2}$/.test(rg)) {\n range = [rg, rg];\n }\n\n var tmp = this._getRangeInfo(range);\n\n if (tmp.start.time > tmp.end.time) {\n range.reverse();\n }\n\n return range;\n },\n\n /**\n * range info\n *\n * @private\n * @param {Array} range range ['2017-01-01', '2017-07-08']\n * If range[0] > range[1], they will not be reversed.\n * @return {Object} obj\n */\n _getRangeInfo: function (range) {\n range = [this.getDateInfo(range[0]), this.getDateInfo(range[1])];\n var reversed;\n\n if (range[0].time > range[1].time) {\n reversed = true;\n range.reverse();\n }\n\n var allDay = Math.floor(range[1].time / PROXIMATE_ONE_DAY) - Math.floor(range[0].time / PROXIMATE_ONE_DAY) + 1; // Consider 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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar each = _util.each;\nvar isString = _util.isString;\nvar defaults = _util.defaults;\nvar extend = _util.extend;\nvar isObject = _util.isObject;\nvar clone = _util.clone;\n\nvar _model = require(\"../../util/model\");\n\nvar normalizeToArray = _model.normalizeToArray;\n\nvar _sourceHelper = require(\"./sourceHelper\");\n\nvar guessOrdinal = _sourceHelper.guessOrdinal;\n\nvar Source = require(\"../Source\");\n\nvar _dimensionHelper = require(\"./dimensionHelper\");\n\nvar OTHER_DIMENSIONS = _dimensionHelper.OTHER_DIMENSIONS;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @deprecated\n * Use `echarts/data/helper/createDimensions` instead.\n */\n\n/**\n * @see {module:echarts/test/ut/spec/data/completeDimensions}\n *\n * Complete the dimensions array, by user defined `dimension` and `encode`,\n * and guessing from the data structure.\n * If no 'value' dimension specified, the first no-named dimension will be\n * named as 'value'.\n *\n * @param {Array.} sysDims Necessary dimensions, like ['x', 'y'], which\n * provides not only dim template, but also default order.\n * properties: 'name', 'type', 'displayName'.\n * `name` of each item provides default coord name.\n * [{dimsDef: [string|Object, ...]}, ...] dimsDef of sysDim item provides default dim name, and\n * provide dims count that the sysDim required.\n * [{ordinalMeta}] can be specified.\n * @param {module:echarts/data/Source|Array|Object} source or data (for compatibal with pervious)\n * @param {Object} [opt]\n * @param {Array.} [opt.dimsDef] option.series.dimensions User defined dimensions\n * For example: ['asdf', {name, type}, ...].\n * @param {Object|HashMap} [opt.encodeDef] option.series.encode {x: 2, y: [3, 1], tooltip: [1, 2], label: 3}\n * @param {string} [opt.generateCoord] Generate coord dim with the given name.\n * If not specified, extra dim names will be:\n * 'value', 'value0', 'value1', ...\n * @param {number} [opt.generateCoordCount] By default, the generated dim name is `generateCoord`.\n * If `generateCoordCount` specified, the generated dim names will be:\n * `generateCoord` + 0, `generateCoord` + 1, ...\n * can be Infinity, indicate that use all of the remain columns.\n * @param {number} [opt.dimCount] If not specified, guess by the first data item.\n * @param {number} [opt.encodeDefaulter] If not specified, auto find the next available data dim.\n * @return {Array.} [{\n * name: string mandatory,\n * displayName: string, the origin name in dimsDef, see source helper.\n * If displayName given, the tooltip will displayed vertically.\n * coordDim: string mandatory,\n * coordDimIndex: number mandatory,\n * type: string optional,\n * otherDims: { never null/undefined\n * tooltip: number optional,\n * label: number optional,\n * itemName: number optional,\n * seriesName: number optional,\n * },\n * isExtraCoord: boolean true if coord is generated\n * (not specified in encode and not series specified)\n * other props ...\n * }]\n */\nfunction completeDimensions(sysDims, source, opt) {\n if (!Source.isInstance(source)) {\n source = Source.seriesDataToSource(source);\n }\n\n opt = opt || {};\n sysDims = (sysDims || []).slice();\n var dimsDef = (opt.dimsDef || []).slice();\n var encodeDef = createHashMap(opt.encodeDef);\n var dataDimNameMap = createHashMap();\n var coordDimNameMap = createHashMap(); // var valueCandidate;\n\n var result = [];\n var dimCount = getDimCount(source, sysDims, dimsDef, opt.dimCount); // Apply user defined dims (`name` and `type`) and init result.\n\n for (var i = 0; i < dimCount; i++) {\n var dimDefItem = dimsDef[i] = extend({}, isObject(dimsDef[i]) ? dimsDef[i] : {\n name: dimsDef[i]\n });\n var userDimName = dimDefItem.name;\n var resultItem = result[i] = {\n otherDims: {}\n }; // Name will be applied later for avoiding duplication.\n\n if (userDimName != null && dataDimNameMap.get(userDimName) == null) {\n // Only if `series.dimensions` is defined in option\n // displayName, will be set, and dimension will be diplayed vertically in\n // tooltip by default.\n resultItem.name = resultItem.displayName = userDimName;\n dataDimNameMap.set(userDimName, i);\n }\n\n dimDefItem.type != null && (resultItem.type = dimDefItem.type);\n dimDefItem.displayName != null && (resultItem.displayName = dimDefItem.displayName);\n } // Set `coordDim` and `coordDimIndex` by `encodeDef` and normalize `encodeDef`.\n\n\n encodeDef.each(function (dataDims, coordDim) {\n dataDims = normalizeToArray(dataDims).slice(); // Note: It is allowed that `dataDims.length` is `0`, e.g., options is\n // `{encode: {x: -1, y: 1}}`. Should not filter anything in\n // this case.\n\n if (dataDims.length === 1 && dataDims[0] < 0) {\n encodeDef.set(coordDim, false);\n return;\n }\n\n var validDataDims = encodeDef.set(coordDim, []);\n each(dataDims, function (resultDimIdx, idx) {\n // The input resultDimIdx can be dim name or index.\n isString(resultDimIdx) && (resultDimIdx = dataDimNameMap.get(resultDimIdx));\n\n if (resultDimIdx != null && resultDimIdx < dimCount) {\n validDataDims[idx] = resultDimIdx;\n applyDim(result[resultDimIdx], coordDim, idx);\n }\n });\n }); // Apply templetes and default order from `sysDims`.\n\n var availDimIdx = 0;\n each(sysDims, function (sysDimItem, sysDimIndex) {\n var coordDim;\n var sysDimItem;\n var sysDimItemDimsDef;\n var sysDimItemOtherDims;\n\n if (isString(sysDimItem)) {\n coordDim = sysDimItem;\n sysDimItem = {};\n } else {\n coordDim = sysDimItem.name;\n var ordinalMeta = sysDimItem.ordinalMeta;\n sysDimItem.ordinalMeta = null;\n sysDimItem = clone(sysDimItem);\n sysDimItem.ordinalMeta = ordinalMeta; // `coordDimIndex` should not be set directly.\n\n sysDimItemDimsDef = sysDimItem.dimsDef;\n sysDimItemOtherDims = sysDimItem.otherDims;\n sysDimItem.name = sysDimItem.coordDim = sysDimItem.coordDimIndex = sysDimItem.dimsDef = sysDimItem.otherDims = null;\n }\n\n var dataDims = encodeDef.get(coordDim); // negative resultDimIdx means no need to mapping.\n\n if (dataDims === false) {\n return;\n }\n\n var dataDims = normalizeToArray(dataDims); // dimensions provides default dim sequences.\n\n if (!dataDims.length) {\n for (var i = 0; i < (sysDimItemDimsDef && sysDimItemDimsDef.length || 1); i++) {\n while (availDimIdx < result.length && result[availDimIdx].coordDim != null) {\n availDimIdx++;\n }\n\n availDimIdx < result.length && dataDims.push(availDimIdx++);\n }\n } // Apply templates.\n\n\n each(dataDims, function (resultDimIdx, coordDimIndex) {\n var resultItem = result[resultDimIdx];\n applyDim(defaults(resultItem, sysDimItem), coordDim, coordDimIndex);\n\n if (resultItem.name == null && sysDimItemDimsDef) {\n var sysDimItemDimsDefItem = sysDimItemDimsDef[coordDimIndex];\n !isObject(sysDimItemDimsDefItem) && (sysDimItemDimsDefItem = {\n name: sysDimItemDimsDefItem\n });\n resultItem.name = resultItem.displayName = sysDimItemDimsDefItem.name;\n resultItem.defaultTooltip = sysDimItemDimsDefItem.defaultTooltip;\n } // FIXME refactor, currently only used in case: {otherDims: {tooltip: false}}\n\n\n sysDimItemOtherDims && defaults(resultItem.otherDims, sysDimItemOtherDims);\n });\n });\n\n function applyDim(resultItem, coordDim, coordDimIndex) {\n if (OTHER_DIMENSIONS.get(coordDim) != null) {\n resultItem.otherDims[coordDim] = coordDimIndex;\n } else {\n resultItem.coordDim = coordDim;\n resultItem.coordDimIndex = coordDimIndex;\n coordDimNameMap.set(coordDim, true);\n }\n } // Make sure the first extra dim is 'value'.\n\n\n var generateCoord = opt.generateCoord;\n var generateCoordCount = opt.generateCoordCount;\n var fromZero = generateCoordCount != null;\n generateCoordCount = generateCoord ? generateCoordCount || 1 : 0;\n var extra = generateCoord || 'value'; // Set dim `name` and other `coordDim` and other props.\n\n for (var resultDimIdx = 0; resultDimIdx < dimCount; resultDimIdx++) {\n var resultItem = result[resultDimIdx] = result[resultDimIdx] || {};\n var coordDim = resultItem.coordDim;\n\n if (coordDim == null) {\n resultItem.coordDim = genName(extra, coordDimNameMap, fromZero);\n resultItem.coordDimIndex = 0;\n\n if (!generateCoord || generateCoordCount <= 0) {\n resultItem.isExtraCoord = true;\n }\n\n generateCoordCount--;\n }\n\n resultItem.name == null && (resultItem.name = genName(resultItem.coordDim, dataDimNameMap));\n\n if (resultItem.type == null && guessOrdinal(source, resultDimIdx, resultItem.name)) {\n resultItem.type = 'ordinal';\n }\n }\n\n return result;\n} // ??? TODO\n// Originally detect dimCount by data[0]. Should we\n// optimize it to only by sysDims and dimensions and encode.\n// So only necessary dims will be initialized.\n// But\n// (1) custom series should be considered. where other dims\n// may be visited.\n// (2) sometimes user need to calcualte bubble size or use visualMap\n// on other dimensions besides coordSys needed.\n// So, dims that is not used by system, should be shared in storage?\n\n\nfunction getDimCount(source, sysDims, dimsDef, optDimCount) {\n // Note that the result dimCount should not small than columns count\n // of data, otherwise `dataDimNameMap` checking will be incorrect.\n var dimCount = Math.max(source.dimensionsDetectCount || 1, sysDims.length, dimsDef.length, optDimCount || 0);\n each(sysDims, function (sysDimItem) {\n var sysDimItemDimsDef = sysDimItem.dimsDef;\n sysDimItemDimsDef && (dimCount = Math.max(dimCount, sysDimItemDimsDef.length));\n });\n return dimCount;\n}\n\nfunction genName(name, map, fromZero) {\n if (fromZero || map.get(name) != null) {\n var i = 0;\n\n while (map.get(name + i) != null) {\n i++;\n }\n\n name += i;\n }\n\n map.set(name, true);\n return name;\n}\n\nvar _default = completeDimensions;\nmodule.exports = _default;","var zrLog = require(\"../core/log\");\n\nvar vmlCore = require(\"./core\");\n\nvar _util = require(\"../core/util\");\n\nvar each = _util.each;\n\n/**\n * VML Painter.\n *\n * @module zrender/vml/Painter\n */\nfunction parseInt10(val) {\n return parseInt(val, 10);\n}\n/**\n * @alias module:zrender/vml/Painter\n */\n\n\nfunction VMLPainter(root, storage) {\n vmlCore.initVML();\n this.root = root;\n this.storage = storage;\n var vmlViewport = document.createElement('div');\n var vmlRoot = document.createElement('div');\n vmlViewport.style.cssText = 'display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;';\n vmlRoot.style.cssText = 'position:absolute;left:0;top:0;';\n root.appendChild(vmlViewport);\n this._vmlRoot = vmlRoot;\n this._vmlViewport = vmlViewport;\n this.resize(); // Modify storage\n\n var oldDelFromStorage = storage.delFromStorage;\n var oldAddToStorage = storage.addToStorage;\n\n storage.delFromStorage = function (el) {\n oldDelFromStorage.call(storage, el);\n\n if (el) {\n el.onRemove && el.onRemove(vmlRoot);\n }\n };\n\n storage.addToStorage = function (el) {\n // Displayable already has a vml node\n el.onAdd && el.onAdd(vmlRoot);\n oldAddToStorage.call(storage, el);\n };\n\n this._firstPaint = true;\n}\n\nVMLPainter.prototype = {\n constructor: VMLPainter,\n getType: function () {\n return 'vml';\n },\n\n /**\n * @return {HTMLDivElement}\n */\n getViewportRoot: function () {\n return this._vmlViewport;\n },\n getViewportRootOffset: function () {\n var viewportRoot = this.getViewportRoot();\n\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n },\n\n /**\n * 刷新\n */\n refresh: function () {\n var list = this.storage.getDisplayList(true, true);\n\n this._paintList(list);\n },\n _paintList: function (list) {\n var vmlRoot = this._vmlRoot;\n\n for (var i = 0; i < list.length; i++) {\n var el = list[i];\n\n if (el.invisible || el.ignore) {\n if (!el.__alreadyNotVisible) {\n el.onRemove(vmlRoot);\n } // Set as already invisible\n\n\n el.__alreadyNotVisible = true;\n } else {\n if (el.__alreadyNotVisible) {\n el.onAdd(vmlRoot);\n }\n\n el.__alreadyNotVisible = false;\n\n if (el.__dirty) {\n el.beforeBrush && el.beforeBrush();\n (el.brushVML || el.brush).call(el, vmlRoot);\n el.afterBrush && el.afterBrush();\n }\n }\n\n el.__dirty = false;\n }\n\n if (this._firstPaint) {\n // Detached from document at first time\n // to avoid page refreshing too many times\n // FIXME 如果每次都先 removeChild 可能会导致一些填充和描边的效果改变\n this._vmlViewport.appendChild(vmlRoot);\n\n this._firstPaint = false;\n }\n },\n resize: function (width, height) {\n var width = width == null ? this._getWidth() : width;\n var height = height == null ? this._getHeight() : height;\n\n if (this._width !== width || this._height !== height) {\n this._width = width;\n this._height = height;\n var vmlViewportStyle = this._vmlViewport.style;\n vmlViewportStyle.width = width + 'px';\n vmlViewportStyle.height = height + 'px';\n }\n },\n dispose: function () {\n this.root.innerHTML = '';\n this._vmlRoot = this._vmlViewport = this.storage = null;\n },\n getWidth: function () {\n return this._width;\n },\n getHeight: function () {\n return this._height;\n },\n clear: function () {\n if (this._vmlViewport) {\n this.root.removeChild(this._vmlViewport);\n }\n },\n _getWidth: function () {\n var root = this.root;\n var stl = root.currentStyle;\n return (root.clientWidth || parseInt10(stl.width)) - parseInt10(stl.paddingLeft) - parseInt10(stl.paddingRight) | 0;\n },\n _getHeight: function () {\n var root = this.root;\n var stl = root.currentStyle;\n return (root.clientHeight || parseInt10(stl.height)) - parseInt10(stl.paddingTop) - parseInt10(stl.paddingBottom) | 0;\n }\n}; // Not supported methods\n\nfunction createMethodNotSupport(method) {\n return function () {\n zrLog('In IE8.0 VML mode painter not support method \"' + method + '\"');\n };\n} // Unsupported methods\n\n\neach(['getLayer', 'insertLayer', 'eachLayer', 'eachBuiltinLayer', 'eachOtherLayer', 'getLayers', 'modLayer', 'delLayer', 'clearLayer', 'toDataURL', 'pathToImage'], function (name) {\n VMLPainter.prototype[name] = createMethodNotSupport(name);\n});\nvar _default = VMLPainter;\nmodule.exports = _default;","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","var _vector = require(\"../../core/vector\");\n\nvar v2Min = _vector.min;\nvar v2Max = _vector.max;\nvar v2Scale = _vector.scale;\nvar v2Distance = _vector.distance;\nvar v2Add = _vector.add;\nvar v2Clone = _vector.clone;\nvar v2Sub = _vector.sub;\n\n/**\n * 贝塞尔平滑曲线\n * @module zrender/shape/util/smoothBezier\n * @author pissang (https://www.github.com/pissang)\n * Kener (@Kener-林峰, kener.linfeng@gmail.com)\n * errorrik (errorrik@gmail.com)\n */\n\n/**\n * 贝塞尔平滑曲线\n * @alias module:zrender/shape/util/smoothBezier\n * @param {Array} points 线段顶点数组\n * @param {number} smooth 平滑等级, 0-1\n * @param {boolean} isLoop\n * @param {Array} constraint 将计算出来的控制点约束在一个包围盒内\n * 比如 [[0, 0], [100, 100]], 这个包围盒会与\n * 整个折线的包围盒做一个并集用来约束控制点。\n * @param {Array} 计算出来的控制点数组\n */\nfunction _default(points, smooth, isLoop, constraint) {\n var cps = [];\n var v = [];\n var v1 = [];\n var v2 = [];\n var prevPoint;\n var nextPoint;\n var min;\n var max;\n\n if (constraint) {\n min = [Infinity, Infinity];\n max = [-Infinity, -Infinity];\n\n for (var i = 0, len = points.length; i < len; i++) {\n v2Min(min, min, points[i]);\n v2Max(max, max, points[i]);\n } // 与指定的包围盒做并集\n\n\n v2Min(min, min, constraint[0]);\n v2Max(max, max, constraint[1]);\n }\n\n for (var i = 0, len = points.length; i < len; i++) {\n var point = points[i];\n\n if (isLoop) {\n prevPoint = points[i ? i - 1 : len - 1];\n nextPoint = points[(i + 1) % len];\n } else {\n if (i === 0 || i === len - 1) {\n cps.push(v2Clone(points[i]));\n continue;\n } else {\n prevPoint = points[i - 1];\n nextPoint = points[i + 1];\n }\n }\n\n v2Sub(v, nextPoint, prevPoint); // use degree to scale the handle length\n\n v2Scale(v, v, smooth);\n var d0 = v2Distance(point, prevPoint);\n var d1 = v2Distance(point, nextPoint);\n var sum = d0 + d1;\n\n if (sum !== 0) {\n d0 /= sum;\n d1 /= sum;\n }\n\n v2Scale(v1, v, -d0);\n v2Scale(v2, v, d1);\n var cp0 = v2Add([], point, v1);\n var cp1 = v2Add([], point, v2);\n\n if (constraint) {\n v2Max(cp0, cp0, min);\n v2Min(cp0, cp0, max);\n v2Max(cp1, cp1, min);\n v2Min(cp1, cp1, max);\n }\n\n cps.push(cp0);\n cps.push(cp1);\n }\n\n if (isLoop) {\n cps.push(cps.shift());\n }\n\n return cps;\n}\n\nmodule.exports = _default;","var _vector = require(\"./vector\");\n\nvar v2Create = _vector.create;\nvar v2DistSquare = _vector.distSquare;\n\n/**\n * 曲线辅助模块\n * @module zrender/core/curve\n * @author pissang(https://www.github.com/pissang)\n */\nvar mathPow = Math.pow;\nvar mathSqrt = Math.sqrt;\nvar EPSILON = 1e-8;\nvar EPSILON_NUMERIC = 1e-4;\nvar THREE_SQRT = mathSqrt(3);\nvar ONE_THIRD = 1 / 3; // 临时变量\n\nvar _v0 = v2Create();\n\nvar _v1 = v2Create();\n\nvar _v2 = v2Create();\n\nfunction isAroundZero(val) {\n return val > -EPSILON && val < EPSILON;\n}\n\nfunction isNotAroundZero(val) {\n return val > EPSILON || val < -EPSILON;\n}\n/**\n * 计算三次贝塞尔值\n * @memberOf module:zrender/core/curve\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {number} t\n * @return {number}\n */\n\n\nfunction cubicAt(p0, p1, p2, p3, t) {\n var onet = 1 - t;\n return onet * onet * (onet * p0 + 3 * t * p1) + t * t * (t * p3 + 3 * onet * p2);\n}\n/**\n * 计算三次贝塞尔导数值\n * @memberOf module:zrender/core/curve\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {number} t\n * @return {number}\n */\n\n\nfunction cubicDerivativeAt(p0, p1, p2, p3, t) {\n var onet = 1 - t;\n return 3 * (((p1 - p0) * onet + 2 * (p2 - p1) * t) * onet + (p3 - p2) * t * t);\n}\n/**\n * 计算三次贝塞尔方程根,使用盛金公式\n * @memberOf module:zrender/core/curve\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {number} val\n * @param {Array.} roots\n * @return {number} 有效根数目\n */\n\n\nfunction cubicRootAt(p0, p1, p2, p3, val, roots) {\n // Evaluate roots of cubic functions\n var a = p3 + 3 * (p1 - p2) - p0;\n var b = 3 * (p2 - p1 * 2 + p0);\n var c = 3 * (p1 - p0);\n var d = p0 - val;\n var A = b * b - 3 * a * c;\n var B = b * c - 9 * a * d;\n var C = c * c - 3 * b * d;\n var n = 0;\n\n if (isAroundZero(A) && isAroundZero(B)) {\n if (isAroundZero(b)) {\n roots[0] = 0;\n } else {\n var t1 = -c / b; //t1, t2, t3, b is not zero\n\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n }\n } else {\n var disc = B * B - 4 * A * C;\n\n if (isAroundZero(disc)) {\n var K = B / A;\n var t1 = -b / a + K; // t1, a is not zero\n\n var t2 = -K / 2; // t2, t3\n\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n\n if (t2 >= 0 && t2 <= 1) {\n roots[n++] = t2;\n }\n } else if (disc > 0) {\n var discSqrt = mathSqrt(disc);\n var Y1 = A * b + 1.5 * a * (-B + discSqrt);\n var Y2 = A * b + 1.5 * a * (-B - discSqrt);\n\n if (Y1 < 0) {\n Y1 = -mathPow(-Y1, ONE_THIRD);\n } else {\n Y1 = mathPow(Y1, ONE_THIRD);\n }\n\n if (Y2 < 0) {\n Y2 = -mathPow(-Y2, ONE_THIRD);\n } else {\n Y2 = mathPow(Y2, ONE_THIRD);\n }\n\n var t1 = (-b - (Y1 + Y2)) / (3 * a);\n\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n } else {\n var T = (2 * A * b - 3 * a * B) / (2 * mathSqrt(A * A * A));\n var theta = Math.acos(T) / 3;\n var ASqrt = mathSqrt(A);\n var tmp = Math.cos(theta);\n var t1 = (-b - 2 * ASqrt * tmp) / (3 * a);\n var t2 = (-b + ASqrt * (tmp + THREE_SQRT * Math.sin(theta))) / (3 * a);\n var t3 = (-b + ASqrt * (tmp - THREE_SQRT * Math.sin(theta))) / (3 * a);\n\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n\n if (t2 >= 0 && t2 <= 1) {\n roots[n++] = t2;\n }\n\n if (t3 >= 0 && t3 <= 1) {\n roots[n++] = t3;\n }\n }\n }\n\n return n;\n}\n/**\n * 计算三次贝塞尔方程极限值的位置\n * @memberOf module:zrender/core/curve\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {Array.} extrema\n * @return {number} 有效数目\n */\n\n\nfunction cubicExtrema(p0, p1, p2, p3, extrema) {\n var b = 6 * p2 - 12 * p1 + 6 * p0;\n var a = 9 * p1 + 3 * p3 - 3 * p0 - 9 * p2;\n var c = 3 * p1 - 3 * p0;\n var n = 0;\n\n if (isAroundZero(a)) {\n if (isNotAroundZero(b)) {\n var t1 = -c / b;\n\n if (t1 >= 0 && t1 <= 1) {\n extrema[n++] = t1;\n }\n }\n } else {\n var disc = b * b - 4 * a * c;\n\n if (isAroundZero(disc)) {\n extrema[0] = -b / (2 * a);\n } else if (disc > 0) {\n var discSqrt = mathSqrt(disc);\n var t1 = (-b + discSqrt) / (2 * a);\n var t2 = (-b - discSqrt) / (2 * a);\n\n if (t1 >= 0 && t1 <= 1) {\n extrema[n++] = t1;\n }\n\n if (t2 >= 0 && t2 <= 1) {\n extrema[n++] = t2;\n }\n }\n }\n\n return n;\n}\n/**\n * 细分三次贝塞尔曲线\n * @memberOf module:zrender/core/curve\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {number} t\n * @param {Array.} out\n */\n\n\nfunction cubicSubdivide(p0, p1, p2, p3, t, out) {\n var p01 = (p1 - p0) * t + p0;\n var p12 = (p2 - p1) * t + p1;\n var p23 = (p3 - p2) * t + p2;\n var p012 = (p12 - p01) * t + p01;\n var p123 = (p23 - p12) * t + p12;\n var p0123 = (p123 - p012) * t + p012; // Seg0\n\n out[0] = p0;\n out[1] = p01;\n out[2] = p012;\n out[3] = p0123; // Seg1\n\n out[4] = p0123;\n out[5] = p123;\n out[6] = p23;\n out[7] = p3;\n}\n/**\n * 投射点到三次贝塞尔曲线上,返回投射距离。\n * 投射点有可能会有一个或者多个,这里只返回其中距离最短的一个。\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} x3\n * @param {number} y3\n * @param {number} x\n * @param {number} y\n * @param {Array.} [out] 投射点\n * @return {number}\n */\n\n\nfunction cubicProjectPoint(x0, y0, x1, y1, x2, y2, x3, y3, x, y, out) {\n // http://pomax.github.io/bezierinfo/#projections\n var t;\n var interval = 0.005;\n var d = Infinity;\n var prev;\n var next;\n var d1;\n var d2;\n _v0[0] = x;\n _v0[1] = y; // 先粗略估计一下可能的最小距离的 t 值\n // PENDING\n\n for (var _t = 0; _t < 1; _t += 0.05) {\n _v1[0] = cubicAt(x0, x1, x2, x3, _t);\n _v1[1] = cubicAt(y0, y1, y2, y3, _t);\n d1 = v2DistSquare(_v0, _v1);\n\n if (d1 < d) {\n t = _t;\n d = d1;\n }\n }\n\n d = Infinity; // At most 32 iteration\n\n for (var i = 0; i < 32; i++) {\n if (interval < EPSILON_NUMERIC) {\n break;\n }\n\n prev = t - interval;\n next = t + interval; // t - interval\n\n _v1[0] = cubicAt(x0, x1, x2, x3, prev);\n _v1[1] = cubicAt(y0, y1, y2, y3, prev);\n d1 = v2DistSquare(_v1, _v0);\n\n if (prev >= 0 && d1 < d) {\n t = prev;\n d = d1;\n } else {\n // t + interval\n _v2[0] = cubicAt(x0, x1, x2, x3, next);\n _v2[1] = cubicAt(y0, y1, y2, y3, next);\n d2 = v2DistSquare(_v2, _v0);\n\n if (next <= 1 && d2 < d) {\n t = next;\n d = d2;\n } else {\n interval *= 0.5;\n }\n }\n } // t\n\n\n if (out) {\n out[0] = cubicAt(x0, x1, x2, x3, t);\n out[1] = cubicAt(y0, y1, y2, y3, t);\n } // console.log(interval, i);\n\n\n return mathSqrt(d);\n}\n/**\n * 计算二次方贝塞尔值\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} t\n * @return {number}\n */\n\n\nfunction quadraticAt(p0, p1, p2, t) {\n var onet = 1 - t;\n return onet * (onet * p0 + 2 * t * p1) + t * t * p2;\n}\n/**\n * 计算二次方贝塞尔导数值\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} t\n * @return {number}\n */\n\n\nfunction quadraticDerivativeAt(p0, p1, p2, t) {\n return 2 * ((1 - t) * (p1 - p0) + t * (p2 - p1));\n}\n/**\n * 计算二次方贝塞尔方程根\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} t\n * @param {Array.} roots\n * @return {number} 有效根数目\n */\n\n\nfunction quadraticRootAt(p0, p1, p2, val, roots) {\n var a = p0 - 2 * p1 + p2;\n var b = 2 * (p1 - p0);\n var c = p0 - val;\n var n = 0;\n\n if (isAroundZero(a)) {\n if (isNotAroundZero(b)) {\n var t1 = -c / b;\n\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n }\n } else {\n var disc = b * b - 4 * a * c;\n\n if (isAroundZero(disc)) {\n var t1 = -b / (2 * a);\n\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n } else if (disc > 0) {\n var discSqrt = mathSqrt(disc);\n var t1 = (-b + discSqrt) / (2 * a);\n var t2 = (-b - discSqrt) / (2 * a);\n\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n\n if (t2 >= 0 && t2 <= 1) {\n roots[n++] = t2;\n }\n }\n }\n\n return n;\n}\n/**\n * 计算二次贝塞尔方程极限值\n * @memberOf module:zrender/core/curve\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @return {number}\n */\n\n\nfunction quadraticExtremum(p0, p1, p2) {\n var divider = p0 + p2 - 2 * p1;\n\n if (divider === 0) {\n // p1 is center of p0 and p2\n return 0.5;\n } else {\n return (p0 - p1) / divider;\n }\n}\n/**\n * 细分二次贝塞尔曲线\n * @memberOf module:zrender/core/curve\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} t\n * @param {Array.} out\n */\n\n\nfunction quadraticSubdivide(p0, p1, p2, t, out) {\n var p01 = (p1 - p0) * t + p0;\n var p12 = (p2 - p1) * t + p1;\n var p012 = (p12 - p01) * t + p01; // Seg0\n\n out[0] = p0;\n out[1] = p01;\n out[2] = p012; // Seg1\n\n out[3] = p012;\n out[4] = p12;\n out[5] = p2;\n}\n/**\n * 投射点到二次贝塞尔曲线上,返回投射距离。\n * 投射点有可能会有一个或者多个,这里只返回其中距离最短的一个。\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} x\n * @param {number} y\n * @param {Array.} out 投射点\n * @return {number}\n */\n\n\nfunction quadraticProjectPoint(x0, y0, x1, y1, x2, y2, x, y, out) {\n // http://pomax.github.io/bezierinfo/#projections\n var t;\n var interval = 0.005;\n var d = Infinity;\n _v0[0] = x;\n _v0[1] = y; // 先粗略估计一下可能的最小距离的 t 值\n // PENDING\n\n for (var _t = 0; _t < 1; _t += 0.05) {\n _v1[0] = quadraticAt(x0, x1, x2, _t);\n _v1[1] = quadraticAt(y0, y1, y2, _t);\n var d1 = v2DistSquare(_v0, _v1);\n\n if (d1 < d) {\n t = _t;\n d = d1;\n }\n }\n\n d = Infinity; // At most 32 iteration\n\n for (var i = 0; i < 32; i++) {\n if (interval < EPSILON_NUMERIC) {\n break;\n }\n\n var prev = t - interval;\n var next = t + interval; // t - interval\n\n _v1[0] = quadraticAt(x0, x1, x2, prev);\n _v1[1] = quadraticAt(y0, y1, y2, prev);\n var d1 = v2DistSquare(_v1, _v0);\n\n if (prev >= 0 && d1 < d) {\n t = prev;\n d = d1;\n } else {\n // t + interval\n _v2[0] = quadraticAt(x0, x1, x2, next);\n _v2[1] = quadraticAt(y0, y1, y2, next);\n var d2 = v2DistSquare(_v2, _v0);\n\n if (next <= 1 && d2 < d) {\n t = next;\n d = d2;\n } else {\n interval *= 0.5;\n }\n }\n } // t\n\n\n if (out) {\n out[0] = quadraticAt(x0, x1, x2, t);\n out[1] = quadraticAt(y0, y1, y2, t);\n } // console.log(interval, i);\n\n\n return mathSqrt(d);\n}\n\nexports.cubicAt = cubicAt;\nexports.cubicDerivativeAt = cubicDerivativeAt;\nexports.cubicRootAt = cubicRootAt;\nexports.cubicExtrema = cubicExtrema;\nexports.cubicSubdivide = cubicSubdivide;\nexports.cubicProjectPoint = cubicProjectPoint;\nexports.quadraticAt = quadraticAt;\nexports.quadraticDerivativeAt = quadraticDerivativeAt;\nexports.quadraticRootAt = quadraticRootAt;\nexports.quadraticExtremum = quadraticExtremum;\nexports.quadraticSubdivide = quadraticSubdivide;\nexports.quadraticProjectPoint = quadraticProjectPoint;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar coordinateSystemCreators = {};\n\nfunction CoordinateSystemManager() {\n this._coordinateSystems = [];\n}\n\nCoordinateSystemManager.prototype = {\n constructor: CoordinateSystemManager,\n create: function (ecModel, api) {\n var coordinateSystems = [];\n zrUtil.each(coordinateSystemCreators, function (creater, type) {\n var list = creater.create(ecModel, api);\n coordinateSystems = coordinateSystems.concat(list || []);\n });\n this._coordinateSystems = coordinateSystems;\n },\n update: function (ecModel, api) {\n zrUtil.each(this._coordinateSystems, function (coordSys) {\n coordSys.update && coordSys.update(ecModel, api);\n });\n },\n getCoordinateSystems: function () {\n return this._coordinateSystems.slice();\n }\n};\n\nCoordinateSystemManager.register = function (type, coordinateSystemCreator) {\n coordinateSystemCreators[type] = coordinateSystemCreator;\n};\n\nCoordinateSystemManager.get = function (type) {\n return coordinateSystemCreators[type];\n};\n\nvar _default = CoordinateSystemManager;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar formatUtil = require(\"../../util/format\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar AXIS_DIMS = ['x', 'y', 'z', 'radius', 'angle', 'single']; // Supported coords.\n\nvar COORDS = ['cartesian2d', 'polar', 'singleAxis'];\n/**\n * @param {string} coordType\n * @return {boolean}\n */\n\nfunction isCoordSupported(coordType) {\n return zrUtil.indexOf(COORDS, coordType) >= 0;\n}\n/**\n * Create \"each\" method to iterate names.\n *\n * @pubilc\n * @param {Array.} names\n * @param {Array.=} attrs\n * @return {Function}\n */\n\n\nfunction createNameEach(names, attrs) {\n names = names.slice();\n var capitalNames = zrUtil.map(names, formatUtil.capitalFirst);\n attrs = (attrs || []).slice();\n var capitalAttrs = zrUtil.map(attrs, formatUtil.capitalFirst);\n return function (callback, context) {\n zrUtil.each(names, function (name, index) {\n var nameObj = {\n name: name,\n capital: capitalNames[index]\n };\n\n for (var j = 0; j < attrs.length; j++) {\n nameObj[attrs[j]] = name + capitalAttrs[j];\n }\n\n callback.call(context, nameObj);\n });\n };\n}\n/**\n * Iterate each dimension name.\n *\n * @public\n * @param {Function} callback The parameter is like:\n * {\n * name: 'angle',\n * capital: 'Angle',\n * axis: 'angleAxis',\n * axisIndex: 'angleAixs',\n * index: 'angleIndex'\n * }\n * @param {Object} context\n */\n\n\nvar eachAxisDim = createNameEach(AXIS_DIMS, ['axisIndex', 'axis', 'index', 'id']);\n/**\n * If tow dataZoomModels has the same axis controlled, we say that they are 'linked'.\n * dataZoomModels and 'links' make up one or more graphics.\n * This function finds the graphic where the source dataZoomModel is in.\n *\n * @public\n * @param {Function} forEachNode Node iterator.\n * @param {Function} forEachEdgeType edgeType iterator\n * @param {Function} edgeIdGetter Giving node and edgeType, return an array of edge id.\n * @return {Function} Input: sourceNode, Output: Like {nodes: [], dims: {}}\n */\n\nfunction createLinkedNodesFinder(forEachNode, forEachEdgeType, edgeIdGetter) {\n return function (sourceNode) {\n var result = {\n nodes: [],\n records: {} // key: edgeType.name, value: Object (key: edge id, value: boolean).\n\n };\n forEachEdgeType(function (edgeType) {\n result.records[edgeType.name] = {};\n });\n\n if (!sourceNode) {\n return result;\n }\n\n absorb(sourceNode, result);\n var existsLink;\n\n do {\n existsLink = false;\n forEachNode(processSingleNode);\n } while (existsLink);\n\n function processSingleNode(node) {\n if (!isNodeAbsorded(node, result) && isLinked(node, result)) {\n absorb(node, result);\n existsLink = true;\n }\n }\n\n return result;\n };\n\n function isNodeAbsorded(node, result) {\n return zrUtil.indexOf(result.nodes, node) >= 0;\n }\n\n function isLinked(node, result) {\n var hasLink = false;\n forEachEdgeType(function (edgeType) {\n zrUtil.each(edgeIdGetter(node, edgeType) || [], function (edgeId) {\n result.records[edgeType.name][edgeId] && (hasLink = true);\n });\n });\n return hasLink;\n }\n\n function absorb(node, result) {\n result.nodes.push(node);\n forEachEdgeType(function (edgeType) {\n zrUtil.each(edgeIdGetter(node, edgeType) || [], function (edgeId) {\n result.records[edgeType.name][edgeId] = true;\n });\n });\n }\n}\n\nexports.isCoordSupported = isCoordSupported;\nexports.createNameEach = createNameEach;\nexports.eachAxisDim = eachAxisDim;\nexports.createLinkedNodesFinder = createLinkedNodesFinder;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\nvar MAX_SAFE_INTEGER = _number.MAX_SAFE_INTEGER;\n\nvar layout = require(\"../../util/layout\");\n\nvar helper = require(\"../helper/treeHelper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* A third-party license is embeded for some of the code in this file:\n* The treemap layout implementation was originally copied from\n* \"d3.js\" with some modifications made for this project.\n* (See more details in the comment of the method \"squarify\" below.)\n* The use of the source code of this file is also subject to the terms\n* and consitions of the license of \"d3.js\" (BSD-3Clause, see\n* ).\n*/\nvar mathMax = Math.max;\nvar mathMin = Math.min;\nvar retrieveValue = zrUtil.retrieve;\nvar each = zrUtil.each;\nvar PATH_BORDER_WIDTH = ['itemStyle', 'borderWidth'];\nvar PATH_GAP_WIDTH = ['itemStyle', 'gapWidth'];\nvar PATH_UPPER_LABEL_SHOW = ['upperLabel', 'show'];\nvar PATH_UPPER_LABEL_HEIGHT = ['upperLabel', 'height'];\n/**\n * @public\n */\n\nvar _default = {\n seriesType: 'treemap',\n reset: function (seriesModel, ecModel, api, payload) {\n // Layout result in each node:\n // {x, y, width, height, area, borderWidth}\n var ecWidth = api.getWidth();\n var ecHeight = api.getHeight();\n var seriesOption = seriesModel.option;\n var layoutInfo = layout.getLayoutRect(seriesModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n var size = seriesOption.size || []; // Compatible with ec2.\n\n var containerWidth = parsePercent(retrieveValue(layoutInfo.width, size[0]), ecWidth);\n var containerHeight = parsePercent(retrieveValue(layoutInfo.height, size[1]), ecHeight); // Fetch payload info.\n\n var payloadType = payload && payload.type;\n var types = ['treemapZoomToNode', 'treemapRootToNode'];\n var targetInfo = helper.retrieveTargetInfo(payload, types, seriesModel);\n var rootRect = payloadType === 'treemapRender' || payloadType === 'treemapMove' ? payload.rootRect : null;\n var viewRoot = seriesModel.getViewRoot();\n var viewAbovePath = helper.getPathToRoot(viewRoot);\n\n if (payloadType !== 'treemapMove') {\n var rootSize = payloadType === 'treemapZoomToNode' ? estimateRootSize(seriesModel, targetInfo, viewRoot, containerWidth, containerHeight) : rootRect ? [rootRect.width, rootRect.height] : [containerWidth, containerHeight];\n var sort = seriesOption.sort;\n\n if (sort && sort !== 'asc' && sort !== 'desc') {\n sort = 'desc';\n }\n\n var options = {\n squareRatio: seriesOption.squareRatio,\n sort: sort,\n leafDepth: seriesOption.leafDepth\n }; // layout should be cleared because using updateView but not update.\n\n viewRoot.hostTree.clearLayouts(); // TODO\n // optimize: if out of view clip, do not layout.\n // But take care that if do not render node out of view clip,\n // how to calculate start po\n\n var viewRootLayout = {\n x: 0,\n y: 0,\n width: rootSize[0],\n height: rootSize[1],\n area: rootSize[0] * rootSize[1]\n };\n viewRoot.setLayout(viewRootLayout);\n squarify(viewRoot, options, false, 0); // Supplement layout.\n\n var viewRootLayout = viewRoot.getLayout();\n each(viewAbovePath, function (node, index) {\n var childValue = (viewAbovePath[index + 1] || viewRoot).getValue();\n node.setLayout(zrUtil.extend({\n dataExtent: [childValue, childValue],\n borderWidth: 0,\n upperHeight: 0\n }, viewRootLayout));\n });\n }\n\n var treeRoot = seriesModel.getData().tree.root;\n treeRoot.setLayout(calculateRootPosition(layoutInfo, rootRect, targetInfo), true);\n seriesModel.setLayoutInfo(layoutInfo); // FIXME\n // 现在没有clip功能,暂时取ec高宽。\n\n prunning(treeRoot, // Transform to base element coordinate system.\n new BoundingRect(-layoutInfo.x, -layoutInfo.y, ecWidth, ecHeight), viewAbovePath, viewRoot, 0);\n }\n};\n/**\n * Layout treemap with squarify algorithm.\n * The original presentation of this algorithm\n * was made by Mark Bruls, Kees Huizing, and Jarke J. van Wijk\n * .\n * The implementation of this algorithm was originally copied from \"d3.js\"\n * \n * with some modifications made for this program.\n * See the license statement at the head of this file.\n *\n * @protected\n * @param {module:echarts/data/Tree~TreeNode} node\n * @param {Object} options\n * @param {string} options.sort 'asc' or 'desc'\n * @param {number} options.squareRatio\n * @param {boolean} hideChildren\n * @param {number} depth\n */\n\nfunction squarify(node, options, hideChildren, depth) {\n var width;\n var height;\n\n if (node.isRemoved()) {\n return;\n }\n\n var thisLayout = node.getLayout();\n width = thisLayout.width;\n height = thisLayout.height; // Considering border and gap\n\n var nodeModel = node.getModel();\n var borderWidth = nodeModel.get(PATH_BORDER_WIDTH);\n var halfGapWidth = nodeModel.get(PATH_GAP_WIDTH) / 2;\n var upperLabelHeight = getUpperLabelHeight(nodeModel);\n var upperHeight = Math.max(borderWidth, upperLabelHeight);\n var layoutOffset = borderWidth - halfGapWidth;\n var layoutOffsetUpper = upperHeight - halfGapWidth;\n var nodeModel = node.getModel();\n node.setLayout({\n borderWidth: borderWidth,\n upperHeight: upperHeight,\n upperLabelHeight: upperLabelHeight\n }, true);\n width = mathMax(width - 2 * layoutOffset, 0);\n height = mathMax(height - layoutOffset - layoutOffsetUpper, 0);\n var totalArea = width * height;\n var viewChildren = initChildren(node, nodeModel, totalArea, options, hideChildren, depth);\n\n if (!viewChildren.length) {\n return;\n }\n\n var rect = {\n x: layoutOffset,\n y: layoutOffsetUpper,\n width: width,\n height: height\n };\n var rowFixedLength = mathMin(width, height);\n var best = Infinity; // the best row score so far\n\n var row = [];\n row.area = 0;\n\n for (var i = 0, len = viewChildren.length; i < len;) {\n var child = viewChildren[i];\n row.push(child);\n row.area += child.getLayout().area;\n var score = worst(row, rowFixedLength, options.squareRatio); // continue with this orientation\n\n if (score <= best) {\n i++;\n best = score;\n } // abort, and try a different orientation\n else {\n row.area -= row.pop().getLayout().area;\n position(row, rowFixedLength, rect, halfGapWidth, false);\n rowFixedLength = mathMin(rect.width, rect.height);\n row.length = row.area = 0;\n best = Infinity;\n }\n }\n\n if (row.length) {\n position(row, rowFixedLength, rect, halfGapWidth, true);\n }\n\n if (!hideChildren) {\n var childrenVisibleMin = nodeModel.get('childrenVisibleMin');\n\n if (childrenVisibleMin != null && totalArea < childrenVisibleMin) {\n hideChildren = true;\n }\n }\n\n for (var i = 0, len = viewChildren.length; i < len; i++) {\n squarify(viewChildren[i], options, hideChildren, depth + 1);\n }\n}\n/**\n * Set area to each child, and calculate data extent for visual coding.\n */\n\n\nfunction initChildren(node, nodeModel, totalArea, options, hideChildren, depth) {\n var viewChildren = node.children || [];\n var orderBy = options.sort;\n orderBy !== 'asc' && orderBy !== 'desc' && (orderBy = null);\n var overLeafDepth = options.leafDepth != null && options.leafDepth <= depth; // leafDepth has higher priority.\n\n if (hideChildren && !overLeafDepth) {\n return node.viewChildren = [];\n } // Sort children, order by desc.\n\n\n viewChildren = zrUtil.filter(viewChildren, function (child) {\n return !child.isRemoved();\n });\n sort(viewChildren, orderBy);\n var info = statistic(nodeModel, viewChildren, orderBy);\n\n if (info.sum === 0) {\n return node.viewChildren = [];\n }\n\n info.sum = filterByThreshold(nodeModel, totalArea, info.sum, orderBy, viewChildren);\n\n if (info.sum === 0) {\n return node.viewChildren = [];\n } // Set area to each child.\n\n\n for (var i = 0, len = viewChildren.length; i < len; i++) {\n var area = viewChildren[i].getValue() / info.sum * totalArea; // Do not use setLayout({...}, true), because it is needed to clear last layout.\n\n viewChildren[i].setLayout({\n area: area\n });\n }\n\n if (overLeafDepth) {\n viewChildren.length && node.setLayout({\n isLeafRoot: true\n }, true);\n viewChildren.length = 0;\n }\n\n node.viewChildren = viewChildren;\n node.setLayout({\n dataExtent: info.dataExtent\n }, true);\n return viewChildren;\n}\n/**\n * Consider 'visibleMin'. Modify viewChildren and get new sum.\n */\n\n\nfunction filterByThreshold(nodeModel, totalArea, sum, orderBy, orderedChildren) {\n // visibleMin is not supported yet when no option.sort.\n if (!orderBy) {\n return sum;\n }\n\n var visibleMin = nodeModel.get('visibleMin');\n var len = orderedChildren.length;\n var deletePoint = len; // Always travel from little value to big value.\n\n for (var i = len - 1; i >= 0; i--) {\n var value = orderedChildren[orderBy === 'asc' ? len - i - 1 : i].getValue();\n\n if (value / sum * totalArea < visibleMin) {\n deletePoint = i;\n sum -= value;\n }\n }\n\n orderBy === 'asc' ? orderedChildren.splice(0, len - deletePoint) : orderedChildren.splice(deletePoint, len - deletePoint);\n return sum;\n}\n/**\n * Sort\n */\n\n\nfunction sort(viewChildren, orderBy) {\n if (orderBy) {\n viewChildren.sort(function (a, b) {\n var diff = orderBy === 'asc' ? a.getValue() - b.getValue() : b.getValue() - a.getValue();\n return diff === 0 ? orderBy === 'asc' ? a.dataIndex - b.dataIndex : b.dataIndex - a.dataIndex : diff;\n });\n }\n\n return viewChildren;\n}\n/**\n * Statistic\n */\n\n\nfunction statistic(nodeModel, children, orderBy) {\n // Calculate sum.\n var sum = 0;\n\n for (var i = 0, len = children.length; i < len; i++) {\n sum += children[i].getValue();\n } // Statistic data extent for latter visual coding.\n // Notice: data extent should be calculate based on raw children\n // but not filtered view children, otherwise visual mapping will not\n // be stable when zoom (where children is filtered by visibleMin).\n\n\n var dimension = nodeModel.get('visualDimension');\n var dataExtent; // The same as area dimension.\n\n if (!children || !children.length) {\n dataExtent = [NaN, NaN];\n } else if (dimension === 'value' && orderBy) {\n dataExtent = [children[children.length - 1].getValue(), children[0].getValue()];\n orderBy === 'asc' && dataExtent.reverse();\n } // Other dimension.\n else {\n var dataExtent = [Infinity, -Infinity];\n each(children, function (child) {\n var value = child.getValue(dimension);\n value < dataExtent[0] && (dataExtent[0] = value);\n value > dataExtent[1] && (dataExtent[1] = value);\n });\n }\n\n return {\n sum: sum,\n dataExtent: dataExtent\n };\n}\n/**\n * Computes the score for the specified row,\n * as the worst aspect ratio.\n */\n\n\nfunction worst(row, rowFixedLength, ratio) {\n var areaMax = 0;\n var areaMin = Infinity;\n\n for (var i = 0, area, len = row.length; i < len; i++) {\n area = row[i].getLayout().area;\n\n if (area) {\n area < areaMin && (areaMin = area);\n area > areaMax && (areaMax = area);\n }\n }\n\n var squareArea = row.area * row.area;\n var f = rowFixedLength * rowFixedLength * ratio;\n return squareArea ? mathMax(f * areaMax / squareArea, squareArea / (f * areaMin)) : Infinity;\n}\n/**\n * Positions the specified row of nodes. Modifies `rect`.\n */\n\n\nfunction position(row, rowFixedLength, rect, halfGapWidth, flush) {\n // When rowFixedLength === rect.width,\n // it is horizontal subdivision,\n // rowFixedLength is the width of the subdivision,\n // rowOtherLength is the height of the subdivision,\n // and nodes will be positioned from left to right.\n // wh[idx0WhenH] means: when horizontal,\n // wh[idx0WhenH] => wh[0] => 'width'.\n // xy[idx1WhenH] => xy[1] => 'y'.\n var idx0WhenH = rowFixedLength === rect.width ? 0 : 1;\n var idx1WhenH = 1 - idx0WhenH;\n var xy = ['x', 'y'];\n var wh = ['width', 'height'];\n var last = rect[xy[idx0WhenH]];\n var rowOtherLength = rowFixedLength ? row.area / rowFixedLength : 0;\n\n if (flush || rowOtherLength > rect[wh[idx1WhenH]]) {\n rowOtherLength = rect[wh[idx1WhenH]]; // over+underflow\n }\n\n for (var i = 0, rowLen = row.length; i < rowLen; i++) {\n var node = row[i];\n var nodeLayout = {};\n var step = rowOtherLength ? node.getLayout().area / rowOtherLength : 0;\n var wh1 = nodeLayout[wh[idx1WhenH]] = mathMax(rowOtherLength - 2 * halfGapWidth, 0); // We use Math.max/min to avoid negative width/height when considering gap width.\n\n var remain = rect[xy[idx0WhenH]] + rect[wh[idx0WhenH]] - last;\n var modWH = i === rowLen - 1 || remain < step ? remain : step;\n var wh0 = nodeLayout[wh[idx0WhenH]] = mathMax(modWH - 2 * halfGapWidth, 0);\n nodeLayout[xy[idx1WhenH]] = rect[xy[idx1WhenH]] + mathMin(halfGapWidth, wh1 / 2);\n nodeLayout[xy[idx0WhenH]] = last + mathMin(halfGapWidth, wh0 / 2);\n last += modWH;\n node.setLayout(nodeLayout, true);\n }\n\n rect[xy[idx1WhenH]] += rowOtherLength;\n rect[wh[idx1WhenH]] -= rowOtherLength;\n} // Return [containerWidth, containerHeight] as 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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(seriesType, actionInfos) {\n zrUtil.each(actionInfos, function (actionInfo) {\n actionInfo.update = 'updateView';\n /**\n * @payload\n * @property {string} seriesName\n * @property {string} name\n */\n\n echarts.registerAction(actionInfo, function (payload, ecModel) {\n var selected = {};\n ecModel.eachComponent({\n mainType: 'series',\n subType: seriesType,\n query: payload\n }, function (seriesModel) {\n if (seriesModel[actionInfo.method]) {\n seriesModel[actionInfo.method](payload.name, payload.dataIndex);\n }\n\n var data = seriesModel.getData(); // Create selected map\n\n data.each(function (idx) {\n var name = data.getName(idx);\n selected[name] = seriesModel.isSelected(name) || false;\n });\n });\n return {\n name: payload.name,\n selected: selected\n };\n });\n });\n}\n\nmodule.exports = _default;","var fixShadow = require(\"./helper/fixShadow\");\n\nvar _constant = require(\"./constant\");\n\nvar ContextCachedBy = _constant.ContextCachedBy;\nvar STYLE_COMMON_PROPS = [['shadowBlur', 0], ['shadowOffsetX', 0], ['shadowOffsetY', 0], ['shadowColor', '#000'], ['lineCap', 'butt'], ['lineJoin', 'miter'], ['miterLimit', 10]]; // var SHADOW_PROPS = STYLE_COMMON_PROPS.slice(0, 4);\n// var LINE_PROPS = STYLE_COMMON_PROPS.slice(4);\n\nvar Style = function (opts) {\n this.extendFrom(opts, false);\n};\n\nfunction createLinearGradient(ctx, obj, rect) {\n var x = obj.x == null ? 0 : obj.x;\n var x2 = obj.x2 == null ? 1 : obj.x2;\n var y = obj.y == null ? 0 : obj.y;\n var y2 = obj.y2 == null ? 0 : obj.y2;\n\n if (!obj.global) {\n x = x * rect.width + rect.x;\n x2 = x2 * rect.width + rect.x;\n y = y * rect.height + rect.y;\n y2 = y2 * rect.height + rect.y;\n } // Fix NaN when rect is Infinity\n\n\n x = isNaN(x) ? 0 : x;\n x2 = isNaN(x2) ? 1 : x2;\n y = isNaN(y) ? 0 : y;\n y2 = isNaN(y2) ? 0 : y2;\n var canvasGradient = ctx.createLinearGradient(x, y, x2, y2);\n return canvasGradient;\n}\n\nfunction createRadialGradient(ctx, obj, rect) {\n var width = rect.width;\n var height = rect.height;\n var min = Math.min(width, height);\n var x = obj.x == null ? 0.5 : obj.x;\n var y = obj.y == null ? 0.5 : obj.y;\n var r = obj.r == null ? 0.5 : obj.r;\n\n if (!obj.global) {\n x = x * width + rect.x;\n y = y * height + rect.y;\n r = r * min;\n }\n\n var canvasGradient = ctx.createRadialGradient(x, y, 0, x, y, r);\n return canvasGradient;\n}\n\nStyle.prototype = {\n constructor: Style,\n\n /**\n * @type {string}\n */\n fill: '#000',\n\n /**\n * @type {string}\n */\n stroke: null,\n\n /**\n * @type {number}\n */\n opacity: 1,\n\n /**\n * @type {number}\n */\n fillOpacity: null,\n\n /**\n * @type {number}\n */\n strokeOpacity: null,\n\n /**\n * @type {Array.}\n */\n lineDash: null,\n\n /**\n * @type {number}\n */\n lineDashOffset: 0,\n\n /**\n * @type {number}\n */\n shadowBlur: 0,\n\n /**\n * @type {number}\n */\n shadowOffsetX: 0,\n\n /**\n * @type {number}\n */\n shadowOffsetY: 0,\n\n /**\n * @type {number}\n */\n lineWidth: 1,\n\n /**\n * If stroke ignore scale\n * @type {Boolean}\n */\n strokeNoScale: false,\n // Bounding rect text configuration\n // Not affected by element transform\n\n /**\n * @type {string}\n */\n text: null,\n\n /**\n * If `fontSize` or `fontFamily` exists, `font` will be reset by\n * `fontSize`, `fontStyle`, `fontWeight`, `fontFamily`.\n * So do not visit it directly in upper application (like echarts),\n * but use `contain/text#makeFont` instead.\n * @type {string}\n */\n font: null,\n\n /**\n * The same as font. Use font please.\n * @deprecated\n * @type {string}\n */\n textFont: null,\n\n /**\n * It helps merging respectively, rather than parsing an entire font string.\n * @type {string}\n */\n fontStyle: null,\n\n /**\n * It helps merging respectively, rather than parsing an entire font string.\n * @type {string}\n */\n fontWeight: null,\n\n /**\n * It helps merging respectively, rather than parsing an entire font string.\n * Should be 12 but not '12px'.\n * @type {number}\n */\n fontSize: null,\n\n /**\n * It helps merging respectively, rather than parsing an entire font string.\n * @type {string}\n */\n fontFamily: null,\n\n /**\n * Reserved for special functinality, like 'hr'.\n * @type {string}\n */\n textTag: null,\n\n /**\n * @type {string}\n */\n textFill: '#000',\n\n /**\n * @type {string}\n */\n textStroke: null,\n\n /**\n * @type {number}\n */\n textWidth: null,\n\n /**\n * Only for textBackground.\n * @type {number}\n */\n textHeight: null,\n\n /**\n * textStroke may be set as some color as a default\n * value in upper applicaion, where the default value\n * of textStrokeWidth should be 0 to make sure that\n * user can choose to do not use text stroke.\n * @type {number}\n */\n textStrokeWidth: 0,\n\n /**\n * @type {number}\n */\n textLineHeight: null,\n\n /**\n * 'inside', 'left', 'right', 'top', 'bottom'\n * [x, y]\n * Based on x, y of rect.\n * @type {string|Array.}\n * @default 'inside'\n */\n textPosition: 'inside',\n\n /**\n * If not specified, use the boundingRect of a `displayable`.\n * @type {Object}\n */\n textRect: null,\n\n /**\n * [x, y]\n * @type {Array.}\n */\n textOffset: null,\n\n /**\n * @type {string}\n */\n textAlign: null,\n\n /**\n * @type {string}\n */\n textVerticalAlign: null,\n\n /**\n * @type {number}\n */\n textDistance: 5,\n\n /**\n * @type {string}\n */\n textShadowColor: 'transparent',\n\n /**\n * @type {number}\n */\n textShadowBlur: 0,\n\n /**\n * @type {number}\n */\n textShadowOffsetX: 0,\n\n /**\n * @type {number}\n */\n textShadowOffsetY: 0,\n\n /**\n * @type {string}\n */\n textBoxShadowColor: 'transparent',\n\n /**\n * @type {number}\n */\n textBoxShadowBlur: 0,\n\n /**\n * @type {number}\n */\n textBoxShadowOffsetX: 0,\n\n /**\n * @type {number}\n */\n textBoxShadowOffsetY: 0,\n\n /**\n * Whether transform text.\n * Only useful in Path and Image element\n * @type {boolean}\n */\n transformText: false,\n\n /**\n * Text rotate around position of Path or Image\n * Only useful in Path and Image element and transformText is false.\n */\n textRotation: 0,\n\n /**\n * Text origin of text rotation, like [10, 40].\n * Based on x, y of rect.\n * Useful in label rotation of circular symbol.\n * By default, this origin is textPosition.\n * Can be 'center'.\n * @type {string|Array.}\n */\n textOrigin: null,\n\n /**\n * @type {string}\n */\n textBackgroundColor: null,\n\n /**\n * @type {string}\n */\n textBorderColor: null,\n\n /**\n * @type {number}\n */\n textBorderWidth: 0,\n\n /**\n * @type {number}\n */\n textBorderRadius: 0,\n\n /**\n * Can be `2` or `[2, 4]` or `[2, 3, 4, 5]`\n * @type {number|Array.}\n */\n textPadding: null,\n\n /**\n * Text styles for rich text.\n * @type {Object}\n */\n rich: null,\n\n /**\n * {outerWidth, outerHeight, ellipsis, placeholder}\n * @type {Object}\n */\n truncate: null,\n\n /**\n * https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation\n * @type {string}\n */\n blend: null,\n\n /**\n * @param {CanvasRenderingContext2D} ctx\n */\n bind: function (ctx, el, prevEl) {\n var style = this;\n var prevStyle = prevEl && prevEl.style; // If no prevStyle, it means first draw.\n // Only apply cache if the last time cachced by this function.\n\n var notCheckCache = !prevStyle || ctx.__attrCachedBy !== ContextCachedBy.STYLE_BIND;\n ctx.__attrCachedBy = ContextCachedBy.STYLE_BIND;\n\n for (var i = 0; i < STYLE_COMMON_PROPS.length; i++) {\n var prop = STYLE_COMMON_PROPS[i];\n var styleName = prop[0];\n\n if (notCheckCache || style[styleName] !== prevStyle[styleName]) {\n // FIXME Invalid property value will cause style leak from previous element.\n ctx[styleName] = fixShadow(ctx, styleName, style[styleName] || prop[1]);\n }\n }\n\n if (notCheckCache || style.fill !== prevStyle.fill) {\n ctx.fillStyle = style.fill;\n }\n\n if (notCheckCache || style.stroke !== prevStyle.stroke) {\n ctx.strokeStyle = style.stroke;\n }\n\n if (notCheckCache || style.opacity !== prevStyle.opacity) {\n ctx.globalAlpha = style.opacity == null ? 1 : style.opacity;\n }\n\n if (notCheckCache || style.blend !== prevStyle.blend) {\n ctx.globalCompositeOperation = style.blend || 'source-over';\n }\n\n if (this.hasStroke()) {\n var lineWidth = style.lineWidth;\n ctx.lineWidth = lineWidth / (this.strokeNoScale && el && el.getLineScale ? el.getLineScale() : 1);\n }\n },\n hasFill: function () {\n var fill = this.fill;\n return fill != null && fill !== 'none';\n },\n hasStroke: function () {\n var stroke = this.stroke;\n return stroke != null && stroke !== 'none' && this.lineWidth > 0;\n },\n\n /**\n * Extend from other style\n * @param {zrender/graphic/Style} otherStyle\n * @param {boolean} overwrite true: overwrirte any way.\n * false: overwrite only when !target.hasOwnProperty\n * others: overwrite when property is not null/undefined.\n */\n extendFrom: function (otherStyle, overwrite) {\n if (otherStyle) {\n for (var name in otherStyle) {\n if (otherStyle.hasOwnProperty(name) && (overwrite === true || (overwrite === false ? !this.hasOwnProperty(name) : otherStyle[name] != null))) {\n this[name] = otherStyle[name];\n }\n }\n }\n },\n\n /**\n * Batch setting style with a given object\n * @param {Object|string} obj\n * @param {*} [obj]\n */\n set: function (obj, value) {\n if (typeof obj === 'string') {\n this[obj] = value;\n } else {\n this.extendFrom(obj, true);\n }\n },\n\n /**\n * Clone\n * @return {zrender/graphic/Style} [description]\n */\n clone: function () {\n var newStyle = new this.constructor();\n newStyle.extendFrom(this, true);\n return newStyle;\n },\n getGradient: function (ctx, obj, rect) {\n var method = obj.type === 'radial' ? createRadialGradient : createLinearGradient;\n var canvasGradient = method(ctx, obj, rect);\n var colorStops = obj.colorStops;\n\n for (var i = 0; i < colorStops.length; i++) {\n canvasGradient.addColorStop(colorStops[i].offset, colorStops[i].color);\n }\n\n return canvasGradient;\n }\n};\nvar styleProto = Style.prototype;\n\nfor (var i = 0; i < STYLE_COMMON_PROPS.length; i++) {\n var prop = STYLE_COMMON_PROPS[i];\n\n if (!(prop[0] in styleProto)) {\n styleProto[prop[0]] = prop[1];\n }\n} // Provide for others\n\n\nStyle.getGradient = styleProto.getGradient;\nvar _default = Style;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\n\nfunction _default(ecModel) {\n var groupResult = groupSeriesByAxis(ecModel);\n each(groupResult, function (groupItem) {\n var seriesModels = groupItem.seriesModels;\n\n if (!seriesModels.length) {\n return;\n }\n\n calculateBase(groupItem);\n each(seriesModels, function (seriesModel, idx) {\n layoutSingleSeries(seriesModel, groupItem.boxOffsetList[idx], groupItem.boxWidthList[idx]);\n });\n });\n}\n/**\n * Group series by axis.\n */\n\n\nfunction groupSeriesByAxis(ecModel) {\n var result = [];\n var axisList = [];\n ecModel.eachSeriesByType('boxplot', function (seriesModel) {\n var baseAxis = seriesModel.getBaseAxis();\n var idx = zrUtil.indexOf(axisList, baseAxis);\n\n if (idx < 0) {\n idx = axisList.length;\n axisList[idx] = baseAxis;\n result[idx] = {\n axis: baseAxis,\n seriesModels: []\n };\n }\n\n result[idx].seriesModels.push(seriesModel);\n });\n return result;\n}\n/**\n * Calculate offset and box width for each series.\n */\n\n\nfunction calculateBase(groupItem) {\n var extent;\n var baseAxis = groupItem.axis;\n var seriesModels = groupItem.seriesModels;\n var seriesCount = seriesModels.length;\n var boxWidthList = groupItem.boxWidthList = [];\n var boxOffsetList = groupItem.boxOffsetList = [];\n var boundList = [];\n var bandWidth;\n\n if (baseAxis.type === 'category') {\n bandWidth = baseAxis.getBandWidth();\n } else {\n var maxDataCount = 0;\n each(seriesModels, function (seriesModel) {\n maxDataCount = Math.max(maxDataCount, seriesModel.getData().count());\n });\n extent = baseAxis.getExtent(), Math.abs(extent[1] - extent[0]) / maxDataCount;\n }\n\n each(seriesModels, function (seriesModel) {\n var boxWidthBound = seriesModel.get('boxWidth');\n\n if (!zrUtil.isArray(boxWidthBound)) {\n boxWidthBound = [boxWidthBound, boxWidthBound];\n }\n\n boundList.push([parsePercent(boxWidthBound[0], bandWidth) || 0, parsePercent(boxWidthBound[1], bandWidth) || 0]);\n });\n var availableWidth = bandWidth * 0.8 - 2;\n var boxGap = availableWidth / seriesCount * 0.3;\n var boxWidth = (availableWidth - boxGap * (seriesCount - 1)) / seriesCount;\n var base = boxWidth / 2 - availableWidth / 2;\n each(seriesModels, function (seriesModel, idx) {\n boxOffsetList.push(base);\n base += boxGap + boxWidth;\n boxWidthList.push(Math.min(Math.max(boxWidth, boundList[idx][0]), boundList[idx][1]));\n });\n}\n/**\n * Calculate points location for each series.\n */\n\n\nfunction layoutSingleSeries(seriesModel, offset, boxWidth) {\n var coordSys = seriesModel.coordinateSystem;\n var data = seriesModel.getData();\n var halfWidth = boxWidth / 2;\n var cDimIdx = seriesModel.get('layout') === 'horizontal' ? 0 : 1;\n var vDimIdx = 1 - cDimIdx;\n var coordDims = ['x', 'y'];\n var cDim = data.mapDimension(coordDims[cDimIdx]);\n var vDims = data.mapDimension(coordDims[vDimIdx], true);\n\n if (cDim == null || vDims.length < 5) {\n return;\n }\n\n for (var dataIndex = 0; dataIndex < data.count(); dataIndex++) {\n var axisDimVal = data.get(cDim, dataIndex);\n var median = getPoint(axisDimVal, vDims[2], dataIndex);\n var end1 = getPoint(axisDimVal, vDims[0], dataIndex);\n var end2 = getPoint(axisDimVal, vDims[1], dataIndex);\n var end4 = getPoint(axisDimVal, vDims[3], dataIndex);\n var end5 = getPoint(axisDimVal, vDims[4], dataIndex);\n var ends = [];\n addBodyEnd(ends, end2, 0);\n addBodyEnd(ends, end4, 1);\n ends.push(end1, end2, end5, end4);\n layEndLine(ends, end1);\n layEndLine(ends, end5);\n layEndLine(ends, median);\n data.setItemLayout(dataIndex, {\n initBaseline: median[vDimIdx],\n ends: ends\n });\n }\n\n function getPoint(axisDimVal, dimIdx, dataIndex) {\n var val = data.get(dimIdx, dataIndex);\n var p = [];\n p[cDimIdx] = axisDimVal;\n p[vDimIdx] = val;\n var point;\n\n if (isNaN(axisDimVal) || isNaN(val)) {\n point = [NaN, NaN];\n } else {\n point = coordSys.dataToPoint(p);\n point[cDimIdx] += offset;\n }\n\n return point;\n }\n\n function addBodyEnd(ends, point, start) {\n var point1 = point.slice();\n var point2 = point.slice();\n point1[cDimIdx] += halfWidth;\n point2[cDimIdx] -= halfWidth;\n start ? ends.push(point1, point2) : ends.push(point2, point1);\n }\n\n function layEndLine(ends, endCenter) {\n var from = endCenter.slice();\n var to = endCenter.slice();\n from[cDimIdx] -= halfWidth;\n to[cDimIdx] += halfWidth;\n ends.push(from, to);\n }\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar DataZoomModel = require(\"./DataZoomModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = DataZoomModel.extend({\n type: 'dataZoom.select'\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar Component = require(\"../../model/Component\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nComponent.registerSubTypeDefaulter('timeline', function () {\n // Only slider now.\n return 'slider';\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 }); // 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 if (!data.getItemVisual(idx, 'color', true)) {\n data.setItemVisual(idx, 'color', categoriesData.getItemVisual(category, 'color'));\n }\n }\n });\n }\n });\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar LineDraw = require(\"../helper/LineDraw\");\n\nvar EffectLine = require(\"../helper/EffectLine\");\n\nvar Line = require(\"../helper/Line\");\n\nvar Polyline = require(\"../helper/Polyline\");\n\nvar EffectPolyline = require(\"../helper/EffectPolyline\");\n\nvar LargeLineDraw = require(\"../helper/LargeLineDraw\");\n\nvar linesLayout = require(\"./linesLayout\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar createListFromArray = require(\"../helper/createListFromArray\");\n\nvar SeriesModel = require(\"../../model/Series\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = SeriesModel.extend({\n type: 'series.effectScatter',\n dependencies: ['grid', 'polar'],\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this);\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;","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar Parallel = require(\"./Parallel\");\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Parallel coordinate system creater.\n */\nfunction create(ecModel, api) {\n var coordSysList = [];\n ecModel.eachComponent('parallel', function (parallelModel, idx) {\n var coordSys = new Parallel(parallelModel, ecModel, api);\n coordSys.name = 'parallel_' + idx;\n coordSys.resize(parallelModel, api);\n parallelModel.coordinateSystem = coordSys;\n coordSys.model = parallelModel;\n coordSysList.push(coordSys);\n }); // Inject the coordinateSystems into seriesModel\n\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.get('coordinateSystem') === 'parallel') {\n var parallelModel = ecModel.queryComponents({\n mainType: 'parallel',\n index: seriesModel.get('parallelIndex'),\n id: seriesModel.get('parallelId')\n })[0];\n seriesModel.coordinateSystem = parallelModel.coordinateSystem;\n }\n });\n return coordSysList;\n}\n\nCoordinateSystem.register('parallel', {\n create: create\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"../coord/polar/polarCreator\");\n\nrequire(\"./axis/RadiusAxisView\");","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar BaseAxisPointer = require(\"./BaseAxisPointer\");\n\nvar viewHelper = require(\"./viewHelper\");\n\nvar cartesianAxisHelper = require(\"../../coord/cartesian/cartesianAxisHelper\");\n\nvar AxisView = require(\"../axis/AxisView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar CartesianAxisPointer = BaseAxisPointer.extend({\n /**\n * @override\n */\n makeElOption: function (elOption, value, axisModel, axisPointerModel, api) {\n var axis = axisModel.axis;\n var grid = axis.grid;\n var axisPointerType = axisPointerModel.get('type');\n var otherExtent = getCartesian(grid, axis).getOtherAxis(axis).getGlobalExtent();\n var pixelValue = axis.toGlobalCoord(axis.dataToCoord(value, true));\n\n if (axisPointerType && axisPointerType !== 'none') {\n var elStyle = viewHelper.buildElStyle(axisPointerModel);\n var pointerOption = pointerShapeBuilder[axisPointerType](axis, pixelValue, otherExtent, elStyle);\n pointerOption.style = elStyle;\n elOption.graphicKey = pointerOption.type;\n elOption.pointer = pointerOption;\n }\n\n var layoutInfo = cartesianAxisHelper.layout(grid.model, 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 = cartesianAxisHelper.layout(axisModel.axis.grid.model, 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 grid = axis.grid;\n var axisExtent = axis.getGlobalExtent(true);\n var otherExtent = getCartesian(grid, axis).getOtherAxis(axis).getGlobalExtent();\n var dimIndex = axis.dim === 'x' ? 0 : 1;\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 cursorOtherValue = (otherExtent[1] + otherExtent[0]) / 2;\n var cursorPoint = [cursorOtherValue, cursorOtherValue];\n cursorPoint[dimIndex] = currPosition[dimIndex]; // Make tooltip do not overlap axisPointer and in the middle of the grid.\n\n var tooltipOptions = [{\n verticalAlign: 'middle'\n }, {\n align: 'center'\n }];\n return {\n position: currPosition,\n rotation: transform.rotation,\n cursorPoint: cursorPoint,\n tooltipOption: tooltipOptions[dimIndex]\n };\n }\n});\n\nfunction getCartesian(grid, axis) {\n var opt = {};\n opt[axis.dim + 'AxisIndex'] = axis.index;\n return grid.getCartesian(opt);\n}\n\nvar pointerShapeBuilder = {\n line: function (axis, pixelValue, otherExtent, elStyle) {\n var targetShape = viewHelper.makeLineShape([pixelValue, otherExtent[0]], [pixelValue, otherExtent[1]], getAxisDimIndex(axis));\n graphic.subPixelOptimizeLine({\n shape: targetShape,\n style: elStyle\n });\n return {\n type: 'Line',\n shape: targetShape\n };\n },\n shadow: function (axis, pixelValue, otherExtent, elStyle) {\n var bandWidth = Math.max(1, 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], getAxisDimIndex(axis))\n };\n }\n};\n\nfunction getAxisDimIndex(axis) {\n return axis.dim === 'x' ? 0 : 1;\n}\n\nAxisView.registerAxisPointerClass('CartesianAxisPointer', CartesianAxisPointer);\nvar _default = CartesianAxisPointer;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../util/graphic\");\n\nrequire(\"../coord/cartesian/Grid\");\n\nrequire(\"./axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Grid view\necharts.extendComponentView({\n type: 'grid',\n render: function (gridModel, ecModel) {\n this.group.removeAll();\n\n if (gridModel.get('show')) {\n this.group.add(new graphic.Rect({\n shape: gridModel.coordinateSystem.getRect(),\n style: zrUtil.defaults({\n fill: gridModel.get('backgroundColor')\n }, gridModel.getItemStyle()),\n silent: true,\n z2: -1\n }));\n }\n }\n});\necharts.registerPreprocessor(function (option) {\n // Only create grid when need\n if (option.xAxis && option.yAxis && !option.grid) {\n option.grid = {};\n }\n});","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Region = require(\"../Region\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// 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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar modelUtil = require(\"../../util/model\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar _roamHelper = require(\"../../action/roamHelper\");\n\nvar updateCenterAndZoom = _roamHelper.updateCenterAndZoom;\n\nrequire(\"../helper/focusNodeAdjacencyAction\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar actionInfo = {\n type: 'graphRoam',\n event: 'graphRoam',\n update: 'none'\n};\n/**\n * @payload\n * @property {string} name Series name\n * @property {number} [dx]\n * @property {number} [dy]\n * @property {number} [zoom]\n * @property {number} [originX]\n * @property {number} [originY]\n */\n\necharts.registerAction(actionInfo, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series',\n query: payload\n }, function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n var res = updateCenterAndZoom(coordSys, payload);\n seriesModel.setCenter && seriesModel.setCenter(res.center);\n seriesModel.setZoom && seriesModel.setZoom(res.zoom);\n });\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction dataToCoordSize(dataSize, dataItem) {\n dataItem = dataItem || [0, 0];\n return zrUtil.map([0, 1], function (dimIdx) {\n var val = dataItem[dimIdx];\n var halfSize = dataSize[dimIdx] / 2;\n var p1 = [];\n var p2 = [];\n p1[dimIdx] = val - halfSize;\n p2[dimIdx] = val + halfSize;\n p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx];\n return Math.abs(this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]);\n }, this);\n}\n\nfunction _default(coordSys) {\n var rect = coordSys.getBoundingRect();\n return {\n coordSys: {\n type: 'geo',\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height,\n zoom: coordSys.getZoom()\n },\n api: {\n coord: function (data) {\n // do not provide \"out\" and noRoam param,\n // Compatible with this usage:\n // echarts.util.map(item.points, api.coord)\n return coordSys.dataToPoint(data);\n },\n size: zrUtil.bind(dataToCoordSize, coordSys)\n }\n };\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar assert = _util.assert;\nvar isArray = _util.isArray;\n\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {Object} define\n * @return See the return of `createTask`.\n */\nfunction createTask(define) {\n return new Task(define);\n}\n/**\n * @constructor\n * @param {Object} define\n * @param {Function} define.reset Custom reset\n * @param {Function} [define.plan] Returns 'reset' indicate reset immediately.\n * @param {Function} [define.count] count is used to determin data task.\n * @param {Function} [define.onDirty] count is used to determin data task.\n */\n\n\nfunction Task(define) {\n define = define || {};\n this._reset = define.reset;\n this._plan = define.plan;\n this._count = define.count;\n this._onDirty = define.onDirty;\n this._dirty = true; // Context must be specified implicitly, to\n // avoid miss update context when model changed.\n\n this.context;\n}\n\nvar taskProto = Task.prototype;\n/**\n * @param {Object} performArgs\n * @param {number} [performArgs.step] Specified step.\n * @param {number} [performArgs.skip] Skip customer perform call.\n * @param {number} [performArgs.modBy] Sampling window size.\n * @param {number} [performArgs.modDataCount] Sampling count.\n */\n\ntaskProto.perform = function (performArgs) {\n var upTask = this._upstream;\n var skip = performArgs && performArgs.skip; // TODO some refactor.\n // Pull data. Must pull data each time, because context.data\n // may be updated by Series.setData.\n\n if (this._dirty && upTask) {\n var context = this.context;\n context.data = context.outputData = upTask.context.outputData;\n }\n\n if (this.__pipeline) {\n this.__pipeline.currentTask = this;\n }\n\n var planResult;\n\n if (this._plan && !skip) {\n planResult = this._plan(this.context);\n } // Support sharding by mod, which changes the render sequence and makes the rendered graphic\n // elements uniformed distributed when progress, especially when moving or zooming.\n\n\n var lastModBy = normalizeModBy(this._modBy);\n var lastModDataCount = this._modDataCount || 0;\n var modBy = normalizeModBy(performArgs && performArgs.modBy);\n var modDataCount = performArgs && performArgs.modDataCount || 0;\n\n if (lastModBy !== modBy || lastModDataCount !== modDataCount) {\n planResult = 'reset';\n }\n\n function normalizeModBy(val) {\n !(val >= 1) && (val = 1); // jshint ignore:line\n\n return val;\n }\n\n var forceFirstProgress;\n\n if (this._dirty || planResult === 'reset') {\n this._dirty = false;\n forceFirstProgress = reset(this, skip);\n }\n\n this._modBy = modBy;\n this._modDataCount = modDataCount;\n var step = performArgs && performArgs.step;\n\n if (upTask) {\n this._dueEnd = upTask._outputDueEnd;\n } // DataTask or overallTask\n else {\n this._dueEnd = this._count ? this._count(this.context) : Infinity;\n } // Note: Stubs, that its host overall task let it has progress, has progress.\n // If no progress, pass index from upstream to downstream each time plan called.\n\n\n if (this._progress) {\n var start = this._dueIndex;\n var end = Math.min(step != null ? this._dueIndex + step : Infinity, this._dueEnd);\n\n if (!skip && (forceFirstProgress || start < end)) {\n var progress = this._progress;\n\n if (isArray(progress)) {\n for (var i = 0; i < progress.length; i++) {\n doProgress(this, progress[i], start, end, modBy, modDataCount);\n }\n } else {\n doProgress(this, progress, start, end, modBy, modDataCount);\n }\n }\n\n this._dueIndex = end; // If no `outputDueEnd`, assume that output data and\n // input data is the same, so use `dueIndex` as `outputDueEnd`.\n\n var outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : end;\n this._outputDueEnd = outputDueEnd;\n } else {\n // (1) Some overall task has no progress.\n // (2) Stubs, that its host overall task do not let it has progress, has no progress.\n // This should always be performed so it can be passed to downstream.\n this._dueIndex = this._outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : this._dueEnd;\n }\n\n return this.unfinished();\n};\n\nvar iterator = function () {\n var end;\n var current;\n var modBy;\n var modDataCount;\n var winCount;\n var it = {\n reset: function (s, e, sStep, sCount) {\n current = s;\n end = e;\n modBy = sStep;\n modDataCount = sCount;\n winCount = Math.ceil(modDataCount / modBy);\n it.next = modBy > 1 && modDataCount > 0 ? modNext : sequentialNext;\n }\n };\n return it;\n\n function sequentialNext() {\n return current < end ? current++ : null;\n }\n\n function modNext() {\n var dataIndex = current % winCount * modBy + Math.ceil(current / winCount);\n var result = current >= end ? null : dataIndex < modDataCount ? dataIndex // If modDataCount is smaller than data.count() (consider `appendData` case),\n // Use normal linear rendering mode.\n : current;\n current++;\n return result;\n }\n}();\n\ntaskProto.dirty = function () {\n this._dirty = true;\n this._onDirty && this._onDirty(this.context);\n};\n\nfunction doProgress(taskIns, progress, start, end, modBy, modDataCount) {\n iterator.reset(start, end, modBy, modDataCount);\n taskIns._callingProgress = progress;\n\n taskIns._callingProgress({\n start: start,\n end: end,\n count: end - start,\n next: iterator.next\n }, taskIns.context);\n}\n\nfunction reset(taskIns, skip) {\n taskIns._dueIndex = taskIns._outputDueEnd = taskIns._dueEnd = 0;\n taskIns._settedOutputEnd = null;\n var progress;\n var forceFirstProgress;\n\n if (!skip && taskIns._reset) {\n progress = taskIns._reset(taskIns.context);\n\n if (progress && progress.progress) {\n forceFirstProgress = progress.forceFirstProgress;\n progress = progress.progress;\n } // To simplify no progress checking, array must has item.\n\n\n if (isArray(progress) && !progress.length) {\n progress = null;\n }\n }\n\n taskIns._progress = progress;\n taskIns._modBy = taskIns._modDataCount = null;\n var downstream = taskIns._downstream;\n downstream && downstream.dirty();\n return forceFirstProgress;\n}\n/**\n * @return {boolean}\n */\n\n\ntaskProto.unfinished = function () {\n return this._progress && this._dueIndex < this._dueEnd;\n};\n/**\n * @param {Object} downTask The downstream task.\n * @return {Object} The downstream task.\n */\n\n\ntaskProto.pipe = function (downTask) {\n // If already downstream, do not dirty downTask.\n if (this._downstream !== downTask || this._dirty) {\n this._downstream = downTask;\n downTask._upstream = this;\n downTask.dirty();\n }\n};\n\ntaskProto.dispose = function () {\n if (this._disposed) {\n return;\n }\n\n this._upstream && (this._upstream._downstream = null);\n this._downstream && (this._downstream._upstream = null);\n this._dirty = false;\n this._disposed = true;\n};\n\ntaskProto.getUpstream = function () {\n return this._upstream;\n};\n\ntaskProto.getDownstream = function () {\n return this._downstream;\n};\n\ntaskProto.setOutputEnd = function (end) {\n // This only happend in dataTask, dataZoom, map, currently.\n // where dataZoom do not set end each time, but only set\n // when reset. So we should record the setted end, in case\n // that the stub of dataZoom perform again and earse the\n // setted end by upstream.\n this._outputDueEnd = this._settedOutputEnd = end;\n}; ///////////////////////////////////////////////////////////\n// For stream debug (Should be commented out after used!)\n// Usage: printTask(this, 'begin');\n// Usage: printTask(this, null, {someExtraProp});\n// function printTask(task, prefix, extra) {\n// window.ecTaskUID == null && (window.ecTaskUID = 0);\n// task.uidDebug == null && (task.uidDebug = `task_${window.ecTaskUID++}`);\n// task.agent && task.agent.uidDebug == null && (task.agent.uidDebug = `task_${window.ecTaskUID++}`);\n// var props = [];\n// if (task.__pipeline) {\n// var val = `${task.__idxInPipeline}/${task.__pipeline.tail.__idxInPipeline} ${task.agent ? '(stub)' : ''}`;\n// props.push({text: 'idx', value: val});\n// } else {\n// var stubCount = 0;\n// task.agentStubMap.each(() => stubCount++);\n// props.push({text: 'idx', value: `overall (stubs: ${stubCount})`});\n// }\n// props.push({text: 'uid', value: task.uidDebug});\n// if (task.__pipeline) {\n// props.push({text: 'pid', value: task.__pipeline.id});\n// task.agent && props.push(\n// {text: 'stubFor', value: task.agent.uidDebug}\n// );\n// }\n// props.push(\n// {text: 'dirty', value: task._dirty},\n// {text: 'dueIndex', value: task._dueIndex},\n// {text: 'dueEnd', value: task._dueEnd},\n// {text: 'outputDueEnd', value: task._outputDueEnd}\n// );\n// if (extra) {\n// Object.keys(extra).forEach(key => {\n// props.push({text: key, value: extra[key]});\n// });\n// }\n// var args = ['color: blue'];\n// var msg = `%c[${prefix || 'T'}] %c` + props.map(item => (\n// args.push('color: black', 'color: red'),\n// `${item.text}: %c${item.value}`\n// )).join('%c, ');\n// console.log.apply(console, [msg].concat(args));\n// // console.log(this);\n// }\n\n\nexports.createTask = createTask;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _labelHelper = require(\"./labelHelper\");\n\nvar getDefaultLabel = _labelHelper.getDefaultLabel;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/chart/helper/Symbol\n */\n\n/**\n * @constructor\n * @alias {module:echarts/chart/helper/Symbol}\n * @param {module:echarts/data/List} data\n * @param {number} idx\n * @extends {module:zrender/graphic/Group}\n */\nfunction SymbolClz(data, idx, seriesScope) {\n graphic.Group.call(this);\n this.updateData(data, idx, seriesScope);\n}\n\nvar symbolProto = SymbolClz.prototype;\n/**\n * @public\n * @static\n * @param {module:echarts/data/List} data\n * @param {number} dataIndex\n * @return {Array.} [width, height]\n */\n\nvar getSymbolSize = SymbolClz.getSymbolSize = function (data, idx) {\n var symbolSize = data.getItemVisual(idx, 'symbolSize');\n return symbolSize instanceof Array ? symbolSize.slice() : [+symbolSize, +symbolSize];\n};\n\nfunction getScale(symbolSize) {\n return [symbolSize[0] / 2, symbolSize[1] / 2];\n}\n\nfunction driftSymbol(dx, dy) {\n this.parent.drift(dx, dy);\n}\n\nsymbolProto._createSymbol = function (symbolType, data, idx, symbolSize, keepAspect) {\n // Remove paths created before\n this.removeAll();\n var color = data.getItemVisual(idx, 'color'); // var symbolPath = createSymbol(\n // symbolType, -0.5, -0.5, 1, 1, color\n // );\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 #4150.\n\n var symbolPath = createSymbol(symbolType, -1, -1, 2, 2, color, keepAspect);\n symbolPath.attr({\n z2: 100,\n culling: true,\n scale: getScale(symbolSize)\n }); // Rewrite drift method\n\n symbolPath.drift = driftSymbol;\n this._symbolType = symbolType;\n this.add(symbolPath);\n};\n/**\n * Stop animation\n * @param {boolean} toLastFrame\n */\n\n\nsymbolProto.stopSymbolAnimation = function (toLastFrame) {\n this.childAt(0).stopAnimation(toLastFrame);\n};\n/**\n * FIXME:\n * Caution: This method breaks the encapsulation of this module,\n * but it indeed brings convenience. So do not use the method\n * unless you detailedly know all the implements of `Symbol`,\n * especially animation.\n *\n * Get symbol path element.\n */\n\n\nsymbolProto.getSymbolPath = function () {\n return this.childAt(0);\n};\n/**\n * Get scale(aka, current symbol size).\n * Including the change caused by animation\n */\n\n\nsymbolProto.getScale = function () {\n return this.childAt(0).scale;\n};\n/**\n * Highlight symbol\n */\n\n\nsymbolProto.highlight = function () {\n this.childAt(0).trigger('emphasis');\n};\n/**\n * Downplay symbol\n */\n\n\nsymbolProto.downplay = function () {\n this.childAt(0).trigger('normal');\n};\n/**\n * @param {number} zlevel\n * @param {number} z\n */\n\n\nsymbolProto.setZ = function (zlevel, z) {\n var symbolPath = this.childAt(0);\n symbolPath.zlevel = zlevel;\n symbolPath.z = z;\n};\n\nsymbolProto.setDraggable = function (draggable) {\n var symbolPath = this.childAt(0);\n symbolPath.draggable = draggable;\n symbolPath.cursor = draggable ? 'move' : 'pointer';\n};\n/**\n * Update symbol properties\n * @param {module:echarts/data/List} data\n * @param {number} idx\n * @param {Object} [seriesScope]\n * @param {Object} [seriesScope.itemStyle]\n * @param {Object} [seriesScope.hoverItemStyle]\n * @param {Object} [seriesScope.symbolRotate]\n * @param {Object} [seriesScope.symbolOffset]\n * @param {module:echarts/model/Model} [seriesScope.labelModel]\n * @param {module:echarts/model/Model} [seriesScope.hoverLabelModel]\n * @param {boolean} [seriesScope.hoverAnimation]\n * @param {Object} [seriesScope.cursorStyle]\n * @param {module:echarts/model/Model} [seriesScope.itemModel]\n * @param {string} [seriesScope.symbolInnerColor]\n * @param {Object} [seriesScope.fadeIn=false]\n */\n\n\nsymbolProto.updateData = function (data, idx, seriesScope) {\n this.silent = false;\n var symbolType = data.getItemVisual(idx, 'symbol') || 'circle';\n var seriesModel = data.hostModel;\n var symbolSize = getSymbolSize(data, idx);\n var isInit = symbolType !== this._symbolType;\n\n if (isInit) {\n var keepAspect = data.getItemVisual(idx, 'symbolKeepAspect');\n\n this._createSymbol(symbolType, data, idx, symbolSize, keepAspect);\n } else {\n var symbolPath = this.childAt(0);\n symbolPath.silent = false;\n graphic.updateProps(symbolPath, {\n scale: getScale(symbolSize)\n }, seriesModel, idx);\n }\n\n this._updateCommon(data, idx, symbolSize, seriesScope);\n\n if (isInit) {\n var symbolPath = this.childAt(0);\n var fadeIn = seriesScope && seriesScope.fadeIn;\n var target = {\n scale: symbolPath.scale.slice()\n };\n fadeIn && (target.style = {\n opacity: symbolPath.style.opacity\n });\n symbolPath.scale = [0, 0];\n fadeIn && (symbolPath.style.opacity = 0);\n graphic.initProps(symbolPath, target, seriesModel, idx);\n }\n\n this._seriesModel = seriesModel;\n}; // Update common properties\n\n\nvar normalStyleAccessPath = ['itemStyle'];\nvar emphasisStyleAccessPath = ['emphasis', 'itemStyle'];\nvar normalLabelAccessPath = ['label'];\nvar emphasisLabelAccessPath = ['emphasis', 'label'];\n/**\n * @param {module:echarts/data/List} data\n * @param {number} idx\n * @param {Array.} symbolSize\n * @param {Object} [seriesScope]\n */\n\nsymbolProto._updateCommon = function (data, idx, symbolSize, seriesScope) {\n var symbolPath = this.childAt(0);\n var seriesModel = data.hostModel;\n var color = data.getItemVisual(idx, 'color'); // Reset style\n\n if (symbolPath.type !== 'image') {\n symbolPath.useStyle({\n strokeNoScale: true\n });\n }\n\n var itemStyle = seriesScope && seriesScope.itemStyle;\n var hoverItemStyle = seriesScope && seriesScope.hoverItemStyle;\n var symbolRotate = seriesScope && seriesScope.symbolRotate;\n var symbolOffset = seriesScope && seriesScope.symbolOffset;\n var labelModel = seriesScope && seriesScope.labelModel;\n var hoverLabelModel = seriesScope && seriesScope.hoverLabelModel;\n var hoverAnimation = seriesScope && seriesScope.hoverAnimation;\n var cursorStyle = seriesScope && seriesScope.cursorStyle;\n\n if (!seriesScope || data.hasItemOption) {\n var itemModel = seriesScope && seriesScope.itemModel ? seriesScope.itemModel : data.getItemModel(idx); // Color must be excluded.\n // Because symbol provide setColor individually to set fill and stroke\n\n itemStyle = itemModel.getModel(normalStyleAccessPath).getItemStyle(['color']);\n hoverItemStyle = itemModel.getModel(emphasisStyleAccessPath).getItemStyle();\n symbolRotate = itemModel.getShallow('symbolRotate');\n symbolOffset = itemModel.getShallow('symbolOffset');\n labelModel = itemModel.getModel(normalLabelAccessPath);\n hoverLabelModel = itemModel.getModel(emphasisLabelAccessPath);\n hoverAnimation = itemModel.getShallow('hoverAnimation');\n cursorStyle = itemModel.getShallow('cursor');\n } else {\n hoverItemStyle = zrUtil.extend({}, hoverItemStyle);\n }\n\n var elStyle = symbolPath.style;\n symbolPath.attr('rotation', (symbolRotate || 0) * Math.PI / 180 || 0);\n\n if (symbolOffset) {\n symbolPath.attr('position', [parsePercent(symbolOffset[0], symbolSize[0]), parsePercent(symbolOffset[1], symbolSize[1])]);\n }\n\n cursorStyle && symbolPath.attr('cursor', cursorStyle); // PENDING setColor before setStyle!!!\n\n symbolPath.setColor(color, seriesScope && seriesScope.symbolInnerColor);\n symbolPath.setStyle(itemStyle);\n var opacity = data.getItemVisual(idx, 'opacity');\n\n if (opacity != null) {\n elStyle.opacity = opacity;\n }\n\n var liftZ = data.getItemVisual(idx, 'liftZ');\n var z2Origin = symbolPath.__z2Origin;\n\n if (liftZ != null) {\n if (z2Origin == null) {\n symbolPath.__z2Origin = symbolPath.z2;\n symbolPath.z2 += liftZ;\n }\n } else if (z2Origin != null) {\n symbolPath.z2 = z2Origin;\n symbolPath.__z2Origin = null;\n }\n\n var useNameLabel = seriesScope && seriesScope.useNameLabel;\n graphic.setLabelStyle(elStyle, hoverItemStyle, labelModel, hoverLabelModel, {\n labelFetcher: seriesModel,\n labelDataIndex: idx,\n defaultText: getLabelDefaultText,\n isRectText: true,\n autoColor: color\n }); // Do not execute util needed.\n\n function getLabelDefaultText(idx, opt) {\n return useNameLabel ? data.getName(idx) : getDefaultLabel(data, idx);\n }\n\n symbolPath.off('mouseover').off('mouseout').off('emphasis').off('normal');\n symbolPath.hoverStyle = hoverItemStyle; // FIXME\n // Do not use symbol.trigger('emphasis'), but use symbol.highlight() instead.\n\n graphic.setHoverStyle(symbolPath);\n symbolPath.__symbolOriginalScale = getScale(symbolSize);\n\n if (hoverAnimation && seriesModel.isAnimationEnabled()) {\n // Note: consider `off`, should use static function here.\n symbolPath.on('mouseover', onMouseOver).on('mouseout', onMouseOut).on('emphasis', onEmphasis).on('normal', onNormal);\n }\n};\n\nfunction onMouseOver() {\n // see comment in `graphic.isInEmphasis`\n !graphic.isInEmphasis(this) && onEmphasis.call(this);\n}\n\nfunction onMouseOut() {\n // see comment in `graphic.isInEmphasis`\n !graphic.isInEmphasis(this) && onNormal.call(this);\n}\n\nfunction onEmphasis() {\n // Do not support this hover animation util some scenario required.\n // Animation can only be supported in hover layer when using `el.incremetal`.\n if (this.incremental || this.useHoverLayer) {\n return;\n }\n\n var scale = this.__symbolOriginalScale;\n var ratio = scale[1] / scale[0];\n this.animateTo({\n scale: [Math.max(scale[0] * 1.1, scale[0] + 3), Math.max(scale[1] * 1.1, scale[1] + 3 * ratio)]\n }, 400, 'elasticOut');\n}\n\nfunction onNormal() {\n if (this.incremental || this.useHoverLayer) {\n return;\n }\n\n this.animateTo({\n scale: this.__symbolOriginalScale\n }, 400, 'elasticOut');\n}\n/**\n * @param {Function} cb\n * @param {Object} [opt]\n * @param {Object} [opt.keepLabel=true]\n */\n\n\nsymbolProto.fadeOut = function (cb, opt) {\n var symbolPath = this.childAt(0); // Avoid mistaken hover when fading out\n\n this.silent = symbolPath.silent = true; // Not show text when animating\n\n !(opt && opt.keepLabel) && (symbolPath.style.text = null);\n graphic.updateProps(symbolPath, {\n style: {\n opacity: 0\n },\n scale: [0, 0]\n }, this._seriesModel, this.dataIndex, cb);\n};\n\nzrUtil.inherits(SymbolClz, graphic.Group);\nvar _default = SymbolClz;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar symbolUtil = require(\"../../util/symbol\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\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 graphic.setLabelStyle(symbolPath.style, symbolPath.hoverStyle, labelModel, labelHoverModel, {\n labelFetcher: data.hostModel,\n labelDataIndex: idx,\n labelDimIndex: symbolPath.__dimIdx,\n defaultText: data.get(data.dimensions[symbolPath.__dimIdx], idx),\n autoColor: color,\n isRectText: true\n });\n });\n\n function onEmphasis() {\n polygon.attr('ignore', hoverPolygonIgnore);\n }\n\n function onNormal() {\n polygon.attr('ignore', polygonIgnore);\n }\n\n itemGroup.off('mouseover').off('mouseout').off('normal').off('emphasis');\n itemGroup.on('emphasis', onEmphasis).on('mouseover', onEmphasis).on('normal', onNormal).on('mouseout', onNormal);\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction retrieveTargetInfo(payload, validPayloadTypes, seriesModel) {\n if (payload && zrUtil.indexOf(validPayloadTypes, payload.type) >= 0) {\n var root = seriesModel.getData().tree.root;\n var targetNode = payload.targetNode;\n\n if (typeof targetNode === 'string') {\n targetNode = root.getNodeById(targetNode);\n }\n\n if (targetNode && root.contains(targetNode)) {\n return {\n node: targetNode\n };\n }\n\n var targetNodeId = payload.targetNodeId;\n\n if (targetNodeId != null && (targetNode = root.getNodeById(targetNodeId))) {\n return {\n node: targetNode\n };\n }\n }\n} // Not includes the given node at the last item.\n\n\nfunction getPathToRoot(node) {\n var path = [];\n\n while (node) {\n node = node.parentNode;\n node && path.push(node);\n }\n\n return path.reverse();\n}\n\nfunction aboveViewRoot(viewRoot, node) {\n var viewPath = getPathToRoot(viewRoot);\n return zrUtil.indexOf(viewPath, node) >= 0;\n} // From root to the input node (the input node will be included).\n\n\nfunction wrapTreePathInfo(node, seriesModel) {\n var treePathInfo = [];\n\n while (node) {\n var nodeDataIndex = node.dataIndex;\n treePathInfo.push({\n name: node.name,\n dataIndex: nodeDataIndex,\n value: seriesModel.getRawValue(nodeDataIndex)\n });\n node = node.parentNode;\n }\n\n treePathInfo.reverse();\n return treePathInfo;\n}\n\nexports.retrieveTargetInfo = retrieveTargetInfo;\nexports.getPathToRoot = getPathToRoot;\nexports.aboveViewRoot = aboveViewRoot;\nexports.wrapTreePathInfo = wrapTreePathInfo;","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar OrdinalScale = require(\"../scale/Ordinal\");\n\nvar IntervalScale = require(\"../scale/Interval\");\n\nvar Scale = require(\"../scale/Scale\");\n\nvar numberUtil = require(\"../util/number\");\n\nvar _barGrid = require(\"../layout/barGrid\");\n\nvar prepareLayoutBarSeries = _barGrid.prepareLayoutBarSeries;\nvar makeColumnLayout = _barGrid.makeColumnLayout;\nvar retrieveColumnLayout = _barGrid.retrieveColumnLayout;\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nrequire(\"../scale/Time\");\n\nrequire(\"../scale/Log\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 * Get axis scale extent before niced.\n * Item of returned array can only be number (including Infinity and NaN).\n */\nfunction getScaleExtent(scale, model) {\n var scaleType = scale.type;\n var min = model.getMin();\n var max = model.getMax();\n var fixMin = min != null;\n var fixMax = max != null;\n var originalExtent = scale.getExtent();\n var axisDataLen;\n var boundaryGap;\n var span;\n\n if (scaleType === 'ordinal') {\n axisDataLen = model.getCategories().length;\n } else {\n boundaryGap = model.get('boundaryGap');\n\n if (!zrUtil.isArray(boundaryGap)) {\n boundaryGap = [boundaryGap || 0, boundaryGap || 0];\n }\n\n if (typeof boundaryGap[0] === 'boolean') {\n boundaryGap = [0, 0];\n }\n\n boundaryGap[0] = numberUtil.parsePercent(boundaryGap[0], 1);\n boundaryGap[1] = numberUtil.parsePercent(boundaryGap[1], 1);\n span = originalExtent[1] - originalExtent[0] || Math.abs(originalExtent[0]);\n } // Notice: When min/max is not set (that is, when there are null/undefined,\n // which is the most common case), these cases should be ensured:\n // (1) For 'ordinal', show all axis.data.\n // (2) For others:\n // + `boundaryGap` is applied (if min/max set, boundaryGap is\n // disabled).\n // + If `needCrossZero`, min/max should be zero, otherwise, min/max should\n // be the result that originalExtent enlarged by boundaryGap.\n // (3) If no data, it should be ensured that `scale.setBlank` is set.\n // FIXME\n // (1) When min/max is 'dataMin' or 'dataMax', should boundaryGap be able to used?\n // (2) When `needCrossZero` and all data is positive/negative, should it be ensured\n // that the results processed by boundaryGap are positive/negative?\n\n\n if (min == null) {\n min = scaleType === 'ordinal' ? axisDataLen ? 0 : NaN : originalExtent[0] - boundaryGap[0] * span;\n }\n\n if (max == null) {\n max = scaleType === 'ordinal' ? axisDataLen ? axisDataLen - 1 : NaN : originalExtent[1] + boundaryGap[1] * span;\n }\n\n if (min === 'dataMin') {\n min = originalExtent[0];\n } else if (typeof min === 'function') {\n min = min({\n min: originalExtent[0],\n max: originalExtent[1]\n });\n }\n\n if (max === 'dataMax') {\n max = originalExtent[1];\n } else if (typeof max === 'function') {\n max = max({\n min: originalExtent[0],\n max: originalExtent[1]\n });\n }\n\n (min == null || !isFinite(min)) && (min = NaN);\n (max == null || !isFinite(max)) && (max = NaN);\n scale.setBlank(zrUtil.eqNaN(min) || zrUtil.eqNaN(max) || scaleType === 'ordinal' && !scale.getOrdinalMeta().categories.length); // Evaluate if axis needs cross zero\n\n if (model.getNeedCrossZero()) {\n // Axis is over zero and min is not set\n if (min > 0 && max > 0 && !fixMin) {\n min = 0;\n } // Axis is under zero and max is not set\n\n\n if (min < 0 && max < 0 && !fixMax) {\n max = 0;\n }\n } // If bars are placed on a base axis of type time or interval account for axis boundary overflow and current axis\n // is base axis\n // FIXME\n // (1) Consider support value axis, where below zero and axis `onZero` should be handled properly.\n // (2) Refactor the logic with `barGrid`. Is it not need to `makeBarWidthAndOffsetInfo` twice with different extent?\n // Should not depend on series type `bar`?\n // (3) Fix that might overlap when using dataZoom.\n // (4) Consider other chart types using `barGrid`?\n // See #6728, #4862, `test/bar-overflow-time-plot.html`\n\n\n var ecModel = model.ecModel;\n\n if (ecModel && scaleType === 'time'\n /*|| scaleType === 'interval' */\n ) {\n var barSeriesModels = prepareLayoutBarSeries('bar', ecModel);\n var isBaseAxisAndHasBarSeries;\n zrUtil.each(barSeriesModels, function (seriesModel) {\n isBaseAxisAndHasBarSeries |= seriesModel.getBaseAxis() === model.axis;\n });\n\n if (isBaseAxisAndHasBarSeries) {\n // Calculate placement of bars on axis\n var barWidthAndOffset = makeColumnLayout(barSeriesModels); // Adjust axis min and max to account for overflow\n\n var adjustedScale = adjustScaleForOverflow(min, max, model, barWidthAndOffset);\n min = adjustedScale.min;\n max = adjustedScale.max;\n }\n }\n\n return [min, max];\n}\n\nfunction adjustScaleForOverflow(min, max, model, barWidthAndOffset) {\n // Get Axis Length\n var axisExtent = model.axis.getExtent();\n var axisLength = axisExtent[1] - axisExtent[0]; // Get bars on current base axis and calculate min and max overflow\n\n var barsOnCurrentAxis = retrieveColumnLayout(barWidthAndOffset, model.axis);\n\n if (barsOnCurrentAxis === undefined) {\n return {\n min: min,\n max: max\n };\n }\n\n var minOverflow = Infinity;\n zrUtil.each(barsOnCurrentAxis, function (item) {\n minOverflow = Math.min(item.offset, minOverflow);\n });\n var maxOverflow = -Infinity;\n zrUtil.each(barsOnCurrentAxis, function (item) {\n maxOverflow = Math.max(item.offset + item.width, maxOverflow);\n });\n minOverflow = Math.abs(minOverflow);\n maxOverflow = Math.abs(maxOverflow);\n var totalOverFlow = minOverflow + maxOverflow; // Calulate required buffer based on old range and overflow\n\n var oldRange = max - min;\n var oldRangePercentOfNew = 1 - (minOverflow + maxOverflow) / axisLength;\n var overflowBuffer = oldRange / oldRangePercentOfNew - oldRange;\n max += overflowBuffer * (maxOverflow / totalOverFlow);\n min -= overflowBuffer * (minOverflow / totalOverFlow);\n return {\n min: min,\n max: max\n };\n}\n\nfunction niceScaleExtent(scale, model) {\n var extent = getScaleExtent(scale, model);\n var fixMin = model.getMin() != null;\n var fixMax = model.getMax() != null;\n var splitNumber = model.get('splitNumber');\n\n if (scale.type === 'log') {\n scale.base = model.get('logBase');\n }\n\n var scaleType = scale.type;\n scale.setExtent(extent[0], extent[1]);\n scale.niceExtent({\n splitNumber: splitNumber,\n fixMin: fixMin,\n fixMax: fixMax,\n minInterval: scaleType === 'interval' || scaleType === 'time' ? model.get('minInterval') : null,\n maxInterval: scaleType === 'interval' || scaleType === 'time' ? model.get('maxInterval') : null\n }); // If some one specified the min, max. And the default calculated interval\n // is not good enough. He can specify the interval. It is often appeared\n // in angle axis with angle 0 - 360. Interval calculated in interval scale is hard\n // to be 60.\n // FIXME\n\n var interval = model.get('interval');\n\n if (interval != null) {\n scale.setInterval && scale.setInterval(interval);\n }\n}\n/**\n * @param {module:echarts/model/Model} model\n * @param {string} [axisType] Default retrieve from model.type\n * @return {module:echarts/scale/*}\n */\n\n\nfunction createScaleByModel(model, axisType) {\n axisType = axisType || model.get('type');\n\n if (axisType) {\n switch (axisType) {\n // Buildin scale\n case 'category':\n return new OrdinalScale(model.getOrdinalMeta ? model.getOrdinalMeta() : model.getCategories(), [Infinity, -Infinity]);\n\n case 'value':\n return new IntervalScale();\n // Extended scale, like time and log\n\n default:\n return (Scale.getClass(axisType) || IntervalScale).create(model);\n }\n }\n}\n/**\n * Check if the axis corss 0\n */\n\n\nfunction ifAxisCrossZero(axis) {\n var dataExtent = axis.scale.getExtent();\n var min = dataExtent[0];\n var max = dataExtent[1];\n return !(min > 0 && max > 0 || min < 0 && max < 0);\n}\n/**\n * @param {module:echarts/coord/Axis} axis\n * @return {Function} Label formatter function.\n * param: {number} tickValue,\n * param: {number} idx, the index in all ticks.\n * If category axis, this param is not requied.\n * return: {string} label string.\n */\n\n\nfunction makeLabelFormatter(axis) {\n var labelFormatter = axis.getLabelModel().get('formatter');\n var categoryTickStart = axis.type === 'category' ? axis.scale.getExtent()[0] : null;\n\n if (typeof labelFormatter === 'string') {\n labelFormatter = function (tpl) {\n return function (val) {\n // For category axis, get raw value; for numeric axis,\n // get foramtted label like '1,333,444'.\n val = axis.scale.getLabel(val);\n return tpl.replace('{value}', val != null ? val : '');\n };\n }(labelFormatter); // Consider empty array\n\n\n return labelFormatter;\n } else if (typeof labelFormatter === 'function') {\n return function (tickValue, idx) {\n // The original intention of `idx` is \"the index of the tick in all ticks\".\n // But the previous implementation of category axis do not consider the\n // `axisLabel.interval`, which cause that, for example, the `interval` is\n // `1`, then the ticks \"name5\", \"name7\", \"name9\" are displayed, where the\n // corresponding `idx` are `0`, `2`, `4`, but not `0`, `1`, `2`. So we keep\n // the definition here for back compatibility.\n if (categoryTickStart != null) {\n idx = tickValue - categoryTickStart;\n }\n\n return labelFormatter(getAxisRawValue(axis, tickValue), idx);\n };\n } else {\n return function (tick) {\n return axis.scale.getLabel(tick);\n };\n }\n}\n\nfunction getAxisRawValue(axis, value) {\n // In category axis with data zoom, tick is not the original\n // index of axis.data. So tick should not be exposed to user\n // in category axis.\n return axis.type === 'category' ? axis.scale.getLabel(value) : value;\n}\n/**\n * @param {module:echarts/coord/Axis} axis\n * @return {module:zrender/core/BoundingRect} Be null/undefined if no labels.\n */\n\n\nfunction estimateLabelUnionRect(axis) {\n var axisModel = axis.model;\n var scale = axis.scale;\n\n if (!axisModel.get('axisLabel.show') || scale.isBlank()) {\n return;\n }\n\n var isCategory = axis.type === 'category';\n var realNumberScaleTicks;\n var tickCount;\n var categoryScaleExtent = scale.getExtent(); // Optimize for large category data, avoid call `getTicks()`.\n\n if (isCategory) {\n tickCount = scale.count();\n } else {\n realNumberScaleTicks = scale.getTicks();\n tickCount = realNumberScaleTicks.length;\n }\n\n var axisLabelModel = axis.getLabelModel();\n var labelFormatter = makeLabelFormatter(axis);\n var rect;\n var step = 1; // Simple optimization for large amount of labels\n\n if (tickCount > 40) {\n step = Math.ceil(tickCount / 40);\n }\n\n for (var i = 0; i < tickCount; i += step) {\n var tickValue = realNumberScaleTicks ? realNumberScaleTicks[i] : categoryScaleExtent[0] + i;\n var label = labelFormatter(tickValue);\n var unrotatedSingleRect = axisLabelModel.getTextRect(label);\n var singleRect = rotateTextRect(unrotatedSingleRect, axisLabelModel.get('rotate') || 0);\n rect ? rect.union(singleRect) : rect = singleRect;\n }\n\n return rect;\n}\n\nfunction rotateTextRect(textRect, rotate) {\n var rotateRadians = rotate * Math.PI / 180;\n var boundingBox = textRect.plain();\n var beforeWidth = boundingBox.width;\n var beforeHeight = boundingBox.height;\n var afterWidth = beforeWidth * Math.cos(rotateRadians) + beforeHeight * Math.sin(rotateRadians);\n var afterHeight = beforeWidth * Math.sin(rotateRadians) + beforeHeight * Math.cos(rotateRadians);\n var rotatedRect = new BoundingRect(boundingBox.x, boundingBox.y, afterWidth, afterHeight);\n return rotatedRect;\n}\n/**\n * @param {module:echarts/src/model/Model} model axisLabelModel or axisTickModel\n * @return {number|String} Can be null|'auto'|number|function\n */\n\n\nfunction getOptionCategoryInterval(model) {\n var interval = model.get('interval');\n return interval == null ? 'auto' : interval;\n}\n/**\n * Set `categoryInterval` as 0 implicitly indicates that\n * show all labels reguardless of overlap.\n * @param {Object} axis axisModel.axis\n * @return {boolean}\n */\n\n\nfunction shouldShowAllLabels(axis) {\n return axis.type === 'category' && getOptionCategoryInterval(axis.getLabelModel()) === 0;\n}\n\nexports.getScaleExtent = getScaleExtent;\nexports.niceScaleExtent = niceScaleExtent;\nexports.createScaleByModel = createScaleByModel;\nexports.ifAxisCrossZero = ifAxisCrossZero;\nexports.makeLabelFormatter = makeLabelFormatter;\nexports.getAxisRawValue = getAxisRawValue;\nexports.estimateLabelUnionRect = estimateLabelUnionRect;\nexports.getOptionCategoryInterval = getOptionCategoryInterval;\nexports.shouldShowAllLabels = shouldShowAllLabels;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"../coord/single/singleCreator\");\n\nrequire(\"./axis/SingleAxisView\");\n\nrequire(\"../coord/single/AxisModel\");\n\nrequire(\"./axisPointer\");\n\nrequire(\"./axisPointer/SingleAxisPointer\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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.extendComponentView({\n type: 'single'\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar eventTool = require(\"zrender/lib/core/event\");\n\nvar lang = require(\"../../../lang\");\n\nvar featureManager = require(\"../featureManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar dataViewLang = lang.toolbox.dataView;\nvar BLOCK_SPLITER = new Array(60).join('-');\nvar ITEM_SPLITER = '\\t';\n/**\n * Group series into two types\n * 1. on category axis, like line, bar\n * 2. others, like scatter, pie\n * @param {module:echarts/model/Global} ecModel\n * @return {Object}\n * @inner\n */\n\nfunction groupSeries(ecModel) {\n var seriesGroupByCategoryAxis = {};\n var otherSeries = [];\n var meta = [];\n ecModel.eachRawSeries(function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && (coordSys.type === 'cartesian2d' || coordSys.type === 'polar')) {\n var baseAxis = coordSys.getBaseAxis();\n\n if (baseAxis.type === 'category') {\n var key = baseAxis.dim + '_' + baseAxis.index;\n\n if (!seriesGroupByCategoryAxis[key]) {\n seriesGroupByCategoryAxis[key] = {\n categoryAxis: baseAxis,\n valueAxis: coordSys.getOtherAxis(baseAxis),\n series: []\n };\n meta.push({\n axisDim: baseAxis.dim,\n axisIndex: baseAxis.index\n });\n }\n\n seriesGroupByCategoryAxis[key].series.push(seriesModel);\n } else {\n otherSeries.push(seriesModel);\n }\n } else {\n otherSeries.push(seriesModel);\n }\n });\n return {\n seriesGroupByCategoryAxis: seriesGroupByCategoryAxis,\n other: otherSeries,\n meta: meta\n };\n}\n/**\n * Assemble content of series on cateogory axis\n * @param {Array.} series\n * @return {string}\n * @inner\n */\n\n\nfunction assembleSeriesWithCategoryAxis(series) {\n var tables = [];\n zrUtil.each(series, function (group, key) {\n var categoryAxis = group.categoryAxis;\n var valueAxis = group.valueAxis;\n var valueAxisDim = valueAxis.dim;\n var headers = [' '].concat(zrUtil.map(group.series, function (series) {\n return series.name;\n }));\n var columns = [categoryAxis.model.getCategories()];\n zrUtil.each(group.series, function (series) {\n 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); // http://stackoverflow.com/questions/6637341/use-tab-to-indent-in-textarea\n\n eventTool.addEventListener(textarea, 'keydown', function (e) {\n if ((e.keyCode || e.which) === 9) {\n // get caret position/selection\n var val = this.value;\n var start = this.selectionStart;\n var end = this.selectionEnd; // set textarea value to: text before caret + tab + text after caret\n\n this.value = val.substring(0, start) + ITEM_SPLITER + val.substring(end); // put caret at right position again\n\n this.selectionStart = this.selectionEnd = start + 1; // prevent the focus lose\n\n eventTool.stop(e);\n }\n });\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 * vue-router v3.0.7\n * (c) 2019 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\nvar View = {\n name: 'RouterView',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n // used by devtools to display a router-view badge\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode && parent.$vnode.data;\n if (vnodeData) {\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._inactive) {\n inactive = true;\n }\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n return h(cache[name], data, children)\n }\n\n var matched = route.matched[depth];\n // render empty node if no matched route\n if (!matched) {\n cache[name] = null;\n return h()\n }\n\n var component = cache[name] = matched.components[name];\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n };\n\n // resolve props\n var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n\n return h(component, data, children)\n }\n}\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery$$1 = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery$$1),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery$$1);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar Link = {\n name: 'RouterLink',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(this.to, current, this.append);\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback = globalActiveClass == null\n ? 'router-link-active'\n : globalActiveClass;\n var exactActiveClassFallback = globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass = this.activeClass == null\n ? activeClassFallback\n : this.activeClass;\n var exactActiveClass = this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n var compareTarget = location.path\n ? createRoute(null, location, null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location);\n } else {\n router.push(location);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) { on[e] = handler; });\n } else {\n on[this.event] = handler;\n }\n\n var data = {\n class: classes\n };\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var aData = a.data = extend({}, a.data);\n aData.on = on;\n var aAttrs = a.data.attrs = extend({}, a.data.attrs);\n aAttrs.href = href;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n}\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n if (params.pathMatch) { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(path || name)) + \" cannot be a \" +\n \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions = route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(\n path,\n parent,\n pathToRegexpOptions.strict\n );\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props: route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (route.name && !route.redirect && route.children.some(function (child) { return /^\\/?$/.test(child.path); })) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias)\n ? route.alias\n : [route.alias];\n\n aliases.forEach(function (alias) {\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (path, pathToRegexpOptions) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(!keys[key.name], (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\"));\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (path, parent, strict) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next._normalized) {\n return next\n } else if (next.name) {\n return extend({}, raw)\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\n/* */\n\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n window.history.replaceState({ key: getStateKey() }, '', absolutePath);\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(router, to, from, isPop ? position : null);\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll.then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n }).catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n var el = document.querySelector(shouldScroll.selector);\n if (el) {\n var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState = inBrowser && (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n})();\n\n// use User Timing api (if present) for more accurate key precision\nvar Time = inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nvar _key = genKey();\n\nfunction genKey () {\n return Time.now().toFixed(3)\n}\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n _key = key;\n}\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n history.replaceState({ key: _key }, '', url);\n } else {\n _key = genKey();\n history.pushState({ key: _key }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (location, onComplete, onAbort) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(route, function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) { cb(route); });\n }\n }, function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) { cb(err); });\n }\n });\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n if (isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) { cb(err); });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort()\n }\n\n var ref = resolveQueue(this.current.matched, route.matched);\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' && (\n typeof to.path === 'string' ||\n typeof to.name === 'string'\n ))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) { cb(); });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(activated, 'beforeRouteEnter', function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n })\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n next(cb);\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (\n instances[key] &&\n !instances[key]._isBeingDestroyed // do not reuse being destroyed instance\n ) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History$$1) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History$$1.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History$$1 ) HTML5History.__proto__ = History$$1;\n HTML5History.prototype = Object.create( History$$1 && History$$1.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = decodeURI(window.location.pathname);\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History$$1) {\n function HashHistory (router, base, fallback) {\n History$$1.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History$$1 ) HashHistory.__proto__ = History$$1;\n HashHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(supportsPushState ? 'popstate' : 'hashchange', function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(\n cleanPath(base + '/#' + location)\n );\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n // decode the hash but not the search or hash\n // as search(query) is already decoded\n // https://github.com/vuejs/vue-router/issues/2708\n var searchIndex = href.indexOf('?');\n if (searchIndex < 0) {\n var hashIndex = href.indexOf('#');\n if (hashIndex > -1) { href = decodeURI(href.slice(0, hashIndex)) + href.slice(hashIndex); }\n else { href = decodeURI(href); }\n } else {\n if (searchIndex > -1) { href = decodeURI(href.slice(0, searchIndex)) + href.slice(searchIndex); }\n }\n\n return href\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\nvar AbstractHistory = /*@__PURE__*/(function (History$$1) {\n function AbstractHistory (router, base) {\n History$$1.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History$$1 ) AbstractHistory.__proto__ = History$$1;\n AbstractHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(route, function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n });\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\n\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n process.env.NODE_ENV !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1.apps.indexOf(app);\n if (index > -1) { this$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1.app === app) { this$1.app = this$1.apps[0] || null; }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n this.history.push(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n this.history.replace(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(\n to,\n current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.0.7';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction 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 {\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 {\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'));\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./line/LineSeries\");\n\nrequire(\"./line/LineView\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar layoutPoints = require(\"../layout/points\");\n\nvar dataSample = require(\"../processor/dataSample\");\n\nrequire(\"../component/gridSimple\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// In case developer forget to include grid component\necharts.registerVisual(visualSymbol('line', 'circle', 'line'));\necharts.registerLayout(layoutPoints('line')); // Down sample after filter\n\necharts.registerProcessor(echarts.PRIORITY.PROCESSOR.STATISTIC, dataSample('line'));","/** layui-v2.5.4 MIT License By https://www.layui.com */\n ;!function(e){\"use strict\";var t=document,o={modules:{},status:{},timeout:10,event:{}},n=function(){this.v=\"2.5.4\"},r=function(){var e=t.currentScript?t.currentScript.src:function(){for(var e,o=t.scripts,n=o.length-1,r=n;r>0;r--)if(\"interactive\"===o[r].readyState){e=o[r].src;break}return e||o[n].src}();return e.substring(0,e.lastIndexOf(\"/\")+1)}(),i=function(t){e.console&&console.error&&console.error(\"Layui hint: \"+t)},a=\"undefined\"!=typeof opera&&\"[object Opera]\"===opera.toString(),u={layer:\"modules/layer\",laydate:\"modules/laydate\",laypage:\"modules/laypage\",laytpl:\"modules/laytpl\",layim:\"modules/layim\",layedit:\"modules/layedit\",form:\"modules/form\",upload:\"modules/upload\",transfer:\"modules/transfer\",tree:\"modules/tree\",table:\"modules/table\",element:\"modules/element\",rate:\"modules/rate\",colorpicker:\"modules/colorpicker\",slider:\"modules/slider\",carousel:\"modules/carousel\",flow:\"modules/flow\",util:\"modules/util\",code:\"modules/code\",jquery:\"modules/jquery\",mobile:\"modules/mobile\",\"layui.all\":\"../layui.all\"};n.prototype.cache=o,n.prototype.define=function(e,t){var n=this,r=\"function\"==typeof e,i=function(){var e=function(e,t){layui[e]=t,o.status[e]=!0};return\"function\"==typeof t&&t(function(n,r){e(n,r),o.callback[n]=function(){t(e)}}),this};return r&&(t=e,e=[]),!layui[\"layui.all\"]&&layui[\"layui.mobile\"]?i.call(n):(n.use(e,i),n)},n.prototype.use=function(e,n,l){function s(e,t){var n=\"PLaySTATION 3\"===navigator.platform?/^complete$/:/^(complete|loaded)$/;(\"load\"===e.type||n.test((e.currentTarget||e.srcElement).readyState))&&(o.modules[f]=t,d.removeChild(v),function r(){return++m>1e3*o.timeout/4?i(f+\" is not a valid module\"):void(o.status[f]?c():setTimeout(r,4))}())}function c(){l.push(layui[f]),e.length>1?y.use(e.slice(1),n,l):\"function\"==typeof n&&n.apply(layui,l)}var y=this,p=o.dir=o.dir?o.dir:r,d=t.getElementsByTagName(\"head\")[0];e=\"string\"==typeof e?[e]:e,window.jQuery&&jQuery.fn.on&&(y.each(e,function(t,o){\"jquery\"===o&&e.splice(t,1)}),layui.jquery=layui.$=jQuery);var f=e[0],m=0;if(l=l||[],o.host=o.host||(p.match(/\\/\\/([\\s\\S]+?)\\//)||[\"//\"+location.host+\"/\"])[0],0===e.length||layui[\"layui.all\"]&&u[f]||!layui[\"layui.all\"]&&layui[\"layui.mobile\"]&&u[f])return c(),y;if(o.modules[f])!function g(){return++m>1e3*o.timeout/4?i(f+\" is not a valid module\"):void(\"string\"==typeof o.modules[f]&&o.status[f]?c():setTimeout(g,4))}();else{var v=t.createElement(\"script\"),h=(u[f]?p+\"lay/\":/^\\{\\/\\}/.test(y.modules[f])?\"\":o.base||\"\")+(y.modules[f]||f)+\".js\";h=h.replace(/^\\{\\/\\}/,\"\"),v.async=!0,v.charset=\"utf-8\",v.src=h+function(){var e=o.version===!0?o.v||(new Date).getTime():o.version||\"\";return e?\"?v=\"+e:\"\"}(),d.appendChild(v),!v.attachEvent||v.attachEvent.toString&&v.attachEvent.toString().indexOf(\"[native code\")<0||a?v.addEventListener(\"load\",function(e){s(e,h)},!1):v.attachEvent(\"onreadystatechange\",function(e){s(e,h)}),o.modules[f]=h}return y},n.prototype.getStyle=function(t,o){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?\"getPropertyValue\":\"getAttribute\"](o)},n.prototype.link=function(e,n,r){var a=this,u=t.createElement(\"link\"),l=t.getElementsByTagName(\"head\")[0];\"string\"==typeof n&&(r=n);var s=(r||e).replace(/\\.|\\//g,\"\"),c=u.id=\"layuicss-\"+s,y=0;return u.rel=\"stylesheet\",u.href=e+(o.debug?\"?v=\"+(new Date).getTime():\"\"),u.media=\"all\",t.getElementById(c)||l.appendChild(u),\"function\"!=typeof n?a:(function p(){return++y>1e3*o.timeout/100?i(e+\" timeout\"):void(1989===parseInt(a.getStyle(t.getElementById(c),\"width\"))?function(){n()}():setTimeout(p,100))}(),a)},o.callback={},n.prototype.factory=function(e){if(layui[e])return\"function\"==typeof o.callback[e]?o.callback[e]:null},n.prototype.addcss=function(e,t,n){return layui.link(o.dir+\"css/\"+e,t,n)},n.prototype.img=function(e,t,o){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,\"function\"==typeof t&&t(n)},void(n.onerror=function(e){n.onerror=null,\"function\"==typeof o&&o(e)}))},n.prototype.config=function(e){e=e||{};for(var t in e)o[t]=e[t];return this},n.prototype.modules=function(){var e={};for(var t in u)e[t]=u[t];return e}(),n.prototype.extend=function(e){var t=this;e=e||{};for(var o in e)t[o]||t.modules[o]?i(\"模块名 \"+o+\" 已被占用\"):t.modules[o]=e[o];return t},n.prototype.router=function(e){var t=this,e=e||location.hash,o={path:[],search:{},hash:(e.match(/[^#](#.*$)/)||[])[1]||\"\"};return/^#\\//.test(e)?(e=e.replace(/^#\\//,\"\"),o.href=\"/\"+e,e=e.replace(/([^#])(#.*$)/,\"$1\").split(\"/\")||[],t.each(e,function(e,t){/^\\w+=/.test(t)?function(){t=t.split(\"=\"),o.search[t[0]]=t[1]}():o.path.push(t)}),o):o},n.prototype.data=function(t,o,n){if(t=t||\"layui\",n=n||localStorage,e.JSON&&e.JSON.parse){if(null===o)return delete n[t];o=\"object\"==typeof o?o:{key:o};try{var r=JSON.parse(n[t])}catch(i){var r={}}return\"value\"in o&&(r[o.key]=o.value),o.remove&&delete r[o.key],n[t]=JSON.stringify(r),o.key?r[o.key]:r}},n.prototype.sessionData=function(e,t){return this.data(e,t,sessionStorage)},n.prototype.device=function(t){var o=navigator.userAgent.toLowerCase(),n=function(e){var t=new RegExp(e+\"/([^\\\\s\\\\_\\\\-]+)\");return e=(o.match(t)||[])[1],e||!1},r={os:function(){return/windows/.test(o)?\"windows\":/linux/.test(o)?\"linux\":/iphone|ipod|ipad|ios/.test(o)?\"ios\":/mac/.test(o)?\"mac\":void 0}(),ie:function(){return!!(e.ActiveXObject||\"ActiveXObject\"in e)&&((o.match(/msie\\s(\\d+)/)||[])[1]||\"11\")}(),weixin:n(\"micromessenger\")};return t&&!r[t]&&(r[t]=n(t)),r.android=/android/.test(o),r.ios=\"ios\"===r.os,r},n.prototype.hint=function(){return{error:i}},n.prototype.each=function(e,t){var o,n=this;if(\"function\"!=typeof t)return n;if(e=e||[],e.constructor===Object){for(o in e)if(t.call(e[o],o,e[o]))break}else for(o=0;oi?1:r [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\n for (var key in this.data) {\n this.data.hasOwnProperty(key) && cb(this.data[key], key);\n }\n },\n // Do not use this method if performance sensitive.\n removeKey: function (key) {\n delete this.data[key];\n }\n};\n\nfunction createHashMap(obj) {\n return new HashMap(obj);\n}\n\nfunction concatArray(a, b) {\n var newArray = new a.constructor(a.length + b.length);\n\n for (var i = 0; i < a.length; i++) {\n newArray[i] = a[i];\n }\n\n var offset = a.length;\n\n for (i = 0; i < b.length; i++) {\n newArray[i + offset] = b[i];\n }\n\n return newArray;\n}\n\nfunction noop() {}\n\nexports.$override = $override;\nexports.clone = clone;\nexports.merge = merge;\nexports.mergeAll = mergeAll;\nexports.extend = extend;\nexports.defaults = defaults;\nexports.createCanvas = createCanvas;\nexports.getContext = getContext;\nexports.indexOf = indexOf;\nexports.inherits = inherits;\nexports.mixin = mixin;\nexports.isArrayLike = isArrayLike;\nexports.each = each;\nexports.map = map;\nexports.reduce = reduce;\nexports.filter = filter;\nexports.find = find;\nexports.bind = bind;\nexports.curry = curry;\nexports.isArray = isArray;\nexports.isFunction = isFunction;\nexports.isString = isString;\nexports.isObject = isObject;\nexports.isBuiltInObject = isBuiltInObject;\nexports.isTypedArray = isTypedArray;\nexports.isDom = isDom;\nexports.eqNaN = eqNaN;\nexports.retrieve = retrieve;\nexports.retrieve2 = retrieve2;\nexports.retrieve3 = retrieve3;\nexports.slice = slice;\nexports.normalizeCssArray = normalizeCssArray;\nexports.assert = assert;\nexports.trim = trim;\nexports.setAsPrimitive = setAsPrimitive;\nexports.isPrimitive = isPrimitive;\nexports.createHashMap = createHashMap;\nexports.concatArray = concatArray;\nexports.noop = noop;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./marker/MarkPointModel\");\n\nrequire(\"./marker/MarkPointView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// HINT Markpoint can't be used too much\necharts.registerPreprocessor(function (opt) {\n // Make sure markPoint component is enabled\n opt.markPoint = opt.markPoint || {};\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar DataZoomModel = require(\"./DataZoomModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar 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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar _number = require(\"./number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar formatUtil = require(\"./format\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Layout helpers for each component positioning\nvar each = zrUtil.each;\n/**\n * @public\n */\n\nvar LOCATION_PARAMS = ['left', 'right', 'top', 'bottom', 'width', 'height'];\n/**\n * @public\n */\n\nvar HV_NAMES = [['width', 'left', 'right'], ['height', 'top', 'bottom']];\n\nfunction boxLayout(orient, group, gap, maxWidth, maxHeight) {\n var x = 0;\n var y = 0;\n\n if (maxWidth == null) {\n maxWidth = Infinity;\n }\n\n if (maxHeight == null) {\n maxHeight = Infinity;\n }\n\n var currentLineMaxSize = 0;\n group.eachChild(function (child, idx) {\n var position = child.position;\n var rect = child.getBoundingRect();\n var nextChild = group.childAt(idx + 1);\n var nextChildRect = nextChild && nextChild.getBoundingRect();\n var nextX;\n var nextY;\n\n if (orient === 'horizontal') {\n var moveX = rect.width + (nextChildRect ? -nextChildRect.x + rect.x : 0);\n nextX = x + moveX; // Wrap when width exceeds maxWidth or meet a `newline` group\n // FIXME compare before adding gap?\n\n if (nextX > maxWidth || child.newline) {\n x = 0;\n nextX = moveX;\n y += currentLineMaxSize + gap;\n currentLineMaxSize = rect.height;\n } else {\n // FIXME: consider rect.y is not `0`?\n currentLineMaxSize = Math.max(currentLineMaxSize, rect.height);\n }\n } else {\n var moveY = rect.height + (nextChildRect ? -nextChildRect.y + rect.y : 0);\n nextY = y + moveY; // Wrap when width exceeds maxHeight or meet a `newline` group\n\n if (nextY > maxHeight || child.newline) {\n x += currentLineMaxSize + gap;\n y = 0;\n nextY = moveY;\n currentLineMaxSize = rect.width;\n } else {\n currentLineMaxSize = Math.max(currentLineMaxSize, rect.width);\n }\n }\n\n if (child.newline) {\n return;\n }\n\n position[0] = x;\n position[1] = y;\n orient === 'horizontal' ? x = nextX + gap : y = nextY + gap;\n });\n}\n/**\n * VBox or HBox layouting\n * @param {string} orient\n * @param {module:zrender/container/Group} group\n * @param {number} gap\n * @param {number} [width=Infinity]\n * @param {number} [height=Infinity]\n */\n\n\nvar box = boxLayout;\n/**\n * VBox layouting\n * @param {module:zrender/container/Group} group\n * @param {number} gap\n * @param {number} [width=Infinity]\n * @param {number} [height=Infinity]\n */\n\nvar vbox = zrUtil.curry(boxLayout, 'vertical');\n/**\n * HBox layouting\n * @param {module:zrender/container/Group} group\n * @param {number} gap\n * @param {number} [width=Infinity]\n * @param {number} [height=Infinity]\n */\n\nvar hbox = zrUtil.curry(boxLayout, 'horizontal');\n/**\n * If x or x2 is not specified or 'center' 'left' 'right',\n * the width would be as long as possible.\n * If y or y2 is not specified or 'middle' 'top' 'bottom',\n * the height would be as long as possible.\n *\n * @param {Object} positionInfo\n * @param {number|string} [positionInfo.x]\n * @param {number|string} [positionInfo.y]\n * @param {number|string} [positionInfo.x2]\n * @param {number|string} [positionInfo.y2]\n * @param {Object} containerRect {width, height}\n * @param {string|number} margin\n * @return {Object} {width, height}\n */\n\nfunction getAvailableSize(positionInfo, containerRect, margin) {\n var containerWidth = containerRect.width;\n var containerHeight = containerRect.height;\n var x = parsePercent(positionInfo.x, containerWidth);\n var y = parsePercent(positionInfo.y, containerHeight);\n var x2 = parsePercent(positionInfo.x2, containerWidth);\n var y2 = parsePercent(positionInfo.y2, containerHeight);\n (isNaN(x) || isNaN(parseFloat(positionInfo.x))) && (x = 0);\n (isNaN(x2) || isNaN(parseFloat(positionInfo.x2))) && (x2 = containerWidth);\n (isNaN(y) || isNaN(parseFloat(positionInfo.y))) && (y = 0);\n (isNaN(y2) || isNaN(parseFloat(positionInfo.y2))) && (y2 = containerHeight);\n margin = formatUtil.normalizeCssArray(margin || 0);\n return {\n width: Math.max(x2 - x - margin[1] - margin[3], 0),\n height: Math.max(y2 - y - margin[0] - margin[2], 0)\n };\n}\n/**\n * Parse position info.\n *\n * @param {Object} positionInfo\n * @param {number|string} [positionInfo.left]\n * @param {number|string} [positionInfo.top]\n * @param {number|string} [positionInfo.right]\n * @param {number|string} [positionInfo.bottom]\n * @param {number|string} [positionInfo.width]\n * @param {number|string} [positionInfo.height]\n * @param {number|string} [positionInfo.aspect] Aspect is width / height\n * @param {Object} containerRect\n * @param {string|number} [margin]\n *\n * @return {module:zrender/core/BoundingRect}\n */\n\n\nfunction getLayoutRect(positionInfo, containerRect, margin) {\n margin = formatUtil.normalizeCssArray(margin || 0);\n var containerWidth = containerRect.width;\n var containerHeight = containerRect.height;\n var left = parsePercent(positionInfo.left, containerWidth);\n var top = parsePercent(positionInfo.top, containerHeight);\n var right = parsePercent(positionInfo.right, containerWidth);\n var bottom = parsePercent(positionInfo.bottom, containerHeight);\n var width = parsePercent(positionInfo.width, containerWidth);\n var height = parsePercent(positionInfo.height, containerHeight);\n var verticalMargin = margin[2] + margin[0];\n var horizontalMargin = margin[1] + margin[3];\n var aspect = positionInfo.aspect; // If width is not specified, calculate width from left and right\n\n if (isNaN(width)) {\n width = containerWidth - right - horizontalMargin - left;\n }\n\n if (isNaN(height)) {\n height = containerHeight - bottom - verticalMargin - top;\n }\n\n if (aspect != null) {\n // If width and height are not given\n // 1. Graph should not exceeds the container\n // 2. Aspect must be keeped\n // 3. Graph should take the space as more as possible\n // FIXME\n // Margin is not considered, because there is no case that both\n // using margin and aspect so far.\n if (isNaN(width) && isNaN(height)) {\n if (aspect > containerWidth / containerHeight) {\n width = containerWidth * 0.8;\n } else {\n height = containerHeight * 0.8;\n }\n } // Calculate width or height with given aspect\n\n\n if (isNaN(width)) {\n width = aspect * height;\n }\n\n if (isNaN(height)) {\n height = width / aspect;\n }\n } // If left is not specified, calculate left from right and width\n\n\n if (isNaN(left)) {\n left = containerWidth - right - width - horizontalMargin;\n }\n\n if (isNaN(top)) {\n top = containerHeight - bottom - height - verticalMargin;\n } // Align left and top\n\n\n switch (positionInfo.left || positionInfo.right) {\n case 'center':\n left = containerWidth / 2 - width / 2 - margin[3];\n break;\n\n case 'right':\n left = containerWidth - width - horizontalMargin;\n break;\n }\n\n switch (positionInfo.top || positionInfo.bottom) {\n case 'middle':\n case 'center':\n top = containerHeight / 2 - height / 2 - margin[0];\n break;\n\n case 'bottom':\n top = containerHeight - height - verticalMargin;\n break;\n } // If something is wrong and left, top, width, height are calculated as NaN\n\n\n left = left || 0;\n top = top || 0;\n\n if (isNaN(width)) {\n // Width may be NaN if only one value is given except width\n width = containerWidth - horizontalMargin - left - (right || 0);\n }\n\n if (isNaN(height)) {\n // Height may be NaN if only one value is given except height\n height = containerHeight - verticalMargin - top - (bottom || 0);\n }\n\n var rect = new BoundingRect(left + margin[3], top + margin[0], width, height);\n rect.margin = margin;\n return rect;\n}\n/**\n * Position a zr element in viewport\n * Group position is specified by either\n * {left, top}, {right, bottom}\n * If all properties exists, right and bottom will be igonred.\n *\n * Logic:\n * 1. Scale (against origin point in parent coord)\n * 2. Rotate (against origin point in parent coord)\n * 3. Traslate (with el.position by this method)\n * So this method only fixes the last step 'Traslate', which does not affect\n * scaling and rotating.\n *\n * If be called repeatly with the same input el, the same result will be gotten.\n *\n * @param {module:zrender/Element} el Should have `getBoundingRect` method.\n * @param {Object} positionInfo\n * @param {number|string} [positionInfo.left]\n * @param {number|string} [positionInfo.top]\n * @param {number|string} [positionInfo.right]\n * @param {number|string} [positionInfo.bottom]\n * @param {number|string} [positionInfo.width] Only for opt.boundingModel: 'raw'\n * @param {number|string} [positionInfo.height] Only for opt.boundingModel: 'raw'\n * @param {Object} containerRect\n * @param {string|number} margin\n * @param {Object} [opt]\n * @param {Array.} [opt.hv=[1,1]] Only horizontal or only vertical.\n * @param {Array.} [opt.boundingMode='all']\n * Specify how to calculate boundingRect when locating.\n * 'all': Position the boundingRect that is transformed and uioned\n * both itself and its descendants.\n * This mode simplies confine the elements in the bounding\n * of their container (e.g., using 'right: 0').\n * 'raw': Position the boundingRect that is not transformed and only itself.\n * This mode is useful when you want a element can overflow its\n * container. (Consider a rotated circle needs to be located in a corner.)\n * In this mode positionInfo.width/height can only be number.\n */\n\n\nfunction positionElement(el, positionInfo, containerRect, margin, opt) {\n var h = !opt || !opt.hv || opt.hv[0];\n var v = !opt || !opt.hv || opt.hv[1];\n var boundingMode = opt && opt.boundingMode || 'all';\n\n if (!h && !v) {\n return;\n }\n\n var rect;\n\n if (boundingMode === 'raw') {\n rect = el.type === 'group' ? new BoundingRect(0, 0, +positionInfo.width || 0, +positionInfo.height || 0) : el.getBoundingRect();\n } else {\n rect = el.getBoundingRect();\n\n if (el.needLocalTransform()) {\n var transform = el.getLocalTransform(); // Notice: raw rect may be inner object of el,\n // which should not be modified.\n\n rect = rect.clone();\n rect.applyTransform(transform);\n }\n } // The real width and height can not be specified but calculated by the given el.\n\n\n positionInfo = getLayoutRect(zrUtil.defaults({\n width: rect.width,\n height: rect.height\n }, positionInfo), containerRect, margin); // Because 'tranlate' is the last step in transform\n // (see zrender/core/Transformable#getLocalTransform),\n // we can just only modify el.position to get final result.\n\n var elPos = el.position;\n var dx = h ? positionInfo.x - rect.x : 0;\n var dy = v ? positionInfo.y - rect.y : 0;\n el.attr('position', boundingMode === 'raw' ? [dx, dy] : [elPos[0] + dx, elPos[1] + dy]);\n}\n/**\n * @param {Object} option Contains some of the properties in HV_NAMES.\n * @param {number} hvIdx 0: horizontal; 1: vertical.\n */\n\n\nfunction sizeCalculable(option, hvIdx) {\n return option[HV_NAMES[hvIdx][0]] != null || option[HV_NAMES[hvIdx][1]] != null && option[HV_NAMES[hvIdx][2]] != null;\n}\n/**\n * Consider Case:\n * When defulat option has {left: 0, width: 100}, and we set {right: 0}\n * through setOption or media query, using normal zrUtil.merge will cause\n * {right: 0} does not take effect.\n *\n * @example\n * ComponentModel.extend({\n * init: function () {\n * ...\n * var inputPositionParams = layout.getLayoutParams(option);\n * this.mergeOption(inputPositionParams);\n * },\n * mergeOption: function (newOption) {\n * newOption && zrUtil.merge(thisOption, newOption, true);\n * layout.mergeLayoutParam(thisOption, newOption);\n * }\n * });\n *\n * @param {Object} targetOption\n * @param {Object} newOption\n * @param {Object|string} [opt]\n * @param {boolean|Array.} [opt.ignoreSize=false] Used for the components\n * that width (or height) should not be calculated by left and right (or top and bottom).\n */\n\n\nfunction mergeLayoutParam(targetOption, newOption, opt) {\n !zrUtil.isObject(opt) && (opt = {});\n var ignoreSize = opt.ignoreSize;\n !zrUtil.isArray(ignoreSize) && (ignoreSize = [ignoreSize, ignoreSize]);\n var hResult = merge(HV_NAMES[0], 0);\n var vResult = merge(HV_NAMES[1], 1);\n copy(HV_NAMES[0], targetOption, hResult);\n copy(HV_NAMES[1], targetOption, vResult);\n\n function merge(names, hvIdx) {\n var newParams = {};\n var newValueCount = 0;\n var merged = {};\n var mergedValueCount = 0;\n var enoughParamNumber = 2;\n each(names, function (name) {\n merged[name] = targetOption[name];\n });\n each(names, function (name) {\n // Consider case: newOption.width is null, which is\n // set by user for removing width setting.\n hasProp(newOption, name) && (newParams[name] = merged[name] = newOption[name]);\n hasValue(newParams, name) && newValueCount++;\n hasValue(merged, name) && mergedValueCount++;\n });\n\n if (ignoreSize[hvIdx]) {\n // Only one of left/right is premitted to exist.\n if (hasValue(newOption, names[1])) {\n merged[names[2]] = null;\n } else if (hasValue(newOption, names[2])) {\n merged[names[1]] = null;\n }\n\n return merged;\n } // Case: newOption: {width: ..., right: ...},\n // or targetOption: {right: ...} and newOption: {width: ...},\n // There is no conflict when merged only has params count\n // little than enoughParamNumber.\n\n\n if (mergedValueCount === enoughParamNumber || !newValueCount) {\n return merged;\n } // Case: newOption: {width: ..., right: ...},\n // Than we can make sure user only want those two, and ignore\n // all origin params in targetOption.\n else if (newValueCount >= enoughParamNumber) {\n return newParams;\n } else {\n // Chose another param from targetOption by priority.\n for (var i = 0; i < names.length; i++) {\n var name = names[i];\n\n if (!hasProp(newParams, name) && hasProp(targetOption, name)) {\n newParams[name] = targetOption[name];\n break;\n }\n }\n\n return newParams;\n }\n }\n\n function hasProp(obj, name) {\n return obj.hasOwnProperty(name);\n }\n\n function hasValue(obj, name) {\n return obj[name] != null && obj[name] !== 'auto';\n }\n\n function copy(names, target, source) {\n each(names, function (name) {\n target[name] = source[name];\n });\n }\n}\n/**\n * Retrieve 'left', 'right', 'top', 'bottom', 'width', 'height' from object.\n * @param {Object} source\n * @return {Object} Result contains those props.\n */\n\n\nfunction getLayoutParams(source) {\n return copyLayoutParams({}, source);\n}\n/**\n * Retrieve 'left', 'right', 'top', 'bottom', 'width', 'height' from object.\n * @param {Object} source\n * @return {Object} Result contains those props.\n */\n\n\nfunction copyLayoutParams(target, source) {\n source && target && each(LOCATION_PARAMS, function (name) {\n source.hasOwnProperty(name) && (target[name] = source[name]);\n });\n return target;\n}\n\nexports.LOCATION_PARAMS = LOCATION_PARAMS;\nexports.HV_NAMES = HV_NAMES;\nexports.box = box;\nexports.vbox = vbox;\nexports.hbox = hbox;\nexports.getAvailableSize = getAvailableSize;\nexports.getLayoutRect = getLayoutRect;\nexports.positionElement = positionElement;\nexports.sizeCalculable = sizeCalculable;\nexports.mergeLayoutParam = mergeLayoutParam;\nexports.getLayoutParams = getLayoutParams;\nexports.copyLayoutParams = copyLayoutParams;","var Path = require(\"../graphic/Path\");\n\nvar PathProxy = require(\"../core/PathProxy\");\n\nvar transformPath = require(\"./transformPath\");\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;","var _config = require(\"./config\");\n\nvar devicePixelRatio = _config.devicePixelRatio;\n\nvar util = require(\"./core/util\");\n\nvar log = require(\"./core/log\");\n\nvar BoundingRect = require(\"./core/BoundingRect\");\n\nvar timsort = require(\"./core/timsort\");\n\nvar Layer = require(\"./Layer\");\n\nvar requestAnimationFrame = require(\"./animation/requestAnimationFrame\");\n\nvar Image = require(\"./graphic/Image\");\n\nvar env = require(\"./core/env\");\n\nvar HOVER_LAYER_ZLEVEL = 1e5;\nvar CANVAS_ZLEVEL = 314159;\nvar EL_AFTER_INCREMENTAL_INC = 0.01;\nvar INCREMENTAL_INC = 0.001;\n\nfunction parseInt10(val) {\n return parseInt(val, 10);\n}\n\nfunction isLayerValid(layer) {\n if (!layer) {\n return false;\n }\n\n if (layer.__builtin__) {\n return true;\n }\n\n if (typeof layer.resize !== 'function' || typeof layer.refresh !== 'function') {\n return false;\n }\n\n return true;\n}\n\nvar tmpRect = new BoundingRect(0, 0, 0, 0);\nvar viewRect = new BoundingRect(0, 0, 0, 0);\n\nfunction isDisplayableCulled(el, width, height) {\n tmpRect.copy(el.getBoundingRect());\n\n if (el.transform) {\n tmpRect.applyTransform(el.transform);\n }\n\n viewRect.width = width;\n viewRect.height = height;\n return !tmpRect.intersect(viewRect);\n}\n\nfunction isClipPathChanged(clipPaths, prevClipPaths) {\n if (clipPaths === prevClipPaths) {\n // Can both be null or undefined\n return false;\n }\n\n if (!clipPaths || !prevClipPaths || clipPaths.length !== prevClipPaths.length) {\n return true;\n }\n\n for (var i = 0; i < clipPaths.length; i++) {\n if (clipPaths[i] !== prevClipPaths[i]) {\n return true;\n }\n }\n}\n\nfunction doClip(clipPaths, ctx) {\n for (var i = 0; i < clipPaths.length; i++) {\n var clipPath = clipPaths[i];\n clipPath.setTransform(ctx);\n ctx.beginPath();\n clipPath.buildPath(ctx, clipPath.shape);\n ctx.clip(); // Transform back\n\n clipPath.restoreTransform(ctx);\n }\n}\n\nfunction createRoot(width, height) {\n var domRoot = document.createElement('div'); // domRoot.onselectstart = returnFalse; // 避免页面选中的尴尬\n\n domRoot.style.cssText = ['position:relative', 'overflow:hidden', 'width:' + width + 'px', 'height:' + height + 'px', 'padding:0', 'margin:0', 'border-width:0'].join(';') + ';';\n return domRoot;\n}\n/**\n * @alias module:zrender/Painter\n * @constructor\n * @param {HTMLElement} root 绘图容器\n * @param {module:zrender/Storage} storage\n * @param {Object} opts\n */\n\n\nvar Painter = function (root, storage, opts) {\n this.type = 'canvas'; // In node environment using node-canvas\n\n var singleCanvas = !root.nodeName // In node ?\n || root.nodeName.toUpperCase() === 'CANVAS';\n this._opts = opts = util.extend({}, opts || {});\n /**\n * @type {number}\n */\n\n this.dpr = opts.devicePixelRatio || devicePixelRatio;\n /**\n * @type {boolean}\n * @private\n */\n\n this._singleCanvas = singleCanvas;\n /**\n * 绘图容器\n * @type {HTMLElement}\n */\n\n this.root = root;\n var rootStyle = root.style;\n\n if (rootStyle) {\n rootStyle['-webkit-tap-highlight-color'] = 'transparent';\n rootStyle['-webkit-user-select'] = rootStyle['user-select'] = rootStyle['-webkit-touch-callout'] = 'none';\n root.innerHTML = '';\n }\n /**\n * @type {module:zrender/Storage}\n */\n\n\n this.storage = storage;\n /**\n * @type {Array.}\n * @private\n */\n\n var zlevelList = this._zlevelList = [];\n /**\n * @type {Object.}\n * @private\n */\n\n var layers = this._layers = {};\n /**\n * @type {Object.}\n * @private\n */\n\n this._layerConfig = {};\n /**\n * zrender will do compositing when root is a canvas and have multiple zlevels.\n */\n\n this._needsManuallyCompositing = false;\n\n if (!singleCanvas) {\n this._width = this._getSize(0);\n this._height = this._getSize(1);\n var domRoot = this._domRoot = createRoot(this._width, this._height);\n root.appendChild(domRoot);\n } else {\n var width = root.width;\n var height = root.height;\n\n if (opts.width != null) {\n width = opts.width;\n }\n\n if (opts.height != null) {\n height = opts.height;\n }\n\n this.dpr = opts.devicePixelRatio || 1; // Use canvas width and height directly\n\n root.width = width * this.dpr;\n root.height = height * this.dpr;\n this._width = width;\n this._height = height; // Create layer if only one given canvas\n // Device can be specified to create a high dpi image.\n\n var mainLayer = new Layer(root, this, this.dpr);\n mainLayer.__builtin__ = true;\n mainLayer.initContext(); // FIXME Use canvas width and height\n // mainLayer.resize(width, height);\n\n layers[CANVAS_ZLEVEL] = mainLayer;\n mainLayer.zlevel = CANVAS_ZLEVEL; // Not use common zlevel.\n\n zlevelList.push(CANVAS_ZLEVEL);\n this._domRoot = root;\n }\n /**\n * @type {module:zrender/Layer}\n * @private\n */\n\n\n this._hoverlayer = null;\n this._hoverElements = [];\n};\n\nPainter.prototype = {\n constructor: Painter,\n getType: function () {\n return 'canvas';\n },\n\n /**\n * If painter use a single canvas\n * @return {boolean}\n */\n isSingleCanvas: function () {\n return this._singleCanvas;\n },\n\n /**\n * @return {HTMLDivElement}\n */\n getViewportRoot: function () {\n return this._domRoot;\n },\n getViewportRootOffset: function () {\n var viewportRoot = this.getViewportRoot();\n\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n },\n\n /**\n * 刷新\n * @param {boolean} [paintAll=false] 强制绘制所有displayable\n */\n refresh: function (paintAll) {\n var list = this.storage.getDisplayList(true);\n var zlevelList = this._zlevelList;\n this._redrawId = Math.random();\n\n this._paintList(list, paintAll, this._redrawId); // Paint custum layers\n\n\n for (var i = 0; i < zlevelList.length; i++) {\n var z = zlevelList[i];\n var layer = this._layers[z];\n\n if (!layer.__builtin__ && layer.refresh) {\n var clearColor = i === 0 ? this._backgroundColor : null;\n layer.refresh(clearColor);\n }\n }\n\n this.refreshHover();\n return this;\n },\n addHover: function (el, hoverStyle) {\n if (el.__hoverMir) {\n return;\n }\n\n var elMirror = new el.constructor({\n style: el.style,\n shape: el.shape,\n z: el.z,\n z2: el.z2,\n silent: el.silent\n });\n elMirror.__from = el;\n el.__hoverMir = elMirror;\n hoverStyle && elMirror.setStyle(hoverStyle);\n\n this._hoverElements.push(elMirror);\n\n return elMirror;\n },\n removeHover: function (el) {\n var elMirror = el.__hoverMir;\n var hoverElements = this._hoverElements;\n var idx = util.indexOf(hoverElements, elMirror);\n\n if (idx >= 0) {\n hoverElements.splice(idx, 1);\n }\n\n el.__hoverMir = null;\n },\n clearHover: function (el) {\n var hoverElements = this._hoverElements;\n\n for (var i = 0; i < hoverElements.length; i++) {\n var from = hoverElements[i].__from;\n\n if (from) {\n from.__hoverMir = null;\n }\n }\n\n hoverElements.length = 0;\n },\n refreshHover: function () {\n var hoverElements = this._hoverElements;\n var len = hoverElements.length;\n var hoverLayer = this._hoverlayer;\n hoverLayer && hoverLayer.clear();\n\n if (!len) {\n return;\n }\n\n timsort(hoverElements, this.storage.displayableSortFunc); // Use a extream large zlevel\n // FIXME?\n\n if (!hoverLayer) {\n hoverLayer = this._hoverlayer = this.getLayer(HOVER_LAYER_ZLEVEL);\n }\n\n var scope = {};\n hoverLayer.ctx.save();\n\n for (var i = 0; i < len;) {\n var el = hoverElements[i];\n var originalEl = el.__from; // Original el is removed\n // PENDING\n\n if (!(originalEl && originalEl.__zr)) {\n hoverElements.splice(i, 1);\n originalEl.__hoverMir = null;\n len--;\n continue;\n }\n\n i++; // Use transform\n // FIXME style and shape ?\n\n if (!originalEl.invisible) {\n el.transform = originalEl.transform;\n el.invTransform = originalEl.invTransform;\n el.__clipPaths = originalEl.__clipPaths; // el.\n\n this._doPaintEl(el, hoverLayer, true, scope);\n }\n }\n\n hoverLayer.ctx.restore();\n },\n getHoverLayer: function () {\n return this.getLayer(HOVER_LAYER_ZLEVEL);\n },\n _paintList: function (list, paintAll, redrawId) {\n if (this._redrawId !== redrawId) {\n return;\n }\n\n paintAll = paintAll || false;\n\n this._updateLayerStatus(list);\n\n var finished = this._doPaintList(list, paintAll);\n\n if (this._needsManuallyCompositing) {\n this._compositeManually();\n }\n\n if (!finished) {\n var self = this;\n requestAnimationFrame(function () {\n self._paintList(list, paintAll, redrawId);\n });\n }\n },\n _compositeManually: function () {\n var ctx = this.getLayer(CANVAS_ZLEVEL).ctx;\n var width = this._domRoot.width;\n var height = this._domRoot.height;\n ctx.clearRect(0, 0, width, height); // PENDING, If only builtin layer?\n\n this.eachBuiltinLayer(function (layer) {\n if (layer.virtual) {\n ctx.drawImage(layer.dom, 0, 0, width, height);\n }\n });\n },\n _doPaintList: function (list, paintAll) {\n var layerList = [];\n\n for (var zi = 0; zi < this._zlevelList.length; zi++) {\n var zlevel = this._zlevelList[zi];\n var layer = this._layers[zlevel];\n\n if (layer.__builtin__ && layer !== this._hoverlayer && (layer.__dirty || paintAll)) {\n layerList.push(layer);\n }\n }\n\n var finished = true;\n\n for (var k = 0; k < layerList.length; k++) {\n var layer = layerList[k];\n var ctx = layer.ctx;\n var scope = {};\n ctx.save();\n var start = paintAll ? layer.__startIndex : layer.__drawIndex;\n var useTimer = !paintAll && layer.incremental && Date.now;\n var startTime = useTimer && Date.now();\n var clearColor = layer.zlevel === this._zlevelList[0] ? this._backgroundColor : null; // All elements in this layer are cleared.\n\n if (layer.__startIndex === layer.__endIndex) {\n layer.clear(false, clearColor);\n } else if (start === layer.__startIndex) {\n var firstEl = list[start];\n\n if (!firstEl.incremental || !firstEl.notClear || paintAll) {\n layer.clear(false, clearColor);\n }\n }\n\n if (start === -1) {\n console.error('For some unknown reason. drawIndex is -1');\n start = layer.__startIndex;\n }\n\n for (var i = start; i < layer.__endIndex; i++) {\n var el = list[i];\n\n this._doPaintEl(el, layer, paintAll, scope);\n\n el.__dirty = el.__dirtyText = false;\n\n if (useTimer) {\n // Date.now can be executed in 13,025,305 ops/second.\n var dTime = Date.now() - startTime; // Give 15 millisecond to draw.\n // The rest elements will be drawn in the next frame.\n\n if (dTime > 15) {\n break;\n }\n }\n }\n\n layer.__drawIndex = i;\n\n if (layer.__drawIndex < layer.__endIndex) {\n finished = false;\n }\n\n if (scope.prevElClipPaths) {\n // Needs restore the state. If last drawn element is in the clipping area.\n ctx.restore();\n }\n\n ctx.restore();\n }\n\n if (env.wxa) {\n // Flush for weixin application\n util.each(this._layers, function (layer) {\n if (layer && layer.ctx && layer.ctx.draw) {\n layer.ctx.draw();\n }\n });\n }\n\n return finished;\n },\n _doPaintEl: function (el, currentLayer, forcePaint, scope) {\n var ctx = currentLayer.ctx;\n var m = el.transform;\n\n if ((currentLayer.__dirty || forcePaint) && // Ignore invisible element\n !el.invisible // Ignore transparent element\n && el.style.opacity !== 0 // Ignore scale 0 element, in some environment like node-canvas\n // Draw a scale 0 element can cause all following draw wrong\n // And setTransform with scale 0 will cause set back transform failed.\n && !(m && !m[0] && !m[3]) // Ignore culled element\n && !(el.culling && isDisplayableCulled(el, this._width, this._height))) {\n var clipPaths = el.__clipPaths; // Optimize when clipping on group with several elements\n\n if (!scope.prevElClipPaths || isClipPathChanged(clipPaths, scope.prevElClipPaths)) {\n // If has previous clipping state, restore from it\n if (scope.prevElClipPaths) {\n currentLayer.ctx.restore();\n scope.prevElClipPaths = null; // Reset prevEl since context has been restored\n\n scope.prevEl = null;\n } // New clipping state\n\n\n if (clipPaths) {\n ctx.save();\n doClip(clipPaths, ctx);\n scope.prevElClipPaths = clipPaths;\n }\n }\n\n el.beforeBrush && el.beforeBrush(ctx);\n el.brush(ctx, scope.prevEl || null);\n scope.prevEl = el;\n el.afterBrush && el.afterBrush(ctx);\n }\n },\n\n /**\n * 获取 zlevel 所在层,如果不存在则会创建一个新的层\n * @param {number} zlevel\n * @param {boolean} virtual Virtual layer will not be inserted into dom.\n * @return {module:zrender/Layer}\n */\n getLayer: function (zlevel, virtual) {\n if (this._singleCanvas && !this._needsManuallyCompositing) {\n zlevel = CANVAS_ZLEVEL;\n }\n\n var layer = this._layers[zlevel];\n\n if (!layer) {\n // Create a new layer\n layer = new Layer('zr_' + zlevel, this, this.dpr);\n layer.zlevel = zlevel;\n layer.__builtin__ = true;\n\n if (this._layerConfig[zlevel]) {\n util.merge(layer, this._layerConfig[zlevel], true);\n }\n\n if (virtual) {\n layer.virtual = virtual;\n }\n\n this.insertLayer(zlevel, layer); // Context is created after dom inserted to document\n // Or excanvas will get 0px clientWidth and clientHeight\n\n layer.initContext();\n }\n\n return layer;\n },\n insertLayer: function (zlevel, layer) {\n var layersMap = this._layers;\n var zlevelList = this._zlevelList;\n var len = zlevelList.length;\n var prevLayer = null;\n var i = -1;\n var domRoot = this._domRoot;\n\n if (layersMap[zlevel]) {\n log('ZLevel ' + zlevel + ' has been used already');\n return;\n } // Check if is a valid layer\n\n\n if (!isLayerValid(layer)) {\n log('Layer of zlevel ' + zlevel + ' is not valid');\n return;\n }\n\n if (len > 0 && zlevel > zlevelList[0]) {\n for (i = 0; i < len - 1; i++) {\n if (zlevelList[i] < zlevel && zlevelList[i + 1] > zlevel) {\n break;\n }\n }\n\n prevLayer = layersMap[zlevelList[i]];\n }\n\n zlevelList.splice(i + 1, 0, zlevel);\n layersMap[zlevel] = layer; // Vitual layer will not directly show on the screen.\n // (It can be a WebGL layer and assigned to a ZImage element)\n // But it still under management of zrender.\n\n if (!layer.virtual) {\n if (prevLayer) {\n var prevDom = prevLayer.dom;\n\n if (prevDom.nextSibling) {\n domRoot.insertBefore(layer.dom, prevDom.nextSibling);\n } else {\n domRoot.appendChild(layer.dom);\n }\n } else {\n if (domRoot.firstChild) {\n domRoot.insertBefore(layer.dom, domRoot.firstChild);\n } else {\n domRoot.appendChild(layer.dom);\n }\n }\n }\n },\n // Iterate each layer\n eachLayer: function (cb, context) {\n var zlevelList = this._zlevelList;\n var z;\n var i;\n\n for (i = 0; i < zlevelList.length; i++) {\n z = zlevelList[i];\n cb.call(context, this._layers[z], z);\n }\n },\n // Iterate each buildin layer\n eachBuiltinLayer: function (cb, context) {\n var zlevelList = this._zlevelList;\n var layer;\n var z;\n var i;\n\n for (i = 0; i < zlevelList.length; i++) {\n z = zlevelList[i];\n layer = this._layers[z];\n\n if (layer.__builtin__) {\n cb.call(context, layer, z);\n }\n }\n },\n // Iterate each other layer except buildin layer\n eachOtherLayer: function (cb, context) {\n var zlevelList = this._zlevelList;\n var layer;\n var z;\n var i;\n\n for (i = 0; i < zlevelList.length; i++) {\n z = zlevelList[i];\n layer = this._layers[z];\n\n if (!layer.__builtin__) {\n cb.call(context, layer, z);\n }\n }\n },\n\n /**\n * 获取所有已创建的层\n * @param {Array.} [prevLayer]\n */\n getLayers: function () {\n return this._layers;\n },\n _updateLayerStatus: function (list) {\n this.eachBuiltinLayer(function (layer, z) {\n layer.__dirty = layer.__used = false;\n });\n\n function updatePrevLayer(idx) {\n if (prevLayer) {\n if (prevLayer.__endIndex !== idx) {\n prevLayer.__dirty = true;\n }\n\n prevLayer.__endIndex = idx;\n }\n }\n\n if (this._singleCanvas) {\n for (var i = 1; i < list.length; i++) {\n var el = list[i];\n\n if (el.zlevel !== list[i - 1].zlevel || el.incremental) {\n this._needsManuallyCompositing = true;\n break;\n }\n }\n }\n\n var prevLayer = null;\n var incrementalLayerCount = 0;\n\n for (var i = 0; i < list.length; i++) {\n var el = list[i];\n var zlevel = el.zlevel;\n var layer; // PENDING If change one incremental element style ?\n // TODO Where there are non-incremental elements between incremental elements.\n\n if (el.incremental) {\n layer = this.getLayer(zlevel + INCREMENTAL_INC, this._needsManuallyCompositing);\n layer.incremental = true;\n incrementalLayerCount = 1;\n } else {\n layer = this.getLayer(zlevel + (incrementalLayerCount > 0 ? EL_AFTER_INCREMENTAL_INC : 0), this._needsManuallyCompositing);\n }\n\n if (!layer.__builtin__) {\n log('ZLevel ' + zlevel + ' has been used by unkown layer ' + layer.id);\n }\n\n if (layer !== prevLayer) {\n layer.__used = true;\n\n if (layer.__startIndex !== i) {\n layer.__dirty = true;\n }\n\n layer.__startIndex = i;\n\n if (!layer.incremental) {\n layer.__drawIndex = i;\n } else {\n // Mark layer draw index needs to update.\n layer.__drawIndex = -1;\n }\n\n updatePrevLayer(i);\n prevLayer = layer;\n }\n\n if (el.__dirty) {\n layer.__dirty = true;\n\n if (layer.incremental && layer.__drawIndex < 0) {\n // Start draw from the first dirty element.\n layer.__drawIndex = i;\n }\n }\n }\n\n updatePrevLayer(i);\n this.eachBuiltinLayer(function (layer, z) {\n // Used in last frame but not in this frame. Needs clear\n if (!layer.__used && layer.getElementCount() > 0) {\n layer.__dirty = true;\n layer.__startIndex = layer.__endIndex = layer.__drawIndex = 0;\n } // For incremental layer. In case start index changed and no elements are dirty.\n\n\n if (layer.__dirty && layer.__drawIndex < 0) {\n layer.__drawIndex = layer.__startIndex;\n }\n });\n },\n\n /**\n * 清除hover层外所有内容\n */\n clear: function () {\n this.eachBuiltinLayer(this._clearLayer);\n return this;\n },\n _clearLayer: function (layer) {\n layer.clear();\n },\n setBackgroundColor: function (backgroundColor) {\n this._backgroundColor = backgroundColor;\n },\n\n /**\n * 修改指定zlevel的绘制参数\n *\n * @param {string} zlevel\n * @param {Object} config 配置对象\n * @param {string} [config.clearColor=0] 每次清空画布的颜色\n * @param {string} [config.motionBlur=false] 是否开启动态模糊\n * @param {number} [config.lastFrameAlpha=0.7]\n * 在开启动态模糊的时候使用,与上一帧混合的alpha值,值越大尾迹越明显\n */\n configLayer: function (zlevel, config) {\n if (config) {\n var layerConfig = this._layerConfig;\n\n if (!layerConfig[zlevel]) {\n layerConfig[zlevel] = config;\n } else {\n util.merge(layerConfig[zlevel], config, true);\n }\n\n for (var i = 0; i < this._zlevelList.length; i++) {\n var _zlevel = this._zlevelList[i];\n\n if (_zlevel === zlevel || _zlevel === zlevel + EL_AFTER_INCREMENTAL_INC) {\n var layer = this._layers[_zlevel];\n util.merge(layer, layerConfig[zlevel], true);\n }\n }\n }\n },\n\n /**\n * 删除指定层\n * @param {number} zlevel 层所在的zlevel\n */\n delLayer: function (zlevel) {\n var layers = this._layers;\n var zlevelList = this._zlevelList;\n var layer = layers[zlevel];\n\n if (!layer) {\n return;\n }\n\n layer.dom.parentNode.removeChild(layer.dom);\n delete layers[zlevel];\n zlevelList.splice(util.indexOf(zlevelList, zlevel), 1);\n },\n\n /**\n * 区域大小变化后重绘\n */\n resize: function (width, height) {\n if (!this._domRoot.style) {\n // Maybe in node or worker\n if (width == null || height == null) {\n return;\n }\n\n this._width = width;\n this._height = height;\n this.getLayer(CANVAS_ZLEVEL).resize(width, height);\n } else {\n var domRoot = this._domRoot; // FIXME Why ?\n\n domRoot.style.display = 'none'; // Save input w/h\n\n var opts = this._opts;\n width != null && (opts.width = width);\n height != null && (opts.height = height);\n width = this._getSize(0);\n height = this._getSize(1);\n domRoot.style.display = ''; // 优化没有实际改变的resize\n\n if (this._width !== width || height !== this._height) {\n domRoot.style.width = width + 'px';\n domRoot.style.height = height + 'px';\n\n for (var id in this._layers) {\n if (this._layers.hasOwnProperty(id)) {\n this._layers[id].resize(width, height);\n }\n }\n\n util.each(this._progressiveLayers, function (layer) {\n layer.resize(width, height);\n });\n this.refresh(true);\n }\n\n this._width = width;\n this._height = height;\n }\n\n return this;\n },\n\n /**\n * 清除单独的一个层\n * @param {number} zlevel\n */\n clearLayer: function (zlevel) {\n var layer = this._layers[zlevel];\n\n if (layer) {\n layer.clear();\n }\n },\n\n /**\n * 释放\n */\n dispose: function () {\n this.root.innerHTML = '';\n this.root = this.storage = this._domRoot = this._layers = null;\n },\n\n /**\n * Get canvas which has all thing rendered\n * @param {Object} opts\n * @param {string} [opts.backgroundColor]\n * @param {number} [opts.pixelRatio]\n */\n getRenderedCanvas: function (opts) {\n opts = opts || {};\n\n if (this._singleCanvas && !this._compositeManually) {\n return this._layers[CANVAS_ZLEVEL].dom;\n }\n\n var imageLayer = new Layer('image', this, opts.pixelRatio || this.dpr);\n imageLayer.initContext();\n imageLayer.clear(false, opts.backgroundColor || this._backgroundColor);\n\n if (opts.pixelRatio <= this.dpr) {\n this.refresh();\n var width = imageLayer.dom.width;\n var height = imageLayer.dom.height;\n var ctx = imageLayer.ctx;\n this.eachLayer(function (layer) {\n if (layer.__builtin__) {\n ctx.drawImage(layer.dom, 0, 0, width, height);\n } else if (layer.renderToCanvas) {\n imageLayer.ctx.save();\n layer.renderToCanvas(imageLayer.ctx);\n imageLayer.ctx.restore();\n }\n });\n } else {\n // PENDING, echarts-gl and incremental rendering.\n var scope = {};\n var displayList = this.storage.getDisplayList(true);\n\n for (var i = 0; i < displayList.length; i++) {\n var el = displayList[i];\n\n this._doPaintEl(el, imageLayer, true, scope);\n }\n }\n\n return imageLayer.dom;\n },\n\n /**\n * 获取绘图区域宽度\n */\n getWidth: function () {\n return this._width;\n },\n\n /**\n * 获取绘图区域高度\n */\n getHeight: function () {\n return this._height;\n },\n _getSize: function (whIdx) {\n var opts = this._opts;\n var wh = ['width', 'height'][whIdx];\n var cwh = ['clientWidth', 'clientHeight'][whIdx];\n var plt = ['paddingLeft', 'paddingTop'][whIdx];\n var prb = ['paddingRight', 'paddingBottom'][whIdx];\n\n if (opts[wh] != null && opts[wh] !== 'auto') {\n return parseFloat(opts[wh]);\n }\n\n var root = this.root; // IE8 does not support getComputedStyle, but it use VML.\n\n var stl = document.defaultView.getComputedStyle(root);\n return (root[cwh] || parseInt10(stl[wh]) || parseInt10(root.style[wh])) - (parseInt10(stl[plt]) || 0) - (parseInt10(stl[prb]) || 0) | 0;\n },\n pathToImage: function (path, dpr) {\n dpr = dpr || this.dpr;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n var rect = path.getBoundingRect();\n var style = path.style;\n var shadowBlurSize = style.shadowBlur * dpr;\n var shadowOffsetX = style.shadowOffsetX * dpr;\n var shadowOffsetY = style.shadowOffsetY * dpr;\n var lineWidth = style.hasStroke() ? style.lineWidth : 0;\n var leftMargin = Math.max(lineWidth / 2, -shadowOffsetX + shadowBlurSize);\n var rightMargin = Math.max(lineWidth / 2, shadowOffsetX + shadowBlurSize);\n var topMargin = Math.max(lineWidth / 2, -shadowOffsetY + shadowBlurSize);\n var bottomMargin = Math.max(lineWidth / 2, shadowOffsetY + shadowBlurSize);\n var width = rect.width + leftMargin + rightMargin;\n var height = rect.height + topMargin + bottomMargin;\n canvas.width = width * dpr;\n canvas.height = height * dpr;\n ctx.scale(dpr, dpr);\n ctx.clearRect(0, 0, width, height);\n ctx.dpr = dpr;\n var pathTransform = {\n position: path.position,\n rotation: path.rotation,\n scale: path.scale\n };\n path.position = [leftMargin - rect.x, topMargin - rect.y];\n path.rotation = 0;\n path.scale = [1, 1];\n path.updateTransform();\n\n if (path) {\n path.brush(ctx);\n }\n\n var ImageShape = Image;\n var imgShape = new ImageShape({\n style: {\n x: 0,\n y: 0,\n image: canvas\n }\n });\n\n if (pathTransform.position != null) {\n imgShape.position = path.position = pathTransform.position;\n }\n\n if (pathTransform.rotation != null) {\n imgShape.rotation = path.rotation = pathTransform.rotation;\n }\n\n if (pathTransform.scale != null) {\n imgShape.scale = path.scale = pathTransform.scale;\n }\n\n return imgShape;\n }\n};\nvar _default = Painter;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar zrColor = require(\"zrender/lib/tool/color\");\n\nvar _number = require(\"../util/number\");\n\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*/\nvar each = zrUtil.each;\nvar isObject = zrUtil.isObject;\nvar CATEGORY_DEFAULT_VISUAL_INDEX = -1;\n/**\n * @param {Object} option\n * @param {string} [option.type] See visualHandlers.\n * @param {string} [option.mappingMethod] 'linear' or 'piecewise' or 'category' or 'fixed'\n * @param {Array.=} [option.dataExtent] [minExtent, maxExtent],\n * required when mappingMethod is 'linear'\n * @param {Array.=} [option.pieceList] [\n * {value: someValue},\n * {interval: [min1, max1], visual: {...}},\n * {interval: [min2, max2]}\n * ],\n * required when mappingMethod is 'piecewise'.\n * Visual for only each piece can be specified.\n * @param {Array.=} [option.categories] ['cate1', 'cate2']\n * required when mappingMethod is 'category'.\n * If no option.categories, categories is set\n * as [0, 1, 2, ...].\n * @param {boolean} [option.loop=false] Whether loop mapping when mappingMethod is 'category'.\n * @param {(Array|Object|*)} [option.visual] Visual data.\n * when mappingMethod is 'category',\n * visual data can be array or object\n * (like: {cate1: '#222', none: '#fff'})\n * or primary types (which represents\n * defualt category visual), otherwise visual\n * can be array or primary (which will be\n * normalized to array).\n *\n */\n\nvar VisualMapping = function (option) {\n var mappingMethod = option.mappingMethod;\n var visualType = option.type;\n /**\n * @readOnly\n * @type {Object}\n */\n\n var thisOption = this.option = zrUtil.clone(option);\n /**\n * @readOnly\n * @type {string}\n */\n\n this.type = visualType;\n /**\n * @readOnly\n * @type {string}\n */\n\n this.mappingMethod = mappingMethod;\n /**\n * @private\n * @type {Function}\n */\n\n this._normalizeData = normalizers[mappingMethod];\n var visualHandler = visualHandlers[visualType];\n /**\n * @public\n * @type {Function}\n */\n\n this.applyVisual = visualHandler.applyVisual;\n /**\n * @public\n * @type {Function}\n */\n\n this.getColorMapper = visualHandler.getColorMapper;\n /**\n * @private\n * @type {Function}\n */\n\n this._doMap = visualHandler._doMap[mappingMethod];\n\n if (mappingMethod === 'piecewise') {\n normalizeVisualRange(thisOption);\n preprocessForPiecewise(thisOption);\n } else if (mappingMethod === 'category') {\n thisOption.categories ? preprocessForSpecifiedCategory(thisOption) // categories is ordinal when thisOption.categories not specified,\n // which need no more preprocess except normalize visual.\n : normalizeVisualRange(thisOption, true);\n } else {\n // mappingMethod === 'linear' or 'fixed'\n zrUtil.assert(mappingMethod !== 'linear' || thisOption.dataExtent);\n normalizeVisualRange(thisOption);\n }\n};\n\nVisualMapping.prototype = {\n constructor: VisualMapping,\n mapValueToVisual: function (value) {\n var normalized = this._normalizeData(value);\n\n return this._doMap(normalized, value);\n },\n getNormalizer: function () {\n return zrUtil.bind(this._normalizeData, this);\n }\n};\nvar visualHandlers = VisualMapping.visualHandlers = {\n color: {\n applyVisual: makeApplyVisual('color'),\n\n /**\n * Create a mapper function\n * @return {Function}\n */\n getColorMapper: function () {\n var thisOption = this.option;\n return zrUtil.bind(thisOption.mappingMethod === 'category' ? function (value, isNormalized) {\n !isNormalized && (value = this._normalizeData(value));\n return doMapCategory.call(this, value);\n } : function (value, isNormalized, out) {\n // If output rgb array\n // which will be much faster and useful in pixel manipulation\n var returnRGBArray = !!out;\n !isNormalized && (value = this._normalizeData(value));\n out = zrColor.fastLerp(value, thisOption.parsedVisual, out);\n return returnRGBArray ? out : zrColor.stringify(out, 'rgba');\n }, this);\n },\n _doMap: {\n linear: function (normalized) {\n return zrColor.stringify(zrColor.fastLerp(normalized, this.option.parsedVisual), 'rgba');\n },\n category: doMapCategory,\n piecewise: function (normalized, value) {\n var result = getSpecifiedVisual.call(this, value);\n\n if (result == null) {\n result = zrColor.stringify(zrColor.fastLerp(normalized, this.option.parsedVisual), 'rgba');\n }\n\n return result;\n },\n fixed: doMapFixed\n }\n },\n colorHue: makePartialColorVisualHandler(function (color, value) {\n return zrColor.modifyHSL(color, value);\n }),\n colorSaturation: makePartialColorVisualHandler(function (color, value) {\n return zrColor.modifyHSL(color, null, value);\n }),\n colorLightness: makePartialColorVisualHandler(function (color, value) {\n return zrColor.modifyHSL(color, null, null, value);\n }),\n colorAlpha: makePartialColorVisualHandler(function (color, value) {\n return zrColor.modifyAlpha(color, value);\n }),\n opacity: {\n applyVisual: makeApplyVisual('opacity'),\n _doMap: makeDoMap([0, 1])\n },\n liftZ: {\n applyVisual: makeApplyVisual('liftZ'),\n _doMap: {\n linear: doMapFixed,\n category: doMapFixed,\n piecewise: doMapFixed,\n fixed: doMapFixed\n }\n },\n symbol: {\n applyVisual: function (value, getter, setter) {\n var symbolCfg = this.mapValueToVisual(value);\n\n if (zrUtil.isString(symbolCfg)) {\n setter('symbol', symbolCfg);\n } else if (isObject(symbolCfg)) {\n for (var name in symbolCfg) {\n if (symbolCfg.hasOwnProperty(name)) {\n setter(name, symbolCfg[name]);\n }\n }\n }\n },\n _doMap: {\n linear: doMapToArray,\n category: doMapCategory,\n piecewise: function (normalized, value) {\n var result = getSpecifiedVisual.call(this, value);\n\n if (result == null) {\n result = doMapToArray.call(this, normalized);\n }\n\n return result;\n },\n fixed: doMapFixed\n }\n },\n symbolSize: {\n applyVisual: makeApplyVisual('symbolSize'),\n _doMap: makeDoMap([0, 1])\n }\n};\n\nfunction preprocessForPiecewise(thisOption) {\n var pieceList = thisOption.pieceList;\n thisOption.hasSpecialVisual = false;\n zrUtil.each(pieceList, function (piece, index) {\n piece.originIndex = index; // piece.visual is \"result visual value\" but not\n // a visual range, so it does not need to be normalized.\n\n if (piece.visual != null) {\n thisOption.hasSpecialVisual = true;\n }\n });\n}\n\nfunction preprocessForSpecifiedCategory(thisOption) {\n // Hash categories.\n var categories = thisOption.categories;\n var visual = thisOption.visual;\n var categoryMap = thisOption.categoryMap = {};\n each(categories, function (cate, index) {\n categoryMap[cate] = index;\n }); // Process visual map input.\n\n if (!zrUtil.isArray(visual)) {\n var visualArr = [];\n\n if (zrUtil.isObject(visual)) {\n each(visual, function (v, cate) {\n var index = categoryMap[cate];\n visualArr[index != null ? index : CATEGORY_DEFAULT_VISUAL_INDEX] = v;\n });\n } else {\n // Is primary type, represents default visual.\n visualArr[CATEGORY_DEFAULT_VISUAL_INDEX] = visual;\n }\n\n visual = setVisualToOption(thisOption, visualArr);\n } // Remove categories that has no visual,\n // then we can mapping them to CATEGORY_DEFAULT_VISUAL_INDEX.\n\n\n for (var i = categories.length - 1; i >= 0; i--) {\n if (visual[i] == null) {\n delete categoryMap[categories[i]];\n categories.pop();\n }\n }\n}\n\nfunction normalizeVisualRange(thisOption, isCategory) {\n var visual = thisOption.visual;\n var visualArr = [];\n\n if (zrUtil.isObject(visual)) {\n each(visual, function (v) {\n visualArr.push(v);\n });\n } else if (visual != null) {\n visualArr.push(visual);\n }\n\n var doNotNeedPair = {\n color: 1,\n symbol: 1\n };\n\n if (!isCategory && visualArr.length === 1 && !doNotNeedPair.hasOwnProperty(thisOption.type)) {\n // Do not care visualArr.length === 0, which is illegal.\n visualArr[1] = visualArr[0];\n }\n\n setVisualToOption(thisOption, visualArr);\n}\n\nfunction makePartialColorVisualHandler(applyValue) {\n return {\n applyVisual: function (value, getter, setter) {\n value = this.mapValueToVisual(value); // Must not be array value\n\n setter('color', applyValue(getter('color'), value));\n },\n _doMap: makeDoMap([0, 1])\n };\n}\n\nfunction doMapToArray(normalized) {\n var visual = this.option.visual;\n return visual[Math.round(linearMap(normalized, [0, 1], [0, visual.length - 1], true))] || {};\n}\n\nfunction makeApplyVisual(visualType) {\n return function (value, getter, setter) {\n setter(visualType, this.mapValueToVisual(value));\n };\n}\n\nfunction doMapCategory(normalized) {\n var visual = this.option.visual;\n return visual[this.option.loop && normalized !== CATEGORY_DEFAULT_VISUAL_INDEX ? normalized % visual.length : normalized];\n}\n\nfunction doMapFixed() {\n return this.option.visual[0];\n}\n\nfunction makeDoMap(sourceExtent) {\n return {\n linear: function (normalized) {\n return linearMap(normalized, sourceExtent, this.option.visual, true);\n },\n category: doMapCategory,\n piecewise: function (normalized, value) {\n var result = getSpecifiedVisual.call(this, value);\n\n if (result == null) {\n result = linearMap(normalized, sourceExtent, this.option.visual, true);\n }\n\n return result;\n },\n fixed: doMapFixed\n };\n}\n\nfunction getSpecifiedVisual(value) {\n var thisOption = this.option;\n var pieceList = thisOption.pieceList;\n\n if (thisOption.hasSpecialVisual) {\n var pieceIndex = VisualMapping.findPieceIndex(value, pieceList);\n var piece = pieceList[pieceIndex];\n\n if (piece && piece.visual) {\n return piece.visual[this.type];\n }\n }\n}\n\nfunction setVisualToOption(thisOption, visualArr) {\n thisOption.visual = visualArr;\n\n if (thisOption.type === 'color') {\n thisOption.parsedVisual = zrUtil.map(visualArr, function (item) {\n return zrColor.parse(item);\n });\n }\n\n return visualArr;\n}\n/**\n * Normalizers by mapping methods.\n */\n\n\nvar normalizers = {\n linear: function (value) {\n return linearMap(value, this.option.dataExtent, [0, 1], true);\n },\n piecewise: function (value) {\n var pieceList = this.option.pieceList;\n var pieceIndex = VisualMapping.findPieceIndex(value, pieceList, true);\n\n if (pieceIndex != null) {\n return linearMap(pieceIndex, [0, pieceList.length - 1], [0, 1], true);\n }\n },\n category: function (value) {\n var index = this.option.categories ? this.option.categoryMap[value] : value; // ordinal\n\n return index == null ? CATEGORY_DEFAULT_VISUAL_INDEX : index;\n },\n fixed: zrUtil.noop\n};\n/**\n * List available visual types.\n *\n * @public\n * @return {Array.}\n */\n\nVisualMapping.listVisualTypes = function () {\n var visualTypes = [];\n zrUtil.each(visualHandlers, function (handler, key) {\n visualTypes.push(key);\n });\n return visualTypes;\n};\n/**\n * @public\n */\n\n\nVisualMapping.addVisualHandler = function (name, handler) {\n visualHandlers[name] = handler;\n};\n/**\n * @public\n */\n\n\nVisualMapping.isValidType = function (visualType) {\n return visualHandlers.hasOwnProperty(visualType);\n};\n/**\n * Convinent method.\n * Visual can be Object or Array or primary type.\n *\n * @public\n */\n\n\nVisualMapping.eachVisual = function (visual, callback, context) {\n if (zrUtil.isObject(visual)) {\n zrUtil.each(visual, callback, context);\n } else {\n callback.call(context, visual);\n }\n};\n\nVisualMapping.mapVisual = function (visual, callback, context) {\n var isPrimary;\n var newVisual = zrUtil.isArray(visual) ? [] : zrUtil.isObject(visual) ? {} : (isPrimary = true, null);\n VisualMapping.eachVisual(visual, function (v, key) {\n var newVal = callback.call(context, v, key);\n isPrimary ? newVisual = newVal : newVisual[key] = newVal;\n });\n return newVisual;\n};\n/**\n * @public\n * @param {Object} obj\n * @return {Object} new object containers visual values.\n * If no visuals, return null.\n */\n\n\nVisualMapping.retrieveVisuals = function (obj) {\n var ret = {};\n var hasVisual;\n obj && each(visualHandlers, function (h, visualType) {\n if (obj.hasOwnProperty(visualType)) {\n ret[visualType] = obj[visualType];\n hasVisual = true;\n }\n });\n return hasVisual ? ret : null;\n};\n/**\n * Give order to visual types, considering colorSaturation, colorAlpha depends on color.\n *\n * @public\n * @param {(Object|Array)} visualTypes If Object, like: {color: ..., colorSaturation: ...}\n * IF Array, like: ['color', 'symbol', 'colorSaturation']\n * @return {Array.} Sorted visual types.\n */\n\n\nVisualMapping.prepareVisualTypes = function (visualTypes) {\n if (isObject(visualTypes)) {\n var types = [];\n each(visualTypes, function (item, type) {\n types.push(type);\n });\n visualTypes = types;\n } else if (zrUtil.isArray(visualTypes)) {\n visualTypes = visualTypes.slice();\n } else {\n return [];\n }\n\n visualTypes.sort(function (type1, type2) {\n // color should be front of colorSaturation, colorAlpha, ...\n // symbol and symbolSize do not matter.\n return type2 === 'color' && type1 !== 'color' && type1.indexOf('color') === 0 ? 1 : -1;\n });\n return visualTypes;\n};\n/**\n * 'color', 'colorSaturation', 'colorAlpha', ... are depends on 'color'.\n * Other visuals are only depends on themself.\n *\n * @public\n * @param {string} visualType1\n * @param {string} visualType2\n * @return {boolean}\n */\n\n\nVisualMapping.dependsOn = function (visualType1, visualType2) {\n return visualType2 === 'color' ? !!(visualType1 && visualType1.indexOf(visualType2) === 0) : visualType1 === visualType2;\n};\n/**\n * @param {number} value\n * @param {Array.} pieceList [{value: ..., interval: [min, max]}, ...]\n * Always from small to big.\n * @param {boolean} [findClosestWhenOutside=false]\n * @return {number} index\n */\n\n\nVisualMapping.findPieceIndex = function (value, pieceList, findClosestWhenOutside) {\n var possibleI;\n var abs = Infinity; // value has the higher priority.\n\n for (var i = 0, len = pieceList.length; i < len; i++) {\n var pieceValue = pieceList[i].value;\n\n if (pieceValue != null) {\n if (pieceValue === value // FIXME\n // It is supposed to compare value according to value type of dimension,\n // but currently value type can exactly be string or number.\n // Compromise for numeric-like string (like '12'), especially\n // in the case that visualMap.categories is ['22', '33'].\n || typeof pieceValue === 'string' && pieceValue === value + '') {\n return i;\n }\n\n findClosestWhenOutside && updatePossible(pieceValue, i);\n }\n }\n\n for (var i = 0, len = pieceList.length; i < len; i++) {\n var piece = pieceList[i];\n var interval = piece.interval;\n var close = piece.close;\n\n if (interval) {\n if (interval[0] === -Infinity) {\n if (littleThan(close[1], value, interval[1])) {\n return i;\n }\n } else if (interval[1] === Infinity) {\n if (littleThan(close[0], interval[0], value)) {\n return i;\n }\n } else if (littleThan(close[0], interval[0], value) && littleThan(close[1], value, interval[1])) {\n return i;\n }\n\n findClosestWhenOutside && updatePossible(interval[0], i);\n findClosestWhenOutside && updatePossible(interval[1], i);\n }\n }\n\n if (findClosestWhenOutside) {\n return value === Infinity ? pieceList.length - 1 : value === -Infinity ? 0 : possibleI;\n }\n\n function updatePossible(val, index) {\n var newAbs = Math.abs(val - value);\n\n if (newAbs < abs) {\n abs = newAbs;\n possibleI = index;\n }\n }\n};\n\nfunction littleThan(close, a, b) {\n return close ? a <= b : a < b;\n}\n\nvar _default = VisualMapping;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar Tree = require(\"../../data/Tree\");\n\nvar _treeHelper = require(\"../helper/treeHelper\");\n\nvar wrapTreePathInfo = _treeHelper.wrapTreePathInfo;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = SeriesModel.extend({\n type: 'series.sunburst',\n\n /**\n * @type {module:echarts/data/Tree~Node}\n */\n _viewRoot: null,\n getInitialData: function (option, ecModel) {\n // Create a virtual root.\n var root = {\n name: option.name,\n children: option.data\n };\n completeTreeValue(root);\n var 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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar visualSolution = require(\"../../visual/visualSolution\");\n\nvar selector = require(\"./selector\");\n\nvar throttleUtil = require(\"../../util/throttle\");\n\nvar BrushTargetManager = require(\"../helper/BrushTargetManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar STATE_LIST = ['inBrush', 'outOfBrush'];\nvar DISPATCH_METHOD = '__ecBrushSelect';\nvar DISPATCH_FLAG = '__ecInBrushSelectEvent';\nvar PRIORITY_BRUSH = echarts.PRIORITY.VISUAL.BRUSH;\n/**\n * Layout for visual, the priority higher than other layout, and before brush visual.\n */\n\necharts.registerLayout(PRIORITY_BRUSH, function (ecModel, api, payload) {\n ecModel.eachComponent({\n mainType: 'brush'\n }, function (brushModel) {\n payload && payload.type === 'takeGlobalCursor' && brushModel.setBrushOption(payload.key === 'brush' ? payload.brushOption : {\n brushType: false\n });\n var brushTargetManager = brushModel.brushTargetManager = new BrushTargetManager(brushModel.option, ecModel);\n brushTargetManager.setInputRanges(brushModel.areas, ecModel);\n });\n});\n/**\n * Register the visual encoding if this modules required.\n */\n\necharts.registerVisual(PRIORITY_BRUSH, function (ecModel, api, payload) {\n var brushSelected = [];\n var throttleType;\n var throttleDelay;\n ecModel.eachComponent({\n mainType: 'brush'\n }, function (brushModel, brushIndex) {\n var thisBrushSelected = {\n brushId: brushModel.id,\n brushIndex: brushIndex,\n brushName: brushModel.name,\n areas: zrUtil.clone(brushModel.areas),\n selected: []\n }; // Every brush component exists in event params, convenient\n // for user to find by index.\n\n brushSelected.push(thisBrushSelected);\n var brushOption = brushModel.option;\n var brushLink = brushOption.brushLink;\n var linkedSeriesMap = [];\n var selectedDataIndexForLink = [];\n var rangeInfoBySeries = [];\n var hasBrushExists = 0;\n\n if (!brushIndex) {\n // Only the first throttle setting works.\n throttleType = brushOption.throttleType;\n throttleDelay = brushOption.throttleDelay;\n } // Add boundingRect and selectors to range.\n\n\n var areas = zrUtil.map(brushModel.areas, function (area) {\n return bindSelector(zrUtil.defaults({\n boundingRect: boundingRectBuilders[area.brushType](area)\n }, area));\n });\n var visualMappings = visualSolution.createVisualMappings(brushModel.option, STATE_LIST, function (mappingOption) {\n mappingOption.mappingMethod = 'fixed';\n });\n zrUtil.isArray(brushLink) && zrUtil.each(brushLink, function (seriesIndex) {\n linkedSeriesMap[seriesIndex] = 1;\n });\n\n function linkOthers(seriesIndex) {\n return brushLink === 'all' || linkedSeriesMap[seriesIndex];\n } // If no supported brush or no brush on the series,\n // all visuals should be in original state.\n\n\n function brushed(rangeInfoList) {\n return !!rangeInfoList.length;\n }\n /**\n * Logic for each series: (If the logic has to be modified one day, do it carefully!)\n *\n * ( brushed ┬ && ┬hasBrushExist ┬ && linkOthers ) => StepA: ┬record, ┬ StepB: ┬visualByRecord.\n * !brushed┘ ├hasBrushExist ┤ └nothing,┘ ├visualByRecord.\n * └!hasBrushExist┘ └nothing.\n * ( !brushed && ┬hasBrushExist ┬ && linkOthers ) => StepA: nothing, StepB: ┬visualByRecord.\n * └!hasBrushExist┘ └nothing.\n * ( brushed ┬ && !linkOthers ) => StepA: nothing, StepB: ┬visualByCheck.\n * !brushed┘ └nothing.\n * ( !brushed && !linkOthers ) => StepA: nothing, StepB: nothing.\n */\n // Step A\n\n\n ecModel.eachSeries(function (seriesModel, seriesIndex) {\n var rangeInfoList = rangeInfoBySeries[seriesIndex] = [];\n seriesModel.subType === 'parallel' ? stepAParallel(seriesModel, seriesIndex, rangeInfoList) : stepAOthers(seriesModel, seriesIndex, rangeInfoList);\n });\n\n function stepAParallel(seriesModel, seriesIndex) {\n var coordSys = seriesModel.coordinateSystem;\n hasBrushExists |= coordSys.hasAxisBrushed();\n linkOthers(seriesIndex) && coordSys.eachActiveState(seriesModel.getData(), function (activeState, dataIndex) {\n activeState === 'active' && (selectedDataIndexForLink[dataIndex] = 1);\n });\n }\n\n function stepAOthers(seriesModel, seriesIndex, rangeInfoList) {\n var selectorsByBrushType = getSelectorsByBrushType(seriesModel);\n\n if (!selectorsByBrushType || brushModelNotControll(brushModel, seriesIndex)) {\n return;\n }\n\n zrUtil.each(areas, function (area) {\n selectorsByBrushType[area.brushType] && brushModel.brushTargetManager.controlSeries(area, seriesModel, ecModel) && rangeInfoList.push(area);\n hasBrushExists |= brushed(rangeInfoList);\n });\n\n if (linkOthers(seriesIndex) && brushed(rangeInfoList)) {\n var data = seriesModel.getData();\n data.each(function (dataIndex) {\n if (checkInRange(selectorsByBrushType, rangeInfoList, data, dataIndex)) {\n selectedDataIndexForLink[dataIndex] = 1;\n }\n });\n }\n } // Step B\n\n\n ecModel.eachSeries(function (seriesModel, seriesIndex) {\n var seriesBrushSelected = {\n seriesId: seriesModel.id,\n seriesIndex: seriesIndex,\n seriesName: seriesModel.name,\n dataIndex: []\n }; // Every series exists in event params, convenient\n // for user to find series by seriesIndex.\n\n thisBrushSelected.selected.push(seriesBrushSelected);\n var selectorsByBrushType = getSelectorsByBrushType(seriesModel);\n var rangeInfoList = rangeInfoBySeries[seriesIndex];\n var data = seriesModel.getData();\n var getValueState = linkOthers(seriesIndex) ? function (dataIndex) {\n return selectedDataIndexForLink[dataIndex] ? (seriesBrushSelected.dataIndex.push(data.getRawIndex(dataIndex)), 'inBrush') : 'outOfBrush';\n } : function (dataIndex) {\n return checkInRange(selectorsByBrushType, rangeInfoList, data, dataIndex) ? (seriesBrushSelected.dataIndex.push(data.getRawIndex(dataIndex)), 'inBrush') : 'outOfBrush';\n }; // If no supported brush or no brush, all visuals are in original state.\n\n (linkOthers(seriesIndex) ? hasBrushExists : brushed(rangeInfoList)) && visualSolution.applyVisual(STATE_LIST, visualMappings, data, getValueState);\n });\n });\n dispatchAction(api, throttleType, throttleDelay, brushSelected, payload);\n});\n\nfunction dispatchAction(api, throttleType, throttleDelay, brushSelected, payload) {\n // This event will not be triggered when `setOpion`, otherwise dead lock may\n // triggered when do `setOption` in event listener, which we do not find\n // satisfactory way to solve yet. Some considered resolutions:\n // (a) Diff with prevoius selected data ant only trigger event when changed.\n // But store previous data and diff precisely (i.e., not only by dataIndex, but\n // also detect value changes in selected data) might bring complexity or fragility.\n // (b) Use spectial param like `silent` to suppress event triggering.\n // But such kind of volatile param may be weird in `setOption`.\n if (!payload) {\n return;\n }\n\n var zr = api.getZr();\n\n if (zr[DISPATCH_FLAG]) {\n return;\n }\n\n if (!zr[DISPATCH_METHOD]) {\n zr[DISPATCH_METHOD] = doDispatch;\n }\n\n var fn = throttleUtil.createOrUpdate(zr, DISPATCH_METHOD, throttleDelay, throttleType);\n fn(api, brushSelected);\n}\n\nfunction doDispatch(api, brushSelected) {\n if (!api.isDisposed()) {\n var zr = api.getZr();\n zr[DISPATCH_FLAG] = true;\n api.dispatchAction({\n type: 'brushSelect',\n batch: brushSelected\n });\n zr[DISPATCH_FLAG] = false;\n }\n}\n\nfunction checkInRange(selectorsByBrushType, rangeInfoList, data, dataIndex) {\n for (var i = 0, len = rangeInfoList.length; i < len; i++) {\n var area = rangeInfoList[i];\n\n if (selectorsByBrushType[area.brushType](dataIndex, data, area.selectors, area)) {\n return true;\n }\n }\n}\n\nfunction getSelectorsByBrushType(seriesModel) {\n var brushSelector = seriesModel.brushSelector;\n\n if (zrUtil.isString(brushSelector)) {\n var sels = [];\n zrUtil.each(selector, function (selectorsByElementType, brushType) {\n sels[brushType] = function (dataIndex, data, selectors, area) {\n var itemLayout = data.getItemLayout(dataIndex);\n return selectorsByElementType[brushSelector](itemLayout, selectors, area);\n };\n });\n return sels;\n } else if (zrUtil.isFunction(brushSelector)) {\n var bSelector = {};\n zrUtil.each(selector, function (sel, brushType) {\n bSelector[brushType] = brushSelector;\n });\n return bSelector;\n }\n\n return brushSelector;\n}\n\nfunction brushModelNotControll(brushModel, seriesIndex) {\n var seriesIndices = brushModel.option.seriesIndex;\n return seriesIndices != null && seriesIndices !== 'all' && (zrUtil.isArray(seriesIndices) ? zrUtil.indexOf(seriesIndices, seriesIndex) < 0 : seriesIndex !== seriesIndices);\n}\n\nfunction bindSelector(area) {\n var selectors = area.selectors = {};\n zrUtil.each(selector[area.brushType], function (selFn, elType) {\n // Do not use function binding or curry for performance.\n selectors[elType] = function (itemLayout) {\n return selFn(itemLayout, selectors, area);\n };\n });\n return area;\n}\n\nvar boundingRectBuilders = {\n lineX: zrUtil.noop,\n lineY: zrUtil.noop,\n rect: function (area) {\n return getBoundingRectFromMinMax(area.range);\n },\n polygon: function (area) {\n var minMax;\n var range = area.range;\n\n for (var i = 0, len = range.length; i < len; i++) {\n minMax = minMax || [[Infinity, -Infinity], [Infinity, -Infinity]];\n var rg = range[i];\n rg[0] < minMax[0][0] && (minMax[0][0] = rg[0]);\n rg[0] > minMax[0][1] && (minMax[0][1] = rg[0]);\n rg[1] < minMax[1][0] && (minMax[1][0] = rg[1]);\n rg[1] > minMax[1][1] && (minMax[1][1] = rg[1]);\n }\n\n return minMax && getBoundingRectFromMinMax(minMax);\n }\n};\n\nfunction getBoundingRectFromMinMax(minMax) {\n return new BoundingRect(minMax[0][0], minMax[1][0], minMax[0][1] - minMax[0][0], minMax[1][1] - minMax[1][0]);\n}","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {module:echarts/coord/View} view\n * @param {Object} payload\n * @param {Object} [zoomLimit]\n */\nfunction updateCenterAndZoom(view, payload, zoomLimit) {\n var previousZoom = view.getZoom();\n var center = view.getCenter();\n var zoom = payload.zoom;\n var point = view.dataToPoint(center);\n\n if (payload.dx != null && payload.dy != null) {\n point[0] -= payload.dx;\n point[1] -= payload.dy;\n var center = view.pointToData(point);\n view.setCenter(center);\n }\n\n if (zoom != null) {\n if (zoomLimit) {\n var zoomMin = zoomLimit.min || 0;\n var zoomMax = zoomLimit.max || Infinity;\n zoom = Math.max(Math.min(previousZoom * zoom, zoomMax), zoomMin) / previousZoom;\n } // Zoom on given point(originX, originY)\n\n\n view.scale[0] *= zoom;\n view.scale[1] *= zoom;\n var position = view.position;\n var fixX = (payload.originX - position[0]) * (zoom - 1);\n var fixY = (payload.originY - position[1]) * (zoom - 1);\n position[0] -= fixX;\n position[1] -= fixY;\n view.updateTransform(); // Get the new center\n\n var center = view.pointToData(point);\n view.setCenter(center);\n view.setZoom(zoom * previousZoom);\n }\n\n return {\n center: view.getCenter(),\n zoom: view.getZoom()\n };\n}\n\nexports.updateCenterAndZoom = updateCenterAndZoom;","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar modelUtil = require(\"../../util/model\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {Object} finder contains {seriesIndex, dataIndex, dataIndexInside}\n * @param {module:echarts/model/Global} ecModel\n * @return {Object} {point: [x, y], el: ...} point Will not be null.\n */\nfunction _default(finder, ecModel) {\n var point = [];\n var seriesIndex = finder.seriesIndex;\n var seriesModel;\n\n if (seriesIndex == null || !(seriesModel = ecModel.getSeriesByIndex(seriesIndex))) {\n return {\n point: []\n };\n }\n\n var data = seriesModel.getData();\n var dataIndex = modelUtil.queryDataIndex(data, finder);\n\n if (dataIndex == null || dataIndex < 0 || zrUtil.isArray(dataIndex)) {\n return {\n point: []\n };\n }\n\n var el = data.getItemGraphicEl(dataIndex);\n var coordSys = seriesModel.coordinateSystem;\n\n if (seriesModel.getTooltipPosition) {\n point = seriesModel.getTooltipPosition(dataIndex) || [];\n } else if (coordSys && coordSys.dataToPoint) {\n point = coordSys.dataToPoint(data.getValues(zrUtil.map(coordSys.dimensions, function (dim) {\n return data.mapDimension(dim);\n }), dataIndex, true)) || [];\n } else if (el) {\n // Use graphic bounding rect\n var rect = el.getBoundingRect().clone();\n rect.applyTransform(el.transform);\n point = [rect.x + rect.width / 2, rect.y + rect.height / 2];\n }\n\n return {\n point: point,\n el: el\n };\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Component = require(\"../../model/Component\");\n\nrequire(\"./AxisModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = 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 * 3x2矩阵操作类\n * @exports zrender/tool/matrix\n */\nvar ArrayCtor = typeof Float32Array === 'undefined' ? Array : Float32Array;\n/**\n * Create a identity matrix.\n * @return {Float32Array|Array.}\n */\n\nfunction create() {\n var out = new ArrayCtor(6);\n identity(out);\n return out;\n}\n/**\n * 设置矩阵为单位矩阵\n * @param {Float32Array|Array.} out\n */\n\n\nfunction identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n out[4] = 0;\n out[5] = 0;\n return out;\n}\n/**\n * 复制矩阵\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} m\n */\n\n\nfunction copy(out, m) {\n out[0] = m[0];\n out[1] = m[1];\n out[2] = m[2];\n out[3] = m[3];\n out[4] = m[4];\n out[5] = m[5];\n return out;\n}\n/**\n * 矩阵相乘\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} m1\n * @param {Float32Array|Array.} m2\n */\n\n\nfunction mul(out, m1, m2) {\n // Consider matrix.mul(m, m2, m);\n // where out is the same as m2.\n // So use temp variable to escape error.\n var out0 = m1[0] * m2[0] + m1[2] * m2[1];\n var out1 = m1[1] * m2[0] + m1[3] * m2[1];\n var out2 = m1[0] * m2[2] + m1[2] * m2[3];\n var out3 = m1[1] * m2[2] + m1[3] * m2[3];\n var out4 = m1[0] * m2[4] + m1[2] * m2[5] + m1[4];\n var out5 = m1[1] * m2[4] + m1[3] * m2[5] + m1[5];\n out[0] = out0;\n out[1] = out1;\n out[2] = out2;\n out[3] = out3;\n out[4] = out4;\n out[5] = out5;\n return out;\n}\n/**\n * 平移变换\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n * @param {Float32Array|Array.} v\n */\n\n\nfunction translate(out, a, v) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4] + v[0];\n out[5] = a[5] + v[1];\n return out;\n}\n/**\n * 旋转变换\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n * @param {number} rad\n */\n\n\nfunction rotate(out, a, rad) {\n var aa = a[0];\n var ac = a[2];\n var atx = a[4];\n var ab = a[1];\n var ad = a[3];\n var aty = a[5];\n var st = Math.sin(rad);\n var ct = Math.cos(rad);\n out[0] = aa * ct + ab * st;\n out[1] = -aa * st + ab * ct;\n out[2] = ac * ct + ad * st;\n out[3] = -ac * st + ct * ad;\n out[4] = ct * atx + st * aty;\n out[5] = ct * aty - st * atx;\n return out;\n}\n/**\n * 缩放变换\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n * @param {Float32Array|Array.} v\n */\n\n\nfunction scale(out, a, v) {\n var vx = v[0];\n var vy = v[1];\n out[0] = a[0] * vx;\n out[1] = a[1] * vy;\n out[2] = a[2] * vx;\n out[3] = a[3] * vy;\n out[4] = a[4] * vx;\n out[5] = a[5] * vy;\n return out;\n}\n/**\n * 求逆矩阵\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n */\n\n\nfunction invert(out, a) {\n var aa = a[0];\n var ac = a[2];\n var atx = a[4];\n var ab = a[1];\n var ad = a[3];\n var aty = a[5];\n var det = aa * ad - ab * ac;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = ad * det;\n out[1] = -ab * det;\n out[2] = -ac * det;\n out[3] = aa * det;\n out[4] = (ac * aty - ad * atx) * det;\n out[5] = (ab * atx - aa * aty) * det;\n return out;\n}\n/**\n * Clone a new matrix.\n * @param {Float32Array|Array.} a\n */\n\n\nfunction clone(a) {\n var b = create();\n copy(b, a);\n return b;\n}\n\nexports.create = create;\nexports.identity = identity;\nexports.copy = copy;\nexports.mul = mul;\nexports.translate = translate;\nexports.rotate = rotate;\nexports.scale = scale;\nexports.invert = invert;\nexports.clone = clone;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"../coord/radar/Radar\");\n\nrequire(\"../coord/radar/RadarModel\");\n\nrequire(\"./radar/RadarView\");","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar preprocessor = require(\"./timeline/preprocessor\");\n\nrequire(\"./timeline/typeDefaulter\");\n\nrequire(\"./timeline/timelineAction\");\n\nrequire(\"./timeline/SliderTimelineModel\");\n\nrequire(\"./timeline/SliderTimelineView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * DataZoom component entry\n */\necharts.registerPreprocessor(preprocessor);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\nvar map = _util.map;\nvar isFunction = _util.isFunction;\nvar createHashMap = _util.createHashMap;\nvar noop = _util.noop;\n\nvar _task = require(\"./task\");\n\nvar createTask = _task.createTask;\n\nvar _component = require(\"../util/component\");\n\nvar getUID = _component.getUID;\n\nvar GlobalModel = require(\"../model/Global\");\n\nvar ExtensionAPI = require(\"../ExtensionAPI\");\n\nvar _model = require(\"../util/model\");\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);\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar helper = require(\"../helper/treeHelper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar modelUtil = require(\"../../util/model\");\n\nvar brushHelper = require(\"./brushHelper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\nvar indexOf = zrUtil.indexOf;\nvar curry = zrUtil.curry;\nvar COORD_CONVERTS = ['dataToPoint', 'pointToData']; // FIXME\n// how to genarialize to more coordinate systems.\n\nvar INCLUDE_FINDER_MAIN_TYPES = ['grid', 'xAxis', 'yAxis', 'geo', 'graph', 'polar', 'radiusAxis', 'angleAxis', 'bmap'];\n/**\n * [option in constructor]:\n * {\n * Index/Id/Name of geo, xAxis, yAxis, grid: See util/model#parseFinder.\n * }\n *\n *\n * [targetInfo]:\n *\n * There can be multiple axes in a single targetInfo. Consider the case\n * of `grid` component, a targetInfo represents a grid which contains one or more\n * cartesian and one or more axes. And consider the case of parallel system,\n * which has multiple axes in a coordinate system.\n * Can be {\n * panelId: ...,\n * coordSys: ,\n * coordSyses: all cartesians.\n * gridModel: \n * xAxes: correspond to coordSyses on index\n * yAxes: correspond to coordSyses on index\n * }\n * or {\n * panelId: ...,\n * coordSys: \n * coordSyses: []\n * geoModel: \n * }\n *\n *\n * [panelOpt]:\n *\n * Make from targetInfo. Input to BrushController.\n * {\n * panelId: ...,\n * rect: ...\n * }\n *\n *\n * [area]:\n *\n * Generated by BrushController or user input.\n * {\n * panelId: Used to locate coordInfo directly. If user inpput, no panelId.\n * brushType: determine how to convert to/from coord('rect' or 'polygon' or 'lineX/Y').\n * Index/Id/Name of geo, xAxis, yAxis, grid: See util/model#parseFinder.\n * range: pixel range.\n * coordRange: representitive coord range (the first one of coordRanges).\n * coordRanges: coord ranges, used in multiple cartesian in one grid.\n * }\n */\n\n/**\n * @param {Object} option contains Index/Id/Name of xAxis/yAxis/geo/grid\n * Each can be {number|Array.}. like: {xAxisIndex: [3, 4]}\n * @param {module:echarts/model/Global} ecModel\n * @param {Object} [opt]\n * @param {Array.} [opt.include] include coordinate system types.\n */\n\nfunction BrushTargetManager(option, ecModel, opt) {\n /**\n * @private\n * @type {Array.}\n */\n var targetInfoList = this._targetInfoList = [];\n var info = {};\n var foundCpts = parseFinder(ecModel, option);\n each(targetInfoBuilders, function (builder, type) {\n if (!opt || !opt.include || indexOf(opt.include, type) >= 0) {\n builder(foundCpts, targetInfoList, info);\n }\n });\n}\n\nvar proto = BrushTargetManager.prototype;\n\nproto.setOutputRanges = function (areas, ecModel) {\n this.matchOutputRanges(areas, ecModel, function (area, coordRange, coordSys) {\n (area.coordRanges || (area.coordRanges = [])).push(coordRange); // area.coordRange is the first of area.coordRanges\n\n if (!area.coordRange) {\n area.coordRange = coordRange; // In 'category' axis, coord to pixel is not reversible, so we can not\n // rebuild range by coordRange accrately, which may bring trouble when\n // brushing only one item. So we use __rangeOffset to rebuilding range\n // by coordRange. And this it only used in brush component so it is no\n // need to be adapted to coordRanges.\n\n var result = coordConvert[area.brushType](0, coordSys, coordRange);\n area.__rangeOffset = {\n offset: diffProcessor[area.brushType](result.values, area.range, [1, 1]),\n xyMinMax: result.xyMinMax\n };\n }\n });\n};\n\nproto.matchOutputRanges = function (areas, ecModel, cb) {\n each(areas, function (area) {\n var targetInfo = this.findTargetInfo(area, ecModel);\n\n if (targetInfo && targetInfo !== true) {\n zrUtil.each(targetInfo.coordSyses, function (coordSys) {\n var result = coordConvert[area.brushType](1, coordSys, area.range);\n cb(area, result.values, coordSys, ecModel);\n });\n }\n }, this);\n};\n\nproto.setInputRanges = function (areas, ecModel) {\n each(areas, function (area) {\n var targetInfo = this.findTargetInfo(area, ecModel);\n area.range = area.range || []; // convert coordRange to global range and set panelId.\n\n if (targetInfo && targetInfo !== true) {\n area.panelId = targetInfo.panelId; // (1) area.range shoule always be calculate from coordRange but does\n // not keep its original value, for the sake of the dataZoom scenario,\n // where area.coordRange remains unchanged but area.range may be changed.\n // (2) Only support converting one coordRange to pixel range in brush\n // component. So do not consider `coordRanges`.\n // (3) About __rangeOffset, see comment above.\n\n var result = coordConvert[area.brushType](0, targetInfo.coordSys, area.coordRange);\n var rangeOffset = area.__rangeOffset;\n area.range = rangeOffset ? diffProcessor[area.brushType](result.values, rangeOffset.offset, getScales(result.xyMinMax, rangeOffset.xyMinMax)) : result.values;\n }\n }, this);\n};\n\nproto.makePanelOpts = function (api, getDefaultBrushType) {\n return zrUtil.map(this._targetInfoList, function (targetInfo) {\n var rect = targetInfo.getPanelRect();\n return {\n panelId: targetInfo.panelId,\n defaultBrushType: getDefaultBrushType && getDefaultBrushType(targetInfo),\n clipPath: brushHelper.makeRectPanelClipPath(rect),\n isTargetByCursor: brushHelper.makeRectIsTargetByCursor(rect, api, targetInfo.coordSysModel),\n getLinearBrushOtherExtent: brushHelper.makeLinearBrushOtherExtent(rect)\n };\n });\n};\n\nproto.controlSeries = function (area, seriesModel, ecModel) {\n // Check whether area is bound in coord, and series do not belong to that coord.\n // If do not do this check, some brush (like lineX) will controll all axes.\n var targetInfo = this.findTargetInfo(area, ecModel);\n return targetInfo === true || targetInfo && indexOf(targetInfo.coordSyses, seriesModel.coordinateSystem) >= 0;\n};\n/**\n * If return Object, a coord found.\n * If reutrn true, global found.\n * Otherwise nothing found.\n *\n * @param {Object} area\n * @param {Array} targetInfoList\n * @return {Object|boolean}\n */\n\n\nproto.findTargetInfo = function (area, ecModel) {\n var targetInfoList = this._targetInfoList;\n var foundCpts = parseFinder(ecModel, area);\n\n for (var i = 0; i < targetInfoList.length; i++) {\n var targetInfo = targetInfoList[i];\n var areaPanelId = area.panelId;\n\n if (areaPanelId) {\n if (targetInfo.panelId === areaPanelId) {\n return targetInfo;\n }\n } else {\n for (var i = 0; i < targetInfoMatchers.length; i++) {\n if (targetInfoMatchers[i](foundCpts, targetInfo)) {\n return targetInfo;\n }\n }\n }\n }\n\n return true;\n};\n\nfunction formatMinMax(minMax) {\n minMax[0] > minMax[1] && minMax.reverse();\n return minMax;\n}\n\nfunction parseFinder(ecModel, option) {\n return modelUtil.parseFinder(ecModel, option, {\n includeMainTypes: INCLUDE_FINDER_MAIN_TYPES\n });\n}\n\nvar targetInfoBuilders = {\n grid: function (foundCpts, targetInfoList) {\n var xAxisModels = foundCpts.xAxisModels;\n var yAxisModels = foundCpts.yAxisModels;\n var gridModels = foundCpts.gridModels; // Remove duplicated.\n\n var gridModelMap = zrUtil.createHashMap();\n var xAxesHas = {};\n var yAxesHas = {};\n\n if (!xAxisModels && !yAxisModels && !gridModels) {\n return;\n }\n\n each(xAxisModels, function (axisModel) {\n var gridModel = axisModel.axis.grid.model;\n gridModelMap.set(gridModel.id, gridModel);\n xAxesHas[gridModel.id] = true;\n });\n each(yAxisModels, function (axisModel) {\n var gridModel = axisModel.axis.grid.model;\n gridModelMap.set(gridModel.id, gridModel);\n yAxesHas[gridModel.id] = true;\n });\n each(gridModels, function (gridModel) {\n gridModelMap.set(gridModel.id, gridModel);\n xAxesHas[gridModel.id] = true;\n yAxesHas[gridModel.id] = true;\n });\n gridModelMap.each(function (gridModel) {\n var grid = gridModel.coordinateSystem;\n var cartesians = [];\n each(grid.getCartesians(), function (cartesian, index) {\n if (indexOf(xAxisModels, cartesian.getAxis('x').model) >= 0 || indexOf(yAxisModels, cartesian.getAxis('y').model) >= 0) {\n cartesians.push(cartesian);\n }\n });\n targetInfoList.push({\n panelId: 'grid--' + gridModel.id,\n gridModel: gridModel,\n coordSysModel: gridModel,\n // Use the first one as the representitive coordSys.\n coordSys: cartesians[0],\n coordSyses: cartesians,\n getPanelRect: panelRectBuilder.grid,\n xAxisDeclared: xAxesHas[gridModel.id],\n yAxisDeclared: yAxesHas[gridModel.id]\n });\n });\n },\n geo: function (foundCpts, targetInfoList) {\n each(foundCpts.geoModels, function (geoModel) {\n var coordSys = geoModel.coordinateSystem;\n targetInfoList.push({\n panelId: 'geo--' + geoModel.id,\n geoModel: geoModel,\n coordSysModel: geoModel,\n coordSys: coordSys,\n coordSyses: [coordSys],\n getPanelRect: panelRectBuilder.geo\n });\n });\n }\n};\nvar targetInfoMatchers = [// grid\nfunction (foundCpts, targetInfo) {\n var xAxisModel = foundCpts.xAxisModel;\n var yAxisModel = foundCpts.yAxisModel;\n var gridModel = foundCpts.gridModel;\n !gridModel && xAxisModel && (gridModel = xAxisModel.axis.grid.model);\n !gridModel && yAxisModel && (gridModel = yAxisModel.axis.grid.model);\n return gridModel && gridModel === targetInfo.gridModel;\n}, // geo\nfunction (foundCpts, targetInfo) {\n var geoModel = foundCpts.geoModel;\n return geoModel && geoModel === targetInfo.geoModel;\n}];\nvar panelRectBuilder = {\n grid: function () {\n // grid is not Transformable.\n return this.coordSys.grid.getRect().clone();\n },\n geo: function () {\n var coordSys = this.coordSys;\n var rect = coordSys.getBoundingRect().clone(); // geo roam and zoom transform\n\n rect.applyTransform(graphic.getTransform(coordSys));\n return rect;\n }\n};\nvar coordConvert = {\n lineX: curry(axisConvert, 0),\n lineY: curry(axisConvert, 1),\n rect: function (to, coordSys, rangeOrCoordRange) {\n var xminymin = coordSys[COORD_CONVERTS[to]]([rangeOrCoordRange[0][0], rangeOrCoordRange[1][0]]);\n var xmaxymax = coordSys[COORD_CONVERTS[to]]([rangeOrCoordRange[0][1], rangeOrCoordRange[1][1]]);\n var values = [formatMinMax([xminymin[0], xmaxymax[0]]), formatMinMax([xminymin[1], xmaxymax[1]])];\n return {\n values: values,\n xyMinMax: values\n };\n },\n polygon: function (to, coordSys, rangeOrCoordRange) {\n var xyMinMax = [[Infinity, -Infinity], [Infinity, -Infinity]];\n var values = zrUtil.map(rangeOrCoordRange, function (item) {\n var p = coordSys[COORD_CONVERTS[to]](item);\n xyMinMax[0][0] = Math.min(xyMinMax[0][0], p[0]);\n xyMinMax[1][0] = Math.min(xyMinMax[1][0], p[1]);\n xyMinMax[0][1] = Math.max(xyMinMax[0][1], p[0]);\n xyMinMax[1][1] = Math.max(xyMinMax[1][1], p[1]);\n return p;\n });\n return {\n values: values,\n xyMinMax: xyMinMax\n };\n }\n};\n\nfunction axisConvert(axisNameIndex, to, coordSys, rangeOrCoordRange) {\n var axis = coordSys.getAxis(['x', 'y'][axisNameIndex]);\n var values = formatMinMax(zrUtil.map([0, 1], function (i) {\n return to ? axis.coordToData(axis.toLocalCoord(rangeOrCoordRange[i])) : axis.toGlobalCoord(axis.dataToCoord(rangeOrCoordRange[i]));\n }));\n var xyMinMax = [];\n xyMinMax[axisNameIndex] = values;\n xyMinMax[1 - axisNameIndex] = [NaN, NaN];\n return {\n values: values,\n xyMinMax: xyMinMax\n };\n}\n\nvar diffProcessor = {\n lineX: curry(axisDiffProcessor, 0),\n lineY: curry(axisDiffProcessor, 1),\n rect: function (values, refer, scales) {\n return [[values[0][0] - scales[0] * refer[0][0], values[0][1] - scales[0] * refer[0][1]], [values[1][0] - scales[1] * refer[1][0], values[1][1] - scales[1] * refer[1][1]]];\n },\n polygon: function (values, refer, scales) {\n return zrUtil.map(values, function (item, idx) {\n return [item[0] - scales[0] * refer[idx][0], item[1] - scales[1] * refer[idx][1]];\n });\n }\n};\n\nfunction axisDiffProcessor(axisNameIndex, values, refer, scales) {\n return [values[0] - scales[axisNameIndex] * refer[0], values[1] - scales[axisNameIndex] * refer[1]];\n} // We have to process scale caused by dataZoom manually,\n// although it might be not accurate.\n\n\nfunction getScales(xyMinMaxCurr, xyMinMaxOrigin) {\n var sizeCurr = getSize(xyMinMaxCurr);\n var sizeOrigin = getSize(xyMinMaxOrigin);\n var scales = [sizeCurr[0] / sizeOrigin[0], sizeCurr[1] / sizeOrigin[1]];\n isNaN(scales[0]) && (scales[0] = 1);\n isNaN(scales[1]) && (scales[1] = 1);\n return scales;\n}\n\nfunction getSize(xyMinMax) {\n return xyMinMax ? [xyMinMax[0][1] - xyMinMax[0][0], xyMinMax[1][1] - xyMinMax[1][0]] : [NaN, NaN];\n}\n\nvar _default = BrushTargetManager;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar modelUtil = require(\"../../util/model\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\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;","var Displayable = require(\"./Displayable\");\n\nvar zrUtil = require(\"../core/util\");\n\nvar PathProxy = require(\"../core/PathProxy\");\n\nvar pathContain = require(\"../contain/path\");\n\nvar Pattern = require(\"./Pattern\");\n\nvar getCanvasPattern = Pattern.prototype.getCanvasPattern;\nvar abs = Math.abs;\nvar pathProxyForDraw = new PathProxy(true);\n/**\n * @alias module:zrender/graphic/Path\n * @extends module:zrender/graphic/Displayable\n * @constructor\n * @param {Object} opts\n */\n\nfunction Path(opts) {\n Displayable.call(this, opts);\n /**\n * @type {module:zrender/core/PathProxy}\n * @readOnly\n */\n\n this.path = null;\n}\n\nPath.prototype = {\n constructor: Path,\n type: 'path',\n __dirtyPath: true,\n strokeContainThreshold: 5,\n\n /**\n * See `module:zrender/src/graphic/helper/subPixelOptimize`.\n * @type {boolean}\n */\n subPixelOptimize: false,\n brush: function (ctx, prevEl) {\n var style = this.style;\n var path = this.path || pathProxyForDraw;\n var hasStroke = style.hasStroke();\n var hasFill = style.hasFill();\n var fill = style.fill;\n var stroke = style.stroke;\n var hasFillGradient = hasFill && !!fill.colorStops;\n var hasStrokeGradient = hasStroke && !!stroke.colorStops;\n var hasFillPattern = hasFill && !!fill.image;\n var hasStrokePattern = hasStroke && !!stroke.image;\n style.bind(ctx, this, prevEl);\n this.setTransform(ctx);\n\n if (this.__dirty) {\n var rect; // Update gradient because bounding rect may changed\n\n if (hasFillGradient) {\n rect = rect || this.getBoundingRect();\n this._fillGradient = style.getGradient(ctx, fill, rect);\n }\n\n if (hasStrokeGradient) {\n rect = rect || this.getBoundingRect();\n this._strokeGradient = style.getGradient(ctx, stroke, rect);\n }\n } // Use the gradient or pattern\n\n\n if (hasFillGradient) {\n // PENDING If may have affect the state\n ctx.fillStyle = this._fillGradient;\n } else if (hasFillPattern) {\n ctx.fillStyle = getCanvasPattern.call(fill, ctx);\n }\n\n if (hasStrokeGradient) {\n ctx.strokeStyle = this._strokeGradient;\n } else if (hasStrokePattern) {\n ctx.strokeStyle = getCanvasPattern.call(stroke, ctx);\n }\n\n var lineDash = style.lineDash;\n var lineDashOffset = style.lineDashOffset;\n var ctxLineDash = !!ctx.setLineDash; // Update path sx, sy\n\n var scale = this.getGlobalScale();\n path.setScale(scale[0], scale[1]); // Proxy context\n // Rebuild path in following 2 cases\n // 1. Path is dirty\n // 2. Path needs javascript implemented lineDash stroking.\n // In this case, lineDash information will not be saved in PathProxy\n\n if (this.__dirtyPath || lineDash && !ctxLineDash && hasStroke) {\n path.beginPath(ctx); // Setting line dash before build path\n\n if (lineDash && !ctxLineDash) {\n path.setLineDash(lineDash);\n path.setLineDashOffset(lineDashOffset);\n }\n\n this.buildPath(path, this.shape, false); // Clear path dirty flag\n\n if (this.path) {\n this.__dirtyPath = false;\n }\n } else {\n // Replay path building\n ctx.beginPath();\n this.path.rebuildPath(ctx);\n }\n\n if (hasFill) {\n if (style.fillOpacity != null) {\n var originalGlobalAlpha = ctx.globalAlpha;\n ctx.globalAlpha = style.fillOpacity * style.opacity;\n path.fill(ctx);\n ctx.globalAlpha = originalGlobalAlpha;\n } else {\n path.fill(ctx);\n }\n }\n\n if (lineDash && ctxLineDash) {\n ctx.setLineDash(lineDash);\n ctx.lineDashOffset = lineDashOffset;\n }\n\n if (hasStroke) {\n if (style.strokeOpacity != null) {\n var originalGlobalAlpha = ctx.globalAlpha;\n ctx.globalAlpha = style.strokeOpacity * style.opacity;\n path.stroke(ctx);\n ctx.globalAlpha = originalGlobalAlpha;\n } else {\n path.stroke(ctx);\n }\n }\n\n if (lineDash && ctxLineDash) {\n // PENDING\n // Remove lineDash\n ctx.setLineDash([]);\n } // Draw rect text\n\n\n if (style.text != null) {\n // Only restore transform when needs draw text.\n this.restoreTransform(ctx);\n this.drawRectText(ctx, this.getBoundingRect());\n }\n },\n // When bundling path, some shape may decide if use moveTo to begin a new subpath or closePath\n // Like in circle\n buildPath: function (ctx, shapeCfg, inBundle) {},\n createPathProxy: function () {\n this.path = new PathProxy();\n },\n getBoundingRect: function () {\n var rect = this._rect;\n var style = this.style;\n var needsUpdateRect = !rect;\n\n if (needsUpdateRect) {\n var path = this.path;\n\n if (!path) {\n // Create path on demand.\n path = this.path = new PathProxy();\n }\n\n if (this.__dirtyPath) {\n path.beginPath();\n this.buildPath(path, this.shape, false);\n }\n\n rect = path.getBoundingRect();\n }\n\n this._rect = rect;\n\n if (style.hasStroke()) {\n // Needs update rect with stroke lineWidth when\n // 1. Element changes scale or lineWidth\n // 2. Shape is changed\n var rectWithStroke = this._rectWithStroke || (this._rectWithStroke = rect.clone());\n\n if (this.__dirty || needsUpdateRect) {\n rectWithStroke.copy(rect); // FIXME Must after updateTransform\n\n var w = style.lineWidth; // PENDING, Min line width is needed when line is horizontal or vertical\n\n var lineScale = style.strokeNoScale ? this.getLineScale() : 1; // Only add extra hover lineWidth when there are no fill\n\n if (!style.hasFill()) {\n w = Math.max(w, this.strokeContainThreshold || 4);\n } // Consider line width\n // Line scale can't be 0;\n\n\n if (lineScale > 1e-10) {\n rectWithStroke.width += w / lineScale;\n rectWithStroke.height += w / lineScale;\n rectWithStroke.x -= w / lineScale / 2;\n rectWithStroke.y -= w / lineScale / 2;\n }\n } // Return rect with stroke\n\n\n return rectWithStroke;\n }\n\n return rect;\n },\n contain: function (x, y) {\n var localPos = this.transformCoordToLocal(x, y);\n var rect = this.getBoundingRect();\n var style = this.style;\n x = localPos[0];\n y = localPos[1];\n\n if (rect.contain(x, y)) {\n var pathData = this.path.data;\n\n if (style.hasStroke()) {\n var lineWidth = style.lineWidth;\n var lineScale = style.strokeNoScale ? this.getLineScale() : 1; // Line scale can't be 0;\n\n if (lineScale > 1e-10) {\n // Only add extra hover lineWidth when there are no fill\n if (!style.hasFill()) {\n lineWidth = Math.max(lineWidth, this.strokeContainThreshold);\n }\n\n if (pathContain.containStroke(pathData, lineWidth / lineScale, x, y)) {\n return true;\n }\n }\n }\n\n if (style.hasFill()) {\n return pathContain.contain(pathData, x, y);\n }\n }\n\n return false;\n },\n\n /**\n * @param {boolean} dirtyPath\n */\n dirty: function (dirtyPath) {\n if (dirtyPath == null) {\n dirtyPath = true;\n } // Only mark dirty, not mark clean\n\n\n if (dirtyPath) {\n this.__dirtyPath = dirtyPath;\n this._rect = null;\n }\n\n this.__dirty = this.__dirtyText = true;\n this.__zr && this.__zr.refresh(); // Used as a clipping path\n\n if (this.__clipTarget) {\n this.__clipTarget.dirty();\n }\n },\n\n /**\n * Alias for animate('shape')\n * @param {boolean} loop\n */\n animateShape: function (loop) {\n return this.animate('shape', loop);\n },\n // Overwrite attrKV\n attrKV: function (key, value) {\n // FIXME\n if (key === 'shape') {\n this.setShape(value);\n this.__dirtyPath = true;\n this._rect = null;\n } else {\n Displayable.prototype.attrKV.call(this, key, value);\n }\n },\n\n /**\n * @param {Object|string} key\n * @param {*} value\n */\n setShape: function (key, value) {\n var shape = this.shape; // Path from string may not have shape\n\n if (shape) {\n if (zrUtil.isObject(key)) {\n for (var name in key) {\n if (key.hasOwnProperty(name)) {\n shape[name] = key[name];\n }\n }\n } else {\n shape[key] = value;\n }\n\n this.dirty(true);\n }\n\n return this;\n },\n getLineScale: function () {\n var m = this.transform; // Get the line scale.\n // Determinant of `m` means how much the area is enlarged by the\n // transformation. So its square root can be used as a scale factor\n // for width.\n\n return m && abs(m[0] - 1) > 1e-10 && abs(m[3] - 1) > 1e-10 ? Math.sqrt(abs(m[0] * m[3] - m[2] * m[1])) : 1;\n }\n};\n/**\n * 扩展一个 Path element, 比如星形,圆等。\n * Extend a path element\n * @param {Object} props\n * @param {string} props.type Path type\n * @param {Function} props.init Initialize\n * @param {Function} props.buildPath Overwrite buildPath method\n * @param {Object} [props.style] Extended default style config\n * @param {Object} [props.shape] Extended default shape config\n */\n\nPath.extend = function (defaults) {\n var Sub = function (opts) {\n Path.call(this, opts);\n\n if (defaults.style) {\n // Extend default style\n this.style.extendFrom(defaults.style, false);\n } // Extend default shape\n\n\n var defaultShape = defaults.shape;\n\n if (defaultShape) {\n this.shape = this.shape || {};\n var thisShape = this.shape;\n\n for (var name in defaultShape) {\n if (!thisShape.hasOwnProperty(name) && defaultShape.hasOwnProperty(name)) {\n thisShape[name] = defaultShape[name];\n }\n }\n }\n\n defaults.init && defaults.init.call(this, opts);\n };\n\n zrUtil.inherits(Sub, Path); // FIXME 不能 extend position, rotation 等引用对象\n\n for (var name in defaults) {\n // Extending prototype values and methods\n if (name !== 'style' && name !== 'shape') {\n Sub.prototype[name] = defaults[name];\n }\n }\n\n return Sub;\n};\n\nzrUtil.inherits(Path, Displayable);\nvar _default = Path;\nmodule.exports = _default;","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _layout = require(\"../../util/layout\");\n\nvar getLayoutRect = _layout.getLayoutRect;\nvar layoutBox = _layout.box;\nvar positionElement = _layout.positionElement;\n\nvar formatUtil = require(\"../../util/format\");\n\nvar graphic = require(\"../../util/graphic\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Layout list like component.\n * It will box layout each items in group of component and then position the whole group in the viewport\n * @param {module:zrender/group/Group} group\n * @param {module:echarts/model/Component} componentModel\n * @param {module:echarts/ExtensionAPI}\n */\nfunction layout(group, componentModel, api) {\n var boxLayoutParams = componentModel.getBoxLayoutParams();\n var padding = componentModel.get('padding');\n var viewportSize = {\n width: api.getWidth(),\n height: api.getHeight()\n };\n var rect = getLayoutRect(boxLayoutParams, viewportSize, padding);\n layoutBox(componentModel.get('orient'), group, componentModel.get('itemGap'), rect.width, rect.height);\n positionElement(group, boxLayoutParams, viewportSize, padding);\n}\n\nfunction makeBackground(rect, componentModel) {\n var padding = formatUtil.normalizeCssArray(componentModel.get('padding'));\n var style = componentModel.getItemStyle(['color', 'opacity']);\n style.fill = componentModel.get('backgroundColor');\n var rect = new graphic.Rect({\n shape: {\n x: rect.x - padding[3],\n y: rect.y - padding[0],\n width: rect.width + padding[1] + padding[3],\n height: rect.height + padding[0] + padding[2],\n r: componentModel.get('borderRadius')\n },\n style: style,\n silent: true,\n z2: -1\n }); // FIXME\n // `subPixelOptimizeRect` may bring some gap between edge of viewpart\n // and background rect when setting like `left: 0`, `top: 0`.\n // graphic.subPixelOptimizeRect(rect);\n\n return rect;\n}\n\nexports.layout = layout;\nexports.makeBackground = makeBackground;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar eventTool = require(\"zrender/lib/core/event\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar throttle = require(\"../../util/throttle\");\n\nvar DataZoomView = require(\"./DataZoomView\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar layout = require(\"../../util/layout\");\n\nvar sliderMove = require(\"../helper/sliderMove\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar 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 onmousemove: function (e) {\n // Fot mobile devicem, prevent screen slider on the button.\n eventTool.stop(e.event);\n },\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(graphic.subPixelOptimizeRect({\n silent: 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 onmousemove: function (e) {\n // Fot mobile devicem, prevent screen slider on the button.\n eventTool.stop(e.event);\n },\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) {\n this._dragging = true; // 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;","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Scale = require(\"./Scale\");\n\nvar numberUtil = require(\"../util/number\");\n\nvar IntervalScale = require(\"./Interval\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Log scale\n * @module echarts/scale/Log\n */\n// Use some method of IntervalScale\nvar scaleProto = Scale.prototype;\nvar intervalScaleProto = IntervalScale.prototype;\nvar getPrecisionSafe = numberUtil.getPrecisionSafe;\nvar roundingErrorFix = numberUtil.round;\nvar mathFloor = Math.floor;\nvar mathCeil = Math.ceil;\nvar mathPow = Math.pow;\nvar mathLog = Math.log;\nvar LogScale = Scale.extend({\n type: 'log',\n base: 10,\n $constructor: function () {\n Scale.apply(this, arguments);\n this._originalScale = new IntervalScale();\n },\n\n /**\n * @return {Array.}\n */\n getTicks: function () {\n var originalScale = this._originalScale;\n var extent = this._extent;\n var originalExtent = originalScale.getExtent();\n return zrUtil.map(intervalScaleProto.getTicks.call(this), function (val) {\n var powVal = numberUtil.round(mathPow(this.base, val)); // Fix #4158\n\n powVal = val === extent[0] && originalScale.__fixMin ? fixRoundingError(powVal, originalExtent[0]) : powVal;\n powVal = val === extent[1] && originalScale.__fixMax ? fixRoundingError(powVal, originalExtent[1]) : powVal;\n return powVal;\n }, this);\n },\n\n /**\n * @param {number} val\n * @return {string}\n */\n getLabel: intervalScaleProto.getLabel,\n\n /**\n * @param {number} val\n * @return {number}\n */\n scale: function (val) {\n val = scaleProto.scale.call(this, val);\n return mathPow(this.base, val);\n },\n\n /**\n * @param {number} start\n * @param {number} end\n */\n setExtent: function (start, end) {\n var base = this.base;\n start = mathLog(start) / mathLog(base);\n end = mathLog(end) / mathLog(base);\n intervalScaleProto.setExtent.call(this, start, end);\n },\n\n /**\n * @return {number} end\n */\n getExtent: function () {\n var base = this.base;\n var extent = scaleProto.getExtent.call(this);\n extent[0] = mathPow(base, extent[0]);\n extent[1] = mathPow(base, extent[1]); // Fix #4158\n\n var originalScale = this._originalScale;\n var originalExtent = originalScale.getExtent();\n originalScale.__fixMin && (extent[0] = fixRoundingError(extent[0], originalExtent[0]));\n originalScale.__fixMax && (extent[1] = fixRoundingError(extent[1], originalExtent[1]));\n return extent;\n },\n\n /**\n * @param {Array.} extent\n */\n unionExtent: function (extent) {\n this._originalScale.unionExtent(extent);\n\n var base = this.base;\n extent[0] = mathLog(extent[0]) / mathLog(base);\n extent[1] = mathLog(extent[1]) / mathLog(base);\n scaleProto.unionExtent.call(this, extent);\n },\n\n /**\n * @override\n */\n unionExtentFromData: function (data, dim) {\n // TODO\n // filter value that <= 0\n this.unionExtent(data.getApproximateExtent(dim));\n },\n\n /**\n * Update interval and extent of intervals for nice ticks\n * @param {number} [approxTickNum = 10] Given approx tick number\n */\n niceTicks: function (approxTickNum) {\n approxTickNum = approxTickNum || 10;\n var extent = this._extent;\n var span = extent[1] - extent[0];\n\n if (span === Infinity || span <= 0) {\n return;\n }\n\n var interval = numberUtil.quantity(span);\n var err = approxTickNum / span * interval; // Filter ticks to get closer to the desired count.\n\n if (err <= 0.5) {\n interval *= 10;\n } // Interval should be integer\n\n\n while (!isNaN(interval) && Math.abs(interval) < 1 && Math.abs(interval) > 0) {\n interval *= 10;\n }\n\n var niceExtent = [numberUtil.round(mathCeil(extent[0] / interval) * interval), numberUtil.round(mathFloor(extent[1] / interval) * interval)];\n this._interval = interval;\n this._niceExtent = niceExtent;\n },\n\n /**\n * Nice extent.\n * @override\n */\n niceExtent: function (opt) {\n intervalScaleProto.niceExtent.call(this, opt);\n var originalScale = this._originalScale;\n originalScale.__fixMin = opt.fixMin;\n originalScale.__fixMax = opt.fixMax;\n }\n});\nzrUtil.each(['contain', 'normalize'], function (methodName) {\n LogScale.prototype[methodName] = function (val) {\n val = mathLog(val) / mathLog(this.base);\n return scaleProto[methodName].call(this, val);\n };\n});\n\nLogScale.create = function () {\n return new LogScale();\n};\n\nfunction fixRoundingError(val, originalVal) {\n return roundingErrorFix(val, getPrecisionSafe(originalVal));\n}\n\nvar _default = LogScale;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar LegendModel = require(\"./LegendModel\");\n\nvar _layout = require(\"../../util/layout\");\n\nvar mergeLayoutParam = _layout.mergeLayoutParam;\nvar getLayoutParams = _layout.getLayoutParams;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar ScrollableLegendModel = LegendModel.extend({\n type: 'legend.scroll',\n\n /**\n * @param {number} scrollDataIndex\n */\n setScrollDataIndex: function (scrollDataIndex) {\n this.option.scrollDataIndex = scrollDataIndex;\n },\n defaultOption: {\n scrollDataIndex: 0,\n pageButtonItemGap: 5,\n pageButtonGap: null,\n pageButtonPosition: 'end',\n // 'start' or 'end'\n pageFormatter: '{current}/{total}',\n // If null/undefined, do not show page.\n pageIcons: {\n horizontal: ['M0,0L12,-10L12,10z', 'M0,0L-12,-10L-12,10z'],\n vertical: ['M0,0L20,0L10,-20z', 'M0,0L20,0L10,20z']\n },\n pageIconColor: '#2f4554',\n pageIconInactiveColor: '#aaa',\n pageIconSize: 15,\n // Can be [10, 3], which represents [width, height]\n pageTextStyle: {\n color: '#333'\n },\n animationDurationUpdate: 800\n },\n\n /**\n * @override\n */\n init: function (option, parentModel, ecModel, extraOpt) {\n var inputPositionParams = getLayoutParams(option);\n ScrollableLegendModel.superCall(this, 'init', option, parentModel, ecModel, extraOpt);\n mergeAndNormalizeLayoutParams(this, option, inputPositionParams);\n },\n\n /**\n * @override\n */\n mergeOption: function (option, extraOpt) {\n ScrollableLegendModel.superCall(this, 'mergeOption', option, extraOpt);\n mergeAndNormalizeLayoutParams(this, this.option, option);\n },\n getOrient: function () {\n return this.get('orient') === 'vertical' ? {\n index: 1,\n name: 'vertical'\n } : {\n index: 0,\n name: 'horizontal'\n };\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar ChartView = require(\"../../view/Chart\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar AxisBuilder = require(\"../axis/AxisBuilder\");\n\nvar graphic = require(\"../../util/graphic\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar 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;","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar MapDraw = require(\"../../component/helper/MapDraw\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar HIGH_DOWN_PROP = '__seriesMapHighDown';\nvar RECORD_VERSION_PROP = '__seriesMapCallKey';\n\nvar _default = echarts.extendChartView({\n type: 'map',\n render: function (mapModel, ecModel, api, payload) {\n // Not render if it is an toggleSelect action from self\n if (payload && payload.type === 'mapToggleSelect' && payload.from === this.uid) {\n return;\n }\n\n var group = this.group;\n group.removeAll();\n\n if (mapModel.getHostGeoModel()) {\n return;\n } // Not update map if it is an roam action from self\n\n\n if (!(payload && payload.type === 'geoRoam' && payload.componentType === 'series' && payload.seriesId === mapModel.id)) {\n if (mapModel.needsDrawMap) {\n var mapDraw = this._mapDraw || new MapDraw(api, true);\n group.add(mapDraw.group);\n mapDraw.draw(mapModel, ecModel, api, this, payload);\n this._mapDraw = mapDraw;\n } else {\n // Remove drawed map\n this._mapDraw && this._mapDraw.remove();\n this._mapDraw = null;\n }\n } else {\n var mapDraw = this._mapDraw;\n mapDraw && group.add(mapDraw.group);\n }\n\n mapModel.get('showLegendSymbol') && ecModel.getComponent('legend') && this._renderSymbols(mapModel, ecModel, api);\n },\n remove: function () {\n this._mapDraw && this._mapDraw.remove();\n this._mapDraw = null;\n this.group.removeAll();\n },\n dispose: function () {\n this._mapDraw && this._mapDraw.remove();\n this._mapDraw = null;\n },\n _renderSymbols: function (mapModel, ecModel, api) {\n var originalData = mapModel.originalData;\n var group = this.group;\n originalData.each(originalData.mapDimension('value'), function (value, originalDataIndex) {\n if (isNaN(value)) {\n return;\n }\n\n var layout = originalData.getItemLayout(originalDataIndex);\n\n if (!layout || !layout.point) {\n // Not exists in map\n return;\n }\n\n var point = layout.point;\n var offset = layout.offset;\n var circle = new graphic.Circle({\n style: {\n // Because the special of map draw.\n // Which needs statistic of multiple series and draw on one map.\n // And each series also need a symbol with legend color\n //\n // Layout and visual are put one the different data\n fill: mapModel.getData().getVisual('color')\n },\n shape: {\n cx: point[0] + offset * 9,\n cy: point[1],\n r: 3\n },\n silent: true,\n // Do not overlap the first series, on which labels are displayed.\n z2: 8 + (!offset ? graphic.Z2_EMPHASIS_LIFT + 1 : 0)\n }); // Only the series that has the first value on the same region is in charge of rendering the label.\n // But consider the case:\n // series: [\n // {id: 'X', type: 'map', map: 'm', {data: [{name: 'A', value: 11}, {name: 'B', {value: 22}]},\n // {id: 'Y', type: 'map', map: 'm', {data: [{name: 'A', value: 21}, {name: 'C', {value: 33}]}\n // ]\n // The offset `0` of item `A` is at series `X`, but of item `C` is at series `Y`.\n // For backward compatibility, we follow the rule that render label `A` by the\n // settings on series `X` but render label `C` by the settings on series `Y`.\n\n if (!offset) {\n var fullData = mapModel.mainSeries.getData();\n var name = originalData.getName(originalDataIndex);\n var fullIndex = fullData.indexOfName(name);\n var itemModel = originalData.getItemModel(originalDataIndex);\n var labelModel = itemModel.getModel('label');\n var hoverLabelModel = itemModel.getModel('emphasis.label');\n var regionGroup = fullData.getItemGraphicEl(fullIndex); // `getFormattedLabel` needs to use `getData` inside. Here\n // `mapModel.getData()` is shallow cloned from `mainSeries.getData()`.\n // FIXME\n // If this is not the `mainSeries`, the item model (like label formatter)\n // set on original data item will never get. But it has been working\n // like that from the begining, and this scenario is rarely encountered.\n // So it won't be fixed until have to.\n\n var normalText = zrUtil.retrieve2(mapModel.getFormattedLabel(fullIndex, 'normal'), name);\n var emphasisText = zrUtil.retrieve2(mapModel.getFormattedLabel(fullIndex, 'emphasis'), normalText);\n var highDownRecord = regionGroup[HIGH_DOWN_PROP];\n var recordVersion = Math.random(); // Prevent from register listeners duplicatedly when roaming.\n\n if (!highDownRecord) {\n highDownRecord = regionGroup[HIGH_DOWN_PROP] = {};\n var onEmphasis = zrUtil.curry(onRegionHighDown, true);\n var onNormal = zrUtil.curry(onRegionHighDown, false);\n regionGroup.on('mouseover', onEmphasis).on('mouseout', onNormal).on('emphasis', onEmphasis).on('normal', onNormal);\n } // Prevent removed regions effect current grapics.\n\n\n regionGroup[RECORD_VERSION_PROP] = recordVersion;\n zrUtil.extend(highDownRecord, {\n recordVersion: recordVersion,\n circle: circle,\n labelModel: labelModel,\n hoverLabelModel: hoverLabelModel,\n emphasisText: emphasisText,\n normalText: normalText\n }); // FIXME\n // Consider set option when emphasis.\n\n enterRegionHighDown(highDownRecord, false);\n }\n\n group.add(circle);\n });\n }\n});\n\nfunction onRegionHighDown(toHighOrDown) {\n var highDownRecord = this[HIGH_DOWN_PROP];\n\n if (highDownRecord && highDownRecord.recordVersion === this[RECORD_VERSION_PROP]) {\n enterRegionHighDown(highDownRecord, toHighOrDown);\n }\n}\n\nfunction enterRegionHighDown(highDownRecord, toHighOrDown) {\n var circle = highDownRecord.circle;\n var labelModel = highDownRecord.labelModel;\n var hoverLabelModel = highDownRecord.hoverLabelModel;\n var emphasisText = highDownRecord.emphasisText;\n var normalText = highDownRecord.normalText;\n\n if (toHighOrDown) {\n circle.style.extendFrom(graphic.setTextStyle({}, hoverLabelModel, {\n text: hoverLabelModel.get('show') ? emphasisText : null\n }, {\n isRectText: true,\n useInsideStyle: false\n }, true)); // Make label upper than others if overlaps.\n\n circle.__mapOriginalZ2 = circle.z2;\n circle.z2 += graphic.Z2_EMPHASIS_LIFT;\n } else {\n graphic.setTextStyle(circle.style, labelModel, {\n text: labelModel.get('show') ? normalText : null,\n textPosition: labelModel.getShallow('position') || 'bottom'\n }, {\n isRectText: true,\n useInsideStyle: false\n }); // Trigger normalize style like padding.\n\n circle.dirty(false);\n\n if (circle.__mapOriginalZ2 != null) {\n circle.z2 = circle.__mapOriginalZ2;\n circle.__mapOriginalZ2 = null;\n }\n }\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// 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;","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"../coord/calendar/Calendar\");\n\nrequire(\"../coord/calendar/CalendarModel\");\n\nrequire(\"./calendar/CalendarView\");","var _curve = require(\"../core/curve\");\n\nvar quadraticProjectPoint = _curve.quadraticProjectPoint;\n\n/**\n * 二次贝塞尔曲线描边包含判断\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} lineWidth\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\nfunction containStroke(x0, y0, x1, y1, x2, y2, lineWidth, x, y) {\n if (lineWidth === 0) {\n return false;\n }\n\n var _l = lineWidth; // Quick reject\n\n if (y > y0 + _l && y > y1 + _l && y > y2 + _l || y < y0 - _l && y < y1 - _l && y < y2 - _l || x > x0 + _l && x > x1 + _l && x > x2 + _l || x < x0 - _l && x < x1 - _l && x < x2 - _l) {\n return false;\n }\n\n var d = quadraticProjectPoint(x0, y0, x1, y1, x2, y2, x, y, null);\n return d <= _l / 2;\n}\n\nexports.containStroke = containStroke;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\n\nvar parseGeoJson = require(\"./parseGeoJson\");\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\n\nvar fixNanhai = require(\"./fix/nanhai\");\n\nvar fixTextCoord = require(\"./fix/textCoord\");\n\nvar fixGeoCoord = require(\"./fix/geoCoord\");\n\nvar fixDiaoyuIsland = require(\"./fix/diaoyuIsland\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 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 fixNanhai(mapName, regions);\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;","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar List = require(\"../../data/List\");\n\nvar createDimensions = require(\"../../data/helper/createDimensions\");\n\nvar _sourceType = require(\"../../data/helper/sourceType\");\n\nvar SOURCE_FORMAT_ORIGINAL = _sourceType.SOURCE_FORMAT_ORIGINAL;\n\nvar _dimensionHelper = require(\"../../data/helper/dimensionHelper\");\n\nvar getDimensionTypeByAxis = _dimensionHelper.getDimensionTypeByAxis;\n\nvar _model = require(\"../../util/model\");\n\nvar getDataItemValue = _model.getDataItemValue;\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\nvar _referHelper = require(\"../../model/referHelper\");\n\nvar getCoordSysDefineBySeries = _referHelper.getCoordSysDefineBySeries;\n\nvar Source = require(\"../../data/Source\");\n\nvar _dataStackHelper = require(\"../../data/helper/dataStackHelper\");\n\nvar enableDataStack = _dataStackHelper.enableDataStack;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {module:echarts/data/Source|Array} source Or raw data.\n * @param {module:echarts/model/Series} seriesModel\n * @param {Object} [opt]\n * @param {string} [opt.generateCoord]\n */\nfunction createListFromArray(source, seriesModel, opt) {\n opt = opt || {};\n\n if (!Source.isInstance(source)) {\n source = Source.seriesDataToSource(source);\n }\n\n var coordSysName = seriesModel.get('coordinateSystem');\n var registeredCoordSys = CoordinateSystem.get(coordSysName);\n var coordSysDefine = getCoordSysDefineBySeries(seriesModel);\n var coordSysDimDefs;\n\n if (coordSysDefine) {\n coordSysDimDefs = zrUtil.map(coordSysDefine.coordSysDims, function (dim) {\n var dimInfo = {\n name: dim\n };\n var axisModel = coordSysDefine.axisMap.get(dim);\n\n if (axisModel) {\n var axisType = axisModel.get('type');\n dimInfo.type = getDimensionTypeByAxis(axisType); // dimInfo.stackable = isStackable(axisType);\n }\n\n return dimInfo;\n });\n }\n\n if (!coordSysDimDefs) {\n // Get dimensions from registered coordinate system\n coordSysDimDefs = registeredCoordSys && (registeredCoordSys.getDimensionsInfo ? registeredCoordSys.getDimensionsInfo() : registeredCoordSys.dimensions.slice()) || ['x', 'y'];\n }\n\n var dimInfoList = createDimensions(source, {\n coordDimensions: coordSysDimDefs,\n generateCoord: opt.generateCoord\n });\n var firstCategoryDimIndex;\n var hasNameEncode;\n coordSysDefine && zrUtil.each(dimInfoList, function (dimInfo, dimIndex) {\n var coordDim = dimInfo.coordDim;\n var categoryAxisModel = coordSysDefine.categoryAxisMap.get(coordDim);\n\n if (categoryAxisModel) {\n if (firstCategoryDimIndex == null) {\n firstCategoryDimIndex = dimIndex;\n }\n\n dimInfo.ordinalMeta = categoryAxisModel.getOrdinalMeta();\n }\n\n if (dimInfo.otherDims.itemName != null) {\n hasNameEncode = true;\n }\n });\n\n if (!hasNameEncode && firstCategoryDimIndex != null) {\n dimInfoList[firstCategoryDimIndex].otherDims.itemName = 0;\n }\n\n var stackCalculationInfo = enableDataStack(seriesModel, dimInfoList);\n var list = new List(dimInfoList, seriesModel);\n list.setCalculationInfo(stackCalculationInfo);\n var dimValueGetter = firstCategoryDimIndex != null && isNeedCompleteOrdinalData(source) ? function (itemOpt, dimName, dataIndex, dimIndex) {\n // Use dataIndex as ordinal value in categoryAxis\n return dimIndex === firstCategoryDimIndex ? dataIndex : this.defaultDimValueGetter(itemOpt, dimName, dataIndex, dimIndex);\n } : null;\n list.hasItemOption = false;\n list.initData(source, null, dimValueGetter);\n return list;\n}\n\nfunction isNeedCompleteOrdinalData(source) {\n if (source.sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n var sampleItem = firstDataNotNull(source.data || []);\n return sampleItem != null && !zrUtil.isArray(getDataItemValue(sampleItem));\n }\n}\n\nfunction firstDataNotNull(data) {\n var i = 0;\n\n while (i < data.length && data[i] == null) {\n i++;\n }\n\n return data[i];\n}\n\nvar _default = createListFromArray;\nmodule.exports = _default;","// Myers' Diff Algorithm\n// Modified from https://github.com/kpdecker/jsdiff/blob/master/src/diff/base.js\nfunction Diff() {}\n\nDiff.prototype = {\n diff: function (oldArr, newArr, equals) {\n if (!equals) {\n equals = function (a, b) {\n return a === b;\n };\n }\n\n this.equals = equals;\n var self = this;\n oldArr = oldArr.slice();\n newArr = newArr.slice(); // Allow subclasses to massage the input prior to running\n\n var newLen = newArr.length;\n var oldLen = oldArr.length;\n var editLength = 1;\n var maxEditLength = newLen + oldLen;\n var bestPath = [{\n newPos: -1,\n components: []\n }]; // Seed editLength = 0, i.e. the content starts with the same values\n\n var oldPos = this.extractCommon(bestPath[0], newArr, oldArr, 0);\n\n if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\n var indices = [];\n\n for (var i = 0; i < newArr.length; i++) {\n indices.push(i);\n } // Identity per the equality and tokenizer\n\n\n return [{\n indices: indices,\n count: newArr.length\n }];\n } // Main worker method. checks all permutations of a given edit length for acceptance.\n\n\n function execEditLength() {\n for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {\n var basePath;\n var addPath = bestPath[diagonalPath - 1];\n var removePath = bestPath[diagonalPath + 1];\n var oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;\n\n if (addPath) {\n // No one else is going to attempt to use this value, clear it\n bestPath[diagonalPath - 1] = undefined;\n }\n\n var canAdd = addPath && addPath.newPos + 1 < newLen;\n var canRemove = removePath && 0 <= oldPos && oldPos < oldLen;\n\n if (!canAdd && !canRemove) {\n // If this path is a terminal then prune\n bestPath[diagonalPath] = undefined;\n continue;\n } // Select the diagonal that we want to branch from. We select the prior\n // path whose position in the new string is the farthest from the origin\n // and does not pass the bounds of the diff graph\n\n\n if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {\n basePath = clonePath(removePath);\n self.pushComponent(basePath.components, undefined, true);\n } else {\n basePath = addPath; // No need to clone, we've pulled it from the list\n\n basePath.newPos++;\n self.pushComponent(basePath.components, true, undefined);\n }\n\n oldPos = self.extractCommon(basePath, newArr, oldArr, diagonalPath); // If we have hit the end of both strings, then we are done\n\n if (basePath.newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\n return buildValues(self, basePath.components, newArr, oldArr);\n } else {\n // Otherwise track this path as a potential candidate and continue.\n bestPath[diagonalPath] = basePath;\n }\n }\n\n editLength++;\n }\n\n while (editLength <= maxEditLength) {\n var ret = execEditLength();\n\n if (ret) {\n return ret;\n }\n }\n },\n pushComponent: function (components, added, removed) {\n var last = components[components.length - 1];\n\n if (last && last.added === added && last.removed === removed) {\n // We need to clone here as the component clone operation is just\n // as shallow array clone\n components[components.length - 1] = {\n count: last.count + 1,\n added: added,\n removed: removed\n };\n } else {\n components.push({\n count: 1,\n added: added,\n removed: removed\n });\n }\n },\n extractCommon: function (basePath, newArr, oldArr, diagonalPath) {\n var newLen = newArr.length;\n var oldLen = oldArr.length;\n var newPos = basePath.newPos;\n var oldPos = newPos - diagonalPath;\n var commonCount = 0;\n\n while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newArr[newPos + 1], oldArr[oldPos + 1])) {\n newPos++;\n oldPos++;\n commonCount++;\n }\n\n if (commonCount) {\n basePath.components.push({\n count: commonCount\n });\n }\n\n basePath.newPos = newPos;\n return oldPos;\n },\n tokenize: function (value) {\n return value.slice();\n },\n join: function (value) {\n return value.slice();\n }\n};\n\nfunction buildValues(diff, components, newArr, oldArr) {\n var componentPos = 0;\n var componentLen = components.length;\n var newPos = 0;\n var oldPos = 0;\n\n for (; componentPos < componentLen; componentPos++) {\n var component = components[componentPos];\n\n if (!component.removed) {\n var indices = [];\n\n for (var i = newPos; i < newPos + component.count; i++) {\n indices.push(i);\n }\n\n component.indices = indices;\n newPos += component.count; // Common case\n\n if (!component.added) {\n oldPos += component.count;\n }\n } else {\n var indices = [];\n\n for (var i = oldPos; i < oldPos + component.count; i++) {\n indices.push(i);\n }\n\n component.indices = indices;\n oldPos += component.count;\n }\n }\n\n return components;\n}\n\nfunction clonePath(path) {\n return {\n newPos: path.newPos,\n components: path.components.slice(0)\n };\n}\n\nvar arrayDiff = new Diff();\n\nfunction _default(oldArr, newArr, callback) {\n return arrayDiff.diff(oldArr, newArr, callback);\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\nvar isNumeric = _number.isNumeric;\n\nvar _helper = require(\"./helper\");\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar createListSimply = require(\"../helper/createListSimply\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _dimensionHelper = require(\"../../data/helper/dimensionHelper\");\n\nvar getDimensionTypeByAxis = _dimensionHelper.getDimensionTypeByAxis;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar seriesModelMixin = {\n /**\n * @private\n * @type {string}\n */\n _baseAxisDim: null,\n\n /**\n * @override\n */\n getInitialData: function (option, ecModel) {\n // When both types of xAxis and yAxis are 'value', layout is\n // needed to be specified by user. Otherwise, layout can be\n // judged by which axis is category.\n var ordinalMeta;\n var xAxisModel = ecModel.getComponent('xAxis', this.get('xAxisIndex'));\n var yAxisModel = ecModel.getComponent('yAxis', this.get('yAxisIndex'));\n var xAxisType = xAxisModel.get('type');\n var yAxisType = yAxisModel.get('type');\n var addOrdinal; // FIXME\n // 考虑时间轴\n\n if (xAxisType === 'category') {\n option.layout = 'horizontal';\n ordinalMeta = xAxisModel.getOrdinalMeta();\n addOrdinal = true;\n } else if (yAxisType === 'category') {\n option.layout = 'vertical';\n ordinalMeta = yAxisModel.getOrdinalMeta();\n addOrdinal = true;\n } else {\n option.layout = option.layout || 'horizontal';\n }\n\n var coordDims = ['x', 'y'];\n var baseAxisDimIndex = option.layout === 'horizontal' ? 0 : 1;\n var baseAxisDim = this._baseAxisDim = coordDims[baseAxisDimIndex];\n var otherAxisDim = coordDims[1 - baseAxisDimIndex];\n var axisModels = [xAxisModel, yAxisModel];\n var baseAxisType = axisModels[baseAxisDimIndex].get('type');\n var otherAxisType = axisModels[1 - baseAxisDimIndex].get('type');\n var data = option.data; // ??? FIXME make a stage to perform data transfrom.\n // MUST create a new data, consider setOption({}) again.\n\n if (data && addOrdinal) {\n var newOptionData = [];\n zrUtil.each(data, function (item, index) {\n var newItem;\n\n if (item.value && zrUtil.isArray(item.value)) {\n newItem = item.value.slice();\n item.value.unshift(index);\n } else if (zrUtil.isArray(item)) {\n newItem = item.slice();\n item.unshift(index);\n } else {\n newItem = item;\n }\n\n newOptionData.push(newItem);\n });\n option.data = newOptionData;\n }\n\n var defaultValueDimensions = this.defaultValueDimensions;\n return createListSimply(this, {\n coordDimensions: [{\n name: baseAxisDim,\n type: getDimensionTypeByAxis(baseAxisType),\n ordinalMeta: ordinalMeta,\n otherDims: {\n tooltip: false,\n itemName: 0\n },\n dimsDef: ['base']\n }, {\n name: otherAxisDim,\n type: getDimensionTypeByAxis(otherAxisType),\n dimsDef: defaultValueDimensions.slice()\n }],\n dimensionsCount: defaultValueDimensions.length + 1\n });\n },\n\n /**\n * If horizontal, base axis is x, otherwise y.\n * @override\n */\n getBaseAxis: function () {\n var dim = this._baseAxisDim;\n return this.ecModel.getComponent(dim + 'Axis', this.get(dim + 'AxisIndex')).axis;\n }\n};\nexports.seriesModelMixin = seriesModelMixin;","// https://github.com/mziccard/node-timsort\nvar DEFAULT_MIN_MERGE = 32;\nvar DEFAULT_MIN_GALLOPING = 7;\nvar DEFAULT_TMP_STORAGE_LENGTH = 256;\n\nfunction minRunLength(n) {\n var r = 0;\n\n while (n >= DEFAULT_MIN_MERGE) {\n r |= n & 1;\n n >>= 1;\n }\n\n return n + r;\n}\n\nfunction makeAscendingRun(array, lo, hi, compare) {\n var runHi = lo + 1;\n\n if (runHi === hi) {\n return 1;\n }\n\n if (compare(array[runHi++], array[lo]) < 0) {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) < 0) {\n runHi++;\n }\n\n reverseRun(array, lo, runHi);\n } else {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) >= 0) {\n runHi++;\n }\n }\n\n return runHi - lo;\n}\n\nfunction reverseRun(array, lo, hi) {\n hi--;\n\n while (lo < hi) {\n var t = array[lo];\n array[lo++] = array[hi];\n array[hi--] = t;\n }\n}\n\nfunction binaryInsertionSort(array, lo, hi, start, compare) {\n if (start === lo) {\n start++;\n }\n\n for (; start < hi; start++) {\n var pivot = array[start];\n var left = lo;\n var right = start;\n var mid;\n\n while (left < right) {\n mid = left + right >>> 1;\n\n if (compare(pivot, array[mid]) < 0) {\n right = mid;\n } else {\n left = mid + 1;\n }\n }\n\n var n = start - left;\n\n switch (n) {\n case 3:\n array[left + 3] = array[left + 2];\n\n case 2:\n array[left + 2] = array[left + 1];\n\n case 1:\n array[left + 1] = array[left];\n break;\n\n default:\n while (n > 0) {\n array[left + n] = array[left + n - 1];\n n--;\n }\n\n }\n\n array[left] = pivot;\n }\n}\n\nfunction gallopLeft(value, array, start, length, hint, compare) {\n var lastOffset = 0;\n var maxOffset = 0;\n var offset = 1;\n\n if (compare(value, array[start + hint]) > 0) {\n maxOffset = length - hint;\n\n while (offset < maxOffset && compare(value, array[start + hint + offset]) > 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n lastOffset += hint;\n offset += hint;\n } else {\n maxOffset = hint + 1;\n\n while (offset < maxOffset && compare(value, array[start + hint - offset]) <= 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n var tmp = lastOffset;\n lastOffset = hint - offset;\n offset = hint - tmp;\n }\n\n lastOffset++;\n\n while (lastOffset < offset) {\n var m = lastOffset + (offset - lastOffset >>> 1);\n\n if (compare(value, array[start + m]) > 0) {\n lastOffset = m + 1;\n } else {\n offset = m;\n }\n }\n\n return offset;\n}\n\nfunction gallopRight(value, array, start, length, hint, compare) {\n var lastOffset = 0;\n var maxOffset = 0;\n var offset = 1;\n\n if (compare(value, array[start + hint]) < 0) {\n maxOffset = hint + 1;\n\n while (offset < maxOffset && compare(value, array[start + hint - offset]) < 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n var tmp = lastOffset;\n lastOffset = hint - offset;\n offset = hint - tmp;\n } else {\n maxOffset = length - hint;\n\n while (offset < maxOffset && compare(value, array[start + hint + offset]) >= 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n lastOffset += hint;\n offset += hint;\n }\n\n lastOffset++;\n\n while (lastOffset < offset) {\n var m = lastOffset + (offset - lastOffset >>> 1);\n\n if (compare(value, array[start + m]) < 0) {\n offset = m;\n } else {\n lastOffset = m + 1;\n }\n }\n\n return offset;\n}\n\nfunction TimSort(array, compare) {\n var minGallop = DEFAULT_MIN_GALLOPING;\n var length = 0;\n var tmpStorageLength = DEFAULT_TMP_STORAGE_LENGTH;\n var stackLength = 0;\n var runStart;\n var runLength;\n var stackSize = 0;\n length = array.length;\n\n if (length < 2 * DEFAULT_TMP_STORAGE_LENGTH) {\n tmpStorageLength = length >>> 1;\n }\n\n var tmp = [];\n stackLength = length < 120 ? 5 : length < 1542 ? 10 : length < 119151 ? 19 : 40;\n runStart = [];\n runLength = [];\n\n function pushRun(_runStart, _runLength) {\n runStart[stackSize] = _runStart;\n runLength[stackSize] = _runLength;\n stackSize += 1;\n }\n\n function mergeRuns() {\n while (stackSize > 1) {\n var n = stackSize - 2;\n\n if (n >= 1 && runLength[n - 1] <= runLength[n] + runLength[n + 1] || n >= 2 && runLength[n - 2] <= runLength[n] + runLength[n - 1]) {\n if (runLength[n - 1] < runLength[n + 1]) {\n n--;\n }\n } else if (runLength[n] > runLength[n + 1]) {\n break;\n }\n\n mergeAt(n);\n }\n }\n\n function forceMergeRuns() {\n while (stackSize > 1) {\n var n = stackSize - 2;\n\n if (n > 0 && runLength[n - 1] < runLength[n + 1]) {\n n--;\n }\n\n mergeAt(n);\n }\n }\n\n function mergeAt(i) {\n var start1 = runStart[i];\n var length1 = runLength[i];\n var start2 = runStart[i + 1];\n var length2 = runLength[i + 1];\n runLength[i] = length1 + length2;\n\n if (i === stackSize - 3) {\n runStart[i + 1] = runStart[i + 2];\n runLength[i + 1] = runLength[i + 2];\n }\n\n stackSize--;\n var k = gallopRight(array[start2], array, start1, length1, 0, compare);\n start1 += k;\n length1 -= k;\n\n if (length1 === 0) {\n return;\n }\n\n length2 = gallopLeft(array[start1 + length1 - 1], array, start2, length2, length2 - 1, compare);\n\n if (length2 === 0) {\n return;\n }\n\n if (length1 <= length2) {\n mergeLow(start1, length1, start2, length2);\n } else {\n mergeHigh(start1, length1, start2, length2);\n }\n }\n\n function mergeLow(start1, length1, start2, length2) {\n var i = 0;\n\n for (i = 0; i < length1; i++) {\n tmp[i] = array[start1 + i];\n }\n\n var cursor1 = 0;\n var cursor2 = start2;\n var dest = start1;\n array[dest++] = array[cursor2++];\n\n if (--length2 === 0) {\n for (i = 0; i < length1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n\n return;\n }\n\n if (length1 === 1) {\n for (i = 0; i < length2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n array[dest + length2] = tmp[cursor1];\n return;\n }\n\n var _minGallop = minGallop;\n var count1, count2, exit;\n\n while (1) {\n count1 = 0;\n count2 = 0;\n exit = false;\n\n do {\n if (compare(array[cursor2], tmp[cursor1]) < 0) {\n array[dest++] = array[cursor2++];\n count2++;\n count1 = 0;\n\n if (--length2 === 0) {\n exit = true;\n break;\n }\n } else {\n array[dest++] = tmp[cursor1++];\n count1++;\n count2 = 0;\n\n if (--length1 === 1) {\n exit = true;\n break;\n }\n }\n } while ((count1 | count2) < _minGallop);\n\n if (exit) {\n break;\n }\n\n do {\n count1 = gallopRight(array[cursor2], tmp, cursor1, length1, 0, compare);\n\n if (count1 !== 0) {\n for (i = 0; i < count1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n\n dest += count1;\n cursor1 += count1;\n length1 -= count1;\n\n if (length1 <= 1) {\n exit = true;\n break;\n }\n }\n\n array[dest++] = array[cursor2++];\n\n if (--length2 === 0) {\n exit = true;\n break;\n }\n\n count2 = gallopLeft(tmp[cursor1], array, cursor2, length2, 0, compare);\n\n if (count2 !== 0) {\n for (i = 0; i < count2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n dest += count2;\n cursor2 += count2;\n length2 -= count2;\n\n if (length2 === 0) {\n exit = true;\n break;\n }\n }\n\n array[dest++] = tmp[cursor1++];\n\n if (--length1 === 1) {\n exit = true;\n break;\n }\n\n _minGallop--;\n } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);\n\n if (exit) {\n break;\n }\n\n if (_minGallop < 0) {\n _minGallop = 0;\n }\n\n _minGallop += 2;\n }\n\n minGallop = _minGallop;\n minGallop < 1 && (minGallop = 1);\n\n if (length1 === 1) {\n for (i = 0; i < length2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n array[dest + length2] = tmp[cursor1];\n } else if (length1 === 0) {\n throw new Error(); // throw new Error('mergeLow preconditions were not respected');\n } else {\n for (i = 0; i < length1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n }\n }\n\n function mergeHigh(start1, length1, start2, length2) {\n var i = 0;\n\n for (i = 0; i < length2; i++) {\n tmp[i] = array[start2 + i];\n }\n\n var cursor1 = start1 + length1 - 1;\n var cursor2 = length2 - 1;\n var dest = start2 + length2 - 1;\n var customCursor = 0;\n var customDest = 0;\n array[dest--] = array[cursor1--];\n\n if (--length1 === 0) {\n customCursor = dest - (length2 - 1);\n\n for (i = 0; i < length2; i++) {\n array[customCursor + i] = tmp[i];\n }\n\n return;\n }\n\n if (length2 === 1) {\n dest -= length1;\n cursor1 -= length1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = length1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n array[dest] = tmp[cursor2];\n return;\n }\n\n var _minGallop = minGallop;\n\n while (true) {\n var count1 = 0;\n var count2 = 0;\n var exit = false;\n\n do {\n if (compare(tmp[cursor2], array[cursor1]) < 0) {\n array[dest--] = array[cursor1--];\n count1++;\n count2 = 0;\n\n if (--length1 === 0) {\n exit = true;\n break;\n }\n } else {\n array[dest--] = tmp[cursor2--];\n count2++;\n count1 = 0;\n\n if (--length2 === 1) {\n exit = true;\n break;\n }\n }\n } while ((count1 | count2) < _minGallop);\n\n if (exit) {\n break;\n }\n\n do {\n count1 = length1 - gallopRight(tmp[cursor2], array, start1, length1, length1 - 1, compare);\n\n if (count1 !== 0) {\n dest -= count1;\n cursor1 -= count1;\n length1 -= count1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = count1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n if (length1 === 0) {\n exit = true;\n break;\n }\n }\n\n array[dest--] = tmp[cursor2--];\n\n if (--length2 === 1) {\n exit = true;\n break;\n }\n\n count2 = length2 - gallopLeft(array[cursor1], tmp, 0, length2, length2 - 1, compare);\n\n if (count2 !== 0) {\n dest -= count2;\n cursor2 -= count2;\n length2 -= count2;\n customDest = dest + 1;\n customCursor = cursor2 + 1;\n\n for (i = 0; i < count2; i++) {\n array[customDest + i] = tmp[customCursor + i];\n }\n\n if (length2 <= 1) {\n exit = true;\n break;\n }\n }\n\n array[dest--] = array[cursor1--];\n\n if (--length1 === 0) {\n exit = true;\n break;\n }\n\n _minGallop--;\n } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);\n\n if (exit) {\n break;\n }\n\n if (_minGallop < 0) {\n _minGallop = 0;\n }\n\n _minGallop += 2;\n }\n\n minGallop = _minGallop;\n\n if (minGallop < 1) {\n minGallop = 1;\n }\n\n if (length2 === 1) {\n dest -= length1;\n cursor1 -= length1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = length1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n array[dest] = tmp[cursor2];\n } else if (length2 === 0) {\n throw new Error(); // throw new Error('mergeHigh preconditions were not respected');\n } else {\n customCursor = dest - (length2 - 1);\n\n for (i = 0; i < length2; i++) {\n array[customCursor + i] = tmp[i];\n }\n }\n }\n\n this.mergeRuns = mergeRuns;\n this.forceMergeRuns = forceMergeRuns;\n this.pushRun = pushRun;\n}\n\nfunction sort(array, compare, lo, hi) {\n if (!lo) {\n lo = 0;\n }\n\n if (!hi) {\n hi = array.length;\n }\n\n var remaining = hi - lo;\n\n if (remaining < 2) {\n return;\n }\n\n var runLength = 0;\n\n if (remaining < DEFAULT_MIN_MERGE) {\n runLength = makeAscendingRun(array, lo, hi, compare);\n binaryInsertionSort(array, lo, hi, lo + runLength, compare);\n return;\n }\n\n var ts = new TimSort(array, compare);\n var minRun = minRunLength(remaining);\n\n do {\n runLength = makeAscendingRun(array, lo, hi, compare);\n\n if (runLength < minRun) {\n var force = remaining;\n\n if (force > minRun) {\n force = minRun;\n }\n\n binaryInsertionSort(array, lo, lo + force, lo + runLength, compare);\n runLength = force;\n }\n\n ts.pushRun(lo, runLength);\n ts.mergeRuns();\n remaining -= runLength;\n lo += runLength;\n } while (remaining !== 0);\n\n ts.forceMergeRuns();\n}\n\nmodule.exports = sort;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar createListSimply = require(\"../helper/createListSimply\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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.legendDataProvider = function () {\n return this.getRawData();\n };\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 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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar isTypedArray = _util.isTypedArray;\n\nvar _clazz = require(\"../util/clazz\");\n\nvar enableClassCheck = _clazz.enableClassCheck;\n\nvar _sourceType = require(\"./helper/sourceType\");\n\nvar SOURCE_FORMAT_ORIGINAL = _sourceType.SOURCE_FORMAT_ORIGINAL;\nvar SERIES_LAYOUT_BY_COLUMN = _sourceType.SERIES_LAYOUT_BY_COLUMN;\nvar SOURCE_FORMAT_UNKNOWN = _sourceType.SOURCE_FORMAT_UNKNOWN;\nvar SOURCE_FORMAT_TYPED_ARRAY = _sourceType.SOURCE_FORMAT_TYPED_ARRAY;\nvar SOURCE_FORMAT_KEYED_COLUMNS = _sourceType.SOURCE_FORMAT_KEYED_COLUMNS;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * [sourceFormat]\n *\n * + \"original\":\n * This format is only used in series.data, where\n * itemStyle can be specified in data item.\n *\n * + \"arrayRows\":\n * [\n * ['product', 'score', 'amount'],\n * ['Matcha Latte', 89.3, 95.8],\n * ['Milk Tea', 92.1, 89.4],\n * ['Cheese Cocoa', 94.4, 91.2],\n * ['Walnut Brownie', 85.4, 76.9]\n * ]\n *\n * + \"objectRows\":\n * [\n * {product: 'Matcha Latte', score: 89.3, amount: 95.8},\n * {product: 'Milk Tea', score: 92.1, amount: 89.4},\n * {product: 'Cheese Cocoa', score: 94.4, amount: 91.2},\n * {product: 'Walnut Brownie', score: 85.4, amount: 76.9}\n * ]\n *\n * + \"keyedColumns\":\n * {\n * 'product': ['Matcha Latte', 'Milk Tea', 'Cheese Cocoa', 'Walnut Brownie'],\n * 'count': [823, 235, 1042, 988],\n * 'score': [95.8, 81.4, 91.2, 76.9]\n * }\n *\n * + \"typedArray\"\n *\n * + \"unknown\"\n */\n\n/**\n * @constructor\n * @param {Object} fields\n * @param {string} fields.sourceFormat\n * @param {Array|Object} fields.fromDataset\n * @param {Array|Object} [fields.data]\n * @param {string} [seriesLayoutBy='column']\n * @param {Array.} [dimensionsDefine]\n * @param {Objet|HashMap} [encodeDefine]\n * @param {number} [startIndex=0]\n * @param {number} [dimensionsDetectCount]\n */\nfunction Source(fields) {\n /**\n * @type {boolean}\n */\n this.fromDataset = fields.fromDataset;\n /**\n * Not null/undefined.\n * @type {Array|Object}\n */\n\n this.data = fields.data || (fields.sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS ? {} : []);\n /**\n * See also \"detectSourceFormat\".\n * Not null/undefined.\n * @type {string}\n */\n\n this.sourceFormat = fields.sourceFormat || SOURCE_FORMAT_UNKNOWN;\n /**\n * 'row' or 'column'\n * Not null/undefined.\n * @type {string} seriesLayoutBy\n */\n\n this.seriesLayoutBy = fields.seriesLayoutBy || SERIES_LAYOUT_BY_COLUMN;\n /**\n * dimensions definition in option.\n * can be null/undefined.\n * @type {Array.}\n */\n\n this.dimensionsDefine = fields.dimensionsDefine;\n /**\n * encode definition in option.\n * can be null/undefined.\n * @type {Objet|HashMap}\n */\n\n this.encodeDefine = fields.encodeDefine && createHashMap(fields.encodeDefine);\n /**\n * Not null/undefined, uint.\n * @type {number}\n */\n\n this.startIndex = fields.startIndex || 0;\n /**\n * Can be null/undefined (when unknown), uint.\n * @type {number}\n */\n\n this.dimensionsDetectCount = fields.dimensionsDetectCount;\n}\n/**\n * Wrap original series data for some compatibility cases.\n */\n\n\nSource.seriesDataToSource = function (data) {\n return new Source({\n data: data,\n sourceFormat: isTypedArray(data) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL,\n fromDataset: false\n });\n};\n\nenableClassCheck(Source);\nvar _default = Source;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 */\n\n/**\n * @file defines echarts Heatmap Chart\n * @author Ovilia (me@zhangwenli.com)\n * Inspired by https://github.com/mourner/simpleheat\n *\n * @module\n */\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\n\nfunction _default(option) {\n var visualMap = option && option.visualMap;\n\n if (!zrUtil.isArray(visualMap)) {\n visualMap = visualMap ? [visualMap] : [];\n }\n\n each(visualMap, function (opt) {\n if (!opt) {\n return;\n } // rename splitList to pieces\n\n\n if (has(opt, 'splitList') && !has(opt, 'pieces')) {\n opt.pieces = opt.splitList;\n delete opt.splitList;\n }\n\n var pieces = opt.pieces;\n\n if (pieces && zrUtil.isArray(pieces)) {\n each(pieces, function (piece) {\n if (zrUtil.isObject(piece)) {\n if (has(piece, 'start') && !has(piece, 'min')) {\n piece.min = piece.start;\n }\n\n if (has(piece, 'end') && !has(piece, 'max')) {\n piece.max = piece.end;\n }\n }\n });\n }\n });\n}\n\nfunction has(obj, name) {\n return obj && obj.hasOwnProperty && obj.hasOwnProperty(name);\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./tree/TreeSeries\");\n\nrequire(\"./tree/TreeView\");\n\nrequire(\"./tree/treeAction\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar treeLayout = require(\"./tree/treeLayout\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(visualSymbol('tree', 'circle'));\necharts.registerLayout(treeLayout);","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar visualSolution = require(\"../../visual/visualSolution\");\n\nvar Model = require(\"../../model/Model\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar DEFAULT_OUT_OF_BRUSH_COLOR = ['#ddd'];\nvar BrushModel = echarts.extendComponentModel({\n type: 'brush',\n dependencies: ['geo', 'grid', 'xAxis', 'yAxis', 'parallel', 'series'],\n\n /**\n * @protected\n */\n defaultOption: {\n // inBrush: null,\n // outOfBrush: null,\n toolbox: null,\n // Default value see preprocessor.\n brushLink: null,\n // Series indices array, broadcast using dataIndex.\n // or 'all', which means all series. 'none' or null means no series.\n seriesIndex: 'all',\n // seriesIndex array, specify series controlled by this brush component.\n geoIndex: null,\n //\n xAxisIndex: null,\n yAxisIndex: null,\n brushType: 'rect',\n // Default brushType, see BrushController.\n brushMode: 'single',\n // Default brushMode, 'single' or 'multiple'\n transformable: true,\n // Default transformable.\n brushStyle: {\n // Default brushStyle\n borderWidth: 1,\n color: 'rgba(120,140,180,0.3)',\n borderColor: 'rgba(120,140,180,0.8)'\n },\n throttleType: 'fixRate',\n // Throttle in brushSelected event. 'fixRate' or 'debounce'.\n // If null, no throttle. Valid only in the first brush component\n throttleDelay: 0,\n // Unit: ms, 0 means every event will be triggered.\n // FIXME\n // 试验效果\n removeOnClick: true,\n z: 10000\n },\n\n /**\n * @readOnly\n * @type {Array.}\n */\n areas: [],\n\n /**\n * Current activated brush type.\n * If null, brush is inactived.\n * see module:echarts/component/helper/BrushController\n * @readOnly\n * @type {string}\n */\n brushType: null,\n\n /**\n * Current brush opt.\n * see module:echarts/component/helper/BrushController\n * @readOnly\n * @type {Object}\n */\n brushOption: {},\n\n /**\n * @readOnly\n * @type {Array.}\n */\n coordInfoList: [],\n optionUpdated: function (newOption, isInit) {\n var thisOption = this.option;\n !isInit && visualSolution.replaceVisualOption(thisOption, newOption, ['inBrush', 'outOfBrush']);\n var inBrush = thisOption.inBrush = thisOption.inBrush || {}; // Always give default visual, consider setOption at the second time.\n\n thisOption.outOfBrush = thisOption.outOfBrush || {\n color: DEFAULT_OUT_OF_BRUSH_COLOR\n };\n\n if (!inBrush.hasOwnProperty('liftZ')) {\n // Bigger than the highlight z lift, otherwise it will\n // be effected by the highlight z when brush.\n inBrush.liftZ = 5;\n }\n },\n\n /**\n * If ranges is null/undefined, range state remain.\n *\n * @param {Array.} [ranges]\n */\n setAreas: function (areas) {\n // If ranges is null/undefined, range state remain.\n // This helps user to dispatchAction({type: 'brush'}) with no areas\n // set but just want to get the current brush select info from a `brush` event.\n if (!areas) {\n return;\n }\n\n this.areas = zrUtil.map(areas, function (area) {\n return generateBrushOption(this.option, area);\n }, this);\n },\n\n /**\n * see module:echarts/component/helper/BrushController\n * @param {Object} brushOption\n */\n setBrushOption: function (brushOption) {\n this.brushOption = generateBrushOption(this.option, brushOption);\n this.brushType = this.brushOption.brushType;\n }\n});\n\nfunction generateBrushOption(option, brushOption) {\n return zrUtil.merge({\n brushType: option.brushType,\n brushMode: option.brushMode,\n transformable: option.transformable,\n brushStyle: new Model(option.brushStyle).getItemStyle(),\n removeOnClick: option.removeOnClick,\n z: option.z\n }, brushOption, true);\n}\n\nvar _default = BrushModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar List = require(\"../../data/List\");\n\nvar modelUtil = require(\"../../util/model\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar TimelineModel = ComponentModel.extend({\n type: 'timeline',\n layoutMode: 'box',\n\n /**\n * @protected\n */\n defaultOption: {\n zlevel: 0,\n // 一级层叠\n z: 4,\n // 二级层叠\n show: true,\n axisType: 'time',\n // 模式是时间类型,支持 value, category\n realtime: true,\n left: '20%',\n top: null,\n right: '20%',\n bottom: 0,\n width: null,\n height: 40,\n padding: 5,\n controlPosition: 'left',\n // 'left' 'right' 'top' 'bottom' 'none'\n autoPlay: false,\n rewind: false,\n // 反向播放\n loop: true,\n playInterval: 2000,\n // 播放时间间隔,单位ms\n currentIndex: 0,\n itemStyle: {},\n label: {\n color: '#000'\n },\n data: []\n },\n\n /**\n * @override\n */\n init: function (option, parentModel, ecModel) {\n /**\n * @private\n * @type {module:echarts/data/List}\n */\n this._data;\n /**\n * @private\n * @type {Array.}\n */\n\n this._names;\n this.mergeDefaultAndTheme(option, ecModel);\n\n this._initData();\n },\n\n /**\n * @override\n */\n mergeOption: function (option) {\n TimelineModel.superApply(this, 'mergeOption', arguments);\n\n this._initData();\n },\n\n /**\n * @param {number} [currentIndex]\n */\n setCurrentIndex: function (currentIndex) {\n if (currentIndex == null) {\n currentIndex = this.option.currentIndex;\n }\n\n var count = this._data.count();\n\n if (this.option.loop) {\n currentIndex = (currentIndex % count + count) % count;\n } else {\n currentIndex >= count && (currentIndex = count - 1);\n currentIndex < 0 && (currentIndex = 0);\n }\n\n this.option.currentIndex = currentIndex;\n },\n\n /**\n * @return {number} currentIndex\n */\n getCurrentIndex: function () {\n return this.option.currentIndex;\n },\n\n /**\n * @return {boolean}\n */\n isIndexMax: function () {\n return this.getCurrentIndex() >= this._data.count() - 1;\n },\n\n /**\n * @param {boolean} state true: play, false: stop\n */\n setPlayState: function (state) {\n this.option.autoPlay = !!state;\n },\n\n /**\n * @return {boolean} true: play, false: stop\n */\n getPlayState: function () {\n return !!this.option.autoPlay;\n },\n\n /**\n * @private\n */\n _initData: function () {\n var thisOption = this.option;\n var dataArr = thisOption.data || [];\n var axisType = thisOption.axisType;\n var names = this._names = [];\n\n if (axisType === 'category') {\n var idxArr = [];\n zrUtil.each(dataArr, function (item, index) {\n var value = modelUtil.getDataItemValue(item);\n var newItem;\n\n if (zrUtil.isObject(item)) {\n newItem = zrUtil.clone(item);\n newItem.value = index;\n } else {\n newItem = index;\n }\n\n idxArr.push(newItem);\n\n if (!zrUtil.isString(value) && (value == null || isNaN(value))) {\n value = '';\n }\n\n names.push(value + '');\n });\n dataArr = idxArr;\n }\n\n var dimType = {\n category: 'ordinal',\n time: 'time'\n }[axisType] || 'number';\n var data = this._data = new List([{\n name: 'value',\n type: dimType\n }], this);\n data.initData(dataArr, names);\n },\n getData: function () {\n return this._data;\n },\n\n /**\n * @public\n * @return {Array.} categoreis\n */\n getCategories: function () {\n if (this.get('axisType') === 'category') {\n return this._names.slice();\n }\n }\n});\nvar _default = TimelineModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar textContain = require(\"zrender/lib/contain/text\");\n\nvar featureManager = require(\"./featureManager\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar Model = require(\"../../model/Model\");\n\nvar DataDiffer = require(\"../../data/DataDiffer\");\n\nvar listComponentHelper = require(\"../helper/listComponent\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = echarts.extendComponentView({\n type: 'toolbox',\n render: function (toolboxModel, ecModel, api, payload) {\n var group = this.group;\n group.removeAll();\n\n if (!toolboxModel.get('show')) {\n return;\n }\n\n var itemSize = +toolboxModel.get('itemSize');\n var featureOpts = toolboxModel.get('feature') || {};\n var features = this._features || (this._features = {});\n var featureNames = [];\n zrUtil.each(featureOpts, function (opt, name) {\n featureNames.push(name);\n });\n new DataDiffer(this._featureNames || [], featureNames).add(processFeature).update(processFeature).remove(zrUtil.curry(processFeature, null)).execute(); // Keep for diff.\n\n this._featureNames = featureNames;\n\n function processFeature(newIndex, oldIndex) {\n var featureName = featureNames[newIndex];\n var oldName = featureNames[oldIndex];\n var featureOpt = featureOpts[featureName];\n var featureModel = new Model(featureOpt, toolboxModel, toolboxModel.ecModel);\n var feature;\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();\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 path.setStyle({\n text: titles[iconName],\n textPosition: hoverStyle.textPosition || 'bottom',\n textFill: hoverStyle.fill || hoverStyle.stroke || '#000',\n textAlign: hoverStyle.textAlign || 'center'\n });\n }).on('mouseout', function () {\n path.setStyle({\n textFill: 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;","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @file The file used to draw sankey view\n * @author Deqing Li(annong035@gmail.com)\n */\nvar nodeOpacityPath = ['itemStyle', 'opacity'];\nvar lineOpacityPath = ['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.highlight && el.highlight();\n el.traverse(function (child) {\n if (child.type !== 'group') {\n child.setStyle('opacity', opacity);\n }\n });\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 var orient = shape.orient;\n\n if (orient === 'vertical') {\n ctx.moveTo(shape.x1, shape.y1);\n ctx.bezierCurveTo(shape.cpx1, shape.cpy1, shape.cpx2, shape.cpy2, shape.x2, shape.y2);\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.moveTo(shape.x1, shape.y1);\n ctx.bezierCurveTo(shape.cpx1, shape.cpy1, shape.cpx2, shape.cpy2, shape.x2, shape.y2);\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});\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 if (itemModel.get('focusNodeAdjacency')) {\n el.off('mouseover').on('mouseover', function () {\n if (!sankeyView._focusAdjacencyDisabled) {\n api.dispatchAction({\n type: 'focusNodeAdjacency',\n seriesId: seriesModel.id,\n dataIndex: el.dataIndex\n });\n }\n });\n el.off('mouseout').on('mouseout', function () {\n if (!sankeyView._focusAdjacencyDisabled) {\n api.dispatchAction({\n type: 'unfocusNodeAdjacency',\n seriesId: seriesModel.id\n });\n }\n });\n }\n });\n edgeData.eachItemGraphicEl(function (el, dataIndex) {\n var edgeModel = edgeData.getItemModel(dataIndex);\n\n if (edgeModel.get('focusNodeAdjacency')) {\n el.off('mouseover').on('mouseover', function () {\n if (!sankeyView._focusAdjacencyDisabled) {\n api.dispatchAction({\n type: 'focusNodeAdjacency',\n seriesId: seriesModel.id,\n edgeDataIndex: el.dataIndex\n });\n }\n });\n el.off('mouseout').on('mouseout', function () {\n if (!sankeyView._focusAdjacencyDisabled) {\n api.dispatchAction({\n type: 'unfocusNodeAdjacency',\n seriesId: seriesModel.id\n });\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 focusNodeAdjacency: function (seriesModel, ecModel, api, payload) {\n var data = this._model.getData();\n\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, nodeOpacityPath);\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, lineOpacityPath);\n fadeInItem(edge.node2, nodeOpacityPath);\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, lineOpacityPath);\n fadeInItem(edge.node1, nodeOpacityPath);\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, lineOpacityPath);\n fadeInItem(edge.node1, nodeOpacityPath);\n fadeInItem(edge.node2, nodeOpacityPath);\n });\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 = this._model.getGraph();\n\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 height: rect.height + 20\n }\n }, seriesModel, cb);\n return rectEl;\n}\n\nmodule.exports = _default;","var Path = require(\"../Path\");\n\n/**\n * 圆形\n * @module zrender/shape/Circle\n */\nvar _default = Path.extend({\n type: 'circle',\n shape: {\n cx: 0,\n cy: 0,\n r: 0\n },\n buildPath: function (ctx, shape, inBundle) {\n // Better stroking in ShapeBundle\n // Always do it may have performence issue ( fill may be 2x more cost)\n if (inBundle) {\n ctx.moveTo(shape.cx + shape.r, shape.cy);\n } // else {\n // if (ctx.allocate && !ctx.data.length) {\n // ctx.allocate(ctx.CMD_MEM_SIZE.A);\n // }\n // }\n // Better stroking in ShapeBundle\n // ctx.moveTo(shape.cx + shape.r, shape.cy);\n\n\n ctx.arc(shape.cx, shape.cy, shape.r, 0, Math.PI * 2, true);\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar matrix = require(\"zrender/lib/core/matrix\");\n\nvar layoutUtil = require(\"../../util/layout\");\n\nvar axisHelper = require(\"../../coord/axisHelper\");\n\nvar ParallelAxis = require(\"./ParallelAxis\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar sliderMove = require(\"../../component/helper/sliderMove\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Parallel Coordinates\n * \n */\nvar each = zrUtil.each;\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathFloor = Math.floor;\nvar mathCeil = Math.ceil;\nvar round = numberUtil.round;\nvar PI = Math.PI;\n\nfunction Parallel(parallelModel, ecModel, api) {\n /**\n * key: dimension\n * @type {Object.}\n * @private\n */\n this._axesMap = zrUtil.createHashMap();\n /**\n * key: dimension\n * value: {position: [], rotation, }\n * @type {Object.}\n * @private\n */\n\n this._axesLayout = {};\n /**\n * Always follow axis order.\n * @type {Array.}\n * @readOnly\n */\n\n this.dimensions = parallelModel.dimensions;\n /**\n * @type {module:zrender/core/BoundingRect}\n */\n\n this._rect;\n /**\n * @type {module:echarts/coord/parallel/ParallelModel}\n */\n\n this._model = parallelModel;\n\n this._init(parallelModel, ecModel, api);\n}\n\nParallel.prototype = {\n type: 'parallel',\n constructor: Parallel,\n\n /**\n * Initialize cartesian coordinate systems\n * @private\n */\n _init: function (parallelModel, ecModel, api) {\n var dimensions = parallelModel.dimensions;\n var parallelAxisIndex = parallelModel.parallelAxisIndex;\n each(dimensions, function (dim, idx) {\n var axisIndex = parallelAxisIndex[idx];\n var axisModel = ecModel.getComponent('parallelAxis', axisIndex);\n\n var axis = this._axesMap.set(dim, new ParallelAxis(dim, axisHelper.createScaleByModel(axisModel), [0, 0], axisModel.get('type'), axisIndex));\n\n var isCategory = axis.type === 'category';\n axis.onBand = isCategory && axisModel.get('boundaryGap');\n axis.inverse = axisModel.get('inverse'); // Injection\n\n axisModel.axis = axis;\n axis.model = axisModel;\n axis.coordinateSystem = axisModel.coordinateSystem = this;\n }, this);\n },\n\n /**\n * Update axis scale after data processed\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n update: function (ecModel, api) {\n this._updateAxesFromSeries(this._model, ecModel);\n },\n\n /**\n * @override\n */\n containPoint: function (point) {\n var layoutInfo = this._makeLayoutInfo();\n\n var axisBase = layoutInfo.axisBase;\n var layoutBase = layoutInfo.layoutBase;\n var pixelDimIndex = layoutInfo.pixelDimIndex;\n var pAxis = point[1 - pixelDimIndex];\n var pLayout = point[pixelDimIndex];\n return pAxis >= axisBase && pAxis <= axisBase + layoutInfo.axisLength && pLayout >= layoutBase && pLayout <= layoutBase + layoutInfo.layoutLength;\n },\n getModel: function () {\n return this._model;\n },\n\n /**\n * Update properties from series\n * @private\n */\n _updateAxesFromSeries: function (parallelModel, ecModel) {\n ecModel.eachSeries(function (seriesModel) {\n if (!parallelModel.contains(seriesModel, ecModel)) {\n return;\n }\n\n var data = seriesModel.getData();\n each(this.dimensions, function (dim) {\n var axis = this._axesMap.get(dim);\n\n axis.scale.unionExtentFromData(data, data.mapDimension(dim));\n axisHelper.niceScaleExtent(axis.scale, axis.model);\n }, this);\n }, this);\n },\n\n /**\n * Resize the parallel coordinate system.\n * @param {module:echarts/coord/parallel/ParallelModel} parallelModel\n * @param {module:echarts/ExtensionAPI} api\n */\n resize: function (parallelModel, api) {\n this._rect = layoutUtil.getLayoutRect(parallelModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n\n this._layoutAxes();\n },\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getRect: function () {\n return this._rect;\n },\n\n /**\n * @private\n */\n _makeLayoutInfo: function () {\n var parallelModel = this._model;\n var rect = this._rect;\n var xy = ['x', 'y'];\n var wh = ['width', 'height'];\n var layout = parallelModel.get('layout');\n var pixelDimIndex = layout === 'horizontal' ? 0 : 1;\n var layoutLength = rect[wh[pixelDimIndex]];\n var layoutExtent = [0, layoutLength];\n var axisCount = this.dimensions.length;\n var axisExpandWidth = restrict(parallelModel.get('axisExpandWidth'), layoutExtent);\n var axisExpandCount = restrict(parallelModel.get('axisExpandCount') || 0, [0, axisCount]);\n var axisExpandable = parallelModel.get('axisExpandable') && axisCount > 3 && axisCount > axisExpandCount && axisExpandCount > 1 && axisExpandWidth > 0 && layoutLength > 0; // `axisExpandWindow` is According to the coordinates of [0, axisExpandLength],\n // for sake of consider the case that axisCollapseWidth is 0 (when screen is narrow),\n // where collapsed axes should be overlapped.\n\n var axisExpandWindow = parallelModel.get('axisExpandWindow');\n var winSize;\n\n if (!axisExpandWindow) {\n winSize = restrict(axisExpandWidth * (axisExpandCount - 1), layoutExtent);\n var axisExpandCenter = parallelModel.get('axisExpandCenter') || mathFloor(axisCount / 2);\n axisExpandWindow = [axisExpandWidth * axisExpandCenter - winSize / 2];\n axisExpandWindow[1] = axisExpandWindow[0] + winSize;\n } else {\n winSize = restrict(axisExpandWindow[1] - axisExpandWindow[0], layoutExtent);\n axisExpandWindow[1] = axisExpandWindow[0] + winSize;\n }\n\n var axisCollapseWidth = (layoutLength - winSize) / (axisCount - axisExpandCount); // Avoid axisCollapseWidth is too small.\n\n axisCollapseWidth < 3 && (axisCollapseWidth = 0); // Find the first and last indices > ewin[0] and < ewin[1].\n\n var winInnerIndices = [mathFloor(round(axisExpandWindow[0] / axisExpandWidth, 1)) + 1, mathCeil(round(axisExpandWindow[1] / axisExpandWidth, 1)) - 1]; // Pos in ec coordinates.\n\n var axisExpandWindow0Pos = axisCollapseWidth / axisExpandWidth * axisExpandWindow[0];\n return {\n layout: layout,\n pixelDimIndex: pixelDimIndex,\n layoutBase: rect[xy[pixelDimIndex]],\n layoutLength: layoutLength,\n axisBase: rect[xy[1 - pixelDimIndex]],\n axisLength: rect[wh[1 - pixelDimIndex]],\n axisExpandable: axisExpandable,\n axisExpandWidth: axisExpandWidth,\n axisCollapseWidth: axisCollapseWidth,\n axisExpandWindow: axisExpandWindow,\n axisCount: axisCount,\n winInnerIndices: winInnerIndices,\n axisExpandWindow0Pos: axisExpandWindow0Pos\n };\n },\n\n /**\n * @private\n */\n _layoutAxes: function () {\n var rect = this._rect;\n var axes = this._axesMap;\n var dimensions = this.dimensions;\n\n var layoutInfo = this._makeLayoutInfo();\n\n var layout = layoutInfo.layout;\n axes.each(function (axis) {\n var axisExtent = [0, layoutInfo.axisLength];\n var idx = axis.inverse ? 1 : 0;\n axis.setExtent(axisExtent[idx], axisExtent[1 - idx]);\n });\n each(dimensions, function (dim, idx) {\n var posInfo = (layoutInfo.axisExpandable ? layoutAxisWithExpand : layoutAxisWithoutExpand)(idx, layoutInfo);\n var positionTable = {\n horizontal: {\n x: posInfo.position,\n y: layoutInfo.axisLength\n },\n vertical: {\n x: 0,\n y: posInfo.position\n }\n };\n var rotationTable = {\n horizontal: PI / 2,\n vertical: 0\n };\n var position = [positionTable[layout].x + rect.x, positionTable[layout].y + rect.y];\n var rotation = rotationTable[layout];\n var transform = matrix.create();\n matrix.rotate(transform, transform, rotation);\n matrix.translate(transform, transform, position); // TODO\n // tick等排布信息。\n // TODO\n // 根据axis order 更新 dimensions顺序。\n\n this._axesLayout[dim] = {\n position: position,\n rotation: rotation,\n transform: transform,\n axisNameAvailableWidth: posInfo.axisNameAvailableWidth,\n axisLabelShow: posInfo.axisLabelShow,\n nameTruncateMaxWidth: posInfo.nameTruncateMaxWidth,\n tickDirection: 1,\n labelDirection: 1\n };\n }, this);\n },\n\n /**\n * Get axis by dim.\n * @param {string} dim\n * @return {module:echarts/coord/parallel/ParallelAxis} [description]\n */\n getAxis: function (dim) {\n return this._axesMap.get(dim);\n },\n\n /**\n * Convert a dim value of a single item of series data to Point.\n * @param {*} value\n * @param {string} dim\n * @return {Array}\n */\n dataToPoint: function (value, dim) {\n return this.axisCoordToPoint(this._axesMap.get(dim).dataToCoord(value), dim);\n },\n\n /**\n * Travel data for one time, get activeState of each data item.\n * @param {module:echarts/data/List} data\n * @param {Functio} cb param: {string} activeState 'active' or 'inactive' or 'normal'\n * {number} dataIndex\n * @param {number} [start=0] the start dataIndex that travel from.\n * @param {number} [end=data.count()] the next dataIndex of the last dataIndex will be travel.\n */\n eachActiveState: function (data, callback, start, end) {\n start == null && (start = 0);\n end == null && (end = data.count());\n var axesMap = this._axesMap;\n var dimensions = this.dimensions;\n var dataDimensions = [];\n var axisModels = [];\n zrUtil.each(dimensions, function (axisDim) {\n dataDimensions.push(data.mapDimension(axisDim));\n axisModels.push(axesMap.get(axisDim).model);\n });\n var hasActiveSet = this.hasAxisBrushed();\n\n for (var dataIndex = start; dataIndex < end; dataIndex++) {\n var activeState;\n\n if (!hasActiveSet) {\n activeState = 'normal';\n } else {\n activeState = 'active';\n var values = data.getValues(dataDimensions, dataIndex);\n\n for (var j = 0, lenj = dimensions.length; j < lenj; j++) {\n var state = axisModels[j].getActiveState(values[j]);\n\n if (state === 'inactive') {\n activeState = 'inactive';\n break;\n }\n }\n }\n\n callback(activeState, dataIndex);\n }\n },\n\n /**\n * Whether has any activeSet.\n * @return {boolean}\n */\n hasAxisBrushed: function () {\n var dimensions = this.dimensions;\n var axesMap = this._axesMap;\n var hasActiveSet = false;\n\n for (var j = 0, lenj = dimensions.length; j < lenj; j++) {\n if (axesMap.get(dimensions[j]).model.getActiveState() !== 'normal') {\n hasActiveSet = true;\n }\n }\n\n return hasActiveSet;\n },\n\n /**\n * Convert coords of each axis to Point.\n * Return point. For example: [10, 20]\n * @param {Array.} coords\n * @param {string} dim\n * @return {Array.}\n */\n axisCoordToPoint: function (coord, dim) {\n var axisLayout = this._axesLayout[dim];\n return graphic.applyTransform([coord, 0], axisLayout.transform);\n },\n\n /**\n * Get axis layout.\n */\n getAxisLayout: function (dim) {\n return zrUtil.clone(this._axesLayout[dim]);\n },\n\n /**\n * @param {Array.} point\n * @return {Object} {axisExpandWindow, delta, behavior: 'jump' | 'slide' | 'none'}.\n */\n getSlidedAxisExpandWindow: function (point) {\n var layoutInfo = this._makeLayoutInfo();\n\n var pixelDimIndex = layoutInfo.pixelDimIndex;\n var axisExpandWindow = layoutInfo.axisExpandWindow.slice();\n var winSize = axisExpandWindow[1] - axisExpandWindow[0];\n var extent = [0, layoutInfo.axisExpandWidth * (layoutInfo.axisCount - 1)]; // Out of the area of coordinate system.\n\n if (!this.containPoint(point)) {\n return {\n behavior: 'none',\n axisExpandWindow: axisExpandWindow\n };\n } // Conver the point from global to expand coordinates.\n\n\n var pointCoord = point[pixelDimIndex] - layoutInfo.layoutBase - layoutInfo.axisExpandWindow0Pos; // For dragging operation convenience, the window should not be\n // slided when mouse is the center area of the window.\n\n var delta;\n var behavior = 'slide';\n var axisCollapseWidth = layoutInfo.axisCollapseWidth;\n\n var triggerArea = this._model.get('axisExpandSlideTriggerArea'); // But consider touch device, jump is necessary.\n\n\n var useJump = triggerArea[0] != null;\n\n if (axisCollapseWidth) {\n if (useJump && axisCollapseWidth && pointCoord < winSize * triggerArea[0]) {\n behavior = 'jump';\n delta = pointCoord - winSize * triggerArea[2];\n } else if (useJump && axisCollapseWidth && pointCoord > winSize * (1 - triggerArea[0])) {\n behavior = 'jump';\n delta = pointCoord - winSize * (1 - triggerArea[2]);\n } else {\n (delta = pointCoord - winSize * triggerArea[1]) >= 0 && (delta = pointCoord - winSize * (1 - triggerArea[1])) <= 0 && (delta = 0);\n }\n\n delta *= layoutInfo.axisExpandWidth / axisCollapseWidth;\n delta ? sliderMove(delta, axisExpandWindow, extent, 'all') // Avoid nonsense triger on mousemove.\n : behavior = 'none';\n } // When screen is too narrow, make it visible and slidable, although it is hard to interact.\n else {\n var winSize = axisExpandWindow[1] - axisExpandWindow[0];\n var pos = extent[1] * pointCoord / winSize;\n axisExpandWindow = [mathMax(0, pos - winSize / 2)];\n axisExpandWindow[1] = mathMin(extent[1], axisExpandWindow[0] + winSize);\n axisExpandWindow[0] = axisExpandWindow[1] - winSize;\n }\n\n return {\n axisExpandWindow: axisExpandWindow,\n behavior: behavior\n };\n }\n};\n\nfunction restrict(len, extent) {\n return mathMin(mathMax(len, extent[0]), extent[1]);\n}\n\nfunction layoutAxisWithoutExpand(axisIndex, layoutInfo) {\n var step = layoutInfo.layoutLength / (layoutInfo.axisCount - 1);\n return {\n position: step * axisIndex,\n axisNameAvailableWidth: step,\n axisLabelShow: true\n };\n}\n\nfunction layoutAxisWithExpand(axisIndex, layoutInfo) {\n var layoutLength = layoutInfo.layoutLength;\n var axisExpandWidth = layoutInfo.axisExpandWidth;\n var axisCount = layoutInfo.axisCount;\n var axisCollapseWidth = layoutInfo.axisCollapseWidth;\n var winInnerIndices = layoutInfo.winInnerIndices;\n var position;\n var axisNameAvailableWidth = axisCollapseWidth;\n var axisLabelShow = false;\n var nameTruncateMaxWidth;\n\n if (axisIndex < winInnerIndices[0]) {\n position = axisIndex * axisCollapseWidth;\n nameTruncateMaxWidth = axisCollapseWidth;\n } else if (axisIndex <= winInnerIndices[1]) {\n position = layoutInfo.axisExpandWindow0Pos + axisIndex * axisExpandWidth - layoutInfo.axisExpandWindow[0];\n axisNameAvailableWidth = axisExpandWidth;\n axisLabelShow = true;\n } else {\n position = layoutLength - (axisCount - 1 - axisIndex) * axisCollapseWidth;\n nameTruncateMaxWidth = axisCollapseWidth;\n }\n\n return {\n position: position,\n axisNameAvailableWidth: axisNameAvailableWidth,\n axisLabelShow: axisLabelShow,\n nameTruncateMaxWidth: nameTruncateMaxWidth\n };\n}\n\nvar _default = Parallel;\nmodule.exports = _default;","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"../component/singleAxis\");\n\nrequire(\"./themeRiver/ThemeRiverSeries\");\n\nrequire(\"./themeRiver/ThemeRiverView\");\n\nvar themeRiverLayout = require(\"./themeRiver/themeRiverLayout\");\n\nvar themeRiverVisual = require(\"./themeRiver/themeRiverVisual\");\n\nvar dataFilter = require(\"../processor/dataFilter\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerLayout(themeRiverLayout);\necharts.registerVisual(themeRiverVisual);\necharts.registerProcessor(dataFilter('themeRiver'));","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _number = require(\"../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _dataStackHelper = require(\"../data/helper/dataStackHelper\");\n\nvar isDimensionStacked = _dataStackHelper.isDimensionStacked;\n\nvar createRenderPlanner = require(\"../chart/helper/createRenderPlanner\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Float32Array */\nvar STACK_PREFIX = '__ec_stack_';\nvar LARGE_BAR_MIN_WIDTH = 0.5;\nvar LargeArr = typeof Float32Array !== 'undefined' ? Float32Array : Array;\n\nfunction getSeriesStackId(seriesModel) {\n return seriesModel.get('stack') || STACK_PREFIX + seriesModel.seriesIndex;\n}\n\nfunction getAxisKey(axis) {\n return axis.dim + axis.index;\n}\n/**\n * @param {Object} opt\n * @param {module:echarts/coord/Axis} opt.axis Only support category axis currently.\n * @param {number} opt.count Positive interger.\n * @param {number} [opt.barWidth]\n * @param {number} [opt.barMaxWidth]\n * @param {number} [opt.barGap]\n * @param {number} [opt.barCategoryGap]\n * @return {Object} {width, offset, offsetCenter} If axis.type is not 'category', return undefined.\n */\n\n\nfunction getLayoutOnAxis(opt) {\n var params = [];\n var baseAxis = opt.axis;\n var axisKey = 'axis0';\n\n if (baseAxis.type !== 'category') {\n return;\n }\n\n var bandWidth = baseAxis.getBandWidth();\n\n for (var i = 0; i < opt.count || 0; i++) {\n params.push(zrUtil.defaults({\n bandWidth: bandWidth,\n axisKey: axisKey,\n stackId: STACK_PREFIX + i\n }, opt));\n }\n\n var widthAndOffsets = doCalBarWidthAndOffset(params);\n var result = [];\n\n for (var i = 0; i < opt.count; i++) {\n var item = widthAndOffsets[axisKey][STACK_PREFIX + i];\n item.offsetCenter = item.offset + item.width / 2;\n result.push(item);\n }\n\n return result;\n}\n\nfunction prepareLayoutBarSeries(seriesType, ecModel) {\n var seriesModels = [];\n ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n // Check series coordinate, do layout for cartesian2d only\n if (isOnCartesian(seriesModel) && !isInLargeMode(seriesModel)) {\n seriesModels.push(seriesModel);\n }\n });\n return seriesModels;\n}\n\nfunction makeColumnLayout(barSeries) {\n var seriesInfoList = [];\n zrUtil.each(barSeries, function (seriesModel) {\n var data = seriesModel.getData();\n var cartesian = seriesModel.coordinateSystem;\n var baseAxis = cartesian.getBaseAxis();\n var axisExtent = baseAxis.getExtent();\n var bandWidth = baseAxis.type === 'category' ? baseAxis.getBandWidth() : Math.abs(axisExtent[1] - axisExtent[0]) / data.count();\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 seriesInfoList.push({\n bandWidth: bandWidth,\n barWidth: barWidth,\n barMaxWidth: barMaxWidth,\n barGap: barGap,\n barCategoryGap: barCategoryGap,\n axisKey: getAxisKey(baseAxis),\n stackId: getSeriesStackId(seriesModel)\n });\n });\n return doCalBarWidthAndOffset(seriesInfoList);\n}\n\nfunction doCalBarWidthAndOffset(seriesInfoList) {\n // Columns info on each category axis. Key is cartesian name\n var columnsMap = {};\n zrUtil.each(seriesInfoList, function (seriesInfo, idx) {\n var axisKey = seriesInfo.axisKey;\n var bandWidth = seriesInfo.bandWidth;\n var columnsOnAxis = columnsMap[axisKey] || {\n bandWidth: bandWidth,\n remainedWidth: bandWidth,\n autoWidthCount: 0,\n categoryGap: '20%',\n gap: '30%',\n stacks: {}\n };\n var stacks = columnsOnAxis.stacks;\n columnsMap[axisKey] = columnsOnAxis;\n var stackId = seriesInfo.stackId;\n\n if (!stacks[stackId]) {\n columnsOnAxis.autoWidthCount++;\n }\n\n stacks[stackId] = stacks[stackId] || {\n width: 0,\n maxWidth: 0\n }; // Caution: In a single coordinate system, these barGrid attributes\n // will be shared by series. Consider that they have default values,\n // only the attributes set on the last series will work.\n // Do not change this fact unless there will be a break change.\n // TODO\n\n var barWidth = seriesInfo.barWidth;\n\n if (barWidth && !stacks[stackId].width) {\n // See #6312, do not restrict width.\n stacks[stackId].width = barWidth;\n barWidth = Math.min(columnsOnAxis.remainedWidth, barWidth);\n columnsOnAxis.remainedWidth -= barWidth;\n }\n\n var barMaxWidth = seriesInfo.barMaxWidth;\n barMaxWidth && (stacks[stackId].maxWidth = barMaxWidth);\n var barGap = seriesInfo.barGap;\n barGap != null && (columnsOnAxis.gap = barGap);\n var barCategoryGap = seriesInfo.barCategoryGap;\n barCategoryGap != null && (columnsOnAxis.categoryGap = barCategoryGap);\n });\n var result = {};\n zrUtil.each(columnsMap, function (columnsOnAxis, coordSysName) {\n result[coordSysName] = {};\n var stacks = columnsOnAxis.stacks;\n var bandWidth = columnsOnAxis.bandWidth;\n var categoryGap = parsePercent(columnsOnAxis.categoryGap, bandWidth);\n var barGapPercent = parsePercent(columnsOnAxis.gap, 1);\n var remainedWidth = columnsOnAxis.remainedWidth;\n var autoWidthCount = columnsOnAxis.autoWidthCount;\n var autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);\n autoWidth = Math.max(autoWidth, 0); // Find if any auto calculated bar exceeded maxBarWidth\n\n zrUtil.each(stacks, function (column, 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/**\n * @param {Object} barWidthAndOffset The result of makeColumnLayout\n * @param {module:echarts/coord/Axis} axis\n * @param {module:echarts/model/Series} [seriesModel] If not provided, return all.\n * @return {Object} {stackId: {offset, width}} or {offset, width} if seriesModel provided.\n */\n\n\nfunction retrieveColumnLayout(barWidthAndOffset, axis, seriesModel) {\n if (barWidthAndOffset && axis) {\n var result = barWidthAndOffset[getAxisKey(axis)];\n\n if (result != null && seriesModel != null) {\n result = result[getSeriesStackId(seriesModel)];\n }\n\n return result;\n }\n}\n/**\n * @param {string} seriesType\n * @param {module:echarts/model/Global} ecModel\n */\n\n\nfunction layout(seriesType, ecModel) {\n var seriesModels = prepareLayoutBarSeries(seriesType, ecModel);\n var barWidthAndOffset = makeColumnLayout(seriesModels);\n var lastStackCoords = {};\n var lastStackCoordsOrigin = {};\n zrUtil.each(seriesModels, function (seriesModel) {\n var data = seriesModel.getData();\n var cartesian = seriesModel.coordinateSystem;\n var baseAxis = cartesian.getBaseAxis();\n var stackId = getSeriesStackId(seriesModel);\n var columnLayoutInfo = barWidthAndOffset[getAxisKey(baseAxis)][stackId];\n var columnOffset = columnLayoutInfo.offset;\n var columnWidth = columnLayoutInfo.width;\n var valueAxis = cartesian.getOtherAxis(baseAxis);\n var barMinHeight = seriesModel.get('barMinHeight') || 0;\n lastStackCoords[stackId] = lastStackCoords[stackId] || [];\n lastStackCoordsOrigin[stackId] = lastStackCoordsOrigin[stackId] || []; // Fix #4243\n\n data.setLayout({\n offset: columnOffset,\n size: columnWidth\n });\n var valueDim = data.mapDimension(valueAxis.dim);\n var baseDim = data.mapDimension(baseAxis.dim);\n var stacked = isDimensionStacked(data, valueDim\n /*, baseDim*/\n );\n var isValueAxisH = valueAxis.isHorizontal();\n var valueAxisStart = getValueAxisStart(baseAxis, valueAxis, stacked);\n\n for (var idx = 0, len = data.count(); idx < len; idx++) {\n var value = data.get(valueDim, idx);\n var baseValue = data.get(baseDim, idx);\n\n if (isNaN(value)) {\n continue;\n }\n\n var sign = value >= 0 ? 'p' : 'n';\n var baseCoord = valueAxisStart; // Because of the barMinHeight, we can not use the value in\n // stackResultDimension directly.\n\n if (stacked) {\n // Only ordinal axis can be stacked.\n if (!lastStackCoords[stackId][baseValue]) {\n lastStackCoords[stackId][baseValue] = {\n p: valueAxisStart,\n // Positive stack\n n: valueAxisStart // Negative stack\n\n };\n } // Should also consider #4243\n\n\n baseCoord = lastStackCoords[stackId][baseValue][sign];\n }\n\n var x;\n var y;\n var width;\n var height;\n\n if (isValueAxisH) {\n var coord = cartesian.dataToPoint([value, baseValue]);\n x = baseCoord;\n y = coord[1] + columnOffset;\n width = coord[0] - valueAxisStart;\n height = columnWidth;\n\n if (Math.abs(width) < barMinHeight) {\n width = (width < 0 ? -1 : 1) * barMinHeight;\n }\n\n stacked && (lastStackCoords[stackId][baseValue][sign] += width);\n } else {\n var coord = cartesian.dataToPoint([baseValue, value]);\n x = coord[0] + columnOffset;\n y = baseCoord;\n width = columnWidth;\n height = coord[1] - valueAxisStart;\n\n if (Math.abs(height) < barMinHeight) {\n // Include zero to has a positive bar\n height = (height <= 0 ? -1 : 1) * barMinHeight;\n }\n\n stacked && (lastStackCoords[stackId][baseValue][sign] += height);\n }\n\n data.setItemLayout(idx, {\n x: x,\n y: y,\n width: width,\n height: height\n });\n }\n }, this);\n} // TODO: Do not support stack in large mode yet.\n\n\nvar largeLayout = {\n seriesType: 'bar',\n plan: createRenderPlanner(),\n reset: function (seriesModel) {\n if (!isOnCartesian(seriesModel) || !isInLargeMode(seriesModel)) {\n return;\n }\n\n var data = seriesModel.getData();\n var cartesian = seriesModel.coordinateSystem;\n var baseAxis = cartesian.getBaseAxis();\n var valueAxis = cartesian.getOtherAxis(baseAxis);\n var valueDim = data.mapDimension(valueAxis.dim);\n var baseDim = data.mapDimension(baseAxis.dim);\n var valueAxisHorizontal = valueAxis.isHorizontal();\n var valueDimIdx = valueAxisHorizontal ? 0 : 1;\n var barWidth = retrieveColumnLayout(makeColumnLayout([seriesModel]), baseAxis, seriesModel).width;\n\n if (!(barWidth > LARGE_BAR_MIN_WIDTH)) {\n // jshint ignore:line\n barWidth = LARGE_BAR_MIN_WIDTH;\n }\n\n return {\n progress: progress\n };\n\n function progress(params, data) {\n var largePoints = new LargeArr(params.count * 2);\n var dataIndex;\n var coord = [];\n var valuePair = [];\n var offset = 0;\n\n while ((dataIndex = params.next()) != null) {\n valuePair[valueDimIdx] = data.get(valueDim, dataIndex);\n valuePair[1 - valueDimIdx] = data.get(baseDim, dataIndex);\n coord = cartesian.dataToPoint(valuePair, null, coord);\n largePoints[offset++] = coord[0];\n largePoints[offset++] = coord[1];\n }\n\n data.setLayout({\n largePoints: largePoints,\n barWidth: barWidth,\n valueAxisStart: getValueAxisStart(baseAxis, valueAxis, false),\n valueAxisHorizontal: valueAxisHorizontal\n });\n }\n }\n};\n\nfunction isOnCartesian(seriesModel) {\n return seriesModel.coordinateSystem && seriesModel.coordinateSystem.type === 'cartesian2d';\n}\n\nfunction isInLargeMode(seriesModel) {\n return seriesModel.pipelineContext && seriesModel.pipelineContext.large;\n} // See cases in `test/bar-start.html` and `#7412`, `#8747`.\n\n\nfunction getValueAxisStart(baseAxis, valueAxis, stacked) {\n var extent = valueAxis.getGlobalExtent();\n var min;\n var max;\n\n if (extent[0] > extent[1]) {\n min = extent[1];\n max = extent[0];\n } else {\n min = extent[0];\n max = extent[1];\n }\n\n var valueStart = valueAxis.toGlobalCoord(valueAxis.dataToCoord(0));\n valueStart < min && (valueStart = min);\n valueStart > max && (valueStart = max);\n return valueStart;\n}\n\nexports.getLayoutOnAxis = getLayoutOnAxis;\nexports.prepareLayoutBarSeries = prepareLayoutBarSeries;\nexports.makeColumnLayout = makeColumnLayout;\nexports.retrieveColumnLayout = retrieveColumnLayout;\nexports.layout = layout;\nexports.largeLayout = largeLayout;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar axisDefault = require(\"../axisDefault\");\n\nvar Model = require(\"../../model/Model\");\n\nvar axisModelCommonMixin = require(\"../axisModelCommonMixin\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar 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 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 axisLabel: axisLabel,\n // Competitable 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 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;","var Definable = require(\"./Definable\");\n\nvar zrUtil = require(\"../../core/util\");\n\nvar zrLog = require(\"../../core/log\");\n\nvar colorTool = require(\"../../tool/color\");\n\n/**\n * @file Manages SVG gradient elements.\n * @author Zhang Wenli\n */\n\n/**\n * Manages SVG gradient elements.\n *\n * @class\n * @extends Definable\n * @param {number} zrId zrender instance id\n * @param {SVGElement} svgRoot root of SVG document\n */\nfunction GradientManager(zrId, svgRoot) {\n Definable.call(this, zrId, svgRoot, ['linearGradient', 'radialGradient'], '__gradient_in_use__');\n}\n\nzrUtil.inherits(GradientManager, Definable);\n/**\n * Create new gradient DOM for fill or stroke if not exist,\n * but will not update gradient if exists.\n *\n * @param {SvgElement} svgElement SVG element to paint\n * @param {Displayable} displayable zrender displayable element\n */\n\nGradientManager.prototype.addWithoutUpdate = function (svgElement, displayable) {\n if (displayable && displayable.style) {\n var that = this;\n zrUtil.each(['fill', 'stroke'], function (fillOrStroke) {\n if (displayable.style[fillOrStroke] && (displayable.style[fillOrStroke].type === 'linear' || displayable.style[fillOrStroke].type === 'radial')) {\n var gradient = displayable.style[fillOrStroke];\n var defs = that.getDefs(true); // Create dom in if not exists\n\n var dom;\n\n if (gradient._dom) {\n // Gradient exists\n dom = gradient._dom;\n\n if (!defs.contains(gradient._dom)) {\n // _dom is no longer in defs, recreate\n that.addDom(dom);\n }\n } else {\n // New dom\n dom = that.add(gradient);\n }\n\n that.markUsed(displayable);\n var id = dom.getAttribute('id');\n svgElement.setAttribute(fillOrStroke, 'url(#' + id + ')');\n }\n });\n }\n};\n/**\n * Add a new gradient tag in \n *\n * @param {Gradient} gradient zr gradient instance\n * @return {SVGLinearGradientElement | SVGRadialGradientElement}\n * created DOM\n */\n\n\nGradientManager.prototype.add = function (gradient) {\n var dom;\n\n if (gradient.type === 'linear') {\n dom = this.createElement('linearGradient');\n } else if (gradient.type === 'radial') {\n dom = this.createElement('radialGradient');\n } else {\n zrLog('Illegal gradient type.');\n return null;\n } // Set dom id with gradient id, since each gradient instance\n // will have no more than one dom element.\n // id may exists before for those dirty elements, in which case\n // id should remain the same, and other attributes should be\n // updated.\n\n\n gradient.id = gradient.id || this.nextId++;\n dom.setAttribute('id', 'zr' + this._zrId + '-gradient-' + gradient.id);\n this.updateDom(gradient, dom);\n this.addDom(dom);\n return dom;\n};\n/**\n * Update gradient.\n *\n * @param {Gradient} gradient zr gradient instance\n */\n\n\nGradientManager.prototype.update = function (gradient) {\n var that = this;\n Definable.prototype.update.call(this, gradient, function () {\n var type = gradient.type;\n var tagName = gradient._dom.tagName;\n\n if (type === 'linear' && tagName === 'linearGradient' || type === 'radial' && tagName === 'radialGradient') {\n // Gradient type is not changed, update gradient\n that.updateDom(gradient, gradient._dom);\n } else {\n // Remove and re-create if type is changed\n that.removeDom(gradient);\n that.add(gradient);\n }\n });\n};\n/**\n * Update gradient dom\n *\n * @param {Gradient} gradient zr gradient instance\n * @param {SVGLinearGradientElement | SVGRadialGradientElement} dom\n * DOM to update\n */\n\n\nGradientManager.prototype.updateDom = function (gradient, dom) {\n if (gradient.type === 'linear') {\n dom.setAttribute('x1', gradient.x);\n dom.setAttribute('y1', gradient.y);\n dom.setAttribute('x2', gradient.x2);\n dom.setAttribute('y2', gradient.y2);\n } else if (gradient.type === 'radial') {\n dom.setAttribute('cx', gradient.x);\n dom.setAttribute('cy', gradient.y);\n dom.setAttribute('r', gradient.r);\n } else {\n zrLog('Illegal gradient type.');\n return;\n }\n\n if (gradient.global) {\n // x1, x2, y1, y2 in range of 0 to canvas width or height\n dom.setAttribute('gradientUnits', 'userSpaceOnUse');\n } else {\n // x1, x2, y1, y2 in range of 0 to 1\n dom.setAttribute('gradientUnits', 'objectBoundingBox');\n } // Remove color stops if exists\n\n\n dom.innerHTML = ''; // Add color stops\n\n var colors = gradient.colorStops;\n\n for (var i = 0, len = colors.length; i < len; ++i) {\n var stop = this.createElement('stop');\n stop.setAttribute('offset', colors[i].offset * 100 + '%');\n var color = colors[i].color;\n\n if (color.indexOf('rgba' > -1)) {\n // Fix Safari bug that stop-color not recognizing alpha #9014\n var opacity = colorTool.parse(color)[3];\n var hex = colorTool.toHex(color); // stop-color cannot be color, since:\n // The opacity value used for the gradient calculation is the\n // *product* of the value of stop-opacity and the opacity of the\n // value of stop-color.\n // See https://www.w3.org/TR/SVG2/pservers.html#StopOpacityProperty\n\n stop.setAttribute('stop-color', '#' + hex);\n stop.setAttribute('stop-opacity', opacity);\n } else {\n stop.setAttribute('stop-color', colors[i].color);\n }\n\n dom.appendChild(stop);\n } // Store dom element in gradient, to avoid creating multiple\n // dom instances for the same gradient element\n\n\n gradient._dom = dom;\n};\n/**\n * Mark a single gradient to be used\n *\n * @param {Displayable} displayable displayable element\n */\n\n\nGradientManager.prototype.markUsed = function (displayable) {\n if (displayable.style) {\n var gradient = displayable.style.fill;\n\n if (gradient && gradient._dom) {\n Definable.prototype.markUsed.call(this, gradient._dom);\n }\n\n gradient = displayable.style.stroke;\n\n if (gradient && gradient._dom) {\n Definable.prototype.markUsed.call(this, gradient._dom);\n }\n }\n};\n\nvar _default = GradientManager;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar textContain = require(\"zrender/lib/contain/text\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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\nfunction adjustSingleSide(list, cx, cy, r, dir, viewWidth, viewHeight) {\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 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 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 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 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) {\n var leftList = [];\n var rightList = [];\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 leftList.push(labelLayoutList[i]);\n } else {\n rightList.push(labelLayoutList[i]);\n }\n }\n\n adjustSingleSide(rightList, cx, cy, r, 1, viewWidth, viewHeight);\n adjustSingleSide(leftList, cx, cy, r, -1, viewWidth, viewHeight);\n\n for (var i = 0; i < labelLayoutList.length; i++) {\n if (isPositionCenter(labelLayoutList[i])) {\n continue;\n }\n\n var linePoints = labelLayoutList[i].linePoints;\n\n if (linePoints) {\n var dist = linePoints[1][0] - linePoints[2][0];\n\n if (labelLayoutList[i].x < cx) {\n linePoints[2][0] = labelLayoutList[i].x + 3;\n } else {\n linePoints[2][0] = labelLayoutList[i].x - 3;\n }\n\n linePoints[1][1] = linePoints[2][1] = labelLayoutList[i].y;\n linePoints[1][0] = linePoints[2][0] + dist;\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) {\n var data = seriesModel.getData();\n var labelLayoutList = [];\n var cx;\n var cy;\n var hasLabelRotate = false;\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 labelLineModel = itemModel.getModel('labelLine');\n var labelLineLen = labelLineModel.get('length');\n var labelLineLen2 = labelLineModel.get('length2');\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 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 textX = x3 + (dx < 0 ? -5 : 5);\n textY = y3;\n linePoints = [[x1, y1], [x2, y2], [x3, y3]];\n }\n\n textAlign = isLabelInside ? 'center' : dx > 0 ? 'left' : 'right';\n }\n\n var font = labelModel.getFont();\n var labelRotate = labelModel.get('rotate') ? dx < 0 ? -midAngle + Math.PI : -midAngle : 0;\n var text = seriesModel.getFormattedLabel(idx, 'normal') || data.getName(idx);\n var textRect = textContain.getBoundingRect(text, font, textAlign, 'top');\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 }; // 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);\n }\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar echartsAPIList = ['getDom', 'getZr', 'getWidth', 'getHeight', 'getDevicePixelRatio', 'dispatchAction', 'isDisposed', 'on', 'off', 'getDataURL', 'getConnectedDataURL', 'getModel', 'getOption', 'getViewOfComponentModel', 'getViewOfSeriesModel']; // And `getCoordinateSystems` and `getComponentByElement` will be injected in echarts.js\n\nfunction ExtensionAPI(chartInstance) {\n zrUtil.each(echartsAPIList, function (name) {\n this[name] = zrUtil.bind(chartInstance[name], chartInstance);\n }, this);\n}\n\nvar _default = ExtensionAPI;\nmodule.exports = _default;","/**\n * vuex v3.1.1\n * (c) 2019 Evan You\n * @license MIT\n */\nfunction applyMixin (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n}\n\nvar target = typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nfunction partial (fn, arg) {\n return function () {\n return fn(arg)\n }\n}\n\n// Base data struct for store's module, package with some attribute and method\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n // Store some children item\n this._children = Object.create(null);\n // Store the origin module object which passed by programmer\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n\n // Store the origin module's state\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors = { namespaced: { configurable: true } };\n\nprototypeAccessors.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n if (!parent.getChild(key).runtime) { return }\n\n parent.removeChild(key);\n};\n\nfunction update (path, targetModule, newModule) {\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n var state = this._modules.root.state;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools;\n if (useDevtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors$1 = { state: { configurable: true } };\n\nprototypeAccessors$1.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors$1.state.set = function (v) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, \"use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n this._subscribers.forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n process.env.NODE_ENV !== 'production' &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n try {\n this._actionSubscribers\n .filter(function (sub) { return sub.before; })\n .forEach(function (sub) { return sub.before(action, this$1.state); });\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"[vuex] error in before action subscribers: \");\n console.error(e);\n }\n }\n\n var result = entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload);\n\n return result.then(function (res) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.after; })\n .forEach(function (sub) { return sub.after(action, this$1.state); });\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"[vuex] error in after action subscribers: \");\n console.error(e);\n }\n }\n return res\n })\n};\n\nStore.prototype.subscribe = function subscribe (fn) {\n return genericSubscribe(fn, this._subscribers)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn) {\n var subs = typeof fn === 'function' ? { before: fn } : fn;\n return genericSubscribe(subs, this._actionSubscribers)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors$1 );\n\nfunction genericSubscribe (fn, subs) {\n if (subs.indexOf(fn) < 0) {\n subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n // direct inline function use will lead to closure preserving oldVm.\n // using partial to return function with only arguments preserved in closure enviroment.\n computed[key] = partial(fn, store);\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n var gettersProxy = {};\n\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n\n return gettersProxy\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload, cb) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload, cb);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if (process.env.NODE_ENV !== 'production') {\n assert(store._committing, \"do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.length\n ? path.reduce(function (state, key) { return state[key]; }, state)\n : state\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof type === 'string', (\"expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\n/**\n * Reduce the code which written in Vue.js for getting the state.\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.\n * @param {Object}\n */\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for committing the mutation\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept anthor params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // Get the commit method from store\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for getting the getters\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} getters\n * @return {Object}\n */\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n // The namespace has been mutated by normalizeNamespace\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (process.env.NODE_ENV !== 'production' && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for dispatch the action\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // get dispatch function from store\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object\n * @param {String} namespace\n * @return {Object}\n */\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\n/**\n * Normalize the map\n * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]\n * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]\n * @param {Array|Object} map\n * @return {Object}\n */\nfunction normalizeMap (map) {\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\n/**\n * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.\n * @param {Function} fn\n * @return {Function}\n */\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\n/**\n * Search a special module from store by namespace. if module not exist, print error message.\n * @param {Object} store\n * @param {String} helper\n * @param {String} namespace\n * @return {Object}\n */\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (process.env.NODE_ENV !== 'production' && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\nvar index_esm = {\n Store: Store,\n install: install,\n version: '3.1.1',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers\n};\n\nexport default index_esm;\nexport { Store, install, mapState, mapMutations, mapGetters, mapActions, createNamespacedHelpers };\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"echarts\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","let raf = null;\nfunction requestAnimationFrame (callback) {\n if (!raf) {\n raf = (\n window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n function (callback) {\n return setTimeout(callback, 16)\n }\n ).bind(window);\n }\n return raf(callback)\n}\n\nlet caf = null;\nfunction cancelAnimationFrame (id) {\n if (!caf) {\n caf = (\n window.cancelAnimationFrame ||\n window.webkitCancelAnimationFrame ||\n window.mozCancelAnimationFrame ||\n function (id) {\n clearTimeout(id);\n }\n ).bind(window);\n }\n\n caf(id);\n}\n\nfunction createStyles (styleText) {\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (style.styleSheet) {\n style.styleSheet.cssText = styleText;\n } else {\n style.appendChild(document.createTextNode(styleText));\n }\n (document.querySelector('head') || document.body).appendChild(style);\n return style\n}\n\nfunction createElement (tagName, props = {}) {\n let elem = document.createElement(tagName);\n Object.keys(props).forEach(key => {\n elem[key] = props[key];\n });\n return elem\n}\n\nfunction getComputedStyle (elem, prop, pseudo) {\n // for older versions of Firefox, `getComputedStyle` required\n // the second argument and may return `null` for some elements\n // when `display: none`\n let computedStyle = window.getComputedStyle(elem, pseudo || null) || {\n display: 'none'\n };\n\n return computedStyle[prop]\n}\n\nfunction getRenderInfo (elem) {\n if (!document.documentElement.contains(elem)) {\n return {\n detached: true,\n rendered: false\n }\n }\n\n let current = elem;\n while (current !== document) {\n if (getComputedStyle(current, 'display') === 'none') {\n return {\n detached: false,\n rendered: false\n }\n }\n current = current.parentNode;\n }\n\n return {\n detached: false,\n rendered: true\n }\n}\n\nvar css = \".resize-triggers{visibility:hidden;opacity:0}.resize-contract-trigger,.resize-contract-trigger:before,.resize-expand-trigger,.resize-triggers{content:\\\"\\\";position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.resize-contract-trigger,.resize-expand-trigger{background:#eee;overflow:auto}.resize-contract-trigger:before{width:200%;height:200%}\";\n\nlet total = 0;\nlet style = null;\n\nfunction addListener (elem, callback) {\n if (!elem.__resize_mutation_handler__) {\n elem.__resize_mutation_handler__ = handleMutation.bind(elem);\n }\n\n let listeners = elem.__resize_listeners__;\n\n if (!listeners) {\n elem.__resize_listeners__ = [];\n if (window.ResizeObserver) {\n let { offsetWidth, offsetHeight } = elem;\n let ro = new ResizeObserver(() => {\n if (!elem.__resize_observer_triggered__) {\n elem.__resize_observer_triggered__ = true;\n if (elem.offsetWidth === offsetWidth && elem.offsetHeight === offsetHeight) {\n return\n }\n }\n runCallbacks(elem);\n });\n\n // initially display none won't trigger ResizeObserver callback\n let { detached, rendered } = getRenderInfo(elem);\n elem.__resize_observer_triggered__ = detached === false && rendered === false;\n elem.__resize_observer__ = ro;\n ro.observe(elem);\n } else if (elem.attachEvent && elem.addEventListener) {\n // targeting IE9/10\n elem.__resize_legacy_resize_handler__ = function handleLegacyResize () {\n runCallbacks(elem);\n };\n elem.attachEvent('onresize', elem.__resize_legacy_resize_handler__);\n document.addEventListener('DOMSubtreeModified', elem.__resize_mutation_handler__);\n } else {\n if (!total) {\n style = createStyles(css);\n }\n initTriggers(elem);\n\n elem.__resize_rendered__ = getRenderInfo(elem).rendered;\n if (window.MutationObserver) {\n let mo = new MutationObserver(elem.__resize_mutation_handler__);\n mo.observe(document, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n elem.__resize_mutation_observer__ = mo;\n }\n }\n }\n\n elem.__resize_listeners__.push(callback);\n total++;\n}\n\nfunction removeListener (elem, callback) {\n // targeting IE9/10\n if (elem.detachEvent && elem.removeEventListener) {\n elem.detachEvent('onresize', elem.__resize_legacy_resize_handler__);\n document.removeEventListener('DOMSubtreeModified', elem.__resize_mutation_handler__);\n return\n }\n\n let listeners = elem.__resize_listeners__;\n if (!listeners) {\n return\n }\n listeners.splice(listeners.indexOf(callback), 1);\n\n if (!listeners.length) {\n if (elem.__resize_observer__) {\n elem.__resize_observer__.unobserve(elem);\n elem.__resize_observer__.disconnect();\n elem.__resize_observer__ = null;\n } else {\n if (elem.__resize_mutation_observer__) {\n elem.__resize_mutation_observer__.disconnect();\n elem.__resize_mutation_observer__ = null;\n }\n elem.removeEventListener('scroll', handleScroll);\n elem.removeChild(elem.__resize_triggers__.triggers);\n elem.__resize_triggers__ = null;\n }\n elem.__resize_listeners__ = null;\n }\n\n if (!--total && style) {\n style.parentNode.removeChild(style);\n }\n}\n\nfunction getUpdatedSize (elem) {\n let { width, height } = elem.__resize_last__;\n let { offsetWidth, offsetHeight } = elem;\n if (offsetWidth !== width || offsetHeight !== height) {\n return {\n width: offsetWidth,\n height: offsetHeight\n }\n }\n return null\n}\n\nfunction handleMutation () {\n // `this` denotes the scrolling element\n let { rendered, detached } = getRenderInfo(this);\n if (rendered !== this.__resize_rendered__) {\n if (!detached && this.__resize_triggers__) {\n resetTriggers(this);\n this.addEventListener('scroll', handleScroll, true);\n }\n this.__resize_rendered__ = rendered;\n runCallbacks(this);\n }\n}\n\nfunction handleScroll () {\n // `this` denotes the scrolling element\n resetTriggers(this);\n if (this.__resize_raf__) {\n cancelAnimationFrame(this.__resize_raf__);\n }\n this.__resize_raf__ = requestAnimationFrame(() => {\n let updated = getUpdatedSize(this);\n if (updated) {\n this.__resize_last__ = updated;\n runCallbacks(this);\n }\n });\n}\n\nfunction runCallbacks (elem) {\n if (!elem || !elem.__resize_listeners__) {\n return\n }\n elem.__resize_listeners__.forEach(callback => {\n callback.call(elem);\n });\n}\n\nfunction initTriggers (elem) {\n let position = getComputedStyle(elem, 'position');\n if (!position || position === 'static') {\n elem.style.position = 'relative';\n }\n\n elem.__resize_old_position__ = position;\n elem.__resize_last__ = {};\n\n let triggers = createElement('div', {\n className: 'resize-triggers'\n });\n let expand = createElement('div', {\n className: 'resize-expand-trigger'\n });\n let expandChild = createElement('div');\n let contract = createElement('div', {\n className: 'resize-contract-trigger'\n });\n expand.appendChild(expandChild);\n triggers.appendChild(expand);\n triggers.appendChild(contract);\n elem.appendChild(triggers);\n\n elem.__resize_triggers__ = {\n triggers,\n expand,\n expandChild,\n contract\n };\n\n resetTriggers(elem);\n elem.addEventListener('scroll', handleScroll, true);\n\n elem.__resize_last__ = {\n width: elem.offsetWidth,\n height: elem.offsetHeight\n };\n}\n\nfunction resetTriggers (elem) {\n let { expand, expandChild, contract } = elem.__resize_triggers__;\n\n // batch read\n let { scrollWidth: csw, scrollHeight: csh } = contract;\n let { offsetWidth: eow, offsetHeight: eoh, scrollWidth: esw, scrollHeight: esh } = expand;\n\n // batch write\n contract.scrollLeft = csw;\n contract.scrollTop = csh;\n expandChild.style.width = eow + 1 + 'px';\n expandChild.style.height = eoh + 1 + 'px';\n expand.scrollLeft = esw;\n expand.scrollTop = esh;\n}\n\nexport { addListener, removeListener };\n","\n\n\n\n\n","import mod from \"-!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../_babel-loader@8.0.6@babel-loader/lib/index.js!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./ECharts.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../_thread-loader@2.1.2@thread-loader/dist/cjs.js!../../_babel-loader@8.0.6@babel-loader/lib/index.js!../../_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.7.1@vue-loader/lib/index.js??vue-loader-options!./ECharts.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ECharts.vue?vue&type=template&id=d3c2a8b6&\"\nimport script from \"./ECharts.vue?vue&type=script&lang=js&\"\nexport * from \"./ECharts.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ECharts.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../_vue-loader@15.7.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Polar = require(\"./Polar\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _axisHelper = require(\"../../coord/axisHelper\");\n\nvar createScaleByModel = _axisHelper.createScaleByModel;\nvar niceScaleExtent = _axisHelper.niceScaleExtent;\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\nvar _dataStackHelper = require(\"../../data/helper/dataStackHelper\");\n\nvar getStackedDimension = _dataStackHelper.getStackedDimension;\n\nrequire(\"./PolarModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 Axis scale\n\n/**\n * Resize method bound to the polar\n * @param {module:echarts/coord/polar/PolarModel} polarModel\n * @param {module:echarts/ExtensionAPI} api\n */\nfunction resizePolar(polar, polarModel, api) {\n var center = polarModel.get('center');\n var width = api.getWidth();\n var height = api.getHeight();\n polar.cx = parsePercent(center[0], width);\n polar.cy = parsePercent(center[1], height);\n var radiusAxis = polar.getRadiusAxis();\n var size = Math.min(width, height) / 2;\n var radius = parsePercent(polarModel.get('radius'), size);\n radiusAxis.inverse ? radiusAxis.setExtent(radius, 0) : radiusAxis.setExtent(0, radius);\n}\n/**\n * Update polar\n */\n\n\nfunction updatePolarScale(ecModel, api) {\n var polar = this;\n var angleAxis = polar.getAngleAxis();\n var radiusAxis = polar.getRadiusAxis(); // Reset scale\n\n angleAxis.scale.setExtent(Infinity, -Infinity);\n radiusAxis.scale.setExtent(Infinity, -Infinity);\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.coordinateSystem === polar) {\n var data = seriesModel.getData();\n zrUtil.each(data.mapDimension('radius', true), function (dim) {\n radiusAxis.scale.unionExtentFromData(data, getStackedDimension(data, dim));\n });\n zrUtil.each(data.mapDimension('angle', true), function (dim) {\n angleAxis.scale.unionExtentFromData(data, getStackedDimension(data, dim));\n });\n }\n });\n niceScaleExtent(angleAxis.scale, angleAxis.model);\n niceScaleExtent(radiusAxis.scale, radiusAxis.model); // Fix extent of category angle axis\n\n if (angleAxis.type === 'category' && !angleAxis.onBand) {\n var extent = angleAxis.getExtent();\n var diff = 360 / angleAxis.scale.count();\n angleAxis.inverse ? extent[1] += diff : extent[1] -= diff;\n angleAxis.setExtent(extent[0], extent[1]);\n }\n}\n/**\n * Set common axis properties\n * @param {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}\n * @param {module:echarts/coord/polar/AxisModel}\n * @inner\n */\n\n\nfunction setAxis(axis, axisModel) {\n axis.type = axisModel.get('type');\n axis.scale = createScaleByModel(axisModel);\n axis.onBand = axisModel.get('boundaryGap') && axis.type === 'category';\n axis.inverse = axisModel.get('inverse');\n\n if (axisModel.mainType === 'angleAxis') {\n axis.inverse ^= axisModel.get('clockwise');\n var startAngle = axisModel.get('startAngle');\n axis.setExtent(startAngle, startAngle + (axis.inverse ? -360 : 360));\n } // Inject axis instance\n\n\n axisModel.axis = axis;\n axis.model = axisModel;\n}\n\nvar polarCreator = {\n dimensions: Polar.prototype.dimensions,\n create: function (ecModel, api) {\n var polarList = [];\n ecModel.eachComponent('polar', function (polarModel, idx) {\n var polar = new Polar(idx); // Inject resize and update method\n\n polar.update = updatePolarScale;\n var radiusAxis = polar.getRadiusAxis();\n var angleAxis = polar.getAngleAxis();\n var radiusAxisModel = polarModel.findAxisModel('radiusAxis');\n var angleAxisModel = polarModel.findAxisModel('angleAxis');\n setAxis(radiusAxis, radiusAxisModel);\n setAxis(angleAxis, angleAxisModel);\n resizePolar(polar, polarModel, api);\n polarList.push(polar);\n polarModel.coordinateSystem = polar;\n polar.model = polarModel;\n }); // Inject coordinateSystem to series\n\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.get('coordinateSystem') === 'polar') {\n var polarModel = ecModel.queryComponents({\n mainType: 'polar',\n index: seriesModel.get('polarIndex'),\n id: seriesModel.get('polarId')\n })[0];\n seriesModel.coordinateSystem = polarModel.coordinateSystem;\n }\n });\n return polarList;\n }\n};\nCoordinateSystem.register('polar', polarCreator);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 }\n },\n legend: {\n textStyle: {\n color: contrastColor\n }\n },\n textStyle: {\n color: contrastColor\n },\n title: {\n textStyle: {\n color: contrastColor\n }\n },\n toolbox: {\n iconStyle: {\n normal: {\n borderColor: contrastColor\n }\n }\n },\n dataZoom: {\n textStyle: {\n color: contrastColor\n }\n },\n visualMap: {\n textStyle: {\n color: contrastColor\n }\n },\n timeline: {\n lineStyle: {\n color: contrastColor\n },\n itemStyle: {\n normal: {\n color: colorPalette[1]\n }\n },\n label: {\n normal: {\n textStyle: {\n color: contrastColor\n }\n }\n },\n controlStyle: {\n normal: {\n color: contrastColor,\n borderColor: contrastColor\n }\n }\n },\n timeAxis: axisCommon(),\n logAxis: axisCommon(),\n valueAxis: axisCommon(),\n categoryAxis: axisCommon(),\n line: {\n symbol: 'circle'\n },\n graph: {\n color: colorPalette\n },\n gauge: {\n title: {\n textStyle: {\n color: contrastColor\n }\n }\n },\n candlestick: {\n itemStyle: {\n normal: {\n color: '#FD1050',\n color0: '#0CF49B',\n borderColor: '#FD1050',\n borderColor0: '#0CF49B'\n }\n }\n }\n};\ntheme.categoryAxis.splitLine.show = false;\nvar _default = theme;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * payload: {\n * brushIndex: number, or,\n * brushId: string, or,\n * brushName: string,\n * globalRanges: Array\n * }\n */\necharts.registerAction({\n type: 'brush',\n event: 'brush'\n /*, update: 'updateView' */\n\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'brush',\n query: payload\n }, function (brushModel) {\n brushModel.setAreas(payload.areas);\n });\n});\n/**\n * payload: {\n * brushComponents: [\n * {\n * brushId,\n * brushIndex,\n * brushName,\n * series: [\n * {\n * seriesId,\n * seriesIndex,\n * seriesName,\n * rawIndices: [21, 34, ...]\n * },\n * ...\n * ]\n * },\n * ...\n * ]\n * }\n */\n\necharts.registerAction({\n type: 'brushSelect',\n event: 'brushSelected',\n update: 'none'\n}, function () {});","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","var curve = require(\"./curve\");\n\nvar vec2 = require(\"./vector\");\n\nvar bbox = require(\"./bbox\");\n\nvar BoundingRect = require(\"./BoundingRect\");\n\nvar _config = require(\"../config\");\n\nvar dpr = _config.devicePixelRatio;\n\n/**\n * Path 代理,可以在`buildPath`中用于替代`ctx`, 会保存每个path操作的命令到pathCommands属性中\n * 可以用于 isInsidePath 判断以及获取boundingRect\n *\n * @module zrender/core/PathProxy\n * @author Yi Shen (http://www.github.com/pissang)\n */\n// TODO getTotalLength, getPointAtLength\nvar CMD = {\n M: 1,\n L: 2,\n C: 3,\n Q: 4,\n A: 5,\n Z: 6,\n // Rect\n R: 7\n}; // var CMD_MEM_SIZE = {\n// M: 3,\n// L: 3,\n// C: 7,\n// Q: 5,\n// A: 9,\n// R: 5,\n// Z: 1\n// };\n\nvar min = [];\nvar max = [];\nvar min2 = [];\nvar max2 = [];\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathCos = Math.cos;\nvar mathSin = Math.sin;\nvar mathSqrt = Math.sqrt;\nvar mathAbs = Math.abs;\nvar hasTypedArray = typeof Float32Array !== 'undefined';\n/**\n * @alias module:zrender/core/PathProxy\n * @constructor\n */\n\nvar PathProxy = function (notSaveData) {\n this._saveData = !(notSaveData || false);\n\n if (this._saveData) {\n /**\n * Path data. Stored as flat array\n * @type {Array.}\n */\n this.data = [];\n }\n\n this._ctx = null;\n};\n/**\n * 快速计算Path包围盒(并不是最小包围盒)\n * @return {Object}\n */\n\n\nPathProxy.prototype = {\n constructor: PathProxy,\n _xi: 0,\n _yi: 0,\n _x0: 0,\n _y0: 0,\n // Unit x, Unit y. Provide for avoiding drawing that too short line segment\n _ux: 0,\n _uy: 0,\n _len: 0,\n _lineDash: null,\n _dashOffset: 0,\n _dashIdx: 0,\n _dashSum: 0,\n\n /**\n * @readOnly\n */\n setScale: function (sx, sy) {\n this._ux = mathAbs(1 / dpr / sx) || 0;\n this._uy = mathAbs(1 / dpr / sy) || 0;\n },\n getContext: function () {\n return this._ctx;\n },\n\n /**\n * @param {CanvasRenderingContext2D} ctx\n * @return {module:zrender/core/PathProxy}\n */\n beginPath: function (ctx) {\n this._ctx = ctx;\n ctx && ctx.beginPath();\n ctx && (this.dpr = ctx.dpr); // Reset\n\n if (this._saveData) {\n this._len = 0;\n }\n\n if (this._lineDash) {\n this._lineDash = null;\n this._dashOffset = 0;\n }\n\n return this;\n },\n\n /**\n * @param {number} x\n * @param {number} y\n * @return {module:zrender/core/PathProxy}\n */\n moveTo: function (x, y) {\n this.addData(CMD.M, x, y);\n this._ctx && this._ctx.moveTo(x, y); // x0, y0, xi, yi 是记录在 _dashedXXXXTo 方法中使用\n // xi, yi 记录当前点, x0, y0 在 closePath 的时候回到起始点。\n // 有可能在 beginPath 之后直接调用 lineTo,这时候 x0, y0 需要\n // 在 lineTo 方法中记录,这里先不考虑这种情况,dashed line 也只在 IE10- 中不支持\n\n this._x0 = x;\n this._y0 = y;\n this._xi = x;\n this._yi = y;\n return this;\n },\n\n /**\n * @param {number} x\n * @param {number} y\n * @return {module:zrender/core/PathProxy}\n */\n lineTo: function (x, y) {\n var exceedUnit = mathAbs(x - this._xi) > this._ux || mathAbs(y - this._yi) > this._uy // Force draw the first segment\n || this._len < 5;\n this.addData(CMD.L, x, y);\n\n if (this._ctx && exceedUnit) {\n this._needsDash() ? this._dashedLineTo(x, y) : this._ctx.lineTo(x, y);\n }\n\n if (exceedUnit) {\n this._xi = x;\n this._yi = y;\n }\n\n return this;\n },\n\n /**\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} x3\n * @param {number} y3\n * @return {module:zrender/core/PathProxy}\n */\n bezierCurveTo: function (x1, y1, x2, y2, x3, y3) {\n this.addData(CMD.C, x1, y1, x2, y2, x3, y3);\n\n if (this._ctx) {\n this._needsDash() ? this._dashedBezierTo(x1, y1, x2, y2, x3, y3) : this._ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3);\n }\n\n this._xi = x3;\n this._yi = y3;\n return this;\n },\n\n /**\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @return {module:zrender/core/PathProxy}\n */\n quadraticCurveTo: function (x1, y1, x2, y2) {\n this.addData(CMD.Q, x1, y1, x2, y2);\n\n if (this._ctx) {\n this._needsDash() ? this._dashedQuadraticTo(x1, y1, x2, y2) : this._ctx.quadraticCurveTo(x1, y1, x2, y2);\n }\n\n this._xi = x2;\n this._yi = y2;\n return this;\n },\n\n /**\n * @param {number} cx\n * @param {number} cy\n * @param {number} r\n * @param {number} startAngle\n * @param {number} endAngle\n * @param {boolean} anticlockwise\n * @return {module:zrender/core/PathProxy}\n */\n arc: function (cx, cy, r, startAngle, endAngle, anticlockwise) {\n this.addData(CMD.A, cx, cy, r, r, startAngle, endAngle - startAngle, 0, anticlockwise ? 0 : 1);\n this._ctx && this._ctx.arc(cx, cy, r, startAngle, endAngle, anticlockwise);\n this._xi = mathCos(endAngle) * r + cx;\n this._yi = mathSin(endAngle) * r + cy;\n return this;\n },\n // TODO\n arcTo: function (x1, y1, x2, y2, radius) {\n if (this._ctx) {\n this._ctx.arcTo(x1, y1, x2, y2, radius);\n }\n\n return this;\n },\n // TODO\n rect: function (x, y, w, h) {\n this._ctx && this._ctx.rect(x, y, w, h);\n this.addData(CMD.R, x, y, w, h);\n return this;\n },\n\n /**\n * @return {module:zrender/core/PathProxy}\n */\n closePath: function () {\n this.addData(CMD.Z);\n var ctx = this._ctx;\n var x0 = this._x0;\n var y0 = this._y0;\n\n if (ctx) {\n this._needsDash() && this._dashedLineTo(x0, y0);\n ctx.closePath();\n }\n\n this._xi = x0;\n this._yi = y0;\n return this;\n },\n\n /**\n * Context 从外部传入,因为有可能是 rebuildPath 完之后再 fill。\n * stroke 同样\n * @param {CanvasRenderingContext2D} ctx\n * @return {module:zrender/core/PathProxy}\n */\n fill: function (ctx) {\n ctx && ctx.fill();\n this.toStatic();\n },\n\n /**\n * @param {CanvasRenderingContext2D} ctx\n * @return {module:zrender/core/PathProxy}\n */\n stroke: function (ctx) {\n ctx && ctx.stroke();\n this.toStatic();\n },\n\n /**\n * 必须在其它绘制命令前调用\n * Must be invoked before all other path drawing methods\n * @return {module:zrender/core/PathProxy}\n */\n setLineDash: function (lineDash) {\n if (lineDash instanceof Array) {\n this._lineDash = lineDash;\n this._dashIdx = 0;\n var lineDashSum = 0;\n\n for (var i = 0; i < lineDash.length; i++) {\n lineDashSum += lineDash[i];\n }\n\n this._dashSum = lineDashSum;\n }\n\n return this;\n },\n\n /**\n * 必须在其它绘制命令前调用\n * Must be invoked before all other path drawing methods\n * @return {module:zrender/core/PathProxy}\n */\n setLineDashOffset: function (offset) {\n this._dashOffset = offset;\n return this;\n },\n\n /**\n *\n * @return {boolean}\n */\n len: function () {\n return this._len;\n },\n\n /**\n * 直接设置 Path 数据\n */\n setData: function (data) {\n var len = data.length;\n\n if (!(this.data && this.data.length === len) && hasTypedArray) {\n this.data = new Float32Array(len);\n }\n\n for (var i = 0; i < len; i++) {\n this.data[i] = data[i];\n }\n\n this._len = len;\n },\n\n /**\n * 添加子路径\n * @param {module:zrender/core/PathProxy|Array.} path\n */\n appendPath: function (path) {\n if (!(path instanceof Array)) {\n path = [path];\n }\n\n var len = path.length;\n var appendSize = 0;\n var offset = this._len;\n\n for (var i = 0; i < len; i++) {\n appendSize += path[i].len();\n }\n\n if (hasTypedArray && this.data instanceof Float32Array) {\n this.data = new Float32Array(offset + appendSize);\n }\n\n for (var i = 0; i < len; i++) {\n var appendPathData = path[i].data;\n\n for (var k = 0; k < appendPathData.length; k++) {\n this.data[offset++] = appendPathData[k];\n }\n }\n\n this._len = offset;\n },\n\n /**\n * 填充 Path 数据。\n * 尽量复用而不申明新的数组。大部分图形重绘的指令数据长度都是不变的。\n */\n addData: function (cmd) {\n if (!this._saveData) {\n return;\n }\n\n var data = this.data;\n\n if (this._len + arguments.length > data.length) {\n // 因为之前的数组已经转换成静态的 Float32Array\n // 所以不够用时需要扩展一个新的动态数组\n this._expandData();\n\n data = this.data;\n }\n\n for (var i = 0; i < arguments.length; i++) {\n data[this._len++] = arguments[i];\n }\n\n this._prevCmd = cmd;\n },\n _expandData: function () {\n // Only if data is Float32Array\n if (!(this.data instanceof Array)) {\n var newData = [];\n\n for (var i = 0; i < this._len; i++) {\n newData[i] = this.data[i];\n }\n\n this.data = newData;\n }\n },\n\n /**\n * If needs js implemented dashed line\n * @return {boolean}\n * @private\n */\n _needsDash: function () {\n return this._lineDash;\n },\n _dashedLineTo: function (x1, y1) {\n var dashSum = this._dashSum;\n var offset = this._dashOffset;\n var lineDash = this._lineDash;\n var ctx = this._ctx;\n var x0 = this._xi;\n var y0 = this._yi;\n var dx = x1 - x0;\n var dy = y1 - y0;\n var dist = mathSqrt(dx * dx + dy * dy);\n var x = x0;\n var y = y0;\n var dash;\n var nDash = lineDash.length;\n var idx;\n dx /= dist;\n dy /= dist;\n\n if (offset < 0) {\n // Convert to positive offset\n offset = dashSum + offset;\n }\n\n offset %= dashSum;\n x -= offset * dx;\n y -= offset * dy;\n\n while (dx > 0 && x <= x1 || dx < 0 && x >= x1 || dx === 0 && (dy > 0 && y <= y1 || dy < 0 && y >= y1)) {\n idx = this._dashIdx;\n dash = lineDash[idx];\n x += dx * dash;\n y += dy * dash;\n this._dashIdx = (idx + 1) % nDash; // Skip positive offset\n\n if (dx > 0 && x < x0 || dx < 0 && x > x0 || dy > 0 && y < y0 || dy < 0 && y > y0) {\n continue;\n }\n\n ctx[idx % 2 ? 'moveTo' : 'lineTo'](dx >= 0 ? mathMin(x, x1) : mathMax(x, x1), dy >= 0 ? mathMin(y, y1) : mathMax(y, y1));\n } // Offset for next lineTo\n\n\n dx = x - x1;\n dy = y - y1;\n this._dashOffset = -mathSqrt(dx * dx + dy * dy);\n },\n // Not accurate dashed line to\n _dashedBezierTo: function (x1, y1, x2, y2, x3, y3) {\n var dashSum = this._dashSum;\n var offset = this._dashOffset;\n var lineDash = this._lineDash;\n var ctx = this._ctx;\n var x0 = this._xi;\n var y0 = this._yi;\n var t;\n var dx;\n var dy;\n var cubicAt = curve.cubicAt;\n var bezierLen = 0;\n var idx = this._dashIdx;\n var nDash = lineDash.length;\n var x;\n var y;\n var tmpLen = 0;\n\n if (offset < 0) {\n // Convert to positive offset\n offset = dashSum + offset;\n }\n\n offset %= dashSum; // Bezier approx length\n\n for (t = 0; t < 1; t += 0.1) {\n dx = cubicAt(x0, x1, x2, x3, t + 0.1) - cubicAt(x0, x1, x2, x3, t);\n dy = cubicAt(y0, y1, y2, y3, t + 0.1) - cubicAt(y0, y1, y2, y3, t);\n bezierLen += mathSqrt(dx * dx + dy * dy);\n } // Find idx after add offset\n\n\n for (; idx < nDash; idx++) {\n tmpLen += lineDash[idx];\n\n if (tmpLen > offset) {\n break;\n }\n }\n\n t = (tmpLen - offset) / bezierLen;\n\n while (t <= 1) {\n x = cubicAt(x0, x1, x2, x3, t);\n y = cubicAt(y0, y1, y2, y3, t); // Use line to approximate dashed bezier\n // Bad result if dash is long\n\n idx % 2 ? ctx.moveTo(x, y) : ctx.lineTo(x, y);\n t += lineDash[idx] / bezierLen;\n idx = (idx + 1) % nDash;\n } // Finish the last segment and calculate the new offset\n\n\n idx % 2 !== 0 && ctx.lineTo(x3, y3);\n dx = x3 - x;\n dy = y3 - y;\n this._dashOffset = -mathSqrt(dx * dx + dy * dy);\n },\n _dashedQuadraticTo: function (x1, y1, x2, y2) {\n // Convert quadratic to cubic using degree elevation\n var x3 = x2;\n var y3 = y2;\n x2 = (x2 + 2 * x1) / 3;\n y2 = (y2 + 2 * y1) / 3;\n x1 = (this._xi + 2 * x1) / 3;\n y1 = (this._yi + 2 * y1) / 3;\n\n this._dashedBezierTo(x1, y1, x2, y2, x3, y3);\n },\n\n /**\n * 转成静态的 Float32Array 减少堆内存占用\n * Convert dynamic array to static Float32Array\n */\n toStatic: function () {\n var data = this.data;\n\n if (data instanceof Array) {\n data.length = this._len;\n\n if (hasTypedArray) {\n this.data = new Float32Array(data);\n }\n }\n },\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getBoundingRect: function () {\n min[0] = min[1] = min2[0] = min2[1] = Number.MAX_VALUE;\n max[0] = max[1] = max2[0] = max2[1] = -Number.MAX_VALUE;\n var data = this.data;\n var xi = 0;\n var yi = 0;\n var x0 = 0;\n var y0 = 0;\n\n for (var i = 0; i < data.length;) {\n var cmd = data[i++];\n\n if (i === 1) {\n // 如果第一个命令是 L, C, Q\n // 则 previous point 同绘制命令的第一个 point\n //\n // 第一个命令为 Arc 的情况下会在后面特殊处理\n xi = data[i];\n yi = data[i + 1];\n x0 = xi;\n y0 = yi;\n }\n\n switch (cmd) {\n case CMD.M:\n // moveTo 命令重新创建一个新的 subpath, 并且更新新的起点\n // 在 closePath 的时候使用\n x0 = data[i++];\n y0 = data[i++];\n xi = x0;\n yi = y0;\n min2[0] = x0;\n min2[1] = y0;\n max2[0] = x0;\n max2[1] = y0;\n break;\n\n case CMD.L:\n bbox.fromLine(xi, yi, data[i], data[i + 1], min2, max2);\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.C:\n bbox.fromCubic(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], min2, max2);\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.Q:\n bbox.fromQuadratic(xi, yi, data[i++], data[i++], data[i], data[i + 1], min2, max2);\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.A:\n // TODO Arc 判断的开销比较大\n var cx = data[i++];\n var cy = data[i++];\n var rx = data[i++];\n var ry = data[i++];\n var startAngle = data[i++];\n var endAngle = data[i++] + startAngle; // TODO Arc 旋转\n\n i += 1;\n var anticlockwise = 1 - data[i++];\n\n if (i === 1) {\n // 直接使用 arc 命令\n // 第一个命令起点还未定义\n x0 = mathCos(startAngle) * rx + cx;\n y0 = mathSin(startAngle) * ry + cy;\n }\n\n bbox.fromArc(cx, cy, rx, ry, startAngle, endAngle, anticlockwise, min2, max2);\n xi = mathCos(endAngle) * rx + cx;\n yi = mathSin(endAngle) * ry + cy;\n break;\n\n case CMD.R:\n x0 = xi = data[i++];\n y0 = yi = data[i++];\n var width = data[i++];\n var height = data[i++]; // Use fromLine\n\n bbox.fromLine(x0, y0, x0 + width, y0 + height, min2, max2);\n break;\n\n case CMD.Z:\n xi = x0;\n yi = y0;\n break;\n } // Union\n\n\n vec2.min(min, min, min2);\n vec2.max(max, max, max2);\n } // No data\n\n\n if (i === 0) {\n min[0] = min[1] = max[0] = max[1] = 0;\n }\n\n return new BoundingRect(min[0], min[1], max[0] - min[0], max[1] - min[1]);\n },\n\n /**\n * Rebuild path from current data\n * Rebuild path will not consider javascript implemented line dash.\n * @param {CanvasRenderingContext2D} ctx\n */\n rebuildPath: function (ctx) {\n var d = this.data;\n var x0, y0;\n var xi, yi;\n var x, y;\n var ux = this._ux;\n var uy = this._uy;\n var len = this._len;\n\n for (var i = 0; i < len;) {\n var cmd = d[i++];\n\n if (i === 1) {\n // 如果第一个命令是 L, C, Q\n // 则 previous point 同绘制命令的第一个 point\n //\n // 第一个命令为 Arc 的情况下会在后面特殊处理\n xi = d[i];\n yi = d[i + 1];\n x0 = xi;\n y0 = yi;\n }\n\n switch (cmd) {\n case CMD.M:\n x0 = xi = d[i++];\n y0 = yi = d[i++];\n ctx.moveTo(xi, yi);\n break;\n\n case CMD.L:\n x = d[i++];\n y = d[i++]; // Not draw too small seg between\n\n if (mathAbs(x - xi) > ux || mathAbs(y - yi) > uy || i === len - 1) {\n ctx.lineTo(x, y);\n xi = x;\n yi = y;\n }\n\n break;\n\n case CMD.C:\n ctx.bezierCurveTo(d[i++], d[i++], d[i++], d[i++], d[i++], d[i++]);\n xi = d[i - 2];\n yi = d[i - 1];\n break;\n\n case CMD.Q:\n ctx.quadraticCurveTo(d[i++], d[i++], d[i++], d[i++]);\n xi = d[i - 2];\n yi = d[i - 1];\n break;\n\n case CMD.A:\n var cx = d[i++];\n var cy = d[i++];\n var rx = d[i++];\n var ry = d[i++];\n var theta = d[i++];\n var dTheta = d[i++];\n var psi = d[i++];\n var fs = d[i++];\n var r = rx > ry ? rx : ry;\n var scaleX = rx > ry ? 1 : rx / ry;\n var scaleY = rx > ry ? ry / rx : 1;\n var isEllipse = Math.abs(rx - ry) > 1e-3;\n var endAngle = theta + dTheta;\n\n if (isEllipse) {\n ctx.translate(cx, cy);\n ctx.rotate(psi);\n ctx.scale(scaleX, scaleY);\n ctx.arc(0, 0, r, theta, endAngle, 1 - fs);\n ctx.scale(1 / scaleX, 1 / scaleY);\n ctx.rotate(-psi);\n ctx.translate(-cx, -cy);\n } else {\n ctx.arc(cx, cy, r, theta, endAngle, 1 - fs);\n }\n\n if (i === 1) {\n // 直接使用 arc 命令\n // 第一个命令起点还未定义\n x0 = mathCos(theta) * rx + cx;\n y0 = mathSin(theta) * ry + cy;\n }\n\n xi = mathCos(endAngle) * rx + cx;\n yi = mathSin(endAngle) * ry + cy;\n break;\n\n case CMD.R:\n x0 = xi = d[i];\n y0 = yi = d[i + 1];\n ctx.rect(d[i++], d[i++], d[i++], d[i++]);\n break;\n\n case CMD.Z:\n ctx.closePath();\n xi = x0;\n yi = y0;\n }\n }\n }\n};\nPathProxy.CMD = CMD;\nvar _default = PathProxy;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar globalListener = require(\"./globalListener\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar AxisPointerView = echarts.extendComponentView({\n type: 'axisPointer',\n render: function (globalAxisPointerModel, ecModel, api) {\n var globalTooltipModel = ecModel.getComponent('tooltip');\n var triggerOn = globalAxisPointerModel.get('triggerOn') || globalTooltipModel && globalTooltipModel.get('triggerOn') || 'mousemove|click'; // Register global listener in AxisPointerView to enable\n // AxisPointerView to be independent to Tooltip.\n\n globalListener.register('axisPointer', api, function (currTrigger, e, dispatchAction) {\n // If 'none', it is not controlled by mouse totally.\n if (triggerOn !== 'none' && (currTrigger === 'leave' || triggerOn.indexOf(currTrigger) >= 0)) {\n dispatchAction({\n type: 'updateAxisPointer',\n currTrigger: currTrigger,\n x: e && e.offsetX,\n y: e && e.offsetY\n });\n }\n });\n },\n\n /**\n * @override\n */\n remove: function (ecModel, api) {\n globalListener.unregister(api.getZr(), 'axisPointer');\n AxisPointerView.superApply(this._model, 'remove', arguments);\n },\n\n /**\n * @override\n */\n dispose: function (ecModel, api) {\n globalListener.unregister('axisPointer', api);\n AxisPointerView.superApply(this._model, 'dispose', arguments);\n }\n});\nvar _default = AxisPointerView;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar PointerPath = require(\"./PointerPath\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar ChartView = require(\"../../view/Chart\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\nvar round = _number.round;\nvar linearMap = _number.linearMap;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction parsePosition(seriesModel, api) {\n var center = seriesModel.get('center');\n var width = api.getWidth();\n var height = api.getHeight();\n var size = Math.min(width, height);\n var cx = parsePercent(center[0], api.getWidth());\n var cy = parsePercent(center[1], api.getHeight());\n var r = parsePercent(seriesModel.get('radius'), size / 2);\n return {\n cx: cx,\n cy: cy,\n r: r\n };\n}\n\nfunction formatLabel(label, labelFormatter) {\n if (labelFormatter) {\n if (typeof labelFormatter === 'string') {\n label = labelFormatter.replace('{value}', label != null ? label : '');\n } else if (typeof labelFormatter === 'function') {\n label = labelFormatter(label);\n }\n }\n\n return label;\n}\n\nvar PI2 = Math.PI * 2;\nvar GaugeView = ChartView.extend({\n type: 'gauge',\n render: function (seriesModel, ecModel, api) {\n this.group.removeAll();\n var colorList = seriesModel.get('axisLine.lineStyle.color');\n var posInfo = parsePosition(seriesModel, api);\n\n this._renderMain(seriesModel, ecModel, api, colorList, posInfo);\n },\n dispose: function () {},\n _renderMain: function (seriesModel, ecModel, api, colorList, posInfo) {\n var group = this.group;\n var axisLineModel = seriesModel.getModel('axisLine');\n var lineStyleModel = axisLineModel.getModel('lineStyle');\n var clockwise = seriesModel.get('clockwise');\n var startAngle = -seriesModel.get('startAngle') / 180 * Math.PI;\n var endAngle = -seriesModel.get('endAngle') / 180 * Math.PI;\n var angleRangeSpan = (endAngle - startAngle) % PI2;\n var prevEndAngle = startAngle;\n var axisLineWidth = lineStyleModel.get('width');\n\n for (var i = 0; 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;","var curve = require(\"../core/curve\");\n\n/**\n * 三次贝塞尔曲线描边包含判断\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} x3\n * @param {number} y3\n * @param {number} lineWidth\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\nfunction containStroke(x0, y0, x1, y1, x2, y2, x3, y3, lineWidth, x, y) {\n if (lineWidth === 0) {\n return false;\n }\n\n var _l = lineWidth; // Quick reject\n\n if (y > y0 + _l && y > y1 + _l && y > y2 + _l && y > y3 + _l || y < y0 - _l && y < y1 - _l && y < y2 - _l && y < y3 - _l || x > x0 + _l && x > x1 + _l && x > x2 + _l && x > x3 + _l || x < x0 - _l && x < x1 - _l && x < x2 - _l && x < x3 - _l) {\n return false;\n }\n\n var d = curve.cubicProjectPoint(x0, y0, x1, y1, x2, y2, x3, y3, x, y, null);\n return d <= _l / 2;\n}\n\nexports.containStroke = containStroke;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar modelUtil = require(\"../../util/model\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar Model = require(\"../../model/Model\");\n\nvar selectableMixin = require(\"../../component/helper/selectableMixin\");\n\nvar geoCreator = require(\"./geoCreator\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 + '.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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar MarkerModel = require(\"./MarkerModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = MarkerModel.extend({\n type: 'markPoint',\n defaultOption: {\n zlevel: 0,\n z: 5,\n symbol: 'pin',\n symbolSize: 50,\n //symbolRotate: 0,\n //symbolOffset: [0, 0]\n tooltip: {\n trigger: 'item'\n },\n label: {\n show: true,\n position: 'inside'\n },\n itemStyle: {\n borderWidth: 2\n },\n emphasis: {\n label: {\n show: true\n }\n }\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar createDimensions = require(\"../../data/helper/createDimensions\");\n\nvar _dimensionHelper = require(\"../../data/helper/dimensionHelper\");\n\nvar getDimensionTypeByAxis = _dimensionHelper.getDimensionTypeByAxis;\n\nvar List = require(\"../../data/List\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _model = require(\"../../util/model\");\n\nvar groupData = _model.groupData;\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 Define the themeRiver view's series model\n * @author Deqing Li(annong035@gmail.com)\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.legendDataProvider = function () {\n return this.getRawData();\n };\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 *\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;","var PathProxy = require(\"../core/PathProxy\");\n\nvar line = require(\"./line\");\n\nvar cubic = require(\"./cubic\");\n\nvar quadratic = require(\"./quadratic\");\n\nvar arc = require(\"./arc\");\n\nvar _util = require(\"./util\");\n\nvar normalizeRadian = _util.normalizeRadian;\n\nvar curve = require(\"../core/curve\");\n\nvar windingLine = require(\"./windingLine\");\n\nvar CMD = PathProxy.CMD;\nvar PI2 = Math.PI * 2;\nvar EPSILON = 1e-4;\n\nfunction isAroundEqual(a, b) {\n return Math.abs(a - b) < EPSILON;\n} // 临时数组\n\n\nvar roots = [-1, -1, -1];\nvar extrema = [-1, -1];\n\nfunction swapExtrema() {\n var tmp = extrema[0];\n extrema[0] = extrema[1];\n extrema[1] = tmp;\n}\n\nfunction windingCubic(x0, y0, x1, y1, x2, y2, x3, y3, x, y) {\n // Quick reject\n if (y > y0 && y > y1 && y > y2 && y > y3 || y < y0 && y < y1 && y < y2 && y < y3) {\n return 0;\n }\n\n var nRoots = curve.cubicRootAt(y0, y1, y2, y3, y, roots);\n\n if (nRoots === 0) {\n return 0;\n } else {\n var w = 0;\n var nExtrema = -1;\n var y0_;\n var y1_;\n\n for (var i = 0; i < nRoots; i++) {\n var t = roots[i]; // Avoid winding error when intersection point is the connect point of two line of polygon\n\n var unit = t === 0 || t === 1 ? 0.5 : 1;\n var x_ = curve.cubicAt(x0, x1, x2, x3, t);\n\n if (x_ < x) {\n // Quick reject\n continue;\n }\n\n if (nExtrema < 0) {\n nExtrema = curve.cubicExtrema(y0, y1, y2, y3, extrema);\n\n if (extrema[1] < extrema[0] && nExtrema > 1) {\n swapExtrema();\n }\n\n y0_ = curve.cubicAt(y0, y1, y2, y3, extrema[0]);\n\n if (nExtrema > 1) {\n y1_ = curve.cubicAt(y0, y1, y2, y3, extrema[1]);\n }\n }\n\n if (nExtrema === 2) {\n // 分成三段单调函数\n if (t < extrema[0]) {\n w += y0_ < y0 ? unit : -unit;\n } else if (t < extrema[1]) {\n w += y1_ < y0_ ? unit : -unit;\n } else {\n w += y3 < y1_ ? unit : -unit;\n }\n } else {\n // 分成两段单调函数\n if (t < extrema[0]) {\n w += y0_ < y0 ? unit : -unit;\n } else {\n w += y3 < y0_ ? unit : -unit;\n }\n }\n }\n\n return w;\n }\n}\n\nfunction windingQuadratic(x0, y0, x1, y1, x2, y2, x, y) {\n // Quick reject\n if (y > y0 && y > y1 && y > y2 || y < y0 && y < y1 && y < y2) {\n return 0;\n }\n\n var nRoots = curve.quadraticRootAt(y0, y1, y2, y, roots);\n\n if (nRoots === 0) {\n return 0;\n } else {\n var t = curve.quadraticExtremum(y0, y1, y2);\n\n if (t >= 0 && t <= 1) {\n var w = 0;\n var y_ = curve.quadraticAt(y0, y1, y2, t);\n\n for (var i = 0; i < nRoots; i++) {\n // Remove one endpoint.\n var unit = roots[i] === 0 || roots[i] === 1 ? 0.5 : 1;\n var x_ = curve.quadraticAt(x0, x1, x2, roots[i]);\n\n if (x_ < x) {\n // Quick reject\n continue;\n }\n\n if (roots[i] < t) {\n w += y_ < y0 ? unit : -unit;\n } else {\n w += y2 < y_ ? unit : -unit;\n }\n }\n\n return w;\n } else {\n // Remove one endpoint.\n var unit = roots[0] === 0 || roots[0] === 1 ? 0.5 : 1;\n var x_ = curve.quadraticAt(x0, x1, x2, roots[0]);\n\n if (x_ < x) {\n // Quick reject\n return 0;\n }\n\n return y2 < y0 ? unit : -unit;\n }\n }\n} // TODO\n// Arc 旋转\n\n\nfunction windingArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y) {\n y -= cy;\n\n if (y > r || y < -r) {\n return 0;\n }\n\n var tmp = Math.sqrt(r * r - y * y);\n roots[0] = -tmp;\n roots[1] = tmp;\n var diff = Math.abs(startAngle - endAngle);\n\n if (diff < 1e-4) {\n return 0;\n }\n\n if (diff % PI2 < 1e-4) {\n // Is a circle\n startAngle = 0;\n endAngle = PI2;\n var dir = anticlockwise ? 1 : -1;\n\n if (x >= roots[0] + cx && x <= roots[1] + cx) {\n return dir;\n } else {\n return 0;\n }\n }\n\n if (anticlockwise) {\n var tmp = startAngle;\n startAngle = normalizeRadian(endAngle);\n endAngle = normalizeRadian(tmp);\n } else {\n startAngle = normalizeRadian(startAngle);\n endAngle = normalizeRadian(endAngle);\n }\n\n if (startAngle > endAngle) {\n endAngle += PI2;\n }\n\n var w = 0;\n\n for (var i = 0; i < 2; i++) {\n var x_ = roots[i];\n\n if (x_ + cx > x) {\n var angle = Math.atan2(y, x_);\n var dir = anticlockwise ? 1 : -1;\n\n if (angle < 0) {\n angle = PI2 + angle;\n }\n\n if (angle >= startAngle && angle <= endAngle || angle + PI2 >= startAngle && angle + PI2 <= endAngle) {\n if (angle > Math.PI / 2 && angle < Math.PI * 1.5) {\n dir = -dir;\n }\n\n w += dir;\n }\n }\n }\n\n return w;\n}\n\nfunction containPath(data, lineWidth, isStroke, x, y) {\n var w = 0;\n var xi = 0;\n var yi = 0;\n var x0 = 0;\n var y0 = 0;\n\n for (var i = 0; i < data.length;) {\n var cmd = data[i++]; // Begin a new subpath\n\n if (cmd === CMD.M && i > 1) {\n // Close previous subpath\n if (!isStroke) {\n w += windingLine(xi, yi, x0, y0, x, y);\n } // 如果被任何一个 subpath 包含\n // if (w !== 0) {\n // return true;\n // }\n\n }\n\n if (i === 1) {\n // 如果第一个命令是 L, C, Q\n // 则 previous point 同绘制命令的第一个 point\n //\n // 第一个命令为 Arc 的情况下会在后面特殊处理\n xi = data[i];\n yi = data[i + 1];\n x0 = xi;\n y0 = yi;\n }\n\n switch (cmd) {\n case CMD.M:\n // moveTo 命令重新创建一个新的 subpath, 并且更新新的起点\n // 在 closePath 的时候使用\n x0 = data[i++];\n y0 = data[i++];\n xi = x0;\n yi = y0;\n break;\n\n case CMD.L:\n if (isStroke) {\n if (line.containStroke(xi, yi, data[i], data[i + 1], lineWidth, x, y)) {\n return true;\n }\n } else {\n // NOTE 在第一个命令为 L, C, Q 的时候会计算出 NaN\n w += windingLine(xi, yi, data[i], data[i + 1], x, y) || 0;\n }\n\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.C:\n if (isStroke) {\n if (cubic.containStroke(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {\n return true;\n }\n } else {\n w += windingCubic(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], x, y) || 0;\n }\n\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.Q:\n if (isStroke) {\n if (quadratic.containStroke(xi, yi, data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {\n return true;\n }\n } else {\n w += windingQuadratic(xi, yi, data[i++], data[i++], data[i], data[i + 1], x, y) || 0;\n }\n\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.A:\n // TODO Arc 判断的开销比较大\n var cx = data[i++];\n var cy = data[i++];\n var rx = data[i++];\n var ry = data[i++];\n var theta = data[i++];\n var dTheta = data[i++]; // TODO Arc 旋转\n\n i += 1;\n var anticlockwise = 1 - data[i++];\n var x1 = Math.cos(theta) * rx + cx;\n var y1 = Math.sin(theta) * ry + cy; // 不是直接使用 arc 命令\n\n if (i > 1) {\n w += windingLine(xi, yi, x1, y1, x, y);\n } else {\n // 第一个命令起点还未定义\n x0 = x1;\n y0 = y1;\n } // zr 使用scale来模拟椭圆, 这里也对x做一定的缩放\n\n\n var _x = (x - cx) * ry / rx + cx;\n\n if (isStroke) {\n if (arc.containStroke(cx, cy, ry, theta, theta + dTheta, anticlockwise, lineWidth, _x, y)) {\n return true;\n }\n } else {\n w += windingArc(cx, cy, ry, theta, theta + dTheta, anticlockwise, _x, y);\n }\n\n xi = Math.cos(theta + dTheta) * rx + cx;\n yi = Math.sin(theta + dTheta) * ry + cy;\n break;\n\n case CMD.R:\n x0 = xi = data[i++];\n y0 = yi = data[i++];\n var width = data[i++];\n var height = data[i++];\n var x1 = x0 + width;\n var y1 = y0 + height;\n\n if (isStroke) {\n if (line.containStroke(x0, y0, x1, y0, lineWidth, x, y) || line.containStroke(x1, y0, x1, y1, lineWidth, x, y) || line.containStroke(x1, y1, x0, y1, lineWidth, x, y) || line.containStroke(x0, y1, x0, y0, lineWidth, x, y)) {\n return true;\n }\n } else {\n // FIXME Clockwise ?\n w += windingLine(x1, y0, x1, y1, x, y);\n w += windingLine(x0, y1, x0, y0, x, y);\n }\n\n break;\n\n case CMD.Z:\n if (isStroke) {\n if (line.containStroke(xi, yi, x0, y0, lineWidth, x, y)) {\n return true;\n }\n } else {\n // Close a subpath\n w += windingLine(xi, yi, x0, y0, x, y); // 如果被任何一个 subpath 包含\n // FIXME subpaths may overlap\n // if (w !== 0) {\n // return true;\n // }\n }\n\n xi = x0;\n yi = y0;\n break;\n }\n }\n\n if (!isStroke && !isAroundEqual(yi, y0)) {\n w += windingLine(xi, yi, x0, y0, x, y) || 0;\n }\n\n return w !== 0;\n}\n\nfunction contain(pathData, x, y) {\n return containPath(pathData, 0, false, x, y);\n}\n\nfunction containStroke(pathData, lineWidth, x, y) {\n return containPath(pathData, lineWidth, true, x, y);\n}\n\nexports.contain = contain;\nexports.containStroke = containStroke;","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _forceHelper = require(\"./forceHelper\");\n\nvar forceLayout = _forceHelper.forceLayout;\n\nvar _simpleLayoutHelper = require(\"./simpleLayoutHelper\");\n\nvar simpleLayout = _simpleLayoutHelper.simpleLayout;\n\nvar _circularLayoutHelper = require(\"./circularLayoutHelper\");\n\nvar circularLayout = _circularLayoutHelper.circularLayout;\n\nvar _number = require(\"../../util/number\");\n\nvar linearMap = _number.linearMap;\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(ecModel) {\n ecModel.eachSeriesByType('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);\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 return {\n n1: nodes[edge.node1.dataIndex],\n n2: nodes[edge.node2.dataIndex],\n d: d,\n curveness: edge.getModel().get('lineStyle.curveness') || 0\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 });\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* 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 = require(\"./DataZoomView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar textContain = require(\"zrender/lib/contain/text\");\n\nvar formatUtil = require(\"../../util/format\");\n\nvar matrix = require(\"zrender/lib/core/matrix\");\n\nvar axisHelper = require(\"../../coord/axisHelper\");\n\nvar AxisBuilder = require(\"../axis/AxisBuilder\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {module:echarts/model/Model} axisPointerModel\n */\nfunction buildElStyle(axisPointerModel) {\n var axisPointerType = axisPointerModel.get('type');\n var styleModel = axisPointerModel.getModel(axisPointerType + 'Style');\n var style;\n\n if (axisPointerType === 'line') {\n style = styleModel.getLineStyle();\n style.fill = null;\n } else if (axisPointerType === 'shadow') {\n style = styleModel.getAreaStyle();\n style.stroke = null;\n }\n\n return style;\n}\n/**\n * @param {Function} labelPos {align, verticalAlign, position}\n */\n\n\nfunction buildLabelElOption(elOption, axisModel, axisPointerModel, api, labelPos) {\n var value = axisPointerModel.get('value');\n var text = getValueLabel(value, axisModel.axis, axisModel.ecModel, axisPointerModel.get('seriesDataIndices'), {\n precision: axisPointerModel.get('label.precision'),\n formatter: axisPointerModel.get('label.formatter')\n });\n var labelModel = axisPointerModel.getModel('label');\n var paddings = formatUtil.normalizeCssArray(labelModel.get('padding') || 0);\n var font = labelModel.getFont();\n var textRect = textContain.getBoundingRect(text, font);\n var position = labelPos.position;\n var width = textRect.width + paddings[1] + paddings[3];\n var height = textRect.height + paddings[0] + paddings[2]; // Adjust by align.\n\n var align = labelPos.align;\n align === 'right' && (position[0] -= width);\n align === 'center' && (position[0] -= width / 2);\n var verticalAlign = labelPos.verticalAlign;\n verticalAlign === 'bottom' && (position[1] -= height);\n verticalAlign === 'middle' && (position[1] -= height / 2); // Not overflow ec container\n\n confineInContainer(position, width, height, api);\n var bgColor = labelModel.get('backgroundColor');\n\n if (!bgColor || bgColor === 'auto') {\n bgColor = axisModel.get('axisLine.lineStyle.color');\n }\n\n elOption.label = {\n shape: {\n x: 0,\n y: 0,\n width: width,\n height: height,\n r: labelModel.get('borderRadius')\n },\n position: position.slice(),\n // TODO: rich\n style: {\n text: text,\n textFont: font,\n textFill: labelModel.getTextColor(),\n textPosition: 'inside',\n fill: bgColor,\n stroke: labelModel.get('borderColor') || 'transparent',\n lineWidth: labelModel.get('borderWidth') || 0,\n shadowBlur: labelModel.get('shadowBlur'),\n shadowColor: labelModel.get('shadowColor'),\n shadowOffsetX: labelModel.get('shadowOffsetX'),\n shadowOffsetY: labelModel.get('shadowOffsetY')\n },\n // Lable should be over axisPointer.\n z2: 10\n };\n} // Do not overflow ec container\n\n\nfunction confineInContainer(position, width, height, api) {\n var viewWidth = api.getWidth();\n var viewHeight = api.getHeight();\n position[0] = Math.min(position[0] + width, viewWidth) - width;\n position[1] = Math.min(position[1] + height, viewHeight) - height;\n position[0] = Math.max(position[0], 0);\n position[1] = Math.max(position[1], 0);\n}\n/**\n * @param {number} value\n * @param {module:echarts/coord/Axis} axis\n * @param {module:echarts/model/Global} ecModel\n * @param {Object} opt\n * @param {Array.} seriesDataIndices\n * @param {number|string} opt.precision 'auto' or a number\n * @param {string|Function} opt.formatter label formatter\n */\n\n\nfunction getValueLabel(value, axis, ecModel, seriesDataIndices, opt) {\n value = axis.scale.parse(value);\n var text = axis.scale.getLabel( // If `precision` is set, width can be fixed (like '12.00500'), which\n // helps to debounce when when moving label.\n value, {\n precision: opt.precision\n });\n var formatter = opt.formatter;\n\n if (formatter) {\n var params = {\n value: axisHelper.getAxisRawValue(axis, value),\n seriesData: []\n };\n zrUtil.each(seriesDataIndices, function (idxItem) {\n var series = ecModel.getSeriesByIndex(idxItem.seriesIndex);\n var dataIndex = idxItem.dataIndexInside;\n var dataParams = series && series.getDataParams(dataIndex);\n dataParams && params.seriesData.push(dataParams);\n });\n\n if (zrUtil.isString(formatter)) {\n text = formatter.replace('{value}', text);\n } else if (zrUtil.isFunction(formatter)) {\n text = formatter(params);\n }\n }\n\n return text;\n}\n/**\n * @param {module:echarts/coord/Axis} axis\n * @param {number} value\n * @param {Object} layoutInfo {\n * rotation, position, labelOffset, labelDirection, labelMargin\n * }\n */\n\n\nfunction getTransformedPosition(axis, value, layoutInfo) {\n var transform = matrix.create();\n matrix.rotate(transform, transform, layoutInfo.rotation);\n matrix.translate(transform, transform, layoutInfo.position);\n return graphic.applyTransform([axis.dataToCoord(value), (layoutInfo.labelOffset || 0) + (layoutInfo.labelDirection || 1) * (layoutInfo.labelMargin || 0)], transform);\n}\n\nfunction buildCartesianSingleLabelElOption(value, elOption, layoutInfo, axisModel, axisPointerModel, api) {\n var textLayout = AxisBuilder.innerTextLayout(layoutInfo.rotation, 0, layoutInfo.labelDirection);\n layoutInfo.labelMargin = axisPointerModel.get('label.margin');\n buildLabelElOption(elOption, axisModel, axisPointerModel, api, {\n position: getTransformedPosition(axisModel.axis, value, layoutInfo),\n align: textLayout.textAlign,\n verticalAlign: textLayout.textVerticalAlign\n });\n}\n/**\n * @param {Array.} p1\n * @param {Array.} p2\n * @param {number} [xDimIndex=0] or 1\n */\n\n\nfunction makeLineShape(p1, p2, xDimIndex) {\n xDimIndex = xDimIndex || 0;\n return {\n x1: p1[xDimIndex],\n y1: p1[1 - xDimIndex],\n x2: p2[xDimIndex],\n y2: p2[1 - xDimIndex]\n };\n}\n/**\n * @param {Array.} xy\n * @param {Array.} wh\n * @param {number} [xDimIndex=0] or 1\n */\n\n\nfunction makeRectShape(xy, wh, xDimIndex) {\n xDimIndex = xDimIndex || 0;\n return {\n x: xy[xDimIndex],\n y: xy[1 - xDimIndex],\n width: wh[xDimIndex],\n height: wh[1 - xDimIndex]\n };\n}\n\nfunction makeSectorShape(cx, cy, r0, r, startAngle, endAngle) {\n return {\n cx: cx,\n cy: cy,\n r0: r0,\n r: r,\n startAngle: startAngle,\n endAngle: endAngle,\n clockwise: true\n };\n}\n\nexports.buildElStyle = buildElStyle;\nexports.buildLabelElOption = buildLabelElOption;\nexports.getValueLabel = getValueLabel;\nexports.getTransformedPosition = getTransformedPosition;\nexports.buildCartesianSingleLabelElOption = buildCartesianSingleLabelElOption;\nexports.makeLineShape = makeLineShape;\nexports.makeRectShape = makeRectShape;\nexports.makeSectorShape = makeSectorShape;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar each = _util.each;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// (1) [Caution]: the logic is correct based on the premises:\n// data processing stage is blocked in stream.\n// See \n// (2) Only register once when import repeatly.\n// Should be executed before 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;","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar formatUtil = require(\"../../util/format\");\n\nvar numberUtil = require(\"../../util/number\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar MONTH_TEXT = {\n EN: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n CN: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']\n};\nvar WEEK_TEXT = {\n EN: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n CN: ['日', '一', '二', '三', '四', '五', '六']\n};\n\nvar _default = echarts.extendComponentView({\n type: 'calendar',\n\n /**\n * top/left line points\n * @private\n */\n _tlpoints: null,\n\n /**\n * bottom/right line points\n * @private\n */\n _blpoints: null,\n\n /**\n * first day of month\n * @private\n */\n _firstDayOfMonth: null,\n\n /**\n * first day point of month\n * @private\n */\n _firstDayPoints: null,\n render: function (calendarModel, ecModel, api) {\n var group = this.group;\n group.removeAll();\n var coordSys = calendarModel.coordinateSystem; // range info\n\n var rangeData = coordSys.getRangeInfo();\n var orient = coordSys.getOrient();\n\n this._renderDayRect(calendarModel, rangeData, group); // _renderLines must be called prior to following function\n\n\n this._renderLines(calendarModel, rangeData, orient, group);\n\n this._renderYearText(calendarModel, rangeData, orient, group);\n\n this._renderMonthText(calendarModel, orient, group);\n\n this._renderWeekText(calendarModel, rangeData, orient, group);\n },\n // render day rect\n _renderDayRect: function (calendarModel, rangeData, group) {\n var coordSys = calendarModel.coordinateSystem;\n var itemRectStyleModel = calendarModel.getModel('itemStyle').getItemStyle();\n var sw = coordSys.getCellWidth();\n var sh = coordSys.getCellHeight();\n\n for (var i = rangeData.start.time; i <= rangeData.end.time; i = coordSys.getNextNDay(i, 1).time) {\n var point = coordSys.dataToRect([i], false).tl; // every rect\n\n var rect = new graphic.Rect({\n shape: {\n x: point[0],\n y: point[1],\n width: sw,\n height: sh\n },\n cursor: 'default',\n style: itemRectStyleModel\n });\n group.add(rect);\n }\n },\n // render separate line\n _renderLines: function (calendarModel, rangeData, orient, group) {\n var self = this;\n var coordSys = calendarModel.coordinateSystem;\n var lineStyleModel = calendarModel.getModel('splitLine.lineStyle').getLineStyle();\n var show = calendarModel.get('splitLine.show');\n var lineWidth = lineStyleModel.lineWidth;\n this._tlpoints = [];\n this._blpoints = [];\n this._firstDayOfMonth = [];\n this._firstDayPoints = [];\n var firstDay = rangeData.start;\n\n for (var i = 0; firstDay.time <= rangeData.end.time; i++) {\n addPoints(firstDay.formatedDate);\n\n if (i === 0) {\n firstDay = coordSys.getDateInfo(rangeData.start.y + '-' + rangeData.start.m);\n }\n\n var date = firstDay.date;\n date.setMonth(date.getMonth() + 1);\n firstDay = coordSys.getDateInfo(date);\n }\n\n addPoints(coordSys.getNextNDay(rangeData.end.time, 1).formatedDate);\n\n function addPoints(date) {\n self._firstDayOfMonth.push(coordSys.getDateInfo(date));\n\n self._firstDayPoints.push(coordSys.dataToRect([date], false).tl);\n\n var points = self._getLinePointsOfOneWeek(calendarModel, date, orient);\n\n self._tlpoints.push(points[0]);\n\n self._blpoints.push(points[points.length - 1]);\n\n show && self._drawSplitline(points, lineStyleModel, group);\n } // render top/left line\n\n\n show && this._drawSplitline(self._getEdgesPoints(self._tlpoints, lineWidth, orient), lineStyleModel, group); // render bottom/right line\n\n show && this._drawSplitline(self._getEdgesPoints(self._blpoints, lineWidth, orient), lineStyleModel, group);\n },\n // get points at both ends\n _getEdgesPoints: function (points, lineWidth, orient) {\n var rs = [points[0].slice(), points[points.length - 1].slice()];\n var idx = orient === 'horizontal' ? 0 : 1; // both ends of the line are extend half lineWidth\n\n rs[0][idx] = rs[0][idx] - lineWidth / 2;\n rs[1][idx] = rs[1][idx] + lineWidth / 2;\n return rs;\n },\n // render split line\n _drawSplitline: function (points, lineStyleModel, group) {\n var poyline = new graphic.Polyline({\n z2: 20,\n shape: {\n points: points\n },\n style: lineStyleModel\n });\n group.add(poyline);\n },\n // render month line of one week points\n _getLinePointsOfOneWeek: function (calendarModel, date, orient) {\n var coordSys = calendarModel.coordinateSystem;\n date = coordSys.getDateInfo(date);\n var points = [];\n\n for (var i = 0; i < 7; i++) {\n var tmpD = coordSys.getNextNDay(date.time, i);\n var point = coordSys.dataToRect([tmpD.time], false);\n points[2 * tmpD.day] = point.tl;\n points[2 * tmpD.day + 1] = point[orient === 'horizontal' ? 'bl' : 'tr'];\n }\n\n return points;\n },\n _formatterLabel: function (formatter, params) {\n if (typeof formatter === 'string' && formatter) {\n return formatUtil.formatTplSimple(formatter, params);\n }\n\n if (typeof formatter === 'function') {\n return formatter(params);\n }\n\n return params.nameMap;\n },\n _yearTextPositionControl: function (textEl, point, orient, position, margin) {\n point = point.slice();\n var aligns = ['center', 'bottom'];\n\n if (position === 'bottom') {\n point[1] += margin;\n aligns = ['center', 'top'];\n } else if (position === 'left') {\n point[0] -= margin;\n } else if (position === 'right') {\n point[0] += margin;\n aligns = ['center', 'top'];\n } else {\n // top\n point[1] -= margin;\n }\n\n var rotate = 0;\n\n if (position === 'left' || position === 'right') {\n rotate = Math.PI / 2;\n }\n\n return {\n rotation: rotate,\n position: point,\n style: {\n textAlign: aligns[0],\n textVerticalAlign: aligns[1]\n }\n };\n },\n // render year\n _renderYearText: function (calendarModel, rangeData, orient, group) {\n var yearLabel = calendarModel.getModel('yearLabel');\n\n if (!yearLabel.get('show')) {\n return;\n }\n\n var margin = yearLabel.get('margin');\n var pos = yearLabel.get('position');\n\n if (!pos) {\n pos = orient !== 'horizontal' ? 'top' : 'left';\n }\n\n var points = [this._tlpoints[this._tlpoints.length - 1], this._blpoints[0]];\n var xc = (points[0][0] + points[1][0]) / 2;\n var yc = (points[0][1] + points[1][1]) / 2;\n var idx = orient === 'horizontal' ? 0 : 1;\n var posPoints = {\n top: [xc, points[idx][1]],\n bottom: [xc, points[1 - idx][1]],\n left: [points[1 - idx][0], yc],\n right: [points[idx][0], yc]\n };\n var name = rangeData.start.y;\n\n if (+rangeData.end.y > +rangeData.start.y) {\n name = name + '-' + rangeData.end.y;\n }\n\n var formatter = yearLabel.get('formatter');\n var params = {\n start: rangeData.start.y,\n end: rangeData.end.y,\n nameMap: name\n };\n\n var content = this._formatterLabel(formatter, params);\n\n var yearText = new graphic.Text({\n z2: 30\n });\n graphic.setTextStyle(yearText.style, yearLabel, {\n text: content\n }), yearText.attr(this._yearTextPositionControl(yearText, posPoints[pos], orient, pos, margin));\n group.add(yearText);\n },\n _monthTextPositionControl: function (point, isCenter, orient, position, margin) {\n var align = 'left';\n var vAlign = 'top';\n var x = point[0];\n var y = point[1];\n\n if (orient === 'horizontal') {\n y = y + margin;\n\n if (isCenter) {\n align = 'center';\n }\n\n if (position === 'start') {\n vAlign = 'bottom';\n }\n } else {\n x = x + margin;\n\n if (isCenter) {\n vAlign = 'middle';\n }\n\n if (position === 'start') {\n align = 'right';\n }\n }\n\n return {\n x: x,\n y: y,\n textAlign: align,\n textVerticalAlign: vAlign\n };\n },\n // render month and year text\n _renderMonthText: function (calendarModel, orient, group) {\n var monthLabel = calendarModel.getModel('monthLabel');\n\n if (!monthLabel.get('show')) {\n return;\n }\n\n var nameMap = monthLabel.get('nameMap');\n var margin = monthLabel.get('margin');\n var pos = monthLabel.get('position');\n var align = monthLabel.get('align');\n var termPoints = [this._tlpoints, this._blpoints];\n\n if (zrUtil.isString(nameMap)) {\n nameMap = MONTH_TEXT[nameMap.toUpperCase()] || [];\n }\n\n var idx = pos === 'start' ? 0 : 1;\n var axis = orient === 'horizontal' ? 0 : 1;\n margin = pos === 'start' ? -margin : margin;\n var isCenter = align === 'center';\n\n for (var i = 0; i < termPoints[idx].length - 1; i++) {\n var tmp = termPoints[idx][i].slice();\n var firstDay = this._firstDayOfMonth[i];\n\n if (isCenter) {\n var firstDayPoints = this._firstDayPoints[i];\n tmp[axis] = (firstDayPoints[axis] + termPoints[0][i + 1][axis]) / 2;\n }\n\n var formatter = monthLabel.get('formatter');\n var name = nameMap[+firstDay.m - 1];\n var params = {\n yyyy: firstDay.y,\n yy: (firstDay.y + '').slice(2),\n MM: firstDay.m,\n M: +firstDay.m,\n nameMap: name\n };\n\n var content = this._formatterLabel(formatter, params);\n\n var monthText = new graphic.Text({\n z2: 30\n });\n zrUtil.extend(graphic.setTextStyle(monthText.style, monthLabel, {\n text: content\n }), this._monthTextPositionControl(tmp, isCenter, orient, pos, margin));\n group.add(monthText);\n }\n },\n _weekTextPositionControl: function (point, orient, position, margin, cellSize) {\n var align = 'center';\n var vAlign = 'middle';\n var x = point[0];\n var y = point[1];\n var isStart = position === 'start';\n\n if (orient === 'horizontal') {\n x = x + margin + (isStart ? 1 : -1) * cellSize[0] / 2;\n align = isStart ? 'right' : 'left';\n } else {\n y = y + margin + (isStart ? 1 : -1) * cellSize[1] / 2;\n vAlign = isStart ? 'bottom' : 'top';\n }\n\n return {\n x: x,\n y: y,\n textAlign: align,\n textVerticalAlign: vAlign\n };\n },\n // render weeks\n _renderWeekText: function (calendarModel, rangeData, orient, group) {\n var dayLabel = calendarModel.getModel('dayLabel');\n\n if (!dayLabel.get('show')) {\n return;\n }\n\n var coordSys = calendarModel.coordinateSystem;\n var pos = dayLabel.get('position');\n var nameMap = dayLabel.get('nameMap');\n var margin = dayLabel.get('margin');\n var firstDayOfWeek = coordSys.getFirstDayOfWeek();\n\n if (zrUtil.isString(nameMap)) {\n nameMap = WEEK_TEXT[nameMap.toUpperCase()] || [];\n }\n\n var start = coordSys.getNextNDay(rangeData.end.time, 7 - rangeData.lweek).time;\n var cellSize = [coordSys.getCellWidth(), coordSys.getCellHeight()];\n margin = numberUtil.parsePercent(margin, cellSize[orient === 'horizontal' ? 0 : 1]);\n\n if (pos === 'start') {\n start = coordSys.getNextNDay(rangeData.start.time, -(7 + rangeData.fweek)).time;\n margin = -margin;\n }\n\n for (var i = 0; i < 7; i++) {\n var tmpD = coordSys.getNextNDay(start, i);\n var point = coordSys.dataToRect([tmpD.time], false).center;\n var day = i;\n day = Math.abs((i + firstDayOfWeek) % 7);\n var weekText = new graphic.Text({\n z2: 30\n });\n zrUtil.extend(graphic.setTextStyle(weekText.style, dayLabel, {\n text: nameMap[day]\n }), this._weekTextPositionControl(point, orient, pos, margin, cellSize));\n group.add(weekText);\n }\n }\n});\n\nmodule.exports = _default;","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar RoamController = require(\"../../component/helper/RoamController\");\n\nvar throttleUtil = require(\"../../util/throttle\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar textContain = require(\"zrender/lib/contain/text\");\n\nvar Axis = require(\"../Axis\");\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar inner = makeInner();\n\nfunction AngleAxis(scale, angleExtent) {\n angleExtent = angleExtent || [0, 360];\n Axis.call(this, 'angle', scale, angleExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = 'category';\n}\n\nAngleAxis.prototype = {\n constructor: AngleAxis,\n\n /**\n * @override\n */\n pointToData: function (point, clamp) {\n return this.polar.pointToData(point, clamp)[this.dim === 'radius' ? 0 : 1];\n },\n dataToAngle: Axis.prototype.dataToCoord,\n angleToData: Axis.prototype.coordToData,\n\n /**\n * Only be called in category axis.\n * Angle axis uses text height to decide interval\n *\n * @override\n * @return {number} Auto interval for cateogry axis tick and label\n */\n calculateCategoryInterval: function () {\n var axis = this;\n var labelModel = axis.getLabelModel();\n var ordinalScale = axis.scale;\n var ordinalExtent = ordinalScale.getExtent(); // Providing this method is for optimization:\n // avoid generating a long array by `getTicks`\n // in large category data case.\n\n var tickCount = ordinalScale.count();\n\n if (ordinalExtent[1] - ordinalExtent[0] < 1) {\n return 0;\n }\n\n var tickValue = ordinalExtent[0];\n var unitSpan = axis.dataToCoord(tickValue + 1) - axis.dataToCoord(tickValue);\n var unitH = Math.abs(unitSpan); // Not precise, just use height as text width\n // and each distance from axis line yet.\n\n var rect = textContain.getBoundingRect(tickValue, labelModel.getFont(), 'center', 'top');\n var maxH = Math.max(rect.height, 7);\n var dh = maxH / unitH; // 0/0 is NaN, 1/0 is Infinity.\n\n isNaN(dh) && (dh = Infinity);\n var interval = Math.max(0, Math.floor(dh));\n var cache = inner(axis.model);\n var lastAutoInterval = cache.lastAutoInterval;\n var lastTickCount = cache.lastTickCount; // Use cache to keep interval stable while moving zoom window,\n // otherwise the calculated interval might jitter when the zoom\n // window size is close to the interval-changing size.\n\n if (lastAutoInterval != null && lastTickCount != null && Math.abs(lastAutoInterval - interval) <= 1 && Math.abs(lastTickCount - tickCount) <= 1 // Always choose the bigger one, otherwise the critical\n // point is not the same when zooming in or zooming out.\n && lastAutoInterval > interval) {\n interval = lastAutoInterval;\n } // Only update cache if cache not used, otherwise the\n // changing of interval is too insensitive.\n else {\n cache.lastTickCount = tickCount;\n cache.lastAutoInterval = interval;\n }\n\n return interval;\n }\n};\nzrUtil.inherits(AngleAxis, Axis);\nvar _default = AngleAxis;\nmodule.exports = _default;","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./graph/GraphSeries\");\n\nrequire(\"./graph/GraphView\");\n\nrequire(\"./graph/graphAction\");\n\nvar categoryFilter = require(\"./graph/categoryFilter\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar categoryVisual = require(\"./graph/categoryVisual\");\n\nvar edgeVisual = require(\"./graph/edgeVisual\");\n\nvar simpleLayout = require(\"./graph/simpleLayout\");\n\nvar circularLayout = require(\"./graph/circularLayout\");\n\nvar forceLayout = require(\"./graph/forceLayout\");\n\nvar createView = require(\"./graph/createView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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(circularLayout);\necharts.registerLayout(forceLayout); // Graph view coordinate system\n\necharts.registerCoordinateSystem('graphView', {\n create: createView\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\nexport default function 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","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar List = require(\"../../data/List\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar markerHelper = require(\"./markerHelper\");\n\nvar LineDraw = require(\"../../chart/helper/LineDraw\");\n\nvar MarkerView = require(\"./MarkerView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\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 valueDataDim;\n var value;\n\n if (item.yAxis != null || item.xAxis != null) {\n valueDataDim = item.yAxis != null ? 'y' : 'x';\n valueAxis = coordSys.getAxis(valueDataDim);\n value = zrUtil.retrieve(item.yAxis, item.xAxis);\n } else {\n var axisInfo = markerHelper.getAxisInfo(item, data, coordSys, seriesModel);\n valueDataDim = axisInfo.valueDataDim;\n valueAxis = axisInfo.valueAxis;\n value = markerHelper.numCalculate(data, valueDataDim, mlType);\n }\n\n var valueIndex = valueDataDim === '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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./candlestick/CandlestickSeries\");\n\nrequire(\"./candlestick/CandlestickView\");\n\nvar preprocessor = require(\"./candlestick/preprocessor\");\n\nvar candlestickVisual = require(\"./candlestick/candlestickVisual\");\n\nvar candlestickLayout = require(\"./candlestick/candlestickLayout\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerPreprocessor(preprocessor);\necharts.registerVisual(candlestickVisual);\necharts.registerLayout(candlestickLayout);","var Displayable = require(\"./Displayable\");\n\nvar BoundingRect = require(\"../core/BoundingRect\");\n\nvar zrUtil = require(\"../core/util\");\n\nvar imageHelper = require(\"./helper/image\");\n\n/**\n * @alias zrender/graphic/Image\n * @extends module:zrender/graphic/Displayable\n * @constructor\n * @param {Object} opts\n */\nfunction ZImage(opts) {\n Displayable.call(this, opts);\n}\n\nZImage.prototype = {\n constructor: ZImage,\n type: 'image',\n brush: function (ctx, prevEl) {\n var style = this.style;\n var src = style.image; // Must bind each time\n\n style.bind(ctx, this, prevEl);\n var image = this._image = imageHelper.createOrUpdateImage(src, this._image, this, this.onload);\n\n if (!image || !imageHelper.isImageReady(image)) {\n return;\n } // 图片已经加载完成\n // if (image.nodeName.toUpperCase() == 'IMG') {\n // if (!image.complete) {\n // return;\n // }\n // }\n // Else is canvas\n\n\n var x = style.x || 0;\n var y = style.y || 0;\n var width = style.width;\n var height = style.height;\n var aspect = image.width / image.height;\n\n if (width == null && height != null) {\n // Keep image/height ratio\n width = height * aspect;\n } else if (height == null && width != null) {\n height = width / aspect;\n } else if (width == null && height == null) {\n width = image.width;\n height = image.height;\n } // 设置transform\n\n\n this.setTransform(ctx);\n\n if (style.sWidth && style.sHeight) {\n var sx = style.sx || 0;\n var sy = style.sy || 0;\n ctx.drawImage(image, sx, sy, style.sWidth, style.sHeight, x, y, width, height);\n } else if (style.sx && style.sy) {\n var sx = style.sx;\n var sy = style.sy;\n var sWidth = width - sx;\n var sHeight = height - sy;\n ctx.drawImage(image, sx, sy, sWidth, sHeight, x, y, width, height);\n } else {\n ctx.drawImage(image, x, y, width, height);\n } // Draw rect text\n\n\n if (style.text != null) {\n // Only restore transform when needs draw text.\n this.restoreTransform(ctx);\n this.drawRectText(ctx, this.getBoundingRect());\n }\n },\n getBoundingRect: function () {\n var style = this.style;\n\n if (!this._rect) {\n this._rect = new BoundingRect(style.x || 0, style.y || 0, style.width || 0, style.height || 0);\n }\n\n return this._rect;\n }\n};\nzrUtil.inherits(ZImage, Displayable);\nvar _default = ZImage;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar AxisBuilder = require(\"./AxisBuilder\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar singleAxisHelper = require(\"../../coord/single/singleAxisHelper\");\n\nvar AxisView = require(\"./AxisView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 selfBuilderAttr = '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 layout = singleAxisHelper.layout(axisModel);\n var axisBuilder = new AxisBuilder(axisModel, layout);\n zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);\n group.add(axisBuilder.getGroup());\n\n if (axisModel.get(selfBuilderAttr + '.show')) {\n this['_' + selfBuilderAttr](axisModel);\n }\n\n SingleAxisView.superCall(this, 'render', axisModel, ecModel, api, payload);\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(graphic.subPixelOptimizeLine({\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});\nvar _default = SingleAxisView;\nmodule.exports = _default;","var LRU = require(\"../core/LRU\");\n\nvar kCSSColorTable = {\n 'transparent': [0, 0, 0, 0],\n 'aliceblue': [240, 248, 255, 1],\n 'antiquewhite': [250, 235, 215, 1],\n 'aqua': [0, 255, 255, 1],\n 'aquamarine': [127, 255, 212, 1],\n 'azure': [240, 255, 255, 1],\n 'beige': [245, 245, 220, 1],\n 'bisque': [255, 228, 196, 1],\n 'black': [0, 0, 0, 1],\n 'blanchedalmond': [255, 235, 205, 1],\n 'blue': [0, 0, 255, 1],\n 'blueviolet': [138, 43, 226, 1],\n 'brown': [165, 42, 42, 1],\n 'burlywood': [222, 184, 135, 1],\n 'cadetblue': [95, 158, 160, 1],\n 'chartreuse': [127, 255, 0, 1],\n 'chocolate': [210, 105, 30, 1],\n 'coral': [255, 127, 80, 1],\n 'cornflowerblue': [100, 149, 237, 1],\n 'cornsilk': [255, 248, 220, 1],\n 'crimson': [220, 20, 60, 1],\n 'cyan': [0, 255, 255, 1],\n 'darkblue': [0, 0, 139, 1],\n 'darkcyan': [0, 139, 139, 1],\n 'darkgoldenrod': [184, 134, 11, 1],\n 'darkgray': [169, 169, 169, 1],\n 'darkgreen': [0, 100, 0, 1],\n 'darkgrey': [169, 169, 169, 1],\n 'darkkhaki': [189, 183, 107, 1],\n 'darkmagenta': [139, 0, 139, 1],\n 'darkolivegreen': [85, 107, 47, 1],\n 'darkorange': [255, 140, 0, 1],\n 'darkorchid': [153, 50, 204, 1],\n 'darkred': [139, 0, 0, 1],\n 'darksalmon': [233, 150, 122, 1],\n 'darkseagreen': [143, 188, 143, 1],\n 'darkslateblue': [72, 61, 139, 1],\n 'darkslategray': [47, 79, 79, 1],\n 'darkslategrey': [47, 79, 79, 1],\n 'darkturquoise': [0, 206, 209, 1],\n 'darkviolet': [148, 0, 211, 1],\n 'deeppink': [255, 20, 147, 1],\n 'deepskyblue': [0, 191, 255, 1],\n 'dimgray': [105, 105, 105, 1],\n 'dimgrey': [105, 105, 105, 1],\n 'dodgerblue': [30, 144, 255, 1],\n 'firebrick': [178, 34, 34, 1],\n 'floralwhite': [255, 250, 240, 1],\n 'forestgreen': [34, 139, 34, 1],\n 'fuchsia': [255, 0, 255, 1],\n 'gainsboro': [220, 220, 220, 1],\n 'ghostwhite': [248, 248, 255, 1],\n 'gold': [255, 215, 0, 1],\n 'goldenrod': [218, 165, 32, 1],\n 'gray': [128, 128, 128, 1],\n 'green': [0, 128, 0, 1],\n 'greenyellow': [173, 255, 47, 1],\n 'grey': [128, 128, 128, 1],\n 'honeydew': [240, 255, 240, 1],\n 'hotpink': [255, 105, 180, 1],\n 'indianred': [205, 92, 92, 1],\n 'indigo': [75, 0, 130, 1],\n 'ivory': [255, 255, 240, 1],\n 'khaki': [240, 230, 140, 1],\n 'lavender': [230, 230, 250, 1],\n 'lavenderblush': [255, 240, 245, 1],\n 'lawngreen': [124, 252, 0, 1],\n 'lemonchiffon': [255, 250, 205, 1],\n 'lightblue': [173, 216, 230, 1],\n 'lightcoral': [240, 128, 128, 1],\n 'lightcyan': [224, 255, 255, 1],\n 'lightgoldenrodyellow': [250, 250, 210, 1],\n 'lightgray': [211, 211, 211, 1],\n 'lightgreen': [144, 238, 144, 1],\n 'lightgrey': [211, 211, 211, 1],\n 'lightpink': [255, 182, 193, 1],\n 'lightsalmon': [255, 160, 122, 1],\n 'lightseagreen': [32, 178, 170, 1],\n 'lightskyblue': [135, 206, 250, 1],\n 'lightslategray': [119, 136, 153, 1],\n 'lightslategrey': [119, 136, 153, 1],\n 'lightsteelblue': [176, 196, 222, 1],\n 'lightyellow': [255, 255, 224, 1],\n 'lime': [0, 255, 0, 1],\n 'limegreen': [50, 205, 50, 1],\n 'linen': [250, 240, 230, 1],\n 'magenta': [255, 0, 255, 1],\n 'maroon': [128, 0, 0, 1],\n 'mediumaquamarine': [102, 205, 170, 1],\n 'mediumblue': [0, 0, 205, 1],\n 'mediumorchid': [186, 85, 211, 1],\n 'mediumpurple': [147, 112, 219, 1],\n 'mediumseagreen': [60, 179, 113, 1],\n 'mediumslateblue': [123, 104, 238, 1],\n 'mediumspringgreen': [0, 250, 154, 1],\n 'mediumturquoise': [72, 209, 204, 1],\n 'mediumvioletred': [199, 21, 133, 1],\n 'midnightblue': [25, 25, 112, 1],\n 'mintcream': [245, 255, 250, 1],\n 'mistyrose': [255, 228, 225, 1],\n 'moccasin': [255, 228, 181, 1],\n 'navajowhite': [255, 222, 173, 1],\n 'navy': [0, 0, 128, 1],\n 'oldlace': [253, 245, 230, 1],\n 'olive': [128, 128, 0, 1],\n 'olivedrab': [107, 142, 35, 1],\n 'orange': [255, 165, 0, 1],\n 'orangered': [255, 69, 0, 1],\n 'orchid': [218, 112, 214, 1],\n 'palegoldenrod': [238, 232, 170, 1],\n 'palegreen': [152, 251, 152, 1],\n 'paleturquoise': [175, 238, 238, 1],\n 'palevioletred': [219, 112, 147, 1],\n 'papayawhip': [255, 239, 213, 1],\n 'peachpuff': [255, 218, 185, 1],\n 'peru': [205, 133, 63, 1],\n 'pink': [255, 192, 203, 1],\n 'plum': [221, 160, 221, 1],\n 'powderblue': [176, 224, 230, 1],\n 'purple': [128, 0, 128, 1],\n 'red': [255, 0, 0, 1],\n 'rosybrown': [188, 143, 143, 1],\n 'royalblue': [65, 105, 225, 1],\n 'saddlebrown': [139, 69, 19, 1],\n 'salmon': [250, 128, 114, 1],\n 'sandybrown': [244, 164, 96, 1],\n 'seagreen': [46, 139, 87, 1],\n 'seashell': [255, 245, 238, 1],\n 'sienna': [160, 82, 45, 1],\n 'silver': [192, 192, 192, 1],\n 'skyblue': [135, 206, 235, 1],\n 'slateblue': [106, 90, 205, 1],\n 'slategray': [112, 128, 144, 1],\n 'slategrey': [112, 128, 144, 1],\n 'snow': [255, 250, 250, 1],\n 'springgreen': [0, 255, 127, 1],\n 'steelblue': [70, 130, 180, 1],\n 'tan': [210, 180, 140, 1],\n 'teal': [0, 128, 128, 1],\n 'thistle': [216, 191, 216, 1],\n 'tomato': [255, 99, 71, 1],\n 'turquoise': [64, 224, 208, 1],\n 'violet': [238, 130, 238, 1],\n 'wheat': [245, 222, 179, 1],\n 'white': [255, 255, 255, 1],\n 'whitesmoke': [245, 245, 245, 1],\n 'yellow': [255, 255, 0, 1],\n 'yellowgreen': [154, 205, 50, 1]\n};\n\nfunction clampCssByte(i) {\n // Clamp to integer 0 .. 255.\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\n\n return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clampCssAngle(i) {\n // Clamp to integer 0 .. 360.\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\n\n return i < 0 ? 0 : i > 360 ? 360 : i;\n}\n\nfunction clampCssFloat(f) {\n // Clamp to float 0.0 .. 1.0.\n return f < 0 ? 0 : f > 1 ? 1 : f;\n}\n\nfunction parseCssInt(str) {\n // int or percentage.\n if (str.length && str.charAt(str.length - 1) === '%') {\n return clampCssByte(parseFloat(str) / 100 * 255);\n }\n\n return clampCssByte(parseInt(str, 10));\n}\n\nfunction parseCssFloat(str) {\n // float or percentage.\n if (str.length && str.charAt(str.length - 1) === '%') {\n return clampCssFloat(parseFloat(str) / 100);\n }\n\n return clampCssFloat(parseFloat(str));\n}\n\nfunction cssHueToRgb(m1, m2, h) {\n if (h < 0) {\n h += 1;\n } else if (h > 1) {\n h -= 1;\n }\n\n if (h * 6 < 1) {\n return m1 + (m2 - m1) * h * 6;\n }\n\n if (h * 2 < 1) {\n return m2;\n }\n\n if (h * 3 < 2) {\n return m1 + (m2 - m1) * (2 / 3 - h) * 6;\n }\n\n return m1;\n}\n\nfunction lerpNumber(a, b, p) {\n return a + (b - a) * p;\n}\n\nfunction setRgba(out, r, g, b, a) {\n out[0] = r;\n out[1] = g;\n out[2] = b;\n out[3] = a;\n return out;\n}\n\nfunction copyRgba(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n return out;\n}\n\nvar colorCache = new LRU(20);\nvar lastRemovedArr = null;\n\nfunction putToCache(colorStr, rgbaArr) {\n // Reuse removed array\n if (lastRemovedArr) {\n copyRgba(lastRemovedArr, rgbaArr);\n }\n\n lastRemovedArr = colorCache.put(colorStr, lastRemovedArr || rgbaArr.slice());\n}\n/**\n * @param {string} colorStr\n * @param {Array.} out\n * @return {Array.}\n * @memberOf module:zrender/util/color\n */\n\n\nfunction parse(colorStr, rgbaArr) {\n if (!colorStr) {\n return;\n }\n\n rgbaArr = rgbaArr || [];\n var cached = colorCache.get(colorStr);\n\n if (cached) {\n return copyRgba(rgbaArr, cached);\n } // colorStr may be not string\n\n\n colorStr = colorStr + ''; // Remove all whitespace, not compliant, but should just be more accepting.\n\n var str = colorStr.replace(/ /g, '').toLowerCase(); // Color keywords (and transparent) lookup.\n\n if (str in kCSSColorTable) {\n copyRgba(rgbaArr, kCSSColorTable[str]);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n } // #abc and #abc123 syntax.\n\n\n if (str.charAt(0) === '#') {\n if (str.length === 4) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n\n if (!(iv >= 0 && iv <= 0xfff)) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return; // Covers NaN.\n }\n\n setRgba(rgbaArr, (iv & 0xf00) >> 4 | (iv & 0xf00) >> 8, iv & 0xf0 | (iv & 0xf0) >> 4, iv & 0xf | (iv & 0xf) << 4, 1);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n } else if (str.length === 7) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n\n if (!(iv >= 0 && iv <= 0xffffff)) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return; // Covers NaN.\n }\n\n setRgba(rgbaArr, (iv & 0xff0000) >> 16, (iv & 0xff00) >> 8, iv & 0xff, 1);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n }\n\n return;\n }\n\n var op = str.indexOf('(');\n var ep = str.indexOf(')');\n\n if (op !== -1 && ep + 1 === str.length) {\n var fname = str.substr(0, op);\n var params = str.substr(op + 1, ep - (op + 1)).split(',');\n var alpha = 1; // To allow case fallthrough.\n\n switch (fname) {\n case 'rgba':\n if (params.length !== 4) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n\n alpha = parseCssFloat(params.pop());\n // jshint ignore:line\n // Fall through.\n\n case 'rgb':\n if (params.length !== 3) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n\n setRgba(rgbaArr, parseCssInt(params[0]), parseCssInt(params[1]), parseCssInt(params[2]), alpha);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n\n case 'hsla':\n if (params.length !== 4) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n\n params[3] = parseCssFloat(params[3]);\n hsla2rgba(params, rgbaArr);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n\n case 'hsl':\n if (params.length !== 3) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n\n hsla2rgba(params, rgbaArr);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n\n default:\n return;\n }\n }\n\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n}\n/**\n * @param {Array.} hsla\n * @param {Array.} rgba\n * @return {Array.} rgba\n */\n\n\nfunction hsla2rgba(hsla, rgba) {\n var h = (parseFloat(hsla[0]) % 360 + 360) % 360 / 360; // 0 .. 1\n // NOTE(deanm): According to the CSS spec s/l should only be\n // percentages, but we don't bother and let float or percentage.\n\n var s = parseCssFloat(hsla[1]);\n var l = parseCssFloat(hsla[2]);\n var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var m1 = l * 2 - m2;\n rgba = rgba || [];\n setRgba(rgba, clampCssByte(cssHueToRgb(m1, m2, h + 1 / 3) * 255), clampCssByte(cssHueToRgb(m1, m2, h) * 255), clampCssByte(cssHueToRgb(m1, m2, h - 1 / 3) * 255), 1);\n\n if (hsla.length === 4) {\n rgba[3] = hsla[3];\n }\n\n return rgba;\n}\n/**\n * @param {Array.} rgba\n * @return {Array.} hsla\n */\n\n\nfunction rgba2hsla(rgba) {\n if (!rgba) {\n return;\n } // RGB from 0 to 255\n\n\n var R = rgba[0] / 255;\n var G = rgba[1] / 255;\n var B = rgba[2] / 255;\n var vMin = Math.min(R, G, B); // Min. value of RGB\n\n var vMax = Math.max(R, G, B); // Max. value of RGB\n\n var delta = vMax - vMin; // Delta RGB value\n\n var L = (vMax + vMin) / 2;\n var H;\n var S; // HSL results from 0 to 1\n\n if (delta === 0) {\n H = 0;\n S = 0;\n } else {\n if (L < 0.5) {\n S = delta / (vMax + vMin);\n } else {\n S = delta / (2 - vMax - vMin);\n }\n\n var deltaR = ((vMax - R) / 6 + delta / 2) / delta;\n var deltaG = ((vMax - G) / 6 + delta / 2) / delta;\n var deltaB = ((vMax - B) / 6 + delta / 2) / delta;\n\n if (R === vMax) {\n H = deltaB - deltaG;\n } else if (G === vMax) {\n H = 1 / 3 + deltaR - deltaB;\n } else if (B === vMax) {\n H = 2 / 3 + deltaG - deltaR;\n }\n\n if (H < 0) {\n H += 1;\n }\n\n if (H > 1) {\n H -= 1;\n }\n }\n\n var hsla = [H * 360, S, L];\n\n if (rgba[3] != null) {\n hsla.push(rgba[3]);\n }\n\n return hsla;\n}\n/**\n * @param {string} color\n * @param {number} level\n * @return {string}\n * @memberOf module:zrender/util/color\n */\n\n\nfunction lift(color, level) {\n var colorArr = parse(color);\n\n if (colorArr) {\n for (var i = 0; i < 3; i++) {\n if (level < 0) {\n colorArr[i] = colorArr[i] * (1 - level) | 0;\n } else {\n colorArr[i] = (255 - colorArr[i]) * level + colorArr[i] | 0;\n }\n\n if (colorArr[i] > 255) {\n colorArr[i] = 255;\n } else if (color[i] < 0) {\n colorArr[i] = 0;\n }\n }\n\n return stringify(colorArr, colorArr.length === 4 ? 'rgba' : 'rgb');\n }\n}\n/**\n * @param {string} color\n * @return {string}\n * @memberOf module:zrender/util/color\n */\n\n\nfunction toHex(color) {\n var colorArr = parse(color);\n\n if (colorArr) {\n return ((1 << 24) + (colorArr[0] << 16) + (colorArr[1] << 8) + +colorArr[2]).toString(16).slice(1);\n }\n}\n/**\n * Map value to color. Faster than lerp methods because color is represented by rgba array.\n * @param {number} normalizedValue A float between 0 and 1.\n * @param {Array.>} colors List of rgba color array\n * @param {Array.} [out] Mapped gba color array\n * @return {Array.} will be null/undefined if input illegal.\n */\n\n\nfunction fastLerp(normalizedValue, colors, out) {\n if (!(colors && colors.length) || !(normalizedValue >= 0 && normalizedValue <= 1)) {\n return;\n }\n\n out = out || [];\n var value = normalizedValue * (colors.length - 1);\n var leftIndex = Math.floor(value);\n var rightIndex = Math.ceil(value);\n var leftColor = colors[leftIndex];\n var rightColor = colors[rightIndex];\n var dv = value - leftIndex;\n out[0] = clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv));\n out[1] = clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv));\n out[2] = clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv));\n out[3] = clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv));\n return out;\n}\n/**\n * @deprecated\n */\n\n\nvar fastMapToColor = fastLerp;\n/**\n * @param {number} normalizedValue A float between 0 and 1.\n * @param {Array.} colors Color list.\n * @param {boolean=} fullOutput Default false.\n * @return {(string|Object)} Result color. If fullOutput,\n * return {color: ..., leftIndex: ..., rightIndex: ..., value: ...},\n * @memberOf module:zrender/util/color\n */\n\nfunction lerp(normalizedValue, colors, fullOutput) {\n if (!(colors && colors.length) || !(normalizedValue >= 0 && normalizedValue <= 1)) {\n return;\n }\n\n var value = normalizedValue * (colors.length - 1);\n var leftIndex = Math.floor(value);\n var rightIndex = Math.ceil(value);\n var leftColor = parse(colors[leftIndex]);\n var rightColor = parse(colors[rightIndex]);\n var dv = value - leftIndex;\n var color = stringify([clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv)), clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv)), clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv)), clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv))], 'rgba');\n return fullOutput ? {\n color: color,\n leftIndex: leftIndex,\n rightIndex: rightIndex,\n value: value\n } : color;\n}\n/**\n * @deprecated\n */\n\n\nvar mapToColor = lerp;\n/**\n * @param {string} color\n * @param {number=} h 0 ~ 360, ignore when null.\n * @param {number=} s 0 ~ 1, ignore when null.\n * @param {number=} l 0 ~ 1, ignore when null.\n * @return {string} Color string in rgba format.\n * @memberOf module:zrender/util/color\n */\n\nfunction modifyHSL(color, h, s, l) {\n color = parse(color);\n\n if (color) {\n color = rgba2hsla(color);\n h != null && (color[0] = clampCssAngle(h));\n s != null && (color[1] = parseCssFloat(s));\n l != null && (color[2] = parseCssFloat(l));\n return stringify(hsla2rgba(color), 'rgba');\n }\n}\n/**\n * @param {string} color\n * @param {number=} alpha 0 ~ 1\n * @return {string} Color string in rgba format.\n * @memberOf module:zrender/util/color\n */\n\n\nfunction modifyAlpha(color, alpha) {\n color = parse(color);\n\n if (color && alpha != null) {\n color[3] = clampCssFloat(alpha);\n return stringify(color, 'rgba');\n }\n}\n/**\n * @param {Array.} arrColor like [12,33,44,0.4]\n * @param {string} type 'rgba', 'hsva', ...\n * @return {string} Result color. (If input illegal, return undefined).\n */\n\n\nfunction stringify(arrColor, type) {\n if (!arrColor || !arrColor.length) {\n return;\n }\n\n var colorStr = arrColor[0] + ',' + arrColor[1] + ',' + arrColor[2];\n\n if (type === 'rgba' || type === 'hsva' || type === 'hsla') {\n colorStr += ',' + arrColor[3];\n }\n\n return type + '(' + colorStr + ')';\n}\n\nexports.parse = parse;\nexports.lift = lift;\nexports.toHex = toHex;\nexports.fastLerp = fastLerp;\nexports.fastMapToColor = fastMapToColor;\nexports.lerp = lerp;\nexports.mapToColor = mapToColor;\nexports.modifyHSL = modifyHSL;\nexports.modifyAlpha = modifyAlpha;\nexports.stringify = stringify;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _helper = require(\"./helper\");\n\nvar setLabel = _helper.setLabel;\n\nvar Model = require(\"../../model/Model\");\n\nvar barItemStyle = require(\"./barItemStyle\");\n\nvar Path = require(\"zrender/lib/graphic/Path\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar BAR_BORDER_WIDTH_QUERY = ['itemStyle', 'barBorderWidth']; // FIXME\n// Just for compatible with ec2.\n\nzrUtil.extend(Model.prototype, barItemStyle);\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 data.diff(oldData).add(function (dataIndex) {\n if (!data.hasValue(dataIndex)) {\n return;\n }\n\n var itemModel = data.getItemModel(dataIndex);\n var layout = getLayout[coord.type](data, dataIndex, itemModel);\n var el = elementCreator[coord.type](data, dataIndex, itemModel, layout, isHorizontalOrRadial, animationModel);\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 el = oldData.getItemGraphicEl(oldIndex);\n\n if (!data.hasValue(newIndex)) {\n group.remove(el);\n return;\n }\n\n var itemModel = data.getItemModel(newIndex);\n var layout = getLayout[coord.type](data, newIndex, itemModel);\n\n if (el) {\n graphic.updateProps(el, {\n shape: layout\n }, animationModel, newIndex);\n } else {\n el = elementCreator[coord.type](data, newIndex, itemModel, layout, isHorizontalOrRadial, animationModel, true);\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 this._data = data;\n },\n _renderLarge: function (seriesModel, ecModel, api) {\n this._clear();\n\n createLarge(seriesModel, this.group);\n },\n _incrementalRenderLarge: function (params, seriesModel) {\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 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});\n\nvar elementCreator = {\n cartesian2d: function (data, dataIndex, itemModel, layout, isHorizontal, animationModel, isUpdate) {\n var rect = new graphic.Rect({\n shape: zrUtil.extend({}, layout)\n }); // 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 (data, dataIndex, itemModel, layout, isRadial, animationModel, isUpdate) {\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 sector = new graphic.Sector({\n shape: zrUtil.defaults({\n clockwise: clockwise\n }, layout)\n }); // 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 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 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 fill: 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 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;\n return Math.min(lineWidth, Math.abs(rawLayout.width), Math.abs(rawLayout.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 valueIdx = this.__valueIdx;\n\n for (var i = 0; i < points.length; i += 2) {\n startPoint[this.__valueIdx] = points[i + valueIdx];\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 valueIdx = data.getLayout('valueAxisHorizontal') ? 1 : 0;\n startPoint[1 - valueIdx] = data.getLayout('valueAxisStart');\n var el = new LargePath({\n shape: {\n points: data.getLayout('largePoints')\n },\n incremental: !!incremental,\n __startPoint: startPoint,\n __valueIdx: valueIdx\n });\n group.add(el);\n setLargeStyle(el, seriesModel, data);\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\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\nvar normalizeToArray = _model.normalizeToArray;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar inner = makeInner();\n\nfunction getNearestColorPalette(colors, requestColorNum) {\n var paletteNum = colors.length; // TODO colors must be in order\n\n for (var i = 0; i < paletteNum; i++) {\n if (colors[i].length > requestColorNum) {\n return colors[i];\n }\n }\n\n return colors[paletteNum - 1];\n}\n\nvar _default = {\n clearColorPalette: function () {\n inner(this).colorIdx = 0;\n inner(this).colorNameMap = {};\n },\n\n /**\n * @param {string} name MUST NOT be null/undefined. Otherwise call this function\n * twise with the same parameters will get different result.\n * @param {Object} [scope=this]\n * @param {Object} [requestColorNum]\n * @return {string} color string.\n */\n getColorFromPalette: function (name, scope, requestColorNum) {\n scope = scope || this;\n var scopeFields = inner(scope);\n var colorIdx = scopeFields.colorIdx || 0;\n var colorNameMap = scopeFields.colorNameMap = scopeFields.colorNameMap || {}; // Use `hasOwnProperty` to avoid conflict with Object.prototype.\n\n if (colorNameMap.hasOwnProperty(name)) {\n return colorNameMap[name];\n }\n\n var defaultColorPalette = normalizeToArray(this.get('color', true));\n var layeredColorPalette = this.get('colorLayer', true);\n var colorPalette = requestColorNum == null || !layeredColorPalette ? defaultColorPalette : getNearestColorPalette(layeredColorPalette, requestColorNum); // In case can't find in layered color palette.\n\n colorPalette = colorPalette || defaultColorPalette;\n\n if (!colorPalette || !colorPalette.length) {\n return;\n }\n\n var color = colorPalette[colorIdx];\n\n if (name) {\n colorNameMap[name] = color;\n }\n\n scopeFields.colorIdx = (colorIdx + 1) % colorPalette.length;\n return color;\n }\n};\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar layoutUtil = require(\"../../util/layout\");\n\nvar LegendView = require(\"./LegendView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Separate legend and scrollable legend to reduce package size.\n */\nvar Group = graphic.Group;\nvar WH = ['width', 'height'];\nvar XY = ['x', 'y'];\nvar ScrollableLegendView = LegendView.extend({\n type: 'legend.scroll',\n newlineDisabled: true,\n init: function () {\n ScrollableLegendView.superCall(this, 'init');\n /**\n * @private\n * @type {number} For `scroll`.\n */\n\n this._currentIndex = 0;\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n\n this.group.add(this._containerGroup = new Group());\n\n this._containerGroup.add(this.getContentGroup());\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n\n\n this.group.add(this._controllerGroup = new Group());\n /**\n *\n * @private\n */\n\n this._showController;\n },\n\n /**\n * @override\n */\n resetInner: function () {\n ScrollableLegendView.superCall(this, 'resetInner');\n\n this._controllerGroup.removeAll();\n\n this._containerGroup.removeClipPath();\n\n this._containerGroup.__rectSize = null;\n },\n\n /**\n * @override\n */\n renderInner: function (itemAlign, legendModel, ecModel, api) {\n var me = this; // Render content items.\n\n ScrollableLegendView.superCall(this, 'renderInner', itemAlign, legendModel, ecModel, api);\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) {\n var contentGroup = this.getContentGroup();\n var containerGroup = this._containerGroup;\n var controllerGroup = this._controllerGroup;\n var orientIdx = legendModel.getOrient().index;\n var wh = WH[orientIdx];\n var hw = WH[1 - orientIdx];\n var yx = XY[1 - orientIdx]; // 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 = this.group.getBoundingRect();\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 place holders.\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 efffect.\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 next page.\n * pageNextDataIndex: number, null when no previous 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 var index;\n var contentGroup = this.getContentGroup();\n\n if (this._showController) {\n contentGroup.eachChild(function (child, idx) {\n if (child.__legendDataIndex === targetDataIndex) {\n index = idx;\n }\n });\n } else {\n index = 0;\n }\n\n return index;\n }\n});\nvar _default = ScrollableLegendView;\nmodule.exports = _default;","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\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 = {})[require('./_wks')('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 = require('./_redefine-all')($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 });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[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 && require('./_iter-detect')(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 * Vue.js v2.6.10\n * (c) 2014-2019 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Techinically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.