From 2159d55d36616eb6764d9b2233fd7e6d2eaef63a Mon Sep 17 00:00:00 2001 From: botsito Date: Fri, 17 Jul 2020 11:23:17 +0000 Subject: [PATCH] Auto build for lesspass-pure --- packages/lesspass-pure/dist/lesspass.min.js | 2 +- packages/lesspass-pure/dist/lesspass.min.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/lesspass-pure/dist/lesspass.min.js b/packages/lesspass-pure/dist/lesspass.min.js index 69d475d..b426ae3 100644 --- a/packages/lesspass-pure/dist/lesspass.min.js +++ b/packages/lesspass-pure/dist/lesspass.min.js @@ -5,7 +5,7 @@ * @author Feross Aboukhadijeh * @license MIT */ -t.exports=function(t){return null!=t&&null!=t.constructor&&"function"===typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}},2488:function(t,e,n){(function(){var e=function(t,n){var i=this;e.count=(e.count||0)+1,this.count=e.count,this.isOpened=!1,this.input=o(t),this.input.setAttribute("autocomplete","off"),this.input.setAttribute("aria-expanded","false"),this.input.setAttribute("aria-owns","awesomplete_list_"+this.count),this.input.setAttribute("role","combobox"),this.options=n=n||{},r(this,{minChars:2,maxItems:10,autoFirst:!1,data:e.DATA,filter:e.FILTER_CONTAINS,sort:!1!==n.sort&&e.SORT_BYLENGTH,container:e.CONTAINER,item:e.ITEM,replace:e.REPLACE,tabSelect:!1},n),this.index=-1,this.container=this.container(t),this.ul=o.create("ul",{hidden:"hidden",role:"listbox",id:"awesomplete_list_"+this.count,inside:this.container}),this.status=o.create("span",{className:"visually-hidden",role:"status","aria-live":"assertive","aria-atomic":!0,inside:this.container,textContent:0!=this.minChars?"Type "+this.minChars+" or more characters for results.":"Begin typing for results."}),this._events={input:{input:this.evaluate.bind(this),blur:this.close.bind(this,{reason:"blur"}),keydown:function(t){var e=t.keyCode;i.opened&&(13===e&&i.selected?(t.preventDefault(),i.select(void 0,void 0,t)):9===e&&i.selected&&i.tabSelect?i.select(void 0,void 0,t):27===e?i.close({reason:"esc"}):38!==e&&40!==e||(t.preventDefault(),i[38===e?"previous":"next"]()))}},form:{submit:this.close.bind(this,{reason:"submit"})},ul:{mousedown:function(t){t.preventDefault()},click:function(t){var e=t.target;if(e!==this){while(e&&!/li/i.test(e.nodeName))e=e.parentNode;e&&0===t.button&&(t.preventDefault(),i.select(e,t.target,t))}}}},o.bind(this.input,this._events.input),o.bind(this.input.form,this._events.form),o.bind(this.ul,this._events.ul),this.input.hasAttribute("list")?(this.list="#"+this.input.getAttribute("list"),this.input.removeAttribute("list")):this.list=this.input.getAttribute("data-list")||n.list||[],e.all.push(this)};function n(t){var e=Array.isArray(t)?{label:t[0],value:t[1]}:"object"===typeof t&&"label"in t&&"value"in t?t:{label:t,value:t};this.label=e.label||e.value,this.value=e.value}function r(t,e,n){for(var r in e){var i=e[r],o=t.input.getAttribute("data-"+r.toLowerCase());"number"===typeof i?t[r]=parseInt(o):!1===i?t[r]=null!==o:i instanceof Function?t[r]=null:t[r]=o,t[r]||0===t[r]||(t[r]=r in n?n[r]:i)}}e.prototype={set list(t){if(Array.isArray(t))this._list=t;else if("string"===typeof t&&t.indexOf(",")>-1)this._list=t.split(/\s*,\s*/);else if(t=o(t),t&&t.children){var e=[];i.apply(t.children).forEach((function(t){if(!t.disabled){var n=t.textContent.trim(),r=t.value||n,i=t.label||n;""!==r&&e.push({label:i,value:r})}})),this._list=e}document.activeElement===this.input&&this.evaluate()},get selected(){return this.index>-1},get opened(){return this.isOpened},close:function(t){this.opened&&(this.input.setAttribute("aria-expanded","false"),this.ul.setAttribute("hidden",""),this.isOpened=!1,this.index=-1,this.status.setAttribute("hidden",""),o.fire(this.input,"awesomplete-close",t||{}))},open:function(){this.input.setAttribute("aria-expanded","true"),this.ul.removeAttribute("hidden"),this.isOpened=!0,this.status.removeAttribute("hidden"),this.autoFirst&&-1===this.index&&this.goto(0),o.fire(this.input,"awesomplete-open")},destroy:function(){if(o.unbind(this.input,this._events.input),o.unbind(this.input.form,this._events.form),!this.options.container){var t=this.container.parentNode;t.insertBefore(this.input,this.container),t.removeChild(this.container)}this.input.removeAttribute("autocomplete"),this.input.removeAttribute("aria-autocomplete");var n=e.all.indexOf(this);-1!==n&&e.all.splice(n,1)},next:function(){var t=this.ul.children.length;this.goto(this.index-1&&e.length>0&&(e[t].setAttribute("aria-selected","true"),this.status.textContent=e[t].textContent+", list item "+(t+1)+" of "+e.length,this.input.setAttribute("aria-activedescendant",this.ul.id+"_item_"+this.index),this.ul.scrollTop=e[t].offsetTop-this.ul.clientHeight+e[t].clientHeight,o.fire(this.input,"awesomplete-highlight",{text:this.suggestions[this.index]}))},select:function(t,e,n){if(t?this.index=o.siblingIndex(t):t=this.ul.children[this.index],t){var r=this.suggestions[this.index],i=o.fire(this.input,"awesomplete-select",{text:r,origin:e||t,originalEvent:n});i&&(this.replace(r),this.close({reason:"select"}),o.fire(this.input,"awesomplete-selectcomplete",{text:r,originalEvent:n}))}},evaluate:function(){var t=this,e=this.input.value;e.length>=this.minChars&&this._list&&this._list.length>0?(this.index=-1,this.ul.innerHTML="",this.suggestions=this._list.map((function(r){return new n(t.data(r,e))})).filter((function(n){return t.filter(n,e)})),!1!==this.sort&&(this.suggestions=this.suggestions.sort(this.sort)),this.suggestions=this.suggestions.slice(0,this.maxItems),this.suggestions.forEach((function(n,r){t.ul.appendChild(t.item(n,e,r))})),0===this.ul.children.length?(this.status.textContent="No results found",this.close({reason:"nomatches"})):(this.open(),this.status.textContent=this.ul.children.length+" results found")):(this.close({reason:"nomatches"}),this.status.textContent="No results found")}},e.all=[],e.FILTER_CONTAINS=function(t,e){return RegExp(o.regExpEscape(e.trim()),"i").test(t)},e.FILTER_STARTSWITH=function(t,e){return RegExp("^"+o.regExpEscape(e.trim()),"i").test(t)},e.SORT_BYLENGTH=function(t,e){return t.length!==e.length?t.length-e.length:t$&");return o.create("li",{innerHTML:r,role:"option","aria-selected":"false",id:"awesomplete_list_"+this.count+"_item_"+n})},e.REPLACE=function(t){this.input.value=t.value},e.DATA=function(t){return t},Object.defineProperty(n.prototype=Object.create(String.prototype),"length",{get:function(){return this.label.length}}),n.prototype.toString=n.prototype.valueOf=function(){return""+this.label};var i=Array.prototype.slice;function o(t,e){return"string"===typeof t?(e||document).querySelector(t):t||null}function a(t,e){return i.call((e||document).querySelectorAll(t))}function s(){a("input.awesomplete").forEach((function(t){new e(t)}))}o.create=function(t,e){var n=document.createElement(t);for(var r in e){var i=e[r];if("inside"===r)o(i).appendChild(n);else if("around"===r){var a=o(i);a.parentNode.insertBefore(n,a),n.appendChild(a),null!=a.getAttribute("autofocus")&&a.focus()}else r in n?n[r]=i:n.setAttribute(r,i)}return n},o.bind=function(t,e){if(t)for(var n in e){var r=e[n];n.split(/\s+/).forEach((function(e){t.addEventListener(e,r)}))}},o.unbind=function(t,e){if(t)for(var n in e){var r=e[n];n.split(/\s+/).forEach((function(e){t.removeEventListener(e,r)}))}},o.fire=function(t,e,n){var r=document.createEvent("HTMLEvents");for(var i in r.initEvent(e,!0,!0),n)r[i]=n[i];return t.dispatchEvent(r)},o.regExpEscape=function(t){return t.replace(/[-\\^$*+?.()|[\]{}]/g,"\\$&")},o.siblingIndex=function(t){for(var e=0;t=t.previousElementSibling;e++);return e},"undefined"!==typeof self&&(self.Awesomplete=e),"undefined"!==typeof Document&&("loading"!==document.readyState?s():document.addEventListener("DOMContentLoaded",s)),e.$=o,e.$$=a,t.exports&&(t.exports=e)})()},2508:function(t){t.exports=JSON.parse('{"Copied":"Kopiert!","Counter":"Zähler","CounterFieldHelp":"Erhöhen Sie diesen Wert, um das zu erstellende Passwort zu ändern, ohne Ihr Masterpasswort zu ändern.","CreatePassword":"Möchten Sie eines erstellen?","DBNotRunning":"Ihre LessPass Datenbank läuft nicht","Email":"email","EmailAlreadyExist":"Diese email-Adresse ist bereits registriert. Möchten Sie sich einloggen oder Ihr Passwort wiederherstellen?","EmailInvalid":"Bitte geben Sie eine gültige email-Adresse ein","EmailRequiredError":"Wir benötigen eine email-Adresse, um Ihr Konto zu finden.","Encrypt my master password":"Verschlüssele mein Masterpasswort","ForgotPassword":"Passwort vergessen?","Generate":"Erstelle","Length":"Länge","LengthDeprecationWarning":"Die maximale Länge eines Passwortes beträgt 35 Zeichen.","LessPass Database Url":"LessPass Datenbank Url","Login":"Login","LoginFormInvalid":"LessPass URL, email-Adresse und Passwort sind obligatorisch","LoginIncorrectError":"Die email-Adresse und das Passwort, die Sie eingegeben haben, entsprechen nicht unseren Daten. Bitte überprüfen Sie sie und versuchen es nochmal.","Master Password":"Masterpasswort","Next":"Nächste","NoMatchFor":"Ups! Dafür gibt es keine Übereinstimmung","NoPassword":"Sie haben kein Passwort-Profil in Ihrer Datenbank gespeichert.","Options":"Optionen","Options by default":"Defaultoptionen","PasswordProfileCopied":"Ihr Passwort-Profil wurde kopiert","PasswordResetRequired":"Ein Passwort ist erforderlich","PasswordResetSuccessful":"Ihr Passwort wurde erfolgreich zurückgesetzt.","Previous":"Vorherige","Register":"Registrieren","Reset my password":"Mein Passwort zurücksetzen","ResetLinkExpired":"Der Link zum Zurücksetzen des Passworts ist abgelaufen.","Save":"Speichern","Saved passwords":"Gespeicherte passwörter","Search":"Suche","Settings":"Einstellungen","Sign In":"Anmelden","Site":"Seite","SiteLoginMasterPasswordMandatory":"Die Felder für Seite, Anmeldename und Masterpasswort sind obligatorisch.","SorryCopy":"Es tut uns leid, dass die Kopie nur auf modernen Browsern funktioniert","UpdateYourSearch":"Bitte erweitern Sie Ihre Suche.","WelcomeRegister":"Willkommen {email}, danke für die Anmeldung.","resetPasswordSuccess":"Wenn die E-Mail-Adresse {email} mit einem LessPass-Konto verknüpft ist, erhalten Sie in Kürze eine E-Mail von LessPass mit Anweisungen zum Zurücksetzen Ihres Passworts."}')},"275a":function(t,e,n){"use strict";var r=n("1586");function i(t){if("function"!==typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var n=this;t((function(t){n.reason||(n.reason=new r(t),e(n.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var t,e=new i((function(e){t=e}));return{token:e,cancel:t}},t.exports=i},"2ebe":function(t,e,n){},3266:function(t,e,n){},3291:function(t,e,n){},"32f0":function(t,e,n){},"338e":function(t,e,n){"use strict";t.exports=function(t,e,n,r,i){return t.config=e,n&&(t.code=n),t.request=r,t.response=i,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},t}},3547:function(t,e,n){},"36ad":function(t,e,n){},3708:function(t,e){function n(t){const e=["#000000","#074750","#009191","#FF6CB6","#FFB5DA","#490092","#006CDB","#B66DFF","#6DB5FE","#B5DAFE","#920000","#924900","#DB6D00","#24FE23"],n=parseInt(t,16)%e.length;return e[n]}function r(t){const e=["fa-hashtag","fa-heart","fa-hotel","fa-university","fa-plug","fa-ambulance","fa-bus","fa-car","fa-plane","fa-rocket","fa-ship","fa-subway","fa-truck","fa-jpy","fa-eur","fa-btc","fa-usd","fa-gbp","fa-archive","fa-area-chart","fa-bed","fa-beer","fa-bell","fa-binoculars","fa-birthday-cake","fa-bomb","fa-briefcase","fa-bug","fa-camera","fa-cart-plus","fa-certificate","fa-coffee","fa-cloud","fa-coffee","fa-comment","fa-cube","fa-cutlery","fa-database","fa-diamond","fa-exclamation-circle","fa-eye","fa-flag","fa-flask","fa-futbol-o","fa-gamepad","fa-graduation-cap"],n=parseInt(t,16)%e.length;return e[n]}t.exports=function(t){const e=[],i=t.substring(0,6);e.push({color:n(i),icon:r(i)});const o=t.substring(6,12);e.push({color:n(o),icon:r(o)});const a=t.substring(12,18);return e.push({color:n(a),icon:r(a)}),e}},"37fe":function(t,e,n){"use strict";var r=n("3f48");t.exports=function(t,e){e=e||{};var n={};return r.forEach(["url","method","params","data"],(function(t){"undefined"!==typeof e[t]&&(n[t]=e[t])})),r.forEach(["headers","auth","proxy"],(function(i){r.isObject(e[i])?n[i]=r.deepMerge(t[i],e[i]):"undefined"!==typeof e[i]?n[i]=e[i]:r.isObject(t[i])?n[i]=r.deepMerge(t[i]):"undefined"!==typeof t[i]&&(n[i]=t[i])})),r.forEach(["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"],(function(r){"undefined"!==typeof e[r]?n[r]=e[r]:"undefined"!==typeof t[r]&&(n[r]=t[r])})),n}},"3b70":function(t,e,n){"use strict";var r=n("3f48");function i(){this.handlers=[]}i.prototype.use=function(t,e){return this.handlers.push({fulfilled:t,rejected:e}),this.handlers.length-1},i.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},i.prototype.forEach=function(t){r.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=i},"3e1e":function(t){t.exports=JSON.parse('{"Copied":"已复制","Counter":"计数器","CounterFieldHelp":"增加这个值就可以在不改变主密码的前提下生成全新的密码。","CreatePassword":"您要生成一个密码吗?","DBNotRunning":"您的 LessPass 数据库没有运行","Email":"邮件地址","EmailAlreadyExist":"这个邮件地址已被注册。登录或找回您的密码?","EmailInvalid":"请输入一个有效的电子邮件地址","EmailRequiredError":"我们需要一个电子邮件地址来找到您的账户。","Encrypt my master password":"加密我的主密码","ForgotPassword":"忘记了您的密码?","Generate":"生成","Length":"长度","LengthDeprecationWarning":"密码的最大长度是35个字符。","LessPass Database Url":"LessPass 数据库网址","Login":"登录名","LoginFormInvalid":"LessPass 网址、电子邮件地址以及密码均为必填信息。","LoginIncorrectError":"我们没找到符合您输入的电子邮件地址及密码的记录。请核验后再试。","Master Password":"主密码","Next":"下一步","NoMatchFor":"没有找到符合下列条件的内容:","NoPassword":"您的数据库里没有保存任何密码配置。","Options":"选项","Options by default":"默认选项","PasswordProfileCopied":"已复制您的密码配置。","PasswordResetRequired":"请输入登录密码","PasswordResetSuccessful":"已成功重置您的登录密码。","Previous":"上一步","Register":"注册","Reset my password":"重置我的登录密码","ResetLinkExpired":"此登录密码重置链接已过期。","Save":"保存","Saved passwords":"已保存密码","Search":"搜索","Settings":"设置","Sign In":"登录","Site":"网站名","SiteLoginMasterPasswordMandatory":"网站名、登录名以及主密码均为必填信息。","SorryCopy":"很抱歉,但复制功能仅适用于现代浏览器","UpdateYourSearch":"请尝试放宽您的搜索条件。","WelcomeRegister":"你好 {email},欢迎您的注册。","resetPasswordSuccess":"如果电子邮件地址 {email} 与一个 LessPass 账户相关联,您将很快收到 LessPass 的电子邮件,里面提供有重置密码的操作说明。"}')},"3f48":function(t,e,n){"use strict";var r=n("bdf1"),i=n("244f"),o=Object.prototype.toString;function a(t){return"[object Array]"===o.call(t)}function s(t){return"[object ArrayBuffer]"===o.call(t)}function u(t){return"undefined"!==typeof FormData&&t instanceof FormData}function c(t){var e;return e="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&t.buffer instanceof ArrayBuffer,e}function l(t){return"string"===typeof t}function f(t){return"number"===typeof t}function p(t){return"undefined"===typeof t}function d(t){return null!==t&&"object"===typeof t}function h(t){return"[object Date]"===o.call(t)}function v(t){return"[object File]"===o.call(t)}function g(t){return"[object Blob]"===o.call(t)}function m(t){return"[object Function]"===o.call(t)}function y(t){return d(t)&&m(t.pipe)}function w(t){return"undefined"!==typeof URLSearchParams&&t instanceof URLSearchParams}function b(t){return t.replace(/^\s*/,"").replace(/\s*$/,"")}function _(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function x(t,e){if(null!==t&&"undefined"!==typeof t)if("object"!==typeof t&&(t=[t]),a(t))for(var n=0,r=t.length;n=i)return{value:o,entropy:e};const a=e.divmod(r.length);return o+=r[a.remainder],n(o,a.quotient,r,i)}t.exports={consumeEntropy:n}},"50c7":function(t,e,n){(function(t){(function(e){"use strict";t&&t.exports&&(t.exports=e.atob)})(window)}).call(this,n("6984")(t))},"52fe":function(t,e,n){"use strict";var r=n("74be"),i=n.n(r);i.a},5450:function(t,e,n){},"56d7":function(t,e,n){"use strict";n.r(e);var r={};n.r(r),n.d(r,"refreshToken",(function(){return Y})),n.d(r,"saveDefaultOptions",(function(){return Q})),n.d(r,"loadPasswordProfile",(function(){return X})),n.d(r,"getPasswordFromUrlQuery",(function(){return tt})),n.d(r,"savePassword",(function(){return et})),n.d(r,"resetPassword",(function(){return nt})),n.d(r,"login",(function(){return rt})),n.d(r,"logout",(function(){return it})),n.d(r,"getPasswords",(function(){return ot})),n.d(r,"saveOrUpdatePassword",(function(){return at})),n.d(r,"deletePassword",(function(){return st})),n.d(r,"displayMessage",(function(){return ut})),n.d(r,"cleanMessage",(function(){return ct}));var i={};n.r(i),n.d(i,"isAuthenticated",(function(){return pt})),n.d(i,"isGuest",(function(){return dt})),n.d(i,"passwordURL",(function(){return ht}));var o=n("9869"),a={translate(t,e,n,r){return t&&e in t?this.compile(t[e],r):n?this.compile(n,r):e},compile(t,e){return e?t.replace(/{(\w*)}/g,(t,n)=>{return e.hasOwnProperty(n)?e[n]:""}):t},getBestLanguage(t,e,n){if("undefined"===typeof e)return n;for(let r=0;r{const n=this.locales.hasOwnProperty(e)?Object.assign({},this.locales[e],t[e]):t[e];this.setLocale({lang:e,locale:n})})},getLang(){const t=e.languagesAvailable,n=window.navigator.userLanguage||window.navigator.language,r=e.defaultLanguage;return a.getBestLanguage(t,n,r)},_translate(t,e,n){return a.translate(this.locale,t,e,n)}}}),t.prototype.$polyglot=s),t.mixin({methods:{$t(t,e,n){return this.$polyglot._translate(t,e,n)}}}),t.locales=t=>{Object.keys(t).forEach(e=>{s.$polyglot.setLocale({lang:e,locale:t[e]})})}}var c={install:u},l=n("e0ed"),f=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"card",attrs:{id:"lesspass"}},[n("lesspass-menu"),n("lesspass-message"),n("div",{staticClass:"lesspass__inner-box card-body"},[n("router-view")],1)],1)},p=[],d=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"menu"}},[n("div",{staticClass:"card-header",class:{"text-white bg-dark":t.isGuest}},[n("div",{staticClass:"row"},[n("div",{staticClass:"col-4"},[n("span",{staticClass:"white-link pointer",attrs:{id:"title"},on:{click:function(e){return t.fullReload()}}},[t._v("LessPass")])]),n("div",{staticClass:"col-8 text-right"},[t.saved&&t.isAuthenticated?n("span",[t._m(0)]):t._e(),!t.saved&&t.isAuthenticated&&""!==t.$store.state.password.site&&"/"===t.$store.state.route.path?n("span",{staticClass:"white-link",attrs:{title:t.$t("Save")},on:{click:function(e){return t.saveOrUpdatePassword()}}},[n("i",{staticClass:"fa fa-lg fa-save pointer"})]):t._e(),t.isAuthenticated?n("router-link",{staticClass:"white-link pl-3",attrs:{to:{name:"passwords"},title:t.$t("Saved passwords")}},[n("i",{staticClass:"fa fa-lg fa-key"})]):t._e(),n("router-link",{staticClass:"white-link pl-3",attrs:{to:{name:"settings"},title:t.$t("Settings")}},[n("i",{staticClass:"fa fa-lg fa-cog"})]),t.isAuthenticated?n("button",{staticClass:"white-link btn btn-link p-0 m-0 pl-3",attrs:{type:"button",title:t.$t("Sign out")},on:{click:t.logout}},[n("i",{staticClass:"fa fa-lg fa-sign-out"})]):t._e(),t.isGuest?n("router-link",{staticClass:"white-link pl-3",attrs:{to:{name:"login"},title:t.$t("Sign In")}},[n("i",{staticClass:"fa fa-lg fa-sign-in pointer"})]):t._e()],1)])])])},h=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("small",[n("i",{staticClass:"fa fa-lg fa-check pl-3"}),t._v(" saved")])}],v=n("9ce4"),g={data(){return{saved:!1}},methods:{fullReload(){this.$store.dispatch("resetPassword"),this.$router.push({name:"home"})},logout(){this.$store.dispatch("logout"),this.$router.push({name:"home"})},saveOrUpdatePassword(){this.$store.dispatch("saveOrUpdatePassword"),this.saved=!0,setTimeout(()=>{this.saved=!1},3e3)}},computed:{...Object(v["b"])(["isAuthenticated","isGuest"])}},m=g;n("efa6");function y(t,e,n,r,i,o,a,s){var u,c="function"===typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),a?(u=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=u):i&&(u=s?function(){i.call(this,this.$root.$options.shadowRoot)}:i),u)if(c.functional){c._injectStyles=u;var l=c.render;c.render=function(t,e){return u.call(e),l(t,e)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,u):[u]}return{exports:t,options:c}}var w=y(m,d,h,!1,null,null,null),b=w.exports,_=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"message"},on:{click:t.keepMessage}},[n("transition",{attrs:{name:"fade"}},[t.message.text?n("div",[n("div",{staticClass:"card-header text-white",class:{"bg-warning":"warning"===t.message.status,"bg-danger":"error"===t.message.status,"bg-success":"success"===t.message.status}},[n("div",{staticClass:"row"},[n("div",{staticClass:"col-12"},[n("small",[t._v(t._s(t.message.text))]),n("span",{staticClass:"close-notification",on:{click:t.hideMessage}},[n("i",{staticClass:"fa fa-close"})])])])])]):t._e()])],1)},x=[],C=n("8206"),S=n.n(C),P={addAuthorizationHeader(t){return{...t,headers:{Authorization:`JWT ${t.token}`}}},all(t){return S.a.get("/api/passwords/",this.addAuthorizationHeader(t))},create(t,e){return S.a.post("/api/passwords/",t,this.addAuthorizationHeader(e))},read(t,e){return S.a.get("/api/passwords/"+t.id+"/",this.addAuthorizationHeader(e))},update(t,e){return S.a.put("/api/passwords/"+t.id+"/",t,this.addAuthorizationHeader(e))},delete(t,e){return S.a.delete("/api/passwords/"+t.id+"/",this.addAuthorizationHeader(e))}},k={login(t,e){return S.a.post("/api/tokens/auth/",t,e).then(t=>{return t.data})},register(t,e){return S.a.post("/api/auth/register/",t,e).then(t=>{return t.data})},resetPassword(t,e){return S.a.post("/api/auth/password/reset/",t,e)},confirmResetPassword(t,e){return S.a.post("/api/auth/password/reset/confirm/",t,e)},requestNewToken(t,e){return S.a.post("/api/tokens/refresh/",t,e).then(t=>{return t.data.token})}},E=n("50c7"),A=n.n(E);function O(t){if(!t)return"";var e=t.match(/^(?:https?:\/\/)([^/?#]+)(?:[/?#]|$)/i);return e&&e[1]?e[1]:""}function $(t){return/^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5})$/.test(t)}function L(t){const e=O(t)||t;if($(e))return[];const n=e.toLowerCase().split(".").filter(t=>t.length>=2);if(n.length<2)return[];const r=n[n.length-2],i=n[n.length-1];return n.reduceRight((t,e)=>{const r=n.indexOf(e);if(r>=0&&r{"undefined"!==typeof chrome&&"undefined"!==typeof chrome.tabs&&"undefined"!==typeof chrome.tabs.query?chrome.tabs.query({active:!0,currentWindow:!0},e=>{t(O(e[0].url))}):t("")})}function j(t){const e={};return["uppercase","lowercase","numbers","symbols"].forEach(n=>{n in t&&(e[n]="true"===t[n].toLowerCase()||"1"===t[n].toLowerCase())}),["site","login"].forEach(n=>{n in t&&(e[n]=t[n])}),["length","counter","version"].forEach(n=>{n in t&&(e[n]=parseInt(t[n],10))}),e}function T(t){return JSON.parse(A()(t))}function M(t){return"passwordProfileEncoded"in t?T(t["passwordProfileEncoded"]):j(t)}const I="LOGOUT",N="LOGIN",B="SET_BASE_URL",D="SET_DEFAULT_OPTIONS",F="SET_MESSAGE",U="SET_PASSWORD",z="SET_PASSWORDS",q="SET_TOKEN",H="RESET_PASSWORD",W="SET_SITE",V="LOAD_PASSWORD_PROFILE",G="DELETE_PASSWORD",Z="CLEAN_MESSAGE",K={uppercase:!0,lowercase:!0,numbers:!0,symbols:!0,length:16,counter:1,version:2};var J={login:"",site:"",...K};const Y=({commit:t,state:e})=>{const n=e.token;n&&k.requestNewToken({token:n},{baseURL:e.baseURL}).then(e=>t(q,{token:e})).catch(()=>t(I))},Q=({commit:t},e)=>{t(D,e)},X=({commit:t},{site:e})=>{t(V,{site:e})},tt=({commit:t},{query:e})=>{const n=M(e),r=Object.keys(J).length;Object.keys(n).length===r&&t(U,{password:n})},et=({commit:t},e)=>{t(U,e)},nt=({commit:t})=>{t(H)},rt=({commit:t},e)=>{t(B,e),t(q,e),t(N)},it=({commit:t})=>{t(I),t(H)},ot=({commit:t,state:e})=>{return e.authenticated?P.all(e).then(e=>{const n=e.data.results;return t(z,{passwords:n}),n}):Promise.resolve([])},at=({commit:t,state:e})=>{const n=e.password.site,r=e.password.login,i=e.passwords.find(t=>{return t.site===n&&t.login===r});if(i){const n=Object.assign({},i,e.password);P.update(n,e).then(()=>{ot({commit:t,state:e})})}else P.create(e.password,e).then(()=>{ot({commit:t,state:e})})},st=({commit:t,state:e},n)=>{P.delete(n,e).then(()=>{t(G,n)})},ut=({commit:t},e)=>{t(F,e)},ct=({commit:t})=>{t(Z)};var lt=n("6174"),ft=n.n(lt);const pt=t=>t.authenticated,dt=t=>!t.authenticated,ht=t=>{const e=ft()(JSON.stringify(t.password)),n=encodeURIComponent(e);return`${t.baseURL}/#/?passwordProfileEncoded=${n}`};var vt={[N](t){t.authenticated=!0},[q](t,{token:e}){t.token=e},[I](t){t.authenticated=!1,t.token=null,t.passwords=[]},[H](t){t.password={...t.defaultPassword}},[U](t,{password:e}){t.password={...e}},[D](t,{options:e}){t.defaultPassword=Object.assign({},t.defaultPassword,e)},[z](t,{passwords:e}){t.passwords=e},[G](t,{id:e}){t.passwords=t.passwords.filter(t=>{return t.id!==e}),t.password&&t.password.id===e&&(t.password=Object.assign({},t.defaultPassword))},[B](t,{baseURL:e}){t.baseURL=e},[W](t,{site:e}){t.password.site=e},[V](t,{site:e}){if(!e||"undefined"!==typeof t.password.id)return;t.password=Object.assign({},t.password,{site:e});const n=t.passwords||[],r=e.replace(/^www./g,"");for(let i=0;i{this.deleteMessage&&jt.dispatch("cleanMessage")},e)},keepMessage(){this.deleteMessage=!1},hideMessage(){jt.dispatch("cleanMessage")},displayGenericError(){this.error("Oops! Something went wrong. Retry in a few minutes.")}},Mt={computed:Object(v["c"])(["message"]),methods:{keepMessage(){Tt.keepMessage()},hideMessage(){Tt.hideMessage()}}},It=Mt,Nt=(n("f87e"),y(It,_,x,!1,null,null,null)),Bt=Nt.exports,Dt={name:"lesspass",components:{"lesspass-menu":b,"lesspass-message":Bt},created(){this.$store.dispatch("cleanMessage"),this.$store.dispatch("refreshToken"),this.$store.dispatch("resetPassword")}},Ft=Dt,Ut=(n("f1b7"),y(Ft,f,p,!1,null,null,null)),zt=Ut.exports;function qt(t,e){0}function Ht(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function Wt(t,e){return e instanceof t||e&&(e.name===t.name||e._name===t._name)}function Vt(t,e){for(var n in e)t[n]=e[n];return t}var Gt={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,e){var n=e.props,r=e.children,i=e.parent,o=e.data;o.routerView=!0;var a=i.$createElement,s=n.name,u=i.$route,c=i._routerViewCache||(i._routerViewCache={}),l=0,f=!1;while(i&&i._routerRoot!==i){var p=i.$vnode&&i.$vnode.data;p&&(p.routerView&&l++,p.keepAlive&&i._inactive&&(f=!0)),i=i.$parent}if(o.routerViewDepth=l,f)return a(c[s],o,r);var d=u.matched[l];if(!d)return c[s]=null,a();var h=c[s]=d.components[s];o.registerRouteInstance=function(t,e){var n=d.instances[s];(e&&n!==t||!e&&n===t)&&(d.instances[s]=e)},(o.hook||(o.hook={})).prepatch=function(t,e){d.instances[s]=e.componentInstance},o.hook.init=function(t){t.data.keepAlive&&t.componentInstance&&t.componentInstance!==d.instances[s]&&(d.instances[s]=t.componentInstance)};var v=o.props=Zt(u,d.props&&d.props[s]);if(v){v=o.props=Vt({},v);var g=o.attrs=o.attrs||{};for(var m in v)h.props&&m in h.props||(g[m]=v[m],delete v[m])}return a(h,o,r)}};function Zt(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0;default:0}}var Kt=/[!'()*]/g,Jt=function(t){return"%"+t.charCodeAt(0).toString(16)},Yt=/%2C/g,Qt=function(t){return encodeURIComponent(t).replace(Kt,Jt).replace(Yt,",")},Xt=decodeURIComponent;function te(t,e,n){void 0===e&&(e={});var r,i=n||ee;try{r=i(t||"")}catch(a){r={}}for(var o in e)r[o]=e[o];return r}function ee(t){var e={};return t=t.trim().replace(/^(\?|#|&)/,""),t?(t.split("&").forEach((function(t){var n=t.replace(/\+/g," ").split("="),r=Xt(n.shift()),i=n.length>0?Xt(n.join("=")):null;void 0===e[r]?e[r]=i:Array.isArray(e[r])?e[r].push(i):e[r]=[e[r],i]})),e):e}function ne(t){var e=t?Object.keys(t).map((function(e){var n=t[e];if(void 0===n)return"";if(null===n)return Qt(e);if(Array.isArray(n)){var r=[];return n.forEach((function(t){void 0!==t&&(null===t?r.push(Qt(e)):r.push(Qt(e)+"="+Qt(t)))})),r.join("&")}return Qt(e)+"="+Qt(n)})).filter((function(t){return t.length>0})).join("&"):null;return e?"?"+e:""}var re=/\/?$/;function ie(t,e,n,r){var i=r&&r.options.stringifyQuery,o=e.query||{};try{o=oe(o)}catch(s){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:o,params:e.params||{},fullPath:ue(e,i),matched:t?se(t):[]};return n&&(a.redirectedFrom=ue(n,i)),Object.freeze(a)}function oe(t){if(Array.isArray(t))return t.map(oe);if(t&&"object"===typeof t){var e={};for(var n in t)e[n]=oe(t[n]);return e}return t}var ae=ie(null,{path:"/"});function se(t){var e=[];while(t)e.unshift(t),t=t.parent;return e}function ue(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var i=t.hash;void 0===i&&(i="");var o=e||ne;return(n||"/")+o(r)+i}function ce(t,e){return e===ae?t===e:!!e&&(t.path&&e.path?t.path.replace(re,"")===e.path.replace(re,"")&&t.hash===e.hash&&le(t.query,e.query):!(!t.name||!e.name)&&(t.name===e.name&&t.hash===e.hash&&le(t.query,e.query)&&le(t.params,e.params)))}function le(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t),r=Object.keys(e);return n.length===r.length&&n.every((function(n){var r=t[n],i=e[n];return"object"===typeof r&&"object"===typeof i?le(r,i):String(r)===String(i)}))}function fe(t,e){return 0===t.path.replace(re,"/").indexOf(e.path.replace(re,"/"))&&(!e.hash||t.hash===e.hash)&&pe(t.query,e.query)}function pe(t,e){for(var n in e)if(!(n in t))return!1;return!0}function de(t,e,n){var r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;var i=e.split("/");n&&i[i.length-1]||i.pop();for(var o=t.replace(/^\//,"").split("/"),a=0;a=0&&(e=t.slice(r),t=t.slice(0,r));var i=t.indexOf("?");return i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),{path:t,query:n,hash:e}}function ve(t){return t.replace(/\/\//g,"/")}var ge=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},me=Ie,ye=Ce,we=Se,be=Ee,_e=Me,xe=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function Ce(t,e){var n,r=[],i=0,o=0,a="",s=e&&e.delimiter||"/";while(null!=(n=xe.exec(t))){var u=n[0],c=n[1],l=n.index;if(a+=t.slice(o,l),o=l+u.length,c)a+=c[1];else{var f=t[o],p=n[2],d=n[3],h=n[4],v=n[5],g=n[6],m=n[7];a&&(r.push(a),a="");var y=null!=p&&null!=f&&f!==p,w="+"===g||"*"===g,b="?"===g||"*"===g,_=n[2]||s,x=h||v;r.push({name:d||i++,prefix:p||"",delimiter:_,optional:b,repeat:w,partial:y,asterisk:!!m,pattern:x?Oe(x):m?".*":"[^"+Ae(_)+"]+?"})}}return o1||!w.length)return 0===w.length?t():t("span",{},w)}if("a"===this.tag)y.on=m,y.attrs={href:s};else{var b=Ve(this.$slots.default);if(b){b.isStatic=!1;var _=b.data=Vt({},b.data);for(var x in _.on=_.on||{},_.on){var C=_.on[x];x in m&&(_.on[x]=Array.isArray(C)?C:[C])}for(var S in m)S in _.on?_.on[S].push(m[S]):_.on[S]=g;var P=b.data.attrs=Vt({},b.data.attrs);P.href=s}else y.on=m}return t(this.tag,y,this.$slots.default)}};function We(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function Ve(t){if(t)for(var e,n=0;n-1&&(s.params[p]=n.params[p]);return s.path=Be(c.path,s.params,'named route "'+u+'"'),l(c,s,a)}if(s.path){s.params={};for(var d=0;d=t.length?n():t[i]?e(t[i],(function(){r(i+1)})):r(i+1)};r(0)}function Sn(t){return function(e,n,r){var i=!1,o=0,a=null;Pn(t,(function(t,e,n,s){if("function"===typeof t&&void 0===t.cid){i=!0,o++;var u,c=On((function(e){An(e)&&(e=e.default),t.resolved="function"===typeof e?e:Fe.extend(e),n.components[s]=e,o--,o<=0&&r()})),l=On((function(t){var e="Failed to resolve async component "+s+": "+t;a||(a=Ht(t)?t:new Error(e),r(a))}));try{u=t(c,l)}catch(p){l(p)}if(u)if("function"===typeof u.then)u.then(c,l);else{var f=u.component;f&&"function"===typeof f.then&&f.then(c,l)}}})),i||r()}}function Pn(t,e){return kn(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function kn(t){return Array.prototype.concat.apply([],t)}var En="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag;function An(t){return t.__esModule||En&&"Module"===t[Symbol.toStringTag]}function On(t){var e=!1;return function(){var n=[],r=arguments.length;while(r--)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}var $n=function(t){function e(e){t.call(this),this.name=this._name="NavigationDuplicated",this.message='Navigating to current location ("'+e.fullPath+'") is not allowed',Object.defineProperty(this,"stack",{value:(new t).stack,writable:!0,configurable:!0})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error);$n._name="NavigationDuplicated";var Ln=function(t,e){this.router=t,this.base=Rn(e),this.current=ae,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};function Rn(t){if(!t)if(Ze){var e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}function jn(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n-1?decodeURI(t.slice(0,r))+t.slice(r):decodeURI(t)}else n>-1&&(t=decodeURI(t.slice(0,n))+t.slice(n));return t}function Zn(t){var e=window.location.href,n=e.indexOf("#"),r=n>=0?e.slice(0,n):e;return r+"#"+t}function Kn(t){bn?_n(Zn(t)):window.location.hash=t}function Jn(t){bn?xn(Zn(t)):window.location.replace(Zn(t))}var Yn=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,(function(){e.index=n,e.updateRoute(r)}),(function(t){Wt($n,t)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(Ln),Qn=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Xe(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!bn&&!1!==t.fallback,this.fallback&&(e="hash"),Ze||(e="abstract"),this.mode=e,e){case"history":this.history=new zn(this,t.base);break;case"hash":this.history=new Hn(this,t.base,this.fallback);break;case"abstract":this.history=new Yn(this,t.base);break;default:0}},Xn={currentRoute:{configurable:!0}};function tr(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function er(t,e,n){var r="hash"===n?"#"+e:e;return t?ve(t+"/"+r):r}Qn.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},Xn.currentRoute.get=function(){return this.history&&this.history.current},Qn.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null)})),!this.app){this.app=t;var n=this.history;if(n instanceof zn)n.transitionTo(n.getCurrentLocation());else if(n instanceof Hn){var r=function(){n.setupListeners()};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},Qn.prototype.beforeEach=function(t){return tr(this.beforeHooks,t)},Qn.prototype.beforeResolve=function(t){return tr(this.resolveHooks,t)},Qn.prototype.afterEach=function(t){return tr(this.afterHooks,t)},Qn.prototype.onReady=function(t,e){this.history.onReady(t,e)},Qn.prototype.onError=function(t){this.history.onError(t)},Qn.prototype.push=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){r.history.push(t,e,n)}));this.history.push(t,e,n)},Qn.prototype.replace=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){r.history.replace(t,e,n)}));this.history.replace(t,e,n)},Qn.prototype.go=function(t){this.history.go(t)},Qn.prototype.back=function(){this.go(-1)},Qn.prototype.forward=function(){this.go(1)},Qn.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},Qn.prototype.resolve=function(t,e,n){e=e||this.history.current;var r=De(t,e,n,this),i=this.match(r,e),o=i.redirectedFrom||i.fullPath,a=this.history.base,s=er(a,o,this.mode);return{location:r,route:i,href:s,normalizedTo:r,resolved:i}},Qn.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==ae&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Qn.prototype,Xn),Qn.install=Ge,Qn.version="3.1.3",Ze&&window.Vue&&window.Vue.use(Qn);var nr=Qn,rr=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("form",{on:{submit:function(e){return e.preventDefault(),t.signIn(e)}}},[n("div",{staticClass:"form-group"},[n("div",{staticClass:"inner-addon left-addon"},[n("i",{staticClass:"fa fa-globe"}),n("input",{directives:[{name:"model",rawName:"v-model",value:t.baseURL,expression:"baseURL"}],staticClass:"form-control",attrs:{id:"baseURL",type:"text",autocapitalize:"none",placeholder:t.$t("LessPass Database Url")},domProps:{value:t.baseURL},on:{input:function(e){e.target.composing||(t.baseURL=e.target.value)}}})])]),n("div",{staticClass:"form-group row"},[n("div",{staticClass:"col-12"},[n("div",{staticClass:"inner-addon left-addon"},[n("i",{staticClass:"fa fa-user"}),n("input",{directives:[{name:"model",rawName:"v-model",value:t.email,expression:"email"}],staticClass:"form-control",attrs:{id:"email",name:"username",type:"email",autocapitalize:"none",placeholder:t.$t("Email"),required:""},domProps:{value:t.email},on:{input:function(e){e.target.composing||(t.email=e.target.value)}}})])])]),n("div",{staticClass:"form-group mb-2"},[n("master-password",{attrs:{label:t.$t("Master Password"),email:t.email,showEncryptButton:!0,EncryptButtonText:t.$t("Encrypt my master password")},model:{value:t.password,callback:function(e){t.password=e},expression:"password"}})],1),n("div",{staticClass:"form-group row no-gutters mb-0"},[n("div",{staticClass:"col"},[n("button",{staticClass:"btn btn-primary btn-block",attrs:{id:"signInButton"}},[t._v(t._s(t.$t("Sign In")))])]),n("div",{staticClass:"col"},[n("button",{staticClass:"btn btn-secondary btn-block",attrs:{id:"registerButton",type:"button"},on:{click:t.register}},[t._v(t._s(t.$t("Register")))])])]),n("div",{staticClass:"form-group mb-0"},[n("button",{staticClass:"btn btn-link btn-sm p-0",attrs:{id:"login__forgot-password-btn",type:"button"},on:{click:function(e){return t.$router.push({name:"passwordReset"})}}},[n("small",[t._v(t._s(t.$t("ForgotPassword","Forgot your password?")))])])])])},ir=[],or=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"masterPassword"},[n("div",{staticClass:"input-group inner-addon left-addon"},[n("label",{staticClass:"sr-only",attrs:{for:"passwordField"}},[t._v(t._s(t.label))]),n("i",{staticClass:"fa fa-lock"}),n("input",{ref:"passwordField",staticClass:"form-control",attrs:{id:"passwordField",name:"passwordField",type:"password",tabindex:"0",autocorrect:"off",autocapitalize:"none",placeholder:t.label},domProps:{value:t.value},on:{input:function(e){return t.updateValue(e.target.value)},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.$emit("keyupEnter")}}}),t.fingerprint&&t.value?n("span",{staticClass:"input-group-btn",on:{click:t.togglePasswordType}},[n("button",{staticClass:"btn",attrs:{id:"fingerprint",type:"button",tabindex:"-1"}},[n("small",[n("i",{staticClass:"fa fa-fw",class:[t.icon1],style:{color:t.color1}}),n("i",{staticClass:"fa fa-fw",class:[t.icon2],style:{color:t.color2}}),n("i",{staticClass:"fa fa-fw",class:[t.icon3],style:{color:t.color3}})])])]):t._e()]),t.showEncryptButton?n("button",{staticClass:"btn btn-link btn-sm p-0",class:{disabled:""===t.email},attrs:{id:"encryptMasterPassword__btn",type:"button"},on:{click:function(e){return t.encryptMasterPassword()}}},[n("small",[t._v(t._s(t.EncryptButtonText))])]):t._e()])},ar=[],sr=n("6595"),ur=n.n(sr),cr=n("9ec3"),lr={name:"masterPassword",props:{value:String,label:String,email:String,showEncryptButton:{type:Boolean,default:!1},EncryptButtonText:String},data(){return{fingerprint:null,icon1:"",icon2:"",icon3:"",color1:"",color2:"",color3:""}},methods:{updateValue(t){const e=Math.random().toString(36).substring(7);this.setFingerprint(e),this.showRealFingerprint(t),this.$refs.passwordField.value=t,this.$emit("input",t)},togglePasswordType(){const t=this.$refs.passwordField;"password"===t.type?t.type="text":t.type="password"},hidePassword(){this.$refs.passwordField.type="password"},getColor(t){var e=["#000000","#074750","#009191","#FF6CB6","#FFB5DA","#490092","#006CDB","#B66DFF","#6DB5FE","#B5DAFE","#920000","#924900","#DB6D00","#24FE23"],n=parseInt(t,16)%e.length;return e[n]},getIcon(t){var e=["fa-hashtag","fa-heart","fa-hotel","fa-university","fa-plug","fa-ambulance","fa-bus","fa-car","fa-plane","fa-rocket","fa-ship","fa-subway","fa-truck","fa-jpy","fa-eur","fa-btc","fa-usd","fa-gbp","fa-archive","fa-area-chart","fa-bed","fa-beer","fa-bell","fa-binoculars","fa-birthday-cake","fa-bomb","fa-briefcase","fa-bug","fa-camera","fa-cart-plus","fa-certificate","fa-coffee","fa-cloud","fa-coffee","fa-comment","fa-cube","fa-cutlery","fa-database","fa-diamond","fa-exclamation-circle","fa-eye","fa-flag","fa-flask","fa-futbol-o","fa-gamepad","fa-graduation-cap"],n=parseInt(t,16)%e.length;return e[n]},setFingerprint(t){ur.a.createFingerprint(t).then(t=>{this.icon1=t[0].icon,this.color1=t[0].color,this.icon2=t[1].icon,this.color2=t[1].color,this.icon3=t[2].icon,this.color3=t[2].color,this.fingerprint=t})},showRealFingerprint:Object(cr["debounce"])((function(t){this.setFingerprint(t)}),500),encryptMasterPassword(){const t=this.$refs.passwordField.value;return ur.a.generatePassword("lesspass.com",this.email,t,J).then(t=>{this.updateValue(t)})}}},fr=lr,pr=(n("f624"),y(fr,or,ar,!1,null,null,null)),dr=pr.exports,hr={data(){return{email:"",password:"",baseURL:"https://lesspass.com"}},components:{MasterPassword:dr},methods:{formIsValid(){return!!(this.email&&this.password&&this.baseURL)||(Tt.error(this.$t("LoginFormInvalid","LessPass URL, email, and password are mandatory")),!1)},signIn(){if(this.formIsValid()){const t=this.baseURL;k.login({email:this.email,password:this.password},{baseURL:t}).then(e=>{this.$store.dispatch("login",{token:e.token,baseURL:t}),this.$router.push({name:"home"})}).catch(e=>{void 0===e.response&&"https://lesspass.com"!==t?Tt.error(this.$t("DBNotRunning","Your LessPass Database is not running")):e.response&&400===e.response.status?Tt.error(this.$t("LoginIncorrectError","The email and password you entered did not match our records. Please double-check and try again.")):Tt.displayGenericError()})}},register(){if(this.formIsValid()){const t=this.baseURL;k.register({email:this.email,password:this.password},{baseURL:t}).then(()=>{Tt.success(this.$t("WelcomeRegister","Welcome {email}, thank you for signing up.",{email:this.email})),this.signIn()}).catch(t=>{t.response&&"undefined"!==typeof t.response.data.email?(-1!==t.response.data.email[0].indexOf("already exists")&&Tt.error(this.$t("EmailAlreadyExist","This email is already registered. Want to login or recover your password?")),-1!==t.response.data.email[0].indexOf("valid email")&&Tt.error(this.$t("EmailInvalid","Please enter a valid email"))):Tt.displayGenericError()})}}}},vr=hr,gr=(n("d6db"),y(vr,rr,ir,!1,null,null,null)),mr=gr.exports,yr=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("form",{attrs:{id:"password-generator",novalidate:""},on:{submit:function(e){return e.preventDefault(),t.generatePassword(e)}}},[n("div",{staticClass:"form-group"},[n("input-site",{ref:"site",attrs:{passwords:t.passwords,label:t.$t("Site")},on:{suggestionSelected:t.setSite,passwordProfileSelected:t.setPasswordProfile},model:{value:t.password.site,callback:function(e){t.$set(t.password,"site",e)},expression:"password.site"}})],1),n("remove-auto-complete"),n("div",{staticClass:"form-group"},[n("label",{staticClass:"sr-only",attrs:{for:"login"}},[t._v(t._s(t.$t("Login")))]),n("div",{staticClass:"inner-addon left-addon"},[n("i",{staticClass:"fa fa-user"}),n("input",{directives:[{name:"model",rawName:"v-model",value:t.password.login,expression:"password.login"}],ref:"login",staticClass:"form-control",attrs:{id:"login",type:"text",name:"login",tabindex:"0",autocomplete:"off",autocorrect:"off",autocapitalize:"none",placeholder:t.$t("Login")},domProps:{value:t.password.login},on:{input:function(e){e.target.composing||t.$set(t.password,"login",e.target.value)}}})])]),n("div",{staticClass:"form-group"},[n("master-password",{ref:"masterPassword",attrs:{label:t.$t("Master Password")},on:{generatePassword:t.generatePassword},model:{value:t.masterPassword,callback:function(e){t.masterPassword=e},expression:"masterPassword"}})],1),n("options",{attrs:{options:t.password}}),n("div",{staticClass:"form-group mt-4 mb-0"},[t.passwordGenerated?t._e():n("button",{staticClass:"btn btn-primary btn-block",attrs:{id:"generatePassword__btn",type:"submit",tabindex:"0"}},[t._v(t._s(t.$t("Generate")))]),n("div",{directives:[{name:"show",rawName:"v-show",value:t.passwordGenerated,expression:"passwordGenerated"}],staticClass:"input-group"},[n("span",{staticClass:"input-group-btn"},[n("button",{staticClass:"btn btn-primary",attrs:{id:"copyPasswordButton",tabindex:"0",type:"button"},on:{click:function(e){return t.copyPassword()}}},[n("i",{staticClass:"fa fa-clipboard"})])]),n("input",{ref:"passwordGenerated",staticClass:"form-control",attrs:{id:"generated-password",type:"password",tabindex:"-1"},domProps:{value:t.passwordGenerated}}),n("span",{staticClass:"input-group-btn"},[n("button",{staticClass:"btn btn-secondary",attrs:{id:"revealGeneratedPassword",type:"button",tabindex:"0"},on:{click:function(e){return t.togglePasswordType(t.$refs.passwordGenerated)}}},[n("i",{staticClass:"fa fa-eye"})])]),n("span",{staticClass:"input-group-btn"},[n("button",{staticClass:"btn btn-secondary",attrs:{id:"sharePasswordProfileButton",type:"button",tabindex:"0"},on:{click:function(e){return t.sharePasswordProfile()}}},[n("i",{staticClass:"fa fa-share-alt pointer"})])])])])],1)},wr=[],br=n("1c35"),_r=n.n(br),xr=function(){var t=this,e=t.$createElement;t._self._c;return t._m(0)},Cr=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticStyle:{display:"none"}},[n("label",{attrs:{for:"username"}},[n("input",{attrs:{type:"text",id:"username",name:"username",autocomplete:"username"}})]),n("label",{attrs:{for:"password"}},[n("input",{attrs:{type:"password",id:"password",name:"password",autocomplete:"current-password"}})])])}],Sr={},Pr=y(Sr,xr,Cr,!1,null,null,null),kr=Pr.exports,Er=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"inputSite"},[n("label",{staticClass:"sr-only",attrs:{for:"siteField"}},[t._v(t._s(t.label))]),n("div",{staticClass:"inner-addon left-addon"},[n("i",{staticClass:"fa fa-globe"}),n("input",{directives:[{name:"model",rawName:"v-model",value:t.site,expression:"site"}],ref:"siteField",staticClass:"form-control awesomplete",attrs:{id:"siteField",type:"text",name:"siteField",tabindex:"0",autocorrect:"off",autocapitalize:"none",placeholder:t.label},domProps:{value:t.site},on:{input:function(e){e.target.composing||(t.site=e.target.value)}}})])])},Ar=[],Or=n("2488"),$r=n.n(Or),Lr={name:"inputSite",props:{value:String,label:String,passwords:{type:Array,default:()=>[]}},mounted(){this.awesomplete=new $r.a(this.$refs.siteField),this.awesomplete.item=(t,e)=>{let n=$r.a.ITEM(t.value.site,e);return n.innerHTML+=` ${t.value.login}`,n},this.awesomplete.filter=(t,e)=>{return $r.a.FILTER_CONTAINS(t,e)||$r.a.FILTER_CONTAINS(e,t)},this.awesomplete.data=t=>{return{label:t.site,value:t}},this.awesomplete.replace=t=>{this.$refs.siteField.value=t.label,t.value.suggestion?this.$emit("suggestionSelected",t.value.site):this.$emit("passwordProfileSelected",t.value)},this.awesomplete.sort=(t,e)=>{return t.value.site.localeCompare(e.value.site)||t.value.login.localeCompare(e.value.login)}},computed:{site:{get:function(){return this.value},set:function(t){this.$emit("input",t)}}},watch:{site:function(t){const e=L(t).map(t=>{return{site:t,suggestion:!0,login:""}});this.awesomplete.list=this.passwords.concat(e)}},methods:{}},Rr=Lr,jr=(n("ac25"),y(Rr,Er,Ar,!1,null,null,null)),Tr=jr.exports,Mr=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"options"}},[n("div",{staticClass:"form-group row"},[n("div",{staticClass:"col-12"},[n("div",{staticClass:"row"},[n("div",{staticClass:"col"},[n("label",{attrs:{for:"types"}},[t._v(t._s(t.$t("Options")))])])]),n("div",{staticClass:"row",attrs:{id:"types"}},[n("div",{staticClass:"col-3"},[n("button",{staticClass:"btn btn-block btn-sm px-0",class:{"btn-primary":!0===t.options.lowercase,"btn-secondary":!1===t.options.lowercase},attrs:{id:"lowercase__btn",type:"button",tabindex:"1"},on:{click:function(e){t.options.lowercase=!t.options.lowercase}}},[t._v("a-z")])]),n("div",{staticClass:"col-3"},[n("button",{staticClass:"btn btn-block btn-sm px-0",class:{"btn-primary":!0===t.options.uppercase,"btn-secondary":!1===t.options.uppercase},attrs:{id:"uppercase__btn",type:"button",tabindex:"1"},on:{click:function(e){t.options.uppercase=!t.options.uppercase}}},[t._v("A-Z")])]),n("div",{staticClass:"col-3"},[n("button",{staticClass:"btn btn-block btn-sm px-0",class:{"btn-primary":!0===t.options.numbers,"btn-secondary":!1===t.options.numbers},attrs:{id:"numbers__btn",type:"button",tabindex:"1"},on:{click:function(e){t.options.numbers=!t.options.numbers}}},[t._v("0-9")])]),n("div",{staticClass:"col-3"},[n("button",{staticClass:"btn btn-block btn-sm px-0",class:{"btn-primary":!0===t.options.symbols,"btn-secondary":!1===t.options.symbols},attrs:{id:"symbols__btn",type:"button",tabindex:"1"},on:{click:function(e){t.options.symbols=!t.options.symbols}}},[t._v("%!@")])])])])]),n("div",{staticClass:"form-group row mb-0"},[n("div",{staticClass:"col-5 col-sm-4"},[n("label",{attrs:{for:"passwordLength"}},[t._v(t._s(t.$t("Length")))]),n("div",{staticClass:"input-group input-group-sm"},[n("span",{staticClass:"input-group-btn"},[n("button",{staticClass:"btn btn-primary btn-sm px-2",attrs:{id:"decreaseLength__btn",tabindex:"1",type:"button"},on:{click:function(e){t.options.length=t.decrement(t.options.length,{min:5,max:35})}}},[t._m(0)])]),n("input",{directives:[{name:"model",rawName:"v-model.number",value:t.options.length,expression:"options.length",modifiers:{number:!0}}],staticClass:"form-control form-control-sm",attrs:{id:"passwordLength",tabindex:"1",type:"number",min:"5",max:"35"},domProps:{value:t.options.length},on:{input:function(e){e.target.composing||t.$set(t.options,"length",t._n(e.target.value))},blur:function(e){return t.$forceUpdate()}}}),n("span",{staticClass:"input-group-btn"},[n("button",{staticClass:"btn btn-primary btn-sm px-2",attrs:{id:"increaseLength__btn",tabindex:"1",type:"button"},on:{click:function(e){t.options.length=t.increment(t.options.length,{min:5,max:35})}}},[t._m(1)])])])]),n("div",{staticClass:"col-5 col-sm-4"},[n("label",{attrs:{for:"passwordCounter","data-balloon-length":"large","data-balloon":t.$t("CounterFieldHelp","Increment this value to change the generated password without changing your master options."),"data-balloon-pos":"up"}},[t._v(t._s(t.$t("Counter")))]),n("div",{staticClass:"input-group input-group-sm"},[n("span",{staticClass:"input-group-btn"},[n("button",{staticClass:"btn btn-primary btn-sm px-2",attrs:{id:"decreaseCounter__btn",tabindex:"1",type:"button"},on:{click:function(e){t.options.counter=t.decrement(t.options.counter,{min:1})}}},[t._m(2)])]),n("input",{directives:[{name:"model",rawName:"v-model.number",value:t.options.counter,expression:"options.counter",modifiers:{number:!0}}],staticClass:"form-control form-control-sm",attrs:{id:"passwordCounter",tabindex:"1",type:"number",min:"1"},domProps:{value:t.options.counter},on:{input:function(e){e.target.composing||t.$set(t.options,"counter",t._n(e.target.value))},blur:function(e){return t.$forceUpdate()}}}),n("span",{staticClass:"input-group-btn"},[n("button",{staticClass:"btn btn-primary btn-sm px-2",attrs:{id:"increaseCounter__btn",tabindex:"1",type:"button"},on:{click:function(e){t.options.counter=t.increment(t.options.counter,{min:1})}}},[t._m(3)])])])])])])},Ir=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("small",[n("i",{staticClass:"fa fa-minus"})])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("small",[n("i",{staticClass:"fa fa-plus"})])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("small",[n("i",{staticClass:"fa fa-minus"})])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("small",[n("i",{staticClass:"fa fa-plus"})])}];function Nr(t,{min:e,max:n}){return t>n?n:t{R().then(t=>{this.$store.dispatch("loadPasswordProfile",{site:t})}),this.$store.dispatch("getPasswordFromUrlQuery",{query:this.$route.query})})},mounted(){setTimeout(()=>{this.focusBestInputField()},500)},data(){return{masterPassword:"",passwordGenerated:"",cleanTimeout:null}},watch:{password:{handler:function(){this.cleanErrors()},deep:!0},masterPassword:function(t){this.masterPassword=t,this.cleanErrors()}},methods:{togglePasswordType(t){"password"===t.type?t.type="text":t.type="password"},cleanErrors(){clearTimeout(this.cleanTimeout),this.passwordGenerated="",this.$refs.masterPassword.hidePassword()},cleanFormIn30Seconds(){const t=3e4;this.cleanTimeout=setTimeout(()=>{this.masterPassword="",this.passwordGenerated="",this.$refs.masterPassword.hidePassword()},t)},generatePassword(){const t=this.password.site,e=this.password.login,n=this.masterPassword;if(!t&&!e||!n)return void Tt.error(this.$t("SiteLoginMasterPasswordMandatory","Site, login, and master password fields are mandatory."));const r=this.password.length;r>35&&Tt.warning(this.$t("LengthDeprecationWarning","The maximum length of a password is 35 characters.")),this.cleanErrors();const i={lowercase:this.password.lowercase,uppercase:this.password.uppercase,numbers:this.password.numbers,symbols:this.password.symbols,length:this.password.length,counter:this.password.counter,version:this.password.version};return ur.a.generatePassword(t,e,n,i).then(t=>{this.passwordGenerated=t,this.cleanFormIn30Seconds()})},focusBestInputField(){try{const t=this.$refs.site.$refs.siteField,e=this.$refs.login,n=this.$refs.masterPassword;if(t&&!t.value)return void t.focus();if(e&&!e.value)return void e.focus();n.$refs.passwordField.focus()}catch(t){console.error("Can't focus password field")}},copyPassword(){const t=_r()(this.passwordGenerated);if(t){const t=document.getElementById("copyPasswordButton");Hr(t,this.$t("Copied","copied !")),setTimeout(()=>Wr(t),2e3)}else Tt.warning(this.$t("SorryCopy","Sorry, copying only works in modern browsers."))},sharePasswordProfile(){const t=_r()(this.passwordURL);if(t){const t=this.$t("PasswordProfileCopied","Your password profile has been copied"),e=document.getElementById("sharePasswordProfileButton");Hr(e,t,"left"),setTimeout(()=>Wr(e),2e3)}else Tt.warning(this.$t("SorryCopy","Sorry, copying only works in modern browsers."))},setSite(t){this.password.site=t},setPasswordProfile(t){this.$store.dispatch("savePassword",{password:t}).then(()=>{this.focusBestInputField()})}}},Gr=Vr,Zr=(n("1d36"),y(Gr,yr,wr,!1,null,null,null)),Kr=Zr.exports,Jr=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("form",{on:{submit:function(e){return e.preventDefault(),t.resetPassword(e)}}},[n("div",{staticClass:"form-group row"},[n("div",{staticClass:"col-12"},[n("div",{staticClass:"inner-addon left-addon"},[n("i",{staticClass:"fa fa-user"}),n("input",{directives:[{name:"model",rawName:"v-model",value:t.email,expression:"email"}],staticClass:"form-control",attrs:{id:"email",name:"email",type:"email",placeholder:"Email"},domProps:{value:t.email},on:{input:function(e){e.target.composing||(t.email=e.target.value)}}})])])]),n("div",{staticClass:"form-group row"},[n("div",{staticClass:"col-12"},[n("button",{staticClass:"btn btn-primary",attrs:{id:"password-reset__reset-password-btn"}},[t._v(" "+t._s(t.$t("Reset my password"))+" ")])])])])},Yr=[],Qr={data(){return{email:""}},computed:{...Object(v["c"])(["baseURL"])},methods:{resetPassword(){const t=this.baseURL;t?this.email?k.resetPassword({email:this.email},{baseURL:t}).then(()=>{const t=this.$t("resetPasswordSuccess","If the email address {email} is associated with a LessPass account, you will shortly receive an email from LessPass with instructions on how to reset your password.",{email:this.email});Tt.success(t)}).catch(()=>{Tt.displayGenericError()}):Tt.error(this.$t("EmailRequiredError","We need an email to find your account.")):Tt.displayGenericError()}}},Xr=Qr,ti=y(Xr,Jr,Yr,!1,null,null,null),ei=ti.exports,ni=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("form",{on:{submit:function(e){return e.preventDefault(),t.resetPasswordConfirm(e)}}},[n("div",{staticClass:"form-group row"},[n("div",{staticClass:"col-12"},[n("div",{staticClass:"inner-addon left-addon"},[n("i",{staticClass:"fa fa-user"}),n("input",{directives:[{name:"model",rawName:"v-model",value:t.email,expression:"email"}],staticClass:"form-control",attrs:{id:"email",name:"email",type:"email",placeholder:"Email"},domProps:{value:t.email},on:{input:function(e){e.target.composing||(t.email=e.target.value)}}})])])]),n("div",{staticClass:"form-group row"},[n("div",{staticClass:"col-12"},[n("master-password",{attrs:{label:t.$t("Master Password"),email:t.email,showEncryptButton:!0,EncryptButtonText:t.$t("Encrypt my master password")},model:{value:t.password,callback:function(e){t.password=e},expression:"password"}})],1)]),n("div",{staticClass:"form-group row"},[n("div",{staticClass:"col-12"},[n("button",{staticClass:"btn btn-primary",attrs:{id:"loginButton"}},[t._v(" "+t._s(t.$t("Reset my password"))+" ")])])])])},ri=[],ii={components:{MasterPassword:dr},data(){return{email:"",password:""}},methods:{resetPasswordConfirm(){this.password?k.confirmResetPassword({uid:this.$route.params.uid,token:this.$route.params.token,new_password:this.password}).then(()=>{Tt.success(this.$t("PasswordResetSuccessful","Your password was reset successfully."))}).catch(t=>{400===t.response.status?Tt.error(this.$t("ResetLinkExpired","This password reset link has expired.")):Tt.displayGenericError()}):Tt.error(this.$t("PasswordResetRequired","A password is required"))}}},oi=ii,ai=y(oi,ni,ri,!1,null,null,null),si=ai.exports,ui=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"passwords"}},[n("div",{staticClass:"pb-3",attrs:{id:"passwords__search"}},[n("div",{staticClass:"row"},[n("div",{staticClass:"col"},[n("div",{staticClass:"inner-addon left-addon"},[n("i",{staticClass:"fa fa-search"}),n("input",{directives:[{name:"model",rawName:"v-model",value:t.searchQuery,expression:"searchQuery"}],staticClass:"form-control",attrs:{type:"text",name:"search",placeholder:t.$t("Search")},domProps:{value:t.searchQuery},on:{input:function(e){e.target.composing||(t.searchQuery=e.target.value)}}})])])])]),n("div",{attrs:{id:"passwords__list"}},[0===t.passwords.length?n("div",[n("div",{staticClass:"row"},[n("div",{staticClass:"col"},[t._v(" "+t._s(t.$t("NoPassword","You don't have any password profile saved in your database."))+" "),n("router-link",{attrs:{to:{name:"home"}}},[t._v(t._s(t.$t("CreatePassword","Would you like to create one?")))])],1)])]):t._e(),0===t.filteredPasswords.length&&t.passwords.length>0?n("div",[n("div",{staticClass:"row"},[n("div",{staticClass:"col"},[t._v(" "+t._s(t.$t("NoMatchFor","Oops! There are no matches for"))+' "'+t._s(t.searchQuery)+'". '+t._s(t.$t("UpdateYourSearch","Please try broadening your search."))+" ")])])]):t._e(),t._l(t.filteredPasswords,(function(e){return n("password-profile",{key:e.id,attrs:{password:e},on:{deleted:function(e){t.pagination.currentPage=1}}})}))],2),t.pagination.pageCount>1?n("div",{attrs:{id:"passwords__pagination"}},[n("paginate",{attrs:{"page-count":t.pagination.pageCount,"page-range":1,"margin-pages":1,"click-handler":t.setCurrentPage,containerClass:"pagination pagination-sm","page-class":"page-item","prev-class":"page-item","next-class":"page-item","page-link-class":"page-link","prev-link-class":"page-link","next-link-class":"page-link","prev-text":t.$t("Previous"),"next-text":t.$t("Next")}})],1):t._e()])},ci=[],li=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"passwordProfile"},[n("div",{staticClass:"passwordProfile__info",on:{click:function(e){return t.setPassword()}}},[n("avatar",{attrs:{name:t.password.site}}),n("div",{staticClass:"passwordProfile__meta"},[n("b",[t._v(t._s(t.password.site))]),n("br"),t._v(" "+t._s(t.password.login)+" ")])],1),n("div",{staticClass:"passwordProfile__actions"},[n("i",{staticClass:"passwordProfile__delete-icon fa fa-trash fa-fw text-danger",on:{click:function(e){return t.deletePassword()}}})])])},fi=[],pi=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"passwordProfile__avatar",style:t.avatarStyle},[t._v(t._s(t.firstLetter))])},di=[],hi={name:"avatar",props:{name:{type:String,required:!0}},data(){return{alphabetColors:{a:"#5A8770",b:"#B2B7BB",c:"#6FA9AB",d:"#F5AF29",e:"#0088B9",f:"#F18636",g:"#D93A37",h:"#A6B12E",i:"#5C9BBC",j:"#F5888D",k:"#9A89B5",l:"#407887",m:"#9A89B5",n:"#5A8770",o:"#D33F33",p:"#A2B01F",q:"#F0B126",r:"#0087BF",s:"#F18636",t:"#0087BF",u:"#B2B7BB",v:"#72ACAE",w:"#9C8AB4",x:"#5A8770",y:"#EEB424",z:"#407887"},firstLetter:""}},mounted(){this.firstLetter=this.$props.name.charAt(0)},computed:{avatarStyle:function(){return{backgroundColor:this.alphabetColors[this.firstLetter]||"#5A8770"}}}},vi=hi,gi=(n("52fe"),y(vi,pi,di,!1,null,null,null)),mi=gi.exports,yi={name:"passwordProfile",props:{password:{type:Object,required:!0}},components:{Avatar:mi},methods:{deletePassword(){this.$store.dispatch("deletePassword",{id:this.password.id})},setPassword(){this.$store.dispatch("savePassword",{password:this.password}),this.$router.push({name:"home"})}}},wi=yi,bi=(n("f732"),y(wi,li,fi,!1,null,null,null)),_i=bi.exports,xi=n("90bf"),Ci=n.n(xi),Si={name:"passwords-view",data(){return{searchQuery:"",pagination:{pageCount:1,perPage:4,currentPage:1}}},components:{PasswordProfile:_i,Paginate:Ci.a},computed:{...Object(v["c"])(["passwords"]),filteredPasswords(){const t=this.passwords.filter(t=>{var e=t.login.match(new RegExp(this.searchQuery,"i")),n=t.site.match(new RegExp(this.searchQuery,"i"));return e||n});return this.pagination.pageCount=Math.ceil(t.length/this.pagination.perPage),t.slice(this.pagination.currentPage*this.pagination.perPage-this.pagination.perPage,this.pagination.currentPage*this.pagination.perPage)}},methods:{setCurrentPage(t){this.pagination.currentPage=t}}},Pi=Si,ki=(n("85d3"),y(Pi,ui,ci,!1,null,null,null)),Ei=ki.exports,Ai=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("h5",[t._v(t._s(t.$t("Options by default")))]),n("form",{attrs:{id:"lesspass-options-form",novalidate:""},on:{submit:function(e){return e.preventDefault(),t.saveAndExit(e)}}},[n("div",{staticClass:"form-group"},[n("label",{attrs:{for:"login"}},[t._v(t._s(t.$t("Login")))]),n("div",{staticClass:"inner-addon left-addon"},[n("i",{staticClass:"fa fa-user"}),n("input",{directives:[{name:"model",rawName:"v-model",value:t.defaultPassword.login,expression:"defaultPassword.login"}],ref:"login",staticClass:"form-control",attrs:{id:"login",type:"text",name:"login",autocomplete:"off",autocorrect:"off",autocapitalize:"none",placeholder:t.$t("Login")},domProps:{value:t.defaultPassword.login},on:{input:function(e){e.target.composing||t.$set(t.defaultPassword,"login",e.target.value)}}})])]),n("options",{attrs:{options:t.defaultPassword}}),n("button",{staticClass:"btn btn-primary btn-block mt-4",attrs:{type:"submit",id:"btn-submit-settings"}},[t._v(t._s(t.$t("Save")))])],1)])},Oi=[],$i={computed:Object(v["c"])(["defaultPassword"]),components:{Options:qr},methods:{saveAndExit(){this.$store.dispatch("saveDefaultOptions",this.defaultPassword).then(this.$store.dispatch("resetPassword")).then(()=>this.$router.push({name:"home"}))}}},Li=$i,Ri=y(Li,Ai,Oi,!1,null,null,null),ji=Ri.exports;o["a"].use(nr);const Ti=[{path:"/",name:"home",component:Kr},{path:"/login",name:"login",component:mr},{path:"/settings",name:"settings",component:ji},{path:"/passwords/",name:"passwords",component:Ei},{path:"/password/reset",name:"passwordReset",component:ei},{path:"/password/reset/confirm/:uid/:token",name:"passwordResetConfirm",component:si},{path:"*",redirect:"/"}],Mi=new nr({routes:Ti});var Ii=Mi,Ni=(n("32f0"),n("f75e"),n("2ebe"),n("7e2f"),n("2394")),Bi=n("d90a"),Di=n("2508"),Fi=n("8066"),Ui=n("3e1e"),zi=n("6a7b"),qi=n("b890");o["a"].use(c,{defaultLanguage:"en",languagesAvailable:["fr","es","de","zh","zh-CN","pt","pl"]}),o["a"].locales({fr:Ni,es:Bi,de:Di,zh:Fi,"zh-CN":Ui,pt:zi,pl:qi}),Object(l["sync"])(jt,Ii),o["a"].config.productionTip=!0,new o["a"]({store:jt,router:Ii,render:t=>t(zt)}).$mount("#lesspass")},5816:function(t,e,n){"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},5819:function(t,e,n){const r=n("3708"),i=n("b686");t.exports={createFingerprint:r,createHmac:i}},"5ad7":function(t,e){function n(t){const e=unescape(encodeURIComponent(t)),n=e.split(""),r=[];for(let i=0;i{const e={length:r.length,lowercase:r.lowercase,uppercase:r.uppercase,digits:r.numbers,symbols:r.symbols},n=o.renderPassword(t,e);return Promise.resolve(n)})}function s(t){return r.createHmac("sha256",t).then(t=>{const e=r.createFingerprint(t);return Promise.resolve(e)})}t.exports={generatePassword:a,createFingerprint:s}},6984:function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"6a7b":function(t){t.exports=JSON.parse('{"Copied":"copiado!","Counter":"Contador","CounterFieldHelp":"Incremente este valor para mudar a senha gerada sem mudar sua senha mestre.","CreatePassword":"Gostaria de criar um?","DBNotRunning":"Seu banco de dados LessPass não está rodando","Email":"Email","EmailAlreadyExist":"Este email já foi registrado. Gostaria de entrar ou recuperar sua senha?","EmailInvalid":"Por favor entre um email válido","EmailRequiredError":"Nós precisamos de um email para encontrar a sua conta.","Encrypt my master password":"Criptografar minha senha mestre","ForgotPassword":"Esqueceu sua senha?","Generate":"Gerar","Length":"Comprimento","LengthDeprecationWarning":"O comprimento máximo de uma senha é de 35 caracteres.","LessPass Database Url":"URL do banco de dados LessPass","Login":"Entrar","LoginFormInvalid":"URL, email, e senha do LessPass são obrigatórios","LoginIncorrectError":"O email e senha que você digitou não estão de acordo com os nossos registros. Por favor verifique seus dados e tente novamente.","Master Password":"Senha mestre","Next":"Próximo","NoMatchFor":"Opa! Não há resultados para","NoPassword":"Você não tem nenhum perfil de senha salvo no seu banco de dados.","Options":"Options","Options by default":"Options by default","PasswordProfileCopied":"Seu perfil de senha foi copiado","PasswordResetRequired":"Uma senha é necessária","PasswordResetSuccessful":"Sua senha foi resetada com sucesso.","Previous":"Anterior","Register":"Registrar","Reset my password":"Resetar minha senha","ResetLinkExpired":"Esse link para resetar a senha já expirou.","Save":"Salve","Saved passwords":"Saved passwords","Search":"Procurar","Settings":"Settings","Sign In":"Se autenticar","Site":"Site","SiteLoginMasterPasswordMandatory":"Campos de site e credenciais de autenticação são obrigatórios.","SorryCopy":"Infelizmente a cópia somente funciona em navegadores modernos","UpdateYourSearch":"Por favor tente ampliar sua busca.","WelcomeRegister":"Bem vindo {email}, obrigado por se registrar.","resetPasswordSuccess":"Se o seu endereço de email {email} estiver associado com uma conta LessPass, você receberá logo um email do LessPass com instruções de como resetar a sua senha."}')},"74be":function(t,e,n){},7723:function(t,e,n){"use strict";(function(e){var r=n("3f48"),i=n("ac54"),o={"Content-Type":"application/x-www-form-urlencoded"};function a(t,e){!r.isUndefined(t)&&r.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}function s(){var t;return"undefined"!==typeof e&&"[object process]"===Object.prototype.toString.call(e)?t=n("032e"):"undefined"!==typeof XMLHttpRequest&&(t=n("032e")),t}var u={adapter:s(),transformRequest:[function(t,e){return i(e,"Accept"),i(e,"Content-Type"),r.isFormData(t)||r.isArrayBuffer(t)||r.isBuffer(t)||r.isStream(t)||r.isFile(t)||r.isBlob(t)?t:r.isArrayBufferView(t)?t.buffer:r.isURLSearchParams(t)?(a(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):r.isObject(t)?(a(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"===typeof t)try{t=JSON.parse(t)}catch(e){}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(t){u.headers[t]={}})),r.forEach(["post","put","patch"],(function(t){u.headers[t]=r.merge(o)})),t.exports=u}).call(this,n("07d9"))},7868:function(t,e,n){"use strict";var r=n("3f48"),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,n,o,a={};return t?(r.forEach(t.split("\n"),(function(t){if(o=t.indexOf(":"),e=r.trim(t.substr(0,o)).toLowerCase(),n=r.trim(t.substr(o+1)),e){if(a[e]&&i.indexOf(e)>=0)return;a[e]="set-cookie"===e?(a[e]?a[e]:[]).concat([n]):a[e]?a[e]+", "+n:n}})),a):a}},7947:function(t,e,n){},"7d15":function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},"7e2f":function(t,e,n){},"7ed6":function(t,e,n){},8066:function(t){t.exports=JSON.parse('{"Copied":"已複製","Counter":"計數器","CounterFieldHelp":"改變這個值,就可以在不改變主密碼的狀況下,產生新的密碼。","CreatePassword":"您要產生一組密碼嗎?","DBNotRunning":"您的 LessPass 資料庫並未執行","Email":"郵件位址","EmailAlreadyExist":"這個郵件位址已被註冊。想要登入或取回您的密碼嗎?","EmailInvalid":"請輸入一個有效的郵件位址","EmailRequiredError":"我們需要郵件位址來找到您的帳號。","Encrypt my master password":"加密我的主密码","ForgotPassword":"忘記您的登入密碼了嗎?","Generate":"產生","Length":"長度","LengthDeprecationWarning":"密碼的最大長度是35個字符。","LessPass Database Url":"LessPass數據庫URL","Login":"登入帳號","LoginFormInvalid":"LessPass URL、郵件位址、登入密碼皆為必填欄位。","LoginIncorrectError":"我們查不到您輸入的郵件位址及登入密碼。請確認後再試一次。","Master Password":"主密碼","Next":"然後","NoMatchFor":"喔不!沒有找到跟下列條件相似的結果:","NoPassword":"您的資料庫內沒有儲存任何密碼。","Options":"Options","Options by default":"Options by default","PasswordProfileCopied":"您的密码配置文件已被复制。","PasswordResetRequired":"請輸入登入密碼","PasswordResetSuccessful":"已成功重置您的登入密碼。","Previous":"以前","Register":"註冊","Reset my password":"重置我的登入密碼","ResetLinkExpired":"此登入密碼重設連結已過期。","Save":"救","Saved passwords":"Saved passwords","Search":"搜索","Settings":"Settings","Sign In":"登入","Site":"網站位址","SiteLoginMasterPasswordMandatory":"網站位址、登入帳號、主密碼皆為必填欄位。","SorryCopy":"我們很抱歉,該副本僅適用於現代瀏覽器","UpdateYourSearch":"請試著放寬您的搜尋條件。","WelcomeRegister":"歡迎 {email},謝謝您的註冊。","resetPasswordSuccess":"如果电子邮件地址 {email} 与LessPass帐户相关联,您将很快收到LessPass的电子邮件,并提供如何重置密码的说明。"}')},8206:function(t,e,n){t.exports=n("f1d8")},"85d3":function(t,e,n){"use strict";var r=n("3547"),i=n.n(r);i.a},"8a40":function(t,e,n){},"8dfc":function(t,e,n){const r=n("f0e2"),i=n("ebdd"),{consumeEntropy:o}=n("5070");function a(t,e){const n=i.getRules(e),a=i.getSetOfCharacters(n),s=o("",r(t,16),a,e.length-n.length),u=i.getOneCharPerRule(s.entropy,n);return i.insertStringPseudoRandomly(s.value,u.entropy,u.value)}t.exports={renderPassword:a}},"90bf":function(t,e,n){!function(e,n){t.exports=n()}(0,(function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}var i=n(1),o=r(i);t.exports=o.default},function(t,e,n){n(2);var r=n(6)(n(7),n(8),"data-v-82963a40",null);t.exports=r.exports},function(t,e,n){var r=n(3);"string"==typeof r&&(r=[[t.id,r,""]]),n(5)(r,{}),r.locals&&(t.exports=r.locals)},function(t,e,n){e=t.exports=n(4)(),e.push([t.id,"a[data-v-82963a40]{cursor:pointer}",""])},function(t,e){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],e=0;e=0&&m.splice(e,1)}function s(t){var e=document.createElement("style");return e.type="text/css",o(t,e),e}function u(t,e){var n,r,i;if(e.singleton){var o=g++;n=v||(v=s(e)),r=c.bind(null,n,o,!1),i=c.bind(null,n,o,!0)}else n=s(e),r=l.bind(null,n),i=function(){a(n)};return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else i()}}function c(t,e,n,r){var i=n?"":r.css;if(t.styleSheet)t.styleSheet.cssText=y(e,i);else{var o=document.createTextNode(i),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(o,a[e]):t.appendChild(o)}}function l(t,e){var n=e.css,r=e.media,i=e.sourceMap;if(r&&t.setAttribute("media",r),i&&(n+="\n/*# sourceURL="+i.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}var f={},p=function(t){var e;return function(){return"undefined"==typeof e&&(e=t.apply(this,arguments)),e}},d=p((function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())})),h=p((function(){return document.head||document.getElementsByTagName("head")[0]})),v=null,g=0,m=[];t.exports=function(t,e){e=e||{},"undefined"==typeof e.singleton&&(e.singleton=d()),"undefined"==typeof e.insertAt&&(e.insertAt="bottom");var n=i(t);return r(n,e),function(t){for(var o=[],a=0;a0&&(u=this.selected-1-i);var c=u+this.pageRange-1;c>=this.pageCount&&(c=this.pageCount-1,u=c-this.pageRange+1);for(var l=u;l<=c&&l<=this.pageCount-1;l++)o(l);u>this.marginPages&&a(u-1),c+1=this.pageCount-this.marginPages;f--)o(f)}return e}},data:function(){return{innerValue:1}},methods:{handlePageSelected:function(t){this.selected!==t&&(this.innerValue=t,this.$emit("input",t),this.clickHandler(t))},prevPage:function(){this.selected<=1||this.handlePageSelected(this.selected-1)},nextPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.selected+1)},firstPageSelected:function(){return 1===this.selected},lastPageSelected:function(){return this.selected===this.pageCount||0===this.pageCount},selectFirstPage:function(){this.selected<=1||this.handlePageSelected(1)},selectLastPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.pageCount)}}}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.noLiSurround?n("div",{class:t.containerClass},[t.firstLastButton?n("a",{class:[t.pageLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){t.selectFirstPage()},keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13)?void t.selectFirstPage():null}}}):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():n("a",{class:[t.prevLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){t.prevPage()},keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13)?void t.prevPage():null}}}),t._v(" "),t._l(t.pages,(function(e){return[e.breakView?n("a",{class:[t.pageLinkClass,t.breakViewLinkClass,e.disabled?t.disabledClass:""],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?n("a",{class:[t.pageLinkClass,e.selected?t.activeClass:"",t.disabledClass],attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):n("a",{class:[t.pageLinkClass,e.selected?t.activeClass:""],attrs:{tabindex:"0"},on:{click:function(n){t.handlePageSelected(e.index+1)},keyup:function(n){return"button"in n||!t._k(n.keyCode,"enter",13)?void t.handlePageSelected(e.index+1):null}}},[t._v(t._s(e.content))])]})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():n("a",{class:[t.nextLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){t.nextPage()},keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13)?void t.nextPage():null}}}),t._v(" "),t.firstLastButton?n("a",{class:[t.pageLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){t.selectLastPage()},keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13)?void t.selectLastPage():null}}}):t._e()],2):n("ul",{class:t.containerClass},[t.firstLastButton?n("li",{class:[t.pageClass,t.firstPageSelected()?t.disabledClass:""]},[n("a",{class:t.pageLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){t.selectFirstPage()},keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13)?void t.selectFirstPage():null}}})]):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():n("li",{class:[t.prevClass,t.firstPageSelected()?t.disabledClass:""]},[n("a",{class:t.prevLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){t.prevPage()},keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13)?void t.prevPage():null}}})]),t._v(" "),t._l(t.pages,(function(e){return n("li",{class:[t.pageClass,e.selected?t.activeClass:"",e.disabled?t.disabledClass:"",e.breakView?t.breakViewClass:""]},[e.breakView?n("a",{class:[t.pageLinkClass,t.breakViewLinkClass],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?n("a",{class:t.pageLinkClass,attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):n("a",{class:t.pageLinkClass,attrs:{tabindex:"0"},on:{click:function(n){t.handlePageSelected(e.index+1)},keyup:function(n){return"button"in n||!t._k(n.keyCode,"enter",13)?void t.handlePageSelected(e.index+1):null}}},[t._v(t._s(e.content))])])})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():n("li",{class:[t.nextClass,t.lastPageSelected()?t.disabledClass:""]},[n("a",{class:t.nextLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){t.nextPage()},keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13)?void t.nextPage():null}}})]),t._v(" "),t.firstLastButton?n("li",{class:[t.pageClass,t.lastPageSelected()?t.disabledClass:""]},[n("a",{class:t.pageLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){t.selectLastPage()},keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13)?void t.selectLastPage():null}}})]):t._e()],2)},staticRenderFns:[]}}])}))},9869:function(t,e,n){"use strict";(function(t){ +t.exports=function(t){return null!=t&&null!=t.constructor&&"function"===typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}},2488:function(t,e,n){(function(){var e=function(t,n){var i=this;e.count=(e.count||0)+1,this.count=e.count,this.isOpened=!1,this.input=o(t),this.input.setAttribute("autocomplete","off"),this.input.setAttribute("aria-expanded","false"),this.input.setAttribute("aria-owns","awesomplete_list_"+this.count),this.input.setAttribute("role","combobox"),this.options=n=n||{},r(this,{minChars:2,maxItems:10,autoFirst:!1,data:e.DATA,filter:e.FILTER_CONTAINS,sort:!1!==n.sort&&e.SORT_BYLENGTH,container:e.CONTAINER,item:e.ITEM,replace:e.REPLACE,tabSelect:!1},n),this.index=-1,this.container=this.container(t),this.ul=o.create("ul",{hidden:"hidden",role:"listbox",id:"awesomplete_list_"+this.count,inside:this.container}),this.status=o.create("span",{className:"visually-hidden",role:"status","aria-live":"assertive","aria-atomic":!0,inside:this.container,textContent:0!=this.minChars?"Type "+this.minChars+" or more characters for results.":"Begin typing for results."}),this._events={input:{input:this.evaluate.bind(this),blur:this.close.bind(this,{reason:"blur"}),keydown:function(t){var e=t.keyCode;i.opened&&(13===e&&i.selected?(t.preventDefault(),i.select(void 0,void 0,t)):9===e&&i.selected&&i.tabSelect?i.select(void 0,void 0,t):27===e?i.close({reason:"esc"}):38!==e&&40!==e||(t.preventDefault(),i[38===e?"previous":"next"]()))}},form:{submit:this.close.bind(this,{reason:"submit"})},ul:{mousedown:function(t){t.preventDefault()},click:function(t){var e=t.target;if(e!==this){while(e&&!/li/i.test(e.nodeName))e=e.parentNode;e&&0===t.button&&(t.preventDefault(),i.select(e,t.target,t))}}}},o.bind(this.input,this._events.input),o.bind(this.input.form,this._events.form),o.bind(this.ul,this._events.ul),this.input.hasAttribute("list")?(this.list="#"+this.input.getAttribute("list"),this.input.removeAttribute("list")):this.list=this.input.getAttribute("data-list")||n.list||[],e.all.push(this)};function n(t){var e=Array.isArray(t)?{label:t[0],value:t[1]}:"object"===typeof t&&"label"in t&&"value"in t?t:{label:t,value:t};this.label=e.label||e.value,this.value=e.value}function r(t,e,n){for(var r in e){var i=e[r],o=t.input.getAttribute("data-"+r.toLowerCase());"number"===typeof i?t[r]=parseInt(o):!1===i?t[r]=null!==o:i instanceof Function?t[r]=null:t[r]=o,t[r]||0===t[r]||(t[r]=r in n?n[r]:i)}}e.prototype={set list(t){if(Array.isArray(t))this._list=t;else if("string"===typeof t&&t.indexOf(",")>-1)this._list=t.split(/\s*,\s*/);else if(t=o(t),t&&t.children){var e=[];i.apply(t.children).forEach((function(t){if(!t.disabled){var n=t.textContent.trim(),r=t.value||n,i=t.label||n;""!==r&&e.push({label:i,value:r})}})),this._list=e}document.activeElement===this.input&&this.evaluate()},get selected(){return this.index>-1},get opened(){return this.isOpened},close:function(t){this.opened&&(this.input.setAttribute("aria-expanded","false"),this.ul.setAttribute("hidden",""),this.isOpened=!1,this.index=-1,this.status.setAttribute("hidden",""),o.fire(this.input,"awesomplete-close",t||{}))},open:function(){this.input.setAttribute("aria-expanded","true"),this.ul.removeAttribute("hidden"),this.isOpened=!0,this.status.removeAttribute("hidden"),this.autoFirst&&-1===this.index&&this.goto(0),o.fire(this.input,"awesomplete-open")},destroy:function(){if(o.unbind(this.input,this._events.input),o.unbind(this.input.form,this._events.form),!this.options.container){var t=this.container.parentNode;t.insertBefore(this.input,this.container),t.removeChild(this.container)}this.input.removeAttribute("autocomplete"),this.input.removeAttribute("aria-autocomplete");var n=e.all.indexOf(this);-1!==n&&e.all.splice(n,1)},next:function(){var t=this.ul.children.length;this.goto(this.index-1&&e.length>0&&(e[t].setAttribute("aria-selected","true"),this.status.textContent=e[t].textContent+", list item "+(t+1)+" of "+e.length,this.input.setAttribute("aria-activedescendant",this.ul.id+"_item_"+this.index),this.ul.scrollTop=e[t].offsetTop-this.ul.clientHeight+e[t].clientHeight,o.fire(this.input,"awesomplete-highlight",{text:this.suggestions[this.index]}))},select:function(t,e,n){if(t?this.index=o.siblingIndex(t):t=this.ul.children[this.index],t){var r=this.suggestions[this.index],i=o.fire(this.input,"awesomplete-select",{text:r,origin:e||t,originalEvent:n});i&&(this.replace(r),this.close({reason:"select"}),o.fire(this.input,"awesomplete-selectcomplete",{text:r,originalEvent:n}))}},evaluate:function(){var t=this,e=this.input.value;e.length>=this.minChars&&this._list&&this._list.length>0?(this.index=-1,this.ul.innerHTML="",this.suggestions=this._list.map((function(r){return new n(t.data(r,e))})).filter((function(n){return t.filter(n,e)})),!1!==this.sort&&(this.suggestions=this.suggestions.sort(this.sort)),this.suggestions=this.suggestions.slice(0,this.maxItems),this.suggestions.forEach((function(n,r){t.ul.appendChild(t.item(n,e,r))})),0===this.ul.children.length?(this.status.textContent="No results found",this.close({reason:"nomatches"})):(this.open(),this.status.textContent=this.ul.children.length+" results found")):(this.close({reason:"nomatches"}),this.status.textContent="No results found")}},e.all=[],e.FILTER_CONTAINS=function(t,e){return RegExp(o.regExpEscape(e.trim()),"i").test(t)},e.FILTER_STARTSWITH=function(t,e){return RegExp("^"+o.regExpEscape(e.trim()),"i").test(t)},e.SORT_BYLENGTH=function(t,e){return t.length!==e.length?t.length-e.length:t$&");return o.create("li",{innerHTML:r,role:"option","aria-selected":"false",id:"awesomplete_list_"+this.count+"_item_"+n})},e.REPLACE=function(t){this.input.value=t.value},e.DATA=function(t){return t},Object.defineProperty(n.prototype=Object.create(String.prototype),"length",{get:function(){return this.label.length}}),n.prototype.toString=n.prototype.valueOf=function(){return""+this.label};var i=Array.prototype.slice;function o(t,e){return"string"===typeof t?(e||document).querySelector(t):t||null}function a(t,e){return i.call((e||document).querySelectorAll(t))}function s(){a("input.awesomplete").forEach((function(t){new e(t)}))}o.create=function(t,e){var n=document.createElement(t);for(var r in e){var i=e[r];if("inside"===r)o(i).appendChild(n);else if("around"===r){var a=o(i);a.parentNode.insertBefore(n,a),n.appendChild(a),null!=a.getAttribute("autofocus")&&a.focus()}else r in n?n[r]=i:n.setAttribute(r,i)}return n},o.bind=function(t,e){if(t)for(var n in e){var r=e[n];n.split(/\s+/).forEach((function(e){t.addEventListener(e,r)}))}},o.unbind=function(t,e){if(t)for(var n in e){var r=e[n];n.split(/\s+/).forEach((function(e){t.removeEventListener(e,r)}))}},o.fire=function(t,e,n){var r=document.createEvent("HTMLEvents");for(var i in r.initEvent(e,!0,!0),n)r[i]=n[i];return t.dispatchEvent(r)},o.regExpEscape=function(t){return t.replace(/[-\\^$*+?.()|[\]{}]/g,"\\$&")},o.siblingIndex=function(t){for(var e=0;t=t.previousElementSibling;e++);return e},"undefined"!==typeof self&&(self.Awesomplete=e),"undefined"!==typeof Document&&("loading"!==document.readyState?s():document.addEventListener("DOMContentLoaded",s)),e.$=o,e.$$=a,t.exports&&(t.exports=e)})()},2508:function(t){t.exports=JSON.parse('{"Copied":"Kopiert!","Counter":"Zähler","CounterFieldHelp":"Erhöhen Sie diesen Wert, um das zu erstellende Passwort zu ändern, ohne Ihr Masterpasswort zu ändern.","CreatePassword":"Möchten Sie eines erstellen?","DBNotRunning":"Ihre LessPass Datenbank läuft nicht","Email":"email","EmailAlreadyExist":"Diese email-Adresse ist bereits registriert. Möchten Sie sich einloggen oder Ihr Passwort wiederherstellen?","EmailInvalid":"Bitte geben Sie eine gültige email-Adresse ein","EmailRequiredError":"Wir benötigen eine email-Adresse, um Ihr Konto zu finden.","Encrypt my master password":"Verschlüssele mein Masterpasswort","ForgotPassword":"Passwort vergessen?","Generate":"Erstelle","Length":"Länge","LengthDeprecationWarning":"Die maximale Länge eines Passwortes beträgt 35 Zeichen.","LessPass Database Url":"LessPass Datenbank Url","Login":"Login","LoginFormInvalid":"LessPass URL, email-Adresse und Passwort sind obligatorisch","LoginIncorrectError":"Die email-Adresse und das Passwort, die Sie eingegeben haben, entsprechen nicht unseren Daten. Bitte überprüfen Sie sie und versuchen es nochmal.","Master Password":"Masterpasswort","Next":"Nächste","NoMatchFor":"Ups! Dafür gibt es keine Übereinstimmung","NoPassword":"Sie haben kein Passwort-Profil in Ihrer Datenbank gespeichert.","Options":"Optionen","Options by default":"Defaultoptionen","PasswordProfileCopied":"Ihr Passwort-Profil wurde kopiert","PasswordResetRequired":"Ein Passwort ist erforderlich","PasswordResetSuccessful":"Ihr Passwort wurde erfolgreich zurückgesetzt.","Previous":"Vorherige","Register":"Registrieren","Reset my password":"Mein Passwort zurücksetzen","ResetLinkExpired":"Der Link zum Zurücksetzen des Passworts ist abgelaufen.","Save":"Speichern","Saved passwords":"Gespeicherte passwörter","Search":"Suche","Settings":"Einstellungen","Sign In":"Anmelden","Site":"Seite","SiteLoginMasterPasswordMandatory":"Die Felder für Seite, Anmeldename und Masterpasswort sind obligatorisch.","SorryCopy":"Es tut uns leid, dass die Kopie nur auf modernen Browsern funktioniert","UpdateYourSearch":"Bitte erweitern Sie Ihre Suche.","WelcomeRegister":"Willkommen {email}, danke für die Anmeldung.","resetPasswordSuccess":"Wenn die E-Mail-Adresse {email} mit einem LessPass-Konto verknüpft ist, erhalten Sie in Kürze eine E-Mail von LessPass mit Anweisungen zum Zurücksetzen Ihres Passworts."}')},"275a":function(t,e,n){"use strict";var r=n("1586");function i(t){if("function"!==typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var n=this;t((function(t){n.reason||(n.reason=new r(t),e(n.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var t,e=new i((function(e){t=e}));return{token:e,cancel:t}},t.exports=i},"2ebe":function(t,e,n){},3266:function(t,e,n){},3291:function(t,e,n){},"32f0":function(t,e,n){},"338e":function(t,e,n){"use strict";t.exports=function(t,e,n,r,i){return t.config=e,n&&(t.code=n),t.request=r,t.response=i,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},t}},3547:function(t,e,n){},"36ad":function(t,e,n){},3708:function(t,e){function n(t){const e=["#000000","#074750","#009191","#FF6CB6","#FFB5DA","#490092","#006CDB","#B66DFF","#6DB5FE","#B5DAFE","#920000","#924900","#DB6D00","#24FE23"],n=parseInt(t,16)%e.length;return e[n]}function r(t){const e=["fa-hashtag","fa-heart","fa-hotel","fa-university","fa-plug","fa-ambulance","fa-bus","fa-car","fa-plane","fa-rocket","fa-ship","fa-subway","fa-truck","fa-jpy","fa-eur","fa-btc","fa-usd","fa-gbp","fa-archive","fa-area-chart","fa-bed","fa-beer","fa-bell","fa-binoculars","fa-birthday-cake","fa-bomb","fa-briefcase","fa-bug","fa-camera","fa-cart-plus","fa-certificate","fa-coffee","fa-cloud","fa-coffee","fa-comment","fa-cube","fa-cutlery","fa-database","fa-diamond","fa-exclamation-circle","fa-eye","fa-flag","fa-flask","fa-futbol-o","fa-gamepad","fa-graduation-cap"],n=parseInt(t,16)%e.length;return e[n]}t.exports=function(t){const e=[],i=t.substring(0,6);e.push({color:n(i),icon:r(i)});const o=t.substring(6,12);e.push({color:n(o),icon:r(o)});const a=t.substring(12,18);return e.push({color:n(a),icon:r(a)}),e}},"37fe":function(t,e,n){"use strict";var r=n("3f48");t.exports=function(t,e){e=e||{};var n={};return r.forEach(["url","method","params","data"],(function(t){"undefined"!==typeof e[t]&&(n[t]=e[t])})),r.forEach(["headers","auth","proxy"],(function(i){r.isObject(e[i])?n[i]=r.deepMerge(t[i],e[i]):"undefined"!==typeof e[i]?n[i]=e[i]:r.isObject(t[i])?n[i]=r.deepMerge(t[i]):"undefined"!==typeof t[i]&&(n[i]=t[i])})),r.forEach(["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"],(function(r){"undefined"!==typeof e[r]?n[r]=e[r]:"undefined"!==typeof t[r]&&(n[r]=t[r])})),n}},"3b70":function(t,e,n){"use strict";var r=n("3f48");function i(){this.handlers=[]}i.prototype.use=function(t,e){return this.handlers.push({fulfilled:t,rejected:e}),this.handlers.length-1},i.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},i.prototype.forEach=function(t){r.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=i},"3e1e":function(t){t.exports=JSON.parse('{"Copied":"已复制","Counter":"计数器","CounterFieldHelp":"增加这个值就可以在不改变主密码的前提下生成全新的密码。","CreatePassword":"您要生成一个密码吗?","DBNotRunning":"您的 LessPass 数据库没有运行","Email":"邮件地址","EmailAlreadyExist":"这个邮件地址已被注册。登录或找回您的密码?","EmailInvalid":"请输入一个有效的电子邮件地址","EmailRequiredError":"我们需要一个电子邮件地址来找到您的账户。","Encrypt my master password":"加密我的主密码","ForgotPassword":"忘记了您的密码?","Generate":"生成","Length":"长度","LengthDeprecationWarning":"密码的最大长度是35个字符。","LessPass Database Url":"LessPass 数据库网址","Login":"登录名","LoginFormInvalid":"LessPass 网址、电子邮件地址以及密码均为必填信息。","LoginIncorrectError":"我们没找到符合您输入的电子邮件地址及密码的记录。请核验后再试。","Master Password":"主密码","Next":"下一步","NoMatchFor":"没有找到符合下列条件的内容:","NoPassword":"您的数据库里没有保存任何密码配置。","Options":"选项","Options by default":"默认选项","PasswordProfileCopied":"已复制您的密码配置。","PasswordResetRequired":"请输入登录密码","PasswordResetSuccessful":"已成功重置您的登录密码。","Previous":"上一步","Register":"注册","Reset my password":"重置我的登录密码","ResetLinkExpired":"此登录密码重置链接已过期。","Save":"保存","Saved passwords":"已保存密码","Search":"搜索","Settings":"设置","Sign In":"登录","Site":"网站名","SiteLoginMasterPasswordMandatory":"网站名、登录名以及主密码均为必填信息。","SorryCopy":"很抱歉,但复制功能仅适用于现代浏览器","UpdateYourSearch":"请尝试放宽您的搜索条件。","WelcomeRegister":"你好 {email},欢迎您的注册。","resetPasswordSuccess":"如果电子邮件地址 {email} 与一个 LessPass 账户相关联,您将很快收到 LessPass 的电子邮件,里面提供有重置密码的操作说明。"}')},"3f48":function(t,e,n){"use strict";var r=n("bdf1"),i=n("244f"),o=Object.prototype.toString;function a(t){return"[object Array]"===o.call(t)}function s(t){return"[object ArrayBuffer]"===o.call(t)}function u(t){return"undefined"!==typeof FormData&&t instanceof FormData}function c(t){var e;return e="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&t.buffer instanceof ArrayBuffer,e}function l(t){return"string"===typeof t}function f(t){return"number"===typeof t}function p(t){return"undefined"===typeof t}function d(t){return null!==t&&"object"===typeof t}function h(t){return"[object Date]"===o.call(t)}function v(t){return"[object File]"===o.call(t)}function g(t){return"[object Blob]"===o.call(t)}function m(t){return"[object Function]"===o.call(t)}function y(t){return d(t)&&m(t.pipe)}function w(t){return"undefined"!==typeof URLSearchParams&&t instanceof URLSearchParams}function b(t){return t.replace(/^\s*/,"").replace(/\s*$/,"")}function _(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function x(t,e){if(null!==t&&"undefined"!==typeof t)if("object"!==typeof t&&(t=[t]),a(t))for(var n=0,r=t.length;n=i)return{value:o,entropy:e};const a=e.divmod(r.length);return o+=r[a.remainder],n(o,a.quotient,r,i)}t.exports={consumeEntropy:n}},"50c7":function(t,e,n){(function(t){(function(e){"use strict";t&&t.exports&&(t.exports=e.atob)})(window)}).call(this,n("6984")(t))},"52fe":function(t,e,n){"use strict";var r=n("74be"),i=n.n(r);i.a},5450:function(t,e,n){},"56d7":function(t,e,n){"use strict";n.r(e);var r={};n.r(r),n.d(r,"saveDefaultOptions",(function(){return J})),n.d(r,"loadPasswordProfile",(function(){return Y})),n.d(r,"getPasswordFromUrlQuery",(function(){return Q})),n.d(r,"savePassword",(function(){return X})),n.d(r,"resetPassword",(function(){return tt})),n.d(r,"setBaseURL",(function(){return et})),n.d(r,"login",(function(){return nt})),n.d(r,"logout",(function(){return rt})),n.d(r,"getPasswords",(function(){return it})),n.d(r,"saveOrUpdatePassword",(function(){return ot})),n.d(r,"deletePassword",(function(){return at})),n.d(r,"displayMessage",(function(){return st})),n.d(r,"cleanMessage",(function(){return ut}));var i={};n.r(i),n.d(i,"isAuthenticated",(function(){return ft})),n.d(i,"isGuest",(function(){return pt})),n.d(i,"passwordURL",(function(){return dt}));var o=n("9869"),a={translate(t,e,n,r){return t&&e in t?this.compile(t[e],r):n?this.compile(n,r):e},compile(t,e){return e?t.replace(/{(\w*)}/g,(t,n)=>{return e.hasOwnProperty(n)?e[n]:""}):t},getBestLanguage(t,e,n){if("undefined"===typeof e)return n;for(let r=0;r{const n=this.locales.hasOwnProperty(e)?Object.assign({},this.locales[e],t[e]):t[e];this.setLocale({lang:e,locale:n})})},getLang(){const t=e.languagesAvailable,n=window.navigator.userLanguage||window.navigator.language,r=e.defaultLanguage;return a.getBestLanguage(t,n,r)},_translate(t,e,n){return a.translate(this.locale,t,e,n)}}}),t.prototype.$polyglot=s),t.mixin({methods:{$t(t,e,n){return this.$polyglot._translate(t,e,n)}}}),t.locales=t=>{Object.keys(t).forEach(e=>{s.$polyglot.setLocale({lang:e,locale:t[e]})})}}var c={install:u},l=n("e0ed"),f=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"card",attrs:{id:"lesspass"}},[n("lesspass-menu"),n("lesspass-message"),n("div",{staticClass:"lesspass__inner-box card-body"},[n("router-view")],1)],1)},p=[],d=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"menu"}},[n("div",{staticClass:"card-header",class:{"text-white bg-dark":t.isGuest}},[n("div",{staticClass:"row"},[n("div",{staticClass:"col-4"},[n("span",{staticClass:"white-link pointer",attrs:{id:"title"},on:{click:function(e){return t.fullReload()}}},[t._v("LessPass")])]),n("div",{staticClass:"col-8 text-right"},[t.saved&&t.isAuthenticated?n("span",[t._m(0)]):t._e(),!t.saved&&t.isAuthenticated&&""!==t.$store.state.password.site&&"/"===t.$store.state.route.path?n("span",{staticClass:"white-link",attrs:{title:t.$t("Save")},on:{click:function(e){return t.saveOrUpdatePassword()}}},[n("i",{staticClass:"fa fa-lg fa-save pointer"})]):t._e(),t.isAuthenticated?n("router-link",{staticClass:"white-link pl-3",attrs:{to:{name:"passwords"},title:t.$t("Saved passwords")}},[n("i",{staticClass:"fa fa-lg fa-key"})]):t._e(),n("router-link",{staticClass:"white-link pl-3",attrs:{to:{name:"settings"},title:t.$t("Settings")}},[n("i",{staticClass:"fa fa-lg fa-cog"})]),t.isAuthenticated?n("button",{staticClass:"white-link btn btn-link p-0 m-0 pl-3",attrs:{type:"button",title:t.$t("Sign out")},on:{click:t.logout}},[n("i",{staticClass:"fa fa-lg fa-sign-out"})]):t._e(),t.isGuest?n("router-link",{staticClass:"white-link pl-3",attrs:{to:{name:"login"},title:t.$t("Sign In")}},[n("i",{staticClass:"fa fa-lg fa-sign-in pointer"})]):t._e()],1)])])])},h=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("small",[n("i",{staticClass:"fa fa-lg fa-check pl-3"}),t._v(" saved")])}],v=n("9ce4"),g={data(){return{saved:!1}},methods:{fullReload(){this.$store.dispatch("resetPassword"),this.$router.push({name:"home"}).catch(t=>{})},logout(){this.$store.dispatch("logout"),this.$router.push({name:"home"}).catch(t=>{})},saveOrUpdatePassword(){this.$store.dispatch("saveOrUpdatePassword"),this.saved=!0,setTimeout(()=>{this.saved=!1},3e3)}},computed:{...Object(v["b"])(["isAuthenticated","isGuest"])}},m=g;n("efa6");function y(t,e,n,r,i,o,a,s){var u,c="function"===typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),a?(u=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=u):i&&(u=s?function(){i.call(this,this.$root.$options.shadowRoot)}:i),u)if(c.functional){c._injectStyles=u;var l=c.render;c.render=function(t,e){return u.call(e),l(t,e)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,u):[u]}return{exports:t,options:c}}var w=y(m,d,h,!1,null,null,null),b=w.exports,_=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"message"},on:{click:t.keepMessage}},[n("transition",{attrs:{name:"fade"}},[t.message.text?n("div",[n("div",{staticClass:"card-header text-white",class:{"bg-warning":"warning"===t.message.status,"bg-danger":"error"===t.message.status,"bg-success":"success"===t.message.status}},[n("div",{staticClass:"row"},[n("div",{staticClass:"col-12"},[n("small",[t._v(t._s(t.message.text))]),n("span",{staticClass:"close-notification",on:{click:t.hideMessage}},[n("i",{staticClass:"fa fa-close"})])])])])]):t._e()])],1)},x=[],C=n("8206"),S=n.n(C),P={addAuthorizationHeader(t){return{...t,headers:{Authorization:`Bearer ${t.access_token}`}}},all(t){return S.a.get("/api/passwords/",this.addAuthorizationHeader(t))},create(t,e){return S.a.post("/api/passwords/",t,this.addAuthorizationHeader(e))},read(t,e){return S.a.get("/api/passwords/"+t.id+"/",this.addAuthorizationHeader(e))},update(t,e){return S.a.put("/api/passwords/"+t.id+"/",t,this.addAuthorizationHeader(e))},delete(t,e){return S.a.delete("/api/passwords/"+t.id+"/",this.addAuthorizationHeader(e))}},k=n("50c7"),E=n.n(k);function A(t){if(!t)return"";var e=t.match(/^(?:https?:\/\/)([^/?#]+)(?:[/?#]|$)/i);return e&&e[1]?e[1]:""}function O(t){return/^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5})$/.test(t)}function $(t){const e=A(t)||t;if(O(e))return[];const n=e.toLowerCase().split(".").filter(t=>t.length>=2);if(n.length<2)return[];const r=n[n.length-2],i=n[n.length-1];return n.reduceRight((t,e)=>{const r=n.indexOf(e);if(r>=0&&r{"undefined"!==typeof chrome&&"undefined"!==typeof chrome.tabs&&"undefined"!==typeof chrome.tabs.query?chrome.tabs.query({active:!0,currentWindow:!0},e=>{t(A(e[0].url))}):t("")})}function R(t){const e={};return["uppercase","lowercase","numbers","symbols"].forEach(n=>{n in t&&(e[n]="true"===t[n].toLowerCase()||"1"===t[n].toLowerCase())}),["site","login"].forEach(n=>{n in t&&(e[n]=t[n])}),["length","counter","version"].forEach(n=>{n in t&&(e[n]=parseInt(t[n],10))}),e}function j(t){return JSON.parse(E()(t))}function T(t){return"passwordProfileEncoded"in t?j(t["passwordProfileEncoded"]):R(t)}const M="LOGOUT",I="LOGIN",N="SET_BASE_URL",B="SET_DEFAULT_OPTIONS",D="SET_MESSAGE",F="SET_PASSWORD",U="SET_PASSWORDS",z="SET_TOKENS",q="RESET_PASSWORD",H="SET_SITE",W="LOAD_PASSWORD_PROFILE",V="DELETE_PASSWORD",G="CLEAN_MESSAGE",Z={uppercase:!0,lowercase:!0,numbers:!0,symbols:!0,length:16,counter:1,version:2};var K={login:"",site:"",...Z};const J=({commit:t},e)=>{t(B,e)},Y=({commit:t},{site:e})=>{t(W,{site:e})},Q=({commit:t},{query:e})=>{const n=T(e),r=Object.keys(K).length;Object.keys(n).length===r&&t(F,{password:n})},X=({commit:t},e)=>{t(F,e)},tt=({commit:t})=>{t(q)},et=({commit:t},{baseURL:e})=>{t(N,{baseURL:e})},nt=({commit:t},{access:e,refresh:n})=>{t(z,{access_token:e,refresh_token:n}),t(I)},rt=({commit:t})=>{t(M),t(q)},it=({commit:t,state:e})=>{return e.authenticated?P.all(e).then(e=>{const n=e.data.results;return t(U,{passwords:n}),n}):Promise.resolve([])},ot=({commit:t,state:e})=>{const n=e.password.site,r=e.password.login,i=e.passwords.find(t=>{return t.site===n&&t.login===r});if(i){const n=Object.assign({},i,e.password);P.update(n,e).then(()=>{it({commit:t,state:e})})}else P.create(e.password,e).then(()=>{it({commit:t,state:e})})},at=({commit:t,state:e},n)=>{P.delete(n,e).then(()=>{t(V,n)})},st=({commit:t},e)=>{t(D,e)},ut=({commit:t})=>{t(G)};var ct=n("6174"),lt=n.n(ct);const ft=t=>t.authenticated,pt=t=>!t.authenticated,dt=t=>{const e=lt()(JSON.stringify(t.password)),n=encodeURIComponent(e);return`${t.baseURL}/#/?passwordProfileEncoded=${n}`};var ht={[I](t){t.authenticated=!0},[z](t,{refresh_token:e,access_token:n}){t.refresh_token=e,t.access_token=n},[M](t){t.authenticated=!1,t.token=null,t.passwords=[]},[q](t){t.password={...t.defaultPassword}},[F](t,{password:e}){t.password={...e}},[B](t,{options:e}){t.defaultPassword=Object.assign({},t.defaultPassword,e)},[U](t,{passwords:e}){t.passwords=e},[V](t,{id:e}){t.passwords=t.passwords.filter(t=>{return t.id!==e}),t.password&&t.password.id===e&&(t.password=Object.assign({},t.defaultPassword))},[N](t,{baseURL:e}){t.baseURL=e},[H](t,{site:e}){t.password.site=e},[W](t,{site:e}){if(!e||"undefined"!==typeof t.password.id)return;t.password=Object.assign({},t.password,{site:e});const n=t.passwords||[],r=e.replace(/^www./g,"");for(let i=0;i{this.deleteMessage&&Rt.dispatch("cleanMessage")},e)},keepMessage(){this.deleteMessage=!1},hideMessage(){Rt.dispatch("cleanMessage")},displayGenericError(){this.error("Oops! Something went wrong. Retry in a few minutes.")}},Tt={computed:Object(v["c"])(["message"]),methods:{keepMessage(){jt.keepMessage()},hideMessage(){jt.hideMessage()}}},Mt=Tt,It=(n("f87e"),y(Mt,_,x,!1,null,null,null)),Nt=It.exports,Bt={name:"lesspass",components:{"lesspass-menu":b,"lesspass-message":Nt},created(){this.$store.dispatch("cleanMessage"),this.$store.dispatch("resetPassword")}},Dt=Bt,Ft=(n("f1b7"),y(Dt,f,p,!1,null,null,null)),Ut=Ft.exports;function zt(t,e){0}function qt(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function Ht(t,e){return e instanceof t||e&&(e.name===t.name||e._name===t._name)}function Wt(t,e){for(var n in e)t[n]=e[n];return t}var Vt={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,e){var n=e.props,r=e.children,i=e.parent,o=e.data;o.routerView=!0;var a=i.$createElement,s=n.name,u=i.$route,c=i._routerViewCache||(i._routerViewCache={}),l=0,f=!1;while(i&&i._routerRoot!==i){var p=i.$vnode&&i.$vnode.data;p&&(p.routerView&&l++,p.keepAlive&&i._inactive&&(f=!0)),i=i.$parent}if(o.routerViewDepth=l,f)return a(c[s],o,r);var d=u.matched[l];if(!d)return c[s]=null,a();var h=c[s]=d.components[s];o.registerRouteInstance=function(t,e){var n=d.instances[s];(e&&n!==t||!e&&n===t)&&(d.instances[s]=e)},(o.hook||(o.hook={})).prepatch=function(t,e){d.instances[s]=e.componentInstance},o.hook.init=function(t){t.data.keepAlive&&t.componentInstance&&t.componentInstance!==d.instances[s]&&(d.instances[s]=t.componentInstance)};var v=o.props=Gt(u,d.props&&d.props[s]);if(v){v=o.props=Wt({},v);var g=o.attrs=o.attrs||{};for(var m in v)h.props&&m in h.props||(g[m]=v[m],delete v[m])}return a(h,o,r)}};function Gt(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0;default:0}}var Zt=/[!'()*]/g,Kt=function(t){return"%"+t.charCodeAt(0).toString(16)},Jt=/%2C/g,Yt=function(t){return encodeURIComponent(t).replace(Zt,Kt).replace(Jt,",")},Qt=decodeURIComponent;function Xt(t,e,n){void 0===e&&(e={});var r,i=n||te;try{r=i(t||"")}catch(a){r={}}for(var o in e)r[o]=e[o];return r}function te(t){var e={};return t=t.trim().replace(/^(\?|#|&)/,""),t?(t.split("&").forEach((function(t){var n=t.replace(/\+/g," ").split("="),r=Qt(n.shift()),i=n.length>0?Qt(n.join("=")):null;void 0===e[r]?e[r]=i:Array.isArray(e[r])?e[r].push(i):e[r]=[e[r],i]})),e):e}function ee(t){var e=t?Object.keys(t).map((function(e){var n=t[e];if(void 0===n)return"";if(null===n)return Yt(e);if(Array.isArray(n)){var r=[];return n.forEach((function(t){void 0!==t&&(null===t?r.push(Yt(e)):r.push(Yt(e)+"="+Yt(t)))})),r.join("&")}return Yt(e)+"="+Yt(n)})).filter((function(t){return t.length>0})).join("&"):null;return e?"?"+e:""}var ne=/\/?$/;function re(t,e,n,r){var i=r&&r.options.stringifyQuery,o=e.query||{};try{o=ie(o)}catch(s){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:o,params:e.params||{},fullPath:se(e,i),matched:t?ae(t):[]};return n&&(a.redirectedFrom=se(n,i)),Object.freeze(a)}function ie(t){if(Array.isArray(t))return t.map(ie);if(t&&"object"===typeof t){var e={};for(var n in t)e[n]=ie(t[n]);return e}return t}var oe=re(null,{path:"/"});function ae(t){var e=[];while(t)e.unshift(t),t=t.parent;return e}function se(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var i=t.hash;void 0===i&&(i="");var o=e||ee;return(n||"/")+o(r)+i}function ue(t,e){return e===oe?t===e:!!e&&(t.path&&e.path?t.path.replace(ne,"")===e.path.replace(ne,"")&&t.hash===e.hash&&ce(t.query,e.query):!(!t.name||!e.name)&&(t.name===e.name&&t.hash===e.hash&&ce(t.query,e.query)&&ce(t.params,e.params)))}function ce(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t),r=Object.keys(e);return n.length===r.length&&n.every((function(n){var r=t[n],i=e[n];return"object"===typeof r&&"object"===typeof i?ce(r,i):String(r)===String(i)}))}function le(t,e){return 0===t.path.replace(ne,"/").indexOf(e.path.replace(ne,"/"))&&(!e.hash||t.hash===e.hash)&&fe(t.query,e.query)}function fe(t,e){for(var n in e)if(!(n in t))return!1;return!0}function pe(t,e,n){var r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;var i=e.split("/");n&&i[i.length-1]||i.pop();for(var o=t.replace(/^\//,"").split("/"),a=0;a=0&&(e=t.slice(r),t=t.slice(0,r));var i=t.indexOf("?");return i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),{path:t,query:n,hash:e}}function he(t){return t.replace(/\/\//g,"/")}var ve=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},ge=Me,me=xe,ye=Ce,we=ke,be=Te,_e=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function xe(t,e){var n,r=[],i=0,o=0,a="",s=e&&e.delimiter||"/";while(null!=(n=_e.exec(t))){var u=n[0],c=n[1],l=n.index;if(a+=t.slice(o,l),o=l+u.length,c)a+=c[1];else{var f=t[o],p=n[2],d=n[3],h=n[4],v=n[5],g=n[6],m=n[7];a&&(r.push(a),a="");var y=null!=p&&null!=f&&f!==p,w="+"===g||"*"===g,b="?"===g||"*"===g,_=n[2]||s,x=h||v;r.push({name:d||i++,prefix:p||"",delimiter:_,optional:b,repeat:w,partial:y,asterisk:!!m,pattern:x?Ae(x):m?".*":"[^"+Ee(_)+"]+?"})}}return o1||!w.length)return 0===w.length?t():t("span",{},w)}if("a"===this.tag)y.on=m,y.attrs={href:s};else{var b=We(this.$slots.default);if(b){b.isStatic=!1;var _=b.data=Wt({},b.data);for(var x in _.on=_.on||{},_.on){var C=_.on[x];x in m&&(_.on[x]=Array.isArray(C)?C:[C])}for(var S in m)S in _.on?_.on[S].push(m[S]):_.on[S]=g;var P=b.data.attrs=Wt({},b.data.attrs);P.href=s}else y.on=m}return t(this.tag,y,this.$slots.default)}};function He(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function We(t){if(t)for(var e,n=0;n-1&&(s.params[p]=n.params[p]);return s.path=Ne(c.path,s.params,'named route "'+u+'"'),l(c,s,a)}if(s.path){s.params={};for(var d=0;d=t.length?n():t[i]?e(t[i],(function(){r(i+1)})):r(i+1)};r(0)}function Cn(t){return function(e,n,r){var i=!1,o=0,a=null;Sn(t,(function(t,e,n,s){if("function"===typeof t&&void 0===t.cid){i=!0,o++;var u,c=An((function(e){En(e)&&(e=e.default),t.resolved="function"===typeof e?e:De.extend(e),n.components[s]=e,o--,o<=0&&r()})),l=An((function(t){var e="Failed to resolve async component "+s+": "+t;a||(a=qt(t)?t:new Error(e),r(a))}));try{u=t(c,l)}catch(p){l(p)}if(u)if("function"===typeof u.then)u.then(c,l);else{var f=u.component;f&&"function"===typeof f.then&&f.then(c,l)}}})),i||r()}}function Sn(t,e){return Pn(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function Pn(t){return Array.prototype.concat.apply([],t)}var kn="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag;function En(t){return t.__esModule||kn&&"Module"===t[Symbol.toStringTag]}function An(t){var e=!1;return function(){var n=[],r=arguments.length;while(r--)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}var On=function(t){function e(e){t.call(this),this.name=this._name="NavigationDuplicated",this.message='Navigating to current location ("'+e.fullPath+'") is not allowed',Object.defineProperty(this,"stack",{value:(new t).stack,writable:!0,configurable:!0})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error);On._name="NavigationDuplicated";var $n=function(t,e){this.router=t,this.base=Ln(e),this.current=oe,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};function Ln(t){if(!t)if(Ge){var e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}function Rn(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n-1?decodeURI(t.slice(0,r))+t.slice(r):decodeURI(t)}else n>-1&&(t=decodeURI(t.slice(0,n))+t.slice(n));return t}function Gn(t){var e=window.location.href,n=e.indexOf("#"),r=n>=0?e.slice(0,n):e;return r+"#"+t}function Zn(t){wn?bn(Gn(t)):window.location.hash=t}function Kn(t){wn?_n(Gn(t)):window.location.replace(Gn(t))}var Jn=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,(function(){e.index=n,e.updateRoute(r)}),(function(t){Ht(On,t)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}($n),Yn=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Qe(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!wn&&!1!==t.fallback,this.fallback&&(e="hash"),Ge||(e="abstract"),this.mode=e,e){case"history":this.history=new Un(this,t.base);break;case"hash":this.history=new qn(this,t.base,this.fallback);break;case"abstract":this.history=new Jn(this,t.base);break;default:0}},Qn={currentRoute:{configurable:!0}};function Xn(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function tr(t,e,n){var r="hash"===n?"#"+e:e;return t?he(t+"/"+r):r}Yn.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},Qn.currentRoute.get=function(){return this.history&&this.history.current},Yn.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null)})),!this.app){this.app=t;var n=this.history;if(n instanceof Un)n.transitionTo(n.getCurrentLocation());else if(n instanceof qn){var r=function(){n.setupListeners()};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},Yn.prototype.beforeEach=function(t){return Xn(this.beforeHooks,t)},Yn.prototype.beforeResolve=function(t){return Xn(this.resolveHooks,t)},Yn.prototype.afterEach=function(t){return Xn(this.afterHooks,t)},Yn.prototype.onReady=function(t,e){this.history.onReady(t,e)},Yn.prototype.onError=function(t){this.history.onError(t)},Yn.prototype.push=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){r.history.push(t,e,n)}));this.history.push(t,e,n)},Yn.prototype.replace=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){r.history.replace(t,e,n)}));this.history.replace(t,e,n)},Yn.prototype.go=function(t){this.history.go(t)},Yn.prototype.back=function(){this.go(-1)},Yn.prototype.forward=function(){this.go(1)},Yn.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},Yn.prototype.resolve=function(t,e,n){e=e||this.history.current;var r=Be(t,e,n,this),i=this.match(r,e),o=i.redirectedFrom||i.fullPath,a=this.history.base,s=tr(a,o,this.mode);return{location:r,route:i,href:s,normalizedTo:r,resolved:i}},Yn.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==oe&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Yn.prototype,Qn),Yn.install=Ve,Yn.version="3.1.3",Ge&&window.Vue&&window.Vue.use(Yn);var er=Yn,nr=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("form",{on:{submit:function(e){return e.preventDefault(),t.signIn(e)}}},[n("div",{staticClass:"form-group"},[n("div",{staticClass:"inner-addon left-addon"},[n("i",{staticClass:"fa fa-globe"}),n("input",{directives:[{name:"model",rawName:"v-model",value:t.baseURL,expression:"baseURL"}],staticClass:"form-control",attrs:{id:"baseURL",type:"text",autocapitalize:"none",placeholder:t.$t("LessPass Database Url")},domProps:{value:t.baseURL},on:{input:function(e){e.target.composing||(t.baseURL=e.target.value)}}})])]),n("div",{staticClass:"form-group row"},[n("div",{staticClass:"col-12"},[n("div",{staticClass:"inner-addon left-addon"},[n("i",{staticClass:"fa fa-user"}),n("input",{directives:[{name:"model",rawName:"v-model",value:t.email,expression:"email"}],staticClass:"form-control",attrs:{id:"email",name:"username",type:"email",autocapitalize:"none",placeholder:t.$t("Email"),required:""},domProps:{value:t.email},on:{input:function(e){e.target.composing||(t.email=e.target.value)}}})])])]),n("div",{staticClass:"form-group mb-2"},[n("master-password",{attrs:{label:t.$t("Master Password"),email:t.email,showEncryptButton:!0,EncryptButtonText:t.$t("Encrypt my master password")},model:{value:t.password,callback:function(e){t.password=e},expression:"password"}})],1),n("div",{staticClass:"form-group row no-gutters mb-0"},[n("div",{staticClass:"col"},[n("button",{staticClass:"btn btn-primary btn-block",attrs:{id:"signInButton"}},[t._v(t._s(t.$t("Sign In")))])]),n("div",{staticClass:"col"},[n("button",{staticClass:"btn btn-secondary btn-block",attrs:{id:"registerButton",type:"button"},on:{click:t.register}},[t._v(t._s(t.$t("Register")))])])]),n("div",{staticClass:"form-group mb-0"},[n("button",{staticClass:"btn btn-link btn-sm p-0",attrs:{id:"login__forgot-password-btn",type:"button"},on:{click:function(e){return t.$router.push({name:"passwordReset"})}}},[n("small",[t._v(t._s(t.$t("ForgotPassword","Forgot your password?")))])])])])},rr=[],ir={login({email:t,password:e},n){return S.a.post("/api/auth/jwt/create/",{email:t,password:e},n)},register({email:t,password:e},n){return S.a.post("/api/auth/users/",{email:t,password:e},n)},resetPassword({email:t},e){return S.a.post("/api/auth/users/reset_password/",{email:t},e)},confirmResetPassword({uid:t,token:e,password:n},r){return S.a.post("/api/auth/users/reset_password_confirm/",{uid:t,token:e,new_password:n,re_new_password:n},r)}},or=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"masterPassword"},[n("div",{staticClass:"input-group inner-addon left-addon"},[n("label",{staticClass:"sr-only",attrs:{for:"passwordField"}},[t._v(t._s(t.label))]),n("i",{staticClass:"fa fa-lock"}),n("input",{ref:"passwordField",staticClass:"form-control",attrs:{id:"passwordField",name:"passwordField",type:"password",tabindex:"0",autocorrect:"off",autocapitalize:"none",placeholder:t.label},domProps:{value:t.value},on:{input:function(e){return t.updateValue(e.target.value)},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.$emit("keyupEnter")}}}),t.fingerprint&&t.value?n("span",{staticClass:"input-group-btn",on:{click:t.togglePasswordType}},[n("button",{staticClass:"btn",attrs:{id:"fingerprint",type:"button",tabindex:"-1"}},[n("small",[n("i",{staticClass:"fa fa-fw",class:[t.icon1],style:{color:t.color1}}),n("i",{staticClass:"fa fa-fw",class:[t.icon2],style:{color:t.color2}}),n("i",{staticClass:"fa fa-fw",class:[t.icon3],style:{color:t.color3}})])])]):t._e()]),t.showEncryptButton?n("button",{staticClass:"btn btn-link btn-sm p-0",class:{disabled:""===t.email},attrs:{id:"encryptMasterPassword__btn",type:"button"},on:{click:function(e){return t.encryptMasterPassword()}}},[n("small",[t._v(t._s(t.EncryptButtonText))])]):t._e()])},ar=[],sr=n("6595"),ur=n.n(sr),cr=n("9ec3"),lr={name:"masterPassword",props:{value:String,label:String,email:String,showEncryptButton:{type:Boolean,default:!1},EncryptButtonText:String},data(){return{fingerprint:null,icon1:"",icon2:"",icon3:"",color1:"",color2:"",color3:""}},methods:{updateValue(t){const e=Math.random().toString(36).substring(7);this.setFingerprint(e),this.showRealFingerprint(t),this.$refs.passwordField.value=t,this.$emit("input",t)},togglePasswordType(){const t=this.$refs.passwordField;"password"===t.type?t.type="text":t.type="password"},hidePassword(){this.$refs.passwordField.type="password"},getColor(t){var e=["#000000","#074750","#009191","#FF6CB6","#FFB5DA","#490092","#006CDB","#B66DFF","#6DB5FE","#B5DAFE","#920000","#924900","#DB6D00","#24FE23"],n=parseInt(t,16)%e.length;return e[n]},getIcon(t){var e=["fa-hashtag","fa-heart","fa-hotel","fa-university","fa-plug","fa-ambulance","fa-bus","fa-car","fa-plane","fa-rocket","fa-ship","fa-subway","fa-truck","fa-jpy","fa-eur","fa-btc","fa-usd","fa-gbp","fa-archive","fa-area-chart","fa-bed","fa-beer","fa-bell","fa-binoculars","fa-birthday-cake","fa-bomb","fa-briefcase","fa-bug","fa-camera","fa-cart-plus","fa-certificate","fa-coffee","fa-cloud","fa-coffee","fa-comment","fa-cube","fa-cutlery","fa-database","fa-diamond","fa-exclamation-circle","fa-eye","fa-flag","fa-flask","fa-futbol-o","fa-gamepad","fa-graduation-cap"],n=parseInt(t,16)%e.length;return e[n]},setFingerprint(t){ur.a.createFingerprint(t).then(t=>{this.icon1=t[0].icon,this.color1=t[0].color,this.icon2=t[1].icon,this.color2=t[1].color,this.icon3=t[2].icon,this.color3=t[2].color,this.fingerprint=t})},showRealFingerprint:Object(cr["debounce"])((function(t){this.setFingerprint(t)}),500),encryptMasterPassword(){const t=this.$refs.passwordField.value;return ur.a.generatePassword("lesspass.com",this.email,t,K).then(t=>{this.updateValue(t)})}}},fr=lr,pr=(n("f624"),y(fr,or,ar,!1,null,null,null)),dr=pr.exports,hr={data(){return{email:"",password:"",baseURL:"https://lesspass.com"}},components:{MasterPassword:dr},methods:{formIsValid(){return!!(this.email&&this.password&&this.baseURL)||(jt.error(this.$t("LoginFormInvalid","LessPass URL, email, and password are mandatory")),!1)},signIn(){if(this.formIsValid()){const t=this.baseURL;ir.login({email:this.email,password:this.password},{baseURL:t}).then(e=>{this.$store.dispatch("login",e.data),this.$store.dispatch("setBaseURL",{baseURL:t}),this.$router.push({name:"home"})}).catch(e=>{void 0===e.response&&"https://lesspass.com"!==t?jt.error(this.$t("DBNotRunning","Your LessPass Database is not running")):e.response&&400===e.response.status?jt.error(this.$t("LoginIncorrectError","The email and password you entered did not match our records. Please double-check and try again.")):jt.displayGenericError()})}},register(){if(this.formIsValid()){const t=this.baseURL;ir.register({email:this.email,password:this.password},{baseURL:t}).then(()=>{jt.success(this.$t("WelcomeRegister","Welcome {email}, thank you for signing up.",{email:this.email})),this.signIn()}).catch(t=>{t.response&&"undefined"!==typeof t.response.data.email?(-1!==t.response.data.email[0].indexOf("already exists")&&jt.error(this.$t("EmailAlreadyExist","This email is already registered. Want to login or recover your password?")),-1!==t.response.data.email[0].indexOf("valid email")&&jt.error(this.$t("EmailInvalid","Please enter a valid email"))):jt.displayGenericError()})}}}},vr=hr,gr=(n("d6db"),y(vr,nr,rr,!1,null,null,null)),mr=gr.exports,yr=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("form",{attrs:{id:"password-generator",novalidate:""},on:{submit:function(e){return e.preventDefault(),t.generatePassword(e)}}},[n("div",{staticClass:"form-group"},[n("input-site",{ref:"site",attrs:{passwords:t.passwords,label:t.$t("Site")},on:{suggestionSelected:t.setSite,passwordProfileSelected:t.setPasswordProfile},model:{value:t.password.site,callback:function(e){t.$set(t.password,"site",e)},expression:"password.site"}})],1),n("remove-auto-complete"),n("div",{staticClass:"form-group"},[n("label",{staticClass:"sr-only",attrs:{for:"login"}},[t._v(t._s(t.$t("Login")))]),n("div",{staticClass:"inner-addon left-addon"},[n("i",{staticClass:"fa fa-user"}),n("input",{directives:[{name:"model",rawName:"v-model",value:t.password.login,expression:"password.login"}],ref:"login",staticClass:"form-control",attrs:{id:"login",type:"text",name:"login",tabindex:"0",autocomplete:"off",autocorrect:"off",autocapitalize:"none",placeholder:t.$t("Login")},domProps:{value:t.password.login},on:{input:function(e){e.target.composing||t.$set(t.password,"login",e.target.value)}}})])]),n("div",{staticClass:"form-group"},[n("master-password",{ref:"masterPassword",attrs:{label:t.$t("Master Password")},on:{generatePassword:t.generatePassword},model:{value:t.masterPassword,callback:function(e){t.masterPassword=e},expression:"masterPassword"}})],1),n("options",{attrs:{options:t.password}}),n("div",{staticClass:"form-group mt-4 mb-0"},[t.passwordGenerated?t._e():n("button",{staticClass:"btn btn-primary btn-block",attrs:{id:"generatePassword__btn",type:"submit",tabindex:"0"}},[t._v(t._s(t.$t("Generate")))]),n("div",{directives:[{name:"show",rawName:"v-show",value:t.passwordGenerated,expression:"passwordGenerated"}],staticClass:"input-group"},[n("span",{staticClass:"input-group-btn"},[n("button",{staticClass:"btn btn-primary",attrs:{id:"copyPasswordButton",tabindex:"0",type:"button"},on:{click:function(e){return t.copyPassword()}}},[n("i",{staticClass:"fa fa-clipboard"})])]),n("input",{ref:"passwordGenerated",staticClass:"form-control",attrs:{id:"generated-password",type:"password",tabindex:"-1"},domProps:{value:t.passwordGenerated}}),n("span",{staticClass:"input-group-btn"},[n("button",{staticClass:"btn btn-secondary",attrs:{id:"revealGeneratedPassword",type:"button",tabindex:"0"},on:{click:function(e){return t.togglePasswordType(t.$refs.passwordGenerated)}}},[n("i",{staticClass:"fa fa-eye"})])]),n("span",{staticClass:"input-group-btn"},[n("button",{staticClass:"btn btn-secondary",attrs:{id:"sharePasswordProfileButton",type:"button",tabindex:"0"},on:{click:function(e){return t.sharePasswordProfile()}}},[n("i",{staticClass:"fa fa-share-alt pointer"})])])])])],1)},wr=[],br=n("1c35"),_r=n.n(br),xr=function(){var t=this,e=t.$createElement;t._self._c;return t._m(0)},Cr=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticStyle:{display:"none"}},[n("label",{attrs:{for:"username"}},[n("input",{attrs:{type:"text",id:"username",name:"username",autocomplete:"username"}})]),n("label",{attrs:{for:"password"}},[n("input",{attrs:{type:"password",id:"password",name:"password",autocomplete:"current-password"}})])])}],Sr={},Pr=y(Sr,xr,Cr,!1,null,null,null),kr=Pr.exports,Er=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"inputSite"},[n("label",{staticClass:"sr-only",attrs:{for:"siteField"}},[t._v(t._s(t.label))]),n("div",{staticClass:"inner-addon left-addon"},[n("i",{staticClass:"fa fa-globe"}),n("input",{directives:[{name:"model",rawName:"v-model",value:t.site,expression:"site"}],ref:"siteField",staticClass:"form-control awesomplete",attrs:{id:"siteField",type:"text",name:"siteField",tabindex:"0",autocorrect:"off",autocapitalize:"none",placeholder:t.label},domProps:{value:t.site},on:{input:function(e){e.target.composing||(t.site=e.target.value)}}})])])},Ar=[],Or=n("2488"),$r=n.n(Or),Lr={name:"inputSite",props:{value:String,label:String,passwords:{type:Array,default:()=>[]}},mounted(){this.awesomplete=new $r.a(this.$refs.siteField),this.awesomplete.item=(t,e)=>{let n=$r.a.ITEM(t.value.site,e);return n.innerHTML+=` ${t.value.login}`,n},this.awesomplete.filter=(t,e)=>{return $r.a.FILTER_CONTAINS(t,e)||$r.a.FILTER_CONTAINS(e,t)},this.awesomplete.data=t=>{return{label:t.site,value:t}},this.awesomplete.replace=t=>{this.$refs.siteField.value=t.label,t.value.suggestion?this.$emit("suggestionSelected",t.value.site):this.$emit("passwordProfileSelected",t.value)},this.awesomplete.sort=(t,e)=>{return t.value.site.localeCompare(e.value.site)||t.value.login.localeCompare(e.value.login)}},computed:{site:{get:function(){return this.value},set:function(t){this.$emit("input",t)}}},watch:{site:function(t){const e=$(t).map(t=>{return{site:t,suggestion:!0,login:""}});this.awesomplete.list=this.passwords.concat(e)}},methods:{}},Rr=Lr,jr=(n("ac25"),y(Rr,Er,Ar,!1,null,null,null)),Tr=jr.exports,Mr=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"options"}},[n("div",{staticClass:"form-group row"},[n("div",{staticClass:"col-12"},[n("div",{staticClass:"row"},[n("div",{staticClass:"col"},[n("label",{attrs:{for:"types"}},[t._v(t._s(t.$t("Options")))])])]),n("div",{staticClass:"row",attrs:{id:"types"}},[n("div",{staticClass:"col-3"},[n("button",{staticClass:"btn btn-block btn-sm px-0",class:{"btn-primary":!0===t.options.lowercase,"btn-secondary":!1===t.options.lowercase},attrs:{id:"lowercase__btn",type:"button",tabindex:"1"},on:{click:function(e){t.options.lowercase=!t.options.lowercase}}},[t._v("a-z")])]),n("div",{staticClass:"col-3"},[n("button",{staticClass:"btn btn-block btn-sm px-0",class:{"btn-primary":!0===t.options.uppercase,"btn-secondary":!1===t.options.uppercase},attrs:{id:"uppercase__btn",type:"button",tabindex:"1"},on:{click:function(e){t.options.uppercase=!t.options.uppercase}}},[t._v("A-Z")])]),n("div",{staticClass:"col-3"},[n("button",{staticClass:"btn btn-block btn-sm px-0",class:{"btn-primary":!0===t.options.numbers,"btn-secondary":!1===t.options.numbers},attrs:{id:"numbers__btn",type:"button",tabindex:"1"},on:{click:function(e){t.options.numbers=!t.options.numbers}}},[t._v("0-9")])]),n("div",{staticClass:"col-3"},[n("button",{staticClass:"btn btn-block btn-sm px-0",class:{"btn-primary":!0===t.options.symbols,"btn-secondary":!1===t.options.symbols},attrs:{id:"symbols__btn",type:"button",tabindex:"1"},on:{click:function(e){t.options.symbols=!t.options.symbols}}},[t._v("%!@")])])])])]),n("div",{staticClass:"form-group row mb-0"},[n("div",{staticClass:"col-5 col-sm-4"},[n("label",{attrs:{for:"passwordLength"}},[t._v(t._s(t.$t("Length")))]),n("div",{staticClass:"input-group input-group-sm"},[n("span",{staticClass:"input-group-btn"},[n("button",{staticClass:"btn btn-primary btn-sm px-2",attrs:{id:"decreaseLength__btn",tabindex:"1",type:"button"},on:{click:function(e){t.options.length=t.decrement(t.options.length,{min:5,max:35})}}},[t._m(0)])]),n("input",{directives:[{name:"model",rawName:"v-model.number",value:t.options.length,expression:"options.length",modifiers:{number:!0}}],staticClass:"form-control form-control-sm",attrs:{id:"passwordLength",tabindex:"1",type:"number",min:"5",max:"35"},domProps:{value:t.options.length},on:{input:function(e){e.target.composing||t.$set(t.options,"length",t._n(e.target.value))},blur:function(e){return t.$forceUpdate()}}}),n("span",{staticClass:"input-group-btn"},[n("button",{staticClass:"btn btn-primary btn-sm px-2",attrs:{id:"increaseLength__btn",tabindex:"1",type:"button"},on:{click:function(e){t.options.length=t.increment(t.options.length,{min:5,max:35})}}},[t._m(1)])])])]),n("div",{staticClass:"col-5 col-sm-4"},[n("label",{attrs:{for:"passwordCounter","data-balloon-length":"large","data-balloon":t.$t("CounterFieldHelp","Increment this value to change the generated password without changing your master options."),"data-balloon-pos":"up"}},[t._v(t._s(t.$t("Counter")))]),n("div",{staticClass:"input-group input-group-sm"},[n("span",{staticClass:"input-group-btn"},[n("button",{staticClass:"btn btn-primary btn-sm px-2",attrs:{id:"decreaseCounter__btn",tabindex:"1",type:"button"},on:{click:function(e){t.options.counter=t.decrement(t.options.counter,{min:1})}}},[t._m(2)])]),n("input",{directives:[{name:"model",rawName:"v-model.number",value:t.options.counter,expression:"options.counter",modifiers:{number:!0}}],staticClass:"form-control form-control-sm",attrs:{id:"passwordCounter",tabindex:"1",type:"number",min:"1"},domProps:{value:t.options.counter},on:{input:function(e){e.target.composing||t.$set(t.options,"counter",t._n(e.target.value))},blur:function(e){return t.$forceUpdate()}}}),n("span",{staticClass:"input-group-btn"},[n("button",{staticClass:"btn btn-primary btn-sm px-2",attrs:{id:"increaseCounter__btn",tabindex:"1",type:"button"},on:{click:function(e){t.options.counter=t.increment(t.options.counter,{min:1})}}},[t._m(3)])])])])])])},Ir=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("small",[n("i",{staticClass:"fa fa-minus"})])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("small",[n("i",{staticClass:"fa fa-plus"})])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("small",[n("i",{staticClass:"fa fa-minus"})])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("small",[n("i",{staticClass:"fa fa-plus"})])}];function Nr(t,{min:e,max:n}){return t>n?n:t{L().then(t=>{this.$store.dispatch("loadPasswordProfile",{site:t})}),this.$store.dispatch("getPasswordFromUrlQuery",{query:this.$route.query})})},mounted(){setTimeout(()=>{this.focusBestInputField()},500)},data(){return{masterPassword:"",passwordGenerated:"",cleanTimeout:null}},watch:{password:{handler:function(){this.cleanErrors()},deep:!0},masterPassword:function(t){this.masterPassword=t,this.cleanErrors()}},methods:{togglePasswordType(t){"password"===t.type?t.type="text":t.type="password"},cleanErrors(){clearTimeout(this.cleanTimeout),this.passwordGenerated="",this.$refs.masterPassword.hidePassword()},cleanFormIn30Seconds(){const t=3e4;this.cleanTimeout=setTimeout(()=>{this.masterPassword="",this.passwordGenerated="",this.$refs.masterPassword.hidePassword()},t)},generatePassword(){const t=this.password.site,e=this.password.login,n=this.masterPassword;if(!t&&!e||!n)return void jt.error(this.$t("SiteLoginMasterPasswordMandatory","Site, login, and master password fields are mandatory."));const r=this.password.length;r>35&&jt.warning(this.$t("LengthDeprecationWarning","The maximum length of a password is 35 characters.")),this.cleanErrors();const i={lowercase:this.password.lowercase,uppercase:this.password.uppercase,numbers:this.password.numbers,symbols:this.password.symbols,length:this.password.length,counter:this.password.counter,version:this.password.version};return ur.a.generatePassword(t,e,n,i).then(t=>{this.passwordGenerated=t,this.cleanFormIn30Seconds()})},focusBestInputField(){try{const t=this.$refs.site.$refs.siteField,e=this.$refs.login,n=this.$refs.masterPassword;if(t&&!t.value)return void t.focus();if(e&&!e.value)return void e.focus();n.$refs.passwordField.focus()}catch(t){console.error("Can't focus password field")}},copyPassword(){const t=_r()(this.passwordGenerated);if(t){const t=document.getElementById("copyPasswordButton");Hr(t,this.$t("Copied","copied !")),setTimeout(()=>Wr(t),2e3)}else jt.warning(this.$t("SorryCopy","Sorry, copying only works in modern browsers."))},sharePasswordProfile(){const t=_r()(this.passwordURL);if(t){const t=this.$t("PasswordProfileCopied","Your password profile has been copied"),e=document.getElementById("sharePasswordProfileButton");Hr(e,t,"left"),setTimeout(()=>Wr(e),2e3)}else jt.warning(this.$t("SorryCopy","Sorry, copying only works in modern browsers."))},setSite(t){this.password.site=t},setPasswordProfile(t){this.$store.dispatch("savePassword",{password:t}).then(()=>{this.focusBestInputField()})}}},Gr=Vr,Zr=(n("1d36"),y(Gr,yr,wr,!1,null,null,null)),Kr=Zr.exports,Jr=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("form",{on:{submit:function(e){return e.preventDefault(),t.resetPassword(e)}}},[n("div",{staticClass:"form-group row"},[n("div",{staticClass:"col-12"},[n("div",{staticClass:"inner-addon left-addon"},[n("i",{staticClass:"fa fa-user"}),n("input",{directives:[{name:"model",rawName:"v-model",value:t.email,expression:"email"}],staticClass:"form-control",attrs:{id:"email",name:"email",type:"email",placeholder:"Email"},domProps:{value:t.email},on:{input:function(e){e.target.composing||(t.email=e.target.value)}}})])])]),n("div",{staticClass:"form-group row"},[n("div",{staticClass:"col-12"},[n("button",{staticClass:"btn btn-primary",attrs:{id:"password-reset__reset-password-btn"}},[t._v(" "+t._s(t.$t("Reset my password"))+" ")])])])])},Yr=[],Qr={data(){return{email:""}},computed:{...Object(v["c"])(["baseURL"])},methods:{resetPassword(){const t=this.baseURL;t?this.email?ir.resetPassword({email:this.email},{baseURL:t}).then(()=>{const t=this.$t("resetPasswordSuccess","If the email address {email} is associated with a LessPass account, you will shortly receive an email from LessPass with instructions on how to reset your password.",{email:this.email});jt.success(t)}).catch(()=>{jt.displayGenericError()}):jt.error(this.$t("EmailRequiredError","We need an email to find your account.")):jt.displayGenericError()}}},Xr=Qr,ti=y(Xr,Jr,Yr,!1,null,null,null),ei=ti.exports,ni=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("form",{on:{submit:function(e){return e.preventDefault(),t.resetPasswordConfirm(e)}}},[n("div",{staticClass:"form-group row"},[n("div",{staticClass:"col-12"},[n("div",{staticClass:"inner-addon left-addon"},[n("i",{staticClass:"fa fa-user"}),n("input",{directives:[{name:"model",rawName:"v-model",value:t.email,expression:"email"}],staticClass:"form-control",attrs:{id:"email",name:"email",type:"email",placeholder:"Email"},domProps:{value:t.email},on:{input:function(e){e.target.composing||(t.email=e.target.value)}}})])])]),n("div",{staticClass:"form-group row"},[n("div",{staticClass:"col-12"},[n("master-password",{attrs:{label:t.$t("Master Password"),email:t.email,showEncryptButton:!0,EncryptButtonText:t.$t("Encrypt my master password")},model:{value:t.password,callback:function(e){t.password=e},expression:"password"}})],1)]),n("div",{staticClass:"form-group row"},[n("div",{staticClass:"col-12"},[n("button",{staticClass:"btn btn-primary",attrs:{id:"loginButton"}},[t._v(" "+t._s(t.$t("Reset my password"))+" ")])])])])},ri=[],ii={components:{MasterPassword:dr},data(){return{email:"",password:""}},computed:Object(v["c"])(["baseURL"]),methods:{resetPasswordConfirm(){this.password?ir.confirmResetPassword({uid:this.$route.params.uid,token:this.$route.params.token,password:this.password},{baseURL:this.baseURL}).then(()=>{jt.success(this.$t("PasswordResetSuccessful","Your password was reset successfully.")),ir.login({email:this.email,password:this.password},{baseURL:this.baseURL}).then(t=>{this.$store.dispatch("login",t.data),this.$router.push({name:"home"})}).catch(t=>jt.displayGenericError())}).catch(t=>{400===t.response.status?jt.error(this.$t("ResetLinkExpired","This password reset link has expired.")):jt.displayGenericError()}):jt.error(this.$t("PasswordResetRequired","A password is required"))}}},oi=ii,ai=y(oi,ni,ri,!1,null,null,null),si=ai.exports,ui=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"passwords"}},[n("div",{staticClass:"pb-3",attrs:{id:"passwords__search"}},[n("div",{staticClass:"row"},[n("div",{staticClass:"col"},[n("div",{staticClass:"inner-addon left-addon"},[n("i",{staticClass:"fa fa-search"}),n("input",{directives:[{name:"model",rawName:"v-model",value:t.searchQuery,expression:"searchQuery"}],staticClass:"form-control",attrs:{type:"text",name:"search",placeholder:t.$t("Search")},domProps:{value:t.searchQuery},on:{input:function(e){e.target.composing||(t.searchQuery=e.target.value)}}})])])])]),n("div",{attrs:{id:"passwords__list"}},[0===t.passwords.length?n("div",[n("div",{staticClass:"row"},[n("div",{staticClass:"col"},[t._v(" "+t._s(t.$t("NoPassword","You don't have any password profile saved in your database."))+" "),n("router-link",{attrs:{to:{name:"home"}}},[t._v(t._s(t.$t("CreatePassword","Would you like to create one?")))])],1)])]):t._e(),0===t.filteredPasswords.length&&t.passwords.length>0?n("div",[n("div",{staticClass:"row"},[n("div",{staticClass:"col"},[t._v(" "+t._s(t.$t("NoMatchFor","Oops! There are no matches for"))+' "'+t._s(t.searchQuery)+'". '+t._s(t.$t("UpdateYourSearch","Please try broadening your search."))+" ")])])]):t._e(),t._l(t.filteredPasswords,(function(e){return n("password-profile",{key:e.id,attrs:{password:e},on:{deleted:function(e){t.pagination.currentPage=1}}})}))],2),t.pagination.pageCount>1?n("div",{attrs:{id:"passwords__pagination"}},[n("paginate",{attrs:{"page-count":t.pagination.pageCount,"page-range":1,"margin-pages":1,"click-handler":t.setCurrentPage,containerClass:"pagination pagination-sm","page-class":"page-item","prev-class":"page-item","next-class":"page-item","page-link-class":"page-link","prev-link-class":"page-link","next-link-class":"page-link","prev-text":t.$t("Previous"),"next-text":t.$t("Next")}})],1):t._e()])},ci=[],li=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"passwordProfile"},[n("div",{staticClass:"passwordProfile__info",on:{click:function(e){return t.setPassword()}}},[n("avatar",{attrs:{name:t.password.site}}),n("div",{staticClass:"passwordProfile__meta"},[n("b",[t._v(t._s(t.password.site))]),n("br"),t._v(" "+t._s(t.password.login)+" ")])],1),n("div",{staticClass:"passwordProfile__actions"},[n("i",{staticClass:"passwordProfile__delete-icon fa fa-trash fa-fw text-danger",on:{click:function(e){return t.deletePassword()}}})])])},fi=[],pi=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"passwordProfile__avatar",style:t.avatarStyle},[t._v(t._s(t.firstLetter))])},di=[],hi={name:"avatar",props:{name:{type:String,required:!0}},data(){return{alphabetColors:{a:"#5A8770",b:"#B2B7BB",c:"#6FA9AB",d:"#F5AF29",e:"#0088B9",f:"#F18636",g:"#D93A37",h:"#A6B12E",i:"#5C9BBC",j:"#F5888D",k:"#9A89B5",l:"#407887",m:"#9A89B5",n:"#5A8770",o:"#D33F33",p:"#A2B01F",q:"#F0B126",r:"#0087BF",s:"#F18636",t:"#0087BF",u:"#B2B7BB",v:"#72ACAE",w:"#9C8AB4",x:"#5A8770",y:"#EEB424",z:"#407887"},firstLetter:""}},mounted(){this.firstLetter=this.$props.name.charAt(0)},computed:{avatarStyle:function(){return{backgroundColor:this.alphabetColors[this.firstLetter]||"#5A8770"}}}},vi=hi,gi=(n("52fe"),y(vi,pi,di,!1,null,null,null)),mi=gi.exports,yi={name:"passwordProfile",props:{password:{type:Object,required:!0}},components:{Avatar:mi},methods:{deletePassword(){this.$store.dispatch("deletePassword",{id:this.password.id})},setPassword(){this.$store.dispatch("savePassword",{password:this.password}),this.$router.push({name:"home"})}}},wi=yi,bi=(n("f732"),y(wi,li,fi,!1,null,null,null)),_i=bi.exports,xi=n("90bf"),Ci=n.n(xi),Si={name:"passwords-view",data(){return{searchQuery:"",pagination:{pageCount:1,perPage:4,currentPage:1}}},components:{PasswordProfile:_i,Paginate:Ci.a},computed:{...Object(v["c"])(["passwords"]),filteredPasswords(){const t=this.passwords.filter(t=>{var e=t.login.match(new RegExp(this.searchQuery,"i")),n=t.site.match(new RegExp(this.searchQuery,"i"));return e||n});return this.pagination.pageCount=Math.ceil(t.length/this.pagination.perPage),t.slice(this.pagination.currentPage*this.pagination.perPage-this.pagination.perPage,this.pagination.currentPage*this.pagination.perPage)}},methods:{setCurrentPage(t){this.pagination.currentPage=t}}},Pi=Si,ki=(n("85d3"),y(Pi,ui,ci,!1,null,null,null)),Ei=ki.exports,Ai=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("h5",[t._v(t._s(t.$t("Options by default")))]),n("form",{attrs:{id:"lesspass-options-form",novalidate:""},on:{submit:function(e){return e.preventDefault(),t.saveAndExit(e)}}},[n("div",{staticClass:"form-group"},[n("label",{attrs:{for:"login"}},[t._v(t._s(t.$t("Login")))]),n("div",{staticClass:"inner-addon left-addon"},[n("i",{staticClass:"fa fa-user"}),n("input",{directives:[{name:"model",rawName:"v-model",value:t.defaultPassword.login,expression:"defaultPassword.login"}],ref:"login",staticClass:"form-control",attrs:{id:"login",type:"text",name:"login",autocomplete:"off",autocorrect:"off",autocapitalize:"none",placeholder:t.$t("Login")},domProps:{value:t.defaultPassword.login},on:{input:function(e){e.target.composing||t.$set(t.defaultPassword,"login",e.target.value)}}})])]),n("options",{attrs:{options:t.defaultPassword}}),n("button",{staticClass:"btn btn-primary btn-block mt-4",attrs:{type:"submit",id:"btn-submit-settings"}},[t._v(t._s(t.$t("Save")))])],1)])},Oi=[],$i={computed:Object(v["c"])(["defaultPassword"]),components:{Options:qr},methods:{saveAndExit(){this.$store.dispatch("saveDefaultOptions",this.defaultPassword).then(this.$store.dispatch("resetPassword")).then(()=>this.$router.push({name:"home"}))}}},Li=$i,Ri=y(Li,Ai,Oi,!1,null,null,null),ji=Ri.exports;o["a"].use(er);const Ti=[{path:"/",name:"home",component:Kr},{path:"/login",name:"login",component:mr},{path:"/settings",name:"settings",component:ji},{path:"/passwords/",name:"passwords",component:Ei},{path:"/password/reset",name:"passwordReset",component:ei},{path:"/password/reset/confirm/:uid/:token",name:"passwordResetConfirm",component:si},{path:"*",redirect:"/"}],Mi=new er({routes:Ti});var Ii=Mi,Ni=(n("32f0"),n("f75e"),n("2ebe"),n("7e2f"),n("2394")),Bi=n("d90a"),Di=n("2508"),Fi=n("8066"),Ui=n("3e1e"),zi=n("6a7b"),qi=n("b890");o["a"].use(c,{defaultLanguage:"en",languagesAvailable:["fr","es","de","zh","zh-CN","pt","pl"]}),o["a"].locales({fr:Ni,es:Bi,de:Di,zh:Fi,"zh-CN":Ui,pt:zi,pl:qi}),Object(l["sync"])(Rt,Ii),o["a"].config.productionTip=!0,new o["a"]({store:Rt,router:Ii,render:t=>t(Ut)}).$mount("#lesspass")},5816:function(t,e,n){"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},5819:function(t,e,n){const r=n("3708"),i=n("b686");t.exports={createFingerprint:r,createHmac:i}},"5ad7":function(t,e){function n(t){const e=unescape(encodeURIComponent(t)),n=e.split(""),r=[];for(let i=0;i{const e={length:l,lowercase:p,uppercase:d,digits:h,symbols:v},n=o.renderPassword(t,e);return Promise.resolve(n)})}function s(t){return r.createHmac("sha256",t).then(t=>{const e=r.createFingerprint(t);return Promise.resolve(e)})}t.exports={generatePassword:a,createFingerprint:s}},6984:function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"6a7b":function(t){t.exports=JSON.parse('{"Copied":"copiado!","Counter":"Contador","CounterFieldHelp":"Incremente este valor para mudar a senha gerada sem mudar sua senha mestre.","CreatePassword":"Gostaria de criar um?","DBNotRunning":"Seu banco de dados LessPass não está rodando","Email":"Email","EmailAlreadyExist":"Este email já foi registrado. Gostaria de entrar ou recuperar sua senha?","EmailInvalid":"Por favor entre um email válido","EmailRequiredError":"Nós precisamos de um email para encontrar a sua conta.","Encrypt my master password":"Criptografar minha senha mestre","ForgotPassword":"Esqueceu sua senha?","Generate":"Gerar","Length":"Comprimento","LengthDeprecationWarning":"O comprimento máximo de uma senha é de 35 caracteres.","LessPass Database Url":"URL do banco de dados LessPass","Login":"Entrar","LoginFormInvalid":"URL, email, e senha do LessPass são obrigatórios","LoginIncorrectError":"O email e senha que você digitou não estão de acordo com os nossos registros. Por favor verifique seus dados e tente novamente.","Master Password":"Senha mestre","Next":"Próximo","NoMatchFor":"Opa! Não há resultados para","NoPassword":"Você não tem nenhum perfil de senha salvo no seu banco de dados.","Options":"Options","Options by default":"Options by default","PasswordProfileCopied":"Seu perfil de senha foi copiado","PasswordResetRequired":"Uma senha é necessária","PasswordResetSuccessful":"Sua senha foi resetada com sucesso.","Previous":"Anterior","Register":"Registrar","Reset my password":"Resetar minha senha","ResetLinkExpired":"Esse link para resetar a senha já expirou.","Save":"Salve","Saved passwords":"Saved passwords","Search":"Procurar","Settings":"Settings","Sign In":"Se autenticar","Site":"Site","SiteLoginMasterPasswordMandatory":"Campos de site e credenciais de autenticação são obrigatórios.","SorryCopy":"Infelizmente a cópia somente funciona em navegadores modernos","UpdateYourSearch":"Por favor tente ampliar sua busca.","WelcomeRegister":"Bem vindo {email}, obrigado por se registrar.","resetPasswordSuccess":"Se o seu endereço de email {email} estiver associado com uma conta LessPass, você receberá logo um email do LessPass com instruções de como resetar a sua senha."}')},"74be":function(t,e,n){},7723:function(t,e,n){"use strict";(function(e){var r=n("3f48"),i=n("ac54"),o={"Content-Type":"application/x-www-form-urlencoded"};function a(t,e){!r.isUndefined(t)&&r.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}function s(){var t;return"undefined"!==typeof e&&"[object process]"===Object.prototype.toString.call(e)?t=n("032e"):"undefined"!==typeof XMLHttpRequest&&(t=n("032e")),t}var u={adapter:s(),transformRequest:[function(t,e){return i(e,"Accept"),i(e,"Content-Type"),r.isFormData(t)||r.isArrayBuffer(t)||r.isBuffer(t)||r.isStream(t)||r.isFile(t)||r.isBlob(t)?t:r.isArrayBufferView(t)?t.buffer:r.isURLSearchParams(t)?(a(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):r.isObject(t)?(a(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"===typeof t)try{t=JSON.parse(t)}catch(e){}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(t){u.headers[t]={}})),r.forEach(["post","put","patch"],(function(t){u.headers[t]=r.merge(o)})),t.exports=u}).call(this,n("07d9"))},7868:function(t,e,n){"use strict";var r=n("3f48"),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,n,o,a={};return t?(r.forEach(t.split("\n"),(function(t){if(o=t.indexOf(":"),e=r.trim(t.substr(0,o)).toLowerCase(),n=r.trim(t.substr(o+1)),e){if(a[e]&&i.indexOf(e)>=0)return;a[e]="set-cookie"===e?(a[e]?a[e]:[]).concat([n]):a[e]?a[e]+", "+n:n}})),a):a}},7947:function(t,e,n){},"7d15":function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},"7e2f":function(t,e,n){},"7ed6":function(t,e,n){},8066:function(t){t.exports=JSON.parse('{"Copied":"已複製","Counter":"計數器","CounterFieldHelp":"改變這個值,就可以在不改變主密碼的狀況下,產生新的密碼。","CreatePassword":"您要產生一組密碼嗎?","DBNotRunning":"您的 LessPass 資料庫並未執行","Email":"郵件位址","EmailAlreadyExist":"這個郵件位址已被註冊。想要登入或取回您的密碼嗎?","EmailInvalid":"請輸入一個有效的郵件位址","EmailRequiredError":"我們需要郵件位址來找到您的帳號。","Encrypt my master password":"加密我的主密码","ForgotPassword":"忘記您的登入密碼了嗎?","Generate":"產生","Length":"長度","LengthDeprecationWarning":"密碼的最大長度是35個字符。","LessPass Database Url":"LessPass數據庫URL","Login":"登入帳號","LoginFormInvalid":"LessPass URL、郵件位址、登入密碼皆為必填欄位。","LoginIncorrectError":"我們查不到您輸入的郵件位址及登入密碼。請確認後再試一次。","Master Password":"主密碼","Next":"然後","NoMatchFor":"喔不!沒有找到跟下列條件相似的結果:","NoPassword":"您的資料庫內沒有儲存任何密碼。","Options":"Options","Options by default":"Options by default","PasswordProfileCopied":"您的密码配置文件已被复制。","PasswordResetRequired":"請輸入登入密碼","PasswordResetSuccessful":"已成功重置您的登入密碼。","Previous":"以前","Register":"註冊","Reset my password":"重置我的登入密碼","ResetLinkExpired":"此登入密碼重設連結已過期。","Save":"救","Saved passwords":"Saved passwords","Search":"搜索","Settings":"Settings","Sign In":"登入","Site":"網站位址","SiteLoginMasterPasswordMandatory":"網站位址、登入帳號、主密碼皆為必填欄位。","SorryCopy":"我們很抱歉,該副本僅適用於現代瀏覽器","UpdateYourSearch":"請試著放寬您的搜尋條件。","WelcomeRegister":"歡迎 {email},謝謝您的註冊。","resetPasswordSuccess":"如果电子邮件地址 {email} 与LessPass帐户相关联,您将很快收到LessPass的电子邮件,并提供如何重置密码的说明。"}')},8206:function(t,e,n){t.exports=n("f1d8")},"85d3":function(t,e,n){"use strict";var r=n("3547"),i=n.n(r);i.a},"8a40":function(t,e,n){},"8dfc":function(t,e,n){const r=n("f0e2"),i=n("ebdd"),{consumeEntropy:o}=n("5070");function a(t,e){const n=i.getRules(e),a=i.getSetOfCharacters(n),s=o("",r(t,16),a,e.length-n.length),u=i.getOneCharPerRule(s.entropy,n);return i.insertStringPseudoRandomly(s.value,u.entropy,u.value)}t.exports={renderPassword:a}},"90bf":function(t,e,n){!function(e,n){t.exports=n()}(0,(function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}var i=n(1),o=r(i);t.exports=o.default},function(t,e,n){n(2);var r=n(6)(n(7),n(8),"data-v-82963a40",null);t.exports=r.exports},function(t,e,n){var r=n(3);"string"==typeof r&&(r=[[t.id,r,""]]),n(5)(r,{}),r.locals&&(t.exports=r.locals)},function(t,e,n){e=t.exports=n(4)(),e.push([t.id,"a[data-v-82963a40]{cursor:pointer}",""])},function(t,e){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],e=0;e=0&&m.splice(e,1)}function s(t){var e=document.createElement("style");return e.type="text/css",o(t,e),e}function u(t,e){var n,r,i;if(e.singleton){var o=g++;n=v||(v=s(e)),r=c.bind(null,n,o,!1),i=c.bind(null,n,o,!0)}else n=s(e),r=l.bind(null,n),i=function(){a(n)};return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else i()}}function c(t,e,n,r){var i=n?"":r.css;if(t.styleSheet)t.styleSheet.cssText=y(e,i);else{var o=document.createTextNode(i),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(o,a[e]):t.appendChild(o)}}function l(t,e){var n=e.css,r=e.media,i=e.sourceMap;if(r&&t.setAttribute("media",r),i&&(n+="\n/*# sourceURL="+i.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}var f={},p=function(t){var e;return function(){return"undefined"==typeof e&&(e=t.apply(this,arguments)),e}},d=p((function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())})),h=p((function(){return document.head||document.getElementsByTagName("head")[0]})),v=null,g=0,m=[];t.exports=function(t,e){e=e||{},"undefined"==typeof e.singleton&&(e.singleton=d()),"undefined"==typeof e.insertAt&&(e.insertAt="bottom");var n=i(t);return r(n,e),function(t){for(var o=[],a=0;a0&&(u=this.selected-1-i);var c=u+this.pageRange-1;c>=this.pageCount&&(c=this.pageCount-1,u=c-this.pageRange+1);for(var l=u;l<=c&&l<=this.pageCount-1;l++)o(l);u>this.marginPages&&a(u-1),c+1=this.pageCount-this.marginPages;f--)o(f)}return e}},data:function(){return{innerValue:1}},methods:{handlePageSelected:function(t){this.selected!==t&&(this.innerValue=t,this.$emit("input",t),this.clickHandler(t))},prevPage:function(){this.selected<=1||this.handlePageSelected(this.selected-1)},nextPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.selected+1)},firstPageSelected:function(){return 1===this.selected},lastPageSelected:function(){return this.selected===this.pageCount||0===this.pageCount},selectFirstPage:function(){this.selected<=1||this.handlePageSelected(1)},selectLastPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.pageCount)}}}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.noLiSurround?n("div",{class:t.containerClass},[t.firstLastButton?n("a",{class:[t.pageLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){t.selectFirstPage()},keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13)?void t.selectFirstPage():null}}}):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():n("a",{class:[t.prevLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){t.prevPage()},keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13)?void t.prevPage():null}}}),t._v(" "),t._l(t.pages,(function(e){return[e.breakView?n("a",{class:[t.pageLinkClass,t.breakViewLinkClass,e.disabled?t.disabledClass:""],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?n("a",{class:[t.pageLinkClass,e.selected?t.activeClass:"",t.disabledClass],attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):n("a",{class:[t.pageLinkClass,e.selected?t.activeClass:""],attrs:{tabindex:"0"},on:{click:function(n){t.handlePageSelected(e.index+1)},keyup:function(n){return"button"in n||!t._k(n.keyCode,"enter",13)?void t.handlePageSelected(e.index+1):null}}},[t._v(t._s(e.content))])]})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():n("a",{class:[t.nextLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){t.nextPage()},keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13)?void t.nextPage():null}}}),t._v(" "),t.firstLastButton?n("a",{class:[t.pageLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){t.selectLastPage()},keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13)?void t.selectLastPage():null}}}):t._e()],2):n("ul",{class:t.containerClass},[t.firstLastButton?n("li",{class:[t.pageClass,t.firstPageSelected()?t.disabledClass:""]},[n("a",{class:t.pageLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){t.selectFirstPage()},keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13)?void t.selectFirstPage():null}}})]):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():n("li",{class:[t.prevClass,t.firstPageSelected()?t.disabledClass:""]},[n("a",{class:t.prevLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){t.prevPage()},keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13)?void t.prevPage():null}}})]),t._v(" "),t._l(t.pages,(function(e){return n("li",{class:[t.pageClass,e.selected?t.activeClass:"",e.disabled?t.disabledClass:"",e.breakView?t.breakViewClass:""]},[e.breakView?n("a",{class:[t.pageLinkClass,t.breakViewLinkClass],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?n("a",{class:t.pageLinkClass,attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):n("a",{class:t.pageLinkClass,attrs:{tabindex:"0"},on:{click:function(n){t.handlePageSelected(e.index+1)},keyup:function(n){return"button"in n||!t._k(n.keyCode,"enter",13)?void t.handlePageSelected(e.index+1):null}}},[t._v(t._s(e.content))])])})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():n("li",{class:[t.nextClass,t.lastPageSelected()?t.disabledClass:""]},[n("a",{class:t.nextLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){t.nextPage()},keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13)?void t.nextPage():null}}})]),t._v(" "),t.firstLastButton?n("li",{class:[t.pageClass,t.lastPageSelected()?t.disabledClass:""]},[n("a",{class:t.pageLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){t.selectLastPage()},keyup:function(e){return"button"in e||!t._k(e.keyCode,"enter",13)?void t.selectLastPage():null}}})]):t._e()],2)},staticRenderFns:[]}}])}))},9869:function(t,e,n){"use strict";(function(t){ /*! * Vue.js v2.6.10 * (c) 2014-2019 Evan You diff --git a/packages/lesspass-pure/dist/lesspass.min.js.map b/packages/lesspass-pure/dist/lesspass.min.js.map index 6b8796e..c546255 100644 --- a/packages/lesspass-pure/dist/lesspass.min.js.map +++ b/packages/lesspass-pure/dist/lesspass.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/adapters/xhr.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/core/dispatchRequest.js","webpack:////home/guillaume/workspace/lesspass/node_modules/node-libs-browser/mock/process.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/helpers/combineURLs.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/cancel/Cancel.js","webpack:///./src/components/Options.vue?7dc1","webpack:////home/guillaume/workspace/lesspass/node_modules/copy-text-to-clipboard/index.js","webpack:///./src/views/PasswordGenerator.vue?d0ca","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/helpers/spread.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/node_modules/is-buffer/index.js","webpack:////home/guillaume/workspace/lesspass/node_modules/awesomplete/awesomplete.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/cancel/CancelToken.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/core/enhanceError.js","webpack:///../lesspass-fingerprint/src/fingerprint.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/core/mergeConfig.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/core/InterceptorManager.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/utils.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/helpers/buildURL.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/core/settle.js","webpack:///../lesspass-render-password/src/entropy.js","webpack:////home/guillaume/workspace/lesspass/node_modules/@oslab/atob/browser-atob.js","webpack:///./src/components/Avatar.vue?4f28","webpack:////home/guillaume/workspace/lesspass/node_modules/vue-polyglot/src/i18n.js","webpack:////home/guillaume/workspace/lesspass/node_modules/vue-polyglot/src/polyglot.js","webpack:///./src/LessPass.vue?2342","webpack:///./src/components/Menu.vue?acfd","webpack:///src/components/Menu.vue","webpack:///./src/components/Menu.vue?3f2d","webpack:////home/guillaume/workspace/lesspass/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./src/components/Menu.vue","webpack:///./src/components/Message.vue?a56d","webpack:///./src/api/password.js","webpack:///./src/api/user.js","webpack:///./src/services/url-parser.js","webpack:///./src/store/mutation-types.js","webpack:///./src/store/defaultPassword.js","webpack:///./src/store/actions.js","webpack:///./src/store/getters.js","webpack:///./src/store/mutations.js","webpack:////home/guillaume/workspace/lesspass/node_modules/vuex-persistedstate/node_modules/deepmerge/dist/es.js","webpack:////home/guillaume/workspace/lesspass/node_modules/shvl/dist/shvl.es.js","webpack:////home/guillaume/workspace/lesspass/node_modules/vuex-persistedstate/dist/vuex-persistedstate.es.js","webpack:///./src/store/index.js","webpack:///./src/services/message.js","webpack:///src/components/Message.vue","webpack:///./src/components/Message.vue?edb6","webpack:///./src/components/Message.vue","webpack:///src/LessPass.vue","webpack:///./src/LessPass.vue?def8","webpack:///./src/LessPass.vue","webpack:////home/guillaume/workspace/lesspass/node_modules/vue-router/dist/vue-router.esm.js","webpack:///./src/views/Login.vue?9464","webpack:///./src/components/MasterPassword.vue?4253","webpack:///src/components/MasterPassword.vue","webpack:///./src/components/MasterPassword.vue?4352","webpack:///./src/components/MasterPassword.vue","webpack:///src/views/Login.vue","webpack:///./src/views/Login.vue?0dd0","webpack:///./src/views/Login.vue","webpack:///./src/views/PasswordGenerator.vue?2860","webpack:///./src/components/RemoveAutoComplete.vue?860b","webpack:///./src/components/RemoveAutoComplete.vue","webpack:///./src/components/InputSite.vue?37fe","webpack:///src/components/InputSite.vue","webpack:///./src/components/InputSite.vue?a6e6","webpack:///./src/components/InputSite.vue","webpack:///./src/components/Options.vue?f45b","webpack:///./src/services/form-validator.js","webpack:///src/components/Options.vue","webpack:///./src/components/Options.vue?654f","webpack:///./src/components/Options.vue","webpack:///./src/services/tooltip.js","webpack:///src/views/PasswordGenerator.vue","webpack:///./src/views/PasswordGenerator.vue?e4cf","webpack:///./src/views/PasswordGenerator.vue","webpack:///./src/views/PasswordReset.vue?2e45","webpack:///src/views/PasswordReset.vue","webpack:///./src/views/PasswordReset.vue?d0d7","webpack:///./src/views/PasswordReset.vue","webpack:///./src/views/PasswordResetConfirm.vue?87f5","webpack:///src/views/PasswordResetConfirm.vue","webpack:///./src/views/PasswordResetConfirm.vue?f2bf","webpack:///./src/views/PasswordResetConfirm.vue","webpack:///./src/views/Passwords.vue?1822","webpack:///./src/components/PasswordProfile.vue?dfed","webpack:///./src/components/Avatar.vue?0159","webpack:///src/components/Avatar.vue","webpack:///./src/components/Avatar.vue?6cd4","webpack:///./src/components/Avatar.vue","webpack:///src/components/PasswordProfile.vue","webpack:///./src/components/PasswordProfile.vue?e123","webpack:///./src/components/PasswordProfile.vue","webpack:///src/views/Passwords.vue","webpack:///./src/views/Passwords.vue?bec1","webpack:///./src/views/Passwords.vue","webpack:///./src/views/Settings.vue?569e","webpack:///src/views/Settings.vue","webpack:///./src/views/Settings.vue?278c","webpack:///./src/views/Settings.vue","webpack:///./src/router.js","webpack:///./src/main.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/cancel/isCancel.js","webpack:///../lesspass-fingerprint/src/index.js","webpack:///../lesspass-crypto/index.js","webpack:////home/guillaume/workspace/lesspass/node_modules/@oslab/btoa/browser-btoa.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/core/Axios.js","webpack:///../lesspass/index.js","webpack:///(webpack)/buildin/module.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/defaults.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/helpers/parseHeaders.js","webpack:///(webpack)/buildin/global.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/index.js","webpack:///./src/views/Passwords.vue?52f5","webpack:///../lesspass-render-password/src/index.js","webpack:////home/guillaume/workspace/lesspass/node_modules/vuejs-paginate/dist/index.js","webpack:////home/guillaume/workspace/lesspass/node_modules/vue/dist/vue.runtime.esm.js","webpack:////home/guillaume/workspace/lesspass/node_modules/vuex/dist/vuex.esm.js","webpack:////home/guillaume/workspace/lesspass/node_modules/lodash/lodash.js","webpack:////home/guillaume/workspace/lesspass/node_modules/path-browserify/index.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/core/createError.js","webpack:///./src/components/InputSite.vue?6eba","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///../lesspass-fingerprint/src/hmac.browser.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/helpers/bind.js","webpack:///../lesspass-entropy/src/index.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/helpers/cookies.js","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./src/views/Login.vue?d602","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/core/transformData.js","webpack:////home/guillaume/workspace/lesspass/node_modules/vuex-router-sync/index.js","webpack:///../lesspass-render-password/src/chars.js","webpack:///../lesspass-entropy/src/pbkdf2.browser.js","webpack:///./src/components/Menu.vue?e46b","webpack:////home/guillaume/workspace/lesspass/node_modules/big-integer/BigInteger.js","webpack:///./src/LessPass.vue?f90b","webpack:////home/guillaume/workspace/lesspass/node_modules/axios/lib/axios.js","webpack:///./src/components/MasterPassword.vue?f9bf","webpack:///./src/components/PasswordProfile.vue?9c9b","webpack:///./src/components/Message.vue?61d4"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","utils","settle","buildURL","parseHeaders","isURLSameOrigin","createError","config","Promise","resolve","reject","requestData","data","requestHeaders","headers","isFormData","request","XMLHttpRequest","auth","username","password","Authorization","btoa","open","method","toUpperCase","url","params","paramsSerializer","timeout","onreadystatechange","readyState","status","responseURL","indexOf","responseHeaders","getAllResponseHeaders","responseData","responseType","response","responseText","statusText","onabort","onerror","ontimeout","isStandardBrowserEnv","cookies","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","forEach","val","toLowerCase","setRequestHeader","e","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","test","transformData","isCancel","defaults","isAbsoluteURL","combineURLs","throwIfCancellationRequested","throwIfRequested","baseURL","transformRequest","merge","common","adapter","transformResponse","reason","nextTick","fn","args","Array","slice","arguments","shift","setTimeout","apply","platform","arch","execPath","title","pid","browser","env","argv","binding","Error","path","cwd","chdir","dir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","relativeURL","replace","Cancel","message","this","toString","__CANCEL__","copyTextToClipboard","input","element","document","createElement","previouslyFocusedElement","activeElement","setAttribute","style","contain","position","left","fontSize","selection","getSelection","originalRange","rangeCount","getRangeAt","body","append","select","selectionStart","selectionEnd","length","isSuccess","execCommand","_","remove","removeAllRanges","addRange","focus","default","callback","arr","obj","constructor","isBuffer","me","count","isOpened","$","options","configure","minChars","maxItems","autoFirst","DATA","filter","FILTER_CONTAINS","sort","SORT_BYLENGTH","container","CONTAINER","item","ITEM","REPLACE","tabSelect","index","ul","hidden","role","id","inside","className","textContent","_events","evaluate","close","evt","keyCode","opened","selected","preventDefault","form","li","target","nodeName","parentNode","button","hasAttribute","list","getAttribute","removeAttribute","all","push","Suggestion","isArray","label","instance","properties","initial","attrValue","parseInt","Function","_list","split","children","items","el","disabled","text","trim","fire","goto","destroy","unbind","insertBefore","removeChild","indexOfAwesomplete","splice","next","previous","pos","lis","scrollTop","offsetTop","clientHeight","suggestions","origin","originalEvent","siblingIndex","suggestion","allowed","innerHTML","map","appendChild","RegExp","regExpEscape","FILTER_STARTSWITH","a","b","around","item_id","html","String","valueOf","expr","con","querySelector","$$","querySelectorAll","init","tag","ref","event","removeEventListener","type","createEvent","j","initEvent","dispatchEvent","previousElementSibling","self","Awesomplete","Document","CancelToken","executor","TypeError","resolvePromise","token","source","error","code","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","stack","getColor","color","colors","getIcon","hash","icons","hmacSHA256","fingerprint","hash1","substring","icon","hash2","hash3","config1","config2","prop","isObject","deepMerge","InterceptorManager","handlers","use","fulfilled","rejected","eject","h","isArrayBuffer","FormData","isArrayBufferView","result","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isDate","isFile","isBlob","isFunction","isStream","pipe","isURLSearchParams","URLSearchParams","str","navigator","product","window","assignValue","extend","thisArg","encode","encodeURIComponent","serializedParams","parts","v","toISOString","JSON","stringify","join","hashmarkIndex","validateStatus","consumeEntropy","generatedPassword","quotient","setOfCharacters","maxLength","passwordBuilt","entropy","longDivision","divmod","remainder","_window","atob","locale","fallbackMessage","context","compile","string","languagesAvailable","navigatorLanguage","defaultLanguage","lang","vm","install","Vue","getLang","locales","computed","methods","assign","keys","setLocale","userLanguage","language","i18n","getBestLanguage","translate","$polyglot","mixin","_translate","render","_vm","_h","$createElement","_c","_self","staticClass","attrs","staticRenderFns","class","isGuest","on","$event","fullReload","_v","saved","isAuthenticated","_m","_e","$store","state","site","route","$t","saveOrUpdatePassword","logout","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","concat","component","keepMessage","_s","hideMessage","addAuthorizationHeader","resource","post","put","delete","user","email","cleanUrl","matchesDomainName","match","isAnIpAddressWithPort","address","getSuggestions","cleanedUrl","urlElements","baseName","tld","reduceRight","accumulator","currentValue","lastValue","getSite","chrome","tabs","query","active","currentWindow","passwordProfileFromRawQuery","booleanishQuery","stringQuery","intQuery","decodeBase64PasswordProfile","b64","parse","getPasswordFromUrlQuery","queryParameters","LOGOUT","LOGIN","SET_BASE_URL","SET_DEFAULT_OPTIONS","SET_MESSAGE","SET_PASSWORD","SET_PASSWORDS","SET_TOKEN","RESET_PASSWORD","SET_SITE","LOAD_PASSWORD_PROFILE","DELETE_PASSWORD","CLEAN_MESSAGE","defaultOptions","uppercase","lowercase","numbers","symbols","counter","version","login","refreshToken","commit","requestNewToken","newToken","catch","saveDefaultOptions","payload","loadPasswordProfile","expectedNbOfElements","defaultPassword","savePassword","resetPassword","getPasswords","authenticated","passwords","results","existingPassword","find","newPassword","update","deletePassword","displayMessage","cleanMessage","passwordURL","base64PasswordProfile","encodedPasswordProfile","siteWithoutWWW","endsWith","isMergeableObject","isNonNullObject","isSpecial","stringValue","isReactElement","canUseSymbol","for","REACT_ELEMENT_TYPE","$$typeof","emptyTarget","cloneUnlessOtherwiseSpecified","clone","deepmerge","defaultArrayMerge","mergeObject","destination","arrayMerge","sourceIsArray","targetIsArray","sourceAndTargetTypesMatch","array","reduce","prev","deepmerge_1","pop","getItem","storage","localStorage","u","setItem","removeItem","replaceState","arrayMerger","subscriber","subscribe","setState","reducer","paths","showOptions","Store","getters","actions","mutations","plugins","deleteMessage","dispatch","autoHideMessage","clearTimeout","duration","Math","min","max","components","Menu","Message","warn","condition","isError","err","isExtendedError","_name","View","props","routerView","$route","cache","_routerViewCache","depth","inactive","_routerRoot","vnodeData","keepAlive","_inactive","$parent","routerViewDepth","matched","registerRouteInstance","current","instances","prepatch","vnode","componentInstance","propsToPass","resolveProps","encodeReserveRE","encodeReserveReplacer","charCodeAt","commaRE","decode","decodeURIComponent","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","res","param","stringifyQuery","val2","x","trailingSlashRE","createRoute","record","location","redirectedFrom","router","meta","fullPath","getFullPath","formatMatch","freeze","START","unshift","_stringifyQuery","isSameRoute","isObjectEqual","aKeys","bKeys","every","aVal","bVal","isIncludedRoute","queryIncludes","resolvePath","relative","base","firstChar","charAt","segments","segment","parsePath","hashIndex","queryIndex","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","tokens","defaultDelimiter","delimiter","exec","escaped","offset","prefix","capture","group","modifier","asterisk","partial","repeat","optional","pattern","escapeGroup","escapeString","substr","encodeURIComponentPretty","encodeURI","encodeAsterisk","matches","opts","pretty","attachKeys","re","flags","sensitive","regexpToRegexp","groups","arrayToRegexp","regexp","stringToRegexp","strict","end","endsWithDelimiter","regexpCompileCache","fillParams","routeMsg","filler","pathMatch","normalizeLocation","raw","_normalized","rawPath","parsedPath","basePath","_Vue","toTypes","eventTypes","noop","Link","to","required","exact","Boolean","activeClass","exactActiveClass","this$1","$router","href","classes","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","handler","guardEvent","click","scopedSlot","$scopedSlots","$hasNormal","navigate","isActive","isExactActive","findAnchor","$slots","isStatic","aData","handler$1","event$1","aAttrs","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","currentTarget","child","installed","isDef","registerInstance","callVal","_parentVnode","_router","util","defineReactive","history","destroyed","_route","strats","optionMergeStrategies","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","created","inBrowser","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","redirect","beforeEnter","childMatchAs","alias","aliases","aliasRoute","createMatcher","addRoutes","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","resolvedPath","aliasedPath","aliasedMatch","aliasedRecord","len","Time","performance","now","Date","genStateKey","toFixed","_key","getStateKey","setStateKey","positionStore","setupScroll","protocolAndPath","protocol","host","absolutePath","saveScrollPosition","handleScroll","from","isPop","app","behavior","scrollBehavior","$nextTick","getScrollPosition","shouldScroll","scrollToPosition","pageXOffset","y","pageYOffset","getElementPosition","docEl","documentElement","docRect","getBoundingClientRect","elRect","top","isValidPosition","normalizePosition","normalizeOffset","hashStartsWithNumberRE","selector","getElementById","scrollTo","supportsPushState","ua","userAgent","pushState","runQueue","queue","cb","step","resolveAsyncComponents","hasAsync","pending","flatMapComponents","def","cid","once","resolvedDef","isESModule","resolved","msg","comp","flatten","hasSymbol","called","NavigationDuplicated","normalizedLocation","writable","configurable","__proto__","History","normalizeBase","ready","readyCbs","readyErrorCbs","errorCbs","baseEl","resolveQueue","updated","activated","deactivated","extractGuards","records","reverse","guards","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","cbs","isValid","bindEnterGuard","poll","_isBeingDestroyed","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","console","beforeHooks","iterator","postEnterCbs","enterGuards","resolveHooks","afterHooks","HTML5History","expectScroll","supportsScroll","initLocation","getLocation","go","fromRoute","getCurrentLocation","decodeURI","pathname","search","HashHistory","fallback","checkFallback","ensureSlash","setupListeners","getHash","replaceHash","pushHash","searchIndex","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","prototypeAccessors","registerHook","createHref","$once","setupHashListener","beforeEach","beforeResolve","afterEach","back","forward","getMatchedComponents","normalizedTo","defineProperties","signIn","directives","rawName","expression","domProps","composing","model","$$v","register","updateValue","_k","$emit","togglePasswordType","icon1","color1","icon2","color2","icon3","color3","encryptMasterPassword","EncryptButtonText","showEncryptButton","fakePassword","random","setFingerprint","showRealFingerprint","$refs","passwordField","createFingerprint","generatePassword","MasterPassword","formIsValid","displayGenericError","success","setSite","setPasswordProfile","$set","masterPassword","passwordGenerated","copyPassword","sharePasswordProfile","staticStyle","script","awesomplete","siteField","localeCompare","set","newValue","watch","decrement","modifiers","_n","$forceUpdate","increment","apply_constraint","showTooltip","hideTooltip","RemoveAutoComplete","InputSite","Options","focusBestInputField","cleanTimeout","cleanErrors","deep","newMasterPassword","hidePassword","thirtySecondsInMillisecond","warning","passwordProfile","cleanFormIn30Seconds","copied","copySuccessMessage","resetPasswordConfirm","searchQuery","filteredPasswords","_l","pagination","currentPage","pageCount","setCurrentPage","setPassword","firstLetter","alphabetColors","f","g","k","q","w","z","$props","avatarStyle","backgroundColor","Avatar","perPage","PasswordProfile","Paginate","loginMatch","siteMatch","ceil","page","saveAndExit","PasswordGenerator","Login","Settings","Passwords","PasswordReset","PasswordResetConfirm","fr","es","de","zh","pt","pl","store","productionTip","LessPass","$mount","createHmac","stringToArrayBuffer","base64String","unescape","charList","arrayBuffer","Uint8Array","arrayBufferToHex","byteArray","byteLength","padStart","getAlgorithm","algorithm","algorithms","sha1","sha256","sha512","dispatchRequest","mergeConfig","Axios","instanceConfig","interceptors","chain","interceptor","getUri","LessPassFingerprint","LessPassEntropy","LessPassRenderPassword","calcEntropy","digits","renderPassword","hmac","webpackPolyfill","deprecate","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","getDefaultAdapter","process","maxContentLength","ignoreDuplicateOf","parsed","line","bigInt","chars","rules","getRules","getSetOfCharacters","charactersToAdd","getOneCharPerRule","insertStringPseudoRandomly","loaded","locals","refs","css","media","sourceMap","C","insertAt","nextSibling","firstChild","singleton","styleSheet","cssText","createTextNode","childNodes","sources","head","getElementsByTagName","esModule","Number","forcePage","clickHandler","pageRange","marginPages","prevText","nextText","breakViewText","containerClass","pageClass","pageLinkClass","prevClass","prevLinkClass","nextClass","nextLinkClass","breakViewClass","breakViewLinkClass","disabledClass","noLiSurround","firstLastButton","firstButtonText","lastButtonText","hidePrevNext","beforeUpdate","innerValue","pages","content","floor","breakView","handlePageSelected","prevPage","nextPage","firstPageSelected","lastPageSelected","selectFirstPage","selectLastPage","tabindex","keyup","_t","emptyObject","isUndef","isTrue","isFalse","isPrimitive","_toString","isPlainObject","isRegExp","isValidArrayIndex","parseFloat","isFinite","isPromise","toNumber","isNaN","makeMap","expectsLowerCase","isReservedAttribute","hasOwn","cached","hit","camelizeRE","camelize","capitalize","hyphenateRE","hyphenate","polyfillBind","ctx","boundFn","_length","nativeBind","toArray","start","ret","_from","toObject","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","getTime","keysA","keysB","looseIndexOf","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","silent","devtools","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","bailRE","_isServer","hasProto","inWeex","WXEnvironment","weexPlatform","UA","isIE","isIE9","isEdge","isIOS","isFF","nativeWatch","supportsPassive","isServerRendering","global","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","Reflect","ownKeys","Set","has","clear","uid","Dep","subs","addSub","sub","removeSub","depend","addDep","notify","targetStack","pushTarget","popTarget","VNode","elm","componentOptions","asyncFactory","fnContext","fnOptions","fnScopeId","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","createEmptyVNode","node","createTextVNode","cloneVNode","cloned","arrayProto","arrayMethods","methodsToPatch","original","inserted","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","src","observe","asRootData","isExtensible","_isVue","defineReactive$$1","customSetter","shallow","getOwnPropertyDescriptor","setter","childOb","dependArray","newVal","del","mergeData","toVal","fromVal","mergeDataOrFn","parentVal","childVal","instanceData","defaultData","mergeHook","dedupeHooks","hooks","mergeAssets","key$1","inject","provide","defaultStrat","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","def$$1","mergeOptions","_base","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","_props","getType","isSameType","expectedTypes","handleError","info","cur","errorCaptured","globalHandleError","invokeWithErrorHandling","_handled","logError","timerFunc","isUsingMicroTask","callbacks","flushCallbacks","copies","MutationObserver","setImmediate","observer","textNode","characterData","_resolve","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","passive","once$$1","createFnInvoker","fns","invoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","old","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","extractPropsFromVNodeData","checkProp","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","lastIndex","last","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","provideDefault","resolveSlots","slots","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","done","renderSlot","bindObject","nodes","scopedSlotFn","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","loop","camelizedKey","hyphenatedKey","renderStatic","isInFor","_staticTrees","tree","_renderProxy","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","values","prependModifier","symbol","installRenderHelpers","_o","_q","_i","_f","_b","_u","_g","_d","_p","FunctionalRenderContext","contextVm","_original","isCompiled","needNormalization","listeners","injections","scopedSlots","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","componentVNodeHooks","hydrating","_isDestroyed","mountedNode","createComponentInstanceForVnode","activeInstance","oldVnode","updateChildComponent","insert","_isMounted","callHook","queueActivatedComponent","activateChildComponent","deactivateChildComponent","$destroy","hooksToMerge","createComponent","baseCtor","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","transformModel","nativeOn","abstract","installComponentHooks","_isComponent","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","is","pre","applyNS","registerDeepBindings","force","initRender","_vnode","parentVnode","_renderChildren","parentData","_parentListeners","currentRenderingInstance","renderMixin","_render","ensureCtor","factory","errorComp","owner","owners","loading","loadingComp","sync","timerLoading","timerTimeout","$on","forceRender","renderCompleted","delay","getFirstComponentChild","initEvents","_hasHookEvent","updateComponentListeners","remove$1","$off","_target","onceHandler","oldListeners","eventsMixin","hookRE","i$1","setActiveInstance","prevActiveInstance","initLifecycle","$children","_watcher","_directInactive","lifecycleMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","teardown","_watchers","_data","mountComponent","updateComponent","Watcher","before","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","$attrs","$listeners","propKeys","_propKeys","isInInactiveTree","direct","activatedChildren","waiting","flushing","resetSchedulerState","currentFlushTimestamp","getNow","timeStamp","flushSchedulerQueue","watcher","run","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","emit","queueWatcher","uid$2","expOrFn","isRenderWatcher","lazy","dirty","deps","newDeps","depIds","newDepIds","cleanupDeps","tmp","oldValue","sharedPropertyDefinition","sourceKey","initState","initProps","initMethods","initData","initComputed","initWatch","propsOptions","isRoot","getData","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","$watch","stateMixin","dataDef","propsDef","$delete","immediate","uid$3","initMixin","_init","_uid","initInternalComponent","vnodeComponentOptions","_componentTag","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","modified","latest","sealed","sealedOptions","initUse","plugin","installedPlugins","_installedPlugins","initMixin$1","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","cached$$1","patternTypes","KeepAlive","include","exclude","mounted","ref$1","builtInComponents","initGlobalAPI","configDef","observable","acceptValue","attr","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","childNode","mergeClassData","renderClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","HTMLUnknownElement","HTMLElement","isTextInputType","createElement$1","tagName","multiple","createElementNS","namespace","createComment","newNode","referenceNode","setTextContent","setStyleScope","nodeOps","registerRef","isRemoval","refInFor","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","transition","activate","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","rm","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","isRenderedModule","inVPre","hasChildNodes","childrenMatch","fullInvoke","isInitialPatch","isRealElement","nodeType","oldElm","_leaveCb","patchable","i$2","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","arg","callHook$1","componentUpdated","callInsert","emptyModifiers","getRawDirName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","baseSetAttr","setAttributeNS","__ieph","blocker","stopImmediatePropagation","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","target$1","klass","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","normalizeEvents","change","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","ownerDocument","updateDOMListeners","svgContainer","events","updateDOMProps","oldProps","_value","strCur","shouldUpdateValue","checkVal","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","_vModifiers","parseStyleText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","bindingStyle","getStyle","checkChild","styleData","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","normalize","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","whitespaceRE","addClass","classList","removeClass","tar","resolveTransition","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","styles","getComputedStyle","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","cancelled","_enterCb","appearClass","appearToClass","appearActiveClass","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","trigger","directive","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","some","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","option","selectedIndex","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","display","platformDirectives","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","removed","c$1","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","offsetHeight","moved","transform","WebkitTransform","transitionDuration","_moveCb","propertyName","_hasMove","cloneNode","newPos","oldPos","dx","dy","platformComponents","applyMixin","vuexInit","devtoolHook","devtoolPlugin","_devtoolHook","targetState","mutation","forEachValue","Module","rawModule","runtime","_children","_rawModule","rawState","namespaced","addChild","getChild","forEachChild","forEachGetter","forEachAction","forEachMutation","ModuleCollection","rawRootModule","targetModule","newModule","root","getNamespace","rawChildModule","unregister","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_watcherVM","installModule","resetStoreVM","useDevtools","prototypeAccessors$1","genericSubscribe","resetStore","hot","oldVm","wrappedGetters","$$state","enableStrictMode","_withCommit","rootState","parentState","getNestedState","moduleName","local","makeLocalContext","namespacedType","registerMutation","action","registerAction","registerGetter","noNamespace","_type","_payload","_options","unifyObjectStyle","makeLocalGetters","gettersProxy","splitPos","localType","entry","rootGetters","rawGetter","after","subscribeAction","registerModule","preserveState","unregisterModule","hotUpdate","newOptions","committing","mapState","normalizeNamespace","states","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","createNamespacedHelpers","helper","index_esm","VERSION","LARGE_ARRAY_SIZE","CORE_ERROR_TEXT","FUNC_ERROR_TEXT","HASH_UNDEFINED","MAX_MEMOIZE_SIZE","PLACEHOLDER","CLONE_DEEP_FLAG","CLONE_FLAT_FLAG","CLONE_SYMBOLS_FLAG","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","WRAP_BIND_FLAG","WRAP_BIND_KEY_FLAG","WRAP_CURRY_BOUND_FLAG","WRAP_CURRY_FLAG","WRAP_CURRY_RIGHT_FLAG","WRAP_PARTIAL_FLAG","WRAP_PARTIAL_RIGHT_FLAG","WRAP_ARY_FLAG","WRAP_REARG_FLAG","WRAP_FLIP_FLAG","DEFAULT_TRUNC_LENGTH","DEFAULT_TRUNC_OMISSION","HOT_COUNT","HOT_SPAN","LAZY_FILTER_FLAG","LAZY_MAP_FLAG","LAZY_WHILE_FLAG","INFINITY","MAX_SAFE_INTEGER","MAX_INTEGER","NAN","MAX_ARRAY_LENGTH","MAX_ARRAY_INDEX","HALF_MAX_ARRAY_LENGTH","wrapFlags","argsTag","arrayTag","asyncTag","boolTag","dateTag","domExcTag","errorTag","funcTag","genTag","mapTag","numberTag","nullTag","objectTag","promiseTag","proxyTag","regexpTag","setTag","stringTag","symbolTag","undefinedTag","weakMapTag","weakSetTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reEmptyStringLeading","reEmptyStringMiddle","reEmptyStringTrailing","reEscapedHtml","reUnescapedHtml","reHasEscapedHtml","reHasUnescapedHtml","reEscape","reEvaluate","reInterpolate","reIsDeepProp","reIsPlainProp","rePropName","reRegExpChar","reHasRegExpChar","reTrim","reTrimStart","reTrimEnd","reWrapComment","reWrapDetails","reSplitDetails","reAsciiWord","reEscapeChar","reEsTemplate","reFlags","reIsBadHex","reIsBinary","reIsHostCtor","reIsOctal","reIsUint","reLatin","reNoMatch","reUnescapedString","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsDingbatRange","rsLowerRange","rsMathOpRange","rsNonCharRange","rsPunctuationRange","rsSpaceRange","rsUpperRange","rsVarRange","rsBreakRange","rsApos","rsAstral","rsBreak","rsCombo","rsDigits","rsDingbat","rsLower","rsMisc","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsUpper","rsZWJ","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","reOptMod","rsOptVar","rsOptJoin","rsOrdLower","rsOrdUpper","rsSeq","rsEmoji","rsSymbol","reApos","reComboMark","reUnicode","reUnicodeWord","reHasUnicode","reHasUnicodeWord","contextProps","templateCounter","typedArrayTags","cloneableTags","deburredLetters","htmlEscapes","htmlUnescapes","stringEscapes","freeParseFloat","freeParseInt","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","freeProcess","nodeUtil","types","require","nodeIsArrayBuffer","nodeIsDate","nodeIsMap","isMap","nodeIsRegExp","nodeIsSet","isSet","nodeIsTypedArray","isTypedArray","func","arrayAggregator","iteratee","arrayEach","arrayEachRight","arrayEvery","predicate","arrayFilter","resIndex","arrayIncludes","baseIndexOf","arrayIncludesWith","comparator","arrayMap","arrayPush","arrayReduce","initAccum","arrayReduceRight","arraySome","asciiSize","baseProperty","asciiToArray","asciiWords","baseFindKey","collection","eachFunc","baseFindIndex","fromIndex","fromRight","strictIndexOf","baseIsNaN","baseIndexOfWith","baseMean","baseSum","basePropertyOf","baseReduce","baseSortBy","comparer","baseTimes","baseToPairs","baseUnary","baseValues","cacheHas","charsStartIndex","strSymbols","chrSymbols","charsEndIndex","countHolders","deburrLetter","escapeHtmlChar","escapeStringChar","chr","hasUnicode","hasUnicodeWord","iteratorToArray","mapToArray","size","overArg","replaceHolders","setToArray","setToPairs","strictLastIndexOf","stringSize","unicodeSize","stringToArray","unicodeToArray","unescapeHtmlChar","unicodeWords","runInContext","pick","funcProto","objectProto","coreJsData","funcToString","idCounter","maskSrcKey","IE_PROTO","nativeObjectToString","objectCtorString","oldDash","reIsNative","Buffer","allocUnsafe","getPrototype","getPrototypeOf","objectCreate","propertyIsEnumerable","spreadableSymbol","isConcatSpreadable","symIterator","symToStringTag","getNative","ctxClearTimeout","ctxNow","ctxSetTimeout","nativeCeil","nativeFloor","nativeGetSymbols","getOwnPropertySymbols","nativeIsBuffer","nativeIsFinite","nativeJoin","nativeKeys","nativeMax","nativeMin","nativeNow","nativeParseInt","nativeRandom","nativeReverse","DataView","Map","WeakMap","nativeCreate","metaMap","realNames","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","symbolToString","lodash","isObjectLike","LazyWrapper","LodashWrapper","wrapperClone","baseCreate","proto","baseLodash","chainAll","__wrapped__","__actions__","__chain__","__index__","__values__","__dir__","__filtered__","__iteratees__","__takeCount__","__views__","lazyClone","copyArray","lazyReverse","lazyValue","isArr","isRight","arrLength","view","getView","iteratees","iterLength","takeCount","baseWrapperValue","outer","iterIndex","Hash","entries","hashClear","__data__","hashDelete","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","SetCache","setCacheAdd","setCacheHas","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","arrayLikeKeys","inherited","isArg","isArguments","isBuff","isType","skipIndexes","isIndex","arraySample","baseRandom","arraySampleSize","shuffleSelf","baseClamp","arrayShuffle","assignMergeValue","eq","baseAssignValue","objValue","baseAggregator","baseEach","baseAssign","copyObject","baseAssignIn","keysIn","baseAt","skip","lower","upper","baseClone","bitmask","customizer","isDeep","isFlat","isFull","initCloneArray","getTag","isFunc","cloneBuffer","initCloneObject","copySymbolsIn","copySymbols","initCloneByTag","stacked","subValue","keysFunc","getAllKeysIn","getAllKeys","baseConforms","baseConformsTo","baseDelay","wait","baseDifference","includes","isCommon","valuesLength","valuesIndex","templateSettings","createBaseEach","baseForOwn","baseEachRight","baseForOwnRight","baseEvery","baseExtremum","isSymbol","baseFill","toInteger","toLength","baseFilter","baseFlatten","isStrict","isFlattenable","baseFor","createBaseFor","baseForRight","baseFunctions","baseGet","castPath","toKey","baseGetAllKeys","symbolsFunc","baseGetTag","getRawTag","objectToString","baseGt","other","baseHas","baseHasIn","baseInRange","baseIntersection","arrays","othLength","othIndex","caches","Infinity","baseInverter","baseInvoke","baseIsArguments","baseIsArrayBuffer","baseIsDate","baseIsEqual","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","baseIsMap","baseIsMatch","matchData","noCustomizer","srcValue","baseIsNative","isMasked","baseIsRegExp","baseIsSet","baseIsTypedArray","isLength","baseIteratee","baseMatchesProperty","baseMatches","baseKeys","isPrototype","baseKeysIn","nativeKeysIn","isProto","baseLt","baseMap","isArrayLike","getMatchData","matchesStrictComparable","isKey","isStrictComparable","hasIn","baseMerge","srcIndex","baseMergeDeep","safeGet","mergeFunc","isTyped","isArrayLikeObject","cloneTypedArray","toPlainObject","baseNth","baseOrderBy","orders","getIteratee","criteria","compareMultiple","basePick","basePickBy","baseSet","basePropertyDeep","basePullAll","basePullAt","indexes","baseUnset","baseRange","baseRepeat","baseRest","setToString","overRest","baseSample","baseSampleSize","baseSetData","baseSetToString","constant","baseShuffle","baseSlice","baseSome","baseSortedIndex","retHighest","low","high","mid","baseSortedIndexBy","valIsNaN","valIsNull","valIsSymbol","valIsUndefined","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","setLow","baseSortedUniq","baseToNumber","baseToString","baseUniq","createSet","seenIndex","baseUpdate","updater","baseWhile","isDrop","baseXor","baseZipObject","assignFunc","valsLength","castArrayLikeObject","castFunction","stringToPath","castRest","castSlice","copy","cloneArrayBuffer","cloneDataView","dataView","byteOffset","cloneRegExp","cloneSymbol","typedArray","compareAscending","valIsDefined","valIsReflexive","objCriteria","othCriteria","ordersLength","order","composeArgs","partials","holders","isCurried","argsIndex","argsLength","holdersLength","leftIndex","leftLength","rangeLength","isUncurried","composeArgsRight","holdersIndex","rightIndex","rightLength","isNew","getSymbols","getSymbolsIn","createAggregator","initializer","createAssigner","assigner","isIterateeCall","iterable","createBind","isBind","createCtor","wrapper","createCaseFirst","methodName","trailing","createCompounder","words","deburr","thisBinding","createCurry","arity","getHolder","createRecurry","createHybrid","createFind","findIndexFunc","createFlow","flatRest","funcs","prereq","thru","getFuncName","funcName","isLaziable","plant","partialsRight","holdersRight","argPos","ary","isAry","isBindKey","isFlip","holdersCount","newHolders","reorder","createInverter","toIteratee","createMathOperation","operator","defaultValue","createOver","arrayFunc","createPadding","charsLength","createPartial","createRange","toFinite","createRelationalOperation","wrapFunc","isCurry","newHoldersRight","newPartials","newPartialsRight","newData","setData","setWrapToString","createRound","precision","pair","createToPairs","createWrap","customDefaultsAssignIn","customDefaultsMerge","customOmitClone","isPartial","arrValue","othValue","compared","convert","objProps","objLength","othProps","skipCtor","objCtor","othCtor","otherFunc","isKeyable","isOwn","unmasked","stubArray","transforms","getWrapDetails","hasPath","hasFunc","insertWrapDetails","details","ctorString","isMaskable","stubFalse","memoizeCapped","memoize","srcBitmask","newBitmask","isCombo","otherArgs","oldArray","shortOut","reference","updateWrapDetails","lastCalled","stamp","remaining","rand","quote","subString","chunk","compact","difference","differenceBy","differenceWith","drop","dropRight","dropRightWhile","dropWhile","fill","findIndex","findLastIndex","flattenDeep","flattenDepth","fromPairs","intersection","mapped","intersectionBy","intersectionWith","separator","lastIndexOf","nth","pull","pullAll","pullAllBy","pullAllWith","pullAt","sortedIndex","sortedIndexBy","sortedIndexOf","sortedLastIndex","sortedLastIndexBy","sortedLastIndexOf","sortedUniq","sortedUniqBy","tail","take","takeRight","takeRightWhile","takeWhile","union","unionBy","unionWith","uniq","uniqBy","uniqWith","unzip","unzipWith","without","xor","xorBy","xorWith","zip","zipObject","zipObjectDeep","zipWith","tap","wrapperAt","wrapperChain","wrapperCommit","wrapperNext","wrapperToIterator","wrapperPlant","wrapperReverse","wrapped","wrapperValue","countBy","findLast","flatMap","flatMapDeep","flatMapDepth","forEachRight","groupBy","invokeMap","keyBy","orderBy","partition","negate","sample","sampleSize","shuffle","sortBy","bindKey","curry","curryRight","debounce","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","invokeFunc","time","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","flush","debounced","isInvoking","defer","flip","resolver","memoized","Cache","overArgs","funcsLength","partialRight","rearg","rest","spread","throttle","unary","wrap","castArray","cloneWith","cloneDeep","cloneDeepWith","conformsTo","gt","gte","isBoolean","isElement","isEmpty","isEqual","isEqualWith","isInteger","isMatch","isMatchWith","isNull","isNil","isSafeInteger","isWeakMap","isWeakSet","lt","lte","sign","isBinary","toSafeInteger","assignIn","assignInWith","assignWith","at","propsIndex","propsLength","defaultsDeep","mergeWith","findKey","findLastKey","forIn","forInRight","forOwn","forOwnRight","functions","functionsIn","invert","invertBy","invoke","mapKeys","mapValues","omit","omitBy","pickBy","setWith","toPairs","toPairsIn","isArrLike","unset","updateWith","valuesIn","clamp","inRange","floating","temp","camelCase","word","upperFirst","escape","escapeRegExp","kebabCase","lowerCase","lowerFirst","pad","strLength","padEnd","radix","snakeCase","limit","startCase","startsWith","template","settings","isEscaping","isEvaluating","imports","importsKeys","importsValues","interpolate","reDelimiters","sourceURL","escapeValue","interpolateValue","esTemplateValue","evaluateValue","variable","attempt","toLower","toUpper","trimEnd","trimStart","truncate","omission","newEnd","upperCase","bindAll","methodNames","cond","conforms","defaultTo","flow","flowRight","matchesProperty","methodOf","noConflict","nthArg","over","overEvery","overSome","propertyOf","range","rangeRight","stubObject","stubString","stubTrue","times","toPath","uniqueId","augend","addend","divide","dividend","divisor","maxBy","mean","meanBy","minBy","multiply","multiplier","multiplicand","round","subtract","minuend","subtrahend","sum","sumBy","entriesIn","extendWith","each","eachRight","first","isFilter","takeName","dropName","checkIteratee","isTaker","lodashFunc","retUnwrapped","isLazy","useLazy","isHybrid","isUnwrapped","onlyLazy","chainName","normalizeArray","allowAboveRoot","up","basename","matchedSlash","xs","resolvedAbsolute","isAbsolute","trailingSlash","fromParts","toParts","samePartsLength","outputParts","sep","dirname","hasRoot","ext","extname","startDot","startPart","preDotState","enhanceError","digest","salt","crypto","subtle","importKey","signature","pbkdf2","profile","defaultCrypto","iterations","keylen","isSupported","write","expires","domain","secure","cookie","toGMTString","originURL","msie","urlParsingNode","resolveURL","hostname","port","requestURL","cloneRoute","currentPath","isTimeTraveling","storeUnwatch","afterEachUnHook","characterSubsets","setOfChars","rule","oneCharPerRules","consumedEntropy","initialString","stringToInsert","algo","deriveKey","derivedKey","exportKey","keyArray","BASE","LOG_BASE","MAX_INT","MAX_INT_ARR","smallToArray","LOG_MAX_INT","log","Integer","parseValue","parseBase","BigInteger","isSmall","SmallInteger","isPrecise","arrayToSmall","compareAbs","createArray","l_a","l_b","carry","addAny","addSmall","a_l","b_l","borrow","subtractAny","subtractSmall","multiplyLong","a_i","b_j","multiplySmall","shiftLeft","multiplyKaratsuba","ac","bd","abcd","useKaratsuba","l1","l2","multiplySmallAndArray","square","a_j","divMod1","quotientDigit","divisorMostSignificantDigit","lambda","divModSmall","divMod2","guess","xlen","highx","highy","check","part","divModAny","abs","comparison","qSign","mod","mSign","isBasicPrime","isUnit","equals","isEven","isDivisibleBy","lesser","plus","minus","small","_multiplyBySmall","pow","modPow","exp","isZero","isPositive","isOdd","compare","compareTo","notEquals","neq","greater","greaterOrEquals","geq","lesserOrEquals","leq","isNegative","isPrime","nPrev","isProbablePrime","randBetween","modInv","lastT","lastR","zero","newT","one","newR","powersOfTwo","powers2Length","highestPower2","shift_isSmall","bitwise","xSign","ySign","xRem","not","yRem","xBits","yBits","xStop","yStop","shiftRight","remQuo","and","or","LOBMASK_I","LOBMASK_BI","roughLOB","gcd","lcm","restricted","digit","charCode","parseBaseFromArray","toBase","minusSign","out","parseStringValue","decimalPlace","parseNumberValue","zeros","toJSNumber","minusOne","isInstance","fromArray","createInstance","defaultConfig","axios","promises"],"mappings":"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","file":"lesspass.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Options.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Options.vue?vue&type=style&index=0&lang=css&\"","'use strict';\n\nconst copyTextToClipboard = input => {\n\tconst element = document.createElement('textarea');\n\tconst previouslyFocusedElement = document.activeElement;\n\n\telement.value = input;\n\n\t// Prevent keyboard from showing on mobile\n\telement.setAttribute('readonly', '');\n\n\telement.style.contain = 'strict';\n\telement.style.position = 'absolute';\n\telement.style.left = '-9999px';\n\telement.style.fontSize = '12pt'; // Prevent zooming on iOS\n\n\tconst selection = document.getSelection();\n\tlet originalRange = false;\n\tif (selection.rangeCount > 0) {\n\t\toriginalRange = selection.getRangeAt(0);\n\t}\n\n\tdocument.body.append(element);\n\telement.select();\n\n\t// Explicit selection workaround for iOS\n\telement.selectionStart = 0;\n\telement.selectionEnd = input.length;\n\n\tlet isSuccess = false;\n\ttry {\n\t\tisSuccess = document.execCommand('copy');\n\t} catch (_) {}\n\n\telement.remove();\n\n\tif (originalRange) {\n\t\tselection.removeAllRanges();\n\t\tselection.addRange(originalRange);\n\t}\n\n\t// Get the focus back on the previously focused element, if any\n\tif (previouslyFocusedElement) {\n\t\tpreviouslyFocusedElement.focus();\n\t}\n\n\treturn isSuccess;\n};\n\nmodule.exports = copyTextToClipboard;\n// TODO: Remove this for the next major release\nmodule.exports.default = copyTextToClipboard;\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordGenerator.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordGenerator.vue?vue&type=style&index=0&lang=css&\"","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","/**\n * Simple, lightweight, usable local autocomplete library for modern browsers\n * Because there weren’t enough autocomplete scripts in the world? Because I’m completely insane and have NIH syndrome? Probably both. :P\n * @author Lea Verou http://leaverou.github.io/awesomplete\n * MIT license\n */\n\n(function () {\n\nvar _ = function (input, o) {\n\tvar me = this;\n\n // Keep track of number of instances for unique IDs\n _.count = (_.count || 0) + 1;\n this.count = _.count;\n\n\t// Setup\n\n\tthis.isOpened = false;\n\n\tthis.input = $(input);\n\tthis.input.setAttribute(\"autocomplete\", \"off\");\n\tthis.input.setAttribute(\"aria-expanded\", \"false\");\n\tthis.input.setAttribute(\"aria-owns\", \"awesomplete_list_\" + this.count);\n\tthis.input.setAttribute(\"role\", \"combobox\");\n\n\t// store constructor options in case we need to distinguish\n\t// between default and customized behavior later on\n\tthis.options = o = o || {};\n\n\tconfigure(this, {\n\t\tminChars: 2,\n\t\tmaxItems: 10,\n\t\tautoFirst: false,\n\t\tdata: _.DATA,\n\t\tfilter: _.FILTER_CONTAINS,\n\t\tsort: o.sort === false ? false : _.SORT_BYLENGTH,\n\t\tcontainer: _.CONTAINER,\n\t\titem: _.ITEM,\n\t\treplace: _.REPLACE,\n\t\ttabSelect: false\n\t}, o);\n\n\tthis.index = -1;\n\n\t// Create necessary elements\n\n\tthis.container = this.container(input);\n\n\tthis.ul = $.create(\"ul\", {\n\t\thidden: \"hidden\",\n role: \"listbox\",\n id: \"awesomplete_list_\" + this.count,\n\t\tinside: this.container\n\t});\n\n\tthis.status = $.create(\"span\", {\n\t\tclassName: \"visually-hidden\",\n\t\trole: \"status\",\n\t\t\"aria-live\": \"assertive\",\n \"aria-atomic\": true,\n inside: this.container,\n textContent: this.minChars != 0 ? (\"Type \" + this.minChars + \" or more characters for results.\") : \"Begin typing for results.\"\n\t});\n\n\t// Bind events\n\n\tthis._events = {\n\t\tinput: {\n\t\t\t\"input\": this.evaluate.bind(this),\n\t\t\t\"blur\": this.close.bind(this, { reason: \"blur\" }),\n\t\t\t\"keydown\": function(evt) {\n\t\t\t\tvar c = evt.keyCode;\n\n\t\t\t\t// If the dropdown `ul` is in view, then act on keydown for the following keys:\n\t\t\t\t// Enter / Esc / Up / Down\n\t\t\t\tif(me.opened) {\n\t\t\t\t\tif (c === 13 && me.selected) { // Enter\n\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\tme.select(undefined, undefined, evt);\n\t\t\t\t\t}\n\t\t\t\t\telse if (c === 9 && me.selected && me.tabSelect) {\n\t\t\t\t\t\tme.select(undefined, undefined, evt);\n\t\t\t\t\t}\n\t\t\t\t\telse if (c === 27) { // Esc\n\t\t\t\t\t\tme.close({ reason: \"esc\" });\n\t\t\t\t\t}\n\t\t\t\t\telse if (c === 38 || c === 40) { // Down/Up arrow\n\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\tme[c === 38? \"previous\" : \"next\"]();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tform: {\n\t\t\t\"submit\": this.close.bind(this, { reason: \"submit\" })\n\t\t},\n\t\tul: {\n\t\t\t// Prevent the default mousedowm, which ensures the input is not blurred.\n\t\t\t// The actual selection will happen on click. This also ensures dragging the\n\t\t\t// cursor away from the list item will cancel the selection\n\t\t\t\"mousedown\": function(evt) {\n\t\t\t\tevt.preventDefault();\n\t\t\t},\n\t\t\t// The click event is fired even if the corresponding mousedown event has called preventDefault\n\t\t\t\"click\": function(evt) {\n\t\t\t\tvar li = evt.target;\n\n\t\t\t\tif (li !== this) {\n\n\t\t\t\t\twhile (li && !/li/i.test(li.nodeName)) {\n\t\t\t\t\t\tli = li.parentNode;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (li && evt.button === 0) { // Only select on left click\n\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\tme.select(li, evt.target, evt);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\t$.bind(this.input, this._events.input);\n\t$.bind(this.input.form, this._events.form);\n\t$.bind(this.ul, this._events.ul);\n\n\tif (this.input.hasAttribute(\"list\")) {\n\t\tthis.list = \"#\" + this.input.getAttribute(\"list\");\n\t\tthis.input.removeAttribute(\"list\");\n\t}\n\telse {\n\t\tthis.list = this.input.getAttribute(\"data-list\") || o.list || [];\n\t}\n\n\t_.all.push(this);\n};\n\n_.prototype = {\n\tset list(list) {\n\t\tif (Array.isArray(list)) {\n\t\t\tthis._list = list;\n\t\t}\n\t\telse if (typeof list === \"string\" && list.indexOf(\",\") > -1) {\n\t\t\t\tthis._list = list.split(/\\s*,\\s*/);\n\t\t}\n\t\telse { // Element or CSS selector\n\t\t\tlist = $(list);\n\n\t\t\tif (list && list.children) {\n\t\t\t\tvar items = [];\n\t\t\t\tslice.apply(list.children).forEach(function (el) {\n\t\t\t\t\tif (!el.disabled) {\n\t\t\t\t\t\tvar text = el.textContent.trim();\n\t\t\t\t\t\tvar value = el.value || text;\n\t\t\t\t\t\tvar label = el.label || text;\n\t\t\t\t\t\tif (value !== \"\") {\n\t\t\t\t\t\t\titems.push({ label: label, value: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis._list = items;\n\t\t\t}\n\t\t}\n\n\t\tif (document.activeElement === this.input) {\n\t\t\tthis.evaluate();\n\t\t}\n\t},\n\n\tget selected() {\n\t\treturn this.index > -1;\n\t},\n\n\tget opened() {\n\t\treturn this.isOpened;\n\t},\n\n\tclose: function (o) {\n\t\tif (!this.opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.input.setAttribute(\"aria-expanded\", \"false\");\n\t\tthis.ul.setAttribute(\"hidden\", \"\");\n\t\tthis.isOpened = false;\n\t\tthis.index = -1;\n\n\t\tthis.status.setAttribute(\"hidden\", \"\");\n\n\t\t$.fire(this.input, \"awesomplete-close\", o || {});\n\t},\n\n\topen: function () {\n\t\tthis.input.setAttribute(\"aria-expanded\", \"true\");\n\t\tthis.ul.removeAttribute(\"hidden\");\n\t\tthis.isOpened = true;\n\n\t\tthis.status.removeAttribute(\"hidden\");\n\n\t\tif (this.autoFirst && this.index === -1) {\n\t\t\tthis.goto(0);\n\t\t}\n\n\t\t$.fire(this.input, \"awesomplete-open\");\n\t},\n\n\tdestroy: function() {\n\t\t//remove events from the input and its form\n\t\t$.unbind(this.input, this._events.input);\n\t\t$.unbind(this.input.form, this._events.form);\n\n\t\t// cleanup container if it was created by Awesomplete but leave it alone otherwise\n\t\tif (!this.options.container) {\n\t\t\t//move the input out of the awesomplete container and remove the container and its children\n\t\t\tvar parentNode = this.container.parentNode;\n\n\t\t\tparentNode.insertBefore(this.input, this.container);\n\t\t\tparentNode.removeChild(this.container);\n\t\t}\n\n\t\t//remove autocomplete and aria-autocomplete attributes\n\t\tthis.input.removeAttribute(\"autocomplete\");\n\t\tthis.input.removeAttribute(\"aria-autocomplete\");\n\n\t\t//remove this awesomeplete instance from the global array of instances\n\t\tvar indexOfAwesomplete = _.all.indexOf(this);\n\n\t\tif (indexOfAwesomplete !== -1) {\n\t\t\t_.all.splice(indexOfAwesomplete, 1);\n\t\t}\n\t},\n\n\tnext: function () {\n\t\tvar count = this.ul.children.length;\n\t\tthis.goto(this.index < count - 1 ? this.index + 1 : (count ? 0 : -1) );\n\t},\n\n\tprevious: function () {\n\t\tvar count = this.ul.children.length;\n\t\tvar pos = this.index - 1;\n\n\t\tthis.goto(this.selected && pos !== -1 ? pos : count - 1);\n\t},\n\n\t// Should not be used, highlights specific item without any checks!\n\tgoto: function (i) {\n\t\tvar lis = this.ul.children;\n\n\t\tif (this.selected) {\n\t\t\tlis[this.index].setAttribute(\"aria-selected\", \"false\");\n\t\t}\n\n\t\tthis.index = i;\n\n\t\tif (i > -1 && lis.length > 0) {\n\t\t\tlis[i].setAttribute(\"aria-selected\", \"true\");\n\n\t\t\tthis.status.textContent = lis[i].textContent + \", list item \" + (i + 1) + \" of \" + lis.length;\n\n this.input.setAttribute(\"aria-activedescendant\", this.ul.id + \"_item_\" + this.index);\n\n\t\t\t// scroll to highlighted element in case parent's height is fixed\n\t\t\tthis.ul.scrollTop = lis[i].offsetTop - this.ul.clientHeight + lis[i].clientHeight;\n\n\t\t\t$.fire(this.input, \"awesomplete-highlight\", {\n\t\t\t\ttext: this.suggestions[this.index]\n\t\t\t});\n\t\t}\n\t},\n\n\tselect: function (selected, origin, originalEvent) {\n\t\tif (selected) {\n\t\t\tthis.index = $.siblingIndex(selected);\n\t\t} else {\n\t\t\tselected = this.ul.children[this.index];\n\t\t}\n\n\t\tif (selected) {\n\t\t\tvar suggestion = this.suggestions[this.index];\n\n\t\t\tvar allowed = $.fire(this.input, \"awesomplete-select\", {\n\t\t\t\ttext: suggestion,\n\t\t\t\torigin: origin || selected,\n\t\t\t\toriginalEvent: originalEvent\n\t\t\t});\n\n\t\t\tif (allowed) {\n\t\t\t\tthis.replace(suggestion);\n\t\t\t\tthis.close({ reason: \"select\" });\n\t\t\t\t$.fire(this.input, \"awesomplete-selectcomplete\", {\n\t\t\t\t\ttext: suggestion,\n\t\t\t\t\toriginalEvent: originalEvent\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\n\tevaluate: function() {\n\t\tvar me = this;\n\t\tvar value = this.input.value;\n\n\t\tif (value.length >= this.minChars && this._list && this._list.length > 0) {\n\t\t\tthis.index = -1;\n\t\t\t// Populate list with options that match\n\t\t\tthis.ul.innerHTML = \"\";\n\n\t\t\tthis.suggestions = this._list\n\t\t\t\t.map(function(item) {\n\t\t\t\t\treturn new Suggestion(me.data(item, value));\n\t\t\t\t})\n\t\t\t\t.filter(function(item) {\n\t\t\t\t\treturn me.filter(item, value);\n\t\t\t\t});\n\n\t\t\tif (this.sort !== false) {\n\t\t\t\tthis.suggestions = this.suggestions.sort(this.sort);\n\t\t\t}\n\n\t\t\tthis.suggestions = this.suggestions.slice(0, this.maxItems);\n\n\t\t\tthis.suggestions.forEach(function(text, index) {\n\t\t\t\t\tme.ul.appendChild(me.item(text, value, index));\n\t\t\t\t});\n\n\t\t\tif (this.ul.children.length === 0) {\n\n this.status.textContent = \"No results found\";\n\n\t\t\t\tthis.close({ reason: \"nomatches\" });\n\n\t\t\t} else {\n\t\t\t\tthis.open();\n\n this.status.textContent = this.ul.children.length + \" results found\";\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis.close({ reason: \"nomatches\" });\n\n this.status.textContent = \"No results found\";\n\t\t}\n\t}\n};\n\n// Static methods/properties\n\n_.all = [];\n\n_.FILTER_CONTAINS = function (text, input) {\n\treturn RegExp($.regExpEscape(input.trim()), \"i\").test(text);\n};\n\n_.FILTER_STARTSWITH = function (text, input) {\n\treturn RegExp(\"^\" + $.regExpEscape(input.trim()), \"i\").test(text);\n};\n\n_.SORT_BYLENGTH = function (a, b) {\n\tif (a.length !== b.length) {\n\t\treturn a.length - b.length;\n\t}\n\n\treturn a < b? -1 : 1;\n};\n\n_.CONTAINER = function (input) {\n\treturn $.create(\"div\", {\n\t\tclassName: \"awesomplete\",\n\t\taround: input\n\t});\n}\n\n_.ITEM = function (text, input, item_id) {\n\tvar html = input.trim() === \"\" ? text : text.replace(RegExp($.regExpEscape(input.trim()), \"gi\"), \"$&\");\n\treturn $.create(\"li\", {\n\t\tinnerHTML: html,\n\t\t\"role\": \"option\",\n\t\t\"aria-selected\": \"false\",\n\t\t\"id\": \"awesomplete_list_\" + this.count + \"_item_\" + item_id\n\t});\n};\n\n_.REPLACE = function (text) {\n\tthis.input.value = text.value;\n};\n\n_.DATA = function (item/*, input*/) { return item; };\n\n// Private functions\n\nfunction Suggestion(data) {\n\tvar o = Array.isArray(data)\n\t ? { label: data[0], value: data[1] }\n\t : typeof data === \"object\" && \"label\" in data && \"value\" in data ? data : { label: data, value: data };\n\n\tthis.label = o.label || o.value;\n\tthis.value = o.value;\n}\nObject.defineProperty(Suggestion.prototype = Object.create(String.prototype), \"length\", {\n\tget: function() { return this.label.length; }\n});\nSuggestion.prototype.toString = Suggestion.prototype.valueOf = function () {\n\treturn \"\" + this.label;\n};\n\nfunction configure(instance, properties, o) {\n\tfor (var i in properties) {\n\t\tvar initial = properties[i],\n\t\t attrValue = instance.input.getAttribute(\"data-\" + i.toLowerCase());\n\n\t\tif (typeof initial === \"number\") {\n\t\t\tinstance[i] = parseInt(attrValue);\n\t\t}\n\t\telse if (initial === false) { // Boolean options must be false by default anyway\n\t\t\tinstance[i] = attrValue !== null;\n\t\t}\n\t\telse if (initial instanceof Function) {\n\t\t\tinstance[i] = null;\n\t\t}\n\t\telse {\n\t\t\tinstance[i] = attrValue;\n\t\t}\n\n\t\tif (!instance[i] && instance[i] !== 0) {\n\t\t\tinstance[i] = (i in o)? o[i] : initial;\n\t\t}\n\t}\n}\n\n// Helpers\n\nvar slice = Array.prototype.slice;\n\nfunction $(expr, con) {\n\treturn typeof expr === \"string\"? (con || document).querySelector(expr) : expr || null;\n}\n\nfunction $$(expr, con) {\n\treturn slice.call((con || document).querySelectorAll(expr));\n}\n\n$.create = function(tag, o) {\n\tvar element = document.createElement(tag);\n\n\tfor (var i in o) {\n\t\tvar val = o[i];\n\n\t\tif (i === \"inside\") {\n\t\t\t$(val).appendChild(element);\n\t\t}\n\t\telse if (i === \"around\") {\n\t\t\tvar ref = $(val);\n\t\t\tref.parentNode.insertBefore(element, ref);\n\t\t\telement.appendChild(ref);\n\n\t\t\tif (ref.getAttribute(\"autofocus\") != null) {\n\t\t\t\tref.focus();\n\t\t\t}\n\t\t}\n\t\telse if (i in element) {\n\t\t\telement[i] = val;\n\t\t}\n\t\telse {\n\t\t\telement.setAttribute(i, val);\n\t\t}\n\t}\n\n\treturn element;\n};\n\n$.bind = function(element, o) {\n\tif (element) {\n\t\tfor (var event in o) {\n\t\t\tvar callback = o[event];\n\n\t\t\tevent.split(/\\s+/).forEach(function (event) {\n\t\t\t\telement.addEventListener(event, callback);\n\t\t\t});\n\t\t}\n\t}\n};\n\n$.unbind = function(element, o) {\n\tif (element) {\n\t\tfor (var event in o) {\n\t\t\tvar callback = o[event];\n\n\t\t\tevent.split(/\\s+/).forEach(function(event) {\n\t\t\t\telement.removeEventListener(event, callback);\n\t\t\t});\n\t\t}\n\t}\n};\n\n$.fire = function(target, type, properties) {\n\tvar evt = document.createEvent(\"HTMLEvents\");\n\n\tevt.initEvent(type, true, true );\n\n\tfor (var j in properties) {\n\t\tevt[j] = properties[j];\n\t}\n\n\treturn target.dispatchEvent(evt);\n};\n\n$.regExpEscape = function (s) {\n\treturn s.replace(/[-\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n};\n\n$.siblingIndex = function (el) {\n\t/* eslint-disable no-cond-assign */\n\tfor (var i = 0; el = el.previousElementSibling; i++);\n\treturn i;\n};\n\n// Initialization\n\nfunction init() {\n\t$$(\"input.awesomplete\").forEach(function (input) {\n\t\tnew _(input);\n\t});\n}\n\n// Make sure to export Awesomplete on self when in a browser\nif (typeof self !== \"undefined\") {\n\tself.Awesomplete = _;\n}\n\n// Are we in a browser? Check for Document constructor\nif (typeof Document !== \"undefined\") {\n\t// DOM already loaded?\n\tif (document.readyState !== \"loading\") {\n\t\tinit();\n\t}\n\telse {\n\t\t// Wait for it\n\t\tdocument.addEventListener(\"DOMContentLoaded\", init);\n\t}\n}\n\n_.$ = $;\n_.$$ = $$;\n\n// Expose Awesomplete as a CJS module\nif (typeof module === \"object\" && module.exports) {\n\tmodule.exports = _;\n}\n\nreturn _;\n\n}());\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","function getColor(color) {\n const colors = [\n \"#000000\",\n \"#074750\",\n \"#009191\",\n \"#FF6CB6\",\n \"#FFB5DA\",\n \"#490092\",\n \"#006CDB\",\n \"#B66DFF\",\n \"#6DB5FE\",\n \"#B5DAFE\",\n \"#920000\",\n \"#924900\",\n \"#DB6D00\",\n \"#24FE23\"\n ];\n const index = parseInt(color, 16) % colors.length;\n return colors[index];\n}\n\nfunction getIcon(hash) {\n const icons = [\n \"fa-hashtag\",\n \"fa-heart\",\n \"fa-hotel\",\n \"fa-university\",\n \"fa-plug\",\n \"fa-ambulance\",\n \"fa-bus\",\n \"fa-car\",\n \"fa-plane\",\n \"fa-rocket\",\n \"fa-ship\",\n \"fa-subway\",\n \"fa-truck\",\n \"fa-jpy\",\n \"fa-eur\",\n \"fa-btc\",\n \"fa-usd\",\n \"fa-gbp\",\n \"fa-archive\",\n \"fa-area-chart\",\n \"fa-bed\",\n \"fa-beer\",\n \"fa-bell\",\n \"fa-binoculars\",\n \"fa-birthday-cake\",\n \"fa-bomb\",\n \"fa-briefcase\",\n \"fa-bug\",\n \"fa-camera\",\n \"fa-cart-plus\",\n \"fa-certificate\",\n \"fa-coffee\",\n \"fa-cloud\",\n \"fa-coffee\",\n \"fa-comment\",\n \"fa-cube\",\n \"fa-cutlery\",\n \"fa-database\",\n \"fa-diamond\",\n \"fa-exclamation-circle\",\n \"fa-eye\",\n \"fa-flag\",\n \"fa-flask\",\n \"fa-futbol-o\",\n \"fa-gamepad\",\n \"fa-graduation-cap\"\n ];\n const index = parseInt(hash, 16) % icons.length;\n return icons[index];\n}\n\nmodule.exports = function(hmacSHA256) {\n const fingerprint = [];\n const hash1 = hmacSHA256.substring(0, 6);\n fingerprint.push({\n color: getColor(hash1),\n icon: getIcon(hash1)\n });\n\n const hash2 = hmacSHA256.substring(6, 12);\n fingerprint.push({\n color: getColor(hash2),\n icon: getIcon(hash2)\n });\n\n const hash3 = hmacSHA256.substring(12, 18);\n fingerprint.push({\n color: getColor(hash3),\n icon: getIcon(hash3)\n });\n\n return fingerprint;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n utils.forEach(['url', 'method', 'params', 'data'], function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n\n utils.forEach(['headers', 'auth', 'proxy'], function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n utils.forEach([\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'maxContentLength',\n 'validateStatus', 'maxRedirects', 'httpAgent', 'httpsAgent', 'cancelToken',\n 'socketPath'\n ], function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n return config;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (typeof val === 'object') {\n result[key] = deepMerge({}, val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","function consumeEntropy(\n generatedPassword,\n quotient,\n setOfCharacters,\n maxLength\n) {\n let passwordBuilt = generatedPassword;\n if (passwordBuilt.length >= maxLength) {\n return { value: passwordBuilt, entropy: quotient };\n }\n const longDivision = quotient.divmod(setOfCharacters.length);\n passwordBuilt += setOfCharacters[longDivision.remainder];\n return consumeEntropy(\n passwordBuilt,\n longDivision.quotient,\n setOfCharacters,\n maxLength\n );\n}\n\nmodule.exports = {\n consumeEntropy\n};\n","(function(_window) {\n \"use strict\";\n\n if (typeof module === \"object\" && module && module.exports) {\n module.exports = _window.atob;\n }\n})(window);\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=style&index=0&lang=css&\"","export default {\n translate(locale, key, fallbackMessage, context){\n if (locale && key in locale) {\n return this.compile(locale[key], context);\n }\n if (fallbackMessage) {\n return this.compile(fallbackMessage, context);\n }\n return key;\n },\n compile(string, data){\n if (!data) {\n return string;\n }\n return string.replace(\n /{(\\w*)}/g,\n (m, key) => {\n return data.hasOwnProperty(key) ? data[key] : '';\n }\n );\n },\n getBestLanguage(languagesAvailable, navigatorLanguage, defaultLanguage){\n if (typeof navigatorLanguage === 'undefined') {\n return defaultLanguage;\n }\n for (let i = 0; i < languagesAvailable.length; i++) {\n const lang = languagesAvailable[i];\n if (lang === navigatorLanguage || lang.toLowerCase() === navigatorLanguage) {\n return lang;\n }\n }\n for (let i = 0; i < languagesAvailable.length; i++) {\n const lang = languagesAvailable[i];\n if (lang.split('-')[0] === navigatorLanguage || navigatorLanguage.split('-')[0] === lang) {\n return lang;\n }\n }\n return defaultLanguage;\n }\n};\n","import i18n from \"./i18n\";\n\nlet vm;\n\nexport function install(\n Vue,\n options = { languagesAvailable: [], defaultLanguage: \"en-US\" }\n) {\n if (!vm) {\n vm = new Vue({\n data() {\n return {\n languagesAvailable: options.languagesAvailable,\n defaultLanguage: options.defaultLanguage,\n lang: this.getLang(),\n locales: {}\n };\n },\n\n computed: {\n locale() {\n if (!this.locales[this.lang]) {\n return null;\n }\n return this.locales[this.lang];\n }\n },\n\n methods: {\n setLang({ lang }) {\n this.lang = lang;\n },\n setLocale({ lang, locale }) {\n this.locales = Object.assign({}, this.locales, { [lang]: locale });\n },\n extendLocales(locales) {\n Object.keys(locales).forEach(lang => {\n const locale = this.locales.hasOwnProperty(lang)\n ? Object.assign({}, this.locales[lang], locales[lang])\n : locales[lang];\n this.setLocale({ lang, locale });\n });\n },\n getLang() {\n const languagesAvailable = options.languagesAvailable;\n const navigatorLanguage =\n window.navigator.userLanguage || window.navigator.language;\n const defaultLanguage = options.defaultLanguage;\n return i18n.getBestLanguage(\n languagesAvailable,\n navigatorLanguage,\n defaultLanguage\n );\n },\n _translate(key, fallbackMessage, data) {\n return i18n.translate(this.locale, key, fallbackMessage, data);\n }\n }\n });\n\n Vue.prototype.$polyglot = vm;\n }\n\n Vue.mixin({\n methods: {\n $t(key, fallbackMessage, data) {\n return this.$polyglot._translate(key, fallbackMessage, data);\n }\n }\n });\n\n Vue.locales = locales => {\n Object.keys(locales).forEach(lang => {\n vm.$polyglot.setLocale({ lang, locale: locales[lang] });\n });\n };\n}\n\nexport default {\n install\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card\",attrs:{\"id\":\"lesspass\"}},[_c('lesspass-menu'),_c('lesspass-message'),_c('div',{staticClass:\"lesspass__inner-box card-body\"},[_c('router-view')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"menu\"}},[_c('div',{staticClass:\"card-header\",class:{ 'text-white bg-dark': _vm.isGuest}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-4\"},[_c('span',{staticClass:\"white-link pointer\",attrs:{\"id\":\"title\"},on:{\"click\":function($event){return _vm.fullReload()}}},[_vm._v(\"LessPass\")])]),_c('div',{staticClass:\"col-8 text-right\"},[(_vm.saved && _vm.isAuthenticated)?_c('span',[_vm._m(0)]):_vm._e(),(!_vm.saved && _vm.isAuthenticated && _vm.$store.state.password.site !== '' && _vm.$store.state.route.path === '/')?_c('span',{staticClass:\"white-link\",attrs:{\"title\":_vm.$t('Save')},on:{\"click\":function($event){return _vm.saveOrUpdatePassword()}}},[_c('i',{staticClass:\"fa fa-lg fa-save pointer\"})]):_vm._e(),(_vm.isAuthenticated)?_c('router-link',{staticClass:\"white-link pl-3\",attrs:{\"to\":{ name: 'passwords'},\"title\":_vm.$t('Saved passwords')}},[_c('i',{staticClass:\"fa fa-lg fa-key\"})]):_vm._e(),_c('router-link',{staticClass:\"white-link pl-3\",attrs:{\"to\":{ name: 'settings'},\"title\":_vm.$t('Settings')}},[_c('i',{staticClass:\"fa fa-lg fa-cog\"})]),(_vm.isAuthenticated)?_c('button',{staticClass:\"white-link btn btn-link p-0 m-0 pl-3\",attrs:{\"type\":\"button\",\"title\":_vm.$t('Sign out')},on:{\"click\":_vm.logout}},[_c('i',{staticClass:\"fa fa-lg fa-sign-out\"})]):_vm._e(),(_vm.isGuest)?_c('router-link',{staticClass:\"white-link pl-3\",attrs:{\"to\":{ name: 'login'},\"title\":_vm.$t('Sign In')}},[_c('i',{staticClass:\"fa fa-lg fa-sign-in pointer\"})]):_vm._e()],1)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('small',[_c('i',{staticClass:\"fa fa-lg fa-check pl-3\"}),_vm._v(\" saved\")])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Menu.vue?vue&type=template&id=b22cd4b0&\"\nimport script from \"./Menu.vue?vue&type=script&lang=js&\"\nexport * from \"./Menu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Menu.vue?vue&type=style&index=0&lang=css&\"\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\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"message\"},on:{\"click\":_vm.keepMessage}},[_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.message.text)?_c('div',[_c('div',{staticClass:\"card-header text-white\",class:{ 'bg-warning': _vm.message.status==='warning', 'bg-danger': _vm.message.status==='error', 'bg-success': _vm.message.status==='success' }},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('small',[_vm._v(_vm._s(_vm.message.text))]),_c('span',{staticClass:\"close-notification\",on:{\"click\":_vm.hideMessage}},[_c('i',{staticClass:\"fa fa-close\"})])])])])]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from \"axios\";\n\nexport default {\n addAuthorizationHeader(config) {\n return {\n ...config,\n headers: { Authorization: `JWT ${config.token}` }\n };\n },\n all(config) {\n return axios.get(\"/api/passwords/\", this.addAuthorizationHeader(config));\n },\n create(resource, config) {\n return axios.post(\n \"/api/passwords/\",\n resource,\n this.addAuthorizationHeader(config)\n );\n },\n read(resource, config) {\n return axios.get(\n \"/api/passwords/\" + resource.id + \"/\",\n this.addAuthorizationHeader(config)\n );\n },\n update(resource, config) {\n return axios.put(\n \"/api/passwords/\" + resource.id + \"/\",\n resource,\n this.addAuthorizationHeader(config)\n );\n },\n delete(resource, config) {\n return axios.delete(\n \"/api/passwords/\" + resource.id + \"/\",\n this.addAuthorizationHeader(config)\n );\n }\n};\n","import axios from \"axios\";\n\nexport default {\n login(user, config) {\n return axios.post(\"/api/tokens/auth/\", user, config).then(response => {\n return response.data;\n });\n },\n register(user, config) {\n return axios.post(\"/api/auth/register/\", user, config).then(response => {\n return response.data;\n });\n },\n resetPassword(email, config) {\n return axios.post(\"/api/auth/password/reset/\", email, config);\n },\n confirmResetPassword(password, config) {\n return axios.post(\"/api/auth/password/reset/confirm/\", password, config);\n },\n requestNewToken(token, config) {\n return axios.post(\"/api/tokens/refresh/\", token, config).then(response => {\n return response.data.token;\n });\n }\n};\n","\"use strict\";\n\nimport atob from \"@oslab/atob\";\n\nexport function cleanUrl(url) {\n if (!url) {\n return \"\";\n }\n var matchesDomainName = url.match(/^(?:https?:\\/\\/)([^/?#]+)(?:[/?#]|$)/i);\n return matchesDomainName && matchesDomainName[1] ? matchesDomainName[1] : \"\";\n}\n\nfunction isAnIpAddressWithPort(address) {\n return /^(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}):(\\d{1,5})$/.test(address);\n}\n\nexport function getSuggestions(url) {\n const cleanedUrl = cleanUrl(url) || url;\n if (isAnIpAddressWithPort(cleanedUrl)) return [];\n const urlElements = cleanedUrl\n .toLowerCase()\n .split(\".\")\n .filter(element => element.length >= 2);\n if (urlElements.length < 2) return [];\n const baseName = urlElements[urlElements.length - 2];\n const tld = urlElements[urlElements.length - 1];\n return urlElements.reduceRight(\n (accumulator, currentValue) => {\n const index = urlElements.indexOf(currentValue);\n if (index >= 0 && index < urlElements.length - 2) {\n const lastValue = accumulator[accumulator.length - 1];\n accumulator.push(currentValue + \".\" + lastValue);\n }\n return accumulator;\n },\n [baseName, `${baseName}.${tld}`]\n );\n}\n\nexport function getSite() {\n return new Promise(resolve => {\n if (\n typeof chrome !== \"undefined\" &&\n typeof chrome.tabs !== \"undefined\" &&\n typeof chrome.tabs.query !== \"undefined\"\n ) {\n chrome.tabs.query({ active: true, currentWindow: true }, tabs => {\n resolve(cleanUrl(tabs[0].url));\n });\n } else {\n resolve(\"\");\n }\n });\n}\n\nfunction passwordProfileFromRawQuery(query) {\n const password = {};\n [\"uppercase\", \"lowercase\", \"numbers\", \"symbols\"].forEach(booleanishQuery => {\n if (booleanishQuery in query) {\n password[booleanishQuery] =\n query[booleanishQuery].toLowerCase() === \"true\" ||\n query[booleanishQuery].toLowerCase() === \"1\";\n }\n });\n [\"site\", \"login\"].forEach(stringQuery => {\n if (stringQuery in query) {\n password[stringQuery] = query[stringQuery];\n }\n });\n [\"length\", \"counter\", \"version\"].forEach(intQuery => {\n if (intQuery in query) {\n password[intQuery] = parseInt(query[intQuery], 10);\n }\n });\n return password;\n}\n\nfunction decodeBase64PasswordProfile(b64) {\n return JSON.parse(atob(b64));\n}\n\nexport function getPasswordFromUrlQuery(queryParameters) {\n if (\"passwordProfileEncoded\" in queryParameters) {\n return decodeBase64PasswordProfile(\n queryParameters[\"passwordProfileEncoded\"]\n );\n }\n return passwordProfileFromRawQuery(queryParameters);\n}\n","export const LOGOUT = \"LOGOUT\";\nexport const LOGIN = \"LOGIN\";\nexport const SET_BASE_URL = \"SET_BASE_URL\";\nexport const SET_DEFAULT_OPTIONS = \"SET_DEFAULT_OPTIONS\";\nexport const SET_MESSAGE = \"SET_MESSAGE\";\nexport const SET_PASSWORD = \"SET_PASSWORD\";\nexport const SET_PASSWORDS = \"SET_PASSWORDS\";\nexport const SET_TOKEN = \"SET_TOKEN\";\nexport const RESET_PASSWORD = \"RESET_PASSWORD\";\nexport const SET_SITE = \"SET_SITE\";\nexport const LOAD_PASSWORD_PROFILE = \"LOAD_PASSWORD_PROFILE\";\nexport const DELETE_PASSWORD = \"DELETE_PASSWORD\";\nexport const CLEAN_MESSAGE = \"CLEAN_MESSAGE\";\n","export const defaultOptions = {\n uppercase: true,\n lowercase: true,\n numbers: true,\n symbols: true,\n length: 16,\n counter: 1,\n version: 2\n};\n\nexport default {\n login: \"\",\n site: \"\",\n ...defaultOptions\n};\n","import Password from \"../api/password\";\nimport User from \"../api/user\";\nimport * as urlParser from \"../services/url-parser\";\nimport * as types from \"./mutation-types\";\nimport defaultPasswordProfile from \"./defaultPassword\";\n\nexport const refreshToken = ({ commit, state }) => {\n const token = state.token;\n if (token) {\n User.requestNewToken({ token }, { baseURL: state.baseURL })\n .then(newToken => commit(types.SET_TOKEN, { token: newToken }))\n .catch(() => commit(types.LOGOUT));\n }\n};\n\nexport const saveDefaultOptions = ({ commit }, payload) => {\n commit(types.SET_DEFAULT_OPTIONS, payload);\n};\n\nexport const loadPasswordProfile = ({ commit }, { site }) => {\n commit(types.LOAD_PASSWORD_PROFILE, { site });\n};\n\nexport const getPasswordFromUrlQuery = ({ commit }, { query }) => {\n const password = urlParser.getPasswordFromUrlQuery(query);\n const expectedNbOfElements = Object.keys(defaultPasswordProfile).length;\n if (Object.keys(password).length === expectedNbOfElements) {\n commit(types.SET_PASSWORD, { password });\n }\n};\n\nexport const savePassword = ({ commit }, payload) => {\n commit(types.SET_PASSWORD, payload);\n};\n\nexport const resetPassword = ({ commit }) => {\n commit(types.RESET_PASSWORD);\n};\n\nexport const login = ({ commit }, payload) => {\n commit(types.SET_BASE_URL, payload);\n commit(types.SET_TOKEN, payload);\n commit(types.LOGIN);\n};\n\nexport const logout = ({ commit }) => {\n commit(types.LOGOUT);\n commit(types.RESET_PASSWORD);\n};\n\nexport const getPasswords = ({ commit, state }) => {\n if (state.authenticated) {\n return Password.all(state).then(response => {\n const passwords = response.data.results;\n commit(types.SET_PASSWORDS, { passwords });\n return passwords;\n });\n }\n return Promise.resolve([]);\n};\n\nexport const saveOrUpdatePassword = ({ commit, state }) => {\n const site = state.password.site;\n const login = state.password.login;\n const existingPassword = state.passwords.find(password => {\n return password.site === site && password.login === login;\n });\n if (existingPassword) {\n const newPassword = Object.assign({}, existingPassword, state.password);\n Password.update(newPassword, state).then(() => {\n getPasswords({ commit, state });\n });\n } else {\n Password.create(state.password, state).then(() => {\n getPasswords({ commit, state });\n });\n }\n};\n\nexport const deletePassword = ({ commit, state }, payload) => {\n Password.delete(payload, state).then(() => {\n commit(types.DELETE_PASSWORD, payload);\n });\n};\n\nexport const displayMessage = ({ commit }, payload) => {\n commit(types.SET_MESSAGE, payload);\n};\n\nexport const cleanMessage = ({ commit }) => {\n commit(types.CLEAN_MESSAGE);\n};\n","import btoa from \"@oslab/btoa\";\nimport { defaultOptions } from \"./defaultPassword\";\n\nexport const isAuthenticated = state => state.authenticated;\n\nexport const isGuest = state => !state.authenticated;\n\nexport const passwordURL = state => {\n const base64PasswordProfile = btoa(JSON.stringify(state.password));\n const encodedPasswordProfile = encodeURIComponent(base64PasswordProfile);\n return `${state.baseURL}/#/?passwordProfileEncoded=${encodedPasswordProfile}`;\n};\n","import * as types from \"./mutation-types\";\n\nexport default {\n [types.LOGIN](state) {\n state.authenticated = true;\n },\n [types.SET_TOKEN](state, { token }) {\n state.token = token;\n },\n [types.LOGOUT](state) {\n state.authenticated = false;\n state.token = null;\n state.passwords = [];\n },\n [types.RESET_PASSWORD](state) {\n state.password = { ...state.defaultPassword };\n },\n [types.SET_PASSWORD](state, { password }) {\n state.password = { ...password };\n },\n [types.SET_DEFAULT_OPTIONS](state, { options }) {\n state.defaultPassword = Object.assign({}, state.defaultPassword, options);\n },\n [types.SET_PASSWORDS](state, { passwords }) {\n state.passwords = passwords;\n },\n [types.DELETE_PASSWORD](state, { id }) {\n state.passwords = state.passwords.filter(password => {\n return password.id !== id;\n });\n if (state.password && state.password.id === id) {\n state.password = Object.assign({}, state.defaultPassword);\n }\n },\n [types.SET_BASE_URL](state, { baseURL }) {\n state.baseURL = baseURL;\n },\n [types.SET_SITE](state, { site }) {\n state.password.site = site;\n },\n [types.LOAD_PASSWORD_PROFILE](state, { site }) {\n if (!site || typeof state.password.id !== \"undefined\") {\n return;\n }\n state.password = Object.assign({}, state.password, { site });\n const passwords = state.passwords || [];\n const siteWithoutWWW = site.replace(/^www./g, \"\");\n for (let i = 0; i < passwords.length; i++) {\n const password = passwords[i];\n if (site.endsWith(password.site)) {\n state.password = { ...password };\n break;\n } else if (password.site.endsWith(siteWithoutWWW)) {\n state.password = { ...password };\n }\n }\n },\n [types.SET_MESSAGE](state, { message }) {\n state.message = message;\n },\n [types.CLEAN_MESSAGE](state) {\n state.message = { text: \"\", status: \"success\" };\n }\n};\n","var isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tObject.keys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tObject.keys(source).forEach(function(key) {\n\t\tif (!options.isMergeableObject(source[key]) || !target[key]) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = deepmerge(target[key], source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nexport default deepmerge_1;\n","function t(t,n,r){return void 0===(t=(n.split?n.split(\".\"):n).reduce(function(t,n){return t&&t[n]},t))?r:t}function n(t,n,r,e){return(n=n.split?n.split(\".\"):n).slice(0,-1).reduce(function(t,n){return t[n]=t[n]||{}},t)[n.pop()]=r,t}export{t as get,n as set};\n//# sourceMappingURL=shvl.es.js.map\n","import t from\"deepmerge\";import{set as e,get as r}from\"shvl\";export default function(n,o,u){function i(t,e,r){try{return(r=e.getItem(t))&&void 0!==r?JSON.parse(r):void 0}catch(t){}}if(o=(n=n||{}).storage||window&&window.localStorage,u=n.key||\"vuex\",!function(t){try{return t.setItem(\"@@\",1),t.removeItem(\"@@\"),!0}catch(t){}return!1}(o))throw new Error(\"Invalid storage instance given\");return function(c){var a=r(n,\"getState\",i)(u,o);\"object\"==typeof a&&null!==a&&c.replaceState(t(c.state,a,{arrayMerge:n.arrayMerger||function(t,e){return e},clone:!1})),(n.subscriber||function(t){return function(e){return t.subscribe(e)}})(c)(function(t,i){(n.filter||function(){return!0})(t)&&(n.setState||function(t,e,r){return r.setItem(t,JSON.stringify(e))})(u,(n.reducer||function(t,n){return 0===n.length?t:n.reduce(function(n,o){return e(n,o,r(t,o))},{})})(i,n.paths||[]),o)})}};\n//# sourceMappingURL=vuex-persistedstate.es.js.map\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\nimport * as actions from \"./actions\";\nimport * as getters from \"./getters\";\nimport mutations from \"./mutations\";\nimport createPersistedState from \"vuex-persistedstate\";\nimport defaultPassword from \"./defaultPassword\";\n\nVue.use(Vuex);\n\nconst state = {\n authenticated: false,\n password: Object.assign({}, defaultPassword),\n passwords: [],\n message: \"\",\n defaultPassword: defaultPassword,\n showOptions: false,\n token: null,\n baseURL: \"https://lesspass.com\"\n};\n\nexport default new Vuex.Store({\n state,\n getters,\n actions,\n mutations,\n plugins: [\n createPersistedState({\n key: \"lesspass\",\n paths: [\"token\", \"baseURL\", \"authenticated\", \"defaultPassword\"]\n })\n ]\n});\n","import Store from \"../store\";\n\nexport default {\n timeout: 0,\n deleteMessage: true,\n success(text) {\n const message = { text, status: \"success\" };\n Store.dispatch(\"displayMessage\", { message });\n this.autoHideMessage(text);\n },\n warning(text) {\n const message = { text, status: \"warning\" };\n Store.dispatch(\"displayMessage\", { message });\n this.autoHideMessage(text);\n },\n error(text) {\n const message = { text, status: \"error\" };\n Store.dispatch(\"displayMessage\", { message });\n this.autoHideMessage(text);\n },\n autoHideMessage(text) {\n clearTimeout(this.timeout);\n this.deleteMessage = true;\n const duration = Math.min(Math.max(text.length * 100, 3000), 8000);\n this.timeout = setTimeout(() => {\n if (this.deleteMessage) {\n Store.dispatch(\"cleanMessage\");\n }\n }, duration);\n },\n keepMessage() {\n this.deleteMessage = false;\n },\n hideMessage() {\n Store.dispatch(\"cleanMessage\");\n },\n displayGenericError() {\n this.error(\"Oops! Something went wrong. Retry in a few minutes.\");\n }\n};\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Message.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Message.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Message.vue?vue&type=template&id=127beb1b&\"\nimport script from \"./Message.vue?vue&type=script&lang=js&\"\nexport * from \"./Message.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Message.vue?vue&type=style&index=0&lang=css&\"\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\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LessPass.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LessPass.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LessPass.vue?vue&type=template&id=76e2f567&\"\nimport script from \"./LessPass.vue?vue&type=script&lang=js&\"\nexport * from \"./LessPass.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LessPass.vue?vue&type=style&index=0&lang=css&\"\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\nexport default component.exports","/*!\n * vue-router v3.1.3\n * (c) 2019 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\nfunction isExtendedError (constructor, err) {\n return (\n err instanceof constructor ||\n // _name is to support IE9 too\n (err && (err.name === constructor.name || err._name === constructor._name))\n )\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\nvar View = {\n name: 'RouterView',\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 // used by devtools to display a router-view badge\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 var vnodeData = parent.$vnode && parent.$vnode.data;\n if (vnodeData) {\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._inactive) {\n inactive = true;\n }\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 // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\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\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\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = 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),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\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\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}\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 params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n if (params.pathMatch) { params[0] = params.pathMatch; }\n\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 } finally {\n // delete the 0 if it was added\n delete params[0];\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._normalized) {\n return next\n } else if (next.name) {\n return extend({}, raw)\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params = extend(extend({}, 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\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar Link = {\n name: 'RouterLink',\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(\n this.to,\n current,\n this.append\n );\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 =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), 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, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\"RouterLink with to=\\\"\" + (this.props.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\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 aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\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('RouterView', View);\n Vue.component('RouterLink', 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 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 if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\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(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\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:\n 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 (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\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 (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\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 (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 (\n path,\n pathToRegexpOptions\n) {\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(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\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\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 location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\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 // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = 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// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n window.history.replaceState({ key: getStateKey() }, '', absolutePath);\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.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\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\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\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 =\n inBrowser &&\n (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\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: getStateKey() }, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', 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\nvar NavigationDuplicated = /*@__PURE__*/(function (Error) {\n function NavigationDuplicated (normalizedLocation) {\n Error.call(this);\n this.name = this._name = 'NavigationDuplicated';\n // passing the message to super() doesn't seem to work in the transpiled version\n this.message = \"Navigating to current location (\\\"\" + (normalizedLocation.fullPath) + \"\\\") is not allowed\";\n // add a stack property so services like Sentry can correctly display it\n Object.defineProperty(this, 'stack', {\n value: new Error().stack,\n writable: true,\n configurable: true\n });\n // we could also have used\n // Error.captureStackTrace(this, this.constructor)\n // but it only exists on node and chrome\n }\n\n if ( Error ) NavigationDuplicated.__proto__ = Error;\n NavigationDuplicated.prototype = Object.create( Error && Error.prototype );\n NavigationDuplicated.prototype.constructor = NavigationDuplicated;\n\n return NavigationDuplicated;\n}(Error));\n\n// support IE9\nNavigationDuplicated._name = 'NavigationDuplicated';\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 (\n location,\n onComplete,\n onAbort\n) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(\n route,\n 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) {\n cb(route);\n });\n }\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) {\n cb(err);\n });\n }\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 // after merging https://github.com/vuejs/vue-router/pull/2771 we\n // When the user navigates through history through back/forward buttons\n // we do not want to throw the error. We only throw it if directly calling\n // push/replace. That's why it's not included in isError\n if (!isExtendedError(NavigationDuplicated, err) && isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\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(new NavigationDuplicated(route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\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' || typeof to.name === 'string'))\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) {\n cb();\n });\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(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n }\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 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 next(cb);\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 (\n instances[key] &&\n !instances[key]._isBeingDestroyed // do not reuse being destroyed instance\n ) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\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 (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.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 = decodeURI(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\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.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 ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.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(\n supportsPushState ? 'popstate' : 'hashchange',\n 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\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(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\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(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\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(cleanPath(base + '/#' + location));\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 // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n // decode the hash but not the search or hash\n // as search(query) is already decoded\n // https://github.com/vuejs/vue-router/issues/2708\n var searchIndex = href.indexOf('?');\n if (searchIndex < 0) {\n var hashIndex = href.indexOf('#');\n if (hashIndex > -1) {\n href = decodeURI(href.slice(0, hashIndex)) + href.slice(hashIndex);\n } else { href = decodeURI(href); }\n } else {\n if (searchIndex > -1) {\n href = decodeURI(href.slice(0, searchIndex)) + href.slice(searchIndex);\n }\n }\n\n return href\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\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.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(\n location,\n 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 },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\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(\n route,\n function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n },\n function (err) {\n if (isExtendedError(NavigationDuplicated, err)) {\n this$1.index = targetIndex;\n }\n }\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\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 // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1.apps.indexOf(app);\n if (index > -1) { this$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1.app === app) { this$1.app = this$1.apps[0] || null; }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\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 var this$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\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 current = current || this.history.current;\n var location = normalizeLocation(\n to,\n 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.1.3';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.signIn($event)}}},[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"inner-addon left-addon\"},[_c('i',{staticClass:\"fa fa-globe\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.baseURL),expression:\"baseURL\"}],staticClass:\"form-control\",attrs:{\"id\":\"baseURL\",\"type\":\"text\",\"autocapitalize\":\"none\",\"placeholder\":_vm.$t('LessPass Database Url')},domProps:{\"value\":(_vm.baseURL)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.baseURL=$event.target.value}}})])]),_c('div',{staticClass:\"form-group row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"inner-addon left-addon\"},[_c('i',{staticClass:\"fa fa-user\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.email),expression:\"email\"}],staticClass:\"form-control\",attrs:{\"id\":\"email\",\"name\":\"username\",\"type\":\"email\",\"autocapitalize\":\"none\",\"placeholder\":_vm.$t('Email'),\"required\":\"\"},domProps:{\"value\":(_vm.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.email=$event.target.value}}})])])]),_c('div',{staticClass:\"form-group mb-2\"},[_c('master-password',{attrs:{\"label\":_vm.$t('Master Password'),\"email\":_vm.email,\"showEncryptButton\":true,\"EncryptButtonText\":_vm.$t('Encrypt my master password')},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}})],1),_c('div',{staticClass:\"form-group row no-gutters mb-0\"},[_c('div',{staticClass:\"col\"},[_c('button',{staticClass:\"btn btn-primary btn-block\",attrs:{\"id\":\"signInButton\"}},[_vm._v(_vm._s(_vm.$t('Sign In')))])]),_c('div',{staticClass:\"col\"},[_c('button',{staticClass:\"btn btn-secondary btn-block\",attrs:{\"id\":\"registerButton\",\"type\":\"button\"},on:{\"click\":_vm.register}},[_vm._v(_vm._s(_vm.$t('Register')))])])]),_c('div',{staticClass:\"form-group mb-0\"},[_c('button',{staticClass:\"btn btn-link btn-sm p-0\",attrs:{\"id\":\"login__forgot-password-btn\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.$router.push({name: 'passwordReset'})}}},[_c('small',[_vm._v(_vm._s(_vm.$t('ForgotPassword', 'Forgot your password?')))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"masterPassword\"},[_c('div',{staticClass:\"input-group inner-addon left-addon\"},[_c('label',{staticClass:\"sr-only\",attrs:{\"for\":\"passwordField\"}},[_vm._v(_vm._s(_vm.label))]),_c('i',{staticClass:\"fa fa-lock\"}),_c('input',{ref:\"passwordField\",staticClass:\"form-control\",attrs:{\"id\":\"passwordField\",\"name\":\"passwordField\",\"type\":\"password\",\"tabindex\":\"0\",\"autocorrect\":\"off\",\"autocapitalize\":\"none\",\"placeholder\":_vm.label},domProps:{\"value\":_vm.value},on:{\"input\":function($event){return _vm.updateValue($event.target.value)},\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.$emit('keyupEnter')}}}),(_vm.fingerprint && _vm.value)?_c('span',{staticClass:\"input-group-btn\",on:{\"click\":_vm.togglePasswordType}},[_c('button',{staticClass:\"btn\",attrs:{\"id\":\"fingerprint\",\"type\":\"button\",\"tabindex\":\"-1\"}},[_c('small',[_c('i',{staticClass:\"fa fa-fw\",class:[_vm.icon1],style:({ color: _vm.color1 })}),_c('i',{staticClass:\"fa fa-fw\",class:[_vm.icon2],style:({ color: _vm.color2 })}),_c('i',{staticClass:\"fa fa-fw\",class:[_vm.icon3],style:({ color: _vm.color3 })})])])]):_vm._e()]),(_vm.showEncryptButton)?_c('button',{staticClass:\"btn btn-link btn-sm p-0\",class:{'disabled': _vm.email === ''},attrs:{\"id\":\"encryptMasterPassword__btn\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.encryptMasterPassword()}}},[_c('small',[_vm._v(_vm._s(_vm.EncryptButtonText))])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MasterPassword.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MasterPassword.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MasterPassword.vue?vue&type=template&id=7b6a5a1b&\"\nimport script from \"./MasterPassword.vue?vue&type=script&lang=js&\"\nexport * from \"./MasterPassword.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MasterPassword.vue?vue&type=style&index=0&lang=css&\"\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\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=fe244f86&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&lang=css&\"\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\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{attrs:{\"id\":\"password-generator\",\"novalidate\":\"\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.generatePassword($event)}}},[_c('div',{staticClass:\"form-group\"},[_c('input-site',{ref:\"site\",attrs:{\"passwords\":_vm.passwords,\"label\":_vm.$t('Site')},on:{\"suggestionSelected\":_vm.setSite,\"passwordProfileSelected\":_vm.setPasswordProfile},model:{value:(_vm.password.site),callback:function ($$v) {_vm.$set(_vm.password, \"site\", $$v)},expression:\"password.site\"}})],1),_c('remove-auto-complete'),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"sr-only\",attrs:{\"for\":\"login\"}},[_vm._v(_vm._s(_vm.$t('Login')))]),_c('div',{staticClass:\"inner-addon left-addon\"},[_c('i',{staticClass:\"fa fa-user\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password.login),expression:\"password.login\"}],ref:\"login\",staticClass:\"form-control\",attrs:{\"id\":\"login\",\"type\":\"text\",\"name\":\"login\",\"tabindex\":\"0\",\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"autocapitalize\":\"none\",\"placeholder\":_vm.$t('Login')},domProps:{\"value\":(_vm.password.login)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.password, \"login\", $event.target.value)}}})])]),_c('div',{staticClass:\"form-group\"},[_c('master-password',{ref:\"masterPassword\",attrs:{\"label\":_vm.$t('Master Password')},on:{\"generatePassword\":_vm.generatePassword},model:{value:(_vm.masterPassword),callback:function ($$v) {_vm.masterPassword=$$v},expression:\"masterPassword\"}})],1),_c('options',{attrs:{\"options\":_vm.password}}),_c('div',{staticClass:\"form-group mt-4 mb-0\"},[(!_vm.passwordGenerated)?_c('button',{staticClass:\"btn btn-primary btn-block\",attrs:{\"id\":\"generatePassword__btn\",\"type\":\"submit\",\"tabindex\":\"0\"}},[_vm._v(_vm._s(_vm.$t('Generate')))]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.passwordGenerated),expression:\"passwordGenerated\"}],staticClass:\"input-group\"},[_c('span',{staticClass:\"input-group-btn\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"id\":\"copyPasswordButton\",\"tabindex\":\"0\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.copyPassword()}}},[_c('i',{staticClass:\"fa fa-clipboard\"})])]),_c('input',{ref:\"passwordGenerated\",staticClass:\"form-control\",attrs:{\"id\":\"generated-password\",\"type\":\"password\",\"tabindex\":\"-1\"},domProps:{\"value\":_vm.passwordGenerated}}),_c('span',{staticClass:\"input-group-btn\"},[_c('button',{staticClass:\"btn btn-secondary\",attrs:{\"id\":\"revealGeneratedPassword\",\"type\":\"button\",\"tabindex\":\"0\"},on:{\"click\":function($event){return _vm.togglePasswordType(_vm.$refs.passwordGenerated)}}},[_c('i',{staticClass:\"fa fa-eye\"})])]),_c('span',{staticClass:\"input-group-btn\"},[_c('button',{staticClass:\"btn btn-secondary\",attrs:{\"id\":\"sharePasswordProfileButton\",\"type\":\"button\",\"tabindex\":\"0\"},on:{\"click\":function($event){return _vm.sharePasswordProfile()}}},[_c('i',{staticClass:\"fa fa-share-alt pointer\"})])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"display\":\"none\"}},[_c('label',{attrs:{\"for\":\"username\"}},[_c('input',{attrs:{\"type\":\"text\",\"id\":\"username\",\"name\":\"username\",\"autocomplete\":\"username\"}})]),_c('label',{attrs:{\"for\":\"password\"}},[_c('input',{attrs:{\"type\":\"password\",\"id\":\"password\",\"name\":\"password\",\"autocomplete\":\"current-password\"}})])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./RemoveAutoComplete.vue?vue&type=template&id=31198691&\"\nvar script = {}\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\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"inputSite\"},[_c('label',{staticClass:\"sr-only\",attrs:{\"for\":\"siteField\"}},[_vm._v(_vm._s(_vm.label))]),_c('div',{staticClass:\"inner-addon left-addon\"},[_c('i',{staticClass:\"fa fa-globe\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.site),expression:\"site\"}],ref:\"siteField\",staticClass:\"form-control awesomplete\",attrs:{\"id\":\"siteField\",\"type\":\"text\",\"name\":\"siteField\",\"tabindex\":\"0\",\"autocorrect\":\"off\",\"autocapitalize\":\"none\",\"placeholder\":_vm.label},domProps:{\"value\":(_vm.site)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.site=$event.target.value}}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputSite.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputSite.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InputSite.vue?vue&type=template&id=78753972&\"\nimport script from \"./InputSite.vue?vue&type=script&lang=js&\"\nexport * from \"./InputSite.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InputSite.vue?vue&type=style&index=0&lang=css&\"\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\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"options\"}},[_c('div',{staticClass:\"form-group row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('label',{attrs:{\"for\":\"types\"}},[_vm._v(_vm._s(_vm.$t('Options')))])])]),_c('div',{staticClass:\"row\",attrs:{\"id\":\"types\"}},[_c('div',{staticClass:\"col-3\"},[_c('button',{staticClass:\"btn btn-block btn-sm px-0\",class:{'btn-primary':_vm.options.lowercase===true, 'btn-secondary':_vm.options.lowercase===false},attrs:{\"id\":\"lowercase__btn\",\"type\":\"button\",\"tabindex\":\"1\"},on:{\"click\":function($event){_vm.options.lowercase=!_vm.options.lowercase}}},[_vm._v(\"a-z\")])]),_c('div',{staticClass:\"col-3\"},[_c('button',{staticClass:\"btn btn-block btn-sm px-0\",class:{'btn-primary':_vm.options.uppercase===true, 'btn-secondary':_vm.options.uppercase===false},attrs:{\"id\":\"uppercase__btn\",\"type\":\"button\",\"tabindex\":\"1\"},on:{\"click\":function($event){_vm.options.uppercase=!_vm.options.uppercase}}},[_vm._v(\"A-Z\")])]),_c('div',{staticClass:\"col-3\"},[_c('button',{staticClass:\"btn btn-block btn-sm px-0\",class:{'btn-primary':_vm.options.numbers===true,'btn-secondary':_vm.options.numbers===false},attrs:{\"id\":\"numbers__btn\",\"type\":\"button\",\"tabindex\":\"1\"},on:{\"click\":function($event){_vm.options.numbers=!_vm.options.numbers}}},[_vm._v(\"0-9\")])]),_c('div',{staticClass:\"col-3\"},[_c('button',{staticClass:\"btn btn-block btn-sm px-0\",class:{'btn-primary':_vm.options.symbols===true,'btn-secondary':_vm.options.symbols===false},attrs:{\"id\":\"symbols__btn\",\"type\":\"button\",\"tabindex\":\"1\"},on:{\"click\":function($event){_vm.options.symbols=!_vm.options.symbols}}},[_vm._v(\"%!@\")])])])])]),_c('div',{staticClass:\"form-group row mb-0\"},[_c('div',{staticClass:\"col-5 col-sm-4\"},[_c('label',{attrs:{\"for\":\"passwordLength\"}},[_vm._v(_vm._s(_vm.$t('Length')))]),_c('div',{staticClass:\"input-group input-group-sm\"},[_c('span',{staticClass:\"input-group-btn\"},[_c('button',{staticClass:\"btn btn-primary btn-sm px-2\",attrs:{\"id\":\"decreaseLength__btn\",\"tabindex\":\"1\",\"type\":\"button\"},on:{\"click\":function($event){_vm.options.length=_vm.decrement(_vm.options.length, {min: 5, max: 35})}}},[_vm._m(0)])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.options.length),expression:\"options.length\",modifiers:{\"number\":true}}],staticClass:\"form-control form-control-sm\",attrs:{\"id\":\"passwordLength\",\"tabindex\":\"1\",\"type\":\"number\",\"min\":\"5\",\"max\":\"35\"},domProps:{\"value\":(_vm.options.length)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.options, \"length\", _vm._n($event.target.value))},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('span',{staticClass:\"input-group-btn\"},[_c('button',{staticClass:\"btn btn-primary btn-sm px-2\",attrs:{\"id\":\"increaseLength__btn\",\"tabindex\":\"1\",\"type\":\"button\"},on:{\"click\":function($event){_vm.options.length=_vm.increment(_vm.options.length, {min: 5, max: 35})}}},[_vm._m(1)])])])]),_c('div',{staticClass:\"col-5 col-sm-4\"},[_c('label',{attrs:{\"for\":\"passwordCounter\",\"data-balloon-length\":\"large\",\"data-balloon\":_vm.$t('CounterFieldHelp', 'Increment this value to change the generated password without changing your master options.'),\"data-balloon-pos\":\"up\"}},[_vm._v(_vm._s(_vm.$t('Counter')))]),_c('div',{staticClass:\"input-group input-group-sm\"},[_c('span',{staticClass:\"input-group-btn\"},[_c('button',{staticClass:\"btn btn-primary btn-sm px-2\",attrs:{\"id\":\"decreaseCounter__btn\",\"tabindex\":\"1\",\"type\":\"button\"},on:{\"click\":function($event){_vm.options.counter=_vm.decrement(_vm.options.counter, {min: 1})}}},[_vm._m(2)])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.options.counter),expression:\"options.counter\",modifiers:{\"number\":true}}],staticClass:\"form-control form-control-sm\",attrs:{\"id\":\"passwordCounter\",\"tabindex\":\"1\",\"type\":\"number\",\"min\":\"1\"},domProps:{\"value\":(_vm.options.counter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.options, \"counter\", _vm._n($event.target.value))},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('span',{staticClass:\"input-group-btn\"},[_c('button',{staticClass:\"btn btn-primary btn-sm px-2\",attrs:{\"id\":\"increaseCounter__btn\",\"tabindex\":\"1\",\"type\":\"button\"},on:{\"click\":function($event){_vm.options.counter=_vm.increment(_vm.options.counter, {min: 1})}}},[_vm._m(3)])])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('small',[_c('i',{staticClass:\"fa fa-minus\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('small',[_c('i',{staticClass:\"fa fa-plus\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('small',[_c('i',{staticClass:\"fa fa-minus\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('small',[_c('i',{staticClass:\"fa fa-plus\"})])}]\n\nexport { render, staticRenderFns }","function apply_constraint(value, { min, max }) {\n if (value > max) {\n return max;\n }\n if (value < min) {\n return min;\n }\n return value;\n}\n\nexport function increment(value, { min = 0, max }) {\n return apply_constraint(value + 1, { min, max });\n}\n\nexport function decrement(value, { min, max }) {\n return apply_constraint(value - 1, { min, max });\n}\n\nexport default {\n increment,\n decrement\n};\n","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Options.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Options.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Options.vue?vue&type=template&id=2964ff9a&\"\nimport script from \"./Options.vue?vue&type=script&lang=js&\"\nexport * from \"./Options.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Options.vue?vue&type=style&index=0&lang=css&\"\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\nexport default component.exports","export function showTooltip(element, message, position = \"right\") {\n element.setAttribute(\"aria-label\", message);\n element.setAttribute(\"data-balloon-visible\", \"\");\n element.setAttribute(\"data-balloon-pos\", position);\n}\n\nexport function hideTooltip(element) {\n element.removeAttribute(\"aria-label\");\n element.removeAttribute(\"data-balloon-visible\");\n element.removeAttribute(\"data-balloon-pos\");\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordGenerator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordGenerator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PasswordGenerator.vue?vue&type=template&id=2949618d&\"\nimport script from \"./PasswordGenerator.vue?vue&type=script&lang=js&\"\nexport * from \"./PasswordGenerator.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PasswordGenerator.vue?vue&type=style&index=0&lang=css&\"\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\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.resetPassword($event)}}},[_c('div',{staticClass:\"form-group row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"inner-addon left-addon\"},[_c('i',{staticClass:\"fa fa-user\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.email),expression:\"email\"}],staticClass:\"form-control\",attrs:{\"id\":\"email\",\"name\":\"email\",\"type\":\"email\",\"placeholder\":\"Email\"},domProps:{\"value\":(_vm.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.email=$event.target.value}}})])])]),_c('div',{staticClass:\"form-group row\"},[_c('div',{staticClass:\"col-12\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"id\":\"password-reset__reset-password-btn\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Reset my password'))+\" \")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordReset.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordReset.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PasswordReset.vue?vue&type=template&id=1b287865&\"\nimport script from \"./PasswordReset.vue?vue&type=script&lang=js&\"\nexport * from \"./PasswordReset.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\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.resetPasswordConfirm($event)}}},[_c('div',{staticClass:\"form-group row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"inner-addon left-addon\"},[_c('i',{staticClass:\"fa fa-user\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.email),expression:\"email\"}],staticClass:\"form-control\",attrs:{\"id\":\"email\",\"name\":\"email\",\"type\":\"email\",\"placeholder\":\"Email\"},domProps:{\"value\":(_vm.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.email=$event.target.value}}})])])]),_c('div',{staticClass:\"form-group row\"},[_c('div',{staticClass:\"col-12\"},[_c('master-password',{attrs:{\"label\":_vm.$t('Master Password'),\"email\":_vm.email,\"showEncryptButton\":true,\"EncryptButtonText\":_vm.$t('Encrypt my master password')},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}})],1)]),_c('div',{staticClass:\"form-group row\"},[_c('div',{staticClass:\"col-12\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"id\":\"loginButton\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Reset my password'))+\" \")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordResetConfirm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordResetConfirm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PasswordResetConfirm.vue?vue&type=template&id=75b2cd4c&\"\nimport script from \"./PasswordResetConfirm.vue?vue&type=script&lang=js&\"\nexport * from \"./PasswordResetConfirm.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\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"passwords\"}},[_c('div',{staticClass:\"pb-3\",attrs:{\"id\":\"passwords__search\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"inner-addon left-addon\"},[_c('i',{staticClass:\"fa fa-search\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchQuery),expression:\"searchQuery\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"search\",\"placeholder\":_vm.$t('Search')},domProps:{\"value\":(_vm.searchQuery)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.searchQuery=$event.target.value}}})])])])]),_c('div',{attrs:{\"id\":\"passwords__list\"}},[(_vm.passwords.length === 0)?_c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.$t('NoPassword', \"You don't have any password profile saved in your database.\"))+\" \"),_c('router-link',{attrs:{\"to\":{ name: 'home'}}},[_vm._v(_vm._s(_vm.$t('CreatePassword', 'Would you like to create one?')))])],1)])]):_vm._e(),(_vm.filteredPasswords.length === 0 && _vm.passwords.length > 0)?_c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.$t('NoMatchFor', 'Oops! There are no matches for'))+\" \\\"\"+_vm._s(_vm.searchQuery)+\"\\\". \"+_vm._s(_vm.$t('UpdateYourSearch', 'Please try broadening your search.'))+\" \")])])]):_vm._e(),_vm._l((_vm.filteredPasswords),function(password){return _c('password-profile',{key:password.id,attrs:{\"password\":password},on:{\"deleted\":function($event){_vm.pagination.currentPage=1}}})})],2),(_vm.pagination.pageCount > 1)?_c('div',{attrs:{\"id\":\"passwords__pagination\"}},[_c('paginate',{attrs:{\"page-count\":_vm.pagination.pageCount,\"page-range\":1,\"margin-pages\":1,\"click-handler\":_vm.setCurrentPage,\"containerClass\":'pagination pagination-sm',\"page-class\":'page-item',\"prev-class\":'page-item',\"next-class\":'page-item',\"page-link-class\":'page-link',\"prev-link-class\":'page-link',\"next-link-class\":'page-link',\"prev-text\":_vm.$t('Previous'),\"next-text\":_vm.$t('Next')}})],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"passwordProfile\"},[_c('div',{staticClass:\"passwordProfile__info\",on:{\"click\":function($event){return _vm.setPassword()}}},[_c('avatar',{attrs:{\"name\":_vm.password.site}}),_c('div',{staticClass:\"passwordProfile__meta\"},[_c('b',[_vm._v(_vm._s(_vm.password.site))]),_c('br'),_vm._v(\" \"+_vm._s(_vm.password.login)+\" \")])],1),_c('div',{staticClass:\"passwordProfile__actions\"},[_c('i',{staticClass:\"passwordProfile__delete-icon fa fa-trash fa-fw text-danger\",on:{\"click\":function($event){return _vm.deletePassword()}}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"passwordProfile__avatar\",style:(_vm.avatarStyle)},[_vm._v(_vm._s(_vm.firstLetter))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Avatar.vue?vue&type=template&id=72684d95&\"\nimport script from \"./Avatar.vue?vue&type=script&lang=js&\"\nexport * from \"./Avatar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Avatar.vue?vue&type=style&index=0&lang=css&\"\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\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordProfile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordProfile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PasswordProfile.vue?vue&type=template&id=81051f88&\"\nimport script from \"./PasswordProfile.vue?vue&type=script&lang=js&\"\nexport * from \"./PasswordProfile.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PasswordProfile.vue?vue&type=style&index=0&lang=css&\"\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\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Passwords.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Passwords.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Passwords.vue?vue&type=template&id=30dad96c&\"\nimport script from \"./Passwords.vue?vue&type=script&lang=js&\"\nexport * from \"./Passwords.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Passwords.vue?vue&type=style&index=0&lang=css&\"\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\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h5',[_vm._v(_vm._s(_vm.$t('Options by default')))]),_c('form',{attrs:{\"id\":\"lesspass-options-form\",\"novalidate\":\"\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.saveAndExit($event)}}},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"login\"}},[_vm._v(_vm._s(_vm.$t('Login')))]),_c('div',{staticClass:\"inner-addon left-addon\"},[_c('i',{staticClass:\"fa fa-user\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.defaultPassword.login),expression:\"defaultPassword.login\"}],ref:\"login\",staticClass:\"form-control\",attrs:{\"id\":\"login\",\"type\":\"text\",\"name\":\"login\",\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"autocapitalize\":\"none\",\"placeholder\":_vm.$t('Login')},domProps:{\"value\":(_vm.defaultPassword.login)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.defaultPassword, \"login\", $event.target.value)}}})])]),_c('options',{attrs:{\"options\":_vm.defaultPassword}}),_c('button',{staticClass:\"btn btn-primary btn-block mt-4\",attrs:{\"type\":\"submit\",\"id\":\"btn-submit-settings\"}},[_vm._v(_vm._s(_vm.$t('Save')))])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=4550e667&\"\nimport script from \"./Settings.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings.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\nexport default component.exports","import Vue from \"vue\";\nimport VueRouter from \"vue-router\";\n\nimport Login from \"./views/Login.vue\";\nimport PasswordGenerator from \"./views/PasswordGenerator.vue\";\nimport PasswordReset from \"./views/PasswordReset.vue\";\nimport PasswordResetConfirm from \"./views/PasswordResetConfirm.vue\";\nimport Passwords from \"./views/Passwords.vue\";\nimport SettingsPage from \"./views/Settings.vue\";\n\nVue.use(VueRouter);\n\nconst routes = [\n { path: \"/\", name: \"home\", component: PasswordGenerator },\n { path: \"/login\", name: \"login\", component: Login },\n { path: \"/settings\", name: \"settings\", component: SettingsPage },\n { path: \"/passwords/\", name: \"passwords\", component: Passwords },\n { path: \"/password/reset\", name: \"passwordReset\", component: PasswordReset },\n {\n path: \"/password/reset/confirm/:uid/:token\",\n name: \"passwordResetConfirm\",\n component: PasswordResetConfirm\n },\n { path: \"*\", redirect: \"/\" }\n];\n\nconst router = new VueRouter({\n routes\n});\n\nexport default router;\n","import Vue from \"vue\";\nimport Polyglot from \"vue-polyglot\";\nimport { sync } from \"vuex-router-sync\";\n\nimport LessPass from \"./LessPass.vue\";\nimport store from \"./store\";\nimport router from \"./router\";\nimport \"bootstrap/dist/css/bootstrap.css\";\nimport \"font-awesome/css/font-awesome.css\";\nimport \"balloon-css/balloon.css\";\nimport \"awesomplete/awesomplete.css\";\n\nimport frLocales from \"./i18n/fr.json\";\nimport esLocales from \"./i18n/es.json\";\nimport deLocales from \"./i18n/de.json\";\nimport zhLocales from \"./i18n/zh.json\";\nimport zhCNLocales from \"./i18n/zh-CN.json\";\nimport ptLocales from \"./i18n/pt.json\";\nimport plLocales from \"./i18n/pl.json\";\n\nVue.use(Polyglot, {\n defaultLanguage: \"en\",\n languagesAvailable: [\"fr\", \"es\", \"de\", \"zh\", \"zh-CN\", \"pt\", \"pl\"]\n});\n\nVue.locales({\n fr: frLocales,\n es: esLocales,\n de: deLocales,\n zh: zhLocales,\n \"zh-CN\": zhCNLocales,\n pt: ptLocales,\n pl: plLocales\n});\n\nsync(store, router);\n\nVue.config.productionTip = true;\n\nnew Vue({\n store,\n router,\n render: h => h(LessPass)\n}).$mount(\"#lesspass\");\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","const createFingerprint = require(\"./fingerprint\");\nconst createHmac = require(\"./hmac\");\n\nmodule.exports = {\n createFingerprint,\n createHmac\n};\n","function stringToArrayBuffer(string) {\n const base64String = unescape(encodeURIComponent(string));\n const charList = base64String.split(\"\");\n const arrayBuffer = [];\n for (let i = 0; i < charList.length; i += 1) {\n arrayBuffer.push(charList[i].charCodeAt(0));\n }\n return new Uint8Array(arrayBuffer);\n}\n\nfunction arrayBufferToHex(arrayBuffer) {\n const byteArray = new Uint8Array(arrayBuffer);\n let str = \"\";\n for (let i = 0; i < byteArray.byteLength; i += 1) {\n str += byteArray[i].toString(16).padStart(2, \"0\");\n }\n return str;\n}\n\nfunction getAlgorithm(algorithm){\n const algorithms = {\n sha1: \"SHA-1\",\n \"sha-1\": \"SHA-1\",\n sha256: \"SHA-256\",\n \"sha-256\": \"SHA-256\",\n sha512: \"SHA-512\",\n \"sha-512\": \"SHA-512\"\n };\n return algorithms[algorithm.toLowerCase()]\n}\n\nmodule.exports = {\n stringToArrayBuffer,\n arrayBufferToHex,\n getAlgorithm\n};\n","(function(_window) {\n \"use strict\";\n\n if (typeof module === \"object\" && module && module.exports) {\n module.exports = _window.btoa;\n }\n})(window);\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n config.method = config.method ? config.method.toLowerCase() : 'get';\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","const LessPassFingerprint = require(\"lesspass-fingerprint\");\nconst LessPassEntropy = require(\"lesspass-entropy\");\nconst LessPassRenderPassword = require(\"lesspass-render-password\");\n\nfunction generatePassword(site, login, masterPassword, passwordProfile) {\n return LessPassEntropy.calcEntropy(\n {\n site,\n login,\n options: {\n counter: passwordProfile.counter\n }\n },\n masterPassword\n ).then(entropy => {\n const options = {\n length: passwordProfile.length,\n lowercase: passwordProfile.lowercase,\n uppercase: passwordProfile.uppercase,\n digits: passwordProfile.numbers,\n symbols: passwordProfile.symbols\n };\n const generatedPassword = LessPassRenderPassword.renderPassword(\n entropy,\n options\n );\n return Promise.resolve(generatedPassword);\n });\n}\n\nfunction createFingerprint(string) {\n return LessPassFingerprint.createHmac(\"sha256\", string).then(hmac => {\n const fingerprint = LessPassFingerprint.createFingerprint(hmac);\n return Promise.resolve(fingerprint);\n });\n}\n\nmodule.exports = {\n generatePassword,\n createFingerprint\n};\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n // Only Node.JS has a process variable that is of [[Class]] process\n if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n } else if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = require('./lib/axios');","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Passwords.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Passwords.vue?vue&type=style&index=0&lang=css&\"","const bigInt = require(\"big-integer\");\nconst chars = require(\"./chars\");\nconst { consumeEntropy } = require(\"./entropy\");\n\nfunction renderPassword(entropy, options) {\n const rules = chars.getRules(options);\n const setOfCharacters = chars.getSetOfCharacters(rules);\n const generatedPassword = consumeEntropy(\n \"\",\n bigInt(entropy, 16),\n setOfCharacters,\n options.length - rules.length\n );\n const charactersToAdd = chars.getOneCharPerRule(\n generatedPassword.entropy,\n rules\n );\n return chars.insertStringPseudoRandomly(\n generatedPassword.value,\n charactersToAdd.entropy,\n charactersToAdd.value\n );\n}\n\nmodule.exports = {\n renderPassword\n};\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VuejsPaginate=t():e.VuejsPaginate=t()}(this,function(){return function(e){function t(s){if(n[s])return n[s].exports;var a=n[s]={exports:{},id:s,loaded:!1};return e[s].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}var n={};return t.m=e,t.c=n,t.p=\"\",t(0)}([function(e,t,n){\"use strict\";function s(e){return e&&e.__esModule?e:{default:e}}var a=n(1),i=s(a);e.exports=i.default},function(e,t,n){n(2);var s=n(6)(n(7),n(8),\"data-v-82963a40\",null);e.exports=s.exports},function(e,t,n){var s=n(3);\"string\"==typeof s&&(s=[[e.id,s,\"\"]]);n(5)(s,{});s.locals&&(e.exports=s.locals)},function(e,t,n){t=e.exports=n(4)(),t.push([e.id,\"a[data-v-82963a40]{cursor:pointer}\",\"\"])},function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;t=0&&C.splice(t,1)}function o(e){var t=document.createElement(\"style\");return t.type=\"text/css\",i(e,t),t}function l(e,t){var n,s,a;if(t.singleton){var i=v++;n=h||(h=o(t)),s=u.bind(null,n,i,!1),a=u.bind(null,n,i,!0)}else n=o(t),s=d.bind(null,n),a=function(){r(n)};return s(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;s(e=t)}else a()}}function u(e,t,n,s){var a=n?\"\":s.css;if(e.styleSheet)e.styleSheet.cssText=b(t,a);else{var i=document.createTextNode(a),r=e.childNodes;r[t]&&e.removeChild(r[t]),r.length?e.insertBefore(i,r[t]):e.appendChild(i)}}function d(e,t){var n=t.css,s=t.media,a=t.sourceMap;if(s&&e.setAttribute(\"media\",s),a&&(n+=\"\\n/*# sourceURL=\"+a.sources[0]+\" */\",n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var c={},p=function(e){var t;return function(){return\"undefined\"==typeof t&&(t=e.apply(this,arguments)),t}},f=p(function(){return/msie [6-9]\\b/.test(window.navigator.userAgent.toLowerCase())}),g=p(function(){return document.head||document.getElementsByTagName(\"head\")[0]}),h=null,v=0,C=[];e.exports=function(e,t){t=t||{},\"undefined\"==typeof t.singleton&&(t.singleton=f()),\"undefined\"==typeof t.insertAt&&(t.insertAt=\"bottom\");var n=a(e);return s(n,t),function(e){for(var i=[],r=0;r0&&(l=this.selected-1-a);var u=l+this.pageRange-1;u>=this.pageCount&&(u=this.pageCount-1,l=u-this.pageRange+1);for(var d=l;d<=u&&d<=this.pageCount-1;d++)i(d);l>this.marginPages&&r(l-1),u+1=this.pageCount-this.marginPages;c--)i(c)}return t}},data:function(){return{innerValue:1}},methods:{handlePageSelected:function(e){this.selected!==e&&(this.innerValue=e,this.$emit(\"input\",e),this.clickHandler(e))},prevPage:function(){this.selected<=1||this.handlePageSelected(this.selected-1)},nextPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.selected+1)},firstPageSelected:function(){return 1===this.selected},lastPageSelected:function(){return this.selected===this.pageCount||0===this.pageCount},selectFirstPage:function(){this.selected<=1||this.handlePageSelected(1)},selectLastPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.pageCount)}}}},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.noLiSurround?n(\"div\",{class:e.containerClass},[e.firstLastButton?n(\"a\",{class:[e.pageLinkClass,e.firstPageSelected()?e.disabledClass:\"\"],attrs:{tabindex:\"0\"},domProps:{innerHTML:e._s(e.firstButtonText)},on:{click:function(t){e.selectFirstPage()},keyup:function(t){return\"button\"in t||!e._k(t.keyCode,\"enter\",13)?void e.selectFirstPage():null}}}):e._e(),e._v(\" \"),e.firstPageSelected()&&e.hidePrevNext?e._e():n(\"a\",{class:[e.prevLinkClass,e.firstPageSelected()?e.disabledClass:\"\"],attrs:{tabindex:\"0\"},domProps:{innerHTML:e._s(e.prevText)},on:{click:function(t){e.prevPage()},keyup:function(t){return\"button\"in t||!e._k(t.keyCode,\"enter\",13)?void e.prevPage():null}}}),e._v(\" \"),e._l(e.pages,function(t){return[t.breakView?n(\"a\",{class:[e.pageLinkClass,e.breakViewLinkClass,t.disabled?e.disabledClass:\"\"],attrs:{tabindex:\"0\"}},[e._t(\"breakViewContent\",[e._v(e._s(e.breakViewText))])],2):t.disabled?n(\"a\",{class:[e.pageLinkClass,t.selected?e.activeClass:\"\",e.disabledClass],attrs:{tabindex:\"0\"}},[e._v(e._s(t.content))]):n(\"a\",{class:[e.pageLinkClass,t.selected?e.activeClass:\"\"],attrs:{tabindex:\"0\"},on:{click:function(n){e.handlePageSelected(t.index+1)},keyup:function(n){return\"button\"in n||!e._k(n.keyCode,\"enter\",13)?void e.handlePageSelected(t.index+1):null}}},[e._v(e._s(t.content))])]}),e._v(\" \"),e.lastPageSelected()&&e.hidePrevNext?e._e():n(\"a\",{class:[e.nextLinkClass,e.lastPageSelected()?e.disabledClass:\"\"],attrs:{tabindex:\"0\"},domProps:{innerHTML:e._s(e.nextText)},on:{click:function(t){e.nextPage()},keyup:function(t){return\"button\"in t||!e._k(t.keyCode,\"enter\",13)?void e.nextPage():null}}}),e._v(\" \"),e.firstLastButton?n(\"a\",{class:[e.pageLinkClass,e.lastPageSelected()?e.disabledClass:\"\"],attrs:{tabindex:\"0\"},domProps:{innerHTML:e._s(e.lastButtonText)},on:{click:function(t){e.selectLastPage()},keyup:function(t){return\"button\"in t||!e._k(t.keyCode,\"enter\",13)?void e.selectLastPage():null}}}):e._e()],2):n(\"ul\",{class:e.containerClass},[e.firstLastButton?n(\"li\",{class:[e.pageClass,e.firstPageSelected()?e.disabledClass:\"\"]},[n(\"a\",{class:e.pageLinkClass,attrs:{tabindex:e.firstPageSelected()?-1:0},domProps:{innerHTML:e._s(e.firstButtonText)},on:{click:function(t){e.selectFirstPage()},keyup:function(t){return\"button\"in t||!e._k(t.keyCode,\"enter\",13)?void e.selectFirstPage():null}}})]):e._e(),e._v(\" \"),e.firstPageSelected()&&e.hidePrevNext?e._e():n(\"li\",{class:[e.prevClass,e.firstPageSelected()?e.disabledClass:\"\"]},[n(\"a\",{class:e.prevLinkClass,attrs:{tabindex:e.firstPageSelected()?-1:0},domProps:{innerHTML:e._s(e.prevText)},on:{click:function(t){e.prevPage()},keyup:function(t){return\"button\"in t||!e._k(t.keyCode,\"enter\",13)?void e.prevPage():null}}})]),e._v(\" \"),e._l(e.pages,function(t){return n(\"li\",{class:[e.pageClass,t.selected?e.activeClass:\"\",t.disabled?e.disabledClass:\"\",t.breakView?e.breakViewClass:\"\"]},[t.breakView?n(\"a\",{class:[e.pageLinkClass,e.breakViewLinkClass],attrs:{tabindex:\"0\"}},[e._t(\"breakViewContent\",[e._v(e._s(e.breakViewText))])],2):t.disabled?n(\"a\",{class:e.pageLinkClass,attrs:{tabindex:\"0\"}},[e._v(e._s(t.content))]):n(\"a\",{class:e.pageLinkClass,attrs:{tabindex:\"0\"},on:{click:function(n){e.handlePageSelected(t.index+1)},keyup:function(n){return\"button\"in n||!e._k(n.keyCode,\"enter\",13)?void e.handlePageSelected(t.index+1):null}}},[e._v(e._s(t.content))])])}),e._v(\" \"),e.lastPageSelected()&&e.hidePrevNext?e._e():n(\"li\",{class:[e.nextClass,e.lastPageSelected()?e.disabledClass:\"\"]},[n(\"a\",{class:e.nextLinkClass,attrs:{tabindex:e.lastPageSelected()?-1:0},domProps:{innerHTML:e._s(e.nextText)},on:{click:function(t){e.nextPage()},keyup:function(t){return\"button\"in t||!e._k(t.keyCode,\"enter\",13)?void e.nextPage():null}}})]),e._v(\" \"),e.firstLastButton?n(\"li\",{class:[e.pageClass,e.lastPageSelected()?e.disabledClass:\"\"]},[n(\"a\",{class:e.pageLinkClass,attrs:{tabindex:e.lastPageSelected()?-1:0},domProps:{innerHTML:e._s(e.lastButtonText)},on:{click:function(t){e.selectLastPage()},keyup:function(t){return\"button\"in t||!e._k(t.keyCode,\"enter\",13)?void e.selectLastPage():null}}})]):e._e()],2)},staticRenderFns:[]}}])});","/*!\n * Vue.js v2.6.10\n * (c) 2014-2019 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Techinically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.