var echartsExample;echartsExample=(()=>{var e={4734:e=>{"use strict";e.exports='var DebugRect=function(){function e(e){var t=this.dom=document.createElement("div");for(var i in t.className="ec-debug-dirty-rect",e=Object.assign({},e),Object.assign(e,{backgroundColor:"rgba(0, 0, 255, 0.2)",border:"1px solid #00f"}),t.style.cssText="position:absolute;opacity:0;transition:opacity 0.5s linear;pointer-events:none;",e)e.hasOwnProperty(i)&&(t.style[i]=e[i])}return e.prototype.update=function(e){var t=this.dom.style;t.width=e.width+"px",t.height=e.height+"px",t.left=e.x+"px",t.top=e.y+"px"},e.prototype.hide=function(){this.dom.style.opacity="0"},e.prototype.show=function(){var e=this;clearTimeout(this._hideTimeout),this.dom.style.opacity="1",this._hideTimeout=setTimeout((function(){e.hide()}),500)},e}();function showDebugDirtyRect(e,t){t=t||{};var i=e.painter;if(!i.getLayers)throw new Error("Debug dirty rect can only been used on canvas renderer.");if(i.isSingleCanvas())throw new Error("Debug dirty rect can only been used on zrender inited with container.");var n=document.createElement("div");n.className="ec-debug-dirty-rect-container",n.style.cssText="position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;z-index:9999999;";var o=[],r=e.dom;r.appendChild(n),"static"===getComputedStyle(r).position&&(r.style.position="relative"),e.on("rendered",(function(){if(i.getLayers){var e=0;i.eachBuiltinLayer((function(i){if(i.debugGetPaintRects)for(var r=i.debugGetPaintRects(),s=0;s<r.length;s++)o[e]||(o[e]=new DebugRect(t.style),n.appendChild(o[e].dom)),o[e].show(),o[e].update(r[s]),e++}));for(var r=e;r<o.length;r++)o[r].hide()}}))}'},8892:e=>{"use strict";e.exports='function handleLoop(e){var t;try{t=acorn.parse(e,{ecmaVersion:"latest",sourceType:"script"})}catch(t){return console.error("failed to parse code",t),e}var o=[],r=1,s={setMonitor:"LoopController.loopMonitor(%d);",delMonitor:";LoopController.delLoop(%d);"};return estraverse.traverse(t,{enter:function(e){switch(e.type){case"WhileStatement":case"DoWhileStatement":case"ForStatement":case"ForInStatement":case"ForOfStatement":var t=e.body,n=t.start,a=t.end;n++;var c=s.setMonitor.replace("%d",r),p="";"BlockStatement"!==e.body.type&&(c="{"+c,p="}",--n),o.push({pos:n,str:c}),o.push({pos:a,str:p}),o.push({pos:e.end,str:s.delMonitor.replace("%d",r)}),++r}}}),o.sort((function(e,t){return t.pos-e.pos})).forEach((function(t){e=e.slice(0,t.pos)+t.str+e.slice(t.pos)})),e}'},2791:e=>{"use strict";e.exports='var LoopController=Object.freeze({_config:Object.freeze({maxExecTimePerLoop:1e4,maxLoopCount:1e6}),_loopMap:new Map,initLoop:function(o){this.setLoop(o,{isInit:!0,totalExecTime:0,startTime:Date.now(),count:0})},getLoop:function(o){return this._loopMap.get(o)},setLoop:function(o,t){this._loopMap.set(o,t)},delLoop:function(o){this._loopMap.delete(o)},clearLoops:function(){this._loopMap.clear()},exitLoop:function(o){this.delLoop(o)},calcLoop:function(o){if(this._loopMap.has(o)){var t=this.getLoop(o),e=t.isInit,i=t.totalExecTime,n=t.startTime,p=t.count;e?(i=Date.now()-n,p++,this.setLoop(o,{isInit:e,totalExecTime:i,startTime:n,count:p})):this.initLoop(o)}else this.initLoop(o)},loopMonitor:function(o){this.calcLoop(o);var t=this.getLoop(o),e=this._config,i=e.maxExecTimePerLoop,n=e.maxLoopCount;if(t.totalExecTime>i&&t.count>n)throw this.clearLoops(),new Error("The loop executes so many times that ECharts has to exit the loop in case the page gets stuck")}});'},4172:e=>{"use strict";e.exports='function setup(e){var t=function(e){return parent.postMessage(e,"*")},n=document.head.querySelector("#chart-styles"),o=[],r=[],i=window.setTimeout,a=window.setInterval;function c(e,t){var n=i(e,t);return r.push(n),n}function s(e,t){var n=a(e,t);return o.push(n),n}var d,u,l=[];var p,h,f={};e&&(h=["addEventListener","removeEventListener","atob","btoa","fetch","getComputedStyle"].reduce((function(e,t){var n=window[t];return e[t]=echarts.util.isFunction(n)?n.bind(window):n,e}),{location:Object.freeze(JSON.parse(JSON.stringify(location))),document:function(){var e=["script","video","audio","iframe","frame","frameset","embed","object","foreignobject"],t=new RegExp("<(".concat(e.join("|"),").*>")),n={innerHTML:Object.getOwnPropertyDescriptor(Element.prototype,"innerHTML").set,outerHTML:Object.getOwnPropertyDescriptor(Element.prototype,"outerHTML").set,innerText:Object.getOwnPropertyDescriptor(HTMLElement.prototype,"innerText").set,outerText:Object.getOwnPropertyDescriptor(HTMLElement.prototype,"outerText").set};["inner","outer"].forEach((function(e){var o=e+"HTML";Object.defineProperty(Element.prototype,o,{set:function(r){return(t.test(r)?n[e+"Text"]:n[o]).call(this,r)}})}));var o=document.cloneNode();return[["write",document.write,0,!0],["writeln",document.writeln,0,!0],["createElement",document.createElement,0],["createElementNS",document.createElementNS,1]].forEach((function(n){var r=n[1],i=n[2],a=n[3];o[n[0]]=function(){var n=arguments[i];return n&&(n=n.toLowerCase()),n&&(a?n=(n=n.match(t))&&n[1]:e.includes(n))?console.error("Disallowed attempting to create ".concat(n," element!")):r.apply(document,arguments)}})),o}(),history:void 0,parent:void 0,top:void 0,setTimeout:c,setInterval:s}),["innerHeight","outerHeight","innerWidth","outerWidth","devicePixelRatio","screen"].forEach((function(e){Object.defineProperty(h,e,{get:function(){return window[e]}})})),h.self=h.window=h.globalThis=h);var m={dispose:function(){u&&(u.dispose(),u=null,d=null)},screenshot:function(e){var t=e.filename,n=u.getDataURL({excludeComponents:["toolbox"]}),o=document.createElement("a");o.download=t,o.target="_blank",o.href=n,o.click()},run:function(i){var a,m,v,g=i.store;if(i.recreateInstance||!u||u.isDisposed()){if(this.dispose(),u=echarts.init(document.getElementById("chart-container"),g.darkMode?"dark":"",{renderer:g.renderer,useDirtyRect:g.useDirtyRect}),g.useDirtyRect&&"canvas"===g.renderer)try{showDebugDirtyRect(u.getZr(),{autoHideDelay:500})}catch(e){console.error("failed to show debug dirty rect",e)}window.addEventListener("resize",(function(){u.resize(),echarts.util.isFunction(f.onresize)&&f.onresize()})),m=(a=u).on,v=a.setOption,a.on=function(e){var t=m.apply(a,arguments);return l.push(e),t},a.setOption=function(){var e=performance.now(),n=v.apply(this,arguments),o=performance.now();return t({evt:"optionUpdated",option:JSON.stringify(a.getOption(),(function(e,t){return echarts.util.isFunction(t)?t+"":t})),updateTime:o-e}),n}}o.forEach(clearInterval),r.forEach(clearTimeout),o.length=0,r.length=0,function(e){e&&l.forEach(e.off.bind(e)),l.length=0}(u),f={},d=g;try{var w,y=g.runCode.replace(/Math.random\\([^)]*\\)/g,"__ECHARTS_EXAMPLE_RANDOM__()"),E=new Math.seedrandom(g.randomSeed),b="var css, option;"+handleLoop(y)+"\\nreturn [option, css];";w=e?new Function("myChart","app","setTimeout","setInterval","ROOT_PATH","__ECHARTS_EXAMPLE_RANDOM__","top","parent","window","self","globalThis","document","location","histroy","eval","execScript","Function",b).bind(h)(u,f,c,s,g.cdnRoot,E,void 0,void 0,h,h,h,h.document,h.location,void 0,void 0,void 0,void 0):new Function("myChart","app","setTimeout","setInterval","ROOT_PATH","__ECHARTS_EXAMPLE_RANDOM__",b)(u,f,c,s,g.cdnRoot,E);var T=n.textContent=w[1]||"";t({evt:"cssParsed",css:T});var O=w[0];echarts.util.isObject(O)&&u.setOption(O,!0)}catch(e){u.__flagInMainProcess=!1,console.error("failed to run code",e),t({evt:"codeError",message:e.message})}if(p&&($(p.domElement).remove(),p.destroy(),p=null),f.config){p=new dat.GUI({autoPlace:!1}),$(p.domElement).css({position:"absolute",right:0,top:0,zIndex:1e3}),document.body.append(p.domElement);var _=f.configParameters||{},C=f.config;for(var L in C){var M=C[L];if("onChange"!==L&&"onFinishChange"!==L){var R=void 0,D=void 0,P=_[L];if(P&&(P.options?D=p.add(C,L,P.options):null!=P.min&&(D=p.add(C,L,P.min,P.max))),"string"==typeof M)try{var H=echarts.color.parse(M);(R=!!H)&&(M=echarts.color.stringify(H,"rgba"))}catch(e){}D||(D=p[R?"addColor":"add"](C,L)),C.onChange&&D.onChange(C.onChange),C.onFinishChange&&D.onFinishChange(C.onFinishChange)}}}}};echarts.registerPreprocessor((function(e){d.enableDecal&&(e.aria=e.aria||{},e.aria.decal=e.aria.decal||{},e.aria.decal.show=!0,e.aria.show=e.aria.enabled=!0)})),window.addEventListener("message",(function(e){var t=e.data.action;delete e.data.action,"function"==typeof m[t]&&m[t].apply(m,[e.data])}),!1),window.addEventListener("error",(function(){t({evt:"error"})})),window.addEventListener("unhandledrejection",(function(){t({evt:"unhandledRejection"})}))}'},4913:(e,t,n)=>{e=n.nmd(e);var r={grid:"GridComponent",polar:"PolarComponent",geo:"GeoComponent",singleAxis:"SingleAxisComponent",parallel:"ParallelComponent",calendar:"CalendarComponent",graphic:"GraphicComponent",toolbox:"ToolboxComponent",tooltip:"TooltipComponent",axisPointer:"AxisPointerComponent",brush:"BrushComponent",title:"TitleComponent",timeline:"TimelineComponent",markPoint:"MarkPointComponent",markLine:"MarkLineComponent",markArea:"MarkAreaComponent",legend:"LegendComponent",dataZoom:"DataZoomComponent",visualMap:"VisualMapComponent",aria:"AriaComponent",dataset:"DatasetComponent",xAxis:"GridComponent",yAxis:"GridComponent",angleAxis:"PolarComponent",radiusAxis:"PolarComponent"},i={line:"LineChart",bar:"BarChart",pie:"PieChart",scatter:"ScatterChart",radar:"RadarChart",map:"MapChart",tree:"TreeChart",treemap:"TreemapChart",graph:"GraphChart",gauge:"GaugeChart",funnel:"FunnelChart",parallel:"ParallelChart",sankey:"SankeyChart",boxplot:"BoxplotChart",candlestick:"CandlestickChart",effectScatter:"EffectScatterChart",lines:"LinesChart",heatmap:"HeatmapChart",pictorialBar:"PictorialBarChart",themeRiver:"ThemeRiverChart",sunburst:"SunburstChart",custom:"CustomChart"},a={grid3D:"Grid3DComponent",geo3D:"Geo3DComponent",globe:"GlobeComponent",mapbox3D:"Mapbox3DComponent",maptalks3D:"Maptalks3DComponent",xAxis3D:"Grid3DComponent",yAxis3D:"Grid3DComponent",zAxis3D:"Grid3DComponent"},o={bar3D:"Bar3DChart",line3D:"Line3DChart",scatter3D:"Scatter3DChart",lines3D:"Lines3DChart",polygons3D:"Polygons3DChart",surface:"SurfaceChart",map3D:"Map3DChart",scatterGL:"ScatterGLChart",graphGL:"GraphGLChart",flowGL:"FlowGLChart",linesGL:"LinesGLChart"},s=["UniversalTransition","LabelLayout"],l={bmap:"bmap/bmap"},c={},u={},d={},p={},h={SVGRenderer:"svg",CanvasRenderer:"canvas"},f=["markLine","markArea","markPoint"],m=[].concat(f,["grid","axisPointer","aria"]),g=["xAxis","yAxis","angleAxis","radiusAxis","xAxis3D","yAxis3D","zAxis3D"];function y(e,t){Object.keys(e).forEach((function(n){g.includes(n)||(t[e[n]]=n)}))}function C(e,t){var n=[],r=[],i=[],a=[],o=[],h=[],f=[];e.forEach((function(e){e.endsWith("Renderer")?h.push(e):u[e]?(n.push(e),t&&n.push(e.replace(/Chart$/,"SeriesOption"))):c[e]?(r.push(e),t&&r.push(e.replace(/Component$/,"ComponentOption"))):"TransformComponent"===e?r.push(e):d[e]?i.push(e):p[e]?a.push(e):s.includes(e)?o.push(e):l[e]&&f.push(e)}));var m=[].concat(r,n,a,i,h,o),g="\ntype EChartsOption = echarts.ComposeOption<\n    ".concat(m.filter((function(e){return e.endsWith("Option")})).join(" | "),"\n>"),y=[[r,"echarts/components"],[n,"echarts/charts"],[o,"echarts/features"],[h,"echarts/renderers"],[i,"echarts-gl/charts"],[a,"echarts-gl/components"]].filter((function(e){return e[0].length>0})).map((function(e){return"\nimport {".concat((t=e[0],"".concat(t.map((function(e){return"\n    ".concat(e)})).join(","))),"\n} from '").concat(e[1],"';\n    ").trim();var t}));return x(f,t).forEach((function(e){y.push("import '".concat(e,"';"))})),"import * as echarts from 'echarts/core';\n".concat(y.join("\n"),"\n\necharts.use(\n    [").concat(m.filter((function(e){return!e.endsWith("Option")})).join(", "),"]\n);\n")+(t?g:"")}function v(e,t){var n=[];return e.forEach((function(e){e.endsWith("Renderer")&&"CanvasRenderer"!==e?n.push("zrender/lib/".concat(h[e],"/").concat(h[e])):u[e]?n.push("echarts/lib/chart/".concat(u[e])):c[e]?n.push("echarts/lib/component/".concat(c[e])):d[e]?n.push("echarts-gl/lib/chart/".concat(d[e])):p[e]?n.push("echarts-gl/lib/component/".concat(p[e])):l[e]&&n.push(x([e],!1)[0])})),t?"import * as echarts from 'echarts/lib/echarts';\n".concat(n.map((function(e){return"import '".concat(e,"';")})).join("\n"),"\n"):"const echarts = require('echarts/lib/echarts');\n".concat(n.map((function(e){return"require('".concat(e,"');")})).join("\n"),"\n")}function b(e){return!!e.find((function(e){return!(!d[e]&&!p[e])}))}function x(e,t){return e.filter((function(e){return l[e]})).map((function(e){return"echarts/extension".concat(t?"-src":"","/").concat(l[e])}))}function w(e){return"// ".concat(e?"请确保在引入百度地图扩展之前已经引入百度地图 JS API 脚本并成功加载":"Please ensure BaiduMap script has been loaded before importing bmap extension","\n// https://api.map.baidu.com/api?v=3.0&ak=").concat(e?"你申请的AK":"YOUR_APP_KEY","\n")}y(r,c),y(i,u),y(a,p),y(o,d),e.exports.collectDeps=function e(t){var n=[];if(t.options)return t.options.forEach((function(t){n=n.concat(e(t))})),t.baseOption&&(n=n.concat(e(t.baseOption))),Array.from(new Set(n));Object.keys(t).forEach((function(e){if(!m.includes(e)){var i=t[e];Array.isArray(i)&&!i.length||(r[e]&&n.push(r[e]),a[e]&&n.push(a[e]),l[e]&&n.push(e))}}));var s=t.series;return Array.isArray(s)||(s=[s]),s.forEach((function(e){i[e.type]&&n.push(i[e.type]),o[e.type]&&n.push(o[e.type]),"map"===e.type&&n.push(r.geo),"bmap"===e.coordinateSystem&&n.push("bmap"),f.forEach((function(t){e[t]&&n.push(r[t])})),e.labelLayout&&n.push("LabelLayout"),e.universalTransition&&n.push("UniversalTransition")})),t.dataset&&Array.isArray(t.dataset)&&t.dataset.forEach((function(e){e.transform&&n.push("TransformComponent")})),Array.from(new Set(n))},e.exports.buildMinimalBundleCode=C,e.buildLegacyMinimalBundleCode=v,e.exports.buildExampleCode=function(e,t,n){var r=n.minimal,i=n.esm,a=void 0===i||i,o=n.legacy,s=n.ts,l=n.theme,c=n.renderer,u=n.useDirtyRect,d=n.ROOT_PATH,p=n.extraImports,h=n.isZHLang;s&&(a=!0),r&&!a&&(o=!0);var f=e.indexOf("ecStat")>=0,m=e.indexOf("ROOT_PATH")>=0,g=e.indexOf("app")>=0,y="\n".concat(f?a?"import ecStat from 'echarts-stat';":"var ecStat = require('echarts-stat');":"","\n"),L=[r?o?v(t,a):C(t,s):a?"import * as echarts from 'echarts';".concat(b(t)?"\nimport 'echarts-gl';":"").concat(x(t,s).length?"\n".concat(x(t,s).map((function(e){return"import '".concat(e,"';")})).join("\n")):""):"var echarts = require('echarts');".concat(b(t)?"\nrequire('echarts-gl');":"").concat(x(t,s).length?"\n".concat(x(t,s).map((function(e){return"require('".concat(e,"');")})).join("\n")):""),l&&"dark"!==l?a?"import 'echarts/theme/".concat(l,"'"):"require('echarts/theme/".concat(l,"')"):"",p].filter((function(e){return!!e})).join("\n"),_=[m?"var ROOT_PATH = '".concat(d,"';"):"",g?"var app".concat(s?": any":""," = {};"):"",s&&!r?"type EChartsOption = echarts.EChartsOption":""].filter((function(e){return!!e})).join("\n"),A=x(["bmap"],s)[0],S=[L.trim().replace(new RegExp("((?:import|require)\\s*\\(?'".concat(A,"'\\)?;)")),w(h)+"$1"),y.trim(),_.trim()].filter((function(e){return!!e})).join("\n\n"),E=!!l,k="canvas"!==c,N=u&&!k,O=k||N;return"".concat(S,"\n\nvar chartDom = document.getElementById('main')").concat(s?"!":"",";\nvar myChart = echarts.init(chartDom").concat(E?", '".concat(l,"'"):O?", null":"").concat(O?", {\n".concat([k&&"renderer: '".concat(c,"'"),N&&"useDirtyRect: true"].filter(Boolean).map((function(e){return"  "+e})).join(",\n"),"\n}"):"",");\nvar option").concat(s?": EChartsOption":"",";\n\n").concat(e.trim(),"\n\noption && myChart.setOption(option);\n")}},2755:(e,t,n)=>{"use strict";n.r(t),n.d(t,{init:()=>xl});const r=Vue;var i=n.n(r),a=["style","currency","currencyDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","localeMatcher","formatMatcher","unit"];function o(e,t){"undefined"!=typeof console&&(console.warn("[vue-i18n] "+e),t&&console.warn(t.stack))}var s=Array.isArray;function l(e){return null!==e&&"object"==typeof e}function c(e){return"string"==typeof e}var u=Object.prototype.toString;function d(e){return"[object Object]"===u.call(e)}function p(e){return null==e}function h(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n=null,r=null;return 1===e.length?l(e[0])||Array.isArray(e[0])?r=e[0]:"string"==typeof e[0]&&(n=e[0]):2===e.length&&("string"==typeof e[0]&&(n=e[0]),(l(e[1])||Array.isArray(e[1]))&&(r=e[1])),{locale:n,params:r}}function f(e){return JSON.parse(JSON.stringify(e))}function m(e,t){return!!~e.indexOf(t)}var g=Object.prototype.hasOwnProperty;function y(e,t){return g.call(e,t)}function C(e){for(var t=arguments,n=Object(e),r=1;r<arguments.length;r++){var i=t[r];if(null!=i){var a=void 0;for(a in i)y(i,a)&&(l(i[a])?n[a]=C(n[a],i[a]):n[a]=i[a])}}return n}function v(e,t){if(e===t)return!0;var n=l(e),r=l(t);if(!n||!r)return!n&&!r&&String(e)===String(t);try{var i=Array.isArray(e),a=Array.isArray(t);if(i&&a)return e.length===t.length&&e.every((function(e,n){return v(e,t[n])}));if(i||a)return!1;var o=Object.keys(e),s=Object.keys(t);return o.length===s.length&&o.every((function(n){return v(e[n],t[n])}))}catch(e){return!1}}var b={beforeCreate:function(){var e=this.$options;if(e.i18n=e.i18n||(e.__i18n?{}:null),e.i18n){if(e.i18n instanceof Q){if(e.__i18n)try{var t={};e.__i18n.forEach((function(e){t=C(t,JSON.parse(e))})),Object.keys(t).forEach((function(n){e.i18n.mergeLocaleMessage(n,t[n])}))}catch(e){}this._i18n=e.i18n,this._i18nWatcher=this._i18n.watchI18nData()}else if(d(e.i18n)){var n=this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof Q?this.$root.$i18n:null;if(n&&(e.i18n.root=this.$root,e.i18n.formatter=n.formatter,e.i18n.fallbackLocale=n.fallbackLocale,e.i18n.formatFallbackMessages=n.formatFallbackMessages,e.i18n.silentTranslationWarn=n.silentTranslationWarn,e.i18n.silentFallbackWarn=n.silentFallbackWarn,e.i18n.pluralizationRules=n.pluralizationRules,e.i18n.preserveDirectiveContent=n.preserveDirectiveContent),e.__i18n)try{var r={};e.__i18n.forEach((function(e){r=C(r,JSON.parse(e))})),e.i18n.messages=r}catch(e){}var i=e.i18n.sharedMessages;i&&d(i)&&(e.i18n.messages=C(e.i18n.messages,i)),this._i18n=new Q(e.i18n),this._i18nWatcher=this._i18n.watchI18nData(),(void 0===e.i18n.sync||e.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale()),n&&n.onComponentInstanceCreated(this._i18n)}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof Q?this._i18n=this.$root.$i18n:e.parent&&e.parent.$i18n&&e.parent.$i18n instanceof Q&&(this._i18n=e.parent.$i18n)},beforeMount:function(){var e=this.$options;e.i18n=e.i18n||(e.__i18n?{}:null),e.i18n?(e.i18n instanceof Q||d(e.i18n))&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0):(this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof Q||e.parent&&e.parent.$i18n&&e.parent.$i18n instanceof Q)&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0)},beforeDestroy:function(){if(this._i18n){var e=this;this.$nextTick((function(){e._subscribing&&(e._i18n.unsubscribeDataChanging(e),delete e._subscribing),e._i18nWatcher&&(e._i18nWatcher(),e._i18n.destroyVM(),delete e._i18nWatcher),e._localeWatcher&&(e._localeWatcher(),delete e._localeWatcher)}))}}},x={name:"i18n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render:function(e,t){var n=t.data,r=t.parent,i=t.props,a=t.slots,o=r.$i18n;if(o){var s=i.path,l=i.locale,c=i.places,u=a(),d=o.i(s,l,function(e){var t;for(t in e)if("default"!==t)return!1;return Boolean(t)}(u)||c?function(e,t){var n=t?function(e){return Array.isArray(e)?e.reduce(L,{}):Object.assign({},e)}(t):{};if(!e)return n;var r=(e=e.filter((function(e){return e.tag||""!==e.text.trim()}))).every(_);return e.reduce(r?w:L,n)}(u.default,c):u),p=i.tag&&!0!==i.tag||!1===i.tag?i.tag:"span";return p?e(p,n,d):d}}};function w(e,t){return t.data&&t.data.attrs&&t.data.attrs.place&&(e[t.data.attrs.place]=t),e}function L(e,t,n){return e[n]=t,e}function _(e){return Boolean(e.data&&e.data.attrs&&e.data.attrs.place)}var A,S={name:"i18n-n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},value:{type:Number,required:!0},format:{type:[String,Object]},locale:{type:String}},render:function(e,t){var n=t.props,r=t.parent,i=t.data,o=r.$i18n;if(!o)return null;var s=null,u=null;c(n.format)?s=n.format:l(n.format)&&(n.format.key&&(s=n.format.key),u=Object.keys(n.format).reduce((function(e,t){var r;return m(a,t)?Object.assign({},e,((r={})[t]=n.format[t],r)):e}),null));var d=n.locale||o.locale,p=o._ntp(n.value,d,s,u),h=p.map((function(e,t){var n,r=i.scopedSlots&&i.scopedSlots[e.type];return r?r(((n={})[e.type]=e.value,n.index=t,n.parts=p,n)):e.value})),f=n.tag&&!0!==n.tag||!1===n.tag?n.tag:"span";return f?e(f,{attrs:i.attrs,class:i.class,staticClass:i.staticClass},h):h}};function E(e,t,n){O(0,n)&&T(e,t,n)}function k(e,t,n,r){if(O(0,n)){var i=n.context.$i18n;(function(e,t){var n=t.context;return e._locale===n.$i18n.locale})(e,n)&&v(t.value,t.oldValue)&&v(e._localeMessage,i.getLocaleMessage(i.locale))||T(e,t,n)}}function N(e,t,n,r){if(n.context){var i=n.context.$i18n||{};t.modifiers.preserve||i.preserveDirectiveContent||(e.textContent=""),e._vt=void 0,delete e._vt,e._locale=void 0,delete e._locale,e._localeMessage=void 0,delete e._localeMessage}else o("Vue instance does not exists in VNode context")}function O(e,t){var n=t.context;return n?!!n.$i18n||(o("VueI18n instance does not exists in Vue instance"),!1):(o("Vue instance does not exists in VNode context"),!1)}function T(e,t,n){var r,i,a=function(e){var t,n,r,i;return c(e)?t=e:d(e)&&(t=e.path,n=e.locale,r=e.args,i=e.choice),{path:t,locale:n,args:r,choice:i}}(t.value),s=a.path,l=a.locale,u=a.args,p=a.choice;if(s||l||u)if(s){var h=n.context;e._vt=e.textContent=null!=p?(r=h.$i18n).tc.apply(r,[s,p].concat(M(l,u))):(i=h.$i18n).t.apply(i,[s].concat(M(l,u))),e._locale=h.$i18n.locale,e._localeMessage=h.$i18n.getLocaleMessage(h.$i18n.locale)}else o("`path` is required in v-t directive");else o("value type not supported")}function M(e,t){var n=[];return e&&n.push(e),t&&(Array.isArray(t)||d(t))&&n.push(t),n}function D(e){D.installed=!0,(A=e).version&&Number(A.version.split(".")[0]),function(e){e.prototype.hasOwnProperty("$i18n")||Object.defineProperty(e.prototype,"$i18n",{get:function(){return this._i18n}}),e.prototype.$t=function(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];var r=this.$i18n;return r._t.apply(r,[e,r.locale,r._getMessages(),this].concat(t))},e.prototype.$tc=function(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];var i=this.$i18n;return i._tc.apply(i,[e,i.locale,i._getMessages(),this,t].concat(n))},e.prototype.$te=function(e,t){var n=this.$i18n;return n._te(e,n.locale,n._getMessages(),t)},e.prototype.$d=function(e){for(var t,n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(t=this.$i18n).d.apply(t,[e].concat(n))},e.prototype.$n=function(e){for(var t,n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(t=this.$i18n).n.apply(t,[e].concat(n))}}(A),A.mixin(b),A.directive("t",{bind:E,update:k,unbind:N}),A.component(x.name,x),A.component(S.name,S),A.config.optionMergeStrategies.i18n=function(e,t){return void 0===t?e:t}}var I=function(){this._caches=Object.create(null)};I.prototype.interpolate=function(e,t){if(!t)return[e];var n=this._caches[e];return n||(n=function(e){for(var t=[],n=0,r="";n<e.length;){var i=e[n++];if("{"===i){r&&t.push({type:"text",value:r}),r="";var a="";for(i=e[n++];void 0!==i&&"}"!==i;)a+=i,i=e[n++];var o="}"===i,s=R.test(a)?"list":o&&P.test(a)?"named":"unknown";t.push({value:a,type:s})}else"%"===i?"{"!==e[n]&&(r+=i):r+=i}return r&&t.push({type:"text",value:r}),t}(e),this._caches[e]=n),function(e,t){var n=[],r=0,i=Array.isArray(t)?"list":l(t)?"named":"unknown";if("unknown"===i)return n;for(;r<e.length;){var a=e[r];switch(a.type){case"text":n.push(a.value);break;case"list":n.push(t[parseInt(a.value,10)]);break;case"named":"named"===i&&n.push(t[a.value])}r++}return n}(n,t)};var R=/^(?:\d)+/,P=/^(?:\w)+/,j=[];j[0]={ws:[0],ident:[3,0],"[":[4],eof:[7]},j[1]={ws:[1],".":[2],"[":[4],eof:[7]},j[2]={ws:[2],ident:[3,0],0:[3,0],number:[3,0]},j[3]={ident:[3,0],0:[3,0],number:[3,0],ws:[1,1],".":[2,1],"[":[4,1],eof:[7,1]},j[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],eof:8,else:[4,0]},j[5]={"'":[4,0],eof:8,else:[5,0]},j[6]={'"':[4,0],eof:8,else:[6,0]};var F=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function B(e){if(null==e)return"eof";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"ident";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"ws"}return"ident"}var G=function(){this._cache=Object.create(null)};G.prototype.parsePath=function(e){var t=this._cache[e];return t||(t=function(e){var t,n,r,i,a,o,s,l=[],c=-1,u=0,d=0,p=[];function h(){var t=e[c+1];if(5===u&&"'"===t||6===u&&'"'===t)return c++,r="\\"+t,p[0](),!0}for(p[1]=function(){void 0!==n&&(l.push(n),n=void 0)},p[0]=function(){void 0===n?n=r:n+=r},p[2]=function(){p[0](),d++},p[3]=function(){if(d>0)d--,u=4,p[0]();else{if(d=0,void 0===n)return!1;if(!1===(n=function(e){var t,n=e.trim();return("0"!==e.charAt(0)||!isNaN(e))&&(t=n,F.test(t)?function(e){var t=e.charCodeAt(0);return t!==e.charCodeAt(e.length-1)||34!==t&&39!==t?e:e.slice(1,-1)}(n):"*"+n)}(n)))return!1;p[1]()}};null!==u;)if(c++,"\\"!==(t=e[c])||!h()){if(i=B(t),8===(a=(s=j[u])[i]||s.else||8))return;if(u=a[0],(o=p[a[1]])&&(r=void 0===(r=a[2])?t:r,!1===o()))return;if(7===u)return l}}(e),t&&(this._cache[e]=t)),t||[]},G.prototype.getPathValue=function(e,t){if(!l(e))return null;var n=this.parsePath(t);if(0===n.length)return null;for(var r=n.length,i=e,a=0;a<r;){var o=i[n[a]];if(void 0===o)return null;i=o,a++}return i};var U,V=/<\/?[\w\s="/.':;#-\/]+>/,z=/(?:@(?:\.[a-z]+)?:(?:[\w\-_|.]+|\([\w\-_|.]+\)))/g,H=/^@(?:\.([a-z]+))?:/,Z=/[()]/g,W={upper:function(e){return e.toLocaleUpperCase()},lower:function(e){return e.toLocaleLowerCase()},capitalize:function(e){return""+e.charAt(0).toLocaleUpperCase()+e.substr(1)}},q=new I,Q=function(e){var t=this;void 0===e&&(e={}),!A&&"undefined"!=typeof window&&window.Vue&&D(window.Vue);var n=e.locale||"en-US",r=!1!==e.fallbackLocale&&(e.fallbackLocale||"en-US"),i=e.messages||{},a=e.dateTimeFormats||{},o=e.numberFormats||{};this._vm=null,this._formatter=e.formatter||q,this._modifiers=e.modifiers||{},this._missing=e.missing||null,this._root=e.root||null,this._sync=void 0===e.sync||!!e.sync,this._fallbackRoot=void 0===e.fallbackRoot||!!e.fallbackRoot,this._formatFallbackMessages=void 0!==e.formatFallbackMessages&&!!e.formatFallbackMessages,this._silentTranslationWarn=void 0!==e.silentTranslationWarn&&e.silentTranslationWarn,this._silentFallbackWarn=void 0!==e.silentFallbackWarn&&!!e.silentFallbackWarn,this._dateTimeFormatters={},this._numberFormatters={},this._path=new G,this._dataListeners=[],this._componentInstanceCreatedListener=e.componentInstanceCreatedListener||null,this._preserveDirectiveContent=void 0!==e.preserveDirectiveContent&&!!e.preserveDirectiveContent,this.pluralizationRules=e.pluralizationRules||{},this._warnHtmlInMessage=e.warnHtmlInMessage||"off",this._postTranslation=e.postTranslation||null,this.getChoiceIndex=function(e,n){var r,i,a=Object.getPrototypeOf(t);return a&&a.getChoiceIndex?a.getChoiceIndex.call(t,e,n):t.locale in t.pluralizationRules?t.pluralizationRules[t.locale].apply(t,[e,n]):(r=e,i=n,r=Math.abs(r),2===i?r?r>1?1:0:1:r?Math.min(r,2):0)},this._exist=function(e,n){return!(!e||!n||p(t._path.getPathValue(e,n))&&!e[n])},"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||Object.keys(i).forEach((function(e){t._checkLocaleMessage(e,t._warnHtmlInMessage,i[e])})),this._initVM({locale:n,fallbackLocale:r,messages:i,dateTimeFormats:a,numberFormats:o})},X={vm:{configurable:!0},messages:{configurable:!0},dateTimeFormats:{configurable:!0},numberFormats:{configurable:!0},availableLocales:{configurable:!0},locale:{configurable:!0},fallbackLocale:{configurable:!0},formatFallbackMessages:{configurable:!0},missing:{configurable:!0},formatter:{configurable:!0},silentTranslationWarn:{configurable:!0},silentFallbackWarn:{configurable:!0},preserveDirectiveContent:{configurable:!0},warnHtmlInMessage:{configurable:!0},postTranslation:{configurable:!0}};Q.prototype._checkLocaleMessage=function(e,t,n){var r=function(e,t,n,i){if(d(n))Object.keys(n).forEach((function(a){var o=n[a];d(o)?(i.push(a),i.push("."),r(e,t,o,i),i.pop(),i.pop()):(i.push(a),r(e,t,o,i),i.pop())}));else if(Array.isArray(n))n.forEach((function(n,a){d(n)?(i.push("["+a+"]"),i.push("."),r(e,t,n,i),i.pop(),i.pop()):(i.push("["+a+"]"),r(e,t,n,i),i.pop())}));else if(c(n)&&V.test(n)){var a="Detected HTML in message '"+n+"' of keypath '"+i.join("")+"' at '"+t+"'. Consider component interpolation with '<i18n>' to avoid XSS. See https://bit.ly/2ZqJzkp";"warn"===e?o(a):"error"===e&&function(e,t){"undefined"!=typeof console&&console.error("[vue-i18n] "+e)}(a)}};r(t,e,n,[])},Q.prototype._initVM=function(e){var t=A.config.silent;A.config.silent=!0,this._vm=new A({data:e}),A.config.silent=t},Q.prototype.destroyVM=function(){this._vm.$destroy()},Q.prototype.subscribeDataChanging=function(e){this._dataListeners.push(e)},Q.prototype.unsubscribeDataChanging=function(e){!function(e,t){if(e.length){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}(this._dataListeners,e)},Q.prototype.watchI18nData=function(){var e=this;return this._vm.$watch("$data",(function(){for(var t=e._dataListeners.length;t--;)A.nextTick((function(){e._dataListeners[t]&&e._dataListeners[t].$forceUpdate()}))}),{deep:!0})},Q.prototype.watchLocale=function(){if(!this._sync||!this._root)return null;var e=this._vm;return this._root.$i18n.vm.$watch("locale",(function(t){e.$set(e,"locale",t),e.$forceUpdate()}),{immediate:!0})},Q.prototype.onComponentInstanceCreated=function(e){this._componentInstanceCreatedListener&&this._componentInstanceCreatedListener(e,this)},X.vm.get=function(){return this._vm},X.messages.get=function(){return f(this._getMessages())},X.dateTimeFormats.get=function(){return f(this._getDateTimeFormats())},X.numberFormats.get=function(){return f(this._getNumberFormats())},X.availableLocales.get=function(){return Object.keys(this.messages).sort()},X.locale.get=function(){return this._vm.locale},X.locale.set=function(e){this._vm.$set(this._vm,"locale",e)},X.fallbackLocale.get=function(){return this._vm.fallbackLocale},X.fallbackLocale.set=function(e){this._localeChainCache={},this._vm.$set(this._vm,"fallbackLocale",e)},X.formatFallbackMessages.get=function(){return this._formatFallbackMessages},X.formatFallbackMessages.set=function(e){this._formatFallbackMessages=e},X.missing.get=function(){return this._missing},X.missing.set=function(e){this._missing=e},X.formatter.get=function(){return this._formatter},X.formatter.set=function(e){this._formatter=e},X.silentTranslationWarn.get=function(){return this._silentTranslationWarn},X.silentTranslationWarn.set=function(e){this._silentTranslationWarn=e},X.silentFallbackWarn.get=function(){return this._silentFallbackWarn},X.silentFallbackWarn.set=function(e){this._silentFallbackWarn=e},X.preserveDirectiveContent.get=function(){return this._preserveDirectiveContent},X.preserveDirectiveContent.set=function(e){this._preserveDirectiveContent=e},X.warnHtmlInMessage.get=function(){return this._warnHtmlInMessage},X.warnHtmlInMessage.set=function(e){var t=this,n=this._warnHtmlInMessage;if(this._warnHtmlInMessage=e,n!==e&&("warn"===e||"error"===e)){var r=this._getMessages();Object.keys(r).forEach((function(e){t._checkLocaleMessage(e,t._warnHtmlInMessage,r[e])}))}},X.postTranslation.get=function(){return this._postTranslation},X.postTranslation.set=function(e){this._postTranslation=e},Q.prototype._getMessages=function(){return this._vm.messages},Q.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},Q.prototype._getNumberFormats=function(){return this._vm.numberFormats},Q.prototype._warnDefault=function(e,t,n,r,i,a){if(!p(n))return n;if(this._missing){var o=this._missing.apply(null,[e,t,r,i]);if(c(o))return o}if(this._formatFallbackMessages){var s=h.apply(void 0,i);return this._render(t,a,s.params,t)}return t},Q.prototype._isFallbackRoot=function(e){return!e&&!p(this._root)&&this._fallbackRoot},Q.prototype._isSilentFallbackWarn=function(e){return this._silentFallbackWarn instanceof RegExp?this._silentFallbackWarn.test(e):this._silentFallbackWarn},Q.prototype._isSilentFallback=function(e,t){return this._isSilentFallbackWarn(t)&&(this._isFallbackRoot()||e!==this.fallbackLocale)},Q.prototype._isSilentTranslationWarn=function(e){return this._silentTranslationWarn instanceof RegExp?this._silentTranslationWarn.test(e):this._silentTranslationWarn},Q.prototype._interpolate=function(e,t,n,r,i,a,o){if(!t)return null;var s,l=this._path.getPathValue(t,n);if(Array.isArray(l)||d(l))return l;if(p(l)){if(!d(t))return null;if(!c(s=t[n]))return null}else{if(!c(l))return null;s=l}return(s.indexOf("@:")>=0||s.indexOf("@.")>=0)&&(s=this._link(e,t,s,r,"raw",a,o)),this._render(s,i,a,n)},Q.prototype._link=function(e,t,n,r,i,a,o){var s=n,l=s.match(z);for(var c in l)if(l.hasOwnProperty(c)){var u=l[c],d=u.match(H),p=d[0],h=d[1],f=u.replace(p,"").replace(Z,"");if(m(o,f))return s;o.push(f);var g=this._interpolate(e,t,f,r,"raw"===i?"string":i,"raw"===i?void 0:a,o);if(this._isFallbackRoot(g)){if(!this._root)throw Error("unexpected error");var y=this._root.$i18n;g=y._translate(y._getMessages(),y.locale,y.fallbackLocale,f,r,i,a)}g=this._warnDefault(e,f,g,r,Array.isArray(a)?a:[a],i),this._modifiers.hasOwnProperty(h)?g=this._modifiers[h](g):W.hasOwnProperty(h)&&(g=W[h](g)),o.pop(),s=g?s.replace(u,g):s}return s},Q.prototype._render=function(e,t,n,r){var i=this._formatter.interpolate(e,n,r);return i||(i=q.interpolate(e,n,r)),"string"!==t||c(i)?i:i.join("")},Q.prototype._appendItemToChain=function(e,t,n){var r=!1;return m(e,t)||(r=!0,t&&(r="!"!==t[t.length-1],t=t.replace(/!/g,""),e.push(t),n&&n[t]&&(r=n[t]))),r},Q.prototype._appendLocaleToChain=function(e,t,n){var r,i=t.split("-");do{var a=i.join("-");r=this._appendItemToChain(e,a,n),i.splice(-1,1)}while(i.length&&!0===r);return r},Q.prototype._appendBlockToChain=function(e,t,n){for(var r=!0,i=0;i<t.length&&"boolean"==typeof r;i++){var a=t[i];c(a)&&(r=this._appendLocaleToChain(e,a,n))}return r},Q.prototype._getLocaleChain=function(e,t){if(""===e)return[];this._localeChainCache||(this._localeChainCache={});var n=this._localeChainCache[e];if(!n){t||(t=this.fallbackLocale),n=[];for(var r,i=[e];s(i);)i=this._appendBlockToChain(n,i,t);(i=c(r=s(t)?t:l(t)?t.default?t.default:null:t)?[r]:r)&&this._appendBlockToChain(n,i,null),this._localeChainCache[e]=n}return n},Q.prototype._translate=function(e,t,n,r,i,a,o){for(var s,l=this._getLocaleChain(t,n),c=0;c<l.length;c++){var u=l[c];if(!p(s=this._interpolate(u,e[u],r,i,a,o,[r])))return s}return null},Q.prototype._t=function(e,t,n,r){for(var i,a=[],o=arguments.length-4;o-- >0;)a[o]=arguments[o+4];if(!e)return"";var s=h.apply(void 0,a),l=s.locale||t,c=this._translate(n,l,this.fallbackLocale,e,r,"string",s.params);if(this._isFallbackRoot(c)){if(!this._root)throw Error("unexpected error");return(i=this._root).$t.apply(i,[e].concat(a))}return c=this._warnDefault(l,e,c,r,a,"string"),this._postTranslation&&null!=c&&(c=this._postTranslation(c,e)),c},Q.prototype.t=function(e){for(var t,n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(t=this)._t.apply(t,[e,this.locale,this._getMessages(),null].concat(n))},Q.prototype._i=function(e,t,n,r,i){var a=this._translate(n,t,this.fallbackLocale,e,r,"raw",i);if(this._isFallbackRoot(a)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.i(e,t,i)}return this._warnDefault(t,e,a,r,[i],"raw")},Q.prototype.i=function(e,t,n){return e?(c(t)||(t=this.locale),this._i(e,t,this._getMessages(),null,n)):""},Q.prototype._tc=function(e,t,n,r,i){for(var a,o=[],s=arguments.length-5;s-- >0;)o[s]=arguments[s+5];if(!e)return"";void 0===i&&(i=1);var l={count:i,n:i},c=h.apply(void 0,o);return c.params=Object.assign(l,c.params),o=null===c.locale?[c.params]:[c.locale,c.params],this.fetchChoice((a=this)._t.apply(a,[e,t,n,r].concat(o)),i)},Q.prototype.fetchChoice=function(e,t){if(!e&&!c(e))return null;var n=e.split("|");return n[t=this.getChoiceIndex(t,n.length)]?n[t].trim():e},Q.prototype.tc=function(e,t){for(var n,r=[],i=arguments.length-2;i-- >0;)r[i]=arguments[i+2];return(n=this)._tc.apply(n,[e,this.locale,this._getMessages(),null,t].concat(r))},Q.prototype._te=function(e,t,n){for(var r=[],i=arguments.length-3;i-- >0;)r[i]=arguments[i+3];var a=h.apply(void 0,r).locale||t;return this._exist(n[a],e)},Q.prototype.te=function(e,t){return this._te(e,this.locale,this._getMessages(),t)},Q.prototype.getLocaleMessage=function(e){return f(this._vm.messages[e]||{})},Q.prototype.setLocaleMessage=function(e,t){"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||this._checkLocaleMessage(e,this._warnHtmlInMessage,t),this._vm.$set(this._vm.messages,e,t)},Q.prototype.mergeLocaleMessage=function(e,t){"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||this._checkLocaleMessage(e,this._warnHtmlInMessage,t),this._vm.$set(this._vm.messages,e,C({},this._vm.messages[e]||{},t))},Q.prototype.getDateTimeFormat=function(e){return f(this._vm.dateTimeFormats[e]||{})},Q.prototype.setDateTimeFormat=function(e,t){this._vm.$set(this._vm.dateTimeFormats,e,t),this._clearDateTimeFormat(e,t)},Q.prototype.mergeDateTimeFormat=function(e,t){this._vm.$set(this._vm.dateTimeFormats,e,C(this._vm.dateTimeFormats[e]||{},t)),this._clearDateTimeFormat(e,t)},Q.prototype._clearDateTimeFormat=function(e,t){for(var n in t){var r=e+"__"+n;this._dateTimeFormatters.hasOwnProperty(r)&&delete this._dateTimeFormatters[r]}},Q.prototype._localizeDateTime=function(e,t,n,r,i){for(var a=t,o=r[a],s=this._getLocaleChain(t,n),l=0;l<s.length;l++){var c=s[l];if(a=c,!p(o=r[c])&&!p(o[i]))break}if(p(o)||p(o[i]))return null;var u=o[i],d=a+"__"+i,h=this._dateTimeFormatters[d];return h||(h=this._dateTimeFormatters[d]=new Intl.DateTimeFormat(a,u)),h.format(e)},Q.prototype._d=function(e,t,n){if(!n)return new Intl.DateTimeFormat(t).format(e);var r=this._localizeDateTime(e,t,this.fallbackLocale,this._getDateTimeFormats(),n);if(this._isFallbackRoot(r)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.d(e,n,t)}return r||""},Q.prototype.d=function(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];var r=this.locale,i=null;return 1===t.length?c(t[0])?i=t[0]:l(t[0])&&(t[0].locale&&(r=t[0].locale),t[0].key&&(i=t[0].key)):2===t.length&&(c(t[0])&&(i=t[0]),c(t[1])&&(r=t[1])),this._d(e,r,i)},Q.prototype.getNumberFormat=function(e){return f(this._vm.numberFormats[e]||{})},Q.prototype.setNumberFormat=function(e,t){this._vm.$set(this._vm.numberFormats,e,t),this._clearNumberFormat(e,t)},Q.prototype.mergeNumberFormat=function(e,t){this._vm.$set(this._vm.numberFormats,e,C(this._vm.numberFormats[e]||{},t)),this._clearNumberFormat(e,t)},Q.prototype._clearNumberFormat=function(e,t){for(var n in t){var r=e+"__"+n;this._numberFormatters.hasOwnProperty(r)&&delete this._numberFormatters[r]}},Q.prototype._getNumberFormatter=function(e,t,n,r,i,a){for(var o=t,s=r[o],l=this._getLocaleChain(t,n),c=0;c<l.length;c++){var u=l[c];if(o=u,!p(s=r[u])&&!p(s[i]))break}if(p(s)||p(s[i]))return null;var d,h=s[i];if(a)d=new Intl.NumberFormat(o,Object.assign({},h,a));else{var f=o+"__"+i;(d=this._numberFormatters[f])||(d=this._numberFormatters[f]=new Intl.NumberFormat(o,h))}return d},Q.prototype._n=function(e,t,n,r){if(!Q.availabilities.numberFormat)return"";if(!n)return(r?new Intl.NumberFormat(t,r):new Intl.NumberFormat(t)).format(e);var i=this._getNumberFormatter(e,t,this.fallbackLocale,this._getNumberFormats(),n,r),a=i&&i.format(e);if(this._isFallbackRoot(a)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.n(e,Object.assign({},{key:n,locale:t},r))}return a||""},Q.prototype.n=function(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];var r=this.locale,i=null,o=null;return 1===t.length?c(t[0])?i=t[0]:l(t[0])&&(t[0].locale&&(r=t[0].locale),t[0].key&&(i=t[0].key),o=Object.keys(t[0]).reduce((function(e,n){var r;return m(a,n)?Object.assign({},e,((r={})[n]=t[0][n],r)):e}),null)):2===t.length&&(c(t[0])&&(i=t[0]),c(t[1])&&(r=t[1])),this._n(e,r,i,o)},Q.prototype._ntp=function(e,t,n,r){if(!Q.availabilities.numberFormat)return[];if(!n)return(r?new Intl.NumberFormat(t,r):new Intl.NumberFormat(t)).formatToParts(e);var i=this._getNumberFormatter(e,t,this.fallbackLocale,this._getNumberFormats(),n,r),a=i&&i.formatToParts(e);if(this._isFallbackRoot(a)){if(!this._root)throw Error("unexpected error");return this._root.$i18n._ntp(e,t,n,r)}return a||[]},Object.defineProperties(Q.prototype,X),Object.defineProperty(Q,"availabilities",{get:function(){if(!U){var e="undefined"!=typeof Intl;U={dateTimeFormat:e&&void 0!==Intl.DateTimeFormat,numberFormat:e&&void 0!==Intl.NumberFormat}}return U}}),Q.install=D,Q.version="8.20.0";const K=Q,J={en:{editor:{run:"Run",format:"Format",openWithCodeSandbox:"Open with CodeSandbox",openWithCodePen:"Open with CodePen",errorInEditor:"Errors exist in code!",infiniteLoopInEditor:"Potential infinite loops exist in code!",potentialRedirectionInEditor:"Potential redirection exists in code!",chartOK:"Chart has been generated successfully, ",darkMode:"Dark Mode",enableDecal:"Decal Pattern",renderCfgTitle:"Render",renderer:"Renderer",useDirtyRect:"Use Dirty Rect",randomData:"Random",download:"Download",screenshot:"Screenshot",downloadSourceTip:"THIS EXAMPLE WAS DOWNLOADED FROM",edit:"Edit",tabEditor:"Edit Code",tabFullCodePreview:"Full Code",tabOptionPreview:"Option Preview",minimalBundle:"Minimal Bundle",tooltip:{jsMode:"JavaScript",tsMode:"TypeScript - Provides Better Intelligent",noTs:"No Available TypeScript Code",gotoDoc:"Go To Documentation"},codeChangedConfirm:"Modified code will be lost. Do you want to continue?",confirmButtonText:"Yes",cancelButtonText:"No",share:{title:"Share",success:"Sharable URL has been copied to your clipboard",hint:"Please be aware that this chart is not an official demo of Apache ECharts but is made by user-generated code.",tooltip:"Create a sharable link for your code ✨"}},chartTypes:{line:"Line",bar:"Bar",pie:"Pie",scatter:"Scatter",map:"GEO/Map",candlestick:"Candlestick",radar:"Radar",boxplot:"Boxplot",heatmap:"Heatmap",graph:"Graph",lines:"Lines",tree:"Tree",treemap:"Treemap",sunburst:"Sunburst",parallel:"Parallel",sankey:"Sankey",funnel:"Funnel",gauge:"Gauge",pictorialBar:"PictorialBar",themeRiver:"ThemeRiver",calendar:"Calendar",custom:"Custom",dataset:"Dataset",dataZoom:"DataZoom",graphic:"Graphic",rich:"Rich Text",globe:"3D Globe",bar3D:"3D Bar",scatter3D:"3D Scatter",surface:"3D Surface",map3D:"3D Map",lines3D:"3D Lines",line3D:"3D Line",scatterGL:"Scatter GL",linesGL:"Lines GL",flowGL:"Flow GL",graphGL:"Graph GL"}},zh:{editor:{run:"运行",format:"格式化",openWithCodeSandbox:"在 CodeSandbox 中编辑",openWithCodePen:"在 CodePen 中编辑",errorInEditor:"编辑器内容有误！",infiniteLoopInEditor:"编辑器内容可能存在无限循环！",potentialRedirectionInEditor:"编辑器内容可能存在重定向代码！",chartOK:"图表已生成, ",darkMode:"深色模式",enableDecal:"无障碍花纹",randomData:"随机数据",renderCfgTitle:"渲染设置",useDirtyRect:"开启脏矩形优化",renderer:"渲染模式",download:"下载示例",screenshot:"截图",downloadSourceTip:"此示例下载自",edit:"编辑",monacoMode:"开启类型检查",tabEditor:"代码编辑",tabFullCodePreview:"完整代码",tabOptionPreview:"配置项",minimalBundle:"按需引入",tooltip:{jsMode:"JavaScript 代码编辑",tsMode:"TypeScript 代码编辑，提供更好的代码补全和类型检查",noTs:"该示例暂无 TypeScript 版本",gotoDoc:"查看文档"},codeChangedConfirm:"已经修改过的代码将会丢失，是否确认继续？",confirmButtonText:"确认",cancelButtonText:"取消",share:{title:"分享",success:"分享链接已复制到剪贴板",hint:"请注意，该图表不是 Apache ECharts 官方示例，而是由用户代码生成的。请注意鉴别其内容。",tooltip:"为当前代码创建一个可分享的链接 ✨"}},chartTypes:{line:"折线图",bar:"柱状图",pie:"饼图",scatter:"散点图",map:"地理坐标/地图",candlestick:"K 线图",radar:"雷达图",boxplot:"盒须图",heatmap:"热力图",graph:"关系图",lines:"路径图",tree:"树图",treemap:"矩形树图",sunburst:"旭日图",parallel:"平行坐标系",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘",pictorialBar:"象形柱图",themeRiver:"主题河流图",calendar:"日历坐标系",custom:"自定义系列",dataset:"数据集",dataZoom:"数据区域缩放",graphic:"图形组件",rich:"富文本",globe:"3D 地球",bar3D:"3D 柱状图",scatter3D:"3D 散点图",surface:"3D 曲面",map3D:"3D 地图",lines3D:"3D 路径图",line3D:"3D 折线图",scatterGL:"GL 散点图",linesGL:"GL 路径图",flowGL:"GL 矢量场图",graphGL:"GL 关系图"}}};var Y=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"main-container"}},[e.shared.isMobile?e._e():n("div",{style:{width:e.leftContainerSize+"%"},attrs:{id:"editor-left-container"}},[n("el-tabs",{attrs:{type:"border-card"},model:{value:e.currentTab,callback:function(t){e.currentTab=t},expression:"currentTab"}},[n("el-tab-pane",{attrs:{name:"code-editor"}},[n("span",{attrs:{slot:"label"},slot:"label"},[e._v(e._s(e.$t("editor.tabEditor")))]),e._v(" "),n("el-container",[n("el-header",{attrs:{id:"editor-control-panel"}},[n("div",{staticClass:"languages"},[n("el-tooltip",{attrs:{content:e.$t("editor.tooltip.jsMode"),placement:"bottom"}},[n("a",{class:{js:!0,active:!e.shared.typeCheck},on:{click:function(t){return e.changeLang("js")}}},[e._v("JS")])]),e._v(" "),n("el-tooltip",{attrs:{content:e.$t("editor.tooltip."+(e.hasTs?"tsMode":"noTs")),placement:"bottom"}},[n("a",{class:{ts:!0,active:e.shared.typeCheck,disabled:!e.hasTs},on:{click:function(t){e.hasTs&&e.changeLang("ts")}}},[e._v("TS")])])],1),e._v(" "),n("div",{staticClass:"editor-controls"},[n("a",{staticClass:"btn btn-sm codepen",attrs:{title:e.$t("editor.openWithCodePen")},on:{click:function(t){return e.toExternalEditor("CodePen")}}},[n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"none"}},[n("path",{attrs:{d:"M21.838 8.445c0-.001-.001-.001 0 0l-.003-.004l-.001-.001v-.001a.809.809 0 0 0-.235-.228l-9.164-6.08a.834.834 0 0 0-.898 0L2.371 8.214A.786.786 0 0 0 2 8.897v6.16a.789.789 0 0 0 .131.448v.001l.002.002l.01.015v.002h.001l.001.001l.001.001c.063.088.14.16.226.215l9.165 6.082a.787.787 0 0 0 .448.139a.784.784 0 0 0 .45-.139l9.165-6.082a.794.794 0 0 0 .371-.685v-6.16a.793.793 0 0 0-.133-.452zm-9.057-4.172l6.953 4.613l-3.183 2.112l-3.771-2.536V4.273zm-1.592 0v4.189l-3.771 2.536l-3.181-2.111l6.952-4.614zm-7.595 6.098l2.395 1.59l-2.395 1.611v-3.201zm7.595 9.311l-6.96-4.617l3.195-2.15l3.765 2.498v4.269zm.795-5.653l-3.128-2.078l3.128-2.105l3.131 2.105l-3.131 2.078zm.797 5.653v-4.27l3.766-2.498l3.193 2.15l-6.959 4.618zm7.597-6.11l-2.396-1.611l2.396-1.59v3.201z",fill:"currentColor"}})])]),e._v(" "),n("a",{staticClass:"btn btn-sm codesandbox",attrs:{title:e.$t("editor.openWithCodeSandbox")},on:{click:function(t){return e.toExternalEditor("CodeSandbox")}}},[n("svg",{attrs:{viewBox:"0 0 512 512",fill:"none",stroke:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{d:"M69 153.99L256 263.99M256 263.99L443 153.99M256 263.99V463.99M448 341.37V170.61C447.993 165.021 446.523 159.531 443.735 154.687C440.947 149.843 436.939 145.814 432.11 143L280.11 54.54C272.787 50.2765 264.464 48.0303 255.99 48.0303C247.516 48.0303 239.193 50.2765 231.87 54.54L79.89 143C75.0609 145.814 71.053 149.843 68.2652 154.687C65.4773 159.531 64.0068 165.021 64 170.61V341.37C64.0033 346.962 65.4722 352.456 68.2602 357.304C71.0482 362.152 75.058 366.185 79.89 369L231.89 457.46C239.215 461.718 247.537 463.96 256.01 463.96C264.483 463.96 272.805 461.718 280.13 457.46L432.13 369C436.958 366.182 440.964 362.148 443.748 357.301C446.533 352.453 447.999 346.96 448 341.37Z",stroke:"currentColor","stroke-width":"38","stroke-linecap":"round","stroke-linejoin":"round"}})])]),e._v(" "),n("a",{staticClass:"btn btn-sm format",style:{cursor:e.formatterReady?"":"progress"},attrs:{title:e.$t("editor.format"),disabled:!e.formatterReady},on:{click:e.format}},[n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"}},[n("path",{attrs:{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4"}})])]),e._v(" "),n("a",{staticClass:"btn btn-default btn-sm run",on:{click:e.disposeAndRun}},[n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"}},[n("path",{attrs:{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"}}),e._v(" "),n("path",{attrs:{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}})]),e._v(" "),n("span",[e._v(e._s(e.$t("editor.run")))])])])]),e._v(" "),n("el-main",[e.shared.typeCheck?n("CodeMonaco",{attrs:{id:"code-panel",initialCode:e.initialCode},on:{ready:e.prepareFormatter}}):n("CodeAce",{attrs:{id:"code-panel",initialCode:e.initialCode}})],1)],1)],1),e._v(" "),n("el-tab-pane",{attrs:{label:e.$t("editor.tabFullCodePreview"),name:"full-code",lazy:!0}},[n("el-container",{staticStyle:{width:"100%",height:"100%"}},[n("el-header",{attrs:{id:"full-code-generate-config"}},[n("span",{staticClass:"full-code-generate-config-label"}),e._v(" "),n("el-switch",{attrs:{"active-text":e.$t("editor.minimalBundle"),"inactive-text":""},model:{value:e.fullCodeConfig.minimal,callback:function(t){e.$set(e.fullCodeConfig,"minimal",t)},expression:"fullCodeConfig.minimal"}}),e._v(" "),e.shared.typeCheck?e._e():n("el-switch",{attrs:{"active-text":"ES Modules","inactive-text":""},model:{value:e.fullCodeConfig.esm,callback:function(t){e.$set(e.fullCodeConfig,"esm",t)},expression:"fullCodeConfig.esm"}})],1),e._v(" "),n("el-main",[n("FullCodePreview",{attrs:{code:e.fullCode}})],1)],1)],1),e._v(" "),n("el-tab-pane",{attrs:{label:e.$t("editor.tabOptionPreview"),name:"full-option"}},[n("div",{ref:"optionOutline",attrs:{id:"option-outline"}})])],1)],1),e._v(" "),e.shared.isMobile?e._e():n("div",{staticClass:"handler",style:{left:e.leftContainerSize+"%"},attrs:{id:"h-handler"},on:{mousedown:e.onSplitterDragStart}}),e._v(" "),n("Preview",{ref:"preview",staticClass:"right-container",style:{width:100-e.leftContainerSize+"%",left:e.leftContainerSize+"%"},attrs:{inEditor:!0},on:{ready:e.onPreviewReady}})],1)};Y._withStripped=!0;var ee=function(){var e=this,t=e.$createElement;return(e._self._c||t)("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],staticClass:"ace-editor-main"})};ee._withStripped=!0;var te=[{name:"color",count:1835},{name:"shadowColor",count:1770},{name:"shadowBlur",count:1770},{name:"shadowOffsetX",count:1770},{name:"shadowOffsetY",count:1770},{name:"borderColor",count:1451},{name:"borderWidth",count:1450},{name:"width",count:1411},{name:"borderType",count:1385},{name:"borderDashOffset",count:1373},{name:"height",count:1120},{name:"backgroundColor",count:1111},{name:"fontSize",count:1098},{name:"fontStyle",count:1081},{name:"fontWeight",count:1081},{name:"fontFamily",count:1081},{name:"lineHeight",count:1081},{name:"textBorderColor",count:1081},{name:"textBorderWidth",count:1081},{name:"textBorderType",count:1081},{name:"textBorderDashOffset",count:1081},{name:"textShadowColor",count:1081},{name:"textShadowBlur",count:1081},{name:"textShadowOffsetX",count:1081},{name:"textShadowOffsetY",count:1081},{name:"padding",count:1079},{name:"borderRadius",count:1051},{name:"align",count:916},{name:"verticalAlign",count:913},{name:"opacity",count:692},{name:"show",count:664},{name:"overflow",count:567},{name:"ellipsis",count:567},{name:"lineOverflow",count:567},{name:"position",count:528},{name:"rich",count:514},{name:"<style_name>",count:514},{name:"distance",count:472},{name:"label",count:468},{name:"type",count:389},{name:"rotate",count:365},{name:"offset",count:357},{name:"itemStyle",count:356},{name:"borderCap",count:347},{name:"borderJoin",count:347},{name:"borderMiterLimit",count:347},{name:"formatter",count:331},{name:"lineStyle",count:298},{name:"dashOffset",count:278},{name:"cap",count:278},{name:"join",count:278},{name:"miterLimit",count:278},{name:"emphasis",count:175},{name:"blur",count:143},{name:"name",count:133},{name:"curveness",count:124},{name:"symbol",count:119},{name:"symbolSize",count:119},{name:"x",count:115},{name:"y",count:115},{name:"value",count:101},{name:"symbolKeepAspect",count:94},{name:"silent",count:93},{name:"labelLine",count:81},{name:"rotation",count:78},{name:"symbolOffset",count:75},{name:"id",count:71},{name:"data",count:71},{name:"symbolRotate",count:67},{name:"animationDuration",count:66},{name:"animationEasing",count:66},{name:"animationDelay",count:65},{name:"z",count:64},{name:"animation",count:64},{name:"animationDurationUpdate",count:63},{name:"animationThreshold",count:62},{name:"animationEasingUpdate",count:62},{name:"animationDelayUpdate",count:62},{name:"style",count:60},{name:"select",count:56},{name:"textStyle",count:54},{name:"zlevel",count:52},{name:"transition",count:48},{name:"focus",count:41},{name:"blurScope",count:41},{name:"coord",count:41},{name:"tooltip",count:40},{name:"inside",count:40},{name:"valueIndex",count:40},{name:"valueDim",count:40},{name:"extraCssText",count:38},{name:"interval",count:34},{name:"left",count:33},{name:"top",count:33},{name:"right",count:33},{name:"bottom",count:33},{name:"draggable",count:31},{name:"decal",count:28},{name:"dashArrayX",count:28},{name:"dashArrayY",count:28},{name:"maxTileWidth",count:28},{name:"maxTileHeight",count:28},{name:"margin",count:27},{name:"xAxis",count:27},{name:"yAxis",count:27},{name:"origin",count:26},{name:"0",count:26},{name:"1",count:26},{name:"precision",count:25},{name:"scaleX",count:25},{name:"scaleY",count:25},{name:"originX",count:25},{name:"originY",count:25},{name:"info",count:25},{name:"invisible",count:25},{name:"ignore",count:25},{name:"textContent",count:25},{name:"textConfig",count:25},{name:"layoutRect",count:25},{name:"local",count:25},{name:"insideFill",count:25},{name:"insideStroke",count:25},{name:"outsideFill",count:25},{name:"outsideStroke",count:25},{name:"smooth",count:24},{name:"selectedMode",count:23},{name:"fill",count:23},{name:"stroke",count:23},{name:"lineWidth",count:23},{name:"length",count:21},{name:"areaStyle",count:20},{name:"shape",count:20},{name:"cursor",count:19},{name:"showAbove",count:19},{name:"splitNumber",count:18},{name:"progressive",count:18},{name:"length2",count:18},{name:"minTurnAngle",count:18},{name:"labelLayout",count:18},{name:"hideOverlap",count:17},{name:"moveOverlap",count:17},{name:"dx",count:17},{name:"dy",count:17},{name:"labelLinePoints",count:17},{name:"icon",count:16},{name:"xAxisIndex",count:15},{name:"yAxisIndex",count:15},{name:"min",count:14},{name:"max",count:14},{name:"scale",count:14},{name:"coordinateSystem",count:13},{name:"markPoint",count:13},{name:"markLine",count:13},{name:"markArea",count:13},{name:"z2",count:13},{name:"during",count:13},{name:"extra",count:13},{name:"orient",count:12},{name:"iconStyle",count:12},{name:"areaColor",count:12},{name:"$action",count:12},{name:"bounding",count:12},{name:"onclick",count:12},{name:"onmouseover",count:12},{name:"onmouseout",count:12},{name:"onmousemove",count:12},{name:"onmousewheel",count:12},{name:"onmousedown",count:12},{name:"onmouseup",count:12},{name:"ondrag",count:12},{name:"ondragstart",count:12},{name:"ondragend",count:12},{name:"ondragenter",count:12},{name:"ondragleave",count:12},{name:"ondragover",count:12},{name:"ondrop",count:12},{name:"legendHoverLink",count:12},{name:"upperLabel",count:12},{name:"dimensions",count:11},{name:"axisPointer",count:10},{name:"snap",count:10},{name:"shadowStyle",count:10},{name:"r",count:10},{name:"encode",count:10},{name:"minAngle",count:10},{name:"morph",count:10},{name:"title",count:9},{name:"textAlign",count:9},{name:"triggerEvent",count:9},{name:"inverse",count:9},{name:"axisLine",count:9},{name:"axisTick",count:9},{name:"axisLabel",count:9},{name:"boundaryGap",count:8},{name:"showMinLabel",count:8},{name:"showMaxLabel",count:8},{name:"splitLine",count:8},{name:"size",count:8},{name:"throttle",count:8},{name:"center",count:8},{name:"startAngle",count:8},{name:"geoIndex",count:8},{name:"cx",count:8},{name:"cy",count:8},{name:"seriesLayoutBy",count:8},{name:"datasetIndex",count:8},{name:"color0",count:8},{name:"borderColor0",count:8},{name:"nameGap",count:7},{name:"minInterval",count:7},{name:"maxInterval",count:7},{name:"logBase",count:7},{name:"alignWithLabel",count:7},{name:"minorTick",count:7},{name:"polarIndex",count:7},{name:"clockwise",count:7},{name:"clip",count:7},{name:"text",count:6},{name:"nameLocation",count:6},{name:"nameTextStyle",count:6},{name:"nameRotate",count:6},{name:"splitArea",count:6},{name:"triggerTooltip",count:6},{name:"status",count:6},{name:"handle",count:6},{name:"textPosition",count:6},{name:"textFill",count:6},{name:"textBackgroundColor",count:6},{name:"textBorderRadius",count:6},{name:"textPadding",count:6},{name:"line",count:6},{name:"layout",count:6},{name:"r0",count:6},{name:"progressiveThreshold",count:6},{name:"colorAlpha",count:6},{name:"colorSaturation",count:6},{name:"offsetCenter",count:6},{name:"target",count:5},{name:"itemGap",count:5},{name:"minorSplitLine",count:5},{name:"radius",count:5},{name:"realtime",count:5},{name:"zoom",count:5},{name:"bar",count:5},{name:"stack",count:5},{name:"roam",count:5},{name:"endAngle",count:5},{name:"valueAnimation",count:5},{name:"calendarIndex",count:5},{name:"link",count:4},{name:"selected",count:4},{name:"trigger",count:4},{name:"axis",count:4},{name:"crossStyle",count:4},{name:"end",count:4},{name:"seriesIndex",count:4},{name:"inRange",count:4},{name:"outOfRange",count:4},{name:"nameMap",count:4},{name:"points",count:4},{name:"smoothConstraint",count:4},{name:"x1",count:4},{name:"y1",count:4},{name:"x2",count:4},{name:"y2",count:4},{name:"percent",count:4},{name:"endLabel",count:4},{name:"large",count:4},{name:"largeThreshold",count:4},{name:"hoverAnimation",count:4},{name:"edgeLabel",count:4},{name:"textVerticalAlign",count:3},{name:"itemWidth",count:3},{name:"itemHeight",count:3},{name:"filterMode",count:3},{name:"handleStyle",count:3},{name:"brushStyle",count:3},{name:"rect",count:3},{name:"polygon",count:3},{name:"map",count:3},{name:"children",count:3},{name:"image",count:3},{name:"font",count:3},{name:"source",count:3},{name:"config",count:3},{name:"print",count:3},{name:"sort",count:3},{name:"withName",count:3},{name:"withoutName",count:3},{name:"roundCap",count:3},{name:"barWidth",count:3},{name:"barMaxWidth",count:3},{name:"barMinWidth",count:3},{name:"progressiveChunkMode",count:3},{name:"visualDimension",count:3},{name:"visualMin",count:3},{name:"visualMax",count:3},{name:"colorMappingBy",count:3},{name:"visibleMin",count:3},{name:"childrenVisibleMin",count:3},{name:"gapWidth",count:3},{name:"borderColorSaturation",count:3},{name:"levels",count:3},{name:"selectorLabel",count:2},{name:"gridIndex",count:2},{name:"realtimeSort",count:2},{name:"sortSeriesIndex",count:2},{name:"onZero",count:2},{name:"onZeroAxisIndex",count:2},{name:"radar",count:2},{name:"dataZoom",count:2},{name:"radiusAxisIndex",count:2},{name:"angleAxisIndex",count:2},{name:"start",count:2},{name:"startValue",count:2},{name:"endValue",count:2},{name:"minSpan",count:2},{name:"maxSpan",count:2},{name:"minValueSpan",count:2},{name:"maxValueSpan",count:2},{name:"zoomLock",count:2},{name:"rangeMode",count:2},{name:"handleIcon",count:2},{name:"handleSize",count:2},{name:"moveHandleStyle",count:2},{name:"range",count:2},{name:"textGap",count:2},{name:"dimension",count:2},{name:"hoverLink",count:2},{name:"controller",count:2},{name:"categories",count:2},{name:"triggerOn",count:2},{name:"toolbox",count:2},{name:"itemSize",count:2},{name:"back",count:2},{name:"option",count:2},{name:"brush",count:2},{name:"lineX",count:2},{name:"lineY",count:2},{name:"keep",count:2},{name:"clear",count:2},{name:"brushType",count:2},{name:"aspectScale",count:2},{name:"boundingCoords",count:2},{name:"scaleLimit",count:2},{name:"nameProperty",count:2},{name:"layoutCenter",count:2},{name:"layoutSize",count:2},{name:"parallel",count:2},{name:"parallelIndex",count:2},{name:"loop",count:2},{name:"checkpointStyle",count:2},{name:"controlStyle",count:2},{name:"progress",count:2},{name:"diffChildrenByName",count:2},{name:"polyline",count:2},{name:"cpx1",count:2},{name:"cpy1",count:2},{name:"cpx2",count:2},{name:"cpy2",count:2},{name:"enabled",count:2},{name:"series",count:2},{name:"maxCount",count:2},{name:"prefix",count:2},{name:"separator",count:2},{name:"middle",count:2},{name:"sampling",count:2},{name:"barMinHeight",count:2},{name:"barMinAngle",count:2},{name:"barGap",count:2},{name:"barCategoryGap",count:2},{name:"period",count:2},{name:"nodeClick",count:2},{name:"nodes",count:2},{name:"links",count:2},{name:"edges",count:2},{name:"depth",count:2},{name:"detail",count:2},{name:"keepAspect",count:2},{name:"symbolPosition",count:2},{name:"symbolRepeat",count:2},{name:"symbolRepeatDirection",count:2},{name:"symbolMargin",count:2},{name:"symbolClip",count:2},{name:"symbolBoundingData",count:2},{name:"symbolPatternSize",count:2},{name:"subtext",count:1},{name:"sublink",count:1},{name:"subtarget",count:1},{name:"subtextStyle",count:1},{name:"legend",count:1},{name:"inactiveColor",count:1},{name:"scrollDataIndex",count:1},{name:"pageButtonItemGap",count:1},{name:"pageButtonGap",count:1},{name:"pageButtonPosition",count:1},{name:"pageFormatter",count:1},{name:"pageIcons",count:1},{name:"horizontal",count:1},{name:"vertical",count:1},{name:"pageIconColor",count:1},{name:"pageIconInactiveColor",count:1},{name:"pageIconSize",count:1},{name:"pageTextStyle",count:1},{name:"selector",count:1},{name:"selectorPosition",count:1},{name:"selectorItemGap",count:1},{name:"selectorButtonGap",count:1},{name:"grid",count:1},{name:"containLabel",count:1},{name:"polar",count:1},{name:"radiusAxis",count:1},{name:"angleAxis",count:1},{name:"indicator",count:1},{name:"disabled",count:1},{name:"zoomOnMouseWheel",count:1},{name:"moveOnMouseMove",count:1},{name:"moveOnMouseWheel",count:1},{name:"preventDefaultMouseMove",count:1},{name:"slider",count:1},{name:"dataBackground",count:1},{name:"selectedDataBackground",count:1},{name:"fillerColor",count:1},{name:"moveHandleIcon",count:1},{name:"moveHandleSize",count:1},{name:"labelPrecision",count:1},{name:"labelFormatter",count:1},{name:"showDetail",count:1},{name:"showDataShadow",count:1},{name:"brushSelect",count:1},{name:"visualMap",count:1},{name:"continuous",count:1},{name:"calculable",count:1},{name:"indicatorIcon",count:1},{name:"indicatorSize",count:1},{name:"indicatorStyle",count:1},{name:"piecewise",count:1},{name:"pieces",count:1},{name:"minOpen",count:1},{name:"maxOpen",count:1},{name:"showLabel",count:1},{name:"itemSymbol",count:1},{name:"showContent",count:1},{name:"alwaysShowContent",count:1},{name:"showDelay",count:1},{name:"hideDelay",count:1},{name:"enterable",count:1},{name:"renderMode",count:1},{name:"confine",count:1},{name:"appendToBody",count:1},{name:"className",count:1},{name:"transitionDuration",count:1},{name:"order",count:1},{name:"showTitle",count:1},{name:"feature",count:1},{name:"saveAsImage",count:1},{name:"connectedBackgroundColor",count:1},{name:"excludeComponents",count:1},{name:"pixelRatio",count:1},{name:"restore",count:1},{name:"dataView",count:1},{name:"readOnly",count:1},{name:"optionToContent",count:1},{name:"contentToOption",count:1},{name:"lang",count:1},{name:"textareaColor",count:1},{name:"textareaBorderColor",count:1},{name:"textColor",count:1},{name:"buttonColor",count:1},{name:"buttonTextColor",count:1},{name:"magicType",count:1},{name:"tiled",count:1},{name:"brushLink",count:1},{name:"brushMode",count:1},{name:"transformable",count:1},{name:"throttleType",count:1},{name:"throttleDelay",count:1},{name:"removeOnClick",count:1},{name:"inBrush",count:1},{name:"outOfBrush",count:1},{name:"geo",count:1},{name:"regions",count:1},{name:"axisExpandable",count:1},{name:"axisExpandCenter",count:1},{name:"axisExpandCount",count:1},{name:"axisExpandWidth",count:1},{name:"axisExpandTriggerOn",count:1},{name:"parallelAxisDefault",count:1},{name:"parallelAxis",count:1},{name:"dim",count:1},{name:"areaSelectStyle",count:1},{name:"singleAxis",count:1},{name:"timeline",count:1},{name:"axisType",count:1},{name:"currentIndex",count:1},{name:"autoPlay",count:1},{name:"rewind",count:1},{name:"playInterval",count:1},{name:"replaceMerge",count:1},{name:"controlPosition",count:1},{name:"showPlayBtn",count:1},{name:"showPrevBtn",count:1},{name:"showNextBtn",count:1},{name:"playIcon",count:1},{name:"stopIcon",count:1},{name:"prevIcon",count:1},{name:"nextIcon",count:1},{name:"graphic",count:1},{name:"elements",count:1},{name:"group",count:1},{name:"circle",count:1},{name:"ring",count:1},{name:"sector",count:1},{name:"arc",count:1},{name:"bezierCurve",count:1},{name:"calendar",count:1},{name:"cellSize",count:1},{name:"dayLabel",count:1},{name:"firstDay",count:1},{name:"monthLabel",count:1},{name:"yearLabel",count:1},{name:"dataset",count:1},{name:"sourceHeader",count:1},{name:"transform",count:1},{name:"filter",count:1},{name:"xxx:xxx",count:1},{name:"fromDatasetIndex",count:1},{name:"fromDatasetId",count:1},{name:"fromTransformResult",count:1},{name:"aria",count:1},{name:"description",count:1},{name:"general",count:1},{name:"withTitle",count:1},{name:"withoutTitle",count:1},{name:"single",count:1},{name:"multiple",count:1},{name:"allData",count:1},{name:"partialData",count:1},{name:"decals",count:1},{name:"showSymbol",count:1},{name:"showAllSymbol",count:1},{name:"connectNulls",count:1},{name:"step",count:1},{name:"smoothMonotone",count:1},{name:"showBackground",count:1},{name:"backgroundStyle",count:1},{name:"pie",count:1},{name:"selectedOffset",count:1},{name:"minShowLabelAngle",count:1},{name:"roseType",count:1},{name:"avoidLabelOverlap",count:1},{name:"stillShowZeroSum",count:1},{name:"alignTo",count:1},{name:"edgeDistance",count:1},{name:"bleedMargin",count:1},{name:"distanceToLabelLine",count:1},{name:"maxSurfaceAngle",count:1},{name:"scaleSize",count:1},{name:"animationType",count:1},{name:"animationTypeUpdate",count:1},{name:"scatter",count:1},{name:"effectScatter",count:1},{name:"effectType",count:1},{name:"showEffectOn",count:1},{name:"rippleEffect",count:1},{name:"radarIndex",count:1},{name:"tree",count:1},{name:"edgeShape",count:1},{name:"edgeForkPosition",count:1},{name:"expandAndCollapse",count:1},{name:"initialTreeDepth",count:1},{name:"leaves",count:1},{name:"treemap",count:1},{name:"squareRatio",count:1},{name:"leafDepth",count:1},{name:"drillDownIcon",count:1},{name:"zoomToNodeRatio",count:1},{name:"breadcrumb",count:1},{name:"emptyItemWidth",count:1},{name:"sunburst",count:1},{name:"renderLabelForZeroData",count:1},{name:"boxplot",count:1},{name:"boxWidth",count:1},{name:"candlestick",count:1},{name:"heatmap",count:1},{name:"pointSize",count:1},{name:"blurSize",count:1},{name:"minOpacity",count:1},{name:"maxOpacity",count:1},{name:"mapValueCalculation",count:1},{name:"showLegendSymbol",count:1},{name:"inactiveOpacity",count:1},{name:"activeOpacity",count:1},{name:"lines",count:1},{name:"effect",count:1},{name:"delay",count:1},{name:"constantSpeed",count:1},{name:"trailLength",count:1},{name:"coords",count:1},{name:"graph",count:1},{name:"circular",count:1},{name:"rotateLabel",count:1},{name:"force",count:1},{name:"initLayout",count:1},{name:"repulsion",count:1},{name:"gravity",count:1},{name:"edgeLength",count:1},{name:"layoutAnimation",count:1},{name:"friction",count:1},{name:"nodeScaleRatio",count:1},{name:"edgeSymbol",count:1},{name:"edgeSymbolSize",count:1},{name:"autoCurveness",count:1},{name:"fixed",count:1},{name:"category",count:1},{name:"ignoreForceLayout",count:1},{name:"sankey",count:1},{name:"nodeWidth",count:1},{name:"nodeGap",count:1},{name:"nodeAlign",count:1},{name:"layoutIterations",count:1},{name:"funnel",count:1},{name:"minSize",count:1},{name:"maxSize",count:1},{name:"gap",count:1},{name:"funnelAlign",count:1},{name:"gauge",count:1},{name:"overlap",count:1},{name:"pointer",count:1},{name:"anchor",count:1},{name:"pictorialBar",count:1},{name:"themeRiver",count:1},{name:"singleAxisIndex",count:1},{name:"date",count:1},{name:"custom",count:1},{name:"renderItem",count:1},{name:"arguments",count:1},{name:"params",count:1},{name:"api",count:1},{name:"styleEmphasis",count:1},{name:"visual",count:1},{name:"barLayout",count:1},{name:"currentSeriesIndices",count:1},{name:"getWidth",count:1},{name:"getHeight",count:1},{name:"getZr",count:1},{name:"getDevicePixelRatio",count:1},{name:"return",count:1},{name:"return_group",count:1},{name:"return_path",count:1},{name:"pathData",count:1},{name:"d",count:1},{name:"return_image",count:1},{name:"return_text",count:1},{name:"return_rect",count:1},{name:"return_circle",count:1},{name:"return_ring",count:1},{name:"return_sector",count:1},{name:"return_arc",count:1},{name:"return_polygon",count:1},{name:"return_polyline",count:1},{name:"return_line",count:1},{name:"return_bezierCurve",count:1},{name:"darkMode",count:1},{name:"stateAnimation",count:1},{name:"duration",count:1},{name:"easing",count:1},{name:"blendMode",count:1},{name:"hoverLayerThreshold",count:1},{name:"useUTC",count:1},{name:"options",count:1},{name:"media",count:1},{name:"query",count:1},{name:"minWidth",count:1},{name:"maxHeight",count:1},{name:"minAspectRatio",count:1}],ne=["line","bar","pie","scatter","map","candlestick","radar","boxplot","heatmap","graph","lines","tree","treemap","sunburst","parallel","sankey","funnel","gauge","pictorialBar","themeRiver","calendar","custom","dataset","dataZoom","graphic","rich","globe","bar3D","scatter3D","surface","map3D","lines3D","line3D","scatterGL","linesGL","flowGL","graphGL"],re=function(e){for(var t={},n=0;n<e.length;n++)t[e[n]]=1;return location.href.indexOf("github.io")>=0?{}:t}(["effectScatter-map","geo-lines","geo-map-scatter","heatmap-map","lines-airline","map-china","map-china-dataRange","map-labels","map-locate","map-province","map-world","map-world-dataRange","scatter-map","scatter-map-brush","scatter-weibo","scatter-world-population","geo3d","geo3d-with-different-height","globe-country-carousel","globe-with-echarts-surface","map3d-alcohol-consumption","map3d-wood-map","scattergl-weibo"]),ie={};new URLSearchParams(location.search).forEach((function(e,t){return ie[t]=e}));var ae="https://fastly.jsdelivr.net/npm/",oe={echartsDir:"".concat(ae,"echarts@{{version}}"),echartsNightlyDir:"".concat(ae,"echarts-nightly@{{version}}"),echartsJS:"/dist/echarts.min.js",localEChartsDir:"http://localhost/echarts",localEChartsGLJS:"http://localhost/echarts-gl/dist/echarts-gl.js",echartsWorldMapJS:"".concat(ae,"echarts@4.9.0/map/js/world.js"),echartsStatJS:"".concat(ae,"echarts-stat@latest/dist/ecStat.min.js"),echartsGLJS:"".concat(ae,"echarts-gl@2/dist/echarts-gl.min.js"),datGUIMinJS:"".concat(ae,"dat.gui@0.6.5/build/dat.gui.min.js"),monacoDir:"".concat(ae,"monaco-editor@0.27.0/min/vs"),aceDir:"".concat(ae,"ace-builds@1.4.12/src-min-noconflict"),prettierDir:"".concat(ae,"prettier@2.3.2"),bmapLibJS:"https://api.map.baidu.com/api?v=3.0&ak=KOmVjPVUAey1G2E8zNhPiuQ6QiEmAwZu",echartsBMapJS:"/dist/extension/bmap.min.js"};const se=[{category:["bar"],id:"bar-background",ts:!0,tags:[],title:"Bar with Background",titleCN:"带背景色的柱状图",difficulty:0},{category:["custom"],id:"bar-histogram",ts:!0,tags:[],title:"Histogram with Custom Series",titleCN:"直方图（自定义系列）",difficulty:0},{category:["bar"],id:"bar-simple",ts:!0,tags:[],title:"Basic Bar",titleCN:"基础柱状图",difficulty:0},{category:["bar"],id:"bar-tick-align",ts:!0,tags:[],title:"Axis Align with Tick",titleCN:"坐标轴刻度与标签对齐",difficulty:0},{category:["calendar"],id:"calendar-simple",ts:!0,tags:[],title:"Simple Calendar",titleCN:"基础日历图",difficulty:0},{category:["candlestick"],id:"candlestick-simple",ts:!0,tags:[],title:"Basic Candlestick",titleCN:"基础 K 线图",difficulty:0},{category:["dataset","bar","transform"],id:"data-transform-sort-bar",ts:!0,tags:[],title:"Sort Data in Bar Chart",titleCN:"柱状图排序",difficulty:0},{category:["heatmap"],id:"heatmap-cartesian",ts:!0,tags:[],title:"Heatmap on Cartesian",titleCN:"笛卡尔坐标系上的热力图",difficulty:0},{category:["line"],id:"line-simple",ts:!0,tags:[],title:"Basic Line Chart",titleCN:"基础折线图",difficulty:0},{category:["line"],id:"line-smooth",ts:!0,tags:[],title:"Smoothed Line Chart",titleCN:"基础平滑折线图",difficulty:0},{category:["pie"],id:"pie-simple",ts:!0,tags:[],title:"Referer of a Website",titleCN:"某站点用户Access From",difficulty:0},{category:["radar"],id:"radar",ts:!0,tags:[],title:"Basic Radar Chart",titleCN:"基础雷达图",difficulty:0},{category:["sankey"],id:"sankey-simple",ts:!0,tags:[],title:"Basic Sankey",titleCN:"基础桑基图",difficulty:0},{category:["scatter"],id:"scatter-simple",ts:!0,tags:[],title:"Basic Scatter Chart",titleCN:"基础散点图",difficulty:0},{category:["line"],id:"area-basic",ts:!0,tags:[],title:"Basic area chart",titleCN:"基础面积图",difficulty:1},{category:["bar"],id:"bar-data-color",ts:!0,tags:[],title:"Set Style of Single Bar.",titleCN:"自定义单个柱子颜色",difficulty:1},{category:["bar"],id:"bar-waterfall",ts:!0,tags:[],title:"Waterfall Chart",titleCN:"瀑布图（柱状图模拟）",difficulty:1},{category:["calendar","heatmap"],id:"calendar-heatmap",ts:!0,tags:[],title:"Calendar Heatmap",titleCN:"日历热力图",difficulty:1},{category:["calendar","heatmap"],id:"calendar-vertical",ts:!0,tags:[],title:"Calendar Heatmap Vertical",titleCN:"纵向日历图",difficulty:1},{category:["candlestick"],id:"custom-ohlc",ts:!0,tags:[],title:"OHLC Chart",titleCN:"OHLC 图（使用自定义系列）",difficulty:1},{category:["custom"],id:"custom-profit",ts:!0,tags:[],title:"Profit",titleCN:"利润分布直方图",difficulty:1},{category:["dataset","bar"],id:"dataset-encode0",ts:!0,tags:[],title:"Simple Encode",titleCN:"指定数据到坐标轴的映射",difficulty:1},{category:["gauge"],id:"gauge",ts:!0,tags:[],title:"Gauge Basic chart",titleCN:"基础仪表盘",difficulty:1},{category:["gauge"],id:"gauge-simple",ts:!0,tags:[],title:"Simple Gauge",titleCN:"带标签数字动画的基础仪表盘",difficulty:1},{category:["graph"],id:"graph-force2",ts:!0,tags:[],title:"Force Layout",titleCN:"力引导布局",difficulty:1},{category:["line"],id:"line-stack",ts:!0,tags:[],title:"Stacked Line Chart",titleCN:"折线图堆叠",difficulty:1},{category:["parallel"],id:"parallel-simple",ts:!0,tags:[],title:"Basic Parallel",titleCN:"基础平行坐标",difficulty:1},{category:["pie"],id:"pie-borderRadius",ts:!0,tags:[],title:"Doughnut Chart with Rounded Corner",titleCN:"圆角环形图",difficulty:1},{category:["pie"],id:"pie-doughnut",ts:!0,tags:[],title:"Doughnut Chart",titleCN:"环形图",difficulty:1},{category:["pie"],id:"pie-half-donut",ts:!0,tags:[],title:"Half Doughnut Chart",titleCN:"半环形图",difficulty:1},{category:["radar"],id:"radar-aqi",ts:!0,tags:[],title:"AQI - Radar Chart",titleCN:"AQI - 雷达图",difficulty:1},{category:["sankey"],id:"sankey-vertical",ts:!0,tags:[],title:"Sankey Orient Vertical",titleCN:"垂直方向的桑基图",difficulty:1},{category:["scatter"],id:"scatter-anscombe-quartet",ts:!0,tags:[],title:"Anscomb's quartet",titleCN:"Anscomb's quartet",difficulty:1},{category:["scatter"],id:"scatter-clustering",ts:!0,tags:[],title:"Clustering Process",titleCN:"数据聚合",difficulty:1},{category:["scatter"],id:"scatter-clustering-process",ts:!1,tags:[],title:"Clustering Process",titleCN:"聚合过程可视化",difficulty:1},{category:["scatter"],id:"scatter-exponential-regression",ts:!0,tags:[],title:"Exponential Regression",titleCN:"指数回归（使用统计插件）",difficulty:1},{category:["sunburst"],id:"sunburst-simple",ts:!0,tags:[],title:"Basic Sunburst",titleCN:"基础旭日图",difficulty:1},{category:["line"],id:"area-stack",ts:!0,tags:[],title:"Stacked Area Chart",titleCN:"堆叠面积图",difficulty:2},{category:["line"],id:"area-stack-gradient",ts:!0,tags:[],title:"Gradient Stacked Area Chart",titleCN:"渐变堆叠面积图",difficulty:2},{category:["bar"],id:"bar-negative2",ts:!0,tags:[],title:"Bar Chart with Negative Value",titleCN:"交错正负轴标签",difficulty:2},{category:["bar"],id:"bar-polar-label-radial",ts:!0,tags:[],title:"Radial Polar Bar Label Position",titleCN:"极坐标柱状图标签",difficulty:2},{category:["bar"],id:"bar-polar-label-tangential",ts:!0,tags:[],title:"Tangential Polar Bar Label Position",titleCN:"极坐标柱状图标签",difficulty:2},{category:["bar"],id:"bar-y-category",ts:!0,tags:[],title:"World Population",titleCN:"世界人口总量 - 条形图",difficulty:2},{category:["calendar"],id:"calendar-horizontal",ts:!0,tags:[],title:"Calendar Heatmap Horizontal",titleCN:"横向日历图",difficulty:2},{category:["candlestick"],id:"candlestick-sh",ts:!0,tags:[],title:"ShangHai Index",titleCN:"上证指数",difficulty:2},{category:["custom","dataZoom"],id:"custom-error-scatter",ts:!0,tags:[],title:"Error Scatter on Catesian",titleCN:"使用自定系列给散点图添加误差范围",difficulty:2},{category:["scatter"],id:"effectScatter-map",ts:!0,tags:[],title:"Air Quality",titleCN:"全国主要城市空气质量",difficulty:2},{category:["gauge"],id:"gauge-speed",ts:!0,tags:[],title:"Speed Gauge",titleCN:"速度仪表盘",difficulty:2},{category:["graph"],id:"graph-grid",ts:!0,tags:[],title:"Graph on Cartesian",titleCN:"笛卡尔坐标系上的 Graph",difficulty:2},{category:["graph"],id:"graph-simple",ts:!0,tags:[],title:"Simple Graph",titleCN:"Graph 简单示例",difficulty:2},{category:["heatmap"],id:"heatmap-large",ts:!0,tags:[],title:"Heatmap - 20K data",titleCN:"热力图 - 2w 数据",difficulty:2},{category:["heatmap"],id:"heatmap-large-piecewise",ts:!0,tags:[],title:"Heatmap - Discrete Mapping of Color",titleCN:"热力图 - 颜色的离散映射",difficulty:2},{category:["line"],id:"line-marker",ts:!0,tags:[],title:"Temperature Change in the Coming Week",titleCN:"未来一周气温变化",difficulty:2},{category:["parallel"],id:"parallel-aqi",ts:!0,tags:[],title:"Parallel Aqi",titleCN:"AQI 分布（平行坐标）",difficulty:2},{category:["pie"],id:"pie-custom",ts:!0,tags:[],title:"Customized Pie",titleCN:"饼图自定义样式",difficulty:2},{category:["pie"],id:"pie-pattern",ts:!0,tags:[],title:"Texture on Pie Chart",titleCN:"饼图纹理",difficulty:2},{category:["pie"],id:"pie-roseType",ts:!0,tags:[],title:"Nightingale Chart",titleCN:"南丁格尔玫瑰图",difficulty:2},{category:["pie"],id:"pie-roseType-simple",ts:!0,tags:[],title:"Nightingale Chart",titleCN:"基础南丁格尔玫瑰图",difficulty:2},{category:["radar"],id:"radar-custom",ts:!0,tags:[],title:"Customized Radar Chart",titleCN:"自定义雷达图",difficulty:2},{category:["sankey"],id:"sankey-itemstyle",ts:!0,tags:[],title:"Specify ItemStyle for Each Node in Sankey",titleCN:"桑基图节点自定义样式",difficulty:2},{category:["sankey"],id:"sankey-levels",ts:!0,tags:[],title:"Sankey with Levels Setting",titleCN:"桑基图层级自定义样式",difficulty:2},{category:["scatter"],id:"scatter-effect",ts:!0,tags:[],title:"Effect Scatter Chart",titleCN:"涟漪特效散点图",difficulty:2},{category:["scatter"],id:"scatter-linear-regression",ts:!0,tags:[],title:"Linear Regression",titleCN:"线性回归（使用统计插件）",difficulty:2},{category:["scatter"],id:"scatter-polynomial-regression",ts:!0,tags:[],title:"Polynomial Regression",titleCN:"多项式回归（使用统计插件）",difficulty:2},{category:["sunburst"],id:"sunburst-borderRadius",ts:!0,tags:[],title:"Sunburst with Rounded Corner",titleCN:"圆角旭日图",difficulty:2},{category:["sunburst"],id:"sunburst-label-rotate",ts:!0,tags:[],title:"Sunburst Label Rotate",titleCN:"旭日图标签旋转",difficulty:2},{category:["line","visualMap"],id:"area-pieces",ts:!0,tags:[],title:"Area Pieces",titleCN:"折线图区域高亮",difficulty:3},{category:["bar"],id:"bar-gradient",ts:!0,tags:[],title:"Clickable Column Chart with Gradient",titleCN:"特性示例：渐变色 阴影 点击缩放",difficulty:3},{category:["bar"],id:"bar-label-rotation",ts:!0,tags:[],title:"Bar Label Rotation",titleCN:"柱状图标签旋转",difficulty:3},{category:["bar"],id:"bar-stack",ts:!0,tags:[],title:"Stacked Column Chart",titleCN:"堆叠柱状图",difficulty:3},{category:["bar"],id:"bar-waterfall2",ts:!0,tags:[],title:"Waterfall Chart",titleCN:"阶梯瀑布图（柱状图模拟）",difficulty:3},{category:["bar"],id:"bar-y-category-stack",ts:!0,tags:[],title:"Stacked Horizontal Bar",titleCN:"堆叠条形图",difficulty:3},{category:["candlestick"],id:"candlestick-large",ts:!0,tags:[],title:"Large Scale Candlestick",titleCN:"大数据量K线图",difficulty:3},{category:["custom"],id:"custom-bar-trend",ts:!0,tags:[],title:"Custom Bar Trend",titleCN:"使用自定义系列添加柱状图趋势",difficulty:3},{category:["custom"],id:"custom-cartesian-polygon",ts:!0,tags:[],title:"Custom Cartesian Polygon",titleCN:"自定义多边形图",difficulty:3},{category:["custom"],id:"custom-error-bar",ts:!0,tags:[],title:"Error Bar on Catesian",titleCN:"使用自定系列给柱状图添加误差范围",difficulty:3},{category:["custom"],id:"custom-profile",ts:!1,tags:[],title:"Profile",titleCN:"性能分析图",difficulty:3},{category:["custom"],id:"cycle-plot",ts:!1,tags:[],title:"Cycle Plot",titleCN:"Cycle Plot",difficulty:3},{category:["line"],id:"data-transform-filter",ts:!0,tags:[],title:"Data Transform Filter",titleCN:"数据过滤",difficulty:3},{category:["dataset","pie","transform"],id:"data-transform-multiple-pie",ts:!0,tags:[],title:"Partition Data to Pies",titleCN:"分割数据到数个饼图",difficulty:3},{category:["dataset","pie"],id:"dataset-default",ts:!0,tags:[],title:"Default arrangement",titleCN:"默认 encode 设置",difficulty:3},{category:["dataset"],id:"dataset-encode1",ts:!0,tags:[],title:"Encode and Matrix",titleCN:"指定数据到坐标轴的映射",difficulty:3},{category:["gauge"],id:"gauge-progress",ts:!0,tags:[],title:"Progress Gauge",titleCN:"进度仪表盘",difficulty:3},{category:["gauge"],id:"gauge-stage",ts:!0,tags:[],title:"Stage Speed Gauge",titleCN:"阶段速度仪表盘",difficulty:3},{category:["graph"],id:"graph-force",ts:!0,tags:[],title:"Force Layout",titleCN:"力引导布局",difficulty:3},{category:["graph"],id:"graph-label-overlap",ts:!0,tags:[],title:"Hide Overlapped Label",titleCN:"关系图自动隐藏重叠标签",difficulty:3},{category:["heatmap"],id:"heatmap-bmap",ts:!1,tags:["bmap"],title:"Heatmap on Baidu Map Extension",titleCN:"热力图与百度地图扩展",difficulty:3},{category:["heatmap"],id:"heatmap-map",ts:!1,tags:[],title:"Air Qulity",titleCN:"全国主要城市空气质量",difficulty:3},{category:["line"],id:"line-gradient",ts:!0,tags:[],title:"Line Gradient",titleCN:"折线图的渐变",difficulty:3},{category:["line"],id:"line-sections",ts:!0,tags:[],title:"Distribution of Electricity",titleCN:"一天用电量分布",difficulty:3},{category:["pie"],id:"pie-alignTo",ts:!0,tags:[],title:"Pie Label Align",titleCN:"饼图标签对齐",difficulty:3},{category:["pie"],id:"pie-labelLine-adjust",ts:!0,tags:[],title:"Label Line Adjust",titleCN:"饼图引导线调整",difficulty:3},{category:["radar"],id:"radar2",ts:!0,tags:[],title:"Proportion of Browsers",titleCN:"浏览器占比变化",difficulty:3},{category:["sankey"],id:"sankey-energy",ts:!0,tags:[],title:"Gradient Edge",titleCN:"桑基图渐变色边",difficulty:3},{category:["sankey"],id:"sankey-nodeAlign-left",ts:!0,tags:[],title:"Node Align Left in Sankey",titleCN:"桑基图左对齐布局",difficulty:3},{category:["sankey"],id:"sankey-nodeAlign-right",ts:!0,tags:[],title:"Node Align Right in Sankey",titleCN:"桑基图右对齐布局",difficulty:3},{category:["scatter"],id:"scatter-punchCard",ts:!0,tags:[],title:"Punch Card of Github",titleCN:"GitHub 打卡气泡图",difficulty:3},{category:["scatter"],id:"scatter-single-axis",ts:!0,tags:[],title:"Scatter on Single Axis",titleCN:"单轴散点图",difficulty:3},{category:["scatter"],id:"scatter-weight",ts:!0,tags:[],title:"Distribution of Height and Weight",titleCN:"男性女性身高体重分布",difficulty:3},{category:["sunburst"],id:"sunburst-monochrome",ts:!0,tags:[],title:"Monochrome Sunburst",titleCN:"Monochrome Sunburst",difficulty:3},{category:["line","dataZoom"],id:"area-simple",ts:!0,tags:[],title:"Large scale area chart",titleCN:"大数据量面积图",difficulty:4},{category:["bar"],id:"bar-brush",ts:!0,tags:[],title:"Brush Select on Column Chart",titleCN:"柱状图框选",difficulty:4},{category:["bar"],id:"bar-negative",ts:!0,tags:[],title:"Bar Chart with Negative Value",titleCN:"正负条形图",difficulty:4},{category:["bar"],id:"bar1",ts:!0,tags:[],title:"Rainfall and Evaporation",titleCN:"某地区蒸发量和降水量",difficulty:4},{category:["calendar","graph"],id:"calendar-graph",ts:!0,tags:[],title:"Calendar Graph",titleCN:"日历关系图",difficulty:4},{category:["calendar"],id:"calendar-lunar",ts:!0,tags:[],title:"Calendar Lunar",titleCN:"农历日历图",difficulty:4},{category:["candlestick"],id:"candlestick-touch",ts:!0,tags:[],title:"Axis Pointer Link and Touch",titleCN:"触屏上的坐标轴指示器",difficulty:4},{category:["line"],id:"confidence-band",ts:!0,tags:[],title:"Confidence Band",titleCN:"Confidence Band",difficulty:4},{category:["custom","dataZoom"],id:"custom-gantt-flight",ts:!1,tags:[],title:"Gantt Chart of Airport Flights",titleCN:"机场航班甘特图",difficulty:4},{category:["custom"],id:"custom-polar-heatmap",ts:!0,tags:[],title:"Polar Heatmap",titleCN:"极坐标热力图（自定义系列）",difficulty:4},{category:["boxplot"],id:"data-transform-aggregate",ts:!1,tags:[],title:"Data Transform Simple Aggregate",titleCN:"简单的数据聚合",difficulty:4},{category:["custom"],id:"flame-graph",ts:!0,tags:[],title:"Flame graph",titleCN:"火焰图",difficulty:4},{category:["gauge"],id:"gauge-grade",ts:!0,tags:[],title:"Grade Gauge",titleCN:"等级仪表盘",difficulty:4},{category:["gauge"],id:"gauge-multi-title",ts:!0,tags:[],title:"Multi Title Gauge",titleCN:"多标题仪表盘",difficulty:4},{category:["gauge"],id:"gauge-temperature",ts:!0,tags:[],title:"Temperature Gauge chart",titleCN:"气温仪表盘",difficulty:4},{category:["graph"],id:"graph",ts:!0,tags:[],title:"Les Miserables",titleCN:"悲惨世界人物关系图",difficulty:4},{category:["line"],id:"grid-multiple",ts:!0,tags:[],title:"Rainfall vs Evaporation",titleCN:"雨量Evaporation关系图",difficulty:4},{category:["line"],id:"line-aqi",ts:!0,tags:[],title:"Beijing AQI",titleCN:"北京 AQI 可视化",difficulty:4},{category:["bar"],id:"mix-line-bar",ts:!0,tags:[],title:"Mixed Line and Bar",titleCN:"折柱混合",difficulty:4},{category:["bar"],id:"mix-zoom-on-value",ts:!0,tags:[],title:"Mix Zoom On Value",titleCN:"多数值轴轴缩放",difficulty:4},{category:["line"],id:"multiple-x-axis",ts:!0,tags:[],title:"Multiple X Axes",titleCN:"多 X 轴",difficulty:4},{category:["bar"],id:"multiple-y-axis",ts:!0,tags:[],title:"Multiple Y Axes",titleCN:"多 Y 轴示例",difficulty:4},{category:["parallel"],id:"parallel-nutrients",ts:!0,tags:[],title:"Parallel Nutrients",titleCN:"营养结构（平行坐标）",difficulty:4},{category:["pictorialBar","animation"],id:"pictorialBar-bar-transition",ts:!0,tags:[],title:"Transition between pictorialBar and bar",titleCN:"象形主图变形为柱状图",difficulty:4},{category:["pie"],id:"pie-legend",ts:!0,tags:[],title:"Pie with Scrollable Legend",titleCN:"可滚动的图例",difficulty:4},{category:["pie","rich"],id:"pie-rich-text",ts:!0,tags:[],title:"Pie Special Label",titleCN:"富文本标签",difficulty:4},{category:["scatter","animation"],id:"scatter-aggregate-bar",ts:!0,tags:[],title:"Aggregate Scatter to Bar",titleCN:"散点图聚合为柱状图动画",difficulty:4},{category:["scatter"],id:"scatter-label-align-right",ts:!0,tags:[],title:"Align Label on the Top",titleCN:"散点图标签顶部对齐",difficulty:4},{category:["scatter"],id:"scatter-label-align-top",ts:!0,tags:[],title:"Align Label on the Top",titleCN:"散点图标签顶部对齐",difficulty:4},{category:["scatter"],id:"scatter-symbol-morph",ts:!0,tags:[],title:"Symbol Shape Morph",titleCN:"散点图变形动画",difficulty:4},{category:["sunburst"],id:"sunburst-visualMap",ts:!0,tags:[],title:"Sunburst VisualMap",titleCN:"旭日图使用视觉编码",difficulty:4},{category:["treemap"],id:"treemap-sunburst-transition",ts:!0,tags:[],title:"Transition between Treemap and Sunburst",titleCN:"矩形树图和旭日图的动画过渡",difficulty:4},{category:["line"],id:"area-rainfall",ts:!0,tags:[],title:"Rainfall",titleCN:"雨量流量关系图",difficulty:5},{category:["line"],id:"area-time-axis",ts:!0,tags:[],title:"Area Chart with Time Axis",titleCN:"时间轴折线图",difficulty:5},{category:["bar"],id:"bar-animation-delay",ts:!0,tags:[],title:"Animation Delay",titleCN:"柱状图动画延迟",difficulty:5},{category:["bar"],id:"bar-drilldown",ts:!0,tags:[],title:"Bar Chart Drilldown Animation.",titleCN:"柱状图下钻动画",difficulty:5},{category:["bar"],id:"bar-large",ts:!0,tags:[],title:"Large Scale Bar Chart",titleCN:"大数据量柱图",difficulty:5},{category:["bar"],id:"bar-race",ts:!0,tags:[],title:"Bar Race",titleCN:"动态排序柱状图",difficulty:5},{category:["dataset","line","pie"],id:"dataset-link",ts:!0,tags:[],title:"Share Dataset",titleCN:"联动和共享数据集",difficulty:5},{category:["dataset","bar"],id:"dataset-series-layout-by",ts:!0,tags:[],title:"Series Layout By Column or Row",titleCN:"系列按行和按列排布",difficulty:5},{category:["dataset","bar"],id:"dataset-simple0",ts:!0,tags:[],title:"Simple Example of Dataset",titleCN:"最简单的数据集（dataset）",difficulty:5},{category:["dataset","bar"],id:"dataset-simple1",ts:!0,tags:[],title:"Dataset in Object Array",titleCN:"对象数组的输入格式",difficulty:5},{category:["line"],id:"dynamic-data2",ts:!0,tags:[],title:"Dynamic Data + Time Axis",titleCN:"动态数据 + 时间坐标轴",difficulty:5},{category:["gauge"],id:"gauge-ring",ts:!0,tags:[],title:"Ring Gauge",titleCN:"得分环",difficulty:5},{category:["graph"],id:"graph-circular-layout",ts:!0,tags:[],title:"Les Miserables",titleCN:"悲惨世界人物关系图(环形布局)",difficulty:5},{category:["graphic"],id:"graphic-stroke-animation",ts:!0,tags:[],title:"Stroke Animation",titleCN:"关键帧描边动画",difficulty:5},{category:["line"],id:"line-function",ts:!0,tags:[],title:"Function Plot",titleCN:"函数绘图",difficulty:5},{category:["line"],id:"line-race",ts:!0,tags:[],title:"Line Race",titleCN:"动态排序折线图",difficulty:5},{category:["pie","rich"],id:"pie-nest",ts:!0,tags:[],title:"Nested Pies",titleCN:"嵌套环形图",difficulty:5},{category:["scatter"],id:"scatter-large",ts:!0,tags:[],title:"Large Scatter",titleCN:"大规模散点图",difficulty:5},{category:["scatter"],id:"scatter-nebula",ts:!0,tags:[],title:"Scatter Nebula",titleCN:"大规模星云散点图",difficulty:5},{category:["scatter"],id:"scatter-stream-visual",ts:!0,tags:[],title:"Visual interaction with stream",titleCN:"流式渲染和视觉映射操作",difficulty:5},{category:["sunburst"],id:"sunburst-drink",ts:!0,tags:[],title:"Drink Flavors",titleCN:"Drink Flavors",difficulty:5},{category:["custom","dataZoom"],id:"wind-barb",ts:!0,tags:[],title:"Wind Barb",titleCN:"风向图",difficulty:5},{category:["bar"],id:"bar-race-country",ts:!0,tags:[],title:"Bar Race",titleCN:"动态排序柱状图 - 人均收入",difficulty:6},{category:["bar","rich"],id:"bar-rich-text",ts:!0,tags:[],title:"Wheater Statistics",titleCN:"天气统计（富文本）",difficulty:6},{category:["scatter"],id:"bubble-gradient",ts:!0,tags:[],title:"Bubble Chart",titleCN:"气泡图",difficulty:6},{category:["calendar","pie"],id:"calendar-pie",ts:!0,tags:[],title:"Calendar Pie",titleCN:"日历饼图",difficulty:6},{category:["custom","map"],id:"custom-hexbin",ts:!1,tags:[],title:"Hexagonal Binning",titleCN:"六边形分箱图（自定义系列）",difficulty:6},{category:["bar"],id:"dynamic-data",ts:!0,tags:[],title:"Dynamic Data",titleCN:"动态数据",difficulty:6},{category:["gauge"],id:"gauge-barometer",ts:!0,tags:[],title:"Gauge Barometer chart",titleCN:"气压表",difficulty:6},{category:["graph"],id:"graph-force-dynamic",ts:!0,tags:[],title:"Graph Dynamic",titleCN:"动态增加图节点",difficulty:6},{category:["graphic"],id:"graphic-loading",ts:!0,tags:[],title:"Customized Loading Animation",titleCN:"加载动画",difficulty:6},{category:["line"],id:"line-markline",ts:!0,tags:[],title:"Line with Marklines",titleCN:"折线图的标记线",difficulty:6},{category:["line"],id:"line-style",ts:!0,tags:[],title:"Line Style and Item Style",titleCN:"自定义折线图样式",difficulty:6},{category:["bar"],id:"mix-timeline-finance",ts:!1,tags:[],title:"Finance Indices 2002",titleCN:"2002全国宏观经济指标",difficulty:6},{category:["sunburst"],id:"sunburst-book",ts:!1,tags:[],title:"Book Records",titleCN:"书籍分布",difficulty:6},{category:["bar"],id:"watermark",ts:!0,tags:[],title:"Watermark - ECharts Download",titleCN:"水印 - ECharts 下载统计",difficulty:6},{category:["bar"],id:"bar-polar-real-estate",ts:!0,tags:[],title:"Bar Chart on Polar",difficulty:7},{category:["bar"],id:"bar-polar-stack",ts:!0,tags:[],title:"Stacked Bar Chart on Polar",titleCN:"极坐标系下的堆叠柱状图",difficulty:7},{category:["bar"],id:"bar-polar-stack-radial",ts:!0,tags:[],title:"Stacked Bar Chart on Polar(Radial)",titleCN:"极坐标系下的堆叠柱状图",difficulty:7},{category:["custom","calendar"],id:"custom-calendar-icon",ts:!0,tags:[],title:"Custom Calendar Icon",titleCN:"日历图自定义图标",difficulty:7},{category:["custom"],id:"custom-wind",ts:!0,tags:[],title:"Use custom series to draw wind vectors",titleCN:"使用自定义系列绘制风场",difficulty:7},{category:["gauge"],id:"gauge-clock",ts:!0,tags:[],title:"Clock",titleCN:"时钟仪表盘",difficulty:7},{category:["graph"],id:"graph-life-expectancy",ts:!0,tags:[],title:"Graph Life Expectancy",titleCN:"Graph Life Expectancy",difficulty:7},{category:["line"],id:"line-in-cartesian-coordinate-system",ts:!0,tags:[],title:"Line Chart in Cartesian Coordinate System",titleCN:"双数值轴折线图",difficulty:7},{category:["line"],id:"line-log",ts:!0,tags:[],title:"Log Axis",titleCN:"对数轴示例",difficulty:7},{category:["line"],id:"line-step",ts:!0,tags:[],title:"Step Line",titleCN:"阶梯折线图",difficulty:7},{category:["bar"],id:"polar-roundCap",ts:!0,tags:[],title:"Rounded Bar on Polar",titleCN:"圆角环形图",difficulty:7},{category:["scatter"],id:"scatter-aqi-color",ts:!0,tags:[],title:"Scatter Aqi Color",titleCN:"AQI 气泡图",difficulty:7},{category:["scatter"],id:"scatter-nutrients",ts:!0,tags:[],title:"Scatter Nutrients",titleCN:"营养分布散点图",difficulty:7},{category:["scatter"],id:"scatter-nutrients-matrix",ts:!0,tags:[],title:"Scatter Nutrients Matrix",titleCN:"营养分布散点矩阵",difficulty:7},{category:["gauge"],id:"gauge-car",ts:!0,tags:[],title:"Gauge Car",titleCN:"Gauge Car",difficulty:8},{category:["graph"],id:"graph-webkit-dep",ts:!0,tags:[],title:"Graph Webkit Dep",titleCN:"WebKit 模块关系依赖图",difficulty:8},{category:["line"],id:"line-easing",ts:!0,tags:[],title:"Line Easing Visualizing",titleCN:"缓动函数可视化",difficulty:8},{category:["line"],id:"line-y-category",ts:!0,tags:[],title:"Line Y Category",titleCN:"垂直折线图（Y轴为类目轴）",difficulty:8},{category:["scatter"],id:"scatter-polar-punchCard",ts:!0,tags:[],title:"Punch Card of Github",titleCN:"GitHub 打卡气泡图（极坐标）",difficulty:8},{category:["custom"],id:"custom-gauge",ts:!1,tags:[],title:"Custom Gauge",titleCN:"自定义仪表",difficulty:9},{category:["graph"],id:"graph-npm",ts:!0,tags:[],title:"NPM Dependencies",titleCN:"NPM 依赖关系图",difficulty:9},{category:["line","graphic"],id:"line-graphic",ts:!0,tags:[],title:"Custom Graphic Component",titleCN:"自定义图形组件",difficulty:9},{category:["line"],id:"line-pen",ts:!0,tags:[],title:"Click to Add Points",titleCN:"点击添加折线图拐点",difficulty:9},{category:["scatter"],id:"scatter-life-expectancy-timeline",ts:!1,tags:[],title:"Life Expectancy and GDP",titleCN:"各国人均寿命与GDP关系演变",difficulty:9},{category:["scatter"],id:"scatter-painter-choice",ts:!0,tags:[],title:"Master Painter Color Choices Throughout History",titleCN:"Master Painter Color Choices Throughout History",difficulty:9},{category:["boxplot"],id:"boxplot-light-velocity",ts:!0,tags:[],title:"Boxplot Light Velocity",titleCN:"基础盒须图",difficulty:10},{category:["boxplot"],id:"boxplot-light-velocity2",ts:!0,tags:[],title:"Boxplot Light Velocity2",titleCN:"垂直方向盒须图",difficulty:10},{category:["boxplot"],id:"boxplot-multi",ts:!0,tags:[],title:"Multiple Categories",titleCN:"多系列盒须图",difficulty:10},{category:[],id:"calendar-effectscatter",ts:!0,tags:[],difficulty:10},{category:["candlestick"],id:"candlestick-brush",ts:!0,tags:[],title:"Candlestick Brush",titleCN:"K 线图刷选",difficulty:10},{category:["candlestick"],id:"candlestick-sh-2015",ts:!0,tags:[],title:"ShangHai Index, 2015",titleCN:"2015 年上证指数",difficulty:10},{category:["scatter","map"],id:"effectScatter-bmap",ts:!0,tags:["bmap"],title:"Air Quality - Baidu Map",titleCN:"全国主要城市空气质量 - 百度地图",difficulty:10},{category:["funnel"],id:"funnel",ts:!0,tags:[],title:"Funnel Chart",titleCN:"漏斗图",difficulty:10},{category:["funnel"],id:"funnel-align",ts:!0,tags:[],title:"Funnel Compare",titleCN:"漏斗图(对比)",difficulty:10},{category:["funnel"],id:"funnel-customize",ts:!0,tags:[],title:"Customized Funnel",titleCN:"漏斗图",difficulty:10},{category:["funnel"],id:"funnel-mutiple",ts:!0,tags:[],title:"Multiple Funnels",titleCN:"Funnel",difficulty:10},{category:["map"],id:"geo-beef-cuts",ts:!0,tags:[],title:"GEO Beef Cuts",titleCN:"庖丁解牛",difficulty:10},{category:["map"],id:"geo-lines",ts:!1,tags:[],title:"Migration",titleCN:"模拟迁徙",difficulty:10},{category:["map"],id:"geo-map-scatter",ts:!1,tags:[],title:"map and scatter share a geo",titleCN:"map and scatter share a geo",difficulty:10},{category:["map"],id:"geo-organ",ts:!1,tags:[],title:"Organ Data with SVG",titleCN:"内脏数据（SVG）",difficulty:10},{category:["map"],id:"geo-seatmap-flight",ts:!0,tags:[],title:"Flight Seatmap with SVG",titleCN:"航班选座（SVG）",difficulty:10},{category:["custom"],id:"geo-svg-custom-effect",ts:!0,tags:[],title:"GEO SVG with Customized Effect",titleCN:"自定义特效",difficulty:10},{category:["map"],id:"geo-svg-lines",ts:!0,tags:[],title:"GEO SVG Lines",titleCN:"GEO 路径图（SVG）",difficulty:10},{category:["map"],id:"geo-svg-map",ts:!0,tags:[],title:"GEO SVG Map",titleCN:"地图（SVG）",difficulty:10},{category:["map"],id:"geo-svg-scatter-simple",ts:!0,tags:[],title:"GEO SVG Scatter",titleCN:"散点图（SVG）",difficulty:10},{category:["map"],id:"geo-svg-traffic",ts:!0,tags:[],title:"GEO SVG Traffic",titleCN:"交通（SVG）",difficulty:10},{category:["graphic"],id:"graphic-wave-animation",ts:!1,tags:[],title:"Wave Animation",titleCN:null,difficulty:10},{category:["line"],id:"line-polar",ts:!0,tags:[],title:"Two Value-Axes in Polar",titleCN:"极坐标双数值轴",difficulty:10},{category:["line"],id:"line-polar2",ts:!0,tags:[],title:"Two Value-Axes in Polar",titleCN:"极坐标双数值轴",difficulty:10},{category:["line","dataZoom"],id:"line-tooltip-touch",ts:!0,tags:[],title:"Tooltip and DataZoom on Mobile",titleCN:"移动端上的 dataZoom 和 tooltip",difficulty:10},{category:["map","lines"],id:"lines-airline",ts:!0,tags:[],title:"65k+ Airline",titleCN:"65k+ 飞机航线",difficulty:10},{category:["map","lines"],id:"lines-bmap",ts:!0,tags:["bmap"],title:"A Hiking Trail in Hangzhou - Baidu Map",titleCN:"杭州热门步行路线 - 百度地图",difficulty:10},{category:["map","lines"],id:"lines-bmap-bus",ts:!0,tags:["bmap"],title:"Bus Lines of Beijing - Baidu Map",titleCN:"北京公交路线 - 百度地图",difficulty:10},{category:["map","lines"],id:"lines-bmap-effect",ts:!0,tags:["bmap"],title:"Bus Lines of Beijing - Line Effect",titleCN:"北京公交路线 - 线特效",difficulty:10},{category:["map","lines"],id:"lines-ny",ts:!0,tags:[],title:"Use lines to draw 1 million ny streets.",titleCN:"使用线图绘制近 100 万的纽约街道数据",difficulty:10},{category:["map","animation"],id:"map-bar-morph",ts:!0,tags:[],title:"Morphing between Map and Bar",titleCN:"地图柱状图变形动画",difficulty:10},{category:["map"],id:"map-bin",ts:!1,tags:["bmap"],title:"Binning on Map",titleCN:"Binning on Map",difficulty:10},{category:["map"],id:"map-HK",ts:!0,tags:[],title:"Population Density of HongKong (2011)",titleCN:"香港18区人口密度 （2011）",difficulty:10},{category:["map"],id:"map-polygon",ts:!1,tags:["bmap"],title:"Draw Polygon on Map",titleCN:"在地图上绘制多边形",difficulty:10},{category:["map"],id:"map-usa",ts:!0,tags:[],title:"USA Population Estimates (2012)",titleCN:"2012 年美国人口统计",difficulty:10},{category:["map","pie"],id:"map-usa-pie",ts:!0,tags:[],title:"Pie Charts on GEO Map",titleCN:"在地图上显示饼图",difficulty:10},{category:["map"],id:"map-usa-projection",ts:!0,tags:[],title:"USA Choropleth Map with Projection",titleCN:"自定义地图投影",difficulty:10},{category:["pictorialBar"],id:"pictorialBar-body-fill",ts:!0,tags:[],title:"Water Content",titleCN:"人体含水量",difficulty:10},{category:["pictorialBar"],id:"pictorialBar-dotted",ts:!0,tags:[],title:"Dotted bar",titleCN:"虚线柱状图效果",difficulty:10},{category:["pictorialBar"],id:"pictorialBar-forest",ts:!0,tags:[],title:"Expansion of forest",titleCN:"森林的增长",difficulty:10},{category:["pictorialBar"],id:"pictorialBar-hill",ts:!0,tags:[],title:"Wish List and Mountain Height",titleCN:"圣诞愿望清单和山峰高度",difficulty:10},{category:["pictorialBar"],id:"pictorialBar-spirit",ts:!0,tags:[],title:"Spirits",titleCN:"精灵",difficulty:10},{category:["pictorialBar"],id:"pictorialBar-vehicle",ts:!0,tags:[],title:"Vehicles",titleCN:"交通工具",difficulty:10},{category:["pictorialBar"],id:"pictorialBar-velocity",ts:!0,tags:[],title:"Velocity of Christmas Reindeers",titleCN:"驯鹿的速度",difficulty:10},{category:["custom","animtion"],id:"pie-parliament-transition",ts:!0,tags:[],title:"Transition of Parliament and Pie Chart",titleCN:"自定义议会图与饼图过渡动画",difficulty:10},{category:["radar"],id:"radar-multiple",ts:!0,tags:[],title:"Multiple Radar",titleCN:"多雷达图",difficulty:10},{category:["scatter"],id:"scatter-map",ts:!1,tags:[],title:"Air Quality",titleCN:"全国主要城市空气质量",difficulty:10},{category:["scatter"],id:"scatter-map-brush",ts:!0,tags:[],title:"Scatter Map Brush",titleCN:"Scatter Map Brush",difficulty:10},{category:["parallel","scatter"],id:"scatter-matrix",ts:!0,tags:[],title:"Scatter Matrix",titleCN:"散点矩阵和平行坐标",difficulty:10},{category:["scatter"],id:"scatter-weibo",ts:!0,tags:[],title:"Sign in of weibo",titleCN:"微博签到数据点亮中国",difficulty:10},{category:["scatter"],id:"scatter-world-population",ts:!1,tags:[],title:"World Population (2011)",titleCN:"World Population (2011)",difficulty:10},{category:["themeRiver"],id:"themeRiver-basic",ts:!0,tags:[],title:"ThemeRiver",titleCN:"主题河流图",difficulty:10},{category:["themeRiver"],id:"themeRiver-lastfm",ts:!0,tags:[],title:"ThemeRiver Lastfm",titleCN:"ThemeRiver Lastfm",difficulty:10},{category:["tree"],id:"tree-basic",ts:!0,tags:[],title:"From Left to Right Tree",titleCN:"从左到右树状图",difficulty:10},{category:["tree"],id:"tree-legend",ts:!0,tags:[],title:"Multiple Trees",titleCN:"多棵树",difficulty:10},{category:["tree"],id:"tree-orient-bottom-top",ts:!0,tags:[],title:"From Bottom to Top Tree",titleCN:"从下到上树状图",difficulty:10},{category:["tree"],id:"tree-orient-right-left",ts:!0,tags:[],title:"From Right to Left Tree",titleCN:"从右到左树状图",difficulty:10},{category:["tree"],id:"tree-polyline",ts:!0,tags:[],title:"Tree with Polyline Edge",titleCN:"折线树图",difficulty:10},{category:["tree"],id:"tree-radial",ts:!0,tags:[],title:"Radial Tree",titleCN:"径向树状图",difficulty:10},{category:["tree"],id:"tree-vertical",ts:!0,tags:[],title:"From Top to Bottom Tree",titleCN:"从上到下树状图",difficulty:10},{category:["treemap"],id:"treemap-disk",ts:!0,tags:[],title:"Disk Usage",titleCN:"磁盘占用",difficulty:10},{category:["treemap"],id:"treemap-drill-down",ts:!0,tags:[],title:"ECharts Option Query",titleCN:"ECharts 配置项查询分布",difficulty:10},{category:["treemap"],id:"treemap-obama",ts:!0,tags:[],title:"How $3.7 Trillion is Spent",titleCN:"How $3.7 Trillion is Spent",difficulty:10},{category:["treemap"],id:"treemap-show-parent",ts:!0,tags:[],title:"Show Parent Labels",titleCN:"显示父层级标签",difficulty:10},{category:["treemap"],id:"treemap-simple",ts:!0,tags:[],title:"Basic Treemap",titleCN:"基础矩形树图",difficulty:10},{category:["treemap"],id:"treemap-visual",ts:!0,tags:[],title:"Gradient Mapping",titleCN:"映射为渐变色",difficulty:10},{category:["calendar","scatter"],id:"calendar-charts",ts:!0,tags:[],title:"Calendar Charts",titleCN:"日历图",difficulty:11},{category:["custom"],id:"circle-packing-with-d3",ts:!1,tags:[],title:"Circle Packing with d3",titleCN:"Circle Packing with d3",difficulty:11},{category:["custom"],id:"custom-spiral-race",ts:!1,tags:[],title:"Custom Spiral Race",titleCN:"自定义螺旋线竞速",difficulty:11},{category:["line","graphic"],id:"line-draggable",ts:!0,tags:[],title:"Draggable Points",titleCN:"可拖拽点",difficulty:12},{category:["scatter"],id:"scatter-logarithmic-regression",ts:!0,tags:[],title:"Logarithmic Regression",titleCN:"对数回归（使用统计插件）",difficulty:16}],le=[{category:["globe"],id:"animating-contour-on-globe",ts:!1,tags:[],title:"Animating Contour on Globe",titleCN:"Animating Contour on Globe",difficulty:10},{category:["bar3D"],id:"bar3d-dataset",ts:!1,tags:[],title:"3D Bar with Dataset",titleCN:"使用 dataset 为三维柱状图设置数据",difficulty:10},{category:["bar3D"],id:"bar3d-global-population",ts:!1,tags:[],title:"Bar3D - Global Population",titleCN:"Bar3D - Global Population",difficulty:10},{category:["bar3D"],id:"bar3d-myth",ts:!1,tags:[],title:"星云",titleCN:"星云",difficulty:10},{category:["bar3D"],id:"bar3d-noise-modified-from-marpi-demo",ts:!1,tags:[],title:"Noise modified from marpi's demo",titleCN:"Noise modified from marpi's demo",difficulty:10},{category:["bar3D"],id:"bar3d-punch-card",ts:!1,tags:[],title:"Bar3D - Punch Card",titleCN:"Bar3D - Punch Card",difficulty:10},{category:["bar3D"],id:"bar3d-simplex-noise",ts:!1,tags:[],theme:"dark",title:"Bar3D - Simplex Noise",titleCN:"Bar3D - Simplex Noise",difficulty:10},{category:["bar3D"],id:"bar3d-voxelize-image",ts:!1,tags:[],title:"Voxelize image",titleCN:"Voxelize image",difficulty:10},{category:["flowGL"],id:"flowGL-noise",ts:!1,tags:[],theme:"dark",title:"Flow on the cartesian",titleCN:"直角坐标系上的向量场",difficulty:10},{category:["geo3D"],id:"geo3d",ts:!1,tags:[],title:"Geo3D",titleCN:"Geo3D",difficulty:10},{category:["geo3D"],id:"geo3d-with-different-height",ts:!1,tags:[],title:"Geo3D with Different Height",titleCN:"Geo3D with Different Height",difficulty:10},{category:["bar3D"],id:"global-population-bar3d-on-globe",ts:!1,tags:[],title:"Global Population - Bar3D on Globe",titleCN:"Global Population - Bar3D on Globe",difficulty:10},{category:["flowGL"],id:"global-wind-visualization",ts:!1,tags:["bmap"],title:"Global wind visualization",titleCN:"Global wind visualization",difficulty:10},{category:["flowGL"],id:"global-wind-visualization-2",ts:!1,tags:["bmap"],title:"Global Wind Visualization 2",titleCN:"Global Wind Visualization 2",difficulty:10},{category:["globe"],id:"globe-atmosphere",ts:!1,tags:[],title:"Globe with Atmosphere",titleCN:"大气层显示",difficulty:10},{category:["globe"],id:"globe-contour-paint",ts:!1,tags:[],title:"Contour Paint",titleCN:"Contour Paint",difficulty:10},{category:["globe"],id:"globe-country-carousel",ts:!1,tags:[],title:"Country Carousel",titleCN:"Country Carousel",difficulty:10},{category:["globe"],id:"globe-displacement",ts:!1,tags:[],title:"Globe Displacement",titleCN:"Globe Displacement",difficulty:10},{category:["globe"],id:"globe-echarts-gl-hello-world",ts:!1,tags:[],title:"ECharts-GL Hello World",titleCN:"ECharts-GL Hello World",difficulty:10},{category:["globe"],id:"globe-layers",ts:!1,tags:[],title:"Globe Layers",titleCN:"Globe Layers",difficulty:10},{category:["globe"],id:"globe-moon",ts:!1,tags:[],title:"Moon",titleCN:"Moon",difficulty:10},{category:["globe"],id:"globe-with-echarts-surface",ts:!1,tags:[],title:"Globe with ECharts Surface",titleCN:"Globe with ECharts Surface",difficulty:10},{category:["graphGL"],id:"graphgl-gpu-layout",ts:!1,tags:[],theme:"dark",title:"GraphGL GPU Layout",titleCN:"GraphGL GPU Layout",difficulty:10},{category:["graphGL"],id:"graphgl-large-internet",ts:!1,tags:[],theme:"dark",title:"GraphGL - Large Internet",titleCN:"GraphGL - Large Internet",difficulty:10},{category:["graphGL"],id:"graphgl-npm-dep",ts:!1,tags:[],theme:"dark",title:"NPM Dependencies with graphGL",titleCN:"1w 节点 2w7 边的NPM 依赖图",difficulty:10},{category:["surface"],id:"image-surface-sushuang",ts:!1,tags:[],title:"Image Surface Sushuang",titleCN:"Image Surface Sushuang",difficulty:10},{category:["bar3D"],id:"image-to-bar3d",ts:!1,tags:[],title:"Image to Bar3D",titleCN:"Image to Bar3D",difficulty:10},{category:["globe"],id:"iron-globe",ts:!1,tags:[],title:"Iron globe",titleCN:"Iron globe",difficulty:10},{category:["line3D"],id:"line3d-orthographic",ts:!1,tags:[],title:"Orthographic Projection",titleCN:"三维折线图正交投影",difficulty:10},{category:["lines3D"],id:"lines3d-airline-on-globe",ts:!1,tags:[],title:"Airline on Globe",titleCN:"Airline on Globe",difficulty:10},{category:["lines3D"],id:"lines3d-flights",ts:!1,tags:[],title:"Flights",titleCN:"Flights",difficulty:10},{category:["lines3D"],id:"lines3d-flights-gl",ts:!1,tags:[],title:"Flights GL",titleCN:"Flights GL",difficulty:10},{category:["lines3D"],id:"lines3d-flights-on-geo3d",ts:!1,tags:[],title:"Flights on Geo3D",titleCN:"Flights on Geo3D",difficulty:10},{category:["linesGL"],id:"linesGL-ny",ts:!1,tags:[],title:"Use linesGL to draw 1 million ny streets.",titleCN:"实时交互的纽约街道可视化",difficulty:10},{category:["map3D"],id:"map3d-alcohol-consumption",ts:!1,tags:[],title:"Map3D - Alcohol Consumption",titleCN:"Map3D - Alcohol Consumption",difficulty:10},{category:["map3D"],id:"map3d-buildings",ts:!1,tags:[],title:"Buildings",titleCN:"Buildings",difficulty:10},{category:["map3D"],id:"map3d-wood-city",ts:!1,tags:[],title:"Wood City",titleCN:"Wood City",difficulty:10},{category:["map3D"],id:"map3d-wood-map",ts:!1,tags:[],title:"木质世界地图",titleCN:"木质世界地图",difficulty:10},{category:["bar3D"],id:"metal-bar3d",ts:!1,tags:[],title:"Metal Bar3D",titleCN:"Metal Bar3D",difficulty:10},{category:["surface"],id:"metal-surface",ts:!1,tags:[],title:"Metal Surface",titleCN:"Metal Surface",difficulty:10},{category:["surface"],id:"parametric-surface-rose",ts:!1,tags:[],title:"Parametric Surface Rose",titleCN:"Parametric Surface Rose",difficulty:10},{category:["scatter3D"],id:"scatter3d",ts:!1,tags:[],theme:"dark",title:"Scatter3D",titleCN:"Scatter3D",difficulty:10},{category:["scatter3D"],id:"scatter3D-dataset",ts:!1,tags:[],title:"3D Scatter with Dataset",titleCN:"使用 dataset 为三维散点图设置数据",difficulty:10},{category:["scatter3D"],id:"scatter3d-globe-population",ts:!1,tags:[],title:"Scatter3D - Globe Population",titleCN:"Scatter3D - Globe Population",difficulty:10},{category:["scatter3D"],id:"scatter3d-orthographic",ts:!1,tags:[],theme:"dark",title:"三维散点图正交投影",titleCN:"三维散点图正交投影",difficulty:10},{category:["scatter3D"],id:"scatter3d-scatter",ts:!1,tags:[],title:"3D Scatter with Scatter Matrix",titleCN:"三维散点图和散点矩阵结合使用",difficulty:10},{category:["scatter3D"],id:"scatter3d-simplex-noise",ts:!1,tags:[],theme:"dark",title:"Scatter3D - Simplex Noise",titleCN:"Scatter3D - Simplex Noise",difficulty:10},{category:["scatterGL"],id:"scatterGL-gps",ts:!1,tags:[],title:"10 million Bulk GPS points",titleCN:"1 千万 GPS 点可视化",difficulty:10},{category:["scatterGL"],id:"scattergl-weibo",ts:!1,tags:[],theme:"dark",title:"微博签到数据点亮中国",titleCN:"微博签到数据点亮中国",difficulty:10},{category:["surface"],id:"simple-surface",ts:!1,tags:[],title:"Simple Surface",titleCN:"Simple Surface",difficulty:10},{category:["surface"],id:"sphere-parametric-surface",ts:!1,tags:[],title:"Sphere Parametric Surface",titleCN:"Sphere Parametric Surface",difficulty:10},{category:["bar3D"],id:"stacked-bar3d",ts:!1,tags:[],title:"Stacked Bar3D",titleCN:"Stacked Bar3D",difficulty:10},{category:["surface"],id:"surface-breather",ts:!1,tags:[],title:"Breather",titleCN:"Breather",difficulty:10},{category:["surface"],id:"surface-golden-rose",ts:!1,tags:[],title:"Golden Rose",titleCN:"Golden Rose",difficulty:10},{category:["surface"],id:"surface-leather",ts:!1,tags:[],title:"Leather Material",titleCN:"皮革材质",difficulty:10},{category:["surface"],id:"surface-mollusc-shell",ts:!1,tags:[],title:"Mollusc Shell",titleCN:"Mollusc Shell",difficulty:10},{category:["surface"],id:"surface-theme-roses",ts:!1,tags:[],title:"Theme Roses",titleCN:"Theme Roses",difficulty:10},{category:["surface"],id:"surface-wave",ts:!1,tags:[],title:"Surface Wave",titleCN:"Surface Wave",difficulty:10},{category:["bar3D"],id:"transparent-bar3d",ts:!1,tags:[],title:"Transparent Bar3D",titleCN:"Transparent Bar3D",difficulty:10}];let ce=e=>crypto.getRandomValues(new Uint8Array(e));var ue,de=((e,t=21)=>((e,t,n)=>{let r=(2<<Math.log(e.length-1)/Math.LN2)-1,i=-~(1.6*r*t/e.length);return(a=t)=>{let o="";for(;;){let t=n(i),s=i;for(;s--;)if(o+=e[t[s]&r]||"",o.length===a)return o}}})("1234567890abcdefghijklmnopqrstuvwxyz",t,ce))(0,10),pe={echartsVersion:ie.version||"5",cdnRoot:"",version:"",locale:"",darkMode:"dark"===ie.theme,enableDecal:"decal"in ie,renderer:(ue=ie.renderer&&ie.renderer.toLowerCase(),ue&&["canvas","svg"].includes(ue)?ue:"canvas"),typeCheck:fe()&&fe().ts&&"ts"===(ie.lang||"").toLowerCase(),useDirtyRect:"useDirtyRect"in ie,initialCode:"",runCode:"",sourceCode:"",isSharedCode:!1,runHash:"",isMobile:window.innerWidth<600,editorStatus:{type:"",message:""},randomSeed:ie.random||"echarts"};function he(e){return ie.c===e.id}function fe(){return se.concat(le).find(he)}var me="echarts-examples-code",ge="__CODE_CHANGED__";function ye(){var e=function(){try{return JSON.parse(Ae(localStorage.getItem(me)))}catch(e){return null}}();return e?(localStorage.removeItem(me),e.codeModified&&(pe.initialCode=ge),Promise.resolve(e.code)):new Promise((function(e,t){var n,r=ie.code;if(r)try{return r="base64"===ie.enc?(n=r,decodeURIComponent(escape(window.atob(n)))):Ae(r),pe.isSharedCode=!function(){try{return window.opener&&"https://echarts.apache.org"===window.opener.origin}catch(e){}}()&&!!r,window.opener=null,r?e(r):t("code was decompressed but got nothing")}catch(e){return console.error(e),t("failed to decompress code")}var i="gl"in ie?"gl/":"",a=pe.typeCheck?"ts":"js",o=ie.c||"line-simple";$.ajax("".concat(pe.cdnRoot,"/examples/").concat(a,"/").concat(i).concat(o,".").concat(a,"?_v_").concat(pe.version),{dataType:"text",success:function(t){e(t)},error:function(){t("failed to load example",o)}})}))}function Ce(e){return e.replace(/\/\*[\w\W]*?\*\//,"").trim().replace(/export\s+\{\s*\}\s*;?$/g,"")}var ve=123,be=n(6961),xe={};function we(e){return Promise.all(e.map((function(e){if("string"==typeof e&&(e={url:e,type:e.match(/\.css$/)?"css":"js"}),xe[e.url])return xe[e.url];var t=new Promise((function(t,n){if("js"===e.type){var r=document.createElement("script");r.src=e.url,r.async=!1,r.onload=function(){t()},r.onerror=function(){n()},document.body.appendChild(r)}else if("css"===e.type){var i=document.createElement("link");i.rel="stylesheet",i.href=e.url,i.onload=function(){t()},i.onerror=function(){n()},document.body.appendChild(i)}}));return xe[e.url]=t,t})))}function Le(e){return("undefined"==typeof prettier||"undefined"==typeof prettierPlugins?we([oe.prettierDir+"/standalone.js",oe.prettierDir+(pe.typeCheck?"/parser-typescript.js":"/parser-babel.js")]):Promise.resolve()).then((function(){return prettier.format(e,{singleQuote:!0,tabWidth:2,printWidth:80,semi:!0,trailingComma:"none",parser:pe.typeCheck?"typescript":"babel",plugins:prettierPlugins})}))}function _e(e){if(e&&(e=e.trim()))return(0,be.compressToBase64)(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function Ae(e){if(e&&(e=e.trim()))return(0,be.decompressFromBase64)(e.replace(/\-/g,"+").replace(/_/g,"/"))}function Se(e,t,n,r,i,a,o,s){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),a&&(c._scopeId="data-v-"+a),o?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}var Ee=Se({props:["initialCode"],data:function(){return{shared:pe,loading:!1}},mounted:function(){var e=this;this.loading=!0,("undefined"==typeof ace?we([oe.aceDir+"/ace.js",oe.aceDir+"/ext-language_tools.js"]).then((function(){var e=ace.require("ace/ext/language_tools"),t=[];te.forEach((function(e){t.push({caption:e.name,value:e.name,score:e.count,metal:"local"})})),e.addCompleter({getCompletions:function(e,n,r,i,a){a(null,t)}})})):Promise.resolve()).then((function(){var t=ace.edit(e.$el);t.getSession().setMode("ace/mode/javascript"),t.setOptions({enableBasicAutocompletion:!0,enableSnippets:!0,tabSize:2,enableLiveAutocompletion:!0}),e._editor=t,t.on("change",(function(){pe.sourceCode=pe.runCode=t.getValue()})),e.initialCode&&e.setInitialCode(e.initialCode),e.loading=!1}))},methods:{setInitialCode:function(e){this._editor&&e&&(this._editor.setValue(e||""),this._editor.selection.setSelectionRange({start:{row:1,column:4},end:{row:1,column:4}}))}},watch:{initialCode:function(e){this.setInitialCode(e)}}},ee,[],!1,null,null,null);Ee.options.__file="src/editor/CodeAce.vue";const ke=Ee.exports;var Ne=function(){var e=this,t=e.$createElement;return(e._self._c||t)("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],staticClass:"monaco-editor-main"})};Ne._withStripped=!0;var Oe=Se({props:["initialCode"],data:function(){return{shared:pe,loading:!1}},mounted:function(){var e=this;this.loading=!0,("undefined"==typeof monaco?we([oe.monacoDir+"/loader.js",pe.cdnRoot+"/js/example-transform-ts-bundle.js"]).then((function(){return window.require.config({paths:{vs:oe.monacoDir}}),new Promise((function(e){window.require(["vs/editor/editor.main"],(function(){fetch(("local"in ie?oe.localEChartsDir:oe[pe.echartsVersion.indexOf("dev")>-1?"echartsNightlyDir":"echartsDir"].replace("{{version}}",pe.echartsVersion))+"/types/dist/echarts.d.ts",{mode:"cors"}).then((function(e){return e.text()})).then((function(e){var t=monaco.languages.typescript,n=t.typescriptDefaults;n.setDiagnosticsOptions({noSemanticValidation:!1,noSyntaxValidation:!1}),n.setCompilerOptions({target:t.ScriptTarget.ES6,allowNonTsExtensions:!0,noResolve:!1}),n.addExtraLib(e,"file:///node_modules/@types/echarts/echarts.d.ts"),n.addExtraLib("\nimport * as echarts from './echarts';\n// Export for UMD module.\nexport as namespace echarts\nexport = echarts;","file:///node_modules/@types/echarts/index.d.ts"),n.addExtraLib("import * as echarts from 'echarts';\n// Declare to global namespace.\ndeclare global {\n    const ROOT_PATH: string\n    const $: any\n    const app: {\n        configParameters: {\n            [key: string]: {\n                options: Record<string, string> | string[]\n            } | {\n                min?: number\n                max?: number\n            }\n        },\n        config: {\n            onChange: () => void\n            [key: string]: string | number | Function\n        },\n        onresize: () => void,\n        [key: string]: any\n    };\n\n    const ecStat: any;\n    const d3: any;\n    const myChart: echarts.ECharts\n    let option: echarts.EChartsOption\n\n    const echarts: typeof echarts\n}\n","file:///example.d.ts")})).then((function(){window.define.amd=null,e()}))}))}))})):Promise.resolve()).then((function(){var t=monaco.editor.createModel(e.initialCode||"","typescript",monaco.Uri.parse("file:///main.ts")),n=monaco.editor.create(e.$el,{model:t,fontFamily:"'Source Code Pro', 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace",minimap:{enabled:!1},wordWrap:"off",automaticLayout:!0});e._editor=n,e.initialCode&&(pe.sourceCode=e.initialCode,pe.runCode=echartsExampleTransformTs(pe.sourceCode)),n.onDidChangeModelContent((function(){pe.sourceCode=n.getValue(),pe.runCode=echartsExampleTransformTs(pe.sourceCode)})),e.loading=!1,e.$emit("ready")}))},destroyed:function(){this._editor&&(this._editor.getModel().dispose(),this._editor.dispose())},methods:{setInitialCode:function(e){this._editor&&e&&(this._editor.executeEdits("replace",[{identifier:"delete",range:new monaco.Range(1,1,1e4,1),text:"",forceMoveMarkers:!0}]),this._editor.executeEdits("replace",[{identifier:"insert",range:new monaco.Range(1,1,1,1),text:e,forceMoveMarkers:!0}]),this._editor.setSelection(new monaco.Range(0,0,0,0)))}},watch:{initialCode:function(e){this.setInitialCode(e)}}},Ne,[],!1,null,null,null);Oe.options.__file="src/editor/CodeMonaco.vue";const Te=Oe.exports;var Me=function(){var e=this,t=e.$createElement;return(e._self._c||t)("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],staticClass:"full-code-preview"})};Me._withStripped=!0;var De=Se({props:["code"],data:function(){return{shared:pe,loading:!1}},mounted:function(){var e=this;this.loading=!0,("undefined"==typeof ace?we([oe.aceDir+"/ace.js"]):Promise.resolve()).then((function(){e.loading=!1;var t=ace.edit(e.$el);t.getSession().setMode(pe.typeCheck?"ace/mode/typescript":"ace/mode/javascript"),t.setOptions({readOnly:!0,showLineNumbers:!1,showFoldWidgets:!1,highlightActiveLine:!1,highlightGutterLine:!1}),t.renderer.$cursorLayer.element.style.display="none",e._editor=t,e.setCode(e.code)}))},methods:{setCode:function(e){this._editor&&(this._editor.setValue(e),this._editor.selection.setSelectionRange({start:{row:1,column:4},end:{row:1,column:4}}))}},watch:{code:function(e){this.setCode(e)}}},Me,[],!1,null,null,null);De.options.__file="src/editor/FullCodePreview.vue";const Ie=De.exports;var Re=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:[e.inEditor&&!e.shared.isMobile?"":"full"]},[n("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"chartPanel",staticClass:"right-panel",style:{background:e.backgroundColor},attrs:{id:"chart-panel"}}),e._v(" "),n("div",{attrs:{id:"tool-panel"}},[n("div",{staticClass:"left-panel"},[n("el-switch",{staticClass:"dark-mode",attrs:{"active-color":"#181432","active-text":e.$t("editor.darkMode"),"inactive-text":""},model:{value:e.shared.darkMode,callback:function(t){e.$set(e.shared,"darkMode",t)},expression:"shared.darkMode"}}),e._v(" "),e.isGL?e._e():n("el-switch",{staticClass:"enable-decal",attrs:{"active-text":e.$t("editor.enableDecal"),"inactive-text":""},model:{value:e.shared.enableDecal,callback:function(t){e.$set(e.shared,"enableDecal",t)},expression:"shared.enableDecal"}}),e._v(" "),e.isGL||e.shared.isMobile&&e.hasRandomData?e._e():n("el-popover",{attrs:{placement:"bottom",trigger:"click"}},[n("div",{staticClass:"render-config-container"},[n("div",{staticClass:"cfg-renderer"},[n("label",{staticClass:"tool-label"},[e._v(e._s(e.$t("editor.renderer")))]),e._v(" "),n("el-radio-group",{staticStyle:{"text-transform":"uppercase"},attrs:{size:"mini"},model:{value:e.shared.renderer,callback:function(t){e.$set(e.shared,"renderer",t)},expression:"shared.renderer"}},[n("el-radio-button",{attrs:{label:"svg"}}),e._v(" "),n("el-radio-button",{attrs:{label:"canvas"}})],1)],1),e._v(" "),"canvas"===e.shared.renderer?n("el-switch",{attrs:{"active-text":e.$t("editor.useDirtyRect"),"inactive-text":""},model:{value:e.shared.useDirtyRect,callback:function(t){e.$set(e.shared,"useDirtyRect",t)},expression:"shared.useDirtyRect"}}):e._e()],1),e._v(" "),n("span",{staticClass:"render-config-trigger",attrs:{slot:"reference"},slot:"reference"},[n("el-button",{attrs:{size:"mini"}},[e._v("\n            "+e._s(e.$t("editor.renderCfgTitle"))),n("i",{staticClass:"el-icon-setting el-icon--right"})])],1)]),e._v(" "),e.hasRandomData?n("el-button",{staticClass:"random",attrs:{size:"mini"},on:{click:e.changeRandomSeed}},[e._v(e._s(e.$t("editor.randomData")))]):e._e(),e._v(" "),e.shared.echartsVersion&&!e.shared.isMobile?n("el-select",{staticClass:"version-select",class:{nightly:e.nightly},attrs:{size:"mini",id:"choose-echarts-version"},on:{change:e.changeVersion},model:{value:e.shared.echartsVersion,callback:function(t){e.$set(e.shared,"echartsVersion",t)},expression:"shared.echartsVersion"}},e._l(e.versionList,(function(t){return n("el-option",{key:t,attrs:{label:t,value:t}},[e._v("\n          "+e._s(t)+"\n        ")])})),1):e._e(),e._v(" "),e.inEditor&&!e.shared.isMobile?n("el-checkbox",{staticClass:"use-nightly",model:{value:e.nightly,callback:function(t){e.nightly=t},expression:"nightly"}},[e._v("Nightly")]):e._e()],1),e._v(" "),e.inEditor?e._e():n("a",{staticClass:"edit btn btn-sm",attrs:{href:e.editLink,target:"_blank"}},[e._v(e._s(e.$t("editor.edit")))])]),e._v(" "),n("div",{attrs:{id:"preview-status"}},[n("div",{staticClass:"left-buttons"},[e.inEditor&&!e.shared.isMobile?[n("el-button",{attrs:{icon:"el-icon-download",size:"mini",title:e.$t("editor.download")+" (HTML)"},on:{click:e.download}},[e._v("\n          "+e._s(e.$t("editor.download"))+"\n        ")]),e._v(" "),n("el-button",{attrs:{icon:"el-icon-camera-solid",size:"mini"},on:{click:e.screenshot}},[e._v("\n          "+e._s(e.$t("editor.screenshot"))+"\n        ")]),e._v(" "),n("el-button",{attrs:{icon:"el-icon-share",size:"mini",title:e.$t("editor.share.tooltip")},on:{click:e.share}},[e._v("\n          "+e._s(e.$t("editor.share.title"))+"\n        ")])]:e._e()],2),e._v(" "),e.inEditor&&!e.shared.isMobile&&e.shared.editorStatus.message?n("div",{attrs:{id:"run-log"}},[n("span",{staticClass:"run-log-time"},[e._v(e._s(e.shared.editorStatus.time))]),e._v(" "),n("span",{class:"run-log-type-"+e.shared.editorStatus.type},[e._v(e._s(e.shared.editorStatus.message))])]):e._e()])])};Re._withStripped=!0;var Pe=n(4533),$e=n.n(Pe),je=n(6796),Fe=n(2791),Be=n(8892),Ge=n(4734),Ue=n(4172);function Ve(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ze(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function He(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ze(e,t,n,r,i,a,o,s){t=(t&&t.slice()||[]).concat(function(e){return[je,Fe,["(()=>{",Be,Ge,"(".concat(Ue,")(").concat(e,")"),"})()"].join("")].map((function(e){return{content:e}}))}(n));var l,c=document.createElement("iframe"),u=["allow-pointer-lock","allow-scripts","allow-downloads","allow-same-origin"];function d(e){if(e.source===c.contentWindow){var t=e.data;switch(t.evt){case"optionUpdated":c.chartOption=JSON.parse(t.option),o(t.updateTime);break;case"codeError":a(t.message);break;case"cssParsed":s(t.css)}}}function p(e,t){c.contentWindow.postMessage(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ve(Object(n),!0).forEach((function(t){ze(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ve(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({action:e},t),"*")}return n||u.push("allow-popups","allow-popups-to-escape-sandbox","allow-modals"),c.setAttribute("sandbox",u.join(" ")),n&&(l={"default-src":["'self'","'unsafe-inline'","'unsafe-eval'","data:","blob:"].concat(["*.apache.org","*.jsdelivr.net","*.jsdelivr.com","*.unpkg.com","*.baidu.com","*.bdimg.com","*.bdstatic.com","apache.org","apache.github.io","jsdelivr.net","jsdelivr.com","unpkg.com","baidu.com","bdimg.com","bdstatic.com","cdnjs.cloudflare.com","cdn.bootcdn.net","lib.baomitu.com","unpkg.zhimg.com","npm.elemecdn.com"].map((function(e){return"https://"+e}))),"frame-src":["'none'"],"object-src":["'none'"],"navigate-to":["'none'"],"worker-src":["'none'"]},l=Object.entries(l).map((function(e){var t=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}}(e,t)||function(e,t){if(e){if("string"==typeof e)return He(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?He(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(e,2),n=t[0],r=t[1];return"".concat(n," ").concat(r.join(" "))})).join("; ")),l&&c.setAttribute("csp",l),c.srcdoc=$e().replace("__LANG__",document.documentElement.lang||"en").replace("__CSP__",l||"").replace("__SCRIPTS__",t.map((function(e){return e.content?"<script>".concat(e.content,"<\/script>"):'<script src="'.concat(e.src,'"><\/script>')})).join("")),c.style.cssText="width:100%;height:100%;border:none;background:none",c.onload=function(){if(c.__loaded__&&n){var e="potential redirection from the code was blocked";return console.error(e),a(e),void i()}c.__loaded__=!0,r()},c.onerror=i,e.appendChild(c),window.addEventListener("message",d,!1),{dispose:function(){p("dispose"),window.removeEventListener("message",d),e.removeChild(c)},run:function(e,t){p("run",{store:e,recreateInstance:t})},screenshot:function(e){p("screenshot",{filename:e})},getOption:function(){return c.chartOption}}}var We=n(3279),qe=n.n(We);function Qe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Xe(e,t){var n=new URL(location.href);return Object.entries(e).forEach((function(e){var t=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Qe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Qe(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(e,2),r=t[0],i=t[1];return null==i?n.searchParams.delete(r):n.searchParams.set(r,i)})),t?n:n.toString()}function Ke(e,t){t?history.pushState({},"",Xe(e)):location.href=Xe(e)}var Je=n(1249);function Ye(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function et(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ye(Object(n),!0).forEach((function(t){tt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ye(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function tt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function nt(e){return function(e){if(Array.isArray(e))return rt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return rt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rt(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var it=fe(),at="gl"in ie||le.find(he),ot="local"in ie,st="debug"in ie,lt=it&&it.tags.indexOf("bmap")>=0;function ct(e){return st||ot?e.replace(".min.","."):e}function ut(e,t){"warn"!==t&&"error"!==t&&(t="info");var n=new Date;pe.editorStatus.time=[n.getHours(),n.getMinutes(),n.getSeconds()].map((function(e){return(e+"").padStart(2,"0")})).join(":"),pe.editorStatus.message=e,pe.editorStatus.type=t}const dt={props:{inEditor:{type:Boolean}},data:function(){return{shared:pe,debouncedTime:void 0,backgroundColor:"",autoRun:!0,loading:!1,isGL:at,allEChartsVersions:[],nightlyVersions:[],nightly:!1}},mounted:function(){this.run(),this.fetchVersionList()},computed:{hasRandomData:function(){return this.shared.runCode&&this.shared.runCode.indexOf("Math.random()")>=0},editLink:function(){return"./editor.html"+this.getSharableURL(!0).search},versionList:function(){return this.nightly?this.nightlyVersions:this.allEChartsVersions},isNightlyVersion:function(){return pe.echartsVersion&&pe.echartsVersion.indexOf("dev")>-1},toolOptions:function(){var e="canvas"===pe.renderer;return{renderer:e?null:pe.renderer,useDirtyRect:pe.useDirtyRect&&e?1:null,decal:pe.enableDecal?1:null,theme:pe.darkMode?"dark":null}}},watch:{"shared.runCode":function(){!this.autoRun&&this.sandbox||(this.debouncedRun?this.debouncedRun():(this.run(),pe.isSharedCode&&this.showShareHint()))},toolOptions:{handler:"refresh",deep:!0},isNightlyVersion:{handler:function(e){this.nightly=e},immediate:!0}},methods:{run:function e(t){var n=this;if(pe.runCode){var r,i,a,o=function(){n.sandbox.run(pe,t),pe.runHash=ve++},s=(r=this.nightly,i=oe[ot?"localEChartsDir":r?"echartsNightlyDir":"echartsDir"].replace("{{version}}",pe.echartsVersion),a=pe.runCode,[i+ct(oe.echartsJS)].concat(nt(at?[ot?oe.localEChartsGLJS:ct(oe.echartsGLJS)]:[]),nt(lt||/coordinateSystem.*:.*['"]bmap['"]/g.test(a)?[oe.bmapLibJS,i+ct(oe.echartsBMapJS)]:[]),nt(a.indexOf("ecStat.")>-1?[ct(oe.echartsStatJS)]:[]),nt(/map.*:.*['"]world['"]/g.test(a)?[oe.echartsWorldMapJS]:[]),nt(a.indexOf("app.config")>-1?[oe.datGUIMinJS]:[])).map((function(e){return{src:e}}))),l=/\/echarts(?:\.min)?\.js/,c=!this.scripts||s.some((function(e){return!l.test(e.src)&&-1===n.scripts.findIndex((function(t){return t.src===e.src}))}));if(!this.sandbox||c){this.loading=!0;var u=!0;this.dispose(),this.sandbox=Ze(this.$refs.chartPanel,this.scripts=s,pe.isSharedCode,(function(){o(),n.loading=!1}),(function(){console.error("failed to run sandbox"),n.loading=!1,n.dispose()}),(function(e){var t=e&&e.indexOf("loop executes")>-1,r=e&&e.indexOf("potential redirection")>-1;ut(n.$t("editor.".concat(t?"infiniteLoopInEditor":r?"potentialRedirectionInEditor":"errorInEditor")),"error")}),(function(t){var r=n.getOption();"string"==typeof r.backgroundColor&&"transparent"!==r.backgroundColor?n.backgroundColor=r.backgroundColor:n.backgroundColor="#fff",ut(n.$t("editor.chartOK")+t.toFixed(2)+"ms");for(var i=[0,500,2e3,5e3,1e4],a=i.length-1;a>=0;a--){var o=i[a+1]||1e6;if(t>=i[a]&&n.debouncedTime!==o){n.debouncedRun=qe()(e,o,{trailing:!0}),n.debouncedTime=o;break}}u&&(n.$emit("ready"),u=!1)}),(function(e){n.css=e}))}else o()}},refresh:function(){this.run(!0)},refreshAll:function(){this.scripts=null,this.run(!0)},dispose:function(){this.sandbox&&(this.sandbox.dispose(),this.sandbox=null)},download:function(){var e,t,n,r,i,a,o,s=this.getSharableURL(!0),l=pe.isSharedCode||s.searchParams.has("code"),c=["\t".concat(this.$t("editor.downloadSourceTip")," ").concat(s.toString())];l&&c.push("\t⚠ "+this.$t("editor.share.hint")),e=c.join("\n"),t=pe.sourceCode.indexOf("ROOT_PATH")>-1?"var ROOT_PATH = '".concat(pe.cdnRoot,"';"):"",n=pe.locale&&pe.locale.indexOf("zh")>-1?"zh-CN":"en",r=/\$[\.\(]+/g.test(pe.sourceCode)?'<script type="text/javascript" src="https://fastly.jsdelivr.net/npm/jquery"><\/script>':"",i=oe[pe.echartsVersion.indexOf("dev")>-1?"echartsNightlyDir":"echartsDir"].replace("{{version}}",pe.echartsVersion),a=oe.echartsDir.replace("{{version}}","4.9.0"),o="\x3c!--\n".concat(e,'\n--\x3e\n<!DOCTYPE html>\n<html lang="').concat(n,'" style="height: 100%">\n<head>\n  <meta charset="utf-8">\n</head>\n<body style="height: 100%; margin: 0">\n  <div id="container" style="height: 100%"></div>\n\n  ').concat(r,'\n  <script type="text/javascript" src="').concat(i).concat(oe.echartsJS,'"><\/script>\n  \x3c!-- Uncomment this line if you want to dataTool extension\n  <script type="text/javascript" src="').concat(i,'/dist/extension/dataTool.min.js"><\/script>\n  --\x3e\n  \x3c!-- Uncomment this line if you want to use gl extension\n  <script type="text/javascript" src="').concat(oe.echartsGLJS,'"><\/script>\n  --\x3e\n  \x3c!-- Uncomment this line if you want to echarts-stat extension\n  <script type="text/javascript" src="').concat(oe.echartsStatJS,'"><\/script>\n  --\x3e\n  \x3c!-- Uncomment this line if you want to use map\n  <script type="text/javascript" src="').concat(a,'/map/js/china.js"><\/script>\n  <script type="text/javascript" src="').concat(a,'/map/js/world.js"><\/script>\n  --\x3e\n  \x3c!-- Uncomment these two lines if you want to use bmap extension\n  <script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=YOUR_API_KEY"><\/script>\n  <script type="text/javascript" src="').concat(i).concat(oe.echartsBMapJS,'"><\/script>\n  --\x3e\n\n  <script type="text/javascript">\n    var dom = document.getElementById(\'container\');\n    var myChart = echarts.init(dom, ').concat(pe.darkMode?"'dark'":"null",", {\n      renderer: '").concat(pe.renderer,"',\n      useDirtyRect: ").concat(pe.useDirtyRect,"\n    });\n    var app = {};\n    ").concat(t,"\n    var option;\n\n    ").concat(pe.sourceCode,"\n\n    if (option && typeof option === 'object') {\n      myChart.setOption(option);\n    }\n\n    window.addEventListener('resize', myChart.resize);\n  <\/script>\n</body>\n</html>"),function(e,t){if("function"==typeof window.navigator.msSaveBlob)window.navigator.msSaveOrOpenBlob(e,t);else{var n=document.createElement("a");n.href=URL.createObjectURL(e),n.download=t,n.click(),URL.revokeObjectURL(n.href)}}(new Blob([o],{type:"text/html;charset=UTF-8",encoding:"UTF-8"}),(ie.c||Date.now())+".html")},screenshot:function(){this.sandbox&&this.sandbox.screenshot((ie.c||Date.now())+"."+("svg"===pe.renderer?"svg":"png"))},showShareHint:function(){this.$message.closeAll(),this.$message({type:"warning",message:this.$t("editor.share.hint"),customClass:"toast-shared-url",duration:8e3,showClose:!0})},getSharableURL:function(e){var t={};return pe.initialCode!==pe.sourceCode&&(t.code=_e(pe.sourceCode),t.enc=null),Xe(et(et({},this.toolOptions),t),e)},share:function(){var e=this,t=this.getSharableURL();navigator.clipboard.writeText(t).then((function(){e.$message.closeAll(),e.$message({type:"success",message:e.$t("editor.share.success"),customClass:"toast-shared-url"})})).catch((function(e){console.error("failed to write share url to the clipboard",e),window.open(t,"_blank")}))},getOption:function(){return this.sandbox&&this.sandbox.getOption()},changeVersion:function(){var e=this;localStorage.setItem(me,_e(JSON.stringify({code:pe.sourceCode,codeModified:pe.initialCode!==pe.sourceCode,lang:pe.typeCheck?"ts":"js"}))),setTimeout((function(){window.__EDITOR_NO_LEAVE_CONFIRMATION__=!0,Ke(et({version:pe.echartsVersion},e.toolOptions))}))},changeRandomSeed:function(){pe.randomSeed=de(),Ke({random:pe.randomSeed},!0),this.run()},fetchVersionList:function(){var e=this,t="zh"===pe.locale,n=t?"https://registry.npmmirror.com":"https://data.jsdelivr.com/v1/package/npm",r=function(e){t&&(e.versions=Object.keys(e.versions).sort(Je.rcompare),e.tags=e["dist-tags"])};$.getJSON("".concat(n,"/echarts")).done((function(t){r(t),st&&console.log("echarts version data",t);var n=t.versions.filter((function(e){return e.indexOf("beta")<0&&e.indexOf("rc")<0&&e.indexOf("alpha")<0&&e.startsWith("5")}));e.allEChartsVersions=n,pe.echartsVersion&&"5"!==pe.echartsVersion&&"latest"!==pe.echartsVersion||(pe.echartsVersion=n[0]),(0,Je.gt)(t.tags.rc.split("-")[0],t.tags.latest)&&(n.unshift(t.tags.rc),"rc"===pe.echartsVersion&&(pe.echartsVersion=n[0]))})),$.getJSON("".concat(n,"/echarts-nightly")).done((function(t){r(t),st&&console.log("echarts-nightly version data",t);var n=t.tags,i=n.latest,a=n.next,o=t.versions,s=o.indexOf(a),l=o.indexOf(i);e.nightlyVersions=o.slice(s,s+10).concat(o.slice(l,l+10))})),st&&console.log("echarts versions",this.allEChartsVersions,"nightly versions",this.nightlyVersions)},getAssets:function(){return{scripts:this.scripts,css:this.css}}}};var pt=Se(dt,Re,[],!1,null,null,null);pt.options.__file="src/editor/Preview.vue";const ht=pt.exports;var ft=n(4913);function mt(e,t){const n=Object.create(null),r=e.split(",");for(let e=0;e<r.length;e++)n[r[e]]=!0;return t?e=>!!n[e.toLowerCase()]:e=>!!n[e]}const gt=mt("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl"),yt=mt("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function Ct(e){if(Pt(e)){const t={};for(let n=0;n<e.length;n++){const r=e[n],i=Ct(Bt(r)?xt(r):r);if(i)for(const e in i)t[e]=i[e]}return t}if(Ut(e))return e}const vt=/;(?![^(]*\))/g,bt=/:(.+)/;function xt(e){const t={};return e.split(vt).forEach((e=>{if(e){const n=e.split(bt);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function wt(e){let t="";if(Bt(e))t=e;else if(Pt(e))for(let n=0;n<e.length;n++)t+=wt(e[n])+" ";else if(Ut(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Lt=e=>null==e?"":Ut(e)?JSON.stringify(e,_t,2):String(e),_t=(e,t)=>$t(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n])=>(e[`${t} =>`]=n,e)),{})}:jt(t)?{[`Set(${t.size})`]:[...t.values()]}:!Ut(t)||Pt(t)||Zt(t)?t:String(t),At={},St=[],Et=()=>{},kt=()=>!1,Nt=/^on[^a-z]/,Ot=e=>Nt.test(e),Tt=e=>e.startsWith("onUpdate:"),Mt=Object.assign,Dt=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},It=Object.prototype.hasOwnProperty,Rt=(e,t)=>It.call(e,t),Pt=Array.isArray,$t=e=>"[object Map]"===Ht(e),jt=e=>"[object Set]"===Ht(e),Ft=e=>"function"==typeof e,Bt=e=>"string"==typeof e,Gt=e=>"symbol"==typeof e,Ut=e=>null!==e&&"object"==typeof e,Vt=e=>Ut(e)&&Ft(e.then)&&Ft(e.catch),zt=Object.prototype.toString,Ht=e=>zt.call(e),Zt=e=>"[object Object]"===Ht(e),Wt=e=>Bt(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,qt=mt(",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Qt=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Xt=/-(\w)/g,Kt=Qt((e=>e.replace(Xt,((e,t)=>t?t.toUpperCase():"")))),Jt=/\B([A-Z])/g,Yt=Qt((e=>e.replace(Jt,"-$1").toLowerCase())),en=Qt((e=>e.charAt(0).toUpperCase()+e.slice(1))),tn=Qt((e=>e?`on${en(e)}`:"")),nn=(e,t)=>e!==t&&(e==e||t==t),rn=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},an=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},on=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let sn;const ln=()=>sn||(sn="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==n.g?n.g:{}),cn=new WeakMap,un=[];let dn;const pn=Symbol(""),hn=Symbol("");function fn(e,t=At){(function(e){return e&&!0===e._isEffect})(e)&&(e=e.raw);const n=function(e,t){const n=function(){if(!n.active)return t.scheduler?void 0:e();if(!un.includes(n)){yn(n);try{return vn.push(Cn),Cn=!0,un.push(n),dn=n,e()}finally{un.pop(),xn(),dn=un[un.length-1]}}};return n.id=gn++,n.allowRecurse=!!t.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=e,n.deps=[],n.options=t,n}(e,t);return t.lazy||n(),n}function mn(e){e.active&&(yn(e),e.options.onStop&&e.options.onStop(),e.active=!1)}let gn=0;function yn(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}let Cn=!0;const vn=[];function bn(){vn.push(Cn),Cn=!1}function xn(){const e=vn.pop();Cn=void 0===e||e}function wn(e,t,n){if(!Cn||void 0===dn)return;let r=cn.get(e);r||cn.set(e,r=new Map);let i=r.get(n);i||r.set(n,i=new Set),i.has(dn)||(i.add(dn),dn.deps.push(i))}function Ln(e,t,n,r,i,a){const o=cn.get(e);if(!o)return;const s=new Set,l=e=>{e&&e.forEach((e=>{(e!==dn||e.allowRecurse)&&s.add(e)}))};if("clear"===t)o.forEach(l);else if("length"===n&&Pt(e))o.forEach(((e,t)=>{("length"===t||t>=r)&&l(e)}));else switch(void 0!==n&&l(o.get(n)),t){case"add":Pt(e)?Wt(n)&&l(o.get("length")):(l(o.get(pn)),$t(e)&&l(o.get(hn)));break;case"delete":Pt(e)||(l(o.get(pn)),$t(e)&&l(o.get(hn)));break;case"set":$t(e)&&l(o.get(pn))}s.forEach((e=>{e.options.scheduler?e.options.scheduler(e):e()}))}const _n=new Set(Object.getOwnPropertyNames(Symbol).map((e=>Symbol[e])).filter(Gt)),An=On(),Sn=On(!1,!0),En=On(!0),kn=On(!0,!0),Nn={};function On(e=!1,t=!1){return function(n,r,i){if("__v_isReactive"===r)return!e;if("__v_isReadonly"===r)return e;if("__v_raw"===r&&i===(e?rr:nr).get(n))return n;const a=Pt(n);if(!e&&a&&Rt(Nn,r))return Reflect.get(Nn,r,i);const o=Reflect.get(n,r,i);return(Gt(r)?_n.has(r):"__proto__"===r||"__v_isRef"===r)?o:(e||wn(n,0,r),t?o:pr(o)?a&&Wt(r)?o:o.value:Ut(o)?e?ar(o):ir(o):o)}}function Tn(e=!1){return function(t,n,r,i){const a=t[n];if(!e&&(r=ur(r),!Pt(t)&&pr(a)&&!pr(r)))return a.value=r,!0;const o=Pt(t)&&Wt(n)?Number(n)<t.length:Rt(t,n),s=Reflect.set(t,n,r,i);return t===ur(i)&&(o?nn(r,a)&&Ln(t,"set",n,r):Ln(t,"add",n,r)),s}}["includes","indexOf","lastIndexOf"].forEach((e=>{const t=Array.prototype[e];Nn[e]=function(...e){const n=ur(this);for(let e=0,t=this.length;e<t;e++)wn(n,0,e+"");const r=t.apply(n,e);return-1===r||!1===r?t.apply(n,e.map(ur)):r}})),["push","pop","shift","unshift","splice"].forEach((e=>{const t=Array.prototype[e];Nn[e]=function(...e){bn();const n=t.apply(this,e);return xn(),n}}));const Mn={get:An,set:Tn(),deleteProperty:function(e,t){const n=Rt(e,t),r=(e[t],Reflect.deleteProperty(e,t));return r&&n&&Ln(e,"delete",t,void 0),r},has:function(e,t){const n=Reflect.has(e,t);return Gt(t)&&_n.has(t)||wn(e,0,t),n},ownKeys:function(e){return wn(e,0,Pt(e)?"length":pn),Reflect.ownKeys(e)}},Dn={get:En,set:(e,t)=>!0,deleteProperty:(e,t)=>!0},In=Mt({},Mn,{get:Sn,set:Tn(!0)}),Rn=(Mt({},Dn,{get:kn}),e=>Ut(e)?ir(e):e),Pn=e=>Ut(e)?ar(e):e,$n=e=>e,jn=e=>Reflect.getPrototypeOf(e);function Fn(e,t,n=!1,r=!1){const i=ur(e=e.__v_raw),a=ur(t);t!==a&&!n&&wn(i,0,t),!n&&wn(i,0,a);const{has:o}=jn(i),s=n?Pn:r?$n:Rn;return o.call(i,t)?s(e.get(t)):o.call(i,a)?s(e.get(a)):void 0}function Bn(e,t=!1){const n=this.__v_raw,r=ur(n),i=ur(e);return e!==i&&!t&&wn(r,0,e),!t&&wn(r,0,i),e===i?n.has(e):n.has(e)||n.has(i)}function Gn(e,t=!1){return e=e.__v_raw,!t&&wn(ur(e),0,pn),Reflect.get(e,"size",e)}function Un(e){e=ur(e);const t=ur(this),n=jn(t).has.call(t,e);return t.add(e),n||Ln(t,"add",e,e),this}function Vn(e,t){t=ur(t);const n=ur(this),{has:r,get:i}=jn(n);let a=r.call(n,e);a||(e=ur(e),a=r.call(n,e));const o=i.call(n,e);return n.set(e,t),a?nn(t,o)&&Ln(n,"set",e,t):Ln(n,"add",e,t),this}function zn(e){const t=ur(this),{has:n,get:r}=jn(t);let i=n.call(t,e);i||(e=ur(e),i=n.call(t,e)),r&&r.call(t,e);const a=t.delete(e);return i&&Ln(t,"delete",e,void 0),a}function Hn(){const e=ur(this),t=0!==e.size,n=e.clear();return t&&Ln(e,"clear",void 0,void 0),n}function Zn(e,t){return function(n,r){const i=this,a=i.__v_raw,o=ur(a),s=e?Pn:t?$n:Rn;return!e&&wn(o,0,pn),a.forEach(((e,t)=>n.call(r,s(e),s(t),i)))}}function Wn(e,t,n){return function(...r){const i=this.__v_raw,a=ur(i),o=$t(a),s="entries"===e||e===Symbol.iterator&&o,l="keys"===e&&o,c=i[e](...r),u=t?Pn:n?$n:Rn;return!t&&wn(a,0,l?hn:pn),{next(){const{value:e,done:t}=c.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function qn(e){return function(...t){return"delete"!==e&&this}}const Qn={get(e){return Fn(this,e)},get size(){return Gn(this)},has:Bn,add:Un,set:Vn,delete:zn,clear:Hn,forEach:Zn(!1,!1)},Xn={get(e){return Fn(this,e,!1,!0)},get size(){return Gn(this)},has:Bn,add:Un,set:Vn,delete:zn,clear:Hn,forEach:Zn(!1,!0)},Kn={get(e){return Fn(this,e,!0)},get size(){return Gn(this,!0)},has(e){return Bn.call(this,e,!0)},add:qn("add"),set:qn("set"),delete:qn("delete"),clear:qn("clear"),forEach:Zn(!0,!1)};function Jn(e,t){const n=t?Xn:e?Kn:Qn;return(t,r,i)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get(Rt(n,r)&&r in t?n:t,r,i)}["keys","values","entries",Symbol.iterator].forEach((e=>{Qn[e]=Wn(e,!1,!1),Kn[e]=Wn(e,!0,!1),Xn[e]=Wn(e,!1,!0)}));const Yn={get:Jn(!1,!1)},er={get:Jn(!1,!0)},tr={get:Jn(!0,!1)},nr=new WeakMap,rr=new WeakMap;function ir(e){return e&&e.__v_isReadonly?e:or(e,!1,Mn,Yn)}function ar(e){return or(e,!0,Dn,tr)}function or(e,t,n,r){if(!Ut(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const i=t?rr:nr,a=i.get(e);if(a)return a;const o=function(e){return e.__v_skip||!Object.isExtensible(e)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>Ht(e).slice(8,-1))(e))}(e);if(0===o)return e;const s=new Proxy(e,2===o?r:n);return i.set(e,s),s}function sr(e){return lr(e)?sr(e.__v_raw):!(!e||!e.__v_isReactive)}function lr(e){return!(!e||!e.__v_isReadonly)}function cr(e){return sr(e)||lr(e)}function ur(e){return e&&ur(e.__v_raw)||e}const dr=e=>Ut(e)?ir(e):e;function pr(e){return Boolean(e&&!0===e.__v_isRef)}function hr(e){return function(e,t=!1){return pr(e)?e:new fr(e,t)}(e)}class fr{constructor(e,t=!1){this._rawValue=e,this._shallow=t,this.__v_isRef=!0,this._value=t?e:dr(e)}get value(){return wn(ur(this),0,"value"),this._value}set value(e){nn(ur(e),this._rawValue)&&(this._rawValue=e,this._value=this._shallow?e:dr(e),Ln(ur(this),"set","value",e))}}const mr={get:(e,t,n)=>function(e){return pr(e)?e.value:e}(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const i=e[t];return pr(i)&&!pr(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function gr(e){return sr(e)?e:new Proxy(e,mr)}class yr{constructor(e,t){this._object=e,this._key=t,this.__v_isRef=!0}get value(){return this._object[this._key]}set value(e){this._object[this._key]=e}}class Cr{constructor(e,t,n){this._setter=t,this._dirty=!0,this.__v_isRef=!0,this.effect=fn(e,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,Ln(ur(this),"set","value"))}}),this.__v_isReadonly=n}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),wn(ur(this),0,"value"),this._value}set value(e){this._setter(e)}}function vr(e,t,n,r){let i;try{i=r?e(...r):e()}catch(e){xr(e,t,n)}return i}function br(e,t,n,r){if(Ft(e)){const i=vr(e,t,n,r);return i&&Vt(i)&&i.catch((e=>{xr(e,t,n)})),i}const i=[];for(let a=0;a<e.length;a++)i.push(br(e[a],t,n,r));return i}function xr(e,t,n,r=!0){if(t&&t.vnode,t){let r=t.parent;const i=t.proxy,a=n;for(;r;){const t=r.ec;if(t)for(let n=0;n<t.length;n++)if(!1===t[n](e,i,a))return;r=r.parent}const o=t.appContext.config.errorHandler;if(o)return void vr(o,null,10,[e,i,a])}!function(e,t,n,r=!0){console.error(e)}(e,0,0,r)}let wr=!1,Lr=!1;const _r=[];let Ar=0;const Sr=[];let Er=null,kr=0;const Nr=[];let Or=null,Tr=0;const Mr=Promise.resolve();let Dr=null,Ir=null;function Rr(e){const t=Dr||Mr;return e?t.then(this?e.bind(this):e):t}function Pr(e){_r.length&&_r.includes(e,wr&&e.allowRecurse?Ar+1:Ar)||e===Ir||(_r.push(e),$r())}function $r(){wr||Lr||(Lr=!0,Dr=Mr.then(Ur))}function jr(e,t,n,r){Pt(e)?n.push(...e):t&&t.includes(e,e.allowRecurse?r+1:r)||n.push(e),$r()}function Fr(e,t=null){if(Sr.length){for(Ir=t,Er=[...new Set(Sr)],Sr.length=0,kr=0;kr<Er.length;kr++)Er[kr]();Er=null,kr=0,Ir=null,Fr(e,t)}}function Br(e){if(Nr.length){const e=[...new Set(Nr)];if(Nr.length=0,Or)return void Or.push(...e);for(Or=e,Or.sort(((e,t)=>Gr(e)-Gr(t))),Tr=0;Tr<Or.length;Tr++)Or[Tr]();Or=null,Tr=0}}const Gr=e=>null==e.id?1/0:e.id;function Ur(e){Lr=!1,wr=!0,Fr(e),_r.sort(((e,t)=>Gr(e)-Gr(t)));try{for(Ar=0;Ar<_r.length;Ar++){const e=_r[Ar];e&&vr(e,null,14)}}finally{Ar=0,_r.length=0,Br(),wr=!1,Dr=null,(_r.length||Nr.length)&&Ur(e)}}function Vr(e,t,...n){const r=e.vnode.props||At;let i=n;const a=t.startsWith("update:"),o=a&&t.slice(7);if(o&&o in r){const e=`${"modelValue"===o?"model":o}Modifiers`,{number:t,trim:a}=r[e]||At;a?i=n.map((e=>e.trim())):t&&(i=n.map(on))}__VUE_PROD_DEVTOOLS__;let s=tn(Kt(t)),l=r[s];!l&&a&&(s=tn(Yt(t)),l=r[s]),l&&br(l,e,6,i);const c=r[s+"Once"];if(c){if(e.emitted){if(e.emitted[s])return}else(e.emitted={})[s]=!0;br(c,e,6,i)}}function zr(e,t,n=!1){if(!t.deopt&&void 0!==e.__emits)return e.__emits;const r=e.emits;let i={},a=!1;if(__VUE_OPTIONS_API__&&!Ft(e)){const r=e=>{a=!0,Mt(i,zr(e,t,!0))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return r||a?(Pt(r)?r.forEach((e=>i[e]=null)):Mt(i,r),e.__emits=i):e.__emits=null}function Hr(e,t){return!(!e||!Ot(t))&&(t=t.slice(2).replace(/Once$/,""),Rt(e,t[0].toLowerCase()+t.slice(1))||Rt(e,Yt(t))||Rt(e,t))}let Zr=null;function Wr(e){Zr=e}function qr(e){const{type:t,vnode:n,proxy:r,withProxy:i,props:a,propsOptions:[o],slots:s,attrs:l,emit:c,render:u,renderCache:d,data:p,setupState:h,ctx:f}=e;let m;Zr=e;try{let e;if(4&n.shapeFlag){const t=i||r;m=ua(u.call(t,t,d,a,h,p,f)),e=l}else{const n=t;m=ua(n.length>1?n(a,{attrs:l,slots:s,emit:c}):n(a,null)),e=t.props?l:Qr(l)}let g=m;if(!1!==t.inheritAttrs&&e){const t=Object.keys(e),{shapeFlag:n}=g;t.length&&(1&n||6&n)&&(o&&t.some(Tt)&&(e=Xr(e,o)),g=sa(g,e))}n.dirs&&(g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&(g.transition=n.transition),m=g}catch(t){xr(t,e,1),m=oa(qi)}return Zr=null,m}const Qr=e=>{let t;for(const n in e)("class"===n||"style"===n||Ot(n))&&((t||(t={}))[n]=e[n]);return t},Xr=(e,t)=>{const n={};for(const r in e)Tt(r)&&r.slice(9)in t||(n[r]=e[r]);return n};function Kr(e,t,n){const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let i=0;i<r.length;i++){const a=r[i];if(t[a]!==e[a]&&!Hr(n,a))return!0}return!1}function Jr(e){return Ft(e)&&(e=e()),Pt(e)&&(e=function(e){let t;for(let n=0;n<e.length;n++){const r=e[n];if(!ta(r))return;if(r.type!==qi||"v-if"===r.children){if(t)return;t=r}}return t}(e)),ua(e)}let Yr=0;const ei=e=>Yr+=e;function ti(e,t,n,r){const[i,a]=e.propsOptions;if(t)for(const a in t){const o=t[a];if(qt(a))continue;let s;i&&Rt(i,s=Kt(a))?n[s]=o:Hr(e.emitsOptions,a)||(r[a]=o)}if(a){const t=ur(n);for(let r=0;r<a.length;r++){const o=a[r];n[o]=ni(i,t,o,t[o],e)}}}function ni(e,t,n,r,i){const a=e[n];if(null!=a){const e=Rt(a,"default");if(e&&void 0===r){const e=a.default;a.type!==Function&&Ft(e)?(Oa(i),r=e(t),Oa(null)):r=e}a[0]&&(Rt(t,n)||e?!a[1]||""!==r&&r!==Yt(n)||(r=!0):r=!1)}return r}function ri(e,t,n=!1){if(!t.deopt&&e.__props)return e.__props;const r=e.props,i={},a=[];let o=!1;if(__VUE_OPTIONS_API__&&!Ft(e)){const r=e=>{o=!0;const[n,r]=ri(e,t,!0);Mt(i,n),r&&a.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!r&&!o)return e.__props=St;if(Pt(r))for(let e=0;e<r.length;e++){const t=Kt(r[e]);ii(t)&&(i[t]=At)}else if(r)for(const e in r){const t=Kt(e);if(ii(t)){const n=r[e],o=i[t]=Pt(n)||Ft(n)?{type:n}:n;if(o){const e=si(Boolean,o.type),n=si(String,o.type);o[0]=e>-1,o[1]=n<0||e<n,(e>-1||Rt(o,"default"))&&a.push(t)}}}return e.__props=[i,a]}function ii(e){return"$"!==e[0]}function ai(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function oi(e,t){return ai(e)===ai(t)}function si(e,t){if(Pt(t)){for(let n=0,r=t.length;n<r;n++)if(oi(t[n],e))return n}else if(Ft(t))return oi(t,e)?0:-1;return-1}function li(e,t,n=Na,r=!1){if(n){const i=n[e]||(n[e]=[]),a=t.__weh||(t.__weh=(...r)=>{if(n.isUnmounted)return;bn(),Oa(n);const i=br(t,n,e,r);return Oa(null),xn(),i});return r?i.unshift(a):i.push(a),a}}const ci=e=>(t,n=Na)=>!Ta&&li(e,t,n),ui=ci("bm"),di=ci("m"),pi=ci("bu"),hi=ci("u"),fi=ci("bum"),mi=ci("um"),gi=ci("rtg"),yi=ci("rtc"),Ci={};function vi(e,t,n){return bi(e,t,n)}function bi(e,t,{immediate:n,deep:r,flush:i,onTrack:a,onTrigger:o}=At,s=Na){let l,c,u=!1;if(pr(e)?(l=()=>e.value,u=!!e._shallow):sr(e)?(l=()=>e,r=!0):l=Pt(e)?()=>e.map((e=>pr(e)?e.value:sr(e)?wi(e):Ft(e)?vr(e,s,2):void 0)):Ft(e)?t?()=>vr(e,s,2):()=>{if(!s||!s.isUnmounted)return c&&c(),vr(e,s,3,[d])}:Et,t&&r){const e=l;l=()=>wi(e())}const d=e=>{c=m.options.onStop=()=>{vr(e,s,4)}};let p=Pt(e)?[]:Ci;const h=()=>{if(m.active)if(t){const e=m();(r||u||nn(e,p))&&(c&&c(),br(t,s,3,[e,p===Ci?void 0:p,d]),p=e)}else m()};let f;h.allowRecurse=!!t,f="sync"===i?h:"post"===i?()=>$i(h,s&&s.suspense):()=>{!s||s.isMounted?function(e){jr(e,Er,Sr,kr)}(h):h()};const m=fn(l,{lazy:!0,onTrack:a,onTrigger:o,scheduler:f});return Ia(m,s),t?n?h():p=m():"post"===i?$i(m,s&&s.suspense):m(),()=>{mn(m),s&&Dt(s.effects,m)}}function xi(e,t,n){const r=this.proxy;return bi(Bt(e)?()=>r[e]:e.bind(r),t.bind(r),n,this)}function wi(e,t=new Set){if(!Ut(e)||t.has(e))return e;if(t.add(e),pr(e))wi(e.value,t);else if(Pt(e))for(let n=0;n<e.length;n++)wi(e[n],t);else if(jt(e)||$t(e))e.forEach((e=>{wi(e,t)}));else for(const n in e)wi(e[n],t);return e}const Li=e=>e.type.__isKeepAlive;function _i(e,t,n=Na){const r=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}e()});if(li(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Li(e.parent.vnode)&&Ai(r,t,n,e),e=e.parent}}function Ai(e,t,n,r){const i=li(t,e,r,!0);mi((()=>{Dt(r[t],i)}),n)}const Si=e=>"_"===e[0]||"$stable"===e,Ei=e=>Pt(e)?e.map(ua):[ua(e)],ki=(e,t,n)=>function(e,t=Zr){if(!t)return e;const n=(...n)=>{Yr||Ji(!0);const r=Zr;Wr(t);const i=e(...n);return Wr(r),Yr||Yi(),i};return n._c=!0,n}((e=>Ei(t(e))),n),Ni=(e,t)=>{const n=e._ctx;for(const r in e){if(Si(r))continue;const i=e[r];if(Ft(i))t[r]=ki(0,i,n);else if(null!=i){const e=Ei(i);t[r]=()=>e}}},Oi=(e,t)=>{const n=Ei(t);e.slots.default=()=>n};function Ti(e,t){if(null===Zr)return e;const n=Zr.proxy,r=e.dirs||(e.dirs=[]);for(let e=0;e<t.length;e++){let[i,a,o,s=At]=t[e];Ft(i)&&(i={mounted:i,updated:i}),r.push({dir:i,instance:n,value:a,oldValue:void 0,arg:o,modifiers:s})}return e}function Mi(e,t,n,r){const i=e.dirs,a=t&&t.dirs;for(let o=0;o<i.length;o++){const s=i[o];a&&(s.oldValue=a[o].value);const l=s.dir[r];l&&br(l,n,8,[e.el,s,e,t])}}function Di(){return{app:null,config:{isNativeTag:kt,performance:!1,globalProperties:{},optionMergeStrategies:{},isCustomElement:kt,errorHandler:void 0,warnHandler:void 0},mixins:[],components:{},directives:{},provides:Object.create(null)}}let Ii=0;function Ri(e,t){return function(n,r=null){null==r||Ut(r)||(r=null);const i=Di(),a=new Set;let o=!1;const s=i.app={_uid:Ii++,_component:n,_props:r,_container:null,_context:i,version:$a,get config(){return i.config},set config(e){},use:(e,...t)=>(a.has(e)||(e&&Ft(e.install)?(a.add(e),e.install(s,...t)):Ft(e)&&(a.add(e),e(s,...t))),s),mixin:e=>(__VUE_OPTIONS_API__&&(i.mixins.includes(e)||(i.mixins.push(e),(e.props||e.emits)&&(i.deopt=!0))),s),component:(e,t)=>t?(i.components[e]=t,s):i.components[e],directive:(e,t)=>t?(i.directives[e]=t,s):i.directives[e],mount(a,l){if(!o){const c=oa(n,r);return c.appContext=i,l&&t?t(c,a):e(c,a),o=!0,s._container=a,a.__vue_app__=s,__VUE_PROD_DEVTOOLS__,c.component.proxy}},unmount(){o&&(e(null,s._container),__VUE_PROD_DEVTOOLS__)},provide:(e,t)=>(i.provides[e]=t,s)};return s}}const Pi={scheduler:Pr,allowRecurse:!0},$i=function(e,t){t&&t.pendingBranch?Pt(e)?t.effects.push(...e):t.effects.push(e):jr(e,Or,Nr,Tr)},ji=(e,t,n,r)=>{if(Pt(e))return void e.forEach(((e,i)=>ji(e,t&&(Pt(t)?t[i]:t),n,r)));let i;i=!r||r.type.__asyncLoader?null:4&r.shapeFlag?r.component.exposed||r.component.proxy:r.el;const{i:a,r:o}=e,s=t&&t.r,l=a.refs===At?a.refs={}:a.refs,c=a.setupState;if(null!=s&&s!==o&&(Bt(s)?(l[s]=null,Rt(c,s)&&(c[s]=null)):pr(s)&&(s.value=null)),Bt(o)){const e=()=>{l[o]=i,Rt(c,o)&&(c[o]=i)};i?(e.id=-1,$i(e,n)):e()}else if(pr(o)){const e=()=>{o.value=i};i?(e.id=-1,$i(e,n)):e()}else Ft(o)&&vr(o,a,12,[i,l])};function Fi(e,t,n,r=null){br(e,t,7,[n,r])}function Bi(e,t,n=!1){const r=e.children,i=t.children;if(Pt(r)&&Pt(i))for(let e=0;e<r.length;e++){const t=r[e];let a=i[e];1&a.shapeFlag&&!a.dynamicChildren&&((a.patchFlag<=0||32===a.patchFlag)&&(a=i[e]=da(i[e]),a.el=t.el),n||Bi(t,a))}}const Gi=e=>e&&(e.disabled||""===e.disabled);function Ui(e){return zi("components",e)||e}const Vi=Symbol();function zi(e,t,n=!0){const r=Zr||Na;if(r){const n=r.type;if("components"===e){if("_self"===t)return n;const e=n.displayName||n.name;if(e&&(e===t||e===Kt(t)||e===en(Kt(t))))return n}return Hi(r[e]||n[e],t)||Hi(r.appContext[e],t)}}function Hi(e,t){return e&&(e[t]||e[Kt(t)]||e[en(Kt(t))])}const Zi=Symbol(void 0),Wi=Symbol(void 0),qi=Symbol(void 0),Qi=Symbol(void 0),Xi=[];let Ki=null;function Ji(e=!1){Xi.push(Ki=e?null:[])}function Yi(){Xi.pop(),Ki=Xi[Xi.length-1]||null}function ea(e,t,n,r,i){const a=oa(e,t,n,r,i,!0);return a.dynamicChildren=Ki||St,Yi(),Ki&&Ki.push(a),a}function ta(e){return!!e&&!0===e.__v_isVNode}function na(e,t){return e.type===t.type&&e.key===t.key}const ra="__vInternal",ia=({key:e})=>null!=e?e:null,aa=({ref:e})=>null!=e?Bt(e)||pr(e)||Ft(e)?{i:Zr,r:e}:e:null,oa=function(e,t=null,n=null,r=0,i=null,a=!1){if(e&&e!==Vi||(e=qi),ta(e)){const r=sa(e,t,!0);return n&&pa(r,n),r}var o;if(Ft(o=e)&&"__vccOpts"in o&&(e=e.__vccOpts),t){(cr(t)||ra in t)&&(t=Mt({},t));let{class:e,style:n}=t;e&&!Bt(e)&&(t.class=wt(e)),Ut(n)&&(cr(n)&&!Pt(n)&&(n=Mt({},n)),t.style=Ct(n))}const s=Bt(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:Ut(e)?4:Ft(e)?2:0,l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ia(t),ref:t&&aa(t),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null};if(pa(l,n),128&s){const{content:e,fallback:t}=function(e){const{shapeFlag:t,children:n}=e;let r,i;return 32&t?(r=Jr(n.default),i=Jr(n.fallback)):(r=Jr(n),i=ua(null)),{content:r,fallback:i}}(l);l.ssContent=e,l.ssFallback=t}return!a&&Ki&&(r>0||6&s)&&32!==r&&Ki.push(l),l};function sa(e,t,n=!1){const{props:r,ref:i,patchFlag:a}=e,o=t?function(...e){const t=Mt({},e[0]);for(let n=1;n<e.length;n++){const r=e[n];for(const e in r)if("class"===e)t.class!==r.class&&(t.class=wt([t.class,r.class]));else if("style"===e)t.style=Ct([t.style,r.style]);else if(Ot(e)){const n=t[e],i=r[e];n!==i&&(t[e]=n?[].concat(n,r[e]):i)}else""!==e&&(t[e]=r[e])}return t}(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:o,key:o&&ia(o),ref:t&&t.ref?n&&i?Pt(i)?i.concat(aa(t)):[i,aa(t)]:aa(t):i,scopeId:e.scopeId,children:e.children,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Zi?-1===a?16:16|a:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&sa(e.ssContent),ssFallback:e.ssFallback&&sa(e.ssFallback),el:e.el,anchor:e.anchor}}function la(e=" ",t=0){return oa(Wi,null,e,t)}function ca(e="",t=!1){return t?(Ji(),ea(qi,null,e)):oa(qi,null,e)}function ua(e){return null==e||"boolean"==typeof e?oa(qi):Pt(e)?oa(Zi,null,e):"object"==typeof e?null===e.el?e:sa(e):oa(Wi,null,String(e))}function da(e){return null===e.el?e:sa(e)}function pa(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if(Pt(t))n=16;else if("object"==typeof t){if(1&r||64&r){const n=t.default;return void(n&&(n._c&&ei(1),pa(e,n()),n._c&&ei(-1)))}{n=32;const r=t._;r||ra in t?3===r&&Zr&&(1024&Zr.vnode.patchFlag?(t._=2,e.patchFlag|=1024):t._=1):t._ctx=Zr}}else Ft(t)?(t={default:t,_ctx:Zr},n=32):(t=String(t),64&r?(n=16,t=[la(t)]):n=8);e.children=t,e.shapeFlag|=n}function ha(e,t,n=!1){const r=Na||Zr;if(r){const i=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(i&&e in i)return i[e];if(arguments.length>1)return n&&Ft(t)?t():t}}let fa=!1;function ma(e,t,n=[],r=[],i=[],a=!1){const{mixins:o,extends:s,data:l,computed:c,methods:u,watch:d,provide:p,inject:h,components:f,directives:m,beforeMount:g,mounted:y,beforeUpdate:C,updated:v,activated:b,deactivated:x,beforeDestroy:w,beforeUnmount:L,destroyed:_,unmounted:A,render:S,renderTracked:E,renderTriggered:k,errorCaptured:N,expose:O}=t,T=e.proxy,M=e.ctx,D=e.appContext.mixins;if(a&&S&&e.render===Et&&(e.render=S),a||(fa=!0,ga("beforeCreate","bc",t,e,D),fa=!1,va(e,D,n,r,i)),s&&ma(e,s,n,r,i,!0),o&&va(e,o,n,r,i),h)if(Pt(h))for(let e=0;e<h.length;e++){const t=h[e];M[t]=ha(t)}else for(const e in h){const t=h[e];Ut(t)?M[e]=ha(t.from||e,t.default,!0):M[e]=ha(t)}if(u)for(const e in u){const t=u[e];Ft(t)&&(M[e]=t.bind(T))}if(a?l&&n.push(l):(n.length&&n.forEach((t=>ba(e,t,T))),l&&ba(e,l,T)),c)for(const e in c){const t=c[e],n=Ra({get:Ft(t)?t.bind(T,T):Ft(t.get)?t.get.bind(T,T):Et,set:!Ft(t)&&Ft(t.set)?t.set.bind(T):Et});Object.defineProperty(M,e,{enumerable:!0,configurable:!0,get:()=>n.value,set:e=>n.value=e})}if(d&&r.push(d),!a&&r.length&&r.forEach((e=>{for(const t in e)xa(e[t],M,T,t)})),p&&i.push(p),!a&&i.length&&i.forEach((e=>{const t=Ft(e)?e.call(T):e;Reflect.ownKeys(t).forEach((e=>{!function(e,t){if(Na){let n=Na.provides;const r=Na.parent&&Na.parent.provides;r===n&&(n=Na.provides=Object.create(r)),n[e]=t}}(e,t[e])}))})),a&&(f&&Mt(e.components||(e.components=Mt({},e.type.components)),f),m&&Mt(e.directives||(e.directives=Mt({},e.type.directives)),m)),a||ga("created","c",t,e,D),g&&ui(g.bind(T)),y&&di(y.bind(T)),C&&pi(C.bind(T)),v&&hi(v.bind(T)),b&&_i(b.bind(T),"a",void 0),x&&function(e,t){_i(e,"da",void 0)}(x.bind(T)),N&&((e,t=Na)=>{li("ec",e,t)})(N.bind(T)),E&&yi(E.bind(T)),k&&gi(k.bind(T)),L&&fi(L.bind(T)),A&&mi(A.bind(T)),Pt(O)&&!a)if(O.length){const t=e.exposed||(e.exposed=gr({}));O.forEach((e=>{t[e]=function(e,t){return pr(e[t])?e[t]:new yr(e,t)}(T,e)}))}else e.exposed||(e.exposed=At)}function ga(e,t,n,r,i){Ca(e,t,i,r);const{extends:a,mixins:o}=n;a&&ya(e,t,a,r),o&&Ca(e,t,o,r);const s=n[e];s&&br(s.bind(r.proxy),r,t)}function ya(e,t,n,r){n.extends&&ya(e,t,n.extends,r);const i=n[e];i&&br(i.bind(r.proxy),r,t)}function Ca(e,t,n,r){for(let i=0;i<n.length;i++){const a=n[i].mixins;a&&Ca(e,t,a,r);const o=n[i][e];o&&br(o.bind(r.proxy),r,t)}}function va(e,t,n,r,i){for(let a=0;a<t.length;a++)ma(e,t[a],n,r,i,!0)}function ba(e,t,n){const r=t.call(n,n);Ut(r)&&(e.data===At?e.data=ir(r):Mt(e.data,r))}function xa(e,t,n,r){const i=r.includes(".")?function(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e<n.length&&t;e++)t=t[n[e]];return t}}(n,r):()=>n[r];if(Bt(e)){const n=t[e];Ft(n)&&vi(i,n)}else if(Ft(e))vi(i,e.bind(n));else if(Ut(e))if(Pt(e))e.forEach((e=>xa(e,t,n,r)));else{const r=Ft(e.handler)?e.handler.bind(n):t[e.handler];Ft(r)&&vi(i,r,e)}}function wa(e,t,n){const r=n.appContext.config.optionMergeStrategies,{mixins:i,extends:a}=t;a&&wa(e,a,n),i&&i.forEach((t=>wa(e,t,n)));for(const i in t)r&&Rt(r,i)?e[i]=r[i](e[i],t[i],n.proxy,i):e[i]=t[i]}const La=e=>e&&(e.proxy?e.proxy:La(e.parent)),_a=Mt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>La(e.parent),$root:e=>e.root&&e.root.proxy,$emit:e=>e.emit,$options:e=>__VUE_OPTIONS_API__?function(e){const t=e.type,{__merged:n,mixins:r,extends:i}=t;if(n)return n;const a=e.appContext.mixins;if(!a.length&&!r&&!i)return t;const o={};return a.forEach((t=>wa(o,t,e))),wa(o,t,e),t.__merged=o}(e):e.type,$forceUpdate:e=>()=>Pr(e.update),$nextTick:e=>Rr.bind(e.proxy),$watch:e=>__VUE_OPTIONS_API__?xi.bind(e):Et}),Aa={get({_:e},t){const{ctx:n,setupState:r,data:i,props:a,accessCache:o,type:s,appContext:l}=e;if("__v_skip"===t)return!0;let c;if("$"!==t[0]){const s=o[t];if(void 0!==s)switch(s){case 0:return r[t];case 1:return i[t];case 3:return n[t];case 2:return a[t]}else{if(r!==At&&Rt(r,t))return o[t]=0,r[t];if(i!==At&&Rt(i,t))return o[t]=1,i[t];if((c=e.propsOptions[0])&&Rt(c,t))return o[t]=2,a[t];if(n!==At&&Rt(n,t))return o[t]=3,n[t];__VUE_OPTIONS_API__&&fa||(o[t]=4)}}const u=_a[t];let d,p;return u?("$attrs"===t&&wn(e,0,t),u(e)):(d=s.__cssModules)&&(d=d[t])?d:n!==At&&Rt(n,t)?(o[t]=3,n[t]):(p=l.config.globalProperties,Rt(p,t)?p[t]:void 0)},set({_:e},t,n){const{data:r,setupState:i,ctx:a}=e;if(i!==At&&Rt(i,t))i[t]=n;else if(r!==At&&Rt(r,t))r[t]=n;else if(t in e.props)return!1;return!("$"===t[0]&&t.slice(1)in e||(a[t]=n,0))},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,propsOptions:a}},o){let s;return void 0!==n[o]||e!==At&&Rt(e,o)||t!==At&&Rt(t,o)||(s=a[0])&&Rt(s,o)||Rt(r,o)||Rt(_a,o)||Rt(i.config.globalProperties,o)}},Sa=Mt({},Aa,{get(e,t){if(t!==Symbol.unscopables)return Aa.get(e,t,e)},has:(e,t)=>"_"!==t[0]&&!gt(t)}),Ea=Di();let ka=0,Na=null;const Oa=e=>{Na=e};let Ta=!1;function Ma(e,t,n){Ft(t)?e.render=t:Ut(t)&&(__VUE_PROD_DEVTOOLS__&&(e.devtoolsRawSetupState=t),e.setupState=gr(t)),Da(e)}function Da(e,t){const n=e.type;e.render||(e.render=n.render||Et,e.render._rc&&(e.withProxy=new Proxy(e.ctx,Sa))),__VUE_OPTIONS_API__&&(Na=e,bn(),ma(e,n),xn(),Na=null)}function Ia(e,t=Na){t&&(t.effects||(t.effects=[])).push(e)}function Ra(e){const t=function(e){let t,n;return Ft(e)?(t=e,n=Et):(t=e.get,n=e.set),new Cr(t,n,Ft(e)||!e.set)}(e);return Ia(t.effect),t}function Pa(e,t){let n;if(Pt(e)||Bt(e)){n=new Array(e.length);for(let r=0,i=e.length;r<i;r++)n[r]=t(e[r],r)}else if("number"==typeof e){n=new Array(e);for(let r=0;r<e;r++)n[r]=t(r+1,r)}else if(Ut(e))if(e[Symbol.iterator])n=Array.from(e,t);else{const r=Object.keys(e);n=new Array(r.length);for(let i=0,a=r.length;i<a;i++){const a=r[i];n[i]=t(e[a],a,i)}}else n=[];return n}const $a="3.0.4",ja="http://www.w3.org/2000/svg",Fa="undefined"!=typeof document?document:null;let Ba,Ga;const Ua={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n)=>t?Fa.createElementNS(ja,e):Fa.createElement(e,n?{is:n}:void 0),createText:e=>Fa.createTextNode(e),createComment:e=>Fa.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Fa.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode:e=>e.cloneNode(!0),insertStaticContent(e,t,n,r){const i=r?Ga||(Ga=Fa.createElementNS(ja,"svg")):Ba||(Ba=Fa.createElement("div"));i.innerHTML=e;const a=i.firstChild;let o=a,s=o;for(;o;)s=o,Ua.insert(o,t,n),o=i.firstChild;return[a,s]}},Va=/\s*!important$/;function za(e,t,n){if(Pt(n))n.forEach((n=>za(e,t,n)));else if(t.startsWith("--"))e.setProperty(t,n);else{const r=function(e,t){const n=Za[t];if(n)return n;let r=Kt(t);if("filter"!==r&&r in e)return Za[t]=r;r=en(r);for(let n=0;n<Ha.length;n++){const i=Ha[n]+r;if(i in e)return Za[t]=i}return t}(e,t);Va.test(n)?e.setProperty(Yt(r),n.replace(Va,""),"important"):e[r]=n}}const Ha=["Webkit","Moz","ms"],Za={},Wa="http://www.w3.org/1999/xlink";let qa=Date.now;"undefined"!=typeof document&&qa()>document.createEvent("Event").timeStamp&&(qa=()=>performance.now());let Qa=0;const Xa=Promise.resolve(),Ka=()=>{Qa=0},Ja=/(?:Once|Passive|Capture)$/,Ya=/^on[a-z]/,eo={beforeMount(e,{value:t},{transition:n}){e._vod="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):to(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){r&&t!==n?t?(r.beforeEnter(e),to(e,!0),r.enter(e)):r.leave(e,(()=>{to(e,!1)})):to(e,t)},beforeUnmount(e,{value:t}){to(e,t)}};function to(e,t){e.style.display=t?e._vod:"none"}const no=Mt({patchProp:(e,t,n,r,i=!1,a,o,s,l)=>{switch(t){case"class":!function(e,t,n){if(null==t&&(t=""),n)e.setAttribute("class",t);else{const n=e._vtc;n&&(t=(t?[t,...n]:[...n]).join(" ")),e.className=t}}(e,r,i);break;case"style":!function(e,t,n){const r=e.style;if(n)if(Bt(n))t!==n&&(r.cssText=n);else{for(const e in n)za(r,e,n[e]);if(t&&!Bt(t))for(const e in t)null==n[e]&&za(r,e,"")}else e.removeAttribute("style")}(e,n,r);break;default:Ot(t)?Tt(t)||function(e,t,n,r,i=null){const a=e._vei||(e._vei={}),o=a[t];if(r&&o)o.value=r;else{const[n,s]=function(e){let t;if(Ja.test(e)){let n;for(t={};n=e.match(Ja);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e.slice(2).toLowerCase(),t]}(t);r?function(e,t,n,r){e.addEventListener(t,n,r)}(e,n,a[t]=function(e,t){const n=e=>{(e.timeStamp||qa())>=n.attached-1&&br(function(e,t){if(Pt(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e(t)))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=Qa||(Xa.then(Ka),Qa=qa()),n}(r,i),s):o&&(function(e,t,n,r){e.removeEventListener(t,n,r)}(e,n,o,s),a[t]=void 0)}}(e,t,0,r,o):function(e,t,n,r){return r?"innerHTML"===t||!!(t in e&&Ya.test(t)&&Ft(n)):!("spellcheck"===t||"draggable"===t||"form"===t&&"string"==typeof n||"list"===t&&"INPUT"===e.tagName||Ya.test(t)&&Bt(n)||!(t in e))}(e,t,r,i)?function(e,t,n,r,i,a,o){if("innerHTML"===t||"textContent"===t)return r&&o(r,i,a),void(e[t]=null==n?"":n);if("value"!==t||"PROGRESS"===e.tagName){if(""===n||null==n){const r=typeof e[t];if(""===n&&"boolean"===r)return void(e[t]=!0);if(null==n&&"string"===r)return e[t]="",void e.removeAttribute(t);if("number"===r)return e[t]=0,void e.removeAttribute(t)}try{e[t]=n}catch(e){}}else{e._value=n;const t=null==n?"":n;e.value!==t&&(e.value=t)}}(e,t,r,a,o,s,l):("true-value"===t?e._trueValue=r:"false-value"===t&&(e._falseValue=r),function(e,t,n,r){if(r&&t.startsWith("xlink:"))null==n?e.removeAttributeNS(Wa,t.slice(6,t.length)):e.setAttributeNS(Wa,t,n);else{const r=yt(t);null==n||r&&!1===n?e.removeAttribute(t):e.setAttribute(t,r?"":n)}}(e,t,r,i))}},forcePatchProp:(e,t)=>"value"===t},Ua);let ro;function io(){return ro||(ro=function(e){return function(e,t){"boolean"!=typeof __VUE_OPTIONS_API__&&(ln().__VUE_OPTIONS_API__=!0),"boolean"!=typeof __VUE_PROD_DEVTOOLS__&&(ln().__VUE_PROD_DEVTOOLS__=!1);const{insert:n,remove:r,patchProp:i,forcePatchProp:a,createElement:o,createText:s,createComment:l,setText:c,setElementText:u,parentNode:d,nextSibling:p,setScopeId:h=Et,cloneNode:f,insertStaticContent:m}=e,g=(e,t,n,r=null,i=null,a=null,o=!1,s=!1)=>{e&&!na(e,t)&&(r=U(e),$(e,i,a,!0),e=null),-2===t.patchFlag&&(s=!1,t.dynamicChildren=null);const{type:l,ref:c,shapeFlag:u}=t;switch(l){case Wi:y(e,t,n,r);break;case qi:C(e,t,n,r);break;case Qi:null==e&&v(t,n,r,o);break;case Zi:E(e,t,n,r,i,a,o,s);break;default:1&u?b(e,t,n,r,i,a,o,s):6&u?k(e,t,n,r,i,a,o,s):(64&u||128&u)&&l.process(e,t,n,r,i,a,o,s,z)}null!=c&&i&&ji(c,e&&e.ref,a,t)},y=(e,t,r,i)=>{if(null==e)n(t.el=s(t.children),r,i);else{const n=t.el=e.el;t.children!==e.children&&c(n,t.children)}},C=(e,t,r,i)=>{null==e?n(t.el=l(t.children||""),r,i):t.el=e.el},v=(e,t,n,r)=>{[e.el,e.anchor]=m(e.children,t,n,r)},b=(e,t,n,r,i,a,o,s)=>{o=o||"svg"===t.type,null==e?x(t,n,r,i,a,o,s):_(e,t,i,a,o,s)},x=(e,t,r,a,s,l,c)=>{let d,p;const{type:h,props:m,shapeFlag:g,transition:y,scopeId:C,patchFlag:v,dirs:b}=e;if(e.el&&void 0!==f&&-1===v)d=e.el=f(e.el);else{if(d=e.el=o(e.type,l,m&&m.is),8&g?u(d,e.children):16&g&&L(e.children,d,null,a,s,l&&"foreignObject"!==h,c||!!e.dynamicChildren),b&&Mi(e,null,a,"created"),m){for(const t in m)qt(t)||i(d,t,null,m[t],l,e.children,a,s,G);(p=m.onVnodeBeforeMount)&&Fi(p,a,e)}w(d,C,e,a)}__VUE_PROD_DEVTOOLS__&&(Object.defineProperty(d,"__vnode",{value:e,enumerable:!1}),Object.defineProperty(d,"__vueParentComponent",{value:a,enumerable:!1})),b&&Mi(e,null,a,"beforeMount");const x=(!s||s&&!s.pendingBranch)&&y&&!y.persisted;x&&y.beforeEnter(d),n(d,t,r),((p=m&&m.onVnodeMounted)||x||b)&&$i((()=>{p&&Fi(p,a,e),x&&y.enter(d),b&&Mi(e,null,a,"mounted")}),s)},w=(e,t,n,r)=>{if(t&&h(e,t),r){const i=r.type.__scopeId;i&&i!==t&&h(e,i+"-s"),n===r.subTree&&w(e,r.vnode.scopeId,r.vnode,r.parent)}},L=(e,t,n,r,i,a,o,s=0)=>{for(let l=s;l<e.length;l++){const s=e[l]=o?da(e[l]):ua(e[l]);g(null,s,t,n,r,i,a,o)}},_=(e,t,n,r,o,s)=>{const l=t.el=e.el;let{patchFlag:c,dynamicChildren:d,dirs:p}=t;c|=16&e.patchFlag;const h=e.props||At,f=t.props||At;let m;if((m=f.onVnodeBeforeUpdate)&&Fi(m,n,t,e),p&&Mi(t,e,n,"beforeUpdate"),c>0){if(16&c)S(l,t,h,f,n,r,o);else if(2&c&&h.class!==f.class&&i(l,"class",null,f.class,o),4&c&&i(l,"style",h.style,f.style,o),8&c){const s=t.dynamicProps;for(let t=0;t<s.length;t++){const c=s[t],u=h[c],d=f[c];(d!==u||a&&a(l,c))&&i(l,c,u,d,o,e.children,n,r,G)}}1&c&&e.children!==t.children&&u(l,t.children)}else s||null!=d||S(l,t,h,f,n,r,o);const g=o&&"foreignObject"!==t.type;d?A(e.dynamicChildren,d,l,n,r,g):s||D(e,t,l,null,n,r,g),((m=f.onVnodeUpdated)||p)&&$i((()=>{m&&Fi(m,n,t,e),p&&Mi(t,e,n,"updated")}),r)},A=(e,t,n,r,i,a)=>{for(let o=0;o<t.length;o++){const s=e[o],l=t[o],c=s.type===Zi||!na(s,l)||6&s.shapeFlag||64&s.shapeFlag?d(s.el):n;g(s,l,c,null,r,i,a,!0)}},S=(e,t,n,r,o,s,l)=>{if(n!==r){for(const c in r){if(qt(c))continue;const u=r[c],d=n[c];(u!==d||a&&a(e,c))&&i(e,c,d,u,l,t.children,o,s,G)}if(n!==At)for(const a in n)qt(a)||a in r||i(e,a,n[a],null,l,t.children,o,s,G)}},E=(e,t,r,i,a,o,l,c)=>{const u=t.el=e?e.el:s(""),d=t.anchor=e?e.anchor:s("");let{patchFlag:p,dynamicChildren:h}=t;p>0&&(c=!0),null==e?(n(u,r,i),n(d,r,i),L(t.children,r,d,a,o,l,c)):p>0&&64&p&&h?(A(e.dynamicChildren,h,r,a,o,l),(null!=t.key||a&&t===a.subTree)&&Bi(e,t,!0)):D(e,t,r,d,a,o,l,c)},k=(e,t,n,r,i,a,o,s)=>{null==e?512&t.shapeFlag?i.ctx.activate(t,n,r,o,s):N(t,n,r,i,a,o,s):O(e,t,s)},N=(e,t,n,r,i,a,o)=>{const s=e.component=function(e,t,n){const r=e.type,i=(t?t.appContext:e.appContext)||Ea,a={uid:ka++,vnode:e,type:r,parent:t,appContext:i,root:null,next:null,subTree:null,update:null,render:null,proxy:null,exposed:null,withProxy:null,effects:null,provides:t?t.provides:Object.create(i.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ri(r,i),emitsOptions:zr(r,i),emit:null,emitted:null,ctx:At,data:At,props:At,attrs:At,slots:At,refs:At,setupState:At,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null};return a.ctx={_:a},a.root=t?t.root:a,a.emit=Vr.bind(null,a),__VUE_PROD_DEVTOOLS__,a}(e,r,i);if(Li(e)&&(s.ctx.renderer=z),function(e,t=!1){Ta=t;const{props:n,children:r,shapeFlag:i}=e.vnode,a=4&i;(function(e,t,n,r=!1){const i={},a={};an(a,ra,1),ti(e,t,i,a),n?e.props=r?i:or(i,!1,In,er):e.type.props?e.props=i:e.props=a,e.attrs=a})(e,n,a,t),((e,t)=>{if(32&e.vnode.shapeFlag){const n=t._;n?(e.slots=t,an(t,"_",n)):Ni(t,e.slots={})}else e.slots={},t&&Oi(e,t);an(e.slots,ra,1)})(e,r),a&&function(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Aa);const{setup:r}=n;if(r){const n=e.setupContext=r.length>1?function(e){return{attrs:e.attrs,slots:e.slots,emit:e.emit,expose:t=>{e.exposed=gr(t)}}}(e):null;Na=e,bn();const i=vr(r,e,0,[e.props,n]);if(xn(),Na=null,Vt(i)){if(t)return i.then((t=>{Ma(e,t)}));e.asyncDep=i}else Ma(e,i)}else Da(e)}(e,t),Ta=!1}(s),s.asyncDep){if(i&&i.registerDep(s,T),!e.el){const e=s.subTree=oa(qi);C(null,e,t,n)}}else T(s,e,t,n,i,a,o)},O=(e,t,n)=>{const r=t.component=e.component;if(function(e,t,n){const{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:l}=t,c=a.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&l>=0))return!(!i&&!s||s&&s.$stable)||r!==o&&(r?!o||Kr(r,o,c):!!o);if(1024&l)return!0;if(16&l)return r?Kr(r,o,c):!!o;if(8&l){const e=t.dynamicProps;for(let t=0;t<e.length;t++){const n=e[t];if(o[n]!==r[n]&&!Hr(c,n))return!0}}return!1}(e,t,n)){if(r.asyncDep&&!r.asyncResolved)return void M(r,t,n);r.next=t,function(e){const t=_r.indexOf(e);t>-1&&_r.splice(t,1)}(r.update),r.update()}else t.component=e.component,t.el=e.el,r.vnode=t},T=(e,t,n,r,i,a,o)=>{e.update=fn((function(){if(e.isMounted){let t,{next:n,bu:r,u:s,parent:l,vnode:c}=e,u=n;n?(n.el=c.el,M(e,n,o)):n=c,r&&rn(r),(t=n.props&&n.props.onVnodeBeforeUpdate)&&Fi(t,l,n,c);const p=qr(e),h=e.subTree;e.subTree=p,g(h,p,d(h.el),U(h),e,i,a),n.el=p.el,null===u&&function({vnode:e,parent:t},n){for(;t&&t.subTree===e;)(e=t.vnode).el=n,t=t.parent}(e,p.el),s&&$i(s,i),(t=n.props&&n.props.onVnodeUpdated)&&$i((()=>{Fi(t,l,n,c)}),i),__VUE_PROD_DEVTOOLS__}else{let o;const{el:s,props:l}=t,{bm:c,m:u,parent:d}=e;c&&rn(c),(o=l&&l.onVnodeBeforeMount)&&Fi(o,d,t);const p=e.subTree=qr(e);g(null,p,n,r,e,i,a),t.el=p.el,u&&$i(u,i),(o=l&&l.onVnodeMounted)&&$i((()=>{Fi(o,d,t)}),i);const{a:h}=e;h&&256&t.shapeFlag&&$i(h,i),e.isMounted=!0}}),Pi)},M=(e,t,n)=>{t.component=e;const r=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,r){const{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=ur(i),[l]=e.propsOptions;if(!(r||o>0)||16&o){let r;ti(e,t,i,a);for(const a in s)t&&(Rt(t,a)||(r=Yt(a))!==a&&Rt(t,r))||(l?!n||void 0===n[a]&&void 0===n[r]||(i[a]=ni(l,t||At,a,void 0,e)):delete i[a]);if(a!==s)for(const e in a)t&&Rt(t,e)||delete a[e]}else if(8&o){const n=e.vnode.dynamicProps;for(let r=0;r<n.length;r++){const o=n[r],c=t[o];if(l)if(Rt(a,o))a[o]=c;else{const t=Kt(o);i[t]=ni(l,s,t,c,e)}else a[o]=c}}Ln(e,"set","$attrs")}(e,t.props,r,n),((e,t)=>{const{vnode:n,slots:r}=e;let i=!0,a=At;if(32&n.shapeFlag){const e=t._;e?1===e?i=!1:Mt(r,t):(i=!t.$stable,Ni(t,r)),a=t}else t&&(Oi(e,t),a={default:1});if(i)for(const e in r)Si(e)||e in a||delete r[e]})(e,t.children),Fr(void 0,e.update)},D=(e,t,n,r,i,a,o,s=!1)=>{const l=e&&e.children,c=e?e.shapeFlag:0,d=t.children,{patchFlag:p,shapeFlag:h}=t;if(p>0){if(128&p)return void R(l,d,n,r,i,a,o,s);if(256&p)return void I(l,d,n,r,i,a,o,s)}8&h?(16&c&&G(l,i,a),d!==l&&u(n,d)):16&c?16&h?R(l,d,n,r,i,a,o,s):G(l,i,a,!0):(8&c&&u(n,""),16&h&&L(d,n,r,i,a,o,s))},I=(e,t,n,r,i,a,o,s)=>{t=t||St;const l=(e=e||St).length,c=t.length,u=Math.min(l,c);let d;for(d=0;d<u;d++){const r=t[d]=s?da(t[d]):ua(t[d]);g(e[d],r,n,null,i,a,o,s)}l>c?G(e,i,a,!0,!1,u):L(t,n,r,i,a,o,s,u)},R=(e,t,n,r,i,a,o,s)=>{let l=0;const c=t.length;let u=e.length-1,d=c-1;for(;l<=u&&l<=d;){const r=e[l],c=t[l]=s?da(t[l]):ua(t[l]);if(!na(r,c))break;g(r,c,n,null,i,a,o,s),l++}for(;l<=u&&l<=d;){const r=e[u],l=t[d]=s?da(t[d]):ua(t[d]);if(!na(r,l))break;g(r,l,n,null,i,a,o,s),u--,d--}if(l>u){if(l<=d){const e=d+1,u=e<c?t[e].el:r;for(;l<=d;)g(null,t[l]=s?da(t[l]):ua(t[l]),n,u,i,a,o),l++}}else if(l>d)for(;l<=u;)$(e[l],i,a,!0),l++;else{const p=l,h=l,f=new Map;for(l=h;l<=d;l++){const e=t[l]=s?da(t[l]):ua(t[l]);null!=e.key&&f.set(e.key,l)}let m,y=0;const C=d-h+1;let v=!1,b=0;const x=new Array(C);for(l=0;l<C;l++)x[l]=0;for(l=p;l<=u;l++){const r=e[l];if(y>=C){$(r,i,a,!0);continue}let c;if(null!=r.key)c=f.get(r.key);else for(m=h;m<=d;m++)if(0===x[m-h]&&na(r,t[m])){c=m;break}void 0===c?$(r,i,a,!0):(x[c-h]=l+1,c>=b?b=c:v=!0,g(r,t[c],n,null,i,a,o,s),y++)}const w=v?function(e){const t=e.slice(),n=[0];let r,i,a,o,s;const l=e.length;for(r=0;r<l;r++){const l=e[r];if(0!==l){if(i=n[n.length-1],e[i]<l){t[r]=i,n.push(r);continue}for(a=0,o=n.length-1;a<o;)s=(a+o)/2|0,e[n[s]]<l?a=s+1:o=s;l<e[n[a]]&&(a>0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-- >0;)n[a]=o,o=t[o];return n}(x):St;for(m=w.length-1,l=C-1;l>=0;l--){const e=h+l,s=t[e],u=e+1<c?t[e+1].el:r;0===x[l]?g(null,s,n,u,i,a,o):v&&(m<0||l!==w[m]?P(s,n,u,2):m--)}}},P=(e,t,r,i,a=null)=>{const{el:o,type:s,transition:l,children:c,shapeFlag:u}=e;if(6&u)P(e.component.subTree,t,r,i);else if(128&u)e.suspense.move(t,r,i);else if(64&u)s.move(e,t,r,z);else if(s!==Zi)if(s!==Qi)if(2!==i&&1&u&&l)if(0===i)l.beforeEnter(o),n(o,t,r),$i((()=>l.enter(o)),a);else{const{leave:e,delayLeave:i,afterLeave:a}=l,s=()=>n(o,t,r),c=()=>{e(o,(()=>{s(),a&&a()}))};i?i(o,s,c):c()}else n(o,t,r);else(({el:e,anchor:t},r,i)=>{let a;for(;e&&e!==t;)a=p(e),n(e,r,i),e=a;n(t,r,i)})(e,t,r);else{n(o,t,r);for(let e=0;e<c.length;e++)P(c[e],t,r,i);n(e.anchor,t,r)}},$=(e,t,n,r=!1,i=!1)=>{const{type:a,props:o,ref:s,children:l,dynamicChildren:c,shapeFlag:u,patchFlag:d,dirs:p}=e;if(null!=s&&ji(s,null,n,null),256&u)return void t.ctx.deactivate(e);const h=1&u&&p;let f;if((f=o&&o.onVnodeBeforeUnmount)&&Fi(f,t,e),6&u)B(e.component,n,r);else{if(128&u)return void e.suspense.unmount(n,r);h&&Mi(e,null,t,"beforeUnmount"),c&&(a!==Zi||d>0&&64&d)?G(c,t,n,!1,!0):(a===Zi&&(128&d||256&d)||!i&&16&u)&&G(l,t,n),64&u&&(r||!Gi(e.props))&&e.type.remove(e,z),r&&j(e)}((f=o&&o.onVnodeUnmounted)||h)&&$i((()=>{f&&Fi(f,t,e),h&&Mi(e,null,t,"unmounted")}),n)},j=e=>{const{type:t,el:n,anchor:i,transition:a}=e;if(t===Zi)return void F(n,i);if(t===Qi)return void(({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=p(e),r(e),e=n;r(t)})(e);const o=()=>{r(n),a&&!a.persisted&&a.afterLeave&&a.afterLeave()};if(1&e.shapeFlag&&a&&!a.persisted){const{leave:t,delayLeave:r}=a,i=()=>t(n,o);r?r(e.el,o,i):i()}else o()},F=(e,t)=>{let n;for(;e!==t;)n=p(e),r(e),e=n;r(t)},B=(e,t,n)=>{const{bum:r,effects:i,update:a,subTree:o,um:s}=e;if(r&&rn(r),i)for(let e=0;e<i.length;e++)mn(i[e]);a&&(mn(a),$(o,e,t,n)),s&&$i(s,t),$i((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve()),__VUE_PROD_DEVTOOLS__},G=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o<e.length;o++)$(e[o],t,n,r,i)},U=e=>6&e.shapeFlag?U(e.component.subTree):128&e.shapeFlag?e.suspense.next():p(e.anchor||e.el),V=(e,t)=>{null==e?t._vnode&&$(t._vnode,null,null,!0):g(t._vnode||null,e,t),Br(),t._vnode=e},z={p:g,um:$,m:P,r:j,mt:N,mc:L,pc:D,pbc:A,n:U,o:e};let H;return{render:V,hydrate:H,createApp:Ri(V,H)}}(e)}(no))}const ao=(...e)=>Object.prototype.toString.call(...e).slice(8,-1);var oo={inheritAttrs:!1,props:{path:{required:!0,validator:e=>"Array"===ao(e)&&e.every((e=>"String"===ao(e)||"Number"===ao(e)))},data:{required:!0,validator:e=>"Null"===ao(e)},name:{required:!0,type:String},id:{required:!0,type:String},ariaLevel:{required:!0,type:Number},renderName:{required:!1,type:Function}}};const so={key:0,class:"separator"},lo=oa("span",{class:"value"},"null",-1);oo.render=function(e,t,n,r,i,a){return Ji(),ea("span",{class:"null",role:"treeitem","aria-level":n.ariaLevel,id:n.id},[oa("span",{class:"key",innerHTML:n.renderName(n.name,n.path)},null,8,["innerHTML"]),""!==n.name?(Ji(),ea("span",so,": ")):ca("v-if",!0),lo],8,["aria-level","id"])},oo.__file="src/components/NullWrapper.vue";var co={inheritAttrs:!1,props:{path:{required:!0,validator:e=>"Array"===ao(e)&&e.every((e=>"String"===ao(e)||"Number"===ao(e)))},data:{required:!0,validator:e=>"Boolean"===ao(e)},name:{required:!0,type:String},id:{required:!0,type:String},ariaLevel:{required:!0,type:Number},renderName:{required:!1,type:Function}}};const uo={key:0,class:"separator"},po={class:"value"};co.render=function(e,t,n,r,i,a){return Ji(),ea("span",{class:"boolean",role:"treeitem","aria-level":n.ariaLevel,id:n.id},[oa("span",{class:"key",innerHTML:n.renderName(n.name,n.path)},null,8,["innerHTML"]),""!==n.name?(Ji(),ea("span",uo,": ")):ca("v-if",!0),oa("span",po,Lt(n.data),1)],8,["aria-level","id"])},co.__file="src/components/BooleanWrapper.vue";var ho={inheritAttrs:!1,props:{path:{required:!0,validator:e=>"Array"===ao(e)&&e.every((e=>"String"===ao(e)||"Number"===ao(e)))},data:{required:!0,validator:e=>"Number"===ao(e)},name:{required:!0,type:String},id:{required:!0,type:String},ariaLevel:{required:!0,type:Number},renderName:{required:!1,type:Function}}};const fo={key:0,class:"separator"},mo={class:"value"};ho.render=function(e,t,n,r,i,a){return Ji(),ea("span",{class:"number",role:"treeitem","aria-level":n.ariaLevel,id:n.id},[oa("span",{class:"key",innerHTML:n.renderName(n.name,n.path)},null,8,["innerHTML"]),""!==n.name?(Ji(),ea("span",fo,": ")):ca("v-if",!0),oa("span",mo,Lt(n.data),1)],8,["aria-level","id"])},ho.__file="src/components/NumberWrapper.vue";var go={inheritAttrs:!1,props:{path:{required:!0,validator:e=>"Array"===ao(e)&&e.every((e=>"String"===ao(e)||"Number"===ao(e)))},data:{required:!0,validator:e=>"String"===ao(e)},name:{required:!0,type:String},id:{required:!0,type:String},ariaLevel:{required:!0,type:Number},renderName:{required:!0,type:Function}}};const yo={key:0,class:"separator"},Co=oa("span",{class:"quotes"},'"',-1),vo={class:"value"},bo=oa("span",{class:"quotes"},'"',-1);go.render=function(e,t,n,r,i,a){return Ji(),ea("span",{class:"string",role:"treeitem","aria-level":n.ariaLevel,id:n.id},[oa("span",{class:"key",innerHTML:n.renderName(n.name,n.path)},null,8,["innerHTML"]),""!==n.name?(Ji(),ea("span",yo,": ")):ca("v-if",!0),Co,oa("span",vo,Lt(n.data),1),bo],8,["aria-level","id"])},go.__file="src/components/StringWrapper.vue";const xo=new Set;function wo(e={collapseSignal,expandSignal}){const t=hr(!1),n=hr(!1),r=()=>{t.value=!1,n.value=!n.value};vi((()=>e.collapseSignal),r);const i=hr(!1),a=()=>{t.value=!0,i.value=!i.value};return vi((()=>e.expandSignal),a),vi((()=>e.data),(()=>{e.expandOnCreatedAndUpdated(e.path)?a():r()}),{immediate:!0}),{isExpanding:t,innerCollapseSignal:n,innerExpandSignal:i,handleClick:e=>{xo.clear(),!0===e.metaKey&&!0===e.shiftKey?r():!0===e.metaKey?a():t.value=!t.value}}}var Lo={inheritAttrs:!1,props:{path:{required:!0,validator:e=>"Array"===ao(e)&&e.every((e=>"String"===ao(e)||"Number"===ao(e)))},data:{required:!0,validator:e=>"Array"===ao(e)},name:{required:!0,type:String},collapseSignal:{default:!1,type:Boolean},expandSignal:{default:!1,type:Boolean},expandOnCreatedAndUpdated:{required:!0,type:Function},getKeys:{required:!0,type:Function},renderName:{required:!1,type:Function},objectVisualizerUid:{required:!0,type:Number},id:{required:!0,type:String},role:{required:!0,type:String},ariaLevel:{required:!0,type:Number}},setup(e){const{isExpanding:t,innerExpandSignal:n,innerCollapseSignal:r,handleClick:i}=wo(e),a=Ra((()=>e.getKeys(e.data,e.path))),o=xo.has(e.data);return xo.add(e.data),{keys:a,isExpanding:t,innerExpandSignal:n,innerCollapseSignal:r,handleClick:i,isCircular:o}},components:{}};const _o={key:0,class:"value"},Ao={key:0,class:"value"};Lo.render=function(e,t,n,r,i,a){const o=Ui("wrapper");return Ji(),ea("span",{class:"array",role:n.role,"aria-expanded":r.isExpanding,"aria-level":n.ariaLevel,id:n.id},[oa("span",{class:"indicator",onClick:t[1]||(t[1]=(...e)=>r.handleClick&&r.handleClick(...e))},Lt(r.isExpanding?"▼":"▶"),1),oa("span",{class:"key",onClick:t[2]||(t[2]=(...e)=>r.handleClick&&r.handleClick(...e)),innerHTML:n.renderName(n.name,n.path)},null,8,["innerHTML"]),oa("span",{class:"separator",onClick:t[3]||(t[3]=(...e)=>r.handleClick&&r.handleClick(...e))},Lt(""===n.name?"":": "),1),oa("span",{class:"count",onClick:t[4]||(t[4]=(...e)=>r.handleClick&&r.handleClick(...e))},Lt(!1===r.isExpanding&&n.data.length>=2?"("+n.data.length+")":""),1),oa("span",{class:"preview",onClick:t[5]||(t[5]=(...e)=>r.handleClick&&r.handleClick(...e))},Lt(r.isExpanding?"Array("+n.data.length+")":"[...]"),1),r.isCircular?(Ji(),ea(Zi,{key:0},[r.isExpanding?(Ji(),ea("span",_o,[(Ji(!0),ea(Zi,null,Pa(r.keys,(e=>(Ji(),ea(o,{key:e,name:e,path:n.path.concat(e),data:n.data[e],"expand-signal":r.innerExpandSignal,"collapse-signal":r.innerCollapseSignal,expandOnCreatedAndUpdated:()=>!1,renderName:n.renderName,getKeys:n.getKeys,"object-visualizer-uid":n.objectVisualizerUid,"aria-level":n.ariaLevel},null,8,["name","path","data","expand-signal","collapse-signal","expandOnCreatedAndUpdated","renderName","getKeys","object-visualizer-uid","aria-level"])))),128))])):ca("v-if",!0)],64)):(Ji(),ea(Zi,{key:1},[r.isExpanding?(Ji(),ea("span",Ao,[(Ji(!0),ea(Zi,null,Pa(r.keys,(e=>(Ji(),ea(o,{key:e,name:e,path:n.path.concat(e),data:n.data[e],"expand-signal":r.innerExpandSignal,"collapse-signal":r.innerCollapseSignal,expandOnCreatedAndUpdated:n.expandOnCreatedAndUpdated,getKeys:n.getKeys,renderName:n.renderName,"object-visualizer-uid":n.objectVisualizerUid,"aria-level":n.ariaLevel},null,8,["name","path","data","expand-signal","collapse-signal","expandOnCreatedAndUpdated","getKeys","renderName","object-visualizer-uid","aria-level"])))),128))])):ca("v-if",!0)],64))],8,["role","aria-expanded","aria-level","id"])},Lo.__file="src/components/ArrayWrapper.vue";var So={inheritAttrs:!1,props:{path:{required:!0,validator:e=>"Array"===ao(e)&&e.every((e=>"String"===ao(e)||"Number"===ao(e)))},data:{required:!0,validator:e=>"Object"===ao(e)},name:{required:!0,type:String},collapseSignal:{default:!1,type:Boolean},expandSignal:{default:!1,type:Boolean},expandOnCreatedAndUpdated:{required:!0,type:Function},getKeys:{required:!0,type:Function},renderName:{required:!1,type:Function},objectVisualizerUid:{required:!0,type:Number},id:{required:!0,type:String},role:{required:!0,type:String},ariaLevel:{required:!0,type:Number}},setup(e){const{isExpanding:t,innerExpandSignal:n,innerCollapseSignal:r,handleClick:i}=wo(e),a=Ra((()=>e.getKeys(e.data,e.path))),o=xo.has(e.data);return xo.add(e.data),{keys:a,isExpanding:t,innerExpandSignal:n,innerCollapseSignal:r,handleClick:i,isCircular:o}},components:{}};const Eo={key:0,class:"value"},ko={key:1,class:"value"};So.render=function(e,t,n,r,i,a){const o=Ui("wrapper");return Ji(),ea("span",{class:"object",role:n.role,"aria-expanded":r.isExpanding,"aria-level":n.ariaLevel,id:n.id},[oa("span",{class:"indicator",onClick:t[1]||(t[1]=(...e)=>r.handleClick&&r.handleClick(...e))},Lt(r.isExpanding?"▼":"▶"),1),oa("span",{class:"key",onClick:t[2]||(t[2]=(...e)=>r.handleClick&&r.handleClick(...e)),innerHTML:n.renderName(n.name,n.path)},null,8,["innerHTML"]),oa("span",{class:"separator",onClick:t[3]||(t[3]=(...e)=>r.handleClick&&r.handleClick(...e))},Lt(""===n.name?"":": "),1),oa("span",{class:"preview",onClick:t[4]||(t[4]=(...e)=>r.handleClick&&r.handleClick(...e))},Lt(r.isExpanding?"":"{...}"),1),r.isCircular?(Ji(),ea(Zi,{key:0},[r.isExpanding?(Ji(),ea("span",Eo,[(Ji(!0),ea(Zi,null,Pa(r.keys,(e=>(Ji(),ea(o,{key:e,class:"value",name:e,path:n.path.concat(e),data:n.data[e],"expand-signal":r.innerExpandSignal,"collapse-signal":r.innerCollapseSignal,expandOnCreatedAndUpdated:()=>!1,getKeys:n.getKeys,renderName:n.renderName,"object-visualizer-uid":n.objectVisualizerUid,"aria-level":n.ariaLevel},null,8,["name","path","data","expand-signal","collapse-signal","expandOnCreatedAndUpdated","getKeys","renderName","object-visualizer-uid","aria-level"])))),128))])):ca("v-if",!0)],64)):Ti((Ji(),ea("span",ko,[(Ji(!0),ea(Zi,null,Pa(r.keys,(e=>(Ji(),ea(o,{key:e,class:"value",name:e,path:n.path.concat(e),data:n.data[e],"expand-signal":r.innerExpandSignal,"collapse-signal":r.innerCollapseSignal,expandOnCreatedAndUpdated:n.expandOnCreatedAndUpdated,getKeys:n.getKeys,renderName:n.renderName,"object-visualizer-uid":n.objectVisualizerUid,"aria-level":n.ariaLevel},null,8,["name","path","data","expand-signal","collapse-signal","expandOnCreatedAndUpdated","getKeys","renderName","object-visualizer-uid","aria-level"])))),128))],512)),[[eo,r.isExpanding]])],8,["role","aria-expanded","aria-level","id"])},So.__file="src/components/ObjectWrapper.vue";const No={Null:"null-wrapper",Boolean:"boolean-wrapper",Number:"number-wrapper",String:"string-wrapper",Array:"array-wrapper",Object:"object-wrapper"},Oo={inheritAttrs:!1,props:{path:{required:!0,validator:e=>"Array"===ao(e)&&e.every((e=>"String"===ao(e)||"Number"===ao(e)))},data:{required:!0,validator:e=>"Null"===ao(e)||"Boolean"===ao(e)||"Number"===ao(e)||"String"===ao(e)||"Array"===ao(e)||"Object"===ao(e)},name:{required:!0,type:String},collapseSignal:{default:!1,type:Boolean},expandSignal:{default:!1,type:Boolean},expandOnCreatedAndUpdated:{required:!0,type:Function},getKeys:{required:!0,type:Function},renderName:{required:!1,type:Function},objectVisualizerUid:{required:!0,type:Number},role:{default:"group",type:String},ariaLevel:{required:!0,type:Number}},setup:()=>({objectToString:ao,TYPE_TO_COMPONENT:No}),components:{NullWrapper:oo,BooleanWrapper:co,NumberWrapper:ho,StringWrapper:go,ArrayWrapper:Lo,ObjectWrapper:So}};Lo.components.Wrapper=Oo,So.components.Wrapper=Oo,Oo.render=function(e,t,n,r,i,a){return Ji(),ea((o=e.TYPE_TO_COMPONENT[e.objectToString(e.data)],Bt(o)?zi("components",o,!1)||o:o||Vi),{name:e.name,path:e.path,data:e.data,"collapse-signal":e.collapseSignal,"expand-signal":e.expandSignal,expandOnCreatedAndUpdated:e.expandOnCreatedAndUpdated,getKeys:e.getKeys,renderName:e.renderName,"object-visualizer-uid":e.objectVisualizerUid,id:`object-visualizer-${e.objectVisualizerUid}--${0===e.path.length?"root":e.path.join("-")}`,role:e.role,"aria-level":e.ariaLevel+1},null,8,["name","path","data","collapse-signal","expand-signal","expandOnCreatedAndUpdated","getKeys","renderName","object-visualizer-uid","id","role","aria-level"]);var o},Oo.__file="src/components/Wrapper.vue";const To=Object.freeze({expandOnCreatedAndUpdated:e=>!1,getKeys:(e,t)=>Object.keys(e),renderName:e=>e});let Mo=0;function Do(e,t,n){e="".concat(e?e+" - ":"","Apache ECharts Demo"),t=t&&t.slice()||[];var r=pe.locale&&pe.locale.indexOf("zh")>-1?"zh-CN":"en",i=pe.sourceCode.indexOf("ROOT_PATH")>-1?"var ROOT_PATH = '".concat(pe.cdnRoot,"';"):"";return/\$[\.\(]+/g.test(pe.sourceCode)&&t.unshift({src:"https://fastly.jsdelivr.net/npm/jquery"}),{title:e,html:'<!DOCTYPE html>\n<html lang="'.concat(r,'">\n<head>\n  <meta charset="utf-8">\n  <title>').concat(e,'</title>\n</head>\n<body>\n  <div id="chart-container"></div>\n  ').concat(t.filter((function(e){return!e.src||e.src.indexOf("dat.gui")<0})).map((function(e){return e.content?"<script>".concat(e.content,"<\/script>"):'<script src="'.concat(e.src.indexOf("api.map.baidu.com/api")>-1?e.src.replace(/(ak=)(\S+)$/,"$1YOUR_API_KEY"):e.src,'"><\/script>')})).join("\n  "),"\n</body>\n</html>"),js:"var dom = document.getElementById('chart-container');\nvar myChart = echarts.init(dom, ".concat(pe.darkMode?"'dark'":"null",", {\n  renderer: '").concat(pe.renderer,"',\n  useDirtyRect: ").concat(pe.useDirtyRect,"\n});\nvar app = {};\n").concat(i,"\nvar option;\n\n").concat(pe.sourceCode,"\n\nif (option && typeof option === 'object') {\n  myChart.setOption(option);\n}\n\nwindow.addEventListener('resize', myChart.resize);"),css:"* {\n  margin: 0;\n  padding: 0;\n}\n#chart-container {\n  position: relative;\n  height: 100vh;\n  overflow: hidden;\n}\n".concat(n||"")}}function Io(e,t,n){var r=Do(e,t,n),i=document.createElement("form");i.method="POST",i.action="https://codepen.io/pen/define/",i.target="_blank",i.style.display="none";var a=document.createElement("input");a.setAttribute("name","data"),a.setAttribute("type","hidden"),a.setAttribute("value",JSON.stringify(r)),i.appendChild(a),document.body.appendChild(i),i.submit(),document.body.removeChild(i)}var Ro=n(2662);function Po(e,t,n){var r=Do(e,t,n);e=r.title.split(" - ");var i=(0,Ro.Z)({template:"static",files:{"index.html":{content:r.html.replace("</head>",'  <link rel="stylesheet" href="./style.css">\n</head>').replace("</body>",'  <script src="./index.js"><\/script>\n</body>')},"index.js":{content:r.js},"style.css":{content:r.css},"package.json":{content:{name:e[0],description:e[1]||"",keywords:["echarts","apache"],main:"index.html"}},"sandbox.config.json":{content:{template:"static"}}}}),a=document.createElement("form");a.method="POST",a.action="https://codesandbox.io/api/v1/sandboxes/define",a.target="_blank",a.style.display="none";var o=document.createElement("input");o.setAttribute("name","parameters"),o.setAttribute("type","hidden"),o.setAttribute("value",i),a.appendChild(o),document.body.appendChild(a),a.submit(),document.body.removeChild(a)}function $o(e){return $o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$o(e)}const jo={components:{CodeAce:ke,CodeMonaco:Te,FullCodePreview:Ie,Preview:ht},data:function(){return{leftContainerSize:40,shared:pe,initialCode:"",currentTab:"code-editor",fullCode:"",exampleConfig:fe(),fullCodeConfig:{minimal:!1,esm:!0,node:!1},formatterReady:!1}},computed:{hasTs:function(){return this.exampleConfig&&this.exampleConfig.ts}},mounted:function(){var e=this;pe.isMobile?(this.leftContainerSize=0,ye().then((function(e){pe.runCode=Ce(e)}))):(ye().then((function(t){e.initialCode=Ce(t),pe.initialCode!==ge&&(pe.initialCode=e.initialCode)})),window.addEventListener("mousemove",(function(t){if(e.mousedown){var n=t.clientX/window.innerWidth;n=Math.min(.9,Math.max(.1,n)),e.leftContainerSize=100*n}})),window.addEventListener("mouseup",(function(){e.mousedown=!1})),window.addEventListener("keydown",(function(t){if((t.ctrlKey||t.metaKey)&&"s"===t.key){var n=e.$refs.preview;n&&n.share(),t.preventDefault()}})),window.addEventListener("beforeunload",(function(t){window.__EDITOR_NO_LEAVE_CONFIRMATION__||pe.sourceCode===e.initialCode||(t.preventDefault(),t.returnValue="")})),pe.typeCheck||this.prepareFormatter())},methods:{toExternalEditor:function(e){var t=this.$refs.preview;if(t){var n=t.getAssets();({CodePen:Io,CodeSandbox:Po})[e](this.exampleConfig&&this.exampleConfig.title,n.scripts,n.css)}},onSplitterDragStart:function(){this.mousedown=!0},disposeAndRun:function(){this.$refs.preview.refreshAll()},updateFullCode:function(){var e=this,t=this.$refs.preview.getOption();if(t){var n=(0,ft.collectDeps)(t);n.push("svg"===pe.renderer?"SVGRenderer":"CanvasRenderer"),this.fullCode=(0,ft.buildExampleCode)(pe.sourceCode,n,{minimal:this.fullCodeConfig.minimal,ts:pe.typeCheck,esm:this.fullCodeConfig.esm,theme:pe.darkMode?"dark":"",renderer:pe.renderer,useDirtyRect:pe.useDirtyRect,ROOT_PATH:pe.cdnRoot,isZHLang:"zh"===this.$i18n.locale}),Le(this.fullCode).then((function(t){e.fullCode=t}))}},updateOptionOutline:function(){var e=Object.freeze(this.$refs.preview.getOption());if(e){var t=this.$t("editor.tooltip.gotoDoc"),n=this.$i18n.locale;((e,t,n={})=>{void 0===n.rootName&&(n.rootName=""),void 0===n.getKeys&&(n.getKeys=To.getKeys),void 0===n.renderName&&(n.renderName=To.renderName),void 0===n.expandOnCreatedAndUpdated&&(n.expandOnCreatedAndUpdated=To.expandOnCreatedAndUpdated),t.classList.add("object-visualizer"),((...e)=>{io().render(...e)})(null,t),((...e)=>{const t=io().createApp(...e),{mount:n}=t;return t.mount=e=>{const r=function(e){return Bt(e)?document.querySelector(e):e}(e);if(!r)return;const i=t._component;Ft(i)||i.render||i.template||(i.template=r.innerHTML),r.innerHTML="";const a=n(r);return r.removeAttribute("v-cloak"),r.setAttribute("data-v-app",""),a},t})(Oo,{data:e,name:n.rootName,path:[],expandOnCreatedAndUpdated:n.expandOnCreatedAndUpdated,getKeys:n.getKeys,renderName:n.renderName,objectVisualizerUid:Mo++,role:"tree",ariaLevel:0}).mount(t)})(e,this.$refs.optionOutline,{getKeys:function(e){return Object.keys(e).filter((function(t){return!(Array.isArray(e[t])&&!e[t].length)}))},renderName:function(r,i){for(var a=e,o=[],s=0;s<i.length;s++){var l=i[s];if(null==(a=a[l])){o.push(l);break}if(Array.isArray(a)){var c=a[i[s+1]],u=c&&c.type;u&&(l+="-"+u,s++,a=c)}else if(!isNaN(l))continue;o.push(l)}var d="object"===$o(a)&&null!=a,p=o.includes("bmap")?"https://github.com/apache/echarts/blob/release/extension-src/bmap/README.md":"https://echarts.apache.org/".concat(n,"/option.html#").concat(o.join("."));return d?"".concat(r,'<a href="').concat(p,'" target="_blank" title="').concat(t,'"><i class="el-icon-document"></i></a>'):'<a href="'.concat(p,'" target="_blank" title="').concat(t,'">').concat(r,"</a>")},expandOnCreatedAndUpdated:function(e){return 0===e.length||"series"===e[0]&&e.length<=1}})}},updateTabContent:function(e){"full-code"===e?this.updateFullCode():"full-option"===e&&this.updateOptionOutline()},changeLang:function(e){(ie.lang||"js").toLowerCase()!==e&&(this.initialCode&&pe.sourceCode!==this.initialCode?this.$confirm(this.$t("editor.codeChangedConfirm"),"",{confirmButtonText:this.$t("editor.confirmButtonText"),cancelButtonText:this.$t("editor.cancelButtonText"),type:"warning"}).then((function(){window.__EDITOR_NO_LEAVE_CONFIRMATION__=!0,Ke({lang:e})})).catch((function(){})):Ke({lang:e}))},format:function(){var e=this;this.formatterReady?Le(pe.sourceCode).then((function(t){t===e.initialCode&&pe.sourceCode!==e.initialCode&&(e.initialCode=pe.sourceCode),e.$nextTick((function(){e.initialCode=t}))})):console.warn("formatter is not ready yet!")},prepareFormatter:function(){var e=this;return Le(" ").then((function(){e.formatterReady=!0}))},onPreviewReady:function(){this.updateTabContent(this.currentTab)}},watch:{currentTab:function(e){this.updateTabContent(e)},"shared.runHash":function(){this.updateTabContent(this.currentTab)},fullCodeConfig:{deep:!0,handler:function(){this.updateFullCode()}}}};var Fo=Se(jo,Y,[],!1,null,null,null);Fo.options.__file="src/editor/Editor.vue";const Bo=Fo.exports;var Go=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"example-explore"}},[n("div",{ref:"leftContainer",attrs:{id:"left-container"}},[n("div",{attrs:{id:"left-chart-nav"}},[n("scrollactive",{ref:"scrollactive",attrs:{"active-class":"active",offset:80,duration:500,"scroll-container-selector":"#example-explore","bezier-easing-value":".5,0,.35,1"},on:{itemchanged:e.onActiveNavChanged}},[n("ul",e._l(e.EXAMPLE_CATEGORIES,(function(t){return n("li",{key:t},[n("a",{staticClass:"left-chart-nav-link scrollactive-item",attrs:{id:"left-chart-nav-"+t,href:"#chart-type-"+t}},[n("span",{staticClass:"chart-icon",domProps:{innerHTML:e._s(e.icons[t])}}),e._v(" "),n("span",{staticClass:"chart-name"},[e._v(e._s(e.$t("chartTypes."+t)))])])])})),0)])],1)]),e._v(" "),n("div",{attrs:{id:"explore-container"}},[n("div",{staticClass:"example-list-panel"},e._l(e.exampleList,(function(t){return n("div",{key:t.category},[n("h3",{staticClass:"chart-type-head",attrs:{id:"chart-type-"+t.category}},[e._v("\n          "+e._s(e.$t("chartTypes."+t.category))+"\n          "),n("span",[e._v(e._s(t.category))])]),e._v(" "),n("div",{staticClass:"row",attrs:{id:"chart-row-"+t.category}},e._l(t.examples,(function(e){return n("div",{key:e.id,staticClass:"col-xl-2 col-lg-3 col-md-4 col-sm-6"},[n("ExampleCard",{attrs:{example:e}})],1)})),0)])})),0)]),e._v(" "),n("div",{attrs:{id:"toolbar"}},[n("el-switch",{attrs:{"active-color":"#181432","active-text":e.$t("editor.darkMode"),"inactive-text":""},model:{value:e.shared.darkMode,callback:function(t){e.$set(e.shared,"darkMode",t)},expression:"shared.darkMode"}})],1)])};Go._withStripped=!0;var Uo=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"example-list-item"},[r("a",{staticClass:"example-link",attrs:{target:"_blank",href:e.exampleLink}},[r("picture",[r("source",{attrs:{"data-srcset":e.screenshotURLWebP,type:"image/webp"}}),e._v(" "),r("source",{attrs:{"data-srcset":e.screenshotURLPNG,type:"image/png"}}),e._v(" "),r("img",{staticClass:"chart-area",attrs:{src:n(9803)}})])]),e._v(" "),r("div",[r("div",{staticClass:"example-langs"},[r("a",{staticClass:"js",attrs:{href:e.exampleLink,target:"_blank"}},[e._v("JS")]),e._v(" "),e.example.ts?r("a",{staticClass:"ts",attrs:{href:e.exampleLink+"&lang=ts",target:"_blank"}},[e._v("TS")]):e._e()]),e._v(" "),r("div",[r("div",{staticClass:"example-title",attrs:{title:e.title}},[e._v(e._s(e.title))]),e._v(" "),e.showSubtitle?r("div",{staticClass:"example-subtitle"},[e._v(e._s(e.subtitle))]):e._e()])])])};Uo._withStripped=!0;const Vo={props:["example"],computed:{title:function(){return("zh"===pe.locale?this.example.titleCN:this.example.title)||this.example.title||""},showSubtitle:function(){return"zh"===pe.locale},subtitle:function(){return this.example.title||""},exampleTheme:function(){return this.example.theme||(pe.darkMode?"dark":"")},exampleLink:function(){var e=this.example,t=["c="+e.id],n=this.exampleTheme;return e.isGL&&t.push("gl=1"),n&&t.push("theme="+n),"local"in ie&&t.push("local=1"),"debug"in ie&&t.push("debug=1"),"useDirtyRect"in ie&&t.push("useDirtyRect=1"),ie.renderer&&t.push("renderer="+ie.renderer),"./editor.html?"+t.join("&")},screenshotURLWithoutExt:function(){var e=this.example,t=this.exampleTheme?"-"+this.exampleTheme:"",n=e.isGL?"data-gl":"data";return"".concat(pe.cdnRoot,"/").concat(n,"/thumb").concat(t,"/").concat(e.id)},screenshotURLWebP:function(){return this.screenshotURLWithoutExt+".webp?_v_=".concat(pe.version)},screenshotURLPNG:function(){return this.screenshotURLWithoutExt+".png?_v_=".concat(pe.version)}}};var zo=Se(Vo,Uo,[],!1,null,null,null);zo.options.__file="src/explore/ExampleCard.vue";const Ho=zo.exports,Zo="undefined"!=typeof window,Wo=Zo&&!("onscroll"in window)||"undefined"!=typeof navigator&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),qo=Zo&&"IntersectionObserver"in window,Qo=Zo&&"classList"in document.createElement("p"),Xo=Zo&&window.devicePixelRatio>1,Ko={elements_selector:".lazy",container:Wo||Zo?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_bg_set:"bg-set",data_poster:"poster",class_applied:"applied",class_loading:"loading",class_loaded:"loaded",class_error:"error",class_entered:"entered",class_exited:"exited",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1,restore_on_error:!1},Jo=e=>Object.assign({},Ko,e),Yo=function(e,t){let n;const r="LazyLoad::Initialized",i=new e(t);try{n=new CustomEvent(r,{detail:{instance:i}})}catch(e){n=document.createEvent("CustomEvent"),n.initCustomEvent(r,!1,!1,{instance:i})}window.dispatchEvent(n)},es="src",ts="srcset",ns="sizes",rs="poster",is="llOriginalAttrs",as="data",os="loading",ss="loaded",ls="applied",cs="error",us="native",ds="data-",ps="ll-status",hs=(e,t)=>e.getAttribute(ds+t),fs=e=>hs(e,ps),ms=(e,t)=>((e,t,n)=>{var r="data-ll-status";null!==n?e.setAttribute(r,n):e.removeAttribute(r)})(e,0,t),gs=e=>ms(e,null),ys=e=>null===fs(e),Cs=e=>fs(e)===us,vs=[os,ss,ls,cs],bs=(e,t,n,r)=>{e&&(void 0===r?void 0===n?e(t):e(t,n):e(t,n,r))},xs=(e,t)=>{Qo?e.classList.add(t):e.className+=(e.className?" ":"")+t},ws=(e,t)=>{Qo?e.classList.remove(t):e.className=e.className.replace(new RegExp("(^|\\s+)"+t+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")},Ls=e=>e.llTempImage,_s=(e,t)=>{if(!t)return;const n=t._observer;n&&n.unobserve(e)},As=(e,t)=>{e&&(e.loadingCount+=t)},Ss=(e,t)=>{e&&(e.toLoadCount=t)},Es=e=>{let t=[];for(let n,r=0;n=e.children[r];r+=1)"SOURCE"===n.tagName&&t.push(n);return t},ks=(e,t)=>{const n=e.parentNode;n&&"PICTURE"===n.tagName&&Es(n).forEach(t)},Ns=(e,t)=>{Es(e).forEach(t)},Os=[es],Ts=[es,rs],Ms=[es,ts,ns],Ds=[as],Is=e=>!!e[is],Rs=e=>e[is],Ps=e=>delete e[is],$s=(e,t)=>{if(Is(e))return;const n={};t.forEach((t=>{n[t]=e.getAttribute(t)})),e[is]=n},js=(e,t)=>{if(!Is(e))return;const n=Rs(e);t.forEach((t=>{((e,t,n)=>{n?e.setAttribute(t,n):e.removeAttribute(t)})(e,t,n[t])}))},Fs=(e,t,n)=>{xs(e,t.class_applied),ms(e,ls),n&&(t.unobserve_completed&&_s(e,t),bs(t.callback_applied,e,n))},Bs=(e,t,n)=>{xs(e,t.class_loading),ms(e,os),n&&(As(n,1),bs(t.callback_loading,e,n))},Gs=(e,t,n)=>{n&&e.setAttribute(t,n)},Us=(e,t)=>{Gs(e,ns,hs(e,t.data_sizes)),Gs(e,ts,hs(e,t.data_srcset)),Gs(e,es,hs(e,t.data_src))},Vs={IMG:(e,t)=>{ks(e,(e=>{$s(e,Ms),Us(e,t)})),$s(e,Ms),Us(e,t)},IFRAME:(e,t)=>{$s(e,Os),Gs(e,es,hs(e,t.data_src))},VIDEO:(e,t)=>{Ns(e,(e=>{$s(e,Os),Gs(e,es,hs(e,t.data_src))})),$s(e,Ts),Gs(e,rs,hs(e,t.data_poster)),Gs(e,es,hs(e,t.data_src)),e.load()},OBJECT:(e,t)=>{$s(e,Ds),Gs(e,as,hs(e,t.data_src))}},zs=["IMG","IFRAME","VIDEO","OBJECT"],Hs=(e,t)=>{!t||(e=>e.loadingCount>0)(t)||(e=>e.toLoadCount>0)(t)||bs(e.callback_finish,t)},Zs=(e,t,n)=>{e.addEventListener(t,n),e.llEvLisnrs[t]=n},Ws=(e,t,n)=>{e.removeEventListener(t,n)},qs=e=>!!e.llEvLisnrs,Qs=e=>{if(!qs(e))return;const t=e.llEvLisnrs;for(let n in t){const r=t[n];Ws(e,n,r)}delete e.llEvLisnrs},Xs=(e,t,n)=>{(e=>{delete e.llTempImage})(e),As(n,-1),(e=>{e&&(e.toLoadCount-=1)})(n),ws(e,t.class_loading),t.unobserve_completed&&_s(e,n)},Ks=(e,t,n)=>{const r=Ls(e)||e;qs(r)||((e,t,n)=>{qs(e)||(e.llEvLisnrs={});const r="VIDEO"===e.tagName?"loadeddata":"load";Zs(e,r,t),Zs(e,"error",n)})(r,(i=>{((e,t,n,r)=>{const i=Cs(t);Xs(t,n,r),xs(t,n.class_loaded),ms(t,ss),bs(n.callback_loaded,t,r),i||Hs(n,r)})(0,e,t,n),Qs(r)}),(i=>{((e,t,n,r)=>{const i=Cs(t);Xs(t,n,r),xs(t,n.class_error),ms(t,cs),bs(n.callback_error,t,r),n.restore_on_error&&js(t,Ms),i||Hs(n,r)})(0,e,t,n),Qs(r)}))},Js=(e,t,n)=>{(e=>zs.indexOf(e.tagName)>-1)(e)?((e,t,n)=>{Ks(e,t,n),((e,t,n)=>{const r=Vs[e.tagName];r&&(r(e,t),Bs(e,t,n))})(e,t,n)})(e,t,n):((e,t,n)=>{(e=>{e.llTempImage=document.createElement("IMG")})(e),Ks(e,t,n),(e=>{Is(e)||(e[is]={backgroundImage:e.style.backgroundImage})})(e),((e,t,n)=>{const r=hs(e,t.data_bg),i=hs(e,t.data_bg_hidpi),a=Xo&&i?i:r;a&&(e.style.backgroundImage=`url("${a}")`,Ls(e).setAttribute(es,a),Bs(e,t,n))})(e,t,n),((e,t,n)=>{const r=hs(e,t.data_bg_multi),i=hs(e,t.data_bg_multi_hidpi),a=Xo&&i?i:r;a&&(e.style.backgroundImage=a,Fs(e,t,n))})(e,t,n),((e,t,n)=>{const r=hs(e,t.data_bg_set);if(!r)return;const i=r.split("|");let a=i.map((e=>`image-set(${e})`));e.style.backgroundImage=a.join(),""===e.style.backgroundImage&&(a=i.map((e=>`-webkit-image-set(${e})`)),e.style.backgroundImage=a.join()),Fs(e,t,n)})(e,t,n)})(e,t,n)},Ys=e=>{e.removeAttribute(es),e.removeAttribute(ts),e.removeAttribute(ns)},el=e=>{ks(e,(e=>{js(e,Ms)})),js(e,Ms)},tl={IMG:el,IFRAME:e=>{js(e,Os)},VIDEO:e=>{Ns(e,(e=>{js(e,Os)})),js(e,Ts),e.load()},OBJECT:e=>{js(e,Ds)}},nl=(e,t)=>{(e=>{const t=tl[e.tagName];t?t(e):(e=>{if(!Is(e))return;const t=Rs(e);e.style.backgroundImage=t.backgroundImage})(e)})(e),((e,t)=>{ys(e)||Cs(e)||(ws(e,t.class_entered),ws(e,t.class_exited),ws(e,t.class_applied),ws(e,t.class_loading),ws(e,t.class_loaded),ws(e,t.class_error))})(e,t),gs(e),Ps(e)},rl=["IMG","IFRAME","VIDEO"],il=e=>e.use_native&&"loading"in HTMLImageElement.prototype,al=(e,t,n)=>{e.forEach((e=>(e=>e.isIntersecting||e.intersectionRatio>0)(e)?((e,t,n,r)=>{const i=(e=>vs.indexOf(fs(e))>=0)(e);ms(e,"entered"),xs(e,n.class_entered),ws(e,n.class_exited),((e,t,n)=>{t.unobserve_entered&&_s(e,n)})(e,n,r),bs(n.callback_enter,e,t,r),i||Js(e,n,r)})(e.target,e,t,n):((e,t,n,r)=>{ys(e)||(xs(e,n.class_exited),((e,t,n,r)=>{n.cancel_on_exit&&(e=>fs(e)===os)(e)&&"IMG"===e.tagName&&(Qs(e),(e=>{ks(e,(e=>{Ys(e)})),Ys(e)})(e),el(e),ws(e,n.class_loading),As(r,-1),gs(e),bs(n.callback_cancel,e,t,r))})(e,t,n,r),bs(n.callback_exit,e,t,r))})(e.target,e,t,n)))},ol=e=>Array.prototype.slice.call(e),sl=e=>e.container.querySelectorAll(e.elements_selector),ll=e=>(e=>fs(e)===cs)(e),cl=(e,t)=>(e=>ol(e).filter(ys))(e||sl(t)),ul=function(e,t){const n=Jo(e);this._settings=n,this.loadingCount=0,((e,t)=>{qo&&!il(e)&&(t._observer=new IntersectionObserver((n=>{al(n,e,t)}),(e=>({root:e.container===document?null:e.container,rootMargin:e.thresholds||e.threshold+"px"}))(e)))})(n,this),((e,t)=>{Zo&&(t._onlineHandler=()=>{((e,t)=>{var n;(n=sl(e),ol(n).filter(ll)).forEach((t=>{ws(t,e.class_error),gs(t)})),t.update()})(e,t)},window.addEventListener("online",t._onlineHandler))})(n,this),this.update(t)};ul.prototype={update:function(e){const t=this._settings,n=cl(e,t);var r,i;Ss(this,n.length),!Wo&&qo?il(t)?((e,t,n)=>{e.forEach((e=>{-1!==rl.indexOf(e.tagName)&&((e,t,n)=>{e.setAttribute("loading","lazy"),Ks(e,t,n),((e,t)=>{const n=Vs[e.tagName];n&&n(e,t)})(e,t),ms(e,us)})(e,t,n)})),Ss(n,0)})(n,t,this):(i=n,(e=>{e.disconnect()})(r=this._observer),((e,t)=>{t.forEach((t=>{e.observe(t)}))})(r,i)):this.loadAll(n)},destroy:function(){this._observer&&this._observer.disconnect(),Zo&&window.removeEventListener("online",this._onlineHandler),sl(this._settings).forEach((e=>{Ps(e)})),delete this._observer,delete this._settings,delete this._onlineHandler,delete this.loadingCount,delete this.toLoadCount},loadAll:function(e){const t=this._settings;cl(e,t).forEach((e=>{_s(e,this),Js(e,t,this)}))},restoreAll:function(){const e=this._settings;sl(e).forEach((t=>{nl(t,e)}))}},ul.load=(e,t)=>{const n=Jo(t);Js(e,n)},ul.resetStatus=e=>{gs(e)},Zo&&((e,t)=>{if(t)if(t.length)for(let n,r=0;n=t[r];r+=1)Yo(e,n);else Yo(e,t)})(ul,window.lazyLoadOptions);var dl={};["line","bar","scatter","pie","radar","funnel","gauge","map","graph","treemap","parallel","sankey","candlestick","boxplot","heatmap","pictorialBar","themeRiver","calendar","custom","sunburst","tree","dataset","geo","lines","dataZoom","rich","graphic"].forEach((function(e){dl[e]=n(9472)("./"+e+".svg")}));var pl=n(6039);["globe","bar3D","scatter3D","surface","map3D","lines3D","line3D","scatterGL","linesGL","flowGL","graphGL","geo3D"].forEach((function(e){dl[e]=pl}));const hl={components:{ExampleCard:Ho},data:function(){var e={};function t(t,n){var r=0;do{for(var i=!1,a=0;a<t.length;a++){var o=t[a];if(!re.hasOwnProperty(o.id)){"string"==typeof o.category&&(o.category=[o.category]);var s=(o.category||[])[r];if(s){i=!0;var l=e[s];l||(l={category:s,examples:[]},e[s]=l),o.isGL=n,l.examples.push(o)}}}if(!i)break}while(++r&&r<4)}return t(se,!1),t(le,!0),{shared:pe,icons:dl,EXAMPLE_CATEGORIES:ne,exampleListByCategory:e}},watch:{"shared.darkMode":function(){for(var e=this.$el.querySelectorAll("img.chart-area"),t=0;t<e.length;t++)ul.resetStatus(e[t]);this._lazyload.update()}},computed:{exampleList:function(){for(var e=[],t=0;t<ne.length;t++){var n=ne[t],r=this.exampleListByCategory[n];r&&r.examples.length>0&&e.push({category:n,examples:r.examples})}return e}},mounted:function(){window.addEventListener("hashchange",this.onHashChange),this._lazyload=new ul({elements_selector:".chart-area",load_delay:400,class_loaded:"ec-shot-loaded",callback_error:function(e){for(var t=e.src,n=e.parentElement.children,r=0,i=n.length;r<i;r++){var a=n[r];a!==e&&(a.srcset=t)}}})},methods:{onHashChange:function(){for(var e,t,n=location.hash,r=this.$refs.scrollactive.items,i=0,a=r.length;i<a;i++)if((t=r[i]).hash===n){e=t;break}(e||r[0]).click()},onActiveNavChanged:function(e,t,n){if(e&&t){history.replaceState(null,null,t.href);var r=this.$refs.leftContainer,i=r.offsetHeight,a=t.parentElement.getBoundingClientRect();if(a.top<0||a.bottom>i){var o=t.offsetTop-i+t.offsetHeight;r.scrollTo?r.scrollTo(0,o):r.scrollTop=o}}}}};var fl=Se(hl,Go,[],!1,null,null,null);fl.options.__file="src/explore/Explore.vue";const ml=fl.exports;var gl=function(){var e=this.$createElement;return(this._self._c||e)("preview")};gl._withStripped=!0;var yl=Se({components:{Preview:ht},mounted:function(){ye().then((function(e){pe.sourceCode=pe.initialCode=pe.runCode=Ce(e)}))}},gl,[],!1,null,null,null);yl.options.__file="src/editor/View.vue";const Cl=yl.exports;var vl=n(9463),bl=n.n(vl);function xl(e,t){var n=new K({locale:t.locale,fallbackLocale:"en",messages:J});if(pe.cdnRoot=t.cdnRoot,pe.version=t.version,pe.locale=t.locale||"en","string"==typeof e&&(e=document.querySelector(e)),!e)throw new Error("Can't find el.");var r=document.createElement("div");e.appendChild(r);var a=t.page;if(a&&"explore"!==a){var o=document.getElementById("v4-link");o&&o.remove()}new(i())({i18n:n,el:r,render:function(e){return e({editor:Bo,explore:ml,view:Cl}[a]||ml)}})}i().use(bl())},9661:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getParameters=void 0;var r=n(6961);t.getParameters=function(e){return t=JSON.stringify(e),r.compressToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");var t}},2662:(e,t,n)=>{"use strict";t.Z=void 0;var r=n(9661);t.Z=r.getParameters},2716:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="175px" height="138px" viewBox="0 0 175 138" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>bar</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="bar" fill="#5067A2" fill-rule="nonzero"> <path d="M121.488231,0 L102.050114,0 C99.36627,-1.1969592e-16 97.1905846,2.17568537 97.1905846,4.85952929 L97.1905846,133.140471 C97.1905846,135.824315 99.36627,138 102.050114,138 L121.488231,138 C124.172075,138 126.34776,135.824315 126.34776,133.140471 L126.34776,4.85952929 C126.34776,2.17568537 124.172075,1.1969592e-16 121.488231,0 Z M170.083523,30.1571753 L150.645406,30.1571753 C147.961562,30.1571753 145.785877,32.3328607 145.785877,35.0167046 L145.785877,132.207289 C145.785877,134.891133 147.961562,137.066819 150.645406,137.066819 L170.083523,137.066819 C172.767367,137.066819 174.943052,134.891133 174.943052,132.207289 L174.943052,35.0167046 C174.943052,32.3328607 172.767367,30.1571753 170.083523,30.1571753 Z M53.4548215,39.8762339 C50.7709777,39.876234 48.5952924,42.0519193 48.5952924,44.7357631 L48.5952924,132.207289 C48.5952924,134.891133 50.7709777,137.066818 53.4548215,137.066819 L72.8929386,137.066819 C75.5767824,137.066818 77.7524677,134.891133 77.7524677,132.207289 L77.7524677,44.7357631 C77.7524676,42.0519193 75.5767824,39.876234 72.8929386,39.8762339 L53.4548215,39.8762339 Z M29.1571753,67.17388 L29.1571753,132.207289 C29.1571753,134.891133 26.9814901,137.066818 24.2976462,137.066819 L4.85952929,137.066819 C2.17568537,137.066819 3.28676086e-16,134.891133 0,132.207289 L0,67.17388 C7.33863613e-08,64.4900361 2.17568542,62.3143508 4.85952929,62.3143508 L24.2976462,62.3143508 C26.98149,62.3143509 29.1571753,64.4900362 29.1571753,67.17388 Z" id="Shape"></path> </g> </g> </svg>'},9286:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="175px" height="98px" viewBox="0 0 175 98" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>boxplot</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="boxplot" fill="#5067A2" fill-rule="nonzero"> <path d="M165.206074,4.85900217 L165.206074,43.7310195 L145.770065,43.7310195 L145.770065,14.5770065 C145.770065,11.8934537 143.594616,9.71800434 140.911063,9.71800434 L72.8850325,9.71800434 C70.2014797,9.71800434 68.0260304,11.8934537 68.0260304,14.5770065 L68.0260304,82.6030369 C68.0260304,85.2865897 70.2014797,87.462039 72.8850325,87.462039 L140.911063,87.462039 C143.594616,87.462039 145.770065,85.2865897 145.770065,82.6030369 L145.770065,53.4490239 L165.206074,53.4490239 L165.206074,92.3210412 C165.206074,95.004594 167.381523,97.1800434 170.065076,97.1800434 C172.748629,97.1800434 174.924078,95.004594 174.924078,92.3210412 L174.924078,4.85900217 C174.924078,2.17544937 172.748629,1.43751749e-14 170.065076,1.42108547e-14 C167.381523,-1.05827854e-15 165.206074,2.17544937 165.206074,4.85900217 Z M58.308026,14.5770065 L58.308026,82.6030369 C58.308026,83.8917244 57.7960969,85.1276306 56.8848572,86.0388703 C55.9736176,86.9501099 54.7377114,87.462039 53.4490239,87.462039 L34.0130152,87.462039 C31.3294624,87.462039 29.154013,85.2865897 29.154013,82.6030369 L29.154013,53.4490239 L9.71800434,53.4490239 L9.71800434,92.3210412 C9.71800434,95.004594 7.54255497,97.1800434 4.85900217,97.1800434 C2.17544937,97.1800434 3.28640434e-16,95.004594 0,92.3210412 L0,4.85900217 C-3.28640434e-16,2.17544937 2.17544937,4.31255248e-14 4.85900217,4.26325641e-14 C7.54255497,4.21396035e-14 9.71800434,2.17544937 9.71800434,4.85900217 L9.71800434,43.7310195 L29.154013,43.7310195 L29.154013,14.5770065 C29.154013,11.8934537 31.3294624,9.71800434 34.0130152,9.71800434 L53.4490239,9.71800434 C56.1325767,9.71800434 58.308026,11.8934537 58.308026,14.5770065 L58.308026,14.5770065 Z" id="Shape"></path> </g> </g> </svg>'},3778:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="164px" height="138px" viewBox="0 0 164 138" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>calendar </title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="calendar-" transform="translate(-0.500000, -0.315789)" fill="#5067A2" fill-rule="nonzero"> <path d="M147.236842,56.3782895 C147.236842,53.9965615 145.304597,52.0657895 142.921053,52.0657895 L125.657895,52.0657895 C123.27435,52.0657895 121.342105,53.9965615 121.342105,56.3782895 L121.342105,65.0032895 C121.342105,67.3850175 123.27435,69.3157895 125.657895,69.3157895 L142.921053,69.3157895 C145.304597,69.3157895 147.236842,67.3850175 147.236842,65.0032895 L147.236842,56.3782895 Z M147.236842,82.2532895 C147.236842,79.8715615 145.304597,77.9407895 142.921053,77.9407895 L125.657895,77.9407895 C123.27435,77.9407895 121.342105,79.8715615 121.342105,82.2532895 L121.342105,90.8782895 C121.342105,93.2600175 123.27435,95.1907895 125.657895,95.1907895 L142.921053,95.1907895 C145.304597,95.1907895 147.236842,93.2600175 147.236842,90.8782895 L147.236842,82.2532895 Z M112.710526,56.3782895 C112.710526,53.9965615 110.778282,52.0657895 108.394737,52.0657895 L91.1315789,52.0657895 C88.7480342,52.0657895 86.8157895,53.9965615 86.8157895,56.3782895 L86.8157895,65.0032895 C86.8157895,67.3850175 88.7480342,69.3157895 91.1315789,69.3157895 L108.394737,69.3157895 C110.778282,69.3157895 112.710526,67.3850175 112.710526,65.0032895 L112.710526,56.3782895 Z M112.710526,82.2532895 C112.710526,79.8715615 110.778282,77.9407895 108.394737,77.9407895 L91.1315789,77.9407895 C88.7480342,77.9407895 86.8157895,79.8715615 86.8157895,82.2532895 L86.8157895,90.8782895 C86.8157895,93.2600175 88.7480342,95.1907895 91.1315789,95.1907895 L108.394737,95.1907895 C110.778282,95.1907895 112.710526,93.2600175 112.710526,90.8782895 L112.710526,82.2532895 Z M112.710526,108.128289 C112.710526,105.746561 110.778282,103.815789 108.394737,103.815789 L91.1315789,103.815789 C88.7480342,103.815789 86.8157895,105.746561 86.8157895,108.128289 L86.8157895,116.753289 C86.8157895,119.135017 88.7480342,121.065789 91.1315789,121.065789 L108.394737,121.065789 C110.778282,121.065789 112.710526,119.135017 112.710526,116.753289 L112.710526,108.128289 Z M78.1842105,56.3782895 C78.1842105,53.9965615 76.2519658,52.0657895 73.8684211,52.0657895 L56.6052632,52.0657895 C54.2217184,52.0657895 52.2894737,53.9965615 52.2894737,56.3782895 L52.2894737,65.0032895 C52.2894737,67.3850175 54.2217184,69.3157895 56.6052632,69.3157895 L73.8684211,69.3157895 C76.2519658,69.3157895 78.1842105,67.3850175 78.1842105,65.0032895 L78.1842105,56.3782895 Z M78.1842105,82.2532895 C78.1842105,79.8715615 76.2519658,77.9407895 73.8684211,77.9407895 L56.6052632,77.9407895 C54.2217184,77.9407895 52.2894737,79.8715615 52.2894737,82.2532895 L52.2894737,90.8782895 C52.2894737,93.2600175 54.2217184,95.1907895 56.6052632,95.1907895 L73.8684211,95.1907895 C76.2519658,95.1907895 78.1842105,93.2600175 78.1842105,90.8782895 L78.1842105,82.2532895 Z M78.1842105,108.128289 C78.1842105,105.746561 76.2519658,103.815789 73.8684211,103.815789 L56.6052632,103.815789 C54.2217184,103.815789 52.2894737,105.746561 52.2894737,108.128289 L52.2894737,116.753289 C52.2894737,119.135017 54.2217184,121.065789 56.6052632,121.065789 L73.8684211,121.065789 C76.2519658,121.065789 78.1842105,119.135017 78.1842105,116.753289 L78.1842105,108.128289 Z M43.6578947,82.2532895 C43.6578947,79.8715615 41.72565,77.9407895 39.3421053,77.9407895 L22.0789474,77.9407895 C19.6954027,77.9407895 17.7631579,79.8715615 17.7631579,82.2532895 L17.7631579,90.8782895 C17.7631579,93.2600175 19.6954027,95.1907895 22.0789474,95.1907895 L39.3421053,95.1907895 C41.72565,95.1907895 43.6578947,93.2600175 43.6578947,90.8782895 L43.6578947,82.2532895 Z M43.6578947,108.128289 C43.6578947,105.746561 41.72565,103.815789 39.3421053,103.815789 L22.0789474,103.815789 C19.6954027,103.815789 17.7631579,105.746561 17.7631579,108.128289 L17.7631579,116.753289 C17.7631579,119.135017 19.6954027,121.065789 22.0789474,121.065789 L39.3421053,121.065789 C41.72565,121.065789 43.6578947,119.135017 43.6578947,116.753289 L43.6578947,108.128289 Z M164.5,39.1282895 L164.5,134.003289 C164.5,136.385017 162.567755,138.315789 160.184211,138.315789 L4.81578947,138.315789 C2.43224476,138.315789 0.5,136.385017 0.5,134.003289 L0.5,39.1282895 C0.5,36.7465615 2.43224476,34.8157895 4.81578947,34.8157895 L160.184211,34.8157895 C162.567755,34.8157895 164.5,36.7465615 164.5,39.1282895 Z M164.5,4.62828947 L164.5,21.8782895 C164.5,24.2600175 162.567755,26.1907895 160.184211,26.1907895 L4.81578947,26.1907895 C2.43224476,26.1907895 0.5,24.2600175 0.5,21.8782895 L0.5,4.62828947 C0.5,2.24656149 2.43224476,0.315789474 4.81578947,0.315789474 L160.184211,0.315789474 C162.567755,0.315789474 164.5,2.24656149 164.5,4.62828947 Z" id="Shape"></path> </g> </g> </svg>'},8821:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="175px" height="138px" viewBox="0 0 175 138" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>Candlestick (1)</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="Candlestick-(1)" fill="#5067A2" fill-rule="nonzero"> <path d="M121.508001,34.0222403 L116.647681,33.0222403 L116.647681,4.86032 C116.647681,2.17603934 114.471642,-7.11961547e-08 111.787361,-7.11961549e-08 C109.10308,-7.1196155e-08 106.927041,2.17603934 106.927041,4.86032 L106.927041,33.0222403 L102.066721,33.0222403 C100.777684,33.0222403 99.5414424,33.5343082 98.6299556,34.4457951 C97.7184688,35.3572819 97.2064009,36.5935234 97.2064009,37.8825604 L97.2064009,105.927041 C97.2064009,107.216078 97.7184688,108.452319 98.6299556,109.363806 C99.5414424,110.275293 100.777684,110.787361 102.066721,110.787361 L106.927041,110.787361 L106.927041,125.572455 C106.927041,128.256735 109.10308,130.432775 111.787361,130.432775 C114.471642,130.432775 116.647681,128.256735 116.647681,125.572455 L116.647681,110.787361 L121.508001,110.787361 C122.797038,110.787361 124.03328,110.275293 124.944766,109.363806 C125.856253,108.452319 126.368321,107.216078 126.368321,105.927041 L126.368321,37.8825604 C126.368321,36.5935233 125.856253,35.3572819 124.944766,34.445795 C124.03328,33.5343082 122.797038,33.0222402 121.508001,33.0222403 L121.508001,34.0222403 Z M170.111202,41.6032004 L165.250881,41.6032004 L165.250881,27.0222403 C165.250881,24.3379598 163.074842,22.1619207 160.390561,22.1619207 C157.706281,22.1619207 155.530242,24.3379598 155.530241,27.0222403 L155.530241,41.6032004 L150.669921,41.6032004 C149.380884,41.6032004 148.144643,42.1152684 147.233156,43.0267552 C146.321669,43.938242 145.809601,45.1744835 145.809601,46.4635205 L145.809601,75.6254408 C145.809601,78.3097214 147.985641,80.4857608 150.669921,80.4857608 L155.530241,80.4857608 L155.530241,104.729037 C155.530241,107.413318 157.706281,109.589357 160.390561,109.589357 C163.074842,109.589357 165.250881,107.413318 165.250881,104.729037 L165.250881,80.4857608 L170.111202,80.4857608 C172.795482,80.4857608 174.971522,78.3097214 174.971522,75.6254408 L174.971522,46.4635205 C174.971522,45.1744835 174.459454,43.938242 173.547967,43.0267552 C172.63648,42.1152684 171.400239,41.6032004 170.111202,41.6032004 L170.111202,41.6032004 Z M72.9048007,84.3460808 L68.0444807,84.3460808 L68.0444807,55.1841605 C68.0444805,52.4998799 65.8684412,50.3238407 63.1841606,50.3238407 C60.49988,50.3238407 58.3238406,52.4998799 58.3238405,55.1841605 L58.3238405,84.3460808 L53.4635205,84.3460808 C52.1744835,84.3460807 50.938242,84.8581487 50.0267552,85.7696355 C49.1152683,86.6811224 48.6032003,87.9173639 48.6032004,89.2064009 L48.6032004,118.368321 C48.6032004,119.657358 49.1152684,120.8936 50.0267552,121.805086 C50.938242,122.716573 52.1744835,123.228641 53.4635205,123.228641 L58.3238405,123.228641 L58.3238405,132.949281 C58.3238406,135.633562 60.49988,137.809601 63.1841606,137.809601 C65.8684412,137.809601 68.0444805,135.633562 68.0444807,132.949281 L68.0444807,123.228641 L72.9048007,123.228641 C75.5890813,123.228641 77.7651206,121.052602 77.7651206,118.368321 L77.7651206,89.2064009 C77.7651207,87.9173639 77.2530527,86.6811224 76.3415659,85.7696356 C75.4300791,84.8581488 74.1938377,84.3460808 72.9048007,84.3460808 Z M29.1619203,41.6032004 L29.1619203,90.2064009 C29.1619203,92.8906815 26.9858809,95.0667209 24.3016003,95.0667209 L19.4412801,95.0667209 L19.4412801,119.572455 C19.4412801,122.256735 17.2652407,124.432775 14.5809601,124.432775 C11.8966795,124.432775 9.72064013,122.256735 9.72064013,119.572455 L9.72064013,95.0667209 L4.86032,95.0667209 C2.17603938,95.0667209 3.28729566e-16,92.8906815 0,90.2064009 L0,41.6032004 C-3.28729566e-16,38.9189198 2.17603938,36.7428804 4.86032,36.7428804 L9.72064013,36.7428804 L9.72064013,12.4412801 C9.72064013,9.75699951 11.8966795,7.58096013 14.5809601,7.58096013 C17.2652407,7.58096013 19.4412801,9.75699951 19.4412801,12.4412801 L19.4412801,36.7428804 L24.3016003,36.7428804 C26.9858809,36.7428804 29.1619203,38.9189198 29.1619203,41.6032004 Z" id="Shape"></path> </g> </g> </svg>'},6455:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="159px" height="142px" viewBox="0 0 159 142" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>custom</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="custom" transform="translate(0.000000, -0.825151)" fill="#5067A2" fill-rule="nonzero"> <path d="M74.8235294,81.2918174 L74.8235294,138.091817 C74.8235294,140.705965 72.7298022,142.825151 70.1470588,142.825151 L4.67647054,142.825151 C2.09372718,142.825151 3.16294839e-16,140.705965 0,138.091817 L0,81.2918174 C-3.63362476e-08,80.0364594 0.492698108,78.8325175 1.36970646,77.9448453 C2.24671482,77.0571731 3.43619342,76.558484 4.67647054,76.558484 L70.1470588,76.558484 C71.387336,76.558484 72.5768146,77.0571731 73.4538229,77.9448453 C74.3308313,78.8325175 74.8235294,80.0364594 74.8235294,81.2918174 Z M74.8235294,5.55848402 L74.8235294,62.358484 C74.8235294,63.6138421 74.3308313,64.817784 73.4538229,65.7054562 C72.5768146,66.5931284 71.387336,67.0918174 70.1470588,67.0918174 L4.67647054,67.0918174 C3.43619342,67.0918174 2.24671482,66.5931284 1.36970646,65.7054562 C0.492698108,64.817784 -3.63362423e-08,63.6138421 0,62.358484 L0,5.55848402 C-2.35506485e-15,4.30312598 0.492698161,3.09918414 1.36970651,2.21151195 C2.24671486,1.32383977 3.43619344,0.825150732 4.67647054,0.825150732 L70.1470588,0.825150732 C72.7298022,0.825150732 74.8235294,2.94433623 74.8235294,5.55848402 Z M159,10.2918174 L159,57.6251507 C159,62.8534463 154.812546,67.0918174 149.647059,67.0918174 L93.5294118,67.0918174 C88.363925,67.0918174 84.1764706,62.8534464 84.1764706,57.6251507 L84.1764706,10.2918174 C84.1764706,5.06352179 88.363925,0.825150732 93.5294118,0.825150732 L149.647059,0.825150732 C154.812546,0.825150809 159,5.06352184 159,10.2918174 Z M154.323529,76.558484 C155.563807,76.558484 156.753285,77.0571731 157.630294,77.9448453 C158.507302,78.8325175 159,80.0364594 159,81.2918174 L159,138.091817 C159,140.705965 156.906273,142.825151 154.323529,142.825151 L88.8529412,142.825151 C86.2701978,142.825151 84.1764706,140.705965 84.1764706,138.091817 L84.1764706,81.2918174 C84.1764706,80.0364594 84.6691687,78.8325175 85.5461771,77.9448453 C86.4231854,77.0571731 87.612664,76.558484 88.8529412,76.558484 L154.323529,76.558484 L154.323529,76.558484 Z M93.5294118,133.358484 L149.647059,133.358484 L149.647059,86.0251507 L93.5294118,86.0251507 L93.5294118,133.358484 L93.5294118,133.358484 Z" id="Shape"></path> </g> </g> </svg>'},6956:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="175px" height="83px" viewBox="0 0 175 83" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>dataZoom</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="dataZoom" fill="#5067A2" fill-rule="nonzero"> <path d="M9.20037003,18.4191593 L9.20957963,13.8143694 L9.20957963,18.4191593 L41.4431082,18.4191593 L41.4431082,64.4670572 L9.20957963,64.4670572 L9.20957963,18.4191593 L9.20037003,18.4191593 Z M133.538904,64.4670572 L133.538904,18.4191593 L165.772433,18.4191593 L165.772433,64.4670572 L133.538904,64.4670572 L133.538904,64.4670572 Z M165.772433,9.20957963 L133.538904,9.20957963 L133.538904,4.60478981 C133.538904,2.06163473 131.47727,2.74466854e-07 128.934115,2.74466854e-07 C126.390959,2.74466855e-07 124.329325,2.06163473 124.329325,4.60478981 L124.329325,9.20957963 L50.6526879,9.20957963 L50.6526879,4.60478981 C50.6526879,2.06163462 48.5910532,-6.1602121e-15 46.047898,-6.31593544e-15 C43.5047429,-6.47165878e-15 41.4431082,2.06163462 41.4431082,4.60478981 L41.4431082,9.20957963 L9.20957963,9.20957963 C4.13510123,9.20957963 0,13.3446809 0,18.4191593 L0,64.4670572 C0,69.5507451 4.13510123,73.6766368 9.20957963,73.6766368 L41.4431082,73.6766368 L41.4431082,78.2814267 C41.4431082,80.8245818 43.5047429,82.8862165 46.047898,82.8862165 C48.5910532,82.8862165 50.6526879,80.8245818 50.6526879,78.2814267 L50.6526879,73.6766368 L124.329325,73.6766368 L124.329325,78.2814267 C124.329325,80.8245818 126.390959,82.8862165 128.934115,82.8862165 C131.47727,82.8862165 133.538904,80.8245818 133.538904,78.2814267 L133.538904,73.6766368 L165.772433,73.6766368 C170.858743,73.6766368 174.982013,69.5533676 174.982013,64.4670572 L174.982013,18.4191593 C174.982013,13.3446809 170.856121,9.20957963 165.772433,9.20957963 Z" id="Shape"></path> </g> </g> </svg>'},4354:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="145px" height="157px" viewBox="0 0 145 157" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>dataset</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="dataset" fill="#5067A2" fill-rule="nonzero"> <path d="M77,133.051622 C77,135.720999 74.7614237,137.884956 72,137.884956 C69.2385763,137.884956 67,135.720999 67,133.051622 L67,92.7182891 C67,90.0489128 69.2385763,87.8849558 72,87.8849558 C74.7614237,87.8849558 77,90.0489128 77,92.7182891 L77,133.051622 Z M87,92.7182888 C87.0000002,90.0489126 89.2385764,87.8849558 92,87.8849558 C94.7614236,87.8849558 96.9999998,90.0489126 97,92.7182888 L97,133.051623 C96.9999998,135.720999 94.7614236,137.884956 92,137.884956 C89.2385764,137.884956 87.0000002,135.720999 87,133.051623 L87,92.7182888 Z M58,133.072456 C58,135.730326 55.7614237,137.884956 53,137.884956 C50.2385763,137.884956 48,135.730326 48,133.072456 L48,73.6974557 C48,71.0395854 50.2385763,68.8849558 53,68.8849558 C55.7614237,68.8849558 58,71.0395854 58,73.6974557 L58,133.072456 Z M39,133.066774 C38.9999999,135.727782 36.7614237,137.884956 34,137.884956 C31.2385763,137.884956 29.0000001,135.727782 29,133.066774 L29,44.7031376 C29,42.0421293 31.2385763,39.8849558 34,39.8849558 C36.7614237,39.8849558 39,42.0421293 39,44.7031376 L39,133.066774 Z M126.3,132.884956 L126.3,63.9913737 C126.403893,62.6917747 125.897136,61.4145164 124.9129,60.4952543 L83.0962,21.7192841 C82.9895,21.6282393 82.8537001,21.5918214 82.7469999,21.5098811 C81.8447692,20.5509026 80.5501183,19.997952 79.1870999,19.9894333 L39,19.9894333 L39,10.8849558 L135.9903,10.8849558 L136,132.884956 L126.3,132.884956 Z M116,146.884956 L10,146.884956 L10,28.8849558 L74.0143636,28.8849558 L74.0143636,58.8841865 C74.0143636,63.8855711 78.3314545,67.9611095 83.6507272,67.9611097 L116,67.9611097 L116,146.884956 Z M144.990333,10.0614263 C144.990333,5.00519104 140.659667,0.884955752 135.323667,0.884955752 L38.6666667,0.884955752 C33.3403334,0.884955752 29.0000001,5.00519104 28.9999999,10.0614263 L28.9999999,19.2378969 L9.66666665,19.2378969 C4.34033332,19.2378969 0,23.3581322 0,28.4143675 L0,147.708485 C0,152.773897 4.34033332,156.884956 9.66666665,156.884956 L116,156.884956 C121.338753,156.884956 125.666667,152.77651 125.666667,147.708485 L125.666667,142.202603 L135.333333,142.202603 C140.672086,142.202603 145,138.094157 145,133.026132 L144.990333,10.0614263 Z" id="Shape"></path> </g> </g> </svg>'},6838:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="175px" height="137px" viewBox="0 0 175 137" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>funnel </title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="funnel-" fill="#5067A2" fill-rule="nonzero"> <path d="M116.331467,108.325366 L60.5285591,108.325366 C58.9291301,108.325102 57.4459378,109.160985 56.6178211,110.52934 C55.7897045,111.897695 55.7371711,113.5994 56.4793063,115.016231 L66.3876358,133.863994 C67.1750739,135.367321 68.7306799,136.310539 70.4277481,136.313655 L106.432278,136.313655 C108.129346,136.310539 109.684952,135.367321 110.47239,133.863994 L120.380719,115.016231 C121.122854,113.5994 121.070321,111.897695 120.242204,110.52934 C119.414088,109.160985 117.930896,108.325102 116.331467,108.325366 L116.331467,108.325366 Z M134.968998,71.0137414 L41.9001683,71.0137414 C40.2925309,71.0025161 38.7981975,71.8401445 37.9688482,73.2173896 C37.139499,74.5946346 37.098146,76.3072185 37.8600561,77.722887 L47.8415098,96.5706503 C48.6348072,98.0648166 50.1899261,98.9971843 51.881622,98.9928896 L125.024106,98.9928896 C126.716211,98.9981743 128.270437,98.0607046 129.055078,96.5615098 L139.00911,77.7137465 C139.754942,76.2976526 139.705659,74.5945859 138.879188,73.2239903 C138.052717,71.8533948 136.569493,71.014997 134.968998,71.0137414 L134.968998,71.0137414 Z M153.63395,35.5759245 L23.2352156,35.5759245 C21.6347203,35.5771801 20.151496,36.4155778 19.325025,37.7861734 C18.498554,39.156769 18.4492717,40.8598357 19.1951033,42.2759296 L29.1491354,61.1145524 C29.9359394,62.6172637 31.4930184,63.5578521 33.1892477,63.5550727 L143.70734,63.5550727 C145.402425,63.5537423 146.957543,62.6143387 147.747452,61.1145524 L157.674063,42.266789 C158.415446,40.8514003 158.363824,39.1515952 157.537917,37.7838041 C156.712011,36.4160129 155.231751,35.5788553 153.63395,35.5759245 L153.63395,35.5759245 Z M174.995358,4.69922974 C174.994253,5.44166711 174.81229,6.17265769 174.465208,6.82897225 L164.538597,25.6767355 C163.746223,27.1729824 162.191592,28.108575 160.498485,28.1081153 L14.4968732,28.1081153 C12.8031994,28.1106197 11.2475937,27.1744407 10.4567611,25.6767355 L0.530150516,6.82897225 C-0.215681017,5.41287837 -0.166398756,3.70981169 0.660072225,2.33921611 C1.48654321,0.96862053 2.96976742,0.130222778 4.57026264,0.1289671 L170.425096,0.1289671 C172.949182,0.1289671 174.995358,2.17514338 174.995358,4.69922974 L174.995358,4.69922974 Z" id="Shape"></path> </g> </g> </svg>'},423:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="175px" height="100px" viewBox="0 0 175 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>gange</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="gange" fill="#5067A2" fill-rule="nonzero"> <path d="M143.698895,82.9089367 C142.437361,67.6655629 135.026556,53.5920156 123.171797,43.9267897 L135.7146,25.9137777 C153.409366,39.7333892 164.305583,60.4959162 165.625777,82.9089367 L143.698895,82.9089367 L143.698895,82.9089367 Z M115.601912,38.6960173 C112.342946,36.8541942 108.909619,35.339582 105.352176,34.174346 L107.654453,22.8655635 C107.981818,21.2534161 107.424245,19.5890834 106.191766,18.4995036 C104.959288,17.4099237 103.239147,17.0606298 101.679304,17.5831975 C100.119461,18.1057651 98.9568933,19.4208039 98.6295287,21.0329513 L96.4193432,31.8996968 C93.4676767,31.3974455 90.4804994,31.132603 87.4865101,31.1077136 C77.1817177,31.1042083 67.0761605,33.9468942 58.284434,39.3222365 L45.5021944,21.4934066 C70.6181595,5.43266895 102.701308,5.12868193 128.117087,20.7106326 L115.601912,38.6960173 L115.601912,38.6960173 Z M31.2649159,82.9089367 L9.34724295,82.9089367 C10.6455448,61.0475255 21.0636813,40.7358347 38.0612364,26.9267794 L50.843476,44.7464001 C39.5322634,54.3814577 32.493597,68.101229 31.2649159,82.9089367 L31.2649159,82.9089367 Z M87.4865101,0.0269797767 C39.2492112,0.0269797767 0,39.276191 0,87.5134899 C5.46353103e-08,90.0565144 2.06152873,92.118043 4.60455321,92.118043 L35.685287,92.118043 C38.2283115,92.118043 40.2898401,90.0565144 40.2898401,87.5134899 C40.315223,61.4580101 61.4310302,40.3422029 87.4865101,40.31682 C89.908505,40.31682 92.2384089,40.6759751 94.5683128,41.0351302 L86.9247546,78.6451205 C82.0531374,79.4923583 78.2774037,83.5443651 78.2774037,88.6646282 C78.2774037,94.3864333 82.9158433,99.0248728 88.6376484,99.0248728 C94.3594535,99.0248728 98.997893,94.3864333 98.997893,88.6646282 C98.997893,85.7361324 97.7546637,83.102328 95.793124,81.2236703 L103.501146,43.3005704 C121.633876,49.8942906 134.68318,67.1337376 134.68318,87.5134899 C134.68318,90.0565144 136.744709,92.118043 139.287733,92.118043 L170.368467,92.118043 C172.911491,92.118043 174.97302,90.0565144 174.97302,87.5134899 C174.97302,39.276191 135.723809,0.0269798756 87.4865101,0.0269797767 L87.4865101,0.0269797767 Z" id="Shape"></path> </g> </g> </svg>'},7876:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="175px" height="142px" viewBox="0 0 175 142" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>geo</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="geo" fill="#5067A2" fill-rule="nonzero"> <path d="M9.20332621,34.019885 L55.2181167,56.861627 L55.2181167,128.571076 L9.20332621,103.207724 L9.20332621,34.019885 Z M171.819596,50.2815119 L151.996424,43.1124076 C149.63126,42.3318353 147.074346,43.5747977 146.227189,45.9169373 C145.380032,48.2590769 146.550177,50.8501245 148.867418,51.7631882 L165.653614,57.8371405 L165.653614,131.138702 L119.638823,119.625801 L119.638823,87.4706656 C119.638823,84.9293389 117.578671,82.8691865 115.037344,82.8691865 C112.496018,82.8691865 110.435865,84.9293389 110.435865,87.4706656 L110.435865,119.644207 L64.4210748,131.41479 L64.4210748,58.2236647 L81.060023,51.7263763 C83.2914479,50.7138845 84.3410975,48.1328302 83.4496557,45.8503474 C82.5582139,43.5678645 80.037126,42.3813901 77.7101463,43.1492194 L61.2460542,49.5820871 L6.64490386,22.4793755 C5.21943693,21.7614379 3.52312776,21.8367966 2.16693957,22.6783095 C0.810751382,23.5198224 -0.00997312356,25.0062796 0.000368118324,26.6023007 L0.000368118324,105.913394 C0.000368118324,107.597535 0.91146097,109.134429 2.38393426,109.944289 L58.8072703,141.059491 C59.8287987,141.620871 61.0435892,141.795727 62.16635,141.49203 L115.046547,127.963681 L169.141535,141.501233 C170.516378,141.840666 171.970958,141.532118 173.089604,140.663763 C174.206625,139.788526 174.858383,138.44767 174.856572,137.028595 L174.856572,54.6069022 C174.855748,52.6695411 173.64154,50.9402146 171.819596,50.2815119 Z M115.037344,16.5986853 C121.13907,16.6012266 126.083435,21.5497125 126.080894,27.651438 C126.078353,33.7531634 121.129867,38.697529 115.028141,38.6949877 C108.926416,38.6924463 103.98205,33.7439604 103.984592,27.642235 C103.987133,21.5405096 108.935619,16.596144 115.037344,16.5986853 L115.037344,16.5986853 Z M99.5763747,54.7173377 C102.208421,58.3341002 105.00612,61.9140509 107.813022,65.199507 C108.806942,66.3866886 109.718035,67.4358258 110.491083,68.3285127 C111.04326,68.8806902 111.402176,69.2856204 111.558626,69.4512736 C112.438859,70.4713636 113.723372,71.0524431 115.07068,71.0400337 C116.417988,71.0276243 117.69158,70.4229833 118.552874,69.3868529 C118.72773,69.2211997 119.06824,68.8254725 119.555997,68.264092 C120.506081,67.2663872 121.406012,66.2220982 122.252463,65.1350863 C125.059366,61.8496302 127.866268,58.2788825 130.498314,54.6437141 C133.121157,51.0177486 135.412694,47.4470008 137.262488,44.0879211 C140.741206,37.8851274 142.646219,32.5382087 142.646219,28.1207888 C142.701436,12.5861956 130.314255,0.0425636812 115.028141,0.0425636812 C99.7604339,0.0425636812 87.42847,12.5861956 87.42847,28.1207888 C87.42847,32.5382087 89.3334823,37.9403451 92.8029975,44.1523418 C94.7172128,47.5114215 97.0087494,51.0729663 99.5763747,54.7173377 Z" id="Shape"></path> </g> </g> </svg>'},6039:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="175px" height="120px" viewBox="0 0 175 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>gl</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="gl" fill="#5067A2"> <path d="M170.394737,101.315789 L119.736842,101.315789 L119.736842,4.60526316 C119.736842,2.06315789 117.673684,0 115.131579,0 L105.921053,0 C103.378947,0 101.315789,2.06315789 101.315789,4.60526316 L101.315789,115.131579 C101.315789,117.673684 103.378947,119.736842 105.921053,119.736842 L170.394737,119.736842 C172.936842,119.736842 175,117.673684 175,115.131579 L175,105.921053 C175,103.378947 172.936842,101.315789 170.394737,101.315789" id="Fill-1"></path> <path d="M78.2894737,0 L4.60526316,0 C2.06315789,0 0,2.06315789 0,4.60526316 L0,115.131579 C0,117.673684 2.06315789,119.736842 4.60526316,119.736842 L78.2894737,119.736842 C80.8315789,119.736842 82.8947368,117.673684 82.8947368,115.131579 L82.8947368,59.8684211 C82.8947368,57.3263158 80.8315789,55.2631579 78.2894737,55.2631579 L41.4473684,55.2631579 C38.9052632,55.2631579 36.8421053,57.3263158 36.8421053,59.8684211 L36.8421053,69.0789474 C36.8421053,71.6210526 38.9052632,73.6842105 41.4473684,73.6842105 L64.4736842,73.6842105 L64.4736842,101.315789 L18.4210526,101.315789 L18.4210526,18.4210526 L64.4736842,18.4210526 L64.4736842,32.2368421 C64.4736842,34.7789474 66.5368421,36.8421053 69.0789474,36.8421053 L78.2894737,36.8421053 C80.8315789,36.8421053 82.8947368,34.7789474 82.8947368,32.2368421 L82.8947368,4.60526316 C82.8947368,2.06315789 80.8315789,0 78.2894737,0" id="Fill-3"></path> </g> </g> </svg>'},4104:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="171px" height="146px" viewBox="0 0 171 146" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>graph</title> <desc>Created with Sketch.</desc> <defs> <polygon id="path-1" points="0.06 0 171 0 171 146 0.06 146"></polygon> </defs> <g id="graph" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <mask id="mask-2" fill="white"> <use xlink:href="#path-1"></use> </mask> <g id="Clip-2"></g> <path d="M171,100 C171,106.075 166.075,111 160,111 C154.016,111 149.158,106.219 149.014,100.27 L114.105,83.503 C111.564,86.693 108.179,89.18 104.282,90.616 L108.698,124.651 C112.951,126.172 116,130.225 116,135 C116,141.075 111.075,146 105,146 C98.925,146 94,141.075 94,135 C94,131.233 95.896,127.912 98.781,125.93 L94.364,91.896 C82.94,90.82 74,81.206 74,69.5 C74,69.479 74.001,69.46 74.001,69.439 L53.719,64.759 C50.642,70.269 44.76,74 38,74 C36.07,74 34.215,73.689 32.472,73.127 L20.624,90.679 C21.499,92.256 22,94.068 22,96 C22,102.075 17.075,107 11,107 C4.925,107 0,102.075 0,96 C0,89.925 4.925,85 11,85 C11.452,85 11.895,85.035 12.332,85.089 L24.184,67.531 C21.574,64.407 20,60.389 20,56 C20,48.496 24.594,42.07 31.121,39.368 L29.111,21.279 C24.958,19.707 22,15.704 22,11 C22,4.925 26.925,0 33,0 C39.075,0 44,4.925 44,11 C44,14.838 42.031,18.214 39.051,20.182 L41.061,38.279 C49.223,39.681 55.49,46.564 55.95,55.011 L76.245,59.694 C79.889,52.181 87.589,47 96.5,47 C100.902,47 105.006,48.269 108.475,50.455 L131.538,27.391 C131.192,26.322 131,25.184 131,24 C131,17.925 135.925,13 142,13 C148.075,13 153,17.925 153,24 C153,30.075 148.075,35 142,35 C140.816,35 139.678,34.808 138.609,34.461 L115.546,57.525 C117.73,60.994 119,65.098 119,69.5 C119,71.216 118.802,72.884 118.438,74.49 L153.345,91.257 C155.193,89.847 157.495,89 160,89 C166.075,89 171,93.925 171,100" id="Fill-1" fill="#4F608A" mask="url(#mask-2)"></path> </g> </svg>'},9706:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="175px" height="159px" viewBox="0 0 462 425" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>drag</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="drag" transform="translate(0.000000, 0.000000)" fill="#5067A2" fill-rule="nonzero"> <path d="M79.180 5.682 C 77.353 6.582,74.653 8.899,73.180 10.831 L 70.500 14.343 70.231 88.570 L 69.963 162.796 77.731 159.441 C 82.004 157.596,89.209 155.054,93.742 153.793 L 101.985 151.500 101.992 93.750 L 102.000 36.000 181.990 36.000 L 261.979 36.000 262.240 80.523 L 262.500 125.046 275.500 103.293 C 282.650 91.329,289.756 80.101,291.292 78.341 L 294.084 75.141 293.792 44.741 L 293.500 14.341 290.806 10.811 C 285.266 3.551,292.430 3.997,181.849 4.023 C 91.911 4.043,82.185 4.201,79.180 5.682 M311.115 83.994 C 309.254 84.439,306.274 86.309,304.493 88.151 C 302.713 89.993,287.457 114.549,270.592 142.720 L 239.929 193.941 245.714 201.241 C 248.896 205.256,253.474 211.583,255.887 215.300 L 260.273 222.059 287.051 177.415 C 301.778 152.862,314.206 132.394,314.667 131.933 C 315.129 131.471,336.716 167.185,362.639 211.297 L 409.772 291.500 343.886 291.757 L 278.000 292.014 277.994 297.257 C 277.991 300.141,277.316 306.961,276.494 312.413 C 275.672 317.865,275.000 322.710,275.000 323.180 C 275.000 323.649,312.913 323.913,359.250 323.767 L 443.500 323.500 446.867 321.099 C 450.558 318.466,453.944 312.087,453.978 307.700 C 453.990 306.161,453.269 303.461,452.376 301.700 C 449.195 295.431,328.682 90.466,327.108 88.648 C 323.640 84.642,316.771 82.643,311.115 83.994 M117.500 165.075 C 95.571 168.089,72.901 177.575,55.448 191.040 C 46.990 197.565,33.428 212.273,27.622 221.215 C 12.681 244.229,6.556 264.810,6.556 292.000 C 6.556 327.714,18.637 356.894,43.871 382.129 C 69.106 407.363,98.286 419.444,134.000 419.444 C 169.714 419.444,198.894 407.363,224.129 382.129 C 249.363 356.894,261.444 327.714,261.444 292.000 C 261.444 256.286,249.363 227.106,224.129 201.871 C 205.301 183.044,184.567 171.867,158.500 166.494 C 148.840 164.503,127.131 163.752,117.500 165.075 M152.500 197.894 C 171.472 201.830,187.063 210.053,200.845 223.391 C 233.829 255.313,239.409 306.894,213.983 344.852 C 180.286 395.159,110.583 402.639,67.155 360.609 C 23.308 318.174,30.084 246.222,81.148 212.017 C 101.731 198.230,128.542 192.923,152.500 197.894" id="Path"></path> </g> </g> </svg>'},704:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="165px" height="137px" viewBox="0 0 165 137" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>heatmap</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="heatmap" transform="translate(-0.500000, -0.474277)" fill-rule="nonzero"> <path d="M44.5999999,89.4742765 L5.40000005,89.4742765 C2.6938048,89.4742765 0.500000074,87.2916647 0.5,84.5992766 L0.5,55.3492765 C0.500000074,52.6568883 2.6938048,50.4742765 5.40000005,50.4742765 L44.5999999,50.4742765 C47.3061952,50.4742765 49.4999999,52.6568883 49.5,55.3492765 L49.5,84.5992766 C49.4999999,87.2916647 47.3061952,89.4742765 44.5999999,89.4742765" id="Path" fill="#687DB0"></path> <path d="M102.6,89.4742765 L63.3999999,89.4742765 C60.6938047,89.4742765 58.5000001,87.2916647 58.5,84.5992766 L58.5,55.3492765 C58.5000001,52.6568884 60.6938047,50.4742766 63.3999999,50.4742765 L102.6,50.4742765 C105.306195,50.4742765 107.5,52.6568883 107.5,55.3492765 L107.5,84.5992766 C107.5,87.2916647 105.306195,89.4742765 102.6,89.4742765" id="Path" fill="#8497C0"></path> <path d="M160.6,89.4742765 L121.4,89.4742765 C118.693805,89.4742765 116.5,87.2916647 116.5,84.5992766 L116.5,55.3492765 C116.5,52.6568884 118.693805,50.4742766 121.4,50.4742765 L160.6,50.4742765 C163.306195,50.4742766 165.5,52.6568884 165.5,55.3492765 L165.5,84.5992766 C165.5,87.2916647 163.306195,89.4742765 160.6,89.4742765" id="Path" fill="#A7B4D1"></path> <path d="M44.5999999,137.474277 L5.40000005,137.474277 C2.69380475,137.474277 0.5,135.291665 0.5,132.599276 L0.5,103.349277 C0.5,100.656888 2.69380475,98.4742765 5.40000005,98.4742765 L44.5999999,98.4742765 C45.8995608,98.4742765 47.1458949,98.9878911 48.0648232,99.902131 C48.9837515,100.816371 49.5,102.056346 49.5,103.349277 L49.5,132.599276 C49.5,135.291665 47.3061953,137.474277 44.5999999,137.474277" id="Path" fill="#8497C0"></path> <path d="M102.6,137.474277 L63.3999999,137.474277 C60.6938047,137.474276 58.5,135.291665 58.5,132.599276 L58.5,103.349277 C58.5,100.656888 60.6938047,98.4742766 63.3999999,98.4742765 L102.6,98.4742765 C105.306195,98.4742765 107.5,100.656888 107.5,103.349277 L107.5,132.599276 C107.5,135.291665 105.306195,137.474277 102.6,137.474277" id="Path" fill="#A7B4D1"></path> <path d="M160.6,137.474277 L121.4,137.474277 C118.693805,137.474276 116.5,135.291665 116.5,132.599276 L116.5,103.349277 C116.5,100.656888 118.693805,98.4742766 121.4,98.4742765 L160.6,98.4742765 C163.306195,98.4742766 165.5,100.656888 165.5,103.349277 L165.5,132.599276 C165.5,135.291665 163.306195,137.474276 160.6,137.474277" id="Path" fill="#CDD5E3"></path> <path d="M5.40000005,0.474276527 L44.5999999,0.474276527 C47.3061953,0.474276527 49.5,2.65688839 49.5,5.34927658 L49.5,34.5992765 C49.5,37.2916647 47.3061953,39.4742765 44.5999999,39.4742765 L5.40000005,39.4742765 C2.69380475,39.4742765 0.5,37.2916647 0.5,34.5992765 L0.5,5.34927658 C0.5,2.65688839 2.69380475,0.474276527 5.40000005,0.474276527" id="Path" fill="#5067A2"></path> <path d="M102.6,39.4742765 L63.3999999,39.4742765 C60.6938047,39.4742765 58.5,37.2916646 58.5,34.5992765 L58.5,5.34927658 C58.5,2.65688845 60.6938047,0.474276601 63.3999999,0.474276527 L102.6,0.474276527 C105.306195,0.474276527 107.5,2.65688839 107.5,5.34927658 L107.5,34.5992765 C107.5,37.2916647 105.306195,39.4742765 102.6,39.4742765" id="Path" fill="#687DB0"></path> <path d="M160.6,39.4742765 L121.4,39.4742765 C118.693805,39.4742765 116.5,37.2916646 116.5,34.5992765 L116.5,5.34927658 C116.5,2.65688845 118.693805,0.474276601 121.4,0.474276527 L160.6,0.474276527 C163.306195,0.474276601 165.5,2.65688845 165.5,5.34927658 L165.5,34.5992765 C165.5,37.2916646 163.306195,39.4742765 160.6,39.4742765" id="Path" fill="#8497C0"></path> </g> </g> </svg>'},4713:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="175px" height="138px" viewBox="0 0 175 138" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>line</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="line" fill="#5067A2" fill-rule="nonzero"> <path d="M25.2739189,111.655778 C26.7855309,111.657407 28.2007506,110.913642 29.0567232,109.667735 L69.3606163,51.4346379 L108.642876,94.5825372 C109.596174,95.6275458 110.977093,96.1760957 112.387618,96.0700817 C113.798143,95.9640677 115.081554,95.2152689 115.86794,94.0395069 L167.15209,17.582681 C168.126301,16.2187314 168.281888,14.4329668 167.558237,12.9210891 C166.834585,11.4092114 165.346152,10.4103472 163.672804,10.3136363 C161.999456,10.2169253 160.40586,11.0376639 159.512851,12.4561069 L111.496086,84.0348638 L72.2782537,40.9605957 C71.3313898,39.926718 69.968454,39.3754562 68.5690807,39.4603596 C67.1694417,39.5586882 65.8899144,40.2864616 65.0900052,41.4391988 L21.4911146,104.439918 C20.5200574,105.846972 20.4090348,107.676368 21.202809,109.190526 C21.9965833,110.704685 23.5643138,111.65402 25.2739189,111.655778" id="Path"></path> <path d="M170.272214,127.854648 L9.20390349,127.854648 L9.20390349,5.00465881 C9.20390349,2.46307104 7.14353951,0.402707066 4.60195174,0.402707066 C2.06036398,0.402707066 3.11254732e-16,2.46307104 0,5.00465881 L0,132.4566 C3.11254728e-16,134.998188 2.06036395,137.058552 4.60195168,137.058552 L170.272214,137.058552 C172.813801,137.058552 174.874165,134.998188 174.874165,132.4566 C174.874165,129.915012 172.813801,129.257355 170.272214,129.257355" id="Path"></path> </g> </g> </svg>'},9056:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="163px" height="137px" viewBox="0 0 163 137" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>lines</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="lines" fill="#5067A2" fill-rule="nonzero"> <path d="M118.024118,118.8 C120.522388,118.8 122.566427,120.8475 122.566427,123.35 C122.566427,125.8525 120.522388,127.9 118.024118,127.9 C115.517543,127.894993 113.486807,125.860819 113.481809,123.35 C113.481809,120.8475 115.525848,118.8 118.024118,118.8 Z M142.434485,46 L64.9673569,46 C62.4587091,46 60.4250482,48.0371044 60.4250482,50.55 C60.4250482,53.0628956 62.4587091,55.1 64.9673569,55.1 L142.034762,55.0909 C149.519307,56.1087027 154.7743,62.9956941 153.790257,70.4972 C152.963556,76.6852 148.066948,81.5264 142.434485,82.2544 L20.6642736,82.2726 C14.6272756,82.8301001 9.06337697,85.7822231 5.21133949,90.4717 C0.0521031846,96.7506172 -1.39663076,105.298969 1.40493936,112.931618 C4.20650947,120.564268 10.8382585,126.136619 18.8291809,127.5724 L105.232977,127.8909 C107.143393,133.33221 112.265894,136.980155 118.024118,137 C125.537097,137 131.651044,130.8757 131.651044,123.35 C131.651044,115.8243 125.537097,109.7 118.024118,109.7 C112.110032,109.7 107.113492,113.5129 105.232977,118.8 L21.8634431,118.8728 L20.4099043,118.618 C14.3307333,117.521702 9.72082575,112.509885 9.12680957,106.3512 C8.77445503,102.712306 9.88625731,99.0830035 12.2155795,96.2684 C14.5594108,93.4383 17.8571269,91.6911 21.0912506,91.3544 L142.988646,91.3271 C153.280464,90.058092 161.421536,81.9929721 162.802197,71.6984 C164.446513,59.2314 155.679857,47.729 142.434485,46 Z" id="Shape"></path> <path d="M31.9999101,18.2496933 C36.9704563,18.2496933 40.9998801,22.3350263 40.9998801,27.37454 C40.9998801,32.4140537 36.9704563,36.4993867 31.9999101,36.4993867 C27.0293639,36.4993867 22.9999401,32.4140537 22.9999401,27.37454 C22.9999401,22.3350263 27.0293639,18.2496933 31.9999101,18.2496933 Z M16.8799604,56.2181803 C19.4539519,59.9411177 22.1809428,63.6184309 24.9259336,66.9946242 C25.9069304,68.2173537 26.7979274,69.3032104 27.5539249,70.2156951 C28.1029231,70.7814356 28.435922,71.1920537 28.5979214,71.3654258 C30.4699152,73.555389 33.5839048,73.555389 35.4378986,71.3015518 C35.617898,71.1373046 35.932897,70.7266865 36.4188954,70.1518212 C37.2648925,69.2393365 38.1288897,68.1443549 39.0558866,66.9307503 C41.8008774,63.554557 44.5368683,59.8863687 47.1108598,56.1451815 C49.6758512,52.4131192 51.9258437,48.7449309 53.7348377,45.2957388 C57.1368264,38.917471 58.9998202,33.4243133 58.9998202,28.8710148 C59.05382,12.911658 46.9398603,0 31.9909101,0 C17.0509599,0 5,12.911658 5,28.8710148 C5,33.4243133 6.8629938,38.9722201 10.2559825,45.3596128 C12.1279763,48.8088048 14.3689688,52.4678683 16.8799604,56.2181803 Z" id="Shape"></path> </g> </g> </svg>'},8038:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="175px" height="142px" viewBox="0 0 175 142" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>geo</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="geo" fill="#5067A2" fill-rule="nonzero"> <path d="M9.20332621,34.019885 L55.2181167,56.861627 L55.2181167,128.571076 L9.20332621,103.207724 L9.20332621,34.019885 Z M171.819596,50.2815119 L151.996424,43.1124076 C149.63126,42.3318353 147.074346,43.5747977 146.227189,45.9169373 C145.380032,48.2590769 146.550177,50.8501245 148.867418,51.7631882 L165.653614,57.8371405 L165.653614,131.138702 L119.638823,119.625801 L119.638823,87.4706656 C119.638823,84.9293389 117.578671,82.8691865 115.037344,82.8691865 C112.496018,82.8691865 110.435865,84.9293389 110.435865,87.4706656 L110.435865,119.644207 L64.4210748,131.41479 L64.4210748,58.2236647 L81.060023,51.7263763 C83.2914479,50.7138845 84.3410975,48.1328302 83.4496557,45.8503474 C82.5582139,43.5678645 80.037126,42.3813901 77.7101463,43.1492194 L61.2460542,49.5820871 L6.64490386,22.4793755 C5.21943693,21.7614379 3.52312776,21.8367966 2.16693957,22.6783095 C0.810751382,23.5198224 -0.00997312356,25.0062796 0.000368118324,26.6023007 L0.000368118324,105.913394 C0.000368118324,107.597535 0.91146097,109.134429 2.38393426,109.944289 L58.8072703,141.059491 C59.8287987,141.620871 61.0435892,141.795727 62.16635,141.49203 L115.046547,127.963681 L169.141535,141.501233 C170.516378,141.840666 171.970958,141.532118 173.089604,140.663763 C174.206625,139.788526 174.858383,138.44767 174.856572,137.028595 L174.856572,54.6069022 C174.855748,52.6695411 173.64154,50.9402146 171.819596,50.2815119 Z M115.037344,16.5986853 C121.13907,16.6012266 126.083435,21.5497125 126.080894,27.651438 C126.078353,33.7531634 121.129867,38.697529 115.028141,38.6949877 C108.926416,38.6924463 103.98205,33.7439604 103.984592,27.642235 C103.987133,21.5405096 108.935619,16.596144 115.037344,16.5986853 L115.037344,16.5986853 Z M99.5763747,54.7173377 C102.208421,58.3341002 105.00612,61.9140509 107.813022,65.199507 C108.806942,66.3866886 109.718035,67.4358258 110.491083,68.3285127 C111.04326,68.8806902 111.402176,69.2856204 111.558626,69.4512736 C112.438859,70.4713636 113.723372,71.0524431 115.07068,71.0400337 C116.417988,71.0276243 117.69158,70.4229833 118.552874,69.3868529 C118.72773,69.2211997 119.06824,68.8254725 119.555997,68.264092 C120.506081,67.2663872 121.406012,66.2220982 122.252463,65.1350863 C125.059366,61.8496302 127.866268,58.2788825 130.498314,54.6437141 C133.121157,51.0177486 135.412694,47.4470008 137.262488,44.0879211 C140.741206,37.8851274 142.646219,32.5382087 142.646219,28.1207888 C142.701436,12.5861956 130.314255,0.0425636812 115.028141,0.0425636812 C99.7604339,0.0425636812 87.42847,12.5861956 87.42847,28.1207888 C87.42847,32.5382087 89.3334823,37.9403451 92.8029975,44.1523418 C94.7172128,47.5114215 97.0087494,51.0729663 99.5763747,54.7173377 Z" id="Shape"></path> </g> </g> </svg>'},9719:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="175px" height="148px" viewBox="0 0 175 148" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>parallel</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="parallel" fill="#5067A2" fill-rule="nonzero"> <path d="M119.966527,90.2642567 L119.966527,71.4595035 L164.953975,91.1040224 L164.953975,117.16675 L119.966527,90.2642567 Z M99.5422259,68.8202399 L109.969317,68.8202399 L109.969317,80.2370544 L99.5422259,68.8202399 Z M64.9818688,58.8230293 L64.9818688,45.8666444 L76.8485579,58.8230293 L64.9818688,58.8230293 L64.9818688,58.8230293 Z M9.99721065,95.6627504 L9.99721065,37.9888424 L54.9846583,37.9888424 L54.9846583,61.3523236 L9.99721065,95.6627504 Z M170,2.04051565e-11 C167.238576,2.04245402e-11 165,2.23857623 165,4.99999995 L165,80.2194419 L120,60.5694419 L120,5.00139509 C120,2.23997133 117.761424,0.00139506489 115,0.00139506489 C112.238576,0.00139506489 110,2.23997133 110,5.00139509 L110,58.8394419 L90.42,58.8394419 L64.9999999,31.059442 L64.9999999,5.00139509 C64.9999999,2.23997137 62.7614237,0.00139513813 60,0.00139513813 C57.2385763,0.00139513813 55,2.23997137 55,5.00139509 L55,27.999442 L10,27.999442 L10,4.99999995 C10,2.23857619 7.76142378,-7.3221713e-08 5.00000002,-7.32217131e-08 C2.23857626,-7.32217133e-08 3.38176877e-16,2.23857619 0,4.99999995 L0,142.999442 C3.38176877e-16,145.760866 2.23857626,147.999442 5.00000002,147.999442 C7.76142378,147.999442 10,145.760866 10,142.999442 L10,108.249442 L55,73.9494419 L55,142.999442 C55,145.760866 57.2385763,147.999442 60,147.999442 C62.7614237,147.999442 64.9999999,145.760866 64.9999999,142.999442 L64.9999999,68.839442 L86.01,68.839442 L110,95.0694419 L110,142.999442 C110,145.760866 112.238576,147.999442 115,147.999442 C117.761424,147.999442 120,145.760866 120,142.999442 L120,101.939442 L165,128.839442 L165,142.999442 C165,145.760866 167.238576,147.999442 170,147.999442 C172.761424,147.999442 175,145.760866 175,142.999442 L175,4.99999995 C175,3.67391749 174.473216,2.40214791 173.535534,1.46446603 C172.597852,0.526784141 171.326082,-3.88296707e-08 170,2.04051565e-11 Z" id="Shape"></path> </g> </g> </svg>'},9970:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="175px" height="141px" viewBox="0 0 175 141" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>pictorialBar</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="pictorialBar" fill="#5067A2" fill-rule="nonzero"> <path d="M165.182447,113.123194 C161.75364,113.169204 158.605604,115.027549 156.908673,118.007359 L62.4782339,118.007359 C59.7807842,118.007359 57.5940692,120.194074 57.5940692,122.891524 C57.5940692,125.588973 59.7807842,127.775688 62.4782339,127.775688 L156.908673,127.775688 C158.605604,130.755498 161.75364,132.613843 165.182447,132.659853 C170.576885,132.6592 174.949595,128.285961 174.949595,122.891524 C174.949595,117.497086 170.576885,113.123847 165.182447,113.123194 L165.182447,113.123194 Z M165.182447,78.9340419 C161.75364,78.980052 158.605603,80.8383969 156.908673,83.8182066 L77.2674843,83.8182066 C74.5700347,83.8182066 72.3833197,86.0049216 72.3833197,88.7023712 C72.3833197,91.3998208 74.5700347,93.5865358 77.2674843,93.5865358 L156.908673,93.5865358 C158.605603,96.5663455 161.75364,98.4246904 165.182447,98.4707005 C170.577347,98.4707005 174.950777,94.0972705 174.950777,88.7023712 C174.950777,83.3074719 170.577347,78.9340419 165.182447,78.9340419 L165.182447,78.9340419 Z M165.182447,44.7448896 C170.407595,44.9786234 174.523583,49.2828462 174.523583,54.5132188 C174.523583,59.7435915 170.407595,64.0478142 165.182447,64.2815481 C161.75364,64.235538 158.605604,62.3771932 156.908673,59.3973835 L77.2674843,59.3973835 C74.5700346,59.3973835 72.3833196,57.2106685 72.3833196,54.5132188 C72.3833196,51.8157692 74.5700346,49.6290542 77.2674843,49.6290542 L156.908673,49.6290542 C158.605604,46.6492445 161.75364,44.7908997 165.182447,44.7448896 Z M62.6149904,20.3240665 C62.6149904,19.0287054 63.1295706,17.7863991 64.0455291,16.8704405 C64.9614877,15.954482 66.2037941,15.4399018 67.4991551,15.4399019 L156.908673,15.4399019 C158.605604,12.4600922 161.75364,10.6017474 165.182447,10.5557373 C170.407595,10.7894711 174.523583,15.0936938 174.523583,20.3240665 C174.523583,25.5544392 170.407595,29.8586619 165.182447,30.0923957 C161.75364,30.0463857 158.605604,28.1880408 156.908673,25.2082312 L67.4991551,25.2082312 C66.2037941,25.2082312 64.9614877,24.6936511 64.0455291,23.7776925 C63.1295705,22.8617339 62.6149904,21.6194275 62.6149904,20.3240665 Z M23.5416735,29.3240665 C31.6340224,29.3240665 38.1941674,22.7639215 38.1941674,14.6715726 C38.1941674,6.57922368 31.6340224,0.0190787204 23.5416735,0.0190787204 C15.4493246,0.0190787204 8.88917966,6.57922368 8.88917966,14.6715726 C8.88917966,22.7639215 15.4493246,29.3240665 23.5416735,29.3240665 Z M34.0523957,34.2082312 L13.0211829,34.2082312 C10.6337153,34.2093302 8.59694107,35.9362503 8.20539657,38.2913927 L0.0683783524,87.133039 C-0.166957522,88.5485838 0.232108973,89.996 1.15960938,91.0909397 C2.08710979,92.1858793 3.44919091,92.8175461 4.88416457,92.8182066 L8.88917966,92.8182066 L9.0426883,136.115835 C9.0426883,138.813285 11.2294033,141 13.9268529,141 L33.4635113,141 C34.7588723,141 36.0011787,140.48542 36.9171373,139.569461 C37.8330959,138.653503 38.347676,137.411196 38.347676,136.115835 L38.1941674,92.8182066 L42.189414,92.8182066 C43.6255482,92.8209447 44.9898051,92.1902296 45.9180572,91.0944026 C46.8463094,89.9985755 47.2440794,88.5491696 47.0052003,87.133039 L38.8681821,38.2913927 C38.4766376,35.9362503 36.4398634,34.2093302 34.0523957,34.2082312 Z" id="Shape"></path> </g> </g> </svg>'},2885:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="144px" height="152px" viewBox="0 0 144 152" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>pie (2)</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="pie-(2)" transform="translate(0.000000, -0.612903)" fill="#5067A2" fill-rule="nonzero"> <path d="M72.1778824,12.9606446 L72.1778824,73.6462877 C72.1779317,75.129331 72.9386663,76.5065116 74.1881954,77.2856176 C75.4377246,78.0647237 76.9977039,78.1345538 78.3105882,77.4701504 L128.354824,52.1402676 L132.666353,49.9503148 C134.757503,48.8920984 137.302156,49.7461658 138.350118,51.857969 L138.468706,52.1060495 L138.782118,52.8930638 C140.942118,58.6416896 144,65.8873535 144,83.8518095 C144,116.316148 115.123765,152.612903 73.2282353,152.612903 C31.3242354,152.612903 0,119.994584 0,80.8406245 C0,44.5353146 27.216,13.7391044 62.2588236,9.22232682 C64.122353,8.98280072 65.9265883,8.80315611 67.6715294,8.69194766 C68.8395088,8.61630135 69.986418,9.03213213 70.8400527,9.84074781 C71.6936873,10.6493635 72.1779411,11.7786714 72.1778824,12.9606446 Z M90.0254118,0.659269609 C88.9814749,0.488081123 87.9163292,0.795987208 87.1201941,1.49909291 C86.324059,2.20219861 85.8798887,3.22724309 85.9087059,4.29493319 L85.9087059,54.6039644 C85.9087059,56.9393437 87.6028236,57.8717845 89.5680001,56.7511446 L133.149176,31.9088684 C134.092985,31.4117209 134.762111,30.50855 134.968019,29.4538349 C135.173928,28.3991197 134.894328,27.3070442 134.208,26.4853136 C134.208,26.4853136 133.538824,25.5357637 132.446118,24.3381334 C127.296,18.6921614 122.832,14.7399812 116.860235,10.9417819 C109.345997,6.07770841 100.978781,2.71218494 92.2108235,1.0271132 C89.9745882,0.599388123 90.0254118,0.659269609 90.0254118,0.659269609 L90.0254118,0.659269609 Z" id="Shape"></path> </g> </g> </svg>'},2302:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="151px" height="170px" viewBox="0 0 151 170" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>radar</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="radar" transform="translate(0.500000, 0.000000)" fill="#5067A2" fill-rule="nonzero"> <path d="M79.573911,32.0195055 C79.7511468,32.0807796 79.9252225,32.1507623 80.0954971,32.2291958 L126.376239,53.5077701 C128.225278,54.3572545 129.374745,56.2354539 129.285085,58.2607506 L126.927916,110.733256 C126.832633,112.851954 125.405699,114.680595 123.367088,115.296516 L76.444394,129.315811 C75.5054275,129.595861 74.5046062,129.595861 73.5656397,129.315811 L32.4706683,117.053921 C30.8367372,116.566659 29.5635821,115.286115 29.0909814,113.654618 C28.6183807,112.023122 29.0111288,110.264354 30.133561,108.985836 L59.2822032,75.635091 C59.7218624,75.142978 60.0532763,74.5647698 60.2551619,73.937598 L73.2246026,35.1848307 C74.1062345,32.570839 76.9431645,31.1565423 79.573911,32.0195055 L79.573911,32.0195055 Z M139.476076,121.926724 L75.0000016,158.991984 L10.5239274,121.926724 L10.5239274,47.816176 L75.0000016,10.7509165 L139.476076,47.816176 L139.476076,121.926724 Z M146.998953,40.6068232 L77.5076273,0.665810956 C75.9548023,-0.221936985 74.0452007,-0.221936985 72.4923757,0.665810956 L3.00105014,40.6068232 C1.44784731,41.4971353 0.491395456,43.1462367 0.493424274,44.9304378 L0.493424274,124.812462 C0.493424274,126.599823 1.44632208,128.247389 3.00105014,129.136077 L72.4923757,169.077089 C74.047355,169.95676 75.9526481,169.95676 77.5076273,169.077089 L146.998953,129.136077 C148.550638,128.244253 149.506533,126.596111 149.506579,124.812462 L149.506579,44.9304378 C149.506533,43.1467894 148.550638,41.4986473 146.998953,40.6068232 L146.998953,40.6068232 Z" id="Shape"></path> </g> </g> </svg>'},566:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="167px" height="162px" viewBox="0 0 167 162" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>rich</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="rich" fill="#5067A2" fill-rule="nonzero"> <path d="M5.52634288,101.24857 L96.0005147,101.24857 C98.7764873,101.24857 101.026858,98.9820436 101.026858,96.1861415 C101.026858,93.3902395 98.7764873,91.123713 96.0005147,91.123713 L5.52634288,91.123713 C2.75037036,91.123713 0.5,93.3902395 0.5,96.1861415 C0.5,98.9820436 2.75037036,101.24857 5.52634288,101.24857 Z M75.8951432,121.498284 L5.52634288,121.498284 C2.75037036,121.498284 0.5,123.76481 0.5,126.560713 C0.5,129.356615 2.75037036,131.623141 5.52634288,131.623141 L75.8951432,131.623141 C78.6711157,131.623141 80.9214861,129.356615 80.9214861,126.560713 C80.9214861,123.76481 78.6711157,121.498284 75.8951432,121.498284 Z M146.394628,92.0653247 L128.923061,116.435856 L146.394628,116.435856 L146.394628,92.0653247 Z M166.5,60.749142 L166.5,151.872855 C166.5,157.464659 161.999259,161.997712 156.447314,161.997712 C150.895369,161.997712 146.394628,157.464659 146.394628,151.872855 L146.394628,136.68557 L114.406982,136.68557 L99.2575849,157.806021 C96.0041451,162.338178 89.7188607,163.355849 85.2190093,160.079052 C80.7191578,156.802254 79.7087415,150.471846 82.9621813,145.939689 L148.304639,54.8261007 C148.455429,54.6033538 148.706746,54.4919804 148.867589,54.2894832 C149.318111,53.7697312 149.823755,53.3011987 150.375492,52.892253 C150.857637,52.4854402 151.379728,52.1292264 151.933658,51.829143 C152.481136,51.5631055 153.053631,51.3528145 153.642615,51.2014019 C154.31205,50.9842108 155.003114,50.8416105 155.703415,50.7761579 C155.954733,50.7559082 156.185944,50.624285 156.447314,50.624285 C156.819264,50.624285 157.130897,50.7964076 157.492794,50.836907 C158.850886,50.9717079 160.164137,51.3999382 161.342972,52.0923893 C161.674711,52.2746367 162.036608,52.3151361 162.338188,52.537883 C162.559347,52.7100056 162.659874,52.9428773 162.87098,53.1251247 C163.403773,53.5807433 163.836038,54.0869861 164.268304,54.6337284 C164.650306,55.1399712 165.022255,55.6259644 165.30373,56.1929564 C165.585206,56.7498235 165.766154,57.3370652 165.947102,57.9546815 C166.138103,58.6330469 166.298946,59.2709129 166.34921,59.969528 C166.369315,60.2428992 166.5,60.4757709 166.5,60.749142 L166.5,60.749142 Z M55.7897717,151.872855 L5.52634288,151.872855 C2.75037036,151.872855 0.5,154.139381 0.5,156.935284 C0.5,159.731186 2.75037036,161.997712 5.52634288,161.997712 L55.7897717,161.997712 C58.5657442,161.997712 60.8161146,159.731186 60.8161146,156.935284 C60.8161146,154.139381 58.5657442,151.872855 55.7897717,151.872855 Z M86.3887335,40.499428 L161.100608,40.499428 C164.04791,40.499428 166.437171,38.2329016 166.437171,35.4369995 C166.437171,32.6410974 164.04791,30.374571 161.100608,30.374571 L86.3887335,30.374571 C83.4414314,30.374571 81.052171,32.6410974 81.052171,35.4369995 C81.052171,38.2329016 83.4414314,40.499428 86.3887335,40.499428 Z M86.3887335,10.124857 L161.100608,10.124857 C164.04791,10.124857 166.437171,7.85833056 166.437171,5.0624285 C166.437171,2.26652644 164.04791,1.71199625e-16 161.100608,0 L86.3887335,0 C83.4414314,-1.71199625e-16 81.052171,2.26652644 81.052171,5.0624285 C81.052171,7.85833056 83.4414314,10.124857 86.3887335,10.124857 Z M5.6570278,70.873999 L60.9467995,70.873999 C63.722772,70.873999 65.9731424,68.6074726 65.9731424,65.8115705 L65.9731424,5.0624285 C65.9731424,2.26652644 63.722772,1.71199625e-16 60.9467995,0 L5.6570278,0 C2.88105528,-1.71199625e-16 0.630684915,2.26652644 0.630684915,5.0624285 L0.630684915,65.8115705 C0.630684915,68.6074726 2.88105528,70.873999 5.6570278,70.873999 Z M81.052171,65.8115705 C81.052171,63.0156685 83.3025414,60.749142 86.0785139,60.749142 L116.236571,60.749142 C119.012544,60.749142 121.262914,63.0156685 121.262914,65.8115705 C121.262914,68.6074726 119.012544,70.873999 116.236571,70.873999 L86.0785139,70.873999 C83.3025414,70.873999 81.052171,68.6074726 81.052171,65.8115705 Z" id="Shape"></path> </g> </g> </svg>'},3109:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="175px" height="139px" viewBox="0 0 175 139" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>sankey</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="sankey" fill-rule="nonzero"> <path d="M4.60195168,138.058552 C2.06036395,138.058552 3.11254728e-16,135.998188 0,133.4566 L0,115.048793 C-3.11254732e-16,112.507205 2.06036398,110.446841 4.60195174,110.446841 C7.14353951,110.446841 9.20390349,112.507205 9.20390349,115.048793 L9.20390349,133.4566 C9.20390349,134.677113 8.71905638,135.847638 7.856023,136.710671 C6.99298962,137.573705 5.82246517,138.058552 4.60195168,138.058552 M4.60195168,106.820503 C2.06036395,106.820503 3.11254728e-16,104.760139 0,102.218552 L0,4.60195168 C-3.11254732e-16,2.06036391 2.06036398,-6.74114049e-08 4.60195174,-6.74114054e-08 C7.14353951,-6.74114058e-08 9.20390349,2.06036391 9.20390349,4.60195168 L9.20390349,102.218552 C9.20390349,103.439065 8.71905638,104.60959 7.856023,105.472623 C6.99298962,106.335656 5.82246517,106.820503 4.60195168,106.820503" id="Shape" fill="#5067A2"></path> <path d="M4.60195168,106.820503 C2.06036395,106.820503 3.11254728e-16,104.760139 0,102.218552 L0,4.60195168 C-3.11254732e-16,2.06036391 2.06036398,-6.74114049e-08 4.60195174,-6.74114054e-08 C7.14353951,-6.74114058e-08 9.20390349,2.06036391 9.20390349,4.60195168 L9.20390349,102.218552 C9.20390349,103.439065 8.71905638,104.60959 7.856023,105.472623 C6.99298962,106.335656 5.82246517,106.820503 4.60195168,106.820503" id="Path" fill="#5067A2"></path> <path d="M87.4370826,64.4273241 C86.2165692,64.4273241 85.0460447,63.942477 84.1830114,63.0794436 C83.319978,62.2164103 82.8351309,61.0458858 82.835131,59.8253723 L82.835131,4.60195168 C82.835131,2.06036391 84.8954949,-6.74113054e-08 87.4370827,-6.74113059e-08 C89.9786705,-6.74113063e-08 92.0390345,2.06036391 92.0390345,4.60195168 L92.0390345,59.8253723 C92.0390345,61.0458858 91.5541874,62.2164103 90.691154,63.0794437 C89.8281206,63.9424771 88.6575962,64.4273242 87.4370826,64.4273241 M170.272214,38.2054031 C167.730626,38.2054031 165.670262,36.1450392 165.670262,33.6034515 L165.670262,4.60195168 C165.670262,2.06036391 167.730626,-6.74114049e-08 170.272214,-6.74114054e-08 C172.813801,-6.74114058e-08 174.874165,2.06036391 174.874165,4.60195168 L174.874165,33.6034515 C174.874165,34.823965 174.389318,35.9944894 173.526285,36.8575227 C172.663252,37.7205561 171.492727,38.2054032 170.272214,38.2054031 M105.84489,138.058552 C104.624376,138.058552 103.453852,137.573705 102.590818,136.710671 C101.727785,135.847638 101.242938,134.677113 101.242938,133.4566 L101.242938,78.2331793 C101.242938,75.6915915 103.303302,73.6312276 105.84489,73.6312276 C108.386477,73.6312276 110.446841,75.6915915 110.446841,78.2331793 L110.446841,133.4566 C110.446841,135.998188 108.386477,138.058552 105.84489,138.058552 M170.272214,138.058552 C167.730626,138.058552 165.670262,135.998188 165.670262,133.4566 L165.670262,48.3020853 C165.670262,45.7604975 167.730626,43.7001336 170.272214,43.7001336 C172.813801,43.7001336 174.874165,45.7604975 174.874165,48.3020853 L174.874165,133.4566 C174.874165,134.677113 174.389318,135.847638 173.526285,136.710671 C172.663252,137.573705 171.492727,138.058552 170.272214,138.058552" id="Shape" fill="#5067A2"></path> <polygon id="Path" fill="#95A5C8" points="110.446841 133.4566 165.670262 133.4566 165.670262 78.2331793 110.446841 78.2331793"></polygon> <polygon id="Path" fill="#5067A2" points="165.670262 133.4566 174.874165 133.4566 174.874165 78.2331793 165.670262 78.2331793"></polygon> <path d="M165.670262,77.9478582 C124.491998,75.6100668 130.198418,59.8345763 92.0390345,59.8253723 L92.0390345,32.213662 C124.832542,32.2228659 136.825229,48.0167643 165.670262,48.6242219 L165.670262,77.9478582" id="Path" fill="#95A5C8"></path> <path d="M92.0390345,59.8253723 L92.0022188,59.8253723 L92.0022188,32.213662 L92.0390345,32.213662 L92.0390345,59.8253723 M174.874165,78.2331793 C171.56076,78.2055676 168.505064,78.1135285 165.670262,77.9478582 L165.670262,48.6242219 L167.400596,48.6426296 C169.765999,48.6426296 172.260257,48.5413867 174.874165,48.3204931 L174.874165,78.2331793" id="Shape" fill="#5067A2"></path> <polygon id="Path" fill="#95A5C8" points="92.0390345 32.213662 165.670262 32.213662 165.670262 4.60195168 92.0390345 4.60195168"></polygon> <path d="M82.835131,32.213662 L92.0390345,32.213662 L92.0390345,4.60195168 L82.835131,4.60195168 L82.835131,32.213662 Z M165.670262,32.213662 L174.506009,32.213662 L174.506009,4.60195168 L165.670262,4.60195168 L165.670262,32.213662 Z" id="Shape" fill="#5067A2"></path> <polygon id="Path" fill="#95A5C8" points="9.20390349 59.8253723 82.835131 59.8253723 82.835131 4.60195168 9.20390349 4.60195168"></polygon> <polyline id="Path" fill="#5067A2" points="82.835131 59.8253723 82.835131 4.60195168 82.835131 59.8253723"></polyline> <polygon id="Path" fill="#95A5C8" points="9.20390349 133.4566 101.242938 133.4566 101.242938 115.048793 9.20390349 115.048793"></polygon> <polygon id="Path" fill="#5067A2" points="101.242938 133.4566 110.446841 133.4566 110.446841 115.048793 101.242938 115.048793"></polygon> <path d="M101.242938,115.048793 C43.4792398,114.699045 52.1585208,101.445424 9.20390349,101.445424 L9.20390349,59.8253723 C56.5579867,59.8253723 47.7682589,78.1319363 101.242938,78.2331793 L101.242938,115.048793" id="Path" fill="#95A5C8"></path> <path d="M101.675521,115.048793 L101.242938,115.048793 L101.242938,78.2331793 L101.675521,78.2331793 C104.335449,78.2331793 100.46981,113.723431 101.675521,115.048793" id="Path" fill="#5067A2"></path> </g> </g> </svg>'},1506:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="175px" height="138px" viewBox="0 0 175 138" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>scatter</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="scatter" fill="#5067A2" fill-rule="nonzero"> <path d="M173.526285,129.202529 C172.663252,128.339495 171.492727,127.854648 170.272214,127.854648 L9.20390349,127.854648 L9.20390349,4.60195168 C9.20390349,2.06036391 7.14353951,-6.74112924e-08 4.60195174,-6.74112925e-08 C2.06036398,-6.74112927e-08 3.11254732e-16,2.06036391 0,4.60195168 L0,132.4566 C3.11254728e-16,134.998188 2.06036395,137.058552 4.60195168,137.058552 L170.272214,137.058552 C171.492727,137.058552 172.663252,136.573705 173.526285,135.710671 C174.389318,134.847638 174.874165,133.677113 174.874165,132.4566 C174.874165,131.236086 174.389318,130.065562 173.526285,129.202529 Z M151.864407,12.8058552 C155.15291,12.8054572 158.191783,14.5596242 159.836149,17.4074853 C161.480516,20.2553464 161.480516,23.7641708 159.836149,26.6120319 C158.191783,29.459893 155.15291,31.21406 151.864407,31.213662 C146.781666,31.2130468 142.661617,27.0924991 142.661617,22.0097586 C142.661617,16.9270181 146.781666,12.8064703 151.864407,12.8058552 Z M142.660503,58.8253723 C147.743679,58.8253723 151.864407,62.9461003 151.864407,68.0292758 C151.864407,73.1124513 147.743679,77.2331793 142.660503,77.2331793 C137.577328,77.2331793 133.4566,73.1124513 133.4566,68.0292758 C133.4566,62.9461003 137.577328,58.8253723 142.660503,58.8253723 Z M124.252696,40.4175655 C127.5412,40.4171675 130.580072,42.1713345 132.224439,45.0191956 C133.868806,47.8670567 133.868806,51.3758811 132.224439,54.2237422 C130.580072,57.0716033 127.5412,58.8257703 124.252696,58.8253723 C119.169956,58.8247572 115.049907,54.7042094 115.049907,49.6214689 C115.049907,44.5387284 119.169956,40.4181807 124.252696,40.4175655 L124.252696,40.4175655 Z M105.84489,22.0097586 C109.133393,22.0093606 112.172266,23.7635277 113.816632,26.6113888 C115.460999,29.4592498 115.460999,32.9680743 113.816632,35.8159354 C112.172266,38.6637965 109.133393,40.4179635 105.84489,40.4175655 C100.762149,40.4169503 96.6421001,36.2964026 96.6421001,31.2136621 C96.6421001,26.1309216 100.762149,22.0103738 105.84489,22.0097586 L105.84489,22.0097586 Z M105.84489,58.8253723 C110.928065,58.8253723 115.048793,62.9461003 115.048793,68.0292758 C115.048793,73.1124513 110.928065,77.2331793 105.84489,77.2331793 C100.761714,77.2331793 96.6409861,73.1124513 96.6409861,68.0292758 C96.6409861,62.9461003 100.761714,58.8253723 105.84489,58.8253723 L105.84489,58.8253723 Z M87.4370826,77.2331793 C90.8200008,77.0784213 94.0146452,78.7938663 95.7543045,81.6993216 C97.4939639,84.6047768 97.4975937,88.2308616 95.7637545,91.1397939 C94.0299154,94.0487262 90.8387117,95.7705634 87.4554905,95.6225784 C82.5370015,95.4074394 78.6587219,91.3598697 78.6537937,86.4366802 C78.6488656,81.5134907 82.5190342,77.4581647 87.4370826,77.2331793 L87.4370826,77.2331793 Z M59.8253723,68.0292758 C63.1138756,68.0288778 66.1527483,69.7830448 67.7971148,72.6309059 C69.4414814,75.478767 69.4414814,78.9875915 67.7971148,81.8354525 C66.1527483,84.6833136 63.1138756,86.4374807 59.8253723,86.4370826 C54.7426318,86.4364675 50.6225828,82.3159197 50.6225828,77.2331792 C50.6225828,72.1504387 54.7426318,68.029891 59.8253723,68.0292758 L59.8253723,68.0292758 Z M32.213662,95.6409861 C35.5021653,95.6405881 38.541038,97.3947552 40.1854045,100.242616 C41.8297711,103.090477 41.8297711,106.599302 40.1854045,109.447163 C38.541038,112.295024 35.5021653,114.049191 32.213662,114.048793 C27.1309215,114.048178 23.0108725,109.92763 23.0108725,104.84489 C23.0108725,99.762149 27.1309215,95.6416013 32.213662,95.6409861 L32.213662,95.6409861 Z" id="Shape"></path> </g> </g> </svg>'},8890:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="176px" height="154px" viewBox="0 0 176 154" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>sunburst</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="sunburst" transform="translate(-0.500000, -0.495167)" fill="#5067A2" fill-rule="nonzero"> <path d="M119.233629,98.0044542 L110.718691,87.8510962 C116.698944,81.6134116 119.776927,73.1460671 119.198407,64.5239101 L132.221771,61.7588152 C132.389075,63.3350954 132.468325,64.9289877 132.468325,66.5404921 C132.486789,78.3855449 127.713147,89.7343283 119.233629,98.0044542 L119.233629,98.0044542 Z M63.3185781,30.3829135 C74.7931609,22.4121709 89.3686325,20.3583561 102.598787,24.8479794 C115.828942,29.3376027 126.144611,39.8381699 130.399028,53.1465133 L117.38447,55.9116082 C114.163414,47.1482037 107.14477,40.3166874 98.2978797,37.3338959 C89.4509892,34.3511045 79.7290566,35.5384174 71.8599325,40.5626897 L63.3185781,30.3829135 L63.3185781,30.3829135 Z M57.4981296,97.8547516 L67.6773104,89.3128978 C73.1543438,94.3147256 80.4453141,97.3616135 88.4495316,97.3616137 C93.8284022,97.3676833 99.1146581,95.9617789 103.779942,93.2844195 L112.365323,103.508226 C105.247152,108.132446 96.9377023,110.586264 88.4495316,110.570666 C76.8578752,110.587037 65.7306915,106.015602 57.4981296,97.8547516 L57.4981296,97.8547516 Z M51.880208,91.0741048 C47.0035405,83.8229191 44.4062144,75.2791485 44.4219328,66.5404921 C44.4219328,54.7315996 49.0624416,44.0146553 56.6263832,36.1068361 L65.194154,46.3130303 C60.3076881,51.9176198 57.6201378,59.1046557 57.6302124,66.5404921 C57.6302124,72.3876992 59.2592335,77.8562467 62.0858054,82.5146391 L51.880208,91.0741048 L51.880208,91.0741048 Z M40.5915316,112.05008 L50.7354904,103.534644 C60.658337,113.682313 74.2570793,119.394563 88.4495316,119.3767 C99.4212094,119.3767 109.618001,116.030407 118.062495,110.306485 L126.586238,120.468649 C115.441046,128.370969 102.111678,132.606084 88.4495316,132.585752 C70.3533434,132.605952 53.0459635,125.179425 40.5915316,112.05008 L40.5915316,112.05008 Z M0.5,62.1374747 C1.61718015,39.3368661 11.5653323,17.8665508 28.2373873,2.27405071 L36.7435195,12.4097967 C23.0478109,25.4703646 14.8209875,43.2437342 13.7258907,62.1374747 L0.5,62.1374747 Z M0.5,70.9435094 L13.7258907,70.9435094 C14.5580363,85.4042184 19.5854188,99.3091254 28.1933598,110.958131 L18.0582064,119.464761 C7.47186066,105.41813 1.35420505,88.5122858 0.5,70.9435094 L0.5,70.9435094 Z M22.5490216,62.1374747 C23.6176776,45.8469855 30.7006658,30.5346593 42.4230797,19.1728312 L50.9380174,29.3261893 C42.1806215,38.1364527 36.8165849,49.7571326 35.7925234,62.1374747 L22.5490216,62.1374747 L22.5490216,62.1374747 Z M22.5490216,70.9435094 L35.7925234,70.9435094 C36.5571371,80.2216635 39.7688087,89.1310032 45.0999577,96.7628032 L34.9559989,105.278239 C27.6604148,95.2350677 23.3587128,83.3306553 22.5490216,70.9435094 Z M160.064824,88.3354281 C162.208458,81.2692542 163.294499,73.9246962 163.287644,66.5404921 C163.287927,62.7888436 163.014228,59.0421838 162.468731,55.3304099 L175.40404,52.5829271 C177.539642,66.0542744 176.545357,79.8364744 172.498218,92.86173 L160.064824,88.3354281 Z M157.009309,96.5954887 L169.451508,101.130596 C164.453629,112.804913 156.992417,123.261434 147.578597,131.784403 L139.08127,121.666269 C146.731696,114.64362 152.837128,106.105711 157.009309,96.5954887 L157.009309,96.5954887 Z M139.336631,80.7886563 C141.234304,74.0037443 141.75525,66.9076826 140.868791,59.9183539 L153.830516,57.1620651 C155.148964,66.5886629 154.449628,76.187832 151.77883,85.3237642 L139.336631,80.7886563 Z M136.263504,89.0487169 L148.714509,93.5750188 C145.090489,101.633987 139.889912,108.885878 133.419321,114.903235 L124.913189,104.776295 C129.629614,100.274719 133.477161,94.943361 136.263504,89.0487169 L136.263504,89.0487169 Z M84.1260215,141.268503 L84.1260215,154.495167 C61.049526,153.386197 39.3397973,143.226766 23.7025446,126.218989 L33.8288923,117.71236 C46.9380429,131.745712 64.9535467,140.183088 84.1260215,141.268503 L84.1260215,141.268503 Z M104.94227,2.57345585 C127.679056,8.4576749 145.591926,25.956003 152.007773,48.5497632 L139.046048,51.306052 C133.813709,33.9700374 120.081572,20.5128194 102.64403,15.6328053 L104.933465,2.64390412 L104.94227,2.57345585 L104.94227,2.57345585 Z M96.2952498,0.953145396 L96.2600278,1.12046007 L93.9970091,13.9948829 C81.1068487,12.6102912 68.1594065,16.034712 57.6390179,23.6110727 L49.1240802,13.4665207 C60.4957814,5.02434618 74.2870046,0.475385223 88.4495316,0.495231624 C91.0999932,0.495231624 93.7152325,0.644934198 96.2952498,0.953145396 L96.2952498,0.953145396 Z" id="Shape"></path> <path d="M88.5,75.295167 C93.3601058,75.295167 97.3,71.3552728 97.3,66.495167 C97.3,61.6350611 93.3601058,57.6951669 88.5,57.6951669 C83.6398942,57.6951669 79.7,61.6350611 79.7,66.495167 C79.7,71.3552728 83.6398942,75.295167 88.5,75.295167 Z M88.5,88.495167 C76.3497355,88.495167 66.5,78.6454315 66.5,66.495167 C66.5,54.3449025 76.3497355,44.495167 88.5,44.495167 C100.650264,44.495167 110.5,54.3449025 110.5,66.495167 C110.5,78.6454315 100.650264,88.495167 88.5,88.495167 Z" id="Shape"></path> </g> </g> </svg>'},2714:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="175px" height="130px" viewBox="0 0 175 130" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>themeriver</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="themeriver" fill="#5067A2" fill-rule="nonzero"> <path d="M4.9275627,42.5798026 C5.20117275,42.5813119 5.47437729,42.5585448 5.74396361,42.5117692 C10.5811329,41.6686599 15.2612908,40.0922201 19.6227791,37.836902 C26.4649962,34.328322 32.1798026,30.0130599 43.8718299,30.0130599 C55.5638572,30.0130599 63.7861807,41.3940774 79.5602127,41.4912681 C95.3342445,41.5787397 96.9864845,31.7333333 115.384662,31.7333333 C132.976158,31.7333333 137.621868,44.6208049 153.6,45.4566438 C160.490812,45.8162491 166.6041,44.9318147 171.930144,42.7936218 C173.778744,42.0602993 174.992296,40.2727177 174.991648,38.2839788 L174.991648,26.7960517 C174.987486,25.3270305 174.319017,23.9387356 173.173189,23.0194311 C172.027362,22.1001266 170.527173,21.7484925 169.092179,22.0628701 C165.933485,22.7529233 162.084738,22.8403949 157.5265,22.3155656 C145.533181,20.9160213 134.676993,5.82232335 119.476386,5.82232348 C102.788762,5.82232348 99.3093394,11.1678056 81.9899772,11.1678056 C64.6803341,11.1678056 59.6069856,0.126955258 43.8718299,0.126955258 C37.3211845,0.126955258 27.9422931,3.46059231 17.9025057,7.6009112 C12.9652241,9.65163256 8.49445708,10.8373576 4.50964317,11.1678056 C1.98627058,11.3754189 0.0451326562,13.4857192 0.0485952544,16.0176158 L0.0583143318,37.7202733 C0.0583143318,40.4027335 2.24510251,42.5798026 4.9275627,42.5798026 M170.132118,85.5283219 C169.634444,85.5282959 169.139638,85.6036638 168.664541,85.7518603 C162.658162,87.6665148 157.633409,88.7064541 153.551405,88.9008353 C139.342141,89.522855 131.343356,82.7583903 118.543356,82.7583903 C104.227183,82.7583903 97.8611998,94.1491269 80.444647,94.1491269 C61.0356872,94.1491269 52.3274108,84.1287775 42.4917236,84.1287775 C35.416249,84.1287775 28.7392558,88.7453303 19.9337889,92.9828398 C15.5893698,95.0627183 10.3507973,96.5594533 4.2083523,97.4438876 C1.81553905,97.7920745 0.0427391378,99.8465342 0.0485952544,102.264541 L0.0485952544,124.297646 C0.0496707163,125.687409 0.645723287,127.010209 1.68608385,127.931672 C2.72644442,128.853134 4.11154706,129.285071 5.491268,129.118299 C10.3313591,128.544875 15.142293,127.670159 19.9337889,126.513592 C29.8083523,124.132422 34.2305239,119.068793 42.4917236,118.388459 C54.5822323,117.397115 66.5658314,123.267426 82.4759302,121.323614 C98.386029,119.379803 106.3265,110.156416 120.273349,108.543052 C132.577676,107.12407 140.586181,111.293546 152.083827,110.030068 C159.995141,109.174791 166.81792,107.085194 172.552164,103.780714 C174.06095,102.911932 174.991067,101.303681 174.991648,99.5626424 L174.991648,90.3878512 C174.991648,87.7040073 172.815962,85.5283219 170.132118,85.5283219" id="Shape"></path> <path d="M170.132118,55.1659834 C169.755896,55.1642513 169.380769,55.206657 169.014427,55.2923311 C163.386911,56.5597226 157.597804,56.9530934 151.850569,56.4586181 C133.889749,55.0007593 128.388762,42.7839029 114.655733,42.7839029 C103.264996,42.7839029 93.9249811,52.940319 79.7157175,52.5807138 C59.2668185,52.0656038 52.6578588,41.0733486 42.0738042,41.0733486 C35.5231587,41.0733486 26.5330296,47.0991647 20.6724373,49.7524677 C15.5296251,52.0293301 10.0450596,53.4382394 4.44160976,53.9219438 C1.94888222,54.1623556 0.0470459996,56.2577415 0.0485952544,58.762035 L0.0485952544,80.8242976 C0.0491745866,82.2971429 0.717699925,83.69025 1.86632297,84.6121711 C3.01494602,85.5340923 4.51970635,85.8853329 5.95778278,85.5671982 C11.10094,84.3721963 16.0531556,82.4685044 20.6724373,79.9107062 C28.3018983,75.7703873 34.249962,72.7866364 41.8016705,72.7866364 C56.6037965,72.7866364 63.1252849,82.7778284 79.3755505,82.7778284 C94.6441914,82.7778284 103.070615,71.5231587 117.639484,71.5231587 C132.208352,71.5231587 139.964161,77.2185269 150.314958,77.5295368 C156.48656,77.7044798 163.707821,76.0813971 171.988459,72.6408505 C173.80584,71.8896408 174.991328,70.1171628 174.991648,68.1506454 L174.991648,60.0255125 C174.991648,57.3416686 172.815962,55.1659834 170.132118,55.1659834" id="Path"></path> </g> </g> </svg>'},8614:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="174px" height="147px" viewBox="0 0 174 147" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>tree (1)</title> <desc>Created with Sketch.</desc> <defs> <polygon id="path-1" points="2 4.69629167 172 4.69629167 172 146.375 2 146.375"></polygon> </defs> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="tree-(1)"> <mask id="mask-2" fill="white"> <use xlink:href="#path-1"></use> </mask> <g id="path-1"></g> <path d="M174,127.4965 C173.994333,137.928125 165.534,146.380667 155.101667,146.375708 C144.670042,146.370042 136.216792,137.909 136.222458,127.476667 C136.222458,127.470292 136.222458,127.464625 136.222458,127.45825 C136.226708,118.755667 142.117917,111.435042 150.127042,109.248417 L150.127042,80.2563333 L91.4625,80.2563333 L91.4625,109.120208 C99.7407917,111.126208 105.890542,118.582125 105.889125,127.476667 C105.889125,127.483042 105.889125,127.490125 105.889125,127.4965 C105.883458,137.928125 97.4224167,146.380667 86.9907917,146.375708 C76.5584583,146.370042 68.1059167,137.909 68.1115833,127.476667 C68.1122917,118.764875 74.0049167,111.440708 82.0182917,109.254083 L82.0182917,80.2563333 L23.3530417,80.2563333 L23.3530417,109.120917 C31.630625,111.127625 37.7789583,118.582833 37.77825,127.476667 C37.77825,127.478792 37.77825,127.480917 37.77825,127.483042 C37.776125,137.915375 29.3179167,146.37075 18.8862917,146.368625 C8.45395833,146.367208 -0.00141666667,137.909 0,127.476667 C0.00141666667,118.764167 5.89545833,111.439292 13.9088333,109.254083 L13.9088333,80.2563333 C13.9088333,75.0500833 18.1425417,70.812125 23.3530417,70.812125 L82.0182917,70.812125 L82.0182917,37.8179167 C74.0006667,35.6305833 68.106625,28.298625 68.1115833,19.58825 C68.1122917,9.15025 76.5705,0.694875 87.0028333,0.696291667 C97.4344583,0.697708333 105.890542,9.15591667 105.889125,19.58825 C105.889125,19.594625 105.889125,19.601 105.889125,19.607375 C105.884167,28.4976667 99.7358333,35.9465 91.4625,37.9517917 L91.4625,70.812125 L150.127042,70.812125 C155.337542,70.812125 159.57125,75.0500833 159.57125,80.2563333 L159.57125,109.113125 C167.853083,111.119125 174.00425,118.579292 174,127.476667 C174,127.483042 174,127.490125 174,127.4965 Z" id="Fill-1" fill="#5067A2" fill-rule="nonzero"></path> </g> </g> </svg>'},3013:e=>{e.exports='<?xml version="1.0" encoding="UTF-8"?> <svg width="160px" height="132px" viewBox="0 0 160 132" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>treemap</title> <desc>Created with Sketch.</desc> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="treemap" transform="translate(-0.500000, -0.095199)" fill="#5067A2" fill-rule="nonzero"> <path d="M84.9444444,79.2951993 L4.9444444,79.2951993 C2.48984554,79.2951993 0.5,81.2651464 0.5,83.6951993 L0.5,127.695199 C0.5,130.125252 2.48984554,132.095199 4.9444444,132.095199 L84.9444444,132.095199 C86.1231844,132.095199 87.2536462,131.631629 88.0871413,130.806469 C88.9206363,129.981309 89.3888889,128.862152 89.3888889,127.695199 L89.3888889,83.6951993 C89.3888889,82.5282467 88.9206363,81.4090895 88.0871413,80.5839295 C87.2536462,79.7587694 86.1231844,79.2951993 84.9444444,79.2951993 L84.9444444,79.2951993 Z M156.055556,105.695199 L102.722222,105.695199 C101.543482,105.695199 100.41302,106.158769 99.5795254,106.983929 C98.7460304,107.80909 98.2777777,108.928247 98.2777777,110.095199 L98.2777777,127.695199 C98.2777777,128.862152 98.7460304,129.981309 99.5795254,130.806469 C100.41302,131.631629 101.543482,132.095199 102.722222,132.095199 L156.055556,132.095199 C158.510154,132.095199 160.5,130.125252 160.5,127.695199 L160.5,110.095199 C160.5,107.665146 158.510154,105.695199 156.055556,105.695199 L156.055556,105.695199 Z M156.055556,61.6951994 L102.722222,61.6951994 C101.543482,61.6951994 100.41302,62.1587694 99.5795254,62.9839295 C98.7460304,63.8090896 98.2777777,64.9282468 98.2777777,66.0951993 L98.2777777,92.4951993 C98.2777777,93.6621519 98.7460304,94.7813091 99.5795254,95.6064692 C100.41302,96.4316293 101.543482,96.8951993 102.722222,96.8951993 L156.055556,96.8951993 C158.510154,96.8951993 160.5,94.9252522 160.5,92.4951993 L160.5,66.0951993 C160.5,63.6651465 158.510154,61.6951994 156.055556,61.6951994 L156.055556,61.6951994 Z M156.055556,0.0951993491 L102.722222,0.0951993491 C101.543482,0.0951993149 100.41302,0.558769393 99.5795254,1.38392945 C98.7460304,2.20908951 98.2777777,3.32824674 98.2777777,4.49519931 L98.2777777,48.4951994 C98.2777777,49.662152 98.7460304,50.7813092 99.5795254,51.6064692 C100.41302,52.4316293 101.543482,52.8951994 102.722222,52.8951993 L156.055556,52.8951993 C158.510154,52.8951993 160.5,50.9252523 160.5,48.4951994 L160.5,4.49519931 C160.5,2.06514643 158.510154,0.0951993491 156.055556,0.0951993491 L156.055556,0.0951993491 Z M89.3888889,4.49519931 L89.3888889,66.0951993 C89.3888889,67.2621519 88.9206363,68.3813091 88.0871413,69.2064692 C87.2536462,70.0316293 86.1231844,70.4951993 84.9444444,70.4951993 L4.9444444,70.4951993 C2.48984554,70.4951993 0.5,68.5252522 0.5,66.0951993 L0.5,4.49519931 C0.5,2.06514643 2.48984554,0.0951993491 4.9444444,0.0951993491 L84.9444444,0.0951993491 C86.1231844,0.0951993149 87.2536462,0.558769393 88.0871413,1.38392945 C88.9206363,2.20908951 89.3888889,3.32824674 89.3888889,4.49519931 Z" id="Shape"></path> </g> </g> </svg>'},4533:e=>{e.exports='<!DOCTYPE html> <html lang="__LANG__"> <head> <meta charset="utf-8"/> <meta http-equiv="Content-Security-Policy" content="__CSP__"/> <link rel="dns-prefetch" href="https://fastly.jsdelivr.net"/> <style>*{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,\'Segoe UI\',Roboto,Oxygen,Ubuntu,Cantarell,\'Open Sans\',\'Helvetica Neue\',sans-serif}#chart-container{position:relative;height:100vh;overflow:hidden}.ec-debug-dirty-rect{background-color:rgba(255,0,0,.2)!important;border:1px solid red!important;box-sizing:border-box}.dg.main *{box-sizing:content-box}.dg.main input{line-height:normal}.dg.main.a{overflow-x:visible}.dg.main .c select{color:#000}</style> <style id="chart-styles"></style> </head> <body> <div id="chart-container"></div> <script>(()=>{const e=()=>{},t={clear:e,setItem:e,removeItem:e,getItem:e,key:e,length:0};Object.defineProperties(window,{localStorage:{value:t},sessionStorage:{value:t}}),Object.defineProperty(document,"cookie",{value:""})})()<\/script> <script src="https://fastly.jsdelivr.net/npm/jquery"><\/script> <script src="https://fastly.jsdelivr.net/npm/seedrandom@3.0.5/seedrandom.min.js"><\/script> <script src="https://fastly.jsdelivr.net/npm/acorn@8.7.1/dist/acorn.min.js"><\/script> __SCRIPTS__ </body> </html> '},2705:(e,t,n)=>{var r=n(5639).Symbol;e.exports=r},4239:(e,t,n)=>{var r=n(2705),i=n(9607),a=n(2333),o=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?i(e):a(e)}},7561:(e,t,n)=>{var r=n(7990),i=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(i,""):e}},1957:(e,t,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=r},9607:(e,t,n)=>{var r=n(2705),i=Object.prototype,a=i.hasOwnProperty,o=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=a.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=o.call(e);return r&&(t?e[s]=n:delete e[s]),i}},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5639:(e,t,n)=>{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,a=r||i||Function("return this")();e.exports=a},7990:e=>{var t=/\s/;e.exports=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}},3279:(e,t,n)=>{var r=n(3218),i=n(7771),a=n(4841),o=Math.max,s=Math.min;e.exports=function(e,t,n){var l,c,u,d,p,h,f=0,m=!1,g=!1,y=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function C(t){var n=l,r=c;return l=c=void 0,f=t,d=e.apply(r,n)}function v(e){return f=e,p=setTimeout(x,t),m?C(e):d}function b(e){var n=e-h;return void 0===h||n>=t||n<0||g&&e-f>=u}function x(){var e=i();if(b(e))return w(e);p=setTimeout(x,function(e){var n=t-(e-h);return g?s(n,u-(e-f)):n}(e))}function w(e){return p=void 0,y&&l?C(e):(l=c=void 0,d)}function L(){var e=i(),n=b(e);if(l=arguments,c=this,h=e,n){if(void 0===p)return v(h);if(g)return clearTimeout(p),p=setTimeout(x,t),C(h)}return void 0===p&&(p=setTimeout(x,t)),d}return t=a(t)||0,r(n)&&(m=!!n.leading,u=(g="maxWait"in n)?o(a(n.maxWait)||0,t):u,y="trailing"in n?!!n.trailing:y),L.cancel=function(){void 0!==p&&clearTimeout(p),f=0,l=h=c=p=void 0},L.flush=function(){return void 0===p?d:w(i())},L}},3218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},7005:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},3448:(e,t,n)=>{var r=n(4239),i=n(7005);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==r(e)}},7771:(e,t,n)=>{var r=n(5639);e.exports=function(){return r.Date.now()}},4841:(e,t,n)=>{var r=n(7561),i=n(3218),a=n(3448),o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(a(e))return NaN;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=s.test(e);return n||l.test(e)?c(e.slice(2),n?2:8):o.test(e)?NaN:+e}},6961:(e,t,n)=>{var r,i=function(){var e=String.fromCharCode,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",r={};function i(e,t){if(!r[e]){r[e]={};for(var n=0;n<e.length;n++)r[e][e.charAt(n)]=n}return r[e][t]}var a={compressToBase64:function(e){if(null==e)return"";var n=a._compress(e,6,(function(e){return t.charAt(e)}));switch(n.length%4){default:case 0:return n;case 1:return n+"===";case 2:return n+"==";case 3:return n+"="}},decompressFromBase64:function(e){return null==e?"":""==e?null:a._decompress(e.length,32,(function(n){return i(t,e.charAt(n))}))},compressToUTF16:function(t){return null==t?"":a._compress(t,15,(function(t){return e(t+32)}))+" "},decompressFromUTF16:function(e){return null==e?"":""==e?null:a._decompress(e.length,16384,(function(t){return e.charCodeAt(t)-32}))},compressToUint8Array:function(e){for(var t=a.compress(e),n=new Uint8Array(2*t.length),r=0,i=t.length;r<i;r++){var o=t.charCodeAt(r);n[2*r]=o>>>8,n[2*r+1]=o%256}return n},decompressFromUint8Array:function(t){if(null==t)return a.decompress(t);for(var n=new Array(t.length/2),r=0,i=n.length;r<i;r++)n[r]=256*t[2*r]+t[2*r+1];var o=[];return n.forEach((function(t){o.push(e(t))})),a.decompress(o.join(""))},compressToEncodedURIComponent:function(e){return null==e?"":a._compress(e,6,(function(e){return n.charAt(e)}))},decompressFromEncodedURIComponent:function(e){return null==e?"":""==e?null:(e=e.replace(/ /g,"+"),a._decompress(e.length,32,(function(t){return i(n,e.charAt(t))})))},compress:function(t){return a._compress(t,16,(function(t){return e(t)}))},_compress:function(e,t,n){if(null==e)return"";var r,i,a,o={},s={},l="",c="",u="",d=2,p=3,h=2,f=[],m=0,g=0;for(a=0;a<e.length;a+=1)if(l=e.charAt(a),Object.prototype.hasOwnProperty.call(o,l)||(o[l]=p++,s[l]=!0),c=u+l,Object.prototype.hasOwnProperty.call(o,c))u=c;else{if(Object.prototype.hasOwnProperty.call(s,u)){if(u.charCodeAt(0)<256){for(r=0;r<h;r++)m<<=1,g==t-1?(g=0,f.push(n(m)),m=0):g++;for(i=u.charCodeAt(0),r=0;r<8;r++)m=m<<1|1&i,g==t-1?(g=0,f.push(n(m)),m=0):g++,i>>=1}else{for(i=1,r=0;r<h;r++)m=m<<1|i,g==t-1?(g=0,f.push(n(m)),m=0):g++,i=0;for(i=u.charCodeAt(0),r=0;r<16;r++)m=m<<1|1&i,g==t-1?(g=0,f.push(n(m)),m=0):g++,i>>=1}0==--d&&(d=Math.pow(2,h),h++),delete s[u]}else for(i=o[u],r=0;r<h;r++)m=m<<1|1&i,g==t-1?(g=0,f.push(n(m)),m=0):g++,i>>=1;0==--d&&(d=Math.pow(2,h),h++),o[c]=p++,u=String(l)}if(""!==u){if(Object.prototype.hasOwnProperty.call(s,u)){if(u.charCodeAt(0)<256){for(r=0;r<h;r++)m<<=1,g==t-1?(g=0,f.push(n(m)),m=0):g++;for(i=u.charCodeAt(0),r=0;r<8;r++)m=m<<1|1&i,g==t-1?(g=0,f.push(n(m)),m=0):g++,i>>=1}else{for(i=1,r=0;r<h;r++)m=m<<1|i,g==t-1?(g=0,f.push(n(m)),m=0):g++,i=0;for(i=u.charCodeAt(0),r=0;r<16;r++)m=m<<1|1&i,g==t-1?(g=0,f.push(n(m)),m=0):g++,i>>=1}0==--d&&(d=Math.pow(2,h),h++),delete s[u]}else for(i=o[u],r=0;r<h;r++)m=m<<1|1&i,g==t-1?(g=0,f.push(n(m)),m=0):g++,i>>=1;0==--d&&(d=Math.pow(2,h),h++)}for(i=2,r=0;r<h;r++)m=m<<1|1&i,g==t-1?(g=0,f.push(n(m)),m=0):g++,i>>=1;for(;;){if(m<<=1,g==t-1){f.push(n(m));break}g++}return f.join("")},decompress:function(e){return null==e?"":""==e?null:a._decompress(e.length,32768,(function(t){return e.charCodeAt(t)}))},_decompress:function(t,n,r){var i,a,o,s,l,c,u,d=[],p=4,h=4,f=3,m="",g=[],y={val:r(0),position:n,index:1};for(i=0;i<3;i+=1)d[i]=i;for(o=0,l=Math.pow(2,2),c=1;c!=l;)s=y.val&y.position,y.position>>=1,0==y.position&&(y.position=n,y.val=r(y.index++)),o|=(s>0?1:0)*c,c<<=1;switch(o){case 0:for(o=0,l=Math.pow(2,8),c=1;c!=l;)s=y.val&y.position,y.position>>=1,0==y.position&&(y.position=n,y.val=r(y.index++)),o|=(s>0?1:0)*c,c<<=1;u=e(o);break;case 1:for(o=0,l=Math.pow(2,16),c=1;c!=l;)s=y.val&y.position,y.position>>=1,0==y.position&&(y.position=n,y.val=r(y.index++)),o|=(s>0?1:0)*c,c<<=1;u=e(o);break;case 2:return""}for(d[3]=u,a=u,g.push(u);;){if(y.index>t)return"";for(o=0,l=Math.pow(2,f),c=1;c!=l;)s=y.val&y.position,y.position>>=1,0==y.position&&(y.position=n,y.val=r(y.index++)),o|=(s>0?1:0)*c,c<<=1;switch(u=o){case 0:for(o=0,l=Math.pow(2,8),c=1;c!=l;)s=y.val&y.position,y.position>>=1,0==y.position&&(y.position=n,y.val=r(y.index++)),o|=(s>0?1:0)*c,c<<=1;d[h++]=e(o),u=h-1,p--;break;case 1:for(o=0,l=Math.pow(2,16),c=1;c!=l;)s=y.val&y.position,y.position>>=1,0==y.position&&(y.position=n,y.val=r(y.index++)),o|=(s>0?1:0)*c,c<<=1;d[h++]=e(o),u=h-1,p--;break;case 2:return g.join("")}if(0==p&&(p=Math.pow(2,f),f++),d[u])m=d[u];else{if(u!==h)return null;m=a+a.charAt(0)}g.push(m),d[h++]=a+m.charAt(0),a=m,0==--p&&(p=Math.pow(2,f),f++)}}};return a}();void 0===(r=function(){return i}.call(t,n,t,e))||(e.exports=r)},2257:(e,t,n)=>{const r=Symbol("SemVer ANY");class i{static get ANY(){return r}constructor(e,t){if(t=a(t),e instanceof i){if(e.loose===!!t.loose)return e;e=e.value}c("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===r?this.value="":this.value=this.operator+this.semver.version,c("comp",this)}parse(e){const t=this.options.loose?o[s.COMPARATORLOOSE]:o[s.COMPARATOR],n=e.match(t);if(!n)throw new TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==n[1]?n[1]:"","="===this.operator&&(this.operator=""),n[2]?this.semver=new u(n[2],this.options.loose):this.semver=r}toString(){return this.value}test(e){if(c("Comparator.test",e,this.options.loose),this.semver===r||e===r)return!0;if("string"==typeof e)try{e=new u(e,this.options)}catch(e){return!1}return l(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof i))throw new TypeError("a Comparator is required");if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||new d(e.value,t).test(this.value);if(""===e.operator)return""===e.value||new d(this.value,t).test(e.semver);const n=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),r=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),a=this.semver.version===e.semver.version,o=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),s=l(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),c=l(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return n||r||a&&o||s||c}}e.exports=i;const a=n(2893),{re:o,t:s}=n(5765),l=n(7539),c=n(4225),u=n(6376),d=n(6902)},6902:(e,t,n)=>{class r{constructor(e,t){if(t=a(t),e instanceof r)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new r(e.raw,t);if(e instanceof o)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split("||").map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter((e=>!f(e[0]))),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&m(e[0])){this.set=[e];break}}this.format()}format(){return this.range=this.set.map((e=>e.join(" ").trim())).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();const t=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=i.get(t);if(n)return n;const r=this.options.loose,a=r?c[u.HYPHENRANGELOOSE]:c[u.HYPHENRANGE];e=e.replace(a,E(this.options.includePrerelease)),s("hyphen replace",e),e=e.replace(c[u.COMPARATORTRIM],d),s("comparator trim",e);let l=(e=(e=(e=e.replace(c[u.TILDETRIM],p)).replace(c[u.CARETTRIM],h)).split(/\s+/).join(" ")).split(" ").map((e=>y(e,this.options))).join(" ").split(/\s+/).map((e=>S(e,this.options)));r&&(l=l.filter((e=>(s("loose invalid filter",e,this.options),!!e.match(c[u.COMPARATORLOOSE]))))),s("range list",l);const m=new Map,g=l.map((e=>new o(e,this.options)));for(const e of g){if(f(e))return[e];m.set(e.value,e)}m.size>1&&m.has("")&&m.delete("");const C=[...m.values()];return i.set(t,C),C}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Range is required");return this.set.some((n=>g(n,t)&&e.set.some((e=>g(e,t)&&n.every((n=>e.every((e=>n.intersects(e,t)))))))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}for(let t=0;t<this.set.length;t++)if(k(this.set[t],e,this.options))return!0;return!1}}e.exports=r;const i=new(n(6062))({max:1e3}),a=n(2893),o=n(2257),s=n(4225),l=n(6376),{re:c,t:u,comparatorTrimReplace:d,tildeTrimReplace:p,caretTrimReplace:h}=n(5765),f=e=>"<0.0.0-0"===e.value,m=e=>""===e.value,g=(e,t)=>{let n=!0;const r=e.slice();let i=r.pop();for(;n&&r.length;)n=r.every((e=>i.intersects(e,t))),i=r.pop();return n},y=(e,t)=>(s("comp",e,t),e=x(e,t),s("caret",e),e=v(e,t),s("tildes",e),e=L(e,t),s("xrange",e),e=A(e,t),s("stars",e),e),C=e=>!e||"x"===e.toLowerCase()||"*"===e,v=(e,t)=>e.trim().split(/\s+/).map((e=>b(e,t))).join(" "),b=(e,t)=>{const n=t.loose?c[u.TILDELOOSE]:c[u.TILDE];return e.replace(n,((t,n,r,i,a)=>{let o;return s("tilde",e,t,n,r,i,a),C(n)?o="":C(r)?o=`>=${n}.0.0 <${+n+1}.0.0-0`:C(i)?o=`>=${n}.${r}.0 <${n}.${+r+1}.0-0`:a?(s("replaceTilde pr",a),o=`>=${n}.${r}.${i}-${a} <${n}.${+r+1}.0-0`):o=`>=${n}.${r}.${i} <${n}.${+r+1}.0-0`,s("tilde return",o),o}))},x=(e,t)=>e.trim().split(/\s+/).map((e=>w(e,t))).join(" "),w=(e,t)=>{s("caret",e,t);const n=t.loose?c[u.CARETLOOSE]:c[u.CARET],r=t.includePrerelease?"-0":"";return e.replace(n,((t,n,i,a,o)=>{let l;return s("caret",e,t,n,i,a,o),C(n)?l="":C(i)?l=`>=${n}.0.0${r} <${+n+1}.0.0-0`:C(a)?l="0"===n?`>=${n}.${i}.0${r} <${n}.${+i+1}.0-0`:`>=${n}.${i}.0${r} <${+n+1}.0.0-0`:o?(s("replaceCaret pr",o),l="0"===n?"0"===i?`>=${n}.${i}.${a}-${o} <${n}.${i}.${+a+1}-0`:`>=${n}.${i}.${a}-${o} <${n}.${+i+1}.0-0`:`>=${n}.${i}.${a}-${o} <${+n+1}.0.0-0`):(s("no pr"),l="0"===n?"0"===i?`>=${n}.${i}.${a}${r} <${n}.${i}.${+a+1}-0`:`>=${n}.${i}.${a}${r} <${n}.${+i+1}.0-0`:`>=${n}.${i}.${a} <${+n+1}.0.0-0`),s("caret return",l),l}))},L=(e,t)=>(s("replaceXRanges",e,t),e.split(/\s+/).map((e=>_(e,t))).join(" ")),_=(e,t)=>{e=e.trim();const n=t.loose?c[u.XRANGELOOSE]:c[u.XRANGE];return e.replace(n,((n,r,i,a,o,l)=>{s("xRange",e,n,r,i,a,o,l);const c=C(i),u=c||C(a),d=u||C(o),p=d;return"="===r&&p&&(r=""),l=t.includePrerelease?"-0":"",c?n=">"===r||"<"===r?"<0.0.0-0":"*":r&&p?(u&&(a=0),o=0,">"===r?(r=">=",u?(i=+i+1,a=0,o=0):(a=+a+1,o=0)):"<="===r&&(r="<",u?i=+i+1:a=+a+1),"<"===r&&(l="-0"),n=`${r+i}.${a}.${o}${l}`):u?n=`>=${i}.0.0${l} <${+i+1}.0.0-0`:d&&(n=`>=${i}.${a}.0${l} <${i}.${+a+1}.0-0`),s("xRange return",n),n}))},A=(e,t)=>(s("replaceStars",e,t),e.trim().replace(c[u.STAR],"")),S=(e,t)=>(s("replaceGTE0",e,t),e.trim().replace(c[t.includePrerelease?u.GTE0PRE:u.GTE0],"")),E=e=>(t,n,r,i,a,o,s,l,c,u,d,p,h)=>`${n=C(r)?"":C(i)?`>=${r}.0.0${e?"-0":""}`:C(a)?`>=${r}.${i}.0${e?"-0":""}`:o?`>=${n}`:`>=${n}${e?"-0":""}`} ${l=C(c)?"":C(u)?`<${+c+1}.0.0-0`:C(d)?`<${c}.${+u+1}.0-0`:p?`<=${c}.${u}.${d}-${p}`:e?`<${c}.${u}.${+d+1}-0`:`<=${l}`}`.trim(),k=(e,t,n)=>{for(let n=0;n<e.length;n++)if(!e[n].test(t))return!1;if(t.prerelease.length&&!n.includePrerelease){for(let n=0;n<e.length;n++)if(s(e[n].semver),e[n].semver!==o.ANY&&e[n].semver.prerelease.length>0){const r=e[n].semver;if(r.major===t.major&&r.minor===t.minor&&r.patch===t.patch)return!0}return!1}return!0}},6376:(e,t,n)=>{const r=n(4225),{MAX_LENGTH:i,MAX_SAFE_INTEGER:a}=n(3295),{re:o,t:s}=n(5765),l=n(2893),{compareIdentifiers:c}=n(6742);class u{constructor(e,t){if(t=l(t),e instanceof u){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid Version: ${e}`);if(e.length>i)throw new TypeError(`version is longer than ${i} characters`);r("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?o[s.LOOSE]:o[s.FULL]);if(!n)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>a||this.major<0)throw new TypeError("Invalid major version");if(this.minor>a||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>a||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<a)return t}return e})):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(r("SemVer.compare",this.version,this.options,e),!(e instanceof u)){if("string"==typeof e&&e===this.version)return 0;e=new u(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof u||(e=new u(e,this.options)),c(this.major,e.major)||c(this.minor,e.minor)||c(this.patch,e.patch)}comparePre(e){if(e instanceof u||(e=new u(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{const n=this.prerelease[t],i=e.prerelease[t];if(r("prerelease compare",t,n,i),void 0===n&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===n)return-1;if(n!==i)return c(n,i)}while(++t)}compareBuild(e){e instanceof u||(e=new u(e,this.options));let t=0;do{const n=this.build[t],i=e.build[t];if(r("prerelease compare",t,n,i),void 0===n&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===n)return-1;if(n!==i)return c(n,i)}while(++t)}inc(e,t){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t),this.inc("pre",t);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t),this.inc("pre",t);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":if(0===this.prerelease.length)this.prerelease=[0];else{let e=this.prerelease.length;for(;--e>=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(0===c(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}}e.exports=u},3507:(e,t,n)=>{const r=n(3959);e.exports=(e,t)=>{const n=r(e.trim().replace(/^[=v]+/,""),t);return n?n.version:null}},7539:(e,t,n)=>{const r=n(8718),i=n(1194),a=n(1312),o=n(5903),s=n(1544),l=n(2056);e.exports=(e,t,n,c)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e===n;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e!==n;case"":case"=":case"==":return r(e,n,c);case"!=":return i(e,n,c);case">":return a(e,n,c);case">=":return o(e,n,c);case"<":return s(e,n,c);case"<=":return l(e,n,c);default:throw new TypeError(`Invalid operator: ${t}`)}}},9038:(e,t,n)=>{const r=n(6376),i=n(3959),{re:a,t:o}=n(5765);e.exports=(e,t)=>{if(e instanceof r)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let n=null;if((t=t||{}).rtl){let t;for(;(t=a[o.COERCERTL].exec(e))&&(!n||n.index+n[0].length!==e.length);)n&&t.index+t[0].length===n.index+n[0].length||(n=t),a[o.COERCERTL].lastIndex=t.index+t[1].length+t[2].length;a[o.COERCERTL].lastIndex=-1}else n=e.match(a[o.COERCE]);return null===n?null:i(`${n[2]}.${n[3]||"0"}.${n[4]||"0"}`,t)}},8880:(e,t,n)=>{const r=n(6376);e.exports=(e,t,n)=>{const i=new r(e,n),a=new r(t,n);return i.compare(a)||i.compareBuild(a)}},7880:(e,t,n)=>{const r=n(6269);e.exports=(e,t)=>r(e,t,!0)},6269:(e,t,n)=>{const r=n(6376);e.exports=(e,t,n)=>new r(e,n).compare(new r(t,n))},2378:(e,t,n)=>{const r=n(3959),i=n(8718);e.exports=(e,t)=>{if(i(e,t))return null;{const n=r(e),i=r(t),a=n.prerelease.length||i.prerelease.length,o=a?"pre":"",s=a?"prerelease":"";for(const e in n)if(("major"===e||"minor"===e||"patch"===e)&&n[e]!==i[e])return o+e;return s}}},8718:(e,t,n)=>{const r=n(6269);e.exports=(e,t,n)=>0===r(e,t,n)},1312:(e,t,n)=>{const r=n(6269);e.exports=(e,t,n)=>r(e,t,n)>0},5903:(e,t,n)=>{const r=n(6269);e.exports=(e,t,n)=>r(e,t,n)>=0},253:(e,t,n)=>{const r=n(6376);e.exports=(e,t,n,i)=>{"string"==typeof n&&(i=n,n=void 0);try{return new r(e instanceof r?e.version:e,n).inc(t,i).version}catch(e){return null}}},1544:(e,t,n)=>{const r=n(6269);e.exports=(e,t,n)=>r(e,t,n)<0},2056:(e,t,n)=>{const r=n(6269);e.exports=(e,t,n)=>r(e,t,n)<=0},8679:(e,t,n)=>{const r=n(6376);e.exports=(e,t)=>new r(e,t).major},7789:(e,t,n)=>{const r=n(6376);e.exports=(e,t)=>new r(e,t).minor},1194:(e,t,n)=>{const r=n(6269);e.exports=(e,t,n)=>0!==r(e,t,n)},3959:(e,t,n)=>{const{MAX_LENGTH:r}=n(3295),{re:i,t:a}=n(5765),o=n(6376),s=n(2893);e.exports=(e,t)=>{if(t=s(t),e instanceof o)return e;if("string"!=typeof e)return null;if(e.length>r)return null;if(!(t.loose?i[a.LOOSE]:i[a.FULL]).test(e))return null;try{return new o(e,t)}catch(e){return null}}},2358:(e,t,n)=>{const r=n(6376);e.exports=(e,t)=>new r(e,t).patch},7559:(e,t,n)=>{const r=n(3959);e.exports=(e,t)=>{const n=r(e,t);return n&&n.prerelease.length?n.prerelease:null}},9795:(e,t,n)=>{const r=n(6269);e.exports=(e,t,n)=>r(t,e,n)},3657:(e,t,n)=>{const r=n(8880);e.exports=(e,t)=>e.sort(((e,n)=>r(n,e,t)))},5712:(e,t,n)=>{const r=n(6902);e.exports=(e,t,n)=>{try{t=new r(t,n)}catch(e){return!1}return t.test(e)}},1100:(e,t,n)=>{const r=n(8880);e.exports=(e,t)=>e.sort(((e,n)=>r(e,n,t)))},6397:(e,t,n)=>{const r=n(3959);e.exports=(e,t)=>{const n=r(e,t);return n?n.version:null}},1249:(e,t,n)=>{const r=n(5765);e.exports={re:r.re,src:r.src,tokens:r.t,SEMVER_SPEC_VERSION:n(3295).SEMVER_SPEC_VERSION,SemVer:n(6376),compareIdentifiers:n(6742).compareIdentifiers,rcompareIdentifiers:n(6742).rcompareIdentifiers,parse:n(3959),valid:n(6397),clean:n(3507),inc:n(253),diff:n(2378),major:n(8679),minor:n(7789),patch:n(2358),prerelease:n(7559),compare:n(6269),rcompare:n(9795),compareLoose:n(7880),compareBuild:n(8880),sort:n(1100),rsort:n(3657),gt:n(1312),lt:n(1544),eq:n(8718),neq:n(1194),gte:n(5903),lte:n(2056),cmp:n(7539),coerce:n(9038),Comparator:n(2257),Range:n(6902),satisfies:n(5712),toComparators:n(1042),maxSatisfying:n(5775),minSatisfying:n(1657),minVersion:n(5316),validRange:n(9042),outside:n(6826),gtr:n(7606),ltr:n(32),intersects:n(2937),simplifyRange:n(7908),subset:n(799)}},3295:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:t,MAX_SAFE_COMPONENT_LENGTH:16}},4225:e=>{const t="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=t},6742:e=>{const t=/^[0-9]+$/,n=(e,n)=>{const r=t.test(e),i=t.test(n);return r&&i&&(e=+e,n=+n),e===n?0:r&&!i?-1:i&&!r?1:e<n?-1:1};e.exports={compareIdentifiers:n,rcompareIdentifiers:(e,t)=>n(t,e)}},2893:e=>{const t=["includePrerelease","loose","rtl"];e.exports=e=>e?"object"!=typeof e?{loose:!0}:t.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{}},5765:(e,t,n)=>{const{MAX_SAFE_COMPONENT_LENGTH:r}=n(3295),i=n(4225),a=(t=e.exports={}).re=[],o=t.src=[],s=t.t={};let l=0;const c=(e,t,n)=>{const r=l++;i(e,r,t),s[e]=r,o[r]=t,a[r]=new RegExp(t,n?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*"),c("NUMERICIDENTIFIERLOOSE","[0-9]+"),c("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),c("MAINVERSION",`(${o[s.NUMERICIDENTIFIER]})\\.(${o[s.NUMERICIDENTIFIER]})\\.(${o[s.NUMERICIDENTIFIER]})`),c("MAINVERSIONLOOSE",`(${o[s.NUMERICIDENTIFIERLOOSE]})\\.(${o[s.NUMERICIDENTIFIERLOOSE]})\\.(${o[s.NUMERICIDENTIFIERLOOSE]})`),c("PRERELEASEIDENTIFIER",`(?:${o[s.NUMERICIDENTIFIER]}|${o[s.NONNUMERICIDENTIFIER]})`),c("PRERELEASEIDENTIFIERLOOSE",`(?:${o[s.NUMERICIDENTIFIERLOOSE]}|${o[s.NONNUMERICIDENTIFIER]})`),c("PRERELEASE",`(?:-(${o[s.PRERELEASEIDENTIFIER]}(?:\\.${o[s.PRERELEASEIDENTIFIER]})*))`),c("PRERELEASELOOSE",`(?:-?(${o[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${o[s.PRERELEASEIDENTIFIERLOOSE]})*))`),c("BUILDIDENTIFIER","[0-9A-Za-z-]+"),c("BUILD",`(?:\\+(${o[s.BUILDIDENTIFIER]}(?:\\.${o[s.BUILDIDENTIFIER]})*))`),c("FULLPLAIN",`v?${o[s.MAINVERSION]}${o[s.PRERELEASE]}?${o[s.BUILD]}?`),c("FULL",`^${o[s.FULLPLAIN]}$`),c("LOOSEPLAIN",`[v=\\s]*${o[s.MAINVERSIONLOOSE]}${o[s.PRERELEASELOOSE]}?${o[s.BUILD]}?`),c("LOOSE",`^${o[s.LOOSEPLAIN]}$`),c("GTLT","((?:<|>)?=?)"),c("XRANGEIDENTIFIERLOOSE",`${o[s.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),c("XRANGEIDENTIFIER",`${o[s.NUMERICIDENTIFIER]}|x|X|\\*`),c("XRANGEPLAIN",`[v=\\s]*(${o[s.XRANGEIDENTIFIER]})(?:\\.(${o[s.XRANGEIDENTIFIER]})(?:\\.(${o[s.XRANGEIDENTIFIER]})(?:${o[s.PRERELEASE]})?${o[s.BUILD]}?)?)?`),c("XRANGEPLAINLOOSE",`[v=\\s]*(${o[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${o[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${o[s.XRANGEIDENTIFIERLOOSE]})(?:${o[s.PRERELEASELOOSE]})?${o[s.BUILD]}?)?)?`),c("XRANGE",`^${o[s.GTLT]}\\s*${o[s.XRANGEPLAIN]}$`),c("XRANGELOOSE",`^${o[s.GTLT]}\\s*${o[s.XRANGEPLAINLOOSE]}$`),c("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),c("COERCERTL",o[s.COERCE],!0),c("LONETILDE","(?:~>?)"),c("TILDETRIM",`(\\s*)${o[s.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",c("TILDE",`^${o[s.LONETILDE]}${o[s.XRANGEPLAIN]}$`),c("TILDELOOSE",`^${o[s.LONETILDE]}${o[s.XRANGEPLAINLOOSE]}$`),c("LONECARET","(?:\\^)"),c("CARETTRIM",`(\\s*)${o[s.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",c("CARET",`^${o[s.LONECARET]}${o[s.XRANGEPLAIN]}$`),c("CARETLOOSE",`^${o[s.LONECARET]}${o[s.XRANGEPLAINLOOSE]}$`),c("COMPARATORLOOSE",`^${o[s.GTLT]}\\s*(${o[s.LOOSEPLAIN]})$|^$`),c("COMPARATOR",`^${o[s.GTLT]}\\s*(${o[s.FULLPLAIN]})$|^$`),c("COMPARATORTRIM",`(\\s*)${o[s.GTLT]}\\s*(${o[s.LOOSEPLAIN]}|${o[s.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",c("HYPHENRANGE",`^\\s*(${o[s.XRANGEPLAIN]})\\s+-\\s+(${o[s.XRANGEPLAIN]})\\s*$`),c("HYPHENRANGELOOSE",`^\\s*(${o[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${o[s.XRANGEPLAINLOOSE]})\\s*$`),c("STAR","(<|>)?=?\\s*\\*"),c("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),c("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")},6062:(e,t,n)=>{"use strict";const r=n(2221),i=Symbol("max"),a=Symbol("length"),o=Symbol("lengthCalculator"),s=Symbol("allowStale"),l=Symbol("maxAge"),c=Symbol("dispose"),u=Symbol("noDisposeOnSet"),d=Symbol("lruList"),p=Symbol("cache"),h=Symbol("updateAgeOnGet"),f=()=>1,m=(e,t,n)=>{const r=e[p].get(t);if(r){const t=r.value;if(g(e,t)){if(C(e,r),!e[s])return}else n&&(e[h]&&(r.value.now=Date.now()),e[d].unshiftNode(r));return t.value}},g=(e,t)=>{if(!t||!t.maxAge&&!e[l])return!1;const n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[l]&&n>e[l]},y=e=>{if(e[a]>e[i])for(let t=e[d].tail;e[a]>e[i]&&null!==t;){const n=t.prev;C(e,t),t=n}},C=(e,t)=>{if(t){const n=t.value;e[c]&&e[c](n.key,n.value),e[a]-=n.length,e[p].delete(n.key),e[d].removeNode(t)}};class v{constructor(e,t,n,r,i){this.key=e,this.value=t,this.length=n,this.now=r,this.maxAge=i||0}}const b=(e,t,n,r)=>{let i=n.value;g(e,i)&&(C(e,n),e[s]||(i=void 0)),i&&t.call(r,i.value,i.key,e)};e.exports=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[i]=e.max||1/0;const t=e.length||f;if(this[o]="function"!=typeof t?f:t,this[s]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[l]=e.maxAge||0,this[c]=e.dispose,this[u]=e.noDisposeOnSet||!1,this[h]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[i]=e||1/0,y(this)}get max(){return this[i]}set allowStale(e){this[s]=!!e}get allowStale(){return this[s]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[l]=e,y(this)}get maxAge(){return this[l]}set lengthCalculator(e){"function"!=typeof e&&(e=f),e!==this[o]&&(this[o]=e,this[a]=0,this[d].forEach((e=>{e.length=this[o](e.value,e.key),this[a]+=e.length}))),y(this)}get lengthCalculator(){return this[o]}get length(){return this[a]}get itemCount(){return this[d].length}rforEach(e,t){t=t||this;for(let n=this[d].tail;null!==n;){const r=n.prev;b(this,e,n,t),n=r}}forEach(e,t){t=t||this;for(let n=this[d].head;null!==n;){const r=n.next;b(this,e,n,t),n=r}}keys(){return this[d].toArray().map((e=>e.key))}values(){return this[d].toArray().map((e=>e.value))}reset(){this[c]&&this[d]&&this[d].length&&this[d].forEach((e=>this[c](e.key,e.value))),this[p]=new Map,this[d]=new r,this[a]=0}dump(){return this[d].map((e=>!g(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)})).toArray().filter((e=>e))}dumpLru(){return this[d]}set(e,t,n){if((n=n||this[l])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");const r=n?Date.now():0,s=this[o](t,e);if(this[p].has(e)){if(s>this[i])return C(this,this[p].get(e)),!1;const o=this[p].get(e).value;return this[c]&&(this[u]||this[c](e,o.value)),o.now=r,o.maxAge=n,o.value=t,this[a]+=s-o.length,o.length=s,this.get(e),y(this),!0}const h=new v(e,t,s,r,n);return h.length>this[i]?(this[c]&&this[c](e,t),!1):(this[a]+=h.length,this[d].unshift(h),this[p].set(e,this[d].head),y(this),!0)}has(e){if(!this[p].has(e))return!1;const t=this[p].get(e).value;return!g(this,t)}get(e){return m(this,e,!0)}peek(e){return m(this,e,!1)}pop(){const e=this[d].tail;return e?(C(this,e),e.value):null}del(e){C(this,this[p].get(e))}load(e){this.reset();const t=Date.now();for(let n=e.length-1;n>=0;n--){const r=e[n],i=r.e||0;if(0===i)this.set(r.k,r.v);else{const e=i-t;e>0&&this.set(r.k,r.v,e)}}}prune(){this[p].forEach(((e,t)=>m(this,t,!1)))}}},9307:e=>{"use strict";e.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}},2221:(e,t,n)=>{"use strict";function r(e){var t=this;if(t instanceof r||(t=new r),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var n=0,i=arguments.length;n<i;n++)t.push(arguments[n]);return t}function i(e,t,n){var r=t===e.head?new s(n,null,t,e):new s(n,t,t.next,e);return null===r.next&&(e.tail=r),null===r.prev&&(e.head=r),e.length++,r}function a(e,t){e.tail=new s(t,e.tail,null,e),e.head||(e.head=e.tail),e.length++}function o(e,t){e.head=new s(t,null,e.head,e),e.tail||(e.tail=e.head),e.length++}function s(e,t,n,r){if(!(this instanceof s))return new s(e,t,n,r);this.list=r,this.value=e,t?(t.next=this,this.prev=t):this.prev=null,n?(n.prev=this,this.next=n):this.next=null}e.exports=r,r.Node=s,r.create=r,r.prototype.removeNode=function(e){if(e.list!==this)throw new Error("removing node which does not belong to this list");var t=e.next,n=e.prev;return t&&(t.prev=n),n&&(n.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=n),e.list.length--,e.next=null,e.prev=null,e.list=null,t},r.prototype.unshiftNode=function(e){if(e!==this.head){e.list&&e.list.removeNode(e);var t=this.head;e.list=this,e.next=t,t&&(t.prev=e),this.head=e,this.tail||(this.tail=e),this.length++}},r.prototype.pushNode=function(e){if(e!==this.tail){e.list&&e.list.removeNode(e);var t=this.tail;e.list=this,e.prev=t,t&&(t.next=e),this.tail=e,this.head||(this.head=e),this.length++}},r.prototype.push=function(){for(var e=0,t=arguments.length;e<t;e++)a(this,arguments[e]);return this.length},r.prototype.unshift=function(){for(var e=0,t=arguments.length;e<t;e++)o(this,arguments[e]);return this.length},r.prototype.pop=function(){if(this.tail){var e=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,e}},r.prototype.shift=function(){if(this.head){var e=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,e}},r.prototype.forEach=function(e,t){t=t||this;for(var n=this.head,r=0;null!==n;r++)e.call(t,n.value,r,this),n=n.next},r.prototype.forEachReverse=function(e,t){t=t||this;for(var n=this.tail,r=this.length-1;null!==n;r--)e.call(t,n.value,r,this),n=n.prev},r.prototype.get=function(e){for(var t=0,n=this.head;null!==n&&t<e;t++)n=n.next;if(t===e&&null!==n)return n.value},r.prototype.getReverse=function(e){for(var t=0,n=this.tail;null!==n&&t<e;t++)n=n.prev;if(t===e&&null!==n)return n.value},r.prototype.map=function(e,t){t=t||this;for(var n=new r,i=this.head;null!==i;)n.push(e.call(t,i.value,this)),i=i.next;return n},r.prototype.mapReverse=function(e,t){t=t||this;for(var n=new r,i=this.tail;null!==i;)n.push(e.call(t,i.value,this)),i=i.prev;return n},r.prototype.reduce=function(e,t){var n,r=this.head;if(arguments.length>1)n=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");r=this.head.next,n=this.head.value}for(var i=0;null!==r;i++)n=e(n,r.value,i),r=r.next;return n},r.prototype.reduceReverse=function(e,t){var n,r=this.tail;if(arguments.length>1)n=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");r=this.tail.prev,n=this.tail.value}for(var i=this.length-1;null!==r;i--)n=e(n,r.value,i),r=r.prev;return n},r.prototype.toArray=function(){for(var e=new Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},r.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},r.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new r;if(t<e||t<0)return n;e<0&&(e=0),t>this.length&&(t=this.length);for(var i=0,a=this.head;null!==a&&i<e;i++)a=a.next;for(;null!==a&&i<t;i++,a=a.next)n.push(a.value);return n},r.prototype.sliceReverse=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new r;if(t<e||t<0)return n;e<0&&(e=0),t>this.length&&(t=this.length);for(var i=this.length,a=this.tail;null!==a&&i>t;i--)a=a.prev;for(;null!==a&&i>e;i--,a=a.prev)n.push(a.value);return n},r.prototype.splice=function(e,t,...n){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var r=0,a=this.head;null!==a&&r<e;r++)a=a.next;var o=[];for(r=0;a&&r<t;r++)o.push(a.value),a=this.removeNode(a);for(null===a&&(a=this.tail),a!==this.head&&a!==this.tail&&(a=a.prev),r=0;r<n.length;r++)a=i(this,a,n[r]);return o},r.prototype.reverse=function(){for(var e=this.head,t=this.tail,n=e;null!==n;n=n.prev){var r=n.prev;n.prev=n.next,n.next=r}return this.head=t,this.tail=e,this};try{n(9307)(r)}catch(e){}},7606:(e,t,n)=>{const r=n(6826);e.exports=(e,t,n)=>r(e,t,">",n)},2937:(e,t,n)=>{const r=n(6902);e.exports=(e,t,n)=>(e=new r(e,n),t=new r(t,n),e.intersects(t))},32:(e,t,n)=>{const r=n(6826);e.exports=(e,t,n)=>r(e,t,"<",n)},5775:(e,t,n)=>{const r=n(6376),i=n(6902);e.exports=(e,t,n)=>{let a=null,o=null,s=null;try{s=new i(t,n)}catch(e){return null}return e.forEach((e=>{s.test(e)&&(a&&-1!==o.compare(e)||(a=e,o=new r(a,n)))})),a}},1657:(e,t,n)=>{const r=n(6376),i=n(6902);e.exports=(e,t,n)=>{let a=null,o=null,s=null;try{s=new i(t,n)}catch(e){return null}return e.forEach((e=>{s.test(e)&&(a&&1!==o.compare(e)||(a=e,o=new r(a,n)))})),a}},5316:(e,t,n)=>{const r=n(6376),i=n(6902),a=n(1312);e.exports=(e,t)=>{e=new i(e,t);let n=new r("0.0.0");if(e.test(n))return n;if(n=new r("0.0.0-0"),e.test(n))return n;n=null;for(let t=0;t<e.set.length;++t){const i=e.set[t];let o=null;i.forEach((e=>{const t=new r(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":o&&!a(t,o)||(o=t);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}})),!o||n&&!a(n,o)||(n=o)}return n&&e.test(n)?n:null}},6826:(e,t,n)=>{const r=n(6376),i=n(2257),{ANY:a}=i,o=n(6902),s=n(5712),l=n(1312),c=n(1544),u=n(2056),d=n(5903);e.exports=(e,t,n,p)=>{let h,f,m,g,y;switch(e=new r(e,p),t=new o(t,p),n){case">":h=l,f=u,m=c,g=">",y=">=";break;case"<":h=c,f=d,m=l,g="<",y="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(s(e,t,p))return!1;for(let n=0;n<t.set.length;++n){const r=t.set[n];let o=null,s=null;if(r.forEach((e=>{e.semver===a&&(e=new i(">=0.0.0")),o=o||e,s=s||e,h(e.semver,o.semver,p)?o=e:m(e.semver,s.semver,p)&&(s=e)})),o.operator===g||o.operator===y)return!1;if((!s.operator||s.operator===g)&&f(e,s.semver))return!1;if(s.operator===y&&m(e,s.semver))return!1}return!0}},7908:(e,t,n)=>{const r=n(5712),i=n(6269);e.exports=(e,t,n)=>{const a=[];let o=null,s=null;const l=e.sort(((e,t)=>i(e,t,n)));for(const e of l)r(e,t,n)?(s=e,o||(o=e)):(s&&a.push([o,s]),s=null,o=null);o&&a.push([o,null]);const c=[];for(const[e,t]of a)e===t?c.push(e):t||e!==l[0]?t?e===l[0]?c.push(`<=${t}`):c.push(`${e} - ${t}`):c.push(`>=${e}`):c.push("*");const u=c.join(" || "),d="string"==typeof t.raw?t.raw:String(t);return u.length<d.length?u:t}},799:(e,t,n)=>{const r=n(6902),i=n(2257),{ANY:a}=i,o=n(5712),s=n(6269),l=(e,t,n)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===a){if(1===t.length&&t[0].semver===a)return!0;e=n.includePrerelease?[new i(">=0.0.0-0")]:[new i(">=0.0.0")]}if(1===t.length&&t[0].semver===a){if(n.includePrerelease)return!0;t=[new i(">=0.0.0")]}const r=new Set;let l,d,p,h,f,m,g;for(const t of e)">"===t.operator||">="===t.operator?l=c(l,t,n):"<"===t.operator||"<="===t.operator?d=u(d,t,n):r.add(t.semver);if(r.size>1)return null;if(l&&d){if(p=s(l.semver,d.semver,n),p>0)return null;if(0===p&&(">="!==l.operator||"<="!==d.operator))return null}for(const e of r){if(l&&!o(e,String(l),n))return null;if(d&&!o(e,String(d),n))return null;for(const r of t)if(!o(e,String(r),n))return!1;return!0}let y=!(!d||n.includePrerelease||!d.semver.prerelease.length)&&d.semver,C=!(!l||n.includePrerelease||!l.semver.prerelease.length)&&l.semver;y&&1===y.prerelease.length&&"<"===d.operator&&0===y.prerelease[0]&&(y=!1);for(const e of t){if(g=g||">"===e.operator||">="===e.operator,m=m||"<"===e.operator||"<="===e.operator,l)if(C&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===C.major&&e.semver.minor===C.minor&&e.semver.patch===C.patch&&(C=!1),">"===e.operator||">="===e.operator){if(h=c(l,e,n),h===e&&h!==l)return!1}else if(">="===l.operator&&!o(l.semver,String(e),n))return!1;if(d)if(y&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===y.major&&e.semver.minor===y.minor&&e.semver.patch===y.patch&&(y=!1),"<"===e.operator||"<="===e.operator){if(f=u(d,e,n),f===e&&f!==d)return!1}else if("<="===d.operator&&!o(d.semver,String(e),n))return!1;if(!e.operator&&(d||l)&&0!==p)return!1}return!(l&&m&&!d&&0!==p||d&&g&&!l&&0!==p||C||y)},c=(e,t,n)=>{if(!e)return t;const r=s(e.semver,t.semver,n);return r>0?e:r<0||">"===t.operator&&">="===e.operator?t:e},u=(e,t,n)=>{if(!e)return t;const r=s(e.semver,t.semver,n);return r<0?e:r>0||"<"===t.operator&&"<="===e.operator?t:e};e.exports=(e,t,n={})=>{if(e===t)return!0;e=new r(e,n),t=new r(t,n);let i=!1;e:for(const r of e.set){for(const e of t.set){const t=l(r,e,n);if(i=i||null!==t,t)continue e}if(i)return!1}return!0}},1042:(e,t,n)=>{const r=n(6902);e.exports=(e,t)=>new r(e,t).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")))},9042:(e,t,n)=>{const r=n(6902);e.exports=(e,t)=>{try{return new r(e,t).range||"*"}catch(e){return null}}},9803:e=>{e.exports="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAQEBAQEBAQEBAQGBgUGBggHBwcHCAwJCQkJCQwTDA4MDA4MExEUEA8QFBEeFxUVFx4iHRsdIiolJSo0MjRERFwBBAQEBAQEBAQEBAYGBQYGCAcHBwcIDAkJCQkJDBMMDgwMDgwTERQQDxAUER4XFRUXHiIdGx0iKiUlKjQyNEREXP/CABEIAOEBLAMBIgACEQEDEQH/xAAaAAEAAwEBAQAAAAAAAAAAAAAAAgQFAQMI/9oACAEBAAAAAPuYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByJ2QAAAAHJ3LEuRqU5AAAADl62BHN8wAAAEdKwAczfIAAAC1ecrV1myOY0gAAAjs9Z9cemn0o1QAAA9dN5ZgL9khkSAAAFy4rUAe2kMSYAAA0LCtQBY0BjdAAAF+yhlAvLPWJMAAAe2k5m+Qa3lV0IZMgAABHZ65m+Q9L/AHtKuAAACzfOeVfnrZ6jjyAAABHRsgHMgAAAAjcu9B5ZgAAAAF309Vet4SAAAAAR4mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/xAA2EAACAQIDBQQIBQUAAAAAAAABAgMAEQQSMSAhQEFREBMycQUUIjBCYYGRIzNDULFSYnCAof/aAAgBAQABPwD/ACdcDU0XXrWccgazjoaDqef7AWC6mkgmmsQMinmajwMQ8V389woRxr4UA7CAdRT4XDP8Av1XdT4BgC0D3A1DUSyNlkUg8aSSQiC7GoMIqWeSzP8A8HuHjjkBVxep8M+GN97RE+LpxbHQKLkmsNAIRc2Mh1PuiAQQRWKw/qsnsm8ZO75fI8VgY9/rDDqE7SQASakxQFxGt/maM8xPit5C1esTD9Q1HjnG5xcdRrSsHAZTu2JEEiFGG41Zo3eJ9VNuIILlY11YgUqhFCLuAA7Z5jISAfYGzFI0TXH1FKwZQy8xfYx8YBSZdL5TxGEXPiC3JV/ntxT5Y8o1bbwUjXaIc9+xNH3kMqWucppDdRw/o/wzk82At5duPsJEUcl24CRKv1Gyoyl0HJiOH9Hsow8qnUyH+B2+kLGRCOltvCrmnjH12TYyzkad4388P6LcKcQh6g9uKTPDmUWCnbwqbi557hUk88bC9svK2lRyCRAw3crdqG5ZupJ4fBOI8Wt9GBGxNGYnI5cjtREGNMp5AVi2Hd2OuYWqGcxAra6k3NKwZQynUViXEcErc7ZR5mlFlHDtcZXXVSCPMVE4eNXX4h2yIJAVOnI1LC8R3jdyI02Y2kBtGTf5VHDvzynM/wBxU8UbKcqjMATcbtKgQrEAdx18qxsmZ44R8PtN5nicDP3LmF/CxupPI89ggEEGpMLGT+GxFeqS78tjQwkxBNhS4Tm7/akjSPwgdssggjLv9B1oXJZ3N2JuTxLAGsNie8URSm0g0P8AUPdO6xqzsbAVJI0752FlHhHQcWQDUGMy+xiPow5+dAggEHblxEcPiPtclGtO7zMGk0Gi8aRekaWL8pyBzHI0vpJifx4939ulLisO36oHmDQniOkifehPh495lUn5Gmx0Q8N28qfFTyXCgIPuaC6k3J/YSoNd2vSsi9KAHT/Rz//EABQRAQAAAAAAAAAAAAAAAAAAAID/2gAIAQIBAT8ADv8A/8QAFBEBAAAAAAAAAAAAAAAAAAAAgP/aAAgBAwEBPwAO/wD/2Q=="},9463:function(e){"undefined"!=typeof self&&self,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist/",n(n.s=1)}([function(e,t){var n="function"==typeof Float32Array;function r(e,t){return 1-3*t+3*e}function i(e,t){return 3*t-6*e}function a(e){return 3*e}function o(e,t,n){return((r(t,n)*e+i(t,n))*e+a(t))*e}function s(e,t,n){return 3*r(t,n)*e*e+2*i(t,n)*e+a(t)}function l(e){return e}e.exports=function(e,t,r,i){if(!(0<=e&&e<=1&&0<=r&&r<=1))throw new Error("bezier x values must be in [0, 1] range");if(e===t&&r===i)return l;for(var a=n?new Float32Array(11):new Array(11),c=0;c<11;++c)a[c]=o(.1*c,e,r);function u(t){for(var n=0,i=1;10!==i&&a[i]<=t;++i)n+=.1;--i;var l=n+(t-a[i])/(a[i+1]-a[i])*.1,c=s(l,e,r);return c>=.001?function(e,t,n,r){for(var i=0;i<4;++i){var a=s(t,n,r);if(0===a)return t;t-=(o(t,n,r)-e)/a}return t}(t,l,e,r):0===c?l:function(e,t,n,r,i){var a,s,l=0;do{(a=o(s=t+(n-t)/2,r,i)-e)>0?n=s:t=s}while(Math.abs(a)>1e-7&&++l<10);return s}(t,n,n+.1,e,r)}return function(e){return 0===e?0:1===e?1:o(u(e),t,i)}}},function(e,t,n){"use strict";n.r(t);var r=function(){var e=this.$createElement;return(this._self._c||e)(this.tag,{ref:"scrollactive-nav-wrapper",tag:"component",staticClass:"scrollactive-nav"},[this._t("default")],2)};r._withStripped=!0;var i=n(0),a=n.n(i);function o(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var l=function(e,t,n,r,i,a,o,s){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=[],c._compiled=!0),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}({props:{activeClass:{type:String,default:"is-active"},offset:{type:Number,default:20},scrollOffset:{type:Number,default:null},scrollContainerSelector:{type:String,default:""},clickToScroll:{type:Boolean,default:!0},duration:{type:Number,default:600},alwaysTrack:{type:Boolean,default:!1},bezierEasingValue:{type:String,default:".5,0,.35,1"},modifyUrl:{type:Boolean,default:!0},exact:{type:Boolean,default:!1},highlightFirstItem:{type:Boolean,default:!1},tag:{type:String,default:"nav"},scrollOnStart:{type:Boolean,default:!0}},data:function(){return{observer:null,items:[],currentItem:null,lastActiveItem:null,scrollAnimationFrame:null,bezierEasing:a.a}},computed:{cubicBezierArray:function(){return this.bezierEasingValue.split(",")},scrollContainer:function(){var e=window;return this.scrollContainerSelector&&(e=document.querySelector(this.scrollContainerSelector)||window),e}},mounted:function(){var e=window.MutationObserver||window.WebKitMutationObserver;this.observer||(this.observer=new e(this.initScrollactiveItems),this.observer.observe(this.$refs["scrollactive-nav-wrapper"],{childList:!0,subtree:!0})),this.initScrollactiveItems(),this.removeActiveClass(),this.currentItem=this.getItemInsideWindow(),this.currentItem&&this.currentItem.classList.add(this.activeClass),this.scrollOnStart&&this.scrollToHashElement(),this.scrollContainer.addEventListener("scroll",this.onScroll)},updated:function(){this.initScrollactiveItems()},beforeDestroy:function(){this.scrollContainer.removeEventListener("scroll",this.onScroll),window.cancelAnimationFrame(this.scrollAnimationFrame)},methods:{onScroll:function(e){this.currentItem=this.getItemInsideWindow(),this.currentItem!==this.lastActiveItem&&(this.removeActiveClass(),this.$emit("itemchanged",e,this.currentItem,this.lastActiveItem),this.lastActiveItem=this.currentItem),this.currentItem&&this.currentItem.classList.add(this.activeClass)},getItemInsideWindow:function(){var e,t=this;return[].forEach.call(this.items,(function(n){var r=n===t.items[0],i=document.getElementById(decodeURI(n.hash.substr(1)));if(i){var a=t.scrollContainer.scrollTop||window.pageYOffset,o=a>=t.getOffsetTop(i)-t.offset,s=a<t.getOffsetTop(i)-t.offset+i.offsetHeight;r&&t.highlightFirstItem&&s&&(e=n),t.exact&&o&&s&&(e=n),!t.exact&&o&&(e=n)}})),e},initScrollactiveItems:function(){var e=this;this.items=this.$el.querySelectorAll(".scrollactive-item"),this.clickToScroll?[].forEach.call(this.items,(function(t){t.addEventListener("click",e.handleClick)})):[].forEach.call(this.items,(function(t){t.removeEventListener("click",e.handleClick)}))},setScrollactiveItems:function(){this.initScrollactiveItems()},handleClick:function(e){var t=this;e.preventDefault();var n=e.currentTarget.hash,r=document.getElementById(decodeURI(n.substr(1)));r?(this.alwaysTrack||(this.scrollContainer.removeEventListener("scroll",this.onScroll),window.cancelAnimationFrame(this.scrollAnimationFrame),this.removeActiveClass(),e.currentTarget.classList.add(this.activeClass)),this.scrollTo(r).then((function(){t.alwaysTrack||(t.scrollContainer.addEventListener("scroll",t.onScroll),t.currentItem=[].find.call(t.items,(function(e){return decodeURI(e.hash.substr(1))===r.id})),t.currentItem!==t.lastActiveItem&&(t.$emit("itemchanged",null,t.currentItem,t.lastActiveItem),t.lastActiveItem=t.currentItem)),t.modifyUrl&&t.pushHashToUrl(n)}))):console.warn("[vue-scrollactive] Element '".concat(n,"' was not found. Make sure it is set in the DOM."))},scrollTo:function(e){var t=this;return new Promise((function(n){var r=t.getOffsetTop(e),i=t.scrollContainer.scrollTop||window.pageYOffset,a=r-i,s=t.bezierEasing.apply(t,o(t.cubicBezierArray)),l=null;window.requestAnimationFrame((function e(r){l||(l=r);var o=r-l,c=o/t.duration;o>=t.duration&&(o=t.duration),c>=1&&(c=1);var u=t.scrollOffset||t.offset,d=i+s(c)*(a-u);t.scrollContainer.scrollTo(0,d),o<t.duration?t.scrollAnimationFrame=window.requestAnimationFrame(e):n()}))}))},getOffsetTop:function(e){for(var t=0,n=e;n;)t+=n.offsetTop,n=n.offsetParent;return this.scrollContainer.offsetTop&&(t-=this.scrollContainer.offsetTop),t},removeActiveClass:function(){var e=this;[].forEach.call(this.items,(function(t){t.classList.remove(e.activeClass)}))},scrollToHashElement:function(){var e=this,t=window.location.hash;if(t){var n=document.querySelector(decodeURI(t));n&&(window.location.hash="",setTimeout((function(){var r=n.offsetTop-e.offset;e.scrollContainer.scrollTo(0,r),e.pushHashToUrl(t)}),0))}},pushHashToUrl:function(e){window.history.pushState?window.history.pushState(null,null,e):window.location.hash=e}}},r);l.options.__file="src/scrollactive.vue";var c=l.exports,u={install:function(e){u.install.installed||e.component("scrollactive",c)}};"undefined"!=typeof window&&window.Vue&&u.install(window.Vue),t.default=u}])},9472:(e,t,n)=>{var r={"./bar.svg":2716,"./boxplot.svg":9286,"./calendar.svg":3778,"./candlestick.svg":8821,"./custom.svg":6455,"./dataZoom.svg":6956,"./dataset.svg":4354,"./funnel.svg":6838,"./gauge.svg":423,"./geo.svg":7876,"./gl.svg":6039,"./graph.svg":4104,"./graphic.svg":9706,"./heatmap.svg":704,"./line.svg":4713,"./lines.svg":9056,"./map.svg":8038,"./parallel.svg":9719,"./pictorialBar.svg":9970,"./pie.svg":2885,"./radar.svg":2302,"./rich.svg":566,"./sankey.svg":3109,"./scatter.svg":1506,"./sunburst.svg":8890,"./themeRiver.svg":2714,"./tree.svg":8614,"./treemap.svg":3013};function i(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=a,e.exports=i,i.id=9472},6796:e=>{"use strict";e.exports='!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).estraverse=e()}}((function(){return function e(t,n,r){function i(a,s){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(o)return o(a,!0);var p=new Error("Cannot find module \'"+a+"\'");throw p.code="MODULE_NOT_FOUND",p}var u=n[a]={exports:{}};t[a][0].call(u.exports,(function(e){return i(t[a][1][e]||e)}),u,u.exports,e,t,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<r.length;a++)i(r[a]);return i}({1:[function(e,t,n){!function e(t){var n,r,i,o,a,s;function l(e){var t,n,r={};for(t in e)e.hasOwnProperty(t)&&(n=e[t],r[t]="object"==typeof n&&null!==n?l(n):n);return r}function p(e,t){this.parent=e,this.key=t}function u(e,t,n,r){this.node=e,this.path=t,this.wrap=n,this.ref=r}function c(){}function f(e){return null!=e&&("object"==typeof e&&"string"==typeof e.type)}function h(e,t){return(e===n.ObjectExpression||e===n.ObjectPattern)&&"properties"===t}function m(e,t){for(var n=e.length-1;n>=0;--n)if(e[n].node===t)return!0;return!1}function d(e,t){return(new c).traverse(e,t)}function y(e,t){var n;return n=function(e,t){var n,r,i,o;for(r=e.length,i=0;r;)t(e[o=i+(n=r>>>1)])?r=n:(i=o+1,r-=n+1);return i}(t,(function(t){return t.range[0]>e.range[0]})),e.extendedRange=[e.range[0],e.range[1]],n!==t.length&&(e.extendedRange[1]=t[n].range[0]),(n-=1)>=0&&(e.extendedRange[0]=t[n].range[1]),e}return n={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ChainExpression:"ChainExpression",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ComprehensionBlock:"ComprehensionBlock",ComprehensionExpression:"ComprehensionExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DebuggerStatement:"DebuggerStatement",DirectiveStatement:"DirectiveStatement",DoWhileStatement:"DoWhileStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",ForOfStatement:"ForOfStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",GeneratorExpression:"GeneratorExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportExpression:"ImportExpression",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",ModuleSpecifier:"ModuleSpecifier",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",PrivateIdentifier:"PrivateIdentifier",Program:"Program",Property:"Property",PropertyDefinition:"PropertyDefinition",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"},i={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ComprehensionBlock:["left","right"],ComprehensionExpression:["blocks","filter","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DirectiveStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],GeneratorExpression:["blocks","filter","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportExpression:["source"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],ModuleSpecifier:[],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},r={Break:o={},Skip:a={},Remove:s={}},p.prototype.replace=function(e){this.parent[this.key]=e},p.prototype.remove=function(){return Array.isArray(this.parent)?(this.parent.splice(this.key,1),!0):(this.replace(null),!1)},c.prototype.path=function(){var e,t,n,r,i;function o(e,t){if(Array.isArray(t))for(n=0,r=t.length;n<r;++n)e.push(t[n]);else e.push(t)}if(!this.__current.path)return null;for(i=[],e=2,t=this.__leavelist.length;e<t;++e)o(i,this.__leavelist[e].path);return o(i,this.__current.path),i},c.prototype.type=function(){return this.current().type||this.__current.wrap},c.prototype.parents=function(){var e,t,n;for(n=[],e=1,t=this.__leavelist.length;e<t;++e)n.push(this.__leavelist[e].node);return n},c.prototype.current=function(){return this.__current.node},c.prototype.__execute=function(e,t){var n,r;return r=void 0,n=this.__current,this.__current=t,this.__state=null,e&&(r=e.call(this,t.node,this.__leavelist[this.__leavelist.length-1].node)),this.__current=n,r},c.prototype.notify=function(e){this.__state=e},c.prototype.skip=function(){this.notify(a)},c.prototype.break=function(){this.notify(o)},c.prototype.remove=function(){this.notify(s)},c.prototype.__initialize=function(e,t){this.visitor=t,this.root=e,this.__worklist=[],this.__leavelist=[],this.__current=null,this.__state=null,this.__fallback=null,"iteration"===t.fallback?this.__fallback=Object.keys:"function"==typeof t.fallback&&(this.__fallback=t.fallback),this.__keys=i,t.keys&&(this.__keys=Object.assign(Object.create(this.__keys),t.keys))},c.prototype.traverse=function(e,t){var n,r,i,s,l,p,c,d,y,x,_,E;for(this.__initialize(e,t),E={},n=this.__worklist,r=this.__leavelist,n.push(new u(e,null,null,null)),r.push(new u(null,null,null,null));n.length;)if((i=n.pop())!==E){if(i.node){if(p=this.__execute(t.enter,i),this.__state===o||p===o)return;if(n.push(E),r.push(i),this.__state===a||p===a)continue;if(l=(s=i.node).type||i.wrap,!(x=this.__keys[l])){if(!this.__fallback)throw new Error("Unknown node type "+l+".");x=this.__fallback(s)}for(d=x.length;(d-=1)>=0;)if(_=s[c=x[d]])if(Array.isArray(_)){for(y=_.length;(y-=1)>=0;)if(_[y]&&!m(r,_[y])){if(h(l,x[d]))i=new u(_[y],[c,y],"Property",null);else{if(!f(_[y]))continue;i=new u(_[y],[c,y],null,null)}n.push(i)}}else if(f(_)){if(m(r,_))continue;n.push(new u(_,c,null,null))}}}else if(i=r.pop(),p=this.__execute(t.leave,i),this.__state===o||p===o)return},c.prototype.replace=function(e,t){var n,r,i,l,c,m,d,y,x,_,E,g,S;function b(e){var t,r,i,o;if(e.ref.remove())for(r=e.ref.key,o=e.ref.parent,t=n.length;t--;)if((i=n[t]).ref&&i.ref.parent===o){if(i.ref.key<r)break;--i.ref.key}}for(this.__initialize(e,t),E={},n=this.__worklist,r=this.__leavelist,m=new u(e,null,null,new p(g={root:e},"root")),n.push(m),r.push(m);n.length;)if((m=n.pop())!==E){if(void 0!==(c=this.__execute(t.enter,m))&&c!==o&&c!==a&&c!==s&&(m.ref.replace(c),m.node=c),this.__state!==s&&c!==s||(b(m),m.node=null),this.__state===o||c===o)return g.root;if((i=m.node)&&(n.push(E),r.push(m),this.__state!==a&&c!==a)){if(l=i.type||m.wrap,!(x=this.__keys[l])){if(!this.__fallback)throw new Error("Unknown node type "+l+".");x=this.__fallback(i)}for(d=x.length;(d-=1)>=0;)if(_=i[S=x[d]])if(Array.isArray(_)){for(y=_.length;(y-=1)>=0;)if(_[y]){if(h(l,x[d]))m=new u(_[y],[S,y],"Property",new p(_,y));else{if(!f(_[y]))continue;m=new u(_[y],[S,y],null,new p(_,y))}n.push(m)}}else f(_)&&n.push(new u(_,S,null,new p(i,S)))}}else if(m=r.pop(),void 0!==(c=this.__execute(t.leave,m))&&c!==o&&c!==a&&c!==s&&m.ref.replace(c),this.__state!==s&&c!==s||b(m),this.__state===o||c===o)return g.root;return g.root},t.Syntax=n,t.traverse=d,t.replace=function(e,t){return(new c).replace(e,t)},t.attachComments=function(e,t,n){var i,o,a,s,p=[];if(!e.range)throw new Error("attachComments needs range information");if(!n.length){if(t.length){for(a=0,o=t.length;a<o;a+=1)(i=l(t[a])).extendedRange=[0,e.range[0]],p.push(i);e.leadingComments=p}return e}for(a=0,o=t.length;a<o;a+=1)p.push(y(l(t[a]),n));return s=0,d(e,{enter:function(e){for(var t;s<p.length&&!((t=p[s]).extendedRange[1]>e.range[0]);)t.extendedRange[1]===e.range[0]?(e.leadingComments||(e.leadingComments=[]),e.leadingComments.push(t),p.splice(s,1)):s+=1;return s===p.length?r.Break:p[s].extendedRange[0]>e.range[1]?r.Skip:void 0}}),s=0,d(e,{leave:function(e){for(var t;s<p.length&&(t=p[s],!(e.range[1]<t.extendedRange[0]));)e.range[1]===t.extendedRange[0]?(e.trailingComments||(e.trailingComments=[]),e.trailingComments.push(t),p.splice(s,1)):s+=1;return s===p.length?r.Break:p[s].extendedRange[0]>e.range[1]?r.Skip:void 0}}),e},t.VisitorKeys=i,t.VisitorOption=r,t.Controller=c,t.cloneEnvironment=function(){return e({})},t}(n)},{}]},{},[1])(1)}));'}},t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}return n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n(2755)})();