\";\n return div.innerHTML.indexOf('
') > 0\n}\n\n// #3663: IE encodes newlines inside attribute values while other browsers don't\nvar shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;\n// #6828: chrome encodes content in a[href]\nvar shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;\n\n/* */\n\nvar idToTemplate = cached(function (id) {\n var el = query(id);\n return el && el.innerHTML\n});\n\nvar mount = Vue.prototype.$mount;\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && query(el);\n\n /* istanbul ignore if */\n if (el === document.body || el === document.documentElement) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Do not mount Vue to or - mount to normal elements instead.\"\n );\n return this\n }\n\n var options = this.$options;\n // resolve template/el and convert to render function\n if (!options.render) {\n var template = options.template;\n if (template) {\n if (typeof template === 'string') {\n if (template.charAt(0) === '#') {\n template = idToTemplate(template);\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && !template) {\n warn(\n (\"Template element not found or is empty: \" + (options.template)),\n this\n );\n }\n }\n } else if (template.nodeType) {\n template = template.innerHTML;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn('invalid template option:' + template, this);\n }\n return this\n }\n } else if (el) {\n template = getOuterHTML(el);\n }\n if (template) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile');\n }\n\n var ref = compileToFunctions(template, {\n shouldDecodeNewlines: shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,\n delimiters: options.delimiters,\n comments: options.comments\n }, this);\n var render = ref.render;\n var staticRenderFns = ref.staticRenderFns;\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile end');\n measure((\"vue \" + (this._name) + \" compile\"), 'compile', 'compile end');\n }\n }\n }\n return mount.call(this, el, hydrating)\n};\n\n/**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n */\nfunction getOuterHTML (el) {\n if (el.outerHTML) {\n return el.outerHTML\n } else {\n var container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML\n }\n}\n\nVue.compile = compileToFunctions;\n\nexport default Vue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue/dist/vue.esm.js\n// module id = 7+uW\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-object.js\n// module id = 77Pl\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/adapters/xhr.js\n// module id = 7GwW\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_global.js\n// module id = 7KvD\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_microtask.js\n// module id = 82Mu\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine.js\n// module id = 880/\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-create.js\n// module id = 94VQ\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.promise.js\n// module id = CXw9\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.keys.js\n// module id = Cdx3\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_has.js\n// module id = D2L2\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/buildURL.js\n// module id = DQCr\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = DuR2\n// module chunks = 0","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-step.js\n// module id = EGZi\n// module chunks = 0","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.finally.js\n// module id = EqBC\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-object.js\n// module id = EqjI\n// module chunks = 0","var core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_core.js\n// module id = FeBl\n// module chunks = 0","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/createError.js\n// module id = FtD3\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/isURLSameOrigin.js\n// module id = GHBc\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = Ibhu\n// module chunks = 0","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/bind.js\n// module id = JP+z\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/defaults.js\n// module id = KCLY\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_task.js\n// module id = L42u\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iobject.js\n// module id = MU5D\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array-iter.js\n// module id = Mhyx\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-primitive.js\n// module id = MmMw\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_for-of.js\n// module id = NWt+\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-pie.js\n// module id = NpIQ\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_library.js\n// module id = O4g8\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_dom-create.js\n// module id = ON07\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gpo.js\n// module id = PzxK\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-length.js\n// module id = QRG4\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.assign.js\n// module id = R4wc\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_cof.js\n// module id = R9M2\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_html.js\n// module id = RPLV\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_classof.js\n// module id = RY/4\n// module chunks = 0","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh
\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/is-buffer/index.js\n// module id = Re3r\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_fails.js\n// module id = S82l\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = SfB7\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/transformData.js\n// module id = TNV1\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-iobject.js\n// module id = TcQ7\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-assign.js\n// module id = To3L\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/promise.js\n// module id = U5ju\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-integer.js\n// module id = UuGF\n// module chunks = 0","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/assign.js\n// module id = V3tA\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = VU/8\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = W2nU\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_property-desc.js\n// module id = X8DO\n// module chunks = 0","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/Axios.js\n// module id = XmWM\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-create.js\n// module id = Yobk\n// module chunks = 0","/**!\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\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/popper.js/dist/esm/popper.js\n// module id = Zgw8\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared-key.js\n// module id = ax3d\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-species.js\n// module id = bRrM\n// module chunks = 0","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/utils.js\n// module id = cGG2\n// module chunks = 0","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/cancel/CancelToken.js\n// module id = cWxy\n// module chunks = 0","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/isAbsoluteURL.js\n// module id = dIwP\n// module chunks = 0","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_perform.js\n// module id = dNDb\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks.js\n// module id = dSzd\n// module chunks = 0","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/cancel/Cancel.js\n// module id = dVOP\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-detect.js\n// module id = dY0y\n// module chunks = 0","var __assign=Object.assign||function(e){for(var a,s=1,t=arguments.length;s 0 ? 1 : -1) * Math.floor(Math.abs(number));\n };\n var maxSafeInteger = Math.pow(2, 53) - 1;\n var toLength = function toLength(value) {\n return Math.min(Math.max(toInteger(value), 0), maxSafeInteger);\n };\n\n // The length property of the from method is 1.\n return function from(arrayLike /*, mapFn, thisArg */) {\n // 1. Let C be the this value.\n var C = this;\n\n // 2. Let items be ToObject(arrayLike).\n var items = Object(arrayLike);\n\n // 3. ReturnIfAbrupt(items).\n if (arrayLike == null) {\n throw new TypeError('Array.from requires an array-like object - not null or undefined');\n }\n\n // 4. If mapfn is undefined, then let mapping be false.\n var mapFn = arguments.length > 1 ? arguments[1] : void undefined;\n var T = void 0;\n\n if (typeof mapFn !== 'undefined') {\n // 5. else\n // 5. a If IsCallable(mapfn) is false, throw a TypeError exception.\n if (!isCallable(mapFn)) {\n throw new TypeError('Array.from: when provided, the second argument must be a function');\n }\n\n // 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined.\n if (arguments.length > 2) {\n T = arguments[2];\n }\n }\n\n // 10. Let lenValue be Get(items, \"length\").\n // 11. Let len be ToLength(lenValue).\n var len = toLength(items.length);\n\n // 13. If IsConstructor(C) is true, then\n // 13. a. Let A be the result of calling the [[Construct]] internal method\n // of C with an argument list containing the single item len.\n // 14. a. Else, Let A be ArrayCreate(len).\n var A = isCallable(C) ? Object(new C(len)) : new Array(len);\n\n // 16. Let k be 0.\n var k = 0;\n // 17. Repeat, while k < len… (also steps a - h)\n var kValue = void 0;\n while (k < len) {\n kValue = items[k];\n if (mapFn) {\n A[k] = typeof T === 'undefined' ? mapFn(kValue, k) : mapFn.call(T, kValue, k);\n } else {\n A[k] = kValue;\n }\n k += 1;\n }\n // 18. Let putStatus be Put(A, \"length\", len, true).\n A.length = len;\n // 20. Return A.\n return A;\n };\n }();\n}\n\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n// Needed for IE support\nif (!Array.prototype.find) {\n // eslint-disable-next-line no-extend-native\n Object.defineProperty(Array.prototype, 'find', {\n value: function value(predicate) {\n // 1. Let O be ? ToObject(this value).\n if (this == null) {\n throw new TypeError('\"this\" is null or not defined');\n }\n\n var o = Object(this);\n\n // 2. Let len be ? ToLength(? Get(O, \"length\")).\n var len = o.length >>> 0;\n\n // 3. If IsCallable(predicate) is false, throw a TypeError exception.\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n\n // 4. If thisArg was supplied, let T be thisArg; else let T be undefined.\n var thisArg = arguments[1];\n\n // 5. Let k be 0.\n var k = 0;\n\n // 6. Repeat, while k < len\n while (k < len) {\n // a. Let Pk be ! ToString(k).\n // b. Let kValue be ? Get(O, Pk).\n // c. Let testResult be ToBoolean(? Call(predicate, T, « kValue, k, O »)).\n // d. If testResult is true, return kValue.\n var kValue = o[k];\n if (predicate.call(thisArg, kValue, k, o)) {\n return kValue;\n }\n // e. Increase k by 1.\n k++;\n }\n\n // 7. Return undefined.\n return undefined;\n }\n });\n}\n\nif (!Array.isArray) {\n Array.isArray = function (arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n };\n}\n\n// Static\nexport var from = Array.from;\nexport var isArray = Array.isArray;\n\n// Instance\nexport var arrayIncludes = function arrayIncludes(array, value) {\n return array.indexOf(value) !== -1;\n};\nexport var arrayFind = function arrayFind(array, fn, thisArg) {\n return array.find(fn, thisArg);\n};\nexport function concat() {\n return Array.prototype.concat.apply([], arguments);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/array.js\n// module id = null\n// module chunks = ","export default function identity(x) {\n return x;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/identity.js\n// module id = null\n// module chunks = ","import { keys } from './object';\nimport { isArray } from './array';\nimport identity from './identity';\n\n/**\n * Given an array of properties or an object of property keys,\n * plucks all the values off the target object.\n * @param {{}|string[]} keysToPluck\n * @param {{}} objToPluck\n * @param {Function} transformFn\n * @return {{}}\n */\nexport default function pluckProps(keysToPluck, objToPluck) {\n var transformFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : identity;\n\n return (isArray(keysToPluck) ? keysToPluck.slice() : keys(keysToPluck)).reduce(function (memo, prop) {\n // eslint-disable-next-line no-sequences\n return memo[transformFn(prop)] = objToPluck[prop], memo;\n }, {});\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/pluck-props.js\n// module id = null\n// module chunks = ","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { assign, keys } from '../../utils/object';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { mergeData } from 'vue-functional-data-merge';\n\n/**\n * The Link component is used in many other BV components.\n * As such, sharing its props makes supporting all its features easier.\n * However, some components need to modify the defaults for their own purpose.\n * Prefer sharing a fresh copy of the props to ensure mutations\n * do not affect other component references to the props.\n *\n * https://github.com/vuejs/vue-router/blob/dev/src/components/link.js\n * @return {{}}\n */\nexport function propsFactory() {\n return {\n href: {\n type: String,\n default: null\n },\n rel: {\n type: String,\n default: null\n },\n target: {\n type: String,\n default: '_self'\n },\n active: {\n type: Boolean,\n default: false\n },\n activeClass: {\n type: String,\n default: 'active'\n },\n append: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n event: {\n type: [String, Array],\n default: 'click'\n },\n exact: {\n type: Boolean,\n default: false\n },\n exactActiveClass: {\n type: String,\n default: 'active'\n },\n replace: {\n type: Boolean,\n default: false\n },\n routerTag: {\n type: String,\n default: 'a'\n },\n to: {\n type: [String, Object],\n default: null\n }\n };\n}\n\nexport var props = propsFactory();\n\nexport function pickLinkProps(propsToPick) {\n var freshLinkProps = propsFactory();\n // Normalize everything to array.\n propsToPick = concat(propsToPick);\n\n return keys(freshLinkProps).reduce(function (memo, prop) {\n if (arrayIncludes(propsToPick, prop)) {\n memo[prop] = freshLinkProps[prop];\n }\n\n return memo;\n }, {});\n}\n\nexport function omitLinkProps(propsToOmit) {\n var freshLinkProps = propsFactory();\n // Normalize everything to array.\n propsToOmit = concat(propsToOmit);\n\n return keys(props).reduce(function (memo, prop) {\n if (!arrayIncludes(propsToOmit, prop)) {\n memo[prop] = freshLinkProps[prop];\n }\n\n return memo;\n }, {});\n}\n\nexport var computed = {\n linkProps: function linkProps() {\n var linkProps = {};\n var propKeys = keys(props);\n\n for (var i = 0; i < propKeys.length; i++) {\n var prop = propKeys[i];\n // Computed Vue getters are bound to the instance.\n linkProps[prop] = this[prop];\n }\n\n return linkProps;\n }\n};\n\nfunction computeTag(props, parent) {\n return Boolean(parent.$router) && props.to && !props.disabled ? 'router-link' : 'a';\n}\n\nfunction computeHref(_ref, tag) {\n var disabled = _ref.disabled,\n href = _ref.href,\n to = _ref.to;\n\n // We've already checked the parent.$router in computeTag,\n // so router-link means live router.\n // When deferring to Vue Router's router-link,\n // don't use the href attr at all.\n // Must return undefined for router-link to populate href.\n if (tag === 'router-link') return void 0;\n // If href explicitly provided\n if (href) return href;\n // Reconstruct href when `to` used, but no router\n if (to) {\n // Fallback to `to` prop (if `to` is a string)\n if (typeof to === 'string') return to;\n // Fallback to `to.path` prop (if `to` is an object)\n if ((typeof to === 'undefined' ? 'undefined' : _typeof(to)) === 'object' && typeof to.path === 'string') return to.path;\n }\n // If nothing is provided use '#'\n return '#';\n}\n\nfunction computeRel(_ref2) {\n var target = _ref2.target,\n rel = _ref2.rel;\n\n if (target === '_blank' && rel === null) {\n return 'noopener';\n }\n return rel || null;\n}\n\nfunction clickHandlerFactory(_ref3) {\n var disabled = _ref3.disabled,\n tag = _ref3.tag,\n href = _ref3.href,\n suppliedHandler = _ref3.suppliedHandler,\n parent = _ref3.parent;\n\n var isRouterLink = tag === 'router-link';\n\n return function onClick(e) {\n if (disabled && e instanceof Event) {\n // Stop event from bubbling up.\n e.stopPropagation();\n // Kill the event loop attached to this specific EventTarget.\n e.stopImmediatePropagation();\n } else {\n parent.$root.$emit('clicked::link', e);\n\n if (isRouterLink && e.target.__vue__) {\n e.target.__vue__.$emit('click', e);\n }\n if (typeof suppliedHandler === 'function') {\n suppliedHandler.apply(undefined, arguments);\n }\n }\n\n if (!isRouterLink && href === '#' || disabled) {\n // Stop scroll-to-top behavior or navigation.\n e.preventDefault();\n }\n };\n}\n\nexport default {\n functional: true,\n props: propsFactory(),\n render: function render(h, _ref4) {\n var props = _ref4.props,\n data = _ref4.data,\n parent = _ref4.parent,\n children = _ref4.children;\n\n var tag = computeTag(props, parent);\n var rel = computeRel(props);\n var href = computeHref(props, tag);\n var eventType = tag === 'router-link' ? 'nativeOn' : 'on';\n var suppliedHandler = (data[eventType] || {}).click;\n var handlers = { click: clickHandlerFactory({ tag: tag, href: href, disabled: props.disabled, suppliedHandler: suppliedHandler, parent: parent }) };\n\n var componentData = mergeData(data, {\n class: [props.active ? props.exact ? props.exactActiveClass : props.activeClass : null, { disabled: props.disabled }],\n attrs: {\n rel: rel,\n href: href,\n target: props.target,\n tabindex: props.disabled ? '-1' : data.attrs ? data.attrs.tabindex : null,\n 'aria-disabled': tag === 'a' && props.disabled ? 'true' : null\n },\n props: assign(props, { tag: props.routerTag })\n });\n\n // If href prop exists on router-link (even undefined or null) it fails working on SSR\n if (!componentData.attrs.href) {\n delete componentData.attrs.href;\n }\n\n // We want to overwrite any click handler since our callback\n // will invoke the supplied handler if !props.disabled\n componentData[eventType] = assign(componentData[eventType] || {}, handlers);\n\n return h(tag, componentData, children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/link/link.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\n\nimport pluckProps from '../../utils/pluck-props';\nimport { assign } from '../../utils/object';\nimport Link, { propsFactory as linkPropsFactory } from '../link/link';\n\nvar linkProps = linkPropsFactory();\ndelete linkProps.href.default;\ndelete linkProps.to.default;\n\nexport var props = assign(linkProps, {\n tag: {\n type: String,\n default: 'span'\n },\n variant: {\n type: String,\n default: 'secondary'\n },\n pill: {\n type: Boolean,\n default: false\n }\n});\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var tag = !props.href && !props.to ? props.tag : Link;\n\n var componentData = {\n staticClass: 'badge',\n class: [!props.variant ? 'badge-secondary' : 'badge-' + props.variant, {\n 'badge-pill': Boolean(props.pill),\n active: props.active,\n disabled: props.disabled\n }],\n props: pluckProps(linkProps, props)\n };\n\n return h(tag, mergeData(data, componentData), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/badge/badge.js\n// module id = null\n// module chunks = ","import bBadge from './badge';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bBadge: bBadge\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/badge/index.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\nimport pluckProps from '../../utils/pluck-props';\nimport { assign } from '../../utils/object';\nimport Link, { propsFactory as linkPropsFactory } from '../link/link';\n\nexport var props = assign(linkPropsFactory(), {\n text: {\n type: String,\n default: null\n },\n active: {\n type: Boolean,\n default: false\n },\n href: {\n type: String,\n default: '#'\n },\n ariaCurrent: {\n type: String,\n default: 'location'\n }\n});\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var suppliedProps = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var tag = suppliedProps.active ? 'span' : Link;\n\n var componentData = { props: pluckProps(props, suppliedProps) };\n if (suppliedProps.active) {\n componentData.attrs = { 'aria-current': suppliedProps.ariaCurrent };\n } else {\n componentData.attrs = { href: suppliedProps.href };\n }\n\n return h(tag, mergeData(data, componentData), children || suppliedProps.text);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/breadcrumb/breadcrumb-link.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\nimport { assign } from '../../utils/object';\nimport BreadcrumbLink, { props as crumbLinks } from './breadcrumb-link';\n\nexport var props = assign({}, crumbLinks, {\n text: {\n type: String,\n default: null\n },\n href: {\n type: String,\n default: null\n }\n});\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h('li', mergeData(data, {\n staticClass: 'breadcrumb-item',\n class: { active: props.active },\n attrs: { role: 'presentation' }\n }), [h(BreadcrumbLink, { props: props }, children)]);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/breadcrumb/breadcrumb-item.js\n// module id = null\n// module chunks = ","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport { isArray } from '../../utils/array';\nimport { assign } from '../../utils/object';\nimport BreadcrumbItem from './breadcrumb-item';\n\nexport var props = {\n items: {\n type: Array,\n default: null\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var childNodes = children;\n // Build child nodes from items if given.\n if (isArray(props.items)) {\n var activeDefined = false;\n childNodes = props.items.map(function (item, idx) {\n if ((typeof item === 'undefined' ? 'undefined' : _typeof(item)) !== 'object') {\n item = { text: item };\n }\n // Copy the value here so we can normalize it.\n var active = item.active;\n if (active) {\n activeDefined = true;\n }\n if (!active && !activeDefined) {\n // Auto-detect active by position in list.\n active = idx + 1 === props.items.length;\n }\n\n return h(BreadcrumbItem, { props: assign({}, item, { active: active }) });\n });\n }\n\n return h('ol', mergeData(data, { staticClass: 'breadcrumb' }), childNodes);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/breadcrumb/breadcrumb.js\n// module id = null\n// module chunks = ","import bBreadcrumb from './breadcrumb';\nimport bBreadcrumbItem from './breadcrumb-item';\nimport bBreadcrumbLink from './breadcrumb-link';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bBreadcrumb: bBreadcrumb,\n bBreadcrumbItem: bBreadcrumbItem,\n bBreadcrumbLink: bBreadcrumbLink\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/breadcrumb/index.js\n// module id = null\n// module chunks = ","import { from as arrayFrom } from './array';\n\n// Determine if an element is an HTML Element\nexport var isElement = function isElement(el) {\n return el && el.nodeType === Node.ELEMENT_NODE;\n};\n\n// Determine if an HTML element is visible - Faster than CSS check\nexport var isVisible = function isVisible(el) {\n return isElement(el) && document.body.contains(el) && el.getBoundingClientRect().height > 0 && el.getBoundingClientRect().width > 0;\n};\n\n// Determine if an element is disabled\nexport var isDisabled = function isDisabled(el) {\n return !isElement(el) || el.disabled || el.classList.contains('disabled') || Boolean(el.getAttribute('disabled'));\n};\n\n// Cause/wait-for an element to reflow it's content (adjusting it's height/width)\nexport var reflow = function reflow(el) {\n // requsting an elements offsetHight will trigger a reflow of the element content\n return isElement(el) && el.offsetHeight;\n};\n\n// Select all elements matching selector. Returns [] if none found\nexport var selectAll = function selectAll(selector, root) {\n if (!isElement(root)) {\n root = document;\n }\n return arrayFrom(root.querySelectorAll(selector));\n};\n\n// Select a single element, returns null if not found\nexport var select = function select(selector, root) {\n if (!isElement(root)) {\n root = document;\n }\n return root.querySelector(selector) || null;\n};\n\n// Determine if an element matches a selector\nexport var matches = function matches(el, selector) {\n if (!isElement(el)) {\n return false;\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n // Prefer native implementations over polyfill function\n var proto = Element.prototype;\n var Matches = proto.matches || proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector || proto.webkitMatchesSelector ||\n /* istanbul ignore next */\n function (sel) {\n var element = this;\n var m = selectAll(sel, element.document || element.ownerDocument);\n var i = m.length;\n // eslint-disable-next-line no-empty\n while (--i >= 0 && m.item(i) !== element) {}\n return i > -1;\n };\n\n return Matches.call(el, selector);\n};\n\n// Finds closest element matching selector. Returns null if not found\nexport var closest = function closest(selector, root) {\n if (!isElement(root)) {\n return null;\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n // Since we dont support IE < 10, we can use the \"Matches\" version of the polyfill for speed\n // Prefer native implementation over polyfill function\n var Closest = Element.prototype.closest ||\n /* istanbul ignore next */\n function (sel) {\n var element = this;\n if (!document.documentElement.contains(element)) {\n return null;\n }\n do {\n // Use our \"patched\" matches function\n if (matches(element, sel)) {\n return element;\n }\n element = element.parentElement;\n } while (element !== null);\n return null;\n };\n\n var el = Closest.call(root, selector);\n // Emulate jQuery closest and return null if match is the passed in element (root)\n return el === root ? null : el;\n};\n\n// Get an element given an ID\nexport var getById = function getById(id) {\n return document.getElementById(/^#/.test(id) ? id.slice(1) : id) || null;\n};\n\n// Add a class to an element\nexport var addClass = function addClass(el, className) {\n if (className && isElement(el)) {\n el.classList.add(className);\n }\n};\n\n// Remove a class from an element\nexport var removeClass = function removeClass(el, className) {\n if (className && isElement(el)) {\n el.classList.remove(className);\n }\n};\n\n// Test if an element has a class\nexport var hasClass = function hasClass(el, className) {\n if (className && isElement(el)) {\n return el.classList.contains(className);\n }\n return false;\n};\n\n// Set an attribute on an element\nexport var setAttr = function setAttr(el, attr, value) {\n if (attr && isElement(el)) {\n el.setAttribute(attr, value);\n }\n};\n\n// Remove an attribute from an element\nexport var removeAttr = function removeAttr(el, attr) {\n if (attr && isElement(el)) {\n el.removeAttribute(attr);\n }\n};\n\n// Get an attribute value from an element (returns null if not found)\nexport var getAttr = function getAttr(el, attr) {\n if (attr && isElement(el)) {\n return el.getAttribute(attr);\n }\n return null;\n};\n\n// Determine if an attribute exists on an element (returns true or false, or null if element not found)\nexport var hasAttr = function hasAttr(el, attr) {\n if (attr && isElement(el)) {\n return el.hasAttribute(attr);\n }\n return null;\n};\n\n// Return the Bounding Client Rec of an element. Retruns null if not an element\nexport var getBCR = function getBCR(el) {\n return isElement(el) ? el.getBoundingClientRect() : null;\n};\n\n// Get computed style object for an element\nexport var getCS = function getCS(el) {\n return isElement(el) ? window.getComputedStyle(el) : {};\n};\n\n// Return an element's offset wrt document element\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.offset\nexport var offset = function offset(el) {\n if (isElement(el)) {\n if (!el.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n var bcr = getBCR(el);\n var win = el.ownerDocument.defaultView;\n return {\n top: bcr.top + win.pageYOffset,\n left: bcr.left + win.pageXOffset\n };\n }\n};\n\n// Return an element's offset wrt to it's offsetParent\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.position\nexport var position = function position(el) {\n if (!isElement(el)) {\n return;\n }\n var parentOffset = { top: 0, left: 0 };\n var offsetSelf = void 0;\n var offsetParent = void 0;\n if (getCS(el).position === 'fixed') {\n offsetSelf = getBCR(el);\n } else {\n offsetSelf = offset(el);\n var doc = el.ownerDocument;\n offsetParent = el.offsetParent || doc.documentElement;\n while (offsetParent && (offsetParent === doc.body || offsetParent === doc.documentElement) && getCS(offsetParent).position === 'static') {\n offsetParent = offsetParent.parentNode;\n }\n if (offsetParent && offsetParent !== el && offsetParent.nodeType === Node.ELEMENT_NODE) {\n parentOffset = offset(offsetParent);\n parentOffset.top += parseFloat(getCS(offsetParent).borderTopWidth);\n parentOffset.left += parseFloat(getCS(offsetParent).borderLeftWidth);\n }\n }\n return {\n top: offsetSelf.top - parentOffset.top - parseFloat(getCS(el).marginTop),\n left: offsetSelf.left - parentOffset.left - parseFloat(getCS(el).marginLeft)\n };\n};\n\n// Attach an event listener to an element\nexport var eventOn = function eventOn(el, evtName, handler) {\n if (el && el.addEventListener) {\n el.addEventListener(evtName, handler);\n }\n};\n\n// Remove an event listener from an element\nexport var eventOff = function eventOff(el, evtName, handler) {\n if (el && el.removeEventListener) {\n el.removeEventListener(evtName, handler);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/dom.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport pluckProps from '../../utils/pluck-props';\nimport { concat } from '../../utils/array';\nimport { assign, keys } from '../../utils/object';\nimport { addClass, removeClass } from '../../utils/dom';\nimport Link, { propsFactory as linkPropsFactory } from '../link/link';\n\nvar btnProps = {\n block: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: null\n },\n variant: {\n type: String,\n default: null\n },\n type: {\n type: String,\n default: 'button'\n },\n pressed: {\n // tri-state prop: true, false or null\n // => on, off, not a toggle\n type: Boolean,\n default: null\n }\n};\n\nvar linkProps = linkPropsFactory();\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nvar linkPropKeys = keys(linkProps);\n\nexport var props = assign(linkProps, btnProps);\n\nfunction handleFocus(evt) {\n if (evt.type === 'focusin') {\n addClass(evt.target, 'focus');\n } else if (evt.type === 'focusout') {\n removeClass(evt.target, 'focus');\n }\n}\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n listeners = _ref.listeners,\n children = _ref.children;\n\n var isLink = Boolean(props.href || props.to);\n var isToggle = typeof props.pressed === 'boolean';\n var on = {\n click: function click(e) {\n if (props.disabled && e instanceof Event) {\n e.stopPropagation();\n e.preventDefault();\n } else if (isToggle) {\n // Concat will normalize the value to an array\n // without double wrapping an array value in an array.\n concat(listeners['update:pressed']).forEach(function (fn) {\n if (typeof fn === 'function') {\n fn(!props.pressed);\n }\n });\n }\n }\n };\n\n if (isToggle) {\n on.focusin = handleFocus;\n on.focusout = handleFocus;\n }\n\n var componentData = {\n staticClass: 'btn',\n class: [props.variant ? 'btn-' + props.variant : 'btn-secondary', (_ref2 = {}, _defineProperty(_ref2, 'btn-' + props.size, Boolean(props.size)), _defineProperty(_ref2, 'btn-block', props.block), _defineProperty(_ref2, 'disabled', props.disabled), _defineProperty(_ref2, 'active', props.pressed), _ref2)],\n props: isLink ? pluckProps(linkPropKeys, props) : null,\n attrs: {\n type: isLink ? null : props.type,\n disabled: isLink ? null : props.disabled,\n // Data attribute not used for js logic,\n // but only for BS4 style selectors.\n 'data-toggle': isToggle ? 'button' : null,\n 'aria-pressed': isToggle ? String(props.pressed) : null,\n // Tab index is used when the component becomes a link.\n // Links are tabable, but don't allow disabled,\n // so we mimic that functionality by disabling tabbing.\n tabindex: props.disabled && isLink ? '-1' : data.attrs ? data.attrs['tabindex'] : null\n },\n on: on\n };\n\n return h(isLink ? Link : 'button', mergeData(data, componentData), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/button/button.js\n// module id = null\n// module chunks = ","import bButton from './button';\nimport bButtonClose from './button-close';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bButton: bButton,\n bBtn: bButton,\n bButtonClose: bButtonClose,\n bBtnClose: bButtonClose\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/button/index.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport { arrayIncludes } from '../../utils/array';\n\nexport var props = {\n vertical: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: null,\n validator: function validator(size) {\n return arrayIncludes(['sm', '', 'lg'], size);\n }\n },\n tag: {\n type: String,\n default: 'div'\n },\n ariaRole: {\n type: String,\n default: 'group'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n class: _defineProperty({\n 'btn-group': !props.vertical,\n 'btn-group-vertical': props.vertical\n }, 'btn-group-' + props.size, Boolean(props.size)),\n attrs: { 'role': props.ariaRole }\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/button-group/button-group.js\n// module id = null\n// module chunks = ","import bButtonGroup from './button-group';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bButtonGroup: bButtonGroup,\n bBtnGroup: bButtonGroup\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/button-group/index.js\n// module id = null\n// module chunks = ","/*\n * Key Codes (events)\n */\n\nexport default {\n SPACE: 32,\n ENTER: 13,\n ESC: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n PAGEUP: 33,\n PAGEDOWN: 34,\n HOME: 36,\n END: 35\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/key-codes.js\n// module id = null\n// module chunks = ","import { isVisible, selectAll } from '../../utils/dom';\nimport KeyCodes from '../../utils/key-codes';\n\nvar ITEM_SELECTOR = ['.btn:not(.disabled):not([disabled]):not(.dropdown-item)', '.form-control:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'input[type=\"checkbox\"]:not(.disabled)', 'input[type=\"radio\"]:not(.disabled)'].join(',');\n\nexport default {\n render: function render(h) {\n return h('div', {\n class: this.classObject,\n attrs: {\n role: 'toolbar',\n tabindex: this.keyNav ? '0' : null\n },\n on: {\n focusin: this.onFocusin,\n keydown: this.onKeydown\n }\n }, [this.$slots.default]);\n },\n\n computed: {\n classObject: function classObject() {\n return ['btn-toolbar', this.justify && !this.vertical ? 'justify-content-between' : ''];\n }\n },\n props: {\n justify: {\n type: Boolean,\n default: false\n },\n keyNav: {\n type: Boolean,\n default: false\n }\n },\n methods: {\n onFocusin: function onFocusin(evt) {\n if (evt.target === this.$el) {\n evt.preventDefault();\n evt.stopPropagation();\n this.focusFirst(evt);\n }\n },\n onKeydown: function onKeydown(evt) {\n if (!this.keyNav) {\n return;\n }\n var key = evt.keyCode;\n var shift = evt.shiftKey;\n if (key === KeyCodes.UP || key === KeyCodes.LEFT) {\n evt.preventDefault();\n evt.stopPropagation();\n if (shift) {\n this.focusFirst(evt);\n } else {\n this.focusNext(evt, true);\n }\n } else if (key === KeyCodes.DOWN || key === KeyCodes.RIGHT) {\n evt.preventDefault();\n evt.stopPropagation();\n if (shift) {\n this.focusLast(evt);\n } else {\n this.focusNext(evt, false);\n }\n }\n },\n setItemFocus: function setItemFocus(item) {\n this.$nextTick(function () {\n item.focus();\n });\n },\n focusNext: function focusNext(evt, prev) {\n var items = this.getItems();\n if (items.length < 1) {\n return;\n }\n var index = items.indexOf(evt.target);\n if (prev && index > 0) {\n index--;\n } else if (!prev && index < items.length - 1) {\n index++;\n }\n if (index < 0) {\n index = 0;\n }\n this.setItemFocus(items[index]);\n },\n focusFirst: function focusFirst(evt) {\n var items = this.getItems();\n if (items.length > 0) {\n this.setItemFocus(items[0]);\n }\n },\n focusLast: function focusLast(evt) {\n var items = this.getItems();\n if (items.length > 0) {\n this.setItemFocus([items.length - 1]);\n }\n },\n getItems: function getItems() {\n var items = selectAll(ITEM_SELECTOR, this.$el);\n items.forEach(function (item) {\n // Ensure tabfocus is -1 on any new elements\n item.tabIndex = -1;\n });\n return items.filter(function (el) {\n return isVisible(el);\n });\n }\n },\n mounted: function mounted() {\n if (this.keyNav) {\n // Pre-set the tabindexes if the markup does not include tabindex=\"-1\" on the toolbar items\n this.getItems();\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/button-toolbar/button-toolbar.js\n// module id = null\n// module chunks = ","import bButtonToolbar from './button-toolbar';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bButtonToolbar: bButtonToolbar,\n bBtnToolbar: bButtonToolbar\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/button-toolbar/index.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n }\n};\n\nexport default {\n props: props,\n functional: true,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'input-group-text'\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/input-group/input-group-text.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\nimport InputGroupText from './input-group-text';\n\nexport var propsFactory = function propsFactory(append) {\n return {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n },\n append: {\n type: Boolean,\n default: append\n },\n isText: {\n type: Boolean,\n default: false\n }\n };\n};\n\nexport default {\n functional: true,\n props: propsFactory(false),\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'input-group-' + (props.append ? 'append' : 'prepend'),\n attrs: {\n id: props.id\n }\n }), props.isText ? [h(InputGroupText, children)] : children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/input-group/input-group-addon.js\n// module id = null\n// module chunks = ","import InputGroupAddon, { propsFactory } from './input-group-addon';\n\nexport default {\n functional: true,\n props: propsFactory(false),\n render: InputGroupAddon.render\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/input-group/input-group-prepend.js\n// module id = null\n// module chunks = ","import InputGroupAddon, { propsFactory } from './input-group-addon';\n\nexport default {\n functional: true,\n props: propsFactory(true),\n render: InputGroupAddon.render\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/input-group/input-group-append.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport InputGroupPrepend from './input-group-prepend';\nimport InputGroupAppend from './input-group-append';\nimport InputGroupText from './input-group-text';\n\nexport var props = {\n id: {\n type: String,\n default: null\n },\n size: {\n type: String,\n default: null\n },\n prepend: {\n type: String,\n default: null\n },\n append: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots;\n\n var $slots = slots();\n\n var childNodes = [];\n\n // Prepend prop\n if (props.prepend) {\n childNodes.push(h(InputGroupPrepend, [h(InputGroupText, { domProps: { innerHTML: props.prepend } })]));\n }\n\n // Prepend slot\n if ($slots.prepend) {\n childNodes.push(h(InputGroupPrepend, $slots.prepend));\n }\n\n // Default slot\n childNodes.push($slots.default);\n\n // Append prop\n if (props.append) {\n childNodes.push(h(InputGroupAppend, [h(InputGroupText, { domProps: { innerHTML: props.append } })]));\n }\n\n // Append slot\n if ($slots.append) {\n childNodes.push(h(InputGroupAppend, $slots.append));\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'input-group',\n class: _defineProperty({}, 'input-group-' + props.size, Boolean(props.size)),\n attrs: {\n id: props.id || null,\n role: 'group'\n }\n }), childNodes);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/input-group/input-group.js\n// module id = null\n// module chunks = ","import { registerComponents, vueUse } from '../../utils/plugins';\n\nimport bInputGroup from './input-group';\nimport bInputGroupAddon from './input-group-addon';\nimport bInputGroupPrepend from './input-group-prepend';\nimport bInputGroupAppend from './input-group-append';\nimport bInputGroupText from './input-group-text';\n\nvar components = {\n bInputGroup: bInputGroup,\n bInputGroupAddon: bInputGroupAddon,\n bInputGroupPrepend: bInputGroupPrepend,\n bInputGroupAppend: bInputGroupAppend,\n bInputGroupText: bInputGroupText\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/input-group/index.js\n// module id = null\n// module chunks = ","/**\n * @param {string} str\n */\nexport default function upperFirst(str) {\n if (typeof str !== 'string') {\n str = String(str);\n }\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/upper-first.js\n// module id = null\n// module chunks = ","import upperFirst from './upper-first';\n\n/**\n * @param {string} prefix\n * @param {string} value\n */\nexport default function prefixPropName(prefix, value) {\n return prefix + upperFirst(value);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/prefix-prop-name.js\n// module id = null\n// module chunks = ","import lowerFirst from './lower-first';\n\n/**\n * @param {string} prefix\n * @param {string} value\n */\nexport default function unPrefixPropName(prefix, value) {\n return lowerFirst(value.replace(prefix, ''));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/unprefix-prop-name.js\n// module id = null\n// module chunks = ","/**\n * @param {string} str\n */\nexport default function lowerFirst(str) {\n if (typeof str !== 'string') {\n str = String(str);\n }\n return str.charAt(0).toLowerCase() + str.slice(1);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/lower-first.js\n// module id = null\n// module chunks = ","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { isArray } from './array';\nimport { assign } from './object';\nimport identity from './identity';\n\n/**\n * @param {[]|{}} props\n * @param {Function} transformFn\n */\nexport default function copyProps(props) {\n var transformFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : identity;\n\n if (isArray(props)) {\n return props.map(transformFn);\n }\n // Props as an object.\n var copied = {};\n\n for (var prop in props) {\n if (props.hasOwnProperty(prop)) {\n if ((typeof prop === 'undefined' ? 'undefined' : _typeof(prop)) === 'object') {\n copied[transformFn(prop)] = assign({}, props[prop]);\n } else {\n copied[transformFn(prop)] = props[prop];\n }\n }\n }\n\n return copied;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/copyProps.js\n// module id = null\n// module chunks = ","export default {\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n bgVariant: {\n type: String,\n default: null\n },\n borderVariant: {\n type: String,\n default: null\n },\n textVariant: {\n type: String,\n default: null\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/card-mixin.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport prefixPropName from '../../utils/prefix-prop-name';\nimport copyProps from '../../utils/copyProps';\nimport { assign } from '../../utils/object';\nimport cardMixin from '../../mixins/card-mixin';\n\nexport var props = assign({}, copyProps(cardMixin.props, prefixPropName.bind(null, 'body')), {\n bodyClass: {\n type: [String, Object, Array],\n default: null\n },\n title: {\n type: String,\n default: null\n },\n titleTag: {\n type: String,\n default: 'h4'\n },\n subTitle: {\n type: String,\n default: null\n },\n subTitleTag: {\n type: String,\n default: 'h6'\n },\n overlay: {\n type: Boolean,\n default: false\n }\n});\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots;\n\n var cardBodyChildren = [];\n if (props.title) {\n cardBodyChildren.push(h(props.titleTag, {\n staticClass: 'card-title',\n domProps: { innerHTML: props.title }\n }));\n }\n if (props.subTitle) {\n cardBodyChildren.push(h(props.subTitleTag, {\n staticClass: 'card-subtitle mb-2 text-muted',\n domProps: { innerHTML: props.subTitle }\n }));\n }\n cardBodyChildren.push(slots().default);\n\n return h(props.bodyTag, mergeData(data, {\n staticClass: 'card-body',\n class: [(_ref2 = {\n 'card-img-overlay': props.overlay\n }, _defineProperty(_ref2, 'bg-' + props.bodyBgVariant, Boolean(props.bodyBgVariant)), _defineProperty(_ref2, 'border-' + props.bodyBorderVariant, Boolean(props.bodyBorderVariant)), _defineProperty(_ref2, 'text-' + props.bodyTextVariant, Boolean(props.bodyTextVariant)), _ref2), props.bodyClass || {}]\n }), cardBodyChildren);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/card/card-body.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\n\nimport prefixPropName from '../../utils/prefix-prop-name';\nimport copyProps from '../../utils/copyProps';\nimport { assign } from '../../utils/object';\nimport cardMixin from '../../mixins/card-mixin';\n\nexport var props = assign({}, copyProps(cardMixin.props, prefixPropName.bind(null, 'header')), {\n header: {\n type: String,\n default: null\n },\n headerClass: {\n type: [String, Object, Array],\n default: null\n }\n});\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n children = _ref.children;\n\n return h(props.headerTag, mergeData(data, {\n staticClass: 'card-header',\n class: [props.headerClass, (_ref2 = {}, _defineProperty(_ref2, 'bg-' + props.headerBgVariant, Boolean(props.headerBgVariant)), _defineProperty(_ref2, 'border-' + props.headerBorderVariant, Boolean(props.headerBorderVariant)), _defineProperty(_ref2, 'text-' + props.headerTextVariant, Boolean(props.headerTextVariant)), _ref2)]\n }), children || [h('div', { domProps: { innerHTML: props.header } })]);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/card/card-header.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\n\nimport prefixPropName from '../../utils/prefix-prop-name';\nimport copyProps from '../../utils/copyProps';\nimport { assign } from '../../utils/object';\nimport cardMixin from '../../mixins/card-mixin';\n\nexport var props = assign({}, copyProps(cardMixin.props, prefixPropName.bind(null, 'footer')), {\n footer: {\n type: String,\n default: null\n },\n footerClass: {\n type: [String, Object, Array],\n default: null\n }\n});\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n children = _ref.children;\n\n return h(props.footerTag, mergeData(data, {\n staticClass: 'card-footer',\n class: [props.footerClass, (_ref2 = {}, _defineProperty(_ref2, 'bg-' + props.footerBgVariant, Boolean(props.footerBgVariant)), _defineProperty(_ref2, 'border-' + props.footerBorderVariant, Boolean(props.footerBorderVariant)), _defineProperty(_ref2, 'text-' + props.footerTextVariant, Boolean(props.footerTextVariant)), _ref2)]\n }), children || [h('div', { domProps: { innerHTML: props.footer } })]);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/card/card-footer.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n src: {\n type: String,\n default: null,\n required: true\n },\n alt: {\n type: String,\n default: null\n },\n top: {\n type: Boolean,\n default: false\n },\n bottom: {\n type: Boolean,\n default: false\n },\n fluid: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots;\n\n var staticClass = 'card-img';\n if (props.top) {\n staticClass += '-top';\n } else if (props.bottom) {\n staticClass += '-bottom';\n }\n\n return h('img', mergeData(data, {\n staticClass: staticClass,\n class: { 'img-fluid': props.fluid },\n attrs: { src: props.src, alt: props.alt }\n }));\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/card/card-img.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\n\nimport prefixPropName from '../../utils/prefix-prop-name';\nimport unPrefixPropName from '../../utils/unprefix-prop-name';\nimport copyProps from '../../utils/copyProps';\nimport pluckProps from '../../utils/pluck-props';\nimport { assign } from '../../utils/object';\nimport cardMixin from '../../mixins/card-mixin';\nimport CardBody, { props as bodyProps } from './card-body';\nimport CardHeader, { props as headerProps } from './card-header';\nimport CardFooter, { props as footerProps } from './card-footer';\nimport CardImg, { props as imgProps } from './card-img';\n\nvar cardImgProps = copyProps(imgProps, prefixPropName.bind(null, 'img'));\ncardImgProps.imgSrc.required = false;\n\nexport var props = assign({}, bodyProps, headerProps, footerProps, cardImgProps, copyProps(cardMixin.props), {\n align: {\n type: String,\n default: null\n },\n noBody: {\n type: Boolean,\n default: false\n }\n});\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n children = _ref.children;\n\n // The order of the conditionals matter.\n // We are building the component markup in order.\n var childNodes = [];\n var $slots = slots();\n var img = props.imgSrc ? h(CardImg, {\n props: pluckProps(cardImgProps, props, unPrefixPropName.bind(null, 'img'))\n }) : null;\n\n if (img) {\n // Above the header placement.\n if (props.imgTop || !props.imgBottom) {\n childNodes.push(img);\n }\n }\n if (props.header || $slots.header) {\n childNodes.push(h(CardHeader, { props: pluckProps(headerProps, props) }, $slots.header));\n }\n if (props.noBody) {\n childNodes.push($slots.default);\n } else {\n childNodes.push(h(CardBody, { props: pluckProps(bodyProps, props) }, $slots.default));\n }\n if (props.footer || $slots.footer) {\n childNodes.push(h(CardFooter, { props: pluckProps(footerProps, props) }, $slots.footer));\n }\n if (img && props.imgBottom) {\n // Below the footer placement.\n childNodes.push(img);\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'card',\n class: (_class = {}, _defineProperty(_class, 'text-' + props.align, Boolean(props.align)), _defineProperty(_class, 'bg-' + props.bgVariant, Boolean(props.bgVariant)), _defineProperty(_class, 'border-' + props.borderVariant, Boolean(props.borderVariant)), _defineProperty(_class, 'text-' + props.textVariant, Boolean(props.textVariant)), _class)\n }), childNodes);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/card/card.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n },\n deck: {\n type: Boolean,\n default: false\n },\n columns: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var staticClass = 'card-group';\n if (props.columns) {\n staticClass = 'card-columns';\n }\n if (props.deck) {\n staticClass = 'card-deck';\n }\n\n return h(props.tag, mergeData(data, { staticClass: staticClass }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/card/card-group.js\n// module id = null\n// module chunks = ","import bCard from './card';\nimport bCardHeader from './card-header';\nimport bCardBody from './card-body';\nimport bCardFooter from './card-footer';\nimport bCardImg from './card-img';\nimport bCardGroup from './card-group';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bCard: bCard,\n bCardHeader: bCardHeader,\n bCardBody: bCardBody,\n bCardFooter: bCardFooter,\n bCardImg: bCardImg,\n bCardGroup: bCardGroup\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/card/index.js\n// module id = null\n// module chunks = ","import { assign } from './object';\nimport { isElement } from '../utils/dom';\n\n/**\n * Observe a DOM element changes, falls back to eventListener mode\n * @param {Element} el The DOM element to observe\n * @param {Function} callback callback to be called on change\n * @param {object} [opts={childList: true, subtree: true}] observe options\n * @see http://stackoverflow.com/questions/3219758\n */\nexport default function observeDOM(el, callback, opts) {\n var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;\n var eventListenerSupported = window.addEventListener;\n\n // Handle case where we might be passed a vue instance\n el = el ? el.$el || el : null;\n /* istanbul ignore next: dificult to test in JSDOM */\n if (!isElement(el)) {\n // We can't observe somthing that isn't an element\n return null;\n }\n\n var obs = null;\n\n /* istanbul ignore next: dificult to test in JSDOM */\n if (MutationObserver) {\n // Define a new observer\n obs = new MutationObserver(function (mutations) {\n var changed = false;\n // A Mutation can contain several change records, so we loop through them to see what has changed.\n // We break out of the loop early if any \"significant\" change has been detected\n for (var i = 0; i < mutations.length && !changed; i++) {\n // The muttion record\n var mutation = mutations[i];\n // Mutation Type\n var type = mutation.type;\n // DOM Node (could be any DOM Node type - HTMLElement, Text, comment, etc)\n var target = mutation.target;\n if (type === 'characterData' && target.nodeType === Node.TEXT_NODE) {\n // We ignore nodes that are not TEXt (i.e. comments, etc) as they don't change layout\n changed = true;\n } else if (type === 'attributes') {\n changed = true;\n } else if (type === 'childList' && (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0)) {\n // This includes HTMLElement and Text Nodes being added/removed/re-arranged\n changed = true;\n }\n }\n if (changed) {\n // We only call the callback if a change that could affect layout/size truely happened.\n callback();\n }\n });\n\n // Have the observer observe foo for changes in children, etc\n obs.observe(el, assign({ childList: true, subtree: true }, opts));\n } else if (eventListenerSupported) {\n // Legacy interface. most likely not used in modern browsers\n el.addEventListener('DOMNodeInserted', callback, false);\n el.addEventListener('DOMNodeRemoved', callback, false);\n }\n\n // We return a reference to the observer so that obs.disconnect() can be called if necessary\n // To reduce overhead when the root element is hiiden\n return obs;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/observe-dom.js\n// module id = null\n// module chunks = ","/*\n * SSR Safe Client Side ID attribute generation\n *\n */\n\nexport default {\n props: {\n id: {\n type: String,\n default: null\n }\n },\n methods: {\n safeId: function safeId() {\n var suffix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n var id = this.id || this.localId_ || null;\n if (!id) {\n return null;\n }\n suffix = String(suffix).replace(/\\s+/g, '_');\n return suffix ? id + '_' + suffix : id;\n }\n },\n computed: {\n localId_: function localId_() {\n if (!this.$isServer && !this.id && typeof this._uid !== 'undefined') {\n return '__BVID__' + this._uid;\n }\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/id.js\n// module id = null\n// module chunks = ","import observeDom from '../../utils/observe-dom';\nimport KeyCodes from '../../utils/key-codes';\nimport { selectAll, reflow, addClass, removeClass, setAttr, eventOn, eventOff } from '../../utils/dom';\nimport idMixin from '../../mixins/id';\n\n// Slide directional classes\nvar DIRECTION = {\n next: {\n dirClass: 'carousel-item-left',\n overlayClass: 'carousel-item-next'\n },\n prev: {\n dirClass: 'carousel-item-right',\n overlayClass: 'carousel-item-prev'\n }\n\n // Fallback Transition duration (with a little buffer) in ms\n};var TRANS_DURATION = 600 + 50;\n\n// Transition Event names\nvar TransitionEndEvents = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'otransitionend oTransitionEnd',\n transition: 'transitionend'\n\n // Return the browser specific transitionEnd event name\n};function getTransisionEndEvent(el) {\n for (var name in TransitionEndEvents) {\n if (el.style[name] !== undefined) {\n return TransitionEndEvents[name];\n }\n }\n // fallback\n return null;\n}\n\nexport default {\n mixins: [idMixin],\n render: function render(h) {\n var _this = this;\n\n // Wrapper for slides\n var inner = h('div', {\n ref: 'inner',\n class: ['carousel-inner'],\n attrs: {\n id: this.safeId('__BV_inner_'),\n role: 'list'\n }\n }, [this.$slots.default]);\n\n // Prev and Next Controls\n var controls = h(false);\n if (this.controls) {\n controls = [h('a', {\n class: ['carousel-control-prev'],\n attrs: { href: '#', role: 'button', 'aria-controls': this.safeId('__BV_inner_') },\n on: {\n click: function click(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n _this.prev();\n },\n keydown: function keydown(evt) {\n var keyCode = evt.keyCode;\n if (keyCode === KeyCodes.SPACE || keyCode === KeyCodes.ENTER) {\n evt.preventDefault();\n evt.stopPropagation();\n _this.prev();\n }\n }\n }\n }, [h('span', { class: ['carousel-control-prev-icon'], attrs: { 'aria-hidden': 'true' } }), h('span', { class: ['sr-only'] }, [this.labelPrev])]), h('a', {\n class: ['carousel-control-next'],\n attrs: { href: '#', role: 'button', 'aria-controls': this.safeId('__BV_inner_') },\n on: {\n click: function click(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n _this.next();\n },\n keydown: function keydown(evt) {\n var keyCode = evt.keyCode;\n if (keyCode === KeyCodes.SPACE || keyCode === KeyCodes.ENTER) {\n evt.preventDefault();\n evt.stopPropagation();\n _this.next();\n }\n }\n }\n }, [h('span', { class: ['carousel-control-next-icon'], attrs: { 'aria-hidden': 'true' } }), h('span', { class: ['sr-only'] }, [this.labelNext])])];\n }\n\n // Indicators\n var indicators = h('ol', {\n class: ['carousel-indicators'],\n directives: [{ name: 'show', rawName: 'v-show', value: this.indicators, expression: 'indicators' }],\n attrs: {\n id: this.safeId('__BV_indicators_'),\n 'aria-hidden': this.indicators ? 'false' : 'true',\n 'aria-label': this.labelIndicators,\n 'aria-owns': this.safeId('__BV_inner_')\n }\n }, this.slides.map(function (slide, n) {\n return h('li', {\n key: 'slide_' + n,\n class: { active: n === _this.index },\n attrs: {\n role: 'button',\n id: _this.safeId('__BV_indicator_' + (n + 1) + '_'),\n tabindex: _this.indicators ? '0' : '-1',\n 'aria-current': n === _this.index ? 'true' : 'false',\n 'aria-label': _this.labelGotoSlide + ' ' + (n + 1),\n 'aria-describedby': _this.slides[n].id || null,\n 'aria-controls': _this.safeId('__BV_inner_')\n },\n on: {\n click: function click(evt) {\n _this.setSlide(n);\n },\n keydown: function keydown(evt) {\n var keyCode = evt.keyCode;\n if (keyCode === KeyCodes.SPACE || keyCode === KeyCodes.ENTER) {\n evt.preventDefault();\n evt.stopPropagation();\n _this.setSlide(n);\n }\n }\n }\n });\n }));\n\n // Return the carousel\n return h('div', {\n class: ['carousel', 'slide'],\n style: { background: this.background },\n attrs: {\n role: 'region',\n id: this.safeId(),\n 'aria-busy': this.isSliding ? 'true' : 'false'\n },\n on: {\n mouseenter: this.pause,\n mouseleave: this.restart,\n focusin: this.pause,\n focusout: this.restart,\n keydown: function keydown(evt) {\n var keyCode = evt.keyCode;\n if (keyCode === KeyCodes.LEFT || keyCode === KeyCodes.RIGHT) {\n evt.preventDefault();\n evt.stopPropagation();\n _this[keyCode === KeyCodes.LEFT ? 'prev' : 'next']();\n }\n }\n }\n }, [inner, controls, indicators]);\n },\n data: function data() {\n return {\n index: this.value || 0,\n isSliding: false,\n intervalId: null,\n transitionEndEvent: null,\n slides: [],\n direction: null\n };\n },\n\n props: {\n labelPrev: {\n type: String,\n default: 'Previous Slide'\n },\n labelNext: {\n type: String,\n default: 'Next Slide'\n },\n labelGotoSlide: {\n type: String,\n default: 'Goto Slide'\n },\n labelIndicators: {\n type: String,\n default: 'Select a slide to display'\n },\n interval: {\n type: Number,\n default: 5000\n },\n indicators: {\n type: Boolean,\n default: false\n },\n controls: {\n type: Boolean,\n default: false\n },\n imgWidth: {\n // Sniffed by carousel-slide\n type: [Number, String]\n },\n imgHeight: {\n // Sniffed by carousel-slide\n type: [Number, String]\n },\n background: {\n type: String\n },\n value: {\n type: Number,\n default: 0\n }\n },\n computed: {\n isCycling: function isCycling() {\n return Boolean(this.intervalId);\n }\n },\n methods: {\n // Set slide\n setSlide: function setSlide(slide) {\n var _this2 = this;\n\n // Don't animate when page is not visible\n if (typeof document !== 'undefined' && document.visibilityState && document.hidden) {\n return;\n }\n var len = this.slides.length;\n // Don't do anything if nothing to slide to\n if (len === 0) {\n return;\n }\n // Don't change slide while transitioning, wait until transition is done\n if (this.isSliding) {\n // Schedule slide after sliding complete\n this.$once('sliding-end', function () {\n return _this2.setSlide(slide);\n });\n return;\n }\n // Make sure we have an integer (you never know!)\n slide = Math.floor(slide);\n // Set new slide index. Wrap around if necessary\n this.index = slide >= len ? 0 : slide >= 0 ? slide : len - 1;\n },\n\n // Previous slide\n prev: function prev() {\n this.direction = 'prev';\n this.setSlide(this.index - 1);\n },\n\n // Next slide\n next: function next() {\n this.direction = 'next';\n this.setSlide(this.index + 1);\n },\n\n // Pause auto rotation\n pause: function pause() {\n if (this.isCycling) {\n clearInterval(this.intervalId);\n this.intervalId = null;\n if (this.slides[this.index]) {\n // Make current slide focusable for screen readers\n this.slides[this.index].tabIndex = 0;\n }\n }\n },\n\n // Start auto rotate slides\n start: function start() {\n var _this3 = this;\n\n // Don't start if no interval, or if we are already running\n if (!this.interval || this.isCycling) {\n return;\n }\n this.slides.forEach(function (slide) {\n slide.tabIndex = -1;\n });\n this.intervalId = setInterval(function () {\n _this3.next();\n }, Math.max(1000, this.interval));\n },\n\n // Re-Start auto rotate slides when focus/hover leaves the carousel\n restart: function restart(evt) {\n if (!this.$el.contains(document.activeElement)) {\n this.start();\n }\n },\n\n // Update slide list\n updateSlides: function updateSlides() {\n this.pause();\n // Get all slides as DOM elements\n this.slides = selectAll('.carousel-item', this.$refs.inner);\n var numSlides = this.slides.length;\n // Keep slide number in range\n var index = Math.max(0, Math.min(Math.floor(this.index), numSlides - 1));\n this.slides.forEach(function (slide, idx) {\n var n = idx + 1;\n if (idx === index) {\n addClass(slide, 'active');\n } else {\n removeClass(slide, 'active');\n }\n setAttr(slide, 'aria-current', idx === index ? 'true' : 'false');\n setAttr(slide, 'aria-posinset', String(n));\n setAttr(slide, 'aria-setsize', String(numSlides));\n slide.tabIndex = -1;\n });\n // Set slide as active\n this.setSlide(index);\n this.start();\n },\n calcDirection: function calcDirection() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var curIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var nextIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n if (!direction) {\n return nextIndex > curIndex ? DIRECTION.next : DIRECTION.prev;\n }\n return DIRECTION[direction];\n }\n },\n watch: {\n value: function value(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.setSlide(newVal);\n }\n },\n interval: function interval(newVal, oldVal) {\n if (newVal === oldVal) {\n return;\n }\n if (!newVal) {\n // Pausing slide show\n this.pause();\n } else {\n // Restarting or Changing interval\n this.pause();\n this.start();\n }\n },\n index: function index(val, oldVal) {\n var _this4 = this;\n\n if (val === oldVal || this.isSliding) {\n return;\n }\n // Determine sliding direction\n var direction = this.calcDirection(this.direction, oldVal, val);\n // Determine current and next slides\n var currentSlide = this.slides[oldVal];\n var nextSlide = this.slides[val];\n // Don't do anything if there aren't any slides to slide to\n if (!currentSlide || !nextSlide) {\n return;\n }\n // Start animating\n this.isSliding = true;\n this.$emit('sliding-start', val);\n // Update v-model\n this.$emit('input', this.index);\n nextSlide.classList.add(direction.overlayClass);\n // Trigger a reflow of next slide\n reflow(nextSlide);\n addClass(currentSlide, direction.dirClass);\n addClass(nextSlide, direction.dirClass);\n // Transition End handler\n var called = false;\n /* istanbul ignore next: dificult to test */\n var onceTransEnd = function onceTransEnd(evt) {\n if (called) {\n return;\n }\n called = true;\n if (_this4.transitionEndEvent) {\n var events = _this4.transitionEndEvent.split(/\\s+/);\n events.forEach(function (event) {\n eventOff(currentSlide, event, onceTransEnd);\n });\n }\n _this4._animationTimeout = null;\n removeClass(nextSlide, direction.dirClass);\n removeClass(nextSlide, direction.overlayClass);\n addClass(nextSlide, 'active');\n removeClass(currentSlide, 'active');\n removeClass(currentSlide, direction.dirClass);\n removeClass(currentSlide, direction.overlayClass);\n setAttr(currentSlide, 'aria-current', 'false');\n setAttr(nextSlide, 'aria-current', 'true');\n setAttr(currentSlide, 'aria-hidden', 'true');\n setAttr(nextSlide, 'aria-hidden', 'false');\n currentSlide.tabIndex = -1;\n nextSlide.tabIndex = -1;\n if (!_this4.isCycling) {\n // Focus the next slide for screen readers if not in play mode\n nextSlide.tabIndex = 0;\n _this4.$nextTick(function () {\n nextSlide.focus();\n });\n }\n _this4.isSliding = false;\n _this4.direction = null;\n // Notify ourselves that we're done sliding (slid)\n _this4.$nextTick(function () {\n return _this4.$emit('sliding-end', val);\n });\n };\n // Clear transition classes after transition ends\n if (this.transitionEndEvent) {\n var events = this.transitionEndEvent.split(/\\s+/);\n events.forEach(function (event) {\n eventOn(currentSlide, event, onceTransEnd);\n });\n }\n // Fallback to setTimeout\n this._animationTimeout = setTimeout(onceTransEnd, TRANS_DURATION);\n }\n },\n created: function created() {\n // Create private non-reactive props\n this._animationTimeout = null;\n },\n mounted: function mounted() {\n // Cache current browser transitionend event name\n this.transitionEndEvent = getTransisionEndEvent(this.$el) || null;\n // Get all slides\n this.updateSlides();\n // Observe child changes so we can update slide list\n observeDom(this.$refs.inner, this.updateSlides.bind(this), {\n subtree: false,\n childList: true,\n attributes: true,\n attributeFilter: ['id']\n });\n },\n\n /* istanbul ignore next: dificult to test */\n beforeDestroy: function beforeDestroy() {\n clearInterval(this.intervalId);\n clearTimeout(this._animationTimeout);\n this.intervalId = null;\n this._animationTimeout = null;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/carousel/carousel.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\n\n// Blank image with fill template\nvar BLANK_TEMPLATE = '';\n\nfunction makeBlankImgSrc(width, height, color) {\n var src = encodeURIComponent(BLANK_TEMPLATE.replace('%{w}', String(width)).replace('%{h}', String(height)).replace('%{f}', color));\n return 'data:image/svg+xml;charset=UTF-8,' + src;\n}\n\nexport var props = {\n src: {\n type: String,\n default: null\n },\n alt: {\n type: String,\n default: null\n },\n width: {\n type: [Number, String],\n default: null\n },\n height: {\n type: [Number, String],\n default: null\n },\n block: {\n type: Boolean,\n default: false\n },\n fluid: {\n type: Boolean,\n default: false\n },\n fluidGrow: {\n // Gives fluid images class `w-100` to make them grow to fit container\n type: Boolean,\n default: false\n },\n rounded: {\n // rounded can be:\n // false: no rounding of corners\n // true: slightly rounded corners\n // 'top': top corners rounded\n // 'right': right corners rounded\n // 'bottom': bottom corners rounded\n // 'left': left corners rounded\n // 'circle': circle/oval\n // '0': force rounding off\n type: [Boolean, String],\n default: false\n },\n thumbnail: {\n type: Boolean,\n default: false\n },\n left: {\n type: Boolean,\n default: false\n },\n right: {\n type: Boolean,\n default: false\n },\n center: {\n type: Boolean,\n default: false\n },\n blank: {\n type: Boolean,\n default: false\n },\n blankColor: {\n type: String,\n default: 'transparent'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data;\n\n var src = props.src;\n var width = parseInt(props.width, 10) ? parseInt(props.width, 10) : null;\n var height = parseInt(props.height, 10) ? parseInt(props.height, 10) : null;\n var align = null;\n var block = props.block;\n if (props.blank) {\n if (!height && Boolean(width)) {\n height = width;\n } else if (!width && Boolean(height)) {\n width = height;\n }\n if (!width && !height) {\n width = 1;\n height = 1;\n }\n // Make a blank SVG image\n src = makeBlankImgSrc(width, height, props.blankColor || 'transparent');\n }\n if (props.left) {\n align = 'float-left';\n } else if (props.right) {\n align = 'float-right';\n } else if (props.center) {\n align = 'mx-auto';\n block = true;\n }\n return h('img', mergeData(data, {\n attrs: {\n 'src': src,\n 'alt': props.alt,\n 'width': width ? String(width) : null,\n 'height': height ? String(height) : null\n },\n class: (_class = {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || props.fluidGrow,\n 'w-100': props.fluidGrow,\n 'rounded': props.rounded === '' || props.rounded === true\n }, _defineProperty(_class, 'rounded-' + props.rounded, typeof props.rounded === 'string' && props.rounded !== ''), _defineProperty(_class, align, Boolean(align)), _defineProperty(_class, 'd-block', block), _class)\n }));\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/image/img.js\n// module id = null\n// module chunks = ","/**\n * Log a warning message to the console with bootstrap-vue formatting sugar.\n * @param {string} message\n */\n/* istanbul ignore next */\nfunction warn(message) {\n console.warn(\"[Bootstrap-Vue warn]: \" + message);\n}\n\nexport default warn;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/warn.js\n// module id = null\n// module chunks = ","import bCarousel from './carousel';\nimport bCarouselSlide from './carousel-slide';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bCarousel: bCarousel,\n bCarouselSlide: bCarouselSlide\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/carousel/index.js\n// module id = null\n// module chunks = ","import bImg from '../image/img';\nimport warn from '../../utils/warn';\nimport idMixin from '../../mixins/id';\n\nexport default {\n components: { bImg: bImg },\n mixins: [idMixin],\n render: function render(h) {\n var $slots = this.$slots;\n\n var img = $slots.img;\n if (!img && (this.imgSrc || this.imgBlank)) {\n img = h('b-img', {\n props: {\n fluidGrow: true,\n block: true,\n src: this.imgSrc,\n blank: this.imgBlank,\n blankColor: this.imgBlankColor,\n width: this.computedWidth,\n height: this.computedHeight,\n alt: this.imgAlt\n }\n });\n }\n\n var content = h(this.contentTag, { class: this.contentClasses }, [this.caption ? h(this.captionTag, { domProps: { innerHTML: this.caption } }) : h(false), this.text ? h(this.textTag, { domProps: { innerHTML: this.text } }) : h(false), $slots.default]);\n\n return h('div', {\n class: ['carousel-item'],\n style: { background: this.background },\n attrs: { id: this.safeId(), role: 'listitem' }\n }, [img, content]);\n },\n\n props: {\n imgSrc: {\n type: String,\n default: function _default() {\n if (this && this.src) {\n // Deprecate src\n warn(\"b-carousel-slide: prop 'src' has been deprecated. Use 'img-src' instead\");\n return this.src;\n }\n return null;\n }\n },\n src: {\n // Deprecated: use img-src instead\n type: String\n },\n imgAlt: {\n type: String\n },\n imgWidth: {\n type: [Number, String]\n },\n imgHeight: {\n type: [Number, String]\n },\n imgBlank: {\n type: Boolean,\n default: false\n },\n imgBlankColor: {\n type: String,\n default: 'transparent'\n },\n contentVisibleUp: {\n type: String\n },\n contentTag: {\n type: String,\n default: 'div'\n },\n caption: {\n type: String\n },\n captionTag: {\n type: String,\n default: 'h3'\n },\n text: {\n type: String\n },\n textTag: {\n type: String,\n default: 'p'\n },\n background: {\n type: String\n }\n },\n computed: {\n contentClasses: function contentClasses() {\n return ['carousel-caption', this.contentVisibleUp ? 'd-none' : '', this.contentVisibleUp ? 'd-' + this.contentVisibleUp + '-block' : ''];\n },\n computedWidth: function computedWidth() {\n // Use local width, or try parent width\n return this.imgWidth || this.$parent.imgWidth;\n },\n computedHeight: function computedHeight() {\n // Use local height, or try parent height\n return this.imgHeight || this.$parent.imgHeight;\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/carousel/carousel-slide.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n },\n fluid: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n class: {\n 'container': !props.fluid,\n 'container-fluid': props.fluid\n }\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/layout/container.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport { arrayIncludes } from '../../utils/array';\n\nvar COMMON_ALIGNMENT = ['start', 'end', 'center'];\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n },\n noGutters: {\n type: Boolean,\n default: false\n },\n alignV: {\n type: String,\n default: null,\n validator: function validator(str) {\n return arrayIncludes(COMMON_ALIGNMENT.concat(['baseline', 'stretch']), str);\n }\n },\n alignH: {\n type: String,\n default: null,\n validator: function validator(str) {\n return arrayIncludes(COMMON_ALIGNMENT.concat(['between', 'around']), str);\n }\n },\n alignContent: {\n type: String,\n default: null,\n validator: function validator(str) {\n return arrayIncludes(COMMON_ALIGNMENT.concat(['between', 'around', 'stretch']), str);\n }\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'row',\n class: (_class = {\n 'no-gutters': props.noGutters\n }, _defineProperty(_class, 'align-items-' + props.alignV, props.alignV), _defineProperty(_class, 'justify-content-' + props.alignH, props.alignH), _defineProperty(_class, 'align-content-' + props.alignContent, props.alignContent), _class)\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/layout/row.js\n// module id = null\n// module chunks = ","import upperFirst from './upper-first';\n\n/**\n * Suffix can be a falsey value so nothing is appended to string.\n * (helps when looping over props & some shouldn't change)\n * Use data last parameters to allow for currying.\n * @param {string} suffix\n * @param {string} str\n */\nexport default function suffixPropName(suffix, str) {\n return str + (suffix ? upperFirst(suffix) : '');\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/suffix-prop-name.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport memoize from '../../utils/memoize';\nimport suffixPropName from '../../utils/suffix-prop-name';\nimport { keys, assign, create } from '../../utils/object';\nimport { arrayIncludes } from '../../utils/array';\n\n/**\n * Generates a prop object with a type of\n * [Boolean, String, Number]\n */\nfunction boolStrNum() {\n return {\n type: [Boolean, String, Number],\n default: false\n };\n}\n\n/**\n * Generates a prop object with a type of\n * [String, Number]\n */\nfunction strNum() {\n return {\n type: [String, Number],\n default: null\n };\n}\n\nexport var computeBkPtClass = memoize(function computeBkPt(type, breakpoint, val) {\n var className = type;\n if (val === false || val === null || val === undefined) {\n return undefined;\n }\n if (breakpoint) {\n className += '-' + breakpoint;\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase();\n }\n // .order-md-6\n className += '-' + val;\n return className.toLowerCase();\n});\n\nvar BREAKPOINTS = ['sm', 'md', 'lg', 'xl'];\n// Supports classes like: .col-sm, .col-md-6, .col-lg-auto\nvar breakpointCol = BREAKPOINTS.reduce(\n// eslint-disable-next-line no-sequences\nfunction (propMap, breakpoint) {\n return propMap[breakpoint] = boolStrNum(), propMap;\n}, create(null));\n// Supports classes like: .offset-md-1, .offset-lg-12\nvar breakpointOffset = BREAKPOINTS.reduce(\n// eslint-disable-next-line no-sequences\nfunction (propMap, breakpoint) {\n return propMap[suffixPropName(breakpoint, 'offset')] = strNum(), propMap;\n}, create(null));\n// Supports classes like: .order-md-1, .order-lg-12\nvar breakpointOrder = BREAKPOINTS.reduce(\n// eslint-disable-next-line no-sequences\nfunction (propMap, breakpoint) {\n return propMap[suffixPropName(breakpoint, 'order')] = strNum(), propMap;\n}, create(null));\n\n// For loop doesn't need to check hasOwnProperty\n// when using an object created from null\nvar breakpointPropMap = assign(create(null), {\n col: keys(breakpointCol),\n offset: keys(breakpointOffset),\n order: keys(breakpointOrder)\n});\n\nexport var props = assign({}, breakpointCol, breakpointOffset, breakpointOrder, {\n tag: {\n type: String,\n default: 'div'\n },\n // Generic flexbox .col\n col: {\n type: Boolean,\n default: false\n },\n // .col-[1-12]|auto\n cols: strNum(),\n // .offset-[1-12]\n offset: strNum(),\n // Flex ordering utility .order-[1-12]\n order: strNum(),\n alignSelf: {\n type: String,\n default: null,\n validator: function validator(str) {\n return arrayIncludes(['auto', 'start', 'end', 'center', 'baseline', 'stretch'], str);\n }\n }\n});\n\n/**\n * We need \".col\" to default in when no other props are passed,\n * but always render when col=true.\n */\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _classList$push;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var classList = [];\n // Loop through `col`, `offset`, `order` breakpoint props\n for (var type in breakpointPropMap) {\n // Returns colSm, offset, offsetSm, orderMd, etc.\n var _keys = breakpointPropMap[type];\n for (var i = 0; i < _keys.length; i++) {\n // computeBkPt(col, colSm => Sm, value=[String, Number, Boolean])\n var c = computeBkPtClass(type, _keys[i].replace(type, ''), props[_keys[i]]);\n // If a class is returned, push it onto the array.\n if (c) {\n classList.push(c);\n }\n }\n }\n\n classList.push((_classList$push = {\n // Default to .col if no other classes generated nor `cols` specified.\n col: props.col || classList.length === 0 && !props.cols\n }, _defineProperty(_classList$push, 'col-' + props.cols, props.cols), _defineProperty(_classList$push, 'offset-' + props.offset, props.offset), _defineProperty(_classList$push, 'order-' + props.order, props.order), _defineProperty(_classList$push, 'align-self-' + props.alignSelf, props.alignSelf), _classList$push));\n\n return h(props.tag, mergeData(data, { class: classList }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/layout/col.js\n// module id = null\n// module chunks = ","import { create } from './object';\n\nexport default function memoize(fn) {\n var cache = create(null);\n\n return function memoizedFn() {\n var args = JSON.stringify(arguments);\n return cache[args] = cache[args] || fn.apply(null, arguments);\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/memoize.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'form-row'\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/layout/form-row.js\n// module id = null\n// module chunks = ","import bContainer from './container';\nimport bRow from './row';\nimport bCol from './col';\nimport bFormRow from './form-row';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bContainer: bContainer,\n bRow: bRow,\n bCol: bCol,\n bFormRow: bFormRow\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/layout/index.js\n// module id = null\n// module chunks = ","function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nimport { isArray } from '../utils/array';\n/**\n * Issue #569: collapse::toggle::state triggered too many times\n * @link https://github.com/bootstrap-vue/bootstrap-vue/issues/569\n */\n\nvar BVRL = '__BV_root_listeners__';\n\nexport default {\n methods: {\n /**\n * Safely register event listeners on the root Vue node.\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback.\n *\n * This adds a non-reactive prop to a vm on the fly\n * in order to avoid object observation and its performance costs\n * to something that needs no reactivity.\n * It should be highly unlikely there are any naming collisions.\n * @param {string} event\n * @param {function} callback\n * @chainable\n */\n listenOnRoot: function listenOnRoot(event, callback) {\n if (!this[BVRL] || !isArray(this[BVRL])) {\n this[BVRL] = [];\n }\n this[BVRL].push({ event: event, callback: callback });\n this.$root.$on(event, callback);\n return this;\n },\n\n\n /**\n * Convenience method for calling vm.$emit on vm.$root.\n * @param {string} event\n * @param {*} args\n * @chainable\n */\n emitOnRoot: function emitOnRoot(event) {\n var _$root;\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_$root = this.$root).$emit.apply(_$root, [event].concat(_toConsumableArray(args)));\n return this;\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n if (this[BVRL] && isArray(this[BVRL])) {\n while (this[BVRL].length > 0) {\n // shift to process in order\n var _BVRL$shift = this[BVRL].shift(),\n event = _BVRL$shift.event,\n callback = _BVRL$shift.callback;\n\n this.$root.$off(event, callback);\n }\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/listen-on-root.js\n// module id = null\n// module chunks = ","import listenOnRootMixin from '../../mixins/listen-on-root';\nimport { hasClass, reflow } from '../../utils/dom';\n\n// Events we emit on $root\nvar EVENT_STATE = 'bv::collapse::state';\nvar EVENT_ACCORDION = 'bv::collapse::accordion';\n// Events we listen to on $root\nvar EVENT_TOGGLE = 'bv::toggle::collapse';\n\nexport default {\n mixins: [listenOnRootMixin],\n render: function render(h) {\n var content = h(this.tag, {\n class: this.classObject,\n directives: [{ name: 'show', value: this.show }],\n attrs: { id: this.id || null },\n on: { click: this.clickHandler }\n }, [this.$slots.default]);\n return h('transition', {\n props: {\n enterClass: '',\n enterActiveClass: 'collapsing',\n enterToClass: '',\n leaveClass: '',\n leaveActiveClass: 'collapsing',\n leaveToClass: ''\n },\n on: {\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [content]);\n },\n data: function data() {\n return {\n show: this.visible,\n transitioning: false\n };\n },\n\n model: {\n prop: 'visible',\n event: 'input'\n },\n props: {\n id: {\n type: String,\n required: true\n },\n isNav: {\n type: Boolean,\n default: false\n },\n accordion: {\n type: String,\n default: null\n },\n visible: {\n type: Boolean,\n default: false\n },\n tag: {\n type: String,\n default: 'div'\n }\n },\n watch: {\n visible: function visible(newVal) {\n if (newVal !== this.show) {\n this.show = newVal;\n }\n },\n show: function show(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.emitState();\n }\n }\n },\n computed: {\n classObject: function classObject() {\n return {\n 'navbar-collapse': this.isNav,\n 'collapse': !this.transitioning,\n 'show': this.show && !this.transitioning\n };\n }\n },\n methods: {\n toggle: function toggle() {\n this.show = !this.show;\n },\n onEnter: function onEnter(el) {\n el.style.height = 0;\n reflow(el);\n el.style.height = el.scrollHeight + 'px';\n this.transitioning = true;\n // This should be moved out so we can add cancellable events\n this.$emit('show');\n },\n onAfterEnter: function onAfterEnter(el) {\n el.style.height = null;\n this.transitioning = false;\n this.$emit('shown');\n },\n onLeave: function onLeave(el) {\n el.style.height = 'auto';\n el.style.display = 'block';\n el.style.height = el.getBoundingClientRect().height + 'px';\n reflow(el);\n this.transitioning = true;\n el.style.height = 0;\n // This should be moved out so we can add cancellable events\n this.$emit('hide');\n },\n onAfterLeave: function onAfterLeave(el) {\n el.style.height = null;\n this.transitioning = false;\n this.$emit('hidden');\n },\n emitState: function emitState() {\n this.$emit('input', this.show);\n // Let v-b-toggle know the state of this collapse\n this.$root.$emit(EVENT_STATE, this.id, this.show);\n if (this.accordion && this.show) {\n // Tell the other collapses in this accordion to close\n this.$root.$emit(EVENT_ACCORDION, this.id, this.accordion);\n }\n },\n clickHandler: function clickHandler(evt) {\n // If we are in a nav/navbar, close the collapse when non-disabled link clicked\n var el = evt.target;\n if (!this.isNav || !el || getComputedStyle(this.$el).display !== 'block') {\n return;\n }\n if (hasClass(el, 'nav-link') || hasClass(el, 'dropdown-item')) {\n this.show = false;\n }\n },\n handleToggleEvt: function handleToggleEvt(target) {\n if (target !== this.id) {\n return;\n }\n this.toggle();\n },\n handleAccordionEvt: function handleAccordionEvt(openedId, accordion) {\n if (!this.accordion || accordion !== this.accordion) {\n return;\n }\n if (openedId === this.id) {\n // Open this collapse if not shown\n if (!this.show) {\n this.toggle();\n }\n } else {\n // Close this collapse if shown\n if (this.show) {\n this.toggle();\n }\n }\n },\n handleResize: function handleResize() {\n // Handler for orientation/resize to set collapsed state in nav/navbar\n this.show = getComputedStyle(this.$el).display === 'block';\n }\n },\n created: function created() {\n // Listen for toggle events to open/close us\n this.listenOnRoot(EVENT_TOGGLE, this.handleToggleEvt);\n // Listen to otehr collapses for accordion events\n this.listenOnRoot(EVENT_ACCORDION, this.handleAccordionEvt);\n },\n mounted: function mounted() {\n if (this.isNav && typeof document !== 'undefined') {\n // Set up handlers\n window.addEventListener('resize', this.handleResize, false);\n window.addEventListener('orientationchange', this.handleResize, false);\n this.handleResize();\n }\n this.emitState();\n },\n beforeDestroy: function beforeDestroy() {\n if (this.isNav && typeof document !== 'undefined') {\n window.removeEventListener('resize', this.handleResize, false);\n window.removeEventListener('orientationchange', this.handleResize, false);\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/collapse/collapse.js\n// module id = null\n// module chunks = ","import { keys } from '../utils/object';\n\nvar allListenTypes = { hover: true, click: true, focus: true };\n\nvar BVBoundListeners = '__BV_boundEventListeners__';\n\nvar bindTargets = function bindTargets(vnode, binding, listenTypes, fn) {\n var targets = keys(binding.modifiers || {}).filter(function (t) {\n return !allListenTypes[t];\n });\n\n if (binding.value) {\n targets.push(binding.value);\n }\n\n var listener = function listener() {\n fn({ targets: targets, vnode: vnode });\n };\n\n keys(allListenTypes).forEach(function (type) {\n if (listenTypes[type] || binding.modifiers[type]) {\n vnode.elm.addEventListener(type, listener);\n var boundListeners = vnode.elm[BVBoundListeners] || {};\n boundListeners[type] = boundListeners[type] || [];\n boundListeners[type].push(listener);\n vnode.elm[BVBoundListeners] = boundListeners;\n }\n });\n\n // Return the list of targets\n return targets;\n};\n\nvar unbindTargets = function unbindTargets(vnode, binding, listenTypes) {\n keys(allListenTypes).forEach(function (type) {\n if (listenTypes[type] || binding.modifiers[type]) {\n var boundListeners = vnode.elm[BVBoundListeners] && vnode.elm[BVBoundListeners][type];\n if (boundListeners) {\n boundListeners.forEach(function (listener) {\n return vnode.elm.removeEventListener(type, listener);\n });\n delete vnode.elm[BVBoundListeners][type];\n }\n }\n });\n};\n\nexport { bindTargets, unbindTargets };\n\nexport default bindTargets;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/target.js\n// module id = null\n// module chunks = ","import target from '../../utils/target';\nimport { setAttr, addClass, removeClass } from '../../utils/dom';\n\n// Are we client side?\nvar inBrowser = typeof window !== 'undefined';\n\n// target listen types\nvar listenTypes = { click: true\n\n // Property key for handler storage\n};var BVT = '__BV_toggle__';\n\n// Emitted Control Event for collapse (emitted to collapse)\nvar EVENT_TOGGLE = 'bv::toggle::collapse';\n\n// Listen to Event for toggle state update (Emited by collapse)\nvar EVENT_STATE = 'bv::collapse::state';\n\nexport default {\n bind: function bind(el, binding, vnode) {\n var targets = target(vnode, binding, listenTypes, function (_ref) {\n var targets = _ref.targets,\n vnode = _ref.vnode;\n\n targets.forEach(function (target) {\n vnode.context.$root.$emit(EVENT_TOGGLE, target);\n });\n });\n\n if (inBrowser && vnode.context && targets.length > 0) {\n // Add aria attributes to element\n setAttr(el, 'aria-controls', targets.join(' '));\n setAttr(el, 'aria-expanded', 'false');\n if (el.tagName !== 'BUTTON') {\n // If element is not a button, we add `role=\"button\"` for accessibility\n setAttr(el, 'role', 'button');\n }\n\n // Toggle state hadnler, stored on element\n el[BVT] = function toggleDirectiveHandler(id, state) {\n if (targets.indexOf(id) !== -1) {\n // Set aria-expanded state\n setAttr(el, 'aria-expanded', state ? 'true' : 'false');\n // Set/Clear 'collapsed' class state\n if (state) {\n removeClass(el, 'collapsed');\n } else {\n addClass(el, 'collapsed');\n }\n }\n };\n\n // Listen for toggle state changes\n vnode.context.$root.$on(EVENT_STATE, el[BVT]);\n }\n },\n unbind: function unbind(el, binding, vnode) {\n if (el[BVT]) {\n // Remove our $root listener\n vnode.context.$root.$off(EVENT_STATE, el[BVT]);\n el[BVT] = null;\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/directives/toggle/toggle.js\n// module id = null\n// module chunks = ","import bToggle from './toggle';\nimport { registerDirectives, vueUse } from '../../utils/plugins';\n\nvar directives = {\n bToggle: bToggle\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerDirectives(Vue, directives);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/directives/toggle/index.js\n// module id = null\n// module chunks = ","import bCollapse from './collapse';\nimport togglePlugin from '../../directives/toggle';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bCollapse: bCollapse\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n Vue.use(togglePlugin);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/collapse/index.js\n// module id = null\n// module chunks = ","export default {\n mounted: function mounted() {\n if (typeof document !== 'undefined') {\n document.documentElement.addEventListener('click', this._clickOutListener);\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (typeof document !== 'undefined') {\n document.documentElement.removeEventListener('click', this._clickOutListener);\n }\n },\n\n methods: {\n _clickOutListener: function _clickOutListener(e) {\n if (!this.$el.contains(e.target)) {\n if (this.clickOutListener) {\n this.clickOutListener();\n }\n }\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/clickout.js\n// module id = null\n// module chunks = ","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { assign, defineProperty, defineProperties, readonlyDescriptor } from '../utils/object';\n\nvar BvEvent = function () {\n function BvEvent(type) {\n var eventInit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, BvEvent);\n\n // Start by emulating native Event constructor.\n if (!type) {\n throw new TypeError('Failed to construct \\'' + this.constructor.name + '\\'. 1 argument required, ' + arguments.length + ' given.');\n }\n // Assign defaults first, the eventInit,\n // and the type last so it can't be overwritten.\n assign(this, BvEvent.defaults(), eventInit, { type: type });\n // Freeze some props as readonly, but leave them enumerable.\n defineProperties(this, {\n type: readonlyDescriptor(),\n cancelable: readonlyDescriptor(),\n nativeEvent: readonlyDescriptor(),\n target: readonlyDescriptor(),\n relatedTarget: readonlyDescriptor(),\n vueTarget: readonlyDescriptor()\n });\n // Create a private variable using closure scoping.\n var defaultPrevented = false;\n // Recreate preventDefault method. One way setter.\n this.preventDefault = function preventDefault() {\n if (this.cancelable) {\n defaultPrevented = true;\n }\n };\n // Create 'defaultPrevented' publicly accessible prop\n // that can only be altered by the preventDefault method.\n defineProperty(this, 'defaultPrevented', {\n enumerable: true,\n get: function get() {\n return defaultPrevented;\n }\n });\n }\n\n _createClass(BvEvent, null, [{\n key: 'defaults',\n value: function defaults() {\n return {\n type: '',\n cancelable: true,\n nativeEvent: null,\n target: null,\n relatedTarget: null,\n vueTarget: null\n };\n }\n }]);\n\n return BvEvent;\n}();\n\nexport default BvEvent;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/bv-event.class.js\n// module id = null\n// module chunks = ","import Popper from 'popper.js';\nimport clickoutMixin from './clickout';\nimport listenOnRootMixin from './listen-on-root';\nimport { from as arrayFrom } from '../utils/array';\nimport { assign } from '../utils/object';\nimport KeyCodes from '../utils/key-codes';\nimport BvEvent from '../utils/bv-event.class';\nimport warn from '../utils/warn';\nimport { isVisible, closest, selectAll, getAttr, eventOn, eventOff } from '../utils/dom';\n\n// Return an Array of visible items\nfunction filterVisible(els) {\n return (els || []).filter(isVisible);\n}\n\n// Dropdown item CSS selectors\n// TODO: .dropdown-form handling\nvar ITEM_SELECTOR = '.dropdown-item:not(.disabled):not([disabled])';\n\n// Popper attachment positions\nvar AttachmentMap = {\n // DropUp Left Align\n TOP: 'top-start',\n // DropUp Right Align\n TOPEND: 'top-end',\n // Dropdown left Align\n BOTTOM: 'bottom-start',\n // Dropdown Right Align\n BOTTOMEND: 'bottom-end'\n};\n\nexport default {\n mixins: [clickoutMixin, listenOnRootMixin],\n props: {\n disabled: {\n type: Boolean,\n default: false\n },\n text: {\n // Button label\n type: String,\n default: ''\n },\n dropup: {\n // place on top if possible\n type: Boolean,\n default: false\n },\n right: {\n // Right align menu (default is left align)\n type: Boolean,\n default: false\n },\n offset: {\n // Number of pixels to offset menu, or a CSS unit value (i.e. 1px, 1rem, etc)\n type: [Number, String],\n default: 0\n },\n noFlip: {\n // Disable auto-flipping of menu from bottom<=>top\n type: Boolean,\n default: false\n },\n popperOpts: {\n type: Object,\n default: function _default() {}\n }\n },\n data: function data() {\n return {\n visible: false,\n inNavbar: null,\n visibleChangePrevented: false\n };\n },\n created: function created() {\n // Create non-reactive property\n this._popper = null;\n },\n mounted: function mounted() {\n // To keep one dropdown opened on page\n this.listenOnRoot('bv::dropdown::shown', this.rootCloseListener);\n // Hide when clicked on links\n this.listenOnRoot('clicked::link', this.rootCloseListener);\n // Use new namespaced events\n this.listenOnRoot('bv::link::clicked', this.rootCloseListener);\n },\n\n /* istanbul ignore next: not easy to test */\n deactivated: function deactivated() {\n // In case we are inside a ``\n this.visible = false;\n this.setTouchStart(false);\n this.removePopper();\n },\n\n /* istanbul ignore next: not easy to test */\n beforeDestroy: function beforeDestroy() {\n this.visible = false;\n this.setTouchStart(false);\n this.removePopper();\n },\n\n watch: {\n visible: function visible(newValue, oldValue) {\n if (this.visibleChangePrevented) {\n this.visibleChangePrevented = false;\n return;\n }\n\n if (newValue !== oldValue) {\n var evtName = newValue ? 'show' : 'hide';\n var bvEvt = new BvEvent(evtName, {\n cancelable: true,\n vueTarget: this,\n target: this.$refs.menu,\n relatedTarget: null\n });\n this.emitEvent(bvEvt);\n if (bvEvt.defaultPrevented) {\n // Reset value and exit if canceled\n this.visibleChangePrevented = true;\n this.visible = oldValue;\n return;\n }\n if (evtName === 'show') {\n this.showMenu();\n } else {\n this.hideMenu();\n }\n }\n },\n disabled: function disabled(newValue, oldValue) {\n if (newValue !== oldValue && newValue && this.visible) {\n // Hide dropdown if disabled changes to true\n this.visible = false;\n }\n }\n },\n computed: {\n toggler: function toggler() {\n return this.$refs.toggle.$el || this.$refs.toggle;\n }\n },\n methods: {\n // Event emitter\n emitEvent: function emitEvent(bvEvt) {\n var type = bvEvt.type;\n this.$emit(type, bvEvt);\n this.emitOnRoot('bv::dropdown::' + type, bvEvt);\n },\n showMenu: function showMenu() {\n if (this.disabled) {\n return;\n }\n // Ensure other menus are closed\n this.emitOnRoot('bv::dropdown::shown', this);\n\n // Are we in a navbar ?\n if (this.inNavbar === null && this.isNav) {\n this.inNavbar = Boolean(closest('.navbar', this.$el));\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n /* istnbul ignore next: can't test popper in JSDOM */\n if (!this.inNavbar) {\n if (typeof Popper === 'undefined') {\n warn('b-dropdown: Popper.js not found. Falling back to CSS positioning.');\n } else {\n // for dropup with alignment we use the parent element as popper container\n var element = this.dropup && this.right || this.split ? this.$el : this.$refs.toggle;\n // Make sure we have a reference to an element, not a component!\n element = element.$el || element;\n // Instantiate popper.js\n this.createPopper(element);\n }\n }\n\n this.setTouchStart(true);\n this.$emit('shown');\n\n // Focus on the first item on show\n this.$nextTick(this.focusFirstItem);\n },\n hideMenu: function hideMenu() {\n this.setTouchStart(false);\n this.emitOnRoot('bv::dropdown::hidden', this);\n this.$emit('hidden');\n this.removePopper();\n },\n createPopper: function createPopper(element) {\n this.removePopper();\n this._popper = new Popper(element, this.$refs.menu, this.getPopperConfig());\n },\n removePopper: function removePopper() {\n if (this._popper) {\n // Ensure popper event listeners are removed cleanly\n this._popper.destroy();\n }\n this._popper = null;\n },\n getPopperConfig /* istanbul ignore next: can't test popper in JSDOM */: function getPopperConfig() {\n var placement = AttachmentMap.BOTTOM;\n if (this.dropup && this.right) {\n // dropup + right\n placement = AttachmentMap.TOPEND;\n } else if (this.dropup) {\n // dropup + left\n placement = AttachmentMap.TOP;\n } else if (this.right) {\n // dropdown + right\n placement = AttachmentMap.BOTTOMEND;\n }\n var popperConfig = {\n placement: placement,\n modifiers: {\n offset: {\n offset: this.offset || 0\n },\n flip: {\n enabled: !this.noFlip\n }\n }\n };\n if (this.boundary) {\n popperConfig.modifiers.preventOverflow = {\n boundariesElement: this.boundary\n };\n }\n return assign(popperConfig, this.popperOpts || {});\n },\n setTouchStart: function setTouchStart(on) {\n var _this = this;\n\n /*\n * If this is a touch-enabled device we add extra\n * empty mouseover listeners to the body's immediate children;\n * only needed because of broken event delegation on iOS\n * https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n */\n if ('ontouchstart' in document.documentElement) {\n var children = arrayFrom(document.body.children);\n children.forEach(function (el) {\n if (on) {\n eventOn('mouseover', _this._noop);\n } else {\n eventOff('mouseover', _this._noop);\n }\n });\n }\n },\n\n /* istanbul ignore next: not easy to test */\n _noop: function _noop() {\n // Do nothing event handler (used in touchstart event handler)\n },\n rootCloseListener: function rootCloseListener(vm) {\n if (vm !== this) {\n this.visible = false;\n }\n },\n clickOutListener: function clickOutListener() {\n this.visible = false;\n },\n show: function show() {\n // Public method to show dropdown\n if (this.disabled) {\n return;\n }\n this.visible = true;\n },\n hide: function hide() {\n // Public method to hide dropdown\n if (this.disabled) {\n return;\n }\n this.visible = false;\n },\n toggle: function toggle(evt) {\n // Called only by a button that toggles the menu\n evt = evt || {};\n var type = evt.type;\n var key = evt.keyCode;\n if (type !== 'click' && !(type === 'keydown' && (key === KeyCodes.ENTER || key === KeyCodes.SPACE || key === KeyCodes.DOWN))) {\n // We only toggle on Click, Enter, Space, and Arrow Down\n return;\n }\n if (this.disabled) {\n this.visible = false;\n return;\n }\n this.$emit('toggle', evt);\n if (evt.defaultPrevented) {\n // Exit if canceled\n return;\n }\n evt.preventDefault();\n evt.stopPropagation();\n // Toggle visibility\n this.visible = !this.visible;\n },\n click: function click(evt) {\n // Calle only in split button mode, for the split button\n if (this.disabled) {\n this.visible = false;\n return;\n }\n this.$emit('click', evt);\n },\n\n /* istanbul ignore next: not easy to test */\n onKeydown: function onKeydown(evt) {\n // Called from dropdown menu context\n var key = evt.keyCode;\n if (key === KeyCodes.ESC) {\n // Close on ESC\n this.onEsc(evt);\n } else if (key === KeyCodes.TAB) {\n // Close on tab out\n this.onTab(evt);\n } else if (key === KeyCodes.DOWN) {\n // Down Arrow\n this.focusNext(evt, false);\n } else if (key === KeyCodes.UP) {\n // Up Arrow\n this.focusNext(evt, true);\n }\n },\n\n /* istanbul ignore next: not easy to test */\n onEsc: function onEsc(evt) {\n if (this.visible) {\n this.visible = false;\n evt.preventDefault();\n evt.stopPropagation();\n // Return focus to original trigger button\n this.$nextTick(this.focusToggler);\n }\n },\n\n /* istanbul ignore next: not easy to test */\n onTab: function onTab(evt) {\n if (this.visible) {\n // TODO: Need special handler for dealing with form inputs\n // Tab, if in a text-like input, we should just focus next item in the dropdown\n // Note: Inputs are in a special .dropdown-form container\n this.visible = false;\n }\n },\n onFocusOut: function onFocusOut(evt) {\n if (this.$refs.menu.contains(evt.relatedTarget)) {\n return;\n }\n this.visible = false;\n },\n\n /* istanbul ignore next: not easy to test */\n onMouseOver: function onMouseOver(evt) {\n // Focus the item on hover\n // TODO: Special handling for inputs? Inputs are in a special .dropdown-form container\n var item = evt.target;\n if (item.classList.contains('dropdown-item') && !item.disabled && !item.classList.contains('disabled') && item.focus) {\n item.focus();\n }\n },\n focusNext: function focusNext(evt, up) {\n var _this2 = this;\n\n if (!this.visible) {\n return;\n }\n evt.preventDefault();\n evt.stopPropagation();\n this.$nextTick(function () {\n var items = _this2.getItems();\n if (items.length < 1) {\n return;\n }\n var index = items.indexOf(evt.target);\n if (up && index > 0) {\n index--;\n } else if (!up && index < items.length - 1) {\n index++;\n }\n if (index < 0) {\n index = 0;\n }\n _this2.focusItem(index, items);\n });\n },\n focusItem: function focusItem(idx, items) {\n var el = items.find(function (el, i) {\n return i === idx;\n });\n if (el && getAttr(el, 'tabindex') !== '-1') {\n el.focus();\n }\n },\n getItems: function getItems() {\n // Get all items\n return filterVisible(selectAll(ITEM_SELECTOR, this.$refs.menu));\n },\n getFirstItem: function getFirstItem() {\n // Get the first non-disabled item\n var item = this.getItems()[0];\n return item || null;\n },\n focusFirstItem: function focusFirstItem() {\n var item = this.getFirstItem();\n if (item) {\n this.focusItem(0, [item]);\n }\n },\n focusToggler: function focusToggler() {\n var toggler = this.toggler;\n if (toggler && toggler.focus) {\n toggler.focus();\n }\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/dropdown.js\n// module id = null\n// module chunks = ","import idMixin from '../../mixins/id';\nimport dropdownMixin from '../../mixins/dropdown';\nimport bButton from '../button/button';\n\nimport './dropdown.css';\n\nexport default {\n mixins: [idMixin, dropdownMixin],\n components: { bButton: bButton },\n render: function render(h) {\n var split = h(false);\n if (this.split) {\n split = h('b-button', {\n ref: 'button',\n props: {\n disabled: this.disabled,\n variant: this.variant,\n size: this.size\n },\n attrs: {\n id: this.safeId('_BV_button_')\n },\n on: {\n click: this.click\n }\n }, [this.$slots['button-content'] || this.$slots.text || this.text]);\n }\n var toggle = h('b-button', {\n ref: 'toggle',\n class: this.toggleClasses,\n props: {\n variant: this.variant,\n size: this.size,\n disabled: this.disabled\n },\n attrs: {\n id: this.safeId('_BV_toggle_'),\n 'aria-haspopup': 'true',\n 'aria-expanded': this.visible ? 'true' : 'false'\n },\n on: {\n click: this.toggle, // click\n keydown: this.toggle // enter, space, down\n }\n }, [this.split ? h('span', { class: ['sr-only'] }, [this.toggleText]) : this.$slots['button-content'] || this.$slots.text || this.text]);\n var menu = h('div', {\n ref: 'menu',\n class: this.menuClasses,\n attrs: {\n role: this.role,\n 'aria-labelledby': this.safeId(this.split ? '_BV_button_' : '_BV_toggle_')\n },\n on: {\n mouseover: this.onMouseOver,\n keydown: this.onKeydown // tab, up, down, esc\n }\n }, [this.$slots.default]);\n return h('div', { attrs: { id: this.safeId() }, class: this.dropdownClasses }, [split, toggle, menu]);\n },\n\n props: {\n split: {\n type: Boolean,\n default: false\n },\n toggleText: {\n type: String,\n default: 'Toggle Dropdown'\n },\n size: {\n type: String,\n default: null\n },\n variant: {\n type: String,\n default: null\n },\n menuClass: {\n type: [String, Array],\n default: null\n },\n toggleClass: {\n type: [String, Array],\n default: null\n },\n noCaret: {\n type: Boolean,\n default: false\n },\n role: {\n type: String,\n default: 'menu'\n },\n boundary: {\n // String: `scrollParent`, `window` or `viewport`\n // Object: HTML Element reference\n type: [String, Object],\n default: 'scrollParent'\n }\n },\n computed: {\n dropdownClasses: function dropdownClasses() {\n var position = '';\n // Position `static` is needed to allow menu to \"breakout\" of the scrollParent boundaries\n // when boundary is anything other than `scrollParent`\n // See https://github.com/twbs/bootstrap/issues/24251#issuecomment-341413786\n if (this.boundary !== 'scrollParent' || !this.boundary) {\n position = 'position-static';\n }\n return ['btn-group', 'b-dropdown', 'dropdown', this.dropup ? 'dropup' : '', this.visible ? 'show' : '', position];\n },\n menuClasses: function menuClasses() {\n return ['dropdown-menu', {\n 'dropdown-menu-right': this.right,\n 'show': this.visible\n }, this.menuClass];\n },\n toggleClasses: function toggleClasses() {\n return [{\n 'dropdown-toggle': !this.noCaret || this.split,\n 'dropdown-toggle-split': this.split\n }, this.toggleClass];\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/dropdown/dropdown.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\nimport Link, { propsFactory as linkPropsFactory } from '../link/link';\n\nexport var props = linkPropsFactory();\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(Link, mergeData(data, {\n props: props,\n staticClass: 'dropdown-item',\n attrs: { role: 'menuitem' }\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/dropdown/dropdown-item.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n disabled: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n parent = _ref.parent,\n children = _ref.children;\n\n return h('button', mergeData(data, {\n props: props,\n staticClass: 'dropdown-item',\n attrs: { role: 'menuitem', type: 'button', disabled: props.disabled },\n on: {\n click: function click(e) {\n parent.$root.$emit('clicked::link', e);\n }\n }\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/dropdown/dropdown-item-button.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'h6'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'dropdown-header',\n attrs: { id: props.id || null }\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/dropdown/dropdown-header.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'dropdown-divider',\n attrs: { role: 'separator' }\n }));\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/dropdown/dropdown-divider.js\n// module id = null\n// module chunks = ","import bDropdown from './dropdown';\nimport bDropdownItem from './dropdown-item';\nimport bDropdownItemButton from './dropdown-item-button';\nimport bDropdownHeader from './dropdown-header';\nimport bDropdownDivider from './dropdown-divider';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bDropdown: bDropdown,\n bDd: bDropdown,\n bDropdownItem: bDropdownItem,\n bDdItem: bDropdownItem,\n bDropdownItemButton: bDropdownItemButton,\n bDropdownItemBtn: bDropdownItemButton,\n bDdItemButton: bDropdownItemButton,\n bDdItemBtn: bDropdownItemButton,\n bDropdownHeader: bDropdownHeader,\n bDdHeader: bDropdownHeader,\n bDropdownDivider: bDropdownDivider,\n bDdDivider: bDropdownDivider\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/dropdown/index.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport { arrayIncludes } from '../../utils/array';\n\nexport var props = {\n type: {\n type: String,\n default: 'iframe',\n validator: function validator(str) {\n return arrayIncludes(['iframe', 'embed', 'video', 'object', 'img', 'b-img', 'b-img-lazy'], str);\n }\n },\n tag: {\n type: String,\n default: 'div'\n },\n aspect: {\n type: String,\n default: '16by9'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, {\n ref: data.ref,\n staticClass: 'embed-responsive',\n class: _defineProperty({}, 'embed-responsive-' + props.aspect, Boolean(props.aspect))\n }, [h(props.type, mergeData(data, { ref: '', staticClass: 'embed-responsive-item' }), children)]);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/embed/embed.js\n// module id = null\n// module chunks = ","import bEmbed from './embed';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bEmbed: bEmbed\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/embed/index.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n id: {\n type: String,\n default: null\n },\n inline: {\n type: Boolean,\n default: false\n },\n novalidate: {\n type: Boolean,\n default: false\n },\n validated: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h('form', mergeData(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form/form.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'small'\n },\n textVariant: {\n type: String,\n default: 'muted'\n },\n inline: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n class: _defineProperty({\n 'form-text': !props.inline\n }, 'text-' + props.textVariant, Boolean(props.textVariant)),\n attrs: {\n id: props.id\n }\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form/form-text.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n },\n forceShow: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'invalid-feedback',\n class: { 'd-block': props.forceShow },\n attrs: { id: props.id }\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form/form-invalid-feedback.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n },\n forceShow: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'valid-feedback',\n class: { 'd-block': props.forceShow },\n attrs: { id: props.id }\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form/form-valid-feedback.js\n// module id = null\n// module chunks = ","import bForm from './form';\nimport bFormRow from './form-row';\nimport bFormText from './form-text';\nimport bFormInvalidFeedback from './form-invalid-feedback';\nimport bFormValidFeedback from './form-valid-feedback';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bForm: bForm,\n bFormRow: bFormRow,\n bFormText: bFormText,\n bFormInvalidFeedback: bFormInvalidFeedback,\n bFormFeedback: bFormInvalidFeedback,\n bFormValidFeedback: bFormValidFeedback\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form/index.js\n// module id = null\n// module chunks = ","import bFormRow from '../layout/form-row';\n\nexport default bFormRow;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form/form-row.js\n// module id = null\n// module chunks = ","/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true or 'valid' for is-valid\n * - false or 'invalid' for is-invalid\n * - null (or empty string) for no contextual state\n */\n\nexport default {\n props: {\n state: {\n // true/'valid', false/'invalid', '',null\n type: [Boolean, String],\n default: null\n }\n },\n computed: {\n computedState: function computedState() {\n var state = this.state;\n if (state === true || state === 'valid') {\n return true;\n } else if (state === false || state === 'invalid') {\n return false;\n }\n return null;\n },\n stateClass: function stateClass() {\n var state = this.computedState;\n if (state === true) {\n return 'is-valid';\n } else if (state === false) {\n return 'is-invalid';\n }\n return null;\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/form-state.js\n// module id = null\n// module chunks = ","import warn from '../../utils/warn';\nimport { select, selectAll, isVisible, setAttr, removeAttr, getAttr } from '../../utils/dom';\nimport idMixin from '../../mixins/id';\nimport formStateMixin from '../../mixins/form-state';\nimport bFormRow from '../layout/form-row';\nimport bFormText from '../form/form-text';\nimport bFormInvalidFeedback from '../form/form-invalid-feedback';\nimport bFormValidFeedback from '../form/form-valid-feedback';\n\n// Selector for finding firt input in the form-group\nvar SELECTOR = 'input:not(:disabled),textarea:not(:disabled),select:not(:disabled)';\n\nexport default {\n mixins: [idMixin, formStateMixin],\n components: { bFormRow: bFormRow, bFormText: bFormText, bFormInvalidFeedback: bFormInvalidFeedback, bFormValidFeedback: bFormValidFeedback },\n render: function render(h) {\n var $slots = this.$slots;\n\n // Label / Legend\n var legend = h(false);\n if (this.hasLabel) {\n var children = $slots['label'];\n var legendTag = this.labelFor ? 'label' : 'legend';\n var legendDomProps = children ? {} : { innerHTML: this.label };\n var legendAttrs = { id: this.labelId, for: this.labelFor || null };\n var legendClick = this.labelFor || this.labelSrOnly ? {} : { click: this.legendClick };\n if (this.horizontal) {\n // Horizontal layout with label\n if (this.labelSrOnly) {\n // SR Only we wrap label/legend in a div to preserve layout\n children = h(legendTag, { class: ['sr-only'], attrs: legendAttrs, domProps: legendDomProps }, children);\n legend = h('div', { class: this.labelLayoutClasses }, [children]);\n } else {\n legend = h(legendTag, {\n class: [this.labelLayoutClasses, this.labelClasses],\n attrs: legendAttrs,\n domProps: legendDomProps,\n on: legendClick\n }, children);\n }\n } else {\n // Vertical layout with label\n legend = h(legendTag, {\n class: this.labelSrOnly ? ['sr-only'] : this.labelClasses,\n attrs: legendAttrs,\n domProps: legendDomProps,\n on: legendClick\n }, children);\n }\n } else if (this.horizontal) {\n // No label but has horizontal layout, so we need a spacer element for layout\n legend = h('div', { class: this.labelLayoutClasses });\n }\n\n // Invalid feeback text (explicitly hidden if state is valid)\n var invalidFeedback = h(false);\n if (this.hasInvalidFeedback) {\n var domProps = {};\n if (!$slots['invalid-feedback'] && !$slots['feedback']) {\n domProps = { innerHTML: this.invalidFeedback || this.feedback || '' };\n }\n invalidFeedback = h('b-form-invalid-feedback', {\n props: {\n id: this.invalidFeedbackId,\n forceShow: this.computedState === false\n },\n attrs: {\n role: 'alert',\n 'aria-live': 'assertive',\n 'aria-atomic': 'true'\n },\n domProps: domProps\n }, $slots['invalid-feedback'] || $slots['feedback']);\n }\n\n // Valid feeback text (explicitly hidden if state is invalid)\n var validFeedback = h(false);\n if (this.hasValidFeedback) {\n var _domProps = $slots['valid-feedback'] ? {} : { innerHTML: this.validFeedback || '' };\n validFeedback = h('b-form-valid-feedback', {\n props: {\n id: this.validFeedbackId,\n forceShow: this.computedState === true\n },\n attrs: {\n role: 'alert',\n 'aria-live': 'assertive',\n 'aria-atomic': 'true'\n },\n domProps: _domProps\n }, $slots['valid-feedback']);\n }\n\n // Form help text (description)\n var description = h(false);\n if (this.hasDescription) {\n var _domProps2 = $slots['description'] ? {} : { innerHTML: this.description || '' };\n description = h('b-form-text', { attrs: { id: this.descriptionId }, domProps: _domProps2 }, $slots['description']);\n }\n\n // Build content layout\n var content = h('div', {\n ref: 'content',\n class: this.inputLayoutClasses,\n attrs: this.labelFor ? {} : { role: 'group', 'aria-labelledby': this.labelId }\n }, [$slots['default'], invalidFeedback, validFeedback, description]);\n\n // Generate main form-group wrapper\n return h(this.labelFor ? 'div' : 'fieldset', {\n class: this.groupClasses,\n attrs: {\n id: this.safeId(),\n disabled: this.disabled,\n role: 'group',\n 'aria-invalid': this.computedState === false ? 'true' : null,\n 'aria-labelledby': this.labelId,\n 'aria-describedby': this.labelFor ? null : this.describedByIds\n }\n }, this.horizontal ? [h('b-form-row', {}, [legend, content])] : [legend, content]);\n },\n\n props: {\n horizontal: {\n type: Boolean,\n default: false\n },\n labelCols: {\n type: [Number, String],\n default: 3,\n validator: function validator(value) {\n if (Number(value) >= 1 && Number(value) <= 11) {\n return true;\n }\n warn('b-form-group: label-cols must be a value between 1 and 11');\n return false;\n }\n },\n breakpoint: {\n type: String,\n default: 'sm'\n },\n labelTextAlign: {\n type: String,\n default: null\n },\n label: {\n type: String,\n default: null\n },\n labelFor: {\n type: String,\n default: null\n },\n labelSize: {\n type: String,\n default: null\n },\n labelSrOnly: {\n type: Boolean,\n default: false\n },\n labelClass: {\n type: [String, Array],\n default: null\n },\n description: {\n type: String,\n default: null\n },\n invalidFeedback: {\n type: String,\n default: null\n },\n feedback: {\n // Deprecated in favor of invalid-feedback\n type: String,\n default: null\n },\n validFeedback: {\n type: String,\n default: null\n },\n validated: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n groupClasses: function groupClasses() {\n return ['b-form-group', 'form-group', this.validated ? 'was-validated' : null, this.stateClass];\n },\n labelClasses: function labelClasses() {\n return ['col-form-label', this.labelSize ? 'col-form-label-' + this.labelSize : null, this.labelTextAlign ? 'text-' + this.labelTextAlign : null, this.horizontal ? null : 'pt-0', this.labelClass];\n },\n labelLayoutClasses: function labelLayoutClasses() {\n return [this.horizontal ? 'col-' + this.breakpoint + '-' + this.labelCols : null];\n },\n inputLayoutClasses: function inputLayoutClasses() {\n return [this.horizontal ? 'col-' + this.breakpoint + '-' + (12 - Number(this.labelCols)) : null];\n },\n hasLabel: function hasLabel() {\n return this.label || this.$slots['label'];\n },\n hasDescription: function hasDescription() {\n return this.description || this.$slots['description'];\n },\n hasInvalidFeedback: function hasInvalidFeedback() {\n if (this.computedState === true) {\n // If the form-group state is explicityly valid, we return false\n return false;\n }\n return this.invalidFeedback || this.feedback || this.$slots['invalid-feedback'] || this.$slots['feedback'];\n },\n hasValidFeedback: function hasValidFeedback() {\n if (this.computedState === false) {\n // If the form-group state is explicityly invalid, we return false\n return false;\n }\n return this.validFeedback || this.$slots['valid-feedback'];\n },\n labelId: function labelId() {\n return this.hasLabel ? this.safeId('_BV_label_') : null;\n },\n descriptionId: function descriptionId() {\n return this.hasDescription ? this.safeId('_BV_description_') : null;\n },\n invalidFeedbackId: function invalidFeedbackId() {\n return this.hasInvalidFeedback ? this.safeId('_BV_feedback_invalid_') : null;\n },\n validFeedbackId: function validFeedbackId() {\n return this.hasValidFeedback ? this.safeId('_BV_feedback_valid_') : null;\n },\n describedByIds: function describedByIds() {\n return [this.descriptionId, this.invalidFeedbackId, this.validFeedbackId].filter(function (i) {\n return i;\n }).join(' ') || null;\n }\n },\n watch: {\n describedByIds: function describedByIds(add, remove) {\n if (add !== remove) {\n this.setInputDescribedBy(add, remove);\n }\n }\n },\n methods: {\n legendClick: function legendClick(evt) {\n var tagName = evt.target ? evt.target.tagName : '';\n if (/^(input|select|textarea|label)$/i.test(tagName)) {\n // If clicked an input inside legend, we just let the default happen\n return;\n }\n // Focus the first non-disabled visible input when the legend element is clicked\n var inputs = selectAll(SELECTOR, this.$refs.content).filter(isVisible);\n if (inputs[0] && inputs[0].focus) {\n inputs[0].focus();\n }\n },\n setInputDescribedBy: function setInputDescribedBy(add, remove) {\n // Sets the `aria-describedby` attribute on the input if label-for is set.\n // Optionally accepts a string of IDs to remove as the second parameter\n if (this.labelFor && typeof document !== 'undefined') {\n var input = select('#' + this.labelFor, this.$refs.content);\n if (input) {\n var adb = 'aria-describedby';\n var ids = (getAttr(input, adb) || '').split(/\\s+/);\n remove = (remove || '').split(/\\s+/);\n // Update ID list, preserving any original IDs\n ids = ids.filter(function (id) {\n return remove.indexOf(id) === -1;\n }).concat(add || '').join(' ').trim();\n if (ids) {\n setAttr(input, adb, ids);\n } else {\n removeAttr(input, adb);\n }\n }\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n // Set the adia-describedby IDs on the input specified by label-for\n // We do this in a nextTick to ensure the children have finished rendering\n _this.setInputDescribedBy(_this.describedByIds);\n });\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-group/form-group.js\n// module id = null\n// module chunks = ","import bFormGroup from './form-group';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bFormGroup: bFormGroup,\n bFormFieldset: bFormGroup\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-group/index.js\n// module id = null\n// module chunks = ","/*\n * form-radio & form-check mixin\n *\n */\n\nexport default {\n data: function data() {\n return {\n localChecked: this.checked,\n hasFocus: false\n };\n },\n\n model: {\n prop: 'checked',\n event: 'input'\n },\n props: {\n value: {},\n checked: {\n // This is the model, except when in group mode\n },\n buttonVariant: {\n // Only applicable when rendered with button style\n type: String,\n default: null\n }\n },\n computed: {\n computedLocalChecked: {\n get: function get() {\n if (this.is_Child) {\n return this.$parent.localChecked;\n } else {\n return this.localChecked;\n }\n },\n set: function set(val) {\n if (this.is_Child) {\n this.$parent.localChecked = val;\n } else {\n this.localChecked = val;\n }\n }\n },\n is_Child: function is_Child() {\n return Boolean(this.$parent && this.$parent.is_RadioCheckGroup);\n },\n is_Disabled: function is_Disabled() {\n // Child can be disabled while parent isn't\n return Boolean(this.is_Child ? this.$parent.disabled || this.disabled : this.disabled);\n },\n is_Required: function is_Required() {\n return Boolean(this.is_Child ? this.$parent.required : this.required);\n },\n is_Plain: function is_Plain() {\n return Boolean(this.is_Child ? this.$parent.plain : this.plain);\n },\n is_Custom: function is_Custom() {\n return !this.is_Plain;\n },\n get_Size: function get_Size() {\n return this.is_Child ? this.$parent.size : this.size;\n },\n get_State: function get_State() {\n // This is a tri-state prop (true, false, null)\n if (this.is_Child && typeof this.$parent.get_State === 'boolean') {\n return this.$parent.get_State;\n }\n return this.computedState;\n },\n get_StateClass: function get_StateClass() {\n // This is a tri-state prop (true, false, null)\n return typeof this.get_State === 'boolean' ? this.get_State ? 'is-valid' : 'is-invalid' : '';\n },\n is_Stacked: function is_Stacked() {\n return Boolean(this.is_Child && this.$parent.stacked);\n },\n is_Inline: function is_Inline() {\n return !this.is_Stacked;\n },\n is_ButtonMode: function is_ButtonMode() {\n return Boolean(this.is_Child && this.$parent.buttons);\n },\n get_ButtonVariant: function get_ButtonVariant() {\n // Local variant trumps parent variant\n return this.buttonVariant || (this.is_Child ? this.$parent.buttonVariant : null) || 'secondary';\n },\n get_Name: function get_Name() {\n return (this.is_Child ? this.$parent.name || this.$parent.safeId() : this.name) || null;\n },\n buttonClasses: function buttonClasses() {\n // Same for radio & check\n return ['btn', 'btn-' + this.get_ButtonVariant, this.get_Size ? 'btn-' + this.get_Size : '',\n // 'disabled' class makes \"button\" look disabled\n this.is_Disabled ? 'disabled' : '',\n // 'active' class makes \"button\" look pressed\n this.is_Checked ? 'active' : '',\n // Focus class makes button look focused\n this.hasFocus ? 'focus' : ''];\n }\n },\n methods: {\n handleFocus: function handleFocus(evt) {\n // When in buttons mode, we need to add 'focus' class to label when radio focused\n if (this.is_ButtonMode && evt.target) {\n if (evt.type === 'focus') {\n this.hasFocus = true;\n } else if (evt.type === 'blur') {\n this.hasFocus = false;\n }\n }\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/form-radio-check.js\n// module id = null\n// module chunks = ","export default {\n props: {\n name: {\n type: String\n },\n id: {\n type: String\n },\n disabled: {\n type: Boolean\n },\n required: {\n type: Boolean,\n default: false\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/form.js\n// module id = null\n// module chunks = ","export default {\n props: {\n size: {\n type: String,\n default: null\n }\n },\n computed: {\n sizeFormClass: function sizeFormClass() {\n return [this.size ? \"form-control-\" + this.size : null];\n },\n sizeBtnClass: function sizeBtnClass() {\n return [this.size ? \"btn-\" + this.size : null];\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/form-size.js\n// module id = null\n// module chunks = ","export default {\n computed: {\n custom: function custom() {\n return !this.plain;\n }\n },\n props: {\n plain: {\n type: Boolean,\n default: false\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/form-custom.js\n// module id = null\n// module chunks = ","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { isArray } from './array';\nimport { keys } from './object';\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject(obj) {\n return obj !== null && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object';\n}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n * Returns boolean true or false\n */\nfunction looseEqual(a, b) {\n if (a === b) return true;\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = isArray(a);\n var isArrayB = isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i]);\n });\n } else if (!isArrayA && !isArrayB) {\n var keysA = keys(a);\n var keysB = keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key]);\n });\n } else {\n return false;\n }\n } catch (e) {\n return false;\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b);\n } else {\n return false;\n }\n}\n\nexport default looseEqual;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/loose-equal.js\n// module id = null\n// module chunks = ","import idMixin from '../../mixins/id';\nimport formRadioCheckMixin from '../../mixins/form-radio-check';\nimport formMixin from '../../mixins/form';\nimport formSizeMixin from '../../mixins/form-size';\nimport formStateMixin from '../../mixins/form-state';\nimport formCustomMixin from '../../mixins/form-custom';\nimport { isArray } from '../../utils/array';\nimport looseEqual from '../../utils/loose-equal';\n\nexport default {\n mixins: [idMixin, formRadioCheckMixin, formMixin, formSizeMixin, formStateMixin, formCustomMixin],\n render: function render(h) {\n var _this = this;\n\n var input = h('input', {\n ref: 'check',\n class: [this.is_ButtonMode ? '' : this.is_Plain ? 'form-check-input' : 'custom-control-input', this.get_StateClass],\n directives: [{\n name: 'model',\n rawName: 'v-model',\n value: this.computedLocalChecked,\n expression: 'computedLocalChecked'\n }],\n attrs: {\n id: this.safeId(),\n type: 'checkbox',\n name: this.get_Name,\n disabled: this.is_Disabled,\n required: this.is_Required,\n autocomplete: 'off',\n 'true-value': this.value,\n 'false-value': this.uncheckedValue,\n 'aria-required': this.is_Required ? 'true' : null\n },\n domProps: { value: this.value, checked: this.is_Checked },\n on: {\n focus: this.handleFocus,\n blur: this.handleFocus,\n change: this.emitChange,\n __c: function __c(evt) {\n var $$a = _this.computedLocalChecked;\n var $$el = evt.target;\n if (isArray($$a)) {\n // Multiple checkbox\n var $$v = _this.value;\n var $$i = _this._i($$a, $$v); // Vue's 'loose' Array.indexOf\n if ($$el.checked) {\n // Append value to array\n $$i < 0 && (_this.computedLocalChecked = $$a.concat([$$v]));\n } else {\n // Remove value from array\n $$i > -1 && (_this.computedLocalChecked = $$a.slice(0, $$i).concat($$a.slice($$i + 1)));\n }\n } else {\n // Single checkbox\n _this.computedLocalChecked = $$el.checked ? _this.value : _this.uncheckedValue;\n }\n }\n }\n });\n\n var description = h(this.is_ButtonMode ? 'span' : 'label', {\n class: this.is_ButtonMode ? null : this.is_Plain ? 'form-check-label' : 'custom-control-label',\n attrs: { for: this.is_ButtonMode ? null : this.safeId() }\n }, [this.$slots.default]);\n\n if (!this.is_ButtonMode) {\n return h('div', {\n class: [this.is_Plain ? 'form-check' : this.labelClasses, { 'form-check-inline': this.is_Plain && !this.is_Stacked }, { 'custom-control-inline': !this.is_Plain && !this.is_Stacked }]\n }, [input, description]);\n } else {\n return h('label', { class: [this.buttonClasses] }, [input, description]);\n }\n },\n\n props: {\n value: {\n default: true\n },\n uncheckedValue: {\n // Not applicable in multi-check mode\n default: false\n },\n indeterminate: {\n // Not applicable in multi-check mode\n type: Boolean,\n default: false\n }\n },\n computed: {\n labelClasses: function labelClasses() {\n return ['custom-control', 'custom-checkbox', this.get_Size ? 'form-control-' + this.get_Size : '', this.get_StateClass];\n },\n is_Checked: function is_Checked() {\n var checked = this.computedLocalChecked;\n if (isArray(checked)) {\n for (var i = 0; i < checked.length; i++) {\n if (looseEqual(checked[i], this.value)) {\n return true;\n }\n }\n return false;\n } else {\n return looseEqual(checked, this.value);\n }\n }\n },\n watch: {\n computedLocalChecked: function computedLocalChecked(newVal, oldVal) {\n if (looseEqual(newVal, oldVal)) {\n return;\n }\n this.$emit('input', newVal);\n this.$emit('update:indeterminate', this.$refs.check.indeterminate);\n },\n checked: function checked(newVal, oldVal) {\n if (this.is_Child || looseEqual(newVal, oldVal)) {\n return;\n }\n this.computedLocalChecked = newVal;\n },\n indeterminate: function indeterminate(newVal, oldVal) {\n this.setIndeterminate(newVal);\n }\n },\n methods: {\n emitChange: function emitChange(_ref) {\n var checked = _ref.target.checked;\n\n // Change event is only fired via user interaction\n // And we only emit the value of this checkbox\n if (this.is_Child || isArray(this.computedLocalChecked)) {\n this.$emit('change', checked ? this.value : null);\n if (this.is_Child) {\n // If we are a child of form-checkbbox-group, emit change on parent\n this.$parent.$emit('change', this.computedLocalChecked);\n }\n } else {\n // Single radio mode supports unchecked value\n this.$emit('change', checked ? this.value : this.uncheckedValue);\n }\n this.$emit('update:indeterminate', this.$refs.check.indeterminate);\n },\n setIndeterminate: function setIndeterminate(state) {\n // Indeterminate only supported in single checkbox mode\n if (this.is_Child || isArray(this.computedLocalChecked)) {\n return;\n }\n this.$refs.check.indeterminate = state;\n // Emit update event to prop\n this.$emit('update:indeterminate', this.$refs.check.indeterminate);\n }\n },\n mounted: function mounted() {\n // Set initial indeterminate state\n this.setIndeterminate(this.indeterminate);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-checkbox/form-checkbox.js\n// module id = null\n// module chunks = ","import { isArray } from '../utils/array';\nimport { keys } from '../utils/object';\n\nfunction isObject(obj) {\n return obj && {}.toString.call(obj) === '[object Object]';\n}\n\nexport default {\n\n props: {\n options: {\n type: [Array, Object],\n default: function _default() {\n return [];\n }\n },\n valueField: {\n type: String,\n default: 'value'\n },\n textField: {\n type: String,\n default: 'text'\n },\n disabledField: {\n type: String,\n default: 'disabled'\n }\n },\n computed: {\n formOptions: function formOptions() {\n var options = this.options;\n\n var valueField = this.valueField;\n var textField = this.textField;\n var disabledField = this.disabledField;\n\n if (isArray(options)) {\n // Normalize flat-ish arrays to Array of Objects\n return options.map(function (option) {\n if (isObject(option)) {\n return {\n value: option[valueField],\n text: String(option[textField]),\n disabled: option[disabledField] || false\n };\n }\n return {\n value: option,\n text: String(option),\n disabled: false\n };\n });\n } else {\n // options is Object\n // Normalize Objects to Array of Objects\n return keys(options).map(function (key) {\n var option = options[key] || {};\n if (isObject(option)) {\n var value = option[valueField];\n var text = option[textField];\n return {\n value: typeof value === 'undefined' ? key : value,\n text: typeof text === 'undefined' ? key : String(text),\n disabled: option[disabledField] || false\n };\n }\n return {\n value: key,\n text: String(option),\n disabled: false\n };\n });\n }\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/form-options.js\n// module id = null\n// module chunks = ","import idMixin from '../../mixins/id';\nimport formMixin from '../../mixins/form';\nimport formOptionsMixin from '../../mixins/form-options';\nimport formSizeMixin from '../../mixins/form-size';\nimport formStateMixin from '../../mixins/form-state';\nimport formCustomMixin from '../../mixins/form-custom';\n\nimport bFormCheckbox from './form-checkbox';\n\nexport default {\n mixins: [idMixin, formMixin, formSizeMixin, formStateMixin, formCustomMixin, formOptionsMixin],\n components: { bFormCheckbox: bFormCheckbox },\n render: function render(h) {\n var _this = this;\n\n var $slots = this.$slots;\n\n var checks = this.formOptions.map(function (option, idx) {\n return h('b-form-checkbox', {\n key: 'check_' + idx + '_opt',\n props: {\n id: _this.safeId('_BV_check_' + idx + '_opt_'),\n name: _this.name,\n value: option.value,\n required: _this.name && _this.required,\n disabled: option.disabled\n }\n }, [h('span', { domProps: { innerHTML: option.text } })]);\n });\n return h('div', {\n class: this.groupClasses,\n attrs: {\n id: this.safeId(),\n role: 'group',\n tabindex: '-1',\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n }\n }, [$slots.first, checks, $slots.default]);\n },\n data: function data() {\n return {\n localChecked: this.checked || [],\n // Flag for children\n is_RadioCheckGroup: true\n };\n },\n\n model: {\n prop: 'checked',\n event: 'input'\n },\n props: {\n checked: {\n type: [String, Number, Object, Array, Boolean],\n default: null\n },\n validated: {\n type: Boolean,\n default: false\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n },\n stacked: {\n type: Boolean,\n default: false\n },\n buttons: {\n // Render as button style\n type: Boolean,\n default: false\n },\n buttonVariant: {\n // Only applicable when rendered with button style\n type: String,\n default: 'secondary'\n }\n },\n watch: {\n checked: function checked(newVal, oldVal) {\n this.localChecked = this.checked;\n },\n localChecked: function localChecked(newVal, oldVal) {\n this.$emit('input', newVal);\n }\n },\n computed: {\n groupClasses: function groupClasses() {\n if (this.buttons) {\n return ['btn-group-toggle', this.stacked ? 'btn-group-vertical' : 'btn-group', this.size ? 'btn-group-' + this.size : '', this.validated ? 'was-validated' : ''];\n }\n return [this.sizeFormClass, this.stacked && this.custom ? 'custom-controls-stacked' : '', this.validated ? 'was-validated' : ''];\n },\n computedAriaInvalid: function computedAriaInvalid() {\n if (this.ariaInvalid === true || this.ariaInvalid === 'true' || this.ariaInvalid === '') {\n return 'true';\n }\n return this.get_State === false ? 'true' : null;\n },\n get_State: function get_State() {\n // Child radios sniff this value\n return this.computedState;\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-checkbox/form-checkbox-group.js\n// module id = null\n// module chunks = ","import bFormCheckbox from './form-checkbox';\nimport bFormCheckboxGroup from './form-checkbox-group';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bFormCheckbox: bFormCheckbox,\n bCheckbox: bFormCheckbox,\n bCheck: bFormCheckbox,\n bFormCheckboxGroup: bFormCheckboxGroup,\n bCheckboxGroup: bFormCheckboxGroup,\n bCheckGroup: bFormCheckboxGroup\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-checkbox/index.js\n// module id = null\n// module chunks = ","import idMixin from '../../mixins/id';\nimport formMixin from '../../mixins/form';\nimport formStateMixin from '../../mixins/form-state';\nimport formRadioCheckMixin from '../../mixins/form-radio-check';\nimport looseEqual from '../../utils/loose-equal';\n\nexport default {\n mixins: [idMixin, formRadioCheckMixin, formMixin, formStateMixin],\n render: function render(h) {\n var _this = this;\n\n var input = h('input', {\n ref: 'radio',\n class: [this.is_ButtonMode ? '' : this.is_Plain ? 'form-check-input' : 'custom-control-input', this.get_StateClass],\n directives: [{\n name: 'model',\n rawName: 'v-model',\n value: this.computedLocalChecked,\n expression: 'computedLocalChecked'\n }],\n attrs: {\n id: this.safeId(),\n type: 'radio',\n name: this.get_Name,\n required: this.get_Name && this.is_Required,\n disabled: this.is_Disabled,\n autocomplete: 'off'\n },\n domProps: {\n value: this.value,\n checked: looseEqual(this.computedLocalChecked, this.value)\n },\n on: {\n focus: this.handleFocus,\n blur: this.handleFocus,\n change: this.emitChange,\n __c: function __c(evt) {\n _this.computedLocalChecked = _this.value;\n }\n }\n });\n\n var description = h(this.is_ButtonMode ? 'span' : 'label', {\n class: this.is_ButtonMode ? null : this.is_Plain ? 'form-check-label' : 'custom-control-label',\n attrs: { for: this.is_ButtonMode ? null : this.safeId() }\n }, [this.$slots.default]);\n\n if (!this.is_ButtonMode) {\n return h('div', {\n class: [this.is_Plain ? 'form-check' : this.labelClasses, { 'form-check-inline': this.is_Plain && !this.is_Stacked }, { 'custom-control-inline': !this.is_Plain && !this.is_Stacked }]\n }, [input, description]);\n } else {\n return h('label', { class: [this.buttonClasses] }, [input, description]);\n }\n },\n\n watch: {\n // Radio Groups can only have a single value, so our watchers are simple\n checked: function checked(newVal, oldVal) {\n this.computedLocalChecked = newVal;\n },\n computedLocalChceked: function computedLocalChceked(newVal, oldVal) {\n this.$emit('input', this.computedLocalChceked);\n }\n },\n computed: {\n is_Checked: function is_Checked() {\n return looseEqual(this.value, this.computedLocalChecked);\n },\n labelClasses: function labelClasses() {\n // Specific to radio\n return [this.get_Size ? 'form-control-' + this.get_Size : '', 'custom-control', 'custom-radio', this.get_StateClass];\n }\n },\n methods: {\n emitChange: function emitChange(_ref) {\n var checked = _ref.target.checked;\n\n // Change is only emitted on user interaction\n this.$emit('change', checked ? this.value : null);\n // If this is a child of form-radio-group, we emit a change event on it as well\n if (this.is_Child) {\n this.$parent.$emit('change', this.computedLocalChecked);\n }\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-radio/form-radio.js\n// module id = null\n// module chunks = ","import idMixin from '../../mixins/id';\nimport formOptionsMixin from '../../mixins/form-options';\nimport formMixin from '../../mixins/form';\nimport formSizeMixin from '../../mixins/form-size';\nimport formStateMixin from '../../mixins/form-state';\nimport formCustomMixin from '../../mixins/form-custom';\nimport bFormRadio from './form-radio';\n\nexport default {\n mixins: [idMixin, formMixin, formSizeMixin, formStateMixin, formCustomMixin, formOptionsMixin],\n components: { bFormRadio: bFormRadio },\n render: function render(h) {\n var _this = this;\n\n var $slots = this.$slots;\n\n var radios = this.formOptions.map(function (option, idx) {\n return h('b-form-radio', {\n key: 'radio_' + idx + '_opt',\n props: {\n id: _this.safeId('_BV_radio_' + idx + '_opt_'),\n name: _this.name,\n value: option.value,\n required: Boolean(_this.name && _this.required),\n disabled: option.disabled\n }\n }, [h('span', { domProps: { innerHTML: option.text } })]);\n });\n return h('div', {\n class: this.groupClasses,\n attrs: {\n id: this.safeId(),\n role: 'radiogroup',\n tabindex: '-1',\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n }\n }, [$slots.first, radios, $slots.default]);\n },\n data: function data() {\n return {\n localChecked: this.checked,\n // Flag for children\n is_RadioCheckGroup: true\n };\n },\n\n model: {\n prop: 'checked',\n event: 'input'\n },\n props: {\n checked: {\n type: [String, Object, Number, Boolean],\n default: null\n },\n validated: {\n // Used for applying hte `was-validated` class to the group\n type: Boolean,\n default: false\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n },\n stacked: {\n type: Boolean,\n default: false\n },\n buttons: {\n // Render as button style\n type: Boolean,\n default: false\n },\n buttonVariant: {\n // Only applicable when rendered with button style\n type: String,\n default: 'secondary'\n }\n },\n watch: {\n checked: function checked(newVal, oldVal) {\n this.localChecked = this.checked;\n },\n localChecked: function localChecked(newVal, oldVal) {\n this.$emit('input', newVal);\n }\n },\n computed: {\n groupClasses: function groupClasses() {\n if (this.buttons) {\n return ['btn-group-toggle', this.stacked ? 'btn-group-vertical' : 'btn-group', this.size ? 'btn-group-' + this.size : '', this.validated ? 'was-validated' : ''];\n }\n return [this.sizeFormClass, this.stacked && this.custom ? 'custom-controls-stacked' : '', this.validated ? 'was-validated' : ''];\n },\n computedAriaInvalid: function computedAriaInvalid() {\n if (this.ariaInvalid === true || this.ariaInvalid === 'true' || this.ariaInvalid === '') {\n return 'true';\n }\n return this.get_State === false ? 'true' : null;\n },\n get_State: function get_State() {\n // Required by child radios\n return this.computedState;\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-radio/form-radio-group.js\n// module id = null\n// module chunks = ","import bFormRadio from './form-radio';\nimport bFormRadioGroup from './form-radio-group';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bFormRadio: bFormRadio,\n bRadio: bFormRadio,\n bFormRadioGroup: bFormRadioGroup,\n bRadioGroup: bFormRadioGroup\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-radio/index.js\n// module id = null\n// module chunks = ","import idMixin from '../../mixins/id';\nimport formMixin from '../../mixins/form';\nimport formSizeMixin from '../../mixins/form-size';\nimport formStateMixin from '../../mixins/form-state';\nimport { arrayIncludes } from '../../utils/array';\n\n// Import styles\nimport './form-input.css';\n\n// Valid supported input types\nvar TYPES = ['text', 'password', 'email', 'number', 'url', 'tel', 'search', 'range', 'color', 'date', 'time', 'datetime', 'datetime-local', 'month', 'week'];\n\nexport default {\n mixins: [idMixin, formMixin, formSizeMixin, formStateMixin],\n render: function render(h) {\n return h('input', {\n ref: 'input',\n class: this.inputClass,\n attrs: {\n id: this.safeId(),\n name: this.name,\n type: this.localType,\n disabled: this.disabled,\n required: this.required,\n readonly: this.readonly || this.plaintext,\n placeholder: this.placeholder,\n autocomplete: this.autocomplete || null,\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid,\n value: this.value\n },\n on: {\n input: this.onInput,\n change: this.onChange\n }\n });\n },\n\n props: {\n value: {\n default: null\n },\n type: {\n type: String,\n default: 'text',\n validator: function validator(type) {\n return arrayIncludes(TYPES, type);\n }\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n plaintext: {\n type: Boolean,\n default: false\n },\n autocomplete: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n formatter: {\n type: Function\n },\n lazyFormatter: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n localType: function localType() {\n // We only allow certain types\n return arrayIncludes(TYPES, this.type) ? this.type : 'text';\n },\n inputClass: function inputClass() {\n return [this.plaintext ? 'form-control-plaintext' : 'form-control', this.sizeFormClass, this.stateClass];\n },\n computedAriaInvalid: function computedAriaInvalid() {\n if (!this.ariaInvalid || this.ariaInvalid === 'false') {\n // this.ariaInvalid is null or false or 'false'\n return this.computedState === false ? 'true' : null;\n }\n if (this.ariaInvalid === true) {\n // User wants explicit aria-invalid=true\n return 'true';\n }\n // Most likely a string value (which could be 'true')\n return this.ariaInvalid;\n }\n },\n mounted: function mounted() {\n if (this.value) {\n var fValue = this.format(this.value, null);\n this.setValue(fValue);\n }\n },\n\n watch: {\n value: function value(newVal) {\n if (this.lazyFormatter) {\n this.setValue(newVal);\n } else {\n var fValue = this.format(newVal, null);\n this.setValue(fValue);\n }\n }\n },\n methods: {\n format: function format(value, e) {\n if (this.formatter) {\n return this.formatter(value, e);\n }\n return value;\n },\n setValue: function setValue(value) {\n this.$emit('input', value);\n // When formatter removes last typed character, value of text input should update to formatted value\n this.$refs.input.value = value;\n },\n onInput: function onInput(evt) {\n var value = evt.target.value;\n\n if (this.lazyFormatter) {\n this.setValue(value);\n } else {\n var fValue = this.format(value, evt);\n this.setValue(fValue);\n }\n },\n onChange: function onChange(evt) {\n var fValue = this.format(evt.target.value, evt);\n this.setValue(fValue);\n this.$emit('change', fValue);\n },\n focus: function focus() {\n if (!this.disabled) {\n this.$el.focus();\n }\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-input/form-input.js\n// module id = null\n// module chunks = ","import bFormInput from './form-input';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bFormInput: bFormInput,\n bInput: bFormInput\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-input/index.js\n// module id = null\n// module chunks = ","import idMixin from '../../mixins/id';\nimport formMixin from '../../mixins/form';\nimport formSizeMixin from '../../mixins/form-size';\nimport formStateMixin from '../../mixins/form-state';\n\nexport default {\n mixins: [idMixin, formMixin, formSizeMixin, formStateMixin],\n render: function render(h) {\n var _this = this;\n\n return h('textarea', {\n ref: 'input',\n class: this.inputClass,\n style: this.inputStyle,\n directives: [{\n name: 'model',\n rawName: 'v-model',\n value: this.localValue,\n expression: 'localValue'\n }],\n domProps: { value: this.value },\n attrs: {\n id: this.safeId(),\n name: this.name,\n disabled: this.disabled,\n placeholder: this.placeholder,\n required: this.required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n rows: this.rowsCount,\n wrap: this.wrap || null,\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n },\n on: {\n input: function input(evt) {\n _this.localValue = evt.target.value;\n }\n }\n });\n },\n data: function data() {\n return {\n localValue: this.value\n };\n },\n\n props: {\n value: {\n type: String,\n default: ''\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n plaintext: {\n type: Boolean,\n default: false\n },\n autocomplete: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n rows: {\n type: [Number, String],\n default: null\n },\n maxRows: {\n type: [Number, String],\n default: null\n },\n wrap: {\n // 'soft', 'hard' or 'off'. Browser default is 'soft'\n type: String,\n default: 'soft'\n },\n noResize: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n rowsCount: function rowsCount() {\n // A better option could be based on https://codepen.io/vsync/pen/frudD\n // As linebreaks aren't added until the input is submitted\n var rows = parseInt(this.rows, 10) || 1;\n var maxRows = parseInt(this.maxRows, 10) || 0;\n var lines = (this.localValue || '').toString().split('\\n').length;\n return maxRows ? Math.min(maxRows, Math.max(rows, lines)) : Math.max(rows, lines);\n },\n inputClass: function inputClass() {\n return [this.plaintext ? 'form-control-plaintext' : 'form-control', this.sizeFormClass, this.stateClass];\n },\n inputStyle: function inputStyle() {\n // We set width 100% in plaintext mode to get around a shortcoming in bootstrap CSS\n // setting noResize to true will disable the ability for the user to resize the textarea\n return {\n width: this.plaintext ? '100%' : null,\n resize: this.noResize ? 'none' : null\n };\n },\n computedAriaInvalid: function computedAriaInvalid() {\n if (!this.ariaInvalid || this.ariaInvalid === 'false') {\n // this.ariaInvalid is null or false or 'false'\n return this.computedState === false ? 'true' : null;\n }\n if (this.ariaInvalid === true) {\n // User wants explicit aria-invalid=true\n return 'true';\n }\n // Most likely a string value (which could be the string 'true')\n return this.ariaInvalid;\n }\n },\n watch: {\n value: function value(newVal, oldVal) {\n // Update our localValue\n if (newVal !== oldVal) {\n this.localValue = newVal;\n }\n },\n localValue: function localValue(newVal, oldVal) {\n // update Parent value\n if (newVal !== oldVal) {\n this.$emit('input', newVal);\n }\n }\n },\n methods: {\n focus: function focus() {\n // For external handler that may want a focus method\n if (!this.disabled) {\n this.$el.focus();\n }\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-textarea/form-textarea.js\n// module id = null\n// module chunks = ","import bFormTextarea from './form-textarea';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bFormTextarea: bFormTextarea,\n bTextarea: bFormTextarea\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-textarea/index.js\n// module id = null\n// module chunks = ","import idMixin from '../../mixins/id';\nimport formMixin from '../../mixins/form';\nimport formStateMixin from '../../mixins/form-state';\nimport formCustomMixin from '../../mixins/form-custom';\nimport { from as arrayFrom } from '../../utils/array';\n\nexport default {\n mixins: [idMixin, formMixin, formStateMixin, formCustomMixin],\n render: function render(h) {\n // Form Input\n var input = h('input', {\n ref: 'input',\n class: [{\n 'form-control-file': this.plain,\n 'custom-file-input': this.custom,\n focus: this.custom && this.hasFocus\n }, this.stateClass],\n attrs: {\n type: 'file',\n id: this.safeId(),\n name: this.name,\n disabled: this.disabled,\n required: this.required,\n capture: this.capture || null,\n accept: this.accept || null,\n multiple: this.multiple,\n webkitdirectory: this.directory,\n 'aria-required': this.required ? 'true' : null,\n 'aria-describedby': this.plain ? null : this.safeId('_BV_file_control_')\n },\n on: {\n change: this.onFileChange,\n focusin: this.focusHandler,\n focusout: this.focusHandler\n }\n });\n\n if (this.plain) {\n return input;\n }\n\n // Overlay Labels\n var label = h('label', {\n class: ['custom-file-label', this.dragging ? 'dragging' : null],\n attrs: {\n id: this.safeId('_BV_file_control_')\n }\n }, this.selectLabel);\n\n // Return rendered custom file input\n return h('div', {\n class: ['custom-file', 'b-form-file', this.stateClass],\n attrs: { id: this.safeId('_BV_file_outer_') },\n on: { dragover: this.dragover }\n }, [input, label]);\n },\n data: function data() {\n return {\n selectedFile: null,\n dragging: false,\n hasFocus: false\n };\n },\n\n props: {\n accept: {\n type: String,\n default: ''\n },\n // Instruct input to capture from camera\n capture: {\n type: Boolean,\n default: false\n },\n placeholder: {\n type: String,\n default: undefined\n },\n multiple: {\n type: Boolean,\n default: false\n },\n directory: {\n type: Boolean,\n default: false\n },\n noTraverse: {\n type: Boolean,\n default: false\n },\n noDrop: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n selectLabel: function selectLabel() {\n // No file choosen\n if (!this.selectedFile || this.selectedFile.length === 0) {\n return this.placeholder;\n }\n\n // Multiple files\n if (this.multiple) {\n if (this.selectedFile.length === 1) {\n return this.selectedFile[0].name;\n }\n return this.selectedFile.map(function (file) {\n return file.name;\n }).join(', ');\n }\n\n // Single file\n return this.selectedFile.name;\n }\n },\n watch: {\n selectedFile: function selectedFile(newVal, oldVal) {\n if (newVal === oldVal) {\n return;\n }\n if (!newVal && this.multiple) {\n this.$emit('input', []);\n } else {\n this.$emit('input', newVal);\n }\n }\n },\n methods: {\n focusHandler: function focusHandler(evt) {\n // Boostrap v4.beta doesn't have focus styling for custom file input\n // Firefox has a borked '[type=file]:focus ~ sibling' selector issue,\n // So we add a 'focus' class to get around these \"bugs\"\n if (this.plain || evt.type === 'focusout') {\n this.hasFocus = false;\n } else {\n // Add focus styling for custom file input\n this.hasFocus = true;\n }\n },\n reset: function reset() {\n try {\n // Wrapped in try in case IE < 11 craps out\n this.$refs.input.value = '';\n } catch (e) {}\n // IE < 11 doesn't support setting input.value to '' or null\n // So we use this little extra hack to reset the value, just in case\n // This also appears to work on modern browsers as well.\n this.$refs.input.type = '';\n this.$refs.input.type = 'file';\n this.selectedFile = this.multiple ? [] : null;\n },\n onFileChange: function onFileChange(evt) {\n var _this = this;\n\n // Always emit original event\n this.$emit('change', evt);\n // Check if special `items` prop is available on event (drop mode)\n // Can be disabled by setting no-traverse\n var items = evt.dataTransfer && evt.dataTransfer.items;\n if (items && !this.noTraverse) {\n var queue = [];\n for (var i = 0; i < items.length; i++) {\n var item = items[i].webkitGetAsEntry();\n if (item) {\n queue.push(this.traverseFileTree(item));\n }\n }\n Promise.all(queue).then(function (filesArr) {\n _this.setFiles(arrayFrom(filesArr));\n });\n return;\n }\n // Normal handling\n this.setFiles(evt.target.files || evt.dataTransfer.files);\n },\n setFiles: function setFiles(files) {\n if (!files) {\n this.selectedFile = null;\n return;\n }\n if (!this.multiple) {\n this.selectedFile = files[0];\n return;\n }\n // Convert files to array\n var filesArray = [];\n for (var i = 0; i < files.length; i++) {\n if (files[i].type.match(this.accept)) {\n filesArray.push(files[i]);\n }\n }\n this.selectedFile = filesArray;\n },\n dragover: function dragover(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n if (this.noDrop || !this.custom) {\n return;\n }\n this.dragging = true;\n evt.dataTransfer.dropEffect = 'copy';\n },\n dragleave: function dragleave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragging = false;\n },\n drop: function drop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n if (this.noDrop) {\n return;\n }\n this.dragging = false;\n if (evt.dataTransfer.files && evt.dataTransfer.files.length > 0) {\n this.onFileChange(evt);\n }\n },\n traverseFileTree: function traverseFileTree(item, path) {\n var _this2 = this;\n\n // Based on http://stackoverflow.com/questions/3590058\n return new Promise(function (resolve) {\n path = path || '';\n if (item.isFile) {\n // Get file\n item.file(function (file) {\n file.$path = path; // Inject $path to file obj\n resolve(file);\n });\n } else if (item.isDirectory) {\n // Get folder contents\n item.createReader().readEntries(function (entries) {\n var queue = [];\n for (var i = 0; i < entries.length; i++) {\n queue.push(_this2.traverseFileTree(entries[i], path + item.name + '/'));\n }\n Promise.all(queue).then(function (filesArr) {\n resolve(arrayFrom(filesArr));\n });\n });\n }\n });\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-file/form-file.js\n// module id = null\n// module chunks = ","import bFormFile from './form-file';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bFormFile: bFormFile,\n bFile: bFormFile\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-file/index.js\n// module id = null\n// module chunks = ","import idMixin from '../../mixins/id';\nimport formOptionsMixin from '../../mixins/form-options';\nimport formMixin from '../../mixins/form';\nimport formSizeMixin from '../../mixins/form-size';\nimport formStateMixin from '../../mixins/form-state';\nimport formCustomMixin from '../../mixins/form-custom';\nimport { from as arrayFrom } from '../../utils/array';\n\nexport default {\n mixins: [idMixin, formMixin, formSizeMixin, formStateMixin, formCustomMixin, formOptionsMixin],\n render: function render(h) {\n var _this = this;\n\n var $slots = this.$slots;\n var options = this.formOptions.map(function (option, index) {\n return h('option', {\n key: 'option_' + index + '_opt',\n attrs: { disabled: Boolean(option.disabled) },\n domProps: { innerHTML: option.text, value: option.value }\n });\n });\n return h('select', {\n ref: 'input',\n class: this.inputClass,\n directives: [{\n name: 'model',\n rawName: 'v-model',\n value: this.localValue,\n expression: 'localValue'\n }],\n attrs: {\n id: this.safeId(),\n name: this.name,\n multiple: this.multiple || null,\n size: this.computedSelectSize,\n disabled: this.disabled,\n required: this.required,\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n },\n on: {\n change: function change(evt) {\n var target = evt.target;\n var selectedVal = arrayFrom(target.options).filter(function (o) {\n return o.selected;\n }).map(function (o) {\n return '_value' in o ? o._value : o.value;\n });\n _this.localValue = target.multiple ? selectedVal : selectedVal[0];\n _this.$emit('change', _this.localValue);\n }\n }\n }, [$slots.first, options, $slots.default]);\n },\n data: function data() {\n return {\n localValue: this.value\n };\n },\n\n watch: {\n value: function value(newVal, oldVal) {\n this.localValue = newVal;\n },\n localValue: function localValue(newVal, oldVal) {\n this.$emit('input', this.localValue);\n }\n },\n props: {\n value: {},\n multiple: {\n type: Boolean,\n default: false\n },\n selectSize: {\n // Browsers default size to 0, which shows 4 rows in most browsers in multiple mode\n // Size of 1 can bork out firefox\n type: Number,\n default: 0\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n }\n },\n computed: {\n computedSelectSize: function computedSelectSize() {\n // Custom selects with a size of zero causes the arrows to be hidden,\n // so dont render the size attribute in this case\n return !this.plain && this.selectSize === 0 ? null : this.selectSize;\n },\n inputClass: function inputClass() {\n return ['form-control', this.stateClass, this.sizeFormClass,\n // Awaiting for https://github.com/twbs/bootstrap/issues/23058\n this.plain ? null : 'custom-select', this.plain || !this.size ? null : 'custom-select-' + this.size];\n },\n computedAriaInvalid: function computedAriaInvalid() {\n if (this.ariaInvalid === true || this.ariaInvalid === 'true') {\n return 'true';\n }\n return this.stateClass === 'is-invalid' ? 'true' : null;\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-select/form-select.js\n// module id = null\n// module chunks = ","import bFormSelect from './form-select';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bFormSelect: bFormSelect,\n bSelect: bFormSelect\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-select/index.js\n// module id = null\n// module chunks = ","import bImg from './img';\nimport bImgLazy from './img-lazy';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bImg: bImg,\n bImgLazy: bImgLazy\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/image/index.js\n// module id = null\n// module chunks = ","import bImg from './img';\nimport { isVisible, getBCR, eventOn, eventOff } from '../../utils/dom';\nvar THROTTLE = 100;\n\nexport default {\n components: { bImg: bImg },\n render: function render(h) {\n return h('b-img', {\n props: {\n src: this.computedSrc,\n alt: this.alt,\n blank: this.computedBlank,\n blankColor: this.blankColor,\n width: this.computedWidth,\n height: this.computedHeight,\n fluid: this.fluid,\n fluidGrow: this.fluidGrow,\n block: this.block,\n thumbnail: this.thumbnail,\n rounded: this.rounded,\n left: this.left,\n right: this.right,\n center: this.center\n }\n });\n },\n data: function data() {\n return {\n isShown: false,\n scrollTimeout: null\n };\n },\n\n props: {\n src: {\n type: String,\n default: null,\n required: true\n },\n alt: {\n type: String,\n default: null\n },\n width: {\n type: [Number, String],\n default: null\n },\n height: {\n type: [Number, String],\n default: null\n },\n blankSrc: {\n // If null, a blank image is generated\n type: String,\n default: null\n },\n blankColor: {\n type: String,\n default: 'transparent'\n },\n blankWidth: {\n type: [Number, String],\n default: null\n },\n blankHeight: {\n type: [Number, String],\n default: null\n },\n fluid: {\n type: Boolean,\n default: false\n },\n fluidGrow: {\n type: Boolean,\n default: false\n },\n block: {\n type: Boolean,\n default: false\n },\n thumbnail: {\n type: Boolean,\n default: false\n },\n rounded: {\n type: [Boolean, String],\n default: false\n },\n left: {\n type: Boolean,\n default: false\n },\n right: {\n type: Boolean,\n default: false\n },\n center: {\n type: Boolean,\n default: false\n },\n offset: {\n type: [Number, String],\n default: 360\n },\n throttle: {\n type: [Number, String],\n default: THROTTLE\n }\n },\n computed: {\n computedSrc: function computedSrc() {\n return !this.blankSrc || this.isShown ? this.src : this.blankSrc;\n },\n computedBlank: function computedBlank() {\n return !(this.isShown || this.blankSrc);\n },\n computedWidth: function computedWidth() {\n return this.isShown ? this.width : this.blankWidth || this.width;\n },\n computedHeight: function computedHeight() {\n return this.isShown ? this.height : this.blankHeight || this.height;\n }\n },\n mounted: function mounted() {\n this.setListeners(true);\n this.checkView();\n },\n activated: function activated() {\n this.setListeners(true);\n this.checkView();\n },\n deactivated: function deactivated() {\n this.setListeners(false);\n },\n beforeDdestroy: function beforeDdestroy() {\n this.setListeners(false);\n },\n\n methods: {\n setListeners: function setListeners(on) {\n clearTimeout(this.scrollTimer);\n this.scrollTimeout = null;\n var root = window;\n if (on) {\n eventOn(root, 'scroll', this.onScroll);\n eventOn(root, 'resize', this.onScroll);\n eventOn(root, 'orientationchange', this.onScroll);\n } else {\n eventOff(root, 'scroll', this.onScroll);\n eventOff(root, 'resize', this.onScroll);\n eventOff(root, 'orientationchange', this.onScroll);\n }\n },\n checkView: function checkView() {\n // check bounding box + offset to see if we should show\n if (!isVisible(this.$el)) {\n // Element is hidden, so skip for now\n return;\n }\n var offset = parseInt(this.offset, 10) || 0;\n var docElement = document.documentElement;\n var view = {\n l: 0 - offset,\n t: 0 - offset,\n b: docElement.clientHeight + offset,\n r: docElement.clientWidth + offset\n };\n var box = getBCR(this.$el);\n if (box.right >= view.l && box.bottom >= view.t && box.left <= view.r && box.top <= view.b) {\n // image is in view (or about to be in view)\n this.isShown = true;\n this.setListeners(false);\n }\n },\n onScroll: function onScroll() {\n if (this.isShown) {\n this.setListeners(false);\n } else {\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = setTimeout(this.checkView, parseInt(this.throttle, 10) || THROTTLE);\n }\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/image/img-lazy.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport Container from '../layout/container';\n\nexport var props = {\n fluid: {\n type: Boolean,\n default: false\n },\n containerFluid: {\n type: Boolean,\n default: false\n },\n header: {\n type: String,\n default: null\n },\n headerTag: {\n type: String,\n default: 'h1'\n },\n headerLevel: {\n type: [Number, String],\n default: '3'\n },\n lead: {\n type: String,\n default: null\n },\n leadTag: {\n type: String,\n default: 'p'\n },\n tag: {\n type: String,\n default: 'div'\n },\n bgVariant: {\n type: String,\n default: null\n },\n borderVariant: {\n type: String,\n default: null\n },\n textVariant: {\n type: String,\n default: null\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class2;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots;\n\n // The order of the conditionals matter.\n // We are building the component markup in order.\n var childNodes = [];\n var $slots = slots();\n\n // Header\n if (props.header || $slots.header) {\n childNodes.push(h(props.headerTag, {\n class: _defineProperty({}, 'display-' + props.headerLevel, Boolean(props.headerLevel))\n }, $slots.header || props.header));\n }\n\n // Lead\n if (props.lead || $slots.lead) {\n childNodes.push(h(props.leadTag, { staticClass: 'lead' }, $slots.lead || props.lead));\n }\n\n // Default slot\n if ($slots.default) {\n childNodes.push($slots.default);\n }\n\n // If fluid, wrap content in a container/container-fluid\n if (props.fluid) {\n // Children become a child of a container\n childNodes = [h(Container, { props: { 'fluid': props.containerFluid } }, childNodes)];\n }\n // Return the jumbotron\n return h(props.tag, mergeData(data, {\n staticClass: 'jumbotron',\n class: (_class2 = {\n 'jumbotron-fluid': props.fluid\n }, _defineProperty(_class2, 'text-' + props.textVariant, Boolean(props.textVariant)), _defineProperty(_class2, 'bg-' + props.bgVariant, Boolean(props.bgVariant)), _defineProperty(_class2, 'border-' + props.borderVariant, Boolean(props.borderVariant)), _defineProperty(_class2, 'border', Boolean(props.borderVariant)), _class2)\n }), childNodes);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/jumbotron/jumbotron.js\n// module id = null\n// module chunks = ","import bJumbotron from './jumbotron';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bJumbotron: bJumbotron\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/jumbotron/index.js\n// module id = null\n// module chunks = ","import bLink from './link';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bLink: bLink\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/link/index.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n },\n flush: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var componentData = {\n staticClass: 'list-group',\n class: { 'list-group-flush': props.flush }\n };\n\n return h(props.tag, mergeData(data, componentData), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/list-group/list-group.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\nimport pluckProps from '../../utils/pluck-props';\nimport { assign } from '../../utils/object';\nimport { arrayIncludes } from '../../utils/array';\nimport Link, { propsFactory as linkPropsFactory } from '../link/link';\n\nvar actionTags = ['a', 'router-link', 'button', 'b-link'];\nvar linkProps = linkPropsFactory();\ndelete linkProps.href.default;\ndelete linkProps.to.default;\n\nexport var props = assign({\n tag: {\n type: String,\n default: 'div'\n },\n action: {\n type: Boolean,\n default: null\n },\n button: {\n type: Boolean,\n default: null\n },\n variant: {\n type: String,\n default: null\n }\n}, linkProps);\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var tag = props.button ? 'button' : !props.href && !props.to ? props.tag : Link;\n var isAction = Boolean(props.href || props.to || props.action || props.button || arrayIncludes(actionTags, props.tag));\n var componentData = {\n staticClass: 'list-group-item',\n class: (_class = {}, _defineProperty(_class, 'list-group-item-' + props.variant, Boolean(props.variant)), _defineProperty(_class, 'list-group-item-action', isAction), _defineProperty(_class, 'active', props.active), _defineProperty(_class, 'disabled', props.disabled), _class),\n attrs: tag === 'button' && props.disabled ? { disabled: true } : {},\n props: props.button ? {} : pluckProps(linkProps, props)\n };\n\n return h(tag, mergeData(data, componentData), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/list-group/list-group-item.js\n// module id = null\n// module chunks = ","import bListGroup from './list-group';\nimport bListGroupItem from './list-group-item';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bListGroup: bListGroup,\n bListGroupItem: bListGroupItem\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/list-group/index.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'media-body'\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/media/media-body.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n },\n verticalAlign: {\n type: String,\n default: 'top'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'd-flex',\n class: _defineProperty({}, 'align-self-' + props.verticalAlign, props.verticalAlign)\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/media/media-aside.js\n// module id = null\n// module chunks = ","import bMedia from './media';\nimport bMediaAside from './media-aside';\nimport bMediaBody from './media-body';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bMedia: bMedia,\n bMediaAside: bMediaAside,\n bMediaBody: bMediaBody\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/media/index.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\nimport MediaBody from './media-body';\nimport MediaAside from './media-aside';\n\nexport var props = {\n tag: {\n type: String,\n default: 'div'\n },\n rightAlign: {\n type: Boolean,\n default: false\n },\n verticalAlign: {\n type: String,\n default: 'top'\n },\n noBody: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n children = _ref.children;\n\n var childNodes = props.noBody ? children : [];\n var $slots = slots();\n\n if (!props.noBody) {\n if ($slots.aside && !props.rightAlign) {\n childNodes.push(h(MediaAside, { staticClass: 'mr-3', props: { verticalAlign: props.verticalAlign } }, $slots.aside));\n }\n\n childNodes.push(h(MediaBody, $slots.default));\n\n if ($slots.aside && props.rightAlign) {\n childNodes.push(h(MediaAside, { staticClass: 'ml-3', props: { verticalAlign: props.verticalAlign } }, $slots.aside));\n }\n }\n\n return h(props.tag, mergeData(data, { staticClass: 'media' }), childNodes);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/media/media.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport bBtn from '../button/button';\nimport bBtnClose from '../button/button-close';\nimport idMixin from '../../mixins/id';\nimport listenOnRootMixin from '../../mixins/listen-on-root';\nimport observeDom from '../../utils/observe-dom';\nimport warn from '../../utils/warn';\nimport KeyCodes from '../../utils/key-codes';\nimport BvEvent from '../../utils/bv-event.class';\n\nimport { isVisible, selectAll, select, getBCR, addClass, removeClass, hasClass, setAttr, removeAttr, getAttr, hasAttr, eventOn, eventOff } from '../../utils/dom';\n\n// Selectors for padding/margin adjustments\nvar Selector = {\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top',\n NAVBAR_TOGGLER: '.navbar-toggler'\n\n // ObserveDom config\n};var OBSERVER_CONFIG = {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['style', 'class']\n};\n\nexport default {\n mixins: [idMixin, listenOnRootMixin],\n components: { bBtn: bBtn, bBtnClose: bBtnClose },\n render: function render(h) {\n var _this = this;\n\n var $slots = this.$slots;\n // Modal Header\n var header = h(false);\n if (!this.hideHeader) {\n var modalHeader = $slots['modal-header'];\n if (!modalHeader) {\n var closeButton = h(false);\n if (!this.hideHeaderClose) {\n closeButton = h('b-btn-close', {\n props: {\n disabled: this.is_transitioning,\n ariaLabel: this.headerCloseLabel,\n textVariant: this.headerTextVariant\n },\n on: {\n click: function click(evt) {\n _this.hide('header-close');\n }\n }\n }, [$slots['modal-header-close']]);\n }\n modalHeader = [h(this.titleTag, { class: ['modal-title'] }, [$slots['modal-title'] || this.title]), closeButton];\n }\n header = h('header', {\n ref: 'header',\n class: this.headerClasses,\n attrs: { id: this.safeId('__BV_modal_header_') }\n }, [modalHeader]);\n }\n // Modal Body\n var body = h('div', {\n ref: 'body',\n class: this.bodyClasses,\n attrs: { id: this.safeId('__BV_modal_body_') }\n }, [$slots.default]);\n // Modal Footer\n var footer = h(false);\n if (!this.hideFooter) {\n var modalFooter = $slots['modal-footer'];\n if (!modalFooter) {\n var cancelButton = h(false);\n if (!this.okOnly) {\n cancelButton = h('b-btn', {\n props: {\n variant: this.cancelVariant,\n size: this.buttonSize,\n disabled: this.cancelDisabled || this.busy || this.is_transitioning\n },\n on: {\n click: function click(evt) {\n _this.hide('cancel');\n }\n }\n }, [$slots['modal-cancel'] || this.cancelTitle]);\n }\n var okButton = h('b-btn', {\n props: {\n variant: this.okVariant,\n size: this.buttonSize,\n disabled: this.okDisabled || this.busy || this.is_transitioning\n },\n on: {\n click: function click(evt) {\n _this.hide('ok');\n }\n }\n }, [$slots['modal-ok'] || this.okTitle]);\n modalFooter = [cancelButton, okButton];\n }\n footer = h('footer', {\n ref: 'footer',\n class: this.footerClasses,\n attrs: { id: this.safeId('__BV_modal_footer_') }\n }, [modalFooter]);\n }\n // Assemble Modal Content\n var modalContent = h('div', {\n ref: 'content',\n class: ['modal-content'],\n attrs: {\n tabindex: '-1',\n role: 'document',\n 'aria-labelledby': this.hideHeader ? null : this.safeId('__BV_modal_header_'),\n 'aria-describedby': this.safeId('__BV_modal_body_')\n },\n on: {\n focusout: this.onFocusout,\n click: function click(evt) {\n evt.stopPropagation();\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/1528\n _this.$root.$emit('bv::dropdown::shown');\n }\n }\n }, [header, body, footer]);\n // Modal Dialog wrapper\n var modalDialog = h('div', { class: this.dialogClasses }, [modalContent]);\n // Modal\n var modal = h('div', {\n ref: 'modal',\n class: this.modalClasses,\n directives: [{\n name: 'show',\n rawName: 'v-show',\n value: this.is_visible,\n expression: 'is_visible'\n }],\n attrs: {\n id: this.safeId(),\n role: 'dialog',\n 'aria-hidden': this.is_visible ? null : 'true'\n },\n on: {\n click: this.onClickOut,\n keydown: this.onEsc\n }\n }, [modalDialog]);\n // Wrap modal in transition\n modal = h('transition', {\n props: {\n enterClass: '',\n enterToClass: '',\n enterActiveClass: '',\n leaveClass: '',\n leaveActiveClass: '',\n leaveToClass: ''\n },\n on: {\n 'before-enter': this.onBeforeEnter,\n enter: this.onEnter,\n 'after-enter': this.onAfterEnter,\n 'before-leave': this.onBeforeLeave,\n leave: this.onLeave,\n 'after-leave': this.onAfterLeave\n }\n }, [modal]);\n // Modal Backdrop\n var backdrop = h(false);\n if (!this.hideBackdrop && (this.is_visible || this.is_transitioning)) {\n backdrop = h('div', {\n class: this.backdropClasses,\n attrs: { id: this.safeId('__BV_modal_backdrop_') }\n });\n }\n // Assemble modal and backdrop\n var outer = h(false);\n if (!this.is_hidden) {\n outer = h('div', { attrs: { id: this.safeId('__BV_modal_outer_') } }, [modal, backdrop]);\n }\n // Wrap in DIV to maintain thi.$el reference for hide/show method aceess\n return h('div', {}, [outer]);\n },\n data: function data() {\n return {\n is_hidden: this.lazy || false,\n is_visible: false,\n is_transitioning: false,\n is_show: false,\n is_block: false,\n scrollbarWidth: 0,\n isBodyOverflowing: false,\n return_focus: this.returnFocus || null\n };\n },\n\n model: {\n prop: 'visible',\n event: 'change'\n },\n props: {\n title: {\n type: String,\n default: ''\n },\n titleTag: {\n type: String,\n default: 'h5'\n },\n size: {\n type: String,\n default: 'md'\n },\n centered: {\n type: Boolean,\n default: false\n },\n buttonSize: {\n type: String,\n default: ''\n },\n noFade: {\n type: Boolean,\n default: false\n },\n noCloseOnBackdrop: {\n type: Boolean,\n default: false\n },\n noCloseOnEsc: {\n type: Boolean,\n default: false\n },\n noEnforceFocus: {\n type: Boolean,\n default: false\n },\n headerBgVariant: {\n type: String,\n default: null\n },\n headerBorderVariant: {\n type: String,\n default: null\n },\n headerTextVariant: {\n type: String,\n default: null\n },\n headerClass: {\n type: [String, Array],\n default: null\n },\n bodyBgVariant: {\n type: String,\n default: null\n },\n bodyTextVariant: {\n type: String,\n default: null\n },\n modalClass: {\n type: [String, Array],\n default: null\n },\n bodyClass: {\n type: [String, Array],\n default: null\n },\n footerBgVariant: {\n type: String,\n default: null\n },\n footerBorderVariant: {\n type: String,\n default: null\n },\n footerTextVariant: {\n type: String,\n default: null\n },\n footerClass: {\n type: [String, Array],\n default: null\n },\n hideHeader: {\n type: Boolean,\n default: false\n },\n hideFooter: {\n type: Boolean,\n default: false\n },\n hideHeaderClose: {\n type: Boolean,\n default: false\n },\n hideBackdrop: {\n type: Boolean,\n default: false\n },\n okOnly: {\n type: Boolean,\n default: false\n },\n okDisabled: {\n type: Boolean,\n default: false\n },\n cancelDisabled: {\n type: Boolean,\n default: false\n },\n visible: {\n type: Boolean,\n default: false\n },\n returnFocus: {\n default: null\n },\n headerCloseLabel: {\n type: String,\n default: 'Close'\n },\n cancelTitle: {\n type: String,\n default: 'Cancel'\n },\n okTitle: {\n type: String,\n default: 'OK'\n },\n cancelVariant: {\n type: String,\n default: 'secondary'\n },\n okVariant: {\n type: String,\n default: 'primary'\n },\n lazy: {\n type: Boolean,\n default: false\n },\n busy: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n modalClasses: function modalClasses() {\n return ['modal', {\n fade: !this.noFade,\n show: this.is_show,\n 'd-block': this.is_block\n }, this.modalClass];\n },\n dialogClasses: function dialogClasses() {\n var _ref;\n\n return ['modal-dialog', (_ref = {}, _defineProperty(_ref, 'modal-' + this.size, Boolean(this.size)), _defineProperty(_ref, 'modal-dialog-centered', this.centered), _ref)];\n },\n backdropClasses: function backdropClasses() {\n return ['modal-backdrop', {\n fade: !this.noFade,\n show: this.is_show || this.noFade\n }];\n },\n headerClasses: function headerClasses() {\n var _ref2;\n\n return ['modal-header', (_ref2 = {}, _defineProperty(_ref2, 'bg-' + this.headerBgVariant, Boolean(this.headerBgVariant)), _defineProperty(_ref2, 'text-' + this.headerTextVariant, Boolean(this.headerTextVariant)), _defineProperty(_ref2, 'border-' + this.headerBorderVariant, Boolean(this.headerBorderVariant)), _ref2), this.headerClass];\n },\n bodyClasses: function bodyClasses() {\n var _ref3;\n\n return ['modal-body', (_ref3 = {}, _defineProperty(_ref3, 'bg-' + this.bodyBgVariant, Boolean(this.bodyBgVariant)), _defineProperty(_ref3, 'text-' + this.bodyTextVariant, Boolean(this.bodyTextVariant)), _ref3), this.bodyClass];\n },\n footerClasses: function footerClasses() {\n var _ref4;\n\n return ['modal-footer', (_ref4 = {}, _defineProperty(_ref4, 'bg-' + this.footerBgVariant, Boolean(this.footerBgVariant)), _defineProperty(_ref4, 'text-' + this.footerTextVariant, Boolean(this.footerTextVariant)), _defineProperty(_ref4, 'border-' + this.footerBorderVariant, Boolean(this.footerBorderVariant)), _ref4), this.footerClass];\n }\n },\n watch: {\n visible: function visible(newVal, oldVal) {\n if (newVal === oldVal) {\n return;\n }\n this[newVal ? 'show' : 'hide']();\n }\n },\n methods: {\n // Public Methods\n show: function show() {\n if (this.is_visible) {\n return;\n }\n var showEvt = new BvEvent('show', {\n cancelable: true,\n vueTarget: this,\n target: this.$refs.modal,\n relatedTarget: null\n });\n this.emitEvent(showEvt);\n if (showEvt.defaultPrevented || this.is_visible) {\n // Don't show if canceled\n return;\n }\n if (hasClass(document.body, 'modal-open')) {\n // If another modal is already open, wait for it to close\n this.$root.$once('bv::modal::hidden', this.doShow);\n } else {\n // Show the modal\n this.doShow();\n }\n },\n hide: function hide(trigger) {\n if (!this.is_visible) {\n return;\n }\n var hideEvt = new BvEvent('hide', {\n cancelable: true,\n vueTarget: this,\n target: this.$refs.modal,\n // this could be the trigger element/component reference\n relatedTarget: null,\n isOK: trigger || null,\n trigger: trigger || null,\n cancel: function cancel() {\n // Backwards compatibility\n warn('b-modal: evt.cancel() is deprecated. Please use evt.preventDefault().');\n this.preventDefault();\n }\n });\n if (trigger === 'ok') {\n this.$emit('ok', hideEvt);\n } else if (trigger === 'cancel') {\n this.$emit('cancel', hideEvt);\n }\n this.emitEvent(hideEvt);\n // Hide if not canceled\n if (hideEvt.defaultPrevented || !this.is_visible) {\n return;\n }\n // stop observing for content changes\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n }\n this.is_visible = false;\n this.$emit('change', false);\n },\n\n // Private method to finish showing modal\n doShow: function doShow() {\n var _this2 = this;\n\n // Plce modal in DOM if lazy\n this.is_hidden = false;\n this.$nextTick(function () {\n // We do this in nextTick to ensure the modal is in DOM first before we show it\n _this2.is_visible = true;\n _this2.$emit('change', true);\n // Observe changes in modal content and adjust if necessary\n _this2._observer = observeDom(_this2.$refs.content, _this2.adjustDialog.bind(_this2), OBSERVER_CONFIG);\n });\n },\n\n // Transition Handlers\n onBeforeEnter: function onBeforeEnter() {\n this.is_transitioning = true;\n this.checkScrollbar();\n this.setScrollbar();\n this.adjustDialog();\n addClass(document.body, 'modal-open');\n this.setResizeEvent(true);\n },\n onEnter: function onEnter() {\n this.is_block = true;\n this.$refs.modal.scrollTop = 0;\n },\n onAfterEnter: function onAfterEnter() {\n var _this3 = this;\n\n this.is_show = true;\n this.is_transitioning = false;\n this.$nextTick(function () {\n _this3.focusFirst();\n var shownEvt = new BvEvent('shown', {\n cancelable: false,\n vueTarget: _this3,\n target: _this3.$refs.modal,\n relatedTarget: null\n });\n _this3.emitEvent(shownEvt);\n });\n },\n onBeforeLeave: function onBeforeLeave() {\n this.is_transitioning = true;\n this.setResizeEvent(false);\n },\n onLeave: function onLeave() {\n // Remove the 'show' class\n this.is_show = false;\n },\n onAfterLeave: function onAfterLeave() {\n var _this4 = this;\n\n this.is_block = false;\n this.resetAdjustments();\n this.resetScrollbar();\n this.is_transitioning = false;\n removeClass(document.body, 'modal-open');\n this.$nextTick(function () {\n _this4.is_hidden = _this4.lazy || false;\n _this4.returnFocusTo();\n var hiddenEvt = new BvEvent('hidden', {\n cancelable: false,\n vueTarget: _this4,\n target: _this4.lazy ? null : _this4.$refs.modal,\n relatedTarget: null\n });\n _this4.emitEvent(hiddenEvt);\n });\n },\n\n // Event emitter\n emitEvent: function emitEvent(bvEvt) {\n var type = bvEvt.type;\n this.$emit(type, bvEvt);\n this.$root.$emit('bv::modal::' + type, bvEvt);\n },\n\n // UI Event Handlers\n onClickOut: function onClickOut(evt) {\n // If backdrop clicked, hide modal\n if (this.is_visible && !this.noCloseOnBackdrop) {\n this.hide('backdrop');\n }\n },\n onEsc: function onEsc(evt) {\n // If ESC pressed, hide modal\n if (evt.keyCode === KeyCodes.ESC && this.is_visible && !this.noCloseOnEsc) {\n this.hide('esc');\n }\n },\n onFocusout: function onFocusout(evt) {\n // If focus leaves modal, bring it back\n // 'focusout' Event Listener bound on content\n var content = this.$refs.content;\n if (!this.noEnforceFocus && this.is_visible && content && !content.contains(evt.relatedTarget)) {\n content.focus();\n }\n },\n\n // Resize Listener\n setResizeEvent: function setResizeEvent(on) {\n var _this5 = this;\n\n ;['resize', 'orientationchange'].forEach(function (evtName) {\n if (on) {\n eventOn(window, evtName, _this5.adjustDialog);\n } else {\n eventOff(window, evtName, _this5.adjustDialog);\n }\n });\n },\n\n // Root Listener handlers\n showHandler: function showHandler(id, triggerEl) {\n if (id === this.id) {\n this.return_focus = triggerEl || null;\n this.show();\n }\n },\n hideHandler: function hideHandler(id) {\n if (id === this.id) {\n this.hide();\n }\n },\n modalListener: function modalListener(bvEvt) {\n // If another modal opens, close this one\n if (bvEvt.vueTarget !== this) {\n this.hide();\n }\n },\n\n // Focus control handlers\n focusFirst: function focusFirst() {\n // Don't try and focus if we are SSR\n if (typeof document === 'undefined') {\n return;\n }\n var content = this.$refs.content;\n var modal = this.$refs.modal;\n var activeElement = document.activeElement;\n if (activeElement && content && content.contains(activeElement)) {\n // If activeElement is child of content, no need to change focus\n } else if (content) {\n if (modal) {\n modal.scrollTop = 0;\n }\n // Focus the modal content wrapper\n content.focus();\n }\n },\n returnFocusTo: function returnFocusTo() {\n // Prefer returnFocus prop over event specified return_focus value\n var el = this.returnFocus || this.return_focus || null;\n if (typeof el === 'string') {\n // CSS Selector\n el = select(el);\n }\n if (el) {\n el = el.$el || el;\n if (isVisible(el)) {\n el.focus();\n }\n }\n },\n\n // Utility methods\n getScrollbarWidth: function getScrollbarWidth() {\n var scrollDiv = document.createElement('div');\n scrollDiv.className = 'modal-scrollbar-measure';\n document.body.appendChild(scrollDiv);\n this.scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n },\n adjustDialog: function adjustDialog() {\n if (!this.is_visible) {\n return;\n }\n var modal = this.$refs.modal;\n var isModalOverflowing = modal.scrollHeight > document.documentElement.clientHeight;\n if (!this.isBodyOverflowing && isModalOverflowing) {\n modal.style.paddingLeft = this.scrollbarWidth + 'px';\n }\n if (this.isBodyOverflowing && !isModalOverflowing) {\n modal.style.paddingRight = this.scrollbarWidth + 'px';\n }\n },\n resetAdjustments: function resetAdjustments() {\n var modal = this.$refs.modal;\n if (modal) {\n modal.style.paddingLeft = '';\n modal.style.paddingRight = '';\n }\n },\n checkScrollbar: function checkScrollbar() {\n var rect = getBCR(document.body);\n this.isBodyOverflowing = rect.left + rect.right < window.innerWidth;\n },\n setScrollbar: function setScrollbar() {\n if (this.isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n var computedStyle = window.getComputedStyle;\n var body = document.body;\n var scrollbarWidth = this.scrollbarWidth;\n // Adjust fixed content padding\n selectAll(Selector.FIXED_CONTENT).forEach(function (el) {\n var actualPadding = el.style.paddingRight;\n var calculatedPadding = computedStyle(el).paddingRight || 0;\n setAttr(el, 'data-padding-right', actualPadding);\n el.style.paddingRight = parseFloat(calculatedPadding) + scrollbarWidth + 'px';\n });\n // Adjust sticky content margin\n selectAll(Selector.STICKY_CONTENT).forEach(function (el) {\n var actualMargin = el.style.marginRight;\n var calculatedMargin = computedStyle(el).marginRight || 0;\n setAttr(el, 'data-margin-right', actualMargin);\n el.style.marginRight = parseFloat(calculatedMargin) - scrollbarWidth + 'px';\n });\n // Adjust navbar-toggler margin\n selectAll(Selector.NAVBAR_TOGGLER).forEach(function (el) {\n var actualMargin = el.style.marginRight;\n var calculatedMargin = computedStyle(el).marginRight || 0;\n setAttr(el, 'data-margin-right', actualMargin);\n el.style.marginRight = parseFloat(calculatedMargin) + scrollbarWidth + 'px';\n });\n // Adjust body padding\n var actualPadding = body.style.paddingRight;\n var calculatedPadding = computedStyle(body).paddingRight;\n setAttr(body, 'data-padding-right', actualPadding);\n body.style.paddingRight = parseFloat(calculatedPadding) + scrollbarWidth + 'px';\n }\n },\n resetScrollbar: function resetScrollbar() {\n // Restore fixed content padding\n selectAll(Selector.FIXED_CONTENT).forEach(function (el) {\n if (hasAttr(el, 'data-padding-right')) {\n el.style.paddingRight = getAttr(el, 'data-padding-right') || '';\n removeAttr(el, 'data-padding-right');\n }\n });\n // Restore sticky content and navbar-toggler margin\n selectAll(Selector.STICKY_CONTENT + ', ' + Selector.NAVBAR_TOGGLER).forEach(function (el) {\n if (hasAttr(el, 'data-margin-right')) {\n el.style.marginRight = getAttr(el, 'data-margin-right') || '';\n removeAttr(el, 'data-margin-right');\n }\n });\n // Restore body padding\n var body = document.body;\n if (hasAttr(body, 'data-padding-right')) {\n body.style.paddingRight = getAttr(body, 'data-padding-right') || '';\n removeAttr(body, 'data-padding-right');\n }\n }\n },\n created: function created() {\n // create non-reactive property\n this._observer = null;\n },\n mounted: function mounted() {\n // Measure scrollbar\n this.getScrollbarWidth();\n // Listen for events from others to either open or close ourselves\n this.listenOnRoot('bv::show::modal', this.showHandler);\n this.listenOnRoot('bv::hide::modal', this.hideHandler);\n // Listen for bv:modal::show events, and close ourselves if the opening modal not us\n this.listenOnRoot('bv::modal::show', this.modalListener);\n // Initially show modal?\n if (this.visible === true) {\n this.show();\n }\n },\n beforeDestroy: function beforeDestroy() {\n // Ensure everything is back to normal\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n }\n this.setResizeEvent(false);\n // Re-adjust body/navbar/fixed padding/margins (if needed)\n removeClass(document.body, 'modal-open');\n this.resetAdjustments();\n this.resetScrollbar();\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/modal/modal.js\n// module id = null\n// module chunks = ","import { bindTargets, unbindTargets } from '../../utils/target';\nimport { setAttr, removeAttr } from '../../utils/dom';\n\nvar listenTypes = { click: true };\n\nexport default {\n // eslint-disable-next-line no-shadow-restricted-names\n bind: function bind(el, binding, vnode) {\n bindTargets(vnode, binding, listenTypes, function (_ref) {\n var targets = _ref.targets,\n vnode = _ref.vnode;\n\n targets.forEach(function (target) {\n vnode.context.$root.$emit('bv::show::modal', target, vnode.elm);\n });\n });\n if (el.tagName !== 'BUTTON') {\n // If element is not a button, we add `role=\"button\"` for accessibility\n setAttr(el, 'role', 'button');\n }\n },\n unbind: function unbind(el, binding, vnode) {\n unbindTargets(vnode, binding, listenTypes);\n if (el.tagName !== 'BUTTON') {\n // If element is not a button, we add `role=\"button\"` for accessibility\n removeAttr(el, 'role', 'button');\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/directives/modal/modal.js\n// module id = null\n// module chunks = ","import bModal from './modal';\nimport { registerDirectives, vueUse } from '../../utils/plugins';\n\nvar directives = {\n bModal: bModal\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerDirectives(Vue, directives);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/directives/modal/index.js\n// module id = null\n// module chunks = ","import bModal from './modal';\nimport modalPlugin from '../../directives/modal';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bModal: bModal\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n Vue.use(modalPlugin);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/modal/index.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\nimport warn from '../../utils/warn';\n\nexport var props = {\n tag: {\n type: String,\n default: 'ul'\n },\n fill: {\n type: Boolean,\n default: false\n },\n justified: {\n type: Boolean,\n default: false\n },\n tabs: {\n type: Boolean,\n default: false\n },\n pills: {\n type: Boolean,\n default: false\n },\n vertical: {\n type: Boolean,\n default: false\n },\n isNavBar: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n if (props.isNavBar) {\n warn(\"b-nav: Prop 'is-nav-bar' is deprecated. Please use component '' instead.\");\n }\n return h(props.tag, mergeData(data, {\n class: {\n 'nav': !props.isNavBar,\n 'navbar-nav': props.isNavBar,\n 'nav-tabs': props.tabs && !props.isNavBar,\n 'nav-pills': props.pills && !props.isNavBar,\n 'flex-column': props.vertical && !props.isNavBar,\n 'nav-fill': props.fill,\n 'nav-justified': props.justified\n }\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/nav/nav.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\nimport Link, { propsFactory as linkPropsFactory } from '../link/link';\n\nexport var props = linkPropsFactory();\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h('li', mergeData(data, {\n staticClass: 'nav-item'\n }), [h(Link, { staticClass: 'nav-link', props: props }, children)]);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/nav/nav-item.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'span'\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, { staticClass: 'navbar-text' }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/nav/nav-text.js\n// module id = null\n// module chunks = ","import Form from '../form/form';\nimport { mergeData } from 'vue-functional-data-merge';\n\nexport default {\n functional: true,\n props: {\n id: {\n type: String,\n default: null\n }\n },\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(Form, mergeData(data, { attrs: { id: props.id }, props: { inline: true } }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/nav/nav-form.js\n// module id = null\n// module chunks = ","import idMixin from '../../mixins/id';\nimport dropdownMixin from '../../mixins/dropdown';\n\nexport default {\n mixins: [idMixin, dropdownMixin],\n render: function render(h) {\n var button = h('a', {\n class: this.toggleClasses,\n ref: 'toggle',\n attrs: {\n href: '#',\n id: this.safeId('_BV_button_'),\n disabled: this.disabled,\n 'aria-haspopup': 'true',\n 'aria-expanded': this.visible ? 'true' : 'false'\n },\n on: {\n click: this.toggle,\n keydown: this.toggle // space, enter, down\n }\n }, [this.$slots['button-content'] || this.$slots.text || h('span', { domProps: { innerHTML: this.text } })]);\n var menu = h('div', {\n class: this.menuClasses,\n ref: 'menu',\n attrs: { 'aria-labelledby': this.safeId('_BV_button_') },\n on: {\n mouseover: this.onMouseOver,\n keydown: this.onKeydown // tab, up, down, esc\n }\n }, [this.$slots.default]);\n return h('li', { attrs: { id: this.safeId() }, class: this.dropdownClasses }, [button, menu]);\n },\n\n computed: {\n isNav: function isNav() {\n // Signal to dropdown mixin that we are in a navbar\n return true;\n },\n dropdownClasses: function dropdownClasses() {\n return ['nav-item', 'b-nav-dropdown', 'dropdown', this.dropup ? 'dropup' : '', this.visible ? 'show' : ''];\n },\n toggleClasses: function toggleClasses() {\n return ['nav-link', this.noCaret ? '' : 'dropdown-toggle', this.disabled ? 'disabled' : '', this.extraToggleClasses ? this.extraToggleClasses : ''];\n },\n menuClasses: function menuClasses() {\n return ['dropdown-menu', this.right ? 'dropdown-menu-right' : 'dropdown-menu-left', this.visible ? 'show' : '', this.extraMenuClasses ? this.extraMenuClasses : ''];\n }\n },\n props: {\n noCaret: {\n type: Boolean,\n default: false\n },\n extraToggleClasses: {\n // Extra Toggle classes\n type: String,\n default: ''\n },\n extraMenuClasses: {\n // Extra Menu classes\n type: String,\n default: ''\n },\n role: {\n type: String,\n default: 'menu'\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/nav/nav-item-dropdown.js\n// module id = null\n// module chunks = ","import bNav from './nav';\nimport bNavItem from './nav-item';\nimport bNavText from './nav-text';\nimport bNavForm from './nav-form';\nimport bNavItemDropdown from './nav-item-dropdown';\nimport dropdownPlugin from '../dropdown';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bNav: bNav,\n bNavItem: bNavItem,\n bNavText: bNavText,\n bNavForm: bNavForm,\n bNavItemDropdown: bNavItemDropdown,\n bNavItemDd: bNavItemDropdown,\n bNavDropdown: bNavItemDropdown,\n bNavDd: bNavItemDropdown\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n Vue.use(dropdownPlugin);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/nav/index.js\n// module id = null\n// module chunks = ","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'nav'\n },\n type: {\n type: String,\n default: 'light'\n },\n variant: {\n type: String\n },\n toggleable: {\n type: [Boolean, String],\n default: false\n },\n toggleBreakpoint: {\n // Deprecated. Set toggleable to a string breakpoint\n type: String,\n default: null\n },\n fixed: {\n type: String\n },\n sticky: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var breakpoint = props.toggleBreakpoint || (props.toggleable === true ? 'sm' : props.toggleable) || 'sm';\n return h(props.tag, mergeData(data, {\n staticClass: 'navbar',\n class: (_class = {}, _defineProperty(_class, 'navbar-' + props.type, Boolean(props.type)), _defineProperty(_class, 'bg-' + props.variant, Boolean(props.variant)), _defineProperty(_class, 'fixed-' + props.fixed, Boolean(props.fixed)), _defineProperty(_class, 'sticky-top', props.sticky), _defineProperty(_class, 'navbar-expand-' + breakpoint, props.toggleable !== false), _class)\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/navbar/navbar.js\n// module id = null\n// module chunks = ","import { mergeData } from 'vue-functional-data-merge';\n\nexport var props = {\n tag: {\n type: String,\n default: 'ul'\n },\n fill: {\n type: Boolean,\n default: false\n },\n justified: {\n type: Boolean,\n default: false\n }\n};\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n return h(props.tag, mergeData(data, {\n staticClass: 'navbar-nav',\n class: {\n 'nav-fill': props.fill,\n 'nav-justified': props.justified\n }\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/navbar/navbar-nav.js\n// module id = null\n// module chunks = ","import Link, { propsFactory } from '../link/link';\nimport { mergeData } from 'vue-functional-data-merge';\nimport pluckProps from '../../utils/pluck-props';\nimport { assign } from '../../utils/object';\n\nvar linkProps = propsFactory();\nlinkProps.href.default = undefined;\nlinkProps.to.default = undefined;\n\nexport var props = assign(linkProps, {\n tag: {\n type: String,\n default: 'div'\n }\n});\n\nexport default {\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n\n var isLink = Boolean(props.to || props.href);\n var tag = isLink ? Link : props.tag;\n\n return h(tag, mergeData(data, {\n staticClass: 'navbar-brand',\n props: isLink ? pluckProps(linkProps, props) : {}\n }), children);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/navbar/navbar-brand.js\n// module id = null\n// module chunks = ","import listenOnRootMixin from '../../mixins/listen-on-root';\n\nexport default {\n mixins: [listenOnRootMixin],\n render: function render(h) {\n return h('button', {\n class: ['navbar-toggler'],\n attrs: {\n type: 'button',\n 'aria-label': this.label,\n 'aria-controls': this.target,\n 'aria-expanded': this.toggleState ? 'true' : 'false'\n },\n on: { click: this.onClick }\n }, [this.$slots.default || h('span', { class: ['navbar-toggler-icon'] })]);\n },\n data: function data() {\n return {\n toggleState: false\n };\n },\n\n props: {\n label: {\n type: String,\n default: 'Toggle navigation'\n },\n target: {\n type: String,\n required: true\n }\n },\n methods: {\n onClick: function onClick() {\n this.$root.$emit('bv::toggle::collapse', this.target);\n },\n handleStateEvt: function handleStateEvt(id, state) {\n if (id === this.target) {\n this.toggleState = state;\n }\n }\n },\n created: function created() {\n this.listenOnRoot('bv::collapse::state', this.handleStateEvt);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/navbar/navbar-toggle.js\n// module id = null\n// module chunks = ","import bNavbar from './navbar';\nimport bNavbarNav from './navbar-nav';\nimport bNavbarBrand from './navbar-brand';\nimport bNavbarToggle from './navbar-toggle';\nimport navPlugin from '../nav';\nimport collapsePlugin from '../collapse';\nimport dropdownPlugin from '../dropdown';\nimport { registerComponents, vueUse } from '../../utils/plugins';\n\nvar components = {\n bNavbar: bNavbar,\n bNavbarNav: bNavbarNav,\n bNavbarBrand: bNavbarBrand,\n bNavbarToggle: bNavbarToggle,\n bNavToggle: bNavbarToggle\n};\n\nvar VuePlugin = {\n install: function install(Vue) {\n registerComponents(Vue, components);\n Vue.use(navPlugin);\n Vue.use(collapsePlugin);\n Vue.use(dropdownPlugin);\n }\n};\n\nvueUse(VuePlugin);\n\nexport default VuePlugin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/navbar/index.js\n// module id = null\n// module chunks = ","/**\n * @param {number} length\n * @return {Array}\n */\nexport default (function (length) {\n return Array.apply(null, { length: length });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/range.js\n// module id = null\n// module chunks = ","/*\n * Comon props, computed, data, render function, and methods for b-pagination and b-pagination-nav\n */\n\nimport range from '../utils/range';\nimport KeyCodes from '../utils/key-codes';\nimport { isVisible, isDisabled, selectAll, getAttr } from '../utils/dom';\nimport bLink from '../components/link/link';\n\n// Make an array of N to N+X\nfunction makePageArray(startNum, numPages) {\n return range(numPages).map(function (value, index) {\n return { number: index + startNum, className: null };\n });\n}\n\n// Threshold of limit size when we start/stop showing ellipsis\nvar ELLIPSIS_THRESHOLD = 3;\n\n// Props object\nvar props = {\n disabled: {\n type: Boolean,\n default: false\n },\n value: {\n type: Number,\n default: 1\n },\n limit: {\n type: Number,\n default: 5\n },\n size: {\n type: String,\n default: 'md'\n },\n align: {\n type: String,\n default: 'left'\n },\n hideGotoEndButtons: {\n type: Boolean,\n default: false\n },\n ariaLabel: {\n type: String,\n default: 'Pagination'\n },\n labelFirstPage: {\n type: String,\n default: 'Goto first page'\n },\n firstText: {\n type: String,\n default: '«'\n },\n labelPrevPage: {\n type: String,\n default: 'Goto previous page'\n },\n prevText: {\n type: String,\n default: '‹'\n },\n labelNextPage: {\n type: String,\n default: 'Goto next page'\n },\n nextText: {\n type: String,\n default: '›'\n },\n labelLastPage: {\n type: String,\n default: 'Goto last page'\n },\n lastText: {\n type: String,\n default: '»'\n },\n labelPage: {\n type: String,\n default: 'Goto page'\n },\n hideEllipsis: {\n type: Boolean,\n default: false\n },\n ellipsisText: {\n type: String,\n default: '…'\n }\n};\n\nexport default {\n components: { bLink: bLink },\n data: function data() {\n return {\n showFirstDots: false,\n showLastDots: false,\n currentPage: this.value\n };\n },\n\n props: props,\n render: function render(h) {\n var _this = this;\n\n var buttons = [];\n\n // Factory function for prev/next/first/last buttons\n var makeEndBtns = function makeEndBtns(linkTo, ariaLabel, btnText, pageTest) {\n var button = void 0;\n pageTest = pageTest || linkTo; // Page # to test against to disable\n if (_this.disabled || _this.isActive(pageTest)) {\n button = h('li', {\n class: ['page-item', 'disabled'],\n attrs: { role: 'none presentation', 'aria-hidden': 'true' }\n }, [h('span', {\n class: ['page-link'],\n domProps: { innerHTML: btnText }\n })]);\n } else {\n button = h('li', {\n class: ['page-item'],\n attrs: { role: 'none presentation' }\n }, [h('b-link', {\n class: ['page-link'],\n props: _this.linkProps(linkTo),\n attrs: {\n role: 'menuitem',\n tabindex: '-1',\n 'aria-label': ariaLabel,\n 'aria-controls': _this.ariaControls || null\n },\n on: {\n click: function click(evt) {\n _this.onClick(linkTo, evt);\n },\n keydown: function keydown(evt) {\n // Links don't normally respond to SPACE, so we add that functionality\n if (evt.keyCode === KeyCodes.SPACE) {\n evt.preventDefault();\n _this.onClick(linkTo, evt);\n }\n }\n }\n }, [h('span', {\n attrs: { 'aria-hidden': 'true' },\n domProps: { innerHTML: btnText }\n })])]);\n }\n return button;\n };\n\n // Ellipsis factory\n var makeEllipsis = function makeEllipsis() {\n return h('li', {\n class: ['page-item', 'disabled', 'd-none', 'd-sm-flex'],\n attrs: { role: 'separator' }\n }, [h('span', {\n class: ['page-link'],\n domProps: { innerHTML: _this.ellipsisText }\n })]);\n };\n\n // Goto First Page button\n buttons.push(this.hideGotoEndButtons ? h(false) : makeEndBtns(1, this.labelFirstPage, this.firstText));\n\n // Goto Previous page button\n buttons.push(makeEndBtns(this.currentPage - 1, this.labelPrevPage, this.prevText, 1));\n\n // First Ellipsis Bookend\n buttons.push(this.showFirstDots ? makeEllipsis() : h(false));\n\n // Individual Page links\n this.pageList.forEach(function (page) {\n var inner = void 0;\n var pageNum = _this.makePage(page.number);\n if (_this.disabled) {\n inner = h('span', {\n class: ['page-link'],\n domProps: { innerHTML: pageNum }\n });\n } else {\n var active = _this.isActive(page.number);\n inner = h('b-link', {\n class: _this.pageLinkClasses(page),\n props: _this.linkProps(page.number),\n attrs: {\n role: 'menuitemradio',\n tabindex: active ? '0' : '-1',\n 'aria-controls': _this.ariaControls || null,\n 'aria-label': _this.labelPage + ' ' + page.number,\n 'aria-checked': active ? 'true' : 'false',\n 'aria-posinset': page.number,\n 'aria-setsize': _this.numberOfPages\n },\n domProps: { innerHTML: pageNum },\n on: {\n click: function click(evt) {\n _this.onClick(page.number, evt);\n },\n keydown: function keydown(evt) {\n if (evt.keyCode === KeyCodes.SPACE) {\n evt.preventDefault();\n _this.onClick(page.number, evt);\n }\n }\n }\n });\n }\n buttons.push(h('li', {\n key: page.number,\n class: _this.pageItemClasses(page),\n attrs: { role: 'none presentation' }\n }, [inner]));\n });\n\n // Last Ellipsis Bookend\n buttons.push(this.showLastDots ? makeEllipsis() : h(false));\n\n // Goto Next page button\n buttons.push(makeEndBtns(this.currentPage + 1, this.labelNextPage, this.nextText, this.numberOfPages));\n\n // Goto Last Page button\n buttons.push(this.hideGotoEndButtons ? h(false) : makeEndBtns(this.numberOfPages, this.labelLastPage, this.lastText));\n\n // Assemble the paginatiom buttons\n var pagination = h('ul', {\n ref: 'ul',\n class: ['pagination', 'b-pagination', this.btnSize, this.alignment],\n attrs: {\n role: 'menubar',\n 'aria-disabled': this.disabled ? 'true' : 'false',\n 'aria-label': this.ariaLabel || null\n },\n on: {\n keydown: function keydown(evt) {\n var keyCode = evt.keyCode;\n var shift = evt.shiftKey;\n if (keyCode === KeyCodes.LEFT) {\n evt.preventDefault();\n shift ? _this.focusFirst() : _this.focusPrev();\n } else if (keyCode === KeyCodes.RIGHT) {\n evt.preventDefault();\n shift ? _this.focusLast() : _this.focusNext();\n }\n }\n }\n }, buttons);\n\n // if we are pagination-nav, wrap in '