{"version":3,"sources":["webpack:///js/vendor.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/quasar-framework/dist/quasar.esm.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/vue-loader/lib/component-normalizer.js","webpack:///./src/js/alerts.js","webpack:///./src/router.js","webpack:///./node_modules/vuelidate/lib/params.js","webpack:///./node_modules/babel-runtime/core-js/json/stringify.js","webpack:///./node_modules/vue-style-loader/lib/listToStyles.js","webpack:///./node_modules/quasar-framework/dist/quasar.ie.js","webpack:///./node_modules/es6-promise/dist/es6-promise.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///./node_modules/core-js/library/fn/json/stringify.js","webpack:///./node_modules/vuelidate/lib/index.js","webpack:///./node_modules/vuelidate/lib/vval.js","webpack:///./src/js/i18n.js","webpack:///./src/js/ads.js","webpack:///./node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/vue-resize/dist/vue-resize.esm.js","webpack:///./node_modules/quasar-extras/material-icons.js","webpack:///./node_modules/fastclick/lib/fastclick.js","webpack:///./node_modules/css-loader/lib/css-base.js","webpack:///./node_modules/vue-style-loader/lib/addStylesClient.js","webpack:///./src/main.js"],"names":["webpackJsonp","module","exports","g","this","Function","eval","e","window","__webpack_exports__","__webpack_require__","getUserAgent","navigator","userAgent","vendor","opera","toLowerCase","getMatch","platformMatch","match","exec","indexOf","browser","version","versionNumber","platform","getPlatformMatch","installEvents","_Vue","bus","offset","el","top","left","ref","getBoundingClientRect","style","property","getComputedStyle","getPropertyValue","height","viewport","parseFloat","width","css","element","Object","keys","forEach","prop","a","document","documentElement","body","ready","fn","readyState","addEventListener","cssTransform","val","o","transform","prefix","p","set","theme","currentTheme","current","classList","remove","add","setVue","Vue","humanStorageSize","bytes","u","Math","abs","units","length","toFixed","capitalize","str","charAt","toUpperCase","slice","between","v","min","max","normalizeToInterval","size","index","pad","char","Array","join","translate","pos","active","horiz","reverse","x","y","inc","amount","random","highjackAjax","startHandler","endHandler","xhr","prototype","send","this$1","args","len","arguments","apply","restoreAjax","s4","floor","toString","substring","debounce","wait","immediate","timeout","later","clearTimeout","setTimeout","frameDebounce","requestAnimationFrame","getEvent","event","rightClick","which","button","getEventKey","keyCode","position","posx","posy","touches","changedTouches","clientX","clientY","pageX","pageY","scrollLeft","scrollTop","targetElement","target","srcElement","nodeType","parentNode","getMouseWheelDistance","sX","sY","pX","pY","detail","wheelDelta","wheelDeltaY","wheelDeltaX","axis","HORIZONTAL_AXIS","PIXEL_STEP","deltaY","deltaX","deltaMode","LINE_HEIGHT","PAGE_HEIGHT","spinX","spinY","pixelX","pixelY","showRipple","evt","stopPropagation","container","createElement","animNode","appendChild","className","clientWidth","clientHeight","offset$$1","shouldAbort","mat","ios","getSize","offsetWidth","offsetHeight","getScrollTarget","closest","getScrollHeight","scrollHeight","getScrollPosition","scrollTarget","pageYOffset","scrollY","animScrollTo","to","duration","setScroll","setScrollPosition","getScrollbarWidth","undefined","inner","outer","visibility","overflow","w1","w2","removeChild","type","obj","String","class2type","call","isPlainObject","constructor","hasOwn","key","extend","options","name","src","copy","copyIsArray","clone","arguments$1","i","deep","getAnchorPosition","right","bottom","middle","center","getTargetPosition","getOverlapMode","anchor","median","getPositions","t","positions","filter","horizontal","vertical","overlap","splice","anchorPos","applyAutoPositionIfNeeded","selfOrigin","anchorOrigin","targetPosition","innerHeight","newTop","innerWidth","newLeft","parseHorizTransformOrigin","getTransformProperties","setPosition","anchorEl","maxHeight","anchorClick","touchPosition","ref$1","positionValidator","parts","split","includes","console","error","offsetValidator","parsePosition","textStyle","n","display","getType","list","itemClasses","dark","dense","sparse","separator","insetSeparator","multiline","highlight","link","text","h","parseInt","staticClass","domProps","innerHTML","push","child","slot","replace","conf","defaultProps","props","hasOwnProperty","prevent","preventDefault","getDirection","mod","dir","direction","updateClasses","scroll","processChanges","ctx","isFinal","distX","distY","absDistX","absDistY","isFirst","Boolean","Date","getTime","time","distance","delta","lastX","lastY","shouldTrigger","changes","isDate","isNumber","isFinite","start$1","from","done","cancel","easing","id","start","performance","now","stop","uid","linear","handler","progress","newPos","ids","anim","last","timer","cancelAnimationFrame","getHeight","style$$1","initial","height$$1","parseSize","padding","map","unit","toggleSlide","showing","store","margin","__qslidetoggle","overflowY","additionalCSS","maxWidth","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","getDirection$1","up","down","updateClasses$1","defaultFilterFn","terms","label","getPercentage","dragging","notDivides","res","decimals","number","getModel","percentage","step","model","modulo","width$1","parseOptions","opts","value","concat","opt","Number","getRowSelection","rows","selection","multiple","nextDirection","getSortFn","sort","sortMethod","formatTimezone","delimeter","sign","absOffset","hours","minutes","setMonth","date","newMonth","test","getFullYear","days","getDate","getChange","getMonth","month","op","isValid","parse","isNaN","buildDate","utc","adjustDate","getDayOfWeek","dow","getDay","getWeekOfYear","thursday","setDate","firstThursday","ds","getTimezoneOffset","setHours","getHours","weekDiff","MILLISECONDS_IN_DAY","isBetweenDates","d1","d2","cur","addToDate","subtractFromDate","startOfDate","setMinutes","setSeconds","setMilliseconds","endOfDate","daysInMonth","getMaxDate","d","getMinDate","getDiff","sub","interval","MILLISECONDS_IN_MINUTE","getDateDiff","subtract","MILLISECONDS_IN_HOUR","getDayOfYear","convertDateToFormat","example","formatDate","getDateBetween","low","high","isSameDate","date2","getUTCSeconds","getUTCMinutes","getUTCHours","getUTCDate","getUTCMonth","getUTCFullYear","Error","mask","token","formatter","convertToAmPm","hour","updateSize","w","updateObject","data","initFile","file","__doneUploading","__failed","__uploaded","__progress","addClass","rgbToHex","red","green","blue","TypeError","hexToRgb","hex","num","create","node","state","appear","dismissible","actions","vm","functional","render","on","leave","$destroy","$el","onDismiss","QAlert","html","$mount","dismiss","$forceUpdate","onchange","evtMap","focus","focusin","pageshow","blur","focusout","pagehide","hidden","appVisibility","Events","$emit","encode$1","toUTCString","source","JSON","stringify","decode$1","substr","RegExp","generateFunctions","local","session","parseOptions$1","defaults","create$1","toast","toastStack","installed","install$1","Toast","setDefaults","Platform","is","matched","android","bb","blackberry","ipad","iphone","ipod","kindle","playbook","silk","mobile","winphone","cros","mac","linux","win","desktop","chrome","opr","safari","vivaldi","webkit","rv","iemobile","ie","edge","process","versions","electron","location","href","chromeExt","_cordovaNative","cordova","has","touch","msMaxTouchPoints","within","iframe","self","popstate","$on","$once","$off","freeze","install","directives","startsWith","directive","components","c","component","events","$q","cb","tag","$cordova","XMLHttpRequest","typeIcon","positive","negative","info","warning","QIcon","color","parent","cls","icon","attrs","children","QTransition","enter","group","enterActiveClass","leaveActiveClass","_vm","_h","$createElement","_c","_self","class","containerClass","$event","classes","alertIcon","_v","_t","_l","btn","_s","_e","staticRenderFns","default","inline","validator","watch","computed","methods","field","item","marginal","every","align","FrameMixin","suffix","stackLabel","floatLabel","disable","before","after","inverted","labelIsAbove","focused","additionalLength","alignClass","InputMixin","autofocus","maxLength","placeholder","loading","inputPlaceholder","$refs","input","select","__onFocus","__onBlur","__onKeydown","__onKeyup","__onClick","mounted","$nextTick","inputTypes","Ripple","inserted","modifiers","enabled","click","__qripple","update","oldValue","unbind","removeEventListener","QInputFrame","rawName","expression","focusable","__additionalHidden","hasError","__defaultHandler","addonClass","mixins","topAddons","inject","__field","condition","content","created","__registerInput","beforeDestroy","__unregisterInput","QResizeObservable","staticStyle","onResize","emit","reset","expand","shrink","QScrollObservable","dirChanged","dirChangePos","getPosition","directionChanged","inflexionPosition","trigger","QWindowResizeObservable","mixin","QSpinnerIos","QSpinnerMat","QSpinner","hourglass","radio","QInput","isTextarea","__updateArea","minRows","readonly","__set","pattern","inputStep","inputType","isPassword","noPassToggle","showPass","togglePass","clearable","clear","required","maxDecimals","shadow","hasFocus","activeElement","register","watcher","$watch","unregister","getEl","provide","__input","isLoading","editable","isInteger","minHeight","handlers","EscapeKey","pop","ModelToggleMixin","open","close","__updateModel","QPopover","fit","opened","transformCSS","__updatePosition","reposition","contains","toggle","minWidth","ItemMixin","Event","createEvent","initEvent","RouterLinkMixin","exact","append","routerLinkEventName","QItem","QItemSeparator","inset","QItemMain","labelLines","sublabel","sublabelLines","QItemSide","avatar","letter","image","stamp","QItemTile","lines","invertedIcon","QItemWrapper","cfg","slotReplace","slots","leftColor","main","rightIcon","rightColor","rightAvatar","rightLetter","rightImage","QList","noBorder","striped","stripedOdd","QListHeader","QBtn","isDisabled","hasPercentage","darkPercentage","round","iconRight","noCaps","outline","flat","rounded","small","big","glossy","loader","shape","$slots","QCard","square","QCardTitle","subtitle","QCardMain","QCardActions","QCardSeparator","TouchPan","bind","binding","mouse","nomouse","mouseStart","mouseMove","mouseEnd","detected","move","end","__qtouchpan","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","pow","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInCirc","sqrt","easeOutCirc","easeInOutCirc","overshoot","E","cos","standard","decelerate","accelerate","sharp","CarouselMixin","arrows","dots","fullscreen","infinite","animation","swipeEasing","noSwipe","handleArrowKeys","autoplay","QCarousel","inFullscreen","toolbar","infiniteLeft","infiniteRight","canGoToPrevious","previous","canGoToNext","next","slide","goToSlide","toggleFullscreen","positionSlide","slidesNumber","animUid","__planAutoPlay","__setArrowKeys","trackPosition","__pan","animationInProgress","initialPosition","__cleanup","track","__getSlidesNumber","fromSwipe","finish","history","go","__setFullscreen","pushState","__popState","replaceChild","fillerNode","stopAnimation","__handleArrowKey","beforeUpdate","slides","Mixin","get","isArray","isActive","withBlur","unselect","__onChange","__change","ripple","OptionMixin","leftLabel","QCheckbox","disabled","_k","_i","$$a","$$el","$$c","checked","$$v","$$i","uncheckedIcon","checkedIcon","checkedStyle","transition","opacity","uncheckedStyle","QChip","floating","pointing","closable","QChipsInput","frameColor","__onInputBlur","__handleKey","composing","invisible","slideAnimation","QSlideTransition","mode","eventName","QCollapsible","iconToggle","__toggleItem","indent","__eventHandler","comp","positionCSS","boxShadow","openedModalNumber","QModal","modalTransition","enterClass","leaveClass","modalClasses","__dismiss","contentClasses","positionClasses","contentCss","noBackdropDismiss","noEscDismiss","minimized","maximized","toggleInProgress","modalCss","unshift","onShow","bodyPadding","paddingRight","__popstate","modalId","__modalId","__onClose","getElementsByClassName","onClose","onClick","ColumnSelection","columnSelection","columns","col","cols","columnSelectionOptions","QSearch","controlBefore","controlAfter","callback","childDebounce","isEmpty","__inputParent","setChildDebounce","debounceValue","clearAndFocus","QField","childHasLabel","isDark","hasNoInput","errorLabel","helper","counter","labelWidth","count","hasBottom","hasLabel","insetIcon","$options","__needsBottom","needsBottom","QFieldReset","QRadio","_q","TouchSwipe","__qtouchswipe","QToggle","currentIcon","__swipe","SelectMixin","chips","displayValue","actualValue","opt$1","find","selectedOptions","hasChips","__toggle","QSelect","nativeOn","filterPlaceholder","optModel","__select","autofocusFilter","visibleOptions","lowerTerms","filterFn","activeItemSelector","popover","selected","querySelector","scrollIntoView","Modal","quasarClose","QOptionGroup","mixin$1","snap","markers","labelAlways","fillHandleAlways","labelColor","__end","__setActive","__update","__click","__validateProps","QSlider","borderRadius","labelValue","currentPercentage","value$1","handle","dragType","MIN","RANGE","MAX","QRange","dragRange","dragOnlyRange","percentageMin","activeTrackWidth","leftTooltipColor","leftDisplayValue","percentageMax","rightTooltipColor","rightDisplayValue","leftLabelColor","leftLabelValue","rightLabelColor","rightLabelValue","currentMinPercentage","currentMaxPercentage","sensitivity","handleMin","valueMin","valueMax","offsetPercentage","offsetModel","rangeValue","rangePercentage","minP","maxP","percentageDelta","modelDelta","__updateInput","QRating","mouseModel","exselected","hovered","__setHoverValue","QProgress","buffer","indeterminate","animate","stripe","bufferModel","modelStyle","bufferStyle","trackStyle","Dialog$1","title","message","__isInputType","$set","items","withLabel","fontSize","row","stackButtons","column","raised","preventClose","buttons","noButtons","form","dialog","getFormData","$root","getElementsByTagName","Dialog","TableFilter","labels","search","filtering","filterFields","allCols","Filter","resetBody","filteringCols","some","singular","plural","all","I18n","config","messages","noDataAfterFiltering","noData","QPagination","setByOffset","newPage","__normalize","parsed","TablePagination","pagination","resetPage","entries","rowsPerPage","page","ceil","defaultOptions","Pagination","_pagination","$data","paginate","Responsive","responsive","handleResponsive","RowSelection","rowSelection","multipleSelection","r","rowsSelected","selectedRows","__index","clearSelection","emitRowClick","Scroll","vert","scrollHandler","currentTarget","head","updateStickyScroll","mouseWheel","resize","scrollWidth","stickyLeft","stickyRight","bodyStyle","rowStyle","rightStickyColumns","leftStickyColumns","string","b","localeCompare","boolean","Sort","sorting","setSortField","sortFn","SortIcon","QTooltip","delay","__debouncedUpdatePosition","__delayOpen","TableSticky","noHeader","sortable","stickyCols","StickyColumns","regularCols","leftCols","rightCols","TableContent","tableStyle","QDataTable","hasToolbar","refresh","refreshing","formatClass","formatStyle","format","marginRight","hasHeader","rowHeight","columnPicker","dayNames","monthNames","YY","YYYY","M","MM","MMM","MMMM","Q","D","DD","DDD","DDDD","dd","dddd","ddd","ww","H","HH","hh","m","getMinutes","mm","s","getSeconds","ss","S","getMilliseconds","SS","SSS","A","aa","Z","ZZ","X","modelValidator","mondayFirst","saturdayFirst","format24h","noClear","clearLabel","okLabel","cancelLabel","DateMixin","defaultSelection","pmin","pmax","val$1","typeHasDate","typeHasTime","year","day","minute","yearInterval","yearMin","monthInterval","monthMin","toggleAmPm","am","__parseTypeValue","InlineDatetimeIOS","dayMin","hourMin","__pad","minuteMin","monthDragOffset","dateDragOffset","yearDragOffset","hourDragOffset","minuteDragOffset","__updateAllPositions","dayMax","daysInterval","hourInterval","minuteInterval","__monthStyle","__colStyle","__dayStyle","__yearStyle","__hourStyle","__minuteStyle","__dragMonth","__drag","__dragDate","__dragYear","__dragHour","__dragMinute","setYear","setFullYear","setDay","setHour","setMinute","filler","__updatePositions","root","__itemStyle","translation","rotation","__dragStart","ev","__actualType","__typeOffset","__dragPosition","__dragMove","__dragStop","newValue","InlineDatetimeMat","weekDayString","view","monthString","beforeMinDays","monthStamp","afterMaxDays","fillerDay","monthDay","today","maxDay","centerClockPos","selector","firstDayOfWeek","headerDayNames","first","fillerDays","clockPointerStyle","divider","clock","clockOffset","__updateClock","angle","asin","PI","QInlineDatetime","contentCSS","backgroundColor","QDatetime","classNames","usingPopover","__setModel","popup","FabMixin","defaultFrom","defaultTo","QInnerLoading","visible","SideMixin","toggleLeft","toggleRight","showLeft","__show","showRight","hideLeft","__hide","hideRight","hideCurrentSide","leftState","openedSmall","rightState","side","openedBig","__quasar_layout_overlay","__hideSmall","popStateCallback","backdrop","touchEvent","replaceState","hist","__openLeftByTouch","__openByTouch","__openRightByTouch","withBackdrop","inTransit","__closeLeftByTouch","__closeByTouch","__closeRightByTouch","QLayout","leftOnLayout","rightOnLayout","hideBackdrop","computedLeftClass","onLeftAsideResize","computedRightClass","onRightAsideResize","header","navigation","computedHeaderClass","onHeaderResize","pageClass","footer","computedFooterClass","onFooterResize","onPageScroll","onLayoutResize","onWindowResize","sides","reveal","leftBreakpoint","leftStyle","leftClass","rightBreakpoint","rightStyle","rightClass","headerStyle","headerClass","footerStyle","footerClass","pageStyle","headerOnScreen","layout","leftOverBreakpoint","rightOverBreakpoint","rightBreakPoint","fixed","computedPageStyle","css$$1","paddingTop","paddingBottom","paddingLeft","mainStyle","showHeader","computedHeaderStyle","marginLeft","computedFooterStyle","offsetTop","offsetBottom","computedLeftStyle","computedRightStyle","QFixedPosition","corner","animated","QSideLink","dispatchEvent","StepTab","waiting","__stepper","stepIcon","innerOrder","TabMixin","hide","alert","sel","tabName","barStyle","__getTabContent","QToolbar","QToolbarTitle","QTreeItem","isExpandable","tap","expanded","contractHtml","expandHtml","searchEl","startFrom","O","k","curEl","endsWith","subjectString","lastIndex","Element","matches","msMatchesSelector","mozMatchesSelector","webkitMatchesSelector","elements","ownerDocument","querySelectorAll","defineProperty","predicate","thisArg","onerror","lineno","colno","Alert","onfocusin","onfocusout","onpageshow","onpagehide","onfocus","onblur","hasStorageItem","getItem","getStorageLength","getStorageItem","hasFn","storage","getStorageAtIndex","lengthFn","getItemFn","getAllStorageItems","result","setStorageItem","setItem","removeStorageItem","removeItem","clearStorage","storageIsEmpty","getLengthFn","ActionSheets","gallery","__runCancelHandler","stack","background","bgColor","inTransition","activeTimer","shift","transitionDuration","index_esm","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queue","queueIndex","drainQueue","run","Item","array","noop","nextTick","env","argv","addListener","once","off","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","cwd","chdir","umask","isUndef","isDef","isTrue","isFalse","isPrimitive","isObject","_toString","isRegExp","isValidArrayIndex","toNumber","makeMap","expectsLowerCase","arr","cached","cache","polyfillBind","boundFn","l","_length","nativeBind","toArray","ret","_from","toObject","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","keysA","keysB","looseIndexOf","called","isReserved","charCodeAt","def","enumerable","writable","configurable","parsePath","path","bailRE","segments","isNative","Ctor","pushTarget","_target","Dep","targetStack","popTarget","createTextVNode","VNode","cloneVNode","vnode","cloned","elm","context","componentOptions","asyncFactory","ns","isStatic","isComment","fnContext","fnOptions","fnScopeId","isCloned","toggleObserving","shouldObserve","protoAugment","__proto__","copyAugment","observe","asRootData","ob","__ob__","Observer","isServerRendering","isExtensible","_isVue","vmCount","defineReactive","customSetter","shallow","dep","getOwnPropertyDescriptor","getter","setter","childOb","depend","dependArray","newVal","notify","del","mergeData","toVal","fromVal","mergeDataOrFn","parentVal","childVal","instanceData","defaultData","mergeHook","mergeAssets","normalizeProps","camelize","normalizeInject","normalized","normalizeDirectives","dirs","mergeOptions","mergeField","strat","strats","defaultStrat","extendsFrom","extends","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","absent","booleanIndex","getTypeIndex","hyphenate","stringIndex","getPropDefaultValue","prevShouldObserve","_props","isSameType","expectedTypes","handleError","err","$parent","hooks","errorCaptured","capture","globalHandleError","errorHandler","logError","inBrowser","inWeex","flushCallbacks","pending","copies","callbacks","withMacroTask","_withTask","useMacroTask","_resolve","macroTimerFunc","microTimerFunc","Promise","resolve","traverse","_traverse","seenObjects","seen","isA","isFrozen","depId","createFnInvoker","fns","invoker","updateListeners","oldOn","remove$$1","old","normalizeEvent","passive","params","mergeVNodeHook","hookKey","hook","wrappedHook","oldHook","merged","extractPropsFromVNodeData","altKey","checkProp","hash","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","_isVList","ensureCtor","base","__esModule","hasSymbol","Symbol","toStringTag","createAsyncPlaceholder","factory","createEmptyVNode","asyncMeta","resolveAsyncComponent","baseCtor","errorComp","resolved","loadingComp","contexts","sync","forceRender","reject","reason","then","isAsyncPlaceholder","getFirstComponentChild","initEvents","_events","_hasHookEvent","_parentListeners","updateComponentListeners","remove$1","oldListeners","resolveSlots","name$1","isWhitespace","resolveScopedSlots","initLifecycle","abstract","$children","_watcher","_inactive","_directInactive","_isMounted","_isDestroyed","_isBeingDestroyed","mountComponent","hydrating","callHook","updateComponent","_update","_render","Watcher","$vnode","updateChildComponent","parentVnode","renderChildren","hasChildren","_renderChildren","scopedSlots","$scopedSlots","emptyObject","_parentVnode","_vnode","$attrs","$listeners","propKeys","_propKeys","isInInactiveTree","activateChildComponent","direct","deactivateChildComponent","j","resetSchedulerState","activatedChildren","flushing","flushSchedulerQueue","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","devtools","queueActivatedComponent","queueWatcher","proxy","sourceKey","sharedPropertyDefinition","initState","_watchers","initProps","initMethods","initData","_data","initComputed","nativeWatch","initWatch","propsOptions","getData","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","shouldCache","createComputedGetter","dirty","evaluate","createWatcher","expOrFn","initProvide","_provided","initInjections","resolveInject","Reflect","ownKeys","provideKey","provideDefault","renderList","renderSlot","fallback","bindObject","nodes","scopedSlotFn","slotNodes","_rendered","resolveFilter","identity","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","keyCodes","bindObjectProps","asProp","isSync","isReservedAttribute","mustUseProp","renderStatic","isInFor","_staticTrees","tree","_renderProxy","markStatic","markOnce","isOnce","markStaticNode","bindObjectListeners","existing","ours","installRenderHelpers","_o","_n","_m","_f","_b","_u","_g","FunctionalRenderContext","contextVm","_original","isCompiled","_compiled","needNormalization","injections","_scopeId","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","createComponent","_base","cid","resolveConstructorOptions","transformModel","installComponentHooks","createComponentInstanceForVnode","parentElm","refElm","_isComponent","_parentElm","_refElm","inlineTemplate","hooksToMerge","componentVNodeHooks","normalizationType","alwaysNormalize","ALWAYS_NORMALIZE","_createElement","SIMPLE_NORMALIZE","getTagNamespace","isReservedTag","parsePlatformTagName","applyNS","registerDeepBindings","force","initRender","parentData","initInternalComponent","vnodeComponentOptions","_componentTag","super","superOptions","modifiedOptions","resolveModifiedOptions","extendOptions","modified","latest","extended","sealed","sealedOptions","dedupe","_init","initUse","use","plugin","installedPlugins","_installedPlugins","initMixin$1","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","ASSET_TYPES","Comp","initAssetRegisters","definition","getComponentName","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","cached$$1","componentInstance","genClassForVnode","childNode","mergeClassData","renderClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","isSVG","isUnknownElement","unknownElementCache","HTMLUnknownElement","HTMLElement","query","createElement$1","tagName","setAttribute","createElementNS","namespace","namespaceMap","createTextNode","createComment","insertBefore","newNode","referenceNode","nextSibling","setTextContent","textContent","setStyleScope","scopeId","registerRef","isRemoval","refs","refInFor","sameVnode","sameInputType","typeA","typeB","isTextInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldVnode","oldDir","isCreate","emptyNode","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","callHook$1","componentUpdated","callInsert","emptyModifiers","getRawDirName","updateAttrs","inheritAttrs","oldAttrs","setAttr","isIE","isEdge","isXlink","removeAttributeNS","xlinkNS","getXlinkProp","isEnumeratedAttr","removeAttribute","baseSetAttr","isBooleanAttr","isFalsyAttrValue","setAttributeNS","isIE9","__ieph","blocker","stopImmediatePropagation","updateClass","oldData","transitionClass","_transitionClasses","_prevClass","normalizeEvents","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","change","createOnceHandler","target$1","onceHandler","remove$2","add$1","once$$1","supportsPassive","updateDOMListeners","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","checkVal","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","_vModifiers","lazy","trim","normalizeStyleData","normalizeStyleBinding","bindingStyle","parseStyleText","getStyle","checkChild","styleData","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","setProp","getAttribute","removeClass","tar","resolveTransition","autoCssTransition","nextFrame","raf","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","TRANSITION","transitionEndEvent","animationEndEvent","ended","onEnd","styles","transitionDelays","transitionProp","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationProp","animationDurations","animationTimeout","ANIMATION","hasTransform","transformRE","delays","durations","toMs","toggleDisplay","_leaveCb","cancelled","_enterCb","enterToClass","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","afterAppear","appearCancelled","activeInstance","transitionNode","isAppear","isRootInsert","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","rm","performLeave","beforeLeave","leaveToClass","explicitLeaveDuration","afterLeave","leaveCancelled","delayLeave","invokerFns","_enter","_","setSelected","actuallySetSelected","isMultiple","option","getValue","selectedIndex","hasNoMatchingOption","onCompositionStart","onCompositionEnd","locateNode","getRealChild","compOptions","extractTransitionData","key$1","rawChild","hasParentTransition","isSameChild","oldChild","callPendingCbs","_moveCb","recordPosition","applyTranslation","oldPos","dx","dy","moved","WebkitTransform","camelizeRE","hyphenateRE","no","SSR_ATTR","LIFECYCLE_HOOKS","optionMergeStrategies","silent","productionTip","warnHandler","ignoredElements","isReservedAttr","_lifecycleHooks","hasProto","WXEnvironment","weexPlatform","UA","isIOS","_isServer","_Set","global","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","Set","warn","subs","addSub","removeSub","addDep","raw","prototypeAccessors","defineProperties","arrayProto","arrayMethods","method","original","observeArray","arrayKeys","getOwnPropertyNames","walk","setImmediate","MessageChannel","channel","port","port2","port1","onmessage","postMessage","uid$1","isRenderWatcher","user","deps","newDeps","depIds","newDepIds","cleanupDeps","tmp","teardown","init","keepAlive","mountedNode","prepatch","insert","destroy","uid$3","_uid","dataDef","propsDef","$delete","hookRE","cbs","i$1","prevEl","prevVnode","prevActiveInstance","__patch__","__vue__","patternTypes","KeepAlive","include","exclude","destroyed","builtInComponents","configDef","util","delete","ssrContext","emptyStyle","acceptValue","attr","svg","math","isHTMLTag","nodeOps","baseModules","klass","cssText","listDelimiter","propertyDelimiter","cssVarRE","importantRE","setProperty","normalizedName","normalize","vendorNames","capName","hasTransition","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","activate","platformModules","modules","patch","backend","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","inVPre","pre","hasChildNodes","childrenMatch","firstChild","fullInvoke","isRenderedModule","isInitialPatch","isRealElement","hasAttribute","oldElm","parentElm$1","patchable","i$2","vmodel","_vOptions","prevOptions","curOptions","transition$$1","originalDisplay","__vOriginalDisplay","platformDirectives","transitionProps","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","prevChildren","rawChildren","transitionData","kept","removed","c$1","updated","hasMove","_reflow","propertyName","_hasMove","cloneNode","platformComponents","core","__e","rawScriptExports","compiledTemplate","functionalTemplate","injectStyles","moduleIdentifier","esModule","scriptExports","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","beforeCreate","_injectStyles","showAlert","colors","deviceinfo","buttonCb","previousAlert","showError","msg","showInfo","hideAlert","__WEBPACK_IMPORTED_MODULE_0_quasar__","psgo","subscribeFuncs","dat","load","log","url","VueRouter","routes","redirect","pushParams","popParams","lastTarget","newTarget","$sub","addParams","_extends","withParamsDirect","withParamsClosure","_len","_key","closure","_len2","_key2","withParams","paramsOrClosure","maybeValidator","assign","_setTarget","parentId","newStyles","media","sourceMap","part","polyfill","CharacterData","DocumentType","findIndex","objectOrFunction","isFunction","setScheduler","scheduleFn","customSchedulerFn","setAsap","asapFn","asap","useVertxTimer","vertxNext","flush","useSetTimeout","globalSetTimeout","onFulfillment","onRejection","_arguments","PROMISE_ID","makePromise","_state","invokeCallback","_result","subscribe","resolve$1","object","Constructor","promise","selfFulfillment","cannotReturnOwn","getThen","GET_THEN_ERROR","tryThen","then$$1","fulfillmentHandler","rejectionHandler","handleForeignThenable","thenable","fulfill","_label","handleOwnThenable","FULFILLED","REJECTED","handleMaybeThenable","maybeThenable","publishRejection","_onerror","publish","PENDING","_subscribers","subscribers","settled","ErrorObject","tryCatch","TRY_CATCH_ERROR","hasCallback","succeeded","failed","initializePromise","resolver","nextId","Enumerator$1","_instanceConstructor","_remaining","_enumerate","validationError","all$1","race$1","reject$1","needsResolver","needsNew","Promise$2","polyfill$1","P","promiseToString","cast","_isArray","arg","scheduleFlush","browserWindow","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isNode","isWorker","Uint8ClampedArray","importScripts","iterations","observer","characterData","vertx","runOnLoop","runOnContext","_eachEntry","entry","resolve$$1","_then","_settledAt","_willSettleAt","enumerator","race","_setScheduler","_setAsap","_asap","Timeout","clearFn","_id","_clearFn","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","task","tasksByHandle","nextHandle","registerImmediate","runIfPresent","currentlyRunningATask","doc","attachTo","getPrototypeOf","postMessageIsAsynchronous","oldOnMessage","messagePrefix","onGlobalMessage","attachEvent","script","onreadystatechange","isError","resolveProps","route","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","param","decode","stringifyQuery","encode","val2","createRoute","record","redirectedFrom","router","stringifyQuery$$1","meta","fullPath","getFullPath","formatMatch","_stringifyQuery","isSameRoute","START","trailingSlashRE","isObjectEqual","aKeys","bKeys","aVal","bVal","isIncludedRoute","queryIncludes","guardEvent","metaKey","ctrlKey","shiftKey","defaultPrevented","findAnchor","registerInstance","callVal","registerRouteInstance","_routerRoot","_router","_route","View","Link","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","resolvePath","relative","firstChar","segment","hashIndex","queryIndex","cleanPath","tokens","defaultDelimiter","delimiter","PATH_REGEXP","escaped","modifier","asterisk","partial","repeat","optional","escapeGroup","escapeString","compile","tokensToFunction","encodeURIComponentPretty","encodeURI","encodeAsterisk","pretty","encodeURIComponent","isarray","attachKeys","re","flags","sensitive","regexpToRegexp","groups","arrayToRegexp","pathToRegexp","stringToRegexp","tokensToRegExp","strict","endsWithDelimiter","fillParams","routeMsg","regexpCompileCache","pathToRegexp_1","createRouteMap","oldPathList","oldPathMap","oldNameMap","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","instances","childMatchAs","alias","aliasRoute","normalizeLocation","_normalized","rawPath","parsedPath","basePath","createMatcher","addRoutes","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","aliasedPath","aliasedMatch","aliasedRecord","decodeURIComponent","setupScroll","getStateKey","saveScrollPosition","setStateKey","handleScroll","isPop","app","behavior","scrollBehavior","shouldScroll","scrollToPosition","catch","positionStore","pageXOffset","getElementPosition","docEl","docRect","elRect","isValidPosition","normalizePosition","normalizeOffset","scrollTo","genKey","Time","runQueue","resolveAsyncComponents","hasAsync","flatMapComponents","resolvedDef","isESModule","flatten","normalizeBase","baseEl","resolveQueue","activated","deactivated","extractGuards","records","guards","instance","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","bindEnterGuard","poll","getLocation","pathname","checkFallback","ensureSlash","getHash","replaceHash","getUrl","pushHash","supportsPushState","registerHook","createHref","routerView","$route","_routerViewCache","depth","inactive","routerViewDepth","propsToPass","encodeReserveRE","encodeReserveReplacer","commaRE","toTypes","eventTypes","exactActiveClass","$router","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","parse_1","compile_1","tokensToFunction_1","tokensToRegExp_1","ua","History","readyCbs","readyErrorCbs","errorCbs","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","abort","beforeHooks","iterator","postEnterCbs","resolveHooks","prev","afterHooks","HTML5History","History$$1","expectScroll","initLocation","fromRoute","getCurrentLocation","HashHistory","setupListeners","supportsScroll","AbstractHistory","targetIndex","apps","matcher","setupHashListener","beforeEach","beforeResolve","afterEach","back","forward","getMatchedComponents","normalizedTo","$JSON","it","isPromise","makePendingAsyncVm","asyncVm","__isVuelidateAsyncVm","setDirtyRecursive","newState","nestedKeys","getVue","rootVm","_cachedVue","Vuelidate","validationMixin","_vval","_params","NUL","buildFromKeys","keyFn","reduce","build","getPath","validationGetters","$invalid","_this","refProxy","ruleKeys","rule","$dirty","_this2","$error","$pending","_this3","getRef","$params","_this4","vals","validations","validationMethods","$touch","$reset","$flattenParams","isNested","childParams","getterNames","methodNames","_cachedComponent","getComponent","VBase","patchChildren","lazyModel","getModelKey","oldVval","ValidationRule","lazyParentModel","rootModel","runRule","rawOutput","output","rawParams","Validation","_this5","_this6","keyDefs","getterDefs","methodDefs","_this7","renderNested","renderRule","GroupValidation","EachValidation","tracker","_this8","trackBy","$trackBy","eagerParentModel","_this9","usedTracks","refVals","$v","validateModel","_getComponent","_vuelidate","_this10","sameVval","vval","createVm","Vm","updateVval","oldStartVval","oldEndVval","newStartVval","newEndVval","elmToMove","patchVval","addVvals","removeVvals","vvals","VuePlugin","$t","i18n","$getMonths","getMonths","$getWeekdays","getWeekdays","adId","getAdIdFromManufacturer","initializeAd","hideAds","personalizedAds","getHideAdsFromKeys","initialized","manufacturerData","manufacturer","rand","showManufacturerAd","admobPercent","toJson","device","admobAndroidId","admobIosId","myAndroidId","myIosId","adExtras","admob","banner","hideAd","showAd","adIsShown","prepare","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify___default","__WEBPACK_IMPORTED_MODULE_1_quasar__","_typeof","_classCallCheck","_defineProperties","descriptor","_createClass","protoProps","staticProps","_defineProperty","_objectSpread","getOwnPropertySymbols","sym","convertToArray","addClasses","newClasses","SVGAnimatedString","baseVal","newClass","SVGElement","removeClasses","getOptions","placement","defaultPlacement","defaultDelay","defaultHtml","template","defaultTemplate","arrowSelector","defaultArrowSelector","innerSelector","defaultInnerSelector","defaultTrigger","defaultOffset","defaultContainer","boundariesElement","defaultBoundariesElement","autoHide","hideOnTargetClick","defaultHideOnTargetClick","loadingClass","defaultLoadingClass","loadingContent","defaultLoadingContent","popperOptions","defaultPopperOptions","typeofOffset","getPlacement","getContent","createTooltip","defaultClass","tooltip","_tooltip","Tooltip","setClasses","_vueEl","targetClasses","defaultTargetClass","_tooltipTargetClasses","destroyTooltip","dispose","_tooltipOldShow","_ref","setContent","setOptions","addListeners","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","closePopover","$_vclosepopover_touch","closeAllPopover","$_closePopoverModifiers","$_vclosepopover_touchPoint","firstTouch","screenY","screenX","getDefault","handleGlobalClick","handleGlobalClose","handleGlobalTouchend","openPopovers","$_handleGlobalClose","normalizeComponent","isFunctionalTemplate","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","shadowRoot","originalRender","listCacheClear","__data__","eq","other","assocIndexOf","eq_1","listCacheDelete","_assocIndexOf","listCacheGet","listCacheHas","listCacheSet","ListCache","stackClear","_ListCache","stackDelete","stackGet","stackHas","createCommonjsModule","getRawTag","isOwn","symToStringTag","unmasked","nativeObjectToString","objectToString","nativeObjectToString$1","baseGetTag","undefinedTag","nullTag","symToStringTag$1","_getRawTag","_objectToString","isObject_1","_baseGetTag","funcTag","genTag","asyncTag","proxyTag","isMasked","func","maskSrcKey","toSource","funcToString","baseIsNative","_isMasked","isFunction_1","reIsNative","reIsHostCtor","_toSource","getNative","_getValue","_baseIsNative","hashClear","_nativeCreate","hashDelete","hashGet","HASH_UNDEFINED","hasOwnProperty$2","hashHas","hasOwnProperty$3","hashSet","HASH_UNDEFINED$1","Hash","mapCacheClear","_Hash","_Map","isKeyable","getMapData","_isKeyable","mapCacheDelete","_getMapData","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","stackSet","pairs","LARGE_ARRAY_SIZE","_MapCache","Stack","baseAssignValue","_defineProperty$1","assignMergeValue","_baseAssignValue","createBaseFor","fromRight","iteratee","keysFunc","iterable","cloneArrayBuffer","arrayBuffer","byteLength","_Uint8Array","cloneTypedArray","typedArray","isDeep","_cloneArrayBuffer","byteOffset","copyArray","overArg","isPrototype","objectProto$5","initCloneObject","_isPrototype","_baseCreate","_getPrototype","isObjectLike","baseIsArguments","isObjectLike_1","argsTag","isLength","MAX_SAFE_INTEGER","isArrayLike","isLength_1","isArrayLikeObject","isArrayLike_1","stubFalse","objectTag","proto","hasOwnProperty$5","funcToString$2","objectCtorString","baseIsTypedArray","typedArrayTags","baseUnary","safeGet","assignValue","objValue","hasOwnProperty$6","copyObject","customizer","isNew","_assignValue","baseTimes","isIndex","MAX_SAFE_INTEGER$1","reIsUint","arrayLikeKeys","inherited","isArr","isArray_1","isArg","isArguments_1","isBuff","isBuffer_1","isType","isTypedArray_1","skipIndexes","_baseTimes","hasOwnProperty$7","_isIndex","nativeKeysIn","baseKeysIn","_nativeKeysIn","isProto","hasOwnProperty$8","keysIn","_arrayLikeKeys","_baseKeysIn","toPlainObject","_copyObject","keysIn_1","baseMergeDeep","srcIndex","mergeFunc","_safeGet","srcValue","stacked","_assignMergeValue","isCommon","isTyped","isArrayLikeObject_1","_copyArray","_cloneBuffer","_cloneTypedArray","isPlainObject_1","toPlainObject_1","_initCloneObject","baseMerge","_baseFor","_Stack","_baseMergeDeep","overRest","nativeMax","otherArgs","_apply","constant","shortOut","lastCalled","nativeNow","remaining","HOT_SPAN","HOT_COUNT","baseRest","_setToString","_overRest","identity_1","isIterateeCall","createAssigner","assigner","_baseRest","sources","_isIterateeCall","finalOptions","merge_1","vclosepopover","Popover","DEFAULT_OPTIONS","openTooltips","_reference","_options","reference","relatedreference","toElement","relatedTarget","evt2","relatedreference2","_tooltipNode","_scheduleHide","jquery","_isOpen","_show","_hide","_dispose","_classes","_setContent","classesUpdated","needPopperUpdate","needRestart","isOpen","popperInstance","_isDisposed","_enableDocumentTouch","_setEventListeners","$_originalTitle","tooltipGenerator","tooltipNode","asyncContent","_applyContent","allowHtml","rootNode","titleNode","asyncResult","innerText","_disposeTimer","_ensureShown","enableEventListeners","_create","_findContainer","_append","arrow","preventOverflow","_noLongerOpen","disableEventListeners","disposeTime","disposeTimeout","_removeTooltipNode","removeOnDestroy","directEvents","oppositeEvents","usedByTooltip","_scheduleShow","computedDelay","_scheduleTimer","_setTooltipNodeEvent","_onDocumentTouch","defaultBaseClass","defaultWrapperClass","defaultInnerClass","defaultArrowClass","defaultOpenClass","defaultAutoHide","defaultHandleResize","_ref2","MSStream","ResizeObserver","popoverClass","popoverBaseClass","popoverInnerClass","popoverWrapperClass","popoverArrowClass","handleResize","openGroup","openClass","cssClass","popoverId","oldVal","popoverNode","$_findContainer","scheduleUpdate","$_removeEventListeners","$_addEventListeners","$_updatePopper","$_isDisposed","$_mounted","$_events","$_preventOpen","$_init","_ref2$force","skipDelay","$_scheduleShow","$_beingShowed","_ref3","$_scheduleHide","$_show","$_disposeTimer","$_getOffset","$_hide","$_scheduleTimer","$_setTooltipNodeEvent","event2","_ref4","$_restartPopper","$_handleResize","normalizeComponent_1","__vue_script__","__vue_render__","tabindex","keyup","__vue_staticRenderFns__","_withStripped","_listCacheClear","_listCacheDelete","_listCacheGet","_listCacheHas","_listCacheSet","_stackClear","_stackDelete","_stackGet","_stackHas","commonjsGlobal","globalThis","freeGlobal","_freeGlobal","freeSelf","_root","Symbol$1","_Symbol","objectProto","objectProto$1","coreJsData","_coreJsData","IE_PROTO","funcProto","reRegExpChar","funcProto$1","objectProto$2","funcToString$1","hasOwnProperty$1","_getNative","Map","nativeCreate","_hashClear","_hashDelete","objectProto$3","_hashGet","objectProto$4","_hashHas","_hashSet","_mapCacheClear","_mapCacheDelete","_mapCacheGet","_mapCacheHas","_mapCacheSet","_stackSet","_createBaseFor","baseFor","cloneBuffer","allocUnsafe","freeExports","freeModule","moduleExports","Buffer","Uint8Array","objectCreate","baseCreate","_overArg","getPrototype","_baseIsArguments","objectProto$6","hasOwnProperty$4","propertyIsEnumerable","isArguments","stubFalse_1","nativeIsBuffer","isBuffer","funcProto$2","objectProto$7","_baseIsTypedArray","_baseUnary","_nodeUtil","freeProcess","nodeUtil","types","require","nodeIsTypedArray","isTypedArray","objectProto$8","objectProto$9","objectProto$a","_baseMerge","constant_1","baseSetToString","_baseSetToString","_shortOut","setToString","_createAssigner","merge","insertAt","styleSheet","GlobalVue","microtaskDebounce","taskDebounce","scheduled","timeoutDuration","functionToCheck","getStyleComputedProperty","defaultView","getParentNode","nodeName","host","getScrollParent","_getStyleComputedProp","overflowX","isIE11","isIE10","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","isOffsetContainer","firstElementChild","getRoot","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","element1root","getScroll","upperSide","scrollingElement","includeScroll","rect","getBordersSize","sideA","sideB","computedStyle","getWindowSizes","getClientRect","offsets","sizes","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","isFixed","getFixedPositionOffsetParent","parentElement","getBoundaries","popper","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","refRect","rects","sortedAreas","area","filteredAreas","computedPlacement","variation","getReferenceOffsets","getOuterSizes","marginBottom","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","check","runModifiers","ends","isDestroyed","arrowStyles","attributes","flipped","positionFixed","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","toCheck","willChange","getWindow","attachToScrollParents","scrollParents","isBody","setupEventListeners","updateBound","scrollElement","eventsEnabled","removeEventListeners","isNumeric","setStyles","setAttributes","applyStyle","arrowElement","applyStyleOnLoad","modifierOptions","getRoundedOffsets","shouldRound","_data$offsets","noRound","referenceWidth","popperWidth","isVertical","isVariation","sameWidthParity","bothOddWidth","horizontalToInteger","verticalToInteger","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","devicePixelRatio","isFirefox","prefixedProperty","invertTop","invertLeft","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","_data$offsets$arrow","sideCapitalized","altSide","opSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","getOppositeVariation","clockwise","validPlacements","placementOpposite","flipOrder","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","keepTogether","toValue","parseOffset","basePlacement","useHeight","fragments","frag","splitRegex","ops","mergeWithPrevious","index2","transformProp","popperStyles","priority","primary","escapeWithReference","secondary","shiftvariation","shiftOffsets","bound","subtractLength","isBrowser","longerTimeoutBrowsers","supportsMicroTasks","MSInputMethodContext","documentMode","classCallCheck","createClass","placements","onLoad","Defaults","Popper","Utils","PopperUtils","getInternetExplorerVersion","msie","initCompat","compareAndNotify","_w","addResizeHandlers","_resizeObject","contentDocument","removeResizeHandlers","onload","FastClick","layer","oldOnClick","trackingClick","trackingClickStart","touchStartX","touchStartY","lastTouchIdentifier","touchBoundary","tapDelay","tapTimeout","notNeeded","deviceIsAndroid","onMouse","onTouchMove","rmv","hijacked","adv","propagationStopped","onclick","deviceIsWindowsPhone","deviceIsIOS","deviceIsIOS4","deviceIsIOSWithBadTarget","deviceIsBlackBerry10","needsClick","needsFocus","readOnly","sendClick","clickEvent","initMouseEvent","determineEventType","forwardedTouchEvent","setSelectionRange","updateScrollParent","fastClickScrollParent","fastClickLastScrollTop","getTargetElementFromEventTarget","eventTarget","TEXT_NODE","targetTouches","getSelection","rangeCount","isCollapsed","identifier","timeStamp","lastClickTime","touchHasMoved","boundary","findControl","labelElement","control","htmlFor","getElementById","forElement","targetTagName","cancelNextClick","elementFromPoint","cancelable","permitted","metaViewport","chromeVersion","blackberryVersion","ontouchstart","outerWidth","msTouchAction","touchAction","attach","cssWithMappingToString","useSourceMap","cssMapping","btoa","sourceMapping","toComment","sourceRoot","unescape","mediaQuery","alreadyImportedModules","addStylesToDom","domStyle","stylesInDom","addStyle","createStyleElement","styleElement","isProduction","isOldIE","styleIndex","singletonCounter","singletonElement","applyToSingletonTag","applyToTag","newObj","replaceText","cssNode","hasDocument","DEBUG","listToStyles","_isProduction","newList","mayRemove","textStore","replacement","showLoginIfUnauthenticated","status","showCookieConsent","backButtonPressed","plugins","appMinimize","minimize","changeAdVisibility","newVirkey","ads","processAlert","alertCfg","onAppReady","__WEBPACK_IMPORTED_MODULE_0_vue__","__WEBPACK_IMPORTED_MODULE_2__router__","__WEBPACK_IMPORTED_MODULE_3_vuelidate__","__WEBPACK_IMPORTED_MODULE_3_vuelidate___default","__WEBPACK_IMPORTED_MODULE_4__js_alerts_js__","__WEBPACK_IMPORTED_MODULE_5__js_i18n_js__","__WEBPACK_IMPORTED_MODULE_6__js_ads_js__","__WEBPACK_IMPORTED_MODULE_7_v_tooltip__","__WEBPACK_IMPORTED_MODULE_8_quasar_extras_material_icons__","__WEBPACK_IMPORTED_MODULE_9_fastclick__","Quasar","VTooltip","toRoute"],"mappings":"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","file":"js/vendor.js","sourcesContent":["webpackJsonp([22],[\n/* 0 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export QAjaxBar */\n/* unused harmony export QAlert */\n/* unused harmony export QAutocomplete */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return QBtn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return QCard; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return QCardTitle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return QCardMain; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return QCardActions; });\n/* unused harmony export QCardMedia */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return QCardSeparator; });\n/* unused harmony export QCarousel */\n/* unused harmony export QChatMessage */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return QCheckbox; });\n/* unused harmony export QChip */\n/* unused harmony export QChipsInput */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return QCollapsible; });\n/* unused harmony export QContextMenu */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return QDataTable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return QDatetime; });\n/* unused harmony export QDatetimeRange */\n/* unused harmony export QInlineDatetime */\n/* unused harmony export QFab */\n/* unused harmony export QFabAction */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return QField; });\n/* unused harmony export QFieldReset */\n/* unused harmony export QGallery */\n/* unused harmony export QGalleryCarousel */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return QIcon; });\n/* unused harmony export QInfiniteScroll */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return QInnerLoading; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return QInput; });\n/* unused harmony export QInputFrame */\n/* unused harmony export QKnob */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"x\", function() { return QLayout; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return QFixedPosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"D\", function() { return QSideLink; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return QItem; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"u\", function() { return QItemSeparator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return QItemMain; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"v\", function() { return QItemSide; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"w\", function() { return QItemTile; });\n/* unused harmony export QItemWrapper */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"y\", function() { return QList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"z\", function() { return QListHeader; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"A\", function() { return QModal; });\n/* unused harmony export QModalLayout */\n/* unused harmony export QResizeObservable */\n/* unused harmony export QScrollObservable */\n/* unused harmony export QWindowResizeObservable */\n/* unused harmony export QOptionGroup */\n/* unused harmony export QPagination */\n/* unused harmony export QParallax */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"B\", function() { return QPopover; });\n/* unused harmony export QProgress */\n/* unused harmony export QPullToRefresh */\n/* unused harmony export QRadio */\n/* unused harmony export QRange */\n/* unused harmony export QRating */\n/* unused harmony export QScrollArea */\n/* unused harmony export QSearch */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"C\", function() { return QSelect; });\n/* unused harmony export QDialogSelect */\n/* unused harmony export QSlideTransition */\n/* unused harmony export QSlider */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"E\", function() { return QSpinner; });\n/* unused harmony export QSpinnerAudio */\n/* unused harmony export QSpinnerBall */\n/* unused harmony export QSpinnerBars */\n/* unused harmony export QSpinnerCircles */\n/* unused harmony export QSpinnerComment */\n/* unused harmony export QSpinnerCube */\n/* unused harmony export QSpinnerDots */\n/* unused harmony export QSpinnerFacebook */\n/* unused harmony export QSpinnerGears */\n/* unused harmony export QSpinnerGrid */\n/* unused harmony export QSpinnerHearts */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"F\", function() { return hourglass; });\n/* unused harmony export QSpinnerInfinity */\n/* unused harmony export QSpinnerIos */\n/* unused harmony export QSpinnerMat */\n/* unused harmony export QSpinnerOval */\n/* unused harmony export QSpinnerPie */\n/* unused harmony export QSpinnerPuff */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"G\", function() { return radio; });\n/* unused harmony export QSpinnerRings */\n/* unused harmony export QSpinnerTail */\n/* unused harmony export QStep */\n/* unused harmony export QStepper */\n/* unused harmony export QStepperNavigation */\n/* unused harmony export QRouteTab */\n/* unused harmony export QTab */\n/* unused harmony export QTabPane */\n/* unused harmony export QTabs */\n/* unused harmony export QToggle */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"H\", function() { return QToolbar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"I\", function() { return QToolbarTitle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"J\", function() { return QTooltip; });\n/* unused harmony export QTransition */\n/* unused harmony export QTree */\n/* unused harmony export QUploader */\n/* unused harmony export QVideo */\n/* unused harmony export BackToTop */\n/* unused harmony export GoBack */\n/* unused harmony export Move */\n/* unused harmony export Ripple */\n/* unused harmony export ScrollFire */\n/* unused harmony export Scroll */\n/* unused harmony export TouchHold */\n/* unused harmony export TouchPan */\n/* unused harmony export TouchSwipe */\n/* unused harmony export AddressbarColor */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Alert; });\n/* unused harmony export AppFullscreen */\n/* unused harmony export AppVisibility */\n/* unused harmony export Cookies */\n/* unused harmony export Events */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return Platform; });\n/* unused harmony export LocalStorage */\n/* unused harmony export SessionStorage */\n/* unused harmony export ActionSheet */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Dialog; });\n/* unused harmony export Loading */\n/* unused harmony export Toast */\n/* unused harmony export animate */\n/* unused harmony export clone */\n/* unused harmony export colors */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"K\", function() { return date; });\n/* unused harmony export debounce */\n/* unused harmony export frameDebounce */\n/* unused harmony export dom */\n/* unused harmony export easing */\n/* unused harmony export event */\n/* unused harmony export extend */\n/* unused harmony export filter */\n/* unused harmony export format */\n/* unused harmony export noop */\n/* unused harmony export openURL */\n/* unused harmony export scroll */\n/* unused harmony export throttle */\n/* unused harmony export uid */\n/*!\n * Quasar Framework v0.14.6\n * (c) 2016-present Razvan Stoenescu\n * Released under the MIT License.\n */\n/* eslint-disable no-useless-escape */\n/* eslint-disable no-mixed-operators */\n\nfunction getUserAgent () {\n return (navigator.userAgent || navigator.vendor || window.opera).toLowerCase()\n}\n\nfunction getMatch (userAgent, platformMatch) {\n var match = /(edge)\\/([\\w.]+)/.exec(userAgent) ||\n /(opr)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(vivaldi)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(chrome)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(iemobile)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(version)(applewebkit)[\\/]([\\w.]+).*(safari)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(webkit)[\\/]([\\w.]+).*(version)[\\/]([\\w.]+).*(safari)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(webkit)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(opera)(?:.*version|)[\\/]([\\w.]+)/.exec(userAgent) ||\n /(msie) ([\\w.]+)/.exec(userAgent) ||\n userAgent.indexOf('trident') >= 0 && /(rv)(?::| )([\\w.]+)/.exec(userAgent) ||\n userAgent.indexOf('compatible') < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(userAgent) ||\n [];\n\n return {\n browser: match[5] || match[3] || match[1] || '',\n version: match[2] || match[4] || '0',\n versionNumber: match[4] || match[2] || '0',\n platform: platformMatch[0] || ''\n }\n}\n\nfunction getPlatformMatch (userAgent) {\n return /(ipad)/.exec(userAgent) ||\n /(ipod)/.exec(userAgent) ||\n /(windows phone)/.exec(userAgent) ||\n /(iphone)/.exec(userAgent) ||\n /(kindle)/.exec(userAgent) ||\n /(silk)/.exec(userAgent) ||\n /(android)/.exec(userAgent) ||\n /(win)/.exec(userAgent) ||\n /(mac)/.exec(userAgent) ||\n /(linux)/.exec(userAgent) ||\n /(cros)/.exec(userAgent) ||\n /(playbook)/.exec(userAgent) ||\n /(bb)/.exec(userAgent) ||\n /(blackberry)/.exec(userAgent) ||\n []\n}\n\nfunction getPlatform () {\n var\n userAgent = getUserAgent(),\n platformMatch = getPlatformMatch(userAgent),\n matched = getMatch(userAgent, platformMatch),\n browser = {};\n\n if (matched.browser) {\n browser[matched.browser] = true;\n browser.version = matched.version;\n browser.versionNumber = parseInt(matched.versionNumber, 10);\n }\n\n if (matched.platform) {\n browser[matched.platform] = true;\n }\n\n // These are all considered mobile platforms, meaning they run a mobile browser\n if (browser.android || browser.bb || browser.blackberry || browser.ipad || browser.iphone ||\n browser.ipod || browser.kindle || browser.playbook || browser.silk || browser['windows phone']) {\n browser.mobile = true;\n }\n\n // Set iOS if on iPod, iPad or iPhone\n if (browser.ipod || browser.ipad || browser.iphone) {\n browser.ios = true;\n }\n\n if (browser['windows phone']) {\n browser.winphone = true;\n delete browser['windows phone'];\n }\n\n // These are all considered desktop platforms, meaning they run a desktop browser\n if (browser.cros || browser.mac || browser.linux || browser.win) {\n browser.desktop = true;\n }\n\n // Chrome, Opera 15+, Vivaldi and Safari are webkit based browsers\n if (browser.chrome || browser.opr || browser.safari || browser.vivaldi) {\n browser.webkit = true;\n }\n\n // IE11 has a new token so we will assign it msie to avoid breaking changes\n if (browser.rv || browser.iemobile) {\n matched.browser = 'ie';\n browser.ie = true;\n }\n\n // Edge is officially known as Microsoft Edge, so rewrite the key to match\n if (browser.edge) {\n matched.browser = 'edge';\n browser.edge = true;\n }\n\n // Blackberry browsers are marked as Safari on BlackBerry\n if (browser.safari && browser.blackberry || browser.bb) {\n matched.browser = 'blackberry';\n browser.blackberry = true;\n }\n\n // Playbook browsers are marked as Safari on Playbook\n if (browser.safari && browser.playbook) {\n matched.browser = 'playbook';\n browser.playbook = true;\n }\n\n // Opera 15+ are identified as opr\n if (browser.opr) {\n matched.browser = 'opera';\n browser.opera = true;\n }\n\n // Stock Android browsers are marked as Safari on Android.\n if (browser.safari && browser.android) {\n matched.browser = 'android';\n browser.android = true;\n }\n\n // Kindle browsers are marked as Safari on Kindle\n if (browser.safari && browser.kindle) {\n matched.browser = 'kindle';\n browser.kindle = true;\n }\n\n // Kindle Silk browsers are marked as Safari on Kindle\n if (browser.safari && browser.silk) {\n matched.browser = 'silk';\n browser.silk = true;\n }\n\n if (browser.vivaldi) {\n matched.browser = 'vivaldi';\n browser.vivaldi = true;\n }\n\n // Assign the name and platform variable\n browser.name = matched.browser;\n browser.platform = matched.platform;\n\n if (window && window.process && window.process.versions && window.process.versions.electron) {\n browser.electron = true;\n }\n else if (document.location.href.indexOf('chrome-extension://') === 0) {\n browser.chromeExt = true;\n }\n else if (window._cordovaNative || document.location.href.indexOf('http') !== 0) {\n browser.cordova = true;\n }\n\n return browser\n}\n\nvar Platform = {\n is: getPlatform(),\n has: {\n touch: (function () { return !!('ontouchstart' in document.documentElement) || window.navigator.msMaxTouchPoints > 0; })()\n },\n within: {\n iframe: window.self !== window.top\n }\n};\n\nPlatform.has.popstate = !Platform.within.iframe && !Platform.is.electron;\n\nvar bus;\n\nfunction installEvents (_Vue) {\n bus = new _Vue();\n return bus\n}\n\nvar Events = {\n $on: function $on () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n bus && bus.$on.apply(bus, args); },\n $once: function $once () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n bus && bus.$once.apply(bus, args); },\n $emit: function $emit () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n bus && bus.$emit.apply(bus, args); },\n $off: function $off () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n bus && bus.$off.apply(bus, args); }\n};\n\nfunction offset (el) {\n if (el === window) {\n return {top: 0, left: 0}\n }\n var ref = el.getBoundingClientRect();\n var top = ref.top;\n var left = ref.left;\n\n return {top: top, left: left}\n}\n\nfunction style (el, property) {\n return window.getComputedStyle(el).getPropertyValue(property)\n}\n\nfunction height (el) {\n if (el === window) {\n return viewport().height\n }\n return parseFloat(style(el, 'height'))\n}\n\nfunction width (el) {\n if (el === window) {\n return viewport().width\n }\n return parseFloat(style(el, 'width'))\n}\n\nfunction css (element, css) {\n var style = element.style;\n\n Object.keys(css).forEach(function (prop) {\n style[prop] = css[prop];\n });\n}\n\nfunction viewport () {\n var\n e = window,\n a = 'inner';\n\n if (!('innerWidth' in window)) {\n a = 'client';\n e = document.documentElement || document.body;\n }\n\n return {\n width: e[a + 'Width'],\n height: e[a + 'Height']\n }\n}\n\nfunction ready (fn) {\n if (typeof fn !== 'function') {\n return\n }\n\n if (document.readyState === 'complete') {\n return fn()\n }\n\n document.addEventListener('DOMContentLoaded', fn, false);\n}\n\nvar prefix = ['-webkit-', '-moz-', '-ms-', '-o-'];\nfunction cssTransform (val) {\n var o = {transform: val};\n prefix.forEach(function (p) {\n o[p + 'transform'] = val;\n });\n return o\n}\n\n\nvar dom = Object.freeze({\n\toffset: offset,\n\tstyle: style,\n\theight: height,\n\twidth: width,\n\tcss: css,\n\tviewport: viewport,\n\tready: ready,\n\tcssTransform: cssTransform\n});\n\nfunction set (theme) {\n var currentTheme = current;\n current = theme;\n\n ready(function () {\n if (currentTheme) {\n document.body.classList.remove(current);\n }\n document.body.classList.add(theme);\n });\n}\n\nvar current;\n\nif (true) {\n set(\"mat\");\n}\n\n\nvar theme = Object.freeze({\n\tset: set,\n\tget current () { return current; }\n});\n\nvar version = \"0.14.6\";\n\nvar Vue;\n\nfunction setVue (_Vue) {\n Vue = _Vue;\n}\n\nvar install = function (_Vue, opts) {\n if ( opts === void 0 ) opts = {};\n\n if (this.installed) {\n return\n }\n this.installed = true;\n\n setVue(_Vue);\n\n if (opts.directives) {\n Object.keys(opts.directives).forEach(function (key) {\n var d = opts.directives[key];\n if (d.name !== undefined && !d.name.startsWith('q-')) {\n _Vue.directive(d.name, d);\n }\n });\n }\n if (opts.components) {\n Object.keys(opts.components).forEach(function (key) {\n var c = opts.components[key];\n if (c.name !== undefined && c.name.startsWith('q-')) {\n _Vue.component(c.name, c);\n }\n });\n }\n\n var events = installEvents(_Vue);\n\n _Vue.prototype.$q = {\n version: version,\n platform: Platform,\n theme: current,\n events: events\n };\n};\n\nvar start = function (cb) {\n if ( cb === void 0 ) cb = function () {};\n\n /*\n if on Cordova, but not on an iframe,\n like on Quasar Play app\n */\n if (!Platform.is.cordova || Platform.within.iframe) {\n cb();\n return\n }\n\n var tag = document.createElement('script');\n\n document.addEventListener('deviceready', function () {\n Vue.prototype.$cordova = cordova;\n cb();\n }, false);\n\n tag.type = 'text/javascript';\n document.body.appendChild(tag);\n tag.src = 'cordova.js';\n};\n\nvar units = ['B', 'kB', 'MB', 'GB', 'TB', 'PB'];\n\nfunction humanStorageSize (bytes) {\n var u = 0;\n\n while (Math.abs(bytes) >= 1024 && u < units.length - 1) {\n bytes /= 1024;\n ++u;\n }\n\n return ((bytes.toFixed(1)) + \" \" + (units[u]))\n}\n\nfunction capitalize (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nfunction between (v, min, max) {\n if (max <= min) {\n return min\n }\n return Math.min(max, Math.max(min, v))\n}\n\nfunction normalizeToInterval (v, min, max) {\n if (max <= min) {\n return min\n }\n\n var size = (max - min + 1);\n\n var index = v % size;\n if (index < min) {\n index = size + index;\n }\n\n return index\n}\n\nfunction pad (v, length, char) {\n if ( length === void 0 ) length = 2;\n if ( char === void 0 ) char = '0';\n\n var val = '' + v;\n return val.length >= length\n ? val\n : new Array(length - val.length + 1).join(char) + val\n}\n\n\nvar format = Object.freeze({\n\thumanStorageSize: humanStorageSize,\n\tcapitalize: capitalize,\n\tbetween: between,\n\tnormalizeToInterval: normalizeToInterval,\n\tpad: pad\n});\n\nvar xhr = XMLHttpRequest;\nvar send = xhr.prototype.send;\n\nfunction translate (ref) {\n var p = ref.p;\n var pos = ref.pos;\n var active = ref.active;\n var horiz = ref.horiz;\n var reverse = ref.reverse;\n\n var x = 1, y = 1;\n\n if (horiz) {\n if (reverse) { x = -1; }\n if (pos === 'bottom') { y = -1; }\n return cssTransform((\"translate3d(\" + (x * (p - 100)) + \"%, \" + (active ? 0 : y * -200) + \"%, 0)\"))\n }\n\n if (reverse) { y = -1; }\n if (pos === 'right') { x = -1; }\n return cssTransform((\"translate3d(\" + (active ? 0 : x * -200) + \"%, \" + (y * (p - 100)) + \"%, 0)\"))\n}\n\nfunction inc (p, amount) {\n if (typeof amount !== 'number') {\n if (p < 25) {\n amount = Math.random() * (5 - 3 + 1) + 3;\n }\n else if (p < 65) {\n amount = Math.random() * 3;\n }\n else if (p < 85) {\n amount = Math.random() * 2;\n }\n else if (p < 99) {\n amount = 0.5;\n }\n else {\n amount = 0;\n }\n }\n return between(p + amount, 0, 100)\n}\n\nfunction highjackAjax (startHandler, endHandler) {\n xhr.prototype.send = function () {\n var this$1 = this;\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n startHandler();\n\n this.addEventListener('abort', endHandler, false);\n this.addEventListener('readystatechange', function () {\n if (this$1.readyState === 4) {\n endHandler();\n }\n }, false);\n\n send.apply(this, args);\n };\n}\n\nfunction restoreAjax () {\n xhr.prototype.send = send;\n}\n\nvar QAjaxBar = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-loading-bar shadow-1\",class:[_vm.position, _vm.animate ? '' : 'no-transition'],style:(_vm.containerStyle)},[_c('div',{staticClass:\"q-loading-bar-inner\",class:(\"bg-\" + (_vm.color))})])},staticRenderFns: [],\n name: 'q-ajax-bar',\n props: {\n position: {\n type: String,\n default: 'top',\n validator: function validator (val) {\n return ['top', 'right', 'bottom', 'left'].includes(val)\n }\n },\n size: {\n type: String,\n default: '4px'\n },\n color: {\n type: String,\n default: 'red'\n },\n speed: {\n type: Number,\n default: 250\n },\n delay: {\n type: Number,\n default: 1000\n },\n reverse: Boolean\n },\n data: function data () {\n return {\n animate: false,\n active: false,\n progress: 0,\n calls: 0\n }\n },\n computed: {\n containerStyle: function containerStyle () {\n var o = translate({\n p: this.progress,\n pos: this.position,\n active: this.active,\n horiz: this.horizontal,\n reverse: this.reverse\n });\n o[this.sizeProp] = this.size;\n return o\n },\n horizontal: function horizontal () {\n return this.position === 'top' || this.position === 'bottom'\n },\n sizeProp: function sizeProp () {\n return this.horizontal ? 'height' : 'width'\n }\n },\n methods: {\n start: function start () {\n var this$1 = this;\n\n this.calls++;\n if (!this.active) {\n this.progress = 0;\n this.active = true;\n this.animate = false;\n this.$emit('start');\n this.timer = setTimeout(function () {\n this$1.animate = true;\n this$1.move();\n }, this.delay);\n }\n else if (this.closing) {\n this.closing = false;\n clearTimeout(this.timer);\n this.progress = 0;\n this.move();\n }\n },\n increment: function increment (amount) {\n if (this.active) {\n this.progress = inc(this.progress, amount);\n }\n },\n stop: function stop () {\n var this$1 = this;\n\n this.calls = Math.max(0, this.calls - 1);\n if (this.calls > 0) {\n return\n }\n\n clearTimeout(this.timer);\n\n if (!this.animate) {\n this.active = false;\n return\n }\n this.closing = true;\n this.progress = 100;\n this.$emit('stop');\n this.timer = setTimeout(function () {\n this$1.closing = false;\n this$1.active = false;\n }, 1050);\n },\n move: function move () {\n var this$1 = this;\n\n this.timer = setTimeout(function () {\n this$1.increment();\n this$1.move();\n }, this.speed);\n }\n },\n mounted: function mounted () {\n highjackAjax(this.start, this.stop);\n },\n beforeDestroy: function beforeDestroy () {\n clearTimeout(this.timer);\n restoreAjax();\n }\n};\n\nvar typeIcon = {\n positive: 'check_circle',\n negative: 'warning',\n info: 'info',\n warning: 'priority_high'\n};\n\nvar QIcon = {\n name: 'q-icon',\n functional: true,\n props: {\n name: String,\n mat: String,\n ios: String,\n color: String,\n size: String\n },\n render: function render (h, ctx) {\n var name, text;\n var\n prop = ctx.props,\n data = ctx.data,\n theme = ctx.parent.$q.theme,\n cls = ctx.data.staticClass,\n icon = prop.mat && theme === 'mat'\n ? prop.mat\n : (prop.ios && theme === 'ios' ? prop.ios : ctx.props.name);\n\n if (!icon) {\n name = '';\n }\n else if (icon.startsWith('fa-')) {\n name = \"fa \" + icon;\n }\n else if (icon.startsWith('bt-')) {\n name = \"bt \" + icon;\n }\n else if (icon.startsWith('ion-') || icon.startsWith('icon-')) {\n name = \"\" + icon;\n }\n else {\n name = 'material-icons';\n text = icon.replace(/ /g, '_');\n }\n\n data.staticClass = (cls ? cls + ' ' : '') + \"q-icon\" + (name.length ? (\" \" + name) : '') + (prop.color ? (\" text-\" + (prop.color)) : '');\n\n if (!data.hasOwnProperty('attrs')) {\n data.attrs = {};\n }\n data.attrs['aria-hidden'] = 'true';\n\n if (prop.size) {\n var style = \"font-size: \" + (prop.size) + \";\";\n data.style = data.style\n ? [data.style, style]\n : style;\n }\n\n return h('i', data, text ? [text, ctx.children] : [' ', ctx.children])\n }\n};\n\n/*\n * Also import the necessary CSS into the app.\n *\n * Example:\n * import 'quasar-extras/animate/bounceInLeft.css'\n */\n\nvar QTransition = {\n name: 'q-transition',\n functional: true,\n props: {\n name: String,\n enter: String,\n leave: String,\n group: Boolean\n },\n render: function render (h, ctx) {\n var\n prop = ctx.props,\n data = ctx.data;\n\n if (prop.name) {\n data.props = {\n name: prop.name\n };\n }\n else if (prop.enter && prop.leave) {\n data.props = {\n enterActiveClass: (\"animated \" + (prop.enter)),\n leaveActiveClass: (\"animated \" + (prop.leave))\n };\n }\n else {\n return ctx.children\n }\n\n return h((\"transition\" + (ctx.props.group ? '-group' : '')), data, ctx.children)\n }\n};\n\nvar QAlert = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-alert-container\",class:_vm.containerClass},[_c('q-transition',{attrs:{\"name\":_vm.name,\"enter\":_vm.enter,\"leave\":_vm.leave,\"duration\":_vm.duration,\"appear\":_vm.appear},on:{\"after-leave\":function($event){_vm.$emit('dismiss-end');}}},[(_vm.active)?_c('div',{staticClass:\"q-alert row no-wrap\",class:_vm.classes},[_c('div',{staticClass:\"q-alert-icon row col-auto flex-center\"},[_c('q-icon',{attrs:{\"name\":_vm.alertIcon}})],1),_vm._v(\" \"),_c('div',{staticClass:\"q-alert-content col self-center\"},[_vm._t(\"default\"),_vm._v(\" \"),(_vm.actions && _vm.actions.length)?_c('div',{staticClass:\"q-alert-actions row items-center\"},_vm._l((_vm.actions),function(btn){return _c('span',{key:btn.label,staticClass:\"uppercase\",domProps:{\"innerHTML\":_vm._s(btn.label)},on:{\"click\":function($event){_vm.dismiss(btn.handler);}}})})):_vm._e()],2),_vm._v(\" \"),(_vm.dismissible)?_c('div',{staticClass:\"q-alert-close self-top col-auto\"},[_c('q-icon',{staticClass:\"cursor-pointer\",attrs:{\"name\":\"close\"},on:{\"click\":_vm.dismiss}})],1):_vm._e()]):_vm._e()])],1)},staticRenderFns: [],\n name: 'q-alert',\n components: {\n QIcon: QIcon,\n QTransition: QTransition\n },\n props: {\n value: Boolean,\n duration: Number,\n name: String,\n enter: String,\n leave: String,\n appear: Boolean,\n color: {\n type: String,\n default: 'negative'\n },\n inline: Boolean,\n icon: String,\n dismissible: Boolean,\n actions: Array,\n position: {\n type: String,\n validator: function (v) { return [\n 'top', 'top-right', 'right', 'bottom-right',\n 'bottom', 'bottom-left', 'left', 'top-left',\n 'top-center', 'bottom-center'\n ].includes(v); }\n }\n },\n data: function data () {\n return {\n active: true\n }\n },\n watch: {\n value: function value (v) {\n if (v !== this.active) {\n this.active = v;\n if (!v) {\n this.$emit('dismiss');\n }\n }\n }\n },\n computed: {\n alertIcon: function alertIcon () {\n return this.icon || typeIcon[this.color] || typeIcon.warning\n },\n containerClass: function containerClass () {\n var cls = [];\n var pos = this.position;\n\n if (pos) {\n if (pos.indexOf('center') > -1) {\n cls.push('row justify-center');\n pos = pos.split('-')[0];\n }\n cls.push((\"fixed-\" + pos + (pos === 'left' || pos === 'right' ? ' row items-center' : '') + \" z-alert\"));\n }\n if (this.inline) {\n cls.push('inline-block');\n }\n return cls\n },\n classes: function classes () {\n return (\"shadow-2 bg-\" + (this.color))\n }\n },\n methods: {\n dismiss: function dismiss (fn) {\n this.active = false;\n this.$emit('input', false);\n this.$emit('dismiss');\n if (typeof fn === 'function') {\n fn();\n }\n }\n }\n};\n\nvar filter = function (terms, ref) {\n var field = ref.field;\n var list = ref.list;\n\n var token = terms.toLowerCase();\n return list.filter(function (item) { return ('' + item[field]).toLowerCase().startsWith(token); })\n};\n\nfunction s4 () {\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1)\n}\n\nvar uid = function () {\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' +\n s4() + '-' + s4() + s4() + s4()\n};\n\nvar marginal = {\n type: Array,\n validator: function (v) { return v.every(function (i) { return 'icon' in i; }); }\n};\n\nvar align = {\n left: 'start',\n center: 'center',\n right: 'end'\n};\n\nvar FrameMixin = {\n components: {\n QIcon: QIcon\n },\n props: {\n prefix: String,\n suffix: String,\n stackLabel: String,\n floatLabel: String,\n error: Boolean,\n disable: Boolean,\n color: {\n type: String,\n default: 'primary'\n },\n dark: Boolean,\n before: marginal,\n after: marginal,\n inverted: Boolean,\n align: {\n type: String,\n default: 'left',\n validator: function (v) { return ['left', 'center', 'right'].includes(v); }\n }\n },\n computed: {\n labelIsAbove: function labelIsAbove () {\n return this.focused || this.length || this.additionalLength || this.stackLabel\n },\n alignClass: function alignClass () {\n return (\"justify-\" + (align[this.align]))\n }\n }\n};\n\nvar InputMixin = {\n props: {\n autofocus: Boolean,\n name: String,\n maxLength: [Number, String],\n maxHeight: Number,\n placeholder: String,\n loading: Boolean\n },\n computed: {\n inputPlaceholder: function inputPlaceholder () {\n if ((!this.floatLabel && !this.stackLabel) || this.labelIsAbove) {\n return this.placeholder\n }\n }\n },\n methods: {\n focus: function focus () {\n if (!this.disable) {\n this.$refs.input.focus();\n }\n },\n blur: function blur () {\n this.$refs.input.blur();\n },\n select: function select () {\n this.$refs.input.select();\n },\n\n __onFocus: function __onFocus (e) {\n this.focused = true;\n this.$emit('focus', e);\n },\n __onBlur: function __onBlur (e) {\n this.focused = false;\n this.$emit('blur', e);\n },\n __onKeydown: function __onKeydown (e) {\n this.$emit('keydown', e);\n },\n __onKeyup: function __onKeyup (e) {\n this.$emit('keyup', e);\n },\n __onClick: function __onClick (e) {\n this.focus();\n this.$emit('click', e);\n }\n },\n mounted: function mounted () {\n var this$1 = this;\n\n this.$nextTick(function () {\n var input = this$1.$refs.input;\n if (this$1.autofocus && input) {\n input.focus();\n }\n });\n }\n};\n\nvar inputTypes = [\n 'text', 'textarea', 'email',\n 'tel', 'file', 'number',\n 'password', 'url'\n];\n\nfunction debounce (fn, wait, immediate) {\n if ( wait === void 0 ) wait = 250;\n\n var timeout;\n return function () {\n var this$1 = this;\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var later = function () {\n timeout = null;\n if (!immediate) {\n fn.apply(this$1, args);\n }\n };\n\n clearTimeout(timeout);\n if (immediate && !timeout) {\n fn.apply(this, args);\n }\n timeout = setTimeout(later, wait);\n }\n}\n\nfunction frameDebounce (fn) {\n var wait = false;\n\n return function () {\n var this$1 = this;\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (wait) { return }\n\n wait = true;\n window.requestAnimationFrame(function () {\n fn.apply(this$1, args);\n wait = false;\n });\n }\n}\n\nfunction getEvent (e) {\n return e || window.event\n}\n\nfunction rightClick (e) {\n e = getEvent(e);\n\n if (e.which) {\n return e.which === 3\n }\n if (e.button) {\n return e.button === 2\n }\n\n return false\n}\n\nfunction getEventKey (e) {\n e = getEvent(e);\n return e.which || e.keyCode\n}\n\nfunction position (e) {\n var posx, posy;\n e = getEvent(e);\n\n if (e.touches && e.touches[0]) {\n e = e.touches[0];\n }\n else if (e.changedTouches && e.changedTouches[0]) {\n e = e.changedTouches[0];\n }\n\n if (e.clientX || e.clientY) {\n posx = e.clientX;\n posy = e.clientY;\n }\n else if (e.pageX || e.pageY) {\n posx = e.pageX - document.body.scrollLeft - document.documentElement.scrollLeft;\n posy = e.pageY - document.body.scrollTop - document.documentElement.scrollTop;\n }\n\n return {\n top: posy,\n left: posx\n }\n}\n\nfunction targetElement (e) {\n var target;\n e = getEvent(e);\n\n if (e.target) {\n target = e.target;\n }\n else if (e.srcElement) {\n target = e.srcElement;\n }\n\n // defeat Safari bug\n if (target.nodeType === 3) {\n target = target.parentNode;\n }\n\n return target\n}\n\n// Reasonable defaults\nvar PIXEL_STEP = 10;\nvar LINE_HEIGHT = 40;\nvar PAGE_HEIGHT = 800;\n\nfunction getMouseWheelDistance (e) {\n var\n sX = 0, sY = 0, // spinX, spinY\n pX = 0, pY = 0; // pixelX, pixelY\n\n // Legacy\n if ('detail' in e) { sY = e.detail; }\n if ('wheelDelta' in e) { sY = -e.wheelDelta / 120; }\n if ('wheelDeltaY' in e) { sY = -e.wheelDeltaY / 120; }\n if ('wheelDeltaX' in e) { sX = -e.wheelDeltaX / 120; }\n\n // side scrolling on FF with DOMMouseScroll\n if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {\n sX = sY;\n sY = 0;\n }\n\n pX = sX * PIXEL_STEP;\n pY = sY * PIXEL_STEP;\n\n if ('deltaY' in e) { pY = e.deltaY; }\n if ('deltaX' in e) { pX = e.deltaX; }\n\n if ((pX || pY) && e.deltaMode) {\n if (e.deltaMode === 1) { // delta in LINE units\n pX *= LINE_HEIGHT;\n pY *= LINE_HEIGHT;\n }\n else { // delta in PAGE units\n pX *= PAGE_HEIGHT;\n pY *= PAGE_HEIGHT;\n }\n }\n\n // Fall-back if spin cannot be determined\n if (pX && !sX) { sX = (pX < 1) ? -1 : 1; }\n if (pY && !sY) { sY = (pY < 1) ? -1 : 1; }\n\n /*\n * spinX -- normalized spin speed (use for zoom) - x plane\n * spinY -- \" - y plane\n * pixelX -- normalized distance (to pixels) - x plane\n * pixelY -- \" - y plane\n */\n return {\n spinX: sX,\n spinY: sY,\n pixelX: pX,\n pixelY: pY\n }\n}\n\n\nvar event = Object.freeze({\n\trightClick: rightClick,\n\tgetEventKey: getEventKey,\n\tposition: position,\n\ttargetElement: targetElement,\n\tgetMouseWheelDistance: getMouseWheelDistance\n});\n\nfunction showRipple (evt, el, stopPropagation) {\n if (stopPropagation) {\n evt.stopPropagation();\n }\n\n var\n container = document.createElement('span'),\n animNode = document.createElement('span');\n\n container.appendChild(animNode);\n container.className = 'q-ripple-container';\n\n var size = el.clientWidth > el.clientHeight ? el.clientWidth : el.clientHeight;\n size = (size * 2) + \"px\";\n animNode.className = 'q-ripple-animation';\n css(animNode, { width: size, height: size });\n\n el.appendChild(container);\n\n var\n offset$$1 = el.getBoundingClientRect(),\n pos = position(evt),\n x = pos.left - offset$$1.left,\n y = pos.top - offset$$1.top;\n\n animNode.classList.add('q-ripple-animation-enter', 'q-ripple-animation-visible');\n css(animNode, cssTransform((\"translate(-50%, -50%) translate(\" + x + \"px, \" + y + \"px) scale(.001)\")));\n\n setTimeout(function () {\n animNode.classList.remove('q-ripple-animation-enter');\n css(animNode, cssTransform((\"translate(-50%, -50%) translate(\" + x + \"px, \" + y + \"px)\")));\n setTimeout(function () {\n animNode.classList.remove('q-ripple-animation-visible');\n setTimeout(function () {\n animNode.parentNode.remove();\n }, 300);\n }, 400);\n }, 25);\n}\n\nfunction shouldAbort (ref) {\n var mat = ref.mat;\n var ios = ref.ios;\n\n return (\n (mat && current !== 'mat') ||\n (ios && current !== 'ios')\n )\n}\n\nvar Ripple = {\n name: 'ripple',\n inserted: function inserted (el, ref) {\n var value = ref.value;\n var modifiers = ref.modifiers;\n\n if (shouldAbort(modifiers)) {\n return\n }\n\n var ctx = {\n enabled: value !== false,\n click: function click (evt) {\n if (ctx.enabled) {\n showRipple(evt, el, modifiers.stop);\n }\n }\n };\n\n el.__qripple = ctx;\n el.addEventListener('click', ctx.click, false);\n },\n update: function update (el, ref) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n if (el.__qripple && value !== oldValue) {\n el.__qripple.enabled = value !== false;\n }\n },\n unbind: function unbind (el, ref) {\n var modifiers = ref.modifiers;\n\n if (shouldAbort(modifiers)) {\n return\n }\n\n var ctx = el.__qripple;\n el.removeEventListener('click', ctx.click, false);\n delete el.__qripple;\n }\n};\n\nvar QInputFrame = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"ripple\",rawName:\"v-ripple.mat\",value:(_vm.inverted),expression:\"inverted\",modifiers:{\"mat\":true}}],staticClass:\"q-if row no-wrap items-center relative-position\",class:_vm.classes,attrs:{\"tabindex\":_vm.focusable && !_vm.disable ? 0 : null},on:{\"click\":_vm.__onClick}},[(_vm.before)?_vm._l((_vm.before),function(item){return _c('q-icon',{key:item.icon,staticClass:\"q-if-control q-if-control-before\",class:{hidden: _vm.__additionalHidden(item, _vm.hasError, _vm.length)},attrs:{\"name\":item.icon},on:{\"click\":function($event){(item.handler || _vm.__defaultHandler)($event);}}})}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"q-if-inner col row no-wrap items-center relative-position\"},[(_vm.label)?_c('div',{staticClass:\"q-if-label ellipsis full-width absolute self-start\",class:{'q-if-label-above': _vm.labelIsAbove},domProps:{\"innerHTML\":_vm._s(_vm.label)}}):_vm._e(),_vm._v(\" \"),(_vm.prefix)?_c('span',{staticClass:\"q-if-addon q-if-addon-left\",class:_vm.addonClass,domProps:{\"innerHTML\":_vm._s(_vm.prefix)}}):_vm._e(),_vm._v(\" \"),_vm._t(\"default\"),_vm._v(\" \"),(_vm.suffix)?_c('span',{staticClass:\"q-if-addon q-if-addon-right\",class:_vm.addonClass,domProps:{\"innerHTML\":_vm._s(_vm.suffix)}}):_vm._e()],2),_vm._v(\" \"),_vm._t(\"after\"),_vm._v(\" \"),(_vm.after)?_vm._l((_vm.after),function(item){return _c('q-icon',{key:item.icon,staticClass:\"q-if-control\",class:{hidden: _vm.__additionalHidden(item, _vm.hasError, _vm.length)},attrs:{\"name\":item.icon},on:{\"click\":function($event){(item.handler || _vm.__defaultHandler)($event);}}})}):_vm._e()],2)},staticRenderFns: [],\n name: 'q-input-frame',\n mixins: [FrameMixin],\n directives: {\n Ripple: Ripple\n },\n props: {\n topAddons: Boolean,\n focused: Boolean,\n length: Number,\n focusable: Boolean,\n additionalLength: Boolean\n },\n data: function data () {\n return {\n field: {}\n }\n },\n inject: {\n __field: { default: null }\n },\n computed: {\n label: function label () {\n return this.stackLabel || this.floatLabel\n },\n addonClass: function addonClass () {\n return {\n 'q-if-addon-visible': this.labelIsAbove,\n 'self-start': this.topAddons\n }\n },\n classes: function classes () {\n var cls = [{\n 'q-if-has-label': this.label,\n 'q-if-focused': this.focused,\n 'q-if-error': this.hasError,\n 'q-if-disabled': this.disable,\n 'q-if-focusable': this.focusable && !this.disable,\n 'q-if-inverted': this.inverted,\n 'q-if-dark': this.dark || this.inverted\n }];\n\n var color = this.hasError ? 'negative' : this.color;\n if (this.inverted) {\n cls.push((\"bg-\" + color));\n cls.push(\"text-white\");\n }\n else {\n cls.push((\"text-\" + color));\n }\n return cls\n },\n hasError: function hasError () {\n return !!(this.field.error || this.error)\n }\n },\n methods: {\n __onClick: function __onClick (e) {\n this.$emit('click', e);\n },\n __additionalHidden: function __additionalHidden (item, hasError, length) {\n if (item.condition !== void 0) {\n return item.condition === false\n }\n return (\n (item.content !== void 0 && !item.content === (length > 0)) ||\n (item.error !== void 0 && !item.error === hasError)\n )\n },\n __defaultHandler: function __defaultHandler () {}\n },\n created: function created () {\n if (this.__field) {\n this.field = this.__field;\n this.field.__registerInput(this);\n }\n },\n beforeDestroy: function beforeDestroy () {\n if (this.__field) {\n this.field.__unregisterInput();\n }\n }\n};\n\nfunction getSize (el) {\n return {\n width: el.offsetWidth,\n height: el.offsetHeight\n }\n}\n\nvar QResizeObservable = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"absolute-full overflow-hidden invisible\",staticStyle:{\"z-index\":\"-1\"}},[_c('div',{ref:\"expand\",staticClass:\"absolute-full overflow-hidden invisible\",on:{\"scroll\":_vm.onResize}},[_c('div',{ref:\"expandChild\",staticClass:\"absolute-top-left transition-0\",staticStyle:{\"width\":\"100000px\",\"height\":\"100000px\"}})]),_vm._v(\" \"),_c('div',{ref:\"shrink\",staticClass:\"absolute-full overflow-hidden invisible\",on:{\"scroll\":_vm.onResize}},[_c('div',{staticClass:\"absolute-top-left transition-0\",staticStyle:{\"width\":\"200%\",\"height\":\"200%\"}})])])},staticRenderFns: [],\n name: 'q-resize-observable',\n methods: {\n onResize: function onResize () {\n var size = getSize(this.$el.parentNode);\n\n if (size.width === this.size.width && size.height === this.size.height) {\n return\n }\n\n if (!this.timer) {\n this.timer = window.requestAnimationFrame(this.emit);\n }\n\n this.size = size;\n },\n emit: function emit () {\n this.timer = null;\n this.reset();\n this.$emit('resize', this.size);\n },\n reset: function reset () {\n var ref = this.$refs;\n if (ref.expand) {\n ref.expand.scrollLeft = 100000;\n ref.expand.scrollTop = 100000;\n }\n if (ref.shrink) {\n ref.shrink.scrollLeft = 100000;\n ref.shrink.scrollTop = 100000;\n }\n }\n },\n mounted: function mounted () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.size = {};\n this$1.onResize();\n });\n },\n beforeDestroy: function beforeDestroy () {\n window.cancelAnimationFrame(this.timer);\n this.$emit('resize', {width: 0, height: 0});\n }\n};\n\nfunction getScrollTarget (el) {\n return el.closest('.scroll') || window\n}\n\nfunction getScrollHeight (el) {\n return (el === window ? document.body : el).scrollHeight\n}\n\nfunction getScrollPosition (scrollTarget) {\n if (scrollTarget === window) {\n return window.pageYOffset || window.scrollY || document.body.scrollTop || 0\n }\n return scrollTarget.scrollTop\n}\n\nfunction animScrollTo (el, to, duration) {\n if (duration <= 0) {\n return\n }\n\n var pos = getScrollPosition(el);\n\n window.requestAnimationFrame(function () {\n setScroll(el, pos + (to - pos) / duration * 16);\n if (el.scrollTop !== to) {\n animScrollTo(el, to, duration - 16);\n }\n });\n}\n\nfunction setScroll (scrollTarget, offset$$1) {\n if (scrollTarget === window) {\n document.documentElement.scrollTop = offset$$1;\n document.body.scrollTop = offset$$1;\n return\n }\n scrollTarget.scrollTop = offset$$1;\n}\n\nfunction setScrollPosition (scrollTarget, offset$$1, duration) {\n if (duration) {\n animScrollTo(scrollTarget, offset$$1, duration);\n return\n }\n setScroll(scrollTarget, offset$$1);\n}\n\nvar size;\nfunction getScrollbarWidth () {\n if (size !== undefined) {\n return size\n }\n\n var\n inner = document.createElement('p'),\n outer = document.createElement('div');\n\n css(inner, {\n width: '100%',\n height: '200px'\n });\n css(outer, {\n position: 'absolute',\n top: '0px',\n left: '0px',\n visibility: 'hidden',\n width: '200px',\n height: '150px',\n overflow: 'hidden'\n });\n\n outer.appendChild(inner);\n\n document.body.appendChild(outer);\n\n var w1 = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n var w2 = inner.offsetWidth;\n\n if (w1 === w2) {\n w2 = outer.clientWidth;\n }\n\n document.body.removeChild(outer);\n size = w1 - w2;\n\n return size\n}\n\n\nvar scroll = Object.freeze({\n\tgetScrollTarget: getScrollTarget,\n\tgetScrollHeight: getScrollHeight,\n\tgetScrollPosition: getScrollPosition,\n\tsetScrollPosition: setScrollPosition,\n\tgetScrollbarWidth: getScrollbarWidth\n});\n\nvar QScrollObservable = {\n name: 'q-scroll-observable',\n render: function render () {},\n data: function data () {\n return {\n pos: 0,\n dir: 'down',\n dirChanged: false,\n dirChangePos: 0\n }\n },\n methods: {\n getPosition: function getPosition () {\n return {\n position: this.pos,\n direction: this.dir,\n directionChanged: this.dirChanged,\n inflexionPosition: this.dirChangePos\n }\n },\n trigger: function trigger () {\n if (!this.timer) {\n this.timer = window.requestAnimationFrame(this.emit);\n }\n },\n emit: function emit () {\n var\n pos = Math.max(0, getScrollPosition(this.target)),\n delta = pos - this.pos,\n dir = delta < 0 ? 'up' : 'down';\n\n this.dirChanged = this.dir !== dir;\n if (this.dirChanged) {\n this.dir = dir;\n this.dirChangePos = this.pos;\n }\n\n this.timer = null;\n this.pos = pos;\n this.$emit('scroll', this.getPosition());\n }\n },\n mounted: function mounted () {\n this.target = getScrollTarget(this.$el.parentNode);\n this.target.addEventListener('scroll', this.trigger);\n this.trigger();\n },\n beforeDestroy: function beforeDestroy () {\n this.target.removeEventListener('scroll', this.trigger);\n }\n};\n\nvar QWindowResizeObservable = {\n name: 'q-window-resize-observable',\n render: function render () {},\n methods: {\n trigger: function trigger () {\n if (!this.timer) {\n this.timer = window.requestAnimationFrame(this.emit);\n }\n },\n emit: function emit () {\n this.timer = null;\n this.$emit('resize', viewport());\n }\n },\n mounted: function mounted () {\n this.emit();\n window.addEventListener('resize', this.trigger);\n },\n beforeDestroy: function beforeDestroy () {\n window.removeEventListener('resize', this.trigger);\n }\n};\n\nvar mixin = {\n props: {\n color: String,\n size: {\n type: [Number, String],\n default: '1rem'\n }\n },\n computed: {\n classes: function classes () {\n if (this.color) {\n return (\"text-\" + (this.color))\n }\n }\n }\n};\n\nvar QSpinnerIos = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"width\":_vm.size,\"height\":_vm.size,\"stroke\":\"currentColor\",\"fill\":\"currentColor\",\"viewBox\":\"0 0 64 64\"}},[_c('g',{attrs:{\"stroke-width\":\"4\",\"stroke-linecap\":\"round\"}},[_c('line',{attrs:{\"y1\":\"17\",\"y2\":\"29\",\"transform\":\"translate(32,32) rotate(180)\"}},[_c('animate',{attrs:{\"attributeName\":\"stroke-opacity\",\"dur\":\"750ms\",\"values\":\"1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0;1\",\"repeatCount\":\"indefinite\"}})]),_c('line',{attrs:{\"y1\":\"17\",\"y2\":\"29\",\"transform\":\"translate(32,32) rotate(210)\"}},[_c('animate',{attrs:{\"attributeName\":\"stroke-opacity\",\"dur\":\"750ms\",\"values\":\"0;1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0\",\"repeatCount\":\"indefinite\"}})]),_c('line',{attrs:{\"y1\":\"17\",\"y2\":\"29\",\"transform\":\"translate(32,32) rotate(240)\"}},[_c('animate',{attrs:{\"attributeName\":\"stroke-opacity\",\"dur\":\"750ms\",\"values\":\".1;0;1;.85;.7;.65;.55;.45;.35;.25;.15;.1\",\"repeatCount\":\"indefinite\"}})]),_c('line',{attrs:{\"y1\":\"17\",\"y2\":\"29\",\"transform\":\"translate(32,32) rotate(270)\"}},[_c('animate',{attrs:{\"attributeName\":\"stroke-opacity\",\"dur\":\"750ms\",\"values\":\".15;.1;0;1;.85;.7;.65;.55;.45;.35;.25;.15\",\"repeatCount\":\"indefinite\"}})]),_c('line',{attrs:{\"y1\":\"17\",\"y2\":\"29\",\"transform\":\"translate(32,32) rotate(300)\"}},[_c('animate',{attrs:{\"attributeName\":\"stroke-opacity\",\"dur\":\"750ms\",\"values\":\".25;.15;.1;0;1;.85;.7;.65;.55;.45;.35;.25\",\"repeatCount\":\"indefinite\"}})]),_c('line',{attrs:{\"y1\":\"17\",\"y2\":\"29\",\"transform\":\"translate(32,32) rotate(330)\"}},[_c('animate',{attrs:{\"attributeName\":\"stroke-opacity\",\"dur\":\"750ms\",\"values\":\".35;.25;.15;.1;0;1;.85;.7;.65;.55;.45;.35\",\"repeatCount\":\"indefinite\"}})]),_c('line',{attrs:{\"y1\":\"17\",\"y2\":\"29\",\"transform\":\"translate(32,32) rotate(0)\"}},[_c('animate',{attrs:{\"attributeName\":\"stroke-opacity\",\"dur\":\"750ms\",\"values\":\".45;.35;.25;.15;.1;0;1;.85;.7;.65;.55;.45\",\"repeatCount\":\"indefinite\"}})]),_c('line',{attrs:{\"y1\":\"17\",\"y2\":\"29\",\"transform\":\"translate(32,32) rotate(30)\"}},[_c('animate',{attrs:{\"attributeName\":\"stroke-opacity\",\"dur\":\"750ms\",\"values\":\".55;.45;.35;.25;.15;.1;0;1;.85;.7;.65;.55\",\"repeatCount\":\"indefinite\"}})]),_c('line',{attrs:{\"y1\":\"17\",\"y2\":\"29\",\"transform\":\"translate(32,32) rotate(60)\"}},[_c('animate',{attrs:{\"attributeName\":\"stroke-opacity\",\"dur\":\"750ms\",\"values\":\".65;.55;.45;.35;.25;.15;.1;0;1;.85;.7;.65\",\"repeatCount\":\"indefinite\"}})]),_c('line',{attrs:{\"y1\":\"17\",\"y2\":\"29\",\"transform\":\"translate(32,32) rotate(90)\"}},[_c('animate',{attrs:{\"attributeName\":\"stroke-opacity\",\"dur\":\"750ms\",\"values\":\".7;.65;.55;.45;.35;.25;.15;.1;0;1;.85;.7\",\"repeatCount\":\"indefinite\"}})]),_c('line',{attrs:{\"y1\":\"17\",\"y2\":\"29\",\"transform\":\"translate(32,32) rotate(120)\"}},[_c('animate',{attrs:{\"attributeName\":\"stroke-opacity\",\"dur\":\"750ms\",\"values\":\".85;.7;.65;.55;.45;.35;.25;.15;.1;0;1;.85\",\"repeatCount\":\"indefinite\"}})]),_c('line',{attrs:{\"y1\":\"17\",\"y2\":\"29\",\"transform\":\"translate(32,32) rotate(150)\"}},[_c('animate',{attrs:{\"attributeName\":\"stroke-opacity\",\"dur\":\"750ms\",\"values\":\"1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0;1\",\"repeatCount\":\"indefinite\"}})])])])},staticRenderFns: [],\n name: 'q-spinner-ios',\n mixins: [mixin]\n};\n\nvar QSpinnerMat = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner q-spinner-mat\",class:_vm.classes,attrs:{\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"25 25 50 50\"}},[_c('circle',{staticClass:\"path\",attrs:{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"20\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"3\",\"stroke-miterlimit\":\"10\"}})])},staticRenderFns: [],\n name: 'q-spinner-mat',\n mixins: [mixin]\n};\n\nvar QSpinner = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-spinner-' + _vm.name,{tag:\"component\",attrs:{\"size\":_vm.size,\"color\":_vm.color}})},staticRenderFns: [],\n name: 'q-spinner',\n mixins: [mixin],\n computed: {\n name: function name () {\n return current\n }\n },\n components: {\n QSpinnerIos: QSpinnerIos,\n QSpinnerMat: QSpinnerMat\n }\n};\n\nvar audio = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"fill\":\"currentColor\",\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 55 80\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('g',{attrs:{\"transform\":\"matrix(1 0 0 -1 0 80)\"}},[_c('rect',{attrs:{\"width\":\"10\",\"height\":\"20\",\"rx\":\"3\"}},[_c('animate',{attrs:{\"attributeName\":\"height\",\"begin\":\"0s\",\"dur\":\"4.3s\",\"values\":\"20;45;57;80;64;32;66;45;64;23;66;13;64;56;34;34;2;23;76;79;20\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('rect',{attrs:{\"x\":\"15\",\"width\":\"10\",\"height\":\"80\",\"rx\":\"3\"}},[_c('animate',{attrs:{\"attributeName\":\"height\",\"begin\":\"0s\",\"dur\":\"2s\",\"values\":\"80;55;33;5;75;23;73;33;12;14;60;80\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('rect',{attrs:{\"x\":\"30\",\"width\":\"10\",\"height\":\"50\",\"rx\":\"3\"}},[_c('animate',{attrs:{\"attributeName\":\"height\",\"begin\":\"0s\",\"dur\":\"1.4s\",\"values\":\"50;34;78;23;56;23;34;76;80;54;21;50\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('rect',{attrs:{\"x\":\"45\",\"width\":\"10\",\"height\":\"30\",\"rx\":\"3\"}},[_c('animate',{attrs:{\"attributeName\":\"height\",\"begin\":\"0s\",\"dur\":\"2s\",\"values\":\"30;45;13;80;56;72;45;76;34;23;67;30\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})])])])},staticRenderFns: [],\n name: 'q-spinner-audio',\n mixins: [mixin]\n};\n\nvar ball = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"stroke\":\"currentColor\",\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 57 57\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('g',{attrs:{\"transform\":\"translate(1 1)\",\"stroke-width\":\"2\",\"fill\":\"none\",\"fill-rule\":\"evenodd\"}},[_c('circle',{attrs:{\"cx\":\"5\",\"cy\":\"50\",\"r\":\"5\"}},[_c('animate',{attrs:{\"attributeName\":\"cy\",\"begin\":\"0s\",\"dur\":\"2.2s\",\"values\":\"50;5;50;50\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"cx\",\"begin\":\"0s\",\"dur\":\"2.2s\",\"values\":\"5;27;49;5\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"27\",\"cy\":\"5\",\"r\":\"5\"}},[_c('animate',{attrs:{\"attributeName\":\"cy\",\"begin\":\"0s\",\"dur\":\"2.2s\",\"from\":\"5\",\"to\":\"5\",\"values\":\"5;50;50;5\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"cx\",\"begin\":\"0s\",\"dur\":\"2.2s\",\"from\":\"27\",\"to\":\"27\",\"values\":\"27;49;5;27\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"49\",\"cy\":\"50\",\"r\":\"5\"}},[_c('animate',{attrs:{\"attributeName\":\"cy\",\"begin\":\"0s\",\"dur\":\"2.2s\",\"values\":\"50;50;5;50\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"cx\",\"from\":\"49\",\"to\":\"49\",\"begin\":\"0s\",\"dur\":\"2.2s\",\"values\":\"49;5;27;49\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})])])])},staticRenderFns: [],\n name: 'q-spinner-ball',\n mixins: [mixin]\n};\n\nvar bars = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"fill\":\"currentColor\",\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 135 140\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('rect',{attrs:{\"y\":\"10\",\"width\":\"15\",\"height\":\"120\",\"rx\":\"6\"}},[_c('animate',{attrs:{\"attributeName\":\"height\",\"begin\":\"0.5s\",\"dur\":\"1s\",\"values\":\"120;110;100;90;80;70;60;50;40;140;120\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"y\",\"begin\":\"0.5s\",\"dur\":\"1s\",\"values\":\"10;15;20;25;30;35;40;45;50;0;10\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('rect',{attrs:{\"x\":\"30\",\"y\":\"10\",\"width\":\"15\",\"height\":\"120\",\"rx\":\"6\"}},[_c('animate',{attrs:{\"attributeName\":\"height\",\"begin\":\"0.25s\",\"dur\":\"1s\",\"values\":\"120;110;100;90;80;70;60;50;40;140;120\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"y\",\"begin\":\"0.25s\",\"dur\":\"1s\",\"values\":\"10;15;20;25;30;35;40;45;50;0;10\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('rect',{attrs:{\"x\":\"60\",\"width\":\"15\",\"height\":\"140\",\"rx\":\"6\"}},[_c('animate',{attrs:{\"attributeName\":\"height\",\"begin\":\"0s\",\"dur\":\"1s\",\"values\":\"120;110;100;90;80;70;60;50;40;140;120\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"y\",\"begin\":\"0s\",\"dur\":\"1s\",\"values\":\"10;15;20;25;30;35;40;45;50;0;10\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('rect',{attrs:{\"x\":\"90\",\"y\":\"10\",\"width\":\"15\",\"height\":\"120\",\"rx\":\"6\"}},[_c('animate',{attrs:{\"attributeName\":\"height\",\"begin\":\"0.25s\",\"dur\":\"1s\",\"values\":\"120;110;100;90;80;70;60;50;40;140;120\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"y\",\"begin\":\"0.25s\",\"dur\":\"1s\",\"values\":\"10;15;20;25;30;35;40;45;50;0;10\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('rect',{attrs:{\"x\":\"120\",\"y\":\"10\",\"width\":\"15\",\"height\":\"120\",\"rx\":\"6\"}},[_c('animate',{attrs:{\"attributeName\":\"height\",\"begin\":\"0.5s\",\"dur\":\"1s\",\"values\":\"120;110;100;90;80;70;60;50;40;140;120\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"y\",\"begin\":\"0.5s\",\"dur\":\"1s\",\"values\":\"10;15;20;25;30;35;40;45;50;0;10\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})])])},staticRenderFns: [],\n name: 'q-spinner-bars',\n mixins: [mixin]\n};\n\nvar circles = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"fill\":\"currentColor\",\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 135 135\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M67.447 58c5.523 0 10-4.477 10-10s-4.477-10-10-10-10 4.477-10 10 4.477 10 10 10zm9.448 9.447c0 5.523 4.477 10 10 10 5.522 0 10-4.477 10-10s-4.478-10-10-10c-5.523 0-10 4.477-10 10zm-9.448 9.448c-5.523 0-10 4.477-10 10 0 5.522 4.477 10 10 10s10-4.478 10-10c0-5.523-4.477-10-10-10zM58 67.447c0-5.523-4.477-10-10-10s-10 4.477-10 10 4.477 10 10 10 10-4.477 10-10z\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"from\":\"0 67 67\",\"to\":\"-360 67 67\",\"dur\":\"2.5s\",\"repeatCount\":\"indefinite\"}})],1),_c('path',{attrs:{\"d\":\"M28.19 40.31c6.627 0 12-5.374 12-12 0-6.628-5.373-12-12-12-6.628 0-12 5.372-12 12 0 6.626 5.372 12 12 12zm30.72-19.825c4.686 4.687 12.284 4.687 16.97 0 4.686-4.686 4.686-12.284 0-16.97-4.686-4.687-12.284-4.687-16.97 0-4.687 4.686-4.687 12.284 0 16.97zm35.74 7.705c0 6.627 5.37 12 12 12 6.626 0 12-5.373 12-12 0-6.628-5.374-12-12-12-6.63 0-12 5.372-12 12zm19.822 30.72c-4.686 4.686-4.686 12.284 0 16.97 4.687 4.686 12.285 4.686 16.97 0 4.687-4.686 4.687-12.284 0-16.97-4.685-4.687-12.283-4.687-16.97 0zm-7.704 35.74c-6.627 0-12 5.37-12 12 0 6.626 5.373 12 12 12s12-5.374 12-12c0-6.63-5.373-12-12-12zm-30.72 19.822c-4.686-4.686-12.284-4.686-16.97 0-4.686 4.687-4.686 12.285 0 16.97 4.686 4.687 12.284 4.687 16.97 0 4.687-4.685 4.687-12.283 0-16.97zm-35.74-7.704c0-6.627-5.372-12-12-12-6.626 0-12 5.373-12 12s5.374 12 12 12c6.628 0 12-5.373 12-12zm-19.823-30.72c4.687-4.686 4.687-12.284 0-16.97-4.686-4.686-12.284-4.686-16.97 0-4.687 4.686-4.687 12.284 0 16.97 4.686 4.687 12.284 4.687 16.97 0z\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"from\":\"0 67 67\",\"to\":\"360 67 67\",\"dur\":\"8s\",\"repeatCount\":\"indefinite\"}})],1)])},staticRenderFns: [],\n name: 'q-spinner-circles',\n mixins: [mixin]\n};\n\nvar comment = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"width\":_vm.size,\"height\":_vm.size,\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 100 100\",\"preserveAspectRatio\":\"xMidYMid\"}},[_c('rect',{attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"100\",\"height\":\"100\",\"fill\":\"none\"}}),_c('path',{attrs:{\"d\":\"M78,19H22c-6.6,0-12,5.4-12,12v31c0,6.6,5.4,12,12,12h37.2c0.4,3,1.8,5.6,3.7,7.6c2.4,2.5,5.1,4.1,9.1,4 c-1.4-2.1-2-7.2-2-10.3c0-0.4,0-0.8,0-1.3h8c6.6,0,12-5.4,12-12V31C90,24.4,84.6,19,78,19z\",\"fill\":\"currentColor\"}}),_c('circle',{attrs:{\"cx\":\"30\",\"cy\":\"47\",\"r\":\"5\",\"fill\":\"#fff\"}},[_c('animate',{attrs:{\"attributeName\":\"opacity\",\"from\":\"0\",\"to\":\"1\",\"values\":\"0;1;1\",\"keyTimes\":\"0;0.2;1\",\"dur\":\"1s\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"50\",\"cy\":\"47\",\"r\":\"5\",\"fill\":\"#fff\"}},[_c('animate',{attrs:{\"attributeName\":\"opacity\",\"from\":\"0\",\"to\":\"1\",\"values\":\"0;0;1;1\",\"keyTimes\":\"0;0.2;0.4;1\",\"dur\":\"1s\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"70\",\"cy\":\"47\",\"r\":\"5\",\"fill\":\"#fff\"}},[_c('animate',{attrs:{\"attributeName\":\"opacity\",\"from\":\"0\",\"to\":\"1\",\"values\":\"0;0;1;1\",\"keyTimes\":\"0;0.4;0.6;1\",\"dur\":\"1s\",\"repeatCount\":\"indefinite\"}})])])},staticRenderFns: [],\n name: 'q-spinner-comment',\n mixins: [mixin]\n};\n\nvar cube = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"width\":_vm.size,\"height\":_vm.size,\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 100 100\",\"preserveAspectRatio\":\"xMidYMid\"}},[_c('rect',{attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"100\",\"height\":\"100\",\"fill\":\"none\"}}),_c('g',{attrs:{\"transform\":\"translate(25 25)\"}},[_c('rect',{attrs:{\"x\":\"-20\",\"y\":\"-20\",\"width\":\"40\",\"height\":\"40\",\"fill\":\"currentColor\",\"opacity\":\"0.9\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"scale\",\"from\":\"1.5\",\"to\":\"1\",\"repeatCount\":\"indefinite\",\"begin\":\"0s\",\"dur\":\"1s\",\"calcMode\":\"spline\",\"keySplines\":\"0.2 0.8 0.2 0.8\",\"keyTimes\":\"0;1\"}})],1)]),_c('g',{attrs:{\"transform\":\"translate(75 25)\"}},[_c('rect',{attrs:{\"x\":\"-20\",\"y\":\"-20\",\"width\":\"40\",\"height\":\"40\",\"fill\":\"currentColor\",\"opacity\":\"0.8\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"scale\",\"from\":\"1.5\",\"to\":\"1\",\"repeatCount\":\"indefinite\",\"begin\":\"0.1s\",\"dur\":\"1s\",\"calcMode\":\"spline\",\"keySplines\":\"0.2 0.8 0.2 0.8\",\"keyTimes\":\"0;1\"}})],1)]),_c('g',{attrs:{\"transform\":\"translate(25 75)\"}},[_c('rect',{staticClass:\"cube\",attrs:{\"x\":\"-20\",\"y\":\"-20\",\"width\":\"40\",\"height\":\"40\",\"fill\":\"currentColor\",\"opacity\":\"0.7\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"scale\",\"from\":\"1.5\",\"to\":\"1\",\"repeatCount\":\"indefinite\",\"begin\":\"0.3s\",\"dur\":\"1s\",\"calcMode\":\"spline\",\"keySplines\":\"0.2 0.8 0.2 0.8\",\"keyTimes\":\"0;1\"}})],1)]),_c('g',{attrs:{\"transform\":\"translate(75 75)\"}},[_c('rect',{staticClass:\"cube\",attrs:{\"x\":\"-20\",\"y\":\"-20\",\"width\":\"40\",\"height\":\"40\",\"fill\":\"currentColor\",\"opacity\":\"0.6\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"scale\",\"from\":\"1.5\",\"to\":\"1\",\"repeatCount\":\"indefinite\",\"begin\":\"0.2s\",\"dur\":\"1s\",\"calcMode\":\"spline\",\"keySplines\":\"0.2 0.8 0.2 0.8\",\"keyTimes\":\"0;1\"}})],1)])])},staticRenderFns: [],\n name: 'q-spinner-cube',\n mixins: [mixin]\n};\n\nvar dots = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"fill\":\"currentColor\",\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 120 30\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('circle',{attrs:{\"cx\":\"15\",\"cy\":\"15\",\"r\":\"15\"}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"from\":\"15\",\"to\":\"15\",\"begin\":\"0s\",\"dur\":\"0.8s\",\"values\":\"15;9;15\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"fill-opacity\",\"from\":\"1\",\"to\":\"1\",\"begin\":\"0s\",\"dur\":\"0.8s\",\"values\":\"1;.5;1\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"60\",\"cy\":\"15\",\"r\":\"9\",\"fill-opacity\":\".3\"}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"from\":\"9\",\"to\":\"9\",\"begin\":\"0s\",\"dur\":\"0.8s\",\"values\":\"9;15;9\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"fill-opacity\",\"from\":\".5\",\"to\":\".5\",\"begin\":\"0s\",\"dur\":\"0.8s\",\"values\":\".5;1;.5\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"105\",\"cy\":\"15\",\"r\":\"15\"}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"from\":\"15\",\"to\":\"15\",\"begin\":\"0s\",\"dur\":\"0.8s\",\"values\":\"15;9;15\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"fill-opacity\",\"from\":\"1\",\"to\":\"1\",\"begin\":\"0s\",\"dur\":\"0.8s\",\"values\":\"1;.5;1\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})])])},staticRenderFns: [],\n name: 'q-spinner-dots',\n mixins: [mixin]\n};\n\nvar facebook = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 100 100\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"preserveAspectRatio\":\"xMidYMid\"}},[_c('g',{attrs:{\"transform\":\"translate(20 50)\"}},[_c('rect',{attrs:{\"x\":\"-10\",\"y\":\"-30\",\"width\":\"20\",\"height\":\"60\",\"fill\":\"currentColor\",\"opacity\":\"0.6\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"scale\",\"from\":\"2\",\"to\":\"1\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\",\"dur\":\"1s\",\"calcMode\":\"spline\",\"keySplines\":\"0.1 0.9 0.4 1\",\"keyTimes\":\"0;1\",\"values\":\"2;1\"}})],1)]),_c('g',{attrs:{\"transform\":\"translate(50 50)\"}},[_c('rect',{attrs:{\"x\":\"-10\",\"y\":\"-30\",\"width\":\"20\",\"height\":\"60\",\"fill\":\"currentColor\",\"opacity\":\"0.8\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"scale\",\"from\":\"2\",\"to\":\"1\",\"begin\":\"0.1s\",\"repeatCount\":\"indefinite\",\"dur\":\"1s\",\"calcMode\":\"spline\",\"keySplines\":\"0.1 0.9 0.4 1\",\"keyTimes\":\"0;1\",\"values\":\"2;1\"}})],1)]),_c('g',{attrs:{\"transform\":\"translate(80 50)\"}},[_c('rect',{attrs:{\"x\":\"-10\",\"y\":\"-30\",\"width\":\"20\",\"height\":\"60\",\"fill\":\"currentColor\",\"opacity\":\"0.9\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"scale\",\"from\":\"2\",\"to\":\"1\",\"begin\":\"0.2s\",\"repeatCount\":\"indefinite\",\"dur\":\"1s\",\"calcMode\":\"spline\",\"keySplines\":\"0.1 0.9 0.4 1\",\"keyTimes\":\"0;1\",\"values\":\"2;1\"}})],1)])])},staticRenderFns: [],\n name: 'q-spinner-facebook',\n mixins: [mixin]\n};\n\nvar gears = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 100 100\",\"preserveAspectRatio\":\"xMidYMid\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('g',{attrs:{\"transform\":\"translate(-20,-20)\"}},[_c('path',{attrs:{\"d\":\"M79.9,52.6C80,51.8,80,50.9,80,50s0-1.8-0.1-2.6l-5.1-0.4c-0.3-2.4-0.9-4.6-1.8-6.7l4.2-2.9c-0.7-1.6-1.6-3.1-2.6-4.5 L70,35c-1.4-1.9-3.1-3.5-4.9-4.9l2.2-4.6c-1.4-1-2.9-1.9-4.5-2.6L59.8,27c-2.1-0.9-4.4-1.5-6.7-1.8l-0.4-5.1C51.8,20,50.9,20,50,20 s-1.8,0-2.6,0.1l-0.4,5.1c-2.4,0.3-4.6,0.9-6.7,1.8l-2.9-4.1c-1.6,0.7-3.1,1.6-4.5,2.6l2.1,4.6c-1.9,1.4-3.5,3.1-5,4.9l-4.5-2.1 c-1,1.4-1.9,2.9-2.6,4.5l4.1,2.9c-0.9,2.1-1.5,4.4-1.8,6.8l-5,0.4C20,48.2,20,49.1,20,50s0,1.8,0.1,2.6l5,0.4 c0.3,2.4,0.9,4.7,1.8,6.8l-4.1,2.9c0.7,1.6,1.6,3.1,2.6,4.5l4.5-2.1c1.4,1.9,3.1,3.5,5,4.9l-2.1,4.6c1.4,1,2.9,1.9,4.5,2.6l2.9-4.1 c2.1,0.9,4.4,1.5,6.7,1.8l0.4,5.1C48.2,80,49.1,80,50,80s1.8,0,2.6-0.1l0.4-5.1c2.3-0.3,4.6-0.9,6.7-1.8l2.9,4.2 c1.6-0.7,3.1-1.6,4.5-2.6L65,69.9c1.9-1.4,3.5-3,4.9-4.9l4.6,2.2c1-1.4,1.9-2.9,2.6-4.5L73,59.8c0.9-2.1,1.5-4.4,1.8-6.7L79.9,52.6 z M50,65c-8.3,0-15-6.7-15-15c0-8.3,6.7-15,15-15s15,6.7,15,15C65,58.3,58.3,65,50,65z\",\"fill\":\"currentColor\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"from\":\"90 50 50\",\"to\":\"0 50 50\",\"dur\":\"1s\",\"repeatCount\":\"indefinite\"}})],1)]),_c('g',{attrs:{\"transform\":\"translate(20,20) rotate(15 50 50)\"}},[_c('path',{attrs:{\"d\":\"M79.9,52.6C80,51.8,80,50.9,80,50s0-1.8-0.1-2.6l-5.1-0.4c-0.3-2.4-0.9-4.6-1.8-6.7l4.2-2.9c-0.7-1.6-1.6-3.1-2.6-4.5 L70,35c-1.4-1.9-3.1-3.5-4.9-4.9l2.2-4.6c-1.4-1-2.9-1.9-4.5-2.6L59.8,27c-2.1-0.9-4.4-1.5-6.7-1.8l-0.4-5.1C51.8,20,50.9,20,50,20 s-1.8,0-2.6,0.1l-0.4,5.1c-2.4,0.3-4.6,0.9-6.7,1.8l-2.9-4.1c-1.6,0.7-3.1,1.6-4.5,2.6l2.1,4.6c-1.9,1.4-3.5,3.1-5,4.9l-4.5-2.1 c-1,1.4-1.9,2.9-2.6,4.5l4.1,2.9c-0.9,2.1-1.5,4.4-1.8,6.8l-5,0.4C20,48.2,20,49.1,20,50s0,1.8,0.1,2.6l5,0.4 c0.3,2.4,0.9,4.7,1.8,6.8l-4.1,2.9c0.7,1.6,1.6,3.1,2.6,4.5l4.5-2.1c1.4,1.9,3.1,3.5,5,4.9l-2.1,4.6c1.4,1,2.9,1.9,4.5,2.6l2.9-4.1 c2.1,0.9,4.4,1.5,6.7,1.8l0.4,5.1C48.2,80,49.1,80,50,80s1.8,0,2.6-0.1l0.4-5.1c2.3-0.3,4.6-0.9,6.7-1.8l2.9,4.2 c1.6-0.7,3.1-1.6,4.5-2.6L65,69.9c1.9-1.4,3.5-3,4.9-4.9l4.6,2.2c1-1.4,1.9-2.9,2.6-4.5L73,59.8c0.9-2.1,1.5-4.4,1.8-6.7L79.9,52.6 z M50,65c-8.3,0-15-6.7-15-15c0-8.3,6.7-15,15-15s15,6.7,15,15C65,58.3,58.3,65,50,65z\",\"fill\":\"currentColor\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"from\":\"0 50 50\",\"to\":\"90 50 50\",\"dur\":\"1s\",\"repeatCount\":\"indefinite\"}})],1)])])},staticRenderFns: [],\n name: 'q-spinner-gears',\n mixins: [mixin]\n};\n\nvar grid = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"fill\":\"currentColor\",\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 105 105\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('circle',{attrs:{\"cx\":\"12.5\",\"cy\":\"12.5\",\"r\":\"12.5\"}},[_c('animate',{attrs:{\"attributeName\":\"fill-opacity\",\"begin\":\"0s\",\"dur\":\"1s\",\"values\":\"1;.2;1\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"12.5\",\"cy\":\"52.5\",\"r\":\"12.5\",\"fill-opacity\":\".5\"}},[_c('animate',{attrs:{\"attributeName\":\"fill-opacity\",\"begin\":\"100ms\",\"dur\":\"1s\",\"values\":\"1;.2;1\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"52.5\",\"cy\":\"12.5\",\"r\":\"12.5\"}},[_c('animate',{attrs:{\"attributeName\":\"fill-opacity\",\"begin\":\"300ms\",\"dur\":\"1s\",\"values\":\"1;.2;1\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"52.5\",\"cy\":\"52.5\",\"r\":\"12.5\"}},[_c('animate',{attrs:{\"attributeName\":\"fill-opacity\",\"begin\":\"600ms\",\"dur\":\"1s\",\"values\":\"1;.2;1\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"92.5\",\"cy\":\"12.5\",\"r\":\"12.5\"}},[_c('animate',{attrs:{\"attributeName\":\"fill-opacity\",\"begin\":\"800ms\",\"dur\":\"1s\",\"values\":\"1;.2;1\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"92.5\",\"cy\":\"52.5\",\"r\":\"12.5\"}},[_c('animate',{attrs:{\"attributeName\":\"fill-opacity\",\"begin\":\"400ms\",\"dur\":\"1s\",\"values\":\"1;.2;1\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"12.5\",\"cy\":\"92.5\",\"r\":\"12.5\"}},[_c('animate',{attrs:{\"attributeName\":\"fill-opacity\",\"begin\":\"700ms\",\"dur\":\"1s\",\"values\":\"1;.2;1\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"52.5\",\"cy\":\"92.5\",\"r\":\"12.5\"}},[_c('animate',{attrs:{\"attributeName\":\"fill-opacity\",\"begin\":\"500ms\",\"dur\":\"1s\",\"values\":\"1;.2;1\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"92.5\",\"cy\":\"92.5\",\"r\":\"12.5\"}},[_c('animate',{attrs:{\"attributeName\":\"fill-opacity\",\"begin\":\"200ms\",\"dur\":\"1s\",\"values\":\"1;.2;1\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})])])},staticRenderFns: [],\n name: 'q-spinner-grid',\n mixins: [mixin]\n};\n\nvar hearts = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"fill\":\"currentColor\",\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 140 64\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M30.262 57.02L7.195 40.723c-5.84-3.976-7.56-12.06-3.842-18.063 3.715-6 11.467-7.65 17.306-3.68l4.52 3.76 2.6-5.274c3.716-6.002 11.47-7.65 17.304-3.68 5.84 3.97 7.56 12.054 3.842 18.062L34.49 56.118c-.897 1.512-2.793 1.915-4.228.9z\",\"fill-opacity\":\".5\"}},[_c('animate',{attrs:{\"attributeName\":\"fill-opacity\",\"begin\":\"0s\",\"dur\":\"1.4s\",\"values\":\"0.5;1;0.5\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('path',{attrs:{\"d\":\"M105.512 56.12l-14.44-24.272c-3.716-6.008-1.996-14.093 3.843-18.062 5.835-3.97 13.588-2.322 17.306 3.68l2.6 5.274 4.52-3.76c5.84-3.97 13.593-2.32 17.308 3.68 3.718 6.003 1.998 14.088-3.842 18.064L109.74 57.02c-1.434 1.014-3.33.61-4.228-.9z\",\"fill-opacity\":\".5\"}},[_c('animate',{attrs:{\"attributeName\":\"fill-opacity\",\"begin\":\"0.7s\",\"dur\":\"1.4s\",\"values\":\"0.5;1;0.5\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('path',{attrs:{\"d\":\"M67.408 57.834l-23.01-24.98c-5.864-6.15-5.864-16.108 0-22.248 5.86-6.14 15.37-6.14 21.234 0L70 16.168l4.368-5.562c5.863-6.14 15.375-6.14 21.235 0 5.863 6.14 5.863 16.098 0 22.247l-23.007 24.98c-1.43 1.556-3.757 1.556-5.188 0z\"}})])},staticRenderFns: [],\n name: 'q-spinner-hearts',\n mixins: [mixin]\n};\n\nvar hourglass = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 100 100\",\"preserveAspectRatio\":\"xMidYMid\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('g',[_c('path',{staticClass:\"glass\",attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"5\",\"stroke-miterlimit\":\"10\",\"d\":\"M58.4,51.7c-0.9-0.9-1.4-2-1.4-2.3s0.5-0.4,1.4-1.4 C70.8,43.8,79.8,30.5,80,15.5H70H30H20c0.2,15,9.2,28.1,21.6,32.3c0.9,0.9,1.4,1.2,1.4,1.5s-0.5,1.6-1.4,2.5 C29.2,56.1,20.2,69.5,20,85.5h10h40h10C79.8,69.5,70.8,55.9,58.4,51.7z\"}}),_c('clipPath',{attrs:{\"id\":\"uil-hourglass-clip1\"}},[_c('rect',{staticClass:\"clip\",attrs:{\"x\":\"15\",\"y\":\"20\",\"width\":\"70\",\"height\":\"25\"}},[_c('animate',{attrs:{\"attributeName\":\"height\",\"from\":\"25\",\"to\":\"0\",\"dur\":\"1s\",\"repeatCount\":\"indefinite\",\"vlaues\":\"25;0;0\",\"keyTimes\":\"0;0.5;1\"}}),_c('animate',{attrs:{\"attributeName\":\"y\",\"from\":\"20\",\"to\":\"45\",\"dur\":\"1s\",\"repeatCount\":\"indefinite\",\"vlaues\":\"20;45;45\",\"keyTimes\":\"0;0.5;1\"}})])]),_c('clipPath',{attrs:{\"id\":\"uil-hourglass-clip2\"}},[_c('rect',{staticClass:\"clip\",attrs:{\"x\":\"15\",\"y\":\"55\",\"width\":\"70\",\"height\":\"25\"}},[_c('animate',{attrs:{\"attributeName\":\"height\",\"from\":\"0\",\"to\":\"25\",\"dur\":\"1s\",\"repeatCount\":\"indefinite\",\"vlaues\":\"0;25;25\",\"keyTimes\":\"0;0.5;1\"}}),_c('animate',{attrs:{\"attributeName\":\"y\",\"from\":\"80\",\"to\":\"55\",\"dur\":\"1s\",\"repeatCount\":\"indefinite\",\"vlaues\":\"80;55;55\",\"keyTimes\":\"0;0.5;1\"}})])]),_c('path',{staticClass:\"sand\",attrs:{\"d\":\"M29,23c3.1,11.4,11.3,19.5,21,19.5S67.9,34.4,71,23H29z\",\"clip-path\":\"url(#uil-hourglass-clip1)\",\"fill\":\"currentColor\"}}),_c('path',{staticClass:\"sand\",attrs:{\"d\":\"M71.6,78c-3-11.6-11.5-20-21.5-20s-18.5,8.4-21.5,20H71.6z\",\"clip-path\":\"url(#uil-hourglass-clip2)\",\"fill\":\"currentColor\"}}),_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"from\":\"0 50 50\",\"to\":\"180 50 50\",\"repeatCount\":\"indefinite\",\"dur\":\"1s\",\"values\":\"0 50 50;0 50 50;180 50 50\",\"keyTimes\":\"0;0.7;1\"}})],1)])},staticRenderFns: [],\n name: 'q-spinner-hourglass',\n mixins: [mixin]\n};\n\nvar infinity = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 100 100\",\"preserveAspectRatio\":\"xMidYMid\"}},[_c('path',{attrs:{\"d\":\"M24.3,30C11.4,30,5,43.3,5,50s6.4,20,19.3,20c19.3,0,32.1-40,51.4-40C88.6,30,95,43.3,95,50s-6.4,20-19.3,20C56.4,70,43.6,30,24.3,30z\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"8\",\"stroke-dasharray\":\"10.691205342610678 10.691205342610678\",\"stroke-dashoffset\":\"0\"}},[_c('animate',{attrs:{\"attributeName\":\"stroke-dashoffset\",\"from\":\"0\",\"to\":\"21.382410685221355\",\"begin\":\"0\",\"dur\":\"2s\",\"repeatCount\":\"indefinite\",\"fill\":\"freeze\"}})])])},staticRenderFns: [],\n name: 'q-spinner-infinity',\n mixins: [mixin]\n};\n\nvar oval = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"stroke\":\"currentColor\",\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 38 38\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('g',{attrs:{\"transform\":\"translate(1 1)\",\"stroke-width\":\"2\",\"fill\":\"none\",\"fill-rule\":\"evenodd\"}},[_c('circle',{attrs:{\"stroke-opacity\":\".5\",\"cx\":\"18\",\"cy\":\"18\",\"r\":\"18\"}}),_c('path',{attrs:{\"d\":\"M36 18c0-9.94-8.06-18-18-18\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"from\":\"0 18 18\",\"to\":\"360 18 18\",\"dur\":\"1s\",\"repeatCount\":\"indefinite\"}})],1)])])},staticRenderFns: [],\n name: 'q-spinner-oval',\n mixins: [mixin]\n};\n\nvar pie = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 100 100\",\"preserveAspectRatio\":\"xMidYMid\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M0 50A50 50 0 0 1 50 0L50 50L0 50\",\"fill\":\"currentColor\",\"opacity\":\"0.5\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"from\":\"0 50 50\",\"to\":\"360 50 50\",\"dur\":\"0.8s\",\"repeatCount\":\"indefinite\"}})],1),_c('path',{attrs:{\"d\":\"M50 0A50 50 0 0 1 100 50L50 50L50 0\",\"fill\":\"currentColor\",\"opacity\":\"0.5\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"from\":\"0 50 50\",\"to\":\"360 50 50\",\"dur\":\"1.6s\",\"repeatCount\":\"indefinite\"}})],1),_c('path',{attrs:{\"d\":\"M100 50A50 50 0 0 1 50 100L50 50L100 50\",\"fill\":\"currentColor\",\"opacity\":\"0.5\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"from\":\"0 50 50\",\"to\":\"360 50 50\",\"dur\":\"2.4s\",\"repeatCount\":\"indefinite\"}})],1),_c('path',{attrs:{\"d\":\"M50 100A50 50 0 0 1 0 50L50 50L50 100\",\"fill\":\"currentColor\",\"opacity\":\"0.5\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"from\":\"0 50 50\",\"to\":\"360 50 50\",\"dur\":\"3.2s\",\"repeatCount\":\"indefinite\"}})],1)])},staticRenderFns: [],\n name: 'q-spinner-pie',\n mixins: [mixin]\n};\n\nvar puff = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"stroke\":\"currentColor\",\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 44 44\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('g',{attrs:{\"fill\":\"none\",\"fill-rule\":\"evenodd\",\"stroke-width\":\"2\"}},[_c('circle',{attrs:{\"cx\":\"22\",\"cy\":\"22\",\"r\":\"1\"}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"begin\":\"0s\",\"dur\":\"1.8s\",\"values\":\"1; 20\",\"calcMode\":\"spline\",\"keyTimes\":\"0; 1\",\"keySplines\":\"0.165, 0.84, 0.44, 1\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"stroke-opacity\",\"begin\":\"0s\",\"dur\":\"1.8s\",\"values\":\"1; 0\",\"calcMode\":\"spline\",\"keyTimes\":\"0; 1\",\"keySplines\":\"0.3, 0.61, 0.355, 1\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"22\",\"cy\":\"22\",\"r\":\"1\"}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"begin\":\"-0.9s\",\"dur\":\"1.8s\",\"values\":\"1; 20\",\"calcMode\":\"spline\",\"keyTimes\":\"0; 1\",\"keySplines\":\"0.165, 0.84, 0.44, 1\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"stroke-opacity\",\"begin\":\"-0.9s\",\"dur\":\"1.8s\",\"values\":\"1; 0\",\"calcMode\":\"spline\",\"keyTimes\":\"0; 1\",\"keySplines\":\"0.3, 0.61, 0.355, 1\",\"repeatCount\":\"indefinite\"}})])])])},staticRenderFns: [],\n name: 'q-spinner-puff',\n mixins: [mixin]\n};\n\nvar radio = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 100 100\",\"preserveAspectRatio\":\"xMidYMid\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('g',{attrs:{\"transform\":\"scale(0.55)\"}},[_c('circle',{attrs:{\"cx\":\"30\",\"cy\":\"150\",\"r\":\"30\",\"fill\":\"currentColor\"}},[_c('animate',{attrs:{\"attributeName\":\"opacity\",\"from\":\"0\",\"to\":\"1\",\"dur\":\"1s\",\"begin\":\"0\",\"repeatCount\":\"indefinite\",\"keyTimes\":\"0;0.5;1\",\"values\":\"0;1;1\"}})]),_c('path',{attrs:{\"d\":\"M90,150h30c0-49.7-40.3-90-90-90v30C63.1,90,90,116.9,90,150z\",\"fill\":\"currentColor\"}},[_c('animate',{attrs:{\"attributeName\":\"opacity\",\"from\":\"0\",\"to\":\"1\",\"dur\":\"1s\",\"begin\":\"0.1\",\"repeatCount\":\"indefinite\",\"keyTimes\":\"0;0.5;1\",\"values\":\"0;1;1\"}})]),_c('path',{attrs:{\"d\":\"M150,150h30C180,67.2,112.8,0,30,0v30C96.3,30,150,83.7,150,150z\",\"fill\":\"currentColor\"}},[_c('animate',{attrs:{\"attributeName\":\"opacity\",\"from\":\"0\",\"to\":\"1\",\"dur\":\"1s\",\"begin\":\"0.2\",\"repeatCount\":\"indefinite\",\"keyTimes\":\"0;0.5;1\",\"values\":\"0;1;1\"}})])])])},staticRenderFns: [],\n name: 'q-spinner-radio',\n mixins: [mixin]\n};\n\nvar rings = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"stroke\":\"currentColor\",\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 45 45\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('g',{attrs:{\"fill\":\"none\",\"fill-rule\":\"evenodd\",\"transform\":\"translate(1 1)\",\"stroke-width\":\"2\"}},[_c('circle',{attrs:{\"cx\":\"22\",\"cy\":\"22\",\"r\":\"6\"}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"begin\":\"1.5s\",\"dur\":\"3s\",\"values\":\"6;22\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"stroke-opacity\",\"begin\":\"1.5s\",\"dur\":\"3s\",\"values\":\"1;0\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"stroke-width\",\"begin\":\"1.5s\",\"dur\":\"3s\",\"values\":\"2;0\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"22\",\"cy\":\"22\",\"r\":\"6\"}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"begin\":\"3s\",\"dur\":\"3s\",\"values\":\"6;22\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"stroke-opacity\",\"begin\":\"3s\",\"dur\":\"3s\",\"values\":\"1;0\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"stroke-width\",\"begin\":\"3s\",\"dur\":\"3s\",\"values\":\"2;0\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"cx\":\"22\",\"cy\":\"22\",\"r\":\"8\"}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"begin\":\"0s\",\"dur\":\"1.5s\",\"values\":\"6;1;2;3;4;5;6\",\"calcMode\":\"linear\",\"repeatCount\":\"indefinite\"}})])])])},staticRenderFns: [],\n name: 'q-spinner-rings',\n mixins: [mixin]\n};\n\nvar tail = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"q-spinner\",class:_vm.classes,attrs:{\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 38 38\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('defs',[_c('linearGradient',{attrs:{\"x1\":\"8.042%\",\"y1\":\"0%\",\"x2\":\"65.682%\",\"y2\":\"23.865%\",\"id\":\"a\"}},[_c('stop',{attrs:{\"stop-color\":\"currentColor\",\"stop-opacity\":\"0\",\"offset\":\"0%\"}}),_c('stop',{attrs:{\"stop-color\":\"currentColor\",\"stop-opacity\":\".631\",\"offset\":\"63.146%\"}}),_c('stop',{attrs:{\"stop-color\":\"currentColor\",\"offset\":\"100%\"}})],1)],1),_c('g',{attrs:{\"transform\":\"translate(1 1)\",\"fill\":\"none\",\"fill-rule\":\"evenodd\"}},[_c('path',{attrs:{\"d\":\"M36 18c0-9.94-8.06-18-18-18\",\"stroke\":\"url(#a)\",\"stroke-width\":\"2\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"from\":\"0 18 18\",\"to\":\"360 18 18\",\"dur\":\"0.9s\",\"repeatCount\":\"indefinite\"}})],1),_c('circle',{attrs:{\"fill\":\"currentColor\",\"cx\":\"36\",\"cy\":\"18\",\"r\":\"1\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"from\":\"0 18 18\",\"to\":\"360 18 18\",\"dur\":\"0.9s\",\"repeatCount\":\"indefinite\"}})],1)])])},staticRenderFns: [],\n name: 'q-spinner-tail',\n mixins: [mixin]\n};\n\nvar QInput = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-input-frame',{staticClass:\"q-input\",attrs:{\"prefix\":_vm.prefix,\"suffix\":_vm.suffix,\"stack-label\":_vm.stackLabel,\"float-label\":_vm.floatLabel,\"error\":_vm.error,\"disable\":_vm.disable,\"inverted\":_vm.inverted,\"dark\":_vm.dark,\"before\":_vm.before,\"after\":_vm.after,\"color\":_vm.color,\"focused\":_vm.focused,\"length\":_vm.length,\"top-addons\":_vm.isTextarea},on:{\"click\":_vm.__onClick}},[_vm._t(\"before\"),_vm._v(\" \"),(_vm.isTextarea)?[_c('div',{staticClass:\"col row relative-position\"},[_c('q-resize-observable',{on:{\"resize\":function($event){_vm.__updateArea();}}}),_vm._v(\" \"),_c('textarea',{ref:\"shadow\",staticClass:\"col q-input-target q-input-shadow absolute-top\",attrs:{\"rows\":_vm.minRows},domProps:{\"value\":_vm.value}}),_vm._v(\" \"),_c('textarea',{ref:\"input\",staticClass:\"col q-input-target q-input-area\",attrs:{\"name\":_vm.name,\"placeholder\":_vm.inputPlaceholder,\"disabled\":_vm.disable,\"readonly\":_vm.readonly,\"maxlength\":_vm.maxLength,\"rows\":_vm.minRows},domProps:{\"value\":_vm.value},on:{\"input\":_vm.__set,\"focus\":_vm.__onFocus,\"blur\":_vm.__onBlur,\"keydown\":_vm.__onKeydown,\"keyup\":_vm.__onKeyup}})],1)]:_c('input',{ref:\"input\",staticClass:\"col q-input-target\",class:[(\"text-\" + (_vm.align))],attrs:{\"name\":_vm.name,\"placeholder\":_vm.inputPlaceholder,\"pattern\":_vm.pattern,\"disabled\":_vm.disable,\"readonly\":_vm.readonly,\"maxlength\":_vm.maxLength,\"min\":_vm.min,\"max\":_vm.max,\"step\":_vm.inputStep,\"type\":_vm.inputType},domProps:{\"value\":_vm.value},on:{\"input\":_vm.__set,\"focus\":_vm.__onFocus,\"blur\":_vm.__onBlur,\"keydown\":_vm.__onKeydown,\"keyup\":_vm.__onKeyup}}),_vm._v(\" \"),(_vm.isPassword && !_vm.noPassToggle && _vm.length)?_c('q-icon',{staticClass:\"q-if-control\",attrs:{\"slot\":\"after\",\"name\":_vm.showPass ? 'visibility' : 'visibility_off'},on:{\"click\":_vm.togglePass},slot:\"after\"}):_vm._e(),_vm._v(\" \"),(_vm.clearable && _vm.length)?_c('q-icon',{staticClass:\"q-if-control\",attrs:{\"slot\":\"after\",\"name\":\"cancel\"},on:{\"click\":_vm.clear},slot:\"after\"}):_vm._e(),_vm._v(\" \"),(_vm.isLoading)?_c('q-spinner',{staticClass:\"q-if-control\",attrs:{\"slot\":\"after\",\"size\":\"24px\"},slot:\"after\"}):_vm._e(),_vm._v(\" \"),_vm._t(\"after\"),_vm._v(\" \"),_vm._t(\"default\")],2)},staticRenderFns: [],\n name: 'q-input',\n mixins: [FrameMixin, InputMixin],\n components: {\n QInputFrame: QInputFrame,\n QSpinner: QSpinner,\n QResizeObservable: QResizeObservable\n },\n props: {\n value: { required: true },\n type: {\n type: String,\n default: 'text',\n validator: function (t) { return inputTypes.includes(t); }\n },\n minRows: Number,\n clearable: Boolean,\n noPassToggle: Boolean,\n readonly: Boolean,\n\n min: Number,\n max: Number,\n step: {\n type: Number,\n default: 1\n },\n maxDecimals: Number\n },\n data: function data () {\n var this$1 = this;\n\n return {\n focused: false,\n showPass: false,\n shadow: {\n val: this.value,\n set: this.__set,\n loading: false,\n hasFocus: function () {\n return document.activeElement === this$1.$refs.input\n },\n register: function () {\n this$1.watcher = this$1.$watch('value', function (val) {\n this$1.shadow.val = val;\n });\n },\n unregister: function () {\n this$1.watcher();\n },\n getEl: function () {\n return this$1.$refs.input\n }\n }\n }\n },\n provide: function provide () {\n return {\n __input: this.shadow\n }\n },\n computed: {\n isNumber: function isNumber () {\n return this.type === 'number'\n },\n isPassword: function isPassword () {\n return this.type === 'password'\n },\n isTextarea: function isTextarea () {\n return this.type === 'textarea'\n },\n isLoading: function isLoading () {\n return this.loading || this.shadow.loading\n },\n pattern: function pattern () {\n if (this.isNumber) {\n return '[0-9]*'\n }\n },\n inputStep: function inputStep () {\n if (this.isNumber) {\n return this.step\n }\n },\n inputType: function inputType () {\n return this.isPassword\n ? (this.showPass ? 'text' : 'password')\n : this.type\n },\n length: function length () {\n return this.value || (this.isNumber && this.value !== null)\n ? ('' + this.value).length\n : 0\n },\n editable: function editable () {\n return !this.disable && !this.readonly\n }\n },\n methods: {\n togglePass: function togglePass () {\n this.showPass = !this.showPass;\n },\n clear: function clear () {\n if (this.editable) {\n this.$emit('input', '');\n this.$emit('change', '');\n }\n },\n\n __set: function __set (e) {\n var val = e.target ? e.target.value : e;\n if (val !== this.value) {\n if (this.isNumber) {\n if (val === '') {\n val = null;\n }\n else {\n val = Number.isInteger(this.maxDecimals)\n ? parseFloat(val).toFixed(this.maxDecimals)\n : parseFloat(val);\n }\n }\n this.$emit('input', val);\n this.$emit('change', val);\n }\n },\n __updateArea: function __updateArea () {\n var shadow = this.$refs.shadow;\n if (shadow) {\n var h = shadow.scrollHeight;\n var max = this.maxHeight || h;\n this.$refs.input.style.minHeight = (between(h, 19, max)) + \"px\";\n }\n }\n },\n mounted: function mounted () {\n this.__updateArea = frameDebounce(this.__updateArea);\n if (this.isTextarea) {\n this.__updateArea();\n this.watcher = this.$watch('value', this.__updateArea);\n }\n },\n beforeDestroy: function beforeDestroy () {\n if (this.watcher !== void 0) {\n this.watcher();\n }\n }\n};\n\nvar toString = Object.prototype.toString;\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar class2type = {};\n\n'Boolean Number String Function Array Date RegExp Object'.split(' ').forEach(function (name) {\n class2type['[object ' + name + ']'] = name.toLowerCase();\n});\n\nfunction type (obj) {\n return obj === null ? String(obj) : class2type[toString.call(obj)] || 'object'\n}\n\nfunction isPlainObject (obj) {\n if (!obj || type(obj) !== 'object') {\n return false\n }\n\n if (obj.constructor &&\n !hasOwn.call(obj, 'constructor') &&\n !hasOwn.call(obj.constructor.prototype, 'isPrototypeOf')) {\n return false\n }\n\n var key;\n for (key in obj) {}\n\n return key === undefined || hasOwn.call(obj, key)\n}\n\nfunction extend () {\n var arguments$1 = arguments;\n\n var\n options, name, src, copy, copyIsArray, clone,\n target = arguments[0] || {},\n i = 1,\n length = arguments.length,\n deep = false;\n\n if (typeof target === 'boolean') {\n deep = target;\n target = arguments[1] || {};\n i = 2;\n }\n\n if (Object(target) !== target && type(target) !== 'function') {\n target = {};\n }\n\n if (length === i) {\n target = this;\n i--;\n }\n\n for (; i < length; i++) {\n if ((options = arguments$1[i]) !== null) {\n for (name in options) {\n src = target[name];\n copy = options[name];\n\n if (target === copy) {\n continue\n }\n\n if (deep && copy && (isPlainObject(copy) || (copyIsArray = type(copy) === 'array'))) {\n if (copyIsArray) {\n copyIsArray = false;\n clone = src && type(src) === 'array' ? src : [];\n }\n else {\n clone = src && isPlainObject(src) ? src : {};\n }\n\n target[name] = extend(deep, clone, copy);\n }\n else if (copy !== undefined) {\n target[name] = copy;\n }\n }\n }\n }\n\n return target\n}\n\nfunction getAnchorPosition (el, offset) {\n var ref = el.getBoundingClientRect();\n var top = ref.top;\n var left = ref.left;\n var right = ref.right;\n var bottom = ref.bottom;\n var a = {\n top: top,\n left: left,\n width: el.offsetWidth,\n height: el.offsetHeight\n };\n\n if (offset) {\n a.top -= offset[1];\n a.left -= offset[0];\n if (bottom) {\n bottom += offset[1];\n }\n if (right) {\n right += offset[0];\n }\n a.width += offset[0];\n a.height += offset[1];\n }\n\n a.right = right || a.left + a.width;\n a.bottom = bottom || a.top + a.height;\n a.middle = a.left + ((a.right - a.left) / 2);\n a.center = a.top + ((a.bottom - a.top) / 2);\n\n return a\n}\n\nfunction getTargetPosition (el) {\n return {\n top: 0,\n center: el.offsetHeight / 2,\n bottom: el.offsetHeight,\n left: 0,\n middle: el.offsetWidth / 2,\n right: el.offsetWidth\n }\n}\n\nfunction getOverlapMode (anchor, target, median) {\n if ([anchor, target].indexOf(median) >= 0) { return 'auto' }\n if (anchor === target) { return 'inclusive' }\n return 'exclusive'\n}\n\nfunction getPositions (anchor, target) {\n var\n a = extend({}, anchor),\n t = extend({}, target);\n\n var positions = {\n x: ['left', 'right'].filter(function (p) { return p !== t.horizontal; }),\n y: ['top', 'bottom'].filter(function (p) { return p !== t.vertical; })\n };\n\n var overlap = {\n x: getOverlapMode(a.horizontal, t.horizontal, 'middle'),\n y: getOverlapMode(a.vertical, t.vertical, 'center')\n };\n\n positions.x.splice(overlap.x === 'auto' ? 0 : 1, 0, 'middle');\n positions.y.splice(overlap.y === 'auto' ? 0 : 1, 0, 'center');\n\n if (overlap.y !== 'auto') {\n a.vertical = a.vertical === 'top' ? 'bottom' : 'top';\n if (overlap.y === 'inclusive') {\n t.vertical = t.vertical;\n }\n }\n\n if (overlap.x !== 'auto') {\n a.horizontal = a.horizontal === 'left' ? 'right' : 'left';\n if (overlap.y === 'inclusive') {\n t.horizontal = t.horizontal;\n }\n }\n\n return {\n positions: positions,\n anchorPos: a\n }\n}\n\nfunction applyAutoPositionIfNeeded (anchor, target, selfOrigin, anchorOrigin, targetPosition) {\n var ref = getPositions(anchorOrigin, selfOrigin);\n var positions = ref.positions;\n var anchorPos = ref.anchorPos;\n\n if (targetPosition.top < 0 || targetPosition.top + target.bottom > window.innerHeight) {\n var newTop = anchor[anchorPos.vertical] - target[positions.y[0]];\n if (newTop + target.bottom <= window.innerHeight) {\n targetPosition.top = newTop;\n }\n else {\n newTop = anchor[anchorPos.vertical] - target[positions.y[1]];\n if (newTop + target.bottom <= window.innerHeight) {\n targetPosition.top = newTop;\n }\n }\n }\n if (targetPosition.left < 0 || targetPosition.left + target.right > window.innerWidth) {\n var newLeft = anchor[anchorPos.horizontal] - target[positions.x[0]];\n if (newLeft + target.right <= window.innerWidth) {\n targetPosition.left = newLeft;\n }\n else {\n newLeft = anchor[anchorPos.horizontal] - target[positions.x[1]];\n if (newLeft + target.right <= window.innerWidth) {\n targetPosition.left = newLeft;\n }\n }\n }\n return targetPosition\n}\n\nfunction parseHorizTransformOrigin (pos) {\n return pos === 'middle' ? 'center' : pos\n}\n\nfunction getTransformProperties (ref) {\n var selfOrigin = ref.selfOrigin;\n\n var\n vert = selfOrigin.vertical,\n horiz = parseHorizTransformOrigin(selfOrigin.horizontal);\n\n return {\n 'transform-origin': vert + ' ' + horiz + ' 0px'\n }\n}\n\nfunction setPosition (ref) {\n var el = ref.el;\n var anchorEl = ref.anchorEl;\n var anchorOrigin = ref.anchorOrigin;\n var selfOrigin = ref.selfOrigin;\n var maxHeight = ref.maxHeight;\n var event = ref.event;\n var anchorClick = ref.anchorClick;\n var touchPosition = ref.touchPosition;\n var offset = ref.offset;\n\n var anchor;\n el.style.maxHeight = maxHeight || '65vh';\n\n if (event && (!anchorClick || touchPosition)) {\n var ref$1 = position(event);\n var top = ref$1.top;\n var left = ref$1.left;\n anchor = {top: top, left: left, width: 1, height: 1, right: left + 1, center: top, middle: left, bottom: top + 1};\n }\n else {\n anchor = getAnchorPosition(anchorEl, offset);\n }\n\n var target = getTargetPosition(el);\n var targetPosition = {\n top: anchor[anchorOrigin.vertical] - target[selfOrigin.vertical],\n left: anchor[anchorOrigin.horizontal] - target[selfOrigin.horizontal]\n };\n\n targetPosition = applyAutoPositionIfNeeded(anchor, target, selfOrigin, anchorOrigin, targetPosition);\n\n el.style.top = Math.max(0, targetPosition.top) + 'px';\n el.style.left = Math.max(0, targetPosition.left) + 'px';\n}\n\nfunction positionValidator (pos) {\n var parts = pos.split(' ');\n if (parts.length !== 2) {\n return false\n }\n if (!['top', 'center', 'bottom'].includes(parts[0])) {\n console.error('Anchor/Self position must start with one of top/center/bottom');\n return false\n }\n if (!['left', 'middle', 'right'].includes(parts[1])) {\n console.error('Anchor/Self position must end with one of left/middle/right');\n return false\n }\n return true\n}\n\nfunction offsetValidator (val) {\n if (!val) { return true }\n if (val.length !== 2) { return false }\n if (typeof val[0] !== 'number' || typeof val[1] !== 'number') {\n return false\n }\n return true\n}\n\nfunction parsePosition (pos) {\n var parts = pos.split(' ');\n return {vertical: parts[0], horizontal: parts[1]}\n}\n\nvar handlers = [];\n\nif (Platform.is.desktop) {\n window.addEventListener('keyup', function (evt) {\n if (handlers.length === 0) {\n return\n }\n\n if (evt.which === 27 || evt.keyCode === 27) {\n handlers[handlers.length - 1]();\n }\n });\n}\n\nvar EscapeKey = {\n register: function register (handler) {\n if (Platform.is.desktop) {\n handlers.push(handler);\n }\n },\n pop: function pop () {\n if (Platform.is.desktop) {\n handlers.pop();\n }\n }\n};\n\nvar ModelToggleMixin = {\n props: {\n value: Boolean\n },\n watch: {\n value: function value (v) {\n if (v) {\n this.open();\n }\n else {\n this.close();\n }\n }\n },\n mounted: function mounted () {\n var this$1 = this;\n\n this.$nextTick(function () {\n setTimeout(function () {\n if (this$1.value) {\n this$1.open();\n }\n }, 100);\n });\n },\n methods: {\n __updateModel: function __updateModel (val) {\n if (this.value !== val) {\n this.$emit('input', val);\n }\n }\n }\n};\n\nvar QPopover = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-popover animate-scale\",style:(_vm.transformCSS),on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._t(\"default\")],2)},staticRenderFns: [],\n name: 'q-popover',\n mixins: [ModelToggleMixin],\n props: {\n anchor: {\n type: String,\n default: 'bottom left',\n validator: positionValidator\n },\n self: {\n type: String,\n default: 'top left',\n validator: positionValidator\n },\n fit: Boolean,\n maxHeight: String,\n touchPosition: Boolean,\n anchorClick: {\n /*\n for handling anchor outside of Popover\n example: context menu component\n */\n type: Boolean,\n default: true\n },\n offset: {\n type: Array,\n validator: offsetValidator\n },\n disable: Boolean\n },\n data: function data () {\n return {\n opened: false,\n progress: false\n }\n },\n computed: {\n transformCSS: function transformCSS () {\n return getTransformProperties({selfOrigin: this.selfOrigin})\n },\n anchorOrigin: function anchorOrigin () {\n return parsePosition(this.anchor)\n },\n selfOrigin: function selfOrigin () {\n return parsePosition(this.self)\n }\n },\n created: function created () {\n var this$1 = this;\n\n this.__updatePosition = frameDebounce(function () { this$1.reposition(); });\n },\n mounted: function mounted () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.anchorEl = this$1.$el.parentNode;\n this$1.anchorEl.removeChild(this$1.$el);\n if (this$1.anchorEl.classList.contains('q-btn-inner')) {\n this$1.anchorEl = this$1.anchorEl.parentNode;\n }\n if (this$1.anchorClick) {\n this$1.anchorEl.classList.add('cursor-pointer');\n this$1.anchorEl.addEventListener('click', this$1.toggle);\n }\n });\n },\n beforeDestroy: function beforeDestroy () {\n if (this.anchorClick && this.anchorEl) {\n this.anchorEl.removeEventListener('click', this.toggle);\n }\n this.close();\n },\n methods: {\n toggle: function toggle (event) {\n if (this.opened) {\n this.close();\n }\n else {\n this.open(event);\n }\n },\n open: function open (evt) {\n var this$1 = this;\n\n if (this.disable) {\n return\n }\n if (this.opened) {\n this.__updatePosition();\n return\n }\n if (evt) {\n evt.stopPropagation();\n evt.preventDefault();\n }\n\n this.opened = true;\n document.body.click(); // close other Popovers\n document.body.appendChild(this.$el);\n EscapeKey.register(function () { this$1.close(); });\n this.scrollTarget = getScrollTarget(this.anchorEl);\n this.scrollTarget.addEventListener('scroll', this.__updatePosition);\n window.addEventListener('resize', this.__updatePosition);\n this.reposition(evt);\n this.timer = setTimeout(function () {\n this$1.timer = null;\n document.body.addEventListener('click', this$1.close, true);\n document.body.addEventListener('touchstart', this$1.close, true);\n this$1.__updateModel(true);\n this$1.$emit('open');\n }, 1);\n },\n close: function close (fn) {\n var this$1 = this;\n\n if (!this.opened || this.progress || (fn && fn.target && this.$el.contains(fn.target))) {\n return\n }\n\n clearTimeout(this.timer);\n document.body.removeEventListener('click', this.close, true);\n document.body.removeEventListener('touchstart', this.close, true);\n this.scrollTarget.removeEventListener('scroll', this.__updatePosition);\n window.removeEventListener('resize', this.__updatePosition);\n EscapeKey.pop();\n this.progress = true;\n\n /*\n Using setTimeout to allow\n v-models to take effect\n */\n setTimeout(function () {\n this$1.opened = false;\n this$1.progress = false;\n document.body.removeChild(this$1.$el);\n this$1.__updateModel(false);\n this$1.$emit('close');\n if (typeof fn === 'function') {\n fn();\n }\n }, 1);\n },\n reposition: function reposition (event) {\n var this$1 = this;\n\n this.$nextTick(function () {\n if (this$1.fit) {\n this$1.$el.style.minWidth = width(this$1.anchorEl) + 'px';\n }\n var ref = this$1.anchorEl.getBoundingClientRect();\n var top = ref.top;\n var ref$1 = viewport();\n var height$$1 = ref$1.height;\n if (top < 0 || top > height$$1) {\n return this$1.close()\n }\n setPosition({\n event: event,\n el: this$1.$el,\n offset: this$1.offset,\n anchorEl: this$1.anchorEl,\n anchorOrigin: this$1.anchorOrigin,\n selfOrigin: this$1.selfOrigin,\n maxHeight: this$1.maxHeight,\n anchorClick: this$1.anchorClick,\n touchPosition: this$1.touchPosition\n });\n });\n }\n }\n};\n\nfunction textStyle (n) {\n return n === void 0 || n < 2\n ? {}\n : {overflow: 'hidden', display: '-webkit-box', '-webkit-box-orient': 'vertical', '-webkit-line-clamp': n}\n}\n\nvar list = ['icon', 'label', 'sublabel', 'image', 'avatar', 'letter', 'stamp'];\n\nfunction getType (prop) {\n var len = list.length;\n for (var i = 0; i < len; i++) {\n if (prop[list[i]]) {\n return list[i]\n }\n }\n return ''\n}\n\nfunction itemClasses (prop) {\n return {\n 'q-item': true,\n 'q-item-division': true,\n 'relative-position': true,\n 'q-item-dark': prop.dark,\n 'q-item-dense': prop.dense,\n 'q-item-sparse': prop.sparse,\n 'q-item-separator': prop.separator,\n 'q-item-inset-separator': prop.insetSeparator,\n 'q-item-multiline': prop.multiline,\n 'q-item-highlight': prop.highlight,\n 'q-item-link': prop.to || prop.link\n }\n}\n\nvar ItemMixin = {\n props: {\n dark: Boolean,\n dense: Boolean,\n sparse: Boolean,\n separator: Boolean,\n insetSeparator: Boolean,\n multiline: Boolean,\n highlight: Boolean,\n tag: {\n type: String,\n default: 'div'\n }\n }\n};\n\nvar routerLinkEventName = 'qrouterlinkclick';\n\nvar evt;\n\ntry {\n evt = new Event(routerLinkEventName);\n}\ncatch (e) {\n // IE doesn't support `new Event()`, so...`\n evt = document.createEvent('Event');\n evt.initEvent(routerLinkEventName, true, false);\n}\n\nvar RouterLinkMixin = {\n props: {\n to: [String, Object],\n exact: Boolean,\n append: Boolean,\n replace: Boolean\n },\n data: function data () {\n return {\n routerLinkEventName: routerLinkEventName\n }\n }\n};\n\nvar QItem = {\n name: 'q-item',\n functional: true,\n mixins: [ItemMixin, {props: RouterLinkMixin.props}],\n props: {\n active: Boolean,\n link: Boolean\n },\n render: function render (h, ctx) {\n var\n data = ctx.data,\n prop = ctx.props,\n cls = itemClasses(prop);\n\n if (prop.to !== void 0 || prop.link) {\n data.props = prop;\n }\n else {\n cls.active = prop.active;\n }\n\n data.class = data.class ? [data.class, cls] : cls;\n\n return h(prop.to ? 'router-link' : prop.tag, data, ctx.children)\n }\n};\n\nvar QItemSeparator = {\n name: 'q-item-separator',\n functional: true,\n props: {\n inset: Boolean\n },\n render: function render (h, ctx) {\n var\n data = ctx.data,\n cls = data.staticClass;\n\n data.staticClass = \"q-item-separator-component\" + (ctx.props.inset ? ' q-item-separator-inset-component' : '') + (cls ? (\" \" + cls) : '');\n\n return h('div', data, ctx.children)\n }\n};\n\nfunction text (h, name, val, n) {\n n = parseInt(n, 10);\n return h('div', {\n staticClass: (\"q-item-\" + name + (n === 1 ? ' ellipsis' : '')),\n style: textStyle(n),\n domProps: { innerHTML: val }\n })\n}\n\nvar QItemMain = {\n name: 'q-item-main',\n functional: true,\n props: {\n label: String,\n labelLines: [String, Number],\n sublabel: String,\n sublabelLines: [String, Number],\n inset: Boolean,\n tag: {\n type: String,\n default: 'div'\n }\n },\n render: function render (h, ctx) {\n var\n data = ctx.data,\n classes = data.staticClass,\n prop = ctx.props,\n child = [];\n\n if (prop.label) {\n child.push(text(h, 'label', prop.label, prop.labelLines));\n }\n if (prop.sublabel) {\n child.push(text(h, 'sublabel', prop.sublabel, prop.sublabelLines));\n }\n\n child.push(ctx.children);\n data.staticClass = \"q-item-main q-item-section\" + (prop.inset ? ' q-item-main-inset' : '') + (classes ? (\" \" + classes) : '');\n\n return h(prop.tag, data, child)\n }\n};\n\nvar QItemSide = {\n name: 'q-item-side',\n functional: true,\n props: {\n right: Boolean,\n\n icon: String,\n inverted: Boolean,\n\n avatar: String,\n letter: {\n type: String,\n validator: function (v) { return v.length === 1; }\n },\n image: String,\n stamp: String,\n\n color: String,\n tag: {\n type: String,\n default: 'div'\n }\n },\n render: function render (h, ctx) {\n var\n data = ctx.data,\n prop = ctx.props,\n cls = data.staticClass;\n\n data.staticClass = \"q-item-side q-item-side-\" + (prop.right ? 'right' : 'left') + \" q-item-section\" + (prop.color ? (\" text-\" + (prop.color)) : '') + (cls ? (\" \" + cls) : '');\n\n if (prop.image) {\n if (!data.hasOwnProperty('attrs')) {\n data.attrs = {};\n }\n data.attrs.src = prop.image;\n data.staticClass += ' q-item-image';\n return h('img', data)\n }\n\n var child = [];\n\n if (prop.stamp) {\n child.push(h('div', {\n staticClass: 'q-item-stamp',\n domProps: {\n innerHTML: prop.stamp\n }\n }));\n }\n if (prop.icon) {\n child.push(h(QIcon, {\n props: { name: prop.icon },\n staticClass: 'q-item-icon',\n class: { 'q-item-icon-inverted': prop.inverted }\n }));\n }\n if (prop.avatar) {\n child.push(h('img', {\n attrs: { src: prop.avatar },\n staticClass: 'q-item-avatar'\n }));\n }\n if (prop.letter) {\n child.push(h(\n 'div',\n { staticClass: 'q-item-letter' },\n prop.letter\n ));\n }\n\n child.push(ctx.children);\n return h(prop.tag, data, child)\n }\n};\n\nvar QItemTile = {\n name: 'q-item-tile',\n functional: true,\n props: {\n icon: String,\n inverted: Boolean,\n\n image: Boolean,\n avatar: Boolean,\n letter: Boolean,\n stamp: Boolean,\n\n label: Boolean,\n sublabel: Boolean,\n lines: [Number, String],\n\n color: String,\n tag: {\n type: String,\n default: 'div'\n }\n },\n render: function render (h, ctx) {\n var\n data = ctx.data,\n prop = ctx.props,\n cls = data.staticClass,\n type = getType(prop),\n icon = prop.icon || prop.invertedIcon;\n\n data.staticClass = \"q-item-\" + type + (prop.color ? (\" text-\" + (prop.color)) : '') + (cls ? (\" \" + cls) : '');\n\n if (icon) {\n data.props = { name: icon };\n if (prop.inverted) {\n data.staticClass += ' q-item-icon-inverted';\n }\n return h(QIcon, data, ctx.children)\n }\n if ((prop.label || prop.sublabel) && prop.lines) {\n if (prop.lines === '1' || prop.lines === 1) {\n data.staticClass += ' ellipsis';\n }\n data.style = [data.style, textStyle(prop.lines)];\n }\n\n return h(prop.tag, data, ctx.children)\n }\n};\n\nfunction push (child, h, name, slot, replace, conf) {\n var defaultProps = { props: { right: conf.right } };\n\n if (slot && replace) {\n child.push(h(name, defaultProps, slot));\n return\n }\n var props, v = false;\n if (!slot) {\n for (var p in conf) {\n if (conf.hasOwnProperty(p)) {\n v = conf[p];\n if (v !== void 0 && v !== true) {\n props = true;\n break\n }\n }\n }\n }\n if (props || slot) {\n child.push(h(name, props ? {props: conf} : defaultProps, slot));\n }\n}\n\nvar QItemWrapper = {\n name: 'q-item-wrapper',\n functional: true,\n props: {\n cfg: {\n type: Object,\n default: function () { return ({}); }\n },\n slotReplace: Boolean\n },\n render: function render (h, ctx) {\n var\n cfg = ctx.props.cfg,\n replace = ctx.props.slotReplace,\n slot = ctx.slots(),\n child = [];\n\n push(child, h, QItemSide, slot.left, replace, {\n icon: cfg.icon,\n color: cfg.leftColor,\n avatar: cfg.avatar,\n letter: cfg.letter,\n image: cfg.image\n });\n\n push(child, h, QItemMain, slot.main, replace, {\n label: cfg.label,\n sublabel: cfg.sublabel,\n labelLines: cfg.labelLines,\n sublabelLines: cfg.sublabelLines,\n inset: cfg.inset\n });\n\n push(child, h, QItemSide, slot.right, replace, {\n right: true,\n icon: cfg.rightIcon,\n color: cfg.rightColor,\n avatar: cfg.rightAvatar,\n letter: cfg.rightLetter,\n image: cfg.rightImage,\n stamp: cfg.stamp\n });\n\n if (slot.default) {\n child.push(slot.default);\n }\n\n ctx.data.props = cfg;\n return h(QItem, ctx.data, child)\n }\n};\n\nvar QList = {\n name: 'q-list',\n functional: true,\n props: {\n noBorder: Boolean,\n dark: Boolean,\n dense: Boolean,\n sparse: Boolean,\n striped: Boolean,\n stripedOdd: Boolean,\n separator: Boolean,\n insetSeparator: Boolean,\n multiline: Boolean,\n highlight: Boolean,\n link: Boolean\n },\n render: function render (h, ctx) {\n var\n data = ctx.data,\n prop = ctx.props;\n\n data.class = {\n 'q-list': true,\n 'no-border': prop.noBorder,\n 'q-list-dark': prop.dark,\n 'q-list-dense': prop.dense,\n 'q-list-sparse': prop.sparse,\n 'q-list-striped': prop.striped,\n 'q-list-striped-odd': prop.stripedOdd,\n 'q-list-separator': prop.separator,\n 'q-list-inset-separator': prop.insetSeparator,\n 'q-list-multiline': prop.multiline,\n 'q-list-highlight': prop.highlight,\n 'q-list-link': prop.link\n };\n\n return h(\n 'div',\n data,\n ctx.children\n )\n }\n};\n\nvar QListHeader = {\n name: 'q-list-header',\n functional: true,\n props: {\n inset: Boolean\n },\n render: function render (h, ctx) {\n var\n data = ctx.data,\n cls = data.staticClass,\n prop = ctx.props;\n\n data.staticClass = \"q-list-header \" + (prop.inset ? ' q-list-header-inset' : '') + (cls ? (\" \" + cls) : '');\n\n return h('div', data, ctx.children)\n }\n};\n\nfunction prevent (e) {\n e.preventDefault();\n e.stopPropagation();\n}\n\nvar QAutocomplete = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-popover',{ref:\"popover\",attrs:{\"fit\":\"\",\"offset\":[0, 10],\"anchor-click\":false},on:{\"close\":function($event){_vm.$emit('close');},\"open\":function($event){_vm.$emit('open');}}},[_c('div',{staticClass:\"list no-border\",class:{separator: _vm.separator},style:(_vm.computedWidth)},_vm._l((_vm.computedResults),function(result,index){return _c('q-item-wrapper',{key:result.id || JSON.stringify(result),class:{active: _vm.selectedIndex === index},attrs:{\"cfg\":result,\"link\":\"\"},on:{\"click\":function($event){_vm.setValue(result);}}})}))])},staticRenderFns: [],\n name: 'q-autocomplete',\n components: {\n QInput: QInput,\n QPopover: QPopover,\n QItemWrapper: QItemWrapper\n },\n props: {\n minCharacters: {\n type: Number,\n default: 1\n },\n maxResults: {\n type: Number,\n default: 6\n },\n debounce: {\n type: Number,\n default: 500\n },\n filter: {\n type: Function,\n default: filter\n },\n staticData: Object,\n separator: Boolean\n },\n inject: ['__input', '__inputParent'],\n data: function data () {\n return {\n searchId: '',\n results: [],\n selectedIndex: -1,\n width: 0,\n enterKey: false,\n timer: null\n }\n },\n watch: {\n '__input.val': function _input_val () {\n if (this.enterKey) {\n this.enterKey = false;\n }\n else {\n this.__delayTrigger();\n }\n }\n },\n computed: {\n computedResults: function computedResults () {\n if (this.maxResults && this.results.length > 0) {\n return this.results.slice(0, this.maxResults)\n }\n },\n computedWidth: function computedWidth () {\n return {minWidth: this.width}\n },\n searching: function searching () {\n return this.searchId.length > 0\n }\n },\n methods: {\n trigger: function trigger () {\n var this$1 = this;\n\n if (!this.__input.hasFocus()) {\n return\n }\n var terms = this.__input.val;\n this.width = width(this.inputEl) + 'px';\n var searchId = uid();\n this.searchId = searchId;\n\n if (terms.length < this.minCharacters) {\n this.searchId = '';\n this.__clearSearch();\n this.close();\n return\n }\n\n if (this.staticData) {\n this.searchId = '';\n this.results = this.filter(terms, this.staticData);\n if (this.$q.platform.is.desktop) {\n this.selectedIndex = 0;\n }\n this.$refs.popover.open();\n return\n }\n\n this.close();\n this.__input.loading = true;\n this.$emit('search', terms, function (results) {\n if (!results || this$1.searchId !== searchId) {\n return\n }\n\n this$1.__clearSearch();\n\n if (this$1.results === results) {\n return\n }\n\n if (Array.isArray(results) && results.length > 0) {\n this$1.results = results;\n if (this$1.$refs && this$1.$refs.popover) {\n if (this$1.$q.platform.is.desktop) {\n this$1.selectedIndex = 0;\n }\n this$1.$refs.popover.open();\n }\n return\n }\n\n this$1.close();\n });\n },\n close: function close () {\n this.$refs.popover.close();\n this.results = [];\n this.selectedIndex = -1;\n },\n __clearSearch: function __clearSearch () {\n clearTimeout(this.timer);\n this.__input.loading = false;\n this.searchId = '';\n },\n setValue: function setValue (result) {\n var suffix = this.__inputParent ? 'Parent' : '';\n this[(\"__input\" + suffix)].set(this.staticData ? result[this.staticData.field] : result.value);\n\n this.$emit('selected', result);\n this.__clearSearch();\n this.close();\n },\n move: function move (offset$$1) {\n this.selectedIndex = normalizeToInterval(\n this.selectedIndex + offset$$1,\n 0,\n this.computedResults.length - 1\n );\n },\n setCurrentSelection: function setCurrentSelection () {\n this.enterKey = true;\n if (this.selectedIndex >= 0) {\n this.setValue(this.results[this.selectedIndex]);\n }\n },\n __delayTrigger: function __delayTrigger () {\n this.__clearSearch();\n if (!this.__input.hasFocus()) {\n return\n }\n if (this.staticData) {\n this.trigger();\n return\n }\n this.timer = setTimeout(this.trigger, this.debounce);\n },\n __handleKeypress: function __handleKeypress (e) {\n switch (e.keyCode || e.which) {\n case 38: // up\n this.__moveCursor(-1, e);\n break\n case 40: // down\n this.__moveCursor(1, e);\n break\n case 13: // enter\n this.setCurrentSelection();\n prevent(e);\n break\n case 27: // escape\n this.__clearSearch();\n break\n }\n },\n __moveCursor: function __moveCursor (offset$$1, e) {\n prevent(e);\n\n if (!this.$refs.popover.opened) {\n this.trigger();\n }\n else {\n this.move(offset$$1);\n }\n }\n },\n mounted: function mounted () {\n var this$1 = this;\n\n if (this.__input === void 0) {\n console.error('Autocomplete needs to be inserted into an input form component.');\n return\n }\n this.__input.register();\n if (this.__inputParent) {\n this.__inputParent.setChildDebounce(true);\n }\n this.$nextTick(function () {\n this$1.inputEl = this$1.__input.getEl();\n this$1.inputEl.addEventListener('keyup', this$1.__handleKeypress);\n });\n },\n beforeDestroy: function beforeDestroy () {\n this.__clearSearch();\n this.__input.unregister();\n if (this.__inputParent) {\n this.__inputParent.setChildDebounce(false);\n }\n if (this.inputEl) {\n this.inputEl.removeEventListener('keydown', this.__handleKeypress);\n this.close();\n }\n }\n};\n\nvar QBtn = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{directives:[{name:\"ripple\",rawName:\"v-ripple.mat\",value:(!_vm.isDisabled),expression:\"!isDisabled\",modifiers:{\"mat\":true}}],staticClass:\"q-btn row inline flex-center q-focusable q-hoverable relative-position\",class:_vm.classes,on:{\"click\":_vm.click}},[_c('div',{staticClass:\"desktop-only q-focus-helper\"}),_vm._v(\" \"),(_vm.loading && _vm.hasPercentage)?_c('div',{staticClass:\"q-btn-progress absolute-full\",class:{'q-btn-dark-progress': _vm.darkPercentage},style:({width: _vm.width})}):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"q-btn-inner row col flex-center\"},[(_vm.loading)?_vm._t(\"loading\",[_c('q-spinner')]):[(_vm.icon)?_c('q-icon',{class:{'on-left': !_vm.round},attrs:{\"name\":_vm.icon}}):_vm._e(),_vm._v(\" \"),_vm._t(\"default\"),_vm._v(\" \"),(!_vm.round && _vm.iconRight)?_c('q-icon',{staticClass:\"on-right\",attrs:{\"name\":_vm.iconRight}}):_vm._e()]],2)])},staticRenderFns: [],\n name: 'q-btn',\n components: {\n QSpinner: QSpinner,\n QIcon: QIcon\n },\n directives: {\n Ripple: Ripple\n },\n props: {\n value: Boolean,\n disable: Boolean,\n noCaps: {\n type: Boolean,\n default: false\n },\n icon: String,\n iconRight: String,\n round: Boolean,\n outline: Boolean,\n flat: Boolean,\n rounded: Boolean,\n push: Boolean,\n small: Boolean,\n big: Boolean,\n color: String,\n glossy: Boolean,\n\n loader: Boolean,\n percentage: Number,\n darkPercentage: Boolean\n },\n data: function data () {\n return {\n loading: this.value || false\n }\n },\n watch: {\n value: function value (val) {\n if (this.loading !== val) {\n this.loading = val;\n }\n }\n },\n computed: {\n size: function size () {\n return (\"q-btn-\" + (this.small ? 'small' : (this.big ? 'big' : 'standard')))\n },\n shape: function shape () {\n return (\"q-btn-\" + (this.round ? 'round' : 'rectangle'))\n },\n hasPercentage: function hasPercentage () {\n return this.percentage !== void 0\n },\n width: function width () {\n return ((between(this.percentage, 0, 100)) + \"%\")\n },\n isDisabled: function isDisabled () {\n return this.disable || this.loading\n },\n classes: function classes () {\n var cls = [this.shape, this.size];\n\n if (this.flat) {\n cls.push('q-btn-flat');\n }\n else if (this.outline) {\n cls.push('q-btn-outline');\n }\n else if (this.push) {\n cls.push('q-btn-push');\n }\n\n this.isDisabled && cls.push('disabled');\n this.noCaps && cls.push('q-btn-no-uppercase');\n this.rounded && cls.push('q-btn-rounded');\n this.glossy && cls.push('glossy');\n\n if (this.color) {\n if (this.flat || this.outline) {\n cls.push((\"text-\" + (this.color)));\n }\n else {\n cls.push((\"bg-\" + (this.color)));\n cls.push(\"text-white\");\n }\n }\n\n return cls\n }\n },\n methods: {\n click: function click (e) {\n var this$1 = this;\n\n this.$el.blur();\n\n if (this.isDisabled) {\n return\n }\n if (this.loader !== false || this.$slots.loading) {\n this.loading = true;\n this.$emit('input', true);\n }\n this.$emit('click', e, function () {\n this$1.loading = false;\n this$1.$emit('input', false);\n });\n }\n }\n};\n\nvar QCard = {\n name: 'q-card',\n functional: true,\n props: {\n square: Boolean,\n flat: Boolean,\n inline: Boolean,\n color: String\n },\n render: function render (h, ctx) {\n var\n data = ctx.data,\n classes = data.staticClass,\n prop = ctx.props;\n\n var cls = ['q-card'];\n if (prop.square) {\n cls.push('no-border-radius');\n }\n if (prop.flat) {\n cls.push('no-shadow');\n }\n if (prop.inline) {\n cls.push('inline-block');\n }\n if (prop.color) {\n cls.push((\"bg-\" + (prop.color) + \" text-white q-card-dark\"));\n }\n\n data.staticClass = \"\" + (cls.join(' ')) + (classes ? (\" \" + classes) : '');\n\n return h(\n 'div',\n data,\n ctx.children\n )\n }\n};\n\nvar QCardTitle = {\n name: 'q-card-title',\n functional: true,\n render: function render (h, ctx) {\n var\n data = ctx.data,\n cls = ctx.data.staticClass,\n slots = ctx.slots();\n\n data.staticClass = \"q-card-primary q-card-container row no-wrap\" + (cls ? (\" \" + cls) : '');\n return h(\n 'div',\n data,\n [\n h('div', {staticClass: 'col column'}, [\n h('div', {staticClass: 'q-card-title'}, slots.default),\n h('div', {staticClass: 'q-card-subtitle'}, slots.subtitle)\n ]),\n h('div', {staticClass: 'col-auto self-center q-card-title-extra'}, slots.right)\n ]\n )\n }\n};\n\nvar QCardMain = {\n name: 'q-card-main',\n functional: true,\n render: function render (h, ctx) {\n var\n data = ctx.data,\n cls = data.staticClass;\n\n data.staticClass = \"q-card-main q-card-container\" + (cls ? (\" \" + cls) : '');\n\n return h('div', data, ctx.children)\n }\n};\n\nvar QCardActions = {\n name: 'q-card-actions',\n functional: true,\n props: {\n vertical: Boolean,\n align: {\n type: String,\n default: 'start',\n validator: function (v) { return ['start', 'center', 'end', 'around'].includes(v); }\n }\n },\n render: function render (h, ctx) {\n var\n data = ctx.data,\n classes = data.staticClass,\n prop = ctx.props;\n\n data.staticClass = \"q-card-actions \" +\n \"q-card-actions-\" + (prop.vertical ? 'vert column justify-start' : 'horiz row') + \" \" +\n (prop.vertical ? 'items' : 'justify') + \"-\" + (prop.align) +\n \"\" + (classes ? (\" \" + classes) : '');\n\n return h('div', data, ctx.children)\n }\n};\n\nvar QCardMedia = {\n name: 'q-card-media',\n functional: true,\n props: {\n overlayPosition: {\n type: String,\n default: 'bottom',\n validator: function (v) { return ['top', 'bottom', 'full'].includes(v); }\n }\n },\n render: function render (h, ctx) {\n var\n data = ctx.data,\n cls = data.staticClass,\n slots = ctx.slots();\n var child = [slots.default];\n\n data.staticClass = \"q-card-media relative-position\" + (cls ? (\" \" + cls) : '');\n\n if (slots.overlay) {\n child.push(h(\n 'div',\n {\n staticClass: (\"q-card-media-overlay absolute-\" + (ctx.props.overlayPosition))\n },\n slots.overlay\n ));\n }\n\n return h('div', data, child)\n }\n};\n\nvar QCardSeparator = {\n name: 'q-card-separator',\n functional: true,\n props: {\n inset: Boolean\n },\n render: function render (h, ctx) {\n var\n data = ctx.data,\n cls = data.staticClass;\n\n data.staticClass = \"q-card-separator\" + (ctx.props.inset ? ' inset' : '') + (cls ? (\" \" + cls) : '');\n\n return h('div', data, ctx.children)\n }\n};\n\nfunction getDirection (mod) {\n if (Object.keys(mod).length === 0) {\n return {\n horizontal: true,\n vertical: true\n }\n }\n\n var dir = {};['horizontal', 'vertical'].forEach(function (direction) {\n if (mod[direction]) {\n dir[direction] = true;\n }\n });\n\n return dir\n}\n\nfunction updateClasses (el, dir, scroll) {\n el.classList.add('q-touch');\n\n if (!scroll) {\n if (dir.horizontal && !dir.vertical) {\n el.classList.add('q-touch-y');\n el.classList.remove('q-touch-x');\n }\n else if (!dir.horizontal && dir.vertical) {\n el.classList.add('q-touch-x');\n el.classList.remove('q-touch-y');\n }\n }\n}\n\nfunction processChanges (evt, ctx, isFinal) {\n var\n direction,\n pos = position(evt),\n distX = pos.left - ctx.event.x,\n distY = pos.top - ctx.event.y,\n absDistX = Math.abs(distX),\n absDistY = Math.abs(distY);\n\n if (ctx.direction.horizontal && !ctx.direction.vertical) {\n direction = distX < 0 ? 'left' : 'right';\n }\n else if (!ctx.direction.horizontal && ctx.direction.vertical) {\n direction = distY < 0 ? 'up' : 'down';\n }\n else if (absDistX >= absDistY) {\n direction = distX < 0 ? 'left' : 'right';\n }\n else {\n direction = distY < 0 ? 'up' : 'down';\n }\n\n return {\n evt: evt,\n position: pos,\n direction: direction,\n isFirst: ctx.event.isFirst,\n isFinal: Boolean(isFinal),\n duration: new Date().getTime() - ctx.event.time,\n distance: {\n x: absDistX,\n y: absDistY\n },\n delta: {\n x: pos.left - ctx.event.lastX,\n y: pos.top - ctx.event.lastY\n }\n }\n}\n\nfunction shouldTrigger (ctx, changes) {\n if (ctx.direction.horizontal && ctx.direction.vertical) {\n return true\n }\n if (ctx.direction.horizontal && !ctx.direction.vertical) {\n return Math.abs(changes.delta.x) > 0\n }\n if (!ctx.direction.horizontal && ctx.direction.vertical) {\n return Math.abs(changes.delta.y) > 0\n }\n}\n\nvar TouchPan = {\n name: 'touch-pan',\n bind: function bind (el, binding) {\n var mouse = !binding.modifiers.nomouse;\n\n var ctx = {\n handler: binding.value,\n scroll: binding.modifiers.scroll,\n direction: getDirection(binding.modifiers),\n\n mouseStart: function mouseStart (evt) {\n if (mouse) {\n document.addEventListener('mousemove', ctx.mouseMove);\n document.addEventListener('mouseup', ctx.mouseEnd);\n }\n ctx.start(evt);\n },\n start: function start (evt) {\n var pos = position(evt);\n ctx.event = {\n x: pos.left,\n y: pos.top,\n time: new Date().getTime(),\n detected: false,\n prevent: ctx.direction.horizontal && ctx.direction.vertical,\n isFirst: true,\n lastX: pos.left,\n lastY: pos.top\n };\n },\n mouseMove: function mouseMove (evt) {\n ctx.event.prevent = true;\n ctx.move(evt);\n },\n move: function move (evt) {\n if (ctx.event.prevent) {\n if (!ctx.scroll) {\n evt.preventDefault();\n }\n var changes = processChanges(evt, ctx, false);\n if (shouldTrigger(ctx, changes)) {\n ctx.handler(changes);\n ctx.event.lastX = changes.position.left;\n ctx.event.lastY = changes.position.top;\n ctx.event.isFirst = false;\n }\n return\n }\n if (ctx.event.detected) {\n return\n }\n\n ctx.event.detected = true;\n var\n pos = position(evt),\n distX = pos.left - ctx.event.x,\n distY = pos.top - ctx.event.y;\n\n if (ctx.direction.horizontal && !ctx.direction.vertical) {\n if (Math.abs(distX) > Math.abs(distY)) {\n evt.preventDefault();\n ctx.event.prevent = true;\n }\n }\n else if (Math.abs(distX) < Math.abs(distY)) {\n ctx.event.prevent = true;\n }\n },\n mouseEnd: function mouseEnd (evt) {\n if (mouse) {\n document.removeEventListener('mousemove', ctx.mouseMove);\n document.removeEventListener('mouseup', ctx.mouseEnd);\n }\n ctx.end(evt);\n },\n end: function end (evt) {\n if (!ctx.event.prevent || ctx.event.isFirst) {\n return\n }\n\n ctx.handler(processChanges(evt, ctx, true));\n }\n };\n\n el.__qtouchpan = ctx;\n updateClasses(el, ctx.direction, ctx.scroll);\n if (mouse) {\n el.addEventListener('mousedown', ctx.mouseStart);\n }\n el.addEventListener('touchstart', ctx.start);\n el.addEventListener('touchmove', ctx.move);\n el.addEventListener('touchend', ctx.end);\n },\n update: function update (el, binding) {\n if (binding.oldValue !== binding.value) {\n el.__qtouchpan.handler = binding.value;\n }\n },\n unbind: function unbind (el, binding) {\n var ctx = el.__qtouchpan;\n el.removeEventListener('touchstart', ctx.start);\n el.removeEventListener('mousedown', ctx.mouseStart);\n el.removeEventListener('touchmove', ctx.move);\n el.removeEventListener('touchend', ctx.end);\n delete el.__qtouchpan;\n }\n};\n\nfunction isDate (v) {\n return Object.prototype.toString.call(v) === '[object Date]'\n}\n\n\n\nfunction isNumber (v) {\n return typeof v === 'number' && isFinite(v)\n}\n\nvar linear = function (t) { return t; };\n\nvar easeInQuad = function (t) { return t * t; };\nvar easeOutQuad = function (t) { return t * (2 - t); };\nvar easeInOutQuad = function (t) { return t < 0.5\n ? 2 * t * t\n : -1 + (4 - 2 * t) * t; };\n\nvar easeInCubic = function (t) { return Math.pow( t, 3 ); };\nvar easeOutCubic = function (t) { return 1 + Math.pow( (t - 1), 3 ); };\nvar easeInOutCubic = function (t) { return t < 0.5\n ? 4 * Math.pow( t, 3 )\n : 1 + (t - 1) * Math.pow( (2 * t - 2), 2 ); };\n\nvar easeInQuart = function (t) { return Math.pow( t, 4 ); };\nvar easeOutQuart = function (t) { return 1 - Math.pow( (t - 1), 4 ); };\nvar easeInOutQuart = function (t) { return t < 0.5\n ? 8 * Math.pow( t, 4 )\n : 1 - 8 * Math.pow( (t - 1), 4 ); };\n\nvar easeInQuint = function (t) { return Math.pow( t, 5 ); };\nvar easeOutQuint = function (t) { return 1 + Math.pow( (t - 1), 5 ); };\nvar easeInOutQuint = function (t) { return t < 0.5\n ? 16 * Math.pow( t, 5 )\n : 1 + 16 * Math.pow( (t - 1), 5 ); };\n\nvar easeInCirc = function (t) { return -1 * Math.sqrt(1 - Math.pow( t, 2 )) + 1; };\nvar easeOutCirc = function (t) { return Math.sqrt(-1 * (t - 2) * t); };\nvar easeInOutCirc = function (t) { return t < 0.5\n ? 0.5 * (1 - Math.sqrt(1 - 4 * t * t))\n : 0.5 * (1 + Math.sqrt(-3 + 8 * t - 4 * t * t)); };\n\nvar overshoot = function (t) { return -1 * (Math.pow( Math.E, (-6.3 * t) )) * (Math.cos(5 * t)) + 1; };\n\n/* -- Material Design curves -- */\n\n/**\n * Faster ease in, slower ease out\n */\nvar standard = function (t) { return t < 0.4031\n ? 12 * Math.pow( t, 4 )\n : 1 / 1290 * (11 * Math.sqrt(-40000 * t * t + 80000 * t - 23359) - 129); };\n\nvar decelerate = easeOutCubic;\nvar accelerate = easeInCubic;\nvar sharp = easeInOutQuad;\n\n\nvar easing = Object.freeze({\n\tlinear: linear,\n\teaseInQuad: easeInQuad,\n\teaseOutQuad: easeOutQuad,\n\teaseInOutQuad: easeInOutQuad,\n\teaseInCubic: easeInCubic,\n\teaseOutCubic: easeOutCubic,\n\teaseInOutCubic: easeInOutCubic,\n\teaseInQuart: easeInQuart,\n\teaseOutQuart: easeOutQuart,\n\teaseInOutQuart: easeInOutQuart,\n\teaseInQuint: easeInQuint,\n\teaseOutQuint: easeOutQuint,\n\teaseInOutQuint: easeInOutQuint,\n\teaseInCirc: easeInCirc,\n\teaseOutCirc: easeOutCirc,\n\teaseInOutCirc: easeInOutCirc,\n\tovershoot: overshoot,\n\tstandard: standard,\n\tdecelerate: decelerate,\n\taccelerate: accelerate,\n\tsharp: sharp\n});\n\nvar ids = {};\n\nfunction start$1 (ref) {\n var name = ref.name;\n var duration = ref.duration; if ( duration === void 0 ) duration = 300;\n var to = ref.to;\n var from = ref.from;\n var apply = ref.apply;\n var done = ref.done;\n var cancel = ref.cancel;\n var easing = ref.easing;\n\n var id = name;\n var start = performance.now();\n\n if (id) {\n stop(id);\n }\n else {\n id = uid();\n }\n\n var delta = easing || linear;\n var handler = function () {\n var progress = (performance.now() - start) / duration;\n if (progress > 1) {\n progress = 1;\n }\n\n var newPos = from + (to - from) * delta(progress);\n apply(newPos, progress);\n\n if (progress === 1) {\n delete ids[id];\n done && done(newPos);\n return\n }\n\n anim.last = {\n pos: newPos,\n progress: progress\n };\n anim.timer = window.requestAnimationFrame(handler);\n };\n\n var anim = ids[id] = {\n cancel: cancel,\n timer: window.requestAnimationFrame(handler)\n };\n\n return id\n}\n\nfunction stop (id) {\n if (!id) {\n return\n }\n var anim = ids[id];\n if (anim && anim.timer) {\n cancelAnimationFrame(anim.timer);\n anim.cancel && anim.cancel(anim.last);\n delete ids[id];\n }\n}\n\n\nvar animate = Object.freeze({\n\tstart: start$1,\n\tstop: stop\n});\n\nvar CarouselMixin = {\n props: {\n arrows: Boolean,\n dots: Boolean,\n fullscreen: Boolean,\n infinite: Boolean,\n actions: Boolean,\n animation: {\n type: [Number, Boolean],\n default: true\n },\n easing: Function,\n swipeEasing: Function,\n noSwipe: Boolean,\n handleArrowKeys: Boolean,\n autoplay: [Number, Boolean]\n }\n};\n\nvar QCarousel = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-carousel\",class:{fullscreen: _vm.inFullscreen}},[_c('div',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan.horizontal\",value:(_vm.__pan),expression:\"__pan\",modifiers:{\"horizontal\":true}}],staticClass:\"q-carousel-inner\"},[_c('div',{ref:\"track\",staticClass:\"q-carousel-track\",class:{'with-arrows': _vm.arrows, 'with-toolbar': _vm.toolbar, 'infinite-left': _vm.infiniteLeft, 'infinite-right': _vm.infiniteRight},style:(_vm.trackPosition)},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.infiniteRight),expression:\"infiniteRight\"}]}),_vm._v(\" \"),_vm._t(\"slide\"),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.infiniteLeft),expression:\"infiniteLeft\"}]})],2),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.arrows && _vm.canGoToPrevious),expression:\"arrows && canGoToPrevious\"}],staticClass:\"q-carousel-left-button row flex-center\"},[_c('q-icon',{attrs:{\"name\":\"keyboard_arrow_left\"},on:{\"click\":_vm.previous}})],1),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.arrows && _vm.canGoToNext),expression:\"arrows && canGoToNext\"}],staticClass:\"q-carousel-right-button row flex-center\",on:{\"click\":_vm.next}},[_c('q-icon',{attrs:{\"name\":\"keyboard_arrow_right\"}})],1),_vm._v(\" \"),(_vm.toolbar)?_c('div',{staticClass:\"q-carousel-toolbar row items-center justify-end\"},[_c('div',{staticClass:\"q-carousel-dots col row flex-center\"},_vm._l((_vm.slidesNumber),function(n){return (_vm.dots)?_c('q-icon',{key:n,attrs:{\"name\":(n - 1) !== _vm.slide ? 'panorama_fish_eye' : 'lens'},on:{\"click\":function($event){_vm.goToSlide(n - 1);}}}):_vm._e()})),_vm._v(\" \"),_c('div',{staticClass:\"row items-center\"},[_vm._t(\"action\"),_vm._v(\" \"),(_vm.fullscreen)?_c('q-icon',{attrs:{\"name\":_vm.inFullscreen ? 'fullscreen_exit' : 'fullscreen'},on:{\"click\":_vm.toggleFullscreen}}):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),_vm._t(\"default\")],2)])},staticRenderFns: [],\n name: 'q-carousel',\n components: {\n QIcon: QIcon\n },\n directives: {\n TouchPan: TouchPan\n },\n mixins: [CarouselMixin],\n data: function data () {\n return {\n position: 0,\n slide: 0,\n positionSlide: 0,\n slidesNumber: 0,\n inFullscreen: false,\n animUid: false\n }\n },\n watch: {\n autoplay: function autoplay () {\n this.__planAutoPlay();\n },\n infinite: function infinite () {\n this.__planAutoPlay();\n },\n handleArrowKeys: function handleArrowKeys (v) {\n this.__setArrowKeys(v);\n }\n },\n computed: {\n toolbar: function toolbar () {\n return this.dots || this.fullscreen || this.actions\n },\n trackPosition: function trackPosition () {\n return cssTransform((\"translateX(\" + (this.position) + \"%)\"))\n },\n infiniteRight: function infiniteRight () {\n return this.infinite && this.slidesNumber > 1 && this.positionSlide >= this.slidesNumber\n },\n infiniteLeft: function infiniteLeft () {\n return this.infinite && this.slidesNumber > 1 && this.positionSlide < 0\n },\n canGoToPrevious: function canGoToPrevious () {\n return this.infinite ? this.slidesNumber > 1 : this.slide > 0\n },\n canGoToNext: function canGoToNext () {\n return this.infinite ? this.slidesNumber > 1 : this.slide < this.slidesNumber - 1\n }\n },\n methods: {\n __pan: function __pan (event) {\n var this$1 = this;\n\n if (this.noSwipe || (this.infinite && this.animationInProgress)) {\n return\n }\n if (!this.hasOwnProperty('initialPosition')) {\n this.initialPosition = this.position;\n this.__cleanup();\n }\n\n var delta = (event.direction === 'left' ? -1 : 1) * event.distance.x;\n\n if (\n (this.infinite && this.slidesNumber < 2) ||\n (\n !this.infinite &&\n (\n (this.slide === 0 && delta > 0) ||\n (this.slide === this.slidesNumber - 1 && delta < 0)\n )\n )\n ) {\n delta = delta / 10;\n }\n\n this.position = this.initialPosition + delta / this.$refs.track.offsetWidth * 100;\n this.positionSlide = (event.direction === 'left' ? this.slide + 1 : this.slide - 1);\n\n if (event.isFinal) {\n this.goToSlide(\n event.distance.x < 100\n ? this.slide\n : this.positionSlide,\n function () {\n delete this$1.initialPosition;\n },\n true\n );\n }\n },\n __getSlidesNumber: function __getSlidesNumber () {\n return this.$slots.slide ? this.$slots.slide.length : 0\n },\n previous: function previous (done) {\n if (this.canGoToPrevious) {\n this.goToSlide(this.slide - 1, done);\n }\n },\n next: function next (done) {\n if (this.canGoToNext) {\n this.goToSlide(this.slide + 1, done);\n }\n },\n goToSlide: function goToSlide (slide, done, fromSwipe) {\n var this$1 = this;\n if ( fromSwipe === void 0 ) fromSwipe = false;\n\n var direction = '';\n this.__cleanup();\n\n var finish = function () {\n this$1.$emit('slide', this$1.slide, direction);\n this$1.__planAutoPlay();\n if (typeof done === 'function') {\n done();\n }\n };\n\n if (this.slidesNumber < 2) {\n this.slide = 0;\n this.positionSlide = 0;\n }\n else {\n if (!this.hasOwnProperty('initialPosition')) {\n this.position = -this.slide * 100;\n }\n direction = slide > this.slide ? 'next' : 'previous';\n if (this.infinite) {\n this.slide = normalizeToInterval(slide, 0, this.slidesNumber - 1);\n this.positionSlide = normalizeToInterval(slide, -1, this.slidesNumber);\n }\n else {\n this.slide = between(slide, 0, this.slidesNumber - 1);\n this.positionSlide = this.slide;\n }\n }\n\n var pos = -this.positionSlide * 100;\n\n if (!this.animation) {\n this.position = pos;\n finish();\n return\n }\n\n this.animationInProgress = true;\n\n this.animUid = start$1({\n from: this.position,\n to: pos,\n duration: isNumber(this.animation) ? this.animation : 300,\n easing: fromSwipe\n ? this.swipeEasing || decelerate\n : this.easing || standard,\n apply: function (pos) {\n this$1.position = pos;\n },\n done: function () {\n if (this$1.infinite) {\n this$1.position = -this$1.slide * 100;\n this$1.positionSlide = this$1.slide;\n }\n this$1.animationInProgress = false;\n finish();\n }\n });\n },\n toggleFullscreen: function toggleFullscreen () {\n if (this.inFullscreen) {\n if (!Platform.has.popstate) {\n this.__setFullscreen(false);\n }\n else {\n window.history.go(-1);\n }\n return\n }\n\n this.__setFullscreen(true);\n if (Platform.has.popstate) {\n window.history.pushState({}, '');\n window.addEventListener('popstate', this.__popState);\n }\n },\n __setFullscreen: function __setFullscreen (state) {\n if (this.inFullscreen === state) {\n return\n }\n\n if (state) {\n this.container.replaceChild(this.fillerNode, this.$el);\n document.body.appendChild(this.$el);\n this.inFullscreen = true;\n return\n }\n\n this.inFullscreen = false;\n this.container.replaceChild(this.$el, this.fillerNode);\n },\n __popState: function __popState () {\n if (this.inFullscreen) {\n this.__setFullscreen(false);\n }\n window.removeEventListener('popstate', this.__popState);\n },\n stopAnimation: function stopAnimation () {\n stop(this.animUid);\n this.animationInProgress = false;\n },\n __cleanup: function __cleanup () {\n this.stopAnimation();\n clearTimeout(this.timer);\n },\n __planAutoPlay: function __planAutoPlay () {\n var this$1 = this;\n\n this.$nextTick(function () {\n if (this$1.autoplay) {\n clearTimeout(this$1.timer);\n this$1.timer = setTimeout(\n this$1.next,\n isNumber(this$1.autoplay) ? this$1.autoplay : 5000\n );\n }\n });\n },\n __handleArrowKey: function __handleArrowKey (e) {\n var key = getEventKey(e);\n\n if (key === 37) { // left arrow key\n this.previous();\n }\n else if (key === 39) { // right arrow key\n this.next();\n }\n },\n __setArrowKeys: function __setArrowKeys (/* boolean */ state) {\n var op = (state === true ? 'add' : 'remove') + \"EventListener\";\n document[op]('keydown', this.__handleArrowKey);\n }\n },\n beforeUpdate: function beforeUpdate () {\n var slides = this.__getSlidesNumber();\n if (slides !== this.slidesNumber) {\n this.slidesNumber = slides;\n this.goToSlide(this.slide);\n }\n },\n mounted: function mounted () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.fillerNode = document.createElement('span');\n this$1.container = this$1.$el.parentNode;\n this$1.slidesNumber = this$1.__getSlidesNumber();\n this$1.__planAutoPlay();\n if (this$1.handleArrowKeys) {\n this$1.__setArrowKeys(true);\n }\n });\n },\n beforeDestroy: function beforeDestroy () {\n this.__cleanup();\n if (this.handleArrowKeys) {\n this.__setArrowKeys(false);\n }\n }\n};\n\nvar QChatMessage = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-message\",class:{ 'q-message-sent': _vm.sent, 'q-message-received': !_vm.sent }},[(_vm.label)?_c('p',{staticClass:\"q-message-label text-center\",domProps:{\"innerHTML\":_vm._s(_vm.label)}}):_vm._e(),_vm._v(\" \"),(_vm.avatar)?_c('div',{staticClass:\"q-message-container row items-end no-wrap\"},[_vm._t(\"avatar\",[_c('img',{staticClass:\"q-message-avatar\",attrs:{\"src\":_vm.avatar}})]),_vm._v(\" \"),_c('div',{class:_vm.sizeClass},[(_vm.name)?_c('div',{staticClass:\"q-message-name\",domProps:{\"innerHTML\":_vm._s(_vm.name)}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.text),function(msg){return _c('div',{key:msg,staticClass:\"q-message-text\",class:_vm.messageClass},[_c('span',{staticClass:\"q-message-text-content\",class:_vm.textClass},[_c('div',{domProps:{\"innerHTML\":_vm._s(msg)}}),_vm._v(\" \"),(_vm.stamp)?_c('div',{staticClass:\"q-message-stamp\",domProps:{\"innerHTML\":_vm._s(_vm.stamp)}}):_vm._e()])])}),_vm._v(\" \"),(!_vm.text || !_vm.text.length)?_c('div',{staticClass:\"q-message-text\",class:_vm.messageClass},[_c('span',{staticClass:\"q-message-text-content\",class:_vm.textClass},[_vm._t(\"default\"),_vm._v(\" \"),(_vm.stamp)?_c('div',{staticClass:\"q-message-stamp\",domProps:{\"innerHTML\":_vm._s(_vm.stamp)}}):_vm._e()],2)]):_vm._e()],2)],2):_vm._e()])},staticRenderFns: [],\n name: 'q-chat-message',\n props: {\n sent: Boolean,\n label: String,\n\n bgColor: String,\n textColor: String,\n\n name: String,\n avatar: String,\n text: Array,\n stamp: String,\n size: String\n },\n computed: {\n textClass: function textClass () {\n if (this.textColor) {\n return (\"text-\" + (this.textColor))\n }\n },\n messageClass: function messageClass () {\n if (this.bgColor) {\n return (\"text-\" + (this.bgColor))\n }\n },\n sizeClass: function sizeClass () {\n if (this.size) {\n return (\"col-\" + (this.size))\n }\n }\n }\n};\n\nvar Mixin = {\n props: {\n value: {\n type: [Boolean, Array],\n required: true\n },\n val: {}\n },\n computed: {\n model: {\n get: function get () {\n return this.value\n },\n set: function set (val) {\n if (this.value !== val) {\n this.$emit('input', val);\n }\n }\n },\n isArray: function isArray () {\n return Array.isArray(this.value)\n },\n index: function index () {\n if (this.isArray) {\n return this.model.indexOf(this.val)\n }\n },\n isActive: function isActive () {\n return this.isArray\n ? this.model.indexOf(this.val) > -1\n : this.model\n }\n },\n methods: {\n toggle: function toggle (withBlur) {\n if (withBlur !== false) {\n this.$el.blur();\n }\n\n if (this.disable) {\n return\n }\n if (this.isArray) {\n if (this.index !== -1) {\n this.unselect();\n }\n else {\n this.select();\n }\n return\n }\n this.model = !this.model;\n this.__onChange();\n },\n select: function select () {\n if (this.disable) {\n return\n }\n if (this.isArray) {\n if (this.index === -1) {\n this.model.push(this.val);\n this.__onChange();\n }\n return\n }\n this.model = true;\n this.__onChange();\n },\n unselect: function unselect () {\n if (this.disable) {\n return\n }\n if (this.isArray) {\n if (this.index > -1) {\n this.model.splice(this.index, 1);\n this.__onChange();\n }\n return\n }\n this.model = false;\n this.__onChange();\n },\n __change: function __change (e) {\n if (this.$q.platform.is.ios) {\n this.toggle();\n }\n else {\n this.__onChange();\n }\n },\n __onChange: function __onChange () {\n var this$1 = this;\n\n var ref = this.$refs.ripple;\n if (ref) {\n ref.classList.add('active');\n setTimeout(function () {\n ref.classList.remove('active');\n }, 10);\n }\n this.$nextTick(function () {\n this$1.$emit('change', this$1.model);\n });\n }\n }\n};\n\nvar OptionMixin = {\n props: {\n label: String,\n leftLabel: Boolean,\n color: String,\n disable: Boolean\n },\n computed: {\n classes: function classes () {\n if (this.isActive) {\n var cls = [];\n cls.push('active');\n if (this.color) {\n cls.push((\"text-\" + (this.color)));\n }\n return cls\n }\n }\n }\n};\n\nvar QCheckbox = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-checkbox q-option cursor-pointer no-outline q-focusable row inline no-wrap items-center\",class:{disabled: _vm.disable, reverse: _vm.leftLabel},attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.toggle($event);},\"focus\":function($event){_vm.$emit('focus');},\"blur\":function($event){_vm.$emit('blur');},\"keydown\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"space\",32,$event.key)&&_vm._k($event.keyCode,\"enter\",13,$event.key)){ return null; }$event.preventDefault();_vm.toggle(false);}}},[_c('div',{staticClass:\"q-option-inner relative-position\",class:_vm.classes},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model),expression:\"model\"}],attrs:{\"type\":\"checkbox\",\"disabled\":_vm.disable},domProps:{\"value\":_vm.val,\"checked\":Array.isArray(_vm.model)?_vm._i(_vm.model,_vm.val)>-1:(_vm.model)},on:{\"click\":function($event){$event.stopPropagation();},\"change\":[function($event){var $$a=_vm.model,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.val,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.model=$$a.concat([$$v]));}else{$$i>-1&&(_vm.model=$$a.slice(0,$$i).concat($$a.slice($$i+1)));}}else{_vm.model=$$c;}},_vm.__change]}}),_vm._v(\" \"),_c('div',{staticClass:\"q-focus-helper\"}),_vm._v(\" \"),_c('q-icon',{staticClass:\"q-checkbox-unchecked cursor-pointer\",style:(_vm.uncheckedStyle),attrs:{\"name\":_vm.uncheckedIcon}}),_vm._v(\" \"),_c('q-icon',{staticClass:\"q-checkbox-checked cursor-pointer absolute-full\",style:(_vm.checkedStyle),attrs:{\"name\":_vm.checkedIcon}}),_vm._v(\" \"),(_vm.$q.theme !== 'ios')?_c('div',{ref:\"ripple\",staticClass:\"q-radial-ripple\"}):_vm._e()],1),_vm._v(\" \"),(_vm.label)?_c('span',{staticClass:\"q-option-label\",domProps:{\"innerHTML\":_vm._s(_vm.label)}}):_vm._e(),_vm._v(\" \"),_vm._t(\"default\")],2)},staticRenderFns: [],\n name: 'q-checkbox',\n mixins: [Mixin, OptionMixin],\n components: {\n QIcon: QIcon\n },\n props: {\n checkedIcon: {\n type: String,\n default: current === 'ios' ? 'check_circle' : 'check_box'\n },\n uncheckedIcon: {\n type: String,\n default: current === 'ios' ? 'radio_button_unchecked' : 'check_box_outline_blank'\n }\n },\n computed: {\n checkedStyle: function checkedStyle () {\n return this.isActive\n ? {transition: 'opacity 0ms cubic-bezier(0.23, 1, 0.32, 1) 0ms, transform 800ms cubic-bezier(0.23, 1, 0.32, 1) 0ms', opacity: 1, transform: 'scale(1)'}\n : {transition: 'opacity 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms, transform 0ms cubic-bezier(0.23, 1, 0.32, 1) 450ms', opacity: 0, transform: 'scale(0)'}\n },\n uncheckedStyle: function uncheckedStyle () {\n return this.isActive\n ? {transition: 'opacity 650ms cubic-bezier(0.23, 1, 0.32, 1) 150ms', opacity: 0}\n : {transition: 'opacity 1000ms cubic-bezier(0.23, 1, 0.32, 1) 200ms', opacity: 1}\n }\n }\n};\n\nvar QChip = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-chip row no-wrap inline items-center\",class:( obj = { tag: _vm.tag, square: _vm.square, floating: _vm.floating, pointing: _vm.pointing, small: _vm.small || _vm.floating, 'text-white': _vm.color }, obj[(\"pointing-\" + (_vm.pointing))] = _vm.pointing, obj[(\"bg-\" + (_vm.color))] = _vm.color, obj ),on:{\"click\":_vm.__onClick}},[(_vm.icon || _vm.avatar)?_c('div',{staticClass:\"q-chip-side chip-left row flex-center\",class:{'chip-detail': _vm.detail}},[(_vm.icon)?_c('q-icon',{attrs:{\"name\":_vm.icon}}):(_vm.avatar)?_c('img',{attrs:{\"src\":_vm.avatar}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"q-chip-main\"},[_vm._t(\"default\")],2),_vm._v(\" \"),(_vm.iconRight)?_c('q-icon',{staticClass:\"on-right\",attrs:{\"name\":_vm.iconRight}}):_vm._e(),_vm._v(\" \"),(_vm.closable)?_c('div',{staticClass:\"q-chip-side chip-right row flex-center\"},[(_vm.closable)?_c('q-icon',{staticClass:\"cursor-pointer\",attrs:{\"name\":\"cancel\"},on:{\"click\":function($event){$event.stopPropagation();_vm.$emit('close');}}}):_vm._e()],1):_vm._e()],1)\nvar obj;},staticRenderFns: [],\n name: 'q-chip',\n components: {\n QIcon: QIcon\n },\n props: {\n small: Boolean,\n tag: Boolean,\n square: Boolean,\n floating: Boolean,\n pointing: {\n type: String,\n validator: function (v) { return ['up', 'right', 'down', 'left'].includes(v); }\n },\n color: String,\n icon: String,\n iconRight: String,\n avatar: String,\n closable: Boolean,\n detail: Boolean\n },\n methods: {\n __onClick: function __onClick (e) {\n this.$emit('click', e);\n }\n }\n};\n\nvar QChipsInput = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-input-frame',{staticClass:\"q-chips-input\",attrs:{\"prefix\":_vm.prefix,\"suffix\":_vm.suffix,\"stack-label\":_vm.stackLabel,\"float-label\":_vm.floatLabel,\"error\":_vm.error,\"disable\":_vm.disable,\"inverted\":_vm.inverted,\"dark\":_vm.dark,\"before\":_vm.before,\"after\":_vm.after,\"color\":_vm.inverted ? _vm.frameColor || _vm.color : _vm.color,\"focused\":_vm.focused,\"length\":_vm.length,\"additional-length\":_vm.input.length > 0},on:{\"click\":_vm.__onClick}},[_c('div',{staticClass:\"col row items-center group q-input-chips\"},[_vm._l((_vm.value),function(label,index){return _c('q-chip',{key:label,attrs:{\"small\":\"\",\"closable\":!_vm.disable,\"color\":_vm.color},on:{\"close\":function($event){_vm.remove(index);}}},[_vm._v(\" \"+_vm._s(label)+\" \")])}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.input),expression:\"input\"}],ref:\"input\",staticClass:\"col q-input-target\",class:[(\"text-\" + (_vm.align))],attrs:{\"name\":_vm.name,\"placeholder\":_vm.inputPlaceholder,\"disabled\":_vm.disable,\"max-length\":_vm.maxLength},domProps:{\"value\":(_vm.input)},on:{\"focus\":_vm.__onFocus,\"blur\":_vm.__onInputBlur,\"keydown\":_vm.__handleKey,\"keyup\":_vm.__onKeyup,\"input\":function($event){if($event.target.composing){ return; }_vm.input=$event.target.value;}}})],2),_vm._v(\" \"),(!_vm.disable)?_c('q-icon',{staticClass:\"q-if-control self-end\",class:{invisible: !_vm.input.length},attrs:{\"slot\":\"after\",\"name\":\"send\"},on:{\"click\":function($event){_vm.add();}},slot:\"after\"}):_vm._e()],1)},staticRenderFns: [],\n name: 'q-chips-input',\n mixins: [FrameMixin, InputMixin],\n components: {\n QInputFrame: QInputFrame,\n QChip: QChip\n },\n props: {\n value: {\n type: Array,\n required: true\n },\n frameColor: String\n },\n data: function data () {\n return {\n input: '',\n focused: false\n }\n },\n computed: {\n length: function length () {\n return this.value\n ? this.value.length\n : 0\n }\n },\n methods: {\n add: function add (value) {\n if ( value === void 0 ) value = this.input;\n\n if (!this.disable && value) {\n this.value.push(value);\n this.$emit('change', this.value);\n this.input = '';\n }\n },\n remove: function remove (index) {\n if (!this.disable && index >= 0 && index < this.length) {\n this.value.splice(index, 1);\n this.$emit('change', this.value);\n }\n },\n __onInputBlur: function __onInputBlur (e) {\n this.__onBlur(e);\n },\n __handleKey: function __handleKey (e) {\n // ENTER key\n if (e.which === 13 || e.keyCode === 13) {\n this.add();\n }\n // Backspace key\n else if (e.which === 8 || e.keyCode === 8) {\n if (!this.input.length && this.length) {\n this.remove(this.length - 1);\n }\n }\n else {\n this.__onKeydown(e);\n }\n },\n __onClick: function __onClick () {\n this.focus();\n }\n }\n};\n\nfunction getHeight (el, style$$1) {\n var initial = {\n visibility: el.style.visibility,\n maxHeight: el.style.maxHeight\n };\n\n css(el, {\n visibility: 'hidden',\n maxHeight: ''\n });\n var height$$1 = style$$1.height;\n css(el, initial);\n\n return parseFloat(height$$1)\n}\n\nfunction parseSize (padding) {\n return padding.split(' ').map(function (t) {\n var unit = t.match(/[a-zA-Z]+/) || '';\n if (unit) {\n unit = unit[0];\n }\n return [parseFloat(t), unit]\n })\n}\n\nfunction toggleSlide (el, showing, done) {\n var store = el.__qslidetoggle || {};\n function anim () {\n store.uid = start$1({\n to: showing ? 100 : 0,\n from: store.pos !== null ? store.pos : showing ? 0 : 100,\n apply: function apply (pos) {\n store.pos = pos;\n css(el, {\n maxHeight: ((store.height * pos / 100) + \"px\"),\n padding: store.padding ? store.padding.map(function (t) { return (t[0] * pos / 100) + t[1]; }).join(' ') : '',\n margin: store.margin ? store.margin.map(function (t) { return (t[0] * pos / 100) + t[1]; }).join(' ') : ''\n });\n },\n done: function done$1 () {\n store.uid = null;\n store.pos = null;\n done();\n css(el, store.css);\n }\n });\n el.__qslidetoggle = store;\n }\n\n if (store.uid) {\n stop(store.uid);\n return anim()\n }\n\n store.css = {\n overflowY: el.style.overflowY,\n maxHeight: el.style.maxHeight,\n padding: el.style.padding,\n margin: el.style.margin\n };\n var style$$1 = window.getComputedStyle(el);\n if (style$$1.padding && style$$1.padding !== '0px') {\n store.padding = parseSize(style$$1.padding);\n }\n if (style$$1.margin && style$$1.margin !== '0px') {\n store.margin = parseSize(style$$1.margin);\n }\n store.height = getHeight(el, style$$1);\n store.pos = null;\n el.style.overflowY = 'hidden';\n anim();\n}\n\nvar slideAnimation = {\n enter: function enter (el, done) {\n toggleSlide(el, true, done);\n },\n leave: function leave (el, done) {\n toggleSlide(el, false, done);\n }\n};\n\nvar QSlideTransition = {\n name: 'q-slide-transition',\n functional: true,\n props: {\n appear: Boolean\n },\n render: function render (h, ctx) {\n var data = {\n props: {\n mode: 'out-in',\n css: false,\n appear: ctx.props.appear\n },\n on: slideAnimation\n };\n return h('transition', data, ctx.children)\n }\n};\n\nvar eventName = 'q:collapsible:close';\n\nvar QCollapsible = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-collapsible q-item-division relative-position\",class:[ (\"q-collapsible-\" + (_vm.active ? 'opened' : 'closed')), { 'q-item-separator': _vm.separator, 'q-item-inset-separator': _vm.insetSeparator } ]},[_c('q-item-wrapper',{directives:[{name:\"ripple\",rawName:\"v-ripple.mat\",value:(!_vm.iconToggle && !_vm.disable),expression:\"!iconToggle && !disable\",modifiers:{\"mat\":true}}],class:{disabled: _vm.disable},attrs:{\"cfg\":_vm.cfg},on:{\"click\":_vm.__toggleItem}},[_c('div',{directives:[{name:\"ripple\",rawName:\"v-ripple.mat.stop\",value:(_vm.iconToggle),expression:\"iconToggle\",modifiers:{\"mat\":true,\"stop\":true}}],staticClass:\"cursor-pointer relative-position inline-block\",attrs:{\"slot\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();_vm.toggle($event);}},slot:\"right\"},[_c('q-item-tile',{staticClass:\"transition-generic\",class:{'rotate-180': _vm.active, invisible: _vm.disable},attrs:{\"icon\":\"keyboard_arrow_down\"}})],1)]),_vm._v(\" \"),_c('q-slide-transition',[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.active),expression:\"active\"}]},[_c('div',{staticClass:\"q-collapsible-sub-item relative-position\",class:{indent: _vm.indent}},[_vm._t(\"default\")],2)])])],1)},staticRenderFns: [],\n name: 'q-collapsible',\n components: {\n QItemWrapper: QItemWrapper,\n QItemTile: QItemTile,\n QSlideTransition: QSlideTransition\n },\n directives: {\n Ripple: Ripple\n },\n props: {\n opened: Boolean,\n disable: Boolean,\n indent: Boolean,\n group: String,\n iconToggle: Boolean,\n\n dense: Boolean,\n sparse: Boolean,\n multiline: Boolean,\n separator: Boolean,\n insetSeparator: Boolean,\n\n icon: String,\n image: String,\n avatar: String,\n letter: String,\n label: String,\n sublabel: String,\n labelLines: [String, Number],\n sublabelLines: [String, Number]\n },\n data: function data () {\n return {\n active: this.opened\n }\n },\n watch: {\n opened: function opened (value) {\n this.active = value;\n },\n active: function active (val) {\n if (val && this.group) {\n Events.$emit(eventName, this);\n }\n\n this.$emit(val ? 'open' : 'close');\n }\n },\n computed: {\n cfg: function cfg () {\n return {\n link: !this.iconToggle,\n\n dark: this.dark,\n dense: this.dense,\n sparse: this.sparse,\n multiline: this.multiline,\n\n icon: this.icon,\n image: this.image,\n avatar: this.avatar,\n letter: this.letter,\n\n label: this.label,\n sublabel: this.sublabel,\n labelLines: this.labelLines,\n sublabelLines: this.sublabelLines\n }\n }\n },\n methods: {\n toggle: function toggle () {\n if (!this.disable) {\n this.active = !this.active;\n }\n },\n open: function open () {\n this.active = true;\n },\n close: function close () {\n this.active = false;\n },\n __toggleItem: function __toggleItem () {\n if (!this.iconToggle) {\n this.toggle();\n }\n },\n __eventHandler: function __eventHandler (comp) {\n if (this.group && this !== comp && comp.group === this.group) {\n this.close();\n }\n }\n },\n created: function created () {\n Events.$on(eventName, this.__eventHandler);\n },\n beforeDestroy: function beforeDestroy () {\n Events.$off(eventName, this.__eventHandler);\n }\n};\n\nvar ContextMenuDesktop = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-popover',{ref:\"popover\",attrs:{\"anchor-click\":false},on:{\"open\":function($event){_vm.$emit('open');},\"close\":function($event){_vm.$emit('close');}}},[_vm._t(\"default\")],2)},staticRenderFns: [],\n name: 'q-context-menu',\n components: {\n QPopover: QPopover\n },\n props: {\n disable: Boolean\n },\n methods: {\n close: function close () {\n this.$refs.popover.close();\n },\n __open: function __open (evt) {\n var this$1 = this;\n\n if (this.disable) {\n return\n }\n this.close();\n evt.preventDefault();\n evt.stopPropagation();\n /*\n Opening with a timeout for\n Firefox workaround\n */\n setTimeout(function () {\n this$1.$refs.popover.open(evt);\n }, 100);\n }\n },\n mounted: function mounted () {\n this.target = this.$refs.popover.$el.parentNode;\n this.target.addEventListener('contextmenu', this.__open);\n },\n beforeDestroy: function beforeDestroy () {\n this.target.removeEventListener('contexmenu', this.__open);\n }\n};\n\nvar positions = {\n top: 'items-start justify-center with-backdrop',\n bottom: 'items-end justify-center with-backdrop',\n right: 'items-center justify-end with-backdrop',\n left: 'items-center justify-start with-backdrop'\n};\nvar positionCSS = {\n mat: {\n maxHeight: '80vh',\n height: 'auto'\n },\n ios: {\n maxHeight: '80vh',\n height: 'auto',\n boxShadow: 'none'\n }\n};\n\nfunction additionalCSS (theme, position) {\n var css = {};\n\n if (['left', 'right'].includes(position)) {\n css.maxWidth = '90vw';\n }\n if (theme === 'ios') {\n if (['left', 'top'].includes(position)) {\n css.borderTopLeftRadius = 0;\n }\n if (['right', 'top'].includes(position)) {\n css.borderTopRightRadius = 0;\n }\n if (['left', 'bottom'].includes(position)) {\n css.borderBottomLeftRadius = 0;\n }\n if (['right', 'bottom'].includes(position)) {\n css.borderBottomRightRadius = 0;\n }\n }\n\n return css\n}\n\nvar duration = 200;\nvar openedModalNumber = 0;\n\nvar QModal = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-transition',{attrs:{\"name\":_vm.modalTransition,\"enter\":_vm.enterClass,\"leave\":_vm.leaveClass}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.active),expression:\"active\"}],staticClass:\"modal fullscreen row\",class:_vm.modalClasses,on:{\"mousedown\":function($event){_vm.__dismiss();},\"touchstart\":function($event){_vm.__dismiss();}}},[_c('div',{ref:\"content\",staticClass:\"modal-content scroll\",class:_vm.contentClasses,style:(_vm.modalCss),on:{\"mousedown\":function($event){$event.stopPropagation();},\"touchstart\":function($event){$event.stopPropagation();}}},[_vm._t(\"default\")],2)])])},staticRenderFns: [],\n name: 'q-modal',\n mixins: [ModelToggleMixin],\n components: {\n QTransition: QTransition\n },\n props: {\n position: {\n type: String,\n default: '',\n validator: function validator (val) {\n return val === '' || ['top', 'bottom', 'left', 'right'].includes(val)\n }\n },\n transition: String,\n enterClass: String,\n leaveClass: String,\n positionClasses: {\n type: String,\n default: 'flex-center'\n },\n contentClasses: [Object, Array, String],\n contentCss: [Object, Array, String],\n noBackdropDismiss: {\n type: Boolean,\n default: false\n },\n noEscDismiss: {\n type: Boolean,\n default: false\n },\n minimized: Boolean,\n maximized: Boolean\n },\n data: function data () {\n return {\n active: false,\n toggleInProgress: false\n }\n },\n computed: {\n modalClasses: function modalClasses () {\n var cls = this.position\n ? positions[this.position]\n : this.positionClasses;\n if (this.maximized) {\n return ['maximized', cls]\n }\n else if (this.minimized) {\n return ['minimized', cls]\n }\n return cls\n },\n modalTransition: function modalTransition () {\n if (this.position) {\n return (\"q-modal-\" + (this.position))\n }\n if (this.enterClass === void 0 && this.leaveClass === void 0) {\n return this.transition || 'q-modal'\n }\n },\n modalCss: function modalCss () {\n if (this.position) {\n var css = Array.isArray(this.contentCss)\n ? this.contentCss\n : [this.contentCss];\n\n css.unshift(extend(\n {},\n positionCSS[this.$q.theme],\n additionalCSS(this.$q.theme, this.position)\n ));\n\n return css\n }\n\n return this.contentCss\n }\n },\n methods: {\n open: function open (onShow) {\n var this$1 = this;\n\n if (this.active || this.toggleInProgress) {\n return\n }\n\n this.toggleInProgress = true;\n var body = document.body;\n\n body.appendChild(this.$el);\n body.classList.add('with-modal');\n this.bodyPadding = window.getComputedStyle(body).paddingRight;\n body.style.paddingRight = (getScrollbarWidth()) + \"px\";\n EscapeKey.register(function () {\n if (this$1.noEscDismiss) {\n return\n }\n this$1.close(function () {\n this$1.$emit('escape-key');\n });\n });\n\n this.__popstate = function () {\n if (\n Platform.has.popstate &&\n window.history.state &&\n window.history.state.modalId &&\n window.history.state.modalId >= this$1.__modalId\n ) {\n return\n }\n openedModalNumber--;\n EscapeKey.pop();\n this$1.active = false;\n\n if (Platform.has.popstate) {\n window.removeEventListener('popstate', this$1.__popstate);\n }\n\n setTimeout(function () {\n if (!openedModalNumber) {\n body.classList.remove('with-modal');\n body.style.paddingRight = this$1.bodyPadding;\n }\n if (typeof this$1.__onClose === 'function') {\n this$1.__onClose();\n }\n this$1.toggleInProgress = false;\n this$1.__updateModel(false);\n this$1.$emit('close');\n }, duration);\n };\n\n setTimeout(function () {\n var content = this$1.$refs.content;\n content.scrollTop = 0\n ;['modal-scroll', 'layout-view'].forEach(function (c) {\n [].slice.call(content.getElementsByClassName(c)).forEach(function (el) {\n el.scrollTop = 0;\n });\n });\n }, 10);\n\n this.active = true;\n this.__modalId = ++openedModalNumber;\n if (Platform.has.popstate) {\n window.history.pushState({modalId: this.__modalId}, '');\n window.addEventListener('popstate', this.__popstate);\n }\n\n setTimeout(function () {\n if (typeof onShow === 'function') {\n onShow();\n }\n this$1.toggleInProgress = false;\n this$1.__updateModel(true);\n this$1.$emit('open');\n }, duration);\n },\n close: function close (onClose) {\n if (!this.active || this.toggleInProgress) {\n return\n }\n\n this.toggleInProgress = true;\n this.__onClose = onClose;\n\n if (!Platform.has.popstate) {\n this.__popstate();\n }\n else {\n window.history.go(-1);\n }\n },\n toggle: function toggle (done) {\n if (this.active) {\n this.close(done);\n }\n else {\n this.open(done);\n }\n },\n __dismiss: function __dismiss (onClick) {\n if (this.noBackdropDismiss) {\n return\n }\n this.close(onClick);\n }\n },\n beforeDestroy: function beforeDestroy () {\n if (this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n }\n};\n\nvar QModalLayout = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-modal-layout column absolute-full\"},[(_vm.$slots.header || (_vm.$q.theme === 'ios' && _vm.$slots.navigation))?_c('div',{staticClass:\"layout-header\",class:_vm.headerClass,style:(_vm.headerStyle)},[_vm._t(\"header\"),_vm._v(\" \"),(_vm.$q.theme !== 'ios')?_vm._t(\"navigation\"):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"q-modal-layout-content col scroll\",class:_vm.contentClass,style:(_vm.contentStyle)},[_vm._t(\"default\")],2),_vm._v(\" \"),(_vm.$slots.footer || (_vm.$q.theme === 'ios' && _vm.$slots.navigation))?_c('div',{staticClass:\"layout-footer\",class:_vm.footerClass,style:(_vm.footerStyle)},[_vm._t(\"footer\"),_vm._v(\" \"),(_vm.$q.theme === 'ios')?_vm._t(\"navigation\"):_vm._e()],2):_vm._e()])},staticRenderFns: [],\n name: 'q-modal-layout',\n props: {\n headerStyle: [String, Object, Array],\n headerClass: [String, Object, Array],\n\n contentStyle: [String, Object, Array],\n contentClass: [String, Object, Array],\n\n footerStyle: [String, Object, Array],\n footerClass: [String, Object, Array]\n }\n};\n\nvar ContextMenuMobile = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-modal',{ref:\"dialog\",attrs:{\"minimized\":\"\"},on:{\"open\":function($event){_vm.$emit('open');},\"close\":function($event){_vm.$emit('close');}}},[_vm._t(\"default\")],2)},staticRenderFns: [],\n name: 'q-context-menu',\n components: {\n QModal: QModal\n },\n props: {\n disable: Boolean\n },\n methods: {\n open: function open () {\n this.handler();\n },\n close: function close () {\n this.target.classList.remove('non-selectable');\n this.$refs.dialog.close();\n },\n toggle: function toggle () {\n if (this.$refs.dialog.active) {\n this.close();\n }\n else {\n this.open();\n }\n }\n },\n mounted: function mounted () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.target = this$1.$el.parentNode;\n\n this$1.handler = function () {\n if (!this$1.disable) {\n this$1.$refs.dialog.open();\n }\n };\n\n this$1.touchStartHandler = function (event) {\n this$1.target.classList.add('non-selectable');\n this$1.touchTimer = setTimeout(function () {\n event.preventDefault();\n event.stopPropagation();\n this$1.cleanup();\n setTimeout(function () {\n this$1.handler();\n }, 10);\n }, 600);\n };\n this$1.cleanup = function () {\n this$1.target.classList.remove('non-selectable');\n clearTimeout(this$1.touchTimer);\n this$1.touchTimer = null;\n };\n this$1.target.addEventListener('touchstart', this$1.touchStartHandler);\n this$1.target.addEventListener('touchcancel', this$1.cleanup);\n this$1.target.addEventListener('touchmove', this$1.cleanup);\n this$1.target.addEventListener('touchend', this$1.cleanup);\n });\n },\n beforeDestroy: function beforeDestroy () {\n this.target.removeEventListener('touchstart', this.touchStartHandler);\n this.target.removeEventListener('touchcancel', this.cleanup);\n this.target.removeEventListener('touchmove', this.cleanup);\n this.target.removeEventListener('touchend', this.cleanup);\n }\n};\n\nvar QContextMenu = {\n name: 'q-context-menu',\n functional: true,\n render: function render (h, ctx) {\n return h(\n Platform.is.mobile ? ContextMenuMobile : ContextMenuDesktop,\n ctx.data,\n ctx.children\n )\n }\n};\n\nvar clone = function (data) {\n return JSON.parse(JSON.stringify(data))\n};\n\nvar ColumnSelection = {\n data: function data () {\n return {\n columnSelection: this.columns.map(function (col) { return col.field; })\n }\n },\n watch: {\n 'config.columnPicker': function config_columnPicker (value) {\n if (!value) {\n this.columnSelection = this.columns.map(function (col) { return col.field; });\n }\n }\n },\n computed: {\n cols: function cols () {\n var this$1 = this;\n\n return this.columns.filter(function (col) { return this$1.columnSelection.includes(col.field); })\n },\n columnSelectionOptions: function columnSelectionOptions () {\n return this.columns.map(function (col) {\n return {\n label: col.label,\n value: col.field\n }\n })\n }\n }\n};\n\nvar QSearch = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-input',{ref:\"input\",staticClass:\"q-search\",attrs:{\"type\":_vm.type,\"autofocus\":_vm.autofocus,\"placeholder\":_vm.placeholder,\"disable\":_vm.disable,\"error\":_vm.error,\"align\":_vm.align,\"float-label\":_vm.floatLabel,\"stack-label\":_vm.stackLabel,\"prefix\":_vm.prefix,\"suffix\":_vm.suffix,\"inverted\":_vm.inverted,\"dark\":_vm.dark,\"max-length\":_vm.maxLength,\"color\":_vm.color,\"before\":_vm.controlBefore,\"after\":_vm.controlAfter},on:{\"focus\":_vm.__onFocus,\"blur\":_vm.__onBlur,\"keyup\":_vm.__onKeyup,\"keydown\":_vm.__onKeydown,\"click\":_vm.__onClick},model:{value:(_vm.model),callback:function ($$v) {_vm.model=$$v;},expression:\"model\"}},[_vm._t(\"default\")],2)},staticRenderFns: [],\n name: 'q-search',\n mixins: [FrameMixin, InputMixin],\n components: {\n QIcon: QIcon,\n QInput: QInput\n },\n directives: {\n Ripple: Ripple\n },\n props: {\n value: { required: true },\n type: String,\n debounce: {\n type: Number,\n default: 300\n },\n icon: {\n type: String,\n default: 'search'\n },\n placeholder: {\n type: String,\n default: 'Search'\n }\n },\n data: function data () {\n return {\n model: this.value,\n focused: false,\n childDebounce: false,\n timer: null,\n isEmpty: !this.value && this.value !== 0\n }\n },\n provide: function provide () {\n var this$1 = this;\n\n return {\n __inputParent: {\n set: function (val) {\n if (this$1.value !== val) {\n this$1.$emit('input', val);\n this$1.$emit('change', val);\n }\n },\n setChildDebounce: function (v) {\n this$1.childDebounce = v;\n }\n }\n }\n },\n watch: {\n value: function value (v) {\n this.model = v;\n },\n model: function model (val) {\n var this$1 = this;\n\n clearTimeout(this.timer);\n if (this.value === val) {\n return\n }\n if (!val && val !== 0) {\n this.$emit('input', '');\n this.$emit('change', '');\n return\n }\n this.timer = setTimeout(function () {\n this$1.$emit('input', val);\n this$1.$emit('change', val);\n }, this.debounceValue);\n }\n },\n computed: {\n debounceValue: function debounceValue () {\n return this.childDebounce\n ? 0\n : this.debounce\n },\n controlBefore: function controlBefore () {\n return this.before || [{icon: this.icon, handler: this.focus}]\n },\n controlAfter: function controlAfter () {\n return this.after || [{\n icon: this.inverted ? 'clear' : 'cancel',\n content: true,\n handler: this.clearAndFocus\n }]\n }\n },\n methods: {\n clear: function clear () {\n if (!this.disable) {\n this.model = '';\n }\n },\n clearAndFocus: function clearAndFocus () {\n this.clear();\n this.focus();\n }\n },\n beforeDestroy: function beforeDestroy () {\n clearTimeout(this.timer);\n }\n};\n\nvar QField = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-field row no-wrap items-start\",class:{ 'q-field-floating': _vm.childHasLabel, 'q-field-no-label': !this.label && !this.$slots.label, 'q-field-with-error': _vm.hasError, 'q-field-dark': _vm.isDark }},[(_vm.icon)?_c('q-icon',{staticClass:\"q-field-icon q-field-margin\",attrs:{\"name\":_vm.icon}}):(_vm.insetIcon)?_c('div',{staticClass:\"q-field-icon\"}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"row col\"},[(_vm.hasLabel)?_c('div',{staticClass:\"q-field-label col-xs-12 q-field-margin\",class:(\"col-sm-\" + (_vm.labelWidth))},[_c('div',{staticClass:\"q-field-label-inner row items-center\"},[(_vm.label)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.label)}}):_vm._e(),_vm._v(\" \"),_vm._t(\"label\")],2)]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"q-field-content col-xs-12 col-sm\"},[_vm._t(\"default\"),_vm._v(\" \"),(_vm.hasBottom)?_c('div',{staticClass:\"q-field-bottom row no-wrap\",class:{'q-field-no-input': _vm.hasNoInput}},[(_vm.hasError && _vm.errorLabel)?_c('div',{staticClass:\"q-field-error col\",domProps:{\"innerHTML\":_vm._s(_vm.errorLabel)}}):(_vm.helper)?_c('div',{staticClass:\"q-field-helper col\",domProps:{\"innerHTML\":_vm._s(_vm.helper)}}):_c('div',{staticClass:\"col\"}),_vm._v(\" \"),(_vm.counter)?_c('div',{staticClass:\"q-field-counter col-auto\"},[_vm._v(_vm._s(_vm.counter))]):_vm._e()]):_vm._e()],2)])],1)},staticRenderFns: [],\n name: 'q-field',\n components: {\n QIcon: QIcon\n },\n props: {\n labelWidth: {\n type: Number,\n default: 5,\n validator: function validator (val) {\n return val >= 1 && val < 12\n }\n },\n inset: {\n type: String,\n validator: function validator (val) {\n return ['icon', 'label', 'full'].includes(val)\n }\n },\n label: String,\n count: {\n type: [Number, Boolean],\n default: false\n },\n error: Boolean,\n errorLabel: String,\n helper: String,\n icon: String,\n dark: Boolean\n },\n data: function data () {\n return {\n input: {}\n }\n },\n computed: {\n hasError: function hasError () {\n return this.input.error || this.error\n },\n hasBottom: function hasBottom () {\n return (this.hasError && this.errorLabel) || this.helper || this.count\n },\n hasLabel: function hasLabel () {\n return this.label || this.$slots.label || ['label', 'full'].includes(this.inset)\n },\n childHasLabel: function childHasLabel () {\n return this.input.floatLabel || this.input.stackLabel\n },\n isDark: function isDark () {\n return this.input.dark || this.dark\n },\n insetIcon: function insetIcon () {\n return ['icon', 'full'].includes(this.inset)\n },\n hasNoInput: function hasNoInput () {\n return !this.input.$options || this.input.__needsBottom\n },\n counter: function counter () {\n if (this.count) {\n var length = this.input.length || '0';\n return Number.isInteger(this.count)\n ? (length + \" / \" + (this.count))\n : length\n }\n }\n },\n provide: function provide () {\n return {\n __field: this\n }\n },\n methods: {\n __registerInput: function __registerInput (vm, needsBottom) {\n vm.__needsBottom = needsBottom;\n this.input = vm;\n },\n __unregisterInput: function __unregisterInput () {\n this.input = {};\n }\n }\n};\n\nvar QFieldReset = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\")],2)},staticRenderFns: [],\n name: 'q-field-reset',\n data: function data () {\n return {}\n },\n provide: function provide () {\n return {\n __field: undefined\n }\n }\n};\n\nvar QRadio = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-radio q-option cursor-pointer no-outline q-focusable row inline no-wrap items-center\",class:{disabled: _vm.disable, reverse: _vm.leftLabel},attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.select($event);},\"focus\":function($event){_vm.$emit('focus');},\"blur\":function($event){_vm.$emit('blur');},\"keydown\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"space\",32,$event.key)&&_vm._k($event.keyCode,\"enter\",13,$event.key)){ return null; }$event.preventDefault();_vm.select(false);}}},[_c('div',{staticClass:\"q-option-inner relative-position\",class:_vm.classes},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model),expression:\"model\"}],attrs:{\"type\":\"radio\",\"disabled\":_vm.disable},domProps:{\"value\":_vm.val,\"checked\":_vm._q(_vm.model,_vm.val)},on:{\"click\":function($event){$event.stopPropagation();},\"change\":[function($event){_vm.model=_vm.val;},_vm.__change]}}),_vm._v(\" \"),_c('div',{staticClass:\"q-focus-helper\"}),_vm._v(\" \"),(_vm.$q.theme !== 'ios')?_c('q-icon',{staticClass:\"q-radio-unchecked absolute-full cursor-pointer\",attrs:{\"name\":_vm.uncheckedIcon}}):_vm._e(),_vm._v(\" \"),_c('q-icon',{staticClass:\"q-radio-checked cursor-pointer absolute-full\",attrs:{\"name\":_vm.checkedIcon}}),_vm._v(\" \"),(_vm.$q.theme !== 'ios')?_c('div',{ref:\"ripple\",staticClass:\"q-radial-ripple\"}):_vm._e()],1),_vm._v(\" \"),(_vm.label)?_c('span',{staticClass:\"q-option-label\",domProps:{\"innerHTML\":_vm._s(_vm.label)}}):_vm._e(),_vm._v(\" \"),_vm._t(\"default\")],2)},staticRenderFns: [],\n name: 'q-radio',\n mixins: [OptionMixin],\n components: {\n QIcon: QIcon\n },\n props: {\n value: {\n required: true\n },\n val: {\n required: true\n },\n checkedIcon: {\n type: String,\n default: current === 'ios' ? 'check' : 'radio_button_checked'\n },\n uncheckedIcon: {\n type: String,\n default: 'radio_button_unchecked'\n }\n },\n computed: {\n model: {\n get: function get () {\n return this.value\n },\n set: function set$$1 (val) {\n if (val !== this.value) {\n this.$emit('input', val);\n }\n }\n },\n isActive: function isActive () {\n return this.model === this.val\n }\n },\n methods: {\n select: function select (withBlur) {\n if (withBlur !== false) {\n this.$el.blur();\n }\n\n if (!this.disable && this.model !== this.val) {\n this.model = this.val;\n this.__onChange(this.val);\n }\n },\n __change: function __change (e) {\n this.__onChange(this.value);\n },\n __onChange: function __onChange (val) {\n var ref = this.$refs.ripple;\n if (val && ref) {\n ref.classList.add('active');\n setTimeout(function () {\n ref.classList.remove('active');\n }, 10);\n }\n this.$emit('change', val);\n }\n }\n};\n\nfunction getDirection$1 (mod) {\n if (Object.keys(mod).length === 0) {\n return {\n left: true, right: true, up: true, down: true, horizontal: true, vertical: true\n }\n }\n\n var dir = {};['left', 'right', 'up', 'down', 'horizontal', 'vertical'].forEach(function (direction) {\n if (mod[direction]) {\n dir[direction] = true;\n }\n });\n if (dir.horizontal) {\n dir.left = dir.right = true;\n }\n if (dir.vertical) {\n dir.up = dir.down = true;\n }\n if (dir.left || dir.right) {\n dir.horizontal = true;\n }\n if (dir.up || dir.down) {\n dir.vertical = true;\n }\n\n return dir\n}\n\nfunction updateClasses$1 (el, dir) {\n el.classList.add('q-touch');\n\n if (dir.horizontal && !dir.vertical) {\n el.classList.add('q-touch-y');\n el.classList.remove('q-touch-x');\n }\n else if (!dir.horizontal && dir.vertical) {\n el.classList.add('q-touch-x');\n el.classList.remove('q-touch-y');\n }\n}\n\nvar TouchSwipe = {\n name: 'touch-swipe',\n bind: function bind (el, binding) {\n var mouse = !binding.modifiers.nomouse;\n\n var ctx = {\n handler: binding.value,\n direction: getDirection$1(binding.modifiers),\n\n start: function start (evt) {\n var pos = position(evt);\n ctx.event = {\n x: pos.left,\n y: pos.top,\n time: new Date().getTime(),\n detected: false,\n prevent: ctx.direction.horizontal && ctx.direction.vertical\n };\n if (mouse) {\n document.addEventListener('mousemove', ctx.move);\n document.addEventListener('mouseup', ctx.end);\n }\n },\n move: function move (evt) {\n var\n pos = position(evt),\n distX = pos.left - ctx.event.x,\n distY = pos.top - ctx.event.y;\n\n if (ctx.event.prevent) {\n evt.preventDefault();\n return\n }\n if (ctx.event.detected) {\n return\n }\n\n ctx.event.detected = true;\n if (ctx.direction.horizontal && !ctx.direction.vertical) {\n if (Math.abs(distX) > Math.abs(distY)) {\n evt.preventDefault();\n ctx.event.prevent = true;\n }\n }\n else {\n if (Math.abs(distX) < Math.abs(distY)) {\n evt.preventDefault();\n ctx.event.prevent = true;\n }\n }\n },\n end: function end (evt) {\n if (mouse) {\n document.removeEventListener('mousemove', ctx.move);\n document.removeEventListener('mouseup', ctx.end);\n }\n\n var\n direction,\n pos = position(evt),\n distX = pos.left - ctx.event.x,\n distY = pos.top - ctx.event.y;\n\n if (distX !== 0 || distY !== 0) {\n if (Math.abs(distX) >= Math.abs(distY)) {\n direction = distX < 0 ? 'left' : 'right';\n }\n else {\n direction = distY < 0 ? 'up' : 'down';\n }\n\n if (ctx.direction[direction]) {\n ctx.handler({\n evt: evt,\n direction: direction,\n duration: new Date().getTime() - ctx.event.time,\n distance: {\n x: Math.abs(distX),\n y: Math.abs(distY)\n }\n });\n }\n }\n }\n };\n\n el.__qtouchswipe = ctx;\n updateClasses$1(el, ctx.direction);\n if (mouse) {\n el.addEventListener('mousedown', ctx.start);\n }\n el.addEventListener('touchstart', ctx.start);\n el.addEventListener('touchmove', ctx.move);\n el.addEventListener('touchend', ctx.end);\n },\n update: function update (el, binding) {\n if (binding.oldValue !== binding.value) {\n el.__qtouchswipe.handler = binding.value;\n }\n },\n unbind: function unbind (el, binding) {\n var ctx = el.__qtouchswipe;\n el.removeEventListener('touchstart', ctx.start);\n el.removeEventListener('mousedown', ctx.start);\n el.removeEventListener('touchmove', ctx.move);\n el.removeEventListener('touchend', ctx.end);\n delete el.__qtouchswipe;\n }\n};\n\nvar QToggle = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"touch-swipe\",rawName:\"v-touch-swipe.horizontal\",value:(_vm.__swipe),expression:\"__swipe\",modifiers:{\"horizontal\":true}}],staticClass:\"q-toggle q-option cursor-pointer no-outline q-focusable row inline no-wrap items-center\",class:{disabled: _vm.disable, reverse: _vm.leftLabel},attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.toggle($event);},\"focus\":function($event){_vm.$emit('focus');},\"blur\":function($event){_vm.$emit('blur');},\"keydown\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"space\",32,$event.key)&&_vm._k($event.keyCode,\"enter\",13,$event.key)){ return null; }$event.preventDefault();_vm.toggle(false);}}},[_c('div',{staticClass:\"q-option-inner relative-position\",class:_vm.classes},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model),expression:\"model\"}],attrs:{\"type\":\"checkbox\",\"disabled\":_vm.disable},domProps:{\"value\":_vm.val,\"checked\":Array.isArray(_vm.model)?_vm._i(_vm.model,_vm.val)>-1:(_vm.model)},on:{\"click\":function($event){$event.stopPropagation();},\"change\":[function($event){var $$a=_vm.model,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.val,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.model=$$a.concat([$$v]));}else{$$i>-1&&(_vm.model=$$a.slice(0,$$i).concat($$a.slice($$i+1)));}}else{_vm.model=$$c;}},_vm.__change]}}),_vm._v(\" \"),_c('div',{staticClass:\"q-focus-helper\"}),_vm._v(\" \"),_c('div',{staticClass:\"q-toggle-base\"}),_vm._v(\" \"),_c('div',{staticClass:\"q-toggle-handle shadow-1 row flex-center\"},[(_vm.currentIcon)?_c('q-icon',{staticClass:\"q-toggle-icon\",attrs:{\"name\":_vm.currentIcon}}):_vm._e(),_vm._v(\" \"),(_vm.$q.theme !== 'ios')?_c('div',{ref:\"ripple\",staticClass:\"q-radial-ripple\"}):_vm._e()],1)]),_vm._v(\" \"),(_vm.label)?_c('span',{staticClass:\"q-option-label\",domProps:{\"innerHTML\":_vm._s(_vm.label)}}):_vm._e(),_vm._v(\" \"),_vm._t(\"default\")],2)},staticRenderFns: [],\n name: 'q-toggle',\n components: {\n QIcon: QIcon\n },\n directives: {\n TouchSwipe: TouchSwipe\n },\n mixins: [Mixin, OptionMixin],\n props: {\n icon: String,\n checkedIcon: String,\n uncheckedIcon: String\n },\n computed: {\n currentIcon: function currentIcon () {\n return (this.isActive ? this.checkedIcon : this.uncheckedIcon) || this.icon\n }\n },\n methods: {\n __swipe: function __swipe (evt) {\n if (evt.direction === 'left') {\n this.unselect();\n }\n else if (evt.direction === 'right') {\n this.select();\n }\n }\n }\n};\n\nvar SelectMixin = {\n components: {\n QIcon: QIcon,\n QInputFrame: QInputFrame,\n QChip: QChip\n },\n mixins: [FrameMixin],\n props: {\n value: {\n required: true\n },\n multiple: Boolean,\n toggle: Boolean,\n chips: Boolean,\n options: {\n type: Array,\n required: true,\n validator: function (v) { return v.every(function (o) { return 'label' in o && 'value' in o; }); }\n },\n frameColor: String,\n displayValue: String\n },\n data: function data () {\n return {\n terms: '',\n focused: false\n }\n },\n computed: {\n actualValue: function actualValue () {\n var this$1 = this;\n\n if (this.displayValue) {\n return this.displayValue\n }\n if (!this.multiple) {\n var opt$1 = this.options.find(function (opt) { return opt.value === this$1.value; });\n return opt$1 ? opt$1.label : ''\n }\n\n var opt = this.selectedOptions.map(function (opt) { return opt.label; });\n return opt.length ? opt.join(', ') : ''\n },\n selectedOptions: function selectedOptions () {\n var this$1 = this;\n\n if (this.multiple) {\n return this.options.filter(function (opt) { return this$1.value.includes(opt.value); })\n }\n },\n hasChips: function hasChips () {\n return this.multiple && this.chips\n },\n length: function length () {\n return this.multiple\n ? this.value.length\n : ([null, undefined, ''].includes(this.value) ? 0 : 1)\n },\n additionalLength: function additionalLength () {\n return this.displayValue && this.displayValue.length > 0\n }\n },\n methods: {\n __toggle: function __toggle (value) {\n var\n model = this.value,\n index = model.indexOf(value);\n\n if (index > -1) {\n model.splice(index, 1);\n }\n else {\n model.push(value);\n }\n\n this.$emit('change', model);\n }\n }\n};\n\nfunction defaultFilterFn (terms, obj) {\n return obj.label.toLowerCase().indexOf(terms) > -1\n}\n\nvar QSelect = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-input-frame',{ref:\"input\",staticClass:\"q-select\",attrs:{\"prefix\":_vm.prefix,\"suffix\":_vm.suffix,\"stack-label\":_vm.stackLabel,\"float-label\":_vm.floatLabel,\"error\":_vm.error,\"disable\":_vm.disable,\"inverted\":_vm.inverted,\"dark\":_vm.dark,\"before\":_vm.before,\"after\":_vm.after,\"color\":_vm.frameColor || _vm.color,\"focused\":_vm.focused,\"focusable\":\"\",\"length\":_vm.length,\"additional-length\":_vm.additionalLength},nativeOn:{\"click\":function($event){_vm.open($event);},\"focus\":function($event){_vm.__onFocus($event);},\"blur\":function($event){_vm.__onBlur($event);}}},[(_vm.hasChips)?_c('div',{staticClass:\"col row items-center group q-input-chips\",class:_vm.alignClass},_vm._l((_vm.selectedOptions),function(ref){\nvar label = ref.label;\nvar value = ref.value;\nreturn _c('q-chip',{key:label,attrs:{\"small\":\"\",\"closable\":!_vm.disable,\"color\":_vm.color},on:{\"close\":function($event){_vm.__toggle(value);}},nativeOn:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\" \"+_vm._s(label)+\" \")])})):_c('div',{staticClass:\"col row items-center q-input-target\",class:_vm.alignClass,domProps:{\"innerHTML\":_vm._s(_vm.actualValue)}}),_vm._v(\" \"),_c('q-icon',{staticClass:\"q-if-control\",attrs:{\"slot\":\"after\",\"name\":\"arrow_drop_down\"},slot:\"after\"}),_vm._v(\" \"),_c('q-popover',{ref:\"popover\",staticClass:\"column no-wrap\",attrs:{\"fit\":\"\",\"disable\":_vm.disable,\"offset\":[0, 10],\"anchor-click\":false},on:{\"open\":_vm.__onFocus,\"close\":_vm.__onClose}},[_c('q-field-reset',[(_vm.filter)?_c('q-search',{ref:\"filter\",staticClass:\"no-margin\",staticStyle:{\"min-height\":\"50px\",\"padding\":\"10px\"},attrs:{\"placeholder\":_vm.filterPlaceholder,\"debounce\":100,\"color\":_vm.color,\"icon\":\"filter_list\"},on:{\"input\":_vm.reposition},model:{value:(_vm.terms),callback:function ($$v) {_vm.terms=$$v;},expression:\"terms\"}}):_vm._e()],1),_vm._v(\" \"),_c('q-list',{staticClass:\"no-border scroll\",attrs:{\"link\":\"\",\"separator\":_vm.separator}},[(_vm.multiple)?_vm._l((_vm.visibleOptions),function(opt){return _c('q-item-wrapper',{key:JSON.stringify(opt),attrs:{\"cfg\":opt,\"slot-replace\":\"\"},on:{\"!click\":function($event){_vm.__toggle(opt.value);}}},[(_vm.toggle)?_c('q-toggle',{attrs:{\"slot\":\"right\",\"color\":_vm.color,\"value\":_vm.optModel[opt.index]},slot:\"right\"}):_c('q-checkbox',{attrs:{\"slot\":\"left\",\"color\":_vm.color,\"value\":_vm.optModel[opt.index]},slot:\"left\"})],1)}):_vm._l((_vm.visibleOptions),function(opt){return _c('q-item-wrapper',{key:JSON.stringify(opt),attrs:{\"cfg\":opt,\"slot-replace\":\"\",\"active\":_vm.value === opt.value},on:{\"!click\":function($event){_vm.__select(opt.value);}}},[(_vm.radio)?_c('q-radio',{attrs:{\"slot\":\"left\",\"color\":_vm.color,\"value\":_vm.value,\"val\":opt.value},slot:\"left\"}):_vm._e()],1)})],2)],1)],1)},staticRenderFns: [],\n name: 'q-select',\n mixins: [SelectMixin],\n components: {\n QFieldReset: QFieldReset,\n QSearch: QSearch,\n QPopover: QPopover,\n QList: QList,\n QItemWrapper: QItemWrapper,\n QCheckbox: QCheckbox,\n QRadio: QRadio,\n QToggle: QToggle\n },\n props: {\n filter: [Function, Boolean],\n filterPlaceholder: {\n type: String,\n default: 'Filter'\n },\n autofocusFilter: Boolean,\n radio: Boolean,\n placeholder: String,\n separator: Boolean\n },\n computed: {\n optModel: function optModel () {\n var this$1 = this;\n\n if (this.multiple) {\n return this.options.map(function (opt) { return this$1.value.includes(opt.value); })\n }\n },\n visibleOptions: function visibleOptions () {\n var this$1 = this;\n\n var opts = clone(this.options).map(function (opt, index) {\n opt.index = index;\n opt.value = this$1.options[index].value;\n return opt\n });\n if (this.filter && this.terms.length) {\n var lowerTerms = this.terms.toLowerCase();\n opts = opts.filter(function (opt) { return this$1.filterFn(lowerTerms, opt); });\n }\n return opts\n },\n filterFn: function filterFn () {\n return typeof this.filter === 'boolean'\n ? defaultFilterFn\n : this.filter\n },\n activeItemSelector: function activeItemSelector () {\n return this.multiple\n ? (\".q-item-side > \" + (this.toggle ? '.q-toggle' : '.q-checkbox') + \" > .active\")\n : \".q-item.active\"\n }\n },\n methods: {\n open: function open (event) {\n if (!this.disable) {\n this.$refs.popover.open();\n }\n },\n close: function close () {\n this.$refs.popover.close();\n },\n reposition: function reposition () {\n var popover = this.$refs.popover;\n if (popover.opened) {\n popover.reposition();\n }\n },\n\n __onFocus: function __onFocus () {\n this.focused = true;\n if (this.filter && this.autofocusFilter) {\n this.$refs.filter.focus();\n }\n this.$emit('focus');\n var selected = this.$refs.popover.$el.querySelector(this.activeItemSelector);\n if (selected) {\n selected.scrollIntoView();\n }\n },\n __onBlur: function __onBlur (e) {\n var this$1 = this;\n\n this.__onClose();\n setTimeout(function () {\n var el = document.activeElement;\n if (el !== document.body && !this$1.$refs.popover.$el.contains(el)) {\n this$1.close();\n }\n }, 1);\n },\n __onClose: function __onClose () {\n this.focused = false;\n this.$emit('blur');\n this.terms = '';\n },\n __select: function __select (val) {\n if (this.value !== val) {\n this.$emit('input', val);\n this.$emit('change', val);\n }\n this.close();\n }\n }\n};\n\nvar Modal = function (component) {\n return {\n create: function create (props) {\n var node = document.createElement('div');\n document.body.appendChild(node);\n\n var vm = new Vue({\n el: node,\n data: function data () {\n return {props: props}\n },\n render: function (h) { return h(component, {props: props}); }\n });\n\n return {\n vm: vm,\n close: function close (fn) {\n vm.quasarClose(fn);\n }\n }\n }\n }\n};\n\nvar QOptionGroup = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-option-group group\",class:{'q-option-group-inline-opts': _vm.inline}},_vm._l((_vm.options),function(opt,index){return _c('div',[_c(_vm.component,{tag:\"component\",attrs:{\"val\":opt.value,\"disable\":_vm.disable,\"label\":opt.label,\"left-label\":_vm.leftLabel,\"color\":opt.color || _vm.color,\"checked-icon\":opt.checkedIcon,\"unchecked-icon\":opt.uncheckedIcon},on:{\"focus\":_vm.__onFocus,\"blur\":_vm.__onBlur,\"change\":_vm.__onChange},model:{value:(_vm.model),callback:function ($$v) {_vm.model=$$v;},expression:\"model\"}})],1)}))},staticRenderFns: [],\n name: 'q-option-group',\n components: {\n QRadio: QRadio,\n QCheckbox: QCheckbox,\n QToggle: QToggle\n },\n props: {\n value: {\n required: true\n },\n type: {\n default: 'radio',\n validator: function validator (val) {\n return ['radio', 'checkbox', 'toggle'].includes(val)\n }\n },\n color: String,\n options: {\n type: Array,\n validator: function validator (opts) {\n return opts.every(function (opt) { return 'value' in opt && 'label' in opt; })\n }\n },\n leftLabel: Boolean,\n inline: Boolean,\n disable: Boolean\n },\n inject: {\n __field: { default: null }\n },\n computed: {\n component: function component () {\n return (\"q-\" + (this.type))\n },\n model: {\n get: function get () {\n return this.value\n },\n set: function set (value) {\n this.$emit('input', value);\n }\n },\n length: function length () {\n return this.value\n ? (this.type === 'radio' ? 1 : this.value.length)\n : 0\n }\n },\n methods: {\n __onChange: function __onChange () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.$emit('change', this$1.model);\n });\n },\n __onFocus: function __onFocus () {\n this.$emit('focus');\n },\n __onBlur: function __onBlur () {\n this.$emit('blur');\n }\n },\n created: function created () {\n var isArray = Array.isArray(this.value);\n if (this.type === 'radio') {\n if (isArray) {\n console.error('q-option-group: model should not be array');\n }\n }\n else if (!isArray) {\n console.error('q-option-group: model should be array in your case');\n }\n if (this.__field) {\n this.field = this.__field;\n this.field.__registerInput(this, true);\n }\n },\n beforeDestroy: function beforeDestroy () {\n if (this.__field) {\n this.field.__unregisterInput();\n }\n }\n};\n\nfunction getPercentage (event, dragging) {\n return between((position(event).left - dragging.left) / dragging.width, 0, 1)\n}\n\nfunction notDivides (res, decimals) {\n var number = decimals\n ? parseFloat(res.toFixed(decimals))\n : res;\n\n return number !== parseInt(number, 10)\n}\n\nfunction getModel (percentage, min, max, step, decimals) {\n var\n model = min + percentage * (max - min),\n modulo = (model - min) % step;\n\n model += (Math.abs(modulo) >= step / 2 ? (modulo < 0 ? -1 : 1) * step : 0) - modulo;\n\n if (decimals) {\n model = parseFloat(model.toFixed(decimals));\n }\n\n return between(model, min, max)\n}\n\nvar mixin$1 = {\n components: {\n QChip: QChip\n },\n props: {\n min: {\n type: Number,\n default: 1\n },\n max: {\n type: Number,\n default: 5\n },\n step: {\n type: Number,\n default: 1\n },\n decimals: {\n type: Number,\n default: 0\n },\n snap: Boolean,\n markers: Boolean,\n label: Boolean,\n labelAlways: Boolean,\n square: Boolean,\n color: String,\n fillHandleAlways: Boolean,\n error: Boolean,\n disable: Boolean\n },\n computed: {\n classes: function classes () {\n var cls = {\n disabled: this.disable,\n 'label-always': this.labelAlways,\n 'has-error': this.error\n };\n\n if (!this.error && this.color) {\n cls[(\"text-\" + (this.color))] = true;\n }\n\n return cls\n },\n labelColor: function labelColor () {\n return this.error\n ? 'negative'\n : this.color || 'primary'\n }\n },\n methods: {\n __pan: function __pan (event) {\n if (this.disable) {\n return\n }\n if (event.isFinal) {\n this.__end(event.evt);\n }\n else if (event.isFirst) {\n this.__setActive(event.evt);\n }\n else if (this.dragging) {\n this.__update(event.evt);\n }\n },\n __click: function __click (event) {\n if (this.disable) {\n return\n }\n this.__setActive(event);\n this.__end(event);\n }\n },\n created: function created () {\n this.__validateProps();\n }\n};\n\nvar QSlider = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan.horizontal\",value:(_vm.__pan),expression:\"__pan\",modifiers:{\"horizontal\":true}}],staticClass:\"q-slider non-selectable\",class:_vm.classes,on:{\"click\":_vm.__click}},[_c('div',{ref:\"handle\",staticClass:\"q-slider-handle-container\"},[_c('div',{staticClass:\"q-slider-track\"}),_vm._v(\" \"),_vm._l((((_vm.max - _vm.min) / _vm.step + 1)),function(n){return (_vm.markers)?_c('div',{staticClass:\"q-slider-mark\",style:({left: (n - 1) * 100 * _vm.step / (_vm.max - _vm.min) + '%'})}):_vm._e()}),_vm._v(\" \"),_c('div',{staticClass:\"q-slider-track active-track\",class:{'no-transition': _vm.dragging, 'handle-at-minimum': _vm.value === _vm.min},style:({width: _vm.percentage})}),_vm._v(\" \"),_c('div',{staticClass:\"q-slider-handle\",class:{dragging: _vm.dragging, 'handle-at-minimum': !_vm.fillHandleAlways && _vm.value === _vm.min},style:({left: _vm.percentage, borderRadius: _vm.square ? '0' : '50%'})},[(_vm.label || _vm.labelAlways)?_c('q-chip',{staticClass:\"q-slider-label no-pointer-events\",class:{'label-always': _vm.labelAlways},attrs:{\"pointing\":\"down\",\"square\":\"\",\"color\":_vm.labelColor}},[_vm._v(\" \"+_vm._s(_vm.displayValue)+\" \")]):_vm._e(),_vm._v(\" \"),(_vm.$q.theme !== 'ios')?_c('div',{staticClass:\"q-slider-ring\"}):_vm._e()],1)],2)])},staticRenderFns: [],\n name: 'q-slider',\n directives: {\n TouchPan: TouchPan\n },\n mixins: [mixin$1],\n props: {\n value: {\n type: Number,\n required: true\n },\n labelValue: String\n },\n data: function data () {\n return {\n dragging: false,\n currentPercentage: (this.value - this.min) / (this.max - this.min)\n }\n },\n computed: {\n percentage: function percentage () {\n if (this.snap) {\n return (this.value - this.min) / (this.max - this.min) * 100 + '%'\n }\n return 100 * this.currentPercentage + '%'\n },\n displayValue: function displayValue () {\n return this.labelValue !== void 0\n ? this.labelValue\n : this.value\n }\n },\n watch: {\n value: function value (value$1) {\n if (this.dragging) {\n return\n }\n this.currentPercentage = (value$1 - this.min) / (this.max - this.min);\n },\n min: function min (value) {\n if (this.value < value) {\n this.value = value;\n return\n }\n this.$nextTick(this.__validateProps);\n },\n max: function max (value) {\n if (this.value > value) {\n this.value = value;\n return\n }\n this.$nextTick(this.__validateProps);\n },\n step: function step () {\n this.$nextTick(this.__validateProps);\n }\n },\n methods: {\n __setActive: function __setActive (event) {\n var container = this.$refs.handle;\n\n this.dragging = {\n left: container.getBoundingClientRect().left,\n width: container.offsetWidth\n };\n this.__update(event);\n },\n __update: function __update (event) {\n var\n percentage = getPercentage(event, this.dragging),\n model = getModel(percentage, this.min, this.max, this.step, this.decimals);\n\n this.currentPercentage = percentage;\n if (model !== this.value) {\n this.$emit('input', model);\n this.$emit('change', model);\n }\n },\n __end: function __end () {\n this.dragging = false;\n this.currentPercentage = (this.value - this.min) / (this.max - this.min);\n },\n __validateProps: function __validateProps () {\n if (this.min >= this.max) {\n console.error('Range error: min >= max', this.$el, this.min, this.max);\n }\n else if (notDivides((this.max - this.min) / this.step, this.decimals)) {\n console.error('Range error: step must be a divisor of max - min', this.min, this.max, this.step, this.decimals);\n }\n }\n }\n};\n\nvar dragType = {\n MIN: 0,\n RANGE: 1,\n MAX: 2\n};\n\nvar QRange = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan.horizontal\",value:(_vm.__pan),expression:\"__pan\",modifiers:{\"horizontal\":true}}],staticClass:\"q-slider non-selectable\",class:_vm.classes,on:{\"click\":_vm.__click}},[_c('div',{ref:\"handle\",staticClass:\"q-slider-handle-container\"},[_c('div',{staticClass:\"q-slider-track\"}),_vm._v(\" \"),_vm._l((((_vm.max - _vm.min) / _vm.step + 1)),function(n){return (_vm.markers)?_c('div',{staticClass:\"q-slider-mark\",style:({left: (n - 1) * 100 * _vm.step / (_vm.max - _vm.min) + '%'})}):_vm._e()}),_vm._v(\" \"),_c('div',{staticClass:\"q-slider-track active-track\",class:{dragging: _vm.dragging, 'track-draggable': _vm.dragRange || _vm.dragOnlyRange},style:({left: ((_vm.percentageMin * 100) + \"%\"), width: _vm.activeTrackWidth})}),_vm._v(\" \"),_c('div',{ref:\"handleMin\",staticClass:\"q-slider-handle q-slider-handle-min\",class:{dragging: _vm.dragging, 'handle-at-minimum': !_vm.fillHandleAlways && _vm.value.min === _vm.min},style:({left: ((_vm.percentageMin * 100) + \"%\"), borderRadius: _vm.square ? '0' : '50%'})},[(_vm.label || _vm.labelAlways)?_c('q-chip',{staticClass:\"q-slider-label no-pointer-events\",class:{'label-always': _vm.labelAlways},attrs:{\"pointing\":\"down\",\"square\":\"\",\"color\":_vm.leftTooltipColor}},[_vm._v(\" \"+_vm._s(_vm.leftDisplayValue)+\" \")]):_vm._e(),_vm._v(\" \"),(_vm.$q.theme !== 'ios')?_c('div',{staticClass:\"q-slider-ring\"}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"q-slider-handle q-slider-handle-max\",class:{dragging: _vm.dragging, 'handle-at-maximum': _vm.value.max === _vm.max},style:({left: ((_vm.percentageMax * 100) + \"%\"), borderRadius: _vm.square ? '0' : '50%'})},[(_vm.label || _vm.labelAlways)?_c('q-chip',{staticClass:\"q-slider-label no-pointer-events\",class:{'label-always': _vm.labelAlways},attrs:{\"pointing\":\"down\",\"square\":\"\",\"color\":_vm.rightTooltipColor}},[_vm._v(\" \"+_vm._s(_vm.rightDisplayValue)+\" \")]):_vm._e(),_vm._v(\" \"),(_vm.$q.theme !== 'ios')?_c('div',{staticClass:\"q-slider-ring\"}):_vm._e()],1)],2)])},staticRenderFns: [],\n name: 'q-range',\n directives: {\n TouchPan: TouchPan\n },\n mixins: [mixin$1],\n props: {\n value: {\n type: Object,\n required: true,\n validator: function validator (value) {\n return typeof value.min !== 'undefined' && typeof value.max !== 'undefined'\n }\n },\n dragRange: Boolean,\n dragOnlyRange: Boolean,\n leftLabelColor: String,\n leftLabelValue: String,\n rightLabelColor: String,\n rightLabelValue: String\n },\n data: function data () {\n return {\n dragging: false,\n currentMinPercentage: (this.value.min - this.min) / (this.max - this.min),\n currentMaxPercentage: (this.value.max - this.min) / (this.max - this.min)\n }\n },\n computed: {\n percentageMin: function percentageMin () {\n return this.snap ? (this.value.min - this.min) / (this.max - this.min) : this.currentMinPercentage\n },\n percentageMax: function percentageMax () {\n return this.snap ? (this.value.max - this.min) / (this.max - this.min) : this.currentMaxPercentage\n },\n activeTrackWidth: function activeTrackWidth () {\n return 100 * (this.percentageMax - this.percentageMin) + '%'\n },\n leftDisplayValue: function leftDisplayValue () {\n return this.leftLabelValue !== void 0\n ? this.leftLabelValue\n : this.value.min\n },\n rightDisplayValue: function rightDisplayValue () {\n return this.rightLabelValue !== void 0\n ? this.rightLabelValue\n : this.value.max\n },\n leftTooltipColor: function leftTooltipColor () {\n return this.leftLabelColor || this.labelColor\n },\n rightTooltipColor: function rightTooltipColor () {\n return this.rightLabelColor || this.labelColor\n }\n },\n watch: {\n 'value.min': function value_min (value) {\n if (this.dragging) {\n return\n }\n if (value > this.value.max) {\n value = this.value.max;\n }\n this.currentMinPercentage = (value - this.min) / (this.max - this.min);\n },\n 'value.max': function value_max (value) {\n if (this.dragging) {\n return\n }\n if (value < this.value.min) {\n value = this.value.min;\n }\n this.currentMaxPercentage = (value - this.min) / (this.max - this.min);\n },\n min: function min (value) {\n if (this.value.min < value) {\n this.__update({min: value});\n }\n if (this.value.max < value) {\n this.__update({max: value});\n }\n this.$nextTick(this.__validateProps);\n },\n max: function max (value) {\n if (this.value.min > value) {\n this.__update({min: value});\n }\n if (this.value.max > value) {\n this.__update({max: value});\n }\n this.$nextTick(this.__validateProps);\n },\n step: function step () {\n this.$nextTick(this.__validateProps);\n }\n },\n methods: {\n __setActive: function __setActive (event) {\n var\n container = this.$refs.handle,\n width = container.offsetWidth,\n sensitivity = (this.dragOnlyRange ? -1 : 1) * this.$refs.handleMin.offsetWidth / (2 * width);\n\n this.dragging = {\n left: container.getBoundingClientRect().left,\n width: width,\n valueMin: this.value.min,\n valueMax: this.value.max,\n percentageMin: this.currentMinPercentage,\n percentageMax: this.currentMaxPercentage\n };\n\n var\n percentage = getPercentage(event, this.dragging),\n type;\n\n if (percentage < this.currentMinPercentage + sensitivity) {\n type = dragType.MIN;\n }\n else if (percentage < this.currentMaxPercentage - sensitivity) {\n if (this.dragRange || this.dragOnlyRange) {\n type = dragType.RANGE;\n extend(this.dragging, {\n offsetPercentage: percentage,\n offsetModel: getModel(percentage, this.min, this.max, this.step, this.decimals),\n rangeValue: this.dragging.valueMax - this.dragging.valueMin,\n rangePercentage: this.currentMaxPercentage - this.currentMinPercentage\n });\n }\n else {\n type = this.currentMaxPercentage - percentage < percentage - this.currentMinPercentage\n ? dragType.MAX\n : dragType.MIN;\n }\n }\n else {\n type = dragType.MAX;\n }\n\n if (this.dragOnlyRange && type !== dragType.RANGE) {\n this.dragging = false;\n return\n }\n\n this.dragging.type = type;\n this.__update(event);\n },\n __update: function __update (event) {\n var\n percentage = getPercentage(event, this.dragging),\n model = getModel(percentage, this.min, this.max, this.step, this.decimals),\n pos;\n\n switch (this.dragging.type) {\n case dragType.MIN:\n if (percentage <= this.dragging.percentageMax) {\n pos = {\n minP: percentage,\n maxP: this.dragging.percentageMax,\n min: model,\n max: this.dragging.valueMax\n };\n }\n else {\n pos = {\n minP: this.dragging.percentageMax,\n maxP: percentage,\n min: this.dragging.valueMax,\n max: model\n };\n }\n break\n\n case dragType.MAX:\n if (percentage >= this.dragging.percentageMin) {\n pos = {\n minP: this.dragging.percentageMin,\n maxP: percentage,\n min: this.dragging.valueMin,\n max: model\n };\n }\n else {\n pos = {\n minP: percentage,\n maxP: this.dragging.percentageMin,\n min: model,\n max: this.dragging.valueMin\n };\n }\n break\n\n case dragType.RANGE:\n var\n percentageDelta = percentage - this.dragging.offsetPercentage,\n minP = between(this.dragging.percentageMin + percentageDelta, 0, 1 - this.dragging.rangePercentage),\n modelDelta = model - this.dragging.offsetModel,\n min = between(this.dragging.valueMin + modelDelta, this.min, this.max - this.dragging.rangeValue);\n\n pos = {\n minP: minP,\n maxP: minP + this.dragging.rangePercentage,\n min: min,\n max: min + this.dragging.rangeValue\n };\n break\n }\n\n this.currentMinPercentage = pos.minP;\n this.currentMaxPercentage = pos.maxP;\n this.__updateInput(pos);\n },\n __end: function __end () {\n this.dragging = false;\n this.currentMinPercentage = (this.value.min - this.min) / (this.max - this.min);\n this.currentMaxPercentage = (this.value.max - this.min) / (this.max - this.min);\n },\n __updateInput: function __updateInput (ref) {\n var min = ref.min; if ( min === void 0 ) min = this.value.min;\n var max = ref.max; if ( max === void 0 ) max = this.value.max;\n\n var val = {min: min, max: max};\n if (this.value.min !== min || this.value.max !== max) {\n this.$emit('input', val);\n this.$emit('change', val);\n }\n },\n __validateProps: function __validateProps () {\n if (this.min >= this.max) {\n console.error('Range error: min >= max', this.$el, this.min, this.max);\n }\n else if (notDivides((this.max - this.min) / this.step, this.decimals)) {\n console.error('Range error: step must be a divisor of max - min', this.min, this.max, this.step);\n }\n else if (notDivides((this.value.min - this.min) / this.step, this.decimals)) {\n console.error('Range error: step must be a divisor of initial value.min - min', this.value.min, this.min, this.step);\n }\n else if (notDivides((this.value.max - this.min) / this.step, this.decimals)) {\n console.error('Range error: step must be a divisor of initial value.max - min', this.value.max, this.max, this.step);\n }\n }\n }\n};\n\nvar QRating = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-rating row inline items-center no-wrap\",class:( obj = { disabled: _vm.disable, editable: _vm.editable }, obj[(\"text-\" + (_vm.color))] = _vm.color, obj ),style:(_vm.size ? (\"font-size: \" + (_vm.size)) : '')},_vm._l((_vm.max),function(index){return _c('q-icon',{key:index,class:{ active: (!_vm.mouseModel && _vm.model >= index) || (_vm.mouseModel && _vm.mouseModel >= index), exselected: _vm.mouseModel && _vm.model >= index && _vm.mouseModel < index, hovered: _vm.mouseModel === index },attrs:{\"name\":_vm.icon},on:{\"click\":function($event){_vm.set(index);},\"mouseover\":function($event){_vm.__setHoverValue(index);},\"mouseout\":function($event){_vm.mouseModel = 0;}}})}))\nvar obj;},staticRenderFns: [],\n name: 'q-rating',\n components: {\n QIcon: QIcon\n },\n props: {\n value: {\n type: Number,\n default: 0,\n required: true\n },\n max: {\n type: Number,\n default: 5\n },\n icon: {\n type: String,\n default: 'grade'\n },\n color: String,\n size: String,\n readonly: Boolean,\n disable: Boolean\n },\n data: function data () {\n return {\n mouseModel: 0\n }\n },\n computed: {\n model: {\n get: function get () {\n return this.value\n },\n set: function set (val) {\n if (this.value !== val) {\n this.$emit('input', val);\n this.$emit('change', val);\n }\n }\n },\n editable: function editable () {\n return !this.readonly && !this.disable\n }\n },\n methods: {\n set: function set (value) {\n if (this.editable) {\n this.model = between(parseInt(value, 10), 1, this.max);\n this.mouseModel = 0;\n }\n },\n __setHoverValue: function __setHoverValue (value) {\n if (this.editable) {\n this.mouseModel = value;\n }\n }\n }\n};\n\nfunction width$1 (val) {\n return {width: (val + \"%\")}\n}\n\nvar QProgress = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-progress\",class:_vm.color ? (\"text-\" + (_vm.color)) : ''},[(_vm.buffer && !_vm.indeterminate)?_c('div',{staticClass:\"q-progress-buffer\",style:(_vm.bufferStyle)},[_vm._v(\" \")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"q-progress-track\",style:(_vm.trackStyle)},[_vm._v(\" \")]),_vm._v(\" \"),_c('div',{staticClass:\"q-progress-model\",class:{ animate: _vm.animate, stripe: _vm.stripe, indeterminate: _vm.indeterminate },style:(_vm.modelStyle)},[_vm._v(\" \")])])},staticRenderFns: [],\n name: 'q-progress',\n props: {\n percentage: {\n type: Number,\n default: 0\n },\n color: String,\n stripe: Boolean,\n animate: Boolean,\n indeterminate: Boolean,\n buffer: Number\n },\n computed: {\n model: function model () {\n return between(this.percentage, 0, 100)\n },\n bufferModel: function bufferModel () {\n return between(this.buffer || 0, 0, 100 - this.model)\n },\n modelStyle: function modelStyle () {\n return width$1(this.model)\n },\n bufferStyle: function bufferStyle () {\n return width$1(this.bufferModel)\n },\n trackStyle: function trackStyle () {\n return width$1(this.buffer ? 100 - this.buffer : 100)\n }\n }\n};\n\nvar Dialog$1 = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-modal',{ref:\"dialog\",attrs:{\"minimized\":\"\",\"no-backdrop-dismiss\":_vm.noBackdropDismiss,\"no-esc-dismiss\":_vm.noEscDismiss,\"position\":_vm.position},on:{\"close\":function($event){_vm.__dismiss();}}},[(_vm.title)?_c('div',{staticClass:\"modal-header\",domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),_vm._v(\" \"),(_vm.message)?_c('div',{staticClass:\"modal-body modal-scroll\",domProps:{\"innerHTML\":_vm._s(_vm.message)}}):_vm._e(),_vm._v(\" \"),(_vm.form)?_c('div',{staticClass:\"modal-body modal-scroll\"},[_vm._l((_vm.form),function(el){return [(el.type === 'heading')?_c('h6',{domProps:{\"innerHTML\":_vm._s(el.label)}}):_vm._e(),_vm._v(\" \"),(_vm.__isInputType(el.type))?_c('q-input',{staticStyle:{\"margin-bottom\":\"10px\"},attrs:{\"type\":el.type,\"color\":el.color,\"placeholder\":el.placeholder,\"float-label\":el.label,\"no-pass-toggle\":el.noPassToggle},model:{value:(el.model),callback:function ($$v) {_vm.$set(el, \"model\", $$v);},expression:\"el.model\"}}):(el.type === 'chips')?_c('q-chips-input',{attrs:{\"color\":el.color,\"float-label\":el.label},model:{value:(el.model),callback:function ($$v) {_vm.$set(el, \"model\", $$v);},expression:\"el.model\"}}):(['radio', 'checkbox', 'toggle'].includes(el.type))?_c('q-option-group',{attrs:{\"type\":el.type,\"color\":el.color,\"options\":el.items,\"inline\":el.inline},model:{value:(el.model),callback:function ($$v) {_vm.$set(el, \"model\", $$v);},expression:\"el.model\"}}):_vm._e(),_vm._v(\" \"),(el.type === 'slider' || el.type === 'range')?_c('div',{staticStyle:{\"margin-top\":\"15px\",\"margin-bottom\":\"10px\"}},[_c('label',{domProps:{\"innerHTML\":_vm._s(el.label + ' (' + (el.type === 'range' ? el.model.min + ' to ' + el.model.max : el.model) + ')')}}),_vm._v(\" \"),_c('q-' + el.type,{tag:\"component\",staticClass:\"with-padding\",attrs:{\"min\":el.min,\"max\":el.max,\"step\":el.step,\"label\":el.withLabel,\"label-always\":el.labelAlways,\"markers\":el.markers,\"snap\":el.snap,\"square\":el.square,\"color\":el.color},model:{value:(el.model),callback:function ($$v) {_vm.$set(el, \"model\", $$v);},expression:\"el.model\"}})],1):_vm._e(),_vm._v(\" \"),(el.type === 'rating')?_c('div',{staticStyle:{\"margin-bottom\":\"10px\"}},[_c('label',{staticClass:\"block\",domProps:{\"innerHTML\":_vm._s(el.label)}}),_vm._v(\" \"),_c('q-rating',{style:({fontSize: el.size || '2rem'}),attrs:{\"max\":el.max,\"icon\":el.icon,\"color\":el.color},model:{value:(el.model),callback:function ($$v) {_vm.$set(el, \"model\", $$v);},expression:\"el.model\"}})],1):_vm._e()]})],2):_vm._e(),_vm._v(\" \"),(_vm.progress)?_c('div',{staticClass:\"modal-body\"},[_c('q-progress',{attrs:{\"percentage\":_vm.progress.model,\"color\":\"progress.color || primary\",\"animate\":\"\",\"stripe\":\"\",\"indeterminate\":_vm.progress.indeterminate}}),_vm._v(\" \"),(!_vm.progress.indeterminate)?_c('span',[_vm._v(\" \"+_vm._s(_vm.progress.model)+\" % \")]):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.buttons)?_c('div',{staticClass:\"modal-buttons\",class:{row: !_vm.stackButtons, column: _vm.stackButtons}},_vm._l((_vm.buttons),function(button,index){return _c('q-btn',{key:index,class:button.classes,style:(button.style),attrs:{\"color\":button.color,\"flat\":button.flat || !button.raised && !button.push && !button.outline && !button.rounded,\"push\":button.push,\"rounded\":button.rounded,\"outline\":button.outline},on:{\"click\":function($event){_vm.trigger(button.handler, button.preventClose);}}},[_c('span',{domProps:{\"innerHTML\":_vm._s(typeof button === 'string' ? button : button.label)}})])})):_vm._e(),_vm._v(\" \"),(!_vm.buttons && !_vm.noButtons)?_c('div',{staticClass:\"modal-buttons row\"},[_c('q-btn',{attrs:{\"flat\":\"\"},on:{\"click\":function($event){_vm.close();}}},[_vm._v(\"OK\")])],1):_vm._e()])},staticRenderFns: [],\n name: 'q-dialog',\n components: {\n QModal: QModal,\n QInput: QInput,\n QChipsInput: QChipsInput,\n QOptionGroup: QOptionGroup,\n QSlider: QSlider,\n QRange: QRange,\n QRating: QRating,\n QProgress: QProgress,\n QBtn: QBtn\n },\n props: {\n title: String,\n message: String,\n form: Object,\n stackButtons: Boolean,\n buttons: Array,\n noButtons: Boolean,\n progress: Object,\n onDismiss: Function,\n noBackdropDismiss: Boolean,\n noEscDismiss: Boolean,\n position: String\n },\n computed: {\n opened: function opened () {\n if (this.$refs.dialog) {\n return this.$refs.dialog.active\n }\n }\n },\n methods: {\n trigger: function trigger (handler, preventClose) {\n var this$1 = this;\n\n var handlerFn = typeof handler === 'function';\n if (!handlerFn) {\n this.close();\n return\n }\n\n if (preventClose) {\n handler(this.getFormData(), this.close);\n }\n else {\n this.close(function () { handler(this$1.getFormData()); });\n }\n },\n getFormData: function getFormData () {\n var this$1 = this;\n\n if (!this.form) {\n return\n }\n\n var data = {};\n\n Object.keys(this.form).forEach(function (name) {\n var el = this$1.form[name];\n if (el.type !== 'heading') {\n data[name] = el.model;\n }\n });\n\n return data\n },\n close: function close (fn) {\n if (!this.opened) {\n return\n }\n this.$refs.dialog.close(function () {\n if (typeof fn === 'function') {\n fn();\n }\n });\n },\n __isInputType: function __isInputType (type) {\n return inputTypes.includes(type)\n },\n __dismiss: function __dismiss () {\n this.$root.$destroy();\n if (typeof this.onDismiss === 'function') {\n this.onDismiss();\n }\n }\n },\n mounted: function mounted () {\n var this$1 = this;\n\n this.$refs.dialog.open(function () {\n if (!this$1.$q.platform.is.desktop) {\n return\n }\n\n var node = this$1.$refs.dialog.$el.getElementsByTagName(this$1.form ? 'INPUT' : 'BUTTON');\n if (!node.length) {\n return\n }\n\n if (this$1.form) {\n node[0].focus();\n }\n else {\n node[node.length - 1].focus();\n }\n });\n this.$root.quasarClose = this.close;\n }\n};\n\nvar Dialog = Modal(Dialog$1);\n\nvar QDialogSelect = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-input-frame',{ref:\"input\",staticClass:\"q-select\",attrs:{\"prefix\":_vm.prefix,\"suffix\":_vm.suffix,\"stack-label\":_vm.stackLabel,\"float-label\":_vm.floatLabel,\"error\":_vm.error,\"disable\":_vm.disable,\"inverted\":_vm.inverted,\"dark\":_vm.dark,\"before\":_vm.before,\"after\":_vm.after,\"color\":_vm.frameColor || _vm.color,\"focused\":_vm.focused,\"focusable\":\"\",\"length\":_vm.length,\"additional-length\":_vm.additionalLength},nativeOn:{\"click\":function($event){_vm.pick($event);},\"focus\":function($event){_vm.__onFocus($event);},\"blur\":function($event){_vm.__onBlur($event);}}},[(_vm.hasChips)?_c('div',{staticClass:\"col row items-center group q-input-chips\",class:_vm.alignClass},_vm._l((_vm.selectedOptions),function(ref){\nvar label = ref.label;\nvar value = ref.value;\nreturn _c('q-chip',{key:label,attrs:{\"small\":\"\",\"closable\":!_vm.disable,\"color\":_vm.color},on:{\"close\":function($event){_vm.__toggle(value);}},nativeOn:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\" \"+_vm._s(label)+\" \")])})):_c('div',{staticClass:\"col row items-center q-input-target\",class:_vm.alignClass,domProps:{\"innerHTML\":_vm._s(_vm.actualValue)}}),_vm._v(\" \"),_c('q-icon',{staticClass:\"q-if-control\",attrs:{\"slot\":\"after\",\"name\":\"arrow_drop_down\"},slot:\"after\"})],1)},staticRenderFns: [],\n name: 'q-dialog-select',\n mixins: [SelectMixin],\n props: {\n okLabel: {\n type: String,\n default: 'OK'\n },\n cancelLabel: {\n type: String,\n default: 'Cancel'\n },\n title: {\n type: String,\n default: 'Select'\n },\n message: String\n },\n data: function data () {\n return {\n focused: false\n }\n },\n computed: {\n type: function type () {\n return this.multiple\n ? (this.toggle ? 'toggle' : 'checkbox')\n : 'radio'\n }\n },\n methods: {\n pick: function pick () {\n var this$1 = this;\n\n if (this.disable) {\n return\n }\n\n this.dialog = Dialog.create({\n title: this.title,\n message: this.message,\n onDismiss: function () {\n this$1.dialog = null;\n },\n form: {\n select: {\n type: this.type,\n model: clone(this.value),\n color: this.color,\n items: this.options\n }\n },\n buttons: [\n {\n label: this.cancelLabel,\n color: this.color\n },\n {\n label: this.okLabel,\n color: this.color,\n handler: function (data) {\n if (JSON.stringify(this$1.value) !== JSON.stringify(data.select)) {\n this$1.$emit('input', data.select);\n this$1.$emit('change', data.select);\n }\n }\n }\n ]\n });\n },\n close: function close () {\n if (this.dialog) {\n this.dialog.close();\n }\n },\n\n __onFocus: function __onFocus () {\n this.focused = true;\n this.$emit('focus');\n },\n __onBlur: function __onBlur (e) {\n this.focused = false;\n this.$emit('blur');\n }\n }\n};\n\nvar TableFilter = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-data-table-toolbar upper-toolbar row col items-center\"},[_c('q-search',{staticClass:\"col\",attrs:{\"placeholder\":_vm.labels.search},model:{value:(_vm.filtering.terms),callback:function ($$v) {_vm.$set(_vm.filtering, \"terms\", $$v);},expression:\"filtering.terms\"}}),_vm._v(\" \"),_c('q-select',{staticClass:\"no-margin text-right\",attrs:{\"options\":_vm.filterFields,\"simple\":\"\"},model:{value:(_vm.filtering.field),callback:function ($$v) {_vm.$set(_vm.filtering, \"field\", $$v);},expression:\"filtering.field\"}})],1)},staticRenderFns: [],\n name: 'q-table-filter',\n components: {\n QSearch: QSearch,\n QSelect: QSelect\n },\n props: ['filtering', 'columns', 'labels'],\n computed: {\n filterFields: function filterFields () {\n var cols = this.columns.map(function (col) {\n return {\n label: col.label,\n value: col.field\n }\n });\n\n return [{label: this.labels.allCols, value: ''}].concat(cols)\n }\n }\n};\n\nvar Filter = {\n data: function data () {\n return {\n filtering: {\n field: '',\n terms: ''\n }\n }\n },\n watch: {\n 'filtering.terms': function filtering_terms () {\n this.resetBody();\n }\n },\n computed: {\n filteringCols: function filteringCols () {\n return this.cols.filter(function (col) { return col.filter; })\n }\n },\n methods: {\n filter: function filter (rows) {\n var this$1 = this;\n\n var\n field = this.filtering.field,\n terms = this.filtering.terms.toLowerCase();\n\n if (field) {\n return rows.filter(function (row) { return (row[field] + '').toLowerCase().indexOf(terms) > -1; })\n }\n\n return rows.filter(function (row) {\n return this$1.filteringCols.some(function (col) { return (row[col.field] + '').toLowerCase().indexOf(terms) > -1; })\n })\n }\n },\n components: {\n TableFilter: TableFilter\n }\n};\n\nvar labels = {\n columns: 'Columns',\n allCols: 'All Columns',\n rows: 'Rows',\n selected: {\n singular: 'item selected.',\n plural: 'items selected.'\n },\n clear: 'Clear',\n search: 'Search',\n all: 'All'\n};\n\nvar I18n = {\n computed: {\n labels: function labels$1 () {\n if (this.config && this.config.labels) {\n return extend({}, labels, this.config.labels)\n }\n return labels\n },\n message: function message () {\n if (this.rows.length) {\n return false\n }\n\n if (this.filtering.terms) {\n return (this.config.messages && this.config.messages.noDataAfterFiltering) || 'warning No results. Please refine your search terms.'\n }\n\n return (this.config.messages && this.config.messages.noData) || 'warning No data available to show.'\n }\n }\n};\n\nvar QPagination = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-pagination\",class:{disabled: _vm.disable}},[_c('q-btn',{attrs:{\"disable\":_vm.value === _vm.min,\"color\":_vm.color,\"flat\":\"\",\"small\":\"\"},on:{\"click\":function($event){_vm.set(_vm.min);}}},[_c('q-icon',{attrs:{\"name\":\"first_page\"}})],1),_vm._v(\" \"),_c('q-btn',{attrs:{\"disable\":_vm.value === _vm.min,\"color\":_vm.color,\"flat\":\"\",\"small\":\"\"},on:{\"click\":function($event){_vm.setByOffset(-1);}}},[_c('q-icon',{attrs:{\"name\":\"keyboard_arrow_left\"}})],1),_vm._v(\" \"),_c('q-input',{ref:\"input\",staticClass:\"inline\",style:({width: ((_vm.inputPlaceholder.length) + \"rem\")}),attrs:{\"type\":\"number\",\"min\":_vm.min,\"max\":_vm.max,\"color\":_vm.color,\"placeholder\":_vm.inputPlaceholder,\"disable\":_vm.disable},on:{\"keyup\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key)){ return null; }_vm.__update($event);},\"blur\":_vm.__update},model:{value:(_vm.newPage),callback:function ($$v) {_vm.newPage=$$v;},expression:\"newPage\"}}),_vm._v(\" \"),_c('q-btn',{attrs:{\"disable\":_vm.value === _vm.max,\"color\":_vm.color,\"flat\":\"\",\"small\":\"\"},on:{\"click\":function($event){_vm.setByOffset(1);}}},[_c('q-icon',{attrs:{\"name\":\"keyboard_arrow_right\"}})],1),_vm._v(\" \"),_c('q-btn',{attrs:{\"disable\":_vm.value === _vm.max,\"color\":_vm.color,\"flat\":\"\",\"small\":\"\"},on:{\"click\":function($event){_vm.set(_vm.max);}}},[_c('q-icon',{attrs:{\"name\":\"last_page\"}})],1)],1)},staticRenderFns: [],\n name: 'q-pagination',\n components: {\n QBtn: QBtn,\n QInput: QInput,\n QIcon: QIcon\n },\n props: {\n value: {\n type: Number,\n required: true\n },\n min: {\n type: Number,\n default: 1\n },\n max: {\n type: Number,\n required: true\n },\n color: {\n type: String,\n default: 'primary'\n },\n disable: Boolean\n },\n data: function data () {\n return {\n newPage: ''\n }\n },\n methods: {\n set: function set (value) {\n if (!this.disable) {\n this.model = value;\n }\n },\n setByOffset: function setByOffset (offset) {\n if (!this.disable) {\n this.model = this.value + offset;\n }\n },\n __normalize: function __normalize (value) {\n return between(parseInt(value, 10), 1, this.max)\n },\n __update: function __update () {\n var parsed = parseInt(this.newPage, 10);\n if (parsed) {\n this.model = parsed;\n }\n\n this.newPage = '';\n }\n },\n computed: {\n model: {\n get: function get () {\n return this.value\n },\n set: function set (value) {\n if (!value) {\n return\n }\n if (value < this.min || value > this.max) {\n return\n }\n if (this.value !== value) {\n this.$emit('input', value);\n this.$emit('change', value);\n }\n }\n },\n inputPlaceholder: function inputPlaceholder () {\n return this.value + ' / ' + this.max\n }\n }\n};\n\nvar TablePagination = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-data-table-toolbar bottom-toolbar row reverse-wrap items-center justify-end\"},[_c('div',[_c('span',{staticClass:\"q-data-table-row-label\"},[_vm._v(_vm._s(_vm.labels.rows))]),_vm._v(\" \"),_c('q-select',{staticClass:\"inline no-margin\",attrs:{\"options\":_vm.pagination.options,\"align\":\"right\",\"simple\":\"\"},on:{\"input\":_vm.resetPage},model:{value:(_vm.pagination.rowsPerPage),callback:function ($$v) {_vm.$set(_vm.pagination, \"rowsPerPage\", $$v);},expression:\"pagination.rowsPerPage\"}})],1),_vm._v(\" \"),(_vm.entries > 0)?_c('div',[_vm._v(\" \"+_vm._s(_vm.start)+\" - \"+_vm._s(_vm.end)+\" / \"+_vm._s(_vm.entries)+\" \")]):_vm._e(),_vm._v(\" \"),(_vm.pagination.rowsPerPage > 0)?_c('q-pagination',{attrs:{\"max\":_vm.max},model:{value:(_vm.pagination.page),callback:function ($$v) {_vm.$set(_vm.pagination, \"page\", $$v);},expression:\"pagination.page\"}}):_vm._e()],1)},staticRenderFns: [],\n name: 'q-table-pagination',\n components: {\n QSelect: QSelect,\n QPagination: QPagination\n },\n props: ['pagination', 'entries', 'labels'],\n watch: {\n entries: function entries () {\n this.resetPage();\n }\n },\n computed: {\n start: function start () {\n return (this.pagination.page - 1) * this.pagination.rowsPerPage + 1\n },\n end: function end () {\n if (this.pagination.page === this.max || this.pagination.rowsPerPage === 0) {\n return this.entries\n }\n return this.pagination.page * this.pagination.rowsPerPage\n },\n max: function max () {\n return Math.max(1, Math.ceil(this.entries / this.pagination.rowsPerPage))\n }\n },\n methods: {\n resetPage: function resetPage () {\n this.pagination.page = 1;\n }\n }\n};\n\nvar defaultOptions = [\n { label: 'All', value: 0 },\n { label: '5', value: 5 },\n { label: '10', value: 10 },\n { label: '15', value: 15 },\n { label: '20', value: 20 },\n { label: '50', value: 50 },\n { label: '100', value: 100 }\n];\n\nfunction parseOptions (opts) {\n return [{ label: 'All', value: 0 }].concat(\n opts.map(function (opt) {\n return {\n label: '' + opt,\n value: Number(opt)\n }\n })\n )\n}\n\nvar Pagination = {\n data: function data () {\n return {\n _pagination: {\n page: 1,\n entries: 0,\n rowsPerPage: null\n }\n }\n },\n computed: {\n pagination: function pagination () {\n var self = this,\n cfg = this.config.pagination,\n options = defaultOptions;\n\n if (cfg) {\n if (cfg.options) {\n options = parseOptions(cfg.options);\n }\n }\n\n options[0].label = this.labels.all;\n\n return {\n get page () { return self.$data._pagination.page },\n set page (page) { self.$data._pagination.page = page; },\n get entries () { return self.$data._pagination.entries },\n set entries (entries) { self.$data._pagination.entries = entries; },\n get rowsPerPage () {\n var rowsPerPage = self.$data._pagination.rowsPerPage;\n if (rowsPerPage == null) {\n if (cfg && typeof cfg.rowsPerPage !== 'undefined') {\n rowsPerPage = cfg.rowsPerPage;\n }\n else {\n rowsPerPage = 0;\n }\n }\n return rowsPerPage\n },\n set rowsPerPage (rowsPerPage) { self.$data._pagination.rowsPerPage = rowsPerPage; },\n options: options\n }\n }\n },\n watch: {\n 'pagination.page': function pagination_page () {\n this.$refs.body.scrollTop = 0;\n }\n },\n methods: {\n paginate: function paginate (rows) {\n var\n page = this.pagination.page,\n number = this.pagination.rowsPerPage;\n\n if (number <= 0) {\n return rows\n }\n return rows.slice((page - 1) * number, page * number)\n }\n },\n components: {\n TablePagination: TablePagination\n }\n};\n\nvar Responsive = {\n data: function data () {\n return {\n responsive: false\n }\n },\n methods: {\n handleResponsive: function handleResponsive () {\n if (typeof this.config.responsive !== 'undefined') {\n if (!this.config.responsive) {\n this.responsive = false;\n return\n }\n }\n this.responsive = viewport().width <= 600;\n }\n },\n watch: {\n 'config.responsive': function config_responsive () {\n this.$nextTick(this.handleResponsive);\n }\n },\n mounted: function mounted () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.handleResponsive();\n window.addEventListener('resize', this$1.handleResponsive);\n });\n },\n beforeDestroy: function beforeDestroy () {\n window.removeEventListener('resize', this.handleResponsive);\n }\n};\n\nfunction getRowSelection (rows, selection, multiple) {\n if (!selection) {\n return []\n }\n return multiple ? rows.map(function () { return false; }) : [-1]\n}\n\nvar RowSelection = {\n data: function data () {\n return {\n rowSelection: []\n }\n },\n created: function created () {\n this.rowSelection = getRowSelection(this.rows, this.config.selection, this.multipleSelection);\n },\n watch: {\n 'config.selection': function config_selection (value) {\n this.rowSelection = getRowSelection(this.rows, value, value === 'multiple');\n },\n rows: function rows (r) {\n this.rowSelection = getRowSelection(r, this.config.selection, this.multipleSelection);\n },\n rowSelection: function rowSelection () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.$emit('selection', this$1.rowsSelected, this$1.selectedRows);\n\n if (this$1.rowsSelected) {\n this$1.toolbar = 'selection';\n return\n }\n if (this$1.toolbar === 'selection') {\n this$1.toolbar = '';\n }\n });\n }\n },\n computed: {\n multipleSelection: function multipleSelection () {\n return this.config.selection && this.config.selection === 'multiple'\n },\n rowsSelected: function rowsSelected () {\n if (this.multipleSelection) {\n return this.rowSelection.filter(function (r) { return r; }).length\n }\n return this.rowSelection.length && this.rowSelection[0] !== -1 ? 1 : 0\n },\n selectedRows: function selectedRows () {\n var this$1 = this;\n\n if (this.multipleSelection) {\n return this.rowSelection\n .map(function (selected, index) { return [selected, this$1.rows[index].__index]; })\n .filter(function (row) { return row[0]; })\n .map(function (row) {\n return { index: row[1], data: this$1.data[row[1]] }\n })\n }\n\n if (!this.rowSelection.length || this.rowSelection[0] === -1) {\n return []\n }\n var\n index = this.rows[this.rowSelection[0]].__index,\n row = this.data[index];\n\n return [{index: index, data: row}]\n }\n },\n methods: {\n clearSelection: function clearSelection () {\n if (!this.multipleSelection) {\n this.rowSelection = [-1];\n return\n }\n this.rowSelection = this.rows.map(function () { return false; });\n },\n emitRowClick: function emitRowClick (row) {\n this.$emit('rowclick', row);\n }\n }\n};\n\nvar Scroll = {\n data: function data () {\n return {\n scroll: {\n horiz: 0,\n vert: 0\n }\n }\n },\n methods: {\n scrollHandler: function scrollHandler (e) {\n var this$1 = this;\n\n var\n left = e.currentTarget.scrollLeft,\n top = e.currentTarget.scrollTop;\n\n window.requestAnimationFrame(function () {\n if (this$1.$refs.head) {\n this$1.$refs.head.scrollLeft = left;\n }\n this$1.updateStickyScroll(top);\n });\n },\n mouseWheel: function mouseWheel (e) {\n if (!this.scroll.vert) {\n return\n }\n\n var body = this.$refs.body;\n body.scrollTop += getMouseWheelDistance(e).pixelY;\n if (body.scrollTop > 0 && body.scrollTop + body.clientHeight < body.scrollHeight) {\n e.preventDefault();\n }\n },\n resize: function resize () {\n var this$1 = this;\n\n this.$nextTick(function () {\n window.requestAnimationFrame(function () {\n if (this$1.responsive) {\n return\n }\n var\n body = this$1.$refs.body,\n size = getScrollbarWidth();\n\n this$1.scroll.horiz = size && body.clientWidth < body.scrollWidth ? size + 'px' : 0;\n this$1.scroll.vert = size && body.scrollHeight > body.clientHeight ? size + 'px' : 0;\n });\n });\n },\n updateStickyScroll: function updateStickyScroll (top) {\n if (this.$refs.stickyLeft) {\n this.$refs.stickyLeft.scrollTop = top;\n }\n if (this.$refs.stickyRight) {\n this.$refs.stickyRight.scrollTop = top;\n }\n }\n },\n watch: {\n $data: {\n deep: true,\n handler: function handler () {\n this.resize();\n }\n },\n bodyStyle: {\n deep: true,\n handler: function handler () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.resize();\n });\n }\n },\n rowStyle: {\n deep: true,\n handler: function handler () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.resize();\n });\n }\n },\n rightStickyColumns: function rightStickyColumns () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.updateStickyScroll(this$1.$refs.body.scrollTop);\n });\n },\n leftStickyColumns: function leftStickyColumns () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.updateStickyScroll(this$1.$refs.body.scrollTop);\n });\n }\n },\n mounted: function mounted () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.resize();\n window.addEventListener('resize', this$1.resize);\n });\n },\n beforeDestroy: function beforeDestroy () {\n window.removeEventListener('resize', this.resize);\n }\n};\n\nvar sortMethod = {\n string: function (a, b) { return a.localeCompare(b); },\n number: function (a, b) { return a - b; },\n date: function (a, b) { return (new Date(a)) - (new Date(b)); },\n boolean: function (a, b) {\n if (a && !b) { return -1 }\n if (!a && b) { return 1 }\n return 0\n }\n};\n\nfunction nextDirection (dir) {\n if (dir === 0) { return 1 }\n if (dir === 1) { return -1 }\n return 0\n}\n\nfunction getSortFn (sort, type) {\n if (typeof sort === 'function') {\n return sort\n }\n return sortMethod[type] || sortMethod.number\n}\n\nvar Sort = {\n data: function data () {\n return {\n sorting: {\n field: '',\n dir: 0,\n fn: false\n }\n }\n },\n watch: {\n 'sorting.dir': function sorting_dir () {\n this.resetBody();\n }\n },\n methods: {\n setSortField: function setSortField (col) {\n if (this.sorting.field === col.field) {\n this.sorting.dir = nextDirection(this.sorting.dir);\n if (this.sorting.dir === 0) {\n this.sorting.field = '';\n }\n return\n }\n\n this.sorting.field = col.field;\n this.sorting.dir = 1;\n this.sorting.fn = getSortFn(col.sort, col.type);\n },\n sort: function sort (rows) {\n var sortFn = this.sorting.fn || (function (a, b) { return a - b; });\n var\n field = this.sorting.field,\n dir = this.sorting.dir;\n\n rows.sort(function (a, b) { return dir * sortFn(a[field], b[field]); });\n }\n }\n};\n\nvar SortIcon = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-icon',{staticClass:\"cursor-pointer\",attrs:{\"name\":_vm.icon}})},staticRenderFns: [],\n name: 'q-sort-icon',\n components: {\n QIcon: QIcon\n },\n props: {\n field: String,\n sorting: Object\n },\n computed: {\n icon: function icon () {\n if (this.sorting.field !== this.field) {\n return 'import_export'\n }\n return this.sorting.dir === 1 ? 'arrow_downward' : 'arrow_upward'\n }\n }\n};\n\nvar QTooltip = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"q-tooltip animate-scale\",style:(_vm.transformCSS)},[_vm._t(\"default\")],2)},staticRenderFns: [],\n name: 'q-tooltip',\n mixins: [ModelToggleMixin],\n props: {\n anchor: {\n type: String,\n default: 'top middle',\n validator: positionValidator\n },\n self: {\n type: String,\n default: 'bottom middle',\n validator: positionValidator\n },\n offset: {\n type: Array,\n validator: offsetValidator\n },\n delay: {\n type: Number,\n default: 0\n },\n maxHeight: String,\n disable: Boolean\n },\n data: function data () {\n return {\n opened: false\n }\n },\n computed: {\n anchorOrigin: function anchorOrigin () {\n return parsePosition(this.anchor)\n },\n selfOrigin: function selfOrigin () {\n return parsePosition(this.self)\n },\n transformCSS: function transformCSS () {\n return getTransformProperties({\n selfOrigin: this.selfOrigin\n })\n }\n },\n methods: {\n toggle: function toggle () {\n if (this.opened) {\n this.close();\n }\n else {\n this.open();\n }\n },\n open: function open () {\n if (this.disable || this.opened) {\n return\n }\n clearTimeout(this.timer);\n this.opened = true;\n document.body.appendChild(this.$el);\n this.scrollTarget = getScrollTarget(this.anchorEl);\n this.scrollTarget.addEventListener('scroll', this.close);\n window.addEventListener('resize', this.__debouncedUpdatePosition);\n if (Platform.is.mobile) {\n document.body.addEventListener('click', this.close, true);\n }\n this.__updateModel(true);\n this.$emit('open');\n this.__updatePosition();\n },\n close: function close () {\n clearTimeout(this.timer);\n if (this.opened) {\n this.opened = false;\n this.scrollTarget.removeEventListener('scroll', this.close);\n window.removeEventListener('resize', this.__debouncedUpdatePosition);\n document.body.removeChild(this.$el);\n if (Platform.is.mobile) {\n document.body.removeEventListener('click', this.close, true);\n }\n this.__updateModel(false);\n this.$emit('close');\n }\n },\n __updatePosition: function __updatePosition () {\n setPosition({\n el: this.$el,\n offset: this.offset,\n anchorEl: this.anchorEl,\n anchorOrigin: this.anchorOrigin,\n selfOrigin: this.selfOrigin,\n maxHeight: this.maxHeight\n });\n },\n __delayOpen: function __delayOpen () {\n clearTimeout(this.timer);\n this.timer = setTimeout(this.open, this.delay);\n }\n },\n created: function created () {\n var this$1 = this;\n\n this.__debouncedUpdatePosition = debounce(function () {\n this$1.__updatePosition();\n }, 70);\n },\n mounted: function mounted () {\n var this$1 = this;\n\n this.$nextTick(function () {\n /*\n The following is intentional.\n Fixes a bug in Chrome regarding offsetHeight by requiring browser\n to calculate this before removing from DOM and using it for first time.\n */\n this$1.$el.offsetHeight; // eslint-disable-line\n\n this$1.anchorEl = this$1.$el.parentNode;\n this$1.anchorEl.removeChild(this$1.$el);\n if (this$1.anchorEl.classList.contains('q-btn-inner')) {\n this$1.anchorEl = this$1.anchorEl.parentNode;\n }\n if (Platform.is.mobile) {\n this$1.anchorEl.addEventListener('click', this$1.open);\n }\n else {\n this$1.anchorEl.addEventListener('mouseenter', this$1.__delayOpen);\n this$1.anchorEl.addEventListener('focus', this$1.__delayOpen);\n this$1.anchorEl.addEventListener('mouseleave', this$1.close);\n this$1.anchorEl.addEventListener('blur', this$1.close);\n }\n });\n },\n beforeDestroy: function beforeDestroy () {\n if (Platform.is.mobile) {\n this.anchorEl.removeEventListener('click', this.open);\n }\n else {\n this.anchorEl.removeEventListener('mouseenter', this.__delayOpen);\n this.anchorEl.removeEventListener('focus', this.__delayOpen);\n this.anchorEl.removeEventListener('mouseleave', this.close);\n this.anchorEl.removeEventListener('blur', this.close);\n }\n this.close();\n }\n};\n\nvar TableSticky = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table',{staticClass:\"q-table horizontal-separator\"},[_c('colgroup',[(_vm.selection)?_c('col',{staticStyle:{\"width\":\"45px\"}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.cols),function(col){return _c('col',{style:({width: col.width})})})],2),_vm._v(\" \"),(!_vm.noHeader)?_c('thead',[_c('tr',[(_vm.selection)?_c('th',[_vm._v(\" \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.cols),function(col,index){return _c('th',{class:{invisible: _vm.hidden(index), sortable: col.sort},on:{\"click\":function($event){_vm.sort(col);}}},[(!_vm.hidden(index))?[(col.sort)?_c('sort-icon',{attrs:{\"field\":col.field,\"sorting\":_vm.sorting}}):_vm._e(),_vm._v(\" \"),_c('span',{domProps:{\"innerHTML\":_vm._s(col.label)}}),_vm._v(\" \"),(col.label)?_c('q-tooltip',{domProps:{\"innerHTML\":_vm._s(col.label)}}):_vm._e()]:_vm._e()],2)})],2)]):_vm._e(),_vm._v(\" \"),(!_vm.head)?_c('tbody',[_vm._t(\"default\")],2):_vm._e()])},staticRenderFns: [],\n name: 'q-table-sticky',\n components: {\n SortIcon: SortIcon,\n QTooltip: QTooltip\n },\n props: {\n stickyCols: Number,\n cols: Array,\n head: Boolean,\n noHeader: Boolean,\n right: Boolean,\n sorting: Object,\n scroll: Object,\n selection: [String, Boolean]\n },\n data: function data () {\n return {\n selected: false\n }\n },\n methods: {\n hidden: function hidden (index) {\n if (this.right) {\n return this.cols.length - this.stickyCols > index\n }\n return index >= this.stickyCols\n },\n sort: function sort (col) {\n if (col.sort) {\n this.$emit('sort', col);\n }\n }\n }\n};\n\nvar StickyColumns = {\n computed: {\n leftStickyColumns: function leftStickyColumns () {\n var this$1 = this;\n\n var\n number = this.config.leftStickyColumns || 0,\n cols = number;\n\n for (var i = 0; i < cols; i++) {\n if (!this$1.columnSelection.includes(this$1.columns[i].field)) {\n number--;\n }\n }\n return number\n },\n rightStickyColumns: function rightStickyColumns () {\n var this$1 = this;\n\n var\n number = this.config.rightStickyColumns || 0,\n cols = number,\n length = this.columns.length;\n\n for (var i = 1; i <= cols; i++) {\n if (!this$1.columnSelection.includes(this$1.columns[length - i].field)) {\n number--;\n }\n }\n return number\n },\n regularCols: function regularCols () {\n return this.cols.slice(this.leftStickyColumns, this.cols.length - this.rightStickyColumns)\n },\n leftCols: function leftCols () {\n var this$1 = this;\n\n return Array.apply(null, Array(this.leftStickyColumns)).map(function (col, n) { return this$1.cols[n]; })\n },\n rightCols: function rightCols () {\n var this$1 = this;\n\n return Array.apply(null, Array(this.rightStickyColumns)).map(function (col, n) { return this$1.cols[this$1.cols.length - this$1.rightStickyColumns + n]; })\n }\n },\n components: {\n TableSticky: TableSticky\n }\n};\n\nvar TableContent = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table',{staticClass:\"q-table horizontal-separator\",style:(_vm.tableStyle)},[_c('colgroup',[(_vm.selection)?_c('col',{staticStyle:{\"width\":\"45px\"}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.cols),function(col){return _c('col',{style:({width: col.width})})}),_vm._v(\" \"),(_vm.head && _vm.scroll.horiz)?_c('col',{style:({width: _vm.scroll.horiz})}):_vm._e()],2),_vm._v(\" \"),(_vm.head)?_c('thead',[_c('tr',[(_vm.selection)?_c('th',[_vm._v(\" \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.cols),function(col){return _c('th',{class:{sortable: col.sort},on:{\"click\":function($event){_vm.sort(col);}}},[(col.sort)?_c('sort-icon',{attrs:{\"field\":col.field,\"sorting\":_vm.sorting}}):_vm._e(),_vm._v(\" \"),_c('span',{domProps:{\"innerHTML\":_vm._s(col.label)}}),_vm._v(\" \"),(col.label)?_c('q-tooltip',{domProps:{\"innerHTML\":_vm._s(col.label)}}):_vm._e()],1)}),_vm._v(\" \"),(_vm.head && _vm.scroll.horiz)?_c('th'):_vm._e()],2)]):_c('tbody',[_vm._t(\"default\")],2)])},staticRenderFns: [],\n name: 'q-table-content',\n components: {\n SortIcon: SortIcon,\n QTooltip: QTooltip\n },\n props: {\n cols: Array,\n head: Boolean,\n sorting: Object,\n scroll: Object,\n selection: [String, Boolean]\n },\n computed: {\n tableStyle: function tableStyle () {\n return {\n width: this.head && this.vert ? (\"calc(100% - \" + (this.scroll.vert) + \")\") : '100%'\n }\n }\n },\n methods: {\n sort: function sort (col) {\n if (col.sort) {\n this.$emit('sort', col);\n }\n }\n }\n};\n\nvar QDataTable = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-data-table\"},[(_vm.hasToolbar && _vm.toolbar === '')?[_c('div',{staticClass:\"q-data-table-toolbar upper-toolbar row reverse-wrap items-center justify-end\"},[(_vm.config.title)?_c('div',{staticClass:\"q-data-table-title ellipsis col\",domProps:{\"innerHTML\":_vm._s(_vm.config.title)}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"row items-center\"},[(_vm.config.refresh && !_vm.refreshing)?_c('q-btn',{attrs:{\"flat\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.refresh}},[_c('q-icon',{attrs:{\"name\":\"refresh\"}})],1):_vm._e(),_vm._v(\" \"),(_vm.refreshing)?_c('q-btn',{staticClass:\"disabled\"},[_c('q-icon',{staticClass:\"animate-spin-reverse\",attrs:{\"name\":\"cached\"}})],1):_vm._e(),_vm._v(\" \"),(_vm.config.columnPicker)?_c('q-select',{staticStyle:{\"margin\":\"0 0 0 10px\"},attrs:{\"multiple\":\"multiple\",\"toggle\":\"\",\"options\":_vm.columnSelectionOptions,\"display-value\":_vm.labels.columns,\"simple\":\"\"},model:{value:(_vm.columnSelection),callback:function ($$v) {_vm.columnSelection=$$v;},expression:\"columnSelection\"}}):_vm._e()],1)])]:_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.toolbar === 'selection'),expression:\"toolbar === 'selection'\"}],staticClass:\"q-data-table-toolbar upper-toolbar row reverse-wrap items-center justify-end q-data-table-selection\"},[_c('div',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.rowsSelected)+\" \"),(_vm.rowsSelected === 1)?_c('span',[_vm._v(_vm._s(_vm.labels.selected.singular))]):_c('span',[_vm._v(_vm._s(_vm.labels.selected.plural))]),_vm._v(\" \"),_c('q-btn',{attrs:{\"flat\":\"\",\"small\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.clearSelection}},[_vm._v(_vm._s(_vm.labels.clear))])],1),_vm._v(\" \"),_c('div',[_vm._t(\"selection\",null,{rows:_vm.selectedRows})],2)]),_vm._v(\" \"),(_vm.filteringCols.length)?_c('table-filter',{attrs:{\"filtering\":_vm.filtering,\"columns\":_vm.filteringCols,\"labels\":_vm.labels}}):_vm._e(),_vm._v(\" \"),(_vm.responsive)?[(_vm.message)?_c('div',{staticClass:\"q-data-table-message row flex-center\",domProps:{\"innerHTML\":_vm._s(_vm.message)}}):_c('div',{staticStyle:{\"overflow\":\"auto\"},style:(_vm.bodyStyle)},[_c('table',{ref:\"body\",staticClass:\"q-table horizontal-separator responsive\"},[_c('tbody',_vm._l((_vm.rows),function(row,index){return _c('tr',{on:{\"click\":function($event){_vm.emitRowClick(row);}}},[(_vm.config.selection)?_c('td',[(_vm.config.selection === 'multiple')?_c('q-checkbox',{model:{value:(_vm.rowSelection[index]),callback:function ($$v) {_vm.$set(_vm.rowSelection, index, $$v);},expression:\"rowSelection[index]\"}}):_c('q-radio',{attrs:{\"val\":index},model:{value:(_vm.rowSelection[0]),callback:function ($$v) {_vm.$set(_vm.rowSelection, 0, $$v);},expression:\"rowSelection[0]\"}})],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.cols),function(col){return _c('td',{class:_vm.formatClass(col, row[col.field]),style:(_vm.formatStyle(col, row[col.field])),attrs:{\"data-th\":col.label}},[_vm._t('col-'+col.field,[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.format(row, col))}})],{row:row,col:col,data:row[col.field]})],2)})],2)}))])])]:_c('div',{staticClass:\"q-data-table-container\",on:{\"wheel\":_vm.mouseWheel,\"mousewheel\":_vm.mouseWheel,\"DOMMouseScroll\":_vm.mouseWheel}},[(_vm.hasHeader)?_c('div',{ref:\"head\",staticClass:\"q-data-table-head\",style:({marginRight: _vm.scroll.vert})},[_c('table-content',{attrs:{\"head\":\"\",\"cols\":_vm.cols,\"sorting\":_vm.sorting,\"scroll\":_vm.scroll,\"selection\":_vm.config.selection},on:{\"sort\":_vm.setSortField}})],1):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"body\",staticClass:\"q-data-table-body\",style:(_vm.bodyStyle),on:{\"scroll\":_vm.scrollHandler}},[(_vm.message)?_c('div',{staticClass:\"q-data-table-message row flex-center\",domProps:{\"innerHTML\":_vm._s(_vm.message)}}):_c('table-content',{attrs:{\"cols\":_vm.cols,\"selection\":_vm.config.selection}},_vm._l((_vm.rows),function(row){return _c('tr',{style:(_vm.rowStyle),on:{\"click\":function($event){_vm.emitRowClick(row);}}},[(_vm.config.selection)?_c('td'):_vm._e(),_vm._v(\" \"),(_vm.leftStickyColumns)?_c('td',{attrs:{\"colspan\":_vm.leftStickyColumns}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.regularCols),function(col){return _c('td',{class:_vm.formatClass(col, row[col.field]),style:(_vm.formatStyle(col, row[col.field]))},[_vm._t('col-'+col.field,[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.format(row, col))}})],{row:row,col:col,data:row[col.field]})],2)}),_vm._v(\" \"),(_vm.rightStickyColumns)?_c('td',{attrs:{\"colspan\":_vm.rightStickyColumns}}):_vm._e()],2)}))],1),_vm._v(\" \"),(!_vm.message && (_vm.leftStickyColumns || _vm.config.selection))?[_c('div',{ref:\"stickyLeft\",staticClass:\"q-data-table-sticky-left\",style:({bottom: _vm.scroll.horiz})},[_c('table-sticky',{attrs:{\"no-header\":!_vm.hasHeader,\"sticky-cols\":_vm.leftStickyColumns,\"cols\":_vm.cols,\"sorting\":_vm.sorting,\"selection\":_vm.config.selection}},_vm._l((_vm.rows),function(row,index){return _c('tr',{style:(_vm.rowStyle),on:{\"click\":function($event){_vm.emitRowClick(row);}}},[(_vm.config.selection)?_c('td',[(_vm.config.selection === 'multiple')?_c('q-checkbox',{model:{value:(_vm.rowSelection[index]),callback:function ($$v) {_vm.$set(_vm.rowSelection, index, $$v);},expression:\"rowSelection[index]\"}}):_c('q-radio',{attrs:{\"val\":index},model:{value:(_vm.rowSelection[0]),callback:function ($$v) {_vm.$set(_vm.rowSelection, 0, $$v);},expression:\"rowSelection[0]\"}})],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.leftCols),function(col){return _c('td',{class:_vm.formatClass(col, row[col.field]),style:(_vm.formatStyle(col, row[col.field]))},[_vm._t('col-'+col.field,[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.format(row, col))}})],{row:row,col:col,data:row[col.field]})],2)})],2)}))],1),_vm._v(\" \"),(_vm.hasHeader)?_c('div',{staticClass:\"q-data-table-sticky-left\",style:({bottom: _vm.scroll.horiz})},[_c('table-sticky',{attrs:{\"head\":\"\",\"sticky-cols\":_vm.leftStickyColumns,\"scroll\":_vm.scroll,\"cols\":_vm.cols,\"sorting\":_vm.sorting,\"selection\":_vm.config.selection},on:{\"sort\":_vm.setSortField}})],1):_vm._e()]:_vm._e(),_vm._v(\" \"),(!_vm.message && _vm.rightStickyColumns)?[_c('div',{ref:\"stickyRight\",staticClass:\"q-data-table-sticky-right\",style:({right: _vm.scroll.vert, bottom: _vm.scroll.horiz})},[_c('table-sticky',{attrs:{\"no-header\":!_vm.hasHeader,\"right\":\"\",\"sticky-cols\":_vm.rightStickyColumns,\"cols\":_vm.cols,\"sorting\":_vm.sorting,\"selection\":_vm.config.selection}},_vm._l((_vm.rows),function(row){return _c('tr',{style:(_vm.rowStyle),on:{\"click\":function($event){_vm.emitRowClick(row);}}},[(_vm.config.selection)?_c('td',{staticClass:\"invisible\"}):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"invisible\",attrs:{\"colspan\":_vm.cols.length - _vm.rightStickyColumns}}),_vm._v(\" \"),_vm._l((_vm.rightCols),function(col){return _c('td',{class:_vm.formatClass(col, row[col.field]),style:(_vm.formatStyle(col, row[col.field]))},[_vm._t('col-'+col.field,[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.format(row, col))}})],{row:row,col:col,data:row[col.field]})],2)})],2)}))],1),_vm._v(\" \"),(_vm.hasHeader)?_c('div',{staticClass:\"q-data-table-sticky-right\",style:({right: _vm.scroll.vert})},[_c('table-sticky',{attrs:{\"right\":\"\",\"head\":\"\",\"sticky-cols\":_vm.rightStickyColumns,\"scroll\":_vm.scroll,\"cols\":_vm.cols,\"sorting\":_vm.sorting,\"selection\":_vm.config.selection},on:{\"sort\":_vm.setSortField}})],1):_vm._e()]:_vm._e()],2),_vm._v(\" \"),(_vm.config.pagination)?_c('table-pagination',{attrs:{\"pagination\":_vm.pagination,\"entries\":_vm.pagination.entries,\"labels\":_vm.labels}}):_vm._e()],2)},staticRenderFns: [],\n name: 'q-data-table',\n components: {\n QSelect: QSelect,\n QBtn: QBtn,\n QIcon: QIcon,\n QCheckbox: QCheckbox,\n QRadio: QRadio,\n TableContent: TableContent\n },\n mixins: [ColumnSelection, Filter, I18n, Pagination, Responsive, RowSelection, Scroll, Sort, StickyColumns],\n props: {\n data: {\n type: Array,\n default: function default$1 () { return [] }\n },\n columns: {\n type: Array,\n required: true\n },\n config: {\n type: Object,\n default: function default$2 () { return {} }\n }\n },\n data: function data () {\n return {\n selected: false,\n toolbar: '',\n refreshing: false\n }\n },\n computed: {\n rows: function rows () {\n var length = this.data.length;\n\n if (!length) {\n return []\n }\n\n var rows = clone(this.data);\n\n rows.forEach(function (row, i) {\n row.__index = i;\n });\n\n if (this.filtering.terms) {\n rows = this.filter(rows);\n }\n\n if (this.sorting.field) {\n this.sort(rows);\n }\n\n this.pagination.entries = rows.length;\n if (this.pagination.rowsPerPage > 0) {\n rows = this.paginate(rows);\n }\n\n return rows\n },\n rowStyle: function rowStyle () {\n if (this.config.rowHeight) {\n return {height: this.config.rowHeight}\n }\n },\n bodyStyle: function bodyStyle () {\n return this.config.bodyStyle || {}\n },\n hasToolbar: function hasToolbar () {\n return this.config.title || this.config.columnPicker || this.config.refresh\n },\n hasHeader: function hasHeader () {\n return !this.config.noHeader\n }\n },\n methods: {\n resetBody: function resetBody () {\n var body = this.$refs.body;\n\n if (body) {\n body.scrollTop = 0;\n }\n this.pagination.page = 1;\n },\n format: function format (row, col) {\n return col.format ? col.format(row[col.field], row) : row[col.field]\n },\n refresh: function refresh (state) {\n var this$1 = this;\n\n if (state === false) {\n this.refreshing = false;\n }\n else if (state === true || !this.refreshing) {\n this.refreshing = true;\n this.$emit('refresh', function () {\n this$1.refreshing = false;\n });\n }\n },\n formatStyle: function formatStyle (col, value) {\n return typeof col.style === 'function' ? col.style(value) : col.style\n },\n formatClass: function formatClass (col, value) {\n return typeof col.classes === 'function' ? col.classes(value) : col.classes\n }\n }\n};\n\n/* eslint no-fallthrough: 0 */\n\nvar MILLISECONDS_IN_DAY = 86400000;\nvar MILLISECONDS_IN_HOUR = 3600000;\nvar MILLISECONDS_IN_MINUTE = 60000;\nvar token = /d{1,4}|M{1,4}|m{1,2}|w{1,2}|D{1,4}|YY(?:YY)?|H{1,2}|h{1,2}|s{1,2}|S{1,3}|Z{1,2}|a{1,2}|[AQExX]/g;\n\nvar dayNames = [\n 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'\n];\n\nvar monthNames = [\n 'January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December'\n];\n\nfunction formatTimezone (offset, delimeter) {\n if ( delimeter === void 0 ) delimeter = '';\n\n var\n sign = offset > 0 ? '-' : '+',\n absOffset = Math.abs(offset),\n hours = Math.floor(absOffset / 60),\n minutes = absOffset % 60;\n\n return sign + pad(hours) + delimeter + pad(minutes)\n}\n\nfunction setMonth (date, newMonth /* 1-based */) {\n var\n test = new Date(date.getFullYear(), newMonth, 0, 0, 0, 0, 0),\n days = test.getDate();\n\n date.setMonth(newMonth - 1, Math.min(days, date.getDate()));\n}\n\nfunction getChange (date, mod, add) {\n var\n t = new Date(date),\n sign = (add ? 1 : -1);\n\n Object.keys(mod).forEach(function (key) {\n if (key === 'month') {\n setMonth(t, t.getMonth() + 1 + sign * mod.month);\n return\n }\n\n var op = key === 'year'\n ? 'FullYear'\n : capitalize(key === 'days' ? 'date' : key);\n t[(\"set\" + op)](t[(\"get\" + op)]() + sign * mod[key]);\n });\n return t\n}\n\nfunction isValid (date) {\n var t = Date.parse(date);\n return isNaN(t) === false\n}\n\nfunction buildDate (mod, utc) {\n return adjustDate(new Date(), mod, utc)\n}\n\nfunction getDayOfWeek (date) {\n var dow = new Date(date).getDay();\n return dow === 0 ? 7 : dow\n}\n\nfunction getWeekOfYear (date) {\n // Remove time components of date\n var thursday = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n\n // Change date to Thursday same week\n thursday.setDate(thursday.getDate() - ((thursday.getDay() + 6) % 7) + 3);\n\n // Take January 4th as it is always in week 1 (see ISO 8601)\n var firstThursday = new Date(thursday.getFullYear(), 0, 4);\n\n // Change date to Thursday same week\n firstThursday.setDate(firstThursday.getDate() - ((firstThursday.getDay() + 6) % 7) + 3);\n\n // Check if daylight-saving-time-switch occurred and correct for it\n var ds = thursday.getTimezoneOffset() - firstThursday.getTimezoneOffset();\n thursday.setHours(thursday.getHours() - ds);\n\n // Number of weeks between target Thursday and first Thursday\n var weekDiff = (thursday - firstThursday) / (MILLISECONDS_IN_DAY * 7);\n return 1 + Math.floor(weekDiff)\n}\n\nfunction isBetweenDates (date, from, to) {\n var\n d1 = new Date(from).getTime(),\n d2 = new Date(to).getTime(),\n cur = new Date(date).getTime();\n\n return cur > d1 && cur < d2\n}\n\nfunction addToDate (date, mod) {\n return getChange(date, mod, true)\n}\nfunction subtractFromDate (date, mod) {\n return getChange(date, mod, false)\n}\n\nfunction adjustDate (date, mod, utc) {\n var\n t = new Date(date),\n prefix = \"set\" + (utc ? 'UTC' : '');\n\n Object.keys(mod).forEach(function (key) {\n if (key === 'month') {\n setMonth(t, mod.month);\n return\n }\n\n var op = key === 'year'\n ? 'FullYear'\n : key.charAt(0).toUpperCase() + key.slice(1);\n t[(\"\" + prefix + op)](mod[key]);\n });\n return t\n}\n\nfunction startOfDate (date, unit) {\n var t = new Date(date);\n switch (unit) {\n case 'year':\n t.setMonth(0);\n case 'month':\n t.setDate(1);\n case 'day':\n t.setHours(0);\n case 'hour':\n t.setMinutes(0);\n case 'minute':\n t.setSeconds(0);\n case 'second':\n t.setMilliseconds(0);\n }\n return t\n}\n\nfunction endOfDate (date, unit) {\n var t = new Date(date);\n switch (unit) {\n case 'year':\n t.setMonth(11);\n case 'month':\n t.setDate(daysInMonth(date));\n case 'day':\n t.setHours(23);\n case 'hour':\n t.setMinutes(59);\n case 'minute':\n t.setSeconds(59);\n case 'second':\n t.setMilliseconds(59);\n }\n return t\n}\n\nfunction getMaxDate (date) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var t = new Date(date);\n args.forEach(function (d) {\n t = Math.max(t, new Date(d));\n });\n return t\n}\nfunction getMinDate (date) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var t = new Date(date);\n args.forEach(function (d) {\n t = Math.min(t, new Date(d));\n });\n return t\n}\n\nfunction getDiff (t, sub, interval) {\n return (\n (t.getTime() - t.getTimezoneOffset() * MILLISECONDS_IN_MINUTE) -\n (sub.getTime() - sub.getTimezoneOffset() * MILLISECONDS_IN_MINUTE)\n ) / interval\n}\n\nfunction getDateDiff (date, subtract, unit) {\n if ( unit === void 0 ) unit = 'days';\n\n var\n t = new Date(date),\n sub = new Date(subtract);\n\n switch (unit) {\n case 'years':\n return (t.getFullYear() - sub.getFullYear())\n\n case 'months':\n return (t.getFullYear() - sub.getFullYear()) * 12 + t.getMonth() - sub.getMonth()\n\n case 'days':\n return getDiff(startOfDate(t, 'day'), startOfDate(sub, 'day'), MILLISECONDS_IN_DAY)\n\n case 'hours':\n return getDiff(startOfDate(t, 'hour'), startOfDate(sub, 'hour'), MILLISECONDS_IN_HOUR)\n\n case 'minutes':\n return getDiff(startOfDate(t, 'minute'), startOfDate(sub, 'minute'), MILLISECONDS_IN_MINUTE)\n\n case 'seconds':\n return getDiff(startOfDate(t, 'second'), startOfDate(sub, 'second'), 1000)\n }\n}\n\nfunction getDayOfYear (date) {\n return getDateDiff(date, startOfDate(date, 'year'), 'days') + 1\n}\n\nfunction convertDateToFormat (date, example) {\n if (!date) {\n return\n }\n\n if (isDate(example)) {\n return date\n }\n if (typeof example === 'number') {\n return date.getTime()\n }\n\n return formatDate(date)\n}\n\nfunction getDateBetween (date, min, max) {\n var t = new Date(date);\n\n if (min) {\n var low = new Date(min);\n if (t < low) {\n return low\n }\n }\n\n if (max) {\n var high = new Date(max);\n if (t > high) {\n return high\n }\n }\n\n return t\n}\n\nfunction isSameDate (date, date2, unit) {\n var\n t = new Date(date),\n d = new Date(date2);\n\n if (unit === void 0) {\n return t.getTime() === d.getTime()\n }\n\n switch (unit) {\n case 'second':\n if (t.getUTCSeconds() !== d.getUTCSeconds()) {\n return false\n }\n case 'minute': // intentional fall-through\n if (t.getUTCMinutes() !== d.getUTCMinutes()) {\n return false\n }\n case 'hour': // intentional fall-through\n if (t.getUTCHours() !== d.getUTCHours()) {\n return false\n }\n case 'day': // intentional fall-through\n if (t.getUTCDate() !== d.getUTCDate()) {\n return false\n }\n case 'month': // intentional fall-through\n if (t.getUTCMonth() !== d.getUTCMonth()) {\n return false\n }\n case 'year': // intentional fall-through\n if (t.getUTCFullYear() !== d.getUTCFullYear()) {\n return false\n }\n break\n default:\n throw new Error((\"date isSameDate unknown unit \" + unit))\n }\n\n return true\n}\n\nfunction daysInMonth (date) {\n return (new Date(date.getFullYear(), date.getMonth() + 1, 0)).getDate()\n}\n\nvar formatter = {\n // Year: 00, 01, ..., 99\n YY: function YY (date) {\n return pad(date.getFullYear(), 4).substr(2)\n },\n\n // Year: 1900, 1901, ..., 2099\n YYYY: function YYYY (date) {\n return pad(date.getFullYear(), 4)\n },\n\n // Month: 1, 2, ..., 12\n M: function M (date) {\n return date.getMonth() + 1\n },\n\n // Month: 01, 02, ..., 12\n MM: function MM (date) {\n return pad(date.getMonth() + 1)\n },\n\n // Month Short Name: Jan, Feb, ...\n MMM: function MMM (date) {\n return this.MMMM(date).slice(0, 3)\n },\n\n // Month Name: January, February, ...\n MMMM: function MMMM (date, opts) {\n if ( opts === void 0 ) opts = {};\n\n return (opts.monthNames || monthNames)[date.getMonth()]\n },\n\n // Quarter: 1, 2, 3, 4\n Q: function Q (date) {\n return Math.ceil((date.getMonth() + 1) / 3)\n },\n\n // Day of month: 1, 2, ..., 31\n D: function D (date) {\n return date.getDate()\n },\n\n // Day of month: 01, 02, ..., 31\n DD: function DD (date) {\n return pad(date.getDate())\n },\n\n // Day of year: 1, 2, ..., 366\n DDD: function DDD (date) {\n return getDayOfYear(date)\n },\n\n // Day of year: 001, 002, ..., 366\n DDDD: function DDDD (date) {\n return pad(getDayOfYear(date), 3)\n },\n\n // Day of week: 0, 1, ..., 6\n d: function d (date) {\n return date.getDay()\n },\n\n // Day of week: Su, Mo, ...\n dd: function dd (date) {\n return this.dddd(date).slice(0, 2)\n },\n\n // Day of week: Sun, Mon, ...\n ddd: function ddd (date) {\n return this.dddd(date).slice(0, 3)\n },\n\n // Day of week: Sunday, Monday, ...\n dddd: function dddd (date, opts) {\n if ( opts === void 0 ) opts = {};\n\n return (opts.dayNames || dayNames)[date.getDay()]\n },\n\n // Day of ISO week: 1, 2, ..., 7\n E: function E (date) {\n return date.getDay() || 7\n },\n\n // Week of Year: 1 2 ... 52 53\n w: function w (date) {\n return getWeekOfYear(date)\n },\n\n // Week of Year: 01 02 ... 52 53\n ww: function ww (date) {\n return pad(getWeekOfYear(date))\n },\n\n // Hour: 0, 1, ... 23\n H: function H (date) {\n return date.getHours()\n },\n\n // Hour: 00, 01, ..., 23\n HH: function HH (date) {\n return pad(date.getHours())\n },\n\n // Hour: 1, 2, ..., 12\n h: function h (date) {\n var hours = date.getHours();\n if (hours === 0) {\n return 12\n }\n if (hours > 12) {\n return hours % 12\n }\n return hours\n },\n\n // Hour: 01, 02, ..., 12\n hh: function hh (date) {\n return pad(this.h(date))\n },\n\n // Minute: 0, 1, ..., 59\n m: function m (date) {\n return date.getMinutes()\n },\n\n // Minute: 00, 01, ..., 59\n mm: function mm (date) {\n return pad(date.getMinutes())\n },\n\n // Second: 0, 1, ..., 59\n s: function s (date) {\n return date.getSeconds()\n },\n\n // Second: 00, 01, ..., 59\n ss: function ss (date) {\n return pad(date.getSeconds())\n },\n\n // 1/10 of second: 0, 1, ..., 9\n S: function S (date) {\n return Math.floor(date.getMilliseconds() / 100)\n },\n\n // 1/100 of second: 00, 01, ..., 99\n SS: function SS (date) {\n return pad(Math.floor(date.getMilliseconds() / 10))\n },\n\n // Millisecond: 000, 001, ..., 999\n SSS: function SSS (date) {\n return pad(date.getMilliseconds(), 3)\n },\n\n // Meridiem: AM, PM\n A: function A (date) {\n return this.H(date) < 12 ? 'AM' : 'PM'\n },\n\n // Meridiem: am, pm\n a: function a (date) {\n return this.H(date) < 12 ? 'am' : 'pm'\n },\n\n // Meridiem: a.m., p.m\n aa: function aa (date) {\n return this.H(date) < 12 ? 'a.m.' : 'p.m.'\n },\n\n // Timezone: -01:00, +00:00, ... +12:00\n Z: function Z (date) {\n return formatTimezone(date.getTimezoneOffset(), ':')\n },\n\n // Timezone: -0100, +0000, ... +1200\n ZZ: function ZZ (date) {\n return formatTimezone(date.getTimezoneOffset())\n },\n\n // Seconds timestamp: 512969520\n X: function X (date) {\n return Math.floor(date.getTime() / 1000)\n },\n\n // Milliseconds timestamp: 512969520900\n x: function x (date) {\n return date.getTime()\n }\n};\n\nfunction formatDate (val, mask, opts) {\n if ( mask === void 0 ) mask = 'YYYY-MM-DDTHH:mm:ss.SSSZ';\n\n if (!val) {\n return\n }\n\n var date = new Date(val);\n\n return mask.replace(token, function (match) {\n if (match in formatter) {\n return formatter[match](date, opts)\n }\n return match\n })\n}\n\n\nvar date = Object.freeze({\n\tdayNames: dayNames,\n\tmonthNames: monthNames,\n\tisValid: isValid,\n\tbuildDate: buildDate,\n\tgetDayOfWeek: getDayOfWeek,\n\tgetWeekOfYear: getWeekOfYear,\n\tisBetweenDates: isBetweenDates,\n\taddToDate: addToDate,\n\tsubtractFromDate: subtractFromDate,\n\tadjustDate: adjustDate,\n\tstartOfDate: startOfDate,\n\tendOfDate: endOfDate,\n\tgetMaxDate: getMaxDate,\n\tgetMinDate: getMinDate,\n\tgetDateDiff: getDateDiff,\n\tgetDayOfYear: getDayOfYear,\n\tconvertDateToFormat: convertDateToFormat,\n\tgetDateBetween: getDateBetween,\n\tisSameDate: isSameDate,\n\tdaysInMonth: daysInMonth,\n\tformatter: formatter,\n\tformatDate: formatDate\n});\n\nvar modelValidator = function (v) {\n var type = typeof v;\n return (\n v === null || v === undefined ||\n type === 'number' || type === 'string' ||\n isDate(v)\n )\n};\n\nvar inline = {\n value: {\n validator: modelValidator,\n required: true\n },\n type: {\n type: String,\n default: 'date',\n validator: function validator (value) {\n return ['date', 'time', 'datetime'].includes(value)\n }\n },\n color: {\n type: String,\n default: 'primary'\n },\n min: {\n validator: modelValidator,\n default: null\n },\n max: {\n validator: modelValidator,\n default: null\n },\n monthNames: {\n type: Array,\n default: function () { return monthNames; }\n },\n dayNames: {\n type: Array,\n default: function () { return dayNames; }\n },\n mondayFirst: Boolean,\n saturdayFirst: Boolean,\n format24h: Boolean\n};\n\nvar input = {\n format: String,\n noClear: Boolean,\n placeholder: String,\n clearLabel: {\n type: String,\n default: 'Clear'\n },\n okLabel: {\n type: String,\n default: 'Set'\n },\n cancelLabel: {\n type: String,\n default: 'Cancel'\n }\n};\n\nvar DateMixin = {\n props: inline,\n computed: {\n model: {\n get: function get () {\n var date = this.value\n ? new Date(this.value)\n : (this.defaultSelection ? new Date(this.defaultSelection) : startOfDate(new Date(), 'day'));\n\n return getDateBetween(\n date,\n this.pmin,\n this.pmax\n )\n },\n set: function set (val) {\n var date = getDateBetween(val, this.pmin, this.pmax);\n if (!isSameDate(this.value, date)) {\n var val$1 = convertDateToFormat(date, this.value);\n this.$emit('input', val$1);\n this.$emit('change', val$1);\n }\n }\n },\n pmin: function pmin () {\n return this.min ? new Date(this.min) : null\n },\n pmax: function pmax () {\n return this.max ? new Date(this.max) : null\n },\n typeHasDate: function typeHasDate () {\n return this.type === 'date' || this.type === 'datetime'\n },\n typeHasTime: function typeHasTime () {\n return this.type === 'time' || this.type === 'datetime'\n },\n\n year: function year () {\n return this.model.getFullYear()\n },\n month: function month () {\n return this.model.getMonth() + 1\n },\n day: function day () {\n return this.model.getDate()\n },\n minute: function minute () {\n return this.model.getMinutes()\n },\n\n yearInterval: function yearInterval () {\n var\n min = this.pmin !== null ? this.pmin.getFullYear() : 1950,\n max = this.pmax !== null ? this.pmax.getFullYear() : 2050;\n return Math.max(1, max - min + 1)\n },\n yearMin: function yearMin () {\n return this.pmin !== null ? this.pmin.getFullYear() - 1 : 1949\n },\n monthInterval: function monthInterval () {\n var\n min = this.pmin !== null && this.pmin.getFullYear() === this.model.getFullYear() ? this.pmin.getMonth() : 0,\n max = this.pmax !== null && this.pmax.getFullYear() === this.model.getFullYear() ? this.pmax.getMonth() : 11;\n return Math.max(1, max - min + 1)\n },\n monthMin: function monthMin () {\n return this.pmin !== null && this.pmin.getFullYear() === this.model.getFullYear()\n ? this.pmin.getMonth()\n : 0\n },\n\n daysInMonth: function daysInMonth$$1 () {\n return (new Date(this.model.getFullYear(), this.model.getMonth() + 1, 0)).getDate()\n },\n\n editable: function editable () {\n return !this.disable && !this.readonly\n }\n },\n\n methods: {\n clear: function clear () {\n if (this.value !== '') {\n this.$emit('input', '');\n this.$emit('change', '');\n }\n },\n\n toggleAmPm: function toggleAmPm () {\n if (!this.editable) {\n return\n }\n var\n hour = this.model.getHours(),\n offset = this.am ? 12 : -12;\n\n this.model = new Date(this.model.setHours(hour + offset));\n },\n\n __parseTypeValue: function __parseTypeValue (type, value) {\n if (type === 'month') {\n return between(value, 1, 12)\n }\n if (type === 'date') {\n return between(value, 1, this.daysInMonth)\n }\n if (type === 'year') {\n var\n min = this.pmin ? this.pmin.getFullYear() : 1950,\n max = this.pmax ? this.pmax.getFullYear() : 2050;\n return between(value, min, max)\n }\n if (type === 'hour') {\n return between(value, 0, 23)\n }\n if (type === 'minute') {\n return between(value, 0, 59)\n }\n }\n }\n};\n\nvar InlineDatetimeIOS = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-datetime\",class:['type-' + _vm.type, _vm.disable ? 'disabled' : '', _vm.readonly ? 'readonly' : '']},[_vm._t(\"default\"),_vm._v(\" \"),_c('div',{staticClass:\"q-datetime-content non-selectable\"},[_c('div',{staticClass:\"q-datetime-inner full-height flex justify-center\",on:{\"touchstart\":function($event){$event.stopPropagation();$event.preventDefault();}}},[(_vm.typeHasDate)?[_c('div',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan.vertical\",value:(_vm.__dragMonth),expression:\"__dragMonth\",modifiers:{\"vertical\":true}}],staticClass:\"q-datetime-col q-datetime-col-month\"},[_c('div',{ref:\"month\",staticClass:\"q-datetime-col-wrapper\",style:(_vm.__monthStyle)},_vm._l((_vm.monthInterval),function(index){return _c('div',{staticClass:\"q-datetime-item\"},[_vm._v(\" \"+_vm._s(_vm.monthNames[index + _vm.monthMin - 1])+\" \")])}))]),_vm._v(\" \"),_c('div',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan.vertical\",value:(_vm.__dragDate),expression:\"__dragDate\",modifiers:{\"vertical\":true}}],staticClass:\"q-datetime-col q-datetime-col-day\"},[_c('div',{ref:\"date\",staticClass:\"q-datetime-col-wrapper\",style:(_vm.__dayStyle)},_vm._l((_vm.daysInterval),function(index){return _c('div',{staticClass:\"q-datetime-item\"},[_vm._v(\" \"+_vm._s(index + _vm.dayMin - 1)+\" \")])}))]),_vm._v(\" \"),_c('div',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan.vertical\",value:(_vm.__dragYear),expression:\"__dragYear\",modifiers:{\"vertical\":true}}],staticClass:\"q-datetime-col q-datetime-col-year\"},[_c('div',{ref:\"year\",staticClass:\"q-datetime-col-wrapper\",style:(_vm.__yearStyle)},_vm._l((_vm.yearInterval),function(n){return _c('div',{staticClass:\"q-datetime-item\"},[_vm._v(\" \"+_vm._s(n + _vm.yearMin)+\" \")])}))])]:_vm._e(),_vm._v(\" \"),(_vm.typeHasTime)?[_c('div',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan.vertical\",value:(_vm.__dragHour),expression:\"__dragHour\",modifiers:{\"vertical\":true}}],staticClass:\"q-datetime-col q-datetime-col-hour\"},[_c('div',{ref:\"hour\",staticClass:\"q-datetime-col-wrapper\",style:(_vm.__hourStyle)},_vm._l((_vm.hourInterval),function(n){return _c('div',{staticClass:\"q-datetime-item\"},[_vm._v(\" \"+_vm._s(n + _vm.hourMin - 1)+\" \")])}))]),_vm._v(\" \"),_c('div',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan.vertical\",value:(_vm.__dragMinute),expression:\"__dragMinute\",modifiers:{\"vertical\":true}}],staticClass:\"q-datetime-col q-datetime-col-minute\"},[_c('div',{ref:\"minute\",staticClass:\"q-datetime-col-wrapper\",style:(_vm.__minuteStyle)},_vm._l((_vm.minuteInterval),function(n){return _c('div',{staticClass:\"q-datetime-item\"},[_vm._v(\" \"+_vm._s(_vm.__pad(n + _vm.minuteMin - 1))+\" \")])}))])]:_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"q-datetime-mask\"}),_vm._v(\" \"),_c('div',{staticClass:\"q-datetime-highlight\"})])],2)},staticRenderFns: [],\n name: 'q-inline-datetime',\n mixins: [DateMixin],\n directives: {\n TouchPan: TouchPan\n },\n props: {\n defaultSelection: [String, Number, Date],\n disable: Boolean,\n readonly: Boolean\n },\n data: function data () {\n return {\n monthDragOffset: 0,\n dateDragOffset: 0,\n yearDragOffset: 0,\n hourDragOffset: 0,\n minuteDragOffset: 0,\n dragging: false\n }\n },\n watch: {\n model: function model () {\n this.$nextTick(this.__updateAllPositions);\n }\n },\n computed: {\n dayMin: function dayMin () {\n return this.pmin !== null && isSameDate(this.pmin, this.model, 'month')\n ? this.pmin.getDate()\n : 1\n },\n dayMax: function dayMax () {\n return this.pmax !== null && isSameDate(this.pmax, this.model, 'month')\n ? this.pmax.getDate()\n : this.daysInMonth\n },\n daysInterval: function daysInterval () {\n return this.dayMax - this.dayMin + 1\n },\n\n hour: function hour () {\n return this.model.getHours()\n },\n hourMin: function hourMin () {\n return this.pmin && isSameDate(this.pmin, this.model, 'day') ? this.pmin.getHours() : 0\n },\n hourInterval: function hourInterval () {\n return (this.pmax && isSameDate(this.pmax, this.model, 'day') ? this.pmax.getHours() : 23) - this.hourMin + 1\n },\n\n minuteMin: function minuteMin () {\n return this.pmin && isSameDate(this.pmin, this.model, 'hour') ? this.pmin.getMinutes() : 0\n },\n minuteInterval: function minuteInterval () {\n return (this.pmax && isSameDate(this.pmax, this.model, 'hour') ? this.pmax.getMinutes() : 59) - this.minuteMin + 1\n },\n\n __monthStyle: function __monthStyle () {\n return this.__colStyle(82 - (this.month - 1 + this.monthDragOffset) * 36)\n },\n __dayStyle: function __dayStyle () {\n return this.__colStyle(82 - (this.day + this.dateDragOffset) * 36)\n },\n __yearStyle: function __yearStyle () {\n return this.__colStyle(82 - (this.year + this.yearDragOffset) * 36)\n },\n __hourStyle: function __hourStyle () {\n return this.__colStyle(82 - (this.hour + this.hourDragOffset) * 36)\n },\n __minuteStyle: function __minuteStyle () {\n return this.__colStyle(82 - (this.minute + this.minuteDragOffset) * 36)\n }\n },\n methods: {\n __dragMonth: function __dragMonth (e) {\n this.__drag(e, 'month');\n },\n __dragDate: function __dragDate (e) {\n this.__drag(e, 'date');\n },\n __dragYear: function __dragYear (e) {\n this.__drag(e, 'year');\n },\n __dragHour: function __dragHour (e) {\n this.__drag(e, 'hour');\n },\n __dragMinute: function __dragMinute (e) {\n this.__drag(e, 'minute');\n },\n __drag: function __drag (e, type) {\n var method = e.isFirst\n ? '__dragStart' : (e.isFinal ? '__dragStop' : '__dragMove');\n\n this[method](e.evt, type);\n },\n\n /* date */\n setYear: function setYear (value) {\n if (this.editable) {\n this.model = new Date(this.model.setFullYear(this.__parseTypeValue('year', value)));\n }\n },\n setMonth: function setMonth (value) {\n if (this.editable) {\n this.model = adjustDate(this.model, {month: value});\n }\n },\n setDay: function setDay (value) {\n if (this.editable) {\n this.model = new Date(this.model.setDate(this.__parseTypeValue('date', value)));\n }\n },\n\n /* time */\n setHour: function setHour (value) {\n if (this.editable) {\n this.model = new Date(this.model.setHours(this.__parseTypeValue('hour', value)));\n }\n },\n setMinute: function setMinute (value) {\n if (this.editable) {\n this.model = new Date(this.model.setMinutes(this.__parseTypeValue('minute', value)));\n }\n },\n\n /* helpers */\n __pad: function __pad (unit, filler) {\n return (unit < 10 ? filler || '0' : '') + unit\n },\n __updateAllPositions: function __updateAllPositions () {\n var this$1 = this;\n\n this.$nextTick(function () {\n if (this$1.typeHasDate) {\n this$1.__updatePositions('month', this$1.model.getMonth());\n this$1.__updatePositions('date', this$1.model.getDate());\n this$1.__updatePositions('year', this$1.model.getFullYear());\n }\n if (this$1.typeHasTime) {\n this$1.__updatePositions('hour', this$1.model.getHours());\n this$1.__updatePositions('minute', this$1.model.getMinutes());\n }\n });\n },\n __updatePositions: function __updatePositions (type, value) {\n var this$1 = this;\n\n var root = this.$refs[type];\n if (!root) {\n return\n }\n\n var delta = -value;\n if (type === 'year') {\n delta += this.yearMin + 1;\n }\n else if (type === 'date') {\n delta += this.dayMin;\n }\n else {\n delta += this[type + 'Min'];\n }\n\n [].slice.call(root.children).forEach(function (item) {\n css(item, this$1.__itemStyle(value * 36, between(delta * -18, -180, 180)));\n delta++;\n });\n },\n __colStyle: function __colStyle (value) {\n return {\n '-webkit-transform': 'translate3d(0,' + value + 'px,0)',\n '-ms-transform': 'translate3d(0,' + value + 'px,0)',\n 'transform': 'translate3d(0,' + value + 'px,0)'\n }\n },\n __itemStyle: function __itemStyle (translation, rotation) {\n return {\n '-webkit-transform': 'translate3d(0, ' + translation + 'px, 0) rotateX(' + rotation + 'deg)',\n '-ms-transform': 'translate3d(0, ' + translation + 'px, 0) rotateX(' + rotation + 'deg)',\n 'transform': 'translate3d(0, ' + translation + 'px, 0) rotateX(' + rotation + 'deg)'\n }\n },\n\n /* common */\n __dragStart: function __dragStart (ev, type) {\n if (!this.editable) {\n return\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n\n this[type + 'DragOffset'] = 0;\n this.dragging = type;\n this.__actualType = type === 'date' ? 'day' : type;\n this.__typeOffset = type === 'month' ? -1 : 0;\n this.__dragPosition = position(ev).top;\n },\n __dragMove: function __dragMove (ev, type) {\n if (this.dragging !== type || !this.editable) {\n return\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n\n var offset$$1 = (this.__dragPosition - position(ev).top) / 36;\n this[type + 'DragOffset'] = offset$$1;\n this.__updatePositions(type, this[this.__actualType] + offset$$1 + this.__typeOffset);\n },\n __dragStop: function __dragStop (ev, type) {\n var this$1 = this;\n\n if (this.dragging !== type || !this.editable) {\n return\n }\n ev.stopPropagation();\n ev.preventDefault();\n this.dragging = false;\n\n var\n offset$$1 = Math.round(this[type + 'DragOffset']),\n newValue = this.__parseTypeValue(type, this[this.__actualType] + offset$$1);\n\n if (newValue !== this[this.__actualType]) {\n this[(\"set\" + (capitalize(this.__actualType)))](newValue);\n }\n else {\n this.__updatePositions(type, this[this.__actualType] + this.__typeOffset);\n }\n this.$nextTick(function () {\n this$1[type + 'DragOffset'] = 0;\n });\n }\n },\n mounted: function mounted () {\n this.$nextTick(this.__updateAllPositions);\n }\n};\n\nfunction convertToAmPm (hour) {\n return hour === 0 ? 12 : (hour >= 13 ? hour - 12 : hour)\n}\n\nvar InlineDatetimeMat = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-datetime inline row\",class:_vm.classes},[_c('div',{staticClass:\"q-datetime-header column col-xs-12 col-md-4 justify-center\"},[(_vm.typeHasDate)?_c('div',[_c('div',{staticClass:\"q-datetime-weekdaystring col-12\"},[_vm._v(_vm._s(_vm.weekDayString))]),_vm._v(\" \"),_c('div',{staticClass:\"q-datetime-datestring row flex-center\"},[_c('span',{staticClass:\"q-datetime-link small col-auto col-md-12\",class:{active: _vm.view === 'month'},on:{\"click\":function($event){_vm.view = 'month';}}},[_vm._v(\" \"+_vm._s(_vm.monthString)+\" \")]),_vm._v(\" \"),_c('span',{staticClass:\"q-datetime-link col-auto col-md-12\",class:{active: _vm.view === 'day'},on:{\"click\":function($event){_vm.view = 'day';}}},[_vm._v(\" \"+_vm._s(_vm.day)+\" \")]),_vm._v(\" \"),_c('span',{staticClass:\"q-datetime-link small col-auto col-md-12\",class:{active: _vm.view === 'year'},on:{\"click\":function($event){_vm.view = 'year';}}},[_vm._v(\" \"+_vm._s(_vm.year)+\" \")])])]):_vm._e(),_vm._v(\" \"),(_vm.typeHasTime)?_c('div',{staticClass:\"q-datetime-time row flex-center\"},[_c('div',{staticClass:\"q-datetime-clockstring col-auto col-md-12\"},[_c('span',{staticClass:\"q-datetime-link col-auto col-md-12\",class:{active: _vm.view === 'hour'},on:{\"click\":function($event){_vm.view = 'hour';}}},[_vm._v(\" \"+_vm._s(_vm.__pad(_vm.hour, '  '))+\" \")]),_vm._v(\" \"),_c('span',{staticStyle:{\"opacity\":\"0.6\"}},[_vm._v(\":\")]),_vm._v(\" \"),_c('span',{staticClass:\"q-datetime-link col-auto col-md-12\",class:{active: _vm.view === 'minute'},on:{\"click\":function($event){_vm.view = 'minute';}}},[_vm._v(\" \"+_vm._s(_vm.__pad(_vm.minute))+\" \")])]),_vm._v(\" \"),(!_vm.format24h)?_c('div',{staticClass:\"q-datetime-ampm column col-auto col-md-12 justify-around\"},[_c('div',{staticClass:\"q-datetime-link\",class:{active: _vm.am},on:{\"click\":function($event){_vm.toggleAmPm();}}},[_vm._v(\"AM\")]),_vm._v(\" \"),_c('div',{staticClass:\"q-datetime-link\",class:{active: !_vm.am},on:{\"click\":function($event){_vm.toggleAmPm();}}},[_vm._v(\"PM\")])]):_vm._e()]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"q-datetime-content col-xs-12 col-md-8 column\"},[_c('div',{ref:\"selector\",staticClass:\"q-datetime-selector auto row flex-center\"},[(_vm.view === 'year')?_c('div',{staticClass:\"q-datetime-view-year full-width full-height\"},_vm._l((_vm.yearInterval),function(n){return _c('q-btn',{key:n,staticClass:\"q-datetime-btn full-width\",class:{active: n + _vm.yearMin === _vm.year},attrs:{\"flat\":\"\"},on:{\"click\":function($event){_vm.setYear(n + _vm.yearMin);}}},[_vm._v(\" \"+_vm._s(n + _vm.yearMin)+\" \")])})):_vm._e(),_vm._v(\" \"),(_vm.view === 'month')?_c('div',{staticClass:\"q-datetime-view-month full-width full-height\"},_vm._l((_vm.monthInterval),function(index){return _c('q-btn',{key:index,staticClass:\"q-datetime-btn full-width\",class:{active: _vm.month === index + _vm.monthMin},attrs:{\"flat\":\"\"},on:{\"click\":function($event){_vm.setMonth(index + _vm.monthMin, true);}}},[_vm._v(\" \"+_vm._s(_vm.monthNames[index + _vm.monthMin - 1])+\" \")])})):_vm._e(),_vm._v(\" \"),(_vm.view === 'day')?_c('div',{staticClass:\"q-datetime-view-day\"},[_c('div',{staticClass:\"row items-center content-center\"},[_c('q-btn',{attrs:{\"round\":\"\",\"small\":\"\",\"flat\":\"\",\"color\":_vm.color,\"disabled\":_vm.beforeMinDays},on:{\"click\":function($event){_vm.setMonth(_vm.month - 1);}}},[_c('q-icon',{attrs:{\"name\":\"keyboard_arrow_left\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"col q-datetime-dark\"},[_vm._v(\" \"+_vm._s(_vm.monthStamp)+\" \")]),_vm._v(\" \"),_c('q-btn',{attrs:{\"round\":\"\",\"small\":\"\",\"flat\":\"\",\"color\":_vm.color,\"disabled\":_vm.afterMaxDays},on:{\"click\":function($event){_vm.setMonth(_vm.month + 1);}}},[_c('q-icon',{attrs:{\"name\":\"keyboard_arrow_right\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"q-datetime-weekdays row items-center justify-start\"},_vm._l((_vm.headerDayNames),function(day){return _c('div',[_vm._v(_vm._s(day))])})),_vm._v(\" \"),_c('div',{staticClass:\"q-datetime-days row wrap items-center justify-start content-center\"},[_vm._l((_vm.fillerDays),function(fillerDay){return _c('div',{staticClass:\"q-datetime-fillerday\"})}),_vm._v(\" \"),_vm._l((_vm.beforeMinDays),function(fillerDay){return (_vm.min)?_c('div',{staticClass:\"row items-center content-center justify-center disabled\"},[_vm._v(\" \"+_vm._s(fillerDay)+\" \")]):_vm._e()}),_vm._v(\" \"),_vm._l((_vm.daysInterval),function(monthDay){return _c('div',{staticClass:\"row items-center content-center justify-center cursor-pointer\",class:{ 'q-datetime-day-active': monthDay === _vm.day, 'q-datetime-day-today': monthDay === _vm.today },on:{\"click\":function($event){_vm.setDay(monthDay);}}},[_c('span',[_vm._v(_vm._s(monthDay))])])}),_vm._v(\" \"),_vm._l((_vm.afterMaxDays),function(fillerDay){return (_vm.max)?_c('div',{staticClass:\"row items-center content-center justify-center disabled\"},[_vm._v(\" \"+_vm._s(fillerDay + _vm.maxDay)+\" \")]):_vm._e()})],2)]):_vm._e(),_vm._v(\" \"),(_vm.view === 'hour' || _vm.view === 'minute')?_c('div',{ref:\"clock\",staticClass:\"column items-center content-center justify-center\"},[(_vm.view === 'hour')?_c('div',{staticClass:\"q-datetime-clock cursor-pointer\",on:{\"mousedown\":_vm.__dragStart,\"mousemove\":_vm.__dragMove,\"mouseup\":_vm.__dragStop,\"touchstart\":_vm.__dragStart,\"touchmove\":_vm.__dragMove,\"touchend\":_vm.__dragStop}},[_c('div',{staticClass:\"q-datetime-clock-circle full-width full-height\"},[_c('div',{staticClass:\"q-datetime-clock-center\"}),_vm._v(\" \"),_c('div',{staticClass:\"q-datetime-clock-pointer\",style:(_vm.clockPointerStyle)},[_c('span')]),_vm._v(\" \"),(_vm.format24h)?_c('div',_vm._l((24),function(n){return _c('div',{staticClass:\"q-datetime-clock-position fmt24\",class:[(\"q-datetime-clock-pos-\" + (n-1)), (n - 1) === _vm.hour ? 'active' : '']},[_c('span',[_vm._v(_vm._s(n - 1))])])})):_c('div',_vm._l((12),function(n){return _c('div',{staticClass:\"q-datetime-clock-position\",class:['q-datetime-clock-pos-' + n, n === _vm.hour ? 'active' : '']},[_c('span',[_vm._v(_vm._s(n))])])}))])]):_vm._e(),_vm._v(\" \"),(_vm.view === 'minute')?_c('div',{staticClass:\"q-datetime-clock cursor-pointer\",on:{\"mousedown\":_vm.__dragStart,\"mousemove\":_vm.__dragMove,\"mouseup\":_vm.__dragStop,\"touchstart\":_vm.__dragStart,\"touchmove\":_vm.__dragMove,\"touchend\":_vm.__dragStop}},[_c('div',{staticClass:\"q-datetime-clock-circle full-width full-height\"},[_c('div',{staticClass:\"q-datetime-clock-center\"}),_vm._v(\" \"),_c('div',{staticClass:\"q-datetime-clock-pointer\",style:(_vm.clockPointerStyle)},[_c('span')]),_vm._v(\" \"),_vm._l((12),function(n){return _c('div',{staticClass:\"q-datetime-clock-position\",class:['q-datetime-clock-pos-' + (n - 1), (n - 1) * 5 === _vm.minute ? 'active' : '']},[_c('span',[_vm._v(_vm._s((n - 1) * 5))])])})],2)]):_vm._e()]):_vm._e()]),_vm._v(\" \"),_vm._t(\"default\")],2)])},staticRenderFns: [],\n name: 'q-inline-datetime',\n mixins: [DateMixin],\n props: {\n defaultSelection: [String, Number, Date],\n disable: Boolean,\n readonly: Boolean\n },\n components: {\n QIcon: QIcon,\n QBtn: QBtn\n },\n directives: {\n Ripple: Ripple\n },\n data: function data () {\n var view;\n\n switch (this.type) {\n case 'time':\n view = 'hour';\n break\n case 'date':\n default:\n view = 'day';\n break\n }\n\n return {\n view: view,\n dragging: false,\n centerClockPos: 0\n }\n },\n watch: {\n value: function value (val) {\n if (!val) {\n this.view = ['date', 'datetime'].includes(this.type) ? 'day' : 'hour';\n }\n },\n view: function view (value) {\n if (value !== 'year' && value !== 'month') {\n return\n }\n\n var\n view = this.$refs.selector,\n rows = value === 'year' ? this.year - this.yearMin : this.month - this.monthMin;\n\n this.$nextTick(function () {\n view.scrollTop = rows * height(view.children[0].children[0]) - height(view) / 2.5;\n });\n }\n },\n computed: {\n classes: function classes () {\n var cls = [];\n if (this.disable) {\n cls.push('disabled');\n }\n if (this.readonly) {\n cls.push('readonly');\n }\n if (this.color) {\n cls.push((\"text-\" + (this.color)));\n }\n return cls\n },\n firstDayOfWeek: function firstDayOfWeek () {\n return this.mondayFirst\n ? 1\n : (this.saturdayFirst ? 6 : 0)\n },\n headerDayNames: function headerDayNames () {\n var\n days = this.dayNames.map(function (day) { return day.slice(0, 3); }),\n first = this.firstDayOfWeek;\n\n return first > 0\n ? days.slice(first, 7).concat(days.slice(0, first))\n : days\n },\n\n monthString: function monthString () {\n return (\"\" + (this.monthNames[this.month - 1].slice(0, 3)))\n },\n monthStamp: function monthStamp () {\n return ((this.monthNames[this.month - 1]) + \" \" + (this.year))\n },\n weekDayString: function weekDayString () {\n return this.dayNames[this.model.getDay()]\n },\n\n fillerDays: function fillerDays () {\n var days = (new Date(this.model.getFullYear(), this.model.getMonth(), 1).getDay() - this.firstDayOfWeek);\n if (days < 0) {\n days += 7;\n }\n return days\n },\n beforeMinDays: function beforeMinDays () {\n if (this.pmin === null || !isSameDate(this.pmin, this.model, 'month')) {\n return false\n }\n return this.pmin.getDate() - 1\n },\n afterMaxDays: function afterMaxDays () {\n if (this.pmax === null || !isSameDate(this.pmax, this.model, 'month')) {\n return false\n }\n return this.daysInMonth - this.maxDay\n },\n maxDay: function maxDay () {\n return this.pmax !== null ? this.pmax.getDate() : this.daysInMonth\n },\n daysInterval: function daysInterval () {\n var after = this.pmax === null || this.afterMaxDays === false ? 0 : this.afterMaxDays;\n if (this.beforeMinDays || after) {\n var min = this.beforeMinDays ? this.beforeMinDays + 1 : 1;\n return Array.apply(null, {length: this.daysInMonth - min - after + 1}).map(function (day, index) {\n return index + min\n })\n }\n return this.daysInMonth\n },\n\n hour: function hour () {\n var h = this.model.getHours();\n return this.format24h\n ? h\n : convertToAmPm(h)\n },\n minute: function minute () {\n return this.model.getMinutes()\n },\n am: function am () {\n return this.model.getHours() <= 11\n },\n clockPointerStyle: function clockPointerStyle () {\n var\n divider = this.view === 'minute' ? 60 : (this.format24h ? 24 : 12),\n degrees = Math.round((this.view === 'minute' ? this.minute : this.hour) * (360 / divider)) - 180;\n\n return cssTransform((\"rotate(\" + degrees + \"deg)\"))\n },\n today: function today () {\n var today = new Date();\n return isSameDate(today, this.model, 'month')\n ? today.getDate()\n : -1\n }\n },\n methods: {\n /* date */\n setYear: function setYear (value) {\n if (this.editable) {\n this.view = 'day';\n this.model = new Date(this.model.setFullYear(this.__parseTypeValue('year', value)));\n }\n },\n setMonth: function setMonth (value) {\n if (this.editable) {\n this.view = 'day';\n this.model = adjustDate(this.model, {month: value});\n }\n },\n setDay: function setDay (value) {\n if (this.editable) {\n this.model = new Date(this.model.setDate(this.__parseTypeValue('date', value)));\n }\n },\n\n setHour: function setHour (value) {\n if (!this.editable) {\n return\n }\n\n value = this.__parseTypeValue('hour', value);\n\n if (!this.format24h && value < 12 && !this.am) {\n value += 12;\n }\n\n this.model = new Date(this.model.setHours(value));\n },\n setMinute: function setMinute (value) {\n if (!this.editable) {\n return\n }\n\n this.model = new Date(this.model.setMinutes(this.__parseTypeValue('minute', value)));\n },\n\n /* helpers */\n __pad: function __pad (unit, filler) {\n return (unit < 10 ? filler || '0' : '') + unit\n },\n __dragStart: function __dragStart (ev) {\n ev.stopPropagation();\n ev.preventDefault();\n\n var\n clock = this.$refs.clock,\n clockOffset = offset(clock);\n\n this.centerClockPos = {\n top: clockOffset.top + height(clock) / 2,\n left: clockOffset.left + width(clock) / 2\n };\n\n this.dragging = true;\n this.__updateClock(ev);\n },\n __dragMove: function __dragMove (ev) {\n if (!this.dragging) {\n return\n }\n ev.stopPropagation();\n ev.preventDefault();\n this.__updateClock(ev);\n },\n __dragStop: function __dragStop (ev) {\n ev.stopPropagation();\n ev.preventDefault();\n this.dragging = false;\n this.view = 'minute';\n },\n __updateClock: function __updateClock (ev) {\n var\n pos = position(ev),\n height$$1 = Math.abs(pos.top - this.centerClockPos.top),\n distance = Math.sqrt(\n Math.pow(Math.abs(pos.top - this.centerClockPos.top), 2) +\n Math.pow(Math.abs(pos.left - this.centerClockPos.left), 2)\n ),\n angle = Math.asin(height$$1 / distance) * (180 / Math.PI);\n\n if (pos.top < this.centerClockPos.top) {\n angle = this.centerClockPos.left < pos.left ? 90 - angle : 270 + angle;\n }\n else {\n angle = this.centerClockPos.left < pos.left ? angle + 90 : 270 - angle;\n }\n\n if (this.view === 'hour') {\n this.setHour(Math.round(angle / (this.format24h ? 15 : 30)));\n }\n else {\n this.setMinute(Math.round(angle / 6));\n }\n }\n }\n};\n\nvar QInlineDatetime = {\n name: 'q-inline-datetime',\n functional: true,\n render: function render (h, ctx) {\n return h(\n current === 'ios' ? InlineDatetimeIOS : InlineDatetimeMat,\n ctx.data,\n ctx.children\n )\n }\n};\n\nvar contentCSS = {\n ios: {\n maxHeight: '80vh',\n height: 'auto',\n boxShadow: 'none',\n backgroundColor: '#e4e4e4'\n },\n mat: {\n maxWidth: '95vw',\n maxHeight: '98vh'\n }\n};\n\nvar QDatetime = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-input-frame',{staticClass:\"q-datetime-input\",attrs:{\"prefix\":_vm.prefix,\"suffix\":_vm.suffix,\"stack-label\":_vm.stackLabel,\"float-label\":_vm.floatLabel,\"error\":_vm.error,\"disable\":_vm.disable,\"inverted\":_vm.inverted,\"dark\":_vm.dark,\"before\":_vm.before,\"after\":_vm.after,\"color\":_vm.color,\"focused\":_vm.focused,\"focusable\":\"\",\"length\":_vm.actualValue.length},nativeOn:{\"click\":function($event){_vm.open($event);},\"focus\":function($event){_vm.__onFocus($event);},\"blur\":function($event){_vm.__onBlur($event);}}},[_c('div',{staticClass:\"col row items-center q-input-target\",class:_vm.alignClass,domProps:{\"innerHTML\":_vm._s(_vm.actualValue)}}),_vm._v(\" \"),(_vm.usingPopover)?_c('q-popover',{ref:\"popup\",attrs:{\"offset\":[0, 10],\"disable\":_vm.disable,\"anchor-click\":false,\"max-height\":\"100vh\"},on:{\"open\":_vm.__onFocus,\"close\":_vm.__onClose}},[_c('q-inline-datetime',{ref:\"target\",staticClass:\"no-border\",attrs:{\"default-selection\":_vm.defaultSelection,\"type\":_vm.type,\"min\":_vm.min,\"max\":_vm.max,\"format24h\":_vm.format24h,\"monday-first\":_vm.mondayFirst,\"saturday-first\":_vm.saturdayFirst,\"month-names\":_vm.monthNames,\"day-names\":_vm.dayNames,\"color\":_vm.color},model:{value:(_vm.model),callback:function ($$v) {_vm.model=$$v;},expression:\"model\"}},[_c('div',{staticClass:\"row q-datetime-controls modal-buttons-top\"},[(!_vm.noClear && _vm.model)?_c('q-btn',{attrs:{\"color\":_vm.color,\"flat\":\"\"},on:{\"click\":function($event){_vm.clear();}}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.clearLabel)}})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"col\"}),_vm._v(\" \"),_c('q-btn',{attrs:{\"color\":_vm.color,\"flat\":\"\"},on:{\"click\":function($event){_vm.close();}}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.cancelLabel)}})]),_vm._v(\" \"),_c('q-btn',{attrs:{\"color\":_vm.color,\"flat\":\"\"},on:{\"click\":function($event){_vm.close(_vm.__update);}}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.okLabel)}})])],1)])],1):_c('q-modal',{ref:\"popup\",staticClass:\"with-backdrop\",class:_vm.classNames,attrs:{\"transition\":_vm.transition,\"position-classes\":_vm.position,\"content-css\":_vm.css},on:{\"open\":_vm.__onFocus,\"close\":_vm.__onClose}},[_c('q-inline-datetime',{ref:\"target\",staticClass:\"no-border\",class:{'full-width': _vm.$q.theme === 'ios'},attrs:{\"default-selection\":_vm.defaultSelection,\"type\":_vm.type,\"min\":_vm.min,\"max\":_vm.max,\"format24h\":_vm.format24h,\"monday-first\":_vm.mondayFirst,\"saturday-first\":_vm.saturdayFirst,\"month-names\":_vm.monthNames,\"day-names\":_vm.dayNames,\"color\":_vm.color},model:{value:(_vm.model),callback:function ($$v) {_vm.model=$$v;},expression:\"model\"}},[_c('div',{staticClass:\"modal-buttons modal-buttons-top row full-width\"},[(!_vm.noClear && _vm.model)?_c('q-btn',{attrs:{\"color\":_vm.color,\"flat\":\"\"},on:{\"click\":function($event){_vm.clear();}}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.clearLabel)}})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"col\"}),_vm._v(\" \"),_c('q-btn',{attrs:{\"color\":_vm.color,\"flat\":\"\"},on:{\"click\":function($event){_vm.close();}}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.cancelLabel)}})]),_vm._v(\" \"),_c('q-btn',{attrs:{\"color\":_vm.color,\"flat\":\"\"},on:{\"click\":function($event){_vm.close(_vm.__update);}}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.okLabel)}})])],1)])],1),_vm._v(\" \"),_c('q-icon',{staticClass:\"q-if-control\",attrs:{\"slot\":\"after\",\"name\":\"arrow_drop_down\"},slot:\"after\"})],1)},staticRenderFns: [],\n name: 'q-datetime',\n mixins: [FrameMixin],\n components: {\n QInputFrame: QInputFrame,\n QPopover: QPopover,\n QModal: QModal,\n QInlineDatetime: QInlineDatetime,\n QBtn: QBtn\n },\n props: extend(\n {\n defaultSelection: [String, Number, Date],\n displayValue: String\n },\n input,\n inline\n ),\n data: function data () {\n var data = this.usingPopover ? {} : {\n css: contentCSS[current],\n position: current === 'ios' ? 'items-end justify-center' : 'flex-center',\n transition: current === 'ios' ? 'q-modal-bottom' : 'q-modal',\n classNames: current === 'ios' ? '' : 'minimized'\n };\n data.model = this.value;\n data.focused = false;\n return data\n },\n computed: {\n usingPopover: function usingPopover () {\n return this.$q.platform.is.desktop && !this.$q.platform.within.iframe\n },\n actualValue: function actualValue () {\n if (this.displayValue) {\n return this.displayValue\n }\n if (!this.value) {\n return this.placeholder || ''\n }\n\n var format;\n\n if (this.format) {\n format = this.format;\n }\n else if (this.type === 'date') {\n format = 'YYYY-MM-DD';\n }\n else if (this.type === 'time') {\n format = 'HH:mm';\n }\n else {\n format = 'YYYY-MM-DD HH:mm:ss';\n }\n\n return formatDate(this.value, format, {\n dayNames: this.dayNames,\n monthNames: this.monthNames\n })\n }\n },\n methods: {\n open: function open () {\n if (!this.disable) {\n this.__setModel();\n this.$refs.popup.open();\n }\n },\n close: function close (fn) {\n this.focused = false;\n this.$refs.popup.close(fn);\n },\n clear: function clear () {\n this.$refs.popup.close();\n if (this.value !== '') {\n this.$emit('input', '');\n this.$emit('change', '');\n }\n },\n\n __onFocus: function __onFocus () {\n this.focused = true;\n this.$emit('focus');\n },\n __onBlur: function __onBlur (e) {\n var this$1 = this;\n\n this.__onClose();\n setTimeout(function () {\n var el = document.activeElement;\n if (el !== document.body && !this$1.$refs.popup.$el.contains(el)) {\n this$1.close();\n }\n }, 1);\n },\n __onClose: function __onClose () {\n this.focused = false;\n this.$emit('blur');\n },\n __setModel: function __setModel () {\n this.model = this.value;\n },\n __update: function __update () {\n var val = this.model || this.$refs.target.model;\n if (!isSameDate(this.value, val)) {\n this.$emit('input', val);\n this.$emit('change', val);\n }\n }\n }\n};\n\nvar QDatetimeRange = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-datetime-range no-wrap\",class:_vm.classes},[_c('q-datetime',{staticClass:\"col q-datetime-range-left\",class:_vm.className,style:(_vm.css),attrs:{\"default-selection\":_vm.defaultFrom,\"type\":_vm.type,\"min\":_vm.min,\"max\":_vm.value.to || _vm.max,\"format\":_vm.format,\"no-clear\":_vm.noClear,\"clear-label\":_vm.clearLabel,\"ok-label\":_vm.okLabel,\"cancel-label\":_vm.cancelLabel,\"float-label\":_vm.floatLabel,\"stack-label\":_vm.stackLabel,\"placeholder\":_vm.placeholder,\"disable\":_vm.disable,\"error\":_vm.error,\"inverted\":_vm.inverted,\"dark\":_vm.dark,\"before\":_vm.before,\"after\":_vm.after,\"color\":_vm.color,\"align\":_vm.align,\"format24h\":_vm.format24h,\"monday-first\":_vm.mondayFirst,\"saturday-first\":_vm.saturdayFirst,\"month-names\":_vm.monthNames,\"day-names\":_vm.dayNames},on:{\"change\":_vm.__onChange},model:{value:(_vm.value.from),callback:function ($$v) {_vm.$set(_vm.value, \"from\", $$v);},expression:\"value.from\"}}),_vm._v(\" \"),_c('q-datetime',{staticClass:\"col q-datetime-range-right\",class:_vm.className,style:(_vm.css),attrs:{\"default-selection\":_vm.defaultTo,\"type\":_vm.type,\"min\":_vm.value.from || _vm.min,\"max\":_vm.max,\"format\":_vm.format,\"no-clear\":_vm.noClear,\"clear-label\":_vm.clearLabel,\"ok-label\":_vm.okLabel,\"cancel-label\":_vm.cancelLabel,\"float-label\":_vm.floatLabel,\"stack-label\":_vm.stackLabel,\"placeholder\":_vm.placeholder,\"disable\":_vm.disable,\"error\":_vm.error,\"inverted\":_vm.inverted,\"dark\":_vm.dark,\"before\":_vm.before,\"after\":_vm.after,\"color\":_vm.color,\"align\":_vm.align,\"format24h\":_vm.format24h,\"monday-first\":_vm.mondayFirst,\"saturday-first\":_vm.saturdayFirst,\"month-names\":_vm.monthNames,\"day-names\":_vm.dayNames},on:{\"change\":_vm.__onChange},model:{value:(_vm.value.to),callback:function ($$v) {_vm.$set(_vm.value, \"to\", $$v);},expression:\"value.to\"}})],1)},staticRenderFns: [],\n name: 'q-datetime-range',\n mixins: [FrameMixin],\n components: {\n QDatetime: QDatetime\n },\n props: extend(\n input,\n inline,\n {\n value: {\n type: Object,\n validator: function (val) { return 'from' in val && 'to' in val; },\n required: true\n },\n className: [String, Object],\n css: [String, Object],\n defaultFrom: [String, Number, Date],\n defaultTo: [String, Number, Date],\n vertical: Boolean\n }\n ),\n computed: {\n classes: function classes () {\n return this.vertical ? 'column' : 'row'\n }\n },\n methods: {\n __onChange: function __onChange () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.$emit('change', this$1.value);\n });\n }\n }\n};\n\nvar FabMixin = {\n props: {\n outline: Boolean,\n push: Boolean,\n flat: Boolean,\n color: String,\n glossy: Boolean\n }\n};\n\nvar QFab = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-fab z-fab row inline justify-center\",class:{'q-fab-opened': _vm.opened}},[_c('q-btn',{class:{glossy: _vm.glossy},attrs:{\"round\":\"\",\"outline\":_vm.outline,\"push\":_vm.push,\"flat\":_vm.flat,\"color\":_vm.color},on:{\"click\":_vm.toggle}},[_vm._t(\"tooltip\"),_vm._v(\" \"),_c('q-icon',{staticClass:\"q-fab-icon absolute-full row flex-center full-width full-height\",attrs:{\"name\":_vm.icon}}),_vm._v(\" \"),_c('q-icon',{staticClass:\"q-fab-active-icon absolute-full row flex-center full-width full-height\",attrs:{\"name\":_vm.activeIcon}})],2),_vm._v(\" \"),_c('div',{staticClass:\"q-fab-actions flex no-wrap inline items-center\",class:(\"q-fab-\" + (_vm.direction))},[_vm._t(\"default\")],2)],1)},staticRenderFns: [],\n name: 'q-fab',\n mixins: [FabMixin, ModelToggleMixin],\n components: {\n QBtn: QBtn,\n QIcon: QIcon\n },\n props: {\n icon: {\n type: String,\n default: 'add'\n },\n activeIcon: {\n type: String,\n default: 'close'\n },\n direction: {\n type: String,\n default: 'right'\n }\n },\n provide: function provide () {\n return {\n __qFabClose: this.close\n }\n },\n data: function data () {\n return {\n opened: false\n }\n },\n methods: {\n open: function open () {\n this.opened = true;\n this.__updateModel(true);\n this.$emit('open');\n },\n close: function close (fn) {\n this.opened = false;\n this.__updateModel(false);\n this.$emit('close');\n\n if (typeof fn === 'function') {\n fn();\n }\n },\n toggle: function toggle () {\n if (this.opened) {\n this.close();\n }\n else {\n this.open();\n }\n }\n }\n};\n\nvar QFabAction = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-btn',{attrs:{\"round\":\"\",\"small\":\"\",\"outline\":_vm.outline,\"push\":_vm.push,\"flat\":_vm.flat,\"color\":_vm.color,\"glossy\":_vm.glossy},on:{\"click\":_vm.click}},[_c('q-icon',{attrs:{\"name\":_vm.icon}}),_vm._v(\" \"),_vm._t(\"default\")],2)},staticRenderFns: [],\n name: 'q-fab-action',\n mixins: [FabMixin],\n components: {\n QBtn: QBtn,\n QIcon: QIcon\n },\n inject: ['__qFabClose'],\n props: {\n icon: {\n type: String,\n required: true\n }\n },\n methods: {\n click: function click (e) {\n var this$1 = this;\n\n this.__qFabClose(function () {\n this$1.$emit('click', e);\n });\n }\n }\n};\n\nvar QGallery = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-gallery\"},_vm._l((_vm.src),function(img,index){return _c('div',{key:index,style:({width: _vm.width})},[_c('img',{attrs:{\"src\":img}})])}))},staticRenderFns: [],\n name: 'q-gallery',\n props: {\n src: {\n type: Array,\n required: true\n },\n width: {\n type: String,\n default: '150px'\n }\n }\n};\n\nvar QGalleryCarousel = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-carousel',{ref:\"slider\",staticClass:\"text-white bg-black q-gallery-carousel\",attrs:{\"dots\":_vm.dots,\"arrows\":_vm.arrows,\"fullscreen\":_vm.fullscreen,\"infinite\":_vm.infinite,\"actions\":\"\",\"animation\":_vm.animation,\"autoplay\":_vm.autoplay,\"handle-arrow-keys\":_vm.handleArrowKeys,\"easing\":_vm.easing,\"swipe-easing\":_vm.swipeEasing,\"no-swipe\":_vm.noSwipe},on:{\"slide\":_vm.__updateCurrentSlide}},[_vm._l((_vm.src),function(img){return _c('div',{key:img,staticClass:\"no-padding row flex-center\",attrs:{\"slot\":\"slide\"},slot:\"slide\"},[_c('div',{staticClass:\"full-width\"},[_c('img',{attrs:{\"src\":img}})])])}),_vm._v(\" \"),_c('div',{staticClass:\"q-gallery-carousel-overlay\",class:{active: _vm.quickView},on:{\"click\":function($event){_vm.toggleQuickView();}}}),_vm._v(\" \"),_c('q-icon',{attrs:{\"slot\":\"action\",\"name\":\"view_carousel\"},on:{\"click\":function($event){_vm.toggleQuickView();}},slot:\"action\"}),_vm._v(\" \"),_c('div',{staticClass:\"q-gallery-carousel-quickview\",class:{active: _vm.quickView, row: _vm.horizontalQuickView, horizontal: _vm.horizontalQuickView},on:{\"!touchstart\":function($event){$event.stopPropagation();},\"!touchmove\":function($event){$event.stopPropagation();},\"!touchend\":function($event){$event.stopPropagation();},\"!mousedown\":function($event){$event.stopPropagation();},\"!mousemove\":function($event){$event.stopPropagation();},\"!mouseend\":function($event){$event.stopPropagation();}}},_vm._l((_vm.src),function(img,index){return _c('div',{key:img},[_c('img',{class:{active: _vm.currentSlide === index},attrs:{\"src\":img},on:{\"click\":function($event){_vm.__selectImage(index);}}})])}))],2)},staticRenderFns: [],\n name: 'q-gallery-carousel',\n components: {\n QCarousel: QCarousel,\n QIcon: QIcon\n },\n mixins: [CarouselMixin],\n props: {\n src: {\n type: Array,\n required: true\n },\n arrows: {\n type: Boolean,\n default: true\n },\n actions: {\n type: Boolean,\n default: true\n },\n horizontalQuickView: Boolean\n },\n data: function data () {\n return {\n quickView: false,\n currentSlide: 0\n }\n },\n methods: {\n toggleQuickView: function toggleQuickView () {\n this.quickView = !this.quickView;\n },\n goToSlide: function goToSlide (index, noAnimation) {\n this.$refs.slider.goToSlide(index, noAnimation);\n },\n __selectImage: function __selectImage (index) {\n this.goToSlide(index, true);\n this.toggleQuickView();\n },\n __updateCurrentSlide: function __updateCurrentSlide (value) {\n this.currentSlide = value;\n this.$emit('slide', value);\n }\n }\n};\n\nvar QInfiniteScroll = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-infinite-scroll\"},[_c('div',{ref:\"content\",staticClass:\"q-infinite-scroll-content\"},[_vm._t(\"default\")],2),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.fetching),expression:\"fetching\"}],staticClass:\"q-infinite-scroll-message\"},[_vm._t(\"message\")],2)])},staticRenderFns: [],\n name: 'q-infinite-scroll',\n props: {\n handler: {\n type: Function,\n required: true\n },\n inline: Boolean,\n offset: {\n type: Number,\n default: 0\n }\n },\n data: function data () {\n return {\n index: 0,\n fetching: false,\n working: true\n }\n },\n methods: {\n poll: function poll () {\n if (this.fetching || !this.working) {\n return\n }\n\n var\n containerHeight = height(this.scrollContainer),\n containerBottom = offset(this.scrollContainer).top + containerHeight,\n triggerPosition = offset(this.element).top + height(this.element) - (this.offset || containerHeight);\n\n if (triggerPosition < containerBottom) {\n this.loadMore();\n }\n },\n loadMore: function loadMore () {\n var this$1 = this;\n\n if (this.fetching || !this.working) {\n return\n }\n\n this.index++;\n this.fetching = true;\n this.handler(this.index, function (stopLoading) {\n this$1.fetching = false;\n if (stopLoading) {\n this$1.stop();\n return\n }\n if (this$1.element.closest('body')) {\n this$1.poll();\n }\n });\n },\n reset: function reset () {\n this.index = 0;\n },\n resume: function resume () {\n this.working = true;\n this.scrollContainer.addEventListener('scroll', this.poll);\n this.poll();\n },\n stop: function stop () {\n this.working = false;\n this.scrollContainer.removeEventListener('scroll', this.poll);\n }\n },\n mounted: function mounted () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.poll = debounce(this$1.poll, 50);\n this$1.element = this$1.$refs.content;\n\n this$1.scrollContainer = this$1.inline ? this$1.$el : getScrollTarget(this$1.$el);\n if (this$1.working) {\n this$1.scrollContainer.addEventListener('scroll', this$1.poll);\n }\n\n this$1.poll();\n });\n },\n beforeDestroy: function beforeDestroy () {\n this.scrollContainer.removeEventListener('scroll', this.poll);\n }\n};\n\nvar QInnerLoading = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('div',{staticClass:\"q-inner-loading animate-fade absolute-full column flex-center\",class:{dark: _vm.dark}},[_vm._t(\"default\",[_c('q-spinner',{attrs:{\"size\":_vm.size,\"color\":_vm.color}})])],2):_vm._e()},staticRenderFns: [],\n name: 'q-inner-loading',\n components: {\n QSpinner: QSpinner\n },\n props: {\n dark: Boolean,\n visible: Boolean,\n size: {\n type: [String, Number],\n default: 42\n },\n color: String\n }\n};\n\nvar QKnob = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-knob non-selectable\",class:_vm.classes,style:({width: _vm.size, height: _vm.size})},[_c('div',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan\",value:(_vm.__pan),expression:\"__pan\"}],on:{\"click\":_vm.__onInput}},[_c('svg',{attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('path',{class:(\"text-\" + (_vm.trackColor)),attrs:{\"d\":\"M 50,50 m 0,-47\\n a 47,47 0 1 1 0,94\\n a 47,47 0 1 1 0,-94\",\"stroke\":\"currentColor\",\"stroke-width\":_vm.lineWidth,\"fill-opacity\":\"0\"}}),_vm._v(\" \"),_c('path',{style:(_vm.svgStyle),attrs:{\"stroke-linecap\":\"round\",\"fill-opacity\":\"0\",\"d\":\"M 50,50 m 0,-47\\n a 47,47 0 1 1 0,94\\n a 47,47 0 1 1 0,-94\",\"stroke\":\"currentColor\",\"stroke-width\":_vm.lineWidth}})]),_vm._v(\" \"),_c('div',{staticClass:\"q-knob-label row flex-center content-center\"},[(!_vm.$slots.default)?_c('span',[_vm._v(_vm._s(_vm.value))]):_vm._t(\"default\")],2)])])},staticRenderFns: [],\n name: 'q-knob',\n directives: {\n TouchPan: TouchPan\n },\n props: {\n value: {\n type: Number,\n required: true\n },\n min: {\n type: Number,\n default: 0\n },\n max: {\n type: Number,\n default: 100\n },\n color: String,\n trackColor: {\n type: String,\n default: 'grey-3'\n },\n lineWidth: {\n type: String,\n default: '6px'\n },\n size: {\n type: String,\n default: '100px'\n },\n step: {\n type: Number,\n default: 1\n },\n disable: Boolean,\n readonly: Boolean\n },\n computed: {\n classes: function classes () {\n var cls = [];\n if (this.disable) {\n cls.push('disabled');\n }\n if (!this.readonly) {\n cls.push('cursor-pointer');\n }\n if (this.color) {\n cls.push((\"text-\" + (this.color)));\n }\n return cls\n },\n svgStyle: function svgStyle () {\n return {\n 'stroke-dasharray': '295.31px, 295.31px',\n 'stroke-dashoffset': (295.31 * (1.0 - (this.value - this.min) / (this.max - this.min))) + 'px',\n 'transition': this.dragging ? '' : 'stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease'\n }\n },\n editable: function editable () {\n return !this.disable && !this.readonly\n }\n },\n data: function data () {\n return {\n dragging: false\n }\n },\n watch: {\n value: function value (value$1) {\n if (value$1 < this.min) {\n this.$emit('input', this.min);\n }\n else if (value$1 > this.max) {\n this.$emit('input', this.max);\n }\n }\n },\n methods: {\n __pan: function __pan (event) {\n if (!this.editable) {\n return\n }\n if (event.isFinal) {\n this.__dragStop(event.evt);\n }\n else if (event.isFirst) {\n this.__dragStart(event.evt);\n }\n else {\n this.__dragMove(event.evt);\n }\n },\n __dragStart: function __dragStart (ev) {\n if (!this.editable) {\n return\n }\n ev.stopPropagation();\n ev.preventDefault();\n\n this.centerPosition = this.__getCenter();\n\n this.dragging = true;\n this.__onInput(ev);\n },\n __dragMove: function __dragMove (ev) {\n if (!this.dragging || !this.editable) {\n return\n }\n ev.stopPropagation();\n ev.preventDefault();\n this.__onInput(ev, this.centerPosition);\n },\n __dragStop: function __dragStop (ev) {\n if (!this.editable) {\n return\n }\n ev.stopPropagation();\n ev.preventDefault();\n this.dragging = false;\n },\n __onInput: function __onInput (ev, center) {\n if ( center === void 0 ) center = this.__getCenter();\n\n if (!this.editable) {\n return\n }\n var\n pos = position(ev),\n height$$1 = Math.abs(pos.top - center.top),\n distance = Math.sqrt(\n Math.pow(Math.abs(pos.top - center.top), 2) +\n Math.pow(Math.abs(pos.left - center.left), 2)\n ),\n angle = Math.asin(height$$1 / distance) * (180 / Math.PI);\n\n if (pos.top < center.top) {\n angle = center.left < pos.left ? 90 - angle : 270 + angle;\n }\n else {\n angle = center.left < pos.left ? angle + 90 : 270 - angle;\n }\n\n var\n model = this.min + (angle / 360) * (this.max - this.min),\n modulo = model % this.step;\n\n var val = between(\n model - modulo + (Math.abs(modulo) >= this.step / 2 ? (modulo < 0 ? -1 : 1) * this.step : 0),\n this.min,\n this.max\n );\n\n if (this.value !== val) {\n this.$emit('input', val);\n this.$emit('change', val);\n }\n },\n __getCenter: function __getCenter () {\n var knobOffset = offset(this.$el);\n return {\n top: knobOffset.top + height(this.$el) / 2,\n left: knobOffset.left + width(this.$el) / 2\n }\n }\n }\n};\n\nvar SideMixin = {\n methods: {\n toggleLeft: function toggleLeft (fn) {\n this.__toggle('left', fn);\n },\n toggleRight: function toggleRight (fn) {\n this.__toggle('right', fn);\n },\n showLeft: function showLeft (fn) {\n this.__show('left', fn);\n },\n showRight: function showRight (fn) {\n this.__show('right', fn);\n },\n hideLeft: function hideLeft (fn) {\n this.__hide('left', fn);\n },\n hideRight: function hideRight (fn) {\n this.__hide('right', fn);\n },\n hideCurrentSide: function hideCurrentSide (fn) {\n if (this.leftState.openedSmall) {\n this.hideLeft(fn);\n }\n else if (this.rightState.openedSmall) {\n this.hideRight(fn);\n }\n else if (typeof fn === 'function') {\n fn();\n }\n },\n\n __toggle: function __toggle (side) {\n var state = this[side + 'State'];\n if (state.openedSmall || (this[side + 'OverBreakpoint'] && state.openedBig)) {\n this.__hide(side);\n }\n else {\n this.__show(side);\n }\n },\n __popState: function __popState () {\n if (this.$q.platform.has.popstate && window.history.state && window.history.state.__quasar_layout_overlay) {\n window.removeEventListener('popstate', this.__popState);\n this.__hideSmall(this.popStateCallback);\n this.popStateCallback = null;\n }\n },\n __hideSmall: function __hideSmall (fn) {\n this.rightState.openedSmall = false;\n this.leftState.openedSmall = false;\n this.backdrop.percentage = 0;\n if (typeof fn === 'function') {\n setTimeout(fn, 310);\n }\n },\n __hide: function __hide (side, fn) {\n if (typeof side !== 'string') {\n if (this.backdrop.touchEvent) {\n this.backdrop.touchEvent = false;\n return\n }\n side = this.leftState.openedSmall ? 'left' : 'right';\n }\n\n var state = this[side + 'State'];\n\n if (!state.openedSmall) {\n state.openedBig = false;\n return\n }\n\n document.body.classList.remove('with-layout-side-opened');\n if (this.$q.platform.has.popstate) {\n this.popStateCallback = fn;\n if (window.history.state && !window.history.state.__quasar_layout_overlay) {\n window.history.go(-1);\n }\n }\n else {\n this.__hideSmall(fn);\n }\n },\n __show: function __show (side, fn) {\n var state = this[side + 'State'];\n if (this[side + 'OverBreakpoint']) {\n state.openedBig = true;\n if (typeof fn === 'function') {\n fn();\n }\n return\n }\n\n if (!this.$slots[side]) {\n return\n }\n\n if (this.$q.platform.has.popstate) {\n if (!window.history.state) {\n window.history.replaceState({__quasar_layout_overlay: true}, '');\n }\n else {\n window.history.state.__quasar_layout_overlay = true;\n }\n var hist = window.history.state || {};\n hist.__quasar_layout_overlay = true;\n window.history.replaceState(hist, '');\n window.history.pushState({}, '');\n window.addEventListener('popstate', this.__popState);\n }\n\n document.body.classList.add('with-layout-side-opened');\n state.openedSmall = true;\n this.backdrop.percentage = 1;\n if (typeof fn === 'function') {\n fn();\n }\n },\n __openLeftByTouch: function __openLeftByTouch (evt) {\n this.__openByTouch(evt, 'left');\n },\n __openRightByTouch: function __openRightByTouch (evt) {\n this.__openByTouch(evt, 'right', true);\n },\n __openByTouch: function __openByTouch (evt, side, right) {\n var\n width = this[side].w,\n position = between(evt.distance.x, 0, width),\n state = this[side + 'State'],\n withBackdrop = !this[side + 'OverBreakpoint'];\n\n if (evt.isFinal) {\n var opened = position >= Math.min(75, width);\n this.backdrop.inTransit = false;\n state.inTransit = false;\n if (opened) {\n this.__show(side);\n }\n else {\n this.backdrop.percentage = 0;\n }\n return\n }\n\n state.position = right\n ? Math.max(width - position, 0)\n : Math.min(0, position - width);\n\n if (withBackdrop) {\n this.backdrop.percentage = between(position / width, 0, 1);\n }\n\n if (evt.isFirst) {\n if (withBackdrop) {\n document.body.classList.add('with-layout-side-opened');\n this.backdrop.inTransit = side;\n }\n state.inTransit = true;\n }\n },\n __closeLeftByTouch: function __closeLeftByTouch (evt) {\n this.__closeByTouch(evt, 'left');\n },\n __closeRightByTouch: function __closeRightByTouch (evt) {\n this.__closeByTouch(evt, 'right', true);\n },\n __closeByTouch: function __closeByTouch (evt, side, right) {\n if (side === void 0) {\n right = this.rightState.openedSmall;\n side = right ? 'right' : 'left';\n }\n var\n width = this[side].w,\n state = this[side + 'State'];\n\n if (this[side + 'OnLayout']) {\n return\n }\n\n var position = evt.direction === side\n ? between(evt.distance.x, 0, width)\n : 0;\n\n if (evt.isFinal) {\n var opened = Math.abs(position) < Math.min(75, width);\n this.backdrop.inTransit = false;\n state.inTransit = false;\n if (!opened) {\n this.__hide(side);\n }\n else {\n this.backdrop.percentage = 1;\n }\n return\n }\n\n state.position = (right ? 1 : -1) * position;\n this.backdrop.percentage = between(1 + (right ? -1 : 1) * position / width, 0, 1);\n\n if (evt.isFirst) {\n this.backdrop.inTransit = true;\n state.inTransit = true;\n this.backdrop.touchEvent = true;\n }\n }\n }\n};\n\nfunction updateSize (obj, size) {\n if (obj.w !== size.width) {\n obj.w = size.width;\n }\n if (obj.h !== size.height) {\n obj.h = size.height;\n }\n}\n\nfunction updateObject (obj, data) {\n Object.keys(data).forEach(function (key) {\n if (obj[key] !== data[key]) {\n obj[key] = data[key];\n }\n });\n}\n\nvar QLayout = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout\"},[(!_vm.$q.platform.is.ios && _vm.$slots.left && !_vm.leftState.openedSmall && !_vm.leftOnLayout)?_c('div',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan.horizontal\",value:(_vm.__openLeftByTouch),expression:\"__openLeftByTouch\",modifiers:{\"horizontal\":true}}],staticClass:\"layout-side-opener fixed-left\"}):_vm._e(),_vm._v(\" \"),(!_vm.$q.platform.is.ios && _vm.$slots.right && !_vm.rightState.openedSmall && !_vm.rightOnLayout)?_c('div',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan.horizontal\",value:(_vm.__openRightByTouch),expression:\"__openRightByTouch\",modifiers:{\"horizontal\":true}}],staticClass:\"layout-side-opener fixed-right\"}):_vm._e(),_vm._v(\" \"),(_vm.$slots.left || _vm.$slots.right)?_c('div',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan.horizontal\",value:(_vm.__closeByTouch),expression:\"__closeByTouch\",modifiers:{\"horizontal\":true}}],ref:\"backdrop\",staticClass:\"fullscreen layout-backdrop\",class:{ 'transition-generic': !_vm.backdrop.inTransit, 'no-pointer-events': _vm.hideBackdrop, },style:({\n opacity: _vm.backdrop.percentage,\n hidden: _vm.hideBackdrop\n }),on:{\"click\":_vm.__hide}}):_vm._e(),_vm._v(\" \"),(_vm.$slots.left)?_c('aside',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan.horizontal\",value:(_vm.__closeLeftByTouch),expression:\"__closeLeftByTouch\",modifiers:{\"horizontal\":true}}],staticClass:\"layout-aside layout-aside-left scroll\",class:_vm.computedLeftClass,style:(_vm.computedLeftStyle)},[_vm._t(\"left\"),_vm._v(\" \"),_c('q-resize-observable',{on:{\"resize\":_vm.onLeftAsideResize}})],2):_vm._e(),_vm._v(\" \"),(_vm.$slots.right)?_c('aside',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan.horizontal\",value:(_vm.__closeRightByTouch),expression:\"__closeRightByTouch\",modifiers:{\"horizontal\":true}}],staticClass:\"layout-aside layout-aside-right scroll\",class:_vm.computedRightClass,style:(_vm.computedRightStyle)},[_vm._t(\"right\"),_vm._v(\" \"),_c('q-resize-observable',{on:{\"resize\":_vm.onRightAsideResize}})],2):_vm._e(),_vm._v(\" \"),(_vm.$slots.header || (_vm.$q.theme !== 'ios' && _vm.$slots.navigation))?_c('header',{ref:\"header\",staticClass:\"layout-header transition-generic\",class:_vm.computedHeaderClass,style:(_vm.computedHeaderStyle)},[_vm._t(\"header\"),_vm._v(\" \"),(_vm.$q.theme !== 'ios')?_vm._t(\"navigation\"):_vm._e(),_vm._v(\" \"),_c('q-resize-observable',{on:{\"resize\":_vm.onHeaderResize}})],2):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"main\",staticClass:\"layout-page-container transition-generic\",style:(_vm.computedPageStyle)},[_c('main',{staticClass:\"layout-page\",class:_vm.pageClass,style:(_vm.mainStyle)},[_vm._t(\"default\")],2)]),_vm._v(\" \"),(_vm.$slots.footer || (_vm.$q.theme === 'ios' && _vm.$slots.navigation))?_c('footer',{ref:\"footer\",staticClass:\"layout-footer transition-generic\",class:_vm.computedFooterClass,style:(_vm.computedFooterStyle)},[_vm._t(\"footer\"),_vm._v(\" \"),(_vm.$q.theme === 'ios')?_vm._t(\"navigation\"):_vm._e(),_vm._v(\" \"),_c('q-resize-observable',{on:{\"resize\":_vm.onFooterResize}})],2):_vm._e(),_vm._v(\" \"),_c('q-scroll-observable',{on:{\"scroll\":_vm.onPageScroll}}),_vm._v(\" \"),_c('q-resize-observable',{on:{\"resize\":_vm.onLayoutResize}}),_vm._v(\" \"),_c('q-window-resize-observable',{on:{\"resize\":_vm.onWindowResize}})],1)},staticRenderFns: [],\n name: 'q-layout',\n components: {\n QResizeObservable: QResizeObservable,\n QWindowResizeObservable: QWindowResizeObservable,\n QScrollObservable: QScrollObservable\n },\n directives: {\n TouchPan: TouchPan\n },\n mixins: [SideMixin],\n model: {\n prop: 'sides'\n },\n props: {\n sides: {\n type: Object,\n validator: function (v) { return 'left' in v && 'right' in v; },\n default: function default$1 () {\n return {\n left: true,\n right: true\n }\n }\n },\n view: {\n type: String,\n default: 'hhh lpr fff',\n validator: function (v) { return /^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(v.toLowerCase()); }\n },\n reveal: Boolean,\n\n leftBreakpoint: {\n type: Number,\n default: 992\n },\n leftStyle: Object,\n leftClass: Object,\n\n rightBreakpoint: {\n type: Number,\n default: 992\n },\n rightStyle: Object,\n rightClass: Object,\n\n headerStyle: Object,\n headerClass: Object,\n\n footerStyle: Object,\n footerClass: Object,\n\n pageStyle: Object,\n pageClass: Object\n },\n data: function data () {\n return {\n headerOnScreen: true,\n\n header: {h: 0, w: 0},\n left: {h: 0, w: 0},\n right: {h: 0, w: 0},\n footer: {h: 0, w: 0},\n layout: {h: 0, w: 0},\n\n scroll: {\n position: 0,\n direction: '',\n directionChanged: false,\n inflexionPosition: 0,\n scrollHeight: 0\n },\n\n backdrop: {\n inTransit: false,\n touchEvent: false,\n percentage: 0\n },\n\n leftState: {\n position: 0,\n inTransit: false,\n openedSmall: false,\n openedBig: this.sides.left\n },\n rightState: {\n position: 0,\n inTransit: false,\n openedSmall: false,\n openedBig: this.sides.right\n }\n }\n },\n provide: function provide () {\n return {\n layout: this\n }\n },\n watch: {\n sides: {\n deep: true,\n handler: function handler (val) {\n if (val.left !== this.leftState.openedBig) {\n this.leftState.openedBig = val.left;\n }\n if (val.right !== this.rightState.openedBig) {\n this.rightState.openedBig = val.right;\n }\n }\n },\n 'leftState.openedBig': function leftState_openedBig (v) {\n this.$emit('input', {\n left: v,\n right: this.rightState.openedBig\n });\n },\n 'rightState.openedBig': function rightState_openedBig (v) {\n this.$emit('input', {\n left: this.leftState.openedBig,\n right: v\n });\n },\n leftOverBreakpoint: function leftOverBreakpoint (v) {\n this.$emit('left-breakpoint', v);\n },\n rightOverBreakpoint: function rightOverBreakpoint (v) {\n this.$emit('right-breakpoint', v);\n }\n },\n computed: {\n leftOverBreakpoint: function leftOverBreakpoint () {\n return !this.leftState.openedSmall && this.leftBreakpoint !== 0 && this.layout.w >= this.leftBreakpoint\n },\n leftOnLayout: function leftOnLayout () {\n return this.leftOverBreakpoint && this.leftState.openedBig\n },\n rightOverBreakpoint: function rightOverBreakpoint () {\n return !this.rightState.openedSmall && this.rightBreakPoint !== 0 && this.layout.w >= this.rightBreakpoint\n },\n rightOnLayout: function rightOnLayout () {\n return this.rightOverBreakpoint && this.rightState.openedBig\n },\n hideBackdrop: function hideBackdrop () {\n return !this.backdrop.inTransit && !this.leftState.openedSmall && !this.rightState.openedSmall\n },\n fixed: function fixed () {\n return {\n header: this.reveal || this.view.indexOf('H') > -1,\n footer: this.view.indexOf('F') > -1,\n left: this.view.indexOf('L') > -1,\n right: this.view.indexOf('R') > -1\n }\n },\n rows: function rows () {\n var rows = this.view.toLowerCase().split(' ');\n return {\n top: rows[0].split(''),\n middle: rows[1].split(''),\n bottom: rows[2].split('')\n }\n },\n computedPageStyle: function computedPageStyle () {\n var\n view = this.rows,\n css$$1 = {};\n\n if (!view.top.includes('p') && this.fixed.header) {\n css$$1.paddingTop = this.header.h + 'px';\n }\n if (!view.bottom.includes('p') && this.fixed.footer) {\n css$$1.paddingBottom = this.footer.h + 'px';\n }\n if (view.middle[0] !== 'p' && this.leftOnLayout) {\n css$$1.paddingLeft = this.left.w + 'px';\n }\n if (view.middle[2] !== 'p' && this.rightOnLayout) {\n css$$1.paddingRight = this.right.w + 'px';\n }\n\n return css$$1\n },\n mainStyle: function mainStyle () {\n var css$$1 = {\n minHeight: (\"calc(100vh - \" + (this.header.h + this.footer.h) + \"px)\")\n };\n\n return this.pageStyle\n ? extend({}, this.pageStyle, css$$1)\n : css$$1\n },\n showHeader: function showHeader () {\n return this.headerOnScreen || !this.reveal\n },\n computedHeaderStyle: function computedHeaderStyle () {\n var\n view = this.rows,\n css$$1 = this.showHeader\n ? {}\n : cssTransform((\"translateY(\" + (-this.header.h) + \"px)\"));\n\n if (view.top[0] === 'l' && this.leftOnLayout) {\n css$$1.marginLeft = this.left.w + 'px';\n }\n if (view.top[2] === 'r' && this.rightOnLayout) {\n css$$1.marginRight = this.right.w + 'px';\n }\n\n return this.headerStyle\n ? extend({}, this.headerStyle, css$$1)\n : css$$1\n },\n computedFooterStyle: function computedFooterStyle () {\n var\n view = this.rows,\n css$$1 = {};\n\n if (view.bottom[0] === 'l' && this.leftOnLayout) {\n css$$1.marginLeft = this.left.w + 'px';\n }\n if (view.bottom[2] === 'r' && this.rightOnLayout) {\n css$$1.marginRight = this.right.w + 'px';\n }\n\n return this.footerStyle\n ? extend({}, this.footerStyle, css$$1)\n : css$$1\n },\n computedLeftClass: function computedLeftClass () {\n var classes = {\n 'on-layout': this.leftOnLayout,\n 'fixed': this.fixed.left || !this.leftOnLayout,\n 'on-top': !this.leftOverBreakpoint || this.leftState.inTransit,\n 'transition-generic': !this.leftState.inTransit,\n 'top-padding': this.fixed.left || this.rows.top[0] === 'l'\n };\n\n return this.leftClass\n ? extend({}, this.leftClass, classes)\n : classes\n },\n computedRightClass: function computedRightClass () {\n var classes = {\n 'on-layout': this.rightOnLayout,\n 'fixed': this.fixed.right || !this.rightOnLayout,\n 'on-top': !this.rightOverBreakpoint || this.rightState.inTransit,\n 'transition-generic': !this.rightState.inTransit,\n 'top-padding': this.fixed.right || this.rows.top[2] === 'r'\n };\n\n return this.rightClass\n ? extend({}, this.rightClass, classes)\n : classes\n },\n computedHeaderClass: function computedHeaderClass () {\n var classes = {'fixed-top': this.fixed.header};\n return this.headerClass\n ? extend({}, this.headerClass, classes)\n : classes\n },\n computedFooterClass: function computedFooterClass () {\n var classes = {'fixed-bottom': this.fixed.footer};\n return this.footerClass\n ? extend({}, this.footerClass, classes)\n : classes\n },\n offsetTop: function offsetTop () {\n return !this.fixed.header\n ? this.header.h - this.scroll.position\n : 0\n },\n offsetBottom: function offsetBottom () {\n if (!this.fixed.footer) {\n var translate = this.scroll.scrollHeight - this.layout.h - this.scroll.position - this.footer.h;\n if (translate < 0) {\n return translate\n }\n }\n },\n computedLeftStyle: function computedLeftStyle () {\n if (!this.leftOnLayout) {\n var style$$1 = this.leftState.inTransit\n ? cssTransform((\"translateX(\" + (this.leftState.position) + \"px)\"))\n : cssTransform((\"translateX(\" + (this.leftState.openedSmall ? 0 : '-100%') + \")\"));\n\n return this.leftStyle\n ? extend({}, this.leftStyle, style$$1)\n : style$$1\n }\n\n var\n view = this.rows,\n css$$1 = {};\n\n if (view.top[0] !== 'l') {\n if (this.fixed.left && this.offsetTop) {\n css$$1.top = Math.max(0, this.offsetTop) + 'px';\n }\n else if (this.showHeader) {\n css$$1.top = this.header.h + 'px';\n }\n }\n if (view.bottom[0] !== 'l') {\n if (this.fixed.footer || !this.fixed.left) {\n css$$1.bottom = this.footer.h + 'px';\n }\n else if (this.offsetBottom) {\n css$$1.bottom = -this.offsetBottom + 'px';\n }\n }\n\n return this.leftStyle\n ? extend({}, this.leftStyle, css$$1)\n : css$$1\n },\n computedRightStyle: function computedRightStyle () {\n if (!this.rightOnLayout) {\n var style$$1 = this.rightState.inTransit\n ? cssTransform((\"translateX(\" + (this.rightState.position) + \"px)\"))\n : cssTransform((\"translateX(\" + (this.rightState.openedSmall ? 0 : '100%') + \")\"));\n\n return this.rightStyle\n ? extend({}, this.rightStyle, style$$1)\n : style$$1\n }\n\n var\n view = this.rows,\n css$$1 = {};\n\n if (view.top[2] !== 'r') {\n if (this.fixed.right && this.offsetTop) {\n css$$1.top = Math.max(0, this.offsetTop) + 'px';\n }\n else if (this.showHeader) {\n css$$1.top = this.header.h + 'px';\n }\n }\n if (view.bottom[2] !== 'r') {\n if (this.fixed.footer || !this.fixed.right) {\n css$$1.bottom = this.footer.h + 'px';\n }\n else if (this.offsetBottom) {\n css$$1.bottom = -this.offsetBottom + 'px';\n }\n }\n\n return this.rightStyle\n ? extend({}, this.rightStyle, css$$1)\n : css$$1\n }\n },\n methods: {\n onHeaderResize: function onHeaderResize (size) {\n updateSize(this.header, size);\n },\n onFooterResize: function onFooterResize (size) {\n updateSize(this.footer, size);\n },\n onLeftAsideResize: function onLeftAsideResize (size) {\n updateSize(this.left, size);\n },\n onRightAsideResize: function onRightAsideResize (size) {\n updateSize(this.right, size);\n },\n onLayoutResize: function onLayoutResize () {\n updateObject(this.scroll, {scrollHeight: getScrollHeight(this.$el)});\n },\n onWindowResize: function onWindowResize (size) {\n updateSize(this.layout, size);\n this.$emit('resize', size);\n },\n onPageScroll: function onPageScroll (data) {\n updateObject(this.scroll, data);\n\n if (this.reveal) {\n var visible = !(\n data.position > this.header.h &&\n data.direction === 'down' && data.position - data.inflexionPosition >= 100\n );\n\n if (this.headerOnScreen !== visible) {\n this.headerOnScreen = visible;\n }\n }\n\n this.$emit('scroll', data);\n }\n }\n};\n\nvar sides = ['top', 'right', 'bottom', 'left'];\n\nvar QFixedPosition = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"z-fixed\",class:[(\"fixed-\" + (_vm.corner))],style:(_vm.style)},[_vm._t(\"default\")],2)},staticRenderFns: [],\n name: 'q-fixed-position',\n props: {\n corner: {\n type: String,\n default: 'bottom-right',\n validator: function (v) { return ['top-right', 'top-left', 'bottom-right', 'bottom-left'].includes(v); }\n },\n offset: {\n type: Array,\n validator: function (v) { return v.length === 2; }\n }\n },\n inject: ['layout'],\n computed: {\n animated: function animated () {\n return this.pos.top && this.layout.reveal\n },\n pos: function pos () {\n return {\n top: this.corner.indexOf('top') > -1,\n right: this.corner.indexOf('right') > -1,\n bottom: this.corner.indexOf('bottom') > -1,\n left: this.corner.indexOf('left') > -1\n }\n },\n style: function style$$1 () {\n var this$1 = this;\n\n var\n css$$1 = {},\n layout = this.layout,\n page = layout.computedPageStyle;\n\n if (this.offset) {\n css$$1.margin = (this.offset[1]) + \"px \" + (this.offset[0]) + \"px\";\n }\n if (this.animated && !layout.showHeader) {\n extend(css$$1, cssTransform((\"translateY(\" + (-layout.header.h) + \"px)\")));\n }\n else if (this.pos.top && layout.offsetTop) {\n if (layout.offsetTop > 0) {\n extend(css$$1, cssTransform((\"translateY(\" + (layout.offsetTop) + \"px)\")));\n }\n }\n else if (this.pos.bottom && layout.offsetBottom) {\n extend(css$$1, cssTransform((\"translateY(\" + (layout.offsetBottom) + \"px)\")));\n }\n\n sides.forEach(function (side) {\n var prop = \"padding\" + (side.charAt(0).toUpperCase() + side.slice(1));\n if (this$1.pos[side] && page[prop]) {\n css$$1[side] = css$$1[side] ? (\"calc(\" + (page[prop]) + \" + \" + (css$$1[side]) + \")\") : page[prop];\n }\n });\n\n return css$$1\n }\n }\n};\n\nvar QSideLink = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-link',{directives:[{name:\"ripple\",rawName:\"v-ripple.mat\",modifiers:{\"mat\":true}}],class:_vm.classes,attrs:{\"tag\":_vm.tag,\"to\":_vm.to,\"exact\":_vm.exact,\"append\":_vm.append,\"replace\":_vm.replace,\"event\":_vm.routerLinkEventName},nativeOn:{\"click\":function($event){_vm.trigger($event);}}},[_vm._t(\"default\")],2)},staticRenderFns: [],\n name: 'q-side-link',\n directives: {\n Ripple: Ripple\n },\n mixins: [RouterLinkMixin, ItemMixin],\n props: {\n item: Boolean\n },\n inject: ['layout'],\n computed: {\n classes: function classes () {\n this.link = true;\n return this.item ? itemClasses(this) : 'relative-position'\n }\n },\n methods: {\n trigger: function trigger () {\n var this$1 = this;\n\n this.layout.hideCurrentSide(function () {\n this$1.$el.dispatchEvent(evt);\n });\n }\n }\n};\n\nvar QParallax = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-parallax\",style:({height: _vm.height + 'px'})},[_c('div',{staticClass:\"q-parallax-image absolute-full\"},[_c('img',{ref:\"img\",class:{ready: _vm.imageHasBeenLoaded},attrs:{\"src\":_vm.src},on:{\"load\":function($event){_vm.__processImage();}}})]),_vm._v(\" \"),_c('div',{staticClass:\"q-parallax-text absolute-full column flex-center\"},[(!_vm.imageHasBeenLoaded)?_vm._t(\"loading\"):_vm._t(\"default\")],2)])},staticRenderFns: [],\n name: 'q-parallax',\n props: {\n src: {\n type: String,\n required: true\n },\n height: {\n type: Number,\n default: 500\n },\n speed: {\n type: Number,\n default: 1,\n validator: function validator (value) {\n return value >= 0 && value <= 1\n }\n }\n },\n data: function data () {\n return {\n imageHasBeenLoaded: false,\n scrolling: false\n }\n },\n watch: {\n src: function src () {\n this.imageHasBeenLoaded = false;\n },\n height: function height$$1 () {\n this.__updatePos();\n }\n },\n methods: {\n __processImage: function __processImage () {\n this.imageHasBeenLoaded = true;\n this.__onResize();\n },\n __onResize: function __onResize () {\n if (!this.imageHasBeenLoaded || !this.scrollTarget) {\n return\n }\n\n if (this.scrollTarget === window) {\n this.viewportHeight = viewport().height;\n }\n this.imageHeight = height(this.image);\n this.__updatePos();\n },\n __updatePos: function __updatePos () {\n if (!this.imageHasBeenLoaded) {\n return\n }\n\n var containerTop, containerHeight, containerBottom, top, bottom;\n\n if (this.scrollTarget === window) {\n containerTop = 0;\n containerHeight = this.viewportHeight;\n containerBottom = containerHeight;\n }\n else {\n containerTop = offset(this.scrollTarget).top;\n containerHeight = height(this.scrollTarget);\n containerBottom = containerTop + containerHeight;\n }\n top = offset(this.container).top;\n bottom = top + this.height;\n\n if (bottom > containerTop && top < containerBottom) {\n var percentScrolled = (containerBottom - top) / (this.height + containerHeight);\n this.__setPos(Math.round((this.imageHeight - this.height) * percentScrolled * this.speed));\n }\n },\n __setPos: function __setPos (offset$$1) {\n css(this.$refs.img, cssTransform((\"translate3D(-50%,\" + offset$$1 + \"px, 0)\")));\n }\n },\n created: function created () {\n this.__setPos = frameDebounce(this.__setPos);\n },\n mounted: function mounted () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.container = this$1.$el;\n this$1.image = this$1.$refs.img;\n\n this$1.scrollTarget = getScrollTarget(this$1.$el);\n this$1.resizeHandler = debounce(this$1.__onResize, 50);\n\n window.addEventListener('resize', this$1.resizeHandler);\n this$1.scrollTarget.addEventListener('scroll', this$1.__updatePos);\n this$1.__onResize();\n });\n },\n beforeDestroy: function beforeDestroy () {\n window.removeEventListener('resize', this.resizeHandler);\n this.scrollTarget.removeEventListener('scroll', this.__updatePos);\n }\n};\n\nvar QPullToRefresh = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pull-to-refresh\"},[_c('div',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan.vertical.scroll\",value:(_vm.__pull),expression:\"__pull\",modifiers:{\"vertical\":true,\"scroll\":true}}],staticClass:\"pull-to-refresh-container\",style:(_vm.style)},[_c('div',{staticClass:\"pull-to-refresh-message row flex-center\"},[_c('q-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state !== 'refreshing'),expression:\"state !== 'refreshing'\"}],class:{'rotate-180': _vm.state === 'pulled'},attrs:{\"name\":\"arrow_downward\"}}),_vm._v(\" \"),_c('q-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state === 'refreshing'),expression:\"state === 'refreshing'\"}],staticClass:\"animate-spin\",attrs:{\"name\":_vm.refreshIcon}}),_vm._v(\"    \"),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.message)}})],1),_vm._v(\" \"),_vm._t(\"default\")],2)])},staticRenderFns: [],\n name: 'q-pull-to-refresh',\n components: {\n QIcon: QIcon\n },\n directives: {\n TouchPan: TouchPan\n },\n props: {\n handler: {\n type: Function,\n required: true\n },\n distance: {\n type: Number,\n default: 35\n },\n pullMessage: {\n type: String,\n default: 'Pull down to refresh'\n },\n releaseMessage: {\n type: String,\n default: 'Release to refresh'\n },\n refreshMessage: {\n type: String,\n default: 'Refreshing...'\n },\n refreshIcon: {\n type: String,\n default: 'refresh'\n },\n inline: Boolean,\n disable: Boolean\n },\n data: function data () {\n var height$$1 = 65;\n\n return {\n state: 'pull',\n pullPosition: -height$$1,\n height: height$$1,\n animating: false,\n pulling: false,\n scrolling: false\n }\n },\n computed: {\n message: function message () {\n switch (this.state) {\n case 'pulled':\n return this.releaseMessage\n case 'refreshing':\n return this.refreshMessage\n case 'pull':\n default:\n return this.pullMessage\n }\n },\n style: function style$$1 () {\n return cssTransform((\"translateY(\" + (this.pullPosition) + \"px)\"))\n }\n },\n methods: {\n __pull: function __pull (event) {\n if (this.disable) {\n return\n }\n\n if (event.isFinal) {\n this.scrolling = false;\n this.pulling = false;\n if (this.scrolling) {\n return\n }\n if (this.state === 'pulled') {\n this.state = 'refreshing';\n this.__animateTo(0);\n this.trigger();\n }\n else if (this.state === 'pull') {\n this.__animateTo(-this.height);\n }\n return\n }\n if (this.animating || this.scrolling || this.state === 'refreshing') {\n return true\n }\n\n var top = getScrollPosition(this.scrollContainer);\n if (top !== 0 || (top === 0 && event.direction !== 'down')) {\n this.scrolling = true;\n if (this.pulling) {\n this.pulling = false;\n this.state = 'pull';\n this.__animateTo(-this.height);\n }\n return true\n }\n\n event.evt.preventDefault();\n this.pulling = true;\n this.pullPosition = -this.height + Math.max(0, Math.pow(event.distance.y, 0.85));\n this.state = this.pullPosition > this.distance ? 'pulled' : 'pull';\n },\n __animateTo: function __animateTo (target, done, previousCall) {\n var this$1 = this;\n\n if (!previousCall && this.animationId) {\n cancelAnimationFrame(this.animating);\n }\n\n this.pullPosition -= (this.pullPosition - target) / 7;\n\n if (this.pullPosition - target > 1) {\n this.animating = window.requestAnimationFrame(function () {\n this$1.__animateTo(target, done, true);\n });\n }\n else {\n this.animating = window.requestAnimationFrame(function () {\n this$1.pullPosition = target;\n this$1.animating = false;\n done && done();\n });\n }\n },\n trigger: function trigger () {\n var this$1 = this;\n\n this.handler(function () {\n this$1.__animateTo(-this$1.height, function () {\n this$1.state = 'pull';\n });\n });\n }\n },\n mounted: function mounted () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.scrollContainer = this$1.inline ? this$1.$el.parentNode : getScrollTarget(this$1.$el);\n });\n }\n};\n\nvar QScrollArea = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.$q.platform.is.desktop)?_c('div',{staticClass:\"q-scrollarea relative-position\",on:{\"mouseenter\":function($event){_vm.hover = true;},\"mouseleave\":function($event){_vm.hover = false;}}},[_c('div',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan.vertical.nomouse\",value:(_vm.__panContainer),expression:\"__panContainer\",modifiers:{\"vertical\":true,\"nomouse\":true}}],ref:\"target\",staticClass:\"scroll relative-position overflow-hidden full-height full-width\",on:{\"wheel\":_vm.__mouseWheel,\"mousewheel\":_vm.__mouseWheel,\"DOMMouseScroll\":_vm.__mouseWheel}},[_c('div',{staticClass:\"absolute full-width\",style:(_vm.mainStyle)},[_vm._t(\"default\"),_vm._v(\" \"),_c('q-resize-observable',{staticClass:\"resize-obs\",on:{\"resize\":_vm.__updateScrollHeight}})],2),_vm._v(\" \"),_c('q-scroll-observable',{staticClass:\"scroll-obs\",on:{\"scroll\":_vm.__updateScroll}})],1),_vm._v(\" \"),_c('q-resize-observable',{staticClass:\"main-resize-obs\",on:{\"resize\":_vm.__updateContainer}}),_vm._v(\" \"),_c('div',{directives:[{name:\"touch-pan\",rawName:\"v-touch-pan.vertical\",value:(_vm.__panThumb),expression:\"__panThumb\",modifiers:{\"vertical\":true}}],staticClass:\"q-scrollarea-thumb absolute-right\",class:{'invisible-thumb': _vm.thumbHidden},style:(_vm.style)})],1):_c('div',{staticClass:\"q-scroll-area scroll relative-position\",style:(_vm.contentStyle)},[_vm._t(\"default\")],2)},staticRenderFns: [],\n name: 'q-scroll-area',\n components: {\n QResizeObservable: QResizeObservable,\n QScrollObservable: QScrollObservable\n },\n directives: {\n TouchPan: TouchPan\n },\n props: {\n thumbStyle: {\n type: Object,\n default: function () { return ({}); }\n },\n contentStyle: {\n type: Object,\n default: function () { return ({}); }\n },\n contentActiveStyle: {\n type: Object,\n default: function () { return ({}); }\n },\n delay: {\n type: Number,\n default: 1000\n }\n },\n data: function data () {\n return {\n active: false,\n hover: false,\n containerHeight: 0,\n scrollPosition: 0,\n scrollHeight: 0\n }\n },\n computed: {\n thumbHidden: function thumbHidden () {\n return this.scrollHeight <= this.containerHeight || (!this.active && !this.hover)\n },\n thumbHeight: function thumbHeight () {\n return Math.round(between(this.containerHeight * this.containerHeight / this.scrollHeight, 50, this.containerHeight))\n },\n style: function style () {\n var top = this.scrollPercentage * (this.containerHeight - this.thumbHeight);\n return extend({}, this.thumbStyle, {\n top: (top + \"px\"),\n height: ((this.thumbHeight) + \"px\")\n })\n },\n mainStyle: function mainStyle () {\n return this.thumbHidden ? this.contentStyle : this.contentActiveStyle\n },\n scrollPercentage: function scrollPercentage () {\n var p = between(this.scrollPosition / (this.scrollHeight - this.containerHeight), 0, 1);\n return Math.round(p * 10000) / 10000\n }\n },\n methods: {\n setScrollPosition: function setScrollPosition$1 (offset, duration) {\n setScrollPosition(this.$refs.target, offset, duration);\n },\n __updateContainer: function __updateContainer (size) {\n if (this.containerHeight !== size.height) {\n this.containerHeight = size.height;\n this.__setActive(true, true);\n }\n },\n __updateScroll: function __updateScroll (scroll) {\n if (this.scrollPosition !== scroll.position) {\n this.scrollPosition = scroll.position;\n this.__setActive(true, true);\n }\n },\n __updateScrollHeight: function __updateScrollHeight (ref) {\n var height = ref.height;\n\n if (this.scrollHeight !== height) {\n this.scrollHeight = height;\n this.__setActive(true, true);\n }\n },\n __panThumb: function __panThumb (e) {\n e.evt.preventDefault();\n\n if (e.isFirst) {\n this.refPos = this.scrollPosition;\n this.__setActive(true, true);\n document.body.classList.add('non-selectable');\n if (document.selection) {\n document.selection.empty();\n }\n else if (window.getSelection) {\n window.getSelection().removeAllRanges();\n }\n }\n if (e.isFinal) {\n this.__setActive(false);\n document.body.classList.remove('non-selectable');\n }\n\n var multiplier = (this.scrollHeight - this.containerHeight) / (this.containerHeight - this.thumbHeight);\n this.$refs.target.scrollTop = this.refPos + (e.direction === 'down' ? 1 : -1) * e.distance.y * multiplier;\n },\n __panContainer: function __panContainer (e) {\n if (e.isFirst) {\n this.refPos = this.scrollPosition;\n this.__setActive(true, true);\n }\n if (e.isFinal) {\n this.__setActive(false);\n }\n\n var pos = this.refPos + (e.direction === 'down' ? -1 : 1) * e.distance.y;\n this.$refs.target.scrollTop = pos;\n\n if (pos > 0 && pos + this.containerHeight < this.scrollHeight) {\n e.evt.preventDefault();\n }\n },\n __mouseWheel: function __mouseWheel (e) {\n var el = this.$refs.target;\n el.scrollTop += getMouseWheelDistance(e).pixelY;\n if (el.scrollTop > 0 && el.scrollTop + this.containerHeight < this.scrollHeight) {\n e.preventDefault();\n }\n },\n __setActive: function __setActive (active, timer) {\n clearTimeout(this.timer);\n if (active === this.active) {\n if (active && this.timer) {\n this.__startTimer();\n }\n return\n }\n\n if (active) {\n this.active = true;\n if (timer) {\n this.__startTimer();\n }\n }\n else {\n this.active = false;\n }\n },\n __startTimer: function __startTimer () {\n var this$1 = this;\n\n this.timer = setTimeout(function () {\n this$1.active = false;\n this$1.timer = null;\n }, this.delay);\n }\n }\n};\n\nvar StepTab = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"ripple\",rawName:\"v-ripple.mat\",value:(_vm.vm.done),expression:\"vm.done\",modifiers:{\"mat\":true}}],staticClass:\"q-stepper-tab col-grow flex no-wrap relative-position\",class:{ 'step-error': _vm.vm.error, 'step-active': _vm.vm.active, 'step-done': _vm.vm.done, 'step-waiting': _vm.vm.waiting, 'step-disabled': _vm.vm.disable, 'step-colored': _vm.vm.active || _vm.vm.done, 'items-center': !_vm.vm.__stepper.vertical, 'items-start': _vm.vm.__stepper.vertical, 'q-stepper-first': _vm.vm.first, 'q-stepper-last': _vm.vm.last },on:{\"click\":_vm.__select}},[_c('div',{staticClass:\"q-stepper-dot row flex-center q-stepper-line relative-position\"},[_c('span',{staticClass:\"row flex-center\"},[(_vm.vm.stepIcon)?_c('q-icon',{attrs:{\"name\":_vm.vm.stepIcon}}):_c('span',[_vm._v(_vm._s(_vm.vm.innerOrder + 1))])],1)]),_vm._v(\" \"),(_vm.vm.title)?_c('div',{staticClass:\"q-stepper-label q-stepper-line relative-position\"},[_c('div',{staticClass:\"q-stepper-title\",domProps:{\"innerHTML\":_vm._s(_vm.vm.title)}}),_vm._v(\" \"),_c('div',{staticClass:\"q-stepper-subtitle\",domProps:{\"innerHTML\":_vm._s(_vm.vm.subtitle)}})]):_vm._e()])},staticRenderFns: [],\n name: 'q-step-header',\n components: {\n QIcon: QIcon\n },\n directives: {\n Ripple: Ripple\n },\n props: ['vm'],\n methods: {\n __select: function __select () {\n this.vm.select();\n }\n }\n};\n\nvar QStep = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-stepper-step\",style:(_vm.style)},[(_vm.__stepper.vertical)?_c('step-tab',{attrs:{\"vm\":this}}):_vm._e(),_vm._v(\" \"),_c('q-slide-transition',[(_vm.active)?_c('div',{staticClass:\"q-stepper-step-content\"},[_c('div',{staticClass:\"q-stepper-step-inner\"},[_vm._t(\"default\")],2)]):_vm._e()])],1)},staticRenderFns: [],\n name: 'q-step',\n components: {\n QSlideTransition: QSlideTransition,\n StepTab: StepTab\n },\n props: {\n name: {\n type: [Number, String],\n default: function default$1 () {\n return uid()\n }\n },\n default: Boolean,\n title: {\n type: String,\n required: true\n },\n subtitle: String,\n icon: String,\n order: [Number, String],\n error: Boolean,\n activeIcon: String,\n errorIcon: String,\n doneIcon: String,\n disable: Boolean\n },\n inject: ['__stepper'],\n watch: {\n order: function order () {\n this.__stepper.__sortSteps();\n }\n },\n data: function data () {\n return {\n innerOrder: 0,\n first: false,\n last: false\n }\n },\n computed: {\n stepIcon: function stepIcon () {\n var data = this.__stepper;\n\n if (this.active) {\n return this.activeIcon || data.activeIcon\n }\n if (this.error) {\n return this.errorIcon || data.errorIcon\n }\n if (this.done && !this.disable) {\n return this.doneIcon || data.doneIcon\n }\n\n return this.icon\n },\n actualOrder: function actualOrder () {\n return parseInt(this.order || this.innerOrder, 10)\n },\n active: function active () {\n return this.__stepper.step === this.name\n },\n done: function done () {\n return !this.disable && this.__stepper.currentOrder > this.innerOrder\n },\n waiting: function waiting () {\n return !this.disable && this.__stepper.currentOrder < this.innerOrder\n },\n style: function style () {\n var ord = this.actualOrder;\n return {\n '-webkit-box-ordinal-group': ord,\n '-ms-flex-order': ord,\n order: ord\n }\n }\n },\n methods: {\n select: function select () {\n if (this.done) {\n this.__stepper.goToStep(this.name);\n }\n }\n },\n mounted: function mounted () {\n this.__stepper.__registerStep(this);\n if (this.default) {\n this.select();\n }\n },\n beforeDestroy: function beforeDestroy () {\n this.__stepper.__unregisterStep(this);\n }\n};\n\nvar QStepper = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-stepper column overflow-hidden relative-position\",class:_vm.classes},[(!_vm.vertical)?_c('div',{staticClass:\"q-stepper-header row items-stretch justify-between shadow-1\",class:{'alternative-labels': _vm.alternativeLabels}},_vm._l((_vm.steps),function(step,index){return _c('step-tab',{key:step.name,attrs:{\"vm\":step}})})):_vm._e(),_vm._v(\" \"),_vm._t(\"default\")],2)},staticRenderFns: [],\n name: 'q-stepper',\n components: {\n StepTab: StepTab\n },\n props: {\n value: [Number, String],\n color: String,\n vertical: Boolean,\n alternativeLabels: Boolean,\n contractable: Boolean,\n doneIcon: {\n type: [String, Boolean],\n default: 'check'\n },\n activeIcon: {\n type: [String, Boolean],\n default: 'edit'\n },\n errorIcon: {\n type: [String, Boolean],\n default: 'warning'\n }\n },\n data: function data () {\n return {\n step: this.value || null,\n steps: []\n }\n },\n provide: function provide () {\n return {\n __stepper: this\n }\n },\n watch: {\n value: function value (v) {\n this.goToStep(v);\n }\n },\n computed: {\n classes: function classes () {\n var cls = [\n (\"q-stepper-\" + (this.vertical ? 'vertical' : 'horizontal'))\n ];\n if (this.color) {\n cls.push((\"text-\" + (this.color)));\n }\n if (this.contractable) {\n cls.push(\"q-stepper-contractable\");\n }\n return cls\n },\n hasSteps: function hasSteps () {\n return this.steps.length > 0\n },\n currentStep: function currentStep () {\n var this$1 = this;\n\n if (this.hasSteps) {\n return this.steps.find(function (step) { return step.name === this$1.step; })\n }\n },\n currentOrder: function currentOrder () {\n if (this.currentStep) {\n return this.currentStep.innerOrder\n }\n },\n length: function length () {\n return this.steps.length\n }\n },\n methods: {\n goToStep: function goToStep (step) {\n if (this.step === step || step === void 0) {\n return\n }\n\n this.step = step;\n\n if (this.value !== step) {\n this.$emit('input', step);\n this.$emit('step', step);\n }\n },\n next: function next () {\n this.__go(1);\n },\n previous: function previous () {\n this.__go(-1);\n },\n reset: function reset () {\n if (this.hasSteps) {\n this.goToStep(this.steps[0].name);\n }\n },\n\n __go: function __go (offset) {\n var\n name,\n index = this.currentOrder;\n\n if (index === void 0) {\n if (!this.hasSteps) {\n return\n }\n name = this.steps[0].name;\n }\n else {\n do {\n index += offset;\n } while (index >= 0 && index < this.length - 1 && this.steps[index].disable)\n if (index < 0 || index > this.length - 1 || this.steps[index].disable) {\n return\n }\n name = this.steps[index].name;\n }\n\n this.goToStep(name);\n },\n __sortSteps: function __sortSteps () {\n var this$1 = this;\n\n this.steps.sort(function (a, b) {\n return a.actualOrder - b.actualOrder\n });\n var last = this.steps.length - 1;\n this.steps.forEach(function (step, index) {\n step.innerOrder = index;\n step.first = index === 0;\n step.last = index === last;\n });\n this.$nextTick(function () {\n if (!this$1.steps.some(function (step) { return step.active; })) {\n this$1.goToStep(this$1.steps[0].name);\n }\n });\n },\n __registerStep: function __registerStep (vm) {\n this.steps.push(vm);\n this.__sortSteps();\n return this\n },\n __unregisterStep: function __unregisterStep (vm) {\n this.steps = this.steps.filter(function (step) { return step !== vm; });\n }\n },\n created: function created () {\n this.__sortSteps = frameDebounce(this.__sortSteps);\n }\n};\n\nvar QStepperNavigation = {\n name: 'q-stepper-navigation',\n functional: true,\n render: function render (h, ctx) {\n var\n data = ctx.data,\n cls = data.staticClass,\n slots = ctx.slots();\n var child = [h('div', {staticClass: 'col'}), slots.default];\n\n data.staticClass = \"q-stepper-nav order-last row no-wrap items-center\" + (cls ? (\" \" + cls) : '');\n\n if (slots.left) {\n child.unshift(slots.left);\n }\n\n return h('div', data, child)\n }\n};\n\nvar TabMixin = {\n directives: {\n Ripple: Ripple\n },\n props: {\n label: String,\n icon: String,\n disable: Boolean,\n hidden: Boolean,\n hide: {\n type: String,\n default: ''\n },\n name: {\n type: String,\n default: function default$1 () {\n return uid()\n }\n },\n alert: Boolean,\n count: [Number, String],\n color: String\n },\n inject: ['data', 'selectTab'],\n computed: {\n active: function active () {\n var sel = this.data.tabName === this.name;\n if (sel) {\n this.$emit('select', this.name);\n }\n return sel\n },\n classes: function classes () {\n var cls = {\n active: this.active,\n hidden: this.hidden,\n disabled: this.disable,\n 'icon-and-label': this.icon && this.label,\n 'hide-icon': this.hide === 'icon',\n 'hide-label': this.hide === 'label'\n };\n\n var color = this.data.inverted\n ? this.color || this.data.color\n : this.color;\n\n if (color) {\n cls[(\"text-\" + color)] = this.$q.theme === 'ios' ? this.active : true;\n }\n\n return cls\n },\n barStyle: function barStyle () {\n if (!this.active || !this.data.highlight) {\n return 'display: none;'\n }\n }\n },\n methods: {\n __getTabContent: function __getTabContent (h) {\n var child = [];\n\n this.icon && child.push(h(QIcon, {\n staticClass: 'q-tab-icon',\n props: {\n name: this.icon\n }\n }));\n\n this.label && child.push(h('span', {\n staticClass: 'q-tab-label',\n domProps: {\n innerHTML: this.label\n }\n }));\n\n if (this.count) {\n child.push(h(QChip, {\n props: {\n floating: true\n }\n }, [ this.count ]));\n }\n else if (this.alert) {\n child.push(h('div', {\n staticClass: 'q-dot'\n }));\n }\n\n child.push(this.$slots.default);\n if (this.$q.theme !== 'ios') {\n child.push(h('div', {\n staticClass: 'q-tabs-bar',\n style: this.barStyle\n }));\n }\n\n return child\n }\n }\n};\n\nvar QRouteTab = {\n name: 'q-route-tab',\n mixins: [TabMixin, RouterLinkMixin],\n watch: {\n $route: function $route () {\n this.checkIfSelected();\n }\n },\n methods: {\n select: function select () {\n this.$emit('click', this.name);\n if (!this.disable) {\n this.$el.dispatchEvent(evt);\n this.selectTab(this.name);\n }\n },\n checkIfSelected: function checkIfSelected () {\n var this$1 = this;\n\n this.$nextTick(function () {\n if (this$1.$el.classList.contains('router-link-active') || this$1.$el.classList.contains('router-link-exact-active')) {\n this$1.selectTab(this$1.name);\n }\n });\n }\n },\n created: function created () {\n this.checkIfSelected();\n },\n render: function render (h) {\n return h('router-link', {\n props: {\n tag: 'div',\n to: this.to,\n replace: this.replace,\n append: this.append,\n event: routerLinkEventName\n },\n nativeOn: {\n click: this.select\n },\n staticClass: 'q-tab column flex-center relative-position',\n 'class': this.classes,\n directives: [{\n name: 'ripple',\n modifiers: {\n mat: true\n }\n }]\n }, this.__getTabContent(h))\n }\n};\n\nvar QTab = {\n name: 'q-tab',\n mixins: [TabMixin],\n props: {\n default: Boolean\n },\n methods: {\n select: function select () {\n this.$emit('click', this.name);\n if (!this.disable) {\n this.selectTab(this.name);\n }\n }\n },\n mounted: function mounted () {\n if (this.default && !this.disable) {\n this.select();\n }\n },\n render: function render (h) {\n return h('div', {\n staticClass: 'q-tab column flex-center relative-position',\n 'class': this.classes,\n on: {\n click: this.select\n },\n directives: [{\n name: 'ripple',\n modifiers: {\n mat: true\n }\n }]\n }, this.__getTabContent(h))\n }\n};\n\nvar QTabPane = {\n name: 'q-tab-pane',\n props: {\n name: {\n type: String,\n required: true\n },\n keepAlive: Boolean\n },\n inject: ['data'],\n data: function data () {\n return {\n shown: false\n }\n },\n computed: {\n active: function active () {\n return this.data.tabName === this.name\n }\n },\n render: function render (h) {\n var node = h('div', {staticClass: 'q-tab-pane', 'class': {hidden: !this.active}}, [this.$slots.default]);\n if (this.keepAlive) {\n if (!this.shown && !this.active) {\n return\n }\n this.shown = true;\n return node\n }\n else {\n this.shown = this.active;\n if (this.active) {\n return node\n }\n }\n }\n};\n\nvar scrollNavigationSpeed = 5;\nvar debounceDelay = 50; // in ms\n\nvar QTabs = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-tabs flex no-wrap\",class:[ (\"q-tabs-position-\" + (_vm.position)), (\"q-tabs-\" + (_vm.inverted ? 'inverted' : 'normal')), _vm.noPaneBorder ? 'q-tabs-no-pane-border' : '', _vm.twoLines ? 'q-tabs-two-lines' : '' ]},[_c('div',{ref:\"tabs\",staticClass:\"q-tabs-head row\",class:( obj = { glossy: _vm.glossy }, obj[(\"q-tabs-align-\" + (_vm.align))] = true, obj[(\"bg-\" + (_vm.color))] = !_vm.inverted && _vm.color, obj )},[_c('div',{ref:\"scroller\",staticClass:\"q-tabs-scroller row no-wrap\"},[_vm._t(\"title\"),_vm._v(\" \"),(_vm.$q.theme !== 'ios')?_c('div',{staticClass:\"relative-position self-stretch q-tabs-global-bar-container\",class:[_vm.inverted && _vm.color ? (\"text-\" + (_vm.color)) : '', _vm.data.highlight ? 'highlight' : '']},[_c('div',{ref:\"posbar\",staticClass:\"q-tabs-bar q-tabs-global-bar\",on:{\"transitionend\":_vm.__updatePosbarTransition}})]):_vm._e()],2),_vm._v(\" \"),_c('div',{ref:\"leftScroll\",staticClass:\"row flex-center q-tabs-left-scroll\",on:{\"mousedown\":function($event){_vm.__animScrollTo(0);},\"touchstart\":function($event){_vm.__animScrollTo(0);},\"mouseup\":_vm.__stopAnimScroll,\"touchend\":_vm.__stopAnimScroll}},[_c('q-icon',{attrs:{\"name\":\"chevron_left\"}})],1),_vm._v(\" \"),_c('div',{ref:\"rightScroll\",staticClass:\"row flex-center q-tabs-right-scroll\",on:{\"mousedown\":function($event){_vm.__animScrollTo(9999);},\"touchstart\":function($event){_vm.__animScrollTo(9999);},\"mouseup\":_vm.__stopAnimScroll,\"touchend\":_vm.__stopAnimScroll}},[_c('q-icon',{attrs:{\"name\":\"chevron_right\"}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"q-tabs-panes\"},[_vm._t(\"default\")],2)])\nvar obj;},staticRenderFns: [],\n name: 'q-tabs',\n components: {\n QIcon: QIcon\n },\n props: {\n value: String,\n align: {\n type: String,\n default: current === 'ios' ? 'center' : 'left',\n validator: function (v) { return ['left', 'center', 'right', 'justify'].includes(v); }\n },\n position: {\n type: String,\n default: 'top',\n validator: function (v) { return ['top', 'bottom'].includes(v); }\n },\n color: String,\n inverted: Boolean,\n twoLines: Boolean,\n noPaneBorder: Boolean,\n glossy: Boolean\n },\n data: function data () {\n return {\n currentEl: null,\n posbar: {\n width: 0,\n left: 0\n },\n data: {\n highlight: true,\n tabName: this.value || '',\n color: this.color,\n inverted: this.inverted\n }\n }\n },\n watch: {\n value: function value (name) {\n this.selectTab(name);\n },\n color: function color (v) {\n this.data.color = v;\n },\n inverted: function inverted (v) {\n this.data.inverted = v;\n }\n },\n provide: function provide () {\n return {\n data: this.data,\n selectTab: this.selectTab\n }\n },\n methods: {\n selectTab: function selectTab (name) {\n if (this.data.tabName === name) {\n return\n }\n\n this.data.tabName = name;\n this.$emit('select', name);\n\n if (this.value !== name) {\n this.$emit('input', name);\n }\n\n var el = this.__getTabElByName(name);\n\n if (el) {\n this.__scrollToTab(el);\n }\n\n if (this.$q.theme !== 'ios') {\n this.currentEl = el;\n this.__repositionBar();\n }\n },\n __repositionBar: function __repositionBar () {\n var this$1 = this;\n\n clearTimeout(this.timer);\n\n var needsUpdate = false;\n var\n ref = this.$refs.posbar,\n el = this.currentEl;\n\n if (this.data.highlight !== false) {\n this.data.highlight = false;\n needsUpdate = true;\n }\n\n if (!el) {\n this.finalPosbar = {width: 0, left: 0};\n this.__setPositionBar(0, 0);\n return\n }\n\n var offsetReference = ref.parentNode.offsetLeft;\n\n if (needsUpdate && this.oldEl) {\n this.__setPositionBar(\n this.oldEl.getBoundingClientRect().width,\n this.oldEl.offsetLeft - offsetReference\n );\n }\n\n this.timer = setTimeout(function () {\n var\n width$$1 = el.getBoundingClientRect().width,\n left = el.offsetLeft - offsetReference;\n\n ref.classList.remove('contract');\n this$1.oldEl = el;\n this$1.finalPosbar = {width: width$$1, left: left};\n this$1.__setPositionBar(\n this$1.posbar.left < left\n ? left + width$$1 - this$1.posbar.left\n : this$1.posbar.left + this$1.posbar.width - left,\n this$1.posbar.left < left\n ? this$1.posbar.left\n : left\n );\n }, 20);\n },\n __setPositionBar: function __setPositionBar (width$$1, left) {\n if ( width$$1 === void 0 ) width$$1 = 0;\n if ( left === void 0 ) left = 0;\n\n if (this.posbar.width === width$$1 && this.posbar.left === left) {\n this.__updatePosbarTransition();\n return\n }\n this.posbar = {width: width$$1, left: left};\n css(this.$refs.posbar, cssTransform((\"translateX(\" + left + \"px) scaleX(\" + width$$1 + \")\")));\n },\n __updatePosbarTransition: function __updatePosbarTransition () {\n if (\n this.finalPosbar.width === this.posbar.width &&\n this.finalPosbar.left === this.posbar.left\n ) {\n this.posbar = {};\n if (this.data.highlight !== true) {\n this.data.highlight = true;\n }\n return\n }\n\n this.$refs.posbar.classList.add('contract');\n this.__setPositionBar(this.finalPosbar.width, this.finalPosbar.left);\n },\n __redraw: function __redraw () {\n if (!this.$q.platform.is.desktop) {\n return\n }\n if (width(this.$refs.scroller) === 0 && this.$refs.scroller.scrollWidth === 0) {\n return\n }\n if (width(this.$refs.scroller) + 5 < this.$refs.scroller.scrollWidth) {\n this.$refs.tabs.classList.add('scrollable');\n this.scrollable = true;\n this.__updateScrollIndicator();\n }\n else {\n this.$refs.tabs.classList.remove('scrollable');\n this.scrollable = false;\n }\n },\n __updateScrollIndicator: function __updateScrollIndicator () {\n if (!this.$q.platform.is.desktop || !this.scrollable) {\n return\n }\n var action = this.$refs.scroller.scrollLeft + width(this.$refs.scroller) + 5 >= this.$refs.scroller.scrollWidth ? 'add' : 'remove';\n this.$refs.leftScroll.classList[this.$refs.scroller.scrollLeft <= 0 ? 'add' : 'remove']('disabled');\n this.$refs.rightScroll.classList[action]('disabled');\n },\n __getTabElByName: function __getTabElByName (value) {\n var tab = this.$children.find(function (child) { return child.name === value && child.$el && child.$el.nodeType === 1; });\n if (tab) {\n return tab.$el\n }\n },\n __findTabAndScroll: function __findTabAndScroll (name, noAnimation) {\n var this$1 = this;\n\n setTimeout(function () {\n this$1.__scrollToTab(this$1.__getTabElByName(name), noAnimation);\n }, debounceDelay * 4);\n },\n __scrollToTab: function __scrollToTab (tab, noAnimation) {\n if (!tab || !this.scrollable) {\n return\n }\n\n var\n contentRect = this.$refs.scroller.getBoundingClientRect(),\n rect = tab.getBoundingClientRect(),\n tabWidth = rect.width,\n offset$$1 = rect.left - contentRect.left;\n\n if (offset$$1 < 0) {\n if (noAnimation) {\n this.$refs.scroller.scrollLeft += offset$$1;\n }\n else {\n this.__animScrollTo(this.$refs.scroller.scrollLeft + offset$$1);\n }\n return\n }\n\n offset$$1 += tabWidth - this.$refs.scroller.offsetWidth;\n if (offset$$1 > 0) {\n if (noAnimation) {\n this.$refs.scroller.scrollLeft += offset$$1;\n }\n else {\n this.__animScrollTo(this.$refs.scroller.scrollLeft + offset$$1);\n }\n }\n },\n __animScrollTo: function __animScrollTo (value) {\n var this$1 = this;\n\n this.__stopAnimScroll();\n this.__scrollTowards(value);\n\n this.scrollTimer = setInterval(function () {\n if (this$1.__scrollTowards(value)) {\n this$1.__stopAnimScroll();\n }\n }, 5);\n },\n __stopAnimScroll: function __stopAnimScroll () {\n clearInterval(this.scrollTimer);\n },\n __scrollTowards: function __scrollTowards (value) {\n var\n scrollPosition = this.$refs.scroller.scrollLeft,\n direction = value < scrollPosition ? -1 : 1,\n done = false;\n\n scrollPosition += direction * scrollNavigationSpeed;\n if (scrollPosition < 0) {\n done = true;\n scrollPosition = 0;\n }\n else if (\n (direction === -1 && scrollPosition <= value) ||\n (direction === 1 && scrollPosition >= value)\n ) {\n done = true;\n scrollPosition = value;\n }\n\n this.$refs.scroller.scrollLeft = scrollPosition;\n return done\n }\n },\n created: function created () {\n this.scrollTimer = null;\n this.scrollable = !this.$q.platform.is.desktop;\n\n // debounce some costly methods;\n // debouncing here because debounce needs to be per instance\n this.__redraw = debounce(this.__redraw, debounceDelay);\n this.__updateScrollIndicator = debounce(this.__updateScrollIndicator, debounceDelay);\n },\n mounted: function mounted () {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.$refs.scroller.addEventListener('scroll', this$1.__updateScrollIndicator);\n window.addEventListener('resize', this$1.__redraw);\n\n if (this$1.data.tabName !== '' && this$1.value) {\n this$1.selectTab(this$1.value);\n }\n\n // let browser drawing stabilize then\n setTimeout(function () {\n this$1.__redraw();\n this$1.__findTabAndScroll(this$1.data.tabName, true);\n }, debounceDelay);\n });\n },\n beforeDestroy: function beforeDestroy () {\n clearTimeout(this.timer);\n this.__stopAnimScroll();\n this.$refs.scroller.removeEventListener('scroll', this.__updateScrollIndicator);\n window.removeEventListener('resize', this.__redraw);\n }\n};\n\nvar QToolbar = {\n name: 'q-toolbar',\n functional: true,\n props: {\n color: String,\n inverted: Boolean,\n glossy: Boolean\n },\n render: function render (h, ctx) {\n var\n cls = ctx.data.staticClass,\n prop = ctx.props;\n\n var classes = \"q-toolbar-\" + (prop.inverted ? 'inverted' : 'normal');\n if (prop.color) {\n classes += \" \" + (prop.inverted ? 'text' : 'bg') + \"-\" + (prop.color);\n }\n if (prop.glossy) {\n classes += \" glossy\";\n }\n\n ctx.data.staticClass = \"q-toolbar row no-wrap items-center relative-position \" + classes + (cls ? (\" \" + cls) : '');\n\n return h(\n 'div',\n ctx.data,\n ctx.children\n )\n }\n};\n\nvar QToolbarTitle = {\n name: 'q-toolbar-title',\n functional: true,\n render: function render (h, ctx) {\n var\n data = ctx.data,\n cls = data.staticClass,\n slots = ctx.slots(),\n children = [slots.default];\n\n if (slots.subtitle) {\n children.push(h('div', { staticClass: 'q-toolbar-subtitle' }, slots.subtitle));\n }\n data.staticClass = \"q-toolbar-title\" + (cls ? (\" \" + cls) : '');\n\n return h('div', data, children)\n }\n};\n\nvar QTreeItem = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"q-tree-item\"},[_c('div',{staticClass:\"row inline items-center\",class:{'q-tree-link': _vm.model.handler || _vm.isExpandable}},[_c('div',{directives:[{name:\"ripple\",rawName:\"v-ripple.mat\",modifiers:{\"mat\":true}}],staticClass:\"q-tree-label relative-position row items-center\",on:{\"click\":_vm.tap}},[(_vm.model.icon)?_c('q-icon',{staticClass:\"on-left\",attrs:{\"name\":_vm.model.icon}}):_vm._e(),_vm._v(\" \"),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.model.title)}})],1),_vm._v(\" \"),(_vm.isExpandable)?_c('span',{staticClass:\"on-right\",domProps:{\"innerHTML\":_vm._s(_vm.model.expanded ? _vm.contractHtml : _vm.expandHtml)},on:{\"click\":_vm.toggle}}):_vm._e()]),_vm._v(\" \"),_c('q-slide-transition',[_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isExpandable && _vm.model.expanded),expression:\"isExpandable && model.expanded\"}]},_vm._l((_vm.model.children),function(item){return _c('q-tree-item',{key:item.id || item.title,attrs:{\"model\":item,\"contract-html\":_vm.contractHtml,\"expand-html\":_vm.expandHtml}})}))])],1)},staticRenderFns: [],\n name: 'q-tree-item',\n components: {\n QIcon: QIcon,\n QSlideTransition: QSlideTransition\n },\n directives: {\n Ripple: Ripple\n },\n props: ['model', 'contractHtml', 'expandHtml'],\n methods: {\n tap: function tap () {\n if (typeof this.model.handler === 'function') {\n this.model.handler(this.model);\n }\n this.toggle();\n },\n toggle: function toggle () {\n if (this.isExpandable) {\n this.model.expanded = !this.model.expanded;\n }\n }\n },\n computed: {\n isExpandable: function isExpandable () {\n return this.model.children && this.model.children.length\n }\n }\n};\n\nvar QTree = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-tree\"},[_c('ul',_vm._l((_vm.model),function(item){return _c('q-tree-item',{key:item.id || item.title,attrs:{\"model\":item,\"contract-html\":_vm.contractHtml,\"expand-html\":_vm.expandHtml}})}))])},staticRenderFns: [],\n name: 'q-tree',\n components: {\n QTreeItem: QTreeItem\n },\n props: {\n model: {\n type: Array,\n required: true\n },\n contractHtml: {\n type: String,\n required: true,\n default: 'remove_circle'\n },\n expandHtml: {\n type: String,\n required: true,\n default: 'add_circle'\n }\n }\n};\n\nfunction initFile (file) {\n file.__doneUploading = false;\n file.__failed = false;\n file.__uploaded = 0;\n file.__progress = 0;\n}\n\nvar QUploader = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-uploader\"},[_c('q-input-frame',{ref:\"input\",staticClass:\"no-margin\",attrs:{\"prefix\":_vm.prefix,\"suffix\":_vm.suffix,\"stack-label\":_vm.stackLabel,\"float-label\":_vm.floatLabel,\"error\":_vm.error,\"disable\":_vm.disable,\"inverted\":\"\",\"before\":_vm.before,\"after\":_vm.after,\"color\":_vm.color,\"align\":_vm.align,\"length\":_vm.length,\"additional-length\":\"\"}},[_c('div',{staticClass:\"col row items-center q-input-target\",domProps:{\"innerHTML\":_vm._s(_vm.label)}}),_vm._v(\" \"),(_vm.uploading)?_c('q-spinner',{staticClass:\"q-if-control\",attrs:{\"slot\":\"after\",\"size\":\"24px\"},slot:\"after\"}):_vm._e(),_vm._v(\" \"),(_vm.uploading)?_c('q-icon',{staticClass:\"q-if-control\",attrs:{\"slot\":\"after\",\"name\":\"clear\"},on:{\"click\":_vm.abort},slot:\"after\"}):_vm._e(),_vm._v(\" \"),(!_vm.uploading)?_c('q-icon',{staticClass:\"q-uploader-pick-button q-if-control relative-position overflow-hidden\",attrs:{\"slot\":\"after\",\"name\":\"add\",\"disabled\":_vm.addDisabled},on:{\"click\":_vm.__pick},slot:\"after\"},[_c('input',_vm._b({ref:\"file\",staticClass:\"q-uploader-input absolute-full cursor-pointer\",attrs:{\"type\":\"file\",\"accept\":_vm.extensions},on:{\"change\":_vm.__add}},'input',{multiple: _vm.multiple},true))]):_vm._e(),_vm._v(\" \"),(!_vm.hideUploadButton && !_vm.uploading)?_c('q-icon',{staticClass:\"q-if-control\",attrs:{\"slot\":\"after\",\"name\":\"cloud_upload\",\"disabled\":_vm.length === 0},on:{\"click\":_vm.upload},slot:\"after\"}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"q-uploader-files scroll\"},_vm._l((_vm.files),function(file){return _c('q-item',{key:file.name,staticClass:\"q-uploader-file\"},[(!_vm.hideUploadProgress)?_c('q-progress',{staticClass:\"q-uploader-progress-bg absolute-full\",attrs:{\"color\":file.__failed ? 'negative' : 'grey',\"percentage\":file.__progress}}):_vm._e(),_vm._v(\" \"),(!_vm.hideUploadProgress)?_c('div',{staticClass:\"q-uploader-progress-text absolute\"},[_vm._v(\" \"+_vm._s(file.__progress)+\"% \")]):_vm._e(),_vm._v(\" \"),(file.__img)?_c('q-item-side',{attrs:{\"image\":file.__img.src}}):_c('q-item-side',{attrs:{\"icon\":\"insert_drive_file\",\"color\":_vm.color}}),_vm._v(\" \"),_c('q-item-main',{attrs:{\"label\":file.name,\"sublabel\":file.__size}}),_vm._v(\" \"),_c('q-item-side',{attrs:{\"right\":\"\"}},[_c('q-item-tile',{staticClass:\"cursor-pointer\",attrs:{\"icon\":file.__doneUploading ? 'done' : 'clear',\"color\":_vm.color},on:{\"click\":function($event){_vm.__remove(file);}}})],1)],1)}))],1)},staticRenderFns: [],\n name: 'q-uploader',\n mixins: [FrameMixin],\n components: {\n QInputFrame: QInputFrame,\n QSpinner: QSpinner,\n QIcon: QIcon,\n QProgress: QProgress,\n QItem: QItem,\n QItemSide: QItemSide,\n QItemMain: QItemMain,\n QItemTile: QItemTile\n },\n props: {\n name: {\n type: String,\n default: 'file'\n },\n headers: Object,\n url: {\n type: String,\n required: true\n },\n urlFactory: {\n type: Function,\n required: false\n },\n additionalFields: {\n type: Array,\n default: function () { return []; }\n },\n method: {\n type: String,\n default: 'POST'\n },\n extensions: String,\n multiple: Boolean,\n hideUploadButton: Boolean,\n hideUploadProgress: Boolean,\n noThumbnails: Boolean,\n\n color: {\n type: String,\n default: 'primary'\n }\n },\n data: function data () {\n return {\n queue: [],\n files: [],\n uploading: false,\n uploadedSize: 0,\n totalSize: 0,\n xhrs: [],\n focused: false\n }\n },\n computed: {\n length: function length () {\n return this.queue.length\n },\n label: function label () {\n var total = humanStorageSize(this.totalSize);\n return this.uploading\n ? (((this.progress).toFixed(2)) + \"% (\" + (humanStorageSize(this.uploadedSize)) + \" / \" + total + \")\")\n : ((this.length) + \" (\" + total + \")\")\n },\n progress: function progress () {\n return this.totalSize ? Math.min(99.99, this.uploadedSize / this.totalSize * 100) : 0\n },\n addDisabled: function addDisabled () {\n return !this.multiple && this.length >= 1\n }\n },\n methods: {\n __add: function __add (e) {\n var this$1 = this;\n\n if (this.addDisabled) {\n return\n }\n\n var files = Array.prototype.slice.call(e.target.files);\n this.$refs.file.value = '';\n\n files = files.filter(function (file) { return !this$1.queue.some(function (f) { return file.name === f.name; }); })\n .map(function (file) {\n initFile(file);\n file.__size = humanStorageSize(file.size);\n\n if (this$1.noThumbnails || !file.type.startsWith('image')) {\n this$1.queue.push(file);\n }\n else {\n var reader = new FileReader();\n reader.onload = function (e) {\n var img = new Image();\n img.src = e.target.result;\n file.__img = img;\n this$1.queue.push(file);\n this$1.__computeTotalSize();\n };\n reader.readAsDataURL(file);\n }\n\n return file\n });\n\n this.files = this.files.concat(files);\n this.$emit('add', files);\n this.__computeTotalSize();\n },\n __computeTotalSize: function __computeTotalSize () {\n this.totalSize = this.length\n ? this.queue.map(function (f) { return f.size; }).reduce(function (total, size) { return total + size; })\n : 0;\n },\n __remove: function __remove (file) {\n var\n name = file.name,\n done = file.__doneUploading;\n\n if (this.uploading && !done) {\n this.$emit('remove:abort', file, file.xhr);\n file.xhr.abort();\n this.uploadedSize -= file.__uploaded;\n }\n else {\n this.$emit((\"remove:\" + (done ? 'done' : 'cancel')), file, file.xhr);\n }\n\n if (!done) {\n this.queue = this.queue.filter(function (obj) { return obj.name !== name; });\n }\n\n file.__removed = true;\n this.files = this.files.filter(function (obj) { return obj.name !== name; });\n this.__computeTotalSize();\n },\n __removeUploaded: function __removeUploaded () {\n this.files = this.files.filter(function (f) { return !f.__doneUploading; });\n this.__computeTotalSize();\n },\n __pick: function __pick () {\n if (!this.addDisabled && this.$q.platform.is.mozilla) {\n this.$refs.file.click();\n }\n },\n __getUploadPromise: function __getUploadPromise (file) {\n var this$1 = this;\n\n var\n form = new FormData(),\n xhr = new XMLHttpRequest();\n\n try {\n this.additionalFields.forEach(function (field) {\n form.append(field.name, field.value);\n });\n form.append('Content-Type', file.type || 'application/octet-stream');\n form.append(this.name, file);\n }\n catch (e) {\n return\n }\n\n initFile(file);\n file.xhr = xhr;\n return new Promise(function (resolve, reject) {\n xhr.upload.addEventListener('progress', function (e) {\n if (file.__removed) { return }\n e.percent = e.total ? e.loaded / e.total : 0;\n var uploaded = e.percent * file.size;\n this$1.uploadedSize += uploaded - file.__uploaded;\n file.__uploaded = uploaded;\n file.__progress = Math.min(99, parseInt(e.percent * 100, 10));\n }, false);\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState < 4) {\n return\n }\n if (xhr.status && xhr.status < 400) {\n file.__doneUploading = true;\n file.__progress = 100;\n this$1.$emit('uploaded', file, xhr);\n resolve(file);\n }\n else {\n file.__failed = true;\n this$1.$emit('fail', file, xhr);\n reject(xhr);\n }\n };\n\n xhr.onerror = function () {\n file.__failed = true;\n this$1.$emit('fail', file, xhr);\n reject(xhr);\n };\n\n var resolver = this$1.urlFactory\n ? this$1.urlFactory(file)\n : Promise.resolve(this$1.url);\n\n resolver.then(function (url) {\n xhr.open(this$1.method, url, true);\n if (this$1.headers) {\n Object.keys(this$1.headers).forEach(function (key) {\n xhr.setRequestHeader(key, this$1.headers[key]);\n });\n }\n\n this$1.xhrs.push(xhr);\n xhr.send(form);\n });\n })\n },\n upload: function upload () {\n var this$1 = this;\n\n var length = this.length;\n if (length === 0) {\n return\n }\n\n var filesDone = 0;\n this.uploadedSize = 0;\n this.uploading = true;\n this.xhrs = [];\n this.$emit('start');\n\n var solved = function () {\n filesDone++;\n if (filesDone === length) {\n this$1.uploading = false;\n this$1.xhrs = [];\n this$1.queue = this$1.queue.filter(function (f) { return !f.__doneUploading; });\n this$1.__computeTotalSize();\n this$1.$emit('finish');\n }\n };\n\n this.queue.map(function (file) { return this$1.__getUploadPromise(file); })\n .forEach(function (promise) {\n promise.then(solved).catch(solved);\n });\n },\n abort: function abort () {\n this.xhrs.forEach(function (xhr) { xhr.abort(); });\n },\n reset: function reset () {\n this.abort();\n this.files = [];\n this.queue = [];\n this.__computeTotalSize();\n this.$emit('reset');\n }\n }\n};\n\nvar QVideo = {\n name: 'q-video',\n functional: true,\n props: {\n src: {\n type: String,\n required: true\n }\n },\n render: function render (h, ctx) {\n var\n data = ctx.data,\n prop = ctx.props,\n cls = data.staticClass,\n iframeData = {\n attrs: {\n src: prop.src,\n frameborder: '0',\n allowfullscreen: true\n }\n };\n\n data.staticClass = \"q-video\" + (cls ? (\" \" + cls) : '');\n\n return h('div', data, [ h('iframe', iframeData) ])\n }\n};\n\nfunction updateBinding (el, ref) {\n var value = ref.value;\n var ctx = el.__qbacktotop;\n\n if (!value) {\n ctx.update();\n return\n }\n\n if (typeof value === 'number') {\n ctx.offset = value;\n ctx.update();\n return\n }\n\n if (value && Object(value) !== value) {\n console.error('v-back-to-top requires an object {offset, duration} as parameter', el);\n return\n }\n\n if (value.offset) {\n if (typeof value.offset !== 'number') {\n console.error('v-back-to-top requires a number as offset', el);\n return\n }\n ctx.offset = value.offset;\n }\n if (value.duration) {\n if (typeof value.duration !== 'number') {\n console.error('v-back-to-top requires a number as duration', el);\n return\n }\n ctx.duration = value.duration;\n }\n\n ctx.update();\n}\n\nvar backToTop = {\n name: 'back-to-top',\n bind: function bind (el) {\n var ctx = {\n offset: 200,\n duration: 300,\n update: debounce(function () {\n var trigger = getScrollPosition(ctx.scrollTarget) > ctx.offset;\n if (ctx.visible !== trigger) {\n ctx.visible = trigger;\n el.classList[trigger ? 'remove' : 'add']('hidden');\n }\n }, 25),\n goToTop: function goToTop () {\n setScrollPosition(ctx.scrollTarget, 0, ctx.animate ? ctx.duration : 0);\n }\n };\n el.classList.add('hidden');\n el.__qbacktotop = ctx;\n },\n inserted: function inserted (el, binding) {\n var ctx = el.__qbacktotop;\n ctx.scrollTarget = getScrollTarget(el);\n ctx.animate = binding.modifiers.animate;\n updateBinding(el, binding);\n ctx.scrollTarget.addEventListener('scroll', ctx.update);\n window.addEventListener('resize', ctx.update);\n el.addEventListener('click', ctx.goToTop);\n },\n update: function update (el, binding) {\n if (binding.oldValue !== binding.value) {\n updateBinding(el, binding);\n }\n },\n unbind: function unbind (el) {\n var ctx = el.__qbacktotop;\n ctx.scrollTarget.removeEventListener('scroll', ctx.update);\n window.removeEventListener('resize', ctx.update);\n el.removeEventListener('click', ctx.goToTop);\n delete el.__qbacktotop;\n }\n};\n\nvar goBack = {\n name: 'go-back',\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n var modifiers = ref.modifiers;\n\n var ctx = { value: value, position: window.history.length - 1, single: modifiers.single };\n\n if (Platform.is.cordova) {\n ctx.goBack = function () {\n vnode.context.$router.go(ctx.single ? -1 : ctx.position - window.history.length);\n };\n }\n else {\n ctx.goBack = function () {\n vnode.context.$router.replace(ctx.value);\n };\n }\n\n el.__qgoback = ctx;\n el.addEventListener('click', ctx.goBack);\n },\n update: function update (el, binding) {\n if (binding.oldValue !== binding.value) {\n el.__qgoback.value = binding.value;\n }\n },\n unbind: function unbind (el) {\n el.removeEventListener('click', el.__qgoback.goBack);\n delete el.__qgoback;\n }\n};\n\nfunction updateBinding$1 (el, selector) {\n var\n ctx = el.__qmove,\n parent = el.parentNode;\n\n if (!ctx.target) {\n ctx.target = document.querySelector(selector);\n }\n if (ctx.target) {\n if (parent !== ctx.target) {\n ctx.target.appendChild(el);\n }\n }\n else if (parent) {\n parent.removeChild(el);\n }\n}\n\nvar move = {\n name: 'move',\n bind: function bind (el, ref) {\n el.__qmove = {};\n },\n update: function update (el, ref) {\n var oldValue = ref.oldValue;\n var value = ref.value;\n\n if (oldValue !== value) {\n el.__qmove.target = document.querySelector(value);\n updateBinding$1(el, value);\n }\n },\n inserted: function inserted (el, ref) {\n var value = ref.value;\n\n updateBinding$1(el, value);\n },\n unbind: function unbind (el) {\n var parent = el.parentNode;\n if (parent) {\n parent.removeChild(el);\n }\n delete el.__qmove;\n }\n};\n\nfunction updateBinding$2 (el, binding) {\n var ctx = el.__qscrollfire;\n\n if (typeof binding.value !== 'function') {\n ctx.scrollTarget.removeEventListener('scroll', ctx.scroll);\n console.error('v-scroll-fire requires a function as parameter', el);\n return\n }\n\n ctx.handler = binding.value;\n if (typeof binding.oldValue !== 'function') {\n ctx.scrollTarget.addEventListener('scroll', ctx.scroll);\n ctx.scroll();\n }\n}\n\nvar scrollFire = {\n name: 'scroll-fire',\n bind: function bind (el, binding) {\n var ctx = {\n scroll: debounce(function () {\n var containerBottom, elementBottom, fire;\n\n if (ctx.scrollTarget === window) {\n elementBottom = el.getBoundingClientRect().bottom;\n fire = elementBottom < viewport().height;\n }\n else {\n containerBottom = offset(ctx.scrollTarget).top + height(ctx.scrollTarget);\n elementBottom = offset(el).top + height(el);\n fire = elementBottom < containerBottom;\n }\n\n if (fire) {\n ctx.scrollTarget.removeEventListener('scroll', ctx.scroll);\n ctx.handler(el);\n }\n }, 25)\n };\n\n el.__qscrollfire = ctx;\n },\n inserted: function inserted (el, binding) {\n var ctx = el.__qscrollfire;\n ctx.scrollTarget = getScrollTarget(el);\n updateBinding$2(el, binding);\n },\n update: function update (el, binding) {\n if (binding.value !== binding.oldValue) {\n updateBinding$2(el, binding);\n }\n },\n unbind: function unbind (el) {\n var ctx = el.__qscrollfire;\n ctx.scrollTarget.removeEventListener('scroll', ctx.scroll);\n delete el.__qscrollfire;\n }\n};\n\nfunction updateBinding$3 (el, binding) {\n var ctx = el.__qscroll;\n\n if (typeof binding.value !== 'function') {\n ctx.scrollTarget.removeEventListener('scroll', ctx.scroll);\n console.error('v-scroll requires a function as parameter', el);\n return\n }\n\n ctx.handler = binding.value;\n if (typeof binding.oldValue !== 'function') {\n ctx.scrollTarget.addEventListener('scroll', ctx.scroll);\n }\n}\n\nvar scroll$1 = {\n name: 'scroll',\n bind: function bind (el, binding) {\n var ctx = {\n scroll: function scroll () {\n ctx.handler(getScrollPosition(ctx.scrollTarget));\n }\n };\n el.__qscroll = ctx;\n },\n inserted: function inserted (el, binding) {\n var ctx = el.__qscroll;\n ctx.scrollTarget = getScrollTarget(el);\n updateBinding$3(el, binding);\n },\n update: function update (el, binding) {\n if (binding.oldValue !== binding.value) {\n updateBinding$3(el, binding);\n }\n },\n unbind: function unbind (el) {\n var ctx = el.__qscroll;\n ctx.scrollTarget.removeEventListener('scroll', ctx.scroll);\n delete el.__qscroll;\n }\n};\n\nfunction updateBinding$4 (el, binding) {\n var ctx = el.__qtouchhold;\n\n ctx.duration = parseInt(binding.arg, 10) || 800;\n\n if (binding.oldValue !== binding.value) {\n ctx.handler = binding.value;\n }\n}\n\nvar touchHold = {\n name: 'touch-hold',\n bind: function bind (el, binding) {\n var mouse = !binding.modifiers.nomouse;\n\n var ctx = {\n start: function start (evt) {\n var startTime = new Date().getTime();\n ctx.timer = setTimeout(function () {\n if (mouse) {\n document.removeEventListener('mousemove', ctx.mouseAbort);\n document.removeEventListener('mouseup', ctx.mouseAbort);\n }\n\n ctx.handler({\n evt: evt,\n position: position(evt),\n duration: new Date().getTime() - startTime\n });\n }, ctx.duration);\n },\n mouseStart: function mouseStart (evt) {\n if (mouse) {\n document.addEventListener('mousemove', ctx.mouseAbort);\n document.addEventListener('mouseup', ctx.mouseAbort);\n }\n ctx.start(evt);\n },\n abort: function abort (evt) {\n clearTimeout(ctx.timer);\n ctx.timer = null;\n },\n mouseAbort: function mouseAbort (evt) {\n if (mouse) {\n document.removeEventListener('mousemove', ctx.mouseAbort);\n document.removeEventListener('mouseup', ctx.mouseAbort);\n }\n ctx.abort(evt);\n }\n };\n\n el.__qtouchhold = ctx;\n updateBinding$4(el, binding);\n el.addEventListener('touchstart', ctx.start);\n el.addEventListener('touchend', ctx.abort);\n if (mouse) {\n el.addEventListener('touchmove', ctx.abort);\n el.addEventListener('mousedown', ctx.mouseStart);\n }\n },\n update: function update (el, binding) {\n updateBinding$4(el, binding);\n },\n unbind: function unbind (el, binding) {\n var ctx = el.__qtouchhold;\n el.removeEventListener('touchstart', ctx.start);\n el.removeEventListener('touchend', ctx.abort);\n el.removeEventListener('touchmove', ctx.abort);\n el.removeEventListener('mousedown', ctx.mouseStart);\n document.removeEventListener('mousemove', ctx.mouseAbort);\n document.removeEventListener('mouseup', ctx.mouseAbort);\n delete el.__qtouchhold;\n }\n};\n\nfunction addClass (className) {\n document.body.classList.add(className);\n}\n\nready(function () {\n addClass(Platform.is.desktop ? 'desktop' : 'mobile');\n addClass(Platform.has.touch ? 'touch' : 'no-touch');\n\n if (Platform.is.ios) {\n addClass('platform-ios');\n }\n else if (Platform.is.android) {\n addClass('platform-android');\n }\n\n if (Platform.within.iframe) {\n addClass('within-iframe');\n }\n\n if (Platform.is.cordova) {\n addClass('cordova');\n }\n\n if (Platform.is.electron) {\n addClass('electron');\n }\n});\n\n/* eslint-disable no-extend-native, one-var, no-self-compare */\n\nif (!Array.prototype.includes) {\n Array.prototype.includes = function (searchEl, startFrom) {\n 'use strict';\n\n var O = Object(this);\n var len = parseInt(O.length, 10) || 0;\n if (len === 0) {\n return false\n }\n var n = parseInt(startFrom, 10) || 0;\n var k;\n if (n >= 0) {\n k = n;\n }\n else {\n k = len + n;\n if (k < 0) { k = 0; }\n }\n var curEl;\n while (k < len) {\n curEl = O[k];\n if (searchEl === curEl ||\n (searchEl !== searchEl && curEl !== curEl)) { // NaN !== NaN\n return true\n }\n k++;\n }\n return false\n };\n}\n\nif (!String.prototype.startsWith) {\n String.prototype.startsWith = function (str, position) {\n position = position || 0;\n return this.substr(position, str.length) === str\n };\n}\n\nif (!String.prototype.endsWith) {\n String.prototype.endsWith = function (str, position) {\n var subjectString = this.toString();\n\n if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n position = subjectString.length;\n }\n position -= str.length;\n\n var lastIndex = subjectString.indexOf(str, position);\n\n return lastIndex !== -1 && lastIndex === position\n };\n}\n\nif (typeof Element.prototype.matches !== 'function') {\n Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.webkitMatchesSelector || function matches (selector) {\n var\n element = this,\n elements = (element.document || element.ownerDocument).querySelectorAll(selector),\n index = 0;\n\n while (elements[index] && elements[index] !== element) {\n ++index;\n }\n\n return Boolean(elements[index])\n };\n}\n\nif (typeof Element.prototype.closest !== 'function') {\n Element.prototype.closest = function closest (selector) {\n var el = this;\n while (el && el.nodeType === 1) {\n if (el.matches(selector)) {\n return el\n }\n el = el.parentNode;\n }\n return null\n };\n}\n\nif (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, 'find', {\n value: function value (predicate) {\n 'use strict';\n if (this == null) {\n throw new TypeError('Array.prototype.find called on null or undefined')\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function')\n }\n\n var value;\n var\n list = Object(this),\n length = list.length >>> 0,\n thisArg = arguments[1];\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value\n }\n }\n return undefined\n }\n });\n}\n\n/*\n * Capture errors\n */\nwindow.onerror = function (message, source, lineno, colno, error) {\n Events.$emit('app:error', {\n message: message,\n source: source,\n lineno: lineno,\n colno: colno,\n error: error\n });\n};\n\n/*\n * Credits go to sindresorhus\n */\n\nfunction rgbToHex (red, green, blue) {\n if (typeof red === 'string') {\n var res = red.match(/\\b\\d{1,3}\\b/g).map(Number);\n red = res[0];\n green = res[1];\n blue = res[2];\n }\n\n if (\n typeof red !== 'number' ||\n typeof green !== 'number' ||\n typeof blue !== 'number' ||\n red > 255 ||\n green > 255 ||\n blue > 255\n ) {\n throw new TypeError('Expected three numbers below 256')\n }\n\n return ((blue | green << 8 | red << 16) | 1 << 24).toString(16).slice(1)\n}\n\nfunction hexToRgb (hex) {\n if (typeof hex !== 'string') {\n throw new TypeError('Expected a string')\n }\n\n hex = hex.replace(/^#/, '');\n\n if (hex.length === 3) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n }\n\n var num = parseInt(hex, 16);\n\n return [num >> 16, num >> 8 & 255, num & 255]\n}\n\n\nvar colors = Object.freeze({\n\trgbToHex: rgbToHex,\n\thexToRgb: hexToRgb\n});\n\nfunction getPrimaryHex () {\n var tempDiv = document.createElement('div');\n tempDiv.style.height = '10px';\n tempDiv.style.position = 'absolute';\n tempDiv.style.top = '-100000px';\n tempDiv.className = 'bg-primary';\n document.body.appendChild(tempDiv);\n var primaryColor = window.getComputedStyle(tempDiv).getPropertyValue('background-color');\n document.body.removeChild(tempDiv);\n\n var rgb = primaryColor.match(/\\d+/g);\n return (\"#\" + (rgbToHex(parseInt(rgb[0]), parseInt(rgb[1]), parseInt(rgb[2]))))\n}\n\nfunction setColor (hexColor) {\n // http://stackoverflow.com/a/33193739\n var metaTag = document.createElement('meta');\n\n if (Platform.is.winphone) {\n metaTag.setAttribute('name', 'msapplication-navbutton-color');\n }\n else if (Platform.is.safari) {\n metaTag.setAttribute('name', 'apple-mobile-web-app-status-bar-style');\n }\n // Chrome, Firefox OS, Opera, Vivaldi\n else {\n metaTag.setAttribute('name', 'theme-color');\n }\n\n metaTag.setAttribute('content', hexColor);\n document.getElementsByTagName('head')[0].appendChild(metaTag);\n}\n\nvar addressbarColor = {\n set: function set (hexColor) {\n if (!Platform.is.mobile || Platform.is.cordova) {\n return\n }\n if (!Platform.is.winphone && !Platform.is.safari && !Platform.is.webkit && !Platform.is.vivaldi) {\n return\n }\n\n ready(function () {\n setColor(hexColor || getPrimaryHex());\n });\n }\n};\n\nfunction create (opts) {\n var node = document.createElement('div');\n document.body.appendChild(node);\n\n var state = extend(\n {position: 'top-right'},\n opts,\n {\n value: true,\n appear: true,\n dismissible: !opts.actions || !opts.actions.length\n }\n );\n\n var vm = new Vue({\n functional: true,\n render: function render (h, ctx) {\n var on = {};\n on[opts.leave === void 0 ? 'dismiss' : 'dismiss-end'] = function () {\n vm.$destroy();\n vm.$el.parentNode.removeChild(vm.$el);\n if (opts.onDismiss) {\n opts.onDismiss();\n }\n };\n\n return h(\n QAlert, {\n style: {\n padding: '18px'\n },\n on: on,\n props: state\n },\n [\n h('span', {\n domProps: {\n innerHTML: opts.html\n }\n })\n ]\n )\n }\n });\n\n vm.$mount(node);\n\n return {\n dismiss: function dismiss () {\n state.value = false;\n vm.$forceUpdate();\n }\n }\n}\n\nvar Alert = {\n create: create\n};\n\nfunction isActive () {\n return document.fullscreenElement ||\n document.mozFullScreenElement ||\n document.webkitFullscreenElement ||\n document.msFullscreenElement\n}\n\nfunction request (target) {\n target = target || document.documentElement;\n\n if (isActive()) {\n return\n }\n\n if (target.requestFullscreen) {\n target.requestFullscreen();\n }\n else if (target.msRequestFullscreen) {\n target.msRequestFullscreen();\n }\n else if (target.mozRequestFullScreen) {\n target.mozRequestFullScreen();\n }\n else if (target.webkitRequestFullscreen) {\n target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); // eslint-disable-line no-undef\n }\n}\n\nfunction exit () {\n if (document.exitFullscreen) {\n document.exitFullscreen();\n }\n else if (document.msExitFullscreen) {\n document.msExitFullscreen();\n }\n else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n }\n else if (document.webkitExitFullscreen) {\n document.webkitExitFullscreen();\n }\n}\n\nfunction toggle (target) {\n if (isActive()) {\n exit();\n }\n else {\n request(target);\n }\n}\n\nvar appFullscreen = {\n isActive: isActive,\n request: request,\n exit: exit,\n toggle: toggle\n};\n\nvar hidden = 'hidden';\nvar appVisibility = 'visible';\n\nfunction onchange (evt) {\n var\n v = 'visible',\n h = 'hidden',\n state,\n evtMap = {\n focus: v,\n focusin: v,\n pageshow: v,\n blur: h,\n focusout: h,\n pagehide: h\n };\n\n evt = evt || window.event;\n\n if (evt.type in evtMap) {\n state = evtMap[evt.type];\n }\n else {\n state = this[hidden] ? h : v;\n }\n\n appVisibility = state;\n Events.$emit('app:visibility', state);\n}\n\nready(function () {\n // Standards:\n if (hidden in document) {\n document.addEventListener('visibilitychange', onchange);\n }\n else if ((hidden = 'mozHidden') in document) {\n document.addEventListener('mozvisibilitychange', onchange);\n }\n else if ((hidden = 'webkitHidden') in document) {\n document.addEventListener('webkitvisibilitychange', onchange);\n }\n else if ((hidden = 'msHidden') in document) {\n document.addEventListener('msvisibilitychange', onchange);\n }\n // IE 9 and lower:\n else if ('onfocusin' in document) {\n document.onfocusin = document.onfocusout = onchange;\n }\n // All others:\n else {\n window.onpageshow = window.onpagehide = window.onfocus = window.onblur = onchange;\n }\n\n // set the initial state (but only if browser supports the Page Visibility API)\n if (document[hidden] !== undefined) {\n onchange({type: document[hidden] ? 'blur' : 'focus'});\n }\n});\n\nvar appVisibility$1 = {\n isVisible: function () { return appVisibility === 'visible'; }\n};\n\nfunction encode (string) {\n return encodeURIComponent(string)\n}\n\nfunction decode (string) {\n return decodeURIComponent(string)\n}\n\nfunction stringifyCookieValue (value) {\n return encode(value === Object(value) ? JSON.stringify(value) : '' + value)\n}\n\nfunction read (string) {\n if (string === '') {\n return string\n }\n\n if (string.indexOf('\"') === 0) {\n // This is a quoted cookie as according to RFC2068, unescape...\n string = string.slice(1, -1).replace(/\\\\\"/g, '\"').replace(/\\\\\\\\/g, '\\\\');\n }\n\n // Replace server-side written pluses with spaces.\n // If we can't decode the cookie, ignore it, it's unusable.\n // If we can't parse the cookie, ignore it, it's unusable.\n string = decode(string.replace(/\\+/g, ' '));\n\n try {\n string = JSON.parse(string);\n }\n catch (e) {}\n\n return string\n}\n\nfunction set$1 (key, val, opts) {\n if ( opts === void 0 ) opts = {};\n\n var time = opts.expires;\n\n if (typeof opts.expires === 'number') {\n time = new Date();\n time.setMilliseconds(time.getMilliseconds() + opts.expires * 864e+5);\n }\n\n document.cookie = [\n encode(key), '=', stringifyCookieValue(val),\n time ? '; expires=' + time.toUTCString() : '', // use expires attribute, max-age is not supported by IE\n opts.path ? '; path=' + opts.path : '',\n opts.domain ? '; domain=' + opts.domain : '',\n opts.secure ? '; secure' : ''\n ].join('');\n}\n\nfunction get (key) {\n var\n result = key ? undefined : {},\n cookies = document.cookie ? document.cookie.split('; ') : [],\n i = 0,\n l = cookies.length,\n parts,\n name,\n cookie;\n\n for (; i < l; i++) {\n parts = cookies[i].split('=');\n name = decode(parts.shift());\n cookie = parts.join('=');\n\n if (!key) {\n result[name] = cookie;\n }\n else if (key === name) {\n result = read(cookie);\n break\n }\n }\n\n return result\n}\n\nfunction remove (key, options) {\n set$1(key, '', extend(true, {}, options, {\n expires: -1\n }));\n}\n\nfunction has (key) {\n return get(key) !== undefined\n}\n\nvar cookies = {\n get: get,\n set: set$1,\n has: has,\n remove: remove,\n all: function () { return get(); }\n};\n\nfunction encode$1 (value) {\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return '__q_date|' + value.toUTCString()\n }\n if (Object.prototype.toString.call(value) === '[object RegExp]') {\n return '__q_expr|' + value.source\n }\n if (typeof value === 'number') {\n return '__q_numb|' + value\n }\n if (typeof value === 'boolean') {\n return '__q_bool|' + (value ? '1' : '0')\n }\n if (typeof value === 'string') {\n return '__q_strn|' + value\n }\n if (typeof value === 'function') {\n return '__q_strn|' + value.toString()\n }\n if (value === Object(value)) {\n return '__q_objt|' + JSON.stringify(value)\n }\n\n // hmm, we don't know what to do with it,\n // so just return it as is\n return value\n}\n\nfunction decode$1 (value) {\n var type, length, source;\n\n length = value.length;\n if (length < 10) {\n // then it wasn't encoded by us\n return value\n }\n\n type = value.substr(0, 8);\n source = value.substring(9);\n\n switch (type) {\n case '__q_date':\n return new Date(source)\n\n case '__q_expr':\n return new RegExp(source)\n\n case '__q_numb':\n return Number(source)\n\n case '__q_bool':\n return Boolean(source === '1')\n\n case '__q_strn':\n return '' + source\n\n case '__q_objt':\n return JSON.parse(source)\n\n default:\n // hmm, we reached here, we don't know the type,\n // then it means it wasn't encoded by us, so just\n // return whatever value it is\n return value\n }\n}\n\nfunction generateFunctions (fn) {\n return {\n local: fn('local'),\n session: fn('session')\n }\n}\n\nvar hasStorageItem = generateFunctions(\n function (type) { return function (key) { return window[type + 'Storage'].getItem(key) !== null; }; }\n );\nvar getStorageLength = generateFunctions(\n function (type) { return function () { return window[type + 'Storage'].length; }; }\n );\nvar getStorageItem = generateFunctions(function (type) {\n var\n hasFn = hasStorageItem[type],\n storage = window[type + 'Storage'];\n\n return function (key) {\n if (hasFn(key)) {\n return decode$1(storage.getItem(key))\n }\n return null\n }\n });\nvar getStorageAtIndex = generateFunctions(function (type) {\n var\n lengthFn = getStorageLength[type],\n getItemFn = getStorageItem[type],\n storage = window[type + 'Storage'];\n\n return function (index) {\n if (index < lengthFn()) {\n return getItemFn(storage.key(index))\n }\n }\n });\nvar getAllStorageItems = generateFunctions(function (type) {\n var\n lengthFn = getStorageLength[type],\n storage = window[type + 'Storage'],\n getItemFn = getStorageItem[type];\n\n return function () {\n var\n result = {},\n key,\n length = lengthFn();\n\n for (var i = 0; i < length; i++) {\n key = storage.key(i);\n result[key] = getItemFn(key);\n }\n\n return result\n }\n });\nvar setStorageItem = generateFunctions(function (type) {\n var storage = window[type + 'Storage'];\n return function (key, value) { storage.setItem(key, encode$1(value)); }\n });\nvar removeStorageItem = generateFunctions(function (type) {\n var storage = window[type + 'Storage'];\n return function (key) { storage.removeItem(key); }\n });\nvar clearStorage = generateFunctions(function (type) {\n var storage = window[type + 'Storage'];\n return function () { storage.clear(); }\n });\nvar storageIsEmpty = generateFunctions(function (type) {\n var getLengthFn = getStorageLength[type];\n return function () { return getLengthFn() === 0; }\n });\n\nvar LocalStorage = {\n has: hasStorageItem.local,\n get: {\n length: getStorageLength.local,\n item: getStorageItem.local,\n index: getStorageAtIndex.local,\n all: getAllStorageItems.local\n },\n set: setStorageItem.local,\n remove: removeStorageItem.local,\n clear: clearStorage.local,\n isEmpty: storageIsEmpty.local\n};\n\nvar SessionStorage = { // eslint-disable-line one-var\n has: hasStorageItem.session,\n get: {\n length: getStorageLength.session,\n item: getStorageItem.session,\n index: getStorageAtIndex.session,\n all: getAllStorageItems.session\n },\n set: setStorageItem.session,\n remove: removeStorageItem.session,\n clear: clearStorage.session,\n isEmpty: storageIsEmpty.session\n};\n\nvar ActionSheets = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-modal',{ref:\"dialog\",attrs:{\"position\":\"bottom\",\"content-css\":_vm.contentCss},on:{\"close\":function($event){_vm.__dismiss();}}},[(_vm.$q.theme === 'ios')?_c('div',[_c('div',{staticClass:\"q-action-sheet\"},[(_vm.title)?_c('div',{staticClass:\"modal-header\",domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"modal-scroll\"},[(_vm.gallery)?_c('div',{staticClass:\"q-action-sheet-gallery row wrap flex-center\"},_vm._l((_vm.actions),function(button,index){return _c('div',{directives:[{name:\"ripple\",rawName:\"v-ripple.mat\",modifiers:{\"mat\":true}}],key:index,staticClass:\"cursor-pointer relative-position column inline flex-center\",class:button.classes,attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){_vm.close(button.handler);},\"keydown\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key)){ return null; }_vm.close(button.handler);}}},[(button.icon)?_c('q-icon',{attrs:{\"name\":button.icon}}):_vm._e(),_vm._v(\" \"),(button.avatar)?_c('img',{staticClass:\"avatar\",attrs:{\"src\":button.avatar}}):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(button.label))])],1)})):_c('q-list',{staticClass:\"no-border\",attrs:{\"link\":\"\"}},_vm._l((_vm.actions),function(button,index){return _c('q-item',{directives:[{name:\"ripple\",rawName:\"v-ripple.mat\",modifiers:{\"mat\":true}}],key:index,attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){_vm.close(button.handler);},\"keydown\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key)){ return null; }_vm.close(button.handler);}}},[_c('q-item-side',{attrs:{\"icon\":button.icon,\"avatar\":button.avatar}}),_vm._v(\" \"),_c('q-item-main',{attrs:{\"inset\":\"\",\"label\":button.label}})],1)}))],1)]),_vm._v(\" \"),(_vm.dismiss)?_c('div',{staticClass:\"q-action-sheet\"},[_c('q-item',{directives:[{name:\"ripple\",rawName:\"v-ripple.mat\",modifiers:{\"mat\":true}}],attrs:{\"link\":\"\",\"tabindex\":\"0\"},on:{\"click\":function($event){_vm.close();},\"keydown\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key)){ return null; }_vm.close();}}},[_c('q-item-main',[_c('q-item-tile',{staticClass:\"text-center\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.dismiss.label)+\" \")])],1)],1)],1):_vm._e()]):_c('div',[(_vm.title)?_c('div',{staticClass:\"modal-header\",domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"modal-scroll\"},[(_vm.gallery)?_c('div',{staticClass:\"q-action-sheet-gallery row wrap flex-center\"},_vm._l((_vm.actions),function(button,index){return _c('div',{directives:[{name:\"ripple\",rawName:\"v-ripple.mat\",modifiers:{\"mat\":true}}],key:index,staticClass:\"cursor-pointer relative-position column inline flex-center\",class:button.classes,attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){_vm.close(button.handler);},\"keydown\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key)){ return null; }_vm.close(button.handler);}}},[(button.icon)?_c('q-icon',{attrs:{\"name\":button.icon}}):_vm._e(),_vm._v(\" \"),(button.avatar)?_c('img',{staticClass:\"avatar\",attrs:{\"src\":button.avatar}}):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(button.label))])],1)})):_c('q-list',{staticClass:\"no-border\",attrs:{\"link\":\"\"}},_vm._l((_vm.actions),function(button,index){return _c('q-item',{directives:[{name:\"ripple\",rawName:\"v-ripple.mat\",modifiers:{\"mat\":true}}],key:index,class:button.classes,attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){_vm.close(button.handler);},\"keydown\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key)){ return null; }_vm.close(button.handler);}}},[_c('q-item-side',{attrs:{\"icon\":button.icon,\"avatar\":button.avatar}}),_vm._v(\" \"),_c('q-item-main',{attrs:{\"inset\":\"\",\"label\":button.label}})],1)}))],1)])])},staticRenderFns: [],\n name: 'q-action-sheet',\n components: {\n QModal: QModal,\n QIcon: QIcon,\n QList: QList,\n QItem: QItem,\n QItemSide: QItemSide,\n QItemMain: QItemMain,\n QItemTile: QItemTile\n },\n directives: {\n Ripple: Ripple\n },\n props: {\n title: String,\n gallery: Boolean,\n actions: {\n type: Array,\n required: true\n },\n dismiss: Object\n },\n computed: {\n contentCss: function contentCss () {\n if (this.$q.theme === 'ios') {\n return {backgroundColor: 'transparent'}\n }\n }\n },\n methods: {\n close: function close (fn) {\n if (!this.$refs.dialog.active) {\n return\n }\n var hasFn = typeof fn === 'function';\n\n if (hasFn) {\n this.__runCancelHandler = false;\n }\n this.$refs.dialog.close(function () {\n if (hasFn) {\n fn();\n }\n });\n },\n __dismiss: function __dismiss () {\n this.$root.$destroy();\n if (this.__runCancelHandler && this.dismiss && typeof this.dismiss.handler === 'function') {\n this.dismiss.handler();\n }\n }\n },\n mounted: function mounted () {\n var this$1 = this;\n\n this.__runCancelHandler = true;\n this.$nextTick(function () {\n this$1.$refs.dialog.open();\n this$1.$root.quasarClose = this$1.close;\n });\n }\n};\n\nvar index = Modal(ActionSheets);\n\nvar vm;\nvar appIsInProgress = false;\nvar timeout;\nvar props = {};\n\nvar staticClass = 'q-loading animate-fade fullscreen column flex-center z-max';\n\nfunction isActive$1 () {\n return appIsInProgress\n}\n\nfunction show (ref) {\n if ( ref === void 0 ) ref = {};\n var delay = ref.delay; if ( delay === void 0 ) delay = 500;\n var message = ref.message; if ( message === void 0 ) message = false;\n var spinnerSize = ref.spinnerSize; if ( spinnerSize === void 0 ) spinnerSize = 80;\n var spinnerColor = ref.spinnerColor; if ( spinnerColor === void 0 ) spinnerColor = 'white';\n var messageColor = ref.messageColor; if ( messageColor === void 0 ) messageColor = 'white';\n var spinner = ref.spinner; if ( spinner === void 0 ) spinner = QSpinner;\n\n props.spinner = spinner;\n props.message = message;\n props.spinnerSize = spinnerSize;\n props.spinnerColor = spinnerColor;\n props.messageColor = messageColor;\n\n if (appIsInProgress) {\n vm && vm.$forceUpdate();\n return\n }\n\n timeout = setTimeout(function () {\n timeout = null;\n\n var node = document.createElement('div');\n document.body.appendChild(node);\n document.body.classList.add('with-loading');\n\n vm = new Vue({\n name: 'q-loading',\n el: node,\n functional: true,\n render: function render (h) {\n var child = [\n h(props.spinner, {props: {\n color: props.spinnerColor,\n size: props.spinnerSize\n }})\n ];\n\n if (message) {\n child.push(h('div', {\n staticClass: (\"text-\" + (props.messageColor)),\n domProps: {\n innerHTML: props.message\n }\n }));\n }\n\n return h('div', {staticClass: staticClass}, child)\n }\n });\n }, delay);\n\n appIsInProgress = true;\n Events.$emit('app:loading', true);\n}\n\nfunction hide () {\n if (!appIsInProgress) {\n return\n }\n\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n else {\n vm.$destroy();\n document.body.classList.remove('with-loading');\n document.body.removeChild(vm.$el);\n vm = null;\n }\n\n appIsInProgress = false;\n Events.$emit('app:loading', false);\n}\n\nvar index$1 = {\n isActive: isActive$1,\n show: show,\n hide: hide\n};\n\nvar transitionDuration = 300;\nvar displayDuration = 2500; // in ms\n\nfunction parseOptions$1 (opts, defaults) {\n if (!opts) {\n throw new Error('Missing toast options.')\n }\n\n var options = extend(\n true,\n {},\n defaults,\n typeof opts === 'string' ? {html: opts} : opts\n );\n\n if (!options.html) {\n throw new Error('Missing toast content/HTML.')\n }\n\n return options\n}\n\nvar Toast = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"q-toast-container\",class:{active: _vm.active}},[(_vm.stack[0])?_c('div',{staticClass:\"q-toast row no-wrap items-center non-selectable\",class:_vm.classes,style:({color: _vm.stack[0].color, background: _vm.stack[0].bgColor})},[(_vm.stack[0].icon)?_c('q-icon',{attrs:{\"name\":_vm.stack[0].icon}}):_vm._e(),_vm._v(\" \"),(_vm.stack[0].image)?_c('img',{attrs:{\"src\":_vm.stack[0].image}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"q-toast-message col\",domProps:{\"innerHTML\":_vm._s(_vm.stack[0].html)}}),_vm._v(\" \"),(_vm.stack[0].button && _vm.stack[0].button.label)?_c('a',{style:({color: _vm.stack[0].button.color}),on:{\"click\":function($event){_vm.dismiss(_vm.stack[0].button.handler);}}},[_vm._v(\" \"+_vm._s(_vm.stack[0].button.label)+\" \")]):_vm._e(),_vm._v(\" \"),_c('a',{style:({color: _vm.stack[0].button.color}),on:{\"click\":function($event){_vm.dismiss();}}},[_c('q-icon',{attrs:{\"name\":\"close\"}})],1)],1):_vm._e()])},staticRenderFns: [],\n name: 'q-toast',\n components: {\n QIcon: QIcon\n },\n data: function data () {\n return {\n active: false,\n inTransition: false,\n stack: [],\n timer: null,\n defaults: {\n color: 'white',\n bgColor: '#323232',\n button: {\n color: 'inherit'\n }\n }\n }\n },\n computed: {\n classes: function classes () {\n if (!this.stack.length || !this.stack[0].classes) {\n return {}\n }\n\n return this.stack[0].classes.split(' ')\n }\n },\n methods: {\n create: function create (options) {\n var this$1 = this;\n\n this.stack.push(parseOptions$1(options, this.defaults));\n\n if (this.active || this.inTransition) {\n return\n }\n\n this.activeTimer = setTimeout(function () {\n this$1.active = true;\n }, 10);\n this.inTransition = true;\n\n this.__show();\n },\n __show: function __show () {\n var this$1 = this;\n\n Events.$emit('app:toast', this.stack[0].html);\n\n this.timer = setTimeout(function () {\n if (this$1.stack.length > 0) {\n this$1.dismiss();\n }\n else {\n this$1.inTransition = false;\n }\n }, transitionDuration + (this.stack[0].timeout || displayDuration));\n },\n dismiss: function dismiss (done) {\n var this$1 = this;\n\n clearTimeout(this.timer);\n clearTimeout(this.activeTimer);\n this.active = false;\n this.timer = null;\n\n setTimeout(function () {\n if (typeof this$1.stack[0].onDismiss === 'function') {\n this$1.stack[0].onDismiss();\n }\n\n this$1.stack.shift();\n done && done();\n\n if (this$1.stack.length > 0) {\n this$1.active = true;\n this$1.__show();\n return\n }\n\n this$1.inTransition = false;\n }, transitionDuration + 50);\n },\n setDefaults: function setDefaults (opts) {\n extend(true, this.defaults, opts);\n }\n }\n};\n\nvar toast;\nvar defaults;\nvar toastStack = [];\nvar installed = false;\nvar types = [\n {\n name: 'positive',\n defaults: {icon: typeIcon.positive, classes: 'bg-positive'}\n },\n {\n name: 'negative',\n defaults: {icon: typeIcon.negative, classes: 'bg-negative'}\n },\n {\n name: 'info',\n defaults: {icon: typeIcon.info, classes: 'bg-info'}\n },\n {\n name: 'warning',\n defaults: {icon: typeIcon.warning, classes: 'bg-warning'}\n }\n ];\n\nfunction create$1 (opts, defaults) {\n if (!opts) {\n throw new Error('Missing toast options.')\n }\n\n if (defaults) {\n opts = extend(\n true,\n typeof opts === 'string' ? {html: opts} : opts,\n defaults\n );\n }\n\n if (!toast) {\n toastStack.push(opts);\n if (!installed) {\n install$1();\n }\n return\n }\n\n toast.create(opts);\n}\n\ntypes.forEach(function (type) {\n create$1[type.name] = function (opts) { return create$1(opts, type.defaults); };\n});\n\nfunction install$1 () {\n installed = true;\n ready(function () {\n var node = document.createElement('div');\n document.body.appendChild(node);\n toast = new Vue(Toast).$mount(node);\n if (defaults) {\n toast.setDefaults(defaults);\n }\n if (toastStack.length) {\n setTimeout(function () {\n toastStack.forEach(function (opts) {\n toast.create(opts);\n });\n }, 100);\n }\n });\n}\n\nvar index$2 = {\n create: create$1,\n setDefaults: function setDefaults (opts) {\n if (toast) {\n toast.setDefaults(opts);\n }\n else {\n defaults = opts;\n }\n }\n};\n\nvar openUrl = function (url, reject) {\n if (Platform.is.cordova && navigator && navigator.app) {\n return navigator.app.loadUrl(url, {\n openExternal: true\n })\n }\n\n var win = window.open(url, '_blank');\n\n if (win) {\n win.focus();\n return win\n }\n else {\n reject();\n }\n};\n\nvar throttle = function (fn, limit) {\n if ( limit === void 0 ) limit = 250;\n\n var wait = false;\n\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (wait) {\n return\n }\n\n wait = true;\n fn.apply(this, args);\n setTimeout(function () {\n wait = false;\n }, limit);\n }\n};\n\nfunction noop () {}\n\nvar index_esm = {\n version: version,\n install: install,\n start: start,\n theme: theme\n};\n\n\n/* harmony default export */ __webpack_exports__[\"L\"] = (index_esm);\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global, setImmediate) {/*!\n * Vue.js v2.5.17\n * (c) 2014-2018 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// these helpers produces better vm code in JS engines due to their\n// explicitness and function inlining\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value e.g. [object Object]\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : typeof val === 'object'\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert a input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if a attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether the object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it... e.g.\n * PhantomJS 1.x. Technically we don't need this anymore since native bind is\n * now more performant in most browsers, but removing it would be breaking for\n * code that was able to run in PhantomJS 1.x, so this must be kept for\n * backwards compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/)\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/**\n * Return same value\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a static keys string from compiler modules.\n */\n\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured'\n];\n\n/* */\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: \"production\" !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: \"production\" !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n})\n\n/* */\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = /[^\\w.$]/;\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = (function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (false) {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {};\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// the current target watcher being evaluated.\n// this is globally unique because there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (_target) {\n if (Dep.target) { targetStack.push(Dep.target); }\n Dep.target = _target;\n}\n\nfunction popTarget () {\n Dep.target = targetStack.pop();\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n vnode.children,\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n var augment = hasProto\n ? protoAugment\n : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through each property and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment an target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src, keys) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n if (!getter && arguments.length === 2) {\n val = obj[key];\n }\n var setter = property && property.set;\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (false) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (false\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n \"production\" !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (false\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n \"production\" !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (false) {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n var keys = Object.keys(from);\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n \"production\" !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n return childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n \"production\" !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (false) {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && \"production\" !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!/^[a-zA-Z][\\w-]*$/.test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'can only contain alphanumeric characters and the hyphen, ' +\n 'and must start with a letter.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (false) {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (false) {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (false) {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def = dirs[key];\n if (typeof def === 'function') {\n dirs[key] = { bind: def, update: def };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (false) {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n var extendsFrom = child.extends;\n if (extendsFrom) {\n parent = mergeOptions(parent, extendsFrom, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (false) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n false\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (false) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n if (!valid) {\n warn(\n \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', ')) +\n \", got \" + (toRawType(value)) + \".\",\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n logError(e, null, 'config.errorHandler');\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (false) {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n/* globals MessageChannel */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using both microtasks and (macro) tasks.\n// In < 2.4 we used microtasks everywhere, but there are some scenarios where\n// microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690) or even between bubbling of the same\n// event (#6566). However, using (macro) tasks everywhere also has subtle problems\n// when state is changed right before repaint (e.g. #6813, out-in transitions).\n// Here we use microtask by default, but expose a way to force (macro) task when\n// needed (e.g. in event handlers attached by v-on).\nvar microTimerFunc;\nvar macroTimerFunc;\nvar useMacroTask = false;\n\n// Determine (macro) task defer implementation.\n// Technically setImmediate should be the ideal choice, but it's only available\n// in IE. The only polyfill that consistently queues the callback after all DOM\n// events triggered in the same loop is by using MessageChannel.\n/* istanbul ignore if */\nif (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n macroTimerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else if (typeof MessageChannel !== 'undefined' && (\n isNative(MessageChannel) ||\n // PhantomJS\n MessageChannel.toString() === '[object MessageChannelConstructor]'\n)) {\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = flushCallbacks;\n macroTimerFunc = function () {\n port.postMessage(1);\n };\n} else {\n /* istanbul ignore next */\n macroTimerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\n// Determine microtask defer implementation.\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n microTimerFunc = function () {\n p.then(flushCallbacks);\n // in problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else {\n // fallback to macro\n microTimerFunc = macroTimerFunc;\n}\n\n/**\n * Wrap a function so that if any code inside triggers state change,\n * the changes are queued using a (macro) task instead of a microtask.\n */\nfunction withMacroTask (fn) {\n return fn._withTask || (fn._withTask = function () {\n useMacroTask = true;\n var res = fn.apply(null, arguments);\n useMacroTask = false;\n return res\n })\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n if (useMacroTask) {\n macroTimerFunc();\n } else {\n microTimerFunc();\n }\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (false) {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) || key.charAt(0) === '_';\n if (!has && !isAllowed) {\n warnNonPresent(target, key);\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n warnNonPresent(target, key);\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (false) {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n perf.clearMeasures(name);\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n cloned[i].apply(null, arguments$1);\n }\n } else {\n // return handler return value for single handlers\n return fns.apply(null, arguments)\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n vm\n) {\n var name, def, cur, old, event;\n for (name in on) {\n def = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n /* istanbul ignore if */\n if (isUndef(cur)) {\n \"production\" !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur);\n }\n add(event.name, cur, event.once, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (false) {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.