diff --git a/settings/.babelrc.js b/settings/.babelrc.js index 21cf7022fd..a1690d0d86 100644 --- a/settings/.babelrc.js +++ b/settings/.babelrc.js @@ -1,4 +1,5 @@ module.exports = { + plugins: ['@babel/plugin-syntax-dynamic-import'], presets: [ [ '@babel/preset-env', diff --git a/settings/js/0.settings-vue.js b/settings/js/0.settings-vue.js new file mode 100644 index 0000000000..1356b8c9d2 --- /dev/null +++ b/settings/js/0.settings-vue.js @@ -0,0 +1,93 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{311:function(t,e,n){t.exports=function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=66)}([function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){t.exports=!n(12)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(10),i=n(43),o=n(31),a=Object.defineProperty;e.f=n(1)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(77),i=n(21);t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(9),i=n(52),o=n(18),a=n(55),u=n(53),s=function(t,e,n){var c,l,f,p,h=t&s.F,d=t&s.G,v=t&s.S,m=t&s.P,g=t&s.B,y=d?r:v?r[e]||(r[e]={}):(r[e]||{}).prototype,b=d?i:i[e]||(i[e]={}),x=b.prototype||(b.prototype={});for(c in d&&(n=e),n)l=!h&&y&&void 0!==y[c],f=(l?y:n)[c],p=g&&l?u(f,r):m&&"function"==typeof f?u(Function.call,f):f,y&&a(y,c,f,t&s.U),b[c]!=f&&o(b,c,p),m&&x[c]!=f&&(x[c]=f)};r.core=i,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,t.exports=s},function(t,e,n){var r=n(3),i=n(15);t.exports=n(1)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(29)("wks"),i=n(16),o=n(0).Symbol,a="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))}).store=r},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){var r=n(13);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(48),i=n(22);t.exports=Object.keys||function(t){return r(t,i)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var r=n(109),i=n(110);t.exports=n(35)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(8);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(0),i=n(11),o=n(74),a=n(6),u=function(t,e,n){var s,c,l,f=t&u.F,p=t&u.G,h=t&u.S,d=t&u.P,v=t&u.B,m=t&u.W,g=p?i:i[e]||(i[e]={}),y=g.prototype,b=p?r:h?r[e]:(r[e]||{}).prototype;for(s in p&&(n=e),n)(c=!f&&b&&void 0!==b[s])&&s in g||(l=c?b[s]:n[s],g[s]=p&&"function"!=typeof b[s]?n[s]:v&&c?o(l,r):m&&b[s]==l?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(l):d&&"function"==typeof l?o(Function.call,l):l,d&&((g.virtual||(g.virtual={}))[s]=l,t&u.R&&y&&!y[s]&&a(y,s,l)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(3).f,i=n(2),o=n(7)("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},function(t,e,n){var r=n(29)("keys"),i=n(16);t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,e,n){var r=n(0),i=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(13);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(0),i=n(11),o=n(25),a=n(33),u=n(3).f;t.exports=function(t){var e=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||u(e,t,{value:a.f(t)})}},function(t,e,n){e.f=n(7)},function(t,e,n){var r=n(53),i=n(36),o=n(57),a=n(37),u=n(104);t.exports=function(t,e){var n=1==t,s=2==t,c=3==t,l=4==t,f=6==t,p=5==t||f,h=e||u;return function(e,u,d){for(var v,m,g=o(e),y=i(g),b=r(u,d,3),x=a(y.length),w=0,_=n?h(e,x):s?h(e,0):void 0;x>w;w++)if((p||w in y)&&(v=y[w],m=b(v,w,g),t))if(n)_[w]=m;else if(m)switch(t){case 3:return!0;case 5:return v;case 6:return w;case 2:_.push(v)}else if(l)return!1;return f?-1:c||l?l:_}}},function(t,e,n){t.exports=!n(8)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(51);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(56),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){var r=n(111)("wks"),i=n(58),o=n(9).Symbol,a="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))}).store=r},function(t,e,n){"use strict";function r(t){return!(0===t||(!Array.isArray(t)||0!==t.length)&&t)}function i(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e,n,r){return t.filter(function(t){return function(t,e){return void 0===t&&(t="undefined"),null===t&&(t="null"),!1===t&&(t="false"),-1!==t.toString().toLowerCase().indexOf(e.trim())}(r(t,n),e)})}function a(t){return t.filter(function(t){return!t.$isLabel})}function u(t,e){return function(n){return n.reduce(function(n,r){return r[t]&&r[t].length?(n.push({$groupLabel:r[e],$isLabel:!0}),n.concat(r[t])):n},[])}}var s=n(65),c=n.n(s),l=n(59),f=(n.n(l),n(122)),p=(n.n(f),n(64)),h=n.n(p),d=n(120),v=(n.n(d),n(121)),m=(n.n(v),n(117)),g=(n.n(m),n(123)),y=(n.n(g),n(118)),b=(n.n(y),n(119)),x=(n.n(b),function(){for(var t=arguments.length,e=new Array(t),n=0;n-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},getOptionLabel:function(t){if(r(t))return"";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return r(e)?"":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)this.selectGroup(t);else if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&("Tab"!==e||this.pointerDirty)){if(t.isTag)this.$emit("tag",t.label,this.id),this.search="",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void("Tab"!==e&&this.removeElement(t));this.$emit("select",t,this.id),this.multiple?this.$emit("input",this.internalValue.concat([t]),this.id):this.$emit("input",t,this.id),this.clearOnSelect&&(this.search="")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit("remove",n[this.groupValues],this.id);var r=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit("input",r,this.id)}else{var o=n[this.groupValues].filter(i(this.isSelected));this.$emit("select",o,this.id),this.$emit("input",this.internalValue.concat(o),this.id)}},wholeGroupSelected:function(t){return t[this.groupValues].every(this.isSelected)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var n="object"===c()(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit("remove",t,this.id),this.multiple){var r=this.internalValue.slice(0,n).concat(this.internalValue.slice(n+1));this.$emit("input",r,this.id)}else this.$emit("input",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf("Delete")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=""),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit("open",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=""),this.$emit("close",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if("undefined"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||"below"===this.openDirection||"bottom"===this.openDirection?(this.prefferedOpenDirection="below",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.prefferedOpenDirection="above",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){"use strict";var r=n(59);n.n(r),e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{"multiselect__option--highlight":t===this.pointer&&this.showPointer,"multiselect__option--selected":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return["multiselect__option--disabled"];var r=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return[this.groupSelect?"multiselect__option--group":"multiselect__option--disabled",{"multiselect__option--highlight":t===this.pointer&&this.showPointer},{"multiselect__option--group-selected":this.wholeGroupSelected(r)}]},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Enter",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(13),i=n(0).document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e,n){t.exports=!n(1)&&!n(12)(function(){return 7!=Object.defineProperty(n(42)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){"use strict";var r=n(25),i=n(23),o=n(49),a=n(6),u=n(2),s=n(24),c=n(79),l=n(27),f=n(86),p=n(7)("iterator"),h=!([].keys&&"next"in[].keys()),d=function(){return this};t.exports=function(t,e,n,v,m,g,y){c(n,e,v);var b,x,w,_=function(t){if(!h&&t in D)return D[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+" Iterator",O="values"==m,M=!1,D=t.prototype,k=D[p]||D["@@iterator"]||m&&D[m],E=k||_(m),P=m?O?_("entries"):E:void 0,A="Array"==e&&D.entries||k;if(A&&(w=f(A.call(new t)))!==Object.prototype&&(l(w,S,!0),r||u(w,p)||a(w,p,d)),O&&k&&"values"!==k.name&&(M=!0,E=function(){return k.call(this)}),r&&!y||!h&&!M&&D[p]||a(D,p,E),s[e]=E,s[S]=d,m)if(b={values:O?E:_("values"),keys:g?E:_("keys"),entries:P},y)for(x in b)x in D||o(D,x,b[x]);else i(i.P+i.F*(h||M),e,b);return b}},function(t,e,n){var r=n(10),i=n(83),o=n(22),a=n(28)("IE_PROTO"),u=function(){},s=function(){var t,e=n(42)("iframe"),r=o.length;for(e.style.display="none",n(76).appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./popoverItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./popoverItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./popoverItem.vue?vue&type=template&id=4c6af9e6&\"\nimport script from \"./popoverItem.vue?vue&type=script&lang=js&\"\nexport * from \"./popoverItem.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('4c6af9e6', component.options)\n } else {\n api.reload('4c6af9e6', component.options)\n }\n module.hot.accept(\"./popoverItem.vue?vue&type=template&id=4c6af9e6&\", function () {\n api.rerender('4c6af9e6', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/popoverMenu/popoverItem.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./popoverMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./popoverMenu.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n","import { render, staticRenderFns } from \"./popoverMenu.vue?vue&type=template&id=04ea21c4&\"\nimport script from \"./popoverMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./popoverMenu.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('04ea21c4', component.options)\n } else {\n api.reload('04ea21c4', component.options)\n }\n module.hot.accept(\"./popoverMenu.vue?vue&type=template&id=04ea21c4&\", function () {\n api.rerender('04ea21c4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/popoverMenu.vue\"\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./userRow.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./userRow.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./userRow.vue?vue&type=template&id=d19586ce&\"\nimport script from \"./userRow.vue?vue&type=script&lang=js&\"\nexport * from \"./userRow.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('d19586ce', component.options)\n } else {\n api.reload('d19586ce', component.options)\n }\n module.hot.accept(\"./userRow.vue?vue&type=template&id=d19586ce&\", function () {\n api.rerender('d19586ce', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/userList/userRow.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./userList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./userList.vue?vue&type=script&lang=js&\"","\n \n\n\n\n","import { render, staticRenderFns } from \"./userList.vue?vue&type=template&id=40745299&\"\nimport script from \"./userList.vue?vue&type=script&lang=js&\"\nexport * from \"./userList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('40745299', component.options)\n } else {\n api.reload('40745299', component.options)\n }\n module.hot.accept(\"./userList.vue?vue&type=template&id=40745299&\", function () {\n api.rerender('40745299', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/userList.vue\"\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Users.vue?vue&type=template&id=68be103e&\"\nimport script from \"./Users.vue?vue&type=script&lang=js&\"\nexport * from \"./Users.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('68be103e', component.options)\n } else {\n api.reload('68be103e', component.options)\n }\n module.hot.accept(\"./Users.vue?vue&type=template&id=68be103e&\", function () {\n api.rerender('68be103e', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/views/Users.vue\"\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file diff --git a/settings/js/3.settings-vue.js b/settings/js/3.settings-vue.js new file mode 100644 index 0000000000..6c891b0070 --- /dev/null +++ b/settings/js/3.settings-vue.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{317:function(e,a,s){"use strict";s.r(a);var i=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"app-settings",class:{"with-app-sidebar":t.currentApp},attrs:{id:"content"}},[a("app-navigation",{attrs:{menu:t.menu}}),t._v(" "),a("div",{staticClass:"app-settings-content",class:{"icon-loading":t.loadingList},attrs:{id:"app-content"}},[a("app-list",{attrs:{category:t.category,app:t.currentApp,search:t.searchQuery}})],1),t._v(" "),t.id&&t.currentApp?a("div",{attrs:{id:"app-sidebar"}},[a("app-details",{attrs:{category:t.category,app:t.currentApp}})],1):t._e()],1)};i._withStripped=!0;var n=s(312),p=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{attrs:{id:"app-content-inner"}},[a("div",{staticClass:"apps-list",class:{installed:t.useBundleView||t.useListView,store:t.useAppStoreView},attrs:{id:"apps-list"}},[t.useListView?[a("transition-group",{staticClass:"apps-list-container",attrs:{name:"app-list",tag:"div"}},t._l(t.apps,function(e){return a("app-item",{key:e.id,attrs:{app:e,category:t.category}})}))]:t._e(),t._v(" "),t._l(t.bundles,function(e){return t.useBundleView&&t.bundleApps(e.id).length>0?[a("transition-group",{staticClass:"apps-list-container",attrs:{name:"app-list",tag:"div"}},[a("div",{key:e.id,staticClass:"apps-header"},[a("div",{staticClass:"app-image"}),t._v(" "),a("h2",[t._v(t._s(e.name)+" "),a("input",{attrs:{type:"button",value:t.bundleToggleText(e.id)},on:{click:function(a){t.toggleBundle(e.id)}}})]),t._v(" "),a("div",{staticClass:"app-version"}),t._v(" "),a("div",{staticClass:"app-level"}),t._v(" "),a("div",{staticClass:"app-groups"}),t._v(" "),a("div",{staticClass:"actions"},[t._v(" ")])]),t._v(" "),t._l(t.bundleApps(e.id),function(s){return a("app-item",{key:e.id+s.id,attrs:{app:s,category:t.category}})})],2)]:t._e()}),t._v(" "),t.useAppStoreView?t._l(t.apps,function(e){return a("app-item",{key:e.id,attrs:{app:e,category:t.category,"list-view":!1}})}):t._e()],2),t._v(" "),a("div",{staticClass:"apps-list installed",attrs:{id:"apps-list-search"}},[a("div",{staticClass:"apps-list-container"},[""!==t.search&&t.searchApps.length>0?[a("div",{staticClass:"section"},[a("div"),t._v(" "),a("td",{attrs:{colspan:"5"}},[a("h2",[t._v(t._s(t.t("settings","Results from other categories")))])])]),t._v(" "),t._l(t.searchApps,function(e){return a("app-item",{key:e.id,attrs:{app:e,category:t.category,"list-view":!0}})})]:t._e()],2)]),t._v(" "),t.loading||0!==t.searchApps.length||0!==t.apps.length?t._e():a("div",{staticClass:"emptycontent emptycontent-search",attrs:{id:"apps-list-empty"}},[a("div",{staticClass:"icon-settings-dark",attrs:{id:"app-list-empty-icon"}}),t._v(" "),a("h2",[t._v(t._s(t.t("settings","No apps found for your version")))])]),t._v(" "),a("div",{attrs:{id:"searchresults"}})])};p._withStripped=!0;var r=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"section",class:{selected:t.isSelected},on:{click:t.showAppDetails}},[a("div",{staticClass:"app-image app-image-icon",on:{click:t.showAppDetails}},[t.listView&&!t.app.preview||!t.listView&&!t.app.screenshot?a("div",{staticClass:"icon-settings-dark"}):t._e(),t._v(" "),t.listView&&t.app.preview?a("svg",{attrs:{width:"32",height:"32",viewBox:"0 0 32 32"}},[a("defs",[a("filter",{attrs:{id:t.filterId}},[a("feColorMatrix",{attrs:{in:"SourceGraphic",type:"matrix",values:"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"}})],1)]),t._v(" "),a("image",{staticClass:"app-icon",attrs:{x:"0",y:"0",width:"32",height:"32",preserveAspectRatio:"xMinYMin meet",filter:t.filterUrl,"xlink:href":t.app.preview}})]):t._e(),t._v(" "),!t.listView&&t.app.screenshot?a("img",{attrs:{src:t.app.screenshot,width:"100%"}}):t._e()]),t._v(" "),a("div",{staticClass:"app-name",on:{click:t.showAppDetails}},[t._v("\n\t\t"+t._s(t.app.name)+"\n\t")]),t._v(" "),t.listView?t._e():a("div",{staticClass:"app-summary"},[t._v(t._s(t.app.summary))]),t._v(" "),t.listView?a("div",{staticClass:"app-version"},[t.app.version?a("span",[t._v(t._s(t.app.version))]):t.app.appstoreData.releases[0].version?a("span",[t._v(t._s(t.app.appstoreData.releases[0].version))]):t._e()]):t._e(),t._v(" "),a("div",{staticClass:"app-level"},[200===t.app.level?a("span",{directives:[{name:"tooltip",rawName:"v-tooltip.auto",value:t.t("settings","Official apps are developed by and within the community. They offer central functionality and are ready for production use."),expression:"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')",modifiers:{auto:!0}}],staticClass:"official icon-checkmark"},[t._v("\n\t\t\t"+t._s(t.t("settings","Official")))]):t._e(),t._v(" "),t.listView?t._e():a("app-score",{attrs:{score:t.app.score}})],1),t._v(" "),a("div",{staticClass:"actions"},[t.app.error?a("div",{staticClass:"warning"},[t._v(t._s(t.app.error))]):t._e(),t._v(" "),t.loading(t.app.id)?a("div",{staticClass:"icon icon-loading-small"}):t._e(),t._v(" "),t.app.update?a("input",{staticClass:"update",attrs:{type:"button",value:t.t("settings","Update to {update}",{update:t.app.update}),disabled:t.installing||t.loading(t.app.id)},on:{click:function(e){e.stopPropagation(),t.update(t.app.id)}}}):t._e(),t._v(" "),t.app.canUnInstall?a("input",{staticClass:"uninstall",attrs:{type:"button",value:t.t("settings","Remove"),disabled:t.installing||t.loading(t.app.id)},on:{click:function(e){e.stopPropagation(),t.remove(t.app.id)}}}):t._e(),t._v(" "),t.app.active?a("input",{staticClass:"enable",attrs:{type:"button",value:t.t("settings","Disable"),disabled:t.installing||t.loading(t.app.id)},on:{click:function(e){e.stopPropagation(),t.disable(t.app.id)}}}):t._e(),t._v(" "),t.app.active?t._e():a("input",{directives:[{name:"tooltip",rawName:"v-tooltip.auto",value:t.enableButtonTooltip,expression:"enableButtonTooltip",modifiers:{auto:!0}}],staticClass:"enable",attrs:{type:"button",value:t.enableButtonText,disabled:!t.app.canInstall||t.installing||t.loading(t.app.id)},on:{click:function(e){e.stopPropagation(),t.enable(t.app.id)}}})])])};r._withStripped=!0;var o=s(311),l=s.n(o),c=function(){var t=this.$createElement;return(this._self._c||t)("img",{staticClass:"app-score-image",attrs:{src:this.scoreImage}})};c._withStripped=!0;var u={name:"appScore",props:["score"],computed:{scoreImage:function(){var t="rating/s"+Math.round(10*this.score)+".svg";return OC.imagePath("core",t)}}},d=s(87),g=Object(d.a)(u,c,[],!1,null,null,null);g.options.__file="src/components/appList/appScore.vue";var h=g.exports,v={mounted:function(){this.app.groups.length>0&&(this.groupCheckedAppsData=!0)},computed:{appGroups:function(){return this.app.groups.map(function(t){return{id:t,name:t}})},loading:function(){var t=this;return function(e){return t.$store.getters.loading(e)}},installing:function(){return this.$store.getters.loading("install")},enableButtonText:function(){return this.app.needsDownload?t("settings","Download and enable"):t("settings","Enable")},enableButtonTooltip:function(){return!!this.app.needsDownload&&t("settings","The app will be downloaded from the app store")}},methods:{asyncFindGroup:function(t){return this.$store.dispatch("getGroups",{search:t,limit:5,offset:0})},isLimitedToGroups:function(t){return!(!this.app.groups.length&&!this.groupCheckedAppsData)},setGroupLimit:function(){this.groupCheckedAppsData||this.$store.dispatch("enableApp",{appId:this.app.id,groups:[]})},canLimitToGroups:function(t){return!(t.types&&t.types.includes("filesystem")||t.types.includes("prelogin")||t.types.includes("authentication")||t.types.includes("logging")||t.types.includes("prevent_group_restriction"))},addGroupLimitation:function(t){var e=this.app.groups.concat([]).concat([t.id]);this.$store.dispatch("enableApp",{appId:this.app.id,groups:e})},removeGroupLimitation:function(t){var e=this.app.groups.concat([]),a=e.indexOf(t.id);a>-1&&e.splice(a,1),this.$store.dispatch("enableApp",{appId:this.app.id,groups:e})},enable:function(t){this.$store.dispatch("enableApp",{appId:t,groups:[]}).then(function(t){OC.Settings.Apps.rebuildNavigation()}).catch(function(t){OC.Notification.show(t)})},disable:function(t){this.$store.dispatch("disableApp",{appId:t}).then(function(t){OC.Settings.Apps.rebuildNavigation()}).catch(function(t){OC.Notification.show(t)})},remove:function(t){this.$store.dispatch("uninstallApp",{appId:t}).then(function(t){OC.Settings.Apps.rebuildNavigation()}).catch(function(t){OC.Notification.show(t)})},install:function(t){this.$store.dispatch("enableApp",{appId:t}).then(function(t){OC.Settings.Apps.rebuildNavigation()}).catch(function(t){OC.Notification.show(t)})},update:function(t){this.$store.dispatch("updateApp",{appId:t}).then(function(t){OC.Settings.Apps.rebuildNavigation()}).catch(function(t){OC.Notification.show(t)})}}},f=Object(d.a)(v,void 0,void 0,!1,null,null,null);f.options.__file="src/components/appManagement.vue";var m=f.exports,_={name:"svgFilterMixin",mounted:function(){this.filterId="invertIconApps"+Math.floor(100*Math.random())+(new Date).getSeconds()+(new Date).getMilliseconds()},computed:{filterUrl:function(){return"url(#".concat(this.filterId,")")}},data:function(){return{filterId:""}}},b=Object(d.a)(_,void 0,void 0,!1,null,null,null);b.options.__file="src/components/svgFilterMixin.vue";var y=b.exports,C={name:"appItem",mixins:[m,y],props:{app:{},category:{},listView:{type:Boolean,default:!0}},watch:{"$route.params.id":function(t){this.isSelected=this.app.id===t}},components:{Multiselect:l.a,AppScore:h},data:function(){return{isSelected:!1,scrolled:!1}},mounted:function(){this.isSelected=this.app.id===this.$route.params.id},computed:{},watchers:{},methods:{showAppDetails:function(t){"INPUT"!==t.currentTarget.tagName&&"A"!==t.currentTarget.tagName&&this.$router.push({name:"apps-details",params:{category:this.category,id:this.app.id}})},prefix:function(t,e){return t+"_"+e}}},w=Object(d.a)(C,r,[],!1,null,null,null);w.options.__file="src/components/appList/appItem.vue";var A=w.exports,k={name:"prefixMixin",methods:{prefix:function(t,e){return t+"_"+e}}},x=Object(d.a)(k,void 0,void 0,!1,null,null,null);x.options.__file="src/components/prefixMixin.vue";var D=x.exports,$={name:"appList",mixins:[D],props:["category","app","search"],components:{Multiselect:l.a,appItem:A},computed:{loading:function(){return this.$store.getters.loading("list")},apps:function(){var t=this,e=this.$store.getters.getAllApps.filter(function(e){return-1!==e.name.toLowerCase().search(t.search.toLowerCase())}).sort(function(t,e){var a=""+(t.active?0:1)+(t.update?0:1)+t.name,s=""+(e.active?0:1)+(e.update?0:1)+e.name;return OC.Util.naturalSortCompare(a,s)});return"installed"===this.category?e.filter(function(t){return t.installed}):"enabled"===this.category?e.filter(function(t){return t.active&&t.installed}):"disabled"===this.category?e.filter(function(t){return!t.active&&t.installed}):"app-bundles"===this.category?e.filter(function(t){return t.bundles}):"updates"===this.category?e.filter(function(t){return t.update}):e.filter(function(e){return e.appstore&&void 0!==e.category&&(e.category===t.category||e.category.indexOf(t.category)>-1)})},bundles:function(){return this.$store.getters.getServerData.bundles},bundleApps:function(){return function(t){return this.$store.getters.getAllApps.filter(function(e){return e.bundleId===t})}},searchApps:function(){var t=this;return""===this.search?[]:this.$store.getters.getAllApps.filter(function(e){return-1!==e.name.toLowerCase().search(t.search.toLowerCase())&&!t.apps.find(function(t){return t.id===e.id})})},useAppStoreView:function(){return!this.useListView&&!this.useBundleView},useListView:function(){return"installed"===this.category||"enabled"===this.category||"disabled"===this.category||"updates"===this.category},useBundleView:function(){return"app-bundles"===this.category},allBundlesEnabled:function(){var t=this;return function(e){return 0===t.bundleApps(e).filter(function(t){return!t.active}).length}},bundleToggleText:function(){var e=this;return function(a){return e.allBundlesEnabled(a)?t("settings","Disable all"):t("settings","Enable all")}}},methods:{toggleBundle:function(t){return this.allBundlesEnabled(t)?this.disableBundle(t):this.enableBundle(t)},enableBundle:function(t){var e=this.bundleApps(t).map(function(t){return t.id});this.$store.dispatch("enableApp",{appId:e,groups:[]}).catch(function(t){console.log(t),OC.Notification.show(t)})},disableBundle:function(t){var e=this.bundleApps(t).map(function(t){return t.id});this.$store.dispatch("disableApp",{appId:e,groups:[]}).catch(function(t){OC.Notification.show(t)})}}},S=Object(d.a)($,p,[],!1,null,null,null);S.options.__file="src/components/appList.vue";var O=S.exports,L=s(11),I=s(313),T=s.n(I),N=(s(1),function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticStyle:{padding:"20px"},attrs:{id:"app-details-view"}},[a("a",{staticClass:"close icon-close",attrs:{href:"#"},on:{click:t.hideAppDetails}},[a("span",{staticClass:"hidden-visually"},[t._v("Close")])]),t._v(" "),a("h2",[t.app.preview?t._e():a("div",{staticClass:"icon-settings-dark"}),t._v(" "),t.app.previewAsIcon&&t.app.preview?a("svg",{attrs:{width:"32",height:"32",viewBox:"0 0 32 32"}},[a("defs",[a("filter",{attrs:{id:t.filterId}},[a("feColorMatrix",{attrs:{in:"SourceGraphic",type:"matrix",values:"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"}})],1)]),t._v(" "),a("image",{staticClass:"app-icon",attrs:{x:"0",y:"0",width:"32",height:"32",preserveAspectRatio:"xMinYMin meet",filter:t.filterUrl,"xlink:href":t.app.preview}})]):t._e(),t._v("\n\t\t"+t._s(t.app.name))]),t._v(" "),t.app.screenshot?a("img",{attrs:{src:t.app.screenshot,width:"100%"}}):t._e(),t._v(" "),200===t.app.level||t.hasRating?a("div",{staticClass:"app-level"},[200===t.app.level?a("span",{directives:[{name:"tooltip",rawName:"v-tooltip.auto",value:t.t("settings","Official apps are developed by and within the community. They offer central functionality and are ready for production use."),expression:"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')",modifiers:{auto:!0}}],staticClass:"official icon-checkmark"},[t._v("\n\t\t\t"+t._s(t.t("settings","Official")))]):t._e(),t._v(" "),t.hasRating?a("app-score",{attrs:{score:t.app.appstoreData.ratingOverall}}):t._e()],1):t._e(),t._v(" "),t.author?a("div",{staticClass:"app-author"},[t._v("\n\t\t"+t._s(t.t("settings","by"))+"\n\t\t"),t._l(t.author,function(e,s){return a("span",[e["@attributes"]&&e["@attributes"].homepage?a("a",{attrs:{href:e["@attributes"].homepage}},[t._v(t._s(e["@value"]))]):e["@value"]?a("span",[t._v(t._s(e["@value"]))]):a("span",[t._v(t._s(e))]),s+1-1:t.groupCheckedAppsData},on:{change:[function(e){var a=t.groupCheckedAppsData,s=e.target,i=!!s.checked;if(Array.isArray(a)){var n=t.app.id,p=t._i(a,n);s.checked?p<0&&(t.groupCheckedAppsData=a.concat([n])):p>-1&&(t.groupCheckedAppsData=a.slice(0,p).concat(a.slice(p+1)))}else t.groupCheckedAppsData=i},t.setGroupLimit]}}),t._v(" "),a("label",{attrs:{for:t.prefix("groups_enable",t.app.id)}},[t._v(t._s(t.t("settings","Limit to groups")))]),t._v(" "),a("input",{staticClass:"group_select",attrs:{type:"hidden",title:t.t("settings","All"),value:""}}),t._v(" "),t.isLimitedToGroups(t.app)?a("multiselect",{staticClass:"multiselect-vue",attrs:{options:t.groups,value:t.appGroups,"options-limit":5,placeholder:t.t("settings","Limit app usage to groups"),label:"name","track-by":"id",multiple:!0,"close-on-select":!1},on:{select:t.addGroupLimitation,remove:t.removeGroupLimitation,"search-change":t.asyncFindGroup}},[a("span",{attrs:{slot:"noResult"},slot:"noResult"},[t._v(t._s(t.t("settings","No results")))])]):t._e()],1):t._e()])]),t._v(" "),a("p",{staticClass:"documentation"},[t.app.internal?t._e():a("a",{staticClass:"appslink",attrs:{href:t.appstoreUrl,target:"_blank",rel:"noreferrer noopener"}},[t._v(t._s(t.t("settings","View in store"))+" ↗")]),t._v(" "),t.app.website?a("a",{staticClass:"appslink",attrs:{href:t.app.website,target:"_blank",rel:"noreferrer noopener"}},[t._v(t._s(t.t("settings","Visit website"))+" ↗")]):t._e(),t._v(" "),t.app.bugs?a("a",{staticClass:"appslink",attrs:{href:t.app.bugs,target:"_blank",rel:"noreferrer noopener"}},[t._v(t._s(t.t("settings","Report a bug"))+" ↗")]):t._e(),t._v(" "),t.app.documentation&&t.app.documentation.user?a("a",{staticClass:"appslink",attrs:{href:t.app.documentation.user,target:"_blank",rel:"noreferrer noopener"}},[t._v(t._s(t.t("settings","User documentation"))+" ↗")]):t._e(),t._v(" "),t.app.documentation&&t.app.documentation.admin?a("a",{staticClass:"appslink",attrs:{href:t.app.documentation.admin,target:"_blank",rel:"noreferrer noopener"}},[t._v(t._s(t.t("settings","Admin documentation"))+" ↗")]):t._e(),t._v(" "),t.app.documentation&&t.app.documentation.developer?a("a",{staticClass:"appslink",attrs:{href:t.app.documentation.developer,target:"_blank",rel:"noreferrer noopener"}},[t._v(t._s(t.t("settings","Developer documentation"))+" ↗")]):t._e()]),t._v(" "),a("ul",{staticClass:"app-dependencies"},[t.app.missingMinOwnCloudVersion?a("li",[t._v(t._s(t.t("settings","This app has no minimum Nextcloud version assigned. This will be an error in the future.")))]):t._e(),t._v(" "),t.app.missingMaxOwnCloudVersion?a("li",[t._v(t._s(t.t("settings","This app has no maximum Nextcloud version assigned. This will be an error in the future.")))]):t._e(),t._v(" "),t.app.canInstall?t._e():a("li",[t._v("\n\t\t\t"+t._s(t.t("settings","This app cannot be installed because the following dependencies are not fulfilled:"))+"\n\t\t\t"),a("ul",{staticClass:"missing-dependencies"},t._l(t.app.missingDependencies,function(e){return a("li",[t._v(t._s(e))])}))])]),t._v(" "),a("div",{staticClass:"app-description",domProps:{innerHTML:t._s(t.renderMarkdown)}})])});N._withStripped=!0;var M={mixins:[m,D,y],name:"appDetails",props:["category","app"],components:{Multiselect:l.a,AppScore:h},data:function(){return{groupCheckedAppsData:!1}},mounted:function(){this.app.groups.length>0&&(this.groupCheckedAppsData=!0)},methods:{hideAppDetails:function(){this.$router.push({name:"apps-category",params:{category:this.category}})}},computed:{appstoreUrl:function(){return"https://apps.nextcloud.com/apps/".concat(this.app.id)},licence:function(){return this.app.licence?t("settings","{license}-licensed",{license:(""+this.app.licence).toUpperCase()}):null},hasRating:function(){return this.app.appstoreData&&this.app.appstoreData.ratingNumOverall>5},author:function(){return"string"==typeof this.app.author?[{"@value":this.app.author}]:this.app.author["@value"]?[this.app.author]:this.app.author},appGroups:function(){return this.app.groups.map(function(t){return{id:t,name:t}})},groups:function(){return this.$store.getters.getGroups.filter(function(t){return"disabled"!==t.id}).sort(function(t,e){return t.name.localeCompare(e.name)})},renderMarkdown:function(){var t=new window.marked.Renderer;return t.link=function(t,e,a){try{var s=decodeURIComponent(unescape(t)).replace(/[^\w:]/g,"").toLowerCase()}catch(t){return""}if(0!==s.indexOf("http:")&&0!==s.indexOf("https:"))return"";var i='"},t.image=function(t,e,a){return a||e},t.blockquote=function(t){return t},DOMPurify.sanitize(window.marked(this.app.description.trim(),{renderer:t,gfm:!1,highlight:!1,tables:!1,breaks:!1,pedantic:!1,sanitize:!0,smartLists:!0,smartypants:!1}),{SAFE_FOR_JQUERY:!0,ALLOWED_TAGS:["strong","p","a","ul","ol","li","em","del","blockquote"]})}}},B=Object(d.a)(M,N,[],!1,null,null,null);B.options.__file="src/components/appDetails.vue";var V=B.exports;L.default.use(T.a);var G={name:"Apps",props:{category:{type:String,default:"installed"},id:{type:String,default:""}},components:{AppDetails:V,AppNavigation:n.AppNavigation,appList:O},methods:{setSearch:function(t){this.searchQuery=t},resetSearch:function(){this.setSearch("")}},beforeMount:function(){this.$store.dispatch("getCategories"),this.$store.dispatch("getAllApps"),this.$store.dispatch("getGroups",{offset:0,limit:5}),this.$store.commit("setUpdateCount",this.$store.getters.getServerData.updateCount)},mounted:function(){this.appSearch=new OCA.Search(this.setSearch,this.resetSearch)},data:function(){return{searchQuery:""}},watch:{category:function(t,e){this.setSearch("")}},computed:{loading:function(){return this.$store.getters.loading("categories")},loadingList:function(){return this.$store.getters.loading("list")},currentApp:function(){var t=this;return this.apps.find(function(e){return e.id===t.id})},categories:function(){return this.$store.getters.getCategories},apps:function(){return this.$store.getters.getAllApps},updateCount:function(){return this.$store.getters.getUpdateCount},settings:function(){return this.$store.getters.getServerData},menu:function(){var e=this,a=this.$store.getters.getCategories;a=(a=Array.isArray(a)?a:[]).map(function(t){var e={};return e.id="app-category-"+t.ident,e.icon="icon-category-"+t.ident,e.classes=[],e.router={name:"apps-category",params:{category:t.ident}},e.text=t.displayName,e});var s=[{id:"app-category-your-apps",classes:[],router:{name:"apps"},icon:"icon-category-installed",text:t("settings","Your apps")},{id:"app-category-enabled",classes:[],icon:"icon-category-enabled",router:{name:"apps-category",params:{category:"enabled"}},text:t("settings","Active apps")},{id:"app-category-disabled",classes:[],icon:"icon-category-disabled",router:{name:"apps-category",params:{category:"disabled"}},text:t("settings","Disabled apps")}];if(!this.settings.appstoreEnabled)return{id:"appscategories",items:s};this.$store.getters.getUpdateCount>0&&s.push({id:"app-category-updates",classes:[],icon:"icon-download",router:{name:"apps-category",params:{category:"updates"}},text:t("settings","Updates"),utils:{counter:this.$store.getters.getUpdateCount}}),s.push({id:"app-category-app-bundles",classes:[],icon:"icon-category-app-bundles",router:{name:"apps-category",params:{category:"app-bundles"}},text:t("settings","App bundles")});var i=(a=s.concat(a)).findIndex(function(t){return t.id==="app-category-"+e.category});return i>=0?a[i].classes.push("active"):a[0].classes.push("active"),a.push({id:"app-developer-docs",classes:[],href:this.settings.developerDocumentation,text:t("settings","Developer documentation")+" ↗"}),{id:"appscategories",items:a,loading:this.loading}}}},U=Object(d.a)(G,i,[],!1,null,null,null);U.options.__file="src/views/Apps.vue";a.default=U.exports}}]); +//# sourceMappingURL=3.settings-vue.js.map \ No newline at end of file diff --git a/settings/js/3.settings-vue.js.map b/settings/js/3.settings-vue.js.map new file mode 100644 index 0000000000..8c57a9a07c --- /dev/null +++ b/settings/js/3.settings-vue.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/views/Apps.vue?550c","webpack:///./src/components/appList.vue?307d","webpack:///./src/components/appList/appItem.vue?c8e3","webpack:///./src/components/appList/appScore.vue?bca6","webpack:///src/components/appList/appScore.vue","webpack:///./src/components/appList/appScore.vue?e4bc","webpack:///./src/components/appList/appScore.vue","webpack:///./src/components/appManagement.vue?dab8","webpack:///src/components/appManagement.vue","webpack:///./src/components/appManagement.vue","webpack:///./src/components/svgFilterMixin.vue?5e67","webpack:///src/components/svgFilterMixin.vue","webpack:///./src/components/svgFilterMixin.vue","webpack:///./src/components/appList/appItem.vue?ad16","webpack:///src/components/appList/appItem.vue","webpack:///./src/components/appList/appItem.vue","webpack:///./src/components/prefixMixin.vue?62b8","webpack:///src/components/prefixMixin.vue","webpack:///./src/components/prefixMixin.vue","webpack:///./src/components/appList.vue?0ded","webpack:///src/components/appList.vue","webpack:///./src/components/appList.vue","webpack:///./src/components/appDetails.vue?649c","webpack:///src/components/appDetails.vue","webpack:///./src/components/appDetails.vue?d168","webpack:///./src/components/appDetails.vue","webpack:///src/views/Apps.vue","webpack:///./src/views/Apps.vue?f9ed","webpack:///./src/views/Apps.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","class","with-app-sidebar","currentApp","attrs","id","menu","_v","icon-loading","loadingList","category","app","search","searchQuery","_e","_withStripped","appListvue_type_template_id_a1862e02_render","installed","useBundleView","useListView","store","useAppStoreView","name","tag","_l","apps","key","bundles","bundle","bundleApps","length","_s","type","value","bundleToggleText","on","click","$event","toggleBundle","list-view","searchApps","colspan","t","loading","appItemvue_type_template_id_1c68d544_render","selected","isSelected","showAppDetails","listView","preview","screenshot","width","height","viewBox","filterId","in","values","x","y","preserveAspectRatio","filter","filterUrl","xlink:href","src","summary","version","appstoreData","releases","level","directives","rawName","expression","modifiers","auto","score","error","update","disabled","installing","stopPropagation","canUnInstall","remove","active","disable","enableButtonTooltip","enableButtonText","canInstall","enable","appScorevue_type_template_id_71d71231_render","scoreImage","appList_appScorevue_type_script_lang_js_","props","computed","imageName","Math","round","OC","imagePath","component","Object","componentNormalizer","options","__file","appScore","components_appManagementvue_type_script_lang_js_","mounted","groups","groupCheckedAppsData","appGroups","map","group","self","$store","getters","needsDownload","methods","asyncFindGroup","query","dispatch","limit","offset","isLimitedToGroups","setGroupLimit","appId","canLimitToGroups","types","includes","addGroupLimitation","concat","removeGroupLimitation","currentGroups","index","indexOf","splice","then","response","Settings","Apps","rebuildNavigation","catch","Notification","show","install","appManagement_component","appManagement_render","appManagement_staticRenderFns","appManagement","components_svgFilterMixinvue_type_script_lang_js_","floor","random","Date","getSeconds","getMilliseconds","data","svgFilterMixin_component","svgFilterMixin_render","svgFilterMixin_staticRenderFns","svgFilterMixin","appList_appItemvue_type_script_lang_js_","mixins","Boolean","default","watch","$route.params.id","components","Multiselect","vue_multiselect_min_default","a","AppScore","scrolled","$route","params","watchers","event","currentTarget","tagName","$router","push","prefix","_prefix","content","appItem_component","appItem","components_prefixMixinvue_type_script_lang_js_","prefixMixin_component","prefixMixin_render","prefixMixin_staticRenderFns","prefixMixin","components_appListvue_type_script_lang_js_","_this","getAllApps","toLowerCase","sort","b","sortStringA","sortStringB","Util","naturalSortCompare","appstore","undefined","getServerData","bundleId","_this2","find","_app","allBundlesEnabled","disableBundle","enableBundle","console","log","appList_component","appList","appDetailsvue_type_template_id_273c8e71_render","staticStyle","padding","href","hideAppDetails","previewAsIcon","hasRating","ratingOverall","author","licence","domProps","checked","Array","isArray","_i","change","$$a","$$el","target","$$c","$$v","$$i","slice","for","title","options-limit","placeholder","label","track-by","multiple","close-on-select","select","search-change","slot","internal","appstoreUrl","rel","website","bugs","documentation","user","admin","developer","missingMinOwnCloudVersion","missingMaxOwnCloudVersion","missingDependencies","dep","innerHTML","renderMarkdown","components_appDetailsvue_type_script_lang_js_","license","toUpperCase","ratingNumOverall","@value","getGroups","localeCompare","renderer","window","marked","Renderer","link","text","prot","decodeURIComponent","unescape","replace","e","out","image","blockquote","quote","DOMPurify","sanitize","description","trim","gfm","highlight","tables","breaks","pedantic","smartLists","smartypants","SAFE_FOR_JQUERY","ALLOWED_TAGS","appDetails_component","appDetails","vue_esm","use","vue_local_storage_default","views_Appsvue_type_script_lang_js_","String","AppDetails","AppNavigation","ncvuecomponents","setSearch","resetSearch","beforeMount","commit","updateCount","appSearch","OCA","Search","val","old","categories","getCategories","getUpdateCount","settings","item","ident","icon","classes","router","displayName","defaultCategories","appstoreEnabled","items","utils","counter","activeGroup","findIndex","developerDocumentation","Apps_component","__webpack_exports__"],"mappings":"iGAAA,IAAAA,EAAA,WACA,IAAAC,EAAAC,KACAC,EAAAF,EAAAG,eACAC,EAAAJ,EAAAK,MAAAD,IAAAF,EACA,OAAAE,EACA,OAEAE,YAAA,eACAC,OAAcC,mBAAAR,EAAAS,YACdC,OAAcC,GAAA,aAGdP,EAAA,kBAA4BM,OAASE,KAAAZ,EAAAY,QACrCZ,EAAAa,GAAA,KACAT,EACA,OAEAE,YAAA,uBACAC,OAAkBO,eAAAd,EAAAe,aAClBL,OAAkBC,GAAA,iBAGlBP,EAAA,YACAM,OACAM,SAAAhB,EAAAgB,SACAC,IAAAjB,EAAAS,WACAS,OAAAlB,EAAAmB,gBAIA,GAEAnB,EAAAa,GAAA,KACAb,EAAAW,IAAAX,EAAAS,WACAL,EACA,OACaM,OAASC,GAAA,iBAEtBP,EAAA,eACAM,OAAwBM,SAAAhB,EAAAgB,SAAAC,IAAAjB,EAAAS,eAGxB,GAEAT,EAAAoB,MAEA,IAIArB,EAAAsB,eAAA,eClDIC,EAAM,WACV,IAAAtB,EAAAC,KACAC,EAAAF,EAAAG,eACAC,EAAAJ,EAAAK,MAAAD,IAAAF,EACA,OAAAE,EAAA,OAAoBM,OAASC,GAAA,uBAC7BP,EACA,OAEAE,YAAA,YACAC,OACAgB,UAAAvB,EAAAwB,eAAAxB,EAAAyB,YACAC,MAAA1B,EAAA2B,iBAEAjB,OAAgBC,GAAA,eAGhBX,EAAAyB,aAEArB,EACA,oBAEAE,YAAA,sBACAI,OAA0BkB,KAAA,WAAAC,IAAA,QAE1B7B,EAAA8B,GAAA9B,EAAA+B,KAAA,SAAAd,GACA,OAAAb,EAAA,YACA4B,IAAAf,EAAAN,GACAD,OAA4BO,MAAAD,SAAAhB,EAAAgB,gBAK5BhB,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAA8B,GAAA9B,EAAAiC,QAAA,SAAAC,GACA,OAAAlC,EAAAwB,eAAAxB,EAAAmC,WAAAD,EAAAvB,IAAAyB,OAAA,GAEAhC,EACA,oBAEAE,YAAA,sBACAI,OAA4BkB,KAAA,WAAAC,IAAA,SAG5BzB,EAAA,OAA+B4B,IAAAE,EAAAvB,GAAAL,YAAA,gBAC/BF,EAAA,OAAiCE,YAAA,cACjCN,EAAAa,GAAA,KACAT,EAAA,MACAJ,EAAAa,GAAAb,EAAAqC,GAAAH,EAAAN,MAAA,KACAxB,EAAA,SACAM,OACA4B,KAAA,SACAC,MAAAvC,EAAAwC,iBAAAN,EAAAvB,KAEA8B,IACAC,MAAA,SAAAC,GACA3C,EAAA4C,aAAAV,EAAAvB,UAKAX,EAAAa,GAAA,KACAT,EAAA,OAAiCE,YAAA,gBACjCN,EAAAa,GAAA,KACAT,EAAA,OAAiCE,YAAA,cACjCN,EAAAa,GAAA,KACAT,EAAA,OAAiCE,YAAA,eACjCN,EAAAa,GAAA,KACAT,EAAA,OAAiCE,YAAA,YAAyBN,EAAAa,GAAA,SAE1Db,EAAAa,GAAA,KACAb,EAAA8B,GAAA9B,EAAAmC,WAAAD,EAAAvB,IAAA,SAAAM,GACA,OAAAb,EAAA,YACA4B,IAAAE,EAAAvB,GAAAM,EAAAN,GACAD,OAAgCO,MAAAD,SAAAhB,EAAAgB,eAIhC,IAGAhB,EAAAoB,OAEApB,EAAAa,GAAA,KACAb,EAAA2B,gBACA3B,EAAA8B,GAAA9B,EAAA+B,KAAA,SAAAd,GACA,OAAAb,EAAA,YACA4B,IAAAf,EAAAN,GACAD,OAAwBO,MAAAD,SAAAhB,EAAAgB,SAAA6B,aAAA,OAGxB7C,EAAAoB,MAEA,GAEApB,EAAAa,GAAA,KACAT,EACA,OACOE,YAAA,sBAAAI,OAA6CC,GAAA,sBAEpDP,EACA,OACWE,YAAA,wBAEX,KAAAN,EAAAkB,QAAAlB,EAAA8C,WAAAV,OAAA,GAEAhC,EAAA,OAA6BE,YAAA,YAC7BF,EAAA,OACAJ,EAAAa,GAAA,KACAT,EAAA,MAA8BM,OAASqC,QAAA,OACvC3C,EAAA,MACAJ,EAAAa,GACAb,EAAAqC,GACArC,EAAAgD,EAAA,oDAMAhD,EAAAa,GAAA,KACAb,EAAA8B,GAAA9B,EAAA8C,WAAA,SAAA7B,GACA,OAAAb,EAAA,YACA4B,IAAAf,EAAAN,GACAD,OACAO,MACAD,SAAAhB,EAAAgB,SACA6B,aAAA,QAKA7C,EAAAoB,MAEA,KAIApB,EAAAa,GAAA,KACAb,EAAAiD,SAAA,IAAAjD,EAAA8C,WAAAV,QAAA,IAAApC,EAAA+B,KAAAK,OAoBApC,EAAAoB,KAnBAhB,EACA,OAEAE,YAAA,mCACAI,OAAoBC,GAAA,qBAGpBP,EAAA,OACAE,YAAA,qBACAI,OAAsBC,GAAA,yBAEtBX,EAAAa,GAAA,KACAT,EAAA,MACAJ,EAAAa,GACAb,EAAAqC,GAAArC,EAAAgD,EAAA,mDAMAhD,EAAAa,GAAA,KACAT,EAAA,OAAeM,OAASC,GAAA,sBAIxBW,EAAMD,eAAA,ECpKN,IAAI6B,EAAM,WACV,IAAAlD,EAAAC,KACAC,EAAAF,EAAAG,eACAC,EAAAJ,EAAAK,MAAAD,IAAAF,EACA,OAAAE,EACA,OAEAE,YAAA,UACAC,OAAc4C,SAAAnD,EAAAoD,YACdX,IAAWC,MAAA1C,EAAAqD,kBAGXjD,EACA,OAEAE,YAAA,2BACAmC,IAAeC,MAAA1C,EAAAqD,kBAGfrD,EAAAsD,WAAAtD,EAAAiB,IAAAsC,UACAvD,EAAAsD,WAAAtD,EAAAiB,IAAAuC,WACApD,EAAA,OAAyBE,YAAA,uBACzBN,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAsD,UAAAtD,EAAAiB,IAAAsC,QACAnD,EACA,OACiBM,OAAS+C,MAAA,KAAAC,OAAA,KAAAC,QAAA,eAE1BvD,EAAA,QACAA,EACA,UACuBM,OAASC,GAAAX,EAAA4D,YAEhCxD,EAAA,iBACAM,OACAmD,GAAA,gBACAvB,KAAA,SACAwB,OAAA,iDAIA,KAGA9D,EAAAa,GAAA,KACAT,EAAA,SACAE,YAAA,WACAI,OACAqD,EAAA,IACAC,EAAA,IACAP,MAAA,KACAC,OAAA,KACAO,oBAAA,gBACAC,OAAAlE,EAAAmE,UACAC,aAAApE,EAAAiB,IAAAsC,aAKAvD,EAAAoB,KACApB,EAAAa,GAAA,MACAb,EAAAsD,UAAAtD,EAAAiB,IAAAuC,WACApD,EAAA,OAAyBM,OAAS2D,IAAArE,EAAAiB,IAAAuC,WAAAC,MAAA,UAClCzD,EAAAoB,OAGApB,EAAAa,GAAA,KACAT,EACA,OACSE,YAAA,WAAAmC,IAA+BC,MAAA1C,EAAAqD,kBACxCrD,EAAAa,GAAA,SAAAb,EAAAqC,GAAArC,EAAAiB,IAAAW,MAAA,UAEA5B,EAAAa,GAAA,KACAb,EAAAsD,SAIAtD,EAAAoB,KAHAhB,EAAA,OAAqBE,YAAA,gBACrBN,EAAAa,GAAAb,EAAAqC,GAAArC,EAAAiB,IAAAqD,YAGAtE,EAAAa,GAAA,KACAb,EAAAsD,SACAlD,EAAA,OAAqBE,YAAA,gBACrBN,EAAAiB,IAAAsD,QACAnE,EAAA,QAAAJ,EAAAa,GAAAb,EAAAqC,GAAArC,EAAAiB,IAAAsD,YACAvE,EAAAiB,IAAAuD,aAAAC,SAAA,GAAAF,QACAnE,EAAA,QACAJ,EAAAa,GAAAb,EAAAqC,GAAArC,EAAAiB,IAAAuD,aAAAC,SAAA,GAAAF,YAEAvE,EAAAoB,OAEApB,EAAAoB,KACApB,EAAAa,GAAA,KACAT,EACA,OACSE,YAAA,cAET,MAAAN,EAAAiB,IAAAyD,MACAtE,EACA,QAEAuE,aAEA/C,KAAA,UACAgD,QAAA,iBACArC,MAAAvC,EAAAgD,EACA,WACA,+HAEA6B,WACA,+IACAC,WAAkCC,MAAA,KAGlCzE,YAAA,4BAEAN,EAAAa,GAAA,WAAAb,EAAAqC,GAAArC,EAAAgD,EAAA,2BAEAhD,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAsD,SAEAtD,EAAAoB,KADAhB,EAAA,aAA+BM,OAASsE,MAAAhF,EAAAiB,IAAA+D,UAGxC,GAEAhF,EAAAa,GAAA,KACAT,EAAA,OAAiBE,YAAA,YACjBN,EAAAiB,IAAAgE,MACA7E,EAAA,OAAuBE,YAAA,YACvBN,EAAAa,GAAAb,EAAAqC,GAAArC,EAAAiB,IAAAgE,UAEAjF,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAiD,QAAAjD,EAAAiB,IAAAN,IACAP,EAAA,OAAuBE,YAAA,4BACvBN,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAiB,IAAAiE,OACA9E,EAAA,SACAE,YAAA,SACAI,OACA4B,KAAA,SACAC,MAAAvC,EAAAgD,EAAA,iCACAkC,OAAAlF,EAAAiB,IAAAiE,SAEAC,SAAAnF,EAAAoF,YAAApF,EAAAiD,QAAAjD,EAAAiB,IAAAN,KAEA8B,IACAC,MAAA,SAAAC,GACAA,EAAA0C,kBACArF,EAAAkF,OAAAlF,EAAAiB,IAAAN,QAIAX,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAiB,IAAAqE,aACAlF,EAAA,SACAE,YAAA,YACAI,OACA4B,KAAA,SACAC,MAAAvC,EAAAgD,EAAA,qBACAmC,SAAAnF,EAAAoF,YAAApF,EAAAiD,QAAAjD,EAAAiB,IAAAN,KAEA8B,IACAC,MAAA,SAAAC,GACAA,EAAA0C,kBACArF,EAAAuF,OAAAvF,EAAAiB,IAAAN,QAIAX,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAiB,IAAAuE,OACApF,EAAA,SACAE,YAAA,SACAI,OACA4B,KAAA,SACAC,MAAAvC,EAAAgD,EAAA,sBACAmC,SAAAnF,EAAAoF,YAAApF,EAAAiD,QAAAjD,EAAAiB,IAAAN,KAEA8B,IACAC,MAAA,SAAAC,GACAA,EAAA0C,kBACArF,EAAAyF,QAAAzF,EAAAiB,IAAAN,QAIAX,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAiB,IAAAuE,OA2BAxF,EAAAoB,KA1BAhB,EAAA,SACAuE,aAEA/C,KAAA,UACAgD,QAAA,iBACArC,MAAAvC,EAAA0F,oBACAb,WAAA,sBACAC,WAA8BC,MAAA,KAG9BzE,YAAA,SACAI,OACA4B,KAAA,SACAC,MAAAvC,EAAA2F,iBACAR,UACAnF,EAAAiB,IAAA2E,YACA5F,EAAAoF,YACApF,EAAAiD,QAAAjD,EAAAiB,IAAAN,KAEA8B,IACAC,MAAA,SAAAC,GACAA,EAAA0C,kBACArF,EAAA6F,OAAA7F,EAAAiB,IAAAN,aAUAuC,EAAM7B,eAAA,wBC/NFyE,EAAM,WACV,IACA5F,EADAD,KACAE,eAEA,OAHAF,KAEAI,MAAAD,IAAAF,GACA,OACAI,YAAA,kBACAI,OAAY2D,IALZpE,KAKY8F,eAIZD,EAAMzE,eAAA,ECgBN,IC1B8L2E,GD2B9LpE,KAAA,WACAqE,OAAA,SACAC,UACAH,WADA,WAEA,IACAI,EAAA,WADAC,KAAAC,MAAA,GAAApG,KAAA+E,OACA,OACA,OAAAsB,GAAAC,UAAA,OAAAJ,cE1BAK,EAAgBC,OAAAC,EAAA,EAAAD,CACdT,EACAF,MAEF,EACA,KACA,KACA,MAuBAU,EAAAG,QAAAC,OAAA,sCACe,IAAAC,EAAAL,UCtC8KM,GCwB7LC,QADA,WAEA9G,KAAAgB,IAAA+F,OAAA5E,OAAA,IACAnC,KAAAgH,sBAAA,IAGAf,UACAgB,UADA,WAEA,OAAAjH,KAAAgB,IAAA+F,OAAAG,IAAA,SAAAC,GAAA,OAAAzG,GAAAyG,EAAAxF,KAAAwF,MAEAnE,QAJA,WAKA,IAAAoE,EAAApH,KACA,gBAAAU,GACA,OAAA0G,EAAAC,OAAAC,QAAAtE,QAAAtC,KAGAyE,WAVA,WAWA,OAAAnF,KAAAqH,OAAAC,QAAAtE,QAAA,YAEA0C,iBAbA,WAcA,OAAA1F,KAAAgB,IAAAuG,cACAxE,EAAA,kCAEAA,EAAA,sBAEA0C,oBAnBA,WAoBA,QAAAzF,KAAAgB,IAAAuG,eACAxE,EAAA,8DAKAyE,SACAC,eADA,SACAC,GACA,OAAA1H,KAAAqH,OAAAM,SAAA,aAAA1G,OAAAyG,EAAAE,MAAA,EAAAC,OAAA,KAEAC,kBAJA,SAIA9G,GACA,SAAAhB,KAAAgB,IAAA+F,OAAA5E,SAAAnC,KAAAgH,uBAKAe,cAAA,WACA/H,KAAAgH,sBACAhH,KAAAqH,OAAAM,SAAA,aAAAK,MAAAhI,KAAAgB,IAAAN,GAAAqG,aAGAkB,iBAfA,SAeAjH,GACA,QAAAA,EAAAkH,OAAAlH,EAAAkH,MAAAC,SAAA,eACAnH,EAAAkH,MAAAC,SAAA,aACAnH,EAAAkH,MAAAC,SAAA,mBACAnH,EAAAkH,MAAAC,SAAA,YACAnH,EAAAkH,MAAAC,SAAA,+BAKAC,mBAzBA,SAyBAjB,GACA,IAAAJ,EAAA/G,KAAAgB,IAAA+F,OAAAsB,mBAAAlB,EAAAzG,KACAV,KAAAqH,OAAAM,SAAA,aAAAK,MAAAhI,KAAAgB,IAAAN,GAAAqG,YAEAuB,sBA7BA,SA6BAnB,GACA,IAAAoB,EAAAvI,KAAAgB,IAAA+F,OAAAsB,WACAG,EAAAD,EAAAE,QAAAtB,EAAAzG,IACA8H,GAAA,GACAD,EAAAG,OAAAF,EAAA,GAEAxI,KAAAqH,OAAAM,SAAA,aAAAK,MAAAhI,KAAAgB,IAAAN,GAAAqG,OAAAwB,KAEA3C,OArCA,SAqCAoC,GACAhI,KAAAqH,OAAAM,SAAA,aAAAK,QAAAjB,YACA4B,KAAA,SAAAC,GAAAvC,GAAAwC,SAAAC,KAAAC,sBACAC,MAAA,SAAAhE,GAAAqB,GAAA4C,aAAAC,KAAAlE,MAEAQ,QA1CA,SA0CAwC,GACAhI,KAAAqH,OAAAM,SAAA,cAAAK,UACAW,KAAA,SAAAC,GAAAvC,GAAAwC,SAAAC,KAAAC,sBACAC,MAAA,SAAAhE,GAAAqB,GAAA4C,aAAAC,KAAAlE,MAEAM,OA/CA,SA+CA0C,GACAhI,KAAAqH,OAAAM,SAAA,gBAAAK,UACAW,KAAA,SAAAC,GAAAvC,GAAAwC,SAAAC,KAAAC,sBACAC,MAAA,SAAAhE,GAAAqB,GAAA4C,aAAAC,KAAAlE,MAEAmE,QApDA,SAoDAnB,GACAhI,KAAAqH,OAAAM,SAAA,aAAAK,UACAW,KAAA,SAAAC,GAAAvC,GAAAwC,SAAAC,KAAAC,sBACAC,MAAA,SAAAhE,GAAAqB,GAAA4C,aAAAC,KAAAlE,MAEAC,OAzDA,SAyDA+C,GACAhI,KAAAqH,OAAAM,SAAA,aAAAK,UACAW,KAAA,SAAAC,GAAAvC,GAAAwC,SAAAC,KAAAC,sBACAC,MAAA,SAAAhE,GAAAqB,GAAA4C,aAAAC,KAAAlE,QC5GIoE,EAAY5C,OAAAC,EAAA,EAAAD,CACdK,OAREwC,OAAQC,GAWZ,EACA,KACA,KACA,MAkBAF,EAAS1C,QAAAC,OAAA,mCACM,IAAA4C,EAAAH,UCjC+KI,GCwB9L7H,KAAA,iBACAmF,QAFA,WAGA9G,KAAA2D,SAAA,iBAAAwC,KAAAsD,MAAA,IAAAtD,KAAAuD,WAAA,IAAAC,MAAAC,cAAA,IAAAD,MAAAE,mBAEA5D,UACA/B,UADA,WAEA,cAAAmE,OAAArI,KAAA2D,SAAA,OAGAmG,KAVA,WAWA,OACAnG,SAAA,MC5BIoG,EAAYvD,OAAAC,EAAA,EAAAD,CACdgD,OAREQ,OAAQC,GAWZ,EACA,KACA,KACA,MAkBAF,EAASrD,QAAAC,OAAA,oCACM,IAAAuD,EAAAH,UCjC8KI,GCoE7LxI,KAAA,UACAyI,QAAAb,EAAAW,GACAlE,OACAhF,OACAD,YACAsC,UACAhB,KAAAgI,QACAC,SAAA,IAGAC,OACAC,mBAAA,SAAA9J,GACAV,KAAAmD,WAAAnD,KAAAgB,IAAAN,SAGA+J,YACAC,YAAAC,EAAAC,EACAC,SAAAjE,GAEAkD,KApBA,WAqBA,OACA3G,YAAA,EACA2H,UAAA,IAGAhE,QA1BA,WA2BA9G,KAAAmD,WAAAnD,KAAAgB,IAAAN,KAAAV,KAAA+K,OAAAC,OAAAtK,IAEAuF,YAGAgF,YAGAzD,SACApE,eADA,SACA8H,GACA,UAAAA,EAAAC,cAAAC,SAAA,MAAAF,EAAAC,cAAAC,SAGApL,KAAAqL,QAAAC,MACA3J,KAAA,eACAqJ,QAAAjK,SAAAf,KAAAe,SAAAL,GAAAV,KAAAgB,IAAAN,OAGA6K,OAVA,SAUAC,EAAAC,GACA,OAAAD,EAAA,IAAAC,KC1GIC,EAAYlF,OAAAC,EAAA,EAAAD,CACd2D,EACAlH,MAEF,EACA,KACA,KACA,MAuBAyI,EAAShF,QAAAC,OAAA,qCACM,IAAAgF,EAAAD,UCtC4KE,GCwB3LjK,KAAA,cACA6F,SACA+D,OADA,SACAC,EAAAC,GACA,OAAAD,EAAA,IAAAC,KCpBII,EAAYrF,OAAAC,EAAA,EAAAD,CACdoF,OAREE,OAAQC,GAWZ,EACA,KACA,KACA,MAkBAF,EAASnF,QAAAC,OAAA,iCACM,IAAAqF,EAAAH,UCjCwKI,GC+EvLtK,KAAA,UACAyI,QAAA4B,GACAhG,OAAA,2BACAyE,YACAC,YAAAC,EAAAC,EACAe,WAEA1F,UACAjD,QADA,WAEA,OAAAhD,KAAAqH,OAAAC,QAAAtE,QAAA,SAEAlB,KAJA,WAIA,IAAAoK,EAAAlM,KACA8B,EAAA9B,KAAAqH,OAAAC,QAAA6E,WACAlI,OAAA,SAAAjD,GAAA,WAAAA,EAAAW,KAAAyK,cAAAnL,OAAAiL,EAAAjL,OAAAmL,iBACAC,KAAA,SAAAzB,EAAA0B,GACA,IAAAC,EAAA,IAAA3B,EAAArF,OAAA,MAAAqF,EAAA3F,OAAA,KAAA2F,EAAAjJ,KACA6K,EAAA,IAAAF,EAAA/G,OAAA,MAAA+G,EAAArH,OAAA,KAAAqH,EAAA3K,KACA,OAAA0E,GAAAoG,KAAAC,mBAAAH,EAAAC,KAGA,oBAAAxM,KAAAe,SACAe,EAAAmC,OAAA,SAAAjD,GAAA,OAAAA,EAAAM,YAEA,YAAAtB,KAAAe,SACAe,EAAAmC,OAAA,SAAAjD,GAAA,OAAAA,EAAAuE,QAAAvE,EAAAM,YAEA,aAAAtB,KAAAe,SACAe,EAAAmC,OAAA,SAAAjD,GAAA,OAAAA,EAAAuE,QAAAvE,EAAAM,YAEA,gBAAAtB,KAAAe,SACAe,EAAAmC,OAAA,SAAAjD,GAAA,OAAAA,EAAAgB,UAEA,YAAAhC,KAAAe,SACAe,EAAAmC,OAAA,SAAAjD,GAAA,OAAAA,EAAAiE,SAGAnD,EAAAmC,OAAA,SAAAjD,GACA,OAAAA,EAAA2L,eAAAC,IAAA5L,EAAAD,WACAC,EAAAD,WAAAmL,EAAAnL,UAAAC,EAAAD,SAAA0H,QAAAyD,EAAAnL,WAAA,MAGAiB,QAlCA,WAmCA,OAAAhC,KAAAqH,OAAAC,QAAAuF,cAAA7K,SAEAE,WArCA,WAsCA,gBAAAD,GACA,OAAAjC,KAAAqH,OAAAC,QAAA6E,WACAlI,OAAA,SAAAjD,GAAA,OAAAA,EAAA8L,WAAA7K,MAGAY,WA3CA,WA2CA,IAAAkK,EAAA/M,KACA,WAAAA,KAAAiB,UAGAjB,KAAAqH,OAAAC,QAAA6E,WACAlI,OAAA,SAAAjD,GACA,WAAAA,EAAAW,KAAAyK,cAAAnL,OAAA8L,EAAA9L,OAAAmL,iBACAW,EAAAjL,KAAAkL,KAAA,SAAAC,GAAA,OAAAA,EAAAvM,KAAAM,EAAAN,QAKAgB,gBAvDA,WAwDA,OAAA1B,KAAAwB,cAAAxB,KAAAuB,eAEAC,YA1DA,WA2DA,oBAAAxB,KAAAe,UAAA,YAAAf,KAAAe,UAAA,aAAAf,KAAAe,UAAA,YAAAf,KAAAe,UAEAQ,cA7DA,WA8DA,sBAAAvB,KAAAe,UAEAmM,kBAhEA,WAiEA,IAAA9F,EAAApH,KACA,gBAAAU,GACA,WAAA0G,EAAAlF,WAAAxB,GAAAuD,OAAA,SAAAjD,GAAA,OAAAA,EAAAuE,SAAApD,SAGAI,iBAtEA,WAuEA,IAAA6E,EAAApH,KACA,gBAAAU,GACA,OAAA0G,EAAA8F,kBAAAxM,GACAqC,EAAA,0BAEAA,EAAA,4BAIAyE,SACA7E,aADA,SACAjC,GACA,OAAAV,KAAAkN,kBAAAxM,GACAV,KAAAmN,cAAAzM,GAEAV,KAAAoN,aAAA1M,IAEA0M,aAPA,SAOA1M,GACA,IAAAoB,EAAA9B,KAAAkC,WAAAxB,GAAAwG,IAAA,SAAAlG,GAAA,OAAAA,EAAAN,KACAV,KAAAqH,OAAAM,SAAA,aAAAK,MAAAlG,EAAAiF,YACAiC,MAAA,SAAAhE,GAAAqI,QAAAC,IAAAtI,GAAAqB,GAAA4C,aAAAC,KAAAlE,MAEAmI,cAZA,SAYAzM,GACA,IAAAoB,EAAA9B,KAAAkC,WAAAxB,GAAAwG,IAAA,SAAAlG,GAAA,OAAAA,EAAAN,KACAV,KAAAqH,OAAAM,SAAA,cAAAK,MAAAlG,EAAAiF,YACAiC,MAAA,SAAAhE,GAAAqB,GAAA4C,aAAAC,KAAAlE,QC9KIuI,EAAY/G,OAAAC,EAAA,EAAAD,CACdyF,EACA5K,MAEF,EACA,KACA,KACA,MAuBAkM,EAAS7G,QAAAC,OAAA,6BACM,IAAA6G,EAAAD,oCCtCXE,QAAM,WACV,IAAA1N,EAAAC,KACAC,EAAAF,EAAAG,eACAC,EAAAJ,EAAAK,MAAAD,IAAAF,EACA,OAAAE,EACA,OACKuN,aAAeC,QAAA,QAAkBlN,OAAUC,GAAA,sBAEhDP,EACA,KAEAE,YAAA,mBACAI,OAAkBmN,KAAA,KAClBpL,IAAeC,MAAA1C,EAAA8N,kBAEf1N,EAAA,QAAqBE,YAAA,oBAAiCN,EAAAa,GAAA,aAEtDb,EAAAa,GAAA,KACAT,EAAA,MACAJ,EAAAiB,IAAAsC,QAEAvD,EAAAoB,KADAhB,EAAA,OAAuBE,YAAA,uBAEvBN,EAAAa,GAAA,KACAb,EAAAiB,IAAA8M,eAAA/N,EAAAiB,IAAAsC,QACAnD,EACA,OACeM,OAAS+C,MAAA,KAAAC,OAAA,KAAAC,QAAA,eAExBvD,EAAA,QACAA,EACA,UACqBM,OAASC,GAAAX,EAAA4D,YAE9BxD,EAAA,iBACAM,OACAmD,GAAA,gBACAvB,KAAA,SACAwB,OAAA,iDAIA,KAGA9D,EAAAa,GAAA,KACAT,EAAA,SACAE,YAAA,WACAI,OACAqD,EAAA,IACAC,EAAA,IACAP,MAAA,KACAC,OAAA,KACAO,oBAAA,gBACAC,OAAAlE,EAAAmE,UACAC,aAAApE,EAAAiB,IAAAsC,aAKAvD,EAAAoB,KACApB,EAAAa,GAAA,SAAAb,EAAAqC,GAAArC,EAAAiB,IAAAW,SAEA5B,EAAAa,GAAA,KACAb,EAAAiB,IAAAuC,WACApD,EAAA,OAAqBM,OAAS2D,IAAArE,EAAAiB,IAAAuC,WAAAC,MAAA,UAC9BzD,EAAAoB,KACApB,EAAAa,GAAA,KACA,MAAAb,EAAAiB,IAAAyD,OAAA1E,EAAAgO,UACA5N,EACA,OACaE,YAAA,cAEb,MAAAN,EAAAiB,IAAAyD,MACAtE,EACA,QAEAuE,aAEA/C,KAAA,UACAgD,QAAA,iBACArC,MAAAvC,EAAAgD,EACA,WACA,+HAEA6B,WACA,+IACAC,WAAsCC,MAAA,KAGtCzE,YAAA,4BAEAN,EAAAa,GAAA,WAAAb,EAAAqC,GAAArC,EAAAgD,EAAA,2BAEAhD,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAgO,UACA5N,EAAA,aACAM,OAA4BsE,MAAAhF,EAAAiB,IAAAuD,aAAAyJ,iBAE5BjO,EAAAoB,MAEA,GAEApB,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAkO,OACA9N,EACA,OACaE,YAAA,eAEbN,EAAAa,GAAA,SAAAb,EAAAqC,GAAArC,EAAAgD,EAAA,4BACAhD,EAAA8B,GAAA9B,EAAAkO,OAAA,SAAArD,EAAApC,GACA,OAAArI,EAAA,QACAyK,EAAA,gBAAAA,EAAA,wBACAzK,EACA,KACyBM,OAASmN,KAAAhD,EAAA,2BAClC7K,EAAAa,GAAAb,EAAAqC,GAAAwI,EAAA,cAEAA,EAAA,UACAzK,EAAA,QAAAJ,EAAAa,GAAAb,EAAAqC,GAAAwI,EAAA,cACAzK,EAAA,QAAAJ,EAAAa,GAAAb,EAAAqC,GAAAwI,MACApC,EAAA,EAAAzI,EAAAkO,OAAA9L,OACAhC,EAAA,QAAAJ,EAAAa,GAAA,QACAb,EAAAoB,UAIA,GAEApB,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAmO,QACA/N,EAAA,OAAqBE,YAAA,gBACrBN,EAAAa,GAAAb,EAAAqC,GAAArC,EAAAmO,YAEAnO,EAAAoB,KACApB,EAAAa,GAAA,KACAT,EAAA,OAAiBE,YAAA,YACjBF,EAAA,OAAmBE,YAAA,oBACnBN,EAAAiB,IAAAiE,OACA9E,EAAA,SACAE,YAAA,SACAI,OACA4B,KAAA,SACAC,MAAAvC,EAAAgD,EAAA,kCACAuB,QAAAvE,EAAAiB,IAAAiE,SAEAC,SAAAnF,EAAAoF,YAAApF,EAAAiD,QAAAjD,EAAAiB,IAAAN,OAGAX,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAiB,IAAAqE,aACAlF,EAAA,SACAE,YAAA,YACAI,OACA4B,KAAA,SACAC,MAAAvC,EAAAgD,EAAA,qBACAmC,SAAAnF,EAAAoF,YAAApF,EAAAiD,QAAAjD,EAAAiB,IAAAN,KAEA8B,IACAC,MAAA,SAAAC,GACA3C,EAAAuF,OAAAvF,EAAAiB,IAAAN,QAIAX,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAiB,IAAAuE,OACApF,EAAA,SACAE,YAAA,SACAI,OACA4B,KAAA,SACAC,MAAAvC,EAAAgD,EAAA,sBACAmC,SAAAnF,EAAAoF,YAAApF,EAAAiD,QAAAjD,EAAAiB,IAAAN,KAEA8B,IACAC,MAAA,SAAAC,GACA3C,EAAAyF,QAAAzF,EAAAiB,IAAAN,QAIAX,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAiB,IAAAuE,OA0BAxF,EAAAoB,KAzBAhB,EAAA,SACAuE,aAEA/C,KAAA,UACAgD,QAAA,iBACArC,MAAAvC,EAAA0F,oBACAb,WAAA,sBACAC,WAAgCC,MAAA,KAGhCzE,YAAA,SACAI,OACA4B,KAAA,SACAC,MAAAvC,EAAA2F,iBACAR,UACAnF,EAAAiB,IAAA2E,YACA5F,EAAAoF,YACApF,EAAAiD,QAAAjD,EAAAiB,IAAAN,KAEA8B,IACAC,MAAA,SAAAC,GACA3C,EAAA6F,OAAA7F,EAAAiB,IAAAN,UAMAX,EAAAa,GAAA,KACAT,EAAA,OAAmBE,YAAA,eACnBN,EAAAiB,IAAAuE,QAAAxF,EAAAkI,iBAAAlI,EAAAiB,KACAb,EACA,OACiBE,YAAA,kBAEjBF,EAAA,SACAuE,aAEA/C,KAAA,QACAgD,QAAA,UACArC,MAAAvC,EAAAiH,qBACApC,WAAA,yBAGAvE,YAAA,mCACAI,OACA4B,KAAA,WACA3B,GAAAX,EAAAwL,OAAA,gBAAAxL,EAAAiB,IAAAN,KAEAyN,UACA7L,MAAAvC,EAAAiB,IAAAN,GACA0N,QAAAC,MAAAC,QAAAvO,EAAAiH,sBACAjH,EAAAwO,GAAAxO,EAAAiH,qBAAAjH,EAAAiB,IAAAN,KAAA,EACAX,EAAAiH,sBAEAxE,IACAgM,QACA,SAAA9L,GACA,IAAA+L,EAAA1O,EAAAiH,qBACA0H,EAAAhM,EAAAiM,OACAC,IAAAF,EAAAN,QACA,GAAAC,MAAAC,QAAAG,GAAA,CACA,IAAAI,EAAA9O,EAAAiB,IAAAN,GACAoO,EAAA/O,EAAAwO,GAAAE,EAAAI,GACAH,EAAAN,QACAU,EAAA,IACA/O,EAAAiH,qBAAAyH,EAAApG,QAAAwG,KAEAC,GAAA,IACA/O,EAAAiH,qBAAAyH,EACAM,MAAA,EAAAD,GACAzG,OAAAoG,EAAAM,MAAAD,EAAA,UAGA/O,EAAAiH,qBAAA4H,GAGA7O,EAAAgI,kBAIAhI,EAAAa,GAAA,KACAT,EACA,SACqBM,OAASuO,IAAAjP,EAAAwL,OAAA,gBAAAxL,EAAAiB,IAAAN,OAC9BX,EAAAa,GAAAb,EAAAqC,GAAArC,EAAAgD,EAAA,kCAEAhD,EAAAa,GAAA,KACAT,EAAA,SACAE,YAAA,eACAI,OACA4B,KAAA,SACA4M,MAAAlP,EAAAgD,EAAA,kBACAT,MAAA,MAGAvC,EAAAa,GAAA,KACAb,EAAA+H,kBAAA/H,EAAAiB,KACAb,EACA,eAEAE,YAAA,kBACAI,OACAiG,QAAA3G,EAAAgH,OACAzE,MAAAvC,EAAAkH,UACAiI,gBAAA,EACAC,YAAApP,EAAAgD,EACA,WACA,6BAEAqM,MAAA,OACAC,WAAA,KACAC,UAAA,EACAC,mBAAA,GAEA/M,IACAgN,OAAAzP,EAAAqI,mBACA9C,OAAAvF,EAAAuI,sBACAmH,gBAAA1P,EAAA0H,kBAIAtH,EACA,QAC6BM,OAASiP,KAAA,YAAmBA,KAAA,aACzD3P,EAAAa,GAAAb,EAAAqC,GAAArC,EAAAgD,EAAA,+BAIAhD,EAAAoB,MAEA,GAEApB,EAAAoB,SAGApB,EAAAa,GAAA,KACAT,EAAA,KAAeE,YAAA,kBACfN,EAAAiB,IAAA2O,SAaA5P,EAAAoB,KAZAhB,EACA,KAEAE,YAAA,WACAI,OACAmN,KAAA7N,EAAA6P,YACAjB,OAAA,SACAkB,IAAA,yBAGA9P,EAAAa,GAAAb,EAAAqC,GAAArC,EAAAgD,EAAA,qCAGAhD,EAAAa,GAAA,KACAb,EAAAiB,IAAA8O,QACA3P,EACA,KAEAE,YAAA,WACAI,OACAmN,KAAA7N,EAAAiB,IAAA8O,QACAnB,OAAA,SACAkB,IAAA,yBAGA9P,EAAAa,GAAAb,EAAAqC,GAAArC,EAAAgD,EAAA,qCAEAhD,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAiB,IAAA+O,KACA5P,EACA,KAEAE,YAAA,WACAI,OACAmN,KAAA7N,EAAAiB,IAAA+O,KACApB,OAAA,SACAkB,IAAA,yBAGA9P,EAAAa,GAAAb,EAAAqC,GAAArC,EAAAgD,EAAA,oCAEAhD,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAiB,IAAAgP,eAAAjQ,EAAAiB,IAAAgP,cAAAC,KACA9P,EACA,KAEAE,YAAA,WACAI,OACAmN,KAAA7N,EAAAiB,IAAAgP,cAAAC,KACAtB,OAAA,SACAkB,IAAA,yBAGA9P,EAAAa,GAAAb,EAAAqC,GAAArC,EAAAgD,EAAA,0CAEAhD,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAiB,IAAAgP,eAAAjQ,EAAAiB,IAAAgP,cAAAE,MACA/P,EACA,KAEAE,YAAA,WACAI,OACAmN,KAAA7N,EAAAiB,IAAAgP,cAAAE,MACAvB,OAAA,SACAkB,IAAA,yBAGA9P,EAAAa,GAAAb,EAAAqC,GAAArC,EAAAgD,EAAA,2CAEAhD,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAiB,IAAAgP,eAAAjQ,EAAAiB,IAAAgP,cAAAG,UACAhQ,EACA,KAEAE,YAAA,WACAI,OACAmN,KAAA7N,EAAAiB,IAAAgP,cAAAG,UACAxB,OAAA,SACAkB,IAAA,yBAIA9P,EAAAa,GACAb,EAAAqC,GAAArC,EAAAgD,EAAA,+CAIAhD,EAAAoB,OAEApB,EAAAa,GAAA,KACAT,EAAA,MAAgBE,YAAA,qBAChBN,EAAAiB,IAAAoP,0BACAjQ,EAAA,MACAJ,EAAAa,GACAb,EAAAqC,GACArC,EAAAgD,EACA,WACA,gGAKAhD,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAiB,IAAAqP,0BACAlQ,EAAA,MACAJ,EAAAa,GACAb,EAAAqC,GACArC,EAAAgD,EACA,WACA,gGAKAhD,EAAAoB,KACApB,EAAAa,GAAA,KACAb,EAAAiB,IAAA2E,WAoBA5F,EAAAoB,KAnBAhB,EAAA,MACAJ,EAAAa,GACA,WACAb,EAAAqC,GACArC,EAAAgD,EACA,WACA,uFAGA,YAEA5C,EACA,MACiBE,YAAA,wBACjBN,EAAA8B,GAAA9B,EAAAiB,IAAAsP,oBAAA,SAAAC,GACA,OAAApQ,EAAA,MAAAJ,EAAAa,GAAAb,EAAAqC,GAAAmO,aAMAxQ,EAAAa,GAAA,KACAT,EAAA,OACAE,YAAA,kBACA8N,UAAmBqC,UAAAzQ,EAAAqC,GAAArC,EAAA0Q,uBAMnBhD,EAAMrM,eAAA,ECrXN,ICvG0LsP,GDwG1LtG,QAAAb,EAAAyC,EAAA9B,GACAvI,KAAA,aACAqE,OAAA,kBACAyE,YACAC,YAAAC,EAAAC,EACAC,SAAAjE,GAEAkD,KARA,WASA,OACA9C,sBAAA,IAGAF,QAbA,WAcA9G,KAAAgB,IAAA+F,OAAA5E,OAAA,IACAnC,KAAAgH,sBAAA,IAGAQ,SACAqG,eADA,WAEA7N,KAAAqL,QAAAC,MACA3J,KAAA,gBACAqJ,QAAAjK,SAAAf,KAAAe,cAIAkF,UACA2J,YADA,WAEA,yCAAAvH,OAAArI,KAAAgB,IAAAN,KAEAwN,QAJA,WAKA,OAAAlO,KAAAgB,IAAAkN,QACAnL,EAAA,iCAAA4N,SAAA,GAAA3Q,KAAAgB,IAAAkN,SAAA0C,gBAEA,MAEA7C,UAVA,WAWA,OAAA/N,KAAAgB,IAAAuD,cAAAvE,KAAAgB,IAAAuD,aAAAsM,iBAAA,GAEA5C,OAbA,WAcA,uBAAAjO,KAAAgB,IAAAiN,SAGA6C,SAAA9Q,KAAAgB,IAAAiN,SAIAjO,KAAAgB,IAAAiN,OAAA,WACAjO,KAAAgB,IAAAiN,QAEAjO,KAAAgB,IAAAiN,QAEAhH,UA1BA,WA2BA,OAAAjH,KAAAgB,IAAA+F,OAAAG,IAAA,SAAAC,GAAA,OAAAzG,GAAAyG,EAAAxF,KAAAwF,MAEAJ,OA7BA,WA8BA,OAAA/G,KAAAqH,OAAAC,QAAAyJ,UACA9M,OAAA,SAAAkD,GAAA,mBAAAA,EAAAzG,KACA2L,KAAA,SAAAzB,EAAA0B,GAAA,OAAA1B,EAAAjJ,KAAAqP,cAAA1E,EAAA3K,SAEA8O,eAlCA,WAoCA,IAAAQ,EAAA,IAAAC,OAAAC,OAAAC,SA8BA,OA7BAH,EAAAI,KAAA,SAAAzD,EAAAqB,EAAAqC,GACA,IACA,IAAAC,EAAAC,mBAAAC,SAAA7D,IACA8D,QAAA,cACAtF,cACA,MAAAuF,GACA,SAGA,OAAAJ,EAAA9I,QAAA,cAAA8I,EAAA9I,QAAA,UACA,SAGA,IAAAmJ,EAAA,YAAAhE,EAAA,8BAKA,OAJAqB,IACA2C,GAAA,WAAA3C,EAAA,KAEA2C,GAAA,IAAAN,EAAA,QAGAL,EAAAY,MAAA,SAAAjE,EAAAqB,EAAAqC,GACA,OAAAA,GAGArC,GAEAgC,EAAAa,WAAA,SAAAC,GACA,OAAAA,GAEAC,UAAAC,SACAf,OAAAC,OAAAnR,KAAAgB,IAAAkR,YAAAC,QACAlB,WACAmB,KAAA,EACAC,WAAA,EACAC,QAAA,EACAC,QAAA,EACAC,UAAA,EACAP,UAAA,EACAQ,YAAA,EACAC,aAAA,KAGAC,iBAAA,EACAC,cACA,SACA,IACA,IACA,KACA,KACA,KACA,KACA,MACA,mBEnNIC,EAAYrM,OAAAC,EAAA,EAAAD,CACdkK,EACAjD,MAEF,EACA,KACA,KACA,MAuBAoF,EAASnM,QAAAC,OAAA,gCACM,IAAAmM,EAAAD,UCMfE,EAAA,QAAAC,IAAAC,EAAArI,GAEA,IC9CoLsI,GD+CpLvR,KAAA,OACAqE,OACAjF,UACAsB,KAAA8Q,OACA7I,QAAA,aAEA5J,IACA2B,KAAA8Q,OACA7I,QAAA,KAGAG,YACA2I,WAAAN,EACAO,cAAAC,EAAA,cACA9F,WAEAhG,SACA+L,UADA,SACA7L,GACA1H,KAAAkB,YAAAwG,GAEA8L,YAJA,WAKAxT,KAAAuT,UAAA,MAGAE,YAzBA,WA0BAzT,KAAAqH,OAAAM,SAAA,iBACA3H,KAAAqH,OAAAM,SAAA,cACA3H,KAAAqH,OAAAM,SAAA,aAAAE,OAAA,EAAAD,MAAA,IACA5H,KAAAqH,OAAAqM,OAAA,iBAAA1T,KAAAqH,OAAAC,QAAAuF,cAAA8G,cAEA7M,QA/BA,WAmCA9G,KAAA4T,UAAA,IAAAC,IAAAC,OAAA9T,KAAAuT,UAAAvT,KAAAwT,cAEA1J,KArCA,WAsCA,OACA5I,YAAA,KAGAqJ,OACAxJ,SAAA,SAAAgT,EAAAC,GACAhU,KAAAuT,UAAA,MAGAtN,UACAjD,QADA,WAEA,OAAAhD,KAAAqH,OAAAC,QAAAtE,QAAA,eAEAlC,YAJA,WAKA,OAAAd,KAAAqH,OAAAC,QAAAtE,QAAA,SAEAxC,WAPA,WAOA,IAAA0L,EAAAlM,KACA,OAAAA,KAAA8B,KAAAkL,KAAA,SAAAhM,GAAA,OAAAA,EAAAN,KAAAwL,EAAAxL,MAEAuT,WAVA,WAWA,OAAAjU,KAAAqH,OAAAC,QAAA4M,eAEApS,KAbA,WAcA,OAAA9B,KAAAqH,OAAAC,QAAA6E,YAEAwH,YAhBA,WAiBA,OAAA3T,KAAAqH,OAAAC,QAAA6M,gBAEAC,SAnBA,WAoBA,OAAApU,KAAAqH,OAAAC,QAAAuF,eAIAlM,KAxBA,WAwBA,IAAAoM,EAAA/M,KAEAiU,EAAAjU,KAAAqH,OAAAC,QAAA4M,cAIAD,GAHAA,EAAA5F,MAAAC,QAAA2F,SAGA/M,IAAA,SAAAnG,GACA,IAAAsT,KAUA,OATAA,EAAA3T,GAAA,gBAAAK,EAAAuT,MACAD,EAAAE,KAAA,iBAAAxT,EAAAuT,MACAD,EAAAG,WACAH,EAAAI,QACA9S,KAAA,gBACAqJ,QAAAjK,WAAAuT,QAEAD,EAAA/C,KAAAvQ,EAAA2T,YAEAL,IAKA,IAAAM,IAEAjU,GAAA,yBACA8T,WACAC,QAAA9S,KAAA,QACA4S,KAAA,0BACAjD,KAAAvO,EAAA,0BAGArC,GAAA,uBACA8T,WACAD,KAAA,wBACAE,QAAA9S,KAAA,gBAAAqJ,QAAAjK,SAAA,YACAuQ,KAAAvO,EAAA,4BAEArC,GAAA,wBACA8T,WACAD,KAAA,yBACAE,QAAA9S,KAAA,gBAAAqJ,QAAAjK,SAAA,aACAuQ,KAAAvO,EAAA,8BAIA,IAAA/C,KAAAoU,SAAAQ,gBACA,OACAlU,GAAA,iBACAmU,MAAAF,GAIA3U,KAAAqH,OAAAC,QAAA6M,eAAA,GACAQ,EAAArJ,MACA5K,GAAA,uBACA8T,WACAD,KAAA,gBACAE,QAAA9S,KAAA,gBAAAqJ,QAAAjK,SAAA,YACAuQ,KAAAvO,EAAA,sBACA+R,OAAAC,QAAA/U,KAAAqH,OAAAC,QAAA6M,kBAIAQ,EAAArJ,MACA5K,GAAA,2BACA8T,WACAD,KAAA,4BACAE,QAAA9S,KAAA,gBAAAqJ,QAAAjK,SAAA,gBACAuQ,KAAAvO,EAAA,4BAMA,IAAAiS,GAHAf,EAAAU,EAAAtM,OAAA4L,IAGAgB,UAAA,SAAA9N,GAAA,OAAAA,EAAAzG,KAAA,gBAAAqM,EAAAhM,WAeA,OAdAiU,GAAA,EACAf,EAAAe,GAAAR,QAAAlJ,KAAA,UAEA2I,EAAA,GAAAO,QAAAlJ,KAAA,UAGA2I,EAAA3I,MACA5K,GAAA,qBACA8T,WACA5G,KAAA5N,KAAAoU,SAAAc,uBACA5D,KAAAvO,EAAA,8CAKArC,GAAA,iBACAmU,MAAAZ,EACAjR,QAAAhD,KAAAgD,YE1MImS,EAAY3O,OAAAC,EAAA,EAAAD,CACd0M,EACApT,MAEF,EACA,KACA,KACA,MAuBAqV,EAASzO,QAAAC,OAAA,qBACMyO,EAAA,QAAAD","file":"3.settings-vue.js","sourcesContent":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"app-settings\",\n class: { \"with-app-sidebar\": _vm.currentApp },\n attrs: { id: \"content\" }\n },\n [\n _c(\"app-navigation\", { attrs: { menu: _vm.menu } }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"app-settings-content\",\n class: { \"icon-loading\": _vm.loadingList },\n attrs: { id: \"app-content\" }\n },\n [\n _c(\"app-list\", {\n attrs: {\n category: _vm.category,\n app: _vm.currentApp,\n search: _vm.searchQuery\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.id && _vm.currentApp\n ? _c(\n \"div\",\n { attrs: { id: \"app-sidebar\" } },\n [\n _c(\"app-details\", {\n attrs: { category: _vm.category, app: _vm.currentApp }\n })\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"app-content-inner\" } }, [\n _c(\n \"div\",\n {\n staticClass: \"apps-list\",\n class: {\n installed: _vm.useBundleView || _vm.useListView,\n store: _vm.useAppStoreView\n },\n attrs: { id: \"apps-list\" }\n },\n [\n _vm.useListView\n ? [\n _c(\n \"transition-group\",\n {\n staticClass: \"apps-list-container\",\n attrs: { name: \"app-list\", tag: \"div\" }\n },\n _vm._l(_vm.apps, function(app) {\n return _c(\"app-item\", {\n key: app.id,\n attrs: { app: app, category: _vm.category }\n })\n })\n )\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(_vm.bundles, function(bundle) {\n return _vm.useBundleView && _vm.bundleApps(bundle.id).length > 0\n ? [\n _c(\n \"transition-group\",\n {\n staticClass: \"apps-list-container\",\n attrs: { name: \"app-list\", tag: \"div\" }\n },\n [\n _c(\"div\", { key: bundle.id, staticClass: \"apps-header\" }, [\n _c(\"div\", { staticClass: \"app-image\" }),\n _vm._v(\" \"),\n _c(\"h2\", [\n _vm._v(_vm._s(bundle.name) + \" \"),\n _c(\"input\", {\n attrs: {\n type: \"button\",\n value: _vm.bundleToggleText(bundle.id)\n },\n on: {\n click: function($event) {\n _vm.toggleBundle(bundle.id)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-version\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-level\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-groups\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"actions\" }, [_vm._v(\" \")])\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.bundleApps(bundle.id), function(app) {\n return _c(\"app-item\", {\n key: bundle.id + app.id,\n attrs: { app: app, category: _vm.category }\n })\n })\n ],\n 2\n )\n ]\n : _vm._e()\n }),\n _vm._v(\" \"),\n _vm.useAppStoreView\n ? _vm._l(_vm.apps, function(app) {\n return _c(\"app-item\", {\n key: app.id,\n attrs: { app: app, category: _vm.category, \"list-view\": false }\n })\n })\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"apps-list installed\", attrs: { id: \"apps-list-search\" } },\n [\n _c(\n \"div\",\n { staticClass: \"apps-list-container\" },\n [\n _vm.search !== \"\" && _vm.searchApps.length > 0\n ? [\n _c(\"div\", { staticClass: \"section\" }, [\n _c(\"div\"),\n _vm._v(\" \"),\n _c(\"td\", { attrs: { colspan: \"5\" } }, [\n _c(\"h2\", [\n _vm._v(\n _vm._s(\n _vm.t(\"settings\", \"Results from other categories\")\n )\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.searchApps, function(app) {\n return _c(\"app-item\", {\n key: app.id,\n attrs: {\n app: app,\n category: _vm.category,\n \"list-view\": true\n }\n })\n })\n ]\n : _vm._e()\n ],\n 2\n )\n ]\n ),\n _vm._v(\" \"),\n !_vm.loading && _vm.searchApps.length === 0 && _vm.apps.length === 0\n ? _c(\n \"div\",\n {\n staticClass: \"emptycontent emptycontent-search\",\n attrs: { id: \"apps-list-empty\" }\n },\n [\n _c(\"div\", {\n staticClass: \"icon-settings-dark\",\n attrs: { id: \"app-list-empty-icon\" }\n }),\n _vm._v(\" \"),\n _c(\"h2\", [\n _vm._v(\n _vm._s(_vm.t(\"settings\", \"No apps found for your version\"))\n )\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"searchresults\" } })\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"section\",\n class: { selected: _vm.isSelected },\n on: { click: _vm.showAppDetails }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"app-image app-image-icon\",\n on: { click: _vm.showAppDetails }\n },\n [\n (_vm.listView && !_vm.app.preview) ||\n (!_vm.listView && !_vm.app.screenshot)\n ? _c(\"div\", { staticClass: \"icon-settings-dark\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.listView && _vm.app.preview\n ? _c(\n \"svg\",\n { attrs: { width: \"32\", height: \"32\", viewBox: \"0 0 32 32\" } },\n [\n _c(\"defs\", [\n _c(\n \"filter\",\n { attrs: { id: _vm.filterId } },\n [\n _c(\"feColorMatrix\", {\n attrs: {\n in: \"SourceGraphic\",\n type: \"matrix\",\n values: \"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"image\", {\n staticClass: \"app-icon\",\n attrs: {\n x: \"0\",\n y: \"0\",\n width: \"32\",\n height: \"32\",\n preserveAspectRatio: \"xMinYMin meet\",\n filter: _vm.filterUrl,\n \"xlink:href\": _vm.app.preview\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.listView && _vm.app.screenshot\n ? _c(\"img\", { attrs: { src: _vm.app.screenshot, width: \"100%\" } })\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"app-name\", on: { click: _vm.showAppDetails } },\n [_vm._v(\"\\n\\t\\t\" + _vm._s(_vm.app.name) + \"\\n\\t\")]\n ),\n _vm._v(\" \"),\n !_vm.listView\n ? _c(\"div\", { staticClass: \"app-summary\" }, [\n _vm._v(_vm._s(_vm.app.summary))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.listView\n ? _c(\"div\", { staticClass: \"app-version\" }, [\n _vm.app.version\n ? _c(\"span\", [_vm._v(_vm._s(_vm.app.version))])\n : _vm.app.appstoreData.releases[0].version\n ? _c(\"span\", [\n _vm._v(_vm._s(_vm.app.appstoreData.releases[0].version))\n ])\n : _vm._e()\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"app-level\" },\n [\n _vm.app.level === 200\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.t(\n \"settings\",\n \"Official apps are developed by and within the community. They offer central functionality and are ready for production use.\"\n ),\n expression:\n \"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"official icon-checkmark\"\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Official\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.listView\n ? _c(\"app-score\", { attrs: { score: _vm.app.score } })\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"actions\" }, [\n _vm.app.error\n ? _c(\"div\", { staticClass: \"warning\" }, [\n _vm._v(_vm._s(_vm.app.error))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.loading(_vm.app.id)\n ? _c(\"div\", { staticClass: \"icon icon-loading-small\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.update\n ? _c(\"input\", {\n staticClass: \"update\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Update to {update}\", {\n update: _vm.app.update\n }),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n $event.stopPropagation()\n _vm.update(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.canUnInstall\n ? _c(\"input\", {\n staticClass: \"uninstall\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Remove\"),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n $event.stopPropagation()\n _vm.remove(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.active\n ? _c(\"input\", {\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Disable\"),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n $event.stopPropagation()\n _vm.disable(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.active\n ? _c(\"input\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.enableButtonTooltip,\n expression: \"enableButtonTooltip\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.enableButtonText,\n disabled:\n !_vm.app.canInstall ||\n _vm.installing ||\n _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n $event.stopPropagation()\n _vm.enable(_vm.app.id)\n }\n }\n })\n : _vm._e()\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"img\", {\n staticClass: \"app-score-image\",\n attrs: { src: _vm.scoreImage }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appScore.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appScore.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./appScore.vue?vue&type=template&id=71d71231&\"\nimport script from \"./appScore.vue?vue&type=script&lang=js&\"\nexport * from \"./appScore.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('71d71231', component.options)\n } else {\n api.reload('71d71231', component.options)\n }\n module.hot.accept(\"./appScore.vue?vue&type=template&id=71d71231&\", function () {\n api.rerender('71d71231', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appList/appScore.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appManagement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appManagement.vue?vue&type=script&lang=js&\"","\n\n\n","var render, staticRenderFns\nimport script from \"./appManagement.vue?vue&type=script&lang=js&\"\nexport * from \"./appManagement.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('1ae84938', component.options)\n } else {\n api.reload('1ae84938', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/appManagement.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./svgFilterMixin.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./svgFilterMixin.vue?vue&type=script&lang=js&\"","\n\n","var render, staticRenderFns\nimport script from \"./svgFilterMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./svgFilterMixin.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('66ac5316', component.options)\n } else {\n api.reload('66ac5316', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/svgFilterMixin.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appItem.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./appItem.vue?vue&type=template&id=1c68d544&\"\nimport script from \"./appItem.vue?vue&type=script&lang=js&\"\nexport * from \"./appItem.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('1c68d544', component.options)\n } else {\n api.reload('1c68d544', component.options)\n }\n module.hot.accept(\"./appItem.vue?vue&type=template&id=1c68d544&\", function () {\n api.rerender('1c68d544', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appList/appItem.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prefixMixin.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prefixMixin.vue?vue&type=script&lang=js&\"","\n\n","var render, staticRenderFns\nimport script from \"./prefixMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./prefixMixin.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('eb3bc8a2', component.options)\n } else {\n api.reload('eb3bc8a2', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/prefixMixin.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appList.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./appList.vue?vue&type=template&id=a1862e02&\"\nimport script from \"./appList.vue?vue&type=script&lang=js&\"\nexport * from \"./appList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('a1862e02', component.options)\n } else {\n api.reload('a1862e02', component.options)\n }\n module.hot.accept(\"./appList.vue?vue&type=template&id=a1862e02&\", function () {\n api.rerender('a1862e02', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appList.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { padding: \"20px\" }, attrs: { id: \"app-details-view\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"close icon-close\",\n attrs: { href: \"#\" },\n on: { click: _vm.hideAppDetails }\n },\n [_c(\"span\", { staticClass: \"hidden-visually\" }, [_vm._v(\"Close\")])]\n ),\n _vm._v(\" \"),\n _c(\"h2\", [\n !_vm.app.preview\n ? _c(\"div\", { staticClass: \"icon-settings-dark\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.previewAsIcon && _vm.app.preview\n ? _c(\n \"svg\",\n { attrs: { width: \"32\", height: \"32\", viewBox: \"0 0 32 32\" } },\n [\n _c(\"defs\", [\n _c(\n \"filter\",\n { attrs: { id: _vm.filterId } },\n [\n _c(\"feColorMatrix\", {\n attrs: {\n in: \"SourceGraphic\",\n type: \"matrix\",\n values: \"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"image\", {\n staticClass: \"app-icon\",\n attrs: {\n x: \"0\",\n y: \"0\",\n width: \"32\",\n height: \"32\",\n preserveAspectRatio: \"xMinYMin meet\",\n filter: _vm.filterUrl,\n \"xlink:href\": _vm.app.preview\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.app.name))\n ]),\n _vm._v(\" \"),\n _vm.app.screenshot\n ? _c(\"img\", { attrs: { src: _vm.app.screenshot, width: \"100%\" } })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.level === 200 || _vm.hasRating\n ? _c(\n \"div\",\n { staticClass: \"app-level\" },\n [\n _vm.app.level === 200\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.t(\n \"settings\",\n \"Official apps are developed by and within the community. They offer central functionality and are ready for production use.\"\n ),\n expression:\n \"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"official icon-checkmark\"\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Official\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.hasRating\n ? _c(\"app-score\", {\n attrs: { score: _vm.app.appstoreData.ratingOverall }\n })\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.author\n ? _c(\n \"div\",\n { staticClass: \"app-author\" },\n [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.t(\"settings\", \"by\")) + \"\\n\\t\\t\"),\n _vm._l(_vm.author, function(a, index) {\n return _c(\"span\", [\n a[\"@attributes\"] && a[\"@attributes\"][\"homepage\"]\n ? _c(\n \"a\",\n { attrs: { href: a[\"@attributes\"][\"homepage\"] } },\n [_vm._v(_vm._s(a[\"@value\"]))]\n )\n : a[\"@value\"]\n ? _c(\"span\", [_vm._v(_vm._s(a[\"@value\"]))])\n : _c(\"span\", [_vm._v(_vm._s(a))]),\n index + 1 < _vm.author.length\n ? _c(\"span\", [_vm._v(\", \")])\n : _vm._e()\n ])\n })\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.licence\n ? _c(\"div\", { staticClass: \"app-licence\" }, [\n _vm._v(_vm._s(_vm.licence))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"actions\" }, [\n _c(\"div\", { staticClass: \"actions-buttons\" }, [\n _vm.app.update\n ? _c(\"input\", {\n staticClass: \"update\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Update to {version}\", {\n version: _vm.app.update\n }),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.canUnInstall\n ? _c(\"input\", {\n staticClass: \"uninstall\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Remove\"),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.remove(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.active\n ? _c(\"input\", {\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Disable\"),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.disable(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.active\n ? _c(\"input\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.enableButtonTooltip,\n expression: \"enableButtonTooltip\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.enableButtonText,\n disabled:\n !_vm.app.canInstall ||\n _vm.installing ||\n _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.enable(_vm.app.id)\n }\n }\n })\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-groups\" }, [\n _vm.app.active && _vm.canLimitToGroups(_vm.app)\n ? _c(\n \"div\",\n { staticClass: \"groups-enable\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.groupCheckedAppsData,\n expression: \"groupCheckedAppsData\"\n }\n ],\n staticClass: \"groups-enable__checkbox checkbox\",\n attrs: {\n type: \"checkbox\",\n id: _vm.prefix(\"groups_enable\", _vm.app.id)\n },\n domProps: {\n value: _vm.app.id,\n checked: Array.isArray(_vm.groupCheckedAppsData)\n ? _vm._i(_vm.groupCheckedAppsData, _vm.app.id) > -1\n : _vm.groupCheckedAppsData\n },\n on: {\n change: [\n function($event) {\n var $$a = _vm.groupCheckedAppsData,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = _vm.app.id,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.groupCheckedAppsData = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.groupCheckedAppsData = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.groupCheckedAppsData = $$c\n }\n },\n _vm.setGroupLimit\n ]\n }\n }),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: _vm.prefix(\"groups_enable\", _vm.app.id) } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Limit to groups\")))]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"group_select\",\n attrs: {\n type: \"hidden\",\n title: _vm.t(\"settings\", \"All\"),\n value: \"\"\n }\n }),\n _vm._v(\" \"),\n _vm.isLimitedToGroups(_vm.app)\n ? _c(\n \"multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.groups,\n value: _vm.appGroups,\n \"options-limit\": 5,\n placeholder: _vm.t(\n \"settings\",\n \"Limit app usage to groups\"\n ),\n label: \"name\",\n \"track-by\": \"id\",\n multiple: true,\n \"close-on-select\": false\n },\n on: {\n select: _vm.addGroupLimitation,\n remove: _vm.removeGroupLimitation,\n \"search-change\": _vm.asyncFindGroup\n }\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n )\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : _vm._e()\n ])\n ]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"documentation\" }, [\n !_vm.app.internal\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.appstoreUrl,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"View in store\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.website\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.website,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Visit website\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.bugs\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.bugs,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Report a bug\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.user\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.user,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"User documentation\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.admin\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.admin,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Admin documentation\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.developer\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.developer,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [\n _vm._v(\n _vm._s(_vm.t(\"settings\", \"Developer documentation\")) + \" ↗\"\n )\n ]\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"app-dependencies\" }, [\n _vm.app.missingMinOwnCloudVersion\n ? _c(\"li\", [\n _vm._v(\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app has no minimum Nextcloud version assigned. This will be an error in the future.\"\n )\n )\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.missingMaxOwnCloudVersion\n ? _c(\"li\", [\n _vm._v(\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app has no maximum Nextcloud version assigned. This will be an error in the future.\"\n )\n )\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.canInstall\n ? _c(\"li\", [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app cannot be installed because the following dependencies are not fulfilled:\"\n )\n ) +\n \"\\n\\t\\t\\t\"\n ),\n _c(\n \"ul\",\n { staticClass: \"missing-dependencies\" },\n _vm._l(_vm.app.missingDependencies, function(dep) {\n return _c(\"li\", [_vm._v(_vm._s(dep))])\n })\n )\n ])\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", {\n staticClass: \"app-description\",\n domProps: { innerHTML: _vm._s(_vm.renderMarkdown) }\n })\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./appDetails.vue?vue&type=template&id=273c8e71&\"\nimport script from \"./appDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./appDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('273c8e71', component.options)\n } else {\n api.reload('273c8e71', component.options)\n }\n module.hot.accept(\"./appDetails.vue?vue&type=template&id=273c8e71&\", function () {\n api.rerender('273c8e71', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appDetails.vue\"\nexport default component.exports","\n\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Apps.vue?vue&type=template&id=33a216a8&\"\nimport script from \"./Apps.vue?vue&type=script&lang=js&\"\nexport * from \"./Apps.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('33a216a8', component.options)\n } else {\n api.reload('33a216a8', component.options)\n }\n module.hot.accept(\"./Apps.vue?vue&type=template&id=33a216a8&\", function () {\n api.rerender('33a216a8', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/views/Apps.vue\"\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file diff --git a/settings/js/4.settings-vue.js b/settings/js/4.settings-vue.js new file mode 100644 index 0000000000..588ac366ec --- /dev/null +++ b/settings/js/4.settings-vue.js @@ -0,0 +1,33 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{314:function(e,t){function n(e){return"function"==typeof e.value||(console.warn("[Vue-click-outside:] provided expression",e.expression,"is not a function."),!1)}function i(e){return void 0!==e.componentInstance&&e.componentInstance.$isServer}e.exports={bind:function(e,t,o){function r(t){if(o.context){var n=t.path||t.composedPath&&t.composedPath();n&&n.length>0&&n.unshift(t.target),e.contains(t.target)||function(e,t){if(!e||!t)return!1;for(var n=0,i=t.length;n=0){o=1;break}var a=n&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},o))}};function s(e){return e&&"[object Function]"==={}.toString.call(e)}function l(e,t){if(1!==e.nodeType)return[];var n=getComputedStyle(e,null);return t?n[t]:n}function c(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function d(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=l(e),n=t.overflow,i=t.overflowX,o=t.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?e:d(c(e))}var u=n&&!(!window.MSInputMethodContext||!document.documentMode),p=n&&/MSIE 10/.test(navigator.userAgent);function f(e){return 11===e?u:10===e?p:u||p}function h(e){if(!e)return document.documentElement;for(var t=f(10)?document.body:null,n=e.offsetParent;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TD","TABLE"].indexOf(n.nodeName)&&"static"===l(n,"position")?h(n):n:e?e.ownerDocument.documentElement:document.documentElement}function v(e){return null!==e.parentNode?v(e.parentNode):e}function m(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?e:t,o=n?t:e,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var a=r.commonAncestorContainer;if(e!==a&&t!==a||i.contains(o))return function(e){var t=e.nodeName;return"BODY"!==t&&("HTML"===t||h(e.firstElementChild)===e)}(a)?a:h(a);var s=v(e);return s.host?m(s.host,t):m(e,v(t).host)}function g(e){var t="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=e.nodeName;if("BODY"===n||"HTML"===n){var i=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||i)[t]}return e[t]}function b(e,t){var n="x"===t?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"],10)+parseFloat(e["border"+i+"Width"],10)}function y(e,t,n,i){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],f(10)?n["offset"+e]+i["margin"+("Height"===e?"Top":"Left")]+i["margin"+("Height"===e?"Bottom":"Right")]:0)}function _(){var e=document.body,t=document.documentElement,n=f(10)&&getComputedStyle(t);return{height:y("Height",e,t,n),width:y("Width",e,t,n)}}var w=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},x=function(){function e(e,t){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],i=f(10),o="HTML"===t.nodeName,r=k(e),a=k(t),s=d(e),c=l(t),u=parseFloat(c.borderTopWidth,10),p=parseFloat(c.borderLeftWidth,10);n&&"HTML"===t.nodeName&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var h=C({top:r.top-a.top-u,left:r.left-a.left-p,width:r.width,height:r.height});if(h.marginTop=0,h.marginLeft=0,!i&&o){var v=parseFloat(c.marginTop,10),m=parseFloat(c.marginLeft,10);h.top-=u-v,h.bottom-=u-v,h.left-=p-m,h.right-=p-m,h.marginTop=v,h.marginLeft=m}return(i&&!n?t.contains(s):t===s&&"BODY"!==s.nodeName)&&(h=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=g(t,"top"),o=g(t,"left"),r=n?-1:1;return e.top+=i*r,e.bottom+=i*r,e.left+=o*r,e.right+=o*r,e}(h,t)),h}function $(e){if(!e||!e.parentElement||f())return document.documentElement;for(var t=e.parentElement;t&&"none"===l(t,"transform");)t=t.parentElement;return t||document.documentElement}function L(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},a=o?$(e):m(e,t);if("viewport"===i)r=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.ownerDocument.documentElement,i=T(e,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),a=t?0:g(n),s=t?0:g(n,"left");return C({top:a-i.top+i.marginTop,left:s-i.left+i.marginLeft,width:o,height:r})}(a,o);else{var s=void 0;"scrollParent"===i?"BODY"===(s=d(c(t))).nodeName&&(s=e.ownerDocument.documentElement):s="window"===i?e.ownerDocument.documentElement:i;var u=T(s,a,o);if("HTML"!==s.nodeName||function e(t){var n=t.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===l(t,"position")||e(c(t)))}(a))r=u;else{var p=_(),f=p.height,h=p.width;r.top+=u.top-u.marginTop,r.bottom=f+u.top,r.left+=u.left-u.marginLeft,r.right=h+u.left}}return r.left+=n,r.top+=n,r.right-=n,r.bottom-=n,r}function N(e,t,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var a=L(n,i,r,o),s={top:{width:a.width,height:t.top-a.top},right:{width:a.right-t.right,height:a.height},bottom:{width:a.width,height:a.bottom-t.bottom},left:{width:t.left-a.left,height:a.height}},l=Object.keys(s).map(function(e){return E({key:e},s[e],{area:function(e){return e.width*e.height}(s[e])})}).sort(function(e,t){return t.area-e.area}),c=l.filter(function(e){var t=e.width,i=e.height;return t>=n.clientWidth&&i>=n.clientHeight}),d=c.length>0?c[0].key:l[0].key,u=e.split("-")[1];return d+(u?"-"+u:"")}function S(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return T(n,i?$(t):m(t,n),i)}function I(e){var t=getComputedStyle(e),n=parseFloat(t.marginTop)+parseFloat(t.marginBottom),i=parseFloat(t.marginLeft)+parseFloat(t.marginRight);return{width:e.offsetWidth+i,height:e.offsetHeight+n}}function j(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function A(e,t,n){n=n.split("-")[0];var i=I(e),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),a=r?"top":"left",s=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[a]=t[a]+t[l]/2-i[l]/2,o[s]=n===s?t[s]-i[c]:t[j(s)],o}function P(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function D(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var i=P(e,function(e){return e[t]===n});return e.indexOf(i)}(e,"name",n))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=e.function||e.fn;e.enabled&&s(n)&&(t.offsets.popper=C(t.offsets.popper),t.offsets.reference=C(t.offsets.reference),t=n(t,e))}),t}function H(e,t){return e.some(function(e){var n=e.name;return e.enabled&&n===t})}function M(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),i=0;i1&&void 0!==arguments[1]&&arguments[1],n=Y.indexOf(e),i=Y.slice(n+1).concat(Y.slice(0,n));return t?i.reverse():i}var G={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function X(e,t,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),a=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=a.indexOf(P(a,function(e){return-1!==e.search(/,|\s/)}));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==s?[a.slice(0,s).concat([a[s].split(l)[0]]),[a[s].split(l)[1]].concat(a.slice(s+1))]:[a];return(c=c.map(function(e,i){var o=(1===i?!r:r)?"height":"width",a=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,a=!0,e):a?(e[e.length-1]+=t,a=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,i){var o=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],a=o[2];if(!r)return e;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=i}return C(s)[t]/100*r}if("vh"===a||"vw"===a)return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;return r}(e,o,t,n)})})).forEach(function(e,t){e.forEach(function(n,i){z(n)&&(o[t]+=n*("-"===e[i-1]?-1:1))})}),o}var J={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],i=t.split("-")[1];if(i){var o=e.offsets,r=o.reference,a=o.popper,s=-1!==["bottom","top"].indexOf(n),l=s?"left":"top",c=s?"width":"height",d={start:O({},l,r[l]),end:O({},l,r[l]+r[c]-a[c])};e.offsets.popper=E({},a,d[i])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,i=e.placement,o=e.offsets,r=o.popper,a=o.reference,s=i.split("-")[0],l=void 0;return l=z(+n)?[+n,0]:X(n,r,a,s),"left"===s?(r.top+=l[0],r.left-=l[1]):"right"===s?(r.top+=l[0],r.left+=l[1]):"top"===s?(r.left+=l[0],r.top-=l[1]):"bottom"===s&&(r.left+=l[0],r.top+=l[1]),e.popper=r,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var n=t.boundariesElement||h(e.instance.popper);e.instance.reference===n&&(n=h(n));var i=M("transform"),o=e.instance.popper.style,r=o.top,a=o.left,s=o[i];o.top="",o.left="",o[i]="";var l=L(e.instance.popper,e.instance.reference,t.padding,n,e.positionFixed);o.top=r,o.left=a,o[i]=s,t.boundaries=l;var c=t.priority,d=e.offsets.popper,u={primary:function(e){var n=d[e];return d[e]l[e]&&!t.escapeWithReference&&(i=Math.min(d[n],l[e]-("right"===e?d.width:d.height))),O({},n,i)}};return c.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";d=E({},d,u[t](e))}),e.offsets.popper=d,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,i=t.reference,o=e.placement.split("-")[0],r=Math.floor,a=-1!==["top","bottom"].indexOf(o),s=a?"right":"bottom",l=a?"left":"top",c=a?"width":"height";return n[s]r(i[s])&&(e.offsets.popper[l]=r(i[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!W(e.instance.modifiers,"arrow","keepTogether"))return e;var i=t.element;if("string"==typeof i){if(!(i=e.instance.popper.querySelector(i)))return e}else if(!e.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var o=e.placement.split("-")[0],r=e.offsets,a=r.popper,s=r.reference,c=-1!==["left","right"].indexOf(o),d=c?"height":"width",u=c?"Top":"Left",p=u.toLowerCase(),f=c?"left":"top",h=c?"bottom":"right",v=I(i)[d];s[h]-va[h]&&(e.offsets.popper[p]+=s[p]+v-a[h]),e.offsets.popper=C(e.offsets.popper);var m=s[p]+s[d]/2-v/2,g=l(e.instance.popper),b=parseFloat(g["margin"+u],10),y=parseFloat(g["border"+u+"Width"],10),_=m-e.offsets.popper[p]-b-y;return _=Math.max(Math.min(a[d]-v,_),0),e.arrowElement=i,e.offsets.arrow=(O(n={},p,Math.round(_)),O(n,f,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(H(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=L(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),i=e.placement.split("-")[0],o=j(i),r=e.placement.split("-")[1]||"",a=[];switch(t.behavior){case G.FLIP:a=[i,o];break;case G.CLOCKWISE:a=q(i);break;case G.COUNTERCLOCKWISE:a=q(i,!0);break;default:a=t.behavior}return a.forEach(function(s,l){if(i!==s||a.length===l+1)return e;i=e.placement.split("-")[0],o=j(i);var c=e.offsets.popper,d=e.offsets.reference,u=Math.floor,p="left"===i&&u(c.right)>u(d.left)||"right"===i&&u(c.left)u(d.top)||"bottom"===i&&u(c.top)u(n.right),v=u(c.top)u(n.bottom),g="left"===i&&f||"right"===i&&h||"top"===i&&v||"bottom"===i&&m,b=-1!==["top","bottom"].indexOf(i),y=!!t.flipVariations&&(b&&"start"===r&&f||b&&"end"===r&&h||!b&&"start"===r&&v||!b&&"end"===r&&m);(p||g||y)&&(e.flipped=!0,(p||g)&&(i=a[l+1]),y&&(r=function(e){return"end"===e?"start":"start"===e?"end":e}(r)),e.placement=i+(r?"-"+r:""),e.offsets.popper=E({},e.offsets.popper,A(e.instance.popper,e.offsets.reference,e.placement)),e=D(e.instance.modifiers,e,"flip"))}),e},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],i=e.offsets,o=i.popper,r=i.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return o[a?"left":"top"]=r[n]-(s?o[a?"width":"height"]:0),e.placement=j(t),e.offsets.popper=C(o),e}},hide:{order:800,enabled:!0,fn:function(e){if(!W(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=P(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottomn.right||t.top>n.bottom||t.right2&&void 0!==arguments[2]?arguments[2]:{};w(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=a(this.update.bind(this)),this.options=E({},e.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(E({},e.Defaults.modifiers,o.modifiers)).forEach(function(t){i.options.modifiers[t]=E({},e.Defaults.modifiers[t]||{},o.modifiers?o.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return E({name:e},i.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&s(e.onLoad)&&e.onLoad(i.reference,i.popper,i.options,e,i.state)}),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return x(e,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=S(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=N(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=A(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=D(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,H(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[M("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=R(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return B.call(this)}}]),e}();K.Utils=("undefined"!=typeof window?window:e).PopperUtils,K.placements=V,K.Defaults=J;var Q=function(){};function Z(e){return"string"==typeof e&&(e=e.split(" ")),e}function ee(e,t){var n=Z(t),i=void 0;i=e.className instanceof Q?Z(e.className.baseVal):Z(e.className),n.forEach(function(e){-1===i.indexOf(e)&&i.push(e)}),e instanceof SVGElement?e.setAttribute("class",i.join(" ")):e.className=i.join(" ")}function te(e,t){var n=Z(t),i=void 0;i=e.className instanceof Q?Z(e.className.baseVal):Z(e.className),n.forEach(function(e){var t=i.indexOf(e);-1!==t&&i.splice(t,1)}),e instanceof SVGElement?e.setAttribute("class",i.join(" ")):e.className=i.join(" ")}"undefined"!=typeof window&&(Q=window.SVGAnimatedString);var ne=!1;if("undefined"!=typeof window){ne=!1;try{var ie=Object.defineProperty({},"passive",{get:function(){ne=!0}});window.addEventListener("test",null,ie)}catch(e){}}var oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},re=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},ae=function(){function e(e,t){for(var n=0;n
',trigger:"hover focus",offset:0},ce=[],de=function(){function e(t,n){re(this,e),ue.call(this),n=se({},le,n),t.jquery&&(t=t[0]),this.reference=t,this.options=n,this._isOpen=!1,this._init()}return ae(e,[{key:"setClasses",value:function(e){this._classes=e}},{key:"setContent",value:function(e){this.options.title=e,this._tooltipNode&&this._setContent(e,this.options)}},{key:"setOptions",value:function(e){var t=!1,n=e&&e.classes||_e.options.defaultClass;this._classes!==n&&(this.setClasses(n),t=!0),e=ve(e);var i=!1,o=!1;for(var r in this.options.offset===e.offset&&this.options.placement===e.placement||(i=!0),(this.options.template!==e.template||this.options.trigger!==e.trigger||this.options.container!==e.container||t)&&(o=!0),e)this.options[r]=e[r];if(this._tooltipNode)if(o){var a=this._isOpen;this.dispose(),this._init(),a&&this.show()}else i&&this.popperInstance.update()}},{key:"_init",value:function(){var e="string"==typeof this.options.trigger?this.options.trigger.split(" ").filter(function(e){return-1!==["click","hover","focus"].indexOf(e)}):[];this._isDisposed=!1,this._enableDocumentTouch=-1===e.indexOf("manual"),this._setEventListeners(this.reference,e,this.options)}},{key:"_create",value:function(e,t){var n=window.document.createElement("div");n.innerHTML=t.trim();var i=n.childNodes[0];return i.id="tooltip_"+Math.random().toString(36).substr(2,10),i.setAttribute("aria-hidden","true"),this.options.autoHide&&-1!==this.options.trigger.indexOf("hover")&&(i.addEventListener("mouseenter",this.hide),i.addEventListener("click",this.hide)),i}},{key:"_setContent",value:function(e,t){var n=this;this.asyncContent=!1,this._applyContent(e,t).then(function(){n.popperInstance.update()})}},{key:"_applyContent",value:function(e,t){var n=this;return new Promise(function(i,o){var r=t.html,a=n._tooltipNode;if(a){var s=a.querySelector(n.options.innerSelector);if(1===e.nodeType){if(r){for(;s.firstChild;)s.removeChild(s.firstChild);s.appendChild(e)}}else{if("function"==typeof e){var l=e();return void(l&&"function"==typeof l.then?(n.asyncContent=!0,t.loadingClass&&ee(a,t.loadingClass),t.loadingContent&&n._applyContent(t.loadingContent,t),l.then(function(e){return t.loadingClass&&te(a,t.loadingClass),n._applyContent(e,t)}).then(i).catch(o)):n._applyContent(l,t).then(i).catch(o))}r?s.innerHTML=e:s.innerText=e}i()}})}},{key:"_show",value:function(e,t){if(t&&"string"==typeof t.container&&!document.querySelector(t.container))return;clearTimeout(this._disposeTimer),delete(t=Object.assign({},t)).offset;var n=!0;this._tooltipNode&&(ee(this._tooltipNode,this._classes),n=!1);var i=this._ensureShown(e,t);return n&&this._tooltipNode&&ee(this._tooltipNode,this._classes),ee(e,["v-tooltip-open"]),i}},{key:"_ensureShown",value:function(e,t){var n=this;if(this._isOpen)return this;if(this._isOpen=!0,ce.push(this),this._tooltipNode)return this._tooltipNode.style.display="",this._tooltipNode.setAttribute("aria-hidden","false"),this.popperInstance.enableEventListeners(),this.popperInstance.update(),this.asyncContent&&this._setContent(t.title,t),this;var i=e.getAttribute("title")||t.title;if(!i)return this;var o=this._create(e,t.template);this._tooltipNode=o,this._setContent(i,t),e.setAttribute("aria-describedby",o.id);var r=this._findContainer(t.container,e);this._append(o,r);var a=se({},t.popperOptions,{placement:t.placement});return a.modifiers=se({},a.modifiers,{arrow:{element:this.options.arrowSelector}}),t.boundariesElement&&(a.modifiers.preventOverflow={boundariesElement:t.boundariesElement}),this.popperInstance=new K(e,o,a),requestAnimationFrame(function(){!n._isDisposed&&n.popperInstance?(n.popperInstance.update(),requestAnimationFrame(function(){n._isDisposed?n.dispose():n._isOpen&&o.setAttribute("aria-hidden","false")})):n.dispose()}),this}},{key:"_noLongerOpen",value:function(){var e=ce.indexOf(this);-1!==e&&ce.splice(e,1)}},{key:"_hide",value:function(){var e=this;if(!this._isOpen)return this;this._isOpen=!1,this._noLongerOpen(),this._tooltipNode.style.display="none",this._tooltipNode.setAttribute("aria-hidden","true"),this.popperInstance.disableEventListeners(),clearTimeout(this._disposeTimer);var t=_e.options.disposeTimeout;return null!==t&&(this._disposeTimer=setTimeout(function(){e._tooltipNode&&(e._tooltipNode.removeEventListener("mouseenter",e.hide),e._tooltipNode.removeEventListener("click",e.hide),e._tooltipNode.parentNode.removeChild(e._tooltipNode),e._tooltipNode=null)},t)),te(this.reference,["v-tooltip-open"]),this}},{key:"_dispose",value:function(){var e=this;return this._isDisposed=!0,this._events.forEach(function(t){var n=t.func,i=t.event;e.reference.removeEventListener(i,n)}),this._events=[],this._tooltipNode?(this._hide(),this._tooltipNode.removeEventListener("mouseenter",this.hide),this._tooltipNode.removeEventListener("click",this.hide),this.popperInstance.destroy(),this.popperInstance.options.removeOnDestroy||(this._tooltipNode.parentNode.removeChild(this._tooltipNode),this._tooltipNode=null)):this._noLongerOpen(),this}},{key:"_findContainer",value:function(e,t){return"string"==typeof e?e=window.document.querySelector(e):!1===e&&(e=t.parentNode),e}},{key:"_append",value:function(e,t){t.appendChild(e)}},{key:"_setEventListeners",value:function(e,t,n){var i=this,o=[],r=[];t.forEach(function(e){switch(e){case"hover":o.push("mouseenter"),r.push("mouseleave"),i.options.hideOnTargetClick&&r.push("click");break;case"focus":o.push("focus"),r.push("blur"),i.options.hideOnTargetClick&&r.push("click");break;case"click":o.push("click"),r.push("click")}}),o.forEach(function(t){var o=function(t){!0!==i._isOpen&&(t.usedByTooltip=!0,i._scheduleShow(e,n.delay,n,t))};i._events.push({event:t,func:o}),e.addEventListener(t,o)}),r.forEach(function(t){var o=function(t){!0!==t.usedByTooltip&&i._scheduleHide(e,n.delay,n,t)};i._events.push({event:t,func:o}),e.addEventListener(t,o)})}},{key:"_onDocumentTouch",value:function(e){this._enableDocumentTouch&&this._scheduleHide(this.reference,this.options.delay,this.options,e)}},{key:"_scheduleShow",value:function(e,t,n){var i=this,o=t&&t.show||t||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){return i._show(e,n)},o)}},{key:"_scheduleHide",value:function(e,t,n,i){var o=this,r=t&&t.hide||t||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){if(!1!==o._isOpen&&document.body.contains(o._tooltipNode)){if("mouseleave"===i.type)if(o._setTooltipNodeEvent(i,e,t,n))return;o._hide(e,n)}},r)}}]),e}(),ue=function(){var e=this;this.show=function(){e._show(e.reference,e.options)},this.hide=function(){e._hide()},this.dispose=function(){e._dispose()},this.toggle=function(){return e._isOpen?e.hide():e.show()},this._events=[],this._setTooltipNodeEvent=function(t,n,i,o){var r=t.relatedreference||t.toElement||t.relatedTarget;return!!e._tooltipNode.contains(r)&&(e._tooltipNode.addEventListener(t.type,function i(r){var a=r.relatedreference||r.toElement||r.relatedTarget;e._tooltipNode.removeEventListener(t.type,i),n.contains(a)||e._scheduleHide(n,o.delay,o,r)}),!0)}};"undefined"!=typeof document&&document.addEventListener("touchstart",function(e){for(var t=0;t
',defaultArrowSelector:".tooltip-arrow, .tooltip__arrow",defaultInnerSelector:".tooltip-inner, .tooltip__inner",defaultDelay:0,defaultTrigger:"hover focus",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultLoadingClass:"tooltip-loading",defaultLoadingContent:"...",autoHide:!0,defaultHideOnTargetClick:!0,disposeTimeout:5e3,popover:{defaultPlacement:"bottom",defaultClass:"vue-popover-theme",defaultBaseClass:"tooltip popover",defaultWrapperClass:"wrapper",defaultInnerClass:"tooltip-inner popover-inner",defaultArrowClass:"tooltip-arrow popover-arrow",defaultDelay:0,defaultTrigger:"click",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultAutoHide:!0,defaultHandleResize:!0}};function ve(e){var t={placement:void 0!==e.placement?e.placement:_e.options.defaultPlacement,delay:void 0!==e.delay?e.delay:_e.options.defaultDelay,html:void 0!==e.html?e.html:_e.options.defaultHtml,template:void 0!==e.template?e.template:_e.options.defaultTemplate,arrowSelector:void 0!==e.arrowSelector?e.arrowSelector:_e.options.defaultArrowSelector,innerSelector:void 0!==e.innerSelector?e.innerSelector:_e.options.defaultInnerSelector,trigger:void 0!==e.trigger?e.trigger:_e.options.defaultTrigger,offset:void 0!==e.offset?e.offset:_e.options.defaultOffset,container:void 0!==e.container?e.container:_e.options.defaultContainer,boundariesElement:void 0!==e.boundariesElement?e.boundariesElement:_e.options.defaultBoundariesElement,autoHide:void 0!==e.autoHide?e.autoHide:_e.options.autoHide,hideOnTargetClick:void 0!==e.hideOnTargetClick?e.hideOnTargetClick:_e.options.defaultHideOnTargetClick,loadingClass:void 0!==e.loadingClass?e.loadingClass:_e.options.defaultLoadingClass,loadingContent:void 0!==e.loadingContent?e.loadingContent:_e.options.defaultLoadingContent,popperOptions:se({},void 0!==e.popperOptions?e.popperOptions:_e.options.defaultPopperOptions)};if(t.offset){var n=oe(t.offset),i=t.offset;("number"===n||"string"===n&&-1===i.indexOf(","))&&(i="0, "+i),t.popperOptions.modifiers||(t.popperOptions.modifiers={}),t.popperOptions.modifiers.offset={offset:i}}return t.trigger&&-1!==t.trigger.indexOf("click")&&(t.hideOnTargetClick=!1),t}function me(e,t){for(var n=e.placement,i=0;i2&&void 0!==arguments[2]?arguments[2]:{},i=ge(t),o=void 0!==t.classes?t.classes:_e.options.defaultClass,r=se({title:i},ve(se({},t,{placement:me(t,n)}))),a=e._tooltip=new de(e,r);a.setClasses(o),a._vueEl=e;var s=void 0!==t.targetClasses?t.targetClasses:_e.options.defaultTargetClass;return e._tooltipTargetClasses=s,ee(e,s),a}(e,n,i),void 0!==n.show&&n.show!==e._tooltipOldShow&&(e._tooltipOldShow=n.show,n.show?r.show():r.hide())}else be(e)}var _e={options:he,bind:ye,update:ye,unbind:function(e){be(e)}};function we(e){e.addEventListener("click",Oe),e.addEventListener("touchstart",Ee,!!ne&&{passive:!0})}function xe(e){e.removeEventListener("click",Oe),e.removeEventListener("touchstart",Ee),e.removeEventListener("touchend",Ce),e.removeEventListener("touchcancel",ke)}function Oe(e){var t=e.currentTarget;e.closePopover=!t.$_vclosepopover_touch,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}function Ee(e){if(1===e.changedTouches.length){var t=e.currentTarget;t.$_vclosepopover_touch=!0;var n=e.changedTouches[0];t.$_vclosepopover_touchPoint=n,t.addEventListener("touchend",Ce),t.addEventListener("touchcancel",ke)}}function Ce(e){var t=e.currentTarget;if(t.$_vclosepopover_touch=!1,1===e.changedTouches.length){var n=e.changedTouches[0],i=t.$_vclosepopover_touchPoint;e.closePopover=Math.abs(n.screenY-i.screenY)<20&&Math.abs(n.screenX-i.screenX)<20,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}}function ke(e){e.currentTarget.$_vclosepopover_touch=!1}var Te={bind:function(e,t){var n=t.value,i=t.modifiers;e.$_closePopoverModifiers=i,(void 0===n||n)&&we(e)},update:function(e,t){var n=t.value,i=t.oldValue,o=t.modifiers;e.$_closePopoverModifiers=o,n!==i&&(void 0===n||n?we(e):xe(e))},unbind:function(e){xe(e)}};var $e=void 0;function Le(){Le.init||(Le.init=!0,$e=-1!==function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var n=e.indexOf("rv:");return parseInt(e.substring(n+3,e.indexOf(".",n)),10)}var i=e.indexOf("Edge/");return i>0?parseInt(e.substring(i+5,e.indexOf(".",i)),10):-1}())}var Ne={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},staticRenderFns:[],_scopeId:"data-v-b329ee4c",name:"resize-observer",methods:{notify:function(){this.$emit("notify")},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.notify),this._w===this.$el.offsetWidth&&this._h===this.$el.offsetHeight||this.notify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!$e&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.notify),delete this._resizeObject.onload)}},mounted:function(){var e=this;Le(),this.$nextTick(function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight});var t=document.createElement("object");this._resizeObject=t,t.setAttribute("style","display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;"),t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",$e&&this.$el.appendChild(t),t.data="about:blank",$e||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()}};var Se={version:"0.4.4",install:function(e){e.component("resize-observer",Ne)}},Ie=null;function je(e){var t=_e.options.popover[e];return void 0===t?_e.options[e]:t}"undefined"!=typeof window?Ie=window.Vue:void 0!==e&&(Ie=e.Vue),Ie&&Ie.use(Se);var Ae=!1;"undefined"!=typeof window&&"undefined"!=typeof navigator&&(Ae=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);var Pe=[],De=function(){};"undefined"!=typeof window&&(De=window.Element);var He={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"v-popover",class:e.cssClass},[n("span",{ref:"trigger",staticClass:"trigger",staticStyle:{display:"inline-block"},attrs:{"aria-describedby":e.popoverId,tabindex:-1!==e.trigger.indexOf("focus")?0:-1}},[e._t("default")],2),e._v(" "),n("div",{ref:"popover",class:[e.popoverBaseClass,e.popoverClass,e.cssClass],style:{visibility:e.isOpen?"visible":"hidden"},attrs:{id:e.popoverId,"aria-hidden":e.isOpen?"false":"true"}},[n("div",{class:e.popoverWrapperClass},[n("div",{ref:"inner",class:e.popoverInnerClass,staticStyle:{position:"relative"}},[n("div",[e._t("popover")],2),e._v(" "),e.handleResize?n("ResizeObserver",{on:{notify:e.$_handleResize}}):e._e()],1),e._v(" "),n("div",{ref:"arrow",class:e.popoverArrowClass})])])])},staticRenderFns:[],name:"VPopover",components:{ResizeObserver:Ne},props:{open:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placement:{type:String,default:function(){return je("defaultPlacement")}},delay:{type:[String,Number,Object],default:function(){return je("defaultDelay")}},offset:{type:[String,Number],default:function(){return je("defaultOffset")}},trigger:{type:String,default:function(){return je("defaultTrigger")}},container:{type:[String,Object,De,Boolean],default:function(){return je("defaultContainer")}},boundariesElement:{type:[String,De],default:function(){return je("defaultBoundariesElement")}},popperOptions:{type:Object,default:function(){return je("defaultPopperOptions")}},popoverClass:{type:[String,Array],default:function(){return je("defaultClass")}},popoverBaseClass:{type:[String,Array],default:function(){return _e.options.popover.defaultBaseClass}},popoverInnerClass:{type:[String,Array],default:function(){return _e.options.popover.defaultInnerClass}},popoverWrapperClass:{type:[String,Array],default:function(){return _e.options.popover.defaultWrapperClass}},popoverArrowClass:{type:[String,Array],default:function(){return _e.options.popover.defaultArrowClass}},autoHide:{type:Boolean,default:function(){return _e.options.popover.defaultAutoHide}},handleResize:{type:Boolean,default:function(){return _e.options.popover.defaultHandleResize}},openGroup:{type:String,default:null}},data:function(){return{isOpen:!1,id:Math.random().toString(36).substr(2,10)}},computed:{cssClass:function(){return{open:this.isOpen}},popoverId:function(){return"popover_"+this.id}},watch:{open:function(e){e?this.show():this.hide()},disabled:function(e,t){e!==t&&(e?this.hide():this.open&&this.show())},container:function(e){if(this.isOpen&&this.popperInstance){var t=this.$refs.popover,n=this.$refs.trigger,i=this.$_findContainer(this.container,n);if(!i)return void console.warn("No container for popover",this);i.appendChild(t),this.popperInstance.scheduleUpdate()}},trigger:function(e){this.$_removeEventListeners(),this.$_addEventListeners()},placement:function(e){var t=this;this.$_updatePopper(function(){t.popperInstance.options.placement=e})},offset:"$_restartPopper",boundariesElement:"$_restartPopper",popperOptions:{handler:"$_restartPopper",deep:!0}},created:function(){this.$_isDisposed=!1,this.$_mounted=!1,this.$_events=[],this.$_preventOpen=!1},mounted:function(){var e=this.$refs.popover;e.parentNode&&e.parentNode.removeChild(e),this.$_init(),this.open&&this.show()},beforeDestroy:function(){this.dispose()},methods:{show:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.event,i=(t.skipDelay,t.force);!(void 0!==i&&i)&&this.disabled||(this.$_scheduleShow(n),this.$emit("show")),this.$emit("update:open",!0),this.$_beingShowed=!0,requestAnimationFrame(function(){e.$_beingShowed=!1})},hide:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.event;e.skipDelay;this.$_scheduleHide(t),this.$emit("hide"),this.$emit("update:open",!1)},dispose:function(){if(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.popperInstance&&(this.popperInstance.destroy(),!this.popperInstance.options.removeOnDestroy)){var e=this.$refs.popover;e.parentNode&&e.parentNode.removeChild(e)}this.$_mounted=!1,this.popperInstance=null,this.isOpen=!1,this.$emit("dispose")},$_init:function(){-1===this.trigger.indexOf("manual")&&this.$_addEventListeners()},$_show:function(){var e=this,t=this.$refs.trigger,n=this.$refs.popover;if(clearTimeout(this.$_disposeTimer),!this.isOpen){if(this.popperInstance&&(this.isOpen=!0,this.popperInstance.enableEventListeners(),this.popperInstance.scheduleUpdate()),!this.$_mounted){var i=this.$_findContainer(this.container,t);if(!i)return void console.warn("No container for popover",this);i.appendChild(n),this.$_mounted=!0}if(!this.popperInstance){var o=se({},this.popperOptions,{placement:this.placement});if(o.modifiers=se({},o.modifiers,{arrow:se({},o.modifiers&&o.modifiers.arrow,{element:this.$refs.arrow})}),this.offset){var r=this.$_getOffset();o.modifiers.offset=se({},o.modifiers&&o.modifiers.offset,{offset:r})}this.boundariesElement&&(o.modifiers.preventOverflow=se({},o.modifiers&&o.modifiers.preventOverflow,{boundariesElement:this.boundariesElement})),this.popperInstance=new K(t,n,o),requestAnimationFrame(function(){!e.$_isDisposed&&e.popperInstance?(e.popperInstance.scheduleUpdate(),requestAnimationFrame(function(){e.$_isDisposed?e.dispose():e.isOpen=!0})):e.dispose()})}var a=this.openGroup;if(a)for(var s=void 0,l=0;l1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),e)this.$_show();else{var t=parseInt(this.delay&&this.delay.show||this.delay||0);this.$_scheduleTimer=setTimeout(this.$_show.bind(this),t)}},$_scheduleHide:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),n)this.$_hide();else{var i=parseInt(this.delay&&this.delay.hide||this.delay||0);this.$_scheduleTimer=setTimeout(function(){if(e.isOpen){if(t&&"mouseleave"===t.type)if(e.$_setTooltipNodeEvent(t))return;e.$_hide()}},i)}},$_setTooltipNodeEvent:function(e){var t=this,n=this.$refs.trigger,i=this.$refs.popover,o=e.relatedreference||e.toElement||e.relatedTarget;return!!i.contains(o)&&(i.addEventListener(e.type,function o(r){var a=r.relatedreference||r.toElement||r.relatedTarget;i.removeEventListener(e.type,o),n.contains(a)||t.hide({event:r})}),!0)},$_removeEventListeners:function(){var e=this.$refs.trigger;this.$_events.forEach(function(t){var n=t.func,i=t.event;e.removeEventListener(i,n)}),this.$_events=[]},$_updatePopper:function(e){this.popperInstance&&(e(),this.isOpen&&this.popperInstance.scheduleUpdate())},$_restartPopper:function(){if(this.popperInstance){var e=this.isOpen;this.dispose(),this.$_isDisposed=!1,this.$_init(),e&&this.show({skipDelay:!0,force:!0})}},$_handleGlobalClose:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.$_beingShowed||(this.hide({event:e}),e.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),n&&(this.$_preventOpen=!0,setTimeout(function(){t.$_preventOpen=!1},300)))},$_handleResize:function(){this.isOpen&&this.popperInstance&&(this.popperInstance.scheduleUpdate(),this.$emit("resize"))}}};function Me(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];requestAnimationFrame(function(){for(var n=void 0,i=0;i-1},te.prototype.set=function(e,t){var n=this.__data__,i=se(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this},ne.prototype.clear=function(){this.size=0,this.__data__={hash:new ee,map:new(K||te),string:new ee}},ne.prototype.delete=function(e){var t=me(this,e).delete(e);return this.size-=t?1:0,t},ne.prototype.get=function(e){return me(this,e).get(e)},ne.prototype.has=function(e){return me(this,e).has(e)},ne.prototype.set=function(e,t){var n=me(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this},ie.prototype.clear=function(){this.__data__=new te,this.size=0},ie.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},ie.prototype.get=function(e){return this.__data__.get(e)},ie.prototype.has=function(e){return this.__data__.has(e)},ie.prototype.set=function(e,t){var i=this.__data__;if(i instanceof te){var o=i.__data__;if(!K||o.length-1&&e%1==0&&e0){if(++t>=o)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(q?function(e,t){return q(e,"toString",{configurable:!0,enumerable:!1,value:function(e){return function(){return e}}(t),writable:!0})}:je);function we(e,t){return e===t||e!=e&&t!=t}var xe=ue(function(){return arguments}())?ue:function(e){return Le(e)&&j.call(e,"callee")&&!W.call(e,"callee")},Oe=Array.isArray;function Ee(e){return null!=e&&Te(e.length)&&!ke(e)}var Ce=G||function(){return!1};function ke(e){if(!$e(e))return!1;var t=de(e);return t==c||t==d||t==l||t==f}function Te(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=a}function $e(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Le(e){return null!=e&&"object"==typeof e}var Ne=k?function(e){return function(t){return e(t)}}(k):function(e){return Le(e)&&Te(e.length)&&!!g[de(e)]};function Se(e){return Ee(e)?oe(e,!0):fe(e)}var Ie=function(e){return ve(function(t,n){var i=-1,o=n.length,r=o>1?n[o-1]:void 0,a=o>2?n[2]:void 0;for(r=e.length>3&&"function"==typeof r?(o--,r):void 0,a&&function(e,t,n){if(!$e(n))return!1;var i=typeof t;return!!("number"==i?Ee(n)&&be(t,n.length):"string"==i&&t in n)&&we(n[t],e)}(n[0],n[1],a)&&(r=o<3?void 0:r,o=1),t=Object(t);++i1&&void 0!==arguments[1]?arguments[1]:{};if(!e.installed){e.installed=!0;var i={};Re(i,he,n),Be.options=i,_e.options=i,t.directive("tooltip",_e),t.directive("close-popover",Te),t.component("v-popover",He)}},get enabled(){return pe.enabled},set enabled(e){pe.enabled=e}},ze=null;"undefined"!=typeof window?ze=window.Vue:void 0!==e&&(ze=e.Vue),ze&&ze.use(Be),t.a=Be}).call(this,n(49))},316:function(e,t,n){ +/*! + * vue-infinite-loading v2.3.3 + * (c) 2016-2018 PeachScript + * MIT License + */ +e.exports=function(e){function t(i){if(n[i])return n[i].exports;var o=n[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=3)}([function(e,t){function n(e,t){var n=e[1]||"",i=e[3];if(!i)return n;if(t&&"function"==typeof btoa){var o=function(e){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */"}(i);return[n].concat(i.sources.map(function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"})).concat([o]).join("\n")}return[n].join("\n")}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var i=n(t,e);return t[2]?"@media "+t[2]+"{"+i+"}":i}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var i={},o=0;on.parts.length&&(i.parts.length=n.parts.length)}else{for(var a=[],o=0;o',"\nscript:\n...\ninfiniteHandler($state) {\n ajax('https://www.example.com/api/news')\n .then((res) => {\n if (res.data.length) {\n $state.loaded();\n } else {\n $state.complete();\n }\n });\n}\n...","","more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549"].join("\n"),INFINITE_EVENT:"[Vue-infinite-loading warn]: `:on-infinite` property will be deprecated soon, please use `@infinite` event instead."},r={INFINITE_LOOP:["[Vue-infinite-loading error]: executed the callback function more than 10 times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:",'\n\x3c!-- add a special attribute for the real scroll wrapper --\x3e\n
\n ...\n \x3c!-- set force-use-infinite-wrapper to true --\x3e\n \n
\n ',"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169"].join("\n")},a=function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e={passive:!0}}});window.addEventListener("testpassive",t,t),window.remove("testpassive",t,t)}catch(e){}return e}();t.a={name:"InfiniteLoading",data:function(){return{scrollParent:null,scrollHandler:null,isLoading:!1,isComplete:!1,isFirstLoad:!0,inThrottle:!1,throttleLimit:50,infiniteLoopChecked:!1,infiniteLoopTimer:null,continuousCallTimes:0}},components:{Spinner:i.a},computed:{isNoResults:{cache:!1,get:function(){var e=this.$slots["no-results"],t=e&&e[0].elm&&""===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&this.isFirstLoad&&!t}},isNoMore:{cache:!1,get:function(){var e=this.$slots["no-more"],t=e&&e[0].elm&&""===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&!this.isFirstLoad&&!t}}},props:{distance:{type:Number,default:100},onInfinite:Function,spinner:String,direction:{type:String,default:"bottom"},forceUseInfiniteWrapper:null},mounted:function(){var e=this;this.scrollParent=this.getScrollParent(),this.scrollHandler=function(e){var t=this;this.isLoading||(e&&e.constructor===Event?this.inThrottle||(this.inThrottle=!0,setTimeout(function(){t.attemptLoad(),t.inThrottle=!1},this.throttleLimit)):this.attemptLoad())}.bind(this),setTimeout(this.scrollHandler,1),this.scrollParent.addEventListener("scroll",this.scrollHandler,a),this.$on("$InfiniteLoading:loaded",function(t){e.isFirstLoad=!1,e.isLoading&&e.$nextTick(e.attemptLoad.bind(null,!0)),t&&t.target===e||console.warn(o.STATE_CHANGER)}),this.$on("$InfiniteLoading:complete",function(t){e.isLoading=!1,e.isComplete=!0,e.$nextTick(function(){e.$forceUpdate()}),e.scrollParent.removeEventListener("scroll",e.scrollHandler,a),t&&t.target===e||console.warn(o.STATE_CHANGER)}),this.$on("$InfiniteLoading:reset",function(){e.isLoading=!1,e.isComplete=!1,e.isFirstLoad=!0,e.inThrottle=!1,e.scrollParent.addEventListener("scroll",e.scrollHandler,a),setTimeout(e.scrollHandler,1)}),this.onInfinite&&console.warn(o.INFINITE_EVENT),this.stateChanger={loaded:function(){e.$emit("$InfiniteLoading:loaded",{target:e})},complete:function(){e.$emit("$InfiniteLoading:complete",{target:e})},reset:function(){e.$emit("$InfiniteLoading:reset",{target:e})}},this.$watch("forceUseInfiniteWrapper",function(){e.scrollParent=e.getScrollParent()})},deactivated:function(){this.isLoading=!1,this.scrollParent.removeEventListener("scroll",this.scrollHandler,a)},activated:function(){this.scrollParent.addEventListener("scroll",this.scrollHandler,a)},methods:{attemptLoad:function(e){var t=this,n=this.getCurrentDistance();!this.isComplete&&n<=this.distance&&this.$el.offsetWidth+this.$el.offsetHeight>0?(this.isLoading=!0,"function"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit("infinite",this.stateChanger),!e||this.forceUseInfiniteWrapper||this.infiniteLoopChecked||(this.continuousCallTimes+=1,clearTimeout(this.infiniteLoopTimer),this.infiniteLoopTimer=setTimeout(function(){t.infiniteLoopChecked=!0},1e3),this.continuousCallTimes>10&&(console.error(r.INFINITE_LOOP),this.infiniteLoopChecked=!0))):this.isLoading=!1},getCurrentDistance:function(){return"top"===this.direction?isNaN(this.scrollParent.scrollTop)?this.scrollParent.pageYOffset:this.scrollParent.scrollTop:this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom)},getScrollParent:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el,t=void 0;return"BODY"===e.tagName?t=window:!this.forceUseInfiniteWrapper&&["scroll","auto"].indexOf(getComputedStyle(e).overflowY)>-1?t=e:(e.hasAttribute("infinite-wrapper")||e.hasAttribute("data-infinite-wrapper"))&&(t=e),t||this.getScrollParent(e.parentNode)}},destroyed:function(){this.isComplete||this.scrollParent.removeEventListener("scroll",this.scrollHandler,a)}}},function(e,t,n){"use strict";var i=n(12),o=n(13),r=n(2),a=function(e){n(10)},s=r(i.a,o.a,a,"data-v-10a220cc",null);t.a=s.exports},function(e,t,n){var i=n(11);"string"==typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals),n(1)("2914e7ad",i,!0)},function(e,t,n){(e.exports=n(0)(void 0)).push([e.i,'.loading-wave-dots[data-v-10a220cc]{position:relative}.loading-wave-dots[data-v-10a220cc] .wave-item{position:absolute;top:50%;left:50%;display:inline-block;margin-top:-4px;width:8px;height:8px;border-radius:50%;-webkit-animation:loading-wave-dots-data-v-10a220cc linear 2.8s infinite;animation:loading-wave-dots-data-v-10a220cc linear 2.8s infinite}.loading-wave-dots[data-v-10a220cc] .wave-item:first-child{margin-left:-36px}.loading-wave-dots[data-v-10a220cc] .wave-item:nth-child(2){margin-left:-20px;-webkit-animation-delay:.14s;animation-delay:.14s}.loading-wave-dots[data-v-10a220cc] .wave-item:nth-child(3){margin-left:-4px;-webkit-animation-delay:.28s;animation-delay:.28s}.loading-wave-dots[data-v-10a220cc] .wave-item:nth-child(4){margin-left:12px;-webkit-animation-delay:.42s;animation-delay:.42s}.loading-wave-dots[data-v-10a220cc] .wave-item:last-child{margin-left:28px;-webkit-animation-delay:.56s;animation-delay:.56s}@-webkit-keyframes loading-wave-dots-data-v-10a220cc{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}@keyframes loading-wave-dots-data-v-10a220cc{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}.loading-circles[data-v-10a220cc] .circle-item{width:5px;height:5px;-webkit-animation:loading-circles-data-v-10a220cc linear .75s infinite;animation:loading-circles-data-v-10a220cc linear .75s infinite}.loading-circles[data-v-10a220cc] .circle-item:first-child{margin-top:-14.5px;margin-left:-2.5px}.loading-circles[data-v-10a220cc] .circle-item:nth-child(2){margin-top:-11.26px;margin-left:6.26px}.loading-circles[data-v-10a220cc] .circle-item:nth-child(3){margin-top:-2.5px;margin-left:9.5px}.loading-circles[data-v-10a220cc] .circle-item:nth-child(4){margin-top:6.26px;margin-left:6.26px}.loading-circles[data-v-10a220cc] .circle-item:nth-child(5){margin-top:9.5px;margin-left:-2.5px}.loading-circles[data-v-10a220cc] .circle-item:nth-child(6){margin-top:6.26px;margin-left:-11.26px}.loading-circles[data-v-10a220cc] .circle-item:nth-child(7){margin-top:-2.5px;margin-left:-14.5px}.loading-circles[data-v-10a220cc] .circle-item:last-child{margin-top:-11.26px;margin-left:-11.26px}@-webkit-keyframes loading-circles-data-v-10a220cc{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}@keyframes loading-circles-data-v-10a220cc{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}.loading-bubbles[data-v-10a220cc] .bubble-item{background:#666;-webkit-animation:loading-bubbles-data-v-10a220cc linear .75s infinite;animation:loading-bubbles-data-v-10a220cc linear .75s infinite}.loading-bubbles[data-v-10a220cc] .bubble-item:first-child{margin-top:-12.5px;margin-left:-.5px}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(2){margin-top:-9.26px;margin-left:8.26px}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(3){margin-top:-.5px;margin-left:11.5px}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(4){margin-top:8.26px;margin-left:8.26px}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(5){margin-top:11.5px;margin-left:-.5px}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(6){margin-top:8.26px;margin-left:-9.26px}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(7){margin-top:-.5px;margin-left:-12.5px}.loading-bubbles[data-v-10a220cc] .bubble-item:last-child{margin-top:-9.26px;margin-left:-9.26px}@-webkit-keyframes loading-bubbles-data-v-10a220cc{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}@keyframes loading-bubbles-data-v-10a220cc{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}.loading-default[data-v-10a220cc]{position:relative;border:1px solid #999;-webkit-animation:loading-rotating-data-v-10a220cc ease 1.5s infinite;animation:loading-rotating-data-v-10a220cc ease 1.5s infinite}.loading-default[data-v-10a220cc]:before{content:"";position:absolute;display:block;top:0;left:50%;margin-top:-3px;margin-left:-3px;width:6px;height:6px;background-color:#999;border-radius:50%}.loading-spiral[data-v-10a220cc]{border:2px solid #777;border-right-color:transparent;-webkit-animation:loading-rotating-data-v-10a220cc linear .85s infinite;animation:loading-rotating-data-v-10a220cc linear .85s infinite}@-webkit-keyframes loading-rotating-data-v-10a220cc{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotating-data-v-10a220cc{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-bubbles[data-v-10a220cc],.loading-circles[data-v-10a220cc]{position:relative}.loading-bubbles[data-v-10a220cc] .bubble-item,.loading-circles[data-v-10a220cc] .circle-item{position:absolute;top:50%;left:50%;display:inline-block;border-radius:50%}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(2),.loading-circles[data-v-10a220cc] .circle-item:nth-child(2){-webkit-animation-delay:93ms;animation-delay:93ms}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(3),.loading-circles[data-v-10a220cc] .circle-item:nth-child(3){-webkit-animation-delay:.186s;animation-delay:.186s}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(4),.loading-circles[data-v-10a220cc] .circle-item:nth-child(4){-webkit-animation-delay:.279s;animation-delay:.279s}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(5),.loading-circles[data-v-10a220cc] .circle-item:nth-child(5){-webkit-animation-delay:.372s;animation-delay:.372s}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(6),.loading-circles[data-v-10a220cc] .circle-item:nth-child(6){-webkit-animation-delay:.465s;animation-delay:.465s}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(7),.loading-circles[data-v-10a220cc] .circle-item:nth-child(7){-webkit-animation-delay:.558s;animation-delay:.558s}.loading-bubbles[data-v-10a220cc] .bubble-item:last-child,.loading-circles[data-v-10a220cc] .circle-item:last-child{-webkit-animation-delay:.651s;animation-delay:.651s}',""])},function(e,t,n){"use strict";var i={BUBBLES:{render:function(e){return e("span",{attrs:{class:"loading-bubbles"}},Array.apply(Array,Array(8)).map(function(){return e("span",{attrs:{class:"bubble-item"}})}))}},CIRCLES:{render:function(e){return e("span",{attrs:{class:"loading-circles"}},Array.apply(Array,Array(8)).map(function(){return e("span",{attrs:{class:"circle-item"}})}))}},DEFAULT:{render:function(e){return e("i",{attrs:{class:"loading-default"}})}},SPIRAL:{render:function(e){return e("i",{attrs:{class:"loading-spiral"}})}},WAVEDOTS:{render:function(e){return e("span",{attrs:{class:"loading-wave-dots"}},Array.apply(Array,Array(5)).map(function(){return e("span",{attrs:{class:"wave-item"}})}))}}};t.a={name:"spinner",computed:{spinnerView:function(){return i[(this.spinner||"").toUpperCase()]||i.DEFAULT}},props:{spinner:String}}},function(e,t,n){"use strict";var i={render:function(){var e=this,t=e.$createElement;return(e._self._c||t)(e.spinnerView,{tag:"component"})},staticRenderFns:[]};t.a=i},function(e,t,n){"use strict";var i={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"infinite-loading-container"},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.isLoading,expression:"isLoading"}]},[e._t("spinner",[n("spinner",{attrs:{spinner:e.spinner}})])],2),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.isNoResults,expression:"isNoResults"}],staticClass:"infinite-status-prompt"},[e._t("no-results",[e._v("No results :(")])],2),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.isNoMore,expression:"isNoMore"}],staticClass:"infinite-status-prompt"},[e._t("no-more",[e._v("No more data :)")])],2)])},staticRenderFns:[]};t.a=i}])}}]); +//# sourceMappingURL=4.settings-vue.js.map \ No newline at end of file diff --git a/settings/js/4.settings-vue.js.map b/settings/js/4.settings-vue.js.map new file mode 100644 index 0000000000..539e8e8a57 --- /dev/null +++ b/settings/js/4.settings-vue.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./node_modules/vue-click-outside/index.js","webpack:///./node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js"],"names":["validate","binding","value","console","warn","expression","isServer","vNode","componentInstance","$isServer","module","exports","bind","el","handler","e","context","elements","path","composedPath","length","unshift","target","contains","popupItem","i","len","isPopup","__vueClickOutside__","callback","document","addEventListener","update","unbind","removeEventListener","global","isBrowser","window","longerTimeoutBrowsers","timeoutDuration","navigator","userAgent","indexOf","debounce","Promise","fn","called","resolve","then","scheduled","setTimeout","isFunction","functionToCheck","toString","call","getStyleComputedProperty","element","property","nodeType","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","ownerDocument","_getStyleComputedProp","overflow","overflowX","overflowY","test","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","isOffsetContainer","element1root","getScroll","upperSide","arguments","undefined","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","getWindowSizes","height","width","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","prototype","obj","_extends","assign","source","hasOwnProperty","getClientRect","offsets","right","left","bottom","top","getBoundingClientRect","rect","scrollTop","scrollLeft","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","parentElement","getBoundaries","popper","reference","padding","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","_ref","getArea","sort","a","b","filteredAreas","filter","_ref2","computedPlacement","variation","split","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","data","ends","slice","prop","findIndex","cur","match","forEach","enabled","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","getWindow","defaultView","setupEventListeners","options","updateBound","passive","scrollElement","attachToScrollParents","event","scrollParents","isBody","push","eventsEnabled","disableEventListeners","this","cancelAnimationFrame","scheduleUpdate","removeEventListeners","isNumeric","n","isNaN","isFinite","setStyles","unit","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","index","concat","reverse","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","parseOffset","offset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","positionFixed","removeOnDestroy","onCreate","onUpdate","shift","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","querySelector","sideCapitalized","toLowerCase","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","getOppositeVariation","inner","subtractLength","hide","bound","attributes","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","position","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrowStyles","applyStyle","setAttribute","removeAttribute","setAttributes","onLoad","modifierOptions","Popper","_this","requestAnimationFrame","isDestroyed","isCreated","jquery","enableEventListeners","removeChild","Utils","PopperUtils","SVGAnimatedString","convertToArray","addClasses","classes","newClasses","classList","className","baseVal","newClass","SVGElement","join","removeClasses","splice","supportsPassive","opts","get","_typeof","Symbol","iterator","constructor","classCallCheck$1","createClass$1","_extends$1","DEFAULT_OPTIONS","container","delay","title","template","trigger","openTooltips","Tooltip","_initialiseProps","_isOpen","_init","_classes","content","_tooltipNode","_setContent","classesUpdated","directive","defaultClass","setClasses","getOptions","needPopperUpdate","needRestart","isOpen","dispose","show","popperInstance","events","_isDisposed","_enableDocumentTouch","_setEventListeners","tooltipGenerator","createElement","innerHTML","tooltipNode","childNodes","id","random","substr","autoHide","asyncContent","_applyContent","_this2","reject","allowHtml","rootNode","titleNode","innerSelector","firstChild","appendChild","loadingClass","loadingContent","asyncResult","catch","innerText","clearTimeout","_disposeTimer","updateClasses","_ensureShown","_this3","display","getAttribute","_create","_findContainer","_append","popperOptions","arrowSelector","_this4","_noLongerOpen","disposeTime","disposeTimeout","_this5","_events","func","_hide","destroy","_this6","directEvents","oppositeEvents","hideOnTargetClick","evt","usedByTooltip","_scheduleShow","_scheduleHide","_this7","computedDelay","_scheduleTimer","_show","_this8","type","_setTooltipNodeEvent","_this9","_dispose","toggle","relatedreference","toElement","relatedTarget","evt2","relatedreference2","_onDocumentTouch","capture","positions","defaultOptions","defaultPlacement","defaultTargetClass","defaultHtml","defaultTemplate","defaultArrowSelector","defaultInnerSelector","defaultDelay","defaultTrigger","defaultOffset","defaultContainer","defaultBoundariesElement","defaultPopperOptions","defaultLoadingClass","defaultLoadingContent","defaultHideOnTargetClick","popover","defaultBaseClass","defaultWrapperClass","defaultInnerClass","defaultArrowClass","defaultAutoHide","defaultHandleResize","typeofOffset","getPlacement","pos","getContent","destroyTooltip","_tooltip","_tooltipOldShow","_tooltipTargetClasses","oldValue","tooltip","setContent","setOptions","_vueEl","targetClasses","createTooltip","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","currentTarget","closePopover","$_vclosepopover_touch","closeAllPopover","$_closePopoverModifiers","all","changedTouches","touch","$_vclosepopover_touchPoint","firstTouch","abs","screenY","screenX","vclosepopover","isIE$1","initCompat","init","ua","msie","parseInt","substring","rv","edge","getInternetExplorerVersion","ResizeObserver","render","_h","$createElement","_self","_c","staticClass","attrs","tabindex","staticRenderFns","_scopeId","methods","notify","$emit","addResizeHandlers","_resizeObject","contentDocument","_w","$el","removeResizeHandlers","onload","mounted","$nextTick","object","beforeDestroy","plugin$2","install","Vue","component","GlobalVue$1","getDefault","use","isIOS","MSStream","openPopovers","Element","Popover","_vm","class","cssClass","ref","staticStyle","aria-describedby","popoverId","_t","_v","popoverBaseClass","popoverClass","visibility","aria-hidden","popoverWrapperClass","popoverInnerClass","handleResize","on","$_handleResize","_e","popoverArrowClass","components","open","Boolean","default","disabled","String","Number","openGroup","computed","watch","val","oldVal","popoverNode","$refs","$_findContainer","$_removeEventListeners","$_addEventListeners","$_updatePopper","deep","created","$_isDisposed","$_mounted","$_events","$_preventOpen","$_init","_ref$force","skipDelay","force","$_scheduleShow","$_beingShowed","$_scheduleHide","$_show","$_disposeTimer","$_getOffset","$_hide","$_scheduleTimer","$_setTooltipNodeEvent","event2","_ref3","cb","$_restartPopper","$_handleGlobalClose","handleGlobalClose","commonjsGlobal","self","lodash_merge","createCommonjsModule","LARGE_ARRAY_SIZE","HASH_UNDEFINED","HOT_COUNT","HOT_SPAN","MAX_SAFE_INTEGER","argsTag","asyncTag","funcTag","genTag","nullTag","objectTag","proxyTag","undefinedTag","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","freeSelf","root","Function","freeExports","freeModule","moduleExports","freeProcess","process","nodeUtil","nodeIsTypedArray","isTypedArray","safeGet","arrayProto","funcProto","objectProto","coreJsData","funcToString","maskSrcKey","uid","exec","IE_PROTO","nativeObjectToString","objectCtorString","reIsNative","RegExp","Buffer","Uint8Array","allocUnsafe","getPrototype","arg","overArg","getPrototypeOf","objectCreate","create","propertyIsEnumerable","symToStringTag","toStringTag","getNative","nativeIsBuffer","isBuffer","nativeMax","nativeNow","Date","now","Map","nativeCreate","baseCreate","proto","isObject","Hash","entries","clear","entry","set","ListCache","MapCache","Stack","__data__","size","arrayLikeKeys","inherited","isArr","isArray","isArg","isArguments","isBuff","isType","skipIndexes","iteratee","baseTimes","isIndex","assignMergeValue","eq","baseAssignValue","assignValue","objValue","assocIndexOf","array","has","pop","string","getMapData","pairs","baseFor","fromRight","keysFunc","iterable","createBaseFor","baseGetTag","isOwn","tag","unmasked","getRawTag","objectToString","baseIsArguments","isObjectLike","baseIsNative","isMasked","toSource","baseKeysIn","nativeKeysIn","isProto","isPrototype","baseMerge","srcIndex","customizer","stack","srcValue","mergeFunc","stacked","newValue","isCommon","isTyped","isArrayLike","isArrayLikeObject","buffer","isDeep","copy","cloneBuffer","typedArray","arrayBuffer","byteLength","cloneArrayBuffer","byteOffset","cloneTypedArray","copyArray","Ctor","isPlainObject","isNew","copyObject","keysIn","toPlainObject","initCloneObject","baseMergeDeep","baseRest","setToString","args","otherArgs","thisArg","apply","overRest","identity","isKeyable","getValue","count","lastCalled","stamp","remaining","shortOut","constant","other","isLength","baseUnary","merge","assigner","sources","guard","isIterateeCall","createAssigner","plugin","installed","finalOptions","GlobalVue","__webpack_exports__","t","l","m","c","d","o","__esModule","p","s","btoa","r","unescape","encodeURIComponent","JSON","stringify","sourceRoot","refs","parts","u","h","g","f","media","sourceMap","styleSheet","cssText","createTextNode","insertBefore","DEBUG","Error","head","getElementsByTagName","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","functional","beforeCreate","esModule","locals","STATE_CHANGER","INFINITE_EVENT","INFINITE_LOOP","remove","scrollHandler","isLoading","isComplete","isFirstLoad","inThrottle","throttleLimit","infiniteLoopChecked","infiniteLoopTimer","continuousCallTimes","Spinner","isNoResults","cache","$slots","elm","textContent","isNoMore","distance","onInfinite","spinner","direction","forceUseInfiniteWrapper","Event","attemptLoad","$on","$forceUpdate","stateChanger","loaded","complete","reset","$watch","deactivated","activated","getCurrentDistance","error","pageYOffset","tagName","hasAttribute","destroyed","BUBBLES","CIRCLES","DEFAULT","SPIRAL","WAVEDOTS","spinnerView","directives","rawName"],"mappings":"2EAAA,SAAAA,EAAAC,GACA,yBAAAA,EAAAC,QACAC,QAAAC,KAAA,2CAAAH,EAAAI,WAAA,uBACA,GA0BA,SAAAC,EAAAC,GACA,gBAAAA,EAAAC,mBAAAD,EAAAC,kBAAAC,UAGAC,EAAAC,SACAC,KAAA,SAAAC,EAAAZ,EAAAM,GAIA,SAAAO,EAAAC,GACA,GAAAR,EAAAS,QAAA,CAGA,IAAAC,EAAAF,EAAAG,MAAAH,EAAAI,cAAAJ,EAAAI,eACAF,KAAAG,OAAA,GAAAH,EAAAI,QAAAN,EAAAO,QAEAT,EAAAU,SAAAR,EAAAO,SApCA,SAAAE,EAAAP,GACA,IAAAO,IAAAP,EACA,SAEA,QAAAQ,EAAA,EAAAC,EAAAT,EAAAG,OAAwCK,EAAAC,EAASD,IACjD,IACA,GAAAD,EAAAD,SAAAN,EAAAQ,IACA,SAEA,GAAAR,EAAAQ,GAAAF,SAAAC,GACA,SAEK,MAAAT,GACL,SAIA,SAmBAY,CAAApB,EAAAS,QAAAQ,UAAAP,IAEAJ,EAAAe,oBAAAC,SAAAd,IAZAf,EAAAC,KAgBAY,EAAAe,qBACAd,UACAe,SAAA5B,EAAAC,QAEAI,EAAAC,IAAAuB,SAAAC,iBAAA,QAAAjB,KAGAkB,OAAA,SAAAnB,EAAAZ,GACAD,EAAAC,KAAAY,EAAAe,oBAAAC,SAAA5B,EAAAC,QAGA+B,OAAA,SAAApB,EAAAZ,EAAAM,IAEAD,EAAAC,IAAAuB,SAAAI,oBAAA,QAAArB,EAAAe,oBAAAd,gBACAD,EAAAe,yDCjEA,SAAAO,GA4BA;;;;;;;;;;;;;;;;;;;;;;;;;AAJA,IAAAC,EAAA,oBAAAC,QAAA,oBAAAP,SAEAQ,GAAA,4BACAC,EAAA,EACAd,EAAA,EAAeA,EAAAa,EAAAlB,OAAkCK,GAAA,EACjD,GAAAW,GAAAI,UAAAC,UAAAC,QAAAJ,EAAAb,KAAA,GACAc,EAAA,EACA,MA+BA,IAWAI,EAXAP,GAAAC,OAAAO,QA3BA,SAAAC,GACA,IAAAC,GAAA,EACA,kBACAA,IAGAA,GAAA,EACAT,OAAAO,QAAAG,UAAAC,KAAA,WACAF,GAAA,EACAD,SAKA,SAAAA,GACA,IAAAI,GAAA,EACA,kBACAA,IACAA,GAAA,EACAC,WAAA,WACAD,GAAA,EACAJ,KACON,MAyBP,SAAAY,EAAAC,GAEA,OAAAA,GAAA,yBAAAC,SAAAC,KAAAF,GAUA,SAAAG,EAAAC,EAAAC,GACA,OAAAD,EAAAE,SACA,SAGA,IAAAC,EAAAC,iBAAAJ,EAAA,MACA,OAAAC,EAAAE,EAAAF,GAAAE,EAUA,SAAAE,EAAAL,GACA,eAAAA,EAAAM,SACAN,EAEAA,EAAAO,YAAAP,EAAAQ,KAUA,SAAAC,EAAAT,GAEA,IAAAA,EACA,OAAA1B,SAAAoC,KAGA,OAAAV,EAAAM,UACA,WACA,WACA,OAAAN,EAAAW,cAAAD,KACA,gBACA,OAAAV,EAAAU,KAKA,IAAAE,EAAAb,EAAAC,GACAa,EAAAD,EAAAC,SACAC,EAAAF,EAAAE,UACAC,EAAAH,EAAAG,UAEA,8BAAAC,KAAAH,EAAAE,EAAAD,GACAd,EAGAS,EAAAJ,EAAAL,IAGA,IAAAiB,EAAArC,MAAAC,OAAAqC,uBAAA5C,SAAA6C,cACAC,EAAAxC,GAAA,UAAAoC,KAAAhC,UAAAC,WASA,SAAAoC,EAAAC,GACA,YAAAA,EACAL,EAEA,KAAAK,EACAF,EAEAH,GAAAG,EAUA,SAAAG,EAAAvB,GACA,IAAAA,EACA,OAAA1B,SAAAkD,gBAQA,IALA,IAAAC,EAAAJ,EAAA,IAAA/C,SAAAoC,KAAA,KAGAgB,EAAA1B,EAAA0B,aAEAA,IAAAD,GAAAzB,EAAA2B,oBACAD,GAAA1B,IAAA2B,oBAAAD,aAGA,IAAApB,EAAAoB,KAAApB,SAEA,OAAAA,GAAA,SAAAA,GAAA,SAAAA,GAMA,mBAAApB,QAAAwC,EAAApB,WAAA,WAAAP,EAAA2B,EAAA,YACAH,EAAAG,GAGAA,EATA1B,IAAAW,cAAAa,gBAAAlD,SAAAkD,gBA4BA,SAAAI,EAAAC,GACA,cAAAA,EAAAtB,WACAqB,EAAAC,EAAAtB,YAGAsB,EAWA,SAAAC,EAAAC,EAAAC,GAEA,KAAAD,KAAA7B,UAAA8B,KAAA9B,UACA,OAAA5B,SAAAkD,gBAIA,IAAAS,EAAAF,EAAAG,wBAAAF,GAAAG,KAAAC,4BACAC,EAAAJ,EAAAF,EAAAC,EACAM,EAAAL,EAAAD,EAAAD,EAGAQ,EAAAjE,SAAAkE,cACAD,EAAAE,SAAAJ,EAAA,GACAE,EAAAG,OAAAJ,EAAA,GACA,IAAAK,EAAAJ,EAAAI,wBAIA,GAAAZ,IAAAY,GAAAX,IAAAW,GAAAN,EAAAtE,SAAAuE,GACA,OApDA,SAAAtC,GACA,IAAAM,EAAAN,EAAAM,SAEA,eAAAA,IAGA,SAAAA,GAAAiB,EAAAvB,EAAA4C,qBAAA5C,GA8CA6C,CAAAF,GACAA,EAGApB,EAAAoB,GAIA,IAAAG,EAAAlB,EAAAG,GACA,OAAAe,EAAAtC,KACAsB,EAAAgB,EAAAtC,KAAAwB,GAEAF,EAAAC,EAAAH,EAAAI,GAAAxB,MAYA,SAAAuC,EAAA/C,GACA,IAEAgD,EAAA,SAFAC,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,GAAAA,UAAA,UAEA,yBACA3C,EAAAN,EAAAM,SAEA,YAAAA,GAAA,SAAAA,EAAA,CACA,IAAA6C,EAAAnD,EAAAW,cAAAa,gBAEA,OADAxB,EAAAW,cAAAyC,kBAAAD,GACAH,GAGA,OAAAhD,EAAAgD,GAmCA,SAAAK,EAAAC,EAAAC,GACA,IAAAC,EAAA,MAAAD,EAAA,aACAE,EAAA,SAAAD,EAAA,iBAEA,OAAAE,WAAAJ,EAAA,SAAAE,EAAA,aAAAE,WAAAJ,EAAA,SAAAG,EAAA,aAGA,SAAAE,EAAAJ,EAAA7C,EAAAyC,EAAAS,GACA,OAAAC,KAAAC,IAAApD,EAAA,SAAA6C,GAAA7C,EAAA,SAAA6C,GAAAJ,EAAA,SAAAI,GAAAJ,EAAA,SAAAI,GAAAJ,EAAA,SAAAI,GAAAlC,EAAA,IAAA8B,EAAA,SAAAI,GAAAK,EAAA,qBAAAL,EAAA,eAAAK,EAAA,qBAAAL,EAAA,sBAGA,SAAAQ,IACA,IAAArD,EAAApC,SAAAoC,KACAyC,EAAA7E,SAAAkD,gBACAoC,EAAAvC,EAAA,KAAAjB,iBAAA+C,GAEA,OACAa,OAAAL,EAAA,SAAAjD,EAAAyC,EAAAS,GACAK,MAAAN,EAAA,QAAAjD,EAAAyC,EAAAS,IAIA,IAAAM,EAAA,SAAAC,EAAAC,GACA,KAAAD,aAAAC,GACA,UAAAC,UAAA,sCAIAC,EAAA,WACA,SAAAC,EAAAzG,EAAA0G,GACA,QAAAvG,EAAA,EAAmBA,EAAAuG,EAAA5G,OAAkBK,IAAA,CACrC,IAAAwG,EAAAD,EAAAvG,GACAwG,EAAAC,WAAAD,EAAAC,aAAA,EACAD,EAAAE,cAAA,EACA,UAAAF,MAAAG,UAAA,GACAC,OAAAC,eAAAhH,EAAA2G,EAAAM,IAAAN,IAIA,gBAAAL,EAAAY,EAAAC,GAGA,OAFAD,GAAAT,EAAAH,EAAAc,UAAAF,GACAC,GAAAV,EAAAH,EAAAa,GACAb,GAdA,GAsBAU,EAAA,SAAAK,EAAAJ,EAAArI,GAYA,OAXAqI,KAAAI,EACAN,OAAAC,eAAAK,EAAAJ,GACArI,QACAgI,YAAA,EACAC,cAAA,EACAC,UAAA,IAGAO,EAAAJ,GAAArI,EAGAyI,GAGAC,EAAAP,OAAAQ,QAAA,SAAAvH,GACA,QAAAG,EAAA,EAAiBA,EAAAgF,UAAArF,OAAsBK,IAAA,CACvC,IAAAqH,EAAArC,UAAAhF,GAEA,QAAA8G,KAAAO,EACAT,OAAAK,UAAAK,eAAAzF,KAAAwF,EAAAP,KACAjH,EAAAiH,GAAAO,EAAAP,IAKA,OAAAjH,GAUA,SAAA0H,EAAAC,GACA,OAAAL,KAAoBK,GACpBC,MAAAD,EAAAE,KAAAF,EAAAxB,MACA2B,OAAAH,EAAAI,IAAAJ,EAAAzB,SAWA,SAAA8B,EAAA9F,GACA,IAAA+F,KAKA,IACA,GAAA1E,EAAA,KACA0E,EAAA/F,EAAA8F,wBACA,IAAAE,EAAAjD,EAAA/C,EAAA,OACAiG,EAAAlD,EAAA/C,EAAA,QACA+F,EAAAF,KAAAG,EACAD,EAAAJ,MAAAM,EACAF,EAAAH,QAAAI,EACAD,EAAAL,OAAAO,OAEAF,EAAA/F,EAAA8F,wBAEG,MAAAvI,IAEH,IAAA2I,GACAP,KAAAI,EAAAJ,KACAE,IAAAE,EAAAF,IACA5B,MAAA8B,EAAAL,MAAAK,EAAAJ,KACA3B,OAAA+B,EAAAH,OAAAG,EAAAF,KAIAM,EAAA,SAAAnG,EAAAM,SAAAyD,OACAE,EAAAkC,EAAAlC,OAAAjE,EAAAoG,aAAAF,EAAAR,MAAAQ,EAAAP,KACA3B,EAAAmC,EAAAnC,QAAAhE,EAAAqG,cAAAH,EAAAN,OAAAM,EAAAL,IAEAS,EAAAtG,EAAAuG,YAAAtC,EACAuC,EAAAxG,EAAAyG,aAAAzC,EAIA,GAAAsC,GAAAE,EAAA,CACA,IAAAlD,EAAAvD,EAAAC,GACAsG,GAAAjD,EAAAC,EAAA,KACAkD,GAAAnD,EAAAC,EAAA,KAEA4C,EAAAjC,OAAAqC,EACAJ,EAAAlC,QAAAwC,EAGA,OAAAhB,EAAAU,GAGA,SAAAQ,EAAAC,EAAAC,GACA,IAAAC,EAAA5D,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,IAAAA,UAAA,GAEA7B,EAAAC,EAAA,IACAyF,EAAA,SAAAF,EAAAtG,SACAyG,EAAAjB,EAAAa,GACAK,EAAAlB,EAAAc,GACAK,EAAAxG,EAAAkG,GAEArD,EAAAvD,EAAA6G,GACAM,EAAAxD,WAAAJ,EAAA4D,eAAA,IACAC,EAAAzD,WAAAJ,EAAA6D,gBAAA,IAGAN,GAAA,SAAAD,EAAAtG,WACA0G,EAAAnB,IAAAhC,KAAAC,IAAAkD,EAAAnB,IAAA,GACAmB,EAAArB,KAAA9B,KAAAC,IAAAkD,EAAArB,KAAA,IAEA,IAAAF,EAAAD,GACAK,IAAAkB,EAAAlB,IAAAmB,EAAAnB,IAAAqB,EACAvB,KAAAoB,EAAApB,KAAAqB,EAAArB,KAAAwB,EACAlD,MAAA8C,EAAA9C,MACAD,OAAA+C,EAAA/C,SASA,GAPAyB,EAAA2B,UAAA,EACA3B,EAAA4B,WAAA,GAMAjG,GAAA0F,EAAA,CACA,IAAAM,EAAA1D,WAAAJ,EAAA8D,UAAA,IACAC,EAAA3D,WAAAJ,EAAA+D,WAAA,IAEA5B,EAAAI,KAAAqB,EAAAE,EACA3B,EAAAG,QAAAsB,EAAAE,EACA3B,EAAAE,MAAAwB,EAAAE,EACA5B,EAAAC,OAAAyB,EAAAE,EAGA5B,EAAA2B,YACA3B,EAAA4B,aAOA,OAJAjG,IAAAyF,EAAAD,EAAA7I,SAAAkJ,GAAAL,IAAAK,GAAA,SAAAA,EAAA3G,YACAmF,EA1NA,SAAAM,EAAA/F,GACA,IAAAsH,EAAArE,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,IAAAA,UAAA,GAEA+C,EAAAjD,EAAA/C,EAAA,OACAiG,EAAAlD,EAAA/C,EAAA,QACAuH,EAAAD,GAAA,IAKA,OAJAvB,EAAAF,KAAAG,EAAAuB,EACAxB,EAAAH,QAAAI,EAAAuB,EACAxB,EAAAJ,MAAAM,EAAAsB,EACAxB,EAAAL,OAAAO,EAAAsB,EACAxB,EAgNAyB,CAAA/B,EAAAmB,IAGAnB,EAmDA,SAAAgC,EAAAzH,GAEA,IAAAA,MAAA0H,eAAArG,IACA,OAAA/C,SAAAkD,gBAGA,IADA,IAAAnE,EAAA2C,EAAA0H,cACArK,GAAA,SAAA0C,EAAA1C,EAAA,cACAA,IAAAqK,cAEA,OAAArK,GAAAiB,SAAAkD,gBAcA,SAAAmG,EAAAC,EAAAC,EAAAC,EAAAC,GACA,IAAAlB,EAAA5D,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,IAAAA,UAAA,GAIA+E,GAAoBnC,IAAA,EAAAF,KAAA,GACpBjE,EAAAmF,EAAAY,EAAAG,GAAA9F,EAAA8F,EAAAC,GAGA,gBAAAE,EACAC,EAjFA,SAAAhI,GACA,IAAAiI,EAAAhF,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,IAAAA,UAAA,GAEAE,EAAAnD,EAAAW,cAAAa,gBACA0G,EAAAxB,EAAA1G,EAAAmD,GACAc,EAAAJ,KAAAC,IAAAX,EAAAiD,YAAAvH,OAAAsJ,YAAA,GACAnE,EAAAH,KAAAC,IAAAX,EAAAkD,aAAAxH,OAAAuJ,aAAA,GAEApC,EAAAiC,EAAA,EAAAlF,EAAAI,GACA8C,EAAAgC,EAAA,EAAAlF,EAAAI,EAAA,QASA,OAAAqC,GANAK,IAAAG,EAAAkC,EAAArC,IAAAqC,EAAAd,UACAzB,KAAAM,EAAAiC,EAAAvC,KAAAuC,EAAAb,WACApD,QACAD,WAkEAqE,CAAA3G,EAAAmF,OACG,CAEH,IAAAyB,OAAA,EACA,iBAAAP,EAEA,UADAO,EAAA7H,EAAAJ,EAAAwH,KACAvH,WACAgI,EAAAV,EAAAjH,cAAAa,iBAGA8G,EADK,WAAAP,EACLH,EAAAjH,cAAAa,gBAEAuG,EAGA,IAAAtC,EAAAiB,EAAA4B,EAAA5G,EAAAmF,GAGA,YAAAyB,EAAAhI,UAtEA,SAAAiI,EAAAvI,GACA,IAAAM,EAAAN,EAAAM,SACA,eAAAA,GAAA,SAAAA,IAGA,UAAAP,EAAAC,EAAA,aAGAuI,EAAAlI,EAAAL,KA8DAuI,CAAA7G,GAWAsG,EAAAvC,MAXA,CACA,IAAA+C,EAAAzE,IACAC,EAAAwE,EAAAxE,OACAC,EAAAuE,EAAAvE,MAEA+D,EAAAnC,KAAAJ,EAAAI,IAAAJ,EAAA2B,UACAY,EAAApC,OAAA5B,EAAAyB,EAAAI,IACAmC,EAAArC,MAAAF,EAAAE,KAAAF,EAAA4B,WACAW,EAAAtC,MAAAzB,EAAAwB,EAAAE,MAaA,OALAqC,EAAArC,MAAAmC,EACAE,EAAAnC,KAAAiC,EACAE,EAAAtC,OAAAoC,EACAE,EAAApC,QAAAkC,EAEAE,EAmBA,SAAAS,EAAAC,EAAAC,EAAAf,EAAAC,EAAAE,GACA,IAAAD,EAAA7E,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,GAAAA,UAAA,KAEA,QAAAyF,EAAAxJ,QAAA,QACA,OAAAwJ,EAGA,IAAAV,EAAAL,EAAAC,EAAAC,EAAAC,EAAAC,GAEAa,GACA/C,KACA5B,MAAA+D,EAAA/D,MACAD,OAAA2E,EAAA9C,IAAAmC,EAAAnC,KAEAH,OACAzB,MAAA+D,EAAAtC,MAAAiD,EAAAjD,MACA1B,OAAAgE,EAAAhE,QAEA4B,QACA3B,MAAA+D,EAAA/D,MACAD,OAAAgE,EAAApC,OAAA+C,EAAA/C,QAEAD,MACA1B,MAAA0E,EAAAhD,KAAAqC,EAAArC,KACA3B,OAAAgE,EAAAhE,SAIA6E,EAAAhE,OAAAiE,KAAAF,GAAAG,IAAA,SAAAhE,GACA,OAAAK,GACAL,OACK6D,EAAA7D,IACLiE,KAhDA,SAAAC,GAIA,OAHAA,EAAAhF,MACAgF,EAAAjF,OA8CAkF,CAAAN,EAAA7D,QAEGoE,KAAA,SAAAC,EAAAC,GACH,OAAAA,EAAAL,KAAAI,EAAAJ,OAGAM,EAAAT,EAAAU,OAAA,SAAAC,GACA,IAAAvF,EAAAuF,EAAAvF,MACAD,EAAAwF,EAAAxF,OACA,OAAAC,GAAA2D,EAAAxB,aAAApC,GAAA4D,EAAAvB,eAGAoD,EAAAH,EAAA1L,OAAA,EAAA0L,EAAA,GAAAvE,IAAA8D,EAAA,GAAA9D,IAEA2E,EAAAhB,EAAAiB,MAAA,QAEA,OAAAF,GAAAC,EAAA,IAAAA,EAAA,IAaA,SAAAE,EAAAC,EAAAjC,EAAAC,GACA,IAAAhB,EAAA5D,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,GAAAA,UAAA,QAGA,OAAAyD,EAAAmB,EADAhB,EAAAY,EAAAG,GAAA9F,EAAA8F,EAAAC,GACAhB,GAUA,SAAAiD,EAAA9J,GACA,IAAAsD,EAAAlD,iBAAAJ,GACA+J,EAAArG,WAAAJ,EAAA8D,WAAA1D,WAAAJ,EAAA0G,cACAC,EAAAvG,WAAAJ,EAAA+D,YAAA3D,WAAAJ,EAAA4G,aAKA,OAHAjG,MAAAjE,EAAAuG,YAAA0D,EACAjG,OAAAhE,EAAAyG,aAAAsD,GAYA,SAAAI,EAAAzB,GACA,IAAA0B,GAAczE,KAAA,QAAAD,MAAA,OAAAE,OAAA,MAAAC,IAAA,UACd,OAAA6C,EAAA2B,QAAA,kCAAAC,GACA,OAAAF,EAAAE,KAcA,SAAAC,EAAA3C,EAAA4C,EAAA9B,GACAA,IAAAiB,MAAA,QAGA,IAAAc,EAAAX,EAAAlC,GAGA8C,GACAzG,MAAAwG,EAAAxG,MACAD,OAAAyG,EAAAzG,QAIA2G,GAAA,qBAAAzL,QAAAwJ,GACAkC,EAAAD,EAAA,aACAE,EAAAF,EAAA,aACAG,EAAAH,EAAA,iBACAI,EAAAJ,EAAA,iBASA,OAPAD,EAAAE,GAAAJ,EAAAI,GAAAJ,EAAAM,GAAA,EAAAL,EAAAK,GAAA,EAEAJ,EAAAG,GADAnC,IAAAmC,EACAL,EAAAK,GAAAJ,EAAAM,GAEAP,EAAAL,EAAAU,IAGAH,EAYA,SAAAM,EAAAC,EAAAC,GAEA,OAAAC,MAAAjG,UAAA8F,KACAC,EAAAD,KAAAE,GAIAD,EAAA1B,OAAA2B,GAAA,GAqCA,SAAAE,EAAAC,EAAAC,EAAAC,GAoBA,YAnBArI,IAAAqI,EAAAF,IAAAG,MAAA,EA1BA,SAAAP,EAAAQ,EAAA/O,GAEA,GAAAyO,MAAAjG,UAAAwG,UACA,OAAAT,EAAAS,UAAA,SAAAC,GACA,OAAAA,EAAAF,KAAA/O,IAKA,IAAAkP,EAAAZ,EAAAC,EAAA,SAAA9F,GACA,OAAAA,EAAAsG,KAAA/O,IAEA,OAAAuO,EAAA/L,QAAA0M,GAcAF,CAAAL,EAAA,OAAAE,KAEAM,QAAA,SAAAtE,GACAA,EAAA,UAEA5K,QAAAC,KAAA,yDAEA,IAAAyC,EAAAkI,EAAA,UAAAA,EAAAlI,GACAkI,EAAAuE,SAAAnM,EAAAN,KAIAiM,EAAA7F,QAAAmC,OAAApC,EAAA8F,EAAA7F,QAAAmC,QACA0D,EAAA7F,QAAAoC,UAAArC,EAAA8F,EAAA7F,QAAAoC,WAEAyD,EAAAjM,EAAAiM,EAAA/D,MAIA+D,EA8DA,SAAAS,EAAAV,EAAAW,GACA,OAAAX,EAAAY,KAAA,SAAAhD,GACA,IAAAiD,EAAAjD,EAAAiD,KAEA,OADAjD,EAAA6C,SACAI,IAAAF,IAWA,SAAAG,EAAAlM,GAIA,IAHA,IAAAmM,IAAA,2BACAC,EAAApM,EAAAqM,OAAA,GAAAC,cAAAtM,EAAAuL,MAAA,GAEAvN,EAAA,EAAiBA,EAAAmO,EAAAxO,OAAqBK,IAAA,CACtC,IAAAuO,EAAAJ,EAAAnO,GACAwO,EAAAD,EAAA,GAAAA,EAAAH,EAAApM,EACA,YAAA3B,SAAAoC,KAAAgM,MAAAD,GACA,OAAAA,EAGA,YAsCA,SAAAE,EAAA3M,GACA,IAAAW,EAAAX,EAAAW,cACA,OAAAA,IAAAiM,YAAA/N,OAoBA,SAAAgO,EAAAhF,EAAAiF,EAAAjD,EAAAkD,GAEAlD,EAAAkD,cACAJ,EAAA9E,GAAAtJ,iBAAA,SAAAsL,EAAAkD,aAAsEC,SAAA,IAGtE,IAAAC,EAAAxM,EAAAoH,GAKA,OA5BA,SAAAqF,EAAAjG,EAAAkG,EAAA9O,EAAA+O,GACA,IAAAC,EAAA,SAAApG,EAAA3G,SACAxC,EAAAuP,EAAApG,EAAAtG,cAAAiM,YAAA3F,EACAnJ,EAAAS,iBAAA4O,EAAA9O,GAA4C2O,SAAA,IAE5CK,GACAH,EAAAzM,EAAA3C,EAAAyC,YAAA4M,EAAA9O,EAAA+O,GAEAA,EAAAE,KAAAxP,GAgBAoP,CAAAD,EAAA,SAAApD,EAAAkD,YAAAlD,EAAAuD,eACAvD,EAAAoD,gBACApD,EAAA0D,eAAA,EAEA1D,EA6CA,SAAA2D,IACAC,KAAA5D,MAAA0D,gBACAG,qBAAAD,KAAAE,gBACAF,KAAA5D,MA3BA,SAAAhC,EAAAgC,GAcA,OAZA8C,EAAA9E,GAAAnJ,oBAAA,SAAAmL,EAAAkD,aAGAlD,EAAAuD,cAAAvB,QAAA,SAAA/N,GACAA,EAAAY,oBAAA,SAAAmL,EAAAkD,eAIAlD,EAAAkD,YAAA,KACAlD,EAAAuD,iBACAvD,EAAAoD,cAAA,KACApD,EAAA0D,eAAA,EACA1D,EAaA+D,CAAAH,KAAA5F,UAAA4F,KAAA5D,QAWA,SAAAgE,EAAAC,GACA,WAAAA,IAAAC,MAAArK,WAAAoK,KAAAE,SAAAF,GAWA,SAAAG,EAAAjO,EAAAsD,GACAuB,OAAAiE,KAAAxF,GAAAuI,QAAA,SAAAJ,GACA,IAAAyC,EAAA,IAEA,qDAAAhP,QAAAuM,IAAAoC,EAAAvK,EAAAmI,MACAyC,EAAA,MAEAlO,EAAA0M,MAAAjB,GAAAnI,EAAAmI,GAAAyC,IAyLA,SAAAC,EAAA9C,EAAA+C,EAAAC,GACA,IAAAC,EAAAtD,EAAAK,EAAA,SAAApC,GAEA,OADAA,EAAAiD,OACAkC,IAGAG,IAAAD,GAAAjD,EAAAY,KAAA,SAAA1E,GACA,OAAAA,EAAA2E,OAAAmC,GAAA9G,EAAAuE,SAAAvE,EAAAtF,MAAAqM,EAAArM,QAGA,IAAAsM,EAAA,CACA,IAAAC,EAAA,IAAAJ,EAAA,IACAK,EAAA,IAAAJ,EAAA,IACA1R,QAAAC,KAAA6R,EAAA,4BAAAD,EAAA,4DAAAA,EAAA,KAEA,OAAAD,EAoIA,IAAAG,GAAA,kKAGAC,EAAAD,EAAAlD,MAAA,GAYA,SAAAoD,EAAAlG,GACA,IAAAmG,EAAA5L,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,IAAAA,UAAA,GAEA6L,EAAAH,EAAAzP,QAAAwJ,GACAuC,EAAA0D,EAAAnD,MAAAsD,EAAA,GAAAC,OAAAJ,EAAAnD,MAAA,EAAAsD,IACA,OAAAD,EAAA5D,EAAA+D,UAAA/D,EAGA,IAAAgE,GACAC,KAAA,OACAC,UAAA,YACAC,iBAAA,oBA0LA,SAAAC,EAAAC,EAAA5E,EAAAF,EAAA+E,GACA,IAAA9J,GAAA,KAKA+J,GAAA,qBAAAtQ,QAAAqQ,GAIAE,EAAAH,EAAA3F,MAAA,WAAAZ,IAAA,SAAA2G,GACA,OAAAA,EAAAC,SAKAC,EAAAH,EAAAvQ,QAAA8L,EAAAyE,EAAA,SAAAC,GACA,WAAAA,EAAAG,OAAA,WAGAJ,EAAAG,KAAA,IAAAH,EAAAG,GAAA1Q,QAAA,MACAvC,QAAAC,KAAA,gFAKA,IAAAkT,EAAA,cACAC,GAAA,IAAAH,GAAAH,EAAAjE,MAAA,EAAAoE,GAAAb,QAAAU,EAAAG,GAAAjG,MAAAmG,GAAA,MAAAL,EAAAG,GAAAjG,MAAAmG,GAAA,IAAAf,OAAAU,EAAAjE,MAAAoE,EAAA,MAAAH,GAqCA,OAlCAM,IAAAhH,IAAA,SAAAiH,EAAAlB,GAEA,IAAAhE,GAAA,IAAAgE,GAAAU,KAAA,iBACAS,GAAA,EACA,OAAAD,EAGAE,OAAA,SAAA9G,EAAAC,GACA,WAAAD,IAAAxL,OAAA,mBAAAsB,QAAAmK,IACAD,IAAAxL,OAAA,GAAAyL,EACA4G,GAAA,EACA7G,GACO6G,GACP7G,IAAAxL,OAAA,IAAAyL,EACA4G,GAAA,EACA7G,GAEAA,EAAA2F,OAAA1F,QAIAN,IAAA,SAAAoH,GACA,OAxGA,SAAAA,EAAArF,EAAAJ,EAAAF,GAEA,IAAAb,EAAAwG,EAAAvE,MAAA,6BACAlP,GAAAiN,EAAA,GACAuE,EAAAvE,EAAA,GAGA,IAAAjN,EACA,OAAAyT,EAGA,OAAAjC,EAAAhP,QAAA,MACA,IAAAc,OAAA,EACA,OAAAkO,GACA,SACAlO,EAAA0K,EACA,MACA,QACA,SACA,QACA1K,EAAAwK,EAIA,OADAhF,EAAAxF,GACA8K,GAAA,IAAApO,EACG,UAAAwR,GAAA,OAAAA,EAQH,OALA,OAAAA,EACArK,KAAAC,IAAAxF,SAAAkD,gBAAA6E,aAAAxH,OAAAuJ,aAAA,GAEAvE,KAAAC,IAAAxF,SAAAkD,gBAAA4E,YAAAvH,OAAAsJ,YAAA,IAEA,IAAAzL,EAIA,OAAAA,EAmEA0T,CAAAD,EAAArF,EAAAJ,EAAAF,QAKAqB,QAAA,SAAAmE,EAAAlB,GACAkB,EAAAnE,QAAA,SAAA6D,EAAAW,GACAxC,EAAA6B,KACAjK,EAAAqJ,IAAAY,GAAA,MAAAM,EAAAK,EAAA,cAIA5K,EA2OA,IAkVA6K,GAKA5H,UAAA,SAMA6H,eAAA,EAMAhD,eAAA,EAOAiD,iBAAA,EAQAC,SAAA,aAUAC,SAAA,aAOArF,WA1XAsF,OAEA1O,MAAA,IAEA6J,SAAA,EAEAzM,GA9HA,SAAAiM,GACA,IAAA5C,EAAA4C,EAAA5C,UACA6G,EAAA7G,EAAAiB,MAAA,QACAiH,EAAAlI,EAAAiB,MAAA,QAGA,GAAAiH,EAAA,CACA,IAAAC,EAAAvF,EAAA7F,QACAoC,EAAAgJ,EAAAhJ,UACAD,EAAAiJ,EAAAjJ,OAEAkJ,GAAA,qBAAA5R,QAAAqQ,GACAwB,EAAAD,EAAA,aACAhG,EAAAgG,EAAA,iBAEAE,GACA3O,MAAAyC,KAA8BiM,EAAAlJ,EAAAkJ,IAC9BzO,IAAAwC,KAA4BiM,EAAAlJ,EAAAkJ,GAAAlJ,EAAAiD,GAAAlD,EAAAkD,KAG5BQ,EAAA7F,QAAAmC,OAAAxC,KAAqCwC,EAAAoJ,EAAAJ,IAGrC,OAAAtF,IAgJAgE,QAEArN,MAAA,IAEA6J,SAAA,EAEAzM,GA7RA,SAAAiM,EAAArC,GACA,IAAAqG,EAAArG,EAAAqG,OACA5G,EAAA4C,EAAA5C,UACAmI,EAAAvF,EAAA7F,QACAmC,EAAAiJ,EAAAjJ,OACAC,EAAAgJ,EAAAhJ,UAEA0H,EAAA7G,EAAAiB,MAAA,QAEAlE,OAAA,EAsBA,OApBAA,EADAoI,GAAAyB,KACAA,EAAA,GAEAD,EAAAC,EAAA1H,EAAAC,EAAA0H,GAGA,SAAAA,GACA3H,EAAA/B,KAAAJ,EAAA,GACAmC,EAAAjC,MAAAF,EAAA,IACG,UAAA8J,GACH3H,EAAA/B,KAAAJ,EAAA,GACAmC,EAAAjC,MAAAF,EAAA,IACG,QAAA8J,GACH3H,EAAAjC,MAAAF,EAAA,GACAmC,EAAA/B,KAAAJ,EAAA,IACG,WAAA8J,IACH3H,EAAAjC,MAAAF,EAAA,GACAmC,EAAA/B,KAAAJ,EAAA,IAGA6F,EAAA1D,SACA0D,GAkQAgE,OAAA,GAoBA2B,iBAEAhP,MAAA,IAEA6J,SAAA,EAEAzM,GAlRA,SAAAiM,EAAAwB,GACA,IAAA/E,EAAA+E,EAAA/E,mBAAAxG,EAAA+J,EAAAnH,SAAAyD,QAKA0D,EAAAnH,SAAA0D,YAAAE,IACAA,EAAAxG,EAAAwG,IAMA,IAAAmJ,EAAA/E,EAAA,aACAgF,EAAA7F,EAAAnH,SAAAyD,OAAA8E,MACA7G,EAAAsL,EAAAtL,IACAF,EAAAwL,EAAAxL,KACAyL,EAAAD,EAAAD,GAEAC,EAAAtL,IAAA,GACAsL,EAAAxL,KAAA,GACAwL,EAAAD,GAAA,GAEA,IAAAlJ,EAAAL,EAAA2D,EAAAnH,SAAAyD,OAAA0D,EAAAnH,SAAA0D,UAAAiF,EAAAhF,QAAAC,EAAAuD,EAAAiF,eAIAY,EAAAtL,MACAsL,EAAAxL,OACAwL,EAAAD,GAAAE,EAEAtE,EAAA9E,aAEA,IAAA/F,EAAA6K,EAAAuE,SACAzJ,EAAA0D,EAAA7F,QAAAmC,OAEAsD,GACAoG,QAAA,SAAA5I,GACA,IAAAhM,EAAAkL,EAAAc,GAIA,OAHAd,EAAAc,GAAAV,EAAAU,KAAAoE,EAAAyE,sBACA7U,EAAAmH,KAAAC,IAAA8D,EAAAc,GAAAV,EAAAU,KAEA5D,KAA8B4D,EAAAhM,IAE9B8U,UAAA,SAAA9I,GACA,IAAAkC,EAAA,UAAAlC,EAAA,aACAhM,EAAAkL,EAAAgD,GAIA,OAHAhD,EAAAc,GAAAV,EAAAU,KAAAoE,EAAAyE,sBACA7U,EAAAmH,KAAA4N,IAAA7J,EAAAgD,GAAA5C,EAAAU,IAAA,UAAAA,EAAAd,EAAA3D,MAAA2D,EAAA5D,UAEAc,KAA8B8F,EAAAlO,KAW9B,OAPAuF,EAAA4J,QAAA,SAAAnD,GACA,IAAAqI,GAAA,mBAAA7R,QAAAwJ,GAAA,sBACAd,EAAAxC,KAAwBwC,EAAAsD,EAAA6F,GAAArI,MAGxB4C,EAAA7F,QAAAmC,SAEA0D,GA2NA+F,UAAA,+BAOAvJ,QAAA,EAMAC,kBAAA,gBAYA2J,cAEAzP,MAAA,IAEA6J,SAAA,EAEAzM,GAlgBA,SAAAiM,GACA,IAAAuF,EAAAvF,EAAA7F,QACAmC,EAAAiJ,EAAAjJ,OACAC,EAAAgJ,EAAAhJ,UAEAa,EAAA4C,EAAA5C,UAAAiB,MAAA,QACAgI,EAAA9N,KAAA8N,MACAb,GAAA,qBAAA5R,QAAAwJ,GACAqI,EAAAD,EAAA,iBACAc,EAAAd,EAAA,aACAhG,EAAAgG,EAAA,iBASA,OAPAlJ,EAAAmJ,GAAAY,EAAA9J,EAAA+J,MACAtG,EAAA7F,QAAAmC,OAAAgK,GAAAD,EAAA9J,EAAA+J,IAAAhK,EAAAkD,IAEAlD,EAAAgK,GAAAD,EAAA9J,EAAAkJ,MACAzF,EAAA7F,QAAAmC,OAAAgK,GAAAD,EAAA9J,EAAAkJ,KAGAzF,IA4fAuG,OAEA5P,MAAA,IAEA6J,SAAA,EAEAzM,GA7wBA,SAAAiM,EAAAwB,GACA,IAAAgF,EAGA,IAAA3D,EAAA7C,EAAAnH,SAAAkH,UAAA,wBACA,OAAAC,EAGA,IAAAyG,EAAAjF,EAAA9M,QAGA,oBAAA+R,GAIA,KAHAA,EAAAzG,EAAAnH,SAAAyD,OAAAoK,cAAAD,IAIA,OAAAzG,OAKA,IAAAA,EAAAnH,SAAAyD,OAAA7J,SAAAgU,GAEA,OADApV,QAAAC,KAAA,iEACA0O,EAIA,IAAA5C,EAAA4C,EAAA5C,UAAAiB,MAAA,QACAkH,EAAAvF,EAAA7F,QACAmC,EAAAiJ,EAAAjJ,OACAC,EAAAgJ,EAAAhJ,UAEAiJ,GAAA,qBAAA5R,QAAAwJ,GAEAxK,EAAA4S,EAAA,iBACAmB,EAAAnB,EAAA,aACAC,EAAAkB,EAAAC,cACAC,EAAArB,EAAA,aACAc,EAAAd,EAAA,iBACAsB,EAAAtI,EAAAiI,GAAA7T,GAQA2J,EAAA+J,GAAAQ,EAAAxK,EAAAmJ,KACAzF,EAAA7F,QAAAmC,OAAAmJ,IAAAnJ,EAAAmJ,IAAAlJ,EAAA+J,GAAAQ,IAGAvK,EAAAkJ,GAAAqB,EAAAxK,EAAAgK,KACAtG,EAAA7F,QAAAmC,OAAAmJ,IAAAlJ,EAAAkJ,GAAAqB,EAAAxK,EAAAgK,IAEAtG,EAAA7F,QAAAmC,OAAApC,EAAA8F,EAAA7F,QAAAmC,QAGA,IAAAyK,EAAAxK,EAAAkJ,GAAAlJ,EAAA3J,GAAA,EAAAkU,EAAA,EAIAjS,EAAAJ,EAAAuL,EAAAnH,SAAAyD,QACA0K,EAAA5O,WAAAvD,EAAA,SAAA8R,GAAA,IACAM,EAAA7O,WAAAvD,EAAA,SAAA8R,EAAA,aACAO,EAAAH,EAAA/G,EAAA7F,QAAAmC,OAAAmJ,GAAAuB,EAAAC,EAQA,OALAC,EAAA3O,KAAAC,IAAAD,KAAA4N,IAAA7J,EAAA1J,GAAAkU,EAAAI,GAAA,GAEAlH,EAAAyG,eACAzG,EAAA7F,QAAAoM,OAAgD/M,EAAhDgN,KAAgDf,EAAAlN,KAAA4O,MAAAD,IAAA1N,EAAAgN,EAAAK,EAAA,IAAAL,GAEhDxG,GAusBAtL,QAAA,aAcA0S,MAEAzQ,MAAA,IAEA6J,SAAA,EAEAzM,GAroBA,SAAAiM,EAAAwB,GAEA,GAAAf,EAAAT,EAAAnH,SAAAkH,UAAA,SACA,OAAAC,EAGA,GAAAA,EAAAqH,SAAArH,EAAA5C,YAAA4C,EAAAsH,kBAEA,OAAAtH,EAGA,IAAAtD,EAAAL,EAAA2D,EAAAnH,SAAAyD,OAAA0D,EAAAnH,SAAA0D,UAAAiF,EAAAhF,QAAAgF,EAAA/E,kBAAAuD,EAAAiF,eAEA7H,EAAA4C,EAAA5C,UAAAiB,MAAA,QACAkJ,EAAA1I,EAAAzB,GACAgB,EAAA4B,EAAA5C,UAAAiB,MAAA,YAEAmJ,KAEA,OAAAhG,EAAAiG,UACA,KAAA9D,EAAAC,KACA4D,GAAApK,EAAAmK,GACA,MACA,KAAA5D,EAAAE,UACA2D,EAAAlE,EAAAlG,GACA,MACA,KAAAuG,EAAAG,iBACA0D,EAAAlE,EAAAlG,GAAA,GACA,MACA,QACAoK,EAAAhG,EAAAiG,SAkDA,OA/CAD,EAAAjH,QAAA,SAAAmH,EAAAlE,GACA,GAAApG,IAAAsK,GAAAF,EAAAlV,SAAAkR,EAAA,EACA,OAAAxD,EAGA5C,EAAA4C,EAAA5C,UAAAiB,MAAA,QACAkJ,EAAA1I,EAAAzB,GAEA,IAAAgC,EAAAY,EAAA7F,QAAAmC,OACAqL,EAAA3H,EAAA7F,QAAAoC,UAGA8J,EAAA9N,KAAA8N,MACAuB,EAAA,SAAAxK,GAAAiJ,EAAAjH,EAAAhF,OAAAiM,EAAAsB,EAAAtN,OAAA,UAAA+C,GAAAiJ,EAAAjH,EAAA/E,MAAAgM,EAAAsB,EAAAvN,QAAA,QAAAgD,GAAAiJ,EAAAjH,EAAA9E,QAAA+L,EAAAsB,EAAApN,MAAA,WAAA6C,GAAAiJ,EAAAjH,EAAA7E,KAAA8L,EAAAsB,EAAArN,QAEAuN,EAAAxB,EAAAjH,EAAA/E,MAAAgM,EAAA3J,EAAArC,MACAyN,EAAAzB,EAAAjH,EAAAhF,OAAAiM,EAAA3J,EAAAtC,OACA2N,EAAA1B,EAAAjH,EAAA7E,KAAA8L,EAAA3J,EAAAnC,KACAyN,EAAA3B,EAAAjH,EAAA9E,QAAA+L,EAAA3J,EAAApC,QAEA2N,EAAA,SAAA7K,GAAAyK,GAAA,UAAAzK,GAAA0K,GAAA,QAAA1K,GAAA2K,GAAA,WAAA3K,GAAA4K,EAGAxC,GAAA,qBAAA5R,QAAAwJ,GACA8K,IAAA1G,EAAA2G,iBAAA3C,GAAA,UAAApH,GAAAyJ,GAAArC,GAAA,QAAApH,GAAA0J,IAAAtC,GAAA,UAAApH,GAAA2J,IAAAvC,GAAA,QAAApH,GAAA4J,IAEAJ,GAAAK,GAAAC,KAEAlI,EAAAqH,SAAA,GAEAO,GAAAK,KACA7K,EAAAoK,EAAAhE,EAAA,IAGA0E,IACA9J,EAhJA,SAAAA,GACA,cAAAA,EACA,QACG,UAAAA,EACH,MAEAA,EA0IAgK,CAAAhK,IAGA4B,EAAA5C,aAAAgB,EAAA,IAAAA,EAAA,IAIA4B,EAAA7F,QAAAmC,OAAAxC,KAAuCkG,EAAA7F,QAAAmC,OAAA2C,EAAAe,EAAAnH,SAAAyD,OAAA0D,EAAA7F,QAAAoC,UAAAyD,EAAA5C,YAEvC4C,EAAAF,EAAAE,EAAAnH,SAAAkH,UAAAC,EAAA,WAGAA,GA4jBAyH,SAAA,OAKAjL,QAAA,EAOAC,kBAAA,YAUA4L,OAEA1R,MAAA,IAEA6J,SAAA,EAEAzM,GArPA,SAAAiM,GACA,IAAA5C,EAAA4C,EAAA5C,UACA6G,EAAA7G,EAAAiB,MAAA,QACAkH,EAAAvF,EAAA7F,QACAmC,EAAAiJ,EAAAjJ,OACAC,EAAAgJ,EAAAhJ,UAEA8C,GAAA,qBAAAzL,QAAAqQ,GAEAqE,GAAA,mBAAA1U,QAAAqQ,GAOA,OALA3H,EAAA+C,EAAA,cAAA9C,EAAA0H,IAAAqE,EAAAhM,EAAA+C,EAAA,qBAEAW,EAAA5C,UAAAyB,EAAAzB,GACA4C,EAAA7F,QAAAmC,OAAApC,EAAAoC,GAEA0D,IAkPAuI,MAEA5R,MAAA,IAEA6J,SAAA,EAEAzM,GA9SA,SAAAiM,GACA,IAAA6C,EAAA7C,EAAAnH,SAAAkH,UAAA,0BACA,OAAAC,EAGA,IAAA3C,EAAA2C,EAAA7F,QAAAoC,UACAiM,EAAA9I,EAAAM,EAAAnH,SAAAkH,UAAA,SAAA9D,GACA,0BAAAA,EAAA2E,OACGlE,WAEH,GAAAW,EAAA/C,OAAAkO,EAAAjO,KAAA8C,EAAAhD,KAAAmO,EAAApO,OAAAiD,EAAA9C,IAAAiO,EAAAlO,QAAA+C,EAAAjD,MAAAoO,EAAAnO,KAAA,CAEA,QAAA2F,EAAAuI,KACA,OAAAvI,EAGAA,EAAAuI,MAAA,EACAvI,EAAAyI,WAAA,8BACG,CAEH,QAAAzI,EAAAuI,KACA,OAAAvI,EAGAA,EAAAuI,MAAA,EACAvI,EAAAyI,WAAA,0BAGA,OAAAzI,IAoSA0I,cAEA/R,MAAA,IAEA6J,SAAA,EAEAzM,GA7+BA,SAAAiM,EAAAwB,GACA,IAAA/C,EAAA+C,EAAA/C,EACAE,EAAA6C,EAAA7C,EACArC,EAAA0D,EAAA7F,QAAAmC,OAIAqM,EAAAjJ,EAAAM,EAAAnH,SAAAkH,UAAA,SAAA9D,GACA,qBAAAA,EAAA2E,OACGgI,qBACHhR,IAAA+Q,GACAtX,QAAAC,KAAA,iIAEA,IAAAsX,OAAAhR,IAAA+Q,IAAAnH,EAAAoH,gBAGAC,EAAArO,EADAvE,EAAA+J,EAAAnH,SAAAyD,SAIAtE,GACA8Q,SAAAxM,EAAAwM,UAMA3O,GACAE,KAAA9B,KAAA8N,MAAA/J,EAAAjC,MACAE,IAAAhC,KAAA4O,MAAA7K,EAAA/B,KACAD,OAAA/B,KAAA4O,MAAA7K,EAAAhC,QACAF,MAAA7B,KAAA8N,MAAA/J,EAAAlC,QAGAlC,EAAA,WAAAuG,EAAA,eACAtG,EAAA,UAAAwG,EAAA,eAKAoK,EAAAlI,EAAA,aAWAxG,OAAA,EACAE,OAAA,EAWA,GATAA,EADA,WAAArC,GACA2Q,EAAAnQ,OAAAyB,EAAAG,OAEAH,EAAAI,IAGAF,EADA,UAAAlC,GACA0Q,EAAAlQ,MAAAwB,EAAAC,MAEAD,EAAAE,KAEAuO,GAAAG,EACA/Q,EAAA+Q,GAAA,eAAA1O,EAAA,OAAAE,EAAA,SACAvC,EAAAE,GAAA,EACAF,EAAAG,GAAA,EACAH,EAAAgR,WAAA,gBACG,CAEH,IAAAC,EAAA,WAAA/Q,GAAA,IACAgR,EAAA,UAAA/Q,GAAA,IACAH,EAAAE,GAAAqC,EAAA0O,EACAjR,EAAAG,GAAAkC,EAAA6O,EACAlR,EAAAgR,WAAA9Q,EAAA,KAAAC,EAIA,IAAAsQ,GACAU,cAAAnJ,EAAA5C,WAQA,OAJA4C,EAAAyI,WAAA3O,KAA+B2O,EAAAzI,EAAAyI,YAC/BzI,EAAAhI,OAAA8B,KAA2B9B,EAAAgI,EAAAhI,QAC3BgI,EAAAoJ,YAAAtP,KAAgCkG,EAAA7F,QAAAoM,MAAAvG,EAAAoJ,aAEhCpJ,GA65BA4I,iBAAA,EAMAnK,EAAA,SAMAE,EAAA,SAkBA0K,YAEA1S,MAAA,IAEA6J,SAAA,EAEAzM,GA7kCA,SAAAiM,GAgBA,OAXA2C,EAAA3C,EAAAnH,SAAAyD,OAAA0D,EAAAhI,QAzBA,SAAAtD,EAAA+T,GACAlP,OAAAiE,KAAAiL,GAAAlI,QAAA,SAAAJ,IAEA,IADAsI,EAAAtI,GAEAzL,EAAA4U,aAAAnJ,EAAAsI,EAAAtI,IAEAzL,EAAA6U,gBAAApJ,KAuBAqJ,CAAAxJ,EAAAnH,SAAAyD,OAAA0D,EAAAyI,YAGAzI,EAAAyG,cAAAlN,OAAAiE,KAAAwC,EAAAoJ,aAAA9W,QACAqQ,EAAA3C,EAAAyG,aAAAzG,EAAAoJ,aAGApJ,GA+jCAyJ,OAljCA,SAAAlN,EAAAD,EAAAkF,EAAAkI,EAAAnL,GAEA,IAAAW,EAAAZ,EAAAC,EAAAjC,EAAAC,EAAAiF,EAAAyD,eAKA7H,EAAAD,EAAAqE,EAAApE,UAAA8B,EAAA5C,EAAAC,EAAAiF,EAAAzB,UAAAqH,KAAA3K,kBAAA+E,EAAAzB,UAAAqH,KAAA5K,SAQA,OANAF,EAAAgN,aAAA,cAAAlM,GAIAuF,EAAArG,GAAqBwM,SAAAtH,EAAAyD,cAAA,qBAErBzD,GA0iCAoH,qBAAAhR,KAuGA+R,EAAA,WASA,SAAAA,EAAApN,EAAAD,GACA,IAAAsN,EAAAzH,KAEAX,EAAA7J,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,GAAAA,UAAA,MACAiB,EAAAuJ,KAAAwH,GAEAxH,KAAAE,eAAA,WACA,OAAAwH,sBAAAD,EAAA1W,SAIAiP,KAAAjP,OAAAW,EAAAsO,KAAAjP,OAAApB,KAAAqQ,OAGAA,KAAAX,QAAA1H,KAA8B6P,EAAA3E,SAAAxD,GAG9BW,KAAA5D,OACAuL,aAAA,EACAC,WAAA,EACAjI,kBAIAK,KAAA5F,eAAAyN,OAAAzN,EAAA,GAAAA,EACA4F,KAAA7F,YAAA0N,OAAA1N,EAAA,GAAAA,EAGA6F,KAAAX,QAAAzB,aACAxG,OAAAiE,KAAA1D,KAA2B6P,EAAA3E,SAAAjF,UAAAyB,EAAAzB,YAAAQ,QAAA,SAAAK,GAC3BgJ,EAAApI,QAAAzB,UAAAa,GAAA9G,KAAiD6P,EAAA3E,SAAAjF,UAAAa,OAAuCY,EAAAzB,UAAAyB,EAAAzB,UAAAa,SAIxFuB,KAAApC,UAAAxG,OAAAiE,KAAA2E,KAAAX,QAAAzB,WAAAtC,IAAA,SAAAmD,GACA,OAAA9G,GACA8G,QACOgJ,EAAApI,QAAAzB,UAAAa,MAGP/C,KAAA,SAAAC,EAAAC,GACA,OAAAD,EAAAnH,MAAAoH,EAAApH,QAOAwL,KAAApC,UAAAQ,QAAA,SAAAmJ,GACAA,EAAAlJ,SAAAnM,EAAAqV,EAAAD,SACAC,EAAAD,OAAAG,EAAArN,UAAAqN,EAAAtN,OAAAsN,EAAApI,QAAAkI,EAAAE,EAAArL,SAKA4D,KAAAjP,SAEA,IAAA+O,EAAAE,KAAAX,QAAAS,cACAA,GAEAE,KAAA8H,uBAGA9H,KAAA5D,MAAA0D,gBAqDA,OA9CAjJ,EAAA2Q,IACAlQ,IAAA,SACArI,MAAA,WACA,OAlhDA,WAEA,IAAA+Q,KAAA5D,MAAAuL,YAAA,CAIA,IAAA9J,GACAnH,SAAAsJ,KACAnK,UACAoR,eACAX,cACApB,SAAA,EACAlN,YAIA6F,EAAA7F,QAAAoC,UAAA+B,EAAA6D,KAAA5D,MAAA4D,KAAA7F,OAAA6F,KAAA5F,UAAA4F,KAAAX,QAAAyD,eAKAjF,EAAA5C,UAAAD,EAAAgF,KAAAX,QAAApE,UAAA4C,EAAA7F,QAAAoC,UAAA4F,KAAA7F,OAAA6F,KAAA5F,UAAA4F,KAAAX,QAAAzB,UAAAqH,KAAA3K,kBAAA0F,KAAAX,QAAAzB,UAAAqH,KAAA5K,SAGAwD,EAAAsH,kBAAAtH,EAAA5C,UAEA4C,EAAAiF,cAAA9C,KAAAX,QAAAyD,cAGAjF,EAAA7F,QAAAmC,OAAA2C,EAAAkD,KAAA7F,OAAA0D,EAAA7F,QAAAoC,UAAAyD,EAAA5C,WAEA4C,EAAA7F,QAAAmC,OAAAwM,SAAA3G,KAAAX,QAAAyD,cAAA,mBAGAjF,EAAAF,EAAAqC,KAAApC,UAAAC,GAIAmC,KAAA5D,MAAAwL,UAIA5H,KAAAX,QAAA4D,SAAApF,IAHAmC,KAAA5D,MAAAwL,WAAA,EACA5H,KAAAX,QAAA2D,SAAAnF,MA0+CAxL,KAAA2N,SAGA1I,IAAA,UACArI,MAAA,WACA,OAj8CA,WAsBA,OArBA+Q,KAAA5D,MAAAuL,aAAA,EAGArJ,EAAA0B,KAAApC,UAAA,gBACAoC,KAAA7F,OAAAiN,gBAAA,eACApH,KAAA7F,OAAA8E,MAAA0H,SAAA,GACA3G,KAAA7F,OAAA8E,MAAA7G,IAAA,GACA4H,KAAA7F,OAAA8E,MAAA/G,KAAA,GACA8H,KAAA7F,OAAA8E,MAAAhH,MAAA,GACA+H,KAAA7F,OAAA8E,MAAA9G,OAAA,GACA6H,KAAA7F,OAAA8E,MAAA4H,WAAA,GACA7G,KAAA7F,OAAA8E,MAAAP,EAAA,kBAGAsB,KAAAD,wBAIAC,KAAAX,QAAA0D,iBACA/C,KAAA7F,OAAArH,WAAAiV,YAAA/H,KAAA7F,QAEA6F,MA26CA3N,KAAA2N,SAGA1I,IAAA,uBACArI,MAAA,WACA,OA93CA,WACA+Q,KAAA5D,MAAA0D,gBACAE,KAAA5D,MAAAgD,EAAAY,KAAA5F,UAAA4F,KAAAX,QAAAW,KAAA5D,MAAA4D,KAAAE,kBA43CA7N,KAAA2N,SAGA1I,IAAA,wBACArI,MAAA,WACA,OAAA8Q,EAAA1N,KAAA2N,UA4BAwH,EA7HA,GAqJAA,EAAAQ,OAAA,oBAAA5W,cAAAF,GAAA+W,YACAT,EAAAvG,aACAuG,EAAA3E,WAEA,IAAAqF,EAAA,aAKA,SAAAC,EAAAlZ,GAIA,MAHA,iBAAAA,IACAA,IAAAiN,MAAA,MAEAjN,EAUA,SAAAmZ,GAAAxY,EAAAyY,GACA,IAAAC,EAAAH,EAAAE,GACAE,OAAA,EAEAA,EADA3Y,EAAA4Y,qBAAAN,EACAC,EAAAvY,EAAA4Y,UAAAC,SAEAN,EAAAvY,EAAA4Y,WAEAF,EAAAlK,QAAA,SAAAsK,IACA,IAAAH,EAAA9W,QAAAiX,IACAH,EAAA1I,KAAA6I,KAGA9Y,aAAA+Y,WACA/Y,EAAAuX,aAAA,QAAAoB,EAAAK,KAAA,MAEAhZ,EAAA4Y,UAAAD,EAAAK,KAAA,KAWA,SAAAC,GAAAjZ,EAAAyY,GACA,IAAAC,EAAAH,EAAAE,GACAE,OAAA,EAEAA,EADA3Y,EAAA4Y,qBAAAN,EACAC,EAAAvY,EAAA4Y,UAAAC,SAEAN,EAAAvY,EAAA4Y,WAEAF,EAAAlK,QAAA,SAAAsK,GACA,IAAArH,EAAAkH,EAAA9W,QAAAiX,IACA,IAAArH,GACAkH,EAAAO,OAAAzH,EAAA,KAGAzR,aAAA+Y,WACA/Y,EAAAuX,aAAA,QAAAoB,EAAAK,KAAA,MAEAhZ,EAAA4Y,UAAAD,EAAAK,KAAA,KA9DA,oBAAAxX,SACA8W,EAAA9W,OAAA8W,mBAiEA,IAAAa,IAAA,EAEA,uBAAA3X,OAAA,CACA2X,IAAA,EACA,IACA,IAAAC,GAAA5R,OAAAC,kBAAqC,WACrC4R,IAAA,WACAF,IAAA,KAGA3X,OAAAN,iBAAA,YAAAkY,IACE,MAAAlZ,KAGF,IAAAoZ,GAAA,mBAAAC,QAAA,iBAAAA,OAAAC,SAAA,SAAA1R,GACA,cAAAA,GACC,SAAAA,GACD,OAAAA,GAAA,mBAAAyR,QAAAzR,EAAA2R,cAAAF,QAAAzR,IAAAyR,OAAA1R,UAAA,gBAAAC,GAaA4R,GAAA,SAAA5S,EAAAC,GACA,KAAAD,aAAAC,GACA,UAAAC,UAAA,sCAIA2S,GAAA,WACA,SAAAzS,EAAAzG,EAAA0G,GACA,QAAAvG,EAAA,EAAmBA,EAAAuG,EAAA5G,OAAkBK,IAAA,CACrC,IAAAwG,EAAAD,EAAAvG,GACAwG,EAAAC,WAAAD,EAAAC,aAAA,EACAD,EAAAE,cAAA,EACA,UAAAF,MAAAG,UAAA,GACAC,OAAAC,eAAAhH,EAAA2G,EAAAM,IAAAN,IAIA,gBAAAL,EAAAY,EAAAC,GAGA,OAFAD,GAAAT,EAAAH,EAAAc,UAAAF,GACAC,GAAAV,EAAAH,EAAAa,GACAb,GAdA,GAwBA6S,GAAApS,OAAAQ,QAAA,SAAAvH,GACA,QAAAG,EAAA,EAAiBA,EAAAgF,UAAArF,OAAsBK,IAAA,CACvC,IAAAqH,EAAArC,UAAAhF,GAEA,QAAA8G,KAAAO,EACAT,OAAAK,UAAAK,eAAAzF,KAAAwF,EAAAP,KACAjH,EAAAiH,GAAAO,EAAAP,IAKA,OAAAjH,GAKAoZ,IACAC,WAAA,EACAC,MAAA,EACAjU,MAAA,EACAuF,UAAA,MACA2O,MAAA,GACAC,SAAA,+GACAC,QAAA,cACAjI,OAAA,GAGAkI,MAEAC,GAAA,WAkCA,SAAAA,EAAA5P,EAAAiF,GACAiK,GAAAtJ,KAAAgK,GAEAC,GAAA5X,KAAA2N,MAGAX,EAAAmK,MAAyBC,GAAApK,GAEzBjF,EAAAyN,SAAAzN,IAAA,IAGA4F,KAAA5F,YACA4F,KAAAX,UAGAW,KAAAkK,SAAA,EAEAlK,KAAAmK,QAwgBA,OApeAZ,GAAAS,IACA1S,IAAA,aACArI,MAAA,SAAAoZ,GACArI,KAAAoK,SAAA/B,KAGA/Q,IAAA,aACArI,MAAA,SAAAob,GACArK,KAAAX,QAAAuK,MAAAS,EACArK,KAAAsK,cACAtK,KAAAuK,YAAAF,EAAArK,KAAAX,YAIA/H,IAAA,aACArI,MAAA,SAAAoQ,GACA,IAAAmL,GAAA,EACAnC,EAAAhJ,KAAAgJ,SAAAoC,GAAApL,QAAAqL,aACA1K,KAAAoK,WAAA/B,IACArI,KAAA2K,WAAAtC,GACAmC,GAAA,GAGAnL,EAAAuL,GAAAvL,GAEA,IAAAwL,GAAA,EACAC,GAAA,EAUA,QAAAxT,KARA0I,KAAAX,QAAAwC,SAAAxC,EAAAwC,QAAA7B,KAAAX,QAAApE,YAAAoE,EAAApE,YACA4P,GAAA,IAGA7K,KAAAX,QAAAwK,WAAAxK,EAAAwK,UAAA7J,KAAAX,QAAAyK,UAAAzK,EAAAyK,SAAA9J,KAAAX,QAAAqK,YAAArK,EAAAqK,WAAAc,KACAM,GAAA,GAGAzL,EACAW,KAAAX,QAAA/H,GAAA+H,EAAA/H,GAGA,GAAA0I,KAAAsK,aACA,GAAAQ,EAAA,CACA,IAAAC,EAAA/K,KAAAkK,QAEAlK,KAAAgL,UACAhL,KAAAmK,QAEAY,GACA/K,KAAAiL,YAEKJ,GACL7K,KAAAkL,eAAAna,YAUAuG,IAAA,QACArI,MAAA,WAEA,IAAAkc,EAAA,iBAAAnL,KAAAX,QAAAyK,QAAA9J,KAAAX,QAAAyK,QAAA5N,MAAA,KAAAJ,OAAA,SAAAgO,GACA,qCAAArY,QAAAqY,QAEA9J,KAAAoL,aAAA,EACApL,KAAAqL,sBAAA,IAAAF,EAAA1Z,QAAA,UAGAuO,KAAAsL,mBAAAtL,KAAA5F,UAAA+Q,EAAAnL,KAAAX,YAeA/H,IAAA,UACArI,MAAA,SAAAmL,EAAAyP,GAEA,IAAA0B,EAAAna,OAAAP,SAAA2a,cAAA,OACAD,EAAAE,UAAA5B,EAAA3H,OACA,IAAAwJ,EAAAH,EAAAI,WAAA,GAgBA,OAbAD,EAAAE,GAAA,WAAAxV,KAAAyV,SAAAzZ,SAAA,IAAA0Z,OAAA,MAKAJ,EAAAvE,aAAA,sBAEAnH,KAAAX,QAAA0M,WAAA,IAAA/L,KAAAX,QAAAyK,QAAArY,QAAA,WACAia,EAAA5a,iBAAA,aAAAkP,KAAAoG,MACAsF,EAAA5a,iBAAA,QAAAkP,KAAAoG,OAIAsF,KAGApU,IAAA,cACArI,MAAA,SAAAob,EAAAhL,GACA,IAAAoI,EAAAzH,KAEAA,KAAAgM,cAAA,EACAhM,KAAAiM,cAAA5B,EAAAhL,GAAAtN,KAAA,WACA0V,EAAAyD,eAAAna,cAIAuG,IAAA,gBACArI,MAAA,SAAA2a,EAAAvK,GACA,IAAA6M,EAAAlM,KAEA,WAAArO,QAAA,SAAAG,EAAAqa,GACA,IAAAC,EAAA/M,EAAA3J,KACA2W,EAAAH,EAAA5B,aACA,GAAA+B,EAAA,CACA,IAAAC,EAAAD,EAAA9H,cAAA2H,EAAA7M,QAAAkN,eACA,OAAA3C,EAAAnX,UAEA,GAAA2Z,EAAA,CACA,KAAAE,EAAAE,YACAF,EAAAvE,YAAAuE,EAAAE,YAEAF,EAAAG,YAAA7C,QAEK,uBAAAA,EAAA,CAEL,IAAAnR,EAAAmR,IAcA,YAbAnR,GAAA,mBAAAA,EAAA1G,MACAma,EAAAF,cAAA,EACA3M,EAAAqN,cAAAtE,GAAAiE,EAAAhN,EAAAqN,cACArN,EAAAsN,gBACAT,EAAAD,cAAA5M,EAAAsN,eAAAtN,GAEA5G,EAAA1G,KAAA,SAAA6a,GAEA,OADAvN,EAAAqN,cAAA7D,GAAAwD,EAAAhN,EAAAqN,cACAR,EAAAD,cAAAW,EAAAvN,KACOtN,KAAAD,GAAA+a,MAAAV,IAEPD,EAAAD,cAAAxT,EAAA4G,GAAAtN,KAAAD,GAAA+a,MAAAV,IAKAC,EAAAE,EAAAb,UAAA7B,EAAA0C,EAAAQ,UAAAlD,EAEA9X,UAIAwF,IAAA,QACArI,MAAA,SAAAmL,EAAAiF,GACA,GAAAA,GAAA,iBAAAA,EAAAqK,YACA7Y,SAAA0T,cAAAlF,EAAAqK,WACA,OAGAqD,aAAA/M,KAAAgN,sBAEA3N,EAAAjI,OAAAQ,UAA6ByH,IAC7BwC,OAEA,IAAAoL,GAAA,EACAjN,KAAAsK,eACAlC,GAAApI,KAAAsK,aAAAtK,KAAAoK,UACA6C,GAAA,GAGA,IAAAxU,EAAAuH,KAAAkN,aAAA9S,EAAAiF,GAQA,OANA4N,GAAAjN,KAAAsK,cACAlC,GAAApI,KAAAsK,aAAAtK,KAAAoK,UAGAhC,GAAAhO,GAAA,mBAEA3B,KAGAnB,IAAA,eACArI,MAAA,SAAAmL,EAAAiF,GACA,IAAA8N,EAAAnN,KAGA,GAAAA,KAAAkK,QACA,OAAAlK,KAOA,GALAA,KAAAkK,SAAA,EAEAH,GAAAlK,KAAAG,MAGAA,KAAAsK,aAQA,OAPAtK,KAAAsK,aAAArL,MAAAmO,QAAA,GACApN,KAAAsK,aAAAnD,aAAA,uBACAnH,KAAAkL,eAAApD,uBACA9H,KAAAkL,eAAAna,SACAiP,KAAAgM,cACAhM,KAAAuK,YAAAlL,EAAAuK,MAAAvK,GAEAW,KAIA,IAAA4J,EAAAxP,EAAAiT,aAAA,UAAAhO,EAAAuK,MAGA,IAAAA,EACA,OAAA5J,KAIA,IAAA0L,EAAA1L,KAAAsN,QAAAlT,EAAAiF,EAAAwK,UACA7J,KAAAsK,aAAAoB,EAEA1L,KAAAuK,YAAAX,EAAAvK,GAGAjF,EAAA+M,aAAA,mBAAAuE,EAAAE,IAGA,IAAAlC,EAAA1J,KAAAuN,eAAAlO,EAAAqK,UAAAtP,GAEA4F,KAAAwN,QAAA9B,EAAAhC,GAEA,IAAA+D,EAAAjE,MAAoCnK,EAAAoO,eACpCxS,UAAAoE,EAAApE,YAmCA,OAhCAwS,EAAA7P,UAAA4L,MAA0CiE,EAAA7P,WAC1CwG,OACA7R,QAAAyN,KAAAX,QAAAqO,iBAIArO,EAAA/E,oBACAmT,EAAA7P,UAAA4F,iBACAlJ,kBAAA+E,EAAA/E,oBAIA0F,KAAAkL,eAAA,IAAA1D,EAAApN,EAAAsR,EAAA+B,GAGA/F,sBAAA,YACAyF,EAAA/B,aAAA+B,EAAAjC,gBACAiC,EAAAjC,eAAAna,SAGA2W,sBAAA,WACAyF,EAAA/B,YAGA+B,EAAAnC,UAFAmC,EAAAjD,SAAAwB,EAAAvE,aAAA,0BAMAgG,EAAAnC,YAIAhL,QAGA1I,IAAA,gBACArI,MAAA,WACA,IAAAoS,EAAA0I,GAAAtY,QAAAuO,OACA,IAAAqB,GACA0I,GAAAjB,OAAAzH,EAAA,MAIA/J,IAAA,QACArI,MAAA,WACA,IAAA0e,EAAA3N,KAGA,IAAAA,KAAAkK,QACA,OAAAlK,KAGAA,KAAAkK,SAAA,EACAlK,KAAA4N,gBAGA5N,KAAAsK,aAAArL,MAAAmO,QAAA,OACApN,KAAAsK,aAAAnD,aAAA,sBAEAnH,KAAAkL,eAAAnL,wBAEAgN,aAAA/M,KAAAgN,eACA,IAAAa,EAAApD,GAAApL,QAAAyO,eAeA,OAdA,OAAAD,IACA7N,KAAAgN,cAAA/a,WAAA,WACA0b,EAAArD,eACAqD,EAAArD,aAAArZ,oBAAA,aAAA0c,EAAAvH,MACAuH,EAAArD,aAAArZ,oBAAA,QAAA0c,EAAAvH,MAEAuH,EAAArD,aAAAxX,WAAAiV,YAAA4F,EAAArD,cACAqD,EAAArD,aAAA,OAEKuD,IAGLhF,GAAA7I,KAAA5F,WAAA,mBAEA4F,QAGA1I,IAAA,WACArI,MAAA,WACA,IAAA8e,EAAA/N,KA8BA,OA5BAA,KAAAoL,aAAA,EAGApL,KAAAgO,QAAA5P,QAAA,SAAA5C,GACA,IAAAyS,EAAAzS,EAAAyS,KACAvO,EAAAlE,EAAAkE,MAEAqO,EAAA3T,UAAAnJ,oBAAAyO,EAAAuO,KAEAjO,KAAAgO,WAEAhO,KAAAsK,cACAtK,KAAAkO,QAEAlO,KAAAsK,aAAArZ,oBAAA,aAAA+O,KAAAoG,MACApG,KAAAsK,aAAArZ,oBAAA,QAAA+O,KAAAoG,MAGApG,KAAAkL,eAAAiD,UAGAnO,KAAAkL,eAAA7L,QAAA0D,kBACA/C,KAAAsK,aAAAxX,WAAAiV,YAAA/H,KAAAsK,cACAtK,KAAAsK,aAAA,OAGAtK,KAAA4N,gBAEA5N,QAGA1I,IAAA,iBACArI,MAAA,SAAAya,EAAAtP,GAQA,MANA,iBAAAsP,EACAA,EAAAtY,OAAAP,SAAA0T,cAAAmF,IACI,IAAAA,IAEJA,EAAAtP,EAAAtH,YAEA4W,KAYApS,IAAA,UACArI,MAAA,SAAAyc,EAAAhC,GACAA,EAAA+C,YAAAf,MAGApU,IAAA,qBACArI,MAAA,SAAAmL,EAAA+Q,EAAA9L,GACA,IAAA+O,EAAApO,KAEAqO,KACAC,KAEAnD,EAAA/M,QAAA,SAAAsB,GACA,OAAAA,GACA,YACA2O,EAAAxO,KAAA,cACAyO,EAAAzO,KAAA,cACAuO,EAAA/O,QAAAkP,mBAAAD,EAAAzO,KAAA,SACA,MACA,YACAwO,EAAAxO,KAAA,SACAyO,EAAAzO,KAAA,QACAuO,EAAA/O,QAAAkP,mBAAAD,EAAAzO,KAAA,SACA,MACA,YACAwO,EAAAxO,KAAA,SACAyO,EAAAzO,KAAA,YAMAwO,EAAAjQ,QAAA,SAAAsB,GACA,IAAAuO,EAAA,SAAAO,IACA,IAAAJ,EAAAlE,UAGAsE,EAAAC,eAAA,EACAL,EAAAM,cAAAtU,EAAAiF,EAAAsK,MAAAtK,EAAAmP,KAEAJ,EAAAJ,QAAAnO,MAAyBH,QAAAuO,SACzB7T,EAAAtJ,iBAAA4O,EAAAuO,KAIAK,EAAAlQ,QAAA,SAAAsB,GACA,IAAAuO,EAAA,SAAAO,IACA,IAAAA,EAAAC,eAGAL,EAAAO,cAAAvU,EAAAiF,EAAAsK,MAAAtK,EAAAmP,IAEAJ,EAAAJ,QAAAnO,MAAyBH,QAAAuO,SACzB7T,EAAAtJ,iBAAA4O,EAAAuO,QAIA3W,IAAA,mBACArI,MAAA,SAAAyQ,GACAM,KAAAqL,sBACArL,KAAA2O,cAAA3O,KAAA5F,UAAA4F,KAAAX,QAAAsK,MAAA3J,KAAAX,QAAAK,MAIApI,IAAA,gBACArI,MAAA,SAAAmL,EAAAuP,EAAAtK,GACA,IAAAuP,EAAA5O,KAGA6O,EAAAlF,KAAAsB,MAAAtB,GAAA,EACAoD,aAAA/M,KAAA8O,gBACA9O,KAAA8O,eAAA1d,OAAAa,WAAA,WACA,OAAA2c,EAAAG,MAAA3U,EAAAiF,IACIwP,MAGJvX,IAAA,gBACArI,MAAA,SAAAmL,EAAAuP,EAAAtK,EAAAmP,GACA,IAAAQ,EAAAhP,KAGA6O,EAAAlF,KAAAvD,MAAAuD,GAAA,EACAoD,aAAA/M,KAAA8O,gBACA9O,KAAA8O,eAAA1d,OAAAa,WAAA,WACA,QAAA+c,EAAA9E,SAGArZ,SAAAoC,KAAA3C,SAAA0e,EAAA1E,cAAA,CAMA,kBAAAkE,EAAAS,KAKA,GAJAD,EAAAE,qBAAAV,EAAApU,EAAAuP,EAAAtK,GAKA,OAIA2P,EAAAd,MAAA9T,EAAAiF,KACIwP,OAGJ7E,EA3jBA,GAikBAC,GAAA,WACA,IAAAkF,EAAAnP,KAEAA,KAAAiL,KAAA,WACAkE,EAAAJ,MAAAI,EAAA/U,UAAA+U,EAAA9P,UAGAW,KAAAoG,KAAA,WACA+I,EAAAjB,SAGAlO,KAAAgL,QAAA,WACAmE,EAAAC,YAGApP,KAAAqP,OAAA,WACA,OAAAF,EAAAjF,QACAiF,EAAA/I,OAEA+I,EAAAlE,QAIAjL,KAAAgO,WAEAhO,KAAAkP,qBAAA,SAAAV,EAAApU,EAAAuP,EAAAtK,GACA,IAAAiQ,EAAAd,EAAAc,kBAAAd,EAAAe,WAAAf,EAAAgB,cAeA,QAAAL,EAAA7E,aAAAha,SAAAgf,KAEAH,EAAA7E,aAAAxZ,iBAAA0d,EAAAS,KAfA,SAAAre,EAAA6e,GACA,IAAAC,EAAAD,EAAAH,kBAAAG,EAAAF,WAAAE,EAAAD,cAGAL,EAAA7E,aAAArZ,oBAAAud,EAAAS,KAAAre,GAGAwJ,EAAA9J,SAAAof,IAEAP,EAAAR,cAAAvU,EAAAiF,EAAAsK,MAAAtK,EAAAoQ,MAOA,KAOA,oBAAA5e,UACAA,SAAAC,iBAAA,sBAAA4O,GACA,QAAAlP,EAAA,EAAiBA,EAAAuZ,GAAA5Z,OAAyBK,IAC1CuZ,GAAAvZ,GAAAmf,iBAAAjQ,KAEEqJ,KACFxJ,SAAA,EACAqQ,SAAA,IAoBA,IAAAxT,IACAiC,SAAA,GAGAwR,IAAA,mIAEAC,IAEAC,iBAAA,MAEArF,aAAA,oBAEAsF,mBAAA,cAEAC,aAAA,EAIAC,gBAAA,+GAEAC,qBAAA,kCAEAC,qBAAA,kCAEAC,aAAA,EAEAC,eAAA,cAEAC,cAAA,EAEAC,iBAAA,OACAC,8BAAAhb,EACAib,wBAEAC,oBAAA,kBAEAC,sBAAA,MAEA7E,UAAA,EAEA8E,0BAAA,EAEA/C,eAAA,IAEAgD,SACAf,iBAAA,SAEArF,aAAA,oBAEAqG,iBAAA,kBAEAC,oBAAA,UAEAC,kBAAA,8BAEAC,kBAAA,8BACAb,aAAA,EACAC,eAAA,QACAC,cAAA,EACAC,iBAAA,OACAC,8BAAAhb,EACAib,wBAEAS,iBAAA,EAEAC,qBAAA,IAIA,SAAAxG,GAAAvL,GACA,IAAA5G,GACAwC,eAAA,IAAAoE,EAAApE,UAAAoE,EAAApE,UAAAwP,GAAApL,QAAA0Q,iBACApG,WAAA,IAAAtK,EAAAsK,MAAAtK,EAAAsK,MAAAc,GAAApL,QAAAgR,aACA3a,UAAA,IAAA2J,EAAA3J,KAAA2J,EAAA3J,KAAA+U,GAAApL,QAAA4Q,YACApG,cAAA,IAAAxK,EAAAwK,SAAAxK,EAAAwK,SAAAY,GAAApL,QAAA6Q,gBACAxC,mBAAA,IAAArO,EAAAqO,cAAArO,EAAAqO,cAAAjD,GAAApL,QAAA8Q,qBACA5D,mBAAA,IAAAlN,EAAAkN,cAAAlN,EAAAkN,cAAA9B,GAAApL,QAAA+Q,qBACAtG,aAAA,IAAAzK,EAAAyK,QAAAzK,EAAAyK,QAAAW,GAAApL,QAAAiR,eACAzO,YAAA,IAAAxC,EAAAwC,OAAAxC,EAAAwC,OAAA4I,GAAApL,QAAAkR,cACA7G,eAAA,IAAArK,EAAAqK,UAAArK,EAAAqK,UAAAe,GAAApL,QAAAmR,iBACAlW,uBAAA,IAAA+E,EAAA/E,kBAAA+E,EAAA/E,kBAAAmQ,GAAApL,QAAAoR,yBACA1E,cAAA,IAAA1M,EAAA0M,SAAA1M,EAAA0M,SAAAtB,GAAApL,QAAA0M,SACAwC,uBAAA,IAAAlP,EAAAkP,kBAAAlP,EAAAkP,kBAAA9D,GAAApL,QAAAwR,yBACAnE,kBAAA,IAAArN,EAAAqN,aAAArN,EAAAqN,aAAAjC,GAAApL,QAAAsR,oBACAhE,oBAAA,IAAAtN,EAAAsN,eAAAtN,EAAAsN,eAAAlC,GAAApL,QAAAuR,sBACAnD,cAAAjE,WAA8B,IAAAnK,EAAAoO,cAAApO,EAAAoO,cAAAhD,GAAApL,QAAAqR,uBAG9B,GAAAjY,EAAAoJ,OAAA,CACA,IAAAwP,EAAAnI,GAAAzQ,EAAAoJ,QACAA,EAAApJ,EAAAoJ,QAGA,WAAAwP,GAAA,WAAAA,IAAA,IAAAxP,EAAApQ,QAAA,QACAoQ,EAAA,MAAAA,GAGApJ,EAAAgV,cAAA7P,YACAnF,EAAAgV,cAAA7P,cAEAnF,EAAAgV,cAAA7P,UAAAiE,QACAA,UAQA,OAJApJ,EAAAqR,UAAA,IAAArR,EAAAqR,QAAArY,QAAA,WACAgH,EAAA8V,mBAAA,GAGA9V,EAGA,SAAA6Y,GAAAriB,EAAA2O,GAEA,IADA,IAAA3C,EAAAhM,EAAAgM,UACAzK,EAAA,EAAgBA,EAAAqf,GAAA1f,OAAsBK,IAAA,CACtC,IAAA+gB,EAAA1B,GAAArf,GACAoN,EAAA2T,KACAtW,EAAAsW,GAGA,OAAAtW,EAGA,SAAAuW,GAAAviB,GACA,IAAAggB,OAAA,IAAAhgB,EAAA,YAAAia,GAAAja,GACA,iBAAAggB,EACAhgB,KACEA,GAAA,WAAAggB,IACFhgB,EAAAob,QA4BA,SAAAoH,GAAA7hB,GACAA,EAAA8hB,WACA9hB,EAAA8hB,SAAA1G,iBACApb,EAAA8hB,gBACA9hB,EAAA+hB,iBAGA/hB,EAAAgiB,wBACA/I,GAAAjZ,IAAAgiB,8BACAhiB,EAAAgiB,uBAIA,SAAAjiB,GAAAC,EAAA4L,GACA,IAAAvM,EAAAuM,EAAAvM,MAEA2O,GADApC,EAAAqW,SACArW,EAAAoC,WAEAyM,EAAAmH,GAAAviB,GACA,GAAAob,GAAAjO,GAAAiC,QAEE,CACF,IAAAyT,OAAA,EACAliB,EAAA8hB,WACAI,EAAAliB,EAAA8hB,UAEAK,WAAA1H,GAEAyH,EAAAE,WAAAxI,MAAmCva,GACnCgM,UAAAqW,GAAAriB,EAAA2O,OAGAkU,EAtDA,SAAAliB,EAAAX,GACA,IAAA2O,EAAApI,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,GAAAA,UAAA,MAEA6U,EAAAmH,GAAAviB,GACAoZ,OAAA,IAAApZ,EAAAoZ,QAAApZ,EAAAoZ,QAAAoC,GAAApL,QAAAqL,aACA1B,EAAAQ,IACAI,MAAAS,GACEO,GAAApB,MAA0Bva,GAC5BgM,UAAAqW,GAAAriB,EAAA2O,OAEAkU,EAAAliB,EAAA8hB,SAAA,IAAA1H,GAAApa,EAAAoZ,GACA8I,EAAAnH,WAAAtC,GACAyJ,EAAAG,OAAAriB,EAGA,IAAAsiB,OAAA,IAAAjjB,EAAAijB,cAAAjjB,EAAAijB,cAAAzH,GAAApL,QAAA2Q,mBAIA,OAHApgB,EAAAgiB,sBAAAM,EACA9J,GAAAxY,EAAAsiB,GAEAJ,EAmCAK,CAAAviB,EAAAX,EAAA2O,QAIA,IAAA3O,EAAAgc,MAAAhc,EAAAgc,OAAArb,EAAA+hB,kBACA/hB,EAAA+hB,gBAAA1iB,EAAAgc,KACAhc,EAAAgc,KAAA6G,EAAA7G,OAAA6G,EAAA1L,aAlBAqL,GAAA7hB,GAuBA,IAAA6a,IACApL,QAAAyQ,GACAngB,QACAoB,OAAApB,GACAqB,OAAA,SAAApB,GACA6hB,GAAA7hB,KAIA,SAAAwiB,GAAAxiB,GACAA,EAAAkB,iBAAA,QAAAuhB,IACAziB,EAAAkB,iBAAA,aAAAwhB,KAAAvJ,KACAxJ,SAAA,IAIA,SAAAgT,GAAA3iB,GACAA,EAAAqB,oBAAA,QAAAohB,IACAziB,EAAAqB,oBAAA,aAAAqhB,IACA1iB,EAAAqB,oBAAA,WAAAuhB,IACA5iB,EAAAqB,oBAAA,cAAAwhB,IAGA,SAAAJ,GAAA3S,GACA,IAAA9P,EAAA8P,EAAAgT,cACAhT,EAAAiT,cAAA/iB,EAAAgjB,sBACAlT,EAAAmT,gBAAAjjB,EAAAkjB,2BAAAljB,EAAAkjB,wBAAAC,IAGA,SAAAT,GAAA5S,GACA,OAAAA,EAAAsT,eAAA7iB,OAAA,CACA,IAAAP,EAAA8P,EAAAgT,cACA9iB,EAAAgjB,uBAAA,EACA,IAAAK,EAAAvT,EAAAsT,eAAA,GACApjB,EAAAsjB,2BAAAD,EACArjB,EAAAkB,iBAAA,WAAA0hB,IACA5iB,EAAAkB,iBAAA,cAAA2hB,KAIA,SAAAD,GAAA9S,GACA,IAAA9P,EAAA8P,EAAAgT,cAEA,GADA9iB,EAAAgjB,uBAAA,EACA,IAAAlT,EAAAsT,eAAA7iB,OAAA,CACA,IAAA8iB,EAAAvT,EAAAsT,eAAA,GACAG,EAAAvjB,EAAAsjB,2BACAxT,EAAAiT,aAAAvc,KAAAgd,IAAAH,EAAAI,QAAAF,EAAAE,SAAA,IAAAjd,KAAAgd,IAAAH,EAAAK,QAAAH,EAAAG,SAAA,GACA5T,EAAAmT,gBAAAjjB,EAAAkjB,2BAAAljB,EAAAkjB,wBAAAC,KAIA,SAAAN,GAAA/S,GACAA,EAAAgT,cACAE,uBAAA,EAGA,IAAAW,IACA5jB,KAAA,SAAAC,EAAA4L,GACA,IAAAvM,EAAAuM,EAAAvM,MACA2O,EAAApC,EAAAoC,UAEAhO,EAAAkjB,wBAAAlV,QACA,IAAA3O,OACAmjB,GAAAxiB,IAGAmB,OAAA,SAAAnB,EAAAmM,GACA,IAAA9M,EAAA8M,EAAA9M,MACA4iB,EAAA9V,EAAA8V,SACAjU,EAAA7B,EAAA6B,UAEAhO,EAAAkjB,wBAAAlV,EACA3O,IAAA4iB,SACA,IAAA5iB,KACAmjB,GAAAxiB,GAEA2iB,GAAA3iB,KAIAoB,OAAA,SAAApB,GACA2iB,GAAA3iB,KA8BA,IAAA4jB,QAAA,EAEA,SAAAC,KACAA,GAAAC,OACAD,GAAAC,MAAA,EACAF,IAAA,IA/BA,WACA,IAAAG,EAAAviB,OAAAG,UAAAC,UAEAoiB,EAAAD,EAAAliB,QAAA,SACA,GAAAmiB,EAAA,EAEA,OAAAC,SAAAF,EAAAG,UAAAF,EAAA,EAAAD,EAAAliB,QAAA,IAAAmiB,IAAA,IAIA,GADAD,EAAAliB,QAAA,YACA,GAEA,IAAAsiB,EAAAJ,EAAAliB,QAAA,OACA,OAAAoiB,SAAAF,EAAAG,UAAAC,EAAA,EAAAJ,EAAAliB,QAAA,IAAAsiB,IAAA,IAGA,IAAAC,EAAAL,EAAAliB,QAAA,SACA,OAAAuiB,EAAA,EAEAH,SAAAF,EAAAG,UAAAE,EAAA,EAAAL,EAAAliB,QAAA,IAAAuiB,IAAA,KAIA,EAQAC,IAIA,IAAAC,IAAsBC,OAAA,WACtB,IAAiBC,EAAjBpU,KAAiBqU,eAAwD,OAAzErU,KAA6CsU,MAAAC,IAAAH,GAA4B,OAAkBI,YAAA,kBAAAC,OAAyCC,SAAA,SAClIC,mBAAAC,SAAA,kBACFnW,KAAA,kBAEAoW,SACAC,OAAA,WACA9U,KAAA+U,MAAA,WAEAC,kBAAA,WACAhV,KAAAiV,cAAAC,gBAAA/V,YAAArO,iBAAA,SAAAkP,KAAA8U,QACA9U,KAAAmV,KAAAnV,KAAAoV,IAAAtc,aAAAkH,KAAAoU,KAAApU,KAAAoV,IAAApc,cACAgH,KAAA8U,UAGAO,qBAAA,WACArV,KAAAiV,eAAAjV,KAAAiV,cAAAK,UACA9B,IAAAxT,KAAAiV,cAAAC,iBACAlV,KAAAiV,cAAAC,gBAAA/V,YAAAlO,oBAAA,SAAA+O,KAAA8U,eAEA9U,KAAAiV,cAAAK,UAKAC,QAAA,WACA,IAAA9N,EAAAzH,KAEAyT,KACAzT,KAAAwV,UAAA,WACA/N,EAAA0N,GAAA1N,EAAA2N,IAAAtc,YACA2O,EAAA2M,GAAA3M,EAAA2N,IAAApc,eAEA,IAAAyc,EAAA5kB,SAAA2a,cAAA,UACAxL,KAAAiV,cAAAQ,EACAA,EAAAtO,aAAA,gJACAsO,EAAAtO,aAAA,sBACAsO,EAAAtO,aAAA,eACAsO,EAAAH,OAAAtV,KAAAgV,kBACAS,EAAAxG,KAAA,YACAuE,IACAxT,KAAAoV,IAAA3I,YAAAgJ,GAEAA,EAAA5X,KAAA,cACA2V,IACAxT,KAAAoV,IAAA3I,YAAAgJ,IAGAC,cAAA,WACA1V,KAAAqV,yBAcA,IAAAM,IAEA9hB,QAAA,QACA+hB,QAZA,SAAAC,GACAA,EAAAC,UAAA,kBAAA5B,MAeA6B,GAAA,KAUA,SAAAC,GAAA1e,GACA,IAAArI,EAAAwb,GAAApL,QAAAyR,QAAAxZ,GACA,gBAAArI,EACAwb,GAAApL,QAAA/H,GAEArI,EAdA,oBAAAmC,OACA2kB,GAAA3kB,OAAAykB,SACC,IAAA3kB,IACD6kB,GAAA7kB,EAAA2kB,KAEAE,IACAA,GAAAE,IAAAN,IAWA,IAAAO,IAAA,EACA,oBAAA9kB,QAAA,oBAAAG,YACA2kB,GAAA,mBAAA3iB,KAAAhC,UAAAC,aAAAJ,OAAA+kB,UAGA,IAAAC,MAEAC,GAAA,aACA,oBAAAjlB,SACAilB,GAAAjlB,OAAAilB,SAGA,IAAAC,IAAenC,OAAA,WACf,IAAAoC,EAAAvW,KAAiBoU,EAAAmC,EAAAlC,eAA4BE,EAAAgC,EAAAjC,MAAAC,IAAAH,EAA4B,OAAAG,EAAA,OAAkBC,YAAA,YAAAgC,MAAAD,EAAAE,WAAgDlC,EAAA,QAAemC,IAAA,UAAAlC,YAAA,UAAAmC,aAAuDvJ,QAAA,gBAA4BqH,OAAUmC,mBAAAL,EAAAM,UAAAnC,UAAA,IAAA6B,EAAAzM,QAAArY,QAAA,iBAAgG8kB,EAAAO,GAAA,eAAAP,EAAAQ,GAAA,KAAAxC,EAAA,OAAmDmC,IAAA,UAAAF,OAAAD,EAAAS,iBAAAT,EAAAU,aAAAV,EAAAE,UAAAxX,OAC1YiY,WAAAX,EAAAxL,OAAA,oBACI0J,OAAU7I,GAAA2K,EAAAM,UAAAM,cAAAZ,EAAAxL,OAAA,kBAAsEwJ,EAAA,OAAciC,MAAAD,EAAAa,sBAAiC7C,EAAA,OAAcmC,IAAA,QAAAF,MAAAD,EAAAc,kBAAAV,aAA2DhQ,SAAA,cAA2B4N,EAAA,OAAAgC,EAAAO,GAAA,eAAAP,EAAAQ,GAAA,KAAAR,EAAAe,aAAA/C,EAAA,kBAA4FgD,IAAMzC,OAAAyB,EAAAiB,kBAAiCjB,EAAAkB,MAAA,GAAAlB,EAAAQ,GAAA,KAAAxC,EAAA,OAA2CmC,IAAA,QAAAF,MAAAD,EAAAmB,2BACnZ/C,mBACFlW,KAAA,WAEAkZ,YACAzD,mBAGAnd,OACA6gB,MACA3I,KAAA4I,QACAC,SAAA,GAEAC,UACA9I,KAAA4I,QACAC,SAAA,GAEA7c,WACAgU,KAAA+I,OACAF,QAAA,WACA,OAAA9B,GAAA,sBAGArM,OACAsF,MAAA+I,OAAAC,OAAA7gB,QACA0gB,QAAA,WACA,OAAA9B,GAAA,kBAGAnU,QACAoN,MAAA+I,OAAAC,QACAH,QAAA,WACA,OAAA9B,GAAA,mBAGAlM,SACAmF,KAAA+I,OACAF,QAAA,WACA,OAAA9B,GAAA,oBAGAtM,WACAuF,MAAA+I,OAAA5gB,OAAAif,GAAAwB,SACAC,QAAA,WACA,OAAA9B,GAAA,sBAGA1b,mBACA2U,MAAA+I,OAAA3B,IACAyB,QAAA,WACA,OAAA9B,GAAA,8BAGAvI,eACAwB,KAAA7X,OACA0gB,QAAA,WACA,OAAA9B,GAAA,0BAGAiB,cACAhI,MAAA+I,OAAAta,OACAoa,QAAA,WACA,OAAA9B,GAAA,kBAGAgB,kBACA/H,MAAA+I,OAAAta,OACAoa,QAAA,WACA,OAAArN,GAAApL,QAAAyR,QAAAC,mBAGAsG,mBACApI,MAAA+I,OAAAta,OACAoa,QAAA,WACA,OAAArN,GAAApL,QAAAyR,QAAAG,oBAGAmG,qBACAnI,MAAA+I,OAAAta,OACAoa,QAAA,WACA,OAAArN,GAAApL,QAAAyR,QAAAE,sBAGA0G,mBACAzI,MAAA+I,OAAAta,OACAoa,QAAA,WACA,OAAArN,GAAApL,QAAAyR,QAAAI,oBAGAnF,UACAkD,KAAA4I,QACAC,QAAA,WACA,OAAArN,GAAApL,QAAAyR,QAAAK,kBAGAmG,cACArI,KAAA4I,QACAC,QAAA,WACA,OAAArN,GAAApL,QAAAyR,QAAAM,sBAGA8G,WACAjJ,KAAA+I,OACAF,QAAA,OAIAja,KAAA,WACA,OACAkN,QAAA,EACAa,GAAAxV,KAAAyV,SAAAzZ,SAAA,IAAA0Z,OAAA,QAKAqM,UACA1B,SAAA,WACA,OACAmB,KAAA5X,KAAA+K,SAGA8L,UAAA,WACA,iBAAA7W,KAAA4L,KAIAwM,OACAR,KAAA,SAAAS,GACAA,EACArY,KAAAiL,OAEAjL,KAAAoG,QAGA2R,SAAA,SAAAM,EAAAC,GACAD,IAAAC,IACAD,EACArY,KAAAoG,OACKpG,KAAA4X,MACL5X,KAAAiL,SAIAvB,UAAA,SAAA2O,GACA,GAAArY,KAAA+K,QAAA/K,KAAAkL,eAAA,CACA,IAAAqN,EAAAvY,KAAAwY,MAAA1H,QACA1W,EAAA4F,KAAAwY,MAAA1O,QAEAJ,EAAA1J,KAAAyY,gBAAAzY,KAAA0J,UAAAtP,GACA,IAAAsP,EAEA,YADAxa,QAAAC,KAAA,2BAAA6Q,MAIA0J,EAAA+C,YAAA8L,GACAvY,KAAAkL,eAAAhL,mBAGA4J,QAAA,SAAAuO,GACArY,KAAA0Y,yBACA1Y,KAAA2Y,uBAEA1d,UAAA,SAAAod,GACA,IAAA5Q,EAAAzH,KAEAA,KAAA4Y,eAAA,WACAnR,EAAAyD,eAAA7L,QAAApE,UAAAod,KAKAxW,OAAA,kBAEAvH,kBAAA,kBAEAmT,eACA5d,QAAA,kBACAgpB,MAAA,IAIAC,QAAA,WACA9Y,KAAA+Y,cAAA,EACA/Y,KAAAgZ,WAAA,EACAhZ,KAAAiZ,YACAjZ,KAAAkZ,eAAA,GAEA3D,QAAA,WACA,IAAAgD,EAAAvY,KAAAwY,MAAA1H,QACAyH,EAAAzlB,YAAAylB,EAAAzlB,WAAAiV,YAAAwQ,GAEAvY,KAAAmZ,SAEAnZ,KAAA4X,MACA5X,KAAAiL,QAGAyK,cAAA,WACA1V,KAAAgL,WAIA6J,SACA5J,KAAA,WACA,IAAAiB,EAAAlM,KAEAxE,EAAAhG,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,GAAAA,UAAA,MACAkK,EAAAlE,EAAAkE,MAGA0Z,GAFA5d,EAAA6d,UAEA7d,EAAA8d,cACA7jB,IAAA2jB,OAEApZ,KAAA+X,WACA/X,KAAAuZ,eAAA7Z,GACAM,KAAA+U,MAAA,SAEA/U,KAAA+U,MAAA,kBACA/U,KAAAwZ,eAAA,EACA9R,sBAAA,WACAwE,EAAAsN,eAAA,KAGApT,KAAA,WACA,IAAArK,EAAAvG,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,GAAAA,UAAA,MACAkK,EAAA3D,EAAA2D,MACA3D,EAAAsd,UAEArZ,KAAAyZ,eAAA/Z,GAEAM,KAAA+U,MAAA,QACA/U,KAAA+U,MAAA,mBAEA/J,QAAA,WAIA,GAHAhL,KAAA+Y,cAAA,EACA/Y,KAAA0Y,yBACA1Y,KAAAoG,MAAciT,WAAA,IACdrZ,KAAAkL,iBACAlL,KAAAkL,eAAAiD,WAGAnO,KAAAkL,eAAA7L,QAAA0D,iBAAA,CACA,IAAAwV,EAAAvY,KAAAwY,MAAA1H,QACAyH,EAAAzlB,YAAAylB,EAAAzlB,WAAAiV,YAAAwQ,GAGAvY,KAAAgZ,WAAA,EACAhZ,KAAAkL,eAAA,KACAlL,KAAA+K,QAAA,EAEA/K,KAAA+U,MAAA,YAEAoE,OAAA,YACA,IAAAnZ,KAAA8J,QAAArY,QAAA,WACAuO,KAAA2Y,uBAGAe,OAAA,WACA,IAAAvM,EAAAnN,KAEA5F,EAAA4F,KAAAwY,MAAA1O,QACAyO,EAAAvY,KAAAwY,MAAA1H,QAKA,GAHA/D,aAAA/M,KAAA2Z,iBAGA3Z,KAAA+K,OAAA,CAWA,GANA/K,KAAAkL,iBACAlL,KAAA+K,QAAA,EACA/K,KAAAkL,eAAApD,uBACA9H,KAAAkL,eAAAhL,mBAGAF,KAAAgZ,UAAA,CACA,IAAAtP,EAAA1J,KAAAyY,gBAAAzY,KAAA0J,UAAAtP,GACA,IAAAsP,EAEA,YADAxa,QAAAC,KAAA,2BAAA6Q,MAGA0J,EAAA+C,YAAA8L,GACAvY,KAAAgZ,WAAA,EAGA,IAAAhZ,KAAAkL,eAAA,CACA,IAAAuC,EAAAjE,MAAqCxJ,KAAAyN,eACrCxS,UAAA+E,KAAA/E,YASA,GANAwS,EAAA7P,UAAA4L,MAA2CiE,EAAA7P,WAC3CwG,MAAAoF,MAAyBiE,EAAA7P,WAAA6P,EAAA7P,UAAAwG,OACzB7R,QAAAyN,KAAAwY,MAAApU,UAIApE,KAAA6B,OAAA,CACA,IAAAA,EAAA7B,KAAA4Z,cAEAnM,EAAA7P,UAAAiE,OAAA2H,MAAmDiE,EAAA7P,WAAA6P,EAAA7P,UAAAiE,QACnDA,WAIA7B,KAAA1F,oBACAmT,EAAA7P,UAAA4F,gBAAAgG,MAA4DiE,EAAA7P,WAAA6P,EAAA7P,UAAA4F,iBAC5DlJ,kBAAA0F,KAAA1F,qBAIA0F,KAAAkL,eAAA,IAAA1D,EAAApN,EAAAme,EAAA9K,GAGA/F,sBAAA,YACAyF,EAAA4L,cAAA5L,EAAAjC,gBACAiC,EAAAjC,eAAAhL,iBAGAwH,sBAAA,WACAyF,EAAA4L,aAGA5L,EAAAnC,UAFAmC,EAAApC,QAAA,KAMAoC,EAAAnC,YAKA,IAAAkN,EAAAlY,KAAAkY,UACA,GAAAA,EAEA,IADA,IAAApH,OAAA,EACAtgB,EAAA,EAAmBA,EAAA4lB,GAAAjmB,OAAyBK,KAC5CsgB,EAAAsF,GAAA5lB,IACA0nB,gBACApH,EAAA1K,OACA0K,EAAAiE,MAAA,gBAKAqB,GAAAvW,KAAAG,MAEAA,KAAA+U,MAAA,gBAEA8E,OAAA,WACA,IAAAlM,EAAA3N,KAGA,GAAAA,KAAA+K,OAAA,CAIA,IAAA1J,EAAA+U,GAAA3kB,QAAAuO,OACA,IAAAqB,GACA+U,GAAAtN,OAAAzH,EAAA,GAGArB,KAAA+K,QAAA,EACA/K,KAAAkL,gBACAlL,KAAAkL,eAAAnL,wBAGAgN,aAAA/M,KAAA2Z,gBACA,IAAA9L,EAAApD,GAAApL,QAAAyR,QAAAhD,gBAAArD,GAAApL,QAAAyO,eACA,OAAAD,IACA7N,KAAA2Z,eAAA1nB,WAAA,WACA,IAAAsmB,EAAA5K,EAAA6K,MAAA1H,QACAyH,IAEAA,EAAAzlB,YAAAylB,EAAAzlB,WAAAiV,YAAAwQ,GACA5K,EAAAqL,WAAA,IAEKnL,IAGL7N,KAAA+U,MAAA,gBAEA0D,gBAAA,SAAA/O,EAAAtP,GAQA,MANA,iBAAAsP,EACAA,EAAAtY,OAAAP,SAAA0T,cAAAmF,IACI,IAAAA,IAEJA,EAAAtP,EAAAtH,YAEA4W,GAEAkQ,YAAA,WACA,IAAAvI,EAAAnI,GAAAlJ,KAAA6B,QACAA,EAAA7B,KAAA6B,OAOA,OAJA,WAAAwP,GAAA,WAAAA,IAAA,IAAAxP,EAAApQ,QAAA,QACAoQ,EAAA,MAAAA,GAGAA,GAEA8W,oBAAA,WACA,IAAA5K,EAAA/N,KAEA5F,EAAA4F,KAAAwY,MAAA1O,QACAuE,KACAC,MAEA,iBAAAtO,KAAA8J,QAAA9J,KAAA8J,QAAA5N,MAAA,KAAAJ,OAAA,SAAAgO,GACA,qCAAArY,QAAAqY,SAGA1L,QAAA,SAAAsB,GACA,OAAAA,GACA,YACA2O,EAAAxO,KAAA,cACAyO,EAAAzO,KAAA,cACA,MACA,YACAwO,EAAAxO,KAAA,SACAyO,EAAAzO,KAAA,QACA,MACA,YACAwO,EAAAxO,KAAA,SACAyO,EAAAzO,KAAA,YAMAwO,EAAAjQ,QAAA,SAAAsB,GACA,IAAAuO,EAAA,SAAAvO,GACAqO,EAAAhD,SAGArL,EAAA+O,eAAA,GACAV,EAAAmL,eAAAnL,EAAA9C,MAA2CvL,YAE3CqO,EAAAkL,SAAApZ,MAA0BH,QAAAuO,SAC1B7T,EAAAtJ,iBAAA4O,EAAAuO,KAIAK,EAAAlQ,QAAA,SAAAsB,GACA,IAAAuO,EAAA,SAAAvO,GACAA,EAAA+O,eAGAV,EAAA3H,MAAkB1G,WAElBqO,EAAAkL,SAAApZ,MAA0BH,QAAAuO,SAC1B7T,EAAAtJ,iBAAA4O,EAAAuO,MAGAsL,eAAA,WACA,IAAAF,EAAA7jB,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,IAAAA,UAAA,GAGA,GADAuX,aAAA/M,KAAA8Z,iBACAT,EACArZ,KAAA0Z,aACI,CAEJ,IAAA7K,EAAAgF,SAAA7T,KAAA2J,OAAA3J,KAAA2J,MAAAsB,MAAAjL,KAAA2J,OAAA,GACA3J,KAAA8Z,gBAAA7nB,WAAA+N,KAAA0Z,OAAA/pB,KAAAqQ,MAAA6O,KAGA4K,eAAA,WACA,IAAArL,EAAApO,KAEAN,EAAAlK,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,GAAAA,UAAA,QACA6jB,EAAA7jB,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,IAAAA,UAAA,GAGA,GADAuX,aAAA/M,KAAA8Z,iBACAT,EACArZ,KAAA6Z,aACI,CAEJ,IAAAhL,EAAAgF,SAAA7T,KAAA2J,OAAA3J,KAAA2J,MAAAvD,MAAApG,KAAA2J,OAAA,GACA3J,KAAA8Z,gBAAA7nB,WAAA,WACA,GAAAmc,EAAArD,OAAA,CAMA,GAAArL,GAAA,eAAAA,EAAAuP,KAKA,GAJAb,EAAA2L,sBAAAra,GAKA,OAIA0O,EAAAyL,WACKhL,KAGLkL,sBAAA,SAAAra,GACA,IAAAkP,EAAA5O,KAEA5F,EAAA4F,KAAAwY,MAAA1O,QACAyO,EAAAvY,KAAAwY,MAAA1H,QAEAxB,EAAA5P,EAAA4P,kBAAA5P,EAAA6P,WAAA7P,EAAA8P,cAeA,QAAA+I,EAAAjoB,SAAAgf,KAEAiJ,EAAAznB,iBAAA4O,EAAAuP,KAfA,SAAAre,EAAAopB,GACA,IAAAtK,EAAAsK,EAAA1K,kBAAA0K,EAAAzK,WAAAyK,EAAAxK,cAGA+I,EAAAtnB,oBAAAyO,EAAAuP,KAAAre,GAGAwJ,EAAA9J,SAAAof,IAEAd,EAAAxI,MAAkB1G,MAAAsa,OAOlB,IAKAtB,uBAAA,WACA,IAAAte,EAAA4F,KAAAwY,MAAA1O,QACA9J,KAAAiZ,SAAA7a,QAAA,SAAA6b,GACA,IAAAhM,EAAAgM,EAAAhM,KACAvO,EAAAua,EAAAva,MAEAtF,EAAAnJ,oBAAAyO,EAAAuO,KAEAjO,KAAAiZ,aAEAL,eAAA,SAAAsB,GACAla,KAAAkL,iBACAgP,IACAla,KAAA+K,QAAA/K,KAAAkL,eAAAhL,mBAGAia,gBAAA,WACA,GAAAna,KAAAkL,eAAA,CACA,IAAAH,EAAA/K,KAAA+K,OACA/K,KAAAgL,UACAhL,KAAA+Y,cAAA,EACA/Y,KAAAmZ,SACApO,GACA/K,KAAAiL,MAAgBoO,WAAA,EAAAC,OAAA,MAIhBc,oBAAA,SAAA1a,GACA,IAAAsP,EAAAhP,KAEAiT,EAAAzd,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,IAAAA,UAAA,GAEAwK,KAAAwZ,gBAEAxZ,KAAAoG,MAAc1G,UAEdA,EAAAiT,aACA3S,KAAA+U,MAAA,mBAEA/U,KAAA+U,MAAA,aAGA9B,IACAjT,KAAAkZ,eAAA,EACAjnB,WAAA,WACA+c,EAAAkK,eAAA,GACK,QAGL1B,eAAA,WACAxX,KAAA+K,QAAA/K,KAAAkL,iBACAlL,KAAAkL,eAAAhL,iBACAF,KAAA+U,MAAA,cAyBA,SAAAsF,GAAA3a,GACA,IAAAuT,EAAAzd,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,IAAAA,UAAA,GAGAkS,sBAAA,WAEA,IADA,IAAAoJ,OAAA,EACAtgB,EAAA,EAAiBA,EAAA4lB,GAAAjmB,OAAyBK,IAE1C,IADAsgB,EAAAsF,GAAA5lB,IACAgoB,MAAA1H,QAAA,CACA,IAAAxgB,EAAAwgB,EAAA0H,MAAA1H,QAAAxgB,SAAAoP,EAAArP,SACAqP,EAAAmT,iBAAAnT,EAAAiT,cAAAriB,GAAAwgB,EAAA/E,WAAAzb,IACAwgB,EAAAsJ,oBAAA1a,EAAAuT,MA9BA,oBAAApiB,UAAA,oBAAAO,SACA8kB,GACArlB,SAAAC,iBAAA,WAaA,SAAA4O,GACA2a,GAAA3a,GAAA,KAdAqJ,KACAxJ,SAAA,EACAqQ,SAAA,IAGAxe,OAAAN,iBAAA,QAIA,SAAA4O,GACA2a,GAAA3a,KALA,IA8BA,IAAA4a,GAAA,oBAAAlpB,mBAAA,IAAAF,IAAA,oBAAAqpB,aAUA,IAAAC,GAJA,SAAA5oB,EAAAnC,GACA,OAAgCmC,EAAhCnC,GAAkBC,YAAcD,EAAAC,SAAAD,EAAAC,QAGhC+qB,CAAA,SAAAhrB,EAAAC,GAWA,IAAAgrB,EAAA,IAGAC,EAAA,4BAGAC,EAAA,IACAC,EAAA,GAGAC,EAAA,iBAGAC,EAAA,qBAEAC,EAAA,yBAIAC,EAAA,oBACAC,EAAA,6BAGAC,EAAA,gBACAC,EAAA,kBACAC,EAAA,iBAIAC,EAAA,qBAsBAC,EAAA,8BAGAC,EAAA,mBAGAC,KACAA,EAxBA,yBAwBAA,EAvBA,yBAwBAA,EAvBA,sBAuBAA,EAtBA,uBAuBAA,EAtBA,uBAsBAA,EArBA,uBAsBAA,EArBA,8BAqBAA,EApBA,wBAqBAA,EApBA,yBAoBA,EACAA,EAAAV,GAAAU,EAjDA,kBAkDAA,EAhCA,wBAgCAA,EAhDA,oBAiDAA,EAhCA,qBAgCAA,EAhDA,iBAiDAA,EAhDA,kBAgDAA,EAAAR,GACAQ,EA9CA,gBA8CAA,EA7CA,mBA8CAA,EAAAL,GAAAK,EA1CA,mBA2CAA,EA1CA,gBA0CAA,EAzCA,mBA0CAA,EAxCA,qBAwCA,EAGA,IAAAC,EAAA,iBAAApB,WAAAljB,iBAAAkjB,GAGAqB,EAAA,iBAAApB,iBAAAnjB,iBAAAmjB,KAGAqB,EAAAF,GAAAC,GAAAE,SAAA,cAAAA,GAGAC,EAAApsB,MAAA+C,UAAA/C,EAGAqsB,EAAAD,GAAArsB,MAAAgD,UAAAhD,EAGAusB,EAAAD,KAAArsB,UAAAosB,EAGAG,EAAAD,GAAAN,EAAAQ,QAGAC,EAAA,WACA,IACA,OAAAF,KAAAjtB,SAAAitB,EAAAjtB,QAAA,QACG,MAAAc,KAHH,GAOAssB,EAAAD,KAAAE,aAwFA,SAAAC,EAAA7G,EAAAne,GACA,mBAAAA,OACA7B,EACAggB,EAAAne,GAIA,IAAAilB,EAAA7e,MAAAjG,UACA+kB,EAAAX,SAAApkB,UACAglB,EAAArlB,OAAAK,UAGAilB,EAAAd,EAAA,sBAGAe,EAAAH,EAAApqB,SAGA0F,EAAA2kB,EAAA3kB,eAGA8kB,EAAA,WACA,IAAAC,EAAA,SAAAC,KAAAJ,KAAArhB,MAAAqhB,EAAArhB,KAAA0hB,UAAA,IACA,OAAAF,EAAA,iBAAAA,EAAA,GAFA,GAUAG,EAAAP,EAAArqB,SAGA6qB,EAAAN,EAAAtqB,KAAA+E,QAGA8lB,EAAAC,OAAA,IACAR,EAAAtqB,KAAAyF,GAAA8E,QAnLA,sBAmLA,QACAA,QAAA,uEAIAwgB,EAAApB,EAAAJ,EAAAwB,YAAA3nB,EACA0T,EAAAyS,EAAAzS,OACAkU,EAAAzB,EAAAyB,WACAC,EAAAF,IAAAE,iBAAA7nB,EACA8nB,EA7DA,SAAAtP,EAAAtK,GACA,gBAAA6Z,GACA,OAAAvP,EAAAtK,EAAA6Z,KA2DAC,CAAArmB,OAAAsmB,eAAAtmB,QACAumB,EAAAvmB,OAAAwmB,OACAC,EAAApB,EAAAoB,qBACA/U,EAAAyT,EAAAzT,OACAgV,EAAA3U,IAAA4U,iBAAAtoB,EAEA4B,EAAA,WACA,IACA,IAAA4W,EAAA+P,GAAA5mB,OAAA,kBAEA,OADA6W,KAAW,OACXA,EACG,MAAAne,KALH,GASAmuB,EAAAb,IAAAc,cAAAzoB,EACA0oB,EAAA/nB,KAAAC,IACA+nB,EAAAC,KAAAC,IAGAC,EAAAP,GAAApC,EAAA,OACA4C,EAAAR,GAAA5mB,OAAA,UAUAqnB,EAAA,WACA,SAAAhJ,KACA,gBAAAiJ,GACA,IAAAC,GAAAD,GACA,SAEA,GAAAf,EACA,OAAAA,EAAAe,GAEAjJ,EAAAhe,UAAAinB,EACA,IAAAjmB,EAAA,IAAAgd,EAEA,OADAA,EAAAhe,eAAAhC,EACAgD,GAZA,GAuBA,SAAAmmB,GAAAC,GACA,IAAAxd,GAAA,EACAlR,EAAA,MAAA0uB,EAAA,EAAAA,EAAA1uB,OAGA,IADA6P,KAAA8e,UACAzd,EAAAlR,GAAA,CACA,IAAA4uB,EAAAF,EAAAxd,GACArB,KAAAgf,IAAAD,EAAA,GAAAA,EAAA,KA+FA,SAAAE,GAAAJ,GACA,IAAAxd,GAAA,EACAlR,EAAA,MAAA0uB,EAAA,EAAAA,EAAA1uB,OAGA,IADA6P,KAAA8e,UACAzd,EAAAlR,GAAA,CACA,IAAA4uB,EAAAF,EAAAxd,GACArB,KAAAgf,IAAAD,EAAA,GAAAA,EAAA,KA4GA,SAAAG,GAAAL,GACA,IAAAxd,GAAA,EACAlR,EAAA,MAAA0uB,EAAA,EAAAA,EAAA1uB,OAGA,IADA6P,KAAA8e,UACAzd,EAAAlR,GAAA,CACA,IAAA4uB,EAAAF,EAAAxd,GACArB,KAAAgf,IAAAD,EAAA,GAAAA,EAAA,KA8FA,SAAAI,GAAAN,GACA,IAAAhhB,EAAAmC,KAAAof,SAAA,IAAAH,GAAAJ,GACA7e,KAAAqf,KAAAxhB,EAAAwhB,KAmGA,SAAAC,GAAArwB,EAAAswB,GACA,IAAAC,EAAAC,GAAAxwB,GACAywB,GAAAF,GAAAG,GAAA1wB,GACA2wB,GAAAJ,IAAAE,GAAAxB,GAAAjvB,GACA4wB,GAAAL,IAAAE,IAAAE,GAAAvD,GAAAptB,GACA6wB,EAAAN,GAAAE,GAAAE,GAAAC,EACApnB,EAAAqnB,EAvkBA,SAAAzf,EAAA0f,GAIA,IAHA,IAAA1e,GAAA,EACA5I,EAAAiF,MAAA2C,KAEAgB,EAAAhB,GACA5H,EAAA4I,GAAA0e,EAAA1e,GAEA,OAAA5I,EAgkBAunB,CAAA/wB,EAAAkB,OAAA6nB,WACA7nB,EAAAsI,EAAAtI,OAEA,QAAAmH,KAAArI,GACAswB,IAAAznB,EAAAzF,KAAApD,EAAAqI,IACAwoB,IAEA,UAAAxoB,GAEAsoB,IAAA,UAAAtoB,GAAA,UAAAA,IAEAuoB,IAAA,UAAAvoB,GAAA,cAAAA,GAAA,cAAAA,IAEA2oB,GAAA3oB,EAAAnH,KAEAsI,EAAAoH,KAAAvI,GAGA,OAAAmB,EAYA,SAAAynB,GAAAzK,EAAAne,EAAArI,SACAwG,IAAAxG,GAAAkxB,GAAA1K,EAAAne,GAAArI,WACAwG,IAAAxG,GAAAqI,KAAAme,IACA2K,GAAA3K,EAAAne,EAAArI,GAcA,SAAAoxB,GAAA5K,EAAAne,EAAArI,GACA,IAAAqxB,EAAA7K,EAAAne,GACAQ,EAAAzF,KAAAojB,EAAAne,IAAA6oB,GAAAG,EAAArxB,UACAwG,IAAAxG,GAAAqI,KAAAme,IACA2K,GAAA3K,EAAAne,EAAArI,GAYA,SAAAsxB,GAAAC,EAAAlpB,GAEA,IADA,IAAAnH,EAAAqwB,EAAArwB,OACAA,KACA,GAAAgwB,GAAAK,EAAArwB,GAAA,GAAAmH,GACA,OAAAnH,EAGA,SAYA,SAAAiwB,GAAA3K,EAAAne,EAAArI,GACA,aAAAqI,GAAAD,EACAA,EAAAoe,EAAAne,GACAJ,cAAA,EACAD,YAAA,EACAhI,QACAkI,UAAA,IAGAse,EAAAne,GAAArI,EA3aA2vB,GAAAnnB,UAAAqnB,MAvEA,WACA9e,KAAAof,SAAAZ,IAAA,SACAxe,KAAAqf,KAAA,GAsEAT,GAAAnnB,UAAA,OAzDA,SAAAH,GACA,IAAAmB,EAAAuH,KAAAygB,IAAAnpB,WAAA0I,KAAAof,SAAA9nB,GAEA,OADA0I,KAAAqf,MAAA5mB,EAAA,IACAA,GAuDAmmB,GAAAnnB,UAAAwR,IA3CA,SAAA3R,GACA,IAAAuG,EAAAmC,KAAAof,SACA,GAAAZ,EAAA,CACA,IAAA/lB,EAAAoF,EAAAvG,GACA,OAAAmB,IAAAkiB,OAAAllB,EAAAgD,EAEA,OAAAX,EAAAzF,KAAAwL,EAAAvG,GAAAuG,EAAAvG,QAAA7B,GAsCAmpB,GAAAnnB,UAAAgpB,IA1BA,SAAAnpB,GACA,IAAAuG,EAAAmC,KAAAof,SACA,OAAAZ,OAAA/oB,IAAAoI,EAAAvG,GAAAQ,EAAAzF,KAAAwL,EAAAvG,IAyBAsnB,GAAAnnB,UAAAunB,IAZA,SAAA1nB,EAAArI,GACA,IAAA4O,EAAAmC,KAAAof,SAGA,OAFApf,KAAAqf,MAAArf,KAAAygB,IAAAnpB,GAAA,IACAuG,EAAAvG,GAAAknB,QAAA/oB,IAAAxG,EAAA0rB,EAAA1rB,EACA+Q,MAuHAif,GAAAxnB,UAAAqnB,MApFA,WACA9e,KAAAof,YACApf,KAAAqf,KAAA,GAmFAJ,GAAAxnB,UAAA,OAvEA,SAAAH,GACA,IAAAuG,EAAAmC,KAAAof,SACA/d,EAAAkf,GAAA1iB,EAAAvG,GAEA,QAAA+J,EAAA,IAIAA,GADAxD,EAAA1N,OAAA,EAEA0N,EAAA6iB,MAEA5X,EAAAzW,KAAAwL,EAAAwD,EAAA,KAEArB,KAAAqf,KACA,KA0DAJ,GAAAxnB,UAAAwR,IA9CA,SAAA3R,GACA,IAAAuG,EAAAmC,KAAAof,SACA/d,EAAAkf,GAAA1iB,EAAAvG,GAEA,OAAA+J,EAAA,OAAA5L,EAAAoI,EAAAwD,GAAA,IA2CA4d,GAAAxnB,UAAAgpB,IA/BA,SAAAnpB,GACA,OAAAipB,GAAAvgB,KAAAof,SAAA9nB,IAAA,GA+BA2nB,GAAAxnB,UAAAunB,IAlBA,SAAA1nB,EAAArI,GACA,IAAA4O,EAAAmC,KAAAof,SACA/d,EAAAkf,GAAA1iB,EAAAvG,GAQA,OANA+J,EAAA,KACArB,KAAAqf,KACAxhB,EAAAgC,MAAAvI,EAAArI,KAEA4O,EAAAwD,GAAA,GAAApS,EAEA+Q,MAyGAkf,GAAAznB,UAAAqnB,MAtEA,WACA9e,KAAAqf,KAAA,EACArf,KAAAof,UACAziB,KAAA,IAAAiiB,GACAtjB,IAAA,IAAAijB,GAAAU,IACA0B,OAAA,IAAA/B,KAkEAM,GAAAznB,UAAA,OArDA,SAAAH,GACA,IAAAmB,EAAAmoB,GAAA5gB,KAAA1I,GAAA,OAAAA,GAEA,OADA0I,KAAAqf,MAAA5mB,EAAA,IACAA,GAmDAymB,GAAAznB,UAAAwR,IAvCA,SAAA3R,GACA,OAAAspB,GAAA5gB,KAAA1I,GAAA2R,IAAA3R,IAuCA4nB,GAAAznB,UAAAgpB,IA3BA,SAAAnpB,GACA,OAAAspB,GAAA5gB,KAAA1I,GAAAmpB,IAAAnpB,IA2BA4nB,GAAAznB,UAAAunB,IAdA,SAAA1nB,EAAArI,GACA,IAAA4O,EAAA+iB,GAAA5gB,KAAA1I,GACA+nB,EAAAxhB,EAAAwhB,KAIA,OAFAxhB,EAAAmhB,IAAA1nB,EAAArI,GACA+Q,KAAAqf,MAAAxhB,EAAAwhB,QAAA,IACArf,MAwGAmf,GAAA1nB,UAAAqnB,MA3EA,WACA9e,KAAAof,SAAA,IAAAH,GACAjf,KAAAqf,KAAA,GA0EAF,GAAA1nB,UAAA,OA9DA,SAAAH,GACA,IAAAuG,EAAAmC,KAAAof,SACA3mB,EAAAoF,EAAA,OAAAvG,GAGA,OADA0I,KAAAqf,KAAAxhB,EAAAwhB,KACA5mB,GA0DA0mB,GAAA1nB,UAAAwR,IA9CA,SAAA3R,GACA,OAAA0I,KAAAof,SAAAnW,IAAA3R,IA8CA6nB,GAAA1nB,UAAAgpB,IAlCA,SAAAnpB,GACA,OAAA0I,KAAAof,SAAAqB,IAAAnpB,IAkCA6nB,GAAA1nB,UAAAunB,IArBA,SAAA1nB,EAAArI,GACA,IAAA4O,EAAAmC,KAAAof,SACA,GAAAvhB,aAAAohB,GAAA,CACA,IAAA4B,EAAAhjB,EAAAuhB,SACA,IAAAb,GAAAsC,EAAA1wB,OAAAuqB,EAAA,EAGA,OAFAmG,EAAAhhB,MAAAvI,EAAArI,IACA+Q,KAAAqf,OAAAxhB,EAAAwhB,KACArf,KAEAnC,EAAAmC,KAAAof,SAAA,IAAAF,GAAA2B,GAIA,OAFAhjB,EAAAmhB,IAAA1nB,EAAArI,GACA+Q,KAAAqf,KAAAxhB,EAAAwhB,KACArf,MAkIA,IAAA8gB,GAsWA,SAAAC,GACA,gBAAAtL,EAAAsK,EAAAiB,GAMA,IALA,IAAA3f,GAAA,EACA4f,EAAA7pB,OAAAqe,GACA1e,EAAAiqB,EAAAvL,GACAtlB,EAAA4G,EAAA5G,OAEAA,KAAA,CACA,IAAAmH,EAAAP,EAAAgqB,EAAA5wB,IAAAkR,GACA,QAAA0e,EAAAkB,EAAA3pB,KAAA2pB,GACA,MAGA,OAAAxL,GAnXAyL,GASA,SAAAC,GAAAlyB,GACA,aAAAA,OACAwG,IAAAxG,EAAAqsB,EAAAH,EAEA2C,QAAA1mB,OAAAnI,GA6YA,SAAAA,GACA,IAAAmyB,EAAAtpB,EAAAzF,KAAApD,EAAA6uB,GACAuD,EAAApyB,EAAA6uB,GAEA,IACA7uB,EAAA6uB,QAAAroB,EACA,IAAA6rB,GAAA,EACG,MAAAxxB,IAEH,IAAA2I,EAAAukB,EAAA3qB,KAAApD,GACAqyB,IACAF,EACAnyB,EAAA6uB,GAAAuD,SAEApyB,EAAA6uB,IAGA,OAAArlB,EA7ZA8oB,CAAAtyB,GAwhBA,SAAAA,GACA,OAAA+tB,EAAA3qB,KAAApD,GAxhBAuyB,CAAAvyB,GAUA,SAAAwyB,GAAAxyB,GACA,OAAAyyB,GAAAzyB,IAAAkyB,GAAAlyB,IAAA8rB,EAWA,SAAA4G,GAAA1yB,GACA,SAAA0vB,GAAA1vB,IAodA,SAAAgf,GACA,QAAA2O,QAAA3O,EArdA2T,CAAA3yB,MAGAiD,GAAAjD,GAAAiuB,EAAA3B,GACAhoB,KA4kBA,SAAA0a,GACA,SAAAA,EAAA,CACA,IACA,OAAA0O,EAAAtqB,KAAA4b,GACK,MAAAne,IACL,IACA,OAAAme,EAAA,GACK,MAAAne,KAEL,SArlBA+xB,CAAA5yB,IAsBA,SAAA6yB,GAAArM,GACA,IAAAkJ,GAAAlJ,GACA,OAmdA,SAAAA,GACA,IAAAhd,KACA,SAAAgd,EACA,QAAAne,KAAAF,OAAAqe,GACAhd,EAAAoH,KAAAvI,GAGA,OAAAmB,EA1dAspB,CAAAtM,GAEA,IAAAuM,EAAAC,GAAAxM,GACAhd,KAEA,QAAAnB,KAAAme,GACA,eAAAne,IAAA0qB,GAAAlqB,EAAAzF,KAAAojB,EAAAne,KACAmB,EAAAoH,KAAAvI,GAGA,OAAAmB,EAcA,SAAAypB,GAAAzM,EAAA5d,EAAAsqB,EAAAC,EAAAC,GACA5M,IAAA5d,GAGAipB,GAAAjpB,EAAA,SAAAyqB,EAAAhrB,GACA,GAAAqnB,GAAA2D,GACAD,MAAA,IAAAlD,IA+BA,SAAA1J,EAAA5d,EAAAP,EAAA6qB,EAAAI,EAAAH,EAAAC,GACA,IAAA/B,EAAAhE,EAAA7G,EAAAne,GACAgrB,EAAAhG,EAAAzkB,EAAAP,GACAkrB,EAAAH,EAAApZ,IAAAqZ,GAEA,GAAAE,EAEA,YADAtC,GAAAzK,EAAAne,EAAAkrB,GAGA,IAAAC,EAAAL,EACAA,EAAA9B,EAAAgC,EAAAhrB,EAAA,GAAAme,EAAA5d,EAAAwqB,QACA5sB,EAEAitB,OAAAjtB,IAAAgtB,EAEA,GAAAC,EAAA,CACA,IAAAlD,EAAAC,GAAA6C,GACA1C,GAAAJ,GAAAtB,GAAAoE,GACAK,GAAAnD,IAAAI,GAAAvD,GAAAiG,GAEAG,EAAAH,EACA9C,GAAAI,GAAA+C,EACAlD,GAAAa,GACAmC,EAAAnC,GAsnBA,SAAArxB,GACA,OAAAyyB,GAAAzyB,IAAA2zB,GAAA3zB,GArnBA4zB,CAAAvC,GAGAV,GACA8C,GAAA,EACAD,EAqEA,SAAAK,EAAAC,GACA,GAAAA,EACA,OAAAD,EAAA/kB,QAEA,IAAA5N,EAAA2yB,EAAA3yB,OACAsI,EAAA6kB,IAAAntB,GAAA,IAAA2yB,EAAAzZ,YAAAlZ,GAGA,OADA2yB,EAAAE,KAAAvqB,GACAA,EA7EAwqB,CAAAX,GAAA,IAEAK,GACAD,GAAA,EACAD,EAiGA,SAAAS,EAAAH,GACA,IAAAD,EAAAC,EAfA,SAAAI,GACA,IAAA1qB,EAAA,IAAA0qB,EAAA9Z,YAAA8Z,EAAAC,YAEA,OADA,IAAA/F,EAAA5kB,GAAAumB,IAAA,IAAA3B,EAAA8F,IACA1qB,EAYA4qB,CAAAH,EAAAJ,QAAAI,EAAAJ,OACA,WAAAI,EAAA7Z,YAAAyZ,EAAAI,EAAAI,WAAAJ,EAAA/yB,QAnGAozB,CAAAjB,GAAA,IAGAG,KAXAA,EAsHA,SAAA5qB,EAAA2oB,GACA,IAAAnf,GAAA,EACAlR,EAAA0H,EAAA1H,OAEAqwB,MAAA9iB,MAAAvN,IACA,OAAAkR,EAAAlR,GACAqwB,EAAAnf,GAAAxJ,EAAAwJ,GAEA,OAAAmf,EA9HAgD,CAAAlD,GA0xBA,SAAArxB,GACA,IAAAyyB,GAAAzyB,IAAAkyB,GAAAlyB,IAAAmsB,EACA,SAEA,IAAAsD,EAAAnB,EAAAtuB,GACA,UAAAyvB,EACA,SAEA,IAAA+E,EAAA3rB,EAAAzF,KAAAqsB,EAAA,gBAAAA,EAAArV,YACA,yBAAAoa,mBACA9G,EAAAtqB,KAAAoxB,IAAAxG,EAtxBAyG,CAAApB,IAAA3C,GAAA2C,IACAG,EAAAnC,EACAX,GAAAW,GACAmC,EAi0BA,SAAAxzB,GACA,OAxsBA,SAAA4I,EAAAd,EAAA0e,EAAA2M,GACA,IAAAuB,GAAAlO,EACAA,UAEA,IAAApU,GAAA,EACAlR,EAAA4G,EAAA5G,OAEA,OAAAkR,EAAAlR,GAAA,CACA,IAAAmH,EAAAP,EAAAsK,GAEAohB,EAAAL,EACAA,EAAA3M,EAAAne,GAAAO,EAAAP,KAAAme,EAAA5d,QACApC,OAEAA,IAAAgtB,IACAA,EAAA5qB,EAAAP,IAEAqsB,EACAvD,GAAA3K,EAAAne,EAAAmrB,GAEApC,GAAA5K,EAAAne,EAAAmrB,GAGA,OAAAhN,EAirBAmO,CAAA30B,EAAA40B,GAAA50B,IAl0BA60B,CAAAxD,KAEA3B,GAAA2B,IAAA6B,GAAAjwB,GAAAouB,MACAmC,EAwQA,SAAAhN,GACA,yBAAAA,EAAApM,aAAA4Y,GAAAxM,MACAgJ,EAAAlB,EAAA9H,IA1QAsO,CAAAzB,KAIAI,GAAA,EAGAA,IAEAL,EAAArD,IAAAsD,EAAAG,GACAF,EAAAE,EAAAH,EAAAH,EAAAC,EAAAC,GACAA,EAAA,OAAAC,IAEApC,GAAAzK,EAAAne,EAAAmrB,GAzFAuB,CAAAvO,EAAA5d,EAAAP,EAAA6qB,EAAAD,GAAAE,EAAAC,OAEA,CACA,IAAAI,EAAAL,EACAA,EAAA9F,EAAA7G,EAAAne,GAAAgrB,EAAAhrB,EAAA,GAAAme,EAAA5d,EAAAwqB,QACA5sB,OAEAA,IAAAgtB,IACAA,EAAAH,GAEApC,GAAAzK,EAAAne,EAAAmrB,KAEGoB,IAwFH,SAAAI,GAAAhW,EAAArZ,GACA,OAAAsvB,GA6WA,SAAAjW,EAAArZ,EAAA+O,GAEA,OADA/O,EAAAupB,OAAA1oB,IAAAb,EAAAqZ,EAAA9d,OAAA,EAAAyE,EAAA,GACA,WAMA,IALA,IAAAuvB,EAAA3uB,UACA6L,GAAA,EACAlR,EAAAguB,EAAAgG,EAAAh0B,OAAAyE,EAAA,GACA4rB,EAAA9iB,MAAAvN,KAEAkR,EAAAlR,GACAqwB,EAAAnf,GAAA8iB,EAAAvvB,EAAAyM,GAEAA,GAAA,EAEA,IADA,IAAA+iB,EAAA1mB,MAAA9I,EAAA,KACAyM,EAAAzM,GACAwvB,EAAA/iB,GAAA8iB,EAAA9iB,GAGA,OADA+iB,EAAAxvB,GAAA+O,EAAA6c,GAvwCA,SAAAvS,EAAAoW,EAAAF,GACA,OAAAA,EAAAh0B,QACA,cAAA8d,EAAA5b,KAAAgyB,GACA,cAAApW,EAAA5b,KAAAgyB,EAAAF,EAAA,IACA,cAAAlW,EAAA5b,KAAAgyB,EAAAF,EAAA,GAAAA,EAAA,IACA,cAAAlW,EAAA5b,KAAAgyB,EAAAF,EAAA,GAAAA,EAAA,GAAAA,EAAA,IAEA,OAAAlW,EAAAqW,MAAAD,EAAAF,GAiwCAG,CAAArW,EAAAjO,KAAAokB,IA9XAG,CAAAtW,EAAArZ,EAAA4vB,IAAAvW,EAAA,IAyLA,SAAA2S,GAAAtlB,EAAAhE,GACA,IAAAuG,EAAAvC,EAAA8jB,SACA,OA2GA,SAAAnwB,GACA,IAAAggB,SAAAhgB,EACA,gBAAAggB,GAAA,UAAAA,GAAA,UAAAA,GAAA,WAAAA,EACA,cAAAhgB,EACA,OAAAA,EA/GAw1B,CAAAntB,GACAuG,EAAA,iBAAAvG,EAAA,iBACAuG,EAAAvC,IAWA,SAAA0iB,GAAAvI,EAAAne,GACA,IAAArI,EAjiCA,SAAAwmB,EAAAne,GACA,aAAAme,OAAAhgB,EAAAggB,EAAAne,GAgiCAotB,CAAAjP,EAAAne,GACA,OAAAqqB,GAAA1yB,UAAAwG,EAmDA,SAAAwqB,GAAAhxB,EAAAkB,GACA,IAAA8e,SAAAhgB,EAGA,SAFAkB,EAAA,MAAAA,EAAA2qB,EAAA3qB,KAGA,UAAA8e,GACA,UAAAA,GAAAuM,EAAAjoB,KAAAtE,KACAA,GAAA,GAAAA,EAAA,MAAAA,EAAAkB,EA2DA,SAAA8xB,GAAAhzB,GACA,IAAAw0B,EAAAx0B,KAAAoa,YAGA,OAAApa,KAFA,mBAAAw0B,KAAAhsB,WAAAglB,GAyEA,IAAAyH,GAWA,SAAAjW,GACA,IAAA0W,EAAA,EACAC,EAAA,EAEA,kBACA,IAAAC,EAAAzG,IACA0G,EAAAjK,GAAAgK,EAAAD,GAGA,GADAA,EAAAC,EACAC,EAAA,GACA,KAAAH,GAAA/J,EACA,OAAAplB,UAAA,QAGAmvB,EAAA,EAEA,OAAA1W,EAAAqW,WAAA7uB,EAAAD,YA3BAuvB,CA/XA1tB,EAAA,SAAA4W,EAAA0S,GACA,OAAAtpB,EAAA4W,EAAA,YACA/W,cAAA,EACAD,YAAA,EACAhI,MA22BA,SAAAA,GACA,kBACA,OAAAA,GA72BA+1B,CAAArE,GACAxpB,UAAA,KALAqtB,IAidA,SAAArE,GAAAlxB,EAAAg2B,GACA,OAAAh2B,IAAAg2B,GAAAh2B,MAAAg2B,KAqBA,IAAAtF,GAAA8B,GAAA,WAA8C,OAAAjsB,UAA9C,IAAkEisB,GAAA,SAAAxyB,GAClE,OAAAyyB,GAAAzyB,IAAA6I,EAAAzF,KAAApD,EAAA,YACA4uB,EAAAxrB,KAAApD,EAAA,WA0BAwwB,GAAA/hB,MAAA+hB,QA2BA,SAAAmD,GAAA3zB,GACA,aAAAA,GAAAi2B,GAAAj2B,EAAAkB,UAAA+B,GAAAjD,GAiDA,IAAAivB,GAAAD,GAsUA,WACA,UApTA,SAAA/rB,GAAAjD,GACA,IAAA0vB,GAAA1vB,GACA,SAIA,IAAAoyB,EAAAF,GAAAlyB,GACA,OAAAoyB,GAAApG,GAAAoG,GAAAnG,GAAAmG,GAAArG,GAAAqG,GAAAhG,EA6BA,SAAA6J,GAAAj2B,GACA,uBAAAA,GACAA,GAAA,GAAAA,EAAA,MAAAA,GAAA6rB,EA4BA,SAAA6D,GAAA1vB,GACA,IAAAggB,SAAAhgB,EACA,aAAAA,IAAA,UAAAggB,GAAA,YAAAA,GA2BA,SAAAyS,GAAAzyB,GACA,aAAAA,GAAA,iBAAAA,EA6DA,IAAAotB,GAAAD,EAjnDA,SAAAnO,GACA,gBAAAhf,GACA,OAAAgf,EAAAhf,IA+mDAk2B,CAAA/I,GA75BA,SAAAntB,GACA,OAAAyyB,GAAAzyB,IACAi2B,GAAAj2B,EAAAkB,WAAAsrB,EAAA0F,GAAAlyB,KAg9BA,SAAA40B,GAAApO,GACA,OAAAmN,GAAAnN,GAAA6J,GAAA7J,GAAA,GAAAqM,GAAArM,GAkCA,IAAA2P,GApuBA,SAAAC,GACA,OAAApB,GAAA,SAAAxO,EAAA6P,GACA,IAAAjkB,GAAA,EACAlR,EAAAm1B,EAAAn1B,OACAiyB,EAAAjyB,EAAA,EAAAm1B,EAAAn1B,EAAA,QAAAsF,EACA8vB,EAAAp1B,EAAA,EAAAm1B,EAAA,QAAA7vB,EAWA,IATA2sB,EAAAiD,EAAAl1B,OAAA,sBAAAiyB,GACAjyB,IAAAiyB,QACA3sB,EAEA8vB,GAuIA,SAAAt2B,EAAAoS,EAAAoU,GACA,IAAAkJ,GAAAlJ,GACA,SAEA,IAAAxG,SAAA5N,EACA,mBAAA4N,EACA2T,GAAAnN,IAAAwK,GAAA5e,EAAAoU,EAAAtlB,QACA,UAAA8e,GAAA5N,KAAAoU,IAEA0K,GAAA1K,EAAApU,GAAApS,GAhJAu2B,CAAAF,EAAA,GAAAA,EAAA,GAAAC,KACAnD,EAAAjyB,EAAA,OAAAsF,EAAA2sB,EACAjyB,EAAA,GAEAslB,EAAAre,OAAAqe,KACApU,EAAAlR,GAAA,CACA,IAAA0H,EAAAytB,EAAAjkB,GACAxJ,GACAwtB,EAAA5P,EAAA5d,EAAAwJ,EAAA+gB,GAGA,OAAA3M,IA8sBAgQ,CAAA,SAAAhQ,EAAA5d,EAAAsqB,GACAD,GAAAzM,EAAA5d,EAAAsqB,KA4CA,SAAAqC,GAAAv1B,GACA,OAAAA,EAoBAQ,EAAAC,QAAA01B,KAoBA,IAIAM,IACA9P,QAtBA,SAAAA,EAAAC,GACA,IAAAxW,EAAA7J,UAAArF,OAAA,QAAAsF,IAAAD,UAAA,GAAAA,UAAA,MAEA,IAAAogB,EAAA+P,UAAA,CACA/P,EAAA+P,WAAA,EAEA,IAAAC,KACApL,GAAAoL,EAAA9V,GAAAzQ,GAEAqmB,GAAArmB,QAAAumB,EACAnb,GAAApL,QAAAumB,EAEA/P,EAAApL,UAAA,UAAAA,IACAoL,EAAApL,UAAA,gBAAA8I,IACAsC,EAAAC,UAAA,YAAAQ,MAUAjY,cACA,OAAAjC,GAAAiC,SAGAA,YAAApP,GACAmN,GAAAiC,QAAApP,IAKA42B,GAAA,KACA,oBAAAz0B,OACAy0B,GAAAz0B,OAAAykB,SACC,IAAA3kB,IACD20B,GAAA30B,EAAA2kB,KAEAgQ,IACAA,GAAA5P,IAAAyP,IAIeI,EAAA;;;;;;ACxvMiDr2B,EAAAC,QAAyK,SAAAq2B,GAAmB,SAAAj2B,EAAAuQ,GAAc,GAAA7P,EAAA6P,GAAA,OAAA7P,EAAA6P,GAAA3Q,QAA4B,IAAAiM,EAAAnL,EAAA6P,IAAY7P,EAAA6P,EAAA2lB,GAAA,EAAAt2B,YAAqB,OAAAq2B,EAAA1lB,GAAAhO,KAAAsJ,EAAAjM,QAAAiM,IAAAjM,QAAAI,GAAA6L,EAAAqqB,GAAA,EAAArqB,EAAAjM,QAA2D,IAAAc,KAAS,OAAAV,EAAAm2B,EAAAF,EAAAj2B,EAAAo2B,EAAA11B,EAAAV,EAAAq2B,EAAA,SAAAJ,EAAAv1B,EAAA6P,GAAuCvQ,EAAAs2B,EAAAL,EAAAv1B,IAAA4G,OAAAC,eAAA0uB,EAAAv1B,GAAqC0G,cAAA,EAAAD,YAAA,EAAAgS,IAAA5I,KAAsCvQ,EAAAuQ,EAAA,SAAA0lB,GAAiB,IAAAv1B,EAAAu1B,KAAAM,WAAA,WAAiC,OAAAN,EAAAjO,SAAiB,WAAY,OAAAiO,GAAU,OAAAj2B,EAAAq2B,EAAA31B,EAAA,IAAAA,MAAsBV,EAAAs2B,EAAA,SAAAL,EAAAj2B,GAAmB,OAAAsH,OAAAK,UAAAK,eAAAzF,KAAA0zB,EAAAj2B,IAAiDA,EAAAw2B,EAAA,IAAAx2B,IAAAy2B,EAAA,GAAvc,EAAyd,SAAAR,EAAAj2B,GAAgB,SAAAU,EAAAu1B,EAAAj2B,GAAgB,IAAAU,EAAAu1B,EAAA,OAAApqB,EAAAoqB,EAAA,GAAsB,IAAApqB,EAAA,OAAAnL,EAAe,GAAAV,GAAA,mBAAA02B,KAAA,CAA+B,IAAAC,EAAiJ,SAAAV,GAAc,yEAAgES,KAAAE,SAAAC,mBAAAC,KAAAC,UAAAd,MAAA,MAA/N1lB,CAAA1E,GAAW,OAAAnL,GAAA8Q,OAAA3F,EAAA2pB,QAAAhqB,IAAA,SAAAyqB,GAA2C,uBAAApqB,EAAAmrB,WAAAf,EAAA,SAA4CzkB,QAAAmlB,IAAA7d,KAAA,MAA0B,OAAApY,GAAAoY,KAAA,MAAwKmd,EAAAr2B,QAAA,SAAAq2B,GAAsB,IAAAj2B,KAAS,OAAAA,EAAAsC,SAAA,WAA6B,OAAA4N,KAAA1E,IAAA,SAAAxL,GAA4B,IAAAuQ,EAAA7P,EAAAV,EAAAi2B,GAAa,OAAAj2B,EAAA,aAAAA,EAAA,OAA6BuQ,EAAA,IAAMA,IAAIuI,KAAA,KAAW9Y,EAAAU,EAAA,SAAAu1B,EAAAv1B,GAAmB,iBAAAu1B,QAAA,KAAAA,EAAA,MAAsC,QAAA1lB,KAAY1E,EAAA,EAAKA,EAAAqE,KAAA7P,OAAcwL,IAAA,CAAK,IAAA8qB,EAAAzmB,KAAArE,GAAA,GAAiB,iBAAA8qB,IAAApmB,EAAAomB,IAAA,GAA8B,IAAA9qB,EAAA,EAAQA,EAAAoqB,EAAA51B,OAAWwL,IAAA,CAAK,IAAAyqB,EAAAL,EAAApqB,GAAW,iBAAAyqB,EAAA,IAAA/lB,EAAA+lB,EAAA,MAAA51B,IAAA41B,EAAA,GAAAA,EAAA,GAAA51B,MAAA41B,EAAA,OAAAA,EAAA,aAAA51B,EAAA,KAAAV,EAAA+P,KAAAumB,MAAgGt2B,IAAI,SAAAi2B,EAAAj2B,EAAAU,GAAiB,SAAA6P,EAAA0lB,GAAc,QAAAj2B,EAAA,EAAYA,EAAAi2B,EAAA51B,OAAWL,IAAA,CAAK,IAAAU,EAAAu1B,EAAAj2B,GAAAuQ,EAAA8lB,EAAA31B,EAAAob,IAAqB,GAAAvL,EAAA,CAAMA,EAAA0mB,OAAS,QAAAprB,EAAA,EAAYA,EAAA0E,EAAA2mB,MAAA72B,OAAiBwL,IAAA0E,EAAA2mB,MAAArrB,GAAAnL,EAAAw2B,MAAArrB,IAA2B,KAAKA,EAAAnL,EAAAw2B,MAAA72B,OAAiBwL,IAAA0E,EAAA2mB,MAAAnnB,KAAA4mB,EAAAj2B,EAAAw2B,MAAArrB,KAAgC0E,EAAA2mB,MAAA72B,OAAAK,EAAAw2B,MAAA72B,SAAAkQ,EAAA2mB,MAAA72B,OAAAK,EAAAw2B,MAAA72B,YAA+D,CAAK,QAAAi2B,KAAAzqB,EAAA,EAAiBA,EAAAnL,EAAAw2B,MAAA72B,OAAiBwL,IAAAyqB,EAAAvmB,KAAA4mB,EAAAj2B,EAAAw2B,MAAArrB,KAA0BwqB,EAAA31B,EAAAob,KAASA,GAAApb,EAAAob,GAAAmb,KAAA,EAAAC,MAAAZ,KAA0B,SAAAzqB,IAAa,IAAAoqB,EAAAl1B,SAAA2a,cAAA,SAAsC,OAAAua,EAAA9W,KAAA,WAAAgY,EAAAxa,YAAAsZ,KAA4C,SAAAU,EAAAV,GAAc,IAAAj2B,EAAAU,EAAA6P,EAAAxP,SAAA0T,cAAA,2BAAAwhB,EAAAna,GAAA,MAAuE,GAAAvL,EAAA,CAAM,GAAA6mB,EAAA,OAAAjB,EAAc5lB,EAAAvN,WAAAiV,YAAA1H,GAA4B,GAAA8mB,EAAA,CAAM,IAAAV,EAAAW,IAAU/mB,EAAAimB,MAAA3qB,KAAA7L,EAAAs2B,EAAAz2B,KAAA,KAAA0Q,EAAAomB,GAAA,GAAAj2B,EAAA41B,EAAAz2B,KAAA,KAAA0Q,EAAAomB,GAAA,QAAyDpmB,EAAA1E,IAAA7L,EAA6Y,SAAAi2B,EAAAj2B,GAAgB,IAAAU,EAAAV,EAAA4C,IAAA2N,EAAAvQ,EAAAu3B,MAAA1rB,EAAA7L,EAAAw3B,UAAoC,GAAAjnB,GAAA0lB,EAAA5e,aAAA,QAAA9G,GAAA1E,IAAAnL,GAAA,mBAAAmL,EAAA2pB,QAAA,SAAA90B,GAAA,uDAA8Hg2B,KAAAE,SAAAC,mBAAAC,KAAAC,UAAAlrB,MAAA,OAAAoqB,EAAAwB,WAAAxB,EAAAwB,WAAAC,QAAAh3B,MAA0G,CAAK,KAAKu1B,EAAAvZ,YAAauZ,EAAAhe,YAAAge,EAAAvZ,YAA6BuZ,EAAAtZ,YAAA5b,SAAA42B,eAAAj3B,MAA7tBb,KAAA,KAAA0Q,GAAA7P,EAAA,WAAyC6P,EAAAvN,WAAAiV,YAAA1H,IAA6B,OAAAvQ,EAAAi2B,GAAA,SAAA1lB,GAAwB,GAAAA,EAAA,CAAM,GAAAA,EAAA3N,MAAAqzB,EAAArzB,KAAA2N,EAAAgnB,QAAAtB,EAAAsB,OAAAhnB,EAAAinB,YAAAvB,EAAAuB,UAAA,OAAsEx3B,EAAAi2B,EAAA1lB,QAAO7P,KAAU,SAAA41B,EAAAL,EAAAj2B,EAAAU,EAAA6P,GAAoB,IAAA1E,EAAAnL,EAAA,GAAA6P,EAAA3N,IAAiB,GAAAqzB,EAAAwB,WAAAxB,EAAAwB,WAAAC,QAAA5rB,EAAA9L,EAAA6L,OAA4C,CAAK,IAAA8qB,EAAA51B,SAAA42B,eAAA9rB,GAAAyqB,EAAAL,EAAApa,WAAgDya,EAAAt2B,IAAAi2B,EAAAhe,YAAAqe,EAAAt2B,IAAAs2B,EAAAj2B,OAAA41B,EAAA2B,aAAAjB,EAAAL,EAAAt2B,IAAAi2B,EAAAtZ,YAAAga,IAAuc,IAAAT,EAAA,oBAAAn1B,SAAmC,uBAAA82B,eAAA3B,EAAA,UAAA4B,MAAA,2JAAmN,IAAA1B,EAAA11B,EAAA,GAAA21B,KAAec,EAAAjB,IAAAn1B,SAAAg3B,MAAAh3B,SAAAi3B,qBAAA,YAAAxB,EAAA,KAAAc,EAAA,EAAAF,GAAA,EAAAjB,EAAA,aAA8FkB,EAAA,oBAAA51B,WAAA,eAAAgC,KAAAhC,UAAAC,UAAAiT,eAAyFshB,EAAAr2B,QAAA,SAAAq2B,EAAAj2B,EAAAU,GAA0B02B,EAAA12B,EAAI,IAAAmL,EAAAuqB,EAAAH,EAAAj2B,GAAa,OAAAuQ,EAAA1E,GAAA,SAAA7L,GAAwB,QAAAU,KAAAi2B,EAAA,EAAiBA,EAAA9qB,EAAAxL,OAAWs2B,IAAA,CAAK,IAAAL,EAAAzqB,EAAA8qB,GAAAF,EAAAJ,EAAAC,EAAAxa,IAAqB2a,EAAAQ,OAAAv2B,EAAAqP,KAAA0mB,GAAmBz2B,EAAAuQ,EAAA1E,EAAAuqB,EAAAH,EAAAj2B,IAAA6L,KAAuB,QAAA8qB,EAAA,EAAYA,EAAAj2B,EAAAL,OAAWs2B,IAAA,CAAK,IAAAF,EAAA/1B,EAAAi2B,GAAW,OAAAF,EAAAQ,KAAA,CAAe,QAAAf,EAAA,EAAYA,EAAAO,EAAAS,MAAA72B,OAAiB61B,IAAAO,EAAAS,MAAAhB,YAAiBG,EAAAI,EAAA3a,QAAmB,IAAAhQ,EAAA,WAAiB,IAAAmqB,KAAS,gBAAAj2B,EAAAU,GAAqB,OAAAu1B,EAAAj2B,GAAAU,EAAAu1B,EAAAjqB,OAAA+b,SAAAjP,KAAA,OAA/C,IAA8F,SAAAmd,EAAAj2B,GAAei2B,EAAAr2B,QAAA,SAAAq2B,EAAAj2B,EAAAU,EAAA6P,EAAA1E,GAA8B,IAAA8qB,EAAAL,EAAAL,QAAeQ,SAAAR,EAAAjO,QAAoB,WAAAyO,GAAA,aAAAA,IAAAE,EAAAV,EAAAK,EAAAL,EAAAjO,SAAgD,IAAoHoO,EAApHF,EAAA,mBAAAI,IAAA/mB,QAAA+mB,EAA0H,GAAnFt2B,IAAAk2B,EAAA7R,OAAArkB,EAAAqkB,OAAA6R,EAAArR,gBAAA7kB,EAAA6kB,iBAAAtU,IAAA2lB,EAAApR,SAAAvU,GAAmF1E,GAAAuqB,EAAA,SAAAH,IAAoBA,KAAA/lB,KAAA+nB,QAAA/nB,KAAA+nB,OAAAC,YAAAhoB,KAAA7G,QAAA6G,KAAA7G,OAAA4uB,QAAA/nB,KAAA7G,OAAA4uB,OAAAC,aAAA,oBAAAC,sBAAAlC,EAAAkC,qBAAAz3B,KAAA6B,KAAA2N,KAAA+lB,QAAAmC,uBAAAnC,EAAAmC,sBAAAC,IAAAxsB,IAA0PqqB,EAAAoC,aAAAlC,GAAA11B,IAAA01B,EAAA11B,GAAA01B,EAAA,CAA+B,IAAAC,EAAAH,EAAAqC,WAAApB,EAAAd,EAAAH,EAAA7R,OAAA6R,EAAAsC,aAA+CnC,EAAAH,EAAA7R,OAAA,SAAA4R,EAAAj2B,GAAyB,OAAAo2B,EAAA7zB,KAAAvC,GAAAm3B,EAAAlB,EAAAj2B,IAAwBk2B,EAAAsC,aAAArB,KAAA3lB,OAAA2lB,EAAAf,OAAqC,OAAOqC,SAAA9B,EAAA/2B,QAAA02B,EAAA/mB,QAAA2mB,KAAiC,SAAAD,EAAAj2B,EAAAU,GAAiB,aAAa4G,OAAAC,eAAAvH,EAAA,cAAsCb,OAAA,IAAW,IAAAoR,EAAA7P,EAAA,GAAWV,EAAAgoB,QAAAzX,EAAA1E,EAAA,oBAAAvK,eAAAykB,KAAAzkB,OAAAykB,IAAAC,UAAA,mBAAAzV,EAAA1E,IAAmG,SAAAoqB,EAAAj2B,EAAAU,GAAiB,aAAgC,IAAAmL,EAAAnL,EAAA,GAAAi2B,EAAAj2B,EAAA,IAAA41B,EAAA51B,EAAA,GAAA+1B,EAAnB,SAAAR,GAAcv1B,EAAA,IAAKw1B,EAAAI,EAAAzqB,IAAA8qB,EAAA9qB,EAAA4qB,EAAA,wBAAoEz2B,EAAA6L,EAAAqqB,EAAAt2B,SAAc,SAAAq2B,EAAAj2B,EAAAU,GAAiB,IAAA6P,EAAA7P,EAAA,GAAW,iBAAA6P,QAAA0lB,EAAAv1B,EAAA6P,EAAA,MAAAA,EAAAmoB,SAAAzC,EAAAr2B,QAAA2Q,EAAAmoB,QAAoEh4B,EAAA,EAAAA,CAAA,WAAA6P,GAAA,IAAsB,SAAA0lB,EAAAj2B,EAAAU,IAAiBu1B,EAAAr2B,QAAAc,EAAA,EAAAA,MAAA,IAAAqP,MAAAkmB,EAAAv1B,EAAA,4VAA+X,MAAO,SAAAu1B,EAAAj2B,GAAei2B,EAAAr2B,QAAA,SAAAq2B,EAAAj2B,GAAwB,QAAAU,KAAA6P,KAAiB1E,EAAA,EAAKA,EAAA7L,EAAAK,OAAWwL,IAAA,CAAK,IAAA8qB,EAAA32B,EAAA6L,GAAAyqB,EAAAK,EAAA,GAAAF,EAAAE,EAAA,GAAAT,EAAAS,EAAA,GAAAP,EAAAO,EAAA,GAAAN,GAA0Cva,GAAAma,EAAA,IAAApqB,EAAAjJ,IAAA6zB,EAAAc,MAAArB,EAAAsB,UAAApB,GAAsC7lB,EAAA+lB,GAAA/lB,EAAA+lB,GAAAY,MAAAnnB,KAAAsmB,GAAA31B,EAAAqP,KAAAQ,EAAA+lB,IAAqCxa,GAAAwa,EAAAY,OAAAb,KAAiB,OAAA31B,IAAU,SAAAu1B,EAAAj2B,EAAAU,GAAiB,aAAa,IAAA6P,EAAA7P,EAAA,GAAAmL,GAAc8sB,eAAA,8iBAAsjB,yGAAA7f,KAAA,MAAA8f,eAAA,uHAAgQjC,GAAIkC,eAAA,+pBAAA/f,KAAA,OAAyrBwd,EAAA,WAAc,IAAAL,GAAA,EAAS,IAAI,IAAAj2B,EAAAsH,OAAAC,kBAA8B,WAAY4R,IAAA,WAAe8c,GAAGxmB,SAAA,MAAenO,OAAAN,iBAAA,cAAAhB,KAAAsB,OAAAw3B,OAAA,cAAA94B,KAA4E,MAAAi2B,IAAU,OAAAA,EAA5L,GAAwMj2B,EAAA6L,GAAK8C,KAAA,kBAAAZ,KAAA,WAAuC,OAAOrE,aAAA,KAAAqvB,cAAA,KAAAC,WAAA,EAAAC,YAAA,EAAAC,aAAA,EAAAC,YAAA,EAAAC,cAAA,GAAAC,qBAAA,EAAAC,kBAAA,KAAAC,oBAAA,IAAmL1R,YAAa2R,QAAAjpB,EAAA1E,GAAYwc,UAAWoR,aAAaC,OAAA,EAAAvgB,IAAA,WAAwB,IAAA8c,EAAA/lB,KAAAypB,OAAA,cAAA35B,EAAAi2B,KAAA,GAAA2D,KAAA,KAAA3D,EAAA,GAAA2D,IAAAC,YAAyE,OAAA3pB,KAAA8oB,WAAA9oB,KAAA+oB,YAAA/oB,KAAAgpB,cAAAl5B,IAA8D85B,UAAWJ,OAAA,EAAAvgB,IAAA,WAAwB,IAAA8c,EAAA/lB,KAAAypB,OAAA,WAAA35B,EAAAi2B,KAAA,GAAA2D,KAAA,KAAA3D,EAAA,GAAA2D,IAAAC,YAAsE,OAAA3pB,KAAA8oB,WAAA9oB,KAAA+oB,aAAA/oB,KAAAgpB,cAAAl5B,KAAgEiH,OAAQ8yB,UAAU5a,KAAAgJ,OAAAH,QAAA,KAAwBgS,WAAAjO,SAAAkO,QAAA/R,OAAAgS,WAA+C/a,KAAA+I,OAAAF,QAAA,UAA6BmS,wBAAA,MAA8B1U,QAAA,WAAoB,IAAAwQ,EAAA/lB,KAAWA,KAAAxG,aAAAwG,KAAAhN,kBAAAgN,KAAA6oB,cAAA,SAAA9C,GAAwE,IAAAj2B,EAAAkQ,KAAWA,KAAA8oB,YAAA/C,KAAA1c,cAAA6gB,MAAAlqB,KAAAipB,aAAAjpB,KAAAipB,YAAA,EAAAh3B,WAAA,WAAqGnC,EAAAq6B,cAAAr6B,EAAAm5B,YAAA,GAAgCjpB,KAAAkpB,gBAAAlpB,KAAAmqB,gBAA0Cx6B,KAAAqQ,MAAA/N,WAAA+N,KAAA6oB,cAAA,GAAA7oB,KAAAxG,aAAA1I,iBAAA,SAAAkP,KAAA6oB,cAAAzC,GAAApmB,KAAAoqB,IAAA,mCAAAt6B,GAA8Ji2B,EAAAiD,aAAA,EAAAjD,EAAA+C,WAAA/C,EAAAvQ,UAAAuQ,EAAAoE,YAAAx6B,KAAA,UAAAG,KAAAO,SAAA01B,GAAA72B,QAAAC,KAAAwM,EAAA8sB,iBAAsHzoB,KAAAoqB,IAAA,qCAAAt6B,GAAmDi2B,EAAA+C,WAAA,EAAA/C,EAAAgD,YAAA,EAAAhD,EAAAvQ,UAAA,WAAsDuQ,EAAAsE,iBAAiBtE,EAAAvsB,aAAAvI,oBAAA,SAAA80B,EAAA8C,cAAAzC,GAAAt2B,KAAAO,SAAA01B,GAAA72B,QAAAC,KAAAwM,EAAA8sB,iBAAgHzoB,KAAAoqB,IAAA,oCAA+CrE,EAAA+C,WAAA,EAAA/C,EAAAgD,YAAA,EAAAhD,EAAAiD,aAAA,EAAAjD,EAAAkD,YAAA,EAAAlD,EAAAvsB,aAAA1I,iBAAA,SAAAi1B,EAAA8C,cAAAzC,GAAAn0B,WAAA8zB,EAAA8C,cAAA,KAA0J7oB,KAAA8pB,YAAA56B,QAAAC,KAAAwM,EAAA+sB,gBAAA1oB,KAAAsqB,cAAqEC,OAAA,WAAkBxE,EAAAhR,MAAA,2BAAmC1kB,OAAA01B,KAAWyE,SAAA,WAAqBzE,EAAAhR,MAAA,6BAAqC1kB,OAAA01B,KAAW0E,MAAA,WAAkB1E,EAAAhR,MAAA,0BAAkC1kB,OAAA01B,MAAY/lB,KAAA0qB,OAAA,qCAAkD3E,EAAAvsB,aAAAusB,EAAA/yB,qBAAqC23B,YAAA,WAAwB3qB,KAAA8oB,WAAA,EAAA9oB,KAAAxG,aAAAvI,oBAAA,SAAA+O,KAAA6oB,cAAAzC,IAAuFwE,UAAA,WAAsB5qB,KAAAxG,aAAA1I,iBAAA,SAAAkP,KAAA6oB,cAAAzC,IAAkEvR,SAAUsV,YAAA,SAAApE,GAAwB,IAAAj2B,EAAAkQ,KAAAxP,EAAAwP,KAAA6qB,sBAAuC7qB,KAAA+oB,YAAAv4B,GAAAwP,KAAA6pB,UAAA7pB,KAAAoV,IAAAtc,YAAAkH,KAAAoV,IAAApc,aAAA,GAAAgH,KAAA8oB,WAAA,qBAAA9oB,KAAA8pB,WAAA9pB,KAAA8pB,WAAAz3B,KAAA,KAAA2N,KAAAsqB,cAAAtqB,KAAA+U,MAAA,WAAA/U,KAAAsqB,eAAAvE,GAAA/lB,KAAAiqB,yBAAAjqB,KAAAmpB,sBAAAnpB,KAAAqpB,qBAAA,EAAAtc,aAAA/M,KAAAopB,mBAAAppB,KAAAopB,kBAAAn3B,WAAA,WAAwYnC,EAAAq5B,qBAAA,GAAyB,KAAAnpB,KAAAqpB,oBAAA,KAAAn6B,QAAA47B,MAAArE,EAAAkC,eAAA3oB,KAAAmpB,qBAAA,KAAAnpB,KAAA8oB,WAAA,GAAoH+B,mBAAA,WAAkT,MAAtQ,QAAA7qB,KAAAgqB,UAAA1pB,MAAAN,KAAAxG,aAAAjB,WAAAyH,KAAAxG,aAAAuxB,YAAA/qB,KAAAxG,aAAAjB,UAA8HyH,KAAAoV,IAAA/c,wBAAAD,KAAA4H,KAAAxG,eAAApI,cAAAuJ,YAAAqF,KAAAxG,aAAAnB,wBAAAF,SAAiJnF,gBAAA,WAA4B,IAAA+yB,EAAAvwB,UAAArF,OAAA,YAAAqF,UAAA,GAAAA,UAAA,GAAAwK,KAAAoV,IAAAtlB,OAAA,EAA+E,eAAAi2B,EAAAiF,QAAAl7B,EAAAsB,QAAA4O,KAAAiqB,0BAAA,iBAAAx4B,QAAAkB,iBAAAozB,GAAAzyB,YAAA,EAAAxD,EAAAi2B,KAAAkF,aAAA,qBAAAlF,EAAAkF,aAAA,4BAAAn7B,EAAAi2B,GAAAj2B,GAAAkQ,KAAAhN,gBAAA+yB,EAAAjzB,cAA6Po4B,UAAA,WAAsBlrB,KAAA+oB,YAAA/oB,KAAAxG,aAAAvI,oBAAA,SAAA+O,KAAA6oB,cAAAzC,MAAwF,SAAAL,EAAAj2B,EAAAU,GAAiB,aAAiC,IAAAmL,EAAAnL,EAAA,IAAAi2B,EAAAj2B,EAAA,IAAA41B,EAAA51B,EAAA,GAAA+1B,EAApB,SAAAR,GAAcv1B,EAAA,KAAMw1B,EAAAI,EAAAzqB,IAAA8qB,EAAA9qB,EAAA4qB,EAAA,wBAAqEz2B,EAAA6L,EAAAqqB,EAAAt2B,SAAc,SAAAq2B,EAAAj2B,EAAAU,GAAiB,IAAA6P,EAAA7P,EAAA,IAAY,iBAAA6P,QAAA0lB,EAAAv1B,EAAA6P,EAAA,MAAAA,EAAAmoB,SAAAzC,EAAAr2B,QAAA2Q,EAAAmoB,QAAoEh4B,EAAA,EAAAA,CAAA,WAAA6P,GAAA,IAAsB,SAAA0lB,EAAAj2B,EAAAU,IAAiBu1B,EAAAr2B,QAAAc,EAAA,EAAAA,MAAA,IAAAqP,MAAAkmB,EAAAv1B,EAAA,+9MAAkgN,MAAO,SAAAu1B,EAAAj2B,EAAAU,GAAiB,aAAa,IAAA6P,GAAO8qB,SAAShX,OAAA,SAAA4R,GAAmB,OAAAA,EAAA,QAAiBtR,OAAO+B,MAAA,oBAAyB9Y,MAAA4mB,MAAA5mB,YAAA,IAAApC,IAAA,WAA4C,OAAAyqB,EAAA,QAAiBtR,OAAO+B,MAAA,sBAA2B4U,SAAUjX,OAAA,SAAA4R,GAAmB,OAAAA,EAAA,QAAiBtR,OAAO+B,MAAA,oBAAyB9Y,MAAA4mB,MAAA5mB,YAAA,IAAApC,IAAA,WAA4C,OAAAyqB,EAAA,QAAiBtR,OAAO+B,MAAA,sBAA2B6U,SAAUlX,OAAA,SAAA4R,GAAmB,OAAAA,EAAA,KAActR,OAAO+B,MAAA,uBAA4B8U,QAASnX,OAAA,SAAA4R,GAAmB,OAAAA,EAAA,KAActR,OAAO+B,MAAA,sBAA2B+U,UAAWpX,OAAA,SAAA4R,GAAmB,OAAAA,EAAA,QAAiBtR,OAAO+B,MAAA,sBAA2B9Y,MAAA4mB,MAAA5mB,YAAA,IAAApC,IAAA,WAA4C,OAAAyqB,EAAA,QAAiBtR,OAAO+B,MAAA,qBAA2B1mB,EAAA6L,GAAK8C,KAAA,UAAA0Z,UAAyBqT,YAAA,WAAuB,OAAAnrB,GAAAL,KAAA+pB,SAAA,IAAAjrB,gBAAAuB,EAAAgrB,UAAuDt0B,OAAQgzB,QAAA/R,UAAiB,SAAA+N,EAAAj2B,EAAAU,GAAiB,aAAa,IAAsGi2B,GAAStS,OAA/G,WAAiB,IAAA4R,EAAA/lB,KAAAlQ,EAAAi2B,EAAA1R,eAA8B,OAAA0R,EAAAzR,MAAAC,IAAAzkB,GAAAi2B,EAAAyF,aAAqCnK,IAAA,eAA2B1M,oBAA4B7kB,EAAA6L,EAAA8qB,GAAM,SAAAV,EAAAj2B,EAAAU,GAAiB,aAAa,IAAwpBi2B,GAAStS,OAAjqB,WAAiB,IAAA4R,EAAA/lB,KAAAlQ,EAAAi2B,EAAA1R,eAAA7jB,EAAAu1B,EAAAzR,MAAAC,IAAAzkB,EAA8C,OAAAU,EAAA,OAAgBgkB,YAAA,+BAAyChkB,EAAA,OAAWi7B,aAAahtB,KAAA,OAAAitB,QAAA,SAAAz8B,MAAA82B,EAAA+C,UAAA15B,WAAA,gBAAwE22B,EAAAjP,GAAA,WAAAtmB,EAAA,WAA+BikB,OAAOsV,QAAAhE,EAAAgE,cAAmB,GAAAhE,EAAAhP,GAAA,KAAAvmB,EAAA,OAA2Bi7B,aAAahtB,KAAA,OAAAitB,QAAA,SAAAz8B,MAAA82B,EAAAwD,YAAAn6B,WAAA,gBAA0EolB,YAAA,2BAAuCuR,EAAAjP,GAAA,cAAAiP,EAAAhP,GAAA,uBAAAgP,EAAAhP,GAAA,KAAAvmB,EAAA,OAAoEi7B,aAAahtB,KAAA,OAAAitB,QAAA,SAAAz8B,MAAA82B,EAAA6D,SAAAx6B,WAAA,aAAoEolB,YAAA,2BAAuCuR,EAAAjP,GAAA,WAAAiP,EAAAhP,GAAA,4BAA2DpC,oBAA4B7kB,EAAA6L,EAAA8qB","file":"4.settings-vue.js","sourcesContent":["function validate(binding) {\r\n if (typeof binding.value !== 'function') {\r\n console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\r\n return false\r\n }\r\n\r\n return true\r\n}\r\n\r\nfunction isPopup(popupItem, elements) {\r\n if (!popupItem || !elements)\r\n return false\r\n\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n try {\r\n if (popupItem.contains(elements[i])) {\r\n return true\r\n }\r\n if (elements[i].contains(popupItem)) {\r\n return false\r\n }\r\n } catch(e) {\r\n return false\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\nfunction isServer(vNode) {\r\n return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\r\n}\r\n\r\nexports = module.exports = {\r\n bind: function (el, binding, vNode) {\r\n if (!validate(binding)) return\r\n\r\n // Define Handler and cache it on the element\r\n function handler(e) {\r\n if (!vNode.context) return\r\n\r\n // some components may have related popup item, on which we shall prevent the click outside event handler.\r\n var elements = e.path || (e.composedPath && e.composedPath())\r\n elements && elements.length > 0 && elements.unshift(e.target)\r\n \r\n if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\r\n\r\n el.__vueClickOutside__.callback(e)\r\n }\r\n\r\n // add Event Listeners\r\n el.__vueClickOutside__ = {\r\n handler: handler,\r\n callback: binding.value\r\n }\r\n !isServer(vNode) && document.addEventListener('click', handler)\r\n },\r\n\r\n update: function (el, binding) {\r\n if (validate(binding)) el.__vueClickOutside__.callback = binding.value\r\n },\r\n \r\n unbind: function (el, binding, vNode) {\r\n // Remove Event Listeners\r\n !isServer(vNode) && document.removeEventListener('click', el.__vueClickOutside__.handler)\r\n delete el.__vueClickOutside__\r\n }\r\n}\r\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.3\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && parent.nodeName === 'HTML') {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // Avoid blurry text by using full pixel integers.\n // For pixel-perfect positioning, top/bottom prefers rounded\n // values, while left/right prefers floored values.\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.round(popper.top),\n bottom: Math.round(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overriden using the `options` argument of Popper.js.
\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nvar SVGAnimatedString = function SVGAnimatedString() {};\nif (typeof window !== 'undefined') {\n\tSVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n\tif (typeof value === 'string') {\n\t\tvalue = value.split(' ');\n\t}\n\treturn value;\n}\n\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\nfunction addClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = convertToArray(el.className.baseVal);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tif (classList.indexOf(newClass) === -1) {\n\t\t\tclassList.push(newClass);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\nfunction removeClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = convertToArray(el.className.baseVal);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tvar index = classList.indexOf(newClass);\n\t\tif (index !== -1) {\n\t\t\tclassList.splice(index, 1);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n\tsupportsPassive = false;\n\ttry {\n\t\tvar opts = Object.defineProperty({}, 'passive', {\n\t\t\tget: function get() {\n\t\t\t\tsupportsPassive = true;\n\t\t\t}\n\t\t});\n\t\twindow.addEventListener('test', null, opts);\n\t} catch (e) {}\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck$1 = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass$1 = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends$1 = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/* Forked from https://github.com/FezVrasta/popper.js/blob/master/packages/tooltip/src/index.js */\n\nvar DEFAULT_OPTIONS = {\n\tcontainer: false,\n\tdelay: 0,\n\thtml: false,\n\tplacement: 'top',\n\ttitle: '',\n\ttemplate: '
',\n\ttrigger: 'hover focus',\n\toffset: 0\n};\n\nvar openTooltips = [];\n\nvar Tooltip = function () {\n\t/**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n *\t\t\tPlacement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n *\t\t\tleft(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n *\t\t\tDelay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n *\t\t\tIf a number is supplied, delay is applied to both hide/show.\n *\t\t\tObject structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='
']\n *\t\t\tBase HTML to used when creating the tooltip.\n *\t\t\tThe tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n *\t\t\t`.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n *\t\t\tThe outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n *\t\t\tHow tooltip is triggered - click, hover, focus, manual.\n *\t\t\tYou may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n *\t\t\tThe element used as boundaries for the tooltip. For more information refer to Popper.js'\n *\t\t\t[boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n *\t\t\t[offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n *\t\t\t[options docs](https://popper.js.org/popper-documentation.html)\n * @return {Object} instance - The generated tooltip instance\n */\n\tfunction Tooltip(reference, options) {\n\t\tclassCallCheck$1(this, Tooltip);\n\n\t\t_initialiseProps.call(this);\n\n\t\t// apply user options over default ones\n\t\toptions = _extends$1({}, DEFAULT_OPTIONS, options);\n\n\t\treference.jquery && (reference = reference[0]);\n\n\t\t// cache reference and options\n\t\tthis.reference = reference;\n\t\tthis.options = options;\n\n\t\t// set initial state\n\t\tthis._isOpen = false;\n\n\t\tthis._init();\n\t}\n\n\t//\n\t// Public methods\n\t//\n\n\t/**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n\n\t/**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n\n\tcreateClass$1(Tooltip, [{\n\t\tkey: 'setClasses',\n\t\tvalue: function setClasses(classes) {\n\t\t\tthis._classes = classes;\n\t\t}\n\t}, {\n\t\tkey: 'setContent',\n\t\tvalue: function setContent(content) {\n\t\t\tthis.options.title = content;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._setContent(content, this.options);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'setOptions',\n\t\tvalue: function setOptions(options) {\n\t\t\tvar classesUpdated = false;\n\t\t\tvar classes = options && options.classes || directive.options.defaultClass;\n\t\t\tif (this._classes !== classes) {\n\t\t\t\tthis.setClasses(classes);\n\t\t\t\tclassesUpdated = true;\n\t\t\t}\n\n\t\t\toptions = getOptions(options);\n\n\t\t\tvar needPopperUpdate = false;\n\t\t\tvar needRestart = false;\n\n\t\t\tif (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n\t\t\t\tneedPopperUpdate = true;\n\t\t\t}\n\n\t\t\tif (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n\t\t\t\tneedRestart = true;\n\t\t\t}\n\n\t\t\tfor (var key in options) {\n\t\t\t\tthis.options[key] = options[key];\n\t\t\t}\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tif (needRestart) {\n\t\t\t\t\tvar isOpen = this._isOpen;\n\n\t\t\t\t\tthis.dispose();\n\t\t\t\t\tthis._init();\n\n\t\t\t\t\tif (isOpen) {\n\t\t\t\t\t\tthis.show();\n\t\t\t\t\t}\n\t\t\t\t} else if (needPopperUpdate) {\n\t\t\t\t\tthis.popperInstance.update();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\t// Private methods\n\t\t//\n\n\t}, {\n\t\tkey: '_init',\n\t\tvalue: function _init() {\n\t\t\t// get events list\n\t\t\tvar events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\t\t\tthis._isDisposed = false;\n\t\t\tthis._enableDocumentTouch = events.indexOf('manual') === -1;\n\n\t\t\t// set event listeners\n\t\t\tthis._setEventListeners(this.reference, events, this.options);\n\t\t}\n\n\t\t/**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n\t}, {\n\t\tkey: '_create',\n\t\tvalue: function _create(reference, template) {\n\t\t\t// create tooltip element\n\t\t\tvar tooltipGenerator = window.document.createElement('div');\n\t\t\ttooltipGenerator.innerHTML = template.trim();\n\t\t\tvar tooltipNode = tooltipGenerator.childNodes[0];\n\n\t\t\t// add unique ID to our tooltip (needed for accessibility reasons)\n\t\t\ttooltipNode.id = 'tooltip_' + Math.random().toString(36).substr(2, 10);\n\n\t\t\t// Initially hide the tooltip\n\t\t\t// The attribute will be switched in a next frame so\n\t\t\t// CSS transitions can play\n\t\t\ttooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tif (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n\t\t\t\ttooltipNode.addEventListener('mouseenter', this.hide);\n\t\t\t\ttooltipNode.addEventListener('click', this.hide);\n\t\t\t}\n\n\t\t\t// return the generated tooltip node\n\t\t\treturn tooltipNode;\n\t\t}\n\t}, {\n\t\tkey: '_setContent',\n\t\tvalue: function _setContent(content, options) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.asyncContent = false;\n\t\t\tthis._applyContent(content, options).then(function () {\n\t\t\t\t_this.popperInstance.update();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_applyContent',\n\t\tvalue: function _applyContent(title, options) {\n\t\t\tvar _this2 = this;\n\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tvar allowHtml = options.html;\n\t\t\t\tvar rootNode = _this2._tooltipNode;\n\t\t\t\tif (!rootNode) return;\n\t\t\t\tvar titleNode = rootNode.querySelector(_this2.options.innerSelector);\n\t\t\t\tif (title.nodeType === 1) {\n\t\t\t\t\t// if title is a node, append it only if allowHtml is true\n\t\t\t\t\tif (allowHtml) {\n\t\t\t\t\t\twhile (titleNode.firstChild) {\n\t\t\t\t\t\t\ttitleNode.removeChild(titleNode.firstChild);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitleNode.appendChild(title);\n\t\t\t\t\t}\n\t\t\t\t} else if (typeof title === 'function') {\n\t\t\t\t\t// if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tvar result = title();\n\t\t\t\t\tif (result && typeof result.then === 'function') {\n\t\t\t\t\t\t_this2.asyncContent = true;\n\t\t\t\t\t\toptions.loadingClass && addClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\tif (options.loadingContent) {\n\t\t\t\t\t\t\t_this2._applyContent(options.loadingContent, options);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresult.then(function (asyncResult) {\n\t\t\t\t\t\t\toptions.loadingClass && removeClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\t\treturn _this2._applyContent(asyncResult, options);\n\t\t\t\t\t\t}).then(resolve).catch(reject);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this2._applyContent(result, options).then(resolve).catch(reject);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\t// if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tallowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n\t\t\t\t}\n\t\t\t\tresolve();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_show',\n\t\tvalue: function _show(reference, options) {\n\t\t\tif (options && typeof options.container === 'string') {\n\t\t\t\tvar container = document.querySelector(options.container);\n\t\t\t\tif (!container) return;\n\t\t\t}\n\n\t\t\tclearTimeout(this._disposeTimer);\n\n\t\t\toptions = Object.assign({}, options);\n\t\t\tdelete options.offset;\n\n\t\t\tvar updateClasses = true;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t\tupdateClasses = false;\n\t\t\t}\n\n\t\t\tvar result = this._ensureShown(reference, options);\n\n\t\t\tif (updateClasses && this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t}\n\n\t\t\taddClasses(reference, ['v-tooltip-open']);\n\n\t\t\treturn result;\n\t\t}\n\t}, {\n\t\tkey: '_ensureShown',\n\t\tvalue: function _ensureShown(reference, options) {\n\t\t\tvar _this3 = this;\n\n\t\t\t// don't show if it's already visible\n\t\t\tif (this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tthis._isOpen = true;\n\n\t\t\topenTooltips.push(this);\n\n\t\t\t// if the tooltipNode already exists, just show it\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._tooltipNode.style.display = '';\n\t\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t\tif (this.asyncContent) {\n\t\t\t\t\tthis._setContent(options.title, options);\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// get title\n\t\t\tvar title = reference.getAttribute('title') || options.title;\n\n\t\t\t// don't show tooltip if no title is defined\n\t\t\tif (!title) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// create tooltip node\n\t\t\tvar tooltipNode = this._create(reference, options.template);\n\t\t\tthis._tooltipNode = tooltipNode;\n\n\t\t\tthis._setContent(title, options);\n\n\t\t\t// Add `aria-describedby` to our reference element for accessibility reasons\n\t\t\treference.setAttribute('aria-describedby', tooltipNode.id);\n\n\t\t\t// append tooltip to container\n\t\t\tvar container = this._findContainer(options.container, reference);\n\n\t\t\tthis._append(tooltipNode, container);\n\n\t\t\tvar popperOptions = _extends$1({}, options.popperOptions, {\n\t\t\t\tplacement: options.placement\n\t\t\t});\n\n\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\tarrow: {\n\t\t\t\t\telement: this.options.arrowSelector\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (options.boundariesElement) {\n\t\t\t\tpopperOptions.modifiers.preventOverflow = {\n\t\t\t\t\tboundariesElement: options.boundariesElement\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n\t\t\t// Fix position\n\t\t\trequestAnimationFrame(function () {\n\t\t\t\tif (!_this3._isDisposed && _this3.popperInstance) {\n\t\t\t\t\t_this3.popperInstance.update();\n\n\t\t\t\t\t// Show the tooltip\n\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\tif (!_this3._isDisposed) {\n\t\t\t\t\t\t\t_this3._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t_this3.dispose();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_noLongerOpen',\n\t\tvalue: function _noLongerOpen() {\n\t\t\tvar index = openTooltips.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenTooltips.splice(index, 1);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_hide',\n\t\tvalue: function _hide() /* reference, options */{\n\t\t\tvar _this4 = this;\n\n\t\t\t// don't hide if it's already hidden\n\t\t\tif (!this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\tthis._isOpen = false;\n\t\t\tthis._noLongerOpen();\n\n\t\t\t// hide tooltipNode\n\t\t\tthis._tooltipNode.style.display = 'none';\n\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tthis.popperInstance.disableEventListeners();\n\n\t\t\tclearTimeout(this._disposeTimer);\n\t\t\tvar disposeTime = directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis._disposeTimer = setTimeout(function () {\n\t\t\t\t\tif (_this4._tooltipNode) {\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('mouseenter', _this4.hide);\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('click', _this4.hide);\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\t_this4._tooltipNode.parentNode.removeChild(_this4._tooltipNode);\n\t\t\t\t\t\t_this4._tooltipNode = null;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\n\t\t\tremoveClasses(this.reference, ['v-tooltip-open']);\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_dispose',\n\t\tvalue: function _dispose() {\n\t\t\tvar _this5 = this;\n\n\t\t\tthis._isDisposed = true;\n\n\t\t\t// remove event listeners first to prevent any unexpected behaviour\n\t\t\tthis._events.forEach(function (_ref) {\n\t\t\t\tvar func = _ref.func,\n\t\t\t\t event = _ref.event;\n\n\t\t\t\t_this5.reference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis._events = [];\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._hide();\n\n\t\t\t\tthis._tooltipNode.removeEventListener('mouseenter', this.hide);\n\t\t\t\tthis._tooltipNode.removeEventListener('click', this.hide);\n\n\t\t\t\t// destroy instance\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tthis._tooltipNode.parentNode.removeChild(this._tooltipNode);\n\t\t\t\t\tthis._tooltipNode = null;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._noLongerOpen();\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_findContainer',\n\t\tvalue: function _findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t}\n\n\t\t/**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n\t}, {\n\t\tkey: '_append',\n\t\tvalue: function _append(tooltipNode, container) {\n\t\t\tcontainer.appendChild(tooltipNode);\n\t\t}\n\t}, {\n\t\tkey: '_setEventListeners',\n\t\tvalue: function _setEventListeners(reference, events, options) {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tif (_this6.options.hideOnTargetClick) oppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tif (_this6.options.hideOnTargetClick) oppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (_this6._isOpen === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevt.usedByTooltip = true;\n\t\t\t\t\t_this6._scheduleShow(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (evt.usedByTooltip === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this6._scheduleHide(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_onDocumentTouch',\n\t\tvalue: function _onDocumentTouch(event) {\n\t\t\tif (this._enableDocumentTouch) {\n\t\t\t\tthis._scheduleHide(this.reference, this.options.delay, this.options, event);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_scheduleShow',\n\t\tvalue: function _scheduleShow(reference, delay, options /*, evt */) {\n\t\t\tvar _this7 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.show || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\treturn _this7._show(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}, {\n\t\tkey: '_scheduleHide',\n\t\tvalue: function _scheduleHide(reference, delay, options, evt) {\n\t\t\tvar _this8 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.hide || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\tif (_this8._isOpen === false) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!document.body.contains(_this8._tooltipNode)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\tif (evt.type === 'mouseleave') {\n\t\t\t\t\tvar isSet = _this8._setTooltipNodeEvent(evt, reference, delay, options);\n\n\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t_this8._hide(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}]);\n\treturn Tooltip;\n}();\n\n// Hide tooltips on touch devices\n\n\nvar _initialiseProps = function _initialiseProps() {\n\tvar _this9 = this;\n\n\tthis.show = function () {\n\t\t_this9._show(_this9.reference, _this9.options);\n\t};\n\n\tthis.hide = function () {\n\t\t_this9._hide();\n\t};\n\n\tthis.dispose = function () {\n\t\t_this9._dispose();\n\t};\n\n\tthis.toggle = function () {\n\t\tif (_this9._isOpen) {\n\t\t\treturn _this9.hide();\n\t\t} else {\n\t\t\treturn _this9.show();\n\t\t}\n\t};\n\n\tthis._events = [];\n\n\tthis._setTooltipNodeEvent = function (evt, reference, delay, options) {\n\t\tvar relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n\t\tvar callback = function callback(evt2) {\n\t\t\tvar relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget;\n\n\t\t\t// Remove event listener after call\n\t\t\t_this9._tooltipNode.removeEventListener(evt.type, callback);\n\n\t\t\t// If the new reference is not the reference element\n\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t_this9._scheduleHide(reference, options.delay, options, evt2);\n\t\t\t}\n\t\t};\n\n\t\tif (_this9._tooltipNode.contains(relatedreference)) {\n\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t_this9._tooltipNode.addEventListener(evt.type, callback);\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t};\n};\n\nif (typeof document !== 'undefined') {\n\tdocument.addEventListener('touchstart', function (event) {\n\t\tfor (var i = 0; i < openTooltips.length; i++) {\n\t\t\topenTooltips[i]._onDocumentTouch(event);\n\t\t}\n\t}, supportsPassive ? {\n\t\tpassive: true,\n\t\tcapture: true\n\t} : true);\n}\n\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nvar state = {\n\tenabled: true\n};\n\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\n\nvar defaultOptions = {\n\t// Default tooltip placement relative to target element\n\tdefaultPlacement: 'top',\n\t// Default CSS classes applied to the tooltip element\n\tdefaultClass: 'vue-tooltip-theme',\n\t// Default CSS classes applied to the target element of the tooltip\n\tdefaultTargetClass: 'has-tooltip',\n\t// Is the content HTML by default?\n\tdefaultHtml: true,\n\t// Default HTML template of the tooltip element\n\t// It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n\t// Change if the classes conflict with other libraries (for example bootstrap)\n\tdefaultTemplate: '
',\n\t// Selector used to get the arrow element in the tooltip template\n\tdefaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n\t// Selector used to get the inner content element in the tooltip template\n\tdefaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n\t// Delay (ms)\n\tdefaultDelay: 0,\n\t// Default events that trigger the tooltip\n\tdefaultTrigger: 'hover focus',\n\t// Default position offset (px)\n\tdefaultOffset: 0,\n\t// Default container where the tooltip will be appended\n\tdefaultContainer: 'body',\n\tdefaultBoundariesElement: undefined,\n\tdefaultPopperOptions: {},\n\t// Class added when content is loading\n\tdefaultLoadingClass: 'tooltip-loading',\n\t// Displayed when tooltip content is loading\n\tdefaultLoadingContent: '...',\n\t// Hide on mouseover tooltip\n\tautoHide: true,\n\t// Close tooltip on click on tooltip target?\n\tdefaultHideOnTargetClick: true,\n\t// Auto destroy tooltip DOM nodes (ms)\n\tdisposeTimeout: 5000,\n\t// Options for popover\n\tpopover: {\n\t\tdefaultPlacement: 'bottom',\n\t\t// Use the `popoverClass` prop for theming\n\t\tdefaultClass: 'vue-popover-theme',\n\t\t// Base class (change if conflicts with other libraries)\n\t\tdefaultBaseClass: 'tooltip popover',\n\t\t// Wrapper class (contains arrow and inner)\n\t\tdefaultWrapperClass: 'wrapper',\n\t\t// Inner content class\n\t\tdefaultInnerClass: 'tooltip-inner popover-inner',\n\t\t// Arrow class\n\t\tdefaultArrowClass: 'tooltip-arrow popover-arrow',\n\t\tdefaultDelay: 0,\n\t\tdefaultTrigger: 'click',\n\t\tdefaultOffset: 0,\n\t\tdefaultContainer: 'body',\n\t\tdefaultBoundariesElement: undefined,\n\t\tdefaultPopperOptions: {},\n\t\t// Hides if clicked outside of popover\n\t\tdefaultAutoHide: true,\n\t\t// Update popper on content resize\n\t\tdefaultHandleResize: true\n\t}\n};\n\nfunction getOptions(options) {\n\tvar result = {\n\t\tplacement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n\t\tdelay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n\t\thtml: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n\t\ttemplate: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n\t\tarrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n\t\tinnerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n\t\ttrigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n\t\toffset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n\t\tcontainer: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n\t\tboundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n\t\tautoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n\t\thideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n\t\tloadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n\t\tloadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n\t\tpopperOptions: _extends$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n\t};\n\n\tif (result.offset) {\n\t\tvar typeofOffset = _typeof(result.offset);\n\t\tvar offset = result.offset;\n\n\t\t// One value -> switch\n\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\toffset = '0, ' + offset;\n\t\t}\n\n\t\tif (!result.popperOptions.modifiers) {\n\t\t\tresult.popperOptions.modifiers = {};\n\t\t}\n\t\tresult.popperOptions.modifiers.offset = {\n\t\t\toffset: offset\n\t\t};\n\t}\n\n\tif (result.trigger && result.trigger.indexOf('click') !== -1) {\n\t\tresult.hideOnTargetClick = false;\n\t}\n\n\treturn result;\n}\n\nfunction getPlacement(value, modifiers) {\n\tvar placement = value.placement;\n\tfor (var i = 0; i < positions.length; i++) {\n\t\tvar pos = positions[i];\n\t\tif (modifiers[pos]) {\n\t\t\tplacement = pos;\n\t\t}\n\t}\n\treturn placement;\n}\n\nfunction getContent(value) {\n\tvar type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\tif (type === 'string') {\n\t\treturn value;\n\t} else if (value && type === 'object') {\n\t\treturn value.content;\n\t} else {\n\t\treturn false;\n\t}\n}\n\nfunction createTooltip(el, value) {\n\tvar modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar content = getContent(value);\n\tvar classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\tvar opts = _extends$1({\n\t\ttitle: content\n\t}, getOptions(_extends$1({}, value, {\n\t\tplacement: getPlacement(value, modifiers)\n\t})));\n\tvar tooltip = el._tooltip = new Tooltip(el, opts);\n\ttooltip.setClasses(classes);\n\ttooltip._vueEl = el;\n\n\t// Class on target\n\tvar targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n\tel._tooltipTargetClasses = targetClasses;\n\taddClasses(el, targetClasses);\n\n\treturn tooltip;\n}\n\nfunction destroyTooltip(el) {\n\tif (el._tooltip) {\n\t\tel._tooltip.dispose();\n\t\tdelete el._tooltip;\n\t\tdelete el._tooltipOldShow;\n\t}\n\n\tif (el._tooltipTargetClasses) {\n\t\tremoveClasses(el, el._tooltipTargetClasses);\n\t\tdelete el._tooltipTargetClasses;\n\t}\n}\n\nfunction bind(el, _ref) {\n\tvar value = _ref.value,\n\t oldValue = _ref.oldValue,\n\t modifiers = _ref.modifiers;\n\n\tvar content = getContent(value);\n\tif (!content || !state.enabled) {\n\t\tdestroyTooltip(el);\n\t} else {\n\t\tvar tooltip = void 0;\n\t\tif (el._tooltip) {\n\t\t\ttooltip = el._tooltip;\n\t\t\t// Content\n\t\t\ttooltip.setContent(content);\n\t\t\t// Options\n\t\t\ttooltip.setOptions(_extends$1({}, value, {\n\t\t\t\tplacement: getPlacement(value, modifiers)\n\t\t\t}));\n\t\t} else {\n\t\t\ttooltip = createTooltip(el, value, modifiers);\n\t\t}\n\n\t\t// Manual show\n\t\tif (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n\t\t\tel._tooltipOldShow = value.show;\n\t\t\tvalue.show ? tooltip.show() : tooltip.hide();\n\t\t}\n\t}\n}\n\nvar directive = {\n\toptions: defaultOptions,\n\tbind: bind,\n\tupdate: bind,\n\tunbind: function unbind(el) {\n\t\tdestroyTooltip(el);\n\t}\n};\n\nfunction addListeners(el) {\n\tel.addEventListener('click', onClick);\n\tel.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n\t\tpassive: true\n\t} : false);\n}\n\nfunction removeListeners(el) {\n\tel.removeEventListener('click', onClick);\n\tel.removeEventListener('touchstart', onTouchStart);\n\tel.removeEventListener('touchend', onTouchEnd);\n\tel.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n\tvar el = event.currentTarget;\n\tevent.closePopover = !el.$_vclosepopover_touch;\n\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n\tif (event.changedTouches.length === 1) {\n\t\tvar el = event.currentTarget;\n\t\tel.$_vclosepopover_touch = true;\n\t\tvar touch = event.changedTouches[0];\n\t\tel.$_vclosepopover_touchPoint = touch;\n\t\tel.addEventListener('touchend', onTouchEnd);\n\t\tel.addEventListener('touchcancel', onTouchCancel);\n\t}\n}\n\nfunction onTouchEnd(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n\tif (event.changedTouches.length === 1) {\n\t\tvar touch = event.changedTouches[0];\n\t\tvar firstTouch = el.$_vclosepopover_touchPoint;\n\t\tevent.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n\t\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n\t}\n}\n\nfunction onTouchCancel(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n\tbind: function bind(el, _ref) {\n\t\tvar value = _ref.value,\n\t\t modifiers = _ref.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (typeof value === 'undefined' || value) {\n\t\t\taddListeners(el);\n\t\t}\n\t},\n\tupdate: function update(el, _ref2) {\n\t\tvar value = _ref2.value,\n\t\t oldValue = _ref2.oldValue,\n\t\t modifiers = _ref2.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (value !== oldValue) {\n\t\t\tif (typeof value === 'undefined' || value) {\n\t\t\t\taddListeners(el);\n\t\t\t} else {\n\t\t\t\tremoveListeners(el);\n\t\t\t}\n\t\t}\n\t},\n\tunbind: function unbind(el) {\n\t\tremoveListeners(el);\n\t}\n};\n\nfunction getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE$1 = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE$1 = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tnotify: function notify() {\n\t\t\tthis.$emit('notify');\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.notify);\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis.notify();\n\t\t\t}\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE$1 && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.notify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;');\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE$1) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE$1) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install$1(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\t/* -- Add more components here -- */\n}\n\n/* -- Plugin definition & Auto-install -- */\n/* You shouldn't have to modify the code below */\n\n// Plugin\nvar plugin$2 = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.4\",\n\tinstall: install$1\n};\n\n// Auto-install\nvar GlobalVue$1 = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue$1 = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue$1 = global.Vue;\n}\nif (GlobalVue$1) {\n\tGlobalVue$1.use(plugin$2);\n}\n\nfunction getDefault(key) {\n\tvar value = directive.options.popover[key];\n\tif (typeof value === 'undefined') {\n\t\treturn directive.options[key];\n\t}\n\treturn value;\n}\n\nvar isIOS = false;\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n\tisIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\nif (typeof window !== 'undefined') {\n\tElement = window.Element;\n}\n\nvar Popover = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"v-popover\", class: _vm.cssClass }, [_c('span', { ref: \"trigger\", staticClass: \"trigger\", staticStyle: { \"display\": \"inline-block\" }, attrs: { \"aria-describedby\": _vm.popoverId, \"tabindex\": _vm.trigger.indexOf('focus') !== -1 ? 0 : -1 } }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', { ref: \"popover\", class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass], style: {\n\t\t\t\tvisibility: _vm.isOpen ? 'visible' : 'hidden'\n\t\t\t}, attrs: { \"id\": _vm.popoverId, \"aria-hidden\": _vm.isOpen ? 'false' : 'true' } }, [_c('div', { class: _vm.popoverWrapperClass }, [_c('div', { ref: \"inner\", class: _vm.popoverInnerClass, staticStyle: { \"position\": \"relative\" } }, [_c('div', [_vm._t(\"popover\")], 2), _vm._v(\" \"), _vm.handleResize ? _c('ResizeObserver', { on: { \"notify\": _vm.$_handleResize } }) : _vm._e()], 1), _vm._v(\" \"), _c('div', { ref: \"arrow\", class: _vm.popoverArrowClass })])])]);\n\t}, staticRenderFns: [],\n\tname: 'VPopover',\n\n\tcomponents: {\n\t\tResizeObserver: ResizeObserver\n\t},\n\n\tprops: {\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tplacement: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPlacement');\n\t\t\t}\n\t\t},\n\t\tdelay: {\n\t\t\ttype: [String, Number, Object],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultDelay');\n\t\t\t}\n\t\t},\n\t\toffset: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultOffset');\n\t\t\t}\n\t\t},\n\t\ttrigger: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultTrigger');\n\t\t\t}\n\t\t},\n\t\tcontainer: {\n\t\t\ttype: [String, Object, Element, Boolean],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultContainer');\n\t\t\t}\n\t\t},\n\t\tboundariesElement: {\n\t\t\ttype: [String, Element],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultBoundariesElement');\n\t\t\t}\n\t\t},\n\t\tpopperOptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPopperOptions');\n\t\t\t}\n\t\t},\n\t\tpopoverClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultClass');\n\t\t\t}\n\t\t},\n\t\tpopoverBaseClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultBaseClass;\n\t\t\t}\n\t\t},\n\t\tpopoverInnerClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultInnerClass;\n\t\t\t}\n\t\t},\n\t\tpopoverWrapperClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultWrapperClass;\n\t\t\t}\n\t\t},\n\t\tpopoverArrowClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultArrowClass;\n\t\t\t}\n\t\t},\n\t\tautoHide: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultAutoHide;\n\t\t\t}\n\t\t},\n\t\thandleResize: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultHandleResize;\n\t\t\t}\n\t\t},\n\t\topenGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: null\n\t\t}\n\t},\n\n\tdata: function data() {\n\t\treturn {\n\t\t\tisOpen: false,\n\t\t\tid: Math.random().toString(36).substr(2, 10)\n\t\t};\n\t},\n\n\n\tcomputed: {\n\t\tcssClass: function cssClass() {\n\t\t\treturn {\n\t\t\t\t'open': this.isOpen\n\t\t\t};\n\t\t},\n\t\tpopoverId: function popoverId() {\n\t\t\treturn 'popover_' + this.id;\n\t\t}\n\t},\n\n\twatch: {\n\t\topen: function open(val) {\n\t\t\tif (val) {\n\t\t\t\tthis.show();\n\t\t\t} else {\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t},\n\t\tdisabled: function disabled(val, oldVal) {\n\t\t\tif (val !== oldVal) {\n\t\t\t\tif (val) {\n\t\t\t\t\tthis.hide();\n\t\t\t\t} else if (this.open) {\n\t\t\t\t\tthis.show();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcontainer: function container(val) {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\tvar reference = this.$refs.trigger;\n\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.popperInstance.scheduleUpdate();\n\t\t\t}\n\t\t},\n\t\ttrigger: function trigger(val) {\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.$_addEventListeners();\n\t\t},\n\t\tplacement: function placement(val) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.$_updatePopper(function () {\n\t\t\t\t_this.popperInstance.options.placement = val;\n\t\t\t});\n\t\t},\n\n\n\t\toffset: '$_restartPopper',\n\n\t\tboundariesElement: '$_restartPopper',\n\n\t\tpopperOptions: {\n\t\t\thandler: '$_restartPopper',\n\t\t\tdeep: true\n\t\t}\n\t},\n\n\tcreated: function created() {\n\t\tthis.$_isDisposed = false;\n\t\tthis.$_mounted = false;\n\t\tthis.$_events = [];\n\t\tthis.$_preventOpen = false;\n\t},\n\tmounted: function mounted() {\n\t\tvar popoverNode = this.$refs.popover;\n\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\n\t\tthis.$_init();\n\n\t\tif (this.open) {\n\t\t\tthis.show();\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.dispose();\n\t},\n\n\n\tmethods: {\n\t\tshow: function show() {\n\t\t\tvar _this2 = this;\n\n\t\t\tvar _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref.event,\n\t\t\t _ref$skipDelay = _ref.skipDelay,\n\t\t\t skipDelay = _ref$skipDelay === undefined ? false : _ref$skipDelay,\n\t\t\t _ref$force = _ref.force,\n\t\t\t force = _ref$force === undefined ? false : _ref$force;\n\n\t\t\tif (force || !this.disabled) {\n\t\t\t\tthis.$_scheduleShow(event);\n\t\t\t\tthis.$emit('show');\n\t\t\t}\n\t\t\tthis.$emit('update:open', true);\n\t\t\tthis.$_beingShowed = true;\n\t\t\trequestAnimationFrame(function () {\n\t\t\t\t_this2.$_beingShowed = false;\n\t\t\t});\n\t\t},\n\t\thide: function hide() {\n\t\t\tvar _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref2.event,\n\t\t\t _ref2$skipDelay = _ref2.skipDelay;\n\n\t\t\tthis.$_scheduleHide(event);\n\n\t\t\tthis.$emit('hide');\n\t\t\tthis.$emit('update:open', false);\n\t\t},\n\t\tdispose: function dispose() {\n\t\t\tthis.$_isDisposed = true;\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.hide({ skipDelay: true });\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$_mounted = false;\n\t\t\tthis.popperInstance = null;\n\t\t\tthis.isOpen = false;\n\n\t\t\tthis.$emit('dispose');\n\t\t},\n\t\t$_init: function $_init() {\n\t\t\tif (this.trigger.indexOf('manual') === -1) {\n\t\t\t\tthis.$_addEventListeners();\n\t\t\t}\n\t\t},\n\t\t$_show: function $_show() {\n\t\t\tvar _this3 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\n\t\t\t// Already open\n\t\t\tif (this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Popper is already initialized\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.isOpen = true;\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.scheduleUpdate();\n\t\t\t}\n\n\t\t\tif (!this.$_mounted) {\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.$_mounted = true;\n\t\t\t}\n\n\t\t\tif (!this.popperInstance) {\n\t\t\t\tvar popperOptions = _extends$1({}, this.popperOptions, {\n\t\t\t\t\tplacement: this.placement\n\t\t\t\t});\n\n\t\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\t\tarrow: _extends$1({}, popperOptions.modifiers && popperOptions.modifiers.arrow, {\n\t\t\t\t\t\telement: this.$refs.arrow\n\t\t\t\t\t})\n\t\t\t\t});\n\n\t\t\t\tif (this.offset) {\n\t\t\t\t\tvar offset = this.$_getOffset();\n\n\t\t\t\t\tpopperOptions.modifiers.offset = _extends$1({}, popperOptions.modifiers && popperOptions.modifiers.offset, {\n\t\t\t\t\t\toffset: offset\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (this.boundariesElement) {\n\t\t\t\t\tpopperOptions.modifiers.preventOverflow = _extends$1({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow, {\n\t\t\t\t\t\tboundariesElement: this.boundariesElement\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tthis.popperInstance = new Popper(reference, popoverNode, popperOptions);\n\n\t\t\t\t// Fix position\n\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\tif (!_this3.$_isDisposed && _this3.popperInstance) {\n\t\t\t\t\t\t_this3.popperInstance.scheduleUpdate();\n\n\t\t\t\t\t\t// Show the tooltip\n\t\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\t\tif (!_this3.$_isDisposed) {\n\t\t\t\t\t\t\t\t_this3.isOpen = true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tvar openGroup = this.openGroup;\n\t\t\tif (openGroup) {\n\t\t\t\tvar popover = void 0;\n\t\t\t\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\t\t\t\tpopover = openPopovers[i];\n\t\t\t\t\tif (popover.openGroup !== openGroup) {\n\t\t\t\t\t\tpopover.hide();\n\t\t\t\t\t\tpopover.$emit('close-group');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\topenPopovers.push(this);\n\n\t\t\tthis.$emit('apply-show');\n\t\t},\n\t\t$_hide: function $_hide() {\n\t\t\tvar _this4 = this;\n\n\t\t\t// Already hidden\n\t\t\tif (!this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar index = openPopovers.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenPopovers.splice(index, 1);\n\t\t\t}\n\n\t\t\tthis.isOpen = false;\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.disableEventListeners();\n\t\t\t}\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\t\t\tvar disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis.$_disposeTimer = setTimeout(function () {\n\t\t\t\t\tvar popoverNode = _this4.$refs.popover;\n\t\t\t\t\tif (popoverNode) {\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t\t\t_this4.$_mounted = false;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\n\t\t\tthis.$emit('apply-hide');\n\t\t},\n\t\t$_findContainer: function $_findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t},\n\t\t$_getOffset: function $_getOffset() {\n\t\t\tvar typeofOffset = _typeof(this.offset);\n\t\t\tvar offset = this.offset;\n\n\t\t\t// One value -> switch\n\t\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\t\toffset = '0, ' + offset;\n\t\t\t}\n\n\t\t\treturn offset;\n\t\t},\n\t\t$_addEventListeners: function $_addEventListeners() {\n\t\t\tvar _this5 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tvar events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (_this5.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevent.usedByTooltip = true;\n\t\t\t\t\t!_this5.$_preventOpen && _this5.show({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (event.usedByTooltip) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this5.hide({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t},\n\t\t$_scheduleShow: function $_scheduleShow() {\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_show();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_scheduleHide: function $_scheduleHide() {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_hide();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(function () {\n\t\t\t\t\tif (!_this6.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\t\tif (event && event.type === 'mouseleave') {\n\t\t\t\t\t\tvar isSet = _this6.$_setTooltipNodeEvent(event);\n\n\t\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t_this6.$_hide();\n\t\t\t\t}, computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n\t\t\tvar _this7 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tvar relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n\t\t\tvar callback = function callback(event2) {\n\t\t\t\tvar relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget;\n\n\t\t\t\t// Remove event listener after call\n\t\t\t\tpopoverNode.removeEventListener(event.type, callback);\n\n\t\t\t\t// If the new reference is not the reference element\n\t\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t\t_this7.hide({ event: event2 });\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (popoverNode.contains(relatedreference)) {\n\t\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t\tpopoverNode.addEventListener(event.type, callback);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t\t$_removeEventListeners: function $_removeEventListeners() {\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tthis.$_events.forEach(function (_ref3) {\n\t\t\t\tvar func = _ref3.func,\n\t\t\t\t event = _ref3.event;\n\n\t\t\t\treference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis.$_events = [];\n\t\t},\n\t\t$_updatePopper: function $_updatePopper(cb) {\n\t\t\tif (this.popperInstance) {\n\t\t\t\tcb();\n\t\t\t\tif (this.isOpen) this.popperInstance.scheduleUpdate();\n\t\t\t}\n\t\t},\n\t\t$_restartPopper: function $_restartPopper() {\n\t\t\tif (this.popperInstance) {\n\t\t\t\tvar isOpen = this.isOpen;\n\t\t\t\tthis.dispose();\n\t\t\t\tthis.$_isDisposed = false;\n\t\t\t\tthis.$_init();\n\t\t\t\tif (isOpen) {\n\t\t\t\t\tthis.show({ skipDelay: true, force: true });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t$_handleGlobalClose: function $_handleGlobalClose(event) {\n\t\t\tvar _this8 = this;\n\n\t\t\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tif (this.$_beingShowed) return;\n\n\t\t\tthis.hide({ event: event });\n\n\t\t\tif (event.closePopover) {\n\t\t\t\tthis.$emit('close-directive');\n\t\t\t} else {\n\t\t\t\tthis.$emit('auto-hide');\n\t\t\t}\n\n\t\t\tif (touch) {\n\t\t\t\tthis.$_preventOpen = true;\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t_this8.$_preventOpen = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t},\n\t\t$_handleResize: function $_handleResize() {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tthis.popperInstance.scheduleUpdate();\n\t\t\t\tthis.$emit('resize');\n\t\t\t}\n\t\t}\n\t}\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n\tif (isIOS) {\n\t\tdocument.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n\t\t\tpassive: true,\n\t\t\tcapture: true\n\t\t} : true);\n\t} else {\n\t\twindow.addEventListener('click', handleGlobalClick, true);\n\t}\n}\n\nfunction handleGlobalClick(event) {\n\thandleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n\thandleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t// Delay so that close directive has time to set values\n\trequestAnimationFrame(function () {\n\t\tvar popover = void 0;\n\t\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\t\tpopover = openPopovers[i];\n\t\t\tif (popover.$refs.popover) {\n\t\t\t\tvar contains = popover.$refs.popover.contains(event.target);\n\t\t\t\tif (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n\t\t\t\t\tpopover.$_handleGlobalClose(event, touch);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n}\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar lodash_merge = createCommonjsModule(function (module, exports) {\n/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = 'object' == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n return key == '__proto__'\n ? undefined\n : object[key];\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeMax = Math.max,\n nativeNow = Date.now;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = merge;\n});\n\nfunction install(Vue) {\n\tvar options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\tif (install.installed) return;\n\tinstall.installed = true;\n\n\tvar finalOptions = {};\n\tlodash_merge(finalOptions, defaultOptions, options);\n\n\tplugin.options = finalOptions;\n\tdirective.options = finalOptions;\n\n\tVue.directive('tooltip', directive);\n\tVue.directive('close-popover', vclosepopover);\n\tVue.component('v-popover', Popover);\n}\n\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = Popover;\n\nvar plugin = {\n\tinstall: install,\n\n\tget enabled() {\n\t\treturn state.enabled;\n\t},\n\n\tset enabled(value) {\n\t\tstate.enabled = value;\n\t}\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, VTooltip, VClosePopover, VPopover, createTooltip, destroyTooltip };\nexport default plugin;\n","/*!\n * vue-infinite-loading v2.3.3\n * (c) 2016-2018 PeachScript\n * MIT License\n */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueInfiniteLoading=e():t.VueInfiniteLoading=e()}(this,function(){return function(t){function e(n){if(i[n])return i[n].exports;var a=i[n]={i:n,l:!1,exports:{}};return t[n].call(a.exports,a,a.exports,e),a.l=!0,a.exports}var i={};return e.m=t,e.c=i,e.d=function(t,i,n){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,\"a\",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=3)}([function(t,e){function i(t,e){var i=t[1]||\"\",a=t[3];if(!a)return i;if(e&&\"function\"==typeof btoa){var r=n(a);return[i].concat(a.sources.map(function(t){return\"/*# sourceURL=\"+a.sourceRoot+t+\" */\"})).concat([r]).join(\"\\n\")}return[i].join(\"\\n\")}function n(t){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+\" */\"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var n=i(e,t);return e[2]?\"@media \"+e[2]+\"{\"+n+\"}\":n}).join(\"\")},e.i=function(t,i){\"string\"==typeof t&&(t=[[null,t,\"\"]]);for(var n={},a=0;ai.parts.length&&(n.parts.length=i.parts.length)}else{for(var o=[],a=0;a',\"\\nscript:\\n...\\ninfiniteHandler($state) {\\n ajax('https://www.example.com/api/news')\\n .then((res) => {\\n if (res.data.length) {\\n $state.loaded();\\n } else {\\n $state.complete();\\n }\\n });\\n}\\n...\",\"\",\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549\"].join(\"\\n\"),INFINITE_EVENT:\"[Vue-infinite-loading warn]: `:on-infinite` property will be deprecated soon, please use `@infinite` event instead.\"},r={INFINITE_LOOP:[\"[Vue-infinite-loading error]: executed the callback function more than 10 times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:\",'\\n\\x3c!-- add a special attribute for the real scroll wrapper --\\x3e\\n
\\n ...\\n \\x3c!-- set force-use-infinite-wrapper to true --\\x3e\\n \\n
\\n ',\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169\"].join(\"\\n\")},o=function(){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){t={passive:!0}}});window.addEventListener(\"testpassive\",e,e),window.remove(\"testpassive\",e,e)}catch(t){}return t}();e.a={name:\"InfiniteLoading\",data:function(){return{scrollParent:null,scrollHandler:null,isLoading:!1,isComplete:!1,isFirstLoad:!0,inThrottle:!1,throttleLimit:50,infiniteLoopChecked:!1,infiniteLoopTimer:null,continuousCallTimes:0}},components:{Spinner:n.a},computed:{isNoResults:{cache:!1,get:function(){var t=this.$slots[\"no-results\"],e=t&&t[0].elm&&\"\"===t[0].elm.textContent;return!this.isLoading&&this.isComplete&&this.isFirstLoad&&!e}},isNoMore:{cache:!1,get:function(){var t=this.$slots[\"no-more\"],e=t&&t[0].elm&&\"\"===t[0].elm.textContent;return!this.isLoading&&this.isComplete&&!this.isFirstLoad&&!e}}},props:{distance:{type:Number,default:100},onInfinite:Function,spinner:String,direction:{type:String,default:\"bottom\"},forceUseInfiniteWrapper:null},mounted:function(){var t=this;this.scrollParent=this.getScrollParent(),this.scrollHandler=function(t){var e=this;this.isLoading||(t&&t.constructor===Event?this.inThrottle||(this.inThrottle=!0,setTimeout(function(){e.attemptLoad(),e.inThrottle=!1},this.throttleLimit)):this.attemptLoad())}.bind(this),setTimeout(this.scrollHandler,1),this.scrollParent.addEventListener(\"scroll\",this.scrollHandler,o),this.$on(\"$InfiniteLoading:loaded\",function(e){t.isFirstLoad=!1,t.isLoading&&t.$nextTick(t.attemptLoad.bind(null,!0)),e&&e.target===t||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:complete\",function(e){t.isLoading=!1,t.isComplete=!0,t.$nextTick(function(){t.$forceUpdate()}),t.scrollParent.removeEventListener(\"scroll\",t.scrollHandler,o),e&&e.target===t||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:reset\",function(){t.isLoading=!1,t.isComplete=!1,t.isFirstLoad=!0,t.inThrottle=!1,t.scrollParent.addEventListener(\"scroll\",t.scrollHandler,o),setTimeout(t.scrollHandler,1)}),this.onInfinite&&console.warn(a.INFINITE_EVENT),this.stateChanger={loaded:function(){t.$emit(\"$InfiniteLoading:loaded\",{target:t})},complete:function(){t.$emit(\"$InfiniteLoading:complete\",{target:t})},reset:function(){t.$emit(\"$InfiniteLoading:reset\",{target:t})}},this.$watch(\"forceUseInfiniteWrapper\",function(){t.scrollParent=t.getScrollParent()})},deactivated:function(){this.isLoading=!1,this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler,o)},activated:function(){this.scrollParent.addEventListener(\"scroll\",this.scrollHandler,o)},methods:{attemptLoad:function(t){var e=this,i=this.getCurrentDistance();!this.isComplete&&i<=this.distance&&this.$el.offsetWidth+this.$el.offsetHeight>0?(this.isLoading=!0,\"function\"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit(\"infinite\",this.stateChanger),!t||this.forceUseInfiniteWrapper||this.infiniteLoopChecked||(this.continuousCallTimes+=1,clearTimeout(this.infiniteLoopTimer),this.infiniteLoopTimer=setTimeout(function(){e.infiniteLoopChecked=!0},1e3),this.continuousCallTimes>10&&(console.error(r.INFINITE_LOOP),this.infiniteLoopChecked=!0))):this.isLoading=!1},getCurrentDistance:function(){var t=void 0;if(\"top\"===this.direction)t=isNaN(this.scrollParent.scrollTop)?this.scrollParent.pageYOffset:this.scrollParent.scrollTop;else{t=this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom)}return t},getScrollParent:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el,e=void 0;return\"BODY\"===t.tagName?e=window:!this.forceUseInfiniteWrapper&&[\"scroll\",\"auto\"].indexOf(getComputedStyle(t).overflowY)>-1?e=t:(t.hasAttribute(\"infinite-wrapper\")||t.hasAttribute(\"data-infinite-wrapper\"))&&(e=t),e||this.getScrollParent(t.parentNode)}},destroyed:function(){this.isComplete||this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler,o)}}},function(t,e,i){\"use strict\";function n(t){i(10)}var a=i(12),r=i(13),o=i(2),s=n,l=o(a.a,r.a,s,\"data-v-10a220cc\",null);e.a=l.exports},function(t,e,i){var n=i(11);\"string\"==typeof n&&(n=[[t.i,n,\"\"]]),n.locals&&(t.exports=n.locals);i(1)(\"2914e7ad\",n,!0)},function(t,e,i){e=t.exports=i(0)(void 0),e.push([t.i,'.loading-wave-dots[data-v-10a220cc]{position:relative}.loading-wave-dots[data-v-10a220cc] .wave-item{position:absolute;top:50%;left:50%;display:inline-block;margin-top:-4px;width:8px;height:8px;border-radius:50%;-webkit-animation:loading-wave-dots-data-v-10a220cc linear 2.8s infinite;animation:loading-wave-dots-data-v-10a220cc linear 2.8s infinite}.loading-wave-dots[data-v-10a220cc] .wave-item:first-child{margin-left:-36px}.loading-wave-dots[data-v-10a220cc] .wave-item:nth-child(2){margin-left:-20px;-webkit-animation-delay:.14s;animation-delay:.14s}.loading-wave-dots[data-v-10a220cc] .wave-item:nth-child(3){margin-left:-4px;-webkit-animation-delay:.28s;animation-delay:.28s}.loading-wave-dots[data-v-10a220cc] .wave-item:nth-child(4){margin-left:12px;-webkit-animation-delay:.42s;animation-delay:.42s}.loading-wave-dots[data-v-10a220cc] .wave-item:last-child{margin-left:28px;-webkit-animation-delay:.56s;animation-delay:.56s}@-webkit-keyframes loading-wave-dots-data-v-10a220cc{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}@keyframes loading-wave-dots-data-v-10a220cc{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}.loading-circles[data-v-10a220cc] .circle-item{width:5px;height:5px;-webkit-animation:loading-circles-data-v-10a220cc linear .75s infinite;animation:loading-circles-data-v-10a220cc linear .75s infinite}.loading-circles[data-v-10a220cc] .circle-item:first-child{margin-top:-14.5px;margin-left:-2.5px}.loading-circles[data-v-10a220cc] .circle-item:nth-child(2){margin-top:-11.26px;margin-left:6.26px}.loading-circles[data-v-10a220cc] .circle-item:nth-child(3){margin-top:-2.5px;margin-left:9.5px}.loading-circles[data-v-10a220cc] .circle-item:nth-child(4){margin-top:6.26px;margin-left:6.26px}.loading-circles[data-v-10a220cc] .circle-item:nth-child(5){margin-top:9.5px;margin-left:-2.5px}.loading-circles[data-v-10a220cc] .circle-item:nth-child(6){margin-top:6.26px;margin-left:-11.26px}.loading-circles[data-v-10a220cc] .circle-item:nth-child(7){margin-top:-2.5px;margin-left:-14.5px}.loading-circles[data-v-10a220cc] .circle-item:last-child{margin-top:-11.26px;margin-left:-11.26px}@-webkit-keyframes loading-circles-data-v-10a220cc{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}@keyframes loading-circles-data-v-10a220cc{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}.loading-bubbles[data-v-10a220cc] .bubble-item{background:#666;-webkit-animation:loading-bubbles-data-v-10a220cc linear .75s infinite;animation:loading-bubbles-data-v-10a220cc linear .75s infinite}.loading-bubbles[data-v-10a220cc] .bubble-item:first-child{margin-top:-12.5px;margin-left:-.5px}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(2){margin-top:-9.26px;margin-left:8.26px}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(3){margin-top:-.5px;margin-left:11.5px}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(4){margin-top:8.26px;margin-left:8.26px}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(5){margin-top:11.5px;margin-left:-.5px}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(6){margin-top:8.26px;margin-left:-9.26px}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(7){margin-top:-.5px;margin-left:-12.5px}.loading-bubbles[data-v-10a220cc] .bubble-item:last-child{margin-top:-9.26px;margin-left:-9.26px}@-webkit-keyframes loading-bubbles-data-v-10a220cc{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}@keyframes loading-bubbles-data-v-10a220cc{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}.loading-default[data-v-10a220cc]{position:relative;border:1px solid #999;-webkit-animation:loading-rotating-data-v-10a220cc ease 1.5s infinite;animation:loading-rotating-data-v-10a220cc ease 1.5s infinite}.loading-default[data-v-10a220cc]:before{content:\"\";position:absolute;display:block;top:0;left:50%;margin-top:-3px;margin-left:-3px;width:6px;height:6px;background-color:#999;border-radius:50%}.loading-spiral[data-v-10a220cc]{border:2px solid #777;border-right-color:transparent;-webkit-animation:loading-rotating-data-v-10a220cc linear .85s infinite;animation:loading-rotating-data-v-10a220cc linear .85s infinite}@-webkit-keyframes loading-rotating-data-v-10a220cc{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotating-data-v-10a220cc{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-bubbles[data-v-10a220cc],.loading-circles[data-v-10a220cc]{position:relative}.loading-bubbles[data-v-10a220cc] .bubble-item,.loading-circles[data-v-10a220cc] .circle-item{position:absolute;top:50%;left:50%;display:inline-block;border-radius:50%}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(2),.loading-circles[data-v-10a220cc] .circle-item:nth-child(2){-webkit-animation-delay:93ms;animation-delay:93ms}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(3),.loading-circles[data-v-10a220cc] .circle-item:nth-child(3){-webkit-animation-delay:.186s;animation-delay:.186s}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(4),.loading-circles[data-v-10a220cc] .circle-item:nth-child(4){-webkit-animation-delay:.279s;animation-delay:.279s}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(5),.loading-circles[data-v-10a220cc] .circle-item:nth-child(5){-webkit-animation-delay:.372s;animation-delay:.372s}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(6),.loading-circles[data-v-10a220cc] .circle-item:nth-child(6){-webkit-animation-delay:.465s;animation-delay:.465s}.loading-bubbles[data-v-10a220cc] .bubble-item:nth-child(7),.loading-circles[data-v-10a220cc] .circle-item:nth-child(7){-webkit-animation-delay:.558s;animation-delay:.558s}.loading-bubbles[data-v-10a220cc] .bubble-item:last-child,.loading-circles[data-v-10a220cc] .circle-item:last-child{-webkit-animation-delay:.651s;animation-delay:.651s}',\"\"])},function(t,e,i){\"use strict\";var n={BUBBLES:{render:function(t){return t(\"span\",{attrs:{class:\"loading-bubbles\"}},Array.apply(Array,Array(8)).map(function(){return t(\"span\",{attrs:{class:\"bubble-item\"}})}))}},CIRCLES:{render:function(t){return t(\"span\",{attrs:{class:\"loading-circles\"}},Array.apply(Array,Array(8)).map(function(){return t(\"span\",{attrs:{class:\"circle-item\"}})}))}},DEFAULT:{render:function(t){return t(\"i\",{attrs:{class:\"loading-default\"}})}},SPIRAL:{render:function(t){return t(\"i\",{attrs:{class:\"loading-spiral\"}})}},WAVEDOTS:{render:function(t){return t(\"span\",{attrs:{class:\"loading-wave-dots\"}},Array.apply(Array,Array(5)).map(function(){return t(\"span\",{attrs:{class:\"wave-item\"}})}))}}};e.a={name:\"spinner\",computed:{spinnerView:function(){return n[(this.spinner||\"\").toUpperCase()]||n.DEFAULT}},props:{spinner:String}}},function(t,e,i){\"use strict\";var n=function(){var t=this,e=t.$createElement;return(t._self._c||e)(t.spinnerView,{tag:\"component\"})},a=[],r={render:n,staticRenderFns:a};e.a=r},function(t,e,i){\"use strict\";var n=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i(\"div\",{staticClass:\"infinite-loading-container\"},[i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isLoading,expression:\"isLoading\"}]},[t._t(\"spinner\",[i(\"spinner\",{attrs:{spinner:t.spinner}})])],2),t._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isNoResults,expression:\"isNoResults\"}],staticClass:\"infinite-status-prompt\"},[t._t(\"no-results\",[t._v(\"No results :(\")])],2),t._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isNoMore,expression:\"isNoMore\"}],staticClass:\"infinite-status-prompt\"},[t._t(\"no-more\",[t._v(\"No more data :)\")])],2)])},a=[],r={render:n,staticRenderFns:a};e.a=r}])});"],"sourceRoot":""} \ No newline at end of file diff --git a/settings/js/settings-vue.js b/settings/js/settings-vue.js index 1526d8e83f..891baf9f85 100644 --- a/settings/js/settings-vue.js +++ b/settings/js/settings-vue.js @@ -1,144 +1,22 @@ -!function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/",n(n.s=367)}([function(t,e,n){var r=n(2),i=n(24),o=n(12),a=n(13),s=n(21),u=function(t,e,n){var c,l,f,p,d=t&u.F,h=t&u.G,v=t&u.S,m=t&u.P,g=t&u.B,y=h?r:v?r[e]||(r[e]={}):(r[e]||{}).prototype,b=h?i:i[e]||(i[e]={}),_=b.prototype||(b.prototype={});for(c in h&&(n=e),n)f=((l=!d&&y&&void 0!==y[c])?y:n)[c],p=g&&l?s(f,r):m&&"function"==typeof f?s(Function.call,f):f,y&&a(y,c,f,t&u.U),b[c]!=f&&o(b,c,p),m&&_[c]!=f&&(_[c]=f)};r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e,n){var r=n(4);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){"use strict";(function(t,n){ +!function(t){function e(e){for(var n,o,i=e[0],a=e[1],s=0,c=[];s0&&document.getElementsByClassName("oc-dialog-close")[0].click(),OC.Notification.showTemporary(t("settings","You did not enter the password in time")),n("Password request cancelled")},7e3);OC.PasswordConfirmation.requirePasswordConfirmation(),function t(){OC.PasswordConfirmation.requiresPasswordConfirmation()?r=setTimeout(t,500):(clearTimeout(r),clearTimeout(o),e())}()})},get:function(t){return i.a.get(s(t),a).then(function(t){return Promise.resolve(t)}).catch(function(t){return Promise.reject(t)})},post:function(t,e){return i.a.post(s(t),e,a).then(function(t){return Promise.resolve(t)}).catch(function(t){return Promise.reject(t)})},patch:function(t,e){return i.a.patch(s(t),e,a).then(function(t){return Promise.resolve(t)}).catch(function(t){return Promise.reject(t)})},put:function(t,e){return i.a.put(s(t),e,a).then(function(t){return Promise.resolve(t)}).catch(function(t){return Promise.reject(t)})},delete:function(t,e){return i.a.delete(s(t),{data:e,headers:a.headers}).then(function(t){return Promise.resolve(t)}).catch(function(t){return Promise.reject(t)})}}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(4);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){var r=n(62)("wks"),o=n(32),i=n(3).Symbol,a="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)("Symbol."+t))}).store=r},function(t,e,n){var r=n(5),o=n(89),i=n(29),a=Object.defineProperty;e.f=n(8)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){t.exports=!n(2)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){var n=t.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(27),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){"use strict";n.r(e),function(t,n){ /*! * Vue.js v2.5.17 * (c) 2014-2018 Evan You * Released under the MIT License. */ -var r=Object.freeze({});function i(t){return void 0===t||null===t}function o(t){return void 0!==t&&null!==t}function a(t){return!0===t}function s(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function u(t){return null!==t&&"object"==typeof t}var c=Object.prototype.toString;function l(t){return"[object Object]"===c.call(t)}function f(t){return"[object RegExp]"===c.call(t)}function p(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function d(t){return null==t?"":"object"==typeof t?JSON.stringify(t,null,2):String(t)}function h(t){var e=parseFloat(t);return isNaN(e)?t:e}function v(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i-1)return t.splice(n,1)}}var b=Object.prototype.hasOwnProperty;function _(t,e){return b.call(t,e)}function w(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var x=/-(\w)/g,S=w(function(t){return t.replace(x,function(t,e){return e?e.toUpperCase():""})}),C=w(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),A=/\B([A-Z])/g,k=w(function(t){return t.replace(A,"-$1").toLowerCase()});var O=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function E(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function $(t,e){for(var n in e)t[n]=e[n];return t}function T(t){for(var e={},n=0;n0,X=J&&J.indexOf("edge/")>0,Z=(J&&J.indexOf("android"),J&&/iphone|ipad|ipod|ios/.test(J)||"ios"===W),tt=(J&&/chrome\/\d+/.test(J),{}.watch),et=!1;if(Y)try{var nt={};Object.defineProperty(nt,"passive",{get:function(){et=!0}}),window.addEventListener("test-passive",null,nt)}catch(t){}var rt=function(){return void 0===H&&(H=!Y&&!q&&void 0!==t&&"server"===t.process.env.VUE_ENV),H},it=Y&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ot(t){return"function"==typeof t&&/native code/.test(t.toString())}var at,st="undefined"!=typeof Symbol&&ot(Symbol)&&"undefined"!=typeof Reflect&&ot(Reflect.ownKeys);at="undefined"!=typeof Set&&ot(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ut=L,ct=0,lt=function(){this.id=ct++,this.subs=[]};lt.prototype.addSub=function(t){this.subs.push(t)},lt.prototype.removeSub=function(t){y(this.subs,t)},lt.prototype.depend=function(){lt.target&<.target.addDep(this)},lt.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e-1)if(o&&!_(i,"default"))a=!1;else if(""===a||a===k(t)){var u=Vt(String,i.type);(u<0||s0&&(fe((c=t(c,(n||"")+"_"+u))[0])&&fe(f)&&(r[l]=gt(f.text+c[0].text),c.shift()),r.push.apply(r,c)):s(c)?fe(f)?r[l]=gt(f.text+c):""!==c&&r.push(gt(c)):fe(c)&&fe(f)?r[l]=gt(f.text+c.text):(a(e._isVList)&&o(c.tag)&&i(c.key)&&o(n)&&(c.key="__vlist"+n+"_"+u+"__"),r.push(c)));return r}(t):void 0}function fe(t){return o(t)&&o(t.text)&&function(t){return!1===t}(t.isComment)}function pe(t,e){return(t.__esModule||st&&"Module"===t[Symbol.toStringTag])&&(t=t.default),u(t)?e.extend(t):t}function de(t){return t.isComment&&t.asyncFactory}function he(t){if(Array.isArray(t))for(var e=0;eTe&&Ae[n].id>t.id;)n--;Ae.splice(n+1,0,t)}else Ae.push(t);Ee||(Ee=!0,ee(Le))}}(this)},Me.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||u(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){Gt(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},Me.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Me.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},Me.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||y(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var De={enumerable:!0,configurable:!0,get:L,set:L};function Ne(t,e,n){De.get=function(){return this[e][n]},De.set=function(t){this[e][n]=t},Object.defineProperty(t,n,De)}function Ie(t){t._watchers=[];var e=t.$options;e.props&&function(t,e){var n=t.$options.propsData||{},r=t._props={},i=t.$options._propKeys=[];t.$parent&&St(!1);var o=function(o){i.push(o);var a=Ut(o,e,n,t);Et(r,o,a),o in t||Ne(t,"_props",o)};for(var a in e)o(a);St(!0)}(t,e.props),e.methods&&function(t,e){t.$options.props;for(var n in e)t[n]=null==e[n]?L:O(e[n],t)}(t,e.methods),e.data?function(t){var e=t.$options.data;l(e=t._data="function"==typeof e?function(t,e){pt();try{return t.call(e,e)}catch(t){return Gt(t,e,"data()"),{}}finally{dt()}}(e,t):e||{})||(e={});var n=Object.keys(e),r=t.$options.props,i=(t.$options.methods,n.length);for(;i--;){var o=n[i];0,r&&_(r,o)||B(o)||Ne(t,"_data",o)}Ot(e,!0)}(t):Ot(t._data={},!0),e.computed&&function(t,e){var n=t._computedWatchers=Object.create(null),r=rt();for(var i in e){var o=e[i],a="function"==typeof o?o:o.get;0,r||(n[i]=new Me(t,a||L,L,je)),i in t||Fe(t,i,o)}}(t,e.computed),e.watch&&e.watch!==tt&&function(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var i=0;i=0||n.indexOf(t[i])<0)&&r.push(t[i]);return r}return t}function dn(t){this._init(t)}function hn(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name;var a=function(t){this._init(t)};return(a.prototype=Object.create(n.prototype)).constructor=a,a.cid=e++,a.options=jt(n.options,t),a.super=n,a.options.props&&function(t){var e=t.options.props;for(var n in e)Ne(t.prototype,"_props",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)Fe(t.prototype,n,e[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,F.forEach(function(t){a[t]=n[t]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=$({},a.options),i[r]=a,a}}function vn(t){return t&&(t.Ctor.options.name||t.tag)}function mn(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!f(t)&&t.test(e)}function gn(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var o in n){var a=n[o];if(a){var s=vn(a.componentOptions);s&&!e(s)&&yn(n,o,r,i)}}}function yn(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,y(n,e)}!function(t){t.prototype._init=function(t){var e=this;e._uid=ln++,e._isVue=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r,n._parentElm=e._parentElm,n._refElm=e._refElm;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(e,t):e.$options=jt(fn(e.constructor),t||{},e),e._renderProxy=e,e._self=e,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(e),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&ge(t,e)}(e),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,i=n&&n.context;t.$slots=ye(e._renderChildren,i),t.$scopedSlots=r,t._c=function(e,n,r,i){return cn(t,e,n,r,i,!1)},t.$createElement=function(e,n,r,i){return cn(t,e,n,r,i,!0)};var o=n&&n.data;Et(t,"$attrs",o&&o.attrs||r,null,!0),Et(t,"$listeners",e._parentListeners||r,null,!0)}(e),Ce(e,"beforeCreate"),function(t){var e=Be(t.$options.inject,t);e&&(St(!1),Object.keys(e).forEach(function(n){Et(t,n,e[n])}),St(!0))}(e),Ie(e),function(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}(e),Ce(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(dn),function(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=$t,t.prototype.$delete=Tt,t.prototype.$watch=function(t,e,n){if(l(e))return Re(this,t,e,n);(n=n||{}).user=!0;var r=new Me(this,t,e,n);return n.immediate&&e.call(this,r.value),function(){r.teardown()}}}(dn),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){if(Array.isArray(t))for(var r=0,i=t.length;r1?E(e):e;for(var n=E(arguments,1),r=0,i=e.length;rparseInt(this.max)&&yn(a,s[0],s,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={get:function(){return R}};Object.defineProperty(t,"config",e),t.util={warn:ut,extend:$,mergeOptions:jt,defineReactive:Et},t.set=$t,t.delete=Tt,t.nextTick=ee,t.options=Object.create(null),F.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,$(t.options.components,_n),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=E(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=jt(this.options,t),this}}(t),hn(t),function(t){F.forEach(function(e){t[e]=function(t,n){return n?("component"===e&&l(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}})}(t)}(dn),Object.defineProperty(dn.prototype,"$isServer",{get:rt}),Object.defineProperty(dn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(dn,"FunctionalRenderContext",{value:tn}),dn.version="2.5.17";var wn=v("style,class"),xn=v("input,textarea,option,select,progress"),Sn=function(t,e,n){return"value"===n&&xn(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},Cn=v("contenteditable,draggable,spellcheck"),An=v("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),kn="http://www.w3.org/1999/xlink",On=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},En=function(t){return On(t)?t.slice(6,t.length):""},$n=function(t){return null==t||!1===t};function Tn(t){for(var e=t.data,n=t,r=t;o(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=Ln(r.data,e));for(;o(n=n.parent);)n&&n.data&&(e=Ln(e,n.data));return function(t,e){if(o(t)||o(e))return Pn(t,Mn(e));return""}(e.staticClass,e.class)}function Ln(t,e){return{staticClass:Pn(t.staticClass,e.staticClass),class:o(t.class)?[t.class,e.class]:e.class}}function Pn(t,e){return t?e?t+" "+e:t:e||""}function Mn(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,i=t.length;r-1?ir(t,e,n):An(e)?$n(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Cn(e)?t.setAttribute(e,$n(n)||"false"===n?"false":"true"):On(e)?$n(n)?t.removeAttributeNS(kn,En(e)):t.setAttributeNS(kn,e,n):ir(t,e,n)}function ir(t,e,n){if($n(n))t.removeAttribute(e);else{if(K&&!Q&&"TEXTAREA"===t.tagName&&"placeholder"===e&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var or={create:nr,update:nr};function ar(t,e){var n=e.elm,r=e.data,a=t.data;if(!(i(r.staticClass)&&i(r.class)&&(i(a)||i(a.staticClass)&&i(a.class)))){var s=Tn(e),u=n._transitionClasses;o(u)&&(s=Pn(s,Mn(u))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var sr,ur,cr,lr,fr,pr,dr={create:ar,update:ar},hr=/[\w).+\-_$\]]/;function vr(t){var e,n,r,i,o,a=!1,s=!1,u=!1,c=!1,l=0,f=0,p=0,d=0;for(r=0;r=0&&" "===(v=t.charAt(h));h--);v&&hr.test(v)||(c=!0)}}else void 0===i?(d=r+1,i=t.slice(0,r).trim()):m();function m(){(o||(o=[])).push(t.slice(d,r).trim()),d=r+1}if(void 0===i?i=t.slice(0,r).trim():0!==d&&m(),o)for(r=0;r-1?{exp:t.slice(0,lr),key:'"'+t.slice(lr+1)+'"'}:{exp:t,key:null};ur=t,lr=fr=pr=0;for(;!$r();)Tr(cr=Er())?Pr(cr):91===cr&&Lr(cr);return{exp:t.slice(0,fr),key:t.slice(fr+1,pr)}}(t);return null===n.key?t+"="+e:"$set("+n.exp+", "+n.key+", "+e+")"}function Er(){return ur.charCodeAt(++lr)}function $r(){return lr>=sr}function Tr(t){return 34===t||39===t}function Lr(t){var e=1;for(fr=lr;!$r();)if(Tr(t=Er()))Pr(t);else if(91===t&&e++,93===t&&e--,0===e){pr=lr;break}}function Pr(t){for(var e=t;!$r()&&(t=Er())!==e;);}var Mr,Dr="__r",Nr="__c";function Ir(t,e,n,r,i){e=function(t){return t._withTask||(t._withTask=function(){Qt=!0;var e=t.apply(null,arguments);return Qt=!1,e})}(e),n&&(e=function(t,e,n){var r=Mr;return function i(){null!==t.apply(null,arguments)&&jr(e,i,n,r)}}(e,t,r)),Mr.addEventListener(t,e,et?{capture:r,passive:i}:r)}function jr(t,e,n,r){(r||Mr).removeEventListener(t,e._withTask||e,n)}function Fr(t,e){if(!i(t.data.on)||!i(e.data.on)){var n=e.data.on||{},r=t.data.on||{};Mr=e.elm,function(t){if(o(t[Dr])){var e=K?"change":"input";t[e]=[].concat(t[Dr],t[e]||[]),delete t[Dr]}o(t[Nr])&&(t.change=[].concat(t[Nr],t.change||[]),delete t[Nr])}(n),se(n,r,Ir,jr,e.context),Mr=void 0}}var Ur={create:Fr,update:Fr};function Rr(t,e){if(!i(t.data.domProps)||!i(e.data.domProps)){var n,r,a=e.elm,s=t.data.domProps||{},u=e.data.domProps||{};for(n in o(u.__ob__)&&(u=e.data.domProps=$({},u)),s)i(u[n])&&(a[n]="");for(n in u){if(r=u[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n){a._value=r;var c=i(r)?"":String(r);Br(a,c)&&(a.value=c)}else a[n]=r}}}function Br(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,r=t._vModifiers;if(o(r)){if(r.lazy)return!1;if(r.number)return h(n)!==h(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var Vr={create:Rr,update:Rr},Gr=w(function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach(function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e});function Hr(t){var e=zr(t.style);return t.staticStyle?$(t.staticStyle,e):e}function zr(t){return Array.isArray(t)?T(t):"string"==typeof t?Gr(t):t}var Yr,qr=/^--/,Wr=/\s*!important$/,Jr=function(t,e,n){if(qr.test(e))t.style.setProperty(e,n);else if(Wr.test(n))t.style.setProperty(e,n.replace(Wr,""),"important");else{var r=Qr(e);if(Array.isArray(n))for(var i=0,o=n.length;i-1?e.split(/\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function ei(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function ni(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&$(e,ri(t.name||"v")),$(e,t),e}return"string"==typeof t?ri(t):void 0}}var ri=w(function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}}),ii=Y&&!Q,oi="transition",ai="animation",si="transition",ui="transitionend",ci="animation",li="animationend";ii&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(si="WebkitTransition",ui="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(ci="WebkitAnimation",li="webkitAnimationEnd"));var fi=Y?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function pi(t){fi(function(){fi(t)})}function di(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),ti(t,e))}function hi(t,e){t._transitionClasses&&y(t._transitionClasses,e),ei(t,e)}function vi(t,e,n){var r=gi(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===oi?ui:li,u=0,c=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++u>=a&&c()};setTimeout(function(){u0&&(n=oi,l=a,f=o.length):e===ai?c>0&&(n=ai,l=c,f=u.length):f=(n=(l=Math.max(a,c))>0?a>c?oi:ai:null)?n===oi?o.length:u.length:0,{type:n,timeout:l,propCount:f,hasTransform:n===oi&&mi.test(r[si+"Property"])}}function yi(t,e){for(;t.length1}function Ci(t,e){!0!==e.data.show&&_i(e)}var Ai=function(t){var e,n,r={},u=t.modules,c=t.nodeOps;for(e=0;eh?b(t,i(n[g+1])?null:n[g+1].elm,n,d,g,r):d>g&&w(0,e,p,h)}(u,d,h,n,s):o(h)?(o(t.text)&&c.setTextContent(u,""),b(u,null,h,0,h.length-1,n)):o(d)?w(0,d,0,d.length-1):o(t.text)&&c.setTextContent(u,""):t.text!==e.text&&c.setTextContent(u,e.text),o(p)&&o(l=p.hook)&&o(l=l.postpatch)&&l(t,e)}}}function A(t,e,n){if(a(n)&&o(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r-1,a.selected!==o&&(a.selected=o);else if(D(Ti(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function $i(t,e){return e.every(function(e){return!D(e,t)})}function Ti(t){return"_value"in t?t._value:t.value}function Li(t){t.target.composing=!0}function Pi(t){t.target.composing&&(t.target.composing=!1,Mi(t.target,"input"))}function Mi(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Di(t){return!t.componentInstance||t.data&&t.data.transition?t:Di(t.componentInstance._vnode)}var Ni={model:ki,show:{bind:function(t,e,n){var r=e.value,i=(n=Di(n)).data&&n.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&i?(n.data.show=!0,_i(n,function(){t.style.display=o})):t.style.display=r?o:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=Di(n)).data&&n.data.transition?(n.data.show=!0,r?_i(n,function(){t.style.display=t.__vOriginalDisplay}):wi(n,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,i){i||(t.style.display=t.__vOriginalDisplay)}}},Ii={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function ji(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?ji(he(e.children)):t}function Fi(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[S(o)]=i[o];return e}function Ui(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var Ri={name:"transition",props:Ii,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(function(t){return t.tag||de(t)})).length){0;var r=this.mode;0;var i=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return i;var o=ji(i);if(!o)return i;if(this._leaving)return Ui(t,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:s(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var u=(o.data||(o.data={})).transition=Fi(this),c=this._vnode,l=ji(c);if(o.data.directives&&o.data.directives.some(function(t){return"show"===t.name})&&(o.data.show=!0),l&&l.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(o,l)&&!de(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=$({},u);if("out-in"===r)return this._leaving=!0,ue(f,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),Ui(t,i);if("in-out"===r){if(de(o))return c;var p,d=function(){p()};ue(u,"afterEnter",d),ue(u,"enterCancelled",d),ue(f,"delayLeave",function(t){p=t})}}return i}}},Bi=$({tag:String,moveClass:String},Ii);function Vi(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function Gi(t){t.data.newPos=t.elm.getBoundingClientRect()}function Hi(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,i=e.top-n.top;if(r||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}delete Bi.mode;var zi={Transition:Ri,TransitionGroup:{props:Bi,render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=Fi(this),s=0;s-1?Un[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Un[t]=/HTMLUnknownElement/.test(e.toString())},$(dn.options.directives,Ni),$(dn.options.components,zi),dn.prototype.__patch__=Y?Ai:L,dn.prototype.$mount=function(t,e){return function(t,e,n){return t.$el=e,t.$options.render||(t.$options.render=mt),Ce(t,"beforeMount"),new Me(t,function(){t._update(t._render(),n)},L,null,!0),n=!1,null==t.$vnode&&(t._isMounted=!0,Ce(t,"mounted")),t}(this,t=t&&Y?Bn(t):void 0,e)},Y&&setTimeout(function(){R.devtools&&it&&it.emit("init",dn)},0);var Yi=/\{\{((?:.|\n)+?)\}\}/g,qi=/[-.*+?^${}()|[\]\/\\]/g,Wi=w(function(t){var e=t[0].replace(qi,"\\$&"),n=t[1].replace(qi,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+n,"g")});var Ji={staticKeys:["staticClass"],transformNode:function(t,e){e.warn;var n=Ar(t,"class");n&&(t.staticClass=JSON.stringify(n));var r=Cr(t,"class",!1);r&&(t.classBinding=r)},genData:function(t){var e="";return t.staticClass&&(e+="staticClass:"+t.staticClass+","),t.classBinding&&(e+="class:"+t.classBinding+","),e}};var Ki,Qi={staticKeys:["staticStyle"],transformNode:function(t,e){e.warn;var n=Ar(t,"style");n&&(t.staticStyle=JSON.stringify(Gr(n)));var r=Cr(t,"style",!1);r&&(t.styleBinding=r)},genData:function(t){var e="";return t.staticStyle&&(e+="staticStyle:"+t.staticStyle+","),t.styleBinding&&(e+="style:("+t.styleBinding+"),"),e}},Xi=function(t){return(Ki=Ki||document.createElement("div")).innerHTML=t,Ki.textContent},Zi=v("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),to=v("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),eo=v("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),no=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ro="[a-zA-Z_][\\w\\-\\.]*",io="((?:"+ro+"\\:)?"+ro+")",oo=new RegExp("^<"+io),ao=/^\s*(\/?)>/,so=new RegExp("^<\\/"+io+"[^>]*>"),uo=/^]+>/i,co=/^",""":'"',"&":"&"," ":"\n"," ":"\t"},mo=/&(?:lt|gt|quot|amp);/g,go=/&(?:lt|gt|quot|amp|#10|#9);/g,yo=v("pre,textarea",!0),bo=function(t,e){return t&&yo(t)&&"\n"===e[0]};function _o(t,e){var n=e?go:mo;return t.replace(n,function(t){return vo[t]})}var wo,xo,So,Co,Ao,ko,Oo,Eo,$o=/^@|^v-on:/,To=/^v-|^@|^:/,Lo=/([^]*?)\s+(?:in|of)\s+([^]*)/,Po=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Mo=/^\(|\)$/g,Do=/:(.*)$/,No=/^:|^v-bind:/,Io=/\.[^.]+/g,jo=w(Xi);function Fo(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:function(t){for(var e={},n=0,r=t.length;n]*>)","i")),p=t.replace(f,function(t,n,r){return c=r.length,po(l)||"noscript"===l||(n=n.replace(//g,"$1").replace(//g,"$1")),bo(l,n)&&(n=n.slice(1)),e.chars&&e.chars(n),""});u+=t.length-p.length,t=p,k(l,u-c,u)}else{var d=t.indexOf("<");if(0===d){if(co.test(t)){var h=t.indexOf("--\x3e");if(h>=0){e.shouldKeepComment&&e.comment(t.substring(4,h)),S(h+3);continue}}if(lo.test(t)){var v=t.indexOf("]>");if(v>=0){S(v+2);continue}}var m=t.match(uo);if(m){S(m[0].length);continue}var g=t.match(so);if(g){var y=u;S(g[0].length),k(g[1],y,u);continue}var b=C();if(b){A(b),bo(r,t)&&S(1);continue}}var _=void 0,w=void 0,x=void 0;if(d>=0){for(w=t.slice(d);!(so.test(w)||oo.test(w)||co.test(w)||lo.test(w)||(x=w.indexOf("<",1))<0);)d+=x,w=t.slice(d);_=t.substring(0,d),S(d)}d<0&&(_=t,t=""),e.chars&&_&&e.chars(_)}if(t===n){e.chars&&e.chars(t);break}}function S(e){u+=e,t=t.substring(e)}function C(){var e=t.match(oo);if(e){var n,r,i={tagName:e[1],attrs:[],start:u};for(S(e[0].length);!(n=t.match(ao))&&(r=t.match(no));)S(r[0].length),i.attrs.push(r);if(n)return i.unarySlash=n[1],S(n[0].length),i.end=u,i}}function A(t){var n=t.tagName,u=t.unarySlash;o&&("p"===r&&eo(n)&&k(r),s(n)&&r===n&&k(n));for(var c=a(n)||!!u,l=t.attrs.length,f=new Array(l),p=0;p=0&&i[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var c=i.length-1;c>=a;c--)e.end&&e.end(i[c].tag,n,o);i.length=a,r=a&&i[a-1].tag}else"br"===s?e.start&&e.start(t,[],!0,n,o):"p"===s&&(e.start&&e.start(t,[],!1,n,o),e.end&&e.end(t,n,o))}k()}(t,{warn:wo,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,start:function(t,o,c){var l=r&&r.ns||Eo(t);K&&"svg"===l&&(o=function(t){for(var e=[],n=0;nu&&(s.push(o=t.slice(u,i)),a.push(JSON.stringify(o)));var c=vr(r[1].trim());a.push("_s("+c+")"),s.push({"@binding":c}),u=i+r[0].length}return u-1"+("true"===o?":("+e+")":":_q("+e+","+o+")")),Sr(t,"change","var $$a="+e+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Or(e,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Or(e,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Or(e,"$$c")+"}",null,!0)}(t,r,i);else if("input"===o&&"radio"===a)!function(t,e,n){var r=n&&n.number,i=Cr(t,"value")||"null";br(t,"checked","_q("+e+","+(i=r?"_n("+i+")":i)+")"),Sr(t,"change",Or(e,i),null,!0)}(t,r,i);else if("input"===o||"textarea"===o)!function(t,e,n){var r=t.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,u=!o&&"range"!==r,c=o?"change":"range"===r?Dr:"input",l="$event.target.value";s&&(l="$event.target.value.trim()"),a&&(l="_n("+l+")");var f=Or(e,l);u&&(f="if($event.target.composing)return;"+f),br(t,"value","("+e+")"),Sr(t,c,f,null,!0),(s||a)&&Sr(t,"blur","$forceUpdate()")}(t,r,i);else if(!R.isReservedTag(o))return kr(t,r,i),!1;return!0},text:function(t,e){e.value&&br(t,"textContent","_s("+e.value+")")},html:function(t,e){e.value&&br(t,"innerHTML","_s("+e.value+")")}},isPreTag:function(t){return"pre"===t},isUnaryTag:Zi,mustUseProp:Sn,canBeLeftOpenTag:to,isReservedTag:jn,getTagNamespace:Fn,staticKeys:function(t){return t.reduce(function(t,e){return t.concat(e.staticKeys||[])},[]).join(",")}(qo)},Qo=w(function(t){return v("type,tag,attrsList,attrsMap,plain,parent,children,attrs"+(t?","+t:""))});function Xo(t,e){t&&(Wo=Qo(e.staticKeys||""),Jo=e.isReservedTag||P,function t(e){e.static=function(t){if(2===t.type)return!1;if(3===t.type)return!0;return!(!t.pre&&(t.hasBindings||t.if||t.for||m(t.tag)||!Jo(t.tag)||function(t){for(;t.parent;){if("template"!==(t=t.parent).tag)return!1;if(t.for)return!0}return!1}(t)||!Object.keys(t).every(Wo)))}(e);if(1===e.type){if(!Jo(e.tag)&&"slot"!==e.tag&&null==e.attrsMap["inline-template"])return;for(var n=0,r=e.children.length;n|^function\s*\(/,ta=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,ea={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},na={esc:"Escape",tab:"Tab",enter:"Enter",space:" ",up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete"]},ra=function(t){return"if("+t+")return null;"},ia={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:ra("$event.target !== $event.currentTarget"),ctrl:ra("!$event.ctrlKey"),shift:ra("!$event.shiftKey"),alt:ra("!$event.altKey"),meta:ra("!$event.metaKey"),left:ra("'button' in $event && $event.button !== 0"),middle:ra("'button' in $event && $event.button !== 1"),right:ra("'button' in $event && $event.button !== 2")};function oa(t,e,n){var r=e?"nativeOn:{":"on:{";for(var i in t)r+='"'+i+'":'+aa(i,t[i])+",";return r.slice(0,-1)+"}"}function aa(t,e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(e){return aa(t,e)}).join(",")+"]";var n=ta.test(e.value),r=Zo.test(e.value);if(e.modifiers){var i="",o="",a=[];for(var s in e.modifiers)if(ia[s])o+=ia[s],ea[s]&&a.push(s);else if("exact"===s){var u=e.modifiers;o+=ra(["ctrl","shift","alt","meta"].filter(function(t){return!u[t]}).map(function(t){return"$event."+t+"Key"}).join("||"))}else a.push(s);return a.length&&(i+=function(t){return"if(!('button' in $event)&&"+t.map(sa).join("&&")+")return null;"}(a)),o&&(i+=o),"function($event){"+i+(n?"return "+e.value+"($event)":r?"return ("+e.value+")($event)":e.value)+"}"}return n||r?e.value:"function($event){"+e.value+"}"}function sa(t){var e=parseInt(t,10);if(e)return"$event.keyCode!=="+e;var n=ea[t],r=na[t];return"_k($event.keyCode,"+JSON.stringify(t)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}var ua={on:function(t,e){t.wrapListeners=function(t){return"_g("+t+","+e.value+")"}},bind:function(t,e){t.wrapData=function(n){return"_b("+n+",'"+t.tag+"',"+e.value+","+(e.modifiers&&e.modifiers.prop?"true":"false")+(e.modifiers&&e.modifiers.sync?",true":"")+")"}},cloak:L},ca=function(t){this.options=t,this.warn=t.warn||gr,this.transforms=yr(t.modules,"transformCode"),this.dataGenFns=yr(t.modules,"genData"),this.directives=$($({},ua),t.directives);var e=t.isReservedTag||P;this.maybeComponent=function(t){return!e(t.tag)},this.onceId=0,this.staticRenderFns=[]};function la(t,e){var n=new ca(e);return{render:"with(this){return "+(t?fa(t,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function fa(t,e){if(t.staticRoot&&!t.staticProcessed)return pa(t,e);if(t.once&&!t.onceProcessed)return da(t,e);if(t.for&&!t.forProcessed)return function(t,e,n,r){var i=t.for,o=t.alias,a=t.iterator1?","+t.iterator1:"",s=t.iterator2?","+t.iterator2:"";0;return t.forProcessed=!0,(r||"_l")+"(("+i+"),function("+o+a+s+"){return "+(n||fa)(t,e)+"})"}(t,e);if(t.if&&!t.ifProcessed)return ha(t,e);if("template"!==t.tag||t.slotTarget){if("slot"===t.tag)return function(t,e){var n=t.slotName||'"default"',r=ga(t,e),i="_t("+n+(r?","+r:""),o=t.attrs&&"{"+t.attrs.map(function(t){return S(t.name)+":"+t.value}).join(",")+"}",a=t.attrsMap["v-bind"];!o&&!a||r||(i+=",null");o&&(i+=","+o);a&&(i+=(o?"":",null")+","+a);return i+")"}(t,e);var n;if(t.component)n=function(t,e,n){var r=e.inlineTemplate?null:ga(e,n,!0);return"_c("+t+","+va(e,n)+(r?","+r:"")+")"}(t.component,t,e);else{var r=t.plain?void 0:va(t,e),i=t.inlineTemplate?null:ga(t,e,!0);n="_c('"+t.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var o=0;o':'
',Sa.innerHTML.indexOf(" ")>0}var ka=!!Y&&Aa(!1),Oa=!!Y&&Aa(!0),Ea=w(function(t){var e=Bn(t);return e&&e.innerHTML}),$a=dn.prototype.$mount;dn.prototype.$mount=function(t,e){if((t=t&&Bn(t))===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=Ea(r));else{if(!r.nodeType)return this;r=r.innerHTML}else t&&(r=function(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}(t));if(r){0;var i=Ca(r,{shouldDecodeNewlines:ka,shouldDecodeNewlinesForHref:Oa,delimiters:n.delimiters,comments:n.comments},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a}}return $a.call(this,t,e)},dn.compile=Ca,e.a=dn}).call(this,n(47),n(142).setImmediate)},function(t,e,n){var r=n(55)("wks"),i=n(35),o=n(2).Symbol,a="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))}).store=r},function(t,e,n){t.exports=!n(3)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(1),i=n(105),o=n(25),a=Object.defineProperty;e.f=n(7)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(27),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){var r=n(26);t.exports=function(t){return Object(r(t))}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){var r=n(8),i=n(34);t.exports=n(7)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(2),i=n(12),o=n(17),a=n(35)("src"),s=Function.toString,u=(""+s).split("toString");n(24).inspectSource=function(t){return s.call(t)},(t.exports=function(t,e,n,s){var c="function"==typeof n;c&&(o(n,"name")||i(n,"name",e)),t[e]!==n&&(c&&(o(n,a)||i(n,a,t[e]?""+t[e]:u.join(String(e)))),t===r?t[e]=n:s?t[e]?t[e]=n:i(t,e,n):(delete t[e],i(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||s.call(this)})},function(t,e,n){var r=n(0),i=n(3),o=n(26),a=/"/g,s=function(t,e,n,r){var i=String(o(t)),s="<"+e;return""!==n&&(s+=" "+n+'="'+String(r).replace(a,""")+'"'),s+">"+i+""};t.exports=function(t,e){var n={};n[t]=e(s),r(r.P+r.F*i(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},function(t,e,n){t.exports=function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=66)}([function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){t.exports=!n(12)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(10),i=n(43),o=n(31),a=Object.defineProperty;e.f=n(1)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(77),i=n(21);t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(9),i=n(52),o=n(18),a=n(55),s=n(53),u=function(t,e,n){var c,l,f,p,d=t&u.F,h=t&u.G,v=t&u.S,m=t&u.P,g=t&u.B,y=h?r:v?r[e]||(r[e]={}):(r[e]||{}).prototype,b=h?i:i[e]||(i[e]={}),_=b.prototype||(b.prototype={});for(c in h&&(n=e),n)l=!d&&y&&void 0!==y[c],f=(l?y:n)[c],p=g&&l?s(f,r):m&&"function"==typeof f?s(Function.call,f):f,y&&a(y,c,f,t&u.U),b[c]!=f&&o(b,c,p),m&&_[c]!=f&&(_[c]=f)};r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e,n){var r=n(3),i=n(15);t.exports=n(1)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(29)("wks"),i=n(16),o=n(0).Symbol,a="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))}).store=r},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){var r=n(13);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(48),i=n(22);t.exports=Object.keys||function(t){return r(t,i)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var r=n(109),i=n(110);t.exports=n(35)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(8);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(0),i=n(11),o=n(74),a=n(6),s=function(t,e,n){var u,c,l,f=t&s.F,p=t&s.G,d=t&s.S,h=t&s.P,v=t&s.B,m=t&s.W,g=p?i:i[e]||(i[e]={}),y=g.prototype,b=p?r:d?r[e]:(r[e]||{}).prototype;for(u in p&&(n=e),n)(c=!f&&b&&void 0!==b[u])&&u in g||(l=c?b[u]:n[u],g[u]=p&&"function"!=typeof b[u]?n[u]:v&&c?o(l,r):m&&b[u]==l?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(l):h&&"function"==typeof l?o(Function.call,l):l,h&&((g.virtual||(g.virtual={}))[u]=l,t&s.R&&y&&!y[u]&&a(y,u,l)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,t.exports=s},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(3).f,i=n(2),o=n(7)("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},function(t,e,n){var r=n(29)("keys"),i=n(16);t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,e,n){var r=n(0),i=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(13);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(0),i=n(11),o=n(25),a=n(33),s=n(3).f;t.exports=function(t){var e=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||s(e,t,{value:a.f(t)})}},function(t,e,n){e.f=n(7)},function(t,e,n){var r=n(53),i=n(36),o=n(57),a=n(37),s=n(104);t.exports=function(t,e){var n=1==t,u=2==t,c=3==t,l=4==t,f=6==t,p=5==t||f,d=e||s;return function(e,s,h){for(var v,m,g=o(e),y=i(g),b=r(s,h,3),_=a(y.length),w=0,x=n?d(e,_):u?d(e,0):void 0;_>w;w++)if((p||w in y)&&(v=y[w],m=b(v,w,g),t))if(n)x[w]=m;else if(m)switch(t){case 3:return!0;case 5:return v;case 6:return w;case 2:x.push(v)}else if(l)return!1;return f?-1:c||l?l:x}}},function(t,e,n){t.exports=!n(8)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(51);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(56),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){var r=n(111)("wks"),i=n(58),o=n(9).Symbol,a="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))}).store=r},function(t,e,n){"use strict";function r(t){return!(0===t||(!Array.isArray(t)||0!==t.length)&&t)}function i(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e,n,r){return t.filter(function(t){return function(t,e){return void 0===t&&(t="undefined"),null===t&&(t="null"),!1===t&&(t="false"),-1!==t.toString().toLowerCase().indexOf(e.trim())}(r(t,n),e)})}function a(t){return t.filter(function(t){return!t.$isLabel})}function s(t,e){return function(n){return n.reduce(function(n,r){return r[t]&&r[t].length?(n.push({$groupLabel:r[e],$isLabel:!0}),n.concat(r[t])):n},[])}}var u=n(65),c=n.n(u),l=n(59),f=(n.n(l),n(122)),p=(n.n(f),n(64)),d=n.n(p),h=n(120),v=(n.n(h),n(121)),m=(n.n(v),n(117)),g=(n.n(m),n(123)),y=(n.n(g),n(118)),b=(n.n(y),n(119)),_=(n.n(b),function(){for(var t=arguments.length,e=new Array(t),n=0;n-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},getOptionLabel:function(t){if(r(t))return"";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return r(e)?"":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)this.selectGroup(t);else if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&("Tab"!==e||this.pointerDirty)){if(t.isTag)this.$emit("tag",t.label,this.id),this.search="",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void("Tab"!==e&&this.removeElement(t));this.$emit("select",t,this.id),this.multiple?this.$emit("input",this.internalValue.concat([t]),this.id):this.$emit("input",t,this.id),this.clearOnSelect&&(this.search="")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit("remove",n[this.groupValues],this.id);var r=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit("input",r,this.id)}else{var o=n[this.groupValues].filter(i(this.isSelected));this.$emit("select",o,this.id),this.$emit("input",this.internalValue.concat(o),this.id)}},wholeGroupSelected:function(t){return t[this.groupValues].every(this.isSelected)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var n="object"===c()(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit("remove",t,this.id),this.multiple){var r=this.internalValue.slice(0,n).concat(this.internalValue.slice(n+1));this.$emit("input",r,this.id)}else this.$emit("input",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf("Delete")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=""),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit("open",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=""),this.$emit("close",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if("undefined"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||"below"===this.openDirection||"bottom"===this.openDirection?(this.prefferedOpenDirection="below",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.prefferedOpenDirection="above",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){"use strict";var r=n(59);n.n(r),e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{"multiselect__option--highlight":t===this.pointer&&this.showPointer,"multiselect__option--selected":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return["multiselect__option--disabled"];var r=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return[this.groupSelect?"multiselect__option--group":"multiselect__option--disabled",{"multiselect__option--highlight":t===this.pointer&&this.showPointer},{"multiselect__option--group-selected":this.wholeGroupSelected(r)}]},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Enter",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(13),i=n(0).document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e,n){t.exports=!n(1)&&!n(12)(function(){return 7!=Object.defineProperty(n(42)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){"use strict";var r=n(25),i=n(23),o=n(49),a=n(6),s=n(2),u=n(24),c=n(79),l=n(27),f=n(86),p=n(7)("iterator"),d=!([].keys&&"next"in[].keys()),h=function(){return this};t.exports=function(t,e,n,v,m,g,y){c(n,e,v);var b,_,w,x=function(t){if(!d&&t in k)return k[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+" Iterator",C="values"==m,A=!1,k=t.prototype,O=k[p]||k["@@iterator"]||m&&k[m],E=O||x(m),$=m?C?x("entries"):E:void 0,T="Array"==e&&k.entries||O;if(T&&(w=f(T.call(new t)))!==Object.prototype&&(l(w,S,!0),r||s(w,p)||a(w,p,h)),C&&O&&"values"!==O.name&&(A=!0,E=function(){return O.call(this)}),r&&!y||!d&&!A&&k[p]||a(k,p,E),u[e]=E,u[S]=h,m)if(b={values:C?E:x("values"),keys:g?E:x("keys"),entries:$},y)for(_ in b)_ in k||o(k,_,b[_]);else i(i.P+i.F*(d||A),e,b);return b}},function(t,e,n){var r=n(10),i=n(83),o=n(22),a=n(28)("IE_PROTO"),s=function(){},u=function(){var t,e=n(42)("iframe"),r=o.length;for(e.style.display="none",n(76).appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("\n","/**\n * vue-router v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nvar View = {\n name: 'router-view',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n if (parent.$vnode && parent.$vnode.data.routerView) {\n depth++;\n }\n if (parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n return h(cache[name], data, children)\n }\n\n var matched = route.matched[depth];\n // render empty node if no matched route\n if (!matched) {\n cache[name] = null;\n return h()\n }\n\n var component = cache[name] = matched.components[name];\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // resolve props\n var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n\n return h(component, data, children)\n }\n};\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\nfunction extend (to, from) {\n for (var key in from) {\n to[key] = from[key];\n }\n return to\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery$$1 = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery$$1),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery$$1);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar Link = {\n name: 'router-link',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(this.to, current, this.append);\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback = globalActiveClass == null\n ? 'router-link-active'\n : globalActiveClass;\n var exactActiveClassFallback = globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass = this.activeClass == null\n ? activeClassFallback\n : this.activeClass;\n var exactActiveClass = this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n var compareTarget = location.path\n ? createRoute(null, location, null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location);\n } else {\n router.push(location);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) { on[e] = handler; });\n } else {\n on[this.event] = handler;\n }\n\n var data = {\n class: classes\n };\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var extend = _Vue.util.extend;\n var aData = a.data = extend({}, a.data);\n aData.on = on;\n var aAttrs = a.data.attrs = extend({}, a.data.attrs);\n aAttrs.href = href;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('router-view', View);\n Vue.component('router-link', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n return filler(params || {}, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n }\n}\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(path || name)) + \" cannot be a \" +\n \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions = route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(\n path,\n parent,\n pathToRegexpOptions.strict\n );\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props: route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (route.name && !route.redirect && route.children.some(function (child) { return /^\\/?$/.test(child.path); })) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias)\n ? route.alias\n : [route.alias];\n\n aliases.forEach(function (alias) {\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (path, pathToRegexpOptions) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(!keys[key.name], (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\"));\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (path, parent, strict) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next.name || next._normalized) {\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = assign({}, next);\n next._normalized = true;\n var params = assign(assign({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction assign (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n if (record) {\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n }\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n params[key.name] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n window.history.replaceState({ key: getStateKey() }, '');\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior(to, from, isPop ? position : null);\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll.then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n }).catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n var el = document.querySelector(shouldScroll.selector);\n if (el) {\n var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState = inBrowser && (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n})();\n\n// use User Timing api (if present) for more accurate key precision\nvar Time = inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nvar _key = genKey();\n\nfunction genKey () {\n return Time.now().toFixed(3)\n}\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n _key = key;\n}\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n history.replaceState({ key: _key }, '', url);\n } else {\n _key = genKey();\n history.pushState({ key: _key }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (location, onComplete, onAbort) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(route, function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) { cb(route); });\n }\n }, function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) { cb(err); });\n }\n });\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n if (isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) { cb(err); });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort()\n }\n\n var ref = resolveQueue(this.current.matched, route.matched);\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' && (\n typeof to.path === 'string' ||\n typeof to.name === 'string'\n ))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) { cb(); });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(activated, 'beforeRouteEnter', function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n })\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n next(cb);\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (instances[key]) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\n\nvar HTML5History = (function (History$$1) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History$$1.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n\n if (expectScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (expectScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History$$1 ) HTML5History.__proto__ = History$$1;\n HTML5History.prototype = Object.create( History$$1 && History$$1.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\n\nvar HashHistory = (function (History$$1) {\n function HashHistory (router, base, fallback) {\n History$$1.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History$$1 ) HashHistory.__proto__ = History$$1;\n HashHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(supportsPushState ? 'popstate' : 'hashchange', function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(\n cleanPath(base + '/#' + location)\n );\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n return index === -1 ? '' : href.slice(index + 1)\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\n\nvar AbstractHistory = (function (History$$1) {\n function AbstractHistory (router, base) {\n History$$1.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History$$1 ) AbstractHistory.__proto__ = History$$1;\n AbstractHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(route, function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n });\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n process.env.NODE_ENV !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // main app already initialized.\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n this.history.push(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n this.history.replace(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n var location = normalizeLocation(\n to,\n current || this.history.current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.0.1';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"app-settings\", attrs: { id: \"content\" } },\n [\n _c(\n \"app-navigation\",\n { attrs: { menu: _vm.menu } },\n [\n _c(\"template\", { slot: \"settings-content\" }, [\n _c(\n \"div\",\n [\n _c(\"p\", [_vm._v(_vm._s(_vm.t(\"settings\", \"Default quota:\")))]),\n _vm._v(\" \"),\n _c(\"multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n value: _vm.defaultQuota,\n options: _vm.quotaOptions,\n \"tag-placeholder\": \"create\",\n placeholder: _vm.t(\"settings\", \"Select default quota\"),\n label: \"label\",\n \"track-by\": \"id\",\n allowEmpty: false,\n taggable: true\n },\n on: { tag: _vm.validateQuota, input: _vm.setDefaultQuota }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showLanguages,\n expression: \"showLanguages\"\n }\n ],\n staticClass: \"checkbox\",\n attrs: { type: \"checkbox\", id: \"showLanguages\" },\n domProps: {\n checked: Array.isArray(_vm.showLanguages)\n ? _vm._i(_vm.showLanguages, null) > -1\n : _vm.showLanguages\n },\n on: {\n change: function($event) {\n var $$a = _vm.showLanguages,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.showLanguages = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showLanguages = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showLanguages = $$c\n }\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showLanguages\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show Languages\")))\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showLastLogin,\n expression: \"showLastLogin\"\n }\n ],\n staticClass: \"checkbox\",\n attrs: { type: \"checkbox\", id: \"showLastLogin\" },\n domProps: {\n checked: Array.isArray(_vm.showLastLogin)\n ? _vm._i(_vm.showLastLogin, null) > -1\n : _vm.showLastLogin\n },\n on: {\n change: function($event) {\n var $$a = _vm.showLastLogin,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.showLastLogin = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showLastLogin = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showLastLogin = $$c\n }\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showLastLogin\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show last login\")))\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showUserBackend,\n expression: \"showUserBackend\"\n }\n ],\n staticClass: \"checkbox\",\n attrs: { type: \"checkbox\", id: \"showUserBackend\" },\n domProps: {\n checked: Array.isArray(_vm.showUserBackend)\n ? _vm._i(_vm.showUserBackend, null) > -1\n : _vm.showUserBackend\n },\n on: {\n change: function($event) {\n var $$a = _vm.showUserBackend,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.showUserBackend = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showUserBackend = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showUserBackend = $$c\n }\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showUserBackend\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show user backend\")))\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showStoragePath,\n expression: \"showStoragePath\"\n }\n ],\n staticClass: \"checkbox\",\n attrs: { type: \"checkbox\", id: \"showStoragePath\" },\n domProps: {\n checked: Array.isArray(_vm.showStoragePath)\n ? _vm._i(_vm.showStoragePath, null) > -1\n : _vm.showStoragePath\n },\n on: {\n change: function($event) {\n var $$a = _vm.showStoragePath,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.showStoragePath = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showStoragePath = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showStoragePath = $$c\n }\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showStoragePath\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show storage path\")))\n ])\n ])\n ])\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"user-list\", {\n attrs: {\n users: _vm.users,\n showConfig: _vm.showConfig,\n selectedGroup: _vm.selectedGroup,\n externalActions: _vm.externalActions\n }\n })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n class: { \"icon-loading\": _vm.menu.loading },\n attrs: { id: \"app-navigation\" }\n },\n [\n _vm.menu.new\n ? _c(\"div\", { staticClass: \"app-navigation-new\" }, [\n _c(\n \"button\",\n {\n class: _vm.menu.new.icon,\n attrs: { id: _vm.menu.new.id, type: \"button\" },\n on: { click: _vm.menu.new.action }\n },\n [_vm._v(_vm._s(_vm.menu.new.text))]\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { attrs: { id: _vm.menu.id } },\n _vm._l(_vm.menu.items, function(item) {\n return _c(\"app-navigation-item\", {\n key: item.key,\n attrs: { item: item }\n })\n })\n ),\n _vm._v(\" \"),\n !!_vm.$slots[\"settings-content\"]\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"click-outside\",\n rawName: \"v-click-outside\",\n value: _vm.closeMenu,\n expression: \"closeMenu\"\n }\n ],\n class: { open: _vm.opened },\n attrs: { id: \"app-settings\" }\n },\n [\n _c(\"div\", { attrs: { id: \"app-settings-header\" } }, [\n _c(\n \"button\",\n {\n staticClass: \"settings-button\",\n attrs: {\n \"data-apps-slide-toggle\": \"#app-settings-content\"\n },\n on: { click: _vm.toggleMenu }\n },\n [_vm._v(_vm._s(_vm.t(\"contacts\", \"Settings\")))]\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { attrs: { id: \"app-settings-content\" } },\n [_vm._t(\"settings-content\")],\n 2\n )\n ]\n )\n : _vm._e()\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.item.caption\n ? _c(\"li\", { staticClass: \"app-navigation-caption\" }, [\n _vm._v(_vm._s(_vm.item.text))\n ])\n : _c(\n \"nav-element\",\n _vm._b(\n {\n class: [\n {\n \"icon-loading-small\": _vm.item.loading,\n open: _vm.item.opened,\n collapsible:\n _vm.item.collapsible &&\n _vm.item.children &&\n _vm.item.children.length > 0\n },\n _vm.item.classes\n ],\n attrs: { id: _vm.item.id }\n },\n \"nav-element\",\n _vm.navElement(_vm.item),\n false\n ),\n [\n _vm.item.bullet\n ? _c(\"div\", {\n staticClass: \"app-navigation-entry-bullet\",\n style: { backgroundColor: _vm.item.bullet }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.action\n ? _c(\n \"a\",\n {\n class: _vm.item.icon,\n attrs: { href: \"#\" },\n on: {\n click: function($event) {\n $event.preventDefault()\n $event.stopPropagation()\n return _vm.item.action($event)\n }\n }\n },\n [\n _vm.item.iconUrl\n ? _c(\"img\", {\n attrs: { alt: _vm.item.text, src: _vm.item.iconUrl }\n })\n : _vm._e(),\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\")\n ]\n )\n : _c(\n \"a\",\n {\n class: _vm.item.icon,\n attrs: { href: _vm.item.href ? _vm.item.href : \"#\" },\n on: { click: _vm.toggleCollapse }\n },\n [\n _vm.item.iconUrl\n ? _c(\"img\", {\n attrs: { alt: _vm.item.text, src: _vm.item.iconUrl }\n })\n : _vm._e(),\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\")\n ]\n ),\n _vm._v(\" \"),\n _vm.item.utils\n ? _c(\"div\", { staticClass: \"app-navigation-entry-utils\" }, [\n _c(\n \"ul\",\n [\n Number.isInteger(_vm.item.utils.counter) &&\n _vm.item.utils.counter > 0\n ? _c(\n \"li\",\n { staticClass: \"app-navigation-entry-utils-counter\" },\n [_vm._v(_vm._s(_vm.item.utils.counter))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.utils.actions &&\n _vm.item.utils.actions.length === 1\n ? _c(\n \"li\",\n {\n staticClass:\n \"app-navigation-entry-utils-menu-button\"\n },\n [\n _c(\"button\", {\n class: _vm.item.utils.actions[0].icon,\n attrs: { title: _vm.item.utils.actions[0].text },\n on: { click: _vm.item.utils.actions[0].action }\n })\n ]\n )\n : _vm.item.utils.actions &&\n _vm.item.utils.actions.length === 2 &&\n !Number.isInteger(_vm.item.utils.counter)\n ? _vm._l(_vm.item.utils.actions, function(action) {\n return _c(\n \"li\",\n {\n key: action.action,\n staticClass:\n \"app-navigation-entry-utils-menu-button\"\n },\n [\n _c(\"button\", {\n class: action.icon,\n attrs: { title: action.text },\n on: { click: action.action }\n })\n ]\n )\n })\n : _vm.item.utils.actions &&\n _vm.item.utils.actions.length > 1 &&\n (Number.isInteger(_vm.item.utils.counter) ||\n _vm.item.utils.actions.length > 2)\n ? _c(\n \"li\",\n {\n staticClass:\n \"app-navigation-entry-utils-menu-button\"\n },\n [\n _c(\"button\", {\n directives: [\n {\n name: \"click-outside\",\n rawName: \"v-click-outside\",\n value: _vm.hideMenu,\n expression: \"hideMenu\"\n }\n ],\n on: { click: _vm.showMenu }\n })\n ]\n )\n : _vm._e()\n ],\n 2\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.utils &&\n _vm.item.utils.actions &&\n _vm.item.utils.actions.length > 1 &&\n (Number.isInteger(_vm.item.utils.counter) ||\n _vm.item.utils.actions.length > 2)\n ? _c(\n \"div\",\n {\n staticClass: \"app-navigation-entry-menu\",\n class: { open: _vm.openedMenu }\n },\n [\n _c(\"popover-menu\", {\n attrs: { menu: _vm.item.utils.actions }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.undo\n ? _c(\"div\", { staticClass: \"app-navigation-entry-deleted\" }, [\n _c(\n \"div\",\n { staticClass: \"app-navigation-entry-deleted-description\" },\n [_vm._v(_vm._s(_vm.item.undo.text))]\n ),\n _vm._v(\" \"),\n _c(\"button\", {\n staticClass:\n \"app-navigation-entry-deleted-button icon-history\",\n attrs: { title: _vm.t(\"settings\", \"Undo\") }\n })\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.edit\n ? _c(\"div\", { staticClass: \"app-navigation-entry-edit\" }, [\n _c(\n \"form\",\n {\n on: {\n submit: function($event) {\n $event.preventDefault()\n $event.stopPropagation()\n return _vm.item.edit.action($event)\n }\n }\n },\n [\n _c(\"input\", {\n attrs: { placeholder: _vm.item.edit.text, type: \"text\" }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-close\",\n attrs: { type: \"submit\", value: \"\" },\n on: {\n click: function($event) {\n $event.stopPropagation()\n $event.preventDefault()\n return _vm.cancelEdit($event)\n }\n }\n })\n ]\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.children\n ? _c(\n \"ul\",\n _vm._l(_vm.item.children, function(item, key) {\n return _c(\"navigation-item\", {\n key: key,\n attrs: { item: item }\n })\n })\n )\n : _vm._e()\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"ul\",\n _vm._l(_vm.menu, function(item, key) {\n return _c(\"popover-menu-item\", { key: key, attrs: { item: item } })\n })\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", [\n _vm.item.href\n ? _c(\n \"a\",\n {\n attrs: {\n href: _vm.item.href ? _vm.item.href : \"#\",\n target: _vm.item.target ? _vm.item.target : \"\",\n rel: \"noreferrer noopener\"\n },\n on: {\n click: function($event) {\n $event.stopPropagation()\n $event.preventDefault()\n return _vm.item.action($event)\n }\n }\n },\n [\n _c(\"span\", { class: _vm.item.icon }),\n _vm._v(\" \"),\n _vm.item.text\n ? _c(\"span\", [_vm._v(_vm._s(_vm.item.text))])\n : _vm.item.longtext\n ? _c(\"p\", [_vm._v(_vm._s(_vm.item.longtext))])\n : _vm._e()\n ]\n )\n : _vm.item.input\n ? _c(\n \"span\",\n { staticClass: \"menuitem\" },\n [\n _vm.item.input !== \"checkbox\"\n ? _c(\"span\", { class: _vm.item.icon })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.input === \"text\"\n ? _c(\n \"form\",\n {\n class: _vm.item.input,\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.item.action($event)\n }\n }\n },\n [\n _c(\"input\", {\n attrs: {\n type: _vm.item.input,\n placeholder: _vm.item.text,\n required: \"\"\n },\n domProps: { value: _vm.item.value }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" }\n })\n ]\n )\n : [\n _vm.item.input === \"checkbox\"\n ? _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.item.model,\n expression: \"item.model\"\n }\n ],\n class: _vm.item.input,\n attrs: { id: _vm.key, type: \"checkbox\" },\n domProps: {\n checked: Array.isArray(_vm.item.model)\n ? _vm._i(_vm.item.model, null) > -1\n : _vm.item.model\n },\n on: {\n change: [\n function($event) {\n var $$a = _vm.item.model,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n _vm.item,\n \"model\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n _vm.item,\n \"model\",\n $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1))\n )\n }\n } else {\n _vm.$set(_vm.item, \"model\", $$c)\n }\n },\n _vm.item.action\n ]\n }\n })\n : _vm.item.input === \"radio\"\n ? _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.item.model,\n expression: \"item.model\"\n }\n ],\n class: _vm.item.input,\n attrs: { id: _vm.key, type: \"radio\" },\n domProps: { checked: _vm._q(_vm.item.model, null) },\n on: {\n change: [\n function($event) {\n _vm.$set(_vm.item, \"model\", null)\n },\n _vm.item.action\n ]\n }\n })\n : _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.item.model,\n expression: \"item.model\"\n }\n ],\n class: _vm.item.input,\n attrs: { id: _vm.key, type: _vm.item.input },\n domProps: { value: _vm.item.model },\n on: {\n change: _vm.item.action,\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.item, \"model\", $event.target.value)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: { for: _vm.key },\n on: {\n click: function($event) {\n $event.stopPropagation()\n $event.preventDefault()\n return _vm.item.action($event)\n }\n }\n },\n [_vm._v(_vm._s(_vm.item.text))]\n )\n ]\n ],\n 2\n )\n : _vm.item.action\n ? _c(\n \"button\",\n {\n on: {\n click: function($event) {\n $event.stopPropagation()\n $event.preventDefault()\n return _vm.item.action($event)\n }\n }\n },\n [\n _c(\"span\", { class: _vm.item.icon }),\n _vm._v(\" \"),\n _vm.item.text\n ? _c(\"span\", [_vm._v(_vm._s(_vm.item.text))])\n : _vm.item.longtext\n ? _c(\"p\", [_vm._v(_vm._s(_vm.item.longtext))])\n : _vm._e()\n ]\n )\n : _c(\"span\", { staticClass: \"menuitem\" }, [\n _c(\"span\", { class: _vm.item.icon }),\n _vm._v(\" \"),\n _vm.item.text\n ? _c(\"span\", [_vm._v(_vm._s(_vm.item.text))])\n : _vm.item.longtext\n ? _c(\"p\", [_vm._v(_vm._s(_vm.item.longtext))])\n : _vm._e()\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import { render, staticRenderFns } from \"./PopoverMenuItem.vue?vue&type=template&id=f05c0d0e&\"\nimport script from \"./PopoverMenuItem.vue?vue&type=script&lang=js&\"\nexport * from \"./PopoverMenuItem.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('f05c0d0e', component.options)\n } else {\n api.reload('f05c0d0e', component.options)\n }\n module.hot.accept(\"./PopoverMenuItem.vue?vue&type=template&id=f05c0d0e&\", function () {\n api.rerender('f05c0d0e', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/nextcloud-vue/src/components/PopoverMenu/PopoverMenuItem.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./PopoverMenu.vue?vue&type=template&id=2d40ba74&\"\nimport script from \"./PopoverMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./PopoverMenu.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('2d40ba74', component.options)\n } else {\n api.reload('2d40ba74', component.options)\n }\n module.hot.accept(\"./PopoverMenu.vue?vue&type=template&id=2d40ba74&\", function () {\n api.rerender('2d40ba74', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/nextcloud-vue/src/components/PopoverMenu/PopoverMenu.vue\"\nexport default component.exports","\n\n\n\n\n","import { render, staticRenderFns } from \"./AppNavigationItem.vue?vue&type=template&id=39b3464a&\"\nimport script from \"./AppNavigationItem.vue?vue&type=script&lang=js&\"\nexport * from \"./AppNavigationItem.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('39b3464a', component.options)\n } else {\n api.reload('39b3464a', component.options)\n }\n module.hot.accept(\"./AppNavigationItem.vue?vue&type=template&id=39b3464a&\", function () {\n api.rerender('39b3464a', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/nextcloud-vue/src/components/AppNavigation/AppNavigationItem.vue\"\nexport default component.exports","\n\n\n\n","import { render, staticRenderFns } from \"./AppNavigation.vue?vue&type=template&id=46a10728&\"\nimport script from \"./AppNavigation.vue?vue&type=script&lang=js&\"\nexport * from \"./AppNavigation.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('46a10728', component.options)\n } else {\n api.reload('46a10728', component.options)\n }\n module.hot.accept(\"./AppNavigation.vue?vue&type=template&id=46a10728&\", function () {\n api.rerender('46a10728', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/nextcloud-vue/src/components/AppNavigation/AppNavigation.vue\"\nexport default component.exports","\n\n\n\n\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport AppNavigation from './AppNavigation'\n\nexport default AppNavigation\nexport { AppNavigation }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport PopoverMenu from './PopoverMenu'\n\nexport default PopoverMenu\nexport { PopoverMenu }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport DatePicker from 'vue2-datepicker'\nimport './index.scss'\n\n/**\n * hijack the display function and avoid the\n * top and left original positionning\n */\nDatePicker.methods.displayPopup = function() {\n\tthis.$el\n\t\t.querySelector('.mx-datepicker-popup')\n\t\t.className += ' popovermenu menu-center open'\n}\n\nexport default DatePicker\nexport { DatePicker }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport * as NcComponents from './components'\n\nlet NcVueComponents = Vue => {\n\tObject.values(NcComponents).forEach((NcComponent) => {\n\t\tVue.use(NcComponent)\n\t})\n}\n\nNcVueComponents.version = '__VERSION__'\n\nexport default NcVueComponents\nexport * from './components'\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"user-list-grid\",\n attrs: { id: \"app-content\" },\n on: {\n \"&scroll\": function($event) {\n return _vm.onScroll($event)\n }\n }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"row\",\n class: { sticky: _vm.scrolled && !_vm.showConfig.showNewUserForm },\n attrs: { id: \"grid-header\" }\n },\n [\n _c(\"div\", { staticClass: \"avatar\", attrs: { id: \"headerAvatar\" } }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\", attrs: { id: \"headerName\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Username\")))\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"displayName\", attrs: { id: \"headerDisplayName\" } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Display name\")))]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"password\", attrs: { id: \"headerPassword\" } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Password\")))]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"mailAddress\", attrs: { id: \"headerAddress\" } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Email\")))]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"groups\", attrs: { id: \"headerGroups\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Groups\")))\n ]),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\n \"div\",\n { staticClass: \"subadmins\", attrs: { id: \"headerSubAdmins\" } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Group admin for\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"quota\", attrs: { id: \"headerQuota\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Quota\")))\n ]),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\n \"div\",\n { staticClass: \"languages\", attrs: { id: \"headerLanguages\" } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Language\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath\n ? _c(\n \"div\",\n { staticClass: \"headerStorageLocation storageLocation\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Storage location\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"headerUserBackend userBackend\" }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"User backend\")))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin\n ? _c(\"div\", { staticClass: \"headerLastLogin lastLogin\" }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Last login\")))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userActions\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"form\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showConfig.showNewUserForm,\n expression: \"showConfig.showNewUserForm\"\n }\n ],\n staticClass: \"row\",\n class: { sticky: _vm.scrolled && _vm.showConfig.showNewUserForm },\n attrs: { id: \"new-user\", disabled: _vm.loading.all },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.createUser($event)\n }\n }\n },\n [\n _c(\"div\", {\n class: _vm.loading.all ? \"icon-loading-small\" : \"icon-add\"\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.id,\n expression: \"newUser.id\"\n }\n ],\n attrs: {\n id: \"newusername\",\n type: \"text\",\n required: \"\",\n placeholder: _vm.t(\"settings\", \"Username\"),\n name: \"username\",\n autocomplete: \"off\",\n autocapitalize: \"none\",\n autocorrect: \"off\",\n pattern: \"[a-zA-Z0-9 _\\\\.@\\\\-']+\"\n },\n domProps: { value: _vm.newUser.id },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"id\", $event.target.value)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"displayName\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.displayName,\n expression: \"newUser.displayName\"\n }\n ],\n attrs: {\n id: \"newdisplayname\",\n type: \"text\",\n placeholder: _vm.t(\"settings\", \"Display name\"),\n name: \"displayname\",\n autocomplete: \"off\",\n autocapitalize: \"none\",\n autocorrect: \"off\"\n },\n domProps: { value: _vm.newUser.displayName },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"displayName\", $event.target.value)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"password\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.password,\n expression: \"newUser.password\"\n }\n ],\n attrs: {\n id: \"newuserpassword\",\n type: \"password\",\n required: _vm.newUser.mailAddress === \"\",\n placeholder: _vm.t(\"settings\", \"Password\"),\n name: \"password\",\n autocomplete: \"new-password\",\n autocapitalize: \"none\",\n autocorrect: \"off\",\n minlength: _vm.minPasswordLength\n },\n domProps: { value: _vm.newUser.password },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"password\", $event.target.value)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"mailAddress\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.mailAddress,\n expression: \"newUser.mailAddress\"\n }\n ],\n attrs: {\n id: \"newemail\",\n type: \"email\",\n required: _vm.newUser.password === \"\",\n placeholder: _vm.t(\"settings\", \"Email\"),\n name: \"email\",\n autocomplete: \"off\",\n autocapitalize: \"none\",\n autocorrect: \"off\"\n },\n domProps: { value: _vm.newUser.mailAddress },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"mailAddress\", $event.target.value)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"groups\" },\n [\n !_vm.settings.isAdmin\n ? _c(\"input\", {\n class: { \"icon-loading-small\": _vm.loading.groups },\n attrs: {\n type: \"text\",\n tabindex: \"-1\",\n id: \"newgroups\",\n required: !_vm.settings.isAdmin\n },\n domProps: { value: _vm.newUser.groups }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.canAddGroups,\n disabled: _vm.loading.groups || _vm.loading.all,\n \"tag-placeholder\": \"create\",\n placeholder: _vm.t(\"settings\", \"Add user in group\"),\n label: \"name\",\n \"track-by\": \"id\",\n multiple: true,\n taggable: true,\n \"close-on-select\": false\n },\n on: { tag: _vm.createGroup },\n model: {\n value: _vm.newUser.groups,\n callback: function($$v) {\n _vm.$set(_vm.newUser, \"groups\", $$v)\n },\n expression: \"newUser.groups\"\n }\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\n \"div\",\n { staticClass: \"subadmins\" },\n [\n _c(\n \"multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.subAdminsGroups,\n placeholder: _vm.t(\"settings\", \"Set user as admin for\"),\n label: \"name\",\n \"track-by\": \"id\",\n multiple: true,\n \"close-on-select\": false\n },\n model: {\n value: _vm.newUser.subAdminsGroups,\n callback: function($$v) {\n _vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)\n },\n expression: \"newUser.subAdminsGroups\"\n }\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"quota\" },\n [\n _c(\"multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.quotaOptions,\n placeholder: _vm.t(\"settings\", \"Select user quota\"),\n label: \"label\",\n \"track-by\": \"id\",\n allowEmpty: false,\n taggable: true\n },\n on: { tag: _vm.validateQuota },\n model: {\n value: _vm.newUser.quota,\n callback: function($$v) {\n _vm.$set(_vm.newUser, \"quota\", $$v)\n },\n expression: \"newUser.quota\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\n \"div\",\n { staticClass: \"languages\" },\n [\n _c(\"multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.languages,\n placeholder: _vm.t(\"settings\", \"Default language\"),\n label: \"name\",\n \"track-by\": \"code\",\n allowEmpty: false,\n \"group-values\": \"languages\",\n \"group-label\": \"label\"\n },\n model: {\n value: _vm.newUser.language,\n callback: function($$v) {\n _vm.$set(_vm.newUser, \"language\", $$v)\n },\n expression: \"newUser.language\"\n }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath\n ? _c(\"div\", { staticClass: \"storageLocation\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"userBackend\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin\n ? _c(\"div\", { staticClass: \"lastLogin\" })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userActions\" }, [\n _c(\"input\", {\n staticClass: \"button primary icon-checkmark-white has-tooltip\",\n attrs: {\n type: \"submit\",\n id: \"newsubmit\",\n value: \"\",\n title: _vm.t(\"settings\", \"Add a new user\")\n }\n })\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm._l(_vm.filteredUsers, function(user, key) {\n return _c(\"user-row\", {\n key: key,\n attrs: {\n user: user,\n settings: _vm.settings,\n showConfig: _vm.showConfig,\n groups: _vm.groups,\n subAdminsGroups: _vm.subAdminsGroups,\n quotaOptions: _vm.quotaOptions,\n languages: _vm.languages,\n externalActions: _vm.externalActions\n }\n })\n }),\n _vm._v(\" \"),\n _c(\n \"infinite-loading\",\n { ref: \"infiniteLoading\", on: { infinite: _vm.infiniteHandler } },\n [\n _c(\"div\", { attrs: { slot: \"spinner\" }, slot: \"spinner\" }, [\n _c(\"div\", { staticClass: \"users-icon-loading icon-loading\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { slot: \"no-more\" }, slot: \"no-more\" }, [\n _c(\"div\", { staticClass: \"users-list-end\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { slot: \"no-results\" }, slot: \"no-results\" }, [\n _c(\"div\", { attrs: { id: \"emptycontent\" } }, [\n _c(\"div\", { staticClass: \"icon-contacts-dark\" }),\n _vm._v(\" \"),\n _c(\"h2\", [_vm._v(_vm._s(_vm.t(\"settings\", \"No users in here\")))])\n ])\n ])\n ]\n )\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return Object.keys(_vm.user).length === 1\n ? _c(\"div\", { staticClass: \"row\", attrs: { \"data-id\": _vm.user.id } }, [\n _c(\n \"div\",\n {\n staticClass: \"avatar\",\n class: {\n \"icon-loading-small\": _vm.loading.delete || _vm.loading.disable\n }\n },\n [\n !_vm.loading.delete && !_vm.loading.disable\n ? _c(\"img\", {\n attrs: {\n alt: \"\",\n width: \"32\",\n height: \"32\",\n src: _vm.generateAvatar(_vm.user.id, 32),\n srcset:\n _vm.generateAvatar(_vm.user.id, 64) +\n \" 2x, \" +\n _vm.generateAvatar(_vm.user.id, 128) +\n \" 4x\"\n }\n })\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\" }, [_vm._v(_vm._s(_vm.user.id))]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"obfuscated\" }, [\n _vm._v(\n _vm._s(\n _vm.t(\n \"settings\",\n \"You do not have permissions to see the details of this user\"\n )\n )\n )\n ])\n ])\n : _c(\n \"div\",\n {\n staticClass: \"row\",\n class: { disabled: _vm.loading.delete || _vm.loading.disable },\n attrs: { \"data-id\": _vm.user.id }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"avatar\",\n class: {\n \"icon-loading-small\": _vm.loading.delete || _vm.loading.disable\n }\n },\n [\n !_vm.loading.delete && !_vm.loading.disable\n ? _c(\"img\", {\n attrs: {\n alt: \"\",\n width: \"32\",\n height: \"32\",\n src: _vm.generateAvatar(_vm.user.id, 32),\n srcset:\n _vm.generateAvatar(_vm.user.id, 64) +\n \" 2x, \" +\n _vm.generateAvatar(_vm.user.id, 128) +\n \" 4x\"\n }\n })\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\" }, [_vm._v(_vm._s(_vm.user.id))]),\n _vm._v(\" \"),\n _c(\n \"form\",\n {\n staticClass: \"displayName\",\n class: { \"icon-loading-small\": _vm.loading.displayName },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.updateDisplayName($event)\n }\n }\n },\n [\n _c(\"input\", {\n ref: \"displayName\",\n attrs: {\n id: \"displayName\" + _vm.user.id + _vm.rand,\n type: \"text\",\n disabled: _vm.loading.displayName || _vm.loading.all,\n autocomplete: \"new-password\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n spellcheck: \"false\"\n },\n domProps: { value: _vm.user.displayname }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" }\n })\n ]\n ),\n _vm._v(\" \"),\n _vm.settings.canChangePassword\n ? _c(\n \"form\",\n {\n staticClass: \"password\",\n class: { \"icon-loading-small\": _vm.loading.password },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.updatePassword($event)\n }\n }\n },\n [\n _c(\"input\", {\n ref: \"password\",\n attrs: {\n id: \"password\" + _vm.user.id + _vm.rand,\n type: \"password\",\n required: \"\",\n disabled: _vm.loading.password || _vm.loading.all,\n minlength: _vm.minPasswordLength,\n value: \"\",\n placeholder: _vm.t(\"settings\", \"New password\"),\n autocomplete: \"new-password\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n spellcheck: \"false\"\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" }\n })\n ]\n )\n : _c(\"div\"),\n _vm._v(\" \"),\n _c(\n \"form\",\n {\n staticClass: \"mailAddress\",\n class: { \"icon-loading-small\": _vm.loading.mailAddress },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.updateEmail($event)\n }\n }\n },\n [\n _c(\"input\", {\n ref: \"mailAddress\",\n attrs: {\n id: \"mailAddress\" + _vm.user.id + _vm.rand,\n type: \"email\",\n disabled: _vm.loading.mailAddress || _vm.loading.all,\n autocomplete: \"new-password\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n spellcheck: \"false\"\n },\n domProps: { value: _vm.user.email }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"groups\",\n class: { \"icon-loading-small\": _vm.loading.groups }\n },\n [\n _c(\n \"multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n value: _vm.userGroups,\n options: _vm.availableGroups,\n disabled: _vm.loading.groups || _vm.loading.all,\n \"tag-placeholder\": \"create\",\n placeholder: _vm.t(\"settings\", \"Add user in group\"),\n label: \"name\",\n \"track-by\": \"id\",\n limit: 2,\n multiple: true,\n taggable: _vm.settings.isAdmin,\n closeOnSelect: false\n },\n on: {\n tag: _vm.createGroup,\n select: _vm.addUserGroup,\n remove: _vm.removeUserGroup\n }\n },\n [\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.formatGroupsTitle(_vm.userGroups),\n expression: \"formatGroupsTitle(userGroups)\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"multiselect__limit\",\n attrs: { slot: \"limit\" },\n slot: \"limit\"\n },\n [_vm._v(\"+\" + _vm._s(_vm.userGroups.length - 2))]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\n \"div\",\n {\n staticClass: \"subadmins\",\n class: { \"icon-loading-small\": _vm.loading.subadmins }\n },\n [\n _c(\n \"multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n value: _vm.userSubAdminsGroups,\n options: _vm.subAdminsGroups,\n disabled: _vm.loading.subadmins || _vm.loading.all,\n placeholder: _vm.t(\"settings\", \"Set user as admin for\"),\n label: \"name\",\n \"track-by\": \"id\",\n limit: 2,\n multiple: true,\n closeOnSelect: false\n },\n on: {\n select: _vm.addUserSubAdmin,\n remove: _vm.removeUserSubAdmin\n }\n },\n [\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.formatGroupsTitle(\n _vm.userSubAdminsGroups\n ),\n expression:\n \"formatGroupsTitle(userSubAdminsGroups)\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"multiselect__limit\",\n attrs: { slot: \"limit\" },\n slot: \"limit\"\n },\n [\n _vm._v(\n \"+\" + _vm._s(_vm.userSubAdminsGroups.length - 2)\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.usedSpace,\n expression: \"usedSpace\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"quota\",\n class: { \"icon-loading-small\": _vm.loading.quota }\n },\n [\n _c(\"multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n value: _vm.userQuota,\n options: _vm.quotaOptions,\n disabled: _vm.loading.quota || _vm.loading.all,\n \"tag-placeholder\": \"create\",\n placeholder: _vm.t(\"settings\", \"Select user quota\"),\n label: \"label\",\n \"track-by\": \"id\",\n allowEmpty: false,\n taggable: true\n },\n on: { tag: _vm.validateQuota, input: _vm.setUserQuota }\n }),\n _vm._v(\" \"),\n _c(\"progress\", {\n staticClass: \"quota-user-progress\",\n class: { warn: _vm.usedQuota > 80 },\n attrs: { max: \"100\" },\n domProps: { value: _vm.usedQuota }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\n \"div\",\n {\n staticClass: \"languages\",\n class: { \"icon-loading-small\": _vm.loading.languages }\n },\n [\n _c(\"multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n value: _vm.userLanguage,\n options: _vm.languages,\n disabled: _vm.loading.languages || _vm.loading.all,\n placeholder: _vm.t(\"settings\", \"No language set\"),\n label: \"name\",\n \"track-by\": \"code\",\n allowEmpty: false,\n \"group-values\": \"languages\",\n \"group-label\": \"label\"\n },\n on: { input: _vm.setUserLanguage }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath\n ? _c(\"div\", { staticClass: \"storageLocation\" }, [\n _vm._v(_vm._s(_vm.user.storageLocation))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"userBackend\" }, [\n _vm._v(_vm._s(_vm.user.backend))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value:\n _vm.user.lastLogin > 0\n ? _vm.OC.Util.formatDate(_vm.user.lastLogin)\n : \"\",\n expression:\n \"user.lastLogin>0 ? OC.Util.formatDate(user.lastLogin) : ''\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"lastLogin\"\n },\n [\n _vm._v(\n \"\\n\\t\\t\" +\n _vm._s(\n _vm.user.lastLogin > 0\n ? _vm.OC.Util.relativeModifiedDate(_vm.user.lastLogin)\n : _vm.t(\"settings\", \"Never\")\n ) +\n \"\\n\\t\"\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userActions\" }, [\n _vm.OC.currentUser !== _vm.user.id &&\n _vm.user.id !== \"admin\" &&\n !_vm.loading.all\n ? _c(\"div\", { staticClass: \"toggleUserActions\" }, [\n _c(\"div\", {\n directives: [\n {\n name: \"click-outside\",\n rawName: \"v-click-outside\",\n value: _vm.hideMenu,\n expression: \"hideMenu\"\n }\n ],\n staticClass: \"icon-more\",\n on: { click: _vm.toggleMenu }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"popovermenu\",\n class: { open: _vm.openedMenu }\n },\n [_c(\"popover-menu\", { attrs: { menu: _vm.userActions } })],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"feedback\",\n style: { opacity: _vm.feedbackMessage !== \"\" ? 1 : 0 }\n },\n [\n _c(\"div\", { staticClass: \"icon-checkmark\" }),\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.feedbackMessage) + \"\\n\\t\\t\")\n ]\n )\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"ul\",\n _vm._l(_vm.menu, function(item, key) {\n return _c(\"popover-item\", { key: key, attrs: { item: item } })\n })\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", [\n _vm.item.href\n ? _c(\n \"a\",\n {\n attrs: {\n href: _vm.item.href ? _vm.item.href : \"#\",\n target: _vm.item.target ? _vm.item.target : \"\",\n rel: \"noreferrer noopener\"\n },\n on: { click: _vm.item.action }\n },\n [\n _c(\"span\", { class: _vm.item.icon }),\n _vm._v(\" \"),\n _vm.item.text\n ? _c(\"span\", [_vm._v(_vm._s(_vm.item.text))])\n : _vm.item.longtext\n ? _c(\"p\", [_vm._v(_vm._s(_vm.item.longtext))])\n : _vm._e()\n ]\n )\n : _vm.item.action\n ? _c(\"button\", { on: { click: _vm.item.action } }, [\n _c(\"span\", { class: _vm.item.icon }),\n _vm._v(\" \"),\n _vm.item.text\n ? _c(\"span\", [_vm._v(_vm._s(_vm.item.text))])\n : _vm.item.longtext\n ? _c(\"p\", [_vm._v(_vm._s(_vm.item.longtext))])\n : _vm._e()\n ])\n : _c(\"span\", { staticClass: \"menuitem\" }, [\n _c(\"span\", { class: _vm.item.icon }),\n _vm._v(\" \"),\n _vm.item.text\n ? _c(\"span\", [_vm._v(_vm._s(_vm.item.text))])\n : _vm.item.longtext\n ? _c(\"p\", [_vm._v(_vm._s(_vm.item.longtext))])\n : _vm._e()\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import { render, staticRenderFns } from \"./popoverItem.vue?vue&type=template&id=4c6af9e6&\"\nimport script from \"./popoverItem.vue?vue&type=script&lang=js&\"\nexport * from \"./popoverItem.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('4c6af9e6', component.options)\n } else {\n api.reload('4c6af9e6', component.options)\n }\n module.hot.accept(\"./popoverItem.vue?vue&type=template&id=4c6af9e6&\", function () {\n api.rerender('4c6af9e6', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/popoverMenu/popoverItem.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./popoverMenu.vue?vue&type=template&id=04ea21c4&\"\nimport script from \"./popoverMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./popoverMenu.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('04ea21c4', component.options)\n } else {\n api.reload('04ea21c4', component.options)\n }\n module.hot.accept(\"./popoverMenu.vue?vue&type=template&id=04ea21c4&\", function () {\n api.rerender('04ea21c4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/popoverMenu.vue\"\nexport default component.exports","\n\n\n\n\n\n","\n\n\n\n\n","import { render, staticRenderFns } from \"./userRow.vue?vue&type=template&id=d19586ce&\"\nimport script from \"./userRow.vue?vue&type=script&lang=js&\"\nexport * from \"./userRow.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('d19586ce', component.options)\n } else {\n api.reload('d19586ce', component.options)\n }\n module.hot.accept(\"./userRow.vue?vue&type=template&id=d19586ce&\", function () {\n api.rerender('d19586ce', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/userList/userRow.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./userList.vue?vue&type=template&id=40745299&\"\nimport script from \"./userList.vue?vue&type=script&lang=js&\"\nexport * from \"./userList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('40745299', component.options)\n } else {\n api.reload('40745299', component.options)\n }\n module.hot.accept(\"./userList.vue?vue&type=template&id=40745299&\", function () {\n api.rerender('40745299', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/userList.vue\"\nexport default component.exports","\n \n\n\n\n","/*\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport axios from 'axios';\n\nconst requestToken = document.getElementsByTagName('head')[0].getAttribute('data-requesttoken');\nconst tokenHeaders = { headers: { requesttoken: requestToken } };\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, ''); // Remove last url slash\n};\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * \taction(context) {\n\t *\t\treturn api.requireAdmin().then((response) => {\n\t *\t\t\treturn api.get('url')\n\t *\t\t\t\t.then((response) => {API success})\n\t *\t\t\t\t.catch((error) => {API failure});\n\t *\t\t}).catch((error) => {requireAdmin failure});\n\t *\t}\n\t * // vue\n\t *\tthis.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t * \n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t * \n\t * e.g\n\t *\tapi.requireAdmin().then((response) => {\n\t *\t\tapi.get('url')\n\t *\t\t\t.then((response) => {API success})\n\t *\t\t\t.catch((error) => {throw error;});\n\t *\t}).catch((error) => {requireAdmin OR API failure});\n\t * \n\t * @returns {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn new Promise(function(resolve, reject) {\n\t\t\t// TODO: migrate the OC.dialog to Vue and avoid this mess\n\t\t\t// wait for password confirmation\n\t\t\tlet passwordTimeout;\n\t\t\tlet waitForpassword = function() {\n\t\t\t\tif (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\t\t\t\tpasswordTimeout = setTimeout(waitForpassword, 500);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tclearTimeout(passwordTimeout);\n\t\t\t\tclearTimeout(promiseTimeout);\n\t\t\t\tresolve();\n\t\t\t};\n\n\t\t\t// automatically reject after 5s if not resolved\n\t\t\tlet promiseTimeout = setTimeout(() => {\n\t\t\t\tclearTimeout(passwordTimeout);\n\t\t\t\t// close dialog\n\t\t\t\tif (document.getElementsByClassName('oc-dialog-close').length>0) {\n\t\t\t\t\tdocument.getElementsByClassName('oc-dialog-close')[0].click();\n\t\t\t\t}\n\t\t\t\tOC.Notification.showTemporary(t('settings', 'You did not enter the password in time'));\n\t\t\t\treject('Password request cancelled');\n\t\t\t}, 7000); \n\n\t\t\t// request password\n\t\t\tOC.PasswordConfirmation.requirePasswordConfirmation();\n\t\t\twaitForpassword();\n\t\t});\n\t},\n\tget(url) {\n\t\treturn axios.get(sanitize(url), tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data, tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data, tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data, tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { data: data, headers: tokenHeaders.headers })\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t}\n};","\n\n\n\n\n","import { render, staticRenderFns } from \"./Users.vue?vue&type=template&id=68be103e&\"\nimport script from \"./Users.vue?vue&type=script&lang=js&\"\nexport * from \"./Users.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('68be103e', component.options)\n } else {\n api.reload('68be103e', component.options)\n }\n module.hot.accept(\"./Users.vue?vue&type=template&id=68be103e&\", function () {\n api.rerender('68be103e', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/views/Users.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"app-settings\",\n class: { \"with-app-sidebar\": _vm.currentApp },\n attrs: { id: \"content\" }\n },\n [\n _c(\"app-navigation\", { attrs: { menu: _vm.menu } }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"app-settings-content\",\n class: { \"icon-loading\": _vm.loadingList },\n attrs: { id: \"app-content\" }\n },\n [\n _c(\"app-list\", {\n attrs: {\n category: _vm.category,\n app: _vm.currentApp,\n search: _vm.searchQuery\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.id && _vm.currentApp\n ? _c(\n \"div\",\n { attrs: { id: \"app-sidebar\" } },\n [\n _c(\"app-details\", {\n attrs: { category: _vm.category, app: _vm.currentApp }\n })\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"app-content-inner\" } }, [\n _c(\n \"div\",\n {\n staticClass: \"apps-list\",\n class: {\n installed: _vm.useBundleView || _vm.useListView,\n store: _vm.useAppStoreView\n },\n attrs: { id: \"apps-list\" }\n },\n [\n _vm.useListView\n ? [\n _c(\n \"transition-group\",\n {\n staticClass: \"apps-list-container\",\n attrs: { name: \"app-list\", tag: \"div\" }\n },\n _vm._l(_vm.apps, function(app) {\n return _c(\"app-item\", {\n key: app.id,\n attrs: { app: app, category: _vm.category }\n })\n })\n )\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(_vm.bundles, function(bundle) {\n return _vm.useBundleView && _vm.bundleApps(bundle.id).length > 0\n ? [\n _c(\n \"transition-group\",\n {\n staticClass: \"apps-list-container\",\n attrs: { name: \"app-list\", tag: \"div\" }\n },\n [\n _c(\"div\", { key: bundle.id, staticClass: \"apps-header\" }, [\n _c(\"div\", { staticClass: \"app-image\" }),\n _vm._v(\" \"),\n _c(\"h2\", [\n _vm._v(_vm._s(bundle.name) + \" \"),\n _c(\"input\", {\n attrs: {\n type: \"button\",\n value: _vm.bundleToggleText(bundle.id)\n },\n on: {\n click: function($event) {\n _vm.toggleBundle(bundle.id)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-version\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-level\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-groups\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"actions\" }, [_vm._v(\" \")])\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.bundleApps(bundle.id), function(app) {\n return _c(\"app-item\", {\n key: bundle.id + app.id,\n attrs: { app: app, category: _vm.category }\n })\n })\n ],\n 2\n )\n ]\n : _vm._e()\n }),\n _vm._v(\" \"),\n _vm.useAppStoreView\n ? _vm._l(_vm.apps, function(app) {\n return _c(\"app-item\", {\n key: app.id,\n attrs: { app: app, category: _vm.category, \"list-view\": false }\n })\n })\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"apps-list installed\", attrs: { id: \"apps-list-search\" } },\n [\n _c(\n \"div\",\n { staticClass: \"apps-list-container\" },\n [\n _vm.search !== \"\" && _vm.searchApps.length > 0\n ? [\n _c(\"div\", { staticClass: \"section\" }, [\n _c(\"div\"),\n _vm._v(\" \"),\n _c(\"td\", { attrs: { colspan: \"5\" } }, [\n _c(\"h2\", [\n _vm._v(\n _vm._s(\n _vm.t(\"settings\", \"Results from other categories\")\n )\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.searchApps, function(app) {\n return _c(\"app-item\", {\n key: app.id,\n attrs: {\n app: app,\n category: _vm.category,\n \"list-view\": true\n }\n })\n })\n ]\n : _vm._e()\n ],\n 2\n )\n ]\n ),\n _vm._v(\" \"),\n !_vm.loading && _vm.searchApps.length === 0 && _vm.apps.length === 0\n ? _c(\n \"div\",\n {\n staticClass: \"emptycontent emptycontent-search\",\n attrs: { id: \"apps-list-empty\" }\n },\n [\n _c(\"div\", {\n staticClass: \"icon-settings-dark\",\n attrs: { id: \"app-list-empty-icon\" }\n }),\n _vm._v(\" \"),\n _c(\"h2\", [\n _vm._v(\n _vm._s(_vm.t(\"settings\", \"No apps found for your version\"))\n )\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"searchresults\" } })\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"section\",\n class: { selected: _vm.isSelected },\n on: { click: _vm.showAppDetails }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"app-image app-image-icon\",\n on: { click: _vm.showAppDetails }\n },\n [\n (_vm.listView && !_vm.app.preview) ||\n (!_vm.listView && !_vm.app.screenshot)\n ? _c(\"div\", { staticClass: \"icon-settings-dark\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.listView && _vm.app.preview\n ? _c(\n \"svg\",\n { attrs: { width: \"32\", height: \"32\", viewBox: \"0 0 32 32\" } },\n [\n _c(\"defs\", [\n _c(\n \"filter\",\n { attrs: { id: _vm.filterId } },\n [\n _c(\"feColorMatrix\", {\n attrs: {\n in: \"SourceGraphic\",\n type: \"matrix\",\n values: \"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"image\", {\n staticClass: \"app-icon\",\n attrs: {\n x: \"0\",\n y: \"0\",\n width: \"32\",\n height: \"32\",\n preserveAspectRatio: \"xMinYMin meet\",\n filter: _vm.filterUrl,\n \"xlink:href\": _vm.app.preview\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.listView && _vm.app.screenshot\n ? _c(\"img\", { attrs: { src: _vm.app.screenshot, width: \"100%\" } })\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"app-name\", on: { click: _vm.showAppDetails } },\n [_vm._v(\"\\n\\t\\t\" + _vm._s(_vm.app.name) + \"\\n\\t\")]\n ),\n _vm._v(\" \"),\n !_vm.listView\n ? _c(\"div\", { staticClass: \"app-summary\" }, [\n _vm._v(_vm._s(_vm.app.summary))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.listView\n ? _c(\"div\", { staticClass: \"app-version\" }, [\n _vm.app.version\n ? _c(\"span\", [_vm._v(_vm._s(_vm.app.version))])\n : _vm.app.appstoreData.releases[0].version\n ? _c(\"span\", [\n _vm._v(_vm._s(_vm.app.appstoreData.releases[0].version))\n ])\n : _vm._e()\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"app-level\" },\n [\n _vm.app.level === 200\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.t(\n \"settings\",\n \"Official apps are developed by and within the community. They offer central functionality and are ready for production use.\"\n ),\n expression:\n \"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"official icon-checkmark\"\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Official\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.listView\n ? _c(\"app-score\", { attrs: { score: _vm.app.score } })\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"actions\" }, [\n _vm.app.error\n ? _c(\"div\", { staticClass: \"warning\" }, [\n _vm._v(_vm._s(_vm.app.error))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.loading(_vm.app.id)\n ? _c(\"div\", { staticClass: \"icon icon-loading-small\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.update\n ? _c(\"input\", {\n staticClass: \"update\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Update to {update}\", {\n update: _vm.app.update\n }),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n $event.stopPropagation()\n _vm.update(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.canUnInstall\n ? _c(\"input\", {\n staticClass: \"uninstall\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Remove\"),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n $event.stopPropagation()\n _vm.remove(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.active\n ? _c(\"input\", {\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Disable\"),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n $event.stopPropagation()\n _vm.disable(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.active\n ? _c(\"input\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.enableButtonTooltip,\n expression: \"enableButtonTooltip\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.enableButtonText,\n disabled:\n !_vm.app.canInstall ||\n _vm.installing ||\n _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n $event.stopPropagation()\n _vm.enable(_vm.app.id)\n }\n }\n })\n : _vm._e()\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"img\", {\n staticClass: \"app-score-image\",\n attrs: { src: _vm.scoreImage }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import { render, staticRenderFns } from \"./appScore.vue?vue&type=template&id=71d71231&\"\nimport script from \"./appScore.vue?vue&type=script&lang=js&\"\nexport * from \"./appScore.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('71d71231', component.options)\n } else {\n api.reload('71d71231', component.options)\n }\n module.hot.accept(\"./appScore.vue?vue&type=template&id=71d71231&\", function () {\n api.rerender('71d71231', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appList/appScore.vue\"\nexport default component.exports","var render, staticRenderFns\nimport script from \"./appManagement.vue?vue&type=script&lang=js&\"\nexport * from \"./appManagement.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('1ae84938', component.options)\n } else {\n api.reload('1ae84938', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/appManagement.vue\"\nexport default component.exports","\n\n\n","var render, staticRenderFns\nimport script from \"./svgFilterMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./svgFilterMixin.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('66ac5316', component.options)\n } else {\n api.reload('66ac5316', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/svgFilterMixin.vue\"\nexport default component.exports","\n\n","import { render, staticRenderFns } from \"./appItem.vue?vue&type=template&id=1c68d544&\"\nimport script from \"./appItem.vue?vue&type=script&lang=js&\"\nexport * from \"./appItem.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('1c68d544', component.options)\n } else {\n api.reload('1c68d544', component.options)\n }\n module.hot.accept(\"./appItem.vue?vue&type=template&id=1c68d544&\", function () {\n api.rerender('1c68d544', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appList/appItem.vue\"\nexport default component.exports","\n\n\n\n\n","var render, staticRenderFns\nimport script from \"./prefixMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./prefixMixin.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('eb3bc8a2', component.options)\n } else {\n api.reload('eb3bc8a2', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/prefixMixin.vue\"\nexport default component.exports","\n\n","import { render, staticRenderFns } from \"./appList.vue?vue&type=template&id=a1862e02&\"\nimport script from \"./appList.vue?vue&type=script&lang=js&\"\nexport * from \"./appList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('a1862e02', component.options)\n } else {\n api.reload('a1862e02', component.options)\n }\n module.hot.accept(\"./appList.vue?vue&type=template&id=a1862e02&\", function () {\n api.rerender('a1862e02', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appList.vue\"\nexport default component.exports","\n\n\n\n\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticStyle: { padding: \"20px\" }, attrs: { id: \"app-details-view\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"close icon-close\",\n attrs: { href: \"#\" },\n on: { click: _vm.hideAppDetails }\n },\n [_c(\"span\", { staticClass: \"hidden-visually\" }, [_vm._v(\"Close\")])]\n ),\n _vm._v(\" \"),\n _c(\"h2\", [\n !_vm.app.preview\n ? _c(\"div\", { staticClass: \"icon-settings-dark\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.previewAsIcon && _vm.app.preview\n ? _c(\n \"svg\",\n { attrs: { width: \"32\", height: \"32\", viewBox: \"0 0 32 32\" } },\n [\n _c(\"defs\", [\n _c(\n \"filter\",\n { attrs: { id: _vm.filterId } },\n [\n _c(\"feColorMatrix\", {\n attrs: {\n in: \"SourceGraphic\",\n type: \"matrix\",\n values: \"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"image\", {\n staticClass: \"app-icon\",\n attrs: {\n x: \"0\",\n y: \"0\",\n width: \"32\",\n height: \"32\",\n preserveAspectRatio: \"xMinYMin meet\",\n filter: _vm.filterUrl,\n \"xlink:href\": _vm.app.preview\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.app.name))\n ]),\n _vm._v(\" \"),\n _vm.app.screenshot\n ? _c(\"img\", { attrs: { src: _vm.app.screenshot, width: \"100%\" } })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.level === 200 || _vm.hasRating\n ? _c(\n \"div\",\n { staticClass: \"app-level\" },\n [\n _vm.app.level === 200\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.t(\n \"settings\",\n \"Official apps are developed by and within the community. They offer central functionality and are ready for production use.\"\n ),\n expression:\n \"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"official icon-checkmark\"\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Official\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.hasRating\n ? _c(\"app-score\", {\n attrs: { score: _vm.app.appstoreData.ratingOverall }\n })\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.author\n ? _c(\n \"div\",\n { staticClass: \"app-author\" },\n [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.t(\"settings\", \"by\")) + \"\\n\\t\\t\"),\n _vm._l(_vm.author, function(a, index) {\n return _c(\"span\", [\n a[\"@attributes\"] && a[\"@attributes\"][\"homepage\"]\n ? _c(\n \"a\",\n { attrs: { href: a[\"@attributes\"][\"homepage\"] } },\n [_vm._v(_vm._s(a[\"@value\"]))]\n )\n : a[\"@value\"]\n ? _c(\"span\", [_vm._v(_vm._s(a[\"@value\"]))])\n : _c(\"span\", [_vm._v(_vm._s(a))]),\n index + 1 < _vm.author.length\n ? _c(\"span\", [_vm._v(\", \")])\n : _vm._e()\n ])\n })\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.licence\n ? _c(\"div\", { staticClass: \"app-licence\" }, [\n _vm._v(_vm._s(_vm.licence))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"actions\" }, [\n _c(\"div\", { staticClass: \"actions-buttons\" }, [\n _vm.app.update\n ? _c(\"input\", {\n staticClass: \"update\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Update to {version}\", {\n version: _vm.app.update\n }),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.canUnInstall\n ? _c(\"input\", {\n staticClass: \"uninstall\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Remove\"),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.remove(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.active\n ? _c(\"input\", {\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Disable\"),\n disabled: _vm.installing || _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.disable(_vm.app.id)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.active\n ? _c(\"input\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.enableButtonTooltip,\n expression: \"enableButtonTooltip\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.enableButtonText,\n disabled:\n !_vm.app.canInstall ||\n _vm.installing ||\n _vm.loading(_vm.app.id)\n },\n on: {\n click: function($event) {\n _vm.enable(_vm.app.id)\n }\n }\n })\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-groups\" }, [\n _vm.app.active && _vm.canLimitToGroups(_vm.app)\n ? _c(\n \"div\",\n { staticClass: \"groups-enable\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.groupCheckedAppsData,\n expression: \"groupCheckedAppsData\"\n }\n ],\n staticClass: \"groups-enable__checkbox checkbox\",\n attrs: {\n type: \"checkbox\",\n id: _vm.prefix(\"groups_enable\", _vm.app.id)\n },\n domProps: {\n value: _vm.app.id,\n checked: Array.isArray(_vm.groupCheckedAppsData)\n ? _vm._i(_vm.groupCheckedAppsData, _vm.app.id) > -1\n : _vm.groupCheckedAppsData\n },\n on: {\n change: [\n function($event) {\n var $$a = _vm.groupCheckedAppsData,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = _vm.app.id,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.groupCheckedAppsData = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.groupCheckedAppsData = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.groupCheckedAppsData = $$c\n }\n },\n _vm.setGroupLimit\n ]\n }\n }),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: _vm.prefix(\"groups_enable\", _vm.app.id) } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Limit to groups\")))]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"group_select\",\n attrs: {\n type: \"hidden\",\n title: _vm.t(\"settings\", \"All\"),\n value: \"\"\n }\n }),\n _vm._v(\" \"),\n _vm.isLimitedToGroups(_vm.app)\n ? _c(\n \"multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.groups,\n value: _vm.appGroups,\n \"options-limit\": 5,\n placeholder: _vm.t(\n \"settings\",\n \"Limit app usage to groups\"\n ),\n label: \"name\",\n \"track-by\": \"id\",\n multiple: true,\n \"close-on-select\": false\n },\n on: {\n select: _vm.addGroupLimitation,\n remove: _vm.removeGroupLimitation,\n \"search-change\": _vm.asyncFindGroup\n }\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n )\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : _vm._e()\n ])\n ]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"documentation\" }, [\n !_vm.app.internal\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.appstoreUrl,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"View in store\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.website\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.website,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Visit website\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.bugs\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.bugs,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Report a bug\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.user\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.user,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"User documentation\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.admin\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.admin,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Admin documentation\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.developer\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.developer,\n target: \"_blank\",\n rel: \"noreferrer noopener\"\n }\n },\n [\n _vm._v(\n _vm._s(_vm.t(\"settings\", \"Developer documentation\")) + \" ↗\"\n )\n ]\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"app-dependencies\" }, [\n _vm.app.missingMinOwnCloudVersion\n ? _c(\"li\", [\n _vm._v(\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app has no minimum Nextcloud version assigned. This will be an error in the future.\"\n )\n )\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.missingMaxOwnCloudVersion\n ? _c(\"li\", [\n _vm._v(\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app has no maximum Nextcloud version assigned. This will be an error in the future.\"\n )\n )\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.canInstall\n ? _c(\"li\", [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app cannot be installed because the following dependencies are not fulfilled:\"\n )\n ) +\n \"\\n\\t\\t\\t\"\n ),\n _c(\n \"ul\",\n { staticClass: \"missing-dependencies\" },\n _vm._l(_vm.app.missingDependencies, function(dep) {\n return _c(\"li\", [_vm._v(_vm._s(dep))])\n })\n )\n ])\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", {\n staticClass: \"app-description\",\n domProps: { innerHTML: _vm._s(_vm.renderMarkdown) }\n })\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import { render, staticRenderFns } from \"./appDetails.vue?vue&type=template&id=273c8e71&\"\nimport script from \"./appDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./appDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('273c8e71', component.options)\n } else {\n api.reload('273c8e71', component.options)\n }\n module.hot.accept(\"./appDetails.vue?vue&type=template&id=273c8e71&\", function () {\n api.rerender('273c8e71', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/appDetails.vue\"\nexport default component.exports","\n\n\n\n\n\n","import { render, staticRenderFns } from \"./Apps.vue?vue&type=template&id=33a216a8&\"\nimport script from \"./Apps.vue?vue&type=script&lang=js&\"\nexport * from \"./Apps.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/settings/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('33a216a8', component.options)\n } else {\n api.reload('33a216a8', component.options)\n }\n module.hot.accept(\"./Apps.vue?vue&type=template&id=33a216a8&\", function () {\n api.rerender('33a216a8', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/views/Apps.vue\"\nexport default component.exports","/*\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport Users from './views/Users';\nimport Apps from './views/Apps';\n\nVue.use(Router);\n\n/*\n * This is the list of routes where the vuejs app will\n * take over php to provide data\n * You need to forward the php routing (routes.php) to\n * the settings-vue template, where the vue-router will\n * ensure the proper route.\n * ⚠️ Routes needs to match the php routes.\n */\n\nexport default new Router({\n\tmode: 'history',\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: OC.generateUrl(''),\n\tlinkActiveClass: 'active',\n\troutes: [\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/users',\n\t\t\tcomponent: Users,\n\t\t\tprops: true,\n\t\t\tname: 'users',\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':selectedGroup',\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tcomponent: Users\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/apps',\n\t\t\tcomponent: Apps,\n\t\t\tprops: true,\n\t\t\tname: 'apps',\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':category',\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tcomponent: Apps,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: ':id',\n\t\t\t\t\t\t\tname: 'apps-details',\n\t\t\t\t\t\t\tcomponent: Apps\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t]\n});\n","/**\n * vuex v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\nvar applyMixin = function (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n};\n\nvar devtoolHook =\n typeof window !== 'undefined' &&\n window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array} cache\n * @return {*}\n */\n\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n this._children = Object.create(null);\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n if (!parent.getChild(key).runtime) { return }\n\n parent.removeChild(key);\n};\n\nfunction update (path, targetModule, newModule) {\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"Store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n var state = options.state; if ( state === void 0 ) state = {};\n if (typeof state === 'function') {\n state = state() || {};\n }\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n if (Vue.config.devtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nprototypeAccessors.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors.state.set = function (v) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, \"Use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n this._subscribers.forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n process.env.NODE_ENV !== 'production' &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n this._actionSubscribers.forEach(function (sub) { return sub(action, this$1.state); });\n\n return entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload)\n};\n\nStore.prototype.subscribe = function subscribe (fn) {\n return genericSubscribe(fn, this._subscribers)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn) {\n return genericSubscribe(fn, this._actionSubscribers)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\nfunction genericSubscribe (fn, subs) {\n if (subs.indexOf(fn) < 0) {\n subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n computed[key] = function () { return fn(store); };\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n var gettersProxy = {};\n\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n\n return gettersProxy\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload, cb) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload, cb);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if (process.env.NODE_ENV !== 'production') {\n assert(store._committing, \"Do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.length\n ? path.reduce(function (state, key) { return state[key]; }, state)\n : state\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof type === 'string', (\"Expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (process.env.NODE_ENV !== 'production' && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\nfunction normalizeMap (map) {\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (process.env.NODE_ENV !== 'production' && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\nvar index_esm = {\n Store: Store,\n install: install,\n version: '3.0.1',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers\n};\n\nexport { Store, install, mapState, mapMutations, mapGetters, mapActions, createNamespacedHelpers };\nexport default index_esm;\n","/*\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api';\n\nconst orderGroups = function(groups, orderBy) {\n\t/* const SORT_USERCOUNT = 1;\n\t * const SORT_GROUPNAME = 2;\n\t * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n\t */\n\tif (orderBy === 1) {\n\t\treturn groups.sort((a, b) => a.usercount-a.disabled < b.usercount - b.disabled);\n\t} else {\n\t\treturn groups.sort((a, b) => a.name.localeCompare(b.name));\n\t}\n};\n\nconst defaults = {\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0,\n\t\tcanAdd: true,\n\t\tcanRemove: true\n\t}\n};\n\nconst state = {\n\tusers: [],\n\tgroups: [],\n\torderBy: 1,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tuserCount: 0\n};\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\t// convert obj to array\n\t\tlet users = state.users.concat(Object.keys(usersObj).map(userid => usersObj[userid]));\n\t\tstate.usersOffset += state.usersLimit;\n\t\tstate.users = users;\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length!=='' ? length : 0;\n\t},\n\tinitGroups(state, {groups, orderBy, userCount}) {\n\t\tstate.groups = groups.map(group => Object.assign({}, defaults.group, group));\n\t\tstate.orderBy = orderBy;\n\t\tstate.userCount = userCount;\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t\t\n\t},\n\taddGroup(state, {gid, displayName}) {\n\t\ttry {\n\t\t\tif (typeof state.groups.find((group) => group.id === gid) !== 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// extend group to default values\n\t\t\tlet group = Object.assign({}, defaults.group, {\n\t\t\t\tid: gid,\n\t\t\t\tname: displayName,\n\t\t\t});\n\t\t\tstate.groups.push(group);\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t\t} catch (e) {\n\t\t\tconsole.log('Can\\'t create group', e);\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tlet groupIndex = state.groups.findIndex(groupSearch => groupSearch.id == gid);\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1);\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tlet group = state.groups.find(groupSearch => groupSearch.id == gid);\n\t\tlet user = state.users.find(user => user.id == userid);\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled) {\n\t\t\tgroup.usercount++; \n\t\t}\n\t\tlet groups = user.groups;\n\t\tgroups.push(gid);\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tlet group = state.groups.find(groupSearch => groupSearch.id == gid);\n\t\tlet user = state.users.find(user => user.id == userid);\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled) {\n\t\t\tgroup.usercount--;\n\t\t}\n\t\tlet groups = user.groups;\n\t\tgroups.splice(groups.indexOf(gid),1);\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tlet groups = state.users.find(user => user.id == userid).subadmin;\n\t\tgroups.push(gid);\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tlet groups = state.users.find(user => user.id == userid).subadmin;\n\t\tgroups.splice(groups.indexOf(gid),1);\n\t},\n\tdeleteUser(state, userid) {\n\t\tlet userIndex = state.users.findIndex(user => user.id == userid);\n\t\tstate.users.splice(userIndex, 1);\n\t},\n\taddUserData(state, response) {\n\t\tstate.users.push(response.data.ocs.data);\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tlet user = state.users.find(user => user.id == userid);\n\t\tuser.enabled = enabled;\n\t\t// increment or not\n\t\tstate.groups.find(group => group.id == 'disabled').usercount += enabled ? -1 : 1;\n\t\tstate.userCount += enabled ? 1 : -1;\n\t\tuser.groups.forEach(group => {\n\t\t\t// Increment disabled count\n\t\t\tstate.groups.find(groupSearch => groupSearch.id == group).disabled += enabled ? -1 : 1;\n\t\t});\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tlet humanValue = OC.Util.computerFileSize(value);\n\t\t\tstate.users.find(user => user.id == userid)[key][key] = humanValue!==null ? humanValue : value;\n\t\t} else {\n\t\t\tstate.users.find(user => user.id == userid)[key] = value;\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t */\n\tresetUsers(state) {\n\t\tstate.users = [];\n\t\tstate.usersOffset = 0;\n\t}\n};\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users;\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups;\n\t},\n\tgetSubadminGroups(state) {\n\t\t// Can't be subadmin of admin or disabled\n\t\treturn state.groups.filter(group => group.id !== 'admin' && group.id !== 'disabled');\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength;\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset;\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit;\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount;\n\t}\n};\n\nconst actions = {\n\n\t/**\n\t * Get all users with full details\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @returns {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\tgroup = typeof group === 'string' ? group : '';\n\t\tif (group !== '') {\n\t\t\treturn api.get(OC.linkToOCS(`cloud/groups/${group}/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t\t}\n\n\t\treturn api.get(OC.linkToOCS(`cloud/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\tlet limitParam = limit === -1 ? '' : `&limit=${limit}`;\n\t\treturn api.get(OC.linkToOCS(`cloud/groups?offset=${offset}&search=${search}${limitParam}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', {gid: group, displayName: group});\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n\t/**\n\t * Get all users with full details\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @returns {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\treturn api.get(OC.linkToOCS(`cloud/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @returns {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(OC.linkToOCS(`cloud/users/${groupid}/details?offset=${offset}&limit=${limit}`, 2))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\t\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif(oc_capabilities.password_policy && oc_capabilities.password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', oc_capabilities.password_policy.minLength);\n\t\t\treturn oc_capabilities.password_policy.minLength;\n\t\t}\n\t\treturn false;\n\t},\n\n\t/**\n\t * Add group\n\t * \n\t * @param {Object} context\n\t * @param {string} gid Group id\n\t * @returns {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/groups`, 2), {groupid: gid})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('addGroup', {gid: gid, displayName: gid})\n\t\t\t\t\treturn {gid: gid, displayName: gid}\n\t\t\t\t})\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error });\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error;\n\t\t});\n\t},\n\n\t/**\n\t * Remove group\n\t * \n\t * @param {Object} context\n\t * @param {string} gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/groups/${gid}`, 2))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }));\n\t},\n\n\t/**\n\t * Add user to group\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/users/${userid}/groups`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Remove user from group\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/users/${userid}/groups`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error });\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error; \n\t\t});\n\t},\n\n\t/**\n\t * Add user to group admin\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/users/${userid}/subadmins`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/users/${userid}/subadmins`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Delete a user\n\t * \n\t * @param {Object} context\n\t * @param {string} userid User id \n\t * @returns {Promise}\n\t */\n\tdeleteUser(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/users/${userid}`, 2))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Add a user\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password\n\t * @param {string} options.displayName User display name\n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @returns {Promise}\n\t */\n\taddUser({commit, dispatch}, { userid, password, displayName, email, groups, subadmin, quota, language }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/users`, 2), { userid, password, displayName, email, groups, subadmin, quota, language })\n\t\t\t\t.then((response) => dispatch('addUserData', userid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t * \n\t * @param {Object} context\n\t * @param {string} userid User id \n\t * @returns {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(OC.linkToOCS(`cloud/users/${userid}`, 2))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/** Enable or disable user \n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @returns {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tlet userStatus = enabled ? 'enable' : 'disable';\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(OC.linkToOCS(`cloud/users/${userid}/${userStatus}`, 2))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Edit user data\n\t * \n\t * @param {Object} context \n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @returns {Promise}\n\t */\n\tsetUserData(context, { userid, key, value }) {\n\t\tlet allowedEmpty = ['email', 'displayname'];\n\t\tif (['email', 'language', 'quota', 'displayname', 'password'].indexOf(key) !== -1) {\n\t\t\t// We allow empty email or displayname\n\t\t\tif (typeof value === 'string' &&\n\t\t\t\t(\n\t\t\t\t\t(allowedEmpty.indexOf(key) === -1 && value.length > 0) ||\n\t\t\t\t\tallowedEmpty.indexOf(key) !== -1\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn api.requireAdmin().then((response) => {\n\t\t\t\t\treturn api.put(OC.linkToOCS(`cloud/users/${userid}`, 2), { key: key, value: value })\n\t\t\t\t\t\t.then((response) => context.commit('setUserData', { userid, key, value }))\n\t\t\t\t\t\t.catch((error) => {throw error;});\n\t\t\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t\t\t}\n\t\t}\n\t\treturn Promise.reject(new Error('Invalid request data'));\n\t},\n\n\t/**\n\t * Send welcome mail\n\t * \n\t * @param {Object} context\n\t * @param {string} userid User id \n\t * @returns {Promise}\n\t */\n\tsendWelcomeMail(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/users/${userid}/welcome`, 2))\n\t\t\t\t.then(response => true)\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t}\n};\n\nexport default { state, mutations, getters, actions };\n","/*\n * @copyright Copyright (c) 2018 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api';\nimport axios from 'axios/index';\nimport Vue from 'vue';\n\nconst state = {\n\tapps: [],\n\tcategories: [],\n\tupdateCount: 0,\n\tloading: {},\n\tloadingList: false,\n};\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tOC.Notification.showHtml(t('settings','An error occured during the request. Unable to proceed.')+'
'+error.error.response.data.data.message, {timeout: 7});\n\t\tconsole.log(state, error);\n\t},\n\n\tinitCategories(state, {categories, updateCount}) {\n\t\tstate.categories = categories;\n\t\tstate.updateCount = updateCount;\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount;\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category);\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray;\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps;\n\t},\n\n\tsetError(state, {appId, error}) {\n\t\tif (!Array.isArray(appId)) {\n\t\t\tappId = [appId];\n\t\t}\n\t\tappId.forEach((_id) => {\n\t\t\tlet app = state.apps.find(app => app.id === _id);\n\t\t\tapp.error = error;\n\t\t});\n\t},\n\n\tclearError(state, {appId, error}) {\n\t\tlet app = state.apps.find(app => app.id === appId);\n\t\tapp.error = null;\n\t},\n\n\tenableApp(state, {appId, groups}) {\n\t\tlet app = state.apps.find(app => app.id === appId);\n\t\tapp.active = true;\n\t\tapp.groups = groups;\n\t},\n\n\tdisableApp(state, appId) {\n\t\tlet app = state.apps.find(app => app.id === appId);\n\t\tapp.active = false;\n\t\tapp.groups = [];\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true;\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false;\n\t\tstate.apps.find(app => app.id === appId).groups = [];\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true;\n\t\tstate.apps.find(app => app.id === appId).installed = false;\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false;\n\t\tstate.apps.find(app => app.id === appId).canInstall = true;\n\t},\n\n\tupdateApp(state, appId) {\n\t\tlet app = state.apps.find(app => app.id === appId);\n\t\tlet version = app.update;\n\t\tapp.update = null;\n\t\tapp.version = version;\n\t\tstate.updateCount--;\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = [];\n\t},\n\treset(state) {\n\t\tstate.apps = [];\n\t\tstate.categories = [];\n\t\tstate.updateCount = 0;\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true);\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true);\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false);\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false);\n\t\t}\n\t},\n};\n\nconst getters = {\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id];\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories;\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps;\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount;\n\t}\n};\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps;\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId;\n\t\t} else {\n\t\t\tapps = [appId];\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps);\n\t\t\tcontext.commit('startLoading', 'install');\n\t\t\treturn api.post(OC.generateUrl(`settings/apps/enable`), {appIds: apps, groups: groups})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps);\n\t\t\t\t\tcontext.commit('stopLoading', 'install');\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('enableApp', {appId: _appId, groups: groups});\n\t\t\t\t\t});\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn api.get(OC.generateUrl('apps/files'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tOC.dialogs.info(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tt('settings','App update'),\n\t\t\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload();\n\t\t\t\t\t\t\t\t}, 5000);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app can not be enabled because it makes the server unstable')\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps);\n\t\t\t\t\tcontext.commit('stopLoading', 'install');\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message\n\t\t\t\t\t});\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error});\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }));\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps;\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId;\n\t\t} else {\n\t\t\tapps = [appId];\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps);\n\t\t\treturn api.post(OC.generateUrl(`settings/apps/disable`), {appIds: apps})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps);\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId);\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps);\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }));\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId);\n\t\t\treturn api.get(OC.generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId);\n\t\t\t\t\tcontext.commit('uninstallApp', appId);\n\t\t\t\t\treturn true;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId);\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }));\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId);\n\t\t\tcontext.commit('startLoading', 'install');\n\t\t\treturn api.get(OC.generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install');\n\t\t\t\t\tcontext.commit('stopLoading', appId);\n\t\t\t\t\tcontext.commit('updateApp', appId);\n\t\t\t\t\treturn true;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId);\n\t\t\t\t\tcontext.commit('stopLoading', 'install');\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }));\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list');\n\t\treturn api.get(OC.generateUrl(`settings/apps/list`))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps);\n\t\t\t\tcontext.commit('stopLoading', 'list');\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetCategories(context) {\n\t\tcontext.commit('startLoading', 'categories');\n\t\treturn api.get(OC.generateUrl('settings/apps/categories'))\n\t\t\t.then((response) => {\n\t\t\t\tif (response.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', response.data);\n\t\t\t\t\tcontext.commit('stopLoading', 'categories');\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n};\n\nexport default { state, mutations, getters, actions };","/*\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api';\n\nconst state = {\n\tserverData: {}\n};\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data;\n\t}\n};\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData;\n\t}\n};\nconst actions = {};\n\nexport default {state, mutations, getters, actions};\n","/*\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api';\n\nconst state = {};\nconst mutations = {};\nconst getters = {};\nconst actions = {\n\t/**\n * Set application config in database\n * \n\t * @param {Object} context\n * @param {Object} options\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @returns{Promise}\n\t */\n\tsetAppConfig(context, {app, key, value}) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`apps/provisioning_api/api/v1/config/apps/${app}/${key}`, 2), {value: value})\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }));;\n }\n};\n\nexport default {state, mutations, getters, actions};\n","/*\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue';\nimport Vuex from 'vuex';\nimport users from './users';\nimport apps from './apps';\nimport settings from './settings';\nimport oc from './oc';\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production';\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tlet message = error.error.response.data.ocs.meta.message;\n\t\t\tOC.Notification.showHtml(t('settings','An error occured during the request. Unable to proceed.')+'
'+message, {timeout: 7});\n\t\t} catch(e) {\n\t\t\tOC.Notification.showTemporary(t('settings','An error occured during the request. Unable to proceed.'));\n\t\t}\n\t\tconsole.log(state, error);\n\t}\n};\n\nexport default new Vuex.Store({\n\tmodules: {\n\t\tusers,\n\t\tapps,\n\t\tsettings,\n\t\toc\n\t},\n\tstrict: debug,\n\n\tmutations\n});\n","/*\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue';\nimport { sync } from 'vuex-router-sync';\nimport App from './App.vue';\nimport router from './router';\nimport store from './store';\nrequire(\"babel-polyfill\");\n\n\nsync(store, router);\n\n// bind to window\nVue.prototype.t = t;\nVue.prototype.OC = OC;\nVue.prototype.OCA = OCA;\nVue.prototype.oc_userconfig = oc_userconfig;\nVue.prototype.oc_current_user = oc_current_user;\n\nconst app = new Vue({\n\trouter,\n\tstore,\n\trender: h => h(App)\n}).$mount('#content');\n\nexport { app, router, store };","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of