{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./local/js/triangles.js","webpack:///./node_modules/vue/dist/vue.esm.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/vanilla-lazyload/dist/lazyload.min.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/process/browser.js","webpack:///./local/js/nav.js","webpack:///./local/vue/config.js","webpack:///./local/vue/sportEvent.js","webpack:///./local/vue/team.js","webpack:///./local/vue/venues.js","webpack:///./local/vue-components/newsFilters.vue?9bb3","webpack:///./local/vue-components/newsFilters.vue","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///local/vue-components/newsFilters.vue","webpack:///./local/vue/newsList.js","webpack:///./local/vue/newsItem.js","webpack:///./local/vue/programme.js","webpack:///./local/vue/generic.js","webpack:///./local/vue/search.js","webpack:///./node_modules/scrollbooster/src/index.js","webpack:///./local/js/boosters.js","webpack:///./local/js/ui.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","Delaunay","EPSILON","triangulate","vertices","j","indices","st","open","closed","edges","dx","dy","a","b","length","slice","Array","sort","this","supertriangle","push","circumcircle","x","splice","y","k","dedup","contains","tri","u","v","dmax","xmid","ymid","xmin","Number","POSITIVE_INFINITY","ymin","xmax","NEGATIVE_INFINITY","ymax","Math","max","xc","yc","m1","m2","mx1","mx2","my1","my2","x1","y1","x2","y2","x3","y3","fabsy1y2","abs","fabsy2y3","Error","init","selector","document","querySelectorAll","forEach","container","renderer","scene","mesh","geometry","material","MESH","LIGHT","count","xPos","yPos","zOffset","ambient","dataset","diffuse","proxy","currIndex","center","FSS","Vector3","offset","initialise","CanvasRenderer","appendChild","element","Scene","createMesh","clear","light","Light","ambientHex","format","diffuseHex","setPosition","add","addLight","window","addEventListener","onWindowResize","onWindowScroll","onMouseMove","resize","offsetWidth","offsetHeight","animate","remove","Plane","width","height","Material","Mesh","setSize","set","halfWidth","halfHeight","render","requestAnimationFrame","getBoundingClientRect","event","position","setTimeout","FRONT","BACK","DOUBLE","SVGNS","Float32Array","Utils","isNumber","isNaN","parseFloat","isFinite","PIM2","PI","PID2","randomInRange","min","random","clamp","z","vector","clone","copy","target","setX","setY","setZ","addVectors","addScalar","subtract","subtractVectors","subtractScalar","multiply","multiplyVectors","multiplyScalar","divide","divideVectors","divideScalar","cross","crossVectors","limit","setLength","dot","normalise","negate","distanceSquared","dz","distance","sqrt","lengthSquared","Vector4","w","setW","Color","hex","opacity","rgba","size","replace","parseInt","substring","hexify","channel","ceil","toString","g","ray","Vertex","Triangle","centroid","normal","color","polygon","createElementNS","setAttributeNS","computeCentroid","computeNormal","Geometry","triangles","dirty","update","triangle","howmany","offsetX","offsetY","p1","p2","p3","t1","slave","side","visible","lights","calculate","illuminance","meshes","indexOf","Renderer","createElement","style","display","context","getContext","setTransform","clearRect","lineJoin","lineWidth","beginPath","moveTo","lineTo","closePath","strokeStyle","fillStyle","stroke","fill","emptyObject","freeze","isUndef","isDef","isTrue","isPrimitive","isObject","obj","_toString","isPlainObject","isRegExp","isValidArrayIndex","val","String","floor","isPromise","then","catch","isArray","JSON","stringify","toNumber","makeMap","str","expectsLowerCase","map","list","split","toLowerCase","isBuiltInTag","isReservedAttribute","arr","item","index","hasOwn","cached","fn","cache","camelizeRE","camelize","_","toUpperCase","capitalize","charAt","hyphenateRE","hyphenate","Function","ctx","boundFn","arguments","apply","_length","toArray","start","ret","extend","to","_from","toObject","res","noop","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","e","Date","getTime","keysA","keys","keysB","looseIndexOf","once","called","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","process","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","charCodeAt","def","writable","configurable","bailRE","RegExp","source","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","UA","navigator","userAgent","isIE","test","isIE9","isEdge","isIOS","isFF","match","nativeWatch","watch","supportsPassive","opts","isServerRendering","undefined","global","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Reflect","ownKeys","Set","has","warn","uid","Dep","id","subs","addSub","sub","removeSub","depend","addDep","notify","targetStack","pushTarget","popTarget","pop","VNode","tag","data","children","text","elm","componentOptions","asyncFactory","fnContext","fnOptions","fnScopeId","componentInstance","parent","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","defineProperties","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","method","original","args","len","inserted","result","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","src","__proto__","protoAugment","copyAugment","walk","observe","asRootData","isExtensible","_isVue","defineReactive$$1","customSetter","shallow","getOwnPropertyDescriptor","setter","childOb","dependArray","newVal","del","items","strats","mergeData","from","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","concat","hooks","dedupeHooks","mergeAssets","hook","type","key$1","props","methods","inject","computed","provide","defaultStrat","mergeOptions","options","normalizeProps","normalized","normalizeInject","dirs","directives","def$$1","normalizeDirectives","_base","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","prop","absent","booleanIndex","getTypeIndex","Boolean","stringIndex","default","$options","_props","getType","getPropDefaultValue","prevShouldObserve","functionTypeCheckRE","isSameType","expectedTypes","handleError","err","info","cur","$parent","errorCaptured","globalHandleError","invokeWithErrorHandling","handler","_handled","logError","console","error","timerFunc","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","Promise","resolve","MutationObserver","setImmediate","counter","observer","textNode","createTextNode","characterData","nextTick","cb","_resolve","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","passive","once$$1","capture","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","createOnceHandler","old","params","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","checkProp","hash","altKey","preserve","normalizeChildren","normalizeArrayChildren","nestedIndex","lastIndex","last","isTextNode","shift","_isVList","resolveInject","provideKey","_provided","provideDefault","resolveSlots","slots","attrs","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","renderList","iterator","next","done","renderSlot","fallbackRender","bindObject","nodes","scopedSlotFn","$scopedSlots","$slots","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","loop","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","tree","markStatic","staticRenderFns","_renderProxy","markOnce","markStaticNode","bindObjectListeners","existing","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","values","prependModifier","symbol","installRenderHelpers","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","_u","_g","_d","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","_compiled","needNormalization","listeners","injections","scopedSlots","_scopeId","_c","cloneAndMarkFunctionalResult","renderContext","mergeProps","componentVNodeHooks","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","_isComponent","_parentVnode","inlineTemplate","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","parentVnode","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","_renderChildren","$vnode","_vnode","$attrs","$listeners","propKeys","_propKeys","oldListeners","_parentListeners","updateComponentListeners","$forceUpdate","updateChildComponent","insert","_isMounted","callHook","_inactive","activatedChildren","activateChildComponent","destroy","deactivateChildComponent","direct","_directInactive","isInInactiveTree","$children","$destroy","hooksToMerge","createComponent","baseCtor","cid","factory","errorComp","resolved","owner","currentRenderingInstance","owners","loading","loadingComp","sync","timerLoading","timerTimeout","$on","forceRender","renderCompleted","clearTimeout","ensureCtor","reject","reason","component","delay","timeout","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","callback","transformModel","extractPropsFromVNodeData","functional","vnodes","createFunctionalComponent","nativeOn","abstract","toMerge","_merged","mergeHook$1","installComponentHooks","f1","f2","normalizationType","alwaysNormalize","is","simpleNormalizeChildren","pre","applyNS","force","class","registerDeepBindings","_createElement","comp","base","getFirstComponentChild","remove$1","$off","_target","onceHandler","setActiveInstance","prevActiveInstance","handlers","_hasHookEvent","$emit","queue","waiting","flushing","currentFlushTimestamp","getNow","now","createEvent","timeStamp","flushSchedulerQueue","watcher","before","run","activatedQueue","updatedQueue","callActivatedHooks","_watcher","callUpdatedHooks","emit","uid$2","Watcher","expOrFn","isRenderWatcher","_watchers","deep","user","lazy","active","deps","newDeps","depIds","newDepIds","expression","path","segments","parsePath","cleanupDeps","tmp","queueWatcher","oldValue","evaluate","teardown","_isBeingDestroyed","sharedPropertyDefinition","sourceKey","initState","propsOptions","initProps","initMethods","_data","getData","initData","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","initComputed","createWatcher","initWatch","shouldCache","createComputedGetter","createGetterInvoker","$watch","uid$3","super","superOptions","modifiedOptions","modified","latest","sealed","sealedOptions","resolveModifiedOptions","extendOptions","components","Vue","_init","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","constructor","Comp","initProps$1","initComputed$1","mixin","use","getComponentName","matches","pattern","pruneCache","keepAliveInstance","filter","entry","pruneCacheEntry","current","_uid","vnodeComponentOptions","_componentTag","initInternalComponent","_self","$root","$refs","initLifecycle","_events","initEvents","parentData","initRender","initInjections","initProvide","el","initMixin","dataDef","propsDef","$set","$delete","immediate","stateMixin","hookRE","$once","i$1","cbs","eventsMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","lifecycleMixin","$nextTick","_render","ref","renderMixin","patternTypes","builtInComponents","KeepAlive","include","exclude","cacheVNode","vnodeToCache","keyToCache","created","destroyed","mounted","updated","configDef","util","defineReactive","delete","observable","plugin","installedPlugins","_installedPlugins","unshift","install","initUse","initMixin$1","definition","initAssetRegisters","initGlobalAPI","ssrContext","version","acceptValue","attr","isEnumeratedAttr","isValidContentEditableValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","isFalsyAttrValue","genClassForVnode","parentNode","childNode","mergeClassData","staticClass","dynamicClass","stringifyClass","renderClass","stringified","stringifyArray","stringifyObject","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","isTextInputType","query","selected","querySelector","nodeOps","tagName","multiple","setAttribute","namespace","createComment","insertBefore","newNode","referenceNode","removeChild","nextSibling","setTextContent","textContent","setStyleScope","scopeId","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","typeA","typeB","sameInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldDir","dir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","arg","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","join","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","removeAttribute","isInPre","baseSetAttr","convertEnumeratedValue","__ieph","blocker","stopImmediatePropagation","removeEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","chr","index$1","expressionPos","expressionEndPos","klass","validDivisionCharRE","parseFilters","exp","prev","filters","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","lastFilterIndex","trim","pushFilter","wrapFilter","baseWarn","msg","range","pluckModuleFunction","addProp","dynamic","rangeSetItem","plain","addAttr","dynamicAttrs","addRawAttr","attrsMap","attrsList","addDirective","isDynamicArg","prependModifierMarker","addHandler","important","events","right","middle","native","nativeEvents","newHandler","getBindingAttr","getStatic","dynamicValue","getAndRemoveAttr","staticValue","removeFromMap","getAndRemoveAttrByRegex","end","genComponentModel","number","valueExpression","assignment","genAssignmentCode","lastIndexOf","eof","isStringStart","parseString","parseBracket","parseModel","inBracket","stringQuote","target$1","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","currentTarget","ownerDocument","updateDOMListeners","change","normalizeEvents","svgContainer","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","innerHTML","firstChild","checkVal","composing","notInFocus","activeElement","isNotInFocusAndDirty","_vModifiers","isDirtyWithModifiers","parseStyleText","cssText","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","normalize","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","checkChild","styleData","getStyle","whitespaceRE","addClass","classList","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","styles","getComputedStyle","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","nodeType","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","rm","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","patch","backend","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","isReactivated","initComponent","innerNode","activate","reactivateComponent","setScope","createChildren","invokeCreateHooks","pendingInsert","isPatchable","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","childElm","createRmCb","findIdxInOld","oldCh","patchVnode","removeOnly","hydrate","newCh","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","updateChildren","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","childrenMatch","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","patchable","i$2","createPatchFunction","vmodel","trigger","directive","binding","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","some","hasNoMatchingOption","actuallySetSelected","isMultiple","option","selectedIndex","initEvent","dispatchEvent","locateNode","platformDirectives","transition$$1","originalDisplay","__vOriginalDisplay","unbind","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","h","rawChild","isNotTextNode","isVShowDirective","Transition","hasParentTransition","_leaving","oldRawChild","oldChild","isSameChild","delayedLeave","moveClass","callPendingCbs","_moveCb","recordPosition","newPos","applyTranslation","oldPos","pos","left","top","moved","transform","WebkitTransform","transitionDuration","platformComponents","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","removed","c$1","hasMove","_reflow","body","propertyName","_hasMove","cloneNode","HTMLUnknownElement","HTMLElement","updateComponent","mountComponent","defaultTagRE","regexEscapeRE","buildRegex","delimiters","close","klass$1","staticKeys","transformNode","classBinding","genData","decoder","style$1","styleBinding","he","html","isUnaryTag","canBeLeftOpenTag","isNonPhrasingTag","attribute","dynamicArgAttribute","ncname","qnameCapture","startTagOpen","startTagClose","endTag","doctype","comment","conditionalComment","isPlainTextElement","reCache","decodingMap","encodedAttr","encodedAttrWithNewLines","isIgnoreNewlineTag","shouldIgnoreFirstNewline","decodeAttr","shouldDecodeNewlines","re","warn$2","transforms","preTransforms","postTransforms","platformIsPreTag","platformMustUseProp","platformGetTagNamespace","onRE","dirRE","forAliasRE","forIteratorRE","stripParensRE","dynamicArgRE","argRE","bindRE","modifierRE","slotRE","lineBreakRE","whitespaceRE$1","decodeHTMLCached","createASTElement","makeAttrsMap","rawAttrsMap","parse","template","isPreTag","root","currentParent","stack","preserveWhitespace","whitespaceOption","whitespace","inPre","closeElement","trimEndingWhitespace","processed","processElement","if","elseif","else","addIfCondition","block","forbidden","findPrevElement","slotScope","slotTarget","lastNode","lastTag","expectHTML","isUnaryTag$$1","canBeLeftOpenTag$$1","endTagLength","stackedTag","reStackedTag","rest$1","all","chars","parseEndTag","textEnd","commentEnd","shouldKeepComment","advance","conditionalEnd","doctypeMatch","endTagMatch","curIndex","startTagMatch","parseStartTag","handleStartTag","rest","unarySlash","unary","shouldDecodeNewlinesForHref","lowerCasedTag","lowerCasedTagName","parseHTML","comments","outputSourceRange","start$1","ieNSBug","ieNSPrefix","guardIESVGBug","processPre","processRawAttrs","processFor","processIf","processOnce","end$1","tagRE","tokenValue","tokens","rawTokens","exec","parseText","processKey","for","checkInFor","processRef","slotTargetDynamic","getRawBindingAttr","slotBinding","getSlotName","slotBinding$1","ref$1","dynamic$1","slotContainer","processSlotContent","slotName","processComponent","syncGen","isDynamic","hasBindings","parseModifiers","camel","argMatch","processAttrs","inMatch","alias","iteratorMatch","iterator1","iterator2","parseFor","condition","ifConditions","cloneASTElement","modules$1","preTransformNode","typeBinding","ifCondition","ifConditionExtra","hasElse","elseIfCondition","branch0","branch1","branch2","isStaticKey","isPlatformReservedTag","baseOptions","_warn","code","genSelect","valueBinding","trueValueBinding","falseValueBinding","genCheckboxModel","genRadioModel","needCompositionGuard","genDefaultModel","reduce","genStaticKeys","genStaticKeysCached","optimize","markStatic$1","static","isDirectChildOfTemplateFor","l$1","markStaticRoots","staticInFor","staticRoot","fnExpRE","fnInvokeRE","simplePathRE","esc","tab","space","up","down","keyNames","genGuard","modifierCode","stop","prevent","self","ctrl","alt","meta","genHandlers","prefix","staticHandlers","dynamicHandlers","handlerCode","genHandler","isMethodPath","isFunctionExpression","isFunctionInvocation","genModifierCode","keyModifier","genFilterCode","genKeyFilter","keyVal","keyCode","keyName","baseDirectives","wrapListeners","wrapData","cloak","CodegenState","dataGenFns","maybeComponent","onceId","generate","ast","state","genElement","staticProcessed","genStatic","onceProcessed","genOnce","forProcessed","genFor","ifProcessed","genIf","genChildren","genProps","bind$$1","genSlot","componentName","genData$2","genComponent","originalPreState","altGen","altEmpty","genIfConditions","conditions","genTernaryExp","altHelper","needRuntime","hasRuntime","gen","genDirectives","containsSlotChild","needsKey","generatedSlots","genScopedSlot","genScopedSlots","inlineRenderFns","genInlineTemplate","isLegacySyntax","reverseProxy","checkSkip","altGenElement","altGenNode","el$1","normalizationType$1","needsNormalization","getNormalizationType","genNode","genComment","transformSpecialNewlines","genText","staticProps","dynamicProps","createFunction","errors","createCompileToFunctionFn","compile","compiled","fnGenErrors","baseCompile","div","finalOptions","tips","tip","compileToFunctions","getShouldDecode","href","idToTemplate","mount","documentElement","outerHTML","getOuterHTML","define","assign","devicePixelRatio","elements_selector","threshold","thresholds","data_src","data_srcset","data_sizes","data_bg","data_bg_hidpi","data_bg_multi","data_bg_multi_hidpi","data_bg_set","data_poster","class_applied","class_loading","class_loaded","class_error","class_entered","class_exited","unobserve_completed","unobserve_entered","cancel_on_exit","callback_enter","callback_exit","callback_applied","callback_loading","callback_loaded","callback_error","callback_finish","callback_cancel","use_native","restore_on_error","CustomEvent","detail","instance","initCustomEvent","f","A","L","O","C","N","className","M","llTempImage","T","_observer","unobserve","R","loadingCount","G","toLoadCount","D","H","V","F","B","J","P","S","U","$","q","K","Q","W","X","Y","IMG","IFRAME","VIDEO","load","OBJECT","Z","nn","tn","llEvLisnrs","en","an","rn","cn","ln","backgroundImage","un","sn","dn","gn","HTMLImageElement","bn","mn","pn","hn","En","_settings","IntersectionObserver","isIntersecting","intersectionRatio","vn","rootMargin","_onlineHandler","disconnect","loadAll","restoreAll","resetStatus","lazyLoadOptions","scope","Timeout","clearFn","_id","_clearFn","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","require","clearImmediate","registerImmediate","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","getPrototypeOf","handle","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","script","onreadystatechange","attachEvent","task","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","array","title","browser","argv","versions","addListener","off","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","umask","menuToggles","menu","onclick","back","heads","head","dataHead","preventDefault","dataSub","clickOutsideEvent","querystringObject","doPost","url","argsObj","fetch","headers","response","json","doGet","getQuerystringObject","search","location","urlSearchParams","URLSearchParams","fromEntries","entries","lazyLoad","getElementById","pageId","scores","updates","poll","local","booster","foreign","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","foreignH","foreignM","foreignS","zeroPad","getTransformH","getTransformM","getTransformS","venues","sportId","infoWindow","markers","filtered","Sports","Id","initMap","addPins","zoom","maxZoom","minZoom","lat","lng","mapTypeId","google","maps","MapTypeId","ROADMAP","zoomControlOptions","ControlPosition","RIGHT_BOTTOM","panControlOptions","LEFT_TOP","streetViewControl","Map","InfoWindow","content","maxWidth","padding","setMap","bounds","LatLngBounds","createPin","fitBounds","imgTag","PopImage","Name","Url","Marker","LatLng","Location","icon","fillColor","fillOpacity","anchor","Point","scale","setContent","_vm","_h","teamId","$$selectedVal","teams","catId","cats","sports","_withStripped","scriptExports","functionalTemplate","injectStyles","moduleIdentifier","shadowMode","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","shadowRoot","_injectStyles","originalRender","beforeCreate","isListing","emitChange","__file","newsFilters","page","perPage","displayPage","pages","curPage","doSearch","qs","qss","curDate","DateDisplay","schedule","resultsUrl","getCompetitorName","resultRow","Competitor","Island","IslandDesc","FullName","getResultsUrl","Event","Sport","SportCode","SportID","EventID","getVenueUrl","ApiId","Venue","VenueID","filteredSports","overlay","closeOverlay","results","searched","noResults","getFullHeight","elem","scrollHeight","ScrollBooster","defaults","viewport","direction","pointerMode","scrollMode","bounce","bounceForce","friction","textSelection","inputsFocus","emulateScroll","preventDefaultOnEmulateScroll","preventPointerMoveDefault","lockScrollOnDragDirection","pointerDownPreventDefault","dragDirectionTolerance","onPointerDown","onPointerUp","onPointerMove","onClick","onUpdate","onWheel","shouldScroll","Element","isDragging","isTargetScroll","isScrolling","isRunning","START_COORDINATES","velocity","dragStartPosition","dragOffset","clientOffset","dragPosition","targetPosition","scrollOffset","rafID","updateMetrics","handleEvents","getState","startAnimationLoop","clientWidth","clientHeight","scrollWidth","edgeX","edgeY","cancelAnimationFrame","updateScrollPosition","isMoving","setContentPosition","applyEdgeForce","applyDragForce","applyScrollForce","applyTargetForce","inverseFriction","beyondXFrom","beyondXTo","beyondYFrom","beyondYTo","beyondX","beyondY","edge","distanceToEdge","restPosition","applyForce","dragVelocity","dragAngle","getDragAngle","borderCollision","bottom","round","atan2","angle","tolerance","scrollTop","scrollLeft","dragOrigin","clientOrigin","dragDirection","wheelTimer","isTouch","setDragPosition","eventData","touches","pageX","pageY","clientX","clientY","getDragDirection","pointerdown","rect","clientLeft","clientTop","button","nodeName","createRange","selectNodeContents","textNodeFromPoint","selection","getSelection","removeAllRanges","empty","pointermove","cancelable","pointerup","wheel","deltaX","deltaY","scroll","click","dragOffsetX","dragOffsetY","stopPropagation","contentLoad","scrollTo","LazyLoad","toggle","parentElement","latlng","lon","innerWidth","play","countDownDate","days","hours","minutes","seconds"],"mappings":"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","file":"main.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 9);\n","var Delaunay;\r\n\r\n(function () {\r\n \"use strict\";\r\n\r\n Delaunay = {\r\n EPSILON: 1.0 / 1048576.0,\r\n triangulate: function (vertices, key) {\r\n var n = vertices.length,\r\n i, j, indices, st, open, closed, edges, dx, dy, a, b, c;\r\n\r\n /* Bail if there aren't enough vertices to form any triangles. */\r\n if (n < 3)\r\n return [];\r\n\r\n /* Slice out the actual vertices from the passed objects. (Duplicate the\r\n * array even if we don't, though, since we need to make a supertriangle\r\n * later on!) */\r\n vertices = vertices.slice(0);\r\n\r\n if (key)\r\n for (i = n; i--;)\r\n vertices[i] = vertices[i][key];\r\n\r\n /* Make an array of indices into the vertex array, sorted by the\r\n * vertices' x-position. */\r\n indices = new Array(n);\r\n\r\n for (i = n; i--;)\r\n indices[i] = i;\r\n\r\n indices.sort(function (i, j) {\r\n return vertices[j][0] - vertices[i][0];\r\n });\r\n\r\n /* Next, find the vertices of the supertriangle (which contains all other\r\n * triangles), and append them onto the end of a (copy of) the vertex\r\n * array. */\r\n st = this.supertriangle(vertices);\r\n vertices.push(st[0], st[1], st[2]);\r\n\r\n /* Initialize the open list (containing the supertriangle and nothing\r\n * else) and the closed list (which is empty since we havn't processed\r\n * any triangles yet). */\r\n open = [this.circumcircle(vertices, n + 0, n + 1, n + 2)];\r\n closed = [];\r\n edges = [];\r\n\r\n /* Incrementally add each vertex to the mesh. */\r\n for (i = indices.length; i--; edges.length = 0) {\r\n c = indices[i];\r\n\r\n /* For each open triangle, check to see if the current point is\r\n * inside it's circumcircle. If it is, remove the triangle and add\r\n * it's edges to an edge list. */\r\n for (j = open.length; j--;) {\r\n /* If this point is to the right of this triangle's circumcircle,\r\n * then this triangle should never get checked again. Remove it\r\n * from the open list, add it to the closed list, and skip. */\r\n dx = vertices[c][0] - open[j].x;\r\n if (dx > 0.0 && dx * dx > open[j].r) {\r\n closed.push(open[j]);\r\n open.splice(j, 1);\r\n continue;\r\n }\r\n\r\n /* If we're outside the circumcircle, skip this triangle. */\r\n dy = vertices[c][1] - open[j].y;\r\n if (dx * dx + dy * dy - open[j].r > this.EPSILON)\r\n continue;\r\n\r\n /* Remove the triangle and add it's edges to the edge list. */\r\n edges.push(\r\n open[j].i, open[j].j,\r\n open[j].j, open[j].k,\r\n open[j].k, open[j].i\r\n );\r\n open.splice(j, 1);\r\n }\r\n\r\n /* Remove any doubled edges. */\r\n this.dedup(edges);\r\n\r\n /* Add a new triangle for each edge. */\r\n for (j = edges.length; j;) {\r\n b = edges[--j];\r\n a = edges[--j];\r\n open.push(this.circumcircle(vertices, a, b, c));\r\n }\r\n }\r\n\r\n /* Copy any remaining open triangles to the closed list, and then\r\n * remove any triangles that share a vertex with the supertriangle,\r\n * building a list of triplets that represent triangles. */\r\n for (i = open.length; i--;)\r\n closed.push(open[i]);\r\n open.length = 0;\r\n\r\n for (i = closed.length; i--;)\r\n if (closed[i].i < n && closed[i].j < n && closed[i].k < n)\r\n open.push(closed[i].i, closed[i].j, closed[i].k);\r\n\r\n /* Yay, we're done! */\r\n return open;\r\n },\r\n contains: function (tri, p) {\r\n /* Bounding box test first, for quick rejections. */\r\n if ((p[0] < tri[0][0] && p[0] < tri[1][0] && p[0] < tri[2][0]) ||\r\n (p[0] > tri[0][0] && p[0] > tri[1][0] && p[0] > tri[2][0]) ||\r\n (p[1] < tri[0][1] && p[1] < tri[1][1] && p[1] < tri[2][1]) ||\r\n (p[1] > tri[0][1] && p[1] > tri[1][1] && p[1] > tri[2][1]))\r\n return null;\r\n\r\n var a = tri[1][0] - tri[0][0],\r\n b = tri[2][0] - tri[0][0],\r\n c = tri[1][1] - tri[0][1],\r\n d = tri[2][1] - tri[0][1],\r\n i = a * d - b * c;\r\n\r\n /* Degenerate tri. */\r\n if (i === 0.0)\r\n return null;\r\n\r\n var u = (d * (p[0] - tri[0][0]) - b * (p[1] - tri[0][1])) / i,\r\n v = (a * (p[1] - tri[0][1]) - c * (p[0] - tri[0][0])) / i;\r\n\r\n /* If we're outside the tri, fail. */\r\n if (u < 0.0 || v < 0.0 || (u + v) > 1.0)\r\n return null;\r\n\r\n return [u, v];\r\n },\r\n supertriangle: function (vertices) {\r\n var xmin = Number.POSITIVE_INFINITY,\r\n ymin = Number.POSITIVE_INFINITY,\r\n xmax = Number.NEGATIVE_INFINITY,\r\n ymax = Number.NEGATIVE_INFINITY,\r\n i, dx, dy, dmax, xmid, ymid;\r\n\r\n for (i = vertices.length; i--;) {\r\n if (vertices[i][0] < xmin) xmin = vertices[i][0];\r\n if (vertices[i][0] > xmax) xmax = vertices[i][0];\r\n if (vertices[i][1] < ymin) ymin = vertices[i][1];\r\n if (vertices[i][1] > ymax) ymax = vertices[i][1];\r\n }\r\n\r\n dx = xmax - xmin;\r\n dy = ymax - ymin;\r\n dmax = Math.max(dx, dy);\r\n xmid = xmin + dx * 0.5;\r\n ymid = ymin + dy * 0.5;\r\n\r\n return [\r\n [xmid - 20 * dmax, ymid - dmax],\r\n [xmid, ymid + 20 * dmax],\r\n [xmid + 20 * dmax, ymid - dmax]\r\n ];\r\n },\r\n circumcircle: function (vertices, i, j, k) {\r\n var x1 = vertices[i][0],\r\n y1 = vertices[i][1],\r\n x2 = vertices[j][0],\r\n y2 = vertices[j][1],\r\n x3 = vertices[k][0],\r\n y3 = vertices[k][1],\r\n fabsy1y2 = Math.abs(y1 - y2),\r\n fabsy2y3 = Math.abs(y2 - y3),\r\n xc, yc, m1, m2, mx1, mx2, my1, my2, dx, dy;\r\n\r\n /* Check for coincident points */\r\n if (fabsy1y2 < this.EPSILON && fabsy2y3 < this.EPSILON)\r\n throw new Error(\"Eek! Coincident points!\");\r\n\r\n if (fabsy1y2 < this.EPSILON) {\r\n m2 = -((x3 - x2) / (y3 - y2));\r\n mx2 = (x2 + x3) / 2.0;\r\n my2 = (y2 + y3) / 2.0;\r\n xc = (x2 + x1) / 2.0;\r\n yc = m2 * (xc - mx2) + my2;\r\n }\r\n\r\n else if (fabsy2y3 < this.EPSILON) {\r\n m1 = -((x2 - x1) / (y2 - y1));\r\n mx1 = (x1 + x2) / 2.0;\r\n my1 = (y1 + y2) / 2.0;\r\n xc = (x3 + x2) / 2.0;\r\n yc = m1 * (xc - mx1) + my1;\r\n }\r\n\r\n else {\r\n m1 = -((x2 - x1) / (y2 - y1));\r\n m2 = -((x3 - x2) / (y3 - y2));\r\n mx1 = (x1 + x2) / 2.0;\r\n mx2 = (x2 + x3) / 2.0;\r\n my1 = (y1 + y2) / 2.0;\r\n my2 = (y2 + y3) / 2.0;\r\n xc = (m1 * mx1 - m2 * mx2 + my2 - my1) / (m1 - m2);\r\n yc = (fabsy1y2 > fabsy2y3) ?\r\n m1 * (xc - mx1) + my1 :\r\n m2 * (xc - mx2) + my2;\r\n }\r\n\r\n dx = x2 - xc;\r\n dy = y2 - yc;\r\n return { i: i, j: j, k: k, x: xc, y: yc, r: dx * dx + dy * dy };\r\n },\r\n dedup: function (edges) {\r\n var i, j, a, b, m, n;\r\n\r\n for (j = edges.length; j;) {\r\n b = edges[--j];\r\n a = edges[--j];\r\n\r\n for (i = j; i;) {\r\n n = edges[--i];\r\n m = edges[--i];\r\n\r\n if ((a === m && b === n) || (a === n && b === m)) {\r\n edges.splice(j, 2);\r\n edges.splice(i, 2);\r\n break;\r\n }\r\n }\r\n }\r\n },\r\n init: function (selector) {\r\n document.querySelectorAll(selector).forEach(container => {\r\n var MESH = {\r\n width: 2.2,\r\n height: 2.2,\r\n slices: 250,\r\n ambient: '#aaaaaa',\r\n diffuse: '#FFFFFF'\r\n };\r\n var LIGHT = {\r\n count: 1,\r\n xPos: 0,\r\n yPos: 200,\r\n zOffset: 350,\r\n ambient: container.dataset.ambient,\r\n diffuse: container.dataset.diffuse,\r\n proxy: false,\r\n currIndex: 0\r\n };\r\n var center = FSS.Vector3.create();\r\n var renderer, scene, mesh, geometry, material, offset = 0;\r\n\r\n function initialise() {\r\n renderer = new FSS.CanvasRenderer();\r\n container.appendChild(renderer.element);\r\n createScene();\r\n createMesh();\r\n addLight();\r\n addEventListeners();\r\n resize(container.offsetWidth, container.offsetHeight);\r\n animate();\r\n }\r\n\r\n function createScene() {\r\n scene = new FSS.Scene();\r\n }\r\n\r\n function createMesh() {\r\n scene.remove(mesh);\r\n renderer.clear();\r\n geometry = new FSS.Plane(MESH.width * renderer.width, MESH.height * renderer.height, MESH.slices);\r\n material = new FSS.Material(MESH.ambient, MESH.diffuse);\r\n mesh = new FSS.Mesh(geometry, material);\r\n scene.add(mesh);\r\n }\r\n\r\n function addLight() {\r\n renderer.clear();\r\n var light = new FSS.Light(LIGHT.ambient, LIGHT.diffuse);\r\n light.ambientHex = light.ambient.format();\r\n light.diffuseHex = light.diffuse.format();\r\n light.setPosition(LIGHT.xPos, LIGHT.yPos, LIGHT.zOffset);\r\n scene.add(light);\r\n LIGHT.proxy = light;\r\n LIGHT.currIndex++;\r\n }\r\n\r\n function resize(width, height) {\r\n renderer.setSize(width, height);\r\n FSS.Vector3.set(center, renderer.halfWidth, renderer.halfHeight);\r\n createMesh();\r\n }\r\n\r\n function animate() {\r\n render();\r\n requestAnimationFrame(animate);\r\n }\r\n\r\n function render() {\r\n renderer.render(scene);\r\n }\r\n\r\n function addEventListeners() {\r\n window.addEventListener('resize', onWindowResize)\r\n window.addEventListener('scroll', onWindowScroll)\r\n container.addEventListener('mousemove', onMouseMove)\r\n }\r\n\r\n function onWindowScroll() {\r\n var r = container.getBoundingClientRect()\r\n offset = r.y\r\n }\r\n\r\n function onWindowResize(event) {\r\n resize(container.offsetWidth, container.offsetHeight);\r\n render();\r\n }\r\n\r\n function onMouseMove(event) {\r\n LIGHT.xPos = event.x - renderer.width / 2;\r\n LIGHT.yPos = renderer.height / 2 - event.y + offset;\r\n LIGHT.proxy.setPosition(LIGHT.xPos, LIGHT.yPos, LIGHT.proxy.position[2]);\r\n }\r\n\r\n window.setTimeout(function () {\r\n initialise();\r\n }, 350)\r\n })\r\n }\r\n };\r\n\r\n if (typeof module !== \"undefined\")\r\n module.exports = Delaunay;\r\n})();\r\n\r\nFSS = {\r\n FRONT: 0,\r\n BACK: 1,\r\n DOUBLE: 2,\r\n SVGNS: 'http://www.w3.org/2000/svg'\r\n};\r\n\r\nFSS.Array = typeof Float32Array === 'function' ? Float32Array : Array;\r\n\r\nFSS.Utils = {\r\n isNumber: function (value) {\r\n return !isNaN(parseFloat(value)) && isFinite(value);\r\n }\r\n};\r\n\r\nMath.PIM2 = Math.PI * 2;\r\nMath.PID2 = Math.PI / 2;\r\nMath.randomInRange = function (min, max) {\r\n return min + (max - min) * Math.random();\r\n};\r\nMath.clamp = function (value, min, max) {\r\n value = Math.max(value, min);\r\n value = Math.min(value, max);\r\n return value;\r\n};\r\n\r\nFSS.Vector3 = {\r\n create: function (x, y, z) {\r\n var vector = new FSS.Array(3);\r\n this.set(vector, x, y, z);\r\n return vector;\r\n },\r\n clone: function (a) {\r\n var vector = this.create();\r\n this.copy(vector, a);\r\n return vector;\r\n },\r\n set: function (target, x, y, z) {\r\n target[0] = x || 0;\r\n target[1] = y || 0;\r\n target[2] = z || 0;\r\n return this;\r\n },\r\n setX: function (target, x) {\r\n target[0] = x || 0;\r\n return this;\r\n },\r\n setY: function (target, y) {\r\n target[1] = y || 0;\r\n return this;\r\n },\r\n setZ: function (target, z) {\r\n target[2] = z || 0;\r\n return this;\r\n },\r\n copy: function (target, a) {\r\n target[0] = a[0];\r\n target[1] = a[1];\r\n target[2] = a[2];\r\n return this;\r\n },\r\n add: function (target, a) {\r\n target[0] += a[0];\r\n target[1] += a[1];\r\n target[2] += a[2];\r\n return this;\r\n },\r\n addVectors: function (target, a, b) {\r\n target[0] = a[0] + b[0];\r\n target[1] = a[1] + b[1];\r\n target[2] = a[2] + b[2];\r\n return this;\r\n },\r\n addScalar: function (target, s) {\r\n target[0] += s;\r\n target[1] += s;\r\n target[2] += s;\r\n return this;\r\n },\r\n subtract: function (target, a) {\r\n target[0] -= a[0];\r\n target[1] -= a[1];\r\n target[2] -= a[2];\r\n return this;\r\n },\r\n subtractVectors: function (target, a, b) {\r\n target[0] = a[0] - b[0];\r\n target[1] = a[1] - b[1];\r\n target[2] = a[2] - b[2];\r\n return this;\r\n },\r\n subtractScalar: function (target, s) {\r\n target[0] -= s;\r\n target[1] -= s;\r\n target[2] -= s;\r\n return this;\r\n },\r\n multiply: function (target, a) {\r\n target[0] *= a[0];\r\n target[1] *= a[1];\r\n target[2] *= a[2];\r\n return this;\r\n },\r\n multiplyVectors: function (target, a, b) {\r\n target[0] = a[0] * b[0];\r\n target[1] = a[1] * b[1];\r\n target[2] = a[2] * b[2];\r\n return this;\r\n },\r\n multiplyScalar: function (target, s) {\r\n target[0] *= s;\r\n target[1] *= s;\r\n target[2] *= s;\r\n return this;\r\n },\r\n divide: function (target, a) {\r\n target[0] /= a[0];\r\n target[1] /= a[1];\r\n target[2] /= a[2];\r\n return this;\r\n },\r\n divideVectors: function (target, a, b) {\r\n target[0] = a[0] / b[0];\r\n target[1] = a[1] / b[1];\r\n target[2] = a[2] / b[2];\r\n return this;\r\n },\r\n divideScalar: function (target, s) {\r\n if (s !== 0) {\r\n target[0] /= s;\r\n target[1] /= s;\r\n target[2] /= s;\r\n } else {\r\n target[0] = 0;\r\n target[1] = 0;\r\n target[2] = 0;\r\n }\r\n return this;\r\n },\r\n cross: function (target, a) {\r\n var x = target[0];\r\n var y = target[1];\r\n var z = target[2];\r\n target[0] = y * a[2] - z * a[1];\r\n target[1] = z * a[0] - x * a[2];\r\n target[2] = x * a[1] - y * a[0];\r\n return this;\r\n },\r\n crossVectors: function (target, a, b) {\r\n target[0] = a[1] * b[2] - a[2] * b[1];\r\n target[1] = a[2] * b[0] - a[0] * b[2];\r\n target[2] = a[0] * b[1] - a[1] * b[0];\r\n return this;\r\n },\r\n min: function (target, value) {\r\n if (target[0] < value) { target[0] = value; }\r\n if (target[1] < value) { target[1] = value; }\r\n if (target[2] < value) { target[2] = value; }\r\n return this;\r\n },\r\n max: function (target, value) {\r\n if (target[0] > value) { target[0] = value; }\r\n if (target[1] > value) { target[1] = value; }\r\n if (target[2] > value) { target[2] = value; }\r\n return this;\r\n },\r\n clamp: function (target, min, max) {\r\n this.min(target, min);\r\n this.max(target, max);\r\n return this;\r\n },\r\n limit: function (target, min, max) {\r\n var length = this.length(target);\r\n if (min !== null && length < min) {\r\n this.setLength(target, min);\r\n } else if (max !== null && length > max) {\r\n this.setLength(target, max);\r\n }\r\n return this;\r\n },\r\n dot: function (a, b) {\r\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\r\n },\r\n normalise: function (target) {\r\n return this.divideScalar(target, this.length(target));\r\n },\r\n negate: function (target) {\r\n return this.multiplyScalar(target, -1);\r\n },\r\n distanceSquared: function (a, b) {\r\n var dx = a[0] - b[0];\r\n var dy = a[1] - b[1];\r\n var dz = a[2] - b[2];\r\n return dx * dx + dy * dy + dz * dz;\r\n },\r\n distance: function (a, b) {\r\n return Math.sqrt(this.distanceSquared(a, b));\r\n },\r\n lengthSquared: function (a) {\r\n return a[0] * a[0] + a[1] * a[1] + a[2] * a[2];\r\n },\r\n length: function (a) {\r\n return Math.sqrt(this.lengthSquared(a));\r\n },\r\n setLength: function (target, l) {\r\n var length = this.length(target);\r\n if (length !== 0 && l !== length) {\r\n this.multiplyScalar(target, l / length);\r\n }\r\n return this;\r\n }\r\n};\r\n\r\nFSS.Vector4 = {\r\n create: function (x, y, z, w) {\r\n var vector = new FSS.Array(4);\r\n this.set(vector, x, y, z);\r\n return vector;\r\n },\r\n set: function (target, x, y, z, w) {\r\n target[0] = x || 0;\r\n target[1] = y || 0;\r\n target[2] = z || 0;\r\n target[3] = w || 0;\r\n return this;\r\n },\r\n setX: function (target, x) {\r\n target[0] = x || 0;\r\n return this;\r\n },\r\n setY: function (target, y) {\r\n target[1] = y || 0;\r\n return this;\r\n },\r\n setZ: function (target, z) {\r\n target[2] = z || 0;\r\n return this;\r\n },\r\n setW: function (target, w) {\r\n target[3] = w || 0;\r\n return this;\r\n },\r\n add: function (target, a) {\r\n target[0] += a[0];\r\n target[1] += a[1];\r\n target[2] += a[2];\r\n target[3] += a[3];\r\n return this;\r\n },\r\n multiplyVectors: function (target, a, b) {\r\n target[0] = a[0] * b[0];\r\n target[1] = a[1] * b[1];\r\n target[2] = a[2] * b[2];\r\n target[3] = a[3] * b[3];\r\n return this;\r\n },\r\n multiplyScalar: function (target, s) {\r\n target[0] *= s;\r\n target[1] *= s;\r\n target[2] *= s;\r\n target[3] *= s;\r\n return this;\r\n },\r\n min: function (target, value) {\r\n if (target[0] < value) { target[0] = value; }\r\n if (target[1] < value) { target[1] = value; }\r\n if (target[2] < value) { target[2] = value; }\r\n if (target[3] < value) { target[3] = value; }\r\n return this;\r\n },\r\n max: function (target, value) {\r\n if (target[0] > value) { target[0] = value; }\r\n if (target[1] > value) { target[1] = value; }\r\n if (target[2] > value) { target[2] = value; }\r\n if (target[3] > value) { target[3] = value; }\r\n return this;\r\n },\r\n clamp: function (target, min, max) {\r\n this.min(target, min);\r\n this.max(target, max);\r\n return this;\r\n }\r\n};\r\n\r\nFSS.Color = function (hex, opacity) {\r\n this.rgba = FSS.Vector4.create();\r\n this.hex = hex || '#000000';\r\n this.opacity = FSS.Utils.isNumber(opacity) ? opacity : 1;\r\n this.set(this.hex, this.opacity);\r\n};\r\n\r\nFSS.Color.prototype = {\r\n set: function (hex, opacity) {\r\n hex = hex.replace('#', '');\r\n var size = hex.length / 3;\r\n this.rgba[0] = parseInt(hex.substring(size * 0, size * 1), 16) / 255;\r\n this.rgba[1] = parseInt(hex.substring(size * 1, size * 2), 16) / 255;\r\n this.rgba[2] = parseInt(hex.substring(size * 2, size * 3), 16) / 255;\r\n this.rgba[3] = FSS.Utils.isNumber(opacity) ? opacity : this.rgba[3];\r\n return this;\r\n },\r\n hexify: function (channel) {\r\n var hex = Math.ceil(channel * 255).toString(16);\r\n if (hex.length === 1) { hex = '0' + hex; }\r\n return hex;\r\n },\r\n format: function () {\r\n var r = this.hexify(this.rgba[0]);\r\n var g = this.hexify(this.rgba[1]);\r\n var b = this.hexify(this.rgba[2]);\r\n this.hex = '#' + r + g + b;\r\n return this.hex;\r\n }\r\n};\r\n\r\nFSS.Object = function () {\r\n this.position = FSS.Vector3.create();\r\n};\r\n\r\nFSS.Object.prototype = {\r\n setPosition: function (x, y, z) {\r\n FSS.Vector3.set(this.position, x, y, z);\r\n return this;\r\n }\r\n};\r\n\r\nFSS.Light = function (ambient, diffuse) {\r\n FSS.Object.call(this);\r\n this.ambient = new FSS.Color(ambient || '#FFFFFF');\r\n this.diffuse = new FSS.Color(diffuse || '#FFFFFF');\r\n this.ray = FSS.Vector3.create();\r\n};\r\n\r\nFSS.Light.prototype = Object.create(FSS.Object.prototype);\r\n\r\nFSS.Vertex = function (x, y, z) {\r\n this.position = FSS.Vector3.create(x, y, z);\r\n};\r\n\r\nFSS.Vertex.prototype = {\r\n setPosition: function (x, y, z) {\r\n FSS.Vector3.set(this.position, x, y, z);\r\n return this;\r\n }\r\n};\r\n\r\nFSS.Triangle = function (a, b, c) {\r\n this.a = a || new FSS.Vertex();\r\n this.b = b || new FSS.Vertex();\r\n this.c = c || new FSS.Vertex();\r\n this.vertices = [this.a, this.b, this.c];\r\n this.u = FSS.Vector3.create();\r\n this.v = FSS.Vector3.create();\r\n this.centroid = FSS.Vector3.create();\r\n this.normal = FSS.Vector3.create();\r\n this.color = new FSS.Color();\r\n this.polygon = document.createElementNS(FSS.SVGNS, 'polygon');\r\n this.polygon.setAttributeNS(null, 'stroke-linejoin', 'round');\r\n this.polygon.setAttributeNS(null, 'stroke-miterlimit', '1');\r\n this.polygon.setAttributeNS(null, 'stroke-width', '1');\r\n this.computeCentroid();\r\n this.computeNormal();\r\n};\r\n\r\nFSS.Triangle.prototype = {\r\n computeCentroid: function () {\r\n this.centroid[0] = this.a.position[0] + this.b.position[0] + this.c.position[0];\r\n this.centroid[1] = this.a.position[1] + this.b.position[1] + this.c.position[1];\r\n this.centroid[2] = this.a.position[2] + this.b.position[2] + this.c.position[2];\r\n FSS.Vector3.divideScalar(this.centroid, 3);\r\n return this;\r\n },\r\n computeNormal: function () {\r\n FSS.Vector3.subtractVectors(this.u, this.b.position, this.a.position);\r\n FSS.Vector3.subtractVectors(this.v, this.c.position, this.a.position);\r\n FSS.Vector3.crossVectors(this.normal, this.u, this.v);\r\n FSS.Vector3.normalise(this.normal);\r\n return this;\r\n }\r\n};\r\n\r\nFSS.Geometry = function () {\r\n this.vertices = [];\r\n this.triangles = [];\r\n this.dirty = false;\r\n};\r\n\r\nFSS.Geometry.prototype = {\r\n update: function () {\r\n if (this.dirty) {\r\n var t, triangle;\r\n for (t = this.triangles.length - 1; t >= 0; t--) {\r\n triangle = this.triangles[t];\r\n triangle.computeCentroid();\r\n triangle.computeNormal();\r\n }\r\n this.dirty = false;\r\n }\r\n return this;\r\n }\r\n};\r\n\r\nFSS.Plane = function (width, height, howmany) {\r\n FSS.Geometry.call(this);\r\n this.width = width || 100;\r\n this.height = height || 100;\r\n\r\n // Cache Variables\r\n var x, y, vertices = new Array(howmany);\r\n offsetX = this.width * -0.5,\r\n offsetY = this.height * 0.5;\r\n\r\n for (i = vertices.length; i--;) {\r\n x = offsetX + Math.random() * width;\r\n y = offsetY - Math.random() * height;\r\n\r\n vertices[i] = [x, y];\r\n }\r\n\r\n // Generate additional points on the perimeter so that there are no holes in the pattern\r\n vertices.push([offsetX, offsetY]);\r\n vertices.push([offsetX + width / 2, offsetY]);\r\n vertices.push([offsetX + width, offsetY]);\r\n vertices.push([offsetX + width, offsetY - height / 2]);\r\n vertices.push([offsetX + width, offsetY - height]);\r\n vertices.push([offsetX + width / 2, offsetY - height]);\r\n vertices.push([offsetX, offsetY - height]);\r\n vertices.push([offsetX, offsetY - height / 2]);\r\n\r\n // Generate additional randomly placed points on the perimeter\r\n for (var i = 6; i >= 0; i--) {\r\n vertices.push([offsetX + Math.random() * width, offsetY]);\r\n vertices.push([offsetX, offsetY - Math.random() * height]);\r\n vertices.push([offsetX + width, offsetY - Math.random() * height]);\r\n vertices.push([offsetX + Math.random() * width, offsetY - height]);\r\n }\r\n\r\n // Create an array of triangulated coordinates from our vertices\r\n var triangles = Delaunay.triangulate(vertices);\r\n\r\n for (i = triangles.length; i;) {\r\n --i;\r\n var p1 = [Math.ceil(vertices[triangles[i]][0]), Math.ceil(vertices[triangles[i]][1])];\r\n --i;\r\n var p2 = [Math.ceil(vertices[triangles[i]][0]), Math.ceil(vertices[triangles[i]][1])];\r\n --i;\r\n var p3 = [Math.ceil(vertices[triangles[i]][0]), Math.ceil(vertices[triangles[i]][1])];\r\n\r\n t1 = new FSS.Triangle(new FSS.Vertex(p1[0], p1[1]), new FSS.Vertex(p2[0], p2[1]), new FSS.Vertex(p3[0], p3[1]));\r\n this.triangles.push(t1);\r\n }\r\n};\r\n\r\nFSS.Plane.prototype = Object.create(FSS.Geometry.prototype);\r\n\r\nFSS.Material = function (ambient, diffuse) {\r\n this.ambient = new FSS.Color(ambient || '#444444');\r\n this.diffuse = new FSS.Color(diffuse || '#FFFFFF');\r\n this.slave = new FSS.Color();\r\n};\r\n\r\nFSS.Mesh = function (geometry, material) {\r\n FSS.Object.call(this);\r\n this.geometry = geometry || new FSS.Geometry();\r\n this.material = material || new FSS.Material();\r\n this.side = FSS.FRONT;\r\n this.visible = true;\r\n};\r\n\r\nFSS.Mesh.prototype = Object.create(FSS.Object.prototype);\r\n\r\nFSS.Mesh.prototype.update = function (lights, calculate) {\r\n var t, triangle, l, light, illuminance;\r\n\r\n // Update Geometry\r\n this.geometry.update();\r\n\r\n // Calculate the triangle colors\r\n if (calculate) {\r\n\r\n // Iterate through Triangles\r\n for (t = this.geometry.triangles.length - 1; t >= 0; t--) {\r\n triangle = this.geometry.triangles[t];\r\n\r\n // Reset Triangle Color\r\n FSS.Vector4.set(triangle.color.rgba);\r\n\r\n // Iterate through Lights\r\n for (l = lights.length - 1; l >= 0; l--) {\r\n light = lights[l];\r\n\r\n // Calculate Illuminance\r\n FSS.Vector3.subtractVectors(light.ray, light.position, triangle.centroid);\r\n FSS.Vector3.normalise(light.ray);\r\n illuminance = FSS.Vector3.dot(triangle.normal, light.ray);\r\n if (this.side === FSS.FRONT) {\r\n illuminance = Math.max(illuminance, 0);\r\n } else if (this.side === FSS.BACK) {\r\n illuminance = Math.abs(Math.min(illuminance, 0));\r\n } else if (this.side === FSS.DOUBLE) {\r\n illuminance = Math.max(Math.abs(illuminance), 0);\r\n }\r\n\r\n // Calculate Ambient Light\r\n FSS.Vector4.multiplyVectors(this.material.slave.rgba, this.material.ambient.rgba, light.ambient.rgba);\r\n FSS.Vector4.add(triangle.color.rgba, this.material.slave.rgba);\r\n\r\n // Calculate Diffuse Light\r\n FSS.Vector4.multiplyVectors(this.material.slave.rgba, this.material.diffuse.rgba, light.diffuse.rgba);\r\n FSS.Vector4.multiplyScalar(this.material.slave.rgba, illuminance);\r\n FSS.Vector4.add(triangle.color.rgba, this.material.slave.rgba);\r\n }\r\n\r\n // Clamp & Format Color\r\n FSS.Vector4.clamp(triangle.color.rgba, 0, 1);\r\n }\r\n }\r\n return this;\r\n};\r\n\r\nFSS.Scene = function () {\r\n this.meshes = [];\r\n this.lights = [];\r\n};\r\n\r\nFSS.Scene.prototype = {\r\n add: function (object) {\r\n if (object instanceof FSS.Mesh && !~this.meshes.indexOf(object)) {\r\n this.meshes.push(object);\r\n } else if (object instanceof FSS.Light && !~this.lights.indexOf(object)) {\r\n this.lights.push(object);\r\n }\r\n return this;\r\n },\r\n remove: function (object) {\r\n if (object instanceof FSS.Mesh && ~this.meshes.indexOf(object)) {\r\n this.meshes.splice(this.meshes.indexOf(object), 1);\r\n } else if (object instanceof FSS.Light && ~this.lights.indexOf(object)) {\r\n this.lights.splice(this.lights.indexOf(object), 1);\r\n }\r\n return this;\r\n }\r\n};\r\n\r\nFSS.Renderer = function () {\r\n this.width = 0;\r\n this.height = 0;\r\n this.halfWidth = 0;\r\n this.halfHeight = 0;\r\n};\r\n\r\nFSS.Renderer.prototype = {\r\n setSize: function (width, height) {\r\n if (this.width === width && this.height === height) return;\r\n this.width = width;\r\n this.height = height;\r\n this.halfWidth = this.width * 0.5;\r\n this.halfHeight = this.height * 0.5;\r\n return this;\r\n },\r\n clear: function () {\r\n return this;\r\n },\r\n render: function (scene) {\r\n return this;\r\n }\r\n};\r\n\r\nFSS.CanvasRenderer = function () {\r\n FSS.Renderer.call(this);\r\n this.element = document.createElement('canvas');\r\n this.element.style.display = 'block';\r\n this.context = this.element.getContext('2d');\r\n this.setSize(this.element.width, this.element.height);\r\n};\r\n\r\nFSS.CanvasRenderer.prototype = Object.create(FSS.Renderer.prototype);\r\n\r\nFSS.CanvasRenderer.prototype.setSize = function (width, height) {\r\n FSS.Renderer.prototype.setSize.call(this, width, height);\r\n this.element.width = width;\r\n this.element.height = height;\r\n this.context.setTransform(1, 0, 0, -1, this.halfWidth, this.halfHeight);\r\n return this;\r\n};\r\n\r\nFSS.CanvasRenderer.prototype.clear = function () {\r\n FSS.Renderer.prototype.clear.call(this);\r\n this.context.clearRect(-this.halfWidth, -this.halfHeight, this.width, this.height);\r\n return this;\r\n};\r\n\r\nFSS.CanvasRenderer.prototype.render = function (scene) {\r\n FSS.Renderer.prototype.render.call(this, scene);\r\n var m, mesh, t, triangle, color;\r\n\r\n // Clear Context\r\n this.clear();\r\n\r\n // Configure Context\r\n this.context.lineJoin = 'round';\r\n this.context.lineWidth = 1;\r\n\r\n // Update Meshes\r\n for (m = scene.meshes.length - 1; m >= 0; m--) {\r\n mesh = scene.meshes[m];\r\n if (mesh.visible) {\r\n mesh.update(scene.lights, true);\r\n\r\n // Render Triangles\r\n for (t = mesh.geometry.triangles.length - 1; t >= 0; t--) {\r\n triangle = mesh.geometry.triangles[t];\r\n color = triangle.color.format();\r\n this.context.beginPath();\r\n this.context.moveTo(triangle.a.position[0], triangle.a.position[1]);\r\n this.context.lineTo(triangle.b.position[0], triangle.b.position[1]);\r\n this.context.lineTo(triangle.c.position[0], triangle.c.position[1]);\r\n this.context.closePath();\r\n this.context.strokeStyle = color;\r\n this.context.fillStyle = color;\r\n this.context.stroke();\r\n this.context.fill();\r\n }\r\n }\r\n }\r\n return this;\r\n};","/*!\n * Vue.js v2.6.14\n * (c) 2014-2021 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce 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\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an 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 an 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 an 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,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward 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/* eslint-disable no-unused-vars */\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/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a string containing static keys from compiler modules.\n */\nfunction genStaticKeys (modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\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 (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\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 'serverPrefetch'\n];\n\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: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== '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 * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\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 = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\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;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\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'] && 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 = /*@__PURE__*/(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 (process.env.NODE_ENV !== 'production') {\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\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 if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\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 only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\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 // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\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.asyncMeta = vnode.asyncMeta;\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 if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties 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$$1(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 a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a 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$$1 (\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 var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\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 (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\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 (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\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 process.env.NODE_ENV !== '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$$1(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 (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\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 process.env.NODE_ENV !== '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 (process.env.NODE_ENV !== 'production') {\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\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\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 process.env.NODE_ENV !== '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 var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\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 process.env.NODE_ENV !== '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 (process.env.NODE_ENV !== 'production') {\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 && process.env.NODE_ENV !== '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 (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\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 (process.env.NODE_ENV !== 'production') {\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 (process.env.NODE_ENV !== 'production') {\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 (process.env.NODE_ENV !== 'production') {\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$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\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 (process.env.NODE_ENV !== 'production') {\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\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, 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 }\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 (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\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 process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\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 (process.env.NODE_ENV !== 'production' && isObject(def)) {\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], vm);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n var haveExpectedTypes = expectedTypes.some(function (t) { return t; });\n if (!valid && haveExpectedTypes) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\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|BigInt)$/;\n\nfunction assertType (value, type, vm) {\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 try {\n valid = value instanceof type;\n } catch (e) {\n warn('Invalid prop type: \"' + String(type) + '\" is not a constructor', vm);\n valid = false;\n }\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\nvar functionTypeCheckRE = /^\\s*function (\\w+)/;\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(functionTypeCheckRE);\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\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n // check if we need to specify expected value\n if (\n expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n isExplicable(typeof value) &&\n !isBoolean(expectedType, receivedType)\n ) {\n message += \" with value \" + (styleValue(value, expectedType));\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + (styleValue(value, receivedType)) + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nvar EXPLICABLE_TYPES = ['string', 'number', 'boolean'];\nfunction isExplicable (value) {\n return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\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 } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\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 // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\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\nvar isUsingMicroTask = false;\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 microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = 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 isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\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 timerFunc();\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\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\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/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\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,BigInt,' +\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 warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\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) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { 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 if (key in target.$data) { warnReservedPrefix(target, key); }\n else { 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\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, vm) {\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 invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== '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, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, 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 (process.env.NODE_ENV !== 'production') {\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.