blob: 8ed955aa0c3cc32854ab0111e4cdd44f996f454b [file] [log] [blame]
{"version":3,"sources":["webpack://echartsExample/webpack/bootstrap","webpack://echartsExample/src/editor/CodeAce.vue","webpack://echartsExample/src/editor/CodeMonaco.vue","webpack://echartsExample/src/editor/Editor.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/./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?a2ca","webpack://echartsExample/./src/editor/CodeMonaco.vue?059e","webpack://echartsExample/./src/editor/Editor.vue?7a86","webpack://echartsExample/./src/editor/Preview.vue?1f0a","webpack://echartsExample/./src/explore/ExampleCard.vue?d97b","webpack://echartsExample/./src/explore/Explore.vue?3912","webpack://echartsExample/./node_modules/resize-detector/esm/index.js","webpack://echartsExample/./node_modules/scroll-into-view/scrollIntoView.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?b413","webpack://echartsExample/./src/editor/CodeMonaco.vue?b73a","webpack://echartsExample/./src/editor/Editor.vue?a6de","webpack://echartsExample/./src/editor/Preview.vue?1e91","webpack://echartsExample/./src/editor/View.vue?ea0e","webpack://echartsExample/./src/explore/ExampleCard.vue?3884","webpack://echartsExample/./src/explore/Explore.vue?7f63","webpack://echartsExample/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://echartsExample/./node_modules/vue-scrollactive/dist/vue-scrollactive.min.js","webpack://echartsExample/(webpack)/buildin/global.js","webpack://echartsExample/./src/asset/placeholder.jpg","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/CodeAce.vue","webpack://echartsExample/./src/editor/CodeAce.vue?03d9","webpack://echartsExample/./src/editor/CodeAce.vue?a765","webpack://echartsExample/./src/editor/CodeAce.vue?4fab","webpack://echartsExample/./src/editor/CodeMonaco.vue","webpack://echartsExample/./src/editor/CodeMonaco.vue?439c","webpack://echartsExample/./src/editor/CodeMonaco.vue?5a6f","webpack://echartsExample/./src/editor/CodeMonaco.vue?8bdb","webpack://echartsExample/./src/editor/Editor.vue","webpack://echartsExample/./src/editor/Editor.vue?f741","webpack://echartsExample/./src/editor/Editor.vue?5042","webpack://echartsExample/./src/editor/Editor.vue?421b","webpack://echartsExample/./src/editor/Preview.vue","webpack://echartsExample/./src/editor/Preview.vue?495e","webpack://echartsExample/./src/editor/Preview.vue?8a8e","webpack://echartsExample/./src/editor/Preview.vue?670b","webpack://echartsExample/./src/editor/View.vue","webpack://echartsExample/./src/editor/View.vue?aaee","webpack://echartsExample/./src/editor/View.vue?51ec","webpack://echartsExample/./src/editor/downloadExample.js","webpack://echartsExample/./src/editor/sandbox.js","webpack://echartsExample/./src/explore/ExampleCard.vue","webpack://echartsExample/./src/explore/ExampleCard.vue?ec6a","webpack://echartsExample/./src/explore/ExampleCard.vue?9ab5","webpack://echartsExample/./src/explore/ExampleCard.vue?62f4","webpack://echartsExample/./src/explore/Explore.vue","webpack://echartsExample/./src/explore/Explore.vue?3d60","webpack://echartsExample/./src/explore/Explore.vue?d857","webpack://echartsExample/./src/explore/Explore.vue?21ba","webpack://echartsExample/./src/main.js","webpack://echartsExample/external \"Vue\""],"names":["EXAMPLE_CATEGORIES","THEMES","dark","BLACK_MAP","list","map","i","length","location","href","indexOf","URL_PARAMS","search","substr","split","forEach","item","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","type","match","promise","resolve","reject","script","src","async","onload","onerror","body","appendChild","link","rel","en","editor","run","errorInEditor","chartOK","darkMode","enableDecal","renderCfgTitle","renderer","useDirtyRect","download","edit","monacoMode","chartTypes","line","bar","pie","scatter","candlestick","radar","boxplot","heatmap","graph","lines","tree","treemap","sunburst","parallel","sankey","funnel","gauge","pictorialBar","themeRiver","calendar","custom","dataset","dataZoom","drag","rich","globe","bar3D","scatter3D","surface","map3D","lines3D","line3D","scatterGL","linesGL","flowGL","graphGL","zh","store","cdnRoot","version","locale","theme","typeCheck","code","runCode","sourceCode","isMobile","window","innerWidth","editorStatus","message","loadExampleCode","dataRoot","gl","$","ajax","c","dataType","success","data","parseSourceCode","replace","trim","keywords","fullKeywordsList","DebugRect","style","dom","className","Object","assign","backgroundColor","border","cssText","key","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","a","URL","createObjectURL","click","createSandbox","optionUpdated","appEnv","gui","_intervalIdList","_timeoutIdList","_oldSetTimeout","_oldSetInterval","setInterval","func","delay","id","push","gap","_clearTimeTickers","clearInterval","_events","_wrapOnMethods","chart","oldOn","oldSetOption","setOption","eventName","res","apply","arguments","_clearChartEvents","off","chartInstance","resize","dispose","getDataURL","pixelRatio","excludeComponents","el","echarts","init","showDebugDirtyRect","getZr","autoHideDelay","e","console","error","config","compiledCode","Function","option","updateTime","startTime","Date","endTime","domElement","remove","destroy","dat","GUI","autoPlace","css","right","zIndex","append","configParameters","name","value","isColor","controller","options","add","min","max","obj","colorArr","color","parse","stringify","onChange","onFinishChange","Vue","use","VueScrollactive","i18n","VueI18n","fallbackLocale","messages","querySelector","container","render","h","EditorPage","explore","ExplorePage","view","ViewPage","page"],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;;;;;;;AC5EA;AACA;AACA;AACA;;AAEA;AACA;AACA,oFACA,6EADA,EAEA,4FAFA,GAGA,IAHA,CAGA;AACA;;AAEA;;AACA;AACA;AACA,sBADA;AAEA,oBAFA;AAGA,oFAHA;AAIA;AAJA;AAMA;;AAEA;AACA;AACA;AACA;AAHA;AAKA,KArBA;AAsBA;;AACA;AACA;;AAEA;AAEA,wBAFA;AAIA,MAJA,kBAIA;AACA;AACA,iEADA;AAEA;AAFA;AAIA,GATA;AAWA,SAXA,qBAWA;AAAA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCADA;AAEA,4BAFA;AAGA;AAHA;AAMA;AAEA;AACA,yEACA,+EADA;AAEA,OAHA;;AAKA;AACA;AACA;AACA,KApBA;AAqBA,GAlCA;AAoCA;AACA,kBADA,0BACA,IADA,EACA;AACA;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;AACA;AACA;AACA,mCADA;AAEA;AAFA,SAFA,CAOA;;AACA;AACA,4DADA;AAEA,kCAFA;AAGA;AAHA;;AAMA;AACA;AACA,mEACA,WADA,EAEA;AACA,oDAHA;AAKA;;AAEA,wtBA0BA,sBA1BA;AA4BA;AACA,KApDA;AAqDA,GAtDA;AAuDA;;AAEA;AACA;AACA;AACA,sFACA,mFADA,EAEA;AACA,wGAHA,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,iEADA;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA,iEADA;AAEA,uEAFA;AAGA;AAHA,GADA;AAOA,MAPA,kBAOA;AACA;AACA,sBADA;AAEA,2BAFA;AAGA,uBAHA;AAIA,iEAJA;AAKA;AALA;AAOA,GAfA;AAiBA;AACA,eADA,yBACA;AACA;AACA;AAEA;AACA;AACA;;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA;AACA;AAfA,GAjBA;AAmCA,SAnCA,qBAmCA;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,GA9DA;AAgEA;AACA,uBADA,iCACA;AACA;AACA,KAHA;AAIA,iBAJA,2BAIA;AACA;AACA;AANA,GAhEA;AAyEA;AACA,sBADA,2BACA,eADA,EACA;AACA;AACA;AACA;AAJA;AAzEA,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACyBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAEA,+DAFA,CAIA;;AACA;AACA;AACA;AACA;;AAEA,oFACA,sEADA,EAEA,uEACA,4EADA,GACA,uEAHA,EAIA,qGAJA,EAKA,0FALA,EAMA,0FANA,EAOA,2EAPA,4BAQA,+IARA,sBASA,WACA,0GADA,EAEA,iGAFA,IAGA,EAZA,IAaA,IAbA,CAaA;AACA;AACA,KAfA;AAgBA;;AACA;AACA;;AAGA;AACA;AACA;AACA;;AACA;AACA;AACA;;AAGA;AAAA;;AACA;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;AACA,GAnBA,CAoBA;AACA;AACA;AACA;AACA;;AAGA;AAEA,qBAFA;AAIA,MAJA,kBAIA;AACA;AACA,iEADA;AAEA,8BAFA;AAGA,yBAHA;AAIA,mBAJA;AAKA;AALA;AAOA,GAZA;AAcA,SAdA,qBAcA;AAAA;;AACA;AACA;AACA;;AACA;AACA;AACA;AACA,KALA;AAOA;AACA;AACA;AACA;AACA,KAJA;AAKA,GA5BA;AA8BA;AACA,YADA,sBACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AAVA,GA9BA;AA2CA;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,GA3CA;AAqEA;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,CA8BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAtCA;AArEA,G;;;;;;;;;;;;;;;;;;;AChKA;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,kIACA,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;AACA;AACA;AAEA;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,iEADA;AAGA,2FAHA;AAIA;AACA;AACA;AACA;AACA;AACA;AATA;AAWA,GA5DA;AA8DA;AACA,qBADA,4BACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AATA,GA9DA;AA0EA;AACA,eADA,yBACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,8BADA;AAEA;AAFA;AAIA;AACA;;AACA;AACA;AAdA,GA1EA;AA2FA,SA3FA,qBA2FA;AACA;AACA;AACA;AACA,yCAHA;AAIA,qBAJA;AAKA;AALA;AAOA,GAnGA;AAqGA;AACA,sBADA,8BACA,KADA,EACA,WADA,EACA,cADA,EACA,CACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbA;AArGA,G;;;;;;;;;;;ACnEA,WAAW,mBAAO,CAAC,+CAAS;;AAE5B;AACA;;AAEA;;;;;;;;;;;;ACLA,aAAa,mBAAO,CAAC,mDAAW;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;;AAEA;;;;;;;;;;;;;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,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;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;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;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,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iDAAiD;;AAEjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACvQA;AAAA;;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;;AAEe,uEAAQ,EAAC;;;;;;;;;;;;;ACzexB;AAAA;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;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;;AAEe,sEAAO,EAAC;;;;;;;;;;;;;ACjlEvB;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;;ACjBA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;;ACjBA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,uBAAuB,EAAE;AACvC;AACA;AACA;AACA;AACA;AACA,sBAAsB,qCAAqC;AAC3D,sBAAsB;AACtB,aAAa;AACb;AACA,yBAAyB,SAAS,sBAAsB,EAAE;AAC1D;AACA;AACA,mBAAmB,SAAS,kBAAkB,EAAE;AAChD;AACA;AACA;AACA,sCAAsC,gCAAgC;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA,8BAA8B,oBAAoB,GAAG;AACrD,2BAA2B;AAC3B,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,mBAAmB;AACnB;AACA,4BAA4B;AAC5B,mBAAmB;AACnB;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;;;;;;;;;;;;;;ACzFA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,8DAA8D;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kCAAkC;AAClD,gBAAgB;AAChB,OAAO;AACP;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,iBAAiB;AACjB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,gCAAgC,sBAAsB;AACtD,0BAA0B;AAC1B,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB,yCAAyC;AAC9D;AACA;AACA;AACA,yBAAyB,SAAS,2CAA2C,EAAE;AAC/E;AACA;AACA;AACA,6BAA6B,SAAS,WAAW,EAAE;AACnD;AACA,2CAA2C,4BAA4B;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,0CAA0C,eAAe;AACzD;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,4CAA4C;AAC5C,mCAAmC;AACnC;AACA;AACA,4CAA4C;AAC5C,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS,WAAW,EAAE;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,oBAAoB;AAClD;AACA,qBAAqB;AACrB;AACA,+BAA+B,+CAA+C;AAC9E;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;;;;;;;;;;;;;;AC7MA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACPA;AAAA;AAAA;AAAA;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;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA,oBAAoB,SAAS,wBAAwB,EAAE;AACvD,eAAe,SAAS,uBAAuB,EAAE;AACjD;AACA;AACA,SAAS,SAAS,qBAAqB,EAAE;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;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,oCAAoC,4BAA4B;AAChE;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;;;;;;;;;;;;;;AC9HA;AAAA;AAAA;;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,SAIyB;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;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;ACnBA,iBAAiB,qBAAuB,8B;;;;;;;;;;;;ACCxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAMA,kBAAkB,GAAG,CAC9B,MAD8B,EAE9B,KAF8B,EAG9B,KAH8B,EAI9B,SAJ8B,EAK9B,KAL8B,EAM9B,aAN8B,EAO9B,OAP8B,EAQ9B,SAR8B,EAS9B,SAT8B,EAU9B,OAV8B,EAW9B,OAX8B,EAY9B,MAZ8B,EAa9B,SAb8B,EAc9B,UAd8B,EAe9B,UAf8B,EAgB9B,QAhB8B,EAiB9B,QAjB8B,EAkB9B,OAlB8B,EAmB9B,cAnB8B,EAoB9B,YApB8B,EAqB9B,UArB8B,EAsB9B,QAtB8B,EAwB9B,SAxB8B,EAyB9B,UAzB8B,EA0B9B,MA1B8B,EA2B9B,MA3B8B,EA6B9B,OA7B8B,EA8B9B,OA9B8B,EA+B9B,WA/B8B,EAgC9B,SAhC8B,EAiC9B,OAjC8B,EAkC9B,SAlC8B,EAmC9B,QAnC8B,EAoC9B,WApC8B,EAqC9B,SArC8B,EAsC9B,QAtC8B,EAuC9B,SAvC8B,CAA3B;AA0CA,IAAMC,MAAM,GAAG;AAClB,aAAS,CACL,SADK,EAEL,SAFK,EAGL,SAHK,EAIL,SAJK,EAKL,SALK,EAML,SANK,EAOL,SAPK,EAQL,SARK,EASL,SATK,CADS;AAYlBC,MAAI,EAAE,CACF,SADE,EAEF,SAFE,EAGF,SAHE,EAIF,SAJE,EAKF,SALE,EAMF,SANE,EAOF,SAPE,EAQF,SARE,EASF,SATE;AAZY,CAAf;AAyBA,IAAMC,SAAS,GAAI,UAAUC,IAAV,EAAgB;AACtC,MAAMC,GAAG,GAAG,EAAZ;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,IAAI,CAACG,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;AAClCD,OAAG,CAACD,IAAI,CAACE,CAAD,CAAL,CAAH,GAAe,CAAf;AACH;;AACD,SAAOE,QAAQ,CAACC,IAAT,CAAcC,OAAd,CAAsB,WAAtB,KAAsC,CAAtC,GAA0C,EAA1C,GAA+CL,GAAtD;AACH,CANwB,CAMtB,CACC,mBADD,EAEC,WAFD,EAGC,iBAHD,EAIC,aAJD,EAKC,eALD,EAMC,WAND,EAOC,qBAPD,EAQC,YARD,EASC,YATD,EAUC,cAVD,EAWC,WAXD,EAYC,qBAZD,EAaC,aAbD,EAcC,mBAdD,EAeC,eAfD,EAgBC,0BAhBD,EAiBC,OAjBD,EAkBC,6BAlBD,EAmBC,wBAnBD,EAoBC,4BApBD,EAqBC,2BArBD,EAsBC,gBAtBD,EAuBC,iBAvBD,CANsB,CAAlB;AAiCP,IAAMM,UAAU,GAAG,EAAnB;AACA,CAACH,QAAQ,CAACI,MAAT,IAAmB,EAApB,EAAwBC,MAAxB,CAA+B,CAA/B,EAAkCC,KAAlC,CAAwC,GAAxC,EAA6CC,OAA7C,CAAqD,UAAUC,IAAV,EAAgB;AACjE,MAAMC,EAAE,GAAGD,IAAI,CAACF,KAAL,CAAW,GAAX,CAAX;AACAH,YAAU,CAACM,EAAE,CAAC,CAAD,CAAH,CAAV,GAAoBA,EAAE,CAAC,CAAD,CAAtB;AACH,CAHD;AAKA;AAEO,IAAMC,YAAY,GAAI,YAAY;AACrC,MAAIC,IAAI,GAAGC,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAAX;AACAF,MAAI,CAACG,KAAL,GAAaH,IAAI,CAACI,MAAL,GAAc,CAA3B;;AACA,MAAI,CAAC,EAAEJ,IAAI,CAACK,UAAL,IAAmBL,IAAI,CAACK,UAAL,CAAgB,IAAhB,CAArB,CAAL,EAAkD;AAC9C;AACA,WAAOL,IAAI,CAACM,SAAL,CAAe,YAAf,EAA6Bf,OAA7B,CAAqC,iBAArC,MAA4D,CAAnE;AACH,GANoC,CAOrC;;;AACA,SAAO,KAAP;AACH,CAT2B,EAArB;AAWA,IAAMgB,WAAW,GAAG;AACvBC,mBAAiB,EAAE,+CADI;AAEvBC,cAAY,EAAE,uEAFS;AAGvBC,YAAU,EAAE,mDAHW;AAIvBC,kBAAgB,EAAE,8DAJK;AAKvBC,gBAAc,EAAE,gEALO;AAMvBC,aAAW,EAAE,iEANU;AAOvBC,WAAS,EAAE,0DAPY;AAQvBC,QAAM,EAAE;AARe,CAApB,C;;;;;;;;;;;;ACvHP;AAAA;AAAA,IAAMC,aAAa,GAAG,EAAtB;AAEO,SAASC,gBAAT,CAA0BC,OAA1B,EAAmC;AACtC,SAAOC,OAAO,CAACC,GAAR,CAAYF,OAAO,CAAChC,GAAR,CAAY,UAAUmC,SAAV,EAAqB;AAChD,QAAI,OAAOA,SAAP,KAAqB,QAAzB,EAAmC;AAC/BA,eAAS,GAAG;AACRC,WAAG,EAAED,SADG;AAER;AACAE,YAAI,EAAEF,SAAS,CAACG,KAAV,CAAgB,QAAhB,IAA4B,KAA5B,GAAoC;AAHlC,OAAZ;AAKH;;AACD,QAAIR,aAAa,CAACK,SAAS,CAACC,GAAX,CAAjB,EAAkC;AAC9B,aAAON,aAAa,CAACK,SAAS,CAACC,GAAX,CAApB;AACH;;AACD,QAAMG,OAAO,GAAG,IAAIN,OAAJ,CAAY,UAACO,OAAD,EAAUC,MAAV,EAAqB;AAC7C,UAAIN,SAAS,CAACE,IAAV,KAAmB,IAAvB,EAA6B;AACzB,YAAMK,MAAM,GAAG3B,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAAf;AACA0B,cAAM,CAACC,GAAP,GAAaR,SAAS,CAACC,GAAvB;AACAM,cAAM,CAACE,KAAP,GAAe,KAAf;;AACAF,cAAM,CAACG,MAAP,GAAgB,YAAY;AACxBL,iBAAO;AACV,SAFD;;AAGAE,cAAM,CAACI,OAAP,GAAiB,YAAY;AACzBL,gBAAM;AACT,SAFD;;AAGA1B,gBAAQ,CAACgC,IAAT,CAAcC,WAAd,CAA0BN,MAA1B;AACH,OAXD,MAYK,IAAIP,SAAS,CAACE,IAAV,KAAmB,KAAvB,EAA8B;AAC/B,YAAMY,IAAI,GAAGlC,QAAQ,CAACC,aAAT,CAAuB,MAAvB,CAAb;AACAiC,YAAI,CAACC,GAAL,GAAW,YAAX;AACAD,YAAI,CAAC7C,IAAL,GAAY+B,SAAS,CAACC,GAAtB;;AACAa,YAAI,CAACJ,MAAL,GAAc,YAAY;AACtBL,iBAAO;AACV,SAFD;;AAGAS,YAAI,CAACH,OAAL,GAAe,YAAY;AACvBL,gBAAM;AACT,SAFD;;AAGA1B,gBAAQ,CAACgC,IAAT,CAAcC,WAAd,CAA0BC,IAA1B;AACH;AACJ,KAzBe,CAAhB;AA0BAnB,iBAAa,CAACK,SAAS,CAACC,GAAX,CAAb,GAA+BG,OAA/B;AACA,WAAOA,OAAP;AACH,GAvCkB,CAAZ,CAAP;AAwCH,C;;;;;;;;;;;;AC5CD;AAAe;AACXY,IAAE,EAAE;AACAC,UAAM,EAAE;AACJC,SAAG,EAAE,KADD;AAEJC,mBAAa,EAAE,uBAFX;AAGJC,aAAO,EAAE,yCAHL;AAKJC,cAAQ,EAAE,WALN;AAMJC,iBAAW,EAAE,eANT;AAOJ;AAEAC,oBAAc,EAAE,QATZ;AAUJC,cAAQ,EAAE,UAVN;AAWJC,kBAAY,EAAE,gBAXV;AAaJC,cAAQ,EAAE,UAbN;AAeJC,UAAI,EAAE,MAfF;AAgBJC,gBAAU,EAAE;AAhBR,KADR;AAoBAC,cAAU,EAAE;AACRC,UAAI,EAAE,MADE;AAERC,SAAG,EAAE,KAFG;AAGRC,SAAG,EAAE,KAHG;AAIRC,aAAO,EAAE,SAJD;AAKRpE,SAAG,EAAE,SALG;AAMRqE,iBAAW,EAAE,aANL;AAORC,WAAK,EAAE,OAPC;AAQRC,aAAO,EAAE,SARD;AASRC,aAAO,EAAE,SATD;AAURC,WAAK,EAAE,OAVC;AAWRC,WAAK,EAAE,OAXC;AAYRC,UAAI,EAAE,MAZE;AAaRC,aAAO,EAAE,SAbD;AAcRC,cAAQ,EAAE,UAdF;AAeRC,cAAQ,EAAE,UAfF;AAgBRC,YAAM,EAAE,QAhBA;AAiBRC,YAAM,EAAE,QAjBA;AAkBRC,WAAK,EAAE,OAlBC;AAmBRC,kBAAY,EAAE,cAnBN;AAoBRC,gBAAU,EAAE,YApBJ;AAqBRC,cAAQ,EAAE,UArBF;AAsBRC,YAAM,EAAE,QAtBA;AAwBRC,aAAO,EAAE,SAxBD;AAyBRC,cAAQ,EAAE,UAzBF;AA0BRC,UAAI,EAAE,MA1BE;AA2BRC,UAAI,EAAE,WA3BE;AA6BRC,WAAK,EAAE,UA7BC;AA8BRC,WAAK,EAAE,QA9BC;AA+BRC,eAAS,EAAE,YA/BH;AAgCRC,aAAO,EAAE,YAhCD;AAiCRC,WAAK,EAAE,QAjCC;AAkCRC,aAAO,EAAE,UAlCD;AAmCRC,YAAM,EAAE,SAnCA;AAoCRC,eAAS,EAAE,YApCH;AAqCRC,aAAO,EAAE,UArCD;AAsCRC,YAAM,EAAE,SAtCA;AAuCRC,aAAO,EAAE;AAvCD;AApBZ,GADO;AA+DXC,IAAE,EAAE;AACAjD,UAAM,EAAE;AACJC,SAAG,EAAE,IADD;AAEJC,mBAAa,EAAE,UAFX;AAGJC,aAAO,EAAE,SAHL;AAKJC,cAAQ,EAAE,MALN;AAMJC,iBAAW,EAAE,OANT;AAOJ;AAEAC,oBAAc,EAAE,MATZ;AAUJE,kBAAY,EAAE,SAVV;AAWJD,cAAQ,EAAE,MAXN;AAYJE,cAAQ,EAAE,MAZN;AAcJC,UAAI,EAAE,IAdF;AAeJC,gBAAU,EAAE;AAfR,KADR;AAmBAC,cAAU,EAAE;AACRC,UAAI,EAAE,KADE;AAERC,SAAG,EAAE,KAFG;AAGRC,SAAG,EAAE,IAHG;AAIRC,aAAO,EAAE,KAJD;AAKRpE,SAAG,EAAE,SALG;AAMRqE,iBAAW,EAAE,MANL;AAORC,WAAK,EAAE,KAPC;AAQRC,aAAO,EAAE,KARD;AASRC,aAAO,EAAE,KATD;AAURC,WAAK,EAAE,KAVC;AAWRC,WAAK,EAAE,KAXC;AAYRC,UAAI,EAAE,IAZE;AAaRC,aAAO,EAAE,MAbD;AAcRC,cAAQ,EAAE,KAdF;AAeRC,cAAQ,EAAE,OAfF;AAgBRC,YAAM,EAAE,KAhBA;AAiBRC,YAAM,EAAE,KAjBA;AAkBRC,WAAK,EAAE,KAlBC;AAmBRC,kBAAY,EAAE,MAnBN;AAoBRC,gBAAU,EAAE,OApBJ;AAqBRC,cAAQ,EAAE,OArBF;AAsBRC,YAAM,EAAE,OAtBA;AAwBRC,aAAO,EAAE,KAxBD;AAyBRC,cAAQ,EAAE,QAzBF;AA0BRC,UAAI,EAAE,IA1BE;AA2BRC,UAAI,EAAE,KA3BE;AA6BRC,WAAK,EAAE,OA7BC;AA8BRC,WAAK,EAAE,QA9BC;AA+BRC,eAAS,EAAE,QA/BH;AAgCRC,aAAO,EAAE,OAhCD;AAiCRC,WAAK,EAAE,OAjCC;AAkCRC,aAAO,EAAE,QAlCD;AAmCRC,YAAM,EAAE,QAnCA;AAoCRC,eAAS,EAAE,QApCH;AAqCRC,aAAO,EAAE,QArCD;AAsCRC,YAAM,EAAE,SAtCA;AAuCRC,aAAO,EAAE;AAvCD;AAnBZ;AA/DO,CAAf,E;;;;;;;;;;;;ACCA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEO,IAAME,KAAK,GAAG;AACjBC,SAAO,EAAE,EADQ;AAEjBC,SAAO,EAAE,EAFQ;AAGjBC,QAAM,EAAE,EAHS;AAKjBjD,UAAQ,EAAElD,yDAAU,CAACoG,KAAX,KAAqB,MALd;AAMjBjD,aAAW,EAAE,WAAWnD,yDANP;AAOjBqD,UAAQ,EAAErD,yDAAU,CAACqD,QAAX,IAAuB,QAPhB;AASjBgD,WAAS,EAAErG,yDAAU,CAAC8C,MAAX,KAAsB,QAThB;AAUjBQ,cAAY,EAAE,kBAAkBtD,yDAVf;AAYjBsG,MAAI,EAAE,EAZW;AAcjBC,SAAO,EAAE,EAdQ;AAejBC,YAAU,EAAE,EAfK;AAiBjBC,UAAQ,EAAEC,MAAM,CAACC,UAAP,GAAoB,GAjBb;AAmBjBC,cAAY,EAAE;AACV7E,QAAI,EAAE,EADI;AAEV8E,WAAO,EAAE;AAFC;AAnBG,CAAd;AAyBA,SAASC,eAAT,GAA2B;AAC9B,SAAO,IAAInF,OAAJ,CAAY,UAAAO,OAAO,EAAI;AAC1B,QAAM6E,QAAQ,GAAG/G,yDAAU,CAACgH,EAAX,GAAgB,SAAhB,GAA4B,MAA7C;AACAC,KAAC,CAACC,IAAF,WAAUlB,KAAK,CAACC,OAAhB,cAA2Bc,QAA3B,cAAuC/G,yDAAU,CAACmH,CAAlD,oBAA6DnB,KAAK,CAACE,OAAnE,GAA8E;AAC1EkB,cAAQ,EAAE,MADgE;AAE1EC,aAAO,EAAE,iBAACC,IAAD,EAAU;AACfpF,eAAO,CAACoF,IAAD,CAAP;AACH;AAJyE,KAA9E;AAMH,GARM,CAAP;AASH;AAEM,SAASC,eAAT,CAAyBjB,IAAzB,EAA+B;AAClC,SAAOA,IAAI,CAACkB,OAAL,CAAa,kBAAb,EAAiC,EAAjC,EAAqCC,IAArC,EAAP;AACH,C;;;;;;;;;;;;AC1CD;AAAA;AACA;AACe,gEACb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,4BAJR;AAKE,UAAQ,EALV;AAME,WAAS,4BANX;AAOE,gBAAc;AAPhB,CADa,EAUb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,qBANX;AAOE,gBAAc;AAPhB,CAVa,EAmBb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,yBAJR;AAKE,UAAQ,EALV;AAME,WAAS,2BANX;AAOE,gBAAc;AAPhB,CAnBa,EA4Bb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,2BAJR;AAKE,UAAQ,EALV;AAME,WAAS,qBANX;AAOE,gBAAc;AAPhB,CA5Ba,EAqCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,IANX;AAOE,gBAAc;AAPhB,CArCa,EA8Cb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,sCAJR;AAKE,UAAQ,EALV;AAME,WAAS,kCANX;AAOE,gBAAc;AAPhB,CA9Ca,EAuDb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,kBAJR;AAKE,UAAQ,EALV;AAME,WAAS,oBANX;AAOE,gBAAc;AAPhB,CAvDa,EAgEb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,MANX;AAOE,WAAS,uBAPX;AAQE,gBAAc;AARhB,CAhEa,EA0Eb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,sBAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CA1Ea,EAmFb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,MANX;AAOE,WAAS,uBAPX;AAQE,gBAAc;AARhB,CAnFa,EA6Fb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,OAJR;AAKE,UAAQ,EALV;AAME,WAAS,OANX;AAOE,gBAAc;AAPhB,CA7Fa,EAsGb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,6BAJR;AAKE,UAAQ,EALV;AAME,WAAS,6BANX;AAOE,gBAAc;AAPhB,CAtGa,EA+Gb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,kCAJR;AAKE,UAAQ,EALV;AAME,WAAS,oCANX;AAOE,gBAAc;AAPhB,CA/Ga,EAwHb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,2BAJR;AAKE,UAAQ,EALV;AAME,WAAS,2BANX;AAOE,gBAAc;AAPhB,CAxHa,EAiIb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,6BAJR;AAKE,UAAQ,EALV;AAME,WAAS,6BANX;AAOE,gBAAc;AAPhB,CAjIa,EA0Ib;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,eANX;AAOE,gBAAc;AAPhB,CA1Ia,EAmJb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,wBAJR;AAKE,UAAQ,EALV;AAME,WAAS,kBANX;AAOE,gBAAc;AAPhB,CAnJa,EA4Jb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,oBAJR;AAKE,UAAQ,EALV;AAME,WAAS,oBANX;AAOE,gBAAc;AAPhB,CA5Ja,EAqKb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,8BAJR;AAKE,UAAQ,EALV;AAME,WAAS,wBANX;AAOE,gBAAc;AAPhB,CArKa,EA8Kb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,cANX;AAOE,gBAAc;AAPhB,CA9Ka,EAuLb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,MANX;AAOE,gBAAc;AAPhB,CAvLa,EAgMb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,4BAJR;AAKE,UAAQ,EALV;AAME,WAAS,4BANX;AAOE,gBAAc;AAPhB,CAhMa,EAyMb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,oBAJR;AAKE,UAAQ,EALV;AAME,WAAS,MANX;AAOE,WAAS,oBAPX;AAQE,gBAAc;AARhB,CAzMa,EAmNb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,wBAJR;AAKE,UAAQ,EALV;AAME,WAAS,MANX;AAOE,WAAS,0BAPX;AAQE,gBAAc;AARhB,CAnNa,EA6Nb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,MANX;AAOE,WAAS,qBAPX;AAQE,gBAAc;AARhB,CA7Na,EAuOb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,wBAJR;AAKE,UAAQ,EALV;AAME,WAAS,wBANX;AAOE,gBAAc;AAPhB,CAvOa,EAgPb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CAhPa,EAyPb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,YANX;AAOE,gBAAc;AAPhB,CAzPa,EAkQb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,WANX;AAOE,gBAAc;AAPhB,CAlQa,EA2Qb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,0BAJR;AAKE,UAAQ,EALV;AAME,WAAS,kBANX;AAOE,gBAAc;AAPhB,CA3Qa,EAoRb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,SANX;AAOE,gBAAc;AAPhB,CApRa,EA6Rb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,oBAJR;AAKE,UAAQ,EALV;AAME,WAAS,YANX;AAOE,gBAAc;AAPhB,CA7Ra,EAsSb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,0BAJR;AAKE,UAAQ,EALV;AAME,WAAS,kBANX;AAOE,gBAAc;AAPhB,CAtSa,EA+Sb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,2CANX;AAOE,gBAAc;AAPhB,CA/Sa,EAwTb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,2BAJR;AAKE,UAAQ,EALV;AAME,WAAS,6BANX;AAOE,gBAAc;AAPhB,CAxTa,EAiUb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,WANX;AAOE,gBAAc;AAPhB,CAjUa,EA0Ub;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,WANX;AAOE,gBAAc;AAPhB,CA1Ua,EAmVb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,QANX;AAOE,gBAAc;AAPhB,CAnVa,EA4Vb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,aANX;AAOE,gBAAc;AAPhB,CA5Va,EAqWb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,eANX;AAOE,gBAAc;AAPhB,CArWa,EA8Wb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,yBAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CA9Wa,EAuXb;AACE,cAAY,CACV,WADU,CADd;AAIE,QAAM,WAJR;AAKE,UAAQ,EALV;AAME,WAAS,MANX;AAOE,WAAS,WAPX;AAQE,gBAAc;AARhB,CAvXa,EAiYb;AACE,cAAY,CACV,WADU,CADd;AAIE,QAAM,mBAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CAjYa,EA0Yb;AACE,cAAY,CACV,WADU,CADd;AAIE,QAAM,4BAJR;AAKE,UAAQ,EALV;AAME,WAAS,8BANX;AAOE,gBAAc;AAPhB,CA1Ya,EAmZb;AACE,cAAY,CACV,WADU,CADd;AAIE,QAAM,wBAJR;AAKE,UAAQ,EALV;AAME,WAAS,MANX;AAOE,WAAS,WAPX;AAQE,gBAAc;AARhB,CAnZa,EA6Zb;AACE,cAAY,CACV,WADU,CADd;AAIE,QAAM,mBAJR;AAKE,UAAQ,EALV;AAME,WAAS,gCANX;AAOE,gBAAc;AAPhB,CA7Za,EAsab;AACE,cAAY,CACV,WADU,CADd;AAIE,QAAM,yBAJR;AAKE,UAAQ,EALV;AAME,WAAS,MANX;AAOE,WAAS,2BAPX;AAQE,gBAAc;AARhB,CAtaa,EAgbb;AACE,cAAY,CACV,WADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,4BANX;AAOE,gBAAc;AAPhB,CAhba,EAybb;AACE,cAAY,CACV,WADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,MANX;AAOE,WAAS,YAPX;AAQE,gBAAc;AARhB,CAzba,EAmcb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CAnca,EA4cb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,2BAJR;AAKE,UAAQ,EALV;AAME,WAAS,2BANX;AAOE,gBAAc;AAPhB,CA5ca,EAqdb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,eANX;AAOE,gBAAc;AAPhB,CArda,EA8db;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,kBAJR;AAKE,UAAQ,EALV;AAME,WAAS,UANX;AAOE,gBAAc;AAPhB,CA9da,EAueb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,aANX;AAOE,gBAAc;AAPhB,CAvea,EAgfb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,MANX;AAOE,gBAAc;AAPhB,CAhfa,EAyfb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,uBAJR;AAKE,UAAQ,EALV;AAME,WAAS,eANX;AAOE,gBAAc;AAPhB,CAzfa,EAkgBb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,aANX;AAOE,gBAAc;AAPhB,CAlgBa,EA2gBb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,cANX;AAOE,gBAAc;AAPhB,CA3gBa,EAohBb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,mBAJR;AAKE,UAAQ,EALV;AAME,WAAS,mBANX;AAOE,gBAAc;AAPhB,CAphBa,CAAf,E;;;;;;;;;;;;ACFA;AAAA;AACA;AACe,gEACb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,YANX;AAOE,gBAAc;AAPhB,CADa,EAUb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,YANX;AAOE,gBAAc;AAPhB,CAVa,EAmBb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,kBANX;AAOE,gBAAc;AAPhB,CAnBa,EA4Bb;AACE,cAAY,CACV,SADU,EAEV,KAFU,EAGV,WAHU,CADd;AAME,QAAM,yBANR;AAOE,UAAQ,EAPV;AAQE,WAAS,wBARX;AASE,gBAAc;AAThB,CA5Ba,EAuCb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,kBANX;AAOE,gBAAc;AAPhB,CAvCa,EAgDb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,qBANX;AAOE,gBAAc;AAPhB,CAhDa,EAyDb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CAzDa,EAkEb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,sBANX;AAOE,gBAAc;AAPhB,CAlEa,EA2Eb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,0BAJR;AAKE,UAAQ,EALV;AAME,WAAS,wBANX;AAOE,gBAAc;AAPhB,CA3Ea,EAoFb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,4BAJR;AAKE,UAAQ,EALV;AAME,WAAS,oBANX;AAOE,gBAAc;AAPhB,CApFa,EA6Fb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,qBANX;AAOE,gBAAc;AAPhB,CA7Fa,EAsGb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,kBANX;AAOE,gBAAc;AAPhB,CAtGa,EA+Gb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,qBANX;AAOE,gBAAc;AAPhB,CA/Ga,EAwHb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,kBANX;AAOE,gBAAc;AAPhB,CAxHa,EAiIb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,SANX;AAOE,gBAAc;AAPhB,CAjIa,EA0Ib;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,OANX;AAOE,gBAAc;AAPhB,CA1Ia,EAmJb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,cANX;AAOE,gBAAc;AAPhB,CAnJa,EA4Jb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,oBANX;AAOE,gBAAc;AAPhB,CA5Ja,EAqKb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CArKa,EA8Kb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,sBANX;AAOE,gBAAc;AAPhB,CA9Ka,EAuLb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,4BANX;AAOE,gBAAc;AAPhB,CAvLa,EAgMb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,oBANX;AAOE,gBAAc;AAPhB,CAhMa,EAyMb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,2BANX;AAOE,gBAAc;AAPhB,CAzMa,EAkNb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,SANX;AAOE,gBAAc;AAPhB,CAlNa,EA2Nb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,OANX;AAOE,gBAAc;AAPhB,CA3Na,EAoOb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,wBANX;AAOE,gBAAc;AAPhB,CApOa,EA6Ob;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,MAJR;AAKE,UAAQ,EALV;AAME,WAAS,0BANX;AAOE,gBAAc;AAPhB,CA7Oa,EAsPb;AACE,cAAY,CACV,SADU,EAEV,KAFU,CADd;AAKE,QAAM,iBALR;AAME,UAAQ,EANV;AAOE,WAAS,qBAPX;AAQE,gBAAc;AARhB,CAtPa,EAgQb;AACE,cAAY,CACV,SADU,EAEV,KAFU,CADd;AAKE,QAAM,iBALR;AAME,UAAQ,EANV;AAOE,WAAS,eAPX;AAQE,gBAAc;AARhB,CAhQa,EA0Qb;AACE,cAAY,CACV,SADU,EAEV,KAFU,CADd;AAKE,QAAM,iBALR;AAME,UAAQ,EANV;AAOE,WAAS,2BAPX;AAQE,gBAAc;AARhB,CA1Qa,EAoRb;AACE,cAAY,CACV,SADU,EAEV,KAFU,CADd;AAKE,QAAM,iBALR;AAME,UAAQ,EANV;AAOE,WAAS,yBAPX;AAQE,gBAAc;AARhB,CApRa,EA8Rb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,mBAJR;AAKE,UAAQ,EALV;AAME,WAAS,aANX;AAOE,gBAAc;AAPhB,CA9Ra,EAuSb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,qCAJR;AAKE,UAAQ,EALV;AAME,WAAS,2CANX;AAOE,gBAAc;AAPhB,CAvSa,EAgTb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,iBANX;AAOE,gBAAc;AAPhB,CAhTa,EAyTb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,oBANX;AAOE,gBAAc;AAPhB,CAzTa,EAkUb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,iBANX;AAOE,gBAAc;AAPhB,CAlUa,EA2Ub;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,4BANX;AAOE,gBAAc;AAPhB,CA3Ua,EAoVb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CApVa,EA6Vb;AACE,cAAY,CACV,MADU,EAEV,WAFU,CADd;AAKE,QAAM,aALR;AAME,UAAQ,EANV;AAOE,WAAS,aAPX;AAQE,gBAAc;AARhB,CA7Va,EAuWb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,6BANX;AAOE,gBAAc;AAPhB,CAvWa,EAgXb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,WAJR;AAKE,UAAQ,EALV;AAME,WAAS,OANX;AAOE,gBAAc;AAPhB,CAhXa,EAyXb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,oBAJR;AAKE,UAAQ,EALV;AAME,WAAS,oBANX;AAOE,gBAAc;AAPhB,CAzXa,EAkYb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,UAJR;AAKE,UAAQ,EALV;AAME,WAAS,UANX;AAOE,gBAAc;AAPhB,CAlYa,EA2Yb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,sBAJR;AAKE,UAAQ,EALV;AAME,WAAS,wBANX;AAOE,gBAAc;AAPhB,CA3Ya,EAoZb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,mBANX;AAOE,gBAAc;AAPhB,CApZa,EA6Zb;AACE,cAAY,CACV,SADU,EAEV,MAFU,EAGV,KAHU,CADd;AAME,QAAM,cANR;AAOE,UAAQ,EAPV;AAQE,WAAS,eARX;AASE,gBAAc;AAThB,CA7Za,EAwab;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,eANX;AAOE,gBAAc;AAPhB,CAxaa,EAibb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,6BANX;AAOE,gBAAc;AAPhB,CAjba,EA0bb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,WAJR;AAKE,UAAQ,EALV;AAME,WAAS,WANX;AAOE,gBAAc;AAPhB,CA1ba,EAmcb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,2BANX;AAOE,gBAAc;AAPhB,CAnca,EA4cb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,mBAJR;AAKE,UAAQ,EALV;AAME,WAAS,mBANX;AAOE,gBAAc;AAPhB,CA5ca,EAqdb;AACE,cAAY,CACV,KADU,EAEV,MAFU,CADd;AAKE,QAAM,UALR;AAME,UAAQ,EANV;AAOE,WAAS,aAPX;AAQE,gBAAc;AARhB,CArda,EA+db;AACE,cAAY,CACV,KADU,EAEV,MAFU,CADd;AAKE,QAAM,eALR;AAME,UAAQ,EANV;AAOE,WAAS,mBAPX;AAQE,gBAAc;AARhB,CA/da,EAyeb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,aANX;AAOE,gBAAc;AAPhB,CAzea,EAkfb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,wBAJR;AAKE,UAAQ,EALV;AAME,WAAS,aANX;AAOE,gBAAc;AAPhB,CAlfa,EA2fb;AACE,cAAY,CACV,UADU,EAEV,KAFU,CADd;AAKE,QAAM,cALR;AAME,UAAQ,EANV;AAOE,WAAS,cAPX;AAQE,gBAAc;AARhB,CA3fa,EAqgBb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,iBANX;AAOE,gBAAc;AAPhB,CArgBa,EA8gBb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,0BANX;AAOE,gBAAc;AAPhB,CA9gBa,EAuhBb;AACE,cAAY,CACV,SADU,EAEV,KAFU,CADd;AAKE,QAAM,0BALR;AAME,UAAQ,EANV;AAOE,WAAS,gCAPX;AAQE,gBAAc;AARhB,CAvhBa,EAiiBb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,0BANX;AAOE,gBAAc;AAPhB,CAjiBa,EA0iBb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,UAJR;AAKE,UAAQ,EALV;AAME,WAAS,aANX;AAOE,gBAAc;AAPhB,CA1iBa,EAmjBb;AACE,cAAY,CACV,MADU,EAEV,MAFU,CADd;AAKE,QAAM,gBALR;AAME,UAAQ,EANV;AAOE,WAAS,2BAPX;AAQE,gBAAc;AARhB,CAnjBa,EA6jBb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,eANX;AAOE,gBAAc;AAPhB,CA7jBa,EAskBb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,UAJR;AAKE,UAAQ,EALV;AAME,WAAS,qBANX;AAOE,gBAAc;AAPhB,CAtkBa,EA+kBb;AACE,cAAY,CACV,MADU,EAEV,UAFU,CADd;AAKE,QAAM,oBALR;AAME,UAAQ,EANV;AAOE,WAAS,gCAPX;AAQE,gBAAc;AARhB,CA/kBa,EAylBb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,iBANX;AAOE,gBAAc;AAPhB,CAzlBa,EAkmBb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,iBANX;AAOE,gBAAc;AAPhB,CAlmBa,EA2mBb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,WAJR;AAKE,UAAQ,EALV;AAME,WAAS,8BANX;AAOE,gBAAc;AAPhB,CA3mBa,EAonBb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,UANX;AAOE,gBAAc;AAPhB,CApnBa,EA6nBb;AACE,cAAY,CACV,MADU,EAEV,UAFU,CADd;AAKE,QAAM,aALR;AAME,UAAQ,EANV;AAOE,WAAS,wBAPX;AAQE,gBAAc;AARhB,CA7nBa,EAuoBb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,uBAJR;AAKE,UAAQ,EALV;AAME,WAAS,aANX;AAOE,gBAAc;AAPhB,CAvoBa,EAgpBb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CAhpBa,EAypBb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CAzpBa,EAkqBb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,sBANX;AAOE,gBAAc;AAPhB,CAlqBa,EA2qBb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CA3qBa,EAorBb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CAprBa,EA6rBb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,8BANX;AAOE,gBAAc;AAPhB,CA7rBa,EAssBb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,WAJR;AAKE,UAAQ,EALV;AAME,WAAS,uBANX;AAOE,gBAAc;AAPhB,CAtsBa,EA+sBb;AACE,cAAY,CACV,KADU,EAEV,MAFU,CADd;AAKE,QAAM,eALR;AAME,UAAQ,EANV;AAOE,WAAS,oBAPX;AAQE,gBAAc;AARhB,CA/sBa,EAytBb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,WAJR;AAKE,UAAQ,EALV;AAME,WAAS,OANX;AAOE,gBAAc;AAPhB,CAztBa,EAkuBb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,wBAJR;AAKE,UAAQ,EALV;AAME,WAAS,wBANX;AAOE,gBAAc;AAPhB,CAluBa,EA2uBb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,yBAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CA3uBa,EAovBb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,qBANX;AAOE,gBAAc;AAPhB,CApvBa,EA6vBb;AACE,cAAY,CACV,UADU,EAEV,SAFU,CADd;AAKE,QAAM,iBALR;AAME,UAAQ,EANV;AAOE,WAAS,iBAPX;AAQE,gBAAc;AARhB,CA7vBa,EAuwBb;AACE,cAAY,CACV,UADU,CADd;AAIE,QAAM,wBAJR;AAKE,UAAQ,EALV;AAME,WAAS,wBANX;AAOE,gBAAc;AAPhB,CAvwBa,EAgxBb;AACE,cAAY,CACV,UADU,EAEV,OAFU,CADd;AAKE,QAAM,gBALR;AAME,UAAQ,EANV;AAOE,WAAS,gBAPX;AAQE,gBAAc;AARhB,CAhxBa,EA0xBb;AACE,cAAY,CACV,UADU,EAEV,SAFU,CADd;AAKE,QAAM,kBALR;AAME,UAAQ,EANV;AAOE,WAAS,kBAPX;AAQE,gBAAc;AARhB,CA1xBa,EAoyBb;AACE,cAAY,CACV,UADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,6BANX;AAOE,gBAAc;AAPhB,CApyBa,EA6yBb;AACE,cAAY,CACV,UADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CA7yBa,EAszBb;AACE,cAAY,CACV,UADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,iBANX;AAOE,gBAAc;AAPhB,CAtzBa,EA+zBb;AACE,cAAY,CACV,UADU,EAEV,SAFU,CADd;AAKE,QAAM,mBALR;AAME,UAAQ,EANV;AAOE,WAAS,2BAPX;AAQE,gBAAc;AARhB,CA/zBa,EAy0Bb;AACE,cAAY,CACV,aADU,CADd;AAIE,QAAM,mBAJR;AAKE,UAAQ,EALV;AAME,WAAS,mBANX;AAOE,gBAAc;AAPhB,CAz0Ba,EAk1Bb;AACE,cAAY,CACV,aADU,CADd;AAIE,QAAM,mBAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CAl1Ba,EA21Bb;AACE,cAAY,CACV,aADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CA31Ba,EAo2Bb;AACE,cAAY,CACV,aADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,sBANX;AAOE,gBAAc;AAPhB,CAp2Ba,EA62Bb;AACE,cAAY,CACV,aADU,CADd;AAIE,QAAM,oBAJR;AAKE,UAAQ,EALV;AAME,WAAS,mBANX;AAOE,gBAAc;AAPhB,CA72Ba,EAs3Bb;AACE,cAAY,CACV,aADU,CADd;AAIE,QAAM,mBAJR;AAKE,UAAQ,EALV;AAME,WAAS,6BANX;AAOE,gBAAc;AAPhB,CAt3Ba,EA+3Bb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,kBAJR;AAKE,UAAQ,EALV;AAME,WAAS,kBANX;AAOE,gBAAc;AAPhB,CA/3Ba,EAw4Bb;AACE,cAAY,CACV,QADU,EAEV,UAFU,CADd;AAKE,QAAM,sBALR;AAME,UAAQ,EANV;AAOE,WAAS,sBAPX;AAQE,gBAAc;AARhB,CAx4Ba,EAk5Bb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,0BAJR;AAKE,UAAQ,EALV;AAME,WAAS,0BANX;AAOE,gBAAc;AAPhB,CAl5Ba,EA25Bb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,kBAJR;AAKE,UAAQ,EALV;AAME,WAAS,uBANX;AAOE,gBAAc;AAPhB,CA35Ba,EAo6Bb;AACE,cAAY,CACV,QADU,EAEV,UAFU,CADd;AAKE,QAAM,sBALR;AAME,UAAQ,EANV;AAOE,WAAS,2BAPX;AAQE,gBAAc;AARhB,CAp6Ba,EA86Bb;AACE,cAAY,CACV,QADU,EAEV,UAFU,EAGV,MAHU,CADd;AAME,QAAM,qBANR;AAOE,UAAQ,EAPV;AAQE,WAAS,gCARX;AASE,gBAAc;AAThB,CA96Ba,EAy7Bb;AACE,cAAY,CACV,QADU,EAEV,KAFU,CADd;AAKE,QAAM,eALR;AAME,UAAQ,EANV;AAOE,WAAS,mBAPX;AAQE,gBAAc;AARhB,CAz7Ba,EAm8Bb;AACE,cAAY,CACV,aADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,YANX;AAOE,gBAAc;AAPhB,CAn8Ba,EA48Bb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,sBAJR;AAKE,UAAQ,EALV;AAME,WAAS,eANX;AAOE,gBAAc;AAPhB,CA58Ba,EAq9Bb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,SANX;AAOE,gBAAc;AAPhB,CAr9Ba,EA89Bb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,QANX;AAOE,gBAAc;AAPhB,CA99Ba,EAu+Bb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,wCANX;AAOE,gBAAc;AAPhB,CAv+Ba,EAg/Bb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,YANX;AAOE,gBAAc;AAPhB,CAh/Ba,EAy/Bb;AACE,cAAY,CACV,SADU,EAEV,KAFU,EAGV,WAHU,CADd;AAME,QAAM,6BANR;AAOE,UAAQ,EAPV;AAQE,WAAS,wBARX;AASE,gBAAc;AAThB,CAz/Ba,EAogCb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,cANX;AAOE,gBAAc;AAPhB,CApgCa,EA6gCb;AACE,cAAY,CACV,SADU,EAEV,KAFU,CADd;AAKE,QAAM,oBALR;AAME,UAAQ,CACN,MADM,CANV;AASE,WAAS,yBATX;AAUE,gBAAc;AAVhB,CA7gCa,EAyhCb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,QAJR;AAKE,UAAQ,EALV;AAME,WAAS,cANX;AAOE,gBAAc;AAPhB,CAzhCa,EAkiCb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CAliCa,EA2iCb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,kBAJR;AAKE,UAAQ,EALV;AAME,WAAS,mBANX;AAOE,gBAAc;AAPhB,CA3iCa,EAojCb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,kBANX;AAOE,gBAAc;AAPhB,CApjCa,EA6jCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,OAJR;AAKE,UAAQ,EALV;AAME,WAAS,OANX;AAOE,gBAAc;AAPhB,CA7jCa,EAskCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,WAJR;AAKE,UAAQ,EALV;AAME,WAAS,WANX;AAOE,gBAAc;AAPhB,CAtkCa,EA+kCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CA/kCa,EAwlCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,aANX;AAOE,gBAAc;AAPhB,CAxlCa,EAimCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,cANX;AAOE,gBAAc;AAPhB,CAjmCa,EA0mCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,aANX;AAOE,gBAAc;AAPhB,CA1mCa,EAmnCb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,WAJR;AAKE,UAAQ,EALV;AAME,WAAS,WANX;AAOE,gBAAc;AAPhB,CAnnCa,EA4nCb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,6BANX;AAOE,gBAAc;AAPhB,CA5nCa,EAqoCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,OAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CAroCa,EA8oCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,uBAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CA9oCa,EAupCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,cANX;AAOE,gBAAc;AAPhB,CAvpCa,EAgqCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,eANX;AAOE,gBAAc;AAPhB,CAhqCa,EAyqCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,cANX;AAOE,gBAAc;AAPhB,CAzqCa,EAkrCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,oBANX;AAOE,gBAAc;AAPhB,CAlrCa,EA2rCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,uBANX;AAOE,gBAAc;AAPhB,CA3rCa,EAosCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,uBAJR;AAKE,UAAQ,EALV;AAME,WAAS,uBANX;AAOE,gBAAc;AAPhB,CApsCa,EA6sCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,WAJR;AAKE,UAAQ,EALV;AAME,WAAS,kBANX;AAOE,gBAAc;AAPhB,CA7sCa,EAstCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,cANX;AAOE,gBAAc;AAPhB,CAttCa,EA+tCb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,kBAJR;AAKE,UAAQ,EALV;AAME,WAAS,kBANX;AAOE,gBAAc;AAPhB,CA/tCa,EAwuCb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,CACN,MADM,CALV;AAQE,WAAS,gCARX;AASE,gBAAc;AAThB,CAxuCa,EAmvCb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,mBAJR;AAKE,UAAQ,EALV;AAME,WAAS,sBANX;AAOE,gBAAc;AAPhB,CAnvCa,EA4vCb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,mBANX;AAOE,gBAAc;AAPhB,CA5vCa,EAqwCb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,yBAJR;AAKE,UAAQ,EALV;AAME,WAAS,qCANX;AAOE,gBAAc;AAPhB,CArwCa,EA8wCb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,YANX;AAOE,gBAAc;AAPhB,CA9wCa,EAuxCb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,UAJR;AAKE,UAAQ,EALV;AAME,WAAS,UANX;AAOE,gBAAc;AAPhB,CAvxCa,EAgyCb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,uCANX;AAOE,gBAAc;AAPhB,CAhyCa,EAyyCb;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,qBANX;AAOE,gBAAc;AAPhB,CAzyCa,EAkzCb;AACE,cAAY,CACV,KADU,EAEV,OAFU,CADd;AAKE,QAAM,eALR;AAME,UAAQ,EANV;AAOE,WAAS,cAPX;AAQE,gBAAc;AARhB,CAlzCa,EA4zCb;AACE,cAAY,CACV,KADU,EAEV,OAFU,CADd;AAKE,QAAM,YALR;AAME,UAAQ,CACN,MADM,CANV;AASE,WAAS,wCATX;AAUE,gBAAc;AAVhB,CA5zCa,EAw0Cb;AACE,cAAY,CACV,KADU,EAEV,OAFU,CADd;AAKE,QAAM,gBALR;AAME,UAAQ,CACN,MADM,CANV;AASE,WAAS,kCATX;AAUE,gBAAc;AAVhB,CAx0Ca,EAo1Cb;AACE,cAAY,CACV,KADU,EAEV,OAFU,CADd;AAKE,QAAM,mBALR;AAME,UAAQ,CACN,MADM,CANV;AASE,WAAS,oCATX;AAUE,gBAAc;AAVhB,CAp1Ca,EAg2Cb;AACE,cAAY,CACV,KADU,EAEV,OAFU,CADd;AAKE,QAAM,UALR;AAME,UAAQ,EANV;AAOE,WAAS,yCAPX;AAQE,gBAAc;AARhB,CAh2Ca,EA02Cb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,SAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CA12Ca,EAm3Cb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,WAJR;AAKE,UAAQ,EALV;AAME,WAAS,WANX;AAOE,gBAAc;AAPhB,CAn3Ca,EA43Cb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,iBANX;AAOE,gBAAc;AAPhB,CA53Ca,EAq4Cb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,QAJR;AAKE,UAAQ,EALV;AAME,WAAS,uCANX;AAOE,gBAAc;AAPhB,CAr4Ca,EA84Cb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CA94Ca,EAu5Cb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,YANX;AAOE,gBAAc;AAPhB,CAv5Ca,EAg6Cb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,qBANX;AAOE,gBAAc;AAPhB,CAh6Ca,EAy6Cb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,2BANX;AAOE,gBAAc;AAPhB,CAz6Ca,EAk7Cb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,SAJR;AAKE,UAAQ,EALV;AAME,WAAS,iCANX;AAOE,gBAAc;AAPhB,CAl7Ca,EA27Cb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,WAJR;AAKE,UAAQ,EALV;AAME,WAAS,WANX;AAOE,gBAAc;AAPhB,CA37Ca,EAo8Cb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CAp8Ca,EA68Cb;AACE,cAAY,CACV,KADU,CADd;AAIE,QAAM,sBAJR;AAKE,UAAQ,EALV;AAME,WAAS,sBANX;AAOE,gBAAc;AAPhB,CA78Ca,EAs9Cb;AACE,cAAY,CACV,UADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,cANX;AAOE,gBAAc;AAPhB,CAt9Ca,EA+9Cb;AACE,cAAY,CACV,UADU,CADd;AAIE,QAAM,oBAJR;AAKE,UAAQ,EALV;AAME,WAAS,oBANX;AAOE,gBAAc;AAPhB,CA/9Ca,EAw+Cb;AACE,cAAY,CACV,UADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CAx+Ca,EAi/Cb;AACE,cAAY,CACV,cADU,CADd;AAIE,QAAM,wBAJR;AAKE,UAAQ,EALV;AAME,WAAS,eANX;AAOE,gBAAc;AAPhB,CAj/Ca,EA0/Cb;AACE,cAAY,CACV,cADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,YANX;AAOE,gBAAc;AAPhB,CA1/Ca,EAmgDb;AACE,cAAY,CACV,cADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,qBANX;AAOE,gBAAc;AAPhB,CAngDa,EA4gDb;AACE,cAAY,CACV,cADU,CADd;AAIE,QAAM,mBAJR;AAKE,UAAQ,EALV;AAME,WAAS,+BANX;AAOE,gBAAc;AAPhB,CA5gDa,EAqhDb;AACE,cAAY,CACV,cADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,SANX;AAOE,gBAAc;AAPhB,CArhDa,EA8hDb;AACE,cAAY,CACV,cADU,CADd;AAIE,QAAM,sBAJR;AAKE,UAAQ,EALV;AAME,WAAS,UANX;AAOE,gBAAc;AAPhB,CA9hDa,EAuiDb;AACE,cAAY,CACV,cADU,CADd;AAIE,QAAM,uBAJR;AAKE,UAAQ,EALV;AAME,WAAS,iCANX;AAOE,gBAAc;AAPhB,CAviDa,EAgjDb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,OAJR;AAKE,UAAQ,EALV;AAME,WAAS,mBANX;AAOE,gBAAc;AAPhB,CAhjDa,EAyjDb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,WAJR;AAKE,UAAQ,EALV;AAME,WAAS,mBANX;AAOE,gBAAc;AAPhB,CAzjDa,EAkkDb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,wBANX;AAOE,gBAAc;AAPhB,CAlkDa,EA2kDb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CA3kDa,EAolDb;AACE,cAAY,CACV,OADU,CADd;AAIE,QAAM,QAJR;AAKE,UAAQ,EALV;AAME,WAAS,wBANX;AAOE,gBAAc;AAPhB,CAplDa,EA6lDb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CA7lDa,EAsmDb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,kBAJR;AAKE,UAAQ,EALV;AAME,WAAS,2CANX;AAOE,gBAAc;AAPhB,CAtmDa,EA+mDb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,4BANX;AAOE,gBAAc;AAPhB,CA/mDa,EAwnDb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,uBAJR;AAKE,UAAQ,EALV;AAME,WAAS,2BANX;AAOE,gBAAc;AAPhB,CAxnDa,EAioDb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,wBAJR;AAKE,UAAQ,EALV;AAME,WAAS,4BANX;AAOE,gBAAc;AAPhB,CAjoDa,EA0oDb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,cANX;AAOE,gBAAc;AAPhB,CA1oDa,EAmpDb;AACE,cAAY,CACV,QADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,wBANX;AAOE,gBAAc;AAPhB,CAnpDa,EA4pDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,mBAJR;AAKE,UAAQ,EALV;AAME,WAAS,mBANX;AAOE,gBAAc;AAPhB,CA5pDa,EAqqDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,sBANX;AAOE,gBAAc;AAPhB,CArqDa,EA8qDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,gCAJR;AAKE,UAAQ,EALV;AAME,WAAS,wBANX;AAOE,gBAAc;AAPhB,CA9qDa,EAurDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,2BAJR;AAKE,UAAQ,EALV;AAME,WAAS,wBANX;AAOE,gBAAc;AAPhB,CAvrDa,EAgsDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,yBAJR;AAKE,UAAQ,EALV;AAME,WAAS,wBANX;AAOE,gBAAc;AAPhB,CAhsDa,EAysDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,eANX;AAOE,gBAAc;AAPhB,CAzsDa,EAktDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,kCAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CAltDa,EA2tDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,2BAJR;AAKE,UAAQ,EALV;AAME,WAAS,mBANX;AAOE,gBAAc;AAPhB,CA3tDa,EAouDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,gCAJR;AAKE,UAAQ,EALV;AAME,WAAS,wBANX;AAOE,gBAAc;AAPhB,CApuDa,EA6uDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,aANX;AAOE,gBAAc;AAPhB,CA7uDa,EAsvDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,mBAJR;AAKE,UAAQ,EALV;AAME,WAAS,mBANX;AAOE,gBAAc;AAPhB,CAtvDa,EA+vDb;AACE,cAAY,CACV,UADU,EAEV,SAFU,CADd;AAKE,QAAM,gBALR;AAME,UAAQ,EANV;AAOE,WAAS,gBAPX;AAQE,gBAAc;AARhB,CA/vDa,EAywDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,mBAJR;AAKE,UAAQ,EALV;AAME,WAAS,mBANX;AAOE,gBAAc;AAPhB,CAzwDa,EAkxDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,0BAJR;AAKE,UAAQ,EALV;AAME,WAAS,0BANX;AAOE,gBAAc;AAPhB,CAlxDa,EA2xDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,wBAJR;AAKE,UAAQ,EALV;AAME,WAAS,iDANX;AAOE,gBAAc;AAPhB,CA3xDa,EAoyDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,yBAJR;AAKE,UAAQ,EALV;AAME,WAAS,sBANX;AAOE,gBAAc;AAPhB,CApyDa,EA6yDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,+BAJR;AAKE,UAAQ,EALV;AAME,WAAS,uBANX;AAOE,gBAAc;AAPhB,CA7yDa,EAszDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,mBAJR;AAKE,UAAQ,EALV;AAME,WAAS,sBANX;AAOE,gBAAc;AAPhB,CAtzDa,EA+zDb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,wBANX;AAOE,gBAAc;AAPhB,CA/zDa,EAw0Db;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,uBAJR;AAKE,UAAQ,EALV;AAME,WAAS,gCANX;AAOE,gBAAc;AAPhB,CAx0Da,EAi1Db;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,kBANX;AAOE,gBAAc;AAPhB,CAj1Da,EA01Db;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,mCANX;AAOE,gBAAc;AAPhB,CA11Da,EAm2Db;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,0BAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CAn2Da,EA42Db;AACE,cAAY,CACV,UADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,cANX;AAOE,gBAAc;AAPhB,CA52Da,EAq3Db;AACE,cAAY,CACV,UADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,eANX;AAOE,gBAAc;AAPhB,CAr3Da,EA83Db;AACE,cAAY,CACV,UADU,CADd;AAIE,QAAM,uBAJR;AAKE,UAAQ,EALV;AAME,WAAS,uBANX;AAOE,gBAAc;AAPhB,CA93Da,EAu4Db;AACE,cAAY,CACV,UADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,qBANX;AAOE,gBAAc;AAPhB,CAv4Da,EAg5Db;AACE,cAAY,CACV,UADU,CADd;AAIE,QAAM,iBAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CAh5Da,EAy5Db;AACE,cAAY,CACV,UADU,CADd;AAIE,QAAM,oBAJR;AAKE,UAAQ,EALV;AAME,WAAS,oBANX;AAOE,gBAAc;AAPhB,CAz5Da,EAk6Db;AACE,cAAY,CACV,YADU,CADd;AAIE,QAAM,kBAJR;AAKE,UAAQ,EALV;AAME,WAAS,YANX;AAOE,gBAAc;AAPhB,CAl6Da,EA26Db;AACE,cAAY,CACV,YADU,CADd;AAIE,QAAM,mBAJR;AAKE,UAAQ,EALV;AAME,WAAS,mBANX;AAOE,gBAAc;AAPhB,CA36Da,EAo7Db;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,YAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CAp7Da,EA67Db;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,gBANX;AAOE,gBAAc;AAPhB,CA77Da,EAs8Db;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,wBAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CAt8Da,EA+8Db;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,wBAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CA/8Da,EAw9Db;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CAx9Da,EAi+Db;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,aAJR;AAKE,UAAQ,EALV;AAME,WAAS,aANX;AAOE,gBAAc;AAPhB,CAj+Da,EA0+Db;AACE,cAAY,CACV,MADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,yBANX;AAOE,gBAAc;AAPhB,CA1+Da,EAm/Db;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,cAJR;AAKE,UAAQ,EALV;AAME,WAAS,YANX;AAOE,gBAAc;AAPhB,CAn/Da,EA4/Db;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,oBAJR;AAKE,UAAQ,EALV;AAME,WAAS,sBANX;AAOE,gBAAc;AAPhB,CA5/Da,EAqgEb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,eAJR;AAKE,UAAQ,EALV;AAME,WAAS,4BANX;AAOE,gBAAc;AAPhB,CArgEa,EA8gEb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,qBAJR;AAKE,UAAQ,EALV;AAME,WAAS,oBANX;AAOE,gBAAc;AAPhB,CA9gEa,EAuhEb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,eANX;AAOE,gBAAc;AAPhB,CAvhEa,EAgiEb;AACE,cAAY,CACV,SADU,CADd;AAIE,QAAM,gBAJR;AAKE,UAAQ,EALV;AAME,WAAS,kBANX;AAOE,gBAAc;AAPhB,CAhiEa,EAyiEb;AACE,cAAY,CACV,QADU,EAEV,UAFU,CADd;AAKE,QAAM,WALR;AAME,UAAQ,EANV;AAOE,WAAS,WAPX;AAQE,gBAAc;AARhB,CAziEa,CAAf,E;;;;;;;;;;;;ACFA;AAAA;AAAA;AAAA;;AAEA;AACO,IAAMC,QAAQ,GAAG;AAAC,UAAQ,MAAT;AAAgB,YAAU,OAA1B;AAAkC,SAAO,MAAzC;AAAgD,YAAU,MAA1D;AAAiE,WAAS,KAA1E;AAAgF,aAAW,MAA3F;AAAkG,WAAS,MAA3G;AAAkH,SAAO,MAAzH;AAAgI,WAAS,MAAzI;AAAgJ,cAAY,KAA5J;AAAkK,eAAa,KAA/K;AAAqL,UAAQ,MAA7L;AAAoM,UAAQ,MAA5M;AAAmN,UAAQ,KAA3N;AAAiO,SAAO,KAAxO;AAA8O,aAAW,KAAzP;AAA+P,UAAQ,KAAvQ;AAA6Q,WAAS,MAAtR;AAA6R,eAAa,KAA1S;AAAgT,qBAAmB,KAAnU;AAAyU,eAAa,MAAtV;AAA6V,oBAAkB,IAA/W;AAAoX,cAAY,KAAhY;AAAsY,kBAAgB,KAAtZ;AAA4Z,mBAAiB,KAA7a;AAAmb,aAAW,KAA9b;AAAoc,gBAAc,KAAld;AAAwd,eAAa,KAAre;AAA2e,gBAAc,KAAzf;AAA+f,aAAW,KAA1gB;AAAghB,iBAAe,KAA/hB;AAAqiB,eAAa,IAAljB;AAAujB,eAAa,KAApkB;AAA0kB,oBAAkB,IAA5lB;AAAimB,WAAS,KAA1mB;AAAgnB,YAAU,KAA1nB;AAAgoB,oBAAkB,IAAlpB;AAAupB,eAAa,KAApqB;AAA0qB,WAAS,KAAnrB;AAAyrB,YAAU,IAAnsB;AAAwsB,YAAU,KAAltB;AAAwtB,WAAS,KAAjuB;AAAuuB,YAAU,KAAjvB;AAAuvB,gBAAc,KAArwB;AAA2wB,WAAS,KAApxB;AAA0xB,kBAAgB,IAA1yB;AAA+yB,YAAU,IAAzzB;AAA8zB,aAAW,KAAz0B;AAA+0B,eAAa,MAA51B;AAAm2B,aAAW,KAA92B;AAAo3B,gBAAc,KAAl4B;AAAw4B,iBAAe,KAAv5B;AAA65B,YAAU,MAAv6B;AAA86B,iBAAe,KAA77B;AAAm8B,mBAAiB,KAAp9B;AAA09B,mBAAiB,IAA3+B;AAAg/B,aAAW,KAA3/B;AAAigC,aAAW,KAA5gC;AAAkhC,WAAS,KAA3hC;AAAiiC,iBAAe,GAAhjC;AAAojC,iBAAe,KAAnkC;AAAykC,eAAa,IAAtlC;AAA2lC,mBAAiB,KAA5mC;AAAknC,sBAAoB,KAAtoC;AAA4oC,cAAY,KAAxpC;AAA8pC,cAAY,KAA1qC;AAAgrC,kBAAgB,KAAhsC;AAAssC,cAAY,KAAltC;AAAwtC,mBAAiB,IAAzuC;AAA8uC,cAAY,KAA1vC;AAAgwC,WAAS,KAAzwC;AAA+wC,cAAY,KAA3xC;AAAiyC,iBAAe,IAAhzC;AAAqzC,gBAAc,IAAn0C;AAAw0C,WAAS,MAAj1C;AAAw1C,UAAQ,KAAh2C;AAAs2C,YAAU,IAAh3C;AAAq3C,YAAU,KAA/3C;AAAq4C,oBAAkB,GAAv5C;AAA25C,cAAY,KAAv6C;AAA66C,oBAAkB,GAA/7C;AAAm8C,oBAAkB,IAAr9C;AAA09C,cAAY,KAAt+C;AAA4+C,gBAAc,GAA1/C;AAA8/C,gBAAc,KAA5gD;AAAkhD,oBAAkB,GAApiD;AAAwiD,cAAY,IAApjD;AAAyjD,YAAU,IAAnkD;AAAwkD,YAAU,KAAllD;AAAwlD,WAAS,KAAjmD;AAAumD,iBAAe,KAAtnD;AAA4nD,aAAW,KAAvoD;AAA6oD,oBAAkB,IAA/pD;AAAoqD,iBAAe,KAAnrD;AAAyrD,YAAU,KAAnsD;AAAysD,UAAQ,KAAjtD;AAAutD,gBAAc,IAAruD;AAA0uD,kBAAgB,IAA1vD;AAA+vD,YAAU,KAAzwD;AAA+wD,SAAO,KAAtxD;AAA4xD,qBAAmB,KAA/yD;AAAqzD,eAAa,KAAl0D;AAAw0D,eAAa,KAAr1D;AAA21D,gBAAc,KAAz2D;AAA+2D,gBAAc,KAA73D;AAAm4D,gBAAc,KAAj5D;AAAu5D,cAAY,GAAn6D;AAAu6D,SAAO,KAA96D;AAAo7D,YAAU,IAA97D;AAAm8D,cAAY,KAA/8D;AAAq9D,SAAO,MAA59D;AAAm+D,WAAS,KAA5+D;AAAk/D,cAAY,KAA9/D;AAAogE,kBAAgB,KAAphE;AAA0hE,eAAa,KAAviE;AAA6iE,eAAa,KAA1jE;AAAgkE,iBAAe,IAA/kE;AAAolE,UAAQ,IAA5lE;AAAimE,WAAS,KAA1mE;AAAgnE,gBAAc,IAA9nE;AAAmoE,gBAAc,KAAjpE;AAAupE,eAAa,KAApqE;AAA0qE,aAAW,MAArrE;AAA4rE,cAAY,KAAxsE;AAA8sE,eAAa,IAA3tE;AAAguE,eAAa,IAA7uE;AAAkvE,OAAK,IAAvvE;AAA4vE,gBAAc,IAA1wE;AAA+wE,gBAAc,IAA7xE;AAAkyE,UAAQ,KAA1yE;AAAgzE,cAAY,IAA5zE;AAAi0E,kBAAgB,KAAj1E;AAAu1E,OAAK,IAA51E;AAAi2E,wBAAsB,IAAv3E;AAA43E,gBAAc,GAA14E;AAA84E,kBAAgB,IAA95E;AAAm6E,eAAa,KAAh7E;AAAs7E,+BAA6B,KAAn9E;AAAy9E,iBAAe,KAAx+E;AAA8+E,oBAAkB,IAAhgF;AAAqgF,kBAAgB,IAArhF;AAA0hF,6BAA2B,IAArjF;AAA0jF,2BAAyB,IAAnlF;AAAwlF,0BAAwB,IAAhnF;AAAqnF,kBAAgB,KAAroF;AAA2oF,aAAW,KAAtpF;AAA4pF,UAAQ,IAApqF;AAAyqF,gBAAc,IAAvrF;AAA4rF,YAAU,KAAtsF;AAA4sF,gBAAc,IAA1tF;AAA+tF,UAAQ,IAAvuF;AAA4uF,cAAY,IAAxvF;AAA6vF,eAAa,IAA1wF;AAA+wF,YAAU,IAAzxF;AAA8xF,iBAAe,IAA7yF;AAAkzF,mBAAiB,IAAn0F;AAAw0F,gBAAc,IAAt1F;AAA21F,WAAS,KAAp2F;AAA02F,YAAU,IAAp3F;AAAy3F,uBAAqB,GAA94F;AAAk5F,aAAW,IAA75F;AAAk6F,cAAY,KAA96F;AAAo7F,eAAa,KAAj8F;AAAu8F,eAAa,IAAp9F;AAAy9F,oBAAkB,GAA3+F;AAA++F,yBAAuB,IAAtgG;AAA2gG,eAAa,IAAxhG;AAA6hG,eAAa,KAA1iG;AAAgjG,aAAW,IAA3jG;AAAgkG,UAAQ,KAAxkG;AAA8kG,gBAAc,GAA5lG;AAAgmG,cAAY,GAA5mG;AAAgnG,qBAAmB,GAAnoG;AAAuoG,UAAQ,GAA/oG;AAAmpG,mBAAiB,GAApqG;AAAwqG,yBAAuB,GAA/rG;AAAmsG,YAAU,IAA7sG;AAAktG,iBAAe,IAAjuG;AAAsuG,UAAQ,GAA9uG;AAAkvG,UAAQ,GAA1vG;AAA8vG,aAAW,GAAzwG;AAA6wG,SAAO,KAApxG;AAA0xG,WAAS,KAAnyG;AAAyyG,aAAW,IAApzG;AAAyzG,WAAS,IAAl0G;AAAu0G,OAAK,KAA50G;AAAk1G,UAAQ,IAA11G;AAA+1G,kBAAgB,IAA/2G;AAAo3G,aAAW,IAA/3G;AAAo4G,aAAW,IAA/4G;AAAo5G,eAAa,IAAj6G;AAAs6G,kBAAgB,IAAt7G;AAA27G,kBAAgB,IAA38G;AAAg9G,eAAa,IAA79G;AAAk+G,0BAAwB,IAA1/G;AAA+/G,gBAAc,KAA7gH;AAAmhH,WAAS,KAA5hH;AAAkiH,eAAa,KAA/iH;AAAqjH,cAAY,IAAjkH;AAAskH,qBAAmB,IAAzlH;AAA8lH,uBAAqB,IAAnnH;AAAwnH,gBAAc,IAAtoH;AAA2oH,iBAAe,IAA1pH;AAA+pH,aAAW,KAA1qH;AAAgrH,WAAS,IAAzrH;AAA8rH,gBAAc,IAA5sH;AAAitH,YAAU,KAA3tH;AAAiuH,WAAS,IAA1uH;AAA+uH,eAAa,IAA5vH;AAAiwH,oBAAkB,GAAnxH;AAAuxH,wBAAsB,GAA7yH;AAAizH,eAAa,GAA9zH;AAAk0H,WAAS,IAA30H;AAAg1H,cAAY,IAA51H;AAAi2H,cAAY,IAA72H;AAAk3H,uBAAqB,IAAv4H;AAA44H,YAAU,IAAt5H;AAA25H,WAAS,IAAp6H;AAAy6H,gBAAc,IAAv7H;AAA47H,eAAa,IAAz8H;AAA88H,eAAa,IAA39H;AAAg+H,uBAAqB,IAAr/H;AAA0/H,eAAa,IAAvgI;AAA4gI,eAAa,IAAzhI;AAA8hI,UAAQ,IAAtiI;AAA2iI,YAAU,IAArjI;AAA0jI,gBAAc,IAAxkI;AAA6kI,gBAAc,IAA3lI;AAAgmI,gBAAc,GAA9mI;AAAknI,cAAY,IAA9nI;AAAmoI,cAAY,IAA/oI;AAAopI,aAAW,IAA/pI;AAAoqI,iBAAe,KAAnrI;AAAyrI,YAAU,KAAnsI;AAAysI,UAAQ,GAAjtI;AAAqtI,YAAU,GAA/tI;AAAmuI,kBAAgB,IAAnvI;AAAwvI,eAAa,KAArwI;AAA2wI,cAAY,GAAvxI;AAA2xI,YAAU,IAAryI;AAA0yI,YAAU,IAApzI;AAAyzI,cAAY,IAAr0I;AAA00I,cAAY,IAAt1I;AAA21I,YAAU,IAAr2I;AAA02I,WAAS,IAAn3I;AAAw3I,YAAU,IAAl4I;AAAu4I,oBAAkB,IAAz5I;AAA85I,gBAAc,GAA56I;AAAg7I,cAAY,GAA57I;AAAg8I,kBAAgB,GAAh9I;AAAo9I,gBAAc,IAAl+I;AAAu+I,eAAa,IAAp/I;AAAy/I,kBAAgB,IAAzgJ;AAA8gJ,kBAAgB,IAA9hJ;AAAmiJ,cAAY,IAA/iJ;AAAojJ,iBAAe,IAAnkJ;AAAwkJ,iBAAe,GAAvlJ;AAA2lJ,eAAa,IAAxmJ;AAA6mJ,SAAO,IAApnJ;AAAynJ,aAAW,IAApoJ;AAAyoJ,gBAAc,IAAvpJ;AAA4pJ,qBAAmB,IAA/qJ;AAAorJ,cAAY,IAAhsJ;AAAqsJ,aAAW,IAAhtJ;AAAqtJ,WAAS,IAA9tJ;AAAmuJ,sBAAoB,IAAvvJ;AAA4vJ,gBAAc,IAA1wJ;AAA+wJ,yBAAuB,IAAtyJ;AAA2yJ,gBAAc,IAAzzJ;AAA8zJ,eAAa,IAA30J;AAAg1J,qBAAmB,IAAn2J;AAAw2J,WAAS,IAAj3J;AAAs3J,kBAAgB,IAAt4J;AAA24J,aAAW,IAAt5J;AAA25J,YAAU,IAAr6J;AAA06J,yBAAuB,GAAj8J;AAAq8J,YAAU,GAA/8J;AAAm9J,iBAAe,IAAl+J;AAAu+J,oBAAkB,GAAz/J;AAA6/J,eAAa,IAA1gK;AAA+gK,eAAa,GAA5hK;AAAgiK,aAAW,IAA3iK;AAAgjK,gBAAc,GAA9jK;AAAkkK,cAAY,IAA9kK;AAAmlK,cAAY,GAA/lK;AAAmmK,YAAU,IAA7mK;AAAknK,eAAa,IAA/nK;AAAooK,gBAAc,GAAlpK;AAAspK,eAAa,GAAnqK;AAAuqK,eAAa,GAAprK;AAAwrK,mBAAiB,GAAzsK;AAA6sK,gBAAc,GAA3tK;AAA+tK,kBAAgB,GAA/uK;AAAmvK,mBAAiB,GAApwK;AAAwwK,mBAAiB,GAAzxK;AAA6xK,aAAW,GAAxyK;AAA4yK,gBAAc,GAA1zK;AAA8zK,kBAAgB,GAA90K;AAAk1K,kBAAgB,IAAl2K;AAAu2K,mBAAiB,GAAx3K;AAA43K,eAAa,GAAz4K;AAA64K,YAAU,GAAv5K;AAA25K,YAAU,GAAr6K;AAAy6K,gBAAc,IAAv7K;AAA47K,WAAS,GAAr8K;AAAy8K,cAAY,GAAr9K;AAAy9K,kBAAgB,GAAz+K;AAA6+K,UAAQ,GAAr/K;AAAy/K,cAAY,GAArgL;AAAygL,gBAAc,GAAvhL;AAA2hL,qBAAmB,GAA9iL;AAAkjL,cAAY,EAA9jL;AAAikL,qBAAmB,GAAplL;AAAwlL,gBAAc,GAAtmL;AAA0mL,iBAAe,GAAznL;AAA6nL,eAAa,GAA1oL;AAA8oL,qBAAmB,GAAjqL;AAAqqL,wBAAsB,GAA3rL;AAA+rL,WAAS,IAAxsL;AAA6sL,aAAW,GAAxtL;AAA4tL,cAAY,IAAxuL;AAA6uL,aAAW,GAAxvL;AAA4vL,gBAAc,GAA1wL;AAA8wL,qBAAmB,GAAjyL;AAAqyL,gBAAc,GAAnzL;AAAuzL,mBAAiB,GAAx0L;AAA40L,iBAAe,GAA31L;AAA+1L,SAAO,GAAt2L;AAA02L,qBAAmB,GAA73L;AAAi4L,iBAAe,GAAh5L;AAAo5L,qBAAmB,GAAv6L;AAA26L,iBAAe,GAA17L;AAA87L,YAAU,IAAx8L;AAA68L,eAAa,GAA19L;AAA89L,WAAS,EAAv+L;AAA0+L,WAAS,EAAn/L;AAAs/L,iBAAe,EAArgM;AAAwgM,iBAAe,EAAvhM;AAA0hM,iBAAe,EAAziM;AAA4iM,cAAY,EAAxjM;AAA2jM,cAAY,EAAvkM;AAA0kM,cAAY,EAAtlM;AAAylM,cAAY,EAArmM;AAAwmM,cAAY,EAApnM;AAAunM,WAAS,GAAhoM;AAAooM,oBAAkB,GAAtpM;AAA0pM,aAAW,GAArqM;AAAyqM,aAAW,GAAprM;AAAwrM,SAAO,GAA/rM;AAAmsM,gBAAc,GAAjtM;AAAqtM,oBAAkB,GAAvuM;AAA2uM,sBAAoB,GAA/vM;AAAmwM,aAAW,GAA9wM;AAAkxM,eAAa,GAA/xM;AAAmyM,sBAAoB,EAAvzM;AAA0zM,qBAAmB,EAA70M;AAAg1M,qBAAmB,EAAn2M;AAAs2M,cAAY,EAAl3M;AAAq3M,cAAY,EAAj4M;AAAo4M,2BAAyB,EAA75M;AAAg6M,qBAAmB,EAAn7M;AAAs7M,UAAQ,EAA97M;AAAi8M,qBAAmB,GAAp9M;AAAw9M,qBAAmB,GAA3+M;AAA++M,QAAM,GAAr/M;AAAy/M,kBAAgB,EAAzgN;AAA4gN,oBAAkB,EAA9hN;AAAiiN,mBAAiB,EAAljN;AAAqjN,qBAAmB,GAAxkN;AAA4kN,oBAAkB,GAA9lN;AAAkmN,kBAAgB,GAAlnN;AAAsnN,aAAW,GAAjoN;AAAqoN,aAAW,GAAhpN;AAAopN,aAAW,IAA/pN;AAAoqN,cAAY,IAAhrN;AAAqrN,WAAS,GAA9rN;AAAksN,WAAS,GAA3sN;AAA+sN,aAAW,EAA1tN;AAA6tN,WAAS,GAAtuN;AAA0uN,uBAAqB,EAA/vN;AAAkwN,UAAQ,EAA1wN;AAA6wN,YAAU,EAAvxN;AAA0xN,eAAa,EAAvyN;AAA0yN,YAAU,EAApzN;AAAuzN,kBAAgB,CAAv0N;AAAy0N,UAAQ,CAAj1N;AAAm1N,UAAQ,CAA31N;AAA61N,YAAU,GAAv2N;AAA22N,SAAO,EAAl3N;AAAq3N,iBAAe,EAAp4N;AAAu4N,aAAW,GAAl5N;AAAs5N,iBAAe,EAAr6N;AAAw6N,UAAQ,EAAh7N;AAAm7N,cAAY,EAA/7N;AAAk8N,YAAU,EAA58N;AAA+8N,gBAAc,EAA79N;AAAg+N,aAAW,GAA3+N;AAA++N,UAAQ,GAAv/N;AAA2/N,iBAAe,CAA1gO;AAA4gO,iBAAe,CAA3hO;AAA6hO,gBAAc,CAA3iO;AAA6iO,cAAY,GAAzjO;AAA6jO,eAAa,EAA1kO;AAA6kO,eAAa,EAA1lO;AAA6lO,iBAAe,EAA5mO;AAA+mO,YAAU,CAAznO;AAA2nO,eAAa,CAAxoO;AAA0oO,QAAM,CAAhpO;AAAkpO,QAAM,CAAxpO;AAA0pO,QAAM,CAAhqO;AAAkqO,QAAM,CAAxqO;AAA0qO,aAAW,CAArrO;AAAurO,YAAU,CAAjsO;AAAmsO,QAAM,CAAzsO;AAA2sO,sBAAoB,EAA/tO;AAAkuO,UAAQ,CAA1uO;AAA4uO,YAAU,EAAtvO;AAAyvO,kBAAgB,EAAzwO;AAA4wO,gBAAc,CAA1xO;AAA4xO,oBAAkB,CAA9yO;AAAgzO,iBAAe,CAA/zO;AAAi0O,eAAa,CAA90O;AAAg1O,QAAM,CAAt1O;AAAw1O,OAAK,CAA71O;AAA+1O,iBAAe,CAA92O;AAAg3O,wBAAsB;AAAt4O,CAAjB;AACA,IAAMC,gBAAgB,GAAG,CAAC,GAAD,EAAK,GAAL,EAAS,OAAT,EAAiB,MAAjB,EAAwB,MAAxB,EAA+B,MAA/B,EAAsC,QAAtC,EAA+C,WAA/C,EAA2D,OAA3D,EAAmE,WAAnE,EAA+E,YAA/E,EAA4F,YAA5F,EAAyG,UAAzG,EAAoH,WAApH,EAAgI,cAAhI,EAA+I,SAA/I,EAAyJ,SAAzJ,EAAmK,WAAnK,EAA+K,cAA/K,EAA8L,SAA9L,EAAwM,SAAxM,EAAkN,QAAlN,EAA2N,GAA3N,EAA+N,MAA/N,EAAsO,KAAtO,EAA4O,OAA5O,EAAoP,QAApP,EAA6P,iBAA7P,EAA+Q,aAA/Q,EAA6R,aAA7R,EAA2S,YAA3S,EAAwT,aAAxT,EAAsU,eAAtU,EAAsV,eAAtV,EAAsW,QAAtW,EAA+W,OAA/W,EAAuX,QAAvX,EAAgY,QAAhY,EAAyY,OAAzY,EAAiZ,WAAjZ,EAA6Z,YAA7Z,EAA0a,WAA1a,EAAsb,cAAtb,EAAqc,eAArc,EAAqd,UAArd,EAAge,SAAhe,EAA0e,MAA1e,EAAif,MAAjf,EAAwf,MAAxf,EAA+f,MAA/f,EAAsgB,cAAtgB,EAAqhB,SAArhB,EAA+hB,aAA/hB,EAA6iB,MAA7iB,EAAojB,MAApjB,EAA2jB,MAA3jB,EAAkkB,OAAlkB,EAA0kB,WAA1kB,EAAslB,QAAtlB,EAA+lB,WAA/lB,EAA2mB,SAA3mB,EAAqnB,aAArnB,EAAmoB,YAAnoB,EAAgpB,UAAhpB,EAA2pB,cAA3pB,EAA0qB,OAA1qB,EAAkrB,WAAlrB,EAA8rB,QAA9rB,EAAusB,cAAvsB,EAAstB,eAAttB,EAAsuB,SAAtuB,EAAgvB,YAAhvB,EAA6vB,SAA7vB,EAAuwB,aAAvwB,EAAqxB,KAArxB,EAA2xB,KAA3xB,EAAiyB,OAAjyB,EAAyyB,aAAzyB,EAAuzB,aAAvzB,EAAq0B,UAAr0B,EAAg1B,SAAh1B,EAA01B,QAA11B,EAAm2B,cAAn2B,EAAk3B,UAAl3B,EAA63B,QAA73B,EAAs4B,UAAt4B,EAAi5B,gBAAj5B,EAAk6B,QAAl6B,EAA26B,QAA36B,EAAo7B,WAAp7B,EAAg8B,QAAh8B,EAAy8B,cAAz8B,EAAw9B,cAAx9B,EAAu+B,UAAv+B,EAAk/B,WAAl/B,EAA8/B,WAA9/B,EAA0gC,WAA1gC,EAAshC,OAAthC,EAA8hC,eAA9hC,EAA8iC,QAA9iC,EAAujC,QAAvjC,EAAgkC,MAAhkC,EAAukC,UAAvkC,EAAklC,OAAllC,EAA0lC,OAA1lC,EAAkmC,QAAlmC,EAA2mC,QAA3mC,EAAonC,YAApnC,EAAioC,YAAjoC,EAA8oC,WAA9oC,EAA0pC,YAA1pC,EAAuqC,WAAvqC,EAAmrC,OAAnrC,EAA2rC,OAA3rC,EAAmsC,WAAnsC,EAA+sC,UAA/sC,EAA0tC,UAA1tC,EAAquC,YAAruC,EAAkvC,YAAlvC,EAA+vC,iBAA/vC,EAAixC,gBAAjxC,EAAkyC,YAAlyC,EAA+yC,OAA/yC,EAAuzC,KAAvzC,EAA6zC,YAA7zC,EAA00C,UAA10C,EAAq1C,SAAr1C,EAA+1C,SAA/1C,EAAy2C,cAAz2C,EAAw3C,cAAx3C,EAAu4C,UAAv4C,EAAk5C,gBAAl5C,EAAm6C,aAAn6C,EAAi7C,YAAj7C,EAA87C,YAA97C,EAA28C,aAA38C,EAAy9C,YAAz9C,EAAs+C,gBAAt+C,EAAu/C,gBAAv/C,EAAwgD,YAAxgD,EAAqhD,gBAArhD,EAAsiD,UAAtiD,EAAijD,WAAjjD,EAA6jD,OAA7jD,EAAqkD,YAArkD,EAAklD,SAAllD,EAA4lD,WAA5lD,EAAwmD,aAAxmD,EAAsnD,WAAtnD,EAAkoD,SAAloD,EAA4oD,YAA5oD,EAAypD,YAAzpD,EAAsqD,QAAtqD,EAA+qD,YAA/qD,EAA4rD,SAA5rD,EAAssD,SAAtsD,EAAgtD,WAAhtD,EAA4tD,YAA5tD,EAAyuD,aAAzuD,EAAuvD,mBAAvvD,EAA2wD,WAA3wD,EAAuxD,WAAvxD,EAAmyD,WAAnyD,EAA+yD,WAA/yD,EAA2zD,SAA3zD,EAAq0D,oBAAr0D,EAA01D,SAA11D,EAAo2D,UAAp2D,EAA+2D,WAA/2D,EAA23D,SAA33D,EAAq4D,aAAr4D,EAAm5D,mBAAn5D,EAAu6D,WAAv6D,EAAm7D,QAAn7D,EAA47D,cAA57D,EAA28D,UAA38D,EAAs9D,YAAt9D,EAAm+D,SAAn+D,EAA6+D,UAA7+D,EAAw/D,UAAx/D,EAAmgE,iBAAngE,EAAqhE,iBAArhE,EAAuiE,MAAviE,EAA8iE,eAA9iE,EAA8jE,qBAA9jE,EAAolE,WAAplE,EAAgmE,aAAhmE,EAA8mE,iBAA9mE,EAAgoE,MAAhoE,EAAuoE,MAAvoE,EAA8oE,WAA9oE,EAA0pE,MAA1pE,EAAiqE,KAAjqE,EAAuqE,OAAvqE,EAA+qE,OAA/qE,EAAurE,QAAvrE,EAAgsE,OAAhsE,EAAwsE,MAAxsE,EAA+sE,SAA/sE,EAAytE,OAAztE,EAAiuE,OAAjuE,EAAyuE,MAAzuE,EAAgvE,OAAhvE,EAAwvE,WAAxvE,EAAowE,UAApwE,EAA+wE,WAA/wE,EAA2xE,WAA3xE,EAAuyE,eAAvyE,EAAuzE,YAAvzE,EAAo0E,cAAp0E,EAAm1E,eAAn1E,EAAm2E,eAAn2E,EAAm3E,SAAn3E,EAA63E,YAA73E,EAA04E,KAA14E,EAAg5E,KAAh5E,EAAs5E,MAAt5E,EAA65E,aAA75E,EAA26E,gBAA36E,EAA47E,YAA57E,EAAy8E,SAAz8E,EAAm9E,WAAn9E,EAA+9E,cAA/9E,EAA8+E,YAA9+E,EAA2/E,SAA3/E,EAAqgF,WAArgF,EAAihF,UAAjhF,EAA4hF,QAA5hF,EAAqiF,gBAAriF,EAAsjF,kBAAtjF,EAAykF,iBAAzkF,EAA2lF,iBAA3lF,EAA6mF,qBAA7mF,EAAmoF,qBAAnoF,EAAypF,cAAzpF,EAAwqF,KAAxqF,EAA8qF,eAA9qF,EAA8rF,iBAA9rF,EAAgtF,YAAhtF,EAA6tF,UAA7tF,EAAwuF,UAAxuF,EAAmvF,cAAnvF,EAAkwF,UAAlwF,EAA6wF,QAA7wF,EAAsxF,MAAtxF,EAA6xF,cAA7xF,EAA4yF,iBAA5yF,EAA8zF,QAA9zF,EAAu0F,YAAv0F,EAAo1F,cAAp1F,EAAm2F,cAAn2F,EAAk3F,iBAAl3F,EAAo4F,WAAp4F,EAAg5F,mBAAh5F,EAAo6F,iBAAp6F,EAAs7F,cAAt7F,EAAq8F,aAAr8F,EAAm9F,aAAn9F,EAAi+F,aAAj+F,EAA++F,UAA/+F,EAA0/F,UAA1/F,EAAqgG,UAArgG,EAAghG,UAAhhG,EAA2hG,SAA3hG,EAAqiG,UAAriG,EAAgjG,IAAhjG,EAAqjG,SAArjG,EAA+jG,UAA/jG,EAA0kG,WAA1kG,EAAslG,QAAtlG,EAA+lG,WAA/lG,EAA2mG,aAA3mG,EAAynG,UAAznG,EAAooG,SAApoG,EAA8oG,aAA9oG,EAA4pG,YAA5pG,EAAyqG,aAAzqG,EAAurG,cAAvrG,EAAssG,aAAtsG,EAAotG,WAAptG,EAAguG,QAAhuG,EAAyuG,aAAzuG,EAAuvG,WAAvvG,EAAmwG,aAAnwG,EAAixG,aAAjxG,EAA+xG,YAA/xG,EAA4yG,QAA5yG,EAAqzG,OAArzG,EAA6zG,OAA7zG,EAAq0G,GAAr0G,EAAy0G,GAAz0G,EAA60G,MAA70G,EAAo1G,QAAp1G,EAA61G,WAA71G,EAAy2G,MAAz2G,EAAg3G,mBAAh3G,EAAo4G,IAAp4G,EAAy4G,IAAz4G,EAA84G,GAA94G,EAAk5G,IAAl5G,EAAu5G,UAAv5G,EAAk6G,QAAl6G,EAA26G,QAA36G,EAAo7G,kBAAp7G,EAAu8G,IAAv8G,EAA48G,IAA58G,EAAi9G,IAAj9G,EAAs9G,IAAt9G,EAA29G,SAA39G,EAAq+G,MAAr+G,EAA4+G,MAA5+G,EAAm/G,MAAn/G,EAA0/G,MAA1/G,EAAigH,UAAjgH,EAA4gH,UAA5gH,EAAuhH,UAAvhH,EAAkiH,UAAliH,EAA6iH,YAA7iH,EAA0jH,WAA1jH,EAAskH,QAAtkH,EAA+kH,kBAA/kH,EAAkmH,YAAlmH,EAA+mH,eAA/mH,EAA+nH,gBAA/nH,EAAgpH,iBAAhpH,EAAkqH,cAAlqH,EAAirH,cAAjrH,EAAgsH,MAAhsH,EAAusH,gBAAvsH,EAAwtH,UAAxtH,EAAmuH,WAAnuH,EAA+uH,YAA/uH,EAA4vH,UAA5vH,EAAuwH,OAAvwH,EAA+wH,oBAA/wH,EAAoyH,gBAApyH,EAAqzH,yBAArzH,EAA+0H,uBAA/0H,EAAu2H,sBAAv2H,EAA83H,UAA93H,EAAy4H,WAAz4H,EAAq5H,UAAr5H,EAAg6H,iBAAh6H,EAAk7H,UAAl7H,EAA67H,aAA77H,EAA28H,cAA38H,EAA09H,QAA19H,EAAm+H,gBAAn+H,EAAo/H,gBAAp/H,EAAqgI,UAArgI,EAAghI,UAAhhI,EAA2hI,mBAA3hI,EAA+iI,kBAA/iI,EAAkkI,WAAlkI,EAA8kI,SAA9kI,EAAwlI,eAAxlI,EAAwmI,OAAxmI,EAAgnI,gBAAhnI,EAAioI,YAAjoI,EAA8oI,cAA9oI,EAA6pI,cAA7pI,EAA4qI,QAA5qI,EAAqrI,YAArrI,EAAksI,aAAlsI,EAAgtI,WAAhtI,EAA4tI,WAA5tI,EAAwuI,iBAAxuI,EAA0vI,QAA1vI,EAAmwI,iBAAnwI,EAAqxI,WAArxI,EAAiyI,WAAjyI,EAA6yI,YAA7yI,EAA0zI,iBAA1zI,EAA40I,gBAA50I,EAA61I,YAA71I,EAA02I,oBAA12I,EAA+3I,UAA/3I,EAA04I,UAA14I,EAAq5I,uBAAr5I,EAA66I,YAA76I,EAA07I,gBAA17I,EAA28I,UAA38I,EAAs9I,aAAt9I,EAAo+I,QAAp+I,EAA6+I,cAA7+I,EAA4/I,UAA5/I,EAAugJ,YAAvgJ,EAAohJ,YAAphJ,EAAiiJ,qBAAjiJ,EAAujJ,kBAAvjJ,EAA0kJ,iBAA1kJ,EAA4lJ,eAA5lJ,EAA4mJ,UAA5mJ,EAAunJ,QAAvnJ,EAAgoJ,OAAhoJ,EAAwoJ,eAAxoJ,EAAwpJ,aAAxpJ,EAAsqJ,QAAtqJ,EAA+qJ,UAA/qJ,EAA0rJ,aAA1rJ,EAAwsJ,OAAxsJ,EAAgtJ,YAAhtJ,EAA6tJ,WAA7tJ,EAAyuJ,SAAzuJ,EAAmvJ,YAAnvJ,EAAgwJ,iBAAhwJ,EAAkxJ,gBAAlxJ,EAAmyJ,oBAAnyJ,EAAwzJ,YAAxzJ,EAAq0J,gBAAr0J,EAAs1J,WAAt1J,EAAk2J,UAAl2J,EAA62J,OAA72J,EAAq3J,OAAr3J,EAA63J,QAA73J,EAAs4J,OAAt4J,EAA84J,WAA94J,EAA05J,SAA15J,EAAo6J,kBAAp6J,EAAu7J,SAAv7J,EAAi8J,SAAj8J,EAA28J,MAA38J,EAAk9J,KAAl9J,EAAw9J,aAAx9J,EAAs+J,UAAt+J,EAAi/J,SAAj/J,EAA2/J,cAA3/J,EAA0gK,QAA1gK,EAAmhK,gBAAnhK,EAAoiK,cAApiK,EAAmjK,uBAAnjK,EAA2kK,cAA3kK,EAA0lK,YAA1lK,EAAumK,oBAAvmK,EAA4nK,mBAA5nK,EAAgpK,iBAAhpK,EAAkqK,MAAlqK,EAAyqK,sBAAzqK,EAAgsK,WAAhsK,EAA4sK,qBAA5sK,EAAkuK,QAAluK,CAAzB,C;;;;;;;;;;;;ACLP;AAAA,IAAIC,SAAS,GAAI,YAAY;AACzB,WAASA,SAAT,CAAmBC,KAAnB,EAA0B;AACtB,QAAIC,GAAG,GAAG,KAAKA,GAAL,GAAWrH,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAArB;AACAoH,OAAG,CAACC,SAAJ,GAAgB,qBAAhB;AACAF,SAAK,GAAGG,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBJ,KAAlB,CAAR;AACAG,UAAM,CAACC,MAAP,CAAcJ,KAAd,EAAqB;AACjBK,qBAAe,EAAE,sBADA;AAEjBC,YAAM,EAAE;AAFS,KAArB;AAIAL,OAAG,CAACD,KAAJ,CAAUO,OAAV,GAAoB,+FAApB;;AACA,SAAK,IAAIC,GAAT,IAAgBR,KAAhB,EAAuB;AACnB,UAAIA,KAAK,CAACS,cAAN,CAAqBD,GAArB,CAAJ,EAA+B;AAC3BP,WAAG,CAACD,KAAJ,CAAUQ,GAAV,IAAiBR,KAAK,CAACQ,GAAD,CAAtB;AACH;AACJ;AACJ;;AACDT,WAAS,CAACW,SAAV,CAAoBC,MAApB,GAA6B,UAAUC,IAAV,EAAgB;AACzC,QAAIC,QAAQ,GAAG,KAAKZ,GAAL,CAASD,KAAxB;AACAa,YAAQ,CAAC/H,KAAT,GAAiB8H,IAAI,CAAC9H,KAAL,GAAa,IAA9B;AACA+H,YAAQ,CAAC9H,MAAT,GAAkB6H,IAAI,CAAC7H,MAAL,GAAc,IAAhC;AACA8H,YAAQ,CAACC,IAAT,GAAgBF,IAAI,CAACG,CAAL,GAAS,IAAzB;AACAF,YAAQ,CAACG,GAAT,GAAeJ,IAAI,CAACK,CAAL,GAAS,IAAxB;AACH,GAND;;AAOAlB,WAAS,CAACW,SAAV,CAAoBQ,IAApB,GAA2B,YAAY;AACnC,SAAKjB,GAAL,CAASD,KAAT,CAAemB,OAAf,GAAyB,GAAzB;AACH,GAFD;;AAGApB,WAAS,CAACW,SAAV,CAAoBU,IAApB,GAA2B,YAAY;AACnC,QAAIC,KAAK,GAAG,IAAZ;;AACAC,gBAAY,CAAC,KAAKC,YAAN,CAAZ;AACA,SAAKtB,GAAL,CAASD,KAAT,CAAemB,OAAf,GAAyB,GAAzB;AACA,SAAKI,YAAL,GAAoBC,UAAU,CAAC,YAAY;AACvCH,WAAK,CAACH,IAAN;AACH,KAF6B,EAE3B,GAF2B,CAA9B;AAGH,GAPD;;AAQA,SAAOnB,SAAP;AACH,CAnCgB,EAAjB;;AAoCe,yEAAU0B,EAAV,EAAcC,IAAd,EAAoB;AAC/BA,MAAI,GAAGA,IAAI,IAAI,EAAf;AACA,MAAIC,OAAO,GAAGF,EAAE,CAACE,OAAjB;;AACA,MAAI,CAACA,OAAO,CAACC,SAAb,EAAwB;AACpB,UAAM,IAAIC,KAAJ,CAAU,yDAAV,CAAN;AACH;;AACD,MAAIF,OAAO,CAACG,cAAR,EAAJ,EAA8B;AAC1B,UAAM,IAAID,KAAJ,CAAU,uEAAV,CAAN;AACH;;AACD,MAAIE,aAAa,GAAGnJ,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAApB;AACAkJ,eAAa,CAAC/B,KAAd,CAAoBO,OAApB,GAA8B,oFAA9B;AACAwB,eAAa,CAAC7B,SAAd,GAA0B,+BAA1B;AACA,MAAI8B,UAAU,GAAG,EAAjB;AACA,MAAI/B,GAAG,GAAGwB,EAAE,CAACxB,GAAb;AACAA,KAAG,CAACpF,WAAJ,CAAgBkH,aAAhB;AACA,MAAIE,aAAa,GAAGC,gBAAgB,CAACjC,GAAD,CAApC;;AACA,MAAIgC,aAAa,CAACE,QAAd,KAA2B,QAA/B,EAAyC;AACrClC,OAAG,CAACD,KAAJ,CAAUmC,QAAV,GAAqB,UAArB;AACH;;AACDV,IAAE,CAACW,EAAH,CAAM,UAAN,EAAkB,YAAY;AAC1B,QAAIT,OAAO,CAACC,SAAZ,EAAuB;AACnB,UAAIS,KAAK,GAAG,CAAZ;AACAV,aAAO,CAACW,gBAAR,CAAyB,UAAUC,KAAV,EAAiB;AACtC,YAAI,CAACA,KAAK,CAACC,kBAAX,EAA+B;AAC3B;AACH;;AACD,YAAIC,UAAU,GAAGF,KAAK,CAACC,kBAAN,EAAjB;;AACA,aAAK,IAAI1K,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2K,UAAU,CAAC1K,MAA/B,EAAuCD,CAAC,EAAxC,EAA4C;AACxC,cAAI,CAACkK,UAAU,CAACK,KAAD,CAAf,EAAwB;AACpBL,sBAAU,CAACK,KAAD,CAAV,GAAoB,IAAItC,SAAJ,CAAc2B,IAAI,CAAC1B,KAAnB,CAApB;AACA+B,yBAAa,CAAClH,WAAd,CAA0BmH,UAAU,CAACK,KAAD,CAAV,CAAkBpC,GAA5C;AACH;;AACD+B,oBAAU,CAACK,KAAD,CAAV,CAAkBjB,IAAlB;AACAY,oBAAU,CAACK,KAAD,CAAV,CAAkB1B,MAAlB,CAAyB8B,UAAU,CAAC3K,CAAD,CAAnC;AACAuK,eAAK;AACR;AACJ,OAdD;;AAeA,WAAK,IAAIvK,CAAC,GAAGuK,KAAb,EAAoBvK,CAAC,GAAGkK,UAAU,CAACjK,MAAnC,EAA2CD,CAAC,EAA5C,EAAgD;AAC5CkK,kBAAU,CAAClK,CAAD,CAAV,CAAcoJ,IAAd;AACH;AACJ;AACJ,GAtBD;AAuBH,C;;;;;;;;;;;;AC9ED;AAAA;AAAA;AAAA;AAAA;AAAsF;AAC3B;AACL;AACc;;;AAGpE;AAC0F;AAC1F,gBAAgB,2GAAU;AAC1B,EAAE,6EAAM;AACR,EAAE,kFAAM;AACR,EAAE,2FAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;ACvCf;AAAA;AAAA,wCAAuK,CAAgB,2OAAG,EAAC,C;;;;;;;;;;;;ACA3L;AAAA;AAAA;AAAA;AAA8U,CAAgB,+XAAG,EAAC,C;;;;;;;;;;;;ACAlW;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAyF;AAC3B;AACL;AACc;;;AAGvE;AAC0F;AAC1F,gBAAgB,2GAAU;AAC1B,EAAE,gFAAM;AACR,EAAE,qFAAM;AACR,EAAE,8FAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;ACvCf;AAAA;AAAA,wCAA0K,CAAgB,8OAAG,EAAC,C;;;;;;;;;;;;ACA9L;AAAA;AAAA;AAAA;AAAiV,CAAgB,kYAAG,EAAC,C;;;;;;;;;;;;ACArW;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAqF;AAC3B;AACL;AACc;;;AAGnE;AAC0F;AAC1F,gBAAgB,2GAAU;AAC1B,EAAE,4EAAM;AACR,EAAE,iFAAM;AACR,EAAE,0FAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;ACvCf;AAAA;AAAA,wCAAsK,CAAgB,0OAAG,EAAC,C;;;;;;;;;;;;ACA1L;AAAA;AAAA;AAAA;AAA6U,CAAgB,8XAAG,EAAC,C;;;;;;;;;;;;ACAjW;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsF;AAC3B;AACL;AACc;;;AAGpE;AAC0F;AAC1F,gBAAgB,2GAAU;AAC1B,EAAE,6EAAM;AACR,EAAE,kFAAM;AACR,EAAE,2FAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;ACvCf;AAAA;AAAA;AAAA;AAAuK,CAAgB,2OAAG,EAAC,C;;;;;;;;;;;;ACA3L;AAAA;AAAA;AAAA;AAA8U,CAAgB,+XAAG,EAAC,C;;;;;;;;;;;;ACAlW;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAmF;AAC3B;AACL;;;AAGnD;AAC0F;AAC1F,gBAAgB,2GAAU;AAC1B,EAAE,0EAAM;AACR,EAAE,+EAAM;AACR,EAAE,wFAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;ACtCf;AAAA;AAAA,wCAAoK,CAAgB,wOAAG,EAAC,C;;;;;;;;;;;;ACAxL;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA,IAAMwB,WAAW,GAAGvE,mDAAK,CAACM,IAAN,CAAWvG,OAAX,CAAmB,WAAnB,KAAmC,CAAvD;AACA,IAAMyK,YAAY,GAAGD,WAAW,8BAAuBvE,mDAAK,CAACC,OAA7B,SAA0C,EAA1E;AAEO,SAAS1C,QAAT,GAAoB;AACvB,MAAM+C,IAAI,oRAQgCvF,0DAAW,CAACE,YAR5C,8IAUgCF,0DAAW,CAACG,UAV5C,wLAagCH,0DAAW,CAACK,cAb5C,+JAgBgCL,0DAAW,CAACI,gBAhB5C,gJAmBgCJ,0DAAW,CAACG,UAnB5C,0FAoBgCH,0DAAW,CAACG,UApB5C,oSAwBgCH,0DAAW,CAACG,UAxB5C,qOAkCZsJ,YAlCY,iBAoCZxE,mDAAK,CAACM,IApCM,wIAAV;AA8CA,MAAMmE,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAACpE,IAAD,CAAT,EAAiB;AAC1BvE,QAAI,EAAE,yBADoB;AAE1B4I,YAAQ,EAAE;AAFgB,GAAjB,CAAb;AAIA,MAAMC,CAAC,GAAGnK,QAAQ,CAACC,aAAT,CAAuB,GAAvB,CAAV;AACAkK,GAAC,CAAC9K,IAAF,GAAS+K,GAAG,CAACC,eAAJ,CAAoBL,IAApB,CAAT;AACAG,GAAC,CAACrH,QAAF,GAAavD,yDAAU,CAACmH,CAAX,GAAe,OAA5B;AACAyD,GAAC,CAACG,KAAF;AACH,C;;;;;;;;;;;;;;;;;AC7DD;AAEO,SAASC,aAAT,CAAuBC,aAAvB,EAAsC;AACzC,MAAIC,MAAM,GAAG,EAAb;AACA,MAAIC,GAAJ;AAEA,MAAIC,eAAe,GAAG,EAAtB;AACA,MAAIC,cAAc,GAAG,EAArB;AAEA,MAAMC,cAAc,GAAG5E,MAAM,CAAC2C,UAA9B;AACA,MAAMkC,eAAe,GAAG7E,MAAM,CAAC8E,WAA/B;;AAEA,WAASnC,UAAT,CAAoBoC,IAApB,EAA0BC,KAA1B,EAAiC;AAC7B,QAAIC,EAAE,GAAGL,cAAc,CAACG,IAAD,EAAOC,KAAP,CAAvB;;AACAL,kBAAc,CAACO,IAAf,CAAoBD,EAApB;;AACA,WAAOA,EAAP;AACH;;AAAA;;AACD,WAASH,WAAT,CAAqBC,IAArB,EAA2BI,GAA3B,EAAgC;AAC5B,QAAIF,EAAE,GAAGJ,eAAe,CAACE,IAAD,EAAOI,GAAP,CAAxB;;AACAT,mBAAe,CAACQ,IAAhB,CAAqBD,EAArB;;AACA,WAAOA,EAAP;AACH;;AAAA;;AACD,WAASG,iBAAT,GAA6B;AACzB,SAAK,IAAInM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyL,eAAe,CAACxL,MAApC,EAA4CD,CAAC,EAA7C,EAAiD;AAC7CoM,mBAAa,CAACX,eAAe,CAACzL,CAAD,CAAhB,CAAb;AACH;;AACD,SAAK,IAAIA,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0L,cAAc,CAACzL,MAAnC,EAA2CD,CAAC,EAA5C,EAAgD;AAC5CwJ,kBAAY,CAACkC,cAAc,CAAC1L,CAAD,CAAf,CAAZ;AACH;;AACDyL,mBAAe,GAAG,EAAlB;AACAC,kBAAc,GAAG,EAAjB;AACH;;AACD,MAAMW,OAAO,GAAG,EAAhB;;AACA,WAASC,cAAT,CAAwBC,KAAxB,EAA+B;AAC3B,QAAMC,KAAK,GAAGD,KAAK,CAACjC,EAApB;AACA,QAAMmC,YAAY,GAAGF,KAAK,CAACG,SAA3B;;AACAH,SAAK,CAACjC,EAAN,GAAW,UAAUqC,SAAV,EAAqB;AAC5B,UAAMC,GAAG,GAAGJ,KAAK,CAACK,KAAN,CAAYN,KAAZ,EAAmBO,SAAnB,CAAZ;;AACAT,aAAO,CAACJ,IAAR,CAAaU,SAAb;;AACA,aAAOC,GAAP;AACH,KAJD;;AAKAL,SAAK,CAACG,SAAN,GAAkB,YAAY;AAC1B,UAAME,GAAG,GAAGH,YAAY,CAACI,KAAb,CAAmB,IAAnB,EAAyBC,SAAzB,CAAZ;AACAxB,mBAAa,IAAIA,aAAa,CAACiB,KAAD,CAA9B;AACA,aAAOK,GAAP;AACH,KAJD;AAKH;;AAED,WAASG,iBAAT,CAA2BR,KAA3B,EAAkC;AAC9BF,WAAO,CAAC5L,OAAR,CAAgB,UAAUkM,SAAV,EAAqB;AACjC,UAAIJ,KAAJ,EAAW;AACPA,aAAK,CAACS,GAAN,CAAUL,SAAV;AACH;AACJ,KAJD;;AAMAN,WAAO,CAACpM,MAAR,GAAiB,CAAjB;AACH;;AAED,MAAIgN,aAAJ;AAEA,SAAO;AACHC,UADG,oBACM;AACL,UAAID,aAAJ,EAAmB;AACfA,qBAAa,CAACC,MAAd;AACH;AACJ,KALE;AAOHC,WAPG,qBAOO;AACN,UAAIF,aAAJ,EAAmB;AACfA,qBAAa,CAACE,OAAd;AACAF,qBAAa,GAAG,IAAhB;AACH;AACJ,KAZE;AAcHG,cAdG,wBAcU;AACT,aAAOH,aAAa,CAACG,UAAd,CAAyB;AAC5BC,kBAAU,EAAE,CADgB;AAE5BC,yBAAiB,EAAE,CAAC,SAAD;AAFS,OAAzB,CAAP;AAIH,KAnBE;AAqBHlK,OArBG,eAqBCmK,EArBD,EAqBKlH,KArBL,EAqBY;AAEX,UAAI,CAAC4G,aAAL,EAAoB;AAChBA,qBAAa,GAAGO,OAAO,CAACC,IAAR,CAAaF,EAAb,EAAiBlH,KAAK,CAAC9C,QAAN,GAAiB,MAAjB,GAA0B,EAA3C,EAA+C;AAC3DG,kBAAQ,EAAE2C,KAAK,CAAC3C,QAD2C;AAE3DC,sBAAY,EAAE0C,KAAK,CAAC1C;AAFuC,SAA/C,CAAhB;;AAIA,YAAI0C,KAAK,CAAC1C,YAAN,IAAsB0C,KAAK,CAAC3C,QAAN,KAAmB,QAA7C,EAAuD;AACnD,cAAI;AACAgK,mFAAkB,CAACT,aAAa,CAACU,KAAd,EAAD,EAAwB;AACtCC,2BAAa,EAAE;AADuB,aAAxB,CAAlB;AAGH,WAJD,CAKA,OAAOC,CAAP,EAAU;AACNC,mBAAO,CAACC,KAAR,CAAcF,CAAd;AACH;AACJ;;AACDvB,sBAAc,CAACW,aAAD,CAAd;AACH,OAlBU,CAoBX;AACA;AACA;AACA;AAEA;;;AACAd,uBAAiB;;AACjBY,uBAAiB,CAACE,aAAD,CAAjB,CA3BW,CA4BX;;;AACA1B,YAAM,CAACyC,MAAP,GAAgB,IAAhB,CA7BW,CA+BX;;AAEA,UAAMC,YAAY,GAAG5H,KAAK,CAACO,OAA3B;AAEA,UAAMkF,IAAI,GAAG,IAAIoC,QAAJ,CACT,SADS,EACE,KADF,EACS,YADT,EACuB,aADvB,EACsC,WADtC,EAET,kBAAkBD,YAAlB,GAAiC,kBAFxB,CAAb;AAIA,UAAME,MAAM,GAAGrC,IAAI,CAACmB,aAAD,EAAgB1B,MAAhB,EAAwB7B,UAAxB,EAAoCmC,WAApC,EAAiDxF,KAAK,CAACC,OAAvD,CAAnB;AACA,UAAI8H,UAAU,GAAG,CAAjB;;AAEA,UAAID,MAAM,IAAI,QAAOA,MAAP,MAAkB,QAAhC,EAA0C;AACtC,YAAME,SAAS,GAAG,CAAC,IAAIC,IAAJ,EAAnB;AACArB,qBAAa,CAACP,SAAd,CAAwByB,MAAxB,EAAgC,IAAhC;AACA,YAAMI,OAAO,GAAG,CAAC,IAAID,IAAJ,EAAjB;AACAF,kBAAU,GAAGG,OAAO,GAAGF,SAAvB;AACH;;AAED,UAAI7C,GAAJ,EAAS;AACLlE,SAAC,CAACkE,GAAG,CAACgD,UAAL,CAAD,CAAkBC,MAAlB;AACAjD,WAAG,CAACkD,OAAJ;AACAlD,WAAG,GAAG,IAAN;AACH;;AAED,UAAID,MAAM,CAACyC,MAAX,EAAmB;AACfxC,WAAG,GAAG,IAAImD,GAAG,CAACC,GAAR,CAAY;AACdC,mBAAS,EAAE;AADG,SAAZ,CAAN;AAGAvH,SAAC,CAACkE,GAAG,CAACgD,UAAL,CAAD,CAAkBM,GAAlB,CAAsB;AAClBzE,kBAAQ,EAAE,UADQ;AAElB0E,eAAK,EAAE,CAFW;AAGlB7F,aAAG,EAAE,CAHa;AAIlB8F,gBAAM,EAAE;AAJU,SAAtB;AAMA1H,SAAC,CAAC,kBAAD,CAAD,CAAsB2H,MAAtB,CAA6BzD,GAAG,CAACgD,UAAjC;AAEA,YAAIU,gBAAgB,GAAG3D,MAAM,CAAC2D,gBAAP,IAA2B,EAAlD;;AACA,aAAK,IAAIC,IAAT,IAAiB5D,MAAM,CAACyC,MAAxB,EAAgC;AAC5B,cAAIoB,KAAK,GAAG7D,MAAM,CAACyC,MAAP,CAAcmB,IAAd,CAAZ;;AACA,cAAIA,IAAI,KAAK,UAAT,IAAuBA,IAAI,KAAK,gBAApC,EAAsD;AAClD,gBAAIE,OAAO,GAAG,KAAd,CADkD,CAElD;;AACA,gBAAIC,UAAJ;;AACA,gBAAIJ,gBAAgB,CAACC,IAAD,CAApB,EAA4B;AACxB,kBAAID,gBAAgB,CAACC,IAAD,CAAhB,CAAuBI,OAA3B,EAAoC;AAChCD,0BAAU,GAAG9D,GAAG,CAACgE,GAAJ,CAAQjE,MAAM,CAACyC,MAAf,EAAuBmB,IAAvB,EAA6BD,gBAAgB,CAACC,IAAD,CAAhB,CAAuBI,OAApD,CAAb;AACH,eAFD,MAGK,IAAIL,gBAAgB,CAACC,IAAD,CAAhB,CAAuBM,GAAvB,IAA8B,IAAlC,EAAwC;AACzCH,0BAAU,GAAG9D,GAAG,CAACgE,GAAJ,CAAQjE,MAAM,CAACyC,MAAf,EAAuBmB,IAAvB,EAA6BD,gBAAgB,CAACC,IAAD,CAAhB,CAAuBM,GAApD,EAAyDP,gBAAgB,CAACC,IAAD,CAAhB,CAAuBO,GAAhF,CAAb;AACH;AACJ;;AACD,gBAAI,OAAOC,GAAP,KAAe,QAAnB,EAA6B;AACzB,kBAAI;AACA,oBAAIC,QAAQ,GAAGpC,OAAO,CAACqC,KAAR,CAAcC,KAAd,CAAoBV,KAApB,CAAf;AACAC,uBAAO,GAAG,CAAC,CAACO,QAAZ;;AACA,oBAAIP,OAAJ,EAAa;AACTD,uBAAK,GAAG5B,OAAO,CAACqC,KAAR,CAAcE,SAAd,CAAwBH,QAAxB,EAAkC,MAAlC,CAAR;AACH;AACJ,eAND,CAOA,OAAO/B,CAAP,EAAU,CAAE;AACf;;AACD,gBAAI,CAACyB,UAAL,EAAiB;AACbA,wBAAU,GAAG9D,GAAG,CAAC6D,OAAO,GAAG,UAAH,GAAgB,KAAxB,CAAH,CAAkC9D,MAAM,CAACyC,MAAzC,EAAiDmB,IAAjD,CAAb;AACH;;AACD5D,kBAAM,CAACyC,MAAP,CAAcgC,QAAd,IAA0BV,UAAU,CAACU,QAAX,CAAoBzE,MAAM,CAACyC,MAAP,CAAcgC,QAAlC,CAA1B;AACAzE,kBAAM,CAACyC,MAAP,CAAciC,cAAd,IAAgCX,UAAU,CAACW,cAAX,CAA0B1E,MAAM,CAACyC,MAAP,CAAciC,cAAxC,CAAhC;AACH;AACJ;AACJ;;AAED,aAAO7B,UAAP;AACH;AA3HE,GAAP;AA6HH;AAAA,C;;;;;;;;;;;;ACzLD;AAAA;AAAA;AAAA;AAAA;AAA0F;AAC3B;AACL;AACc;;;AAGxE;AAC0F;AAC1F,gBAAgB,2GAAU;AAC1B,EAAE,iFAAM;AACR,EAAE,sFAAM;AACR,EAAE,+FAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;ACvCf;AAAA;AAAA,wCAA2K,CAAgB,+OAAG,EAAC,C;;;;;;;;;;;;ACA/L;AAAA;AAAA;AAAA;AAAkV,CAAgB,mYAAG,EAAC,C;;;;;;;;;;;;ACAtW;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAsF;AAC3B;AACL;AACc;;;AAGpE;AAC0F;AAC1F,gBAAgB,2GAAU;AAC1B,EAAE,6EAAM;AACR,EAAE,kFAAM;AACR,EAAE,2FAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;ACvCf;AAAA;AAAA,wCAAuK,CAAgB,2OAAG,EAAC,C;;;;;;;;;;;;ACA3L;AAAA;AAAA;AAAA;AAA8U,CAAgB,+XAAG,EAAC,C;;;;;;;;;;;;ACAlW;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA8B,0CAAG,CAACC,GAAJ,CAAQC,uDAAR;AAEA;;;;;;;;;;AASO,SAAS3C,IAAT,CAAcF,EAAd,EAAkBY,MAAlB,EAA0B;AAC7B,MAAMkC,IAAI,GAAG,IAAIC,gDAAJ,CAAY;AACrB9J,UAAM,EAAE2H,MAAM,CAAC3H,MADM;AAErB+J,kBAAc,EAAE,IAFK;AAGrBC,YAAQ,EAARA,oDAAQA;AAHa,GAAZ,CAAb;AAKAnK,qDAAK,CAACC,OAAN,GAAgB6H,MAAM,CAAC7H,OAAvB;AACAD,qDAAK,CAACE,OAAN,GAAgB4H,MAAM,CAAC5H,OAAvB;AACAF,qDAAK,CAACG,MAAN,GAAe2H,MAAM,CAAC3H,MAAP,IAAiB,IAAhC;;AAGA,MAAI,OAAO+G,EAAP,KAAc,QAAlB,EAA4B;AACxBA,MAAE,GAAGzM,QAAQ,CAAC2P,aAAT,CAAuBlD,EAAvB,CAAL;AACH;;AACD,MAAI,CAACA,EAAL,EAAS;AACL,UAAM,IAAIxD,KAAJ,CAAU,iBAAV,CAAN;AACH;;AAED,MAAM2G,SAAS,GAAG5P,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAlB;AACAwM,IAAE,CAACxK,WAAH,CAAe2N,SAAf;AAEA,MAAIR,0CAAJ,CAAQ;AACJG,QAAI,EAAJA,IADI;AAEJ9C,MAAE,EAAEmD,SAFA;AAGJC,UAAM,EAAE,gBAAAC,CAAC,EAAI;AACT,aAAOA,CAAC,CAAE;AACNzN,cAAM,EAAE0N,0DADF;AAENC,eAAO,EAAEC,4DAFH;AAGNC,YAAI,EAAEC,wDAAQA;AAHR,OAAD,CAIN9C,MAAM,CAAC+C,IAJD,KAIUH,4DAJX,CAAR;AAKH;AATG,GAAR;AAWH,C;;;;;;;;;;;ACpDD,qB","file":"example-bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/main.js\");\n","<template>\n<div class=\"ace-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';\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 for (let key in keywords) {\n completions.push({\n caption: key,\n value: key,\n score: keywords[key],\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}\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 new Promise(resolve => {\n $.getJSON(store.cdnRoot + '/types/echarts-type-bundle.json', function (res) {\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 for (let i = 0; i < res.length; i++) {\n // console.log('file:///node_modules/@types/' + res[i].path);\n monaco.languages.typescript.typescriptDefaults.addExtraLib(\n res[i].code,\n // https://github.com/microsoft/monaco-editor/issues/667#issuecomment-468164794\n 'file:///node_modules/@types/' + res[i].path\n );\n }\n\n monaco.languages.typescript.typescriptDefaults.addExtraLib(\n `\nimport {init, EChartsOption} from 'echarts';\n// Declare to global namespace.\ndeclare global {\n declare const $: any;\n declare const ROOT_PATH: string;\n declare 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 };\n declare const myChart: ReturnType<typeof init>;\n declare var option: EChartsOption;\n}\n`,\n 'file:///example.d.ts'\n );\n resolve();\n });\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}\n</style>","<template>\n<div id=\"main-container\">\n <div id=\"code-container\" :style=\"{width: leftContainerSize + '%'}\" v-if=\"!shared.isMobile\">\n <div id=\"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=\"control-btn-panel\">\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 </div>\n <CodeMonaco v-if=\"shared.typeCheck\" id=\"code-panel\" :initialCode=\"initialCode\"></CodeMonaco>\n <CodeAce v-else id=\"code-panel\" :initialCode=\"initialCode\"></CodeAce>\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 Preview from './Preview.vue';\nimport {URL_PARAMS} from '../common/config';\nimport {store, loadExampleCode, parseSourceCode} from '../common/store';\n\nexport default {\n components: {\n CodeAce,\n CodeMonaco,\n Preview\n },\n\n data() {\n return {\n mousedown: false,\n leftContainerSize: 40,\n mobileMode: false,\n shared: store,\n initialCode: ''\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 },\n\n watch: {\n 'shared.typeCheck'(enableTypeCheck) {\n // Update initialCode to avoid code changed when switching editor\n this.initialCode = store.sourceCode;\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#code-container {\n position: absolute;\n left: 0;\n bottom: 0;\n top: 0;\n\n width: 50%;\n}\n\n#control-panel {\n height: $control-panel-height;\n position: absolute;;\n left: 0;\n right: 0;\n top: 0;\n z-index: 20;\n padding: 0;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n\n .setting-panel {\n display: inline-block;\n\n .btn-group + .btn-group {\n margin-left: $pd-basic;\n }\n }\n\n .control-btn-panel {\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\n#code-panel {\n position: absolute;\n top: $control-panel-height;\n bottom: 0;\n left: 0;\n right: 0;\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#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 }\n\n .code-info-type-info {\n color: $clr-text;\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=\"[(inEditor && !shared.isMobile) ? '' : 'full']\">\n <div v-loading=\"loading\"\n class=\"right-panel\"\n id=\"chart-panel\"\n :style=\"{background: backgroundColor}\"\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 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 <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} 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 {download} from './downloadExample';\n\nconst example = CHART_LIST.find(item => URL_PARAMS.c === item.id);\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 SCRIPT_URLS.echartsDir + '/map/js/world.js',\n SCRIPT_URLS.echartsDir + '/map/js/china.js',\n SCRIPT_URLS.echartsStatMinJS,\n ...URL_PARAMS.gl ? [SCRIPT_URLS.echartsGLMinJS] : [],\n ...hasBmap ? [\n 'https://api.map.baidu.com/getscript?v=2.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 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-panel'), 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 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 },\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 // 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\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 .render-config-trigger {\n margin-left: 10px;\n cursor: pointer;\n font-weight: 500;\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.isGL ? '' : (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 = example.isGL ? 'jpg' : 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-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 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\"></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>\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';\nimport scrollIntoView from 'scroll-into-view';\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 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 // // behavior: \"smooth\"\n // });\n // scrollIntoView(currentItem, {\n // time: 300,\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: 170px;\n$chart-icon-width: 25px;\n$chart-icon-border: 1px;\n\n$left-toolbar-height: 30px;\n\n$nav-height: 50px;\n$nav-bg: #252839;\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\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 border-bottom: 1px solid #ccd3e8;\n font-weight: normal;\n color: #252839;\n }\n .chart-type-head span {\n font-size: 18px;\n padding-left: 5px;\n color: #999;\n font-weight: 200;\n }\n}\n\n#left-container {\n position: fixed;\n top: 10px;\n bottom: 10px;\n left: 10px;\n width: $chart-nav-width;\n}\n\n#left-toolbar {\n position: absolute;\n left: 0;\n right: 0;\n height: $left-toolbar-height;\n top: 0;\n background-color: #fff;\n border-radius: 10px;\n // color: #fff;\n box-shadow: 0 0 10px rgba(0,0,0,0.1);\n padding-left: 5px;\n padding-top: 4px;\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 position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n top: $left-toolbar-height + 10px;\n background-color: $nav-bg;\n overflow-y: hidden;\n border-radius: 10px;\n color: #fff;\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: 0.5s;\n cursor: pointer;\n\n a {\n height: 45px;\n padding: 10px 0 10px 10px;\n display: block;\n transition: 0.5s;\n text-decoration: none;\n color: inherit;\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 display: inline-block;\n width: $chart-icon-width;\n height: $chart-icon-width;\n background-image: url('../asset/chart-icon.png');\n background-size: $chart-icon-width;\n background-repeat: no-repeat;\n border-radius: 50%;\n border: $chart-icon-border solid #fff;\n vertical-align: middle;\n }\n &.active {\n background-color: $clr-contrast;\n }\n\n }\n\n &:hover {\n background-color: darken($nav-bg, 10);\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// icon sprites\n$chart-types: 'line', 'bar', 'scatter', 'pie', 'radar', 'funnel', 'gauge', 'map',\n 'graph', 'treemap', 'parallel', 'sankey', 'candlestick', 'boxplot', 'heatmap',\n 'pictorialBar', 'themeRiver', 'calendar', 'custom', 'sunburst', 'tree',\n 'globe', 'bar3D', 'scatter3D', 'surface', 'map3D', 'lines3D', 'line3D',\n 'scatterGL', 'linesGL', 'flowGL', 'graphGL', 'geo3D', 'geo', 'lines', 'dataset';\n$chart-position: 0, 1, 2, 4, 5, 10, 9, 8, 7, 15, 16, 17, 3, 18, 11, 24, 25, 26, 27, 28, 14,\n 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 8, 20, 22;\n\n@each $type in $chart-types {\n $i: index($chart-types, $type);\n $pos: nth($chart-position, $i);\n #left-chart-nav-#{$type} .chart-icon {\n background-position-x: - $chart-icon-border;\n background-position-y: - $chart-icon-border - $pos * $chart-icon-width;\n }\n}\n\n</style>","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","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","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","var COMPLETE = 'complete',\n CANCELED = 'canceled';\n\nfunction raf(task){\n if('requestAnimationFrame' in window){\n return window.requestAnimationFrame(task);\n }\n\n setTimeout(task, 16);\n}\n\nfunction setElementScroll(element, x, y){\n if(element.self === element){\n element.scrollTo(x, y);\n }else{\n element.scrollLeft = x;\n element.scrollTop = y;\n }\n}\n\nfunction getTargetScrollLocation(scrollSettings, parent){\n var align = scrollSettings.align,\n target = scrollSettings.target,\n targetPosition = target.getBoundingClientRect(),\n parentPosition,\n x,\n y,\n differenceX,\n differenceY,\n targetWidth,\n targetHeight,\n leftAlign = align && align.left != null ? align.left : 0.5,\n topAlign = align && align.top != null ? align.top : 0.5,\n leftOffset = align && align.leftOffset != null ? align.leftOffset : 0,\n topOffset = align && align.topOffset != null ? align.topOffset : 0,\n leftScalar = leftAlign,\n topScalar = topAlign;\n\n if(scrollSettings.isWindow(parent)){\n targetWidth = Math.min(targetPosition.width, parent.innerWidth);\n targetHeight = Math.min(targetPosition.height, parent.innerHeight);\n x = targetPosition.left + parent.pageXOffset - parent.innerWidth * leftScalar + targetWidth * leftScalar;\n y = targetPosition.top + parent.pageYOffset - parent.innerHeight * topScalar + targetHeight * topScalar;\n x -= leftOffset;\n y -= topOffset;\n differenceX = x - parent.pageXOffset;\n differenceY = y - parent.pageYOffset;\n }else{\n targetWidth = targetPosition.width;\n targetHeight = targetPosition.height;\n parentPosition = parent.getBoundingClientRect();\n var offsetLeft = targetPosition.left - (parentPosition.left - parent.scrollLeft);\n var offsetTop = targetPosition.top - (parentPosition.top - parent.scrollTop);\n x = offsetLeft + (targetWidth * leftScalar) - parent.clientWidth * leftScalar;\n y = offsetTop + (targetHeight * topScalar) - parent.clientHeight * topScalar;\n x -= leftOffset;\n y -= topOffset;\n x = Math.max(Math.min(x, parent.scrollWidth - parent.clientWidth), 0);\n y = Math.max(Math.min(y, parent.scrollHeight - parent.clientHeight), 0);\n differenceX = x - parent.scrollLeft;\n differenceY = y - parent.scrollTop;\n }\n\n return {\n x: x,\n y: y,\n differenceX: differenceX,\n differenceY: differenceY\n };\n}\n\nfunction animate(parent){\n var scrollSettings = parent._scrollSettings;\n\n if(!scrollSettings){\n return;\n }\n\n var maxSynchronousAlignments = scrollSettings.maxSynchronousAlignments;\n\n var location = getTargetScrollLocation(scrollSettings, parent),\n time = Date.now() - scrollSettings.startTime,\n timeValue = Math.min(1 / scrollSettings.time * time, 1);\n\n if(scrollSettings.endIterations >= maxSynchronousAlignments){\n setElementScroll(parent, location.x, location.y);\n parent._scrollSettings = null;\n return scrollSettings.end(COMPLETE);\n }\n\n var easeValue = 1 - scrollSettings.ease(timeValue);\n\n setElementScroll(parent,\n location.x - location.differenceX * easeValue,\n location.y - location.differenceY * easeValue\n );\n\n if(time >= scrollSettings.time){\n scrollSettings.endIterations++;\n return animate(parent);\n }\n\n raf(animate.bind(null, parent));\n}\n\nfunction defaultIsWindow(target){\n return target.self === target\n}\n\nfunction transitionScrollTo(target, parent, settings, callback){\n var idle = !parent._scrollSettings,\n lastSettings = parent._scrollSettings,\n now = Date.now(),\n cancelHandler,\n passiveOptions = { passive: true };\n\n if(lastSettings){\n lastSettings.end(CANCELED);\n }\n\n function end(endType){\n parent._scrollSettings = null;\n\n if(parent.parentElement && parent.parentElement._scrollSettings){\n parent.parentElement._scrollSettings.end(endType);\n }\n\n if(settings.debug){\n console.log('Scrolling ended with type', endType, 'for', parent)\n }\n\n callback(endType);\n if(cancelHandler){\n parent.removeEventListener('touchstart', cancelHandler, passiveOptions);\n parent.removeEventListener('wheel', cancelHandler, passiveOptions);\n }\n }\n\n var maxSynchronousAlignments = settings.maxSynchronousAlignments;\n\n if(maxSynchronousAlignments == null){\n maxSynchronousAlignments = 3;\n }\n\n parent._scrollSettings = {\n startTime: now,\n endIterations: 0,\n target: target,\n time: settings.time,\n ease: settings.ease,\n align: settings.align,\n isWindow: settings.isWindow || defaultIsWindow,\n maxSynchronousAlignments: maxSynchronousAlignments,\n end: end\n };\n\n if(!('cancellable' in settings) || settings.cancellable){\n cancelHandler = end.bind(null, CANCELED);\n parent.addEventListener('touchstart', cancelHandler, passiveOptions);\n parent.addEventListener('wheel', cancelHandler, passiveOptions);\n }\n\n if(idle){\n animate(parent);\n }\n\n return cancelHandler\n}\n\nfunction defaultIsScrollable(element){\n return (\n 'pageXOffset' in element ||\n (\n element.scrollHeight !== element.clientHeight ||\n element.scrollWidth !== element.clientWidth\n ) &&\n getComputedStyle(element).overflow !== 'hidden'\n );\n}\n\nfunction defaultValidTarget(){\n return true;\n}\n\nfunction findParentElement(el){\n if (el.assignedSlot) {\n return findParentElement(el.assignedSlot);\n }\n\n if (el.parentElement) {\n if(el.parentElement.tagName === 'BODY'){\n return el.parentElement.ownerDocument.defaultView || el.parentElement.ownerDocument.ownerWindow;\n }\n return el.parentElement;\n }\n\n if (el.getRootNode){\n var parent = el.getRootNode()\n if(parent.nodeType === 11) {\n return parent.host;\n }\n }\n}\n\nmodule.exports = function(target, settings, callback){\n if(!target){\n return;\n }\n\n if(typeof settings === 'function'){\n callback = settings;\n settings = null;\n }\n\n if(!settings){\n settings = {};\n }\n\n settings.time = isNaN(settings.time) ? 1000 : settings.time;\n settings.ease = settings.ease || function(v){return 1 - Math.pow(1 - v, v / 2);};\n\n var parent = findParentElement(target),\n parents = 1;\n\n function done(endType){\n parents--;\n if(!parents){\n callback && callback(endType);\n }\n }\n\n var validTarget = settings.validTarget || defaultValidTarget;\n var isScrollable = settings.isScrollable;\n\n if(settings.debug){\n console.log('About to scroll to', target)\n\n if(!parent){\n console.error('Target did not have a parent, is it mounted in the DOM?')\n }\n }\n\n var cancel;\n\n while(parent){\n if(settings.debug){\n console.log('Scrolling parent node', parent)\n }\n\n if(validTarget(parent, parents) && (isScrollable ? isScrollable(parent, defaultIsScrollable) : defaultIsScrollable(parent))){\n parents++;\n cancel = transitionScrollTo(target, parent, settings, done);\n }\n\n parent = findParentElement(parent);\n\n if(!parent){\n done(COMPLETE)\n break;\n }\n }\n\n return cancel;\n};\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","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: \"code-container\" }\n },\n [\n _c(\"div\", { attrs: { id: \"control-panel\" } }, [\n _c(\n \"div\",\n { attrs: { id: \"code-info\" } },\n [\n _vm.shared.editorStatus.message\n ? [\n _c(\"span\", { 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-\" + _vm.shared.editorStatus.type\n },\n [_vm._v(_vm._s(_vm.shared.editorStatus.message))]\n )\n ]\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"control-btn-panel\" }, [\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 _vm._v(\" \"),\n _vm.shared.typeCheck\n ? _c(\"CodeMonaco\", {\n attrs: { id: \"code-panel\", initialCode: _vm.initialCode }\n })\n : _c(\"CodeAce\", {\n attrs: { id: \"code-panel\", initialCode: _vm.initialCode }\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(\n \"div\",\n { class: [_vm.inEditor && !_vm.shared.isMobile ? \"\" : \"full\"] },\n [\n _c(\"div\", {\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 _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 _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._v(\" \"),\n _c(\n \"el-popover\",\n {\n staticStyle: { \"margin-top\": \"3px\" },\n attrs: { placement: \"bottom\", width: \"450\", trigger: \"click\" }\n },\n [\n _c(\n \"div\",\n { staticClass: \"render-config-container\" },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 2, type: \"flex\", align: \"middle\" } },\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\", { staticClass: \"el-icon-setting el-icon--left\" }),\n _vm._v(_vm._s(_vm.$t(\"editor.renderCfgTitle\")))\n ]\n )\n ]\n )\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-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 _vm._v(\" \"),\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\", { staticClass: \"chart-icon\" }),\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 ])\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 g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = __webpack_public_path__ + \"../asset/placeholder.jpg\";","\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-next/dist/echarts.js',\n echartsMinJS: 'https://cdn.jsdelivr.net/npm/echarts@5.0.0-beta.2/dist/echarts.min.js',\n echartsDir: 'https://cdn.jsdelivr.net/npm/echarts@5.0.0-beta.2',\n echartsStatMinJS: 'https://cdn.jsdelivr.net/npm/echarts-stat/dist/ecStat.min.js',\n echartsGLMinJS: 'https://cdn.jsdelivr.net/npm/echarts-gl/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","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\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\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 code: '',\n\n runCode: '',\n sourceCode: '',\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","\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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"bar3D\"\n ],\n \"id\": \"bar3d-dataset\",\n \"tags\": [],\n \"title\": \"3D Bar with Dataset\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"bar3D\"\n ],\n \"id\": \"bar3d-global-population\",\n \"tags\": [],\n \"title\": \"Bar3D - Global Population\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"bar3D\"\n ],\n \"id\": \"bar3d-music-visualization\",\n \"tags\": [],\n \"title\": \"Music Visualization\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"bar3D\"\n ],\n \"id\": \"bar3d-myth\",\n \"tags\": [],\n \"title\": \"星云\",\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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"bar3D\"\n ],\n \"id\": \"bar3d-punch-card\",\n \"tags\": [],\n \"title\": \"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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"bar3D\"\n ],\n \"id\": \"bar3d-voxelize-image\",\n \"tags\": [],\n \"title\": \"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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"geo3D\"\n ],\n \"id\": \"geo3d\",\n \"tags\": [],\n \"title\": \"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 \"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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"flowGL\"\n ],\n \"id\": \"global-wind-visualization\",\n \"tags\": [],\n \"title\": \"Global wind visualization\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"flowGL\"\n ],\n \"id\": \"global-wind-visualization-2\",\n \"tags\": [],\n \"title\": \"Global Wind Visualization 2\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"globe\"\n ],\n \"id\": \"globe-contour-paint\",\n \"tags\": [],\n \"title\": \"Contour Paint\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"globe\"\n ],\n \"id\": \"globe-country-carousel\",\n \"tags\": [],\n \"title\": \"Country Carousel\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"globe\"\n ],\n \"id\": \"globe-displacement\",\n \"tags\": [],\n \"title\": \"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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"globe\"\n ],\n \"id\": \"globe-layers\",\n \"tags\": [],\n \"title\": \"Globe Layers\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"globe\"\n ],\n \"id\": \"globe-moon\",\n \"tags\": [],\n \"title\": \"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 \"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 \"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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"graphGL\"\n ],\n \"id\": \"graphgl-npm-dep\",\n \"tags\": [],\n \"theme\": \"dark\",\n \"title\": \"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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"bar3D\"\n ],\n \"id\": \"image-to-bar3d\",\n \"tags\": [],\n \"title\": \"Image to Bar3D\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"globe\"\n ],\n \"id\": \"iron-globe\",\n \"tags\": [],\n \"title\": \"Iron globe\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"line3D\"\n ],\n \"id\": \"line3d-orthographic\",\n \"tags\": [],\n \"title\": \"三维折线图正交投影\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"lines3D\"\n ],\n \"id\": \"lines3d-airline-on-globe\",\n \"tags\": [],\n \"title\": \"Airline on Globe\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"lines3D\"\n ],\n \"id\": \"lines3d-flights\",\n \"tags\": [],\n \"title\": \"Flights\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"lines3D\"\n ],\n \"id\": \"lines3d-flights-gl\",\n \"tags\": [],\n \"title\": \"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 \"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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"map3D\"\n ],\n \"id\": \"map3d-alcohol-consumption\",\n \"tags\": [],\n \"title\": \"Map3D - Alcohol Consumption\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"map3D\"\n ],\n \"id\": \"map3d-buildings\",\n \"tags\": [],\n \"title\": \"Buildings\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"map3D\"\n ],\n \"id\": \"map3d-wood-city\",\n \"tags\": [],\n \"title\": \"Wood City\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"map3D\"\n ],\n \"id\": \"map3d-wood-map\",\n \"tags\": [],\n \"title\": \"木质世界地图\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"bar3D\"\n ],\n \"id\": \"metal-bar3d\",\n \"tags\": [],\n \"title\": \"Metal Bar3D\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"surface\"\n ],\n \"id\": \"metal-surface\",\n \"tags\": [],\n \"title\": \"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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter3D\"\n ],\n \"id\": \"scatter3d\",\n \"tags\": [],\n \"theme\": \"dark\",\n \"title\": \"Scatter3D\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter3D\"\n ],\n \"id\": \"scatter3D-dataset\",\n \"tags\": [],\n \"title\": \"3D Scatter with Dataset\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter3D\"\n ],\n \"id\": \"scatter3d-globe-population\",\n \"tags\": [],\n \"title\": \"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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter3D\"\n ],\n \"id\": \"scatter3d-scatter\",\n \"tags\": [],\n \"title\": \"3D Scatter with Scatter Matrix\",\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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatterGL\"\n ],\n \"id\": \"scatterGL-gps\",\n \"tags\": [],\n \"title\": \"10 million Bulk GPS points\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatterGL\"\n ],\n \"id\": \"scattergl-weibo\",\n \"tags\": [],\n \"theme\": \"dark\",\n \"title\": \"微博签到数据点亮中国\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"surface\"\n ],\n \"id\": \"simple-surface\",\n \"tags\": [],\n \"title\": \"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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"bar3D\"\n ],\n \"id\": \"stacked-bar3d\",\n \"tags\": [],\n \"title\": \"Stacked Bar3D\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"surface\"\n ],\n \"id\": \"surface-breather\",\n \"tags\": [],\n \"title\": \"Breather\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"surface\"\n ],\n \"id\": \"surface-golden-rose\",\n \"tags\": [],\n \"title\": \"Golden Rose\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"surface\"\n ],\n \"id\": \"surface-leather\",\n \"tags\": [],\n \"title\": \"皮革材质\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"surface\"\n ],\n \"id\": \"surface-mollusc-shell\",\n \"tags\": [],\n \"title\": \"Mollusc Shell\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"surface\"\n ],\n \"id\": \"surface-theme-roses\",\n \"tags\": [],\n \"title\": \"Theme Roses\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"surface\"\n ],\n \"id\": \"surface-wave\",\n \"tags\": [],\n \"title\": \"Surface Wave\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"bar3D\"\n ],\n \"id\": \"transparent-bar3d\",\n \"tags\": [],\n \"title\": \"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-simple\",\n \"tags\": [],\n \"title\": \"Bar Simple\",\n \"difficulty\": 0\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-tick-align\",\n \"tags\": [],\n \"title\": \"坐标轴刻度与标签对齐\",\n \"difficulty\": 0\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-waterfall\",\n \"tags\": [],\n \"title\": \"深圳月最低生活费组成(单位:元)\",\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 \"difficulty\": 0\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-simple\",\n \"tags\": [],\n \"title\": \"Basic Line Chart\",\n \"difficulty\": 0\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-smooth\",\n \"tags\": [],\n \"title\": \"Smoothed Line Chart\",\n \"difficulty\": 0\n },\n {\n \"category\": [\n \"pie\"\n ],\n \"id\": \"pie-doughnut\",\n \"tags\": [],\n \"title\": \"Doughnut Chart\",\n \"difficulty\": 0\n },\n {\n \"category\": [\n \"pie\"\n ],\n \"id\": \"pie-simple\",\n \"tags\": [],\n \"title\": \"Referer of a website\",\n \"difficulty\": 0\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-anscombe-quartet\",\n \"tags\": [],\n \"title\": \"Anscombe&#39;s quartet\",\n \"difficulty\": 0\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-clustering-process\",\n \"tags\": [],\n \"title\": \"Clustering Process\",\n \"difficulty\": 0\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-simple\",\n \"tags\": [],\n \"title\": \"Basic Scatter Chart\",\n \"difficulty\": 0\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"area-basic\",\n \"tags\": [],\n \"title\": \"Basic area chart\",\n \"difficulty\": 1\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-background\",\n \"tags\": [],\n \"title\": \"Bar with Background\",\n \"difficulty\": 1\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-gradient\",\n \"tags\": [],\n \"title\": \"特性示例:渐变色 阴影 点击缩放\",\n \"difficulty\": 1\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-negative2\",\n \"tags\": [],\n \"title\": \"交错正负轴标签\",\n \"difficulty\": 1\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-waterfall2\",\n \"tags\": [],\n \"title\": \"阶梯瀑布图\",\n \"difficulty\": 1\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"bubble-gradient\",\n \"tags\": [],\n \"title\": \"Bubble Chart\",\n \"difficulty\": 1\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-stack\",\n \"tags\": [],\n \"title\": \"Stacked Line Chart\",\n \"difficulty\": 1\n },\n {\n \"category\": [\n \"pie\"\n ],\n \"id\": \"pie-custom\",\n \"tags\": [],\n \"title\": \"Customized Pie\",\n \"difficulty\": 1\n },\n {\n \"category\": [\n \"pie\"\n ],\n \"id\": \"pie-pattern\",\n \"tags\": [],\n \"title\": \"Texture on Pie Chart\",\n \"difficulty\": 1\n },\n {\n \"category\": [\n \"pie\"\n ],\n \"id\": \"pie-roseType\",\n \"tags\": [],\n \"title\": \"Nightingale's Rose Diagram\",\n \"difficulty\": 1\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"area-stack\",\n \"tags\": [],\n \"title\": \"Stacked area chart\",\n \"difficulty\": 2\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"area-time-axis\",\n \"tags\": [],\n \"title\": \"Area Chart with Time Axis\",\n \"difficulty\": 2\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-animation-delay\",\n \"tags\": [],\n \"title\": \"柱状图动画延迟\",\n \"difficulty\": 2\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-negative\",\n \"tags\": [],\n \"title\": \"正负条形图\",\n \"difficulty\": 2\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-y-category\",\n \"tags\": [],\n \"title\": \"World Total Population\",\n \"difficulty\": 2\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar1\",\n \"tags\": [],\n \"title\": \"Rainfall and Evaporation\",\n \"difficulty\": 2\n },\n {\n \"category\": [\n \"dataset\",\n \"pie\"\n ],\n \"id\": \"dataset-default\",\n \"tags\": [],\n \"title\": \"Default arrangement\",\n \"difficulty\": 2\n },\n {\n \"category\": [\n \"dataset\",\n \"bar\"\n ],\n \"id\": \"dataset-encode0\",\n \"tags\": [],\n \"title\": \"Simple Encode\",\n \"difficulty\": 2\n },\n {\n \"category\": [\n \"dataset\",\n \"bar\"\n ],\n \"id\": \"dataset-simple0\",\n \"tags\": [],\n \"title\": \"Simple Example of Dataset\",\n \"difficulty\": 2\n },\n {\n \"category\": [\n \"dataset\",\n \"bar\"\n ],\n \"id\": \"dataset-simple1\",\n \"tags\": [],\n \"title\": \"Dataset in Object Array\",\n \"difficulty\": 2\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"effectScatter-map\",\n \"tags\": [],\n \"title\": \"Air Quality\",\n \"difficulty\": 2\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 \"difficulty\": 2\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-y-category\",\n \"tags\": [],\n \"title\": \"Line Y Category\",\n \"difficulty\": 2\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"mix-line-bar\",\n \"tags\": [],\n \"title\": \"Mixed Line and Bar\",\n \"difficulty\": 2\n },\n {\n \"category\": [\n \"pie\"\n ],\n \"id\": \"pie-alignTo\",\n \"tags\": [],\n \"title\": \"Pie Label Align\",\n \"difficulty\": 2\n },\n {\n \"category\": [\n \"pie\"\n ],\n \"id\": \"pie-legend\",\n \"tags\": [],\n \"title\": \"Pie with Scrollable Legend\",\n \"difficulty\": 2\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-nebula\",\n \"tags\": [],\n \"title\": \"Scatter Nebula\",\n \"difficulty\": 2\n },\n {\n \"category\": [\n \"line\",\n \"visualMap\"\n ],\n \"id\": \"area-pieces\",\n \"tags\": [],\n \"title\": \"Area Pieces\",\n \"difficulty\": 3\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"area-stack-gradient\",\n \"tags\": [],\n \"title\": \"Gradient Stacked area chart\",\n \"difficulty\": 3\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-brush\",\n \"tags\": [],\n \"title\": \"柱状图框选\",\n \"difficulty\": 3\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-label-rotation\",\n \"tags\": [],\n \"title\": \"Bar Label Rotation\",\n \"difficulty\": 3\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-race\",\n \"tags\": [],\n \"title\": \"Bar Race\",\n \"difficulty\": 3\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-y-category-stack\",\n \"tags\": [],\n \"title\": \"Stacked Horizontal Bar\",\n \"difficulty\": 3\n },\n {\n \"category\": [\n \"dataset\"\n ],\n \"id\": \"dataset-encode1\",\n \"tags\": [],\n \"title\": \"Encode and Matrix\",\n \"difficulty\": 3\n },\n {\n \"category\": [\n \"dataset\",\n \"line\",\n \"pie\"\n ],\n \"id\": \"dataset-link\",\n \"tags\": [],\n \"title\": \"Share Dataset\",\n \"difficulty\": 3\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-gradient\",\n \"tags\": [],\n \"title\": \"Line Gradient\",\n \"difficulty\": 3\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-sections\",\n \"tags\": [],\n \"title\": \"Distribution of Electricity\",\n \"difficulty\": 3\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-step\",\n \"tags\": [],\n \"title\": \"Step Line\",\n \"difficulty\": 3\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-style\",\n \"tags\": [],\n \"title\": \"Line Style and Item Style\",\n \"difficulty\": 3\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"mix-zoom-on-value\",\n \"tags\": [],\n \"title\": \"Mix Zoom On Value\",\n \"difficulty\": 3\n },\n {\n \"category\": [\n \"pie\",\n \"rich\"\n ],\n \"id\": \"pie-nest\",\n \"tags\": [],\n \"title\": \"Nested Pies\",\n \"difficulty\": 3\n },\n {\n \"category\": [\n \"pie\",\n \"rich\"\n ],\n \"id\": \"pie-rich-text\",\n \"tags\": [],\n \"title\": \"Pie Special Label\",\n \"difficulty\": 3\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-polar-stack\",\n \"tags\": [],\n \"title\": \"极坐标系下的堆叠柱状图\",\n \"difficulty\": 4\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-polar-stack-radial\",\n \"tags\": [],\n \"title\": \"极坐标系下的堆叠柱状图\",\n \"difficulty\": 4\n },\n {\n \"category\": [\n \"calendar\",\n \"pie\"\n ],\n \"id\": \"calendar-pie\",\n \"tags\": [],\n \"title\": \"Calendar Pie\",\n \"difficulty\": 4\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"confidence-band\",\n \"tags\": [],\n \"title\": \"Confidence Band\",\n \"difficulty\": 4\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"custom-graphic\",\n \"tags\": [],\n \"title\": \"Custom Graphic Component\",\n \"difficulty\": 4\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 \"difficulty\": 4\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"dynamic-data2\",\n \"tags\": [],\n \"title\": \"Dynamic Data + Time Axis\",\n \"difficulty\": 4\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-aqi\",\n \"tags\": [],\n \"title\": \"Beijing AQI\",\n \"difficulty\": 4\n },\n {\n \"category\": [\n \"line\",\n \"drag\"\n ],\n \"id\": \"line-draggable\",\n \"tags\": [],\n \"title\": \"Try Dragging these Points\",\n \"difficulty\": 4\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-function\",\n \"tags\": [],\n \"title\": \"Function Plot\",\n \"difficulty\": 4\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-pen\",\n \"tags\": [],\n \"title\": \"Click to Add Points\",\n \"difficulty\": 4\n },\n {\n \"category\": [\n \"line\",\n \"dataZoom\"\n ],\n \"id\": \"line-tooltip-touch\",\n \"tags\": [],\n \"title\": \"Tooltip and DataZoom on Mobile\",\n \"difficulty\": 4\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"multiple-x-axis\",\n \"tags\": [],\n \"title\": \"Multiple X Axes\",\n \"difficulty\": 4\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"multiple-y-axis\",\n \"tags\": [],\n \"title\": \"Multiple Y Axes\",\n \"difficulty\": 4\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"watermark\",\n \"tags\": [],\n \"title\": \"Watermark - ECharts Download\",\n \"difficulty\": 4\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"area-rainfall\",\n \"tags\": [],\n \"title\": \"Rainfall\",\n \"difficulty\": 5\n },\n {\n \"category\": [\n \"line\",\n \"dataZoom\"\n ],\n \"id\": \"area-simple\",\n \"tags\": [],\n \"title\": \"Large scale area chart\",\n \"difficulty\": 5\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-polar-real-estate\",\n \"tags\": [],\n \"title\": \"极坐标系下的堆叠柱状图\",\n \"difficulty\": 5\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"grid-multiple\",\n \"tags\": [],\n \"title\": \"Rainfall and Water Flow\",\n \"difficulty\": 5\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-easing\",\n \"tags\": [],\n \"title\": \"Line Easing Visualizing\",\n \"difficulty\": 5\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"polar-roundCap\",\n \"tags\": [],\n \"title\": \"Rounded Bar on Polar\",\n \"difficulty\": 5\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-polar\",\n \"tags\": [],\n \"title\": \"Two Value-Axes in Polar\",\n \"difficulty\": 6\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-polar2\",\n \"tags\": [],\n \"title\": \"Two Value-Axes in Polar\",\n \"difficulty\": 6\n },\n {\n \"category\": [\n \"custom\"\n ],\n \"id\": \"bar-histogram\",\n \"tags\": [],\n \"title\": \"Girths of Black Cherry Trees\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-large\",\n \"tags\": [],\n \"title\": \"Large Scale Bar Chart\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"bar\",\n \"rich\"\n ],\n \"id\": \"bar-rich-text\",\n \"tags\": [],\n \"title\": \"Wheater Statistics\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"bar-stack\",\n \"tags\": [],\n \"title\": \"堆叠柱状图\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"boxplot\"\n ],\n \"id\": \"boxplot-light-velocity\",\n \"tags\": [],\n \"title\": \"Boxplot Light Velocity\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"boxplot\"\n ],\n \"id\": \"boxplot-light-velocity2\",\n \"tags\": [],\n \"title\": \"Boxplot Light Velocity2\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"boxplot\"\n ],\n \"id\": \"boxplot-multi\",\n \"tags\": [],\n \"title\": \"Multiple Categories\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"calendar\",\n \"scatter\"\n ],\n \"id\": \"calendar-charts\",\n \"tags\": [],\n \"title\": \"Calendar Charts\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"calendar\"\n ],\n \"id\": \"calendar-effectscatter\",\n \"tags\": [],\n \"title\": \"Calendar Effectscatter\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"calendar\",\n \"graph\"\n ],\n \"id\": \"calendar-graph\",\n \"tags\": [],\n \"title\": \"Calendar Graph\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"calendar\",\n \"heatmap\"\n ],\n \"id\": \"calendar-heatmap\",\n \"tags\": [],\n \"title\": \"Calendar Heatmap\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"calendar\"\n ],\n \"id\": \"calendar-horizontal\",\n \"tags\": [],\n \"title\": \"Calendar Heatmap Horizontal\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"calendar\"\n ],\n \"id\": \"calendar-lunar\",\n \"tags\": [],\n \"title\": \"Calendar Lunar\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"calendar\"\n ],\n \"id\": \"calendar-simple\",\n \"tags\": [],\n \"title\": \"Simple Calendar\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"calendar\",\n \"heatmap\"\n ],\n \"id\": \"calendar-vertical\",\n \"tags\": [],\n \"title\": \"Calendar Heatmap Vertical\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"candlestick\"\n ],\n \"id\": \"candlestick-brush\",\n \"tags\": [],\n \"title\": \"Candlestick Brush\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"candlestick\"\n ],\n \"id\": \"candlestick-large\",\n \"tags\": [],\n \"title\": \"Large Scale Candlestick\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"candlestick\"\n ],\n \"id\": \"candlestick-sh\",\n \"tags\": [],\n \"title\": \"ShangHai Index\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"candlestick\"\n ],\n \"id\": \"candlestick-sh-2015\",\n \"tags\": [],\n \"title\": \"ShangHai Index, 2015\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"candlestick\"\n ],\n \"id\": \"candlestick-simple\",\n \"tags\": [],\n \"title\": \"Basic Candlestick\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"candlestick\"\n ],\n \"id\": \"candlestick-touch\",\n \"tags\": [],\n \"title\": \"Axis Pointer Link and Touch\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"custom\"\n ],\n \"id\": \"custom-bar-trend\",\n \"tags\": [],\n \"title\": \"Custom Bar Trend\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"custom\",\n \"calendar\"\n ],\n \"id\": \"custom-calendar-icon\",\n \"tags\": [],\n \"title\": \"Custom Calendar Icon\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"custom\"\n ],\n \"id\": \"custom-cartesian-polygon\",\n \"tags\": [],\n \"title\": \"Custom Cartesian Polygon\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"custom\"\n ],\n \"id\": \"custom-error-bar\",\n \"tags\": [],\n \"title\": \"Error Bar on Catesian\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"custom\",\n \"dataZoom\"\n ],\n \"id\": \"custom-error-scatter\",\n \"tags\": [],\n \"title\": \"Error Scatter on Catesian\",\n \"difficulty\": 10\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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"custom\",\n \"map\"\n ],\n \"id\": \"custom-hexbin\",\n \"tags\": [],\n \"title\": \"Hexagonal Binning\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"candlestick\"\n ],\n \"id\": \"custom-ohlc\",\n \"tags\": [],\n \"title\": \"OHLC Chart\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"custom\"\n ],\n \"id\": \"custom-polar-heatmap\",\n \"tags\": [],\n \"title\": \"Polar Heatmap\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"custom\"\n ],\n \"id\": \"custom-profile\",\n \"tags\": [],\n \"title\": \"Profile\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"custom\"\n ],\n \"id\": \"custom-profit\",\n \"tags\": [],\n \"title\": \"Profit\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"custom\"\n ],\n \"id\": \"custom-wind\",\n \"tags\": [],\n \"title\": \"Use custom series to draw wind vectors\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"custom\"\n ],\n \"id\": \"cycle-plot\",\n \"tags\": [],\n \"title\": \"Cycle Plot\",\n \"difficulty\": 10\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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"dynamic-data\",\n \"tags\": [],\n \"title\": \"Dynamic Data\",\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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"funnel\"\n ],\n \"id\": \"funnel\",\n \"tags\": [],\n \"title\": \"Funnel Chart\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"funnel\"\n ],\n \"id\": \"funnel-align\",\n \"tags\": [],\n \"title\": \"Funnel (align)\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"funnel\"\n ],\n \"id\": \"funnel-customize\",\n \"tags\": [],\n \"title\": \"Customized Funnel\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"funnel\"\n ],\n \"id\": \"funnel-mutiple\",\n \"tags\": [],\n \"title\": \"Multiple Funnels\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"gauge\"\n ],\n \"id\": \"gauge\",\n \"tags\": [],\n \"title\": \"Gauge\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"gauge\"\n ],\n \"id\": \"gauge-car\",\n \"tags\": [],\n \"title\": \"Gauge Car\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"gauge\"\n ],\n \"id\": \"gauge-car-dark\",\n \"tags\": [],\n \"title\": \"Gauge Car Dark\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"gauge\"\n ],\n \"id\": \"gauge-level\",\n \"tags\": [],\n \"title\": \"Gauge level\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"gauge\"\n ],\n \"id\": \"gauge-simple\",\n \"tags\": [],\n \"title\": \"Simple Gauge\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"gauge\"\n ],\n \"id\": \"gauge-speed\",\n \"tags\": [],\n \"title\": \"Gauge Speed\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"map\"\n ],\n \"id\": \"geo-lines\",\n \"tags\": [],\n \"title\": \"Migration\",\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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"graph\"\n ],\n \"id\": \"graph\",\n \"tags\": [],\n \"title\": \"Les Miserables\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"graph\"\n ],\n \"id\": \"graph-circular-layout\",\n \"tags\": [],\n \"title\": \"Les Miserables\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"graph\"\n ],\n \"id\": \"graph-force\",\n \"tags\": [],\n \"title\": \"Force Layout\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"graph\"\n ],\n \"id\": \"graph-force-dynamic\",\n \"tags\": [],\n \"title\": \"Graph Dynamic\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"graph\"\n ],\n \"id\": \"graph-force2\",\n \"tags\": [],\n \"title\": \"Force Layout\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"graph\"\n ],\n \"id\": \"graph-grid\",\n \"tags\": [],\n \"title\": \"Graph on Cartesian\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"graph\"\n ],\n \"id\": \"graph-label-overlap\",\n \"tags\": [],\n \"title\": \"Hide Overlapped Label\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"graph\"\n ],\n \"id\": \"graph-life-expectancy\",\n \"tags\": [],\n \"title\": \"Graph Life Expectancy\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"graph\"\n ],\n \"id\": \"graph-npm\",\n \"tags\": [],\n \"title\": \"NPM Dependencies\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"graph\"\n ],\n \"id\": \"graph-simple\",\n \"tags\": [],\n \"title\": \"Simple Graph\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"graph\"\n ],\n \"id\": \"graph-webkit-dep\",\n \"tags\": [],\n \"title\": \"Graph Webkit Dep\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"heatmap\"\n ],\n \"id\": \"heatmap-bmap\",\n \"tags\": [\n \"bmap\"\n ],\n \"title\": \"Heatmap on Baidu Map Extension\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"heatmap\"\n ],\n \"id\": \"heatmap-cartesian\",\n \"tags\": [],\n \"title\": \"Heatmap on Cartesian\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"heatmap\"\n ],\n \"id\": \"heatmap-large\",\n \"tags\": [],\n \"title\": \"Heatmap - 2w data\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"heatmap\"\n ],\n \"id\": \"heatmap-large-piecewise\",\n \"tags\": [],\n \"title\": \"Heatmap - Discrete Mapping of Color\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"heatmap\"\n ],\n \"id\": \"heatmap-map\",\n \"tags\": [],\n \"title\": \"Air Qulity\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-log\",\n \"tags\": [],\n \"title\": \"Log Axis\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-marker\",\n \"tags\": [],\n \"title\": \"Temperature Change in the coming week\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"line\"\n ],\n \"id\": \"line-markline\",\n \"tags\": [],\n \"title\": \"Line with Marklines\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"map\",\n \"lines\"\n ],\n \"id\": \"lines-airline\",\n \"tags\": [],\n \"title\": \"65k+ Airline\",\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 \"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 \"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 \"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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"map\"\n ],\n \"id\": \"map-bin\",\n \"tags\": [],\n \"title\": \"Binning on Map\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"map\"\n ],\n \"id\": \"map-china\",\n \"tags\": [],\n \"title\": \"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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"map\"\n ],\n \"id\": \"map-HK\",\n \"tags\": [],\n \"title\": \"Population Density of HongKong (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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"map\"\n ],\n \"id\": \"map-locate\",\n \"tags\": [],\n \"title\": \"Map Locate\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"map\"\n ],\n \"id\": \"map-polygon\",\n \"tags\": [],\n \"title\": \"Draw Polygon on Map\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"map\"\n ],\n \"id\": \"map-province\",\n \"tags\": [],\n \"title\": \"Switch among 34 Provinces\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"map\"\n ],\n \"id\": \"map-usa\",\n \"tags\": [],\n \"title\": \"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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"map\"\n ],\n \"id\": \"map-world-dataRange\",\n \"tags\": [],\n \"title\": \"World Population (2010)\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"bar\"\n ],\n \"id\": \"mix-timeline-finance\",\n \"tags\": [],\n \"title\": \"Finance Indices 2002\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"parallel\"\n ],\n \"id\": \"parallel-aqi\",\n \"tags\": [],\n \"title\": \"Parallel Aqi\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"parallel\"\n ],\n \"id\": \"parallel-nutrients\",\n \"tags\": [],\n \"title\": \"Parallel Nutrients\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"parallel\"\n ],\n \"id\": \"parallel-simple\",\n \"tags\": [],\n \"title\": \"Basic Parallel\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"pictorialBar\"\n ],\n \"id\": \"pictorialBar-body-fill\",\n \"tags\": [],\n \"title\": \"Water Content\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"pictorialBar\"\n ],\n \"id\": \"pictorialBar-dotted\",\n \"tags\": [],\n \"title\": \"Dotted bar\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"pictorialBar\"\n ],\n \"id\": \"pictorialBar-forest\",\n \"tags\": [],\n \"title\": \"Expansion of forest\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"pictorialBar\"\n ],\n \"id\": \"pictorialBar-hill\",\n \"tags\": [],\n \"title\": \"Wish List and Mountain Height\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"pictorialBar\"\n ],\n \"id\": \"pictorialBar-spirit\",\n \"tags\": [],\n \"title\": \"Spirits\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"pictorialBar\"\n ],\n \"id\": \"pictorialBar-vehicle\",\n \"tags\": [],\n \"title\": \"Vehicles\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"pictorialBar\"\n ],\n \"id\": \"pictorialBar-velocity\",\n \"tags\": [],\n \"title\": \"Velocity of Christmas Reindeers\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"radar\"\n ],\n \"id\": \"radar\",\n \"tags\": [],\n \"title\": \"Basic Radar Chart\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"radar\"\n ],\n \"id\": \"radar-aqi\",\n \"tags\": [],\n \"title\": \"AQI - Radar Chart\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"radar\"\n ],\n \"id\": \"radar-custom\",\n \"tags\": [],\n \"title\": \"Customized Radar Chart\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"radar\"\n ],\n \"id\": \"radar-multiple\",\n \"tags\": [],\n \"title\": \"Multiple Radar\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"radar\"\n ],\n \"id\": \"radar2\",\n \"tags\": [],\n \"title\": \"Proportion of Browsers\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"sankey\"\n ],\n \"id\": \"sankey-energy\",\n \"tags\": [],\n \"title\": \"Sankey Diagram\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"sankey\"\n ],\n \"id\": \"sankey-itemstyle\",\n \"tags\": [],\n \"title\": \"Specify ItemStyle for Each Node in Sankey\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"sankey\"\n ],\n \"id\": \"sankey-levels\",\n \"tags\": [],\n \"title\": \"Sankey with Levels Setting\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"sankey\"\n ],\n \"id\": \"sankey-nodeAlign-left\",\n \"tags\": [],\n \"title\": \"Node Align Left in Sankey\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"sankey\"\n ],\n \"id\": \"sankey-nodeAlign-right\",\n \"tags\": [],\n \"title\": \"Node Align Right in Sankey\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"sankey\"\n ],\n \"id\": \"sankey-simple\",\n \"tags\": [],\n \"title\": \"Basic Sankey\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"sankey\"\n ],\n \"id\": \"sankey-vertical\",\n \"tags\": [],\n \"title\": \"Sankey Orient Vertical\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-aqi-color\",\n \"tags\": [],\n \"title\": \"Scatter Aqi Color\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-effect\",\n \"tags\": [],\n \"title\": \"Effect Scatter Chart\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-exponential-regression\",\n \"tags\": [],\n \"title\": \"Exponential Regression\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-label-align-right\",\n \"tags\": [],\n \"title\": \"Align Label on the Top\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-label-align-top\",\n \"tags\": [],\n \"title\": \"Align Label on the Top\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-large\",\n \"tags\": [],\n \"title\": \"Large Scatter\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-life-expectancy-timeline\",\n \"tags\": [],\n \"title\": \"Life Expectancy and GDP\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-linear-regression\",\n \"tags\": [],\n \"title\": \"Linear Regression\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-logarithmic-regression\",\n \"tags\": [],\n \"title\": \"Logarithmic Regression\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-map\",\n \"tags\": [],\n \"title\": \"Air Quality\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-map-brush\",\n \"tags\": [],\n \"title\": \"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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-nutrients\",\n \"tags\": [],\n \"title\": \"Scatter Nutrients\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-nutrients-matrix\",\n \"tags\": [],\n \"title\": \"Scatter Nutrients Matrix\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-painter-choice\",\n \"tags\": [],\n \"title\": \"Master Painter Color Choices Throughout History\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-polar-punchCard\",\n \"tags\": [],\n \"title\": \"Punch Card of Github\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-polynomial-regression\",\n \"tags\": [],\n \"title\": \"Polynomial Regression\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-punchCard\",\n \"tags\": [],\n \"title\": \"Punch Card of Github\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-single-axis\",\n \"tags\": [],\n \"title\": \"Scatter on Single Axis\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-stream-visual\",\n \"tags\": [],\n \"title\": \"Visual interaction with stream\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-weibo\",\n \"tags\": [],\n \"title\": \"Sign in of weibo\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-weight\",\n \"tags\": [],\n \"title\": \"Distribution of Height and Weight\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"scatter\"\n ],\n \"id\": \"scatter-world-population\",\n \"tags\": [],\n \"title\": \"World Population (2011)\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"sunburst\"\n ],\n \"id\": \"sunburst-book\",\n \"tags\": [],\n \"title\": \"Book Records\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"sunburst\"\n ],\n \"id\": \"sunburst-drink\",\n \"tags\": [],\n \"title\": \"Drink Flavors\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"sunburst\"\n ],\n \"id\": \"sunburst-label-rotate\",\n \"tags\": [],\n \"title\": \"Sunburst Label Rotate\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"sunburst\"\n ],\n \"id\": \"sunburst-monochrome\",\n \"tags\": [],\n \"title\": \"Monochrome Sunburst\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"sunburst\"\n ],\n \"id\": \"sunburst-simple\",\n \"tags\": [],\n \"title\": \"Basic Sunburst\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"sunburst\"\n ],\n \"id\": \"sunburst-visualMap\",\n \"tags\": [],\n \"title\": \"Sunburst VisualMap\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"themeRiver\"\n ],\n \"id\": \"themeRiver-basic\",\n \"tags\": [],\n \"title\": \"ThemeRiver\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"themeRiver\"\n ],\n \"id\": \"themeRiver-lastfm\",\n \"tags\": [],\n \"title\": \"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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"tree\"\n ],\n \"id\": \"tree-legend\",\n \"tags\": [],\n \"title\": \"Multiple Trees\",\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 \"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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"tree\"\n ],\n \"id\": \"tree-polyline\",\n \"tags\": [],\n \"title\": \"Tree with Polyline Edge\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"tree\"\n ],\n \"id\": \"tree-radial\",\n \"tags\": [],\n \"title\": \"Radial Tree\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"tree\"\n ],\n \"id\": \"tree-vertical\",\n \"tags\": [],\n \"title\": \"From Top to Bottom Tree\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"treemap\"\n ],\n \"id\": \"treemap-disk\",\n \"tags\": [],\n \"title\": \"Disk Usage\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"treemap\"\n ],\n \"id\": \"treemap-drill-down\",\n \"tags\": [],\n \"title\": \"ECharts Option Query\",\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 \"difficulty\": 10\n },\n {\n \"category\": [\n \"treemap\"\n ],\n \"id\": \"treemap-show-parent\",\n \"tags\": [],\n \"title\": \"Show Parent Labels\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"treemap\"\n ],\n \"id\": \"treemap-simple\",\n \"tags\": [],\n \"title\": \"Basic Treemap\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"treemap\"\n ],\n \"id\": \"treemap-visual\",\n \"tags\": [],\n \"title\": \"Gradient Mapping\",\n \"difficulty\": 10\n },\n {\n \"category\": [\n \"custom\",\n \"dataZoom\"\n ],\n \"id\": \"wind-barb\",\n \"tags\": [],\n \"title\": \"Wind Barb\",\n \"difficulty\": 10\n }\n]","\n// THIS FILE IS GENERATED, DON'T MODIFY */\n\n/* eslint-disable */\nexport const keywords = {\"grid\": 108210,\"series\": 1161721,\"pie\": 173151,\"legend\": 278319,\"right\": 12224,\"tooltip\": 188049,\"xAxis\": 374619,\"bar\": 182040,\"label\": 163527,\"emphasis\": 50000,\"formatter\": 62138,\"line\": 306801,\"data\": 232156,\"left\": 24464,\"top\": 18094,\"scatter\": 48954,\"type\": 92134,\"yAxis\": 238764,\"axisLabel\": 73604,\"legendHoverLink\": 14243,\"textStyle\": 129159,\"hoverAnimation\": 9062,\"dataZoom\": 90999,\"nameLocation\": 15800,\"nameTextStyle\": 30596,\"nameGap\": 14640,\"singleAxis\": 15977,\"splitLine\": 30047,\"nameRotate\": 10483,\"inverse\": 12997,\"boundaryGap\": 18533,\"clockwise\": 4411,\"lineStyle\": 81857,\"selectedOffset\": 2984,\"width\": 17962,\"slider\": 28321,\"dataBackground\": 2287,\"areaStyle\": 19428,\"color\": 94439,\"height\": 7954,\"orient\": 17218,\"align\": 10373,\"symbol\": 35613,\"xAxisIndex\": 15405,\"stack\": 10602,\"clipOverflow\": 3229,\"center\": 9827,\"padding\": 12855,\"itemStyle\": 143518,\"itemGap\": 11914,\"shadowBlur\": 17233,\"shadowColor\": 13929,\"normal\": 211293,\"borderColor\": 20648,\"shadowOffsetX\": 11499,\"shadowOffsetY\": 9210,\"opacity\": 12301,\"heatmap\": 13825,\"value\": 21111,\"fillerColor\": 797,\"borderWidth\": 15576,\"itemWidth\": 7123,\"effectScatter\": 31179,\"coordinateSystem\": 15302,\"axisLine\": 53628,\"axisTick\": 38765,\"selectedMode\": 15177,\"fontSize\": 14906,\"inactiveColor\": 5720,\"selected\": 10921,\"gauge\": 55176,\"markLine\": 65539,\"handleStyle\": 1852,\"borderType\": 5717,\"title\": 158568,\"show\": 82000,\"length\": 4814,\"zlevel\": 22293,\"labelPrecision\": 746,\"position\": 48349,\"labelFormatter\": 727,\"alignWithLabel\": 3785,\"interval\": 28810,\"showDetail\": 694,\"yAxisIndex\": 10560,\"showDataShadow\": 591,\"realtime\": 2611,\"onZero\": 3690,\"silent\": 22883,\"radar\": 61070,\"axisPointer\": 23175,\"trigger\": 15344,\"barCategoryGap\": 3511,\"splitNumber\": 19992,\"inside\": 32482,\"name\": 61072,\"showSymbol\": 4778,\"containLabel\": 6413,\"offset\": 15619,\"max\": 12538,\"backgroundColor\": 32864,\"visualMap\": 95262,\"fontStyle\": 14443,\"fontWeight\": 11970,\"fontFamily\": 10141,\"symbolSize\": 21077,\"blurSize\": 360,\"geo\": 65283,\"radius\": 8533,\"markArea\": 19906,\"map\": 102385,\"brush\": 29508,\"parallel\": 20673,\"parallelAxis\": 13713,\"gridIndex\": 20650,\"piecewise\": 25231,\"showContent\": 6960,\"zoom\": 3997,\"polar\": 23175,\"controller\": 2892,\"radiusAxis\": 24146,\"angleAxis\": 18771,\"toolbox\": 101543,\"timeline\": 34619,\"precision\": 3306,\"curveness\": 1378,\"x\": 2753,\"valueIndex\": 2807,\"itemHeight\": 5180,\"icon\": 10336,\"valueDim\": 2013,\"symbolOffset\": 10017,\"y\": 1590,\"transitionDuration\": 3814,\"radarIndex\": 715,\"extraCssText\": 3640,\"animation\": 17864,\"animationThreshold = 2000\": 11727,\"minInterval\": 11278,\"animationDelay\": 7620,\"layoutCenter\": 2348,\"animationDurationUpdate\": 6972,\"animationEasingUpdate\": 6816,\"animationDelayUpdate\": 6642,\"symbolRotate\": 10221,\"feature\": 50238,\"axis\": 1794,\"crossStyle\": 1830,\"funnel\": 11042,\"scaleLimit\": 4792,\"roam\": 7112,\"itemSize\": 1966,\"showTitle\": 1851,\"smooth\": 5185,\"saveAsImage\": 9915,\"showAllSymbol\": 3417,\"polarIndex\": 5235,\"graph\": 76898,\"layout\": 2633,\"excludeComponents\": 447,\"restore\": 3693,\"dataView\": 10258,\"magicType\": 10505,\"iconStyle\": 9088,\"nodeScaleRatio\": 892,\"hoverLayerThreshold\": 6480,\"textAlign\": 9402,\"splitArea\": 16447,\"nameMap\": 4584,\"text\": 11691,\"pixelRatio\": 357,\"readOnly\": 491,\"optionToContent\": 936,\"lang\": 549,\"textareaColor\": 233,\"textareaBorderColor\": 177,\"option\": 2003,\"seriesIndex\": 4483,\"back\": 199,\"rect\": 323,\"polygon\": 254,\"min\": 16646,\"scale\": 14303,\"logBase\": 7456,\"start\": 2889,\"z\": 15867,\"link\": 5348,\"textBaseline\": 4210,\"subtext\": 5086,\"sublink\": 2618,\"subtarget\": 2373,\"subtextStyle\": 7732,\"triggerEvent\": 9175,\"blendMode\": 6359,\"progressiveThreshold\": 4699,\"continuous\": 42105,\"lines\": 31608,\"markPoint\": 81254,\"roseType\": 4221,\"animationEasing\": 8836,\"animationDuration\": 9562,\"calculable\": 3953,\"progressive\": 5761,\"treemap\": 16948,\"links\": 9573,\"edgeSymbol\": 1211,\"bottom\": 13969,\"edges\": 1122,\"edgeLabel\": 1685,\"edgeSymbolSize\": 769,\"focusNodeAdjacency\": 888,\"draggable\": 965,\"force\": 5601,\"geoIndex\": 2856,\"circular\": 1862,\"avoidLabelOverlap\": 3694,\"target\": 5476,\"coord\": 3995,\"startValue\": 2182,\"triggerOn\": 6741,\"showDelay\": 3535,\"alwaysShowContent\": 4928,\"enterable\": 3871,\"hideDelay\": 3018,\"step\": 3437,\"detail\": 5434,\"startAngle\": 5421,\"handleIcon\": 1051,\"handleSize\": 932,\"zoomLock\": 1979,\"throttle\": 1757,\"boxplot\": 6233,\"candlestick\": 14005,\"sankey\": 10101,\"loop\": 678,\"rewind\": 439,\"controlStyle\": 1269,\"labelLine\": 17838,\"distance\": 452,\"rotate\": 4666,\"margin\": 4342,\"barWidth\": 6641,\"category\": 1318,\"barGap\": 4832,\"nodes\": 2085,\"pieces\": 2683,\"smoothMonotone\": 2203,\"itemSymbol\": 882,\"axisType\": 902,\"currentIndex\": 583,\"effectType\": 1364,\"areaColor\": 2808,\"showEffectOn\": 1285,\"rippleEffect\": 3617,\"minAngle\": 2527,\"barMaxWidth\": 3073,\"rotateLabel\": 523,\"dimension\": 1922,\"end\": 1426,\"inRange\": 4604,\"outOfRange\": 2262,\"checkpointStyle\": 1036,\"sampling\": 2458,\"regions\": 6273,\"large\": 1055,\"showLegendSymbol\": 1600,\"layoutSize\": 1981,\"mapValueCalculation\": 1447,\"categories\": 4362,\"indicator\": 2995,\"barBorderRadius\": 1455,\"range\": 2009,\"connectNulls\": 3411,\"pointer\": 2665,\"effect\": 5446,\"parallelAxisDefault\": 927,\"coords\": 750,\"shadowStyle\": 1670,\"largeThreshold\": 754,\"hoverLink\": 1276,\"repulsion\": 865,\"textGap\": 1121,\"breadcrumb\": 828,\"baseline\": 1316,\"endAngle\": 895,\"period\": 1153,\"brushType\": 1421,\"minOpacity\": 216,\"brushLink\": 913,\"brushMode\": 465,\"transformable\": 418,\"brushStyle\": 507,\"throttleType\": 448,\"throttleDelay\": 369,\"removeOnClick\": 648,\"inBrush\": 500,\"outOfBrush\": 466,\"offsetCenter\": 981,\"barMinHeight\": 2279,\"parallelIndex\": 235,\"nodeClick\": 732,\"source\": 869,\"color0\": 210,\"filterMode\": 2252,\"tiled\": 352,\"autoPlay\": 496,\"playInterval\": 440,\"sort\": 484,\"polyline\": 929,\"initLayout\": 966,\"controlPosition\": 408,\"children\": 89,\"contentToOption\": 590,\"maxOpacity\": 215,\"squareRatio\": 281,\"leafDepth\": 347,\"zoomToNodeRatio\": 300,\"childrenVisibleMin\": 303,\"shape\": 1054,\"length2\": 891,\"endValue\": 1107,\"gravity\": 634,\"edgeLength\": 662,\"layoutAnimation\": 485,\"colorAlpha\": 389,\"constantSpeed\": 451,\"trailLength\": 530,\"dim\": 313,\"areaSelectStyle\": 253,\"funnelAlign\": 334,\"buttonTextColor\": 177,\"buttonColor\": 205,\"levels\": 2267,\"textColor\": 178,\"lineX\": 46,\"lineY\": 32,\"showPlayBtn\": 64,\"showPrevBtn\": 43,\"showNextBtn\": 43,\"playIcon\": 90,\"stopIcon\": 48,\"prevIcon\": 39,\"nextIcon\": 36,\"ellipsis\": 76,\"clear\": 114,\"colorMappingBy\": 424,\"maxSize\": 131,\"minSize\": 147,\"gap\": 175,\"visibleMin\": 315,\"axisExpandable\": 134,\"layoutIterations\": 226,\"nodeGap\": 158,\"nodeWidth\": 134,\"axisExpandCenter\": 79,\"axisExpandCount\": 56,\"axisExpandWidth\": 51,\"boxWidth\": 46,\"gapWidth\": 78,\"borderColorSaturation\": 56,\"inactiveOpacity\": 51,\"keep\": 41,\"colorSaturation\": 343,\"visualDimension\": 471,\"id\": 138,\"borderColor0\": 67,\"emptyItemWidth\": 60,\"activeOpacity\": 43,\"radiusAxisIndex\": 574,\"angleAxisIndex\": 478,\"textPosition\": 232,\"minOpen\": 194,\"maxOpen\": 125,\"graphic\": 5617,\"elements\": 3108,\"image\": 673,\"group\": 488,\"$action\": 82,\"style\": 431,\"textVerticalAlign\": 13,\"fill\": 55,\"stroke\": 47,\"lineWidth\": 34,\"sector\": 93,\"bezier-curve\": 6,\"cpx2\": 1,\"cpy2\": 1,\"circle\": 256,\"arc\": 61,\"bezierCurve\": 61,\"onclick\": 101,\"onmouseover\": 32,\"font\": 17,\"bounding\": 75,\"cursor\": 54,\"themeRiver\": 11,\"confine\": 580,\"ring\": 103,\"ondragleave\": 3,\"ondragstart\": 4,\"ondragover\": 4,\"disabled\": 221,\"visualMin\": 44,\"visualMax\": 18,\"onmousemove\": 14,\"ondrag\": 8,\"ondragend\": 2,\"x2\": 7,\"x1\": 4,\"y1\": 2,\"y2\": 3,\"percent\": 6,\"ondrop\": 9,\"cx\": 7,\"smoothConstraint\": 20,\"cpx1\": 2,\"points\": 16,\"onmousewheel\": 13,\"onmouseout\": 7,\"barBorderWidth\": 2,\"ondragenter\": 2,\"onmouseup\": 1,\"cy\": 1,\"r\": 2,\"onmousedown\": 1,\"animationThreshold\": 1};\nexport const fullKeywordsList = [\"0\",\"1\",\"title\",\"show\",\"text\",\"link\",\"target\",\"textStyle\",\"color\",\"fontStyle\",\"fontWeight\",\"fontFamily\",\"fontSize\",\"textAlign\",\"textBaseline\",\"subtext\",\"sublink\",\"subtarget\",\"subtextStyle\",\"padding\",\"itemGap\",\"zlevel\",\"z\",\"left\",\"top\",\"right\",\"bottom\",\"backgroundColor\",\"borderColor\",\"borderWidth\",\"shadowBlur\",\"shadowColor\",\"shadowOffsetX\",\"shadowOffsetY\",\"legend\",\"width\",\"height\",\"orient\",\"align\",\"itemWidth\",\"itemHeight\",\"formatter\",\"selectedMode\",\"inactiveColor\",\"selected\",\"tooltip\",\"data\",\"name\",\"icon\",\"grid\",\"containLabel\",\"trigger\",\"axisPointer\",\"type\",\"axis\",\"snap\",\"label\",\"precision\",\"margin\",\"lineStyle\",\"opacity\",\"shadowStyle\",\"crossStyle\",\"position\",\"extraCssText\",\"xAxis\",\"gridIndex\",\"offset\",\"nameLocation\",\"nameTextStyle\",\"nameGap\",\"nameRotate\",\"inverse\",\"boundaryGap\",\"min\",\"max\",\"scale\",\"splitNumber\",\"minInterval\",\"interval\",\"logBase\",\"silent\",\"triggerEvent\",\"axisLine\",\"onZero\",\"axisTick\",\"alignWithLabel\",\"inside\",\"length\",\"axisLabel\",\"rotate\",\"showMinLabel\",\"showMaxLabel\",\"baseline\",\"splitLine\",\"splitArea\",\"areaStyle\",\"value\",\"tiggerTooltip\",\"status\",\"handle\",\"size\",\"throttle\",\"yAxis\",\"polar\",\"center\",\"radius\",\"radiusAxis\",\"polarIndex\",\"angleAxis\",\"startAngle\",\"clockwise\",\"radar\",\"shape\",\"indicator\",\"dataZoom\",\"disabled\",\"xAxisIndex\",\"yAxisIndex\",\"radiusAxisIndex\",\"angleAxisIndex\",\"filterMode\",\"start\",\"end\",\"startValue\",\"endValue\",\"minSpan\",\"maxSpan\",\"minValueSpan\",\"maxValueSpan\",\"zoomLock\",\"dataBackground\",\"fillerColor\",\"handleIcon\",\"handleSize\",\"handleStyle\",\"borderType\",\"labelPrecision\",\"labelFormatter\",\"showDetail\",\"showDataShadow\",\"realtime\",\"visualMap\",\"range\",\"calculable\",\"textGap\",\"dimension\",\"seriesIndex\",\"hoverLink\",\"inRange\",\"outOfRange\",\"controller\",\"pieces\",\"categories\",\"minOpen\",\"maxOpen\",\"showLabel\",\"itemSymbol\",\"showContent\",\"alwaysShowContent\",\"triggerOn\",\"showDelay\",\"hideDelay\",\"enterable\",\"confine\",\"transitionDuration\",\"toolbox\",\"itemSize\",\"showTitle\",\"feature\",\"saveAsImage\",\"excludeComponents\",\"iconStyle\",\"normal\",\"textPosition\",\"emphasis\",\"pixelRatio\",\"restore\",\"dataView\",\"readOnly\",\"optionToContent\",\"contentToOption\",\"lang\",\"textareaColor\",\"textareaBorderColor\",\"textColor\",\"buttonColor\",\"buttonTextColor\",\"zoom\",\"back\",\"magicType\",\"line\",\"bar\",\"stack\",\"tiled\",\"option\",\"brush\",\"rect\",\"polygon\",\"lineX\",\"lineY\",\"keep\",\"clear\",\"brushLink\",\"geoIndex\",\"brushType\",\"brushMode\",\"transformable\",\"brushStyle\",\"throttleType\",\"throttleDelay\",\"removeOnClick\",\"inBrush\",\"outOfBrush\",\"geo\",\"map\",\"roam\",\"aspectScale\",\"boundingCoords\",\"scaleLimit\",\"nameMap\",\"itemStyle\",\"layoutCenter\",\"layoutSize\",\"regions\",\"areaColor\",\"parallel\",\"layout\",\"axisExpandable\",\"axisExpandCenter\",\"axisExpandCount\",\"axisExpandWidth\",\"axisExpandTriggerOn\",\"parallelAxisDefault\",\"parallelAxis\",\"dim\",\"parallelIndex\",\"areaSelectStyle\",\"singleAxis\",\"timeline\",\"axisType\",\"currentIndex\",\"autoPlay\",\"rewind\",\"loop\",\"playInterval\",\"controlPosition\",\"symbol\",\"symbolSize\",\"symbolRotate\",\"symbolOffset\",\"checkpointStyle\",\"animation\",\"animationDuration\",\"animationEasing\",\"controlStyle\",\"showPlayBtn\",\"showPrevBtn\",\"showNextBtn\",\"playIcon\",\"stopIcon\",\"prevIcon\",\"nextIcon\",\"graphic\",\"elements\",\"id\",\"$action\",\"bounding\",\"invisible\",\"cursor\",\"draggable\",\"progressive\",\"children\",\"onclick\",\"onmouseover\",\"onmouseout\",\"onmousemove\",\"onmousewheel\",\"onmousedown\",\"onmouseup\",\"ondrag\",\"ondragstart\",\"ondragend\",\"ondragenter\",\"ondragleave\",\"ondragover\",\"ondrop\",\"style\",\"image\",\"x\",\"y\",\"fill\",\"stroke\",\"lineWidth\",\"font\",\"textVerticalAlign\",\"cx\",\"cy\",\"r\",\"r0\",\"endAngle\",\"points\",\"smooth\",\"smoothConstraint\",\"x1\",\"y1\",\"x2\",\"y2\",\"percent\",\"cpx1\",\"cpy1\",\"cpx2\",\"cpy2\",\"calendar\",\"cellSize\",\"dayLabel\",\"firstDay\",\"monthLabel\",\"yearLabel\",\"series\",\"coordinateSystem\",\"showSymbol\",\"showAllSymbol\",\"hoverAnimation\",\"legendHoverLink\",\"connectNulls\",\"clipOverflow\",\"step\",\"smoothMonotone\",\"sampling\",\"markPoint\",\"valueIndex\",\"valueDim\",\"coord\",\"animationThreshold\",\"animationDelay\",\"animationDurationUpdate\",\"animationEasingUpdate\",\"animationDelayUpdate\",\"markLine\",\"curveness\",\"markArea\",\"barBorderRadius\",\"barWidth\",\"barMaxWidth\",\"barMinHeight\",\"barGap\",\"barCategoryGap\",\"selectedOffset\",\"minAngle\",\"roseType\",\"avoidLabelOverlap\",\"stillShowZeroSum\",\"labelLine\",\"length2\",\"animationType\",\"large\",\"largeThreshold\",\"effectType\",\"showEffectOn\",\"rippleEffect\",\"period\",\"radarIndex\",\"squareRatio\",\"leafDepth\",\"nodeClick\",\"zoomToNodeRatio\",\"levels\",\"visualDimension\",\"visualMin\",\"visualMax\",\"colorAlpha\",\"colorSaturation\",\"colorMappingBy\",\"visibleMin\",\"childrenVisibleMin\",\"ellipsis\",\"gapWidth\",\"borderColorSaturation\",\"breadcrumb\",\"emptyItemWidth\",\"boxWidth\",\"barMinWidth\",\"color0\",\"borderColor0\",\"blurSize\",\"minOpacity\",\"maxOpacity\",\"mapValueCalculation\",\"showLegendSymbol\",\"inactiveOpacity\",\"activeOpacity\",\"polyline\",\"effect\",\"delay\",\"constantSpeed\",\"trailLength\",\"coords\",\"circular\",\"rotateLabel\",\"force\",\"initLayout\",\"repulsion\",\"gravity\",\"edgeLength\",\"layoutAnimation\",\"nodeScaleRatio\",\"focusNodeAdjacency\",\"edgeSymbol\",\"edgeSymbolSize\",\"edgeLabel\",\"category\",\"nodes\",\"links\",\"source\",\"edges\",\"nodeWidth\",\"nodeGap\",\"layoutIterations\",\"minSize\",\"maxSize\",\"sort\",\"gap\",\"funnelAlign\",\"distance\",\"pointer\",\"offsetCenter\",\"detail\",\"symbolPosition\",\"symbolRepeat\",\"symbolRepeatDirection\",\"symbolMargin\",\"symbolClip\",\"symbolBoundingData\",\"symbolPatternSize\",\"singleAxisIndex\",\"date\",\"progressiveThreshold\",\"blendMode\",\"hoverLayerThreshold\",\"useUTC\"];","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 { 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/s/sushuangwork/met/act/tigall/echarts/echarts-examples-next/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 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/mini-css-extract-plugin/dist/loader.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sassjs-loader/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeAce.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sassjs-loader/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeAce.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeAce.vue?vue&type=template&id=37ad02ad&\"","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/s/sushuangwork/met/act/tigall/echarts/echarts-examples-next/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 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/mini-css-extract-plugin/dist/loader.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sassjs-loader/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeMonaco.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sassjs-loader/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeMonaco.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeMonaco.vue?vue&type=template&id=f5fd2472&\"","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/s/sushuangwork/met/act/tigall/echarts/echarts-examples-next/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 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/mini-css-extract-plugin/dist/loader.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sassjs-loader/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Editor.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sassjs-loader/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Editor.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Editor.vue?vue&type=template&id=3a753434&\"","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/s/sushuangwork/met/act/tigall/echarts/echarts-examples-next/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 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/mini-css-extract-plugin/dist/loader.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sassjs-loader/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Preview.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sassjs-loader/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Preview.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Preview.vue?vue&type=template&id=66bf6e1f&\"","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/s/sushuangwork/met/act/tigall/echarts/echarts-examples-next/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 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&\"","export * from \"-!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./View.vue?vue&type=template&id=3d6bc75e&\"","import {store} from '../common/store';\nimport {URL_PARAMS, SCRIPT_URLS} from '../common/config';\n\nconst hasRootPath = store.code.indexOf('ROOT_PATH') >= 0;\nconst rootPathCode = hasRootPath ? `var ROOT_PATH = '${store.cdnRoot}'` : '';\n\nexport function download() {\n const code = `<!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.code}\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 const a = document.createElement('a');\n a.href = URL.createObjectURL(file);\n a.download = URL_PARAMS.c + '.html';\n a.click();\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 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;\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 { 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/s/sushuangwork/met/act/tigall/echarts/echarts-examples-next/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 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/mini-css-extract-plugin/dist/loader.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sassjs-loader/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExampleCard.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sassjs-loader/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExampleCard.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExampleCard.vue?vue&type=template&id=01229e96&\"","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/s/sushuangwork/met/act/tigall/echarts/echarts-examples-next/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!./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&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sassjs-loader/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Explore.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sassjs-loader/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Explore.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Explore.vue?vue&type=template&id=050c84ae&\"","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 = Vue;"],"sourceRoot":""}