{"version":3,"sources":["webpack:///./node_modules/vue-click-outside/index.js","webpack:///./node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js"],"names":["validate","binding","value","console","warn","expression","isServer","vNode","componentInstance","$isServer","module","exports","bind","el","handler","e","context","elements","path","composedPath","length","unshift","target","contains","popupItem","i","len","isPopup","__vueClickOutside__","callback","document","addEventListener","update","unbind","removeEventListener","global","isBrowser","window","longerTimeoutBrowsers","timeoutDuration","navigator","userAgent","indexOf","debounce","Promise","fn","called","resolve","then","scheduled","setTimeout","isFunction","functionToCheck","toString","call","getStyleComputedProperty","element","property","nodeType","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","ownerDocument","_getStyleComputedProp","overflow","overflowX","overflowY","test","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","upperSide","arguments","undefined","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","getWindowSizes","height","width","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","prototype","obj","_extends","assign","source","hasOwnProperty","getClientRect","offsets","right","left","bottom","top","getBoundingClientRect","rect","scrollTop","scrollLeft","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","parentElement","getBoundaries","popper","reference","padding","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","_ref","sort","a","b","filteredAreas","filter","_ref2","computedPlacement","variation","split","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","data","ends","slice","prop","findIndex","cur","match","forEach","enabled","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","getWindow","defaultView","setupEventListeners","options","updateBound","passive","scrollElement","attachToScrollParents","event","scrollParents","isBody","push","eventsEnabled","disableEventListeners","this","cancelAnimationFrame","scheduleUpdate","isNumeric","n","isNaN","isFinite","setStyles","unit","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","index","concat","reverse","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","parseOffset","offset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","positionFixed","removeOnDestroy","onCreate","onUpdate","shift","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","querySelector","sideCapitalized","toLowerCase","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","getOppositeVariation","inner","subtractLength","hide","bound","attributes","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","position","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrowStyles","applyStyle","setAttribute","removeAttribute","onLoad","modifierOptions","Popper","_this","requestAnimationFrame","isDestroyed","isCreated","jquery","enableEventListeners","removeChild","Utils","PopperUtils","SVGAnimatedString","convertToArray","addClasses","classes","newClasses","classList","className","baseVal","newClass","SVGElement","join","removeClasses","splice","supportsPassive","opts","get","_typeof","Symbol","iterator","constructor","classCallCheck$1","createClass$1","_extends$1","DEFAULT_OPTIONS","container","delay","title","template","trigger","openTooltips","Tooltip","_initialiseProps","_isOpen","_init","_classes","content","_tooltipNode","_setContent","classesUpdated","directive","defaultClass","setClasses","getOptions","needPopperUpdate","needRestart","isOpen","dispose","show","popperInstance","events","_isDisposed","_enableDocumentTouch","_setEventListeners","tooltipGenerator","createElement","innerHTML","tooltipNode","childNodes","id","random","substr","autoHide","asyncContent","_applyContent","_this2","reject","allowHtml","rootNode","titleNode","innerSelector","firstChild","appendChild","loadingClass","loadingContent","asyncResult","catch","innerText","clearTimeout","_disposeTimer","updateClasses","_ensureShown","_this3","display","getAttribute","_create","_findContainer","_append","popperOptions","arrowSelector","_this4","_noLongerOpen","disposeTime","disposeTimeout","_this5","_events","func","_hide","destroy","_this6","directEvents","oppositeEvents","hideOnTargetClick","evt","usedByTooltip","_scheduleShow","_scheduleHide","_this7","computedDelay","_scheduleTimer","_show","_this8","type","_setTooltipNodeEvent","_this9","_dispose","toggle","relatedreference","toElement","relatedTarget","evt2","relatedreference2","_onDocumentTouch","capture","positions","defaultOptions","defaultPlacement","defaultTargetClass","defaultHtml","defaultTemplate","defaultArrowSelector","defaultInnerSelector","defaultDelay","defaultTrigger","defaultOffset","defaultContainer","defaultBoundariesElement","defaultPopperOptions","defaultLoadingClass","defaultLoadingContent","defaultHideOnTargetClick","popover","defaultBaseClass","defaultWrapperClass","defaultInnerClass","defaultArrowClass","defaultAutoHide","defaultHandleResize","typeofOffset","getPlacement","pos","getContent","destroyTooltip","_tooltip","_tooltipOldShow","_tooltipTargetClasses","oldValue","tooltip","setContent","setOptions","_vueEl","targetClasses","createTooltip","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","currentTarget","closePopover","$_vclosepopover_touch","closeAllPopover","$_closePopoverModifiers","all","changedTouches","touch","$_vclosepopover_touchPoint","firstTouch","abs","screenY","screenX","vclosepopover","isIE$1","initCompat","init","ua","msie","parseInt","substring","rv","edge","getInternetExplorerVersion","ResizeObserver","render","_h","$createElement","_self","_c","staticClass","attrs","tabindex","staticRenderFns","_scopeId","methods","notify","$emit","addResizeHandlers","_resizeObject","contentDocument","_w","$el","removeResizeHandlers","onload","mounted","$nextTick","object","beforeDestroy","plugin$2","install","Vue","component","GlobalVue$1","getDefault","use","isIOS","MSStream","openPopovers","Element","Popover","_vm","class","cssClass","ref","staticStyle","aria-describedby","popoverId","_t","_v","popoverBaseClass","popoverClass","visibility","aria-hidden","popoverWrapperClass","popoverInnerClass","handleResize","on","$_handleResize","_e","popoverArrowClass","components","open","Boolean","default","disabled","String","Number","openGroup","computed","watch","val","oldVal","popoverNode","$refs","$_findContainer","$_removeEventListeners","$_addEventListeners","$_updatePopper","deep","created","$_isDisposed","$_mounted","$_events","$_preventOpen","$_init","_ref$force","skipDelay","force","$_scheduleShow","$_beingShowed","$_scheduleHide","$_show","$_disposeTimer","$_getOffset","$_hide","$_scheduleTimer","$_setTooltipNodeEvent","event2","_ref3","cb","$_restartPopper","$_handleGlobalClose","handleGlobalClose","commonjsGlobal","self","lodash_merge","LARGE_ARRAY_SIZE","HASH_UNDEFINED","HOT_COUNT","HOT_SPAN","MAX_SAFE_INTEGER","argsTag","asyncTag","funcTag","genTag","nullTag","objectTag","proxyTag","undefinedTag","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","freeSelf","root","Function","freeExports","freeModule","moduleExports","freeProcess","process","nodeUtil","nodeIsTypedArray","isTypedArray","safeGet","uid","arrayProto","funcProto","objectProto","coreJsData","funcToString","maskSrcKey","exec","IE_PROTO","nativeObjectToString","objectCtorString","reIsNative","RegExp","Buffer","Uint8Array","allocUnsafe","getPrototype","getPrototypeOf","arg","objectCreate","create","propertyIsEnumerable","symToStringTag","toStringTag","getNative","nativeIsBuffer","isBuffer","nativeMax","nativeNow","Date","now","Map","nativeCreate","baseCreate","proto","isObject","Hash","entries","clear","entry","set","ListCache","MapCache","Stack","__data__","size","arrayLikeKeys","inherited","isArr","isArray","isArg","isArguments","isBuff","isType","skipIndexes","iteratee","baseTimes","isIndex","assignMergeValue","eq","baseAssignValue","assignValue","objValue","assocIndexOf","array","has","pop","string","getMapData","pairs","fromRight","baseFor","keysFunc","iterable","baseGetTag","isOwn","tag","unmasked","getRawTag","objectToString","baseIsArguments","isObjectLike","baseIsNative","toSource","baseKeysIn","nativeKeysIn","isProto","isPrototype","baseMerge","srcIndex","customizer","stack","srcValue","mergeFunc","stacked","newValue","isCommon","isTyped","isArrayLike","copyArray","buffer","isDeep","copy","cloneBuffer","typedArray","arrayBuffer","byteLength","byteOffset","Ctor","isPlainObject","isNew","copyObject","keysIn","toPlainObject","initCloneObject","baseMergeDeep","baseRest","setToString","args","otherArgs","thisArg","apply","overRest","identity","getValue","count","lastCalled","stamp","remaining","shortOut","other","isLength","baseUnary","assigner","merge","sources","guard","isIterateeCall","plugin","installed","finalOptions","GlobalVue","__webpack_exports__","t","r","l","m","c","d","o","__esModule","p","s","locals","btoa","unescape","encodeURIComponent","JSON","stringify","sourceRoot","media","sourceMap","parts","DEBUG","Error","head","getElementsByTagName","u","f","h","refs","g","w","ssrId","styleSheet","cssText","createTextNode","v","insertBefore","throttleLimit","loopCheckTimeout","loopCheckMaxCalls","remove","STATE_CHANGER","INFINITE_EVENT","IDENTIFIER","INFINITE_LOOP","READY","LOADING","COMPLETE","ERROR","color","fontSize","mode","spinner","distance","forceUseInfiniteWrapper","system","slots","noResults","noMore","error","errorBtnText","WARNINGS","ERRORS","STATUS","BUBBLES","CIRCLES","DEFAULT","SPIRAL","WAVEDOTS","_compiled","functional","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","spinnerView","$attrs","spinnerInConfig","__inject__","__file","timers","caches","throttle","reset","isChecked","timer","times","track","getScrollElm","save","scrollHeight","restore","k","S","scrollHandler","isFirstLoad","status","Spinner","isShowSpinner","isShowError","isShowNoResults","isShowNoMore","slotStyles","$slots","direction","identifier","onInfinite","stateChanger","$watch","immediate","Event","attemptLoad","$on","$forceUpdate","loaded","complete","deactivated","activated","getCurrentDistance","pageYOffset","tagName","hasAttribute","destroyed","directives","rawName","_s","domProps","textContent","click","E","_","config","productionTip"],"mappings":"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","file":"3.js","sourcesContent":["function validate(binding) {\r\n if (typeof binding.value !== 'function') {\r\n console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\r\n return false\r\n }\r\n\r\n return true\r\n}\r\n\r\nfunction isPopup(popupItem, elements) {\r\n if (!popupItem || !elements)\r\n return false\r\n\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n try {\r\n if (popupItem.contains(elements[i])) {\r\n return true\r\n }\r\n if (elements[i].contains(popupItem)) {\r\n return false\r\n }\r\n } catch(e) {\r\n return false\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\nfunction isServer(vNode) {\r\n return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\r\n}\r\n\r\nexports = module.exports = {\r\n bind: function (el, binding, vNode) {\r\n if (!validate(binding)) return\r\n\r\n // Define Handler and cache it on the element\r\n function handler(e) {\r\n if (!vNode.context) return\r\n\r\n // some components may have related popup item, on which we shall prevent the click outside event handler.\r\n var elements = e.path || (e.composedPath && e.composedPath())\r\n elements && elements.length > 0 && elements.unshift(e.target)\r\n \r\n if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\r\n\r\n el.__vueClickOutside__.callback(e)\r\n }\r\n\r\n // add Event Listeners\r\n el.__vueClickOutside__ = {\r\n handler: handler,\r\n callback: binding.value\r\n }\r\n !isServer(vNode) && document.addEventListener('click', handler)\r\n },\r\n\r\n update: function (el, binding) {\r\n if (validate(binding)) el.__vueClickOutside__.callback = binding.value\r\n },\r\n \r\n unbind: function (el, binding, vNode) {\r\n // Remove Event Listeners\r\n !isServer(vNode) && document.removeEventListener('click', el.__vueClickOutside__.handler)\r\n delete el.__vueClickOutside__\r\n }\r\n}\r\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.3\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && parent.nodeName === 'HTML') {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // Avoid blurry text by using full pixel integers.\n // For pixel-perfect positioning, top/bottom prefers rounded\n // values, while left/right prefers floored values.\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.round(popper.top),\n bottom: Math.round(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overriden using the `options` argument of Popper.js.
\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nvar SVGAnimatedString = function SVGAnimatedString() {};\nif (typeof window !== 'undefined') {\n\tSVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n\tif (typeof value === 'string') {\n\t\tvalue = value.split(' ');\n\t}\n\treturn value;\n}\n\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\nfunction addClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = convertToArray(el.className.baseVal);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tif (classList.indexOf(newClass) === -1) {\n\t\t\tclassList.push(newClass);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\nfunction removeClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = convertToArray(el.className.baseVal);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tvar index = classList.indexOf(newClass);\n\t\tif (index !== -1) {\n\t\t\tclassList.splice(index, 1);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n\tsupportsPassive = false;\n\ttry {\n\t\tvar opts = Object.defineProperty({}, 'passive', {\n\t\t\tget: function get() {\n\t\t\t\tsupportsPassive = true;\n\t\t\t}\n\t\t});\n\t\twindow.addEventListener('test', null, opts);\n\t} catch (e) {}\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck$1 = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass$1 = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends$1 = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/* Forked from https://github.com/FezVrasta/popper.js/blob/master/packages/tooltip/src/index.js */\n\nvar DEFAULT_OPTIONS = {\n\tcontainer: false,\n\tdelay: 0,\n\thtml: false,\n\tplacement: 'top',\n\ttitle: '',\n\ttemplate: '
',\n\ttrigger: 'hover focus',\n\toffset: 0\n};\n\nvar openTooltips = [];\n\nvar Tooltip = function () {\n\t/**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n *\t\t\tPlacement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n *\t\t\tleft(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n *\t\t\tDelay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n *\t\t\tIf a number is supplied, delay is applied to both hide/show.\n *\t\t\tObject structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='
']\n *\t\t\tBase HTML to used when creating the tooltip.\n *\t\t\tThe tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n *\t\t\t`.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n *\t\t\tThe outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n *\t\t\tHow tooltip is triggered - click, hover, focus, manual.\n *\t\t\tYou may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n *\t\t\tThe element used as boundaries for the tooltip. For more information refer to Popper.js'\n *\t\t\t[boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n *\t\t\t[offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n *\t\t\t[options docs](https://popper.js.org/popper-documentation.html)\n * @return {Object} instance - The generated tooltip instance\n */\n\tfunction Tooltip(reference, options) {\n\t\tclassCallCheck$1(this, Tooltip);\n\n\t\t_initialiseProps.call(this);\n\n\t\t// apply user options over default ones\n\t\toptions = _extends$1({}, DEFAULT_OPTIONS, options);\n\n\t\treference.jquery && (reference = reference[0]);\n\n\t\t// cache reference and options\n\t\tthis.reference = reference;\n\t\tthis.options = options;\n\n\t\t// set initial state\n\t\tthis._isOpen = false;\n\n\t\tthis._init();\n\t}\n\n\t//\n\t// Public methods\n\t//\n\n\t/**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n\n\t/**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n\n\tcreateClass$1(Tooltip, [{\n\t\tkey: 'setClasses',\n\t\tvalue: function setClasses(classes) {\n\t\t\tthis._classes = classes;\n\t\t}\n\t}, {\n\t\tkey: 'setContent',\n\t\tvalue: function setContent(content) {\n\t\t\tthis.options.title = content;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._setContent(content, this.options);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'setOptions',\n\t\tvalue: function setOptions(options) {\n\t\t\tvar classesUpdated = false;\n\t\t\tvar classes = options && options.classes || directive.options.defaultClass;\n\t\t\tif (this._classes !== classes) {\n\t\t\t\tthis.setClasses(classes);\n\t\t\t\tclassesUpdated = true;\n\t\t\t}\n\n\t\t\toptions = getOptions(options);\n\n\t\t\tvar needPopperUpdate = false;\n\t\t\tvar needRestart = false;\n\n\t\t\tif (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n\t\t\t\tneedPopperUpdate = true;\n\t\t\t}\n\n\t\t\tif (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n\t\t\t\tneedRestart = true;\n\t\t\t}\n\n\t\t\tfor (var key in options) {\n\t\t\t\tthis.options[key] = options[key];\n\t\t\t}\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tif (needRestart) {\n\t\t\t\t\tvar isOpen = this._isOpen;\n\n\t\t\t\t\tthis.dispose();\n\t\t\t\t\tthis._init();\n\n\t\t\t\t\tif (isOpen) {\n\t\t\t\t\t\tthis.show();\n\t\t\t\t\t}\n\t\t\t\t} else if (needPopperUpdate) {\n\t\t\t\t\tthis.popperInstance.update();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\t// Private methods\n\t\t//\n\n\t}, {\n\t\tkey: '_init',\n\t\tvalue: function _init() {\n\t\t\t// get events list\n\t\t\tvar events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\t\t\tthis._isDisposed = false;\n\t\t\tthis._enableDocumentTouch = events.indexOf('manual') === -1;\n\n\t\t\t// set event listeners\n\t\t\tthis._setEventListeners(this.reference, events, this.options);\n\t\t}\n\n\t\t/**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n\t}, {\n\t\tkey: '_create',\n\t\tvalue: function _create(reference, template) {\n\t\t\t// create tooltip element\n\t\t\tvar tooltipGenerator = window.document.createElement('div');\n\t\t\ttooltipGenerator.innerHTML = template.trim();\n\t\t\tvar tooltipNode = tooltipGenerator.childNodes[0];\n\n\t\t\t// add unique ID to our tooltip (needed for accessibility reasons)\n\t\t\ttooltipNode.id = 'tooltip_' + Math.random().toString(36).substr(2, 10);\n\n\t\t\t// Initially hide the tooltip\n\t\t\t// The attribute will be switched in a next frame so\n\t\t\t// CSS transitions can play\n\t\t\ttooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tif (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n\t\t\t\ttooltipNode.addEventListener('mouseenter', this.hide);\n\t\t\t\ttooltipNode.addEventListener('click', this.hide);\n\t\t\t}\n\n\t\t\t// return the generated tooltip node\n\t\t\treturn tooltipNode;\n\t\t}\n\t}, {\n\t\tkey: '_setContent',\n\t\tvalue: function _setContent(content, options) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.asyncContent = false;\n\t\t\tthis._applyContent(content, options).then(function () {\n\t\t\t\t_this.popperInstance.update();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_applyContent',\n\t\tvalue: function _applyContent(title, options) {\n\t\t\tvar _this2 = this;\n\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tvar allowHtml = options.html;\n\t\t\t\tvar rootNode = _this2._tooltipNode;\n\t\t\t\tif (!rootNode) return;\n\t\t\t\tvar titleNode = rootNode.querySelector(_this2.options.innerSelector);\n\t\t\t\tif (title.nodeType === 1) {\n\t\t\t\t\t// if title is a node, append it only if allowHtml is true\n\t\t\t\t\tif (allowHtml) {\n\t\t\t\t\t\twhile (titleNode.firstChild) {\n\t\t\t\t\t\t\ttitleNode.removeChild(titleNode.firstChild);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitleNode.appendChild(title);\n\t\t\t\t\t}\n\t\t\t\t} else if (typeof title === 'function') {\n\t\t\t\t\t// if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tvar result = title();\n\t\t\t\t\tif (result && typeof result.then === 'function') {\n\t\t\t\t\t\t_this2.asyncContent = true;\n\t\t\t\t\t\toptions.loadingClass && addClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\tif (options.loadingContent) {\n\t\t\t\t\t\t\t_this2._applyContent(options.loadingContent, options);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresult.then(function (asyncResult) {\n\t\t\t\t\t\t\toptions.loadingClass && removeClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\t\treturn _this2._applyContent(asyncResult, options);\n\t\t\t\t\t\t}).then(resolve).catch(reject);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this2._applyContent(result, options).then(resolve).catch(reject);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\t// if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tallowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n\t\t\t\t}\n\t\t\t\tresolve();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_show',\n\t\tvalue: function _show(reference, options) {\n\t\t\tif (options && typeof options.container === 'string') {\n\t\t\t\tvar container = document.querySelector(options.container);\n\t\t\t\tif (!container) return;\n\t\t\t}\n\n\t\t\tclearTimeout(this._disposeTimer);\n\n\t\t\toptions = Object.assign({}, options);\n\t\t\tdelete options.offset;\n\n\t\t\tvar updateClasses = true;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t\tupdateClasses = false;\n\t\t\t}\n\n\t\t\tvar result = this._ensureShown(reference, options);\n\n\t\t\tif (updateClasses && this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t}\n\n\t\t\taddClasses(reference, ['v-tooltip-open']);\n\n\t\t\treturn result;\n\t\t}\n\t}, {\n\t\tkey: '_ensureShown',\n\t\tvalue: function _ensureShown(reference, options) {\n\t\t\tvar _this3 = this;\n\n\t\t\t// don't show if it's already visible\n\t\t\tif (this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tthis._isOpen = true;\n\n\t\t\topenTooltips.push(this);\n\n\t\t\t// if the tooltipNode already exists, just show it\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._tooltipNode.style.display = '';\n\t\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t\tif (this.asyncContent) {\n\t\t\t\t\tthis._setContent(options.title, options);\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// get title\n\t\t\tvar title = reference.getAttribute('title') || options.title;\n\n\t\t\t// don't show tooltip if no title is defined\n\t\t\tif (!title) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// create tooltip node\n\t\t\tvar tooltipNode = this._create(reference, options.template);\n\t\t\tthis._tooltipNode = tooltipNode;\n\n\t\t\tthis._setContent(title, options);\n\n\t\t\t// Add `aria-describedby` to our reference element for accessibility reasons\n\t\t\treference.setAttribute('aria-describedby', tooltipNode.id);\n\n\t\t\t// append tooltip to container\n\t\t\tvar container = this._findContainer(options.container, reference);\n\n\t\t\tthis._append(tooltipNode, container);\n\n\t\t\tvar popperOptions = _extends$1({}, options.popperOptions, {\n\t\t\t\tplacement: options.placement\n\t\t\t});\n\n\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\tarrow: {\n\t\t\t\t\telement: this.options.arrowSelector\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (options.boundariesElement) {\n\t\t\t\tpopperOptions.modifiers.preventOverflow = {\n\t\t\t\t\tboundariesElement: options.boundariesElement\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n\t\t\t// Fix position\n\t\t\trequestAnimationFrame(function () {\n\t\t\t\tif (!_this3._isDisposed && _this3.popperInstance) {\n\t\t\t\t\t_this3.popperInstance.update();\n\n\t\t\t\t\t// Show the tooltip\n\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\tif (!_this3._isDisposed) {\n\t\t\t\t\t\t\t_this3._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t_this3.dispose();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_noLongerOpen',\n\t\tvalue: function _noLongerOpen() {\n\t\t\tvar index = openTooltips.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenTooltips.splice(index, 1);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_hide',\n\t\tvalue: function _hide() /* reference, options */{\n\t\t\tvar _this4 = this;\n\n\t\t\t// don't hide if it's already hidden\n\t\t\tif (!this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\tthis._isOpen = false;\n\t\t\tthis._noLongerOpen();\n\n\t\t\t// hide tooltipNode\n\t\t\tthis._tooltipNode.style.display = 'none';\n\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tthis.popperInstance.disableEventListeners();\n\n\t\t\tclearTimeout(this._disposeTimer);\n\t\t\tvar disposeTime = directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis._disposeTimer = setTimeout(function () {\n\t\t\t\t\tif (_this4._tooltipNode) {\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('mouseenter', _this4.hide);\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('click', _this4.hide);\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\t_this4._tooltipNode.parentNode.removeChild(_this4._tooltipNode);\n\t\t\t\t\t\t_this4._tooltipNode = null;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\n\t\t\tremoveClasses(this.reference, ['v-tooltip-open']);\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_dispose',\n\t\tvalue: function _dispose() {\n\t\t\tvar _this5 = this;\n\n\t\t\tthis._isDisposed = true;\n\n\t\t\t// remove event listeners first to prevent any unexpected behaviour\n\t\t\tthis._events.forEach(function (_ref) {\n\t\t\t\tvar func = _ref.func,\n\t\t\t\t event = _ref.event;\n\n\t\t\t\t_this5.reference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis._events = [];\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._hide();\n\n\t\t\t\tthis._tooltipNode.removeEventListener('mouseenter', this.hide);\n\t\t\t\tthis._tooltipNode.removeEventListener('click', this.hide);\n\n\t\t\t\t// destroy instance\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tthis._tooltipNode.parentNode.removeChild(this._tooltipNode);\n\t\t\t\t\tthis._tooltipNode = null;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._noLongerOpen();\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_findContainer',\n\t\tvalue: function _findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t}\n\n\t\t/**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n\t}, {\n\t\tkey: '_append',\n\t\tvalue: function _append(tooltipNode, container) {\n\t\t\tcontainer.appendChild(tooltipNode);\n\t\t}\n\t}, {\n\t\tkey: '_setEventListeners',\n\t\tvalue: function _setEventListeners(reference, events, options) {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tif (_this6.options.hideOnTargetClick) oppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tif (_this6.options.hideOnTargetClick) oppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (_this6._isOpen === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevt.usedByTooltip = true;\n\t\t\t\t\t_this6._scheduleShow(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (evt.usedByTooltip === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this6._scheduleHide(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_onDocumentTouch',\n\t\tvalue: function _onDocumentTouch(event) {\n\t\t\tif (this._enableDocumentTouch) {\n\t\t\t\tthis._scheduleHide(this.reference, this.options.delay, this.options, event);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_scheduleShow',\n\t\tvalue: function _scheduleShow(reference, delay, options /*, evt */) {\n\t\t\tvar _this7 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.show || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\treturn _this7._show(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}, {\n\t\tkey: '_scheduleHide',\n\t\tvalue: function _scheduleHide(reference, delay, options, evt) {\n\t\t\tvar _this8 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.hide || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\tif (_this8._isOpen === false) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!document.body.contains(_this8._tooltipNode)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\tif (evt.type === 'mouseleave') {\n\t\t\t\t\tvar isSet = _this8._setTooltipNodeEvent(evt, reference, delay, options);\n\n\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t_this8._hide(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}]);\n\treturn Tooltip;\n}();\n\n// Hide tooltips on touch devices\n\n\nvar _initialiseProps = function _initialiseProps() {\n\tvar _this9 = this;\n\n\tthis.show = function () {\n\t\t_this9._show(_this9.reference, _this9.options);\n\t};\n\n\tthis.hide = function () {\n\t\t_this9._hide();\n\t};\n\n\tthis.dispose = function () {\n\t\t_this9._dispose();\n\t};\n\n\tthis.toggle = function () {\n\t\tif (_this9._isOpen) {\n\t\t\treturn _this9.hide();\n\t\t} else {\n\t\t\treturn _this9.show();\n\t\t}\n\t};\n\n\tthis._events = [];\n\n\tthis._setTooltipNodeEvent = function (evt, reference, delay, options) {\n\t\tvar relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n\t\tvar callback = function callback(evt2) {\n\t\t\tvar relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget;\n\n\t\t\t// Remove event listener after call\n\t\t\t_this9._tooltipNode.removeEventListener(evt.type, callback);\n\n\t\t\t// If the new reference is not the reference element\n\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t_this9._scheduleHide(reference, options.delay, options, evt2);\n\t\t\t}\n\t\t};\n\n\t\tif (_this9._tooltipNode.contains(relatedreference)) {\n\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t_this9._tooltipNode.addEventListener(evt.type, callback);\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t};\n};\n\nif (typeof document !== 'undefined') {\n\tdocument.addEventListener('touchstart', function (event) {\n\t\tfor (var i = 0; i < openTooltips.length; i++) {\n\t\t\topenTooltips[i]._onDocumentTouch(event);\n\t\t}\n\t}, supportsPassive ? {\n\t\tpassive: true,\n\t\tcapture: true\n\t} : true);\n}\n\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nvar state = {\n\tenabled: true\n};\n\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\n\nvar defaultOptions = {\n\t// Default tooltip placement relative to target element\n\tdefaultPlacement: 'top',\n\t// Default CSS classes applied to the tooltip element\n\tdefaultClass: 'vue-tooltip-theme',\n\t// Default CSS classes applied to the target element of the tooltip\n\tdefaultTargetClass: 'has-tooltip',\n\t// Is the content HTML by default?\n\tdefaultHtml: true,\n\t// Default HTML template of the tooltip element\n\t// It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n\t// Change if the classes conflict with other libraries (for example bootstrap)\n\tdefaultTemplate: '
',\n\t// Selector used to get the arrow element in the tooltip template\n\tdefaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n\t// Selector used to get the inner content element in the tooltip template\n\tdefaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n\t// Delay (ms)\n\tdefaultDelay: 0,\n\t// Default events that trigger the tooltip\n\tdefaultTrigger: 'hover focus',\n\t// Default position offset (px)\n\tdefaultOffset: 0,\n\t// Default container where the tooltip will be appended\n\tdefaultContainer: 'body',\n\tdefaultBoundariesElement: undefined,\n\tdefaultPopperOptions: {},\n\t// Class added when content is loading\n\tdefaultLoadingClass: 'tooltip-loading',\n\t// Displayed when tooltip content is loading\n\tdefaultLoadingContent: '...',\n\t// Hide on mouseover tooltip\n\tautoHide: true,\n\t// Close tooltip on click on tooltip target?\n\tdefaultHideOnTargetClick: true,\n\t// Auto destroy tooltip DOM nodes (ms)\n\tdisposeTimeout: 5000,\n\t// Options for popover\n\tpopover: {\n\t\tdefaultPlacement: 'bottom',\n\t\t// Use the `popoverClass` prop for theming\n\t\tdefaultClass: 'vue-popover-theme',\n\t\t// Base class (change if conflicts with other libraries)\n\t\tdefaultBaseClass: 'tooltip popover',\n\t\t// Wrapper class (contains arrow and inner)\n\t\tdefaultWrapperClass: 'wrapper',\n\t\t// Inner content class\n\t\tdefaultInnerClass: 'tooltip-inner popover-inner',\n\t\t// Arrow class\n\t\tdefaultArrowClass: 'tooltip-arrow popover-arrow',\n\t\tdefaultDelay: 0,\n\t\tdefaultTrigger: 'click',\n\t\tdefaultOffset: 0,\n\t\tdefaultContainer: 'body',\n\t\tdefaultBoundariesElement: undefined,\n\t\tdefaultPopperOptions: {},\n\t\t// Hides if clicked outside of popover\n\t\tdefaultAutoHide: true,\n\t\t// Update popper on content resize\n\t\tdefaultHandleResize: true\n\t}\n};\n\nfunction getOptions(options) {\n\tvar result = {\n\t\tplacement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n\t\tdelay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n\t\thtml: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n\t\ttemplate: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n\t\tarrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n\t\tinnerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n\t\ttrigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n\t\toffset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n\t\tcontainer: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n\t\tboundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n\t\tautoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n\t\thideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n\t\tloadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n\t\tloadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n\t\tpopperOptions: _extends$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n\t};\n\n\tif (result.offset) {\n\t\tvar typeofOffset = _typeof(result.offset);\n\t\tvar offset = result.offset;\n\n\t\t// One value -> switch\n\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\toffset = '0, ' + offset;\n\t\t}\n\n\t\tif (!result.popperOptions.modifiers) {\n\t\t\tresult.popperOptions.modifiers = {};\n\t\t}\n\t\tresult.popperOptions.modifiers.offset = {\n\t\t\toffset: offset\n\t\t};\n\t}\n\n\tif (result.trigger && result.trigger.indexOf('click') !== -1) {\n\t\tresult.hideOnTargetClick = false;\n\t}\n\n\treturn result;\n}\n\nfunction getPlacement(value, modifiers) {\n\tvar placement = value.placement;\n\tfor (var i = 0; i < positions.length; i++) {\n\t\tvar pos = positions[i];\n\t\tif (modifiers[pos]) {\n\t\t\tplacement = pos;\n\t\t}\n\t}\n\treturn placement;\n}\n\nfunction getContent(value) {\n\tvar type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\tif (type === 'string') {\n\t\treturn value;\n\t} else if (value && type === 'object') {\n\t\treturn value.content;\n\t} else {\n\t\treturn false;\n\t}\n}\n\nfunction createTooltip(el, value) {\n\tvar modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar content = getContent(value);\n\tvar classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\tvar opts = _extends$1({\n\t\ttitle: content\n\t}, getOptions(_extends$1({}, value, {\n\t\tplacement: getPlacement(value, modifiers)\n\t})));\n\tvar tooltip = el._tooltip = new Tooltip(el, opts);\n\ttooltip.setClasses(classes);\n\ttooltip._vueEl = el;\n\n\t// Class on target\n\tvar targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n\tel._tooltipTargetClasses = targetClasses;\n\taddClasses(el, targetClasses);\n\n\treturn tooltip;\n}\n\nfunction destroyTooltip(el) {\n\tif (el._tooltip) {\n\t\tel._tooltip.dispose();\n\t\tdelete el._tooltip;\n\t\tdelete el._tooltipOldShow;\n\t}\n\n\tif (el._tooltipTargetClasses) {\n\t\tremoveClasses(el, el._tooltipTargetClasses);\n\t\tdelete el._tooltipTargetClasses;\n\t}\n}\n\nfunction bind(el, _ref) {\n\tvar value = _ref.value,\n\t oldValue = _ref.oldValue,\n\t modifiers = _ref.modifiers;\n\n\tvar content = getContent(value);\n\tif (!content || !state.enabled) {\n\t\tdestroyTooltip(el);\n\t} else {\n\t\tvar tooltip = void 0;\n\t\tif (el._tooltip) {\n\t\t\ttooltip = el._tooltip;\n\t\t\t// Content\n\t\t\ttooltip.setContent(content);\n\t\t\t// Options\n\t\t\ttooltip.setOptions(_extends$1({}, value, {\n\t\t\t\tplacement: getPlacement(value, modifiers)\n\t\t\t}));\n\t\t} else {\n\t\t\ttooltip = createTooltip(el, value, modifiers);\n\t\t}\n\n\t\t// Manual show\n\t\tif (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n\t\t\tel._tooltipOldShow = value.show;\n\t\t\tvalue.show ? tooltip.show() : tooltip.hide();\n\t\t}\n\t}\n}\n\nvar directive = {\n\toptions: defaultOptions,\n\tbind: bind,\n\tupdate: bind,\n\tunbind: function unbind(el) {\n\t\tdestroyTooltip(el);\n\t}\n};\n\nfunction addListeners(el) {\n\tel.addEventListener('click', onClick);\n\tel.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n\t\tpassive: true\n\t} : false);\n}\n\nfunction removeListeners(el) {\n\tel.removeEventListener('click', onClick);\n\tel.removeEventListener('touchstart', onTouchStart);\n\tel.removeEventListener('touchend', onTouchEnd);\n\tel.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n\tvar el = event.currentTarget;\n\tevent.closePopover = !el.$_vclosepopover_touch;\n\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n\tif (event.changedTouches.length === 1) {\n\t\tvar el = event.currentTarget;\n\t\tel.$_vclosepopover_touch = true;\n\t\tvar touch = event.changedTouches[0];\n\t\tel.$_vclosepopover_touchPoint = touch;\n\t\tel.addEventListener('touchend', onTouchEnd);\n\t\tel.addEventListener('touchcancel', onTouchCancel);\n\t}\n}\n\nfunction onTouchEnd(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n\tif (event.changedTouches.length === 1) {\n\t\tvar touch = event.changedTouches[0];\n\t\tvar firstTouch = el.$_vclosepopover_touchPoint;\n\t\tevent.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n\t\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n\t}\n}\n\nfunction onTouchCancel(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n\tbind: function bind(el, _ref) {\n\t\tvar value = _ref.value,\n\t\t modifiers = _ref.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (typeof value === 'undefined' || value) {\n\t\t\taddListeners(el);\n\t\t}\n\t},\n\tupdate: function update(el, _ref2) {\n\t\tvar value = _ref2.value,\n\t\t oldValue = _ref2.oldValue,\n\t\t modifiers = _ref2.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (value !== oldValue) {\n\t\t\tif (typeof value === 'undefined' || value) {\n\t\t\t\taddListeners(el);\n\t\t\t} else {\n\t\t\t\tremoveListeners(el);\n\t\t\t}\n\t\t}\n\t},\n\tunbind: function unbind(el) {\n\t\tremoveListeners(el);\n\t}\n};\n\nfunction getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE$1 = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE$1 = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tnotify: function notify() {\n\t\t\tthis.$emit('notify');\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.notify);\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis.notify();\n\t\t\t}\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE$1 && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.notify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;');\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE$1) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE$1) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install$1(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\t/* -- Add more components here -- */\n}\n\n/* -- Plugin definition & Auto-install -- */\n/* You shouldn't have to modify the code below */\n\n// Plugin\nvar plugin$2 = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.4\",\n\tinstall: install$1\n};\n\n// Auto-install\nvar GlobalVue$1 = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue$1 = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue$1 = global.Vue;\n}\nif (GlobalVue$1) {\n\tGlobalVue$1.use(plugin$2);\n}\n\nfunction getDefault(key) {\n\tvar value = directive.options.popover[key];\n\tif (typeof value === 'undefined') {\n\t\treturn directive.options[key];\n\t}\n\treturn value;\n}\n\nvar isIOS = false;\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n\tisIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\nif (typeof window !== 'undefined') {\n\tElement = window.Element;\n}\n\nvar Popover = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"v-popover\", class: _vm.cssClass }, [_c('span', { ref: \"trigger\", staticClass: \"trigger\", staticStyle: { \"display\": \"inline-block\" }, attrs: { \"aria-describedby\": _vm.popoverId, \"tabindex\": _vm.trigger.indexOf('focus') !== -1 ? 0 : -1 } }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', { ref: \"popover\", class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass], style: {\n\t\t\t\tvisibility: _vm.isOpen ? 'visible' : 'hidden'\n\t\t\t}, attrs: { \"id\": _vm.popoverId, \"aria-hidden\": _vm.isOpen ? 'false' : 'true' } }, [_c('div', { class: _vm.popoverWrapperClass }, [_c('div', { ref: \"inner\", class: _vm.popoverInnerClass, staticStyle: { \"position\": \"relative\" } }, [_c('div', [_vm._t(\"popover\")], 2), _vm._v(\" \"), _vm.handleResize ? _c('ResizeObserver', { on: { \"notify\": _vm.$_handleResize } }) : _vm._e()], 1), _vm._v(\" \"), _c('div', { ref: \"arrow\", class: _vm.popoverArrowClass })])])]);\n\t}, staticRenderFns: [],\n\tname: 'VPopover',\n\n\tcomponents: {\n\t\tResizeObserver: ResizeObserver\n\t},\n\n\tprops: {\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tplacement: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPlacement');\n\t\t\t}\n\t\t},\n\t\tdelay: {\n\t\t\ttype: [String, Number, Object],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultDelay');\n\t\t\t}\n\t\t},\n\t\toffset: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultOffset');\n\t\t\t}\n\t\t},\n\t\ttrigger: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultTrigger');\n\t\t\t}\n\t\t},\n\t\tcontainer: {\n\t\t\ttype: [String, Object, Element, Boolean],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultContainer');\n\t\t\t}\n\t\t},\n\t\tboundariesElement: {\n\t\t\ttype: [String, Element],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultBoundariesElement');\n\t\t\t}\n\t\t},\n\t\tpopperOptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPopperOptions');\n\t\t\t}\n\t\t},\n\t\tpopoverClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultClass');\n\t\t\t}\n\t\t},\n\t\tpopoverBaseClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultBaseClass;\n\t\t\t}\n\t\t},\n\t\tpopoverInnerClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultInnerClass;\n\t\t\t}\n\t\t},\n\t\tpopoverWrapperClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultWrapperClass;\n\t\t\t}\n\t\t},\n\t\tpopoverArrowClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultArrowClass;\n\t\t\t}\n\t\t},\n\t\tautoHide: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultAutoHide;\n\t\t\t}\n\t\t},\n\t\thandleResize: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultHandleResize;\n\t\t\t}\n\t\t},\n\t\topenGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: null\n\t\t}\n\t},\n\n\tdata: function data() {\n\t\treturn {\n\t\t\tisOpen: false,\n\t\t\tid: Math.random().toString(36).substr(2, 10)\n\t\t};\n\t},\n\n\n\tcomputed: {\n\t\tcssClass: function cssClass() {\n\t\t\treturn {\n\t\t\t\t'open': this.isOpen\n\t\t\t};\n\t\t},\n\t\tpopoverId: function popoverId() {\n\t\t\treturn 'popover_' + this.id;\n\t\t}\n\t},\n\n\twatch: {\n\t\topen: function open(val) {\n\t\t\tif (val) {\n\t\t\t\tthis.show();\n\t\t\t} else {\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t},\n\t\tdisabled: function disabled(val, oldVal) {\n\t\t\tif (val !== oldVal) {\n\t\t\t\tif (val) {\n\t\t\t\t\tthis.hide();\n\t\t\t\t} else if (this.open) {\n\t\t\t\t\tthis.show();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcontainer: function container(val) {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\tvar reference = this.$refs.trigger;\n\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.popperInstance.scheduleUpdate();\n\t\t\t}\n\t\t},\n\t\ttrigger: function trigger(val) {\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.$_addEventListeners();\n\t\t},\n\t\tplacement: function placement(val) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.$_updatePopper(function () {\n\t\t\t\t_this.popperInstance.options.placement = val;\n\t\t\t});\n\t\t},\n\n\n\t\toffset: '$_restartPopper',\n\n\t\tboundariesElement: '$_restartPopper',\n\n\t\tpopperOptions: {\n\t\t\thandler: '$_restartPopper',\n\t\t\tdeep: true\n\t\t}\n\t},\n\n\tcreated: function created() {\n\t\tthis.$_isDisposed = false;\n\t\tthis.$_mounted = false;\n\t\tthis.$_events = [];\n\t\tthis.$_preventOpen = false;\n\t},\n\tmounted: function mounted() {\n\t\tvar popoverNode = this.$refs.popover;\n\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\n\t\tthis.$_init();\n\n\t\tif (this.open) {\n\t\t\tthis.show();\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.dispose();\n\t},\n\n\n\tmethods: {\n\t\tshow: function show() {\n\t\t\tvar _this2 = this;\n\n\t\t\tvar _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref.event,\n\t\t\t _ref$skipDelay = _ref.skipDelay,\n\t\t\t skipDelay = _ref$skipDelay === undefined ? false : _ref$skipDelay,\n\t\t\t _ref$force = _ref.force,\n\t\t\t force = _ref$force === undefined ? false : _ref$force;\n\n\t\t\tif (force || !this.disabled) {\n\t\t\t\tthis.$_scheduleShow(event);\n\t\t\t\tthis.$emit('show');\n\t\t\t}\n\t\t\tthis.$emit('update:open', true);\n\t\t\tthis.$_beingShowed = true;\n\t\t\trequestAnimationFrame(function () {\n\t\t\t\t_this2.$_beingShowed = false;\n\t\t\t});\n\t\t},\n\t\thide: function hide() {\n\t\t\tvar _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref2.event,\n\t\t\t _ref2$skipDelay = _ref2.skipDelay;\n\n\t\t\tthis.$_scheduleHide(event);\n\n\t\t\tthis.$emit('hide');\n\t\t\tthis.$emit('update:open', false);\n\t\t},\n\t\tdispose: function dispose() {\n\t\t\tthis.$_isDisposed = true;\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.hide({ skipDelay: true });\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$_mounted = false;\n\t\t\tthis.popperInstance = null;\n\t\t\tthis.isOpen = false;\n\n\t\t\tthis.$emit('dispose');\n\t\t},\n\t\t$_init: function $_init() {\n\t\t\tif (this.trigger.indexOf('manual') === -1) {\n\t\t\t\tthis.$_addEventListeners();\n\t\t\t}\n\t\t},\n\t\t$_show: function $_show() {\n\t\t\tvar _this3 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\n\t\t\t// Already open\n\t\t\tif (this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Popper is already initialized\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.isOpen = true;\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.scheduleUpdate();\n\t\t\t}\n\n\t\t\tif (!this.$_mounted) {\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.$_mounted = true;\n\t\t\t}\n\n\t\t\tif (!this.popperInstance) {\n\t\t\t\tvar popperOptions = _extends$1({}, this.popperOptions, {\n\t\t\t\t\tplacement: this.placement\n\t\t\t\t});\n\n\t\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\t\tarrow: _extends$1({}, popperOptions.modifiers && popperOptions.modifiers.arrow, {\n\t\t\t\t\t\telement: this.$refs.arrow\n\t\t\t\t\t})\n\t\t\t\t});\n\n\t\t\t\tif (this.offset) {\n\t\t\t\t\tvar offset = this.$_getOffset();\n\n\t\t\t\t\tpopperOptions.modifiers.offset = _extends$1({}, popperOptions.modifiers && popperOptions.modifiers.offset, {\n\t\t\t\t\t\toffset: offset\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (this.boundariesElement) {\n\t\t\t\t\tpopperOptions.modifiers.preventOverflow = _extends$1({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow, {\n\t\t\t\t\t\tboundariesElement: this.boundariesElement\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tthis.popperInstance = new Popper(reference, popoverNode, popperOptions);\n\n\t\t\t\t// Fix position\n\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\tif (!_this3.$_isDisposed && _this3.popperInstance) {\n\t\t\t\t\t\t_this3.popperInstance.scheduleUpdate();\n\n\t\t\t\t\t\t// Show the tooltip\n\t\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\t\tif (!_this3.$_isDisposed) {\n\t\t\t\t\t\t\t\t_this3.isOpen = true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tvar openGroup = this.openGroup;\n\t\t\tif (openGroup) {\n\t\t\t\tvar popover = void 0;\n\t\t\t\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\t\t\t\tpopover = openPopovers[i];\n\t\t\t\t\tif (popover.openGroup !== openGroup) {\n\t\t\t\t\t\tpopover.hide();\n\t\t\t\t\t\tpopover.$emit('close-group');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\topenPopovers.push(this);\n\n\t\t\tthis.$emit('apply-show');\n\t\t},\n\t\t$_hide: function $_hide() {\n\t\t\tvar _this4 = this;\n\n\t\t\t// Already hidden\n\t\t\tif (!this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar index = openPopovers.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenPopovers.splice(index, 1);\n\t\t\t}\n\n\t\t\tthis.isOpen = false;\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.disableEventListeners();\n\t\t\t}\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\t\t\tvar disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis.$_disposeTimer = setTimeout(function () {\n\t\t\t\t\tvar popoverNode = _this4.$refs.popover;\n\t\t\t\t\tif (popoverNode) {\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t\t\t_this4.$_mounted = false;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\n\t\t\tthis.$emit('apply-hide');\n\t\t},\n\t\t$_findContainer: function $_findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t},\n\t\t$_getOffset: function $_getOffset() {\n\t\t\tvar typeofOffset = _typeof(this.offset);\n\t\t\tvar offset = this.offset;\n\n\t\t\t// One value -> switch\n\t\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\t\toffset = '0, ' + offset;\n\t\t\t}\n\n\t\t\treturn offset;\n\t\t},\n\t\t$_addEventListeners: function $_addEventListeners() {\n\t\t\tvar _this5 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tvar events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (_this5.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevent.usedByTooltip = true;\n\t\t\t\t\t!_this5.$_preventOpen && _this5.show({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (event.usedByTooltip) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this5.hide({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t},\n\t\t$_scheduleShow: function $_scheduleShow() {\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_show();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_scheduleHide: function $_scheduleHide() {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_hide();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(function () {\n\t\t\t\t\tif (!_this6.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\t\tif (event && event.type === 'mouseleave') {\n\t\t\t\t\t\tvar isSet = _this6.$_setTooltipNodeEvent(event);\n\n\t\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t_this6.$_hide();\n\t\t\t\t}, computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n\t\t\tvar _this7 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tvar relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n\t\t\tvar callback = function callback(event2) {\n\t\t\t\tvar relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget;\n\n\t\t\t\t// Remove event listener after call\n\t\t\t\tpopoverNode.removeEventListener(event.type, callback);\n\n\t\t\t\t// If the new reference is not the reference element\n\t\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t\t_this7.hide({ event: event2 });\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (popoverNode.contains(relatedreference)) {\n\t\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t\tpopoverNode.addEventListener(event.type, callback);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t\t$_removeEventListeners: function $_removeEventListeners() {\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tthis.$_events.forEach(function (_ref3) {\n\t\t\t\tvar func = _ref3.func,\n\t\t\t\t event = _ref3.event;\n\n\t\t\t\treference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis.$_events = [];\n\t\t},\n\t\t$_updatePopper: function $_updatePopper(cb) {\n\t\t\tif (this.popperInstance) {\n\t\t\t\tcb();\n\t\t\t\tif (this.isOpen) this.popperInstance.scheduleUpdate();\n\t\t\t}\n\t\t},\n\t\t$_restartPopper: function $_restartPopper() {\n\t\t\tif (this.popperInstance) {\n\t\t\t\tvar isOpen = this.isOpen;\n\t\t\t\tthis.dispose();\n\t\t\t\tthis.$_isDisposed = false;\n\t\t\t\tthis.$_init();\n\t\t\t\tif (isOpen) {\n\t\t\t\t\tthis.show({ skipDelay: true, force: true });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t$_handleGlobalClose: function $_handleGlobalClose(event) {\n\t\t\tvar _this8 = this;\n\n\t\t\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tif (this.$_beingShowed) return;\n\n\t\t\tthis.hide({ event: event });\n\n\t\t\tif (event.closePopover) {\n\t\t\t\tthis.$emit('close-directive');\n\t\t\t} else {\n\t\t\t\tthis.$emit('auto-hide');\n\t\t\t}\n\n\t\t\tif (touch) {\n\t\t\t\tthis.$_preventOpen = true;\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t_this8.$_preventOpen = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t},\n\t\t$_handleResize: function $_handleResize() {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tthis.popperInstance.scheduleUpdate();\n\t\t\t\tthis.$emit('resize');\n\t\t\t}\n\t\t}\n\t}\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n\tif (isIOS) {\n\t\tdocument.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n\t\t\tpassive: true,\n\t\t\tcapture: true\n\t\t} : true);\n\t} else {\n\t\twindow.addEventListener('click', handleGlobalClick, true);\n\t}\n}\n\nfunction handleGlobalClick(event) {\n\thandleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n\thandleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t// Delay so that close directive has time to set values\n\trequestAnimationFrame(function () {\n\t\tvar popover = void 0;\n\t\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\t\tpopover = openPopovers[i];\n\t\t\tif (popover.$refs.popover) {\n\t\t\t\tvar contains = popover.$refs.popover.contains(event.target);\n\t\t\t\tif (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n\t\t\t\t\tpopover.$_handleGlobalClose(event, touch);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n}\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar lodash_merge = createCommonjsModule(function (module, exports) {\n/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = 'object' == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n return key == '__proto__'\n ? undefined\n : object[key];\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeMax = Math.max,\n nativeNow = Date.now;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = merge;\n});\n\nfunction install(Vue) {\n\tvar options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\tif (install.installed) return;\n\tinstall.installed = true;\n\n\tvar finalOptions = {};\n\tlodash_merge(finalOptions, defaultOptions, options);\n\n\tplugin.options = finalOptions;\n\tdirective.options = finalOptions;\n\n\tVue.directive('tooltip', directive);\n\tVue.directive('close-popover', vclosepopover);\n\tVue.component('v-popover', Popover);\n}\n\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = Popover;\n\nvar plugin = {\n\tinstall: install,\n\n\tget enabled() {\n\t\treturn state.enabled;\n\t},\n\n\tset enabled(value) {\n\t\tstate.enabled = value;\n\t}\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, VTooltip, VClosePopover, VPopover, createTooltip, destroyTooltip };\nexport default plugin;\n","/*!\n * vue-infinite-loading v2.4.3\n * (c) 2016-2018 PeachScript\n * MIT License\n */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueInfiniteLoading=e():t.VueInfiniteLoading=e()}(this,function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"\",n(n.s=9)}([function(t,e,n){var i=n(6);\"string\"==typeof i&&(i=[[t.i,i,\"\"]]),i.locals&&(t.exports=i.locals);(0,n(3).default)(\"09280948\",i,!0,{})},function(t,e,n){var i=n(8);\"string\"==typeof i&&(i=[[t.i,i,\"\"]]),i.locals&&(t.exports=i.locals);(0,n(3).default)(\"65938a1f\",i,!0,{})},function(t,e){t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var n=function(t,e){var n=t[1]||\"\",i=t[3];if(!i)return n;if(e&&\"function\"==typeof btoa){var r=(o=i,\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+\" */\"),a=i.sources.map(function(t){return\"/*# sourceURL=\"+i.sourceRoot+t+\" */\"});return[n].concat(a).concat([r]).join(\"\\n\")}var o;return[n].join(\"\\n\")}(e,t);return e[2]?\"@media \"+e[2]+\"{\"+n+\"}\":n}).join(\"\")},e.i=function(t,n){\"string\"==typeof t&&(t=[[null,t,\"\"]]);for(var i={},r=0;rn.parts.length&&(i.parts.length=n.parts.length)}else{var o=[];for(r=0;r',\"\\nscript:\\n...\\ninfiniteHandler($state) {\\n ajax('https://www.example.com/api/news')\\n .then((res) => {\\n if (res.data.length) {\\n $state.loaded();\\n } else {\\n $state.complete();\\n }\\n });\\n}\\n...\",\"\",\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549\"].join(\"\\n\"),INFINITE_EVENT:\"`:on-infinite` property will be deprecated soon, please use `@infinite` event instead.\",IDENTIFIER:\"the `reset` event will be deprecated soon, please reset this component by change the `identifier` property.\"},o={INFINITE_LOOP:[\"executed the callback function more than \".concat(i.loopCheckMaxCalls,\" times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:\"),'\\n\\x3c!-- add a special attribute for the real scroll wrapper --\\x3e\\n
\\n ...\\n \\x3c!-- set force-use-infinite-wrapper --\\x3e\\n \\n
\\nor\\n
\\n ...\\n \\x3c!-- set force-use-infinite-wrapper as css selector of the real scroll wrapper --\\x3e\\n \\n
\\n ',\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169\"].join(\"\\n\")},s={READY:0,LOADING:1,COMPLETE:2,ERROR:3},l={color:\"#666\",fontSize:\"14px\",padding:\"10px 0\"},d={mode:\"development\",props:{spinner:\"default\",distance:100,forceUseInfiniteWrapper:!1},system:i,slots:{noResults:\"No results :(\",noMore:\"No more data :)\",error:\"Opps, something went wrong :(\",errorBtnText:\"Retry\",spinner:\"\"},WARNINGS:a,ERRORS:o,STATUS:s},c=n(4),u=n.n(c),p={BUBBLES:{render:function(t){return t(\"span\",{attrs:{class:\"loading-bubbles\"}},Array.apply(Array,Array(8)).map(function(){return t(\"span\",{attrs:{class:\"bubble-item\"}})}))}},CIRCLES:{render:function(t){return t(\"span\",{attrs:{class:\"loading-circles\"}},Array.apply(Array,Array(8)).map(function(){return t(\"span\",{attrs:{class:\"circle-item\"}})}))}},DEFAULT:{render:function(t){return t(\"i\",{attrs:{class:\"loading-default\"}})}},SPIRAL:{render:function(t){return t(\"i\",{attrs:{class:\"loading-spiral\"}})}},WAVEDOTS:{render:function(t){return t(\"span\",{attrs:{class:\"loading-wave-dots\"}},Array.apply(Array,Array(5)).map(function(){return t(\"span\",{attrs:{class:\"wave-item\"}})}))}}};function f(t,e,n,i,r,a,o,s){var l,d=\"function\"==typeof t?t.options:t;if(e&&(d.render=e,d.staticRenderFns=n,d._compiled=!0),i&&(d.functional=!0),a&&(d._scopeId=\"data-v-\"+a),o?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},d._ssrRegister=l):r&&(l=s?function(){r.call(this,this.$root.$options.shadowRoot)}:r),l)if(d.functional){d._injectStyles=l;var c=d.render;d.render=function(t,e){return l.call(e),c(t,e)}}else{var u=d.beforeCreate;d.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:d}}var b=f({name:\"Spinner\",computed:{spinnerView:function(){return p[(this.$attrs.spinner||\"\").toUpperCase()]||this.spinnerInConfig},spinnerInConfig:function(){return d.slots.spinner&&\"string\"==typeof d.slots.spinner?{render:function(){return this._v(d.slots.spinner)}}:\"object\"===u()(d.slots.spinner)?d.slots.spinner:p[d.props.spinner.toUpperCase()]||p.DEFAULT}}},function(){var t=this.$createElement;return(this._self._c||t)(this.spinnerView,{tag:\"component\"})},[],!1,function(t){var e=n(5);e.__inject__&&e.__inject__(t)},\"46b20d22\",null);b.options.__file=\"Spinner.vue\";var h=b.exports;function m(t){\"production\"!==d.mode&&console.warn(\"[Vue-infinite-loading warn]: \".concat(t))}function g(t){console.error(\"[Vue-infinite-loading error]: \".concat(t))}var v={timers:[],caches:[],throttle:function(t){var e=this;-1===this.caches.indexOf(t)&&(this.caches.push(t),this.timers.push(setTimeout(function(){t(),e.caches.splice(e.caches.indexOf(t),1),e.timers.shift()},d.system.throttleLimit)))},reset:function(){this.timers.forEach(function(t){clearTimeout(t)}),this.timers.length=0,this.caches=[]}},y={isChecked:!1,timer:null,times:0,track:function(){var t=this;this.times+=1,clearTimeout(this.timer),this.timer=setTimeout(function(){t.isChecked=!0},d.system.loopCheckTimeout),this.times>d.system.loopCheckMaxCalls&&(g(o.INFINITE_LOOP),this.isChecked=!0)}},w={key:\"_infiniteScrollHeight\",getScrollElm:function(t){return t===window?document.documentElement:t},save:function(t){var e=this.getScrollElm(t);e[this.key]=e.scrollHeight},restore:function(t){var e=this.getScrollElm(t);\"number\"==typeof e[this.key]&&(e.scrollTop=e.scrollHeight-e[this.key]+e.scrollTop),this.remove(e)},remove:function(t){void 0!==t[this.key]&&delete t[this.key]}};function x(t){return t.replace(/[A-Z]/g,function(t){return\"-\".concat(t.toLowerCase())})}function k(t){return t.offsetWidth+t.offsetHeight>0}var S=f({name:\"InfiniteLoading\",data:function(){return{scrollParent:null,scrollHandler:null,isFirstLoad:!0,status:s.READY,slots:d.slots}},components:{Spinner:h},computed:{isShowSpinner:function(){return this.status===s.LOADING},isShowError:function(){return this.status===s.ERROR},isShowNoResults:function(){return this.status===s.COMPLETE&&this.isFirstLoad},isShowNoMore:function(){return this.status===s.COMPLETE&&!this.isFirstLoad},slotStyles:function(){var t=this,e={};return Object.keys(d.slots).forEach(function(n){var i=x(n);(!t.$slots[i]&&!d.slots[n].render||t.$slots[i]&&!t.$slots[i][0].tag)&&(e[n]=l)}),e}},props:{distance:{type:Number,default:d.props.distance},spinner:String,direction:{type:String,default:\"bottom\"},forceUseInfiniteWrapper:{type:[Boolean,String],default:d.props.forceUseInfiniteWrapper},identifier:{default:+new Date},onInfinite:Function},watch:{identifier:function(){this.stateChanger.reset()}},mounted:function(){var t=this;this.$watch(\"forceUseInfiniteWrapper\",function(){t.scrollParent=t.getScrollParent()},{immediate:!0}),this.scrollHandler=function(t){this.status===s.READY&&(t&&t.constructor===Event&&k(this.$el)?v.throttle(this.attemptLoad):this.attemptLoad())}.bind(this),setTimeout(this.scrollHandler,1),this.scrollParent.addEventListener(\"scroll\",this.scrollHandler,r),this.$on(\"$InfiniteLoading:loaded\",function(e){t.isFirstLoad=!1,\"top\"===t.direction&&t.$nextTick(function(){w.restore(t.scrollParent)}),t.status===s.LOADING&&t.$nextTick(t.attemptLoad.bind(null,!0)),e&&e.target===t||m(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:complete\",function(e){t.status=s.COMPLETE,t.$nextTick(function(){t.$forceUpdate()}),t.scrollParent.removeEventListener(\"scroll\",t.scrollHandler,r),e&&e.target===t||m(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:reset\",function(e){t.status=s.READY,t.isFirstLoad=!0,w.remove(t.scrollParent),t.scrollParent.addEventListener(\"scroll\",t.scrollHandler,r),setTimeout(function(){v.reset(),t.scrollHandler()},1),e&&e.target===t||m(a.IDENTIFIER)}),this.stateChanger={loaded:function(){t.$emit(\"$InfiniteLoading:loaded\",{target:t})},complete:function(){t.$emit(\"$InfiniteLoading:complete\",{target:t})},reset:function(){t.$emit(\"$InfiniteLoading:reset\",{target:t})},error:function(){t.status=s.ERROR,v.reset()}},this.onInfinite&&m(a.INFINITE_EVENT)},deactivated:function(){this.status===s.LOADING&&(this.status=s.READY),this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler,r)},activated:function(){this.scrollParent.addEventListener(\"scroll\",this.scrollHandler,r)},methods:{attemptLoad:function(t){var e=this;this.status!==s.COMPLETE&&k(this.$el)&&this.getCurrentDistance()<=this.distance?(this.status=s.LOADING,\"top\"===this.direction&&this.$nextTick(function(){w.save(e.scrollParent)}),\"function\"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit(\"infinite\",this.stateChanger),!t||this.forceUseInfiniteWrapper||y.isChecked||y.track()):this.status===s.LOADING&&(this.status=s.READY)},getCurrentDistance:function(){var t;\"top\"===this.direction?t=\"number\"==typeof this.scrollParent.scrollTop?this.scrollParent.scrollTop:this.scrollParent.pageYOffset:t=this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom);return t},getScrollParent:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el;return\"string\"==typeof this.forceUseInfiniteWrapper&&(t=e.querySelector(this.forceUseInfiniteWrapper)),t||(\"BODY\"===e.tagName?t=window:!this.forceUseInfiniteWrapper&&[\"scroll\",\"auto\"].indexOf(getComputedStyle(e).overflowY)>-1?t=e:(e.hasAttribute(\"infinite-wrapper\")||e.hasAttribute(\"data-infinite-wrapper\"))&&(t=e)),t||this.getScrollParent(e.parentNode)}},destroyed:function(){!this.status!==s.COMPLETE&&(v.reset(),w.remove(this.scrollParent),this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler,r))}},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"infinite-loading-container\"},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isShowSpinner,expression:\"isShowSpinner\"}],staticClass:\"infinite-status-prompt\",style:t.slotStyles.spinner},[t._t(\"spinner\",[n(\"spinner\",{attrs:{spinner:t.spinner}})])],2),t._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isShowNoResults,expression:\"isShowNoResults\"}],staticClass:\"infinite-status-prompt\",style:t.slotStyles.noResults},[t._t(\"no-results\",[t.slots.noResults.render?n(t.slots.noResults,{tag:\"component\"}):[t._v(t._s(t.slots.noResults))]])],2),t._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isShowNoMore,expression:\"isShowNoMore\"}],staticClass:\"infinite-status-prompt\",style:t.slotStyles.noMore},[t._t(\"no-more\",[t.slots.noMore.render?n(t.slots.noMore,{tag:\"component\"}):[t._v(t._s(t.slots.noMore))]])],2),t._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isShowError,expression:\"isShowError\"}],staticClass:\"infinite-status-prompt\",style:t.slotStyles.error},[t._t(\"error\",[t.slots.error.render?n(t.slots.error,{tag:\"component\",attrs:{trigger:t.attemptLoad}}):[t._v(\"\\n \"+t._s(t.slots.error)+\"\\n \"),n(\"br\"),t._v(\" \"),n(\"button\",{staticClass:\"btn-try-infinite\",domProps:{textContent:t._s(t.slots.errorBtnText)},on:{click:t.attemptLoad}})]],{trigger:t.attemptLoad})],2)])},[],!1,function(t){var e=n(7);e.__inject__&&e.__inject__(t)},\"358985eb\",null);S.options.__file=\"InfiniteLoading.vue\";var E=S.exports;function _(t){d.mode=t.config.productionTip?\"development\":\"production\"}Object.defineProperty(E,\"install\",{configurable:!1,enumerable:!1,value:function(t,e){Object.assign(d.props,e&&e.props),Object.assign(d.slots,e&&e.slots),Object.assign(d.system,e&&e.system),t.component(\"infinite-loading\",E),_(t)}}),\"undefined\"!=typeof window&&window.Vue&&(window.Vue.component(\"infinite-loading\",E),_(window.Vue));e.default=E}])});"],"sourceRoot":""}