{"version":3,"sources":["webpack:///./node_modules/vue-resize/dist/vue-resize.esm.js","webpack:///./node_modules/vue-slide-up-down/dist/vue-slide-up-down.m.js","webpack:///./node_modules/vue-select/dist/vue-select.js","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///./node_modules/vue-particles/src/vue-particles/vue-particles.vue?01b9","webpack:///node_modules/vue-particles/src/vue-particles/vue-particles.vue","webpack:///./node_modules/vue-particles/src/vue-particles/vue-particles.vue?590b","webpack:///./node_modules/vue-particles/src/vue-particles/vue-particles.vue","webpack:///./node_modules/vue-particles/src/vue-particles/index.js"],"names":["getInternetExplorerVersion","ua","window","navigator","userAgent","msie","indexOf","parseInt","substring","trident","rv","edge","isIE","initCompat","init","ResizeObserver","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","staticRenderFns","_scopeId","name","methods","compareAndNotify","_w","$el","offsetWidth","offsetHeight","$emit","addResizeHandlers","_resizeObject","contentDocument","defaultView","addEventListener","removeResizeHandlers","onload","removeEventListener","mounted","_this","$nextTick","object","document","createElement","setAttribute","type","appendChild","data","beforeDestroy","install","Vue","component","plugin","version","GlobalVue","global","use","props","active","Boolean","duration","Number","default","tag","String","style","initial","watch","layout","t","ref","on","transitionend","onTransitionEnd","$slots","computed","el","$refs","container","setHeight","scrollHeight","asap","i","e","height","__","overflow","module","exports","self","n","o","l","call","m","c","d","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","__esModule","create","bind","prototype","hasOwnProperty","p","s","iterator","constructor","configurable","writable","Array","isArray","length","toString","from","TypeError","a","autoscroll","typeAheadPointer","maybeAdjustScroll","dropdownMenu","children","getDropdownViewport","getBoundingClientRect","top","bottom","scrollTop","offsetTop","u","filteredOptions","selectable","typeAheadUp","typeAheadDown","typeAheadSelect","select","loading","mutableLoading","search","toggleLoading","arguments","h","options","_compiled","functional","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","concat","Deselect","xmlns","width","OpenIndicator","f","inserted","context","appendToBody","toggle","left","unbindPosition","calculatePosition","scrollY","scrollX","body","unbind","parentNode","removeChild","y","keys","sort","forEach","JSON","stringify","b","g","v","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","apply","getOwnPropertyDescriptors","defineProperties","_","components","mixins","directives","disabled","clearable","searchable","multiple","placeholder","transition","clearSearchOnSelect","closeOnSelect","label","autocomplete","reduce","Function","getOptionLabel","console","warn","getOptionKey","id","onTab","selectOnTab","isComposing","taggable","tabindex","pushTags","filterable","filterBy","toLowerCase","createOption","optionList","resetOnOptionsChange","validator","includes","clearSearchOnBlur","noDrop","inputId","dir","selectOnKeyCodes","searchInputQuerySelector","mapKeydown","uid","open","pushedTags","_value","selectedValue","clearSelection","isTrackingValues","setInternalValueFromOptions","created","$on","pushTag","$data","map","findOptionFromReducedValue","isOptionSelected","optionExists","updateValue","onAfterSelect","deselect","optionComparator","searchEl","blur","toggleDropdown","target","preventDefault","deselectButtons","clearButton","some","contains","focus","find","closeSearchOptions","maybeDeleteValue","slice","normalizeOptionForSlot","onEscape","onSearchBlur","mousedown","searching","onSearchFocus","onMousedown","onMouseUp","onSearchKeyDown","8","9","27","38","40","keyCode","propsData","$scopedSlots","selectedOptions","querySelector","scope","attributes","searchPlaceholder","readonly","dropdownOpen","events","compositionstart","compositionend","keydown","input","spinner","noOptions","openIndicator","role","class","listHeader","listFooter","header","footer","childComponents","stateClasses","isValueEmpty","unshift","showClearButton","O","_t","_v","_l","key","_s","refInFor","title","click","_e","option","_g","_b","rawName","expression","mouseup","mouseover","stopPropagation","staticStyle","display","visibility","w","ajax","pointer","pointerScroll","condition","message","isError","err","isExtendedError","_name","extend","View","routerView","route","$route","cache","_routerViewCache","depth","inactive","_routerRoot","vnodeData","keepAlive","_directInactive","_inactive","$parent","routerViewDepth","cachedData","cachedComponent","configProps","fillPropsinData","matched","registerRouteInstance","vm","val","current","instances","hook","prepatch","vnode","componentInstance","propsToPass","resolveProps","config","params","undefined","encodeReserveRE","encodeReserveReplacer","charCodeAt","commaRE","encode","str","encodeURIComponent","replace","decode","decodeURIComponent","resolveQuery","query","extraQuery","_parseQuery","parsedQuery","parse","parseQuery","res","trim","split","param","parts","shift","join","stringifyQuery","obj","result","val2","x","trailingSlashRE","createRoute","record","location","redirectedFrom","router","clone","meta","path","hash","fullPath","getFullPath","formatMatch","freeze","START","_stringifyQuery","isSameRoute","isObjectEqual","aKeys","bKeys","every","aVal","bVal","isIncludedRoute","queryIncludes","resolvePath","relative","base","append","firstChar","charAt","stack","pop","segments","segment","parsePath","hashIndex","queryIndex","cleanPath","isarray","arr","pathToRegexp_1","pathToRegexp","parse_1","compile_1","compile","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","RegExp","tokens","index","defaultDelimiter","delimiter","exec","escaped","offset","next","prefix","capture","group","modifier","asterisk","partial","repeat","optional","pattern","escapeGroup","escapeString","substr","encodeURIComponentPretty","encodeURI","toUpperCase","encodeAsterisk","matches","opts","pretty","token","j","test","attachKeys","re","flags","sensitive","regexpToRegexp","groups","source","match","arrayToRegexp","regexp","stringToRegexp","strict","end","endsWithDelimiter","regexpCompileCache","fillParams","routeMsg","filler","pathMatch","normalizeLocation","raw","_normalized","params$1","rawPath","parsedPath","basePath","_Vue","toTypes","eventTypes","noop","Link","to","required","exact","activeClass","exactActiveClass","event","this$1","$router","resolve","href","classes","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","handler","guardEvent","scopedSlot","$hasNormal","navigate","isActive","isExactActive","findAnchor","isStatic","aData","handler$1","event$1","aAttrs","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","button","currentTarget","getAttribute","child","installed","isDef","registerInstance","callVal","_parentVnode","mixin","_router","util","defineReactive","history","destroyed","_route","strats","optionMergeStrategies","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","inBrowser","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","pathList","pathMap","nameMap","addRouteRecord","splice","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","redirect","beforeEnter","childMatchAs","alias","aliases","aliasRoute","createMatcher","addRoutes","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","resolvedPath","aliasedPath","aliasedMatch","aliasedRecord","len","Time","performance","now","Date","genStateKey","toFixed","_key","getStateKey","setStateKey","positionStore","setupScroll","protocolAndPath","protocol","host","absolutePath","stateCopy","state","replaceState","saveScrollPosition","handleScroll","isPop","app","behavior","scrollBehavior","position","getScrollPosition","shouldScroll","then","scrollToPosition","catch","pageXOffset","pageYOffset","getElementPosition","docEl","documentElement","docRect","elRect","isValidPosition","isNumber","normalizePosition","normalizeOffset","hashStartsWithNumberRE","isObject","selector","getElementById","scrollTo","supportsPushState","pushState","url","runQueue","queue","fn","cb","step","resolveAsyncComponents","hasAsync","pending","error","flatMapComponents","def","cid","once","resolvedDef","isESModule","resolved","reject","reason","msg","Error","comp","flatten","hasSymbol","called","args","NavigationDuplicated","normalizedLocation","__proto__","History","normalizeBase","ready","readyCbs","readyErrorCbs","errorCbs","baseEl","resolveQueue","max","Math","updated","activated","deactivated","extractGuards","records","reverse","guards","instance","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","cbs","isValid","bindEnterGuard","poll","_isBeingDestroyed","setTimeout","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","abort","beforeHooks","postEnterCbs","enterGuards","resolveHooks","prev","afterHooks","HTML5History","expectScroll","supportsScroll","initLocation","getLocation","go","fromRoute","getCurrentLocation","decodeURI","pathname","HashHistory","fallback","checkFallback","ensureSlash","setupListeners","getHash","replaceHash","pushHash","searchIndex","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","mode","prototypeAccessors","registerHook","list","createHref","$once","setupHashListener","beforeEach","beforeResolve","afterEach","Promise","back","forward","getMatchedComponents","normalizedTo","color","particleOpacity","linesColor","particlesNumber","shapeType","particleSize","linesWidth","lineLinked","lineOpacity","linesDistance","moveSpeed","hoverEffect","hoverMode","clickEffect","clickMode","VueParticles"],"mappings":"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","file":"js/chunk-vendors~e160769a.caa33693.js","sourcesContent":["function getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tcompareAndNotify: function compareAndNotify() {\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis._w = this.$el.offsetWidth;\n\t\t\t\tthis._h = this.$el.offsetHeight;\n\t\t\t\tthis.$emit('notify');\n\t\t\t}\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\t\t\tthis.compareAndNotify();\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\tVue.component('ResizeObserver', ResizeObserver);\n}\n\n// Plugin\nvar plugin = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.5\",\n\tinstall: install\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, ResizeObserver };\nexport default plugin;\n","export default{name:\"SlideUpDown\",props:{active:Boolean,duration:{type:Number,default:500},tag:{type:String,default:\"div\"}},data:function(){return{style:{},initial:!1}},watch:{active:function(){this.layout()}},render:function(t){return t(this.tag,{style:this.style,ref:\"container\",attrs:{\"aria-hidden\":!this.active},on:{transitionend:this.onTransitionEnd}},this.$slots.default)},mounted:function(){this.layout(),this.initial=!0},computed:{el:function(){return this.$refs.container}},methods:{layout:function(){var t=this;this.active?(this.$emit(\"open-start\"),this.initial&&this.setHeight(\"0px\",function(){return t.el.scrollHeight+\"px\"})):(this.$emit(\"close-start\"),this.setHeight(this.el.scrollHeight+\"px\",function(){return\"0px\"}))},asap:function(t){this.initial?this.$nextTick(t):t()},setHeight:function(t,i){var e=this;this.style={height:t},this.asap(function(){e.__=e.el.scrollHeight,e.style={height:i(),overflow:\"hidden\",\"transition-property\":\"height\",\"transition-duration\":e.duration+\"ms\"}})},onTransitionEnd:function(){this.active?(this.style={},this.$emit(\"open-end\")):(this.style={height:\"0\",overflow:\"hidden\"},this.$emit(\"close-end\"))}}};\n//# sourceMappingURL=vue-slide-up-down.m.js.map\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueSelect=e():t.VueSelect=e()}(\"undefined\"!=typeof self?self:this,(function(){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"/\",n(n.s=8)}([function(t,e,n){var o=n(4),i=n(5),r=n(6);t.exports=function(t){return o(t)||i(t)||r()}},function(t,e){function n(e){return\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?t.exports=n=function(t){return typeof t}:t.exports=n=function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},n(e)}t.exports=n},function(t,e,n){},function(t,e){t.exports=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},function(t,e){t.exports=function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);en.bottom)return this.$refs.dropdownMenu.scrollTop=e.offsetTop-(n.height-s)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},u={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){for(var t=0;t=0;t--)if(this.selectable(this.filteredOptions[t])){this.typeAheadPointer=t;break}},typeAheadDown:function(){for(var t=this.typeAheadPointer+1;t0&&void 0!==arguments[0]?arguments[0]:null;return this.mutableLoading=null==t?!this.mutableLoading:t}}};function h(t,e,n,o,i,r,s,a){var l,c=\"function\"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),r&&(c._scopeId=\"data-v-\"+r),s?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},c._ssrRegister=l):i&&(l=a?function(){i.call(this,this.$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,l):[l]}return{exports:t,options:c}}var d={Deselect:h({},(function(){var t=this.$createElement,e=this._self._c||t;return e(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"10\",height:\"10\"}},[e(\"path\",{attrs:{d:\"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z\"}})])}),[],!1,null,null,null).exports,OpenIndicator:h({},(function(){var t=this.$createElement,e=this._self._c||t;return e(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"14\",height:\"10\"}},[e(\"path\",{attrs:{d:\"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z\"}})])}),[],!1,null,null,null).exports},f={inserted:function(t,e,n){var o=n.context;if(o.appendToBody){var i=o.$refs.toggle.getBoundingClientRect(),r=i.height,s=i.top,a=i.left,l=i.width;t.unbindPosition=o.calculatePosition(t,o,{width:l+\"px\",top:window.scrollY+s+r+\"px\",left:window.scrollX+a+\"px\"}),document.body.appendChild(t)}},unbind:function(t,e,n){n.context.appendToBody&&(t.unbindPosition&&\"function\"==typeof t.unbindPosition&&t.unbindPosition(),t.parentNode&&t.parentNode.removeChild(t))}};var y=function(t){var e={};return Object.keys(t).sort().forEach((function(n){e[n]=t[n]})),JSON.stringify(e)},b=0;var g=function(){return++b};function v(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function m(t){for(var e=1;e-1}},filter:{type:Function,default:function(t,e){var n=this;return t.filter((function(t){var o=n.getOptionLabel(t);return\"number\"==typeof o&&(o=o.toString()),n.filterBy(t,o,e)}))}},createOption:{type:Function,default:function(t){return\"object\"===s()(this.optionList[0])?l()({},this.label,t):t}},resetOnOptionsChange:{default:!1,validator:function(t){return[\"function\",\"boolean\"].includes(s()(t))}},clearSearchOnBlur:{type:Function,default:function(t){var e=t.clearSearchOnSelect,n=t.multiple;return e&&!n}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:\"auto\"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return[13]}},searchInputQuerySelector:{type:String,default:\"[type=search]\"},mapKeydown:{type:Function,default:function(t,e){return t}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(t,e,n){var o=n.width,i=n.top,r=n.left;t.style.top=i,t.style.left=r,t.style.width=o}}},data:function(){return{uid:g(),search:\"\",open:!1,isComposing:!1,pushedTags:[],_value:[]}},watch:{options:function(t,e){var n=this;!this.taggable&&(\"function\"==typeof n.resetOnOptionsChange?n.resetOnOptionsChange(t,e,n.selectedValue):n.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value)},value:function(t){this.isTrackingValues&&this.setInternalValueFromOptions(t)},multiple:function(){this.clearSelection()},open:function(t){this.$emit(t?\"open\":\"close\")}},created:function(){this.mutableLoading=this.loading,void 0!==this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value),this.$on(\"option:created\",this.pushTag)},methods:{setInternalValueFromOptions:function(t){var e=this;Array.isArray(t)?this.$data._value=t.map((function(t){return e.findOptionFromReducedValue(t)})):this.$data._value=this.findOptionFromReducedValue(t)},select:function(t){this.isOptionSelected(t)||(this.taggable&&!this.optionExists(t)&&this.$emit(\"option:created\",t),this.multiple&&(t=this.selectedValue.concat(t)),this.updateValue(t)),this.onAfterSelect(t)},deselect:function(t){var e=this;this.updateValue(this.selectedValue.filter((function(n){return!e.optionComparator(n,t)})))},clearSelection:function(){this.updateValue(this.multiple?[]:null)},onAfterSelect:function(t){this.closeOnSelect&&(this.open=!this.open,this.searchEl.blur()),this.clearSearchOnSelect&&(this.search=\"\")},updateValue:function(t){var e=this;this.isTrackingValues&&(this.$data._value=t),null!==t&&(t=Array.isArray(t)?t.map((function(t){return e.reduce(t)})):this.reduce(t)),this.$emit(\"input\",t)},toggleDropdown:function(t){var e=t.target!==this.$refs.search;e&&t.preventDefault(),[].concat(i()(this.$refs.deselectButtons||[]),i()([this.$refs.clearButton]||!1)).some((function(e){return e.contains(t.target)||e===t.target}))?t.preventDefault():this.open&&e?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected:function(t){var e=this;return this.selectedValue.some((function(n){return e.optionComparator(n,t)}))},optionComparator:function(t,e){return this.getOptionKey(t)===this.getOptionKey(e)},findOptionFromReducedValue:function(t){var e=this,n=[].concat(i()(this.options),i()(this.pushedTags)).filter((function(n){return JSON.stringify(e.reduce(n))===JSON.stringify(t)}));return 1===n.length?n[0]:n.find((function(t){return e.optionComparator(t,e.$data._value)}))||t},closeSearchOptions:function(){this.open=!1,this.$emit(\"search:blur\")},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var t=null;this.multiple&&(t=i()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(t)}},optionExists:function(t){var e=this;return this.optionList.some((function(n){return e.optionComparator(n,t)}))},normalizeOptionForSlot:function(t){return\"object\"===s()(t)?t:l()({},this.label,t)},pushTag:function(t){this.pushedTags.push(t)},onEscape:function(){this.search.length?this.search=\"\":this.searchEl.blur()},onSearchBlur:function(){if(!this.mousedown||this.searching){var t=this.clearSearchOnSelect,e=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:t,multiple:e})&&(this.search=\"\"),void this.closeSearchOptions()}this.mousedown=!1,0!==this.search.length||0!==this.options.length||this.closeSearchOptions()},onSearchFocus:function(){this.open=!0,this.$emit(\"search:focus\")},onMousedown:function(){this.mousedown=!0},onMouseUp:function(){this.mousedown=!1},onSearchKeyDown:function(t){var e=this,n=function(t){return t.preventDefault(),!e.isComposing&&e.typeAheadSelect()},o={8:function(t){return e.maybeDeleteValue()},9:function(t){return e.onTab()},27:function(t){return e.onEscape()},38:function(t){return t.preventDefault(),e.typeAheadUp()},40:function(t){return t.preventDefault(),e.typeAheadDown()}};this.selectOnKeyCodes.forEach((function(t){return o[t]=n}));var i=this.mapKeydown(o,this);if(\"function\"==typeof i[t.keyCode])return i[t.keyCode](t)}},computed:{isTrackingValues:function(){return void 0===this.value||this.$options.propsData.hasOwnProperty(\"reduce\")},selectedValue:function(){var t=this.value;return this.isTrackingValues&&(t=this.$data._value),t?[].concat(t):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var t=this,e={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:m({disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,id:this.inputId,\"aria-autocomplete\":\"list\",\"aria-labelledby\":\"vs\".concat(this.uid,\"__combobox\"),\"aria-controls\":\"vs\".concat(this.uid,\"__listbox\"),ref:\"search\",type:\"search\",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{\"aria-activedescendant\":\"vs\".concat(this.uid,\"__option-\").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return t.isComposing=!0},compositionend:function(){return t.isComposing=!1},keydown:this.onSearchKeyDown,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(e){return t.search=e.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.loading,searching:this.searching},openIndicator:{attributes:{ref:\"openIndicator\",role:\"presentation\",class:\"vs__open-indicator\"}},listHeader:e,listFooter:e,header:m({},e,{deselect:this.deselect}),footer:m({},e,{deselect:this.deselect})}},childComponents:function(){return m({},d,{},this.components)},stateClasses:function(){return{\"vs--open\":this.dropdownOpen,\"vs--single\":!this.multiple,\"vs--searching\":this.searching&&!this.noDrop,\"vs--searchable\":this.searchable&&!this.noDrop,\"vs--unsearchable\":!this.searchable,\"vs--loading\":this.mutableLoading,\"vs--disabled\":this.disabled}},searching:function(){return!!this.search},dropdownOpen:function(){return!this.noDrop&&(this.open&&!this.mutableLoading)},searchPlaceholder:function(){if(this.isValueEmpty&&this.placeholder)return this.placeholder},filteredOptions:function(){var t=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return t;var e=this.search.length?this.filter(t,this.search,this):t;if(this.taggable&&this.search.length){var n=this.createOption(this.search);this.optionExists(n)||e.unshift(n)}return e},isValueEmpty:function(){return 0===this.selectedValue.length},showClearButton:function(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}}},O=(n(7),h(_,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"v-select\",class:t.stateClasses,attrs:{dir:t.dir}},[t._t(\"header\",null,null,t.scope.header),t._v(\" \"),n(\"div\",{ref:\"toggle\",staticClass:\"vs__dropdown-toggle\",attrs:{id:\"vs\"+t.uid+\"__combobox\",role:\"combobox\",\"aria-expanded\":t.dropdownOpen.toString(),\"aria-owns\":\"vs\"+t.uid+\"__listbox\",\"aria-label\":\"Search for option\"},on:{mousedown:function(e){return t.toggleDropdown(e)}}},[n(\"div\",{ref:\"selectedOptions\",staticClass:\"vs__selected-options\"},[t._l(t.selectedValue,(function(e){return t._t(\"selected-option-container\",[n(\"span\",{key:t.getOptionKey(e),staticClass:\"vs__selected\"},[t._t(\"selected-option\",[t._v(\"\\n \"+t._s(t.getOptionLabel(e))+\"\\n \")],null,t.normalizeOptionForSlot(e)),t._v(\" \"),t.multiple?n(\"button\",{ref:\"deselectButtons\",refInFor:!0,staticClass:\"vs__deselect\",attrs:{disabled:t.disabled,type:\"button\",title:\"Deselect \"+t.getOptionLabel(e),\"aria-label\":\"Deselect \"+t.getOptionLabel(e)},on:{click:function(n){return t.deselect(e)}}},[n(t.childComponents.Deselect,{tag:\"component\"})],1):t._e()],2)],{option:t.normalizeOptionForSlot(e),deselect:t.deselect,multiple:t.multiple,disabled:t.disabled})})),t._v(\" \"),t._t(\"search\",[n(\"input\",t._g(t._b({staticClass:\"vs__search\"},\"input\",t.scope.search.attributes,!1),t.scope.search.events))],null,t.scope.search)],2),t._v(\" \"),n(\"div\",{ref:\"actions\",staticClass:\"vs__actions\"},[n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showClearButton,expression:\"showClearButton\"}],ref:\"clearButton\",staticClass:\"vs__clear\",attrs:{disabled:t.disabled,type:\"button\",title:\"Clear Selected\",\"aria-label\":\"Clear Selected\"},on:{click:t.clearSelection}},[n(t.childComponents.Deselect,{tag:\"component\"})],1),t._v(\" \"),t._t(\"open-indicator\",[t.noDrop?t._e():n(t.childComponents.OpenIndicator,t._b({tag:\"component\"},\"component\",t.scope.openIndicator.attributes,!1))],null,t.scope.openIndicator),t._v(\" \"),t._t(\"spinner\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.mutableLoading,expression:\"mutableLoading\"}],staticClass:\"vs__spinner\"},[t._v(\"Loading...\")])],null,t.scope.spinner)],2)]),t._v(\" \"),n(\"transition\",{attrs:{name:t.transition}},[t.dropdownOpen?n(\"ul\",{directives:[{name:\"append-to-body\",rawName:\"v-append-to-body\"}],ref:\"dropdownMenu\",staticClass:\"vs__dropdown-menu\",attrs:{id:\"vs\"+t.uid+\"__listbox\",role:\"listbox\"},on:{mousedown:function(e){return e.preventDefault(),t.onMousedown(e)},mouseup:t.onMouseUp}},[t._t(\"list-header\",null,null,t.scope.listHeader),t._v(\" \"),t._l(t.filteredOptions,(function(e,o){return n(\"li\",{key:t.getOptionKey(e),staticClass:\"vs__dropdown-option\",class:{\"vs__dropdown-option--selected\":t.isOptionSelected(e),\"vs__dropdown-option--highlight\":o===t.typeAheadPointer,\"vs__dropdown-option--disabled\":!t.selectable(e)},attrs:{role:\"option\",id:\"vs\"+t.uid+\"__option-\"+o,\"aria-selected\":o===t.typeAheadPointer||null},on:{mouseover:function(n){t.selectable(e)&&(t.typeAheadPointer=o)},mousedown:function(n){n.preventDefault(),n.stopPropagation(),t.selectable(e)&&t.select(e)}}},[t._t(\"option\",[t._v(\"\\n \"+t._s(t.getOptionLabel(e))+\"\\n \")],null,t.normalizeOptionForSlot(e))],2)})),t._v(\" \"),0===t.filteredOptions.length?n(\"li\",{staticClass:\"vs__no-options\"},[t._t(\"no-options\",[t._v(\"Sorry, no matching options.\")],null,t.scope.noOptions)],2):t._e(),t._v(\" \"),t._t(\"list-footer\",null,null,t.scope.listFooter)],2):n(\"ul\",{staticStyle:{display:\"none\",visibility:\"hidden\"},attrs:{id:\"vs\"+t.uid+\"__listbox\",role:\"listbox\"}})]),t._v(\" \"),t._t(\"footer\",null,null,t.scope.footer)],2)}),[],!1,null,null,null).exports),w={ajax:p,pointer:u,pointerScroll:c};n.d(e,\"VueSelect\",(function(){return O})),n.d(e,\"mixins\",(function(){return w}));e.default=O}])}));\n//# sourceMappingURL=vue-select.js.map","/*!\n * vue-router v3.1.6\n * (c) 2020 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isExtendedError (constructor, err) {\n return (\n err instanceof constructor ||\n // _name is to support IE9 too\n (err && (err.name === constructor.name || err._name === constructor._name))\n )\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\nvar View = {\n name: 'RouterView',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n // used by devtools to display a router-view badge\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n var cachedData = cache[name];\n var cachedComponent = cachedData && cachedData.component;\n if (cachedComponent) {\n // #2301\n // pass props\n if (cachedData.configProps) {\n fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n }\n return h(cachedComponent, data, children)\n } else {\n // render previous empty view\n return h()\n }\n }\n\n var matched = route.matched[depth];\n var component = matched && matched.components[name];\n\n // render empty node if no matched route or no config component\n if (!matched || !component) {\n cache[name] = null;\n return h()\n }\n\n // cache component\n cache[name] = { component: component };\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n };\n\n var configProps = matched.props && matched.props[name];\n // save route and configProps in cachce\n if (configProps) {\n extend(cache[name], {\n route: route,\n configProps: configProps\n });\n fillPropsinData(component, data, route, configProps);\n }\n\n return h(component, data, children)\n }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n // resolve props\n var propsToPass = data.props = resolveProps(route, configProps);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n}\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n // Fix #3072 no warn if `pathMatch` is string\n warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n\n/* */\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next._normalized) {\n return next\n } else if (next.name) {\n next = extend({}, raw);\n var params = next.params;\n if (params && typeof params === 'object') {\n next.params = extend({}, params);\n }\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params$1 = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params$1;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params$1, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar Link = {\n name: 'RouterLink',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(\n this.to,\n current,\n this.append\n );\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\"RouterLink with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\n var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n aAttrs.href = href;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props:\n route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n }\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (\n path,\n pathToRegexpOptions\n) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, window.history.state);\n stateCopy.key = getStateKey();\n window.history.replaceState(stateCopy, '', absolutePath);\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\n .catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState =\n inBrowser &&\n (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n })();\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, history.state);\n stateCopy.key = getStateKey();\n history.replaceState(stateCopy, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\nvar NavigationDuplicated = /*@__PURE__*/(function (Error) {\n function NavigationDuplicated (normalizedLocation) {\n Error.call(this);\n this.name = this._name = 'NavigationDuplicated';\n // passing the message to super() doesn't seem to work in the transpiled version\n this.message = \"Navigating to current location (\\\"\" + (normalizedLocation.fullPath) + \"\\\") is not allowed\";\n // add a stack property so services like Sentry can correctly display it\n Object.defineProperty(this, 'stack', {\n value: new Error().stack,\n writable: true,\n configurable: true\n });\n // we could also have used\n // Error.captureStackTrace(this, this.constructor)\n // but it only exists on node and chrome\n }\n\n if ( Error ) NavigationDuplicated.__proto__ = Error;\n NavigationDuplicated.prototype = Object.create( Error && Error.prototype );\n NavigationDuplicated.prototype.constructor = NavigationDuplicated;\n\n return NavigationDuplicated;\n}(Error));\n\n// support IE9\nNavigationDuplicated._name = 'NavigationDuplicated';\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n location,\n onComplete,\n onAbort\n) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(\n route,\n function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n },\n function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n }\n }\n );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n // after merging https://github.com/vuejs/vue-router/pull/2771 we\n // When the user navigates through history through back/forward buttons\n // we do not want to throw the error. We only throw it if directly calling\n // push/replace. That's why it's not included in isError\n if (!isExtendedError(NavigationDuplicated, err) && isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort(new NavigationDuplicated(route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' &&\n (typeof to.path === 'string' || typeof to.name === 'string'))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) {\n cb();\n });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n }\n )\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n next(cb);\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (\n instances[key] &&\n !instances[key]._isBeingDestroyed // do not reuse being destroyed instance\n ) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = decodeURI(window.location.pathname);\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(\n supportsPushState ? 'popstate' : 'hashchange',\n function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n }\n );\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(cleanPath(base + '/#' + location));\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n // decode the hash but not the search or hash\n // as search(query) is already decoded\n // https://github.com/vuejs/vue-router/issues/2708\n var searchIndex = href.indexOf('?');\n if (searchIndex < 0) {\n var hashIndex = href.indexOf('#');\n if (hashIndex > -1) {\n href = decodeURI(href.slice(0, hashIndex)) + href.slice(hashIndex);\n } else { href = decodeURI(href); }\n } else {\n href = decodeURI(href.slice(0, searchIndex)) + href.slice(searchIndex);\n }\n\n return href\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(\n route,\n function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n },\n function (err) {\n if (isExtendedError(NavigationDuplicated, err)) {\n this$1.index = targetIndex;\n }\n }\n );\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\n\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n process.env.NODE_ENV !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1.apps.indexOf(app);\n if (index > -1) { this$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1.app === app) { this$1.app = this$1.apps[0] || null; }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(\n to,\n current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.1.6';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"particles-js\",\"color\":_vm.color,\"particleOpacity\":_vm.particleOpacity,\"linesColor\":_vm.linesColor,\"particlesNumber\":_vm.particlesNumber,\"shapeType\":_vm.shapeType,\"particleSize\":_vm.particleSize,\"linesWidth\":_vm.linesWidth,\"lineLinked\":_vm.lineLinked,\"lineOpacity\":_vm.lineOpacity,\"linesDistance\":_vm.linesDistance,\"moveSpeed\":_vm.moveSpeed,\"hoverEffect\":_vm.hoverEffect,\"hoverMode\":_vm.hoverMode,\"clickEffect\":_vm.clickEffect,\"clickMode\":_vm.clickMode}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--12-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./vue-particles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--12-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./vue-particles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./vue-particles.vue?vue&type=template&id=5ededfff&\"\nimport script from \"./vue-particles.vue?vue&type=script&lang=js&\"\nexport * from \"./vue-particles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable */\nimport particles from './vue-particles.vue'\n\nconst VueParticles = {\n\n install (Vue, options) {\n Vue.component('vue-particles', particles)\n }\n\n}\n\nexport default VueParticles\n/* eslint-disable */\n"],"sourceRoot":""}