{"version":3,"sources":["webpack://echartsExample/./node_modules/@lang/object-visualizer/dist/object-visualizer.esm.min.js","webpack://echartsExample/./common/buildCode.js","webpack://echartsExample/src/editor/CodeAce.vue","webpack://echartsExample/src/editor/CodeMonaco.vue","webpack://echartsExample/src/editor/Editor.vue","webpack://echartsExample/src/editor/FullCodePreview.vue","webpack://echartsExample/src/editor/Preview.vue","webpack://echartsExample/src/editor/View.vue","webpack://echartsExample/src/explore/ExampleCard.vue","webpack://echartsExample/src/explore/Explore.vue","webpack://echartsExample/./src/common/config.js","webpack://echartsExample/./src/common/helper.js","webpack://echartsExample/./src/common/i18n.js","webpack://echartsExample/./src/common/store.js","webpack://echartsExample/./src/data/chart-list-data-gl.js","webpack://echartsExample/./src/data/chart-list-data.js","webpack://echartsExample/./src/data/option-keywords.js","webpack://echartsExample/./src/dep/showDebugDirtyRect.js","webpack://echartsExample/./src/editor/downloadExample.js","webpack://echartsExample/./src/editor/sandbox.js","webpack://echartsExample/./src/main.js","webpack://echartsExample/./src/asset/placeholder.jpg","webpack://echartsExample/./src/asset/icon/bar.svg","webpack://echartsExample/./src/asset/icon/boxplot.svg","webpack://echartsExample/./src/asset/icon/calendar.svg","webpack://echartsExample/./src/asset/icon/candlestick.svg","webpack://echartsExample/./src/asset/icon/custom.svg","webpack://echartsExample/./src/asset/icon/dataZoom.svg","webpack://echartsExample/./src/asset/icon/dataset.svg","webpack://echartsExample/./src/asset/icon/drag.svg","webpack://echartsExample/./src/asset/icon/funnel.svg","webpack://echartsExample/./src/asset/icon/gauge.svg","webpack://echartsExample/./src/asset/icon/geo.svg","webpack://echartsExample/./src/asset/icon/gl.svg","webpack://echartsExample/./src/asset/icon/graph.svg","webpack://echartsExample/./src/asset/icon/heatmap.svg","webpack://echartsExample/./src/asset/icon/line.svg","webpack://echartsExample/./src/asset/icon/lines.svg","webpack://echartsExample/./src/asset/icon/map.svg","webpack://echartsExample/./src/asset/icon/parallel.svg","webpack://echartsExample/./src/asset/icon/pictorialBar.svg","webpack://echartsExample/./src/asset/icon/pie.svg","webpack://echartsExample/./src/asset/icon/radar.svg","webpack://echartsExample/./src/asset/icon/rich.svg","webpack://echartsExample/./src/asset/icon/sankey.svg","webpack://echartsExample/./src/asset/icon/scatter.svg","webpack://echartsExample/./src/asset/icon/sunburst.svg","webpack://echartsExample/./src/asset/icon/themeRiver.svg","webpack://echartsExample/./src/asset/icon/tree.svg","webpack://echartsExample/./src/asset/icon/treemap.svg","webpack://echartsExample/./node_modules/lodash/_Symbol.js","webpack://echartsExample/./node_modules/lodash/_baseGetTag.js","webpack://echartsExample/./node_modules/lodash/_freeGlobal.js","webpack://echartsExample/./node_modules/lodash/_getRawTag.js","webpack://echartsExample/./node_modules/lodash/_objectToString.js","webpack://echartsExample/./node_modules/lodash/_root.js","webpack://echartsExample/./node_modules/lodash/debounce.js","webpack://echartsExample/./node_modules/lodash/isObject.js","webpack://echartsExample/./node_modules/lodash/isObjectLike.js","webpack://echartsExample/./node_modules/lodash/isSymbol.js","webpack://echartsExample/./node_modules/lodash/now.js","webpack://echartsExample/./node_modules/lodash/toNumber.js","webpack://echartsExample/./src/editor/CodeAce.vue?fe3c","webpack://echartsExample/./src/editor/CodeMonaco.vue?3785","webpack://echartsExample/./src/editor/Editor.vue?3ca8","webpack://echartsExample/./src/editor/FullCodePreview.vue?ab3f","webpack://echartsExample/./src/editor/Preview.vue?a8fb","webpack://echartsExample/./src/explore/ExampleCard.vue?81d6","webpack://echartsExample/./src/explore/Explore.vue?2d5c","webpack://echartsExample/./src/editor/object-visualizer.css","webpack://echartsExample/./node_modules/resize-detector/esm/index.js","webpack://echartsExample/./node_modules/vanilla-lazyload/dist/lazyload.esm.js","webpack://echartsExample/./node_modules/vue-i18n/dist/vue-i18n.esm.js","webpack://echartsExample/./src/editor/CodeAce.vue","webpack://echartsExample/./src/editor/CodeMonaco.vue","webpack://echartsExample/./src/editor/Editor.vue","webpack://echartsExample/./src/editor/FullCodePreview.vue","webpack://echartsExample/./src/editor/Preview.vue","webpack://echartsExample/./src/editor/View.vue","webpack://echartsExample/./src/explore/ExampleCard.vue","webpack://echartsExample/./src/explore/Explore.vue","webpack://echartsExample/./src/editor/CodeAce.vue?edd2","webpack://echartsExample/./src/editor/CodeMonaco.vue?5397","webpack://echartsExample/./src/editor/Editor.vue?c684","webpack://echartsExample/./src/editor/FullCodePreview.vue?84e7","webpack://echartsExample/./src/editor/Preview.vue?9b0f","webpack://echartsExample/./src/editor/View.vue?61ae","webpack://echartsExample/./src/explore/ExampleCard.vue?15c2","webpack://echartsExample/./src/explore/Explore.vue?0a10","webpack://echartsExample/./src/editor/CodeAce.vue?025a","webpack://echartsExample/./src/editor/CodeMonaco.vue?edac","webpack://echartsExample/./src/editor/Editor.vue?08c4","webpack://echartsExample/./src/editor/FullCodePreview.vue?f280","webpack://echartsExample/./src/editor/Preview.vue?42e8","webpack://echartsExample/./src/editor/View.vue?1961","webpack://echartsExample/./src/explore/ExampleCard.vue?094b","webpack://echartsExample/./src/explore/Explore.vue?6f68","webpack://echartsExample/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://echartsExample/./node_modules/vue-scrollactive/dist/vue-scrollactive.min.js","webpack://echartsExample//Users/lang/Develop/echarts-examples/src/asset/icon|sync|/^\\.\\/.*\\.svg$/","webpack://echartsExample/external \"Vue\"","webpack://echartsExample/webpack/bootstrap","webpack://echartsExample/webpack/runtime/compat get default export","webpack://echartsExample/webpack/runtime/define property getters","webpack://echartsExample/webpack/runtime/global","webpack://echartsExample/webpack/runtime/hasOwnProperty shorthand","webpack://echartsExample/webpack/runtime/make namespace object","webpack://echartsExample/webpack/runtime/node module decorator","webpack://echartsExample/webpack/runtime/publicPath","webpack://echartsExample/webpack/startup"],"names":["COMPONENTS_MAP","grid","polar","geo","singleAxis","parallel","calendar","graphic","toolbox","tooltip","axisPointer","brush","title","timeline","markPoint","markLine","markArea","legend","dataZoom","visualMap","aria","dataset","xAxis","yAxis","angleAxis","radiusAxis","CHARTS_MAP","line","bar","pie","scatter","radar","map","tree","treemap","graph","gauge","funnel","sankey","boxplot","candlestick","effectScatter","lines","heatmap","pictorialBar","themeRiver","sunburst","custom","COMPONENTS_GL_MAP","grid3D","geo3D","globe","mapbox3D","maptalks3D","xAxis3D","yAxis3D","zAxis3D","CHARTS_GL_MAP","bar3D","line3D","scatter3D","lines3D","polygons3D","surface","map3D","scatterGL","graphGL","flowGL","linesGL","COMPONENTS_MAP_REVERSE","CHARTS_MAP_REVERSE","CHARTS_GL_MAP_REVERSE","COMPONENTS_GL_MAP_REVERSE","RENDERERS_MAP_REVERSE","MARKERS","INJECTED_COMPONENTS","DEPENDENT_COMPONENTS","createReverseMap","reverseMap","Object","keys","forEach","key","includes","module","collectDeps","option","deps","options","opt","concat","baseOption","Array","from","Set","val","isArray","length","push","series","seriesOpt","type","markerType","buildMinimalBundleCode","includeType","chartsImports","componentsImports","chartsGLImports","componentsGLImports","renderersImports","dep","endsWith","replace","getImportsPartCode","imports","str","join","allImports","ECOptionTypeCode","filter","a","importsCodes","item","trim","buildLegacyMinimalBundleCode","isESM","modules","mod","hasGLInDeps","find","jsCode","minimal","esm","legacy","ts","theme","ROOT_PATH","extraImports","hasECStat","indexOf","usedRootPath","usedApp","DEP_CODE","IMPORT_CODE","ENV_CODE","PREPARE_CODE","EXAMPLE_CATEGORIES","THEMES","dark","BLACK_MAP","list","i","location","href","URL_PARAMS","search","substr","split","kv","SUPPORT_WEBP","elem","document","createElement","width","height","getContext","toDataURL","SCRIPT_URLS","localEChartsMinJS","echartsMinJS","echartsDir","echartsStatMinJS","echartsGLMinJS","datGUIMinJS","monacoDir","aceDir","promisesCache","loadScriptsAsync","scripts","Promise","all","scriptUrl","url","match","promise","resolve","reject","script","src","async","onload","onerror","body","appendChild","link","rel","downloadBlob","blob","fileName","window","navigator","msSaveBlob","msSaveOrOpenBlob","URL","createObjectURL","download","click","revokeObjectURL","en","editor","run","errorInEditor","chartOK","darkMode","enableDecal","renderCfgTitle","renderer","useDirtyRect","edit","monacoMode","tabEditor","tabFullCodePreview","tabOptionPreview","minimalBundle","chartTypes","drag","rich","zh","store","cdnRoot","version","locale","typeCheck","runCode","sourceCode","runHash","isMobile","innerWidth","editorStatus","message","loadExampleCode","dataRoot","$","ajax","dataType","success","data","parseSourceCode","code","hashId","updateRunHash","keywords","DebugRect","style","dom","className","assign","backgroundColor","border","cssText","hasOwnProperty","prototype","update","rect","domStyle","left","x","top","y","hide","opacity","show","_this","clearTimeout","_hideTimeout","setTimeout","zr","opts","painter","getLayers","Error","isSingleCanvas","debugViewRoot","debugRects","computedStyle","getComputedStyle","position","on","idx_1","eachBuiltinLayer","layer","debugGetPaintRects","paintRects","hasRootPath","rootPathCode","file","Blob","encoding","createSandbox","optionUpdated","appEnv","gui","_intervalIdList","_timeoutIdList","_oldSetTimeout","_oldSetInterval","setInterval","func","delay","id","gap","_clearTimeTickers","clearInterval","_events","_wrapOnMethods","chart","oldOn","oldSetOption","setOption","eventName","res","apply","arguments","_clearChartEvents","off","chartInstance","resize","dispose","getDataURL","pixelRatio","excludeComponents","getOption","el","echarts","init","showDebugDirtyRect","getZr","autoHideDelay","e","console","error","config","compiledCode","Function","updateTime","startTime","Date","endTime","domElement","remove","destroy","dat","GUI","autoPlace","css","right","zIndex","append","configParameters","name","value","isColor","controller","add","min","max","obj","colorArr","color","parse","stringify","onChange","onFinishChange","Vue","VueScrollactive","i18n","VueI18n","fallbackLocale","messages","querySelector","container","render","h","EditorPage","explore","ExplorePage","view","ViewPage","page"],"mappings":"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AACA;;AACA;AACA;AACA,kBADA;AAEA;AAFA,WADA;AAIA;AACA,kBADA;AAEA;AAFA;AAJA;AASA;AACA;AAdA,GApCA;AAqDA;AACA,eADA,uBACA,MADA,EACA;AACA;AACA;AAHA;AArDA,G;;;;;;;;;;;;;;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AADA,KAEA,IAFA,CAEA;AAAA;AAAA,GAFA,EAEA,IAFA,CAEA;AAEA;AACA;AACA,iCADA;AAEA;AAFA,OAHA,CAQA;;AACA;AACA,0DADA;AAEA,gCAFA;AAGA;AAHA,OATA,CAeA;;AACA,+DACA,IADA,EAEA;AACA,oDAHA;AAMA,woBAyBA,sBAzBA;AA2BA;AACA,GApDA;AAqDA;;AAEA;AACA;AACA;AACA,+EACA,gFADA,EAEA;AACA,qGAHA,GAIA,IAJA,CAIA;AACA;AAAA;AAAA;AAAA;AAAA;;AACA;AACA,0BACA,uBADA,GAEA;AACA;AACA;AACA,aAFA;AAGA,WANA;AAOA,SARA;AASA,OAfA;AAgBA;;AACA;AACA,GArBA,CAuBA;;;AACA;AACA;;AAEA;AAEA,wBAFA;AAIA,MAJA,kBAIA;AACA;AACA,8DADA;AAEA;AAFA;AAIA,GATA;AAWA,SAXA,qBAWA;AAAA;;AACA;AACA;AACA;AACA,4CACA,uBADA,EAEA,YAFA,EAGA;AACA,yCAJA;AAMA;AACA,oBADA;AAEA,gGAFA;AAGA;AACA;AADA,SAHA;AAMA;AANA;AASA;;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA,OAHA;AAIA,KA3BA;AA4BA,GAzCA;AA2CA,WA3CA,uBA2CA;AACA;AACA;;AACA;AACA;AACA,GAhDA;AAkDA;AACA,kBADA,0BACA,IADA,EACA;AACA;AACA;AACA;AACA;AALA,GAlDA;AA0DA;AACA,eADA,uBACA,MADA,EACA;AACA;AACA;AAHA;AA1DA,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA,8DADA;AAEA,oEAFA;AAGA,8EAHA;AAIA;AAJA,GADA;AAQA,MARA,kBAQA;AACA;AACA,sBADA;AAEA,2BAFA;AAGA,uBAHA;AAIA,8DAJA;AAKA,qBALA;AAOA,+BAPA;AASA,kBATA;AAWA;AACA,sBADA;AAEA,iBAFA;AAGA,mBAHA,CAGA;;AAHA;AAXA;AAiBA,GA1BA;AA4BA;AACA,eADA,yBACA;AACA;AACA;AAEA;AACA;AACA;;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA;AACA;AAfA,GA5BA;AA8CA,SA9CA,qBA8CA;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAHA;AAIA,KANA,MAOA;AACA;AACA;AACA;AACA,OAHA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA,OANA;AAQA;AACA;AACA,OAFA;AAGA;AACA,GAzEA;AA2EA;AACA,uBADA,iCACA;AACA;AACA,KAHA;AAIA,iBAJA,2BAIA;AACA;AACA,KANA;AAOA,kBAPA,4BAOA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;AACA,4CADA;AAEA,iBAFA;AAGA,oCAHA;AAIA;AACA,sFALA;AAMA;AANA;AAQA,KAtBA;AAuBA,uBAvBA,iCAuBA;AACA;;AACA;AACA;AACA;;AACA,qEACA,MADA,EAEA,yCAFA,EAGA;AACA,eADA,mBACA,MADA,EACA,IADA,EACA;AACA;AACA;AACA;AACA;;AACA;AACA,WALA;AAMA,SARA;AASA,iCATA,qCASA,IATA,EASA;AACA,sCACA,wCADA;AAEA;AAZA,OAHA;AAkBA,KA9CA;AA+CA,oBA/CA,4BA+CA,GA/CA,EA+CA;AACA;AACA;AACA,OAFA,MAGA;AACA;AACA;AACA;AAtDA,GA3EA;AAoIA;AACA,sBADA,2BACA,eADA,EACA;AACA;AACA;AACA;AACA,KALA;AAMA,gBANA,sBAMA,GANA,EAMA;AACA;AACA,KARA;AASA,oBATA,2BASA;AACA;AACA,KAXA;AAYA;AACA,gBADA;AAEA,aAFA,qBAEA;AACA;AACA;AAJA;AAZA;AApIA,G;;;;;;;;;;;;;;;;;;;;;;ACxEA;AACA;AACA;;AAEA;AACA;AACA,6EACA,0EADA;AAGA;;AACA;AACA;;AAEA;AAEA,iBAFA;AAIA,MAJA,kBAIA;AACA;AACA,8DADA;AAEA;AAFA;AAIA,GATA;AAWA,SAXA,qBAWA;AAAA;;AACA;AACA;AACA;AACA;AACA,yDAHA,CAIA;;AACA;AACA,sBADA;AAEA,8BAFA;AAGA,8BAHA;AAIA,kCAJA;AAKA;AALA,SALA,CAYA;;AACA;AAEA;;AAEA;AAEA,KAnBA;AAoBA,GAjCA;AAmCA;AACA,WADA,mBACA,IADA,EACA;AACA;AACA;;AACA;AACA;AACA,kBADA;AAEA;AAFA,WADA;AAIA;AACA,kBADA;AAEA;AAFA;AAJA;AASA;AACA;AAdA,GAnCA;AAoDA;AACA,QADA,gBACA,MADA,EACA;AACA;AACA;AAHA;AApDA,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACiDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAEA,+DAFA,CAIA;;AACA;AACA;AACA;AACA;;AAEA,6EACA,mEADA,EAEA,oEACA,yEADA,GACA,oEAHA,EAIA,kGAJA,EAKA,4DALA,EAMA,wEANA,4BAOA,yIAPA,sBAQA,WACA,0GADA,EAEA,8FAFA,IAGA,EAXA,IAYA,IAZA,CAYA;AACA;AACA,KAdA;AAeA;;AACA;AACA;;AAGA;AACA;AACA;AACA;;AACA;AACA;AACA;;AAGA;AAAA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,OAFA,MAGA;AACA;AACA;AACA,KARA;AASA;;AAEA;AACA;AAEA,uDAHA,CAKA;;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA,KAlBA,CAoBA;;;AACA;AAEA,GAvBA,CAwBA;AACA;AACA;AACA;AACA;;AAGA;AAEA,qBAFA;AAIA,MAJA,kBAIA;AACA;AACA,8DADA;AAEA,8BAFA;AAGA,yBAHA;AAIA,mBAJA;AAKA,oBALA;AAOA;AAPA;AASA,GAdA;AAgBA,SAhBA,qBAgBA;AAAA;;AACA;AACA;AACA;;AACA;AACA;AACA;AACA,KALA;AAOA;AACA;AACA;AACA;AACA,KAJA;AAKA,GA9BA;AAgCA;AACA,YADA,sBACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AAVA,GAhCA;AA6CA;AACA,oBADA,yBACA,GADA,EACA;AACA;AACA;AACA;AACA;AACA,SAHA,MAIA;AACA;AACA;AACA;AACA,KAXA;AAYA,qBAZA,4BAYA;AACA;AACA,KAdA;AAeA,qBAfA,4BAeA;AACA;AACA,KAjBA;AAkBA,wBAlBA,+BAkBA;AACA;AACA,KApBA;AAqBA,yBArBA,gCAqBA;AACA;AACA;AAvBA,GA7CA;AAuEA;AACA,YADA;AAEA;AACA;AACA,cAJA,wBAIA;AACA;AACA;AACA,KAPA;AAQA,WARA,qBAQA;AACA;AACA;AACA;AACA,KAZA;AAaA,mBAbA,6BAaA;AACA;AACA,KAfA;AAgBA,cAhBA,wBAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBADA;AAEA;AAFA;AAIA;AACA;AACA,KA7BA;AA8BA,aA9BA,uBA8BA;AACA;AACA,KAhCA,CAiCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAzCA;AAvEA,G;;;;;;;;;;;;;;;;;;;;;AC/KA;AACA;AAEA;AACA;AACA;AADA,GADA;AAKA,SALA,qBAKA;AACA;AACA;AACA,KAFA;AAGA;AATA,G;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGA;AACA;AAEA;AACA,oBADA;AAGA;AAEA,SAFA,mBAEA;AACA,+HACA,kBADA,IACA,EADA;AAEA,KALA;AAOA,gBAPA,0BAOA;AACA;AACA,KATA;AAWA,YAXA,sBAWA;AACA;AACA,KAbA;AAeA,gBAfA,0BAeA;AACA;AACA;AACA,KAlBA;AAoBA,eApBA,yBAoBA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KArCA;AAuCA,iBAvCA,2BAuCA;AACA;AACA;AACA;AACA;AACA;AACA;AA7CA;AAHA,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC0CA;AACA;AACA;AACA;AACA;CAEA;;AAEA;AAEA,qEACA,OADA,EACA,SADA,EACA,UADA,EACA,QADA,EACA,aADA,EACA,SADA,EACA,SADA,EAEA,cAFA,EAEA,YAFA,EAEA,UAFA,EAEA,QAFA,EAEA,UAFA,EAEA,MAFA,EAEA,SAFA,EAEA,KAFA,EAEA,OAFA,EAGA,UAHA,EAGA,MAHA,EAGA,MAHA,EAIA,OAJA,CAIA;AACA;AACA,CANA;;AAQA;;AACA,yEACA,WADA,EACA,SADA,EACA,QADA,EACA,SADA,EACA,OADA,EACA,OADA,CACA;AACA;AACA,CAHA;AAKA;AAEA;AAEA;AACA;AADA,GAFA;AAMA,MANA,kBAMA;AACA;;AAEA;AACA,4BADA,CAEA;;AACA;AACA;;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;;AACA;AACA;AACA;;AACA;AACA;AACA,qCADA;AAEA;AAFA;AAIA;AACA;;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OA/BA,QA+BA,oCA/BA,EAHA,CAkCA;;AACA;;AAEA;AACA;AAEA;AACA,8DADA;AAGA,kBAHA;AAKA,wFALA;AAMA;AACA;AACA;AACA;AACA;AACA;AAXA;AAaA,GA9DA;AAgEA;AACA,qBADA,4BACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AATA,GAhEA;AA4EA;AACA,eADA,yBACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,8BADA;AAEA;AAFA;AAIA;AACA;;AACA;AACA;AAdA,GA5EA;AA6FA,SA7FA,qBA6FA;A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W;AAChC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,qBAAqB,mBAAO,CAAC,mEAAmB;;AAEhD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AC3BA;AACA,wBAAwB,qBAAM,gBAAgB,qBAAM,IAAI,qBAAM,sBAAsB,qBAAM;;AAE1F;;;;;;;;;;;ACHA,aAAa,mBAAO,CAAC,mDAAW;;AAEhC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AC7CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;ACrBA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;ACRA,eAAe,mBAAO,CAAC,qDAAY;AACnC,UAAU,mBAAO,CAAC,2CAAO;AACzB,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AC9LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AC5BA,WAAW,mBAAO,CAAC,+CAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;ACtBA,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACjEA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,kBAAkB,UAAU,oBAAoB,iGAAiG,aAAa,kBAAkB,MAAM,OAAO,YAAY,WAAW,gBAAgB,gDAAgD,gBAAgB,cAAc,gCAAgC,WAAW,YAAY;;AAErY;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,4BAA4B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,WAAW,qBAAqB;AAChC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO,gBAAgB;AACvB,OAAO,4BAA4B;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO,qBAAqB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,gCAAgC;;AAEvC;AACA,OAAO,sCAAsC;AAC7C,OAAO,2EAA2E;;AAElF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEuC;;;;;;;;;;;;;;;;ACvSvC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,UAAU,WAAW,EAAE;AAC/D,EAAE;AACF;AACA;AACA,oDAAoD,WAAW;AAC/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,8BAA8B,4BAA4B;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,oCAAoC;AAC9D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0CAA0C,aAAa;AACvD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;ACzexB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU;AACV;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb,WAAW;AACX,gBAAgB,IAAqC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,WAAW;AACX,gBAAgB,IAAqC;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,YAAY,IAAqC;AACjD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP,YAAY,IAAqC;AACjD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB;;AAElB;AACA;AACA;AACA,GAAG;;AAEH;AACA,MAAM,KAAqC;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA,wCAAwC;AACxC,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mCAAmC;AACnC,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA,2BAA2B;;AAE3B;AACA;;AAEA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA,0EAA0E;;AAE1E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,UAAU;AACV;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,6CAA6C;AACnE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,qBAAqB,4BAA4B;AACjD;;AAEA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C,KAAK;AACL;AACA,mCAAmC;AACnC;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,uBAAuB,4BAA4B;;AAEnD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,cAAc,IAAqC;AACnD;AACA;AACA;AACA;AACA;AACA,YAAY,IAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wCAAwC;;AAExC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;AAMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;AAIA,sCAAsC;AACtC;AACA;AACA;AACA;AACA,2BAA2B,gCAAgC,EAAE;AAC7D,2BAA2B,gCAAgC,EAAE;AAC7D,gCAAgC,qEAAqE;AACrG;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,OAAO;AAC3B,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;;AAGA;AACA,2BAA2B;AAC3B,2DAA2D;AAC3D;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,0BAA0B,MAAM,qBAAqB,YAAY,qBAAqB,mBAAmB,qBAAqB,iBAAiB,qBAAqB,oBAAoB,qBAAqB,UAAU,qBAAqB,kBAAkB,qBAAqB,0BAA0B,qBAAqB,WAAW,qBAAqB,aAAa,qBAAqB,yBAAyB,qBAAqB,sBAAsB,qBAAqB,4BAA4B,qBAAqB,qBAAqB,qBAAqB,mBAAmB,qBAAqB;;AAEhmB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,GAAG,aAAa;AACnB;;AAEA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,GAAG,GAAG,kBAAkB;AACxB;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC;;AAEzC,+CAA+C;AAC/C,sDAAsD;AACtD,oDAAoD;AACpD,uDAAuD;;AAEvD,6CAA6C;AAC7C;AACA;AACA;;AAEA,qDAAqD;AACrD;AACA;AACA;AACA;;AAEA,6DAA6D;AAC7D,qEAAqE,yCAAyC;;AAE9G,8CAA8C;AAC9C,qDAAqD,yBAAyB;;AAE9E,gDAAgD;AAChD,yDAAyD,6BAA6B;;AAEtF,4DAA4D;AAC5D,kEAAkE,sCAAsC;;AAExG,yDAAyD;AACzD,+DAA+D,mCAAmC;;AAElG,+DAA+D;AAC/D,uEAAuE,2CAA2C;;AAElH,wDAAwD;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,sDAAsD;AACtD,6DAA6D,iCAAiC;;AAE9F,2DAA2D;AAC3D,yEAAyE;AACzE,qEAAqE;;AAErE;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,yDAAyD;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAqC;AACjD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,iBAAiB,2CAA2C;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;;AAErB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA,6BAA6B,aAAoB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA,sBAAsB;AACtB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA,sBAAsB;AACtB;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mDAAmD,iCAAiC;AACpF;;AAEA;AACA,0DAA0D;AAC1D;;AAEA;AACA;AACA;AACA;;AAEA;AACA,8FAA8F;AAC9F;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,aAAoB;AACjD;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA,sBAAsB;AACtB;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wDAAwD;AACxD;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0FAA0F;AAC1F;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,aAAoB;AACjD;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,iEAAiE;AACjE,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA,sBAAsB;AACtB,qDAAqD,GAAG,2BAA2B;AACnF,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;;;;;;;;;;;;;;;ACAb,CAAC,iEAAe,6KAAG,EAAC,C;;;;;;;;;;;;;;;;ACAxB,CAAC,iEAAe,yKAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA3L;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,uBAAuB,EAAE;AACvC;AACA;AACA;AACA;AACA;AACA,sBAAsB,qCAAqC;AAC3D,sBAAsB;AACtB,aAAa;AACb;AACA;AACA;AACA;AACA,0BAA0B,sBAAsB;AAChD;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS,6BAA6B,EAAE;AACrE;AACA;AACA;AACA,iCAAiC,SAAS,kBAAkB,EAAE;AAC9D;AACA;AACA;AACA;AACA;AACA,2CAA2C,gCAAgC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,iCAAiC;AAC1E;AACA;AACA;AACA;AACA,4CAA4C,oBAAoB,GAAG;AACnE,yCAAyC;AACzC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,yBAAyB,eAAe,gCAAgC,EAAE;AAC1E;AACA;AACA;AACA,6BAA6B,SAAS,kCAAkC,EAAE;AAC1E;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,gCAAgC,SAAS,uBAAuB,EAAE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oCAAoC;AACxD,oBAAoB,kBAAkB;AACtC,iBAAiB;AACjB,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gBAAgB;AAChB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACtOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,8DAA8D;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,kCAAkC;AACpD,kBAAkB;AAClB,SAAS;AACT,oBAAoB,iCAAiC;AACrD;AACA;AACA;AACA;AACA,SAAS,SAAS,mBAAmB,EAAE;AACvC;AACA;AACA;AACA,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,sBAAsB;AAC1D;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,yBAAyB,yCAAyC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,iCAAiC,SAAS,WAAW,EAAE;AACvD;AACA,+CAA+C,4BAA4B;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,8CAA8C,eAAe;AAC7D;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,gDAAgD;AAChD,uCAAuC;AACvC;AACA;AACA,gDAAgD;AAChD,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,SAAS,WAAW,EAAE;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;AACA,yBAAyB;AACzB;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mBAAmB;AAC/C,yBAAyB;AACzB,mBAAmB;AACnB,4BAA4B,sCAAsC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACjOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA,oBAAoB,mCAAmC;AACvD;AACA;AACA;AACA;AACA,gBAAgB;AAChB,OAAO;AACP;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,6DAA0B;AACnD;AACA;AACA,SAAS;AACT;AACA,kBAAkB,+BAA+B;AACjD;AACA;AACA,sBAAsB,kCAAkC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;AChCA;AACA;AACA;AACA;AACA,oBAAoB,SAAS,wBAAwB,EAAE;AACvD,eAAe,SAAS,uBAAuB,EAAE;AACjD;AACA;AACA,SAAS,SAAS,uBAAuB,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,mBAAmB;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qCAAqC;AACrC,yBAAyB;AACzB;AACA,oCAAoC,4BAA4B;AAChE;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS,0BAA0B,EAAE;AACpD;AACA;AACA,SAAS,oCAAoC;AAC7C;AACA,4BAA4B,4BAA4B;AACxD;AACA;AACA;AACA;AACA,wBAAwB;AACxB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,sCAAsC,SAAS,uBAAuB,EAAE;AACxE;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS,gBAAgB,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACjIA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACjGA;AACA,EAAE,KAAuD;AACzD;AACA,MAAM,CAIyB;AAC/B,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB,EAAE;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,yBAAyB;AAC3E,OAAO;AACP;AACA;AACA;AACA,wDAAwD,kBAAkB;AAC1E,kDAAkD,YAAY;AAC9D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,2BAA2B;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,QAAQ;AAC7E;AACA;AACA,gCAAgC,uBAAuB;AACvD;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,qFAAqF;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,gBAAgB;AAChB,OAAO;AACP;AACA;AACA,0BAA0B,qCAAqC;AAC/D,qBAAqB,4BAA4B;AACjD,2BAA2B,8BAA8B;AACzD,sCAAsC,4BAA4B;AAClE,4BAA4B,6BAA6B;AACzD,uBAAuB,6BAA6B;AACpD,0BAA0B,6BAA6B;AACvD,gCAAgC,sCAAsC;AACtE,wBAAwB,6BAA6B;AACrD,oBAAoB,6BAA6B;AACjD,iCAAiC,6BAA6B;AAC9D,kBAAkB,+BAA+B;AACjD,4BAA4B,6BAA6B;AACzD,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,eAAe;AACf,aAAa;AACb;AACA,oCAAoC,GAAG;AACvC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;;;ACxZD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uE;;;;;;;;;;;ACjDA,qB;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCxBA;WACA;WACA;WACA;WACA;WACA,gCAAgC,YAAY;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,wCAAwC,yCAAyC;WACjF;WACA;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA,CAAC,I;;;;;WCPD,sF;;;;;WCAA;WACA;WACA;WACA,sDAAsD,kBAAkB;WACxE;WACA,+CAA+C,cAAc;WAC7D,E;;;;;WCNA;WACA;WACA;WACA;WACA,E;;;;;WCJA,6B;;;;UCAA;UACA;UACA;UACA","file":"example-bundle.js","sourcesContent":["function e(e,n){const t=Object.create(null),r=e.split(\",\");for(let e=0;e<r.length;e++)t[r[e]]=!0;return n?e=>!!t[e.toLowerCase()]:e=>!!t[e]}const n=e(\"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl\"),t=e(\"itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly\");function r(e){if(x(e)){const n={};for(let t=0;t<e.length;t++){const o=e[t],s=r(k(o)?l(o):o);if(s)for(const e in s)n[e]=s[e]}return n}if(E(e))return e}const o=/;(?![^(]*\\))/g,s=/:(.+)/;function l(e){const n={};return e.split(o).forEach((e=>{if(e){const t=e.split(s);t.length>1&&(n[t[0].trim()]=t[1].trim())}})),n}function a(e){let n=\"\";if(k(e))n=e;else if(x(e))for(let t=0;t<e.length;t++)n+=a(e[t])+\" \";else if(E(e))for(const t in e)e[t]&&(n+=t+\" \");return n.trim()}const i=e=>null==e?\"\":E(e)?JSON.stringify(e,c,2):String(e),c=(e,n)=>S(n)?{[`Map(${n.size})`]:[...n.entries()].reduce(((e,[n,t])=>(e[`${n} =>`]=t,e)),{})}:C(n)?{[`Set(${n.size})`]:[...n.values()]}:!E(n)||x(n)||T(n)?n:String(n),u={},d=[],p=()=>{},f=()=>!1,h=/^on[^a-z]/,g=e=>h.test(e),_=e=>e.startsWith(\"onUpdate:\"),y=Object.assign,m=(e,n)=>{const t=e.indexOf(n);t>-1&&e.splice(t,1)},v=Object.prototype.hasOwnProperty,b=(e,n)=>v.call(e,n),x=Array.isArray,S=e=>\"[object Map]\"===P(e),C=e=>\"[object Set]\"===P(e),O=e=>\"function\"==typeof e,k=e=>\"string\"==typeof e,w=e=>\"symbol\"==typeof e,E=e=>null!==e&&\"object\"==typeof e,A=e=>E(e)&&O(e.then)&&O(e.catch),U=Object.prototype.toString,P=e=>U.call(e),T=e=>\"[object Object]\"===P(e),N=e=>k(e)&&\"NaN\"!==e&&\"-\"!==e[0]&&\"\"+parseInt(e,10)===e,V=e(\",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"),F=e=>{const n=Object.create(null);return t=>n[t]||(n[t]=e(t))},j=/-(\\w)/g,R=F((e=>e.replace(j,((e,n)=>n?n.toUpperCase():\"\")))),I=/\\B([A-Z])/g,K=F((e=>e.replace(I,\"-$1\").toLowerCase())),M=F((e=>e.charAt(0).toUpperCase()+e.slice(1))),D=F((e=>e?`on${M(e)}`:\"\")),$=(e,n)=>e!==n&&(e==e||n==n),L=(e,n)=>{for(let t=0;t<e.length;t++)e[t](n)},q=(e,n,t)=>{Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value:t})},B=e=>{const n=parseFloat(e);return isNaN(n)?e:n};let W;const z=()=>W||(W=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:{}),H=new WeakMap,J=[];let G;const Z=Symbol(\"\"),Q=Symbol(\"\");function X(e,n=u){(function(e){return e&&!0===e._isEffect})(e)&&(e=e.raw);const t=function(e,n){const t=function(){if(!t.active)return n.scheduler?void 0:e();if(!J.includes(t)){ne(t);try{return re.push(te),te=!0,J.push(t),G=t,e()}finally{J.pop(),se(),G=J[J.length-1]}}};return t.id=ee++,t.allowRecurse=!!n.allowRecurse,t._isEffect=!0,t.active=!0,t.raw=e,t.deps=[],t.options=n,t}(e,n);return n.lazy||t(),t}function Y(e){e.active&&(ne(e),e.options.onStop&&e.options.onStop(),e.active=!1)}let ee=0;function ne(e){const{deps:n}=e;if(n.length){for(let t=0;t<n.length;t++)n[t].delete(e);n.length=0}}let te=!0;const re=[];function oe(){re.push(te),te=!1}function se(){const e=re.pop();te=void 0===e||e}function le(e,n,t){if(!te||void 0===G)return;let r=H.get(e);r||H.set(e,r=new Map);let o=r.get(t);o||r.set(t,o=new Set),o.has(G)||(o.add(G),G.deps.push(o))}function ae(e,n,t,r,o,s){const l=H.get(e);if(!l)return;const a=new Set,i=e=>{e&&e.forEach((e=>{(e!==G||e.allowRecurse)&&a.add(e)}))};if(\"clear\"===n)l.forEach(i);else if(\"length\"===t&&x(e))l.forEach(((e,n)=>{(\"length\"===n||n>=r)&&i(e)}));else switch(void 0!==t&&i(l.get(t)),n){case\"add\":x(e)?N(t)&&i(l.get(\"length\")):(i(l.get(Z)),S(e)&&i(l.get(Q)));break;case\"delete\":x(e)||(i(l.get(Z)),S(e)&&i(l.get(Q)));break;case\"set\":S(e)&&i(l.get(Z))}a.forEach((e=>{e.options.scheduler?e.options.scheduler(e):e()}))}const ie=new Set(Object.getOwnPropertyNames(Symbol).map((e=>Symbol[e])).filter(w)),ce=he(),ue=he(!1,!0),de=he(!0),pe=he(!0,!0),fe={};function he(e=!1,n=!1){return function(t,r,o){if(\"__v_isReactive\"===r)return!e;if(\"__v_isReadonly\"===r)return e;if(\"__v_raw\"===r&&o===(e?$e:De).get(t))return t;const s=x(t);if(!e&&s&&b(fe,r))return Reflect.get(fe,r,o);const l=Reflect.get(t,r,o);if(w(r)?ie.has(r):\"__proto__\"===r||\"__v_isRef\"===r)return l;if(e||le(t,0,r),n)return l;if(Qe(l)){return!s||!N(r)?l.value:l}return E(l)?e?Be(l):qe(l):l}}[\"includes\",\"indexOf\",\"lastIndexOf\"].forEach((e=>{const n=Array.prototype[e];fe[e]=function(...e){const t=Ge(this);for(let e=0,n=this.length;e<n;e++)le(t,0,e+\"\");const r=n.apply(t,e);return-1===r||!1===r?n.apply(t,e.map(Ge)):r}})),[\"push\",\"pop\",\"shift\",\"unshift\",\"splice\"].forEach((e=>{const n=Array.prototype[e];fe[e]=function(...e){oe();const t=n.apply(this,e);return se(),t}}));function ge(e=!1){return function(n,t,r,o){const s=n[t];if(!e&&(r=Ge(r),!x(n)&&Qe(s)&&!Qe(r)))return s.value=r,!0;const l=x(n)&&N(t)?Number(t)<n.length:b(n,t),a=Reflect.set(n,t,r,o);return n===Ge(o)&&(l?$(r,s)&&ae(n,\"set\",t,r):ae(n,\"add\",t,r)),a}}const _e={get:ce,set:ge(),deleteProperty:function(e,n){const t=b(e,n),r=(e[n],Reflect.deleteProperty(e,n));return r&&t&&ae(e,\"delete\",n,void 0),r},has:function(e,n){const t=Reflect.has(e,n);return w(n)&&ie.has(n)||le(e,0,n),t},ownKeys:function(e){return le(e,0,x(e)?\"length\":Z),Reflect.ownKeys(e)}},ye={get:de,set:(e,n)=>!0,deleteProperty:(e,n)=>!0},me=y({},_e,{get:ue,set:ge(!0)}),ve=(y({},ye,{get:pe}),e=>E(e)?qe(e):e),be=e=>E(e)?Be(e):e,xe=e=>e,Se=e=>Reflect.getPrototypeOf(e);function Ce(e,n,t=!1,r=!1){const o=Ge(e=e.__v_raw),s=Ge(n);n!==s&&!t&&le(o,0,n),!t&&le(o,0,s);const{has:l}=Se(o),a=t?be:r?xe:ve;return l.call(o,n)?a(e.get(n)):l.call(o,s)?a(e.get(s)):void 0}function Oe(e,n=!1){const t=this.__v_raw,r=Ge(t),o=Ge(e);return e!==o&&!n&&le(r,0,e),!n&&le(r,0,o),e===o?t.has(e):t.has(e)||t.has(o)}function ke(e,n=!1){return e=e.__v_raw,!n&&le(Ge(e),0,Z),Reflect.get(e,\"size\",e)}function we(e){e=Ge(e);const n=Ge(this),t=Se(n).has.call(n,e);return n.add(e),t||ae(n,\"add\",e,e),this}function Ee(e,n){n=Ge(n);const t=Ge(this),{has:r,get:o}=Se(t);let s=r.call(t,e);s||(e=Ge(e),s=r.call(t,e));const l=o.call(t,e);return t.set(e,n),s?$(n,l)&&ae(t,\"set\",e,n):ae(t,\"add\",e,n),this}function Ae(e){const n=Ge(this),{has:t,get:r}=Se(n);let o=t.call(n,e);o||(e=Ge(e),o=t.call(n,e));r&&r.call(n,e);const s=n.delete(e);return o&&ae(n,\"delete\",e,void 0),s}function Ue(){const e=Ge(this),n=0!==e.size,t=e.clear();return n&&ae(e,\"clear\",void 0,void 0),t}function Pe(e,n){return function(t,r){const o=this,s=o.__v_raw,l=Ge(s),a=e?be:n?xe:ve;return!e&&le(l,0,Z),s.forEach(((e,n)=>t.call(r,a(e),a(n),o)))}}function Te(e,n,t){return function(...r){const o=this.__v_raw,s=Ge(o),l=S(s),a=\"entries\"===e||e===Symbol.iterator&&l,i=\"keys\"===e&&l,c=o[e](...r),u=n?be:t?xe:ve;return!n&&le(s,0,i?Q:Z),{next(){const{value:e,done:n}=c.next();return n?{value:e,done:n}:{value:a?[u(e[0]),u(e[1])]:u(e),done:n}},[Symbol.iterator](){return this}}}}function Ne(e){return function(...n){return\"delete\"!==e&&this}}const Ve={get(e){return Ce(this,e)},get size(){return ke(this)},has:Oe,add:we,set:Ee,delete:Ae,clear:Ue,forEach:Pe(!1,!1)},Fe={get(e){return Ce(this,e,!1,!0)},get size(){return ke(this)},has:Oe,add:we,set:Ee,delete:Ae,clear:Ue,forEach:Pe(!1,!0)},je={get(e){return Ce(this,e,!0)},get size(){return ke(this,!0)},has(e){return Oe.call(this,e,!0)},add:Ne(\"add\"),set:Ne(\"set\"),delete:Ne(\"delete\"),clear:Ne(\"clear\"),forEach:Pe(!0,!1)};function Re(e,n){const t=n?Fe:e?je:Ve;return(n,r,o)=>\"__v_isReactive\"===r?!e:\"__v_isReadonly\"===r?e:\"__v_raw\"===r?n:Reflect.get(b(t,r)&&r in n?t:n,r,o)}[\"keys\",\"values\",\"entries\",Symbol.iterator].forEach((e=>{Ve[e]=Te(e,!1,!1),je[e]=Te(e,!0,!1),Fe[e]=Te(e,!1,!0)}));const Ie={get:Re(!1,!1)},Ke={get:Re(!1,!0)},Me={get:Re(!0,!1)},De=new WeakMap,$e=new WeakMap;function Le(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=>P(e).slice(8,-1))(e))}function qe(e){return e&&e.__v_isReadonly?e:We(e,!1,_e,Ie)}function Be(e){return We(e,!0,ye,Me)}function We(e,n,t,r){if(!E(e))return e;if(e.__v_raw&&(!n||!e.__v_isReactive))return e;const o=n?$e:De,s=o.get(e);if(s)return s;const l=Le(e);if(0===l)return e;const a=new Proxy(e,2===l?r:t);return o.set(e,a),a}function ze(e){return He(e)?ze(e.__v_raw):!(!e||!e.__v_isReactive)}function He(e){return!(!e||!e.__v_isReadonly)}function Je(e){return ze(e)||He(e)}function Ge(e){return e&&Ge(e.__v_raw)||e}const Ze=e=>E(e)?qe(e):e;function Qe(e){return Boolean(e&&!0===e.__v_isRef)}function Xe(e){return function(e,n=!1){if(Qe(e))return e;return new Ye(e,n)}(e)}class Ye{constructor(e,n=!1){this._rawValue=e,this._shallow=n,this.__v_isRef=!0,this._value=n?e:Ze(e)}get value(){return le(Ge(this),0,\"value\"),this._value}set value(e){$(Ge(e),this._rawValue)&&(this._rawValue=e,this._value=this._shallow?e:Ze(e),ae(Ge(this),\"set\",\"value\",e))}}const en={get:(e,n,t)=>function(e){return Qe(e)?e.value:e}(Reflect.get(e,n,t)),set:(e,n,t,r)=>{const o=e[n];return Qe(o)&&!Qe(t)?(o.value=t,!0):Reflect.set(e,n,t,r)}};function nn(e){return ze(e)?e:new Proxy(e,en)}class tn{constructor(e,n){this._object=e,this._key=n,this.__v_isRef=!0}get value(){return this._object[this._key]}set value(e){this._object[this._key]=e}}class rn{constructor(e,n,t){this._setter=n,this._dirty=!0,this.__v_isRef=!0,this.effect=X(e,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,ae(Ge(this),\"set\",\"value\"))}}),this.__v_isReadonly=t}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),le(Ge(this),0,\"value\"),this._value}set value(e){this._setter(e)}}function on(e,n,t,r){let o;try{o=r?e(...r):e()}catch(e){ln(e,n,t)}return o}function sn(e,n,t,r){if(O(e)){const o=on(e,n,t,r);return o&&A(o)&&o.catch((e=>{ln(e,n,t)})),o}const o=[];for(let s=0;s<e.length;s++)o.push(sn(e[s],n,t,r));return o}function ln(e,n,t,r=!0){n&&n.vnode;if(n){let r=n.parent;const o=n.proxy,s=t;for(;r;){const n=r.ec;if(n)for(let t=0;t<n.length;t++)if(!1===n[t](e,o,s))return;r=r.parent}const l=n.appContext.config.errorHandler;if(l)return void on(l,null,10,[e,o,s])}!function(e,n,t,r=!0){console.error(e)}(e,0,0,r)}let an=!1,cn=!1;const un=[];let dn=0;const pn=[];let fn=null,hn=0;const gn=[];let _n=null,yn=0;const mn=Promise.resolve();let vn=null,bn=null;function xn(e){const n=vn||mn;return e?n.then(this?e.bind(this):e):n}function Sn(e){un.length&&un.includes(e,an&&e.allowRecurse?dn+1:dn)||e===bn||(un.push(e),Cn())}function Cn(){an||cn||(cn=!0,vn=mn.then(An))}function On(e,n,t,r){x(e)?t.push(...e):n&&n.includes(e,e.allowRecurse?r+1:r)||t.push(e),Cn()}function kn(e,n=null){if(pn.length){for(bn=n,fn=[...new Set(pn)],pn.length=0,hn=0;hn<fn.length;hn++)fn[hn]();fn=null,hn=0,bn=null,kn(e,n)}}function wn(e){if(gn.length){const e=[...new Set(gn)];if(gn.length=0,_n)return void _n.push(...e);for(_n=e,_n.sort(((e,n)=>En(e)-En(n))),yn=0;yn<_n.length;yn++)_n[yn]();_n=null,yn=0}}const En=e=>null==e.id?1/0:e.id;function An(e){cn=!1,an=!0,kn(e),un.sort(((e,n)=>En(e)-En(n)));try{for(dn=0;dn<un.length;dn++){const e=un[dn];e&&on(e,null,14)}}finally{dn=0,un.length=0,wn(),an=!1,vn=null,(un.length||gn.length)&&An(e)}}function Un(e,n,...t){const r=e.vnode.props||u;let o=t;const s=n.startsWith(\"update:\"),l=s&&n.slice(7);if(l&&l in r){const e=`${\"modelValue\"===l?\"model\":l}Modifiers`,{number:n,trim:s}=r[e]||u;s?o=t.map((e=>e.trim())):n&&(o=t.map(B))}__VUE_PROD_DEVTOOLS__;let a=D(R(n)),i=r[a];!i&&s&&(a=D(K(n)),i=r[a]),i&&sn(i,e,6,o);const c=r[a+\"Once\"];if(c){if(e.emitted){if(e.emitted[a])return}else(e.emitted={})[a]=!0;sn(c,e,6,o)}}function Pn(e,n,t=!1){if(!n.deopt&&void 0!==e.__emits)return e.__emits;const r=e.emits;let o={},s=!1;if(__VUE_OPTIONS_API__&&!O(e)){const r=e=>{s=!0,y(o,Pn(e,n,!0))};!t&&n.mixins.length&&n.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return r||s?(x(r)?r.forEach((e=>o[e]=null)):y(o,r),e.__emits=o):e.__emits=null}function Tn(e,n){return!(!e||!g(n))&&(n=n.slice(2).replace(/Once$/,\"\"),b(e,n[0].toLowerCase()+n.slice(1))||b(e,K(n))||b(e,n))}let Nn=null;function Vn(e){Nn=e}function Fn(e){const{type:n,vnode:t,proxy:r,withProxy:o,props:s,propsOptions:[l],slots:a,attrs:i,emit:c,render:u,renderCache:d,data:p,setupState:f,ctx:h}=e;let g;Nn=e;try{let e;if(4&t.shapeFlag){const n=o||r;g=Xt(u.call(n,n,d,s,f,p,h)),e=i}else{const t=n;0,g=Xt(t.length>1?t(s,{attrs:i,slots:a,emit:c}):t(s,null)),e=n.props?i:Rn(i)}let y=g;if(!1!==n.inheritAttrs&&e){const n=Object.keys(e),{shapeFlag:t}=y;n.length&&(1&t||6&t)&&(l&&n.some(_)&&(e=In(e,l)),y=Gt(y,e))}t.dirs&&(y.dirs=y.dirs?y.dirs.concat(t.dirs):t.dirs),t.transition&&(y.transition=t.transition),g=y}catch(n){ln(n,e,1),g=Jt(Rt)}return Nn=null,g}function jn(e){let n;for(let t=0;t<e.length;t++){const r=e[t];if(!qt(r))return;if(r.type!==Rt||\"v-if\"===r.children){if(n)return;n=r}}return n}const Rn=e=>{let n;for(const t in e)(\"class\"===t||\"style\"===t||g(t))&&((n||(n={}))[t]=e[t]);return n},In=(e,n)=>{const t={};for(const r in e)_(r)&&r.slice(9)in n||(t[r]=e[r]);return t};function Kn(e,n,t){const r=Object.keys(n);if(r.length!==Object.keys(e).length)return!0;for(let o=0;o<r.length;o++){const s=r[o];if(n[s]!==e[s]&&!Tn(t,s))return!0}return!1}function Mn(e){if(O(e)&&(e=e()),x(e)){e=jn(e)}return Xt(e)}let Dn=0;const $n=e=>Dn+=e;function Ln(e,n,t,r=!1){const o={},s={};q(s,Wt,1),qn(e,n,o,s),t?e.props=r?o:We(o,!1,me,Ke):e.type.props?e.props=o:e.props=s,e.attrs=s}function qn(e,n,t,r){const[o,s]=e.propsOptions;if(n)for(const s in n){const l=n[s];if(V(s))continue;let a;o&&b(o,a=R(s))?t[a]=l:Tn(e.emitsOptions,s)||(r[s]=l)}if(s){const n=Ge(t);for(let r=0;r<s.length;r++){const l=s[r];t[l]=Bn(o,n,l,n[l],e)}}}function Bn(e,n,t,r,o){const s=e[t];if(null!=s){const e=b(s,\"default\");if(e&&void 0===r){const e=s.default;s.type!==Function&&O(e)?(mr(o),r=e(n),mr(null)):r=e}s[0]&&(b(n,t)||e?!s[1]||\"\"!==r&&r!==K(t)||(r=!0):r=!1)}return r}function Wn(e,n,t=!1){if(!n.deopt&&e.__props)return e.__props;const r=e.props,o={},s=[];let l=!1;if(__VUE_OPTIONS_API__&&!O(e)){const r=e=>{l=!0;const[t,r]=Wn(e,n,!0);y(o,t),r&&s.push(...r)};!t&&n.mixins.length&&n.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!r&&!l)return e.__props=d;if(x(r))for(let e=0;e<r.length;e++){const n=R(r[e]);zn(n)&&(o[n]=u)}else if(r)for(const e in r){const n=R(e);if(zn(n)){const t=r[e],l=o[n]=x(t)||O(t)?{type:t}:t;if(l){const e=Gn(Boolean,l.type),t=Gn(String,l.type);l[0]=e>-1,l[1]=t<0||e<t,(e>-1||b(l,\"default\"))&&s.push(n)}}}return e.__props=[o,s]}function zn(e){return\"$\"!==e[0]}function Hn(e){const n=e&&e.toString().match(/^\\s*function (\\w+)/);return n?n[1]:\"\"}function Jn(e,n){return Hn(e)===Hn(n)}function Gn(e,n){if(x(n)){for(let t=0,r=n.length;t<r;t++)if(Jn(n[t],e))return t}else if(O(n))return Jn(n,e)?0:-1;return-1}function Zn(e,n,t=yr,r=!1){if(t){const o=t[e]||(t[e]=[]),s=n.__weh||(n.__weh=(...r)=>{if(t.isUnmounted)return;oe(),mr(t);const o=sn(n,t,e,r);return mr(null),se(),o});return r?o.unshift(s):o.push(s),s}}const Qn=e=>(n,t=yr)=>!vr&&Zn(e,n,t),Xn=Qn(\"bm\"),Yn=Qn(\"m\"),et=Qn(\"bu\"),nt=Qn(\"u\"),tt=Qn(\"bum\"),rt=Qn(\"um\"),ot=Qn(\"rtg\"),st=Qn(\"rtc\"),lt={};function at(e,n,t){return it(e,n,t)}function it(e,n,{immediate:t,deep:r,flush:o,onTrack:s,onTrigger:l}=u,a=yr){let i,c,d=!1;if(Qe(e)?(i=()=>e.value,d=!!e._shallow):ze(e)?(i=()=>e,r=!0):i=x(e)?()=>e.map((e=>Qe(e)?e.value:ze(e)?ut(e):O(e)?on(e,a,2):void 0)):O(e)?n?()=>on(e,a,2):()=>{if(!a||!a.isUnmounted)return c&&c(),on(e,a,3,[f])}:p,n&&r){const e=i;i=()=>ut(e())}const f=e=>{c=y.options.onStop=()=>{on(e,a,4)}};let h=x(e)?[]:lt;const g=()=>{if(y.active)if(n){const e=y();(r||d||$(e,h))&&(c&&c(),sn(n,a,3,[e,h===lt?void 0:h,f]),h=e)}else y()};let _;g.allowRecurse=!!n,_=\"sync\"===o?g:\"post\"===o?()=>kt(g,a&&a.suspense):()=>{!a||a.isMounted?function(e){On(e,fn,pn,hn)}(g):g()};const y=X(i,{lazy:!0,onTrack:s,onTrigger:l,scheduler:_});return Sr(y,a),n?t?g():h=y():\"post\"===o?kt(y,a&&a.suspense):y(),()=>{Y(y),a&&m(a.effects,y)}}function ct(e,n,t){const r=this.proxy;return it(k(e)?()=>r[e]:e.bind(r),n.bind(r),t,this)}function ut(e,n=new Set){if(!E(e)||n.has(e))return e;if(n.add(e),Qe(e))ut(e.value,n);else if(x(e))for(let t=0;t<e.length;t++)ut(e[t],n);else if(C(e)||S(e))e.forEach((e=>{ut(e,n)}));else for(const t in e)ut(e[t],n);return e}const dt=e=>e.type.__isKeepAlive;function pt(e,n,t=yr){const r=e.__wdc||(e.__wdc=()=>{let n=t;for(;n;){if(n.isDeactivated)return;n=n.parent}e()});if(Zn(n,r,t),t){let e=t.parent;for(;e&&e.parent;)dt(e.parent.vnode)&&ft(r,n,t,e),e=e.parent}}function ft(e,n,t,r){const o=Zn(n,e,r,!0);rt((()=>{m(r[n],o)}),t)}const ht=e=>\"_\"===e[0]||\"$stable\"===e,gt=e=>x(e)?e.map(Xt):[Xt(e)],_t=(e,n,t)=>function(e,n=Nn){if(!n)return e;const t=(...t)=>{Dn||Dt(!0);const r=Nn;Vn(n);const o=e(...t);return Vn(r),Dn||$t(),o};return t._c=!0,t}((e=>gt(n(e))),t),yt=(e,n)=>{const t=e._ctx;for(const r in e){if(ht(r))continue;const o=e[r];if(O(o))n[r]=_t(0,o,t);else if(null!=o){const e=gt(o);n[r]=()=>e}}},mt=(e,n)=>{const t=gt(n);e.slots.default=()=>t};function vt(e,n){if(null===Nn)return e;const t=Nn.proxy,r=e.dirs||(e.dirs=[]);for(let e=0;e<n.length;e++){let[o,s,l,a=u]=n[e];O(o)&&(o={mounted:o,updated:o}),r.push({dir:o,instance:t,value:s,oldValue:void 0,arg:l,modifiers:a})}return e}function bt(e,n,t,r){const o=e.dirs,s=n&&n.dirs;for(let l=0;l<o.length;l++){const a=o[l];s&&(a.oldValue=s[l].value);const i=a.dir[r];i&&sn(i,t,8,[e.el,a,e,n])}}function xt(){return{app:null,config:{isNativeTag:f,performance:!1,globalProperties:{},optionMergeStrategies:{},isCustomElement:f,errorHandler:void 0,warnHandler:void 0},mixins:[],components:{},directives:{},provides:Object.create(null)}}let St=0;function Ct(e,n){return function(t,r=null){null==r||E(r)||(r=null);const o=xt(),s=new Set;let l=!1;const a=o.app={_uid:St++,_component:t,_props:r,_container:null,_context:o,version:kr,get config(){return o.config},set config(e){},use:(e,...n)=>(s.has(e)||(e&&O(e.install)?(s.add(e),e.install(a,...n)):O(e)&&(s.add(e),e(a,...n))),a),mixin:e=>(__VUE_OPTIONS_API__&&(o.mixins.includes(e)||(o.mixins.push(e),(e.props||e.emits)&&(o.deopt=!0))),a),component:(e,n)=>n?(o.components[e]=n,a):o.components[e],directive:(e,n)=>n?(o.directives[e]=n,a):o.directives[e],mount(s,i){if(!l){const c=Jt(t,r);return c.appContext=o,i&&n?n(c,s):e(c,s),l=!0,a._container=s,s.__vue_app__=a,__VUE_PROD_DEVTOOLS__,c.component.proxy}},unmount(){l&&(e(null,a._container),__VUE_PROD_DEVTOOLS__)},provide:(e,n)=>(o.provides[e]=n,a)};return a}}const Ot={scheduler:Sn,allowRecurse:!0},kt=function(e,n){n&&n.pendingBranch?x(e)?n.effects.push(...e):n.effects.push(e):On(e,_n,gn,yn)},wt=(e,n,t,r)=>{if(x(e))return void e.forEach(((e,o)=>wt(e,n&&(x(n)?n[o]:n),t,r)));let o;o=!r||r.type.__asyncLoader?null:4&r.shapeFlag?r.component.exposed||r.component.proxy:r.el;const{i:s,r:l}=e,a=n&&n.r,i=s.refs===u?s.refs={}:s.refs,c=s.setupState;if(null!=a&&a!==l&&(k(a)?(i[a]=null,b(c,a)&&(c[a]=null)):Qe(a)&&(a.value=null)),k(l)){const e=()=>{i[l]=o,b(c,l)&&(c[l]=o)};o?(e.id=-1,kt(e,t)):e()}else if(Qe(l)){const e=()=>{l.value=o};o?(e.id=-1,kt(e,t)):e()}else O(l)&&on(l,s,12,[o,i])};function Et(e){return function(e,n){\"boolean\"!=typeof __VUE_OPTIONS_API__&&(z().__VUE_OPTIONS_API__=!0),\"boolean\"!=typeof __VUE_PROD_DEVTOOLS__&&(z().__VUE_PROD_DEVTOOLS__=!1);const{insert:t,remove:r,patchProp:o,forcePatchProp:s,createElement:l,createText:a,createComment:i,setText:c,setElementText:f,parentNode:h,nextSibling:g,setScopeId:_=p,cloneNode:m,insertStaticContent:v}=e,x=(e,n,t,r=null,o=null,s=null,l=!1,a=!1)=>{e&&!Bt(e,n)&&(r=le(e),Q(e,o,s,!0),e=null),-2===n.patchFlag&&(a=!1,n.dynamicChildren=null);const{type:i,ref:c,shapeFlag:u}=n;switch(i){case jt:S(e,n,t,r);break;case Rt:C(e,n,t,r);break;case It:null==e&&O(n,t,r,l);break;case Ft:I(e,n,t,r,o,s,l,a);break;default:1&u?E(e,n,t,r,o,s,l,a):6&u?M(e,n,t,r,o,s,l,a):(64&u||128&u)&&i.process(e,n,t,r,o,s,l,a,ce)}null!=c&&o&&wt(c,e&&e.ref,s,n)},S=(e,n,r,o)=>{if(null==e)t(n.el=a(n.children),r,o);else{const t=n.el=e.el;n.children!==e.children&&c(t,n.children)}},C=(e,n,r,o)=>{null==e?t(n.el=i(n.children||\"\"),r,o):n.el=e.el},O=(e,n,t,r)=>{[e.el,e.anchor]=v(e.children,n,t,r)},k=({el:e,anchor:n},r,o)=>{let s;for(;e&&e!==n;)s=g(e),t(e,r,o),e=s;t(n,r,o)},w=({el:e,anchor:n})=>{let t;for(;e&&e!==n;)t=g(e),r(e),e=t;r(n)},E=(e,n,t,r,o,s,l,a)=>{l=l||\"svg\"===n.type,null==e?U(n,t,r,o,s,l,a):N(e,n,o,s,l,a)},U=(e,n,r,s,a,i,c)=>{let u,d;const{type:p,props:h,shapeFlag:g,transition:_,scopeId:y,patchFlag:v,dirs:b}=e;if(e.el&&void 0!==m&&-1===v)u=e.el=m(e.el);else{if(u=e.el=l(e.type,i,h&&h.is),8&g?f(u,e.children):16&g&&T(e.children,u,null,s,a,i&&\"foreignObject\"!==p,c||!!e.dynamicChildren),b&&bt(e,null,s,\"created\"),h){for(const n in h)V(n)||o(u,n,null,h[n],i,e.children,s,a,re);(d=h.onVnodeBeforeMount)&&At(d,s,e)}P(u,y,e,s)}__VUE_PROD_DEVTOOLS__&&(Object.defineProperty(u,\"__vnode\",{value:e,enumerable:!1}),Object.defineProperty(u,\"__vueParentComponent\",{value:s,enumerable:!1})),b&&bt(e,null,s,\"beforeMount\");const x=(!a||a&&!a.pendingBranch)&&_&&!_.persisted;x&&_.beforeEnter(u),t(u,n,r),((d=h&&h.onVnodeMounted)||x||b)&&kt((()=>{d&&At(d,s,e),x&&_.enter(u),b&&bt(e,null,s,\"mounted\")}),a)},P=(e,n,t,r)=>{if(n&&_(e,n),r){const o=r.type.__scopeId;o&&o!==n&&_(e,o+\"-s\"),t===r.subTree&&P(e,r.vnode.scopeId,r.vnode,r.parent)}},T=(e,n,t,r,o,s,l,a=0)=>{for(let i=a;i<e.length;i++){const a=e[i]=l?Yt(e[i]):Xt(e[i]);x(null,a,n,t,r,o,s,l)}},N=(e,n,t,r,l,a)=>{const i=n.el=e.el;let{patchFlag:c,dynamicChildren:d,dirs:p}=n;c|=16&e.patchFlag;const h=e.props||u,g=n.props||u;let _;if((_=g.onVnodeBeforeUpdate)&&At(_,t,n,e),p&&bt(n,e,t,\"beforeUpdate\"),c>0){if(16&c)j(i,n,h,g,t,r,l);else if(2&c&&h.class!==g.class&&o(i,\"class\",null,g.class,l),4&c&&o(i,\"style\",h.style,g.style,l),8&c){const a=n.dynamicProps;for(let n=0;n<a.length;n++){const c=a[n],u=h[c],d=g[c];(d!==u||s&&s(i,c))&&o(i,c,u,d,l,e.children,t,r,re)}}1&c&&e.children!==n.children&&f(i,n.children)}else a||null!=d||j(i,n,h,g,t,r,l);const y=l&&\"foreignObject\"!==n.type;d?F(e.dynamicChildren,d,i,t,r,y):a||H(e,n,i,null,t,r,y),((_=g.onVnodeUpdated)||p)&&kt((()=>{_&&At(_,t,n,e),p&&bt(n,e,t,\"updated\")}),r)},F=(e,n,t,r,o,s)=>{for(let l=0;l<n.length;l++){const a=e[l],i=n[l],c=a.type===Ft||!Bt(a,i)||6&a.shapeFlag||64&a.shapeFlag?h(a.el):t;x(a,i,c,null,r,o,s,!0)}},j=(e,n,t,r,l,a,i)=>{if(t!==r){for(const c in r){if(V(c))continue;const u=r[c],d=t[c];(u!==d||s&&s(e,c))&&o(e,c,d,u,i,n.children,l,a,re)}if(t!==u)for(const s in t)V(s)||s in r||o(e,s,t[s],null,i,n.children,l,a,re)}},I=(e,n,r,o,s,l,i,c)=>{const u=n.el=e?e.el:a(\"\"),d=n.anchor=e?e.anchor:a(\"\");let{patchFlag:p,dynamicChildren:f}=n;p>0&&(c=!0),null==e?(t(u,r,o),t(d,r,o),T(n.children,r,d,s,l,i,c)):p>0&&64&p&&f?(F(e.dynamicChildren,f,r,s,l,i),(null!=n.key||s&&n===s.subTree)&&Ut(e,n,!0)):H(e,n,r,d,s,l,i,c)},M=(e,n,t,r,o,s,l,a)=>{null==e?512&n.shapeFlag?o.ctx.activate(n,t,r,l,a):D(n,t,r,o,s,l,a):$(e,n,a)},D=(e,n,t,r,o,s,l)=>{const a=e.component=function(e,n,t){const r=e.type,o=(n?n.appContext:e.appContext)||gr,s={uid:_r++,vnode:e,type:r,parent:n,appContext:o,root:null,next:null,subTree:null,update:null,render:null,proxy:null,exposed:null,withProxy:null,effects:null,provides:n?n.provides:Object.create(o.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Wn(r,o),emitsOptions:Pn(r,o),emit:null,emitted:null,ctx:u,data:u,props:u,attrs:u,slots:u,refs:u,setupState:u,setupContext:null,suspense:t,suspenseId:t?t.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};s.ctx={_:s},s.root=n?n.root:s,s.emit=Un.bind(null,s),__VUE_PROD_DEVTOOLS__;return s}(e,r,o);if(dt(e)&&(a.ctx.renderer=ce),function(e,n=!1){vr=n;const{props:t,children:r,shapeFlag:o}=e.vnode,s=4&o;Ln(e,t,s,n),((e,n)=>{if(32&e.vnode.shapeFlag){const t=n._;t?(e.slots=n,q(n,\"_\",t)):yt(n,e.slots={})}else e.slots={},n&&mt(e,n);q(e.slots,Wt,1)})(e,r);const l=s?function(e,n){const t=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,fr);const{setup:r}=t;if(r){const t=e.setupContext=r.length>1?function(e){const n=n=>{e.exposed=nn(n)};return{attrs:e.attrs,slots:e.slots,emit:e.emit,expose:n}}(e):null;yr=e,oe();const o=on(r,e,0,[e.props,t]);if(se(),yr=null,A(o)){if(n)return o.then((n=>{br(e,n)}));e.asyncDep=o}else br(e,o)}else xr(e)}(e,n):void 0;vr=!1}(a),a.asyncDep){if(o&&o.registerDep(a,B),!e.el){const e=a.subTree=Jt(Rt);C(null,e,n,t)}}else B(a,e,n,t,o,s,l)},$=(e,n,t)=>{const r=n.component=e.component;if(function(e,n,t){const{props:r,children:o,component:s}=e,{props:l,children:a,patchFlag:i}=n,c=s.emitsOptions;if(n.dirs||n.transition)return!0;if(!(t&&i>=0))return!(!o&&!a||a&&a.$stable)||r!==l&&(r?!l||Kn(r,l,c):!!l);if(1024&i)return!0;if(16&i)return r?Kn(r,l,c):!!l;if(8&i){const e=n.dynamicProps;for(let n=0;n<e.length;n++){const t=e[n];if(l[t]!==r[t]&&!Tn(c,t))return!0}}return!1}(e,n,t)){if(r.asyncDep&&!r.asyncResolved)return void W(r,n,t);r.next=n,function(e){const n=un.indexOf(e);n>-1&&un.splice(n,1)}(r.update),r.update()}else n.component=e.component,n.el=e.el,r.vnode=n},B=(e,n,t,r,o,s,l)=>{e.update=X((function(){if(e.isMounted){let n,{next:t,bu:r,u:a,parent:i,vnode:c}=e,u=t;t?(t.el=c.el,W(e,t,l)):t=c,r&&L(r),(n=t.props&&t.props.onVnodeBeforeUpdate)&&At(n,i,t,c);const d=Fn(e),p=e.subTree;e.subTree=d,x(p,d,h(p.el),le(p),e,o,s),t.el=d.el,null===u&&function({vnode:e,parent:n},t){for(;n&&n.subTree===e;)(e=n.vnode).el=t,n=n.parent}(e,d.el),a&&kt(a,o),(n=t.props&&t.props.onVnodeUpdated)&&kt((()=>{At(n,i,t,c)}),o),__VUE_PROD_DEVTOOLS__}else{let l;const{el:a,props:i}=n,{bm:c,m:u,parent:d}=e;c&&L(c),(l=i&&i.onVnodeBeforeMount)&&At(l,d,n);const p=e.subTree=Fn(e);a&&de?de(n.el,p,e,o):(x(null,p,t,r,e,o,s),n.el=p.el),u&&kt(u,o),(l=i&&i.onVnodeMounted)&&kt((()=>{At(l,d,n)}),o);const{a:f}=e;f&&256&n.shapeFlag&&kt(f,o),e.isMounted=!0}}),Ot)},W=(e,n,t)=>{n.component=e;const r=e.vnode.props;e.vnode=n,e.next=null,function(e,n,t,r){const{props:o,attrs:s,vnode:{patchFlag:l}}=e,a=Ge(o),[i]=e.propsOptions;if(!(r||l>0)||16&l){let r;qn(e,n,o,s);for(const s in a)n&&(b(n,s)||(r=K(s))!==s&&b(n,r))||(i?!t||void 0===t[s]&&void 0===t[r]||(o[s]=Bn(i,n||u,s,void 0,e)):delete o[s]);if(s!==a)for(const e in s)n&&b(n,e)||delete s[e]}else if(8&l){const t=e.vnode.dynamicProps;for(let r=0;r<t.length;r++){const l=t[r],c=n[l];if(i)if(b(s,l))s[l]=c;else{const n=R(l);o[n]=Bn(i,a,n,c,e)}else s[l]=c}}ae(e,\"set\",\"$attrs\")}(e,n.props,r,t),((e,n)=>{const{vnode:t,slots:r}=e;let o=!0,s=u;if(32&t.shapeFlag){const e=n._;e?1===e?o=!1:y(r,n):(o=!n.$stable,yt(n,r)),s=n}else n&&(mt(e,n),s={default:1});if(o)for(const e in r)ht(e)||e in s||delete r[e]})(e,n.children),kn(void 0,e.update)},H=(e,n,t,r,o,s,l,a=!1)=>{const i=e&&e.children,c=e?e.shapeFlag:0,u=n.children,{patchFlag:d,shapeFlag:p}=n;if(d>0){if(128&d)return void G(i,u,t,r,o,s,l,a);if(256&d)return void J(i,u,t,r,o,s,l,a)}8&p?(16&c&&re(i,o,s),u!==i&&f(t,u)):16&c?16&p?G(i,u,t,r,o,s,l,a):re(i,o,s,!0):(8&c&&f(t,\"\"),16&p&&T(u,t,r,o,s,l,a))},J=(e,n,t,r,o,s,l,a)=>{n=n||d;const i=(e=e||d).length,c=n.length,u=Math.min(i,c);let p;for(p=0;p<u;p++){const r=n[p]=a?Yt(n[p]):Xt(n[p]);x(e[p],r,t,null,o,s,l,a)}i>c?re(e,o,s,!0,!1,u):T(n,t,r,o,s,l,a,u)},G=(e,n,t,r,o,s,l,a)=>{let i=0;const c=n.length;let u=e.length-1,p=c-1;for(;i<=u&&i<=p;){const r=e[i],c=n[i]=a?Yt(n[i]):Xt(n[i]);if(!Bt(r,c))break;x(r,c,t,null,o,s,l,a),i++}for(;i<=u&&i<=p;){const r=e[u],i=n[p]=a?Yt(n[p]):Xt(n[p]);if(!Bt(r,i))break;x(r,i,t,null,o,s,l,a),u--,p--}if(i>u){if(i<=p){const e=p+1,u=e<c?n[e].el:r;for(;i<=p;)x(null,n[i]=a?Yt(n[i]):Xt(n[i]),t,u,o,s,l),i++}}else if(i>p)for(;i<=u;)Q(e[i],o,s,!0),i++;else{const f=i,h=i,g=new Map;for(i=h;i<=p;i++){const e=n[i]=a?Yt(n[i]):Xt(n[i]);null!=e.key&&g.set(e.key,i)}let _,y=0;const m=p-h+1;let v=!1,b=0;const S=new Array(m);for(i=0;i<m;i++)S[i]=0;for(i=f;i<=u;i++){const r=e[i];if(y>=m){Q(r,o,s,!0);continue}let c;if(null!=r.key)c=g.get(r.key);else for(_=h;_<=p;_++)if(0===S[_-h]&&Bt(r,n[_])){c=_;break}void 0===c?Q(r,o,s,!0):(S[c-h]=i+1,c>=b?b=c:v=!0,x(r,n[c],t,null,o,s,l,a),y++)}const C=v?function(e){const n=e.slice(),t=[0];let r,o,s,l,a;const i=e.length;for(r=0;r<i;r++){const i=e[r];if(0!==i){if(o=t[t.length-1],e[o]<i){n[r]=o,t.push(r);continue}for(s=0,l=t.length-1;s<l;)a=(s+l)/2|0,e[t[a]]<i?s=a+1:l=a;i<e[t[s]]&&(s>0&&(n[r]=t[s-1]),t[s]=r)}}s=t.length,l=t[s-1];for(;s-- >0;)t[s]=l,l=n[l];return t}(S):d;for(_=C.length-1,i=m-1;i>=0;i--){const e=h+i,a=n[e],u=e+1<c?n[e+1].el:r;0===S[i]?x(null,a,t,u,o,s,l):v&&(_<0||i!==C[_]?Z(a,t,u,2):_--)}}},Z=(e,n,r,o,s=null)=>{const{el:l,type:a,transition:i,children:c,shapeFlag:u}=e;if(6&u)return void Z(e.component.subTree,n,r,o);if(128&u)return void e.suspense.move(n,r,o);if(64&u)return void a.move(e,n,r,ce);if(a===Ft){t(l,n,r);for(let e=0;e<c.length;e++)Z(c[e],n,r,o);return void t(e.anchor,n,r)}if(a===It)return void k(e,n,r);if(2!==o&&1&u&&i)if(0===o)i.beforeEnter(l),t(l,n,r),kt((()=>i.enter(l)),s);else{const{leave:e,delayLeave:o,afterLeave:s}=i,a=()=>t(l,n,r),c=()=>{e(l,(()=>{a(),s&&s()}))};o?o(l,a,c):c()}else t(l,n,r)},Q=(e,n,t,r=!1,o=!1)=>{const{type:s,props:l,ref:a,children:i,dynamicChildren:c,shapeFlag:u,patchFlag:d,dirs:p}=e;if(null!=a&&wt(a,null,t,null),256&u)return void n.ctx.deactivate(e);const f=1&u&&p;let h;if((h=l&&l.onVnodeBeforeUnmount)&&At(h,n,e),6&u)te(e.component,t,r);else{if(128&u)return void e.suspense.unmount(t,r);f&&bt(e,null,n,\"beforeUnmount\"),c&&(s!==Ft||d>0&&64&d)?re(c,n,t,!1,!0):(s===Ft&&(128&d||256&d)||!o&&16&u)&&re(i,n,t),64&u&&(r||!Pt(e.props))&&e.type.remove(e,ce),r&&ee(e)}((h=l&&l.onVnodeUnmounted)||f)&&kt((()=>{h&&At(h,n,e),f&&bt(e,null,n,\"unmounted\")}),t)},ee=e=>{const{type:n,el:t,anchor:o,transition:s}=e;if(n===Ft)return void ne(t,o);if(n===It)return void w(e);const l=()=>{r(t),s&&!s.persisted&&s.afterLeave&&s.afterLeave()};if(1&e.shapeFlag&&s&&!s.persisted){const{leave:n,delayLeave:r}=s,o=()=>n(t,l);r?r(e.el,l,o):o()}else l()},ne=(e,n)=>{let t;for(;e!==n;)t=g(e),r(e),e=t;r(n)},te=(e,n,t)=>{const{bum:r,effects:o,update:s,subTree:l,um:a}=e;if(r&&L(r),o)for(let e=0;e<o.length;e++)Y(o[e]);s&&(Y(s),Q(l,e,n,t)),a&&kt(a,n),kt((()=>{e.isUnmounted=!0}),n),n&&n.pendingBranch&&!n.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===n.pendingId&&(n.deps--,0===n.deps&&n.resolve()),__VUE_PROD_DEVTOOLS__},re=(e,n,t,r=!1,o=!1,s=0)=>{for(let l=s;l<e.length;l++)Q(e[l],n,t,r,o)},le=e=>6&e.shapeFlag?le(e.component.subTree):128&e.shapeFlag?e.suspense.next():g(e.anchor||e.el),ie=(e,n)=>{null==e?n._vnode&&Q(n._vnode,null,null,!0):x(n._vnode||null,e,n),wn(),n._vnode=e},ce={p:x,um:Q,m:Z,r:ee,mt:D,mc:T,pc:H,pbc:F,n:le,o:e};let ue,de;n&&([ue,de]=n(ce));return{render:ie,hydrate:ue,createApp:Ct(ie,ue)}}(e)}function At(e,n,t,r=null){sn(e,n,7,[t,r])}function Ut(e,n,t=!1){const r=e.children,o=n.children;if(x(r)&&x(o))for(let e=0;e<r.length;e++){const n=r[e];let s=o[e];1&s.shapeFlag&&!s.dynamicChildren&&((s.patchFlag<=0||32===s.patchFlag)&&(s=o[e]=Yt(o[e]),s.el=n.el),t||Ut(n,s))}}const Pt=e=>e&&(e.disabled||\"\"===e.disabled);function Tt(e){return function(e,n,t=!0){const r=Nn||yr;if(r){const t=r.type;if(\"components\"===e){if(\"_self\"===n)return t;const e=t.displayName||t.name;if(e&&(e===n||e===R(n)||e===M(R(n))))return t}return Vt(r[e]||t[e],n)||Vt(r.appContext[e],n)}}(\"components\",e)||e}const Nt=Symbol();function Vt(e,n){return e&&(e[n]||e[R(n)]||e[M(R(n))])}const Ft=Symbol(void 0),jt=Symbol(void 0),Rt=Symbol(void 0),It=Symbol(void 0),Kt=[];let Mt=null;function Dt(e=!1){Kt.push(Mt=e?null:[])}function $t(){Kt.pop(),Mt=Kt[Kt.length-1]||null}function Lt(e,n,t,r,o){const s=Jt(e,n,t,r,o,!0);return s.dynamicChildren=Mt||d,$t(),Mt&&Mt.push(s),s}function qt(e){return!!e&&!0===e.__v_isVNode}function Bt(e,n){return e.type===n.type&&e.key===n.key}const Wt=\"__vInternal\",zt=({key:e})=>null!=e?e:null,Ht=({ref:e})=>null!=e?k(e)||Qe(e)||O(e)?{i:Nn,r:e}:e:null,Jt=function(e,n=null,t=null,o=0,s=null,l=!1){e&&e!==Nt||(e=Rt);if(qt(e)){const r=Gt(e,n,!0);return t&&er(r,t),r}i=e,O(i)&&\"__vccOpts\"in i&&(e=e.__vccOpts);var i;if(n){(Je(n)||Wt in n)&&(n=y({},n));let{class:e,style:t}=n;e&&!k(e)&&(n.class=a(e)),E(t)&&(Je(t)&&!x(t)&&(t=y({},t)),n.style=r(t))}const c=k(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:E(e)?4:O(e)?2:0,u={__v_isVNode:!0,__v_skip:!0,type:e,props:n,key:n&&zt(n),ref:n&&Ht(n),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:c,patchFlag:o,dynamicProps:s,dynamicChildren:null,appContext:null};if(er(u,t),128&c){const{content:e,fallback:n}=function(e){const{shapeFlag:n,children:t}=e;let r,o;return 32&n?(r=Mn(t.default),o=Mn(t.fallback)):(r=Mn(t),o=Xt(null)),{content:r,fallback:o}}(u);u.ssContent=e,u.ssFallback=n}!l&&Mt&&(o>0||6&c)&&32!==o&&Mt.push(u);return u};function Gt(e,n,t=!1){const{props:o,ref:s,patchFlag:l}=e,i=n?function(...e){const n=y({},e[0]);for(let t=1;t<e.length;t++){const o=e[t];for(const e in o)if(\"class\"===e)n.class!==o.class&&(n.class=a([n.class,o.class]));else if(\"style\"===e)n.style=r([n.style,o.style]);else if(g(e)){const t=n[e],r=o[e];t!==r&&(n[e]=t?[].concat(t,o[e]):r)}else\"\"!==e&&(n[e]=o[e])}return n}(o||{},n):o;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:i,key:i&&zt(i),ref:n&&n.ref?t&&s?x(s)?s.concat(Ht(n)):[s,Ht(n)]:Ht(n):s,scopeId:e.scopeId,children:e.children,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:n&&e.type!==Ft?-1===l?16:16|l:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Gt(e.ssContent),ssFallback:e.ssFallback&&Gt(e.ssFallback),el:e.el,anchor:e.anchor}}function Zt(e=\" \",n=0){return Jt(jt,null,e,n)}function Qt(e=\"\",n=!1){return n?(Dt(),Lt(Rt,null,e)):Jt(Rt,null,e)}function Xt(e){return null==e||\"boolean\"==typeof e?Jt(Rt):x(e)?Jt(Ft,null,e):\"object\"==typeof e?null===e.el?e:Gt(e):Jt(jt,null,String(e))}function Yt(e){return null===e.el?e:Gt(e)}function er(e,n){let t=0;const{shapeFlag:r}=e;if(null==n)n=null;else if(x(n))t=16;else if(\"object\"==typeof n){if(1&r||64&r){const t=n.default;return void(t&&(t._c&&$n(1),er(e,t()),t._c&&$n(-1)))}{t=32;const r=n._;r||Wt in n?3===r&&Nn&&(1024&Nn.vnode.patchFlag?(n._=2,e.patchFlag|=1024):n._=1):n._ctx=Nn}}else O(n)?(n={default:n,_ctx:Nn},t=32):(n=String(n),64&r?(t=16,n=[Zt(n)]):t=8);e.children=n,e.shapeFlag|=t}function nr(e,n,t=!1){const r=yr||Nn;if(r){const o=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(o&&e in o)return o[e];if(arguments.length>1)return t&&O(n)?n():n}}let tr=!1;function rr(e,n,t=[],r=[],o=[],s=!1){const{mixins:l,extends:a,data:i,computed:c,methods:d,watch:f,provide:h,inject:g,components:_,directives:m,beforeMount:v,mounted:b,beforeUpdate:S,updated:C,activated:k,deactivated:w,beforeDestroy:A,beforeUnmount:U,destroyed:P,unmounted:T,render:N,renderTracked:V,renderTriggered:F,errorCaptured:j,expose:R}=n,I=e.proxy,K=e.ctx,M=e.appContext.mixins;if(s&&N&&e.render===p&&(e.render=N),s||(tr=!0,or(\"beforeCreate\",\"bc\",n,e,M),tr=!1,ar(e,M,t,r,o)),a&&rr(e,a,t,r,o,!0),l&&ar(e,l,t,r,o),g)if(x(g))for(let e=0;e<g.length;e++){const n=g[e];K[n]=nr(n)}else for(const e in g){const n=g[e];E(n)?K[e]=nr(n.from||e,n.default,!0):K[e]=nr(n)}if(d)for(const e in d){const n=d[e];O(n)&&(K[e]=n.bind(I))}if(s?i&&t.push(i):(t.length&&t.forEach((n=>ir(e,n,I))),i&&ir(e,i,I)),c)for(const e in c){const n=c[e],t=Cr({get:O(n)?n.bind(I,I):O(n.get)?n.get.bind(I,I):p,set:!O(n)&&O(n.set)?n.set.bind(I):p});Object.defineProperty(K,e,{enumerable:!0,configurable:!0,get:()=>t.value,set:e=>t.value=e})}var D;if(f&&r.push(f),!s&&r.length&&r.forEach((e=>{for(const n in e)cr(e[n],K,I,n)})),h&&o.push(h),!s&&o.length&&o.forEach((e=>{const n=O(e)?e.call(I):e;Reflect.ownKeys(n).forEach((e=>{!function(e,n){if(yr){let t=yr.provides;const r=yr.parent&&yr.parent.provides;r===t&&(t=yr.provides=Object.create(r)),t[e]=n}}(e,n[e])}))})),s&&(_&&y(e.components||(e.components=y({},e.type.components)),_),m&&y(e.directives||(e.directives=y({},e.type.directives)),m)),s||or(\"created\",\"c\",n,e,M),v&&Xn(v.bind(I)),b&&Yn(b.bind(I)),S&&et(S.bind(I)),C&&nt(C.bind(I)),k&&pt(k.bind(I),\"a\",D),w&&function(e,n){pt(e,\"da\",n)}(w.bind(I)),j&&((e,n=yr)=>{Zn(\"ec\",e,n)})(j.bind(I)),V&&st(V.bind(I)),F&&ot(F.bind(I)),U&&tt(U.bind(I)),T&&rt(T.bind(I)),x(R)&&!s)if(R.length){const n=e.exposed||(e.exposed=nn({}));R.forEach((e=>{n[e]=function(e,n){return Qe(e[n])?e[n]:new tn(e,n)}(I,e)}))}else e.exposed||(e.exposed=u)}function or(e,n,t,r,o){lr(e,n,o,r);const{extends:s,mixins:l}=t;s&&sr(e,n,s,r),l&&lr(e,n,l,r);const a=t[e];a&&sn(a.bind(r.proxy),r,n)}function sr(e,n,t,r){t.extends&&sr(e,n,t.extends,r);const o=t[e];o&&sn(o.bind(r.proxy),r,n)}function lr(e,n,t,r){for(let o=0;o<t.length;o++){const s=t[o].mixins;s&&lr(e,n,s,r);const l=t[o][e];l&&sn(l.bind(r.proxy),r,n)}}function ar(e,n,t,r,o){for(let s=0;s<n.length;s++)rr(e,n[s],t,r,o,!0)}function ir(e,n,t){const r=n.call(t,t);E(r)&&(e.data===u?e.data=qe(r):y(e.data,r))}function cr(e,n,t,r){const o=r.includes(\".\")?function(e,n){const t=n.split(\".\");return()=>{let n=e;for(let e=0;e<t.length&&n;e++)n=n[t[e]];return n}}(t,r):()=>t[r];if(k(e)){const t=n[e];O(t)&&at(o,t)}else if(O(e))at(o,e.bind(t));else if(E(e))if(x(e))e.forEach((e=>cr(e,n,t,r)));else{const r=O(e.handler)?e.handler.bind(t):n[e.handler];O(r)&&at(o,r,e)}}function ur(e,n,t){const r=t.appContext.config.optionMergeStrategies,{mixins:o,extends:s}=n;s&&ur(e,s,t),o&&o.forEach((n=>ur(e,n,t)));for(const o in n)r&&b(r,o)?e[o]=r[o](e[o],n[o],t.proxy,o):e[o]=n[o]}const dr=e=>e&&(e.proxy?e.proxy:dr(e.parent)),pr=y(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=>dr(e.parent),$root:e=>e.root&&e.root.proxy,$emit:e=>e.emit,$options:e=>__VUE_OPTIONS_API__?function(e){const n=e.type,{__merged:t,mixins:r,extends:o}=n;if(t)return t;const s=e.appContext.mixins;if(!s.length&&!r&&!o)return n;const l={};return s.forEach((n=>ur(l,n,e))),ur(l,n,e),n.__merged=l}(e):e.type,$forceUpdate:e=>()=>Sn(e.update),$nextTick:e=>xn.bind(e.proxy),$watch:e=>__VUE_OPTIONS_API__?ct.bind(e):p}),fr={get({_:e},n){const{ctx:t,setupState:r,data:o,props:s,accessCache:l,type:a,appContext:i}=e;if(\"__v_skip\"===n)return!0;let c;if(\"$\"!==n[0]){const a=l[n];if(void 0!==a)switch(a){case 0:return r[n];case 1:return o[n];case 3:return t[n];case 2:return s[n]}else{if(r!==u&&b(r,n))return l[n]=0,r[n];if(o!==u&&b(o,n))return l[n]=1,o[n];if((c=e.propsOptions[0])&&b(c,n))return l[n]=2,s[n];if(t!==u&&b(t,n))return l[n]=3,t[n];__VUE_OPTIONS_API__&&tr||(l[n]=4)}}const d=pr[n];let p,f;return d?(\"$attrs\"===n&&le(e,0,n),d(e)):(p=a.__cssModules)&&(p=p[n])?p:t!==u&&b(t,n)?(l[n]=3,t[n]):(f=i.config.globalProperties,b(f,n)?f[n]:void 0)},set({_:e},n,t){const{data:r,setupState:o,ctx:s}=e;if(o!==u&&b(o,n))o[n]=t;else if(r!==u&&b(r,n))r[n]=t;else if(n in e.props)return!1;return(\"$\"!==n[0]||!(n.slice(1)in e))&&(s[n]=t,!0)},has({_:{data:e,setupState:n,accessCache:t,ctx:r,appContext:o,propsOptions:s}},l){let a;return void 0!==t[l]||e!==u&&b(e,l)||n!==u&&b(n,l)||(a=s[0])&&b(a,l)||b(r,l)||b(pr,l)||b(o.config.globalProperties,l)}},hr=y({},fr,{get(e,n){if(n!==Symbol.unscopables)return fr.get(e,n,e)},has:(e,t)=>\"_\"!==t[0]&&!n(t)}),gr=xt();let _r=0;let yr=null;const mr=e=>{yr=e};let vr=!1;function br(e,n,t){O(n)?e.render=n:E(n)&&(__VUE_PROD_DEVTOOLS__&&(e.devtoolsRawSetupState=n),e.setupState=nn(n)),xr(e)}function xr(e,n){const t=e.type;e.render||(e.render=t.render||p,e.render._rc&&(e.withProxy=new Proxy(e.ctx,hr))),__VUE_OPTIONS_API__&&(yr=e,oe(),rr(e,t),se(),yr=null)}function Sr(e,n=yr){n&&(n.effects||(n.effects=[])).push(e)}function Cr(e){const n=function(e){let n,t;return O(e)?(n=e,t=p):(n=e.get,t=e.set),new rn(n,t,O(e)||!e.set)}(e);return Sr(n.effect),n}function Or(e,n){let t;if(x(e)||k(e)){t=new Array(e.length);for(let r=0,o=e.length;r<o;r++)t[r]=n(e[r],r)}else if(\"number\"==typeof e){t=new Array(e);for(let r=0;r<e;r++)t[r]=n(r+1,r)}else if(E(e))if(e[Symbol.iterator])t=Array.from(e,n);else{const r=Object.keys(e);t=new Array(r.length);for(let o=0,s=r.length;o<s;o++){const s=r[o];t[o]=n(e[s],s,o)}}else t=[];return t}const kr=\"3.0.4\",wr=\"http://www.w3.org/2000/svg\",Er=\"undefined\"!=typeof document?document:null;let Ar,Ur;const Pr={insert:(e,n,t)=>{n.insertBefore(e,t||null)},remove:e=>{const n=e.parentNode;n&&n.removeChild(e)},createElement:(e,n,t)=>n?Er.createElementNS(wr,e):Er.createElement(e,t?{is:t}:void 0),createText:e=>Er.createTextNode(e),createComment:e=>Er.createComment(e),setText:(e,n)=>{e.nodeValue=n},setElementText:(e,n)=>{e.textContent=n},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Er.querySelector(e),setScopeId(e,n){e.setAttribute(n,\"\")},cloneNode:e=>e.cloneNode(!0),insertStaticContent(e,n,t,r){const o=r?Ur||(Ur=Er.createElementNS(wr,\"svg\")):Ar||(Ar=Er.createElement(\"div\"));o.innerHTML=e;const s=o.firstChild;let l=s,a=l;for(;l;)a=l,Pr.insert(l,n,t),l=o.firstChild;return[s,a]}};const Tr=/\\s*!important$/;function Nr(e,n,t){if(x(t))t.forEach((t=>Nr(e,n,t)));else if(n.startsWith(\"--\"))e.setProperty(n,t);else{const r=function(e,n){const t=Fr[n];if(t)return t;let r=R(n);if(\"filter\"!==r&&r in e)return Fr[n]=r;r=M(r);for(let t=0;t<Vr.length;t++){const o=Vr[t]+r;if(o in e)return Fr[n]=o}return n}(e,n);Tr.test(t)?e.setProperty(K(r),t.replace(Tr,\"\"),\"important\"):e[r]=t}}const Vr=[\"Webkit\",\"Moz\",\"ms\"],Fr={};const jr=\"http://www.w3.org/1999/xlink\";let Rr=Date.now;\"undefined\"!=typeof document&&Rr()>document.createEvent(\"Event\").timeStamp&&(Rr=()=>performance.now());let Ir=0;const Kr=Promise.resolve(),Mr=()=>{Ir=0};function Dr(e,n,t,r,o=null){const s=e._vei||(e._vei={}),l=s[n];if(r&&l)l.value=r;else{const[t,a]=function(e){let n;if($r.test(e)){let t;for(n={};t=e.match($r);)e=e.slice(0,e.length-t[0].length),n[t[0].toLowerCase()]=!0}return[e.slice(2).toLowerCase(),n]}(n);if(r){!function(e,n,t,r){e.addEventListener(n,t,r)}(e,t,s[n]=function(e,n){const t=e=>{(e.timeStamp||Rr())>=t.attached-1&&sn(function(e,n){if(x(n)){const t=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{t.call(e),e._stopped=!0},n.map((e=>n=>!n._stopped&&e(n)))}return n}(e,t.value),n,5,[e])};return t.value=e,t.attached=(()=>Ir||(Kr.then(Mr),Ir=Rr()))(),t}(r,o),a)}else l&&(!function(e,n,t,r){e.removeEventListener(n,t,r)}(e,t,l,a),s[n]=void 0)}}const $r=/(?:Once|Passive|Capture)$/;const Lr=/^on[a-z]/;const qr={beforeMount(e,{value:n},{transition:t}){e._vod=\"none\"===e.style.display?\"\":e.style.display,t&&n?t.beforeEnter(e):Br(e,n)},mounted(e,{value:n},{transition:t}){t&&n&&t.enter(e)},updated(e,{value:n,oldValue:t},{transition:r}){r&&n!==t?n?(r.beforeEnter(e),Br(e,!0),r.enter(e)):r.leave(e,(()=>{Br(e,!1)})):Br(e,n)},beforeUnmount(e,{value:n}){Br(e,n)}};function Br(e,n){e.style.display=n?e._vod:\"none\"}const Wr=y({patchProp:(e,n,r,o,s=!1,l,a,i,c)=>{switch(n){case\"class\":!function(e,n,t){if(null==n&&(n=\"\"),t)e.setAttribute(\"class\",n);else{const t=e._vtc;t&&(n=(n?[n,...t]:[...t]).join(\" \")),e.className=n}}(e,o,s);break;case\"style\":!function(e,n,t){const r=e.style;if(t)if(k(t))n!==t&&(r.cssText=t);else{for(const e in t)Nr(r,e,t[e]);if(n&&!k(n))for(const e in n)null==t[e]&&Nr(r,e,\"\")}else e.removeAttribute(\"style\")}(e,r,o);break;default:g(n)?_(n)||Dr(e,n,0,o,a):function(e,n,t,r){if(r)return\"innerHTML\"===n||!!(n in e&&Lr.test(n)&&O(t));if(\"spellcheck\"===n||\"draggable\"===n)return!1;if(\"form\"===n&&\"string\"==typeof t)return!1;if(\"list\"===n&&\"INPUT\"===e.tagName)return!1;if(Lr.test(n)&&k(t))return!1;return n in e}(e,n,o,s)?function(e,n,t,r,o,s,l){if(\"innerHTML\"===n||\"textContent\"===n)return r&&l(r,o,s),void(e[n]=null==t?\"\":t);if(\"value\"!==n||\"PROGRESS\"===e.tagName){if(\"\"===t||null==t){const r=typeof e[n];if(\"\"===t&&\"boolean\"===r)return void(e[n]=!0);if(null==t&&\"string\"===r)return e[n]=\"\",void e.removeAttribute(n);if(\"number\"===r)return e[n]=0,void e.removeAttribute(n)}try{e[n]=t}catch(e){}}else{e._value=t;const n=null==t?\"\":t;e.value!==n&&(e.value=n)}}(e,n,o,l,a,i,c):(\"true-value\"===n?e._trueValue=o:\"false-value\"===n&&(e._falseValue=o),function(e,n,r,o){if(o&&n.startsWith(\"xlink:\"))null==r?e.removeAttributeNS(jr,n.slice(6,n.length)):e.setAttributeNS(jr,n,r);else{const o=t(n);null==r||o&&!1===r?e.removeAttribute(n):e.setAttribute(n,o?\"\":r)}}(e,n,o,s))}},forcePatchProp:(e,n)=>\"value\"===n},Pr);let zr;function Hr(){return zr||(zr=Et(Wr))}const Jr=(...e)=>{const n=Hr().createApp(...e),{mount:t}=n;return n.mount=e=>{const r=function(e){if(k(e)){return document.querySelector(e)}return e}(e);if(!r)return;const o=n._component;O(o)||o.render||o.template||(o.template=r.innerHTML),r.innerHTML=\"\";const s=t(r);return r.removeAttribute(\"v-cloak\"),r.setAttribute(\"data-v-app\",\"\"),s},n};const Gr=(...e)=>Object.prototype.toString.call(...e).slice(8,-1);var Zr={props:{data:{required:!0,validator:e=>\"Null\"===Gr(e)},name:{required:!0,type:String}}};const Qr={class:\"null\"},Xr={class:\"key\"},Yr={key:0,class:\"separator\"},eo=Jt(\"span\",{class:\"value\"},\"null\",-1);Zr.render=function(e,n,t,r,o,s){return Dt(),Lt(\"span\",Qr,[Jt(\"span\",Xr,i(t.name),1),\"\"!==t.name?(Dt(),Lt(\"span\",Yr,\": \")):Qt(\"v-if\",!0),eo])},Zr.__file=\"src/components/NullWrapper.vue\";var no={props:{data:{required:!0,validator:e=>\"Boolean\"===Gr(e)},name:{required:!0,type:String}}};const to={class:\"boolean\"},ro={class:\"key\"},oo={key:0,class:\"separator\"},so={class:\"value\"};no.render=function(e,n,t,r,o,s){return Dt(),Lt(\"span\",to,[Jt(\"span\",ro,i(t.name),1),\"\"!==t.name?(Dt(),Lt(\"span\",oo,\": \")):Qt(\"v-if\",!0),Jt(\"span\",so,i(t.data),1)])},no.__file=\"src/components/BooleanWrapper.vue\";var lo={props:{data:{required:!0,validator:e=>\"Number\"===Gr(e)},name:{required:!0,type:String}}};const ao={class:\"number\"},io={class:\"key\"},co={key:0,class:\"separator\"},uo={class:\"value\"};lo.render=function(e,n,t,r,o,s){return Dt(),Lt(\"span\",ao,[Jt(\"span\",io,i(t.name),1),\"\"!==t.name?(Dt(),Lt(\"span\",co,\": \")):Qt(\"v-if\",!0),Jt(\"span\",uo,i(t.data),1)])},lo.__file=\"src/components/NumberWrapper.vue\";var po={props:{data:{required:!0,validator:e=>\"String\"===Gr(e)},name:{required:!0,type:String}}};const fo={class:\"string\"},ho={class:\"key\"},go={key:0,class:\"separator\"},_o=Jt(\"span\",{class:\"quotes\"},'\"',-1),yo={class:\"value\"},mo=Jt(\"span\",{class:\"quotes\"},'\"',-1);po.render=function(e,n,t,r,o,s){return Dt(),Lt(\"span\",fo,[Jt(\"span\",ho,i(t.name),1),\"\"!==t.name?(Dt(),Lt(\"span\",go,\": \")):Qt(\"v-if\",!0),_o,Jt(\"span\",yo,i(t.data),1),mo])},po.__file=\"src/components/StringWrapper.vue\";const vo=new Set;function bo(e={collapseSignal:collapseSignal,expandSignal:expandSignal}){const n=Xe(!1),t=Xe(!1),r=()=>{n.value=!1,t.value=!t.value};at((()=>e.collapseSignal),r);const o=Xe(!1),s=()=>{n.value=!0,o.value=!o.value};at((()=>e.expandSignal),s);return at((()=>e.data),(()=>{e.expandOnCreatedAndUpdated(e.path)?s():r()}),{immediate:!0}),{isExpanding:n,innerCollapseSignal:t,innerExpandSignal:o,handleClick:e=>{vo.clear(),!0===e.metaKey&&!0===e.shiftKey?r():!0===e.metaKey?s():n.value=!n.value}}}var xo={name:\"array-wrapper\",props:{path:{required:!0,validator:e=>\"Array\"===Gr(e)&&e.every((e=>\"String\"===Gr(e)||\"Number\"===Gr(e)))},data:{required:!0,validator:e=>\"Array\"===Gr(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}},setup(e){const{isExpanding:n,innerExpandSignal:t,innerCollapseSignal:r,handleClick:o}=bo(e),s=Cr((()=>e.getKeys(e.data,e.path))),l=vo.has(e.data);return vo.add(e.data),{keys:s,isExpanding:n,innerExpandSignal:t,innerCollapseSignal:r,handleClick:o,isCircular:l}},components:{}};const So={class:\"array\"},Co={key:0,class:\"value\"},Oo={key:0,class:\"value\"};xo.render=function(e,n,t,r,o,s){const l=Tt(\"wrapper\");return Dt(),Lt(\"span\",So,[Jt(\"span\",{class:\"indicator\",onClick:n[1]||(n[1]=(...e)=>r.handleClick&&r.handleClick(...e))},i(r.isExpanding?\"▼\":\"▶\"),1),Jt(\"span\",{class:\"key\",onClick:n[2]||(n[2]=(...e)=>r.handleClick&&r.handleClick(...e))},i(\"\"===t.name?\"\":t.name),1),Jt(\"span\",{class:\"separator\",onClick:n[3]||(n[3]=(...e)=>r.handleClick&&r.handleClick(...e))},i(\"\"===t.name?\"\":\": \"),1),Jt(\"span\",{class:\"count\",onClick:n[4]||(n[4]=(...e)=>r.handleClick&&r.handleClick(...e))},i(!1===r.isExpanding&&t.data.length>=2?\"(\"+t.data.length+\")\":\"\"),1),Jt(\"span\",{class:\"preview\",onClick:n[5]||(n[5]=(...e)=>r.handleClick&&r.handleClick(...e))},i(r.isExpanding?\"Array(\"+t.data.length+\")\":\"[...]\"),1),r.isCircular?(Dt(),Lt(Ft,{key:0},[r.isExpanding?(Dt(),Lt(\"span\",Co,[(Dt(!0),Lt(Ft,null,Or(r.keys,(e=>(Dt(),Lt(l,{key:e,name:e,path:t.path.concat(e),data:t.data[e],\"expand-signal\":r.innerExpandSignal,\"collapse-signal\":r.innerCollapseSignal,expandOnCreatedAndUpdated:()=>!1,getKeys:t.getKeys},null,8,[\"name\",\"path\",\"data\",\"expand-signal\",\"collapse-signal\",\"expandOnCreatedAndUpdated\",\"getKeys\"])))),128))])):Qt(\"v-if\",!0)],64)):(Dt(),Lt(Ft,{key:1},[r.isExpanding?(Dt(),Lt(\"span\",Oo,[(Dt(!0),Lt(Ft,null,Or(r.keys,(e=>(Dt(),Lt(l,{key:e,name:e,path:t.path.concat(e),data:t.data[e],\"expand-signal\":r.innerExpandSignal,\"collapse-signal\":r.innerCollapseSignal,expandOnCreatedAndUpdated:t.expandOnCreatedAndUpdated,getKeys:t.getKeys},null,8,[\"name\",\"path\",\"data\",\"expand-signal\",\"collapse-signal\",\"expandOnCreatedAndUpdated\",\"getKeys\"])))),128))])):Qt(\"v-if\",!0)],64))])},xo.__file=\"src/components/ArrayWrapper.vue\";var ko={name:\"object-wrapper\",props:{path:{required:!0,validator:e=>\"Array\"===Gr(e)&&e.every((e=>\"String\"===Gr(e)||\"Number\"===Gr(e)))},data:{required:!0,validator:e=>\"Object\"===Gr(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}},setup(e){const{isExpanding:n,innerExpandSignal:t,innerCollapseSignal:r,handleClick:o}=bo(e),s=Cr((()=>e.getKeys(e.data,e.path))),l=vo.has(e.data);return vo.add(e.data),{keys:s,isExpanding:n,innerExpandSignal:t,innerCollapseSignal:r,handleClick:o,isCircular:l}},components:{}};const wo={class:\"object\"},Eo={key:0,class:\"value\"},Ao={key:1,class:\"value\"};ko.render=function(e,n,t,r,o,s){const l=Tt(\"wrapper\");return Dt(),Lt(\"span\",wo,[Jt(\"span\",{class:\"indicator\",onClick:n[1]||(n[1]=(...e)=>r.handleClick&&r.handleClick(...e))},i(r.isExpanding?\"▼\":\"▶\"),1),Jt(\"span\",{class:\"key\",onClick:n[2]||(n[2]=(...e)=>r.handleClick&&r.handleClick(...e))},i(\"\"===t.name?\"\":t.name),1),Jt(\"span\",{class:\"separator\",onClick:n[3]||(n[3]=(...e)=>r.handleClick&&r.handleClick(...e))},i(\"\"===t.name?\"\":\": \"),1),Jt(\"span\",{class:\"preview\",onClick:n[4]||(n[4]=(...e)=>r.handleClick&&r.handleClick(...e))},i(r.isExpanding?\"\":\"{...}\"),1),r.isCircular?(Dt(),Lt(Ft,{key:0},[r.isExpanding?(Dt(),Lt(\"span\",Eo,[(Dt(!0),Lt(Ft,null,Or(r.keys,(e=>(Dt(),Lt(l,{key:e,class:\"value\",name:e,path:t.path.concat(e),data:t.data[e],\"expand-signal\":r.innerExpandSignal,\"collapse-signal\":r.innerCollapseSignal,expandOnCreatedAndUpdated:()=>!1,getKeys:t.getKeys},null,8,[\"name\",\"path\",\"data\",\"expand-signal\",\"collapse-signal\",\"expandOnCreatedAndUpdated\",\"getKeys\"])))),128))])):Qt(\"v-if\",!0)],64)):vt((Dt(),Lt(\"span\",Ao,[(Dt(!0),Lt(Ft,null,Or(r.keys,(e=>(Dt(),Lt(l,{key:e,class:\"value\",name:e,path:t.path.concat(e),data:t.data[e],\"expand-signal\":r.innerExpandSignal,\"collapse-signal\":r.innerCollapseSignal,expandOnCreatedAndUpdated:t.expandOnCreatedAndUpdated,getKeys:t.getKeys},null,8,[\"name\",\"path\",\"data\",\"expand-signal\",\"collapse-signal\",\"expandOnCreatedAndUpdated\",\"getKeys\"])))),128))],512)),[[qr,r.isExpanding]])])},ko.__file=\"src/components/ObjectWrapper.vue\";const Uo={name:\"wrapper\",props:{path:{required:!0,validator:e=>\"Array\"===Gr(e)&&e.every((e=>\"String\"===Gr(e)||\"Number\"===Gr(e)))},data:{required:!0,validator:e=>\"Null\"===Gr(e)||\"Boolean\"===Gr(e)||\"Number\"===Gr(e)||\"String\"===Gr(e)||\"Array\"===Gr(e)||\"Object\"===Gr(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}},setup:()=>({objectToString:Gr}),components:{NullWrapper:Zr,BooleanWrapper:no,NumberWrapper:lo,StringWrapper:po,ArrayWrapper:xo,ObjectWrapper:ko}};xo.components.Wrapper=Uo,ko.components.Wrapper=Uo,Uo.render=function(e,n,t,r,o,s){const l=Tt(\"null-wrapper\"),a=Tt(\"boolean-wrapper\"),i=Tt(\"number-wrapper\"),c=Tt(\"string-wrapper\"),u=Tt(\"array-wrapper\"),d=Tt(\"object-wrapper\");return\"Null\"===e.objectToString(e.data)?(Dt(),Lt(l,{key:0,name:e.name,data:e.data},null,8,[\"name\",\"data\"])):\"Boolean\"===e.objectToString(e.data)?(Dt(),Lt(a,{key:1,name:e.name,data:e.data},null,8,[\"name\",\"data\"])):\"Number\"===e.objectToString(e.data)?(Dt(),Lt(i,{key:2,name:e.name,data:e.data},null,8,[\"name\",\"data\"])):\"String\"===e.objectToString(e.data)?(Dt(),Lt(c,{key:3,name:e.name,data:e.data},null,8,[\"name\",\"data\"])):\"Array\"===e.objectToString(e.data)?(Dt(),Lt(u,{key:4,name:e.name,path:e.path,data:e.data,\"collapse-signal\":e.collapseSignal,\"expand-signal\":e.expandSignal,expandOnCreatedAndUpdated:e.expandOnCreatedAndUpdated,getKeys:e.getKeys},null,8,[\"name\",\"path\",\"data\",\"collapse-signal\",\"expand-signal\",\"expandOnCreatedAndUpdated\",\"getKeys\"])):\"Object\"===e.objectToString(e.data)?(Dt(),Lt(d,{key:5,name:e.name,path:e.path,data:e.data,\"collapse-signal\":e.collapseSignal,\"expand-signal\":e.expandSignal,expandOnCreatedAndUpdated:e.expandOnCreatedAndUpdated,getKeys:e.getKeys},null,8,[\"name\",\"path\",\"data\",\"collapse-signal\",\"expand-signal\",\"expandOnCreatedAndUpdated\",\"getKeys\"])):Qt(\"v-if\",!0)},Uo.__file=\"src/components/Wrapper.vue\";const Po=Object.freeze({expandOnCreatedAndUpdated:e=>!1,getKeys:(e,n)=>Object.keys(e)});var To=(e,n,t={})=>{void 0===t.rootName&&(t.rootName=\"\"),void 0===t.getKeys&&(t.getKeys=Po.getKeys),void 0===t.expandOnCreatedAndUpdated&&(t.expandOnCreatedAndUpdated=Po.expandOnCreatedAndUpdated),n.classList.add(\"object-visualizer\"),((...e)=>{Hr().render(...e)})(null,n),Jr(Uo,{data:e,name:t.rootName,path:[],expandOnCreatedAndUpdated:t.expandOnCreatedAndUpdated,getKeys:t.getKeys}).mount(n)};export{To as mount,qe as reactive};\n","const COMPONENTS_MAP = {\n    grid: 'GridComponent',\n    polar: 'PolarComponent',\n    geo: 'GeoComponent',\n    singleAxis: 'SingleAxisComponent',\n    parallel: 'ParallelComponent',\n    calendar: 'CalendarComponent',\n    graphic: 'GraphicComponent',\n    toolbox: 'ToolboxComponent',\n    tooltip: 'TooltipComponent',\n    axisPointer: 'AxisPointerComponent',\n    brush: 'BrushComponent',\n    title: 'TitleComponent',\n    timeline: 'TimelineComponent',\n    markPoint: 'MarkPointComponent',\n    markLine: 'MarkLineComponent',\n    markArea: 'MarkAreaComponent',\n    legend: 'LegendComponent',\n    dataZoom: 'DataZoomComponent',\n    visualMap: 'VisualMapComponent',\n    aria: 'AriaComponent',\n    dataset: 'DatasetComponent',\n\n    // Dependencies\n    xAxis: 'GridComponent',\n    yAxis: 'GridComponent',\n    angleAxis: 'PolarComponent',\n    radiusAxis: 'PolarComponent'\n}\n\nconst CHARTS_MAP = {\n    line: 'LineChart',\n    bar: 'BarChart',\n    pie: 'PieChart',\n    scatter: 'ScatterChart',\n    radar: 'RadarChart',\n    map: 'MapChart',\n    tree: 'TreeChart',\n    treemap: 'TreemapChart',\n    graph: 'GraphChart',\n    gauge: 'GaugeChart',\n    funnel: 'FunnelChart',\n    parallel: 'ParallelChart',\n    sankey: 'SankeyChart',\n    boxplot: 'BoxplotChart',\n    candlestick: 'CandlestickChart',\n    effectScatter: 'EffectScatterChart',\n    lines: 'LinesChart',\n    heatmap: 'HeatmapChart',\n    pictorialBar: 'PictorialBarChart',\n    themeRiver: 'ThemeRiverChart',\n    sunburst: 'SunburstChart',\n    custom: 'CustomChart'\n}\nconst COMPONENTS_GL_MAP = {\n\n    grid3D: 'Grid3DComponent',\n    geo3D: 'Geo3DComponent',\n    globe: 'GlobeComponent',\n    mapbox3D: 'Mapbox3DComponent',\n    maptalks3D: 'Maptalks3DComponent',\n\n    // Dependencies\n    xAxis3D: 'Grid3DComponent',\n    yAxis3D: 'Grid3DComponent',\n    zAxis3D: 'Grid3DComponent',\n}\nconst CHARTS_GL_MAP = {\n    bar3D: 'Bar3DChart',\n    line3D: 'Line3DChart',\n    scatter3D: 'Scatter3DChart',\n    lines3D: 'Lines3DChart',\n    polygons3D: 'Polygons3DChart',\n    surface: 'SurfaceChart',\n    map3D: 'Map3DChart',\n\n    scatterGL: 'ScatterGLChart',\n    graphGL: 'GraphGLChart',\n    flowGL: 'FlowGLChart',\n    linesGL: 'LinesGLChart'\n}\n\nconst COMPONENTS_MAP_REVERSE = {};\nconst CHARTS_MAP_REVERSE = {};\nconst CHARTS_GL_MAP_REVERSE = {};\nconst COMPONENTS_GL_MAP_REVERSE = {};\n\nconst RENDERERS_MAP_REVERSE = {\n    'SVGRenderer': 'svg',\n    'CanvasRenderer': 'canvas'\n}\n\n// Component that will be injected automatically in preprocessor\n// These should be excluded util find they were used explicitly.\nconst MARKERS = ['markLine', 'markArea', 'markPoint'];\nconst INJECTED_COMPONENTS = [\n    ...MARKERS, 'grid', 'axisPointer',\n    'aria'  // TODO aria\n];\n\n// Component that was dependent.\nconst DEPENDENT_COMPONENTS = [\n    'xAxis', 'yAxis', 'angleAxis', 'radiusAxis',\n    'xAxis3D', 'yAxis3D', 'zAxis3D'\n];\n\nfunction createReverseMap(map, reverseMap) {\n    Object.keys(map).forEach(key => {\n        // Exclude dependencies.\n        if (DEPENDENT_COMPONENTS.includes(key)) {\n            return;\n        }\n        reverseMap[map[key]] = key;\n    });\n}\n\ncreateReverseMap(COMPONENTS_MAP, COMPONENTS_MAP_REVERSE);\ncreateReverseMap(CHARTS_MAP, CHARTS_MAP_REVERSE);\ncreateReverseMap(COMPONENTS_GL_MAP, COMPONENTS_GL_MAP_REVERSE);\ncreateReverseMap(CHARTS_GL_MAP, CHARTS_GL_MAP_REVERSE);\n\nmodule.exports.collectDeps = function collectDeps(option) {\n    let deps = [];\n    if (option.options) {\n\n        // TODO getOption() doesn't have baseOption and options.\n        option.options.forEach((opt) => {\n            deps = deps.concat(collectDeps(opt));\n        });\n\n        if (option.baseOption) {\n            deps = deps.concat(collectDeps(option.baseOption))\n        }\n\n        // Remove duplicates\n        return Array.from(new Set(deps));\n    }\n\n    Object.keys(option).forEach((key) => {\n        if (INJECTED_COMPONENTS.includes(key)) {\n            return;\n        }\n        const val = option[key];\n\n        if (Array.isArray(val) && !val.length) {\n            return;\n        }\n\n        if (COMPONENTS_MAP[key]) {\n            deps.push(COMPONENTS_MAP[key]);\n        }\n        if (COMPONENTS_GL_MAP[key]) {\n            deps.push(COMPONENTS_GL_MAP[key]);\n        }\n    });\n\n    let series = option.series;\n    if (!Array.isArray(series)) {\n        series = [series];\n    }\n\n    series.forEach((seriesOpt) => {\n        if (CHARTS_MAP[seriesOpt.type]) {\n            deps.push(CHARTS_MAP[seriesOpt.type]);\n        }\n        if (CHARTS_GL_MAP[seriesOpt.type]) {\n            deps.push(CHARTS_GL_MAP[seriesOpt.type]);\n        }\n        if (seriesOpt.type === 'map') {\n            // Needs geo component when using map\n            deps.push(COMPONENTS_MAP.geo);\n        }\n        MARKERS.forEach(markerType => {\n            if (seriesOpt[markerType]) {\n                deps.push(COMPONENTS_MAP[markerType]);\n            }\n        });\n    });\n\n    // Remove duplicates\n    return Array.from(new Set(deps));\n}\n\nfunction buildMinimalBundleCode(deps, includeType) {\n    const chartsImports = [];\n    const componentsImports = [];\n    const chartsGLImports = [];\n    const componentsGLImports = [];\n    const renderersImports = [];\n    deps.forEach(function (dep) {\n        if (dep.endsWith('Renderer')) {\n            renderersImports.push(dep);\n        }\n        else if (CHARTS_MAP_REVERSE[dep]) {\n            chartsImports.push(dep);\n            if (includeType) {\n                chartsImports.push(dep.replace(/Chart$/, 'SeriesOption'));\n            }\n        }\n        else if (COMPONENTS_MAP_REVERSE[dep]) {\n            componentsImports.push(dep);\n            if (includeType) {\n                componentsImports.push(dep.replace(/Component$/, 'ComponentOption'));\n            }\n        }\n        else if (CHARTS_GL_MAP_REVERSE[dep]) {\n            chartsGLImports.push(dep)\n        }\n        else if (COMPONENTS_GL_MAP_REVERSE[dep]) {\n            componentsGLImports.push(dep);\n        }\n    });\n\n    function getImportsPartCode(imports) {\n        return `${imports.map(str => `\n    ${str}`).join(',')}`;\n    }\n\n    const allImports = [\n        ...componentsImports,\n        ...chartsImports,\n        ...componentsGLImports,\n        ...chartsGLImports,\n        ...renderersImports\n    ];\n\n    const ECOptionTypeCode = `\ntype ECOption = echarts.ComposeOption<\n    ${allImports.filter(a => a.endsWith('Option')).join(' | ')}\n>`;\n    const importsCodes = [\n        [componentsImports, 'echarts/components'],\n        [chartsImports, 'echarts/charts'],\n        [renderersImports, 'echarts/renderers'],\n        [chartsGLImports, 'echarts-gl/charts'],\n        [componentsGLImports, 'echarts-gl/components']\n    ].filter(a => a[0].length > 0).map(item => `\nimport {${getImportsPartCode(item[0])}\n} from '${item[1]}';\n    `.trim()).join('\\n');\n\n    return `import * as echarts from 'echarts/core';\n${importsCodes}\n\necharts.use(\n    [${allImports.filter(a => !a.endsWith('Option')).join(', ')}]\n);\n` + (includeType ? ECOptionTypeCode : '')\n}\n\nmodule.exports.buildMinimalBundleCode = buildMinimalBundleCode;\n\nfunction buildLegacyMinimalBundleCode(deps, isESM) {\n    const modules = [];\n    deps.forEach(function (dep) {\n        if (dep.endsWith('Renderer') && dep !== 'CanvasRenderer') {\n            modules.push(`zrender/lib/${RENDERERS_MAP_REVERSE[dep]}/${RENDERERS_MAP_REVERSE[dep]}`);\n        }\n        else if (CHARTS_MAP_REVERSE[dep]) {\n            modules.push(`echarts/lib/chart/${CHARTS_MAP_REVERSE[dep]}`);\n        }\n        else if (COMPONENTS_MAP_REVERSE[dep]) {\n            modules.push(`echarts/lib/component/${COMPONENTS_MAP_REVERSE[dep]}`);\n        }\n        else if (CHARTS_GL_MAP_REVERSE[dep]) {\n            modules.push(`echarts-gl/lib/chart/${CHARTS_GL_MAP_REVERSE[dep]}`);\n        }\n        else if (COMPONENTS_GL_MAP_REVERSE[dep]) {\n            modules.push(`echarts-gl/lib/component/${COMPONENTS_GL_MAP_REVERSE[dep]}`);\n        }\n    });\n\n    return isESM ? `import * as echarts from 'echarts/lib/echarts';\n${modules.map(mod => {\n    return `import '${mod}';`;\n}).join('\\n')}\n` : `const echarts = require('echarts/lib/echarts');\n${modules.map(mod => {\n    return `require('${mod}');`;\n}).join('\\n')}\n`\n}\n\nfunction hasGLInDeps(deps) {\n    return !!deps.find(dep => !!(CHARTS_GL_MAP_REVERSE[dep] || COMPONENTS_GL_MAP_REVERSE[dep]));\n}\n\nmodule.buildLegacyMinimalBundleCode = buildLegacyMinimalBundleCode;\n\nmodule.exports.buildExampleCode = function (\n    jsCode, deps, {\n        // If enable minimal import\n        minimal,\n        // If is ESM module or CommonJS module\n        // Force to be true in ts mode or minimal mode.\n        esm = true,\n        // If use legacy minimal import, like:\n        // import 'echarts/lib/chart/bar';\n        // Only available when minimal is true.\n        legacy,\n        // If is ts code\n        ts,\n        // Theme\n        theme,\n        ROOT_PATH,\n        // Other imports code code string\n        // For example\n        // `import 'echarts-liquidfill'`\n        extraImports\n    }\n) {\n    // if (minimal && !legacy) {\n    //     // ESM must be used when use the new minimal import\n    //     esm = true;\n    // }\n\n    if (ts) {\n        esm = true;\n    }\n\n    if (minimal && !esm) {\n        // Only legacy mode can be used when use require in mimimal bundle.\n        legacy = true;\n    }\n\n\n    const hasECStat = jsCode.indexOf('ecStat') >= 0;\n    const usedRootPath = jsCode.indexOf('ROOT_PATH') >= 0;\n    const usedApp = jsCode.indexOf('app') >= 0;\n\n    const DEP_CODE = `\n${hasECStat ?\n    esm ? `import ecStat from 'echarts-stat';`\n        : `var ecStat = require('echarts-stat');`\n    : ''\n}\n`;\n    const IMPORT_CODE = [\n        !minimal\n            ? esm\n                ? `import * as echarts from 'echarts';${hasGLInDeps(deps) ? `\\nimport 'echarts-gl';` : ''}`\n                : `var echarts = require('echarts');${hasGLInDeps(deps) ? `\\nrequire('echarts-gl');` : ''}`\n            : legacy\n                ? buildLegacyMinimalBundleCode(deps, esm)\n                : buildMinimalBundleCode(deps, ts),\n        (theme && theme !== 'dark')\n            ? esm\n                ? `import 'echarts/theme/${theme}'`\n                : `require('echarts/theme/${theme}')`\n            : '',\n        extraImports\n    ].filter(a => !!a).join('\\n');\n\n    const ENV_CODE = [\n        usedRootPath ? `var ROOT_PATH = '${ROOT_PATH}';` : '',\n        usedApp ? `var app${ts ? ': any' : ''} = {};` : '',\n        ts && !minimal ? 'type ECOption = echarts.EChartsOption' : ''\n    ].filter(a => !!a).join('\\n');\n\n    const PREPARE_CODE = [\n        IMPORT_CODE.trim(), DEP_CODE.trim(), ENV_CODE.trim()\n    ].filter(a => !!a).join('\\n\\n');\n\n    return `${PREPARE_CODE}\n\nvar chartDom = document.getElementById('main')${ts ? '!' : ''};\nvar myChart = echarts.init(chartDom${theme ? `, '${theme}'` : ''});\nvar option${ts ? ': ECOption' : ''};\n\n${jsCode.trim()}\n\noption && myChart.setOption(option);\n`;\n}","<template>\n<div class=\"ace-editor-main\" v-loading=\"loading\"></div>\n</template>\n\n<script>\n\nimport {keywords} from '../data/option-keywords';\nimport {loadScriptsAsync} from '../common/helper';\nimport {store} from '../common/store';\nimport {SCRIPT_URLS} from '../common/config';\n\nfunction ensureACE() {\n    if (typeof ace === 'undefined') {\n        return loadScriptsAsync([\n            SCRIPT_URLS.aceDir + '/ace.js',\n            SCRIPT_URLS.aceDir + '/ext-language_tools.js'\n        ]).then(function () {\n            const lnTools = ace.require('ace/ext/language_tools');\n\n            const completions = [];\n            keywords.forEach(keyword => {\n                completions.push({\n                    caption: keyword.name,\n                    value: keyword.name,\n                    score: keyword.count,\n                    metal: 'local'\n                });\n            });\n\n            lnTools.addCompleter({\n                getCompletions: function (editor, session, pos, prefix, callback) {\n                    callback(null, completions);\n                }\n            });\n        })\n    }\n    return Promise.resolve();\n}\n\nexport default {\n\n    props: ['initialCode'],\n\n    data() {\n        return {\n            shared: store,\n            loading: false\n        }\n    },\n\n    mounted() {\n        this.loading = true;\n        ensureACE().then(() => {\n            this.loading = false;\n            const editor = ace.edit(this.$el);\n            editor.getSession().setMode('ace/mode/javascript');\n            editor.setOptions({\n                enableBasicAutocompletion: true,\n                enableSnippets: true,\n                enableLiveAutocompletion: true\n            });\n\n            this._editor = editor;\n\n            editor.on('change', () => {\n                store.sourceCode =\n                    store.runCode = editor.getValue();\n            });\n\n            if (this.initialCode) {\n                this.setInitialCode(this.initialCode);\n            }\n        });\n    },\n\n    methods: {\n        setInitialCode(code) {\n            if (this._editor && code) {\n                this._editor.setValue(code || '');\n                this._editor.selection.setSelectionRange({\n                    start: {\n                        row:1,\n                        column: 4\n                    }, end: {\n                        row:1,\n                        column: 4\n                    }\n                });\n            }\n        }\n    },\n\n    watch: {\n        initialCode(newVal) {\n            this.setInitialCode(newVal);\n        }\n    }\n}\n</script>\n\n<style lang=\"scss\">\n.ace-editor-main {\n    font-family: 'Source Code Pro', 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace;\n    font-size: 12px;\n    line-height: 18px;\n    padding: 10px;\n    // height: 100%;\n\n    // Fix safari\n    position: absolute;\n    left: 0;\n    top: 0;\n    bottom: 0;\n    right: 0;\n}\n</style>","<template>\n<div class=\"monaco-editor-main\" v-loading=\"loading\"></div>\n</template>\n\n<script>\n\nimport {keywords, fullKeywordsList} from '../data/option-keywords';\nimport {loadScriptsAsync} from '../common/helper';\nimport {store} from '../common/store';\nimport {SCRIPT_URLS} from '../common/config';\nimport { ensureECharts } from './Preview.vue';\n\nfunction loadTypes() {\n    return fetch(store.cdnRoot + '/types/echarts.d.ts', {\n        mode: 'cors'\n    }).then(response => response.text()).then(code => {\n\n        // validation settings\n        monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({\n            noSemanticValidation: false,\n            noSyntaxValidation: false\n        });\n\n        // compiler options\n        monaco.languages.typescript.typescriptDefaults.setCompilerOptions({\n            target: monaco.languages.typescript.ScriptTarget.ES6,\n            allowNonTsExtensions: true,\n            noResolve: false\n        });\n\n        // console.log('file:///node_modules/@types/' + res[i].path);\n        monaco.languages.typescript.typescriptDefaults.addExtraLib(\n            code,\n            // https://github.com/microsoft/monaco-editor/issues/667#issuecomment-468164794\n            'file:///node_modules/@types/echarts/index.d.ts'\n        );\n\n        monaco.languages.typescript.typescriptDefaults.addExtraLib(\n`import {init, EChartsOption} from 'echarts';\n// Declare to global namespace.\ndeclare global {\ndeclare const $: any;\ndeclare const ROOT_PATH: string;\ndeclare const app: {\n    configParameters: {\n        [key: string]: ({\n            options: { [key: string]: string\n        }) | ({\n            min?: number\n            max?: number\n        })\n    }\n    config: {\n        onChange: () => void\n        [key: string]: string | number | function\n    }\n    [key: string]: any\n};\ndeclare const myChart: ReturnType<typeof init>;\ndeclare var option: EChartsOption;\n}\n`,\n            'file:///example.d.ts'\n        );\n        return;\n    });\n}\n\nfunction ensureMonacoAndTsTransformer() {\n    function loadMonaco() {\n        if (typeof monaco === 'undefined') {\n            return loadScriptsAsync([\n                SCRIPT_URLS.monacoDir + '/loader.js',\n                // Prebuilt TS transformer with surcrase\n                store.cdnRoot + '/js/example-transform-ts-bundle.js'\n            ]).then(function () {\n                window.require.config({ paths: { 'vs': SCRIPT_URLS.monacoDir }});\n                return new Promise(resolve => {\n                    window.require([\n                        'vs/editor/editor.main'\n                    ], function () {\n                        loadTypes().then(() => {\n                            resolve();\n                        });\n                    })\n                });\n            })\n        }\n        return Promise.resolve();\n    }\n\n    // Must load echarts before monaco. Or the AMD loader will affect loading of echarts.\n    return ensureECharts().then(loadMonaco);\n}\n\nexport default {\n\n    props: ['initialCode'],\n\n    data() {\n        return {\n            shared: store,\n            loading: false\n        }\n    },\n\n    mounted() {\n        this.loading = true;\n        ensureMonacoAndTsTransformer().then(() => {\n            this.loading = false;\n            const model = monaco.editor.createModel(\n                this.initialCode || '',\n                'typescript',\n                // Should also be a file path so it can resolve the lib.\n                monaco.Uri.parse('file:///main.ts')\n            );\n            const editor = monaco.editor.create(this.$el, {\n                model,\n                fontFamily: `'Source Code Pro', 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace`,\n                minimap: {\n                    enabled: false\n                },\n                automaticLayout: true\n            });\n\n            this._editor = editor;\n\n            if (this.initialCode) {\n                store.sourceCode = this.initialCode;\n                store.runCode = echartsExampleTransformTs(store.sourceCode);\n            }\n            editor.onDidChangeModelContent(() => {\n                store.sourceCode = editor.getValue();\n                store.runCode = echartsExampleTransformTs(store.sourceCode);\n            });\n        });\n    },\n\n    destroyed() {\n        if (this._editor) {\n            this._editor.getModel().dispose();\n            this._editor.dispose();\n        }\n    },\n\n    methods: {\n        setInitialCode(code) {\n            if (this._editor && code) {\n                this._editor.setValue(code || '');\n            }\n        }\n    },\n\n    watch: {\n        initialCode(newVal) {\n            this.setInitialCode(newVal);\n        }\n    }\n}\n</script>\n\n<style lang=\"scss\">\n.monaco-editor-main {\n    font-family: 'Source Code Pro', 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace;\n    font-size: 12px;\n    padding: 0;\n    overflow-y: hidden;\n    // height: 100%;\n    // Fix safari\n    position: absolute;\n    left: 0;\n    top: 0;\n    bottom: 0;\n    right: 0;\n}\n</style>","<template>\n<div id=\"main-container\">\n    <div id=\"editor-left-container\" :style=\"{width: leftContainerSize + '%'}\" v-if=\"!shared.isMobile\">\n        <el-tabs v-model=\"currentTab\" type=\"border-card\">\n            <el-tab-pane :label=\"$t('editor.tabEditor')\" name=\"code-editor\">\n                <el-container>\n                    <el-header id=\"editor-control-panel\">\n                        <div id=\"code-info\">\n                            <template v-if=\"shared.editorStatus.message\">\n                                <span class=\"code-info-time\">{{currentTime}}</span>\n                                <span :class=\"'code-info-type-' + shared.editorStatus.type\">{{shared.editorStatus.message}}</span>\n                            </template>\n                        </div>\n                        <div class=\"editor-controls\">\n                            <!-- <el-switch v-model=\"shared.typeCheck\"\n                                :active-text=\"$t('editor.monacoMode')\"\n                                :inactive-text=\"''\"\n                            ></el-switch> -->\n                            <a href=\"javascript:;\" class='btn btn-default btn-sm' @click='disposeAndRun'>{{$t('editor.run')}}</a>\n                        </div>\n                    </el-header>\n                    <el-main>\n                        <CodeMonaco v-if=\"shared.typeCheck\" id=\"code-panel\" :initialCode=\"initialCode\"></CodeMonaco>\n                        <CodeAce v-else id=\"code-panel\" :initialCode=\"initialCode\"></CodeAce>\n                    </el-main>\n                </el-container>\n            </el-tab-pane>\n\n            <el-tab-pane :label=\"$t('editor.tabFullCodePreview')\" name=\"full-code\" :lazy=\"true\">\n                <el-container style=\"width: 100%; height: 100%\">\n                    <el-header id=\"full-code-generate-config\">\n                        <span class=\"full-code-generate-config-label\">\n                            <!-- <i class=\"el-icon-setting\"></i> 配置 -->\n                        </span>\n                        <el-switch\n                            class=\"enable-decal\"\n                            v-model=\"fullCodeConfig.minimal\"\n                            :active-text=\"$t('editor.minimalBundle')\"\n                            :inactive-text=\"''\">\n                        </el-switch>\n                        <el-switch\n                            class=\"enable-decal\"\n                            v-model=\"fullCodeConfig.esm\"\n                            active-text=\"ES Modules\"\n                            :inactive-text=\"''\">\n                        </el-switch>\n                    </el-header>\n                    <el-main>\n                        <FullCodePreview :code=\"fullCode\"></FullCodePreview>\n                    </el-main>\n                </el-container>\n            </el-tab-pane>\n            <el-tab-pane :label=\"$t('editor.tabOptionPreview')\" name=\"full-option\">\n                <div id=\"option-outline\"></div>\n            </el-tab-pane>\n        </el-tabs>\n    </div>\n    <div class=\"handler\" id=\"h-handler\" @mousedown=\"onSplitterDragStart\" :style=\"{left: leftContainerSize + '%'}\" v-if=\"!shared.isMobile\"></div>\n    <Preview :inEditor=\"true\" class=\"right-container\" ref=\"preview\" :style=\"{\n        width: (100 - leftContainerSize) + '%',\n        left: leftContainerSize + '%'\n    }\"></Preview>\n</div>\n</template>\n\n<script>\n\nimport CodeAce from './CodeAce.vue';\nimport CodeMonaco from './CodeMonaco.vue';\nimport FullCodePreview from './FullCodePreview.vue';\nimport Preview from './Preview.vue';\nimport {URL_PARAMS} from '../common/config';\nimport {store, loadExampleCode, parseSourceCode} from '../common/store';\nimport {collectDeps, buildExampleCode} from '../../common/buildCode';\nimport { mount } from \"@lang/object-visualizer\";\n\nimport './object-visualizer.css';\n\nexport default {\n    components: {\n        CodeAce,\n        CodeMonaco,\n        FullCodePreview,\n        Preview\n    },\n\n    data() {\n        return {\n            mousedown: false,\n            leftContainerSize: 40,\n            mobileMode: false,\n            shared: store,\n            initialCode: '',\n\n            currentTab: 'code-editor',\n\n            fullCode: '',\n\n            fullCodeConfig: {\n                mimimal: false,\n                esm: true,\n                node: false // If is in node\n            }\n        };\n    },\n\n    computed: {\n        currentTime() {\n            // Update time when message updated.\n            const message = this.shared.message;\n\n            const time = new Date();\n            const digits = [time.getHours(), time.getMinutes(), time.getSeconds()];\n            let timeStr = '';\n            for (let i = 0, len = digits.length; i < len; ++i) {\n                timeStr += (digits[i] < 10 ? '0' : '') + digits[i];\n                if (i < len - 1) {\n                    timeStr += ':';\n                }\n            }\n            return timeStr;\n        }\n    },\n\n    mounted() {\n\n        if (store.isMobile) {\n            this.leftContainerSize = 0;\n            loadExampleCode().then(code => {\n                // No editor available. Set to runCode directly.\n                store.runCode = parseSourceCode(code);\n            });\n        }\n        else {\n            loadExampleCode().then(code => {\n                // Only set the code in editor. editor will sync to the store.\n                this.initialCode = parseSourceCode(code);\n            });\n\n            window.addEventListener('mousemove', (e) => {\n                if (this.mousedown) {\n                    let percentage = e.clientX / window.innerWidth;\n                    percentage = Math.min(0.9, Math.max(0.1, percentage));\n                    this.leftContainerSize = percentage * 100;\n                }\n            });\n\n            window.addEventListener('mouseup', (e) => {\n                this.mousedown = false;\n            });\n        }\n    },\n\n    methods: {\n        onSplitterDragStart() {\n            this.mousedown = true;\n        },\n        disposeAndRun() {\n            this.$refs.preview.refreshAll();\n        },\n        updateFullCode() {\n            const option = this.$refs.preview.getOption();\n            if (!option) {\n                return;\n            }\n            const deps = collectDeps(option);\n            deps.push(store.renderer === 'svg' ? 'SVGRenderer' : 'CanvasRenderer');\n            this.fullCode = buildExampleCode(store.sourceCode, deps, {\n                minimal: this.fullCodeConfig.minimal,\n                ts: false,\n                esm: this.fullCodeConfig.esm,\n                // legacy: true,\n                theme: store.darkMode ? 'dark' : '',\n                ROOT_PATH: store.cdnRoot\n            });\n        },\n        updateOptionOutline() {\n            const option = Object.freeze(this.$refs.preview.getOption());\n            if (!option) {\n                return;\n            }\n            mount(\n                option,\n                this.$el.querySelector('#option-outline'),\n                {\n                    getKeys(object, path) {\n                        return Object.keys(object).filter(key => {\n                            if (Array.isArray(object[key]) && !object[key].length) {\n                                return false;\n                            }\n                            return true;\n                        });\n                    },\n                    expandOnCreatedAndUpdated(path) {\n                        return path.length === 0\n                            || (path[0] === 'series' && path.length <= 1);\n                    },\n                }\n            );\n        },\n        updateTabContent(tab) {\n            if (tab === 'full-code') {\n                this.updateFullCode();\n            }\n            else if (tab === 'full-option') {\n                this.updateOptionOutline();\n            }\n        }\n    },\n\n    watch: {\n        'shared.typeCheck'(enableTypeCheck) {\n            // Update initialCode to avoid code changed when switching editor\n            this.initialCode = store.sourceCode;\n            this.updateFullCode();\n        },\n        'currentTab'(tab) {\n            this.updateTabContent(tab);\n        },\n        'shared.runHash'() {\n            this.updateTabContent(this.currentTab);\n        },\n        fullCodeConfig: {\n            deep: true,\n            handler() {\n                this.updateFullCode();\n            }\n        }\n    }\n}\n</script>\n\n<style lang=\"scss\">\n\n@import '../style/color.scss';\n\n$code-info-height: 25px;\n$control-panel-height: 30px;\n$pd-basic: 10px;\n$handler-width: 5px;\n\n#main-container {\n    .handler {\n        position: absolute;\n        left: 50%;\n\n        top: 0;\n        bottom: 0;\n        width: $handler-width;\n\n        cursor: col-resize;\n        z-index: 100;\n        background-color: transparent;\n        border-left: 1px solid #ececec;\n        // border-right: 1px solid $clr-border;\n    }\n\n}\n\n#editor-left-container {\n    position: absolute;\n    left: 0;\n    bottom: 0;\n    top: 0;\n\n    width: 50%;\n\n    .el-tab-pane {\n        height: 100%;\n\n        .el-container {\n            width: 100%;\n            height: 100%;\n        }\n\n        .el-header {\n            height: $control-panel-height!important;\n            position: relative;\n            z-index: 10;\n            padding: 0;\n        }\n        .el-main {\n            padding: 0;\n            position: relative;\n\n            ::-webkit-scrollbar {\n                height:8px;\n                width:8px;\n                transition:all 0.3s ease-in-out;\n                border-radius:2px;\n            }\n\n            ::-webkit-scrollbar-button {\n                display:none;\n            }\n\n            ::-webkit-scrollbar-thumb {\n                width:8px;\n                min-height:15px;\n                background:rgba(50, 50, 50, 0.6) !important;\n                transition:all 0.3s ease-in-out;border-radius:2px;\n            }\n\n            ::-webkit-scrollbar-thumb:hover {\n                background:rgba(0, 0, 0, 0.5) !important;\n            }\n        }\n    }\n\n    .el-tabs {\n        box-shadow: none;\n    }\n\n    .el-tabs--border-card>.el-tabs__header {\n        border-bottom: none;\n    }\n\n    .el-tabs__content {\n        position: absolute;\n        top: 34px;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        padding: 0;\n    }\n\n    .el-tabs__item {\n        height: 34px;\n        line-height: 34px;\n    }\n}\n\n#editor-control-panel, #full-code-generate-config {\n    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n}\n\n#option-outline {\n    // height: 100%;\n    // Fix safari\n    position: absolute;\n    left: 0;\n    top: 0;\n    bottom: 0;\n    right: 0;\n\n    font-size: 13px;\n\n    font-family: 'Source Code Pro', 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace;\n}\n\n#full-code-generate-config {\n    .full-code-generate-config-label {\n        height: $control-panel-height;\n        line-height: $control-panel-height;\n        vertical-align: middle;\n        margin: 0 0 0 20px;\n    }\n\n    .el-switch {\n        margin-right: 10px;\n    }\n\n    .el-switch__label {\n        margin-left: 8px;\n        margin-top: -2px;\n    }\n    .el-switch__label * {\n        font-size: 12px;\n    }\n}\n\n#editor-control-panel {\n    .setting-panel {\n        display: inline-block;\n\n        .btn-group + .btn-group {\n            margin-left: $pd-basic;\n        }\n    }\n\n    .editor-controls  {\n        float: right;\n\n        .el-switch__label {\n            margin-top: -3px;\n        }\n        .el-switch__label * {\n            font-size: 12px;\n        }\n\n        .btn {\n            color: #FFF;\n            border-radius: 0;\n            background-color: #409eff;\n            margin-left: $pd-basic;\n            border: none;\n            height: 30px;\n            width: 50px;\n        }\n        .btn:hover {\n            background-color: lighten($color: #409eff, $amount: 5);\n        }\n    }\n}\n\n#code-info {\n    position: absolute;\n    bottom: 0;\n    overflow: hidden;\n\n    height: $control-panel-height;\n    line-height: $control-panel-height;\n    padding: 0px 10px;\n\n    // border-top: 1px solid $clr-border;\n    font-size: 0.9rem;\n\n    .code-info-time {\n        color: $clr-text;\n        display: inline-block;\n        margin-right: 10px;\n        font-size: 12px;\n    }\n\n    .code-info-type-info {\n        color: $clr-text;\n        font-size: 12px;\n    }\n\n    .code-info-type-warn {\n        color: $clr-warn;\n    }\n\n    .code-info-type-error {\n        color: $clr-error;\n    }\n}\n\n.right-container {\n    position: absolute;\n    right: 0;\n\n    width: 50%;\n    height: 100%;\n    padding: 0;\n    padding-left: $handler-width;\n    border: none;\n    z-index: 30;\n\n    background: $clr-bg;\n}\n\n\n</style>","<template>\n<div class=\"full-code-preview\" v-loading=\"loading\"></div>\n</template>\n\n<script>\n\nimport {loadScriptsAsync} from '../common/helper';\nimport {store} from '../common/store';\nimport {SCRIPT_URLS} from '../common/config';\n\nfunction ensureACE() {\n    if (typeof ace === 'undefined') {\n        return loadScriptsAsync([\n            SCRIPT_URLS.aceDir + '/ace.js'\n        ]);\n    }\n    return Promise.resolve();\n}\n\nexport default {\n\n    props: ['code'],\n\n    data() {\n        return {\n            shared: store,\n            loading: false\n        }\n    },\n\n    mounted() {\n        this.loading = true;\n        ensureACE().then(() => {\n            this.loading = false;\n            const editor = ace.edit(this.$el);\n            editor.getSession().setMode('ace/mode/javascript');\n            // https://stackoverflow.com/questions/32806060/is-there-a-programmatic-way-to-hide-the-cursor-in-ace-editor\n            editor.setOptions({\n                readOnly: true,\n                showLineNumbers: false,\n                showFoldWidgets: false,\n                highlightActiveLine: false,\n                highlightGutterLine: false\n            });\n            // editor.renderer.setShowGutter(false);\n            editor.renderer.$cursorLayer.element.style.display = 'none';\n\n            this._editor = editor;\n\n            this.setCode(this.code);\n\n        });\n    },\n\n    methods: {\n        setCode(code) {\n            if (this._editor) {\n                this._editor.setValue(code);\n                this._editor.selection.setSelectionRange({\n                    start: {\n                        row:1,\n                        column: 4\n                    }, end: {\n                        row:1,\n                        column: 4\n                    }\n                });\n            }\n        }\n    },\n\n    watch: {\n        code(newVal) {\n            this.setCode(newVal);\n        }\n    }\n}\n</script>\n\n<style lang=\"scss\">\n.full-code-preview {\n    font-family: 'Source Code Pro', 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace;\n    font-size: 12px;\n    line-height: 18px;\n    // height: 100%;\n\n    // Fix safari\n    position: absolute;\n    left: 0;\n    top: 0;\n    bottom: 0;\n    right: 0;\n}\n</style>","<template>\n<div :class=\"[(inEditor && !shared.isMobile) ? '' : 'full']\">\n    <div v-loading=\"loading\"\n        class=\"right-panel\"\n        id=\"chart-panel\"\n        :style=\"{background: backgroundColor}\"\n    >\n        <div class=\"chart-container\"></div>\n    </div>\n    <div id=\"tool-panel\">\n        <div class=\"left-panel\">\n            <el-switch\n                class=\"dark-mode\"\n                v-model=\"shared.darkMode\"\n                active-color=\"#181432\"\n                :active-text=\"$t('editor.darkMode')\"\n                :inactive-text=\"''\">\n            </el-switch>\n            <el-switch\n                v-if=\"!isGL\"\n\n                class=\"enable-decal\"\n                v-model=\"shared.enableDecal\"\n                :active-text=\"$t('editor.enableDecal')\"\n                :inactive-text=\"''\">\n            </el-switch>\n\n            <el-popover\n                placement=\"bottom\"\n                width=\"450\"\n                trigger=\"click\"\n                style=\"margin-top:3px;\"\n\n                v-if=\"!isGL\"\n            >\n                <div class=\"render-config-container\">\n                    <el-row :gutter=\"2\" type=\"flex\" align=\"middle\">\n                        <el-col :span=\"12\">\n                            <label class=\"tool-label\">{{ $t('editor.renderer') }}</label>\n                            <el-radio-group v-model=\"shared.renderer\" size=\"mini\" style=\"text-transform: uppercase\">\n                                <el-radio-button label=\"svg\"></el-radio-button>\n                                <el-radio-button label=\"canvas\"></el-radio-button>\n                            </el-radio-group>\n                        </el-col>\n                        <el-col :span=\"12\">\n                            <el-switch\n                                v-if=\"shared.renderer==='canvas'\"\n                                v-model=\"shared.useDirtyRect\"\n                                :active-text=\"$t('editor.useDirtyRect')\"\n                                :inactive-text=\"''\">\n                            </el-switch>\n                        </el-col>\n                    </el-row>\n                </div>\n                <span class=\"render-config-trigger\" slot=\"reference\"><i class=\"el-icon-setting el-icon--left\"></i>{{$t('editor.renderCfgTitle')}}</span>\n            </el-popover>\n        </div>\n        <template v-if=\"inEditor\">\n            <button v-if=\"!shared.isMobile\" class=\"download btn btn-sm\" @click=\"downloadExample\">{{ $t('editor.download') }}</button>\n            <a class=\"screenshot\" @click=\"screenshot\" target=\"_blank\"><i class=\"el-icon-camera-solid\"></i></a>\n        </template>\n        <a :href=\"editLink\" target=\"_blank\" v-else class=\"edit btn btn-sm\">{{ $t('editor.edit') }}</a>\n    </div>\n</div>\n</template>\n\n<script>\n\nimport {store, updateRunHash} from '../common/store';\nimport {SCRIPT_URLS, URL_PARAMS} from '../common/config';\nimport {loadScriptsAsync} from '../common/helper';\nimport {createSandbox} from './sandbox';\nimport debounce from 'lodash/debounce';\nimport { addListener, removeListener } from 'resize-detector';\nimport CHART_LIST from '../data/chart-list-data';\nimport CHART_LIST_GL from '../data/chart-list-data-gl';\nimport {download} from './downloadExample';\n\nfunction findExample(item) {\n    return URL_PARAMS.c === item.id;\n}\nconst example = CHART_LIST.concat(CHART_LIST_GL).find(findExample);\nconst isGL = CHART_LIST_GL.find(findExample);\n\nfunction addDecalIfNecessary(option) {\n    if (store.enableDecal) {\n        option.aria = option.aria || {};\n        option.aria.decal = option.aria.decal || {};\n        option.aria.decal.show = true;\n        option.aria.show = option.aria.enabled = true;\n    }\n}\n\nexport function ensureECharts() {\n    if (typeof echarts === 'undefined') {\n\n        const hasBmap = example && example.tags.indexOf('bmap') >= 0;\n\n        // Code from https://api.map.baidu.com/api?v=2.0&ak=KOmVjPVUAey1G2E8zNhPiuQ6QiEmAwZu\n        if (hasBmap) {\n            window.HOST_TYPE = \"2\";\n            window.BMap_loadScriptTime = (new Date).getTime();\n        }\n\n        return loadScriptsAsync([\n            SCRIPT_URLS.datGUIMinJS,\n            'local' in URL_PARAMS\n                ? SCRIPT_URLS.localEChartsMinJS : SCRIPT_URLS.echartsMinJS,\n            SCRIPT_URLS.echartsDir + '/dist/extension/dataTool.js',\n            'https://cdn.jsdelivr.net/npm/echarts@4.9.0/map/js/world.js',\n            SCRIPT_URLS.echartsStatMinJS,\n            ...URL_PARAMS.gl ? [SCRIPT_URLS.echartsGLMinJS] : [],\n            ...hasBmap ? [\n                'https://api.map.baidu.com/getscript?v=3.0&ak=KOmVjPVUAey1G2E8zNhPiuQ6QiEmAwZu&services=&t=20200327103013',\n                SCRIPT_URLS.echartsDir + '/dist/extension/bmap.js'\n            ] : []\n        ]).then(() => {\n            echarts.registerPreprocessor(addDecalIfNecessary)\n        });\n    }\n    return Promise.resolve();\n}\n\n\nfunction log(text, type) {\n    if (type !== 'warn' && type !== 'error') {\n        type = 'info';\n    }\n    store.editorStatus.message = text;\n    store.editorStatus.type = type;\n}\n\n\nfunction run() {\n\n    if (typeof echarts === 'undefined') {\n        return;\n    }\n    if (!this.sandbox) {\n        this.sandbox = createSandbox((chart) => {\n            const option = chart.getOption();\n            if (typeof option.backgroundColor === 'string' && option.backgroundColor !== 'transparent') {\n                this.backgroundColor = option.backgroundColor;\n            }\n            else {\n                this.backgroundColor = '#fff';\n            }\n        });\n    }\n\n    try {\n        const updateTime = this.sandbox.run(this.$el.querySelector('.chart-container'), store);\n\n        log(this.$t('editor.chartOK') + updateTime + 'ms');\n\n        // Find the appropriate throttle time\n        const debounceTime = 500;\n        const debounceTimeQuantities = [0, 500, 2000, 5000, 10000];\n        for (let i = debounceTimeQuantities.length - 1; i >= 0; i--) {\n            const quantity = debounceTimeQuantities[i];\n            const preferredDebounceTime = debounceTimeQuantities[i + 1] || 1000000;\n            if (updateTime >= quantity && this.debouncedTime !== preferredDebounceTime) {\n                this.debouncedRun = debounce(run, preferredDebounceTime, {\n                    trailing: true\n                });\n                this.debouncedTime = preferredDebounceTime;\n                break;\n            }\n        }\n\n        // Update run hash to let others known chart has been changed.\n        updateRunHash();\n\n    }\n    catch (e) {\n        log(this.$t('editor.errorInEditor'), 'error');\n        console.error(e);\n    }\n}\n\n\nexport default {\n\n    props: ['inEditor'],\n\n    data() {\n        return {\n            shared: store,\n            debouncedTime: undefined,\n            backgroundColor: '',\n            autoRun: true,\n            loading: false,\n\n            isGL\n        }\n    },\n\n    mounted() {\n        this.loading = true;\n        ensureECharts().then(() => {\n            this.loading = false;\n            if (store.runCode) {\n                this.run();\n            }\n        });\n\n        addListener(this.$el, () => {\n            if (this.sandbox) {\n                this.sandbox.resize();\n            }\n        })\n    },\n\n    computed: {\n        editLink() {\n            const params = ['c=' + URL_PARAMS.c];\n            if (URL_PARAMS.theme) {\n                params.push(['theme=' + URL_PARAMS.theme]);\n            }\n            if (URL_PARAMS.gl) {\n                params.push(['gl=' + URL_PARAMS.gl]);\n            }\n            return './editor.html?' + params.join('&');\n        }\n    },\n\n    watch: {\n        'shared.runCode'(val) {\n            if (this.autoRun || !this.sandbox) {\n                if (!this.debouncedRun) {\n                    // First run\n                    this.run();\n                }\n                else {\n                    this.debouncedRun();\n                }\n            }\n        },\n        'shared.renderer'() {\n            this.refreshAll();\n        },\n        'shared.darkMode'() {\n            this.refreshAll();\n        },\n        'shared.enableDecal'() {\n            this.refreshAll();\n        },\n        'shared.useDirtyRect'() {\n            this.refreshAll();\n        }\n    },\n\n    methods: {\n        run,\n        // debouncedRun will be created at first run\n        // debouncedRun: null,\n        refreshAll() {\n            this.dispose();\n            this.run();\n        },\n        dispose() {\n            if (this.sandbox) {\n                this.sandbox.dispose();\n            }\n        },\n        downloadExample() {\n            download();\n        },\n        screenshot() {\n            if (this.sandbox) {\n                const url = this.sandbox.getDataURL();\n                const $a = document.createElement('a');\n                $a.download = URL_PARAMS.c + '.' + (store.renderer === 'svg' ? 'svg' : 'png');\n                $a.target = '_blank';\n                $a.href = url;\n                const evt = new MouseEvent('click', {\n                    bubbles: true,\n                    cancelable: false\n                });\n                $a.dispatchEvent(evt);\n            }\n        },\n        getOption() {\n            return this.sandbox && this.sandbox.getOption();\n        }\n        // hasEditorError() {\n        //     const annotations = this.editor.getSession().getAnnotations();\n        //     for (let aid = 0, alen = annotations.length; aid < alen; ++aid) {\n        //         if (annotations[aid].type === 'error') {\n        //             return true;\n        //         }\n        //     }\n        //     return false;\n        // }\n    }\n}\n</script>\n\n<style lang=\"scss\">\n\n#chart-panel {\n    position: absolute;\n    // top: $control-panel-height;\n    top: 42px;\n    right: 15px;\n    bottom: 15px;\n    left: 15px;\n    box-sizing: border-box;\n    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 20px;\n    border-radius: 5px;\n    background: #fff;\n    overflow: hidden;\n\n    padding: 10px;\n\n    .ec-debug-dirty-rect-container {\n        left: 10px!important;\n        top: 10px!important;\n        right: 10px!important;\n        bottom: 10px!important;\n\n        .ec-debug-dirty-rect {\n            background-color: rgba(255, 0, 0, 0.2)!important;\n            border: 1px solid red!important;\n        }\n    }\n\n    .chart-container {\n        position: relative;\n        height: 100%;\n    }\n}\n\n.render-config-container {\n    .el-radio-group {\n        label {\n            margin-bottom: 0;\n        }\n    }\n}\n\n#tool-panel {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    padding-top: 5px;\n    padding-left: 15px;\n\n    // .el-switch__label * {\n    //     font-size: 12px;\n    // }\n\n    .render-config-trigger {\n        margin-left: 10px;\n        cursor: pointer;\n        font-weight: 500;\n        // font-size: 12px;\n    }\n\n    label {\n        margin-bottom: 0;\n    }\n\n    .left-panel {\n        float: left;\n    }\n\n    .left-panel>* {\n        vertical-align: middle;\n        display: inline-block;\n    }\n\n    .tool-label {\n        font-weight: bold;\n        text-transform: uppercase;\n        margin-left: 20px;\n    }\n\n    .screenshot, .download, .edit {\n        float: right;\n        margin-right: 15px;\n        cursor: pointer;\n    }\n    .screenshot {\n        font-size: 22px;\n        margin-right: 10px;\n    }\n}\n\n.full {\n    #chart-panel {\n        top: 40px;\n        right: 5px;\n        bottom: 5px;\n        left: 5px;\n        box-shadow: rgba(10, 9, 9, 0.1) 0px 0px 5px;\n    }\n    #tool-panel {\n        padding-left: 5px;\n        .download, .edit {\n            margin-right: 5px;\n        }\n    }\n}\n\n.dg.main * {\n    box-sizing: content-box;\n}\n.dg.main input {\n    line-height: normal;\n}\n\n.dg.main.a {\n    overflow-x: visible;\n}\n\n.dg.main .c {\n    select {\n        color: #000;\n    }\n}\n\n</style>","<template>\n<preview></Preview>\n</template>\n\n<script>\n\nimport Preview from './Preview.vue';\nimport {store, loadExampleCode, parseSourceCode} from '../common/store';\n\nexport default {\n    components: {\n        Preview\n    },\n\n    mounted() {\n        loadExampleCode().then(code => {\n            store.runCode = parseSourceCode(code);\n        });\n    }\n}\n</script>\n\n<style lang=\"scss\">\n\n</style>","<template>\n<div class=\"example-list-item\">\n    <a target=\"_blank\" class=\"example-link\" :href=\"exampleLink\">\n        <img class=\"chart-area\" src=\"../asset/placeholder.jpg\" :data-src=\"screenshotURL\" />\n        <h4 class=\"example-title\">{{title}}</h4>\n        <h5 class=\"example-subtitle\" v-if=\"showSubtitle\">{{subtitle}}</h5>\n    </a>\n</div>\n</template>\n\n<script>\n\nimport {store} from '../common/store';\nimport {SUPPORT_WEBP, URL_PARAMS} from '../common/config';\n\nexport default {\n    props: ['example'],\n\n    computed: {\n\n        title() {\n            return (store.locale === 'zh' ? this.example.titleCN : this.example.title)\n                || this.example.title || '';\n        },\n\n        showSubtitle() {\n            return store.locale === 'zh';\n        },\n\n        subtitle() {\n            return this.example.title || '';\n        },\n\n        exampleTheme() {\n            const example = this.example;\n            return example.theme || (store.darkMode ? 'dark' : '');\n        },\n\n        exampleLink() {\n            const example = this.example;\n            const hash = ['c=' + example.id];\n            const exampleTheme = this.exampleTheme;\n            if (example.isGL) {\n                hash.push('gl=1');\n            }\n            if (exampleTheme) {\n                hash.push('theme=' + exampleTheme);\n            }\n            if ('local' in URL_PARAMS) {\n                hash.push('local');\n            }\n            if ('useDirtyRect' in URL_PARAMS) {\n                hash.push('useDirtyRect');\n            }\n            return './editor.html?' + hash.join('&');\n        },\n\n        screenshotURL() {\n            const example = this.example;\n            const themePostfix = this.exampleTheme ? ('-' + this.exampleTheme) : '';\n            const ext = SUPPORT_WEBP ? 'webp' : 'png';\n            const folder = example.isGL ? 'data-gl' : 'data';\n            return `${store.cdnRoot}/${folder}/thumb${themePostfix}/${example.id}.${ext}?_v_=${store.version}`;\n        }\n    }\n}\n</script>\n\n<style lang=\"scss\">\n\n@import \"../style/color.scss\";\n\n.example-list-item {\n    width: 100%;\n    max-width: 350px;\n    margin-bottom: 30px;\n\n    border-radius: 2px;\n\n    .example-link {\n        position: relative;\n        display: block;\n\n        .chart-area {\n            width: 100%;\n            height: 100%;\n            border-radius: 5px;\n            box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);\n            margin-top: 10px;\n        }\n\n        .example-title {\n            color: $clr-primary;\n            overflow: hidden;\n            text-overflow: ellipsis;\n            white-space: nowrap;\n\n            padding: 10px 10px 2px 10px;\n            margin: 0;\n            font-weight: normal;\n            font-size: 14px;\n            text-align: center;\n        }\n\n        .example-subtitle {\n            font-size: 12px;\n            text-align: center;\n            color: #aaa;\n            font-weight: normal;\n            // font-weight: 200;\n            overflow: hidden;\n            white-space: nowrap;\n            text-overflow: ellipsis;\n            margin: 3px 0 0 0;\n        }\n    }\n\n    .example-info {\n        padding: 5px 0;\n\n        font-weight: bold;\n\n        .chart-icon {\n            float: right;\n\n            .chart-delete {\n                display: none;\n\n                transition: 1s;\n            }\n        }\n    }\n\n    &:hover .example-info .chart-icon .chart-delete {\n        display: block;\n\n        text-decoration: none;\n    }\n}\n</style>","<template>\n<div id=\"example-explore\">\n    <div id=\"left-container\">\n        <div id=\"left-chart-nav\">\n            <scrollactive\n                active-class=\"active\"\n                :offset=\"80\"\n                :duration=\"500\"\n                :scroll-container-selector=\"'#example-explore'\"\n                bezier-easing-value=\".5,0,.35,1\"\n                @itemchanged=\"onActiveNavChanged\"\n            >\n                <ul>\n                    <li v-for=\"category in EXAMPLE_CATEGORIES\" :key=\"category\">\n                        <a class=\"left-chart-nav-link scrollactive-item\" :id=\"'left-chart-nav-' + category\"\n                            :href=\"'#chart-type-' + category\"\n                        >\n                            <span class=\"chart-icon\" v-html=\"icons[category]\"></span>\n                            <span class=\"chart-name\">{{$t('chartTypes.' + category)}}</span>\n                        </a>\n                    </li>\n                </ul>\n            </scrollactive>\n        </div>\n    </div>\n    <div id=\"explore-container\">\n        <div class=\"example-list-panel\">\n            <div v-for=\"categoryObj in exampleList\" :key=\"categoryObj.category\">\n                <h3 class=\"chart-type-head\" :id=\"'chart-type-' + categoryObj.category\">\n                    {{$t('chartTypes.' + categoryObj.category)}}\n                    <span>{{categoryObj.category}}</span>\n                </h3>\n\n                <div class=\"row\" :id=\"'chart-row-' + categoryObj.category\">\n                    <div class=\"col-xl-2 col-lg-3 col-md-4 col-sm-6\"\n                        v-for=\"exampleItem in categoryObj.examples\"\n                        :key=\"exampleItem.id\"\n                    >\n                        <ExampleCard :example=\"exampleItem\"></ExampleCard>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n    <div id=\"toolbar\">\n        <el-switch\n            v-model=\"shared.darkMode\"\n            active-color=\"#181432\"\n            :active-text=\"$t('editor.darkMode')\"\n            :inactive-text=\"''\">\n        </el-switch>\n    </div>\n</div>\n</template>\n\n<script>\n\nimport CHART_LIST from '../data/chart-list-data';\nimport CHART_LIST_GL from '../data/chart-list-data-gl';\nimport {EXAMPLE_CATEGORIES, BLACK_MAP, URL_PARAMS} from '../common/config';\nimport {store} from '../common/store';\nimport ExampleCard from './ExampleCard.vue';\nimport LazyLoad from 'vanilla-lazyload/dist/lazyload.esm';\n// import scrollIntoView from 'scroll-into-view';\n\nconst icons = {};\n\n['line', 'bar', 'scatter', 'pie', 'radar', 'funnel', 'gauge', 'map',\n    'graph', 'treemap', 'parallel', 'sankey', 'candlestick', 'boxplot', 'heatmap',\n    'pictorialBar', 'themeRiver', 'calendar', 'custom', 'sunburst', 'tree', 'dataset', 'geo', 'lines',\n    'dataZoom', 'rich', 'drag'\n].forEach(function (category) {\n    icons[category] = require('../asset/icon/' + category + '.svg');\n});\n\nconst glIcon = require('../asset/icon/gl.svg');\n['globe', 'bar3D', 'scatter3D', 'surface', 'map3D', 'lines3D', 'line3D',\n    'scatterGL', 'linesGL', 'flowGL', 'graphGL', 'geo3D'].forEach(function (category) {\n    icons[category] = glIcon;\n});\n\nconst LAZY_LOADED_CLASS = 'ec-shot-loaded';\n\nexport default {\n\n    components: {\n        ExampleCard\n    },\n\n    data() {\n        const exampleListByCategory = {};\n\n        function addExamples(list, isGL) {\n            let categoryOrder = 0;\n            // Add by category order in each example.\n            do {\n                let added = false;\n                for (let i = 0; i < list.length; i++) {\n                    const example = list[i];\n                    if (BLACK_MAP.hasOwnProperty(example.id)) {\n                        continue;\n                    }\n                    if (typeof example.category === 'string') {\n                        example.category = [example.category];\n                    }\n\n                    const categoryStr = (example.category || [])[categoryOrder];\n                    if (categoryStr) {\n                        added = true;\n                        let categoryObj = exampleListByCategory[categoryStr];\n                        if (!categoryObj) {\n                            categoryObj = {\n                                category: categoryStr,\n                                examples: []\n                            }\n                            exampleListByCategory[categoryStr] = categoryObj;\n                        }\n                        example.isGL = isGL;\n\n                        categoryObj.examples.push(example);\n                    }\n                }\n\n                if (!added) {\n                    break;\n                }\n            } while (++categoryOrder && categoryOrder < 4)  // At most 4 category\n        }\n\n        addExamples(CHART_LIST, false);\n        addExamples(CHART_LIST_GL, true);\n\n        return {\n            shared: store,\n\n            icons,\n\n            EXAMPLE_CATEGORIES,\n            // [{\n            //  category: '',\n            //  isGL: false\n            //  examples: []\n            // }]\n            exampleListByCategory\n        }\n    },\n\n    watch: {\n        \"shared.darkMode\"() {\n            const imgs = this.$el.querySelectorAll('img.chart-area');\n            for (let i = 0; i < imgs.length; i++) {\n                // Force lazyload to update\n                imgs[i].classList.remove(LAZY_LOADED_CLASS);\n                imgs[i].setAttribute('data-was-processed', 'false');\n            }\n            this._lazyload.update();\n        }\n    },\n\n    computed: {\n        exampleList() {\n            const list = [];\n            for (let i = 0; i < EXAMPLE_CATEGORIES.length; i++) {\n                const category = EXAMPLE_CATEGORIES[i];\n                const categoryObj = this.exampleListByCategory[category];\n                if (categoryObj && categoryObj.examples.length > 0) {\n                    list.push({\n                        category,\n                        examples: categoryObj.examples\n                    });\n                }\n            }\n            return list;\n        }\n    },\n\n    mounted() {\n        this._lazyload = new LazyLoad({\n            // Container should be the scroll viewport.\n            // container: this.$el.querySelector('#explore-container .example-list-panel'),\n            elements_selector: 'img.chart-area',\n            load_delay: 400,\n            class_loaded: LAZY_LOADED_CLASS\n        });\n    },\n\n    methods: {\n        onActiveNavChanged(event, currentItem, lastActiveItem) {\n            // currentItem && currentItem.scrollIntoView && currentItem.parentNode.scrollIntoView();\n            // scrollIntoView(currentItem, {\n            //     time: 100,\n            //     cancellable: false,\n            //     align: {\n            //         top: 0,\n            //         topOffset: 50\n            //     }\n            // });\n        }\n    }\n}\n</script>\n\n<style lang=\"scss\">\n\n@import \"../style/color.scss\";\n@import \"../style/config.xl.scss\";\n\n$chart-nav-width: 200px;\n$chart-icon-width: 25px;\n$chart-icon-border: 1px;\n\n$toolbar-height: 30px;\n\n$nav-height: 50px;\n$nav-active-bg: #5470C6;\n$nav-hover-border: $nav-active-bg;\n\n$nav-text-color: #6E7079;\n$nav-hover-text-color: #464646;\n\n$pd-basic: 10px;\n$pd-sm: 6px;\n$pd-lg: 20px;\n\n#example-explore {\n    background: $clr-bg;\n\n    // Use this as scrollable viewport insteadof window because echarts-www has a viewport.\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    overflow-y: auto;\n\n    ::-webkit-scrollbar {\n        height: 4px;\n        width: 4px;\n        -webkit-transition: all 0.3s ease-in-out;\n        transition: all 0.3s ease-in-out;\n        border-radius: 2px;\n        background: #fff;\n    }\n\n    ::-webkit-scrollbar-button {\n        display: none\n    }\n\n    ::-webkit-scrollbar-thumb {\n        width: 4px;\n        min-height: 15px;\n        background: rgba(50, 50, 50, 0.2) !important;\n        -webkit-transition: all 0.3s ease-in-out;\n        transition: all 0.3s ease-in-out;\n        border-radius: 2px\n    }\n\n    ::-webkit-scrollbar-thumb:hover {\n        background: rgba(0, 0, 0, 0.5) !important\n    }\n}\n\n#explore-container {\n    margin-left: $chart-nav-width + 20px;\n    padding: 10px 10px;\n    // background-color: $clr-bg;\n}\n\n.example-list-panel {\n    margin: 30px 15px 30px 15px;\n\n    h3 {\n        margin-bottom: 20px;\n        padding-bottom: 10px;\n        border-bottom: 1px solid #E1E5F2;\n        font-weight: normal;\n        color: #464646;\n        font-size: 20px;\n    }\n    .chart-type-head span {\n        font-size: 16px;\n        padding-left: 5px;\n        color: #949CB1;\n        font-weight: 200;\n    }\n}\n\n#left-container {\n    position: sticky;\n    left: 0;\n    top: 0;\n    float: left;\n    height: calc(100%);\n    width: $chart-nav-width;\n    box-shadow: 0 0 10px rgba(0,0,0,0.1);\n    overflow-y: auto;\n\n}\n\n#toolbar {\n    position: fixed;\n    right: 30px;\n    top: 20px;\n    height: $toolbar-height;\n    background-color: #fff;\n    border-radius: $toolbar-height / 2;\n    // color: #fff;\n    padding: 4px 15px;\n    box-shadow: 0 0 10px rgba(0,0,0,0.1);\n\n    .el-switch__label * {\n        font-size: 12px;\n        // color: #fff;\n        text-transform: uppercase;\n    }\n    .el-switch__label.is-active {\n        color: #181432;\n    }\n}\n\n#left-chart-nav {\n    background-color: #fff;\n    overflow-y: hidden;\n    color: #111;\n    box-shadow: 0 0 20px rgba(0,0,0,0.2);\n\n    &:hover {\n        overflow-y: auto;\n\n        a {\n            text-decoration: none;\n        }\n    }\n\n    li {\n        // transition: background-color 0.5s;\n        cursor: pointer;\n\n        a {\n            height: 45px;\n            padding: 10px 0 10px 20px;\n            display: block;\n            // transition: background-color 0.5s;\n            text-decoration: none;\n            color: $nav-text-color;\n\n            .chart-name {\n                display: inline-block;\n                position: relative;\n                vertical-align: middle;\n                margin-left: 10px;\n            }\n\n            .chart-icon {\n                content: '';\n                width: 20px;\n                display: inline-block;\n                border-radius: 50%;\n                vertical-align: middle;\n\n                svg {\n                    width: 100%!important;\n                    height: auto!important;\n                }\n            }\n\n            &.active {\n                background-color: $nav-active-bg;\n                color: #fff;\n\n                .chart-icon * {\n                    fill: #fff;\n                }\n            }\n\n            &.active:hover {\n                color: #fff;\n            }\n        }\n\n        &:hover {\n            border-right: 4px solid $nav-hover-border;\n\n            a {\n                color: $nav-hover-text-color;\n            }\n        }\n    }\n}\n\n@media (max-width: 768px) {\n    #left-container {\n        display: none;\n    }\n    #explore-container {\n        margin-left: 0;\n    }\n}\n\n</style>","\nexport const EXAMPLE_CATEGORIES = [\n    'line',\n    'bar',\n    'pie',\n    'scatter',\n    'map',\n    'candlestick',\n    'radar',\n    'boxplot',\n    'heatmap',\n    'graph',\n    'lines',\n    'tree',\n    'treemap',\n    'sunburst',\n    'parallel',\n    'sankey',\n    'funnel',\n    'gauge',\n    'pictorialBar',\n    'themeRiver',\n    'calendar',\n    'custom',\n\n    'dataset',\n    'dataZoom',\n    'drag',\n    'rich',\n\n    'globe',\n    'bar3D',\n    'scatter3D',\n    'surface',\n    'map3D',\n    'lines3D',\n    'line3D',\n    'scatterGL',\n    'linesGL',\n    'flowGL',\n    'graphGL'\n];\n\nexport const THEMES = {\n    default: [\n        '#5470c6',\n        '#91cc75',\n        '#fac858',\n        '#ee6666',\n        '#73c0de',\n        '#3ba272',\n        '#fc8452',\n        '#9a60b4',\n        '#ea7ccc'\n    ],\n    dark: [\n        '#4992ff',\n        '#7cffb2',\n        '#fddd60',\n        '#ff6e76',\n        '#58d9f9',\n        '#05c091',\n        '#ff8a45',\n        '#8d48e3',\n        '#dd79ff'\n    ]\n};\n\nexport const BLACK_MAP = (function (list) {\n    const map = {};\n    for (var i = 0; i < list.length; i++) {\n        map[list[i]] = 1;\n    }\n    return location.href.indexOf('github.io') >= 0 ? {} : map;\n})([\n    'effectScatter-map',\n    'geo-lines',\n    'geo-map-scatter',\n    'heatmap-map',\n    'lines-airline',\n    'map-china',\n    'map-china-dataRange',\n    'map-labels',\n    'map-locate',\n    'map-province',\n    'map-world',\n    'map-world-dataRange',\n    'scatter-map',\n    'scatter-map-brush',\n    'scatter-weibo',\n    'scatter-world-population',\n    'geo3d',\n    'geo3d-with-different-height',\n    'globe-country-carousel',\n    'globe-with-echarts-surface',\n    'map3d-alcohol-consumption',\n    'map3d-wood-map',\n    'scattergl-weibo'\n]);\n\n\nconst URL_PARAMS = {};\n(location.search || '').substr(1).split('&').forEach(function (item) {\n    const kv = item.split('=');\n    URL_PARAMS[kv[0]] = kv[1];\n});\n\nexport {URL_PARAMS};\n\nexport const SUPPORT_WEBP = (function () {\n    var elem = document.createElement('canvas');\n    elem.width = elem.height = 1;\n    if (!!(elem.getContext && elem.getContext('2d'))) {\n        // was able or not to get WebP representation\n        return elem.toDataURL('image/webp').indexOf('data:image/webp') === 0;\n    }\n    // very old browser like IE 8, canvas not supported\n    return false;\n})();\n\nexport const SCRIPT_URLS = {\n    localEChartsMinJS: 'http://localhost/echarts/dist/echarts.js',\n    echartsMinJS: 'https://cdn.jsdelivr.net/npm/echarts-nightly@5.1.2-dev.20210512/dist/echarts.min.js',\n    echartsDir: 'https://cdn.jsdelivr.net/npm/echarts-nightly@5.1.2-dev.20210512',\n    echartsStatMinJS: 'https://cdn.jsdelivr.net/npm/echarts-stat@latest/dist/ecStat.min.js',\n    // echartsGLMinJS: 'http://localhost/echarts-gl/dist/echarts-gl.min.js',\n    echartsGLMinJS: 'https://cdn.jsdelivr.net/npm/echarts-gl@2/dist/echarts-gl.min.js',\n    datGUIMinJS: 'https://cdn.jsdelivr.net/npm/dat.gui@0.6.5/build/dat.gui.min.js',\n    monacoDir: 'https://cdn.jsdelivr.net/npm/monaco-editor@0.21.2/min/vs',\n    aceDir: 'https://cdn.jsdelivr.net/npm/ace-builds@1.4.12/src-min-noconflict'\n};\n","\nconst promisesCache = {};\n\nexport function loadScriptsAsync(scripts) {\n    return Promise.all(scripts.map(function (scriptUrl) {\n        if (typeof scriptUrl === 'string') {\n            scriptUrl = {\n                url: scriptUrl,\n                // TODO Not supported type\n                type: scriptUrl.match(/\\.css$/) ? 'css' : 'js'\n            };\n        }\n        if (promisesCache[scriptUrl.url]) {\n            return promisesCache[scriptUrl.url];\n        }\n        const promise = new Promise((resolve, reject) => {\n            if (scriptUrl.type === 'js') {\n                const script = document.createElement('script');\n                script.src = scriptUrl.url;\n                script.async = false;\n                script.onload = function () {\n                    resolve();\n                };\n                script.onerror = function () {\n                    reject();\n                };\n                document.body.appendChild(script);\n            }\n            else if (scriptUrl.type === 'css') {\n                const link = document.createElement('link');\n                link.rel = 'stylesheet';\n                link.href = scriptUrl.url;\n                link.onload = function () {\n                    resolve();\n                };\n                link.onerror = function () {\n                    reject();\n                };\n                document.body.appendChild(link);\n            }\n        });\n        promisesCache[scriptUrl.url] = promise;\n        return promise;\n    }));\n}\n\nexport function downloadBlob(blob, fileName) {\n    // for IE\n    if (typeof window.navigator.msSaveBlob === 'function') {\n        window.navigator.msSaveOrOpenBlob(blob, fileName);\n    }\n    else {\n        const a = document.createElement('a');\n        a.href = URL.createObjectURL(blob);\n        a.download = fileName;\n        a.click();\n        // should revoke the blob url after the download\n        URL.revokeObjectURL(a.href);\n    }\n}","export default {\n    en: {\n        editor: {\n            run: 'Run',\n            errorInEditor: 'Errors exist in code!',\n            chartOK: 'Chart has been generated successfully, ',\n\n            darkMode: 'Dark Mode',\n            enableDecal: 'Decal Pattern',\n            // lightMode: 'Light Mode',\n\n            renderCfgTitle: 'Render',\n            renderer: 'Renderer',\n            useDirtyRect: 'Use Dirty Rect',\n\n            download: 'Download',\n\n            edit: 'Edit',\n            monacoMode: 'Enable Type Checking',\n\n            tabEditor: 'Edit Example',\n            tabFullCodePreview: 'Full Code',\n            tabOptionPreview: 'Option Preview',\n            minimalBundle: 'Minimal Bundle'\n        },\n\n        chartTypes: {\n            line: 'Line',\n            bar: 'Bar',\n            pie: 'Pie',\n            scatter: 'Scatter',\n            map: 'GEO/Map',\n            candlestick: 'Candlestick',\n            radar: 'Radar',\n            boxplot: 'Boxplot',\n            heatmap: 'Heatmap',\n            graph: 'Graph',\n            lines: 'Lines',\n            tree: 'Tree',\n            treemap: 'Treemap',\n            sunburst: 'Sunburst',\n            parallel: 'Parallel',\n            sankey: 'Sankey',\n            funnel: 'Funnel',\n            gauge: 'Gauge',\n            pictorialBar: 'PictorialBar',\n            themeRiver: 'ThemeRiver',\n            calendar: 'Calendar',\n            custom: 'Custom',\n\n            dataset: 'Dataset',\n            dataZoom: 'DataZoom',\n            drag: 'Drag',\n            rich: 'Rich Text',\n\n            globe: '3D Globe',\n            bar3D: '3D Bar',\n            scatter3D: '3D Scatter',\n            surface: '3D Surface',\n            map3D: '3D Map',\n            lines3D: '3D Lines',\n            line3D: '3D Line',\n            scatterGL: 'Scatter GL',\n            linesGL: 'Lines GL',\n            flowGL: 'Flow GL',\n            graphGL: 'Graph GL'\n        }\n    },\n    zh: {\n        editor: {\n            run: '运行',\n            errorInEditor: '编辑器内容有误！',\n            chartOK: '图表已生成, ',\n\n            darkMode: '深色模式',\n            enableDecal: '无障碍花纹',\n            // lightMode: '浅色模式',\n\n            renderCfgTitle: '渲染设置',\n            useDirtyRect: '开启脏矩形优化',\n            renderer: '渲染模式',\n            download: '下载示例',\n\n            edit: '编辑',\n            monacoMode: '开启类型检查',\n\n            tabEditor: '示例编辑',\n            tabFullCodePreview: '完整代码',\n            tabOptionPreview: '配置项',\n            minimalBundle: '按需引入'\n        },\n\n        chartTypes: {\n            line: '折线图',\n            bar: '柱状图',\n            pie: '饼图',\n            scatter: '散点图',\n            map: '地理坐标/地图',\n            candlestick: 'K 线图',\n            radar: '雷达图',\n            boxplot: '盒须图',\n            heatmap: '热力图',\n            graph: '关系图',\n            lines: '路径图',\n            tree: '树图',\n            treemap: '矩形树图',\n            sunburst: '旭日图',\n            parallel: '平行坐标系',\n            sankey: '桑基图',\n            funnel: '漏斗图',\n            gauge: '仪表盘',\n            pictorialBar: '象形柱图',\n            themeRiver: '主题河流图',\n            calendar: '日历坐标系',\n            custom: '自定义系列',\n\n            dataset: '数据集',\n            dataZoom: '数据区域缩放',\n            drag: '拖拽',\n            rich: '富文本',\n\n            globe: '3D 地球',\n            bar3D: '3D 柱状图',\n            scatter3D: '3D 散点图',\n            surface: '3D 曲面',\n            map3D: '3D 地图',\n            lines3D: '3D 路径图',\n            line3D: '3D 折线图',\n            scatterGL: 'GL 散点图',\n            linesGL: 'GL 路径图',\n            flowGL: 'GL 矢量场图',\n            graphGL: 'GL 关系图'\n        }\n    }\n};","\n// import * as matter from 'gray-matter';\nimport {URL_PARAMS} from '../common/config';\n\nexport const store = {\n    cdnRoot: '',\n    version: '',\n    locale: '',\n\n    darkMode: URL_PARAMS.theme === 'dark',\n    enableDecal: 'decal' in URL_PARAMS,\n    renderer: URL_PARAMS.renderer || 'canvas',\n\n    typeCheck: URL_PARAMS.editor === 'monaco',\n    useDirtyRect: 'useDirtyRect' in URL_PARAMS,\n\n    runCode: '',\n    sourceCode: '',\n\n    runHash: '',\n\n    isMobile: window.innerWidth < 600,\n\n    editorStatus: {\n        type: '',\n        message: ''\n    }\n};\n\nexport function loadExampleCode() {\n    return new Promise(resolve => {\n        const dataRoot = URL_PARAMS.gl ? 'data-gl' : 'data';\n        $.ajax(`${store.cdnRoot}/${dataRoot}/${URL_PARAMS.c}.js?_v_${store.version}`, {\n            dataType: 'text',\n            success: (data) => {\n                resolve(data);\n            }\n        });\n    });\n}\n\nexport function parseSourceCode(code) {\n    return code.replace(/\\/\\*[\\w\\W]*?\\*\\//, '').trim();\n}\n\nlet hashId = 123;\nexport function updateRunHash() {\n    store.runHash = hashId++;\n}","\n/* eslint-disable */\n// THIS FILE IS GENERATED, DON'T MODIFY */\nexport default [\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"animating-contour-on-globe\",\n    \"tags\": [],\n    \"title\": \"Animating Contour on Globe\",\n    \"titleCN\": \"Animating Contour on Globe\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"bar3d-dataset\",\n    \"tags\": [],\n    \"title\": \"3D Bar with Dataset\",\n    \"titleCN\": \"使用 dataset 为三维柱状图设置数据\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"bar3d-global-population\",\n    \"tags\": [],\n    \"title\": \"Bar3D - Global Population\",\n    \"titleCN\": \"Bar3D - Global Population\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"bar3d-myth\",\n    \"tags\": [],\n    \"title\": \"星云\",\n    \"titleCN\": \"星云\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"bar3d-noise-modified-from-marpi-demo\",\n    \"tags\": [],\n    \"title\": \"Noise modified from marpi's demo\",\n    \"titleCN\": \"Noise modified from marpi's demo\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"bar3d-punch-card\",\n    \"tags\": [],\n    \"title\": \"Bar3D - Punch Card\",\n    \"titleCN\": \"Bar3D - Punch Card\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"bar3d-simplex-noise\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"Bar3D - Simplex Noise\",\n    \"titleCN\": \"Bar3D - Simplex Noise\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"bar3d-voxelize-image\",\n    \"tags\": [],\n    \"title\": \"Voxelize image\",\n    \"titleCN\": \"Voxelize image\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"flowGL\"\n    ],\n    \"id\": \"flowGL-noise\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"Flow on the cartesian\",\n    \"titleCN\": \"直角坐标系上的向量场\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"geo3D\"\n    ],\n    \"id\": \"geo3d\",\n    \"tags\": [],\n    \"title\": \"Geo3D\",\n    \"titleCN\": \"Geo3D\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"geo3D\"\n    ],\n    \"id\": \"geo3d-with-different-height\",\n    \"tags\": [],\n    \"title\": \"Geo3D with Different Height\",\n    \"titleCN\": \"Geo3D with Different Height\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"global-population-bar3d-on-globe\",\n    \"tags\": [],\n    \"title\": \"Global Population - Bar3D on Globe\",\n    \"titleCN\": \"Global Population - Bar3D on Globe\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"flowGL\"\n    ],\n    \"id\": \"global-wind-visualization\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"Global wind visualization\",\n    \"titleCN\": \"Global wind visualization\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"flowGL\"\n    ],\n    \"id\": \"global-wind-visualization-2\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"Global Wind Visualization 2\",\n    \"titleCN\": \"Global Wind Visualization 2\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"globe-atmosphere\",\n    \"tags\": [],\n    \"title\": \"Globe with Atmosphere\",\n    \"titleCN\": \"大气层显示\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"globe-contour-paint\",\n    \"tags\": [],\n    \"title\": \"Contour Paint\",\n    \"titleCN\": \"Contour Paint\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"globe-country-carousel\",\n    \"tags\": [],\n    \"title\": \"Country Carousel\",\n    \"titleCN\": \"Country Carousel\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"globe-displacement\",\n    \"tags\": [],\n    \"title\": \"Globe Displacement\",\n    \"titleCN\": \"Globe Displacement\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"globe-echarts-gl-hello-world\",\n    \"tags\": [],\n    \"title\": \"ECharts-GL Hello World\",\n    \"titleCN\": \"ECharts-GL Hello World\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"globe-layers\",\n    \"tags\": [],\n    \"title\": \"Globe Layers\",\n    \"titleCN\": \"Globe Layers\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"globe-moon\",\n    \"tags\": [],\n    \"title\": \"Moon\",\n    \"titleCN\": \"Moon\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"globe-with-echarts-surface\",\n    \"tags\": [],\n    \"title\": \"Globe with ECharts Surface\",\n    \"titleCN\": \"Globe with ECharts Surface\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"graphGL\"\n    ],\n    \"id\": \"graphgl-gpu-layout\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"GraphGL GPU Layout\",\n    \"titleCN\": \"GraphGL GPU Layout\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"graphGL\"\n    ],\n    \"id\": \"graphgl-large-internet\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"GraphGL - Large Internet\",\n    \"titleCN\": \"GraphGL - Large Internet\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"graphGL\"\n    ],\n    \"id\": \"graphgl-npm-dep\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"NPM Dependencies with graphGL\",\n    \"titleCN\": \"1w 节点 2w7 边的NPM 依赖图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"image-surface-sushuang\",\n    \"tags\": [],\n    \"title\": \"Image Surface Sushuang\",\n    \"titleCN\": \"Image Surface Sushuang\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"image-to-bar3d\",\n    \"tags\": [],\n    \"title\": \"Image to Bar3D\",\n    \"titleCN\": \"Image to Bar3D\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"iron-globe\",\n    \"tags\": [],\n    \"title\": \"Iron globe\",\n    \"titleCN\": \"Iron globe\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"line3D\"\n    ],\n    \"id\": \"line3d-orthographic\",\n    \"tags\": [],\n    \"title\": \"三维折线图正交投影\",\n    \"titleCN\": \"三维折线图正交投影\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"lines3D\"\n    ],\n    \"id\": \"lines3d-airline-on-globe\",\n    \"tags\": [],\n    \"title\": \"Airline on Globe\",\n    \"titleCN\": \"Airline on Globe\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"lines3D\"\n    ],\n    \"id\": \"lines3d-flights\",\n    \"tags\": [],\n    \"title\": \"Flights\",\n    \"titleCN\": \"Flights\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"lines3D\"\n    ],\n    \"id\": \"lines3d-flights-gl\",\n    \"tags\": [],\n    \"title\": \"Flights GL\",\n    \"titleCN\": \"Flights GL\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"lines3D\"\n    ],\n    \"id\": \"lines3d-flights-on-geo3d\",\n    \"tags\": [],\n    \"title\": \"Flights on Geo3D\",\n    \"titleCN\": \"Flights on Geo3D\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"linesGL\"\n    ],\n    \"id\": \"linesGL-ny\",\n    \"tags\": [],\n    \"title\": \"Use linesGL to draw 1 million ny streets.\",\n    \"titleCN\": \"实时交互的纽约街道可视化\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map3D\"\n    ],\n    \"id\": \"map3d-alcohol-consumption\",\n    \"tags\": [],\n    \"title\": \"Map3D - Alcohol Consumption\",\n    \"titleCN\": \"Map3D - Alcohol Consumption\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map3D\"\n    ],\n    \"id\": \"map3d-buildings\",\n    \"tags\": [],\n    \"title\": \"Buildings\",\n    \"titleCN\": \"Buildings\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map3D\"\n    ],\n    \"id\": \"map3d-wood-city\",\n    \"tags\": [],\n    \"title\": \"Wood City\",\n    \"titleCN\": \"Wood City\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map3D\"\n    ],\n    \"id\": \"map3d-wood-map\",\n    \"tags\": [],\n    \"title\": \"木质世界地图\",\n    \"titleCN\": \"木质世界地图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"metal-bar3d\",\n    \"tags\": [],\n    \"title\": \"Metal Bar3D\",\n    \"titleCN\": \"Metal Bar3D\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"metal-surface\",\n    \"tags\": [],\n    \"title\": \"Metal Surface\",\n    \"titleCN\": \"Metal Surface\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"parametric-surface-rose\",\n    \"tags\": [],\n    \"title\": \"Parametric Surface Rose\",\n    \"titleCN\": \"Parametric Surface Rose\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter3D\"\n    ],\n    \"id\": \"scatter3d\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"Scatter3D\",\n    \"titleCN\": \"Scatter3D\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter3D\"\n    ],\n    \"id\": \"scatter3D-dataset\",\n    \"tags\": [],\n    \"title\": \"3D Scatter with Dataset\",\n    \"titleCN\": \"使用 dataset 为三维散点图设置数据\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter3D\"\n    ],\n    \"id\": \"scatter3d-globe-population\",\n    \"tags\": [],\n    \"title\": \"Scatter3D - Globe Population\",\n    \"titleCN\": \"Scatter3D - Globe Population\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter3D\"\n    ],\n    \"id\": \"scatter3d-orthographic\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"三维散点图正交投影\",\n    \"titleCN\": \"三维散点图正交投影\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter3D\"\n    ],\n    \"id\": \"scatter3d-scatter\",\n    \"tags\": [],\n    \"title\": \"3D Scatter with Scatter Matrix\",\n    \"titleCN\": \"三维散点图和散点矩阵结合使用\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter3D\"\n    ],\n    \"id\": \"scatter3d-simplex-noise\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"Scatter3D - Simplex Noise\",\n    \"titleCN\": \"Scatter3D - Simplex Noise\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatterGL\"\n    ],\n    \"id\": \"scatterGL-gps\",\n    \"tags\": [],\n    \"title\": \"10 million Bulk GPS points\",\n    \"titleCN\": \"1 千万 GPS 点可视化\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatterGL\"\n    ],\n    \"id\": \"scattergl-weibo\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"微博签到数据点亮中国\",\n    \"titleCN\": \"微博签到数据点亮中国\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"simple-surface\",\n    \"tags\": [],\n    \"title\": \"Simple Surface\",\n    \"titleCN\": \"Simple Surface\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"sphere-parametric-surface\",\n    \"tags\": [],\n    \"title\": \"Sphere Parametric Surface\",\n    \"titleCN\": \"Sphere Parametric Surface\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"stacked-bar3d\",\n    \"tags\": [],\n    \"title\": \"Stacked Bar3D\",\n    \"titleCN\": \"Stacked Bar3D\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"surface-breather\",\n    \"tags\": [],\n    \"title\": \"Breather\",\n    \"titleCN\": \"Breather\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"surface-golden-rose\",\n    \"tags\": [],\n    \"title\": \"Golden Rose\",\n    \"titleCN\": \"Golden Rose\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"surface-leather\",\n    \"tags\": [],\n    \"title\": \"皮革材质\",\n    \"titleCN\": \"皮革材质\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"surface-mollusc-shell\",\n    \"tags\": [],\n    \"title\": \"Mollusc Shell\",\n    \"titleCN\": \"Mollusc Shell\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"surface-theme-roses\",\n    \"tags\": [],\n    \"title\": \"Theme Roses\",\n    \"titleCN\": \"Theme Roses\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"surface-wave\",\n    \"tags\": [],\n    \"title\": \"Surface Wave\",\n    \"titleCN\": \"Surface Wave\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"transparent-bar3d\",\n    \"tags\": [],\n    \"title\": \"Transparent Bar3D\",\n    \"titleCN\": \"Transparent Bar3D\",\n    \"difficulty\": 10\n  }\n]","\n/* eslint-disable */\n// THIS FILE IS GENERATED, DON'T MODIFY */\nexport default [\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-background\",\n    \"tags\": [],\n    \"title\": \"Bar with Background\",\n    \"titleCN\": \"带背景色的柱状图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"bar-histogram\",\n    \"tags\": [],\n    \"title\": \"Histogram with Custom Series\",\n    \"titleCN\": \"直方图（自定义系列）\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-simple\",\n    \"tags\": [],\n    \"title\": \"Basic Bar\",\n    \"titleCN\": \"基础柱状图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-tick-align\",\n    \"tags\": [],\n    \"title\": \"Axis Align with Tick\",\n    \"titleCN\": \"坐标轴刻度与标签对齐\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"calendar\"\n    ],\n    \"id\": \"calendar-simple\",\n    \"tags\": [],\n    \"title\": \"Simple Calendar\",\n    \"titleCN\": \"基础日历图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"candlestick\"\n    ],\n    \"id\": \"candlestick-simple\",\n    \"tags\": [],\n    \"title\": \"Basic Candlestick\",\n    \"titleCN\": \"基础 K 线图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"dataset\",\n      \"bar\",\n      \"transform\"\n    ],\n    \"id\": \"data-transform-sort-bar\",\n    \"tags\": [],\n    \"title\": \"Sort Data in Bar Chart\",\n    \"titleCN\": \"柱状图排序\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"heatmap\"\n    ],\n    \"id\": \"heatmap-cartesian\",\n    \"tags\": [],\n    \"title\": \"Heatmap on Cartesian\",\n    \"titleCN\": \"笛卡尔坐标系上的热力图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-simple\",\n    \"tags\": [],\n    \"title\": \"Basic Line Chart\",\n    \"titleCN\": \"基础折线图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-smooth\",\n    \"tags\": [],\n    \"title\": \"Smoothed Line Chart\",\n    \"titleCN\": \"基础平滑折线图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-simple\",\n    \"tags\": [],\n    \"title\": \"Referer of a website\",\n    \"titleCN\": \"某站点用户访问来源\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"radar\"\n    ],\n    \"id\": \"radar\",\n    \"tags\": [],\n    \"title\": \"Basic Radar Chart\",\n    \"titleCN\": \"基础雷达图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"sankey\"\n    ],\n    \"id\": \"sankey-simple\",\n    \"tags\": [],\n    \"title\": \"Basic Sankey\",\n    \"titleCN\": \"基础桑基图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-simple\",\n    \"tags\": [],\n    \"title\": \"Basic Scatter Chart\",\n    \"titleCN\": \"基础散点图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"area-basic\",\n    \"tags\": [],\n    \"title\": \"Basic area chart\",\n    \"titleCN\": \"基础面积图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-data-color\",\n    \"tags\": [],\n    \"title\": \"Set Style of Single Bar.\",\n    \"titleCN\": \"自定义单个柱子颜色\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-waterfall\",\n    \"tags\": [],\n    \"title\": \"Waterfall Chart\",\n    \"titleCN\": \"瀑布图（柱状图模拟）\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"calendar\",\n      \"heatmap\"\n    ],\n    \"id\": \"calendar-heatmap\",\n    \"tags\": [],\n    \"title\": \"Calendar Heatmap\",\n    \"titleCN\": \"日历热力图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"calendar\",\n      \"heatmap\"\n    ],\n    \"id\": \"calendar-vertical\",\n    \"tags\": [],\n    \"title\": \"Calendar Heatmap Vertical\",\n    \"titleCN\": \"纵向日历图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"candlestick\"\n    ],\n    \"id\": \"custom-ohlc\",\n    \"tags\": [],\n    \"title\": \"OHLC Chart\",\n    \"titleCN\": \"OHLC 图（使用自定义系列）\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-profit\",\n    \"tags\": [],\n    \"title\": \"Profit\",\n    \"titleCN\": \"利润分布直方图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"dataset\",\n      \"bar\"\n    ],\n    \"id\": \"dataset-encode0\",\n    \"tags\": [],\n    \"title\": \"Simple Encode\",\n    \"titleCN\": \"指定数据到坐标轴的映射\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge\",\n    \"tags\": [],\n    \"title\": \"Gauge Basic chart\",\n    \"titleCN\": \"基础仪表盘\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-simple\",\n    \"tags\": [],\n    \"title\": \"Simple Gauge\",\n    \"titleCN\": \"带标签数字动画的基础仪表盘\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-force2\",\n    \"tags\": [],\n    \"title\": \"Force Layout\",\n    \"titleCN\": \"力引导布局\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-stack\",\n    \"tags\": [],\n    \"title\": \"Stacked Line Chart\",\n    \"titleCN\": \"折线图堆叠\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"parallel\"\n    ],\n    \"id\": \"parallel-simple\",\n    \"tags\": [],\n    \"title\": \"Basic Parallel\",\n    \"titleCN\": \"基础平行坐标\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-borderRadius\",\n    \"tags\": [],\n    \"title\": \"Doughnut Chart with Rounded Corner\",\n    \"titleCN\": \"圆角环形图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-doughnut\",\n    \"tags\": [],\n    \"title\": \"Doughnut Chart\",\n    \"titleCN\": \"环形图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"radar\"\n    ],\n    \"id\": \"radar-aqi\",\n    \"tags\": [],\n    \"title\": \"AQI - Radar Chart\",\n    \"titleCN\": \"AQI - 雷达图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"sankey\"\n    ],\n    \"id\": \"sankey-vertical\",\n    \"tags\": [],\n    \"title\": \"Sankey Orient Vertical\",\n    \"titleCN\": \"垂直方向的桑基图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-anscombe-quartet\",\n    \"tags\": [],\n    \"title\": \"Anscomb's quartet\",\n    \"titleCN\": \"Anscomb's quartet\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-clustering\",\n    \"tags\": [],\n    \"title\": \"Clustering Process\",\n    \"titleCN\": \"数据聚合\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-clustering-process\",\n    \"tags\": [],\n    \"title\": \"Clustering Process\",\n    \"titleCN\": \"聚合过程可视化\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-exponential-regression\",\n    \"tags\": [],\n    \"title\": \"Exponential Regression\",\n    \"titleCN\": \"指数回归（使用统计插件）\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"sunburst\"\n    ],\n    \"id\": \"sunburst-simple\",\n    \"tags\": [],\n    \"title\": \"Basic Sunburst\",\n    \"titleCN\": \"基础旭日图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"area-stack\",\n    \"tags\": [],\n    \"title\": \"Stacked area chart\",\n    \"titleCN\": \"堆叠面积图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"area-stack-gradient\",\n    \"tags\": [],\n    \"title\": \"Gradient Stacked area chart\",\n    \"titleCN\": \"渐变堆叠面积图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-negative2\",\n    \"tags\": [],\n    \"title\": \"Bar Chart with Negative Value\",\n    \"titleCN\": \"交错正负轴标签\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-y-category\",\n    \"tags\": [],\n    \"title\": \"World Total Population\",\n    \"titleCN\": \"世界人口总量 - 条形图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"calendar\"\n    ],\n    \"id\": \"calendar-horizontal\",\n    \"tags\": [],\n    \"title\": \"Calendar Heatmap Horizontal\",\n    \"titleCN\": \"横向日力图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"candlestick\"\n    ],\n    \"id\": \"candlestick-sh\",\n    \"tags\": [],\n    \"title\": \"ShangHai Index\",\n    \"titleCN\": \"上证指数\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"custom\",\n      \"dataZoom\"\n    ],\n    \"id\": \"custom-error-scatter\",\n    \"tags\": [],\n    \"title\": \"Error Scatter on Catesian\",\n    \"titleCN\": \"使用自定系列给散点图添加误差范围\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"effectScatter-map\",\n    \"tags\": [],\n    \"title\": \"Air Quality\",\n    \"titleCN\": \"全国主要城市空气质量\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-speed\",\n    \"tags\": [],\n    \"title\": \"Speed Gauge\",\n    \"titleCN\": \"速度仪表盘\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-grid\",\n    \"tags\": [],\n    \"title\": \"Graph on Cartesian\",\n    \"titleCN\": \"笛卡尔坐标系上的 Graph\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-simple\",\n    \"tags\": [],\n    \"title\": \"Simple Graph\",\n    \"titleCN\": \"Graph 简单示例\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"heatmap\"\n    ],\n    \"id\": \"heatmap-large\",\n    \"tags\": [],\n    \"title\": \"Heatmap - 2w data\",\n    \"titleCN\": \"热力图 - 2w 数据\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"heatmap\"\n    ],\n    \"id\": \"heatmap-large-piecewise\",\n    \"tags\": [],\n    \"title\": \"Heatmap - Discrete Mapping of Color\",\n    \"titleCN\": \"热力图 - 颜色的离散映射\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-marker\",\n    \"tags\": [],\n    \"title\": \"Temperature Change in the coming week\",\n    \"titleCN\": \"未来一周气温变化\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"parallel\"\n    ],\n    \"id\": \"parallel-aqi\",\n    \"tags\": [],\n    \"title\": \"Parallel Aqi\",\n    \"titleCN\": \"AQI 分布（平行坐标）\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-custom\",\n    \"tags\": [],\n    \"title\": \"Customized Pie\",\n    \"titleCN\": \"饼图自定义样式\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-pattern\",\n    \"tags\": [],\n    \"title\": \"Texture on Pie Chart\",\n    \"titleCN\": \"饼图纹理\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-roseType\",\n    \"tags\": [],\n    \"title\": \"Nightingale's Rose Diagram\",\n    \"titleCN\": \"南丁格尔玫瑰图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-roseType-simple\",\n    \"tags\": [],\n    \"title\": \"Nightingale's Rose Diagram\",\n    \"titleCN\": \"基础南丁格尔玫瑰图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"radar\"\n    ],\n    \"id\": \"radar-custom\",\n    \"tags\": [],\n    \"title\": \"Customized Radar Chart\",\n    \"titleCN\": \"自定义雷达图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"sankey\"\n    ],\n    \"id\": \"sankey-itemstyle\",\n    \"tags\": [],\n    \"title\": \"Specify ItemStyle for Each Node in Sankey\",\n    \"titleCN\": \"桑基图节点自定义样式\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"sankey\"\n    ],\n    \"id\": \"sankey-levels\",\n    \"tags\": [],\n    \"title\": \"Sankey with Levels Setting\",\n    \"titleCN\": \"桑基图层级自定义样式\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-effect\",\n    \"tags\": [],\n    \"title\": \"Effect Scatter Chart\",\n    \"titleCN\": \"涟漪特效散点图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-linear-regression\",\n    \"tags\": [],\n    \"title\": \"Linear Regression\",\n    \"titleCN\": \"线性回归（使用统计插件）\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-polynomial-regression\",\n    \"tags\": [],\n    \"title\": \"Polynomial Regression\",\n    \"titleCN\": \"多项式回归（使用统计插件）\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"sunburst\"\n    ],\n    \"id\": \"sunburst-borderRadius\",\n    \"tags\": [],\n    \"title\": \"Sunburst with Rounded Corner\",\n    \"titleCN\": \"圆角旭日图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"sunburst\"\n    ],\n    \"id\": \"sunburst-label-rotate\",\n    \"tags\": [],\n    \"title\": \"Sunburst Label Rotate\",\n    \"titleCN\": \"旭日图标签旋转\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"line\",\n      \"visualMap\"\n    ],\n    \"id\": \"area-pieces\",\n    \"tags\": [],\n    \"title\": \"Area Pieces\",\n    \"titleCN\": \"折线图区域高亮\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-gradient\",\n    \"tags\": [],\n    \"title\": \"Clickable Column Chart with Gradient\",\n    \"titleCN\": \"特性示例：渐变色 阴影 点击缩放\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-label-rotation\",\n    \"tags\": [],\n    \"title\": \"Bar Label Rotation\",\n    \"titleCN\": \"柱状图标签旋转\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-stack\",\n    \"tags\": [],\n    \"title\": \"Stacked Column Chart\",\n    \"titleCN\": \"堆叠柱状图\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-waterfall2\",\n    \"tags\": [],\n    \"title\": \"Waterfall Chart\",\n    \"titleCN\": \"阶梯瀑布图（柱状图模拟）\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-y-category-stack\",\n    \"tags\": [],\n    \"title\": \"Stacked Horizontal Bar\",\n    \"titleCN\": \"堆叠条形图\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"candlestick\"\n    ],\n    \"id\": \"candlestick-large\",\n    \"tags\": [],\n    \"title\": \"Large Scale Candlestick\",\n    \"titleCN\": \"大数据量K线图\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-bar-trend\",\n    \"tags\": [],\n    \"title\": \"Custom Bar Trend\",\n    \"titleCN\": \"使用自定义系列添加柱状图趋势\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-cartesian-polygon\",\n    \"tags\": [],\n    \"title\": \"Custom Cartesian Polygon\",\n    \"titleCN\": \"自定义多边形图\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-error-bar\",\n    \"tags\": [],\n    \"title\": \"Error Bar on Catesian\",\n    \"titleCN\": \"使用自定系列给柱状图添加误差范围\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-profile\",\n    \"tags\": [],\n    \"title\": \"Profile\",\n    \"titleCN\": \"性能分析图\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"cycle-plot\",\n    \"tags\": [],\n    \"title\": \"Cycle Plot\",\n    \"titleCN\": \"Cycle Plot\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"data-transform-filter\",\n    \"tags\": [],\n    \"title\": \"Data Transform Fitler\",\n    \"titleCN\": \"数据过滤\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"dataset\",\n      \"pie\",\n      \"transform\"\n    ],\n    \"id\": \"data-transform-multiple-pie\",\n    \"tags\": [],\n    \"title\": \"Partition Data to Pies\",\n    \"titleCN\": \"分割数据到数个饼图\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"dataset\",\n      \"pie\"\n    ],\n    \"id\": \"dataset-default\",\n    \"tags\": [],\n    \"title\": \"Default arrangement\",\n    \"titleCN\": \"默认 encode 设置\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"dataset\"\n    ],\n    \"id\": \"dataset-encode1\",\n    \"tags\": [],\n    \"title\": \"Encode and Matrix\",\n    \"titleCN\": \"指定数据到坐标轴的映射\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-progress\",\n    \"tags\": [],\n    \"title\": \"Grogress Gauge\",\n    \"titleCN\": \"进度仪表盘\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-stage\",\n    \"tags\": [],\n    \"title\": \"Stage Speed Gauge\",\n    \"titleCN\": \"阶段速度仪表盘\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-force\",\n    \"tags\": [],\n    \"title\": \"Force Layout\",\n    \"titleCN\": \"力引导布局\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-label-overlap\",\n    \"tags\": [],\n    \"title\": \"Hide Overlapped Label\",\n    \"titleCN\": \"关系图自动隐藏重叠标签\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"heatmap\"\n    ],\n    \"id\": \"heatmap-bmap\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"Heatmap on Baidu Map Extension\",\n    \"titleCN\": \"热力图与百度地图扩展\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"heatmap\"\n    ],\n    \"id\": \"heatmap-map\",\n    \"tags\": [],\n    \"title\": \"Air Qulity\",\n    \"titleCN\": \"全国主要城市空气质量\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-gradient\",\n    \"tags\": [],\n    \"title\": \"Line Gradient\",\n    \"titleCN\": \"折线图的渐变\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-sections\",\n    \"tags\": [],\n    \"title\": \"Distribution of Electricity\",\n    \"titleCN\": \"一天用电量分布\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-alignTo\",\n    \"tags\": [],\n    \"title\": \"Pie Label Align\",\n    \"titleCN\": \"饼图标签对齐\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-labelLine-adjust\",\n    \"tags\": [],\n    \"title\": \"Label Line Adjust\",\n    \"titleCN\": \"饼图引导线调整\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"radar\"\n    ],\n    \"id\": \"radar2\",\n    \"tags\": [],\n    \"title\": \"Proportion of Browsers\",\n    \"titleCN\": \"浏览器占比变化\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"sankey\"\n    ],\n    \"id\": \"sankey-energy\",\n    \"tags\": [],\n    \"title\": \"Gradient Edge\",\n    \"titleCN\": \"桑基图渐变色边\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"sankey\"\n    ],\n    \"id\": \"sankey-nodeAlign-left\",\n    \"tags\": [],\n    \"title\": \"Node Align Left in Sankey\",\n    \"titleCN\": \"桑基图左对齐布局\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"sankey\"\n    ],\n    \"id\": \"sankey-nodeAlign-right\",\n    \"tags\": [],\n    \"title\": \"Node Align Right in Sankey\",\n    \"titleCN\": \"桑基图右对齐布局\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-punchCard\",\n    \"tags\": [],\n    \"title\": \"Punch Card of Github\",\n    \"titleCN\": \"GitHub 打卡气泡图\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-single-axis\",\n    \"tags\": [],\n    \"title\": \"Scatter on Single Axis\",\n    \"titleCN\": \"单轴散点图\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-weight\",\n    \"tags\": [],\n    \"title\": \"Distribution of Height and Weight\",\n    \"titleCN\": \"男性女性身高体重分布\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"sunburst\"\n    ],\n    \"id\": \"sunburst-monochrome\",\n    \"tags\": [],\n    \"title\": \"Monochrome Sunburst\",\n    \"titleCN\": \"Monochrome Sunburst\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"line\",\n      \"dataZoom\"\n    ],\n    \"id\": \"area-simple\",\n    \"tags\": [],\n    \"title\": \"Large scale area chart\",\n    \"titleCN\": \"大数据量面积图\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-brush\",\n    \"tags\": [],\n    \"title\": \"Brush Select on Column Chart\",\n    \"titleCN\": \"柱状图框选\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-negative\",\n    \"tags\": [],\n    \"title\": \"Bar Chart with Negative Value\",\n    \"titleCN\": \"正负条形图\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar1\",\n    \"tags\": [],\n    \"title\": \"Rainfall and Evaporation\",\n    \"titleCN\": \"某地区蒸发量和降水量\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"calendar\",\n      \"graph\"\n    ],\n    \"id\": \"calendar-graph\",\n    \"tags\": [],\n    \"title\": \"Calendar Graph\",\n    \"titleCN\": \"日历关系图\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"calendar\"\n    ],\n    \"id\": \"calendar-lunar\",\n    \"tags\": [],\n    \"title\": \"Calendar Lunar\",\n    \"titleCN\": \"农历日历图\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"candlestick\"\n    ],\n    \"id\": \"candlestick-touch\",\n    \"tags\": [],\n    \"title\": \"Axis Pointer Link and Touch\",\n    \"titleCN\": \"触屏上的坐标轴指示器\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"confidence-band\",\n    \"tags\": [],\n    \"title\": \"Confidence Band\",\n    \"titleCN\": \"Confidence Band\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"custom\",\n      \"dataZoom\",\n      \"drag\"\n    ],\n    \"id\": \"custom-gantt-flight\",\n    \"tags\": [],\n    \"title\": \"Gantt Chart of Airport Flights\",\n    \"titleCN\": \"机场航班甘特图\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-polar-heatmap\",\n    \"tags\": [],\n    \"title\": \"Polar Heatmap\",\n    \"titleCN\": \"极坐标热力图（自定义系列）\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"boxplot\"\n    ],\n    \"id\": \"data-transform-aggregate\",\n    \"tags\": [],\n    \"title\": \"Data Transform Simple Aggregate\",\n    \"titleCN\": \"简单的数据聚合\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-grade\",\n    \"tags\": [],\n    \"title\": \"Grade Gauge\",\n    \"titleCN\": \"等级仪表盘\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-multi-title\",\n    \"tags\": [],\n    \"title\": \"Multi Title Gauge\",\n    \"titleCN\": \"多标题仪表盘\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-temperature\",\n    \"tags\": [],\n    \"title\": \"Temperature Gauge chart\",\n    \"titleCN\": \"气温仪表盘\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph\",\n    \"tags\": [],\n    \"title\": \"Les Miserables\",\n    \"titleCN\": \"悲惨世界人物关系图\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"grid-multiple\",\n    \"tags\": [],\n    \"title\": \"Rainfall and Water Flow\",\n    \"titleCN\": \"雨量流量关系图\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-aqi\",\n    \"tags\": [],\n    \"title\": \"Beijing AQI\",\n    \"titleCN\": \"北京 AQI 可视化\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"mix-line-bar\",\n    \"tags\": [],\n    \"title\": \"Mixed Line and Bar\",\n    \"titleCN\": \"折柱混合\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"mix-zoom-on-value\",\n    \"tags\": [],\n    \"title\": \"Mix Zoom On Value\",\n    \"titleCN\": \"多数值轴轴缩放\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"multiple-x-axis\",\n    \"tags\": [],\n    \"title\": \"Multiple X Axes\",\n    \"titleCN\": \"多 X 轴\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"multiple-y-axis\",\n    \"tags\": [],\n    \"title\": \"Multiple Y Axes\",\n    \"titleCN\": \"多 Y 轴示例\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"parallel\"\n    ],\n    \"id\": \"parallel-nutrients\",\n    \"tags\": [],\n    \"title\": \"Parallel Nutrients\",\n    \"titleCN\": \"营养结构（平行坐标）\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-legend\",\n    \"tags\": [],\n    \"title\": \"Pie with Scrollable Legend\",\n    \"titleCN\": \"可滚动的图例\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"pie\",\n      \"rich\"\n    ],\n    \"id\": \"pie-rich-text\",\n    \"tags\": [],\n    \"title\": \"Pie Special Label\",\n    \"titleCN\": \"富文本标签\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-label-align-right\",\n    \"tags\": [],\n    \"title\": \"Align Label on the Top\",\n    \"titleCN\": \"散点图标签顶部对齐\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-label-align-top\",\n    \"tags\": [],\n    \"title\": \"Align Label on the Top\",\n    \"titleCN\": \"散点图标签顶部对齐\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"sunburst\"\n    ],\n    \"id\": \"sunburst-visualMap\",\n    \"tags\": [],\n    \"title\": \"Sunburst VisualMap\",\n    \"titleCN\": \"旭日图使用视觉编码\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"area-rainfall\",\n    \"tags\": [],\n    \"title\": \"Rainfall\",\n    \"titleCN\": \"雨量流量关系图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"area-time-axis\",\n    \"tags\": [],\n    \"title\": \"Area Chart with Time Axis\",\n    \"titleCN\": \"时间轴折线图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-animation-delay\",\n    \"tags\": [],\n    \"title\": \"Animation Delay\",\n    \"titleCN\": \"柱状图动画延迟\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-large\",\n    \"tags\": [],\n    \"title\": \"Large Scale Bar Chart\",\n    \"titleCN\": \"大数据量柱图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-race\",\n    \"tags\": [],\n    \"title\": \"Bar Race\",\n    \"titleCN\": \"动态排序柱状图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"dataset\",\n      \"line\",\n      \"pie\"\n    ],\n    \"id\": \"dataset-link\",\n    \"tags\": [],\n    \"title\": \"Share Dataset\",\n    \"titleCN\": \"联动和共享数据集\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"dataset\",\n      \"bar\"\n    ],\n    \"id\": \"dataset-series-layout-by\",\n    \"tags\": [],\n    \"title\": \"Series Layout By Column or Row\",\n    \"titleCN\": \"系列按行和按列排布\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"dataset\",\n      \"bar\"\n    ],\n    \"id\": \"dataset-simple0\",\n    \"tags\": [],\n    \"title\": \"Simple Example of Dataset\",\n    \"titleCN\": \"最简单的数据集（dataset）\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"dataset\",\n      \"bar\"\n    ],\n    \"id\": \"dataset-simple1\",\n    \"tags\": [],\n    \"title\": \"Dataset in Object Array\",\n    \"titleCN\": \"对象数组的输入格式\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"dynamic-data2\",\n    \"tags\": [],\n    \"title\": \"Dynamic Data + Time Axis\",\n    \"titleCN\": \"动态数据 + 时间坐标轴\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-ring\",\n    \"tags\": [],\n    \"title\": \"Ring Gauge\",\n    \"titleCN\": \"得分环\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-circular-layout\",\n    \"tags\": [],\n    \"title\": \"Les Miserables\",\n    \"titleCN\": \"悲惨世界人物关系图(环形布局)\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-function\",\n    \"tags\": [],\n    \"title\": \"Function Plot\",\n    \"titleCN\": \"函数绘图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-race\",\n    \"tags\": [],\n    \"title\": \"Line Race\",\n    \"titleCN\": \"动态排序折线图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"pie\",\n      \"rich\"\n    ],\n    \"id\": \"pie-nest\",\n    \"tags\": [],\n    \"title\": \"Nested Pies\",\n    \"titleCN\": \"嵌套环形图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-large\",\n    \"tags\": [],\n    \"title\": \"Large Scatter\",\n    \"titleCN\": \"大规模散点图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-nebula\",\n    \"tags\": [],\n    \"title\": \"Scatter Nebula\",\n    \"titleCN\": \"大规模星云散点图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-stream-visual\",\n    \"tags\": [],\n    \"title\": \"Visual interaction with stream\",\n    \"titleCN\": \"流式渲染和视觉映射操作\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"sunburst\"\n    ],\n    \"id\": \"sunburst-drink\",\n    \"tags\": [],\n    \"title\": \"Drink Flavors\",\n    \"titleCN\": \"Drink Flavors\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"custom\",\n      \"dataZoom\"\n    ],\n    \"id\": \"wind-barb\",\n    \"tags\": [],\n    \"title\": \"Wind Barb\",\n    \"titleCN\": \"风向图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-race-country\",\n    \"tags\": [],\n    \"title\": \"Bar Race\",\n    \"titleCN\": \"动态排序柱状图 - 人均收入\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"bar\",\n      \"rich\"\n    ],\n    \"id\": \"bar-rich-text\",\n    \"tags\": [],\n    \"title\": \"Wheater Statistics\",\n    \"titleCN\": \"天气统计（富文本）\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"bubble-gradient\",\n    \"tags\": [],\n    \"title\": \"Bubble Chart\",\n    \"titleCN\": \"气泡图\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"calendar\",\n      \"pie\"\n    ],\n    \"id\": \"calendar-pie\",\n    \"tags\": [],\n    \"title\": \"Calendar Pie\",\n    \"titleCN\": \"日历饼图\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"custom\",\n      \"map\"\n    ],\n    \"id\": \"custom-hexbin\",\n    \"tags\": [],\n    \"title\": \"Hexagonal Binning\",\n    \"titleCN\": \"六边形分箱图（自定义系列）\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"dynamic-data\",\n    \"tags\": [],\n    \"title\": \"Dynamic Data\",\n    \"titleCN\": \"动态数据\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-barometer\",\n    \"tags\": [],\n    \"title\": \"Gauge Barometer chart\",\n    \"titleCN\": \"气压表\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-force-dynamic\",\n    \"tags\": [],\n    \"title\": \"Graph Dynamic\",\n    \"titleCN\": \"动态增加图节点\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-markline\",\n    \"tags\": [],\n    \"title\": \"Line with Marklines\",\n    \"titleCN\": \"折线图的标记线\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-style\",\n    \"tags\": [],\n    \"title\": \"Line Style and Item Style\",\n    \"titleCN\": \"自定义折线图样式\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"mix-timeline-finance\",\n    \"tags\": [],\n    \"title\": \"Finance Indices 2002\",\n    \"titleCN\": \"2002全国宏观经济指标\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"sunburst\"\n    ],\n    \"id\": \"sunburst-book\",\n    \"tags\": [],\n    \"title\": \"Book Records\",\n    \"titleCN\": \"书籍分布\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"watermark\",\n    \"tags\": [],\n    \"title\": \"Watermark - ECharts Download\",\n    \"titleCN\": \"水印 - ECharts 下载统计\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-polar-real-estate\",\n    \"tags\": [],\n    \"title\": \"Bar Chart on Polar\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-polar-stack\",\n    \"tags\": [],\n    \"title\": \"Stacked Bar Chart on Polar\",\n    \"titleCN\": \"极坐标系下的堆叠柱状图\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-polar-stack-radial\",\n    \"tags\": [],\n    \"title\": \"Stacked Bar Chart on Polar(Radial)\",\n    \"titleCN\": \"极坐标系下的堆叠柱状图\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"custom\",\n      \"calendar\"\n    ],\n    \"id\": \"custom-calendar-icon\",\n    \"tags\": [],\n    \"title\": \"Custom Calendar Icon\",\n    \"titleCN\": \"日历图自定义图标\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-wind\",\n    \"tags\": [],\n    \"title\": \"Use custom series to draw wind vectors\",\n    \"titleCN\": \"使用自定义系列绘制风场\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-clock\",\n    \"tags\": [],\n    \"title\": \"Clock Gauge\",\n    \"titleCN\": \"时钟仪表盘\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-life-expectancy\",\n    \"tags\": [],\n    \"title\": \"Graph Life Expectancy\",\n    \"titleCN\": \"Graph Life Expectancy\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-in-cartesian-coordinate-system\",\n    \"tags\": [],\n    \"title\": \"Line Chart in Cartesian Coordinate System\",\n    \"titleCN\": \"双数值轴折线图\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-log\",\n    \"tags\": [],\n    \"title\": \"Log Axis\",\n    \"titleCN\": \"对数轴示例\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-step\",\n    \"tags\": [],\n    \"title\": \"Step Line\",\n    \"titleCN\": \"阶梯折线图\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"polar-roundCap\",\n    \"tags\": [],\n    \"title\": \"Rounded Bar on Polar\",\n    \"titleCN\": \"圆角环形图\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-aqi-color\",\n    \"tags\": [],\n    \"title\": \"Scatter Aqi Color\",\n    \"titleCN\": \"AQI 气泡图\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-nutrients\",\n    \"tags\": [],\n    \"title\": \"Scatter Nutrients\",\n    \"titleCN\": \"营养分布散点图\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-nutrients-matrix\",\n    \"tags\": [],\n    \"title\": \"Scatter Nutrients Matrix\",\n    \"titleCN\": \"营养分布散点矩阵\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-car\",\n    \"tags\": [],\n    \"title\": \"Gauge Car\",\n    \"titleCN\": \"Gauge Car\",\n    \"difficulty\": 8\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-webkit-dep\",\n    \"tags\": [],\n    \"title\": \"Graph Webkit Dep\",\n    \"titleCN\": \"WebKit 模块关系依赖图\",\n    \"difficulty\": 8\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-easing\",\n    \"tags\": [],\n    \"title\": \"Line Easing Visualizing\",\n    \"titleCN\": \"缓动函数可视化\",\n    \"difficulty\": 8\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-y-category\",\n    \"tags\": [],\n    \"title\": \"Line Y Category\",\n    \"titleCN\": \"垂直折线图（Y轴为类目轴）\",\n    \"difficulty\": 8\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-polar-punchCard\",\n    \"tags\": [],\n    \"title\": \"Punch Card of Github\",\n    \"titleCN\": \"GitHub 打卡气泡图（极坐标）\",\n    \"difficulty\": 8\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-aggregate-scatter-bar\",\n    \"tags\": [],\n    \"title\": \"Aggregate Morphing Between Scatter and Bar\",\n    \"titleCN\": \"聚合分割形变（散点图 - 柱状图）\",\n    \"difficulty\": 9\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-aggregate-scatter-pie\",\n    \"tags\": [],\n    \"title\": \"Aggregate Morphing Between Scatter and Pie\",\n    \"titleCN\": \"聚合分割形变（散点图 - 饼图）\",\n    \"difficulty\": 9\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-gauge\",\n    \"tags\": [],\n    \"title\": \"Custom Gauge\",\n    \"titleCN\": \"自定义仪表\",\n    \"difficulty\": 9\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-npm\",\n    \"tags\": [],\n    \"title\": \"NPM Dependencies\",\n    \"titleCN\": \"NPM 依赖关系图\",\n    \"difficulty\": 9\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-graphic\",\n    \"tags\": [],\n    \"title\": \"Custom Graphic Component\",\n    \"titleCN\": \"自定义图形组件\",\n    \"difficulty\": 9\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-pen\",\n    \"tags\": [],\n    \"title\": \"Click to Add Points\",\n    \"titleCN\": \"点击添加折线图拐点\",\n    \"difficulty\": 9\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-life-expectancy-timeline\",\n    \"tags\": [],\n    \"title\": \"Life Expectancy and GDP\",\n    \"titleCN\": \"各国人均寿命与GDP关系演变\",\n    \"difficulty\": 9\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-painter-choice\",\n    \"tags\": [],\n    \"title\": \"Master Painter Color Choices Throughout History\",\n    \"titleCN\": \"Master Painter Color Choices Throughout History\",\n    \"difficulty\": 9\n  },\n  {\n    \"category\": [\n      \"boxplot\"\n    ],\n    \"id\": \"boxplot-light-velocity\",\n    \"tags\": [],\n    \"title\": \"Boxplot Light Velocity\",\n    \"titleCN\": \"基础盒须图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"boxplot\"\n    ],\n    \"id\": \"boxplot-light-velocity2\",\n    \"tags\": [],\n    \"title\": \"Boxplot Light Velocity2\",\n    \"titleCN\": \"垂直方向盒须图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"boxplot\"\n    ],\n    \"id\": \"boxplot-multi\",\n    \"tags\": [],\n    \"title\": \"Multiple Categories\",\n    \"titleCN\": \"多系列盒须图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [],\n    \"id\": \"calendar-effectscatter\",\n    \"tags\": [],\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"candlestick\"\n    ],\n    \"id\": \"candlestick-brush\",\n    \"tags\": [],\n    \"title\": \"Candlestick Brush\",\n    \"titleCN\": \"日力图刷选\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"candlestick\"\n    ],\n    \"id\": \"candlestick-sh-2015\",\n    \"tags\": [],\n    \"title\": \"ShangHai Index, 2015\",\n    \"titleCN\": \"2015 年上证指数\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [],\n    \"id\": \"covid-america\",\n    \"tags\": [],\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-aggregate-scatter-cluster\",\n    \"tags\": [],\n    \"title\": \"Aggregate Morphing Between Scatter Clustering\",\n    \"titleCN\": \"聚合分割形变（散点图聚类）\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter\",\n      \"map\"\n    ],\n    \"id\": \"effectScatter-bmap\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"Air Quality - Baidu Map\",\n    \"titleCN\": \"全国主要城市空气质量 - 百度地图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"funnel\"\n    ],\n    \"id\": \"funnel\",\n    \"tags\": [],\n    \"title\": \"Funnel Chart\",\n    \"titleCN\": \"漏斗图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"funnel\"\n    ],\n    \"id\": \"funnel-align\",\n    \"tags\": [],\n    \"title\": \"Funnel (align)\",\n    \"titleCN\": \"漏斗图(对比)\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"funnel\"\n    ],\n    \"id\": \"funnel-customize\",\n    \"tags\": [],\n    \"title\": \"Customized Funnel\",\n    \"titleCN\": \"漏斗图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"funnel\"\n    ],\n    \"id\": \"funnel-mutiple\",\n    \"tags\": [],\n    \"title\": \"Multiple Funnels\",\n    \"titleCN\": \"漏斗图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"geo-beef-cuts\",\n    \"tags\": [],\n    \"title\": \"GEO Beef Cuts\",\n    \"titleCN\": \"庖丁解牛\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"geo-lines\",\n    \"tags\": [],\n    \"title\": \"Migration\",\n    \"titleCN\": \"模拟迁徙\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"geo-map-scatter\",\n    \"tags\": [],\n    \"title\": \"map and scatter share a geo\",\n    \"titleCN\": \"map and scatter share a geo\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"geo-organ\",\n    \"tags\": [],\n    \"title\": \"Organ Data with SVG\",\n    \"titleCN\": \"内脏数据（SVG）\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"geo-seatmap-flight\",\n    \"tags\": [],\n    \"title\": \"Flight Seatmap with SVG\",\n    \"titleCN\": \"航班选座（SVG）\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"geo-svg-lines\",\n    \"tags\": [],\n    \"title\": \"GEO SVG Lines\",\n    \"titleCN\": \"GEO 路径图（SVG）\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"geo-svg-map\",\n    \"tags\": [],\n    \"title\": \"GEO SVG Map\",\n    \"titleCN\": \"地图（SVG）\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"geo-svg-traffic\",\n    \"tags\": [],\n    \"title\": \"GEO SVG Traffic\",\n    \"titleCN\": \"交通（SVG）\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"line\",\n      \"drag\"\n    ],\n    \"id\": \"line-draggable\",\n    \"tags\": [],\n    \"title\": \"Try Dragging these Points\",\n    \"titleCN\": \"可拖拽点\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-polar\",\n    \"tags\": [],\n    \"title\": \"Two Value-Axes in Polar\",\n    \"titleCN\": \"极坐标双数值轴\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-polar2\",\n    \"tags\": [],\n    \"title\": \"Two Value-Axes in Polar\",\n    \"titleCN\": \"极坐标双数值轴\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"line\",\n      \"dataZoom\"\n    ],\n    \"id\": \"line-tooltip-touch\",\n    \"tags\": [],\n    \"title\": \"Tooltip and DataZoom on Mobile\",\n    \"titleCN\": \"移动端上的 dataZoom 和 tooltip\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\",\n      \"lines\"\n    ],\n    \"id\": \"lines-airline\",\n    \"tags\": [],\n    \"title\": \"65k+ Airline\",\n    \"titleCN\": \"65k+ 飞机航线\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\",\n      \"lines\"\n    ],\n    \"id\": \"lines-bmap\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"A Hiking Trail in Hangzhou - Baidu Map\",\n    \"titleCN\": \"杭州热门步行路线 - 百度地图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\",\n      \"lines\"\n    ],\n    \"id\": \"lines-bmap-bus\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"Bus Lines of Beijing - Baidu Map\",\n    \"titleCN\": \"北京公交路线 - 百度地图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\",\n      \"lines\"\n    ],\n    \"id\": \"lines-bmap-effect\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"Bus Lines of Beijing - Line Effect\",\n    \"titleCN\": \"北京公交路线 - 线特效\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\",\n      \"lines\"\n    ],\n    \"id\": \"lines-ny\",\n    \"tags\": [],\n    \"title\": \"Use lines to draw 1 million ny streets.\",\n    \"titleCN\": \"使用线图绘制近 100 万的纽约街道数据\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-bin\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"Binning on Map\",\n    \"titleCN\": \"Binning on Map\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-china\",\n    \"tags\": [],\n    \"title\": \"Map China\",\n    \"titleCN\": \"Map China\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-china-dataRange\",\n    \"tags\": [],\n    \"title\": \"Sales of iphone\",\n    \"titleCN\": \"iphone销量\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-HK\",\n    \"tags\": [],\n    \"title\": \"Population Density of HongKong (2011)\",\n    \"titleCN\": \"香港18区人口密度 （2011）\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-labels\",\n    \"tags\": [],\n    \"title\": \"Rich Text Labels on Map\",\n    \"titleCN\": \"地图上的富文本标签\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-locate\",\n    \"tags\": [],\n    \"title\": \"Map Locate\",\n    \"titleCN\": \"Map Locate\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-polygon\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"Draw Polygon on Map\",\n    \"titleCN\": \"在地图上绘制多边形\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-province\",\n    \"tags\": [],\n    \"title\": \"Switch among 34 Provinces\",\n    \"titleCN\": \"34 省切换查看\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-usa\",\n    \"tags\": [],\n    \"title\": \"USA Population Estimates (2012)\",\n    \"titleCN\": \"USA Population Estimates (2012)\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-world\",\n    \"tags\": [],\n    \"title\": \"Map World\",\n    \"titleCN\": \"Map World\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-world-dataRange\",\n    \"tags\": [],\n    \"title\": \"World Population (2010)\",\n    \"titleCN\": \"World Population (2010)\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"pictorialBar\"\n    ],\n    \"id\": \"pictorialBar-body-fill\",\n    \"tags\": [],\n    \"title\": \"Water Content\",\n    \"titleCN\": \"人体含水量\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"pictorialBar\"\n    ],\n    \"id\": \"pictorialBar-dotted\",\n    \"tags\": [],\n    \"title\": \"Dotted bar\",\n    \"titleCN\": \"虚线柱状图效果\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"pictorialBar\"\n    ],\n    \"id\": \"pictorialBar-forest\",\n    \"tags\": [],\n    \"title\": \"Expansion of forest\",\n    \"titleCN\": \"森林的增长\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"pictorialBar\"\n    ],\n    \"id\": \"pictorialBar-hill\",\n    \"tags\": [],\n    \"title\": \"Wish List and Mountain Height\",\n    \"titleCN\": \"圣诞愿望清单和山峰高度\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"pictorialBar\"\n    ],\n    \"id\": \"pictorialBar-spirit\",\n    \"tags\": [],\n    \"title\": \"Spirits\",\n    \"titleCN\": \"精灵\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"pictorialBar\"\n    ],\n    \"id\": \"pictorialBar-vehicle\",\n    \"tags\": [],\n    \"title\": \"Vehicles\",\n    \"titleCN\": \"交通工具\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"pictorialBar\"\n    ],\n    \"id\": \"pictorialBar-velocity\",\n    \"tags\": [],\n    \"title\": \"Velocity of Christmas Reindeers\",\n    \"titleCN\": \"驯鹿的速度\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"radar\"\n    ],\n    \"id\": \"radar-multiple\",\n    \"tags\": [],\n    \"title\": \"Multiple Radar\",\n    \"titleCN\": \"多雷达图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-map\",\n    \"tags\": [],\n    \"title\": \"Air Quality\",\n    \"titleCN\": \"全国主要城市空气质量\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-map-brush\",\n    \"tags\": [],\n    \"title\": \"Scatter Map Brush\",\n    \"titleCN\": \"Scatter Map Brush\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"parallel\",\n      \"scatter\"\n    ],\n    \"id\": \"scatter-matrix\",\n    \"tags\": [],\n    \"title\": \"Scatter Matrix\",\n    \"titleCN\": \"散点矩阵和平行坐标\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-weibo\",\n    \"tags\": [],\n    \"title\": \"Sign in of weibo\",\n    \"titleCN\": \"微博签到数据点亮中国\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-world-population\",\n    \"tags\": [],\n    \"title\": \"World Population (2011)\",\n    \"titleCN\": \"World Population (2011)\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"themeRiver\"\n    ],\n    \"id\": \"themeRiver-basic\",\n    \"tags\": [],\n    \"title\": \"ThemeRiver\",\n    \"titleCN\": \"主题河流图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"themeRiver\"\n    ],\n    \"id\": \"themeRiver-lastfm\",\n    \"tags\": [],\n    \"title\": \"ThemeRiver Lastfm\",\n    \"titleCN\": \"ThemeRiver Lastfm\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"tree\"\n    ],\n    \"id\": \"tree-basic\",\n    \"tags\": [],\n    \"title\": \"From Left to Right Tree\",\n    \"titleCN\": \"从左到右树状图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"tree\"\n    ],\n    \"id\": \"tree-legend\",\n    \"tags\": [],\n    \"title\": \"Multiple Trees\",\n    \"titleCN\": \"多棵树\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"tree\"\n    ],\n    \"id\": \"tree-orient-bottom-top\",\n    \"tags\": [],\n    \"title\": \"From Bottom to Top Tree\",\n    \"titleCN\": \"从下到上树状图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"tree\"\n    ],\n    \"id\": \"tree-orient-right-left\",\n    \"tags\": [],\n    \"title\": \"From Right to Left Tree\",\n    \"titleCN\": \"从右到左树状图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"tree\"\n    ],\n    \"id\": \"tree-polyline\",\n    \"tags\": [],\n    \"title\": \"Tree with Polyline Edge\",\n    \"titleCN\": \"折线树图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"tree\"\n    ],\n    \"id\": \"tree-radial\",\n    \"tags\": [],\n    \"title\": \"Radial Tree\",\n    \"titleCN\": \"径向树状图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"tree\"\n    ],\n    \"id\": \"tree-vertical\",\n    \"tags\": [],\n    \"title\": \"From Top to Bottom Tree\",\n    \"titleCN\": \"从上到下树状图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"treemap\"\n    ],\n    \"id\": \"treemap-disk\",\n    \"tags\": [],\n    \"title\": \"Disk Usage\",\n    \"titleCN\": \"磁盘占用\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"treemap\"\n    ],\n    \"id\": \"treemap-drill-down\",\n    \"tags\": [],\n    \"title\": \"ECharts Option Query\",\n    \"titleCN\": \"ECharts 配置项查询分布\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"treemap\"\n    ],\n    \"id\": \"treemap-obama\",\n    \"tags\": [],\n    \"title\": \"How $3.7 Trillion is Spent\",\n    \"titleCN\": \"How $3.7 Trillion is Spent\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"treemap\"\n    ],\n    \"id\": \"treemap-show-parent\",\n    \"tags\": [],\n    \"title\": \"Show Parent Labels\",\n    \"titleCN\": \"显示父层级标签\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"treemap\"\n    ],\n    \"id\": \"treemap-simple\",\n    \"tags\": [],\n    \"title\": \"Basic Treemap\",\n    \"titleCN\": \"基础矩形树图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"treemap\"\n    ],\n    \"id\": \"treemap-visual\",\n    \"tags\": [],\n    \"title\": \"Gradient Mapping\",\n    \"titleCN\": \"映射为渐变色\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"calendar\",\n      \"scatter\"\n    ],\n    \"id\": \"calendar-charts\",\n    \"tags\": [],\n    \"title\": \"Calendar Charts\",\n    \"titleCN\": \"日力图\",\n    \"difficulty\": 11\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"circle-packing-with-d3\",\n    \"tags\": [],\n    \"title\": \"Circle Packing with d3\",\n    \"titleCN\": \"Circle Packing with d3\",\n    \"difficulty\": 11\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-one-to-one-morph\",\n    \"tags\": [],\n    \"title\": \"One-to-one Morphing\",\n    \"titleCN\": \"一对一映射形变\",\n    \"difficulty\": 11\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-spiral-race\",\n    \"tags\": [],\n    \"title\": \"Custom Spiral Race\",\n    \"titleCN\": \"自定义螺旋线竞速\",\n    \"difficulty\": 11\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-story-transition\",\n    \"tags\": [],\n    \"title\": \"Simple Story Transition\",\n    \"titleCN\": \"极简场景变换示例\",\n    \"difficulty\": 11\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-logarithmic-regression\",\n    \"tags\": [],\n    \"title\": \"Logarithmic Regression\",\n    \"titleCN\": \"对数回归（使用统计插件）\",\n    \"difficulty\": 16\n  }\n]","\n// THIS FILE IS GENERATED, DON'T MODIFY */\n\n/* eslint-disable  */\nexport const keywords = [{\"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}];","var DebugRect = (function () {\n    function DebugRect(style) {\n        var dom = this.dom = document.createElement('div');\n        dom.className = 'ec-debug-dirty-rect';\n        style = Object.assign({}, style);\n        Object.assign(style, {\n            backgroundColor: 'rgba(0, 0, 255, 0.2)',\n            border: '1px solid #00f'\n        });\n        dom.style.cssText = \"\\nposition: absolute;\\nopacity: 0;\\ntransition: opacity 0.5s linear;\\npointer-events: none;\\n\";\n        for (var key in style) {\n            if (style.hasOwnProperty(key)) {\n                dom.style[key] = style[key];\n            }\n        }\n    }\n    DebugRect.prototype.update = function (rect) {\n        var domStyle = this.dom.style;\n        domStyle.width = rect.width + 'px';\n        domStyle.height = rect.height + 'px';\n        domStyle.left = rect.x + 'px';\n        domStyle.top = rect.y + 'px';\n    };\n    DebugRect.prototype.hide = function () {\n        this.dom.style.opacity = '0';\n    };\n    DebugRect.prototype.show = function () {\n        var _this = this;\n        clearTimeout(this._hideTimeout);\n        this.dom.style.opacity = '1';\n        this._hideTimeout = setTimeout(function () {\n            _this.hide();\n        }, 500);\n    };\n    return DebugRect;\n}());\nexport default function (zr, opts) {\n    opts = opts || {};\n    var painter = zr.painter;\n    if (!painter.getLayers) {\n        throw new Error('Debug dirty rect can only been used on canvas renderer.');\n    }\n    if (painter.isSingleCanvas()) {\n        throw new Error('Debug dirty rect can only been used on zrender inited with container.');\n    }\n    var debugViewRoot = document.createElement('div');\n    debugViewRoot.style.cssText = \"\\nposition:absolute;\\nleft:0;\\ntop:0;\\nright:0;\\nbottom:0;\\npointer-events:none;\\n\";\n    debugViewRoot.className = 'ec-debug-dirty-rect-container';\n    var debugRects = [];\n    var dom = zr.dom;\n    dom.appendChild(debugViewRoot);\n    var computedStyle = getComputedStyle(dom);\n    if (computedStyle.position === 'static') {\n        dom.style.position = 'relative';\n    }\n    zr.on('rendered', function () {\n        if (painter.getLayers) {\n            var idx_1 = 0;\n            painter.eachBuiltinLayer(function (layer) {\n                if (!layer.debugGetPaintRects) {\n                    return;\n                }\n                var paintRects = layer.debugGetPaintRects();\n                for (var i = 0; i < paintRects.length; i++) {\n                    if (!debugRects[idx_1]) {\n                        debugRects[idx_1] = new DebugRect(opts.style);\n                        debugViewRoot.appendChild(debugRects[idx_1].dom);\n                    }\n                    debugRects[idx_1].show();\n                    debugRects[idx_1].update(paintRects[i]);\n                    idx_1++;\n                }\n            });\n            for (var i = idx_1; i < debugRects.length; i++) {\n                debugRects[i].hide();\n            }\n        }\n    });\n}\n","import {store} from '../common/store';\nimport {URL_PARAMS, SCRIPT_URLS} from '../common/config';\nimport {downloadBlob} from '../common/helper';\n\nconst hasRootPath = store.sourceCode.indexOf('ROOT_PATH') >= 0;\nconst rootPathCode = hasRootPath ? `var ROOT_PATH = '${store.cdnRoot}'` : '';\n\nexport function download() {\n    const code = `<!--\n    THIS EXAMPLE WAS DOWNLOADED FROM ${window.location.href}\n-->\n<!DOCTYPE html>\n<html 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        <script type=\"text/javascript\" src=\"${SCRIPT_URLS.echartsMinJS}\"></script>\n        <!-- Uncomment this line if you want to dataTool extension\n        <script type=\"text/javascript\" src=\"${SCRIPT_URLS.echartsDir}/dist/extension/dataTool.min.js\"></script>\n        -->\n        <!-- Uncomment this line if you want to use gl extension\n        <script type=\"text/javascript\" src=\"${SCRIPT_URLS.echartsGLMinJS}\"></script>\n        -->\n        <!-- Uncomment this line if you want to echarts-stat extension\n        <script type=\"text/javascript\" src=\"${SCRIPT_URLS.echartsStatMinJS}\"></script>\n        -->\n        <!-- Uncomment this line if you want to use map\n        <script type=\"text/javascript\" src=\"${SCRIPT_URLS.echartsDir}/map/js/china.js\"></script>\n        <script type=\"text/javascript\" src=\"${SCRIPT_URLS.echartsDir}/map/js/world.js\"></script>\n        -->\n        <!-- Uncomment these two lines if you want to use bmap extension\n        <script type=\"text/javascript\" src=\"https://api.map.baidu.com/api?v=2.0&ak=<Your Key Here>\"></script>\n        <script type=\"text/javascript\" src=\"${SCRIPT_URLS.echartsDir}/dist/extension/bmap.min.js\"></script>\n        -->\n\n        <script type=\"text/javascript\">\nvar dom = document.getElementById(\"container\");\nvar myChart = echarts.init(dom);\nvar app = {};\n\nvar option;\n\n${rootPathCode}\n\n${store.sourceCode}\n\nif (option && typeof option === 'object') {\n    myChart.setOption(option);\n}\n\n        </script>\n    </body>\n</html>\n    `;\n    const file = new Blob([code], {\n        type: 'text/html;charset=UTF-8',\n        encoding: 'UTF-8'\n    });\n    // download the blob\n    downloadBlob(file, URL_PARAMS.c + '.html');\n}","import showDebugDirtyRect from '../dep/showDebugDirtyRect';\n\nexport function createSandbox(optionUpdated) {\n    let appEnv = {};\n    let gui;\n\n    let _intervalIdList = [];\n    let _timeoutIdList = [];\n\n    const _oldSetTimeout = window.setTimeout;\n    const _oldSetInterval = window.setInterval;\n\n    function setTimeout(func, delay) {\n        var id = _oldSetTimeout(func, delay);\n        _timeoutIdList.push(id);\n        return id;\n    };\n    function setInterval(func, gap) {\n        var id = _oldSetInterval(func, gap);\n        _intervalIdList.push(id);\n        return id;\n    };\n    function _clearTimeTickers() {\n        for (var i = 0; i < _intervalIdList.length; i++) {\n            clearInterval(_intervalIdList[i]);\n        }\n        for (var i = 0; i < _timeoutIdList.length; i++) {\n            clearTimeout(_timeoutIdList[i]);\n        }\n        _intervalIdList = [];\n        _timeoutIdList = [];\n    }\n    const _events = [];\n    function _wrapOnMethods(chart) {\n        const oldOn = chart.on;\n        const oldSetOption = chart.setOption;\n        chart.on = function (eventName) {\n            const res = oldOn.apply(chart, arguments);\n            _events.push(eventName);\n            return res;\n        };\n        chart.setOption = function () {\n            const res = oldSetOption.apply(this, arguments);\n            optionUpdated && optionUpdated(chart);\n            return res;\n        };\n    }\n\n    function _clearChartEvents(chart) {\n        _events.forEach(function (eventName) {\n            if (chart) {\n                chart.off(eventName);\n            }\n        });\n\n        _events.length = 0;\n    }\n\n    let chartInstance;\n\n    return {\n        resize() {\n            if (chartInstance) {\n                chartInstance.resize();\n            }\n        },\n\n        dispose() {\n            if (chartInstance) {\n                chartInstance.dispose();\n                chartInstance = null;\n            }\n        },\n\n        getDataURL() {\n            return chartInstance.getDataURL({\n                pixelRatio: 2,\n                excludeComponents: ['toolbox']\n            });\n        },\n\n        getOption() {\n            return chartInstance.getOption();\n        },\n\n        run(el, store) {\n\n            if (!chartInstance) {\n                chartInstance = echarts.init(el, store.darkMode ? 'dark' : '', {\n                    renderer: store.renderer,\n                    useDirtyRect: store.useDirtyRect\n                });\n                if (store.useDirtyRect && store.renderer === 'canvas') {\n                    try {\n                        showDebugDirtyRect(chartInstance.getZr(), {\n                            autoHideDelay: 500\n                        });\n                    }\n                    catch (e) {\n                        console.error(e);\n                    }\n                }\n                _wrapOnMethods(chartInstance);\n            }\n\n            // if (this.hasEditorError()) {\n            //     log(this.$t('editor.errorInEditor'), 'error');\n            //     return;\n            // }\n\n            // TODO Scope the variables in component.\n            _clearTimeTickers();\n            _clearChartEvents(chartInstance);\n            // Reset\n            appEnv.config = null;\n\n            // run the code\n\n            const compiledCode = store.runCode;\n\n            const func = new Function(\n                'myChart', 'app', 'setTimeout', 'setInterval', 'ROOT_PATH',\n                'var option;\\n' + compiledCode + '\\nreturn option;'\n            );\n            const option = func(chartInstance, appEnv, setTimeout, setInterval, store.cdnRoot);\n            let updateTime = 0;\n\n            if (option && typeof option === 'object') {\n                const startTime = +new Date();\n                chartInstance.setOption(option, true);\n                const endTime = +new Date();\n                updateTime = endTime - startTime;\n            }\n\n            if (gui) {\n                $(gui.domElement).remove();\n                gui.destroy();\n                gui = null;\n            }\n\n            if (appEnv.config) {\n                gui = new dat.GUI({\n                    autoPlace: false\n                });\n                $(gui.domElement).css({\n                    position: 'absolute',\n                    right: 5,\n                    top: 0,\n                    zIndex: 1000\n                });\n                $('.right-container').append(gui.domElement);\n\n                var configParameters = appEnv.configParameters || {};\n                for (var name in appEnv.config) {\n                    var value = appEnv.config[name];\n                    if (name !== 'onChange' && name !== 'onFinishChange') {\n                        var isColor = false;\n                        // var value = obj;\n                        var controller = null;\n                        if (configParameters[name]) {\n                            if (configParameters[name].options) {\n                                controller = gui.add(appEnv.config, name, configParameters[name].options);\n                            }\n                            else if (configParameters[name].min != null) {\n                                controller = gui.add(appEnv.config, name, configParameters[name].min, configParameters[name].max);\n                            }\n                        }\n                        if (typeof obj === 'string') {\n                            try {\n                                var colorArr = echarts.color.parse(value);\n                                isColor = !!colorArr;\n                                if (isColor) {\n                                    value = echarts.color.stringify(colorArr, 'rgba');\n                                }\n                            }\n                            catch (e) {}\n                        }\n                        if (!controller) {\n                            controller = gui[isColor ? 'addColor' : 'add'](appEnv.config, name);\n                        }\n                        appEnv.config.onChange && controller.onChange(appEnv.config.onChange);\n                        appEnv.config.onFinishChange && controller.onFinishChange(appEnv.config.onFinishChange);\n                    }\n                }\n            }\n\n            return updateTime;\n        }\n    };\n};","import Vue from 'vue';\nimport VueI18n from 'vue-i18n';\nimport messages from './common/i18n';\nimport EditorPage from './editor/Editor.vue';\nimport ExplorePage from './explore/Explore.vue';\nimport ViewPage from './editor/View.vue';\nimport {store} from './common/store';\nimport VueScrollactive from 'vue-scrollactive';\n\nVue.use(VueScrollactive);\n\n/**\n *\n * @param {*} el\n * @param {Object} option\n * @param {string} [option.cdnRoot]\n * @param {string} [option.page] editor | explore\n * @param {string} [option.locale] zh | en\n * @param {string} [option.version]\n */\nexport function init(el, option) {\n    const i18n = new VueI18n({\n        locale: option.locale,\n        fallbackLocale: 'en',\n        messages\n    });\n    store.cdnRoot = option.cdnRoot;\n    store.version = option.version;\n    store.locale = option.locale || 'en';\n\n\n    if (typeof el === 'string') {\n        el = document.querySelector(el);\n    }\n    if (!el) {\n        throw new Error('Can\\'t find el.');\n    }\n\n    const container = document.createElement('div');\n    el.appendChild(container);\n\n    new Vue({\n        i18n,\n        el: container,\n        render: h => {\n            return h(({\n                editor: EditorPage,\n                explore: ExplorePage,\n                view: ViewPage\n            })[option.page] || ExplorePage);\n        }\n    });\n}","module.exports = __webpack_public_path__ + \"../asset/placeholder.jpg\";","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"159px\\\" viewBox=\\\"0 0 175 159\\\" 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=\\\"M174.799112,77.2243509 C175.141784,80.4933122 173.860538,83.7226514 171.369927,85.8675022 L145.821493,107.665891 C143.704571,109.29545 140.681703,108.978807 138.948417,106.945941 C137.215132,104.913075 137.380357,101.878162 139.32409,100.045479 L158.345038,83.8019696 L92.4385031,83.8019696 L92.4385031,144.173679 L109.273597,130.085944 C111.397298,128.30558 114.562167,128.583909 116.342532,130.70761 C118.122896,132.83131 117.844567,135.99618 115.720867,137.776544 L93.3308935,156.516741 C89.5429956,159.697467 83.9995074,159.633553 80.2859517,156.366338 L59.0490671,137.706356 C57.140269,135.840194 57.0244102,132.80703 58.7852891,130.800695 C60.546168,128.79436 63.5687212,128.515654 65.6667932,130.166159 L82.4116455,144.885586 L82.4116455,83.8019696 L16.5051101,83.8019696 L35.5360859,100.045479 C36.9700273,101.186546 37.6671397,103.019075 37.3541473,104.824694 C37.041155,106.630312 35.7679333,108.121296 34.0335988,108.713163 C32.2992644,109.305031 30.380183,108.903467 29.0286553,107.665891 L3.52032945,85.8975828 C1.25557692,83.9644222 -0.0328273042,81.1246883 0.00397844461,78.147297 C0.0407841935,75.1699056 1.39899211,72.3628885 3.71083975,70.4863026 L29.118897,49.820949 C31.2816477,48.328475 34.2285594,48.7508003 35.8850928,50.7906204 C37.5416262,52.8304405 37.3503183,55.8013071 35.4458442,57.6118174 L15.5625855,73.7751119 L82.4116455,73.7751119 L82.4116455,14.1153089 L65.6667932,28.8347359 C64.3276607,30.0598688 62.43094,30.4655542 60.7078175,29.8954003 C58.9846951,29.3252464 57.7042897,27.8683002 57.360198,26.0862151 C57.0161064,24.30413 57.662069,22.4752334 59.0490671,21.3045658 L80.2759248,2.65461056 C83.9853287,-0.629787191 89.5418994,-0.698070701 93.3308935,2.49418084 L115.720867,21.2243509 C117.320514,22.5881211 117.904229,24.8023516 117.184781,26.777481 C116.465334,28.7526104 114.594242,30.0726692 112.492218,30.0880931 C111.314421,30.0896881 110.174126,29.6740664 109.273597,28.9149508 L92.4385031,14.8272158 L92.4385031,73.7751119 L159.29759,73.7751119 L139.414331,57.6118174 C138.022627,56.4816171 137.339593,54.6948034 137.622523,52.9244518 C137.905453,51.1541001 139.111362,49.669169 140.785997,49.0290176 C142.460631,48.3888662 144.349574,48.6907487 145.741278,49.820949 L171.149336,70.4863026 C173.218763,72.1532673 174.533435,74.5803549 174.799112,77.2243509\\\" id=\\\"Path\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?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>\";\n// Exports\nmodule.exports = code;","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var isObject = require('./isObject'),\n    now = require('./now'),\n    toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        timeWaiting = wait - timeSinceLastCall;\n\n    return maxing\n      ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n      : timeWaiting;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        clearTimeout(timerId);\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\nmodule.exports = now;\n","var isObject = require('./isObject'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = value.replace(reTrim, '');\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","let raf = null;\nfunction requestAnimationFrame (callback) {\n  if (!raf) {\n    raf = (\n      window.requestAnimationFrame ||\n      window.webkitRequestAnimationFrame ||\n      window.mozRequestAnimationFrame ||\n      function (callback) {\n        return setTimeout(callback, 16)\n      }\n    ).bind(window);\n  }\n  return raf(callback)\n}\n\nlet caf = null;\nfunction cancelAnimationFrame (id) {\n  if (!caf) {\n    caf = (\n      window.cancelAnimationFrame ||\n      window.webkitCancelAnimationFrame ||\n      window.mozCancelAnimationFrame ||\n      function (id) {\n        clearTimeout(id);\n      }\n    ).bind(window);\n  }\n\n  caf(id);\n}\n\nfunction createStyles (styleText) {\n  var style = document.createElement('style');\n  style.type = 'text/css';\n\n  if (style.styleSheet) {\n    style.styleSheet.cssText = styleText;\n  } else {\n    style.appendChild(document.createTextNode(styleText));\n  }\n  (document.querySelector('head') || document.body).appendChild(style);\n  return style\n}\n\nfunction createElement (tagName, props = {}) {\n  let elem = document.createElement(tagName);\n  Object.keys(props).forEach(key => {\n    elem[key] = props[key];\n  });\n  return elem\n}\n\nfunction getComputedStyle (elem, prop, pseudo) {\n  // for older versions of Firefox, `getComputedStyle` required\n  // the second argument and may return `null` for some elements\n  // when `display: none`\n  let computedStyle = window.getComputedStyle(elem, pseudo || null) || {\n    display: 'none'\n  };\n\n  return computedStyle[prop]\n}\n\nfunction getRenderInfo (elem) {\n  if (!document.documentElement.contains(elem)) {\n    return {\n      detached: true,\n      rendered: false\n    }\n  }\n\n  let current = elem;\n  while (current !== document) {\n    if (getComputedStyle(current, 'display') === 'none') {\n      return {\n        detached: false,\n        rendered: false\n      }\n    }\n    current = current.parentNode;\n  }\n\n  return {\n    detached: false,\n    rendered: true\n  }\n}\n\nvar css = \".resize-triggers{visibility:hidden;opacity:0;pointer-events:none}.resize-contract-trigger,.resize-contract-trigger:before,.resize-expand-trigger,.resize-triggers{content:\\\"\\\";position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.resize-contract-trigger,.resize-expand-trigger{background:#eee;overflow:auto}.resize-contract-trigger:before{width:200%;height:200%}\";\n\nlet total = 0;\nlet style = null;\n\nfunction addListener (elem, callback) {\n  if (!elem.__resize_mutation_handler__) {\n    elem.__resize_mutation_handler__ = handleMutation.bind(elem);\n  }\n\n  let listeners = elem.__resize_listeners__;\n\n  if (!listeners) {\n    elem.__resize_listeners__ = [];\n    if (window.ResizeObserver) {\n      let { offsetWidth, offsetHeight } = elem;\n      let ro = new ResizeObserver(() => {\n        if (!elem.__resize_observer_triggered__) {\n          elem.__resize_observer_triggered__ = true;\n          if (elem.offsetWidth === offsetWidth && elem.offsetHeight === offsetHeight) {\n            return\n          }\n        }\n        runCallbacks(elem);\n      });\n\n      // initially display none won't trigger ResizeObserver callback\n      let { detached, rendered } = getRenderInfo(elem);\n      elem.__resize_observer_triggered__ = detached === false && rendered === false;\n      elem.__resize_observer__ = ro;\n      ro.observe(elem);\n    } else if (elem.attachEvent && elem.addEventListener) {\n      // targeting IE9/10\n      elem.__resize_legacy_resize_handler__ = function handleLegacyResize () {\n        runCallbacks(elem);\n      };\n      elem.attachEvent('onresize', elem.__resize_legacy_resize_handler__);\n      document.addEventListener('DOMSubtreeModified', elem.__resize_mutation_handler__);\n    } else {\n      if (!total) {\n        style = createStyles(css);\n      }\n      initTriggers(elem);\n\n      elem.__resize_rendered__ = getRenderInfo(elem).rendered;\n      if (window.MutationObserver) {\n        let mo = new MutationObserver(elem.__resize_mutation_handler__);\n        mo.observe(document, {\n          attributes: true,\n          childList: true,\n          characterData: true,\n          subtree: true\n        });\n        elem.__resize_mutation_observer__ = mo;\n      }\n    }\n  }\n\n  elem.__resize_listeners__.push(callback);\n  total++;\n}\n\nfunction removeListener (elem, callback) {\n  let listeners = elem.__resize_listeners__;\n  if (!listeners) {\n    return\n  }\n\n  if (callback) {\n    listeners.splice(listeners.indexOf(callback), 1);\n  }\n\n  // no listeners exist, or removing all listeners\n  if (!listeners.length || !callback) {\n    // targeting IE9/10\n    if (elem.detachEvent && elem.removeEventListener) {\n      elem.detachEvent('onresize', elem.__resize_legacy_resize_handler__);\n      document.removeEventListener('DOMSubtreeModified', elem.__resize_mutation_handler__);\n      return\n    }\n\n    if (elem.__resize_observer__) {\n      elem.__resize_observer__.unobserve(elem);\n      elem.__resize_observer__.disconnect();\n      elem.__resize_observer__ = null;\n    } else {\n      if (elem.__resize_mutation_observer__) {\n        elem.__resize_mutation_observer__.disconnect();\n        elem.__resize_mutation_observer__ = null;\n      }\n      elem.removeEventListener('scroll', handleScroll);\n      elem.removeChild(elem.__resize_triggers__.triggers);\n      elem.__resize_triggers__ = null;\n    }\n    elem.__resize_listeners__ = null;\n  }\n\n  if (!--total && style) {\n    style.parentNode.removeChild(style);\n  }\n}\n\nfunction getUpdatedSize (elem) {\n  let { width, height } = elem.__resize_last__;\n  let { offsetWidth, offsetHeight } = elem;\n  if (offsetWidth !== width || offsetHeight !== height) {\n    return {\n      width: offsetWidth,\n      height: offsetHeight\n    }\n  }\n  return null\n}\n\nfunction handleMutation () {\n  // `this` denotes the scrolling element\n  let { rendered, detached } = getRenderInfo(this);\n  if (rendered !== this.__resize_rendered__) {\n    if (!detached && this.__resize_triggers__) {\n      resetTriggers(this);\n      this.addEventListener('scroll', handleScroll, true);\n    }\n    this.__resize_rendered__ = rendered;\n    runCallbacks(this);\n  }\n}\n\nfunction handleScroll () {\n  // `this` denotes the scrolling element\n  resetTriggers(this);\n  if (this.__resize_raf__) {\n    cancelAnimationFrame(this.__resize_raf__);\n  }\n  this.__resize_raf__ = requestAnimationFrame(() => {\n    let updated = getUpdatedSize(this);\n    if (updated) {\n      this.__resize_last__ = updated;\n      runCallbacks(this);\n    }\n  });\n}\n\nfunction runCallbacks (elem) {\n  if (!elem || !elem.__resize_listeners__) {\n    return\n  }\n  elem.__resize_listeners__.forEach(callback => {\n    callback.call(elem, elem);\n  });\n}\n\nfunction initTriggers (elem) {\n  let position = getComputedStyle(elem, 'position');\n  if (!position || position === 'static') {\n    elem.style.position = 'relative';\n  }\n\n  elem.__resize_old_position__ = position;\n  elem.__resize_last__ = {};\n\n  let triggers = createElement('div', {\n    className: 'resize-triggers'\n  });\n  let expand = createElement('div', {\n    className: 'resize-expand-trigger'\n  });\n  let expandChild = createElement('div');\n  let contract = createElement('div', {\n    className: 'resize-contract-trigger'\n  });\n  expand.appendChild(expandChild);\n  triggers.appendChild(expand);\n  triggers.appendChild(contract);\n  elem.appendChild(triggers);\n\n  elem.__resize_triggers__ = {\n    triggers,\n    expand,\n    expandChild,\n    contract\n  };\n\n  resetTriggers(elem);\n  elem.addEventListener('scroll', handleScroll, true);\n\n  elem.__resize_last__ = {\n    width: elem.offsetWidth,\n    height: elem.offsetHeight\n  };\n}\n\nfunction resetTriggers (elem) {\n  let { expand, expandChild, contract } = elem.__resize_triggers__;\n\n  // batch read\n  let { scrollWidth: csw, scrollHeight: csh } = contract;\n  let { offsetWidth: eow, offsetHeight: eoh, scrollWidth: esw, scrollHeight: esh } = expand;\n\n  // batch write\n  contract.scrollLeft = csw;\n  contract.scrollTop = csh;\n  expandChild.style.width = eow + 1 + 'px';\n  expandChild.style.height = eoh + 1 + 'px';\n  expand.scrollLeft = esw;\n  expand.scrollTop = esh;\n}\n\nexport { addListener, removeListener };\n","const runningOnBrowser = typeof window !== \"undefined\";\r\n\r\nconst isBot =\r\n\t(runningOnBrowser && !(\"onscroll\" in window)) ||\r\n\t(typeof navigator !== \"undefined\" &&\r\n\t\t/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent));\r\n\r\nconst supportsIntersectionObserver =\r\n\trunningOnBrowser && \"IntersectionObserver\" in window;\r\n\r\nconst supportsClassList =\r\n\trunningOnBrowser && \"classList\" in document.createElement(\"p\");\r\n\r\nconst defaultSettings = {\r\n\telements_selector: \"img\",\r\n\tcontainer: isBot || runningOnBrowser ? document : null,\r\n\tthreshold: 300,\r\n\tthresholds: null,\r\n\tdata_src: \"src\",\r\n\tdata_srcset: \"srcset\",\r\n\tdata_sizes: \"sizes\",\r\n\tdata_bg: \"bg\",\r\n\tdata_poster: \"poster\",\r\n\tclass_loading: \"loading\",\r\n\tclass_loaded: \"loaded\",\r\n\tclass_error: \"error\",\r\n\tload_delay: 0,\r\n\tauto_unobserve: true,\r\n\tcallback_enter: null,\r\n\tcallback_exit: null,\r\n\tcallback_reveal: null,\r\n\tcallback_loaded: null,\r\n\tcallback_error: null,\r\n\tcallback_finish: null,\r\n\tuse_native: false\r\n};\r\n\r\nvar getInstanceSettings = customSettings => {\r\n\treturn Object.assign({}, defaultSettings, customSettings);\r\n};\r\n\r\n/* Creates instance and notifies it through the window element */\r\nconst createInstance = function(classObj, options) {\r\n\tvar event;\r\n\tlet eventString = \"LazyLoad::Initialized\";\r\n\tlet instance = new classObj(options);\r\n\ttry {\r\n\t\t// Works in modern browsers\r\n\t\tevent = new CustomEvent(eventString, { detail: { instance } });\r\n\t} catch (err) {\r\n\t\t// Works in Internet Explorer (all versions)\r\n\t\tevent = document.createEvent(\"CustomEvent\");\r\n\t\tevent.initCustomEvent(eventString, false, false, { instance });\r\n\t}\r\n\twindow.dispatchEvent(event);\r\n};\r\n\r\n/* Auto initialization of one or more instances of lazyload, depending on the \r\n    options passed in (plain object or an array) */\r\nfunction autoInitialize(classObj, options) {\r\n\tif (!options) {\r\n\t\treturn;\r\n\t}\r\n\tif (!options.length) {\r\n\t\t// Plain object\r\n\t\tcreateInstance(classObj, options);\r\n\t} else {\r\n\t\t// Array of objects\r\n\t\tfor (let i = 0, optionsItem; (optionsItem = options[i]); i += 1) {\r\n\t\t\tcreateInstance(classObj, optionsItem);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nconst dataPrefix = \"data-\";\r\nconst processedDataName = \"was-processed\";\r\nconst timeoutDataName = \"ll-timeout\";\r\nconst trueString = \"true\";\r\n\r\nconst getData = (element, attribute) => {\r\n\treturn element.getAttribute(dataPrefix + attribute);\r\n};\r\n\r\nconst setData = (element, attribute, value) => {\r\n\tvar attrName = dataPrefix + attribute;\r\n\tif (value === null) {\r\n\t\telement.removeAttribute(attrName);\r\n\t\treturn;\r\n\t}\r\n\telement.setAttribute(attrName, value);\r\n};\r\n\r\nconst resetWasProcessedData = element =>\r\n\tsetData(element, processedDataName, null);\r\n\r\nconst setWasProcessedData = element =>\r\n\tsetData(element, processedDataName, trueString);\r\n\r\nconst getWasProcessedData = element =>\r\n\tgetData(element, processedDataName) === trueString;\r\n\r\nconst setTimeoutData = (element, value) =>\r\n\tsetData(element, timeoutDataName, value);\r\n\r\nconst getTimeoutData = element => getData(element, timeoutDataName);\r\n\r\nconst purgeProcessedElements = elements => {\r\n\treturn elements.filter(element => !getWasProcessedData(element));\r\n};\r\n\r\nconst purgeOneElement = (elements, elementToPurge) => {\r\n\treturn elements.filter(element => element !== elementToPurge);\r\n};\r\n\r\nconst safeCallback = (callback, arg1, arg2, arg3) => {\r\n\tif (!callback) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (arg3 !== undefined) {\r\n\t\tcallback(arg1, arg2, arg3);\r\n\t\treturn;\r\n\t}\r\n\tif (arg2 !== undefined) {\r\n\t\tcallback(arg1, arg2);\r\n\t\treturn;\r\n\t}\r\n\tcallback(arg1);\r\n};\r\n\r\nconst updateLoadingCount = (instance, plusMinus) => {\r\n    instance.loadingCount += plusMinus;\r\n    if (instance._elements.length === 0 && instance.loadingCount === 0) {\r\n        safeCallback(instance._settings.callback_finish, instance);\r\n    }\r\n};\r\n\r\nconst getSourceTags = parentTag => {\r\n\tlet sourceTags = [];\r\n\tfor (let i = 0, childTag; (childTag = parentTag.children[i]); i += 1) {\r\n\t\tif (childTag.tagName === \"SOURCE\") {\r\n\t\t\tsourceTags.push(childTag);\r\n\t\t}\r\n\t}\r\n\treturn sourceTags;\r\n};\r\n\r\nconst setAttributeIfValue = (element, attrName, value) => {\r\n\tif (!value) {\r\n\t\treturn;\r\n\t}\r\n\telement.setAttribute(attrName, value);\r\n};\r\n\r\nconst setImageAttributes = (element, settings) => {\r\n\tsetAttributeIfValue(\r\n\t\telement,\r\n\t\t\"sizes\",\r\n\t\tgetData(element, settings.data_sizes)\r\n\t);\r\n\tsetAttributeIfValue(\r\n\t\telement,\r\n\t\t\"srcset\",\r\n\t\tgetData(element, settings.data_srcset)\r\n\t);\r\n\tsetAttributeIfValue(element, \"src\", getData(element, settings.data_src));\r\n};\r\n\r\nconst setSourcesImg = (element, settings) => {\r\n\tconst parent = element.parentNode;\r\n\r\n\tif (parent && parent.tagName === \"PICTURE\") {\r\n\t\tlet sourceTags = getSourceTags(parent);\r\n\t\tsourceTags.forEach(sourceTag => {\r\n\t\t\tsetImageAttributes(sourceTag, settings);\r\n\t\t});\r\n\t}\r\n\r\n\tsetImageAttributes(element, settings);\r\n};\r\n\r\nconst setSourcesIframe = (element, settings) => {\r\n\tsetAttributeIfValue(element, \"src\", getData(element, settings.data_src));\r\n};\r\n\r\nconst setSourcesVideo = (element, settings) => {\r\n\tlet sourceTags = getSourceTags(element);\r\n\tsourceTags.forEach(sourceTag => {\r\n\t\tsetAttributeIfValue(\r\n\t\t\tsourceTag,\r\n\t\t\t\"src\",\r\n\t\t\tgetData(sourceTag, settings.data_src)\r\n\t\t);\r\n\t});\r\n\tsetAttributeIfValue(\r\n\t\telement,\r\n\t\t\"poster\",\r\n\t\tgetData(element, settings.data_poster)\r\n\t);\r\n\tsetAttributeIfValue(element, \"src\", getData(element, settings.data_src));\r\n\telement.load();\r\n};\r\n\r\nconst setSourcesBgImage = (element, settings) => {\r\n\tconst srcDataValue = getData(element, settings.data_src);\r\n\tconst bgDataValue = getData(element, settings.data_bg);\r\n\r\n\tif (srcDataValue) {\r\n\t\telement.style.backgroundImage = `url(\"${srcDataValue}\")`;\r\n\t}\r\n\r\n\tif (bgDataValue) {\r\n\t\telement.style.backgroundImage = bgDataValue;\r\n\t}\r\n};\r\n\r\nconst setSourcesFunctions = {\r\n\tIMG: setSourcesImg,\r\n\tIFRAME: setSourcesIframe,\r\n\tVIDEO: setSourcesVideo\r\n};\r\n\r\nconst setSources = (element, instance) => {\r\n\tconst settings = instance._settings;\r\n\tconst tagName = element.tagName;\r\n\tconst setSourcesFunction = setSourcesFunctions[tagName];\r\n\tif (setSourcesFunction) {\r\n\t\tsetSourcesFunction(element, settings);\r\n\t\tupdateLoadingCount(instance, 1);\r\n\t\tinstance._elements = purgeOneElement(instance._elements, element);\r\n\t\treturn;\r\n\t}\r\n\tsetSourcesBgImage(element, settings);\r\n};\r\n\r\nconst addClass = (element, className) => {\r\n\tif (supportsClassList) {\r\n\t\telement.classList.add(className);\r\n\t\treturn;\r\n\t}\r\n\telement.className += (element.className ? \" \" : \"\") + className;\r\n};\r\n\r\nconst removeClass = (element, className) => {\r\n\tif (supportsClassList) {\r\n\t\telement.classList.remove(className);\r\n\t\treturn;\r\n\t}\r\n\telement.className = element.className.\r\n\t\treplace(new RegExp(\"(^|\\\\s+)\" + className + \"(\\\\s+|$)\"), \" \").\r\n\t\treplace(/^\\s+/, \"\").\r\n\t\treplace(/\\s+$/, \"\");\r\n};\r\n\r\nconst genericLoadEventName = \"load\";\r\nconst mediaLoadEventName = \"loadeddata\";\r\nconst errorEventName = \"error\";\r\n\r\nconst addEventListener = (element, eventName, handler) => {\r\n\telement.addEventListener(eventName, handler);\r\n};\r\n\r\nconst removeEventListener = (element, eventName, handler) => {\r\n\telement.removeEventListener(eventName, handler);\r\n};\r\n\r\nconst addEventListeners = (element, loadHandler, errorHandler) => {\r\n\taddEventListener(element, genericLoadEventName, loadHandler);\r\n\taddEventListener(element, mediaLoadEventName, loadHandler);\r\n\taddEventListener(element, errorEventName, errorHandler);\r\n};\r\n\r\nconst removeEventListeners = (element, loadHandler, errorHandler) => {\r\n\tremoveEventListener(element, genericLoadEventName, loadHandler);\r\n\tremoveEventListener(element, mediaLoadEventName, loadHandler);\r\n\tremoveEventListener(element, errorEventName, errorHandler);\r\n};\r\n\r\nconst eventHandler = function(event, success, instance) {\r\n\tvar settings = instance._settings;\r\n\tconst className = success ? settings.class_loaded : settings.class_error;\r\n\tconst callback = success\r\n\t\t? settings.callback_loaded\r\n\t\t: settings.callback_error;\r\n\tconst element = event.target;\r\n\r\n\tremoveClass(element, settings.class_loading);\r\n\taddClass(element, className);\r\n\tsafeCallback(callback, element, instance);\r\n\r\n\tupdateLoadingCount(instance, -1);\r\n};\r\n\r\nconst addOneShotEventListeners = (element, instance) => {\r\n\tconst loadHandler = event => {\r\n\t\teventHandler(event, true, instance);\r\n\t\tremoveEventListeners(element, loadHandler, errorHandler);\r\n\t};\r\n\tconst errorHandler = event => {\r\n\t\teventHandler(event, false, instance);\r\n\t\tremoveEventListeners(element, loadHandler, errorHandler);\r\n\t};\r\n\taddEventListeners(element, loadHandler, errorHandler);\r\n};\r\n\r\nconst managedTags = [\"IMG\", \"IFRAME\", \"VIDEO\"];\r\n\r\nconst onEnter = (element, entry, instance) => {\r\n\tconst settings = instance._settings;\r\n\tsafeCallback(settings.callback_enter, element, entry, instance);\r\n\tif (!settings.load_delay) {\r\n\t\trevealAndUnobserve(element, instance);\r\n\t\treturn;\r\n\t}\r\n\tdelayLoad(element, instance);\r\n};\r\n\r\nconst revealAndUnobserve = (element, instance) => {\r\n\tvar observer = instance._observer;\r\n\trevealElement(element, instance);\r\n\tif (observer && instance._settings.auto_unobserve) {\r\n\t\tobserver.unobserve(element);\r\n\t}\r\n};\r\n\r\nconst onExit = (element, entry, instance) => {\r\n\tconst settings = instance._settings;\r\n\tsafeCallback(settings.callback_exit, element, entry, instance);\r\n\tif (!settings.load_delay) {\r\n\t\treturn;\r\n\t}\r\n\tcancelDelayLoad(element);\r\n};\r\n\r\nconst cancelDelayLoad = element => {\r\n\tvar timeoutId = getTimeoutData(element);\r\n\tif (!timeoutId) {\r\n\t\treturn; // do nothing if timeout doesn't exist\r\n\t}\r\n\tclearTimeout(timeoutId);\r\n\tsetTimeoutData(element, null);\r\n};\r\n\r\nconst delayLoad = (element, instance) => {\r\n\tvar loadDelay = instance._settings.load_delay;\r\n\tvar timeoutId = getTimeoutData(element);\r\n\tif (timeoutId) {\r\n\t\treturn; // do nothing if timeout already set\r\n\t}\r\n\ttimeoutId = setTimeout(function() {\r\n\t\trevealAndUnobserve(element, instance);\r\n\t\tcancelDelayLoad(element);\r\n\t}, loadDelay);\r\n\tsetTimeoutData(element, timeoutId);\r\n};\r\n\r\nconst revealElement = (element, instance, force) => {\r\n\tvar settings = instance._settings;\r\n\tif (!force && getWasProcessedData(element)) {\r\n\t\treturn; // element has already been processed and force wasn't true\r\n\t}\r\n\tif (managedTags.indexOf(element.tagName) > -1) {\r\n\t\taddOneShotEventListeners(element, instance);\r\n\t\taddClass(element, settings.class_loading);\r\n\t}\r\n\tsetSources(element, instance);\r\n\tsetWasProcessedData(element);\r\n\tsafeCallback(settings.callback_reveal, element, instance);\r\n\tsafeCallback(settings.callback_set, element, instance);\r\n};\r\n\r\nconst isIntersecting = entry =>\r\n\tentry.isIntersecting || entry.intersectionRatio > 0;\r\n\r\nconst getObserverSettings = settings => ({\r\n\troot: settings.container === document ? null : settings.container,\r\n\trootMargin: settings.thresholds || settings.threshold + \"px\"\r\n});\r\n\r\nconst setObserver = instance => {\r\n\tif (!supportsIntersectionObserver) {\r\n\t\treturn false;\r\n\t}\r\n\tinstance._observer = new IntersectionObserver(entries => {\r\n\t\tentries.forEach(entry =>\r\n\t\t\tisIntersecting(entry)\r\n\t\t\t\t? onEnter(entry.target, entry, instance)\r\n\t\t\t\t: onExit(entry.target, entry, instance)\r\n\t\t);\r\n\t}, getObserverSettings(instance._settings));\r\n\treturn true;\r\n};\r\n\r\nconst nativeLazyTags = [\"IMG\", \"IFRAME\"];\r\n\r\nconst shouldUseNative = settings =>\r\n\tsettings.use_native && \"loading\" in HTMLImageElement.prototype;\r\n\r\nconst loadAllNative = instance => {\r\n\tinstance._elements.forEach(element => {\r\n\t\tif (nativeLazyTags.indexOf(element.tagName) === -1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telement.setAttribute(\"loading\", \"lazy\");\r\n\t\trevealElement(element, instance);\r\n\t});\r\n};\r\n\r\nconst nodeSetToArray = nodeSet => Array.prototype.slice.call(nodeSet);\r\n\r\nconst queryElements = settings =>\r\n\tsettings.container.querySelectorAll(settings.elements_selector);\r\n\r\nconst getElements = (elements, settings) =>\r\n\tpurgeProcessedElements(nodeSetToArray(elements || queryElements(settings)));\r\n\r\nconst retryLazyLoad = instance => {\r\n\tvar settings = instance._settings;\r\n\tvar errorElements = settings.container.querySelectorAll(\r\n\t\t\".\" + settings.class_error\r\n\t);\r\n\terrorElements.forEach(element => {\r\n\t\tremoveClass(element, settings.class_error);\r\n\t\tresetWasProcessedData(element);\r\n\t});\r\n\tinstance.update();\r\n};\r\n\r\nconst setOnlineCheck = instance => {\r\n\tif (!runningOnBrowser) {\r\n\t\treturn;\r\n\t}\r\n\twindow.addEventListener(\"online\", event => {\r\n\t\tretryLazyLoad(instance);\r\n\t});\r\n};\r\n\r\nconst LazyLoad = function(customSettings, elements) {\r\n    this._settings = getInstanceSettings(customSettings);\r\n    this.loadingCount = 0;\r\n    setObserver(this);\r\n    this.update(elements);\r\n    setOnlineCheck(this);\r\n};\r\n\r\nLazyLoad.prototype = {\r\n    update: function(elements) {\r\n        var settings = this._settings;\r\n        this._elements = getElements(elements, settings);\r\n        if (isBot || !this._observer) {\r\n            this.loadAll();\r\n            return;\r\n        }\r\n        if (shouldUseNative(settings)) {\r\n            loadAllNative(this);\r\n            this._elements = getElements(elements, settings);\r\n        }\r\n        this._elements.forEach(element => {\r\n            this._observer.observe(element);\r\n        });\r\n    },\r\n\r\n    destroy: function() {\r\n        if (this._observer) {\r\n            this._elements.forEach(element => {\r\n                this._observer.unobserve(element);\r\n            });\r\n            this._observer = null;\r\n        }\r\n        this._elements = null;\r\n        this._settings = null;\r\n    },\r\n\r\n    load: function(element, force) {\r\n        revealElement(element, this, force);\r\n    },\r\n\r\n    loadAll: function() {\r\n        this._elements.forEach(element => {\r\n            revealAndUnobserve(element, this);\r\n        });\r\n    }\r\n};\r\n\r\n/* Automatic instances creation if required (useful for async script loading) */\r\nif (runningOnBrowser) {\r\n    autoInitialize(LazyLoad, window.lazyLoadOptions);\r\n}\r\n\r\nexport default LazyLoad;\r\n","/*!\n * vue-i18n v8.20.0 \n * (c) 2020 kazuya kawaguchi\n * Released under the MIT License.\n */\n/*  */\n\n/**\n * constants\n */\n\nvar numberFormatKeys = [\n  'style',\n  'currency',\n  'currencyDisplay',\n  'useGrouping',\n  'minimumIntegerDigits',\n  'minimumFractionDigits',\n  'maximumFractionDigits',\n  'minimumSignificantDigits',\n  'maximumSignificantDigits',\n  'localeMatcher',\n  'formatMatcher',\n  'unit'\n];\n\n/**\n * utilities\n */\n\nfunction warn (msg, err) {\n  if (typeof console !== 'undefined') {\n    console.warn('[vue-i18n] ' + msg);\n    /* istanbul ignore if */\n    if (err) {\n      console.warn(err.stack);\n    }\n  }\n}\n\nfunction error (msg, err) {\n  if (typeof console !== 'undefined') {\n    console.error('[vue-i18n] ' + msg);\n    /* istanbul ignore if */\n    if (err) {\n      console.error(err.stack);\n    }\n  }\n}\n\nvar isArray = Array.isArray;\n\nfunction isObject (obj) {\n  return obj !== null && typeof obj === 'object'\n}\n\nfunction isBoolean (val) {\n  return typeof val === 'boolean'\n}\n\nfunction isString (val) {\n  return typeof val === 'string'\n}\n\nvar toString = Object.prototype.toString;\nvar OBJECT_STRING = '[object Object]';\nfunction isPlainObject (obj) {\n  return toString.call(obj) === OBJECT_STRING\n}\n\nfunction isNull (val) {\n  return val === null || val === undefined\n}\n\nfunction parseArgs () {\n  var args = [], len = arguments.length;\n  while ( len-- ) args[ len ] = arguments[ len ];\n\n  var locale = null;\n  var params = null;\n  if (args.length === 1) {\n    if (isObject(args[0]) || Array.isArray(args[0])) {\n      params = args[0];\n    } else if (typeof args[0] === 'string') {\n      locale = args[0];\n    }\n  } else if (args.length === 2) {\n    if (typeof args[0] === 'string') {\n      locale = args[0];\n    }\n    /* istanbul ignore if */\n    if (isObject(args[1]) || Array.isArray(args[1])) {\n      params = args[1];\n    }\n  }\n\n  return { locale: locale, params: params }\n}\n\nfunction looseClone (obj) {\n  return JSON.parse(JSON.stringify(obj))\n}\n\nfunction remove (arr, item) {\n  if (arr.length) {\n    var index = arr.indexOf(item);\n    if (index > -1) {\n      return arr.splice(index, 1)\n    }\n  }\n}\n\nfunction includes (arr, item) {\n  return !!~arr.indexOf(item)\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n  return hasOwnProperty.call(obj, key)\n}\n\nfunction merge (target) {\n  var arguments$1 = arguments;\n\n  var output = Object(target);\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments$1[i];\n    if (source !== undefined && source !== null) {\n      var key = (void 0);\n      for (key in source) {\n        if (hasOwn(source, key)) {\n          if (isObject(source[key])) {\n            output[key] = merge(output[key], source[key]);\n          } else {\n            output[key] = source[key];\n          }\n        }\n      }\n    }\n  }\n  return output\n}\n\nfunction looseEqual (a, b) {\n  if (a === b) { return true }\n  var isObjectA = isObject(a);\n  var isObjectB = isObject(b);\n  if (isObjectA && isObjectB) {\n    try {\n      var isArrayA = Array.isArray(a);\n      var isArrayB = Array.isArray(b);\n      if (isArrayA && isArrayB) {\n        return a.length === b.length && a.every(function (e, i) {\n          return looseEqual(e, b[i])\n        })\n      } else if (!isArrayA && !isArrayB) {\n        var keysA = Object.keys(a);\n        var keysB = Object.keys(b);\n        return keysA.length === keysB.length && keysA.every(function (key) {\n          return looseEqual(a[key], b[key])\n        })\n      } else {\n        /* istanbul ignore next */\n        return false\n      }\n    } catch (e) {\n      /* istanbul ignore next */\n      return false\n    }\n  } else if (!isObjectA && !isObjectB) {\n    return String(a) === String(b)\n  } else {\n    return false\n  }\n}\n\n/*  */\n\nfunction extend (Vue) {\n  if (!Vue.prototype.hasOwnProperty('$i18n')) {\n    // $FlowFixMe\n    Object.defineProperty(Vue.prototype, '$i18n', {\n      get: function get () { return this._i18n }\n    });\n  }\n\n  Vue.prototype.$t = function (key) {\n    var values = [], len = arguments.length - 1;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n\n    var i18n = this.$i18n;\n    return i18n._t.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this ].concat( values ))\n  };\n\n  Vue.prototype.$tc = function (key, choice) {\n    var values = [], len = arguments.length - 2;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n\n    var i18n = this.$i18n;\n    return i18n._tc.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this, choice ].concat( values ))\n  };\n\n  Vue.prototype.$te = function (key, locale) {\n    var i18n = this.$i18n;\n    return i18n._te(key, i18n.locale, i18n._getMessages(), locale)\n  };\n\n  Vue.prototype.$d = function (value) {\n    var ref;\n\n    var args = [], len = arguments.length - 1;\n    while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n    return (ref = this.$i18n).d.apply(ref, [ value ].concat( args ))\n  };\n\n  Vue.prototype.$n = function (value) {\n    var ref;\n\n    var args = [], len = arguments.length - 1;\n    while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n    return (ref = this.$i18n).n.apply(ref, [ value ].concat( args ))\n  };\n}\n\n/*  */\n\nvar mixin = {\n  beforeCreate: function beforeCreate () {\n    var options = this.$options;\n    options.i18n = options.i18n || (options.__i18n ? {} : null);\n\n    if (options.i18n) {\n      if (options.i18n instanceof VueI18n) {\n        // init locale messages via custom blocks\n        if (options.__i18n) {\n          try {\n            var localeMessages = {};\n            options.__i18n.forEach(function (resource) {\n              localeMessages = merge(localeMessages, JSON.parse(resource));\n            });\n            Object.keys(localeMessages).forEach(function (locale) {\n              options.i18n.mergeLocaleMessage(locale, localeMessages[locale]);\n            });\n          } catch (e) {\n            if (process.env.NODE_ENV !== 'production') {\n              error(\"Cannot parse locale messages via custom blocks.\", e);\n            }\n          }\n        }\n        this._i18n = options.i18n;\n        this._i18nWatcher = this._i18n.watchI18nData();\n      } else if (isPlainObject(options.i18n)) {\n        var rootI18n = this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n\n          ? this.$root.$i18n\n          : null;\n        // component local i18n\n        if (rootI18n) {\n          options.i18n.root = this.$root;\n          options.i18n.formatter = rootI18n.formatter;\n          options.i18n.fallbackLocale = rootI18n.fallbackLocale;\n          options.i18n.formatFallbackMessages = rootI18n.formatFallbackMessages;\n          options.i18n.silentTranslationWarn = rootI18n.silentTranslationWarn;\n          options.i18n.silentFallbackWarn = rootI18n.silentFallbackWarn;\n          options.i18n.pluralizationRules = rootI18n.pluralizationRules;\n          options.i18n.preserveDirectiveContent = rootI18n.preserveDirectiveContent;\n        }\n\n        // init locale messages via custom blocks\n        if (options.__i18n) {\n          try {\n            var localeMessages$1 = {};\n            options.__i18n.forEach(function (resource) {\n              localeMessages$1 = merge(localeMessages$1, JSON.parse(resource));\n            });\n            options.i18n.messages = localeMessages$1;\n          } catch (e) {\n            if (process.env.NODE_ENV !== 'production') {\n              warn(\"Cannot parse locale messages via custom blocks.\", e);\n            }\n          }\n        }\n\n        var ref = options.i18n;\n        var sharedMessages = ref.sharedMessages;\n        if (sharedMessages && isPlainObject(sharedMessages)) {\n          options.i18n.messages = merge(options.i18n.messages, sharedMessages);\n        }\n\n        this._i18n = new VueI18n(options.i18n);\n        this._i18nWatcher = this._i18n.watchI18nData();\n\n        if (options.i18n.sync === undefined || !!options.i18n.sync) {\n          this._localeWatcher = this.$i18n.watchLocale();\n        }\n\n        if (rootI18n) {\n          rootI18n.onComponentInstanceCreated(this._i18n);\n        }\n      } else {\n        if (process.env.NODE_ENV !== 'production') {\n          warn(\"Cannot be interpreted 'i18n' option.\");\n        }\n      }\n    } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n      // root i18n\n      this._i18n = this.$root.$i18n;\n    } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n      // parent i18n\n      this._i18n = options.parent.$i18n;\n    }\n  },\n\n  beforeMount: function beforeMount () {\n    var options = this.$options;\n    options.i18n = options.i18n || (options.__i18n ? {} : null);\n\n    if (options.i18n) {\n      if (options.i18n instanceof VueI18n) {\n        // init locale messages via custom blocks\n        this._i18n.subscribeDataChanging(this);\n        this._subscribing = true;\n      } else if (isPlainObject(options.i18n)) {\n        this._i18n.subscribeDataChanging(this);\n        this._subscribing = true;\n      } else {\n        if (process.env.NODE_ENV !== 'production') {\n          warn(\"Cannot be interpreted 'i18n' option.\");\n        }\n      }\n    } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n      this._i18n.subscribeDataChanging(this);\n      this._subscribing = true;\n    } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n      this._i18n.subscribeDataChanging(this);\n      this._subscribing = true;\n    }\n  },\n\n  beforeDestroy: function beforeDestroy () {\n    if (!this._i18n) { return }\n\n    var self = this;\n    this.$nextTick(function () {\n      if (self._subscribing) {\n        self._i18n.unsubscribeDataChanging(self);\n        delete self._subscribing;\n      }\n\n      if (self._i18nWatcher) {\n        self._i18nWatcher();\n        self._i18n.destroyVM();\n        delete self._i18nWatcher;\n      }\n\n      if (self._localeWatcher) {\n        self._localeWatcher();\n        delete self._localeWatcher;\n      }\n    });\n  }\n};\n\n/*  */\n\nvar interpolationComponent = {\n  name: 'i18n',\n  functional: true,\n  props: {\n    tag: {\n      type: [String, Boolean, Object],\n      default: 'span'\n    },\n    path: {\n      type: String,\n      required: true\n    },\n    locale: {\n      type: String\n    },\n    places: {\n      type: [Array, Object]\n    }\n  },\n  render: function render (h, ref) {\n    var data = ref.data;\n    var parent = ref.parent;\n    var props = ref.props;\n    var slots = ref.slots;\n\n    var $i18n = parent.$i18n;\n    if (!$i18n) {\n      if (process.env.NODE_ENV !== 'production') {\n        warn('Cannot find VueI18n instance!');\n      }\n      return\n    }\n\n    var path = props.path;\n    var locale = props.locale;\n    var places = props.places;\n    var params = slots();\n    var children = $i18n.i(\n      path,\n      locale,\n      onlyHasDefaultPlace(params) || places\n        ? useLegacyPlaces(params.default, places)\n        : params\n    );\n\n    var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';\n    return tag ? h(tag, data, children) : children\n  }\n};\n\nfunction onlyHasDefaultPlace (params) {\n  var prop;\n  for (prop in params) {\n    if (prop !== 'default') { return false }\n  }\n  return Boolean(prop)\n}\n\nfunction useLegacyPlaces (children, places) {\n  var params = places ? createParamsFromPlaces(places) : {};\n\n  if (!children) { return params }\n\n  // Filter empty text nodes\n  children = children.filter(function (child) {\n    return child.tag || child.text.trim() !== ''\n  });\n\n  var everyPlace = children.every(vnodeHasPlaceAttribute);\n  if (process.env.NODE_ENV !== 'production' && everyPlace) {\n    warn('`place` attribute is deprecated in next major version. Please switch to Vue slots.');\n  }\n\n  return children.reduce(\n    everyPlace ? assignChildPlace : assignChildIndex,\n    params\n  )\n}\n\nfunction createParamsFromPlaces (places) {\n  if (process.env.NODE_ENV !== 'production') {\n    warn('`places` prop is deprecated in next major version. Please switch to Vue slots.');\n  }\n\n  return Array.isArray(places)\n    ? places.reduce(assignChildIndex, {})\n    : Object.assign({}, places)\n}\n\nfunction assignChildPlace (params, child) {\n  if (child.data && child.data.attrs && child.data.attrs.place) {\n    params[child.data.attrs.place] = child;\n  }\n  return params\n}\n\nfunction assignChildIndex (params, child, index) {\n  params[index] = child;\n  return params\n}\n\nfunction vnodeHasPlaceAttribute (vnode) {\n  return Boolean(vnode.data && vnode.data.attrs && vnode.data.attrs.place)\n}\n\n/*  */\n\nvar numberComponent = {\n  name: 'i18n-n',\n  functional: true,\n  props: {\n    tag: {\n      type: [String, Boolean, Object],\n      default: 'span'\n    },\n    value: {\n      type: Number,\n      required: true\n    },\n    format: {\n      type: [String, Object]\n    },\n    locale: {\n      type: String\n    }\n  },\n  render: function render (h, ref) {\n    var props = ref.props;\n    var parent = ref.parent;\n    var data = ref.data;\n\n    var i18n = parent.$i18n;\n\n    if (!i18n) {\n      if (process.env.NODE_ENV !== 'production') {\n        warn('Cannot find VueI18n instance!');\n      }\n      return null\n    }\n\n    var key = null;\n    var options = null;\n\n    if (isString(props.format)) {\n      key = props.format;\n    } else if (isObject(props.format)) {\n      if (props.format.key) {\n        key = props.format.key;\n      }\n\n      // Filter out number format options only\n      options = Object.keys(props.format).reduce(function (acc, prop) {\n        var obj;\n\n        if (includes(numberFormatKeys, prop)) {\n          return Object.assign({}, acc, ( obj = {}, obj[prop] = props.format[prop], obj ))\n        }\n        return acc\n      }, null);\n    }\n\n    var locale = props.locale || i18n.locale;\n    var parts = i18n._ntp(props.value, locale, key, options);\n\n    var values = parts.map(function (part, index) {\n      var obj;\n\n      var slot = data.scopedSlots && data.scopedSlots[part.type];\n      return slot ? slot(( obj = {}, obj[part.type] = part.value, obj.index = index, obj.parts = parts, obj )) : part.value\n    });\n\n    var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';\n    return tag\n      ? h(tag, {\n        attrs: data.attrs,\n        'class': data['class'],\n        staticClass: data.staticClass\n      }, values)\n      : values\n  }\n};\n\n/*  */\n\nfunction bind (el, binding, vnode) {\n  if (!assert(el, vnode)) { return }\n\n  t(el, binding, vnode);\n}\n\nfunction update (el, binding, vnode, oldVNode) {\n  if (!assert(el, vnode)) { return }\n\n  var i18n = vnode.context.$i18n;\n  if (localeEqual(el, vnode) &&\n    (looseEqual(binding.value, binding.oldValue) &&\n     looseEqual(el._localeMessage, i18n.getLocaleMessage(i18n.locale)))) { return }\n\n  t(el, binding, vnode);\n}\n\nfunction unbind (el, binding, vnode, oldVNode) {\n  var vm = vnode.context;\n  if (!vm) {\n    warn('Vue instance does not exists in VNode context');\n    return\n  }\n\n  var i18n = vnode.context.$i18n || {};\n  if (!binding.modifiers.preserve && !i18n.preserveDirectiveContent) {\n    el.textContent = '';\n  }\n  el._vt = undefined;\n  delete el['_vt'];\n  el._locale = undefined;\n  delete el['_locale'];\n  el._localeMessage = undefined;\n  delete el['_localeMessage'];\n}\n\nfunction assert (el, vnode) {\n  var vm = vnode.context;\n  if (!vm) {\n    warn('Vue instance does not exists in VNode context');\n    return false\n  }\n\n  if (!vm.$i18n) {\n    warn('VueI18n instance does not exists in Vue instance');\n    return false\n  }\n\n  return true\n}\n\nfunction localeEqual (el, vnode) {\n  var vm = vnode.context;\n  return el._locale === vm.$i18n.locale\n}\n\nfunction t (el, binding, vnode) {\n  var ref$1, ref$2;\n\n  var value = binding.value;\n\n  var ref = parseValue(value);\n  var path = ref.path;\n  var locale = ref.locale;\n  var args = ref.args;\n  var choice = ref.choice;\n  if (!path && !locale && !args) {\n    warn('value type not supported');\n    return\n  }\n\n  if (!path) {\n    warn('`path` is required in v-t directive');\n    return\n  }\n\n  var vm = vnode.context;\n  if (choice != null) {\n    el._vt = el.textContent = (ref$1 = vm.$i18n).tc.apply(ref$1, [ path, choice ].concat( makeParams(locale, args) ));\n  } else {\n    el._vt = el.textContent = (ref$2 = vm.$i18n).t.apply(ref$2, [ path ].concat( makeParams(locale, args) ));\n  }\n  el._locale = vm.$i18n.locale;\n  el._localeMessage = vm.$i18n.getLocaleMessage(vm.$i18n.locale);\n}\n\nfunction parseValue (value) {\n  var path;\n  var locale;\n  var args;\n  var choice;\n\n  if (isString(value)) {\n    path = value;\n  } else if (isPlainObject(value)) {\n    path = value.path;\n    locale = value.locale;\n    args = value.args;\n    choice = value.choice;\n  }\n\n  return { path: path, locale: locale, args: args, choice: choice }\n}\n\nfunction makeParams (locale, args) {\n  var params = [];\n\n  locale && params.push(locale);\n  if (args && (Array.isArray(args) || isPlainObject(args))) {\n    params.push(args);\n  }\n\n  return params\n}\n\nvar Vue;\n\nfunction install (_Vue) {\n  /* istanbul ignore if */\n  if (process.env.NODE_ENV !== 'production' && install.installed && _Vue === Vue) {\n    warn('already installed.');\n    return\n  }\n  install.installed = true;\n\n  Vue = _Vue;\n\n  var version = (Vue.version && Number(Vue.version.split('.')[0])) || -1;\n  /* istanbul ignore if */\n  if (process.env.NODE_ENV !== 'production' && version < 2) {\n    warn((\"vue-i18n (\" + (install.version) + \") need to use Vue 2.0 or later (Vue: \" + (Vue.version) + \").\"));\n    return\n  }\n\n  extend(Vue);\n  Vue.mixin(mixin);\n  Vue.directive('t', { bind: bind, update: update, unbind: unbind });\n  Vue.component(interpolationComponent.name, interpolationComponent);\n  Vue.component(numberComponent.name, numberComponent);\n\n  // use simple mergeStrategies to prevent i18n instance lose '__proto__'\n  var strats = Vue.config.optionMergeStrategies;\n  strats.i18n = function (parentVal, childVal) {\n    return childVal === undefined\n      ? parentVal\n      : childVal\n  };\n}\n\n/*  */\n\nvar BaseFormatter = function BaseFormatter () {\n  this._caches = Object.create(null);\n};\n\nBaseFormatter.prototype.interpolate = function interpolate (message, values) {\n  if (!values) {\n    return [message]\n  }\n  var tokens = this._caches[message];\n  if (!tokens) {\n    tokens = parse(message);\n    this._caches[message] = tokens;\n  }\n  return compile(tokens, values)\n};\n\n\n\nvar RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nvar RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\n\nfunction parse (format) {\n  var tokens = [];\n  var position = 0;\n\n  var text = '';\n  while (position < format.length) {\n    var char = format[position++];\n    if (char === '{') {\n      if (text) {\n        tokens.push({ type: 'text', value: text });\n      }\n\n      text = '';\n      var sub = '';\n      char = format[position++];\n      while (char !== undefined && char !== '}') {\n        sub += char;\n        char = format[position++];\n      }\n      var isClosed = char === '}';\n\n      var type = RE_TOKEN_LIST_VALUE.test(sub)\n        ? 'list'\n        : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n          ? 'named'\n          : 'unknown';\n      tokens.push({ value: sub, type: type });\n    } else if (char === '%') {\n      // when found rails i18n syntax, skip text capture\n      if (format[(position)] !== '{') {\n        text += char;\n      }\n    } else {\n      text += char;\n    }\n  }\n\n  text && tokens.push({ type: 'text', value: text });\n\n  return tokens\n}\n\nfunction compile (tokens, values) {\n  var compiled = [];\n  var index = 0;\n\n  var mode = Array.isArray(values)\n    ? 'list'\n    : isObject(values)\n      ? 'named'\n      : 'unknown';\n  if (mode === 'unknown') { return compiled }\n\n  while (index < tokens.length) {\n    var token = tokens[index];\n    switch (token.type) {\n      case 'text':\n        compiled.push(token.value);\n        break\n      case 'list':\n        compiled.push(values[parseInt(token.value, 10)]);\n        break\n      case 'named':\n        if (mode === 'named') {\n          compiled.push((values)[token.value]);\n        } else {\n          if (process.env.NODE_ENV !== 'production') {\n            warn((\"Type of token '\" + (token.type) + \"' and format of value '\" + mode + \"' don't match!\"));\n          }\n        }\n        break\n      case 'unknown':\n        if (process.env.NODE_ENV !== 'production') {\n          warn(\"Detect 'unknown' type of token!\");\n        }\n        break\n    }\n    index++;\n  }\n\n  return compiled\n}\n\n/*  */\n\n/**\n *  Path parser\n *  - Inspired:\n *    Vue.js Path parser\n */\n\n// actions\nvar APPEND = 0;\nvar PUSH = 1;\nvar INC_SUB_PATH_DEPTH = 2;\nvar PUSH_SUB_PATH = 3;\n\n// states\nvar BEFORE_PATH = 0;\nvar IN_PATH = 1;\nvar BEFORE_IDENT = 2;\nvar IN_IDENT = 3;\nvar IN_SUB_PATH = 4;\nvar IN_SINGLE_QUOTE = 5;\nvar IN_DOUBLE_QUOTE = 6;\nvar AFTER_PATH = 7;\nvar ERROR = 8;\n\nvar pathStateMachine = [];\n\npathStateMachine[BEFORE_PATH] = {\n  'ws': [BEFORE_PATH],\n  'ident': [IN_IDENT, APPEND],\n  '[': [IN_SUB_PATH],\n  'eof': [AFTER_PATH]\n};\n\npathStateMachine[IN_PATH] = {\n  'ws': [IN_PATH],\n  '.': [BEFORE_IDENT],\n  '[': [IN_SUB_PATH],\n  'eof': [AFTER_PATH]\n};\n\npathStateMachine[BEFORE_IDENT] = {\n  'ws': [BEFORE_IDENT],\n  'ident': [IN_IDENT, APPEND],\n  '0': [IN_IDENT, APPEND],\n  'number': [IN_IDENT, APPEND]\n};\n\npathStateMachine[IN_IDENT] = {\n  'ident': [IN_IDENT, APPEND],\n  '0': [IN_IDENT, APPEND],\n  'number': [IN_IDENT, APPEND],\n  'ws': [IN_PATH, PUSH],\n  '.': [BEFORE_IDENT, PUSH],\n  '[': [IN_SUB_PATH, PUSH],\n  'eof': [AFTER_PATH, PUSH]\n};\n\npathStateMachine[IN_SUB_PATH] = {\n  \"'\": [IN_SINGLE_QUOTE, APPEND],\n  '\"': [IN_DOUBLE_QUOTE, APPEND],\n  '[': [IN_SUB_PATH, INC_SUB_PATH_DEPTH],\n  ']': [IN_PATH, PUSH_SUB_PATH],\n  'eof': ERROR,\n  'else': [IN_SUB_PATH, APPEND]\n};\n\npathStateMachine[IN_SINGLE_QUOTE] = {\n  \"'\": [IN_SUB_PATH, APPEND],\n  'eof': ERROR,\n  'else': [IN_SINGLE_QUOTE, APPEND]\n};\n\npathStateMachine[IN_DOUBLE_QUOTE] = {\n  '\"': [IN_SUB_PATH, APPEND],\n  'eof': ERROR,\n  'else': [IN_DOUBLE_QUOTE, APPEND]\n};\n\n/**\n * Check if an expression is a literal value.\n */\n\nvar literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral (exp) {\n  return literalValueRE.test(exp)\n}\n\n/**\n * Strip quotes from a string\n */\n\nfunction stripQuotes (str) {\n  var a = str.charCodeAt(0);\n  var b = str.charCodeAt(str.length - 1);\n  return a === b && (a === 0x22 || a === 0x27)\n    ? str.slice(1, -1)\n    : str\n}\n\n/**\n * Determine the type of a character in a keypath.\n */\n\nfunction getPathCharType (ch) {\n  if (ch === undefined || ch === null) { return 'eof' }\n\n  var code = ch.charCodeAt(0);\n\n  switch (code) {\n    case 0x5B: // [\n    case 0x5D: // ]\n    case 0x2E: // .\n    case 0x22: // \"\n    case 0x27: // '\n      return ch\n\n    case 0x5F: // _\n    case 0x24: // $\n    case 0x2D: // -\n      return 'ident'\n\n    case 0x09: // Tab\n    case 0x0A: // Newline\n    case 0x0D: // Return\n    case 0xA0:  // No-break space\n    case 0xFEFF:  // Byte Order Mark\n    case 0x2028:  // Line Separator\n    case 0x2029:  // Paragraph Separator\n      return 'ws'\n  }\n\n  return 'ident'\n}\n\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\n\nfunction formatSubPath (path) {\n  var trimmed = path.trim();\n  // invalid leading 0\n  if (path.charAt(0) === '0' && isNaN(path)) { return false }\n\n  return isLiteral(trimmed) ? stripQuotes(trimmed) : '*' + trimmed\n}\n\n/**\n * Parse a string path into an array of segments\n */\n\nfunction parse$1 (path) {\n  var keys = [];\n  var index = -1;\n  var mode = BEFORE_PATH;\n  var subPathDepth = 0;\n  var c;\n  var key;\n  var newChar;\n  var type;\n  var transition;\n  var action;\n  var typeMap;\n  var actions = [];\n\n  actions[PUSH] = function () {\n    if (key !== undefined) {\n      keys.push(key);\n      key = undefined;\n    }\n  };\n\n  actions[APPEND] = function () {\n    if (key === undefined) {\n      key = newChar;\n    } else {\n      key += newChar;\n    }\n  };\n\n  actions[INC_SUB_PATH_DEPTH] = function () {\n    actions[APPEND]();\n    subPathDepth++;\n  };\n\n  actions[PUSH_SUB_PATH] = function () {\n    if (subPathDepth > 0) {\n      subPathDepth--;\n      mode = IN_SUB_PATH;\n      actions[APPEND]();\n    } else {\n      subPathDepth = 0;\n      if (key === undefined) { return false }\n      key = formatSubPath(key);\n      if (key === false) {\n        return false\n      } else {\n        actions[PUSH]();\n      }\n    }\n  };\n\n  function maybeUnescapeQuote () {\n    var nextChar = path[index + 1];\n    if ((mode === IN_SINGLE_QUOTE && nextChar === \"'\") ||\n      (mode === IN_DOUBLE_QUOTE && nextChar === '\"')) {\n      index++;\n      newChar = '\\\\' + nextChar;\n      actions[APPEND]();\n      return true\n    }\n  }\n\n  while (mode !== null) {\n    index++;\n    c = path[index];\n\n    if (c === '\\\\' && maybeUnescapeQuote()) {\n      continue\n    }\n\n    type = getPathCharType(c);\n    typeMap = pathStateMachine[mode];\n    transition = typeMap[type] || typeMap['else'] || ERROR;\n\n    if (transition === ERROR) {\n      return // parse error\n    }\n\n    mode = transition[0];\n    action = actions[transition[1]];\n    if (action) {\n      newChar = transition[2];\n      newChar = newChar === undefined\n        ? c\n        : newChar;\n      if (action() === false) {\n        return\n      }\n    }\n\n    if (mode === AFTER_PATH) {\n      return keys\n    }\n  }\n}\n\n\n\n\n\nvar I18nPath = function I18nPath () {\n  this._cache = Object.create(null);\n};\n\n/**\n * External parse that check for a cache hit first\n */\nI18nPath.prototype.parsePath = function parsePath (path) {\n  var hit = this._cache[path];\n  if (!hit) {\n    hit = parse$1(path);\n    if (hit) {\n      this._cache[path] = hit;\n    }\n  }\n  return hit || []\n};\n\n/**\n * Get path value from path string\n */\nI18nPath.prototype.getPathValue = function getPathValue (obj, path) {\n  if (!isObject(obj)) { return null }\n\n  var paths = this.parsePath(path);\n  if (paths.length === 0) {\n    return null\n  } else {\n    var length = paths.length;\n    var last = obj;\n    var i = 0;\n    while (i < length) {\n      var value = last[paths[i]];\n      if (value === undefined) {\n        return null\n      }\n      last = value;\n      i++;\n    }\n\n    return last\n  }\n};\n\n/*  */\n\n\n\nvar htmlTagMatcher = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nvar linkKeyMatcher = /(?:@(?:\\.[a-z]+)?:(?:[\\w\\-_|.]+|\\([\\w\\-_|.]+\\)))/g;\nvar linkKeyPrefixMatcher = /^@(?:\\.([a-z]+))?:/;\nvar bracketsMatcher = /[()]/g;\nvar defaultModifiers = {\n  'upper': function (str) { return str.toLocaleUpperCase(); },\n  'lower': function (str) { return str.toLocaleLowerCase(); },\n  'capitalize': function (str) { return (\"\" + (str.charAt(0).toLocaleUpperCase()) + (str.substr(1))); }\n};\n\nvar defaultFormatter = new BaseFormatter();\n\nvar VueI18n = function VueI18n (options) {\n  var this$1 = this;\n  if ( options === void 0 ) options = {};\n\n  // Auto install if it is not done yet and `window` has `Vue`.\n  // To allow users to avoid auto-installation in some cases,\n  // this code should be placed here. See #290\n  /* istanbul ignore if */\n  if (!Vue && typeof window !== 'undefined' && window.Vue) {\n    install(window.Vue);\n  }\n\n  var locale = options.locale || 'en-US';\n  var fallbackLocale = options.fallbackLocale === false\n    ? false\n    : options.fallbackLocale || 'en-US';\n  var messages = options.messages || {};\n  var dateTimeFormats = options.dateTimeFormats || {};\n  var numberFormats = options.numberFormats || {};\n\n  this._vm = null;\n  this._formatter = options.formatter || defaultFormatter;\n  this._modifiers = options.modifiers || {};\n  this._missing = options.missing || null;\n  this._root = options.root || null;\n  this._sync = options.sync === undefined ? true : !!options.sync;\n  this._fallbackRoot = options.fallbackRoot === undefined\n    ? true\n    : !!options.fallbackRoot;\n  this._formatFallbackMessages = options.formatFallbackMessages === undefined\n    ? false\n    : !!options.formatFallbackMessages;\n  this._silentTranslationWarn = options.silentTranslationWarn === undefined\n    ? false\n    : options.silentTranslationWarn;\n  this._silentFallbackWarn = options.silentFallbackWarn === undefined\n    ? false\n    : !!options.silentFallbackWarn;\n  this._dateTimeFormatters = {};\n  this._numberFormatters = {};\n  this._path = new I18nPath();\n  this._dataListeners = [];\n  this._componentInstanceCreatedListener = options.componentInstanceCreatedListener || null;\n  this._preserveDirectiveContent = options.preserveDirectiveContent === undefined\n    ? false\n    : !!options.preserveDirectiveContent;\n  this.pluralizationRules = options.pluralizationRules || {};\n  this._warnHtmlInMessage = options.warnHtmlInMessage || 'off';\n  this._postTranslation = options.postTranslation || null;\n\n  /**\n   * @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)`\n   * @param choicesLength {number} an overall amount of available choices\n   * @returns a final choice index\n  */\n  this.getChoiceIndex = function (choice, choicesLength) {\n    var thisPrototype = Object.getPrototypeOf(this$1);\n    if (thisPrototype && thisPrototype.getChoiceIndex) {\n      var prototypeGetChoiceIndex = (thisPrototype.getChoiceIndex);\n      return (prototypeGetChoiceIndex).call(this$1, choice, choicesLength)\n    }\n\n    // Default (old) getChoiceIndex implementation - english-compatible\n    var defaultImpl = function (_choice, _choicesLength) {\n      _choice = Math.abs(_choice);\n\n      if (_choicesLength === 2) {\n        return _choice\n          ? _choice > 1\n            ? 1\n            : 0\n          : 1\n      }\n\n      return _choice ? Math.min(_choice, 2) : 0\n    };\n\n    if (this$1.locale in this$1.pluralizationRules) {\n      return this$1.pluralizationRules[this$1.locale].apply(this$1, [choice, choicesLength])\n    } else {\n      return defaultImpl(choice, choicesLength)\n    }\n  };\n\n\n  this._exist = function (message, key) {\n    if (!message || !key) { return false }\n    if (!isNull(this$1._path.getPathValue(message, key))) { return true }\n    // fallback for flat key\n    if (message[key]) { return true }\n    return false\n  };\n\n  if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n    Object.keys(messages).forEach(function (locale) {\n      this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n    });\n  }\n\n  this._initVM({\n    locale: locale,\n    fallbackLocale: fallbackLocale,\n    messages: messages,\n    dateTimeFormats: dateTimeFormats,\n    numberFormats: numberFormats\n  });\n};\n\nvar prototypeAccessors = { vm: { configurable: true },messages: { configurable: true },dateTimeFormats: { configurable: true },numberFormats: { configurable: true },availableLocales: { configurable: true },locale: { configurable: true },fallbackLocale: { configurable: true },formatFallbackMessages: { configurable: true },missing: { configurable: true },formatter: { configurable: true },silentTranslationWarn: { configurable: true },silentFallbackWarn: { configurable: true },preserveDirectiveContent: { configurable: true },warnHtmlInMessage: { configurable: true },postTranslation: { configurable: true } };\n\nVueI18n.prototype._checkLocaleMessage = function _checkLocaleMessage (locale, level, message) {\n  var paths = [];\n\n  var fn = function (level, locale, message, paths) {\n    if (isPlainObject(message)) {\n      Object.keys(message).forEach(function (key) {\n        var val = message[key];\n        if (isPlainObject(val)) {\n          paths.push(key);\n          paths.push('.');\n          fn(level, locale, val, paths);\n          paths.pop();\n          paths.pop();\n        } else {\n          paths.push(key);\n          fn(level, locale, val, paths);\n          paths.pop();\n        }\n      });\n    } else if (Array.isArray(message)) {\n      message.forEach(function (item, index) {\n        if (isPlainObject(item)) {\n          paths.push((\"[\" + index + \"]\"));\n          paths.push('.');\n          fn(level, locale, item, paths);\n          paths.pop();\n          paths.pop();\n        } else {\n          paths.push((\"[\" + index + \"]\"));\n          fn(level, locale, item, paths);\n          paths.pop();\n        }\n      });\n    } else if (isString(message)) {\n      var ret = htmlTagMatcher.test(message);\n      if (ret) {\n        var msg = \"Detected HTML in message '\" + message + \"' of keypath '\" + (paths.join('')) + \"' at '\" + locale + \"'. Consider component interpolation with '<i18n>' to avoid XSS. See https://bit.ly/2ZqJzkp\";\n        if (level === 'warn') {\n          warn(msg);\n        } else if (level === 'error') {\n          error(msg);\n        }\n      }\n    }\n  };\n\n  fn(level, locale, message, paths);\n};\n\nVueI18n.prototype._initVM = function _initVM (data) {\n  var silent = Vue.config.silent;\n  Vue.config.silent = true;\n  this._vm = new Vue({ data: data });\n  Vue.config.silent = silent;\n};\n\nVueI18n.prototype.destroyVM = function destroyVM () {\n  this._vm.$destroy();\n};\n\nVueI18n.prototype.subscribeDataChanging = function subscribeDataChanging (vm) {\n  this._dataListeners.push(vm);\n};\n\nVueI18n.prototype.unsubscribeDataChanging = function unsubscribeDataChanging (vm) {\n  remove(this._dataListeners, vm);\n};\n\nVueI18n.prototype.watchI18nData = function watchI18nData () {\n  var self = this;\n  return this._vm.$watch('$data', function () {\n    var i = self._dataListeners.length;\n    while (i--) {\n      Vue.nextTick(function () {\n        self._dataListeners[i] && self._dataListeners[i].$forceUpdate();\n      });\n    }\n  }, { deep: true })\n};\n\nVueI18n.prototype.watchLocale = function watchLocale () {\n  /* istanbul ignore if */\n  if (!this._sync || !this._root) { return null }\n  var target = this._vm;\n  return this._root.$i18n.vm.$watch('locale', function (val) {\n    target.$set(target, 'locale', val);\n    target.$forceUpdate();\n  }, { immediate: true })\n};\n\nVueI18n.prototype.onComponentInstanceCreated = function onComponentInstanceCreated (newI18n) {\n  if (this._componentInstanceCreatedListener) {\n    this._componentInstanceCreatedListener(newI18n, this);\n  }\n};\n\nprototypeAccessors.vm.get = function () { return this._vm };\n\nprototypeAccessors.messages.get = function () { return looseClone(this._getMessages()) };\nprototypeAccessors.dateTimeFormats.get = function () { return looseClone(this._getDateTimeFormats()) };\nprototypeAccessors.numberFormats.get = function () { return looseClone(this._getNumberFormats()) };\nprototypeAccessors.availableLocales.get = function () { return Object.keys(this.messages).sort() };\n\nprototypeAccessors.locale.get = function () { return this._vm.locale };\nprototypeAccessors.locale.set = function (locale) {\n  this._vm.$set(this._vm, 'locale', locale);\n};\n\nprototypeAccessors.fallbackLocale.get = function () { return this._vm.fallbackLocale };\nprototypeAccessors.fallbackLocale.set = function (locale) {\n  this._localeChainCache = {};\n  this._vm.$set(this._vm, 'fallbackLocale', locale);\n};\n\nprototypeAccessors.formatFallbackMessages.get = function () { return this._formatFallbackMessages };\nprototypeAccessors.formatFallbackMessages.set = function (fallback) { this._formatFallbackMessages = fallback; };\n\nprototypeAccessors.missing.get = function () { return this._missing };\nprototypeAccessors.missing.set = function (handler) { this._missing = handler; };\n\nprototypeAccessors.formatter.get = function () { return this._formatter };\nprototypeAccessors.formatter.set = function (formatter) { this._formatter = formatter; };\n\nprototypeAccessors.silentTranslationWarn.get = function () { return this._silentTranslationWarn };\nprototypeAccessors.silentTranslationWarn.set = function (silent) { this._silentTranslationWarn = silent; };\n\nprototypeAccessors.silentFallbackWarn.get = function () { return this._silentFallbackWarn };\nprototypeAccessors.silentFallbackWarn.set = function (silent) { this._silentFallbackWarn = silent; };\n\nprototypeAccessors.preserveDirectiveContent.get = function () { return this._preserveDirectiveContent };\nprototypeAccessors.preserveDirectiveContent.set = function (preserve) { this._preserveDirectiveContent = preserve; };\n\nprototypeAccessors.warnHtmlInMessage.get = function () { return this._warnHtmlInMessage };\nprototypeAccessors.warnHtmlInMessage.set = function (level) {\n    var this$1 = this;\n\n  var orgLevel = this._warnHtmlInMessage;\n  this._warnHtmlInMessage = level;\n  if (orgLevel !== level && (level === 'warn' || level === 'error')) {\n    var messages = this._getMessages();\n    Object.keys(messages).forEach(function (locale) {\n      this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n    });\n  }\n};\n\nprototypeAccessors.postTranslation.get = function () { return this._postTranslation };\nprototypeAccessors.postTranslation.set = function (handler) { this._postTranslation = handler; };\n\nVueI18n.prototype._getMessages = function _getMessages () { return this._vm.messages };\nVueI18n.prototype._getDateTimeFormats = function _getDateTimeFormats () { return this._vm.dateTimeFormats };\nVueI18n.prototype._getNumberFormats = function _getNumberFormats () { return this._vm.numberFormats };\n\nVueI18n.prototype._warnDefault = function _warnDefault (locale, key, result, vm, values, interpolateMode) {\n  if (!isNull(result)) { return result }\n  if (this._missing) {\n    var missingRet = this._missing.apply(null, [locale, key, vm, values]);\n    if (isString(missingRet)) {\n      return missingRet\n    }\n  } else {\n    if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n      warn(\n        \"Cannot translate the value of keypath '\" + key + \"'. \" +\n        'Use the value of keypath as default.'\n      );\n    }\n  }\n\n  if (this._formatFallbackMessages) {\n    var parsedArgs = parseArgs.apply(void 0, values);\n    return this._render(key, interpolateMode, parsedArgs.params, key)\n  } else {\n    return key\n  }\n};\n\nVueI18n.prototype._isFallbackRoot = function _isFallbackRoot (val) {\n  return !val && !isNull(this._root) && this._fallbackRoot\n};\n\nVueI18n.prototype._isSilentFallbackWarn = function _isSilentFallbackWarn (key) {\n  return this._silentFallbackWarn instanceof RegExp\n    ? this._silentFallbackWarn.test(key)\n    : this._silentFallbackWarn\n};\n\nVueI18n.prototype._isSilentFallback = function _isSilentFallback (locale, key) {\n  return this._isSilentFallbackWarn(key) && (this._isFallbackRoot() || locale !== this.fallbackLocale)\n};\n\nVueI18n.prototype._isSilentTranslationWarn = function _isSilentTranslationWarn (key) {\n  return this._silentTranslationWarn instanceof RegExp\n    ? this._silentTranslationWarn.test(key)\n    : this._silentTranslationWarn\n};\n\nVueI18n.prototype._interpolate = function _interpolate (\n  locale,\n  message,\n  key,\n  host,\n  interpolateMode,\n  values,\n  visitedLinkStack\n) {\n  if (!message) { return null }\n\n  var pathRet = this._path.getPathValue(message, key);\n  if (Array.isArray(pathRet) || isPlainObject(pathRet)) { return pathRet }\n\n  var ret;\n  if (isNull(pathRet)) {\n    /* istanbul ignore else */\n    if (isPlainObject(message)) {\n      ret = message[key];\n      if (!isString(ret)) {\n        if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n          warn((\"Value of key '\" + key + \"' is not a string!\"));\n        }\n        return null\n      }\n    } else {\n      return null\n    }\n  } else {\n    /* istanbul ignore else */\n    if (isString(pathRet)) {\n      ret = pathRet;\n    } else {\n      if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n        warn((\"Value of key '\" + key + \"' is not a string!\"));\n      }\n      return null\n    }\n  }\n\n  // Check for the existence of links within the translated string\n  if (ret.indexOf('@:') >= 0 || ret.indexOf('@.') >= 0) {\n    ret = this._link(locale, message, ret, host, 'raw', values, visitedLinkStack);\n  }\n\n  return this._render(ret, interpolateMode, values, key)\n};\n\nVueI18n.prototype._link = function _link (\n  locale,\n  message,\n  str,\n  host,\n  interpolateMode,\n  values,\n  visitedLinkStack\n) {\n  var ret = str;\n\n  // Match all the links within the local\n  // We are going to replace each of\n  // them with its translation\n  var matches = ret.match(linkKeyMatcher);\n  for (var idx in matches) {\n    // ie compatible: filter custom array\n    // prototype method\n    if (!matches.hasOwnProperty(idx)) {\n      continue\n    }\n    var link = matches[idx];\n    var linkKeyPrefixMatches = link.match(linkKeyPrefixMatcher);\n    var linkPrefix = linkKeyPrefixMatches[0];\n      var formatterName = linkKeyPrefixMatches[1];\n\n    // Remove the leading @:, @.case: and the brackets\n    var linkPlaceholder = link.replace(linkPrefix, '').replace(bracketsMatcher, '');\n\n    if (includes(visitedLinkStack, linkPlaceholder)) {\n      if (process.env.NODE_ENV !== 'production') {\n        warn((\"Circular reference found. \\\"\" + link + \"\\\" is already visited in the chain of \" + (visitedLinkStack.reverse().join(' <- '))));\n      }\n      return ret\n    }\n    visitedLinkStack.push(linkPlaceholder);\n\n    // Translate the link\n    var translated = this._interpolate(\n      locale, message, linkPlaceholder, host,\n      interpolateMode === 'raw' ? 'string' : interpolateMode,\n      interpolateMode === 'raw' ? undefined : values,\n      visitedLinkStack\n    );\n\n    if (this._isFallbackRoot(translated)) {\n      if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(linkPlaceholder)) {\n        warn((\"Fall back to translate the link placeholder '\" + linkPlaceholder + \"' with root locale.\"));\n      }\n      /* istanbul ignore if */\n      if (!this._root) { throw Error('unexpected error') }\n      var root = this._root.$i18n;\n      translated = root._translate(\n        root._getMessages(), root.locale, root.fallbackLocale,\n        linkPlaceholder, host, interpolateMode, values\n      );\n    }\n    translated = this._warnDefault(\n      locale, linkPlaceholder, translated, host,\n      Array.isArray(values) ? values : [values],\n      interpolateMode\n    );\n\n    if (this._modifiers.hasOwnProperty(formatterName)) {\n      translated = this._modifiers[formatterName](translated);\n    } else if (defaultModifiers.hasOwnProperty(formatterName)) {\n      translated = defaultModifiers[formatterName](translated);\n    }\n\n    visitedLinkStack.pop();\n\n    // Replace the link with the translated\n    ret = !translated ? ret : ret.replace(link, translated);\n  }\n\n  return ret\n};\n\nVueI18n.prototype._render = function _render (message, interpolateMode, values, path) {\n  var ret = this._formatter.interpolate(message, values, path);\n\n  // If the custom formatter refuses to work - apply the default one\n  if (!ret) {\n    ret = defaultFormatter.interpolate(message, values, path);\n  }\n\n  // if interpolateMode is **not** 'string' ('row'),\n  // return the compiled data (e.g. ['foo', VNode, 'bar']) with formatter\n  return interpolateMode === 'string' && !isString(ret) ? ret.join('') : ret\n};\n\nVueI18n.prototype._appendItemToChain = function _appendItemToChain (chain, item, blocks) {\n  var follow = false;\n  if (!includes(chain, item)) {\n    follow = true;\n    if (item) {\n      follow = item[item.length - 1] !== '!';\n      item = item.replace(/!/g, '');\n      chain.push(item);\n      if (blocks && blocks[item]) {\n        follow = blocks[item];\n      }\n    }\n  }\n  return follow\n};\n\nVueI18n.prototype._appendLocaleToChain = function _appendLocaleToChain (chain, locale, blocks) {\n  var follow;\n  var tokens = locale.split('-');\n  do {\n    var item = tokens.join('-');\n    follow = this._appendItemToChain(chain, item, blocks);\n    tokens.splice(-1, 1);\n  } while (tokens.length && (follow === true))\n  return follow\n};\n\nVueI18n.prototype._appendBlockToChain = function _appendBlockToChain (chain, block, blocks) {\n  var follow = true;\n  for (var i = 0; (i < block.length) && (isBoolean(follow)); i++) {\n    var locale = block[i];\n    if (isString(locale)) {\n      follow = this._appendLocaleToChain(chain, locale, blocks);\n    }\n  }\n  return follow\n};\n\nVueI18n.prototype._getLocaleChain = function _getLocaleChain (start, fallbackLocale) {\n  if (start === '') { return [] }\n\n  if (!this._localeChainCache) {\n    this._localeChainCache = {};\n  }\n\n  var chain = this._localeChainCache[start];\n  if (!chain) {\n    if (!fallbackLocale) {\n      fallbackLocale = this.fallbackLocale;\n    }\n    chain = [];\n\n    // first block defined by start\n    var block = [start];\n\n    // while any intervening block found\n    while (isArray(block)) {\n      block = this._appendBlockToChain(\n        chain,\n        block,\n        fallbackLocale\n      );\n    }\n\n    // last block defined by default\n    var defaults;\n    if (isArray(fallbackLocale)) {\n      defaults = fallbackLocale;\n    } else if (isObject(fallbackLocale)) {\n      /* $FlowFixMe */\n      if (fallbackLocale['default']) {\n        defaults = fallbackLocale['default'];\n      } else {\n        defaults = null;\n      }\n    } else {\n      defaults = fallbackLocale;\n    }\n\n    // convert defaults to array\n    if (isString(defaults)) {\n      block = [defaults];\n    } else {\n      block = defaults;\n    }\n    if (block) {\n      this._appendBlockToChain(\n        chain,\n        block,\n        null\n      );\n    }\n    this._localeChainCache[start] = chain;\n  }\n  return chain\n};\n\nVueI18n.prototype._translate = function _translate (\n  messages,\n  locale,\n  fallback,\n  key,\n  host,\n  interpolateMode,\n  args\n) {\n  var chain = this._getLocaleChain(locale, fallback);\n  var res;\n  for (var i = 0; i < chain.length; i++) {\n    var step = chain[i];\n    res =\n      this._interpolate(step, messages[step], key, host, interpolateMode, args, [key]);\n    if (!isNull(res)) {\n      if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n        warn((\"Fall back to translate the keypath '\" + key + \"' with '\" + step + \"' locale.\"));\n      }\n      return res\n    }\n  }\n  return null\n};\n\nVueI18n.prototype._t = function _t (key, _locale, messages, host) {\n    var ref;\n\n    var values = [], len = arguments.length - 4;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 4 ];\n  if (!key) { return '' }\n\n  var parsedArgs = parseArgs.apply(void 0, values);\n  var locale = parsedArgs.locale || _locale;\n\n  var ret = this._translate(\n    messages, locale, this.fallbackLocale, key,\n    host, 'string', parsedArgs.params\n  );\n  if (this._isFallbackRoot(ret)) {\n    if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n      warn((\"Fall back to translate the keypath '\" + key + \"' with root locale.\"));\n    }\n    /* istanbul ignore if */\n    if (!this._root) { throw Error('unexpected error') }\n    return (ref = this._root).$t.apply(ref, [ key ].concat( values ))\n  } else {\n    ret = this._warnDefault(locale, key, ret, host, values, 'string');\n    if (this._postTranslation && ret !== null && ret !== undefined) {\n      ret = this._postTranslation(ret, key);\n    }\n    return ret\n  }\n};\n\nVueI18n.prototype.t = function t (key) {\n    var ref;\n\n    var values = [], len = arguments.length - 1;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n  return (ref = this)._t.apply(ref, [ key, this.locale, this._getMessages(), null ].concat( values ))\n};\n\nVueI18n.prototype._i = function _i (key, locale, messages, host, values) {\n  var ret =\n    this._translate(messages, locale, this.fallbackLocale, key, host, 'raw', values);\n  if (this._isFallbackRoot(ret)) {\n    if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n      warn((\"Fall back to interpolate the keypath '\" + key + \"' with root locale.\"));\n    }\n    if (!this._root) { throw Error('unexpected error') }\n    return this._root.$i18n.i(key, locale, values)\n  } else {\n    return this._warnDefault(locale, key, ret, host, [values], 'raw')\n  }\n};\n\nVueI18n.prototype.i = function i (key, locale, values) {\n  /* istanbul ignore if */\n  if (!key) { return '' }\n\n  if (!isString(locale)) {\n    locale = this.locale;\n  }\n\n  return this._i(key, locale, this._getMessages(), null, values)\n};\n\nVueI18n.prototype._tc = function _tc (\n  key,\n  _locale,\n  messages,\n  host,\n  choice\n) {\n    var ref;\n\n    var values = [], len = arguments.length - 5;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 5 ];\n  if (!key) { return '' }\n  if (choice === undefined) {\n    choice = 1;\n  }\n\n  var predefined = { 'count': choice, 'n': choice };\n  var parsedArgs = parseArgs.apply(void 0, values);\n  parsedArgs.params = Object.assign(predefined, parsedArgs.params);\n  values = parsedArgs.locale === null ? [parsedArgs.params] : [parsedArgs.locale, parsedArgs.params];\n  return this.fetchChoice((ref = this)._t.apply(ref, [ key, _locale, messages, host ].concat( values )), choice)\n};\n\nVueI18n.prototype.fetchChoice = function fetchChoice (message, choice) {\n  /* istanbul ignore if */\n  if (!message && !isString(message)) { return null }\n  var choices = message.split('|');\n\n  choice = this.getChoiceIndex(choice, choices.length);\n  if (!choices[choice]) { return message }\n  return choices[choice].trim()\n};\n\nVueI18n.prototype.tc = function tc (key, choice) {\n    var ref;\n\n    var values = [], len = arguments.length - 2;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n  return (ref = this)._tc.apply(ref, [ key, this.locale, this._getMessages(), null, choice ].concat( values ))\n};\n\nVueI18n.prototype._te = function _te (key, locale, messages) {\n    var args = [], len = arguments.length - 3;\n    while ( len-- > 0 ) args[ len ] = arguments[ len + 3 ];\n\n  var _locale = parseArgs.apply(void 0, args).locale || locale;\n  return this._exist(messages[_locale], key)\n};\n\nVueI18n.prototype.te = function te (key, locale) {\n  return this._te(key, this.locale, this._getMessages(), locale)\n};\n\nVueI18n.prototype.getLocaleMessage = function getLocaleMessage (locale) {\n  return looseClone(this._vm.messages[locale] || {})\n};\n\nVueI18n.prototype.setLocaleMessage = function setLocaleMessage (locale, message) {\n  if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n    this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n  }\n  this._vm.$set(this._vm.messages, locale, message);\n};\n\nVueI18n.prototype.mergeLocaleMessage = function mergeLocaleMessage (locale, message) {\n  if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n    this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n  }\n  this._vm.$set(this._vm.messages, locale, merge({}, this._vm.messages[locale] || {}, message));\n};\n\nVueI18n.prototype.getDateTimeFormat = function getDateTimeFormat (locale) {\n  return looseClone(this._vm.dateTimeFormats[locale] || {})\n};\n\nVueI18n.prototype.setDateTimeFormat = function setDateTimeFormat (locale, format) {\n  this._vm.$set(this._vm.dateTimeFormats, locale, format);\n  this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype.mergeDateTimeFormat = function mergeDateTimeFormat (locale, format) {\n  this._vm.$set(this._vm.dateTimeFormats, locale, merge(this._vm.dateTimeFormats[locale] || {}, format));\n  this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype._clearDateTimeFormat = function _clearDateTimeFormat (locale, format) {\n  for (var key in format) {\n    var id = locale + \"__\" + key;\n\n    if (!this._dateTimeFormatters.hasOwnProperty(id)) {\n      continue\n    }\n\n    delete this._dateTimeFormatters[id];\n  }\n};\n\nVueI18n.prototype._localizeDateTime = function _localizeDateTime (\n  value,\n  locale,\n  fallback,\n  dateTimeFormats,\n  key\n) {\n  var _locale = locale;\n  var formats = dateTimeFormats[_locale];\n\n  var chain = this._getLocaleChain(locale, fallback);\n  for (var i = 0; i < chain.length; i++) {\n    var current = _locale;\n    var step = chain[i];\n    formats = dateTimeFormats[step];\n    _locale = step;\n    // fallback locale\n    if (isNull(formats) || isNull(formats[key])) {\n      if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n        warn((\"Fall back to '\" + step + \"' datetime formats from '\" + current + \"' datetime formats.\"));\n      }\n    } else {\n      break\n    }\n  }\n\n  if (isNull(formats) || isNull(formats[key])) {\n    return null\n  } else {\n    var format = formats[key];\n    var id = _locale + \"__\" + key;\n    var formatter = this._dateTimeFormatters[id];\n    if (!formatter) {\n      formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);\n    }\n    return formatter.format(value)\n  }\n};\n\nVueI18n.prototype._d = function _d (value, locale, key) {\n  /* istanbul ignore if */\n  if (process.env.NODE_ENV !== 'production' && !VueI18n.availabilities.dateTimeFormat) {\n    warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');\n    return ''\n  }\n\n  if (!key) {\n    return new Intl.DateTimeFormat(locale).format(value)\n  }\n\n  var ret =\n    this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key);\n  if (this._isFallbackRoot(ret)) {\n    if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n      warn((\"Fall back to datetime localization of root: key '\" + key + \"'.\"));\n    }\n    /* istanbul ignore if */\n    if (!this._root) { throw Error('unexpected error') }\n    return this._root.$i18n.d(value, key, locale)\n  } else {\n    return ret || ''\n  }\n};\n\nVueI18n.prototype.d = function d (value) {\n    var args = [], len = arguments.length - 1;\n    while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n  var locale = this.locale;\n  var key = null;\n\n  if (args.length === 1) {\n    if (isString(args[0])) {\n      key = args[0];\n    } else if (isObject(args[0])) {\n      if (args[0].locale) {\n        locale = args[0].locale;\n      }\n      if (args[0].key) {\n        key = args[0].key;\n      }\n    }\n  } else if (args.length === 2) {\n    if (isString(args[0])) {\n      key = args[0];\n    }\n    if (isString(args[1])) {\n      locale = args[1];\n    }\n  }\n\n  return this._d(value, locale, key)\n};\n\nVueI18n.prototype.getNumberFormat = function getNumberFormat (locale) {\n  return looseClone(this._vm.numberFormats[locale] || {})\n};\n\nVueI18n.prototype.setNumberFormat = function setNumberFormat (locale, format) {\n  this._vm.$set(this._vm.numberFormats, locale, format);\n  this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype.mergeNumberFormat = function mergeNumberFormat (locale, format) {\n  this._vm.$set(this._vm.numberFormats, locale, merge(this._vm.numberFormats[locale] || {}, format));\n  this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype._clearNumberFormat = function _clearNumberFormat (locale, format) {\n  for (var key in format) {\n    var id = locale + \"__\" + key;\n\n    if (!this._numberFormatters.hasOwnProperty(id)) {\n      continue\n    }\n\n    delete this._numberFormatters[id];\n  }\n};\n\nVueI18n.prototype._getNumberFormatter = function _getNumberFormatter (\n  value,\n  locale,\n  fallback,\n  numberFormats,\n  key,\n  options\n) {\n  var _locale = locale;\n  var formats = numberFormats[_locale];\n\n  var chain = this._getLocaleChain(locale, fallback);\n  for (var i = 0; i < chain.length; i++) {\n    var current = _locale;\n    var step = chain[i];\n    formats = numberFormats[step];\n    _locale = step;\n    // fallback locale\n    if (isNull(formats) || isNull(formats[key])) {\n      if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n        warn((\"Fall back to '\" + step + \"' number formats from '\" + current + \"' number formats.\"));\n      }\n    } else {\n      break\n    }\n  }\n\n  if (isNull(formats) || isNull(formats[key])) {\n    return null\n  } else {\n    var format = formats[key];\n\n    var formatter;\n    if (options) {\n      // If options specified - create one time number formatter\n      formatter = new Intl.NumberFormat(_locale, Object.assign({}, format, options));\n    } else {\n      var id = _locale + \"__\" + key;\n      formatter = this._numberFormatters[id];\n      if (!formatter) {\n        formatter = this._numberFormatters[id] = new Intl.NumberFormat(_locale, format);\n      }\n    }\n    return formatter\n  }\n};\n\nVueI18n.prototype._n = function _n (value, locale, key, options) {\n  /* istanbul ignore if */\n  if (!VueI18n.availabilities.numberFormat) {\n    if (process.env.NODE_ENV !== 'production') {\n      warn('Cannot format a Number value due to not supported Intl.NumberFormat.');\n    }\n    return ''\n  }\n\n  if (!key) {\n    var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n    return nf.format(value)\n  }\n\n  var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n  var ret = formatter && formatter.format(value);\n  if (this._isFallbackRoot(ret)) {\n    if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n      warn((\"Fall back to number localization of root: key '\" + key + \"'.\"));\n    }\n    /* istanbul ignore if */\n    if (!this._root) { throw Error('unexpected error') }\n    return this._root.$i18n.n(value, Object.assign({}, { key: key, locale: locale }, options))\n  } else {\n    return ret || ''\n  }\n};\n\nVueI18n.prototype.n = function n (value) {\n    var args = [], len = arguments.length - 1;\n    while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n  var locale = this.locale;\n  var key = null;\n  var options = null;\n\n  if (args.length === 1) {\n    if (isString(args[0])) {\n      key = args[0];\n    } else if (isObject(args[0])) {\n      if (args[0].locale) {\n        locale = args[0].locale;\n      }\n      if (args[0].key) {\n        key = args[0].key;\n      }\n\n      // Filter out number format options only\n      options = Object.keys(args[0]).reduce(function (acc, key) {\n          var obj;\n\n        if (includes(numberFormatKeys, key)) {\n          return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))\n        }\n        return acc\n      }, null);\n    }\n  } else if (args.length === 2) {\n    if (isString(args[0])) {\n      key = args[0];\n    }\n    if (isString(args[1])) {\n      locale = args[1];\n    }\n  }\n\n  return this._n(value, locale, key, options)\n};\n\nVueI18n.prototype._ntp = function _ntp (value, locale, key, options) {\n  /* istanbul ignore if */\n  if (!VueI18n.availabilities.numberFormat) {\n    if (process.env.NODE_ENV !== 'production') {\n      warn('Cannot format to parts a Number value due to not supported Intl.NumberFormat.');\n    }\n    return []\n  }\n\n  if (!key) {\n    var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n    return nf.formatToParts(value)\n  }\n\n  var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n  var ret = formatter && formatter.formatToParts(value);\n  if (this._isFallbackRoot(ret)) {\n    if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n      warn((\"Fall back to format number to parts of root: key '\" + key + \"' .\"));\n    }\n    /* istanbul ignore if */\n    if (!this._root) { throw Error('unexpected error') }\n    return this._root.$i18n._ntp(value, locale, key, options)\n  } else {\n    return ret || []\n  }\n};\n\nObject.defineProperties( VueI18n.prototype, prototypeAccessors );\n\nvar availabilities;\n// $FlowFixMe\nObject.defineProperty(VueI18n, 'availabilities', {\n  get: function get () {\n    if (!availabilities) {\n      var intlDefined = typeof Intl !== 'undefined';\n      availabilities = {\n        dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n        numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n      };\n    }\n\n    return availabilities\n  }\n});\n\nVueI18n.install = install;\nVueI18n.version = '8.20.0';\n\nexport default VueI18n;\n","import { render, staticRenderFns } from \"./CodeAce.vue?vue&type=template&id=37ad02ad&\"\nimport script from \"./CodeAce.vue?vue&type=script&lang=js&\"\nexport * from \"./CodeAce.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CodeAce.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/Users/lang/Develop/echarts-examples/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('37ad02ad')) {\n      api.createRecord('37ad02ad', component.options)\n    } else {\n      api.reload('37ad02ad', component.options)\n    }\n    module.hot.accept(\"./CodeAce.vue?vue&type=template&id=37ad02ad&\", function () {\n      api.rerender('37ad02ad', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/editor/CodeAce.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./CodeMonaco.vue?vue&type=template&id=f5fd2472&\"\nimport script from \"./CodeMonaco.vue?vue&type=script&lang=js&\"\nexport * from \"./CodeMonaco.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CodeMonaco.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/Users/lang/Develop/echarts-examples/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('f5fd2472')) {\n      api.createRecord('f5fd2472', component.options)\n    } else {\n      api.reload('f5fd2472', component.options)\n    }\n    module.hot.accept(\"./CodeMonaco.vue?vue&type=template&id=f5fd2472&\", function () {\n      api.rerender('f5fd2472', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/editor/CodeMonaco.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./Editor.vue?vue&type=template&id=3a753434&\"\nimport script from \"./Editor.vue?vue&type=script&lang=js&\"\nexport * from \"./Editor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Editor.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/Users/lang/Develop/echarts-examples/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('3a753434')) {\n      api.createRecord('3a753434', component.options)\n    } else {\n      api.reload('3a753434', component.options)\n    }\n    module.hot.accept(\"./Editor.vue?vue&type=template&id=3a753434&\", function () {\n      api.rerender('3a753434', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/editor/Editor.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./FullCodePreview.vue?vue&type=template&id=04a90f3a&\"\nimport script from \"./FullCodePreview.vue?vue&type=script&lang=js&\"\nexport * from \"./FullCodePreview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FullCodePreview.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/Users/lang/Develop/echarts-examples/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('04a90f3a')) {\n      api.createRecord('04a90f3a', component.options)\n    } else {\n      api.reload('04a90f3a', component.options)\n    }\n    module.hot.accept(\"./FullCodePreview.vue?vue&type=template&id=04a90f3a&\", function () {\n      api.rerender('04a90f3a', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/editor/FullCodePreview.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./Preview.vue?vue&type=template&id=66bf6e1f&\"\nimport script from \"./Preview.vue?vue&type=script&lang=js&\"\nexport * from \"./Preview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Preview.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/Users/lang/Develop/echarts-examples/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('66bf6e1f')) {\n      api.createRecord('66bf6e1f', component.options)\n    } else {\n      api.reload('66bf6e1f', component.options)\n    }\n    module.hot.accept(\"./Preview.vue?vue&type=template&id=66bf6e1f&\", function () {\n      api.rerender('66bf6e1f', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/editor/Preview.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./View.vue?vue&type=template&id=3d6bc75e&\"\nimport script from \"./View.vue?vue&type=script&lang=js&\"\nexport * from \"./View.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/Users/lang/Develop/echarts-examples/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('3d6bc75e')) {\n      api.createRecord('3d6bc75e', component.options)\n    } else {\n      api.reload('3d6bc75e', component.options)\n    }\n    module.hot.accept(\"./View.vue?vue&type=template&id=3d6bc75e&\", function () {\n      api.rerender('3d6bc75e', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/editor/View.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./ExampleCard.vue?vue&type=template&id=01229e96&\"\nimport script from \"./ExampleCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ExampleCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ExampleCard.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/Users/lang/Develop/echarts-examples/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('01229e96')) {\n      api.createRecord('01229e96', component.options)\n    } else {\n      api.reload('01229e96', component.options)\n    }\n    module.hot.accept(\"./ExampleCard.vue?vue&type=template&id=01229e96&\", function () {\n      api.rerender('01229e96', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/explore/ExampleCard.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./Explore.vue?vue&type=template&id=050c84ae&\"\nimport script from \"./Explore.vue?vue&type=script&lang=js&\"\nexport * from \"./Explore.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Explore.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/Users/lang/Develop/echarts-examples/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('050c84ae')) {\n      api.createRecord('050c84ae', component.options)\n    } else {\n      api.reload('050c84ae', component.options)\n    }\n    module.hot.accept(\"./Explore.vue?vue&type=template&id=050c84ae&\", function () {\n      api.rerender('050c84ae', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/explore/Explore.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeAce.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeAce.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeMonaco.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeMonaco.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FullCodePreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FullCodePreview.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Preview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Preview.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./View.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./View.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExampleCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExampleCard.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Explore.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Explore.vue?vue&type=script&lang=js&\"","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", {\n    directives: [\n      {\n        name: \"loading\",\n        rawName: \"v-loading\",\n        value: _vm.loading,\n        expression: \"loading\"\n      }\n    ],\n    staticClass: \"ace-editor-main\"\n  })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", {\n    directives: [\n      {\n        name: \"loading\",\n        rawName: \"v-loading\",\n        value: _vm.loading,\n        expression: \"loading\"\n      }\n    ],\n    staticClass: \"monaco-editor-main\"\n  })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { attrs: { id: \"main-container\" } },\n    [\n      !_vm.shared.isMobile\n        ? _c(\n            \"div\",\n            {\n              style: { width: _vm.leftContainerSize + \"%\" },\n              attrs: { id: \"editor-left-container\" }\n            },\n            [\n              _c(\n                \"el-tabs\",\n                {\n                  attrs: { type: \"border-card\" },\n                  model: {\n                    value: _vm.currentTab,\n                    callback: function($$v) {\n                      _vm.currentTab = $$v\n                    },\n                    expression: \"currentTab\"\n                  }\n                },\n                [\n                  _c(\n                    \"el-tab-pane\",\n                    {\n                      attrs: {\n                        label: _vm.$t(\"editor.tabEditor\"),\n                        name: \"code-editor\"\n                      }\n                    },\n                    [\n                      _c(\n                        \"el-container\",\n                        [\n                          _c(\n                            \"el-header\",\n                            { attrs: { id: \"editor-control-panel\" } },\n                            [\n                              _c(\n                                \"div\",\n                                { attrs: { id: \"code-info\" } },\n                                [\n                                  _vm.shared.editorStatus.message\n                                    ? [\n                                        _c(\n                                          \"span\",\n                                          { staticClass: \"code-info-time\" },\n                                          [_vm._v(_vm._s(_vm.currentTime))]\n                                        ),\n                                        _vm._v(\" \"),\n                                        _c(\n                                          \"span\",\n                                          {\n                                            class:\n                                              \"code-info-type-\" +\n                                              _vm.shared.editorStatus.type\n                                          },\n                                          [\n                                            _vm._v(\n                                              _vm._s(\n                                                _vm.shared.editorStatus.message\n                                              )\n                                            )\n                                          ]\n                                        )\n                                      ]\n                                    : _vm._e()\n                                ],\n                                2\n                              ),\n                              _vm._v(\" \"),\n                              _c(\"div\", { staticClass: \"editor-controls\" }, [\n                                _c(\n                                  \"a\",\n                                  {\n                                    staticClass: \"btn btn-default btn-sm\",\n                                    attrs: { href: \"javascript:;\" },\n                                    on: { click: _vm.disposeAndRun }\n                                  },\n                                  [_vm._v(_vm._s(_vm.$t(\"editor.run\")))]\n                                )\n                              ])\n                            ]\n                          ),\n                          _vm._v(\" \"),\n                          _c(\n                            \"el-main\",\n                            [\n                              _vm.shared.typeCheck\n                                ? _c(\"CodeMonaco\", {\n                                    attrs: {\n                                      id: \"code-panel\",\n                                      initialCode: _vm.initialCode\n                                    }\n                                  })\n                                : _c(\"CodeAce\", {\n                                    attrs: {\n                                      id: \"code-panel\",\n                                      initialCode: _vm.initialCode\n                                    }\n                                  })\n                            ],\n                            1\n                          )\n                        ],\n                        1\n                      )\n                    ],\n                    1\n                  ),\n                  _vm._v(\" \"),\n                  _c(\n                    \"el-tab-pane\",\n                    {\n                      attrs: {\n                        label: _vm.$t(\"editor.tabFullCodePreview\"),\n                        name: \"full-code\",\n                        lazy: true\n                      }\n                    },\n                    [\n                      _c(\n                        \"el-container\",\n                        { staticStyle: { width: \"100%\", height: \"100%\" } },\n                        [\n                          _c(\n                            \"el-header\",\n                            { attrs: { id: \"full-code-generate-config\" } },\n                            [\n                              _c(\"span\", {\n                                staticClass: \"full-code-generate-config-label\"\n                              }),\n                              _vm._v(\" \"),\n                              _c(\"el-switch\", {\n                                staticClass: \"enable-decal\",\n                                attrs: {\n                                  \"active-text\": _vm.$t(\"editor.minimalBundle\"),\n                                  \"inactive-text\": \"\"\n                                },\n                                model: {\n                                  value: _vm.fullCodeConfig.minimal,\n                                  callback: function($$v) {\n                                    _vm.$set(_vm.fullCodeConfig, \"minimal\", $$v)\n                                  },\n                                  expression: \"fullCodeConfig.minimal\"\n                                }\n                              }),\n                              _vm._v(\" \"),\n                              _c(\"el-switch\", {\n                                staticClass: \"enable-decal\",\n                                attrs: {\n                                  \"active-text\": \"ES Modules\",\n                                  \"inactive-text\": \"\"\n                                },\n                                model: {\n                                  value: _vm.fullCodeConfig.esm,\n                                  callback: function($$v) {\n                                    _vm.$set(_vm.fullCodeConfig, \"esm\", $$v)\n                                  },\n                                  expression: \"fullCodeConfig.esm\"\n                                }\n                              })\n                            ],\n                            1\n                          ),\n                          _vm._v(\" \"),\n                          _c(\n                            \"el-main\",\n                            [\n                              _c(\"FullCodePreview\", {\n                                attrs: { code: _vm.fullCode }\n                              })\n                            ],\n                            1\n                          )\n                        ],\n                        1\n                      )\n                    ],\n                    1\n                  ),\n                  _vm._v(\" \"),\n                  _c(\n                    \"el-tab-pane\",\n                    {\n                      attrs: {\n                        label: _vm.$t(\"editor.tabOptionPreview\"),\n                        name: \"full-option\"\n                      }\n                    },\n                    [_c(\"div\", { attrs: { id: \"option-outline\" } })]\n                  )\n                ],\n                1\n              )\n            ],\n            1\n          )\n        : _vm._e(),\n      _vm._v(\" \"),\n      !_vm.shared.isMobile\n        ? _c(\"div\", {\n            staticClass: \"handler\",\n            style: { left: _vm.leftContainerSize + \"%\" },\n            attrs: { id: \"h-handler\" },\n            on: { mousedown: _vm.onSplitterDragStart }\n          })\n        : _vm._e(),\n      _vm._v(\" \"),\n      _c(\"Preview\", {\n        ref: \"preview\",\n        staticClass: \"right-container\",\n        style: {\n          width: 100 - _vm.leftContainerSize + \"%\",\n          left: _vm.leftContainerSize + \"%\"\n        },\n        attrs: { inEditor: true }\n      })\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", {\n    directives: [\n      {\n        name: \"loading\",\n        rawName: \"v-loading\",\n        value: _vm.loading,\n        expression: \"loading\"\n      }\n    ],\n    staticClass: \"full-code-preview\"\n  })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { class: [_vm.inEditor && !_vm.shared.isMobile ? \"\" : \"full\"] },\n    [\n      _c(\n        \"div\",\n        {\n          directives: [\n            {\n              name: \"loading\",\n              rawName: \"v-loading\",\n              value: _vm.loading,\n              expression: \"loading\"\n            }\n          ],\n          staticClass: \"right-panel\",\n          style: { background: _vm.backgroundColor },\n          attrs: { id: \"chart-panel\" }\n        },\n        [_c(\"div\", { staticClass: \"chart-container\" })]\n      ),\n      _vm._v(\" \"),\n      _c(\n        \"div\",\n        { attrs: { id: \"tool-panel\" } },\n        [\n          _c(\n            \"div\",\n            { staticClass: \"left-panel\" },\n            [\n              _c(\"el-switch\", {\n                staticClass: \"dark-mode\",\n                attrs: {\n                  \"active-color\": \"#181432\",\n                  \"active-text\": _vm.$t(\"editor.darkMode\"),\n                  \"inactive-text\": \"\"\n                },\n                model: {\n                  value: _vm.shared.darkMode,\n                  callback: function($$v) {\n                    _vm.$set(_vm.shared, \"darkMode\", $$v)\n                  },\n                  expression: \"shared.darkMode\"\n                }\n              }),\n              _vm._v(\" \"),\n              !_vm.isGL\n                ? _c(\"el-switch\", {\n                    staticClass: \"enable-decal\",\n                    attrs: {\n                      \"active-text\": _vm.$t(\"editor.enableDecal\"),\n                      \"inactive-text\": \"\"\n                    },\n                    model: {\n                      value: _vm.shared.enableDecal,\n                      callback: function($$v) {\n                        _vm.$set(_vm.shared, \"enableDecal\", $$v)\n                      },\n                      expression: \"shared.enableDecal\"\n                    }\n                  })\n                : _vm._e(),\n              _vm._v(\" \"),\n              !_vm.isGL\n                ? _c(\n                    \"el-popover\",\n                    {\n                      staticStyle: { \"margin-top\": \"3px\" },\n                      attrs: {\n                        placement: \"bottom\",\n                        width: \"450\",\n                        trigger: \"click\"\n                      }\n                    },\n                    [\n                      _c(\n                        \"div\",\n                        { staticClass: \"render-config-container\" },\n                        [\n                          _c(\n                            \"el-row\",\n                            {\n                              attrs: {\n                                gutter: 2,\n                                type: \"flex\",\n                                align: \"middle\"\n                              }\n                            },\n                            [\n                              _c(\n                                \"el-col\",\n                                { attrs: { span: 12 } },\n                                [\n                                  _c(\"label\", { staticClass: \"tool-label\" }, [\n                                    _vm._v(_vm._s(_vm.$t(\"editor.renderer\")))\n                                  ]),\n                                  _vm._v(\" \"),\n                                  _c(\n                                    \"el-radio-group\",\n                                    {\n                                      staticStyle: {\n                                        \"text-transform\": \"uppercase\"\n                                      },\n                                      attrs: { size: \"mini\" },\n                                      model: {\n                                        value: _vm.shared.renderer,\n                                        callback: function($$v) {\n                                          _vm.$set(_vm.shared, \"renderer\", $$v)\n                                        },\n                                        expression: \"shared.renderer\"\n                                      }\n                                    },\n                                    [\n                                      _c(\"el-radio-button\", {\n                                        attrs: { label: \"svg\" }\n                                      }),\n                                      _vm._v(\" \"),\n                                      _c(\"el-radio-button\", {\n                                        attrs: { label: \"canvas\" }\n                                      })\n                                    ],\n                                    1\n                                  )\n                                ],\n                                1\n                              ),\n                              _vm._v(\" \"),\n                              _c(\n                                \"el-col\",\n                                { attrs: { span: 12 } },\n                                [\n                                  _vm.shared.renderer === \"canvas\"\n                                    ? _c(\"el-switch\", {\n                                        attrs: {\n                                          \"active-text\": _vm.$t(\n                                            \"editor.useDirtyRect\"\n                                          ),\n                                          \"inactive-text\": \"\"\n                                        },\n                                        model: {\n                                          value: _vm.shared.useDirtyRect,\n                                          callback: function($$v) {\n                                            _vm.$set(\n                                              _vm.shared,\n                                              \"useDirtyRect\",\n                                              $$v\n                                            )\n                                          },\n                                          expression: \"shared.useDirtyRect\"\n                                        }\n                                      })\n                                    : _vm._e()\n                                ],\n                                1\n                              )\n                            ],\n                            1\n                          )\n                        ],\n                        1\n                      ),\n                      _vm._v(\" \"),\n                      _c(\n                        \"span\",\n                        {\n                          staticClass: \"render-config-trigger\",\n                          attrs: { slot: \"reference\" },\n                          slot: \"reference\"\n                        },\n                        [\n                          _c(\"i\", {\n                            staticClass: \"el-icon-setting el-icon--left\"\n                          }),\n                          _vm._v(_vm._s(_vm.$t(\"editor.renderCfgTitle\")))\n                        ]\n                      )\n                    ]\n                  )\n                : _vm._e()\n            ],\n            1\n          ),\n          _vm._v(\" \"),\n          _vm.inEditor\n            ? [\n                !_vm.shared.isMobile\n                  ? _c(\n                      \"button\",\n                      {\n                        staticClass: \"download btn btn-sm\",\n                        on: { click: _vm.downloadExample }\n                      },\n                      [_vm._v(_vm._s(_vm.$t(\"editor.download\")))]\n                    )\n                  : _vm._e(),\n                _vm._v(\" \"),\n                _c(\n                  \"a\",\n                  {\n                    staticClass: \"screenshot\",\n                    attrs: { target: \"_blank\" },\n                    on: { click: _vm.screenshot }\n                  },\n                  [_c(\"i\", { staticClass: \"el-icon-camera-solid\" })]\n                )\n              ]\n            : _c(\n                \"a\",\n                {\n                  staticClass: \"edit btn btn-sm\",\n                  attrs: { href: _vm.editLink, target: \"_blank\" }\n                },\n                [_vm._v(_vm._s(_vm.$t(\"editor.edit\")))]\n              )\n        ],\n        2\n      )\n    ]\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"preview\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { staticClass: \"example-list-item\" }, [\n    _c(\n      \"a\",\n      {\n        staticClass: \"example-link\",\n        attrs: { target: \"_blank\", href: _vm.exampleLink }\n      },\n      [\n        _c(\"img\", {\n          staticClass: \"chart-area\",\n          attrs: {\n            src: require(\"../asset/placeholder.jpg\"),\n            \"data-src\": _vm.screenshotURL\n          }\n        }),\n        _vm._v(\" \"),\n        _c(\"h4\", { staticClass: \"example-title\" }, [_vm._v(_vm._s(_vm.title))]),\n        _vm._v(\" \"),\n        _vm.showSubtitle\n          ? _c(\"h5\", { staticClass: \"example-subtitle\" }, [\n              _vm._v(_vm._s(_vm.subtitle))\n            ])\n          : _vm._e()\n      ]\n    )\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { attrs: { id: \"example-explore\" } }, [\n    _c(\"div\", { attrs: { id: \"left-container\" } }, [\n      _c(\n        \"div\",\n        { attrs: { id: \"left-chart-nav\" } },\n        [\n          _c(\n            \"scrollactive\",\n            {\n              attrs: {\n                \"active-class\": \"active\",\n                offset: 80,\n                duration: 500,\n                \"scroll-container-selector\": \"#example-explore\",\n                \"bezier-easing-value\": \".5,0,.35,1\"\n              },\n              on: { itemchanged: _vm.onActiveNavChanged }\n            },\n            [\n              _c(\n                \"ul\",\n                _vm._l(_vm.EXAMPLE_CATEGORIES, function(category) {\n                  return _c(\"li\", { key: category }, [\n                    _c(\n                      \"a\",\n                      {\n                        staticClass: \"left-chart-nav-link scrollactive-item\",\n                        attrs: {\n                          id: \"left-chart-nav-\" + category,\n                          href: \"#chart-type-\" + category\n                        }\n                      },\n                      [\n                        _c(\"span\", {\n                          staticClass: \"chart-icon\",\n                          domProps: { innerHTML: _vm._s(_vm.icons[category]) }\n                        }),\n                        _vm._v(\" \"),\n                        _c(\"span\", { staticClass: \"chart-name\" }, [\n                          _vm._v(_vm._s(_vm.$t(\"chartTypes.\" + category)))\n                        ])\n                      ]\n                    )\n                  ])\n                }),\n                0\n              )\n            ]\n          )\n        ],\n        1\n      )\n    ]),\n    _vm._v(\" \"),\n    _c(\"div\", { attrs: { id: \"explore-container\" } }, [\n      _c(\n        \"div\",\n        { staticClass: \"example-list-panel\" },\n        _vm._l(_vm.exampleList, function(categoryObj) {\n          return _c(\"div\", { key: categoryObj.category }, [\n            _c(\n              \"h3\",\n              {\n                staticClass: \"chart-type-head\",\n                attrs: { id: \"chart-type-\" + categoryObj.category }\n              },\n              [\n                _vm._v(\n                  \"\\n                    \" +\n                    _vm._s(_vm.$t(\"chartTypes.\" + categoryObj.category)) +\n                    \"\\n                    \"\n                ),\n                _c(\"span\", [_vm._v(_vm._s(categoryObj.category))])\n              ]\n            ),\n            _vm._v(\" \"),\n            _c(\n              \"div\",\n              {\n                staticClass: \"row\",\n                attrs: { id: \"chart-row-\" + categoryObj.category }\n              },\n              _vm._l(categoryObj.examples, function(exampleItem) {\n                return _c(\n                  \"div\",\n                  {\n                    key: exampleItem.id,\n                    staticClass: \"col-xl-2 col-lg-3 col-md-4 col-sm-6\"\n                  },\n                  [_c(\"ExampleCard\", { attrs: { example: exampleItem } })],\n                  1\n                )\n              }),\n              0\n            )\n          ])\n        }),\n        0\n      )\n    ]),\n    _vm._v(\" \"),\n    _c(\n      \"div\",\n      { attrs: { id: \"toolbar\" } },\n      [\n        _c(\"el-switch\", {\n          attrs: {\n            \"active-color\": \"#181432\",\n            \"active-text\": _vm.$t(\"editor.darkMode\"),\n            \"inactive-text\": \"\"\n          },\n          model: {\n            value: _vm.shared.darkMode,\n            callback: function($$v) {\n              _vm.$set(_vm.shared, \"darkMode\", $$v)\n            },\n            expression: \"shared.darkMode\"\n          }\n        })\n      ],\n      1\n    )\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n  scriptExports,\n  render,\n  staticRenderFns,\n  functionalTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier, /* server only */\n  shadowMode /* vue-cli only */\n) {\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (render) {\n    options.render = render\n    options.staticRenderFns = staticRenderFns\n    options._compiled = true\n  }\n\n  // functional template\n  if (functionalTemplate) {\n    options.functional = true\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = 'data-v-' + scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = shadowMode\n      ? function () {\n        injectStyles.call(\n          this,\n          (options.functional ? this.parent : this).$root.$options.shadowRoot\n        )\n      }\n      : injectStyles\n  }\n\n  if (hook) {\n    if (options.functional) {\n      // for template-only hot-reload because in that case the render fn doesn't\n      // go through the normalizer\n      options._injectStyles = hook\n      // register for functional component in vue file\n      var originalRender = options.render\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return originalRender(h, context)\n      }\n    } else {\n      // inject component registration as beforeCreate hook\n      var existing = options.beforeCreate\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    }\n  }\n\n  return {\n    exports: scriptExports,\n    options: options\n  }\n}\n","!(function (t, e) {\n  'object' == typeof exports && 'object' == typeof module\n    ? (module.exports = e())\n    : 'function' == typeof define && define.amd\n    ? define([], e)\n    : 'object' == typeof exports\n    ? (exports['vue-scrollactive'] = e())\n    : (t.vueScrollactive = e());\n})('undefined' != typeof self ? self : this, function () {\n  return (function (t) {\n    var e = {};\n    function r(n) {\n      if (e[n]) return e[n].exports;\n      var o = (e[n] = { i: n, l: !1, exports: {} });\n      return t[n].call(o.exports, o, o.exports, r), (o.l = !0), o.exports;\n    }\n    return (\n      (r.m = t),\n      (r.c = e),\n      (r.d = function (t, e, n) {\n        r.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: n });\n      }),\n      (r.r = function (t) {\n        'undefined' != typeof Symbol &&\n          Symbol.toStringTag &&\n          Object.defineProperty(t, Symbol.toStringTag, { value: 'Module' }),\n          Object.defineProperty(t, '__esModule', { value: !0 });\n      }),\n      (r.t = function (t, e) {\n        if ((1 & e && (t = r(t)), 8 & e)) return t;\n        if (4 & e && 'object' == typeof t && t && t.__esModule) return t;\n        var n = Object.create(null);\n        if (\n          (r.r(n),\n          Object.defineProperty(n, 'default', { enumerable: !0, value: t }),\n          2 & e && 'string' != typeof t)\n        )\n          for (var o in t)\n            r.d(\n              n,\n              o,\n              function (e) {\n                return t[e];\n              }.bind(null, o)\n            );\n        return n;\n      }),\n      (r.n = function (t) {\n        var e =\n          t && t.__esModule\n            ? function () {\n                return t.default;\n              }\n            : function () {\n                return t;\n              };\n        return r.d(e, 'a', e), e;\n      }),\n      (r.o = function (t, e) {\n        return Object.prototype.hasOwnProperty.call(t, e);\n      }),\n      (r.p = '/dist/'),\n      r((r.s = 1))\n    );\n  })([\n    function (t, e) {\n      var r = 'function' == typeof Float32Array;\n      function n(t, e) {\n        return 1 - 3 * e + 3 * t;\n      }\n      function o(t, e) {\n        return 3 * e - 6 * t;\n      }\n      function i(t) {\n        return 3 * t;\n      }\n      function s(t, e, r) {\n        return ((n(e, r) * t + o(e, r)) * t + i(e)) * t;\n      }\n      function l(t, e, r) {\n        return 3 * n(e, r) * t * t + 2 * o(e, r) * t + i(e);\n      }\n      function a(t) {\n        return t;\n      }\n      t.exports = function (t, e, n, o) {\n        if (!(0 <= t && t <= 1 && 0 <= n && n <= 1))\n          throw new Error('bezier x values must be in [0, 1] range');\n        if (t === e && n === o) return a;\n        for (var i = r ? new Float32Array(11) : new Array(11), c = 0; c < 11; ++c)\n          i[c] = s(0.1 * c, t, n);\n        function u(e) {\n          for (var r = 0, o = 1; 10 !== o && i[o] <= e; ++o) r += 0.1;\n          --o;\n          var a = r + 0.1 * ((e - i[o]) / (i[o + 1] - i[o])),\n            c = l(a, t, n);\n          return c >= 0.001\n            ? (function (t, e, r, n) {\n                for (var o = 0; o < 4; ++o) {\n                  var i = l(e, r, n);\n                  if (0 === i) return e;\n                  e -= (s(e, r, n) - t) / i;\n                }\n                return e;\n              })(e, a, t, n)\n            : 0 === c\n            ? a\n            : (function (t, e, r, n, o) {\n                var i,\n                  l,\n                  a = 0;\n                do {\n                  (i = s((l = e + (r - e) / 2), n, o) - t) > 0 ? (r = l) : (e = l);\n                } while (Math.abs(i) > 1e-7 && ++a < 10);\n                return l;\n              })(e, r, r + 0.1, t, n);\n        }\n        return function (t) {\n          return 0 === t ? 0 : 1 === t ? 1 : s(u(t), e, o);\n        };\n      };\n    },\n    function (t, e, r) {\n      'use strict';\n      r.r(e);\n      var n = function () {\n        var t = this.$createElement;\n        return (this._self._c || t)(\n          this.tag,\n          { ref: 'scrollactive-nav-wrapper', tag: 'component', staticClass: 'scrollactive-nav' },\n          [this._t('default')],\n          2\n        );\n      };\n      n._withStripped = !0;\n      var o = r(0),\n        i = r.n(o);\n      function s(t) {\n        return (\n          (function (t) {\n            if (Array.isArray(t)) return l(t);\n          })(t) ||\n          (function (t) {\n            if ('undefined' != typeof Symbol && Symbol.iterator in Object(t)) return Array.from(t);\n          })(t) ||\n          (function (t, e) {\n            if (!t) return;\n            if ('string' == typeof t) return l(t, e);\n            var r = Object.prototype.toString.call(t).slice(8, -1);\n            'Object' === r && t.constructor && (r = t.constructor.name);\n            if ('Map' === r || 'Set' === r) return Array.from(t);\n            if ('Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))\n              return l(t, e);\n          })(t) ||\n          (function () {\n            throw new TypeError(\n              'Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'\n            );\n          })()\n        );\n      }\n      function l(t, e) {\n        (null == e || e > t.length) && (e = t.length);\n        for (var r = 0, n = new Array(e); r < e; r++) n[r] = t[r];\n        return n;\n      }\n      var a = (function (t, e, r, n, o, i, s, l) {\n        var a,\n          c = 'function' == typeof t ? t.options : t;\n        if (\n          (e && ((c.render = e), (c.staticRenderFns = r), (c._compiled = !0)),\n          n && (c.functional = !0),\n          i && (c._scopeId = 'data-v-' + i),\n          s\n            ? ((a = function (t) {\n                (t =\n                  t ||\n                  (this.$vnode && this.$vnode.ssrContext) ||\n                  (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext)) ||\n                  'undefined' == typeof __VUE_SSR_CONTEXT__ ||\n                  (t = __VUE_SSR_CONTEXT__),\n                  o && o.call(this, t),\n                  t && t._registeredComponents && t._registeredComponents.add(s);\n              }),\n              (c._ssrRegister = a))\n            : o &&\n              (a = l\n                ? function () {\n                    o.call(this, (c.functional ? this.parent : this).$root.$options.shadowRoot);\n                  }\n                : o),\n          a)\n        )\n          if (c.functional) {\n            c._injectStyles = a;\n            var u = c.render;\n            c.render = function (t, e) {\n              return a.call(e), u(t, e);\n            };\n          } else {\n            var f = c.beforeCreate;\n            c.beforeCreate = f ? [].concat(f, a) : [a];\n          }\n        return { exports: t, options: c };\n      })(\n        {\n          props: {\n            activeClass: { type: String, default: 'is-active' },\n            offset: { type: Number, default: 20 },\n            scrollOffset: { type: Number, default: null },\n            scrollContainerSelector: { type: String, default: '' },\n            clickToScroll: { type: Boolean, default: !0 },\n            duration: { type: Number, default: 600 },\n            alwaysTrack: { type: Boolean, default: !1 },\n            bezierEasingValue: { type: String, default: '.5,0,.35,1' },\n            modifyUrl: { type: Boolean, default: !0 },\n            exact: { type: Boolean, default: !1 },\n            highlightFirstItem: { type: Boolean, default: !1 },\n            tag: { type: String, default: 'nav' },\n            scrollOnStart: { type: Boolean, default: !0 },\n          },\n          data: function () {\n            return {\n              observer: null,\n              items: [],\n              currentItem: null,\n              lastActiveItem: null,\n              scrollAnimationFrame: null,\n              bezierEasing: i.a,\n            };\n          },\n          computed: {\n            cubicBezierArray: function () {\n              return this.bezierEasingValue.split(',');\n            },\n            scrollContainer: function () {\n              var t = window;\n              return (\n                this.scrollContainerSelector &&\n                  (t = document.querySelector(this.scrollContainerSelector) || window),\n                t\n              );\n            },\n          },\n          mounted: function () {\n            var t = window.MutationObserver || window.WebKitMutationObserver;\n            this.observer ||\n              ((this.observer = new t(this.initScrollactiveItems)),\n              this.observer.observe(this.$refs['scrollactive-nav-wrapper'], {\n                childList: !0,\n                subtree: !0,\n              })),\n              this.initScrollactiveItems(),\n              this.removeActiveClass(),\n              (this.currentItem = this.getItemInsideWindow()),\n              this.currentItem && this.currentItem.classList.add(this.activeClass),\n              this.scrollOnStart && this.scrollToHashElement(),\n              this.scrollContainer.addEventListener('scroll', this.onScroll);\n          },\n          updated: function () {\n            this.initScrollactiveItems();\n          },\n          beforeDestroy: function () {\n            this.scrollContainer.removeEventListener('scroll', this.onScroll),\n              window.cancelAnimationFrame(this.scrollAnimationFrame);\n          },\n          methods: {\n            onScroll: function (t) {\n              (this.currentItem = this.getItemInsideWindow()),\n                this.currentItem !== this.lastActiveItem &&\n                  (this.removeActiveClass(),\n                  this.$emit('itemchanged', t, this.currentItem, this.lastActiveItem),\n                  (this.lastActiveItem = this.currentItem)),\n                this.currentItem && this.currentItem.classList.add(this.activeClass);\n            },\n            getItemInsideWindow: function () {\n              var t,\n                e = this;\n              return (\n                [].forEach.call(this.items, function (r) {\n                  var n = r === e.items[0],\n                    o = document.getElementById(decodeURI(r.hash.substr(1)));\n                  if (o) {\n                    var i = e.scrollContainer.scrollTop || window.pageYOffset,\n                      s = i >= e.getOffsetTop(o) - e.offset,\n                      l = i < e.getOffsetTop(o) - e.offset + o.offsetHeight;\n                    n && e.highlightFirstItem && l && (t = r),\n                      e.exact && s && l && (t = r),\n                      !e.exact && s && (t = r);\n                  }\n                }),\n                t\n              );\n            },\n            initScrollactiveItems: function () {\n              var t = this;\n              (this.items = this.$el.querySelectorAll('.scrollactive-item')),\n                this.clickToScroll\n                  ? [].forEach.call(this.items, function (e) {\n                      e.addEventListener('click', t.handleClick);\n                    })\n                  : [].forEach.call(this.items, function (e) {\n                      e.removeEventListener('click', t.handleClick);\n                    });\n            },\n            setScrollactiveItems: function () {\n              this.initScrollactiveItems();\n            },\n            handleClick: function (t) {\n              var e = this;\n              t.preventDefault();\n              var r = t.currentTarget.hash,\n                n = document.getElementById(decodeURI(r.substr(1)));\n              n\n                ? (this.alwaysTrack ||\n                    (this.scrollContainer.removeEventListener('scroll', this.onScroll),\n                    window.cancelAnimationFrame(this.scrollAnimationFrame),\n                    this.removeActiveClass(),\n                    t.currentTarget.classList.add(this.activeClass)),\n                  this.scrollTo(n).then(function () {\n                    if (!e.alwaysTrack) {\n                      e.scrollContainer.addEventListener('scroll', e.onScroll);\n                      (e.currentItem = [].find.call(e.items, function (t) {\n                        return decodeURI(t.hash.substr(1)) === n.id;\n                      })),\n                        e.currentItem !== e.lastActiveItem &&\n                          (e.$emit('itemchanged', null, e.currentItem, e.lastActiveItem),\n                          (e.lastActiveItem = e.currentItem));\n                    }\n                    e.modifyUrl && e.pushHashToUrl(r);\n                  }))\n                : console.warn(\n                    \"[vue-scrollactive] Element '\".concat(\n                      r,\n                      \"' was not found. Make sure it is set in the DOM.\"\n                    )\n                  );\n            },\n            scrollTo: function (t) {\n              var e = this;\n              return new Promise(function (r) {\n                var n = e.getOffsetTop(t),\n                  o = e.scrollContainer.scrollTop || window.pageYOffset,\n                  i = n - o,\n                  l = e.bezierEasing.apply(e, s(e.cubicBezierArray)),\n                  a = null;\n                window.requestAnimationFrame(function t(n) {\n                  a || (a = n);\n                  var s = n - a,\n                    c = s / e.duration;\n                  s >= e.duration && (s = e.duration), c >= 1 && (c = 1);\n                  var u = e.scrollOffset || e.offset,\n                    f = o + l(c) * (i - u);\n                  e.scrollContainer.scrollTo(0, f),\n                    s < e.duration\n                      ? (e.scrollAnimationFrame = window.requestAnimationFrame(t))\n                      : r();\n                });\n              });\n            },\n            getOffsetTop: function (t) {\n              for (var e = 0, r = t; r; ) (e += r.offsetTop), (r = r.offsetParent);\n              return this.scrollContainer.offsetTop && (e -= this.scrollContainer.offsetTop), e;\n            },\n            removeActiveClass: function () {\n              var t = this;\n              [].forEach.call(this.items, function (e) {\n                e.classList.remove(t.activeClass);\n              });\n            },\n            scrollToHashElement: function () {\n              var t = this,\n                e = window.location.hash;\n              if (e) {\n                var r = document.querySelector(decodeURI(e));\n                r &&\n                  ((window.location.hash = ''),\n                  setTimeout(function () {\n                    var n = r.offsetTop - t.offset;\n                    t.scrollContainer.scrollTo(0, n), t.pushHashToUrl(e);\n                  }, 0));\n              }\n            },\n            pushHashToUrl: function (t) {\n              window.history.pushState\n                ? window.history.pushState(null, null, t)\n                : (window.location.hash = t);\n            },\n          },\n        },\n        n,\n        [],\n        !1,\n        null,\n        null,\n        null\n      );\n      a.options.__file = 'src/scrollactive.vue';\n      var c = a.exports,\n        u = {\n          install: function (t) {\n            u.install.installed || t.component('scrollactive', c);\n          },\n        };\n      'undefined' != typeof window && window.Vue && u.install(window.Vue);\n      e.default = u;\n    },\n  ]);\n});\n","var map = {\n\t\"./bar.svg\": \"./src/asset/icon/bar.svg\",\n\t\"./boxplot.svg\": \"./src/asset/icon/boxplot.svg\",\n\t\"./calendar.svg\": \"./src/asset/icon/calendar.svg\",\n\t\"./candlestick.svg\": \"./src/asset/icon/candlestick.svg\",\n\t\"./custom.svg\": \"./src/asset/icon/custom.svg\",\n\t\"./dataZoom.svg\": \"./src/asset/icon/dataZoom.svg\",\n\t\"./dataset.svg\": \"./src/asset/icon/dataset.svg\",\n\t\"./drag.svg\": \"./src/asset/icon/drag.svg\",\n\t\"./funnel.svg\": \"./src/asset/icon/funnel.svg\",\n\t\"./gauge.svg\": \"./src/asset/icon/gauge.svg\",\n\t\"./geo.svg\": \"./src/asset/icon/geo.svg\",\n\t\"./gl.svg\": \"./src/asset/icon/gl.svg\",\n\t\"./graph.svg\": \"./src/asset/icon/graph.svg\",\n\t\"./heatmap.svg\": \"./src/asset/icon/heatmap.svg\",\n\t\"./line.svg\": \"./src/asset/icon/line.svg\",\n\t\"./lines.svg\": \"./src/asset/icon/lines.svg\",\n\t\"./map.svg\": \"./src/asset/icon/map.svg\",\n\t\"./parallel.svg\": \"./src/asset/icon/parallel.svg\",\n\t\"./pictorialBar.svg\": \"./src/asset/icon/pictorialBar.svg\",\n\t\"./pie.svg\": \"./src/asset/icon/pie.svg\",\n\t\"./radar.svg\": \"./src/asset/icon/radar.svg\",\n\t\"./rich.svg\": \"./src/asset/icon/rich.svg\",\n\t\"./sankey.svg\": \"./src/asset/icon/sankey.svg\",\n\t\"./scatter.svg\": \"./src/asset/icon/scatter.svg\",\n\t\"./sunburst.svg\": \"./src/asset/icon/sunburst.svg\",\n\t\"./themeRiver.svg\": \"./src/asset/icon/themeRiver.svg\",\n\t\"./tree.svg\": \"./src/asset/icon/tree.svg\",\n\t\"./treemap.svg\": \"./src/asset/icon/treemap.svg\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./src/asset/icon sync recursive ^\\\\.\\\\/.*\\\\.svg$\";","module.exports = Vue;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"./\";","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(\"./src/main.js\");\n"],"sourceRoot":""}